diff --git a/.github/workflows/deploy-core-docs.yml b/.github/workflows/deploy-core-docs.yml
new file mode 100644
index 000000000000..dc7738af8428
--- /dev/null
+++ b/.github/workflows/deploy-core-docs.yml
@@ -0,0 +1,67 @@
+name: Deploy core docs
+
+on:
+ push:
+ branches:
+ - "main"
+ tags:
+ - "core-v*.*.*"
+ paths:
+ - 'docs/**'
+ - '.github/workflows/deploy-core-docs.yml'
+ pull_request:
+ paths:
+ - 'docs/**'
+ - '.github/workflows/deploy-core-docs.yml'
+ workflow_dispatch:
+ inputs:
+ ref:
+ description: "Branch, tag or commit to deploy the core docs. If empty, use the ref that triggered the workflow."
+ required: false
+ default: ""
+ version:
+ type: string
+ description: "Version of the documentation to deploy"
+ required: false
+ default: "latest"
+
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
+concurrency:
+ group: "pages"
+ cancel-in-progress: false
+
+jobs:
+
+ deploy-core-docs:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ env:
+ DOCS_DIR: 'docs'
+ PROJECT: 'core'
+ ENABLE_TESTS: false
+ steps:
+ - name: Checkout
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ with:
+ ref: ${{ inputs.ref || '' }}
+
+ - name: Extract version from tag
+ if: startsWith(github.ref, 'refs/tags/')
+ id: extract-version
+ shell: 'bash -ex {0}'
+ run: |
+ TAG="${{ github.ref_name }}"
+ VERSION="${TAG#*-}"
+ echo "version=${VERSION}" >> "${GITHUB_OUTPUT}"
+
+ - name: Deploy core docs
+ uses: matter-labs/deploy-mdbooks@77856145362bf23834f2e54a44a928790c4bee7c # v1
+ with:
+ version: ${{ inputs.version || steps.extract-version.outputs.version || github.ref_name }}
+ docs-dir: ${{ env.DOCS_DIR }}
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ enable-tests: ${{ env.ENABLE_TESTS }}
+ project: ${{ env.PROJECT }}
+ deploy: ${{ github.event_name != 'pull_request' }}
diff --git a/.github/workflows/deploy-prover-docs.yml b/.github/workflows/deploy-prover-docs.yml
new file mode 100644
index 000000000000..007e96f61e58
--- /dev/null
+++ b/.github/workflows/deploy-prover-docs.yml
@@ -0,0 +1,67 @@
+name: Deploy prover docs
+
+on:
+ push:
+ branches:
+ - "main"
+ tags:
+ - "prover-v*.*.*"
+ paths:
+ - 'prover/docs/**'
+ - '.github/workflows/deploy-prover-docs.yml'
+ pull_request:
+ paths:
+ - 'prover/docs/**'
+ - '.github/workflows/deploy-prover-docs.yml'
+ workflow_dispatch:
+ inputs:
+ ref:
+ description: "Branch, tag or commit to deploy the prover docs. If empty, use the ref that triggered the workflow."
+ required: false
+ default: ""
+ version:
+ type: string
+ description: "Version of the documentation to deploy"
+ required: false
+ default: "latest"
+
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
+concurrency:
+ group: "pages"
+ cancel-in-progress: false
+
+jobs:
+
+ deploy-prover-docs:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ env:
+ DOCS_DIR: 'prover/docs'
+ PROJECT: 'prover'
+ ENABLE_TESTS: false
+ steps:
+ - name: Checkout
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ with:
+ ref: ${{ inputs.ref || '' }}
+
+ - name: Extract version from tag
+ if: startsWith(github.ref, 'refs/tags/')
+ id: extract-version
+ shell: 'bash -ex {0}'
+ run: |
+ TAG="${{ github.ref_name }}"
+ VERSION="${TAG#*-}"
+ echo "version=${VERSION}" >> "${GITHUB_OUTPUT}"
+
+ - name: Deploy prover docs
+ uses: matter-labs/deploy-mdbooks@77856145362bf23834f2e54a44a928790c4bee7c # v1
+ with:
+ version: ${{ inputs.version || steps.extract-version.outputs.version || github.ref_name }}
+ docs-dir: ${{ env.DOCS_DIR }}
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ enable-tests: ${{ env.ENABLE_TESTS }}
+ project: ${{ env.PROJECT }}
+ deploy: ${{ github.event_name != 'pull_request' }}
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 000000000000..7585238efedf
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1 @@
+book
diff --git a/docs/book.toml b/docs/book.toml
new file mode 100644
index 000000000000..cd4a34d05e8d
--- /dev/null
+++ b/docs/book.toml
@@ -0,0 +1,32 @@
+[book]
+authors = ["ZKsync team"]
+language = "en"
+multilingual = false
+src = "src"
+title = "ZKsync Era Documentation"
+
+[output.html]
+smart-punctuation = true
+mathjax-support = true
+git-repository-url = "https://github.com/matter-labs/zksync-era/tree/main/docs"
+edit-url-template = "https://github.com/matter-labs/zksync-era/tree/main/docs/{path}"
+additional-js = ["js/version-box.js", "js/mermaid.min.js", "js/mermaid-init.js"]
+additional-css = ["css/version-box.css"]
+
+[output.html.playground]
+editable = true
+line-numbers = true
+
+[output.html.search]
+limit-results = 20
+use-boolean-and = true
+boost-title = 2
+boost-hierarchy = 2
+boost-paragraph = 1
+expand = true
+heading-split-level = 2
+
+[preprocessor]
+
+[preprocessor.mermaid]
+command = "mdbook-mermaid"
diff --git a/docs/css/version-box.css b/docs/css/version-box.css
new file mode 100644
index 000000000000..4006ac7804b3
--- /dev/null
+++ b/docs/css/version-box.css
@@ -0,0 +1,46 @@
+#version-box {
+ display: flex;
+ align-items: center;
+ margin-right: 15px; /* Space from the right side */
+ background-color: transparent; /* Make the box background transparent */
+}
+
+/* Base styles for the version selector */
+#version-selector {
+ background-color: transparent; /* Remove background color */
+ border: 1px solid #4a5568; /* Subtle border */
+ border-radius: 4px; /* Rounded edges */
+ padding: 5px 10px; /* Padding inside dropdown */
+ font-size: 0.9em;
+ font-weight: normal;
+ outline: none; /* Removes default focus outline */
+ cursor: pointer;
+}
+
+/* Text color for dark themes */
+.theme-navy #version-selector,
+.theme-coal #version-selector {
+ color: #f7fafc; /* Light text color for dark backgrounds */
+}
+
+/* Text color for light theme */
+.theme-light #version-selector {
+ color: #333333; /* Dark text color for light background */
+}
+
+/* Hover effect for better user feedback */
+#version-selector:hover {
+ background-color: rgba(255, 255, 255, 0.1); /* Light hover effect */
+}
+
+/* Optional: Style for when the selector is focused */
+#version-selector:focus {
+ border-color: #63b3ed; /* Accent color for focused state */
+}
+
+.right-buttons {
+ display: flex;
+ flex-direction: row; /* Aligns items in a row, left to right */
+ align-items: center; /* Centers items vertically */
+ gap: 10px; /* Adds space between items */
+}
diff --git a/docs/js/mermaid-init.js b/docs/js/mermaid-init.js
new file mode 100644
index 000000000000..15a7f4e57c60
--- /dev/null
+++ b/docs/js/mermaid-init.js
@@ -0,0 +1,35 @@
+(() => {
+ const darkThemes = ['ayu', 'navy', 'coal'];
+ const lightThemes = ['light', 'rust'];
+
+ const classList = document.getElementsByTagName('html')[0].classList;
+
+ let lastThemeWasLight = true;
+ for (const cssClass of classList) {
+ if (darkThemes.includes(cssClass)) {
+ lastThemeWasLight = false;
+ break;
+ }
+ }
+
+ const theme = lastThemeWasLight ? 'default' : 'dark';
+ mermaid.initialize({ startOnLoad: true, theme });
+
+ // Simplest way to make mermaid re-render the diagrams in the new theme is via refreshing the page
+
+ for (const darkTheme of darkThemes) {
+ document.getElementById(darkTheme).addEventListener('click', () => {
+ if (lastThemeWasLight) {
+ window.location.reload();
+ }
+ });
+ }
+
+ for (const lightTheme of lightThemes) {
+ document.getElementById(lightTheme).addEventListener('click', () => {
+ if (!lastThemeWasLight) {
+ window.location.reload();
+ }
+ });
+ }
+})();
diff --git a/docs/js/mermaid.min.js b/docs/js/mermaid.min.js
new file mode 100644
index 000000000000..1f2f8474b960
--- /dev/null
+++ b/docs/js/mermaid.min.js
@@ -0,0 +1,133495 @@
+'use strict';
+var __esbuild_esm_mermaid = (() => {
+ var Pve = Object.create;
+ var G1 = Object.defineProperty;
+ var Bve = Object.getOwnPropertyDescriptor;
+ var Fve = Object.getOwnPropertyNames;
+ var zve = Object.getPrototypeOf,
+ Gve = Object.prototype.hasOwnProperty;
+ var o = (t, e) => G1(t, 'name', { value: e, configurable: !0 });
+ var R = (t, e) => () => (t && (e = t((t = 0))), e);
+ var gi = (t, e) => () => (e || t((e = { exports: {} }).exports, e), e.exports),
+ hr = (t, e) => {
+ for (var r in e) G1(t, r, { get: e[r], enumerable: !0 });
+ },
+ Rb = (t, e, r, n) => {
+ if ((e && typeof e == 'object') || typeof e == 'function')
+ for (let i of Fve(e))
+ !Gve.call(t, i) &&
+ i !== r &&
+ G1(t, i, {
+ get: () => e[i],
+ enumerable: !(n = Bve(e, i)) || n.enumerable
+ });
+ return t;
+ },
+ dr = (t, e, r) => (Rb(t, e, 'default'), r && Rb(r, e, 'default')),
+ Xi = (t, e, r) => (
+ (r = t != null ? Pve(zve(t)) : {}),
+ Rb(e || !t || !t.__esModule ? G1(r, 'default', { value: t, enumerable: !0 }) : r, t)
+ ),
+ $ve = (t) => Rb(G1({}, '__esModule', { value: !0 }), t);
+ var Nb = gi((AC, _C) => {
+ 'use strict';
+ (function (t, e) {
+ typeof AC == 'object' && typeof _C < 'u'
+ ? (_C.exports = e())
+ : typeof define == 'function' && define.amd
+ ? define(e)
+ : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs = e());
+ })(AC, function () {
+ 'use strict';
+ var t = 1e3,
+ e = 6e4,
+ r = 36e5,
+ n = 'millisecond',
+ i = 'second',
+ a = 'minute',
+ s = 'hour',
+ l = 'day',
+ u = 'week',
+ h = 'month',
+ f = 'quarter',
+ d = 'year',
+ p = 'date',
+ m = 'Invalid Date',
+ g = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,
+ y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,
+ v = {
+ name: 'en',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ ordinal: o(function (k) {
+ var I = ['th', 'st', 'nd', 'rd'],
+ C = k % 100;
+ return '[' + k + (I[(C - 20) % 10] || I[C] || I[0]) + ']';
+ }, 'ordinal')
+ },
+ x = o(function (k, I, C) {
+ var O = String(k);
+ return !O || O.length >= I ? k : '' + Array(I + 1 - O.length).join(C) + k;
+ }, 'm'),
+ b = {
+ s: x,
+ z: o(function (k) {
+ var I = -k.utcOffset(),
+ C = Math.abs(I),
+ O = Math.floor(C / 60),
+ D = C % 60;
+ return (I <= 0 ? '+' : '-') + x(O, 2, '0') + ':' + x(D, 2, '0');
+ }, 'z'),
+ m: o(function k(I, C) {
+ if (I.date() < C.date()) return -k(C, I);
+ var O = 12 * (C.year() - I.year()) + (C.month() - I.month()),
+ D = I.clone().add(O, h),
+ P = C - D < 0,
+ F = I.clone().add(O + (P ? -1 : 1), h);
+ return +(-(O + (C - D) / (P ? D - F : F - D)) || 0);
+ }, 't'),
+ a: o(function (k) {
+ return k < 0 ? Math.ceil(k) || 0 : Math.floor(k);
+ }, 'a'),
+ p: o(function (k) {
+ return (
+ { M: h, y: d, w: u, d: l, D: p, h: s, m: a, s: i, ms: n, Q: f }[k] ||
+ String(k || '')
+ .toLowerCase()
+ .replace(/s$/, '')
+ );
+ }, 'p'),
+ u: o(function (k) {
+ return k === void 0;
+ }, 'u')
+ },
+ w = 'en',
+ S = {};
+ S[w] = v;
+ var T = '$isDayjsObject',
+ E = o(function (k) {
+ return k instanceof M || !(!k || !k[T]);
+ }, 'S'),
+ _ = o(function k(I, C, O) {
+ var D;
+ if (!I) return w;
+ if (typeof I == 'string') {
+ var P = I.toLowerCase();
+ S[P] && (D = P), C && ((S[P] = C), (D = P));
+ var F = I.split('-');
+ if (!D && F.length > 1) return k(F[0]);
+ } else {
+ var B = I.name;
+ (S[B] = I), (D = B);
+ }
+ return !O && D && (w = D), D || (!O && w);
+ }, 't'),
+ A = o(function (k, I) {
+ if (E(k)) return k.clone();
+ var C = typeof I == 'object' ? I : {};
+ return (C.date = k), (C.args = arguments), new M(C);
+ }, 'O'),
+ L = b;
+ (L.l = _),
+ (L.i = E),
+ (L.w = function (k, I) {
+ return A(k, { locale: I.$L, utc: I.$u, x: I.$x, $offset: I.$offset });
+ });
+ var M = (function () {
+ function k(C) {
+ (this.$L = _(C.locale, null, !0)),
+ this.parse(C),
+ (this.$x = this.$x || C.x || {}),
+ (this[T] = !0);
+ }
+ o(k, 'M');
+ var I = k.prototype;
+ return (
+ (I.parse = function (C) {
+ (this.$d = (function (O) {
+ var D = O.date,
+ P = O.utc;
+ if (D === null) return new Date(NaN);
+ if (L.u(D)) return new Date();
+ if (D instanceof Date) return new Date(D);
+ if (typeof D == 'string' && !/Z$/i.test(D)) {
+ var F = D.match(g);
+ if (F) {
+ var B = F[2] - 1 || 0,
+ $ = (F[7] || '0').substring(0, 3);
+ return P
+ ? new Date(Date.UTC(F[1], B, F[3] || 1, F[4] || 0, F[5] || 0, F[6] || 0, $))
+ : new Date(F[1], B, F[3] || 1, F[4] || 0, F[5] || 0, F[6] || 0, $);
+ }
+ }
+ return new Date(D);
+ })(C)),
+ this.init();
+ }),
+ (I.init = function () {
+ var C = this.$d;
+ (this.$y = C.getFullYear()),
+ (this.$M = C.getMonth()),
+ (this.$D = C.getDate()),
+ (this.$W = C.getDay()),
+ (this.$H = C.getHours()),
+ (this.$m = C.getMinutes()),
+ (this.$s = C.getSeconds()),
+ (this.$ms = C.getMilliseconds());
+ }),
+ (I.$utils = function () {
+ return L;
+ }),
+ (I.isValid = function () {
+ return this.$d.toString() !== m;
+ }),
+ (I.isSame = function (C, O) {
+ var D = A(C);
+ return this.startOf(O) <= D && D <= this.endOf(O);
+ }),
+ (I.isAfter = function (C, O) {
+ return A(C) < this.startOf(O);
+ }),
+ (I.isBefore = function (C, O) {
+ return this.endOf(O) < A(C);
+ }),
+ (I.$g = function (C, O, D) {
+ return L.u(C) ? this[O] : this.set(D, C);
+ }),
+ (I.unix = function () {
+ return Math.floor(this.valueOf() / 1e3);
+ }),
+ (I.valueOf = function () {
+ return this.$d.getTime();
+ }),
+ (I.startOf = function (C, O) {
+ var D = this,
+ P = !!L.u(O) || O,
+ F = L.p(C),
+ B = o(function (J, Z) {
+ var H = L.w(D.$u ? Date.UTC(D.$y, Z, J) : new Date(D.$y, Z, J), D);
+ return P ? H : H.endOf(l);
+ }, 'l'),
+ $ = o(function (J, Z) {
+ return L.w(
+ D.toDate()[J].apply(
+ D.toDate('s'),
+ (P ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(Z)
+ ),
+ D
+ );
+ }, '$'),
+ z = this.$W,
+ Y = this.$M,
+ Q = this.$D,
+ X = 'set' + (this.$u ? 'UTC' : '');
+ switch (F) {
+ case d:
+ return P ? B(1, 0) : B(31, 11);
+ case h:
+ return P ? B(1, Y) : B(0, Y + 1);
+ case u:
+ var ie = this.$locale().weekStart || 0,
+ j = (z < ie ? z + 7 : z) - ie;
+ return B(P ? Q - j : Q + (6 - j), Y);
+ case l:
+ case p:
+ return $(X + 'Hours', 0);
+ case s:
+ return $(X + 'Minutes', 1);
+ case a:
+ return $(X + 'Seconds', 2);
+ case i:
+ return $(X + 'Milliseconds', 3);
+ default:
+ return this.clone();
+ }
+ }),
+ (I.endOf = function (C) {
+ return this.startOf(C, !1);
+ }),
+ (I.$set = function (C, O) {
+ var D,
+ P = L.p(C),
+ F = 'set' + (this.$u ? 'UTC' : ''),
+ B = ((D = {}),
+ (D[l] = F + 'Date'),
+ (D[p] = F + 'Date'),
+ (D[h] = F + 'Month'),
+ (D[d] = F + 'FullYear'),
+ (D[s] = F + 'Hours'),
+ (D[a] = F + 'Minutes'),
+ (D[i] = F + 'Seconds'),
+ (D[n] = F + 'Milliseconds'),
+ D)[P],
+ $ = P === l ? this.$D + (O - this.$W) : O;
+ if (P === h || P === d) {
+ var z = this.clone().set(p, 1);
+ z.$d[B]($), z.init(), (this.$d = z.set(p, Math.min(this.$D, z.daysInMonth())).$d);
+ } else B && this.$d[B]($);
+ return this.init(), this;
+ }),
+ (I.set = function (C, O) {
+ return this.clone().$set(C, O);
+ }),
+ (I.get = function (C) {
+ return this[L.p(C)]();
+ }),
+ (I.add = function (C, O) {
+ var D,
+ P = this;
+ C = Number(C);
+ var F = L.p(O),
+ B = o(function (Y) {
+ var Q = A(P);
+ return L.w(Q.date(Q.date() + Math.round(Y * C)), P);
+ }, 'y');
+ if (F === h) return this.set(h, this.$M + C);
+ if (F === d) return this.set(d, this.$y + C);
+ if (F === l) return B(1);
+ if (F === u) return B(7);
+ var $ = ((D = {}), (D[a] = e), (D[s] = r), (D[i] = t), D)[F] || 1,
+ z = this.$d.getTime() + C * $;
+ return L.w(z, this);
+ }),
+ (I.subtract = function (C, O) {
+ return this.add(-1 * C, O);
+ }),
+ (I.format = function (C) {
+ var O = this,
+ D = this.$locale();
+ if (!this.isValid()) return D.invalidDate || m;
+ var P = C || 'YYYY-MM-DDTHH:mm:ssZ',
+ F = L.z(this),
+ B = this.$H,
+ $ = this.$m,
+ z = this.$M,
+ Y = D.weekdays,
+ Q = D.months,
+ X = D.meridiem,
+ ie = o(function (Z, H, q, K) {
+ return (Z && (Z[H] || Z(O, P))) || q[H].slice(0, K);
+ }, 'h'),
+ j = o(function (Z) {
+ return L.s(B % 12 || 12, Z, '0');
+ }, 'd'),
+ J =
+ X ||
+ function (Z, H, q) {
+ var K = Z < 12 ? 'AM' : 'PM';
+ return q ? K.toLowerCase() : K;
+ };
+ return P.replace(y, function (Z, H) {
+ return (
+ H ||
+ (function (q) {
+ switch (q) {
+ case 'YY':
+ return String(O.$y).slice(-2);
+ case 'YYYY':
+ return L.s(O.$y, 4, '0');
+ case 'M':
+ return z + 1;
+ case 'MM':
+ return L.s(z + 1, 2, '0');
+ case 'MMM':
+ return ie(D.monthsShort, z, Q, 3);
+ case 'MMMM':
+ return ie(Q, z);
+ case 'D':
+ return O.$D;
+ case 'DD':
+ return L.s(O.$D, 2, '0');
+ case 'd':
+ return String(O.$W);
+ case 'dd':
+ return ie(D.weekdaysMin, O.$W, Y, 2);
+ case 'ddd':
+ return ie(D.weekdaysShort, O.$W, Y, 3);
+ case 'dddd':
+ return Y[O.$W];
+ case 'H':
+ return String(B);
+ case 'HH':
+ return L.s(B, 2, '0');
+ case 'h':
+ return j(1);
+ case 'hh':
+ return j(2);
+ case 'a':
+ return J(B, $, !0);
+ case 'A':
+ return J(B, $, !1);
+ case 'm':
+ return String($);
+ case 'mm':
+ return L.s($, 2, '0');
+ case 's':
+ return String(O.$s);
+ case 'ss':
+ return L.s(O.$s, 2, '0');
+ case 'SSS':
+ return L.s(O.$ms, 3, '0');
+ case 'Z':
+ return F;
+ }
+ return null;
+ })(Z) ||
+ F.replace(':', '')
+ );
+ });
+ }),
+ (I.utcOffset = function () {
+ return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
+ }),
+ (I.diff = function (C, O, D) {
+ var P,
+ F = this,
+ B = L.p(O),
+ $ = A(C),
+ z = ($.utcOffset() - this.utcOffset()) * e,
+ Y = this - $,
+ Q = o(function () {
+ return L.m(F, $);
+ }, 'D');
+ switch (B) {
+ case d:
+ P = Q() / 12;
+ break;
+ case h:
+ P = Q();
+ break;
+ case f:
+ P = Q() / 3;
+ break;
+ case u:
+ P = (Y - z) / 6048e5;
+ break;
+ case l:
+ P = (Y - z) / 864e5;
+ break;
+ case s:
+ P = Y / r;
+ break;
+ case a:
+ P = Y / e;
+ break;
+ case i:
+ P = Y / t;
+ break;
+ default:
+ P = Y;
+ }
+ return D ? P : L.a(P);
+ }),
+ (I.daysInMonth = function () {
+ return this.endOf(h).$D;
+ }),
+ (I.$locale = function () {
+ return S[this.$L];
+ }),
+ (I.locale = function (C, O) {
+ if (!C) return this.$L;
+ var D = this.clone(),
+ P = _(C, O, !0);
+ return P && (D.$L = P), D;
+ }),
+ (I.clone = function () {
+ return L.w(this.$d, this);
+ }),
+ (I.toDate = function () {
+ return new Date(this.valueOf());
+ }),
+ (I.toJSON = function () {
+ return this.isValid() ? this.toISOString() : null;
+ }),
+ (I.toISOString = function () {
+ return this.$d.toISOString();
+ }),
+ (I.toString = function () {
+ return this.$d.toUTCString();
+ }),
+ k
+ );
+ })(),
+ N = M.prototype;
+ return (
+ (A.prototype = N),
+ [
+ ['$ms', n],
+ ['$s', i],
+ ['$m', a],
+ ['$H', s],
+ ['$W', l],
+ ['$M', h],
+ ['$y', d],
+ ['$D', p]
+ ].forEach(function (k) {
+ N[k[1]] = function (I) {
+ return this.$g(I, k[0], k[1]);
+ };
+ }),
+ (A.extend = function (k, I) {
+ return k.$i || (k(I, M, A), (k.$i = !0)), A;
+ }),
+ (A.locale = _),
+ (A.isDayjs = E),
+ (A.unix = function (k) {
+ return A(1e3 * k);
+ }),
+ (A.en = S[w]),
+ (A.Ls = S),
+ (A.p = {}),
+ A
+ );
+ });
+ });
+ var LF,
+ Zc,
+ V,
+ $1,
+ Eo,
+ ut = R(() => {
+ 'use strict';
+ (LF = Xi(Nb(), 1)),
+ (Zc = { trace: 0, debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }),
+ (V = {
+ trace: o((...t) => {}, 'trace'),
+ debug: o((...t) => {}, 'debug'),
+ info: o((...t) => {}, 'info'),
+ warn: o((...t) => {}, 'warn'),
+ error: o((...t) => {}, 'error'),
+ fatal: o((...t) => {}, 'fatal')
+ }),
+ ($1 = o(function (t = 'fatal') {
+ let e = Zc.fatal;
+ typeof t == 'string' ? t.toLowerCase() in Zc && (e = Zc[t]) : typeof t == 'number' && (e = t),
+ (V.trace = () => {}),
+ (V.debug = () => {}),
+ (V.info = () => {}),
+ (V.warn = () => {}),
+ (V.error = () => {}),
+ (V.fatal = () => {}),
+ e <= Zc.fatal &&
+ (V.fatal = console.error
+ ? console.error.bind(console, Eo('FATAL'), 'color: orange')
+ : console.log.bind(console, '\x1B[35m', Eo('FATAL'))),
+ e <= Zc.error &&
+ (V.error = console.error
+ ? console.error.bind(console, Eo('ERROR'), 'color: orange')
+ : console.log.bind(console, '\x1B[31m', Eo('ERROR'))),
+ e <= Zc.warn &&
+ (V.warn = console.warn
+ ? console.warn.bind(console, Eo('WARN'), 'color: orange')
+ : console.log.bind(console, '\x1B[33m', Eo('WARN'))),
+ e <= Zc.info &&
+ (V.info = console.info
+ ? console.info.bind(console, Eo('INFO'), 'color: lightblue')
+ : console.log.bind(console, '\x1B[34m', Eo('INFO'))),
+ e <= Zc.debug &&
+ (V.debug = console.debug
+ ? console.debug.bind(console, Eo('DEBUG'), 'color: lightgreen')
+ : console.log.bind(console, '\x1B[32m', Eo('DEBUG'))),
+ e <= Zc.trace &&
+ (V.trace = console.debug
+ ? console.debug.bind(console, Eo('TRACE'), 'color: lightgreen')
+ : console.log.bind(console, '\x1B[32m', Eo('TRACE')));
+ }, 'setLogLevel')),
+ (Eo = o((t) => `%c${(0, LF.default)().format('ss.SSS')} : ${t} : `, 'format'));
+ });
+ var Vve,
+ np,
+ LC,
+ DF,
+ Mb = R(() => {
+ 'use strict';
+ (Vve = Object.freeze({ left: 0, top: 0, width: 16, height: 16 })),
+ (np = Object.freeze({ rotate: 0, vFlip: !1, hFlip: !1 })),
+ (LC = Object.freeze({ ...Vve, ...np })),
+ (DF = Object.freeze({ ...LC, body: '', hidden: !1 }));
+ });
+ var Uve,
+ RF,
+ NF = R(() => {
+ 'use strict';
+ Mb();
+ (Uve = Object.freeze({ width: null, height: null })), (RF = Object.freeze({ ...Uve, ...np }));
+ });
+ var Ib,
+ DC,
+ Ob,
+ MF = R(() => {
+ 'use strict';
+ (Ib = /^[a-z0-9]+(-[a-z0-9]+)*$/),
+ (DC = o((t, e, r, n = '') => {
+ let i = t.split(':');
+ if (t.slice(0, 1) === '@') {
+ if (i.length < 2 || i.length > 3) return null;
+ n = i.shift().slice(1);
+ }
+ if (i.length > 3 || !i.length) return null;
+ if (i.length > 1) {
+ let l = i.pop(),
+ u = i.pop(),
+ h = { provider: i.length > 0 ? i[0] : n, prefix: u, name: l };
+ return e && !Ob(h) ? null : h;
+ }
+ let a = i[0],
+ s = a.split('-');
+ if (s.length > 1) {
+ let l = { provider: n, prefix: s.shift(), name: s.join('-') };
+ return e && !Ob(l) ? null : l;
+ }
+ if (r && n === '') {
+ let l = { provider: n, prefix: '', name: a };
+ return e && !Ob(l, r) ? null : l;
+ }
+ return null;
+ }, 'stringToIcon')),
+ (Ob = o(
+ (t, e) =>
+ t
+ ? !!(
+ (t.provider === '' || t.provider.match(Ib)) &&
+ ((e && t.prefix === '') || t.prefix.match(Ib)) &&
+ t.name.match(Ib)
+ )
+ : !1,
+ 'validateIconName'
+ ));
+ });
+ function IF(t, e) {
+ let r = {};
+ !t.hFlip != !e.hFlip && (r.hFlip = !0), !t.vFlip != !e.vFlip && (r.vFlip = !0);
+ let n = ((t.rotate || 0) + (e.rotate || 0)) % 4;
+ return n && (r.rotate = n), r;
+ }
+ var OF = R(() => {
+ 'use strict';
+ o(IF, 'mergeIconTransformations');
+ });
+ function RC(t, e) {
+ let r = IF(t, e);
+ for (let n in DF)
+ n in np ? n in t && !(n in r) && (r[n] = np[n]) : n in e ? (r[n] = e[n]) : n in t && (r[n] = t[n]);
+ return r;
+ }
+ var PF = R(() => {
+ 'use strict';
+ Mb();
+ OF();
+ o(RC, 'mergeIconData');
+ });
+ function BF(t, e) {
+ let r = t.icons,
+ n = t.aliases || Object.create(null),
+ i = Object.create(null);
+ function a(s) {
+ if (r[s]) return (i[s] = []);
+ if (!(s in i)) {
+ i[s] = null;
+ let l = n[s] && n[s].parent,
+ u = l && a(l);
+ u && (i[s] = [l].concat(u));
+ }
+ return i[s];
+ }
+ return o(a, 'resolve'), (e || Object.keys(r).concat(Object.keys(n))).forEach(a), i;
+ }
+ var FF = R(() => {
+ 'use strict';
+ o(BF, 'getIconsTree');
+ });
+ function zF(t, e, r) {
+ let n = t.icons,
+ i = t.aliases || Object.create(null),
+ a = {};
+ function s(l) {
+ a = RC(n[l] || i[l], a);
+ }
+ return o(s, 'parse'), s(e), r.forEach(s), RC(t, a);
+ }
+ function NC(t, e) {
+ if (t.icons[e]) return zF(t, e, []);
+ let r = BF(t, [e])[e];
+ return r ? zF(t, e, r) : null;
+ }
+ var GF = R(() => {
+ 'use strict';
+ PF();
+ FF();
+ o(zF, 'internalGetIconData');
+ o(NC, 'getIconData');
+ });
+ function MC(t, e, r) {
+ if (e === 1) return t;
+ if (((r = r || 100), typeof t == 'number')) return Math.ceil(t * e * r) / r;
+ if (typeof t != 'string') return t;
+ let n = t.split(Hve);
+ if (n === null || !n.length) return t;
+ let i = [],
+ a = n.shift(),
+ s = Yve.test(a);
+ for (;;) {
+ if (s) {
+ let l = parseFloat(a);
+ isNaN(l) ? i.push(a) : i.push(Math.ceil(l * e * r) / r);
+ } else i.push(a);
+ if (((a = n.shift()), a === void 0)) return i.join('');
+ s = !s;
+ }
+ }
+ var Hve,
+ Yve,
+ $F = R(() => {
+ 'use strict';
+ (Hve = /(-?[0-9.]*[0-9]+[0-9.]*)/g), (Yve = /^-?[0-9.]*[0-9]+[0-9.]*$/g);
+ o(MC, 'calculateSize');
+ });
+ function Wve(t, e = 'defs') {
+ let r = '',
+ n = t.indexOf('<' + e);
+ for (; n >= 0; ) {
+ let i = t.indexOf('>', n),
+ a = t.indexOf('' + e);
+ if (i === -1 || a === -1) break;
+ let s = t.indexOf('>', a);
+ if (s === -1) break;
+ (r += t.slice(i + 1, a).trim()), (t = t.slice(0, n).trim() + t.slice(s + 1));
+ }
+ return { defs: r, content: t };
+ }
+ function qve(t, e) {
+ return t ? '' + t + '' + e : e;
+ }
+ function VF(t, e, r) {
+ let n = Wve(t);
+ return qve(n.defs, e + n.content + r);
+ }
+ var UF = R(() => {
+ 'use strict';
+ o(Wve, 'splitSVGDefs');
+ o(qve, 'mergeDefsAndContent');
+ o(VF, 'wrapSVGContent');
+ });
+ function IC(t, e) {
+ let r = { ...LC, ...t },
+ n = { ...RF, ...e },
+ i = { left: r.left, top: r.top, width: r.width, height: r.height },
+ a = r.body;
+ [r, n].forEach((y) => {
+ let v = [],
+ x = y.hFlip,
+ b = y.vFlip,
+ w = y.rotate;
+ x
+ ? b
+ ? (w += 2)
+ : (v.push('translate(' + (i.width + i.left).toString() + ' ' + (0 - i.top).toString() + ')'),
+ v.push('scale(-1 1)'),
+ (i.top = i.left = 0))
+ : b &&
+ (v.push('translate(' + (0 - i.left).toString() + ' ' + (i.height + i.top).toString() + ')'),
+ v.push('scale(1 -1)'),
+ (i.top = i.left = 0));
+ let S;
+ switch ((w < 0 && (w -= Math.floor(w / 4) * 4), (w = w % 4), w)) {
+ case 1:
+ (S = i.height / 2 + i.top), v.unshift('rotate(90 ' + S.toString() + ' ' + S.toString() + ')');
+ break;
+ case 2:
+ v.unshift(
+ 'rotate(180 ' +
+ (i.width / 2 + i.left).toString() +
+ ' ' +
+ (i.height / 2 + i.top).toString() +
+ ')'
+ );
+ break;
+ case 3:
+ (S = i.width / 2 + i.left), v.unshift('rotate(-90 ' + S.toString() + ' ' + S.toString() + ')');
+ break;
+ }
+ w % 2 === 1 &&
+ (i.left !== i.top && ((S = i.left), (i.left = i.top), (i.top = S)),
+ i.width !== i.height && ((S = i.width), (i.width = i.height), (i.height = S))),
+ v.length && (a = VF(a, '', ''));
+ });
+ let s = n.width,
+ l = n.height,
+ u = i.width,
+ h = i.height,
+ f,
+ d;
+ s === null
+ ? ((d = l === null ? '1em' : l === 'auto' ? h : l), (f = MC(d, u / h)))
+ : ((f = s === 'auto' ? u : s), (d = l === null ? MC(f, h / u) : l === 'auto' ? h : l));
+ let p = {},
+ m = o((y, v) => {
+ Xve(v) || (p[y] = v.toString());
+ }, 'setAttr');
+ m('width', f), m('height', d);
+ let g = [i.left, i.top, u, h];
+ return (p.viewBox = g.join(' ')), { attributes: p, viewBox: g, body: a };
+ }
+ var Xve,
+ HF = R(() => {
+ 'use strict';
+ Mb();
+ NF();
+ $F();
+ UF();
+ Xve = o((t) => t === 'unset' || t === 'undefined' || t === 'none', 'isUnsetKeyword');
+ o(IC, 'iconToSVG');
+ });
+ function OC(t, e = Kve) {
+ let r = [],
+ n;
+ for (; (n = jve.exec(t)); ) r.push(n[1]);
+ if (!r.length) return t;
+ let i = 'suffix' + ((Math.random() * 16777216) | Date.now()).toString(16);
+ return (
+ r.forEach((a) => {
+ let s = typeof e == 'function' ? e(a) : e + (Qve++).toString(),
+ l = a.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
+ t = t.replace(new RegExp('([#;"])(' + l + ')([")]|\\.[a-z])', 'g'), '$1' + s + i + '$3');
+ }),
+ (t = t.replace(new RegExp(i, 'g'), '')),
+ t
+ );
+ }
+ var jve,
+ Kve,
+ Qve,
+ YF = R(() => {
+ 'use strict';
+ (jve = /\sid="(\S+)"/g),
+ (Kve = 'IconifyId' + Date.now().toString(16) + ((Math.random() * 16777216) | 0).toString(16)),
+ (Qve = 0);
+ o(OC, 'replaceIDs');
+ });
+ function PC(t, e) {
+ let r = t.indexOf('xlink:') === -1 ? '' : ' xmlns:xlink="http://www.w3.org/1999/xlink"';
+ for (let n in e) r += ' ' + n + '="' + e[n] + '"';
+ return '';
+ }
+ var WF = R(() => {
+ 'use strict';
+ o(PC, 'iconToHTML');
+ });
+ var XF = gi((ait, qF) => {
+ 'use strict';
+ var ip = 1e3,
+ ap = ip * 60,
+ sp = ap * 60,
+ $f = sp * 24,
+ Zve = $f * 7,
+ Jve = $f * 365.25;
+ qF.exports = function (t, e) {
+ e = e || {};
+ var r = typeof t;
+ if (r === 'string' && t.length > 0) return e2e(t);
+ if (r === 'number' && isFinite(t)) return e.long ? r2e(t) : t2e(t);
+ throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(t));
+ };
+ function e2e(t) {
+ if (((t = String(t)), !(t.length > 100))) {
+ var e =
+ /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
+ t
+ );
+ if (e) {
+ var r = parseFloat(e[1]),
+ n = (e[2] || 'ms').toLowerCase();
+ switch (n) {
+ case 'years':
+ case 'year':
+ case 'yrs':
+ case 'yr':
+ case 'y':
+ return r * Jve;
+ case 'weeks':
+ case 'week':
+ case 'w':
+ return r * Zve;
+ case 'days':
+ case 'day':
+ case 'd':
+ return r * $f;
+ case 'hours':
+ case 'hour':
+ case 'hrs':
+ case 'hr':
+ case 'h':
+ return r * sp;
+ case 'minutes':
+ case 'minute':
+ case 'mins':
+ case 'min':
+ case 'm':
+ return r * ap;
+ case 'seconds':
+ case 'second':
+ case 'secs':
+ case 'sec':
+ case 's':
+ return r * ip;
+ case 'milliseconds':
+ case 'millisecond':
+ case 'msecs':
+ case 'msec':
+ case 'ms':
+ return r;
+ default:
+ return;
+ }
+ }
+ }
+ }
+ o(e2e, 'parse');
+ function t2e(t) {
+ var e = Math.abs(t);
+ return e >= $f
+ ? Math.round(t / $f) + 'd'
+ : e >= sp
+ ? Math.round(t / sp) + 'h'
+ : e >= ap
+ ? Math.round(t / ap) + 'm'
+ : e >= ip
+ ? Math.round(t / ip) + 's'
+ : t + 'ms';
+ }
+ o(t2e, 'fmtShort');
+ function r2e(t) {
+ var e = Math.abs(t);
+ return e >= $f
+ ? Pb(t, e, $f, 'day')
+ : e >= sp
+ ? Pb(t, e, sp, 'hour')
+ : e >= ap
+ ? Pb(t, e, ap, 'minute')
+ : e >= ip
+ ? Pb(t, e, ip, 'second')
+ : t + ' ms';
+ }
+ o(r2e, 'fmtLong');
+ function Pb(t, e, r, n) {
+ var i = e >= r * 1.5;
+ return Math.round(t / r) + ' ' + n + (i ? 's' : '');
+ }
+ o(Pb, 'plural');
+ });
+ var KF = gi((oit, jF) => {
+ 'use strict';
+ function n2e(t) {
+ (r.debug = r),
+ (r.default = r),
+ (r.coerce = u),
+ (r.disable = a),
+ (r.enable = i),
+ (r.enabled = s),
+ (r.humanize = XF()),
+ (r.destroy = h),
+ Object.keys(t).forEach((f) => {
+ r[f] = t[f];
+ }),
+ (r.names = []),
+ (r.skips = []),
+ (r.formatters = {});
+ function e(f) {
+ let d = 0;
+ for (let p = 0; p < f.length; p++) (d = (d << 5) - d + f.charCodeAt(p)), (d |= 0);
+ return r.colors[Math.abs(d) % r.colors.length];
+ }
+ o(e, 'selectColor'), (r.selectColor = e);
+ function r(f) {
+ let d,
+ p = null,
+ m,
+ g;
+ function y(...v) {
+ if (!y.enabled) return;
+ let x = y,
+ b = Number(new Date()),
+ w = b - (d || b);
+ (x.diff = w),
+ (x.prev = d),
+ (x.curr = b),
+ (d = b),
+ (v[0] = r.coerce(v[0])),
+ typeof v[0] != 'string' && v.unshift('%O');
+ let S = 0;
+ (v[0] = v[0].replace(/%([a-zA-Z%])/g, (E, _) => {
+ if (E === '%%') return '%';
+ S++;
+ let A = r.formatters[_];
+ if (typeof A == 'function') {
+ let L = v[S];
+ (E = A.call(x, L)), v.splice(S, 1), S--;
+ }
+ return E;
+ })),
+ r.formatArgs.call(x, v),
+ (x.log || r.log).apply(x, v);
+ }
+ return (
+ o(y, 'debug'),
+ (y.namespace = f),
+ (y.useColors = r.useColors()),
+ (y.color = r.selectColor(f)),
+ (y.extend = n),
+ (y.destroy = r.destroy),
+ Object.defineProperty(y, 'enabled', {
+ enumerable: !0,
+ configurable: !1,
+ get: o(
+ () =>
+ p !== null ? p : (m !== r.namespaces && ((m = r.namespaces), (g = r.enabled(f))), g),
+ 'get'
+ ),
+ set: o((v) => {
+ p = v;
+ }, 'set')
+ }),
+ typeof r.init == 'function' && r.init(y),
+ y
+ );
+ }
+ o(r, 'createDebug');
+ function n(f, d) {
+ let p = r(this.namespace + (typeof d > 'u' ? ':' : d) + f);
+ return (p.log = this.log), p;
+ }
+ o(n, 'extend');
+ function i(f) {
+ r.save(f), (r.namespaces = f), (r.names = []), (r.skips = []);
+ let d,
+ p = (typeof f == 'string' ? f : '').split(/[\s,]+/),
+ m = p.length;
+ for (d = 0; d < m; d++)
+ p[d] &&
+ ((f = p[d].replace(/\*/g, '.*?')),
+ f[0] === '-'
+ ? r.skips.push(new RegExp('^' + f.slice(1) + '$'))
+ : r.names.push(new RegExp('^' + f + '$')));
+ }
+ o(i, 'enable');
+ function a() {
+ let f = [...r.names.map(l), ...r.skips.map(l).map((d) => '-' + d)].join(',');
+ return r.enable(''), f;
+ }
+ o(a, 'disable');
+ function s(f) {
+ if (f[f.length - 1] === '*') return !0;
+ let d, p;
+ for (d = 0, p = r.skips.length; d < p; d++) if (r.skips[d].test(f)) return !1;
+ for (d = 0, p = r.names.length; d < p; d++) if (r.names[d].test(f)) return !0;
+ return !1;
+ }
+ o(s, 'enabled');
+ function l(f) {
+ return f
+ .toString()
+ .substring(2, f.toString().length - 2)
+ .replace(/\.\*\?$/, '*');
+ }
+ o(l, 'toNamespace');
+ function u(f) {
+ return f instanceof Error ? f.stack || f.message : f;
+ }
+ o(u, 'coerce');
+ function h() {
+ console.warn(
+ 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
+ );
+ }
+ return o(h, 'destroy'), r.enable(r.load()), r;
+ }
+ o(n2e, 'setup');
+ jF.exports = n2e;
+ });
+ var QF = gi((Ys, Bb) => {
+ 'use strict';
+ Ys.formatArgs = a2e;
+ Ys.save = s2e;
+ Ys.load = o2e;
+ Ys.useColors = i2e;
+ Ys.storage = l2e();
+ Ys.destroy = (() => {
+ let t = !1;
+ return () => {
+ t ||
+ ((t = !0),
+ console.warn(
+ 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
+ ));
+ };
+ })();
+ Ys.colors = [
+ '#0000CC',
+ '#0000FF',
+ '#0033CC',
+ '#0033FF',
+ '#0066CC',
+ '#0066FF',
+ '#0099CC',
+ '#0099FF',
+ '#00CC00',
+ '#00CC33',
+ '#00CC66',
+ '#00CC99',
+ '#00CCCC',
+ '#00CCFF',
+ '#3300CC',
+ '#3300FF',
+ '#3333CC',
+ '#3333FF',
+ '#3366CC',
+ '#3366FF',
+ '#3399CC',
+ '#3399FF',
+ '#33CC00',
+ '#33CC33',
+ '#33CC66',
+ '#33CC99',
+ '#33CCCC',
+ '#33CCFF',
+ '#6600CC',
+ '#6600FF',
+ '#6633CC',
+ '#6633FF',
+ '#66CC00',
+ '#66CC33',
+ '#9900CC',
+ '#9900FF',
+ '#9933CC',
+ '#9933FF',
+ '#99CC00',
+ '#99CC33',
+ '#CC0000',
+ '#CC0033',
+ '#CC0066',
+ '#CC0099',
+ '#CC00CC',
+ '#CC00FF',
+ '#CC3300',
+ '#CC3333',
+ '#CC3366',
+ '#CC3399',
+ '#CC33CC',
+ '#CC33FF',
+ '#CC6600',
+ '#CC6633',
+ '#CC9900',
+ '#CC9933',
+ '#CCCC00',
+ '#CCCC33',
+ '#FF0000',
+ '#FF0033',
+ '#FF0066',
+ '#FF0099',
+ '#FF00CC',
+ '#FF00FF',
+ '#FF3300',
+ '#FF3333',
+ '#FF3366',
+ '#FF3399',
+ '#FF33CC',
+ '#FF33FF',
+ '#FF6600',
+ '#FF6633',
+ '#FF9900',
+ '#FF9933',
+ '#FFCC00',
+ '#FFCC33'
+ ];
+ function i2e() {
+ if (typeof window < 'u' && window.process && (window.process.type === 'renderer' || window.process.__nwjs))
+ return !0;
+ if (
+ typeof navigator < 'u' &&
+ navigator.userAgent &&
+ navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)
+ )
+ return !1;
+ let t;
+ return (
+ (typeof document < 'u' &&
+ document.documentElement &&
+ document.documentElement.style &&
+ document.documentElement.style.WebkitAppearance) ||
+ (typeof window < 'u' &&
+ window.console &&
+ (window.console.firebug || (window.console.exception && window.console.table))) ||
+ (typeof navigator < 'u' &&
+ navigator.userAgent &&
+ (t = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) &&
+ parseInt(t[1], 10) >= 31) ||
+ (typeof navigator < 'u' &&
+ navigator.userAgent &&
+ navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))
+ );
+ }
+ o(i2e, 'useColors');
+ function a2e(t) {
+ if (
+ ((t[0] =
+ (this.useColors ? '%c' : '') +
+ this.namespace +
+ (this.useColors ? ' %c' : ' ') +
+ t[0] +
+ (this.useColors ? '%c ' : ' ') +
+ '+' +
+ Bb.exports.humanize(this.diff)),
+ !this.useColors)
+ )
+ return;
+ let e = 'color: ' + this.color;
+ t.splice(1, 0, e, 'color: inherit');
+ let r = 0,
+ n = 0;
+ t[0].replace(/%[a-zA-Z%]/g, (i) => {
+ i !== '%%' && (r++, i === '%c' && (n = r));
+ }),
+ t.splice(n, 0, e);
+ }
+ o(a2e, 'formatArgs');
+ Ys.log = console.debug || console.log || (() => {});
+ function s2e(t) {
+ try {
+ t ? Ys.storage.setItem('debug', t) : Ys.storage.removeItem('debug');
+ } catch {}
+ }
+ o(s2e, 'save');
+ function o2e() {
+ let t;
+ try {
+ t = Ys.storage.getItem('debug');
+ } catch {}
+ return !t && typeof process < 'u' && 'env' in process && (t = process.env.DEBUG), t;
+ }
+ o(o2e, 'load');
+ function l2e() {
+ try {
+ return localStorage;
+ } catch {}
+ }
+ o(l2e, 'localstorage');
+ Bb.exports = KF()(Ys);
+ var { formatters: c2e } = Bb.exports;
+ c2e.j = function (t) {
+ try {
+ return JSON.stringify(t);
+ } catch (e) {
+ return '[UnexpectedJSONParseError]: ' + e.message;
+ }
+ };
+ });
+ var uit,
+ ZF = R(() => {
+ 'use strict';
+ MF();
+ GF();
+ HF();
+ YF();
+ WF();
+ uit = Xi(QF(), 1);
+ });
+ var FC,
+ BC,
+ JF,
+ Fb,
+ u2e,
+ zb,
+ V1 = R(() => {
+ 'use strict';
+ ut();
+ ZF();
+ (FC = {
+ body: '?',
+ height: 80,
+ width: 80
+ }),
+ (BC = new Map()),
+ (JF = new Map()),
+ (Fb = o((t) => {
+ for (let e of t) {
+ if (!e.name)
+ throw new Error(
+ 'Invalid icon loader. Must have a "name" property with non-empty string value.'
+ );
+ if ((V.debug('Registering icon pack:', e.name), 'loader' in e)) JF.set(e.name, e.loader);
+ else if ('icons' in e) BC.set(e.name, e.icons);
+ else
+ throw (
+ (V.error('Invalid icon loader:', e),
+ new Error('Invalid icon loader. Must have either "icons" or "loader" property.'))
+ );
+ }
+ }, 'registerIconPacks')),
+ (u2e = o(async (t, e) => {
+ let r = DC(t, !0, e !== void 0);
+ if (!r) throw new Error(`Invalid icon name: ${t}`);
+ let n = r.prefix || e;
+ if (!n) throw new Error(`Icon name must contain a prefix: ${t}`);
+ let i = BC.get(n);
+ if (!i) {
+ let s = JF.get(n);
+ if (!s) throw new Error(`Icon set not found: ${r.prefix}`);
+ try {
+ (i = { ...(await s()), prefix: n }), BC.set(n, i);
+ } catch (l) {
+ throw (V.error(l), new Error(`Failed to load icon set: ${r.prefix}`));
+ }
+ }
+ let a = NC(i, r.name);
+ if (!a) throw new Error(`Icon not found: ${t}`);
+ return a;
+ }, 'getRegisteredIconData')),
+ (zb = o(async (t, e) => {
+ let r;
+ try {
+ r = await u2e(t, e?.fallbackPrefix);
+ } catch (a) {
+ V.error(a), (r = FC);
+ }
+ let n = IC(r, e);
+ return PC(OC(n.body), n.attributes);
+ }, 'getIconSVG'));
+ });
+ function Gb(t) {
+ for (var e = [], r = 1; r < arguments.length; r++) e[r - 1] = arguments[r];
+ var n = Array.from(typeof t == 'string' ? [t] : t);
+ n[n.length - 1] = n[n.length - 1].replace(/\r?\n([\t ]*)$/, '');
+ var i = n.reduce(function (l, u) {
+ var h = u.match(/\n([\t ]+|(?!\s).)/g);
+ return h
+ ? l.concat(
+ h.map(function (f) {
+ var d, p;
+ return (p = (d = f.match(/[\t ]/g)) === null || d === void 0 ? void 0 : d.length) !== null &&
+ p !== void 0
+ ? p
+ : 0;
+ })
+ )
+ : l;
+ }, []);
+ if (i.length) {
+ var a = new RegExp(
+ `
+[ ]{` +
+ Math.min.apply(Math, i) +
+ '}',
+ 'g'
+ );
+ n = n.map(function (l) {
+ return l.replace(
+ a,
+ `
+`
+ );
+ });
+ }
+ n[0] = n[0].replace(/^\r?\n/, '');
+ var s = n[0];
+ return (
+ e.forEach(function (l, u) {
+ var h = s.match(/(?:^|\n)( *)$/),
+ f = h ? h[1] : '',
+ d = l;
+ typeof l == 'string' &&
+ l.includes(`
+`) &&
+ (d = String(l)
+ .split(
+ `
+`
+ )
+ .map(function (p, m) {
+ return m === 0 ? p : '' + f + p;
+ }).join(`
+`)),
+ (s += d + n[u + 1]);
+ }),
+ s
+ );
+ }
+ var zC = R(() => {
+ 'use strict';
+ o(Gb, 'dedent');
+ });
+ var $b,
+ Vf,
+ ez,
+ Vb = R(() => {
+ 'use strict';
+ ($b = /^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s),
+ (Vf = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi),
+ (ez = /\s*%%.*\n/gm);
+ });
+ var op,
+ GC = R(() => {
+ 'use strict';
+ op = class extends Error {
+ static {
+ o(this, 'UnknownDiagramError');
+ }
+ constructor(e) {
+ super(e), (this.name = 'UnknownDiagramError');
+ }
+ };
+ });
+ var Uf,
+ lp,
+ Ub,
+ $C,
+ tz,
+ Hf = R(() => {
+ 'use strict';
+ ut();
+ Vb();
+ GC();
+ (Uf = {}),
+ (lp = o(function (t, e) {
+ t = t
+ .replace($b, '')
+ .replace(Vf, '')
+ .replace(
+ ez,
+ `
+`
+ );
+ for (let [r, { detector: n }] of Object.entries(Uf)) if (n(t, e)) return r;
+ throw new op(`No diagram type detected matching given configuration for text: ${t}`);
+ }, 'detectType')),
+ (Ub = o((...t) => {
+ for (let { id: e, detector: r, loader: n } of t) $C(e, r, n);
+ }, 'registerLazyLoadedDiagrams')),
+ ($C = o((t, e, r) => {
+ Uf[t] && V.warn(`Detector with key ${t} already exists. Overwriting.`),
+ (Uf[t] = { detector: e, loader: r }),
+ V.debug(`Detector with key ${t} added${r ? ' with loader' : ''}`);
+ }, 'addDetector')),
+ (tz = o((t) => Uf[t].loader, 'getDiagramLoader'));
+ });
+ var U1,
+ rz,
+ VC = R(() => {
+ 'use strict';
+ U1 = (function () {
+ var t = o(function (_e, me, W, fe) {
+ for (W = W || {}, fe = _e.length; fe--; W[_e[fe]] = me);
+ return W;
+ }, 'o'),
+ e = [1, 24],
+ r = [1, 25],
+ n = [1, 26],
+ i = [1, 27],
+ a = [1, 28],
+ s = [1, 63],
+ l = [1, 64],
+ u = [1, 65],
+ h = [1, 66],
+ f = [1, 67],
+ d = [1, 68],
+ p = [1, 69],
+ m = [1, 29],
+ g = [1, 30],
+ y = [1, 31],
+ v = [1, 32],
+ x = [1, 33],
+ b = [1, 34],
+ w = [1, 35],
+ S = [1, 36],
+ T = [1, 37],
+ E = [1, 38],
+ _ = [1, 39],
+ A = [1, 40],
+ L = [1, 41],
+ M = [1, 42],
+ N = [1, 43],
+ k = [1, 44],
+ I = [1, 45],
+ C = [1, 46],
+ O = [1, 47],
+ D = [1, 48],
+ P = [1, 50],
+ F = [1, 51],
+ B = [1, 52],
+ $ = [1, 53],
+ z = [1, 54],
+ Y = [1, 55],
+ Q = [1, 56],
+ X = [1, 57],
+ ie = [1, 58],
+ j = [1, 59],
+ J = [1, 60],
+ Z = [14, 42],
+ H = [
+ 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74
+ ],
+ q = [
+ 12, 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74
+ ],
+ K = [1, 82],
+ se = [1, 83],
+ ce = [1, 84],
+ ue = [1, 85],
+ te = [12, 14, 42],
+ De = [12, 14, 33, 42],
+ oe = [12, 14, 33, 42, 76, 77, 79, 80],
+ ke = [12, 33],
+ Ie = [
+ 34, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74
+ ],
+ Se = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ mermaidDoc: 4,
+ direction: 5,
+ direction_tb: 6,
+ direction_bt: 7,
+ direction_rl: 8,
+ direction_lr: 9,
+ graphConfig: 10,
+ C4_CONTEXT: 11,
+ NEWLINE: 12,
+ statements: 13,
+ EOF: 14,
+ C4_CONTAINER: 15,
+ C4_COMPONENT: 16,
+ C4_DYNAMIC: 17,
+ C4_DEPLOYMENT: 18,
+ otherStatements: 19,
+ diagramStatements: 20,
+ otherStatement: 21,
+ title: 22,
+ accDescription: 23,
+ acc_title: 24,
+ acc_title_value: 25,
+ acc_descr: 26,
+ acc_descr_value: 27,
+ acc_descr_multiline_value: 28,
+ boundaryStatement: 29,
+ boundaryStartStatement: 30,
+ boundaryStopStatement: 31,
+ boundaryStart: 32,
+ LBRACE: 33,
+ ENTERPRISE_BOUNDARY: 34,
+ attributes: 35,
+ SYSTEM_BOUNDARY: 36,
+ BOUNDARY: 37,
+ CONTAINER_BOUNDARY: 38,
+ NODE: 39,
+ NODE_L: 40,
+ NODE_R: 41,
+ RBRACE: 42,
+ diagramStatement: 43,
+ PERSON: 44,
+ PERSON_EXT: 45,
+ SYSTEM: 46,
+ SYSTEM_DB: 47,
+ SYSTEM_QUEUE: 48,
+ SYSTEM_EXT: 49,
+ SYSTEM_EXT_DB: 50,
+ SYSTEM_EXT_QUEUE: 51,
+ CONTAINER: 52,
+ CONTAINER_DB: 53,
+ CONTAINER_QUEUE: 54,
+ CONTAINER_EXT: 55,
+ CONTAINER_EXT_DB: 56,
+ CONTAINER_EXT_QUEUE: 57,
+ COMPONENT: 58,
+ COMPONENT_DB: 59,
+ COMPONENT_QUEUE: 60,
+ COMPONENT_EXT: 61,
+ COMPONENT_EXT_DB: 62,
+ COMPONENT_EXT_QUEUE: 63,
+ REL: 64,
+ BIREL: 65,
+ REL_U: 66,
+ REL_D: 67,
+ REL_L: 68,
+ REL_R: 69,
+ REL_B: 70,
+ REL_INDEX: 71,
+ UPDATE_EL_STYLE: 72,
+ UPDATE_REL_STYLE: 73,
+ UPDATE_LAYOUT_CONFIG: 74,
+ attribute: 75,
+ STR: 76,
+ STR_KEY: 77,
+ STR_VALUE: 78,
+ ATTRIBUTE: 79,
+ ATTRIBUTE_EMPTY: 80,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 6: 'direction_tb',
+ 7: 'direction_bt',
+ 8: 'direction_rl',
+ 9: 'direction_lr',
+ 11: 'C4_CONTEXT',
+ 12: 'NEWLINE',
+ 14: 'EOF',
+ 15: 'C4_CONTAINER',
+ 16: 'C4_COMPONENT',
+ 17: 'C4_DYNAMIC',
+ 18: 'C4_DEPLOYMENT',
+ 22: 'title',
+ 23: 'accDescription',
+ 24: 'acc_title',
+ 25: 'acc_title_value',
+ 26: 'acc_descr',
+ 27: 'acc_descr_value',
+ 28: 'acc_descr_multiline_value',
+ 33: 'LBRACE',
+ 34: 'ENTERPRISE_BOUNDARY',
+ 36: 'SYSTEM_BOUNDARY',
+ 37: 'BOUNDARY',
+ 38: 'CONTAINER_BOUNDARY',
+ 39: 'NODE',
+ 40: 'NODE_L',
+ 41: 'NODE_R',
+ 42: 'RBRACE',
+ 44: 'PERSON',
+ 45: 'PERSON_EXT',
+ 46: 'SYSTEM',
+ 47: 'SYSTEM_DB',
+ 48: 'SYSTEM_QUEUE',
+ 49: 'SYSTEM_EXT',
+ 50: 'SYSTEM_EXT_DB',
+ 51: 'SYSTEM_EXT_QUEUE',
+ 52: 'CONTAINER',
+ 53: 'CONTAINER_DB',
+ 54: 'CONTAINER_QUEUE',
+ 55: 'CONTAINER_EXT',
+ 56: 'CONTAINER_EXT_DB',
+ 57: 'CONTAINER_EXT_QUEUE',
+ 58: 'COMPONENT',
+ 59: 'COMPONENT_DB',
+ 60: 'COMPONENT_QUEUE',
+ 61: 'COMPONENT_EXT',
+ 62: 'COMPONENT_EXT_DB',
+ 63: 'COMPONENT_EXT_QUEUE',
+ 64: 'REL',
+ 65: 'BIREL',
+ 66: 'REL_U',
+ 67: 'REL_D',
+ 68: 'REL_L',
+ 69: 'REL_R',
+ 70: 'REL_B',
+ 71: 'REL_INDEX',
+ 72: 'UPDATE_EL_STYLE',
+ 73: 'UPDATE_REL_STYLE',
+ 74: 'UPDATE_LAYOUT_CONFIG',
+ 76: 'STR',
+ 77: 'STR_KEY',
+ 78: 'STR_VALUE',
+ 79: 'ATTRIBUTE',
+ 80: 'ATTRIBUTE_EMPTY'
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 1],
+ [5, 1],
+ [5, 1],
+ [5, 1],
+ [5, 1],
+ [4, 1],
+ [10, 4],
+ [10, 4],
+ [10, 4],
+ [10, 4],
+ [10, 4],
+ [13, 1],
+ [13, 1],
+ [13, 2],
+ [19, 1],
+ [19, 2],
+ [19, 3],
+ [21, 1],
+ [21, 1],
+ [21, 2],
+ [21, 2],
+ [21, 1],
+ [29, 3],
+ [30, 3],
+ [30, 3],
+ [30, 4],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [31, 1],
+ [20, 1],
+ [20, 2],
+ [20, 3],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 1],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [35, 1],
+ [35, 2],
+ [75, 1],
+ [75, 2],
+ [75, 1],
+ [75, 1]
+ ],
+ performAction: o(function (me, W, fe, ge, re, he, ne) {
+ var ae = he.length - 1;
+ switch (re) {
+ case 3:
+ ge.setDirection('TB');
+ break;
+ case 4:
+ ge.setDirection('BT');
+ break;
+ case 5:
+ ge.setDirection('RL');
+ break;
+ case 6:
+ ge.setDirection('LR');
+ break;
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ ge.setC4Type(he[ae - 3]);
+ break;
+ case 19:
+ ge.setTitle(he[ae].substring(6)), (this.$ = he[ae].substring(6));
+ break;
+ case 20:
+ ge.setAccDescription(he[ae].substring(15)), (this.$ = he[ae].substring(15));
+ break;
+ case 21:
+ (this.$ = he[ae].trim()), ge.setTitle(this.$);
+ break;
+ case 22:
+ case 23:
+ (this.$ = he[ae].trim()), ge.setAccDescription(this.$);
+ break;
+ case 28:
+ he[ae].splice(2, 0, 'ENTERPRISE'),
+ ge.addPersonOrSystemBoundary(...he[ae]),
+ (this.$ = he[ae]);
+ break;
+ case 29:
+ he[ae].splice(2, 0, 'SYSTEM'),
+ ge.addPersonOrSystemBoundary(...he[ae]),
+ (this.$ = he[ae]);
+ break;
+ case 30:
+ ge.addPersonOrSystemBoundary(...he[ae]), (this.$ = he[ae]);
+ break;
+ case 31:
+ he[ae].splice(2, 0, 'CONTAINER'),
+ ge.addContainerBoundary(...he[ae]),
+ (this.$ = he[ae]);
+ break;
+ case 32:
+ ge.addDeploymentNode('node', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 33:
+ ge.addDeploymentNode('nodeL', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 34:
+ ge.addDeploymentNode('nodeR', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 35:
+ ge.popBoundaryParseStack();
+ break;
+ case 39:
+ ge.addPersonOrSystem('person', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 40:
+ ge.addPersonOrSystem('external_person', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 41:
+ ge.addPersonOrSystem('system', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 42:
+ ge.addPersonOrSystem('system_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 43:
+ ge.addPersonOrSystem('system_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 44:
+ ge.addPersonOrSystem('external_system', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 45:
+ ge.addPersonOrSystem('external_system_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 46:
+ ge.addPersonOrSystem('external_system_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 47:
+ ge.addContainer('container', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 48:
+ ge.addContainer('container_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 49:
+ ge.addContainer('container_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 50:
+ ge.addContainer('external_container', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 51:
+ ge.addContainer('external_container_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 52:
+ ge.addContainer('external_container_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 53:
+ ge.addComponent('component', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 54:
+ ge.addComponent('component_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 55:
+ ge.addComponent('component_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 56:
+ ge.addComponent('external_component', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 57:
+ ge.addComponent('external_component_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 58:
+ ge.addComponent('external_component_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 60:
+ ge.addRel('rel', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 61:
+ ge.addRel('birel', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 62:
+ ge.addRel('rel_u', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 63:
+ ge.addRel('rel_d', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 64:
+ ge.addRel('rel_l', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 65:
+ ge.addRel('rel_r', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 66:
+ ge.addRel('rel_b', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 67:
+ he[ae].splice(0, 1), ge.addRel('rel', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 68:
+ ge.updateElStyle('update_el_style', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 69:
+ ge.updateRelStyle('update_rel_style', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 70:
+ ge.updateLayoutConfig('update_layout_config', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 71:
+ this.$ = [he[ae]];
+ break;
+ case 72:
+ he[ae].unshift(he[ae - 1]), (this.$ = he[ae]);
+ break;
+ case 73:
+ case 75:
+ this.$ = he[ae].trim();
+ break;
+ case 74:
+ let we = {};
+ (we[he[ae - 1].trim()] = he[ae].trim()), (this.$ = we);
+ break;
+ case 76:
+ this.$ = '';
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ {
+ 3: 1,
+ 4: 2,
+ 5: 3,
+ 6: [1, 5],
+ 7: [1, 6],
+ 8: [1, 7],
+ 9: [1, 8],
+ 10: 4,
+ 11: [1, 9],
+ 15: [1, 10],
+ 16: [1, 11],
+ 17: [1, 12],
+ 18: [1, 13]
+ },
+ { 1: [3] },
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ { 1: [2, 7] },
+ { 1: [2, 3] },
+ { 1: [2, 4] },
+ { 1: [2, 5] },
+ { 1: [2, 6] },
+ { 12: [1, 14] },
+ { 12: [1, 15] },
+ { 12: [1, 16] },
+ { 12: [1, 17] },
+ { 12: [1, 18] },
+ {
+ 13: 19,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ {
+ 13: 70,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ {
+ 13: 71,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ {
+ 13: 72,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ {
+ 13: 73,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ { 14: [1, 74] },
+ t(Z, [2, 13], {
+ 43: 23,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 20: 75,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ }),
+ t(Z, [2, 14]),
+ t(H, [2, 16], { 12: [1, 76] }),
+ t(Z, [2, 36], { 12: [1, 77] }),
+ t(q, [2, 19]),
+ t(q, [2, 20]),
+ { 25: [1, 78] },
+ { 27: [1, 79] },
+ t(q, [2, 23]),
+ { 35: 80, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 86, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 87, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 88, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 89, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 90, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 91, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 92, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 93, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 94, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 95, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 96, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 97, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 98, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 99, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 100, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 101, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 102, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 103, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 104, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ t(te, [2, 59]),
+ { 35: 105, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 106, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 107, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 108, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 109, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 110, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 111, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 112, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 113, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 114, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 115, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ {
+ 20: 116,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ { 12: [1, 118], 33: [1, 117] },
+ { 35: 119, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 120, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 121, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 122, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 123, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 124, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 125, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 14: [1, 126] },
+ { 14: [1, 127] },
+ { 14: [1, 128] },
+ { 14: [1, 129] },
+ { 1: [2, 8] },
+ t(Z, [2, 15]),
+ t(H, [2, 17], {
+ 21: 22,
+ 19: 130,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a
+ }),
+ t(Z, [2, 37], {
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 43: 23,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 13: 131,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ }),
+ t(q, [2, 21]),
+ t(q, [2, 22]),
+ t(te, [2, 39]),
+ t(De, [2, 71], {
+ 75: 81,
+ 35: 132,
+ 76: K,
+ 77: se,
+ 79: ce,
+ 80: ue
+ }),
+ t(oe, [2, 73]),
+ { 78: [1, 133] },
+ t(oe, [2, 75]),
+ t(oe, [2, 76]),
+ t(te, [2, 40]),
+ t(te, [2, 41]),
+ t(te, [2, 42]),
+ t(te, [2, 43]),
+ t(te, [2, 44]),
+ t(te, [2, 45]),
+ t(te, [2, 46]),
+ t(te, [2, 47]),
+ t(te, [2, 48]),
+ t(te, [2, 49]),
+ t(te, [2, 50]),
+ t(te, [2, 51]),
+ t(te, [2, 52]),
+ t(te, [2, 53]),
+ t(te, [2, 54]),
+ t(te, [2, 55]),
+ t(te, [2, 56]),
+ t(te, [2, 57]),
+ t(te, [2, 58]),
+ t(te, [2, 60]),
+ t(te, [2, 61]),
+ t(te, [2, 62]),
+ t(te, [2, 63]),
+ t(te, [2, 64]),
+ t(te, [2, 65]),
+ t(te, [2, 66]),
+ t(te, [2, 67]),
+ t(te, [2, 68]),
+ t(te, [2, 69]),
+ t(te, [2, 70]),
+ { 31: 134, 42: [1, 135] },
+ { 12: [1, 136] },
+ { 33: [1, 137] },
+ t(ke, [2, 28]),
+ t(ke, [2, 29]),
+ t(ke, [2, 30]),
+ t(ke, [2, 31]),
+ t(ke, [2, 32]),
+ t(ke, [2, 33]),
+ t(ke, [2, 34]),
+ { 1: [2, 9] },
+ { 1: [2, 10] },
+ { 1: [2, 11] },
+ { 1: [2, 12] },
+ t(H, [2, 18]),
+ t(Z, [2, 38]),
+ t(De, [2, 72]),
+ t(oe, [2, 74]),
+ t(te, [2, 24]),
+ t(te, [2, 35]),
+ t(Ie, [2, 25]),
+ t(Ie, [2, 26], { 12: [1, 138] }),
+ t(Ie, [2, 27])
+ ],
+ defaultActions: {
+ 2: [2, 1],
+ 3: [2, 2],
+ 4: [2, 7],
+ 5: [2, 3],
+ 6: [2, 4],
+ 7: [2, 5],
+ 8: [2, 6],
+ 74: [2, 8],
+ 126: [2, 9],
+ 127: [2, 10],
+ 128: [2, 11],
+ 129: [2, 12]
+ },
+ parseError: o(function (me, W) {
+ if (W.recoverable) this.trace(me);
+ else {
+ var fe = new Error(me);
+ throw ((fe.hash = W), fe);
+ }
+ }, 'parseError'),
+ parse: o(function (me) {
+ var W = this,
+ fe = [0],
+ ge = [],
+ re = [null],
+ he = [],
+ ne = this.table,
+ ae = '',
+ we = 0,
+ Te = 0,
+ Ce = 0,
+ Ae = 2,
+ Ge = 1,
+ Me = he.slice.call(arguments, 1),
+ ye = Object.create(this.lexer),
+ He = { yy: {} };
+ for (var ze in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, ze) && (He.yy[ze] = this.yy[ze]);
+ ye.setInput(me, He.yy),
+ (He.yy.lexer = ye),
+ (He.yy.parser = this),
+ typeof ye.yylloc > 'u' && (ye.yylloc = {});
+ var Ze = ye.yylloc;
+ he.push(Ze);
+ var gt = ye.options && ye.options.ranges;
+ typeof He.yy.parseError == 'function'
+ ? (this.parseError = He.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function yt(St) {
+ (fe.length = fe.length - 2 * St),
+ (re.length = re.length - St),
+ (he.length = he.length - St);
+ }
+ o(yt, 'popStack');
+ function tt() {
+ var St;
+ return (
+ (St = ge.pop() || ye.lex() || Ge),
+ typeof St != 'number' &&
+ (St instanceof Array && ((ge = St), (St = ge.pop())),
+ (St = W.symbols_[St] || St)),
+ St
+ );
+ }
+ o(tt, 'lex');
+ for (var Ye, Je, Ve, je, kt, at, xt = {}, it, dt, lt, It; ; ) {
+ if (
+ ((Ve = fe[fe.length - 1]),
+ this.defaultActions[Ve]
+ ? (je = this.defaultActions[Ve])
+ : ((Ye === null || typeof Ye > 'u') && (Ye = tt()),
+ (je = ne[Ve] && ne[Ve][Ye])),
+ typeof je > 'u' || !je.length || !je[0])
+ ) {
+ var mt = '';
+ It = [];
+ for (it in ne[Ve])
+ this.terminals_[it] && it > Ae && It.push("'" + this.terminals_[it] + "'");
+ ye.showPosition
+ ? (mt =
+ 'Parse error on line ' +
+ (we + 1) +
+ `:
+` +
+ ye.showPosition() +
+ `
+Expecting ` +
+ It.join(', ') +
+ ", got '" +
+ (this.terminals_[Ye] || Ye) +
+ "'")
+ : (mt =
+ 'Parse error on line ' +
+ (we + 1) +
+ ': Unexpected ' +
+ (Ye == Ge ? 'end of input' : "'" + (this.terminals_[Ye] || Ye) + "'")),
+ this.parseError(mt, {
+ text: ye.match,
+ token: this.terminals_[Ye] || Ye,
+ line: ye.yylineno,
+ loc: Ze,
+ expected: It
+ });
+ }
+ if (je[0] instanceof Array && je.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Ve + ', token: ' + Ye
+ );
+ switch (je[0]) {
+ case 1:
+ fe.push(Ye),
+ re.push(ye.yytext),
+ he.push(ye.yylloc),
+ fe.push(je[1]),
+ (Ye = null),
+ Je
+ ? ((Ye = Je), (Je = null))
+ : ((Te = ye.yyleng),
+ (ae = ye.yytext),
+ (we = ye.yylineno),
+ (Ze = ye.yylloc),
+ Ce > 0 && Ce--);
+ break;
+ case 2:
+ if (
+ ((dt = this.productions_[je[1]][1]),
+ (xt.$ = re[re.length - dt]),
+ (xt._$ = {
+ first_line: he[he.length - (dt || 1)].first_line,
+ last_line: he[he.length - 1].last_line,
+ first_column: he[he.length - (dt || 1)].first_column,
+ last_column: he[he.length - 1].last_column
+ }),
+ gt &&
+ (xt._$.range = [
+ he[he.length - (dt || 1)].range[0],
+ he[he.length - 1].range[1]
+ ]),
+ (at = this.performAction.apply(
+ xt,
+ [ae, Te, we, He.yy, je[1], re, he].concat(Me)
+ )),
+ typeof at < 'u')
+ )
+ return at;
+ dt &&
+ ((fe = fe.slice(0, -1 * dt * 2)),
+ (re = re.slice(0, -1 * dt)),
+ (he = he.slice(0, -1 * dt))),
+ fe.push(this.productions_[je[1]][0]),
+ re.push(xt.$),
+ he.push(xt._$),
+ (lt = ne[fe[fe.length - 2]][fe[fe.length - 1]]),
+ fe.push(lt);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ Ue = (function () {
+ var _e = {
+ EOF: 1,
+ parseError: o(function (W, fe) {
+ if (this.yy.parser) this.yy.parser.parseError(W, fe);
+ else throw new Error(W);
+ }, 'parseError'),
+ setInput: o(function (me, W) {
+ return (
+ (this.yy = W || this.yy || {}),
+ (this._input = me),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var me = this._input[0];
+ (this.yytext += me),
+ this.yyleng++,
+ this.offset++,
+ (this.match += me),
+ (this.matched += me);
+ var W = me.match(/(?:\r\n?|\n).*/g);
+ return (
+ W ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ me
+ );
+ }, 'input'),
+ unput: o(function (me) {
+ var W = me.length,
+ fe = me.split(/(?:\r\n?|\n)/g);
+ (this._input = me + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - W)),
+ (this.offset -= W);
+ var ge = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ fe.length - 1 && (this.yylineno -= fe.length - 1);
+ var re = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: fe
+ ? (fe.length === ge.length ? this.yylloc.first_column : 0) +
+ ge[ge.length - fe.length].length -
+ fe[0].length
+ : this.yylloc.first_column - W
+ }),
+ this.options.ranges && (this.yylloc.range = [re[0], re[0] + this.yyleng - W]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (me) {
+ this.unput(this.match.slice(me));
+ }, 'less'),
+ pastInput: o(function () {
+ var me = this.matched.substr(0, this.matched.length - this.match.length);
+ return (me.length > 20 ? '...' : '') + me.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var me = this.match;
+ return (
+ me.length < 20 && (me += this._input.substr(0, 20 - me.length)),
+ (me.substr(0, 20) + (me.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var me = this.pastInput(),
+ W = new Array(me.length + 1).join('-');
+ return (
+ me +
+ this.upcomingInput() +
+ `
+` +
+ W +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (me, W) {
+ var fe, ge, re;
+ if (
+ (this.options.backtrack_lexer &&
+ ((re = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (re.yylloc.range = this.yylloc.range.slice(0))),
+ (ge = me[0].match(/(?:\r\n?|\n).*/g)),
+ ge && (this.yylineno += ge.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: ge
+ ? ge[ge.length - 1].length - ge[ge.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + me[0].length
+ }),
+ (this.yytext += me[0]),
+ (this.match += me[0]),
+ (this.matches = me),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(me[0].length)),
+ (this.matched += me[0]),
+ (fe = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ W,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ fe)
+ )
+ return fe;
+ if (this._backtrack) {
+ for (var he in re) this[he] = re[he];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var me, W, fe, ge;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var re = this._currentRules(), he = 0; he < re.length; he++)
+ if (
+ ((fe = this._input.match(this.rules[re[he]])),
+ fe && (!W || fe[0].length > W[0].length))
+ ) {
+ if (((W = fe), (ge = he), this.options.backtrack_lexer)) {
+ if (((me = this.test_match(fe, re[he])), me !== !1)) return me;
+ if (this._backtrack) {
+ W = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return W
+ ? ((me = this.test_match(W, re[ge])), me !== !1 ? me : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var W = this.next();
+ return W || this.lex();
+ }, 'lex'),
+ begin: o(function (W) {
+ this.conditionStack.push(W);
+ }, 'begin'),
+ popState: o(function () {
+ var W = this.conditionStack.length - 1;
+ return W > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (W) {
+ return (
+ (W = this.conditionStack.length - 1 - Math.abs(W || 0)),
+ W >= 0 ? this.conditionStack[W] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (W) {
+ this.begin(W);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: {},
+ performAction: o(function (W, fe, ge, re) {
+ var he = re;
+ switch (ge) {
+ case 0:
+ return 6;
+ case 1:
+ return 7;
+ case 2:
+ return 8;
+ case 3:
+ return 9;
+ case 4:
+ return 22;
+ case 5:
+ return 23;
+ case 6:
+ return this.begin('acc_title'), 24;
+ break;
+ case 7:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 8:
+ return this.begin('acc_descr'), 26;
+ break;
+ case 9:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 10:
+ this.begin('acc_descr_multiline');
+ break;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 'acc_descr_multiline_value';
+ case 13:
+ break;
+ case 14:
+ c;
+ break;
+ case 15:
+ return 12;
+ case 16:
+ break;
+ case 17:
+ return 11;
+ case 18:
+ return 15;
+ case 19:
+ return 16;
+ case 20:
+ return 17;
+ case 21:
+ return 18;
+ case 22:
+ return this.begin('person_ext'), 45;
+ break;
+ case 23:
+ return this.begin('person'), 44;
+ break;
+ case 24:
+ return this.begin('system_ext_queue'), 51;
+ break;
+ case 25:
+ return this.begin('system_ext_db'), 50;
+ break;
+ case 26:
+ return this.begin('system_ext'), 49;
+ break;
+ case 27:
+ return this.begin('system_queue'), 48;
+ break;
+ case 28:
+ return this.begin('system_db'), 47;
+ break;
+ case 29:
+ return this.begin('system'), 46;
+ break;
+ case 30:
+ return this.begin('boundary'), 37;
+ break;
+ case 31:
+ return this.begin('enterprise_boundary'), 34;
+ break;
+ case 32:
+ return this.begin('system_boundary'), 36;
+ break;
+ case 33:
+ return this.begin('container_ext_queue'), 57;
+ break;
+ case 34:
+ return this.begin('container_ext_db'), 56;
+ break;
+ case 35:
+ return this.begin('container_ext'), 55;
+ break;
+ case 36:
+ return this.begin('container_queue'), 54;
+ break;
+ case 37:
+ return this.begin('container_db'), 53;
+ break;
+ case 38:
+ return this.begin('container'), 52;
+ break;
+ case 39:
+ return this.begin('container_boundary'), 38;
+ break;
+ case 40:
+ return this.begin('component_ext_queue'), 63;
+ break;
+ case 41:
+ return this.begin('component_ext_db'), 62;
+ break;
+ case 42:
+ return this.begin('component_ext'), 61;
+ break;
+ case 43:
+ return this.begin('component_queue'), 60;
+ break;
+ case 44:
+ return this.begin('component_db'), 59;
+ break;
+ case 45:
+ return this.begin('component'), 58;
+ break;
+ case 46:
+ return this.begin('node'), 39;
+ break;
+ case 47:
+ return this.begin('node'), 39;
+ break;
+ case 48:
+ return this.begin('node_l'), 40;
+ break;
+ case 49:
+ return this.begin('node_r'), 41;
+ break;
+ case 50:
+ return this.begin('rel'), 64;
+ break;
+ case 51:
+ return this.begin('birel'), 65;
+ break;
+ case 52:
+ return this.begin('rel_u'), 66;
+ break;
+ case 53:
+ return this.begin('rel_u'), 66;
+ break;
+ case 54:
+ return this.begin('rel_d'), 67;
+ break;
+ case 55:
+ return this.begin('rel_d'), 67;
+ break;
+ case 56:
+ return this.begin('rel_l'), 68;
+ break;
+ case 57:
+ return this.begin('rel_l'), 68;
+ break;
+ case 58:
+ return this.begin('rel_r'), 69;
+ break;
+ case 59:
+ return this.begin('rel_r'), 69;
+ break;
+ case 60:
+ return this.begin('rel_b'), 70;
+ break;
+ case 61:
+ return this.begin('rel_index'), 71;
+ break;
+ case 62:
+ return this.begin('update_el_style'), 72;
+ break;
+ case 63:
+ return this.begin('update_rel_style'), 73;
+ break;
+ case 64:
+ return this.begin('update_layout_config'), 74;
+ break;
+ case 65:
+ return 'EOF_IN_STRUCT';
+ case 66:
+ return this.begin('attribute'), 'ATTRIBUTE_EMPTY';
+ break;
+ case 67:
+ this.begin('attribute');
+ break;
+ case 68:
+ this.popState(), this.popState();
+ break;
+ case 69:
+ return 80;
+ case 70:
+ break;
+ case 71:
+ return 80;
+ case 72:
+ this.begin('string');
+ break;
+ case 73:
+ this.popState();
+ break;
+ case 74:
+ return 'STR';
+ case 75:
+ this.begin('string_kv');
+ break;
+ case 76:
+ return this.begin('string_kv_key'), 'STR_KEY';
+ break;
+ case 77:
+ this.popState(), this.begin('string_kv_value');
+ break;
+ case 78:
+ return 'STR_VALUE';
+ case 79:
+ this.popState(), this.popState();
+ break;
+ case 80:
+ return 'STR';
+ case 81:
+ return 'LBRACE';
+ case 82:
+ return 'RBRACE';
+ case 83:
+ return 'SPACE';
+ case 84:
+ return 'EOL';
+ case 85:
+ return 14;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:.*direction\s+TB[^\n]*)/,
+ /^(?:.*direction\s+BT[^\n]*)/,
+ /^(?:.*direction\s+RL[^\n]*)/,
+ /^(?:.*direction\s+LR[^\n]*)/,
+ /^(?:title\s[^#\n;]+)/,
+ /^(?:accDescription\s[^#\n;]+)/,
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,
+ /^(?:%%[^\n]*(\r?\n)*)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:C4Context\b)/,
+ /^(?:C4Container\b)/,
+ /^(?:C4Component\b)/,
+ /^(?:C4Dynamic\b)/,
+ /^(?:C4Deployment\b)/,
+ /^(?:Person_Ext\b)/,
+ /^(?:Person\b)/,
+ /^(?:SystemQueue_Ext\b)/,
+ /^(?:SystemDb_Ext\b)/,
+ /^(?:System_Ext\b)/,
+ /^(?:SystemQueue\b)/,
+ /^(?:SystemDb\b)/,
+ /^(?:System\b)/,
+ /^(?:Boundary\b)/,
+ /^(?:Enterprise_Boundary\b)/,
+ /^(?:System_Boundary\b)/,
+ /^(?:ContainerQueue_Ext\b)/,
+ /^(?:ContainerDb_Ext\b)/,
+ /^(?:Container_Ext\b)/,
+ /^(?:ContainerQueue\b)/,
+ /^(?:ContainerDb\b)/,
+ /^(?:Container\b)/,
+ /^(?:Container_Boundary\b)/,
+ /^(?:ComponentQueue_Ext\b)/,
+ /^(?:ComponentDb_Ext\b)/,
+ /^(?:Component_Ext\b)/,
+ /^(?:ComponentQueue\b)/,
+ /^(?:ComponentDb\b)/,
+ /^(?:Component\b)/,
+ /^(?:Deployment_Node\b)/,
+ /^(?:Node\b)/,
+ /^(?:Node_L\b)/,
+ /^(?:Node_R\b)/,
+ /^(?:Rel\b)/,
+ /^(?:BiRel\b)/,
+ /^(?:Rel_Up\b)/,
+ /^(?:Rel_U\b)/,
+ /^(?:Rel_Down\b)/,
+ /^(?:Rel_D\b)/,
+ /^(?:Rel_Left\b)/,
+ /^(?:Rel_L\b)/,
+ /^(?:Rel_Right\b)/,
+ /^(?:Rel_R\b)/,
+ /^(?:Rel_Back\b)/,
+ /^(?:RelIndex\b)/,
+ /^(?:UpdateElementStyle\b)/,
+ /^(?:UpdateRelStyle\b)/,
+ /^(?:UpdateLayoutConfig\b)/,
+ /^(?:$)/,
+ /^(?:[(][ ]*[,])/,
+ /^(?:[(])/,
+ /^(?:[)])/,
+ /^(?:,,)/,
+ /^(?:,)/,
+ /^(?:[ ]*["]["])/,
+ /^(?:[ ]*["])/,
+ /^(?:["])/,
+ /^(?:[^"]*)/,
+ /^(?:[ ]*[\$])/,
+ /^(?:[^=]*)/,
+ /^(?:[=][ ]*["])/,
+ /^(?:[^"]+)/,
+ /^(?:["])/,
+ /^(?:[^,]+)/,
+ /^(?:\{)/,
+ /^(?:\})/,
+ /^(?:[\s]+)/,
+ /^(?:[\n\r]+)/,
+ /^(?:$)/
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [11, 12], inclusive: !1 },
+ acc_descr: { rules: [9], inclusive: !1 },
+ acc_title: { rules: [7], inclusive: !1 },
+ string_kv_value: { rules: [78, 79], inclusive: !1 },
+ string_kv_key: { rules: [77], inclusive: !1 },
+ string_kv: { rules: [76], inclusive: !1 },
+ string: { rules: [73, 74], inclusive: !1 },
+ attribute: {
+ rules: [68, 69, 70, 71, 72, 75, 80],
+ inclusive: !1
+ },
+ update_layout_config: {
+ rules: [65, 66, 67, 68],
+ inclusive: !1
+ },
+ update_rel_style: { rules: [65, 66, 67, 68], inclusive: !1 },
+ update_el_style: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_b: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_r: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_l: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_d: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_u: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_bi: { rules: [], inclusive: !1 },
+ rel: { rules: [65, 66, 67, 68], inclusive: !1 },
+ node_r: { rules: [65, 66, 67, 68], inclusive: !1 },
+ node_l: { rules: [65, 66, 67, 68], inclusive: !1 },
+ node: { rules: [65, 66, 67, 68], inclusive: !1 },
+ index: { rules: [], inclusive: !1 },
+ rel_index: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_ext_queue: { rules: [], inclusive: !1 },
+ component_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container: { rules: [65, 66, 67, 68], inclusive: !1 },
+ birel: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ enterprise_boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system: { rules: [65, 66, 67, 68], inclusive: !1 },
+ person_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ person: { rules: [65, 66, 67, 68], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 81,
+ 82, 83, 84, 85
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return _e;
+ })();
+ Se.lexer = Ue;
+ function Pe() {
+ this.yy = {};
+ }
+ return o(Pe, 'Parser'), (Pe.prototype = Se), (Se.Parser = Pe), new Pe();
+ })();
+ U1.parser = U1;
+ rz = U1;
+ });
+ var UC,
+ On,
+ cp = R(() => {
+ 'use strict';
+ (UC = o((t, e, { depth: r = 2, clobber: n = !1 } = {}) => {
+ let i = { depth: r, clobber: n };
+ return Array.isArray(e) && !Array.isArray(t)
+ ? (e.forEach((a) => UC(t, a, i)), t)
+ : Array.isArray(e) && Array.isArray(t)
+ ? (e.forEach((a) => {
+ t.includes(a) || t.push(a);
+ }),
+ t)
+ : t === void 0 || r <= 0
+ ? t != null && typeof t == 'object' && typeof e == 'object'
+ ? Object.assign(t, e)
+ : e
+ : (e !== void 0 &&
+ typeof t == 'object' &&
+ typeof e == 'object' &&
+ Object.keys(e).forEach((a) => {
+ typeof e[a] == 'object' && (t[a] === void 0 || typeof t[a] == 'object')
+ ? (t[a] === void 0 && (t[a] = Array.isArray(e[a]) ? [] : {}),
+ (t[a] = UC(t[a], e[a], { depth: r - 1, clobber: n })))
+ : (n || (typeof t[a] != 'object' && typeof e[a] != 'object')) && (t[a] = e[a]);
+ }),
+ t);
+ }, 'assignWithDepth')),
+ (On = UC);
+ });
+ var Hb,
+ nz,
+ iz = R(() => {
+ 'use strict';
+ (Hb = {
+ min: { r: 0, g: 0, b: 0, s: 0, l: 0, a: 0 },
+ max: { r: 255, g: 255, b: 255, h: 360, s: 100, l: 100, a: 1 },
+ clamp: {
+ r: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'r'),
+ g: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'g'),
+ b: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'b'),
+ h: o((t) => t % 360, 'h'),
+ s: o((t) => (t >= 100 ? 100 : t < 0 ? 0 : t), 's'),
+ l: o((t) => (t >= 100 ? 100 : t < 0 ? 0 : t), 'l'),
+ a: o((t) => (t >= 1 ? 1 : t < 0 ? 0 : t), 'a')
+ },
+ toLinear: o((t) => {
+ let e = t / 255;
+ return t > 0.03928 ? Math.pow((e + 0.055) / 1.055, 2.4) : e / 12.92;
+ }, 'toLinear'),
+ hue2rgb: o(
+ (t, e, r) => (
+ r < 0 && (r += 1),
+ r > 1 && (r -= 1),
+ r < 0.16666666666666666
+ ? t + (e - t) * 6 * r
+ : r < 0.5
+ ? e
+ : r < 0.6666666666666666
+ ? t + (e - t) * (0.6666666666666666 - r) * 6
+ : t
+ ),
+ 'hue2rgb'
+ ),
+ hsl2rgb: o(({ h: t, s: e, l: r }, n) => {
+ if (!e) return r * 2.55;
+ (t /= 360), (e /= 100), (r /= 100);
+ let i = r < 0.5 ? r * (1 + e) : r + e - r * e,
+ a = 2 * r - i;
+ switch (n) {
+ case 'r':
+ return Hb.hue2rgb(a, i, t + 0.3333333333333333) * 255;
+ case 'g':
+ return Hb.hue2rgb(a, i, t) * 255;
+ case 'b':
+ return Hb.hue2rgb(a, i, t - 0.3333333333333333) * 255;
+ }
+ }, 'hsl2rgb'),
+ rgb2hsl: o(({ r: t, g: e, b: r }, n) => {
+ (t /= 255), (e /= 255), (r /= 255);
+ let i = Math.max(t, e, r),
+ a = Math.min(t, e, r),
+ s = (i + a) / 2;
+ if (n === 'l') return s * 100;
+ if (i === a) return 0;
+ let l = i - a,
+ u = s > 0.5 ? l / (2 - i - a) : l / (i + a);
+ if (n === 's') return u * 100;
+ switch (i) {
+ case t:
+ return ((e - r) / l + (e < r ? 6 : 0)) * 60;
+ case e:
+ return ((r - t) / l + 2) * 60;
+ case r:
+ return ((t - e) / l + 4) * 60;
+ default:
+ return -1;
+ }
+ }, 'rgb2hsl')
+ }),
+ (nz = Hb);
+ });
+ var h2e,
+ az,
+ sz = R(() => {
+ 'use strict';
+ (h2e = {
+ clamp: o((t, e, r) => (e > r ? Math.min(e, Math.max(r, t)) : Math.min(r, Math.max(e, t))), 'clamp'),
+ round: o((t) => Math.round(t * 1e10) / 1e10, 'round')
+ }),
+ (az = h2e);
+ });
+ var f2e,
+ oz,
+ lz = R(() => {
+ 'use strict';
+ (f2e = {
+ dec2hex: o((t) => {
+ let e = Math.round(t).toString(16);
+ return e.length > 1 ? e : `0${e}`;
+ }, 'dec2hex')
+ }),
+ (oz = f2e);
+ });
+ var d2e,
+ Bt,
+ jl = R(() => {
+ 'use strict';
+ iz();
+ sz();
+ lz();
+ (d2e = { channel: nz, lang: az, unit: oz }), (Bt = d2e);
+ });
+ var Jc,
+ Li,
+ H1 = R(() => {
+ 'use strict';
+ jl();
+ Jc = {};
+ for (let t = 0; t <= 255; t++) Jc[t] = Bt.unit.dec2hex(t);
+ Li = { ALL: 0, RGB: 1, HSL: 2 };
+ });
+ var HC,
+ cz,
+ uz = R(() => {
+ 'use strict';
+ H1();
+ (HC = class {
+ static {
+ o(this, 'Type');
+ }
+ constructor() {
+ this.type = Li.ALL;
+ }
+ get() {
+ return this.type;
+ }
+ set(e) {
+ if (this.type && this.type !== e)
+ throw new Error('Cannot change both RGB and HSL channels at the same time');
+ this.type = e;
+ }
+ reset() {
+ this.type = Li.ALL;
+ }
+ is(e) {
+ return this.type === e;
+ }
+ }),
+ (cz = HC);
+ });
+ var YC,
+ hz,
+ fz = R(() => {
+ 'use strict';
+ jl();
+ uz();
+ H1();
+ (YC = class {
+ static {
+ o(this, 'Channels');
+ }
+ constructor(e, r) {
+ (this.color = r), (this.changed = !1), (this.data = e), (this.type = new cz());
+ }
+ set(e, r) {
+ return (this.color = r), (this.changed = !1), (this.data = e), (this.type.type = Li.ALL), this;
+ }
+ _ensureHSL() {
+ let e = this.data,
+ { h: r, s: n, l: i } = e;
+ r === void 0 && (e.h = Bt.channel.rgb2hsl(e, 'h')),
+ n === void 0 && (e.s = Bt.channel.rgb2hsl(e, 's')),
+ i === void 0 && (e.l = Bt.channel.rgb2hsl(e, 'l'));
+ }
+ _ensureRGB() {
+ let e = this.data,
+ { r, g: n, b: i } = e;
+ r === void 0 && (e.r = Bt.channel.hsl2rgb(e, 'r')),
+ n === void 0 && (e.g = Bt.channel.hsl2rgb(e, 'g')),
+ i === void 0 && (e.b = Bt.channel.hsl2rgb(e, 'b'));
+ }
+ get r() {
+ let e = this.data,
+ r = e.r;
+ return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'r'));
+ }
+ get g() {
+ let e = this.data,
+ r = e.g;
+ return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'g'));
+ }
+ get b() {
+ let e = this.data,
+ r = e.b;
+ return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'b'));
+ }
+ get h() {
+ let e = this.data,
+ r = e.h;
+ return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 'h'));
+ }
+ get s() {
+ let e = this.data,
+ r = e.s;
+ return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 's'));
+ }
+ get l() {
+ let e = this.data,
+ r = e.l;
+ return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 'l'));
+ }
+ get a() {
+ return this.data.a;
+ }
+ set r(e) {
+ this.type.set(Li.RGB), (this.changed = !0), (this.data.r = e);
+ }
+ set g(e) {
+ this.type.set(Li.RGB), (this.changed = !0), (this.data.g = e);
+ }
+ set b(e) {
+ this.type.set(Li.RGB), (this.changed = !0), (this.data.b = e);
+ }
+ set h(e) {
+ this.type.set(Li.HSL), (this.changed = !0), (this.data.h = e);
+ }
+ set s(e) {
+ this.type.set(Li.HSL), (this.changed = !0), (this.data.s = e);
+ }
+ set l(e) {
+ this.type.set(Li.HSL), (this.changed = !0), (this.data.l = e);
+ }
+ set a(e) {
+ (this.changed = !0), (this.data.a = e);
+ }
+ }),
+ (hz = YC);
+ });
+ var p2e,
+ oh,
+ Y1 = R(() => {
+ 'use strict';
+ fz();
+ (p2e = new hz({ r: 0, g: 0, b: 0, a: 0 }, 'transparent')), (oh = p2e);
+ });
+ var dz,
+ Yf,
+ WC = R(() => {
+ 'use strict';
+ Y1();
+ H1();
+ (dz = {
+ re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,
+ parse: o((t) => {
+ if (t.charCodeAt(0) !== 35) return;
+ let e = t.match(dz.re);
+ if (!e) return;
+ let r = e[1],
+ n = parseInt(r, 16),
+ i = r.length,
+ a = i % 4 === 0,
+ s = i > 4,
+ l = s ? 1 : 17,
+ u = s ? 8 : 4,
+ h = a ? 0 : -1,
+ f = s ? 255 : 15;
+ return oh.set(
+ {
+ r: ((n >> (u * (h + 3))) & f) * l,
+ g: ((n >> (u * (h + 2))) & f) * l,
+ b: ((n >> (u * (h + 1))) & f) * l,
+ a: a ? ((n & f) * l) / 255 : 1
+ },
+ t
+ );
+ }, 'parse'),
+ stringify: o((t) => {
+ let { r: e, g: r, b: n, a: i } = t;
+ return i < 1
+ ? `#${Jc[Math.round(e)]}${Jc[Math.round(r)]}${Jc[Math.round(n)]}${Jc[Math.round(i * 255)]}`
+ : `#${Jc[Math.round(e)]}${Jc[Math.round(r)]}${Jc[Math.round(n)]}`;
+ }, 'stringify')
+ }),
+ (Yf = dz);
+ });
+ var Yb,
+ W1,
+ pz = R(() => {
+ 'use strict';
+ jl();
+ Y1();
+ (Yb = {
+ re: /^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,
+ hueRe: /^(.+?)(deg|grad|rad|turn)$/i,
+ _hue2deg: o((t) => {
+ let e = t.match(Yb.hueRe);
+ if (e) {
+ let [, r, n] = e;
+ switch (n) {
+ case 'grad':
+ return Bt.channel.clamp.h(parseFloat(r) * 0.9);
+ case 'rad':
+ return Bt.channel.clamp.h((parseFloat(r) * 180) / Math.PI);
+ case 'turn':
+ return Bt.channel.clamp.h(parseFloat(r) * 360);
+ }
+ }
+ return Bt.channel.clamp.h(parseFloat(t));
+ }, '_hue2deg'),
+ parse: o((t) => {
+ let e = t.charCodeAt(0);
+ if (e !== 104 && e !== 72) return;
+ let r = t.match(Yb.re);
+ if (!r) return;
+ let [, n, i, a, s, l] = r;
+ return oh.set(
+ {
+ h: Yb._hue2deg(n),
+ s: Bt.channel.clamp.s(parseFloat(i)),
+ l: Bt.channel.clamp.l(parseFloat(a)),
+ a: s ? Bt.channel.clamp.a(l ? parseFloat(s) / 100 : parseFloat(s)) : 1
+ },
+ t
+ );
+ }, 'parse'),
+ stringify: o((t) => {
+ let { h: e, s: r, l: n, a: i } = t;
+ return i < 1
+ ? `hsla(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%, ${i})`
+ : `hsl(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%)`;
+ }, 'stringify')
+ }),
+ (W1 = Yb);
+ });
+ var Wb,
+ qC,
+ mz = R(() => {
+ 'use strict';
+ WC();
+ (Wb = {
+ colors: {
+ aliceblue: '#f0f8ff',
+ antiquewhite: '#faebd7',
+ aqua: '#00ffff',
+ aquamarine: '#7fffd4',
+ azure: '#f0ffff',
+ beige: '#f5f5dc',
+ bisque: '#ffe4c4',
+ black: '#000000',
+ blanchedalmond: '#ffebcd',
+ blue: '#0000ff',
+ blueviolet: '#8a2be2',
+ brown: '#a52a2a',
+ burlywood: '#deb887',
+ cadetblue: '#5f9ea0',
+ chartreuse: '#7fff00',
+ chocolate: '#d2691e',
+ coral: '#ff7f50',
+ cornflowerblue: '#6495ed',
+ cornsilk: '#fff8dc',
+ crimson: '#dc143c',
+ cyanaqua: '#00ffff',
+ darkblue: '#00008b',
+ darkcyan: '#008b8b',
+ darkgoldenrod: '#b8860b',
+ darkgray: '#a9a9a9',
+ darkgreen: '#006400',
+ darkgrey: '#a9a9a9',
+ darkkhaki: '#bdb76b',
+ darkmagenta: '#8b008b',
+ darkolivegreen: '#556b2f',
+ darkorange: '#ff8c00',
+ darkorchid: '#9932cc',
+ darkred: '#8b0000',
+ darksalmon: '#e9967a',
+ darkseagreen: '#8fbc8f',
+ darkslateblue: '#483d8b',
+ darkslategray: '#2f4f4f',
+ darkslategrey: '#2f4f4f',
+ darkturquoise: '#00ced1',
+ darkviolet: '#9400d3',
+ deeppink: '#ff1493',
+ deepskyblue: '#00bfff',
+ dimgray: '#696969',
+ dimgrey: '#696969',
+ dodgerblue: '#1e90ff',
+ firebrick: '#b22222',
+ floralwhite: '#fffaf0',
+ forestgreen: '#228b22',
+ fuchsia: '#ff00ff',
+ gainsboro: '#dcdcdc',
+ ghostwhite: '#f8f8ff',
+ gold: '#ffd700',
+ goldenrod: '#daa520',
+ gray: '#808080',
+ green: '#008000',
+ greenyellow: '#adff2f',
+ grey: '#808080',
+ honeydew: '#f0fff0',
+ hotpink: '#ff69b4',
+ indianred: '#cd5c5c',
+ indigo: '#4b0082',
+ ivory: '#fffff0',
+ khaki: '#f0e68c',
+ lavender: '#e6e6fa',
+ lavenderblush: '#fff0f5',
+ lawngreen: '#7cfc00',
+ lemonchiffon: '#fffacd',
+ lightblue: '#add8e6',
+ lightcoral: '#f08080',
+ lightcyan: '#e0ffff',
+ lightgoldenrodyellow: '#fafad2',
+ lightgray: '#d3d3d3',
+ lightgreen: '#90ee90',
+ lightgrey: '#d3d3d3',
+ lightpink: '#ffb6c1',
+ lightsalmon: '#ffa07a',
+ lightseagreen: '#20b2aa',
+ lightskyblue: '#87cefa',
+ lightslategray: '#778899',
+ lightslategrey: '#778899',
+ lightsteelblue: '#b0c4de',
+ lightyellow: '#ffffe0',
+ lime: '#00ff00',
+ limegreen: '#32cd32',
+ linen: '#faf0e6',
+ magenta: '#ff00ff',
+ maroon: '#800000',
+ mediumaquamarine: '#66cdaa',
+ mediumblue: '#0000cd',
+ mediumorchid: '#ba55d3',
+ mediumpurple: '#9370db',
+ mediumseagreen: '#3cb371',
+ mediumslateblue: '#7b68ee',
+ mediumspringgreen: '#00fa9a',
+ mediumturquoise: '#48d1cc',
+ mediumvioletred: '#c71585',
+ midnightblue: '#191970',
+ mintcream: '#f5fffa',
+ mistyrose: '#ffe4e1',
+ moccasin: '#ffe4b5',
+ navajowhite: '#ffdead',
+ navy: '#000080',
+ oldlace: '#fdf5e6',
+ olive: '#808000',
+ olivedrab: '#6b8e23',
+ orange: '#ffa500',
+ orangered: '#ff4500',
+ orchid: '#da70d6',
+ palegoldenrod: '#eee8aa',
+ palegreen: '#98fb98',
+ paleturquoise: '#afeeee',
+ palevioletred: '#db7093',
+ papayawhip: '#ffefd5',
+ peachpuff: '#ffdab9',
+ peru: '#cd853f',
+ pink: '#ffc0cb',
+ plum: '#dda0dd',
+ powderblue: '#b0e0e6',
+ purple: '#800080',
+ rebeccapurple: '#663399',
+ red: '#ff0000',
+ rosybrown: '#bc8f8f',
+ royalblue: '#4169e1',
+ saddlebrown: '#8b4513',
+ salmon: '#fa8072',
+ sandybrown: '#f4a460',
+ seagreen: '#2e8b57',
+ seashell: '#fff5ee',
+ sienna: '#a0522d',
+ silver: '#c0c0c0',
+ skyblue: '#87ceeb',
+ slateblue: '#6a5acd',
+ slategray: '#708090',
+ slategrey: '#708090',
+ snow: '#fffafa',
+ springgreen: '#00ff7f',
+ tan: '#d2b48c',
+ teal: '#008080',
+ thistle: '#d8bfd8',
+ transparent: '#00000000',
+ turquoise: '#40e0d0',
+ violet: '#ee82ee',
+ wheat: '#f5deb3',
+ white: '#ffffff',
+ whitesmoke: '#f5f5f5',
+ yellow: '#ffff00',
+ yellowgreen: '#9acd32'
+ },
+ parse: o((t) => {
+ t = t.toLowerCase();
+ let e = Wb.colors[t];
+ if (e) return Yf.parse(e);
+ }, 'parse'),
+ stringify: o((t) => {
+ let e = Yf.stringify(t);
+ for (let r in Wb.colors) if (Wb.colors[r] === e) return r;
+ }, 'stringify')
+ }),
+ (qC = Wb);
+ });
+ var gz,
+ q1,
+ yz = R(() => {
+ 'use strict';
+ jl();
+ Y1();
+ (gz = {
+ re: /^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,
+ parse: o((t) => {
+ let e = t.charCodeAt(0);
+ if (e !== 114 && e !== 82) return;
+ let r = t.match(gz.re);
+ if (!r) return;
+ let [, n, i, a, s, l, u, h, f] = r;
+ return oh.set(
+ {
+ r: Bt.channel.clamp.r(i ? parseFloat(n) * 2.55 : parseFloat(n)),
+ g: Bt.channel.clamp.g(s ? parseFloat(a) * 2.55 : parseFloat(a)),
+ b: Bt.channel.clamp.b(u ? parseFloat(l) * 2.55 : parseFloat(l)),
+ a: h ? Bt.channel.clamp.a(f ? parseFloat(h) / 100 : parseFloat(h)) : 1
+ },
+ t
+ );
+ }, 'parse'),
+ stringify: o((t) => {
+ let { r: e, g: r, b: n, a: i } = t;
+ return i < 1
+ ? `rgba(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)}, ${Bt.lang.round(i)})`
+ : `rgb(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)})`;
+ }, 'stringify')
+ }),
+ (q1 = gz);
+ });
+ var m2e,
+ Di,
+ eu = R(() => {
+ 'use strict';
+ WC();
+ pz();
+ mz();
+ yz();
+ H1();
+ (m2e = {
+ format: { keyword: qC, hex: Yf, rgb: q1, rgba: q1, hsl: W1, hsla: W1 },
+ parse: o((t) => {
+ if (typeof t != 'string') return t;
+ let e = Yf.parse(t) || q1.parse(t) || W1.parse(t) || qC.parse(t);
+ if (e) return e;
+ throw new Error(`Unsupported color format: "${t}"`);
+ }, 'parse'),
+ stringify: o(
+ (t) =>
+ !t.changed && t.color
+ ? t.color
+ : t.type.is(Li.HSL) || t.data.r === void 0
+ ? W1.stringify(t)
+ : t.a < 1 || !Number.isInteger(t.r) || !Number.isInteger(t.g) || !Number.isInteger(t.b)
+ ? q1.stringify(t)
+ : Yf.stringify(t),
+ 'stringify'
+ )
+ }),
+ (Di = m2e);
+ });
+ var g2e,
+ qb,
+ XC = R(() => {
+ 'use strict';
+ jl();
+ eu();
+ (g2e = o((t, e) => {
+ let r = Di.parse(t);
+ for (let n in e) r[n] = Bt.channel.clamp[n](e[n]);
+ return Di.stringify(r);
+ }, 'change')),
+ (qb = g2e);
+ });
+ var y2e,
+ Ws,
+ jC = R(() => {
+ 'use strict';
+ jl();
+ Y1();
+ eu();
+ XC();
+ (y2e = o((t, e, r = 0, n = 1) => {
+ if (typeof t != 'number') return qb(t, { a: e });
+ let i = oh.set({
+ r: Bt.channel.clamp.r(t),
+ g: Bt.channel.clamp.g(e),
+ b: Bt.channel.clamp.b(r),
+ a: Bt.channel.clamp.a(n)
+ });
+ return Di.stringify(i);
+ }, 'rgba')),
+ (Ws = y2e);
+ });
+ var v2e,
+ X1,
+ vz = R(() => {
+ 'use strict';
+ jl();
+ eu();
+ (v2e = o((t, e) => Bt.lang.round(Di.parse(t)[e]), 'channel')), (X1 = v2e);
+ });
+ var x2e,
+ xz,
+ bz = R(() => {
+ 'use strict';
+ jl();
+ eu();
+ (x2e = o((t) => {
+ let { r: e, g: r, b: n } = Di.parse(t),
+ i =
+ 0.2126 * Bt.channel.toLinear(e) +
+ 0.7152 * Bt.channel.toLinear(r) +
+ 0.0722 * Bt.channel.toLinear(n);
+ return Bt.lang.round(i);
+ }, 'luminance')),
+ (xz = x2e);
+ });
+ var b2e,
+ wz,
+ Tz = R(() => {
+ 'use strict';
+ bz();
+ (b2e = o((t) => xz(t) >= 0.5, 'isLight')), (wz = b2e);
+ });
+ var w2e,
+ Wa,
+ kz = R(() => {
+ 'use strict';
+ Tz();
+ (w2e = o((t) => !wz(t), 'isDark')), (Wa = w2e);
+ });
+ var T2e,
+ Xb,
+ KC = R(() => {
+ 'use strict';
+ jl();
+ eu();
+ (T2e = o((t, e, r) => {
+ let n = Di.parse(t),
+ i = n[e],
+ a = Bt.channel.clamp[e](i + r);
+ return i !== a && (n[e] = a), Di.stringify(n);
+ }, 'adjustChannel')),
+ (Xb = T2e);
+ });
+ var k2e,
+ Et,
+ Ez = R(() => {
+ 'use strict';
+ KC();
+ (k2e = o((t, e) => Xb(t, 'l', e), 'lighten')), (Et = k2e);
+ });
+ var E2e,
+ Dt,
+ Cz = R(() => {
+ 'use strict';
+ KC();
+ (E2e = o((t, e) => Xb(t, 'l', -e), 'darken')), (Dt = E2e);
+ });
+ var C2e,
+ Oe,
+ Sz = R(() => {
+ 'use strict';
+ eu();
+ XC();
+ (C2e = o((t, e) => {
+ let r = Di.parse(t),
+ n = {};
+ for (let i in e) e[i] && (n[i] = r[i] + e[i]);
+ return qb(t, n);
+ }, 'adjust')),
+ (Oe = C2e);
+ });
+ var S2e,
+ Az,
+ _z = R(() => {
+ 'use strict';
+ eu();
+ jC();
+ (S2e = o((t, e, r = 50) => {
+ let { r: n, g: i, b: a, a: s } = Di.parse(t),
+ { r: l, g: u, b: h, a: f } = Di.parse(e),
+ d = r / 100,
+ p = d * 2 - 1,
+ m = s - f,
+ y = ((p * m === -1 ? p : (p + m) / (1 + p * m)) + 1) / 2,
+ v = 1 - y,
+ x = n * y + l * v,
+ b = i * y + u * v,
+ w = a * y + h * v,
+ S = s * d + f * (1 - d);
+ return Ws(x, b, w, S);
+ }, 'mix')),
+ (Az = S2e);
+ });
+ var A2e,
+ ot,
+ Lz = R(() => {
+ 'use strict';
+ eu();
+ _z();
+ (A2e = o((t, e = 100) => {
+ let r = Di.parse(t);
+ return (r.r = 255 - r.r), (r.g = 255 - r.g), (r.b = 255 - r.b), Az(r, t, e);
+ }, 'invert')),
+ (ot = A2e);
+ });
+ var Dz = R(() => {
+ 'use strict';
+ jC();
+ vz();
+ kz();
+ Ez();
+ Cz();
+ Sz();
+ Lz();
+ });
+ var al = R(() => {
+ 'use strict';
+ Dz();
+ });
+ var lh,
+ ch,
+ j1 = R(() => {
+ 'use strict';
+ (lh = '#ffffff'), (ch = '#f2f2f2');
+ });
+ var yi,
+ up = R(() => {
+ 'use strict';
+ al();
+ yi = o((t, e) => (e ? Oe(t, { s: -40, l: 10 }) : Oe(t, { s: -40, l: -10 })), 'mkBorder');
+ });
+ var QC,
+ Nz,
+ Mz = R(() => {
+ 'use strict';
+ al();
+ j1();
+ up();
+ (QC = class {
+ static {
+ o(this, 'Theme');
+ }
+ constructor() {
+ (this.background = '#f4f4f4'),
+ (this.primaryColor = '#fff4dd'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = '#333'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px');
+ }
+ updateColors() {
+ if (
+ ((this.primaryTextColor = this.primaryTextColor || (this.darkMode ? '#eee' : '#333')),
+ (this.secondaryColor = this.secondaryColor || Oe(this.primaryColor, { h: -120 })),
+ (this.tertiaryColor = this.tertiaryColor || Oe(this.primaryColor, { h: 180, l: 5 })),
+ (this.primaryBorderColor = this.primaryBorderColor || yi(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor =
+ this.secondaryBorderColor || yi(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = this.tertiaryBorderColor || yi(this.tertiaryColor, this.darkMode)),
+ (this.noteBorderColor = this.noteBorderColor || yi(this.noteBkgColor, this.darkMode)),
+ (this.noteBkgColor = this.noteBkgColor || '#fff5ad'),
+ (this.noteTextColor = this.noteTextColor || '#333'),
+ (this.secondaryTextColor = this.secondaryTextColor || ot(this.secondaryColor)),
+ (this.tertiaryTextColor = this.tertiaryTextColor || ot(this.tertiaryColor)),
+ (this.lineColor = this.lineColor || ot(this.background)),
+ (this.arrowheadColor = this.arrowheadColor || ot(this.background)),
+ (this.textColor = this.textColor || this.primaryTextColor),
+ (this.border2 = this.border2 || this.tertiaryBorderColor),
+ (this.nodeBkg = this.nodeBkg || this.primaryColor),
+ (this.mainBkg = this.mainBkg || this.primaryColor),
+ (this.nodeBorder = this.nodeBorder || this.primaryBorderColor),
+ (this.clusterBkg = this.clusterBkg || this.tertiaryColor),
+ (this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor),
+ (this.defaultLinkColor = this.defaultLinkColor || this.lineColor),
+ (this.titleColor = this.titleColor || this.tertiaryTextColor),
+ (this.edgeLabelBackground =
+ this.edgeLabelBackground ||
+ (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)),
+ (this.nodeTextColor = this.nodeTextColor || this.primaryTextColor),
+ (this.actorBorder = this.actorBorder || this.primaryBorderColor),
+ (this.actorBkg = this.actorBkg || this.mainBkg),
+ (this.actorTextColor = this.actorTextColor || this.primaryTextColor),
+ (this.actorLineColor = this.actorLineColor || this.actorBorder),
+ (this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg),
+ (this.signalColor = this.signalColor || this.textColor),
+ (this.signalTextColor = this.signalTextColor || this.textColor),
+ (this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder),
+ (this.labelTextColor = this.labelTextColor || this.actorTextColor),
+ (this.loopTextColor = this.loopTextColor || this.actorTextColor),
+ (this.activationBorderColor = this.activationBorderColor || Dt(this.secondaryColor, 10)),
+ (this.activationBkgColor = this.activationBkgColor || this.secondaryColor),
+ (this.sequenceNumberColor = this.sequenceNumberColor || ot(this.lineColor)),
+ (this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor),
+ (this.altSectionBkgColor = this.altSectionBkgColor || 'white'),
+ (this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor),
+ (this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor),
+ (this.excludeBkgColor = this.excludeBkgColor || '#eeeeee'),
+ (this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor),
+ (this.taskBkgColor = this.taskBkgColor || this.primaryColor),
+ (this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor),
+ (this.activeTaskBkgColor = this.activeTaskBkgColor || Et(this.primaryColor, 23)),
+ (this.gridColor = this.gridColor || 'lightgrey'),
+ (this.doneTaskBkgColor = this.doneTaskBkgColor || 'lightgrey'),
+ (this.doneTaskBorderColor = this.doneTaskBorderColor || 'grey'),
+ (this.critBorderColor = this.critBorderColor || '#ff8888'),
+ (this.critBkgColor = this.critBkgColor || 'red'),
+ (this.todayLineColor = this.todayLineColor || 'red'),
+ (this.taskTextColor = this.taskTextColor || this.textColor),
+ (this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor),
+ (this.taskTextLightColor = this.taskTextLightColor || this.textColor),
+ (this.taskTextColor = this.taskTextColor || this.primaryTextColor),
+ (this.taskTextDarkColor = this.taskTextDarkColor || this.textColor),
+ (this.taskTextClickableColor = this.taskTextClickableColor || '#003163'),
+ (this.personBorder = this.personBorder || this.primaryBorderColor),
+ (this.personBkg = this.personBkg || this.mainBkg),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || this.tertiaryColor),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.nodeBorder),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.specialStateColor = this.lineColor),
+ (this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210, l: 150 })),
+ (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })),
+ this.darkMode)
+ )
+ for (let r = 0; r < this.THEME_COLOR_LIMIT; r++)
+ this['cScale' + r] = Dt(this['cScale' + r], 75);
+ else
+ for (let r = 0; r < this.THEME_COLOR_LIMIT; r++)
+ this['cScale' + r] = Dt(this['cScale' + r], 25);
+ for (let r = 0; r < this.THEME_COLOR_LIMIT; r++)
+ this['cScaleInv' + r] = this['cScaleInv' + r] || ot(this['cScale' + r]);
+ for (let r = 0; r < this.THEME_COLOR_LIMIT; r++)
+ this.darkMode
+ ? (this['cScalePeer' + r] = this['cScalePeer' + r] || Et(this['cScale' + r], 10))
+ : (this['cScalePeer' + r] = this['cScalePeer' + r] || Dt(this['cScale' + r], 10));
+ this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;
+ for (let r = 0; r < this.THEME_COLOR_LIMIT; r++)
+ this['cScaleLabel' + r] = this['cScaleLabel' + r] || this.scaleLabelColor;
+ let e = this.darkMode ? -4 : -1;
+ for (let r = 0; r < 5; r++)
+ (this['surface' + r] =
+ this['surface' + r] || Oe(this.mainBkg, { h: 180, s: -15, l: e * (5 + r * 3) })),
+ (this['surfacePeer' + r] =
+ this['surfacePeer' + r] || Oe(this.mainBkg, { h: 180, s: -15, l: e * (8 + r * 3) }));
+ (this.classText = this.classText || this.textColor),
+ (this.fillType0 = this.fillType0 || this.primaryColor),
+ (this.fillType1 = this.fillType1 || this.secondaryColor),
+ (this.fillType2 = this.fillType2 || Oe(this.primaryColor, { h: 64 })),
+ (this.fillType3 = this.fillType3 || Oe(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = this.fillType4 || Oe(this.primaryColor, { h: -64 })),
+ (this.fillType5 = this.fillType5 || Oe(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = this.fillType6 || Oe(this.primaryColor, { h: 128 })),
+ (this.fillType7 = this.fillType7 || Oe(this.secondaryColor, { h: 128 })),
+ (this.pie1 = this.pie1 || this.primaryColor),
+ (this.pie2 = this.pie2 || this.secondaryColor),
+ (this.pie3 = this.pie3 || this.tertiaryColor),
+ (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -10 })),
+ (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -10 })),
+ (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { l: -10 })),
+ (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -10 })),
+ (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -10 })),
+ (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: 0 })),
+ (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -20 })),
+ (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -60, l: -20 })),
+ (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -10 })),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.archEdgeColor = this.archEdgeColor || '#777'),
+ (this.archEdgeArrowColor = this.archEdgeArrowColor || '#777'),
+ (this.archEdgeWidth = this.archEdgeWidth || '3'),
+ (this.archGroupBorderColor = this.archGroupBorderColor || '#000'),
+ (this.archGroupBorderWidth = this.archGroupBorderWidth || '2px'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || Wa(this.quadrant1Fill)
+ ? Et(this.quadrant1Fill)
+ : Dt(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor: this.xyChart?.backgroundColor || this.background,
+ titleColor: this.xyChart?.titleColor || this.primaryTextColor,
+ xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,
+ xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,
+ xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,
+ xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,
+ yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,
+ yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,
+ yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,
+ yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,
+ plotColorPalette:
+ this.xyChart?.plotColorPalette ||
+ '#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0'
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground =
+ this.relationLabelBackground ||
+ (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = this.git0 || this.primaryColor),
+ (this.git1 = this.git1 || this.secondaryColor),
+ (this.git2 = this.git2 || this.tertiaryColor),
+ (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })),
+ (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })),
+ (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })),
+ (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })),
+ (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })),
+ this.darkMode
+ ? ((this.git0 = Et(this.git0, 25)),
+ (this.git1 = Et(this.git1, 25)),
+ (this.git2 = Et(this.git2, 25)),
+ (this.git3 = Et(this.git3, 25)),
+ (this.git4 = Et(this.git4, 25)),
+ (this.git5 = Et(this.git5, 25)),
+ (this.git6 = Et(this.git6, 25)),
+ (this.git7 = Et(this.git7, 25)))
+ : ((this.git0 = Dt(this.git0, 25)),
+ (this.git1 = Dt(this.git1, 25)),
+ (this.git2 = Dt(this.git2, 25)),
+ (this.git3 = Dt(this.git3, 25)),
+ (this.git4 = Dt(this.git4, 25)),
+ (this.git5 = Dt(this.git5, 25)),
+ (this.git6 = Dt(this.git6, 25)),
+ (this.git7 = Dt(this.git7, 25))),
+ (this.gitInv0 = this.gitInv0 || ot(this.git0)),
+ (this.gitInv1 = this.gitInv1 || ot(this.git1)),
+ (this.gitInv2 = this.gitInv2 || ot(this.git2)),
+ (this.gitInv3 = this.gitInv3 || ot(this.git3)),
+ (this.gitInv4 = this.gitInv4 || ot(this.git4)),
+ (this.gitInv5 = this.gitInv5 || ot(this.git5)),
+ (this.gitInv6 = this.gitInv6 || ot(this.git6)),
+ (this.gitInv7 = this.gitInv7 || ot(this.git7)),
+ (this.branchLabelColor =
+ this.branchLabelColor || (this.darkMode ? 'black' : this.labelTextColor)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch);
+ }
+ calculate(e) {
+ if (typeof e != 'object') {
+ this.updateColors();
+ return;
+ }
+ let r = Object.keys(e);
+ r.forEach((n) => {
+ this[n] = e[n];
+ }),
+ this.updateColors(),
+ r.forEach((n) => {
+ this[n] = e[n];
+ });
+ }
+ }),
+ (Nz = o((t) => {
+ let e = new QC();
+ return e.calculate(t), e;
+ }, 'getThemeVariables'));
+ });
+ var ZC,
+ Iz,
+ Oz = R(() => {
+ 'use strict';
+ al();
+ up();
+ (ZC = class {
+ static {
+ o(this, 'Theme');
+ }
+ constructor() {
+ (this.background = '#333'),
+ (this.primaryColor = '#1f2020'),
+ (this.secondaryColor = Et(this.primaryColor, 16)),
+ (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })),
+ (this.primaryBorderColor = ot(this.background)),
+ (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = ot(this.primaryColor)),
+ (this.secondaryTextColor = ot(this.secondaryColor)),
+ (this.tertiaryTextColor = ot(this.tertiaryColor)),
+ (this.lineColor = ot(this.background)),
+ (this.textColor = ot(this.background)),
+ (this.mainBkg = '#1f2020'),
+ (this.secondBkg = 'calculated'),
+ (this.mainContrastColor = 'lightgrey'),
+ (this.darkTextColor = Et(ot('#323D47'), 10)),
+ (this.lineColor = 'calculated'),
+ (this.border1 = '#ccc'),
+ (this.border2 = Ws(255, 255, 255, 0.25)),
+ (this.arrowheadColor = 'calculated'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.labelBackground = '#181818'),
+ (this.textColor = '#ccc'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = '#F9FFFE'),
+ (this.edgeLabelBackground = 'calculated'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'calculated'),
+ (this.actorLineColor = 'calculated'),
+ (this.signalColor = 'calculated'),
+ (this.signalTextColor = 'calculated'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = 'calculated'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = 'calculated'),
+ (this.activationBkgColor = 'calculated'),
+ (this.sequenceNumberColor = 'black'),
+ (this.sectionBkgColor = Dt('#EAE8D9', 30)),
+ (this.altSectionBkgColor = 'calculated'),
+ (this.sectionBkgColor2 = '#EAE8D9'),
+ (this.excludeBkgColor = Dt(this.sectionBkgColor, 10)),
+ (this.taskBorderColor = Ws(255, 255, 255, 70)),
+ (this.taskBkgColor = 'calculated'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextLightColor = 'calculated'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = Ws(255, 255, 255, 50)),
+ (this.activeTaskBkgColor = '#81B1DB'),
+ (this.gridColor = 'calculated'),
+ (this.doneTaskBkgColor = 'calculated'),
+ (this.doneTaskBorderColor = 'grey'),
+ (this.critBorderColor = '#E83737'),
+ (this.critBkgColor = '#E83737'),
+ (this.taskTextDarkColor = 'calculated'),
+ (this.todayLineColor = '#DB5757'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.archEdgeColor = 'calculated'),
+ (this.archEdgeArrowColor = 'calculated'),
+ (this.archEdgeWidth = '3'),
+ (this.archGroupBorderColor = this.primaryBorderColor),
+ (this.archGroupBorderWidth = '2px'),
+ (this.labelColor = 'calculated'),
+ (this.errorBkgColor = '#a44141'),
+ (this.errorTextColor = '#ddd');
+ }
+ updateColors() {
+ (this.secondBkg = Et(this.mainBkg, 16)),
+ (this.lineColor = this.mainContrastColor),
+ (this.arrowheadColor = this.mainContrastColor),
+ (this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.edgeLabelBackground = Et(this.labelBackground, 25)),
+ (this.actorBorder = this.border1),
+ (this.actorBkg = this.mainBkg),
+ (this.actorTextColor = this.mainContrastColor),
+ (this.actorLineColor = this.actorBorder),
+ (this.signalColor = this.mainContrastColor),
+ (this.signalTextColor = this.mainContrastColor),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.labelBoxBorderColor = this.actorBorder),
+ (this.labelTextColor = this.mainContrastColor),
+ (this.loopTextColor = this.mainContrastColor),
+ (this.noteBorderColor = this.secondaryBorderColor),
+ (this.noteBkgColor = this.secondBkg),
+ (this.noteTextColor = this.secondaryTextColor),
+ (this.activationBorderColor = this.border1),
+ (this.activationBkgColor = this.secondBkg),
+ (this.altSectionBkgColor = this.background),
+ (this.taskBkgColor = Et(this.mainBkg, 23)),
+ (this.taskTextColor = this.darkTextColor),
+ (this.taskTextLightColor = this.mainContrastColor),
+ (this.taskTextOutsideColor = this.taskTextLightColor),
+ (this.gridColor = this.mainContrastColor),
+ (this.doneTaskBkgColor = this.mainContrastColor),
+ (this.taskTextDarkColor = this.darkTextColor),
+ (this.archEdgeColor = this.lineColor),
+ (this.archEdgeArrowColor = this.lineColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#555'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.primaryBorderColor),
+ (this.specialStateColor = '#f4f4f4'),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = Oe(this.primaryColor, { h: 64 })),
+ (this.fillType3 = Oe(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = Oe(this.primaryColor, { h: -64 })),
+ (this.fillType5 = Oe(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = Oe(this.primaryColor, { h: 128 })),
+ (this.fillType7 = Oe(this.secondaryColor, { h: 128 })),
+ (this.cScale1 = this.cScale1 || '#0b0000'),
+ (this.cScale2 = this.cScale2 || '#4d1037'),
+ (this.cScale3 = this.cScale3 || '#3f5258'),
+ (this.cScale4 = this.cScale4 || '#4f2f1b'),
+ (this.cScale5 = this.cScale5 || '#6e0a0a'),
+ (this.cScale6 = this.cScale6 || '#3b0048'),
+ (this.cScale7 = this.cScale7 || '#995a01'),
+ (this.cScale8 = this.cScale8 || '#154706'),
+ (this.cScale9 = this.cScale9 || '#161722'),
+ (this.cScale10 = this.cScale10 || '#00296f'),
+ (this.cScale11 = this.cScale11 || '#01629c'),
+ (this.cScale12 = this.cScale12 || '#010029'),
+ (this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })),
+ (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 }));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleInv' + e] = this['cScaleInv' + e] || ot(this['cScale' + e]);
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScalePeer' + e] = this['cScalePeer' + e] || Et(this['cScale' + e], 10);
+ for (let e = 0; e < 5; e++)
+ (this['surface' + e] =
+ this['surface' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(-10 + e * 4) })),
+ (this['surfacePeer' + e] =
+ this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(-7 + e * 4) }));
+ this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor);
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor;
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) this['pie' + e] = this['cScale' + e];
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || Wa(this.quadrant1Fill)
+ ? Et(this.quadrant1Fill)
+ : Dt(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor: this.xyChart?.backgroundColor || this.background,
+ titleColor: this.xyChart?.titleColor || this.primaryTextColor,
+ xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,
+ xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,
+ xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,
+ xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,
+ yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,
+ yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,
+ yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,
+ yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,
+ plotColorPalette:
+ this.xyChart?.plotColorPalette ||
+ '#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22'
+ }),
+ (this.packet = {
+ startByteColor: this.primaryTextColor,
+ endByteColor: this.primaryTextColor,
+ labelColor: this.primaryTextColor,
+ titleColor: this.primaryTextColor,
+ blockStrokeColor: this.primaryTextColor,
+ blockFillColor: this.background
+ }),
+ (this.classText = this.primaryTextColor),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground =
+ this.relationLabelBackground ||
+ (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = Et(this.secondaryColor, 20)),
+ (this.git1 = Et(this.pie2 || this.secondaryColor, 20)),
+ (this.git2 = Et(this.pie3 || this.tertiaryColor, 20)),
+ (this.git3 = Et(this.pie4 || Oe(this.primaryColor, { h: -30 }), 20)),
+ (this.git4 = Et(this.pie5 || Oe(this.primaryColor, { h: -60 }), 20)),
+ (this.git5 = Et(this.pie6 || Oe(this.primaryColor, { h: -90 }), 10)),
+ (this.git6 = Et(this.pie7 || Oe(this.primaryColor, { h: 60 }), 10)),
+ (this.git7 = Et(this.pie8 || Oe(this.primaryColor, { h: 120 }), 20)),
+ (this.gitInv0 = this.gitInv0 || ot(this.git0)),
+ (this.gitInv1 = this.gitInv1 || ot(this.git1)),
+ (this.gitInv2 = this.gitInv2 || ot(this.git2)),
+ (this.gitInv3 = this.gitInv3 || ot(this.git3)),
+ (this.gitInv4 = this.gitInv4 || ot(this.git4)),
+ (this.gitInv5 = this.gitInv5 || ot(this.git5)),
+ (this.gitInv6 = this.gitInv6 || ot(this.git6)),
+ (this.gitInv7 = this.gitInv7 || ot(this.git7)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd =
+ this.attributeBackgroundColorOdd || Et(this.background, 12)),
+ (this.attributeBackgroundColorEven =
+ this.attributeBackgroundColorEven || Et(this.background, 2)),
+ (this.nodeBorder = this.nodeBorder || '#999');
+ }
+ calculate(e) {
+ if (typeof e != 'object') {
+ this.updateColors();
+ return;
+ }
+ let r = Object.keys(e);
+ r.forEach((n) => {
+ this[n] = e[n];
+ }),
+ this.updateColors(),
+ r.forEach((n) => {
+ this[n] = e[n];
+ });
+ }
+ }),
+ (Iz = o((t) => {
+ let e = new ZC();
+ return e.calculate(t), e;
+ }, 'getThemeVariables'));
+ });
+ var JC,
+ hp,
+ jb = R(() => {
+ 'use strict';
+ al();
+ up();
+ j1();
+ (JC = class {
+ static {
+ o(this, 'Theme');
+ }
+ constructor() {
+ (this.background = '#f4f4f4'),
+ (this.primaryColor = '#ECECFF'),
+ (this.secondaryColor = Oe(this.primaryColor, { h: 120 })),
+ (this.secondaryColor = '#ffffde'),
+ (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })),
+ (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = ot(this.primaryColor)),
+ (this.secondaryTextColor = ot(this.secondaryColor)),
+ (this.tertiaryTextColor = ot(this.tertiaryColor)),
+ (this.lineColor = ot(this.background)),
+ (this.textColor = ot(this.background)),
+ (this.background = 'white'),
+ (this.mainBkg = '#ECECFF'),
+ (this.secondBkg = '#ffffde'),
+ (this.lineColor = '#333333'),
+ (this.border1 = '#9370DB'),
+ (this.border2 = '#aaaa33'),
+ (this.arrowheadColor = '#333333'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.labelBackground = 'rgba(232,232,232, 0.8)'),
+ (this.textColor = '#333'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = 'calculated'),
+ (this.edgeLabelBackground = 'calculated'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'black'),
+ (this.actorLineColor = 'calculated'),
+ (this.signalColor = 'calculated'),
+ (this.signalTextColor = 'calculated'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = 'calculated'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = '#666'),
+ (this.activationBkgColor = '#f4f4f4'),
+ (this.sequenceNumberColor = 'white'),
+ (this.sectionBkgColor = 'calculated'),
+ (this.altSectionBkgColor = 'calculated'),
+ (this.sectionBkgColor2 = 'calculated'),
+ (this.excludeBkgColor = '#eeeeee'),
+ (this.taskBorderColor = 'calculated'),
+ (this.taskBkgColor = 'calculated'),
+ (this.taskTextLightColor = 'calculated'),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextDarkColor = 'calculated'),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.taskTextClickableColor = 'calculated'),
+ (this.activeTaskBorderColor = 'calculated'),
+ (this.activeTaskBkgColor = 'calculated'),
+ (this.gridColor = 'calculated'),
+ (this.doneTaskBkgColor = 'calculated'),
+ (this.doneTaskBorderColor = 'calculated'),
+ (this.critBorderColor = 'calculated'),
+ (this.critBkgColor = 'calculated'),
+ (this.todayLineColor = 'calculated'),
+ (this.sectionBkgColor = Ws(102, 102, 255, 0.49)),
+ (this.altSectionBkgColor = 'white'),
+ (this.sectionBkgColor2 = '#fff400'),
+ (this.taskBorderColor = '#534fbc'),
+ (this.taskBkgColor = '#8a90dd'),
+ (this.taskTextLightColor = 'white'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextDarkColor = 'black'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = '#534fbc'),
+ (this.activeTaskBkgColor = '#bfc7ff'),
+ (this.gridColor = 'lightgrey'),
+ (this.doneTaskBkgColor = 'lightgrey'),
+ (this.doneTaskBorderColor = 'grey'),
+ (this.critBorderColor = '#ff8888'),
+ (this.critBkgColor = 'red'),
+ (this.todayLineColor = 'red'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.archEdgeColor = 'calculated'),
+ (this.archEdgeArrowColor = 'calculated'),
+ (this.archEdgeWidth = '3'),
+ (this.archGroupBorderColor = this.primaryBorderColor),
+ (this.archGroupBorderWidth = '2px'),
+ (this.labelColor = 'black'),
+ (this.errorBkgColor = '#552222'),
+ (this.errorTextColor = '#552222'),
+ this.updateColors();
+ }
+ updateColors() {
+ (this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })),
+ (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })),
+ (this.cScalePeer1 = this.cScalePeer1 || Dt(this.secondaryColor, 45)),
+ (this.cScalePeer2 = this.cScalePeer2 || Dt(this.tertiaryColor, 40));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ (this['cScale' + e] = Dt(this['cScale' + e], 10)),
+ (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 25));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleInv' + e] = this['cScaleInv' + e] || Oe(this['cScale' + e], { h: 180 });
+ for (let e = 0; e < 5; e++)
+ (this['surface' + e] = this['surface' + e] || Oe(this.mainBkg, { h: 30, l: -(5 + e * 5) })),
+ (this['surfacePeer' + e] =
+ this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, l: -(7 + e * 5) }));
+ if (
+ ((this.scaleLabelColor =
+ this.scaleLabelColor !== 'calculated' && this.scaleLabelColor
+ ? this.scaleLabelColor
+ : this.labelTextColor),
+ this.labelTextColor !== 'calculated')
+ ) {
+ (this.cScaleLabel0 = this.cScaleLabel0 || ot(this.labelTextColor)),
+ (this.cScaleLabel3 = this.cScaleLabel3 || ot(this.labelTextColor));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.labelTextColor;
+ }
+ (this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.titleColor = this.textColor),
+ (this.edgeLabelBackground = this.labelBackground),
+ (this.actorBorder = Et(this.border1, 23)),
+ (this.actorBkg = this.mainBkg),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.signalColor = this.textColor),
+ (this.signalTextColor = this.textColor),
+ (this.labelBoxBorderColor = this.actorBorder),
+ (this.labelTextColor = this.actorTextColor),
+ (this.loopTextColor = this.actorTextColor),
+ (this.noteBorderColor = this.border2),
+ (this.noteTextColor = this.actorTextColor),
+ (this.actorLineColor = this.actorBorder),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.archEdgeColor = this.lineColor),
+ (this.archEdgeArrowColor = this.lineColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#f0f0f0'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.nodeBorder),
+ (this.specialStateColor = this.lineColor),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.classText = this.primaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = Oe(this.primaryColor, { h: 64 })),
+ (this.fillType3 = Oe(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = Oe(this.primaryColor, { h: -64 })),
+ (this.fillType5 = Oe(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = Oe(this.primaryColor, { h: 128 })),
+ (this.fillType7 = Oe(this.secondaryColor, { h: 128 })),
+ (this.pie1 = this.pie1 || this.primaryColor),
+ (this.pie2 = this.pie2 || this.secondaryColor),
+ (this.pie3 = this.pie3 || Oe(this.tertiaryColor, { l: -40 })),
+ (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -10 })),
+ (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -30 })),
+ (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { l: -20 })),
+ (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -20 })),
+ (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -40 })),
+ (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: -40 })),
+ (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -40 })),
+ (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -90, l: -40 })),
+ (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -30 })),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || Wa(this.quadrant1Fill)
+ ? Et(this.quadrant1Fill)
+ : Dt(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor: this.xyChart?.backgroundColor || this.background,
+ titleColor: this.xyChart?.titleColor || this.primaryTextColor,
+ xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,
+ xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,
+ xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,
+ xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,
+ yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,
+ yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,
+ yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,
+ yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,
+ plotColorPalette:
+ this.xyChart?.plotColorPalette ||
+ '#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3'
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground = this.relationLabelBackground || this.labelBackground),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = this.git0 || this.primaryColor),
+ (this.git1 = this.git1 || this.secondaryColor),
+ (this.git2 = this.git2 || this.tertiaryColor),
+ (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })),
+ (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })),
+ (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })),
+ (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })),
+ (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })),
+ this.darkMode
+ ? ((this.git0 = Et(this.git0, 25)),
+ (this.git1 = Et(this.git1, 25)),
+ (this.git2 = Et(this.git2, 25)),
+ (this.git3 = Et(this.git3, 25)),
+ (this.git4 = Et(this.git4, 25)),
+ (this.git5 = Et(this.git5, 25)),
+ (this.git6 = Et(this.git6, 25)),
+ (this.git7 = Et(this.git7, 25)))
+ : ((this.git0 = Dt(this.git0, 25)),
+ (this.git1 = Dt(this.git1, 25)),
+ (this.git2 = Dt(this.git2, 25)),
+ (this.git3 = Dt(this.git3, 25)),
+ (this.git4 = Dt(this.git4, 25)),
+ (this.git5 = Dt(this.git5, 25)),
+ (this.git6 = Dt(this.git6, 25)),
+ (this.git7 = Dt(this.git7, 25))),
+ (this.gitInv0 = this.gitInv0 || Dt(ot(this.git0), 25)),
+ (this.gitInv1 = this.gitInv1 || ot(this.git1)),
+ (this.gitInv2 = this.gitInv2 || ot(this.git2)),
+ (this.gitInv3 = this.gitInv3 || ot(this.git3)),
+ (this.gitInv4 = this.gitInv4 || ot(this.git4)),
+ (this.gitInv5 = this.gitInv5 || ot(this.git5)),
+ (this.gitInv6 = this.gitInv6 || ot(this.git6)),
+ (this.gitInv7 = this.gitInv7 || ot(this.git7)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch);
+ }
+ calculate(e) {
+ if (typeof e != 'object') {
+ this.updateColors();
+ return;
+ }
+ let r = Object.keys(e);
+ r.forEach((n) => {
+ this[n] = e[n];
+ }),
+ this.updateColors(),
+ r.forEach((n) => {
+ this[n] = e[n];
+ });
+ }
+ }),
+ (hp = o((t) => {
+ let e = new JC();
+ return e.calculate(t), e;
+ }, 'getThemeVariables'));
+ });
+ var e7,
+ Pz,
+ Bz = R(() => {
+ 'use strict';
+ al();
+ j1();
+ up();
+ (e7 = class {
+ static {
+ o(this, 'Theme');
+ }
+ constructor() {
+ (this.background = '#f4f4f4'),
+ (this.primaryColor = '#cde498'),
+ (this.secondaryColor = '#cdffb2'),
+ (this.background = 'white'),
+ (this.mainBkg = '#cde498'),
+ (this.secondBkg = '#cdffb2'),
+ (this.lineColor = 'green'),
+ (this.border1 = '#13540c'),
+ (this.border2 = '#6eaa49'),
+ (this.arrowheadColor = 'green'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.tertiaryColor = Et('#cde498', 10)),
+ (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = ot(this.primaryColor)),
+ (this.secondaryTextColor = ot(this.secondaryColor)),
+ (this.tertiaryTextColor = ot(this.primaryColor)),
+ (this.lineColor = ot(this.background)),
+ (this.textColor = ot(this.background)),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = '#333'),
+ (this.edgeLabelBackground = '#e8e8e8'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'black'),
+ (this.actorLineColor = 'calculated'),
+ (this.signalColor = '#333'),
+ (this.signalTextColor = '#333'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = '#326932'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = '#666'),
+ (this.activationBkgColor = '#f4f4f4'),
+ (this.sequenceNumberColor = 'white'),
+ (this.sectionBkgColor = '#6eaa49'),
+ (this.altSectionBkgColor = 'white'),
+ (this.sectionBkgColor2 = '#6eaa49'),
+ (this.excludeBkgColor = '#eeeeee'),
+ (this.taskBorderColor = 'calculated'),
+ (this.taskBkgColor = '#487e3a'),
+ (this.taskTextLightColor = 'white'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextDarkColor = 'black'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = 'calculated'),
+ (this.activeTaskBkgColor = 'calculated'),
+ (this.gridColor = 'lightgrey'),
+ (this.doneTaskBkgColor = 'lightgrey'),
+ (this.doneTaskBorderColor = 'grey'),
+ (this.critBorderColor = '#ff8888'),
+ (this.critBkgColor = 'red'),
+ (this.todayLineColor = 'red'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.archEdgeColor = 'calculated'),
+ (this.archEdgeArrowColor = 'calculated'),
+ (this.archEdgeWidth = '3'),
+ (this.archGroupBorderColor = this.primaryBorderColor),
+ (this.archGroupBorderWidth = '2px'),
+ (this.labelColor = 'black'),
+ (this.errorBkgColor = '#552222'),
+ (this.errorTextColor = '#552222');
+ }
+ updateColors() {
+ (this.actorBorder = Dt(this.mainBkg, 20)),
+ (this.actorBkg = this.mainBkg),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.labelTextColor = this.actorTextColor),
+ (this.loopTextColor = this.actorTextColor),
+ (this.noteBorderColor = this.border2),
+ (this.noteTextColor = this.actorTextColor),
+ (this.actorLineColor = this.actorBorder),
+ (this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })),
+ (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })),
+ (this.cScalePeer1 = this.cScalePeer1 || Dt(this.secondaryColor, 45)),
+ (this.cScalePeer2 = this.cScalePeer2 || Dt(this.tertiaryColor, 40));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ (this['cScale' + e] = Dt(this['cScale' + e], 10)),
+ (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 25));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleInv' + e] = this['cScaleInv' + e] || Oe(this['cScale' + e], { h: 180 });
+ this.scaleLabelColor =
+ this.scaleLabelColor !== 'calculated' && this.scaleLabelColor
+ ? this.scaleLabelColor
+ : this.labelTextColor;
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor;
+ for (let e = 0; e < 5; e++)
+ (this['surface' + e] =
+ this['surface' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(5 + e * 5) })),
+ (this['surfacePeer' + e] =
+ this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(8 + e * 5) }));
+ (this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.taskBorderColor = this.border1),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.activeTaskBorderColor = this.taskBorderColor),
+ (this.activeTaskBkgColor = this.mainBkg),
+ (this.archEdgeColor = this.lineColor),
+ (this.archEdgeArrowColor = this.lineColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#f0f0f0'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.primaryBorderColor),
+ (this.specialStateColor = this.lineColor),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.classText = this.primaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = Oe(this.primaryColor, { h: 64 })),
+ (this.fillType3 = Oe(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = Oe(this.primaryColor, { h: -64 })),
+ (this.fillType5 = Oe(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = Oe(this.primaryColor, { h: 128 })),
+ (this.fillType7 = Oe(this.secondaryColor, { h: 128 })),
+ (this.pie1 = this.pie1 || this.primaryColor),
+ (this.pie2 = this.pie2 || this.secondaryColor),
+ (this.pie3 = this.pie3 || this.tertiaryColor),
+ (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -30 })),
+ (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -30 })),
+ (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { h: 40, l: -40 })),
+ (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -10 })),
+ (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -10 })),
+ (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: 0 })),
+ (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -50 })),
+ (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -60, l: -50 })),
+ (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -50 })),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || Wa(this.quadrant1Fill)
+ ? Et(this.quadrant1Fill)
+ : Dt(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.packet = {
+ startByteColor: this.primaryTextColor,
+ endByteColor: this.primaryTextColor,
+ labelColor: this.primaryTextColor,
+ titleColor: this.primaryTextColor,
+ blockStrokeColor: this.primaryTextColor,
+ blockFillColor: this.mainBkg
+ }),
+ (this.xyChart = {
+ backgroundColor: this.xyChart?.backgroundColor || this.background,
+ titleColor: this.xyChart?.titleColor || this.primaryTextColor,
+ xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,
+ xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,
+ xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,
+ xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,
+ yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,
+ yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,
+ yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,
+ yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,
+ plotColorPalette:
+ this.xyChart?.plotColorPalette ||
+ '#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176'
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = this.git0 || this.primaryColor),
+ (this.git1 = this.git1 || this.secondaryColor),
+ (this.git2 = this.git2 || this.tertiaryColor),
+ (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })),
+ (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })),
+ (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })),
+ (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })),
+ (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })),
+ this.darkMode
+ ? ((this.git0 = Et(this.git0, 25)),
+ (this.git1 = Et(this.git1, 25)),
+ (this.git2 = Et(this.git2, 25)),
+ (this.git3 = Et(this.git3, 25)),
+ (this.git4 = Et(this.git4, 25)),
+ (this.git5 = Et(this.git5, 25)),
+ (this.git6 = Et(this.git6, 25)),
+ (this.git7 = Et(this.git7, 25)))
+ : ((this.git0 = Dt(this.git0, 25)),
+ (this.git1 = Dt(this.git1, 25)),
+ (this.git2 = Dt(this.git2, 25)),
+ (this.git3 = Dt(this.git3, 25)),
+ (this.git4 = Dt(this.git4, 25)),
+ (this.git5 = Dt(this.git5, 25)),
+ (this.git6 = Dt(this.git6, 25)),
+ (this.git7 = Dt(this.git7, 25))),
+ (this.gitInv0 = this.gitInv0 || ot(this.git0)),
+ (this.gitInv1 = this.gitInv1 || ot(this.git1)),
+ (this.gitInv2 = this.gitInv2 || ot(this.git2)),
+ (this.gitInv3 = this.gitInv3 || ot(this.git3)),
+ (this.gitInv4 = this.gitInv4 || ot(this.git4)),
+ (this.gitInv5 = this.gitInv5 || ot(this.git5)),
+ (this.gitInv6 = this.gitInv6 || ot(this.git6)),
+ (this.gitInv7 = this.gitInv7 || ot(this.git7)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch);
+ }
+ calculate(e) {
+ if (typeof e != 'object') {
+ this.updateColors();
+ return;
+ }
+ let r = Object.keys(e);
+ r.forEach((n) => {
+ this[n] = e[n];
+ }),
+ this.updateColors(),
+ r.forEach((n) => {
+ this[n] = e[n];
+ });
+ }
+ }),
+ (Pz = o((t) => {
+ let e = new e7();
+ return e.calculate(t), e;
+ }, 'getThemeVariables'));
+ });
+ var t7,
+ Fz,
+ zz = R(() => {
+ 'use strict';
+ al();
+ up();
+ j1();
+ (t7 = class {
+ static {
+ o(this, 'Theme');
+ }
+ constructor() {
+ (this.primaryColor = '#eee'),
+ (this.contrast = '#707070'),
+ (this.secondaryColor = Et(this.contrast, 55)),
+ (this.background = '#ffffff'),
+ (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })),
+ (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = ot(this.primaryColor)),
+ (this.secondaryTextColor = ot(this.secondaryColor)),
+ (this.tertiaryTextColor = ot(this.tertiaryColor)),
+ (this.lineColor = ot(this.background)),
+ (this.textColor = ot(this.background)),
+ (this.mainBkg = '#eee'),
+ (this.secondBkg = 'calculated'),
+ (this.lineColor = '#666'),
+ (this.border1 = '#999'),
+ (this.border2 = 'calculated'),
+ (this.note = '#ffa'),
+ (this.text = '#333'),
+ (this.critical = '#d42'),
+ (this.done = '#bbb'),
+ (this.arrowheadColor = '#333333'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = 'calculated'),
+ (this.edgeLabelBackground = 'white'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'calculated'),
+ (this.actorLineColor = this.actorBorder),
+ (this.signalColor = 'calculated'),
+ (this.signalTextColor = 'calculated'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = 'calculated'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = 'calculated'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = '#666'),
+ (this.activationBkgColor = '#f4f4f4'),
+ (this.sequenceNumberColor = 'white'),
+ (this.sectionBkgColor = 'calculated'),
+ (this.altSectionBkgColor = 'white'),
+ (this.sectionBkgColor2 = 'calculated'),
+ (this.excludeBkgColor = '#eeeeee'),
+ (this.taskBorderColor = 'calculated'),
+ (this.taskBkgColor = 'calculated'),
+ (this.taskTextLightColor = 'white'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextDarkColor = 'calculated'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = 'calculated'),
+ (this.activeTaskBkgColor = 'calculated'),
+ (this.gridColor = 'calculated'),
+ (this.doneTaskBkgColor = 'calculated'),
+ (this.doneTaskBorderColor = 'calculated'),
+ (this.critBkgColor = 'calculated'),
+ (this.critBorderColor = 'calculated'),
+ (this.todayLineColor = 'calculated'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.archEdgeColor = 'calculated'),
+ (this.archEdgeArrowColor = 'calculated'),
+ (this.archEdgeWidth = '3'),
+ (this.archGroupBorderColor = this.primaryBorderColor),
+ (this.archGroupBorderWidth = '2px'),
+ (this.labelColor = 'black'),
+ (this.errorBkgColor = '#552222'),
+ (this.errorTextColor = '#552222');
+ }
+ updateColors() {
+ (this.secondBkg = Et(this.contrast, 55)),
+ (this.border2 = this.contrast),
+ (this.actorBorder = Et(this.border1, 23)),
+ (this.actorBkg = this.mainBkg),
+ (this.actorTextColor = this.text),
+ (this.actorLineColor = this.actorBorder),
+ (this.signalColor = this.text),
+ (this.signalTextColor = this.text),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.labelBoxBorderColor = this.actorBorder),
+ (this.labelTextColor = this.text),
+ (this.loopTextColor = this.text),
+ (this.noteBorderColor = '#999'),
+ (this.noteBkgColor = '#666'),
+ (this.noteTextColor = '#fff'),
+ (this.cScale0 = this.cScale0 || '#555'),
+ (this.cScale1 = this.cScale1 || '#F4F4F4'),
+ (this.cScale2 = this.cScale2 || '#555'),
+ (this.cScale3 = this.cScale3 || '#BBB'),
+ (this.cScale4 = this.cScale4 || '#777'),
+ (this.cScale5 = this.cScale5 || '#999'),
+ (this.cScale6 = this.cScale6 || '#DDD'),
+ (this.cScale7 = this.cScale7 || '#FFF'),
+ (this.cScale8 = this.cScale8 || '#DDD'),
+ (this.cScale9 = this.cScale9 || '#BBB'),
+ (this.cScale10 = this.cScale10 || '#999'),
+ (this.cScale11 = this.cScale11 || '#777');
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleInv' + e] = this['cScaleInv' + e] || ot(this['cScale' + e]);
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this.darkMode
+ ? (this['cScalePeer' + e] = this['cScalePeer' + e] || Et(this['cScale' + e], 10))
+ : (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 10));
+ (this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor)),
+ (this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1),
+ (this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1);
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor;
+ for (let e = 0; e < 5; e++)
+ (this['surface' + e] = this['surface' + e] || Oe(this.mainBkg, { l: -(5 + e * 5) })),
+ (this['surfacePeer' + e] =
+ this['surfacePeer' + e] || Oe(this.mainBkg, { l: -(8 + e * 5) }));
+ (this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.titleColor = this.text),
+ (this.sectionBkgColor = Et(this.contrast, 30)),
+ (this.sectionBkgColor2 = Et(this.contrast, 30)),
+ (this.taskBorderColor = Dt(this.contrast, 10)),
+ (this.taskBkgColor = this.contrast),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextDarkColor = this.text),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.activeTaskBorderColor = this.taskBorderColor),
+ (this.activeTaskBkgColor = this.mainBkg),
+ (this.gridColor = Et(this.border1, 30)),
+ (this.doneTaskBkgColor = this.done),
+ (this.doneTaskBorderColor = this.lineColor),
+ (this.critBkgColor = this.critical),
+ (this.critBorderColor = Dt(this.critBkgColor, 10)),
+ (this.todayLineColor = this.critBkgColor),
+ (this.archEdgeColor = this.lineColor),
+ (this.archEdgeArrowColor = this.lineColor),
+ (this.transitionColor = this.transitionColor || '#000'),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#f4f4f4'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.stateBorder = this.stateBorder || '#000'),
+ (this.innerEndBackground = this.primaryBorderColor),
+ (this.specialStateColor = '#222'),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.classText = this.primaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = Oe(this.primaryColor, { h: 64 })),
+ (this.fillType3 = Oe(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = Oe(this.primaryColor, { h: -64 })),
+ (this.fillType5 = Oe(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = Oe(this.primaryColor, { h: 128 })),
+ (this.fillType7 = Oe(this.secondaryColor, { h: 128 }));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) this['pie' + e] = this['cScale' + e];
+ (this.pie12 = this.pie0),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || Wa(this.quadrant1Fill)
+ ? Et(this.quadrant1Fill)
+ : Dt(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor: this.xyChart?.backgroundColor || this.background,
+ titleColor: this.xyChart?.titleColor || this.primaryTextColor,
+ xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,
+ xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,
+ xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,
+ xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,
+ yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,
+ yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,
+ yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,
+ yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,
+ plotColorPalette:
+ this.xyChart?.plotColorPalette ||
+ '#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0'
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = Dt(this.pie1, 25) || this.primaryColor),
+ (this.git1 = this.pie2 || this.secondaryColor),
+ (this.git2 = this.pie3 || this.tertiaryColor),
+ (this.git3 = this.pie4 || Oe(this.primaryColor, { h: -30 })),
+ (this.git4 = this.pie5 || Oe(this.primaryColor, { h: -60 })),
+ (this.git5 = this.pie6 || Oe(this.primaryColor, { h: -90 })),
+ (this.git6 = this.pie7 || Oe(this.primaryColor, { h: 60 })),
+ (this.git7 = this.pie8 || Oe(this.primaryColor, { h: 120 })),
+ (this.gitInv0 = this.gitInv0 || ot(this.git0)),
+ (this.gitInv1 = this.gitInv1 || ot(this.git1)),
+ (this.gitInv2 = this.gitInv2 || ot(this.git2)),
+ (this.gitInv3 = this.gitInv3 || ot(this.git3)),
+ (this.gitInv4 = this.gitInv4 || ot(this.git4)),
+ (this.gitInv5 = this.gitInv5 || ot(this.git5)),
+ (this.gitInv6 = this.gitInv6 || ot(this.git6)),
+ (this.gitInv7 = this.gitInv7 || ot(this.git7)),
+ (this.branchLabelColor = this.branchLabelColor || this.labelTextColor),
+ (this.gitBranchLabel0 = this.branchLabelColor),
+ (this.gitBranchLabel1 = 'white'),
+ (this.gitBranchLabel2 = this.branchLabelColor),
+ (this.gitBranchLabel3 = 'white'),
+ (this.gitBranchLabel4 = this.branchLabelColor),
+ (this.gitBranchLabel5 = this.branchLabelColor),
+ (this.gitBranchLabel6 = this.branchLabelColor),
+ (this.gitBranchLabel7 = this.branchLabelColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch);
+ }
+ calculate(e) {
+ if (typeof e != 'object') {
+ this.updateColors();
+ return;
+ }
+ let r = Object.keys(e);
+ r.forEach((n) => {
+ this[n] = e[n];
+ }),
+ this.updateColors(),
+ r.forEach((n) => {
+ this[n] = e[n];
+ });
+ }
+ }),
+ (Fz = o((t) => {
+ let e = new t7();
+ return e.calculate(t), e;
+ }, 'getThemeVariables'));
+ });
+ var Co,
+ Kb = R(() => {
+ 'use strict';
+ Mz();
+ Oz();
+ jb();
+ Bz();
+ zz();
+ Co = {
+ base: { getThemeVariables: Nz },
+ dark: { getThemeVariables: Iz },
+ default: { getThemeVariables: hp },
+ forest: { getThemeVariables: Pz },
+ neutral: { getThemeVariables: Fz }
+ };
+ });
+ var tu,
+ Gz = R(() => {
+ 'use strict';
+ tu = {
+ flowchart: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ subGraphTitleMargin: { top: 0, bottom: 0 },
+ diagramPadding: 8,
+ htmlLabels: !0,
+ nodeSpacing: 50,
+ rankSpacing: 50,
+ curve: 'basis',
+ padding: 15,
+ defaultRenderer: 'dagre-wrapper',
+ wrappingWidth: 200
+ },
+ sequence: {
+ useMaxWidth: !0,
+ hideUnusedParticipants: !1,
+ activationWidth: 10,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ actorMargin: 50,
+ width: 150,
+ height: 65,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: 'center',
+ mirrorActors: !0,
+ forceMenus: !1,
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ showSequenceNumbers: !1,
+ actorFontSize: 14,
+ actorFontFamily: '"Open Sans", sans-serif',
+ actorFontWeight: 400,
+ noteFontSize: 14,
+ noteFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
+ noteFontWeight: 400,
+ noteAlign: 'center',
+ messageFontSize: 16,
+ messageFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
+ messageFontWeight: 400,
+ wrap: !1,
+ wrapPadding: 10,
+ labelBoxWidth: 50,
+ labelBoxHeight: 20
+ },
+ gantt: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ barHeight: 20,
+ barGap: 4,
+ topPadding: 50,
+ rightPadding: 75,
+ leftPadding: 75,
+ gridLineStartPadding: 35,
+ fontSize: 11,
+ sectionFontSize: 11,
+ numberSectionStyles: 4,
+ axisFormat: '%Y-%m-%d',
+ topAxis: !1,
+ displayMode: '',
+ weekday: 'sunday'
+ },
+ journey: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ leftMargin: 150,
+ width: 150,
+ height: 50,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: 'center',
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ taskFontSize: 14,
+ taskFontFamily: '"Open Sans", sans-serif',
+ taskMargin: 50,
+ activationWidth: 10,
+ textPlacement: 'fo',
+ actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'],
+ sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'],
+ sectionColours: ['#fff']
+ },
+ class: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ arrowMarkerAbsolute: !1,
+ dividerMargin: 10,
+ padding: 5,
+ textHeight: 10,
+ defaultRenderer: 'dagre-wrapper',
+ htmlLabels: !1
+ },
+ state: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ dividerMargin: 10,
+ sizeUnit: 5,
+ padding: 8,
+ textHeight: 10,
+ titleShift: -15,
+ noteMargin: 10,
+ forkWidth: 70,
+ forkHeight: 7,
+ miniPadding: 2,
+ fontSizeFactor: 5.02,
+ fontSize: 24,
+ labelHeight: 16,
+ edgeLengthFactor: '20',
+ compositTitleSize: 35,
+ radius: 5,
+ defaultRenderer: 'dagre-wrapper'
+ },
+ er: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ diagramPadding: 20,
+ layoutDirection: 'TB',
+ minEntityWidth: 100,
+ minEntityHeight: 75,
+ entityPadding: 15,
+ stroke: 'gray',
+ fill: 'honeydew',
+ fontSize: 12
+ },
+ pie: { useMaxWidth: !0, textPosition: 0.75 },
+ quadrantChart: {
+ useMaxWidth: !0,
+ chartWidth: 500,
+ chartHeight: 500,
+ titleFontSize: 20,
+ titlePadding: 10,
+ quadrantPadding: 5,
+ xAxisLabelPadding: 5,
+ yAxisLabelPadding: 5,
+ xAxisLabelFontSize: 16,
+ yAxisLabelFontSize: 16,
+ quadrantLabelFontSize: 16,
+ quadrantTextTopPadding: 5,
+ pointTextPadding: 5,
+ pointLabelFontSize: 12,
+ pointRadius: 5,
+ xAxisPosition: 'top',
+ yAxisPosition: 'left',
+ quadrantInternalBorderStrokeWidth: 1,
+ quadrantExternalBorderStrokeWidth: 2
+ },
+ xyChart: {
+ useMaxWidth: !0,
+ width: 700,
+ height: 500,
+ titleFontSize: 20,
+ titlePadding: 10,
+ showTitle: !0,
+ xAxis: {
+ $ref: '#/$defs/XYChartAxisConfig',
+ showLabel: !0,
+ labelFontSize: 14,
+ labelPadding: 5,
+ showTitle: !0,
+ titleFontSize: 16,
+ titlePadding: 5,
+ showTick: !0,
+ tickLength: 5,
+ tickWidth: 2,
+ showAxisLine: !0,
+ axisLineWidth: 2
+ },
+ yAxis: {
+ $ref: '#/$defs/XYChartAxisConfig',
+ showLabel: !0,
+ labelFontSize: 14,
+ labelPadding: 5,
+ showTitle: !0,
+ titleFontSize: 16,
+ titlePadding: 5,
+ showTick: !0,
+ tickLength: 5,
+ tickWidth: 2,
+ showAxisLine: !0,
+ axisLineWidth: 2
+ },
+ chartOrientation: 'vertical',
+ plotReservedSpacePercent: 50
+ },
+ requirement: {
+ useMaxWidth: !0,
+ rect_fill: '#f9f9f9',
+ text_color: '#333',
+ rect_border_size: '0.5px',
+ rect_border_color: '#bbb',
+ rect_min_width: 200,
+ rect_min_height: 200,
+ fontSize: 14,
+ rect_padding: 10,
+ line_height: 20
+ },
+ mindmap: { useMaxWidth: !0, padding: 10, maxNodeWidth: 200 },
+ timeline: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ leftMargin: 150,
+ width: 150,
+ height: 50,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: 'center',
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ taskFontSize: 14,
+ taskFontFamily: '"Open Sans", sans-serif',
+ taskMargin: 50,
+ activationWidth: 10,
+ textPlacement: 'fo',
+ actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'],
+ sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'],
+ sectionColours: ['#fff'],
+ disableMulticolor: !1
+ },
+ gitGraph: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ diagramPadding: 8,
+ nodeLabel: { width: 75, height: 100, x: -25, y: 0 },
+ mainBranchName: 'main',
+ mainBranchOrder: 0,
+ showCommitLabel: !0,
+ showBranches: !0,
+ rotateCommitLabel: !0,
+ parallelCommits: !1,
+ arrowMarkerAbsolute: !1
+ },
+ c4: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ c4ShapeMargin: 50,
+ c4ShapePadding: 20,
+ width: 216,
+ height: 60,
+ boxMargin: 10,
+ c4ShapeInRow: 4,
+ nextLinePaddingX: 0,
+ c4BoundaryInRow: 2,
+ personFontSize: 14,
+ personFontFamily: '"Open Sans", sans-serif',
+ personFontWeight: 'normal',
+ external_personFontSize: 14,
+ external_personFontFamily: '"Open Sans", sans-serif',
+ external_personFontWeight: 'normal',
+ systemFontSize: 14,
+ systemFontFamily: '"Open Sans", sans-serif',
+ systemFontWeight: 'normal',
+ external_systemFontSize: 14,
+ external_systemFontFamily: '"Open Sans", sans-serif',
+ external_systemFontWeight: 'normal',
+ system_dbFontSize: 14,
+ system_dbFontFamily: '"Open Sans", sans-serif',
+ system_dbFontWeight: 'normal',
+ external_system_dbFontSize: 14,
+ external_system_dbFontFamily: '"Open Sans", sans-serif',
+ external_system_dbFontWeight: 'normal',
+ system_queueFontSize: 14,
+ system_queueFontFamily: '"Open Sans", sans-serif',
+ system_queueFontWeight: 'normal',
+ external_system_queueFontSize: 14,
+ external_system_queueFontFamily: '"Open Sans", sans-serif',
+ external_system_queueFontWeight: 'normal',
+ boundaryFontSize: 14,
+ boundaryFontFamily: '"Open Sans", sans-serif',
+ boundaryFontWeight: 'normal',
+ messageFontSize: 12,
+ messageFontFamily: '"Open Sans", sans-serif',
+ messageFontWeight: 'normal',
+ containerFontSize: 14,
+ containerFontFamily: '"Open Sans", sans-serif',
+ containerFontWeight: 'normal',
+ external_containerFontSize: 14,
+ external_containerFontFamily: '"Open Sans", sans-serif',
+ external_containerFontWeight: 'normal',
+ container_dbFontSize: 14,
+ container_dbFontFamily: '"Open Sans", sans-serif',
+ container_dbFontWeight: 'normal',
+ external_container_dbFontSize: 14,
+ external_container_dbFontFamily: '"Open Sans", sans-serif',
+ external_container_dbFontWeight: 'normal',
+ container_queueFontSize: 14,
+ container_queueFontFamily: '"Open Sans", sans-serif',
+ container_queueFontWeight: 'normal',
+ external_container_queueFontSize: 14,
+ external_container_queueFontFamily: '"Open Sans", sans-serif',
+ external_container_queueFontWeight: 'normal',
+ componentFontSize: 14,
+ componentFontFamily: '"Open Sans", sans-serif',
+ componentFontWeight: 'normal',
+ external_componentFontSize: 14,
+ external_componentFontFamily: '"Open Sans", sans-serif',
+ external_componentFontWeight: 'normal',
+ component_dbFontSize: 14,
+ component_dbFontFamily: '"Open Sans", sans-serif',
+ component_dbFontWeight: 'normal',
+ external_component_dbFontSize: 14,
+ external_component_dbFontFamily: '"Open Sans", sans-serif',
+ external_component_dbFontWeight: 'normal',
+ component_queueFontSize: 14,
+ component_queueFontFamily: '"Open Sans", sans-serif',
+ component_queueFontWeight: 'normal',
+ external_component_queueFontSize: 14,
+ external_component_queueFontFamily: '"Open Sans", sans-serif',
+ external_component_queueFontWeight: 'normal',
+ wrap: !0,
+ wrapPadding: 10,
+ person_bg_color: '#08427B',
+ person_border_color: '#073B6F',
+ external_person_bg_color: '#686868',
+ external_person_border_color: '#8A8A8A',
+ system_bg_color: '#1168BD',
+ system_border_color: '#3C7FC0',
+ system_db_bg_color: '#1168BD',
+ system_db_border_color: '#3C7FC0',
+ system_queue_bg_color: '#1168BD',
+ system_queue_border_color: '#3C7FC0',
+ external_system_bg_color: '#999999',
+ external_system_border_color: '#8A8A8A',
+ external_system_db_bg_color: '#999999',
+ external_system_db_border_color: '#8A8A8A',
+ external_system_queue_bg_color: '#999999',
+ external_system_queue_border_color: '#8A8A8A',
+ container_bg_color: '#438DD5',
+ container_border_color: '#3C7FC0',
+ container_db_bg_color: '#438DD5',
+ container_db_border_color: '#3C7FC0',
+ container_queue_bg_color: '#438DD5',
+ container_queue_border_color: '#3C7FC0',
+ external_container_bg_color: '#B3B3B3',
+ external_container_border_color: '#A6A6A6',
+ external_container_db_bg_color: '#B3B3B3',
+ external_container_db_border_color: '#A6A6A6',
+ external_container_queue_bg_color: '#B3B3B3',
+ external_container_queue_border_color: '#A6A6A6',
+ component_bg_color: '#85BBF0',
+ component_border_color: '#78A8D8',
+ component_db_bg_color: '#85BBF0',
+ component_db_border_color: '#78A8D8',
+ component_queue_bg_color: '#85BBF0',
+ component_queue_border_color: '#78A8D8',
+ external_component_bg_color: '#CCCCCC',
+ external_component_border_color: '#BFBFBF',
+ external_component_db_bg_color: '#CCCCCC',
+ external_component_db_border_color: '#BFBFBF',
+ external_component_queue_bg_color: '#CCCCCC',
+ external_component_queue_border_color: '#BFBFBF'
+ },
+ sankey: {
+ useMaxWidth: !0,
+ width: 600,
+ height: 400,
+ linkColor: 'gradient',
+ nodeAlignment: 'justify',
+ showValues: !0,
+ prefix: '',
+ suffix: ''
+ },
+ block: { useMaxWidth: !0, padding: 8 },
+ packet: {
+ useMaxWidth: !0,
+ rowHeight: 32,
+ bitWidth: 32,
+ bitsPerRow: 32,
+ showBits: !0,
+ paddingX: 5,
+ paddingY: 5
+ },
+ architecture: {
+ useMaxWidth: !0,
+ padding: 40,
+ iconSize: 80,
+ fontSize: 16
+ },
+ theme: 'default',
+ look: 'classic',
+ handDrawnSeed: 0,
+ layout: 'dagre',
+ maxTextSize: 5e4,
+ maxEdges: 500,
+ darkMode: !1,
+ fontFamily: '"trebuchet ms", verdana, arial, sans-serif;',
+ logLevel: 5,
+ securityLevel: 'strict',
+ startOnLoad: !0,
+ arrowMarkerAbsolute: !1,
+ secure: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize', 'suppressErrorRendering', 'maxEdges'],
+ legacyMathML: !1,
+ forceLegacyMathML: !1,
+ deterministicIds: !1,
+ fontSize: 16,
+ markdownAutoWrap: !0,
+ suppressErrorRendering: !1
+ };
+ });
+ var $z,
+ Vz,
+ Uz,
+ mr,
+ sl = R(() => {
+ 'use strict';
+ Kb();
+ Gz();
+ ($z = {
+ ...tu,
+ deterministicIDSeed: void 0,
+ elk: { mergeEdges: !1, nodePlacementStrategy: 'SIMPLE' },
+ themeCSS: void 0,
+ themeVariables: Co.default.getThemeVariables(),
+ sequence: {
+ ...tu.sequence,
+ messageFont: o(function () {
+ return {
+ fontFamily: this.messageFontFamily,
+ fontSize: this.messageFontSize,
+ fontWeight: this.messageFontWeight
+ };
+ }, 'messageFont'),
+ noteFont: o(function () {
+ return {
+ fontFamily: this.noteFontFamily,
+ fontSize: this.noteFontSize,
+ fontWeight: this.noteFontWeight
+ };
+ }, 'noteFont'),
+ actorFont: o(function () {
+ return {
+ fontFamily: this.actorFontFamily,
+ fontSize: this.actorFontSize,
+ fontWeight: this.actorFontWeight
+ };
+ }, 'actorFont')
+ },
+ gantt: { ...tu.gantt, tickInterval: void 0, useWidth: void 0 },
+ c4: {
+ ...tu.c4,
+ useWidth: void 0,
+ personFont: o(function () {
+ return {
+ fontFamily: this.personFontFamily,
+ fontSize: this.personFontSize,
+ fontWeight: this.personFontWeight
+ };
+ }, 'personFont'),
+ external_personFont: o(function () {
+ return {
+ fontFamily: this.external_personFontFamily,
+ fontSize: this.external_personFontSize,
+ fontWeight: this.external_personFontWeight
+ };
+ }, 'external_personFont'),
+ systemFont: o(function () {
+ return {
+ fontFamily: this.systemFontFamily,
+ fontSize: this.systemFontSize,
+ fontWeight: this.systemFontWeight
+ };
+ }, 'systemFont'),
+ external_systemFont: o(function () {
+ return {
+ fontFamily: this.external_systemFontFamily,
+ fontSize: this.external_systemFontSize,
+ fontWeight: this.external_systemFontWeight
+ };
+ }, 'external_systemFont'),
+ system_dbFont: o(function () {
+ return {
+ fontFamily: this.system_dbFontFamily,
+ fontSize: this.system_dbFontSize,
+ fontWeight: this.system_dbFontWeight
+ };
+ }, 'system_dbFont'),
+ external_system_dbFont: o(function () {
+ return {
+ fontFamily: this.external_system_dbFontFamily,
+ fontSize: this.external_system_dbFontSize,
+ fontWeight: this.external_system_dbFontWeight
+ };
+ }, 'external_system_dbFont'),
+ system_queueFont: o(function () {
+ return {
+ fontFamily: this.system_queueFontFamily,
+ fontSize: this.system_queueFontSize,
+ fontWeight: this.system_queueFontWeight
+ };
+ }, 'system_queueFont'),
+ external_system_queueFont: o(function () {
+ return {
+ fontFamily: this.external_system_queueFontFamily,
+ fontSize: this.external_system_queueFontSize,
+ fontWeight: this.external_system_queueFontWeight
+ };
+ }, 'external_system_queueFont'),
+ containerFont: o(function () {
+ return {
+ fontFamily: this.containerFontFamily,
+ fontSize: this.containerFontSize,
+ fontWeight: this.containerFontWeight
+ };
+ }, 'containerFont'),
+ external_containerFont: o(function () {
+ return {
+ fontFamily: this.external_containerFontFamily,
+ fontSize: this.external_containerFontSize,
+ fontWeight: this.external_containerFontWeight
+ };
+ }, 'external_containerFont'),
+ container_dbFont: o(function () {
+ return {
+ fontFamily: this.container_dbFontFamily,
+ fontSize: this.container_dbFontSize,
+ fontWeight: this.container_dbFontWeight
+ };
+ }, 'container_dbFont'),
+ external_container_dbFont: o(function () {
+ return {
+ fontFamily: this.external_container_dbFontFamily,
+ fontSize: this.external_container_dbFontSize,
+ fontWeight: this.external_container_dbFontWeight
+ };
+ }, 'external_container_dbFont'),
+ container_queueFont: o(function () {
+ return {
+ fontFamily: this.container_queueFontFamily,
+ fontSize: this.container_queueFontSize,
+ fontWeight: this.container_queueFontWeight
+ };
+ }, 'container_queueFont'),
+ external_container_queueFont: o(function () {
+ return {
+ fontFamily: this.external_container_queueFontFamily,
+ fontSize: this.external_container_queueFontSize,
+ fontWeight: this.external_container_queueFontWeight
+ };
+ }, 'external_container_queueFont'),
+ componentFont: o(function () {
+ return {
+ fontFamily: this.componentFontFamily,
+ fontSize: this.componentFontSize,
+ fontWeight: this.componentFontWeight
+ };
+ }, 'componentFont'),
+ external_componentFont: o(function () {
+ return {
+ fontFamily: this.external_componentFontFamily,
+ fontSize: this.external_componentFontSize,
+ fontWeight: this.external_componentFontWeight
+ };
+ }, 'external_componentFont'),
+ component_dbFont: o(function () {
+ return {
+ fontFamily: this.component_dbFontFamily,
+ fontSize: this.component_dbFontSize,
+ fontWeight: this.component_dbFontWeight
+ };
+ }, 'component_dbFont'),
+ external_component_dbFont: o(function () {
+ return {
+ fontFamily: this.external_component_dbFontFamily,
+ fontSize: this.external_component_dbFontSize,
+ fontWeight: this.external_component_dbFontWeight
+ };
+ }, 'external_component_dbFont'),
+ component_queueFont: o(function () {
+ return {
+ fontFamily: this.component_queueFontFamily,
+ fontSize: this.component_queueFontSize,
+ fontWeight: this.component_queueFontWeight
+ };
+ }, 'component_queueFont'),
+ external_component_queueFont: o(function () {
+ return {
+ fontFamily: this.external_component_queueFontFamily,
+ fontSize: this.external_component_queueFontSize,
+ fontWeight: this.external_component_queueFontWeight
+ };
+ }, 'external_component_queueFont'),
+ boundaryFont: o(function () {
+ return {
+ fontFamily: this.boundaryFontFamily,
+ fontSize: this.boundaryFontSize,
+ fontWeight: this.boundaryFontWeight
+ };
+ }, 'boundaryFont'),
+ messageFont: o(function () {
+ return {
+ fontFamily: this.messageFontFamily,
+ fontSize: this.messageFontSize,
+ fontWeight: this.messageFontWeight
+ };
+ }, 'messageFont')
+ },
+ pie: { ...tu.pie, useWidth: 984 },
+ xyChart: { ...tu.xyChart, useWidth: void 0 },
+ requirement: { ...tu.requirement, useWidth: void 0 },
+ packet: { ...tu.packet }
+ }),
+ (Vz = o(
+ (t, e = '') =>
+ Object.keys(t).reduce(
+ (r, n) =>
+ Array.isArray(t[n])
+ ? r
+ : typeof t[n] == 'object' && t[n] !== null
+ ? [...r, e + n, ...Vz(t[n], '')]
+ : [...r, e + n],
+ []
+ ),
+ 'keyify'
+ )),
+ (Uz = new Set(Vz($z, ''))),
+ (mr = $z);
+ });
+ var fp,
+ _2e,
+ r7 = R(() => {
+ 'use strict';
+ sl();
+ ut();
+ (fp = o((t) => {
+ if ((V.debug('sanitizeDirective called with', t), !(typeof t != 'object' || t == null))) {
+ if (Array.isArray(t)) {
+ t.forEach((e) => fp(e));
+ return;
+ }
+ for (let e of Object.keys(t)) {
+ if (
+ (V.debug('Checking key', e),
+ e.startsWith('__') ||
+ e.includes('proto') ||
+ e.includes('constr') ||
+ !Uz.has(e) ||
+ t[e] == null)
+ ) {
+ V.debug('sanitize deleting key: ', e), delete t[e];
+ continue;
+ }
+ if (typeof t[e] == 'object') {
+ V.debug('sanitizing object', e), fp(t[e]);
+ continue;
+ }
+ let r = ['themeCSS', 'fontFamily', 'altFontFamily'];
+ for (let n of r) e.includes(n) && (V.debug('sanitizing css option', e), (t[e] = _2e(t[e])));
+ }
+ if (t.themeVariables)
+ for (let e of Object.keys(t.themeVariables)) {
+ let r = t.themeVariables[e];
+ r?.match && !r.match(/^[\d "#%(),.;A-Za-z]+$/) && (t.themeVariables[e] = '');
+ }
+ V.debug('After sanitization', t);
+ }
+ }, 'sanitizeDirective')),
+ (_2e = o((t) => {
+ let e = 0,
+ r = 0;
+ for (let n of t) {
+ if (e < r) return '{ /* ERROR: Unbalanced CSS */ }';
+ n === '{' ? e++ : n === '}' && r++;
+ }
+ return e !== r ? '{ /* ERROR: Unbalanced CSS */ }' : t;
+ }, 'sanitizeCss'));
+ });
+ var uh,
+ fs,
+ Yz,
+ dp,
+ K1,
+ Qb,
+ n7,
+ Wz,
+ qz,
+ i7,
+ Zb,
+ Or,
+ Xz,
+ jz,
+ Q1,
+ L2e,
+ Hz,
+ D2e,
+ Kz,
+ qs = R(() => {
+ 'use strict';
+ cp();
+ ut();
+ Kb();
+ sl();
+ r7();
+ (uh = Object.freeze(mr)),
+ (fs = On({}, uh)),
+ (dp = []),
+ (K1 = On({}, uh)),
+ (Qb = o((t, e) => {
+ let r = On({}, t),
+ n = {};
+ for (let i of e) Xz(i), (n = On(n, i));
+ if (((r = On(r, n)), n.theme && n.theme in Co)) {
+ let i = On({}, Yz),
+ a = On(i.themeVariables || {}, n.themeVariables);
+ r.theme && r.theme in Co && (r.themeVariables = Co[r.theme].getThemeVariables(a));
+ }
+ return (K1 = r), Kz(K1), K1;
+ }, 'updateCurrentConfig')),
+ (n7 = o(
+ (t) => (
+ (fs = On({}, uh)),
+ (fs = On(fs, t)),
+ t.theme && Co[t.theme] && (fs.themeVariables = Co[t.theme].getThemeVariables(t.themeVariables)),
+ Qb(fs, dp),
+ fs
+ ),
+ 'setSiteConfig'
+ )),
+ (Wz = o((t) => {
+ Yz = On({}, t);
+ }, 'saveConfigFromInitialize')),
+ (qz = o((t) => ((fs = On(fs, t)), Qb(fs, dp), fs), 'updateSiteConfig')),
+ (i7 = o(() => On({}, fs), 'getSiteConfig')),
+ (Zb = o((t) => (Kz(t), On(K1, t), Or()), 'setConfig')),
+ (Or = o(() => On({}, K1), 'getConfig')),
+ (Xz = o((t) => {
+ t &&
+ (['secure', ...(fs.secure ?? [])].forEach((e) => {
+ Object.hasOwn(t, e) &&
+ (V.debug(`Denied attempt to modify a secure key ${e}`, t[e]), delete t[e]);
+ }),
+ Object.keys(t).forEach((e) => {
+ e.startsWith('__') && delete t[e];
+ }),
+ Object.keys(t).forEach((e) => {
+ typeof t[e] == 'string' &&
+ (t[e].includes('<') || t[e].includes('>') || t[e].includes('url(data:')) &&
+ delete t[e],
+ typeof t[e] == 'object' && Xz(t[e]);
+ }));
+ }, 'sanitize')),
+ (jz = o((t) => {
+ fp(t),
+ t.fontFamily &&
+ !t.themeVariables?.fontFamily &&
+ (t.themeVariables = {
+ ...t.themeVariables,
+ fontFamily: t.fontFamily
+ }),
+ dp.push(t),
+ Qb(fs, dp);
+ }, 'addDirective')),
+ (Q1 = o((t = fs) => {
+ (dp = []), Qb(t, dp);
+ }, 'reset')),
+ (L2e = {
+ LAZY_LOAD_DEPRECATED:
+ 'The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.'
+ }),
+ (Hz = {}),
+ (D2e = o((t) => {
+ Hz[t] || (V.warn(L2e[t]), (Hz[t] = !0));
+ }, 'issueWarning')),
+ (Kz = o((t) => {
+ t && (t.lazyLoadedDiagrams || t.loadExternalDiagramsAtStartup) && D2e('LAZY_LOAD_DEPRECATED');
+ }, 'checkConfig'));
+ });
+ var o7 = gi((a7, s7) => {
+ 'use strict';
+ (function (t, e) {
+ typeof a7 == 'object' && typeof s7 < 'u'
+ ? (s7.exports = e())
+ : typeof define == 'function' && define.amd
+ ? define(e)
+ : ((t = typeof globalThis < 'u' ? globalThis : t || self), (t.DOMPurify = e()));
+ })(a7, function () {
+ 'use strict';
+ let { entries: t, setPrototypeOf: e, isFrozen: r, getPrototypeOf: n, getOwnPropertyDescriptor: i } = Object,
+ { freeze: a, seal: s, create: l } = Object,
+ { apply: u, construct: h } = typeof Reflect < 'u' && Reflect;
+ a ||
+ (a = o(function (Se) {
+ return Se;
+ }, 'freeze')),
+ s ||
+ (s = o(function (Se) {
+ return Se;
+ }, 'seal')),
+ u ||
+ (u = o(function (Se, Ue, Pe) {
+ return Se.apply(Ue, Pe);
+ }, 'apply')),
+ h ||
+ (h = o(function (Se, Ue) {
+ return new Se(...Ue);
+ }, 'construct'));
+ let f = E(Array.prototype.forEach),
+ d = E(Array.prototype.pop),
+ p = E(Array.prototype.push),
+ m = E(String.prototype.toLowerCase),
+ g = E(String.prototype.toString),
+ y = E(String.prototype.match),
+ v = E(String.prototype.replace),
+ x = E(String.prototype.indexOf),
+ b = E(String.prototype.trim),
+ w = E(Object.prototype.hasOwnProperty),
+ S = E(RegExp.prototype.test),
+ T = _(TypeError);
+ function E(Ie) {
+ return function (Se) {
+ for (var Ue = arguments.length, Pe = new Array(Ue > 1 ? Ue - 1 : 0), _e = 1; _e < Ue; _e++)
+ Pe[_e - 1] = arguments[_e];
+ return u(Ie, Se, Pe);
+ };
+ }
+ o(E, 'unapply');
+ function _(Ie) {
+ return function () {
+ for (var Se = arguments.length, Ue = new Array(Se), Pe = 0; Pe < Se; Pe++) Ue[Pe] = arguments[Pe];
+ return h(Ie, Ue);
+ };
+ }
+ o(_, 'unconstruct');
+ function A(Ie, Se) {
+ let Ue = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : m;
+ e && e(Ie, null);
+ let Pe = Se.length;
+ for (; Pe--; ) {
+ let _e = Se[Pe];
+ if (typeof _e == 'string') {
+ let me = Ue(_e);
+ me !== _e && (r(Se) || (Se[Pe] = me), (_e = me));
+ }
+ Ie[_e] = !0;
+ }
+ return Ie;
+ }
+ o(A, 'addToSet');
+ function L(Ie) {
+ for (let Se = 0; Se < Ie.length; Se++) w(Ie, Se) || (Ie[Se] = null);
+ return Ie;
+ }
+ o(L, 'cleanArray');
+ function M(Ie) {
+ let Se = l(null);
+ for (let [Ue, Pe] of t(Ie))
+ w(Ie, Ue) &&
+ (Array.isArray(Pe)
+ ? (Se[Ue] = L(Pe))
+ : Pe && typeof Pe == 'object' && Pe.constructor === Object
+ ? (Se[Ue] = M(Pe))
+ : (Se[Ue] = Pe));
+ return Se;
+ }
+ o(M, 'clone');
+ function N(Ie, Se) {
+ for (; Ie !== null; ) {
+ let Pe = i(Ie, Se);
+ if (Pe) {
+ if (Pe.get) return E(Pe.get);
+ if (typeof Pe.value == 'function') return E(Pe.value);
+ }
+ Ie = n(Ie);
+ }
+ function Ue() {
+ return null;
+ }
+ return o(Ue, 'fallbackValue'), Ue;
+ }
+ o(N, 'lookupGetter');
+ let k = a([
+ 'a',
+ 'abbr',
+ 'acronym',
+ 'address',
+ 'area',
+ 'article',
+ 'aside',
+ 'audio',
+ 'b',
+ 'bdi',
+ 'bdo',
+ 'big',
+ 'blink',
+ 'blockquote',
+ 'body',
+ 'br',
+ 'button',
+ 'canvas',
+ 'caption',
+ 'center',
+ 'cite',
+ 'code',
+ 'col',
+ 'colgroup',
+ 'content',
+ 'data',
+ 'datalist',
+ 'dd',
+ 'decorator',
+ 'del',
+ 'details',
+ 'dfn',
+ 'dialog',
+ 'dir',
+ 'div',
+ 'dl',
+ 'dt',
+ 'element',
+ 'em',
+ 'fieldset',
+ 'figcaption',
+ 'figure',
+ 'font',
+ 'footer',
+ 'form',
+ 'h1',
+ 'h2',
+ 'h3',
+ 'h4',
+ 'h5',
+ 'h6',
+ 'head',
+ 'header',
+ 'hgroup',
+ 'hr',
+ 'html',
+ 'i',
+ 'img',
+ 'input',
+ 'ins',
+ 'kbd',
+ 'label',
+ 'legend',
+ 'li',
+ 'main',
+ 'map',
+ 'mark',
+ 'marquee',
+ 'menu',
+ 'menuitem',
+ 'meter',
+ 'nav',
+ 'nobr',
+ 'ol',
+ 'optgroup',
+ 'option',
+ 'output',
+ 'p',
+ 'picture',
+ 'pre',
+ 'progress',
+ 'q',
+ 'rp',
+ 'rt',
+ 'ruby',
+ 's',
+ 'samp',
+ 'section',
+ 'select',
+ 'shadow',
+ 'small',
+ 'source',
+ 'spacer',
+ 'span',
+ 'strike',
+ 'strong',
+ 'style',
+ 'sub',
+ 'summary',
+ 'sup',
+ 'table',
+ 'tbody',
+ 'td',
+ 'template',
+ 'textarea',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'time',
+ 'tr',
+ 'track',
+ 'tt',
+ 'u',
+ 'ul',
+ 'var',
+ 'video',
+ 'wbr'
+ ]),
+ I = a([
+ 'svg',
+ 'a',
+ 'altglyph',
+ 'altglyphdef',
+ 'altglyphitem',
+ 'animatecolor',
+ 'animatemotion',
+ 'animatetransform',
+ 'circle',
+ 'clippath',
+ 'defs',
+ 'desc',
+ 'ellipse',
+ 'filter',
+ 'font',
+ 'g',
+ 'glyph',
+ 'glyphref',
+ 'hkern',
+ 'image',
+ 'line',
+ 'lineargradient',
+ 'marker',
+ 'mask',
+ 'metadata',
+ 'mpath',
+ 'path',
+ 'pattern',
+ 'polygon',
+ 'polyline',
+ 'radialgradient',
+ 'rect',
+ 'stop',
+ 'style',
+ 'switch',
+ 'symbol',
+ 'text',
+ 'textpath',
+ 'title',
+ 'tref',
+ 'tspan',
+ 'view',
+ 'vkern'
+ ]),
+ C = a([
+ 'feBlend',
+ 'feColorMatrix',
+ 'feComponentTransfer',
+ 'feComposite',
+ 'feConvolveMatrix',
+ 'feDiffuseLighting',
+ 'feDisplacementMap',
+ 'feDistantLight',
+ 'feDropShadow',
+ 'feFlood',
+ 'feFuncA',
+ 'feFuncB',
+ 'feFuncG',
+ 'feFuncR',
+ 'feGaussianBlur',
+ 'feImage',
+ 'feMerge',
+ 'feMergeNode',
+ 'feMorphology',
+ 'feOffset',
+ 'fePointLight',
+ 'feSpecularLighting',
+ 'feSpotLight',
+ 'feTile',
+ 'feTurbulence'
+ ]),
+ O = a([
+ 'animate',
+ 'color-profile',
+ 'cursor',
+ 'discard',
+ 'font-face',
+ 'font-face-format',
+ 'font-face-name',
+ 'font-face-src',
+ 'font-face-uri',
+ 'foreignobject',
+ 'hatch',
+ 'hatchpath',
+ 'mesh',
+ 'meshgradient',
+ 'meshpatch',
+ 'meshrow',
+ 'missing-glyph',
+ 'script',
+ 'set',
+ 'solidcolor',
+ 'unknown',
+ 'use'
+ ]),
+ D = a([
+ 'math',
+ 'menclose',
+ 'merror',
+ 'mfenced',
+ 'mfrac',
+ 'mglyph',
+ 'mi',
+ 'mlabeledtr',
+ 'mmultiscripts',
+ 'mn',
+ 'mo',
+ 'mover',
+ 'mpadded',
+ 'mphantom',
+ 'mroot',
+ 'mrow',
+ 'ms',
+ 'mspace',
+ 'msqrt',
+ 'mstyle',
+ 'msub',
+ 'msup',
+ 'msubsup',
+ 'mtable',
+ 'mtd',
+ 'mtext',
+ 'mtr',
+ 'munder',
+ 'munderover',
+ 'mprescripts'
+ ]),
+ P = a([
+ 'maction',
+ 'maligngroup',
+ 'malignmark',
+ 'mlongdiv',
+ 'mscarries',
+ 'mscarry',
+ 'msgroup',
+ 'mstack',
+ 'msline',
+ 'msrow',
+ 'semantics',
+ 'annotation',
+ 'annotation-xml',
+ 'mprescripts',
+ 'none'
+ ]),
+ F = a(['#text']),
+ B = a([
+ 'accept',
+ 'action',
+ 'align',
+ 'alt',
+ 'autocapitalize',
+ 'autocomplete',
+ 'autopictureinpicture',
+ 'autoplay',
+ 'background',
+ 'bgcolor',
+ 'border',
+ 'capture',
+ 'cellpadding',
+ 'cellspacing',
+ 'checked',
+ 'cite',
+ 'class',
+ 'clear',
+ 'color',
+ 'cols',
+ 'colspan',
+ 'controls',
+ 'controlslist',
+ 'coords',
+ 'crossorigin',
+ 'datetime',
+ 'decoding',
+ 'default',
+ 'dir',
+ 'disabled',
+ 'disablepictureinpicture',
+ 'disableremoteplayback',
+ 'download',
+ 'draggable',
+ 'enctype',
+ 'enterkeyhint',
+ 'face',
+ 'for',
+ 'headers',
+ 'height',
+ 'hidden',
+ 'high',
+ 'href',
+ 'hreflang',
+ 'id',
+ 'inputmode',
+ 'integrity',
+ 'ismap',
+ 'kind',
+ 'label',
+ 'lang',
+ 'list',
+ 'loading',
+ 'loop',
+ 'low',
+ 'max',
+ 'maxlength',
+ 'media',
+ 'method',
+ 'min',
+ 'minlength',
+ 'multiple',
+ 'muted',
+ 'name',
+ 'nonce',
+ 'noshade',
+ 'novalidate',
+ 'nowrap',
+ 'open',
+ 'optimum',
+ 'pattern',
+ 'placeholder',
+ 'playsinline',
+ 'popover',
+ 'popovertarget',
+ 'popovertargetaction',
+ 'poster',
+ 'preload',
+ 'pubdate',
+ 'radiogroup',
+ 'readonly',
+ 'rel',
+ 'required',
+ 'rev',
+ 'reversed',
+ 'role',
+ 'rows',
+ 'rowspan',
+ 'spellcheck',
+ 'scope',
+ 'selected',
+ 'shape',
+ 'size',
+ 'sizes',
+ 'span',
+ 'srclang',
+ 'start',
+ 'src',
+ 'srcset',
+ 'step',
+ 'style',
+ 'summary',
+ 'tabindex',
+ 'title',
+ 'translate',
+ 'type',
+ 'usemap',
+ 'valign',
+ 'value',
+ 'width',
+ 'wrap',
+ 'xmlns',
+ 'slot'
+ ]),
+ $ = a([
+ 'accent-height',
+ 'accumulate',
+ 'additive',
+ 'alignment-baseline',
+ 'ascent',
+ 'attributename',
+ 'attributetype',
+ 'azimuth',
+ 'basefrequency',
+ 'baseline-shift',
+ 'begin',
+ 'bias',
+ 'by',
+ 'class',
+ 'clip',
+ 'clippathunits',
+ 'clip-path',
+ 'clip-rule',
+ 'color',
+ 'color-interpolation',
+ 'color-interpolation-filters',
+ 'color-profile',
+ 'color-rendering',
+ 'cx',
+ 'cy',
+ 'd',
+ 'dx',
+ 'dy',
+ 'diffuseconstant',
+ 'direction',
+ 'display',
+ 'divisor',
+ 'dur',
+ 'edgemode',
+ 'elevation',
+ 'end',
+ 'fill',
+ 'fill-opacity',
+ 'fill-rule',
+ 'filter',
+ 'filterunits',
+ 'flood-color',
+ 'flood-opacity',
+ 'font-family',
+ 'font-size',
+ 'font-size-adjust',
+ 'font-stretch',
+ 'font-style',
+ 'font-variant',
+ 'font-weight',
+ 'fx',
+ 'fy',
+ 'g1',
+ 'g2',
+ 'glyph-name',
+ 'glyphref',
+ 'gradientunits',
+ 'gradienttransform',
+ 'height',
+ 'href',
+ 'id',
+ 'image-rendering',
+ 'in',
+ 'in2',
+ 'k',
+ 'k1',
+ 'k2',
+ 'k3',
+ 'k4',
+ 'kerning',
+ 'keypoints',
+ 'keysplines',
+ 'keytimes',
+ 'lang',
+ 'lengthadjust',
+ 'letter-spacing',
+ 'kernelmatrix',
+ 'kernelunitlength',
+ 'lighting-color',
+ 'local',
+ 'marker-end',
+ 'marker-mid',
+ 'marker-start',
+ 'markerheight',
+ 'markerunits',
+ 'markerwidth',
+ 'maskcontentunits',
+ 'maskunits',
+ 'max',
+ 'mask',
+ 'media',
+ 'method',
+ 'mode',
+ 'min',
+ 'name',
+ 'numoctaves',
+ 'offset',
+ 'operator',
+ 'opacity',
+ 'order',
+ 'orient',
+ 'orientation',
+ 'origin',
+ 'overflow',
+ 'paint-order',
+ 'path',
+ 'pathlength',
+ 'patterncontentunits',
+ 'patterntransform',
+ 'patternunits',
+ 'points',
+ 'preservealpha',
+ 'preserveaspectratio',
+ 'primitiveunits',
+ 'r',
+ 'rx',
+ 'ry',
+ 'radius',
+ 'refx',
+ 'refy',
+ 'repeatcount',
+ 'repeatdur',
+ 'restart',
+ 'result',
+ 'rotate',
+ 'scale',
+ 'seed',
+ 'shape-rendering',
+ 'specularconstant',
+ 'specularexponent',
+ 'spreadmethod',
+ 'startoffset',
+ 'stddeviation',
+ 'stitchtiles',
+ 'stop-color',
+ 'stop-opacity',
+ 'stroke-dasharray',
+ 'stroke-dashoffset',
+ 'stroke-linecap',
+ 'stroke-linejoin',
+ 'stroke-miterlimit',
+ 'stroke-opacity',
+ 'stroke',
+ 'stroke-width',
+ 'style',
+ 'surfacescale',
+ 'systemlanguage',
+ 'tabindex',
+ 'targetx',
+ 'targety',
+ 'transform',
+ 'transform-origin',
+ 'text-anchor',
+ 'text-decoration',
+ 'text-rendering',
+ 'textlength',
+ 'type',
+ 'u1',
+ 'u2',
+ 'unicode',
+ 'values',
+ 'viewbox',
+ 'visibility',
+ 'version',
+ 'vert-adv-y',
+ 'vert-origin-x',
+ 'vert-origin-y',
+ 'width',
+ 'word-spacing',
+ 'wrap',
+ 'writing-mode',
+ 'xchannelselector',
+ 'ychannelselector',
+ 'x',
+ 'x1',
+ 'x2',
+ 'xmlns',
+ 'y',
+ 'y1',
+ 'y2',
+ 'z',
+ 'zoomandpan'
+ ]),
+ z = a([
+ 'accent',
+ 'accentunder',
+ 'align',
+ 'bevelled',
+ 'close',
+ 'columnsalign',
+ 'columnlines',
+ 'columnspan',
+ 'denomalign',
+ 'depth',
+ 'dir',
+ 'display',
+ 'displaystyle',
+ 'encoding',
+ 'fence',
+ 'frame',
+ 'height',
+ 'href',
+ 'id',
+ 'largeop',
+ 'length',
+ 'linethickness',
+ 'lspace',
+ 'lquote',
+ 'mathbackground',
+ 'mathcolor',
+ 'mathsize',
+ 'mathvariant',
+ 'maxsize',
+ 'minsize',
+ 'movablelimits',
+ 'notation',
+ 'numalign',
+ 'open',
+ 'rowalign',
+ 'rowlines',
+ 'rowspacing',
+ 'rowspan',
+ 'rspace',
+ 'rquote',
+ 'scriptlevel',
+ 'scriptminsize',
+ 'scriptsizemultiplier',
+ 'selection',
+ 'separator',
+ 'separators',
+ 'stretchy',
+ 'subscriptshift',
+ 'supscriptshift',
+ 'symmetric',
+ 'voffset',
+ 'width',
+ 'xmlns'
+ ]),
+ Y = a(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']),
+ Q = s(/\{\{[\w\W]*|[\w\W]*\}\}/gm),
+ X = s(/<%[\w\W]*|[\w\W]*%>/gm),
+ ie = s(/\${[\w\W]*}/gm),
+ j = s(/^data-[\-\w.\u00B7-\uFFFF]/),
+ J = s(/^aria-[\-\w]+$/),
+ Z = s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),
+ H = s(/^(?:\w+script|data):/i),
+ q = s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),
+ K = s(/^html$/i),
+ se = s(/^[a-z][.\w]*(-[.\w]+)+$/i);
+ var ce = Object.freeze({
+ __proto__: null,
+ MUSTACHE_EXPR: Q,
+ ERB_EXPR: X,
+ TMPLIT_EXPR: ie,
+ DATA_ATTR: j,
+ ARIA_ATTR: J,
+ IS_ALLOWED_URI: Z,
+ IS_SCRIPT_OR_DATA: H,
+ ATTR_WHITESPACE: q,
+ DOCTYPE_NAME: K,
+ CUSTOM_ELEMENT: se
+ });
+ let ue = {
+ element: 1,
+ attribute: 2,
+ text: 3,
+ cdataSection: 4,
+ entityReference: 5,
+ entityNode: 6,
+ progressingInstruction: 7,
+ comment: 8,
+ document: 9,
+ documentType: 10,
+ documentFragment: 11,
+ notation: 12
+ },
+ te = o(function () {
+ return typeof window > 'u' ? null : window;
+ }, 'getGlobal'),
+ De = o(function (Se, Ue) {
+ if (typeof Se != 'object' || typeof Se.createPolicy != 'function') return null;
+ let Pe = null,
+ _e = 'data-tt-policy-suffix';
+ Ue && Ue.hasAttribute(_e) && (Pe = Ue.getAttribute(_e));
+ let me = 'dompurify' + (Pe ? '#' + Pe : '');
+ try {
+ return Se.createPolicy(me, {
+ createHTML(W) {
+ return W;
+ },
+ createScriptURL(W) {
+ return W;
+ }
+ });
+ } catch {
+ return console.warn('TrustedTypes policy ' + me + ' could not be created.'), null;
+ }
+ }, '_createTrustedTypesPolicy');
+ function oe() {
+ let Ie = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : te(),
+ Se = o((Ft) => oe(Ft), 'DOMPurify');
+ if (
+ ((Se.version = '3.1.6'),
+ (Se.removed = []),
+ !Ie || !Ie.document || Ie.document.nodeType !== ue.document)
+ )
+ return (Se.isSupported = !1), Se;
+ let { document: Ue } = Ie,
+ Pe = Ue,
+ _e = Pe.currentScript,
+ {
+ DocumentFragment: me,
+ HTMLTemplateElement: W,
+ Node: fe,
+ Element: ge,
+ NodeFilter: re,
+ NamedNodeMap: he = Ie.NamedNodeMap || Ie.MozNamedAttrMap,
+ HTMLFormElement: ne,
+ DOMParser: ae,
+ trustedTypes: we
+ } = Ie,
+ Te = ge.prototype,
+ Ce = N(Te, 'cloneNode'),
+ Ae = N(Te, 'remove'),
+ Ge = N(Te, 'nextSibling'),
+ Me = N(Te, 'childNodes'),
+ ye = N(Te, 'parentNode');
+ if (typeof W == 'function') {
+ let Ft = Ue.createElement('template');
+ Ft.content && Ft.content.ownerDocument && (Ue = Ft.content.ownerDocument);
+ }
+ let He,
+ ze = '',
+ {
+ implementation: Ze,
+ createNodeIterator: gt,
+ createDocumentFragment: yt,
+ getElementsByTagName: tt
+ } = Ue,
+ { importNode: Ye } = Pe,
+ Je = {};
+ Se.isSupported =
+ typeof t == 'function' && typeof ye == 'function' && Ze && Ze.createHTMLDocument !== void 0;
+ let {
+ MUSTACHE_EXPR: Ve,
+ ERB_EXPR: je,
+ TMPLIT_EXPR: kt,
+ DATA_ATTR: at,
+ ARIA_ATTR: xt,
+ IS_SCRIPT_OR_DATA: it,
+ ATTR_WHITESPACE: dt,
+ CUSTOM_ELEMENT: lt
+ } = ce,
+ { IS_ALLOWED_URI: It } = ce,
+ mt = null,
+ St = A({}, [...k, ...I, ...C, ...D, ...F]),
+ gr = null,
+ xn = A({}, [...B, ...$, ...z, ...Y]),
+ jt = Object.seal(
+ l(null, {
+ tagNameCheck: {
+ writable: !0,
+ configurable: !1,
+ enumerable: !0,
+ value: null
+ },
+ attributeNameCheck: {
+ writable: !0,
+ configurable: !1,
+ enumerable: !0,
+ value: null
+ },
+ allowCustomizedBuiltInElements: {
+ writable: !0,
+ configurable: !1,
+ enumerable: !0,
+ value: !1
+ }
+ })
+ ),
+ rn = null,
+ Er = null,
+ Kn = !0,
+ hn = !0,
+ Qn = !1,
+ on = !0,
+ Rn = !1,
+ Ha = !0,
+ _a = !1,
+ To = !1,
+ qi = !1,
+ ht = !1,
+ At = !1,
+ $t = !1,
+ rt = !0,
+ Ot = !1,
+ pe = 'user-content-',
+ ur = !0,
+ be = !1,
+ Ir = {},
+ Xc = null,
+ M1 = A({}, [
+ 'annotation-xml',
+ 'audio',
+ 'colgroup',
+ 'desc',
+ 'foreignobject',
+ 'head',
+ 'iframe',
+ 'math',
+ 'mi',
+ 'mn',
+ 'mo',
+ 'ms',
+ 'mtext',
+ 'noembed',
+ 'noframes',
+ 'noscript',
+ 'plaintext',
+ 'script',
+ 'style',
+ 'svg',
+ 'template',
+ 'thead',
+ 'title',
+ 'video',
+ 'xmp'
+ ]),
+ _b = null,
+ I1 = A({}, ['audio', 'video', 'img', 'source', 'image', 'track']),
+ O1 = null,
+ ci = A({}, [
+ 'alt',
+ 'class',
+ 'for',
+ 'id',
+ 'label',
+ 'name',
+ 'pattern',
+ 'placeholder',
+ 'role',
+ 'summary',
+ 'title',
+ 'value',
+ 'style',
+ 'xmlns'
+ ]),
+ ko = 'http://www.w3.org/1998/Math/MathML',
+ ih = 'http://www.w3.org/2000/svg',
+ Us = 'http://www.w3.org/1999/xhtml',
+ ah = Us,
+ Lb = !1,
+ P1 = null,
+ sa = A({}, [ko, ih, Us], g),
+ jc = null,
+ Kc = ['application/xhtml+xml', 'text/html'],
+ us = 'text/html',
+ _i = null,
+ Wl = null,
+ sh = Ue.createElement('form'),
+ zf = o(function (Re) {
+ return Re instanceof RegExp || Re instanceof Function;
+ }, 'isRegexOrFunction'),
+ Hs = o(function () {
+ let Re = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
+ if (!(Wl && Wl === Re)) {
+ if (
+ ((!Re || typeof Re != 'object') && (Re = {}),
+ (Re = M(Re)),
+ (jc = Kc.indexOf(Re.PARSER_MEDIA_TYPE) === -1 ? us : Re.PARSER_MEDIA_TYPE),
+ (_i = jc === 'application/xhtml+xml' ? g : m),
+ (mt = w(Re, 'ALLOWED_TAGS') ? A({}, Re.ALLOWED_TAGS, _i) : St),
+ (gr = w(Re, 'ALLOWED_ATTR') ? A({}, Re.ALLOWED_ATTR, _i) : xn),
+ (P1 = w(Re, 'ALLOWED_NAMESPACES') ? A({}, Re.ALLOWED_NAMESPACES, g) : sa),
+ (O1 = w(Re, 'ADD_URI_SAFE_ATTR') ? A(M(ci), Re.ADD_URI_SAFE_ATTR, _i) : ci),
+ (_b = w(Re, 'ADD_DATA_URI_TAGS') ? A(M(I1), Re.ADD_DATA_URI_TAGS, _i) : I1),
+ (Xc = w(Re, 'FORBID_CONTENTS') ? A({}, Re.FORBID_CONTENTS, _i) : M1),
+ (rn = w(Re, 'FORBID_TAGS') ? A({}, Re.FORBID_TAGS, _i) : {}),
+ (Er = w(Re, 'FORBID_ATTR') ? A({}, Re.FORBID_ATTR, _i) : {}),
+ (Ir = w(Re, 'USE_PROFILES') ? Re.USE_PROFILES : !1),
+ (Kn = Re.ALLOW_ARIA_ATTR !== !1),
+ (hn = Re.ALLOW_DATA_ATTR !== !1),
+ (Qn = Re.ALLOW_UNKNOWN_PROTOCOLS || !1),
+ (on = Re.ALLOW_SELF_CLOSE_IN_ATTR !== !1),
+ (Rn = Re.SAFE_FOR_TEMPLATES || !1),
+ (Ha = Re.SAFE_FOR_XML !== !1),
+ (_a = Re.WHOLE_DOCUMENT || !1),
+ (ht = Re.RETURN_DOM || !1),
+ (At = Re.RETURN_DOM_FRAGMENT || !1),
+ ($t = Re.RETURN_TRUSTED_TYPE || !1),
+ (qi = Re.FORCE_BODY || !1),
+ (rt = Re.SANITIZE_DOM !== !1),
+ (Ot = Re.SANITIZE_NAMED_PROPS || !1),
+ (ur = Re.KEEP_CONTENT !== !1),
+ (be = Re.IN_PLACE || !1),
+ (It = Re.ALLOWED_URI_REGEXP || Z),
+ (ah = Re.NAMESPACE || Us),
+ (jt = Re.CUSTOM_ELEMENT_HANDLING || {}),
+ Re.CUSTOM_ELEMENT_HANDLING &&
+ zf(Re.CUSTOM_ELEMENT_HANDLING.tagNameCheck) &&
+ (jt.tagNameCheck = Re.CUSTOM_ELEMENT_HANDLING.tagNameCheck),
+ Re.CUSTOM_ELEMENT_HANDLING &&
+ zf(Re.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) &&
+ (jt.attributeNameCheck = Re.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),
+ Re.CUSTOM_ELEMENT_HANDLING &&
+ typeof Re.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == 'boolean' &&
+ (jt.allowCustomizedBuiltInElements =
+ Re.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),
+ Rn && (hn = !1),
+ At && (ht = !0),
+ Ir &&
+ ((mt = A({}, F)),
+ (gr = []),
+ Ir.html === !0 && (A(mt, k), A(gr, B)),
+ Ir.svg === !0 && (A(mt, I), A(gr, $), A(gr, Y)),
+ Ir.svgFilters === !0 && (A(mt, C), A(gr, $), A(gr, Y)),
+ Ir.mathMl === !0 && (A(mt, D), A(gr, z), A(gr, Y))),
+ Re.ADD_TAGS && (mt === St && (mt = M(mt)), A(mt, Re.ADD_TAGS, _i)),
+ Re.ADD_ATTR && (gr === xn && (gr = M(gr)), A(gr, Re.ADD_ATTR, _i)),
+ Re.ADD_URI_SAFE_ATTR && A(O1, Re.ADD_URI_SAFE_ATTR, _i),
+ Re.FORBID_CONTENTS && (Xc === M1 && (Xc = M(Xc)), A(Xc, Re.FORBID_CONTENTS, _i)),
+ ur && (mt['#text'] = !0),
+ _a && A(mt, ['html', 'head', 'body']),
+ mt.table && (A(mt, ['tbody']), delete rn.tbody),
+ Re.TRUSTED_TYPES_POLICY)
+ ) {
+ if (typeof Re.TRUSTED_TYPES_POLICY.createHTML != 'function')
+ throw T(
+ 'TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.'
+ );
+ if (typeof Re.TRUSTED_TYPES_POLICY.createScriptURL != 'function')
+ throw T(
+ 'TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.'
+ );
+ (He = Re.TRUSTED_TYPES_POLICY), (ze = He.createHTML(''));
+ } else
+ He === void 0 && (He = De(we, _e)),
+ He !== null && typeof ze == 'string' && (ze = He.createHTML(''));
+ a && a(Re), (Wl = Re);
+ }
+ }, '_parseConfig'),
+ B1 = A({}, ['mi', 'mo', 'mn', 'ms', 'mtext']),
+ Gf = A({}, ['foreignobject', 'annotation-xml']),
+ F1 = A({}, ['title', 'style', 'font', 'a', 'script']),
+ La = A({}, [...I, ...C, ...O]),
+ vF = A({}, [...D, ...P]),
+ Ive = o(function (Re) {
+ let st = ye(Re);
+ (!st || !st.tagName) && (st = { namespaceURI: ah, tagName: 'template' });
+ let Rt = m(Re.tagName),
+ bn = m(st.tagName);
+ return P1[Re.namespaceURI]
+ ? Re.namespaceURI === ih
+ ? st.namespaceURI === Us
+ ? Rt === 'svg'
+ : st.namespaceURI === ko
+ ? Rt === 'svg' && (bn === 'annotation-xml' || B1[bn])
+ : !!La[Rt]
+ : Re.namespaceURI === ko
+ ? st.namespaceURI === Us
+ ? Rt === 'math'
+ : st.namespaceURI === ih
+ ? Rt === 'math' && Gf[bn]
+ : !!vF[Rt]
+ : Re.namespaceURI === Us
+ ? (st.namespaceURI === ih && !Gf[bn]) || (st.namespaceURI === ko && !B1[bn])
+ ? !1
+ : !vF[Rt] && (F1[Rt] || !La[Rt])
+ : !!(jc === 'application/xhtml+xml' && P1[Re.namespaceURI])
+ : !1;
+ }, '_checkValidNamespace'),
+ ql = o(function (Re) {
+ p(Se.removed, { element: Re });
+ try {
+ ye(Re).removeChild(Re);
+ } catch {
+ Ae(Re);
+ }
+ }, '_forceRemove'),
+ Db = o(function (Re, st) {
+ try {
+ p(Se.removed, { attribute: st.getAttributeNode(Re), from: st });
+ } catch {
+ p(Se.removed, { attribute: null, from: st });
+ }
+ if ((st.removeAttribute(Re), Re === 'is' && !gr[Re]))
+ if (ht || At)
+ try {
+ ql(st);
+ } catch {}
+ else
+ try {
+ st.setAttribute(Re, '');
+ } catch {}
+ }, '_removeAttribute'),
+ xF = o(function (Re) {
+ let st = null,
+ Rt = null;
+ if (qi) Re = '' + Re;
+ else {
+ let oa = y(Re, /^[\r\n\t ]+/);
+ Rt = oa && oa[0];
+ }
+ jc === 'application/xhtml+xml' &&
+ ah === Us &&
+ (Re =
+ '
' +
+ Re +
+ '');
+ let bn = He ? He.createHTML(Re) : Re;
+ if (ah === Us)
+ try {
+ st = new ae().parseFromString(bn, jc);
+ } catch {}
+ if (!st || !st.documentElement) {
+ st = Ze.createDocument(ah, 'template', null);
+ try {
+ st.documentElement.innerHTML = Lb ? ze : bn;
+ } catch {}
+ }
+ let Da = st.body || st.documentElement;
+ return (
+ Re && Rt && Da.insertBefore(Ue.createTextNode(Rt), Da.childNodes[0] || null),
+ ah === Us ? tt.call(st, _a ? 'html' : 'body')[0] : _a ? st.documentElement : Da
+ );
+ }, '_initDocument'),
+ bF = o(function (Re) {
+ return gt.call(
+ Re.ownerDocument || Re,
+ Re,
+ re.SHOW_ELEMENT |
+ re.SHOW_COMMENT |
+ re.SHOW_TEXT |
+ re.SHOW_PROCESSING_INSTRUCTION |
+ re.SHOW_CDATA_SECTION,
+ null
+ );
+ }, '_createNodeIterator'),
+ wF = o(function (Re) {
+ return (
+ Re instanceof ne &&
+ (typeof Re.nodeName != 'string' ||
+ typeof Re.textContent != 'string' ||
+ typeof Re.removeChild != 'function' ||
+ !(Re.attributes instanceof he) ||
+ typeof Re.removeAttribute != 'function' ||
+ typeof Re.setAttribute != 'function' ||
+ typeof Re.namespaceURI != 'string' ||
+ typeof Re.insertBefore != 'function' ||
+ typeof Re.hasChildNodes != 'function')
+ );
+ }, '_isClobbered'),
+ TF = o(function (Re) {
+ return typeof fe == 'function' && Re instanceof fe;
+ }, '_isNode'),
+ Qc = o(function (Re, st, Rt) {
+ Je[Re] &&
+ f(Je[Re], (bn) => {
+ bn.call(Se, st, Rt, Wl);
+ });
+ }, '_executeHook'),
+ kF = o(function (Re) {
+ let st = null;
+ if ((Qc('beforeSanitizeElements', Re, null), wF(Re))) return ql(Re), !0;
+ let Rt = _i(Re.nodeName);
+ if (
+ (Qc('uponSanitizeElement', Re, { tagName: Rt, allowedTags: mt }),
+ (Re.hasChildNodes() &&
+ !TF(Re.firstElementChild) &&
+ S(/<[/\w]/g, Re.innerHTML) &&
+ S(/<[/\w]/g, Re.textContent)) ||
+ Re.nodeType === ue.progressingInstruction ||
+ (Ha && Re.nodeType === ue.comment && S(/<[/\w]/g, Re.data)))
+ )
+ return ql(Re), !0;
+ if (!mt[Rt] || rn[Rt]) {
+ if (
+ !rn[Rt] &&
+ CF(Rt) &&
+ ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Rt)) ||
+ (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Rt)))
+ )
+ return !1;
+ if (ur && !Xc[Rt]) {
+ let bn = ye(Re) || Re.parentNode,
+ Da = Me(Re) || Re.childNodes;
+ if (Da && bn) {
+ let oa = Da.length;
+ for (let hs = oa - 1; hs >= 0; --hs) {
+ let Xl = Ce(Da[hs], !0);
+ (Xl.__removalCount = (Re.__removalCount || 0) + 1), bn.insertBefore(Xl, Ge(Re));
+ }
+ }
+ }
+ return ql(Re), !0;
+ }
+ return (Re instanceof ge && !Ive(Re)) ||
+ ((Rt === 'noscript' || Rt === 'noembed' || Rt === 'noframes') &&
+ S(/<\/no(script|embed|frames)/i, Re.innerHTML))
+ ? (ql(Re), !0)
+ : (Rn &&
+ Re.nodeType === ue.text &&
+ ((st = Re.textContent),
+ f([Ve, je, kt], (bn) => {
+ st = v(st, bn, ' ');
+ }),
+ Re.textContent !== st &&
+ (p(Se.removed, { element: Re.cloneNode() }), (Re.textContent = st))),
+ Qc('afterSanitizeElements', Re, null),
+ !1);
+ }, '_sanitizeElements'),
+ EF = o(function (Re, st, Rt) {
+ if (rt && (st === 'id' || st === 'name') && (Rt in Ue || Rt in sh)) return !1;
+ if (!(hn && !Er[st] && S(at, st))) {
+ if (!(Kn && S(xt, st))) {
+ if (!gr[st] || Er[st]) {
+ if (
+ !(
+ (CF(Re) &&
+ ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Re)) ||
+ (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Re))) &&
+ ((jt.attributeNameCheck instanceof RegExp &&
+ S(jt.attributeNameCheck, st)) ||
+ (jt.attributeNameCheck instanceof Function &&
+ jt.attributeNameCheck(st)))) ||
+ (st === 'is' &&
+ jt.allowCustomizedBuiltInElements &&
+ ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Rt)) ||
+ (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Rt))))
+ )
+ )
+ return !1;
+ } else if (!O1[st]) {
+ if (!S(It, v(Rt, dt, ''))) {
+ if (
+ !(
+ (st === 'src' || st === 'xlink:href' || st === 'href') &&
+ Re !== 'script' &&
+ x(Rt, 'data:') === 0 &&
+ _b[Re]
+ )
+ ) {
+ if (!(Qn && !S(it, v(Rt, dt, '')))) {
+ if (Rt) return !1;
+ }
+ }
+ }
+ }
+ }
+ }
+ return !0;
+ }, '_isValidAttribute'),
+ CF = o(function (Re) {
+ return Re !== 'annotation-xml' && y(Re, lt);
+ }, '_isBasicCustomElement'),
+ SF = o(function (Re) {
+ Qc('beforeSanitizeAttributes', Re, null);
+ let { attributes: st } = Re;
+ if (!st) return;
+ let Rt = {
+ attrName: '',
+ attrValue: '',
+ keepAttr: !0,
+ allowedAttributes: gr
+ },
+ bn = st.length;
+ for (; bn--; ) {
+ let Da = st[bn],
+ { name: oa, namespaceURI: hs, value: Xl } = Da,
+ z1 = _i(oa),
+ Ya = oa === 'value' ? Xl : b(Xl);
+ if (
+ ((Rt.attrName = z1),
+ (Rt.attrValue = Ya),
+ (Rt.keepAttr = !0),
+ (Rt.forceKeepAttr = void 0),
+ Qc('uponSanitizeAttribute', Re, Rt),
+ (Ya = Rt.attrValue),
+ Ha && S(/((--!?|])>)|<\/(style|title)/i, Ya))
+ ) {
+ Db(oa, Re);
+ continue;
+ }
+ if (Rt.forceKeepAttr || (Db(oa, Re), !Rt.keepAttr)) continue;
+ if (!on && S(/\/>/i, Ya)) {
+ Db(oa, Re);
+ continue;
+ }
+ Rn &&
+ f([Ve, je, kt], (_F) => {
+ Ya = v(Ya, _F, ' ');
+ });
+ let AF = _i(Re.nodeName);
+ if (EF(AF, z1, Ya)) {
+ if (
+ (Ot && (z1 === 'id' || z1 === 'name') && (Db(oa, Re), (Ya = pe + Ya)),
+ He && typeof we == 'object' && typeof we.getAttributeType == 'function' && !hs)
+ )
+ switch (we.getAttributeType(AF, z1)) {
+ case 'TrustedHTML': {
+ Ya = He.createHTML(Ya);
+ break;
+ }
+ case 'TrustedScriptURL': {
+ Ya = He.createScriptURL(Ya);
+ break;
+ }
+ }
+ try {
+ hs ? Re.setAttributeNS(hs, oa, Ya) : Re.setAttribute(oa, Ya),
+ wF(Re) ? ql(Re) : d(Se.removed);
+ } catch {}
+ }
+ }
+ Qc('afterSanitizeAttributes', Re, null);
+ }, '_sanitizeAttributes'),
+ Ove = o(function Ft(Re) {
+ let st = null,
+ Rt = bF(Re);
+ for (Qc('beforeSanitizeShadowDOM', Re, null); (st = Rt.nextNode()); )
+ Qc('uponSanitizeShadowNode', st, null),
+ !kF(st) && (st.content instanceof me && Ft(st.content), SF(st));
+ Qc('afterSanitizeShadowDOM', Re, null);
+ }, '_sanitizeShadowDOM');
+ return (
+ (Se.sanitize = function (Ft) {
+ let Re = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
+ st = null,
+ Rt = null,
+ bn = null,
+ Da = null;
+ if (((Lb = !Ft), Lb && (Ft = ''), typeof Ft != 'string' && !TF(Ft)))
+ if (typeof Ft.toString == 'function') {
+ if (((Ft = Ft.toString()), typeof Ft != 'string'))
+ throw T('dirty is not a string, aborting');
+ } else throw T('toString is not a function');
+ if (!Se.isSupported) return Ft;
+ if ((To || Hs(Re), (Se.removed = []), typeof Ft == 'string' && (be = !1), be)) {
+ if (Ft.nodeName) {
+ let Xl = _i(Ft.nodeName);
+ if (!mt[Xl] || rn[Xl])
+ throw T('root node is forbidden and cannot be sanitized in-place');
+ }
+ } else if (Ft instanceof fe)
+ (st = xF('')),
+ (Rt = st.ownerDocument.importNode(Ft, !0)),
+ (Rt.nodeType === ue.element && Rt.nodeName === 'BODY') || Rt.nodeName === 'HTML'
+ ? (st = Rt)
+ : st.appendChild(Rt);
+ else {
+ if (!ht && !Rn && !_a && Ft.indexOf('<') === -1) return He && $t ? He.createHTML(Ft) : Ft;
+ if (((st = xF(Ft)), !st)) return ht ? null : $t ? ze : '';
+ }
+ st && qi && ql(st.firstChild);
+ let oa = bF(be ? Ft : st);
+ for (; (bn = oa.nextNode()); ) kF(bn) || (bn.content instanceof me && Ove(bn.content), SF(bn));
+ if (be) return Ft;
+ if (ht) {
+ if (At) for (Da = yt.call(st.ownerDocument); st.firstChild; ) Da.appendChild(st.firstChild);
+ else Da = st;
+ return (gr.shadowroot || gr.shadowrootmode) && (Da = Ye.call(Pe, Da, !0)), Da;
+ }
+ let hs = _a ? st.outerHTML : st.innerHTML;
+ return (
+ _a &&
+ mt['!doctype'] &&
+ st.ownerDocument &&
+ st.ownerDocument.doctype &&
+ st.ownerDocument.doctype.name &&
+ S(K, st.ownerDocument.doctype.name) &&
+ (hs =
+ '
+` +
+ hs),
+ Rn &&
+ f([Ve, je, kt], (Xl) => {
+ hs = v(hs, Xl, ' ');
+ }),
+ He && $t ? He.createHTML(hs) : hs
+ );
+ }),
+ (Se.setConfig = function () {
+ let Ft = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
+ Hs(Ft), (To = !0);
+ }),
+ (Se.clearConfig = function () {
+ (Wl = null), (To = !1);
+ }),
+ (Se.isValidAttribute = function (Ft, Re, st) {
+ Wl || Hs({});
+ let Rt = _i(Ft),
+ bn = _i(Re);
+ return EF(Rt, bn, st);
+ }),
+ (Se.addHook = function (Ft, Re) {
+ typeof Re == 'function' && ((Je[Ft] = Je[Ft] || []), p(Je[Ft], Re));
+ }),
+ (Se.removeHook = function (Ft) {
+ if (Je[Ft]) return d(Je[Ft]);
+ }),
+ (Se.removeHooks = function (Ft) {
+ Je[Ft] && (Je[Ft] = []);
+ }),
+ (Se.removeAllHooks = function () {
+ Je = {};
+ }),
+ Se
+ );
+ }
+ o(oe, 'createDOMPurify');
+ var ke = oe();
+ return ke;
+ });
+ });
+ var k$ = {};
+ hr(k$, { default: () => Ebe });
+ function B2e(t) {
+ return String(t).replace(P2e, (e) => O2e[e]);
+ }
+ function $2e(t) {
+ if (t.default) return t.default;
+ var e = t.type,
+ r = Array.isArray(e) ? e[0] : e;
+ if (typeof r != 'string') return r.enum[0];
+ switch (r) {
+ case 'boolean':
+ return !1;
+ case 'string':
+ return '';
+ case 'number':
+ return 0;
+ case 'object':
+ return {};
+ }
+ }
+ function X2e(t) {
+ for (var e = 0; e < b7.length; e++)
+ for (var r = b7[e], n = 0; n < r.blocks.length; n++) {
+ var i = r.blocks[n];
+ if (t >= i[0] && t <= i[1]) return r.name;
+ }
+ return null;
+ }
+ function LG(t) {
+ for (var e = 0; e < h4.length; e += 2) if (t >= h4[e] && t <= h4[e + 1]) return !0;
+ return !1;
+ }
+ function axe(t, e) {
+ Zl[t] = e;
+ }
+ function M7(t, e, r) {
+ if (!Zl[e]) throw new Error('Font metrics not found for font: ' + e + '.');
+ var n = t.charCodeAt(0),
+ i = Zl[e][n];
+ if (
+ (!i && t[0] in Zz && ((n = Zz[t[0]].charCodeAt(0)), (i = Zl[e][n])),
+ !i && r === 'text' && LG(n) && (i = Zl[e][77]),
+ i)
+ )
+ return {
+ depth: i[0],
+ height: i[1],
+ italic: i[2],
+ skew: i[3],
+ width: i[4]
+ };
+ }
+ function sxe(t) {
+ var e;
+ if ((t >= 5 ? (e = 0) : t >= 3 ? (e = 1) : (e = 2), !l7[e])) {
+ var r = (l7[e] = { cssEmPerMu: Jb.quad[e] / 18 });
+ for (var n in Jb) Jb.hasOwnProperty(n) && (r[n] = Jb[n][e]);
+ }
+ return l7[e];
+ }
+ function tG(t) {
+ if (t instanceof ms) return t;
+ throw new Error('Expected symbolNode but got ' + String(t) + '.');
+ }
+ function uxe(t) {
+ if (t instanceof jf) return t;
+ throw new Error('Expected span but got ' + String(t) + '.');
+ }
+ function G(t, e, r, n, i, a) {
+ (wn[t][i] = { font: e, group: r, replace: n }), a && n && (wn[t][n] = wn[t][i]);
+ }
+ function vt(t) {
+ for (
+ var { type: e, names: r, props: n, handler: i, htmlBuilder: a, mathmlBuilder: s } = t,
+ l = {
+ type: e,
+ numArgs: n.numArgs,
+ argTypes: n.argTypes,
+ allowedInArgument: !!n.allowedInArgument,
+ allowedInText: !!n.allowedInText,
+ allowedInMath: n.allowedInMath === void 0 ? !0 : n.allowedInMath,
+ numOptionalArgs: n.numOptionalArgs || 0,
+ infix: !!n.infix,
+ primitive: !!n.primitive,
+ handler: i
+ },
+ u = 0;
+ u < r.length;
+ ++u
+ )
+ zG[r[u]] = l;
+ e && (a && (m4[e] = a), s && (g4[e] = s));
+ }
+ function Kf(t) {
+ var { type: e, htmlBuilder: r, mathmlBuilder: n } = t;
+ vt({
+ type: e,
+ names: [],
+ props: { numArgs: 0 },
+ handler() {
+ throw new Error('Should never be called.');
+ },
+ htmlBuilder: r,
+ mathmlBuilder: n
+ });
+ }
+ function s4(t, e) {
+ var r = su(['base'], t, e),
+ n = su(['strut']);
+ return (
+ (n.style.height = ct(r.height + r.depth)),
+ r.depth && (n.style.verticalAlign = ct(-r.depth)),
+ r.children.unshift(n),
+ r
+ );
+ }
+ function C7(t, e) {
+ var r = null;
+ t.length === 1 && t[0].type === 'tag' && ((r = t[0].tag), (t = t[0].body));
+ var n = Ri(t, e, 'root'),
+ i;
+ n.length === 2 && n[1].hasClass('tag') && (i = n.pop());
+ for (var a = [], s = [], l = 0; l < n.length; l++)
+ if ((s.push(n[l]), n[l].hasClass('mbin') || n[l].hasClass('mrel') || n[l].hasClass('allowbreak'))) {
+ for (var u = !1; l < n.length - 1 && n[l + 1].hasClass('mspace') && !n[l + 1].hasClass('newline'); )
+ l++, s.push(n[l]), n[l].hasClass('nobreak') && (u = !0);
+ u || (a.push(s4(s, e)), (s = []));
+ } else n[l].hasClass('newline') && (s.pop(), s.length > 0 && (a.push(s4(s, e)), (s = [])), a.push(n[l]));
+ s.length > 0 && a.push(s4(s, e));
+ var h;
+ r ? ((h = s4(Ri(r, e, !0))), (h.classes = ['tag']), a.push(h)) : i && a.push(i);
+ var f = su(['katex-html'], a);
+ if ((f.setAttribute('aria-hidden', 'true'), h)) {
+ var d = h.children[0];
+ (d.style.height = ct(f.height + f.depth)), f.depth && (d.style.verticalAlign = ct(-f.depth));
+ }
+ return f;
+ }
+ function $G(t) {
+ return new Xf(t);
+ }
+ function sG(t, e, r, n, i) {
+ var a = gs(t, r),
+ s;
+ a.length === 1 && a[0] instanceof ps && Vt.contains(['mrow', 'mtable'], a[0].type)
+ ? (s = a[0])
+ : (s = new et.MathNode('mrow', a));
+ var l = new et.MathNode('annotation', [new et.TextNode(e)]);
+ l.setAttribute('encoding', 'application/x-tex');
+ var u = new et.MathNode('semantics', [s, l]),
+ h = new et.MathNode('math', [u]);
+ h.setAttribute('xmlns', 'http://www.w3.org/1998/Math/MathML'), n && h.setAttribute('display', 'block');
+ var f = i ? 'katex' : 'katex-mathml';
+ return Be.makeSpan([f], [h]);
+ }
+ function ir(t, e) {
+ if (!t || t.type !== e)
+ throw new Error('Expected node of type ' + e + ', but got ' + (t ? 'node of type ' + t.type : String(t)));
+ return t;
+ }
+ function B7(t) {
+ var e = T4(t);
+ if (!e)
+ throw new Error(
+ 'Expected node of symbol group type, but got ' + (t ? 'node of type ' + t.type : String(t))
+ );
+ return e;
+ }
+ function T4(t) {
+ return t && (t.type === 'atom' || fxe.hasOwnProperty(t.type)) ? t : null;
+ }
+ function YG(t, e) {
+ var r = Ri(t.body, e, !0);
+ return Vxe([t.mclass], r, e);
+ }
+ function WG(t, e) {
+ var r,
+ n = gs(t.body, e);
+ return (
+ t.mclass === 'minner'
+ ? (r = new et.MathNode('mpadded', n))
+ : t.mclass === 'mord'
+ ? t.isCharacterBox
+ ? ((r = n[0]), (r.type = 'mi'))
+ : (r = new et.MathNode('mi', n))
+ : (t.isCharacterBox ? ((r = n[0]), (r.type = 'mo')) : (r = new et.MathNode('mo', n)),
+ t.mclass === 'mbin'
+ ? ((r.attributes.lspace = '0.22em'), (r.attributes.rspace = '0.22em'))
+ : t.mclass === 'mpunct'
+ ? ((r.attributes.lspace = '0em'), (r.attributes.rspace = '0.17em'))
+ : t.mclass === 'mopen' || t.mclass === 'mclose'
+ ? ((r.attributes.lspace = '0em'), (r.attributes.rspace = '0em'))
+ : t.mclass === 'minner' &&
+ ((r.attributes.lspace = '0.0556em'), (r.attributes.width = '+0.1111em'))),
+ r
+ );
+ }
+ function Yxe(t, e, r) {
+ var n = Uxe[t];
+ switch (n) {
+ case '\\\\cdrightarrow':
+ case '\\\\cdleftarrow':
+ return r.callFunction(n, [e[0]], [e[1]]);
+ case '\\uparrow':
+ case '\\downarrow': {
+ var i = r.callFunction('\\\\cdleft', [e[0]], []),
+ a = { type: 'atom', text: n, mode: 'math', family: 'rel' },
+ s = r.callFunction('\\Big', [a], []),
+ l = r.callFunction('\\\\cdright', [e[1]], []),
+ u = { type: 'ordgroup', mode: 'math', body: [i, s, l] };
+ return r.callFunction('\\\\cdparent', [u], []);
+ }
+ case '\\\\cdlongequal':
+ return r.callFunction('\\\\cdlongequal', [], []);
+ case '\\Vert': {
+ var h = { type: 'textord', text: '\\Vert', mode: 'math' };
+ return r.callFunction('\\Big', [h], []);
+ }
+ default:
+ return { type: 'textord', text: ' ', mode: 'math' };
+ }
+ }
+ function Wxe(t) {
+ var e = [];
+ for (t.gullet.beginGroup(), t.gullet.macros.set('\\cr', '\\\\\\relax'), t.gullet.beginGroup(); ; ) {
+ e.push(t.parseExpression(!1, '\\\\')), t.gullet.endGroup(), t.gullet.beginGroup();
+ var r = t.fetch().text;
+ if (r === '&' || r === '\\\\') t.consume();
+ else if (r === '\\end') {
+ e[e.length - 1].length === 0 && e.pop();
+ break;
+ } else throw new nt('Expected \\\\ or \\cr or \\end', t.nextToken);
+ }
+ for (var n = [], i = [n], a = 0; a < e.length; a++) {
+ for (var s = e[a], l = oG(), u = 0; u < s.length; u++)
+ if (!lG(s[u])) l.body.push(s[u]);
+ else {
+ n.push(l), (u += 1);
+ var h = B7(s[u]).text,
+ f = new Array(2);
+ if (
+ ((f[0] = { type: 'ordgroup', mode: 'math', body: [] }),
+ (f[1] = { type: 'ordgroup', mode: 'math', body: [] }),
+ !('=|.'.indexOf(h) > -1))
+ )
+ if ('<>AV'.indexOf(h) > -1)
+ for (var d = 0; d < 2; d++) {
+ for (var p = !0, m = u + 1; m < s.length; m++) {
+ if (Hxe(s[m], h)) {
+ (p = !1), (u = m);
+ break;
+ }
+ if (lG(s[m]))
+ throw new nt('Missing a ' + h + ' character to complete a CD arrow.', s[m]);
+ f[d].body.push(s[m]);
+ }
+ if (p) throw new nt('Missing a ' + h + ' character to complete a CD arrow.', s[u]);
+ }
+ else throw new nt('Expected one of "<>AV=|." after @', s[u]);
+ var g = Yxe(h, f, t),
+ y = { type: 'styling', body: [g], mode: 'math', style: 'display' };
+ n.push(y), (l = oG());
+ }
+ a % 2 === 0 ? n.push(l) : n.shift(), (n = []), i.push(n);
+ }
+ t.gullet.endGroup(), t.gullet.endGroup();
+ var v = new Array(i[0].length).fill({
+ type: 'align',
+ align: 'c',
+ pregap: 0.25,
+ postgap: 0.25
+ });
+ return {
+ type: 'array',
+ mode: 'math',
+ body: i,
+ arraystretch: 1,
+ addJot: !0,
+ rowGaps: [null],
+ cols: v,
+ colSeparationType: 'CD',
+ hLinesBeforeRow: new Array(i.length + 1).fill([])
+ };
+ }
+ function E4(t, e) {
+ var r = T4(t);
+ if (r && Vt.contains(abe, r.text)) return r;
+ throw r
+ ? new nt("Invalid delimiter '" + r.text + "' after '" + e.funcName + "'", t)
+ : new nt("Invalid delimiter type '" + t.type + "'", t);
+ }
+ function uG(t) {
+ if (!t.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed.");
+ }
+ function ec(t) {
+ for (
+ var { type: e, names: r, props: n, handler: i, htmlBuilder: a, mathmlBuilder: s } = t,
+ l = {
+ type: e,
+ numArgs: n.numArgs || 0,
+ allowedInText: !1,
+ numOptionalArgs: 0,
+ handler: i
+ },
+ u = 0;
+ u < r.length;
+ ++u
+ )
+ a$[r[u]] = l;
+ a && (m4[e] = a), s && (g4[e] = s);
+ }
+ function le(t, e) {
+ s$[t] = e;
+ }
+ function hG(t) {
+ var e = [];
+ t.consumeSpaces();
+ var r = t.fetch().text;
+ for (
+ r === '\\relax' && (t.consume(), t.consumeSpaces(), (r = t.fetch().text));
+ r === '\\hline' || r === '\\hdashline';
+
+ )
+ t.consume(), e.push(r === '\\hdashline'), t.consumeSpaces(), (r = t.fetch().text);
+ return e;
+ }
+ function V7(t) {
+ if (t.indexOf('ed') === -1) return t.indexOf('*') === -1;
+ }
+ function mh(t, e, r) {
+ var {
+ hskipBeforeAndAfter: n,
+ addJot: i,
+ cols: a,
+ arraystretch: s,
+ colSeparationType: l,
+ autoTag: u,
+ singleRow: h,
+ emptySingleRow: f,
+ maxNumCols: d,
+ leqno: p
+ } = e;
+ if ((t.gullet.beginGroup(), h || t.gullet.macros.set('\\cr', '\\\\\\relax'), !s)) {
+ var m = t.gullet.expandMacroAsText('\\arraystretch');
+ if (m == null) s = 1;
+ else if (((s = parseFloat(m)), !s || s < 0)) throw new nt('Invalid \\arraystretch: ' + m);
+ }
+ t.gullet.beginGroup();
+ var g = [],
+ y = [g],
+ v = [],
+ x = [],
+ b = u != null ? [] : void 0;
+ function w() {
+ u && t.gullet.macros.set('\\@eqnsw', '1', !0);
+ }
+ o(w, 'beginRow');
+ function S() {
+ b &&
+ (t.gullet.macros.get('\\df@tag')
+ ? (b.push(t.subparse([new Ao('\\df@tag')])), t.gullet.macros.set('\\df@tag', void 0, !0))
+ : b.push(!!u && t.gullet.macros.get('\\@eqnsw') === '1'));
+ }
+ for (o(S, 'endRow'), w(), x.push(hG(t)); ; ) {
+ var T = t.parseExpression(!1, h ? '\\end' : '\\\\');
+ t.gullet.endGroup(),
+ t.gullet.beginGroup(),
+ (T = { type: 'ordgroup', mode: t.mode, body: T }),
+ r && (T = { type: 'styling', mode: t.mode, style: r, body: [T] }),
+ g.push(T);
+ var E = t.fetch().text;
+ if (E === '&') {
+ if (d && g.length === d) {
+ if (h || l) throw new nt('Too many tab characters: &', t.nextToken);
+ t.settings.reportNonstrict('textEnv', 'Too few columns specified in the {array} column argument.');
+ }
+ t.consume();
+ } else if (E === '\\end') {
+ S(),
+ g.length === 1 &&
+ T.type === 'styling' &&
+ T.body[0].body.length === 0 &&
+ (y.length > 1 || !f) &&
+ y.pop(),
+ x.length < y.length + 1 && x.push([]);
+ break;
+ } else if (E === '\\\\') {
+ t.consume();
+ var _ = void 0;
+ t.gullet.future().text !== ' ' && (_ = t.parseSizeGroup(!0)),
+ v.push(_ ? _.value : null),
+ S(),
+ x.push(hG(t)),
+ (g = []),
+ y.push(g),
+ w();
+ } else throw new nt('Expected & or \\\\ or \\cr or \\end', t.nextToken);
+ }
+ return (
+ t.gullet.endGroup(),
+ t.gullet.endGroup(),
+ {
+ type: 'array',
+ mode: t.mode,
+ addJot: i,
+ arraystretch: s,
+ body: y,
+ cols: a,
+ rowGaps: v,
+ hskipBeforeAndAfter: n,
+ hLinesBeforeRow: x,
+ colSeparationType: l,
+ tags: b,
+ leqno: p
+ }
+ );
+ }
+ function U7(t) {
+ return t.slice(0, 1) === 'd' ? 'display' : 'text';
+ }
+ function m$(t, e, r) {
+ for (var n = Ri(t, e, !1), i = e.sizeMultiplier / r.sizeMultiplier, a = 0; a < n.length; a++) {
+ var s = n[a].classes.indexOf('sizing');
+ s < 0
+ ? Array.prototype.push.apply(n[a].classes, e.sizingClasses(r))
+ : n[a].classes[s + 1] === 'reset-size' + e.size && (n[a].classes[s + 1] = 'reset-size' + r.size),
+ (n[a].height *= i),
+ (n[a].depth *= i);
+ }
+ return Be.makeFragment(n);
+ }
+ var Xs,
+ Ao,
+ nt,
+ R2e,
+ N2e,
+ M2e,
+ I2e,
+ O2e,
+ P2e,
+ _G,
+ F2e,
+ z2e,
+ G2e,
+ Vt,
+ u4,
+ ry,
+ Kl,
+ N7,
+ f4,
+ gp,
+ iu,
+ ny,
+ So,
+ yp,
+ qa,
+ Ql,
+ V2e,
+ U2e,
+ H2e,
+ Y2e,
+ W2e,
+ q2e,
+ Ht,
+ b7,
+ h4,
+ mp,
+ j2e,
+ K2e,
+ Q2e,
+ Z2e,
+ J2e,
+ exe,
+ txe,
+ rxe,
+ nxe,
+ Qz,
+ ixe,
+ Xf,
+ Zl,
+ Jb,
+ Zz,
+ l7,
+ oxe,
+ Jz,
+ eG,
+ d4,
+ w7,
+ lxe,
+ DG,
+ Hn,
+ ct,
+ dh,
+ RG,
+ NG,
+ MG,
+ jf,
+ iy,
+ T7,
+ cxe,
+ ms,
+ ll,
+ Jl,
+ ay,
+ hxe,
+ fxe,
+ wn,
+ U,
+ Qe,
+ ee,
+ ve,
+ Pn,
+ bt,
+ Xa,
+ vp,
+ Ut,
+ xi,
+ js,
+ b4,
+ xe,
+ lu,
+ Le,
+ IG,
+ rG,
+ c7,
+ e4,
+ nG,
+ u7,
+ t4,
+ p4,
+ Z1,
+ r4,
+ Xt,
+ Vn,
+ Ra,
+ ru,
+ hh,
+ k7,
+ J1,
+ n4,
+ i4,
+ iG,
+ dxe,
+ w4,
+ ol,
+ pxe,
+ mxe,
+ gxe,
+ yxe,
+ vxe,
+ I7,
+ ds,
+ OG,
+ xxe,
+ bxe,
+ PG,
+ wxe,
+ Txe,
+ kxe,
+ Exe,
+ a4,
+ BG,
+ FG,
+ Cxe,
+ Be,
+ Un,
+ Wf,
+ nu,
+ Sxe,
+ Axe,
+ zG,
+ m4,
+ g4,
+ y4,
+ ui,
+ su,
+ _xe,
+ Lxe,
+ Dxe,
+ Rxe,
+ Ri,
+ aG,
+ GG,
+ Nxe,
+ E7,
+ sy,
+ Cr,
+ ps,
+ qf,
+ S7,
+ et,
+ _o,
+ O7,
+ P7,
+ gs,
+ ph,
+ fn,
+ VG,
+ UG,
+ Mxe,
+ Ixe,
+ Oxe,
+ Pxe,
+ Bxe,
+ Fxe,
+ zxe,
+ Gxe,
+ ou,
+ F7,
+ HG,
+ $xe,
+ o4,
+ Vxe,
+ k4,
+ Uxe,
+ oG,
+ lG,
+ Hxe,
+ qG,
+ XG,
+ A7,
+ jG,
+ qxe,
+ KG,
+ ey,
+ z7,
+ QG,
+ Xxe,
+ jxe,
+ ZG,
+ h7,
+ f7,
+ _7,
+ l4,
+ Kxe,
+ Qxe,
+ JG,
+ d7,
+ p7,
+ m7,
+ Zxe,
+ e$,
+ Jxe,
+ t$,
+ ty,
+ ebe,
+ tbe,
+ rbe,
+ r$,
+ nbe,
+ n$,
+ i$,
+ ibe,
+ au,
+ cG,
+ abe,
+ G7,
+ $7,
+ a$,
+ s$,
+ C4,
+ tc,
+ sbe,
+ rc,
+ o$,
+ fG,
+ l$,
+ c$,
+ dG,
+ u$,
+ H7,
+ Y7,
+ pG,
+ mG,
+ h$,
+ obe,
+ g7,
+ gG,
+ f$,
+ d$,
+ xp,
+ oy,
+ lbe,
+ cbe,
+ p$,
+ ube,
+ yG,
+ hbe,
+ vG,
+ fbe,
+ g$,
+ y7,
+ v7,
+ xG,
+ bG,
+ wG,
+ dbe,
+ TG,
+ kG,
+ fh,
+ y$,
+ pbe,
+ mbe,
+ gbe,
+ ybe,
+ L7,
+ vbe,
+ xbe,
+ v4,
+ D7,
+ bbe,
+ EG,
+ W7,
+ CG,
+ q7,
+ v$,
+ x$,
+ b$,
+ R7,
+ SG,
+ c4,
+ x7,
+ AG,
+ x4,
+ X7,
+ w$,
+ wbe,
+ Tbe,
+ T$,
+ j7,
+ kbe,
+ Ebe,
+ E$ = R(() => {
+ 'use strict';
+ (Xs = class t {
+ static {
+ o(this, 'SourceLocation');
+ }
+ constructor(e, r, n) {
+ (this.lexer = void 0),
+ (this.start = void 0),
+ (this.end = void 0),
+ (this.lexer = e),
+ (this.start = r),
+ (this.end = n);
+ }
+ static range(e, r) {
+ return r
+ ? !e || !e.loc || !r.loc || e.loc.lexer !== r.loc.lexer
+ ? null
+ : new t(e.loc.lexer, e.loc.start, r.loc.end)
+ : e && e.loc;
+ }
+ }),
+ (Ao = class t {
+ static {
+ o(this, 'Token');
+ }
+ constructor(e, r) {
+ (this.text = void 0),
+ (this.loc = void 0),
+ (this.noexpand = void 0),
+ (this.treatAsRelax = void 0),
+ (this.text = e),
+ (this.loc = r);
+ }
+ range(e, r) {
+ return new t(r, Xs.range(this, e));
+ }
+ }),
+ (nt = class t {
+ static {
+ o(this, 'ParseError');
+ }
+ constructor(e, r) {
+ (this.name = void 0),
+ (this.position = void 0),
+ (this.length = void 0),
+ (this.rawMessage = void 0);
+ var n = 'KaTeX parse error: ' + e,
+ i,
+ a,
+ s = r && r.loc;
+ if (s && s.start <= s.end) {
+ var l = s.lexer.input;
+ (i = s.start),
+ (a = s.end),
+ i === l.length ? (n += ' at end of input: ') : (n += ' at position ' + (i + 1) + ': ');
+ var u = l.slice(i, a).replace(/[^]/g, '$&\u0332'),
+ h;
+ i > 15 ? (h = '\u2026' + l.slice(i - 15, i)) : (h = l.slice(0, i));
+ var f;
+ a + 15 < l.length ? (f = l.slice(a, a + 15) + '\u2026') : (f = l.slice(a)),
+ (n += h + u + f);
+ }
+ var d = new Error(n);
+ return (
+ (d.name = 'ParseError'),
+ (d.__proto__ = t.prototype),
+ (d.position = i),
+ i != null && a != null && (d.length = a - i),
+ (d.rawMessage = e),
+ d
+ );
+ }
+ });
+ nt.prototype.__proto__ = Error.prototype;
+ (R2e = o(function (e, r) {
+ return e.indexOf(r) !== -1;
+ }, 'contains')),
+ (N2e = o(function (e, r) {
+ return e === void 0 ? r : e;
+ }, 'deflt')),
+ (M2e = /([A-Z])/g),
+ (I2e = o(function (e) {
+ return e.replace(M2e, '-$1').toLowerCase();
+ }, 'hyphenate')),
+ (O2e = {
+ '&': '&',
+ '>': '>',
+ '<': '<',
+ '"': '"',
+ "'": '''
+ }),
+ (P2e = /[&><"']/g);
+ o(B2e, 'escape');
+ (_G = o(function t(e) {
+ return e.type === 'ordgroup' || e.type === 'color'
+ ? e.body.length === 1
+ ? t(e.body[0])
+ : e
+ : e.type === 'font'
+ ? t(e.body)
+ : e;
+ }, 'getBaseElem')),
+ (F2e = o(function (e) {
+ var r = _G(e);
+ return r.type === 'mathord' || r.type === 'textord' || r.type === 'atom';
+ }, 'isCharacterBox')),
+ (z2e = o(function (e) {
+ if (!e) throw new Error('Expected non-null, but got ' + String(e));
+ return e;
+ }, 'assert')),
+ (G2e = o(function (e) {
+ var r = /^[\x00-\x20]*([^\\/#?]*?)(:|*58|*3a|&colon)/i.exec(e);
+ return r
+ ? r[2] !== ':' || !/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])
+ ? null
+ : r[1].toLowerCase()
+ : '_relative';
+ }, 'protocolFromUrl')),
+ (Vt = {
+ contains: R2e,
+ deflt: N2e,
+ escape: B2e,
+ hyphenate: I2e,
+ getBaseElem: _G,
+ isCharacterBox: F2e,
+ protocolFromUrl: G2e
+ }),
+ (u4 = {
+ displayMode: {
+ type: 'boolean',
+ description:
+ 'Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.',
+ cli: '-d, --display-mode'
+ },
+ output: {
+ type: { enum: ['htmlAndMathml', 'html', 'mathml'] },
+ description: 'Determines the markup language of the output.',
+ cli: '-F, --format '
+ },
+ leqno: {
+ type: 'boolean',
+ description: 'Render display math in leqno style (left-justified tags).'
+ },
+ fleqn: {
+ type: 'boolean',
+ description: 'Render display math flush left.'
+ },
+ throwOnError: {
+ type: 'boolean',
+ default: !0,
+ cli: '-t, --no-throw-on-error',
+ cliDescription:
+ 'Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.'
+ },
+ errorColor: {
+ type: 'string',
+ default: '#cc0000',
+ cli: '-c, --error-color ',
+ cliDescription:
+ "A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",
+ cliProcessor: o((t) => '#' + t, 'cliProcessor')
+ },
+ macros: {
+ type: 'object',
+ cli: '-m, --macro ',
+ cliDescription:
+ "Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",
+ cliDefault: [],
+ cliProcessor: o((t, e) => (e.push(t), e), 'cliProcessor')
+ },
+ minRuleThickness: {
+ type: 'number',
+ description:
+ 'Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.',
+ processor: o((t) => Math.max(0, t), 'processor'),
+ cli: '--min-rule-thickness ',
+ cliProcessor: parseFloat
+ },
+ colorIsTextColor: {
+ type: 'boolean',
+ description:
+ "Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",
+ cli: '-b, --color-is-text-color'
+ },
+ strict: {
+ type: [{ enum: ['warn', 'ignore', 'error'] }, 'boolean', 'function'],
+ description:
+ 'Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.',
+ cli: '-S, --strict',
+ cliDefault: !1
+ },
+ trust: {
+ type: ['boolean', 'function'],
+ description: 'Trust the input, enabling all HTML features such as \\url.',
+ cli: '-T, --trust'
+ },
+ maxSize: {
+ type: 'number',
+ default: 1 / 0,
+ description:
+ 'If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large',
+ processor: o((t) => Math.max(0, t), 'processor'),
+ cli: '-s, --max-size ',
+ cliProcessor: parseInt
+ },
+ maxExpand: {
+ type: 'number',
+ default: 1e3,
+ description:
+ 'Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.',
+ processor: o((t) => Math.max(0, t), 'processor'),
+ cli: '-e, --max-expand ',
+ cliProcessor: o((t) => (t === 'Infinity' ? 1 / 0 : parseInt(t)), 'cliProcessor')
+ },
+ globalGroup: { type: 'boolean', cli: !1 }
+ });
+ o($2e, 'getDefaultValue');
+ (ry = class {
+ static {
+ o(this, 'Settings');
+ }
+ constructor(e) {
+ (this.displayMode = void 0),
+ (this.output = void 0),
+ (this.leqno = void 0),
+ (this.fleqn = void 0),
+ (this.throwOnError = void 0),
+ (this.errorColor = void 0),
+ (this.macros = void 0),
+ (this.minRuleThickness = void 0),
+ (this.colorIsTextColor = void 0),
+ (this.strict = void 0),
+ (this.trust = void 0),
+ (this.maxSize = void 0),
+ (this.maxExpand = void 0),
+ (this.globalGroup = void 0),
+ (e = e || {});
+ for (var r in u4)
+ if (u4.hasOwnProperty(r)) {
+ var n = u4[r];
+ this[r] = e[r] !== void 0 ? (n.processor ? n.processor(e[r]) : e[r]) : $2e(n);
+ }
+ }
+ reportNonstrict(e, r, n) {
+ var i = this.strict;
+ if ((typeof i == 'function' && (i = i(e, r, n)), !(!i || i === 'ignore'))) {
+ if (i === !0 || i === 'error')
+ throw new nt(
+ "LaTeX-incompatible input and strict mode is set to 'error': " + (r + ' [' + e + ']'),
+ n
+ );
+ i === 'warn'
+ ? typeof console < 'u' &&
+ console.warn(
+ "LaTeX-incompatible input and strict mode is set to 'warn': " + (r + ' [' + e + ']')
+ )
+ : typeof console < 'u' &&
+ console.warn(
+ 'LaTeX-incompatible input and strict mode is set to ' +
+ ("unrecognized '" + i + "': " + r + ' [' + e + ']')
+ );
+ }
+ }
+ useStrictBehavior(e, r, n) {
+ var i = this.strict;
+ if (typeof i == 'function')
+ try {
+ i = i(e, r, n);
+ } catch {
+ i = 'error';
+ }
+ return !i || i === 'ignore'
+ ? !1
+ : i === !0 || i === 'error'
+ ? !0
+ : i === 'warn'
+ ? (typeof console < 'u' &&
+ console.warn(
+ "LaTeX-incompatible input and strict mode is set to 'warn': " + (r + ' [' + e + ']')
+ ),
+ !1)
+ : (typeof console < 'u' &&
+ console.warn(
+ 'LaTeX-incompatible input and strict mode is set to ' +
+ ("unrecognized '" + i + "': " + r + ' [' + e + ']')
+ ),
+ !1);
+ }
+ isTrusted(e) {
+ if (e.url && !e.protocol) {
+ var r = Vt.protocolFromUrl(e.url);
+ if (r == null) return !1;
+ e.protocol = r;
+ }
+ var n = typeof this.trust == 'function' ? this.trust(e) : this.trust;
+ return !!n;
+ }
+ }),
+ (Kl = class {
+ static {
+ o(this, 'Style');
+ }
+ constructor(e, r, n) {
+ (this.id = void 0),
+ (this.size = void 0),
+ (this.cramped = void 0),
+ (this.id = e),
+ (this.size = r),
+ (this.cramped = n);
+ }
+ sup() {
+ return Ql[V2e[this.id]];
+ }
+ sub() {
+ return Ql[U2e[this.id]];
+ }
+ fracNum() {
+ return Ql[H2e[this.id]];
+ }
+ fracDen() {
+ return Ql[Y2e[this.id]];
+ }
+ cramp() {
+ return Ql[W2e[this.id]];
+ }
+ text() {
+ return Ql[q2e[this.id]];
+ }
+ isTight() {
+ return this.size >= 2;
+ }
+ }),
+ (N7 = 0),
+ (f4 = 1),
+ (gp = 2),
+ (iu = 3),
+ (ny = 4),
+ (So = 5),
+ (yp = 6),
+ (qa = 7),
+ (Ql = [
+ new Kl(N7, 0, !1),
+ new Kl(f4, 0, !0),
+ new Kl(gp, 1, !1),
+ new Kl(iu, 1, !0),
+ new Kl(ny, 2, !1),
+ new Kl(So, 2, !0),
+ new Kl(yp, 3, !1),
+ new Kl(qa, 3, !0)
+ ]),
+ (V2e = [ny, So, ny, So, yp, qa, yp, qa]),
+ (U2e = [So, So, So, So, qa, qa, qa, qa]),
+ (H2e = [gp, iu, ny, So, yp, qa, yp, qa]),
+ (Y2e = [iu, iu, So, So, qa, qa, qa, qa]),
+ (W2e = [f4, f4, iu, iu, So, So, qa, qa]),
+ (q2e = [N7, f4, gp, iu, gp, iu, gp, iu]),
+ (Ht = {
+ DISPLAY: Ql[N7],
+ TEXT: Ql[gp],
+ SCRIPT: Ql[ny],
+ SCRIPTSCRIPT: Ql[yp]
+ }),
+ (b7 = [
+ {
+ name: 'latin',
+ blocks: [
+ [256, 591],
+ [768, 879]
+ ]
+ },
+ { name: 'cyrillic', blocks: [[1024, 1279]] },
+ { name: 'armenian', blocks: [[1328, 1423]] },
+ { name: 'brahmic', blocks: [[2304, 4255]] },
+ { name: 'georgian', blocks: [[4256, 4351]] },
+ {
+ name: 'cjk',
+ blocks: [
+ [12288, 12543],
+ [19968, 40879],
+ [65280, 65376]
+ ]
+ },
+ { name: 'hangul', blocks: [[44032, 55215]] }
+ ]);
+ o(X2e, 'scriptFromCodepoint');
+ h4 = [];
+ b7.forEach((t) => t.blocks.forEach((e) => h4.push(...e)));
+ o(LG, 'supportedCodepoint');
+ (mp = 80),
+ (j2e = o(function (e, r) {
+ return (
+ 'M95,' +
+ (622 + e + r) +
+ `
+c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
+c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
+c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
+s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
+c69,-144,104.5,-217.7,106.5,-221
+l` +
+ e / 2.075 +
+ ' -' +
+ e +
+ `
+c5.3,-9.3,12,-14,20,-14
+H400000v` +
+ (40 + e) +
+ `H845.2724
+s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
+c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
+M` +
+ (834 + e) +
+ ' ' +
+ r +
+ 'h400000v' +
+ (40 + e) +
+ 'h-400000z'
+ );
+ }, 'sqrtMain')),
+ (K2e = o(function (e, r) {
+ return (
+ 'M263,' +
+ (601 + e + r) +
+ `c0.7,0,18,39.7,52,119
+c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
+c340,-704.7,510.7,-1060.3,512,-1067
+l` +
+ e / 2.084 +
+ ' -' +
+ e +
+ `
+c4.7,-7.3,11,-11,19,-11
+H40000v` +
+ (40 + e) +
+ `H1012.3
+s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
+c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
+s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
+c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
+M` +
+ (1001 + e) +
+ ' ' +
+ r +
+ 'h400000v' +
+ (40 + e) +
+ 'h-400000z'
+ );
+ }, 'sqrtSize1')),
+ (Q2e = o(function (e, r) {
+ return (
+ 'M983 ' +
+ (10 + e + r) +
+ `
+l` +
+ e / 3.13 +
+ ' -' +
+ e +
+ `
+c4,-6.7,10,-10,18,-10 H400000v` +
+ (40 + e) +
+ `
+H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
+s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
+c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
+c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
+c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
+c53.7,-170.3,84.5,-266.8,92.5,-289.5z
+M` +
+ (1001 + e) +
+ ' ' +
+ r +
+ 'h400000v' +
+ (40 + e) +
+ 'h-400000z'
+ );
+ }, 'sqrtSize2')),
+ (Z2e = o(function (e, r) {
+ return (
+ 'M424,' +
+ (2398 + e + r) +
+ `
+c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
+c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
+s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
+s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
+l` +
+ e / 4.223 +
+ ' -' +
+ e +
+ `c4,-6.7,10,-10,18,-10 H400000
+v` +
+ (40 + e) +
+ `H1014.6
+s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
+c-2,6,-10,9,-24,9
+c-8,0,-12,-0.7,-12,-2z M` +
+ (1001 + e) +
+ ' ' +
+ r +
+ `
+h400000v` +
+ (40 + e) +
+ 'h-400000z'
+ );
+ }, 'sqrtSize3')),
+ (J2e = o(function (e, r) {
+ return (
+ 'M473,' +
+ (2713 + e + r) +
+ `
+c339.3,-1799.3,509.3,-2700,510,-2702 l` +
+ e / 5.298 +
+ ' -' +
+ e +
+ `
+c3.3,-7.3,9.3,-11,18,-11 H400000v` +
+ (40 + e) +
+ `H1017.7
+s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
+c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
+c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
+s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
+606zM` +
+ (1001 + e) +
+ ' ' +
+ r +
+ 'h400000v' +
+ (40 + e) +
+ 'H1017.7z'
+ );
+ }, 'sqrtSize4')),
+ (exe = o(function (e) {
+ var r = e / 2;
+ return 'M400000 ' + e + ' H0 L' + r + ' 0 l65 45 L145 ' + (e - 80) + ' H400000z';
+ }, 'phasePath')),
+ (txe = o(function (e, r, n) {
+ var i = n - 54 - r - e;
+ return (
+ 'M702 ' +
+ (e + r) +
+ 'H400000' +
+ (40 + e) +
+ `
+H742v` +
+ i +
+ `l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
+h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
+c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
+219 661 l218 661zM702 ` +
+ r +
+ 'H400000v' +
+ (40 + e) +
+ 'H742z'
+ );
+ }, 'sqrtTall')),
+ (rxe = o(function (e, r, n) {
+ r = 1e3 * r;
+ var i = '';
+ switch (e) {
+ case 'sqrtMain':
+ i = j2e(r, mp);
+ break;
+ case 'sqrtSize1':
+ i = K2e(r, mp);
+ break;
+ case 'sqrtSize2':
+ i = Q2e(r, mp);
+ break;
+ case 'sqrtSize3':
+ i = Z2e(r, mp);
+ break;
+ case 'sqrtSize4':
+ i = J2e(r, mp);
+ break;
+ case 'sqrtTall':
+ i = txe(r, mp, n);
+ }
+ return i;
+ }, 'sqrtPath')),
+ (nxe = o(function (e, r) {
+ switch (e) {
+ case '\u239C':
+ return 'M291 0 H417 V' + r + ' H291z M291 0 H417 V' + r + ' H291z';
+ case '\u2223':
+ return 'M145 0 H188 V' + r + ' H145z M145 0 H188 V' + r + ' H145z';
+ case '\u2225':
+ return (
+ 'M145 0 H188 V' +
+ r +
+ ' H145z M145 0 H188 V' +
+ r +
+ ' H145z' +
+ ('M367 0 H410 V' + r + ' H367z M367 0 H410 V' + r + ' H367z')
+ );
+ case '\u239F':
+ return 'M457 0 H583 V' + r + ' H457z M457 0 H583 V' + r + ' H457z';
+ case '\u23A2':
+ return 'M319 0 H403 V' + r + ' H319z M319 0 H403 V' + r + ' H319z';
+ case '\u23A5':
+ return 'M263 0 H347 V' + r + ' H263z M263 0 H347 V' + r + ' H263z';
+ case '\u23AA':
+ return 'M384 0 H504 V' + r + ' H384z M384 0 H504 V' + r + ' H384z';
+ case '\u23D0':
+ return 'M312 0 H355 V' + r + ' H312z M312 0 H355 V' + r + ' H312z';
+ case '\u2016':
+ return (
+ 'M257 0 H300 V' +
+ r +
+ ' H257z M257 0 H300 V' +
+ r +
+ ' H257z' +
+ ('M478 0 H521 V' + r + ' H478z M478 0 H521 V' + r + ' H478z')
+ );
+ default:
+ return '';
+ }
+ }, 'innerPath')),
+ (Qz = {
+ doubleleftarrow: `M262 157
+l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
+ 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
+ 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
+c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
+ 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
+-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
+-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
+m8 0v40h399730v-40zm0 194v40h399730v-40z`,
+ doublerightarrow: `M399738 392l
+-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
+ 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
+-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
+-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
+-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
+c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
+-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,
+ leftarrow: `M400000 241H110l3-3c68.7-52.7 113.7-120
+ 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
+-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
+c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
+ 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
+ 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
+ l-3-3h399890zM100 241v40h399900v-40z`,
+ leftbrace: `M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
+-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
+ 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,
+ leftbraceunder: `M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
+ 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
+ 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
+-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,
+ leftgroup: `M400000 80
+H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
+ 435 0h399565z`,
+ leftgroupunder: `M400000 262
+H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
+ 435 219h399565z`,
+ leftharpoon: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
+-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
+-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
+-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,
+ leftharpoonplus: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
+ 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
+-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
+-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
+m0 0v40h400000v-40z`,
+ leftharpoondown: `M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
+ 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
+ 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
+-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,
+ leftharpoondownplus: `M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
+ 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
+-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
+v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,
+ lefthook: `M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
+-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
+-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
+ 71.5 23h399859zM103 281v-40h399897v40z`,
+ leftlinesegment: `M40 281 V428 H0 V94 H40 V241 H400000 v40z
+M40 281 V428 H0 V94 H40 V241 H400000 v40z`,
+ leftmapsto: `M40 281 V448H0V74H40V241H400000v40z
+M40 281 V448H0V74H40V241H400000v40z`,
+ leftToFrom: `M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
+-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
+c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
+ 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,
+ longequal: `M0 50 h400000 v40H0z m0 194h40000v40H0z
+M0 50 h400000 v40H0z m0 194h40000v40H0z`,
+ midbrace: `M200428 334
+c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
+-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
+ 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
+ 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,
+ midbraceunder: `M199572 214
+c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
+ 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
+ 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
+-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,
+ oiintSize1: `M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
+-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
+m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
+60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,
+ oiintSize2: `M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
+-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
+m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
+c0 110 84 276 504 276s502.4-166 502.4-276z`,
+ oiiintSize1: `M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
+-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
+m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
+85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,
+ oiiintSize2: `M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
+-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
+m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
+c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,
+ rightarrow: `M0 241v40h399891c-47.3 35.3-84 78-110 128
+-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
+ 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
+ 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
+-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
+-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
+ 151.7 139 205zm0 0v40h399900v-40z`,
+ rightbrace: `M400000 542l
+-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
+s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
+c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,
+ rightbraceunder: `M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
+ 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
+-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,
+ rightgroup: `M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
+ 3-1 3-3v-38c-76-158-257-219-435-219H0z`,
+ rightgroupunder: `M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
+ 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,
+ rightharpoon: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
+-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
+-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
+ 69.2 92 94.5zm0 0v40h399900v-40z`,
+ rightharpoonplus: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
+-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
+ 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
+m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,
+ rightharpoondown: `M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
+ 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
+-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
+-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,
+ rightharpoondownplus: `M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
+ 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
+ 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
+-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
+m0-194v40h400000v-40zm0 0v40h400000v-40z`,
+ righthook: `M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
+ 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
+-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
+ 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,
+ rightlinesegment: `M399960 241 V94 h40 V428 h-40 V281 H0 v-40z
+M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,
+ rightToFrom: `M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
+ 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
+-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
+-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,
+ twoheadleftarrow: `M0 167c68 40
+ 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
+-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
+-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
+-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
+ 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,
+ twoheadrightarrow: `M400000 167
+c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
+ 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
+ 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
+-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
+ 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,
+ tilde1: `M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
+-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
+ 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
+ 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
+-68.267.847-113-73.952-191-73.952z`,
+ tilde2: `M344 55.266c-142 0-300.638 81.316-311.5 86.418
+-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
+ 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
+c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
+ 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,
+ tilde3: `M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
+-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
+ 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
+ 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
+ -338 0-409-156.573-744-156.573z`,
+ tilde4: `M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
+-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
+ 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
+ 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
+ -175.236-744-175.236z`,
+ vec: `M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
+3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
+10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
+-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
+-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
+H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
+c-16-25.333-24-45-24-59z`,
+ widehat1: `M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
+c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,
+ widehat2: `M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
+-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
+ widehat3: `M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
+-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
+ widehat4: `M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
+-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
+ widecheck1: `M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
+-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,
+ widecheck2: `M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
+-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
+ widecheck3: `M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
+-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
+ widecheck4: `M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
+-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
+ baraboveleftarrow: `M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
+c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
+c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
+s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
+121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
+s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
+c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
+M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,
+ rightarrowabovebar: `M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
+-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
+13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
+-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
+-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
+-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
+151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,
+ baraboveshortleftharpoon: `M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
+c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
+c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
+c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
+c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
+M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,
+ rightharpoonaboveshortbar: `M0,241 l0,40c399126,0,399993,0,399993,0
+c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
+-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
+c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
+M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,
+ shortbaraboveleftharpoon: `M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
+c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
+1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
+-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
+M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,
+ shortrightharpoonabovebar: `M53,241l0,40c398570,0,399437,0,399437,0
+c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
+-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
+c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
+M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`
+ }),
+ (ixe = o(function (e, r) {
+ switch (e) {
+ case 'lbrack':
+ return (
+ 'M403 1759 V84 H666 V0 H319 V1759 v' +
+ r +
+ ` v1759 h347 v-84
+H403z M403 1759 V0 H319 V1759 v` +
+ r +
+ ' v1759 h84z'
+ );
+ case 'rbrack':
+ return (
+ 'M347 1759 V0 H0 V84 H263 V1759 v' +
+ r +
+ ` v1759 H0 v84 H347z
+M347 1759 V0 H263 V1759 v` +
+ r +
+ ' v1759 h84z'
+ );
+ case 'vert':
+ return (
+ 'M145 15 v585 v' +
+ r +
+ ` v585 c2.667,10,9.667,15,21,15
+c10,0,16.667,-5,20,-15 v-585 v` +
+ -r +
+ ` v-585 c-2.667,-10,-9.667,-15,-21,-15
+c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` +
+ r +
+ ' v585 h43z'
+ );
+ case 'doublevert':
+ return (
+ 'M145 15 v585 v' +
+ r +
+ ` v585 c2.667,10,9.667,15,21,15
+c10,0,16.667,-5,20,-15 v-585 v` +
+ -r +
+ ` v-585 c-2.667,-10,-9.667,-15,-21,-15
+c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` +
+ r +
+ ` v585 h43z
+M367 15 v585 v` +
+ r +
+ ` v585 c2.667,10,9.667,15,21,15
+c10,0,16.667,-5,20,-15 v-585 v` +
+ -r +
+ ` v-585 c-2.667,-10,-9.667,-15,-21,-15
+c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v` +
+ r +
+ ' v585 h43z'
+ );
+ case 'lfloor':
+ return (
+ 'M319 602 V0 H403 V602 v' +
+ r +
+ ` v1715 h263 v84 H319z
+MM319 602 V0 H403 V602 v` +
+ r +
+ ' v1715 H319z'
+ );
+ case 'rfloor':
+ return (
+ 'M319 602 V0 H403 V602 v' +
+ r +
+ ` v1799 H0 v-84 H319z
+MM319 602 V0 H403 V602 v` +
+ r +
+ ' v1715 H319z'
+ );
+ case 'lceil':
+ return (
+ 'M403 1759 V84 H666 V0 H319 V1759 v' +
+ r +
+ ` v602 h84z
+M403 1759 V0 H319 V1759 v` +
+ r +
+ ' v602 h84z'
+ );
+ case 'rceil':
+ return (
+ 'M347 1759 V0 H0 V84 H263 V1759 v' +
+ r +
+ ` v602 h84z
+M347 1759 V0 h-84 V1759 v` +
+ r +
+ ' v602 h84z'
+ );
+ case 'lparen':
+ return (
+ `M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
+c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
+-36,557 l0,` +
+ (r + 84) +
+ `c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
+949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
+c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
+-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
+l0,-` +
+ (r + 92) +
+ `c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
+-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`
+ );
+ case 'rparen':
+ return (
+ `M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
+63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
+c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,` +
+ (r + 9) +
+ `
+c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
+c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
+c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
+c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
+l0,-` +
+ (r + 144) +
+ `c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
+-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`
+ );
+ default:
+ throw new Error('Unknown stretchy delimiter.');
+ }
+ }, 'tallDelim')),
+ (Xf = class {
+ static {
+ o(this, 'DocumentFragment');
+ }
+ constructor(e) {
+ (this.children = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ (this.children = e),
+ (this.classes = []),
+ (this.height = 0),
+ (this.depth = 0),
+ (this.maxFontSize = 0),
+ (this.style = {});
+ }
+ hasClass(e) {
+ return Vt.contains(this.classes, e);
+ }
+ toNode() {
+ for (var e = document.createDocumentFragment(), r = 0; r < this.children.length; r++)
+ e.appendChild(this.children[r].toNode());
+ return e;
+ }
+ toMarkup() {
+ for (var e = '', r = 0; r < this.children.length; r++) e += this.children[r].toMarkup();
+ return e;
+ }
+ toText() {
+ var e = o((r) => r.toText(), 'toText');
+ return this.children.map(e).join('');
+ }
+ }),
+ (Zl = {
+ 'AMS-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.68889, 0, 0, 0.72222],
+ 66: [0, 0.68889, 0, 0, 0.66667],
+ 67: [0, 0.68889, 0, 0, 0.72222],
+ 68: [0, 0.68889, 0, 0, 0.72222],
+ 69: [0, 0.68889, 0, 0, 0.66667],
+ 70: [0, 0.68889, 0, 0, 0.61111],
+ 71: [0, 0.68889, 0, 0, 0.77778],
+ 72: [0, 0.68889, 0, 0, 0.77778],
+ 73: [0, 0.68889, 0, 0, 0.38889],
+ 74: [0.16667, 0.68889, 0, 0, 0.5],
+ 75: [0, 0.68889, 0, 0, 0.77778],
+ 76: [0, 0.68889, 0, 0, 0.66667],
+ 77: [0, 0.68889, 0, 0, 0.94445],
+ 78: [0, 0.68889, 0, 0, 0.72222],
+ 79: [0.16667, 0.68889, 0, 0, 0.77778],
+ 80: [0, 0.68889, 0, 0, 0.61111],
+ 81: [0.16667, 0.68889, 0, 0, 0.77778],
+ 82: [0, 0.68889, 0, 0, 0.72222],
+ 83: [0, 0.68889, 0, 0, 0.55556],
+ 84: [0, 0.68889, 0, 0, 0.66667],
+ 85: [0, 0.68889, 0, 0, 0.72222],
+ 86: [0, 0.68889, 0, 0, 0.72222],
+ 87: [0, 0.68889, 0, 0, 1],
+ 88: [0, 0.68889, 0, 0, 0.72222],
+ 89: [0, 0.68889, 0, 0, 0.72222],
+ 90: [0, 0.68889, 0, 0, 0.66667],
+ 107: [0, 0.68889, 0, 0, 0.55556],
+ 160: [0, 0, 0, 0, 0.25],
+ 165: [0, 0.675, 0.025, 0, 0.75],
+ 174: [0.15559, 0.69224, 0, 0, 0.94666],
+ 240: [0, 0.68889, 0, 0, 0.55556],
+ 295: [0, 0.68889, 0, 0, 0.54028],
+ 710: [0, 0.825, 0, 0, 2.33334],
+ 732: [0, 0.9, 0, 0, 2.33334],
+ 770: [0, 0.825, 0, 0, 2.33334],
+ 771: [0, 0.9, 0, 0, 2.33334],
+ 989: [0.08167, 0.58167, 0, 0, 0.77778],
+ 1008: [0, 0.43056, 0.04028, 0, 0.66667],
+ 8245: [0, 0.54986, 0, 0, 0.275],
+ 8463: [0, 0.68889, 0, 0, 0.54028],
+ 8487: [0, 0.68889, 0, 0, 0.72222],
+ 8498: [0, 0.68889, 0, 0, 0.55556],
+ 8502: [0, 0.68889, 0, 0, 0.66667],
+ 8503: [0, 0.68889, 0, 0, 0.44445],
+ 8504: [0, 0.68889, 0, 0, 0.66667],
+ 8513: [0, 0.68889, 0, 0, 0.63889],
+ 8592: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8594: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8602: [-0.13313, 0.36687, 0, 0, 1],
+ 8603: [-0.13313, 0.36687, 0, 0, 1],
+ 8606: [0.01354, 0.52239, 0, 0, 1],
+ 8608: [0.01354, 0.52239, 0, 0, 1],
+ 8610: [0.01354, 0.52239, 0, 0, 1.11111],
+ 8611: [0.01354, 0.52239, 0, 0, 1.11111],
+ 8619: [0, 0.54986, 0, 0, 1],
+ 8620: [0, 0.54986, 0, 0, 1],
+ 8621: [-0.13313, 0.37788, 0, 0, 1.38889],
+ 8622: [-0.13313, 0.36687, 0, 0, 1],
+ 8624: [0, 0.69224, 0, 0, 0.5],
+ 8625: [0, 0.69224, 0, 0, 0.5],
+ 8630: [0, 0.43056, 0, 0, 1],
+ 8631: [0, 0.43056, 0, 0, 1],
+ 8634: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8635: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8638: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8639: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8642: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8643: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8644: [0.1808, 0.675, 0, 0, 1],
+ 8646: [0.1808, 0.675, 0, 0, 1],
+ 8647: [0.1808, 0.675, 0, 0, 1],
+ 8648: [0.19444, 0.69224, 0, 0, 0.83334],
+ 8649: [0.1808, 0.675, 0, 0, 1],
+ 8650: [0.19444, 0.69224, 0, 0, 0.83334],
+ 8651: [0.01354, 0.52239, 0, 0, 1],
+ 8652: [0.01354, 0.52239, 0, 0, 1],
+ 8653: [-0.13313, 0.36687, 0, 0, 1],
+ 8654: [-0.13313, 0.36687, 0, 0, 1],
+ 8655: [-0.13313, 0.36687, 0, 0, 1],
+ 8666: [0.13667, 0.63667, 0, 0, 1],
+ 8667: [0.13667, 0.63667, 0, 0, 1],
+ 8669: [-0.13313, 0.37788, 0, 0, 1],
+ 8672: [-0.064, 0.437, 0, 0, 1.334],
+ 8674: [-0.064, 0.437, 0, 0, 1.334],
+ 8705: [0, 0.825, 0, 0, 0.5],
+ 8708: [0, 0.68889, 0, 0, 0.55556],
+ 8709: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8717: [0, 0.43056, 0, 0, 0.42917],
+ 8722: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8724: [0.08198, 0.69224, 0, 0, 0.77778],
+ 8726: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8733: [0, 0.69224, 0, 0, 0.77778],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8737: [0, 0.69224, 0, 0, 0.72222],
+ 8738: [0.03517, 0.52239, 0, 0, 0.72222],
+ 8739: [0.08167, 0.58167, 0, 0, 0.22222],
+ 8740: [0.25142, 0.74111, 0, 0, 0.27778],
+ 8741: [0.08167, 0.58167, 0, 0, 0.38889],
+ 8742: [0.25142, 0.74111, 0, 0, 0.5],
+ 8756: [0, 0.69224, 0, 0, 0.66667],
+ 8757: [0, 0.69224, 0, 0, 0.66667],
+ 8764: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8765: [-0.13313, 0.37788, 0, 0, 0.77778],
+ 8769: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8770: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8774: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8776: [-0.01688, 0.48312, 0, 0, 0.77778],
+ 8778: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8782: [0.06062, 0.54986, 0, 0, 0.77778],
+ 8783: [0.06062, 0.54986, 0, 0, 0.77778],
+ 8785: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8786: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8787: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8790: [0, 0.69224, 0, 0, 0.77778],
+ 8791: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8796: [0.08198, 0.91667, 0, 0, 0.77778],
+ 8806: [0.25583, 0.75583, 0, 0, 0.77778],
+ 8807: [0.25583, 0.75583, 0, 0, 0.77778],
+ 8808: [0.25142, 0.75726, 0, 0, 0.77778],
+ 8809: [0.25142, 0.75726, 0, 0, 0.77778],
+ 8812: [0.25583, 0.75583, 0, 0, 0.5],
+ 8814: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8815: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8816: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8817: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8818: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8819: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8822: [0.1808, 0.675, 0, 0, 0.77778],
+ 8823: [0.1808, 0.675, 0, 0, 0.77778],
+ 8828: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8829: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8830: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8831: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8832: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8833: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8840: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8841: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8842: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8843: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8847: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8848: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8858: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8859: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8861: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8862: [0, 0.675, 0, 0, 0.77778],
+ 8863: [0, 0.675, 0, 0, 0.77778],
+ 8864: [0, 0.675, 0, 0, 0.77778],
+ 8865: [0, 0.675, 0, 0, 0.77778],
+ 8872: [0, 0.69224, 0, 0, 0.61111],
+ 8873: [0, 0.69224, 0, 0, 0.72222],
+ 8874: [0, 0.69224, 0, 0, 0.88889],
+ 8876: [0, 0.68889, 0, 0, 0.61111],
+ 8877: [0, 0.68889, 0, 0, 0.61111],
+ 8878: [0, 0.68889, 0, 0, 0.72222],
+ 8879: [0, 0.68889, 0, 0, 0.72222],
+ 8882: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8883: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8884: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8885: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8888: [0, 0.54986, 0, 0, 1.11111],
+ 8890: [0.19444, 0.43056, 0, 0, 0.55556],
+ 8891: [0.19444, 0.69224, 0, 0, 0.61111],
+ 8892: [0.19444, 0.69224, 0, 0, 0.61111],
+ 8901: [0, 0.54986, 0, 0, 0.27778],
+ 8903: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8905: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8906: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8907: [0, 0.69224, 0, 0, 0.77778],
+ 8908: [0, 0.69224, 0, 0, 0.77778],
+ 8909: [-0.03598, 0.46402, 0, 0, 0.77778],
+ 8910: [0, 0.54986, 0, 0, 0.76042],
+ 8911: [0, 0.54986, 0, 0, 0.76042],
+ 8912: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8913: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8914: [0, 0.54986, 0, 0, 0.66667],
+ 8915: [0, 0.54986, 0, 0, 0.66667],
+ 8916: [0, 0.69224, 0, 0, 0.66667],
+ 8918: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8919: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8920: [0.03517, 0.54986, 0, 0, 1.33334],
+ 8921: [0.03517, 0.54986, 0, 0, 1.33334],
+ 8922: [0.38569, 0.88569, 0, 0, 0.77778],
+ 8923: [0.38569, 0.88569, 0, 0, 0.77778],
+ 8926: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8927: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8928: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8929: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8934: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8935: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8936: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8937: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8938: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8939: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8940: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8941: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8994: [0.19444, 0.69224, 0, 0, 0.77778],
+ 8995: [0.19444, 0.69224, 0, 0, 0.77778],
+ 9416: [0.15559, 0.69224, 0, 0, 0.90222],
+ 9484: [0, 0.69224, 0, 0, 0.5],
+ 9488: [0, 0.69224, 0, 0, 0.5],
+ 9492: [0, 0.37788, 0, 0, 0.5],
+ 9496: [0, 0.37788, 0, 0, 0.5],
+ 9585: [0.19444, 0.68889, 0, 0, 0.88889],
+ 9586: [0.19444, 0.74111, 0, 0, 0.88889],
+ 9632: [0, 0.675, 0, 0, 0.77778],
+ 9633: [0, 0.675, 0, 0, 0.77778],
+ 9650: [0, 0.54986, 0, 0, 0.72222],
+ 9651: [0, 0.54986, 0, 0, 0.72222],
+ 9654: [0.03517, 0.54986, 0, 0, 0.77778],
+ 9660: [0, 0.54986, 0, 0, 0.72222],
+ 9661: [0, 0.54986, 0, 0, 0.72222],
+ 9664: [0.03517, 0.54986, 0, 0, 0.77778],
+ 9674: [0.11111, 0.69224, 0, 0, 0.66667],
+ 9733: [0.19444, 0.69224, 0, 0, 0.94445],
+ 10003: [0, 0.69224, 0, 0, 0.83334],
+ 10016: [0, 0.69224, 0, 0, 0.83334],
+ 10731: [0.11111, 0.69224, 0, 0, 0.66667],
+ 10846: [0.19444, 0.75583, 0, 0, 0.61111],
+ 10877: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10878: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10885: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10886: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10887: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10888: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10889: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10890: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10891: [0.48256, 0.98256, 0, 0, 0.77778],
+ 10892: [0.48256, 0.98256, 0, 0, 0.77778],
+ 10901: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10902: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10933: [0.25142, 0.75726, 0, 0, 0.77778],
+ 10934: [0.25142, 0.75726, 0, 0, 0.77778],
+ 10935: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10936: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10937: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10938: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10949: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10950: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10955: [0.28481, 0.79383, 0, 0, 0.77778],
+ 10956: [0.28481, 0.79383, 0, 0, 0.77778],
+ 57350: [0.08167, 0.58167, 0, 0, 0.22222],
+ 57351: [0.08167, 0.58167, 0, 0, 0.38889],
+ 57352: [0.08167, 0.58167, 0, 0, 0.77778],
+ 57353: [0, 0.43056, 0.04028, 0, 0.66667],
+ 57356: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57357: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57358: [0.41951, 0.91951, 0, 0, 0.77778],
+ 57359: [0.30274, 0.79383, 0, 0, 0.77778],
+ 57360: [0.30274, 0.79383, 0, 0, 0.77778],
+ 57361: [0.41951, 0.91951, 0, 0, 0.77778],
+ 57366: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57367: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57368: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57369: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57370: [0.13597, 0.63597, 0, 0, 0.77778],
+ 57371: [0.13597, 0.63597, 0, 0, 0.77778]
+ },
+ 'Caligraphic-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.68333, 0, 0.19445, 0.79847],
+ 66: [0, 0.68333, 0.03041, 0.13889, 0.65681],
+ 67: [0, 0.68333, 0.05834, 0.13889, 0.52653],
+ 68: [0, 0.68333, 0.02778, 0.08334, 0.77139],
+ 69: [0, 0.68333, 0.08944, 0.11111, 0.52778],
+ 70: [0, 0.68333, 0.09931, 0.11111, 0.71875],
+ 71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],
+ 72: [0, 0.68333, 0.00965, 0.11111, 0.84452],
+ 73: [0, 0.68333, 0.07382, 0, 0.54452],
+ 74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],
+ 75: [0, 0.68333, 0.01445, 0.05556, 0.76195],
+ 76: [0, 0.68333, 0, 0.13889, 0.68972],
+ 77: [0, 0.68333, 0, 0.13889, 1.2009],
+ 78: [0, 0.68333, 0.14736, 0.08334, 0.82049],
+ 79: [0, 0.68333, 0.02778, 0.11111, 0.79611],
+ 80: [0, 0.68333, 0.08222, 0.08334, 0.69556],
+ 81: [0.09722, 0.68333, 0, 0.11111, 0.81667],
+ 82: [0, 0.68333, 0, 0.08334, 0.8475],
+ 83: [0, 0.68333, 0.075, 0.13889, 0.60556],
+ 84: [0, 0.68333, 0.25417, 0, 0.54464],
+ 85: [0, 0.68333, 0.09931, 0.08334, 0.62583],
+ 86: [0, 0.68333, 0.08222, 0, 0.61278],
+ 87: [0, 0.68333, 0.08222, 0.08334, 0.98778],
+ 88: [0, 0.68333, 0.14643, 0.13889, 0.7133],
+ 89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],
+ 90: [0, 0.68333, 0.07944, 0.13889, 0.72473],
+ 160: [0, 0, 0, 0, 0.25]
+ },
+ 'Fraktur-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69141, 0, 0, 0.29574],
+ 34: [0, 0.69141, 0, 0, 0.21471],
+ 38: [0, 0.69141, 0, 0, 0.73786],
+ 39: [0, 0.69141, 0, 0, 0.21201],
+ 40: [0.24982, 0.74947, 0, 0, 0.38865],
+ 41: [0.24982, 0.74947, 0, 0, 0.38865],
+ 42: [0, 0.62119, 0, 0, 0.27764],
+ 43: [0.08319, 0.58283, 0, 0, 0.75623],
+ 44: [0, 0.10803, 0, 0, 0.27764],
+ 45: [0.08319, 0.58283, 0, 0, 0.75623],
+ 46: [0, 0.10803, 0, 0, 0.27764],
+ 47: [0.24982, 0.74947, 0, 0, 0.50181],
+ 48: [0, 0.47534, 0, 0, 0.50181],
+ 49: [0, 0.47534, 0, 0, 0.50181],
+ 50: [0, 0.47534, 0, 0, 0.50181],
+ 51: [0.18906, 0.47534, 0, 0, 0.50181],
+ 52: [0.18906, 0.47534, 0, 0, 0.50181],
+ 53: [0.18906, 0.47534, 0, 0, 0.50181],
+ 54: [0, 0.69141, 0, 0, 0.50181],
+ 55: [0.18906, 0.47534, 0, 0, 0.50181],
+ 56: [0, 0.69141, 0, 0, 0.50181],
+ 57: [0.18906, 0.47534, 0, 0, 0.50181],
+ 58: [0, 0.47534, 0, 0, 0.21606],
+ 59: [0.12604, 0.47534, 0, 0, 0.21606],
+ 61: [-0.13099, 0.36866, 0, 0, 0.75623],
+ 63: [0, 0.69141, 0, 0, 0.36245],
+ 65: [0, 0.69141, 0, 0, 0.7176],
+ 66: [0, 0.69141, 0, 0, 0.88397],
+ 67: [0, 0.69141, 0, 0, 0.61254],
+ 68: [0, 0.69141, 0, 0, 0.83158],
+ 69: [0, 0.69141, 0, 0, 0.66278],
+ 70: [0.12604, 0.69141, 0, 0, 0.61119],
+ 71: [0, 0.69141, 0, 0, 0.78539],
+ 72: [0.06302, 0.69141, 0, 0, 0.7203],
+ 73: [0, 0.69141, 0, 0, 0.55448],
+ 74: [0.12604, 0.69141, 0, 0, 0.55231],
+ 75: [0, 0.69141, 0, 0, 0.66845],
+ 76: [0, 0.69141, 0, 0, 0.66602],
+ 77: [0, 0.69141, 0, 0, 1.04953],
+ 78: [0, 0.69141, 0, 0, 0.83212],
+ 79: [0, 0.69141, 0, 0, 0.82699],
+ 80: [0.18906, 0.69141, 0, 0, 0.82753],
+ 81: [0.03781, 0.69141, 0, 0, 0.82699],
+ 82: [0, 0.69141, 0, 0, 0.82807],
+ 83: [0, 0.69141, 0, 0, 0.82861],
+ 84: [0, 0.69141, 0, 0, 0.66899],
+ 85: [0, 0.69141, 0, 0, 0.64576],
+ 86: [0, 0.69141, 0, 0, 0.83131],
+ 87: [0, 0.69141, 0, 0, 1.04602],
+ 88: [0, 0.69141, 0, 0, 0.71922],
+ 89: [0.18906, 0.69141, 0, 0, 0.83293],
+ 90: [0.12604, 0.69141, 0, 0, 0.60201],
+ 91: [0.24982, 0.74947, 0, 0, 0.27764],
+ 93: [0.24982, 0.74947, 0, 0, 0.27764],
+ 94: [0, 0.69141, 0, 0, 0.49965],
+ 97: [0, 0.47534, 0, 0, 0.50046],
+ 98: [0, 0.69141, 0, 0, 0.51315],
+ 99: [0, 0.47534, 0, 0, 0.38946],
+ 100: [0, 0.62119, 0, 0, 0.49857],
+ 101: [0, 0.47534, 0, 0, 0.40053],
+ 102: [0.18906, 0.69141, 0, 0, 0.32626],
+ 103: [0.18906, 0.47534, 0, 0, 0.5037],
+ 104: [0.18906, 0.69141, 0, 0, 0.52126],
+ 105: [0, 0.69141, 0, 0, 0.27899],
+ 106: [0, 0.69141, 0, 0, 0.28088],
+ 107: [0, 0.69141, 0, 0, 0.38946],
+ 108: [0, 0.69141, 0, 0, 0.27953],
+ 109: [0, 0.47534, 0, 0, 0.76676],
+ 110: [0, 0.47534, 0, 0, 0.52666],
+ 111: [0, 0.47534, 0, 0, 0.48885],
+ 112: [0.18906, 0.52396, 0, 0, 0.50046],
+ 113: [0.18906, 0.47534, 0, 0, 0.48912],
+ 114: [0, 0.47534, 0, 0, 0.38919],
+ 115: [0, 0.47534, 0, 0, 0.44266],
+ 116: [0, 0.62119, 0, 0, 0.33301],
+ 117: [0, 0.47534, 0, 0, 0.5172],
+ 118: [0, 0.52396, 0, 0, 0.5118],
+ 119: [0, 0.52396, 0, 0, 0.77351],
+ 120: [0.18906, 0.47534, 0, 0, 0.38865],
+ 121: [0.18906, 0.47534, 0, 0, 0.49884],
+ 122: [0.18906, 0.47534, 0, 0, 0.39054],
+ 160: [0, 0, 0, 0, 0.25],
+ 8216: [0, 0.69141, 0, 0, 0.21471],
+ 8217: [0, 0.69141, 0, 0, 0.21471],
+ 58112: [0, 0.62119, 0, 0, 0.49749],
+ 58113: [0, 0.62119, 0, 0, 0.4983],
+ 58114: [0.18906, 0.69141, 0, 0, 0.33328],
+ 58115: [0.18906, 0.69141, 0, 0, 0.32923],
+ 58116: [0.18906, 0.47534, 0, 0, 0.50343],
+ 58117: [0, 0.69141, 0, 0, 0.33301],
+ 58118: [0, 0.62119, 0, 0, 0.33409],
+ 58119: [0, 0.47534, 0, 0, 0.50073]
+ },
+ 'Main-Bold': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.35],
+ 34: [0, 0.69444, 0, 0, 0.60278],
+ 35: [0.19444, 0.69444, 0, 0, 0.95833],
+ 36: [0.05556, 0.75, 0, 0, 0.575],
+ 37: [0.05556, 0.75, 0, 0, 0.95833],
+ 38: [0, 0.69444, 0, 0, 0.89444],
+ 39: [0, 0.69444, 0, 0, 0.31944],
+ 40: [0.25, 0.75, 0, 0, 0.44722],
+ 41: [0.25, 0.75, 0, 0, 0.44722],
+ 42: [0, 0.75, 0, 0, 0.575],
+ 43: [0.13333, 0.63333, 0, 0, 0.89444],
+ 44: [0.19444, 0.15556, 0, 0, 0.31944],
+ 45: [0, 0.44444, 0, 0, 0.38333],
+ 46: [0, 0.15556, 0, 0, 0.31944],
+ 47: [0.25, 0.75, 0, 0, 0.575],
+ 48: [0, 0.64444, 0, 0, 0.575],
+ 49: [0, 0.64444, 0, 0, 0.575],
+ 50: [0, 0.64444, 0, 0, 0.575],
+ 51: [0, 0.64444, 0, 0, 0.575],
+ 52: [0, 0.64444, 0, 0, 0.575],
+ 53: [0, 0.64444, 0, 0, 0.575],
+ 54: [0, 0.64444, 0, 0, 0.575],
+ 55: [0, 0.64444, 0, 0, 0.575],
+ 56: [0, 0.64444, 0, 0, 0.575],
+ 57: [0, 0.64444, 0, 0, 0.575],
+ 58: [0, 0.44444, 0, 0, 0.31944],
+ 59: [0.19444, 0.44444, 0, 0, 0.31944],
+ 60: [0.08556, 0.58556, 0, 0, 0.89444],
+ 61: [-0.10889, 0.39111, 0, 0, 0.89444],
+ 62: [0.08556, 0.58556, 0, 0, 0.89444],
+ 63: [0, 0.69444, 0, 0, 0.54305],
+ 64: [0, 0.69444, 0, 0, 0.89444],
+ 65: [0, 0.68611, 0, 0, 0.86944],
+ 66: [0, 0.68611, 0, 0, 0.81805],
+ 67: [0, 0.68611, 0, 0, 0.83055],
+ 68: [0, 0.68611, 0, 0, 0.88194],
+ 69: [0, 0.68611, 0, 0, 0.75555],
+ 70: [0, 0.68611, 0, 0, 0.72361],
+ 71: [0, 0.68611, 0, 0, 0.90416],
+ 72: [0, 0.68611, 0, 0, 0.9],
+ 73: [0, 0.68611, 0, 0, 0.43611],
+ 74: [0, 0.68611, 0, 0, 0.59444],
+ 75: [0, 0.68611, 0, 0, 0.90138],
+ 76: [0, 0.68611, 0, 0, 0.69166],
+ 77: [0, 0.68611, 0, 0, 1.09166],
+ 78: [0, 0.68611, 0, 0, 0.9],
+ 79: [0, 0.68611, 0, 0, 0.86388],
+ 80: [0, 0.68611, 0, 0, 0.78611],
+ 81: [0.19444, 0.68611, 0, 0, 0.86388],
+ 82: [0, 0.68611, 0, 0, 0.8625],
+ 83: [0, 0.68611, 0, 0, 0.63889],
+ 84: [0, 0.68611, 0, 0, 0.8],
+ 85: [0, 0.68611, 0, 0, 0.88472],
+ 86: [0, 0.68611, 0.01597, 0, 0.86944],
+ 87: [0, 0.68611, 0.01597, 0, 1.18888],
+ 88: [0, 0.68611, 0, 0, 0.86944],
+ 89: [0, 0.68611, 0.02875, 0, 0.86944],
+ 90: [0, 0.68611, 0, 0, 0.70277],
+ 91: [0.25, 0.75, 0, 0, 0.31944],
+ 92: [0.25, 0.75, 0, 0, 0.575],
+ 93: [0.25, 0.75, 0, 0, 0.31944],
+ 94: [0, 0.69444, 0, 0, 0.575],
+ 95: [0.31, 0.13444, 0.03194, 0, 0.575],
+ 97: [0, 0.44444, 0, 0, 0.55902],
+ 98: [0, 0.69444, 0, 0, 0.63889],
+ 99: [0, 0.44444, 0, 0, 0.51111],
+ 100: [0, 0.69444, 0, 0, 0.63889],
+ 101: [0, 0.44444, 0, 0, 0.52708],
+ 102: [0, 0.69444, 0.10903, 0, 0.35139],
+ 103: [0.19444, 0.44444, 0.01597, 0, 0.575],
+ 104: [0, 0.69444, 0, 0, 0.63889],
+ 105: [0, 0.69444, 0, 0, 0.31944],
+ 106: [0.19444, 0.69444, 0, 0, 0.35139],
+ 107: [0, 0.69444, 0, 0, 0.60694],
+ 108: [0, 0.69444, 0, 0, 0.31944],
+ 109: [0, 0.44444, 0, 0, 0.95833],
+ 110: [0, 0.44444, 0, 0, 0.63889],
+ 111: [0, 0.44444, 0, 0, 0.575],
+ 112: [0.19444, 0.44444, 0, 0, 0.63889],
+ 113: [0.19444, 0.44444, 0, 0, 0.60694],
+ 114: [0, 0.44444, 0, 0, 0.47361],
+ 115: [0, 0.44444, 0, 0, 0.45361],
+ 116: [0, 0.63492, 0, 0, 0.44722],
+ 117: [0, 0.44444, 0, 0, 0.63889],
+ 118: [0, 0.44444, 0.01597, 0, 0.60694],
+ 119: [0, 0.44444, 0.01597, 0, 0.83055],
+ 120: [0, 0.44444, 0, 0, 0.60694],
+ 121: [0.19444, 0.44444, 0.01597, 0, 0.60694],
+ 122: [0, 0.44444, 0, 0, 0.51111],
+ 123: [0.25, 0.75, 0, 0, 0.575],
+ 124: [0.25, 0.75, 0, 0, 0.31944],
+ 125: [0.25, 0.75, 0, 0, 0.575],
+ 126: [0.35, 0.34444, 0, 0, 0.575],
+ 160: [0, 0, 0, 0, 0.25],
+ 163: [0, 0.69444, 0, 0, 0.86853],
+ 168: [0, 0.69444, 0, 0, 0.575],
+ 172: [0, 0.44444, 0, 0, 0.76666],
+ 176: [0, 0.69444, 0, 0, 0.86944],
+ 177: [0.13333, 0.63333, 0, 0, 0.89444],
+ 184: [0.17014, 0, 0, 0, 0.51111],
+ 198: [0, 0.68611, 0, 0, 1.04166],
+ 215: [0.13333, 0.63333, 0, 0, 0.89444],
+ 216: [0.04861, 0.73472, 0, 0, 0.89444],
+ 223: [0, 0.69444, 0, 0, 0.59722],
+ 230: [0, 0.44444, 0, 0, 0.83055],
+ 247: [0.13333, 0.63333, 0, 0, 0.89444],
+ 248: [0.09722, 0.54167, 0, 0, 0.575],
+ 305: [0, 0.44444, 0, 0, 0.31944],
+ 338: [0, 0.68611, 0, 0, 1.16944],
+ 339: [0, 0.44444, 0, 0, 0.89444],
+ 567: [0.19444, 0.44444, 0, 0, 0.35139],
+ 710: [0, 0.69444, 0, 0, 0.575],
+ 711: [0, 0.63194, 0, 0, 0.575],
+ 713: [0, 0.59611, 0, 0, 0.575],
+ 714: [0, 0.69444, 0, 0, 0.575],
+ 715: [0, 0.69444, 0, 0, 0.575],
+ 728: [0, 0.69444, 0, 0, 0.575],
+ 729: [0, 0.69444, 0, 0, 0.31944],
+ 730: [0, 0.69444, 0, 0, 0.86944],
+ 732: [0, 0.69444, 0, 0, 0.575],
+ 733: [0, 0.69444, 0, 0, 0.575],
+ 915: [0, 0.68611, 0, 0, 0.69166],
+ 916: [0, 0.68611, 0, 0, 0.95833],
+ 920: [0, 0.68611, 0, 0, 0.89444],
+ 923: [0, 0.68611, 0, 0, 0.80555],
+ 926: [0, 0.68611, 0, 0, 0.76666],
+ 928: [0, 0.68611, 0, 0, 0.9],
+ 931: [0, 0.68611, 0, 0, 0.83055],
+ 933: [0, 0.68611, 0, 0, 0.89444],
+ 934: [0, 0.68611, 0, 0, 0.83055],
+ 936: [0, 0.68611, 0, 0, 0.89444],
+ 937: [0, 0.68611, 0, 0, 0.83055],
+ 8211: [0, 0.44444, 0.03194, 0, 0.575],
+ 8212: [0, 0.44444, 0.03194, 0, 1.14999],
+ 8216: [0, 0.69444, 0, 0, 0.31944],
+ 8217: [0, 0.69444, 0, 0, 0.31944],
+ 8220: [0, 0.69444, 0, 0, 0.60278],
+ 8221: [0, 0.69444, 0, 0, 0.60278],
+ 8224: [0.19444, 0.69444, 0, 0, 0.51111],
+ 8225: [0.19444, 0.69444, 0, 0, 0.51111],
+ 8242: [0, 0.55556, 0, 0, 0.34444],
+ 8407: [0, 0.72444, 0.15486, 0, 0.575],
+ 8463: [0, 0.69444, 0, 0, 0.66759],
+ 8465: [0, 0.69444, 0, 0, 0.83055],
+ 8467: [0, 0.69444, 0, 0, 0.47361],
+ 8472: [0.19444, 0.44444, 0, 0, 0.74027],
+ 8476: [0, 0.69444, 0, 0, 0.83055],
+ 8501: [0, 0.69444, 0, 0, 0.70277],
+ 8592: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8593: [0.19444, 0.69444, 0, 0, 0.575],
+ 8594: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8595: [0.19444, 0.69444, 0, 0, 0.575],
+ 8596: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8597: [0.25, 0.75, 0, 0, 0.575],
+ 8598: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8599: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8600: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8601: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8636: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8637: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8640: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8641: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8656: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8657: [0.19444, 0.69444, 0, 0, 0.70277],
+ 8658: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8659: [0.19444, 0.69444, 0, 0, 0.70277],
+ 8660: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8661: [0.25, 0.75, 0, 0, 0.70277],
+ 8704: [0, 0.69444, 0, 0, 0.63889],
+ 8706: [0, 0.69444, 0.06389, 0, 0.62847],
+ 8707: [0, 0.69444, 0, 0, 0.63889],
+ 8709: [0.05556, 0.75, 0, 0, 0.575],
+ 8711: [0, 0.68611, 0, 0, 0.95833],
+ 8712: [0.08556, 0.58556, 0, 0, 0.76666],
+ 8715: [0.08556, 0.58556, 0, 0, 0.76666],
+ 8722: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8723: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8725: [0.25, 0.75, 0, 0, 0.575],
+ 8726: [0.25, 0.75, 0, 0, 0.575],
+ 8727: [-0.02778, 0.47222, 0, 0, 0.575],
+ 8728: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8729: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8730: [0.18, 0.82, 0, 0, 0.95833],
+ 8733: [0, 0.44444, 0, 0, 0.89444],
+ 8734: [0, 0.44444, 0, 0, 1.14999],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8739: [0.25, 0.75, 0, 0, 0.31944],
+ 8741: [0.25, 0.75, 0, 0, 0.575],
+ 8743: [0, 0.55556, 0, 0, 0.76666],
+ 8744: [0, 0.55556, 0, 0, 0.76666],
+ 8745: [0, 0.55556, 0, 0, 0.76666],
+ 8746: [0, 0.55556, 0, 0, 0.76666],
+ 8747: [0.19444, 0.69444, 0.12778, 0, 0.56875],
+ 8764: [-0.10889, 0.39111, 0, 0, 0.89444],
+ 8768: [0.19444, 0.69444, 0, 0, 0.31944],
+ 8771: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8773: [0.027, 0.638, 0, 0, 0.894],
+ 8776: [0.02444, 0.52444, 0, 0, 0.89444],
+ 8781: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8801: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8804: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8805: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8810: [0.08556, 0.58556, 0, 0, 1.14999],
+ 8811: [0.08556, 0.58556, 0, 0, 1.14999],
+ 8826: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8827: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8834: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8835: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8838: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8839: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8846: [0, 0.55556, 0, 0, 0.76666],
+ 8849: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8850: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8851: [0, 0.55556, 0, 0, 0.76666],
+ 8852: [0, 0.55556, 0, 0, 0.76666],
+ 8853: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8854: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8855: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8856: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8857: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8866: [0, 0.69444, 0, 0, 0.70277],
+ 8867: [0, 0.69444, 0, 0, 0.70277],
+ 8868: [0, 0.69444, 0, 0, 0.89444],
+ 8869: [0, 0.69444, 0, 0, 0.89444],
+ 8900: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8901: [-0.02639, 0.47361, 0, 0, 0.31944],
+ 8902: [-0.02778, 0.47222, 0, 0, 0.575],
+ 8968: [0.25, 0.75, 0, 0, 0.51111],
+ 8969: [0.25, 0.75, 0, 0, 0.51111],
+ 8970: [0.25, 0.75, 0, 0, 0.51111],
+ 8971: [0.25, 0.75, 0, 0, 0.51111],
+ 8994: [-0.13889, 0.36111, 0, 0, 1.14999],
+ 8995: [-0.13889, 0.36111, 0, 0, 1.14999],
+ 9651: [0.19444, 0.69444, 0, 0, 1.02222],
+ 9657: [-0.02778, 0.47222, 0, 0, 0.575],
+ 9661: [0.19444, 0.69444, 0, 0, 1.02222],
+ 9667: [-0.02778, 0.47222, 0, 0, 0.575],
+ 9711: [0.19444, 0.69444, 0, 0, 1.14999],
+ 9824: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9825: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9826: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9827: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9837: [0, 0.75, 0, 0, 0.44722],
+ 9838: [0.19444, 0.69444, 0, 0, 0.44722],
+ 9839: [0.19444, 0.69444, 0, 0, 0.44722],
+ 10216: [0.25, 0.75, 0, 0, 0.44722],
+ 10217: [0.25, 0.75, 0, 0, 0.44722],
+ 10815: [0, 0.68611, 0, 0, 0.9],
+ 10927: [0.19667, 0.69667, 0, 0, 0.89444],
+ 10928: [0.19667, 0.69667, 0, 0, 0.89444],
+ 57376: [0.19444, 0.69444, 0, 0, 0]
+ },
+ 'Main-BoldItalic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.11417, 0, 0.38611],
+ 34: [0, 0.69444, 0.07939, 0, 0.62055],
+ 35: [0.19444, 0.69444, 0.06833, 0, 0.94444],
+ 37: [0.05556, 0.75, 0.12861, 0, 0.94444],
+ 38: [0, 0.69444, 0.08528, 0, 0.88555],
+ 39: [0, 0.69444, 0.12945, 0, 0.35555],
+ 40: [0.25, 0.75, 0.15806, 0, 0.47333],
+ 41: [0.25, 0.75, 0.03306, 0, 0.47333],
+ 42: [0, 0.75, 0.14333, 0, 0.59111],
+ 43: [0.10333, 0.60333, 0.03306, 0, 0.88555],
+ 44: [0.19444, 0.14722, 0, 0, 0.35555],
+ 45: [0, 0.44444, 0.02611, 0, 0.41444],
+ 46: [0, 0.14722, 0, 0, 0.35555],
+ 47: [0.25, 0.75, 0.15806, 0, 0.59111],
+ 48: [0, 0.64444, 0.13167, 0, 0.59111],
+ 49: [0, 0.64444, 0.13167, 0, 0.59111],
+ 50: [0, 0.64444, 0.13167, 0, 0.59111],
+ 51: [0, 0.64444, 0.13167, 0, 0.59111],
+ 52: [0.19444, 0.64444, 0.13167, 0, 0.59111],
+ 53: [0, 0.64444, 0.13167, 0, 0.59111],
+ 54: [0, 0.64444, 0.13167, 0, 0.59111],
+ 55: [0.19444, 0.64444, 0.13167, 0, 0.59111],
+ 56: [0, 0.64444, 0.13167, 0, 0.59111],
+ 57: [0, 0.64444, 0.13167, 0, 0.59111],
+ 58: [0, 0.44444, 0.06695, 0, 0.35555],
+ 59: [0.19444, 0.44444, 0.06695, 0, 0.35555],
+ 61: [-0.10889, 0.39111, 0.06833, 0, 0.88555],
+ 63: [0, 0.69444, 0.11472, 0, 0.59111],
+ 64: [0, 0.69444, 0.09208, 0, 0.88555],
+ 65: [0, 0.68611, 0, 0, 0.86555],
+ 66: [0, 0.68611, 0.0992, 0, 0.81666],
+ 67: [0, 0.68611, 0.14208, 0, 0.82666],
+ 68: [0, 0.68611, 0.09062, 0, 0.87555],
+ 69: [0, 0.68611, 0.11431, 0, 0.75666],
+ 70: [0, 0.68611, 0.12903, 0, 0.72722],
+ 71: [0, 0.68611, 0.07347, 0, 0.89527],
+ 72: [0, 0.68611, 0.17208, 0, 0.8961],
+ 73: [0, 0.68611, 0.15681, 0, 0.47166],
+ 74: [0, 0.68611, 0.145, 0, 0.61055],
+ 75: [0, 0.68611, 0.14208, 0, 0.89499],
+ 76: [0, 0.68611, 0, 0, 0.69777],
+ 77: [0, 0.68611, 0.17208, 0, 1.07277],
+ 78: [0, 0.68611, 0.17208, 0, 0.8961],
+ 79: [0, 0.68611, 0.09062, 0, 0.85499],
+ 80: [0, 0.68611, 0.0992, 0, 0.78721],
+ 81: [0.19444, 0.68611, 0.09062, 0, 0.85499],
+ 82: [0, 0.68611, 0.02559, 0, 0.85944],
+ 83: [0, 0.68611, 0.11264, 0, 0.64999],
+ 84: [0, 0.68611, 0.12903, 0, 0.7961],
+ 85: [0, 0.68611, 0.17208, 0, 0.88083],
+ 86: [0, 0.68611, 0.18625, 0, 0.86555],
+ 87: [0, 0.68611, 0.18625, 0, 1.15999],
+ 88: [0, 0.68611, 0.15681, 0, 0.86555],
+ 89: [0, 0.68611, 0.19803, 0, 0.86555],
+ 90: [0, 0.68611, 0.14208, 0, 0.70888],
+ 91: [0.25, 0.75, 0.1875, 0, 0.35611],
+ 93: [0.25, 0.75, 0.09972, 0, 0.35611],
+ 94: [0, 0.69444, 0.06709, 0, 0.59111],
+ 95: [0.31, 0.13444, 0.09811, 0, 0.59111],
+ 97: [0, 0.44444, 0.09426, 0, 0.59111],
+ 98: [0, 0.69444, 0.07861, 0, 0.53222],
+ 99: [0, 0.44444, 0.05222, 0, 0.53222],
+ 100: [0, 0.69444, 0.10861, 0, 0.59111],
+ 101: [0, 0.44444, 0.085, 0, 0.53222],
+ 102: [0.19444, 0.69444, 0.21778, 0, 0.4],
+ 103: [0.19444, 0.44444, 0.105, 0, 0.53222],
+ 104: [0, 0.69444, 0.09426, 0, 0.59111],
+ 105: [0, 0.69326, 0.11387, 0, 0.35555],
+ 106: [0.19444, 0.69326, 0.1672, 0, 0.35555],
+ 107: [0, 0.69444, 0.11111, 0, 0.53222],
+ 108: [0, 0.69444, 0.10861, 0, 0.29666],
+ 109: [0, 0.44444, 0.09426, 0, 0.94444],
+ 110: [0, 0.44444, 0.09426, 0, 0.64999],
+ 111: [0, 0.44444, 0.07861, 0, 0.59111],
+ 112: [0.19444, 0.44444, 0.07861, 0, 0.59111],
+ 113: [0.19444, 0.44444, 0.105, 0, 0.53222],
+ 114: [0, 0.44444, 0.11111, 0, 0.50167],
+ 115: [0, 0.44444, 0.08167, 0, 0.48694],
+ 116: [0, 0.63492, 0.09639, 0, 0.385],
+ 117: [0, 0.44444, 0.09426, 0, 0.62055],
+ 118: [0, 0.44444, 0.11111, 0, 0.53222],
+ 119: [0, 0.44444, 0.11111, 0, 0.76777],
+ 120: [0, 0.44444, 0.12583, 0, 0.56055],
+ 121: [0.19444, 0.44444, 0.105, 0, 0.56166],
+ 122: [0, 0.44444, 0.13889, 0, 0.49055],
+ 126: [0.35, 0.34444, 0.11472, 0, 0.59111],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.69444, 0.11473, 0, 0.59111],
+ 176: [0, 0.69444, 0, 0, 0.94888],
+ 184: [0.17014, 0, 0, 0, 0.53222],
+ 198: [0, 0.68611, 0.11431, 0, 1.02277],
+ 216: [0.04861, 0.73472, 0.09062, 0, 0.88555],
+ 223: [0.19444, 0.69444, 0.09736, 0, 0.665],
+ 230: [0, 0.44444, 0.085, 0, 0.82666],
+ 248: [0.09722, 0.54167, 0.09458, 0, 0.59111],
+ 305: [0, 0.44444, 0.09426, 0, 0.35555],
+ 338: [0, 0.68611, 0.11431, 0, 1.14054],
+ 339: [0, 0.44444, 0.085, 0, 0.82666],
+ 567: [0.19444, 0.44444, 0.04611, 0, 0.385],
+ 710: [0, 0.69444, 0.06709, 0, 0.59111],
+ 711: [0, 0.63194, 0.08271, 0, 0.59111],
+ 713: [0, 0.59444, 0.10444, 0, 0.59111],
+ 714: [0, 0.69444, 0.08528, 0, 0.59111],
+ 715: [0, 0.69444, 0, 0, 0.59111],
+ 728: [0, 0.69444, 0.10333, 0, 0.59111],
+ 729: [0, 0.69444, 0.12945, 0, 0.35555],
+ 730: [0, 0.69444, 0, 0, 0.94888],
+ 732: [0, 0.69444, 0.11472, 0, 0.59111],
+ 733: [0, 0.69444, 0.11472, 0, 0.59111],
+ 915: [0, 0.68611, 0.12903, 0, 0.69777],
+ 916: [0, 0.68611, 0, 0, 0.94444],
+ 920: [0, 0.68611, 0.09062, 0, 0.88555],
+ 923: [0, 0.68611, 0, 0, 0.80666],
+ 926: [0, 0.68611, 0.15092, 0, 0.76777],
+ 928: [0, 0.68611, 0.17208, 0, 0.8961],
+ 931: [0, 0.68611, 0.11431, 0, 0.82666],
+ 933: [0, 0.68611, 0.10778, 0, 0.88555],
+ 934: [0, 0.68611, 0.05632, 0, 0.82666],
+ 936: [0, 0.68611, 0.10778, 0, 0.88555],
+ 937: [0, 0.68611, 0.0992, 0, 0.82666],
+ 8211: [0, 0.44444, 0.09811, 0, 0.59111],
+ 8212: [0, 0.44444, 0.09811, 0, 1.18221],
+ 8216: [0, 0.69444, 0.12945, 0, 0.35555],
+ 8217: [0, 0.69444, 0.12945, 0, 0.35555],
+ 8220: [0, 0.69444, 0.16772, 0, 0.62055],
+ 8221: [0, 0.69444, 0.07939, 0, 0.62055]
+ },
+ 'Main-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.12417, 0, 0.30667],
+ 34: [0, 0.69444, 0.06961, 0, 0.51444],
+ 35: [0.19444, 0.69444, 0.06616, 0, 0.81777],
+ 37: [0.05556, 0.75, 0.13639, 0, 0.81777],
+ 38: [0, 0.69444, 0.09694, 0, 0.76666],
+ 39: [0, 0.69444, 0.12417, 0, 0.30667],
+ 40: [0.25, 0.75, 0.16194, 0, 0.40889],
+ 41: [0.25, 0.75, 0.03694, 0, 0.40889],
+ 42: [0, 0.75, 0.14917, 0, 0.51111],
+ 43: [0.05667, 0.56167, 0.03694, 0, 0.76666],
+ 44: [0.19444, 0.10556, 0, 0, 0.30667],
+ 45: [0, 0.43056, 0.02826, 0, 0.35778],
+ 46: [0, 0.10556, 0, 0, 0.30667],
+ 47: [0.25, 0.75, 0.16194, 0, 0.51111],
+ 48: [0, 0.64444, 0.13556, 0, 0.51111],
+ 49: [0, 0.64444, 0.13556, 0, 0.51111],
+ 50: [0, 0.64444, 0.13556, 0, 0.51111],
+ 51: [0, 0.64444, 0.13556, 0, 0.51111],
+ 52: [0.19444, 0.64444, 0.13556, 0, 0.51111],
+ 53: [0, 0.64444, 0.13556, 0, 0.51111],
+ 54: [0, 0.64444, 0.13556, 0, 0.51111],
+ 55: [0.19444, 0.64444, 0.13556, 0, 0.51111],
+ 56: [0, 0.64444, 0.13556, 0, 0.51111],
+ 57: [0, 0.64444, 0.13556, 0, 0.51111],
+ 58: [0, 0.43056, 0.0582, 0, 0.30667],
+ 59: [0.19444, 0.43056, 0.0582, 0, 0.30667],
+ 61: [-0.13313, 0.36687, 0.06616, 0, 0.76666],
+ 63: [0, 0.69444, 0.1225, 0, 0.51111],
+ 64: [0, 0.69444, 0.09597, 0, 0.76666],
+ 65: [0, 0.68333, 0, 0, 0.74333],
+ 66: [0, 0.68333, 0.10257, 0, 0.70389],
+ 67: [0, 0.68333, 0.14528, 0, 0.71555],
+ 68: [0, 0.68333, 0.09403, 0, 0.755],
+ 69: [0, 0.68333, 0.12028, 0, 0.67833],
+ 70: [0, 0.68333, 0.13305, 0, 0.65277],
+ 71: [0, 0.68333, 0.08722, 0, 0.77361],
+ 72: [0, 0.68333, 0.16389, 0, 0.74333],
+ 73: [0, 0.68333, 0.15806, 0, 0.38555],
+ 74: [0, 0.68333, 0.14028, 0, 0.525],
+ 75: [0, 0.68333, 0.14528, 0, 0.76888],
+ 76: [0, 0.68333, 0, 0, 0.62722],
+ 77: [0, 0.68333, 0.16389, 0, 0.89666],
+ 78: [0, 0.68333, 0.16389, 0, 0.74333],
+ 79: [0, 0.68333, 0.09403, 0, 0.76666],
+ 80: [0, 0.68333, 0.10257, 0, 0.67833],
+ 81: [0.19444, 0.68333, 0.09403, 0, 0.76666],
+ 82: [0, 0.68333, 0.03868, 0, 0.72944],
+ 83: [0, 0.68333, 0.11972, 0, 0.56222],
+ 84: [0, 0.68333, 0.13305, 0, 0.71555],
+ 85: [0, 0.68333, 0.16389, 0, 0.74333],
+ 86: [0, 0.68333, 0.18361, 0, 0.74333],
+ 87: [0, 0.68333, 0.18361, 0, 0.99888],
+ 88: [0, 0.68333, 0.15806, 0, 0.74333],
+ 89: [0, 0.68333, 0.19383, 0, 0.74333],
+ 90: [0, 0.68333, 0.14528, 0, 0.61333],
+ 91: [0.25, 0.75, 0.1875, 0, 0.30667],
+ 93: [0.25, 0.75, 0.10528, 0, 0.30667],
+ 94: [0, 0.69444, 0.06646, 0, 0.51111],
+ 95: [0.31, 0.12056, 0.09208, 0, 0.51111],
+ 97: [0, 0.43056, 0.07671, 0, 0.51111],
+ 98: [0, 0.69444, 0.06312, 0, 0.46],
+ 99: [0, 0.43056, 0.05653, 0, 0.46],
+ 100: [0, 0.69444, 0.10333, 0, 0.51111],
+ 101: [0, 0.43056, 0.07514, 0, 0.46],
+ 102: [0.19444, 0.69444, 0.21194, 0, 0.30667],
+ 103: [0.19444, 0.43056, 0.08847, 0, 0.46],
+ 104: [0, 0.69444, 0.07671, 0, 0.51111],
+ 105: [0, 0.65536, 0.1019, 0, 0.30667],
+ 106: [0.19444, 0.65536, 0.14467, 0, 0.30667],
+ 107: [0, 0.69444, 0.10764, 0, 0.46],
+ 108: [0, 0.69444, 0.10333, 0, 0.25555],
+ 109: [0, 0.43056, 0.07671, 0, 0.81777],
+ 110: [0, 0.43056, 0.07671, 0, 0.56222],
+ 111: [0, 0.43056, 0.06312, 0, 0.51111],
+ 112: [0.19444, 0.43056, 0.06312, 0, 0.51111],
+ 113: [0.19444, 0.43056, 0.08847, 0, 0.46],
+ 114: [0, 0.43056, 0.10764, 0, 0.42166],
+ 115: [0, 0.43056, 0.08208, 0, 0.40889],
+ 116: [0, 0.61508, 0.09486, 0, 0.33222],
+ 117: [0, 0.43056, 0.07671, 0, 0.53666],
+ 118: [0, 0.43056, 0.10764, 0, 0.46],
+ 119: [0, 0.43056, 0.10764, 0, 0.66444],
+ 120: [0, 0.43056, 0.12042, 0, 0.46389],
+ 121: [0.19444, 0.43056, 0.08847, 0, 0.48555],
+ 122: [0, 0.43056, 0.12292, 0, 0.40889],
+ 126: [0.35, 0.31786, 0.11585, 0, 0.51111],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.66786, 0.10474, 0, 0.51111],
+ 176: [0, 0.69444, 0, 0, 0.83129],
+ 184: [0.17014, 0, 0, 0, 0.46],
+ 198: [0, 0.68333, 0.12028, 0, 0.88277],
+ 216: [0.04861, 0.73194, 0.09403, 0, 0.76666],
+ 223: [0.19444, 0.69444, 0.10514, 0, 0.53666],
+ 230: [0, 0.43056, 0.07514, 0, 0.71555],
+ 248: [0.09722, 0.52778, 0.09194, 0, 0.51111],
+ 338: [0, 0.68333, 0.12028, 0, 0.98499],
+ 339: [0, 0.43056, 0.07514, 0, 0.71555],
+ 710: [0, 0.69444, 0.06646, 0, 0.51111],
+ 711: [0, 0.62847, 0.08295, 0, 0.51111],
+ 713: [0, 0.56167, 0.10333, 0, 0.51111],
+ 714: [0, 0.69444, 0.09694, 0, 0.51111],
+ 715: [0, 0.69444, 0, 0, 0.51111],
+ 728: [0, 0.69444, 0.10806, 0, 0.51111],
+ 729: [0, 0.66786, 0.11752, 0, 0.30667],
+ 730: [0, 0.69444, 0, 0, 0.83129],
+ 732: [0, 0.66786, 0.11585, 0, 0.51111],
+ 733: [0, 0.69444, 0.1225, 0, 0.51111],
+ 915: [0, 0.68333, 0.13305, 0, 0.62722],
+ 916: [0, 0.68333, 0, 0, 0.81777],
+ 920: [0, 0.68333, 0.09403, 0, 0.76666],
+ 923: [0, 0.68333, 0, 0, 0.69222],
+ 926: [0, 0.68333, 0.15294, 0, 0.66444],
+ 928: [0, 0.68333, 0.16389, 0, 0.74333],
+ 931: [0, 0.68333, 0.12028, 0, 0.71555],
+ 933: [0, 0.68333, 0.11111, 0, 0.76666],
+ 934: [0, 0.68333, 0.05986, 0, 0.71555],
+ 936: [0, 0.68333, 0.11111, 0, 0.76666],
+ 937: [0, 0.68333, 0.10257, 0, 0.71555],
+ 8211: [0, 0.43056, 0.09208, 0, 0.51111],
+ 8212: [0, 0.43056, 0.09208, 0, 1.02222],
+ 8216: [0, 0.69444, 0.12417, 0, 0.30667],
+ 8217: [0, 0.69444, 0.12417, 0, 0.30667],
+ 8220: [0, 0.69444, 0.1685, 0, 0.51444],
+ 8221: [0, 0.69444, 0.06961, 0, 0.51444],
+ 8463: [0, 0.68889, 0, 0, 0.54028]
+ },
+ 'Main-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.27778],
+ 34: [0, 0.69444, 0, 0, 0.5],
+ 35: [0.19444, 0.69444, 0, 0, 0.83334],
+ 36: [0.05556, 0.75, 0, 0, 0.5],
+ 37: [0.05556, 0.75, 0, 0, 0.83334],
+ 38: [0, 0.69444, 0, 0, 0.77778],
+ 39: [0, 0.69444, 0, 0, 0.27778],
+ 40: [0.25, 0.75, 0, 0, 0.38889],
+ 41: [0.25, 0.75, 0, 0, 0.38889],
+ 42: [0, 0.75, 0, 0, 0.5],
+ 43: [0.08333, 0.58333, 0, 0, 0.77778],
+ 44: [0.19444, 0.10556, 0, 0, 0.27778],
+ 45: [0, 0.43056, 0, 0, 0.33333],
+ 46: [0, 0.10556, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0, 0, 0.5],
+ 48: [0, 0.64444, 0, 0, 0.5],
+ 49: [0, 0.64444, 0, 0, 0.5],
+ 50: [0, 0.64444, 0, 0, 0.5],
+ 51: [0, 0.64444, 0, 0, 0.5],
+ 52: [0, 0.64444, 0, 0, 0.5],
+ 53: [0, 0.64444, 0, 0, 0.5],
+ 54: [0, 0.64444, 0, 0, 0.5],
+ 55: [0, 0.64444, 0, 0, 0.5],
+ 56: [0, 0.64444, 0, 0, 0.5],
+ 57: [0, 0.64444, 0, 0, 0.5],
+ 58: [0, 0.43056, 0, 0, 0.27778],
+ 59: [0.19444, 0.43056, 0, 0, 0.27778],
+ 60: [0.0391, 0.5391, 0, 0, 0.77778],
+ 61: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 62: [0.0391, 0.5391, 0, 0, 0.77778],
+ 63: [0, 0.69444, 0, 0, 0.47222],
+ 64: [0, 0.69444, 0, 0, 0.77778],
+ 65: [0, 0.68333, 0, 0, 0.75],
+ 66: [0, 0.68333, 0, 0, 0.70834],
+ 67: [0, 0.68333, 0, 0, 0.72222],
+ 68: [0, 0.68333, 0, 0, 0.76389],
+ 69: [0, 0.68333, 0, 0, 0.68056],
+ 70: [0, 0.68333, 0, 0, 0.65278],
+ 71: [0, 0.68333, 0, 0, 0.78472],
+ 72: [0, 0.68333, 0, 0, 0.75],
+ 73: [0, 0.68333, 0, 0, 0.36111],
+ 74: [0, 0.68333, 0, 0, 0.51389],
+ 75: [0, 0.68333, 0, 0, 0.77778],
+ 76: [0, 0.68333, 0, 0, 0.625],
+ 77: [0, 0.68333, 0, 0, 0.91667],
+ 78: [0, 0.68333, 0, 0, 0.75],
+ 79: [0, 0.68333, 0, 0, 0.77778],
+ 80: [0, 0.68333, 0, 0, 0.68056],
+ 81: [0.19444, 0.68333, 0, 0, 0.77778],
+ 82: [0, 0.68333, 0, 0, 0.73611],
+ 83: [0, 0.68333, 0, 0, 0.55556],
+ 84: [0, 0.68333, 0, 0, 0.72222],
+ 85: [0, 0.68333, 0, 0, 0.75],
+ 86: [0, 0.68333, 0.01389, 0, 0.75],
+ 87: [0, 0.68333, 0.01389, 0, 1.02778],
+ 88: [0, 0.68333, 0, 0, 0.75],
+ 89: [0, 0.68333, 0.025, 0, 0.75],
+ 90: [0, 0.68333, 0, 0, 0.61111],
+ 91: [0.25, 0.75, 0, 0, 0.27778],
+ 92: [0.25, 0.75, 0, 0, 0.5],
+ 93: [0.25, 0.75, 0, 0, 0.27778],
+ 94: [0, 0.69444, 0, 0, 0.5],
+ 95: [0.31, 0.12056, 0.02778, 0, 0.5],
+ 97: [0, 0.43056, 0, 0, 0.5],
+ 98: [0, 0.69444, 0, 0, 0.55556],
+ 99: [0, 0.43056, 0, 0, 0.44445],
+ 100: [0, 0.69444, 0, 0, 0.55556],
+ 101: [0, 0.43056, 0, 0, 0.44445],
+ 102: [0, 0.69444, 0.07778, 0, 0.30556],
+ 103: [0.19444, 0.43056, 0.01389, 0, 0.5],
+ 104: [0, 0.69444, 0, 0, 0.55556],
+ 105: [0, 0.66786, 0, 0, 0.27778],
+ 106: [0.19444, 0.66786, 0, 0, 0.30556],
+ 107: [0, 0.69444, 0, 0, 0.52778],
+ 108: [0, 0.69444, 0, 0, 0.27778],
+ 109: [0, 0.43056, 0, 0, 0.83334],
+ 110: [0, 0.43056, 0, 0, 0.55556],
+ 111: [0, 0.43056, 0, 0, 0.5],
+ 112: [0.19444, 0.43056, 0, 0, 0.55556],
+ 113: [0.19444, 0.43056, 0, 0, 0.52778],
+ 114: [0, 0.43056, 0, 0, 0.39167],
+ 115: [0, 0.43056, 0, 0, 0.39445],
+ 116: [0, 0.61508, 0, 0, 0.38889],
+ 117: [0, 0.43056, 0, 0, 0.55556],
+ 118: [0, 0.43056, 0.01389, 0, 0.52778],
+ 119: [0, 0.43056, 0.01389, 0, 0.72222],
+ 120: [0, 0.43056, 0, 0, 0.52778],
+ 121: [0.19444, 0.43056, 0.01389, 0, 0.52778],
+ 122: [0, 0.43056, 0, 0, 0.44445],
+ 123: [0.25, 0.75, 0, 0, 0.5],
+ 124: [0.25, 0.75, 0, 0, 0.27778],
+ 125: [0.25, 0.75, 0, 0, 0.5],
+ 126: [0.35, 0.31786, 0, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 163: [0, 0.69444, 0, 0, 0.76909],
+ 167: [0.19444, 0.69444, 0, 0, 0.44445],
+ 168: [0, 0.66786, 0, 0, 0.5],
+ 172: [0, 0.43056, 0, 0, 0.66667],
+ 176: [0, 0.69444, 0, 0, 0.75],
+ 177: [0.08333, 0.58333, 0, 0, 0.77778],
+ 182: [0.19444, 0.69444, 0, 0, 0.61111],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 198: [0, 0.68333, 0, 0, 0.90278],
+ 215: [0.08333, 0.58333, 0, 0, 0.77778],
+ 216: [0.04861, 0.73194, 0, 0, 0.77778],
+ 223: [0, 0.69444, 0, 0, 0.5],
+ 230: [0, 0.43056, 0, 0, 0.72222],
+ 247: [0.08333, 0.58333, 0, 0, 0.77778],
+ 248: [0.09722, 0.52778, 0, 0, 0.5],
+ 305: [0, 0.43056, 0, 0, 0.27778],
+ 338: [0, 0.68333, 0, 0, 1.01389],
+ 339: [0, 0.43056, 0, 0, 0.77778],
+ 567: [0.19444, 0.43056, 0, 0, 0.30556],
+ 710: [0, 0.69444, 0, 0, 0.5],
+ 711: [0, 0.62847, 0, 0, 0.5],
+ 713: [0, 0.56778, 0, 0, 0.5],
+ 714: [0, 0.69444, 0, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0, 0, 0.5],
+ 729: [0, 0.66786, 0, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.75],
+ 732: [0, 0.66786, 0, 0, 0.5],
+ 733: [0, 0.69444, 0, 0, 0.5],
+ 915: [0, 0.68333, 0, 0, 0.625],
+ 916: [0, 0.68333, 0, 0, 0.83334],
+ 920: [0, 0.68333, 0, 0, 0.77778],
+ 923: [0, 0.68333, 0, 0, 0.69445],
+ 926: [0, 0.68333, 0, 0, 0.66667],
+ 928: [0, 0.68333, 0, 0, 0.75],
+ 931: [0, 0.68333, 0, 0, 0.72222],
+ 933: [0, 0.68333, 0, 0, 0.77778],
+ 934: [0, 0.68333, 0, 0, 0.72222],
+ 936: [0, 0.68333, 0, 0, 0.77778],
+ 937: [0, 0.68333, 0, 0, 0.72222],
+ 8211: [0, 0.43056, 0.02778, 0, 0.5],
+ 8212: [0, 0.43056, 0.02778, 0, 1],
+ 8216: [0, 0.69444, 0, 0, 0.27778],
+ 8217: [0, 0.69444, 0, 0, 0.27778],
+ 8220: [0, 0.69444, 0, 0, 0.5],
+ 8221: [0, 0.69444, 0, 0, 0.5],
+ 8224: [0.19444, 0.69444, 0, 0, 0.44445],
+ 8225: [0.19444, 0.69444, 0, 0, 0.44445],
+ 8230: [0, 0.123, 0, 0, 1.172],
+ 8242: [0, 0.55556, 0, 0, 0.275],
+ 8407: [0, 0.71444, 0.15382, 0, 0.5],
+ 8463: [0, 0.68889, 0, 0, 0.54028],
+ 8465: [0, 0.69444, 0, 0, 0.72222],
+ 8467: [0, 0.69444, 0, 0.11111, 0.41667],
+ 8472: [0.19444, 0.43056, 0, 0.11111, 0.63646],
+ 8476: [0, 0.69444, 0, 0, 0.72222],
+ 8501: [0, 0.69444, 0, 0, 0.61111],
+ 8592: [-0.13313, 0.36687, 0, 0, 1],
+ 8593: [0.19444, 0.69444, 0, 0, 0.5],
+ 8594: [-0.13313, 0.36687, 0, 0, 1],
+ 8595: [0.19444, 0.69444, 0, 0, 0.5],
+ 8596: [-0.13313, 0.36687, 0, 0, 1],
+ 8597: [0.25, 0.75, 0, 0, 0.5],
+ 8598: [0.19444, 0.69444, 0, 0, 1],
+ 8599: [0.19444, 0.69444, 0, 0, 1],
+ 8600: [0.19444, 0.69444, 0, 0, 1],
+ 8601: [0.19444, 0.69444, 0, 0, 1],
+ 8614: [0.011, 0.511, 0, 0, 1],
+ 8617: [0.011, 0.511, 0, 0, 1.126],
+ 8618: [0.011, 0.511, 0, 0, 1.126],
+ 8636: [-0.13313, 0.36687, 0, 0, 1],
+ 8637: [-0.13313, 0.36687, 0, 0, 1],
+ 8640: [-0.13313, 0.36687, 0, 0, 1],
+ 8641: [-0.13313, 0.36687, 0, 0, 1],
+ 8652: [0.011, 0.671, 0, 0, 1],
+ 8656: [-0.13313, 0.36687, 0, 0, 1],
+ 8657: [0.19444, 0.69444, 0, 0, 0.61111],
+ 8658: [-0.13313, 0.36687, 0, 0, 1],
+ 8659: [0.19444, 0.69444, 0, 0, 0.61111],
+ 8660: [-0.13313, 0.36687, 0, 0, 1],
+ 8661: [0.25, 0.75, 0, 0, 0.61111],
+ 8704: [0, 0.69444, 0, 0, 0.55556],
+ 8706: [0, 0.69444, 0.05556, 0.08334, 0.5309],
+ 8707: [0, 0.69444, 0, 0, 0.55556],
+ 8709: [0.05556, 0.75, 0, 0, 0.5],
+ 8711: [0, 0.68333, 0, 0, 0.83334],
+ 8712: [0.0391, 0.5391, 0, 0, 0.66667],
+ 8715: [0.0391, 0.5391, 0, 0, 0.66667],
+ 8722: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8723: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8725: [0.25, 0.75, 0, 0, 0.5],
+ 8726: [0.25, 0.75, 0, 0, 0.5],
+ 8727: [-0.03472, 0.46528, 0, 0, 0.5],
+ 8728: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8729: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8730: [0.2, 0.8, 0, 0, 0.83334],
+ 8733: [0, 0.43056, 0, 0, 0.77778],
+ 8734: [0, 0.43056, 0, 0, 1],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8739: [0.25, 0.75, 0, 0, 0.27778],
+ 8741: [0.25, 0.75, 0, 0, 0.5],
+ 8743: [0, 0.55556, 0, 0, 0.66667],
+ 8744: [0, 0.55556, 0, 0, 0.66667],
+ 8745: [0, 0.55556, 0, 0, 0.66667],
+ 8746: [0, 0.55556, 0, 0, 0.66667],
+ 8747: [0.19444, 0.69444, 0.11111, 0, 0.41667],
+ 8764: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8768: [0.19444, 0.69444, 0, 0, 0.27778],
+ 8771: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8773: [-0.022, 0.589, 0, 0, 0.778],
+ 8776: [-0.01688, 0.48312, 0, 0, 0.77778],
+ 8781: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8784: [-0.133, 0.673, 0, 0, 0.778],
+ 8801: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8804: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8805: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8810: [0.0391, 0.5391, 0, 0, 1],
+ 8811: [0.0391, 0.5391, 0, 0, 1],
+ 8826: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8827: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8834: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8835: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8838: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8839: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8846: [0, 0.55556, 0, 0, 0.66667],
+ 8849: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8850: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8851: [0, 0.55556, 0, 0, 0.66667],
+ 8852: [0, 0.55556, 0, 0, 0.66667],
+ 8853: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8854: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8855: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8856: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8857: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8866: [0, 0.69444, 0, 0, 0.61111],
+ 8867: [0, 0.69444, 0, 0, 0.61111],
+ 8868: [0, 0.69444, 0, 0, 0.77778],
+ 8869: [0, 0.69444, 0, 0, 0.77778],
+ 8872: [0.249, 0.75, 0, 0, 0.867],
+ 8900: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8901: [-0.05555, 0.44445, 0, 0, 0.27778],
+ 8902: [-0.03472, 0.46528, 0, 0, 0.5],
+ 8904: [0.005, 0.505, 0, 0, 0.9],
+ 8942: [0.03, 0.903, 0, 0, 0.278],
+ 8943: [-0.19, 0.313, 0, 0, 1.172],
+ 8945: [-0.1, 0.823, 0, 0, 1.282],
+ 8968: [0.25, 0.75, 0, 0, 0.44445],
+ 8969: [0.25, 0.75, 0, 0, 0.44445],
+ 8970: [0.25, 0.75, 0, 0, 0.44445],
+ 8971: [0.25, 0.75, 0, 0, 0.44445],
+ 8994: [-0.14236, 0.35764, 0, 0, 1],
+ 8995: [-0.14236, 0.35764, 0, 0, 1],
+ 9136: [0.244, 0.744, 0, 0, 0.412],
+ 9137: [0.244, 0.745, 0, 0, 0.412],
+ 9651: [0.19444, 0.69444, 0, 0, 0.88889],
+ 9657: [-0.03472, 0.46528, 0, 0, 0.5],
+ 9661: [0.19444, 0.69444, 0, 0, 0.88889],
+ 9667: [-0.03472, 0.46528, 0, 0, 0.5],
+ 9711: [0.19444, 0.69444, 0, 0, 1],
+ 9824: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9825: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9826: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9827: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9837: [0, 0.75, 0, 0, 0.38889],
+ 9838: [0.19444, 0.69444, 0, 0, 0.38889],
+ 9839: [0.19444, 0.69444, 0, 0, 0.38889],
+ 10216: [0.25, 0.75, 0, 0, 0.38889],
+ 10217: [0.25, 0.75, 0, 0, 0.38889],
+ 10222: [0.244, 0.744, 0, 0, 0.412],
+ 10223: [0.244, 0.745, 0, 0, 0.412],
+ 10229: [0.011, 0.511, 0, 0, 1.609],
+ 10230: [0.011, 0.511, 0, 0, 1.638],
+ 10231: [0.011, 0.511, 0, 0, 1.859],
+ 10232: [0.024, 0.525, 0, 0, 1.609],
+ 10233: [0.024, 0.525, 0, 0, 1.638],
+ 10234: [0.024, 0.525, 0, 0, 1.858],
+ 10236: [0.011, 0.511, 0, 0, 1.638],
+ 10815: [0, 0.68333, 0, 0, 0.75],
+ 10927: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10928: [0.13597, 0.63597, 0, 0, 0.77778],
+ 57376: [0.19444, 0.69444, 0, 0, 0]
+ },
+ 'Math-BoldItalic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 48: [0, 0.44444, 0, 0, 0.575],
+ 49: [0, 0.44444, 0, 0, 0.575],
+ 50: [0, 0.44444, 0, 0, 0.575],
+ 51: [0.19444, 0.44444, 0, 0, 0.575],
+ 52: [0.19444, 0.44444, 0, 0, 0.575],
+ 53: [0.19444, 0.44444, 0, 0, 0.575],
+ 54: [0, 0.64444, 0, 0, 0.575],
+ 55: [0.19444, 0.44444, 0, 0, 0.575],
+ 56: [0, 0.64444, 0, 0, 0.575],
+ 57: [0.19444, 0.44444, 0, 0, 0.575],
+ 65: [0, 0.68611, 0, 0, 0.86944],
+ 66: [0, 0.68611, 0.04835, 0, 0.8664],
+ 67: [0, 0.68611, 0.06979, 0, 0.81694],
+ 68: [0, 0.68611, 0.03194, 0, 0.93812],
+ 69: [0, 0.68611, 0.05451, 0, 0.81007],
+ 70: [0, 0.68611, 0.15972, 0, 0.68889],
+ 71: [0, 0.68611, 0, 0, 0.88673],
+ 72: [0, 0.68611, 0.08229, 0, 0.98229],
+ 73: [0, 0.68611, 0.07778, 0, 0.51111],
+ 74: [0, 0.68611, 0.10069, 0, 0.63125],
+ 75: [0, 0.68611, 0.06979, 0, 0.97118],
+ 76: [0, 0.68611, 0, 0, 0.75555],
+ 77: [0, 0.68611, 0.11424, 0, 1.14201],
+ 78: [0, 0.68611, 0.11424, 0, 0.95034],
+ 79: [0, 0.68611, 0.03194, 0, 0.83666],
+ 80: [0, 0.68611, 0.15972, 0, 0.72309],
+ 81: [0.19444, 0.68611, 0, 0, 0.86861],
+ 82: [0, 0.68611, 0.00421, 0, 0.87235],
+ 83: [0, 0.68611, 0.05382, 0, 0.69271],
+ 84: [0, 0.68611, 0.15972, 0, 0.63663],
+ 85: [0, 0.68611, 0.11424, 0, 0.80027],
+ 86: [0, 0.68611, 0.25555, 0, 0.67778],
+ 87: [0, 0.68611, 0.15972, 0, 1.09305],
+ 88: [0, 0.68611, 0.07778, 0, 0.94722],
+ 89: [0, 0.68611, 0.25555, 0, 0.67458],
+ 90: [0, 0.68611, 0.06979, 0, 0.77257],
+ 97: [0, 0.44444, 0, 0, 0.63287],
+ 98: [0, 0.69444, 0, 0, 0.52083],
+ 99: [0, 0.44444, 0, 0, 0.51342],
+ 100: [0, 0.69444, 0, 0, 0.60972],
+ 101: [0, 0.44444, 0, 0, 0.55361],
+ 102: [0.19444, 0.69444, 0.11042, 0, 0.56806],
+ 103: [0.19444, 0.44444, 0.03704, 0, 0.5449],
+ 104: [0, 0.69444, 0, 0, 0.66759],
+ 105: [0, 0.69326, 0, 0, 0.4048],
+ 106: [0.19444, 0.69326, 0.0622, 0, 0.47083],
+ 107: [0, 0.69444, 0.01852, 0, 0.6037],
+ 108: [0, 0.69444, 0.0088, 0, 0.34815],
+ 109: [0, 0.44444, 0, 0, 1.0324],
+ 110: [0, 0.44444, 0, 0, 0.71296],
+ 111: [0, 0.44444, 0, 0, 0.58472],
+ 112: [0.19444, 0.44444, 0, 0, 0.60092],
+ 113: [0.19444, 0.44444, 0.03704, 0, 0.54213],
+ 114: [0, 0.44444, 0.03194, 0, 0.5287],
+ 115: [0, 0.44444, 0, 0, 0.53125],
+ 116: [0, 0.63492, 0, 0, 0.41528],
+ 117: [0, 0.44444, 0, 0, 0.68102],
+ 118: [0, 0.44444, 0.03704, 0, 0.56666],
+ 119: [0, 0.44444, 0.02778, 0, 0.83148],
+ 120: [0, 0.44444, 0, 0, 0.65903],
+ 121: [0.19444, 0.44444, 0.03704, 0, 0.59028],
+ 122: [0, 0.44444, 0.04213, 0, 0.55509],
+ 160: [0, 0, 0, 0, 0.25],
+ 915: [0, 0.68611, 0.15972, 0, 0.65694],
+ 916: [0, 0.68611, 0, 0, 0.95833],
+ 920: [0, 0.68611, 0.03194, 0, 0.86722],
+ 923: [0, 0.68611, 0, 0, 0.80555],
+ 926: [0, 0.68611, 0.07458, 0, 0.84125],
+ 928: [0, 0.68611, 0.08229, 0, 0.98229],
+ 931: [0, 0.68611, 0.05451, 0, 0.88507],
+ 933: [0, 0.68611, 0.15972, 0, 0.67083],
+ 934: [0, 0.68611, 0, 0, 0.76666],
+ 936: [0, 0.68611, 0.11653, 0, 0.71402],
+ 937: [0, 0.68611, 0.04835, 0, 0.8789],
+ 945: [0, 0.44444, 0, 0, 0.76064],
+ 946: [0.19444, 0.69444, 0.03403, 0, 0.65972],
+ 947: [0.19444, 0.44444, 0.06389, 0, 0.59003],
+ 948: [0, 0.69444, 0.03819, 0, 0.52222],
+ 949: [0, 0.44444, 0, 0, 0.52882],
+ 950: [0.19444, 0.69444, 0.06215, 0, 0.50833],
+ 951: [0.19444, 0.44444, 0.03704, 0, 0.6],
+ 952: [0, 0.69444, 0.03194, 0, 0.5618],
+ 953: [0, 0.44444, 0, 0, 0.41204],
+ 954: [0, 0.44444, 0, 0, 0.66759],
+ 955: [0, 0.69444, 0, 0, 0.67083],
+ 956: [0.19444, 0.44444, 0, 0, 0.70787],
+ 957: [0, 0.44444, 0.06898, 0, 0.57685],
+ 958: [0.19444, 0.69444, 0.03021, 0, 0.50833],
+ 959: [0, 0.44444, 0, 0, 0.58472],
+ 960: [0, 0.44444, 0.03704, 0, 0.68241],
+ 961: [0.19444, 0.44444, 0, 0, 0.6118],
+ 962: [0.09722, 0.44444, 0.07917, 0, 0.42361],
+ 963: [0, 0.44444, 0.03704, 0, 0.68588],
+ 964: [0, 0.44444, 0.13472, 0, 0.52083],
+ 965: [0, 0.44444, 0.03704, 0, 0.63055],
+ 966: [0.19444, 0.44444, 0, 0, 0.74722],
+ 967: [0.19444, 0.44444, 0, 0, 0.71805],
+ 968: [0.19444, 0.69444, 0.03704, 0, 0.75833],
+ 969: [0, 0.44444, 0.03704, 0, 0.71782],
+ 977: [0, 0.69444, 0, 0, 0.69155],
+ 981: [0.19444, 0.69444, 0, 0, 0.7125],
+ 982: [0, 0.44444, 0.03194, 0, 0.975],
+ 1009: [0.19444, 0.44444, 0, 0, 0.6118],
+ 1013: [0, 0.44444, 0, 0, 0.48333],
+ 57649: [0, 0.44444, 0, 0, 0.39352],
+ 57911: [0.19444, 0.44444, 0, 0, 0.43889]
+ },
+ 'Math-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 48: [0, 0.43056, 0, 0, 0.5],
+ 49: [0, 0.43056, 0, 0, 0.5],
+ 50: [0, 0.43056, 0, 0, 0.5],
+ 51: [0.19444, 0.43056, 0, 0, 0.5],
+ 52: [0.19444, 0.43056, 0, 0, 0.5],
+ 53: [0.19444, 0.43056, 0, 0, 0.5],
+ 54: [0, 0.64444, 0, 0, 0.5],
+ 55: [0.19444, 0.43056, 0, 0, 0.5],
+ 56: [0, 0.64444, 0, 0, 0.5],
+ 57: [0.19444, 0.43056, 0, 0, 0.5],
+ 65: [0, 0.68333, 0, 0.13889, 0.75],
+ 66: [0, 0.68333, 0.05017, 0.08334, 0.75851],
+ 67: [0, 0.68333, 0.07153, 0.08334, 0.71472],
+ 68: [0, 0.68333, 0.02778, 0.05556, 0.82792],
+ 69: [0, 0.68333, 0.05764, 0.08334, 0.7382],
+ 70: [0, 0.68333, 0.13889, 0.08334, 0.64306],
+ 71: [0, 0.68333, 0, 0.08334, 0.78625],
+ 72: [0, 0.68333, 0.08125, 0.05556, 0.83125],
+ 73: [0, 0.68333, 0.07847, 0.11111, 0.43958],
+ 74: [0, 0.68333, 0.09618, 0.16667, 0.55451],
+ 75: [0, 0.68333, 0.07153, 0.05556, 0.84931],
+ 76: [0, 0.68333, 0, 0.02778, 0.68056],
+ 77: [0, 0.68333, 0.10903, 0.08334, 0.97014],
+ 78: [0, 0.68333, 0.10903, 0.08334, 0.80347],
+ 79: [0, 0.68333, 0.02778, 0.08334, 0.76278],
+ 80: [0, 0.68333, 0.13889, 0.08334, 0.64201],
+ 81: [0.19444, 0.68333, 0, 0.08334, 0.79056],
+ 82: [0, 0.68333, 0.00773, 0.08334, 0.75929],
+ 83: [0, 0.68333, 0.05764, 0.08334, 0.6132],
+ 84: [0, 0.68333, 0.13889, 0.08334, 0.58438],
+ 85: [0, 0.68333, 0.10903, 0.02778, 0.68278],
+ 86: [0, 0.68333, 0.22222, 0, 0.58333],
+ 87: [0, 0.68333, 0.13889, 0, 0.94445],
+ 88: [0, 0.68333, 0.07847, 0.08334, 0.82847],
+ 89: [0, 0.68333, 0.22222, 0, 0.58056],
+ 90: [0, 0.68333, 0.07153, 0.08334, 0.68264],
+ 97: [0, 0.43056, 0, 0, 0.52859],
+ 98: [0, 0.69444, 0, 0, 0.42917],
+ 99: [0, 0.43056, 0, 0.05556, 0.43276],
+ 100: [0, 0.69444, 0, 0.16667, 0.52049],
+ 101: [0, 0.43056, 0, 0.05556, 0.46563],
+ 102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],
+ 103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],
+ 104: [0, 0.69444, 0, 0, 0.57616],
+ 105: [0, 0.65952, 0, 0, 0.34451],
+ 106: [0.19444, 0.65952, 0.05724, 0, 0.41181],
+ 107: [0, 0.69444, 0.03148, 0, 0.5206],
+ 108: [0, 0.69444, 0.01968, 0.08334, 0.29838],
+ 109: [0, 0.43056, 0, 0, 0.87801],
+ 110: [0, 0.43056, 0, 0, 0.60023],
+ 111: [0, 0.43056, 0, 0.05556, 0.48472],
+ 112: [0.19444, 0.43056, 0, 0.08334, 0.50313],
+ 113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],
+ 114: [0, 0.43056, 0.02778, 0.05556, 0.45116],
+ 115: [0, 0.43056, 0, 0.05556, 0.46875],
+ 116: [0, 0.61508, 0, 0.08334, 0.36111],
+ 117: [0, 0.43056, 0, 0.02778, 0.57246],
+ 118: [0, 0.43056, 0.03588, 0.02778, 0.48472],
+ 119: [0, 0.43056, 0.02691, 0.08334, 0.71592],
+ 120: [0, 0.43056, 0, 0.02778, 0.57153],
+ 121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],
+ 122: [0, 0.43056, 0.04398, 0.05556, 0.46505],
+ 160: [0, 0, 0, 0, 0.25],
+ 915: [0, 0.68333, 0.13889, 0.08334, 0.61528],
+ 916: [0, 0.68333, 0, 0.16667, 0.83334],
+ 920: [0, 0.68333, 0.02778, 0.08334, 0.76278],
+ 923: [0, 0.68333, 0, 0.16667, 0.69445],
+ 926: [0, 0.68333, 0.07569, 0.08334, 0.74236],
+ 928: [0, 0.68333, 0.08125, 0.05556, 0.83125],
+ 931: [0, 0.68333, 0.05764, 0.08334, 0.77986],
+ 933: [0, 0.68333, 0.13889, 0.05556, 0.58333],
+ 934: [0, 0.68333, 0, 0.08334, 0.66667],
+ 936: [0, 0.68333, 0.11, 0.05556, 0.61222],
+ 937: [0, 0.68333, 0.05017, 0.08334, 0.7724],
+ 945: [0, 0.43056, 0.0037, 0.02778, 0.6397],
+ 946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],
+ 947: [0.19444, 0.43056, 0.05556, 0, 0.51773],
+ 948: [0, 0.69444, 0.03785, 0.05556, 0.44444],
+ 949: [0, 0.43056, 0, 0.08334, 0.46632],
+ 950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],
+ 951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],
+ 952: [0, 0.69444, 0.02778, 0.08334, 0.46944],
+ 953: [0, 0.43056, 0, 0.05556, 0.35394],
+ 954: [0, 0.43056, 0, 0, 0.57616],
+ 955: [0, 0.69444, 0, 0, 0.58334],
+ 956: [0.19444, 0.43056, 0, 0.02778, 0.60255],
+ 957: [0, 0.43056, 0.06366, 0.02778, 0.49398],
+ 958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],
+ 959: [0, 0.43056, 0, 0.05556, 0.48472],
+ 960: [0, 0.43056, 0.03588, 0, 0.57003],
+ 961: [0.19444, 0.43056, 0, 0.08334, 0.51702],
+ 962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],
+ 963: [0, 0.43056, 0.03588, 0, 0.57141],
+ 964: [0, 0.43056, 0.1132, 0.02778, 0.43715],
+ 965: [0, 0.43056, 0.03588, 0.02778, 0.54028],
+ 966: [0.19444, 0.43056, 0, 0.08334, 0.65417],
+ 967: [0.19444, 0.43056, 0, 0.05556, 0.62569],
+ 968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],
+ 969: [0, 0.43056, 0.03588, 0, 0.62245],
+ 977: [0, 0.69444, 0, 0.08334, 0.59144],
+ 981: [0.19444, 0.69444, 0, 0.08334, 0.59583],
+ 982: [0, 0.43056, 0.02778, 0, 0.82813],
+ 1009: [0.19444, 0.43056, 0, 0.08334, 0.51702],
+ 1013: [0, 0.43056, 0, 0.05556, 0.4059],
+ 57649: [0, 0.43056, 0, 0.02778, 0.32246],
+ 57911: [0.19444, 0.43056, 0, 0.08334, 0.38403]
+ },
+ 'SansSerif-Bold': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.36667],
+ 34: [0, 0.69444, 0, 0, 0.55834],
+ 35: [0.19444, 0.69444, 0, 0, 0.91667],
+ 36: [0.05556, 0.75, 0, 0, 0.55],
+ 37: [0.05556, 0.75, 0, 0, 1.02912],
+ 38: [0, 0.69444, 0, 0, 0.83056],
+ 39: [0, 0.69444, 0, 0, 0.30556],
+ 40: [0.25, 0.75, 0, 0, 0.42778],
+ 41: [0.25, 0.75, 0, 0, 0.42778],
+ 42: [0, 0.75, 0, 0, 0.55],
+ 43: [0.11667, 0.61667, 0, 0, 0.85556],
+ 44: [0.10556, 0.13056, 0, 0, 0.30556],
+ 45: [0, 0.45833, 0, 0, 0.36667],
+ 46: [0, 0.13056, 0, 0, 0.30556],
+ 47: [0.25, 0.75, 0, 0, 0.55],
+ 48: [0, 0.69444, 0, 0, 0.55],
+ 49: [0, 0.69444, 0, 0, 0.55],
+ 50: [0, 0.69444, 0, 0, 0.55],
+ 51: [0, 0.69444, 0, 0, 0.55],
+ 52: [0, 0.69444, 0, 0, 0.55],
+ 53: [0, 0.69444, 0, 0, 0.55],
+ 54: [0, 0.69444, 0, 0, 0.55],
+ 55: [0, 0.69444, 0, 0, 0.55],
+ 56: [0, 0.69444, 0, 0, 0.55],
+ 57: [0, 0.69444, 0, 0, 0.55],
+ 58: [0, 0.45833, 0, 0, 0.30556],
+ 59: [0.10556, 0.45833, 0, 0, 0.30556],
+ 61: [-0.09375, 0.40625, 0, 0, 0.85556],
+ 63: [0, 0.69444, 0, 0, 0.51945],
+ 64: [0, 0.69444, 0, 0, 0.73334],
+ 65: [0, 0.69444, 0, 0, 0.73334],
+ 66: [0, 0.69444, 0, 0, 0.73334],
+ 67: [0, 0.69444, 0, 0, 0.70278],
+ 68: [0, 0.69444, 0, 0, 0.79445],
+ 69: [0, 0.69444, 0, 0, 0.64167],
+ 70: [0, 0.69444, 0, 0, 0.61111],
+ 71: [0, 0.69444, 0, 0, 0.73334],
+ 72: [0, 0.69444, 0, 0, 0.79445],
+ 73: [0, 0.69444, 0, 0, 0.33056],
+ 74: [0, 0.69444, 0, 0, 0.51945],
+ 75: [0, 0.69444, 0, 0, 0.76389],
+ 76: [0, 0.69444, 0, 0, 0.58056],
+ 77: [0, 0.69444, 0, 0, 0.97778],
+ 78: [0, 0.69444, 0, 0, 0.79445],
+ 79: [0, 0.69444, 0, 0, 0.79445],
+ 80: [0, 0.69444, 0, 0, 0.70278],
+ 81: [0.10556, 0.69444, 0, 0, 0.79445],
+ 82: [0, 0.69444, 0, 0, 0.70278],
+ 83: [0, 0.69444, 0, 0, 0.61111],
+ 84: [0, 0.69444, 0, 0, 0.73334],
+ 85: [0, 0.69444, 0, 0, 0.76389],
+ 86: [0, 0.69444, 0.01528, 0, 0.73334],
+ 87: [0, 0.69444, 0.01528, 0, 1.03889],
+ 88: [0, 0.69444, 0, 0, 0.73334],
+ 89: [0, 0.69444, 0.0275, 0, 0.73334],
+ 90: [0, 0.69444, 0, 0, 0.67223],
+ 91: [0.25, 0.75, 0, 0, 0.34306],
+ 93: [0.25, 0.75, 0, 0, 0.34306],
+ 94: [0, 0.69444, 0, 0, 0.55],
+ 95: [0.35, 0.10833, 0.03056, 0, 0.55],
+ 97: [0, 0.45833, 0, 0, 0.525],
+ 98: [0, 0.69444, 0, 0, 0.56111],
+ 99: [0, 0.45833, 0, 0, 0.48889],
+ 100: [0, 0.69444, 0, 0, 0.56111],
+ 101: [0, 0.45833, 0, 0, 0.51111],
+ 102: [0, 0.69444, 0.07639, 0, 0.33611],
+ 103: [0.19444, 0.45833, 0.01528, 0, 0.55],
+ 104: [0, 0.69444, 0, 0, 0.56111],
+ 105: [0, 0.69444, 0, 0, 0.25556],
+ 106: [0.19444, 0.69444, 0, 0, 0.28611],
+ 107: [0, 0.69444, 0, 0, 0.53056],
+ 108: [0, 0.69444, 0, 0, 0.25556],
+ 109: [0, 0.45833, 0, 0, 0.86667],
+ 110: [0, 0.45833, 0, 0, 0.56111],
+ 111: [0, 0.45833, 0, 0, 0.55],
+ 112: [0.19444, 0.45833, 0, 0, 0.56111],
+ 113: [0.19444, 0.45833, 0, 0, 0.56111],
+ 114: [0, 0.45833, 0.01528, 0, 0.37222],
+ 115: [0, 0.45833, 0, 0, 0.42167],
+ 116: [0, 0.58929, 0, 0, 0.40417],
+ 117: [0, 0.45833, 0, 0, 0.56111],
+ 118: [0, 0.45833, 0.01528, 0, 0.5],
+ 119: [0, 0.45833, 0.01528, 0, 0.74445],
+ 120: [0, 0.45833, 0, 0, 0.5],
+ 121: [0.19444, 0.45833, 0.01528, 0, 0.5],
+ 122: [0, 0.45833, 0, 0, 0.47639],
+ 126: [0.35, 0.34444, 0, 0, 0.55],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.69444, 0, 0, 0.55],
+ 176: [0, 0.69444, 0, 0, 0.73334],
+ 180: [0, 0.69444, 0, 0, 0.55],
+ 184: [0.17014, 0, 0, 0, 0.48889],
+ 305: [0, 0.45833, 0, 0, 0.25556],
+ 567: [0.19444, 0.45833, 0, 0, 0.28611],
+ 710: [0, 0.69444, 0, 0, 0.55],
+ 711: [0, 0.63542, 0, 0, 0.55],
+ 713: [0, 0.63778, 0, 0, 0.55],
+ 728: [0, 0.69444, 0, 0, 0.55],
+ 729: [0, 0.69444, 0, 0, 0.30556],
+ 730: [0, 0.69444, 0, 0, 0.73334],
+ 732: [0, 0.69444, 0, 0, 0.55],
+ 733: [0, 0.69444, 0, 0, 0.55],
+ 915: [0, 0.69444, 0, 0, 0.58056],
+ 916: [0, 0.69444, 0, 0, 0.91667],
+ 920: [0, 0.69444, 0, 0, 0.85556],
+ 923: [0, 0.69444, 0, 0, 0.67223],
+ 926: [0, 0.69444, 0, 0, 0.73334],
+ 928: [0, 0.69444, 0, 0, 0.79445],
+ 931: [0, 0.69444, 0, 0, 0.79445],
+ 933: [0, 0.69444, 0, 0, 0.85556],
+ 934: [0, 0.69444, 0, 0, 0.79445],
+ 936: [0, 0.69444, 0, 0, 0.85556],
+ 937: [0, 0.69444, 0, 0, 0.79445],
+ 8211: [0, 0.45833, 0.03056, 0, 0.55],
+ 8212: [0, 0.45833, 0.03056, 0, 1.10001],
+ 8216: [0, 0.69444, 0, 0, 0.30556],
+ 8217: [0, 0.69444, 0, 0, 0.30556],
+ 8220: [0, 0.69444, 0, 0, 0.55834],
+ 8221: [0, 0.69444, 0, 0, 0.55834]
+ },
+ 'SansSerif-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.05733, 0, 0.31945],
+ 34: [0, 0.69444, 0.00316, 0, 0.5],
+ 35: [0.19444, 0.69444, 0.05087, 0, 0.83334],
+ 36: [0.05556, 0.75, 0.11156, 0, 0.5],
+ 37: [0.05556, 0.75, 0.03126, 0, 0.83334],
+ 38: [0, 0.69444, 0.03058, 0, 0.75834],
+ 39: [0, 0.69444, 0.07816, 0, 0.27778],
+ 40: [0.25, 0.75, 0.13164, 0, 0.38889],
+ 41: [0.25, 0.75, 0.02536, 0, 0.38889],
+ 42: [0, 0.75, 0.11775, 0, 0.5],
+ 43: [0.08333, 0.58333, 0.02536, 0, 0.77778],
+ 44: [0.125, 0.08333, 0, 0, 0.27778],
+ 45: [0, 0.44444, 0.01946, 0, 0.33333],
+ 46: [0, 0.08333, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0.13164, 0, 0.5],
+ 48: [0, 0.65556, 0.11156, 0, 0.5],
+ 49: [0, 0.65556, 0.11156, 0, 0.5],
+ 50: [0, 0.65556, 0.11156, 0, 0.5],
+ 51: [0, 0.65556, 0.11156, 0, 0.5],
+ 52: [0, 0.65556, 0.11156, 0, 0.5],
+ 53: [0, 0.65556, 0.11156, 0, 0.5],
+ 54: [0, 0.65556, 0.11156, 0, 0.5],
+ 55: [0, 0.65556, 0.11156, 0, 0.5],
+ 56: [0, 0.65556, 0.11156, 0, 0.5],
+ 57: [0, 0.65556, 0.11156, 0, 0.5],
+ 58: [0, 0.44444, 0.02502, 0, 0.27778],
+ 59: [0.125, 0.44444, 0.02502, 0, 0.27778],
+ 61: [-0.13, 0.37, 0.05087, 0, 0.77778],
+ 63: [0, 0.69444, 0.11809, 0, 0.47222],
+ 64: [0, 0.69444, 0.07555, 0, 0.66667],
+ 65: [0, 0.69444, 0, 0, 0.66667],
+ 66: [0, 0.69444, 0.08293, 0, 0.66667],
+ 67: [0, 0.69444, 0.11983, 0, 0.63889],
+ 68: [0, 0.69444, 0.07555, 0, 0.72223],
+ 69: [0, 0.69444, 0.11983, 0, 0.59722],
+ 70: [0, 0.69444, 0.13372, 0, 0.56945],
+ 71: [0, 0.69444, 0.11983, 0, 0.66667],
+ 72: [0, 0.69444, 0.08094, 0, 0.70834],
+ 73: [0, 0.69444, 0.13372, 0, 0.27778],
+ 74: [0, 0.69444, 0.08094, 0, 0.47222],
+ 75: [0, 0.69444, 0.11983, 0, 0.69445],
+ 76: [0, 0.69444, 0, 0, 0.54167],
+ 77: [0, 0.69444, 0.08094, 0, 0.875],
+ 78: [0, 0.69444, 0.08094, 0, 0.70834],
+ 79: [0, 0.69444, 0.07555, 0, 0.73611],
+ 80: [0, 0.69444, 0.08293, 0, 0.63889],
+ 81: [0.125, 0.69444, 0.07555, 0, 0.73611],
+ 82: [0, 0.69444, 0.08293, 0, 0.64584],
+ 83: [0, 0.69444, 0.09205, 0, 0.55556],
+ 84: [0, 0.69444, 0.13372, 0, 0.68056],
+ 85: [0, 0.69444, 0.08094, 0, 0.6875],
+ 86: [0, 0.69444, 0.1615, 0, 0.66667],
+ 87: [0, 0.69444, 0.1615, 0, 0.94445],
+ 88: [0, 0.69444, 0.13372, 0, 0.66667],
+ 89: [0, 0.69444, 0.17261, 0, 0.66667],
+ 90: [0, 0.69444, 0.11983, 0, 0.61111],
+ 91: [0.25, 0.75, 0.15942, 0, 0.28889],
+ 93: [0.25, 0.75, 0.08719, 0, 0.28889],
+ 94: [0, 0.69444, 0.0799, 0, 0.5],
+ 95: [0.35, 0.09444, 0.08616, 0, 0.5],
+ 97: [0, 0.44444, 0.00981, 0, 0.48056],
+ 98: [0, 0.69444, 0.03057, 0, 0.51667],
+ 99: [0, 0.44444, 0.08336, 0, 0.44445],
+ 100: [0, 0.69444, 0.09483, 0, 0.51667],
+ 101: [0, 0.44444, 0.06778, 0, 0.44445],
+ 102: [0, 0.69444, 0.21705, 0, 0.30556],
+ 103: [0.19444, 0.44444, 0.10836, 0, 0.5],
+ 104: [0, 0.69444, 0.01778, 0, 0.51667],
+ 105: [0, 0.67937, 0.09718, 0, 0.23889],
+ 106: [0.19444, 0.67937, 0.09162, 0, 0.26667],
+ 107: [0, 0.69444, 0.08336, 0, 0.48889],
+ 108: [0, 0.69444, 0.09483, 0, 0.23889],
+ 109: [0, 0.44444, 0.01778, 0, 0.79445],
+ 110: [0, 0.44444, 0.01778, 0, 0.51667],
+ 111: [0, 0.44444, 0.06613, 0, 0.5],
+ 112: [0.19444, 0.44444, 0.0389, 0, 0.51667],
+ 113: [0.19444, 0.44444, 0.04169, 0, 0.51667],
+ 114: [0, 0.44444, 0.10836, 0, 0.34167],
+ 115: [0, 0.44444, 0.0778, 0, 0.38333],
+ 116: [0, 0.57143, 0.07225, 0, 0.36111],
+ 117: [0, 0.44444, 0.04169, 0, 0.51667],
+ 118: [0, 0.44444, 0.10836, 0, 0.46111],
+ 119: [0, 0.44444, 0.10836, 0, 0.68334],
+ 120: [0, 0.44444, 0.09169, 0, 0.46111],
+ 121: [0.19444, 0.44444, 0.10836, 0, 0.46111],
+ 122: [0, 0.44444, 0.08752, 0, 0.43472],
+ 126: [0.35, 0.32659, 0.08826, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.67937, 0.06385, 0, 0.5],
+ 176: [0, 0.69444, 0, 0, 0.73752],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 305: [0, 0.44444, 0.04169, 0, 0.23889],
+ 567: [0.19444, 0.44444, 0.04169, 0, 0.26667],
+ 710: [0, 0.69444, 0.0799, 0, 0.5],
+ 711: [0, 0.63194, 0.08432, 0, 0.5],
+ 713: [0, 0.60889, 0.08776, 0, 0.5],
+ 714: [0, 0.69444, 0.09205, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0.09483, 0, 0.5],
+ 729: [0, 0.67937, 0.07774, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.73752],
+ 732: [0, 0.67659, 0.08826, 0, 0.5],
+ 733: [0, 0.69444, 0.09205, 0, 0.5],
+ 915: [0, 0.69444, 0.13372, 0, 0.54167],
+ 916: [0, 0.69444, 0, 0, 0.83334],
+ 920: [0, 0.69444, 0.07555, 0, 0.77778],
+ 923: [0, 0.69444, 0, 0, 0.61111],
+ 926: [0, 0.69444, 0.12816, 0, 0.66667],
+ 928: [0, 0.69444, 0.08094, 0, 0.70834],
+ 931: [0, 0.69444, 0.11983, 0, 0.72222],
+ 933: [0, 0.69444, 0.09031, 0, 0.77778],
+ 934: [0, 0.69444, 0.04603, 0, 0.72222],
+ 936: [0, 0.69444, 0.09031, 0, 0.77778],
+ 937: [0, 0.69444, 0.08293, 0, 0.72222],
+ 8211: [0, 0.44444, 0.08616, 0, 0.5],
+ 8212: [0, 0.44444, 0.08616, 0, 1],
+ 8216: [0, 0.69444, 0.07816, 0, 0.27778],
+ 8217: [0, 0.69444, 0.07816, 0, 0.27778],
+ 8220: [0, 0.69444, 0.14205, 0, 0.5],
+ 8221: [0, 0.69444, 0.00316, 0, 0.5]
+ },
+ 'SansSerif-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.31945],
+ 34: [0, 0.69444, 0, 0, 0.5],
+ 35: [0.19444, 0.69444, 0, 0, 0.83334],
+ 36: [0.05556, 0.75, 0, 0, 0.5],
+ 37: [0.05556, 0.75, 0, 0, 0.83334],
+ 38: [0, 0.69444, 0, 0, 0.75834],
+ 39: [0, 0.69444, 0, 0, 0.27778],
+ 40: [0.25, 0.75, 0, 0, 0.38889],
+ 41: [0.25, 0.75, 0, 0, 0.38889],
+ 42: [0, 0.75, 0, 0, 0.5],
+ 43: [0.08333, 0.58333, 0, 0, 0.77778],
+ 44: [0.125, 0.08333, 0, 0, 0.27778],
+ 45: [0, 0.44444, 0, 0, 0.33333],
+ 46: [0, 0.08333, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0, 0, 0.5],
+ 48: [0, 0.65556, 0, 0, 0.5],
+ 49: [0, 0.65556, 0, 0, 0.5],
+ 50: [0, 0.65556, 0, 0, 0.5],
+ 51: [0, 0.65556, 0, 0, 0.5],
+ 52: [0, 0.65556, 0, 0, 0.5],
+ 53: [0, 0.65556, 0, 0, 0.5],
+ 54: [0, 0.65556, 0, 0, 0.5],
+ 55: [0, 0.65556, 0, 0, 0.5],
+ 56: [0, 0.65556, 0, 0, 0.5],
+ 57: [0, 0.65556, 0, 0, 0.5],
+ 58: [0, 0.44444, 0, 0, 0.27778],
+ 59: [0.125, 0.44444, 0, 0, 0.27778],
+ 61: [-0.13, 0.37, 0, 0, 0.77778],
+ 63: [0, 0.69444, 0, 0, 0.47222],
+ 64: [0, 0.69444, 0, 0, 0.66667],
+ 65: [0, 0.69444, 0, 0, 0.66667],
+ 66: [0, 0.69444, 0, 0, 0.66667],
+ 67: [0, 0.69444, 0, 0, 0.63889],
+ 68: [0, 0.69444, 0, 0, 0.72223],
+ 69: [0, 0.69444, 0, 0, 0.59722],
+ 70: [0, 0.69444, 0, 0, 0.56945],
+ 71: [0, 0.69444, 0, 0, 0.66667],
+ 72: [0, 0.69444, 0, 0, 0.70834],
+ 73: [0, 0.69444, 0, 0, 0.27778],
+ 74: [0, 0.69444, 0, 0, 0.47222],
+ 75: [0, 0.69444, 0, 0, 0.69445],
+ 76: [0, 0.69444, 0, 0, 0.54167],
+ 77: [0, 0.69444, 0, 0, 0.875],
+ 78: [0, 0.69444, 0, 0, 0.70834],
+ 79: [0, 0.69444, 0, 0, 0.73611],
+ 80: [0, 0.69444, 0, 0, 0.63889],
+ 81: [0.125, 0.69444, 0, 0, 0.73611],
+ 82: [0, 0.69444, 0, 0, 0.64584],
+ 83: [0, 0.69444, 0, 0, 0.55556],
+ 84: [0, 0.69444, 0, 0, 0.68056],
+ 85: [0, 0.69444, 0, 0, 0.6875],
+ 86: [0, 0.69444, 0.01389, 0, 0.66667],
+ 87: [0, 0.69444, 0.01389, 0, 0.94445],
+ 88: [0, 0.69444, 0, 0, 0.66667],
+ 89: [0, 0.69444, 0.025, 0, 0.66667],
+ 90: [0, 0.69444, 0, 0, 0.61111],
+ 91: [0.25, 0.75, 0, 0, 0.28889],
+ 93: [0.25, 0.75, 0, 0, 0.28889],
+ 94: [0, 0.69444, 0, 0, 0.5],
+ 95: [0.35, 0.09444, 0.02778, 0, 0.5],
+ 97: [0, 0.44444, 0, 0, 0.48056],
+ 98: [0, 0.69444, 0, 0, 0.51667],
+ 99: [0, 0.44444, 0, 0, 0.44445],
+ 100: [0, 0.69444, 0, 0, 0.51667],
+ 101: [0, 0.44444, 0, 0, 0.44445],
+ 102: [0, 0.69444, 0.06944, 0, 0.30556],
+ 103: [0.19444, 0.44444, 0.01389, 0, 0.5],
+ 104: [0, 0.69444, 0, 0, 0.51667],
+ 105: [0, 0.67937, 0, 0, 0.23889],
+ 106: [0.19444, 0.67937, 0, 0, 0.26667],
+ 107: [0, 0.69444, 0, 0, 0.48889],
+ 108: [0, 0.69444, 0, 0, 0.23889],
+ 109: [0, 0.44444, 0, 0, 0.79445],
+ 110: [0, 0.44444, 0, 0, 0.51667],
+ 111: [0, 0.44444, 0, 0, 0.5],
+ 112: [0.19444, 0.44444, 0, 0, 0.51667],
+ 113: [0.19444, 0.44444, 0, 0, 0.51667],
+ 114: [0, 0.44444, 0.01389, 0, 0.34167],
+ 115: [0, 0.44444, 0, 0, 0.38333],
+ 116: [0, 0.57143, 0, 0, 0.36111],
+ 117: [0, 0.44444, 0, 0, 0.51667],
+ 118: [0, 0.44444, 0.01389, 0, 0.46111],
+ 119: [0, 0.44444, 0.01389, 0, 0.68334],
+ 120: [0, 0.44444, 0, 0, 0.46111],
+ 121: [0.19444, 0.44444, 0.01389, 0, 0.46111],
+ 122: [0, 0.44444, 0, 0, 0.43472],
+ 126: [0.35, 0.32659, 0, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.67937, 0, 0, 0.5],
+ 176: [0, 0.69444, 0, 0, 0.66667],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 305: [0, 0.44444, 0, 0, 0.23889],
+ 567: [0.19444, 0.44444, 0, 0, 0.26667],
+ 710: [0, 0.69444, 0, 0, 0.5],
+ 711: [0, 0.63194, 0, 0, 0.5],
+ 713: [0, 0.60889, 0, 0, 0.5],
+ 714: [0, 0.69444, 0, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0, 0, 0.5],
+ 729: [0, 0.67937, 0, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.66667],
+ 732: [0, 0.67659, 0, 0, 0.5],
+ 733: [0, 0.69444, 0, 0, 0.5],
+ 915: [0, 0.69444, 0, 0, 0.54167],
+ 916: [0, 0.69444, 0, 0, 0.83334],
+ 920: [0, 0.69444, 0, 0, 0.77778],
+ 923: [0, 0.69444, 0, 0, 0.61111],
+ 926: [0, 0.69444, 0, 0, 0.66667],
+ 928: [0, 0.69444, 0, 0, 0.70834],
+ 931: [0, 0.69444, 0, 0, 0.72222],
+ 933: [0, 0.69444, 0, 0, 0.77778],
+ 934: [0, 0.69444, 0, 0, 0.72222],
+ 936: [0, 0.69444, 0, 0, 0.77778],
+ 937: [0, 0.69444, 0, 0, 0.72222],
+ 8211: [0, 0.44444, 0.02778, 0, 0.5],
+ 8212: [0, 0.44444, 0.02778, 0, 1],
+ 8216: [0, 0.69444, 0, 0, 0.27778],
+ 8217: [0, 0.69444, 0, 0, 0.27778],
+ 8220: [0, 0.69444, 0, 0, 0.5],
+ 8221: [0, 0.69444, 0, 0, 0.5]
+ },
+ 'Script-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.7, 0.22925, 0, 0.80253],
+ 66: [0, 0.7, 0.04087, 0, 0.90757],
+ 67: [0, 0.7, 0.1689, 0, 0.66619],
+ 68: [0, 0.7, 0.09371, 0, 0.77443],
+ 69: [0, 0.7, 0.18583, 0, 0.56162],
+ 70: [0, 0.7, 0.13634, 0, 0.89544],
+ 71: [0, 0.7, 0.17322, 0, 0.60961],
+ 72: [0, 0.7, 0.29694, 0, 0.96919],
+ 73: [0, 0.7, 0.19189, 0, 0.80907],
+ 74: [0.27778, 0.7, 0.19189, 0, 1.05159],
+ 75: [0, 0.7, 0.31259, 0, 0.91364],
+ 76: [0, 0.7, 0.19189, 0, 0.87373],
+ 77: [0, 0.7, 0.15981, 0, 1.08031],
+ 78: [0, 0.7, 0.3525, 0, 0.9015],
+ 79: [0, 0.7, 0.08078, 0, 0.73787],
+ 80: [0, 0.7, 0.08078, 0, 1.01262],
+ 81: [0, 0.7, 0.03305, 0, 0.88282],
+ 82: [0, 0.7, 0.06259, 0, 0.85],
+ 83: [0, 0.7, 0.19189, 0, 0.86767],
+ 84: [0, 0.7, 0.29087, 0, 0.74697],
+ 85: [0, 0.7, 0.25815, 0, 0.79996],
+ 86: [0, 0.7, 0.27523, 0, 0.62204],
+ 87: [0, 0.7, 0.27523, 0, 0.80532],
+ 88: [0, 0.7, 0.26006, 0, 0.94445],
+ 89: [0, 0.7, 0.2939, 0, 0.70961],
+ 90: [0, 0.7, 0.24037, 0, 0.8212],
+ 160: [0, 0, 0, 0, 0.25]
+ },
+ 'Size1-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.35001, 0.85, 0, 0, 0.45834],
+ 41: [0.35001, 0.85, 0, 0, 0.45834],
+ 47: [0.35001, 0.85, 0, 0, 0.57778],
+ 91: [0.35001, 0.85, 0, 0, 0.41667],
+ 92: [0.35001, 0.85, 0, 0, 0.57778],
+ 93: [0.35001, 0.85, 0, 0, 0.41667],
+ 123: [0.35001, 0.85, 0, 0, 0.58334],
+ 125: [0.35001, 0.85, 0, 0, 0.58334],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.72222, 0, 0, 0.55556],
+ 732: [0, 0.72222, 0, 0, 0.55556],
+ 770: [0, 0.72222, 0, 0, 0.55556],
+ 771: [0, 0.72222, 0, 0, 0.55556],
+ 8214: [-99e-5, 0.601, 0, 0, 0.77778],
+ 8593: [1e-5, 0.6, 0, 0, 0.66667],
+ 8595: [1e-5, 0.6, 0, 0, 0.66667],
+ 8657: [1e-5, 0.6, 0, 0, 0.77778],
+ 8659: [1e-5, 0.6, 0, 0, 0.77778],
+ 8719: [0.25001, 0.75, 0, 0, 0.94445],
+ 8720: [0.25001, 0.75, 0, 0, 0.94445],
+ 8721: [0.25001, 0.75, 0, 0, 1.05556],
+ 8730: [0.35001, 0.85, 0, 0, 1],
+ 8739: [-0.00599, 0.606, 0, 0, 0.33333],
+ 8741: [-0.00599, 0.606, 0, 0, 0.55556],
+ 8747: [0.30612, 0.805, 0.19445, 0, 0.47222],
+ 8748: [0.306, 0.805, 0.19445, 0, 0.47222],
+ 8749: [0.306, 0.805, 0.19445, 0, 0.47222],
+ 8750: [0.30612, 0.805, 0.19445, 0, 0.47222],
+ 8896: [0.25001, 0.75, 0, 0, 0.83334],
+ 8897: [0.25001, 0.75, 0, 0, 0.83334],
+ 8898: [0.25001, 0.75, 0, 0, 0.83334],
+ 8899: [0.25001, 0.75, 0, 0, 0.83334],
+ 8968: [0.35001, 0.85, 0, 0, 0.47222],
+ 8969: [0.35001, 0.85, 0, 0, 0.47222],
+ 8970: [0.35001, 0.85, 0, 0, 0.47222],
+ 8971: [0.35001, 0.85, 0, 0, 0.47222],
+ 9168: [-99e-5, 0.601, 0, 0, 0.66667],
+ 10216: [0.35001, 0.85, 0, 0, 0.47222],
+ 10217: [0.35001, 0.85, 0, 0, 0.47222],
+ 10752: [0.25001, 0.75, 0, 0, 1.11111],
+ 10753: [0.25001, 0.75, 0, 0, 1.11111],
+ 10754: [0.25001, 0.75, 0, 0, 1.11111],
+ 10756: [0.25001, 0.75, 0, 0, 0.83334],
+ 10758: [0.25001, 0.75, 0, 0, 0.83334]
+ },
+ 'Size2-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.65002, 1.15, 0, 0, 0.59722],
+ 41: [0.65002, 1.15, 0, 0, 0.59722],
+ 47: [0.65002, 1.15, 0, 0, 0.81111],
+ 91: [0.65002, 1.15, 0, 0, 0.47222],
+ 92: [0.65002, 1.15, 0, 0, 0.81111],
+ 93: [0.65002, 1.15, 0, 0, 0.47222],
+ 123: [0.65002, 1.15, 0, 0, 0.66667],
+ 125: [0.65002, 1.15, 0, 0, 0.66667],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.75, 0, 0, 1],
+ 732: [0, 0.75, 0, 0, 1],
+ 770: [0, 0.75, 0, 0, 1],
+ 771: [0, 0.75, 0, 0, 1],
+ 8719: [0.55001, 1.05, 0, 0, 1.27778],
+ 8720: [0.55001, 1.05, 0, 0, 1.27778],
+ 8721: [0.55001, 1.05, 0, 0, 1.44445],
+ 8730: [0.65002, 1.15, 0, 0, 1],
+ 8747: [0.86225, 1.36, 0.44445, 0, 0.55556],
+ 8748: [0.862, 1.36, 0.44445, 0, 0.55556],
+ 8749: [0.862, 1.36, 0.44445, 0, 0.55556],
+ 8750: [0.86225, 1.36, 0.44445, 0, 0.55556],
+ 8896: [0.55001, 1.05, 0, 0, 1.11111],
+ 8897: [0.55001, 1.05, 0, 0, 1.11111],
+ 8898: [0.55001, 1.05, 0, 0, 1.11111],
+ 8899: [0.55001, 1.05, 0, 0, 1.11111],
+ 8968: [0.65002, 1.15, 0, 0, 0.52778],
+ 8969: [0.65002, 1.15, 0, 0, 0.52778],
+ 8970: [0.65002, 1.15, 0, 0, 0.52778],
+ 8971: [0.65002, 1.15, 0, 0, 0.52778],
+ 10216: [0.65002, 1.15, 0, 0, 0.61111],
+ 10217: [0.65002, 1.15, 0, 0, 0.61111],
+ 10752: [0.55001, 1.05, 0, 0, 1.51112],
+ 10753: [0.55001, 1.05, 0, 0, 1.51112],
+ 10754: [0.55001, 1.05, 0, 0, 1.51112],
+ 10756: [0.55001, 1.05, 0, 0, 1.11111],
+ 10758: [0.55001, 1.05, 0, 0, 1.11111]
+ },
+ 'Size3-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.95003, 1.45, 0, 0, 0.73611],
+ 41: [0.95003, 1.45, 0, 0, 0.73611],
+ 47: [0.95003, 1.45, 0, 0, 1.04445],
+ 91: [0.95003, 1.45, 0, 0, 0.52778],
+ 92: [0.95003, 1.45, 0, 0, 1.04445],
+ 93: [0.95003, 1.45, 0, 0, 0.52778],
+ 123: [0.95003, 1.45, 0, 0, 0.75],
+ 125: [0.95003, 1.45, 0, 0, 0.75],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.75, 0, 0, 1.44445],
+ 732: [0, 0.75, 0, 0, 1.44445],
+ 770: [0, 0.75, 0, 0, 1.44445],
+ 771: [0, 0.75, 0, 0, 1.44445],
+ 8730: [0.95003, 1.45, 0, 0, 1],
+ 8968: [0.95003, 1.45, 0, 0, 0.58334],
+ 8969: [0.95003, 1.45, 0, 0, 0.58334],
+ 8970: [0.95003, 1.45, 0, 0, 0.58334],
+ 8971: [0.95003, 1.45, 0, 0, 0.58334],
+ 10216: [0.95003, 1.45, 0, 0, 0.75],
+ 10217: [0.95003, 1.45, 0, 0, 0.75]
+ },
+ 'Size4-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [1.25003, 1.75, 0, 0, 0.79167],
+ 41: [1.25003, 1.75, 0, 0, 0.79167],
+ 47: [1.25003, 1.75, 0, 0, 1.27778],
+ 91: [1.25003, 1.75, 0, 0, 0.58334],
+ 92: [1.25003, 1.75, 0, 0, 1.27778],
+ 93: [1.25003, 1.75, 0, 0, 0.58334],
+ 123: [1.25003, 1.75, 0, 0, 0.80556],
+ 125: [1.25003, 1.75, 0, 0, 0.80556],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.825, 0, 0, 1.8889],
+ 732: [0, 0.825, 0, 0, 1.8889],
+ 770: [0, 0.825, 0, 0, 1.8889],
+ 771: [0, 0.825, 0, 0, 1.8889],
+ 8730: [1.25003, 1.75, 0, 0, 1],
+ 8968: [1.25003, 1.75, 0, 0, 0.63889],
+ 8969: [1.25003, 1.75, 0, 0, 0.63889],
+ 8970: [1.25003, 1.75, 0, 0, 0.63889],
+ 8971: [1.25003, 1.75, 0, 0, 0.63889],
+ 9115: [0.64502, 1.155, 0, 0, 0.875],
+ 9116: [1e-5, 0.6, 0, 0, 0.875],
+ 9117: [0.64502, 1.155, 0, 0, 0.875],
+ 9118: [0.64502, 1.155, 0, 0, 0.875],
+ 9119: [1e-5, 0.6, 0, 0, 0.875],
+ 9120: [0.64502, 1.155, 0, 0, 0.875],
+ 9121: [0.64502, 1.155, 0, 0, 0.66667],
+ 9122: [-99e-5, 0.601, 0, 0, 0.66667],
+ 9123: [0.64502, 1.155, 0, 0, 0.66667],
+ 9124: [0.64502, 1.155, 0, 0, 0.66667],
+ 9125: [-99e-5, 0.601, 0, 0, 0.66667],
+ 9126: [0.64502, 1.155, 0, 0, 0.66667],
+ 9127: [1e-5, 0.9, 0, 0, 0.88889],
+ 9128: [0.65002, 1.15, 0, 0, 0.88889],
+ 9129: [0.90001, 0, 0, 0, 0.88889],
+ 9130: [0, 0.3, 0, 0, 0.88889],
+ 9131: [1e-5, 0.9, 0, 0, 0.88889],
+ 9132: [0.65002, 1.15, 0, 0, 0.88889],
+ 9133: [0.90001, 0, 0, 0, 0.88889],
+ 9143: [0.88502, 0.915, 0, 0, 1.05556],
+ 10216: [1.25003, 1.75, 0, 0, 0.80556],
+ 10217: [1.25003, 1.75, 0, 0, 0.80556],
+ 57344: [-0.00499, 0.605, 0, 0, 1.05556],
+ 57345: [-0.00499, 0.605, 0, 0, 1.05556],
+ 57680: [0, 0.12, 0, 0, 0.45],
+ 57681: [0, 0.12, 0, 0, 0.45],
+ 57682: [0, 0.12, 0, 0, 0.45],
+ 57683: [0, 0.12, 0, 0, 0.45]
+ },
+ 'Typewriter-Regular': {
+ 32: [0, 0, 0, 0, 0.525],
+ 33: [0, 0.61111, 0, 0, 0.525],
+ 34: [0, 0.61111, 0, 0, 0.525],
+ 35: [0, 0.61111, 0, 0, 0.525],
+ 36: [0.08333, 0.69444, 0, 0, 0.525],
+ 37: [0.08333, 0.69444, 0, 0, 0.525],
+ 38: [0, 0.61111, 0, 0, 0.525],
+ 39: [0, 0.61111, 0, 0, 0.525],
+ 40: [0.08333, 0.69444, 0, 0, 0.525],
+ 41: [0.08333, 0.69444, 0, 0, 0.525],
+ 42: [0, 0.52083, 0, 0, 0.525],
+ 43: [-0.08056, 0.53055, 0, 0, 0.525],
+ 44: [0.13889, 0.125, 0, 0, 0.525],
+ 45: [-0.08056, 0.53055, 0, 0, 0.525],
+ 46: [0, 0.125, 0, 0, 0.525],
+ 47: [0.08333, 0.69444, 0, 0, 0.525],
+ 48: [0, 0.61111, 0, 0, 0.525],
+ 49: [0, 0.61111, 0, 0, 0.525],
+ 50: [0, 0.61111, 0, 0, 0.525],
+ 51: [0, 0.61111, 0, 0, 0.525],
+ 52: [0, 0.61111, 0, 0, 0.525],
+ 53: [0, 0.61111, 0, 0, 0.525],
+ 54: [0, 0.61111, 0, 0, 0.525],
+ 55: [0, 0.61111, 0, 0, 0.525],
+ 56: [0, 0.61111, 0, 0, 0.525],
+ 57: [0, 0.61111, 0, 0, 0.525],
+ 58: [0, 0.43056, 0, 0, 0.525],
+ 59: [0.13889, 0.43056, 0, 0, 0.525],
+ 60: [-0.05556, 0.55556, 0, 0, 0.525],
+ 61: [-0.19549, 0.41562, 0, 0, 0.525],
+ 62: [-0.05556, 0.55556, 0, 0, 0.525],
+ 63: [0, 0.61111, 0, 0, 0.525],
+ 64: [0, 0.61111, 0, 0, 0.525],
+ 65: [0, 0.61111, 0, 0, 0.525],
+ 66: [0, 0.61111, 0, 0, 0.525],
+ 67: [0, 0.61111, 0, 0, 0.525],
+ 68: [0, 0.61111, 0, 0, 0.525],
+ 69: [0, 0.61111, 0, 0, 0.525],
+ 70: [0, 0.61111, 0, 0, 0.525],
+ 71: [0, 0.61111, 0, 0, 0.525],
+ 72: [0, 0.61111, 0, 0, 0.525],
+ 73: [0, 0.61111, 0, 0, 0.525],
+ 74: [0, 0.61111, 0, 0, 0.525],
+ 75: [0, 0.61111, 0, 0, 0.525],
+ 76: [0, 0.61111, 0, 0, 0.525],
+ 77: [0, 0.61111, 0, 0, 0.525],
+ 78: [0, 0.61111, 0, 0, 0.525],
+ 79: [0, 0.61111, 0, 0, 0.525],
+ 80: [0, 0.61111, 0, 0, 0.525],
+ 81: [0.13889, 0.61111, 0, 0, 0.525],
+ 82: [0, 0.61111, 0, 0, 0.525],
+ 83: [0, 0.61111, 0, 0, 0.525],
+ 84: [0, 0.61111, 0, 0, 0.525],
+ 85: [0, 0.61111, 0, 0, 0.525],
+ 86: [0, 0.61111, 0, 0, 0.525],
+ 87: [0, 0.61111, 0, 0, 0.525],
+ 88: [0, 0.61111, 0, 0, 0.525],
+ 89: [0, 0.61111, 0, 0, 0.525],
+ 90: [0, 0.61111, 0, 0, 0.525],
+ 91: [0.08333, 0.69444, 0, 0, 0.525],
+ 92: [0.08333, 0.69444, 0, 0, 0.525],
+ 93: [0.08333, 0.69444, 0, 0, 0.525],
+ 94: [0, 0.61111, 0, 0, 0.525],
+ 95: [0.09514, 0, 0, 0, 0.525],
+ 96: [0, 0.61111, 0, 0, 0.525],
+ 97: [0, 0.43056, 0, 0, 0.525],
+ 98: [0, 0.61111, 0, 0, 0.525],
+ 99: [0, 0.43056, 0, 0, 0.525],
+ 100: [0, 0.61111, 0, 0, 0.525],
+ 101: [0, 0.43056, 0, 0, 0.525],
+ 102: [0, 0.61111, 0, 0, 0.525],
+ 103: [0.22222, 0.43056, 0, 0, 0.525],
+ 104: [0, 0.61111, 0, 0, 0.525],
+ 105: [0, 0.61111, 0, 0, 0.525],
+ 106: [0.22222, 0.61111, 0, 0, 0.525],
+ 107: [0, 0.61111, 0, 0, 0.525],
+ 108: [0, 0.61111, 0, 0, 0.525],
+ 109: [0, 0.43056, 0, 0, 0.525],
+ 110: [0, 0.43056, 0, 0, 0.525],
+ 111: [0, 0.43056, 0, 0, 0.525],
+ 112: [0.22222, 0.43056, 0, 0, 0.525],
+ 113: [0.22222, 0.43056, 0, 0, 0.525],
+ 114: [0, 0.43056, 0, 0, 0.525],
+ 115: [0, 0.43056, 0, 0, 0.525],
+ 116: [0, 0.55358, 0, 0, 0.525],
+ 117: [0, 0.43056, 0, 0, 0.525],
+ 118: [0, 0.43056, 0, 0, 0.525],
+ 119: [0, 0.43056, 0, 0, 0.525],
+ 120: [0, 0.43056, 0, 0, 0.525],
+ 121: [0.22222, 0.43056, 0, 0, 0.525],
+ 122: [0, 0.43056, 0, 0, 0.525],
+ 123: [0.08333, 0.69444, 0, 0, 0.525],
+ 124: [0.08333, 0.69444, 0, 0, 0.525],
+ 125: [0.08333, 0.69444, 0, 0, 0.525],
+ 126: [0, 0.61111, 0, 0, 0.525],
+ 127: [0, 0.61111, 0, 0, 0.525],
+ 160: [0, 0, 0, 0, 0.525],
+ 176: [0, 0.61111, 0, 0, 0.525],
+ 184: [0.19445, 0, 0, 0, 0.525],
+ 305: [0, 0.43056, 0, 0, 0.525],
+ 567: [0.22222, 0.43056, 0, 0, 0.525],
+ 711: [0, 0.56597, 0, 0, 0.525],
+ 713: [0, 0.56555, 0, 0, 0.525],
+ 714: [0, 0.61111, 0, 0, 0.525],
+ 715: [0, 0.61111, 0, 0, 0.525],
+ 728: [0, 0.61111, 0, 0, 0.525],
+ 730: [0, 0.61111, 0, 0, 0.525],
+ 770: [0, 0.61111, 0, 0, 0.525],
+ 771: [0, 0.61111, 0, 0, 0.525],
+ 776: [0, 0.61111, 0, 0, 0.525],
+ 915: [0, 0.61111, 0, 0, 0.525],
+ 916: [0, 0.61111, 0, 0, 0.525],
+ 920: [0, 0.61111, 0, 0, 0.525],
+ 923: [0, 0.61111, 0, 0, 0.525],
+ 926: [0, 0.61111, 0, 0, 0.525],
+ 928: [0, 0.61111, 0, 0, 0.525],
+ 931: [0, 0.61111, 0, 0, 0.525],
+ 933: [0, 0.61111, 0, 0, 0.525],
+ 934: [0, 0.61111, 0, 0, 0.525],
+ 936: [0, 0.61111, 0, 0, 0.525],
+ 937: [0, 0.61111, 0, 0, 0.525],
+ 8216: [0, 0.61111, 0, 0, 0.525],
+ 8217: [0, 0.61111, 0, 0, 0.525],
+ 8242: [0, 0.61111, 0, 0, 0.525],
+ 9251: [0.11111, 0.21944, 0, 0, 0.525]
+ }
+ }),
+ (Jb = {
+ slant: [0.25, 0.25, 0.25],
+ space: [0, 0, 0],
+ stretch: [0, 0, 0],
+ shrink: [0, 0, 0],
+ xHeight: [0.431, 0.431, 0.431],
+ quad: [1, 1.171, 1.472],
+ extraSpace: [0, 0, 0],
+ num1: [0.677, 0.732, 0.925],
+ num2: [0.394, 0.384, 0.387],
+ num3: [0.444, 0.471, 0.504],
+ denom1: [0.686, 0.752, 1.025],
+ denom2: [0.345, 0.344, 0.532],
+ sup1: [0.413, 0.503, 0.504],
+ sup2: [0.363, 0.431, 0.404],
+ sup3: [0.289, 0.286, 0.294],
+ sub1: [0.15, 0.143, 0.2],
+ sub2: [0.247, 0.286, 0.4],
+ supDrop: [0.386, 0.353, 0.494],
+ subDrop: [0.05, 0.071, 0.1],
+ delim1: [2.39, 1.7, 1.98],
+ delim2: [1.01, 1.157, 1.42],
+ axisHeight: [0.25, 0.25, 0.25],
+ defaultRuleThickness: [0.04, 0.049, 0.049],
+ bigOpSpacing1: [0.111, 0.111, 0.111],
+ bigOpSpacing2: [0.166, 0.166, 0.166],
+ bigOpSpacing3: [0.2, 0.2, 0.2],
+ bigOpSpacing4: [0.6, 0.611, 0.611],
+ bigOpSpacing5: [0.1, 0.143, 0.143],
+ sqrtRuleThickness: [0.04, 0.04, 0.04],
+ ptPerEm: [10, 10, 10],
+ doubleRuleSep: [0.2, 0.2, 0.2],
+ arrayRuleWidth: [0.04, 0.04, 0.04],
+ fboxsep: [0.3, 0.3, 0.3],
+ fboxrule: [0.04, 0.04, 0.04]
+ }),
+ (Zz = {
+ Å: 'A',
+ Ð: 'D',
+ Þ: 'o',
+ å: 'a',
+ ð: 'd',
+ þ: 'o',
+ А: 'A',
+ Б: 'B',
+ В: 'B',
+ Г: 'F',
+ Д: 'A',
+ Е: 'E',
+ Ж: 'K',
+ З: '3',
+ И: 'N',
+ Й: 'N',
+ К: 'K',
+ Л: 'N',
+ М: 'M',
+ Н: 'H',
+ О: 'O',
+ П: 'N',
+ Р: 'P',
+ С: 'C',
+ Т: 'T',
+ У: 'y',
+ Ф: 'O',
+ Х: 'X',
+ Ц: 'U',
+ Ч: 'h',
+ Ш: 'W',
+ Щ: 'W',
+ Ъ: 'B',
+ Ы: 'X',
+ Ь: 'B',
+ Э: '3',
+ Ю: 'X',
+ Я: 'R',
+ а: 'a',
+ б: 'b',
+ в: 'a',
+ г: 'r',
+ д: 'y',
+ е: 'e',
+ ж: 'm',
+ з: 'e',
+ и: 'n',
+ й: 'n',
+ к: 'n',
+ л: 'n',
+ м: 'm',
+ н: 'n',
+ о: 'o',
+ п: 'n',
+ р: 'p',
+ с: 'c',
+ т: 'o',
+ у: 'y',
+ ф: 'b',
+ х: 'x',
+ ц: 'n',
+ ч: 'n',
+ ш: 'w',
+ щ: 'w',
+ ъ: 'a',
+ ы: 'm',
+ ь: 'a',
+ э: 'e',
+ ю: 'm',
+ я: 'r'
+ });
+ o(axe, 'setFontMetrics');
+ o(M7, 'getCharacterMetrics');
+ l7 = {};
+ o(sxe, 'getGlobalMetrics');
+ (oxe = [
+ [1, 1, 1],
+ [2, 1, 1],
+ [3, 1, 1],
+ [4, 2, 1],
+ [5, 2, 1],
+ [6, 3, 1],
+ [7, 4, 2],
+ [8, 6, 3],
+ [9, 7, 6],
+ [10, 8, 7],
+ [11, 10, 9]
+ ]),
+ (Jz = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488]),
+ (eG = o(function (e, r) {
+ return r.size < 2 ? e : oxe[e - 1][r.size - 1];
+ }, 'sizeAtStyle')),
+ (d4 = class t {
+ static {
+ o(this, 'Options');
+ }
+ constructor(e) {
+ (this.style = void 0),
+ (this.color = void 0),
+ (this.size = void 0),
+ (this.textSize = void 0),
+ (this.phantom = void 0),
+ (this.font = void 0),
+ (this.fontFamily = void 0),
+ (this.fontWeight = void 0),
+ (this.fontShape = void 0),
+ (this.sizeMultiplier = void 0),
+ (this.maxSize = void 0),
+ (this.minRuleThickness = void 0),
+ (this._fontMetrics = void 0),
+ (this.style = e.style),
+ (this.color = e.color),
+ (this.size = e.size || t.BASESIZE),
+ (this.textSize = e.textSize || this.size),
+ (this.phantom = !!e.phantom),
+ (this.font = e.font || ''),
+ (this.fontFamily = e.fontFamily || ''),
+ (this.fontWeight = e.fontWeight || ''),
+ (this.fontShape = e.fontShape || ''),
+ (this.sizeMultiplier = Jz[this.size - 1]),
+ (this.maxSize = e.maxSize),
+ (this.minRuleThickness = e.minRuleThickness),
+ (this._fontMetrics = void 0);
+ }
+ extend(e) {
+ var r = {
+ style: this.style,
+ size: this.size,
+ textSize: this.textSize,
+ color: this.color,
+ phantom: this.phantom,
+ font: this.font,
+ fontFamily: this.fontFamily,
+ fontWeight: this.fontWeight,
+ fontShape: this.fontShape,
+ maxSize: this.maxSize,
+ minRuleThickness: this.minRuleThickness
+ };
+ for (var n in e) e.hasOwnProperty(n) && (r[n] = e[n]);
+ return new t(r);
+ }
+ havingStyle(e) {
+ return this.style === e ? this : this.extend({ style: e, size: eG(this.textSize, e) });
+ }
+ havingCrampedStyle() {
+ return this.havingStyle(this.style.cramp());
+ }
+ havingSize(e) {
+ return this.size === e && this.textSize === e
+ ? this
+ : this.extend({
+ style: this.style.text(),
+ size: e,
+ textSize: e,
+ sizeMultiplier: Jz[e - 1]
+ });
+ }
+ havingBaseStyle(e) {
+ e = e || this.style.text();
+ var r = eG(t.BASESIZE, e);
+ return this.size === r && this.textSize === t.BASESIZE && this.style === e
+ ? this
+ : this.extend({ style: e, size: r });
+ }
+ havingBaseSizing() {
+ var e;
+ switch (this.style.id) {
+ case 4:
+ case 5:
+ e = 3;
+ break;
+ case 6:
+ case 7:
+ e = 1;
+ break;
+ default:
+ e = 6;
+ }
+ return this.extend({ style: this.style.text(), size: e });
+ }
+ withColor(e) {
+ return this.extend({ color: e });
+ }
+ withPhantom() {
+ return this.extend({ phantom: !0 });
+ }
+ withFont(e) {
+ return this.extend({ font: e });
+ }
+ withTextFontFamily(e) {
+ return this.extend({ fontFamily: e, font: '' });
+ }
+ withTextFontWeight(e) {
+ return this.extend({ fontWeight: e, font: '' });
+ }
+ withTextFontShape(e) {
+ return this.extend({ fontShape: e, font: '' });
+ }
+ sizingClasses(e) {
+ return e.size !== this.size ? ['sizing', 'reset-size' + e.size, 'size' + this.size] : [];
+ }
+ baseSizingClasses() {
+ return this.size !== t.BASESIZE
+ ? ['sizing', 'reset-size' + this.size, 'size' + t.BASESIZE]
+ : [];
+ }
+ fontMetrics() {
+ return this._fontMetrics || (this._fontMetrics = sxe(this.size)), this._fontMetrics;
+ }
+ getColor() {
+ return this.phantom ? 'transparent' : this.color;
+ }
+ });
+ d4.BASESIZE = 6;
+ (w7 = {
+ pt: 1,
+ mm: 7227 / 2540,
+ cm: 7227 / 254,
+ in: 72.27,
+ bp: 803 / 800,
+ pc: 12,
+ dd: 1238 / 1157,
+ cc: 14856 / 1157,
+ nd: 685 / 642,
+ nc: 1370 / 107,
+ sp: 1 / 65536,
+ px: 803 / 800
+ }),
+ (lxe = { ex: !0, em: !0, mu: !0 }),
+ (DG = o(function (e) {
+ return typeof e != 'string' && (e = e.unit), e in w7 || e in lxe || e === 'ex';
+ }, 'validUnit')),
+ (Hn = o(function (e, r) {
+ var n;
+ if (e.unit in w7) n = w7[e.unit] / r.fontMetrics().ptPerEm / r.sizeMultiplier;
+ else if (e.unit === 'mu') n = r.fontMetrics().cssEmPerMu;
+ else {
+ var i;
+ if ((r.style.isTight() ? (i = r.havingStyle(r.style.text())) : (i = r), e.unit === 'ex'))
+ n = i.fontMetrics().xHeight;
+ else if (e.unit === 'em') n = i.fontMetrics().quad;
+ else throw new nt("Invalid unit: '" + e.unit + "'");
+ i !== r && (n *= i.sizeMultiplier / r.sizeMultiplier);
+ }
+ return Math.min(e.number * n, r.maxSize);
+ }, 'calculateSize')),
+ (ct = o(function (e) {
+ return +e.toFixed(4) + 'em';
+ }, 'makeEm')),
+ (dh = o(function (e) {
+ return e.filter((r) => r).join(' ');
+ }, 'createClass')),
+ (RG = o(function (e, r, n) {
+ if (
+ ((this.classes = e || []),
+ (this.attributes = {}),
+ (this.height = 0),
+ (this.depth = 0),
+ (this.maxFontSize = 0),
+ (this.style = n || {}),
+ r)
+ ) {
+ r.style.isTight() && this.classes.push('mtight');
+ var i = r.getColor();
+ i && (this.style.color = i);
+ }
+ }, 'initNode')),
+ (NG = o(function (e) {
+ var r = document.createElement(e);
+ r.className = dh(this.classes);
+ for (var n in this.style) this.style.hasOwnProperty(n) && (r.style[n] = this.style[n]);
+ for (var i in this.attributes)
+ this.attributes.hasOwnProperty(i) && r.setAttribute(i, this.attributes[i]);
+ for (var a = 0; a < this.children.length; a++) r.appendChild(this.children[a].toNode());
+ return r;
+ }, 'toNode')),
+ (MG = o(function (e) {
+ var r = '<' + e;
+ this.classes.length && (r += ' class="' + Vt.escape(dh(this.classes)) + '"');
+ var n = '';
+ for (var i in this.style)
+ this.style.hasOwnProperty(i) && (n += Vt.hyphenate(i) + ':' + this.style[i] + ';');
+ n && (r += ' style="' + Vt.escape(n) + '"');
+ for (var a in this.attributes)
+ this.attributes.hasOwnProperty(a) &&
+ (r += ' ' + a + '="' + Vt.escape(this.attributes[a]) + '"');
+ r += '>';
+ for (var s = 0; s < this.children.length; s++) r += this.children[s].toMarkup();
+ return (r += '' + e + '>'), r;
+ }, 'toMarkup')),
+ (jf = class {
+ static {
+ o(this, 'Span');
+ }
+ constructor(e, r, n, i) {
+ (this.children = void 0),
+ (this.attributes = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.width = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ RG.call(this, e, n, i),
+ (this.children = r || []);
+ }
+ setAttribute(e, r) {
+ this.attributes[e] = r;
+ }
+ hasClass(e) {
+ return Vt.contains(this.classes, e);
+ }
+ toNode() {
+ return NG.call(this, 'span');
+ }
+ toMarkup() {
+ return MG.call(this, 'span');
+ }
+ }),
+ (iy = class {
+ static {
+ o(this, 'Anchor');
+ }
+ constructor(e, r, n, i) {
+ (this.children = void 0),
+ (this.attributes = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ RG.call(this, r, i),
+ (this.children = n || []),
+ this.setAttribute('href', e);
+ }
+ setAttribute(e, r) {
+ this.attributes[e] = r;
+ }
+ hasClass(e) {
+ return Vt.contains(this.classes, e);
+ }
+ toNode() {
+ return NG.call(this, 'a');
+ }
+ toMarkup() {
+ return MG.call(this, 'a');
+ }
+ }),
+ (T7 = class {
+ static {
+ o(this, 'Img');
+ }
+ constructor(e, r, n) {
+ (this.src = void 0),
+ (this.alt = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ (this.alt = r),
+ (this.src = e),
+ (this.classes = ['mord']),
+ (this.style = n);
+ }
+ hasClass(e) {
+ return Vt.contains(this.classes, e);
+ }
+ toNode() {
+ var e = document.createElement('img');
+ (e.src = this.src), (e.alt = this.alt), (e.className = 'mord');
+ for (var r in this.style) this.style.hasOwnProperty(r) && (e.style[r] = this.style[r]);
+ return e;
+ }
+ toMarkup() {
+ var e = '"), e;
+ }
+ }),
+ (cxe = {
+ î: '\u0131\u0302',
+ ï: '\u0131\u0308',
+ í: '\u0131\u0301',
+ ì: '\u0131\u0300'
+ }),
+ (ms = class {
+ static {
+ o(this, 'SymbolNode');
+ }
+ constructor(e, r, n, i, a, s, l, u) {
+ (this.text = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.italic = void 0),
+ (this.skew = void 0),
+ (this.width = void 0),
+ (this.maxFontSize = void 0),
+ (this.classes = void 0),
+ (this.style = void 0),
+ (this.text = e),
+ (this.height = r || 0),
+ (this.depth = n || 0),
+ (this.italic = i || 0),
+ (this.skew = a || 0),
+ (this.width = s || 0),
+ (this.classes = l || []),
+ (this.style = u || {}),
+ (this.maxFontSize = 0);
+ var h = X2e(this.text.charCodeAt(0));
+ h && this.classes.push(h + '_fallback'),
+ /[îïíì]/.test(this.text) && (this.text = cxe[this.text]);
+ }
+ hasClass(e) {
+ return Vt.contains(this.classes, e);
+ }
+ toNode() {
+ var e = document.createTextNode(this.text),
+ r = null;
+ this.italic > 0 &&
+ ((r = document.createElement('span')), (r.style.marginRight = ct(this.italic))),
+ this.classes.length > 0 &&
+ ((r = r || document.createElement('span')), (r.className = dh(this.classes)));
+ for (var n in this.style)
+ this.style.hasOwnProperty(n) &&
+ ((r = r || document.createElement('span')), (r.style[n] = this.style[n]));
+ return r ? (r.appendChild(e), r) : e;
+ }
+ toMarkup() {
+ var e = !1,
+ r = ' 0 && (n += 'margin-right:' + this.italic + 'em;');
+ for (var i in this.style)
+ this.style.hasOwnProperty(i) && (n += Vt.hyphenate(i) + ':' + this.style[i] + ';');
+ n && ((e = !0), (r += ' style="' + Vt.escape(n) + '"'));
+ var a = Vt.escape(this.text);
+ return e ? ((r += '>'), (r += a), (r += ''), r) : a;
+ }
+ }),
+ (ll = class {
+ static {
+ o(this, 'SvgNode');
+ }
+ constructor(e, r) {
+ (this.children = void 0),
+ (this.attributes = void 0),
+ (this.children = e || []),
+ (this.attributes = r || {});
+ }
+ toNode() {
+ var e = 'http://www.w3.org/2000/svg',
+ r = document.createElementNS(e, 'svg');
+ for (var n in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, n) &&
+ r.setAttribute(n, this.attributes[n]);
+ for (var i = 0; i < this.children.length; i++) r.appendChild(this.children[i].toNode());
+ return r;
+ }
+ toMarkup() {
+ var e = ''), e;
+ }
+ }),
+ (Jl = class {
+ static {
+ o(this, 'PathNode');
+ }
+ constructor(e, r) {
+ (this.pathName = void 0), (this.alternate = void 0), (this.pathName = e), (this.alternate = r);
+ }
+ toNode() {
+ var e = 'http://www.w3.org/2000/svg',
+ r = document.createElementNS(e, 'path');
+ return (
+ this.alternate
+ ? r.setAttribute('d', this.alternate)
+ : r.setAttribute('d', Qz[this.pathName]),
+ r
+ );
+ }
+ toMarkup() {
+ return this.alternate
+ ? ''
+ : '';
+ }
+ }),
+ (ay = class {
+ static {
+ o(this, 'LineNode');
+ }
+ constructor(e) {
+ (this.attributes = void 0), (this.attributes = e || {});
+ }
+ toNode() {
+ var e = 'http://www.w3.org/2000/svg',
+ r = document.createElementNS(e, 'line');
+ for (var n in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, n) &&
+ r.setAttribute(n, this.attributes[n]);
+ return r;
+ }
+ toMarkup() {
+ var e = ''), e;
+ }
+ });
+ o(tG, 'assertSymbolDomNode');
+ o(uxe, 'assertSpan');
+ (hxe = { bin: 1, close: 1, inner: 1, open: 1, punct: 1, rel: 1 }),
+ (fxe = {
+ 'accent-token': 1,
+ mathord: 1,
+ 'op-token': 1,
+ spacing: 1,
+ textord: 1
+ }),
+ (wn = { math: {}, text: {} });
+ o(G, 'defineSymbol');
+ (U = 'math'),
+ (Qe = 'text'),
+ (ee = 'main'),
+ (ve = 'ams'),
+ (Pn = 'accent-token'),
+ (bt = 'bin'),
+ (Xa = 'close'),
+ (vp = 'inner'),
+ (Ut = 'mathord'),
+ (xi = 'op-token'),
+ (js = 'open'),
+ (b4 = 'punct'),
+ (xe = 'rel'),
+ (lu = 'spacing'),
+ (Le = 'textord');
+ G(U, ee, xe, '\u2261', '\\equiv', !0);
+ G(U, ee, xe, '\u227A', '\\prec', !0);
+ G(U, ee, xe, '\u227B', '\\succ', !0);
+ G(U, ee, xe, '\u223C', '\\sim', !0);
+ G(U, ee, xe, '\u22A5', '\\perp');
+ G(U, ee, xe, '\u2AAF', '\\preceq', !0);
+ G(U, ee, xe, '\u2AB0', '\\succeq', !0);
+ G(U, ee, xe, '\u2243', '\\simeq', !0);
+ G(U, ee, xe, '\u2223', '\\mid', !0);
+ G(U, ee, xe, '\u226A', '\\ll', !0);
+ G(U, ee, xe, '\u226B', '\\gg', !0);
+ G(U, ee, xe, '\u224D', '\\asymp', !0);
+ G(U, ee, xe, '\u2225', '\\parallel');
+ G(U, ee, xe, '\u22C8', '\\bowtie', !0);
+ G(U, ee, xe, '\u2323', '\\smile', !0);
+ G(U, ee, xe, '\u2291', '\\sqsubseteq', !0);
+ G(U, ee, xe, '\u2292', '\\sqsupseteq', !0);
+ G(U, ee, xe, '\u2250', '\\doteq', !0);
+ G(U, ee, xe, '\u2322', '\\frown', !0);
+ G(U, ee, xe, '\u220B', '\\ni', !0);
+ G(U, ee, xe, '\u221D', '\\propto', !0);
+ G(U, ee, xe, '\u22A2', '\\vdash', !0);
+ G(U, ee, xe, '\u22A3', '\\dashv', !0);
+ G(U, ee, xe, '\u220B', '\\owns');
+ G(U, ee, b4, '.', '\\ldotp');
+ G(U, ee, b4, '\u22C5', '\\cdotp');
+ G(U, ee, Le, '#', '\\#');
+ G(Qe, ee, Le, '#', '\\#');
+ G(U, ee, Le, '&', '\\&');
+ G(Qe, ee, Le, '&', '\\&');
+ G(U, ee, Le, '\u2135', '\\aleph', !0);
+ G(U, ee, Le, '\u2200', '\\forall', !0);
+ G(U, ee, Le, '\u210F', '\\hbar', !0);
+ G(U, ee, Le, '\u2203', '\\exists', !0);
+ G(U, ee, Le, '\u2207', '\\nabla', !0);
+ G(U, ee, Le, '\u266D', '\\flat', !0);
+ G(U, ee, Le, '\u2113', '\\ell', !0);
+ G(U, ee, Le, '\u266E', '\\natural', !0);
+ G(U, ee, Le, '\u2663', '\\clubsuit', !0);
+ G(U, ee, Le, '\u2118', '\\wp', !0);
+ G(U, ee, Le, '\u266F', '\\sharp', !0);
+ G(U, ee, Le, '\u2662', '\\diamondsuit', !0);
+ G(U, ee, Le, '\u211C', '\\Re', !0);
+ G(U, ee, Le, '\u2661', '\\heartsuit', !0);
+ G(U, ee, Le, '\u2111', '\\Im', !0);
+ G(U, ee, Le, '\u2660', '\\spadesuit', !0);
+ G(U, ee, Le, '\xA7', '\\S', !0);
+ G(Qe, ee, Le, '\xA7', '\\S');
+ G(U, ee, Le, '\xB6', '\\P', !0);
+ G(Qe, ee, Le, '\xB6', '\\P');
+ G(U, ee, Le, '\u2020', '\\dag');
+ G(Qe, ee, Le, '\u2020', '\\dag');
+ G(Qe, ee, Le, '\u2020', '\\textdagger');
+ G(U, ee, Le, '\u2021', '\\ddag');
+ G(Qe, ee, Le, '\u2021', '\\ddag');
+ G(Qe, ee, Le, '\u2021', '\\textdaggerdbl');
+ G(U, ee, Xa, '\u23B1', '\\rmoustache', !0);
+ G(U, ee, js, '\u23B0', '\\lmoustache', !0);
+ G(U, ee, Xa, '\u27EF', '\\rgroup', !0);
+ G(U, ee, js, '\u27EE', '\\lgroup', !0);
+ G(U, ee, bt, '\u2213', '\\mp', !0);
+ G(U, ee, bt, '\u2296', '\\ominus', !0);
+ G(U, ee, bt, '\u228E', '\\uplus', !0);
+ G(U, ee, bt, '\u2293', '\\sqcap', !0);
+ G(U, ee, bt, '\u2217', '\\ast');
+ G(U, ee, bt, '\u2294', '\\sqcup', !0);
+ G(U, ee, bt, '\u25EF', '\\bigcirc', !0);
+ G(U, ee, bt, '\u2219', '\\bullet', !0);
+ G(U, ee, bt, '\u2021', '\\ddagger');
+ G(U, ee, bt, '\u2240', '\\wr', !0);
+ G(U, ee, bt, '\u2A3F', '\\amalg');
+ G(U, ee, bt, '&', '\\And');
+ G(U, ee, xe, '\u27F5', '\\longleftarrow', !0);
+ G(U, ee, xe, '\u21D0', '\\Leftarrow', !0);
+ G(U, ee, xe, '\u27F8', '\\Longleftarrow', !0);
+ G(U, ee, xe, '\u27F6', '\\longrightarrow', !0);
+ G(U, ee, xe, '\u21D2', '\\Rightarrow', !0);
+ G(U, ee, xe, '\u27F9', '\\Longrightarrow', !0);
+ G(U, ee, xe, '\u2194', '\\leftrightarrow', !0);
+ G(U, ee, xe, '\u27F7', '\\longleftrightarrow', !0);
+ G(U, ee, xe, '\u21D4', '\\Leftrightarrow', !0);
+ G(U, ee, xe, '\u27FA', '\\Longleftrightarrow', !0);
+ G(U, ee, xe, '\u21A6', '\\mapsto', !0);
+ G(U, ee, xe, '\u27FC', '\\longmapsto', !0);
+ G(U, ee, xe, '\u2197', '\\nearrow', !0);
+ G(U, ee, xe, '\u21A9', '\\hookleftarrow', !0);
+ G(U, ee, xe, '\u21AA', '\\hookrightarrow', !0);
+ G(U, ee, xe, '\u2198', '\\searrow', !0);
+ G(U, ee, xe, '\u21BC', '\\leftharpoonup', !0);
+ G(U, ee, xe, '\u21C0', '\\rightharpoonup', !0);
+ G(U, ee, xe, '\u2199', '\\swarrow', !0);
+ G(U, ee, xe, '\u21BD', '\\leftharpoondown', !0);
+ G(U, ee, xe, '\u21C1', '\\rightharpoondown', !0);
+ G(U, ee, xe, '\u2196', '\\nwarrow', !0);
+ G(U, ee, xe, '\u21CC', '\\rightleftharpoons', !0);
+ G(U, ve, xe, '\u226E', '\\nless', !0);
+ G(U, ve, xe, '\uE010', '\\@nleqslant');
+ G(U, ve, xe, '\uE011', '\\@nleqq');
+ G(U, ve, xe, '\u2A87', '\\lneq', !0);
+ G(U, ve, xe, '\u2268', '\\lneqq', !0);
+ G(U, ve, xe, '\uE00C', '\\@lvertneqq');
+ G(U, ve, xe, '\u22E6', '\\lnsim', !0);
+ G(U, ve, xe, '\u2A89', '\\lnapprox', !0);
+ G(U, ve, xe, '\u2280', '\\nprec', !0);
+ G(U, ve, xe, '\u22E0', '\\npreceq', !0);
+ G(U, ve, xe, '\u22E8', '\\precnsim', !0);
+ G(U, ve, xe, '\u2AB9', '\\precnapprox', !0);
+ G(U, ve, xe, '\u2241', '\\nsim', !0);
+ G(U, ve, xe, '\uE006', '\\@nshortmid');
+ G(U, ve, xe, '\u2224', '\\nmid', !0);
+ G(U, ve, xe, '\u22AC', '\\nvdash', !0);
+ G(U, ve, xe, '\u22AD', '\\nvDash', !0);
+ G(U, ve, xe, '\u22EA', '\\ntriangleleft');
+ G(U, ve, xe, '\u22EC', '\\ntrianglelefteq', !0);
+ G(U, ve, xe, '\u228A', '\\subsetneq', !0);
+ G(U, ve, xe, '\uE01A', '\\@varsubsetneq');
+ G(U, ve, xe, '\u2ACB', '\\subsetneqq', !0);
+ G(U, ve, xe, '\uE017', '\\@varsubsetneqq');
+ G(U, ve, xe, '\u226F', '\\ngtr', !0);
+ G(U, ve, xe, '\uE00F', '\\@ngeqslant');
+ G(U, ve, xe, '\uE00E', '\\@ngeqq');
+ G(U, ve, xe, '\u2A88', '\\gneq', !0);
+ G(U, ve, xe, '\u2269', '\\gneqq', !0);
+ G(U, ve, xe, '\uE00D', '\\@gvertneqq');
+ G(U, ve, xe, '\u22E7', '\\gnsim', !0);
+ G(U, ve, xe, '\u2A8A', '\\gnapprox', !0);
+ G(U, ve, xe, '\u2281', '\\nsucc', !0);
+ G(U, ve, xe, '\u22E1', '\\nsucceq', !0);
+ G(U, ve, xe, '\u22E9', '\\succnsim', !0);
+ G(U, ve, xe, '\u2ABA', '\\succnapprox', !0);
+ G(U, ve, xe, '\u2246', '\\ncong', !0);
+ G(U, ve, xe, '\uE007', '\\@nshortparallel');
+ G(U, ve, xe, '\u2226', '\\nparallel', !0);
+ G(U, ve, xe, '\u22AF', '\\nVDash', !0);
+ G(U, ve, xe, '\u22EB', '\\ntriangleright');
+ G(U, ve, xe, '\u22ED', '\\ntrianglerighteq', !0);
+ G(U, ve, xe, '\uE018', '\\@nsupseteqq');
+ G(U, ve, xe, '\u228B', '\\supsetneq', !0);
+ G(U, ve, xe, '\uE01B', '\\@varsupsetneq');
+ G(U, ve, xe, '\u2ACC', '\\supsetneqq', !0);
+ G(U, ve, xe, '\uE019', '\\@varsupsetneqq');
+ G(U, ve, xe, '\u22AE', '\\nVdash', !0);
+ G(U, ve, xe, '\u2AB5', '\\precneqq', !0);
+ G(U, ve, xe, '\u2AB6', '\\succneqq', !0);
+ G(U, ve, xe, '\uE016', '\\@nsubseteqq');
+ G(U, ve, bt, '\u22B4', '\\unlhd');
+ G(U, ve, bt, '\u22B5', '\\unrhd');
+ G(U, ve, xe, '\u219A', '\\nleftarrow', !0);
+ G(U, ve, xe, '\u219B', '\\nrightarrow', !0);
+ G(U, ve, xe, '\u21CD', '\\nLeftarrow', !0);
+ G(U, ve, xe, '\u21CF', '\\nRightarrow', !0);
+ G(U, ve, xe, '\u21AE', '\\nleftrightarrow', !0);
+ G(U, ve, xe, '\u21CE', '\\nLeftrightarrow', !0);
+ G(U, ve, xe, '\u25B3', '\\vartriangle');
+ G(U, ve, Le, '\u210F', '\\hslash');
+ G(U, ve, Le, '\u25BD', '\\triangledown');
+ G(U, ve, Le, '\u25CA', '\\lozenge');
+ G(U, ve, Le, '\u24C8', '\\circledS');
+ G(U, ve, Le, '\xAE', '\\circledR');
+ G(Qe, ve, Le, '\xAE', '\\circledR');
+ G(U, ve, Le, '\u2221', '\\measuredangle', !0);
+ G(U, ve, Le, '\u2204', '\\nexists');
+ G(U, ve, Le, '\u2127', '\\mho');
+ G(U, ve, Le, '\u2132', '\\Finv', !0);
+ G(U, ve, Le, '\u2141', '\\Game', !0);
+ G(U, ve, Le, '\u2035', '\\backprime');
+ G(U, ve, Le, '\u25B2', '\\blacktriangle');
+ G(U, ve, Le, '\u25BC', '\\blacktriangledown');
+ G(U, ve, Le, '\u25A0', '\\blacksquare');
+ G(U, ve, Le, '\u29EB', '\\blacklozenge');
+ G(U, ve, Le, '\u2605', '\\bigstar');
+ G(U, ve, Le, '\u2222', '\\sphericalangle', !0);
+ G(U, ve, Le, '\u2201', '\\complement', !0);
+ G(U, ve, Le, '\xF0', '\\eth', !0);
+ G(Qe, ee, Le, '\xF0', '\xF0');
+ G(U, ve, Le, '\u2571', '\\diagup');
+ G(U, ve, Le, '\u2572', '\\diagdown');
+ G(U, ve, Le, '\u25A1', '\\square');
+ G(U, ve, Le, '\u25A1', '\\Box');
+ G(U, ve, Le, '\u25CA', '\\Diamond');
+ G(U, ve, Le, '\xA5', '\\yen', !0);
+ G(Qe, ve, Le, '\xA5', '\\yen', !0);
+ G(U, ve, Le, '\u2713', '\\checkmark', !0);
+ G(Qe, ve, Le, '\u2713', '\\checkmark');
+ G(U, ve, Le, '\u2136', '\\beth', !0);
+ G(U, ve, Le, '\u2138', '\\daleth', !0);
+ G(U, ve, Le, '\u2137', '\\gimel', !0);
+ G(U, ve, Le, '\u03DD', '\\digamma', !0);
+ G(U, ve, Le, '\u03F0', '\\varkappa');
+ G(U, ve, js, '\u250C', '\\@ulcorner', !0);
+ G(U, ve, Xa, '\u2510', '\\@urcorner', !0);
+ G(U, ve, js, '\u2514', '\\@llcorner', !0);
+ G(U, ve, Xa, '\u2518', '\\@lrcorner', !0);
+ G(U, ve, xe, '\u2266', '\\leqq', !0);
+ G(U, ve, xe, '\u2A7D', '\\leqslant', !0);
+ G(U, ve, xe, '\u2A95', '\\eqslantless', !0);
+ G(U, ve, xe, '\u2272', '\\lesssim', !0);
+ G(U, ve, xe, '\u2A85', '\\lessapprox', !0);
+ G(U, ve, xe, '\u224A', '\\approxeq', !0);
+ G(U, ve, bt, '\u22D6', '\\lessdot');
+ G(U, ve, xe, '\u22D8', '\\lll', !0);
+ G(U, ve, xe, '\u2276', '\\lessgtr', !0);
+ G(U, ve, xe, '\u22DA', '\\lesseqgtr', !0);
+ G(U, ve, xe, '\u2A8B', '\\lesseqqgtr', !0);
+ G(U, ve, xe, '\u2251', '\\doteqdot');
+ G(U, ve, xe, '\u2253', '\\risingdotseq', !0);
+ G(U, ve, xe, '\u2252', '\\fallingdotseq', !0);
+ G(U, ve, xe, '\u223D', '\\backsim', !0);
+ G(U, ve, xe, '\u22CD', '\\backsimeq', !0);
+ G(U, ve, xe, '\u2AC5', '\\subseteqq', !0);
+ G(U, ve, xe, '\u22D0', '\\Subset', !0);
+ G(U, ve, xe, '\u228F', '\\sqsubset', !0);
+ G(U, ve, xe, '\u227C', '\\preccurlyeq', !0);
+ G(U, ve, xe, '\u22DE', '\\curlyeqprec', !0);
+ G(U, ve, xe, '\u227E', '\\precsim', !0);
+ G(U, ve, xe, '\u2AB7', '\\precapprox', !0);
+ G(U, ve, xe, '\u22B2', '\\vartriangleleft');
+ G(U, ve, xe, '\u22B4', '\\trianglelefteq');
+ G(U, ve, xe, '\u22A8', '\\vDash', !0);
+ G(U, ve, xe, '\u22AA', '\\Vvdash', !0);
+ G(U, ve, xe, '\u2323', '\\smallsmile');
+ G(U, ve, xe, '\u2322', '\\smallfrown');
+ G(U, ve, xe, '\u224F', '\\bumpeq', !0);
+ G(U, ve, xe, '\u224E', '\\Bumpeq', !0);
+ G(U, ve, xe, '\u2267', '\\geqq', !0);
+ G(U, ve, xe, '\u2A7E', '\\geqslant', !0);
+ G(U, ve, xe, '\u2A96', '\\eqslantgtr', !0);
+ G(U, ve, xe, '\u2273', '\\gtrsim', !0);
+ G(U, ve, xe, '\u2A86', '\\gtrapprox', !0);
+ G(U, ve, bt, '\u22D7', '\\gtrdot');
+ G(U, ve, xe, '\u22D9', '\\ggg', !0);
+ G(U, ve, xe, '\u2277', '\\gtrless', !0);
+ G(U, ve, xe, '\u22DB', '\\gtreqless', !0);
+ G(U, ve, xe, '\u2A8C', '\\gtreqqless', !0);
+ G(U, ve, xe, '\u2256', '\\eqcirc', !0);
+ G(U, ve, xe, '\u2257', '\\circeq', !0);
+ G(U, ve, xe, '\u225C', '\\triangleq', !0);
+ G(U, ve, xe, '\u223C', '\\thicksim');
+ G(U, ve, xe, '\u2248', '\\thickapprox');
+ G(U, ve, xe, '\u2AC6', '\\supseteqq', !0);
+ G(U, ve, xe, '\u22D1', '\\Supset', !0);
+ G(U, ve, xe, '\u2290', '\\sqsupset', !0);
+ G(U, ve, xe, '\u227D', '\\succcurlyeq', !0);
+ G(U, ve, xe, '\u22DF', '\\curlyeqsucc', !0);
+ G(U, ve, xe, '\u227F', '\\succsim', !0);
+ G(U, ve, xe, '\u2AB8', '\\succapprox', !0);
+ G(U, ve, xe, '\u22B3', '\\vartriangleright');
+ G(U, ve, xe, '\u22B5', '\\trianglerighteq');
+ G(U, ve, xe, '\u22A9', '\\Vdash', !0);
+ G(U, ve, xe, '\u2223', '\\shortmid');
+ G(U, ve, xe, '\u2225', '\\shortparallel');
+ G(U, ve, xe, '\u226C', '\\between', !0);
+ G(U, ve, xe, '\u22D4', '\\pitchfork', !0);
+ G(U, ve, xe, '\u221D', '\\varpropto');
+ G(U, ve, xe, '\u25C0', '\\blacktriangleleft');
+ G(U, ve, xe, '\u2234', '\\therefore', !0);
+ G(U, ve, xe, '\u220D', '\\backepsilon');
+ G(U, ve, xe, '\u25B6', '\\blacktriangleright');
+ G(U, ve, xe, '\u2235', '\\because', !0);
+ G(U, ve, xe, '\u22D8', '\\llless');
+ G(U, ve, xe, '\u22D9', '\\gggtr');
+ G(U, ve, bt, '\u22B2', '\\lhd');
+ G(U, ve, bt, '\u22B3', '\\rhd');
+ G(U, ve, xe, '\u2242', '\\eqsim', !0);
+ G(U, ee, xe, '\u22C8', '\\Join');
+ G(U, ve, xe, '\u2251', '\\Doteq', !0);
+ G(U, ve, bt, '\u2214', '\\dotplus', !0);
+ G(U, ve, bt, '\u2216', '\\smallsetminus');
+ G(U, ve, bt, '\u22D2', '\\Cap', !0);
+ G(U, ve, bt, '\u22D3', '\\Cup', !0);
+ G(U, ve, bt, '\u2A5E', '\\doublebarwedge', !0);
+ G(U, ve, bt, '\u229F', '\\boxminus', !0);
+ G(U, ve, bt, '\u229E', '\\boxplus', !0);
+ G(U, ve, bt, '\u22C7', '\\divideontimes', !0);
+ G(U, ve, bt, '\u22C9', '\\ltimes', !0);
+ G(U, ve, bt, '\u22CA', '\\rtimes', !0);
+ G(U, ve, bt, '\u22CB', '\\leftthreetimes', !0);
+ G(U, ve, bt, '\u22CC', '\\rightthreetimes', !0);
+ G(U, ve, bt, '\u22CF', '\\curlywedge', !0);
+ G(U, ve, bt, '\u22CE', '\\curlyvee', !0);
+ G(U, ve, bt, '\u229D', '\\circleddash', !0);
+ G(U, ve, bt, '\u229B', '\\circledast', !0);
+ G(U, ve, bt, '\u22C5', '\\centerdot');
+ G(U, ve, bt, '\u22BA', '\\intercal', !0);
+ G(U, ve, bt, '\u22D2', '\\doublecap');
+ G(U, ve, bt, '\u22D3', '\\doublecup');
+ G(U, ve, bt, '\u22A0', '\\boxtimes', !0);
+ G(U, ve, xe, '\u21E2', '\\dashrightarrow', !0);
+ G(U, ve, xe, '\u21E0', '\\dashleftarrow', !0);
+ G(U, ve, xe, '\u21C7', '\\leftleftarrows', !0);
+ G(U, ve, xe, '\u21C6', '\\leftrightarrows', !0);
+ G(U, ve, xe, '\u21DA', '\\Lleftarrow', !0);
+ G(U, ve, xe, '\u219E', '\\twoheadleftarrow', !0);
+ G(U, ve, xe, '\u21A2', '\\leftarrowtail', !0);
+ G(U, ve, xe, '\u21AB', '\\looparrowleft', !0);
+ G(U, ve, xe, '\u21CB', '\\leftrightharpoons', !0);
+ G(U, ve, xe, '\u21B6', '\\curvearrowleft', !0);
+ G(U, ve, xe, '\u21BA', '\\circlearrowleft', !0);
+ G(U, ve, xe, '\u21B0', '\\Lsh', !0);
+ G(U, ve, xe, '\u21C8', '\\upuparrows', !0);
+ G(U, ve, xe, '\u21BF', '\\upharpoonleft', !0);
+ G(U, ve, xe, '\u21C3', '\\downharpoonleft', !0);
+ G(U, ee, xe, '\u22B6', '\\origof', !0);
+ G(U, ee, xe, '\u22B7', '\\imageof', !0);
+ G(U, ve, xe, '\u22B8', '\\multimap', !0);
+ G(U, ve, xe, '\u21AD', '\\leftrightsquigarrow', !0);
+ G(U, ve, xe, '\u21C9', '\\rightrightarrows', !0);
+ G(U, ve, xe, '\u21C4', '\\rightleftarrows', !0);
+ G(U, ve, xe, '\u21A0', '\\twoheadrightarrow', !0);
+ G(U, ve, xe, '\u21A3', '\\rightarrowtail', !0);
+ G(U, ve, xe, '\u21AC', '\\looparrowright', !0);
+ G(U, ve, xe, '\u21B7', '\\curvearrowright', !0);
+ G(U, ve, xe, '\u21BB', '\\circlearrowright', !0);
+ G(U, ve, xe, '\u21B1', '\\Rsh', !0);
+ G(U, ve, xe, '\u21CA', '\\downdownarrows', !0);
+ G(U, ve, xe, '\u21BE', '\\upharpoonright', !0);
+ G(U, ve, xe, '\u21C2', '\\downharpoonright', !0);
+ G(U, ve, xe, '\u21DD', '\\rightsquigarrow', !0);
+ G(U, ve, xe, '\u21DD', '\\leadsto');
+ G(U, ve, xe, '\u21DB', '\\Rrightarrow', !0);
+ G(U, ve, xe, '\u21BE', '\\restriction');
+ G(U, ee, Le, '\u2018', '`');
+ G(U, ee, Le, '$', '\\$');
+ G(Qe, ee, Le, '$', '\\$');
+ G(Qe, ee, Le, '$', '\\textdollar');
+ G(U, ee, Le, '%', '\\%');
+ G(Qe, ee, Le, '%', '\\%');
+ G(U, ee, Le, '_', '\\_');
+ G(Qe, ee, Le, '_', '\\_');
+ G(Qe, ee, Le, '_', '\\textunderscore');
+ G(U, ee, Le, '\u2220', '\\angle', !0);
+ G(U, ee, Le, '\u221E', '\\infty', !0);
+ G(U, ee, Le, '\u2032', '\\prime');
+ G(U, ee, Le, '\u25B3', '\\triangle');
+ G(U, ee, Le, '\u0393', '\\Gamma', !0);
+ G(U, ee, Le, '\u0394', '\\Delta', !0);
+ G(U, ee, Le, '\u0398', '\\Theta', !0);
+ G(U, ee, Le, '\u039B', '\\Lambda', !0);
+ G(U, ee, Le, '\u039E', '\\Xi', !0);
+ G(U, ee, Le, '\u03A0', '\\Pi', !0);
+ G(U, ee, Le, '\u03A3', '\\Sigma', !0);
+ G(U, ee, Le, '\u03A5', '\\Upsilon', !0);
+ G(U, ee, Le, '\u03A6', '\\Phi', !0);
+ G(U, ee, Le, '\u03A8', '\\Psi', !0);
+ G(U, ee, Le, '\u03A9', '\\Omega', !0);
+ G(U, ee, Le, 'A', '\u0391');
+ G(U, ee, Le, 'B', '\u0392');
+ G(U, ee, Le, 'E', '\u0395');
+ G(U, ee, Le, 'Z', '\u0396');
+ G(U, ee, Le, 'H', '\u0397');
+ G(U, ee, Le, 'I', '\u0399');
+ G(U, ee, Le, 'K', '\u039A');
+ G(U, ee, Le, 'M', '\u039C');
+ G(U, ee, Le, 'N', '\u039D');
+ G(U, ee, Le, 'O', '\u039F');
+ G(U, ee, Le, 'P', '\u03A1');
+ G(U, ee, Le, 'T', '\u03A4');
+ G(U, ee, Le, 'X', '\u03A7');
+ G(U, ee, Le, '\xAC', '\\neg', !0);
+ G(U, ee, Le, '\xAC', '\\lnot');
+ G(U, ee, Le, '\u22A4', '\\top');
+ G(U, ee, Le, '\u22A5', '\\bot');
+ G(U, ee, Le, '\u2205', '\\emptyset');
+ G(U, ve, Le, '\u2205', '\\varnothing');
+ G(U, ee, Ut, '\u03B1', '\\alpha', !0);
+ G(U, ee, Ut, '\u03B2', '\\beta', !0);
+ G(U, ee, Ut, '\u03B3', '\\gamma', !0);
+ G(U, ee, Ut, '\u03B4', '\\delta', !0);
+ G(U, ee, Ut, '\u03F5', '\\epsilon', !0);
+ G(U, ee, Ut, '\u03B6', '\\zeta', !0);
+ G(U, ee, Ut, '\u03B7', '\\eta', !0);
+ G(U, ee, Ut, '\u03B8', '\\theta', !0);
+ G(U, ee, Ut, '\u03B9', '\\iota', !0);
+ G(U, ee, Ut, '\u03BA', '\\kappa', !0);
+ G(U, ee, Ut, '\u03BB', '\\lambda', !0);
+ G(U, ee, Ut, '\u03BC', '\\mu', !0);
+ G(U, ee, Ut, '\u03BD', '\\nu', !0);
+ G(U, ee, Ut, '\u03BE', '\\xi', !0);
+ G(U, ee, Ut, '\u03BF', '\\omicron', !0);
+ G(U, ee, Ut, '\u03C0', '\\pi', !0);
+ G(U, ee, Ut, '\u03C1', '\\rho', !0);
+ G(U, ee, Ut, '\u03C3', '\\sigma', !0);
+ G(U, ee, Ut, '\u03C4', '\\tau', !0);
+ G(U, ee, Ut, '\u03C5', '\\upsilon', !0);
+ G(U, ee, Ut, '\u03D5', '\\phi', !0);
+ G(U, ee, Ut, '\u03C7', '\\chi', !0);
+ G(U, ee, Ut, '\u03C8', '\\psi', !0);
+ G(U, ee, Ut, '\u03C9', '\\omega', !0);
+ G(U, ee, Ut, '\u03B5', '\\varepsilon', !0);
+ G(U, ee, Ut, '\u03D1', '\\vartheta', !0);
+ G(U, ee, Ut, '\u03D6', '\\varpi', !0);
+ G(U, ee, Ut, '\u03F1', '\\varrho', !0);
+ G(U, ee, Ut, '\u03C2', '\\varsigma', !0);
+ G(U, ee, Ut, '\u03C6', '\\varphi', !0);
+ G(U, ee, bt, '\u2217', '*', !0);
+ G(U, ee, bt, '+', '+');
+ G(U, ee, bt, '\u2212', '-', !0);
+ G(U, ee, bt, '\u22C5', '\\cdot', !0);
+ G(U, ee, bt, '\u2218', '\\circ', !0);
+ G(U, ee, bt, '\xF7', '\\div', !0);
+ G(U, ee, bt, '\xB1', '\\pm', !0);
+ G(U, ee, bt, '\xD7', '\\times', !0);
+ G(U, ee, bt, '\u2229', '\\cap', !0);
+ G(U, ee, bt, '\u222A', '\\cup', !0);
+ G(U, ee, bt, '\u2216', '\\setminus', !0);
+ G(U, ee, bt, '\u2227', '\\land');
+ G(U, ee, bt, '\u2228', '\\lor');
+ G(U, ee, bt, '\u2227', '\\wedge', !0);
+ G(U, ee, bt, '\u2228', '\\vee', !0);
+ G(U, ee, Le, '\u221A', '\\surd');
+ G(U, ee, js, '\u27E8', '\\langle', !0);
+ G(U, ee, js, '\u2223', '\\lvert');
+ G(U, ee, js, '\u2225', '\\lVert');
+ G(U, ee, Xa, '?', '?');
+ G(U, ee, Xa, '!', '!');
+ G(U, ee, Xa, '\u27E9', '\\rangle', !0);
+ G(U, ee, Xa, '\u2223', '\\rvert');
+ G(U, ee, Xa, '\u2225', '\\rVert');
+ G(U, ee, xe, '=', '=');
+ G(U, ee, xe, ':', ':');
+ G(U, ee, xe, '\u2248', '\\approx', !0);
+ G(U, ee, xe, '\u2245', '\\cong', !0);
+ G(U, ee, xe, '\u2265', '\\ge');
+ G(U, ee, xe, '\u2265', '\\geq', !0);
+ G(U, ee, xe, '\u2190', '\\gets');
+ G(U, ee, xe, '>', '\\gt', !0);
+ G(U, ee, xe, '\u2208', '\\in', !0);
+ G(U, ee, xe, '\uE020', '\\@not');
+ G(U, ee, xe, '\u2282', '\\subset', !0);
+ G(U, ee, xe, '\u2283', '\\supset', !0);
+ G(U, ee, xe, '\u2286', '\\subseteq', !0);
+ G(U, ee, xe, '\u2287', '\\supseteq', !0);
+ G(U, ve, xe, '\u2288', '\\nsubseteq', !0);
+ G(U, ve, xe, '\u2289', '\\nsupseteq', !0);
+ G(U, ee, xe, '\u22A8', '\\models');
+ G(U, ee, xe, '\u2190', '\\leftarrow', !0);
+ G(U, ee, xe, '\u2264', '\\le');
+ G(U, ee, xe, '\u2264', '\\leq', !0);
+ G(U, ee, xe, '<', '\\lt', !0);
+ G(U, ee, xe, '\u2192', '\\rightarrow', !0);
+ G(U, ee, xe, '\u2192', '\\to');
+ G(U, ve, xe, '\u2271', '\\ngeq', !0);
+ G(U, ve, xe, '\u2270', '\\nleq', !0);
+ G(U, ee, lu, '\xA0', '\\ ');
+ G(U, ee, lu, '\xA0', '\\space');
+ G(U, ee, lu, '\xA0', '\\nobreakspace');
+ G(Qe, ee, lu, '\xA0', '\\ ');
+ G(Qe, ee, lu, '\xA0', ' ');
+ G(Qe, ee, lu, '\xA0', '\\space');
+ G(Qe, ee, lu, '\xA0', '\\nobreakspace');
+ G(U, ee, lu, null, '\\nobreak');
+ G(U, ee, lu, null, '\\allowbreak');
+ G(U, ee, b4, ',', ',');
+ G(U, ee, b4, ';', ';');
+ G(U, ve, bt, '\u22BC', '\\barwedge', !0);
+ G(U, ve, bt, '\u22BB', '\\veebar', !0);
+ G(U, ee, bt, '\u2299', '\\odot', !0);
+ G(U, ee, bt, '\u2295', '\\oplus', !0);
+ G(U, ee, bt, '\u2297', '\\otimes', !0);
+ G(U, ee, Le, '\u2202', '\\partial', !0);
+ G(U, ee, bt, '\u2298', '\\oslash', !0);
+ G(U, ve, bt, '\u229A', '\\circledcirc', !0);
+ G(U, ve, bt, '\u22A1', '\\boxdot', !0);
+ G(U, ee, bt, '\u25B3', '\\bigtriangleup');
+ G(U, ee, bt, '\u25BD', '\\bigtriangledown');
+ G(U, ee, bt, '\u2020', '\\dagger');
+ G(U, ee, bt, '\u22C4', '\\diamond');
+ G(U, ee, bt, '\u22C6', '\\star');
+ G(U, ee, bt, '\u25C3', '\\triangleleft');
+ G(U, ee, bt, '\u25B9', '\\triangleright');
+ G(U, ee, js, '{', '\\{');
+ G(Qe, ee, Le, '{', '\\{');
+ G(Qe, ee, Le, '{', '\\textbraceleft');
+ G(U, ee, Xa, '}', '\\}');
+ G(Qe, ee, Le, '}', '\\}');
+ G(Qe, ee, Le, '}', '\\textbraceright');
+ G(U, ee, js, '{', '\\lbrace');
+ G(U, ee, Xa, '}', '\\rbrace');
+ G(U, ee, js, '[', '\\lbrack', !0);
+ G(Qe, ee, Le, '[', '\\lbrack', !0);
+ G(U, ee, Xa, ']', '\\rbrack', !0);
+ G(Qe, ee, Le, ']', '\\rbrack', !0);
+ G(U, ee, js, '(', '\\lparen', !0);
+ G(U, ee, Xa, ')', '\\rparen', !0);
+ G(Qe, ee, Le, '<', '\\textless', !0);
+ G(Qe, ee, Le, '>', '\\textgreater', !0);
+ G(U, ee, js, '\u230A', '\\lfloor', !0);
+ G(U, ee, Xa, '\u230B', '\\rfloor', !0);
+ G(U, ee, js, '\u2308', '\\lceil', !0);
+ G(U, ee, Xa, '\u2309', '\\rceil', !0);
+ G(U, ee, Le, '\\', '\\backslash');
+ G(U, ee, Le, '\u2223', '|');
+ G(U, ee, Le, '\u2223', '\\vert');
+ G(Qe, ee, Le, '|', '\\textbar', !0);
+ G(U, ee, Le, '\u2225', '\\|');
+ G(U, ee, Le, '\u2225', '\\Vert');
+ G(Qe, ee, Le, '\u2225', '\\textbardbl');
+ G(Qe, ee, Le, '~', '\\textasciitilde');
+ G(Qe, ee, Le, '\\', '\\textbackslash');
+ G(Qe, ee, Le, '^', '\\textasciicircum');
+ G(U, ee, xe, '\u2191', '\\uparrow', !0);
+ G(U, ee, xe, '\u21D1', '\\Uparrow', !0);
+ G(U, ee, xe, '\u2193', '\\downarrow', !0);
+ G(U, ee, xe, '\u21D3', '\\Downarrow', !0);
+ G(U, ee, xe, '\u2195', '\\updownarrow', !0);
+ G(U, ee, xe, '\u21D5', '\\Updownarrow', !0);
+ G(U, ee, xi, '\u2210', '\\coprod');
+ G(U, ee, xi, '\u22C1', '\\bigvee');
+ G(U, ee, xi, '\u22C0', '\\bigwedge');
+ G(U, ee, xi, '\u2A04', '\\biguplus');
+ G(U, ee, xi, '\u22C2', '\\bigcap');
+ G(U, ee, xi, '\u22C3', '\\bigcup');
+ G(U, ee, xi, '\u222B', '\\int');
+ G(U, ee, xi, '\u222B', '\\intop');
+ G(U, ee, xi, '\u222C', '\\iint');
+ G(U, ee, xi, '\u222D', '\\iiint');
+ G(U, ee, xi, '\u220F', '\\prod');
+ G(U, ee, xi, '\u2211', '\\sum');
+ G(U, ee, xi, '\u2A02', '\\bigotimes');
+ G(U, ee, xi, '\u2A01', '\\bigoplus');
+ G(U, ee, xi, '\u2A00', '\\bigodot');
+ G(U, ee, xi, '\u222E', '\\oint');
+ G(U, ee, xi, '\u222F', '\\oiint');
+ G(U, ee, xi, '\u2230', '\\oiiint');
+ G(U, ee, xi, '\u2A06', '\\bigsqcup');
+ G(U, ee, xi, '\u222B', '\\smallint');
+ G(Qe, ee, vp, '\u2026', '\\textellipsis');
+ G(U, ee, vp, '\u2026', '\\mathellipsis');
+ G(Qe, ee, vp, '\u2026', '\\ldots', !0);
+ G(U, ee, vp, '\u2026', '\\ldots', !0);
+ G(U, ee, vp, '\u22EF', '\\@cdots', !0);
+ G(U, ee, vp, '\u22F1', '\\ddots', !0);
+ G(U, ee, Le, '\u22EE', '\\varvdots');
+ G(U, ee, Pn, '\u02CA', '\\acute');
+ G(U, ee, Pn, '\u02CB', '\\grave');
+ G(U, ee, Pn, '\xA8', '\\ddot');
+ G(U, ee, Pn, '~', '\\tilde');
+ G(U, ee, Pn, '\u02C9', '\\bar');
+ G(U, ee, Pn, '\u02D8', '\\breve');
+ G(U, ee, Pn, '\u02C7', '\\check');
+ G(U, ee, Pn, '^', '\\hat');
+ G(U, ee, Pn, '\u20D7', '\\vec');
+ G(U, ee, Pn, '\u02D9', '\\dot');
+ G(U, ee, Pn, '\u02DA', '\\mathring');
+ G(U, ee, Ut, '\uE131', '\\@imath');
+ G(U, ee, Ut, '\uE237', '\\@jmath');
+ G(U, ee, Le, '\u0131', '\u0131');
+ G(U, ee, Le, '\u0237', '\u0237');
+ G(Qe, ee, Le, '\u0131', '\\i', !0);
+ G(Qe, ee, Le, '\u0237', '\\j', !0);
+ G(Qe, ee, Le, '\xDF', '\\ss', !0);
+ G(Qe, ee, Le, '\xE6', '\\ae', !0);
+ G(Qe, ee, Le, '\u0153', '\\oe', !0);
+ G(Qe, ee, Le, '\xF8', '\\o', !0);
+ G(Qe, ee, Le, '\xC6', '\\AE', !0);
+ G(Qe, ee, Le, '\u0152', '\\OE', !0);
+ G(Qe, ee, Le, '\xD8', '\\O', !0);
+ G(Qe, ee, Pn, '\u02CA', "\\'");
+ G(Qe, ee, Pn, '\u02CB', '\\`');
+ G(Qe, ee, Pn, '\u02C6', '\\^');
+ G(Qe, ee, Pn, '\u02DC', '\\~');
+ G(Qe, ee, Pn, '\u02C9', '\\=');
+ G(Qe, ee, Pn, '\u02D8', '\\u');
+ G(Qe, ee, Pn, '\u02D9', '\\.');
+ G(Qe, ee, Pn, '\xB8', '\\c');
+ G(Qe, ee, Pn, '\u02DA', '\\r');
+ G(Qe, ee, Pn, '\u02C7', '\\v');
+ G(Qe, ee, Pn, '\xA8', '\\"');
+ G(Qe, ee, Pn, '\u02DD', '\\H');
+ G(Qe, ee, Pn, '\u25EF', '\\textcircled');
+ IG = { '--': !0, '---': !0, '``': !0, "''": !0 };
+ G(Qe, ee, Le, '\u2013', '--', !0);
+ G(Qe, ee, Le, '\u2013', '\\textendash');
+ G(Qe, ee, Le, '\u2014', '---', !0);
+ G(Qe, ee, Le, '\u2014', '\\textemdash');
+ G(Qe, ee, Le, '\u2018', '`', !0);
+ G(Qe, ee, Le, '\u2018', '\\textquoteleft');
+ G(Qe, ee, Le, '\u2019', "'", !0);
+ G(Qe, ee, Le, '\u2019', '\\textquoteright');
+ G(Qe, ee, Le, '\u201C', '``', !0);
+ G(Qe, ee, Le, '\u201C', '\\textquotedblleft');
+ G(Qe, ee, Le, '\u201D', "''", !0);
+ G(Qe, ee, Le, '\u201D', '\\textquotedblright');
+ G(U, ee, Le, '\xB0', '\\degree', !0);
+ G(Qe, ee, Le, '\xB0', '\\degree');
+ G(Qe, ee, Le, '\xB0', '\\textdegree', !0);
+ G(U, ee, Le, '\xA3', '\\pounds');
+ G(U, ee, Le, '\xA3', '\\mathsterling', !0);
+ G(Qe, ee, Le, '\xA3', '\\pounds');
+ G(Qe, ee, Le, '\xA3', '\\textsterling', !0);
+ G(U, ve, Le, '\u2720', '\\maltese');
+ G(Qe, ve, Le, '\u2720', '\\maltese');
+ rG = '0123456789/@."';
+ for (e4 = 0; e4 < rG.length; e4++) (c7 = rG.charAt(e4)), G(U, ee, Le, c7, c7);
+ nG = '0123456789!@*()-=+";:?/.,';
+ for (t4 = 0; t4 < nG.length; t4++) (u7 = nG.charAt(t4)), G(Qe, ee, Le, u7, u7);
+ p4 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+ for (r4 = 0; r4 < p4.length; r4++) (Z1 = p4.charAt(r4)), G(U, ee, Ut, Z1, Z1), G(Qe, ee, Le, Z1, Z1);
+ G(U, ve, Le, 'C', '\u2102');
+ G(Qe, ve, Le, 'C', '\u2102');
+ G(U, ve, Le, 'H', '\u210D');
+ G(Qe, ve, Le, 'H', '\u210D');
+ G(U, ve, Le, 'N', '\u2115');
+ G(Qe, ve, Le, 'N', '\u2115');
+ G(U, ve, Le, 'P', '\u2119');
+ G(Qe, ve, Le, 'P', '\u2119');
+ G(U, ve, Le, 'Q', '\u211A');
+ G(Qe, ve, Le, 'Q', '\u211A');
+ G(U, ve, Le, 'R', '\u211D');
+ G(Qe, ve, Le, 'R', '\u211D');
+ G(U, ve, Le, 'Z', '\u2124');
+ G(Qe, ve, Le, 'Z', '\u2124');
+ G(U, ee, Ut, 'h', '\u210E');
+ G(Qe, ee, Ut, 'h', '\u210E');
+ Xt = '';
+ for (Ra = 0; Ra < p4.length; Ra++)
+ (Vn = p4.charAt(Ra)),
+ (Xt = String.fromCharCode(55349, 56320 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56372 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56424 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56580 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56684 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56736 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56788 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56840 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56944 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ Ra < 26 &&
+ ((Xt = String.fromCharCode(55349, 56632 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56476 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt));
+ Xt = '\u{1D55C}';
+ G(U, ee, Ut, 'k', Xt);
+ G(Qe, ee, Le, 'k', Xt);
+ for (hh = 0; hh < 10; hh++)
+ (ru = hh.toString()),
+ (Xt = String.fromCharCode(55349, 57294 + hh)),
+ G(U, ee, Ut, ru, Xt),
+ G(Qe, ee, Le, ru, Xt),
+ (Xt = String.fromCharCode(55349, 57314 + hh)),
+ G(U, ee, Ut, ru, Xt),
+ G(Qe, ee, Le, ru, Xt),
+ (Xt = String.fromCharCode(55349, 57324 + hh)),
+ G(U, ee, Ut, ru, Xt),
+ G(Qe, ee, Le, ru, Xt),
+ (Xt = String.fromCharCode(55349, 57334 + hh)),
+ G(U, ee, Ut, ru, Xt),
+ G(Qe, ee, Le, ru, Xt);
+ k7 = '\xD0\xDE\xFE';
+ for (n4 = 0; n4 < k7.length; n4++) (J1 = k7.charAt(n4)), G(U, ee, Ut, J1, J1), G(Qe, ee, Le, J1, J1);
+ (i4 = [
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['mathnormal', 'textit', 'Math-Italic'],
+ ['mathnormal', 'textit', 'Math-Italic'],
+ ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'],
+ ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'],
+ ['mathscr', 'textscr', 'Script-Regular'],
+ ['', '', ''],
+ ['', '', ''],
+ ['', '', ''],
+ ['mathfrak', 'textfrak', 'Fraktur-Regular'],
+ ['mathfrak', 'textfrak', 'Fraktur-Regular'],
+ ['mathbb', 'textbb', 'AMS-Regular'],
+ ['mathbb', 'textbb', 'AMS-Regular'],
+ ['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'],
+ ['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathitsf', 'textitsf', 'SansSerif-Italic'],
+ ['mathitsf', 'textitsf', 'SansSerif-Italic'],
+ ['', '', ''],
+ ['', '', ''],
+ ['mathtt', 'texttt', 'Typewriter-Regular'],
+ ['mathtt', 'texttt', 'Typewriter-Regular']
+ ]),
+ (iG = [
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['', '', ''],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathtt', 'texttt', 'Typewriter-Regular']
+ ]),
+ (dxe = o(function (e, r) {
+ var n = e.charCodeAt(0),
+ i = e.charCodeAt(1),
+ a = (n - 55296) * 1024 + (i - 56320) + 65536,
+ s = r === 'math' ? 0 : 1;
+ if (119808 <= a && a < 120484) {
+ var l = Math.floor((a - 119808) / 26);
+ return [i4[l][2], i4[l][s]];
+ } else if (120782 <= a && a <= 120831) {
+ var u = Math.floor((a - 120782) / 10);
+ return [iG[u][2], iG[u][s]];
+ } else {
+ if (a === 120485 || a === 120486) return [i4[0][2], i4[0][s]];
+ if (120486 < a && a < 120782) return ['', ''];
+ throw new nt('Unsupported character: ' + e);
+ }
+ }, 'wideCharacterFont')),
+ (w4 = o(function (e, r, n) {
+ return wn[n][e] && wn[n][e].replace && (e = wn[n][e].replace), { value: e, metrics: M7(e, r, n) };
+ }, 'lookupSymbol')),
+ (ol = o(function (e, r, n, i, a) {
+ var s = w4(e, r, n),
+ l = s.metrics;
+ e = s.value;
+ var u;
+ if (l) {
+ var h = l.italic;
+ (n === 'text' || (i && i.font === 'mathit')) && (h = 0),
+ (u = new ms(e, l.height, l.depth, h, l.skew, l.width, a));
+ } else typeof console < 'u' && console.warn('No character metrics ' + ("for '" + e + "' in style '" + r + "' and mode '" + n + "'")), (u = new ms(e, 0, 0, 0, 0, 0, a));
+ if (i) {
+ (u.maxFontSize = i.sizeMultiplier), i.style.isTight() && u.classes.push('mtight');
+ var f = i.getColor();
+ f && (u.style.color = f);
+ }
+ return u;
+ }, 'makeSymbol')),
+ (pxe = o(function (e, r, n, i) {
+ return (
+ i === void 0 && (i = []),
+ n.font === 'boldsymbol' && w4(e, 'Main-Bold', r).metrics
+ ? ol(e, 'Main-Bold', r, n, i.concat(['mathbf']))
+ : e === '\\' || wn[r][e].font === 'main'
+ ? ol(e, 'Main-Regular', r, n, i)
+ : ol(e, 'AMS-Regular', r, n, i.concat(['amsrm']))
+ );
+ }, 'mathsym')),
+ (mxe = o(function (e, r, n, i, a) {
+ return a !== 'textord' && w4(e, 'Math-BoldItalic', r).metrics
+ ? { fontName: 'Math-BoldItalic', fontClass: 'boldsymbol' }
+ : { fontName: 'Main-Bold', fontClass: 'mathbf' };
+ }, 'boldsymbol')),
+ (gxe = o(function (e, r, n) {
+ var i = e.mode,
+ a = e.text,
+ s = ['mord'],
+ l = i === 'math' || (i === 'text' && r.font),
+ u = l ? r.font : r.fontFamily,
+ h = '',
+ f = '';
+ if ((a.charCodeAt(0) === 55349 && ([h, f] = dxe(a, i)), h.length > 0))
+ return ol(a, h, i, r, s.concat(f));
+ if (u) {
+ var d, p;
+ if (u === 'boldsymbol') {
+ var m = mxe(a, i, r, s, n);
+ (d = m.fontName), (p = [m.fontClass]);
+ } else
+ l
+ ? ((d = BG[u].fontName), (p = [u]))
+ : ((d = a4(u, r.fontWeight, r.fontShape)), (p = [u, r.fontWeight, r.fontShape]));
+ if (w4(a, d, i).metrics) return ol(a, d, i, r, s.concat(p));
+ if (IG.hasOwnProperty(a) && d.slice(0, 10) === 'Typewriter') {
+ for (var g = [], y = 0; y < a.length; y++) g.push(ol(a[y], d, i, r, s.concat(p)));
+ return PG(g);
+ }
+ }
+ if (n === 'mathord') return ol(a, 'Math-Italic', i, r, s.concat(['mathnormal']));
+ if (n === 'textord') {
+ var v = wn[i][a] && wn[i][a].font;
+ if (v === 'ams') {
+ var x = a4('amsrm', r.fontWeight, r.fontShape);
+ return ol(a, x, i, r, s.concat('amsrm', r.fontWeight, r.fontShape));
+ } else if (v === 'main' || !v) {
+ var b = a4('textrm', r.fontWeight, r.fontShape);
+ return ol(a, b, i, r, s.concat(r.fontWeight, r.fontShape));
+ } else {
+ var w = a4(v, r.fontWeight, r.fontShape);
+ return ol(a, w, i, r, s.concat(w, r.fontWeight, r.fontShape));
+ }
+ } else throw new Error('unexpected type: ' + n + ' in makeOrd');
+ }, 'makeOrd')),
+ (yxe = o((t, e) => {
+ if (dh(t.classes) !== dh(e.classes) || t.skew !== e.skew || t.maxFontSize !== e.maxFontSize)
+ return !1;
+ if (t.classes.length === 1) {
+ var r = t.classes[0];
+ if (r === 'mbin' || r === 'mord') return !1;
+ }
+ for (var n in t.style) if (t.style.hasOwnProperty(n) && t.style[n] !== e.style[n]) return !1;
+ for (var i in e.style) if (e.style.hasOwnProperty(i) && t.style[i] !== e.style[i]) return !1;
+ return !0;
+ }, 'canCombine')),
+ (vxe = o((t) => {
+ for (var e = 0; e < t.length - 1; e++) {
+ var r = t[e],
+ n = t[e + 1];
+ r instanceof ms &&
+ n instanceof ms &&
+ yxe(r, n) &&
+ ((r.text += n.text),
+ (r.height = Math.max(r.height, n.height)),
+ (r.depth = Math.max(r.depth, n.depth)),
+ (r.italic = n.italic),
+ t.splice(e + 1, 1),
+ e--);
+ }
+ return t;
+ }, 'tryCombineChars')),
+ (I7 = o(function (e) {
+ for (var r = 0, n = 0, i = 0, a = 0; a < e.children.length; a++) {
+ var s = e.children[a];
+ s.height > r && (r = s.height),
+ s.depth > n && (n = s.depth),
+ s.maxFontSize > i && (i = s.maxFontSize);
+ }
+ (e.height = r), (e.depth = n), (e.maxFontSize = i);
+ }, 'sizeElementFromChildren')),
+ (ds = o(function (e, r, n, i) {
+ var a = new jf(e, r, n, i);
+ return I7(a), a;
+ }, 'makeSpan')),
+ (OG = o((t, e, r, n) => new jf(t, e, r, n), 'makeSvgSpan')),
+ (xxe = o(function (e, r, n) {
+ var i = ds([e], [], r);
+ return (
+ (i.height = Math.max(n || r.fontMetrics().defaultRuleThickness, r.minRuleThickness)),
+ (i.style.borderBottomWidth = ct(i.height)),
+ (i.maxFontSize = 1),
+ i
+ );
+ }, 'makeLineSpan')),
+ (bxe = o(function (e, r, n, i) {
+ var a = new iy(e, r, n, i);
+ return I7(a), a;
+ }, 'makeAnchor')),
+ (PG = o(function (e) {
+ var r = new Xf(e);
+ return I7(r), r;
+ }, 'makeFragment')),
+ (wxe = o(function (e, r) {
+ return e instanceof Xf ? ds([], [e], r) : e;
+ }, 'wrapFragment')),
+ (Txe = o(function (e) {
+ if (e.positionType === 'individualShift') {
+ for (
+ var r = e.children, n = [r[0]], i = -r[0].shift - r[0].elem.depth, a = i, s = 1;
+ s < r.length;
+ s++
+ ) {
+ var l = -r[s].shift - a - r[s].elem.depth,
+ u = l - (r[s - 1].elem.height + r[s - 1].elem.depth);
+ (a = a + l), n.push({ type: 'kern', size: u }), n.push(r[s]);
+ }
+ return { children: n, depth: i };
+ }
+ var h;
+ if (e.positionType === 'top') {
+ for (var f = e.positionData, d = 0; d < e.children.length; d++) {
+ var p = e.children[d];
+ f -= p.type === 'kern' ? p.size : p.elem.height + p.elem.depth;
+ }
+ h = f;
+ } else if (e.positionType === 'bottom') h = -e.positionData;
+ else {
+ var m = e.children[0];
+ if (m.type !== 'elem') throw new Error('First child must have type "elem".');
+ if (e.positionType === 'shift') h = -m.elem.depth - e.positionData;
+ else if (e.positionType === 'firstBaseline') h = -m.elem.depth;
+ else throw new Error('Invalid positionType ' + e.positionType + '.');
+ }
+ return { children: e.children, depth: h };
+ }, 'getVListChildrenAndDepth')),
+ (kxe = o(function (e, r) {
+ for (var { children: n, depth: i } = Txe(e), a = 0, s = 0; s < n.length; s++) {
+ var l = n[s];
+ if (l.type === 'elem') {
+ var u = l.elem;
+ a = Math.max(a, u.maxFontSize, u.height);
+ }
+ }
+ a += 2;
+ var h = ds(['pstrut'], []);
+ h.style.height = ct(a);
+ for (var f = [], d = i, p = i, m = i, g = 0; g < n.length; g++) {
+ var y = n[g];
+ if (y.type === 'kern') m += y.size;
+ else {
+ var v = y.elem,
+ x = y.wrapperClasses || [],
+ b = y.wrapperStyle || {},
+ w = ds(x, [h, v], void 0, b);
+ (w.style.top = ct(-a - m - v.depth)),
+ y.marginLeft && (w.style.marginLeft = y.marginLeft),
+ y.marginRight && (w.style.marginRight = y.marginRight),
+ f.push(w),
+ (m += v.height + v.depth);
+ }
+ (d = Math.min(d, m)), (p = Math.max(p, m));
+ }
+ var S = ds(['vlist'], f);
+ S.style.height = ct(p);
+ var T;
+ if (d < 0) {
+ var E = ds([], []),
+ _ = ds(['vlist'], [E]);
+ _.style.height = ct(-d);
+ var A = ds(['vlist-s'], [new ms('\u200B')]);
+ T = [ds(['vlist-r'], [S, A]), ds(['vlist-r'], [_])];
+ } else T = [ds(['vlist-r'], [S])];
+ var L = ds(['vlist-t'], T);
+ return T.length === 2 && L.classes.push('vlist-t2'), (L.height = p), (L.depth = -d), L;
+ }, 'makeVList')),
+ (Exe = o((t, e) => {
+ var r = ds(['mspace'], [], e),
+ n = Hn(t, e);
+ return (r.style.marginRight = ct(n)), r;
+ }, 'makeGlue')),
+ (a4 = o(function (e, r, n) {
+ var i = '';
+ switch (e) {
+ case 'amsrm':
+ i = 'AMS';
+ break;
+ case 'textrm':
+ i = 'Main';
+ break;
+ case 'textsf':
+ i = 'SansSerif';
+ break;
+ case 'texttt':
+ i = 'Typewriter';
+ break;
+ default:
+ i = e;
+ }
+ var a;
+ return (
+ r === 'textbf' && n === 'textit'
+ ? (a = 'BoldItalic')
+ : r === 'textbf'
+ ? (a = 'Bold')
+ : r === 'textit'
+ ? (a = 'Italic')
+ : (a = 'Regular'),
+ i + '-' + a
+ );
+ }, 'retrieveTextFontName')),
+ (BG = {
+ mathbf: { variant: 'bold', fontName: 'Main-Bold' },
+ mathrm: { variant: 'normal', fontName: 'Main-Regular' },
+ textit: { variant: 'italic', fontName: 'Main-Italic' },
+ mathit: { variant: 'italic', fontName: 'Main-Italic' },
+ mathnormal: { variant: 'italic', fontName: 'Math-Italic' },
+ mathbb: { variant: 'double-struck', fontName: 'AMS-Regular' },
+ mathcal: { variant: 'script', fontName: 'Caligraphic-Regular' },
+ mathfrak: { variant: 'fraktur', fontName: 'Fraktur-Regular' },
+ mathscr: { variant: 'script', fontName: 'Script-Regular' },
+ mathsf: { variant: 'sans-serif', fontName: 'SansSerif-Regular' },
+ mathtt: { variant: 'monospace', fontName: 'Typewriter-Regular' }
+ }),
+ (FG = {
+ vec: ['vec', 0.471, 0.714],
+ oiintSize1: ['oiintSize1', 0.957, 0.499],
+ oiintSize2: ['oiintSize2', 1.472, 0.659],
+ oiiintSize1: ['oiiintSize1', 1.304, 0.499],
+ oiiintSize2: ['oiiintSize2', 1.98, 0.659]
+ }),
+ (Cxe = o(function (e, r) {
+ var [n, i, a] = FG[e],
+ s = new Jl(n),
+ l = new ll([s], {
+ width: ct(i),
+ height: ct(a),
+ style: 'width:' + ct(i),
+ viewBox: '0 0 ' + 1e3 * i + ' ' + 1e3 * a,
+ preserveAspectRatio: 'xMinYMin'
+ }),
+ u = OG(['overlay'], [l], r);
+ return (u.height = a), (u.style.height = ct(a)), (u.style.width = ct(i)), u;
+ }, 'staticSvg')),
+ (Be = {
+ fontMap: BG,
+ makeSymbol: ol,
+ mathsym: pxe,
+ makeSpan: ds,
+ makeSvgSpan: OG,
+ makeLineSpan: xxe,
+ makeAnchor: bxe,
+ makeFragment: PG,
+ wrapFragment: wxe,
+ makeVList: kxe,
+ makeOrd: gxe,
+ makeGlue: Exe,
+ staticSvg: Cxe,
+ svgData: FG,
+ tryCombineChars: vxe
+ }),
+ (Un = { number: 3, unit: 'mu' }),
+ (Wf = { number: 4, unit: 'mu' }),
+ (nu = { number: 5, unit: 'mu' }),
+ (Sxe = {
+ mord: { mop: Un, mbin: Wf, mrel: nu, minner: Un },
+ mop: { mord: Un, mop: Un, mrel: nu, minner: Un },
+ mbin: { mord: Wf, mop: Wf, mopen: Wf, minner: Wf },
+ mrel: { mord: nu, mop: nu, mopen: nu, minner: nu },
+ mopen: {},
+ mclose: { mop: Un, mbin: Wf, mrel: nu, minner: Un },
+ mpunct: {
+ mord: Un,
+ mop: Un,
+ mrel: nu,
+ mopen: Un,
+ mclose: Un,
+ mpunct: Un,
+ minner: Un
+ },
+ minner: {
+ mord: Un,
+ mop: Un,
+ mbin: Wf,
+ mrel: nu,
+ mopen: Un,
+ mpunct: Un,
+ minner: Un
+ }
+ }),
+ (Axe = {
+ mord: { mop: Un },
+ mop: { mord: Un, mop: Un },
+ mbin: {},
+ mrel: {},
+ mopen: {},
+ mclose: { mop: Un },
+ mpunct: {},
+ minner: { mop: Un }
+ }),
+ (zG = {}),
+ (m4 = {}),
+ (g4 = {});
+ o(vt, 'defineFunction');
+ o(Kf, 'defineFunctionBuilders');
+ (y4 = o(function (e) {
+ return e.type === 'ordgroup' && e.body.length === 1 ? e.body[0] : e;
+ }, 'normalizeArgument')),
+ (ui = o(function (e) {
+ return e.type === 'ordgroup' ? e.body : [e];
+ }, 'ordargument')),
+ (su = Be.makeSpan),
+ (_xe = ['leftmost', 'mbin', 'mopen', 'mrel', 'mop', 'mpunct']),
+ (Lxe = ['rightmost', 'mrel', 'mclose', 'mpunct']),
+ (Dxe = {
+ display: Ht.DISPLAY,
+ text: Ht.TEXT,
+ script: Ht.SCRIPT,
+ scriptscript: Ht.SCRIPTSCRIPT
+ }),
+ (Rxe = {
+ mord: 'mord',
+ mop: 'mop',
+ mbin: 'mbin',
+ mrel: 'mrel',
+ mopen: 'mopen',
+ mclose: 'mclose',
+ mpunct: 'mpunct',
+ minner: 'minner'
+ }),
+ (Ri = o(function (e, r, n, i) {
+ i === void 0 && (i = [null, null]);
+ for (var a = [], s = 0; s < e.length; s++) {
+ var l = Cr(e[s], r);
+ if (l instanceof Xf) {
+ var u = l.children;
+ a.push(...u);
+ } else a.push(l);
+ }
+ if ((Be.tryCombineChars(a), !n)) return a;
+ var h = r;
+ if (e.length === 1) {
+ var f = e[0];
+ f.type === 'sizing'
+ ? (h = r.havingSize(f.size))
+ : f.type === 'styling' && (h = r.havingStyle(Dxe[f.style]));
+ }
+ var d = su([i[0] || 'leftmost'], [], r),
+ p = su([i[1] || 'rightmost'], [], r),
+ m = n === 'root';
+ return (
+ aG(
+ a,
+ (g, y) => {
+ var v = y.classes[0],
+ x = g.classes[0];
+ v === 'mbin' && Vt.contains(Lxe, x)
+ ? (y.classes[0] = 'mord')
+ : x === 'mbin' && Vt.contains(_xe, v) && (g.classes[0] = 'mord');
+ },
+ { node: d },
+ p,
+ m
+ ),
+ aG(
+ a,
+ (g, y) => {
+ var v = E7(y),
+ x = E7(g),
+ b = v && x ? (g.hasClass('mtight') ? Axe[v][x] : Sxe[v][x]) : null;
+ if (b) return Be.makeGlue(b, h);
+ },
+ { node: d },
+ p,
+ m
+ ),
+ a
+ );
+ }, 'buildExpression')),
+ (aG = o(function t(e, r, n, i, a) {
+ i && e.push(i);
+ for (var s = 0; s < e.length; s++) {
+ var l = e[s],
+ u = GG(l);
+ if (u) {
+ t(u.children, r, n, null, a);
+ continue;
+ }
+ var h = !l.hasClass('mspace');
+ if (h) {
+ var f = r(l, n.node);
+ f && (n.insertAfter ? n.insertAfter(f) : (e.unshift(f), s++));
+ }
+ h ? (n.node = l) : a && l.hasClass('newline') && (n.node = su(['leftmost'])),
+ (n.insertAfter = ((d) => (p) => {
+ e.splice(d + 1, 0, p), s++;
+ })(s));
+ }
+ i && e.pop();
+ }, 'traverseNonSpaceNodes')),
+ (GG = o(function (e) {
+ return e instanceof Xf || e instanceof iy || (e instanceof jf && e.hasClass('enclosing'))
+ ? e
+ : null;
+ }, 'checkPartialGroup')),
+ (Nxe = o(function t(e, r) {
+ var n = GG(e);
+ if (n) {
+ var i = n.children;
+ if (i.length) {
+ if (r === 'right') return t(i[i.length - 1], 'right');
+ if (r === 'left') return t(i[0], 'left');
+ }
+ }
+ return e;
+ }, 'getOutermostNode')),
+ (E7 = o(function (e, r) {
+ return e ? (r && (e = Nxe(e, r)), Rxe[e.classes[0]] || null) : null;
+ }, 'getTypeOfDomTree')),
+ (sy = o(function (e, r) {
+ var n = ['nulldelimiter'].concat(e.baseSizingClasses());
+ return su(r.concat(n));
+ }, 'makeNullDelimiter')),
+ (Cr = o(function (e, r, n) {
+ if (!e) return su();
+ if (m4[e.type]) {
+ var i = m4[e.type](e, r);
+ if (n && r.size !== n.size) {
+ i = su(r.sizingClasses(n), [i], r);
+ var a = r.sizeMultiplier / n.sizeMultiplier;
+ (i.height *= a), (i.depth *= a);
+ }
+ return i;
+ } else throw new nt("Got group of unknown type: '" + e.type + "'");
+ }, 'buildGroup'));
+ o(s4, 'buildHTMLUnbreakable');
+ o(C7, 'buildHTML');
+ o($G, 'newDocumentFragment');
+ (ps = class {
+ static {
+ o(this, 'MathNode');
+ }
+ constructor(e, r, n) {
+ (this.type = void 0),
+ (this.attributes = void 0),
+ (this.children = void 0),
+ (this.classes = void 0),
+ (this.type = e),
+ (this.attributes = {}),
+ (this.children = r || []),
+ (this.classes = n || []);
+ }
+ setAttribute(e, r) {
+ this.attributes[e] = r;
+ }
+ getAttribute(e) {
+ return this.attributes[e];
+ }
+ toNode() {
+ var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', this.type);
+ for (var r in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, r) &&
+ e.setAttribute(r, this.attributes[r]);
+ this.classes.length > 0 && (e.className = dh(this.classes));
+ for (var n = 0; n < this.children.length; n++) e.appendChild(this.children[n].toNode());
+ return e;
+ }
+ toMarkup() {
+ var e = '<' + this.type;
+ for (var r in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, r) &&
+ ((e += ' ' + r + '="'), (e += Vt.escape(this.attributes[r])), (e += '"'));
+ this.classes.length > 0 && (e += ' class ="' + Vt.escape(dh(this.classes)) + '"'), (e += '>');
+ for (var n = 0; n < this.children.length; n++) e += this.children[n].toMarkup();
+ return (e += '' + this.type + '>'), e;
+ }
+ toText() {
+ return this.children.map((e) => e.toText()).join('');
+ }
+ }),
+ (qf = class {
+ static {
+ o(this, 'TextNode');
+ }
+ constructor(e) {
+ (this.text = void 0), (this.text = e);
+ }
+ toNode() {
+ return document.createTextNode(this.text);
+ }
+ toMarkup() {
+ return Vt.escape(this.toText());
+ }
+ toText() {
+ return this.text;
+ }
+ }),
+ (S7 = class {
+ static {
+ o(this, 'SpaceNode');
+ }
+ constructor(e) {
+ (this.width = void 0),
+ (this.character = void 0),
+ (this.width = e),
+ e >= 0.05555 && e <= 0.05556
+ ? (this.character = '\u200A')
+ : e >= 0.1666 && e <= 0.1667
+ ? (this.character = '\u2009')
+ : e >= 0.2222 && e <= 0.2223
+ ? (this.character = '\u2005')
+ : e >= 0.2777 && e <= 0.2778
+ ? (this.character = '\u2005\u200A')
+ : e >= -0.05556 && e <= -0.05555
+ ? (this.character = '\u200A\u2063')
+ : e >= -0.1667 && e <= -0.1666
+ ? (this.character = '\u2009\u2063')
+ : e >= -0.2223 && e <= -0.2222
+ ? (this.character = '\u205F\u2063')
+ : e >= -0.2778 && e <= -0.2777
+ ? (this.character = '\u2005\u2063')
+ : (this.character = null);
+ }
+ toNode() {
+ if (this.character) return document.createTextNode(this.character);
+ var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'mspace');
+ return e.setAttribute('width', ct(this.width)), e;
+ }
+ toMarkup() {
+ return this.character
+ ? '' + this.character + ''
+ : '';
+ }
+ toText() {
+ return this.character ? this.character : ' ';
+ }
+ }),
+ (et = {
+ MathNode: ps,
+ TextNode: qf,
+ SpaceNode: S7,
+ newDocumentFragment: $G
+ }),
+ (_o = o(function (e, r, n) {
+ return (
+ wn[r][e] &&
+ wn[r][e].replace &&
+ e.charCodeAt(0) !== 55349 &&
+ !(
+ IG.hasOwnProperty(e) &&
+ n &&
+ ((n.fontFamily && n.fontFamily.slice(4, 6) === 'tt') ||
+ (n.font && n.font.slice(4, 6) === 'tt'))
+ ) &&
+ (e = wn[r][e].replace),
+ new et.TextNode(e)
+ );
+ }, 'makeText')),
+ (O7 = o(function (e) {
+ return e.length === 1 ? e[0] : new et.MathNode('mrow', e);
+ }, 'makeRow')),
+ (P7 = o(function (e, r) {
+ if (r.fontFamily === 'texttt') return 'monospace';
+ if (r.fontFamily === 'textsf')
+ return r.fontShape === 'textit' && r.fontWeight === 'textbf'
+ ? 'sans-serif-bold-italic'
+ : r.fontShape === 'textit'
+ ? 'sans-serif-italic'
+ : r.fontWeight === 'textbf'
+ ? 'bold-sans-serif'
+ : 'sans-serif';
+ if (r.fontShape === 'textit' && r.fontWeight === 'textbf') return 'bold-italic';
+ if (r.fontShape === 'textit') return 'italic';
+ if (r.fontWeight === 'textbf') return 'bold';
+ var n = r.font;
+ if (!n || n === 'mathnormal') return null;
+ var i = e.mode;
+ if (n === 'mathit') return 'italic';
+ if (n === 'boldsymbol') return e.type === 'textord' ? 'bold' : 'bold-italic';
+ if (n === 'mathbf') return 'bold';
+ if (n === 'mathbb') return 'double-struck';
+ if (n === 'mathfrak') return 'fraktur';
+ if (n === 'mathscr' || n === 'mathcal') return 'script';
+ if (n === 'mathsf') return 'sans-serif';
+ if (n === 'mathtt') return 'monospace';
+ var a = e.text;
+ if (Vt.contains(['\\imath', '\\jmath'], a)) return null;
+ wn[i][a] && wn[i][a].replace && (a = wn[i][a].replace);
+ var s = Be.fontMap[n].fontName;
+ return M7(a, s, i) ? Be.fontMap[n].variant : null;
+ }, 'getVariant')),
+ (gs = o(function (e, r, n) {
+ if (e.length === 1) {
+ var i = fn(e[0], r);
+ return (
+ n &&
+ i instanceof ps &&
+ i.type === 'mo' &&
+ (i.setAttribute('lspace', '0em'), i.setAttribute('rspace', '0em')),
+ [i]
+ );
+ }
+ for (var a = [], s, l = 0; l < e.length; l++) {
+ var u = fn(e[l], r);
+ if (u instanceof ps && s instanceof ps) {
+ if (
+ u.type === 'mtext' &&
+ s.type === 'mtext' &&
+ u.getAttribute('mathvariant') === s.getAttribute('mathvariant')
+ ) {
+ s.children.push(...u.children);
+ continue;
+ } else if (u.type === 'mn' && s.type === 'mn') {
+ s.children.push(...u.children);
+ continue;
+ } else if (u.type === 'mi' && u.children.length === 1 && s.type === 'mn') {
+ var h = u.children[0];
+ if (h instanceof qf && h.text === '.') {
+ s.children.push(...u.children);
+ continue;
+ }
+ } else if (s.type === 'mi' && s.children.length === 1) {
+ var f = s.children[0];
+ if (
+ f instanceof qf &&
+ f.text === '\u0338' &&
+ (u.type === 'mo' || u.type === 'mi' || u.type === 'mn')
+ ) {
+ var d = u.children[0];
+ d instanceof qf &&
+ d.text.length > 0 &&
+ ((d.text = d.text.slice(0, 1) + '\u0338' + d.text.slice(1)), a.pop());
+ }
+ }
+ }
+ a.push(u), (s = u);
+ }
+ return a;
+ }, 'buildExpression')),
+ (ph = o(function (e, r, n) {
+ return O7(gs(e, r, n));
+ }, 'buildExpressionRow')),
+ (fn = o(function (e, r) {
+ if (!e) return new et.MathNode('mrow');
+ if (g4[e.type]) {
+ var n = g4[e.type](e, r);
+ return n;
+ } else throw new nt("Got group of unknown type: '" + e.type + "'");
+ }, 'buildGroup'));
+ o(sG, 'buildMathML');
+ (VG = o(function (e) {
+ return new d4({
+ style: e.displayMode ? Ht.DISPLAY : Ht.TEXT,
+ maxSize: e.maxSize,
+ minRuleThickness: e.minRuleThickness
+ });
+ }, 'optionsFromSettings')),
+ (UG = o(function (e, r) {
+ if (r.displayMode) {
+ var n = ['katex-display'];
+ r.leqno && n.push('leqno'), r.fleqn && n.push('fleqn'), (e = Be.makeSpan(n, [e]));
+ }
+ return e;
+ }, 'displayWrap')),
+ (Mxe = o(function (e, r, n) {
+ var i = VG(n),
+ a;
+ if (n.output === 'mathml') return sG(e, r, i, n.displayMode, !0);
+ if (n.output === 'html') {
+ var s = C7(e, i);
+ a = Be.makeSpan(['katex'], [s]);
+ } else {
+ var l = sG(e, r, i, n.displayMode, !1),
+ u = C7(e, i);
+ a = Be.makeSpan(['katex'], [l, u]);
+ }
+ return UG(a, n);
+ }, 'buildTree')),
+ (Ixe = o(function (e, r, n) {
+ var i = VG(n),
+ a = C7(e, i),
+ s = Be.makeSpan(['katex'], [a]);
+ return UG(s, n);
+ }, 'buildHTMLTree')),
+ (Oxe = {
+ widehat: '^',
+ widecheck: '\u02C7',
+ widetilde: '~',
+ utilde: '~',
+ overleftarrow: '\u2190',
+ underleftarrow: '\u2190',
+ xleftarrow: '\u2190',
+ overrightarrow: '\u2192',
+ underrightarrow: '\u2192',
+ xrightarrow: '\u2192',
+ underbrace: '\u23DF',
+ overbrace: '\u23DE',
+ overgroup: '\u23E0',
+ undergroup: '\u23E1',
+ overleftrightarrow: '\u2194',
+ underleftrightarrow: '\u2194',
+ xleftrightarrow: '\u2194',
+ Overrightarrow: '\u21D2',
+ xRightarrow: '\u21D2',
+ overleftharpoon: '\u21BC',
+ xleftharpoonup: '\u21BC',
+ overrightharpoon: '\u21C0',
+ xrightharpoonup: '\u21C0',
+ xLeftarrow: '\u21D0',
+ xLeftrightarrow: '\u21D4',
+ xhookleftarrow: '\u21A9',
+ xhookrightarrow: '\u21AA',
+ xmapsto: '\u21A6',
+ xrightharpoondown: '\u21C1',
+ xleftharpoondown: '\u21BD',
+ xrightleftharpoons: '\u21CC',
+ xleftrightharpoons: '\u21CB',
+ xtwoheadleftarrow: '\u219E',
+ xtwoheadrightarrow: '\u21A0',
+ xlongequal: '=',
+ xtofrom: '\u21C4',
+ xrightleftarrows: '\u21C4',
+ xrightequilibrium: '\u21CC',
+ xleftequilibrium: '\u21CB',
+ '\\cdrightarrow': '\u2192',
+ '\\cdleftarrow': '\u2190',
+ '\\cdlongequal': '='
+ }),
+ (Pxe = o(function (e) {
+ var r = new et.MathNode('mo', [new et.TextNode(Oxe[e.replace(/^\\/, '')])]);
+ return r.setAttribute('stretchy', 'true'), r;
+ }, 'mathMLnode')),
+ (Bxe = {
+ overrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
+ overleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'],
+ underrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
+ underleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'],
+ xrightarrow: [['rightarrow'], 1.469, 522, 'xMaxYMin'],
+ '\\cdrightarrow': [['rightarrow'], 3, 522, 'xMaxYMin'],
+ xleftarrow: [['leftarrow'], 1.469, 522, 'xMinYMin'],
+ '\\cdleftarrow': [['leftarrow'], 3, 522, 'xMinYMin'],
+ Overrightarrow: [['doublerightarrow'], 0.888, 560, 'xMaxYMin'],
+ xRightarrow: [['doublerightarrow'], 1.526, 560, 'xMaxYMin'],
+ xLeftarrow: [['doubleleftarrow'], 1.526, 560, 'xMinYMin'],
+ overleftharpoon: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
+ xleftharpoonup: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
+ xleftharpoondown: [['leftharpoondown'], 0.888, 522, 'xMinYMin'],
+ overrightharpoon: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
+ xrightharpoonup: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
+ xrightharpoondown: [['rightharpoondown'], 0.888, 522, 'xMaxYMin'],
+ xlongequal: [['longequal'], 0.888, 334, 'xMinYMin'],
+ '\\cdlongequal': [['longequal'], 3, 334, 'xMinYMin'],
+ xtwoheadleftarrow: [['twoheadleftarrow'], 0.888, 334, 'xMinYMin'],
+ xtwoheadrightarrow: [['twoheadrightarrow'], 0.888, 334, 'xMaxYMin'],
+ overleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522],
+ overbrace: [['leftbrace', 'midbrace', 'rightbrace'], 1.6, 548],
+ underbrace: [['leftbraceunder', 'midbraceunder', 'rightbraceunder'], 1.6, 548],
+ underleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522],
+ xleftrightarrow: [['leftarrow', 'rightarrow'], 1.75, 522],
+ xLeftrightarrow: [['doubleleftarrow', 'doublerightarrow'], 1.75, 560],
+ xrightleftharpoons: [['leftharpoondownplus', 'rightharpoonplus'], 1.75, 716],
+ xleftrightharpoons: [['leftharpoonplus', 'rightharpoondownplus'], 1.75, 716],
+ xhookleftarrow: [['leftarrow', 'righthook'], 1.08, 522],
+ xhookrightarrow: [['lefthook', 'rightarrow'], 1.08, 522],
+ overlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522],
+ underlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522],
+ overgroup: [['leftgroup', 'rightgroup'], 0.888, 342],
+ undergroup: [['leftgroupunder', 'rightgroupunder'], 0.888, 342],
+ xmapsto: [['leftmapsto', 'rightarrow'], 1.5, 522],
+ xtofrom: [['leftToFrom', 'rightToFrom'], 1.75, 528],
+ xrightleftarrows: [['baraboveleftarrow', 'rightarrowabovebar'], 1.75, 901],
+ xrightequilibrium: [['baraboveshortleftharpoon', 'rightharpoonaboveshortbar'], 1.75, 716],
+ xleftequilibrium: [['shortbaraboveleftharpoon', 'shortrightharpoonabovebar'], 1.75, 716]
+ }),
+ (Fxe = o(function (e) {
+ return e.type === 'ordgroup' ? e.body.length : 1;
+ }, 'groupLength')),
+ (zxe = o(function (e, r) {
+ function n() {
+ var l = 4e5,
+ u = e.label.slice(1);
+ if (Vt.contains(['widehat', 'widecheck', 'widetilde', 'utilde'], u)) {
+ var h = e,
+ f = Fxe(h.base),
+ d,
+ p,
+ m;
+ if (f > 5)
+ u === 'widehat' || u === 'widecheck'
+ ? ((d = 420), (l = 2364), (m = 0.42), (p = u + '4'))
+ : ((d = 312), (l = 2340), (m = 0.34), (p = 'tilde4'));
+ else {
+ var g = [1, 1, 2, 2, 3, 3][f];
+ u === 'widehat' || u === 'widecheck'
+ ? ((l = [0, 1062, 2364, 2364, 2364][g]),
+ (d = [0, 239, 300, 360, 420][g]),
+ (m = [0, 0.24, 0.3, 0.3, 0.36, 0.42][g]),
+ (p = u + g))
+ : ((l = [0, 600, 1033, 2339, 2340][g]),
+ (d = [0, 260, 286, 306, 312][g]),
+ (m = [0, 0.26, 0.286, 0.3, 0.306, 0.34][g]),
+ (p = 'tilde' + g));
+ }
+ var y = new Jl(p),
+ v = new ll([y], {
+ width: '100%',
+ height: ct(m),
+ viewBox: '0 0 ' + l + ' ' + d,
+ preserveAspectRatio: 'none'
+ });
+ return {
+ span: Be.makeSvgSpan([], [v], r),
+ minWidth: 0,
+ height: m
+ };
+ } else {
+ var x = [],
+ b = Bxe[u],
+ [w, S, T] = b,
+ E = T / 1e3,
+ _ = w.length,
+ A,
+ L;
+ if (_ === 1) {
+ var M = b[3];
+ (A = ['hide-tail']), (L = [M]);
+ } else if (_ === 2)
+ (A = ['halfarrow-left', 'halfarrow-right']), (L = ['xMinYMin', 'xMaxYMin']);
+ else if (_ === 3)
+ (A = ['brace-left', 'brace-center', 'brace-right']),
+ (L = ['xMinYMin', 'xMidYMin', 'xMaxYMin']);
+ else
+ throw new Error(
+ `Correct katexImagesData or update code here to support
+ ` +
+ _ +
+ ' children.'
+ );
+ for (var N = 0; N < _; N++) {
+ var k = new Jl(w[N]),
+ I = new ll([k], {
+ width: '400em',
+ height: ct(E),
+ viewBox: '0 0 ' + l + ' ' + T,
+ preserveAspectRatio: L[N] + ' slice'
+ }),
+ C = Be.makeSvgSpan([A[N]], [I], r);
+ if (_ === 1) return { span: C, minWidth: S, height: E };
+ (C.style.height = ct(E)), x.push(C);
+ }
+ return {
+ span: Be.makeSpan(['stretchy'], x, r),
+ minWidth: S,
+ height: E
+ };
+ }
+ }
+ o(n, 'buildSvgSpan_');
+ var { span: i, minWidth: a, height: s } = n();
+ return (i.height = s), (i.style.height = ct(s)), a > 0 && (i.style.minWidth = ct(a)), i;
+ }, 'svgSpan')),
+ (Gxe = o(function (e, r, n, i, a) {
+ var s,
+ l = e.height + e.depth + n + i;
+ if (/fbox|color|angl/.test(r)) {
+ if (((s = Be.makeSpan(['stretchy', r], [], a)), r === 'fbox')) {
+ var u = a.color && a.getColor();
+ u && (s.style.borderColor = u);
+ }
+ } else {
+ var h = [];
+ /^[bx]cancel$/.test(r) &&
+ h.push(
+ new ay({
+ x1: '0',
+ y1: '0',
+ x2: '100%',
+ y2: '100%',
+ 'stroke-width': '0.046em'
+ })
+ ),
+ /^x?cancel$/.test(r) &&
+ h.push(
+ new ay({
+ x1: '0',
+ y1: '100%',
+ x2: '100%',
+ y2: '0',
+ 'stroke-width': '0.046em'
+ })
+ );
+ var f = new ll(h, { width: '100%', height: ct(l) });
+ s = Be.makeSvgSpan([], [f], a);
+ }
+ return (s.height = l), (s.style.height = ct(l)), s;
+ }, 'encloseSpan')),
+ (ou = { encloseSpan: Gxe, mathMLnode: Pxe, svgSpan: zxe });
+ o(ir, 'assertNodeType');
+ o(B7, 'assertSymbolNodeType');
+ o(T4, 'checkSymbolNodeType');
+ (F7 = o((t, e) => {
+ var r, n, i;
+ t && t.type === 'supsub'
+ ? ((n = ir(t.base, 'accent')), (r = n.base), (t.base = r), (i = uxe(Cr(t, e))), (t.base = n))
+ : ((n = ir(t, 'accent')), (r = n.base));
+ var a = Cr(r, e.havingCrampedStyle()),
+ s = n.isShifty && Vt.isCharacterBox(r),
+ l = 0;
+ if (s) {
+ var u = Vt.getBaseElem(r),
+ h = Cr(u, e.havingCrampedStyle());
+ l = tG(h).skew;
+ }
+ var f = n.label === '\\c',
+ d = f ? a.height + a.depth : Math.min(a.height, e.fontMetrics().xHeight),
+ p;
+ if (n.isStretchy)
+ (p = ou.svgSpan(n, e)),
+ (p = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: a },
+ {
+ type: 'elem',
+ elem: p,
+ wrapperClasses: ['svg-align'],
+ wrapperStyle:
+ l > 0
+ ? {
+ width: 'calc(100% - ' + ct(2 * l) + ')',
+ marginLeft: ct(2 * l)
+ }
+ : void 0
+ }
+ ]
+ },
+ e
+ ));
+ else {
+ var m, g;
+ n.label === '\\vec'
+ ? ((m = Be.staticSvg('vec', e)), (g = Be.svgData.vec[1]))
+ : ((m = Be.makeOrd({ mode: n.mode, text: n.label }, e, 'textord')),
+ (m = tG(m)),
+ (m.italic = 0),
+ (g = m.width),
+ f && (d += m.depth)),
+ (p = Be.makeSpan(['accent-body'], [m]));
+ var y = n.label === '\\textcircled';
+ y && (p.classes.push('accent-full'), (d = a.height));
+ var v = l;
+ y || (v -= g / 2),
+ (p.style.left = ct(v)),
+ n.label === '\\textcircled' && (p.style.top = '.2em'),
+ (p = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: a },
+ { type: 'kern', size: -d },
+ { type: 'elem', elem: p }
+ ]
+ },
+ e
+ ));
+ }
+ var x = Be.makeSpan(['mord', 'accent'], [p], e);
+ return i
+ ? ((i.children[0] = x), (i.height = Math.max(x.height, i.height)), (i.classes[0] = 'mord'), i)
+ : x;
+ }, 'htmlBuilder$a')),
+ (HG = o((t, e) => {
+ var r = t.isStretchy ? ou.mathMLnode(t.label) : new et.MathNode('mo', [_o(t.label, t.mode)]),
+ n = new et.MathNode('mover', [fn(t.base, e), r]);
+ return n.setAttribute('accent', 'true'), n;
+ }, 'mathmlBuilder$9')),
+ ($xe = new RegExp(
+ [
+ '\\acute',
+ '\\grave',
+ '\\ddot',
+ '\\tilde',
+ '\\bar',
+ '\\breve',
+ '\\check',
+ '\\hat',
+ '\\vec',
+ '\\dot',
+ '\\mathring'
+ ]
+ .map((t) => '\\' + t)
+ .join('|')
+ ));
+ vt({
+ type: 'accent',
+ names: [
+ '\\acute',
+ '\\grave',
+ '\\ddot',
+ '\\tilde',
+ '\\bar',
+ '\\breve',
+ '\\check',
+ '\\hat',
+ '\\vec',
+ '\\dot',
+ '\\mathring',
+ '\\widecheck',
+ '\\widehat',
+ '\\widetilde',
+ '\\overrightarrow',
+ '\\overleftarrow',
+ '\\Overrightarrow',
+ '\\overleftrightarrow',
+ '\\overgroup',
+ '\\overlinesegment',
+ '\\overleftharpoon',
+ '\\overrightharpoon'
+ ],
+ props: { numArgs: 1 },
+ handler: o((t, e) => {
+ var r = y4(e[0]),
+ n = !$xe.test(t.funcName),
+ i =
+ !n ||
+ t.funcName === '\\widehat' ||
+ t.funcName === '\\widetilde' ||
+ t.funcName === '\\widecheck';
+ return {
+ type: 'accent',
+ mode: t.parser.mode,
+ label: t.funcName,
+ isStretchy: n,
+ isShifty: i,
+ base: r
+ };
+ }, 'handler'),
+ htmlBuilder: F7,
+ mathmlBuilder: HG
+ });
+ vt({
+ type: 'accent',
+ names: [
+ "\\'",
+ '\\`',
+ '\\^',
+ '\\~',
+ '\\=',
+ '\\u',
+ '\\.',
+ '\\"',
+ '\\c',
+ '\\r',
+ '\\H',
+ '\\v',
+ '\\textcircled'
+ ],
+ props: {
+ numArgs: 1,
+ allowedInText: !0,
+ allowedInMath: !0,
+ argTypes: ['primitive']
+ },
+ handler: o((t, e) => {
+ var r = e[0],
+ n = t.parser.mode;
+ return (
+ n === 'math' &&
+ (t.parser.settings.reportNonstrict(
+ 'mathVsTextAccents',
+ "LaTeX's accent " + t.funcName + ' works only in text mode'
+ ),
+ (n = 'text')),
+ {
+ type: 'accent',
+ mode: n,
+ label: t.funcName,
+ isStretchy: !1,
+ isShifty: !0,
+ base: r
+ }
+ );
+ }, 'handler'),
+ htmlBuilder: F7,
+ mathmlBuilder: HG
+ });
+ vt({
+ type: 'accentUnder',
+ names: [
+ '\\underleftarrow',
+ '\\underrightarrow',
+ '\\underleftrightarrow',
+ '\\undergroup',
+ '\\underlinesegment',
+ '\\utilde'
+ ],
+ props: { numArgs: 1 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return { type: 'accentUnder', mode: r.mode, label: n, base: i };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Cr(t.base, e),
+ n = ou.svgSpan(t, e),
+ i = t.label === '\\utilde' ? 0.12 : 0,
+ a = Be.makeVList(
+ {
+ positionType: 'top',
+ positionData: r.height,
+ children: [
+ { type: 'elem', elem: n, wrapperClasses: ['svg-align'] },
+ { type: 'kern', size: i },
+ { type: 'elem', elem: r }
+ ]
+ },
+ e
+ );
+ return Be.makeSpan(['mord', 'accentunder'], [a], e);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = ou.mathMLnode(t.label),
+ n = new et.MathNode('munder', [fn(t.base, e), r]);
+ return n.setAttribute('accentunder', 'true'), n;
+ }, 'mathmlBuilder')
+ });
+ o4 = o((t) => {
+ var e = new et.MathNode('mpadded', t ? [t] : []);
+ return e.setAttribute('width', '+0.6em'), e.setAttribute('lspace', '0.3em'), e;
+ }, 'paddedNode');
+ vt({
+ type: 'xArrow',
+ names: [
+ '\\xleftarrow',
+ '\\xrightarrow',
+ '\\xLeftarrow',
+ '\\xRightarrow',
+ '\\xleftrightarrow',
+ '\\xLeftrightarrow',
+ '\\xhookleftarrow',
+ '\\xhookrightarrow',
+ '\\xmapsto',
+ '\\xrightharpoondown',
+ '\\xrightharpoonup',
+ '\\xleftharpoondown',
+ '\\xleftharpoonup',
+ '\\xrightleftharpoons',
+ '\\xleftrightharpoons',
+ '\\xlongequal',
+ '\\xtwoheadrightarrow',
+ '\\xtwoheadleftarrow',
+ '\\xtofrom',
+ '\\xrightleftarrows',
+ '\\xrightequilibrium',
+ '\\xleftequilibrium',
+ '\\\\cdrightarrow',
+ '\\\\cdleftarrow',
+ '\\\\cdlongequal'
+ ],
+ props: { numArgs: 1, numOptionalArgs: 1 },
+ handler(t, e, r) {
+ var { parser: n, funcName: i } = t;
+ return {
+ type: 'xArrow',
+ mode: n.mode,
+ label: i,
+ body: e[0],
+ below: r[0]
+ };
+ },
+ htmlBuilder(t, e) {
+ var r = e.style,
+ n = e.havingStyle(r.sup()),
+ i = Be.wrapFragment(Cr(t.body, n, e), e),
+ a = t.label.slice(0, 2) === '\\x' ? 'x' : 'cd';
+ i.classes.push(a + '-arrow-pad');
+ var s;
+ t.below &&
+ ((n = e.havingStyle(r.sub())),
+ (s = Be.wrapFragment(Cr(t.below, n, e), e)),
+ s.classes.push(a + '-arrow-pad'));
+ var l = ou.svgSpan(t, e),
+ u = -e.fontMetrics().axisHeight + 0.5 * l.height,
+ h = -e.fontMetrics().axisHeight - 0.5 * l.height - 0.111;
+ (i.depth > 0.25 || t.label === '\\xleftequilibrium') && (h -= i.depth);
+ var f;
+ if (s) {
+ var d = -e.fontMetrics().axisHeight + s.height + 0.5 * l.height + 0.111;
+ f = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: i, shift: h },
+ { type: 'elem', elem: l, shift: u },
+ { type: 'elem', elem: s, shift: d }
+ ]
+ },
+ e
+ );
+ } else
+ f = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: i, shift: h },
+ { type: 'elem', elem: l, shift: u }
+ ]
+ },
+ e
+ );
+ return (
+ f.children[0].children[0].children[1].classes.push('svg-align'),
+ Be.makeSpan(['mrel', 'x-arrow'], [f], e)
+ );
+ },
+ mathmlBuilder(t, e) {
+ var r = ou.mathMLnode(t.label);
+ r.setAttribute('minsize', t.label.charAt(0) === 'x' ? '1.75em' : '3.0em');
+ var n;
+ if (t.body) {
+ var i = o4(fn(t.body, e));
+ if (t.below) {
+ var a = o4(fn(t.below, e));
+ n = new et.MathNode('munderover', [r, a, i]);
+ } else n = new et.MathNode('mover', [r, i]);
+ } else if (t.below) {
+ var s = o4(fn(t.below, e));
+ n = new et.MathNode('munder', [r, s]);
+ } else (n = o4()), (n = new et.MathNode('mover', [r, n]));
+ return n;
+ }
+ });
+ Vxe = Be.makeSpan;
+ o(YG, 'htmlBuilder$9');
+ o(WG, 'mathmlBuilder$8');
+ vt({
+ type: 'mclass',
+ names: [
+ '\\mathord',
+ '\\mathbin',
+ '\\mathrel',
+ '\\mathopen',
+ '\\mathclose',
+ '\\mathpunct',
+ '\\mathinner'
+ ],
+ props: { numArgs: 1, primitive: !0 },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return {
+ type: 'mclass',
+ mode: r.mode,
+ mclass: 'm' + n.slice(5),
+ body: ui(i),
+ isCharacterBox: Vt.isCharacterBox(i)
+ };
+ },
+ htmlBuilder: YG,
+ mathmlBuilder: WG
+ });
+ k4 = o((t) => {
+ var e = t.type === 'ordgroup' && t.body.length ? t.body[0] : t;
+ return e.type === 'atom' && (e.family === 'bin' || e.family === 'rel') ? 'm' + e.family : 'mord';
+ }, 'binrelClass');
+ vt({
+ type: 'mclass',
+ names: ['\\@binrel'],
+ props: { numArgs: 2 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return {
+ type: 'mclass',
+ mode: r.mode,
+ mclass: k4(e[0]),
+ body: ui(e[1]),
+ isCharacterBox: Vt.isCharacterBox(e[1])
+ };
+ }
+ });
+ vt({
+ type: 'mclass',
+ names: ['\\stackrel', '\\overset', '\\underset'],
+ props: { numArgs: 2 },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = e[1],
+ a = e[0],
+ s;
+ n !== '\\stackrel' ? (s = k4(i)) : (s = 'mrel');
+ var l = {
+ type: 'op',
+ mode: i.mode,
+ limits: !0,
+ alwaysHandleSupSub: !0,
+ parentIsSupSub: !1,
+ symbol: !1,
+ suppressBaseShift: n !== '\\stackrel',
+ body: ui(i)
+ },
+ u = {
+ type: 'supsub',
+ mode: a.mode,
+ base: l,
+ sup: n === '\\underset' ? null : a,
+ sub: n === '\\underset' ? a : null
+ };
+ return {
+ type: 'mclass',
+ mode: r.mode,
+ mclass: s,
+ body: [u],
+ isCharacterBox: Vt.isCharacterBox(u)
+ };
+ },
+ htmlBuilder: YG,
+ mathmlBuilder: WG
+ });
+ vt({
+ type: 'pmb',
+ names: ['\\pmb'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return {
+ type: 'pmb',
+ mode: r.mode,
+ mclass: k4(e[0]),
+ body: ui(e[0])
+ };
+ },
+ htmlBuilder(t, e) {
+ var r = Ri(t.body, e, !0),
+ n = Be.makeSpan([t.mclass], r, e);
+ return (n.style.textShadow = '0.02em 0.01em 0.04px'), n;
+ },
+ mathmlBuilder(t, e) {
+ var r = gs(t.body, e),
+ n = new et.MathNode('mstyle', r);
+ return n.setAttribute('style', 'text-shadow: 0.02em 0.01em 0.04px'), n;
+ }
+ });
+ (Uxe = {
+ '>': '\\\\cdrightarrow',
+ '<': '\\\\cdleftarrow',
+ '=': '\\\\cdlongequal',
+ A: '\\uparrow',
+ V: '\\downarrow',
+ '|': '\\Vert',
+ '.': 'no arrow'
+ }),
+ (oG = o(() => ({ type: 'styling', body: [], mode: 'math', style: 'display' }), 'newCell')),
+ (lG = o((t) => t.type === 'textord' && t.text === '@', 'isStartOfArrow')),
+ (Hxe = o((t, e) => (t.type === 'mathord' || t.type === 'atom') && t.text === e, 'isLabelEnd'));
+ o(Yxe, 'cdArrow');
+ o(Wxe, 'parseCD');
+ vt({
+ type: 'cdlabel',
+ names: ['\\\\cdleft', '\\\\cdright'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t;
+ return {
+ type: 'cdlabel',
+ mode: r.mode,
+ side: n.slice(4),
+ label: e[0]
+ };
+ },
+ htmlBuilder(t, e) {
+ var r = e.havingStyle(e.style.sup()),
+ n = Be.wrapFragment(Cr(t.label, r, e), e);
+ return (
+ n.classes.push('cd-label-' + t.side),
+ (n.style.bottom = ct(0.8 - n.depth)),
+ (n.height = 0),
+ (n.depth = 0),
+ n
+ );
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mrow', [fn(t.label, e)]);
+ return (
+ (r = new et.MathNode('mpadded', [r])),
+ r.setAttribute('width', '0'),
+ t.side === 'left' && r.setAttribute('lspace', '-1width'),
+ r.setAttribute('voffset', '0.7em'),
+ (r = new et.MathNode('mstyle', [r])),
+ r.setAttribute('displaystyle', 'false'),
+ r.setAttribute('scriptlevel', '1'),
+ r
+ );
+ }
+ });
+ vt({
+ type: 'cdlabelparent',
+ names: ['\\\\cdparent'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'cdlabelparent', mode: r.mode, fragment: e[0] };
+ },
+ htmlBuilder(t, e) {
+ var r = Be.wrapFragment(Cr(t.fragment, e), e);
+ return r.classes.push('cd-vert-arrow'), r;
+ },
+ mathmlBuilder(t, e) {
+ return new et.MathNode('mrow', [fn(t.fragment, e)]);
+ }
+ });
+ vt({
+ type: 'textord',
+ names: ['\\@char'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler(t, e) {
+ for (
+ var { parser: r } = t, n = ir(e[0], 'ordgroup'), i = n.body, a = '', s = 0;
+ s < i.length;
+ s++
+ ) {
+ var l = ir(i[s], 'textord');
+ a += l.text;
+ }
+ var u = parseInt(a),
+ h;
+ if (isNaN(u)) throw new nt('\\@char has non-numeric argument ' + a);
+ if (u < 0 || u >= 1114111) throw new nt('\\@char with invalid code point ' + a);
+ return (
+ u <= 65535
+ ? (h = String.fromCharCode(u))
+ : ((u -= 65536), (h = String.fromCharCode((u >> 10) + 55296, (u & 1023) + 56320))),
+ { type: 'textord', mode: r.mode, text: h }
+ );
+ }
+ });
+ (qG = o((t, e) => {
+ var r = Ri(t.body, e.withColor(t.color), !1);
+ return Be.makeFragment(r);
+ }, 'htmlBuilder$8')),
+ (XG = o((t, e) => {
+ var r = gs(t.body, e.withColor(t.color)),
+ n = new et.MathNode('mstyle', r);
+ return n.setAttribute('mathcolor', t.color), n;
+ }, 'mathmlBuilder$7'));
+ vt({
+ type: 'color',
+ names: ['\\textcolor'],
+ props: {
+ numArgs: 2,
+ allowedInText: !0,
+ argTypes: ['color', 'original']
+ },
+ handler(t, e) {
+ var { parser: r } = t,
+ n = ir(e[0], 'color-token').color,
+ i = e[1];
+ return { type: 'color', mode: r.mode, color: n, body: ui(i) };
+ },
+ htmlBuilder: qG,
+ mathmlBuilder: XG
+ });
+ vt({
+ type: 'color',
+ names: ['\\color'],
+ props: { numArgs: 1, allowedInText: !0, argTypes: ['color'] },
+ handler(t, e) {
+ var { parser: r, breakOnTokenText: n } = t,
+ i = ir(e[0], 'color-token').color;
+ r.gullet.macros.set('\\current@color', i);
+ var a = r.parseExpression(!0, n);
+ return { type: 'color', mode: r.mode, color: i, body: a };
+ },
+ htmlBuilder: qG,
+ mathmlBuilder: XG
+ });
+ vt({
+ type: 'cr',
+ names: ['\\\\'],
+ props: { numArgs: 0, numOptionalArgs: 0, allowedInText: !0 },
+ handler(t, e, r) {
+ var { parser: n } = t,
+ i = n.gullet.future().text === '[' ? n.parseSizeGroup(!0) : null,
+ a =
+ !n.settings.displayMode ||
+ !n.settings.useStrictBehavior(
+ 'newLineInDisplayMode',
+ 'In LaTeX, \\\\ or \\newline does nothing in display mode'
+ );
+ return {
+ type: 'cr',
+ mode: n.mode,
+ newLine: a,
+ size: i && ir(i, 'size').value
+ };
+ },
+ htmlBuilder(t, e) {
+ var r = Be.makeSpan(['mspace'], [], e);
+ return (
+ t.newLine && (r.classes.push('newline'), t.size && (r.style.marginTop = ct(Hn(t.size, e)))), r
+ );
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mspace');
+ return (
+ t.newLine &&
+ (r.setAttribute('linebreak', 'newline'),
+ t.size && r.setAttribute('height', ct(Hn(t.size, e)))),
+ r
+ );
+ }
+ });
+ (A7 = {
+ '\\global': '\\global',
+ '\\long': '\\\\globallong',
+ '\\\\globallong': '\\\\globallong',
+ '\\def': '\\gdef',
+ '\\gdef': '\\gdef',
+ '\\edef': '\\xdef',
+ '\\xdef': '\\xdef',
+ '\\let': '\\\\globallet',
+ '\\futurelet': '\\\\globalfuture'
+ }),
+ (jG = o((t) => {
+ var e = t.text;
+ if (/^(?:[\\{}$^_]|EOF)$/.test(e)) throw new nt('Expected a control sequence', t);
+ return e;
+ }, 'checkControlSequence')),
+ (qxe = o((t) => {
+ var e = t.gullet.popToken();
+ return (
+ e.text === '=' && ((e = t.gullet.popToken()), e.text === ' ' && (e = t.gullet.popToken())), e
+ );
+ }, 'getRHS')),
+ (KG = o((t, e, r, n) => {
+ var i = t.gullet.macros.get(r.text);
+ i == null &&
+ ((r.noexpand = !0),
+ (i = {
+ tokens: [r],
+ numArgs: 0,
+ unexpandable: !t.gullet.isExpandable(r.text)
+ })),
+ t.gullet.macros.set(e, i, n);
+ }, 'letCommand'));
+ vt({
+ type: 'internal',
+ names: ['\\global', '\\long', '\\\\globallong'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t;
+ e.consumeSpaces();
+ var n = e.fetch();
+ if (A7[n.text])
+ return (
+ (r === '\\global' || r === '\\\\globallong') && (n.text = A7[n.text]),
+ ir(e.parseFunction(), 'internal')
+ );
+ throw new nt('Invalid token after macro prefix', n);
+ }
+ });
+ vt({
+ type: 'internal',
+ names: ['\\def', '\\gdef', '\\edef', '\\xdef'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t,
+ n = e.gullet.popToken(),
+ i = n.text;
+ if (/^(?:[\\{}$^_]|EOF)$/.test(i)) throw new nt('Expected a control sequence', n);
+ for (var a = 0, s, l = [[]]; e.gullet.future().text !== '{'; )
+ if (((n = e.gullet.popToken()), n.text === '#')) {
+ if (e.gullet.future().text === '{') {
+ (s = e.gullet.future()), l[a].push('{');
+ break;
+ }
+ if (((n = e.gullet.popToken()), !/^[1-9]$/.test(n.text)))
+ throw new nt('Invalid argument number "' + n.text + '"');
+ if (parseInt(n.text) !== a + 1)
+ throw new nt('Argument number "' + n.text + '" out of order');
+ a++, l.push([]);
+ } else {
+ if (n.text === 'EOF') throw new nt('Expected a macro definition');
+ l[a].push(n.text);
+ }
+ var { tokens: u } = e.gullet.consumeArg();
+ return (
+ s && u.unshift(s),
+ (r === '\\edef' || r === '\\xdef') && ((u = e.gullet.expandTokens(u)), u.reverse()),
+ e.gullet.macros.set(i, { tokens: u, numArgs: a, delimiters: l }, r === A7[r]),
+ { type: 'internal', mode: e.mode }
+ );
+ }
+ });
+ vt({
+ type: 'internal',
+ names: ['\\let', '\\\\globallet'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t,
+ n = jG(e.gullet.popToken());
+ e.gullet.consumeSpaces();
+ var i = qxe(e);
+ return KG(e, n, i, r === '\\\\globallet'), { type: 'internal', mode: e.mode };
+ }
+ });
+ vt({
+ type: 'internal',
+ names: ['\\futurelet', '\\\\globalfuture'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t,
+ n = jG(e.gullet.popToken()),
+ i = e.gullet.popToken(),
+ a = e.gullet.popToken();
+ return (
+ KG(e, n, a, r === '\\\\globalfuture'),
+ e.gullet.pushToken(a),
+ e.gullet.pushToken(i),
+ { type: 'internal', mode: e.mode }
+ );
+ }
+ });
+ (ey = o(function (e, r, n) {
+ var i = wn.math[e] && wn.math[e].replace,
+ a = M7(i || e, r, n);
+ if (!a) throw new Error('Unsupported symbol ' + e + ' and font size ' + r + '.');
+ return a;
+ }, 'getMetrics')),
+ (z7 = o(function (e, r, n, i) {
+ var a = n.havingBaseStyle(r),
+ s = Be.makeSpan(i.concat(a.sizingClasses(n)), [e], n),
+ l = a.sizeMultiplier / n.sizeMultiplier;
+ return (s.height *= l), (s.depth *= l), (s.maxFontSize = a.sizeMultiplier), s;
+ }, 'styleWrap')),
+ (QG = o(function (e, r, n) {
+ var i = r.havingBaseStyle(n),
+ a = (1 - r.sizeMultiplier / i.sizeMultiplier) * r.fontMetrics().axisHeight;
+ e.classes.push('delimcenter'), (e.style.top = ct(a)), (e.height -= a), (e.depth += a);
+ }, 'centerSpan')),
+ (Xxe = o(function (e, r, n, i, a, s) {
+ var l = Be.makeSymbol(e, 'Main-Regular', a, i),
+ u = z7(l, r, i, s);
+ return n && QG(u, i, r), u;
+ }, 'makeSmallDelim')),
+ (jxe = o(function (e, r, n, i) {
+ return Be.makeSymbol(e, 'Size' + r + '-Regular', n, i);
+ }, 'mathrmSize')),
+ (ZG = o(function (e, r, n, i, a, s) {
+ var l = jxe(e, r, a, i),
+ u = z7(Be.makeSpan(['delimsizing', 'size' + r], [l], i), Ht.TEXT, i, s);
+ return n && QG(u, i, Ht.TEXT), u;
+ }, 'makeLargeDelim')),
+ (h7 = o(function (e, r, n) {
+ var i;
+ r === 'Size1-Regular' ? (i = 'delim-size1') : (i = 'delim-size4');
+ var a = Be.makeSpan(['delimsizinginner', i], [Be.makeSpan([], [Be.makeSymbol(e, r, n)])]);
+ return { type: 'elem', elem: a };
+ }, 'makeGlyphSpan')),
+ (f7 = o(function (e, r, n) {
+ var i = Zl['Size4-Regular'][e.charCodeAt(0)]
+ ? Zl['Size4-Regular'][e.charCodeAt(0)][4]
+ : Zl['Size1-Regular'][e.charCodeAt(0)][4],
+ a = new Jl('inner', nxe(e, Math.round(1e3 * r))),
+ s = new ll([a], {
+ width: ct(i),
+ height: ct(r),
+ style: 'width:' + ct(i),
+ viewBox: '0 0 ' + 1e3 * i + ' ' + Math.round(1e3 * r),
+ preserveAspectRatio: 'xMinYMin'
+ }),
+ l = Be.makeSvgSpan([], [s], n);
+ return (l.height = r), (l.style.height = ct(r)), (l.style.width = ct(i)), { type: 'elem', elem: l };
+ }, 'makeInner')),
+ (_7 = 0.008),
+ (l4 = { type: 'kern', size: -1 * _7 }),
+ (Kxe = ['|', '\\lvert', '\\rvert', '\\vert']),
+ (Qxe = ['\\|', '\\lVert', '\\rVert', '\\Vert']),
+ (JG = o(function (e, r, n, i, a, s) {
+ var l,
+ u,
+ h,
+ f,
+ d = '',
+ p = 0;
+ (l = h = f = e), (u = null);
+ var m = 'Size1-Regular';
+ e === '\\uparrow'
+ ? (h = f = '\u23D0')
+ : e === '\\Uparrow'
+ ? (h = f = '\u2016')
+ : e === '\\downarrow'
+ ? (l = h = '\u23D0')
+ : e === '\\Downarrow'
+ ? (l = h = '\u2016')
+ : e === '\\updownarrow'
+ ? ((l = '\\uparrow'), (h = '\u23D0'), (f = '\\downarrow'))
+ : e === '\\Updownarrow'
+ ? ((l = '\\Uparrow'), (h = '\u2016'), (f = '\\Downarrow'))
+ : Vt.contains(Kxe, e)
+ ? ((h = '\u2223'), (d = 'vert'), (p = 333))
+ : Vt.contains(Qxe, e)
+ ? ((h = '\u2225'), (d = 'doublevert'), (p = 556))
+ : e === '[' || e === '\\lbrack'
+ ? ((l = '\u23A1'),
+ (h = '\u23A2'),
+ (f = '\u23A3'),
+ (m = 'Size4-Regular'),
+ (d = 'lbrack'),
+ (p = 667))
+ : e === ']' || e === '\\rbrack'
+ ? ((l = '\u23A4'),
+ (h = '\u23A5'),
+ (f = '\u23A6'),
+ (m = 'Size4-Regular'),
+ (d = 'rbrack'),
+ (p = 667))
+ : e === '\\lfloor' || e === '\u230A'
+ ? ((h = l = '\u23A2'), (f = '\u23A3'), (m = 'Size4-Regular'), (d = 'lfloor'), (p = 667))
+ : e === '\\lceil' || e === '\u2308'
+ ? ((l = '\u23A1'), (h = f = '\u23A2'), (m = 'Size4-Regular'), (d = 'lceil'), (p = 667))
+ : e === '\\rfloor' || e === '\u230B'
+ ? ((h = l = '\u23A5'), (f = '\u23A6'), (m = 'Size4-Regular'), (d = 'rfloor'), (p = 667))
+ : e === '\\rceil' || e === '\u2309'
+ ? ((l = '\u23A4'), (h = f = '\u23A5'), (m = 'Size4-Regular'), (d = 'rceil'), (p = 667))
+ : e === '(' || e === '\\lparen'
+ ? ((l = '\u239B'),
+ (h = '\u239C'),
+ (f = '\u239D'),
+ (m = 'Size4-Regular'),
+ (d = 'lparen'),
+ (p = 875))
+ : e === ')' || e === '\\rparen'
+ ? ((l = '\u239E'),
+ (h = '\u239F'),
+ (f = '\u23A0'),
+ (m = 'Size4-Regular'),
+ (d = 'rparen'),
+ (p = 875))
+ : e === '\\{' || e === '\\lbrace'
+ ? ((l = '\u23A7'), (u = '\u23A8'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular'))
+ : e === '\\}' || e === '\\rbrace'
+ ? ((l = '\u23AB'), (u = '\u23AC'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular'))
+ : e === '\\lgroup' || e === '\u27EE'
+ ? ((l = '\u23A7'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular'))
+ : e === '\\rgroup' || e === '\u27EF'
+ ? ((l = '\u23AB'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular'))
+ : e === '\\lmoustache' || e === '\u23B0'
+ ? ((l = '\u23A7'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular'))
+ : (e === '\\rmoustache' || e === '\u23B1') &&
+ ((l = '\u23AB'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular'));
+ var g = ey(l, m, a),
+ y = g.height + g.depth,
+ v = ey(h, m, a),
+ x = v.height + v.depth,
+ b = ey(f, m, a),
+ w = b.height + b.depth,
+ S = 0,
+ T = 1;
+ if (u !== null) {
+ var E = ey(u, m, a);
+ (S = E.height + E.depth), (T = 2);
+ }
+ var _ = y + w + S,
+ A = Math.max(0, Math.ceil((r - _) / (T * x))),
+ L = _ + A * T * x,
+ M = i.fontMetrics().axisHeight;
+ n && (M *= i.sizeMultiplier);
+ var N = L / 2 - M,
+ k = [];
+ if (d.length > 0) {
+ var I = L - y - w,
+ C = Math.round(L * 1e3),
+ O = ixe(d, Math.round(I * 1e3)),
+ D = new Jl(d, O),
+ P = (p / 1e3).toFixed(3) + 'em',
+ F = (C / 1e3).toFixed(3) + 'em',
+ B = new ll([D], {
+ width: P,
+ height: F,
+ viewBox: '0 0 ' + p + ' ' + C
+ }),
+ $ = Be.makeSvgSpan([], [B], i);
+ ($.height = C / 1e3),
+ ($.style.width = P),
+ ($.style.height = F),
+ k.push({ type: 'elem', elem: $ });
+ } else {
+ if ((k.push(h7(f, m, a)), k.push(l4), u === null)) {
+ var z = L - y - w + 2 * _7;
+ k.push(f7(h, z, i));
+ } else {
+ var Y = (L - y - w - S) / 2 + 2 * _7;
+ k.push(f7(h, Y, i)), k.push(l4), k.push(h7(u, m, a)), k.push(l4), k.push(f7(h, Y, i));
+ }
+ k.push(l4), k.push(h7(l, m, a));
+ }
+ var Q = i.havingBaseStyle(Ht.TEXT),
+ X = Be.makeVList({ positionType: 'bottom', positionData: N, children: k }, Q);
+ return z7(Be.makeSpan(['delimsizing', 'mult'], [X], Q), Ht.TEXT, i, s);
+ }, 'makeStackedDelim')),
+ (d7 = 80),
+ (p7 = 0.08),
+ (m7 = o(function (e, r, n, i, a) {
+ var s = rxe(e, i, n),
+ l = new Jl(e, s),
+ u = new ll([l], {
+ width: '400em',
+ height: ct(r),
+ viewBox: '0 0 400000 ' + n,
+ preserveAspectRatio: 'xMinYMin slice'
+ });
+ return Be.makeSvgSpan(['hide-tail'], [u], a);
+ }, 'sqrtSvg')),
+ (Zxe = o(function (e, r) {
+ var n = r.havingBaseSizing(),
+ i = n$('\\surd', e * n.sizeMultiplier, r$, n),
+ a = n.sizeMultiplier,
+ s = Math.max(0, r.minRuleThickness - r.fontMetrics().sqrtRuleThickness),
+ l,
+ u = 0,
+ h = 0,
+ f = 0,
+ d;
+ return (
+ i.type === 'small'
+ ? ((f = 1e3 + 1e3 * s + d7),
+ e < 1 ? (a = 1) : e < 1.4 && (a = 0.7),
+ (u = (1 + s + p7) / a),
+ (h = (1 + s) / a),
+ (l = m7('sqrtMain', u, f, s, r)),
+ (l.style.minWidth = '0.853em'),
+ (d = 0.833 / a))
+ : i.type === 'large'
+ ? ((f = (1e3 + d7) * ty[i.size]),
+ (h = (ty[i.size] + s) / a),
+ (u = (ty[i.size] + s + p7) / a),
+ (l = m7('sqrtSize' + i.size, u, f, s, r)),
+ (l.style.minWidth = '1.02em'),
+ (d = 1 / a))
+ : ((u = e + s + p7),
+ (h = e + s),
+ (f = Math.floor(1e3 * e + s) + d7),
+ (l = m7('sqrtTall', u, f, s, r)),
+ (l.style.minWidth = '0.742em'),
+ (d = 1.056)),
+ (l.height = h),
+ (l.style.height = ct(u)),
+ {
+ span: l,
+ advanceWidth: d,
+ ruleWidth: (r.fontMetrics().sqrtRuleThickness + s) * a
+ }
+ );
+ }, 'makeSqrtImage')),
+ (e$ = [
+ '(',
+ '\\lparen',
+ ')',
+ '\\rparen',
+ '[',
+ '\\lbrack',
+ ']',
+ '\\rbrack',
+ '\\{',
+ '\\lbrace',
+ '\\}',
+ '\\rbrace',
+ '\\lfloor',
+ '\\rfloor',
+ '\u230A',
+ '\u230B',
+ '\\lceil',
+ '\\rceil',
+ '\u2308',
+ '\u2309',
+ '\\surd'
+ ]),
+ (Jxe = [
+ '\\uparrow',
+ '\\downarrow',
+ '\\updownarrow',
+ '\\Uparrow',
+ '\\Downarrow',
+ '\\Updownarrow',
+ '|',
+ '\\|',
+ '\\vert',
+ '\\Vert',
+ '\\lvert',
+ '\\rvert',
+ '\\lVert',
+ '\\rVert',
+ '\\lgroup',
+ '\\rgroup',
+ '\u27EE',
+ '\u27EF',
+ '\\lmoustache',
+ '\\rmoustache',
+ '\u23B0',
+ '\u23B1'
+ ]),
+ (t$ = ['<', '>', '\\langle', '\\rangle', '/', '\\backslash', '\\lt', '\\gt']),
+ (ty = [0, 1.2, 1.8, 2.4, 3]),
+ (ebe = o(function (e, r, n, i, a) {
+ if (
+ (e === '<' || e === '\\lt' || e === '\u27E8'
+ ? (e = '\\langle')
+ : (e === '>' || e === '\\gt' || e === '\u27E9') && (e = '\\rangle'),
+ Vt.contains(e$, e) || Vt.contains(t$, e))
+ )
+ return ZG(e, r, !1, n, i, a);
+ if (Vt.contains(Jxe, e)) return JG(e, ty[r], !1, n, i, a);
+ throw new nt("Illegal delimiter: '" + e + "'");
+ }, 'makeSizedDelim')),
+ (tbe = [
+ { type: 'small', style: Ht.SCRIPTSCRIPT },
+ { type: 'small', style: Ht.SCRIPT },
+ { type: 'small', style: Ht.TEXT },
+ { type: 'large', size: 1 },
+ { type: 'large', size: 2 },
+ { type: 'large', size: 3 },
+ { type: 'large', size: 4 }
+ ]),
+ (rbe = [
+ { type: 'small', style: Ht.SCRIPTSCRIPT },
+ { type: 'small', style: Ht.SCRIPT },
+ { type: 'small', style: Ht.TEXT },
+ { type: 'stack' }
+ ]),
+ (r$ = [
+ { type: 'small', style: Ht.SCRIPTSCRIPT },
+ { type: 'small', style: Ht.SCRIPT },
+ { type: 'small', style: Ht.TEXT },
+ { type: 'large', size: 1 },
+ { type: 'large', size: 2 },
+ { type: 'large', size: 3 },
+ { type: 'large', size: 4 },
+ { type: 'stack' }
+ ]),
+ (nbe = o(function (e) {
+ if (e.type === 'small') return 'Main-Regular';
+ if (e.type === 'large') return 'Size' + e.size + '-Regular';
+ if (e.type === 'stack') return 'Size4-Regular';
+ throw new Error("Add support for delim type '" + e.type + "' here.");
+ }, 'delimTypeToFont')),
+ (n$ = o(function (e, r, n, i) {
+ for (var a = Math.min(2, 3 - i.style.size), s = a; s < n.length && n[s].type !== 'stack'; s++) {
+ var l = ey(e, nbe(n[s]), 'math'),
+ u = l.height + l.depth;
+ if (n[s].type === 'small') {
+ var h = i.havingBaseStyle(n[s].style);
+ u *= h.sizeMultiplier;
+ }
+ if (u > r) return n[s];
+ }
+ return n[n.length - 1];
+ }, 'traverseSequence')),
+ (i$ = o(function (e, r, n, i, a, s) {
+ e === '<' || e === '\\lt' || e === '\u27E8'
+ ? (e = '\\langle')
+ : (e === '>' || e === '\\gt' || e === '\u27E9') && (e = '\\rangle');
+ var l;
+ Vt.contains(t$, e) ? (l = tbe) : Vt.contains(e$, e) ? (l = r$) : (l = rbe);
+ var u = n$(e, r, l, i);
+ return u.type === 'small'
+ ? Xxe(e, u.style, n, i, a, s)
+ : u.type === 'large'
+ ? ZG(e, u.size, n, i, a, s)
+ : JG(e, r, n, i, a, s);
+ }, 'makeCustomSizedDelim')),
+ (ibe = o(function (e, r, n, i, a, s) {
+ var l = i.fontMetrics().axisHeight * i.sizeMultiplier,
+ u = 901,
+ h = 5 / i.fontMetrics().ptPerEm,
+ f = Math.max(r - l, n + l),
+ d = Math.max((f / 500) * u, 2 * f - h);
+ return i$(e, d, !0, i, a, s);
+ }, 'makeLeftRightDelim')),
+ (au = {
+ sqrtImage: Zxe,
+ sizedDelim: ebe,
+ sizeToMaxHeight: ty,
+ customSizedDelim: i$,
+ leftRightDelim: ibe
+ }),
+ (cG = {
+ '\\bigl': { mclass: 'mopen', size: 1 },
+ '\\Bigl': { mclass: 'mopen', size: 2 },
+ '\\biggl': { mclass: 'mopen', size: 3 },
+ '\\Biggl': { mclass: 'mopen', size: 4 },
+ '\\bigr': { mclass: 'mclose', size: 1 },
+ '\\Bigr': { mclass: 'mclose', size: 2 },
+ '\\biggr': { mclass: 'mclose', size: 3 },
+ '\\Biggr': { mclass: 'mclose', size: 4 },
+ '\\bigm': { mclass: 'mrel', size: 1 },
+ '\\Bigm': { mclass: 'mrel', size: 2 },
+ '\\biggm': { mclass: 'mrel', size: 3 },
+ '\\Biggm': { mclass: 'mrel', size: 4 },
+ '\\big': { mclass: 'mord', size: 1 },
+ '\\Big': { mclass: 'mord', size: 2 },
+ '\\bigg': { mclass: 'mord', size: 3 },
+ '\\Bigg': { mclass: 'mord', size: 4 }
+ }),
+ (abe = [
+ '(',
+ '\\lparen',
+ ')',
+ '\\rparen',
+ '[',
+ '\\lbrack',
+ ']',
+ '\\rbrack',
+ '\\{',
+ '\\lbrace',
+ '\\}',
+ '\\rbrace',
+ '\\lfloor',
+ '\\rfloor',
+ '\u230A',
+ '\u230B',
+ '\\lceil',
+ '\\rceil',
+ '\u2308',
+ '\u2309',
+ '<',
+ '>',
+ '\\langle',
+ '\u27E8',
+ '\\rangle',
+ '\u27E9',
+ '\\lt',
+ '\\gt',
+ '\\lvert',
+ '\\rvert',
+ '\\lVert',
+ '\\rVert',
+ '\\lgroup',
+ '\\rgroup',
+ '\u27EE',
+ '\u27EF',
+ '\\lmoustache',
+ '\\rmoustache',
+ '\u23B0',
+ '\u23B1',
+ '/',
+ '\\backslash',
+ '|',
+ '\\vert',
+ '\\|',
+ '\\Vert',
+ '\\uparrow',
+ '\\Uparrow',
+ '\\downarrow',
+ '\\Downarrow',
+ '\\updownarrow',
+ '\\Updownarrow',
+ '.'
+ ]);
+ o(E4, 'checkDelimiter');
+ vt({
+ type: 'delimsizing',
+ names: [
+ '\\bigl',
+ '\\Bigl',
+ '\\biggl',
+ '\\Biggl',
+ '\\bigr',
+ '\\Bigr',
+ '\\biggr',
+ '\\Biggr',
+ '\\bigm',
+ '\\Bigm',
+ '\\biggm',
+ '\\Biggm',
+ '\\big',
+ '\\Big',
+ '\\bigg',
+ '\\Bigg'
+ ],
+ props: { numArgs: 1, argTypes: ['primitive'] },
+ handler: o((t, e) => {
+ var r = E4(e[0], t);
+ return {
+ type: 'delimsizing',
+ mode: t.parser.mode,
+ size: cG[t.funcName].size,
+ mclass: cG[t.funcName].mclass,
+ delim: r.text
+ };
+ }, 'handler'),
+ htmlBuilder: o(
+ (t, e) =>
+ t.delim === '.'
+ ? Be.makeSpan([t.mclass])
+ : au.sizedDelim(t.delim, t.size, e, t.mode, [t.mclass]),
+ 'htmlBuilder'
+ ),
+ mathmlBuilder: o((t) => {
+ var e = [];
+ t.delim !== '.' && e.push(_o(t.delim, t.mode));
+ var r = new et.MathNode('mo', e);
+ t.mclass === 'mopen' || t.mclass === 'mclose'
+ ? r.setAttribute('fence', 'true')
+ : r.setAttribute('fence', 'false'),
+ r.setAttribute('stretchy', 'true');
+ var n = ct(au.sizeToMaxHeight[t.size]);
+ return r.setAttribute('minsize', n), r.setAttribute('maxsize', n), r;
+ }, 'mathmlBuilder')
+ });
+ o(uG, 'assertParsed');
+ vt({
+ type: 'leftright-right',
+ names: ['\\right'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: o((t, e) => {
+ var r = t.parser.gullet.macros.get('\\current@color');
+ if (r && typeof r != 'string') throw new nt('\\current@color set to non-string in \\right');
+ return {
+ type: 'leftright-right',
+ mode: t.parser.mode,
+ delim: E4(e[0], t).text,
+ color: r
+ };
+ }, 'handler')
+ });
+ vt({
+ type: 'leftright',
+ names: ['\\left'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: o((t, e) => {
+ var r = E4(e[0], t),
+ n = t.parser;
+ ++n.leftrightDepth;
+ var i = n.parseExpression(!1);
+ --n.leftrightDepth, n.expect('\\right', !1);
+ var a = ir(n.parseFunction(), 'leftright-right');
+ return {
+ type: 'leftright',
+ mode: n.mode,
+ body: i,
+ left: r.text,
+ right: a.delim,
+ rightColor: a.color
+ };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ uG(t);
+ for (var r = Ri(t.body, e, !0, ['mopen', 'mclose']), n = 0, i = 0, a = !1, s = 0; s < r.length; s++)
+ r[s].isMiddle ? (a = !0) : ((n = Math.max(r[s].height, n)), (i = Math.max(r[s].depth, i)));
+ (n *= e.sizeMultiplier), (i *= e.sizeMultiplier);
+ var l;
+ if (
+ (t.left === '.'
+ ? (l = sy(e, ['mopen']))
+ : (l = au.leftRightDelim(t.left, n, i, e, t.mode, ['mopen'])),
+ r.unshift(l),
+ a)
+ )
+ for (var u = 1; u < r.length; u++) {
+ var h = r[u],
+ f = h.isMiddle;
+ f && (r[u] = au.leftRightDelim(f.delim, n, i, f.options, t.mode, []));
+ }
+ var d;
+ if (t.right === '.') d = sy(e, ['mclose']);
+ else {
+ var p = t.rightColor ? e.withColor(t.rightColor) : e;
+ d = au.leftRightDelim(t.right, n, i, p, t.mode, ['mclose']);
+ }
+ return r.push(d), Be.makeSpan(['minner'], r, e);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ uG(t);
+ var r = gs(t.body, e);
+ if (t.left !== '.') {
+ var n = new et.MathNode('mo', [_o(t.left, t.mode)]);
+ n.setAttribute('fence', 'true'), r.unshift(n);
+ }
+ if (t.right !== '.') {
+ var i = new et.MathNode('mo', [_o(t.right, t.mode)]);
+ i.setAttribute('fence', 'true'),
+ t.rightColor && i.setAttribute('mathcolor', t.rightColor),
+ r.push(i);
+ }
+ return O7(r);
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'middle',
+ names: ['\\middle'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: o((t, e) => {
+ var r = E4(e[0], t);
+ if (!t.parser.leftrightDepth) throw new nt('\\middle without preceding \\left', r);
+ return { type: 'middle', mode: t.parser.mode, delim: r.text };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r;
+ if (t.delim === '.') r = sy(e, []);
+ else {
+ r = au.sizedDelim(t.delim, 1, e, t.mode, []);
+ var n = { delim: t.delim, options: e };
+ r.isMiddle = n;
+ }
+ return r;
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = t.delim === '\\vert' || t.delim === '|' ? _o('|', 'text') : _o(t.delim, t.mode),
+ n = new et.MathNode('mo', [r]);
+ return (
+ n.setAttribute('fence', 'true'),
+ n.setAttribute('lspace', '0.05em'),
+ n.setAttribute('rspace', '0.05em'),
+ n
+ );
+ }, 'mathmlBuilder')
+ });
+ (G7 = o((t, e) => {
+ var r = Be.wrapFragment(Cr(t.body, e), e),
+ n = t.label.slice(1),
+ i = e.sizeMultiplier,
+ a,
+ s = 0,
+ l = Vt.isCharacterBox(t.body);
+ if (n === 'sout')
+ (a = Be.makeSpan(['stretchy', 'sout'])),
+ (a.height = e.fontMetrics().defaultRuleThickness / i),
+ (s = -0.5 * e.fontMetrics().xHeight);
+ else if (n === 'phase') {
+ var u = Hn({ number: 0.6, unit: 'pt' }, e),
+ h = Hn({ number: 0.35, unit: 'ex' }, e),
+ f = e.havingBaseSizing();
+ i = i / f.sizeMultiplier;
+ var d = r.height + r.depth + u + h;
+ r.style.paddingLeft = ct(d / 2 + u);
+ var p = Math.floor(1e3 * d * i),
+ m = exe(p),
+ g = new ll([new Jl('phase', m)], {
+ width: '400em',
+ height: ct(p / 1e3),
+ viewBox: '0 0 400000 ' + p,
+ preserveAspectRatio: 'xMinYMin slice'
+ });
+ (a = Be.makeSvgSpan(['hide-tail'], [g], e)), (a.style.height = ct(d)), (s = r.depth + u + h);
+ } else {
+ /cancel/.test(n)
+ ? l || r.classes.push('cancel-pad')
+ : n === 'angl'
+ ? r.classes.push('anglpad')
+ : r.classes.push('boxpad');
+ var y = 0,
+ v = 0,
+ x = 0;
+ /box/.test(n)
+ ? ((x = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness)),
+ (y = e.fontMetrics().fboxsep + (n === 'colorbox' ? 0 : x)),
+ (v = y))
+ : n === 'angl'
+ ? ((x = Math.max(e.fontMetrics().defaultRuleThickness, e.minRuleThickness)),
+ (y = 4 * x),
+ (v = Math.max(0, 0.25 - r.depth)))
+ : ((y = l ? 0.2 : 0), (v = y)),
+ (a = ou.encloseSpan(r, n, y, v, e)),
+ /fbox|boxed|fcolorbox/.test(n)
+ ? ((a.style.borderStyle = 'solid'), (a.style.borderWidth = ct(x)))
+ : n === 'angl' &&
+ x !== 0.049 &&
+ ((a.style.borderTopWidth = ct(x)), (a.style.borderRightWidth = ct(x))),
+ (s = r.depth + v),
+ t.backgroundColor &&
+ ((a.style.backgroundColor = t.backgroundColor),
+ t.borderColor && (a.style.borderColor = t.borderColor));
+ }
+ var b;
+ if (t.backgroundColor)
+ b = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: a, shift: s },
+ { type: 'elem', elem: r, shift: 0 }
+ ]
+ },
+ e
+ );
+ else {
+ var w = /cancel|phase/.test(n) ? ['svg-align'] : [];
+ b = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: r, shift: 0 },
+ { type: 'elem', elem: a, shift: s, wrapperClasses: w }
+ ]
+ },
+ e
+ );
+ }
+ return (
+ /cancel/.test(n) && ((b.height = r.height), (b.depth = r.depth)),
+ /cancel/.test(n) && !l ? Be.makeSpan(['mord', 'cancel-lap'], [b], e) : Be.makeSpan(['mord'], [b], e)
+ );
+ }, 'htmlBuilder$7')),
+ ($7 = o((t, e) => {
+ var r = 0,
+ n = new et.MathNode(t.label.indexOf('colorbox') > -1 ? 'mpadded' : 'menclose', [fn(t.body, e)]);
+ switch (t.label) {
+ case '\\cancel':
+ n.setAttribute('notation', 'updiagonalstrike');
+ break;
+ case '\\bcancel':
+ n.setAttribute('notation', 'downdiagonalstrike');
+ break;
+ case '\\phase':
+ n.setAttribute('notation', 'phasorangle');
+ break;
+ case '\\sout':
+ n.setAttribute('notation', 'horizontalstrike');
+ break;
+ case '\\fbox':
+ n.setAttribute('notation', 'box');
+ break;
+ case '\\angl':
+ n.setAttribute('notation', 'actuarial');
+ break;
+ case '\\fcolorbox':
+ case '\\colorbox':
+ if (
+ ((r = e.fontMetrics().fboxsep * e.fontMetrics().ptPerEm),
+ n.setAttribute('width', '+' + 2 * r + 'pt'),
+ n.setAttribute('height', '+' + 2 * r + 'pt'),
+ n.setAttribute('lspace', r + 'pt'),
+ n.setAttribute('voffset', r + 'pt'),
+ t.label === '\\fcolorbox')
+ ) {
+ var i = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness);
+ n.setAttribute('style', 'border: ' + i + 'em solid ' + String(t.borderColor));
+ }
+ break;
+ case '\\xcancel':
+ n.setAttribute('notation', 'updiagonalstrike downdiagonalstrike');
+ break;
+ }
+ return t.backgroundColor && n.setAttribute('mathbackground', t.backgroundColor), n;
+ }, 'mathmlBuilder$6'));
+ vt({
+ type: 'enclose',
+ names: ['\\colorbox'],
+ props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'text'] },
+ handler(t, e, r) {
+ var { parser: n, funcName: i } = t,
+ a = ir(e[0], 'color-token').color,
+ s = e[1];
+ return {
+ type: 'enclose',
+ mode: n.mode,
+ label: i,
+ backgroundColor: a,
+ body: s
+ };
+ },
+ htmlBuilder: G7,
+ mathmlBuilder: $7
+ });
+ vt({
+ type: 'enclose',
+ names: ['\\fcolorbox'],
+ props: {
+ numArgs: 3,
+ allowedInText: !0,
+ argTypes: ['color', 'color', 'text']
+ },
+ handler(t, e, r) {
+ var { parser: n, funcName: i } = t,
+ a = ir(e[0], 'color-token').color,
+ s = ir(e[1], 'color-token').color,
+ l = e[2];
+ return {
+ type: 'enclose',
+ mode: n.mode,
+ label: i,
+ backgroundColor: s,
+ borderColor: a,
+ body: l
+ };
+ },
+ htmlBuilder: G7,
+ mathmlBuilder: $7
+ });
+ vt({
+ type: 'enclose',
+ names: ['\\fbox'],
+ props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !0 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'enclose', mode: r.mode, label: '\\fbox', body: e[0] };
+ }
+ });
+ vt({
+ type: 'enclose',
+ names: ['\\cancel', '\\bcancel', '\\xcancel', '\\sout', '\\phase'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return { type: 'enclose', mode: r.mode, label: n, body: i };
+ },
+ htmlBuilder: G7,
+ mathmlBuilder: $7
+ });
+ vt({
+ type: 'enclose',
+ names: ['\\angl'],
+ props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !1 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'enclose', mode: r.mode, label: '\\angl', body: e[0] };
+ }
+ });
+ a$ = {};
+ o(ec, 'defineEnvironment');
+ s$ = {};
+ o(le, 'defineMacro');
+ o(hG, 'getHLines');
+ C4 = o((t) => {
+ var e = t.parser.settings;
+ if (!e.displayMode) throw new nt('{' + t.envName + '} can be used only in display mode.');
+ }, 'validateAmsEnvironmentContext');
+ o(V7, 'getAutoTag');
+ o(mh, 'parseArray');
+ o(U7, 'dCellStyle');
+ (tc = o(function (e, r) {
+ var n,
+ i,
+ a = e.body.length,
+ s = e.hLinesBeforeRow,
+ l = 0,
+ u = new Array(a),
+ h = [],
+ f = Math.max(r.fontMetrics().arrayRuleWidth, r.minRuleThickness),
+ d = 1 / r.fontMetrics().ptPerEm,
+ p = 5 * d;
+ if (e.colSeparationType && e.colSeparationType === 'small') {
+ var m = r.havingStyle(Ht.SCRIPT).sizeMultiplier;
+ p = 0.2778 * (m / r.sizeMultiplier);
+ }
+ var g = e.colSeparationType === 'CD' ? Hn({ number: 3, unit: 'ex' }, r) : 12 * d,
+ y = 3 * d,
+ v = e.arraystretch * g,
+ x = 0.7 * v,
+ b = 0.3 * v,
+ w = 0;
+ function S(ke) {
+ for (var Ie = 0; Ie < ke.length; ++Ie) Ie > 0 && (w += 0.25), h.push({ pos: w, isDashed: ke[Ie] });
+ }
+ for (o(S, 'setHLinePos'), S(s[0]), n = 0; n < e.body.length; ++n) {
+ var T = e.body[n],
+ E = x,
+ _ = b;
+ l < T.length && (l = T.length);
+ var A = new Array(T.length);
+ for (i = 0; i < T.length; ++i) {
+ var L = Cr(T[i], r);
+ _ < L.depth && (_ = L.depth), E < L.height && (E = L.height), (A[i] = L);
+ }
+ var M = e.rowGaps[n],
+ N = 0;
+ M && ((N = Hn(M, r)), N > 0 && ((N += b), _ < N && (_ = N), (N = 0))),
+ e.addJot && (_ += y),
+ (A.height = E),
+ (A.depth = _),
+ (w += E),
+ (A.pos = w),
+ (w += _ + N),
+ (u[n] = A),
+ S(s[n + 1]);
+ }
+ var k = w / 2 + r.fontMetrics().axisHeight,
+ I = e.cols || [],
+ C = [],
+ O,
+ D,
+ P = [];
+ if (e.tags && e.tags.some((ke) => ke))
+ for (n = 0; n < a; ++n) {
+ var F = u[n],
+ B = F.pos - k,
+ $ = e.tags[n],
+ z = void 0;
+ $ === !0
+ ? (z = Be.makeSpan(['eqn-num'], [], r))
+ : $ === !1
+ ? (z = Be.makeSpan([], [], r))
+ : (z = Be.makeSpan([], Ri($, r, !0), r)),
+ (z.depth = F.depth),
+ (z.height = F.height),
+ P.push({ type: 'elem', elem: z, shift: B });
+ }
+ for (i = 0, D = 0; i < l || D < I.length; ++i, ++D) {
+ for (var Y = I[D] || {}, Q = !0; Y.type === 'separator'; ) {
+ if (
+ (Q ||
+ ((O = Be.makeSpan(['arraycolsep'], [])),
+ (O.style.width = ct(r.fontMetrics().doubleRuleSep)),
+ C.push(O)),
+ Y.separator === '|' || Y.separator === ':')
+ ) {
+ var X = Y.separator === '|' ? 'solid' : 'dashed',
+ ie = Be.makeSpan(['vertical-separator'], [], r);
+ (ie.style.height = ct(w)),
+ (ie.style.borderRightWidth = ct(f)),
+ (ie.style.borderRightStyle = X),
+ (ie.style.margin = '0 ' + ct(-f / 2));
+ var j = w - k;
+ j && (ie.style.verticalAlign = ct(-j)), C.push(ie);
+ } else throw new nt('Invalid separator type: ' + Y.separator);
+ D++, (Y = I[D] || {}), (Q = !1);
+ }
+ if (!(i >= l)) {
+ var J = void 0;
+ (i > 0 || e.hskipBeforeAndAfter) &&
+ ((J = Vt.deflt(Y.pregap, p)),
+ J !== 0 && ((O = Be.makeSpan(['arraycolsep'], [])), (O.style.width = ct(J)), C.push(O)));
+ var Z = [];
+ for (n = 0; n < a; ++n) {
+ var H = u[n],
+ q = H[i];
+ if (q) {
+ var K = H.pos - k;
+ (q.depth = H.depth), (q.height = H.height), Z.push({ type: 'elem', elem: q, shift: K });
+ }
+ }
+ (Z = Be.makeVList({ positionType: 'individualShift', children: Z }, r)),
+ (Z = Be.makeSpan(['col-align-' + (Y.align || 'c')], [Z])),
+ C.push(Z),
+ (i < l - 1 || e.hskipBeforeAndAfter) &&
+ ((J = Vt.deflt(Y.postgap, p)),
+ J !== 0 &&
+ ((O = Be.makeSpan(['arraycolsep'], [])), (O.style.width = ct(J)), C.push(O)));
+ }
+ }
+ if (((u = Be.makeSpan(['mtable'], C)), h.length > 0)) {
+ for (
+ var se = Be.makeLineSpan('hline', r, f),
+ ce = Be.makeLineSpan('hdashline', r, f),
+ ue = [{ type: 'elem', elem: u, shift: 0 }];
+ h.length > 0;
+
+ ) {
+ var te = h.pop(),
+ De = te.pos - k;
+ te.isDashed
+ ? ue.push({ type: 'elem', elem: ce, shift: De })
+ : ue.push({ type: 'elem', elem: se, shift: De });
+ }
+ u = Be.makeVList({ positionType: 'individualShift', children: ue }, r);
+ }
+ if (P.length === 0) return Be.makeSpan(['mord'], [u], r);
+ var oe = Be.makeVList({ positionType: 'individualShift', children: P }, r);
+ return (oe = Be.makeSpan(['tag'], [oe], r)), Be.makeFragment([u, oe]);
+ }, 'htmlBuilder')),
+ (sbe = { c: 'center ', l: 'left ', r: 'right ' }),
+ (rc = o(function (e, r) {
+ for (
+ var n = [],
+ i = new et.MathNode('mtd', [], ['mtr-glue']),
+ a = new et.MathNode('mtd', [], ['mml-eqn-num']),
+ s = 0;
+ s < e.body.length;
+ s++
+ ) {
+ for (var l = e.body[s], u = [], h = 0; h < l.length; h++)
+ u.push(new et.MathNode('mtd', [fn(l[h], r)]));
+ e.tags && e.tags[s] && (u.unshift(i), u.push(i), e.leqno ? u.unshift(a) : u.push(a)),
+ n.push(new et.MathNode('mtr', u));
+ }
+ var f = new et.MathNode('mtable', n),
+ d = e.arraystretch === 0.5 ? 0.1 : 0.16 + e.arraystretch - 1 + (e.addJot ? 0.09 : 0);
+ f.setAttribute('rowspacing', ct(d));
+ var p = '',
+ m = '';
+ if (e.cols && e.cols.length > 0) {
+ var g = e.cols,
+ y = '',
+ v = !1,
+ x = 0,
+ b = g.length;
+ g[0].type === 'separator' && ((p += 'top '), (x = 1)),
+ g[g.length - 1].type === 'separator' && ((p += 'bottom '), (b -= 1));
+ for (var w = x; w < b; w++)
+ g[w].type === 'align'
+ ? ((m += sbe[g[w].align]), v && (y += 'none '), (v = !0))
+ : g[w].type === 'separator' &&
+ v &&
+ ((y += g[w].separator === '|' ? 'solid ' : 'dashed '), (v = !1));
+ f.setAttribute('columnalign', m.trim()),
+ /[sd]/.test(y) && f.setAttribute('columnlines', y.trim());
+ }
+ if (e.colSeparationType === 'align') {
+ for (var S = e.cols || [], T = '', E = 1; E < S.length; E++) T += E % 2 ? '0em ' : '1em ';
+ f.setAttribute('columnspacing', T.trim());
+ } else e.colSeparationType === 'alignat' || e.colSeparationType === 'gather' ? f.setAttribute('columnspacing', '0em') : e.colSeparationType === 'small' ? f.setAttribute('columnspacing', '0.2778em') : e.colSeparationType === 'CD' ? f.setAttribute('columnspacing', '0.5em') : f.setAttribute('columnspacing', '1em');
+ var _ = '',
+ A = e.hLinesBeforeRow;
+ (p += A[0].length > 0 ? 'left ' : ''), (p += A[A.length - 1].length > 0 ? 'right ' : '');
+ for (var L = 1; L < A.length - 1; L++)
+ _ += A[L].length === 0 ? 'none ' : A[L][0] ? 'dashed ' : 'solid ';
+ return (
+ /[sd]/.test(_) && f.setAttribute('rowlines', _.trim()),
+ p !== '' && ((f = new et.MathNode('menclose', [f])), f.setAttribute('notation', p.trim())),
+ e.arraystretch &&
+ e.arraystretch < 1 &&
+ ((f = new et.MathNode('mstyle', [f])), f.setAttribute('scriptlevel', '1')),
+ f
+ );
+ }, 'mathmlBuilder')),
+ (o$ = o(function (e, r) {
+ e.envName.indexOf('ed') === -1 && C4(e);
+ var n = [],
+ i = e.envName.indexOf('at') > -1 ? 'alignat' : 'align',
+ a = e.envName === 'split',
+ s = mh(
+ e.parser,
+ {
+ cols: n,
+ addJot: !0,
+ autoTag: a ? void 0 : V7(e.envName),
+ emptySingleRow: !0,
+ colSeparationType: i,
+ maxNumCols: a ? 2 : void 0,
+ leqno: e.parser.settings.leqno
+ },
+ 'display'
+ ),
+ l,
+ u = 0,
+ h = { type: 'ordgroup', mode: e.mode, body: [] };
+ if (r[0] && r[0].type === 'ordgroup') {
+ for (var f = '', d = 0; d < r[0].body.length; d++) {
+ var p = ir(r[0].body[d], 'textord');
+ f += p.text;
+ }
+ (l = Number(f)), (u = l * 2);
+ }
+ var m = !u;
+ s.body.forEach(function (x) {
+ for (var b = 1; b < x.length; b += 2) {
+ var w = ir(x[b], 'styling'),
+ S = ir(w.body[0], 'ordgroup');
+ S.body.unshift(h);
+ }
+ if (m) u < x.length && (u = x.length);
+ else {
+ var T = x.length / 2;
+ if (l < T)
+ throw new nt('Too many math in a row: ' + ('expected ' + l + ', but got ' + T), x[0]);
+ }
+ });
+ for (var g = 0; g < u; ++g) {
+ var y = 'r',
+ v = 0;
+ g % 2 === 1 ? (y = 'l') : g > 0 && m && (v = 1),
+ (n[g] = { type: 'align', align: y, pregap: v, postgap: 0 });
+ }
+ return (s.colSeparationType = m ? 'align' : 'alignat'), s;
+ }, 'alignedHandler'));
+ ec({
+ type: 'array',
+ names: ['array', 'darray'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var r = T4(e[0]),
+ n = r ? [e[0]] : ir(e[0], 'ordgroup').body,
+ i = n.map(function (s) {
+ var l = B7(s),
+ u = l.text;
+ if ('lcr'.indexOf(u) !== -1) return { type: 'align', align: u };
+ if (u === '|') return { type: 'separator', separator: '|' };
+ if (u === ':') return { type: 'separator', separator: ':' };
+ throw new nt('Unknown column alignment: ' + u, s);
+ }),
+ a = { cols: i, hskipBeforeAndAfter: !0, maxNumCols: i.length };
+ return mh(t.parser, a, U7(t.envName));
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: [
+ 'matrix',
+ 'pmatrix',
+ 'bmatrix',
+ 'Bmatrix',
+ 'vmatrix',
+ 'Vmatrix',
+ 'matrix*',
+ 'pmatrix*',
+ 'bmatrix*',
+ 'Bmatrix*',
+ 'vmatrix*',
+ 'Vmatrix*'
+ ],
+ props: { numArgs: 0 },
+ handler(t) {
+ var e = {
+ matrix: null,
+ pmatrix: ['(', ')'],
+ bmatrix: ['[', ']'],
+ Bmatrix: ['\\{', '\\}'],
+ vmatrix: ['|', '|'],
+ Vmatrix: ['\\Vert', '\\Vert']
+ }[t.envName.replace('*', '')],
+ r = 'c',
+ n = {
+ hskipBeforeAndAfter: !1,
+ cols: [{ type: 'align', align: r }]
+ };
+ if (t.envName.charAt(t.envName.length - 1) === '*') {
+ var i = t.parser;
+ if ((i.consumeSpaces(), i.fetch().text === '[')) {
+ if ((i.consume(), i.consumeSpaces(), (r = i.fetch().text), 'lcr'.indexOf(r) === -1))
+ throw new nt('Expected l or c or r', i.nextToken);
+ i.consume(),
+ i.consumeSpaces(),
+ i.expect(']'),
+ i.consume(),
+ (n.cols = [{ type: 'align', align: r }]);
+ }
+ }
+ var a = mh(t.parser, n, U7(t.envName)),
+ s = Math.max(0, ...a.body.map((l) => l.length));
+ return (
+ (a.cols = new Array(s).fill({ type: 'align', align: r })),
+ e
+ ? {
+ type: 'leftright',
+ mode: t.mode,
+ body: [a],
+ left: e[0],
+ right: e[1],
+ rightColor: void 0
+ }
+ : a
+ );
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['smallmatrix'],
+ props: { numArgs: 0 },
+ handler(t) {
+ var e = { arraystretch: 0.5 },
+ r = mh(t.parser, e, 'script');
+ return (r.colSeparationType = 'small'), r;
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['subarray'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var r = T4(e[0]),
+ n = r ? [e[0]] : ir(e[0], 'ordgroup').body,
+ i = n.map(function (s) {
+ var l = B7(s),
+ u = l.text;
+ if ('lc'.indexOf(u) !== -1) return { type: 'align', align: u };
+ throw new nt('Unknown column alignment: ' + u, s);
+ });
+ if (i.length > 1) throw new nt('{subarray} can contain only one column');
+ var a = { cols: i, hskipBeforeAndAfter: !1, arraystretch: 0.5 };
+ if (((a = mh(t.parser, a, 'script')), a.body.length > 0 && a.body[0].length > 1))
+ throw new nt('{subarray} can contain only one column');
+ return a;
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['cases', 'dcases', 'rcases', 'drcases'],
+ props: { numArgs: 0 },
+ handler(t) {
+ var e = {
+ arraystretch: 1.2,
+ cols: [
+ { type: 'align', align: 'l', pregap: 0, postgap: 1 },
+ { type: 'align', align: 'l', pregap: 0, postgap: 0 }
+ ]
+ },
+ r = mh(t.parser, e, U7(t.envName));
+ return {
+ type: 'leftright',
+ mode: t.mode,
+ body: [r],
+ left: t.envName.indexOf('r') > -1 ? '.' : '\\{',
+ right: t.envName.indexOf('r') > -1 ? '\\}' : '.',
+ rightColor: void 0
+ };
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['align', 'align*', 'aligned', 'split'],
+ props: { numArgs: 0 },
+ handler: o$,
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['gathered', 'gather', 'gather*'],
+ props: { numArgs: 0 },
+ handler(t) {
+ Vt.contains(['gather', 'gather*'], t.envName) && C4(t);
+ var e = {
+ cols: [{ type: 'align', align: 'c' }],
+ addJot: !0,
+ colSeparationType: 'gather',
+ autoTag: V7(t.envName),
+ emptySingleRow: !0,
+ leqno: t.parser.settings.leqno
+ };
+ return mh(t.parser, e, 'display');
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['alignat', 'alignat*', 'alignedat'],
+ props: { numArgs: 1 },
+ handler: o$,
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['equation', 'equation*'],
+ props: { numArgs: 0 },
+ handler(t) {
+ C4(t);
+ var e = {
+ autoTag: V7(t.envName),
+ emptySingleRow: !0,
+ singleRow: !0,
+ maxNumCols: 1,
+ leqno: t.parser.settings.leqno
+ };
+ return mh(t.parser, e, 'display');
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['CD'],
+ props: { numArgs: 0 },
+ handler(t) {
+ return C4(t), Wxe(t.parser);
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ le('\\nonumber', '\\gdef\\@eqnsw{0}');
+ le('\\notag', '\\nonumber');
+ vt({
+ type: 'text',
+ names: ['\\hline', '\\hdashline'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 },
+ handler(t, e) {
+ throw new nt(t.funcName + ' valid only within array environment');
+ }
+ });
+ fG = a$;
+ vt({
+ type: 'environment',
+ names: ['\\begin', '\\end'],
+ props: { numArgs: 1, argTypes: ['text'] },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ if (i.type !== 'ordgroup') throw new nt('Invalid environment name', i);
+ for (var a = '', s = 0; s < i.body.length; ++s) a += ir(i.body[s], 'textord').text;
+ if (n === '\\begin') {
+ if (!fG.hasOwnProperty(a)) throw new nt('No such environment: ' + a, i);
+ var l = fG[a],
+ { args: u, optArgs: h } = r.parseArguments('\\begin{' + a + '}', l),
+ f = { mode: r.mode, envName: a, parser: r },
+ d = l.handler(f, u, h);
+ r.expect('\\end', !1);
+ var p = r.nextToken,
+ m = ir(r.parseFunction(), 'environment');
+ if (m.name !== a)
+ throw new nt('Mismatch: \\begin{' + a + '} matched by \\end{' + m.name + '}', p);
+ return d;
+ }
+ return { type: 'environment', mode: r.mode, name: a, nameGroup: i };
+ }
+ });
+ (l$ = o((t, e) => {
+ var r = t.font,
+ n = e.withFont(r);
+ return Cr(t.body, n);
+ }, 'htmlBuilder$5')),
+ (c$ = o((t, e) => {
+ var r = t.font,
+ n = e.withFont(r);
+ return fn(t.body, n);
+ }, 'mathmlBuilder$4')),
+ (dG = {
+ '\\Bbb': '\\mathbb',
+ '\\bold': '\\mathbf',
+ '\\frak': '\\mathfrak',
+ '\\bm': '\\boldsymbol'
+ });
+ vt({
+ type: 'font',
+ names: [
+ '\\mathrm',
+ '\\mathit',
+ '\\mathbf',
+ '\\mathnormal',
+ '\\mathbb',
+ '\\mathcal',
+ '\\mathfrak',
+ '\\mathscr',
+ '\\mathsf',
+ '\\mathtt',
+ '\\Bbb',
+ '\\bold',
+ '\\frak'
+ ],
+ props: { numArgs: 1, allowedInArgument: !0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = y4(e[0]),
+ a = n;
+ return a in dG && (a = dG[a]), { type: 'font', mode: r.mode, font: a.slice(1), body: i };
+ }, 'handler'),
+ htmlBuilder: l$,
+ mathmlBuilder: c$
+ });
+ vt({
+ type: 'mclass',
+ names: ['\\boldsymbol', '\\bm'],
+ props: { numArgs: 1 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[0],
+ i = Vt.isCharacterBox(n);
+ return {
+ type: 'mclass',
+ mode: r.mode,
+ mclass: k4(n),
+ body: [{ type: 'font', mode: r.mode, font: 'boldsymbol', body: n }],
+ isCharacterBox: i
+ };
+ }, 'handler')
+ });
+ vt({
+ type: 'font',
+ names: ['\\rm', '\\sf', '\\tt', '\\bf', '\\it', '\\cal'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n, breakOnTokenText: i } = t,
+ { mode: a } = r,
+ s = r.parseExpression(!0, i),
+ l = 'math' + n.slice(1);
+ return {
+ type: 'font',
+ mode: a,
+ font: l,
+ body: { type: 'ordgroup', mode: r.mode, body: s }
+ };
+ }, 'handler'),
+ htmlBuilder: l$,
+ mathmlBuilder: c$
+ });
+ (u$ = o((t, e) => {
+ var r = e;
+ return (
+ t === 'display'
+ ? (r = r.id >= Ht.SCRIPT.id ? r.text() : Ht.DISPLAY)
+ : t === 'text' && r.size === Ht.DISPLAY.size
+ ? (r = Ht.TEXT)
+ : t === 'script'
+ ? (r = Ht.SCRIPT)
+ : t === 'scriptscript' && (r = Ht.SCRIPTSCRIPT),
+ r
+ );
+ }, 'adjustStyle')),
+ (H7 = o((t, e) => {
+ var r = u$(t.size, e.style),
+ n = r.fracNum(),
+ i = r.fracDen(),
+ a;
+ a = e.havingStyle(n);
+ var s = Cr(t.numer, a, e);
+ if (t.continued) {
+ var l = 8.5 / e.fontMetrics().ptPerEm,
+ u = 3.5 / e.fontMetrics().ptPerEm;
+ (s.height = s.height < l ? l : s.height), (s.depth = s.depth < u ? u : s.depth);
+ }
+ a = e.havingStyle(i);
+ var h = Cr(t.denom, a, e),
+ f,
+ d,
+ p;
+ t.hasBarLine
+ ? (t.barSize
+ ? ((d = Hn(t.barSize, e)), (f = Be.makeLineSpan('frac-line', e, d)))
+ : (f = Be.makeLineSpan('frac-line', e)),
+ (d = f.height),
+ (p = f.height))
+ : ((f = null), (d = 0), (p = e.fontMetrics().defaultRuleThickness));
+ var m, g, y;
+ r.size === Ht.DISPLAY.size || t.size === 'display'
+ ? ((m = e.fontMetrics().num1), d > 0 ? (g = 3 * p) : (g = 7 * p), (y = e.fontMetrics().denom1))
+ : (d > 0 ? ((m = e.fontMetrics().num2), (g = p)) : ((m = e.fontMetrics().num3), (g = 3 * p)),
+ (y = e.fontMetrics().denom2));
+ var v;
+ if (f) {
+ var b = e.fontMetrics().axisHeight;
+ m - s.depth - (b + 0.5 * d) < g && (m += g - (m - s.depth - (b + 0.5 * d))),
+ b - 0.5 * d - (h.height - y) < g && (y += g - (b - 0.5 * d - (h.height - y)));
+ var w = -(b - 0.5 * d);
+ v = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: h, shift: y },
+ { type: 'elem', elem: f, shift: w },
+ { type: 'elem', elem: s, shift: -m }
+ ]
+ },
+ e
+ );
+ } else {
+ var x = m - s.depth - (h.height - y);
+ x < g && ((m += 0.5 * (g - x)), (y += 0.5 * (g - x))),
+ (v = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: h, shift: y },
+ { type: 'elem', elem: s, shift: -m }
+ ]
+ },
+ e
+ ));
+ }
+ (a = e.havingStyle(r)),
+ (v.height *= a.sizeMultiplier / e.sizeMultiplier),
+ (v.depth *= a.sizeMultiplier / e.sizeMultiplier);
+ var S;
+ r.size === Ht.DISPLAY.size
+ ? (S = e.fontMetrics().delim1)
+ : r.size === Ht.SCRIPTSCRIPT.size
+ ? (S = e.havingStyle(Ht.SCRIPT).fontMetrics().delim2)
+ : (S = e.fontMetrics().delim2);
+ var T, E;
+ return (
+ t.leftDelim == null
+ ? (T = sy(e, ['mopen']))
+ : (T = au.customSizedDelim(t.leftDelim, S, !0, e.havingStyle(r), t.mode, ['mopen'])),
+ t.continued
+ ? (E = Be.makeSpan([]))
+ : t.rightDelim == null
+ ? (E = sy(e, ['mclose']))
+ : (E = au.customSizedDelim(t.rightDelim, S, !0, e.havingStyle(r), t.mode, ['mclose'])),
+ Be.makeSpan(['mord'].concat(a.sizingClasses(e)), [T, Be.makeSpan(['mfrac'], [v]), E], e)
+ );
+ }, 'htmlBuilder$4')),
+ (Y7 = o((t, e) => {
+ var r = new et.MathNode('mfrac', [fn(t.numer, e), fn(t.denom, e)]);
+ if (!t.hasBarLine) r.setAttribute('linethickness', '0px');
+ else if (t.barSize) {
+ var n = Hn(t.barSize, e);
+ r.setAttribute('linethickness', ct(n));
+ }
+ var i = u$(t.size, e.style);
+ if (i.size !== e.style.size) {
+ r = new et.MathNode('mstyle', [r]);
+ var a = i.size === Ht.DISPLAY.size ? 'true' : 'false';
+ r.setAttribute('displaystyle', a), r.setAttribute('scriptlevel', '0');
+ }
+ if (t.leftDelim != null || t.rightDelim != null) {
+ var s = [];
+ if (t.leftDelim != null) {
+ var l = new et.MathNode('mo', [new et.TextNode(t.leftDelim.replace('\\', ''))]);
+ l.setAttribute('fence', 'true'), s.push(l);
+ }
+ if ((s.push(r), t.rightDelim != null)) {
+ var u = new et.MathNode('mo', [new et.TextNode(t.rightDelim.replace('\\', ''))]);
+ u.setAttribute('fence', 'true'), s.push(u);
+ }
+ return O7(s);
+ }
+ return r;
+ }, 'mathmlBuilder$3'));
+ vt({
+ type: 'genfrac',
+ names: [
+ '\\dfrac',
+ '\\frac',
+ '\\tfrac',
+ '\\dbinom',
+ '\\binom',
+ '\\tbinom',
+ '\\\\atopfrac',
+ '\\\\bracefrac',
+ '\\\\brackfrac'
+ ],
+ props: { numArgs: 2, allowedInArgument: !0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0],
+ a = e[1],
+ s,
+ l = null,
+ u = null,
+ h = 'auto';
+ switch (n) {
+ case '\\dfrac':
+ case '\\frac':
+ case '\\tfrac':
+ s = !0;
+ break;
+ case '\\\\atopfrac':
+ s = !1;
+ break;
+ case '\\dbinom':
+ case '\\binom':
+ case '\\tbinom':
+ (s = !1), (l = '('), (u = ')');
+ break;
+ case '\\\\bracefrac':
+ (s = !1), (l = '\\{'), (u = '\\}');
+ break;
+ case '\\\\brackfrac':
+ (s = !1), (l = '['), (u = ']');
+ break;
+ default:
+ throw new Error('Unrecognized genfrac command');
+ }
+ switch (n) {
+ case '\\dfrac':
+ case '\\dbinom':
+ h = 'display';
+ break;
+ case '\\tfrac':
+ case '\\tbinom':
+ h = 'text';
+ break;
+ }
+ return {
+ type: 'genfrac',
+ mode: r.mode,
+ continued: !1,
+ numer: i,
+ denom: a,
+ hasBarLine: s,
+ leftDelim: l,
+ rightDelim: u,
+ size: h,
+ barSize: null
+ };
+ }, 'handler'),
+ htmlBuilder: H7,
+ mathmlBuilder: Y7
+ });
+ vt({
+ type: 'genfrac',
+ names: ['\\cfrac'],
+ props: { numArgs: 2 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0],
+ a = e[1];
+ return {
+ type: 'genfrac',
+ mode: r.mode,
+ continued: !0,
+ numer: i,
+ denom: a,
+ hasBarLine: !0,
+ leftDelim: null,
+ rightDelim: null,
+ size: 'display',
+ barSize: null
+ };
+ }, 'handler')
+ });
+ vt({
+ type: 'infix',
+ names: ['\\over', '\\choose', '\\atop', '\\brace', '\\brack'],
+ props: { numArgs: 0, infix: !0 },
+ handler(t) {
+ var { parser: e, funcName: r, token: n } = t,
+ i;
+ switch (r) {
+ case '\\over':
+ i = '\\frac';
+ break;
+ case '\\choose':
+ i = '\\binom';
+ break;
+ case '\\atop':
+ i = '\\\\atopfrac';
+ break;
+ case '\\brace':
+ i = '\\\\bracefrac';
+ break;
+ case '\\brack':
+ i = '\\\\brackfrac';
+ break;
+ default:
+ throw new Error('Unrecognized infix genfrac command');
+ }
+ return { type: 'infix', mode: e.mode, replaceWith: i, token: n };
+ }
+ });
+ (pG = ['display', 'text', 'script', 'scriptscript']),
+ (mG = o(function (e) {
+ var r = null;
+ return e.length > 0 && ((r = e), (r = r === '.' ? null : r)), r;
+ }, 'delimFromValue'));
+ vt({
+ type: 'genfrac',
+ names: ['\\genfrac'],
+ props: {
+ numArgs: 6,
+ allowedInArgument: !0,
+ argTypes: ['math', 'math', 'size', 'text', 'math', 'math']
+ },
+ handler(t, e) {
+ var { parser: r } = t,
+ n = e[4],
+ i = e[5],
+ a = y4(e[0]),
+ s = a.type === 'atom' && a.family === 'open' ? mG(a.text) : null,
+ l = y4(e[1]),
+ u = l.type === 'atom' && l.family === 'close' ? mG(l.text) : null,
+ h = ir(e[2], 'size'),
+ f,
+ d = null;
+ h.isBlank ? (f = !0) : ((d = h.value), (f = d.number > 0));
+ var p = 'auto',
+ m = e[3];
+ if (m.type === 'ordgroup') {
+ if (m.body.length > 0) {
+ var g = ir(m.body[0], 'textord');
+ p = pG[Number(g.text)];
+ }
+ } else (m = ir(m, 'textord')), (p = pG[Number(m.text)]);
+ return {
+ type: 'genfrac',
+ mode: r.mode,
+ numer: n,
+ denom: i,
+ continued: !1,
+ hasBarLine: f,
+ barSize: d,
+ leftDelim: s,
+ rightDelim: u,
+ size: p
+ };
+ },
+ htmlBuilder: H7,
+ mathmlBuilder: Y7
+ });
+ vt({
+ type: 'infix',
+ names: ['\\above'],
+ props: { numArgs: 1, argTypes: ['size'], infix: !0 },
+ handler(t, e) {
+ var { parser: r, funcName: n, token: i } = t;
+ return {
+ type: 'infix',
+ mode: r.mode,
+ replaceWith: '\\\\abovefrac',
+ size: ir(e[0], 'size').value,
+ token: i
+ };
+ }
+ });
+ vt({
+ type: 'genfrac',
+ names: ['\\\\abovefrac'],
+ props: { numArgs: 3, argTypes: ['math', 'size', 'math'] },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0],
+ a = z2e(ir(e[1], 'infix').size),
+ s = e[2],
+ l = a.number > 0;
+ return {
+ type: 'genfrac',
+ mode: r.mode,
+ numer: i,
+ denom: s,
+ continued: !1,
+ hasBarLine: l,
+ barSize: a,
+ leftDelim: null,
+ rightDelim: null,
+ size: 'auto'
+ };
+ }, 'handler'),
+ htmlBuilder: H7,
+ mathmlBuilder: Y7
+ });
+ (h$ = o((t, e) => {
+ var r = e.style,
+ n,
+ i;
+ t.type === 'supsub'
+ ? ((n = t.sup ? Cr(t.sup, e.havingStyle(r.sup()), e) : Cr(t.sub, e.havingStyle(r.sub()), e)),
+ (i = ir(t.base, 'horizBrace')))
+ : (i = ir(t, 'horizBrace'));
+ var a = Cr(i.base, e.havingBaseStyle(Ht.DISPLAY)),
+ s = ou.svgSpan(i, e),
+ l;
+ if (
+ (i.isOver
+ ? ((l = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: a },
+ { type: 'kern', size: 0.1 },
+ { type: 'elem', elem: s }
+ ]
+ },
+ e
+ )),
+ l.children[0].children[0].children[1].classes.push('svg-align'))
+ : ((l = Be.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: a.depth + 0.1 + s.height,
+ children: [
+ { type: 'elem', elem: s },
+ { type: 'kern', size: 0.1 },
+ { type: 'elem', elem: a }
+ ]
+ },
+ e
+ )),
+ l.children[0].children[0].children[0].classes.push('svg-align')),
+ n)
+ ) {
+ var u = Be.makeSpan(['mord', i.isOver ? 'mover' : 'munder'], [l], e);
+ i.isOver
+ ? (l = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: u },
+ { type: 'kern', size: 0.2 },
+ { type: 'elem', elem: n }
+ ]
+ },
+ e
+ ))
+ : (l = Be.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: u.depth + 0.2 + n.height + n.depth,
+ children: [
+ { type: 'elem', elem: n },
+ { type: 'kern', size: 0.2 },
+ { type: 'elem', elem: u }
+ ]
+ },
+ e
+ ));
+ }
+ return Be.makeSpan(['mord', i.isOver ? 'mover' : 'munder'], [l], e);
+ }, 'htmlBuilder$3')),
+ (obe = o((t, e) => {
+ var r = ou.mathMLnode(t.label);
+ return new et.MathNode(t.isOver ? 'mover' : 'munder', [fn(t.base, e), r]);
+ }, 'mathmlBuilder$2'));
+ vt({
+ type: 'horizBrace',
+ names: ['\\overbrace', '\\underbrace'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t;
+ return {
+ type: 'horizBrace',
+ mode: r.mode,
+ label: n,
+ isOver: /^\\over/.test(n),
+ base: e[0]
+ };
+ },
+ htmlBuilder: h$,
+ mathmlBuilder: obe
+ });
+ vt({
+ type: 'href',
+ names: ['\\href'],
+ props: { numArgs: 2, argTypes: ['url', 'original'], allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[1],
+ i = ir(e[0], 'url').url;
+ return r.settings.isTrusted({ command: '\\href', url: i })
+ ? { type: 'href', mode: r.mode, href: i, body: ui(n) }
+ : r.formatUnsupportedCmd('\\href');
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Ri(t.body, e, !1);
+ return Be.makeAnchor(t.href, [], r, e);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = ph(t.body, e);
+ return r instanceof ps || (r = new ps('mrow', [r])), r.setAttribute('href', t.href), r;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'href',
+ names: ['\\url'],
+ props: { numArgs: 1, argTypes: ['url'], allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = ir(e[0], 'url').url;
+ if (!r.settings.isTrusted({ command: '\\url', url: n })) return r.formatUnsupportedCmd('\\url');
+ for (var i = [], a = 0; a < n.length; a++) {
+ var s = n[a];
+ s === '~' && (s = '\\textasciitilde'), i.push({ type: 'textord', mode: 'text', text: s });
+ }
+ var l = { type: 'text', mode: r.mode, font: '\\texttt', body: i };
+ return { type: 'href', mode: r.mode, href: n, body: ui(l) };
+ }, 'handler')
+ });
+ vt({
+ type: 'hbox',
+ names: ['\\hbox'],
+ props: {
+ numArgs: 1,
+ argTypes: ['text'],
+ allowedInText: !0,
+ primitive: !0
+ },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'hbox', mode: r.mode, body: ui(e[0]) };
+ },
+ htmlBuilder(t, e) {
+ var r = Ri(t.body, e, !1);
+ return Be.makeFragment(r);
+ },
+ mathmlBuilder(t, e) {
+ return new et.MathNode('mrow', gs(t.body, e));
+ }
+ });
+ vt({
+ type: 'html',
+ names: ['\\htmlClass', '\\htmlId', '\\htmlStyle', '\\htmlData'],
+ props: { numArgs: 2, argTypes: ['raw', 'original'], allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n, token: i } = t,
+ a = ir(e[0], 'raw').string,
+ s = e[1];
+ r.settings.strict &&
+ r.settings.reportNonstrict('htmlExtension', 'HTML extension is disabled on strict mode');
+ var l,
+ u = {};
+ switch (n) {
+ case '\\htmlClass':
+ (u.class = a), (l = { command: '\\htmlClass', class: a });
+ break;
+ case '\\htmlId':
+ (u.id = a), (l = { command: '\\htmlId', id: a });
+ break;
+ case '\\htmlStyle':
+ (u.style = a), (l = { command: '\\htmlStyle', style: a });
+ break;
+ case '\\htmlData': {
+ for (var h = a.split(','), f = 0; f < h.length; f++) {
+ var d = h[f].split('=');
+ if (d.length !== 2) throw new nt('Error parsing key-value for \\htmlData');
+ u['data-' + d[0].trim()] = d[1].trim();
+ }
+ l = { command: '\\htmlData', attributes: u };
+ break;
+ }
+ default:
+ throw new Error('Unrecognized html command');
+ }
+ return r.settings.isTrusted(l)
+ ? { type: 'html', mode: r.mode, attributes: u, body: ui(s) }
+ : r.formatUnsupportedCmd(n);
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Ri(t.body, e, !1),
+ n = ['enclosing'];
+ t.attributes.class && n.push(...t.attributes.class.trim().split(/\s+/));
+ var i = Be.makeSpan(n, r, e);
+ for (var a in t.attributes)
+ a !== 'class' && t.attributes.hasOwnProperty(a) && i.setAttribute(a, t.attributes[a]);
+ return i;
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => ph(t.body, e), 'mathmlBuilder')
+ });
+ vt({
+ type: 'htmlmathml',
+ names: ['\\html@mathml'],
+ props: { numArgs: 2, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t;
+ return {
+ type: 'htmlmathml',
+ mode: r.mode,
+ html: ui(e[0]),
+ mathml: ui(e[1])
+ };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Ri(t.html, e, !1);
+ return Be.makeFragment(r);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => ph(t.mathml, e), 'mathmlBuilder')
+ });
+ g7 = o(function (e) {
+ if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e)) return { number: +e, unit: 'bp' };
+ var r = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);
+ if (!r) throw new nt("Invalid size: '" + e + "' in \\includegraphics");
+ var n = { number: +(r[1] + r[2]), unit: r[3] };
+ if (!DG(n)) throw new nt("Invalid unit: '" + n.unit + "' in \\includegraphics.");
+ return n;
+ }, 'sizeData');
+ vt({
+ type: 'includegraphics',
+ names: ['\\includegraphics'],
+ props: {
+ numArgs: 1,
+ numOptionalArgs: 1,
+ argTypes: ['raw', 'url'],
+ allowedInText: !1
+ },
+ handler: o((t, e, r) => {
+ var { parser: n } = t,
+ i = { number: 0, unit: 'em' },
+ a = { number: 0.9, unit: 'em' },
+ s = { number: 0, unit: 'em' },
+ l = '';
+ if (r[0])
+ for (var u = ir(r[0], 'raw').string, h = u.split(','), f = 0; f < h.length; f++) {
+ var d = h[f].split('=');
+ if (d.length === 2) {
+ var p = d[1].trim();
+ switch (d[0].trim()) {
+ case 'alt':
+ l = p;
+ break;
+ case 'width':
+ i = g7(p);
+ break;
+ case 'height':
+ a = g7(p);
+ break;
+ case 'totalheight':
+ s = g7(p);
+ break;
+ default:
+ throw new nt("Invalid key: '" + d[0] + "' in \\includegraphics.");
+ }
+ }
+ }
+ var m = ir(e[0], 'url').url;
+ return (
+ l === '' &&
+ ((l = m), (l = l.replace(/^.*[\\/]/, '')), (l = l.substring(0, l.lastIndexOf('.')))),
+ n.settings.isTrusted({ command: '\\includegraphics', url: m })
+ ? {
+ type: 'includegraphics',
+ mode: n.mode,
+ alt: l,
+ width: i,
+ height: a,
+ totalheight: s,
+ src: m
+ }
+ : n.formatUnsupportedCmd('\\includegraphics')
+ );
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Hn(t.height, e),
+ n = 0;
+ t.totalheight.number > 0 && (n = Hn(t.totalheight, e) - r);
+ var i = 0;
+ t.width.number > 0 && (i = Hn(t.width, e));
+ var a = { height: ct(r + n) };
+ i > 0 && (a.width = ct(i)), n > 0 && (a.verticalAlign = ct(-n));
+ var s = new T7(t.src, t.alt, a);
+ return (s.height = r), (s.depth = n), s;
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = new et.MathNode('mglyph', []);
+ r.setAttribute('alt', t.alt);
+ var n = Hn(t.height, e),
+ i = 0;
+ if (
+ (t.totalheight.number > 0 && ((i = Hn(t.totalheight, e) - n), r.setAttribute('valign', ct(-i))),
+ r.setAttribute('height', ct(n + i)),
+ t.width.number > 0)
+ ) {
+ var a = Hn(t.width, e);
+ r.setAttribute('width', ct(a));
+ }
+ return r.setAttribute('src', t.src), r;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'kern',
+ names: ['\\kern', '\\mkern', '\\hskip', '\\mskip'],
+ props: {
+ numArgs: 1,
+ argTypes: ['size'],
+ primitive: !0,
+ allowedInText: !0
+ },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = ir(e[0], 'size');
+ if (r.settings.strict) {
+ var a = n[1] === 'm',
+ s = i.value.unit === 'mu';
+ a
+ ? (s ||
+ r.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + n + ' supports only mu units, ' + ('not ' + i.value.unit + ' units')
+ ),
+ r.mode !== 'math' &&
+ r.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + n + ' works only in math mode'
+ ))
+ : s &&
+ r.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + n + " doesn't support mu units"
+ );
+ }
+ return { type: 'kern', mode: r.mode, dimension: i.value };
+ },
+ htmlBuilder(t, e) {
+ return Be.makeGlue(t.dimension, e);
+ },
+ mathmlBuilder(t, e) {
+ var r = Hn(t.dimension, e);
+ return new et.SpaceNode(r);
+ }
+ });
+ vt({
+ type: 'lap',
+ names: ['\\mathllap', '\\mathrlap', '\\mathclap'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return { type: 'lap', mode: r.mode, alignment: n.slice(5), body: i };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r;
+ t.alignment === 'clap'
+ ? ((r = Be.makeSpan([], [Cr(t.body, e)])), (r = Be.makeSpan(['inner'], [r], e)))
+ : (r = Be.makeSpan(['inner'], [Cr(t.body, e)]));
+ var n = Be.makeSpan(['fix'], []),
+ i = Be.makeSpan([t.alignment], [r, n], e),
+ a = Be.makeSpan(['strut']);
+ return (
+ (a.style.height = ct(i.height + i.depth)),
+ i.depth && (a.style.verticalAlign = ct(-i.depth)),
+ i.children.unshift(a),
+ (i = Be.makeSpan(['thinbox'], [i], e)),
+ Be.makeSpan(['mord', 'vbox'], [i], e)
+ );
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = new et.MathNode('mpadded', [fn(t.body, e)]);
+ if (t.alignment !== 'rlap') {
+ var n = t.alignment === 'llap' ? '-1' : '-0.5';
+ r.setAttribute('lspace', n + 'width');
+ }
+ return r.setAttribute('width', '0px'), r;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'styling',
+ names: ['\\(', '$'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
+ handler(t, e) {
+ var { funcName: r, parser: n } = t,
+ i = n.mode;
+ n.switchMode('math');
+ var a = r === '\\(' ? '\\)' : '$',
+ s = n.parseExpression(!1, a);
+ return n.expect(a), n.switchMode(i), { type: 'styling', mode: n.mode, style: 'text', body: s };
+ }
+ });
+ vt({
+ type: 'text',
+ names: ['\\)', '\\]'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
+ handler(t, e) {
+ throw new nt('Mismatched ' + t.funcName);
+ }
+ });
+ gG = o((t, e) => {
+ switch (e.style.size) {
+ case Ht.DISPLAY.size:
+ return t.display;
+ case Ht.TEXT.size:
+ return t.text;
+ case Ht.SCRIPT.size:
+ return t.script;
+ case Ht.SCRIPTSCRIPT.size:
+ return t.scriptscript;
+ default:
+ return t.text;
+ }
+ }, 'chooseMathStyle');
+ vt({
+ type: 'mathchoice',
+ names: ['\\mathchoice'],
+ props: { numArgs: 4, primitive: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t;
+ return {
+ type: 'mathchoice',
+ mode: r.mode,
+ display: ui(e[0]),
+ text: ui(e[1]),
+ script: ui(e[2]),
+ scriptscript: ui(e[3])
+ };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = gG(t, e),
+ n = Ri(r, e, !1);
+ return Be.makeFragment(n);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = gG(t, e);
+ return ph(r, e);
+ }, 'mathmlBuilder')
+ });
+ (f$ = o((t, e, r, n, i, a, s) => {
+ t = Be.makeSpan([], [t]);
+ var l = r && Vt.isCharacterBox(r),
+ u,
+ h;
+ if (e) {
+ var f = Cr(e, n.havingStyle(i.sup()), n);
+ h = {
+ elem: f,
+ kern: Math.max(n.fontMetrics().bigOpSpacing1, n.fontMetrics().bigOpSpacing3 - f.depth)
+ };
+ }
+ if (r) {
+ var d = Cr(r, n.havingStyle(i.sub()), n);
+ u = {
+ elem: d,
+ kern: Math.max(n.fontMetrics().bigOpSpacing2, n.fontMetrics().bigOpSpacing4 - d.height)
+ };
+ }
+ var p;
+ if (h && u) {
+ var m = n.fontMetrics().bigOpSpacing5 + u.elem.height + u.elem.depth + u.kern + t.depth + s;
+ p = Be.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: m,
+ children: [
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 },
+ { type: 'elem', elem: u.elem, marginLeft: ct(-a) },
+ { type: 'kern', size: u.kern },
+ { type: 'elem', elem: t },
+ { type: 'kern', size: h.kern },
+ { type: 'elem', elem: h.elem, marginLeft: ct(a) },
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 }
+ ]
+ },
+ n
+ );
+ } else if (u) {
+ var g = t.height - s;
+ p = Be.makeVList(
+ {
+ positionType: 'top',
+ positionData: g,
+ children: [
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 },
+ { type: 'elem', elem: u.elem, marginLeft: ct(-a) },
+ { type: 'kern', size: u.kern },
+ { type: 'elem', elem: t }
+ ]
+ },
+ n
+ );
+ } else if (h) {
+ var y = t.depth + s;
+ p = Be.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: y,
+ children: [
+ { type: 'elem', elem: t },
+ { type: 'kern', size: h.kern },
+ { type: 'elem', elem: h.elem, marginLeft: ct(a) },
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 }
+ ]
+ },
+ n
+ );
+ } else return t;
+ var v = [p];
+ if (u && a !== 0 && !l) {
+ var x = Be.makeSpan(['mspace'], [], n);
+ (x.style.marginRight = ct(a)), v.unshift(x);
+ }
+ return Be.makeSpan(['mop', 'op-limits'], v, n);
+ }, 'assembleSupSub')),
+ (d$ = ['\\smallint']),
+ (xp = o((t, e) => {
+ var r,
+ n,
+ i = !1,
+ a;
+ t.type === 'supsub'
+ ? ((r = t.sup), (n = t.sub), (a = ir(t.base, 'op')), (i = !0))
+ : (a = ir(t, 'op'));
+ var s = e.style,
+ l = !1;
+ s.size === Ht.DISPLAY.size && a.symbol && !Vt.contains(d$, a.name) && (l = !0);
+ var u;
+ if (a.symbol) {
+ var h = l ? 'Size2-Regular' : 'Size1-Regular',
+ f = '';
+ if (
+ ((a.name === '\\oiint' || a.name === '\\oiiint') &&
+ ((f = a.name.slice(1)), (a.name = f === 'oiint' ? '\\iint' : '\\iiint')),
+ (u = Be.makeSymbol(a.name, h, 'math', e, [
+ 'mop',
+ 'op-symbol',
+ l ? 'large-op' : 'small-op'
+ ])),
+ f.length > 0)
+ ) {
+ var d = u.italic,
+ p = Be.staticSvg(f + 'Size' + (l ? '2' : '1'), e);
+ (u = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: u, shift: 0 },
+ { type: 'elem', elem: p, shift: l ? 0.08 : 0 }
+ ]
+ },
+ e
+ )),
+ (a.name = '\\' + f),
+ u.classes.unshift('mop'),
+ (u.italic = d);
+ }
+ } else if (a.body) {
+ var m = Ri(a.body, e, !0);
+ m.length === 1 && m[0] instanceof ms
+ ? ((u = m[0]), (u.classes[0] = 'mop'))
+ : (u = Be.makeSpan(['mop'], m, e));
+ } else {
+ for (var g = [], y = 1; y < a.name.length; y++) g.push(Be.mathsym(a.name[y], a.mode, e));
+ u = Be.makeSpan(['mop'], g, e);
+ }
+ var v = 0,
+ x = 0;
+ return (
+ (u instanceof ms || a.name === '\\oiint' || a.name === '\\oiiint') &&
+ !a.suppressBaseShift &&
+ ((v = (u.height - u.depth) / 2 - e.fontMetrics().axisHeight), (x = u.italic)),
+ i ? f$(u, r, n, e, s, x, v) : (v && ((u.style.position = 'relative'), (u.style.top = ct(v))), u)
+ );
+ }, 'htmlBuilder$2')),
+ (oy = o((t, e) => {
+ var r;
+ if (t.symbol)
+ (r = new ps('mo', [_o(t.name, t.mode)])),
+ Vt.contains(d$, t.name) && r.setAttribute('largeop', 'false');
+ else if (t.body) r = new ps('mo', gs(t.body, e));
+ else {
+ r = new ps('mi', [new qf(t.name.slice(1))]);
+ var n = new ps('mo', [_o('\u2061', 'text')]);
+ t.parentIsSupSub ? (r = new ps('mrow', [r, n])) : (r = $G([r, n]));
+ }
+ return r;
+ }, 'mathmlBuilder$1')),
+ (lbe = {
+ '\u220F': '\\prod',
+ '\u2210': '\\coprod',
+ '\u2211': '\\sum',
+ '\u22C0': '\\bigwedge',
+ '\u22C1': '\\bigvee',
+ '\u22C2': '\\bigcap',
+ '\u22C3': '\\bigcup',
+ '\u2A00': '\\bigodot',
+ '\u2A01': '\\bigoplus',
+ '\u2A02': '\\bigotimes',
+ '\u2A04': '\\biguplus',
+ '\u2A06': '\\bigsqcup'
+ });
+ vt({
+ type: 'op',
+ names: [
+ '\\coprod',
+ '\\bigvee',
+ '\\bigwedge',
+ '\\biguplus',
+ '\\bigcap',
+ '\\bigcup',
+ '\\intop',
+ '\\prod',
+ '\\sum',
+ '\\bigotimes',
+ '\\bigoplus',
+ '\\bigodot',
+ '\\bigsqcup',
+ '\\smallint',
+ '\u220F',
+ '\u2210',
+ '\u2211',
+ '\u22C0',
+ '\u22C1',
+ '\u22C2',
+ '\u22C3',
+ '\u2A00',
+ '\u2A01',
+ '\u2A02',
+ '\u2A04',
+ '\u2A06'
+ ],
+ props: { numArgs: 0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = n;
+ return (
+ i.length === 1 && (i = lbe[i]),
+ {
+ type: 'op',
+ mode: r.mode,
+ limits: !0,
+ parentIsSupSub: !1,
+ symbol: !0,
+ name: i
+ }
+ );
+ }, 'handler'),
+ htmlBuilder: xp,
+ mathmlBuilder: oy
+ });
+ vt({
+ type: 'op',
+ names: ['\\mathop'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[0];
+ return {
+ type: 'op',
+ mode: r.mode,
+ limits: !1,
+ parentIsSupSub: !1,
+ symbol: !1,
+ body: ui(n)
+ };
+ }, 'handler'),
+ htmlBuilder: xp,
+ mathmlBuilder: oy
+ });
+ cbe = {
+ '\u222B': '\\int',
+ '\u222C': '\\iint',
+ '\u222D': '\\iiint',
+ '\u222E': '\\oint',
+ '\u222F': '\\oiint',
+ '\u2230': '\\oiiint'
+ };
+ vt({
+ type: 'op',
+ names: [
+ '\\arcsin',
+ '\\arccos',
+ '\\arctan',
+ '\\arctg',
+ '\\arcctg',
+ '\\arg',
+ '\\ch',
+ '\\cos',
+ '\\cosec',
+ '\\cosh',
+ '\\cot',
+ '\\cotg',
+ '\\coth',
+ '\\csc',
+ '\\ctg',
+ '\\cth',
+ '\\deg',
+ '\\dim',
+ '\\exp',
+ '\\hom',
+ '\\ker',
+ '\\lg',
+ '\\ln',
+ '\\log',
+ '\\sec',
+ '\\sin',
+ '\\sinh',
+ '\\sh',
+ '\\tan',
+ '\\tanh',
+ '\\tg',
+ '\\th'
+ ],
+ props: { numArgs: 0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t;
+ return {
+ type: 'op',
+ mode: e.mode,
+ limits: !1,
+ parentIsSupSub: !1,
+ symbol: !1,
+ name: r
+ };
+ },
+ htmlBuilder: xp,
+ mathmlBuilder: oy
+ });
+ vt({
+ type: 'op',
+ names: ['\\det', '\\gcd', '\\inf', '\\lim', '\\max', '\\min', '\\Pr', '\\sup'],
+ props: { numArgs: 0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t;
+ return {
+ type: 'op',
+ mode: e.mode,
+ limits: !0,
+ parentIsSupSub: !1,
+ symbol: !1,
+ name: r
+ };
+ },
+ htmlBuilder: xp,
+ mathmlBuilder: oy
+ });
+ vt({
+ type: 'op',
+ names: [
+ '\\int',
+ '\\iint',
+ '\\iiint',
+ '\\oint',
+ '\\oiint',
+ '\\oiiint',
+ '\u222B',
+ '\u222C',
+ '\u222D',
+ '\u222E',
+ '\u222F',
+ '\u2230'
+ ],
+ props: { numArgs: 0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t,
+ n = r;
+ return (
+ n.length === 1 && (n = cbe[n]),
+ {
+ type: 'op',
+ mode: e.mode,
+ limits: !1,
+ parentIsSupSub: !1,
+ symbol: !0,
+ name: n
+ }
+ );
+ },
+ htmlBuilder: xp,
+ mathmlBuilder: oy
+ });
+ (p$ = o((t, e) => {
+ var r,
+ n,
+ i = !1,
+ a;
+ t.type === 'supsub'
+ ? ((r = t.sup), (n = t.sub), (a = ir(t.base, 'operatorname')), (i = !0))
+ : (a = ir(t, 'operatorname'));
+ var s;
+ if (a.body.length > 0) {
+ for (
+ var l = a.body.map((d) => {
+ var p = d.text;
+ return typeof p == 'string' ? { type: 'textord', mode: d.mode, text: p } : d;
+ }),
+ u = Ri(l, e.withFont('mathrm'), !0),
+ h = 0;
+ h < u.length;
+ h++
+ ) {
+ var f = u[h];
+ f instanceof ms && (f.text = f.text.replace(/\u2212/, '-').replace(/\u2217/, '*'));
+ }
+ s = Be.makeSpan(['mop'], u, e);
+ } else s = Be.makeSpan(['mop'], [], e);
+ return i ? f$(s, r, n, e, e.style, 0, 0) : s;
+ }, 'htmlBuilder$1')),
+ (ube = o((t, e) => {
+ for (var r = gs(t.body, e.withFont('mathrm')), n = !0, i = 0; i < r.length; i++) {
+ var a = r[i];
+ if (!(a instanceof et.SpaceNode))
+ if (a instanceof et.MathNode)
+ switch (a.type) {
+ case 'mi':
+ case 'mn':
+ case 'ms':
+ case 'mspace':
+ case 'mtext':
+ break;
+ case 'mo': {
+ var s = a.children[0];
+ a.children.length === 1 && s instanceof et.TextNode
+ ? (s.text = s.text.replace(/\u2212/, '-').replace(/\u2217/, '*'))
+ : (n = !1);
+ break;
+ }
+ default:
+ n = !1;
+ }
+ else n = !1;
+ }
+ if (n) {
+ var l = r.map((f) => f.toText()).join('');
+ r = [new et.TextNode(l)];
+ }
+ var u = new et.MathNode('mi', r);
+ u.setAttribute('mathvariant', 'normal');
+ var h = new et.MathNode('mo', [_o('\u2061', 'text')]);
+ return t.parentIsSupSub ? new et.MathNode('mrow', [u, h]) : et.newDocumentFragment([u, h]);
+ }, 'mathmlBuilder'));
+ vt({
+ type: 'operatorname',
+ names: ['\\operatorname@', '\\operatornamewithlimits'],
+ props: { numArgs: 1 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return {
+ type: 'operatorname',
+ mode: r.mode,
+ body: ui(i),
+ alwaysHandleSupSub: n === '\\operatornamewithlimits',
+ limits: !1,
+ parentIsSupSub: !1
+ };
+ }, 'handler'),
+ htmlBuilder: p$,
+ mathmlBuilder: ube
+ });
+ le('\\operatorname', '\\@ifstar\\operatornamewithlimits\\operatorname@');
+ Kf({
+ type: 'ordgroup',
+ htmlBuilder(t, e) {
+ return t.semisimple
+ ? Be.makeFragment(Ri(t.body, e, !1))
+ : Be.makeSpan(['mord'], Ri(t.body, e, !0), e);
+ },
+ mathmlBuilder(t, e) {
+ return ph(t.body, e, !0);
+ }
+ });
+ vt({
+ type: 'overline',
+ names: ['\\overline'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var { parser: r } = t,
+ n = e[0];
+ return { type: 'overline', mode: r.mode, body: n };
+ },
+ htmlBuilder(t, e) {
+ var r = Cr(t.body, e.havingCrampedStyle()),
+ n = Be.makeLineSpan('overline-line', e),
+ i = e.fontMetrics().defaultRuleThickness,
+ a = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: r },
+ { type: 'kern', size: 3 * i },
+ { type: 'elem', elem: n },
+ { type: 'kern', size: i }
+ ]
+ },
+ e
+ );
+ return Be.makeSpan(['mord', 'overline'], [a], e);
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mo', [new et.TextNode('\u203E')]);
+ r.setAttribute('stretchy', 'true');
+ var n = new et.MathNode('mover', [fn(t.body, e), r]);
+ return n.setAttribute('accent', 'true'), n;
+ }
+ });
+ vt({
+ type: 'phantom',
+ names: ['\\phantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[0];
+ return { type: 'phantom', mode: r.mode, body: ui(n) };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Ri(t.body, e.withPhantom(), !1);
+ return Be.makeFragment(r);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = gs(t.body, e);
+ return new et.MathNode('mphantom', r);
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'hphantom',
+ names: ['\\hphantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[0];
+ return { type: 'hphantom', mode: r.mode, body: n };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Be.makeSpan([], [Cr(t.body, e.withPhantom())]);
+ if (((r.height = 0), (r.depth = 0), r.children))
+ for (var n = 0; n < r.children.length; n++)
+ (r.children[n].height = 0), (r.children[n].depth = 0);
+ return (
+ (r = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [{ type: 'elem', elem: r }]
+ },
+ e
+ )),
+ Be.makeSpan(['mord'], [r], e)
+ );
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = gs(ui(t.body), e),
+ n = new et.MathNode('mphantom', r),
+ i = new et.MathNode('mpadded', [n]);
+ return i.setAttribute('height', '0px'), i.setAttribute('depth', '0px'), i;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'vphantom',
+ names: ['\\vphantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[0];
+ return { type: 'vphantom', mode: r.mode, body: n };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Be.makeSpan(['inner'], [Cr(t.body, e.withPhantom())]),
+ n = Be.makeSpan(['fix'], []);
+ return Be.makeSpan(['mord', 'rlap'], [r, n], e);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = gs(ui(t.body), e),
+ n = new et.MathNode('mphantom', r),
+ i = new et.MathNode('mpadded', [n]);
+ return i.setAttribute('width', '0px'), i;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'raisebox',
+ names: ['\\raisebox'],
+ props: { numArgs: 2, argTypes: ['size', 'hbox'], allowedInText: !0 },
+ handler(t, e) {
+ var { parser: r } = t,
+ n = ir(e[0], 'size').value,
+ i = e[1];
+ return { type: 'raisebox', mode: r.mode, dy: n, body: i };
+ },
+ htmlBuilder(t, e) {
+ var r = Cr(t.body, e),
+ n = Hn(t.dy, e);
+ return Be.makeVList(
+ {
+ positionType: 'shift',
+ positionData: -n,
+ children: [{ type: 'elem', elem: r }]
+ },
+ e
+ );
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mpadded', [fn(t.body, e)]),
+ n = t.dy.number + t.dy.unit;
+ return r.setAttribute('voffset', n), r;
+ }
+ });
+ vt({
+ type: 'internal',
+ names: ['\\relax'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler(t) {
+ var { parser: e } = t;
+ return { type: 'internal', mode: e.mode };
+ }
+ });
+ vt({
+ type: 'rule',
+ names: ['\\rule'],
+ props: {
+ numArgs: 2,
+ numOptionalArgs: 1,
+ argTypes: ['size', 'size', 'size']
+ },
+ handler(t, e, r) {
+ var { parser: n } = t,
+ i = r[0],
+ a = ir(e[0], 'size'),
+ s = ir(e[1], 'size');
+ return {
+ type: 'rule',
+ mode: n.mode,
+ shift: i && ir(i, 'size').value,
+ width: a.value,
+ height: s.value
+ };
+ },
+ htmlBuilder(t, e) {
+ var r = Be.makeSpan(['mord', 'rule'], [], e),
+ n = Hn(t.width, e),
+ i = Hn(t.height, e),
+ a = t.shift ? Hn(t.shift, e) : 0;
+ return (
+ (r.style.borderRightWidth = ct(n)),
+ (r.style.borderTopWidth = ct(i)),
+ (r.style.bottom = ct(a)),
+ (r.width = n),
+ (r.height = i + a),
+ (r.depth = -a),
+ (r.maxFontSize = i * 1.125 * e.sizeMultiplier),
+ r
+ );
+ },
+ mathmlBuilder(t, e) {
+ var r = Hn(t.width, e),
+ n = Hn(t.height, e),
+ i = t.shift ? Hn(t.shift, e) : 0,
+ a = (e.color && e.getColor()) || 'black',
+ s = new et.MathNode('mspace');
+ s.setAttribute('mathbackground', a),
+ s.setAttribute('width', ct(r)),
+ s.setAttribute('height', ct(n));
+ var l = new et.MathNode('mpadded', [s]);
+ return (
+ i >= 0
+ ? l.setAttribute('height', ct(i))
+ : (l.setAttribute('height', ct(i)), l.setAttribute('depth', ct(-i))),
+ l.setAttribute('voffset', ct(i)),
+ l
+ );
+ }
+ });
+ o(m$, 'sizingGroup');
+ (yG = [
+ '\\tiny',
+ '\\sixptsize',
+ '\\scriptsize',
+ '\\footnotesize',
+ '\\small',
+ '\\normalsize',
+ '\\large',
+ '\\Large',
+ '\\LARGE',
+ '\\huge',
+ '\\Huge'
+ ]),
+ (hbe = o((t, e) => {
+ var r = e.havingSize(t.size);
+ return m$(t.body, r, e);
+ }, 'htmlBuilder'));
+ vt({
+ type: 'sizing',
+ names: yG,
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { breakOnTokenText: r, funcName: n, parser: i } = t,
+ a = i.parseExpression(!1, r);
+ return {
+ type: 'sizing',
+ mode: i.mode,
+ size: yG.indexOf(n) + 1,
+ body: a
+ };
+ }, 'handler'),
+ htmlBuilder: hbe,
+ mathmlBuilder: o((t, e) => {
+ var r = e.havingSize(t.size),
+ n = gs(t.body, r),
+ i = new et.MathNode('mstyle', n);
+ return i.setAttribute('mathsize', ct(r.sizeMultiplier)), i;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'smash',
+ names: ['\\smash'],
+ props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 },
+ handler: o((t, e, r) => {
+ var { parser: n } = t,
+ i = !1,
+ a = !1,
+ s = r[0] && ir(r[0], 'ordgroup');
+ if (s)
+ for (var l = '', u = 0; u < s.body.length; ++u) {
+ var h = s.body[u];
+ if (((l = h.text), l === 't')) i = !0;
+ else if (l === 'b') a = !0;
+ else {
+ (i = !1), (a = !1);
+ break;
+ }
+ }
+ else (i = !0), (a = !0);
+ var f = e[0];
+ return {
+ type: 'smash',
+ mode: n.mode,
+ body: f,
+ smashHeight: i,
+ smashDepth: a
+ };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Be.makeSpan([], [Cr(t.body, e)]);
+ if (!t.smashHeight && !t.smashDepth) return r;
+ if (t.smashHeight && ((r.height = 0), r.children))
+ for (var n = 0; n < r.children.length; n++) r.children[n].height = 0;
+ if (t.smashDepth && ((r.depth = 0), r.children))
+ for (var i = 0; i < r.children.length; i++) r.children[i].depth = 0;
+ var a = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [{ type: 'elem', elem: r }]
+ },
+ e
+ );
+ return Be.makeSpan(['mord'], [a], e);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = new et.MathNode('mpadded', [fn(t.body, e)]);
+ return (
+ t.smashHeight && r.setAttribute('height', '0px'),
+ t.smashDepth && r.setAttribute('depth', '0px'),
+ r
+ );
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'sqrt',
+ names: ['\\sqrt'],
+ props: { numArgs: 1, numOptionalArgs: 1 },
+ handler(t, e, r) {
+ var { parser: n } = t,
+ i = r[0],
+ a = e[0];
+ return { type: 'sqrt', mode: n.mode, body: a, index: i };
+ },
+ htmlBuilder(t, e) {
+ var r = Cr(t.body, e.havingCrampedStyle());
+ r.height === 0 && (r.height = e.fontMetrics().xHeight), (r = Be.wrapFragment(r, e));
+ var n = e.fontMetrics(),
+ i = n.defaultRuleThickness,
+ a = i;
+ e.style.id < Ht.TEXT.id && (a = e.fontMetrics().xHeight);
+ var s = i + a / 4,
+ l = r.height + r.depth + s + i,
+ { span: u, ruleWidth: h, advanceWidth: f } = au.sqrtImage(l, e),
+ d = u.height - h;
+ d > r.height + r.depth + s && (s = (s + d - r.height - r.depth) / 2);
+ var p = u.height - r.height - s - h;
+ r.style.paddingLeft = ct(f);
+ var m = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: r, wrapperClasses: ['svg-align'] },
+ { type: 'kern', size: -(r.height + p) },
+ { type: 'elem', elem: u },
+ { type: 'kern', size: h }
+ ]
+ },
+ e
+ );
+ if (t.index) {
+ var g = e.havingStyle(Ht.SCRIPTSCRIPT),
+ y = Cr(t.index, g, e),
+ v = 0.6 * (m.height - m.depth),
+ x = Be.makeVList(
+ {
+ positionType: 'shift',
+ positionData: -v,
+ children: [{ type: 'elem', elem: y }]
+ },
+ e
+ ),
+ b = Be.makeSpan(['root'], [x]);
+ return Be.makeSpan(['mord', 'sqrt'], [b, m], e);
+ } else return Be.makeSpan(['mord', 'sqrt'], [m], e);
+ },
+ mathmlBuilder(t, e) {
+ var { body: r, index: n } = t;
+ return n ? new et.MathNode('mroot', [fn(r, e), fn(n, e)]) : new et.MathNode('msqrt', [fn(r, e)]);
+ }
+ });
+ vG = {
+ display: Ht.DISPLAY,
+ text: Ht.TEXT,
+ script: Ht.SCRIPT,
+ scriptscript: Ht.SCRIPTSCRIPT
+ };
+ vt({
+ type: 'styling',
+ names: ['\\displaystyle', '\\textstyle', '\\scriptstyle', '\\scriptscriptstyle'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(t, e) {
+ var { breakOnTokenText: r, funcName: n, parser: i } = t,
+ a = i.parseExpression(!0, r),
+ s = n.slice(1, n.length - 5);
+ return { type: 'styling', mode: i.mode, style: s, body: a };
+ },
+ htmlBuilder(t, e) {
+ var r = vG[t.style],
+ n = e.havingStyle(r).withFont('');
+ return m$(t.body, n, e);
+ },
+ mathmlBuilder(t, e) {
+ var r = vG[t.style],
+ n = e.havingStyle(r),
+ i = gs(t.body, n),
+ a = new et.MathNode('mstyle', i),
+ s = {
+ display: ['0', 'true'],
+ text: ['0', 'false'],
+ script: ['1', 'false'],
+ scriptscript: ['2', 'false']
+ },
+ l = s[t.style];
+ return a.setAttribute('scriptlevel', l[0]), a.setAttribute('displaystyle', l[1]), a;
+ }
+ });
+ fbe = o(function (e, r) {
+ var n = e.base;
+ if (n)
+ if (n.type === 'op') {
+ var i = n.limits && (r.style.size === Ht.DISPLAY.size || n.alwaysHandleSupSub);
+ return i ? xp : null;
+ } else if (n.type === 'operatorname') {
+ var a = n.alwaysHandleSupSub && (r.style.size === Ht.DISPLAY.size || n.limits);
+ return a ? p$ : null;
+ } else {
+ if (n.type === 'accent') return Vt.isCharacterBox(n.base) ? F7 : null;
+ if (n.type === 'horizBrace') {
+ var s = !e.sub;
+ return s === n.isOver ? h$ : null;
+ } else return null;
+ }
+ else return null;
+ }, 'htmlBuilderDelegate');
+ Kf({
+ type: 'supsub',
+ htmlBuilder(t, e) {
+ var r = fbe(t, e);
+ if (r) return r(t, e);
+ var { base: n, sup: i, sub: a } = t,
+ s = Cr(n, e),
+ l,
+ u,
+ h = e.fontMetrics(),
+ f = 0,
+ d = 0,
+ p = n && Vt.isCharacterBox(n);
+ if (i) {
+ var m = e.havingStyle(e.style.sup());
+ (l = Cr(i, m, e)),
+ p || (f = s.height - (m.fontMetrics().supDrop * m.sizeMultiplier) / e.sizeMultiplier);
+ }
+ if (a) {
+ var g = e.havingStyle(e.style.sub());
+ (u = Cr(a, g, e)),
+ p || (d = s.depth + (g.fontMetrics().subDrop * g.sizeMultiplier) / e.sizeMultiplier);
+ }
+ var y;
+ e.style === Ht.DISPLAY ? (y = h.sup1) : e.style.cramped ? (y = h.sup3) : (y = h.sup2);
+ var v = e.sizeMultiplier,
+ x = ct(0.5 / h.ptPerEm / v),
+ b = null;
+ if (u) {
+ var w =
+ t.base &&
+ t.base.type === 'op' &&
+ t.base.name &&
+ (t.base.name === '\\oiint' || t.base.name === '\\oiiint');
+ (s instanceof ms || w) && (b = ct(-s.italic));
+ }
+ var S;
+ if (l && u) {
+ (f = Math.max(f, y, l.depth + 0.25 * h.xHeight)), (d = Math.max(d, h.sub2));
+ var T = h.defaultRuleThickness,
+ E = 4 * T;
+ if (f - l.depth - (u.height - d) < E) {
+ d = E - (f - l.depth) + u.height;
+ var _ = 0.8 * h.xHeight - (f - l.depth);
+ _ > 0 && ((f += _), (d -= _));
+ }
+ var A = [
+ {
+ type: 'elem',
+ elem: u,
+ shift: d,
+ marginRight: x,
+ marginLeft: b
+ },
+ { type: 'elem', elem: l, shift: -f, marginRight: x }
+ ];
+ S = Be.makeVList({ positionType: 'individualShift', children: A }, e);
+ } else if (u) {
+ d = Math.max(d, h.sub1, u.height - 0.8 * h.xHeight);
+ var L = [{ type: 'elem', elem: u, marginLeft: b, marginRight: x }];
+ S = Be.makeVList({ positionType: 'shift', positionData: d, children: L }, e);
+ } else if (l)
+ (f = Math.max(f, y, l.depth + 0.25 * h.xHeight)),
+ (S = Be.makeVList(
+ {
+ positionType: 'shift',
+ positionData: -f,
+ children: [{ type: 'elem', elem: l, marginRight: x }]
+ },
+ e
+ ));
+ else throw new Error('supsub must have either sup or sub.');
+ var M = E7(s, 'right') || 'mord';
+ return Be.makeSpan([M], [s, Be.makeSpan(['msupsub'], [S])], e);
+ },
+ mathmlBuilder(t, e) {
+ var r = !1,
+ n,
+ i;
+ t.base &&
+ t.base.type === 'horizBrace' &&
+ ((i = !!t.sup), i === t.base.isOver && ((r = !0), (n = t.base.isOver))),
+ t.base &&
+ (t.base.type === 'op' || t.base.type === 'operatorname') &&
+ (t.base.parentIsSupSub = !0);
+ var a = [fn(t.base, e)];
+ t.sub && a.push(fn(t.sub, e)), t.sup && a.push(fn(t.sup, e));
+ var s;
+ if (r) s = n ? 'mover' : 'munder';
+ else if (t.sub)
+ if (t.sup) {
+ var h = t.base;
+ (h && h.type === 'op' && h.limits && e.style === Ht.DISPLAY) ||
+ (h &&
+ h.type === 'operatorname' &&
+ h.alwaysHandleSupSub &&
+ (e.style === Ht.DISPLAY || h.limits))
+ ? (s = 'munderover')
+ : (s = 'msubsup');
+ } else {
+ var u = t.base;
+ (u && u.type === 'op' && u.limits && (e.style === Ht.DISPLAY || u.alwaysHandleSupSub)) ||
+ (u &&
+ u.type === 'operatorname' &&
+ u.alwaysHandleSupSub &&
+ (u.limits || e.style === Ht.DISPLAY))
+ ? (s = 'munder')
+ : (s = 'msub');
+ }
+ else {
+ var l = t.base;
+ (l && l.type === 'op' && l.limits && (e.style === Ht.DISPLAY || l.alwaysHandleSupSub)) ||
+ (l && l.type === 'operatorname' && l.alwaysHandleSupSub && (l.limits || e.style === Ht.DISPLAY))
+ ? (s = 'mover')
+ : (s = 'msup');
+ }
+ return new et.MathNode(s, a);
+ }
+ });
+ Kf({
+ type: 'atom',
+ htmlBuilder(t, e) {
+ return Be.mathsym(t.text, t.mode, e, ['m' + t.family]);
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mo', [_o(t.text, t.mode)]);
+ if (t.family === 'bin') {
+ var n = P7(t, e);
+ n === 'bold-italic' && r.setAttribute('mathvariant', n);
+ } else
+ t.family === 'punct'
+ ? r.setAttribute('separator', 'true')
+ : (t.family === 'open' || t.family === 'close') && r.setAttribute('stretchy', 'false');
+ return r;
+ }
+ });
+ g$ = { mi: 'italic', mn: 'normal', mtext: 'normal' };
+ Kf({
+ type: 'mathord',
+ htmlBuilder(t, e) {
+ return Be.makeOrd(t, e, 'mathord');
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mi', [_o(t.text, t.mode, e)]),
+ n = P7(t, e) || 'italic';
+ return n !== g$[r.type] && r.setAttribute('mathvariant', n), r;
+ }
+ });
+ Kf({
+ type: 'textord',
+ htmlBuilder(t, e) {
+ return Be.makeOrd(t, e, 'textord');
+ },
+ mathmlBuilder(t, e) {
+ var r = _o(t.text, t.mode, e),
+ n = P7(t, e) || 'normal',
+ i;
+ return (
+ t.mode === 'text'
+ ? (i = new et.MathNode('mtext', [r]))
+ : /[0-9]/.test(t.text)
+ ? (i = new et.MathNode('mn', [r]))
+ : t.text === '\\prime'
+ ? (i = new et.MathNode('mo', [r]))
+ : (i = new et.MathNode('mi', [r])),
+ n !== g$[i.type] && i.setAttribute('mathvariant', n),
+ i
+ );
+ }
+ });
+ (y7 = { '\\nobreak': 'nobreak', '\\allowbreak': 'allowbreak' }),
+ (v7 = {
+ ' ': {},
+ '\\ ': {},
+ '~': { className: 'nobreak' },
+ '\\space': {},
+ '\\nobreakspace': { className: 'nobreak' }
+ });
+ Kf({
+ type: 'spacing',
+ htmlBuilder(t, e) {
+ if (v7.hasOwnProperty(t.text)) {
+ var r = v7[t.text].className || '';
+ if (t.mode === 'text') {
+ var n = Be.makeOrd(t, e, 'textord');
+ return n.classes.push(r), n;
+ } else return Be.makeSpan(['mspace', r], [Be.mathsym(t.text, t.mode, e)], e);
+ } else {
+ if (y7.hasOwnProperty(t.text)) return Be.makeSpan(['mspace', y7[t.text]], [], e);
+ throw new nt('Unknown type of space "' + t.text + '"');
+ }
+ },
+ mathmlBuilder(t, e) {
+ var r;
+ if (v7.hasOwnProperty(t.text)) r = new et.MathNode('mtext', [new et.TextNode('\xA0')]);
+ else {
+ if (y7.hasOwnProperty(t.text)) return new et.MathNode('mspace');
+ throw new nt('Unknown type of space "' + t.text + '"');
+ }
+ return r;
+ }
+ });
+ xG = o(() => {
+ var t = new et.MathNode('mtd', []);
+ return t.setAttribute('width', '50%'), t;
+ }, 'pad');
+ Kf({
+ type: 'tag',
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mtable', [
+ new et.MathNode('mtr', [
+ xG(),
+ new et.MathNode('mtd', [ph(t.body, e)]),
+ xG(),
+ new et.MathNode('mtd', [ph(t.tag, e)])
+ ])
+ ]);
+ return r.setAttribute('width', '100%'), r;
+ }
+ });
+ (bG = {
+ '\\text': void 0,
+ '\\textrm': 'textrm',
+ '\\textsf': 'textsf',
+ '\\texttt': 'texttt',
+ '\\textnormal': 'textrm'
+ }),
+ (wG = { '\\textbf': 'textbf', '\\textmd': 'textmd' }),
+ (dbe = { '\\textit': 'textit', '\\textup': 'textup' }),
+ (TG = o((t, e) => {
+ var r = t.font;
+ if (r) {
+ if (bG[r]) return e.withTextFontFamily(bG[r]);
+ if (wG[r]) return e.withTextFontWeight(wG[r]);
+ if (r === '\\emph')
+ return e.fontShape === 'textit'
+ ? e.withTextFontShape('textup')
+ : e.withTextFontShape('textit');
+ } else return e;
+ return e.withTextFontShape(dbe[r]);
+ }, 'optionsWithFont'));
+ vt({
+ type: 'text',
+ names: [
+ '\\text',
+ '\\textrm',
+ '\\textsf',
+ '\\texttt',
+ '\\textnormal',
+ '\\textbf',
+ '\\textmd',
+ '\\textit',
+ '\\textup',
+ '\\emph'
+ ],
+ props: {
+ numArgs: 1,
+ argTypes: ['text'],
+ allowedInArgument: !0,
+ allowedInText: !0
+ },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return { type: 'text', mode: r.mode, body: ui(i), font: n };
+ },
+ htmlBuilder(t, e) {
+ var r = TG(t, e),
+ n = Ri(t.body, r, !0);
+ return Be.makeSpan(['mord', 'text'], n, r);
+ },
+ mathmlBuilder(t, e) {
+ var r = TG(t, e);
+ return ph(t.body, r);
+ }
+ });
+ vt({
+ type: 'underline',
+ names: ['\\underline'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'underline', mode: r.mode, body: e[0] };
+ },
+ htmlBuilder(t, e) {
+ var r = Cr(t.body, e),
+ n = Be.makeLineSpan('underline-line', e),
+ i = e.fontMetrics().defaultRuleThickness,
+ a = Be.makeVList(
+ {
+ positionType: 'top',
+ positionData: r.height,
+ children: [
+ { type: 'kern', size: i },
+ { type: 'elem', elem: n },
+ { type: 'kern', size: 3 * i },
+ { type: 'elem', elem: r }
+ ]
+ },
+ e
+ );
+ return Be.makeSpan(['mord', 'underline'], [a], e);
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mo', [new et.TextNode('\u203E')]);
+ r.setAttribute('stretchy', 'true');
+ var n = new et.MathNode('munder', [fn(t.body, e), r]);
+ return n.setAttribute('accentunder', 'true'), n;
+ }
+ });
+ vt({
+ type: 'vcenter',
+ names: ['\\vcenter'],
+ props: { numArgs: 1, argTypes: ['original'], allowedInText: !1 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'vcenter', mode: r.mode, body: e[0] };
+ },
+ htmlBuilder(t, e) {
+ var r = Cr(t.body, e),
+ n = e.fontMetrics().axisHeight,
+ i = 0.5 * (r.height - n - (r.depth + n));
+ return Be.makeVList(
+ {
+ positionType: 'shift',
+ positionData: i,
+ children: [{ type: 'elem', elem: r }]
+ },
+ e
+ );
+ },
+ mathmlBuilder(t, e) {
+ return new et.MathNode('mpadded', [fn(t.body, e)], ['vcenter']);
+ }
+ });
+ vt({
+ type: 'verb',
+ names: ['\\verb'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler(t, e, r) {
+ throw new nt('\\verb ended by end of line instead of matching delimiter');
+ },
+ htmlBuilder(t, e) {
+ for (var r = kG(t), n = [], i = e.havingStyle(e.style.text()), a = 0; a < r.length; a++) {
+ var s = r[a];
+ s === '~' && (s = '\\textasciitilde'),
+ n.push(Be.makeSymbol(s, 'Typewriter-Regular', t.mode, i, ['mord', 'texttt']));
+ }
+ return Be.makeSpan(['mord', 'text'].concat(i.sizingClasses(e)), Be.tryCombineChars(n), i);
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.TextNode(kG(t)),
+ n = new et.MathNode('mtext', [r]);
+ return n.setAttribute('mathvariant', 'monospace'), n;
+ }
+ });
+ (kG = o((t) => t.body.replace(/ /g, t.star ? '\u2423' : '\xA0'), 'makeVerb')),
+ (fh = zG),
+ (y$ = `[ \r
+ ]`),
+ (pbe = '\\\\[a-zA-Z@]+'),
+ (mbe = '\\\\[^\uD800-\uDFFF]'),
+ (gbe = '(' + pbe + ')' + y$ + '*'),
+ (ybe = `\\\\(
+|[ \r ]+
+?)[ \r ]*`),
+ (L7 = '[\u0300-\u036F]'),
+ (vbe = new RegExp(L7 + '+$')),
+ (xbe =
+ '(' +
+ y$ +
+ '+)|' +
+ (ybe + '|') +
+ '([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]' +
+ (L7 + '*') +
+ '|[\uD800-\uDBFF][\uDC00-\uDFFF]' +
+ (L7 + '*') +
+ '|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5' +
+ ('|' + gbe) +
+ ('|' + mbe + ')')),
+ (v4 = class {
+ static {
+ o(this, 'Lexer');
+ }
+ constructor(e, r) {
+ (this.input = void 0),
+ (this.settings = void 0),
+ (this.tokenRegex = void 0),
+ (this.catcodes = void 0),
+ (this.input = e),
+ (this.settings = r),
+ (this.tokenRegex = new RegExp(xbe, 'g')),
+ (this.catcodes = { '%': 14, '~': 13 });
+ }
+ setCatcode(e, r) {
+ this.catcodes[e] = r;
+ }
+ lex() {
+ var e = this.input,
+ r = this.tokenRegex.lastIndex;
+ if (r === e.length) return new Ao('EOF', new Xs(this, r, r));
+ var n = this.tokenRegex.exec(e);
+ if (n === null || n.index !== r)
+ throw new nt("Unexpected character: '" + e[r] + "'", new Ao(e[r], new Xs(this, r, r + 1)));
+ var i = n[6] || n[3] || (n[2] ? '\\ ' : ' ');
+ if (this.catcodes[i] === 14) {
+ var a = e.indexOf(
+ `
+`,
+ this.tokenRegex.lastIndex
+ );
+ return (
+ a === -1
+ ? ((this.tokenRegex.lastIndex = e.length),
+ this.settings.reportNonstrict(
+ 'commentAtEnd',
+ '% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)'
+ ))
+ : (this.tokenRegex.lastIndex = a + 1),
+ this.lex()
+ );
+ }
+ return new Ao(i, new Xs(this, r, this.tokenRegex.lastIndex));
+ }
+ }),
+ (D7 = class {
+ static {
+ o(this, 'Namespace');
+ }
+ constructor(e, r) {
+ e === void 0 && (e = {}),
+ r === void 0 && (r = {}),
+ (this.current = void 0),
+ (this.builtins = void 0),
+ (this.undefStack = void 0),
+ (this.current = r),
+ (this.builtins = e),
+ (this.undefStack = []);
+ }
+ beginGroup() {
+ this.undefStack.push({});
+ }
+ endGroup() {
+ if (this.undefStack.length === 0)
+ throw new nt(
+ 'Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug'
+ );
+ var e = this.undefStack.pop();
+ for (var r in e)
+ e.hasOwnProperty(r) && (e[r] == null ? delete this.current[r] : (this.current[r] = e[r]));
+ }
+ endGroups() {
+ for (; this.undefStack.length > 0; ) this.endGroup();
+ }
+ has(e) {
+ return this.current.hasOwnProperty(e) || this.builtins.hasOwnProperty(e);
+ }
+ get(e) {
+ return this.current.hasOwnProperty(e) ? this.current[e] : this.builtins[e];
+ }
+ set(e, r, n) {
+ if ((n === void 0 && (n = !1), n)) {
+ for (var i = 0; i < this.undefStack.length; i++) delete this.undefStack[i][e];
+ this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][e] = r);
+ } else {
+ var a = this.undefStack[this.undefStack.length - 1];
+ a && !a.hasOwnProperty(e) && (a[e] = this.current[e]);
+ }
+ r == null ? delete this.current[e] : (this.current[e] = r);
+ }
+ }),
+ (bbe = s$);
+ le('\\noexpand', function (t) {
+ var e = t.popToken();
+ return (
+ t.isExpandable(e.text) && ((e.noexpand = !0), (e.treatAsRelax = !0)), { tokens: [e], numArgs: 0 }
+ );
+ });
+ le('\\expandafter', function (t) {
+ var e = t.popToken();
+ return t.expandOnce(!0), { tokens: [e], numArgs: 0 };
+ });
+ le('\\@firstoftwo', function (t) {
+ var e = t.consumeArgs(2);
+ return { tokens: e[0], numArgs: 0 };
+ });
+ le('\\@secondoftwo', function (t) {
+ var e = t.consumeArgs(2);
+ return { tokens: e[1], numArgs: 0 };
+ });
+ le('\\@ifnextchar', function (t) {
+ var e = t.consumeArgs(3);
+ t.consumeSpaces();
+ var r = t.future();
+ return e[0].length === 1 && e[0][0].text === r.text
+ ? { tokens: e[1], numArgs: 0 }
+ : { tokens: e[2], numArgs: 0 };
+ });
+ le('\\@ifstar', '\\@ifnextchar *{\\@firstoftwo{#1}}');
+ le('\\TextOrMath', function (t) {
+ var e = t.consumeArgs(2);
+ return t.mode === 'text' ? { tokens: e[0], numArgs: 0 } : { tokens: e[1], numArgs: 0 };
+ });
+ EG = {
+ 0: 0,
+ 1: 1,
+ 2: 2,
+ 3: 3,
+ 4: 4,
+ 5: 5,
+ 6: 6,
+ 7: 7,
+ 8: 8,
+ 9: 9,
+ a: 10,
+ A: 10,
+ b: 11,
+ B: 11,
+ c: 12,
+ C: 12,
+ d: 13,
+ D: 13,
+ e: 14,
+ E: 14,
+ f: 15,
+ F: 15
+ };
+ le('\\char', function (t) {
+ var e = t.popToken(),
+ r,
+ n = '';
+ if (e.text === "'") (r = 8), (e = t.popToken());
+ else if (e.text === '"') (r = 16), (e = t.popToken());
+ else if (e.text === '`')
+ if (((e = t.popToken()), e.text[0] === '\\')) n = e.text.charCodeAt(1);
+ else {
+ if (e.text === 'EOF') throw new nt('\\char` missing argument');
+ n = e.text.charCodeAt(0);
+ }
+ else r = 10;
+ if (r) {
+ if (((n = EG[e.text]), n == null || n >= r)) throw new nt('Invalid base-' + r + ' digit ' + e.text);
+ for (var i; (i = EG[t.future().text]) != null && i < r; ) (n *= r), (n += i), t.popToken();
+ }
+ return '\\@char{' + n + '}';
+ });
+ W7 = o((t, e, r) => {
+ var n = t.consumeArg().tokens;
+ if (n.length !== 1) throw new nt("\\newcommand's first argument must be a macro name");
+ var i = n[0].text,
+ a = t.isDefined(i);
+ if (a && !e)
+ throw new nt('\\newcommand{' + i + '} attempting to redefine ' + (i + '; use \\renewcommand'));
+ if (!a && !r)
+ throw new nt(
+ '\\renewcommand{' + i + '} when command ' + i + ' does not yet exist; use \\newcommand'
+ );
+ var s = 0;
+ if (((n = t.consumeArg().tokens), n.length === 1 && n[0].text === '[')) {
+ for (var l = '', u = t.expandNextToken(); u.text !== ']' && u.text !== 'EOF'; )
+ (l += u.text), (u = t.expandNextToken());
+ if (!l.match(/^\s*[0-9]+\s*$/)) throw new nt('Invalid number of arguments: ' + l);
+ (s = parseInt(l)), (n = t.consumeArg().tokens);
+ }
+ return t.macros.set(i, { tokens: n, numArgs: s }), '';
+ }, 'newcommand');
+ le('\\newcommand', (t) => W7(t, !1, !0));
+ le('\\renewcommand', (t) => W7(t, !0, !1));
+ le('\\providecommand', (t) => W7(t, !0, !0));
+ le('\\message', (t) => {
+ var e = t.consumeArgs(1)[0];
+ return (
+ console.log(
+ e
+ .reverse()
+ .map((r) => r.text)
+ .join('')
+ ),
+ ''
+ );
+ });
+ le('\\errmessage', (t) => {
+ var e = t.consumeArgs(1)[0];
+ return (
+ console.error(
+ e
+ .reverse()
+ .map((r) => r.text)
+ .join('')
+ ),
+ ''
+ );
+ });
+ le('\\show', (t) => {
+ var e = t.popToken(),
+ r = e.text;
+ return console.log(e, t.macros.get(r), fh[r], wn.math[r], wn.text[r]), '';
+ });
+ le('\\bgroup', '{');
+ le('\\egroup', '}');
+ le('~', '\\nobreakspace');
+ le('\\lq', '`');
+ le('\\rq', "'");
+ le('\\aa', '\\r a');
+ le('\\AA', '\\r A');
+ le('\\textcopyright', '\\html@mathml{\\textcircled{c}}{\\char`\xA9}');
+ le('\\copyright', '\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}');
+ le('\\textregistered', '\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}');
+ le('\u212C', '\\mathscr{B}');
+ le('\u2130', '\\mathscr{E}');
+ le('\u2131', '\\mathscr{F}');
+ le('\u210B', '\\mathscr{H}');
+ le('\u2110', '\\mathscr{I}');
+ le('\u2112', '\\mathscr{L}');
+ le('\u2133', '\\mathscr{M}');
+ le('\u211B', '\\mathscr{R}');
+ le('\u212D', '\\mathfrak{C}');
+ le('\u210C', '\\mathfrak{H}');
+ le('\u2128', '\\mathfrak{Z}');
+ le('\\Bbbk', '\\Bbb{k}');
+ le('\xB7', '\\cdotp');
+ le('\\llap', '\\mathllap{\\textrm{#1}}');
+ le('\\rlap', '\\mathrlap{\\textrm{#1}}');
+ le('\\clap', '\\mathclap{\\textrm{#1}}');
+ le('\\mathstrut', '\\vphantom{(}');
+ le('\\underbar', '\\underline{\\text{#1}}');
+ le('\\not', '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');
+ le('\\neq', '\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}');
+ le('\\ne', '\\neq');
+ le('\u2260', '\\neq');
+ le('\\notin', '\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}');
+ le('\u2209', '\\notin');
+ le(
+ '\u2258',
+ '\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}'
+ );
+ le('\u2259', '\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}');
+ le('\u225A', '\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}');
+ le('\u225B', '\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}');
+ le('\u225D', '\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}');
+ le('\u225E', '\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}');
+ le('\u225F', '\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}');
+ le('\u27C2', '\\perp');
+ le('\u203C', '\\mathclose{!\\mkern-0.8mu!}');
+ le('\u220C', '\\notni');
+ le('\u231C', '\\ulcorner');
+ le('\u231D', '\\urcorner');
+ le('\u231E', '\\llcorner');
+ le('\u231F', '\\lrcorner');
+ le('\xA9', '\\copyright');
+ le('\xAE', '\\textregistered');
+ le('\uFE0F', '\\textregistered');
+ le('\\ulcorner', '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');
+ le('\\urcorner', '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');
+ le('\\llcorner', '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');
+ le('\\lrcorner', '\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');
+ le('\\vdots', '\\mathord{\\varvdots\\rule{0pt}{15pt}}');
+ le('\u22EE', '\\vdots');
+ le('\\varGamma', '\\mathit{\\Gamma}');
+ le('\\varDelta', '\\mathit{\\Delta}');
+ le('\\varTheta', '\\mathit{\\Theta}');
+ le('\\varLambda', '\\mathit{\\Lambda}');
+ le('\\varXi', '\\mathit{\\Xi}');
+ le('\\varPi', '\\mathit{\\Pi}');
+ le('\\varSigma', '\\mathit{\\Sigma}');
+ le('\\varUpsilon', '\\mathit{\\Upsilon}');
+ le('\\varPhi', '\\mathit{\\Phi}');
+ le('\\varPsi', '\\mathit{\\Psi}');
+ le('\\varOmega', '\\mathit{\\Omega}');
+ le('\\substack', '\\begin{subarray}{c}#1\\end{subarray}');
+ le(
+ '\\colon',
+ '\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax'
+ );
+ le('\\boxed', '\\fbox{$\\displaystyle{#1}$}');
+ le('\\iff', '\\DOTSB\\;\\Longleftrightarrow\\;');
+ le('\\implies', '\\DOTSB\\;\\Longrightarrow\\;');
+ le('\\impliedby', '\\DOTSB\\;\\Longleftarrow\\;');
+ CG = {
+ ',': '\\dotsc',
+ '\\not': '\\dotsb',
+ '+': '\\dotsb',
+ '=': '\\dotsb',
+ '<': '\\dotsb',
+ '>': '\\dotsb',
+ '-': '\\dotsb',
+ '*': '\\dotsb',
+ ':': '\\dotsb',
+ '\\DOTSB': '\\dotsb',
+ '\\coprod': '\\dotsb',
+ '\\bigvee': '\\dotsb',
+ '\\bigwedge': '\\dotsb',
+ '\\biguplus': '\\dotsb',
+ '\\bigcap': '\\dotsb',
+ '\\bigcup': '\\dotsb',
+ '\\prod': '\\dotsb',
+ '\\sum': '\\dotsb',
+ '\\bigotimes': '\\dotsb',
+ '\\bigoplus': '\\dotsb',
+ '\\bigodot': '\\dotsb',
+ '\\bigsqcup': '\\dotsb',
+ '\\And': '\\dotsb',
+ '\\longrightarrow': '\\dotsb',
+ '\\Longrightarrow': '\\dotsb',
+ '\\longleftarrow': '\\dotsb',
+ '\\Longleftarrow': '\\dotsb',
+ '\\longleftrightarrow': '\\dotsb',
+ '\\Longleftrightarrow': '\\dotsb',
+ '\\mapsto': '\\dotsb',
+ '\\longmapsto': '\\dotsb',
+ '\\hookrightarrow': '\\dotsb',
+ '\\doteq': '\\dotsb',
+ '\\mathbin': '\\dotsb',
+ '\\mathrel': '\\dotsb',
+ '\\relbar': '\\dotsb',
+ '\\Relbar': '\\dotsb',
+ '\\xrightarrow': '\\dotsb',
+ '\\xleftarrow': '\\dotsb',
+ '\\DOTSI': '\\dotsi',
+ '\\int': '\\dotsi',
+ '\\oint': '\\dotsi',
+ '\\iint': '\\dotsi',
+ '\\iiint': '\\dotsi',
+ '\\iiiint': '\\dotsi',
+ '\\idotsint': '\\dotsi',
+ '\\DOTSX': '\\dotsx'
+ };
+ le('\\dots', function (t) {
+ var e = '\\dotso',
+ r = t.expandAfterFuture().text;
+ return (
+ r in CG
+ ? (e = CG[r])
+ : (r.slice(0, 4) === '\\not' ||
+ (r in wn.math && Vt.contains(['bin', 'rel'], wn.math[r].group))) &&
+ (e = '\\dotsb'),
+ e
+ );
+ });
+ q7 = {
+ ')': !0,
+ ']': !0,
+ '\\rbrack': !0,
+ '\\}': !0,
+ '\\rbrace': !0,
+ '\\rangle': !0,
+ '\\rceil': !0,
+ '\\rfloor': !0,
+ '\\rgroup': !0,
+ '\\rmoustache': !0,
+ '\\right': !0,
+ '\\bigr': !0,
+ '\\biggr': !0,
+ '\\Bigr': !0,
+ '\\Biggr': !0,
+ $: !0,
+ ';': !0,
+ '.': !0,
+ ',': !0
+ };
+ le('\\dotso', function (t) {
+ var e = t.future().text;
+ return e in q7 ? '\\ldots\\,' : '\\ldots';
+ });
+ le('\\dotsc', function (t) {
+ var e = t.future().text;
+ return e in q7 && e !== ',' ? '\\ldots\\,' : '\\ldots';
+ });
+ le('\\cdots', function (t) {
+ var e = t.future().text;
+ return e in q7 ? '\\@cdots\\,' : '\\@cdots';
+ });
+ le('\\dotsb', '\\cdots');
+ le('\\dotsm', '\\cdots');
+ le('\\dotsi', '\\!\\cdots');
+ le('\\dotsx', '\\ldots\\,');
+ le('\\DOTSI', '\\relax');
+ le('\\DOTSB', '\\relax');
+ le('\\DOTSX', '\\relax');
+ le('\\tmspace', '\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax');
+ le('\\,', '\\tmspace+{3mu}{.1667em}');
+ le('\\thinspace', '\\,');
+ le('\\>', '\\mskip{4mu}');
+ le('\\:', '\\tmspace+{4mu}{.2222em}');
+ le('\\medspace', '\\:');
+ le('\\;', '\\tmspace+{5mu}{.2777em}');
+ le('\\thickspace', '\\;');
+ le('\\!', '\\tmspace-{3mu}{.1667em}');
+ le('\\negthinspace', '\\!');
+ le('\\negmedspace', '\\tmspace-{4mu}{.2222em}');
+ le('\\negthickspace', '\\tmspace-{5mu}{.277em}');
+ le('\\enspace', '\\kern.5em ');
+ le('\\enskip', '\\hskip.5em\\relax');
+ le('\\quad', '\\hskip1em\\relax');
+ le('\\qquad', '\\hskip2em\\relax');
+ le('\\tag', '\\@ifstar\\tag@literal\\tag@paren');
+ le('\\tag@paren', '\\tag@literal{({#1})}');
+ le('\\tag@literal', (t) => {
+ if (t.macros.get('\\df@tag')) throw new nt('Multiple \\tag');
+ return '\\gdef\\df@tag{\\text{#1}}';
+ });
+ le(
+ '\\bmod',
+ '\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}'
+ );
+ le('\\pod', '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)');
+ le('\\pmod', '\\pod{{\\rm mod}\\mkern6mu#1}');
+ le(
+ '\\mod',
+ '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1'
+ );
+ le('\\newline', '\\\\\\relax');
+ le('\\TeX', '\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}');
+ v$ = ct(Zl['Main-Regular'][84][1] - 0.7 * Zl['Main-Regular'][65][1]);
+ le(
+ '\\LaTeX',
+ '\\textrm{\\html@mathml{' +
+ ('L\\kern-.36em\\raisebox{' + v$ + '}{\\scriptstyle A}') +
+ '\\kern-.15em\\TeX}{LaTeX}}'
+ );
+ le(
+ '\\KaTeX',
+ '\\textrm{\\html@mathml{' +
+ ('K\\kern-.17em\\raisebox{' + v$ + '}{\\scriptstyle A}') +
+ '\\kern-.15em\\TeX}{KaTeX}}'
+ );
+ le('\\hspace', '\\@ifstar\\@hspacer\\@hspace');
+ le('\\@hspace', '\\hskip #1\\relax');
+ le('\\@hspacer', '\\rule{0pt}{0pt}\\hskip #1\\relax');
+ le('\\ordinarycolon', ':');
+ le('\\vcentcolon', '\\mathrel{\\mathop\\ordinarycolon}');
+ le(
+ '\\dblcolon',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'
+ );
+ le('\\coloneqq', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');
+ le(
+ '\\Coloneqq',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'
+ );
+ le(
+ '\\coloneq',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'
+ );
+ le(
+ '\\Coloneq',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'
+ );
+ le('\\eqqcolon', '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');
+ le(
+ '\\Eqqcolon',
+ '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'
+ );
+ le(
+ '\\eqcolon',
+ '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'
+ );
+ le(
+ '\\Eqcolon',
+ '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'
+ );
+ le(
+ '\\colonapprox',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'
+ );
+ le(
+ '\\Colonapprox',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'
+ );
+ le(
+ '\\colonsim',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'
+ );
+ le(
+ '\\Colonsim',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'
+ );
+ le('\u2237', '\\dblcolon');
+ le('\u2239', '\\eqcolon');
+ le('\u2254', '\\coloneqq');
+ le('\u2255', '\\eqqcolon');
+ le('\u2A74', '\\Coloneqq');
+ le('\\ratio', '\\vcentcolon');
+ le('\\coloncolon', '\\dblcolon');
+ le('\\colonequals', '\\coloneqq');
+ le('\\coloncolonequals', '\\Coloneqq');
+ le('\\equalscolon', '\\eqqcolon');
+ le('\\equalscoloncolon', '\\Eqqcolon');
+ le('\\colonminus', '\\coloneq');
+ le('\\coloncolonminus', '\\Coloneq');
+ le('\\minuscolon', '\\eqcolon');
+ le('\\minuscoloncolon', '\\Eqcolon');
+ le('\\coloncolonapprox', '\\Colonapprox');
+ le('\\coloncolonsim', '\\Colonsim');
+ le('\\simcolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}');
+ le('\\simcoloncolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}');
+ le('\\approxcolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}');
+ le('\\approxcoloncolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}');
+ le('\\notni', '\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}');
+ le('\\limsup', '\\DOTSB\\operatorname*{lim\\,sup}');
+ le('\\liminf', '\\DOTSB\\operatorname*{lim\\,inf}');
+ le('\\injlim', '\\DOTSB\\operatorname*{inj\\,lim}');
+ le('\\projlim', '\\DOTSB\\operatorname*{proj\\,lim}');
+ le('\\varlimsup', '\\DOTSB\\operatorname*{\\overline{lim}}');
+ le('\\varliminf', '\\DOTSB\\operatorname*{\\underline{lim}}');
+ le('\\varinjlim', '\\DOTSB\\operatorname*{\\underrightarrow{lim}}');
+ le('\\varprojlim', '\\DOTSB\\operatorname*{\\underleftarrow{lim}}');
+ le('\\gvertneqq', '\\html@mathml{\\@gvertneqq}{\u2269}');
+ le('\\lvertneqq', '\\html@mathml{\\@lvertneqq}{\u2268}');
+ le('\\ngeqq', '\\html@mathml{\\@ngeqq}{\u2271}');
+ le('\\ngeqslant', '\\html@mathml{\\@ngeqslant}{\u2271}');
+ le('\\nleqq', '\\html@mathml{\\@nleqq}{\u2270}');
+ le('\\nleqslant', '\\html@mathml{\\@nleqslant}{\u2270}');
+ le('\\nshortmid', '\\html@mathml{\\@nshortmid}{\u2224}');
+ le('\\nshortparallel', '\\html@mathml{\\@nshortparallel}{\u2226}');
+ le('\\nsubseteqq', '\\html@mathml{\\@nsubseteqq}{\u2288}');
+ le('\\nsupseteqq', '\\html@mathml{\\@nsupseteqq}{\u2289}');
+ le('\\varsubsetneq', '\\html@mathml{\\@varsubsetneq}{\u228A}');
+ le('\\varsubsetneqq', '\\html@mathml{\\@varsubsetneqq}{\u2ACB}');
+ le('\\varsupsetneq', '\\html@mathml{\\@varsupsetneq}{\u228B}');
+ le('\\varsupsetneqq', '\\html@mathml{\\@varsupsetneqq}{\u2ACC}');
+ le('\\imath', '\\html@mathml{\\@imath}{\u0131}');
+ le('\\jmath', '\\html@mathml{\\@jmath}{\u0237}');
+ le('\\llbracket', '\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}');
+ le('\\rrbracket', '\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}');
+ le('\u27E6', '\\llbracket');
+ le('\u27E7', '\\rrbracket');
+ le('\\lBrace', '\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}');
+ le('\\rBrace', '\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}');
+ le('\u2983', '\\lBrace');
+ le('\u2984', '\\rBrace');
+ le(
+ '\\minuso',
+ '\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}'
+ );
+ le('\u29B5', '\\minuso');
+ le('\\darr', '\\downarrow');
+ le('\\dArr', '\\Downarrow');
+ le('\\Darr', '\\Downarrow');
+ le('\\lang', '\\langle');
+ le('\\rang', '\\rangle');
+ le('\\uarr', '\\uparrow');
+ le('\\uArr', '\\Uparrow');
+ le('\\Uarr', '\\Uparrow');
+ le('\\N', '\\mathbb{N}');
+ le('\\R', '\\mathbb{R}');
+ le('\\Z', '\\mathbb{Z}');
+ le('\\alef', '\\aleph');
+ le('\\alefsym', '\\aleph');
+ le('\\Alpha', '\\mathrm{A}');
+ le('\\Beta', '\\mathrm{B}');
+ le('\\bull', '\\bullet');
+ le('\\Chi', '\\mathrm{X}');
+ le('\\clubs', '\\clubsuit');
+ le('\\cnums', '\\mathbb{C}');
+ le('\\Complex', '\\mathbb{C}');
+ le('\\Dagger', '\\ddagger');
+ le('\\diamonds', '\\diamondsuit');
+ le('\\empty', '\\emptyset');
+ le('\\Epsilon', '\\mathrm{E}');
+ le('\\Eta', '\\mathrm{H}');
+ le('\\exist', '\\exists');
+ le('\\harr', '\\leftrightarrow');
+ le('\\hArr', '\\Leftrightarrow');
+ le('\\Harr', '\\Leftrightarrow');
+ le('\\hearts', '\\heartsuit');
+ le('\\image', '\\Im');
+ le('\\infin', '\\infty');
+ le('\\Iota', '\\mathrm{I}');
+ le('\\isin', '\\in');
+ le('\\Kappa', '\\mathrm{K}');
+ le('\\larr', '\\leftarrow');
+ le('\\lArr', '\\Leftarrow');
+ le('\\Larr', '\\Leftarrow');
+ le('\\lrarr', '\\leftrightarrow');
+ le('\\lrArr', '\\Leftrightarrow');
+ le('\\Lrarr', '\\Leftrightarrow');
+ le('\\Mu', '\\mathrm{M}');
+ le('\\natnums', '\\mathbb{N}');
+ le('\\Nu', '\\mathrm{N}');
+ le('\\Omicron', '\\mathrm{O}');
+ le('\\plusmn', '\\pm');
+ le('\\rarr', '\\rightarrow');
+ le('\\rArr', '\\Rightarrow');
+ le('\\Rarr', '\\Rightarrow');
+ le('\\real', '\\Re');
+ le('\\reals', '\\mathbb{R}');
+ le('\\Reals', '\\mathbb{R}');
+ le('\\Rho', '\\mathrm{P}');
+ le('\\sdot', '\\cdot');
+ le('\\sect', '\\S');
+ le('\\spades', '\\spadesuit');
+ le('\\sub', '\\subset');
+ le('\\sube', '\\subseteq');
+ le('\\supe', '\\supseteq');
+ le('\\Tau', '\\mathrm{T}');
+ le('\\thetasym', '\\vartheta');
+ le('\\weierp', '\\wp');
+ le('\\Zeta', '\\mathrm{Z}');
+ le('\\argmin', '\\DOTSB\\operatorname*{arg\\,min}');
+ le('\\argmax', '\\DOTSB\\operatorname*{arg\\,max}');
+ le('\\plim', '\\DOTSB\\mathop{\\operatorname{plim}}\\limits');
+ le('\\bra', '\\mathinner{\\langle{#1}|}');
+ le('\\ket', '\\mathinner{|{#1}\\rangle}');
+ le('\\braket', '\\mathinner{\\langle{#1}\\rangle}');
+ le('\\Bra', '\\left\\langle#1\\right|');
+ le('\\Ket', '\\left|#1\\right\\rangle');
+ x$ = o(
+ (t) => (e) => {
+ var r = e.consumeArg().tokens,
+ n = e.consumeArg().tokens,
+ i = e.consumeArg().tokens,
+ a = e.consumeArg().tokens,
+ s = e.macros.get('|'),
+ l = e.macros.get('\\|');
+ e.macros.beginGroup();
+ var u = o(
+ (d) => (p) => {
+ t && (p.macros.set('|', s), i.length && p.macros.set('\\|', l));
+ var m = d;
+ if (!d && i.length) {
+ var g = p.future();
+ g.text === '|' && (p.popToken(), (m = !0));
+ }
+ return { tokens: m ? i : n, numArgs: 0 };
+ },
+ 'midMacro'
+ );
+ e.macros.set('|', u(!1)), i.length && e.macros.set('\\|', u(!0));
+ var h = e.consumeArg().tokens,
+ f = e.expandTokens([...a, ...h, ...r]);
+ return e.macros.endGroup(), { tokens: f.reverse(), numArgs: 0 };
+ },
+ 'braketHelper'
+ );
+ le('\\bra@ket', x$(!1));
+ le('\\bra@set', x$(!0));
+ le('\\Braket', '\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}');
+ le('\\Set', '\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}');
+ le('\\set', '\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}');
+ le('\\angln', '{\\angl n}');
+ le('\\blue', '\\textcolor{##6495ed}{#1}');
+ le('\\orange', '\\textcolor{##ffa500}{#1}');
+ le('\\pink', '\\textcolor{##ff00af}{#1}');
+ le('\\red', '\\textcolor{##df0030}{#1}');
+ le('\\green', '\\textcolor{##28ae7b}{#1}');
+ le('\\gray', '\\textcolor{gray}{#1}');
+ le('\\purple', '\\textcolor{##9d38bd}{#1}');
+ le('\\blueA', '\\textcolor{##ccfaff}{#1}');
+ le('\\blueB', '\\textcolor{##80f6ff}{#1}');
+ le('\\blueC', '\\textcolor{##63d9ea}{#1}');
+ le('\\blueD', '\\textcolor{##11accd}{#1}');
+ le('\\blueE', '\\textcolor{##0c7f99}{#1}');
+ le('\\tealA', '\\textcolor{##94fff5}{#1}');
+ le('\\tealB', '\\textcolor{##26edd5}{#1}');
+ le('\\tealC', '\\textcolor{##01d1c1}{#1}');
+ le('\\tealD', '\\textcolor{##01a995}{#1}');
+ le('\\tealE', '\\textcolor{##208170}{#1}');
+ le('\\greenA', '\\textcolor{##b6ffb0}{#1}');
+ le('\\greenB', '\\textcolor{##8af281}{#1}');
+ le('\\greenC', '\\textcolor{##74cf70}{#1}');
+ le('\\greenD', '\\textcolor{##1fab54}{#1}');
+ le('\\greenE', '\\textcolor{##0d923f}{#1}');
+ le('\\goldA', '\\textcolor{##ffd0a9}{#1}');
+ le('\\goldB', '\\textcolor{##ffbb71}{#1}');
+ le('\\goldC', '\\textcolor{##ff9c39}{#1}');
+ le('\\goldD', '\\textcolor{##e07d10}{#1}');
+ le('\\goldE', '\\textcolor{##a75a05}{#1}');
+ le('\\redA', '\\textcolor{##fca9a9}{#1}');
+ le('\\redB', '\\textcolor{##ff8482}{#1}');
+ le('\\redC', '\\textcolor{##f9685d}{#1}');
+ le('\\redD', '\\textcolor{##e84d39}{#1}');
+ le('\\redE', '\\textcolor{##bc2612}{#1}');
+ le('\\maroonA', '\\textcolor{##ffbde0}{#1}');
+ le('\\maroonB', '\\textcolor{##ff92c6}{#1}');
+ le('\\maroonC', '\\textcolor{##ed5fa6}{#1}');
+ le('\\maroonD', '\\textcolor{##ca337c}{#1}');
+ le('\\maroonE', '\\textcolor{##9e034e}{#1}');
+ le('\\purpleA', '\\textcolor{##ddd7ff}{#1}');
+ le('\\purpleB', '\\textcolor{##c6b9fc}{#1}');
+ le('\\purpleC', '\\textcolor{##aa87ff}{#1}');
+ le('\\purpleD', '\\textcolor{##7854ab}{#1}');
+ le('\\purpleE', '\\textcolor{##543b78}{#1}');
+ le('\\mintA', '\\textcolor{##f5f9e8}{#1}');
+ le('\\mintB', '\\textcolor{##edf2df}{#1}');
+ le('\\mintC', '\\textcolor{##e0e5cc}{#1}');
+ le('\\grayA', '\\textcolor{##f6f7f7}{#1}');
+ le('\\grayB', '\\textcolor{##f0f1f2}{#1}');
+ le('\\grayC', '\\textcolor{##e3e5e6}{#1}');
+ le('\\grayD', '\\textcolor{##d6d8da}{#1}');
+ le('\\grayE', '\\textcolor{##babec2}{#1}');
+ le('\\grayF', '\\textcolor{##888d93}{#1}');
+ le('\\grayG', '\\textcolor{##626569}{#1}');
+ le('\\grayH', '\\textcolor{##3b3e40}{#1}');
+ le('\\grayI', '\\textcolor{##21242c}{#1}');
+ le('\\kaBlue', '\\textcolor{##314453}{#1}');
+ le('\\kaGreen', '\\textcolor{##71B307}{#1}');
+ (b$ = { '^': !0, _: !0, '\\limits': !0, '\\nolimits': !0 }),
+ (R7 = class {
+ static {
+ o(this, 'MacroExpander');
+ }
+ constructor(e, r, n) {
+ (this.settings = void 0),
+ (this.expansionCount = void 0),
+ (this.lexer = void 0),
+ (this.macros = void 0),
+ (this.stack = void 0),
+ (this.mode = void 0),
+ (this.settings = r),
+ (this.expansionCount = 0),
+ this.feed(e),
+ (this.macros = new D7(bbe, r.macros)),
+ (this.mode = n),
+ (this.stack = []);
+ }
+ feed(e) {
+ this.lexer = new v4(e, this.settings);
+ }
+ switchMode(e) {
+ this.mode = e;
+ }
+ beginGroup() {
+ this.macros.beginGroup();
+ }
+ endGroup() {
+ this.macros.endGroup();
+ }
+ endGroups() {
+ this.macros.endGroups();
+ }
+ future() {
+ return (
+ this.stack.length === 0 && this.pushToken(this.lexer.lex()),
+ this.stack[this.stack.length - 1]
+ );
+ }
+ popToken() {
+ return this.future(), this.stack.pop();
+ }
+ pushToken(e) {
+ this.stack.push(e);
+ }
+ pushTokens(e) {
+ this.stack.push(...e);
+ }
+ scanArgument(e) {
+ var r, n, i;
+ if (e) {
+ if ((this.consumeSpaces(), this.future().text !== '[')) return null;
+ (r = this.popToken()), ({ tokens: i, end: n } = this.consumeArg([']']));
+ } else ({ tokens: i, start: r, end: n } = this.consumeArg());
+ return this.pushToken(new Ao('EOF', n.loc)), this.pushTokens(i), r.range(n, '');
+ }
+ consumeSpaces() {
+ for (;;) {
+ var e = this.future();
+ if (e.text === ' ') this.stack.pop();
+ else break;
+ }
+ }
+ consumeArg(e) {
+ var r = [],
+ n = e && e.length > 0;
+ n || this.consumeSpaces();
+ var i = this.future(),
+ a,
+ s = 0,
+ l = 0;
+ do {
+ if (((a = this.popToken()), r.push(a), a.text === '{')) ++s;
+ else if (a.text === '}') {
+ if ((--s, s === -1)) throw new nt('Extra }', a);
+ } else if (a.text === 'EOF')
+ throw new nt(
+ "Unexpected end of input in a macro argument, expected '" +
+ (e && n ? e[l] : '}') +
+ "'",
+ a
+ );
+ if (e && n)
+ if ((s === 0 || (s === 1 && e[l] === '{')) && a.text === e[l]) {
+ if ((++l, l === e.length)) {
+ r.splice(-l, l);
+ break;
+ }
+ } else l = 0;
+ } while (s !== 0 || n);
+ return (
+ i.text === '{' && r[r.length - 1].text === '}' && (r.pop(), r.shift()),
+ r.reverse(),
+ { tokens: r, start: i, end: a }
+ );
+ }
+ consumeArgs(e, r) {
+ if (r) {
+ if (r.length !== e + 1)
+ throw new nt("The length of delimiters doesn't match the number of args!");
+ for (var n = r[0], i = 0; i < n.length; i++) {
+ var a = this.popToken();
+ if (n[i] !== a.text) throw new nt("Use of the macro doesn't match its definition", a);
+ }
+ }
+ for (var s = [], l = 0; l < e; l++) s.push(this.consumeArg(r && r[l + 1]).tokens);
+ return s;
+ }
+ countExpansion(e) {
+ if (((this.expansionCount += e), this.expansionCount > this.settings.maxExpand))
+ throw new nt('Too many expansions: infinite loop or need to increase maxExpand setting');
+ }
+ expandOnce(e) {
+ var r = this.popToken(),
+ n = r.text,
+ i = r.noexpand ? null : this._getExpansion(n);
+ if (i == null || (e && i.unexpandable)) {
+ if (e && i == null && n[0] === '\\' && !this.isDefined(n))
+ throw new nt('Undefined control sequence: ' + n);
+ return this.pushToken(r), !1;
+ }
+ this.countExpansion(1);
+ var a = i.tokens,
+ s = this.consumeArgs(i.numArgs, i.delimiters);
+ if (i.numArgs) {
+ a = a.slice();
+ for (var l = a.length - 1; l >= 0; --l) {
+ var u = a[l];
+ if (u.text === '#') {
+ if (l === 0) throw new nt('Incomplete placeholder at end of macro body', u);
+ if (((u = a[--l]), u.text === '#')) a.splice(l + 1, 1);
+ else if (/^[1-9]$/.test(u.text)) a.splice(l, 2, ...s[+u.text - 1]);
+ else throw new nt('Not a valid argument number', u);
+ }
+ }
+ }
+ return this.pushTokens(a), a.length;
+ }
+ expandAfterFuture() {
+ return this.expandOnce(), this.future();
+ }
+ expandNextToken() {
+ for (;;)
+ if (this.expandOnce() === !1) {
+ var e = this.stack.pop();
+ return e.treatAsRelax && (e.text = '\\relax'), e;
+ }
+ throw new Error();
+ }
+ expandMacro(e) {
+ return this.macros.has(e) ? this.expandTokens([new Ao(e)]) : void 0;
+ }
+ expandTokens(e) {
+ var r = [],
+ n = this.stack.length;
+ for (this.pushTokens(e); this.stack.length > n; )
+ if (this.expandOnce(!0) === !1) {
+ var i = this.stack.pop();
+ i.treatAsRelax && ((i.noexpand = !1), (i.treatAsRelax = !1)), r.push(i);
+ }
+ return this.countExpansion(r.length), r;
+ }
+ expandMacroAsText(e) {
+ var r = this.expandMacro(e);
+ return r && r.map((n) => n.text).join('');
+ }
+ _getExpansion(e) {
+ var r = this.macros.get(e);
+ if (r == null) return r;
+ if (e.length === 1) {
+ var n = this.lexer.catcodes[e];
+ if (n != null && n !== 13) return;
+ }
+ var i = typeof r == 'function' ? r(this) : r;
+ if (typeof i == 'string') {
+ var a = 0;
+ if (i.indexOf('#') !== -1)
+ for (var s = i.replace(/##/g, ''); s.indexOf('#' + (a + 1)) !== -1; ) ++a;
+ for (var l = new v4(i, this.settings), u = [], h = l.lex(); h.text !== 'EOF'; )
+ u.push(h), (h = l.lex());
+ u.reverse();
+ var f = { tokens: u, numArgs: a };
+ return f;
+ }
+ return i;
+ }
+ isDefined(e) {
+ return (
+ this.macros.has(e) ||
+ fh.hasOwnProperty(e) ||
+ wn.math.hasOwnProperty(e) ||
+ wn.text.hasOwnProperty(e) ||
+ b$.hasOwnProperty(e)
+ );
+ }
+ isExpandable(e) {
+ var r = this.macros.get(e);
+ return r != null
+ ? typeof r == 'string' || typeof r == 'function' || !r.unexpandable
+ : fh.hasOwnProperty(e) && !fh[e].primitive;
+ }
+ }),
+ (SG = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/),
+ (c4 = Object.freeze({
+ '\u208A': '+',
+ '\u208B': '-',
+ '\u208C': '=',
+ '\u208D': '(',
+ '\u208E': ')',
+ '\u2080': '0',
+ '\u2081': '1',
+ '\u2082': '2',
+ '\u2083': '3',
+ '\u2084': '4',
+ '\u2085': '5',
+ '\u2086': '6',
+ '\u2087': '7',
+ '\u2088': '8',
+ '\u2089': '9',
+ '\u2090': 'a',
+ '\u2091': 'e',
+ '\u2095': 'h',
+ '\u1D62': 'i',
+ '\u2C7C': 'j',
+ '\u2096': 'k',
+ '\u2097': 'l',
+ '\u2098': 'm',
+ '\u2099': 'n',
+ '\u2092': 'o',
+ '\u209A': 'p',
+ '\u1D63': 'r',
+ '\u209B': 's',
+ '\u209C': 't',
+ '\u1D64': 'u',
+ '\u1D65': 'v',
+ '\u2093': 'x',
+ '\u1D66': '\u03B2',
+ '\u1D67': '\u03B3',
+ '\u1D68': '\u03C1',
+ '\u1D69': '\u03D5',
+ '\u1D6A': '\u03C7',
+ '\u207A': '+',
+ '\u207B': '-',
+ '\u207C': '=',
+ '\u207D': '(',
+ '\u207E': ')',
+ '\u2070': '0',
+ '\xB9': '1',
+ '\xB2': '2',
+ '\xB3': '3',
+ '\u2074': '4',
+ '\u2075': '5',
+ '\u2076': '6',
+ '\u2077': '7',
+ '\u2078': '8',
+ '\u2079': '9',
+ '\u1D2C': 'A',
+ '\u1D2E': 'B',
+ '\u1D30': 'D',
+ '\u1D31': 'E',
+ '\u1D33': 'G',
+ '\u1D34': 'H',
+ '\u1D35': 'I',
+ '\u1D36': 'J',
+ '\u1D37': 'K',
+ '\u1D38': 'L',
+ '\u1D39': 'M',
+ '\u1D3A': 'N',
+ '\u1D3C': 'O',
+ '\u1D3E': 'P',
+ '\u1D3F': 'R',
+ '\u1D40': 'T',
+ '\u1D41': 'U',
+ '\u2C7D': 'V',
+ '\u1D42': 'W',
+ '\u1D43': 'a',
+ '\u1D47': 'b',
+ '\u1D9C': 'c',
+ '\u1D48': 'd',
+ '\u1D49': 'e',
+ '\u1DA0': 'f',
+ '\u1D4D': 'g',
+ ʰ: 'h',
+ '\u2071': 'i',
+ ʲ: 'j',
+ '\u1D4F': 'k',
+ ˡ: 'l',
+ '\u1D50': 'm',
+ ⁿ: 'n',
+ '\u1D52': 'o',
+ '\u1D56': 'p',
+ ʳ: 'r',
+ ˢ: 's',
+ '\u1D57': 't',
+ '\u1D58': 'u',
+ '\u1D5B': 'v',
+ ʷ: 'w',
+ ˣ: 'x',
+ ʸ: 'y',
+ '\u1DBB': 'z',
+ '\u1D5D': '\u03B2',
+ '\u1D5E': '\u03B3',
+ '\u1D5F': '\u03B4',
+ '\u1D60': '\u03D5',
+ '\u1D61': '\u03C7',
+ '\u1DBF': '\u03B8'
+ })),
+ (x7 = {
+ '\u0301': { text: "\\'", math: '\\acute' },
+ '\u0300': { text: '\\`', math: '\\grave' },
+ '\u0308': { text: '\\"', math: '\\ddot' },
+ '\u0303': { text: '\\~', math: '\\tilde' },
+ '\u0304': { text: '\\=', math: '\\bar' },
+ '\u0306': { text: '\\u', math: '\\breve' },
+ '\u030C': { text: '\\v', math: '\\check' },
+ '\u0302': { text: '\\^', math: '\\hat' },
+ '\u0307': { text: '\\.', math: '\\dot' },
+ '\u030A': { text: '\\r', math: '\\mathring' },
+ '\u030B': { text: '\\H' },
+ '\u0327': { text: '\\c' }
+ }),
+ (AG = {
+ á: 'a\u0301',
+ à: 'a\u0300',
+ ä: 'a\u0308',
+ ǟ: 'a\u0308\u0304',
+ ã: 'a\u0303',
+ ā: 'a\u0304',
+ ă: 'a\u0306',
+ ắ: 'a\u0306\u0301',
+ ằ: 'a\u0306\u0300',
+ ẵ: 'a\u0306\u0303',
+ ǎ: 'a\u030C',
+ â: 'a\u0302',
+ ấ: 'a\u0302\u0301',
+ ầ: 'a\u0302\u0300',
+ ẫ: 'a\u0302\u0303',
+ ȧ: 'a\u0307',
+ ǡ: 'a\u0307\u0304',
+ å: 'a\u030A',
+ ǻ: 'a\u030A\u0301',
+ ḃ: 'b\u0307',
+ ć: 'c\u0301',
+ ḉ: 'c\u0327\u0301',
+ č: 'c\u030C',
+ ĉ: 'c\u0302',
+ ċ: 'c\u0307',
+ ç: 'c\u0327',
+ ď: 'd\u030C',
+ ḋ: 'd\u0307',
+ ḑ: 'd\u0327',
+ é: 'e\u0301',
+ è: 'e\u0300',
+ ë: 'e\u0308',
+ ẽ: 'e\u0303',
+ ē: 'e\u0304',
+ ḗ: 'e\u0304\u0301',
+ ḕ: 'e\u0304\u0300',
+ ĕ: 'e\u0306',
+ ḝ: 'e\u0327\u0306',
+ ě: 'e\u030C',
+ ê: 'e\u0302',
+ ế: 'e\u0302\u0301',
+ ề: 'e\u0302\u0300',
+ ễ: 'e\u0302\u0303',
+ ė: 'e\u0307',
+ ȩ: 'e\u0327',
+ ḟ: 'f\u0307',
+ ǵ: 'g\u0301',
+ ḡ: 'g\u0304',
+ ğ: 'g\u0306',
+ ǧ: 'g\u030C',
+ ĝ: 'g\u0302',
+ ġ: 'g\u0307',
+ ģ: 'g\u0327',
+ ḧ: 'h\u0308',
+ ȟ: 'h\u030C',
+ ĥ: 'h\u0302',
+ ḣ: 'h\u0307',
+ ḩ: 'h\u0327',
+ í: 'i\u0301',
+ ì: 'i\u0300',
+ ï: 'i\u0308',
+ ḯ: 'i\u0308\u0301',
+ ĩ: 'i\u0303',
+ ī: 'i\u0304',
+ ĭ: 'i\u0306',
+ ǐ: 'i\u030C',
+ î: 'i\u0302',
+ ǰ: 'j\u030C',
+ ĵ: 'j\u0302',
+ ḱ: 'k\u0301',
+ ǩ: 'k\u030C',
+ ķ: 'k\u0327',
+ ĺ: 'l\u0301',
+ ľ: 'l\u030C',
+ ļ: 'l\u0327',
+ ḿ: 'm\u0301',
+ ṁ: 'm\u0307',
+ ń: 'n\u0301',
+ ǹ: 'n\u0300',
+ ñ: 'n\u0303',
+ ň: 'n\u030C',
+ ṅ: 'n\u0307',
+ ņ: 'n\u0327',
+ ó: 'o\u0301',
+ ò: 'o\u0300',
+ ö: 'o\u0308',
+ ȫ: 'o\u0308\u0304',
+ õ: 'o\u0303',
+ ṍ: 'o\u0303\u0301',
+ ṏ: 'o\u0303\u0308',
+ ȭ: 'o\u0303\u0304',
+ ō: 'o\u0304',
+ ṓ: 'o\u0304\u0301',
+ ṑ: 'o\u0304\u0300',
+ ŏ: 'o\u0306',
+ ǒ: 'o\u030C',
+ ô: 'o\u0302',
+ ố: 'o\u0302\u0301',
+ ồ: 'o\u0302\u0300',
+ ỗ: 'o\u0302\u0303',
+ ȯ: 'o\u0307',
+ ȱ: 'o\u0307\u0304',
+ ő: 'o\u030B',
+ ṕ: 'p\u0301',
+ ṗ: 'p\u0307',
+ ŕ: 'r\u0301',
+ ř: 'r\u030C',
+ ṙ: 'r\u0307',
+ ŗ: 'r\u0327',
+ ś: 's\u0301',
+ ṥ: 's\u0301\u0307',
+ š: 's\u030C',
+ ṧ: 's\u030C\u0307',
+ ŝ: 's\u0302',
+ ṡ: 's\u0307',
+ ş: 's\u0327',
+ ẗ: 't\u0308',
+ ť: 't\u030C',
+ ṫ: 't\u0307',
+ ţ: 't\u0327',
+ ú: 'u\u0301',
+ ù: 'u\u0300',
+ ü: 'u\u0308',
+ ǘ: 'u\u0308\u0301',
+ ǜ: 'u\u0308\u0300',
+ ǖ: 'u\u0308\u0304',
+ ǚ: 'u\u0308\u030C',
+ ũ: 'u\u0303',
+ ṹ: 'u\u0303\u0301',
+ ū: 'u\u0304',
+ ṻ: 'u\u0304\u0308',
+ ŭ: 'u\u0306',
+ ǔ: 'u\u030C',
+ û: 'u\u0302',
+ ů: 'u\u030A',
+ ű: 'u\u030B',
+ ṽ: 'v\u0303',
+ ẃ: 'w\u0301',
+ ẁ: 'w\u0300',
+ ẅ: 'w\u0308',
+ ŵ: 'w\u0302',
+ ẇ: 'w\u0307',
+ ẘ: 'w\u030A',
+ ẍ: 'x\u0308',
+ ẋ: 'x\u0307',
+ ý: 'y\u0301',
+ ỳ: 'y\u0300',
+ ÿ: 'y\u0308',
+ ỹ: 'y\u0303',
+ ȳ: 'y\u0304',
+ ŷ: 'y\u0302',
+ ẏ: 'y\u0307',
+ ẙ: 'y\u030A',
+ ź: 'z\u0301',
+ ž: 'z\u030C',
+ ẑ: 'z\u0302',
+ ż: 'z\u0307',
+ Á: 'A\u0301',
+ À: 'A\u0300',
+ Ä: 'A\u0308',
+ Ǟ: 'A\u0308\u0304',
+ Ã: 'A\u0303',
+ Ā: 'A\u0304',
+ Ă: 'A\u0306',
+ Ắ: 'A\u0306\u0301',
+ Ằ: 'A\u0306\u0300',
+ Ẵ: 'A\u0306\u0303',
+ Ǎ: 'A\u030C',
+ Â: 'A\u0302',
+ Ấ: 'A\u0302\u0301',
+ Ầ: 'A\u0302\u0300',
+ Ẫ: 'A\u0302\u0303',
+ Ȧ: 'A\u0307',
+ Ǡ: 'A\u0307\u0304',
+ Å: 'A\u030A',
+ Ǻ: 'A\u030A\u0301',
+ Ḃ: 'B\u0307',
+ Ć: 'C\u0301',
+ Ḉ: 'C\u0327\u0301',
+ Č: 'C\u030C',
+ Ĉ: 'C\u0302',
+ Ċ: 'C\u0307',
+ Ç: 'C\u0327',
+ Ď: 'D\u030C',
+ Ḋ: 'D\u0307',
+ Ḑ: 'D\u0327',
+ É: 'E\u0301',
+ È: 'E\u0300',
+ Ë: 'E\u0308',
+ Ẽ: 'E\u0303',
+ Ē: 'E\u0304',
+ Ḗ: 'E\u0304\u0301',
+ Ḕ: 'E\u0304\u0300',
+ Ĕ: 'E\u0306',
+ Ḝ: 'E\u0327\u0306',
+ Ě: 'E\u030C',
+ Ê: 'E\u0302',
+ Ế: 'E\u0302\u0301',
+ Ề: 'E\u0302\u0300',
+ Ễ: 'E\u0302\u0303',
+ Ė: 'E\u0307',
+ Ȩ: 'E\u0327',
+ Ḟ: 'F\u0307',
+ Ǵ: 'G\u0301',
+ Ḡ: 'G\u0304',
+ Ğ: 'G\u0306',
+ Ǧ: 'G\u030C',
+ Ĝ: 'G\u0302',
+ Ġ: 'G\u0307',
+ Ģ: 'G\u0327',
+ Ḧ: 'H\u0308',
+ Ȟ: 'H\u030C',
+ Ĥ: 'H\u0302',
+ Ḣ: 'H\u0307',
+ Ḩ: 'H\u0327',
+ Í: 'I\u0301',
+ Ì: 'I\u0300',
+ Ï: 'I\u0308',
+ Ḯ: 'I\u0308\u0301',
+ Ĩ: 'I\u0303',
+ Ī: 'I\u0304',
+ Ĭ: 'I\u0306',
+ Ǐ: 'I\u030C',
+ Î: 'I\u0302',
+ İ: 'I\u0307',
+ Ĵ: 'J\u0302',
+ Ḱ: 'K\u0301',
+ Ǩ: 'K\u030C',
+ Ķ: 'K\u0327',
+ Ĺ: 'L\u0301',
+ Ľ: 'L\u030C',
+ Ļ: 'L\u0327',
+ Ḿ: 'M\u0301',
+ Ṁ: 'M\u0307',
+ Ń: 'N\u0301',
+ Ǹ: 'N\u0300',
+ Ñ: 'N\u0303',
+ Ň: 'N\u030C',
+ Ṅ: 'N\u0307',
+ Ņ: 'N\u0327',
+ Ó: 'O\u0301',
+ Ò: 'O\u0300',
+ Ö: 'O\u0308',
+ Ȫ: 'O\u0308\u0304',
+ Õ: 'O\u0303',
+ Ṍ: 'O\u0303\u0301',
+ Ṏ: 'O\u0303\u0308',
+ Ȭ: 'O\u0303\u0304',
+ Ō: 'O\u0304',
+ Ṓ: 'O\u0304\u0301',
+ Ṑ: 'O\u0304\u0300',
+ Ŏ: 'O\u0306',
+ Ǒ: 'O\u030C',
+ Ô: 'O\u0302',
+ Ố: 'O\u0302\u0301',
+ Ồ: 'O\u0302\u0300',
+ Ỗ: 'O\u0302\u0303',
+ Ȯ: 'O\u0307',
+ Ȱ: 'O\u0307\u0304',
+ Ő: 'O\u030B',
+ Ṕ: 'P\u0301',
+ Ṗ: 'P\u0307',
+ Ŕ: 'R\u0301',
+ Ř: 'R\u030C',
+ Ṙ: 'R\u0307',
+ Ŗ: 'R\u0327',
+ Ś: 'S\u0301',
+ Ṥ: 'S\u0301\u0307',
+ Š: 'S\u030C',
+ Ṧ: 'S\u030C\u0307',
+ Ŝ: 'S\u0302',
+ Ṡ: 'S\u0307',
+ Ş: 'S\u0327',
+ Ť: 'T\u030C',
+ Ṫ: 'T\u0307',
+ Ţ: 'T\u0327',
+ Ú: 'U\u0301',
+ Ù: 'U\u0300',
+ Ü: 'U\u0308',
+ Ǘ: 'U\u0308\u0301',
+ Ǜ: 'U\u0308\u0300',
+ Ǖ: 'U\u0308\u0304',
+ Ǚ: 'U\u0308\u030C',
+ Ũ: 'U\u0303',
+ Ṹ: 'U\u0303\u0301',
+ Ū: 'U\u0304',
+ Ṻ: 'U\u0304\u0308',
+ Ŭ: 'U\u0306',
+ Ǔ: 'U\u030C',
+ Û: 'U\u0302',
+ Ů: 'U\u030A',
+ Ű: 'U\u030B',
+ Ṽ: 'V\u0303',
+ Ẃ: 'W\u0301',
+ Ẁ: 'W\u0300',
+ Ẅ: 'W\u0308',
+ Ŵ: 'W\u0302',
+ Ẇ: 'W\u0307',
+ Ẍ: 'X\u0308',
+ Ẋ: 'X\u0307',
+ Ý: 'Y\u0301',
+ Ỳ: 'Y\u0300',
+ Ÿ: 'Y\u0308',
+ Ỹ: 'Y\u0303',
+ Ȳ: 'Y\u0304',
+ Ŷ: 'Y\u0302',
+ Ẏ: 'Y\u0307',
+ Ź: 'Z\u0301',
+ Ž: 'Z\u030C',
+ Ẑ: 'Z\u0302',
+ Ż: 'Z\u0307',
+ ά: '\u03B1\u0301',
+ ὰ: '\u03B1\u0300',
+ ᾱ: '\u03B1\u0304',
+ ᾰ: '\u03B1\u0306',
+ έ: '\u03B5\u0301',
+ ὲ: '\u03B5\u0300',
+ ή: '\u03B7\u0301',
+ ὴ: '\u03B7\u0300',
+ ί: '\u03B9\u0301',
+ ὶ: '\u03B9\u0300',
+ ϊ: '\u03B9\u0308',
+ ΐ: '\u03B9\u0308\u0301',
+ ῒ: '\u03B9\u0308\u0300',
+ ῑ: '\u03B9\u0304',
+ ῐ: '\u03B9\u0306',
+ ό: '\u03BF\u0301',
+ ὸ: '\u03BF\u0300',
+ ύ: '\u03C5\u0301',
+ ὺ: '\u03C5\u0300',
+ ϋ: '\u03C5\u0308',
+ ΰ: '\u03C5\u0308\u0301',
+ ῢ: '\u03C5\u0308\u0300',
+ ῡ: '\u03C5\u0304',
+ ῠ: '\u03C5\u0306',
+ ώ: '\u03C9\u0301',
+ ὼ: '\u03C9\u0300',
+ Ύ: '\u03A5\u0301',
+ Ὺ: '\u03A5\u0300',
+ Ϋ: '\u03A5\u0308',
+ Ῡ: '\u03A5\u0304',
+ Ῠ: '\u03A5\u0306',
+ Ώ: '\u03A9\u0301',
+ Ὼ: '\u03A9\u0300'
+ }),
+ (x4 = class t {
+ static {
+ o(this, 'Parser');
+ }
+ constructor(e, r) {
+ (this.mode = void 0),
+ (this.gullet = void 0),
+ (this.settings = void 0),
+ (this.leftrightDepth = void 0),
+ (this.nextToken = void 0),
+ (this.mode = 'math'),
+ (this.gullet = new R7(e, r, this.mode)),
+ (this.settings = r),
+ (this.leftrightDepth = 0);
+ }
+ expect(e, r) {
+ if ((r === void 0 && (r = !0), this.fetch().text !== e))
+ throw new nt("Expected '" + e + "', got '" + this.fetch().text + "'", this.fetch());
+ r && this.consume();
+ }
+ consume() {
+ this.nextToken = null;
+ }
+ fetch() {
+ return (
+ this.nextToken == null && (this.nextToken = this.gullet.expandNextToken()), this.nextToken
+ );
+ }
+ switchMode(e) {
+ (this.mode = e), this.gullet.switchMode(e);
+ }
+ parse() {
+ this.settings.globalGroup || this.gullet.beginGroup(),
+ this.settings.colorIsTextColor && this.gullet.macros.set('\\color', '\\textcolor');
+ try {
+ var e = this.parseExpression(!1);
+ return this.expect('EOF'), this.settings.globalGroup || this.gullet.endGroup(), e;
+ } finally {
+ this.gullet.endGroups();
+ }
+ }
+ subparse(e) {
+ var r = this.nextToken;
+ this.consume(), this.gullet.pushToken(new Ao('}')), this.gullet.pushTokens(e);
+ var n = this.parseExpression(!1);
+ return this.expect('}'), (this.nextToken = r), n;
+ }
+ parseExpression(e, r) {
+ for (var n = []; ; ) {
+ this.mode === 'math' && this.consumeSpaces();
+ var i = this.fetch();
+ if (
+ t.endOfExpression.indexOf(i.text) !== -1 ||
+ (r && i.text === r) ||
+ (e && fh[i.text] && fh[i.text].infix)
+ )
+ break;
+ var a = this.parseAtom(r);
+ if (a) {
+ if (a.type === 'internal') continue;
+ } else break;
+ n.push(a);
+ }
+ return this.mode === 'text' && this.formLigatures(n), this.handleInfixNodes(n);
+ }
+ handleInfixNodes(e) {
+ for (var r = -1, n, i = 0; i < e.length; i++)
+ if (e[i].type === 'infix') {
+ if (r !== -1) throw new nt('only one infix operator per group', e[i].token);
+ (r = i), (n = e[i].replaceWith);
+ }
+ if (r !== -1 && n) {
+ var a,
+ s,
+ l = e.slice(0, r),
+ u = e.slice(r + 1);
+ l.length === 1 && l[0].type === 'ordgroup'
+ ? (a = l[0])
+ : (a = { type: 'ordgroup', mode: this.mode, body: l }),
+ u.length === 1 && u[0].type === 'ordgroup'
+ ? (s = u[0])
+ : (s = { type: 'ordgroup', mode: this.mode, body: u });
+ var h;
+ return (
+ n === '\\\\abovefrac'
+ ? (h = this.callFunction(n, [a, e[r], s], []))
+ : (h = this.callFunction(n, [a, s], [])),
+ [h]
+ );
+ } else return e;
+ }
+ handleSupSubscript(e) {
+ var r = this.fetch(),
+ n = r.text;
+ this.consume(), this.consumeSpaces();
+ var i = this.parseGroup(e);
+ if (!i) throw new nt("Expected group after '" + n + "'", r);
+ return i;
+ }
+ formatUnsupportedCmd(e) {
+ for (var r = [], n = 0; n < e.length; n++)
+ r.push({ type: 'textord', mode: 'text', text: e[n] });
+ var i = { type: 'text', mode: this.mode, body: r },
+ a = {
+ type: 'color',
+ mode: this.mode,
+ color: this.settings.errorColor,
+ body: [i]
+ };
+ return a;
+ }
+ parseAtom(e) {
+ var r = this.parseGroup('atom', e);
+ if (this.mode === 'text') return r;
+ for (var n, i; ; ) {
+ this.consumeSpaces();
+ var a = this.fetch();
+ if (a.text === '\\limits' || a.text === '\\nolimits') {
+ if (r && r.type === 'op') {
+ var s = a.text === '\\limits';
+ (r.limits = s), (r.alwaysHandleSupSub = !0);
+ } else if (r && r.type === 'operatorname')
+ r.alwaysHandleSupSub && (r.limits = a.text === '\\limits');
+ else throw new nt('Limit controls must follow a math operator', a);
+ this.consume();
+ } else if (a.text === '^') {
+ if (n) throw new nt('Double superscript', a);
+ n = this.handleSupSubscript('superscript');
+ } else if (a.text === '_') {
+ if (i) throw new nt('Double subscript', a);
+ i = this.handleSupSubscript('subscript');
+ } else if (a.text === "'") {
+ if (n) throw new nt('Double superscript', a);
+ var l = { type: 'textord', mode: this.mode, text: '\\prime' },
+ u = [l];
+ for (this.consume(); this.fetch().text === "'"; ) u.push(l), this.consume();
+ this.fetch().text === '^' && u.push(this.handleSupSubscript('superscript')),
+ (n = { type: 'ordgroup', mode: this.mode, body: u });
+ } else if (c4[a.text]) {
+ var h = SG.test(a.text),
+ f = [];
+ for (f.push(new Ao(c4[a.text])), this.consume(); ; ) {
+ var d = this.fetch().text;
+ if (!c4[d] || SG.test(d) !== h) break;
+ f.unshift(new Ao(c4[d])), this.consume();
+ }
+ var p = this.subparse(f);
+ h
+ ? (i = { type: 'ordgroup', mode: 'math', body: p })
+ : (n = { type: 'ordgroup', mode: 'math', body: p });
+ } else break;
+ }
+ return n || i ? { type: 'supsub', mode: this.mode, base: r, sup: n, sub: i } : r;
+ }
+ parseFunction(e, r) {
+ var n = this.fetch(),
+ i = n.text,
+ a = fh[i];
+ if (!a) return null;
+ if ((this.consume(), r && r !== 'atom' && !a.allowedInArgument))
+ throw new nt("Got function '" + i + "' with no arguments" + (r ? ' as ' + r : ''), n);
+ if (this.mode === 'text' && !a.allowedInText)
+ throw new nt("Can't use function '" + i + "' in text mode", n);
+ if (this.mode === 'math' && a.allowedInMath === !1)
+ throw new nt("Can't use function '" + i + "' in math mode", n);
+ var { args: s, optArgs: l } = this.parseArguments(i, a);
+ return this.callFunction(i, s, l, n, e);
+ }
+ callFunction(e, r, n, i, a) {
+ var s = {
+ funcName: e,
+ parser: this,
+ token: i,
+ breakOnTokenText: a
+ },
+ l = fh[e];
+ if (l && l.handler) return l.handler(s, r, n);
+ throw new nt('No function handler for ' + e);
+ }
+ parseArguments(e, r) {
+ var n = r.numArgs + r.numOptionalArgs;
+ if (n === 0) return { args: [], optArgs: [] };
+ for (var i = [], a = [], s = 0; s < n; s++) {
+ var l = r.argTypes && r.argTypes[s],
+ u = s < r.numOptionalArgs;
+ ((r.primitive && l == null) || (r.type === 'sqrt' && s === 1 && a[0] == null)) &&
+ (l = 'primitive');
+ var h = this.parseGroupOfType("argument to '" + e + "'", l, u);
+ if (u) a.push(h);
+ else if (h != null) i.push(h);
+ else throw new nt('Null argument, please report this as a bug');
+ }
+ return { args: i, optArgs: a };
+ }
+ parseGroupOfType(e, r, n) {
+ switch (r) {
+ case 'color':
+ return this.parseColorGroup(n);
+ case 'size':
+ return this.parseSizeGroup(n);
+ case 'url':
+ return this.parseUrlGroup(n);
+ case 'math':
+ case 'text':
+ return this.parseArgumentGroup(n, r);
+ case 'hbox': {
+ var i = this.parseArgumentGroup(n, 'text');
+ return i != null ? { type: 'styling', mode: i.mode, body: [i], style: 'text' } : null;
+ }
+ case 'raw': {
+ var a = this.parseStringGroup('raw', n);
+ return a != null ? { type: 'raw', mode: 'text', string: a.text } : null;
+ }
+ case 'primitive': {
+ if (n) throw new nt('A primitive argument cannot be optional');
+ var s = this.parseGroup(e);
+ if (s == null) throw new nt('Expected group as ' + e, this.fetch());
+ return s;
+ }
+ case 'original':
+ case null:
+ case void 0:
+ return this.parseArgumentGroup(n);
+ default:
+ throw new nt('Unknown group type as ' + e, this.fetch());
+ }
+ }
+ consumeSpaces() {
+ for (; this.fetch().text === ' '; ) this.consume();
+ }
+ parseStringGroup(e, r) {
+ var n = this.gullet.scanArgument(r);
+ if (n == null) return null;
+ for (var i = '', a; (a = this.fetch()).text !== 'EOF'; ) (i += a.text), this.consume();
+ return this.consume(), (n.text = i), n;
+ }
+ parseRegexGroup(e, r) {
+ for (
+ var n = this.fetch(), i = n, a = '', s;
+ (s = this.fetch()).text !== 'EOF' && e.test(a + s.text);
+
+ )
+ (i = s), (a += i.text), this.consume();
+ if (a === '') throw new nt('Invalid ' + r + ": '" + n.text + "'", n);
+ return n.range(i, a);
+ }
+ parseColorGroup(e) {
+ var r = this.parseStringGroup('color', e);
+ if (r == null) return null;
+ var n = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(r.text);
+ if (!n) throw new nt("Invalid color: '" + r.text + "'", r);
+ var i = n[0];
+ return (
+ /^[0-9a-f]{6}$/i.test(i) && (i = '#' + i),
+ { type: 'color-token', mode: this.mode, color: i }
+ );
+ }
+ parseSizeGroup(e) {
+ var r,
+ n = !1;
+ if (
+ (this.gullet.consumeSpaces(),
+ !e && this.gullet.future().text !== '{'
+ ? (r = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, 'size'))
+ : (r = this.parseStringGroup('size', e)),
+ !r)
+ )
+ return null;
+ !e && r.text.length === 0 && ((r.text = '0pt'), (n = !0));
+ var i = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(r.text);
+ if (!i) throw new nt("Invalid size: '" + r.text + "'", r);
+ var a = { number: +(i[1] + i[2]), unit: i[3] };
+ if (!DG(a)) throw new nt("Invalid unit: '" + a.unit + "'", r);
+ return { type: 'size', mode: this.mode, value: a, isBlank: n };
+ }
+ parseUrlGroup(e) {
+ this.gullet.lexer.setCatcode('%', 13), this.gullet.lexer.setCatcode('~', 12);
+ var r = this.parseStringGroup('url', e);
+ if ((this.gullet.lexer.setCatcode('%', 14), this.gullet.lexer.setCatcode('~', 13), r == null))
+ return null;
+ var n = r.text.replace(/\\([#$%&~_^{}])/g, '$1');
+ return { type: 'url', mode: this.mode, url: n };
+ }
+ parseArgumentGroup(e, r) {
+ var n = this.gullet.scanArgument(e);
+ if (n == null) return null;
+ var i = this.mode;
+ r && this.switchMode(r), this.gullet.beginGroup();
+ var a = this.parseExpression(!1, 'EOF');
+ this.expect('EOF'), this.gullet.endGroup();
+ var s = { type: 'ordgroup', mode: this.mode, loc: n.loc, body: a };
+ return r && this.switchMode(i), s;
+ }
+ parseGroup(e, r) {
+ var n = this.fetch(),
+ i = n.text,
+ a;
+ if (i === '{' || i === '\\begingroup') {
+ this.consume();
+ var s = i === '{' ? '}' : '\\endgroup';
+ this.gullet.beginGroup();
+ var l = this.parseExpression(!1, s),
+ u = this.fetch();
+ this.expect(s),
+ this.gullet.endGroup(),
+ (a = {
+ type: 'ordgroup',
+ mode: this.mode,
+ loc: Xs.range(n, u),
+ body: l,
+ semisimple: i === '\\begingroup' || void 0
+ });
+ } else if (
+ ((a = this.parseFunction(r, e) || this.parseSymbol()),
+ a == null && i[0] === '\\' && !b$.hasOwnProperty(i))
+ ) {
+ if (this.settings.throwOnError) throw new nt('Undefined control sequence: ' + i, n);
+ (a = this.formatUnsupportedCmd(i)), this.consume();
+ }
+ return a;
+ }
+ formLigatures(e) {
+ for (var r = e.length - 1, n = 0; n < r; ++n) {
+ var i = e[n],
+ a = i.text;
+ a === '-' &&
+ e[n + 1].text === '-' &&
+ (n + 1 < r && e[n + 2].text === '-'
+ ? (e.splice(n, 3, {
+ type: 'textord',
+ mode: 'text',
+ loc: Xs.range(i, e[n + 2]),
+ text: '---'
+ }),
+ (r -= 2))
+ : (e.splice(n, 2, {
+ type: 'textord',
+ mode: 'text',
+ loc: Xs.range(i, e[n + 1]),
+ text: '--'
+ }),
+ (r -= 1))),
+ (a === "'" || a === '`') &&
+ e[n + 1].text === a &&
+ (e.splice(n, 2, {
+ type: 'textord',
+ mode: 'text',
+ loc: Xs.range(i, e[n + 1]),
+ text: a + a
+ }),
+ (r -= 1));
+ }
+ }
+ parseSymbol() {
+ var e = this.fetch(),
+ r = e.text;
+ if (/^\\verb[^a-zA-Z]/.test(r)) {
+ this.consume();
+ var n = r.slice(5),
+ i = n.charAt(0) === '*';
+ if ((i && (n = n.slice(1)), n.length < 2 || n.charAt(0) !== n.slice(-1)))
+ throw new nt(`\\verb assertion failed --
+ please report what input caused this bug`);
+ return (n = n.slice(1, -1)), { type: 'verb', mode: 'text', body: n, star: i };
+ }
+ AG.hasOwnProperty(r[0]) &&
+ !wn[this.mode][r[0]] &&
+ (this.settings.strict &&
+ this.mode === 'math' &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Accented Unicode text character "' + r[0] + '" used in math mode',
+ e
+ ),
+ (r = AG[r[0]] + r.slice(1)));
+ var a = vbe.exec(r);
+ a && ((r = r.substring(0, a.index)), r === 'i' ? (r = '\u0131') : r === 'j' && (r = '\u0237'));
+ var s;
+ if (wn[this.mode][r]) {
+ this.settings.strict &&
+ this.mode === 'math' &&
+ k7.indexOf(r) >= 0 &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Latin-1/Unicode text character "' + r[0] + '" used in math mode',
+ e
+ );
+ var l = wn[this.mode][r].group,
+ u = Xs.range(e),
+ h;
+ if (hxe.hasOwnProperty(l)) {
+ var f = l;
+ h = {
+ type: 'atom',
+ mode: this.mode,
+ family: f,
+ loc: u,
+ text: r
+ };
+ } else h = { type: l, mode: this.mode, loc: u, text: r };
+ s = h;
+ } else if (r.charCodeAt(0) >= 128)
+ this.settings.strict &&
+ (LG(r.charCodeAt(0))
+ ? this.mode === 'math' &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Unicode text character "' + r[0] + '" used in math mode',
+ e
+ )
+ : this.settings.reportNonstrict(
+ 'unknownSymbol',
+ 'Unrecognized Unicode character "' +
+ r[0] +
+ '"' +
+ (' (' + r.charCodeAt(0) + ')'),
+ e
+ )),
+ (s = {
+ type: 'textord',
+ mode: 'text',
+ loc: Xs.range(e),
+ text: r
+ });
+ else return null;
+ if ((this.consume(), a))
+ for (var d = 0; d < a[0].length; d++) {
+ var p = a[0][d];
+ if (!x7[p]) throw new nt("Unknown accent ' " + p + "'", e);
+ var m = x7[p][this.mode] || x7[p].text;
+ if (!m) throw new nt('Accent ' + p + ' unsupported in ' + this.mode + ' mode', e);
+ s = {
+ type: 'accent',
+ mode: this.mode,
+ loc: Xs.range(e),
+ label: m,
+ isStretchy: !1,
+ isShifty: !0,
+ base: s
+ };
+ }
+ return s;
+ }
+ });
+ x4.endOfExpression = ['}', '\\endgroup', '\\end', '\\right', '&'];
+ (X7 = o(function (e, r) {
+ if (!(typeof e == 'string' || e instanceof String))
+ throw new TypeError('KaTeX can only parse string typed expression');
+ var n = new x4(e, r);
+ delete n.gullet.macros.current['\\df@tag'];
+ var i = n.parse();
+ if (
+ (delete n.gullet.macros.current['\\current@color'],
+ delete n.gullet.macros.current['\\color'],
+ n.gullet.macros.get('\\df@tag'))
+ ) {
+ if (!r.displayMode) throw new nt('\\tag works only in display equations');
+ i = [
+ {
+ type: 'tag',
+ mode: 'text',
+ body: i,
+ tag: n.subparse([new Ao('\\df@tag')])
+ }
+ ];
+ }
+ return i;
+ }, 'parseTree')),
+ (w$ = o(function (e, r, n) {
+ r.textContent = '';
+ var i = j7(e, n).toNode();
+ r.appendChild(i);
+ }, 'render'));
+ typeof document < 'u' &&
+ document.compatMode !== 'CSS1Compat' &&
+ (typeof console < 'u' &&
+ console.warn(
+ "Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."
+ ),
+ (w$ = o(function () {
+ throw new nt("KaTeX doesn't work in quirks mode.");
+ }, 'render')));
+ (wbe = o(function (e, r) {
+ var n = j7(e, r).toMarkup();
+ return n;
+ }, 'renderToString')),
+ (Tbe = o(function (e, r) {
+ var n = new ry(r);
+ return X7(e, n);
+ }, 'generateParseTree')),
+ (T$ = o(function (e, r, n) {
+ if (n.throwOnError || !(e instanceof nt)) throw e;
+ var i = Be.makeSpan(['katex-error'], [new ms(r)]);
+ return i.setAttribute('title', e.toString()), i.setAttribute('style', 'color:' + n.errorColor), i;
+ }, 'renderError')),
+ (j7 = o(function (e, r) {
+ var n = new ry(r);
+ try {
+ var i = X7(e, n);
+ return Mxe(i, e, n);
+ } catch (a) {
+ return T$(a, e, n);
+ }
+ }, 'renderToDomTree')),
+ (kbe = o(function (e, r) {
+ var n = new ry(r);
+ try {
+ var i = X7(e, n);
+ return Ixe(i, e, n);
+ } catch (a) {
+ return T$(a, e, n);
+ }
+ }, 'renderToHTMLTree')),
+ (Ebe = {
+ version: '0.16.11',
+ render: w$,
+ renderToString: wbe,
+ ParseError: nt,
+ SETTINGS_SCHEMA: u4,
+ __parse: Tbe,
+ __renderToDomTree: j7,
+ __renderToHTMLTree: kbe,
+ __setFontMetrics: axe,
+ __defineSymbol: G,
+ __defineFunction: vt,
+ __defineMacro: le,
+ __domTree: {
+ Span: jf,
+ Anchor: iy,
+ SymbolNode: ms,
+ SvgNode: ll,
+ PathNode: Jl,
+ LineNode: ay
+ }
+ });
+ });
+ function Abe() {
+ let t = 'data-temp-href-target';
+ bp.default.addHook('beforeSanitizeAttributes', (e) => {
+ e.tagName === 'A' && e.hasAttribute('target') && e.setAttribute(t, e.getAttribute('target') ?? '');
+ }),
+ bp.default.addHook('afterSanitizeAttributes', (e) => {
+ e.tagName === 'A' &&
+ e.hasAttribute(t) &&
+ (e.setAttribute('target', e.getAttribute(t) ?? ''),
+ e.removeAttribute(t),
+ e.getAttribute('target') === '_blank' && e.setAttribute('rel', 'noopener'));
+ });
+ }
+ var bp,
+ Qf,
+ Cbe,
+ Sbe,
+ A$,
+ C$,
+ qr,
+ _be,
+ Lbe,
+ Dbe,
+ Rbe,
+ _$,
+ Nbe,
+ yr,
+ Mbe,
+ Ibe,
+ gh,
+ K7,
+ Obe,
+ Pbe,
+ S$,
+ Q7,
+ Ni,
+ Zf,
+ yh,
+ We,
+ rr = R(() => {
+ 'use strict';
+ (bp = Xi(o7(), 1)),
+ (Qf = /
/gi),
+ (Cbe = o((t) => (t ? _$(t).replace(/\\n/g, '#br#').split('#br#') : ['']), 'getRows')),
+ (Sbe = (() => {
+ let t = !1;
+ return () => {
+ t || (Abe(), (t = !0));
+ };
+ })());
+ o(Abe, 'setupDompurifyHooks');
+ (A$ = o((t) => (Sbe(), bp.default.sanitize(t)), 'removeScript')),
+ (C$ = o((t, e) => {
+ if (e.flowchart?.htmlLabels !== !1) {
+ let r = e.securityLevel;
+ r === 'antiscript' || r === 'strict'
+ ? (t = A$(t))
+ : r !== 'loose' &&
+ ((t = _$(t)),
+ (t = t.replace(//g, '>')),
+ (t = t.replace(/=/g, '=')),
+ (t = Rbe(t)));
+ }
+ return t;
+ }, 'sanitizeMore')),
+ (qr = o(
+ (t, e) =>
+ t &&
+ (e.dompurifyConfig
+ ? (t = bp.default.sanitize(C$(t, e), e.dompurifyConfig).toString())
+ : (t = bp.default.sanitize(C$(t, e), { FORBID_TAGS: ['style'] }).toString()),
+ t),
+ 'sanitizeText'
+ )),
+ (_be = o(
+ (t, e) => (typeof t == 'string' ? qr(t, e) : t.flat().map((r) => qr(r, e))),
+ 'sanitizeTextOrArray'
+ )),
+ (Lbe = o((t) => Qf.test(t), 'hasBreaks')),
+ (Dbe = o((t) => t.split(Qf), 'splitBreaks')),
+ (Rbe = o((t) => t.replace(/#br#/g, '
'), 'placeholderToBreak')),
+ (_$ = o((t) => t.replace(Qf, '#br#'), 'breakToPlaceholder')),
+ (Nbe = o((t) => {
+ let e = '';
+ return (
+ t &&
+ ((e =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (e = e.replaceAll(/\(/g, '\\(')),
+ (e = e.replaceAll(/\)/g, '\\)'))),
+ e
+ );
+ }, 'getUrl')),
+ (yr = o(
+ (t) => !(t === !1 || ['false', 'null', '0'].includes(String(t).trim().toLowerCase())),
+ 'evaluate'
+ )),
+ (Mbe = o(function (...t) {
+ let e = t.filter((r) => !isNaN(r));
+ return Math.max(...e);
+ }, 'getMax')),
+ (Ibe = o(function (...t) {
+ let e = t.filter((r) => !isNaN(r));
+ return Math.min(...e);
+ }, 'getMin')),
+ (gh = o(function (t) {
+ let e = t.split(/(,)/),
+ r = [];
+ for (let n = 0; n < e.length; n++) {
+ let i = e[n];
+ if (i === ',' && n > 0 && n + 1 < e.length) {
+ let a = e[n - 1],
+ s = e[n + 1];
+ Obe(a, s) && ((i = a + ',' + s), n++, r.pop());
+ }
+ r.push(Pbe(i));
+ }
+ return r.join('');
+ }, 'parseGenericTypes')),
+ (K7 = o((t, e) => Math.max(0, t.split(e).length - 1), 'countOccurrence')),
+ (Obe = o((t, e) => {
+ let r = K7(t, '~'),
+ n = K7(e, '~');
+ return r === 1 && n === 1;
+ }, 'shouldCombineSets')),
+ (Pbe = o((t) => {
+ let e = K7(t, '~'),
+ r = !1;
+ if (e <= 1) return t;
+ e % 2 !== 0 && t.startsWith('~') && ((t = t.substring(1)), (r = !0));
+ let n = [...t],
+ i = n.indexOf('~'),
+ a = n.lastIndexOf('~');
+ for (; i !== -1 && a !== -1 && i !== a; )
+ (n[i] = '<'), (n[a] = '>'), (i = n.indexOf('~')), (a = n.lastIndexOf('~'));
+ return r && n.unshift('~'), n.join('');
+ }, 'processSet')),
+ (S$ = o(() => window.MathMLElement !== void 0, 'isMathMLSupported')),
+ (Q7 = /\$\$(.*)\$\$/g),
+ (Ni = o((t) => (t.match(Q7)?.length ?? 0) > 0, 'hasKatex')),
+ (Zf = o(async (t, e) => {
+ t = await yh(t, e);
+ let r = document.createElement('div');
+ (r.innerHTML = t),
+ (r.id = 'katex-temp'),
+ (r.style.visibility = 'hidden'),
+ (r.style.position = 'absolute'),
+ (r.style.top = '0'),
+ document.querySelector('body')?.insertAdjacentElement('beforeend', r);
+ let i = { width: r.clientWidth, height: r.clientHeight };
+ return r.remove(), i;
+ }, 'calculateMathMLDimensions')),
+ (yh = o(async (t, e) => {
+ if (!Ni(t)) return t;
+ if (!(S$() || e.legacyMathML || e.forceLegacyMathML))
+ return t.replace(Q7, 'MathML is unsupported in this environment.');
+ let { default: r } = await Promise.resolve().then(() => (E$(), k$)),
+ n = e.forceLegacyMathML || (!S$() && e.legacyMathML) ? 'htmlAndMathml' : 'mathml';
+ return t
+ .split(Qf)
+ .map((i) =>
+ Ni(i)
+ ? `${i}
`
+ : `${i}
`
+ )
+ .join('')
+ .replace(Q7, (i, a) =>
+ r
+ .renderToString(a, {
+ throwOnError: !0,
+ displayMode: !0,
+ output: n
+ })
+ .replace(/\n/g, ' ')
+ .replace(//g, '')
+ );
+ }, 'renderKatex')),
+ (We = {
+ getRows: Cbe,
+ sanitizeText: qr,
+ sanitizeTextOrArray: _be,
+ hasBreaks: Lbe,
+ splitBreaks: Dbe,
+ lineBreakRegex: Qf,
+ removeScript: A$,
+ getUrl: Nbe,
+ evaluate: yr,
+ getMax: Mbe,
+ getMin: Ibe
+ });
+ });
+ var Bbe,
+ Fbe,
+ Sr,
+ Lo,
+ Yn = R(() => {
+ 'use strict';
+ ut();
+ (Bbe = o(function (t, e) {
+ for (let r of e) t.attr(r[0], r[1]);
+ }, 'd3Attrs')),
+ (Fbe = o(function (t, e, r) {
+ let n = new Map();
+ return (
+ r
+ ? (n.set('width', '100%'), n.set('style', `max-width: ${e}px;`))
+ : (n.set('height', t), n.set('width', e)),
+ n
+ );
+ }, 'calculateSvgSizeAttrs')),
+ (Sr = o(function (t, e, r, n) {
+ let i = Fbe(e, r, n);
+ Bbe(t, i);
+ }, 'configureSvgSize')),
+ (Lo = o(function (t, e, r, n) {
+ let i = e.node().getBBox(),
+ a = i.width,
+ s = i.height;
+ V.info(`SVG bounds: ${a}x${s}`, i);
+ let l = 0,
+ u = 0;
+ V.info(`Graph bounds: ${l}x${u}`, t),
+ (l = a + r * 2),
+ (u = s + r * 2),
+ V.info(`Calculated bounds: ${l}x${u}`),
+ Sr(e, u, l, n);
+ let h = `${i.x - r} ${i.y - r} ${i.width + 2 * r} ${i.height + 2 * r}`;
+ e.attr('viewBox', h);
+ }, 'setupGraphViewbox'));
+ });
+ var S4,
+ zbe,
+ L$,
+ D$,
+ Z7 = R(() => {
+ 'use strict';
+ ut();
+ (S4 = {}),
+ (zbe = o((t, e, r) => {
+ let n = '';
+ return (
+ t in S4 && S4[t] ? (n = S4[t](r)) : V.warn(`No theme found for ${t}`),
+ ` & {
+ font-family: ${r.fontFamily};
+ font-size: ${r.fontSize};
+ fill: ${r.textColor}
+ }
+
+ /* Classes common for multiple diagrams */
+
+ & .error-icon {
+ fill: ${r.errorBkgColor};
+ }
+ & .error-text {
+ fill: ${r.errorTextColor};
+ stroke: ${r.errorTextColor};
+ }
+
+ & .edge-thickness-normal {
+ stroke-width: 1px;
+ }
+ & .edge-thickness-thick {
+ stroke-width: 3.5px
+ }
+ & .edge-pattern-solid {
+ stroke-dasharray: 0;
+ }
+ & .edge-thickness-invisible {
+ stroke-width: 0;
+ fill: none;
+ }
+ & .edge-pattern-dashed{
+ stroke-dasharray: 3;
+ }
+ .edge-pattern-dotted {
+ stroke-dasharray: 2;
+ }
+
+ & .marker {
+ fill: ${r.lineColor};
+ stroke: ${r.lineColor};
+ }
+ & .marker.cross {
+ stroke: ${r.lineColor};
+ }
+
+ & svg {
+ font-family: ${r.fontFamily};
+ font-size: ${r.fontSize};
+ }
+ & p {
+ margin: 0
+ }
+
+ ${n}
+
+ ${e}
+`
+ );
+ }, 'getStyles')),
+ (L$ = o((t, e) => {
+ e !== void 0 && (S4[t] = e);
+ }, 'addStylesForDiagram')),
+ (D$ = zbe);
+ });
+ var ly = {};
+ hr(ly, {
+ clear: () => vr,
+ getAccDescription: () => Lr,
+ getAccTitle: () => Ar,
+ getDiagramTitle: () => Xr,
+ setAccDescription: () => _r,
+ setAccTitle: () => kr,
+ setDiagramTitle: () => nn
+ });
+ var J7,
+ eS,
+ tS,
+ rS,
+ vr,
+ kr,
+ Ar,
+ _r,
+ Lr,
+ nn,
+ Xr,
+ bi = R(() => {
+ 'use strict';
+ rr();
+ qs();
+ (J7 = ''),
+ (eS = ''),
+ (tS = ''),
+ (rS = o((t) => qr(t, Or()), 'sanitizeText')),
+ (vr = o(() => {
+ (J7 = ''), (tS = ''), (eS = '');
+ }, 'clear')),
+ (kr = o((t) => {
+ J7 = rS(t).replace(/^\s+/g, '');
+ }, 'setAccTitle')),
+ (Ar = o(() => J7, 'getAccTitle')),
+ (_r = o((t) => {
+ tS = rS(t).replace(
+ /\n\s+/g,
+ `
+`
+ );
+ }, 'setAccDescription')),
+ (Lr = o(() => tS, 'getAccDescription')),
+ (nn = o((t) => {
+ eS = rS(t);
+ }, 'setDiagramTitle')),
+ (Xr = o(() => eS, 'getDiagramTitle'));
+ });
+ var R$,
+ Gbe,
+ de,
+ iS,
+ _4,
+ $be,
+ aS,
+ Vbe,
+ A4,
+ Jf,
+ cy,
+ nS,
+ _t = R(() => {
+ 'use strict';
+ Hf();
+ ut();
+ qs();
+ rr();
+ Yn();
+ Z7();
+ bi();
+ (R$ = V),
+ (Gbe = $1),
+ (de = Or),
+ (iS = Zb),
+ (_4 = uh),
+ ($be = o((t) => qr(t, de()), 'sanitizeText')),
+ (aS = Lo),
+ (Vbe = o(() => ly, 'getCommonDb')),
+ (A4 = {}),
+ (Jf = o((t, e, r) => {
+ A4[t] && R$.warn(`Diagram with id ${t} already registered. Overwriting.`),
+ (A4[t] = e),
+ r && $C(t, r),
+ L$(t, e.styles),
+ e.injectUtils?.(R$, Gbe, de, $be, aS, Vbe(), () => {});
+ }, 'registerDiagram')),
+ (cy = o((t) => {
+ if (t in A4) return A4[t];
+ throw new nS(t);
+ }, 'getDiagram')),
+ (nS = class extends Error {
+ static {
+ o(this, 'DiagramNotFoundError');
+ }
+ constructor(e) {
+ super(`Diagram ${e} not found.`);
+ }
+ });
+ });
+ var ul,
+ vh,
+ ja,
+ cl,
+ nc,
+ uy,
+ sS,
+ oS,
+ L4,
+ D4,
+ N$,
+ Ube,
+ Hbe,
+ Ybe,
+ Wbe,
+ qbe,
+ Xbe,
+ jbe,
+ Kbe,
+ Qbe,
+ Zbe,
+ Jbe,
+ e4e,
+ t4e,
+ r4e,
+ n4e,
+ i4e,
+ a4e,
+ M$,
+ s4e,
+ o4e,
+ I$,
+ l4e,
+ c4e,
+ u4e,
+ h4e,
+ xh,
+ f4e,
+ d4e,
+ p4e,
+ m4e,
+ g4e,
+ hy,
+ lS = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ bi();
+ (ul = []),
+ (vh = ['']),
+ (ja = 'global'),
+ (cl = ''),
+ (nc = [
+ {
+ alias: 'global',
+ label: { text: 'global' },
+ type: { text: 'global' },
+ tags: null,
+ link: null,
+ parentBoundary: ''
+ }
+ ]),
+ (uy = []),
+ (sS = ''),
+ (oS = !1),
+ (L4 = 4),
+ (D4 = 2),
+ (Ube = o(function () {
+ return N$;
+ }, 'getC4Type')),
+ (Hbe = o(function (t) {
+ N$ = qr(t, de());
+ }, 'setC4Type')),
+ (Ybe = o(function (t, e, r, n, i, a, s, l, u) {
+ if (
+ t == null ||
+ e === void 0 ||
+ e === null ||
+ r === void 0 ||
+ r === null ||
+ n === void 0 ||
+ n === null
+ )
+ return;
+ let h = {},
+ f = uy.find((d) => d.from === e && d.to === r);
+ if (
+ (f ? (h = f) : uy.push(h),
+ (h.type = t),
+ (h.from = e),
+ (h.to = r),
+ (h.label = { text: n }),
+ i == null)
+ )
+ h.techn = { text: '' };
+ else if (typeof i == 'object') {
+ let [d, p] = Object.entries(i)[0];
+ h[d] = { text: p };
+ } else h.techn = { text: i };
+ if (a == null) h.descr = { text: '' };
+ else if (typeof a == 'object') {
+ let [d, p] = Object.entries(a)[0];
+ h[d] = { text: p };
+ } else h.descr = { text: a };
+ if (typeof s == 'object') {
+ let [d, p] = Object.entries(s)[0];
+ h[d] = p;
+ } else h.sprite = s;
+ if (typeof l == 'object') {
+ let [d, p] = Object.entries(l)[0];
+ h[d] = p;
+ } else h.tags = l;
+ if (typeof u == 'object') {
+ let [d, p] = Object.entries(u)[0];
+ h[d] = p;
+ } else h.link = u;
+ h.wrap = xh();
+ }, 'addRel')),
+ (Wbe = o(function (t, e, r, n, i, a, s) {
+ if (e === null || r === null) return;
+ let l = {},
+ u = ul.find((h) => h.alias === e);
+ if (
+ (u && e === u.alias ? (l = u) : ((l.alias = e), ul.push(l)),
+ r == null ? (l.label = { text: '' }) : (l.label = { text: r }),
+ n == null)
+ )
+ l.descr = { text: '' };
+ else if (typeof n == 'object') {
+ let [h, f] = Object.entries(n)[0];
+ l[h] = { text: f };
+ } else l.descr = { text: n };
+ if (typeof i == 'object') {
+ let [h, f] = Object.entries(i)[0];
+ l[h] = f;
+ } else l.sprite = i;
+ if (typeof a == 'object') {
+ let [h, f] = Object.entries(a)[0];
+ l[h] = f;
+ } else l.tags = a;
+ if (typeof s == 'object') {
+ let [h, f] = Object.entries(s)[0];
+ l[h] = f;
+ } else l.link = s;
+ (l.typeC4Shape = { text: t }), (l.parentBoundary = ja), (l.wrap = xh());
+ }, 'addPersonOrSystem')),
+ (qbe = o(function (t, e, r, n, i, a, s, l) {
+ if (e === null || r === null) return;
+ let u = {},
+ h = ul.find((f) => f.alias === e);
+ if (
+ (h && e === h.alias ? (u = h) : ((u.alias = e), ul.push(u)),
+ r == null ? (u.label = { text: '' }) : (u.label = { text: r }),
+ n == null)
+ )
+ u.techn = { text: '' };
+ else if (typeof n == 'object') {
+ let [f, d] = Object.entries(n)[0];
+ u[f] = { text: d };
+ } else u.techn = { text: n };
+ if (i == null) u.descr = { text: '' };
+ else if (typeof i == 'object') {
+ let [f, d] = Object.entries(i)[0];
+ u[f] = { text: d };
+ } else u.descr = { text: i };
+ if (typeof a == 'object') {
+ let [f, d] = Object.entries(a)[0];
+ u[f] = d;
+ } else u.sprite = a;
+ if (typeof s == 'object') {
+ let [f, d] = Object.entries(s)[0];
+ u[f] = d;
+ } else u.tags = s;
+ if (typeof l == 'object') {
+ let [f, d] = Object.entries(l)[0];
+ u[f] = d;
+ } else u.link = l;
+ (u.wrap = xh()), (u.typeC4Shape = { text: t }), (u.parentBoundary = ja);
+ }, 'addContainer')),
+ (Xbe = o(function (t, e, r, n, i, a, s, l) {
+ if (e === null || r === null) return;
+ let u = {},
+ h = ul.find((f) => f.alias === e);
+ if (
+ (h && e === h.alias ? (u = h) : ((u.alias = e), ul.push(u)),
+ r == null ? (u.label = { text: '' }) : (u.label = { text: r }),
+ n == null)
+ )
+ u.techn = { text: '' };
+ else if (typeof n == 'object') {
+ let [f, d] = Object.entries(n)[0];
+ u[f] = { text: d };
+ } else u.techn = { text: n };
+ if (i == null) u.descr = { text: '' };
+ else if (typeof i == 'object') {
+ let [f, d] = Object.entries(i)[0];
+ u[f] = { text: d };
+ } else u.descr = { text: i };
+ if (typeof a == 'object') {
+ let [f, d] = Object.entries(a)[0];
+ u[f] = d;
+ } else u.sprite = a;
+ if (typeof s == 'object') {
+ let [f, d] = Object.entries(s)[0];
+ u[f] = d;
+ } else u.tags = s;
+ if (typeof l == 'object') {
+ let [f, d] = Object.entries(l)[0];
+ u[f] = d;
+ } else u.link = l;
+ (u.wrap = xh()), (u.typeC4Shape = { text: t }), (u.parentBoundary = ja);
+ }, 'addComponent')),
+ (jbe = o(function (t, e, r, n, i) {
+ if (t === null || e === null) return;
+ let a = {},
+ s = nc.find((l) => l.alias === t);
+ if (
+ (s && t === s.alias ? (a = s) : ((a.alias = t), nc.push(a)),
+ e == null ? (a.label = { text: '' }) : (a.label = { text: e }),
+ r == null)
+ )
+ a.type = { text: 'system' };
+ else if (typeof r == 'object') {
+ let [l, u] = Object.entries(r)[0];
+ a[l] = { text: u };
+ } else a.type = { text: r };
+ if (typeof n == 'object') {
+ let [l, u] = Object.entries(n)[0];
+ a[l] = u;
+ } else a.tags = n;
+ if (typeof i == 'object') {
+ let [l, u] = Object.entries(i)[0];
+ a[l] = u;
+ } else a.link = i;
+ (a.parentBoundary = ja), (a.wrap = xh()), (cl = ja), (ja = t), vh.push(cl);
+ }, 'addPersonOrSystemBoundary')),
+ (Kbe = o(function (t, e, r, n, i) {
+ if (t === null || e === null) return;
+ let a = {},
+ s = nc.find((l) => l.alias === t);
+ if (
+ (s && t === s.alias ? (a = s) : ((a.alias = t), nc.push(a)),
+ e == null ? (a.label = { text: '' }) : (a.label = { text: e }),
+ r == null)
+ )
+ a.type = { text: 'container' };
+ else if (typeof r == 'object') {
+ let [l, u] = Object.entries(r)[0];
+ a[l] = { text: u };
+ } else a.type = { text: r };
+ if (typeof n == 'object') {
+ let [l, u] = Object.entries(n)[0];
+ a[l] = u;
+ } else a.tags = n;
+ if (typeof i == 'object') {
+ let [l, u] = Object.entries(i)[0];
+ a[l] = u;
+ } else a.link = i;
+ (a.parentBoundary = ja), (a.wrap = xh()), (cl = ja), (ja = t), vh.push(cl);
+ }, 'addContainerBoundary')),
+ (Qbe = o(function (t, e, r, n, i, a, s, l) {
+ if (e === null || r === null) return;
+ let u = {},
+ h = nc.find((f) => f.alias === e);
+ if (
+ (h && e === h.alias ? (u = h) : ((u.alias = e), nc.push(u)),
+ r == null ? (u.label = { text: '' }) : (u.label = { text: r }),
+ n == null)
+ )
+ u.type = { text: 'node' };
+ else if (typeof n == 'object') {
+ let [f, d] = Object.entries(n)[0];
+ u[f] = { text: d };
+ } else u.type = { text: n };
+ if (i == null) u.descr = { text: '' };
+ else if (typeof i == 'object') {
+ let [f, d] = Object.entries(i)[0];
+ u[f] = { text: d };
+ } else u.descr = { text: i };
+ if (typeof s == 'object') {
+ let [f, d] = Object.entries(s)[0];
+ u[f] = d;
+ } else u.tags = s;
+ if (typeof l == 'object') {
+ let [f, d] = Object.entries(l)[0];
+ u[f] = d;
+ } else u.link = l;
+ (u.nodeType = t), (u.parentBoundary = ja), (u.wrap = xh()), (cl = ja), (ja = e), vh.push(cl);
+ }, 'addDeploymentNode')),
+ (Zbe = o(function () {
+ (ja = cl), vh.pop(), (cl = vh.pop()), vh.push(cl);
+ }, 'popBoundaryParseStack')),
+ (Jbe = o(function (t, e, r, n, i, a, s, l, u, h, f) {
+ let d = ul.find((p) => p.alias === e);
+ if (!(d === void 0 && ((d = nc.find((p) => p.alias === e)), d === void 0))) {
+ if (r != null)
+ if (typeof r == 'object') {
+ let [p, m] = Object.entries(r)[0];
+ d[p] = m;
+ } else d.bgColor = r;
+ if (n != null)
+ if (typeof n == 'object') {
+ let [p, m] = Object.entries(n)[0];
+ d[p] = m;
+ } else d.fontColor = n;
+ if (i != null)
+ if (typeof i == 'object') {
+ let [p, m] = Object.entries(i)[0];
+ d[p] = m;
+ } else d.borderColor = i;
+ if (a != null)
+ if (typeof a == 'object') {
+ let [p, m] = Object.entries(a)[0];
+ d[p] = m;
+ } else d.shadowing = a;
+ if (s != null)
+ if (typeof s == 'object') {
+ let [p, m] = Object.entries(s)[0];
+ d[p] = m;
+ } else d.shape = s;
+ if (l != null)
+ if (typeof l == 'object') {
+ let [p, m] = Object.entries(l)[0];
+ d[p] = m;
+ } else d.sprite = l;
+ if (u != null)
+ if (typeof u == 'object') {
+ let [p, m] = Object.entries(u)[0];
+ d[p] = m;
+ } else d.techn = u;
+ if (h != null)
+ if (typeof h == 'object') {
+ let [p, m] = Object.entries(h)[0];
+ d[p] = m;
+ } else d.legendText = h;
+ if (f != null)
+ if (typeof f == 'object') {
+ let [p, m] = Object.entries(f)[0];
+ d[p] = m;
+ } else d.legendSprite = f;
+ }
+ }, 'updateElStyle')),
+ (e4e = o(function (t, e, r, n, i, a, s) {
+ let l = uy.find((u) => u.from === e && u.to === r);
+ if (l !== void 0) {
+ if (n != null)
+ if (typeof n == 'object') {
+ let [u, h] = Object.entries(n)[0];
+ l[u] = h;
+ } else l.textColor = n;
+ if (i != null)
+ if (typeof i == 'object') {
+ let [u, h] = Object.entries(i)[0];
+ l[u] = h;
+ } else l.lineColor = i;
+ if (a != null)
+ if (typeof a == 'object') {
+ let [u, h] = Object.entries(a)[0];
+ l[u] = parseInt(h);
+ } else l.offsetX = parseInt(a);
+ if (s != null)
+ if (typeof s == 'object') {
+ let [u, h] = Object.entries(s)[0];
+ l[u] = parseInt(h);
+ } else l.offsetY = parseInt(s);
+ }
+ }, 'updateRelStyle')),
+ (t4e = o(function (t, e, r) {
+ let n = L4,
+ i = D4;
+ if (typeof e == 'object') {
+ let a = Object.values(e)[0];
+ n = parseInt(a);
+ } else n = parseInt(e);
+ if (typeof r == 'object') {
+ let a = Object.values(r)[0];
+ i = parseInt(a);
+ } else i = parseInt(r);
+ n >= 1 && (L4 = n), i >= 1 && (D4 = i);
+ }, 'updateLayoutConfig')),
+ (r4e = o(function () {
+ return L4;
+ }, 'getC4ShapeInRow')),
+ (n4e = o(function () {
+ return D4;
+ }, 'getC4BoundaryInRow')),
+ (i4e = o(function () {
+ return ja;
+ }, 'getCurrentBoundaryParse')),
+ (a4e = o(function () {
+ return cl;
+ }, 'getParentBoundaryParse')),
+ (M$ = o(function (t) {
+ return t == null ? ul : ul.filter((e) => e.parentBoundary === t);
+ }, 'getC4ShapeArray')),
+ (s4e = o(function (t) {
+ return ul.find((e) => e.alias === t);
+ }, 'getC4Shape')),
+ (o4e = o(function (t) {
+ return Object.keys(M$(t));
+ }, 'getC4ShapeKeys')),
+ (I$ = o(function (t) {
+ return t == null ? nc : nc.filter((e) => e.parentBoundary === t);
+ }, 'getBoundaries')),
+ (l4e = I$),
+ (c4e = o(function () {
+ return uy;
+ }, 'getRels')),
+ (u4e = o(function () {
+ return sS;
+ }, 'getTitle')),
+ (h4e = o(function (t) {
+ oS = t;
+ }, 'setWrap')),
+ (xh = o(function () {
+ return oS;
+ }, 'autoWrap')),
+ (f4e = o(function () {
+ (ul = []),
+ (nc = [
+ {
+ alias: 'global',
+ label: { text: 'global' },
+ type: { text: 'global' },
+ tags: null,
+ link: null,
+ parentBoundary: ''
+ }
+ ]),
+ (cl = ''),
+ (ja = 'global'),
+ (vh = ['']),
+ (uy = []),
+ (vh = ['']),
+ (sS = ''),
+ (oS = !1),
+ (L4 = 4),
+ (D4 = 2);
+ }, 'clear')),
+ (d4e = {
+ SOLID: 0,
+ DOTTED: 1,
+ NOTE: 2,
+ SOLID_CROSS: 3,
+ DOTTED_CROSS: 4,
+ SOLID_OPEN: 5,
+ DOTTED_OPEN: 6,
+ LOOP_START: 10,
+ LOOP_END: 11,
+ ALT_START: 12,
+ ALT_ELSE: 13,
+ ALT_END: 14,
+ OPT_START: 15,
+ OPT_END: 16,
+ ACTIVE_START: 17,
+ ACTIVE_END: 18,
+ PAR_START: 19,
+ PAR_AND: 20,
+ PAR_END: 21,
+ RECT_START: 22,
+ RECT_END: 23,
+ SOLID_POINT: 24,
+ DOTTED_POINT: 25
+ }),
+ (p4e = { FILLED: 0, OPEN: 1 }),
+ (m4e = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }),
+ (g4e = o(function (t) {
+ sS = qr(t, de());
+ }, 'setTitle')),
+ (hy = {
+ addPersonOrSystem: Wbe,
+ addPersonOrSystemBoundary: jbe,
+ addContainer: qbe,
+ addContainerBoundary: Kbe,
+ addComponent: Xbe,
+ addDeploymentNode: Qbe,
+ popBoundaryParseStack: Zbe,
+ addRel: Ybe,
+ updateElStyle: Jbe,
+ updateRelStyle: e4e,
+ updateLayoutConfig: t4e,
+ autoWrap: xh,
+ setWrap: h4e,
+ getC4ShapeArray: M$,
+ getC4Shape: s4e,
+ getC4ShapeKeys: o4e,
+ getBoundaries: I$,
+ getBoundarys: l4e,
+ getCurrentBoundaryParse: i4e,
+ getParentBoundaryParse: a4e,
+ getRels: c4e,
+ getTitle: u4e,
+ getC4Type: Ube,
+ getC4ShapeInRow: r4e,
+ getC4BoundaryInRow: n4e,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ getConfig: o(() => de().c4, 'getConfig'),
+ clear: f4e,
+ LINETYPE: d4e,
+ ARROWTYPE: p4e,
+ PLACEMENT: m4e,
+ setTitle: g4e,
+ setC4Type: Hbe
+ });
+ });
+ function ed(t, e) {
+ return t == null || e == null ? NaN : t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN;
+ }
+ var cS = R(() => {
+ 'use strict';
+ o(ed, 'ascending');
+ });
+ function uS(t, e) {
+ return t == null || e == null ? NaN : e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
+ }
+ var O$ = R(() => {
+ 'use strict';
+ o(uS, 'descending');
+ });
+ function td(t) {
+ let e, r, n;
+ t.length !== 2
+ ? ((e = ed), (r = o((l, u) => ed(t(l), u), 'compare2')), (n = o((l, u) => t(l) - u, 'delta')))
+ : ((e = t === ed || t === uS ? t : y4e), (r = t), (n = t));
+ function i(l, u, h = 0, f = l.length) {
+ if (h < f) {
+ if (e(u, u) !== 0) return f;
+ do {
+ let d = (h + f) >>> 1;
+ r(l[d], u) < 0 ? (h = d + 1) : (f = d);
+ } while (h < f);
+ }
+ return h;
+ }
+ o(i, 'left');
+ function a(l, u, h = 0, f = l.length) {
+ if (h < f) {
+ if (e(u, u) !== 0) return f;
+ do {
+ let d = (h + f) >>> 1;
+ r(l[d], u) <= 0 ? (h = d + 1) : (f = d);
+ } while (h < f);
+ }
+ return h;
+ }
+ o(a, 'right');
+ function s(l, u, h = 0, f = l.length) {
+ let d = i(l, u, h, f - 1);
+ return d > h && n(l[d - 1], u) > -n(l[d], u) ? d - 1 : d;
+ }
+ return o(s, 'center'), { left: i, center: s, right: a };
+ }
+ function y4e() {
+ return 0;
+ }
+ var hS = R(() => {
+ 'use strict';
+ cS();
+ O$();
+ o(td, 'bisector');
+ o(y4e, 'zero');
+ });
+ function fS(t) {
+ return t === null ? NaN : +t;
+ }
+ var P$ = R(() => {
+ 'use strict';
+ o(fS, 'number');
+ });
+ var B$,
+ F$,
+ v4e,
+ x4e,
+ dS,
+ z$ = R(() => {
+ 'use strict';
+ cS();
+ hS();
+ P$();
+ (B$ = td(ed)), (F$ = B$.right), (v4e = B$.left), (x4e = td(fS).center), (dS = F$);
+ });
+ function G$({ _intern: t, _key: e }, r) {
+ let n = e(r);
+ return t.has(n) ? t.get(n) : r;
+ }
+ function b4e({ _intern: t, _key: e }, r) {
+ let n = e(r);
+ return t.has(n) ? t.get(n) : (t.set(n, r), r);
+ }
+ function w4e({ _intern: t, _key: e }, r) {
+ let n = e(r);
+ return t.has(n) && ((r = t.get(n)), t.delete(n)), r;
+ }
+ function T4e(t) {
+ return t !== null && typeof t == 'object' ? t.valueOf() : t;
+ }
+ var wp,
+ $$ = R(() => {
+ 'use strict';
+ wp = class extends Map {
+ static {
+ o(this, 'InternMap');
+ }
+ constructor(e, r = T4e) {
+ if (
+ (super(),
+ Object.defineProperties(this, {
+ _intern: { value: new Map() },
+ _key: { value: r }
+ }),
+ e != null)
+ )
+ for (let [n, i] of e) this.set(n, i);
+ }
+ get(e) {
+ return super.get(G$(this, e));
+ }
+ has(e) {
+ return super.has(G$(this, e));
+ }
+ set(e, r) {
+ return super.set(b4e(this, e), r);
+ }
+ delete(e) {
+ return super.delete(w4e(this, e));
+ }
+ };
+ o(G$, 'intern_get');
+ o(b4e, 'intern_set');
+ o(w4e, 'intern_delete');
+ o(T4e, 'keyof');
+ });
+ function R4(t, e, r) {
+ let n = (e - t) / Math.max(0, r),
+ i = Math.floor(Math.log10(n)),
+ a = n / Math.pow(10, i),
+ s = a >= k4e ? 10 : a >= E4e ? 5 : a >= C4e ? 2 : 1,
+ l,
+ u,
+ h;
+ return (
+ i < 0
+ ? ((h = Math.pow(10, -i) / s),
+ (l = Math.round(t * h)),
+ (u = Math.round(e * h)),
+ l / h < t && ++l,
+ u / h > e && --u,
+ (h = -h))
+ : ((h = Math.pow(10, i) * s),
+ (l = Math.round(t / h)),
+ (u = Math.round(e / h)),
+ l * h < t && ++l,
+ u * h > e && --u),
+ u < l && 0.5 <= r && r < 2 ? R4(t, e, r * 2) : [l, u, h]
+ );
+ }
+ function N4(t, e, r) {
+ if (((e = +e), (t = +t), (r = +r), !(r > 0))) return [];
+ if (t === e) return [t];
+ let n = e < t,
+ [i, a, s] = n ? R4(e, t, r) : R4(t, e, r);
+ if (!(a >= i)) return [];
+ let l = a - i + 1,
+ u = new Array(l);
+ if (n)
+ if (s < 0) for (let h = 0; h < l; ++h) u[h] = (a - h) / -s;
+ else for (let h = 0; h < l; ++h) u[h] = (a - h) * s;
+ else if (s < 0) for (let h = 0; h < l; ++h) u[h] = (i + h) / -s;
+ else for (let h = 0; h < l; ++h) u[h] = (i + h) * s;
+ return u;
+ }
+ function fy(t, e, r) {
+ return (e = +e), (t = +t), (r = +r), R4(t, e, r)[2];
+ }
+ function Tp(t, e, r) {
+ (e = +e), (t = +t), (r = +r);
+ let n = e < t,
+ i = n ? fy(e, t, r) : fy(t, e, r);
+ return (n ? -1 : 1) * (i < 0 ? 1 / -i : i);
+ }
+ var k4e,
+ E4e,
+ C4e,
+ V$ = R(() => {
+ 'use strict';
+ (k4e = Math.sqrt(50)), (E4e = Math.sqrt(10)), (C4e = Math.sqrt(2));
+ o(R4, 'tickSpec');
+ o(N4, 'ticks');
+ o(fy, 'tickIncrement');
+ o(Tp, 'tickStep');
+ });
+ function M4(t, e) {
+ let r;
+ if (e === void 0) for (let n of t) n != null && (r < n || (r === void 0 && n >= n)) && (r = n);
+ else {
+ let n = -1;
+ for (let i of t) (i = e(i, ++n, t)) != null && (r < i || (r === void 0 && i >= i)) && (r = i);
+ }
+ return r;
+ }
+ var U$ = R(() => {
+ 'use strict';
+ o(M4, 'max');
+ });
+ function I4(t, e) {
+ let r;
+ if (e === void 0) for (let n of t) n != null && (r > n || (r === void 0 && n >= n)) && (r = n);
+ else {
+ let n = -1;
+ for (let i of t) (i = e(i, ++n, t)) != null && (r > i || (r === void 0 && i >= i)) && (r = i);
+ }
+ return r;
+ }
+ var H$ = R(() => {
+ 'use strict';
+ o(I4, 'min');
+ });
+ function O4(t, e, r) {
+ (t = +t), (e = +e), (r = (i = arguments.length) < 2 ? ((e = t), (t = 0), 1) : i < 3 ? 1 : +r);
+ for (var n = -1, i = Math.max(0, Math.ceil((e - t) / r)) | 0, a = new Array(i); ++n < i; ) a[n] = t + n * r;
+ return a;
+ }
+ var Y$ = R(() => {
+ 'use strict';
+ o(O4, 'range');
+ });
+ var bh = R(() => {
+ 'use strict';
+ z$();
+ hS();
+ U$();
+ H$();
+ Y$();
+ V$();
+ $$();
+ });
+ function pS(t) {
+ return t;
+ }
+ var W$ = R(() => {
+ 'use strict';
+ o(pS, 'default');
+ });
+ function S4e(t) {
+ return 'translate(' + t + ',0)';
+ }
+ function A4e(t) {
+ return 'translate(0,' + t + ')';
+ }
+ function _4e(t) {
+ return (e) => +t(e);
+ }
+ function L4e(t, e) {
+ return (e = Math.max(0, t.bandwidth() - e * 2) / 2), t.round() && (e = Math.round(e)), (r) => +t(r) + e;
+ }
+ function D4e() {
+ return !this.__axis;
+ }
+ function X$(t, e) {
+ var r = [],
+ n = null,
+ i = null,
+ a = 6,
+ s = 6,
+ l = 3,
+ u = typeof window < 'u' && window.devicePixelRatio > 1 ? 0 : 0.5,
+ h = t === B4 || t === P4 ? -1 : 1,
+ f = t === P4 || t === mS ? 'x' : 'y',
+ d = t === B4 || t === gS ? S4e : A4e;
+ function p(m) {
+ var g = n ?? (e.ticks ? e.ticks.apply(e, r) : e.domain()),
+ y = i ?? (e.tickFormat ? e.tickFormat.apply(e, r) : pS),
+ v = Math.max(a, 0) + l,
+ x = e.range(),
+ b = +x[0] + u,
+ w = +x[x.length - 1] + u,
+ S = (e.bandwidth ? L4e : _4e)(e.copy(), u),
+ T = m.selection ? m.selection() : m,
+ E = T.selectAll('.domain').data([null]),
+ _ = T.selectAll('.tick').data(g, e).order(),
+ A = _.exit(),
+ L = _.enter().append('g').attr('class', 'tick'),
+ M = _.select('line'),
+ N = _.select('text');
+ (E = E.merge(E.enter().insert('path', '.tick').attr('class', 'domain').attr('stroke', 'currentColor'))),
+ (_ = _.merge(L)),
+ (M = M.merge(
+ L.append('line')
+ .attr('stroke', 'currentColor')
+ .attr(f + '2', h * a)
+ )),
+ (N = N.merge(
+ L.append('text')
+ .attr('fill', 'currentColor')
+ .attr(f, h * v)
+ .attr('dy', t === B4 ? '0em' : t === gS ? '0.71em' : '0.32em')
+ )),
+ m !== T &&
+ ((E = E.transition(m)),
+ (_ = _.transition(m)),
+ (M = M.transition(m)),
+ (N = N.transition(m)),
+ (A = A.transition(m)
+ .attr('opacity', q$)
+ .attr('transform', function (k) {
+ return isFinite((k = S(k))) ? d(k + u) : this.getAttribute('transform');
+ })),
+ L.attr('opacity', q$).attr('transform', function (k) {
+ var I = this.parentNode.__axis;
+ return d((I && isFinite((I = I(k))) ? I : S(k)) + u);
+ })),
+ A.remove(),
+ E.attr(
+ 'd',
+ t === P4 || t === mS
+ ? s
+ ? 'M' + h * s + ',' + b + 'H' + u + 'V' + w + 'H' + h * s
+ : 'M' + u + ',' + b + 'V' + w
+ : s
+ ? 'M' + b + ',' + h * s + 'V' + u + 'H' + w + 'V' + h * s
+ : 'M' + b + ',' + u + 'H' + w
+ ),
+ _.attr('opacity', 1).attr('transform', function (k) {
+ return d(S(k) + u);
+ }),
+ M.attr(f + '2', h * a),
+ N.attr(f, h * v).text(y),
+ T.filter(D4e)
+ .attr('fill', 'none')
+ .attr('font-size', 10)
+ .attr('font-family', 'sans-serif')
+ .attr('text-anchor', t === mS ? 'start' : t === P4 ? 'end' : 'middle'),
+ T.each(function () {
+ this.__axis = S;
+ });
+ }
+ return (
+ o(p, 'axis'),
+ (p.scale = function (m) {
+ return arguments.length ? ((e = m), p) : e;
+ }),
+ (p.ticks = function () {
+ return (r = Array.from(arguments)), p;
+ }),
+ (p.tickArguments = function (m) {
+ return arguments.length ? ((r = m == null ? [] : Array.from(m)), p) : r.slice();
+ }),
+ (p.tickValues = function (m) {
+ return arguments.length ? ((n = m == null ? null : Array.from(m)), p) : n && n.slice();
+ }),
+ (p.tickFormat = function (m) {
+ return arguments.length ? ((i = m), p) : i;
+ }),
+ (p.tickSize = function (m) {
+ return arguments.length ? ((a = s = +m), p) : a;
+ }),
+ (p.tickSizeInner = function (m) {
+ return arguments.length ? ((a = +m), p) : a;
+ }),
+ (p.tickSizeOuter = function (m) {
+ return arguments.length ? ((s = +m), p) : s;
+ }),
+ (p.tickPadding = function (m) {
+ return arguments.length ? ((l = +m), p) : l;
+ }),
+ (p.offset = function (m) {
+ return arguments.length ? ((u = +m), p) : u;
+ }),
+ p
+ );
+ }
+ function yS(t) {
+ return X$(B4, t);
+ }
+ function vS(t) {
+ return X$(gS, t);
+ }
+ var B4,
+ mS,
+ gS,
+ P4,
+ q$,
+ j$ = R(() => {
+ 'use strict';
+ W$();
+ (B4 = 1), (mS = 2), (gS = 3), (P4 = 4), (q$ = 1e-6);
+ o(S4e, 'translateX');
+ o(A4e, 'translateY');
+ o(_4e, 'number');
+ o(L4e, 'center');
+ o(D4e, 'entering');
+ o(X$, 'axis');
+ o(yS, 'axisTop');
+ o(vS, 'axisBottom');
+ });
+ var K$ = R(() => {
+ 'use strict';
+ j$();
+ });
+ function Z$() {
+ for (var t = 0, e = arguments.length, r = {}, n; t < e; ++t) {
+ if (!(n = arguments[t] + '') || n in r || /[\s.]/.test(n)) throw new Error('illegal type: ' + n);
+ r[n] = [];
+ }
+ return new F4(r);
+ }
+ function F4(t) {
+ this._ = t;
+ }
+ function N4e(t, e) {
+ return t
+ .trim()
+ .split(/^|\s+/)
+ .map(function (r) {
+ var n = '',
+ i = r.indexOf('.');
+ if ((i >= 0 && ((n = r.slice(i + 1)), (r = r.slice(0, i))), r && !e.hasOwnProperty(r)))
+ throw new Error('unknown type: ' + r);
+ return { type: r, name: n };
+ });
+ }
+ function M4e(t, e) {
+ for (var r = 0, n = t.length, i; r < n; ++r) if ((i = t[r]).name === e) return i.value;
+ }
+ function Q$(t, e, r) {
+ for (var n = 0, i = t.length; n < i; ++n)
+ if (t[n].name === e) {
+ (t[n] = R4e), (t = t.slice(0, n).concat(t.slice(n + 1)));
+ break;
+ }
+ return r != null && t.push({ name: e, value: r }), t;
+ }
+ var R4e,
+ xS,
+ J$ = R(() => {
+ 'use strict';
+ R4e = { value: o(() => {}, 'value') };
+ o(Z$, 'dispatch');
+ o(F4, 'Dispatch');
+ o(N4e, 'parseTypenames');
+ F4.prototype = Z$.prototype = {
+ constructor: F4,
+ on: o(function (t, e) {
+ var r = this._,
+ n = N4e(t + '', r),
+ i,
+ a = -1,
+ s = n.length;
+ if (arguments.length < 2) {
+ for (; ++a < s; ) if ((i = (t = n[a]).type) && (i = M4e(r[i], t.name))) return i;
+ return;
+ }
+ if (e != null && typeof e != 'function') throw new Error('invalid callback: ' + e);
+ for (; ++a < s; )
+ if ((i = (t = n[a]).type)) r[i] = Q$(r[i], t.name, e);
+ else if (e == null) for (i in r) r[i] = Q$(r[i], t.name, null);
+ return this;
+ }, 'on'),
+ copy: o(function () {
+ var t = {},
+ e = this._;
+ for (var r in e) t[r] = e[r].slice();
+ return new F4(t);
+ }, 'copy'),
+ call: o(function (t, e) {
+ if ((i = arguments.length - 2) > 0)
+ for (var r = new Array(i), n = 0, i, a; n < i; ++n) r[n] = arguments[n + 2];
+ if (!this._.hasOwnProperty(t)) throw new Error('unknown type: ' + t);
+ for (a = this._[t], n = 0, i = a.length; n < i; ++n) a[n].value.apply(e, r);
+ }, 'call'),
+ apply: o(function (t, e, r) {
+ if (!this._.hasOwnProperty(t)) throw new Error('unknown type: ' + t);
+ for (var n = this._[t], i = 0, a = n.length; i < a; ++i) n[i].value.apply(e, r);
+ }, 'apply')
+ };
+ o(M4e, 'get');
+ o(Q$, 'set');
+ xS = Z$;
+ });
+ var bS = R(() => {
+ 'use strict';
+ J$();
+ });
+ var z4,
+ wS,
+ TS = R(() => {
+ 'use strict';
+ (z4 = 'http://www.w3.org/1999/xhtml'),
+ (wS = {
+ svg: 'http://www.w3.org/2000/svg',
+ xhtml: z4,
+ xlink: 'http://www.w3.org/1999/xlink',
+ xml: 'http://www.w3.org/XML/1998/namespace',
+ xmlns: 'http://www.w3.org/2000/xmlns/'
+ });
+ });
+ function ic(t) {
+ var e = (t += ''),
+ r = e.indexOf(':');
+ return (
+ r >= 0 && (e = t.slice(0, r)) !== 'xmlns' && (t = t.slice(r + 1)),
+ wS.hasOwnProperty(e) ? { space: wS[e], local: t } : t
+ );
+ }
+ var G4 = R(() => {
+ 'use strict';
+ TS();
+ o(ic, 'default');
+ });
+ function I4e(t) {
+ return function () {
+ var e = this.ownerDocument,
+ r = this.namespaceURI;
+ return r === z4 && e.documentElement.namespaceURI === z4 ? e.createElement(t) : e.createElementNS(r, t);
+ };
+ }
+ function O4e(t) {
+ return function () {
+ return this.ownerDocument.createElementNS(t.space, t.local);
+ };
+ }
+ function dy(t) {
+ var e = ic(t);
+ return (e.local ? O4e : I4e)(e);
+ }
+ var kS = R(() => {
+ 'use strict';
+ G4();
+ TS();
+ o(I4e, 'creatorInherit');
+ o(O4e, 'creatorFixed');
+ o(dy, 'default');
+ });
+ function P4e() {}
+ function wh(t) {
+ return t == null
+ ? P4e
+ : function () {
+ return this.querySelector(t);
+ };
+ }
+ var $4 = R(() => {
+ 'use strict';
+ o(P4e, 'none');
+ o(wh, 'default');
+ });
+ function ES(t) {
+ typeof t != 'function' && (t = wh(t));
+ for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i)
+ for (var a = e[i], s = a.length, l = (n[i] = new Array(s)), u, h, f = 0; f < s; ++f)
+ (u = a[f]) &&
+ (h = t.call(u, u.__data__, f, a)) &&
+ ('__data__' in u && (h.__data__ = u.__data__), (l[f] = h));
+ return new Zn(n, this._parents);
+ }
+ var eV = R(() => {
+ 'use strict';
+ hl();
+ $4();
+ o(ES, 'default');
+ });
+ function CS(t) {
+ return t == null ? [] : Array.isArray(t) ? t : Array.from(t);
+ }
+ var tV = R(() => {
+ 'use strict';
+ o(CS, 'array');
+ });
+ function B4e() {
+ return [];
+ }
+ function kp(t) {
+ return t == null
+ ? B4e
+ : function () {
+ return this.querySelectorAll(t);
+ };
+ }
+ var SS = R(() => {
+ 'use strict';
+ o(B4e, 'empty');
+ o(kp, 'default');
+ });
+ function F4e(t) {
+ return function () {
+ return CS(t.apply(this, arguments));
+ };
+ }
+ function AS(t) {
+ typeof t == 'function' ? (t = F4e(t)) : (t = kp(t));
+ for (var e = this._groups, r = e.length, n = [], i = [], a = 0; a < r; ++a)
+ for (var s = e[a], l = s.length, u, h = 0; h < l; ++h)
+ (u = s[h]) && (n.push(t.call(u, u.__data__, h, s)), i.push(u));
+ return new Zn(n, i);
+ }
+ var rV = R(() => {
+ 'use strict';
+ hl();
+ tV();
+ SS();
+ o(F4e, 'arrayAll');
+ o(AS, 'default');
+ });
+ function Ep(t) {
+ return function () {
+ return this.matches(t);
+ };
+ }
+ function V4(t) {
+ return function (e) {
+ return e.matches(t);
+ };
+ }
+ var py = R(() => {
+ 'use strict';
+ o(Ep, 'default');
+ o(V4, 'childMatcher');
+ });
+ function G4e(t) {
+ return function () {
+ return z4e.call(this.children, t);
+ };
+ }
+ function $4e() {
+ return this.firstElementChild;
+ }
+ function _S(t) {
+ return this.select(t == null ? $4e : G4e(typeof t == 'function' ? t : V4(t)));
+ }
+ var z4e,
+ nV = R(() => {
+ 'use strict';
+ py();
+ z4e = Array.prototype.find;
+ o(G4e, 'childFind');
+ o($4e, 'childFirst');
+ o(_S, 'default');
+ });
+ function U4e() {
+ return Array.from(this.children);
+ }
+ function H4e(t) {
+ return function () {
+ return V4e.call(this.children, t);
+ };
+ }
+ function LS(t) {
+ return this.selectAll(t == null ? U4e : H4e(typeof t == 'function' ? t : V4(t)));
+ }
+ var V4e,
+ iV = R(() => {
+ 'use strict';
+ py();
+ V4e = Array.prototype.filter;
+ o(U4e, 'children');
+ o(H4e, 'childrenFilter');
+ o(LS, 'default');
+ });
+ function DS(t) {
+ typeof t != 'function' && (t = Ep(t));
+ for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i)
+ for (var a = e[i], s = a.length, l = (n[i] = []), u, h = 0; h < s; ++h)
+ (u = a[h]) && t.call(u, u.__data__, h, a) && l.push(u);
+ return new Zn(n, this._parents);
+ }
+ var aV = R(() => {
+ 'use strict';
+ hl();
+ py();
+ o(DS, 'default');
+ });
+ function my(t) {
+ return new Array(t.length);
+ }
+ var RS = R(() => {
+ 'use strict';
+ o(my, 'default');
+ });
+ function NS() {
+ return new Zn(this._enter || this._groups.map(my), this._parents);
+ }
+ function gy(t, e) {
+ (this.ownerDocument = t.ownerDocument),
+ (this.namespaceURI = t.namespaceURI),
+ (this._next = null),
+ (this._parent = t),
+ (this.__data__ = e);
+ }
+ var MS = R(() => {
+ 'use strict';
+ RS();
+ hl();
+ o(NS, 'default');
+ o(gy, 'EnterNode');
+ gy.prototype = {
+ constructor: gy,
+ appendChild: o(function (t) {
+ return this._parent.insertBefore(t, this._next);
+ }, 'appendChild'),
+ insertBefore: o(function (t, e) {
+ return this._parent.insertBefore(t, e);
+ }, 'insertBefore'),
+ querySelector: o(function (t) {
+ return this._parent.querySelector(t);
+ }, 'querySelector'),
+ querySelectorAll: o(function (t) {
+ return this._parent.querySelectorAll(t);
+ }, 'querySelectorAll')
+ };
+ });
+ function IS(t) {
+ return function () {
+ return t;
+ };
+ }
+ var sV = R(() => {
+ 'use strict';
+ o(IS, 'default');
+ });
+ function Y4e(t, e, r, n, i, a) {
+ for (var s = 0, l, u = e.length, h = a.length; s < h; ++s)
+ (l = e[s]) ? ((l.__data__ = a[s]), (n[s] = l)) : (r[s] = new gy(t, a[s]));
+ for (; s < u; ++s) (l = e[s]) && (i[s] = l);
+ }
+ function W4e(t, e, r, n, i, a, s) {
+ var l,
+ u,
+ h = new Map(),
+ f = e.length,
+ d = a.length,
+ p = new Array(f),
+ m;
+ for (l = 0; l < f; ++l)
+ (u = e[l]) && ((p[l] = m = s.call(u, u.__data__, l, e) + ''), h.has(m) ? (i[l] = u) : h.set(m, u));
+ for (l = 0; l < d; ++l)
+ (m = s.call(t, a[l], l, a) + ''),
+ (u = h.get(m)) ? ((n[l] = u), (u.__data__ = a[l]), h.delete(m)) : (r[l] = new gy(t, a[l]));
+ for (l = 0; l < f; ++l) (u = e[l]) && h.get(p[l]) === u && (i[l] = u);
+ }
+ function q4e(t) {
+ return t.__data__;
+ }
+ function OS(t, e) {
+ if (!arguments.length) return Array.from(this, q4e);
+ var r = e ? W4e : Y4e,
+ n = this._parents,
+ i = this._groups;
+ typeof t != 'function' && (t = IS(t));
+ for (var a = i.length, s = new Array(a), l = new Array(a), u = new Array(a), h = 0; h < a; ++h) {
+ var f = n[h],
+ d = i[h],
+ p = d.length,
+ m = X4e(t.call(f, f && f.__data__, h, n)),
+ g = m.length,
+ y = (l[h] = new Array(g)),
+ v = (s[h] = new Array(g)),
+ x = (u[h] = new Array(p));
+ r(f, d, y, v, x, m, e);
+ for (var b = 0, w = 0, S, T; b < g; ++b)
+ if ((S = y[b])) {
+ for (b >= w && (w = b + 1); !(T = v[w]) && ++w < g; );
+ S._next = T || null;
+ }
+ }
+ return (s = new Zn(s, n)), (s._enter = l), (s._exit = u), s;
+ }
+ function X4e(t) {
+ return typeof t == 'object' && 'length' in t ? t : Array.from(t);
+ }
+ var oV = R(() => {
+ 'use strict';
+ hl();
+ MS();
+ sV();
+ o(Y4e, 'bindIndex');
+ o(W4e, 'bindKey');
+ o(q4e, 'datum');
+ o(OS, 'default');
+ o(X4e, 'arraylike');
+ });
+ function PS() {
+ return new Zn(this._exit || this._groups.map(my), this._parents);
+ }
+ var lV = R(() => {
+ 'use strict';
+ RS();
+ hl();
+ o(PS, 'default');
+ });
+ function BS(t, e, r) {
+ var n = this.enter(),
+ i = this,
+ a = this.exit();
+ return (
+ typeof t == 'function' ? ((n = t(n)), n && (n = n.selection())) : (n = n.append(t + '')),
+ e != null && ((i = e(i)), i && (i = i.selection())),
+ r == null ? a.remove() : r(a),
+ n && i ? n.merge(i).order() : i
+ );
+ }
+ var cV = R(() => {
+ 'use strict';
+ o(BS, 'default');
+ });
+ function FS(t) {
+ for (
+ var e = t.selection ? t.selection() : t,
+ r = this._groups,
+ n = e._groups,
+ i = r.length,
+ a = n.length,
+ s = Math.min(i, a),
+ l = new Array(i),
+ u = 0;
+ u < s;
+ ++u
+ )
+ for (var h = r[u], f = n[u], d = h.length, p = (l[u] = new Array(d)), m, g = 0; g < d; ++g)
+ (m = h[g] || f[g]) && (p[g] = m);
+ for (; u < i; ++u) l[u] = r[u];
+ return new Zn(l, this._parents);
+ }
+ var uV = R(() => {
+ 'use strict';
+ hl();
+ o(FS, 'default');
+ });
+ function zS() {
+ for (var t = this._groups, e = -1, r = t.length; ++e < r; )
+ for (var n = t[e], i = n.length - 1, a = n[i], s; --i >= 0; )
+ (s = n[i]) && (a && s.compareDocumentPosition(a) ^ 4 && a.parentNode.insertBefore(s, a), (a = s));
+ return this;
+ }
+ var hV = R(() => {
+ 'use strict';
+ o(zS, 'default');
+ });
+ function GS(t) {
+ t || (t = j4e);
+ function e(d, p) {
+ return d && p ? t(d.__data__, p.__data__) : !d - !p;
+ }
+ o(e, 'compareNode');
+ for (var r = this._groups, n = r.length, i = new Array(n), a = 0; a < n; ++a) {
+ for (var s = r[a], l = s.length, u = (i[a] = new Array(l)), h, f = 0; f < l; ++f) (h = s[f]) && (u[f] = h);
+ u.sort(e);
+ }
+ return new Zn(i, this._parents).order();
+ }
+ function j4e(t, e) {
+ return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN;
+ }
+ var fV = R(() => {
+ 'use strict';
+ hl();
+ o(GS, 'default');
+ o(j4e, 'ascending');
+ });
+ function $S() {
+ var t = arguments[0];
+ return (arguments[0] = this), t.apply(null, arguments), this;
+ }
+ var dV = R(() => {
+ 'use strict';
+ o($S, 'default');
+ });
+ function VS() {
+ return Array.from(this);
+ }
+ var pV = R(() => {
+ 'use strict';
+ o(VS, 'default');
+ });
+ function US() {
+ for (var t = this._groups, e = 0, r = t.length; e < r; ++e)
+ for (var n = t[e], i = 0, a = n.length; i < a; ++i) {
+ var s = n[i];
+ if (s) return s;
+ }
+ return null;
+ }
+ var mV = R(() => {
+ 'use strict';
+ o(US, 'default');
+ });
+ function HS() {
+ let t = 0;
+ for (let e of this) ++t;
+ return t;
+ }
+ var gV = R(() => {
+ 'use strict';
+ o(HS, 'default');
+ });
+ function YS() {
+ return !this.node();
+ }
+ var yV = R(() => {
+ 'use strict';
+ o(YS, 'default');
+ });
+ function WS(t) {
+ for (var e = this._groups, r = 0, n = e.length; r < n; ++r)
+ for (var i = e[r], a = 0, s = i.length, l; a < s; ++a) (l = i[a]) && t.call(l, l.__data__, a, i);
+ return this;
+ }
+ var vV = R(() => {
+ 'use strict';
+ o(WS, 'default');
+ });
+ function K4e(t) {
+ return function () {
+ this.removeAttribute(t);
+ };
+ }
+ function Q4e(t) {
+ return function () {
+ this.removeAttributeNS(t.space, t.local);
+ };
+ }
+ function Z4e(t, e) {
+ return function () {
+ this.setAttribute(t, e);
+ };
+ }
+ function J4e(t, e) {
+ return function () {
+ this.setAttributeNS(t.space, t.local, e);
+ };
+ }
+ function e3e(t, e) {
+ return function () {
+ var r = e.apply(this, arguments);
+ r == null ? this.removeAttribute(t) : this.setAttribute(t, r);
+ };
+ }
+ function t3e(t, e) {
+ return function () {
+ var r = e.apply(this, arguments);
+ r == null ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, r);
+ };
+ }
+ function qS(t, e) {
+ var r = ic(t);
+ if (arguments.length < 2) {
+ var n = this.node();
+ return r.local ? n.getAttributeNS(r.space, r.local) : n.getAttribute(r);
+ }
+ return this.each(
+ (e == null ? (r.local ? Q4e : K4e) : typeof e == 'function' ? (r.local ? t3e : e3e) : r.local ? J4e : Z4e)(
+ r,
+ e
+ )
+ );
+ }
+ var xV = R(() => {
+ 'use strict';
+ G4();
+ o(K4e, 'attrRemove');
+ o(Q4e, 'attrRemoveNS');
+ o(Z4e, 'attrConstant');
+ o(J4e, 'attrConstantNS');
+ o(e3e, 'attrFunction');
+ o(t3e, 'attrFunctionNS');
+ o(qS, 'default');
+ });
+ function yy(t) {
+ return (t.ownerDocument && t.ownerDocument.defaultView) || (t.document && t) || t.defaultView;
+ }
+ var XS = R(() => {
+ 'use strict';
+ o(yy, 'default');
+ });
+ function r3e(t) {
+ return function () {
+ this.style.removeProperty(t);
+ };
+ }
+ function n3e(t, e, r) {
+ return function () {
+ this.style.setProperty(t, e, r);
+ };
+ }
+ function i3e(t, e, r) {
+ return function () {
+ var n = e.apply(this, arguments);
+ n == null ? this.style.removeProperty(t) : this.style.setProperty(t, n, r);
+ };
+ }
+ function jS(t, e, r) {
+ return arguments.length > 1
+ ? this.each((e == null ? r3e : typeof e == 'function' ? i3e : n3e)(t, e, r ?? ''))
+ : Th(this.node(), t);
+ }
+ function Th(t, e) {
+ return t.style.getPropertyValue(e) || yy(t).getComputedStyle(t, null).getPropertyValue(e);
+ }
+ var KS = R(() => {
+ 'use strict';
+ XS();
+ o(r3e, 'styleRemove');
+ o(n3e, 'styleConstant');
+ o(i3e, 'styleFunction');
+ o(jS, 'default');
+ o(Th, 'styleValue');
+ });
+ function a3e(t) {
+ return function () {
+ delete this[t];
+ };
+ }
+ function s3e(t, e) {
+ return function () {
+ this[t] = e;
+ };
+ }
+ function o3e(t, e) {
+ return function () {
+ var r = e.apply(this, arguments);
+ r == null ? delete this[t] : (this[t] = r);
+ };
+ }
+ function QS(t, e) {
+ return arguments.length > 1
+ ? this.each((e == null ? a3e : typeof e == 'function' ? o3e : s3e)(t, e))
+ : this.node()[t];
+ }
+ var bV = R(() => {
+ 'use strict';
+ o(a3e, 'propertyRemove');
+ o(s3e, 'propertyConstant');
+ o(o3e, 'propertyFunction');
+ o(QS, 'default');
+ });
+ function wV(t) {
+ return t.trim().split(/^|\s+/);
+ }
+ function ZS(t) {
+ return t.classList || new TV(t);
+ }
+ function TV(t) {
+ (this._node = t), (this._names = wV(t.getAttribute('class') || ''));
+ }
+ function kV(t, e) {
+ for (var r = ZS(t), n = -1, i = e.length; ++n < i; ) r.add(e[n]);
+ }
+ function EV(t, e) {
+ for (var r = ZS(t), n = -1, i = e.length; ++n < i; ) r.remove(e[n]);
+ }
+ function l3e(t) {
+ return function () {
+ kV(this, t);
+ };
+ }
+ function c3e(t) {
+ return function () {
+ EV(this, t);
+ };
+ }
+ function u3e(t, e) {
+ return function () {
+ (e.apply(this, arguments) ? kV : EV)(this, t);
+ };
+ }
+ function JS(t, e) {
+ var r = wV(t + '');
+ if (arguments.length < 2) {
+ for (var n = ZS(this.node()), i = -1, a = r.length; ++i < a; ) if (!n.contains(r[i])) return !1;
+ return !0;
+ }
+ return this.each((typeof e == 'function' ? u3e : e ? l3e : c3e)(r, e));
+ }
+ var CV = R(() => {
+ 'use strict';
+ o(wV, 'classArray');
+ o(ZS, 'classList');
+ o(TV, 'ClassList');
+ TV.prototype = {
+ add: o(function (t) {
+ var e = this._names.indexOf(t);
+ e < 0 && (this._names.push(t), this._node.setAttribute('class', this._names.join(' ')));
+ }, 'add'),
+ remove: o(function (t) {
+ var e = this._names.indexOf(t);
+ e >= 0 && (this._names.splice(e, 1), this._node.setAttribute('class', this._names.join(' ')));
+ }, 'remove'),
+ contains: o(function (t) {
+ return this._names.indexOf(t) >= 0;
+ }, 'contains')
+ };
+ o(kV, 'classedAdd');
+ o(EV, 'classedRemove');
+ o(l3e, 'classedTrue');
+ o(c3e, 'classedFalse');
+ o(u3e, 'classedFunction');
+ o(JS, 'default');
+ });
+ function h3e() {
+ this.textContent = '';
+ }
+ function f3e(t) {
+ return function () {
+ this.textContent = t;
+ };
+ }
+ function d3e(t) {
+ return function () {
+ var e = t.apply(this, arguments);
+ this.textContent = e ?? '';
+ };
+ }
+ function eA(t) {
+ return arguments.length
+ ? this.each(t == null ? h3e : (typeof t == 'function' ? d3e : f3e)(t))
+ : this.node().textContent;
+ }
+ var SV = R(() => {
+ 'use strict';
+ o(h3e, 'textRemove');
+ o(f3e, 'textConstant');
+ o(d3e, 'textFunction');
+ o(eA, 'default');
+ });
+ function p3e() {
+ this.innerHTML = '';
+ }
+ function m3e(t) {
+ return function () {
+ this.innerHTML = t;
+ };
+ }
+ function g3e(t) {
+ return function () {
+ var e = t.apply(this, arguments);
+ this.innerHTML = e ?? '';
+ };
+ }
+ function tA(t) {
+ return arguments.length
+ ? this.each(t == null ? p3e : (typeof t == 'function' ? g3e : m3e)(t))
+ : this.node().innerHTML;
+ }
+ var AV = R(() => {
+ 'use strict';
+ o(p3e, 'htmlRemove');
+ o(m3e, 'htmlConstant');
+ o(g3e, 'htmlFunction');
+ o(tA, 'default');
+ });
+ function y3e() {
+ this.nextSibling && this.parentNode.appendChild(this);
+ }
+ function rA() {
+ return this.each(y3e);
+ }
+ var _V = R(() => {
+ 'use strict';
+ o(y3e, 'raise');
+ o(rA, 'default');
+ });
+ function v3e() {
+ this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild);
+ }
+ function nA() {
+ return this.each(v3e);
+ }
+ var LV = R(() => {
+ 'use strict';
+ o(v3e, 'lower');
+ o(nA, 'default');
+ });
+ function iA(t) {
+ var e = typeof t == 'function' ? t : dy(t);
+ return this.select(function () {
+ return this.appendChild(e.apply(this, arguments));
+ });
+ }
+ var DV = R(() => {
+ 'use strict';
+ kS();
+ o(iA, 'default');
+ });
+ function x3e() {
+ return null;
+ }
+ function aA(t, e) {
+ var r = typeof t == 'function' ? t : dy(t),
+ n = e == null ? x3e : typeof e == 'function' ? e : wh(e);
+ return this.select(function () {
+ return this.insertBefore(r.apply(this, arguments), n.apply(this, arguments) || null);
+ });
+ }
+ var RV = R(() => {
+ 'use strict';
+ kS();
+ $4();
+ o(x3e, 'constantNull');
+ o(aA, 'default');
+ });
+ function b3e() {
+ var t = this.parentNode;
+ t && t.removeChild(this);
+ }
+ function sA() {
+ return this.each(b3e);
+ }
+ var NV = R(() => {
+ 'use strict';
+ o(b3e, 'remove');
+ o(sA, 'default');
+ });
+ function w3e() {
+ var t = this.cloneNode(!1),
+ e = this.parentNode;
+ return e ? e.insertBefore(t, this.nextSibling) : t;
+ }
+ function T3e() {
+ var t = this.cloneNode(!0),
+ e = this.parentNode;
+ return e ? e.insertBefore(t, this.nextSibling) : t;
+ }
+ function oA(t) {
+ return this.select(t ? T3e : w3e);
+ }
+ var MV = R(() => {
+ 'use strict';
+ o(w3e, 'selection_cloneShallow');
+ o(T3e, 'selection_cloneDeep');
+ o(oA, 'default');
+ });
+ function lA(t) {
+ return arguments.length ? this.property('__data__', t) : this.node().__data__;
+ }
+ var IV = R(() => {
+ 'use strict';
+ o(lA, 'default');
+ });
+ function k3e(t) {
+ return function (e) {
+ t.call(this, e, this.__data__);
+ };
+ }
+ function E3e(t) {
+ return t
+ .trim()
+ .split(/^|\s+/)
+ .map(function (e) {
+ var r = '',
+ n = e.indexOf('.');
+ return n >= 0 && ((r = e.slice(n + 1)), (e = e.slice(0, n))), { type: e, name: r };
+ });
+ }
+ function C3e(t) {
+ return function () {
+ var e = this.__on;
+ if (e) {
+ for (var r = 0, n = -1, i = e.length, a; r < i; ++r)
+ (a = e[r]),
+ (!t.type || a.type === t.type) && a.name === t.name
+ ? this.removeEventListener(a.type, a.listener, a.options)
+ : (e[++n] = a);
+ ++n ? (e.length = n) : delete this.__on;
+ }
+ };
+ }
+ function S3e(t, e, r) {
+ return function () {
+ var n = this.__on,
+ i,
+ a = k3e(e);
+ if (n) {
+ for (var s = 0, l = n.length; s < l; ++s)
+ if ((i = n[s]).type === t.type && i.name === t.name) {
+ this.removeEventListener(i.type, i.listener, i.options),
+ this.addEventListener(i.type, (i.listener = a), (i.options = r)),
+ (i.value = e);
+ return;
+ }
+ }
+ this.addEventListener(t.type, a, r),
+ (i = { type: t.type, name: t.name, value: e, listener: a, options: r }),
+ n ? n.push(i) : (this.__on = [i]);
+ };
+ }
+ function cA(t, e, r) {
+ var n = E3e(t + ''),
+ i,
+ a = n.length,
+ s;
+ if (arguments.length < 2) {
+ var l = this.node().__on;
+ if (l) {
+ for (var u = 0, h = l.length, f; u < h; ++u)
+ for (i = 0, f = l[u]; i < a; ++i)
+ if ((s = n[i]).type === f.type && s.name === f.name) return f.value;
+ }
+ return;
+ }
+ for (l = e ? S3e : C3e, i = 0; i < a; ++i) this.each(l(n[i], e, r));
+ return this;
+ }
+ var OV = R(() => {
+ 'use strict';
+ o(k3e, 'contextListener');
+ o(E3e, 'parseTypenames');
+ o(C3e, 'onRemove');
+ o(S3e, 'onAdd');
+ o(cA, 'default');
+ });
+ function PV(t, e, r) {
+ var n = yy(t),
+ i = n.CustomEvent;
+ typeof i == 'function'
+ ? (i = new i(e, r))
+ : ((i = n.document.createEvent('Event')),
+ r ? (i.initEvent(e, r.bubbles, r.cancelable), (i.detail = r.detail)) : i.initEvent(e, !1, !1)),
+ t.dispatchEvent(i);
+ }
+ function A3e(t, e) {
+ return function () {
+ return PV(this, t, e);
+ };
+ }
+ function _3e(t, e) {
+ return function () {
+ return PV(this, t, e.apply(this, arguments));
+ };
+ }
+ function uA(t, e) {
+ return this.each((typeof e == 'function' ? _3e : A3e)(t, e));
+ }
+ var BV = R(() => {
+ 'use strict';
+ XS();
+ o(PV, 'dispatchEvent');
+ o(A3e, 'dispatchConstant');
+ o(_3e, 'dispatchFunction');
+ o(uA, 'default');
+ });
+ function* hA() {
+ for (var t = this._groups, e = 0, r = t.length; e < r; ++e)
+ for (var n = t[e], i = 0, a = n.length, s; i < a; ++i) (s = n[i]) && (yield s);
+ }
+ var FV = R(() => {
+ 'use strict';
+ o(hA, 'default');
+ });
+ function Zn(t, e) {
+ (this._groups = t), (this._parents = e);
+ }
+ function zV() {
+ return new Zn([[document.documentElement]], fA);
+ }
+ function L3e() {
+ return this;
+ }
+ var fA,
+ cu,
+ hl = R(() => {
+ 'use strict';
+ eV();
+ rV();
+ nV();
+ iV();
+ aV();
+ oV();
+ MS();
+ lV();
+ cV();
+ uV();
+ hV();
+ fV();
+ dV();
+ pV();
+ mV();
+ gV();
+ yV();
+ vV();
+ xV();
+ KS();
+ bV();
+ CV();
+ SV();
+ AV();
+ _V();
+ LV();
+ DV();
+ RV();
+ NV();
+ MV();
+ IV();
+ OV();
+ BV();
+ FV();
+ fA = [null];
+ o(Zn, 'Selection');
+ o(zV, 'selection');
+ o(L3e, 'selection_selection');
+ Zn.prototype = zV.prototype = {
+ constructor: Zn,
+ select: ES,
+ selectAll: AS,
+ selectChild: _S,
+ selectChildren: LS,
+ filter: DS,
+ data: OS,
+ enter: NS,
+ exit: PS,
+ join: BS,
+ merge: FS,
+ selection: L3e,
+ order: zS,
+ sort: GS,
+ call: $S,
+ nodes: VS,
+ node: US,
+ size: HS,
+ empty: YS,
+ each: WS,
+ attr: qS,
+ style: jS,
+ property: QS,
+ classed: JS,
+ text: eA,
+ html: tA,
+ raise: rA,
+ lower: nA,
+ append: iA,
+ insert: aA,
+ remove: sA,
+ clone: oA,
+ datum: lA,
+ on: cA,
+ dispatch: uA,
+ [Symbol.iterator]: hA
+ };
+ cu = zV;
+ });
+ function $e(t) {
+ return typeof t == 'string'
+ ? new Zn([[document.querySelector(t)]], [document.documentElement])
+ : new Zn([[t]], fA);
+ }
+ var GV = R(() => {
+ 'use strict';
+ hl();
+ o($e, 'default');
+ });
+ var fl = R(() => {
+ 'use strict';
+ py();
+ G4();
+ GV();
+ hl();
+ $4();
+ SS();
+ KS();
+ });
+ var $V = R(() => {
+ 'use strict';
+ });
+ function kh(t, e, r) {
+ (t.prototype = e.prototype = r), (r.constructor = t);
+ }
+ function Cp(t, e) {
+ var r = Object.create(t.prototype);
+ for (var n in e) r[n] = e[n];
+ return r;
+ }
+ var dA = R(() => {
+ 'use strict';
+ o(kh, 'default');
+ o(Cp, 'extend');
+ });
+ function Eh() {}
+ function UV() {
+ return this.rgb().formatHex();
+ }
+ function B3e() {
+ return this.rgb().formatHex8();
+ }
+ function F3e() {
+ return KV(this).formatHsl();
+ }
+ function HV() {
+ return this.rgb().formatRgb();
+ }
+ function pl(t) {
+ var e, r;
+ return (
+ (t = (t + '').trim().toLowerCase()),
+ (e = D3e.exec(t))
+ ? ((r = e[1].length),
+ (e = parseInt(e[1], 16)),
+ r === 6
+ ? YV(e)
+ : r === 3
+ ? new la(
+ ((e >> 8) & 15) | ((e >> 4) & 240),
+ ((e >> 4) & 15) | (e & 240),
+ ((e & 15) << 4) | (e & 15),
+ 1
+ )
+ : r === 8
+ ? U4((e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, (e & 255) / 255)
+ : r === 4
+ ? U4(
+ ((e >> 12) & 15) | ((e >> 8) & 240),
+ ((e >> 8) & 15) | ((e >> 4) & 240),
+ ((e >> 4) & 15) | (e & 240),
+ (((e & 15) << 4) | (e & 15)) / 255
+ )
+ : null)
+ : (e = R3e.exec(t))
+ ? new la(e[1], e[2], e[3], 1)
+ : (e = N3e.exec(t))
+ ? new la((e[1] * 255) / 100, (e[2] * 255) / 100, (e[3] * 255) / 100, 1)
+ : (e = M3e.exec(t))
+ ? U4(e[1], e[2], e[3], e[4])
+ : (e = I3e.exec(t))
+ ? U4((e[1] * 255) / 100, (e[2] * 255) / 100, (e[3] * 255) / 100, e[4])
+ : (e = O3e.exec(t))
+ ? XV(e[1], e[2] / 100, e[3] / 100, 1)
+ : (e = P3e.exec(t))
+ ? XV(e[1], e[2] / 100, e[3] / 100, e[4])
+ : VV.hasOwnProperty(t)
+ ? YV(VV[t])
+ : t === 'transparent'
+ ? new la(NaN, NaN, NaN, 0)
+ : null
+ );
+ }
+ function YV(t) {
+ return new la((t >> 16) & 255, (t >> 8) & 255, t & 255, 1);
+ }
+ function U4(t, e, r, n) {
+ return n <= 0 && (t = e = r = NaN), new la(t, e, r, n);
+ }
+ function mA(t) {
+ return t instanceof Eh || (t = pl(t)), t ? ((t = t.rgb()), new la(t.r, t.g, t.b, t.opacity)) : new la();
+ }
+ function Ap(t, e, r, n) {
+ return arguments.length === 1 ? mA(t) : new la(t, e, r, n ?? 1);
+ }
+ function la(t, e, r, n) {
+ (this.r = +t), (this.g = +e), (this.b = +r), (this.opacity = +n);
+ }
+ function WV() {
+ return `#${rd(this.r)}${rd(this.g)}${rd(this.b)}`;
+ }
+ function z3e() {
+ return `#${rd(this.r)}${rd(this.g)}${rd(this.b)}${rd((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
+ }
+ function qV() {
+ let t = W4(this.opacity);
+ return `${t === 1 ? 'rgb(' : 'rgba('}${nd(this.r)}, ${nd(this.g)}, ${nd(this.b)}${t === 1 ? ')' : `, ${t})`}`;
+ }
+ function W4(t) {
+ return isNaN(t) ? 1 : Math.max(0, Math.min(1, t));
+ }
+ function nd(t) {
+ return Math.max(0, Math.min(255, Math.round(t) || 0));
+ }
+ function rd(t) {
+ return (t = nd(t)), (t < 16 ? '0' : '') + t.toString(16);
+ }
+ function XV(t, e, r, n) {
+ return n <= 0 ? (t = e = r = NaN) : r <= 0 || r >= 1 ? (t = e = NaN) : e <= 0 && (t = NaN), new dl(t, e, r, n);
+ }
+ function KV(t) {
+ if (t instanceof dl) return new dl(t.h, t.s, t.l, t.opacity);
+ if ((t instanceof Eh || (t = pl(t)), !t)) return new dl();
+ if (t instanceof dl) return t;
+ t = t.rgb();
+ var e = t.r / 255,
+ r = t.g / 255,
+ n = t.b / 255,
+ i = Math.min(e, r, n),
+ a = Math.max(e, r, n),
+ s = NaN,
+ l = a - i,
+ u = (a + i) / 2;
+ return (
+ l
+ ? (e === a ? (s = (r - n) / l + (r < n) * 6) : r === a ? (s = (n - e) / l + 2) : (s = (e - r) / l + 4),
+ (l /= u < 0.5 ? a + i : 2 - a - i),
+ (s *= 60))
+ : (l = u > 0 && u < 1 ? 0 : s),
+ new dl(s, l, u, t.opacity)
+ );
+ }
+ function QV(t, e, r, n) {
+ return arguments.length === 1 ? KV(t) : new dl(t, e, r, n ?? 1);
+ }
+ function dl(t, e, r, n) {
+ (this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n);
+ }
+ function jV(t) {
+ return (t = (t || 0) % 360), t < 0 ? t + 360 : t;
+ }
+ function H4(t) {
+ return Math.max(0, Math.min(1, t || 0));
+ }
+ function pA(t, e, r) {
+ return (t < 60 ? e + ((r - e) * t) / 60 : t < 180 ? r : t < 240 ? e + ((r - e) * (240 - t)) / 60 : e) * 255;
+ }
+ var vy,
+ Y4,
+ Sp,
+ xy,
+ ac,
+ D3e,
+ R3e,
+ N3e,
+ M3e,
+ I3e,
+ O3e,
+ P3e,
+ VV,
+ gA = R(() => {
+ 'use strict';
+ dA();
+ o(Eh, 'Color');
+ (vy = 0.7),
+ (Y4 = 1 / vy),
+ (Sp = '\\s*([+-]?\\d+)\\s*'),
+ (xy = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*'),
+ (ac = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*'),
+ (D3e = /^#([0-9a-f]{3,8})$/),
+ (R3e = new RegExp(`^rgb\\(${Sp},${Sp},${Sp}\\)$`)),
+ (N3e = new RegExp(`^rgb\\(${ac},${ac},${ac}\\)$`)),
+ (M3e = new RegExp(`^rgba\\(${Sp},${Sp},${Sp},${xy}\\)$`)),
+ (I3e = new RegExp(`^rgba\\(${ac},${ac},${ac},${xy}\\)$`)),
+ (O3e = new RegExp(`^hsl\\(${xy},${ac},${ac}\\)$`)),
+ (P3e = new RegExp(`^hsla\\(${xy},${ac},${ac},${xy}\\)$`)),
+ (VV = {
+ aliceblue: 15792383,
+ antiquewhite: 16444375,
+ aqua: 65535,
+ aquamarine: 8388564,
+ azure: 15794175,
+ beige: 16119260,
+ bisque: 16770244,
+ black: 0,
+ blanchedalmond: 16772045,
+ blue: 255,
+ blueviolet: 9055202,
+ brown: 10824234,
+ burlywood: 14596231,
+ cadetblue: 6266528,
+ chartreuse: 8388352,
+ chocolate: 13789470,
+ coral: 16744272,
+ cornflowerblue: 6591981,
+ cornsilk: 16775388,
+ crimson: 14423100,
+ cyan: 65535,
+ darkblue: 139,
+ darkcyan: 35723,
+ darkgoldenrod: 12092939,
+ darkgray: 11119017,
+ darkgreen: 25600,
+ darkgrey: 11119017,
+ darkkhaki: 12433259,
+ darkmagenta: 9109643,
+ darkolivegreen: 5597999,
+ darkorange: 16747520,
+ darkorchid: 10040012,
+ darkred: 9109504,
+ darksalmon: 15308410,
+ darkseagreen: 9419919,
+ darkslateblue: 4734347,
+ darkslategray: 3100495,
+ darkslategrey: 3100495,
+ darkturquoise: 52945,
+ darkviolet: 9699539,
+ deeppink: 16716947,
+ deepskyblue: 49151,
+ dimgray: 6908265,
+ dimgrey: 6908265,
+ dodgerblue: 2003199,
+ firebrick: 11674146,
+ floralwhite: 16775920,
+ forestgreen: 2263842,
+ fuchsia: 16711935,
+ gainsboro: 14474460,
+ ghostwhite: 16316671,
+ gold: 16766720,
+ goldenrod: 14329120,
+ gray: 8421504,
+ green: 32768,
+ greenyellow: 11403055,
+ grey: 8421504,
+ honeydew: 15794160,
+ hotpink: 16738740,
+ indianred: 13458524,
+ indigo: 4915330,
+ ivory: 16777200,
+ khaki: 15787660,
+ lavender: 15132410,
+ lavenderblush: 16773365,
+ lawngreen: 8190976,
+ lemonchiffon: 16775885,
+ lightblue: 11393254,
+ lightcoral: 15761536,
+ lightcyan: 14745599,
+ lightgoldenrodyellow: 16448210,
+ lightgray: 13882323,
+ lightgreen: 9498256,
+ lightgrey: 13882323,
+ lightpink: 16758465,
+ lightsalmon: 16752762,
+ lightseagreen: 2142890,
+ lightskyblue: 8900346,
+ lightslategray: 7833753,
+ lightslategrey: 7833753,
+ lightsteelblue: 11584734,
+ lightyellow: 16777184,
+ lime: 65280,
+ limegreen: 3329330,
+ linen: 16445670,
+ magenta: 16711935,
+ maroon: 8388608,
+ mediumaquamarine: 6737322,
+ mediumblue: 205,
+ mediumorchid: 12211667,
+ mediumpurple: 9662683,
+ mediumseagreen: 3978097,
+ mediumslateblue: 8087790,
+ mediumspringgreen: 64154,
+ mediumturquoise: 4772300,
+ mediumvioletred: 13047173,
+ midnightblue: 1644912,
+ mintcream: 16121850,
+ mistyrose: 16770273,
+ moccasin: 16770229,
+ navajowhite: 16768685,
+ navy: 128,
+ oldlace: 16643558,
+ olive: 8421376,
+ olivedrab: 7048739,
+ orange: 16753920,
+ orangered: 16729344,
+ orchid: 14315734,
+ palegoldenrod: 15657130,
+ palegreen: 10025880,
+ paleturquoise: 11529966,
+ palevioletred: 14381203,
+ papayawhip: 16773077,
+ peachpuff: 16767673,
+ peru: 13468991,
+ pink: 16761035,
+ plum: 14524637,
+ powderblue: 11591910,
+ purple: 8388736,
+ rebeccapurple: 6697881,
+ red: 16711680,
+ rosybrown: 12357519,
+ royalblue: 4286945,
+ saddlebrown: 9127187,
+ salmon: 16416882,
+ sandybrown: 16032864,
+ seagreen: 3050327,
+ seashell: 16774638,
+ sienna: 10506797,
+ silver: 12632256,
+ skyblue: 8900331,
+ slateblue: 6970061,
+ slategray: 7372944,
+ slategrey: 7372944,
+ snow: 16775930,
+ springgreen: 65407,
+ steelblue: 4620980,
+ tan: 13808780,
+ teal: 32896,
+ thistle: 14204888,
+ tomato: 16737095,
+ turquoise: 4251856,
+ violet: 15631086,
+ wheat: 16113331,
+ white: 16777215,
+ whitesmoke: 16119285,
+ yellow: 16776960,
+ yellowgreen: 10145074
+ });
+ kh(Eh, pl, {
+ copy(t) {
+ return Object.assign(new this.constructor(), this, t);
+ },
+ displayable() {
+ return this.rgb().displayable();
+ },
+ hex: UV,
+ formatHex: UV,
+ formatHex8: B3e,
+ formatHsl: F3e,
+ formatRgb: HV,
+ toString: HV
+ });
+ o(UV, 'color_formatHex');
+ o(B3e, 'color_formatHex8');
+ o(F3e, 'color_formatHsl');
+ o(HV, 'color_formatRgb');
+ o(pl, 'color');
+ o(YV, 'rgbn');
+ o(U4, 'rgba');
+ o(mA, 'rgbConvert');
+ o(Ap, 'rgb');
+ o(la, 'Rgb');
+ kh(
+ la,
+ Ap,
+ Cp(Eh, {
+ brighter(t) {
+ return (
+ (t = t == null ? Y4 : Math.pow(Y4, t)),
+ new la(this.r * t, this.g * t, this.b * t, this.opacity)
+ );
+ },
+ darker(t) {
+ return (
+ (t = t == null ? vy : Math.pow(vy, t)),
+ new la(this.r * t, this.g * t, this.b * t, this.opacity)
+ );
+ },
+ rgb() {
+ return this;
+ },
+ clamp() {
+ return new la(nd(this.r), nd(this.g), nd(this.b), W4(this.opacity));
+ },
+ displayable() {
+ return (
+ -0.5 <= this.r &&
+ this.r < 255.5 &&
+ -0.5 <= this.g &&
+ this.g < 255.5 &&
+ -0.5 <= this.b &&
+ this.b < 255.5 &&
+ 0 <= this.opacity &&
+ this.opacity <= 1
+ );
+ },
+ hex: WV,
+ formatHex: WV,
+ formatHex8: z3e,
+ formatRgb: qV,
+ toString: qV
+ })
+ );
+ o(WV, 'rgb_formatHex');
+ o(z3e, 'rgb_formatHex8');
+ o(qV, 'rgb_formatRgb');
+ o(W4, 'clampa');
+ o(nd, 'clampi');
+ o(rd, 'hex');
+ o(XV, 'hsla');
+ o(KV, 'hslConvert');
+ o(QV, 'hsl');
+ o(dl, 'Hsl');
+ kh(
+ dl,
+ QV,
+ Cp(Eh, {
+ brighter(t) {
+ return (t = t == null ? Y4 : Math.pow(Y4, t)), new dl(this.h, this.s, this.l * t, this.opacity);
+ },
+ darker(t) {
+ return (t = t == null ? vy : Math.pow(vy, t)), new dl(this.h, this.s, this.l * t, this.opacity);
+ },
+ rgb() {
+ var t = (this.h % 360) + (this.h < 0) * 360,
+ e = isNaN(t) || isNaN(this.s) ? 0 : this.s,
+ r = this.l,
+ n = r + (r < 0.5 ? r : 1 - r) * e,
+ i = 2 * r - n;
+ return new la(
+ pA(t >= 240 ? t - 240 : t + 120, i, n),
+ pA(t, i, n),
+ pA(t < 120 ? t + 240 : t - 120, i, n),
+ this.opacity
+ );
+ },
+ clamp() {
+ return new dl(jV(this.h), H4(this.s), H4(this.l), W4(this.opacity));
+ },
+ displayable() {
+ return (
+ ((0 <= this.s && this.s <= 1) || isNaN(this.s)) &&
+ 0 <= this.l &&
+ this.l <= 1 &&
+ 0 <= this.opacity &&
+ this.opacity <= 1
+ );
+ },
+ formatHsl() {
+ let t = W4(this.opacity);
+ return `${t === 1 ? 'hsl(' : 'hsla('}${jV(this.h)}, ${H4(this.s) * 100}%, ${H4(this.l) * 100}%${
+ t === 1 ? ')' : `, ${t})`
+ }`;
+ }
+ })
+ );
+ o(jV, 'clamph');
+ o(H4, 'clampt');
+ o(pA, 'hsl2rgb');
+ });
+ var ZV,
+ JV,
+ eU = R(() => {
+ 'use strict';
+ (ZV = Math.PI / 180), (JV = 180 / Math.PI);
+ });
+ function sU(t) {
+ if (t instanceof sc) return new sc(t.l, t.a, t.b, t.opacity);
+ if (t instanceof uu) return oU(t);
+ t instanceof la || (t = mA(t));
+ var e = bA(t.r),
+ r = bA(t.g),
+ n = bA(t.b),
+ i = yA((0.2225045 * e + 0.7168786 * r + 0.0606169 * n) / rU),
+ a,
+ s;
+ return (
+ e === r && r === n
+ ? (a = s = i)
+ : ((a = yA((0.4360747 * e + 0.3850649 * r + 0.1430804 * n) / tU)),
+ (s = yA((0.0139322 * e + 0.0971045 * r + 0.7141733 * n) / nU))),
+ new sc(116 * i - 16, 500 * (a - i), 200 * (i - s), t.opacity)
+ );
+ }
+ function wA(t, e, r, n) {
+ return arguments.length === 1 ? sU(t) : new sc(t, e, r, n ?? 1);
+ }
+ function sc(t, e, r, n) {
+ (this.l = +t), (this.a = +e), (this.b = +r), (this.opacity = +n);
+ }
+ function yA(t) {
+ return t > G3e ? Math.pow(t, 1 / 3) : t / aU + iU;
+ }
+ function vA(t) {
+ return t > _p ? t * t * t : aU * (t - iU);
+ }
+ function xA(t) {
+ return 255 * (t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055);
+ }
+ function bA(t) {
+ return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
+ }
+ function $3e(t) {
+ if (t instanceof uu) return new uu(t.h, t.c, t.l, t.opacity);
+ if ((t instanceof sc || (t = sU(t)), t.a === 0 && t.b === 0))
+ return new uu(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity);
+ var e = Math.atan2(t.b, t.a) * JV;
+ return new uu(e < 0 ? e + 360 : e, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity);
+ }
+ function by(t, e, r, n) {
+ return arguments.length === 1 ? $3e(t) : new uu(t, e, r, n ?? 1);
+ }
+ function uu(t, e, r, n) {
+ (this.h = +t), (this.c = +e), (this.l = +r), (this.opacity = +n);
+ }
+ function oU(t) {
+ if (isNaN(t.h)) return new sc(t.l, 0, 0, t.opacity);
+ var e = t.h * ZV;
+ return new sc(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity);
+ }
+ var q4,
+ tU,
+ rU,
+ nU,
+ iU,
+ _p,
+ aU,
+ G3e,
+ lU = R(() => {
+ 'use strict';
+ dA();
+ gA();
+ eU();
+ (q4 = 18),
+ (tU = 0.96422),
+ (rU = 1),
+ (nU = 0.82521),
+ (iU = 4 / 29),
+ (_p = 6 / 29),
+ (aU = 3 * _p * _p),
+ (G3e = _p * _p * _p);
+ o(sU, 'labConvert');
+ o(wA, 'lab');
+ o(sc, 'Lab');
+ kh(
+ sc,
+ wA,
+ Cp(Eh, {
+ brighter(t) {
+ return new sc(this.l + q4 * (t ?? 1), this.a, this.b, this.opacity);
+ },
+ darker(t) {
+ return new sc(this.l - q4 * (t ?? 1), this.a, this.b, this.opacity);
+ },
+ rgb() {
+ var t = (this.l + 16) / 116,
+ e = isNaN(this.a) ? t : t + this.a / 500,
+ r = isNaN(this.b) ? t : t - this.b / 200;
+ return (
+ (e = tU * vA(e)),
+ (t = rU * vA(t)),
+ (r = nU * vA(r)),
+ new la(
+ xA(3.1338561 * e - 1.6168667 * t - 0.4906146 * r),
+ xA(-0.9787684 * e + 1.9161415 * t + 0.033454 * r),
+ xA(0.0719453 * e - 0.2289914 * t + 1.4052427 * r),
+ this.opacity
+ )
+ );
+ }
+ })
+ );
+ o(yA, 'xyz2lab');
+ o(vA, 'lab2xyz');
+ o(xA, 'lrgb2rgb');
+ o(bA, 'rgb2lrgb');
+ o($3e, 'hclConvert');
+ o(by, 'hcl');
+ o(uu, 'Hcl');
+ o(oU, 'hcl2lab');
+ kh(
+ uu,
+ by,
+ Cp(Eh, {
+ brighter(t) {
+ return new uu(this.h, this.c, this.l + q4 * (t ?? 1), this.opacity);
+ },
+ darker(t) {
+ return new uu(this.h, this.c, this.l - q4 * (t ?? 1), this.opacity);
+ },
+ rgb() {
+ return oU(this).rgb();
+ }
+ })
+ );
+ });
+ var Lp = R(() => {
+ 'use strict';
+ gA();
+ lU();
+ });
+ function TA(t, e, r, n, i) {
+ var a = t * t,
+ s = a * t;
+ return ((1 - 3 * t + 3 * a - s) * e + (4 - 6 * a + 3 * s) * r + (1 + 3 * t + 3 * a - 3 * s) * n + s * i) / 6;
+ }
+ function kA(t) {
+ var e = t.length - 1;
+ return function (r) {
+ var n = r <= 0 ? (r = 0) : r >= 1 ? ((r = 1), e - 1) : Math.floor(r * e),
+ i = t[n],
+ a = t[n + 1],
+ s = n > 0 ? t[n - 1] : 2 * i - a,
+ l = n < e - 1 ? t[n + 2] : 2 * a - i;
+ return TA((r - n / e) * e, s, i, a, l);
+ };
+ }
+ var EA = R(() => {
+ 'use strict';
+ o(TA, 'basis');
+ o(kA, 'default');
+ });
+ function CA(t) {
+ var e = t.length;
+ return function (r) {
+ var n = Math.floor(((r %= 1) < 0 ? ++r : r) * e),
+ i = t[(n + e - 1) % e],
+ a = t[n % e],
+ s = t[(n + 1) % e],
+ l = t[(n + 2) % e];
+ return TA((r - n / e) * e, i, a, s, l);
+ };
+ }
+ var cU = R(() => {
+ 'use strict';
+ EA();
+ o(CA, 'default');
+ });
+ var Dp,
+ SA = R(() => {
+ 'use strict';
+ Dp = o((t) => () => t, 'default');
+ });
+ function uU(t, e) {
+ return function (r) {
+ return t + r * e;
+ };
+ }
+ function V3e(t, e, r) {
+ return (
+ (t = Math.pow(t, r)),
+ (e = Math.pow(e, r) - t),
+ (r = 1 / r),
+ function (n) {
+ return Math.pow(t + n * e, r);
+ }
+ );
+ }
+ function hU(t, e) {
+ var r = e - t;
+ return r ? uU(t, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) : Dp(isNaN(t) ? e : t);
+ }
+ function fU(t) {
+ return (t = +t) == 1
+ ? hu
+ : function (e, r) {
+ return r - e ? V3e(e, r, t) : Dp(isNaN(e) ? r : e);
+ };
+ }
+ function hu(t, e) {
+ var r = e - t;
+ return r ? uU(t, r) : Dp(isNaN(t) ? e : t);
+ }
+ var AA = R(() => {
+ 'use strict';
+ SA();
+ o(uU, 'linear');
+ o(V3e, 'exponential');
+ o(hU, 'hue');
+ o(fU, 'gamma');
+ o(hu, 'nogamma');
+ });
+ function dU(t) {
+ return function (e) {
+ var r = e.length,
+ n = new Array(r),
+ i = new Array(r),
+ a = new Array(r),
+ s,
+ l;
+ for (s = 0; s < r; ++s) (l = Ap(e[s])), (n[s] = l.r || 0), (i[s] = l.g || 0), (a[s] = l.b || 0);
+ return (
+ (n = t(n)),
+ (i = t(i)),
+ (a = t(a)),
+ (l.opacity = 1),
+ function (u) {
+ return (l.r = n(u)), (l.g = i(u)), (l.b = a(u)), l + '';
+ }
+ );
+ };
+ }
+ var id,
+ U3e,
+ H3e,
+ _A = R(() => {
+ 'use strict';
+ Lp();
+ EA();
+ cU();
+ AA();
+ id = o(function t(e) {
+ var r = fU(e);
+ function n(i, a) {
+ var s = r((i = Ap(i)).r, (a = Ap(a)).r),
+ l = r(i.g, a.g),
+ u = r(i.b, a.b),
+ h = hu(i.opacity, a.opacity);
+ return function (f) {
+ return (i.r = s(f)), (i.g = l(f)), (i.b = u(f)), (i.opacity = h(f)), i + '';
+ };
+ }
+ return o(n, 'rgb'), (n.gamma = t), n;
+ }, 'rgbGamma')(1);
+ o(dU, 'rgbSpline');
+ (U3e = dU(kA)), (H3e = dU(CA));
+ });
+ function LA(t, e) {
+ e || (e = []);
+ var r = t ? Math.min(e.length, t.length) : 0,
+ n = e.slice(),
+ i;
+ return function (a) {
+ for (i = 0; i < r; ++i) n[i] = t[i] * (1 - a) + e[i] * a;
+ return n;
+ };
+ }
+ function pU(t) {
+ return ArrayBuffer.isView(t) && !(t instanceof DataView);
+ }
+ var mU = R(() => {
+ 'use strict';
+ o(LA, 'default');
+ o(pU, 'isNumberArray');
+ });
+ function gU(t, e) {
+ var r = e ? e.length : 0,
+ n = t ? Math.min(r, t.length) : 0,
+ i = new Array(n),
+ a = new Array(r),
+ s;
+ for (s = 0; s < n; ++s) i[s] = Ch(t[s], e[s]);
+ for (; s < r; ++s) a[s] = e[s];
+ return function (l) {
+ for (s = 0; s < n; ++s) a[s] = i[s](l);
+ return a;
+ };
+ }
+ var yU = R(() => {
+ 'use strict';
+ X4();
+ o(gU, 'genericArray');
+ });
+ function DA(t, e) {
+ var r = new Date();
+ return (
+ (t = +t),
+ (e = +e),
+ function (n) {
+ return r.setTime(t * (1 - n) + e * n), r;
+ }
+ );
+ }
+ var vU = R(() => {
+ 'use strict';
+ o(DA, 'default');
+ });
+ function ji(t, e) {
+ return (
+ (t = +t),
+ (e = +e),
+ function (r) {
+ return t * (1 - r) + e * r;
+ }
+ );
+ }
+ var wy = R(() => {
+ 'use strict';
+ o(ji, 'default');
+ });
+ function RA(t, e) {
+ var r = {},
+ n = {},
+ i;
+ (t === null || typeof t != 'object') && (t = {}), (e === null || typeof e != 'object') && (e = {});
+ for (i in e) i in t ? (r[i] = Ch(t[i], e[i])) : (n[i] = e[i]);
+ return function (a) {
+ for (i in r) n[i] = r[i](a);
+ return n;
+ };
+ }
+ var xU = R(() => {
+ 'use strict';
+ X4();
+ o(RA, 'default');
+ });
+ function Y3e(t) {
+ return function () {
+ return t;
+ };
+ }
+ function W3e(t) {
+ return function (e) {
+ return t(e) + '';
+ };
+ }
+ function Rp(t, e) {
+ var r = (MA.lastIndex = NA.lastIndex = 0),
+ n,
+ i,
+ a,
+ s = -1,
+ l = [],
+ u = [];
+ for (t = t + '', e = e + ''; (n = MA.exec(t)) && (i = NA.exec(e)); )
+ (a = i.index) > r && ((a = e.slice(r, a)), l[s] ? (l[s] += a) : (l[++s] = a)),
+ (n = n[0]) === (i = i[0])
+ ? l[s]
+ ? (l[s] += i)
+ : (l[++s] = i)
+ : ((l[++s] = null), u.push({ i: s, x: ji(n, i) })),
+ (r = NA.lastIndex);
+ return (
+ r < e.length && ((a = e.slice(r)), l[s] ? (l[s] += a) : (l[++s] = a)),
+ l.length < 2
+ ? u[0]
+ ? W3e(u[0].x)
+ : Y3e(e)
+ : ((e = u.length),
+ function (h) {
+ for (var f = 0, d; f < e; ++f) l[(d = u[f]).i] = d.x(h);
+ return l.join('');
+ })
+ );
+ }
+ var MA,
+ NA,
+ IA = R(() => {
+ 'use strict';
+ wy();
+ (MA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g), (NA = new RegExp(MA.source, 'g'));
+ o(Y3e, 'zero');
+ o(W3e, 'one');
+ o(Rp, 'default');
+ });
+ function Ch(t, e) {
+ var r = typeof e,
+ n;
+ return e == null || r === 'boolean'
+ ? Dp(e)
+ : (r === 'number'
+ ? ji
+ : r === 'string'
+ ? (n = pl(e))
+ ? ((e = n), id)
+ : Rp
+ : e instanceof pl
+ ? id
+ : e instanceof Date
+ ? DA
+ : pU(e)
+ ? LA
+ : Array.isArray(e)
+ ? gU
+ : (typeof e.valueOf != 'function' && typeof e.toString != 'function') || isNaN(e)
+ ? RA
+ : ji)(t, e);
+ }
+ var X4 = R(() => {
+ 'use strict';
+ Lp();
+ _A();
+ yU();
+ vU();
+ wy();
+ xU();
+ IA();
+ SA();
+ mU();
+ o(Ch, 'default');
+ });
+ function j4(t, e) {
+ return (
+ (t = +t),
+ (e = +e),
+ function (r) {
+ return Math.round(t * (1 - r) + e * r);
+ }
+ );
+ }
+ var bU = R(() => {
+ 'use strict';
+ o(j4, 'default');
+ });
+ function Q4(t, e, r, n, i, a) {
+ var s, l, u;
+ return (
+ (s = Math.sqrt(t * t + e * e)) && ((t /= s), (e /= s)),
+ (u = t * r + e * n) && ((r -= t * u), (n -= e * u)),
+ (l = Math.sqrt(r * r + n * n)) && ((r /= l), (n /= l), (u /= l)),
+ t * n < e * r && ((t = -t), (e = -e), (u = -u), (s = -s)),
+ {
+ translateX: i,
+ translateY: a,
+ rotate: Math.atan2(e, t) * wU,
+ skewX: Math.atan(u) * wU,
+ scaleX: s,
+ scaleY: l
+ }
+ );
+ }
+ var wU,
+ K4,
+ TU = R(() => {
+ 'use strict';
+ (wU = 180 / Math.PI),
+ (K4 = {
+ translateX: 0,
+ translateY: 0,
+ rotate: 0,
+ skewX: 0,
+ scaleX: 1,
+ scaleY: 1
+ });
+ o(Q4, 'default');
+ });
+ function kU(t) {
+ let e = new (typeof DOMMatrix == 'function' ? DOMMatrix : WebKitCSSMatrix)(t + '');
+ return e.isIdentity ? K4 : Q4(e.a, e.b, e.c, e.d, e.e, e.f);
+ }
+ function EU(t) {
+ return t == null
+ ? K4
+ : (Z4 || (Z4 = document.createElementNS('http://www.w3.org/2000/svg', 'g')),
+ Z4.setAttribute('transform', t),
+ (t = Z4.transform.baseVal.consolidate()) ? ((t = t.matrix), Q4(t.a, t.b, t.c, t.d, t.e, t.f)) : K4);
+ }
+ var Z4,
+ CU = R(() => {
+ 'use strict';
+ TU();
+ o(kU, 'parseCss');
+ o(EU, 'parseSvg');
+ });
+ function SU(t, e, r, n) {
+ function i(h) {
+ return h.length ? h.pop() + ' ' : '';
+ }
+ o(i, 'pop');
+ function a(h, f, d, p, m, g) {
+ if (h !== d || f !== p) {
+ var y = m.push('translate(', null, e, null, r);
+ g.push({ i: y - 4, x: ji(h, d) }, { i: y - 2, x: ji(f, p) });
+ } else (d || p) && m.push('translate(' + d + e + p + r);
+ }
+ o(a, 'translate');
+ function s(h, f, d, p) {
+ h !== f
+ ? (h - f > 180 ? (f += 360) : f - h > 180 && (h += 360),
+ p.push({ i: d.push(i(d) + 'rotate(', null, n) - 2, x: ji(h, f) }))
+ : f && d.push(i(d) + 'rotate(' + f + n);
+ }
+ o(s, 'rotate');
+ function l(h, f, d, p) {
+ h !== f
+ ? p.push({ i: d.push(i(d) + 'skewX(', null, n) - 2, x: ji(h, f) })
+ : f && d.push(i(d) + 'skewX(' + f + n);
+ }
+ o(l, 'skewX');
+ function u(h, f, d, p, m, g) {
+ if (h !== d || f !== p) {
+ var y = m.push(i(m) + 'scale(', null, ',', null, ')');
+ g.push({ i: y - 4, x: ji(h, d) }, { i: y - 2, x: ji(f, p) });
+ } else (d !== 1 || p !== 1) && m.push(i(m) + 'scale(' + d + ',' + p + ')');
+ }
+ return (
+ o(u, 'scale'),
+ function (h, f) {
+ var d = [],
+ p = [];
+ return (
+ (h = t(h)),
+ (f = t(f)),
+ a(h.translateX, h.translateY, f.translateX, f.translateY, d, p),
+ s(h.rotate, f.rotate, d, p),
+ l(h.skewX, f.skewX, d, p),
+ u(h.scaleX, h.scaleY, f.scaleX, f.scaleY, d, p),
+ (h = f = null),
+ function (m) {
+ for (var g = -1, y = p.length, v; ++g < y; ) d[(v = p[g]).i] = v.x(m);
+ return d.join('');
+ }
+ );
+ }
+ );
+ }
+ var OA,
+ PA,
+ AU = R(() => {
+ 'use strict';
+ wy();
+ CU();
+ o(SU, 'interpolateTransform');
+ (OA = SU(kU, 'px, ', 'px)', 'deg)')), (PA = SU(EU, ', ', ')', ')'));
+ });
+ function _U(t) {
+ return function (e, r) {
+ var n = t((e = by(e)).h, (r = by(r)).h),
+ i = hu(e.c, r.c),
+ a = hu(e.l, r.l),
+ s = hu(e.opacity, r.opacity);
+ return function (l) {
+ return (e.h = n(l)), (e.c = i(l)), (e.l = a(l)), (e.opacity = s(l)), e + '';
+ };
+ };
+ }
+ var BA,
+ q3e,
+ LU = R(() => {
+ 'use strict';
+ Lp();
+ AA();
+ o(_U, 'hcl');
+ (BA = _U(hU)), (q3e = _U(hu));
+ });
+ var Np = R(() => {
+ 'use strict';
+ X4();
+ wy();
+ bU();
+ IA();
+ AU();
+ _A();
+ LU();
+ });
+ function Ay() {
+ return ad || (NU(X3e), (ad = Cy.now() + t3));
+ }
+ function X3e() {
+ ad = 0;
+ }
+ function Sy() {
+ this._call = this._time = this._next = null;
+ }
+ function r3(t, e, r) {
+ var n = new Sy();
+ return n.restart(t, e, r), n;
+ }
+ function MU() {
+ Ay(), ++Mp;
+ for (var t = J4, e; t; ) (e = ad - t._time) >= 0 && t._call.call(void 0, e), (t = t._next);
+ --Mp;
+ }
+ function DU() {
+ (ad = (e3 = Cy.now()) + t3), (Mp = ky = 0);
+ try {
+ MU();
+ } finally {
+ (Mp = 0), K3e(), (ad = 0);
+ }
+ }
+ function j3e() {
+ var t = Cy.now(),
+ e = t - e3;
+ e > RU && ((t3 -= e), (e3 = t));
+ }
+ function K3e() {
+ for (var t, e = J4, r, n = 1 / 0; e; )
+ e._call
+ ? (n > e._time && (n = e._time), (t = e), (e = e._next))
+ : ((r = e._next), (e._next = null), (e = t ? (t._next = r) : (J4 = r)));
+ (Ey = t), FA(n);
+ }
+ function FA(t) {
+ if (!Mp) {
+ ky && (ky = clearTimeout(ky));
+ var e = t - ad;
+ e > 24
+ ? (t < 1 / 0 && (ky = setTimeout(DU, t - Cy.now() - t3)), Ty && (Ty = clearInterval(Ty)))
+ : (Ty || ((e3 = Cy.now()), (Ty = setInterval(j3e, RU))), (Mp = 1), NU(DU));
+ }
+ }
+ var Mp,
+ ky,
+ Ty,
+ RU,
+ J4,
+ Ey,
+ e3,
+ ad,
+ t3,
+ Cy,
+ NU,
+ zA = R(() => {
+ 'use strict';
+ (Mp = 0),
+ (ky = 0),
+ (Ty = 0),
+ (RU = 1e3),
+ (e3 = 0),
+ (ad = 0),
+ (t3 = 0),
+ (Cy = typeof performance == 'object' && performance.now ? performance : Date),
+ (NU =
+ typeof window == 'object' && window.requestAnimationFrame
+ ? window.requestAnimationFrame.bind(window)
+ : function (t) {
+ setTimeout(t, 17);
+ });
+ o(Ay, 'now');
+ o(X3e, 'clearNow');
+ o(Sy, 'Timer');
+ Sy.prototype = r3.prototype = {
+ constructor: Sy,
+ restart: o(function (t, e, r) {
+ if (typeof t != 'function') throw new TypeError('callback is not a function');
+ (r = (r == null ? Ay() : +r) + (e == null ? 0 : +e)),
+ !this._next && Ey !== this && (Ey ? (Ey._next = this) : (J4 = this), (Ey = this)),
+ (this._call = t),
+ (this._time = r),
+ FA();
+ }, 'restart'),
+ stop: o(function () {
+ this._call && ((this._call = null), (this._time = 1 / 0), FA());
+ }, 'stop')
+ };
+ o(r3, 'timer');
+ o(MU, 'timerFlush');
+ o(DU, 'wake');
+ o(j3e, 'poke');
+ o(K3e, 'nap');
+ o(FA, 'sleep');
+ });
+ function _y(t, e, r) {
+ var n = new Sy();
+ return (
+ (e = e == null ? 0 : +e),
+ n.restart(
+ (i) => {
+ n.stop(), t(i + e);
+ },
+ e,
+ r
+ ),
+ n
+ );
+ }
+ var IU = R(() => {
+ 'use strict';
+ zA();
+ o(_y, 'default');
+ });
+ var n3 = R(() => {
+ 'use strict';
+ zA();
+ IU();
+ });
+ function fu(t, e, r, n, i, a) {
+ var s = t.__transition;
+ if (!s) t.__transition = {};
+ else if (r in s) return;
+ J3e(t, r, {
+ name: e,
+ index: n,
+ group: i,
+ on: Q3e,
+ tween: Z3e,
+ time: a.time,
+ delay: a.delay,
+ duration: a.duration,
+ ease: a.ease,
+ timer: null,
+ state: BU
+ });
+ }
+ function Dy(t, e) {
+ var r = Mi(t, e);
+ if (r.state > BU) throw new Error('too late; already scheduled');
+ return r;
+ }
+ function ca(t, e) {
+ var r = Mi(t, e);
+ if (r.state > i3) throw new Error('too late; already running');
+ return r;
+ }
+ function Mi(t, e) {
+ var r = t.__transition;
+ if (!r || !(r = r[e])) throw new Error('transition not found');
+ return r;
+ }
+ function J3e(t, e, r) {
+ var n = t.__transition,
+ i;
+ (n[e] = r), (r.timer = r3(a, 0, r.time));
+ function a(h) {
+ (r.state = OU), r.timer.restart(s, r.delay, r.time), r.delay <= h && s(h - r.delay);
+ }
+ o(a, 'schedule');
+ function s(h) {
+ var f, d, p, m;
+ if (r.state !== OU) return u();
+ for (f in n)
+ if (((m = n[f]), m.name === r.name)) {
+ if (m.state === i3) return _y(s);
+ m.state === PU
+ ? ((m.state = Ly),
+ m.timer.stop(),
+ m.on.call('interrupt', t, t.__data__, m.index, m.group),
+ delete n[f])
+ : +f < e &&
+ ((m.state = Ly),
+ m.timer.stop(),
+ m.on.call('cancel', t, t.__data__, m.index, m.group),
+ delete n[f]);
+ }
+ if (
+ (_y(function () {
+ r.state === i3 && ((r.state = PU), r.timer.restart(l, r.delay, r.time), l(h));
+ }),
+ (r.state = a3),
+ r.on.call('start', t, t.__data__, r.index, r.group),
+ r.state === a3)
+ ) {
+ for (r.state = i3, i = new Array((p = r.tween.length)), f = 0, d = -1; f < p; ++f)
+ (m = r.tween[f].value.call(t, t.__data__, r.index, r.group)) && (i[++d] = m);
+ i.length = d + 1;
+ }
+ }
+ o(s, 'start');
+ function l(h) {
+ for (
+ var f = h < r.duration ? r.ease.call(null, h / r.duration) : (r.timer.restart(u), (r.state = s3), 1),
+ d = -1,
+ p = i.length;
+ ++d < p;
+
+ )
+ i[d].call(t, f);
+ r.state === s3 && (r.on.call('end', t, t.__data__, r.index, r.group), u());
+ }
+ o(l, 'tick');
+ function u() {
+ (r.state = Ly), r.timer.stop(), delete n[e];
+ for (var h in n) return;
+ delete t.__transition;
+ }
+ o(u, 'stop');
+ }
+ var Q3e,
+ Z3e,
+ BU,
+ OU,
+ a3,
+ i3,
+ PU,
+ s3,
+ Ly,
+ ys = R(() => {
+ 'use strict';
+ bS();
+ n3();
+ (Q3e = xS('start', 'end', 'cancel', 'interrupt')),
+ (Z3e = []),
+ (BU = 0),
+ (OU = 1),
+ (a3 = 2),
+ (i3 = 3),
+ (PU = 4),
+ (s3 = 5),
+ (Ly = 6);
+ o(fu, 'default');
+ o(Dy, 'init');
+ o(ca, 'set');
+ o(Mi, 'get');
+ o(J3e, 'create');
+ });
+ function Ry(t, e) {
+ var r = t.__transition,
+ n,
+ i,
+ a = !0,
+ s;
+ if (r) {
+ e = e == null ? null : e + '';
+ for (s in r) {
+ if ((n = r[s]).name !== e) {
+ a = !1;
+ continue;
+ }
+ (i = n.state > a3 && n.state < s3),
+ (n.state = Ly),
+ n.timer.stop(),
+ n.on.call(i ? 'interrupt' : 'cancel', t, t.__data__, n.index, n.group),
+ delete r[s];
+ }
+ a && delete t.__transition;
+ }
+ }
+ var FU = R(() => {
+ 'use strict';
+ ys();
+ o(Ry, 'default');
+ });
+ function GA(t) {
+ return this.each(function () {
+ Ry(this, t);
+ });
+ }
+ var zU = R(() => {
+ 'use strict';
+ FU();
+ o(GA, 'default');
+ });
+ function e5e(t, e) {
+ var r, n;
+ return function () {
+ var i = ca(this, t),
+ a = i.tween;
+ if (a !== r) {
+ n = r = a;
+ for (var s = 0, l = n.length; s < l; ++s)
+ if (n[s].name === e) {
+ (n = n.slice()), n.splice(s, 1);
+ break;
+ }
+ }
+ i.tween = n;
+ };
+ }
+ function t5e(t, e, r) {
+ var n, i;
+ if (typeof r != 'function') throw new Error();
+ return function () {
+ var a = ca(this, t),
+ s = a.tween;
+ if (s !== n) {
+ i = (n = s).slice();
+ for (var l = { name: e, value: r }, u = 0, h = i.length; u < h; ++u)
+ if (i[u].name === e) {
+ i[u] = l;
+ break;
+ }
+ u === h && i.push(l);
+ }
+ a.tween = i;
+ };
+ }
+ function $A(t, e) {
+ var r = this._id;
+ if (((t += ''), arguments.length < 2)) {
+ for (var n = Mi(this.node(), r).tween, i = 0, a = n.length, s; i < a; ++i)
+ if ((s = n[i]).name === t) return s.value;
+ return null;
+ }
+ return this.each((e == null ? e5e : t5e)(r, t, e));
+ }
+ function Ip(t, e, r) {
+ var n = t._id;
+ return (
+ t.each(function () {
+ var i = ca(this, n);
+ (i.value || (i.value = {}))[e] = r.apply(this, arguments);
+ }),
+ function (i) {
+ return Mi(i, n).value[e];
+ }
+ );
+ }
+ var Ny = R(() => {
+ 'use strict';
+ ys();
+ o(e5e, 'tweenRemove');
+ o(t5e, 'tweenFunction');
+ o($A, 'default');
+ o(Ip, 'tweenValue');
+ });
+ function My(t, e) {
+ var r;
+ return (typeof e == 'number' ? ji : e instanceof pl ? id : (r = pl(e)) ? ((e = r), id) : Rp)(t, e);
+ }
+ var VA = R(() => {
+ 'use strict';
+ Lp();
+ Np();
+ o(My, 'default');
+ });
+ function r5e(t) {
+ return function () {
+ this.removeAttribute(t);
+ };
+ }
+ function n5e(t) {
+ return function () {
+ this.removeAttributeNS(t.space, t.local);
+ };
+ }
+ function i5e(t, e, r) {
+ var n,
+ i = r + '',
+ a;
+ return function () {
+ var s = this.getAttribute(t);
+ return s === i ? null : s === n ? a : (a = e((n = s), r));
+ };
+ }
+ function a5e(t, e, r) {
+ var n,
+ i = r + '',
+ a;
+ return function () {
+ var s = this.getAttributeNS(t.space, t.local);
+ return s === i ? null : s === n ? a : (a = e((n = s), r));
+ };
+ }
+ function s5e(t, e, r) {
+ var n, i, a;
+ return function () {
+ var s,
+ l = r(this),
+ u;
+ return l == null
+ ? void this.removeAttribute(t)
+ : ((s = this.getAttribute(t)),
+ (u = l + ''),
+ s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l))));
+ };
+ }
+ function o5e(t, e, r) {
+ var n, i, a;
+ return function () {
+ var s,
+ l = r(this),
+ u;
+ return l == null
+ ? void this.removeAttributeNS(t.space, t.local)
+ : ((s = this.getAttributeNS(t.space, t.local)),
+ (u = l + ''),
+ s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l))));
+ };
+ }
+ function UA(t, e) {
+ var r = ic(t),
+ n = r === 'transform' ? PA : My;
+ return this.attrTween(
+ t,
+ typeof e == 'function'
+ ? (r.local ? o5e : s5e)(r, n, Ip(this, 'attr.' + t, e))
+ : e == null
+ ? (r.local ? n5e : r5e)(r)
+ : (r.local ? a5e : i5e)(r, n, e)
+ );
+ }
+ var GU = R(() => {
+ 'use strict';
+ Np();
+ fl();
+ Ny();
+ VA();
+ o(r5e, 'attrRemove');
+ o(n5e, 'attrRemoveNS');
+ o(i5e, 'attrConstant');
+ o(a5e, 'attrConstantNS');
+ o(s5e, 'attrFunction');
+ o(o5e, 'attrFunctionNS');
+ o(UA, 'default');
+ });
+ function l5e(t, e) {
+ return function (r) {
+ this.setAttribute(t, e.call(this, r));
+ };
+ }
+ function c5e(t, e) {
+ return function (r) {
+ this.setAttributeNS(t.space, t.local, e.call(this, r));
+ };
+ }
+ function u5e(t, e) {
+ var r, n;
+ function i() {
+ var a = e.apply(this, arguments);
+ return a !== n && (r = (n = a) && c5e(t, a)), r;
+ }
+ return o(i, 'tween'), (i._value = e), i;
+ }
+ function h5e(t, e) {
+ var r, n;
+ function i() {
+ var a = e.apply(this, arguments);
+ return a !== n && (r = (n = a) && l5e(t, a)), r;
+ }
+ return o(i, 'tween'), (i._value = e), i;
+ }
+ function HA(t, e) {
+ var r = 'attr.' + t;
+ if (arguments.length < 2) return (r = this.tween(r)) && r._value;
+ if (e == null) return this.tween(r, null);
+ if (typeof e != 'function') throw new Error();
+ var n = ic(t);
+ return this.tween(r, (n.local ? u5e : h5e)(n, e));
+ }
+ var $U = R(() => {
+ 'use strict';
+ fl();
+ o(l5e, 'attrInterpolate');
+ o(c5e, 'attrInterpolateNS');
+ o(u5e, 'attrTweenNS');
+ o(h5e, 'attrTween');
+ o(HA, 'default');
+ });
+ function f5e(t, e) {
+ return function () {
+ Dy(this, t).delay = +e.apply(this, arguments);
+ };
+ }
+ function d5e(t, e) {
+ return (
+ (e = +e),
+ function () {
+ Dy(this, t).delay = e;
+ }
+ );
+ }
+ function YA(t) {
+ var e = this._id;
+ return arguments.length ? this.each((typeof t == 'function' ? f5e : d5e)(e, t)) : Mi(this.node(), e).delay;
+ }
+ var VU = R(() => {
+ 'use strict';
+ ys();
+ o(f5e, 'delayFunction');
+ o(d5e, 'delayConstant');
+ o(YA, 'default');
+ });
+ function p5e(t, e) {
+ return function () {
+ ca(this, t).duration = +e.apply(this, arguments);
+ };
+ }
+ function m5e(t, e) {
+ return (
+ (e = +e),
+ function () {
+ ca(this, t).duration = e;
+ }
+ );
+ }
+ function WA(t) {
+ var e = this._id;
+ return arguments.length ? this.each((typeof t == 'function' ? p5e : m5e)(e, t)) : Mi(this.node(), e).duration;
+ }
+ var UU = R(() => {
+ 'use strict';
+ ys();
+ o(p5e, 'durationFunction');
+ o(m5e, 'durationConstant');
+ o(WA, 'default');
+ });
+ function g5e(t, e) {
+ if (typeof e != 'function') throw new Error();
+ return function () {
+ ca(this, t).ease = e;
+ };
+ }
+ function qA(t) {
+ var e = this._id;
+ return arguments.length ? this.each(g5e(e, t)) : Mi(this.node(), e).ease;
+ }
+ var HU = R(() => {
+ 'use strict';
+ ys();
+ o(g5e, 'easeConstant');
+ o(qA, 'default');
+ });
+ function y5e(t, e) {
+ return function () {
+ var r = e.apply(this, arguments);
+ if (typeof r != 'function') throw new Error();
+ ca(this, t).ease = r;
+ };
+ }
+ function XA(t) {
+ if (typeof t != 'function') throw new Error();
+ return this.each(y5e(this._id, t));
+ }
+ var YU = R(() => {
+ 'use strict';
+ ys();
+ o(y5e, 'easeVarying');
+ o(XA, 'default');
+ });
+ function jA(t) {
+ typeof t != 'function' && (t = Ep(t));
+ for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i)
+ for (var a = e[i], s = a.length, l = (n[i] = []), u, h = 0; h < s; ++h)
+ (u = a[h]) && t.call(u, u.__data__, h, a) && l.push(u);
+ return new Ka(n, this._parents, this._name, this._id);
+ }
+ var WU = R(() => {
+ 'use strict';
+ fl();
+ sd();
+ o(jA, 'default');
+ });
+ function KA(t) {
+ if (t._id !== this._id) throw new Error();
+ for (
+ var e = this._groups,
+ r = t._groups,
+ n = e.length,
+ i = r.length,
+ a = Math.min(n, i),
+ s = new Array(n),
+ l = 0;
+ l < a;
+ ++l
+ )
+ for (var u = e[l], h = r[l], f = u.length, d = (s[l] = new Array(f)), p, m = 0; m < f; ++m)
+ (p = u[m] || h[m]) && (d[m] = p);
+ for (; l < n; ++l) s[l] = e[l];
+ return new Ka(s, this._parents, this._name, this._id);
+ }
+ var qU = R(() => {
+ 'use strict';
+ sd();
+ o(KA, 'default');
+ });
+ function v5e(t) {
+ return (t + '')
+ .trim()
+ .split(/^|\s+/)
+ .every(function (e) {
+ var r = e.indexOf('.');
+ return r >= 0 && (e = e.slice(0, r)), !e || e === 'start';
+ });
+ }
+ function x5e(t, e, r) {
+ var n,
+ i,
+ a = v5e(e) ? Dy : ca;
+ return function () {
+ var s = a(this, t),
+ l = s.on;
+ l !== n && (i = (n = l).copy()).on(e, r), (s.on = i);
+ };
+ }
+ function QA(t, e) {
+ var r = this._id;
+ return arguments.length < 2 ? Mi(this.node(), r).on.on(t) : this.each(x5e(r, t, e));
+ }
+ var XU = R(() => {
+ 'use strict';
+ ys();
+ o(v5e, 'start');
+ o(x5e, 'onFunction');
+ o(QA, 'default');
+ });
+ function b5e(t) {
+ return function () {
+ var e = this.parentNode;
+ for (var r in this.__transition) if (+r !== t) return;
+ e && e.removeChild(this);
+ };
+ }
+ function ZA() {
+ return this.on('end.remove', b5e(this._id));
+ }
+ var jU = R(() => {
+ 'use strict';
+ o(b5e, 'removeFunction');
+ o(ZA, 'default');
+ });
+ function JA(t) {
+ var e = this._name,
+ r = this._id;
+ typeof t != 'function' && (t = wh(t));
+ for (var n = this._groups, i = n.length, a = new Array(i), s = 0; s < i; ++s)
+ for (var l = n[s], u = l.length, h = (a[s] = new Array(u)), f, d, p = 0; p < u; ++p)
+ (f = l[p]) &&
+ (d = t.call(f, f.__data__, p, l)) &&
+ ('__data__' in f && (d.__data__ = f.__data__), (h[p] = d), fu(h[p], e, r, p, h, Mi(f, r)));
+ return new Ka(a, this._parents, e, r);
+ }
+ var KU = R(() => {
+ 'use strict';
+ fl();
+ sd();
+ ys();
+ o(JA, 'default');
+ });
+ function e8(t) {
+ var e = this._name,
+ r = this._id;
+ typeof t != 'function' && (t = kp(t));
+ for (var n = this._groups, i = n.length, a = [], s = [], l = 0; l < i; ++l)
+ for (var u = n[l], h = u.length, f, d = 0; d < h; ++d)
+ if ((f = u[d])) {
+ for (var p = t.call(f, f.__data__, d, u), m, g = Mi(f, r), y = 0, v = p.length; y < v; ++y)
+ (m = p[y]) && fu(m, e, r, y, p, g);
+ a.push(p), s.push(f);
+ }
+ return new Ka(a, s, e, r);
+ }
+ var QU = R(() => {
+ 'use strict';
+ fl();
+ sd();
+ ys();
+ o(e8, 'default');
+ });
+ function t8() {
+ return new w5e(this._groups, this._parents);
+ }
+ var w5e,
+ ZU = R(() => {
+ 'use strict';
+ fl();
+ w5e = cu.prototype.constructor;
+ o(t8, 'default');
+ });
+ function T5e(t, e) {
+ var r, n, i;
+ return function () {
+ var a = Th(this, t),
+ s = (this.style.removeProperty(t), Th(this, t));
+ return a === s ? null : a === r && s === n ? i : (i = e((r = a), (n = s)));
+ };
+ }
+ function JU(t) {
+ return function () {
+ this.style.removeProperty(t);
+ };
+ }
+ function k5e(t, e, r) {
+ var n,
+ i = r + '',
+ a;
+ return function () {
+ var s = Th(this, t);
+ return s === i ? null : s === n ? a : (a = e((n = s), r));
+ };
+ }
+ function E5e(t, e, r) {
+ var n, i, a;
+ return function () {
+ var s = Th(this, t),
+ l = r(this),
+ u = l + '';
+ return (
+ l == null && (u = l = (this.style.removeProperty(t), Th(this, t))),
+ s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l)))
+ );
+ };
+ }
+ function C5e(t, e) {
+ var r,
+ n,
+ i,
+ a = 'style.' + e,
+ s = 'end.' + a,
+ l;
+ return function () {
+ var u = ca(this, t),
+ h = u.on,
+ f = u.value[a] == null ? l || (l = JU(e)) : void 0;
+ (h !== r || i !== f) && (n = (r = h).copy()).on(s, (i = f)), (u.on = n);
+ };
+ }
+ function r8(t, e, r) {
+ var n = (t += '') == 'transform' ? OA : My;
+ return e == null
+ ? this.styleTween(t, T5e(t, n)).on('end.style.' + t, JU(t))
+ : typeof e == 'function'
+ ? this.styleTween(t, E5e(t, n, Ip(this, 'style.' + t, e))).each(C5e(this._id, t))
+ : this.styleTween(t, k5e(t, n, e), r).on('end.style.' + t, null);
+ }
+ var eH = R(() => {
+ 'use strict';
+ Np();
+ fl();
+ ys();
+ Ny();
+ VA();
+ o(T5e, 'styleNull');
+ o(JU, 'styleRemove');
+ o(k5e, 'styleConstant');
+ o(E5e, 'styleFunction');
+ o(C5e, 'styleMaybeRemove');
+ o(r8, 'default');
+ });
+ function S5e(t, e, r) {
+ return function (n) {
+ this.style.setProperty(t, e.call(this, n), r);
+ };
+ }
+ function A5e(t, e, r) {
+ var n, i;
+ function a() {
+ var s = e.apply(this, arguments);
+ return s !== i && (n = (i = s) && S5e(t, s, r)), n;
+ }
+ return o(a, 'tween'), (a._value = e), a;
+ }
+ function n8(t, e, r) {
+ var n = 'style.' + (t += '');
+ if (arguments.length < 2) return (n = this.tween(n)) && n._value;
+ if (e == null) return this.tween(n, null);
+ if (typeof e != 'function') throw new Error();
+ return this.tween(n, A5e(t, e, r ?? ''));
+ }
+ var tH = R(() => {
+ 'use strict';
+ o(S5e, 'styleInterpolate');
+ o(A5e, 'styleTween');
+ o(n8, 'default');
+ });
+ function _5e(t) {
+ return function () {
+ this.textContent = t;
+ };
+ }
+ function L5e(t) {
+ return function () {
+ var e = t(this);
+ this.textContent = e ?? '';
+ };
+ }
+ function i8(t) {
+ return this.tween('text', typeof t == 'function' ? L5e(Ip(this, 'text', t)) : _5e(t == null ? '' : t + ''));
+ }
+ var rH = R(() => {
+ 'use strict';
+ Ny();
+ o(_5e, 'textConstant');
+ o(L5e, 'textFunction');
+ o(i8, 'default');
+ });
+ function D5e(t) {
+ return function (e) {
+ this.textContent = t.call(this, e);
+ };
+ }
+ function R5e(t) {
+ var e, r;
+ function n() {
+ var i = t.apply(this, arguments);
+ return i !== r && (e = (r = i) && D5e(i)), e;
+ }
+ return o(n, 'tween'), (n._value = t), n;
+ }
+ function a8(t) {
+ var e = 'text';
+ if (arguments.length < 1) return (e = this.tween(e)) && e._value;
+ if (t == null) return this.tween(e, null);
+ if (typeof t != 'function') throw new Error();
+ return this.tween(e, R5e(t));
+ }
+ var nH = R(() => {
+ 'use strict';
+ o(D5e, 'textInterpolate');
+ o(R5e, 'textTween');
+ o(a8, 'default');
+ });
+ function s8() {
+ for (var t = this._name, e = this._id, r = o3(), n = this._groups, i = n.length, a = 0; a < i; ++a)
+ for (var s = n[a], l = s.length, u, h = 0; h < l; ++h)
+ if ((u = s[h])) {
+ var f = Mi(u, e);
+ fu(u, t, r, h, s, {
+ time: f.time + f.delay + f.duration,
+ delay: 0,
+ duration: f.duration,
+ ease: f.ease
+ });
+ }
+ return new Ka(n, this._parents, t, r);
+ }
+ var iH = R(() => {
+ 'use strict';
+ sd();
+ ys();
+ o(s8, 'default');
+ });
+ function o8() {
+ var t,
+ e,
+ r = this,
+ n = r._id,
+ i = r.size();
+ return new Promise(function (a, s) {
+ var l = { value: s },
+ u = {
+ value: o(function () {
+ --i === 0 && a();
+ }, 'value')
+ };
+ r.each(function () {
+ var h = ca(this, n),
+ f = h.on;
+ f !== t && ((e = (t = f).copy()), e._.cancel.push(l), e._.interrupt.push(l), e._.end.push(u)),
+ (h.on = e);
+ }),
+ i === 0 && a();
+ });
+ }
+ var aH = R(() => {
+ 'use strict';
+ ys();
+ o(o8, 'default');
+ });
+ function Ka(t, e, r, n) {
+ (this._groups = t), (this._parents = e), (this._name = r), (this._id = n);
+ }
+ function sH(t) {
+ return cu().transition(t);
+ }
+ function o3() {
+ return ++N5e;
+ }
+ var N5e,
+ du,
+ sd = R(() => {
+ 'use strict';
+ fl();
+ GU();
+ $U();
+ VU();
+ UU();
+ HU();
+ YU();
+ WU();
+ qU();
+ XU();
+ jU();
+ KU();
+ QU();
+ ZU();
+ eH();
+ tH();
+ rH();
+ nH();
+ iH();
+ Ny();
+ aH();
+ N5e = 0;
+ o(Ka, 'Transition');
+ o(sH, 'transition');
+ o(o3, 'newId');
+ du = cu.prototype;
+ Ka.prototype = sH.prototype = {
+ constructor: Ka,
+ select: JA,
+ selectAll: e8,
+ selectChild: du.selectChild,
+ selectChildren: du.selectChildren,
+ filter: jA,
+ merge: KA,
+ selection: t8,
+ transition: s8,
+ call: du.call,
+ nodes: du.nodes,
+ node: du.node,
+ size: du.size,
+ empty: du.empty,
+ each: du.each,
+ on: QA,
+ attr: UA,
+ attrTween: HA,
+ style: r8,
+ styleTween: n8,
+ text: i8,
+ textTween: a8,
+ remove: ZA,
+ tween: $A,
+ delay: YA,
+ duration: WA,
+ ease: qA,
+ easeVarying: XA,
+ end: o8,
+ [Symbol.iterator]: du[Symbol.iterator]
+ };
+ });
+ function l3(t) {
+ return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;
+ }
+ var oH = R(() => {
+ 'use strict';
+ o(l3, 'cubicInOut');
+ });
+ var l8 = R(() => {
+ 'use strict';
+ oH();
+ });
+ function I5e(t, e) {
+ for (var r; !(r = t.__transition) || !(r = r[e]); )
+ if (!(t = t.parentNode)) throw new Error(`transition ${e} not found`);
+ return r;
+ }
+ function c8(t) {
+ var e, r;
+ t instanceof Ka
+ ? ((e = t._id), (t = t._name))
+ : ((e = o3()), ((r = M5e).time = Ay()), (t = t == null ? null : t + ''));
+ for (var n = this._groups, i = n.length, a = 0; a < i; ++a)
+ for (var s = n[a], l = s.length, u, h = 0; h < l; ++h) (u = s[h]) && fu(u, t, e, h, s, r || I5e(u, e));
+ return new Ka(n, this._parents, t, e);
+ }
+ var M5e,
+ lH = R(() => {
+ 'use strict';
+ sd();
+ ys();
+ l8();
+ n3();
+ M5e = { time: null, delay: 0, duration: 250, ease: l3 };
+ o(I5e, 'inherit');
+ o(c8, 'default');
+ });
+ var cH = R(() => {
+ 'use strict';
+ fl();
+ zU();
+ lH();
+ cu.prototype.interrupt = GA;
+ cu.prototype.transition = c8;
+ });
+ var c3 = R(() => {
+ 'use strict';
+ cH();
+ });
+ var uH = R(() => {
+ 'use strict';
+ });
+ var hH = R(() => {
+ 'use strict';
+ });
+ var fH = R(() => {
+ 'use strict';
+ });
+ function dH(t) {
+ return [+t[0], +t[1]];
+ }
+ function O5e(t) {
+ return [dH(t[0]), dH(t[1])];
+ }
+ function u8(t) {
+ return { type: t };
+ }
+ var Kpt,
+ Qpt,
+ Zpt,
+ Jpt,
+ emt,
+ tmt,
+ pH = R(() => {
+ 'use strict';
+ c3();
+ uH();
+ hH();
+ fH();
+ ({ abs: Kpt, max: Qpt, min: Zpt } = Math);
+ o(dH, 'number1');
+ o(O5e, 'number2');
+ (Jpt = {
+ name: 'x',
+ handles: ['w', 'e'].map(u8),
+ input: o(function (t, e) {
+ return t == null
+ ? null
+ : [
+ [+t[0], e[0][1]],
+ [+t[1], e[1][1]]
+ ];
+ }, 'input'),
+ output: o(function (t) {
+ return t && [t[0][0], t[1][0]];
+ }, 'output')
+ }),
+ (emt = {
+ name: 'y',
+ handles: ['n', 's'].map(u8),
+ input: o(function (t, e) {
+ return t == null
+ ? null
+ : [
+ [e[0][0], +t[0]],
+ [e[1][0], +t[1]]
+ ];
+ }, 'input'),
+ output: o(function (t) {
+ return t && [t[0][1], t[1][1]];
+ }, 'output')
+ }),
+ (tmt = {
+ name: 'xy',
+ handles: ['n', 'w', 'e', 's', 'nw', 'ne', 'sw', 'se'].map(u8),
+ input: o(function (t) {
+ return t == null ? null : O5e(t);
+ }, 'input'),
+ output: o(function (t) {
+ return t;
+ }, 'output')
+ });
+ o(u8, 'type');
+ });
+ var mH = R(() => {
+ 'use strict';
+ pH();
+ });
+ function gH(t) {
+ this._ += t[0];
+ for (let e = 1, r = t.length; e < r; ++e) this._ += arguments[e] + t[e];
+ }
+ function B5e(t) {
+ let e = Math.floor(t);
+ if (!(e >= 0)) throw new Error(`invalid digits: ${t}`);
+ if (e > 15) return gH;
+ let r = 10 ** e;
+ return function (n) {
+ this._ += n[0];
+ for (let i = 1, a = n.length; i < a; ++i) this._ += Math.round(arguments[i] * r) / r + n[i];
+ };
+ }
+ function yH() {
+ return new ld();
+ }
+ var h8,
+ f8,
+ od,
+ P5e,
+ ld,
+ vH = R(() => {
+ 'use strict';
+ (h8 = Math.PI), (f8 = 2 * h8), (od = 1e-6), (P5e = f8 - od);
+ o(gH, 'append');
+ o(B5e, 'appendRound');
+ ld = class {
+ static {
+ o(this, 'Path');
+ }
+ constructor(e) {
+ (this._x0 = this._y0 = this._x1 = this._y1 = null),
+ (this._ = ''),
+ (this._append = e == null ? gH : B5e(e));
+ }
+ moveTo(e, r) {
+ this._append`M${(this._x0 = this._x1 = +e)},${(this._y0 = this._y1 = +r)}`;
+ }
+ closePath() {
+ this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), this._append`Z`);
+ }
+ lineTo(e, r) {
+ this._append`L${(this._x1 = +e)},${(this._y1 = +r)}`;
+ }
+ quadraticCurveTo(e, r, n, i) {
+ this._append`Q${+e},${+r},${(this._x1 = +n)},${(this._y1 = +i)}`;
+ }
+ bezierCurveTo(e, r, n, i, a, s) {
+ this._append`C${+e},${+r},${+n},${+i},${(this._x1 = +a)},${(this._y1 = +s)}`;
+ }
+ arcTo(e, r, n, i, a) {
+ if (((e = +e), (r = +r), (n = +n), (i = +i), (a = +a), a < 0))
+ throw new Error(`negative radius: ${a}`);
+ let s = this._x1,
+ l = this._y1,
+ u = n - e,
+ h = i - r,
+ f = s - e,
+ d = l - r,
+ p = f * f + d * d;
+ if (this._x1 === null) this._append`M${(this._x1 = e)},${(this._y1 = r)}`;
+ else if (p > od)
+ if (!(Math.abs(d * u - h * f) > od) || !a) this._append`L${(this._x1 = e)},${(this._y1 = r)}`;
+ else {
+ let m = n - s,
+ g = i - l,
+ y = u * u + h * h,
+ v = m * m + g * g,
+ x = Math.sqrt(y),
+ b = Math.sqrt(p),
+ w = a * Math.tan((h8 - Math.acos((y + p - v) / (2 * x * b))) / 2),
+ S = w / b,
+ T = w / x;
+ Math.abs(S - 1) > od && this._append`L${e + S * f},${r + S * d}`,
+ this._append`A${a},${a},0,0,${+(d * m > f * g)},${(this._x1 = e + T * u)},${(this._y1 =
+ r + T * h)}`;
+ }
+ }
+ arc(e, r, n, i, a, s) {
+ if (((e = +e), (r = +r), (n = +n), (s = !!s), n < 0)) throw new Error(`negative radius: ${n}`);
+ let l = n * Math.cos(i),
+ u = n * Math.sin(i),
+ h = e + l,
+ f = r + u,
+ d = 1 ^ s,
+ p = s ? i - a : a - i;
+ this._x1 === null
+ ? this._append`M${h},${f}`
+ : (Math.abs(this._x1 - h) > od || Math.abs(this._y1 - f) > od) && this._append`L${h},${f}`,
+ n &&
+ (p < 0 && (p = (p % f8) + f8),
+ p > P5e
+ ? this._append`A${n},${n},0,1,${d},${e - l},${r - u}A${n},${n},0,1,${d},${(this._x1 =
+ h)},${(this._y1 = f)}`
+ : p > od &&
+ this._append`A${n},${n},0,${+(p >= h8)},${d},${(this._x1 =
+ e + n * Math.cos(a))},${(this._y1 = r + n * Math.sin(a))}`);
+ }
+ rect(e, r, n, i) {
+ this._append`M${(this._x0 = this._x1 = +e)},${(this._y0 = this._y1 = +r)}h${(n = +n)}v${+i}h${-n}Z`;
+ }
+ toString() {
+ return this._;
+ }
+ };
+ o(yH, 'path');
+ yH.prototype = ld.prototype;
+ });
+ var d8 = R(() => {
+ 'use strict';
+ vH();
+ });
+ var xH = R(() => {
+ 'use strict';
+ });
+ var bH = R(() => {
+ 'use strict';
+ });
+ var wH = R(() => {
+ 'use strict';
+ });
+ var TH = R(() => {
+ 'use strict';
+ });
+ var kH = R(() => {
+ 'use strict';
+ });
+ var EH = R(() => {
+ 'use strict';
+ });
+ var CH = R(() => {
+ 'use strict';
+ });
+ function p8(t) {
+ return Math.abs((t = Math.round(t))) >= 1e21 ? t.toLocaleString('en').replace(/,/g, '') : t.toString(10);
+ }
+ function cd(t, e) {
+ if ((r = (t = e ? t.toExponential(e - 1) : t.toExponential()).indexOf('e')) < 0) return null;
+ var r,
+ n = t.slice(0, r);
+ return [n.length > 1 ? n[0] + n.slice(2) : n, +t.slice(r + 1)];
+ }
+ var Iy = R(() => {
+ 'use strict';
+ o(p8, 'default');
+ o(cd, 'formatDecimalParts');
+ });
+ function ml(t) {
+ return (t = cd(Math.abs(t))), t ? t[1] : NaN;
+ }
+ var Oy = R(() => {
+ 'use strict';
+ Iy();
+ o(ml, 'default');
+ });
+ function m8(t, e) {
+ return function (r, n) {
+ for (
+ var i = r.length, a = [], s = 0, l = t[0], u = 0;
+ i > 0 &&
+ l > 0 &&
+ (u + l + 1 > n && (l = Math.max(1, n - u)), a.push(r.substring((i -= l), i + l)), !((u += l + 1) > n));
+
+ )
+ l = t[(s = (s + 1) % t.length)];
+ return a.reverse().join(e);
+ };
+ }
+ var SH = R(() => {
+ 'use strict';
+ o(m8, 'default');
+ });
+ function g8(t) {
+ return function (e) {
+ return e.replace(/[0-9]/g, function (r) {
+ return t[+r];
+ });
+ };
+ }
+ var AH = R(() => {
+ 'use strict';
+ o(g8, 'default');
+ });
+ function Sh(t) {
+ if (!(e = F5e.exec(t))) throw new Error('invalid format: ' + t);
+ var e;
+ return new u3({
+ fill: e[1],
+ align: e[2],
+ sign: e[3],
+ symbol: e[4],
+ zero: e[5],
+ width: e[6],
+ comma: e[7],
+ precision: e[8] && e[8].slice(1),
+ trim: e[9],
+ type: e[10]
+ });
+ }
+ function u3(t) {
+ (this.fill = t.fill === void 0 ? ' ' : t.fill + ''),
+ (this.align = t.align === void 0 ? '>' : t.align + ''),
+ (this.sign = t.sign === void 0 ? '-' : t.sign + ''),
+ (this.symbol = t.symbol === void 0 ? '' : t.symbol + ''),
+ (this.zero = !!t.zero),
+ (this.width = t.width === void 0 ? void 0 : +t.width),
+ (this.comma = !!t.comma),
+ (this.precision = t.precision === void 0 ? void 0 : +t.precision),
+ (this.trim = !!t.trim),
+ (this.type = t.type === void 0 ? '' : t.type + '');
+ }
+ var F5e,
+ y8 = R(() => {
+ 'use strict';
+ F5e = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
+ o(Sh, 'formatSpecifier');
+ Sh.prototype = u3.prototype;
+ o(u3, 'FormatSpecifier');
+ u3.prototype.toString = function () {
+ return (
+ this.fill +
+ this.align +
+ this.sign +
+ this.symbol +
+ (this.zero ? '0' : '') +
+ (this.width === void 0 ? '' : Math.max(1, this.width | 0)) +
+ (this.comma ? ',' : '') +
+ (this.precision === void 0 ? '' : '.' + Math.max(0, this.precision | 0)) +
+ (this.trim ? '~' : '') +
+ this.type
+ );
+ };
+ });
+ function v8(t) {
+ e: for (var e = t.length, r = 1, n = -1, i; r < e; ++r)
+ switch (t[r]) {
+ case '.':
+ n = i = r;
+ break;
+ case '0':
+ n === 0 && (n = r), (i = r);
+ break;
+ default:
+ if (!+t[r]) break e;
+ n > 0 && (n = 0);
+ break;
+ }
+ return n > 0 ? t.slice(0, n) + t.slice(i + 1) : t;
+ }
+ var _H = R(() => {
+ 'use strict';
+ o(v8, 'default');
+ });
+ function b8(t, e) {
+ var r = cd(t, e);
+ if (!r) return t + '';
+ var n = r[0],
+ i = r[1],
+ a = i - (x8 = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1,
+ s = n.length;
+ return a === s
+ ? n
+ : a > s
+ ? n + new Array(a - s + 1).join('0')
+ : a > 0
+ ? n.slice(0, a) + '.' + n.slice(a)
+ : '0.' + new Array(1 - a).join('0') + cd(t, Math.max(0, e + a - 1))[0];
+ }
+ var x8,
+ w8 = R(() => {
+ 'use strict';
+ Iy();
+ o(b8, 'default');
+ });
+ function h3(t, e) {
+ var r = cd(t, e);
+ if (!r) return t + '';
+ var n = r[0],
+ i = r[1];
+ return i < 0
+ ? '0.' + new Array(-i).join('0') + n
+ : n.length > i + 1
+ ? n.slice(0, i + 1) + '.' + n.slice(i + 1)
+ : n + new Array(i - n.length + 2).join('0');
+ }
+ var LH = R(() => {
+ 'use strict';
+ Iy();
+ o(h3, 'default');
+ });
+ var T8,
+ DH = R(() => {
+ 'use strict';
+ Iy();
+ w8();
+ LH();
+ T8 = {
+ '%': o((t, e) => (t * 100).toFixed(e), '%'),
+ b: o((t) => Math.round(t).toString(2), 'b'),
+ c: o((t) => t + '', 'c'),
+ d: p8,
+ e: o((t, e) => t.toExponential(e), 'e'),
+ f: o((t, e) => t.toFixed(e), 'f'),
+ g: o((t, e) => t.toPrecision(e), 'g'),
+ o: o((t) => Math.round(t).toString(8), 'o'),
+ p: o((t, e) => h3(t * 100, e), 'p'),
+ r: h3,
+ s: b8,
+ X: o((t) => Math.round(t).toString(16).toUpperCase(), 'X'),
+ x: o((t) => Math.round(t).toString(16), 'x')
+ };
+ });
+ function f3(t) {
+ return t;
+ }
+ var RH = R(() => {
+ 'use strict';
+ o(f3, 'default');
+ });
+ function k8(t) {
+ var e =
+ t.grouping === void 0 || t.thousands === void 0
+ ? f3
+ : m8(NH.call(t.grouping, Number), t.thousands + ''),
+ r = t.currency === void 0 ? '' : t.currency[0] + '',
+ n = t.currency === void 0 ? '' : t.currency[1] + '',
+ i = t.decimal === void 0 ? '.' : t.decimal + '',
+ a = t.numerals === void 0 ? f3 : g8(NH.call(t.numerals, String)),
+ s = t.percent === void 0 ? '%' : t.percent + '',
+ l = t.minus === void 0 ? '\u2212' : t.minus + '',
+ u = t.nan === void 0 ? 'NaN' : t.nan + '';
+ function h(d) {
+ d = Sh(d);
+ var p = d.fill,
+ m = d.align,
+ g = d.sign,
+ y = d.symbol,
+ v = d.zero,
+ x = d.width,
+ b = d.comma,
+ w = d.precision,
+ S = d.trim,
+ T = d.type;
+ T === 'n' ? ((b = !0), (T = 'g')) : T8[T] || (w === void 0 && (w = 12), (S = !0), (T = 'g')),
+ (v || (p === '0' && m === '=')) && ((v = !0), (p = '0'), (m = '='));
+ var E = y === '$' ? r : y === '#' && /[boxX]/.test(T) ? '0' + T.toLowerCase() : '',
+ _ = y === '$' ? n : /[%p]/.test(T) ? s : '',
+ A = T8[T],
+ L = /[defgprs%]/.test(T);
+ w = w === void 0 ? 6 : /[gprs]/.test(T) ? Math.max(1, Math.min(21, w)) : Math.max(0, Math.min(20, w));
+ function M(N) {
+ var k = E,
+ I = _,
+ C,
+ O,
+ D;
+ if (T === 'c') (I = A(N) + I), (N = '');
+ else {
+ N = +N;
+ var P = N < 0 || 1 / N < 0;
+ if (
+ ((N = isNaN(N) ? u : A(Math.abs(N), w)),
+ S && (N = v8(N)),
+ P && +N == 0 && g !== '+' && (P = !1),
+ (k = (P ? (g === '(' ? g : l) : g === '-' || g === '(' ? '' : g) + k),
+ (I = (T === 's' ? MH[8 + x8 / 3] : '') + I + (P && g === '(' ? ')' : '')),
+ L)
+ ) {
+ for (C = -1, O = N.length; ++C < O; )
+ if (((D = N.charCodeAt(C)), 48 > D || D > 57)) {
+ (I = (D === 46 ? i + N.slice(C + 1) : N.slice(C)) + I), (N = N.slice(0, C));
+ break;
+ }
+ }
+ }
+ b && !v && (N = e(N, 1 / 0));
+ var F = k.length + N.length + I.length,
+ B = F < x ? new Array(x - F + 1).join(p) : '';
+ switch ((b && v && ((N = e(B + N, B.length ? x - I.length : 1 / 0)), (B = '')), m)) {
+ case '<':
+ N = k + N + I + B;
+ break;
+ case '=':
+ N = k + B + N + I;
+ break;
+ case '^':
+ N = B.slice(0, (F = B.length >> 1)) + k + N + I + B.slice(F);
+ break;
+ default:
+ N = B + k + N + I;
+ break;
+ }
+ return a(N);
+ }
+ return (
+ o(M, 'format'),
+ (M.toString = function () {
+ return d + '';
+ }),
+ M
+ );
+ }
+ o(h, 'newFormat');
+ function f(d, p) {
+ var m = h(((d = Sh(d)), (d.type = 'f'), d)),
+ g = Math.max(-8, Math.min(8, Math.floor(ml(p) / 3))) * 3,
+ y = Math.pow(10, -g),
+ v = MH[8 + g / 3];
+ return function (x) {
+ return m(y * x) + v;
+ };
+ }
+ return o(f, 'formatPrefix'), { format: h, formatPrefix: f };
+ }
+ var NH,
+ MH,
+ IH = R(() => {
+ 'use strict';
+ Oy();
+ SH();
+ AH();
+ y8();
+ _H();
+ DH();
+ w8();
+ RH();
+ (NH = Array.prototype.map),
+ (MH = ['y', 'z', 'a', 'f', 'p', 'n', '\xB5', 'm', '', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']);
+ o(k8, 'default');
+ });
+ function E8(t) {
+ return (d3 = k8(t)), (p3 = d3.format), (m3 = d3.formatPrefix), d3;
+ }
+ var d3,
+ p3,
+ m3,
+ OH = R(() => {
+ 'use strict';
+ IH();
+ E8({ thousands: ',', grouping: [3], currency: ['$', ''] });
+ o(E8, 'defaultLocale');
+ });
+ function g3(t) {
+ return Math.max(0, -ml(Math.abs(t)));
+ }
+ var PH = R(() => {
+ 'use strict';
+ Oy();
+ o(g3, 'default');
+ });
+ function y3(t, e) {
+ return Math.max(0, Math.max(-8, Math.min(8, Math.floor(ml(e) / 3))) * 3 - ml(Math.abs(t)));
+ }
+ var BH = R(() => {
+ 'use strict';
+ Oy();
+ o(y3, 'default');
+ });
+ function v3(t, e) {
+ return (t = Math.abs(t)), (e = Math.abs(e) - t), Math.max(0, ml(e) - ml(t)) + 1;
+ }
+ var FH = R(() => {
+ 'use strict';
+ Oy();
+ o(v3, 'default');
+ });
+ var C8 = R(() => {
+ 'use strict';
+ OH();
+ y8();
+ PH();
+ BH();
+ FH();
+ });
+ var zH = R(() => {
+ 'use strict';
+ });
+ var GH = R(() => {
+ 'use strict';
+ });
+ var $H = R(() => {
+ 'use strict';
+ });
+ var VH = R(() => {
+ 'use strict';
+ });
+ function Ah(t, e) {
+ switch (arguments.length) {
+ case 0:
+ break;
+ case 1:
+ this.range(t);
+ break;
+ default:
+ this.range(e).domain(t);
+ break;
+ }
+ return this;
+ }
+ var Py = R(() => {
+ 'use strict';
+ o(Ah, 'initRange');
+ });
+ function pu() {
+ var t = new wp(),
+ e = [],
+ r = [],
+ n = S8;
+ function i(a) {
+ let s = t.get(a);
+ if (s === void 0) {
+ if (n !== S8) return n;
+ t.set(a, (s = e.push(a) - 1));
+ }
+ return r[s % r.length];
+ }
+ return (
+ o(i, 'scale'),
+ (i.domain = function (a) {
+ if (!arguments.length) return e.slice();
+ (e = []), (t = new wp());
+ for (let s of a) t.has(s) || t.set(s, e.push(s) - 1);
+ return i;
+ }),
+ (i.range = function (a) {
+ return arguments.length ? ((r = Array.from(a)), i) : r.slice();
+ }),
+ (i.unknown = function (a) {
+ return arguments.length ? ((n = a), i) : n;
+ }),
+ (i.copy = function () {
+ return pu(e, r).unknown(n);
+ }),
+ Ah.apply(i, arguments),
+ i
+ );
+ }
+ var S8,
+ A8 = R(() => {
+ 'use strict';
+ bh();
+ Py();
+ S8 = Symbol('implicit');
+ o(pu, 'ordinal');
+ });
+ function Op() {
+ var t = pu().unknown(void 0),
+ e = t.domain,
+ r = t.range,
+ n = 0,
+ i = 1,
+ a,
+ s,
+ l = !1,
+ u = 0,
+ h = 0,
+ f = 0.5;
+ delete t.unknown;
+ function d() {
+ var p = e().length,
+ m = i < n,
+ g = m ? i : n,
+ y = m ? n : i;
+ (a = (y - g) / Math.max(1, p - u + h * 2)),
+ l && (a = Math.floor(a)),
+ (g += (y - g - a * (p - u)) * f),
+ (s = a * (1 - u)),
+ l && ((g = Math.round(g)), (s = Math.round(s)));
+ var v = O4(p).map(function (x) {
+ return g + a * x;
+ });
+ return r(m ? v.reverse() : v);
+ }
+ return (
+ o(d, 'rescale'),
+ (t.domain = function (p) {
+ return arguments.length ? (e(p), d()) : e();
+ }),
+ (t.range = function (p) {
+ return arguments.length ? (([n, i] = p), (n = +n), (i = +i), d()) : [n, i];
+ }),
+ (t.rangeRound = function (p) {
+ return ([n, i] = p), (n = +n), (i = +i), (l = !0), d();
+ }),
+ (t.bandwidth = function () {
+ return s;
+ }),
+ (t.step = function () {
+ return a;
+ }),
+ (t.round = function (p) {
+ return arguments.length ? ((l = !!p), d()) : l;
+ }),
+ (t.padding = function (p) {
+ return arguments.length ? ((u = Math.min(1, (h = +p))), d()) : u;
+ }),
+ (t.paddingInner = function (p) {
+ return arguments.length ? ((u = Math.min(1, p)), d()) : u;
+ }),
+ (t.paddingOuter = function (p) {
+ return arguments.length ? ((h = +p), d()) : h;
+ }),
+ (t.align = function (p) {
+ return arguments.length ? ((f = Math.max(0, Math.min(1, p))), d()) : f;
+ }),
+ (t.copy = function () {
+ return Op(e(), [n, i]).round(l).paddingInner(u).paddingOuter(h).align(f);
+ }),
+ Ah.apply(d(), arguments)
+ );
+ }
+ var UH = R(() => {
+ 'use strict';
+ bh();
+ Py();
+ A8();
+ o(Op, 'band');
+ });
+ function _8(t) {
+ return function () {
+ return t;
+ };
+ }
+ var HH = R(() => {
+ 'use strict';
+ o(_8, 'constants');
+ });
+ function L8(t) {
+ return +t;
+ }
+ var YH = R(() => {
+ 'use strict';
+ o(L8, 'number');
+ });
+ function Pp(t) {
+ return t;
+ }
+ function D8(t, e) {
+ return (e -= t = +t)
+ ? function (r) {
+ return (r - t) / e;
+ }
+ : _8(isNaN(e) ? NaN : 0.5);
+ }
+ function z5e(t, e) {
+ var r;
+ return (
+ t > e && ((r = t), (t = e), (e = r)),
+ function (n) {
+ return Math.max(t, Math.min(e, n));
+ }
+ );
+ }
+ function G5e(t, e, r) {
+ var n = t[0],
+ i = t[1],
+ a = e[0],
+ s = e[1];
+ return (
+ i < n ? ((n = D8(i, n)), (a = r(s, a))) : ((n = D8(n, i)), (a = r(a, s))),
+ function (l) {
+ return a(n(l));
+ }
+ );
+ }
+ function $5e(t, e, r) {
+ var n = Math.min(t.length, e.length) - 1,
+ i = new Array(n),
+ a = new Array(n),
+ s = -1;
+ for (t[n] < t[0] && ((t = t.slice().reverse()), (e = e.slice().reverse())); ++s < n; )
+ (i[s] = D8(t[s], t[s + 1])), (a[s] = r(e[s], e[s + 1]));
+ return function (l) {
+ var u = dS(t, l, 1, n) - 1;
+ return a[u](i[u](l));
+ };
+ }
+ function x3(t, e) {
+ return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown());
+ }
+ function V5e() {
+ var t = WH,
+ e = WH,
+ r = Ch,
+ n,
+ i,
+ a,
+ s = Pp,
+ l,
+ u,
+ h;
+ function f() {
+ var p = Math.min(t.length, e.length);
+ return s !== Pp && (s = z5e(t[0], t[p - 1])), (l = p > 2 ? $5e : G5e), (u = h = null), d;
+ }
+ o(f, 'rescale');
+ function d(p) {
+ return p == null || isNaN((p = +p)) ? a : (u || (u = l(t.map(n), e, r)))(n(s(p)));
+ }
+ return (
+ o(d, 'scale'),
+ (d.invert = function (p) {
+ return s(i((h || (h = l(e, t.map(n), ji)))(p)));
+ }),
+ (d.domain = function (p) {
+ return arguments.length ? ((t = Array.from(p, L8)), f()) : t.slice();
+ }),
+ (d.range = function (p) {
+ return arguments.length ? ((e = Array.from(p)), f()) : e.slice();
+ }),
+ (d.rangeRound = function (p) {
+ return (e = Array.from(p)), (r = j4), f();
+ }),
+ (d.clamp = function (p) {
+ return arguments.length ? ((s = p ? !0 : Pp), f()) : s !== Pp;
+ }),
+ (d.interpolate = function (p) {
+ return arguments.length ? ((r = p), f()) : r;
+ }),
+ (d.unknown = function (p) {
+ return arguments.length ? ((a = p), d) : a;
+ }),
+ function (p, m) {
+ return (n = p), (i = m), f();
+ }
+ );
+ }
+ function By() {
+ return V5e()(Pp, Pp);
+ }
+ var WH,
+ R8 = R(() => {
+ 'use strict';
+ bh();
+ Np();
+ HH();
+ YH();
+ WH = [0, 1];
+ o(Pp, 'identity');
+ o(D8, 'normalize');
+ o(z5e, 'clamper');
+ o(G5e, 'bimap');
+ o($5e, 'polymap');
+ o(x3, 'copy');
+ o(V5e, 'transformer');
+ o(By, 'continuous');
+ });
+ function N8(t, e, r, n) {
+ var i = Tp(t, e, r),
+ a;
+ switch (((n = Sh(n ?? ',f')), n.type)) {
+ case 's': {
+ var s = Math.max(Math.abs(t), Math.abs(e));
+ return n.precision == null && !isNaN((a = y3(i, s))) && (n.precision = a), m3(n, s);
+ }
+ case '':
+ case 'e':
+ case 'g':
+ case 'p':
+ case 'r': {
+ n.precision == null &&
+ !isNaN((a = v3(i, Math.max(Math.abs(t), Math.abs(e))))) &&
+ (n.precision = a - (n.type === 'e'));
+ break;
+ }
+ case 'f':
+ case '%': {
+ n.precision == null && !isNaN((a = g3(i))) && (n.precision = a - (n.type === '%') * 2);
+ break;
+ }
+ }
+ return p3(n);
+ }
+ var qH = R(() => {
+ 'use strict';
+ bh();
+ C8();
+ o(N8, 'tickFormat');
+ });
+ function U5e(t) {
+ var e = t.domain;
+ return (
+ (t.ticks = function (r) {
+ var n = e();
+ return N4(n[0], n[n.length - 1], r ?? 10);
+ }),
+ (t.tickFormat = function (r, n) {
+ var i = e();
+ return N8(i[0], i[i.length - 1], r ?? 10, n);
+ }),
+ (t.nice = function (r) {
+ r == null && (r = 10);
+ var n = e(),
+ i = 0,
+ a = n.length - 1,
+ s = n[i],
+ l = n[a],
+ u,
+ h,
+ f = 10;
+ for (l < s && ((h = s), (s = l), (l = h), (h = i), (i = a), (a = h)); f-- > 0; ) {
+ if (((h = fy(s, l, r)), h === u)) return (n[i] = s), (n[a] = l), e(n);
+ if (h > 0) (s = Math.floor(s / h) * h), (l = Math.ceil(l / h) * h);
+ else if (h < 0) (s = Math.ceil(s * h) / h), (l = Math.floor(l * h) / h);
+ else break;
+ u = h;
+ }
+ return t;
+ }),
+ t
+ );
+ }
+ function gl() {
+ var t = By();
+ return (
+ (t.copy = function () {
+ return x3(t, gl());
+ }),
+ Ah.apply(t, arguments),
+ U5e(t)
+ );
+ }
+ var XH = R(() => {
+ 'use strict';
+ bh();
+ R8();
+ Py();
+ qH();
+ o(U5e, 'linearish');
+ o(gl, 'linear');
+ });
+ function M8(t, e) {
+ t = t.slice();
+ var r = 0,
+ n = t.length - 1,
+ i = t[r],
+ a = t[n],
+ s;
+ return (
+ a < i && ((s = r), (r = n), (n = s), (s = i), (i = a), (a = s)), (t[r] = e.floor(i)), (t[n] = e.ceil(a)), t
+ );
+ }
+ var jH = R(() => {
+ 'use strict';
+ o(M8, 'nice');
+ });
+ function dn(t, e, r, n) {
+ function i(a) {
+ return t((a = arguments.length === 0 ? new Date() : new Date(+a))), a;
+ }
+ return (
+ o(i, 'interval'),
+ (i.floor = (a) => (t((a = new Date(+a))), a)),
+ (i.ceil = (a) => (t((a = new Date(a - 1))), e(a, 1), t(a), a)),
+ (i.round = (a) => {
+ let s = i(a),
+ l = i.ceil(a);
+ return a - s < l - a ? s : l;
+ }),
+ (i.offset = (a, s) => (e((a = new Date(+a)), s == null ? 1 : Math.floor(s)), a)),
+ (i.range = (a, s, l) => {
+ let u = [];
+ if (((a = i.ceil(a)), (l = l == null ? 1 : Math.floor(l)), !(a < s) || !(l > 0))) return u;
+ let h;
+ do u.push((h = new Date(+a))), e(a, l), t(a);
+ while (h < a && a < s);
+ return u;
+ }),
+ (i.filter = (a) =>
+ dn(
+ (s) => {
+ if (s >= s) for (; t(s), !a(s); ) s.setTime(s - 1);
+ },
+ (s, l) => {
+ if (s >= s)
+ if (l < 0) for (; ++l <= 0; ) for (; e(s, -1), !a(s); );
+ else for (; --l >= 0; ) for (; e(s, 1), !a(s); );
+ }
+ )),
+ r &&
+ ((i.count = (a, s) => (I8.setTime(+a), O8.setTime(+s), t(I8), t(O8), Math.floor(r(I8, O8)))),
+ (i.every = (a) => (
+ (a = Math.floor(a)),
+ !isFinite(a) || !(a > 0)
+ ? null
+ : a > 1
+ ? i.filter(n ? (s) => n(s) % a === 0 : (s) => i.count(0, s) % a === 0)
+ : i
+ ))),
+ i
+ );
+ }
+ var I8,
+ O8,
+ mu = R(() => {
+ 'use strict';
+ (I8 = new Date()), (O8 = new Date());
+ o(dn, 'timeInterval');
+ });
+ var oc,
+ KH,
+ P8 = R(() => {
+ 'use strict';
+ mu();
+ oc = dn(
+ () => {},
+ (t, e) => {
+ t.setTime(+t + e);
+ },
+ (t, e) => e - t
+ );
+ oc.every = (t) => (
+ (t = Math.floor(t)),
+ !isFinite(t) || !(t > 0)
+ ? null
+ : t > 1
+ ? dn(
+ (e) => {
+ e.setTime(Math.floor(e / t) * t);
+ },
+ (e, r) => {
+ e.setTime(+e + r * t);
+ },
+ (e, r) => (r - e) / t
+ )
+ : oc
+ );
+ KH = oc.range;
+ });
+ var Ks,
+ QH,
+ B8 = R(() => {
+ 'use strict';
+ mu();
+ (Ks = dn(
+ (t) => {
+ t.setTime(t - t.getMilliseconds());
+ },
+ (t, e) => {
+ t.setTime(+t + e * 1e3);
+ },
+ (t, e) => (e - t) / 1e3,
+ (t) => t.getUTCSeconds()
+ )),
+ (QH = Ks.range);
+ });
+ var gu,
+ H5e,
+ b3,
+ Y5e,
+ F8 = R(() => {
+ 'use strict';
+ mu();
+ (gu = dn(
+ (t) => {
+ t.setTime(t - t.getMilliseconds() - t.getSeconds() * 1e3);
+ },
+ (t, e) => {
+ t.setTime(+t + e * 6e4);
+ },
+ (t, e) => (e - t) / 6e4,
+ (t) => t.getMinutes()
+ )),
+ (H5e = gu.range),
+ (b3 = dn(
+ (t) => {
+ t.setUTCSeconds(0, 0);
+ },
+ (t, e) => {
+ t.setTime(+t + e * 6e4);
+ },
+ (t, e) => (e - t) / 6e4,
+ (t) => t.getUTCMinutes()
+ )),
+ (Y5e = b3.range);
+ });
+ var yu,
+ W5e,
+ w3,
+ q5e,
+ z8 = R(() => {
+ 'use strict';
+ mu();
+ (yu = dn(
+ (t) => {
+ t.setTime(t - t.getMilliseconds() - t.getSeconds() * 1e3 - t.getMinutes() * 6e4);
+ },
+ (t, e) => {
+ t.setTime(+t + e * 36e5);
+ },
+ (t, e) => (e - t) / 36e5,
+ (t) => t.getHours()
+ )),
+ (W5e = yu.range),
+ (w3 = dn(
+ (t) => {
+ t.setUTCMinutes(0, 0, 0);
+ },
+ (t, e) => {
+ t.setTime(+t + e * 36e5);
+ },
+ (t, e) => (e - t) / 36e5,
+ (t) => t.getUTCHours()
+ )),
+ (q5e = w3.range);
+ });
+ var Do,
+ X5e,
+ zy,
+ j5e,
+ T3,
+ K5e,
+ G8 = R(() => {
+ 'use strict';
+ mu();
+ (Do = dn(
+ (t) => t.setHours(0, 0, 0, 0),
+ (t, e) => t.setDate(t.getDate() + e),
+ (t, e) => (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * 6e4) / 864e5,
+ (t) => t.getDate() - 1
+ )),
+ (X5e = Do.range),
+ (zy = dn(
+ (t) => {
+ t.setUTCHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setUTCDate(t.getUTCDate() + e);
+ },
+ (t, e) => (e - t) / 864e5,
+ (t) => t.getUTCDate() - 1
+ )),
+ (j5e = zy.range),
+ (T3 = dn(
+ (t) => {
+ t.setUTCHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setUTCDate(t.getUTCDate() + e);
+ },
+ (t, e) => (e - t) / 864e5,
+ (t) => Math.floor(t / 864e5)
+ )),
+ (K5e = T3.range);
+ });
+ function fd(t) {
+ return dn(
+ (e) => {
+ e.setDate(e.getDate() - ((e.getDay() + 7 - t) % 7)), e.setHours(0, 0, 0, 0);
+ },
+ (e, r) => {
+ e.setDate(e.getDate() + r * 7);
+ },
+ (e, r) => (r - e - (r.getTimezoneOffset() - e.getTimezoneOffset()) * 6e4) / 6048e5
+ );
+ }
+ function dd(t) {
+ return dn(
+ (e) => {
+ e.setUTCDate(e.getUTCDate() - ((e.getUTCDay() + 7 - t) % 7)), e.setUTCHours(0, 0, 0, 0);
+ },
+ (e, r) => {
+ e.setUTCDate(e.getUTCDate() + r * 7);
+ },
+ (e, r) => (r - e) / 6048e5
+ );
+ }
+ var yl,
+ _h,
+ k3,
+ E3,
+ cc,
+ C3,
+ S3,
+ JH,
+ Q5e,
+ Z5e,
+ J5e,
+ ewe,
+ twe,
+ rwe,
+ pd,
+ Bp,
+ eY,
+ tY,
+ Lh,
+ rY,
+ nY,
+ iY,
+ nwe,
+ iwe,
+ awe,
+ swe,
+ owe,
+ lwe,
+ $8 = R(() => {
+ 'use strict';
+ mu();
+ o(fd, 'timeWeekday');
+ (yl = fd(0)),
+ (_h = fd(1)),
+ (k3 = fd(2)),
+ (E3 = fd(3)),
+ (cc = fd(4)),
+ (C3 = fd(5)),
+ (S3 = fd(6)),
+ (JH = yl.range),
+ (Q5e = _h.range),
+ (Z5e = k3.range),
+ (J5e = E3.range),
+ (ewe = cc.range),
+ (twe = C3.range),
+ (rwe = S3.range);
+ o(dd, 'utcWeekday');
+ (pd = dd(0)),
+ (Bp = dd(1)),
+ (eY = dd(2)),
+ (tY = dd(3)),
+ (Lh = dd(4)),
+ (rY = dd(5)),
+ (nY = dd(6)),
+ (iY = pd.range),
+ (nwe = Bp.range),
+ (iwe = eY.range),
+ (awe = tY.range),
+ (swe = Lh.range),
+ (owe = rY.range),
+ (lwe = nY.range);
+ });
+ var vu,
+ cwe,
+ A3,
+ uwe,
+ V8 = R(() => {
+ 'use strict';
+ mu();
+ (vu = dn(
+ (t) => {
+ t.setDate(1), t.setHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setMonth(t.getMonth() + e);
+ },
+ (t, e) => e.getMonth() - t.getMonth() + (e.getFullYear() - t.getFullYear()) * 12,
+ (t) => t.getMonth()
+ )),
+ (cwe = vu.range),
+ (A3 = dn(
+ (t) => {
+ t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setUTCMonth(t.getUTCMonth() + e);
+ },
+ (t, e) => e.getUTCMonth() - t.getUTCMonth() + (e.getUTCFullYear() - t.getUTCFullYear()) * 12,
+ (t) => t.getUTCMonth()
+ )),
+ (uwe = A3.range);
+ });
+ var Qs,
+ hwe,
+ vl,
+ fwe,
+ U8 = R(() => {
+ 'use strict';
+ mu();
+ Qs = dn(
+ (t) => {
+ t.setMonth(0, 1), t.setHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setFullYear(t.getFullYear() + e);
+ },
+ (t, e) => e.getFullYear() - t.getFullYear(),
+ (t) => t.getFullYear()
+ );
+ Qs.every = (t) =>
+ !isFinite((t = Math.floor(t))) || !(t > 0)
+ ? null
+ : dn(
+ (e) => {
+ e.setFullYear(Math.floor(e.getFullYear() / t) * t),
+ e.setMonth(0, 1),
+ e.setHours(0, 0, 0, 0);
+ },
+ (e, r) => {
+ e.setFullYear(e.getFullYear() + r * t);
+ }
+ );
+ (hwe = Qs.range),
+ (vl = dn(
+ (t) => {
+ t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setUTCFullYear(t.getUTCFullYear() + e);
+ },
+ (t, e) => e.getUTCFullYear() - t.getUTCFullYear(),
+ (t) => t.getUTCFullYear()
+ ));
+ vl.every = (t) =>
+ !isFinite((t = Math.floor(t))) || !(t > 0)
+ ? null
+ : dn(
+ (e) => {
+ e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t),
+ e.setUTCMonth(0, 1),
+ e.setUTCHours(0, 0, 0, 0);
+ },
+ (e, r) => {
+ e.setUTCFullYear(e.getUTCFullYear() + r * t);
+ }
+ );
+ fwe = vl.range;
+ });
+ function sY(t, e, r, n, i, a) {
+ let s = [
+ [Ks, 1, 1e3],
+ [Ks, 5, 5 * 1e3],
+ [Ks, 15, 15 * 1e3],
+ [Ks, 30, 30 * 1e3],
+ [a, 1, 6e4],
+ [a, 5, 5 * 6e4],
+ [a, 15, 15 * 6e4],
+ [a, 30, 30 * 6e4],
+ [i, 1, 36e5],
+ [i, 3, 3 * 36e5],
+ [i, 6, 6 * 36e5],
+ [i, 12, 12 * 36e5],
+ [n, 1, 864e5],
+ [n, 2, 2 * 864e5],
+ [r, 1, 6048e5],
+ [e, 1, 2592e6],
+ [e, 3, 3 * 2592e6],
+ [t, 1, 31536e6]
+ ];
+ function l(h, f, d) {
+ let p = f < h;
+ p && ([h, f] = [f, h]);
+ let m = d && typeof d.range == 'function' ? d : u(h, f, d),
+ g = m ? m.range(h, +f + 1) : [];
+ return p ? g.reverse() : g;
+ }
+ o(l, 'ticks');
+ function u(h, f, d) {
+ let p = Math.abs(f - h) / d,
+ m = td(([, , v]) => v).right(s, p);
+ if (m === s.length) return t.every(Tp(h / 31536e6, f / 31536e6, d));
+ if (m === 0) return oc.every(Math.max(Tp(h, f, d), 1));
+ let [g, y] = s[p / s[m - 1][2] < s[m][2] / p ? m - 1 : m];
+ return g.every(y);
+ }
+ return o(u, 'tickInterval'), [l, u];
+ }
+ var pwe,
+ mwe,
+ H8,
+ Y8,
+ oY = R(() => {
+ 'use strict';
+ bh();
+ P8();
+ B8();
+ F8();
+ z8();
+ G8();
+ $8();
+ V8();
+ U8();
+ o(sY, 'ticker');
+ ([pwe, mwe] = sY(vl, A3, pd, T3, w3, b3)), ([H8, Y8] = sY(Qs, vu, yl, Do, yu, gu));
+ });
+ var _3 = R(() => {
+ 'use strict';
+ P8();
+ B8();
+ F8();
+ z8();
+ G8();
+ $8();
+ V8();
+ U8();
+ oY();
+ });
+ function W8(t) {
+ if (0 <= t.y && t.y < 100) {
+ var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L);
+ return e.setFullYear(t.y), e;
+ }
+ return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L);
+ }
+ function q8(t) {
+ if (0 <= t.y && t.y < 100) {
+ var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L));
+ return e.setUTCFullYear(t.y), e;
+ }
+ return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L));
+ }
+ function Gy(t, e, r) {
+ return { y: t, m: e, d: r, H: 0, M: 0, S: 0, L: 0 };
+ }
+ function X8(t) {
+ var e = t.dateTime,
+ r = t.date,
+ n = t.time,
+ i = t.periods,
+ a = t.days,
+ s = t.shortDays,
+ l = t.months,
+ u = t.shortMonths,
+ h = $y(i),
+ f = Vy(i),
+ d = $y(a),
+ p = Vy(a),
+ m = $y(s),
+ g = Vy(s),
+ y = $y(l),
+ v = Vy(l),
+ x = $y(u),
+ b = Vy(u),
+ w = {
+ a: P,
+ A: F,
+ b: B,
+ B: $,
+ c: null,
+ d: dY,
+ e: dY,
+ f: Fwe,
+ g: Xwe,
+ G: Kwe,
+ H: Owe,
+ I: Pwe,
+ j: Bwe,
+ L: vY,
+ m: zwe,
+ M: Gwe,
+ p: z,
+ q: Y,
+ Q: gY,
+ s: yY,
+ S: $we,
+ u: Vwe,
+ U: Uwe,
+ V: Hwe,
+ w: Ywe,
+ W: Wwe,
+ x: null,
+ X: null,
+ y: qwe,
+ Y: jwe,
+ Z: Qwe,
+ '%': mY
+ },
+ S = {
+ a: Q,
+ A: X,
+ b: ie,
+ B: j,
+ c: null,
+ d: pY,
+ e: pY,
+ f: tTe,
+ g: hTe,
+ G: dTe,
+ H: Zwe,
+ I: Jwe,
+ j: eTe,
+ L: bY,
+ m: rTe,
+ M: nTe,
+ p: J,
+ q: Z,
+ Q: gY,
+ s: yY,
+ S: iTe,
+ u: aTe,
+ U: sTe,
+ V: oTe,
+ w: lTe,
+ W: cTe,
+ x: null,
+ X: null,
+ y: uTe,
+ Y: fTe,
+ Z: pTe,
+ '%': mY
+ },
+ T = {
+ a: M,
+ A: N,
+ b: k,
+ B: I,
+ c: C,
+ d: hY,
+ e: hY,
+ f: Rwe,
+ g: uY,
+ G: cY,
+ H: fY,
+ I: fY,
+ j: Awe,
+ L: Dwe,
+ m: Swe,
+ M: _we,
+ p: L,
+ q: Cwe,
+ Q: Mwe,
+ s: Iwe,
+ S: Lwe,
+ u: bwe,
+ U: wwe,
+ V: Twe,
+ w: xwe,
+ W: kwe,
+ x: O,
+ X: D,
+ y: uY,
+ Y: cY,
+ Z: Ewe,
+ '%': Nwe
+ };
+ (w.x = E(r, w)), (w.X = E(n, w)), (w.c = E(e, w)), (S.x = E(r, S)), (S.X = E(n, S)), (S.c = E(e, S));
+ function E(H, q) {
+ return function (K) {
+ var se = [],
+ ce = -1,
+ ue = 0,
+ te = H.length,
+ De,
+ oe,
+ ke;
+ for (K instanceof Date || (K = new Date(+K)); ++ce < te; )
+ H.charCodeAt(ce) === 37 &&
+ (se.push(H.slice(ue, ce)),
+ (oe = lY[(De = H.charAt(++ce))]) != null
+ ? (De = H.charAt(++ce))
+ : (oe = De === 'e' ? ' ' : '0'),
+ (ke = q[De]) && (De = ke(K, oe)),
+ se.push(De),
+ (ue = ce + 1));
+ return se.push(H.slice(ue, ce)), se.join('');
+ };
+ }
+ o(E, 'newFormat');
+ function _(H, q) {
+ return function (K) {
+ var se = Gy(1900, void 0, 1),
+ ce = A(se, H, (K += ''), 0),
+ ue,
+ te;
+ if (ce != K.length) return null;
+ if ('Q' in se) return new Date(se.Q);
+ if ('s' in se) return new Date(se.s * 1e3 + ('L' in se ? se.L : 0));
+ if (
+ (q && !('Z' in se) && (se.Z = 0),
+ 'p' in se && (se.H = (se.H % 12) + se.p * 12),
+ se.m === void 0 && (se.m = 'q' in se ? se.q : 0),
+ 'V' in se)
+ ) {
+ if (se.V < 1 || se.V > 53) return null;
+ 'w' in se || (se.w = 1),
+ 'Z' in se
+ ? ((ue = q8(Gy(se.y, 0, 1))),
+ (te = ue.getUTCDay()),
+ (ue = te > 4 || te === 0 ? Bp.ceil(ue) : Bp(ue)),
+ (ue = zy.offset(ue, (se.V - 1) * 7)),
+ (se.y = ue.getUTCFullYear()),
+ (se.m = ue.getUTCMonth()),
+ (se.d = ue.getUTCDate() + ((se.w + 6) % 7)))
+ : ((ue = W8(Gy(se.y, 0, 1))),
+ (te = ue.getDay()),
+ (ue = te > 4 || te === 0 ? _h.ceil(ue) : _h(ue)),
+ (ue = Do.offset(ue, (se.V - 1) * 7)),
+ (se.y = ue.getFullYear()),
+ (se.m = ue.getMonth()),
+ (se.d = ue.getDate() + ((se.w + 6) % 7)));
+ } else
+ ('W' in se || 'U' in se) &&
+ ('w' in se || (se.w = 'u' in se ? se.u % 7 : 'W' in se ? 1 : 0),
+ (te = 'Z' in se ? q8(Gy(se.y, 0, 1)).getUTCDay() : W8(Gy(se.y, 0, 1)).getDay()),
+ (se.m = 0),
+ (se.d =
+ 'W' in se
+ ? ((se.w + 6) % 7) + se.W * 7 - ((te + 5) % 7)
+ : se.w + se.U * 7 - ((te + 6) % 7)));
+ return 'Z' in se ? ((se.H += (se.Z / 100) | 0), (se.M += se.Z % 100), q8(se)) : W8(se);
+ };
+ }
+ o(_, 'newParse');
+ function A(H, q, K, se) {
+ for (var ce = 0, ue = q.length, te = K.length, De, oe; ce < ue; ) {
+ if (se >= te) return -1;
+ if (((De = q.charCodeAt(ce++)), De === 37)) {
+ if (
+ ((De = q.charAt(ce++)),
+ (oe = T[De in lY ? q.charAt(ce++) : De]),
+ !oe || (se = oe(H, K, se)) < 0)
+ )
+ return -1;
+ } else if (De != K.charCodeAt(se++)) return -1;
+ }
+ return se;
+ }
+ o(A, 'parseSpecifier');
+ function L(H, q, K) {
+ var se = h.exec(q.slice(K));
+ return se ? ((H.p = f.get(se[0].toLowerCase())), K + se[0].length) : -1;
+ }
+ o(L, 'parsePeriod');
+ function M(H, q, K) {
+ var se = m.exec(q.slice(K));
+ return se ? ((H.w = g.get(se[0].toLowerCase())), K + se[0].length) : -1;
+ }
+ o(M, 'parseShortWeekday');
+ function N(H, q, K) {
+ var se = d.exec(q.slice(K));
+ return se ? ((H.w = p.get(se[0].toLowerCase())), K + se[0].length) : -1;
+ }
+ o(N, 'parseWeekday');
+ function k(H, q, K) {
+ var se = x.exec(q.slice(K));
+ return se ? ((H.m = b.get(se[0].toLowerCase())), K + se[0].length) : -1;
+ }
+ o(k, 'parseShortMonth');
+ function I(H, q, K) {
+ var se = y.exec(q.slice(K));
+ return se ? ((H.m = v.get(se[0].toLowerCase())), K + se[0].length) : -1;
+ }
+ o(I, 'parseMonth');
+ function C(H, q, K) {
+ return A(H, e, q, K);
+ }
+ o(C, 'parseLocaleDateTime');
+ function O(H, q, K) {
+ return A(H, r, q, K);
+ }
+ o(O, 'parseLocaleDate');
+ function D(H, q, K) {
+ return A(H, n, q, K);
+ }
+ o(D, 'parseLocaleTime');
+ function P(H) {
+ return s[H.getDay()];
+ }
+ o(P, 'formatShortWeekday');
+ function F(H) {
+ return a[H.getDay()];
+ }
+ o(F, 'formatWeekday');
+ function B(H) {
+ return u[H.getMonth()];
+ }
+ o(B, 'formatShortMonth');
+ function $(H) {
+ return l[H.getMonth()];
+ }
+ o($, 'formatMonth');
+ function z(H) {
+ return i[+(H.getHours() >= 12)];
+ }
+ o(z, 'formatPeriod');
+ function Y(H) {
+ return 1 + ~~(H.getMonth() / 3);
+ }
+ o(Y, 'formatQuarter');
+ function Q(H) {
+ return s[H.getUTCDay()];
+ }
+ o(Q, 'formatUTCShortWeekday');
+ function X(H) {
+ return a[H.getUTCDay()];
+ }
+ o(X, 'formatUTCWeekday');
+ function ie(H) {
+ return u[H.getUTCMonth()];
+ }
+ o(ie, 'formatUTCShortMonth');
+ function j(H) {
+ return l[H.getUTCMonth()];
+ }
+ o(j, 'formatUTCMonth');
+ function J(H) {
+ return i[+(H.getUTCHours() >= 12)];
+ }
+ o(J, 'formatUTCPeriod');
+ function Z(H) {
+ return 1 + ~~(H.getUTCMonth() / 3);
+ }
+ return (
+ o(Z, 'formatUTCQuarter'),
+ {
+ format: o(function (H) {
+ var q = E((H += ''), w);
+ return (
+ (q.toString = function () {
+ return H;
+ }),
+ q
+ );
+ }, 'format'),
+ parse: o(function (H) {
+ var q = _((H += ''), !1);
+ return (
+ (q.toString = function () {
+ return H;
+ }),
+ q
+ );
+ }, 'parse'),
+ utcFormat: o(function (H) {
+ var q = E((H += ''), S);
+ return (
+ (q.toString = function () {
+ return H;
+ }),
+ q
+ );
+ }, 'utcFormat'),
+ utcParse: o(function (H) {
+ var q = _((H += ''), !0);
+ return (
+ (q.toString = function () {
+ return H;
+ }),
+ q
+ );
+ }, 'utcParse')
+ }
+ );
+ }
+ function Pr(t, e, r) {
+ var n = t < 0 ? '-' : '',
+ i = (n ? -t : t) + '',
+ a = i.length;
+ return n + (a < r ? new Array(r - a + 1).join(e) + i : i);
+ }
+ function vwe(t) {
+ return t.replace(ywe, '\\$&');
+ }
+ function $y(t) {
+ return new RegExp('^(?:' + t.map(vwe).join('|') + ')', 'i');
+ }
+ function Vy(t) {
+ return new Map(t.map((e, r) => [e.toLowerCase(), r]));
+ }
+ function xwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 1));
+ return n ? ((t.w = +n[0]), r + n[0].length) : -1;
+ }
+ function bwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 1));
+ return n ? ((t.u = +n[0]), r + n[0].length) : -1;
+ }
+ function wwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.U = +n[0]), r + n[0].length) : -1;
+ }
+ function Twe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.V = +n[0]), r + n[0].length) : -1;
+ }
+ function kwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.W = +n[0]), r + n[0].length) : -1;
+ }
+ function cY(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 4));
+ return n ? ((t.y = +n[0]), r + n[0].length) : -1;
+ }
+ function uY(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3)), r + n[0].length) : -1;
+ }
+ function Ewe(t, e, r) {
+ var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r, r + 6));
+ return n ? ((t.Z = n[1] ? 0 : -(n[2] + (n[3] || '00'))), r + n[0].length) : -1;
+ }
+ function Cwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 1));
+ return n ? ((t.q = n[0] * 3 - 3), r + n[0].length) : -1;
+ }
+ function Swe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.m = n[0] - 1), r + n[0].length) : -1;
+ }
+ function hY(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.d = +n[0]), r + n[0].length) : -1;
+ }
+ function Awe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 3));
+ return n ? ((t.m = 0), (t.d = +n[0]), r + n[0].length) : -1;
+ }
+ function fY(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.H = +n[0]), r + n[0].length) : -1;
+ }
+ function _we(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.M = +n[0]), r + n[0].length) : -1;
+ }
+ function Lwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.S = +n[0]), r + n[0].length) : -1;
+ }
+ function Dwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 3));
+ return n ? ((t.L = +n[0]), r + n[0].length) : -1;
+ }
+ function Rwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 6));
+ return n ? ((t.L = Math.floor(n[0] / 1e3)), r + n[0].length) : -1;
+ }
+ function Nwe(t, e, r) {
+ var n = gwe.exec(e.slice(r, r + 1));
+ return n ? r + n[0].length : -1;
+ }
+ function Mwe(t, e, r) {
+ var n = Ki.exec(e.slice(r));
+ return n ? ((t.Q = +n[0]), r + n[0].length) : -1;
+ }
+ function Iwe(t, e, r) {
+ var n = Ki.exec(e.slice(r));
+ return n ? ((t.s = +n[0]), r + n[0].length) : -1;
+ }
+ function dY(t, e) {
+ return Pr(t.getDate(), e, 2);
+ }
+ function Owe(t, e) {
+ return Pr(t.getHours(), e, 2);
+ }
+ function Pwe(t, e) {
+ return Pr(t.getHours() % 12 || 12, e, 2);
+ }
+ function Bwe(t, e) {
+ return Pr(1 + Do.count(Qs(t), t), e, 3);
+ }
+ function vY(t, e) {
+ return Pr(t.getMilliseconds(), e, 3);
+ }
+ function Fwe(t, e) {
+ return vY(t, e) + '000';
+ }
+ function zwe(t, e) {
+ return Pr(t.getMonth() + 1, e, 2);
+ }
+ function Gwe(t, e) {
+ return Pr(t.getMinutes(), e, 2);
+ }
+ function $we(t, e) {
+ return Pr(t.getSeconds(), e, 2);
+ }
+ function Vwe(t) {
+ var e = t.getDay();
+ return e === 0 ? 7 : e;
+ }
+ function Uwe(t, e) {
+ return Pr(yl.count(Qs(t) - 1, t), e, 2);
+ }
+ function xY(t) {
+ var e = t.getDay();
+ return e >= 4 || e === 0 ? cc(t) : cc.ceil(t);
+ }
+ function Hwe(t, e) {
+ return (t = xY(t)), Pr(cc.count(Qs(t), t) + (Qs(t).getDay() === 4), e, 2);
+ }
+ function Ywe(t) {
+ return t.getDay();
+ }
+ function Wwe(t, e) {
+ return Pr(_h.count(Qs(t) - 1, t), e, 2);
+ }
+ function qwe(t, e) {
+ return Pr(t.getFullYear() % 100, e, 2);
+ }
+ function Xwe(t, e) {
+ return (t = xY(t)), Pr(t.getFullYear() % 100, e, 2);
+ }
+ function jwe(t, e) {
+ return Pr(t.getFullYear() % 1e4, e, 4);
+ }
+ function Kwe(t, e) {
+ var r = t.getDay();
+ return (t = r >= 4 || r === 0 ? cc(t) : cc.ceil(t)), Pr(t.getFullYear() % 1e4, e, 4);
+ }
+ function Qwe(t) {
+ var e = t.getTimezoneOffset();
+ return (e > 0 ? '-' : ((e *= -1), '+')) + Pr((e / 60) | 0, '0', 2) + Pr(e % 60, '0', 2);
+ }
+ function pY(t, e) {
+ return Pr(t.getUTCDate(), e, 2);
+ }
+ function Zwe(t, e) {
+ return Pr(t.getUTCHours(), e, 2);
+ }
+ function Jwe(t, e) {
+ return Pr(t.getUTCHours() % 12 || 12, e, 2);
+ }
+ function eTe(t, e) {
+ return Pr(1 + zy.count(vl(t), t), e, 3);
+ }
+ function bY(t, e) {
+ return Pr(t.getUTCMilliseconds(), e, 3);
+ }
+ function tTe(t, e) {
+ return bY(t, e) + '000';
+ }
+ function rTe(t, e) {
+ return Pr(t.getUTCMonth() + 1, e, 2);
+ }
+ function nTe(t, e) {
+ return Pr(t.getUTCMinutes(), e, 2);
+ }
+ function iTe(t, e) {
+ return Pr(t.getUTCSeconds(), e, 2);
+ }
+ function aTe(t) {
+ var e = t.getUTCDay();
+ return e === 0 ? 7 : e;
+ }
+ function sTe(t, e) {
+ return Pr(pd.count(vl(t) - 1, t), e, 2);
+ }
+ function wY(t) {
+ var e = t.getUTCDay();
+ return e >= 4 || e === 0 ? Lh(t) : Lh.ceil(t);
+ }
+ function oTe(t, e) {
+ return (t = wY(t)), Pr(Lh.count(vl(t), t) + (vl(t).getUTCDay() === 4), e, 2);
+ }
+ function lTe(t) {
+ return t.getUTCDay();
+ }
+ function cTe(t, e) {
+ return Pr(Bp.count(vl(t) - 1, t), e, 2);
+ }
+ function uTe(t, e) {
+ return Pr(t.getUTCFullYear() % 100, e, 2);
+ }
+ function hTe(t, e) {
+ return (t = wY(t)), Pr(t.getUTCFullYear() % 100, e, 2);
+ }
+ function fTe(t, e) {
+ return Pr(t.getUTCFullYear() % 1e4, e, 4);
+ }
+ function dTe(t, e) {
+ var r = t.getUTCDay();
+ return (t = r >= 4 || r === 0 ? Lh(t) : Lh.ceil(t)), Pr(t.getUTCFullYear() % 1e4, e, 4);
+ }
+ function pTe() {
+ return '+0000';
+ }
+ function mY() {
+ return '%';
+ }
+ function gY(t) {
+ return +t;
+ }
+ function yY(t) {
+ return Math.floor(+t / 1e3);
+ }
+ var lY,
+ Ki,
+ gwe,
+ ywe,
+ TY = R(() => {
+ 'use strict';
+ _3();
+ o(W8, 'localDate');
+ o(q8, 'utcDate');
+ o(Gy, 'newDate');
+ o(X8, 'formatLocale');
+ (lY = { '-': '', _: ' ', 0: '0' }), (Ki = /^\s*\d+/), (gwe = /^%/), (ywe = /[\\^$*+?|[\]().{}]/g);
+ o(Pr, 'pad');
+ o(vwe, 'requote');
+ o($y, 'formatRe');
+ o(Vy, 'formatLookup');
+ o(xwe, 'parseWeekdayNumberSunday');
+ o(bwe, 'parseWeekdayNumberMonday');
+ o(wwe, 'parseWeekNumberSunday');
+ o(Twe, 'parseWeekNumberISO');
+ o(kwe, 'parseWeekNumberMonday');
+ o(cY, 'parseFullYear');
+ o(uY, 'parseYear');
+ o(Ewe, 'parseZone');
+ o(Cwe, 'parseQuarter');
+ o(Swe, 'parseMonthNumber');
+ o(hY, 'parseDayOfMonth');
+ o(Awe, 'parseDayOfYear');
+ o(fY, 'parseHour24');
+ o(_we, 'parseMinutes');
+ o(Lwe, 'parseSeconds');
+ o(Dwe, 'parseMilliseconds');
+ o(Rwe, 'parseMicroseconds');
+ o(Nwe, 'parseLiteralPercent');
+ o(Mwe, 'parseUnixTimestamp');
+ o(Iwe, 'parseUnixTimestampSeconds');
+ o(dY, 'formatDayOfMonth');
+ o(Owe, 'formatHour24');
+ o(Pwe, 'formatHour12');
+ o(Bwe, 'formatDayOfYear');
+ o(vY, 'formatMilliseconds');
+ o(Fwe, 'formatMicroseconds');
+ o(zwe, 'formatMonthNumber');
+ o(Gwe, 'formatMinutes');
+ o($we, 'formatSeconds');
+ o(Vwe, 'formatWeekdayNumberMonday');
+ o(Uwe, 'formatWeekNumberSunday');
+ o(xY, 'dISO');
+ o(Hwe, 'formatWeekNumberISO');
+ o(Ywe, 'formatWeekdayNumberSunday');
+ o(Wwe, 'formatWeekNumberMonday');
+ o(qwe, 'formatYear');
+ o(Xwe, 'formatYearISO');
+ o(jwe, 'formatFullYear');
+ o(Kwe, 'formatFullYearISO');
+ o(Qwe, 'formatZone');
+ o(pY, 'formatUTCDayOfMonth');
+ o(Zwe, 'formatUTCHour24');
+ o(Jwe, 'formatUTCHour12');
+ o(eTe, 'formatUTCDayOfYear');
+ o(bY, 'formatUTCMilliseconds');
+ o(tTe, 'formatUTCMicroseconds');
+ o(rTe, 'formatUTCMonthNumber');
+ o(nTe, 'formatUTCMinutes');
+ o(iTe, 'formatUTCSeconds');
+ o(aTe, 'formatUTCWeekdayNumberMonday');
+ o(sTe, 'formatUTCWeekNumberSunday');
+ o(wY, 'UTCdISO');
+ o(oTe, 'formatUTCWeekNumberISO');
+ o(lTe, 'formatUTCWeekdayNumberSunday');
+ o(cTe, 'formatUTCWeekNumberMonday');
+ o(uTe, 'formatUTCYear');
+ o(hTe, 'formatUTCYearISO');
+ o(fTe, 'formatUTCFullYear');
+ o(dTe, 'formatUTCFullYearISO');
+ o(pTe, 'formatUTCZone');
+ o(mY, 'formatLiteralPercent');
+ o(gY, 'formatUnixTimestamp');
+ o(yY, 'formatUnixTimestampSeconds');
+ });
+ function j8(t) {
+ return (Fp = X8(t)), (md = Fp.format), (kY = Fp.parse), (EY = Fp.utcFormat), (CY = Fp.utcParse), Fp;
+ }
+ var Fp,
+ md,
+ kY,
+ EY,
+ CY,
+ SY = R(() => {
+ 'use strict';
+ TY();
+ j8({
+ dateTime: '%x, %X',
+ date: '%-m/%-d/%Y',
+ time: '%-I:%M:%S %p',
+ periods: ['AM', 'PM'],
+ days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+ shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+ months: [
+ 'January',
+ 'February',
+ 'March',
+ 'April',
+ 'May',
+ 'June',
+ 'July',
+ 'August',
+ 'September',
+ 'October',
+ 'November',
+ 'December'
+ ],
+ shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
+ });
+ o(j8, 'defaultLocale');
+ });
+ var K8 = R(() => {
+ 'use strict';
+ SY();
+ });
+ function mTe(t) {
+ return new Date(t);
+ }
+ function gTe(t) {
+ return t instanceof Date ? +t : +new Date(+t);
+ }
+ function AY(t, e, r, n, i, a, s, l, u, h) {
+ var f = By(),
+ d = f.invert,
+ p = f.domain,
+ m = h('.%L'),
+ g = h(':%S'),
+ y = h('%I:%M'),
+ v = h('%I %p'),
+ x = h('%a %d'),
+ b = h('%b %d'),
+ w = h('%B'),
+ S = h('%Y');
+ function T(E) {
+ return (
+ u(E) < E
+ ? m
+ : l(E) < E
+ ? g
+ : s(E) < E
+ ? y
+ : a(E) < E
+ ? v
+ : n(E) < E
+ ? i(E) < E
+ ? x
+ : b
+ : r(E) < E
+ ? w
+ : S
+ )(E);
+ }
+ return (
+ o(T, 'tickFormat'),
+ (f.invert = function (E) {
+ return new Date(d(E));
+ }),
+ (f.domain = function (E) {
+ return arguments.length ? p(Array.from(E, gTe)) : p().map(mTe);
+ }),
+ (f.ticks = function (E) {
+ var _ = p();
+ return t(_[0], _[_.length - 1], E ?? 10);
+ }),
+ (f.tickFormat = function (E, _) {
+ return _ == null ? T : h(_);
+ }),
+ (f.nice = function (E) {
+ var _ = p();
+ return (
+ (!E || typeof E.range != 'function') && (E = e(_[0], _[_.length - 1], E ?? 10)), E ? p(M8(_, E)) : f
+ );
+ }),
+ (f.copy = function () {
+ return x3(f, AY(t, e, r, n, i, a, s, l, u, h));
+ }),
+ f
+ );
+ }
+ function L3() {
+ return Ah.apply(
+ AY(H8, Y8, Qs, vu, yl, Do, yu, gu, Ks, md).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]),
+ arguments
+ );
+ }
+ var _Y = R(() => {
+ 'use strict';
+ _3();
+ K8();
+ R8();
+ Py();
+ jH();
+ o(mTe, 'date');
+ o(gTe, 'number');
+ o(AY, 'calendar');
+ o(L3, 'time');
+ });
+ var LY = R(() => {
+ 'use strict';
+ UH();
+ XH();
+ A8();
+ _Y();
+ });
+ function Q8(t) {
+ for (var e = (t.length / 6) | 0, r = new Array(e), n = 0; n < e; ) r[n] = '#' + t.slice(n * 6, ++n * 6);
+ return r;
+ }
+ var DY = R(() => {
+ 'use strict';
+ o(Q8, 'default');
+ });
+ var Z8,
+ RY = R(() => {
+ 'use strict';
+ DY();
+ Z8 = Q8('4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab');
+ });
+ var NY = R(() => {
+ 'use strict';
+ RY();
+ });
+ function Nn(t) {
+ return o(function () {
+ return t;
+ }, 'constant');
+ }
+ var D3 = R(() => {
+ 'use strict';
+ o(Nn, 'default');
+ });
+ function IY(t) {
+ return t > 1 ? 0 : t < -1 ? zp : Math.acos(t);
+ }
+ function e_(t) {
+ return t >= 1 ? Uy : t <= -1 ? -Uy : Math.asin(t);
+ }
+ var J8,
+ ua,
+ Dh,
+ MY,
+ R3,
+ xl,
+ gd,
+ Qi,
+ zp,
+ Uy,
+ Gp,
+ N3 = R(() => {
+ 'use strict';
+ (J8 = Math.abs),
+ (ua = Math.atan2),
+ (Dh = Math.cos),
+ (MY = Math.max),
+ (R3 = Math.min),
+ (xl = Math.sin),
+ (gd = Math.sqrt),
+ (Qi = 1e-12),
+ (zp = Math.PI),
+ (Uy = zp / 2),
+ (Gp = 2 * zp);
+ o(IY, 'acos');
+ o(e_, 'asin');
+ });
+ function M3(t) {
+ let e = 3;
+ return (
+ (t.digits = function (r) {
+ if (!arguments.length) return e;
+ if (r == null) e = null;
+ else {
+ let n = Math.floor(r);
+ if (!(n >= 0)) throw new RangeError(`invalid digits: ${r}`);
+ e = n;
+ }
+ return t;
+ }),
+ () => new ld(e)
+ );
+ }
+ var t_ = R(() => {
+ 'use strict';
+ d8();
+ o(M3, 'withPath');
+ });
+ function yTe(t) {
+ return t.innerRadius;
+ }
+ function vTe(t) {
+ return t.outerRadius;
+ }
+ function xTe(t) {
+ return t.startAngle;
+ }
+ function bTe(t) {
+ return t.endAngle;
+ }
+ function wTe(t) {
+ return t && t.padAngle;
+ }
+ function TTe(t, e, r, n, i, a, s, l) {
+ var u = r - t,
+ h = n - e,
+ f = s - i,
+ d = l - a,
+ p = d * u - f * h;
+ if (!(p * p < Qi)) return (p = (f * (e - a) - d * (t - i)) / p), [t + p * u, e + p * h];
+ }
+ function I3(t, e, r, n, i, a, s) {
+ var l = t - r,
+ u = e - n,
+ h = (s ? a : -a) / gd(l * l + u * u),
+ f = h * u,
+ d = -h * l,
+ p = t + f,
+ m = e + d,
+ g = r + f,
+ y = n + d,
+ v = (p + g) / 2,
+ x = (m + y) / 2,
+ b = g - p,
+ w = y - m,
+ S = b * b + w * w,
+ T = i - a,
+ E = p * y - g * m,
+ _ = (w < 0 ? -1 : 1) * gd(MY(0, T * T * S - E * E)),
+ A = (E * w - b * _) / S,
+ L = (-E * b - w * _) / S,
+ M = (E * w + b * _) / S,
+ N = (-E * b + w * _) / S,
+ k = A - v,
+ I = L - x,
+ C = M - v,
+ O = N - x;
+ return (
+ k * k + I * I > C * C + O * O && ((A = M), (L = N)),
+ {
+ cx: A,
+ cy: L,
+ x01: -f,
+ y01: -d,
+ x11: A * (i / T - 1),
+ y11: L * (i / T - 1)
+ }
+ );
+ }
+ function bl() {
+ var t = yTe,
+ e = vTe,
+ r = Nn(0),
+ n = null,
+ i = xTe,
+ a = bTe,
+ s = wTe,
+ l = null,
+ u = M3(h);
+ function h() {
+ var f,
+ d,
+ p = +t.apply(this, arguments),
+ m = +e.apply(this, arguments),
+ g = i.apply(this, arguments) - Uy,
+ y = a.apply(this, arguments) - Uy,
+ v = J8(y - g),
+ x = y > g;
+ if ((l || (l = f = u()), m < p && ((d = m), (m = p), (p = d)), !(m > Qi))) l.moveTo(0, 0);
+ else if (v > Gp - Qi)
+ l.moveTo(m * Dh(g), m * xl(g)),
+ l.arc(0, 0, m, g, y, !x),
+ p > Qi && (l.moveTo(p * Dh(y), p * xl(y)), l.arc(0, 0, p, y, g, x));
+ else {
+ var b = g,
+ w = y,
+ S = g,
+ T = y,
+ E = v,
+ _ = v,
+ A = s.apply(this, arguments) / 2,
+ L = A > Qi && (n ? +n.apply(this, arguments) : gd(p * p + m * m)),
+ M = R3(J8(m - p) / 2, +r.apply(this, arguments)),
+ N = M,
+ k = M,
+ I,
+ C;
+ if (L > Qi) {
+ var O = e_((L / p) * xl(A)),
+ D = e_((L / m) * xl(A));
+ (E -= O * 2) > Qi ? ((O *= x ? 1 : -1), (S += O), (T -= O)) : ((E = 0), (S = T = (g + y) / 2)),
+ (_ -= D * 2) > Qi ? ((D *= x ? 1 : -1), (b += D), (w -= D)) : ((_ = 0), (b = w = (g + y) / 2));
+ }
+ var P = m * Dh(b),
+ F = m * xl(b),
+ B = p * Dh(T),
+ $ = p * xl(T);
+ if (M > Qi) {
+ var z = m * Dh(w),
+ Y = m * xl(w),
+ Q = p * Dh(S),
+ X = p * xl(S),
+ ie;
+ if (v < zp)
+ if ((ie = TTe(P, F, Q, X, z, Y, B, $))) {
+ var j = P - ie[0],
+ J = F - ie[1],
+ Z = z - ie[0],
+ H = Y - ie[1],
+ q = 1 / xl(IY((j * Z + J * H) / (gd(j * j + J * J) * gd(Z * Z + H * H))) / 2),
+ K = gd(ie[0] * ie[0] + ie[1] * ie[1]);
+ (N = R3(M, (p - K) / (q - 1))), (k = R3(M, (m - K) / (q + 1)));
+ } else N = k = 0;
+ }
+ _ > Qi
+ ? k > Qi
+ ? ((I = I3(Q, X, P, F, m, k, x)),
+ (C = I3(z, Y, B, $, m, k, x)),
+ l.moveTo(I.cx + I.x01, I.cy + I.y01),
+ k < M
+ ? l.arc(I.cx, I.cy, k, ua(I.y01, I.x01), ua(C.y01, C.x01), !x)
+ : (l.arc(I.cx, I.cy, k, ua(I.y01, I.x01), ua(I.y11, I.x11), !x),
+ l.arc(0, 0, m, ua(I.cy + I.y11, I.cx + I.x11), ua(C.cy + C.y11, C.cx + C.x11), !x),
+ l.arc(C.cx, C.cy, k, ua(C.y11, C.x11), ua(C.y01, C.x01), !x)))
+ : (l.moveTo(P, F), l.arc(0, 0, m, b, w, !x))
+ : l.moveTo(P, F),
+ !(p > Qi) || !(E > Qi)
+ ? l.lineTo(B, $)
+ : N > Qi
+ ? ((I = I3(B, $, z, Y, p, -N, x)),
+ (C = I3(P, F, Q, X, p, -N, x)),
+ l.lineTo(I.cx + I.x01, I.cy + I.y01),
+ N < M
+ ? l.arc(I.cx, I.cy, N, ua(I.y01, I.x01), ua(C.y01, C.x01), !x)
+ : (l.arc(I.cx, I.cy, N, ua(I.y01, I.x01), ua(I.y11, I.x11), !x),
+ l.arc(0, 0, p, ua(I.cy + I.y11, I.cx + I.x11), ua(C.cy + C.y11, C.cx + C.x11), x),
+ l.arc(C.cx, C.cy, N, ua(C.y11, C.x11), ua(C.y01, C.x01), !x)))
+ : l.arc(0, 0, p, T, S, x);
+ }
+ if ((l.closePath(), f)) return (l = null), f + '' || null;
+ }
+ return (
+ o(h, 'arc'),
+ (h.centroid = function () {
+ var f = (+t.apply(this, arguments) + +e.apply(this, arguments)) / 2,
+ d = (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2 - zp / 2;
+ return [Dh(d) * f, xl(d) * f];
+ }),
+ (h.innerRadius = function (f) {
+ return arguments.length ? ((t = typeof f == 'function' ? f : Nn(+f)), h) : t;
+ }),
+ (h.outerRadius = function (f) {
+ return arguments.length ? ((e = typeof f == 'function' ? f : Nn(+f)), h) : e;
+ }),
+ (h.cornerRadius = function (f) {
+ return arguments.length ? ((r = typeof f == 'function' ? f : Nn(+f)), h) : r;
+ }),
+ (h.padRadius = function (f) {
+ return arguments.length ? ((n = f == null ? null : typeof f == 'function' ? f : Nn(+f)), h) : n;
+ }),
+ (h.startAngle = function (f) {
+ return arguments.length ? ((i = typeof f == 'function' ? f : Nn(+f)), h) : i;
+ }),
+ (h.endAngle = function (f) {
+ return arguments.length ? ((a = typeof f == 'function' ? f : Nn(+f)), h) : a;
+ }),
+ (h.padAngle = function (f) {
+ return arguments.length ? ((s = typeof f == 'function' ? f : Nn(+f)), h) : s;
+ }),
+ (h.context = function (f) {
+ return arguments.length ? ((l = f ?? null), h) : l;
+ }),
+ h
+ );
+ }
+ var OY = R(() => {
+ 'use strict';
+ D3();
+ N3();
+ t_();
+ o(yTe, 'arcInnerRadius');
+ o(vTe, 'arcOuterRadius');
+ o(xTe, 'arcStartAngle');
+ o(bTe, 'arcEndAngle');
+ o(wTe, 'arcPadAngle');
+ o(TTe, 'intersect');
+ o(I3, 'cornerTangents');
+ o(bl, 'default');
+ });
+ function Hy(t) {
+ return typeof t == 'object' && 'length' in t ? t : Array.from(t);
+ }
+ var Dyt,
+ r_ = R(() => {
+ 'use strict';
+ Dyt = Array.prototype.slice;
+ o(Hy, 'default');
+ });
+ function PY(t) {
+ this._context = t;
+ }
+ function xu(t) {
+ return new PY(t);
+ }
+ var n_ = R(() => {
+ 'use strict';
+ o(PY, 'Linear');
+ PY.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ this._point = 0;
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e);
+ break;
+ case 1:
+ this._point = 2;
+ default:
+ this._context.lineTo(t, e);
+ break;
+ }
+ }, 'point')
+ };
+ o(xu, 'default');
+ });
+ function BY(t) {
+ return t[0];
+ }
+ function FY(t) {
+ return t[1];
+ }
+ var zY = R(() => {
+ 'use strict';
+ o(BY, 'x');
+ o(FY, 'y');
+ });
+ function ha(t, e) {
+ var r = Nn(!0),
+ n = null,
+ i = xu,
+ a = null,
+ s = M3(l);
+ (t = typeof t == 'function' ? t : t === void 0 ? BY : Nn(t)),
+ (e = typeof e == 'function' ? e : e === void 0 ? FY : Nn(e));
+ function l(u) {
+ var h,
+ f = (u = Hy(u)).length,
+ d,
+ p = !1,
+ m;
+ for (n == null && (a = i((m = s()))), h = 0; h <= f; ++h)
+ !(h < f && r((d = u[h]), h, u)) === p && ((p = !p) ? a.lineStart() : a.lineEnd()),
+ p && a.point(+t(d, h, u), +e(d, h, u));
+ if (m) return (a = null), m + '' || null;
+ }
+ return (
+ o(l, 'line'),
+ (l.x = function (u) {
+ return arguments.length ? ((t = typeof u == 'function' ? u : Nn(+u)), l) : t;
+ }),
+ (l.y = function (u) {
+ return arguments.length ? ((e = typeof u == 'function' ? u : Nn(+u)), l) : e;
+ }),
+ (l.defined = function (u) {
+ return arguments.length ? ((r = typeof u == 'function' ? u : Nn(!!u)), l) : r;
+ }),
+ (l.curve = function (u) {
+ return arguments.length ? ((i = u), n != null && (a = i(n)), l) : i;
+ }),
+ (l.context = function (u) {
+ return arguments.length ? (u == null ? (n = a = null) : (a = i((n = u))), l) : n;
+ }),
+ l
+ );
+ }
+ var GY = R(() => {
+ 'use strict';
+ r_();
+ D3();
+ n_();
+ t_();
+ zY();
+ o(ha, 'default');
+ });
+ function i_(t, e) {
+ return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
+ }
+ var $Y = R(() => {
+ 'use strict';
+ o(i_, 'default');
+ });
+ function a_(t) {
+ return t;
+ }
+ var VY = R(() => {
+ 'use strict';
+ o(a_, 'default');
+ });
+ function O3() {
+ var t = a_,
+ e = i_,
+ r = null,
+ n = Nn(0),
+ i = Nn(Gp),
+ a = Nn(0);
+ function s(l) {
+ var u,
+ h = (l = Hy(l)).length,
+ f,
+ d,
+ p = 0,
+ m = new Array(h),
+ g = new Array(h),
+ y = +n.apply(this, arguments),
+ v = Math.min(Gp, Math.max(-Gp, i.apply(this, arguments) - y)),
+ x,
+ b = Math.min(Math.abs(v) / h, a.apply(this, arguments)),
+ w = b * (v < 0 ? -1 : 1),
+ S;
+ for (u = 0; u < h; ++u) (S = g[(m[u] = u)] = +t(l[u], u, l)) > 0 && (p += S);
+ for (
+ e != null
+ ? m.sort(function (T, E) {
+ return e(g[T], g[E]);
+ })
+ : r != null &&
+ m.sort(function (T, E) {
+ return r(l[T], l[E]);
+ }),
+ u = 0,
+ d = p ? (v - h * w) / p : 0;
+ u < h;
+ ++u, y = x
+ )
+ (f = m[u]),
+ (S = g[f]),
+ (x = y + (S > 0 ? S * d : 0) + w),
+ (g[f] = {
+ data: l[f],
+ index: u,
+ value: S,
+ startAngle: y,
+ endAngle: x,
+ padAngle: b
+ });
+ return g;
+ }
+ return (
+ o(s, 'pie'),
+ (s.value = function (l) {
+ return arguments.length ? ((t = typeof l == 'function' ? l : Nn(+l)), s) : t;
+ }),
+ (s.sortValues = function (l) {
+ return arguments.length ? ((e = l), (r = null), s) : e;
+ }),
+ (s.sort = function (l) {
+ return arguments.length ? ((r = l), (e = null), s) : r;
+ }),
+ (s.startAngle = function (l) {
+ return arguments.length ? ((n = typeof l == 'function' ? l : Nn(+l)), s) : n;
+ }),
+ (s.endAngle = function (l) {
+ return arguments.length ? ((i = typeof l == 'function' ? l : Nn(+l)), s) : i;
+ }),
+ (s.padAngle = function (l) {
+ return arguments.length ? ((a = typeof l == 'function' ? l : Nn(+l)), s) : a;
+ }),
+ s
+ );
+ }
+ var UY = R(() => {
+ 'use strict';
+ r_();
+ D3();
+ $Y();
+ VY();
+ N3();
+ o(O3, 'default');
+ });
+ function s_(t) {
+ return new P3(t, !0);
+ }
+ function o_(t) {
+ return new P3(t, !1);
+ }
+ var P3,
+ HY = R(() => {
+ 'use strict';
+ P3 = class {
+ static {
+ o(this, 'Bump');
+ }
+ constructor(e, r) {
+ (this._context = e), (this._x = r);
+ }
+ 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, r) {
+ switch (((e = +e), (r = +r), this._point)) {
+ case 0: {
+ (this._point = 1), this._line ? this._context.lineTo(e, r) : this._context.moveTo(e, r);
+ break;
+ }
+ case 1:
+ this._point = 2;
+ default: {
+ this._x
+ ? this._context.bezierCurveTo(
+ (this._x0 = (this._x0 + e) / 2),
+ this._y0,
+ this._x0,
+ r,
+ e,
+ r
+ )
+ : this._context.bezierCurveTo(
+ this._x0,
+ (this._y0 = (this._y0 + r) / 2),
+ e,
+ this._y0,
+ e,
+ r
+ );
+ break;
+ }
+ }
+ (this._x0 = e), (this._y0 = r);
+ }
+ };
+ o(s_, 'bumpX');
+ o(o_, 'bumpY');
+ });
+ function Zs() {}
+ var Yy = R(() => {
+ 'use strict';
+ o(Zs, 'default');
+ });
+ function $p(t, e, r) {
+ t._context.bezierCurveTo(
+ (2 * t._x0 + t._x1) / 3,
+ (2 * t._y0 + t._y1) / 3,
+ (t._x0 + 2 * t._x1) / 3,
+ (t._y0 + 2 * t._y1) / 3,
+ (t._x0 + 4 * t._x1 + e) / 6,
+ (t._y0 + 4 * t._y1 + r) / 6
+ );
+ }
+ function Wy(t) {
+ this._context = t;
+ }
+ function vs(t) {
+ return new Wy(t);
+ }
+ var qy = R(() => {
+ 'use strict';
+ o($p, 'point');
+ o(Wy, 'Basis');
+ Wy.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ switch (this._point) {
+ case 3:
+ $p(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);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, 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:
+ $p(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e);
+ }, 'point')
+ };
+ o(vs, 'default');
+ });
+ function YY(t) {
+ this._context = t;
+ }
+ function B3(t) {
+ return new YY(t);
+ }
+ var WY = R(() => {
+ 'use strict';
+ Yy();
+ qy();
+ o(YY, 'BasisClosed');
+ YY.prototype = {
+ areaStart: Zs,
+ areaEnd: Zs,
+ lineStart: o(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);
+ }, 'lineStart'),
+ lineEnd: o(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;
+ }
+ }
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), (this._x2 = t), (this._y2 = e);
+ break;
+ case 1:
+ (this._point = 2), (this._x3 = t), (this._y3 = e);
+ break;
+ case 2:
+ (this._point = 3),
+ (this._x4 = t),
+ (this._y4 = e),
+ this._context.moveTo((this._x0 + 4 * this._x1 + t) / 6, (this._y0 + 4 * this._y1 + e) / 6);
+ break;
+ default:
+ $p(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e);
+ }, 'point')
+ };
+ o(B3, 'default');
+ });
+ function qY(t) {
+ this._context = t;
+ }
+ function F3(t) {
+ return new qY(t);
+ }
+ var XY = R(() => {
+ 'use strict';
+ qy();
+ o(qY, 'BasisOpen');
+ qY.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ this._point = 1;
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3;
+ var r = (this._x0 + 4 * this._x1 + t) / 6,
+ n = (this._y0 + 4 * this._y1 + e) / 6;
+ this._line ? this._context.lineTo(r, n) : this._context.moveTo(r, n);
+ break;
+ case 3:
+ this._point = 4;
+ default:
+ $p(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e);
+ }, 'point')
+ };
+ o(F3, 'default');
+ });
+ function jY(t, e) {
+ (this._basis = new Wy(t)), (this._beta = e);
+ }
+ var l_,
+ KY = R(() => {
+ 'use strict';
+ qy();
+ o(jY, 'Bundle');
+ jY.prototype = {
+ lineStart: o(function () {
+ (this._x = []), (this._y = []), this._basis.lineStart();
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ var t = this._x,
+ e = this._y,
+ r = t.length - 1;
+ if (r > 0)
+ for (var n = t[0], i = e[0], a = t[r] - n, s = e[r] - i, l = -1, u; ++l <= r; )
+ (u = l / r),
+ this._basis.point(
+ this._beta * t[l] + (1 - this._beta) * (n + u * a),
+ this._beta * e[l] + (1 - this._beta) * (i + u * s)
+ );
+ (this._x = this._y = null), this._basis.lineEnd();
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ this._x.push(+t), this._y.push(+e);
+ }, 'point')
+ };
+ l_ = o(function t(e) {
+ function r(n) {
+ return e === 1 ? new Wy(n) : new jY(n, e);
+ }
+ return (
+ o(r, 'bundle'),
+ (r.beta = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0.85);
+ });
+ function Vp(t, e, r) {
+ t._context.bezierCurveTo(
+ t._x1 + t._k * (t._x2 - t._x0),
+ t._y1 + t._k * (t._y2 - t._y0),
+ t._x2 + t._k * (t._x1 - e),
+ t._y2 + t._k * (t._y1 - r),
+ t._x2,
+ t._y2
+ );
+ }
+ function z3(t, e) {
+ (this._context = t), (this._k = (1 - e) / 6);
+ }
+ var c_,
+ Xy = R(() => {
+ 'use strict';
+ o(Vp, 'point');
+ o(z3, 'Cardinal');
+ z3.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ switch (this._point) {
+ case 2:
+ this._context.lineTo(this._x2, this._y2);
+ break;
+ case 3:
+ Vp(this, this._x1, this._y1);
+ break;
+ }
+ (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e);
+ break;
+ case 1:
+ (this._point = 2), (this._x1 = t), (this._y1 = e);
+ break;
+ case 2:
+ this._point = 3;
+ default:
+ Vp(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1),
+ (this._x1 = this._x2),
+ (this._x2 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ c_ = o(function t(e) {
+ function r(n) {
+ return new z3(n, e);
+ }
+ return (
+ o(r, 'cardinal'),
+ (r.tension = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0);
+ });
+ function G3(t, e) {
+ (this._context = t), (this._k = (1 - e) / 6);
+ }
+ var u_,
+ h_ = R(() => {
+ 'use strict';
+ Yy();
+ Xy();
+ o(G3, 'CardinalClosed');
+ G3.prototype = {
+ areaStart: Zs,
+ areaEnd: Zs,
+ lineStart: o(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);
+ }, 'lineStart'),
+ lineEnd: o(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;
+ }
+ }
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), (this._x3 = t), (this._y3 = e);
+ break;
+ case 1:
+ (this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = e));
+ break;
+ case 2:
+ (this._point = 3), (this._x5 = t), (this._y5 = e);
+ break;
+ default:
+ Vp(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1),
+ (this._x1 = this._x2),
+ (this._x2 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ u_ = o(function t(e) {
+ function r(n) {
+ return new G3(n, e);
+ }
+ return (
+ o(r, 'cardinal'),
+ (r.tension = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0);
+ });
+ function $3(t, e) {
+ (this._context = t), (this._k = (1 - e) / 6);
+ }
+ var f_,
+ d_ = R(() => {
+ 'use strict';
+ Xy();
+ o($3, 'CardinalOpen');
+ $3.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (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:
+ Vp(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1),
+ (this._x1 = this._x2),
+ (this._x2 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ f_ = o(function t(e) {
+ function r(n) {
+ return new $3(n, e);
+ }
+ return (
+ o(r, 'cardinal'),
+ (r.tension = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0);
+ });
+ function jy(t, e, r) {
+ var n = t._x1,
+ i = t._y1,
+ a = t._x2,
+ s = t._y2;
+ if (t._l01_a > Qi) {
+ var l = 2 * t._l01_2a + 3 * t._l01_a * t._l12_a + t._l12_2a,
+ u = 3 * t._l01_a * (t._l01_a + t._l12_a);
+ (n = (n * l - t._x0 * t._l12_2a + t._x2 * t._l01_2a) / u),
+ (i = (i * l - t._y0 * t._l12_2a + t._y2 * t._l01_2a) / u);
+ }
+ if (t._l23_a > Qi) {
+ var h = 2 * t._l23_2a + 3 * t._l23_a * t._l12_a + t._l12_2a,
+ f = 3 * t._l23_a * (t._l23_a + t._l12_a);
+ (a = (a * h + t._x1 * t._l23_2a - e * t._l12_2a) / f),
+ (s = (s * h + t._y1 * t._l23_2a - r * t._l12_2a) / f);
+ }
+ t._context.bezierCurveTo(n, i, a, s, t._x2, t._y2);
+ }
+ function QY(t, e) {
+ (this._context = t), (this._alpha = e);
+ }
+ var p_,
+ V3 = R(() => {
+ 'use strict';
+ N3();
+ Xy();
+ o(jy, 'point');
+ o(QY, 'CatmullRom');
+ QY.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(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);
+ }, 'lineStart'),
+ lineEnd: o(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);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ if (((t = +t), (e = +e), this._point)) {
+ var r = this._x2 - t,
+ n = this._y2 - e;
+ this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha)));
+ }
+ switch (this._point) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e);
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3;
+ default:
+ jy(this, t, 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 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ p_ = o(function t(e) {
+ function r(n) {
+ return e ? new QY(n, e) : new z3(n, 0);
+ }
+ return (
+ o(r, 'catmullRom'),
+ (r.alpha = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0.5);
+ });
+ function ZY(t, e) {
+ (this._context = t), (this._alpha = e);
+ }
+ var m_,
+ JY = R(() => {
+ 'use strict';
+ h_();
+ Yy();
+ V3();
+ o(ZY, 'CatmullRomClosed');
+ ZY.prototype = {
+ areaStart: Zs,
+ areaEnd: Zs,
+ lineStart: o(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);
+ }, 'lineStart'),
+ lineEnd: o(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;
+ }
+ }
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ if (((t = +t), (e = +e), this._point)) {
+ var r = this._x2 - t,
+ n = this._y2 - e;
+ this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha)));
+ }
+ switch (this._point) {
+ case 0:
+ (this._point = 1), (this._x3 = t), (this._y3 = e);
+ break;
+ case 1:
+ (this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = e));
+ break;
+ case 2:
+ (this._point = 3), (this._x5 = t), (this._y5 = e);
+ break;
+ default:
+ jy(this, t, 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 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ m_ = o(function t(e) {
+ function r(n) {
+ return e ? new ZY(n, e) : new G3(n, 0);
+ }
+ return (
+ o(r, 'catmullRom'),
+ (r.alpha = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0.5);
+ });
+ function eW(t, e) {
+ (this._context = t), (this._alpha = e);
+ }
+ var g_,
+ tW = R(() => {
+ 'use strict';
+ d_();
+ V3();
+ o(eW, 'CatmullRomOpen');
+ eW.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(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);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ if (((t = +t), (e = +e), this._point)) {
+ var r = this._x2 - t,
+ n = this._y2 - e;
+ this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, 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:
+ jy(this, t, 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 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ g_ = o(function t(e) {
+ function r(n) {
+ return e ? new eW(n, e) : new $3(n, 0);
+ }
+ return (
+ o(r, 'catmullRom'),
+ (r.alpha = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0.5);
+ });
+ function rW(t) {
+ this._context = t;
+ }
+ function U3(t) {
+ return new rW(t);
+ }
+ var nW = R(() => {
+ 'use strict';
+ Yy();
+ o(rW, 'LinearClosed');
+ rW.prototype = {
+ areaStart: Zs,
+ areaEnd: Zs,
+ lineStart: o(function () {
+ this._point = 0;
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ this._point && this._context.closePath();
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ (t = +t),
+ (e = +e),
+ this._point ? this._context.lineTo(t, e) : ((this._point = 1), this._context.moveTo(t, e));
+ }, 'point')
+ };
+ o(U3, 'default');
+ });
+ function iW(t) {
+ return t < 0 ? -1 : 1;
+ }
+ function aW(t, e, r) {
+ var n = t._x1 - t._x0,
+ i = e - t._x1,
+ a = (t._y1 - t._y0) / (n || (i < 0 && -0)),
+ s = (r - t._y1) / (i || (n < 0 && -0)),
+ l = (a * i + s * n) / (n + i);
+ return (iW(a) + iW(s)) * Math.min(Math.abs(a), Math.abs(s), 0.5 * Math.abs(l)) || 0;
+ }
+ function sW(t, e) {
+ var r = t._x1 - t._x0;
+ return r ? ((3 * (t._y1 - t._y0)) / r - e) / 2 : e;
+ }
+ function y_(t, e, r) {
+ var n = t._x0,
+ i = t._y0,
+ a = t._x1,
+ s = t._y1,
+ l = (a - n) / 3;
+ t._context.bezierCurveTo(n + l, i + l * e, a - l, s - l * r, a, s);
+ }
+ function H3(t) {
+ this._context = t;
+ }
+ function oW(t) {
+ this._context = new lW(t);
+ }
+ function lW(t) {
+ this._context = t;
+ }
+ function v_(t) {
+ return new H3(t);
+ }
+ function x_(t) {
+ return new oW(t);
+ }
+ var cW = R(() => {
+ 'use strict';
+ o(iW, 'sign');
+ o(aW, 'slope3');
+ o(sW, 'slope2');
+ o(y_, 'point');
+ o(H3, 'MonotoneX');
+ H3.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ switch (this._point) {
+ case 2:
+ this._context.lineTo(this._x1, this._y1);
+ break;
+ case 3:
+ y_(this, this._t0, sW(this, this._t0));
+ break;
+ }
+ (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ var r = NaN;
+ if (((t = +t), (e = +e), !(t === this._x1 && e === this._y1))) {
+ switch (this._point) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e);
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ (this._point = 3), y_(this, sW(this, (r = aW(this, t, e))), r);
+ break;
+ default:
+ y_(this, this._t0, (r = aW(this, t, e)));
+ break;
+ }
+ (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e), (this._t0 = r);
+ }
+ }, 'point')
+ };
+ o(oW, 'MonotoneY');
+ (oW.prototype = Object.create(H3.prototype)).point = function (t, e) {
+ H3.prototype.point.call(this, e, t);
+ };
+ o(lW, 'ReflectContext');
+ lW.prototype = {
+ moveTo: o(function (t, e) {
+ this._context.moveTo(e, t);
+ }, 'moveTo'),
+ closePath: o(function () {
+ this._context.closePath();
+ }, 'closePath'),
+ lineTo: o(function (t, e) {
+ this._context.lineTo(e, t);
+ }, 'lineTo'),
+ bezierCurveTo: o(function (t, e, r, n, i, a) {
+ this._context.bezierCurveTo(e, t, n, r, a, i);
+ }, 'bezierCurveTo')
+ };
+ o(v_, 'monotoneX');
+ o(x_, 'monotoneY');
+ });
+ function hW(t) {
+ this._context = t;
+ }
+ function uW(t) {
+ var e,
+ r = t.length - 1,
+ n,
+ i = new Array(r),
+ a = new Array(r),
+ s = new Array(r);
+ for (i[0] = 0, a[0] = 2, s[0] = t[0] + 2 * t[1], e = 1; e < r - 1; ++e)
+ (i[e] = 1), (a[e] = 4), (s[e] = 4 * t[e] + 2 * t[e + 1]);
+ for (i[r - 1] = 2, a[r - 1] = 7, s[r - 1] = 8 * t[r - 1] + t[r], e = 1; e < r; ++e)
+ (n = i[e] / a[e - 1]), (a[e] -= n), (s[e] -= n * s[e - 1]);
+ for (i[r - 1] = s[r - 1] / a[r - 1], e = r - 2; e >= 0; --e) i[e] = (s[e] - i[e + 1]) / a[e];
+ for (a[r - 1] = (t[r] + i[r - 1]) / 2, e = 0; e < r - 1; ++e) a[e] = 2 * t[e + 1] - i[e + 1];
+ return [i, a];
+ }
+ function Y3(t) {
+ return new hW(t);
+ }
+ var fW = R(() => {
+ 'use strict';
+ o(hW, 'Natural');
+ hW.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x = []), (this._y = []);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ var t = this._x,
+ e = this._y,
+ r = t.length;
+ if (r)
+ if ((this._line ? this._context.lineTo(t[0], e[0]) : this._context.moveTo(t[0], e[0]), r === 2))
+ this._context.lineTo(t[1], e[1]);
+ else
+ for (var n = uW(t), i = uW(e), a = 0, s = 1; s < r; ++a, ++s)
+ this._context.bezierCurveTo(n[0][a], i[0][a], n[1][a], i[1][a], t[s], e[s]);
+ (this._line || (this._line !== 0 && r === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line),
+ (this._x = this._y = null);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ this._x.push(+t), this._y.push(+e);
+ }, 'point')
+ };
+ o(uW, 'controlPoints');
+ o(Y3, 'default');
+ });
+ function W3(t, e) {
+ (this._context = t), (this._t = e);
+ }
+ function q3(t) {
+ return new W3(t, 0.5);
+ }
+ function b_(t) {
+ return new W3(t, 0);
+ }
+ function w_(t) {
+ return new W3(t, 1);
+ }
+ var dW = R(() => {
+ 'use strict';
+ o(W3, 'Step');
+ W3.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x = this._y = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(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));
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e);
+ break;
+ case 1:
+ this._point = 2;
+ default: {
+ if (this._t <= 0) this._context.lineTo(this._x, e), this._context.lineTo(t, e);
+ else {
+ var r = this._x * (1 - this._t) + t * this._t;
+ this._context.lineTo(r, this._y), this._context.lineTo(r, e);
+ }
+ break;
+ }
+ }
+ (this._x = t), (this._y = e);
+ }, 'point')
+ };
+ o(q3, 'default');
+ o(b_, 'stepBefore');
+ o(w_, 'stepAfter');
+ });
+ var pW = R(() => {
+ 'use strict';
+ OY();
+ GY();
+ UY();
+ WY();
+ XY();
+ qy();
+ HY();
+ KY();
+ h_();
+ d_();
+ Xy();
+ JY();
+ tW();
+ V3();
+ nW();
+ n_();
+ cW();
+ fW();
+ dW();
+ });
+ var mW = R(() => {
+ 'use strict';
+ });
+ var gW = R(() => {
+ 'use strict';
+ });
+ function Rh(t, e, r) {
+ (this.k = t), (this.x = e), (this.y = r);
+ }
+ function k_(t) {
+ for (; !t.__zoom; ) if (!(t = t.parentNode)) return T_;
+ return t.__zoom;
+ }
+ var T_,
+ E_ = R(() => {
+ 'use strict';
+ o(Rh, 'Transform');
+ Rh.prototype = {
+ constructor: Rh,
+ scale: o(function (t) {
+ return t === 1 ? this : new Rh(this.k * t, this.x, this.y);
+ }, 'scale'),
+ translate: o(function (t, e) {
+ return (t === 0) & (e === 0) ? this : new Rh(this.k, this.x + this.k * t, this.y + this.k * e);
+ }, 'translate'),
+ apply: o(function (t) {
+ return [t[0] * this.k + this.x, t[1] * this.k + this.y];
+ }, 'apply'),
+ applyX: o(function (t) {
+ return t * this.k + this.x;
+ }, 'applyX'),
+ applyY: o(function (t) {
+ return t * this.k + this.y;
+ }, 'applyY'),
+ invert: o(function (t) {
+ return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k];
+ }, 'invert'),
+ invertX: o(function (t) {
+ return (t - this.x) / this.k;
+ }, 'invertX'),
+ invertY: o(function (t) {
+ return (t - this.y) / this.k;
+ }, 'invertY'),
+ rescaleX: o(function (t) {
+ return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t));
+ }, 'rescaleX'),
+ rescaleY: o(function (t) {
+ return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t));
+ }, 'rescaleY'),
+ toString: o(function () {
+ return 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')';
+ }, 'toString')
+ };
+ T_ = new Rh(1, 0, 0);
+ k_.prototype = Rh.prototype;
+ o(k_, 'transform');
+ });
+ var yW = R(() => {
+ 'use strict';
+ });
+ var vW = R(() => {
+ 'use strict';
+ c3();
+ mW();
+ gW();
+ E_();
+ yW();
+ });
+ var xW = R(() => {
+ 'use strict';
+ vW();
+ E_();
+ });
+ var Zt = R(() => {
+ 'use strict';
+ bh();
+ K$();
+ mH();
+ xH();
+ Lp();
+ bH();
+ wH();
+ bS();
+ $V();
+ TH();
+ l8();
+ kH();
+ CH();
+ C8();
+ zH();
+ GH();
+ Np();
+ d8();
+ $H();
+ EH();
+ VH();
+ LY();
+ NY();
+ fl();
+ pW();
+ _3();
+ K8();
+ n3();
+ c3();
+ xW();
+ });
+ var bW = gi((Zi) => {
+ 'use strict';
+ Object.defineProperty(Zi, '__esModule', { value: !0 });
+ Zi.BLANK_URL =
+ Zi.relativeFirstCharacters =
+ Zi.whitespaceEscapeCharsRegex =
+ Zi.urlSchemeRegex =
+ Zi.ctrlCharactersRegex =
+ Zi.htmlCtrlEntityRegex =
+ Zi.htmlEntitiesRegex =
+ Zi.invalidProtocolRegex =
+ void 0;
+ Zi.invalidProtocolRegex = /^([^\w]*)(javascript|data|vbscript)/im;
+ Zi.htmlEntitiesRegex = /(\w+)(^\w|;)?/g;
+ Zi.htmlCtrlEntityRegex = /&(newline|tab);/gi;
+ Zi.ctrlCharactersRegex = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;
+ Zi.urlSchemeRegex = /^.+(:|:)/gim;
+ Zi.whitespaceEscapeCharsRegex = /(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;
+ Zi.relativeFirstCharacters = ['.', '/'];
+ Zi.BLANK_URL = 'about:blank';
+ });
+ var Up = gi((X3) => {
+ 'use strict';
+ Object.defineProperty(X3, '__esModule', { value: !0 });
+ X3.sanitizeUrl = void 0;
+ var Na = bW();
+ function kTe(t) {
+ return Na.relativeFirstCharacters.indexOf(t[0]) > -1;
+ }
+ o(kTe, 'isRelativeUrlWithoutProtocol');
+ function ETe(t) {
+ var e = t.replace(Na.ctrlCharactersRegex, '');
+ return e.replace(Na.htmlEntitiesRegex, function (r, n) {
+ return String.fromCharCode(n);
+ });
+ }
+ o(ETe, 'decodeHtmlCharacters');
+ function CTe(t) {
+ return URL.canParse(t);
+ }
+ o(CTe, 'isValidUrl');
+ function wW(t) {
+ try {
+ return decodeURIComponent(t);
+ } catch {
+ return t;
+ }
+ }
+ o(wW, 'decodeURI');
+ function STe(t) {
+ if (!t) return Na.BLANK_URL;
+ var e,
+ r = wW(t.trim());
+ do
+ (r = ETe(r)
+ .replace(Na.htmlCtrlEntityRegex, '')
+ .replace(Na.ctrlCharactersRegex, '')
+ .replace(Na.whitespaceEscapeCharsRegex, '')
+ .trim()),
+ (r = wW(r)),
+ (e =
+ r.match(Na.ctrlCharactersRegex) ||
+ r.match(Na.htmlEntitiesRegex) ||
+ r.match(Na.htmlCtrlEntityRegex) ||
+ r.match(Na.whitespaceEscapeCharsRegex));
+ while (e && e.length > 0);
+ var n = r;
+ if (!n) return Na.BLANK_URL;
+ if (kTe(n)) return n;
+ var i = n.trimStart(),
+ a = i.match(Na.urlSchemeRegex);
+ if (!a) return n;
+ var s = a[0].toLowerCase().trim();
+ if (Na.invalidProtocolRegex.test(s)) return Na.BLANK_URL;
+ var l = i.replace(/\\/g, '/');
+ if (s === 'mailto:' || s.includes('://')) return l;
+ if (s === 'http:' || s === 'https:') {
+ if (!CTe(l)) return Na.BLANK_URL;
+ var u = new URL(l);
+ return (u.protocol = u.protocol.toLowerCase()), (u.hostname = u.hostname.toLowerCase()), u.toString();
+ }
+ return l;
+ }
+ o(STe, 'sanitizeUrl');
+ X3.sanitizeUrl = STe;
+ });
+ var C_,
+ yd,
+ j3,
+ TW,
+ kW,
+ EW,
+ wl,
+ Ky,
+ Qy = R(() => {
+ 'use strict';
+ C_ = Xi(Up(), 1);
+ rr();
+ (yd = o((t, e) => {
+ let r = t.append('rect');
+ if (
+ (r.attr('x', e.x),
+ r.attr('y', e.y),
+ r.attr('fill', e.fill),
+ r.attr('stroke', e.stroke),
+ r.attr('width', e.width),
+ r.attr('height', e.height),
+ e.name && r.attr('name', e.name),
+ e.rx && r.attr('rx', e.rx),
+ e.ry && r.attr('ry', e.ry),
+ e.attrs !== void 0)
+ )
+ for (let n in e.attrs) r.attr(n, e.attrs[n]);
+ return e.class && r.attr('class', e.class), r;
+ }, 'drawRect')),
+ (j3 = o((t, e) => {
+ let r = {
+ x: e.startx,
+ y: e.starty,
+ width: e.stopx - e.startx,
+ height: e.stopy - e.starty,
+ fill: e.fill,
+ stroke: e.stroke,
+ class: 'rect'
+ };
+ yd(t, r).lower();
+ }, 'drawBackgroundRect')),
+ (TW = o((t, e) => {
+ let r = e.text.replace(Qf, ' '),
+ n = t.append('text');
+ n.attr('x', e.x),
+ n.attr('y', e.y),
+ n.attr('class', 'legend'),
+ n.style('text-anchor', e.anchor),
+ e.class && n.attr('class', e.class);
+ let i = n.append('tspan');
+ return i.attr('x', e.x + e.textMargin * 2), i.text(r), n;
+ }, 'drawText')),
+ (kW = o((t, e, r, n) => {
+ let i = t.append('image');
+ i.attr('x', e), i.attr('y', r);
+ let a = (0, C_.sanitizeUrl)(n);
+ i.attr('xlink:href', a);
+ }, 'drawImage')),
+ (EW = o((t, e, r, n) => {
+ let i = t.append('use');
+ i.attr('x', e), i.attr('y', r);
+ let a = (0, C_.sanitizeUrl)(n);
+ i.attr('xlink:href', `#${a}`);
+ }, 'drawEmbeddedImage')),
+ (wl = o(
+ () => ({
+ x: 0,
+ y: 0,
+ width: 100,
+ height: 100,
+ fill: '#EDF2AE',
+ stroke: '#666',
+ anchor: 'start',
+ rx: 0,
+ ry: 0
+ }),
+ 'getNoteRect'
+ )),
+ (Ky = o(
+ () => ({
+ x: 0,
+ y: 0,
+ width: 100,
+ height: 100,
+ 'text-anchor': 'start',
+ style: '#666',
+ textMargin: 0,
+ rx: 0,
+ ry: 0,
+ tspan: !0
+ }),
+ 'getTextObj'
+ ));
+ });
+ var CW,
+ S_,
+ SW,
+ ATe,
+ _Te,
+ LTe,
+ DTe,
+ RTe,
+ NTe,
+ MTe,
+ ITe,
+ OTe,
+ PTe,
+ BTe,
+ FTe,
+ bu,
+ Tl,
+ AW = R(() => {
+ 'use strict';
+ rr();
+ Qy();
+ (CW = Xi(Up(), 1)),
+ (S_ = o(function (t, e) {
+ return yd(t, e);
+ }, 'drawRect')),
+ (SW = o(function (t, e, r, n, i, a) {
+ let s = t.append('image');
+ s.attr('width', e), s.attr('height', r), s.attr('x', n), s.attr('y', i);
+ let l = a.startsWith('data:image/png;base64') ? a : (0, CW.sanitizeUrl)(a);
+ s.attr('xlink:href', l);
+ }, 'drawImage')),
+ (ATe = o((t, e, r) => {
+ let n = t.append('g'),
+ i = 0;
+ for (let a of e) {
+ let s = a.textColor ? a.textColor : '#444444',
+ l = a.lineColor ? a.lineColor : '#444444',
+ u = a.offsetX ? parseInt(a.offsetX) : 0,
+ h = a.offsetY ? parseInt(a.offsetY) : 0,
+ f = '';
+ if (i === 0) {
+ let p = n.append('line');
+ p.attr('x1', a.startPoint.x),
+ p.attr('y1', a.startPoint.y),
+ p.attr('x2', a.endPoint.x),
+ p.attr('y2', a.endPoint.y),
+ p.attr('stroke-width', '1'),
+ p.attr('stroke', l),
+ p.style('fill', 'none'),
+ a.type !== 'rel_b' && p.attr('marker-end', 'url(' + f + '#arrowhead)'),
+ (a.type === 'birel' || a.type === 'rel_b') &&
+ p.attr('marker-start', 'url(' + f + '#arrowend)'),
+ (i = -1);
+ } else {
+ let p = n.append('path');
+ p
+ .attr('fill', 'none')
+ .attr('stroke-width', '1')
+ .attr('stroke', l)
+ .attr(
+ 'd',
+ 'Mstartx,starty Qcontrolx,controly stopx,stopy '
+ .replaceAll('startx', a.startPoint.x)
+ .replaceAll('starty', a.startPoint.y)
+ .replaceAll(
+ 'controlx',
+ a.startPoint.x +
+ (a.endPoint.x - a.startPoint.x) / 2 -
+ (a.endPoint.x - a.startPoint.x) / 4
+ )
+ .replaceAll('controly', a.startPoint.y + (a.endPoint.y - a.startPoint.y) / 2)
+ .replaceAll('stopx', a.endPoint.x)
+ .replaceAll('stopy', a.endPoint.y)
+ ),
+ a.type !== 'rel_b' && p.attr('marker-end', 'url(' + f + '#arrowhead)'),
+ (a.type === 'birel' || a.type === 'rel_b') &&
+ p.attr('marker-start', 'url(' + f + '#arrowend)');
+ }
+ let d = r.messageFont();
+ bu(r)(
+ a.label.text,
+ n,
+ Math.min(a.startPoint.x, a.endPoint.x) + Math.abs(a.endPoint.x - a.startPoint.x) / 2 + u,
+ Math.min(a.startPoint.y, a.endPoint.y) + Math.abs(a.endPoint.y - a.startPoint.y) / 2 + h,
+ a.label.width,
+ a.label.height,
+ { fill: s },
+ d
+ ),
+ a.techn &&
+ a.techn.text !== '' &&
+ ((d = r.messageFont()),
+ bu(r)(
+ '[' + a.techn.text + ']',
+ n,
+ Math.min(a.startPoint.x, a.endPoint.x) +
+ Math.abs(a.endPoint.x - a.startPoint.x) / 2 +
+ u,
+ Math.min(a.startPoint.y, a.endPoint.y) +
+ Math.abs(a.endPoint.y - a.startPoint.y) / 2 +
+ r.messageFontSize +
+ 5 +
+ h,
+ Math.max(a.label.width, a.techn.width),
+ a.techn.height,
+ { fill: s, 'font-style': 'italic' },
+ d
+ ));
+ }
+ }, 'drawRels')),
+ (_Te = o(function (t, e, r) {
+ let n = t.append('g'),
+ i = e.bgColor ? e.bgColor : 'none',
+ a = e.borderColor ? e.borderColor : '#444444',
+ s = e.fontColor ? e.fontColor : 'black',
+ l = { 'stroke-width': 1, 'stroke-dasharray': '7.0,7.0' };
+ e.nodeType && (l = { 'stroke-width': 1 });
+ let u = {
+ x: e.x,
+ y: e.y,
+ fill: i,
+ stroke: a,
+ width: e.width,
+ height: e.height,
+ rx: 2.5,
+ ry: 2.5,
+ attrs: l
+ };
+ S_(n, u);
+ let h = r.boundaryFont();
+ (h.fontWeight = 'bold'),
+ (h.fontSize = h.fontSize + 2),
+ (h.fontColor = s),
+ bu(r)(e.label.text, n, e.x, e.y + e.label.Y, e.width, e.height, { fill: '#444444' }, h),
+ e.type &&
+ e.type.text !== '' &&
+ ((h = r.boundaryFont()),
+ (h.fontColor = s),
+ bu(r)(e.type.text, n, e.x, e.y + e.type.Y, e.width, e.height, { fill: '#444444' }, h)),
+ e.descr &&
+ e.descr.text !== '' &&
+ ((h = r.boundaryFont()),
+ (h.fontSize = h.fontSize - 2),
+ (h.fontColor = s),
+ bu(r)(e.descr.text, n, e.x, e.y + e.descr.Y, e.width, e.height, { fill: '#444444' }, h));
+ }, 'drawBoundary')),
+ (LTe = o(function (t, e, r) {
+ let n = e.bgColor ? e.bgColor : r[e.typeC4Shape.text + '_bg_color'],
+ i = e.borderColor ? e.borderColor : r[e.typeC4Shape.text + '_border_color'],
+ a = e.fontColor ? e.fontColor : '#FFFFFF',
+ s =
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=';
+ switch (e.typeC4Shape.text) {
+ case 'person':
+ s =
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=';
+ break;
+ case 'external_person':
+ s =
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=';
+ break;
+ }
+ let l = t.append('g');
+ l.attr('class', 'person-man');
+ let u = wl();
+ switch (e.typeC4Shape.text) {
+ case 'person':
+ case 'external_person':
+ case 'system':
+ case 'external_system':
+ case 'container':
+ case 'external_container':
+ case 'component':
+ case 'external_component':
+ (u.x = e.x),
+ (u.y = e.y),
+ (u.fill = n),
+ (u.width = e.width),
+ (u.height = e.height),
+ (u.stroke = i),
+ (u.rx = 2.5),
+ (u.ry = 2.5),
+ (u.attrs = { 'stroke-width': 0.5 }),
+ S_(l, u);
+ break;
+ case 'system_db':
+ case 'external_system_db':
+ case 'container_db':
+ case 'external_container_db':
+ case 'component_db':
+ case 'external_component_db':
+ l
+ .append('path')
+ .attr('fill', n)
+ .attr('stroke-width', '0.5')
+ .attr('stroke', i)
+ .attr(
+ 'd',
+ 'Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height'
+ .replaceAll('startx', e.x)
+ .replaceAll('starty', e.y)
+ .replaceAll('half', e.width / 2)
+ .replaceAll('height', e.height)
+ ),
+ l
+ .append('path')
+ .attr('fill', 'none')
+ .attr('stroke-width', '0.5')
+ .attr('stroke', i)
+ .attr(
+ 'd',
+ 'Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10'
+ .replaceAll('startx', e.x)
+ .replaceAll('starty', e.y)
+ .replaceAll('half', e.width / 2)
+ );
+ break;
+ case 'system_queue':
+ case 'external_system_queue':
+ case 'container_queue':
+ case 'external_container_queue':
+ case 'component_queue':
+ case 'external_component_queue':
+ l
+ .append('path')
+ .attr('fill', n)
+ .attr('stroke-width', '0.5')
+ .attr('stroke', i)
+ .attr(
+ 'd',
+ 'Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half'
+ .replaceAll('startx', e.x)
+ .replaceAll('starty', e.y)
+ .replaceAll('width', e.width)
+ .replaceAll('half', e.height / 2)
+ ),
+ l
+ .append('path')
+ .attr('fill', 'none')
+ .attr('stroke-width', '0.5')
+ .attr('stroke', i)
+ .attr(
+ 'd',
+ 'Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half'
+ .replaceAll('startx', e.x + e.width)
+ .replaceAll('starty', e.y)
+ .replaceAll('half', e.height / 2)
+ );
+ break;
+ }
+ let h = FTe(r, e.typeC4Shape.text);
+ switch (
+ (l
+ .append('text')
+ .attr('fill', a)
+ .attr('font-family', h.fontFamily)
+ .attr('font-size', h.fontSize - 2)
+ .attr('font-style', 'italic')
+ .attr('lengthAdjust', 'spacing')
+ .attr('textLength', e.typeC4Shape.width)
+ .attr('x', e.x + e.width / 2 - e.typeC4Shape.width / 2)
+ .attr('y', e.y + e.typeC4Shape.Y)
+ .text('<<' + e.typeC4Shape.text + '>>'),
+ e.typeC4Shape.text)
+ ) {
+ case 'person':
+ case 'external_person':
+ SW(l, 48, 48, e.x + e.width / 2 - 24, e.y + e.image.Y, s);
+ break;
+ }
+ let f = r[e.typeC4Shape.text + 'Font']();
+ return (
+ (f.fontWeight = 'bold'),
+ (f.fontSize = f.fontSize + 2),
+ (f.fontColor = a),
+ bu(r)(e.label.text, l, e.x, e.y + e.label.Y, e.width, e.height, { fill: a }, f),
+ (f = r[e.typeC4Shape.text + 'Font']()),
+ (f.fontColor = a),
+ e.techn && e.techn?.text !== ''
+ ? bu(r)(
+ e.techn.text,
+ l,
+ e.x,
+ e.y + e.techn.Y,
+ e.width,
+ e.height,
+ { fill: a, 'font-style': 'italic' },
+ f
+ )
+ : e.type &&
+ e.type.text !== '' &&
+ bu(r)(
+ e.type.text,
+ l,
+ e.x,
+ e.y + e.type.Y,
+ e.width,
+ e.height,
+ { fill: a, 'font-style': 'italic' },
+ f
+ ),
+ e.descr &&
+ e.descr.text !== '' &&
+ ((f = r.personFont()),
+ (f.fontColor = a),
+ bu(r)(e.descr.text, l, e.x, e.y + e.descr.Y, e.width, e.height, { fill: a }, f)),
+ e.height
+ );
+ }, 'drawC4Shape')),
+ (DTe = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'database')
+ .attr('fill-rule', 'evenodd')
+ .attr('clip-rule', 'evenodd')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z'
+ );
+ }, 'insertDatabaseIcon')),
+ (RTe = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'computer')
+ .attr('width', '24')
+ .attr('height', '24')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z'
+ );
+ }, 'insertComputerIcon')),
+ (NTe = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'clock')
+ .attr('width', '24')
+ .attr('height', '24')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z'
+ );
+ }, 'insertClockIcon')),
+ (MTe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'arrowhead')
+ .attr('refX', 9)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 0 L 10 5 L 0 10 z');
+ }, 'insertArrowHead')),
+ (ITe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'arrowend')
+ .attr('refX', 1)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 10 0 L 0 5 L 10 10 z');
+ }, 'insertArrowEnd')),
+ (OTe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'filled-head')
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');
+ }, 'insertArrowFilledHead')),
+ (PTe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'sequencenumber')
+ .attr('refX', 15)
+ .attr('refY', 15)
+ .attr('markerWidth', 60)
+ .attr('markerHeight', 40)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', 15)
+ .attr('cy', 15)
+ .attr('r', 6);
+ }, 'insertDynamicNumber')),
+ (BTe = o(function (t) {
+ let r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'crosshead')
+ .attr('markerWidth', 15)
+ .attr('markerHeight', 8)
+ .attr('orient', 'auto')
+ .attr('refX', 16)
+ .attr('refY', 4);
+ r
+ .append('path')
+ .attr('fill', 'black')
+ .attr('stroke', '#000000')
+ .style('stroke-dasharray', '0, 0')
+ .attr('stroke-width', '1px')
+ .attr('d', 'M 9,2 V 6 L16,4 Z'),
+ r
+ .append('path')
+ .attr('fill', 'none')
+ .attr('stroke', '#000000')
+ .style('stroke-dasharray', '0, 0')
+ .attr('stroke-width', '1px')
+ .attr('d', 'M 0,1 L 6,7 M 6,1 L 0,7');
+ }, 'insertArrowCrossHead')),
+ (FTe = o(
+ (t, e) => ({
+ fontFamily: t[e + 'FontFamily'],
+ fontSize: t[e + 'FontSize'],
+ fontWeight: t[e + 'FontWeight']
+ }),
+ 'getC4ShapeFont'
+ )),
+ (bu = (function () {
+ function t(i, a, s, l, u, h, f) {
+ let d = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l + h / 2 + 5)
+ .style('text-anchor', 'middle')
+ .text(i);
+ n(d, f);
+ }
+ o(t, 'byText');
+ function e(i, a, s, l, u, h, f, d) {
+ let { fontSize: p, fontFamily: m, fontWeight: g } = d,
+ y = i.split(We.lineBreakRegex);
+ for (let v = 0; v < y.length; v++) {
+ let x = v * p - (p * (y.length - 1)) / 2,
+ b = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l)
+ .style('text-anchor', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .style('font-size', p)
+ .style('font-weight', g)
+ .style('font-family', m);
+ b.append('tspan').attr('dy', x).text(y[v]).attr('alignment-baseline', 'mathematical'),
+ n(b, f);
+ }
+ }
+ o(e, 'byTspan');
+ function r(i, a, s, l, u, h, f, d) {
+ let p = a.append('switch'),
+ g = p
+ .append('foreignObject')
+ .attr('x', s)
+ .attr('y', l)
+ .attr('width', u)
+ .attr('height', h)
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ g
+ .append('div')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(i),
+ e(i, p, s, l, u, h, f, d),
+ n(g, f);
+ }
+ o(r, 'byFo');
+ function n(i, a) {
+ for (let s in a) a.hasOwnProperty(s) && i.attr(s, a[s]);
+ }
+ return (
+ o(n, '_setTextAttrs'),
+ function (i) {
+ return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e;
+ }
+ );
+ })()),
+ (Tl = {
+ drawRect: S_,
+ drawBoundary: _Te,
+ drawC4Shape: LTe,
+ drawRels: ATe,
+ drawImage: SW,
+ insertArrowHead: MTe,
+ insertArrowEnd: ITe,
+ insertArrowFilledHead: OTe,
+ insertDynamicNumber: PTe,
+ insertArrowCrossHead: BTe,
+ insertDatabaseIcon: DTe,
+ insertComputerIcon: RTe,
+ insertClockIcon: NTe
+ });
+ });
+ var zTe,
+ Q3,
+ A_ = R(() => {
+ 'use strict';
+ (zTe = typeof global == 'object' && global && global.Object === Object && global), (Q3 = zTe);
+ });
+ var GTe,
+ $Te,
+ Jn,
+ Ro = R(() => {
+ 'use strict';
+ A_();
+ (GTe = typeof self == 'object' && self && self.Object === Object && self),
+ ($Te = Q3 || GTe || Function('return this')()),
+ (Jn = $Te);
+ });
+ var VTe,
+ Ji,
+ vd = R(() => {
+ 'use strict';
+ Ro();
+ (VTe = Jn.Symbol), (Ji = VTe);
+ });
+ function YTe(t) {
+ var e = UTe.call(t, Zy),
+ r = t[Zy];
+ try {
+ t[Zy] = void 0;
+ var n = !0;
+ } catch {}
+ var i = HTe.call(t);
+ return n && (e ? (t[Zy] = r) : delete t[Zy]), i;
+ }
+ var _W,
+ UTe,
+ HTe,
+ Zy,
+ LW,
+ DW = R(() => {
+ 'use strict';
+ vd();
+ (_W = Object.prototype),
+ (UTe = _W.hasOwnProperty),
+ (HTe = _W.toString),
+ (Zy = Ji ? Ji.toStringTag : void 0);
+ o(YTe, 'getRawTag');
+ LW = YTe;
+ });
+ function XTe(t) {
+ return qTe.call(t);
+ }
+ var WTe,
+ qTe,
+ RW,
+ NW = R(() => {
+ 'use strict';
+ (WTe = Object.prototype), (qTe = WTe.toString);
+ o(XTe, 'objectToString');
+ RW = XTe;
+ });
+ function QTe(t) {
+ return t == null ? (t === void 0 ? KTe : jTe) : MW && MW in Object(t) ? LW(t) : RW(t);
+ }
+ var jTe,
+ KTe,
+ MW,
+ fa,
+ wu = R(() => {
+ 'use strict';
+ vd();
+ DW();
+ NW();
+ (jTe = '[object Null]'), (KTe = '[object Undefined]'), (MW = Ji ? Ji.toStringTag : void 0);
+ o(QTe, 'baseGetTag');
+ fa = QTe;
+ });
+ function ZTe(t) {
+ var e = typeof t;
+ return t != null && (e == 'object' || e == 'function');
+ }
+ var pn,
+ Js = R(() => {
+ 'use strict';
+ o(ZTe, 'isObject');
+ pn = ZTe;
+ });
+ function nke(t) {
+ if (!pn(t)) return !1;
+ var e = fa(t);
+ return e == eke || e == tke || e == JTe || e == rke;
+ }
+ var JTe,
+ eke,
+ tke,
+ rke,
+ wi,
+ Jy = R(() => {
+ 'use strict';
+ wu();
+ Js();
+ (JTe = '[object AsyncFunction]'),
+ (eke = '[object Function]'),
+ (tke = '[object GeneratorFunction]'),
+ (rke = '[object Proxy]');
+ o(nke, 'isFunction');
+ wi = nke;
+ });
+ var ike,
+ Z3,
+ IW = R(() => {
+ 'use strict';
+ Ro();
+ (ike = Jn['__core-js_shared__']), (Z3 = ike);
+ });
+ function ake(t) {
+ return !!OW && OW in t;
+ }
+ var OW,
+ PW,
+ BW = R(() => {
+ 'use strict';
+ IW();
+ OW = (function () {
+ var t = /[^.]+$/.exec((Z3 && Z3.keys && Z3.keys.IE_PROTO) || '');
+ return t ? 'Symbol(src)_1.' + t : '';
+ })();
+ o(ake, 'isMasked');
+ PW = ake;
+ });
+ function lke(t) {
+ if (t != null) {
+ try {
+ return oke.call(t);
+ } catch {}
+ try {
+ return t + '';
+ } catch {}
+ }
+ return '';
+ }
+ var ske,
+ oke,
+ Tu,
+ __ = R(() => {
+ 'use strict';
+ (ske = Function.prototype), (oke = ske.toString);
+ o(lke, 'toSource');
+ Tu = lke;
+ });
+ function gke(t) {
+ if (!pn(t) || PW(t)) return !1;
+ var e = wi(t) ? mke : uke;
+ return e.test(Tu(t));
+ }
+ var cke,
+ uke,
+ hke,
+ fke,
+ dke,
+ pke,
+ mke,
+ FW,
+ zW = R(() => {
+ 'use strict';
+ Jy();
+ BW();
+ Js();
+ __();
+ (cke = /[\\^$.*+?()[\]{}|]/g),
+ (uke = /^\[object .+?Constructor\]$/),
+ (hke = Function.prototype),
+ (fke = Object.prototype),
+ (dke = hke.toString),
+ (pke = fke.hasOwnProperty),
+ (mke = RegExp(
+ '^' +
+ dke
+ .call(pke)
+ .replace(cke, '\\$&')
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') +
+ '$'
+ ));
+ o(gke, 'baseIsNative');
+ FW = gke;
+ });
+ function yke(t, e) {
+ return t?.[e];
+ }
+ var GW,
+ $W = R(() => {
+ 'use strict';
+ o(yke, 'getValue');
+ GW = yke;
+ });
+ function vke(t, e) {
+ var r = GW(t, e);
+ return FW(r) ? r : void 0;
+ }
+ var xs,
+ Nh = R(() => {
+ 'use strict';
+ zW();
+ $W();
+ o(vke, 'getNative');
+ xs = vke;
+ });
+ var xke,
+ ku,
+ ev = R(() => {
+ 'use strict';
+ Nh();
+ (xke = xs(Object, 'create')), (ku = xke);
+ });
+ function bke() {
+ (this.__data__ = ku ? ku(null) : {}), (this.size = 0);
+ }
+ var VW,
+ UW = R(() => {
+ 'use strict';
+ ev();
+ o(bke, 'hashClear');
+ VW = bke;
+ });
+ function wke(t) {
+ var e = this.has(t) && delete this.__data__[t];
+ return (this.size -= e ? 1 : 0), e;
+ }
+ var HW,
+ YW = R(() => {
+ 'use strict';
+ o(wke, 'hashDelete');
+ HW = wke;
+ });
+ function Cke(t) {
+ var e = this.__data__;
+ if (ku) {
+ var r = e[t];
+ return r === Tke ? void 0 : r;
+ }
+ return Eke.call(e, t) ? e[t] : void 0;
+ }
+ var Tke,
+ kke,
+ Eke,
+ WW,
+ qW = R(() => {
+ 'use strict';
+ ev();
+ (Tke = '__lodash_hash_undefined__'), (kke = Object.prototype), (Eke = kke.hasOwnProperty);
+ o(Cke, 'hashGet');
+ WW = Cke;
+ });
+ function _ke(t) {
+ var e = this.__data__;
+ return ku ? e[t] !== void 0 : Ake.call(e, t);
+ }
+ var Ske,
+ Ake,
+ XW,
+ jW = R(() => {
+ 'use strict';
+ ev();
+ (Ske = Object.prototype), (Ake = Ske.hasOwnProperty);
+ o(_ke, 'hashHas');
+ XW = _ke;
+ });
+ function Dke(t, e) {
+ var r = this.__data__;
+ return (this.size += this.has(t) ? 0 : 1), (r[t] = ku && e === void 0 ? Lke : e), this;
+ }
+ var Lke,
+ KW,
+ QW = R(() => {
+ 'use strict';
+ ev();
+ Lke = '__lodash_hash_undefined__';
+ o(Dke, 'hashSet');
+ KW = Dke;
+ });
+ function Hp(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ var L_,
+ ZW = R(() => {
+ 'use strict';
+ UW();
+ YW();
+ qW();
+ jW();
+ QW();
+ o(Hp, 'Hash');
+ Hp.prototype.clear = VW;
+ Hp.prototype.delete = HW;
+ Hp.prototype.get = WW;
+ Hp.prototype.has = XW;
+ Hp.prototype.set = KW;
+ L_ = Hp;
+ });
+ function Rke() {
+ (this.__data__ = []), (this.size = 0);
+ }
+ var JW,
+ eq = R(() => {
+ 'use strict';
+ o(Rke, 'listCacheClear');
+ JW = Rke;
+ });
+ function Nke(t, e) {
+ return t === e || (t !== t && e !== e);
+ }
+ var No,
+ xd = R(() => {
+ 'use strict';
+ o(Nke, 'eq');
+ No = Nke;
+ });
+ function Mke(t, e) {
+ for (var r = t.length; r--; ) if (No(t[r][0], e)) return r;
+ return -1;
+ }
+ var Mh,
+ tv = R(() => {
+ 'use strict';
+ xd();
+ o(Mke, 'assocIndexOf');
+ Mh = Mke;
+ });
+ function Pke(t) {
+ var e = this.__data__,
+ r = Mh(e, t);
+ if (r < 0) return !1;
+ var n = e.length - 1;
+ return r == n ? e.pop() : Oke.call(e, r, 1), --this.size, !0;
+ }
+ var Ike,
+ Oke,
+ tq,
+ rq = R(() => {
+ 'use strict';
+ tv();
+ (Ike = Array.prototype), (Oke = Ike.splice);
+ o(Pke, 'listCacheDelete');
+ tq = Pke;
+ });
+ function Bke(t) {
+ var e = this.__data__,
+ r = Mh(e, t);
+ return r < 0 ? void 0 : e[r][1];
+ }
+ var nq,
+ iq = R(() => {
+ 'use strict';
+ tv();
+ o(Bke, 'listCacheGet');
+ nq = Bke;
+ });
+ function Fke(t) {
+ return Mh(this.__data__, t) > -1;
+ }
+ var aq,
+ sq = R(() => {
+ 'use strict';
+ tv();
+ o(Fke, 'listCacheHas');
+ aq = Fke;
+ });
+ function zke(t, e) {
+ var r = this.__data__,
+ n = Mh(r, t);
+ return n < 0 ? (++this.size, r.push([t, e])) : (r[n][1] = e), this;
+ }
+ var oq,
+ lq = R(() => {
+ 'use strict';
+ tv();
+ o(zke, 'listCacheSet');
+ oq = zke;
+ });
+ function Yp(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ var Ih,
+ rv = R(() => {
+ 'use strict';
+ eq();
+ rq();
+ iq();
+ sq();
+ lq();
+ o(Yp, 'ListCache');
+ Yp.prototype.clear = JW;
+ Yp.prototype.delete = tq;
+ Yp.prototype.get = nq;
+ Yp.prototype.has = aq;
+ Yp.prototype.set = oq;
+ Ih = Yp;
+ });
+ var Gke,
+ Oh,
+ J3 = R(() => {
+ 'use strict';
+ Nh();
+ Ro();
+ (Gke = xs(Jn, 'Map')), (Oh = Gke);
+ });
+ function $ke() {
+ (this.size = 0),
+ (this.__data__ = {
+ hash: new L_(),
+ map: new (Oh || Ih)(),
+ string: new L_()
+ });
+ }
+ var cq,
+ uq = R(() => {
+ 'use strict';
+ ZW();
+ rv();
+ J3();
+ o($ke, 'mapCacheClear');
+ cq = $ke;
+ });
+ function Vke(t) {
+ var e = typeof t;
+ return e == 'string' || e == 'number' || e == 'symbol' || e == 'boolean' ? t !== '__proto__' : t === null;
+ }
+ var hq,
+ fq = R(() => {
+ 'use strict';
+ o(Vke, 'isKeyable');
+ hq = Vke;
+ });
+ function Uke(t, e) {
+ var r = t.__data__;
+ return hq(e) ? r[typeof e == 'string' ? 'string' : 'hash'] : r.map;
+ }
+ var Ph,
+ nv = R(() => {
+ 'use strict';
+ fq();
+ o(Uke, 'getMapData');
+ Ph = Uke;
+ });
+ function Hke(t) {
+ var e = Ph(this, t).delete(t);
+ return (this.size -= e ? 1 : 0), e;
+ }
+ var dq,
+ pq = R(() => {
+ 'use strict';
+ nv();
+ o(Hke, 'mapCacheDelete');
+ dq = Hke;
+ });
+ function Yke(t) {
+ return Ph(this, t).get(t);
+ }
+ var mq,
+ gq = R(() => {
+ 'use strict';
+ nv();
+ o(Yke, 'mapCacheGet');
+ mq = Yke;
+ });
+ function Wke(t) {
+ return Ph(this, t).has(t);
+ }
+ var yq,
+ vq = R(() => {
+ 'use strict';
+ nv();
+ o(Wke, 'mapCacheHas');
+ yq = Wke;
+ });
+ function qke(t, e) {
+ var r = Ph(this, t),
+ n = r.size;
+ return r.set(t, e), (this.size += r.size == n ? 0 : 1), this;
+ }
+ var xq,
+ bq = R(() => {
+ 'use strict';
+ nv();
+ o(qke, 'mapCacheSet');
+ xq = qke;
+ });
+ function Wp(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ var bd,
+ e5 = R(() => {
+ 'use strict';
+ uq();
+ pq();
+ gq();
+ vq();
+ bq();
+ o(Wp, 'MapCache');
+ Wp.prototype.clear = cq;
+ Wp.prototype.delete = dq;
+ Wp.prototype.get = mq;
+ Wp.prototype.has = yq;
+ Wp.prototype.set = xq;
+ bd = Wp;
+ });
+ function D_(t, e) {
+ if (typeof t != 'function' || (e != null && typeof e != 'function')) throw new TypeError(Xke);
+ var r = o(function () {
+ var n = arguments,
+ i = e ? e.apply(this, n) : n[0],
+ a = r.cache;
+ if (a.has(i)) return a.get(i);
+ var s = t.apply(this, n);
+ return (r.cache = a.set(i, s) || a), s;
+ }, 'memoized');
+ return (r.cache = new (D_.Cache || bd)()), r;
+ }
+ var Xke,
+ qp,
+ R_ = R(() => {
+ 'use strict';
+ e5();
+ Xke = 'Expected a function';
+ o(D_, 'memoize');
+ D_.Cache = bd;
+ qp = D_;
+ });
+ function jke() {
+ (this.__data__ = new Ih()), (this.size = 0);
+ }
+ var wq,
+ Tq = R(() => {
+ 'use strict';
+ rv();
+ o(jke, 'stackClear');
+ wq = jke;
+ });
+ function Kke(t) {
+ var e = this.__data__,
+ r = e.delete(t);
+ return (this.size = e.size), r;
+ }
+ var kq,
+ Eq = R(() => {
+ 'use strict';
+ o(Kke, 'stackDelete');
+ kq = Kke;
+ });
+ function Qke(t) {
+ return this.__data__.get(t);
+ }
+ var Cq,
+ Sq = R(() => {
+ 'use strict';
+ o(Qke, 'stackGet');
+ Cq = Qke;
+ });
+ function Zke(t) {
+ return this.__data__.has(t);
+ }
+ var Aq,
+ _q = R(() => {
+ 'use strict';
+ o(Zke, 'stackHas');
+ Aq = Zke;
+ });
+ function eEe(t, e) {
+ var r = this.__data__;
+ if (r instanceof Ih) {
+ var n = r.__data__;
+ if (!Oh || n.length < Jke - 1) return n.push([t, e]), (this.size = ++r.size), this;
+ r = this.__data__ = new bd(n);
+ }
+ return r.set(t, e), (this.size = r.size), this;
+ }
+ var Jke,
+ Lq,
+ Dq = R(() => {
+ 'use strict';
+ rv();
+ J3();
+ e5();
+ Jke = 200;
+ o(eEe, 'stackSet');
+ Lq = eEe;
+ });
+ function Xp(t) {
+ var e = (this.__data__ = new Ih(t));
+ this.size = e.size;
+ }
+ var uc,
+ iv = R(() => {
+ 'use strict';
+ rv();
+ Tq();
+ Eq();
+ Sq();
+ _q();
+ Dq();
+ o(Xp, 'Stack');
+ Xp.prototype.clear = wq;
+ Xp.prototype.delete = kq;
+ Xp.prototype.get = Cq;
+ Xp.prototype.has = Aq;
+ Xp.prototype.set = Lq;
+ uc = Xp;
+ });
+ var tEe,
+ jp,
+ N_ = R(() => {
+ 'use strict';
+ Nh();
+ (tEe = (function () {
+ try {
+ var t = xs(Object, 'defineProperty');
+ return t({}, '', {}), t;
+ } catch {}
+ })()),
+ (jp = tEe);
+ });
+ function rEe(t, e, r) {
+ e == '__proto__' && jp ? jp(t, e, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (t[e] = r);
+ }
+ var hc,
+ Kp = R(() => {
+ 'use strict';
+ N_();
+ o(rEe, 'baseAssignValue');
+ hc = rEe;
+ });
+ function nEe(t, e, r) {
+ ((r !== void 0 && !No(t[e], r)) || (r === void 0 && !(e in t))) && hc(t, e, r);
+ }
+ var av,
+ M_ = R(() => {
+ 'use strict';
+ Kp();
+ xd();
+ o(nEe, 'assignMergeValue');
+ av = nEe;
+ });
+ function iEe(t) {
+ return function (e, r, n) {
+ for (var i = -1, a = Object(e), s = n(e), l = s.length; l--; ) {
+ var u = s[t ? l : ++i];
+ if (r(a[u], u, a) === !1) break;
+ }
+ return e;
+ };
+ }
+ var Rq,
+ Nq = R(() => {
+ 'use strict';
+ o(iEe, 'createBaseFor');
+ Rq = iEe;
+ });
+ var aEe,
+ Qp,
+ t5 = R(() => {
+ 'use strict';
+ Nq();
+ (aEe = Rq()), (Qp = aEe);
+ });
+ function oEe(t, e) {
+ if (e) return t.slice();
+ var r = t.length,
+ n = Oq ? Oq(r) : new t.constructor(r);
+ return t.copy(n), n;
+ }
+ var Pq,
+ Mq,
+ sEe,
+ Iq,
+ Oq,
+ r5,
+ I_ = R(() => {
+ 'use strict';
+ Ro();
+ (Pq = typeof exports == 'object' && exports && !exports.nodeType && exports),
+ (Mq = Pq && typeof module == 'object' && module && !module.nodeType && module),
+ (sEe = Mq && Mq.exports === Pq),
+ (Iq = sEe ? Jn.Buffer : void 0),
+ (Oq = Iq ? Iq.allocUnsafe : void 0);
+ o(oEe, 'cloneBuffer');
+ r5 = oEe;
+ });
+ var lEe,
+ Zp,
+ O_ = R(() => {
+ 'use strict';
+ Ro();
+ (lEe = Jn.Uint8Array), (Zp = lEe);
+ });
+ function cEe(t) {
+ var e = new t.constructor(t.byteLength);
+ return new Zp(e).set(new Zp(t)), e;
+ }
+ var Jp,
+ n5 = R(() => {
+ 'use strict';
+ O_();
+ o(cEe, 'cloneArrayBuffer');
+ Jp = cEe;
+ });
+ function uEe(t, e) {
+ var r = e ? Jp(t.buffer) : t.buffer;
+ return new t.constructor(r, t.byteOffset, t.length);
+ }
+ var i5,
+ P_ = R(() => {
+ 'use strict';
+ n5();
+ o(uEe, 'cloneTypedArray');
+ i5 = uEe;
+ });
+ function hEe(t, e) {
+ var r = -1,
+ n = t.length;
+ for (e || (e = Array(n)); ++r < n; ) e[r] = t[r];
+ return e;
+ }
+ var a5,
+ B_ = R(() => {
+ 'use strict';
+ o(hEe, 'copyArray');
+ a5 = hEe;
+ });
+ var Bq,
+ fEe,
+ Fq,
+ zq = R(() => {
+ 'use strict';
+ Js();
+ (Bq = Object.create),
+ (fEe = (function () {
+ function t() {}
+ return (
+ o(t, 'object'),
+ function (e) {
+ if (!pn(e)) return {};
+ if (Bq) return Bq(e);
+ t.prototype = e;
+ var r = new t();
+ return (t.prototype = void 0), r;
+ }
+ );
+ })()),
+ (Fq = fEe);
+ });
+ function dEe(t, e) {
+ return function (r) {
+ return t(e(r));
+ };
+ }
+ var s5,
+ F_ = R(() => {
+ 'use strict';
+ o(dEe, 'overArg');
+ s5 = dEe;
+ });
+ var pEe,
+ em,
+ o5 = R(() => {
+ 'use strict';
+ F_();
+ (pEe = s5(Object.getPrototypeOf, Object)), (em = pEe);
+ });
+ function gEe(t) {
+ var e = t && t.constructor,
+ r = (typeof e == 'function' && e.prototype) || mEe;
+ return t === r;
+ }
+ var mEe,
+ fc,
+ tm = R(() => {
+ 'use strict';
+ mEe = Object.prototype;
+ o(gEe, 'isPrototype');
+ fc = gEe;
+ });
+ function yEe(t) {
+ return typeof t.constructor == 'function' && !fc(t) ? Fq(em(t)) : {};
+ }
+ var l5,
+ z_ = R(() => {
+ 'use strict';
+ zq();
+ o5();
+ tm();
+ o(yEe, 'initCloneObject');
+ l5 = yEe;
+ });
+ function vEe(t) {
+ return t != null && typeof t == 'object';
+ }
+ var Wn,
+ Mo = R(() => {
+ 'use strict';
+ o(vEe, 'isObjectLike');
+ Wn = vEe;
+ });
+ function bEe(t) {
+ return Wn(t) && fa(t) == xEe;
+ }
+ var xEe,
+ G_,
+ Gq = R(() => {
+ 'use strict';
+ wu();
+ Mo();
+ xEe = '[object Arguments]';
+ o(bEe, 'baseIsArguments');
+ G_ = bEe;
+ });
+ var $q,
+ wEe,
+ TEe,
+ kEe,
+ kl,
+ rm = R(() => {
+ 'use strict';
+ Gq();
+ Mo();
+ ($q = Object.prototype),
+ (wEe = $q.hasOwnProperty),
+ (TEe = $q.propertyIsEnumerable),
+ (kEe = G_(
+ (function () {
+ return arguments;
+ })()
+ )
+ ? G_
+ : function (t) {
+ return Wn(t) && wEe.call(t, 'callee') && !TEe.call(t, 'callee');
+ }),
+ (kl = kEe);
+ });
+ var EEe,
+ wt,
+ Bn = R(() => {
+ 'use strict';
+ (EEe = Array.isArray), (wt = EEe);
+ });
+ function SEe(t) {
+ return typeof t == 'number' && t > -1 && t % 1 == 0 && t <= CEe;
+ }
+ var CEe,
+ nm,
+ c5 = R(() => {
+ 'use strict';
+ CEe = 9007199254740991;
+ o(SEe, 'isLength');
+ nm = SEe;
+ });
+ function AEe(t) {
+ return t != null && nm(t.length) && !wi(t);
+ }
+ var ei,
+ Io = R(() => {
+ 'use strict';
+ Jy();
+ c5();
+ o(AEe, 'isArrayLike');
+ ei = AEe;
+ });
+ function _Ee(t) {
+ return Wn(t) && ei(t);
+ }
+ var wd,
+ u5 = R(() => {
+ 'use strict';
+ Io();
+ Mo();
+ o(_Ee, 'isArrayLikeObject');
+ wd = _Ee;
+ });
+ function LEe() {
+ return !1;
+ }
+ var Vq,
+ Uq = R(() => {
+ 'use strict';
+ o(LEe, 'stubFalse');
+ Vq = LEe;
+ });
+ var Wq,
+ Hq,
+ DEe,
+ Yq,
+ REe,
+ NEe,
+ El,
+ im = R(() => {
+ 'use strict';
+ Ro();
+ Uq();
+ (Wq = typeof exports == 'object' && exports && !exports.nodeType && exports),
+ (Hq = Wq && typeof module == 'object' && module && !module.nodeType && module),
+ (DEe = Hq && Hq.exports === Wq),
+ (Yq = DEe ? Jn.Buffer : void 0),
+ (REe = Yq ? Yq.isBuffer : void 0),
+ (NEe = REe || Vq),
+ (El = NEe);
+ });
+ function FEe(t) {
+ if (!Wn(t) || fa(t) != MEe) return !1;
+ var e = em(t);
+ if (e === null) return !0;
+ var r = PEe.call(e, 'constructor') && e.constructor;
+ return typeof r == 'function' && r instanceof r && qq.call(r) == BEe;
+ }
+ var MEe,
+ IEe,
+ OEe,
+ qq,
+ PEe,
+ BEe,
+ Xq,
+ jq = R(() => {
+ 'use strict';
+ wu();
+ o5();
+ Mo();
+ (MEe = '[object Object]'),
+ (IEe = Function.prototype),
+ (OEe = Object.prototype),
+ (qq = IEe.toString),
+ (PEe = OEe.hasOwnProperty),
+ (BEe = qq.call(Object));
+ o(FEe, 'isPlainObject');
+ Xq = FEe;
+ });
+ function c6e(t) {
+ return Wn(t) && nm(t.length) && !!Mn[fa(t)];
+ }
+ var zEe,
+ GEe,
+ $Ee,
+ VEe,
+ UEe,
+ HEe,
+ YEe,
+ WEe,
+ qEe,
+ XEe,
+ jEe,
+ KEe,
+ QEe,
+ ZEe,
+ JEe,
+ e6e,
+ t6e,
+ r6e,
+ n6e,
+ i6e,
+ a6e,
+ s6e,
+ o6e,
+ l6e,
+ Mn,
+ Kq,
+ Qq = R(() => {
+ 'use strict';
+ wu();
+ c5();
+ Mo();
+ (zEe = '[object Arguments]'),
+ (GEe = '[object Array]'),
+ ($Ee = '[object Boolean]'),
+ (VEe = '[object Date]'),
+ (UEe = '[object Error]'),
+ (HEe = '[object Function]'),
+ (YEe = '[object Map]'),
+ (WEe = '[object Number]'),
+ (qEe = '[object Object]'),
+ (XEe = '[object RegExp]'),
+ (jEe = '[object Set]'),
+ (KEe = '[object String]'),
+ (QEe = '[object WeakMap]'),
+ (ZEe = '[object ArrayBuffer]'),
+ (JEe = '[object DataView]'),
+ (e6e = '[object Float32Array]'),
+ (t6e = '[object Float64Array]'),
+ (r6e = '[object Int8Array]'),
+ (n6e = '[object Int16Array]'),
+ (i6e = '[object Int32Array]'),
+ (a6e = '[object Uint8Array]'),
+ (s6e = '[object Uint8ClampedArray]'),
+ (o6e = '[object Uint16Array]'),
+ (l6e = '[object Uint32Array]'),
+ (Mn = {});
+ Mn[e6e] = Mn[t6e] = Mn[r6e] = Mn[n6e] = Mn[i6e] = Mn[a6e] = Mn[s6e] = Mn[o6e] = Mn[l6e] = !0;
+ Mn[zEe] =
+ Mn[GEe] =
+ Mn[ZEe] =
+ Mn[$Ee] =
+ Mn[JEe] =
+ Mn[VEe] =
+ Mn[UEe] =
+ Mn[HEe] =
+ Mn[YEe] =
+ Mn[WEe] =
+ Mn[qEe] =
+ Mn[XEe] =
+ Mn[jEe] =
+ Mn[KEe] =
+ Mn[QEe] =
+ !1;
+ o(c6e, 'baseIsTypedArray');
+ Kq = c6e;
+ });
+ function u6e(t) {
+ return function (e) {
+ return t(e);
+ };
+ }
+ var Oo,
+ Td = R(() => {
+ 'use strict';
+ o(u6e, 'baseUnary');
+ Oo = u6e;
+ });
+ var Zq,
+ sv,
+ h6e,
+ $_,
+ f6e,
+ Po,
+ ov = R(() => {
+ 'use strict';
+ A_();
+ (Zq = typeof exports == 'object' && exports && !exports.nodeType && exports),
+ (sv = Zq && typeof module == 'object' && module && !module.nodeType && module),
+ (h6e = sv && sv.exports === Zq),
+ ($_ = h6e && Q3.process),
+ (f6e = (function () {
+ try {
+ var t = sv && sv.require && sv.require('util').types;
+ return t || ($_ && $_.binding && $_.binding('util'));
+ } catch {}
+ })()),
+ (Po = f6e);
+ });
+ var Jq,
+ d6e,
+ Bh,
+ lv = R(() => {
+ 'use strict';
+ Qq();
+ Td();
+ ov();
+ (Jq = Po && Po.isTypedArray), (d6e = Jq ? Oo(Jq) : Kq), (Bh = d6e);
+ });
+ function p6e(t, e) {
+ if (!(e === 'constructor' && typeof t[e] == 'function') && e != '__proto__') return t[e];
+ }
+ var cv,
+ V_ = R(() => {
+ 'use strict';
+ o(p6e, 'safeGet');
+ cv = p6e;
+ });
+ function y6e(t, e, r) {
+ var n = t[e];
+ (!(g6e.call(t, e) && No(n, r)) || (r === void 0 && !(e in t))) && hc(t, e, r);
+ }
+ var m6e,
+ g6e,
+ dc,
+ am = R(() => {
+ 'use strict';
+ Kp();
+ xd();
+ (m6e = Object.prototype), (g6e = m6e.hasOwnProperty);
+ o(y6e, 'assignValue');
+ dc = y6e;
+ });
+ function v6e(t, e, r, n) {
+ var i = !r;
+ r || (r = {});
+ for (var a = -1, s = e.length; ++a < s; ) {
+ var l = e[a],
+ u = n ? n(r[l], t[l], l, r, t) : void 0;
+ u === void 0 && (u = t[l]), i ? hc(r, l, u) : dc(r, l, u);
+ }
+ return r;
+ }
+ var Bo,
+ kd = R(() => {
+ 'use strict';
+ am();
+ Kp();
+ o(v6e, 'copyObject');
+ Bo = v6e;
+ });
+ function x6e(t, e) {
+ for (var r = -1, n = Array(t); ++r < t; ) n[r] = e(r);
+ return n;
+ }
+ var eX,
+ tX = R(() => {
+ 'use strict';
+ o(x6e, 'baseTimes');
+ eX = x6e;
+ });
+ function T6e(t, e) {
+ var r = typeof t;
+ return (
+ (e = e ?? b6e), !!e && (r == 'number' || (r != 'symbol' && w6e.test(t))) && t > -1 && t % 1 == 0 && t < e
+ );
+ }
+ var b6e,
+ w6e,
+ Fh,
+ uv = R(() => {
+ 'use strict';
+ (b6e = 9007199254740991), (w6e = /^(?:0|[1-9]\d*)$/);
+ o(T6e, 'isIndex');
+ Fh = T6e;
+ });
+ function C6e(t, e) {
+ var r = wt(t),
+ n = !r && kl(t),
+ i = !r && !n && El(t),
+ a = !r && !n && !i && Bh(t),
+ s = r || n || i || a,
+ l = s ? eX(t.length, String) : [],
+ u = l.length;
+ for (var h in t)
+ (e || E6e.call(t, h)) &&
+ !(
+ s &&
+ (h == 'length' ||
+ (i && (h == 'offset' || h == 'parent')) ||
+ (a && (h == 'buffer' || h == 'byteLength' || h == 'byteOffset')) ||
+ Fh(h, u))
+ ) &&
+ l.push(h);
+ return l;
+ }
+ var k6e,
+ E6e,
+ h5,
+ U_ = R(() => {
+ 'use strict';
+ tX();
+ rm();
+ Bn();
+ im();
+ uv();
+ lv();
+ (k6e = Object.prototype), (E6e = k6e.hasOwnProperty);
+ o(C6e, 'arrayLikeKeys');
+ h5 = C6e;
+ });
+ function S6e(t) {
+ var e = [];
+ if (t != null) for (var r in Object(t)) e.push(r);
+ return e;
+ }
+ var rX,
+ nX = R(() => {
+ 'use strict';
+ o(S6e, 'nativeKeysIn');
+ rX = S6e;
+ });
+ function L6e(t) {
+ if (!pn(t)) return rX(t);
+ var e = fc(t),
+ r = [];
+ for (var n in t) (n == 'constructor' && (e || !_6e.call(t, n))) || r.push(n);
+ return r;
+ }
+ var A6e,
+ _6e,
+ iX,
+ aX = R(() => {
+ 'use strict';
+ Js();
+ tm();
+ nX();
+ (A6e = Object.prototype), (_6e = A6e.hasOwnProperty);
+ o(L6e, 'baseKeysIn');
+ iX = L6e;
+ });
+ function D6e(t) {
+ return ei(t) ? h5(t, !0) : iX(t);
+ }
+ var bs,
+ zh = R(() => {
+ 'use strict';
+ U_();
+ aX();
+ Io();
+ o(D6e, 'keysIn');
+ bs = D6e;
+ });
+ function R6e(t) {
+ return Bo(t, bs(t));
+ }
+ var sX,
+ oX = R(() => {
+ 'use strict';
+ kd();
+ zh();
+ o(R6e, 'toPlainObject');
+ sX = R6e;
+ });
+ function N6e(t, e, r, n, i, a, s) {
+ var l = cv(t, r),
+ u = cv(e, r),
+ h = s.get(u);
+ if (h) {
+ av(t, r, h);
+ return;
+ }
+ var f = a ? a(l, u, r + '', t, e, s) : void 0,
+ d = f === void 0;
+ if (d) {
+ var p = wt(u),
+ m = !p && El(u),
+ g = !p && !m && Bh(u);
+ (f = u),
+ p || m || g
+ ? wt(l)
+ ? (f = l)
+ : wd(l)
+ ? (f = a5(l))
+ : m
+ ? ((d = !1), (f = r5(u, !0)))
+ : g
+ ? ((d = !1), (f = i5(u, !0)))
+ : (f = [])
+ : Xq(u) || kl(u)
+ ? ((f = l), kl(l) ? (f = sX(l)) : (!pn(l) || wi(l)) && (f = l5(u)))
+ : (d = !1);
+ }
+ d && (s.set(u, f), i(f, u, n, a, s), s.delete(u)), av(t, r, f);
+ }
+ var lX,
+ cX = R(() => {
+ 'use strict';
+ M_();
+ I_();
+ P_();
+ B_();
+ z_();
+ rm();
+ Bn();
+ u5();
+ im();
+ Jy();
+ Js();
+ jq();
+ lv();
+ V_();
+ oX();
+ o(N6e, 'baseMergeDeep');
+ lX = N6e;
+ });
+ function uX(t, e, r, n, i) {
+ t !== e &&
+ Qp(
+ e,
+ function (a, s) {
+ if ((i || (i = new uc()), pn(a))) lX(t, e, s, r, uX, n, i);
+ else {
+ var l = n ? n(cv(t, s), a, s + '', t, e, i) : void 0;
+ l === void 0 && (l = a), av(t, s, l);
+ }
+ },
+ bs
+ );
+ }
+ var hX,
+ fX = R(() => {
+ 'use strict';
+ iv();
+ M_();
+ t5();
+ cX();
+ Js();
+ zh();
+ V_();
+ o(uX, 'baseMerge');
+ hX = uX;
+ });
+ function M6e(t) {
+ return t;
+ }
+ var ea,
+ Eu = R(() => {
+ 'use strict';
+ o(M6e, 'identity');
+ ea = M6e;
+ });
+ function I6e(t, e, r) {
+ switch (r.length) {
+ case 0:
+ return t.call(e);
+ case 1:
+ return t.call(e, r[0]);
+ case 2:
+ return t.call(e, r[0], r[1]);
+ case 3:
+ return t.call(e, r[0], r[1], r[2]);
+ }
+ return t.apply(e, r);
+ }
+ var dX,
+ pX = R(() => {
+ 'use strict';
+ o(I6e, 'apply');
+ dX = I6e;
+ });
+ function O6e(t, e, r) {
+ return (
+ (e = mX(e === void 0 ? t.length - 1 : e, 0)),
+ function () {
+ for (var n = arguments, i = -1, a = mX(n.length - e, 0), s = Array(a); ++i < a; ) s[i] = n[e + i];
+ i = -1;
+ for (var l = Array(e + 1); ++i < e; ) l[i] = n[i];
+ return (l[e] = r(s)), dX(t, this, l);
+ }
+ );
+ }
+ var mX,
+ f5,
+ H_ = R(() => {
+ 'use strict';
+ pX();
+ mX = Math.max;
+ o(O6e, 'overRest');
+ f5 = O6e;
+ });
+ function P6e(t) {
+ return function () {
+ return t;
+ };
+ }
+ var ws,
+ Y_ = R(() => {
+ 'use strict';
+ o(P6e, 'constant');
+ ws = P6e;
+ });
+ var B6e,
+ gX,
+ yX = R(() => {
+ 'use strict';
+ Y_();
+ N_();
+ Eu();
+ (B6e = jp
+ ? function (t, e) {
+ return jp(t, 'toString', {
+ configurable: !0,
+ enumerable: !1,
+ value: ws(e),
+ writable: !0
+ });
+ }
+ : ea),
+ (gX = B6e);
+ });
+ function $6e(t) {
+ var e = 0,
+ r = 0;
+ return function () {
+ var n = G6e(),
+ i = z6e - (n - r);
+ if (((r = n), i > 0)) {
+ if (++e >= F6e) return arguments[0];
+ } else e = 0;
+ return t.apply(void 0, arguments);
+ };
+ }
+ var F6e,
+ z6e,
+ G6e,
+ vX,
+ xX = R(() => {
+ 'use strict';
+ (F6e = 800), (z6e = 16), (G6e = Date.now);
+ o($6e, 'shortOut');
+ vX = $6e;
+ });
+ var V6e,
+ d5,
+ W_ = R(() => {
+ 'use strict';
+ yX();
+ xX();
+ (V6e = vX(gX)), (d5 = V6e);
+ });
+ function U6e(t, e) {
+ return d5(f5(t, e, ea), t + '');
+ }
+ var pc,
+ sm = R(() => {
+ 'use strict';
+ Eu();
+ H_();
+ W_();
+ o(U6e, 'baseRest');
+ pc = U6e;
+ });
+ function H6e(t, e, r) {
+ if (!pn(r)) return !1;
+ var n = typeof e;
+ return (n == 'number' ? ei(r) && Fh(e, r.length) : n == 'string' && e in r) ? No(r[e], t) : !1;
+ }
+ var eo,
+ Ed = R(() => {
+ 'use strict';
+ xd();
+ Io();
+ uv();
+ Js();
+ o(H6e, 'isIterateeCall');
+ eo = H6e;
+ });
+ function Y6e(t) {
+ return pc(function (e, r) {
+ var n = -1,
+ i = r.length,
+ a = i > 1 ? r[i - 1] : void 0,
+ s = i > 2 ? r[2] : void 0;
+ for (
+ a = t.length > 3 && typeof a == 'function' ? (i--, a) : void 0,
+ s && eo(r[0], r[1], s) && ((a = i < 3 ? void 0 : a), (i = 1)),
+ e = Object(e);
+ ++n < i;
+
+ ) {
+ var l = r[n];
+ l && t(e, l, n, a);
+ }
+ return e;
+ });
+ }
+ var p5,
+ q_ = R(() => {
+ 'use strict';
+ sm();
+ Ed();
+ o(Y6e, 'createAssigner');
+ p5 = Y6e;
+ });
+ var W6e,
+ Gh,
+ X_ = R(() => {
+ 'use strict';
+ fX();
+ q_();
+ (W6e = p5(function (t, e, r) {
+ hX(t, e, r);
+ })),
+ (Gh = W6e);
+ });
+ function om(t, e) {
+ if (!t) return e;
+ let r = `curve${t.charAt(0).toUpperCase() + t.slice(1)}`;
+ return q6e[r] ?? e;
+ }
+ function Q6e(t, e) {
+ let r = t.trim();
+ if (r) return e.securityLevel !== 'loose' ? (0, TX.sanitizeUrl)(r) : r;
+ }
+ function CX(t, e) {
+ return !t || !e ? 0 : Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2));
+ }
+ function J6e(t) {
+ let e,
+ r = 0;
+ t.forEach((i) => {
+ (r += CX(i, e)), (e = i);
+ });
+ let n = r / 2;
+ return Q_(t, n);
+ }
+ function eCe(t) {
+ return t.length === 1 ? t[0] : J6e(t);
+ }
+ function rCe(t, e, r) {
+ let n = structuredClone(r);
+ V.info('our points', n), e !== 'start_left' && e !== 'start_right' && n.reverse();
+ let i = 25 + t,
+ a = Q_(n, i),
+ s = 10 + t * 0.5,
+ l = Math.atan2(n[0].y - a.y, n[0].x - a.x),
+ u = { x: 0, y: 0 };
+ return (
+ e === 'start_left'
+ ? ((u.x = Math.sin(l + Math.PI) * s + (n[0].x + a.x) / 2),
+ (u.y = -Math.cos(l + Math.PI) * s + (n[0].y + a.y) / 2))
+ : e === 'end_right'
+ ? ((u.x = Math.sin(l - Math.PI) * s + (n[0].x + a.x) / 2 - 5),
+ (u.y = -Math.cos(l - Math.PI) * s + (n[0].y + a.y) / 2 - 5))
+ : e === 'end_left'
+ ? ((u.x = Math.sin(l) * s + (n[0].x + a.x) / 2 - 5), (u.y = -Math.cos(l) * s + (n[0].y + a.y) / 2 - 5))
+ : ((u.x = Math.sin(l) * s + (n[0].x + a.x) / 2), (u.y = -Math.cos(l) * s + (n[0].y + a.y) / 2)),
+ u
+ );
+ }
+ function lm(t) {
+ let e = '',
+ r = '';
+ for (let n of t)
+ n !== void 0 &&
+ (n.startsWith('color:') || n.startsWith('text-align:') ? (r = r + n + ';') : (e = e + n + ';'));
+ return { style: e, labelStyle: r };
+ }
+ function nCe(t) {
+ let e = '',
+ r = '0123456789abcdef',
+ n = r.length;
+ for (let i = 0; i < t; i++) e += r.charAt(Math.floor(Math.random() * n));
+ return e;
+ }
+ function g5(t, e) {
+ return t9(t, e).height;
+ }
+ function Cl(t, e) {
+ return t9(t, e).width;
+ }
+ function r9(t) {
+ return 'str' in t;
+ }
+ function Ts(t, e) {
+ return Gh({}, t, e);
+ }
+ var TX,
+ K_,
+ q6e,
+ X6e,
+ j6e,
+ kX,
+ EX,
+ K6e,
+ Z6e,
+ bX,
+ Q_,
+ tCe,
+ wX,
+ Z_,
+ J_,
+ iCe,
+ aCe,
+ e9,
+ sCe,
+ t9,
+ j_,
+ m5,
+ oCe,
+ lCe,
+ mc,
+ Lt,
+ SX,
+ to,
+ y5,
+ xr = R(() => {
+ 'use strict';
+ TX = Xi(Up(), 1);
+ Zt();
+ rr();
+ r7();
+ ut();
+ Hf();
+ cp();
+ R_();
+ X_();
+ Vb();
+ (K_ = '\u200B'),
+ (q6e = {
+ curveBasis: vs,
+ curveBasisClosed: B3,
+ curveBasisOpen: F3,
+ curveBumpX: s_,
+ curveBumpY: o_,
+ curveBundle: l_,
+ curveCardinalClosed: u_,
+ curveCardinalOpen: f_,
+ curveCardinal: c_,
+ curveCatmullRomClosed: m_,
+ curveCatmullRomOpen: g_,
+ curveCatmullRom: p_,
+ curveLinear: xu,
+ curveLinearClosed: U3,
+ curveMonotoneX: v_,
+ curveMonotoneY: x_,
+ curveNatural: Y3,
+ curveStep: q3,
+ curveStepAfter: w_,
+ curveStepBefore: b_
+ }),
+ (X6e = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi),
+ (j6e = o(function (t, e) {
+ let r = kX(t, /(?:init\b)|(?:initialize\b)/),
+ n = {};
+ if (Array.isArray(r)) {
+ let s = r.map((l) => l.args);
+ fp(s), (n = On(n, [...s]));
+ } else n = r.args;
+ if (!n) return;
+ let i = lp(t, e),
+ a = 'config';
+ return (
+ n[a] !== void 0 && (i === 'flowchart-v2' && (i = 'flowchart'), (n[i] = n[a]), delete n[a]), n
+ );
+ }, 'detectInit')),
+ (kX = o(function (t, e = null) {
+ try {
+ let r = new RegExp(
+ `[%]{2}(?![{]${X6e.source})(?=[}][%]{2}).*
+`,
+ 'ig'
+ );
+ (t = t.trim().replace(r, '').replace(/'/gm, '"')),
+ V.debug(
+ `Detecting diagram directive${e !== null ? ' type:' + e : ''} based on the text:${t}`
+ );
+ let n,
+ i = [];
+ for (; (n = Vf.exec(t)) !== null; )
+ if (
+ (n.index === Vf.lastIndex && Vf.lastIndex++,
+ (n && !e) || (e && n[1]?.match(e)) || (e && n[2]?.match(e)))
+ ) {
+ let a = n[1] ? n[1] : n[2],
+ s = n[3] ? n[3].trim() : n[4] ? JSON.parse(n[4].trim()) : null;
+ i.push({ type: a, args: s });
+ }
+ return i.length === 0 ? { type: t, args: null } : i.length === 1 ? i[0] : i;
+ } catch (r) {
+ return (
+ V.error(
+ `ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`
+ ),
+ { type: void 0, args: null }
+ );
+ }
+ }, 'detectDirective')),
+ (EX = o(function (t) {
+ return t.replace(Vf, '');
+ }, 'removeDirectives')),
+ (K6e = o(function (t, e) {
+ for (let [r, n] of e.entries()) if (n.match(t)) return r;
+ return -1;
+ }, 'isSubstringInArray'));
+ o(om, 'interpolateToCurve');
+ o(Q6e, 'formatUrl');
+ Z6e = o((t, ...e) => {
+ let r = t.split('.'),
+ n = r.length - 1,
+ i = r[n],
+ a = window;
+ for (let s = 0; s < n; s++)
+ if (((a = a[r[s]]), !a)) {
+ V.error(`Function name: ${t} not found in window`);
+ return;
+ }
+ a[i](...e);
+ }, 'runFunc');
+ o(CX, 'distance');
+ o(J6e, 'traverseEdge');
+ o(eCe, 'calcLabelPosition');
+ (bX = o((t, e = 2) => {
+ let r = Math.pow(10, e);
+ return Math.round(t * r) / r;
+ }, 'roundNumber')),
+ (Q_ = o((t, e) => {
+ let r,
+ n = e;
+ for (let i of t) {
+ if (r) {
+ let a = CX(i, r);
+ if (a < n) n -= a;
+ else {
+ let s = n / a;
+ if (s <= 0) return r;
+ if (s >= 1) return { x: i.x, y: i.y };
+ if (s > 0 && s < 1)
+ return {
+ x: bX((1 - s) * r.x + s * i.x, 5),
+ y: bX((1 - s) * r.y + s * i.y, 5)
+ };
+ }
+ }
+ r = i;
+ }
+ throw new Error('Could not find a suitable point for the given distance');
+ }, 'calculatePoint')),
+ (tCe = o((t, e, r) => {
+ V.info(`our points ${JSON.stringify(e)}`), e[0] !== r && (e = e.reverse());
+ let i = Q_(e, 25),
+ a = t ? 10 : 5,
+ s = Math.atan2(e[0].y - i.y, e[0].x - i.x),
+ l = { x: 0, y: 0 };
+ return (
+ (l.x = Math.sin(s) * a + (e[0].x + i.x) / 2), (l.y = -Math.cos(s) * a + (e[0].y + i.y) / 2), l
+ );
+ }, 'calcCardinalityPosition'));
+ o(rCe, 'calcTerminalLabelPosition');
+ o(lm, 'getStylesFromArray');
+ (wX = 0), (Z_ = o(() => (wX++, 'id-' + Math.random().toString(36).substr(2, 12) + '-' + wX), 'generateId'));
+ o(nCe, 'makeRandomHex');
+ (J_ = o((t) => nCe(t.length), 'random')),
+ (iCe = o(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,
+ text: ''
+ };
+ }, 'getTextObj')),
+ (aCe = o(function (t, e) {
+ let r = e.text.replace(We.lineBreakRegex, ' '),
+ [, n] = mc(e.fontSize),
+ i = t.append('text');
+ i.attr('x', e.x),
+ i.attr('y', e.y),
+ i.style('text-anchor', e.anchor),
+ i.style('font-family', e.fontFamily),
+ i.style('font-size', n),
+ i.style('font-weight', e.fontWeight),
+ i.attr('fill', e.fill),
+ e.class !== void 0 && i.attr('class', e.class);
+ let a = i.append('tspan');
+ return a.attr('x', e.x + e.textMargin * 2), a.attr('fill', e.fill), a.text(r), i;
+ }, 'drawSimpleText')),
+ (e9 = qp(
+ (t, e, r) => {
+ if (
+ !t ||
+ ((r = Object.assign(
+ {
+ fontSize: 12,
+ fontWeight: 400,
+ fontFamily: 'Arial',
+ joinWith: '
'
+ },
+ r
+ )),
+ We.lineBreakRegex.test(t))
+ )
+ return t;
+ let n = t.split(' ').filter(Boolean),
+ i = [],
+ a = '';
+ return (
+ n.forEach((s, l) => {
+ let u = Cl(`${s} `, r),
+ h = Cl(a, r);
+ if (u > e) {
+ let { hyphenatedStrings: p, remainingWord: m } = sCe(s, e, '-', r);
+ i.push(a, ...p), (a = m);
+ } else h + u >= e ? (i.push(a), (a = s)) : (a = [a, s].filter(Boolean).join(' '));
+ l + 1 === n.length && i.push(a);
+ }),
+ i.filter((s) => s !== '').join(r.joinWith)
+ );
+ },
+ (t, e, r) => `${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`
+ )),
+ (sCe = qp(
+ (t, e, r = '-', n) => {
+ n = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: 'Arial', margin: 0 }, n);
+ let i = [...t],
+ a = [],
+ s = '';
+ return (
+ i.forEach((l, u) => {
+ let h = `${s}${l}`;
+ if (Cl(h, n) >= e) {
+ let d = u + 1,
+ p = i.length === d,
+ m = `${h}${r}`;
+ a.push(p ? h : m), (s = '');
+ } else s = h;
+ }),
+ { hyphenatedStrings: a, remainingWord: s }
+ );
+ },
+ (t, e, r = '-', n) => `${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`
+ ));
+ o(g5, 'calculateTextHeight');
+ o(Cl, 'calculateTextWidth');
+ (t9 = qp(
+ (t, e) => {
+ let { fontSize: r = 12, fontFamily: n = 'Arial', fontWeight: i = 400 } = e;
+ if (!t) return { width: 0, height: 0 };
+ let [, a] = mc(r),
+ s = ['sans-serif', n],
+ l = t.split(We.lineBreakRegex),
+ u = [],
+ h = $e('body');
+ if (!h.remove) return { width: 0, height: 0, lineHeight: 0 };
+ let f = h.append('svg');
+ for (let p of s) {
+ let m = 0,
+ g = { width: 0, height: 0, lineHeight: 0 };
+ for (let y of l) {
+ let v = iCe();
+ v.text = y || K_;
+ let x = aCe(f, v).style('font-size', a).style('font-weight', i).style('font-family', p),
+ b = (x._groups || x)[0][0].getBBox();
+ if (b.width === 0 && b.height === 0) throw new Error('svg element not in render tree');
+ (g.width = Math.round(Math.max(g.width, b.width))),
+ (m = Math.round(b.height)),
+ (g.height += m),
+ (g.lineHeight = Math.round(Math.max(g.lineHeight, m)));
+ }
+ u.push(g);
+ }
+ f.remove();
+ let d =
+ isNaN(u[1].height) ||
+ isNaN(u[1].width) ||
+ isNaN(u[1].lineHeight) ||
+ (u[0].height > u[1].height && u[0].width > u[1].width && u[0].lineHeight > u[1].lineHeight)
+ ? 0
+ : 1;
+ return u[d];
+ },
+ (t, e) => `${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`
+ )),
+ (j_ = class {
+ constructor(e = !1, r) {
+ this.count = 0;
+ (this.count = r ? r.length : 0), (this.next = e ? () => this.count++ : () => Date.now());
+ }
+ static {
+ o(this, 'InitIDGenerator');
+ }
+ }),
+ (oCe = o(function (t) {
+ return (
+ (m5 = m5 || document.createElement('div')),
+ (t = escape(t).replace(/%26/g, '&').replace(/%23/g, '#').replace(/%3B/g, ';')),
+ (m5.innerHTML = t),
+ unescape(m5.textContent)
+ );
+ }, 'entityDecode'));
+ o(r9, 'isDetailedError');
+ (lCe = o((t, e, r, n) => {
+ if (!n) return;
+ let i = t.node()?.getBBox();
+ i &&
+ t
+ .append('text')
+ .text(n)
+ .attr('x', i.x + i.width / 2)
+ .attr('y', -r)
+ .attr('class', e);
+ }, 'insertTitle')),
+ (mc = o((t) => {
+ if (typeof t == 'number') return [t, t + 'px'];
+ let e = parseInt(t ?? '', 10);
+ return Number.isNaN(e) ? [void 0, void 0] : t === String(e) ? [e, t + 'px'] : [e, t];
+ }, 'parseFontSize'));
+ o(Ts, 'cleanAndMerge');
+ (Lt = {
+ assignWithDepth: On,
+ wrapLabel: e9,
+ calculateTextHeight: g5,
+ calculateTextWidth: Cl,
+ calculateTextDimensions: t9,
+ cleanAndMerge: Ts,
+ detectInit: j6e,
+ detectDirective: kX,
+ isSubstringInArray: K6e,
+ interpolateToCurve: om,
+ calcLabelPosition: eCe,
+ calcCardinalityPosition: tCe,
+ calcTerminalLabelPosition: rCe,
+ formatUrl: Q6e,
+ getStylesFromArray: lm,
+ generateId: Z_,
+ random: J_,
+ runFunc: Z6e,
+ entityDecode: oCe,
+ insertTitle: lCe,
+ parseFontSize: mc,
+ InitIDGenerator: j_
+ }),
+ (SX = o(function (t) {
+ let e = t;
+ return (
+ (e = e.replace(/style.*:\S*#.*;/g, function (r) {
+ return r.substring(0, r.length - 1);
+ })),
+ (e = e.replace(/classDef.*:\S*#.*;/g, function (r) {
+ return r.substring(0, r.length - 1);
+ })),
+ (e = e.replace(/#\w+;/g, function (r) {
+ let n = r.substring(1, r.length - 1);
+ return /^\+?\d+$/.test(n)
+ ? '\uFB02\xB0\xB0' + n + '\xB6\xDF'
+ : '\uFB02\xB0' + n + '\xB6\xDF';
+ })),
+ e
+ );
+ }, 'encodeEntities')),
+ (to = o(function (t) {
+ return t.replace(/fl°°/g, '').replace(/fl°/g, '&').replace(/¶ß/g, ';');
+ }, 'decodeEntities')),
+ (y5 = o(
+ (t, e, { counter: r = 0, prefix: n, suffix: i }) =>
+ `${n ? `${n}_` : ''}${t}_${e}_${r}${i ? `_${i}` : ''}`,
+ 'getEdgeId'
+ ));
+ });
+ function Sl(t, e, r, n, i) {
+ if (!e[t].width)
+ if (r)
+ (e[t].text = e9(e[t].text, i, n)),
+ (e[t].textLines = e[t].text.split(We.lineBreakRegex).length),
+ (e[t].width = i),
+ (e[t].height = g5(e[t].text, n));
+ else {
+ let a = e[t].text.split(We.lineBreakRegex);
+ e[t].textLines = a.length;
+ let s = 0;
+ (e[t].height = 0), (e[t].width = 0);
+ for (let l of a)
+ (e[t].width = Math.max(Cl(l, n), e[t].width)), (s = g5(l, n)), (e[t].height = e[t].height + s);
+ }
+ }
+ function RX(t, e, r, n, i) {
+ let a = new w5(i);
+ a.data.widthLimit = r.data.widthLimit / Math.min(n9, n.length);
+ for (let [s, l] of n.entries()) {
+ let u = 0;
+ (l.image = { width: 0, height: 0, Y: 0 }),
+ l.sprite &&
+ ((l.image.width = 48), (l.image.height = 48), (l.image.Y = u), (u = l.image.Y + l.image.height));
+ let h = l.wrap && Nt.wrap,
+ f = v5(Nt);
+ if (
+ ((f.fontSize = f.fontSize + 2),
+ (f.fontWeight = 'bold'),
+ Sl('label', l, h, f, a.data.widthLimit),
+ (l.label.Y = u + 8),
+ (u = l.label.Y + l.label.height),
+ l.type && l.type.text !== '')
+ ) {
+ l.type.text = '[' + l.type.text + ']';
+ let g = v5(Nt);
+ Sl('type', l, h, g, a.data.widthLimit), (l.type.Y = u + 5), (u = l.type.Y + l.type.height);
+ }
+ if (l.descr && l.descr.text !== '') {
+ let g = v5(Nt);
+ (g.fontSize = g.fontSize - 2),
+ Sl('descr', l, h, g, a.data.widthLimit),
+ (l.descr.Y = u + 20),
+ (u = l.descr.Y + l.descr.height);
+ }
+ if (s == 0 || s % n9 === 0) {
+ let g = r.data.startx + Nt.diagramMarginX,
+ y = r.data.stopy + Nt.diagramMarginY + u;
+ a.setData(g, g, y, y);
+ } else {
+ let g = a.data.stopx !== a.data.startx ? a.data.stopx + Nt.diagramMarginX : a.data.startx,
+ y = a.data.starty;
+ a.setData(g, g, y, y);
+ }
+ a.name = l.alias;
+ let d = i.db.getC4ShapeArray(l.alias),
+ p = i.db.getC4ShapeKeys(l.alias);
+ p.length > 0 && DX(a, t, d, p), (e = l.alias);
+ let m = i.db.getBoundarys(e);
+ m.length > 0 && RX(t, e, a, m, i),
+ l.alias !== 'global' && LX(t, l, a),
+ (r.data.stopy = Math.max(a.data.stopy + Nt.c4ShapeMargin, r.data.stopy)),
+ (r.data.stopx = Math.max(a.data.stopx + Nt.c4ShapeMargin, r.data.stopx)),
+ (x5 = Math.max(x5, r.data.stopx)),
+ (b5 = Math.max(b5, r.data.stopy));
+ }
+ }
+ var x5,
+ b5,
+ _X,
+ n9,
+ Nt,
+ w5,
+ i9,
+ hv,
+ v5,
+ cCe,
+ LX,
+ DX,
+ ks,
+ AX,
+ uCe,
+ hCe,
+ fCe,
+ a9,
+ NX = R(() => {
+ 'use strict';
+ Zt();
+ AW();
+ ut();
+ VC();
+ rr();
+ lS();
+ _t();
+ cp();
+ xr();
+ Yn();
+ (x5 = 0), (b5 = 0), (_X = 4), (n9 = 2);
+ U1.yy = hy;
+ (Nt = {}),
+ (w5 = class {
+ static {
+ o(this, 'Bounds');
+ }
+ constructor(e) {
+ (this.name = ''),
+ (this.data = {}),
+ (this.data.startx = void 0),
+ (this.data.stopx = void 0),
+ (this.data.starty = void 0),
+ (this.data.stopy = void 0),
+ (this.data.widthLimit = void 0),
+ (this.nextData = {}),
+ (this.nextData.startx = void 0),
+ (this.nextData.stopx = void 0),
+ (this.nextData.starty = void 0),
+ (this.nextData.stopy = void 0),
+ (this.nextData.cnt = 0),
+ i9(e.db.getConfig());
+ }
+ setData(e, r, n, i) {
+ (this.nextData.startx = this.data.startx = e),
+ (this.nextData.stopx = this.data.stopx = r),
+ (this.nextData.starty = this.data.starty = n),
+ (this.nextData.stopy = this.data.stopy = i);
+ }
+ updateVal(e, r, n, i) {
+ e[r] === void 0 ? (e[r] = n) : (e[r] = i(n, e[r]));
+ }
+ insert(e) {
+ this.nextData.cnt = this.nextData.cnt + 1;
+ let r =
+ this.nextData.startx === this.nextData.stopx
+ ? this.nextData.stopx + e.margin
+ : this.nextData.stopx + e.margin * 2,
+ n = r + e.width,
+ i = this.nextData.starty + e.margin * 2,
+ a = i + e.height;
+ (r >= this.data.widthLimit || n >= this.data.widthLimit || this.nextData.cnt > _X) &&
+ ((r = this.nextData.startx + e.margin + Nt.nextLinePaddingX),
+ (i = this.nextData.stopy + e.margin * 2),
+ (this.nextData.stopx = n = r + e.width),
+ (this.nextData.starty = this.nextData.stopy),
+ (this.nextData.stopy = a = i + e.height),
+ (this.nextData.cnt = 1)),
+ (e.x = r),
+ (e.y = i),
+ this.updateVal(this.data, 'startx', r, Math.min),
+ this.updateVal(this.data, 'starty', i, Math.min),
+ this.updateVal(this.data, 'stopx', n, Math.max),
+ this.updateVal(this.data, 'stopy', a, Math.max),
+ this.updateVal(this.nextData, 'startx', r, Math.min),
+ this.updateVal(this.nextData, 'starty', i, Math.min),
+ this.updateVal(this.nextData, 'stopx', n, Math.max),
+ this.updateVal(this.nextData, 'stopy', a, Math.max);
+ }
+ init(e) {
+ (this.name = ''),
+ (this.data = {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0,
+ widthLimit: void 0
+ }),
+ (this.nextData = {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0,
+ cnt: 0
+ }),
+ i9(e.db.getConfig());
+ }
+ bumpLastMargin(e) {
+ (this.data.stopx += e), (this.data.stopy += e);
+ }
+ }),
+ (i9 = o(function (t) {
+ On(Nt, t),
+ t.fontFamily &&
+ (Nt.personFontFamily = Nt.systemFontFamily = Nt.messageFontFamily = t.fontFamily),
+ t.fontSize && (Nt.personFontSize = Nt.systemFontSize = Nt.messageFontSize = t.fontSize),
+ t.fontWeight &&
+ (Nt.personFontWeight = Nt.systemFontWeight = Nt.messageFontWeight = t.fontWeight);
+ }, 'setConf')),
+ (hv = o(
+ (t, e) => ({
+ fontFamily: t[e + 'FontFamily'],
+ fontSize: t[e + 'FontSize'],
+ fontWeight: t[e + 'FontWeight']
+ }),
+ 'c4ShapeFont'
+ )),
+ (v5 = o(
+ (t) => ({
+ fontFamily: t.boundaryFontFamily,
+ fontSize: t.boundaryFontSize,
+ fontWeight: t.boundaryFontWeight
+ }),
+ 'boundaryFont'
+ )),
+ (cCe = o(
+ (t) => ({
+ fontFamily: t.messageFontFamily,
+ fontSize: t.messageFontSize,
+ fontWeight: t.messageFontWeight
+ }),
+ 'messageFont'
+ ));
+ o(Sl, 'calcC4ShapeTextWH');
+ (LX = o(function (t, e, r) {
+ (e.x = r.data.startx),
+ (e.y = r.data.starty),
+ (e.width = r.data.stopx - r.data.startx),
+ (e.height = r.data.stopy - r.data.starty),
+ (e.label.y = Nt.c4ShapeMargin - 35);
+ let n = e.wrap && Nt.wrap,
+ i = v5(Nt);
+ (i.fontSize = i.fontSize + 2), (i.fontWeight = 'bold');
+ let a = Cl(e.label.text, i);
+ Sl('label', e, n, i, a), Tl.drawBoundary(t, e, Nt);
+ }, 'drawBoundary')),
+ (DX = o(function (t, e, r, n) {
+ let i = 0;
+ for (let a of n) {
+ i = 0;
+ let s = r[a],
+ l = hv(Nt, s.typeC4Shape.text);
+ switch (
+ ((l.fontSize = l.fontSize - 2),
+ (s.typeC4Shape.width = Cl('\xAB' + s.typeC4Shape.text + '\xBB', l)),
+ (s.typeC4Shape.height = l.fontSize + 2),
+ (s.typeC4Shape.Y = Nt.c4ShapePadding),
+ (i = s.typeC4Shape.Y + s.typeC4Shape.height - 4),
+ (s.image = { width: 0, height: 0, Y: 0 }),
+ s.typeC4Shape.text)
+ ) {
+ case 'person':
+ case 'external_person':
+ (s.image.width = 48),
+ (s.image.height = 48),
+ (s.image.Y = i),
+ (i = s.image.Y + s.image.height);
+ break;
+ }
+ s.sprite &&
+ ((s.image.width = 48),
+ (s.image.height = 48),
+ (s.image.Y = i),
+ (i = s.image.Y + s.image.height));
+ let u = s.wrap && Nt.wrap,
+ h = Nt.width - Nt.c4ShapePadding * 2,
+ f = hv(Nt, s.typeC4Shape.text);
+ if (
+ ((f.fontSize = f.fontSize + 2),
+ (f.fontWeight = 'bold'),
+ Sl('label', s, u, f, h),
+ (s.label.Y = i + 8),
+ (i = s.label.Y + s.label.height),
+ s.type && s.type.text !== '')
+ ) {
+ s.type.text = '[' + s.type.text + ']';
+ let m = hv(Nt, s.typeC4Shape.text);
+ Sl('type', s, u, m, h), (s.type.Y = i + 5), (i = s.type.Y + s.type.height);
+ } else if (s.techn && s.techn.text !== '') {
+ s.techn.text = '[' + s.techn.text + ']';
+ let m = hv(Nt, s.techn.text);
+ Sl('techn', s, u, m, h), (s.techn.Y = i + 5), (i = s.techn.Y + s.techn.height);
+ }
+ let d = i,
+ p = s.label.width;
+ if (s.descr && s.descr.text !== '') {
+ let m = hv(Nt, s.typeC4Shape.text);
+ Sl('descr', s, u, m, h),
+ (s.descr.Y = i + 20),
+ (i = s.descr.Y + s.descr.height),
+ (p = Math.max(s.label.width, s.descr.width)),
+ (d = i - s.descr.textLines * 5);
+ }
+ (p = p + Nt.c4ShapePadding),
+ (s.width = Math.max(s.width || Nt.width, p, Nt.width)),
+ (s.height = Math.max(s.height || Nt.height, d, Nt.height)),
+ (s.margin = s.margin || Nt.c4ShapeMargin),
+ t.insert(s),
+ Tl.drawC4Shape(e, s, Nt);
+ }
+ t.bumpLastMargin(Nt.c4ShapeMargin);
+ }, 'drawC4ShapeArray')),
+ (ks = class {
+ static {
+ o(this, 'Point');
+ }
+ constructor(e, r) {
+ (this.x = e), (this.y = r);
+ }
+ }),
+ (AX = o(function (t, e) {
+ let r = t.x,
+ n = t.y,
+ i = e.x,
+ a = e.y,
+ s = r + t.width / 2,
+ l = n + t.height / 2,
+ u = Math.abs(r - i),
+ h = Math.abs(n - a),
+ f = h / u,
+ d = t.height / t.width,
+ p = null;
+ return (
+ n == a && r < i
+ ? (p = new ks(r + t.width, l))
+ : n == a && r > i
+ ? (p = new ks(r, l))
+ : r == i && n < a
+ ? (p = new ks(s, n + t.height))
+ : r == i && n > a && (p = new ks(s, n)),
+ r > i && n < a
+ ? d >= f
+ ? (p = new ks(r, l + (f * t.width) / 2))
+ : (p = new ks(s - ((u / h) * t.height) / 2, n + t.height))
+ : r < i && n < a
+ ? d >= f
+ ? (p = new ks(r + t.width, l + (f * t.width) / 2))
+ : (p = new ks(s + ((u / h) * t.height) / 2, n + t.height))
+ : r < i && n > a
+ ? d >= f
+ ? (p = new ks(r + t.width, l - (f * t.width) / 2))
+ : (p = new ks(s + ((t.height / 2) * u) / h, n))
+ : r > i &&
+ n > a &&
+ (d >= f
+ ? (p = new ks(r, l - (t.width / 2) * f))
+ : (p = new ks(s - ((t.height / 2) * u) / h, n))),
+ p
+ );
+ }, 'getIntersectPoint')),
+ (uCe = o(function (t, e) {
+ let r = { x: 0, y: 0 };
+ (r.x = e.x + e.width / 2), (r.y = e.y + e.height / 2);
+ let n = AX(t, r);
+ (r.x = t.x + t.width / 2), (r.y = t.y + t.height / 2);
+ let i = AX(e, r);
+ return { startPoint: n, endPoint: i };
+ }, 'getIntersectPoints')),
+ (hCe = o(function (t, e, r, n) {
+ let i = 0;
+ for (let a of e) {
+ i = i + 1;
+ let s = a.wrap && Nt.wrap,
+ l = cCe(Nt);
+ n.db.getC4Type() === 'C4Dynamic' && (a.label.text = i + ': ' + a.label.text);
+ let h = Cl(a.label.text, l);
+ Sl('label', a, s, l, h),
+ a.techn && a.techn.text !== '' && ((h = Cl(a.techn.text, l)), Sl('techn', a, s, l, h)),
+ a.descr && a.descr.text !== '' && ((h = Cl(a.descr.text, l)), Sl('descr', a, s, l, h));
+ let f = r(a.from),
+ d = r(a.to),
+ p = uCe(f, d);
+ (a.startPoint = p.startPoint), (a.endPoint = p.endPoint);
+ }
+ Tl.drawRels(t, e, Nt);
+ }, 'drawRels'));
+ o(RX, 'drawInsideBoundary');
+ (fCe = o(function (t, e, r, n) {
+ Nt = de().c4;
+ let i = de().securityLevel,
+ a;
+ i === 'sandbox' && (a = $e('#i' + e));
+ let s = i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body'),
+ l = n.db;
+ n.db.setWrap(Nt.wrap),
+ (_X = l.getC4ShapeInRow()),
+ (n9 = l.getC4BoundaryInRow()),
+ V.debug(`C:${JSON.stringify(Nt, null, 2)}`);
+ let u = i === 'sandbox' ? s.select(`[id="${e}"]`) : $e(`[id="${e}"]`);
+ Tl.insertComputerIcon(u), Tl.insertDatabaseIcon(u), Tl.insertClockIcon(u);
+ let h = new w5(n);
+ h.setData(Nt.diagramMarginX, Nt.diagramMarginX, Nt.diagramMarginY, Nt.diagramMarginY),
+ (h.data.widthLimit = screen.availWidth),
+ (x5 = Nt.diagramMarginX),
+ (b5 = Nt.diagramMarginY);
+ let f = n.db.getTitle(),
+ d = n.db.getBoundarys('');
+ RX(u, '', h, d, n),
+ Tl.insertArrowHead(u),
+ Tl.insertArrowEnd(u),
+ Tl.insertArrowCrossHead(u),
+ Tl.insertArrowFilledHead(u),
+ hCe(u, n.db.getRels(), n.db.getC4Shape, n),
+ (h.data.stopx = x5),
+ (h.data.stopy = b5);
+ let p = h.data,
+ g = p.stopy - p.starty + 2 * Nt.diagramMarginY,
+ v = p.stopx - p.startx + 2 * Nt.diagramMarginX;
+ f &&
+ u
+ .append('text')
+ .text(f)
+ .attr('x', (p.stopx - p.startx) / 2 - 4 * Nt.diagramMarginX)
+ .attr('y', p.starty + Nt.diagramMarginY),
+ Sr(u, g, v, Nt.useMaxWidth);
+ let x = f ? 60 : 0;
+ u.attr(
+ 'viewBox',
+ p.startx - Nt.diagramMarginX + ' -' + (Nt.diagramMarginY + x) + ' ' + v + ' ' + (g + x)
+ ),
+ V.debug('models:', p);
+ }, 'draw')),
+ (a9 = {
+ drawPersonOrSystemArray: DX,
+ drawBoundary: LX,
+ setConf: i9,
+ draw: fCe
+ });
+ });
+ var dCe,
+ MX,
+ IX = R(() => {
+ 'use strict';
+ (dCe = o(
+ (t) => `.person {
+ stroke: ${t.personBorder};
+ fill: ${t.personBkg};
+ }
+`,
+ 'getStyles'
+ )),
+ (MX = dCe);
+ });
+ var OX = {};
+ hr(OX, { diagram: () => pCe });
+ var pCe,
+ PX = R(() => {
+ 'use strict';
+ VC();
+ lS();
+ NX();
+ IX();
+ pCe = {
+ parser: rz,
+ db: hy,
+ renderer: a9,
+ styles: MX,
+ init: o(({ c4: t, wrap: e }) => {
+ a9.setConf(t), hy.setWrap(e);
+ }, 'init')
+ };
+ });
+ function o9(t) {
+ let e = [];
+ for (let r of t) {
+ let n = dv.get(r);
+ n?.styles && (e = [...e, ...(n.styles ?? [])].map((i) => i.trim())),
+ n?.textStyles && (e = [...e, ...(n.textStyles ?? [])].map((i) => i.trim()));
+ }
+ return e;
+ }
+ var vCe,
+ zX,
+ cm,
+ $h,
+ Es,
+ dv,
+ Cu,
+ l9,
+ c9,
+ T5,
+ s9,
+ Fo,
+ k5,
+ E5,
+ C5,
+ S5,
+ xCe,
+ bCe,
+ wCe,
+ TCe,
+ kCe,
+ ECe,
+ CCe,
+ u9,
+ SCe,
+ ACe,
+ _Ce,
+ GX,
+ LCe,
+ DCe,
+ h9,
+ $X,
+ VX,
+ RCe,
+ UX,
+ NCe,
+ MCe,
+ ICe,
+ OCe,
+ PCe,
+ fv,
+ HX,
+ YX,
+ BCe,
+ FCe,
+ WX,
+ zCe,
+ GCe,
+ $Ce,
+ VCe,
+ UCe,
+ qX,
+ XX,
+ HCe,
+ YCe,
+ WCe,
+ qCe,
+ XCe,
+ jCe,
+ A5,
+ f9 = R(() => {
+ 'use strict';
+ Zt();
+ xr();
+ _t();
+ rr();
+ ut();
+ bi();
+ (vCe = 'flowchart-'),
+ (zX = 0),
+ (cm = de()),
+ ($h = new Map()),
+ (Es = []),
+ (dv = new Map()),
+ (Cu = []),
+ (l9 = new Map()),
+ (c9 = new Map()),
+ (T5 = 0),
+ (s9 = !0),
+ (E5 = []),
+ (C5 = o((t) => We.sanitizeText(t, cm), 'sanitizeText')),
+ (S5 = o(function (t) {
+ for (let e of $h.values()) if (e.id === t) return e.domId;
+ return t;
+ }, 'lookUpDomId')),
+ (xCe = o(function (t, e, r, n, i, a, s = {}) {
+ if (!t || t.trim().length === 0) return;
+ let l,
+ u = $h.get(t);
+ u === void 0 &&
+ ((u = {
+ id: t,
+ labelType: 'text',
+ domId: vCe + t + '-' + zX,
+ styles: [],
+ classes: []
+ }),
+ $h.set(t, u)),
+ zX++,
+ e !== void 0
+ ? ((cm = de()),
+ (l = C5(e.text.trim())),
+ (u.labelType = e.type),
+ l.startsWith('"') && l.endsWith('"') && (l = l.substring(1, l.length - 1)),
+ (u.text = l))
+ : u.text === void 0 && (u.text = t),
+ r !== void 0 && (u.type = r),
+ n?.forEach(function (h) {
+ u.styles.push(h);
+ }),
+ i?.forEach(function (h) {
+ u.classes.push(h);
+ }),
+ a !== void 0 && (u.dir = a),
+ u.props === void 0 ? (u.props = s) : s !== void 0 && Object.assign(u.props, s);
+ }, 'addVertex')),
+ (bCe = o(function (t, e, r) {
+ let a = {
+ start: t,
+ end: e,
+ type: void 0,
+ text: '',
+ labelType: 'text'
+ };
+ V.info('abc78 Got edge...', a);
+ let s = r.text;
+ if (
+ (s !== void 0 &&
+ ((a.text = C5(s.text.trim())),
+ a.text.startsWith('"') &&
+ a.text.endsWith('"') &&
+ (a.text = a.text.substring(1, a.text.length - 1)),
+ (a.labelType = s.type)),
+ r !== void 0 &&
+ ((a.type = r.type), (a.stroke = r.stroke), (a.length = r.length > 10 ? 10 : r.length)),
+ Es.length < (cm.maxEdges ?? 500))
+ )
+ V.info('Pushing edge...'), Es.push(a);
+ else
+ throw new Error(`Edge limit exceeded. ${Es.length} edges found, but the limit is ${cm.maxEdges}.
+
+Initialize mermaid with maxEdges set to a higher number to allow more edges.
+You cannot set this config via configuration inside the diagram as it is a secure config.
+You have to call mermaid.initialize.`);
+ }, 'addSingleLink')),
+ (wCe = o(function (t, e, r) {
+ V.info('addLink', t, e, r);
+ for (let n of t) for (let i of e) bCe(n, i, r);
+ }, 'addLink')),
+ (TCe = o(function (t, e) {
+ t.forEach(function (r) {
+ r === 'default' ? (Es.defaultInterpolate = e) : (Es[r].interpolate = e);
+ });
+ }, 'updateLinkInterpolate')),
+ (kCe = o(function (t, e) {
+ t.forEach(function (r) {
+ if (typeof r == 'number' && r >= Es.length)
+ throw new Error(
+ `The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${
+ Es.length - 1
+ }. (Help: Ensure that the index is within the range of existing edges.)`
+ );
+ r === 'default'
+ ? (Es.defaultStyle = e)
+ : ((Es[r].style = e),
+ (Es[r]?.style?.length ?? 0) > 0 &&
+ !Es[r]?.style?.some((n) => n?.startsWith('fill')) &&
+ Es[r]?.style?.push('fill:none'));
+ });
+ }, 'updateLink')),
+ (ECe = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ let n = dv.get(r);
+ n === void 0 && ((n = { id: r, styles: [], textStyles: [] }), dv.set(r, n)),
+ e?.forEach(function (i) {
+ if (/color/.exec(i)) {
+ let a = i.replace('fill', 'bgFill');
+ n.textStyles.push(a);
+ }
+ n.styles.push(i);
+ });
+ });
+ }, 'addClass')),
+ (CCe = o(function (t) {
+ (Fo = t),
+ /.*/.exec(Fo) && (Fo = 'LR'),
+ /.*v/.exec(Fo) && (Fo = 'TB'),
+ Fo === 'TD' && (Fo = 'TB');
+ }, 'setDirection')),
+ (u9 = o(function (t, e) {
+ for (let r of t.split(',')) {
+ let n = $h.get(r);
+ n && n.classes.push(e);
+ let i = l9.get(r);
+ i && i.classes.push(e);
+ }
+ }, 'setClass')),
+ (SCe = o(function (t, e) {
+ if (e !== void 0) {
+ e = C5(e);
+ for (let r of t.split(',')) c9.set(k5 === 'gen-1' ? S5(r) : r, e);
+ }
+ }, 'setTooltip')),
+ (ACe = o(function (t, e, r) {
+ let n = S5(t);
+ if (de().securityLevel !== 'loose' || e === void 0) return;
+ let i = [];
+ if (typeof r == 'string') {
+ i = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
+ for (let s = 0; s < i.length; s++) {
+ let l = i[s].trim();
+ l.startsWith('"') && l.endsWith('"') && (l = l.substr(1, l.length - 2)), (i[s] = l);
+ }
+ }
+ i.length === 0 && i.push(t);
+ let a = $h.get(t);
+ a &&
+ ((a.haveCallback = !0),
+ E5.push(function () {
+ let s = document.querySelector(`[id="${n}"]`);
+ s !== null &&
+ s.addEventListener(
+ 'click',
+ function () {
+ Lt.runFunc(e, ...i);
+ },
+ !1
+ );
+ }));
+ }, 'setClickFun')),
+ (_Ce = o(function (t, e, r) {
+ t.split(',').forEach(function (n) {
+ let i = $h.get(n);
+ i !== void 0 && ((i.link = Lt.formatUrl(e, cm)), (i.linkTarget = r));
+ }),
+ u9(t, 'clickable');
+ }, 'setLink')),
+ (GX = o(function (t) {
+ return c9.get(t);
+ }, 'getTooltip')),
+ (LCe = o(function (t, e, r) {
+ t.split(',').forEach(function (n) {
+ ACe(n, e, r);
+ }),
+ u9(t, 'clickable');
+ }, 'setClickEvent')),
+ (DCe = o(function (t) {
+ E5.forEach(function (e) {
+ e(t);
+ });
+ }, 'bindFunctions')),
+ (h9 = o(function () {
+ return Fo.trim();
+ }, 'getDirection')),
+ ($X = o(function () {
+ return $h;
+ }, 'getVertices')),
+ (VX = o(function () {
+ return Es;
+ }, 'getEdges')),
+ (RCe = o(function () {
+ return dv;
+ }, 'getClasses')),
+ (UX = o(function (t) {
+ let e = $e('.mermaidTooltip');
+ (e._groups || e)[0][0] === null &&
+ (e = $e('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0)),
+ $e(t)
+ .select('svg')
+ .selectAll('g.node')
+ .on('mouseover', function () {
+ let i = $e(this);
+ if (i.attr('title') === null) return;
+ let s = this?.getBoundingClientRect();
+ e.transition().duration(200).style('opacity', '.9'),
+ e
+ .text(i.attr('title'))
+ .style('left', window.scrollX + s.left + (s.right - s.left) / 2 + 'px')
+ .style('top', window.scrollY + s.bottom + 'px'),
+ e.html(e.html().replace(/<br\/>/g, '
')),
+ i.classed('hover', !0);
+ })
+ .on('mouseout', function () {
+ e.transition().duration(500).style('opacity', 0), $e(this).classed('hover', !1);
+ });
+ }, 'setupToolTips'));
+ E5.push(UX);
+ (NCe = o(function (t = 'gen-1') {
+ ($h = new Map()),
+ (dv = new Map()),
+ (Es = []),
+ (E5 = [UX]),
+ (Cu = []),
+ (l9 = new Map()),
+ (T5 = 0),
+ (c9 = new Map()),
+ (s9 = !0),
+ (k5 = t),
+ (cm = de()),
+ vr();
+ }, 'clear')),
+ (MCe = o((t) => {
+ k5 = t || 'gen-2';
+ }, 'setGen')),
+ (ICe = o(function () {
+ return 'fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;';
+ }, 'defaultStyle')),
+ (OCe = o(function (t, e, r) {
+ let n = t.text.trim(),
+ i = r.text;
+ t === r && /\s/.exec(r.text) && (n = void 0);
+ function a(h) {
+ let f = { boolean: {}, number: {}, string: {} },
+ d = [],
+ p;
+ return {
+ nodeList: h.filter(function (g) {
+ let y = typeof g;
+ return g.stmt && g.stmt === 'dir'
+ ? ((p = g.value), !1)
+ : g.trim() === ''
+ ? !1
+ : y in f
+ ? f[y].hasOwnProperty(g)
+ ? !1
+ : (f[y][g] = !0)
+ : d.includes(g)
+ ? !1
+ : d.push(g);
+ }),
+ dir: p
+ };
+ }
+ o(a, 'uniq');
+ let { nodeList: s, dir: l } = a(e.flat());
+ if (k5 === 'gen-1') for (let h = 0; h < s.length; h++) s[h] = S5(s[h]);
+ (n = n ?? 'subGraph' + T5), (i = i || ''), (i = C5(i)), (T5 = T5 + 1);
+ let u = {
+ id: n,
+ nodes: s,
+ title: i.trim(),
+ classes: [],
+ dir: l,
+ labelType: r.type
+ };
+ return (
+ V.info('Adding', u.id, u.nodes, u.dir), (u.nodes = XX(u, Cu).nodes), Cu.push(u), l9.set(n, u), n
+ );
+ }, 'addSubGraph')),
+ (PCe = o(function (t) {
+ for (let [e, r] of Cu.entries()) if (r.id === t) return e;
+ return -1;
+ }, 'getPosForId')),
+ (fv = -1),
+ (HX = []),
+ (YX = o(function (t, e) {
+ let r = Cu[e].nodes;
+ if (((fv = fv + 1), fv > 2e3)) return { result: !1, count: 0 };
+ if (((HX[fv] = e), Cu[e].id === t)) return { result: !0, count: 0 };
+ let n = 0,
+ i = 1;
+ for (; n < r.length; ) {
+ let a = PCe(r[n]);
+ if (a >= 0) {
+ let s = YX(t, a);
+ if (s.result) return { result: !0, count: i + s.count };
+ i = i + s.count;
+ }
+ n = n + 1;
+ }
+ return { result: !1, count: i };
+ }, 'indexNodes2')),
+ (BCe = o(function (t) {
+ return HX[t];
+ }, 'getDepthFirstPos')),
+ (FCe = o(function () {
+ (fv = -1), Cu.length > 0 && YX('none', Cu.length - 1);
+ }, 'indexNodes')),
+ (WX = o(function () {
+ return Cu;
+ }, 'getSubGraphs')),
+ (zCe = o(() => (s9 ? ((s9 = !1), !0) : !1), 'firstGraph')),
+ (GCe = o((t) => {
+ let e = t.trim(),
+ r = 'arrow_open';
+ switch (e[0]) {
+ case '<':
+ (r = 'arrow_point'), (e = e.slice(1));
+ break;
+ case 'x':
+ (r = 'arrow_cross'), (e = e.slice(1));
+ break;
+ case 'o':
+ (r = 'arrow_circle'), (e = e.slice(1));
+ break;
+ }
+ let n = 'normal';
+ return e.includes('=') && (n = 'thick'), e.includes('.') && (n = 'dotted'), { type: r, stroke: n };
+ }, 'destructStartLink')),
+ ($Ce = o((t, e) => {
+ let r = e.length,
+ n = 0;
+ for (let i = 0; i < r; ++i) e[i] === t && ++n;
+ return n;
+ }, 'countChar')),
+ (VCe = o((t) => {
+ let e = t.trim(),
+ r = e.slice(0, -1),
+ n = 'arrow_open';
+ switch (e.slice(-1)) {
+ case 'x':
+ (n = 'arrow_cross'), e.startsWith('x') && ((n = 'double_' + n), (r = r.slice(1)));
+ break;
+ case '>':
+ (n = 'arrow_point'), e.startsWith('<') && ((n = 'double_' + n), (r = r.slice(1)));
+ break;
+ case 'o':
+ (n = 'arrow_circle'), e.startsWith('o') && ((n = 'double_' + n), (r = r.slice(1)));
+ break;
+ }
+ let i = 'normal',
+ a = r.length - 1;
+ r.startsWith('=') && (i = 'thick'), r.startsWith('~') && (i = 'invisible');
+ let s = $Ce('.', r);
+ return s && ((i = 'dotted'), (a = s)), { type: n, stroke: i, length: a };
+ }, 'destructEndLink')),
+ (UCe = o((t, e) => {
+ let r = VCe(t),
+ n;
+ if (e) {
+ if (((n = GCe(e)), n.stroke !== r.stroke)) return { type: 'INVALID', stroke: 'INVALID' };
+ if (n.type === 'arrow_open') n.type = r.type;
+ else {
+ if (n.type !== r.type) return { type: 'INVALID', stroke: 'INVALID' };
+ n.type = 'double_' + n.type;
+ }
+ return n.type === 'double_arrow' && (n.type = 'double_arrow_point'), (n.length = r.length), n;
+ }
+ return r;
+ }, 'destructLink')),
+ (qX = o((t, e) => {
+ for (let r of t) if (r.nodes.includes(e)) return !0;
+ return !1;
+ }, 'exists')),
+ (XX = o((t, e) => {
+ let r = [];
+ return (
+ t.nodes.forEach((n, i) => {
+ qX(e, n) || r.push(t.nodes[i]);
+ }),
+ { nodes: r }
+ );
+ }, 'makeUniq')),
+ (HCe = { firstGraph: zCe }),
+ (YCe = o(
+ (t) =>
+ t.type === 'square'
+ ? 'squareRect'
+ : t.type === 'round'
+ ? 'roundedRect'
+ : t.type ?? 'squareRect',
+ 'getTypeFromVertex'
+ )),
+ (WCe = o((t, e) => t.find((r) => r.id === e), 'findNode')),
+ (qCe = o((t) => {
+ let e = 'none',
+ r = 'arrow_point';
+ switch (t) {
+ case 'arrow_point':
+ case 'arrow_circle':
+ case 'arrow_cross':
+ r = t;
+ break;
+ case 'double_arrow_point':
+ case 'double_arrow_circle':
+ case 'double_arrow_cross':
+ (e = t.replace('double_', '')), (r = e);
+ break;
+ }
+ return { arrowTypeStart: e, arrowTypeEnd: r };
+ }, 'destructEdgeType')),
+ (XCe = o((t, e, r, n, i, a) => {
+ let s = r.get(t.id),
+ l = n.get(t.id) ?? !1,
+ u = WCe(e, t.id);
+ u
+ ? ((u.cssStyles = t.styles),
+ (u.cssCompiledStyles = o9(t.classes)),
+ (u.cssClasses = t.classes.join(' ')))
+ : e.push({
+ id: t.id,
+ label: t.text,
+ labelStyle: '',
+ parentId: s,
+ padding: i.flowchart?.padding || 8,
+ cssStyles: t.styles,
+ cssCompiledStyles: o9(['default', 'node', ...t.classes]),
+ cssClasses: 'default ' + t.classes.join(' '),
+ shape: YCe(t),
+ dir: t.dir,
+ domId: t.domId,
+ isGroup: l,
+ look: a,
+ link: t.link,
+ linkTarget: t.linkTarget,
+ tooltip: GX(t.id)
+ });
+ }, 'addNodeFromVertex'));
+ o(o9, 'getCompiledStyles');
+ (jCe = o(() => {
+ let t = de(),
+ e = [],
+ r = [],
+ n = WX(),
+ i = new Map(),
+ a = new Map();
+ for (let u = n.length - 1; u >= 0; u--) {
+ let h = n[u];
+ h.nodes.length > 0 && a.set(h.id, !0);
+ for (let f of h.nodes) i.set(f, h.id);
+ }
+ for (let u = n.length - 1; u >= 0; u--) {
+ let h = n[u];
+ e.push({
+ id: h.id,
+ label: h.title,
+ labelStyle: '',
+ parentId: i.get(h.id),
+ padding: 8,
+ cssCompiledStyles: o9(h.classes),
+ cssClasses: h.classes.join(' '),
+ shape: 'rect',
+ dir: h.dir,
+ isGroup: !0,
+ look: t.look
+ });
+ }
+ $X().forEach((u) => {
+ XCe(u, e, i, a, t, t.look || 'classic');
+ });
+ let l = VX();
+ return (
+ l.forEach((u, h) => {
+ let { arrowTypeStart: f, arrowTypeEnd: d } = qCe(u.type),
+ p = [...(l.defaultStyle ?? [])];
+ u.style && p.push(...u.style);
+ let m = {
+ id: y5(u.start, u.end, { counter: h, prefix: 'L' }),
+ start: u.start,
+ end: u.end,
+ type: u.type ?? 'normal',
+ label: u.text,
+ labelpos: 'c',
+ thickness: u.stroke,
+ minlen: u.length,
+ classes:
+ u?.stroke === 'invisible'
+ ? ''
+ : 'edge-thickness-normal edge-pattern-solid flowchart-link',
+ arrowTypeStart: u?.stroke === 'invisible' ? 'none' : f,
+ arrowTypeEnd: u?.stroke === 'invisible' ? 'none' : d,
+ arrowheadStyle: 'fill: #333',
+ labelStyle: p,
+ style: p,
+ pattern: u.stroke,
+ look: t.look
+ };
+ r.push(m);
+ }),
+ { nodes: e, edges: r, other: {}, config: t }
+ );
+ }, 'getData')),
+ (A5 = {
+ defaultConfig: o(() => _4.flowchart, 'defaultConfig'),
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ getAccDescription: Lr,
+ getData: jCe,
+ setAccDescription: _r,
+ addVertex: xCe,
+ lookUpDomId: S5,
+ addLink: wCe,
+ updateLinkInterpolate: TCe,
+ updateLink: kCe,
+ addClass: ECe,
+ setDirection: CCe,
+ setClass: u9,
+ setTooltip: SCe,
+ getTooltip: GX,
+ setClickEvent: LCe,
+ setLink: _Ce,
+ bindFunctions: DCe,
+ getDirection: h9,
+ getVertices: $X,
+ getEdges: VX,
+ getClasses: RCe,
+ clear: NCe,
+ setGen: MCe,
+ defaultStyle: ICe,
+ addSubGraph: OCe,
+ getDepthFirstPos: BCe,
+ indexNodes: FCe,
+ getSubGraphs: WX,
+ destructLink: UCe,
+ lex: HCe,
+ exists: qX,
+ makeUniq: XX,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr
+ });
+ });
+ var KCe,
+ jX,
+ KX = R(() => {
+ 'use strict';
+ (KCe = o((t) => {
+ let e = new Set();
+ for (let r of t)
+ switch (r) {
+ case 'x':
+ e.add('right'), e.add('left');
+ break;
+ case 'y':
+ e.add('up'), e.add('down');
+ break;
+ default:
+ e.add(r);
+ break;
+ }
+ return e;
+ }, 'expandAndDeduplicateDirections')),
+ (jX = o((t, e, r) => {
+ let n = KCe(t),
+ i = 2,
+ a = e.height + 2 * r.padding,
+ s = a / i,
+ l = e.width + 2 * s + r.padding,
+ u = r.padding / 2;
+ return n.has('right') && n.has('left') && n.has('up') && n.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: s, y: 0 },
+ { x: l / 2, y: 2 * u },
+ { x: l - s, y: 0 },
+ { x: l, y: 0 },
+ { x: l, y: -a / 3 },
+ { x: l + 2 * u, y: -a / 2 },
+ { x: l, y: (-2 * a) / 3 },
+ { x: l, y: -a },
+ { x: l - s, y: -a },
+ { x: l / 2, y: -a - 2 * u },
+ { x: s, y: -a },
+ { x: 0, y: -a },
+ { x: 0, y: (-2 * a) / 3 },
+ { x: -2 * u, y: -a / 2 },
+ { x: 0, y: -a / 3 }
+ ]
+ : n.has('right') && n.has('left') && n.has('up')
+ ? [
+ { x: s, y: 0 },
+ { x: l - s, y: 0 },
+ { x: l, y: -a / 2 },
+ { x: l - s, y: -a },
+ { x: s, y: -a },
+ { x: 0, y: -a / 2 }
+ ]
+ : n.has('right') && n.has('left') && n.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: s, y: -a },
+ { x: l - s, y: -a },
+ { x: l, y: 0 }
+ ]
+ : n.has('right') && n.has('up') && n.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: l, y: -s },
+ { x: l, y: -a + s },
+ { x: 0, y: -a }
+ ]
+ : n.has('left') && n.has('up') && n.has('down')
+ ? [
+ { x: l, y: 0 },
+ { x: 0, y: -s },
+ { x: 0, y: -a + s },
+ { x: l, y: -a }
+ ]
+ : n.has('right') && n.has('left')
+ ? [
+ { x: s, y: 0 },
+ { x: s, y: -u },
+ { x: l - s, y: -u },
+ { x: l - s, y: 0 },
+ { x: l, y: -a / 2 },
+ { x: l - s, y: -a },
+ { x: l - s, y: -a + u },
+ { x: s, y: -a + u },
+ { x: s, y: -a },
+ { x: 0, y: -a / 2 }
+ ]
+ : n.has('up') && n.has('down')
+ ? [
+ { x: l / 2, y: 0 },
+ { x: 0, y: -u },
+ { x: s, y: -u },
+ { x: s, y: -a + u },
+ { x: 0, y: -a + u },
+ { x: l / 2, y: -a },
+ { x: l, y: -a + u },
+ { x: l - s, y: -a + u },
+ { x: l - s, y: -u },
+ { x: l, y: -u }
+ ]
+ : n.has('right') && n.has('up')
+ ? [
+ { x: 0, y: 0 },
+ { x: l, y: -s },
+ { x: 0, y: -a }
+ ]
+ : n.has('right') && n.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: l, y: 0 },
+ { x: 0, y: -a }
+ ]
+ : n.has('left') && n.has('up')
+ ? [
+ { x: l, y: 0 },
+ { x: 0, y: -s },
+ { x: l, y: -a }
+ ]
+ : n.has('left') && n.has('down')
+ ? [
+ { x: l, y: 0 },
+ { x: 0, y: 0 },
+ { x: l, y: -a }
+ ]
+ : n.has('right')
+ ? [
+ { x: s, y: -u },
+ { x: s, y: -u },
+ { x: l - s, y: -u },
+ { x: l - s, y: 0 },
+ { x: l, y: -a / 2 },
+ { x: l - s, y: -a },
+ { x: l - s, y: -a + u },
+ { x: s, y: -a + u },
+ { x: s, y: -a + u }
+ ]
+ : n.has('left')
+ ? [
+ { x: s, y: 0 },
+ { x: s, y: -u },
+ { x: l - s, y: -u },
+ { x: l - s, y: -a + u },
+ { x: s, y: -a + u },
+ { x: s, y: -a },
+ { x: 0, y: -a / 2 }
+ ]
+ : n.has('up')
+ ? [
+ { x: s, y: -u },
+ { x: s, y: -a + u },
+ { x: 0, y: -a + u },
+ { x: l / 2, y: -a },
+ { x: l, y: -a + u },
+ { x: l - s, y: -a + u },
+ { x: l - s, y: -u }
+ ]
+ : n.has('down')
+ ? [
+ { x: l / 2, y: 0 },
+ { x: 0, y: -u },
+ { x: s, y: -u },
+ { x: s, y: -a + u },
+ { x: l - s, y: -a + u },
+ { x: l - s, y: -u },
+ { x: l, y: -u }
+ ]
+ : [{ x: 0, y: 0 }];
+ }, 'getArrowPoints'));
+ });
+ function m9() {
+ return {
+ async: !1,
+ breaks: !1,
+ extensions: null,
+ gfm: !0,
+ hooks: null,
+ pedantic: !1,
+ renderer: null,
+ silent: !1,
+ tokenizer: null,
+ walkTokens: null
+ };
+ }
+ function rj(t) {
+ Sd = t;
+ }
+ function ro(t, e) {
+ if (e) {
+ if (nj.test(t)) return t.replace(QCe, QX);
+ } else if (ij.test(t)) return t.replace(ZCe, QX);
+ return t;
+ }
+ function t7e(t) {
+ return t.replace(
+ e7e,
+ (e, r) => (
+ (r = r.toLowerCase()),
+ r === 'colon'
+ ? ':'
+ : r.charAt(0) === '#'
+ ? r.charAt(1) === 'x'
+ ? String.fromCharCode(parseInt(r.substring(2), 16))
+ : String.fromCharCode(+r.substring(1))
+ : ''
+ )
+ );
+ }
+ function ln(t, e) {
+ let r = typeof t == 'string' ? t : t.source;
+ e = e || '';
+ let n = {
+ replace: o((i, a) => {
+ let s = typeof a == 'string' ? a : a.source;
+ return (s = s.replace(r7e, '$1')), (r = r.replace(i, s)), n;
+ }, 'replace'),
+ getRegex: o(() => new RegExp(r, e), 'getRegex')
+ };
+ return n;
+ }
+ function ZX(t) {
+ try {
+ t = encodeURI(t).replace(/%25/g, '%');
+ } catch {
+ return null;
+ }
+ return t;
+ }
+ function JX(t, e) {
+ let r = t.replace(/\|/g, (a, s, l) => {
+ let u = !1,
+ h = s;
+ for (; --h >= 0 && l[h] === '\\'; ) u = !u;
+ return u ? '|' : ' |';
+ }),
+ n = r.split(/ \|/),
+ i = 0;
+ if ((n[0].trim() || n.shift(), n.length > 0 && !n[n.length - 1].trim() && n.pop(), e))
+ if (n.length > e) n.splice(e);
+ else for (; n.length < e; ) n.push('');
+ for (; i < n.length; i++) n[i] = n[i].trim().replace(/\\\|/g, '|');
+ return n;
+ }
+ function pv(t, e, r) {
+ let n = t.length;
+ if (n === 0) return '';
+ let i = 0;
+ for (; i < n; ) {
+ let a = t.charAt(n - i - 1);
+ if (a === e && !r) i++;
+ else if (a !== e && r) i++;
+ else break;
+ }
+ return t.slice(0, n - i);
+ }
+ function n7e(t, e) {
+ if (t.indexOf(e[1]) === -1) return -1;
+ let r = 0;
+ for (let n = 0; n < t.length; n++)
+ if (t[n] === '\\') n++;
+ else if (t[n] === e[0]) r++;
+ else if (t[n] === e[1] && (r--, r < 0)) return n;
+ return -1;
+ }
+ function ej(t, e, r, n) {
+ let i = e.href,
+ a = e.title ? ro(e.title) : null,
+ s = t[1].replace(/\\([\[\]])/g, '$1');
+ if (t[0].charAt(0) !== '!') {
+ n.state.inLink = !0;
+ let l = {
+ type: 'link',
+ raw: r,
+ href: i,
+ title: a,
+ text: s,
+ tokens: n.inlineTokens(s)
+ };
+ return (n.state.inLink = !1), l;
+ }
+ return { type: 'image', raw: r, href: i, title: a, text: ro(s) };
+ }
+ function i7e(t, e) {
+ let r = t.match(/^(\s+)(?:```)/);
+ if (r === null) return e;
+ let n = r[1];
+ return e
+ .split(
+ `
+`
+ )
+ .map((i) => {
+ let a = i.match(/^\s+/);
+ if (a === null) return i;
+ let [s] = a;
+ return s.length >= n.length ? i.slice(n.length) : i;
+ }).join(`
+`);
+ }
+ function jr(t, e) {
+ return Cd.parse(t, e);
+ }
+ var Sd,
+ nj,
+ QCe,
+ ij,
+ ZCe,
+ JCe,
+ QX,
+ e7e,
+ r7e,
+ gv,
+ hm,
+ a7e,
+ s7e,
+ o7e,
+ vv,
+ l7e,
+ aj,
+ sj,
+ g9,
+ c7e,
+ y9,
+ u7e,
+ h7e,
+ D5,
+ v9,
+ f7e,
+ oj,
+ d7e,
+ x9,
+ tj,
+ p7e,
+ m7e,
+ lj,
+ g7e,
+ cj,
+ y7e,
+ xv,
+ v7e,
+ x7e,
+ b7e,
+ w7e,
+ T7e,
+ k7e,
+ E7e,
+ C7e,
+ S7e,
+ L5,
+ A7e,
+ uj,
+ hj,
+ _7e,
+ b9,
+ L7e,
+ d9,
+ D7e,
+ _5,
+ mv,
+ Su,
+ fm,
+ yv,
+ Au,
+ um,
+ p9,
+ Cd,
+ mkt,
+ gkt,
+ ykt,
+ vkt,
+ xkt,
+ bkt,
+ wkt,
+ fj = R(() => {
+ 'use strict';
+ o(m9, '_getDefaults');
+ Sd = m9();
+ o(rj, 'changeDefaults');
+ (nj = /[&<>"']/),
+ (QCe = new RegExp(nj.source, 'g')),
+ (ij = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/),
+ (ZCe = new RegExp(ij.source, 'g')),
+ (JCe = {
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ "'": '''
+ }),
+ (QX = o((t) => JCe[t], 'getEscapeReplacement'));
+ o(ro, 'escape$1');
+ e7e = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;
+ o(t7e, 'unescape');
+ r7e = /(^|[^\[])\^/g;
+ o(ln, 'edit');
+ o(ZX, 'cleanUrl');
+ gv = { exec: o(() => null, 'exec') };
+ o(JX, 'splitCells');
+ o(pv, 'rtrim');
+ o(n7e, 'findClosingBracket');
+ o(ej, 'outputLink');
+ o(i7e, 'indentCodeCompensation');
+ (hm = class {
+ static {
+ o(this, '_Tokenizer');
+ }
+ options;
+ rules;
+ lexer;
+ constructor(e) {
+ this.options = e || Sd;
+ }
+ space(e) {
+ let r = this.rules.block.newline.exec(e);
+ if (r && r[0].length > 0) return { type: 'space', raw: r[0] };
+ }
+ code(e) {
+ let r = this.rules.block.code.exec(e);
+ if (r) {
+ let n = r[0].replace(/^ {1,4}/gm, '');
+ return {
+ type: 'code',
+ raw: r[0],
+ codeBlockStyle: 'indented',
+ text: this.options.pedantic
+ ? n
+ : pv(
+ n,
+ `
+`
+ )
+ };
+ }
+ }
+ fences(e) {
+ let r = this.rules.block.fences.exec(e);
+ if (r) {
+ let n = r[0],
+ i = i7e(n, r[3] || '');
+ return {
+ type: 'code',
+ raw: n,
+ lang: r[2] ? r[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : r[2],
+ text: i
+ };
+ }
+ }
+ heading(e) {
+ let r = this.rules.block.heading.exec(e);
+ if (r) {
+ let n = r[2].trim();
+ if (/#$/.test(n)) {
+ let i = pv(n, '#');
+ (this.options.pedantic || !i || / $/.test(i)) && (n = i.trim());
+ }
+ return {
+ type: 'heading',
+ raw: r[0],
+ depth: r[1].length,
+ text: n,
+ tokens: this.lexer.inline(n)
+ };
+ }
+ }
+ hr(e) {
+ let r = this.rules.block.hr.exec(e);
+ if (r)
+ return {
+ type: 'hr',
+ raw: pv(
+ r[0],
+ `
+`
+ )
+ };
+ }
+ blockquote(e) {
+ let r = this.rules.block.blockquote.exec(e);
+ if (r) {
+ let n = pv(
+ r[0],
+ `
+`
+ ).split(`
+`),
+ i = '',
+ a = '',
+ s = [];
+ for (; n.length > 0; ) {
+ let l = !1,
+ u = [],
+ h;
+ for (h = 0; h < n.length; h++)
+ if (/^ {0,3}>/.test(n[h])) u.push(n[h]), (l = !0);
+ else if (!l) u.push(n[h]);
+ else break;
+ n = n.slice(h);
+ let f = u.join(`
+`),
+ d = f
+ .replace(
+ /\n {0,3}((?:=+|-+) *)(?=\n|$)/g,
+ `
+ $1`
+ )
+ .replace(/^ {0,3}>[ \t]?/gm, '');
+ (i = i
+ ? `${i}
+${f}`
+ : f),
+ (a = a
+ ? `${a}
+${d}`
+ : d);
+ let p = this.lexer.state.top;
+ if (
+ ((this.lexer.state.top = !0),
+ this.lexer.blockTokens(d, s, !0),
+ (this.lexer.state.top = p),
+ n.length === 0)
+ )
+ break;
+ let m = s[s.length - 1];
+ if (m?.type === 'code') break;
+ if (m?.type === 'blockquote') {
+ let g = m,
+ y =
+ g.raw +
+ `
+` +
+ n.join(`
+`),
+ v = this.blockquote(y);
+ (s[s.length - 1] = v),
+ (i = i.substring(0, i.length - g.raw.length) + v.raw),
+ (a = a.substring(0, a.length - g.text.length) + v.text);
+ break;
+ } else if (m?.type === 'list') {
+ let g = m,
+ y =
+ g.raw +
+ `
+` +
+ n.join(`
+`),
+ v = this.list(y);
+ (s[s.length - 1] = v),
+ (i = i.substring(0, i.length - m.raw.length) + v.raw),
+ (a = a.substring(0, a.length - g.raw.length) + v.raw),
+ (n = y.substring(s[s.length - 1].raw.length).split(`
+`));
+ continue;
+ }
+ }
+ return { type: 'blockquote', raw: i, tokens: s, text: a };
+ }
+ }
+ list(e) {
+ let r = this.rules.block.list.exec(e);
+ if (r) {
+ let n = r[1].trim(),
+ i = n.length > 1,
+ a = {
+ type: 'list',
+ raw: '',
+ ordered: i,
+ start: i ? +n.slice(0, -1) : '',
+ loose: !1,
+ items: []
+ };
+ (n = i ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`), this.options.pedantic && (n = i ? n : '[*+-]');
+ let s = new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),
+ l = !1;
+ for (; e; ) {
+ let u = !1,
+ h = '',
+ f = '';
+ if (!(r = s.exec(e)) || this.rules.block.hr.test(e)) break;
+ (h = r[0]), (e = e.substring(h.length));
+ let d = r[2]
+ .split(
+ `
+`,
+ 1
+ )[0]
+ .replace(/^\t+/, (x) => ' '.repeat(3 * x.length)),
+ p = e.split(
+ `
+`,
+ 1
+ )[0],
+ m = !d.trim(),
+ g = 0;
+ if (
+ (this.options.pedantic
+ ? ((g = 2), (f = d.trimStart()))
+ : m
+ ? (g = r[1].length + 1)
+ : ((g = r[2].search(/[^ ]/)),
+ (g = g > 4 ? 1 : g),
+ (f = d.slice(g)),
+ (g += r[1].length)),
+ m &&
+ /^ *$/.test(p) &&
+ ((h +=
+ p +
+ `
+`),
+ (e = e.substring(p.length + 1)),
+ (u = !0)),
+ !u)
+ ) {
+ let x = new RegExp(
+ `^ {0,${Math.min(3, g - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`
+ ),
+ b = new RegExp(
+ `^ {0,${Math.min(3, g - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`
+ ),
+ w = new RegExp(`^ {0,${Math.min(3, g - 1)}}(?:\`\`\`|~~~)`),
+ S = new RegExp(`^ {0,${Math.min(3, g - 1)}}#`);
+ for (; e; ) {
+ let T = e.split(
+ `
+`,
+ 1
+ )[0];
+ if (
+ ((p = T),
+ this.options.pedantic && (p = p.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ')),
+ w.test(p) || S.test(p) || x.test(p) || b.test(e))
+ )
+ break;
+ if (p.search(/[^ ]/) >= g || !p.trim())
+ f +=
+ `
+` + p.slice(g);
+ else {
+ if (m || d.search(/[^ ]/) >= 4 || w.test(d) || S.test(d) || b.test(d)) break;
+ f +=
+ `
+` + p;
+ }
+ !m && !p.trim() && (m = !0),
+ (h +=
+ T +
+ `
+`),
+ (e = e.substring(T.length + 1)),
+ (d = p.slice(g));
+ }
+ }
+ a.loose || (l ? (a.loose = !0) : /\n *\n *$/.test(h) && (l = !0));
+ let y = null,
+ v;
+ this.options.gfm &&
+ ((y = /^\[[ xX]\] /.exec(f)),
+ y && ((v = y[0] !== '[ ] '), (f = f.replace(/^\[[ xX]\] +/, '')))),
+ a.items.push({
+ type: 'list_item',
+ raw: h,
+ task: !!y,
+ checked: v,
+ loose: !1,
+ text: f,
+ tokens: []
+ }),
+ (a.raw += h);
+ }
+ (a.items[a.items.length - 1].raw = a.items[a.items.length - 1].raw.trimEnd()),
+ (a.items[a.items.length - 1].text = a.items[a.items.length - 1].text.trimEnd()),
+ (a.raw = a.raw.trimEnd());
+ for (let u = 0; u < a.items.length; u++)
+ if (
+ ((this.lexer.state.top = !1),
+ (a.items[u].tokens = this.lexer.blockTokens(a.items[u].text, [])),
+ !a.loose)
+ ) {
+ let h = a.items[u].tokens.filter((d) => d.type === 'space'),
+ f = h.length > 0 && h.some((d) => /\n.*\n/.test(d.raw));
+ a.loose = f;
+ }
+ if (a.loose) for (let u = 0; u < a.items.length; u++) a.items[u].loose = !0;
+ return a;
+ }
+ }
+ html(e) {
+ let r = this.rules.block.html.exec(e);
+ if (r)
+ return {
+ type: 'html',
+ block: !0,
+ raw: r[0],
+ pre: r[1] === 'pre' || r[1] === 'script' || r[1] === 'style',
+ text: r[0]
+ };
+ }
+ def(e) {
+ let r = this.rules.block.def.exec(e);
+ if (r) {
+ let n = r[1].toLowerCase().replace(/\s+/g, ' '),
+ i = r[2]
+ ? r[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1')
+ : '',
+ a = r[3]
+ ? r[3].substring(1, r[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1')
+ : r[3];
+ return { type: 'def', tag: n, raw: r[0], href: i, title: a };
+ }
+ }
+ table(e) {
+ let r = this.rules.block.table.exec(e);
+ if (!r || !/[:|]/.test(r[2])) return;
+ let n = JX(r[1]),
+ i = r[2].replace(/^\||\| *$/g, '').split('|'),
+ a =
+ r[3] && r[3].trim()
+ ? r[3].replace(/\n[ \t]*$/, '').split(`
+`)
+ : [],
+ s = { type: 'table', raw: r[0], header: [], align: [], rows: [] };
+ if (n.length === i.length) {
+ for (let l of i)
+ /^ *-+: *$/.test(l)
+ ? s.align.push('right')
+ : /^ *:-+: *$/.test(l)
+ ? s.align.push('center')
+ : /^ *:-+ *$/.test(l)
+ ? s.align.push('left')
+ : s.align.push(null);
+ for (let l = 0; l < n.length; l++)
+ s.header.push({
+ text: n[l],
+ tokens: this.lexer.inline(n[l]),
+ header: !0,
+ align: s.align[l]
+ });
+ for (let l of a)
+ s.rows.push(
+ JX(l, s.header.length).map((u, h) => ({
+ text: u,
+ tokens: this.lexer.inline(u),
+ header: !1,
+ align: s.align[h]
+ }))
+ );
+ return s;
+ }
+ }
+ lheading(e) {
+ let r = this.rules.block.lheading.exec(e);
+ if (r)
+ return {
+ type: 'heading',
+ raw: r[0],
+ depth: r[2].charAt(0) === '=' ? 1 : 2,
+ text: r[1],
+ tokens: this.lexer.inline(r[1])
+ };
+ }
+ paragraph(e) {
+ let r = this.rules.block.paragraph.exec(e);
+ if (r) {
+ let n =
+ r[1].charAt(r[1].length - 1) ===
+ `
+`
+ ? r[1].slice(0, -1)
+ : r[1];
+ return {
+ type: 'paragraph',
+ raw: r[0],
+ text: n,
+ tokens: this.lexer.inline(n)
+ };
+ }
+ }
+ text(e) {
+ let r = this.rules.block.text.exec(e);
+ if (r)
+ return {
+ type: 'text',
+ raw: r[0],
+ text: r[0],
+ tokens: this.lexer.inline(r[0])
+ };
+ }
+ escape(e) {
+ let r = this.rules.inline.escape.exec(e);
+ if (r) return { type: 'escape', raw: r[0], text: ro(r[1]) };
+ }
+ tag(e) {
+ let r = this.rules.inline.tag.exec(e);
+ if (r)
+ return (
+ !this.lexer.state.inLink && /^/i.test(r[0]) && (this.lexer.state.inLink = !1),
+ !this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(r[0])
+ ? (this.lexer.state.inRawBlock = !0)
+ : this.lexer.state.inRawBlock &&
+ /^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0]) &&
+ (this.lexer.state.inRawBlock = !1),
+ {
+ type: 'html',
+ raw: r[0],
+ inLink: this.lexer.state.inLink,
+ inRawBlock: this.lexer.state.inRawBlock,
+ block: !1,
+ text: r[0]
+ }
+ );
+ }
+ link(e) {
+ let r = this.rules.inline.link.exec(e);
+ if (r) {
+ let n = r[2].trim();
+ if (!this.options.pedantic && /^$/.test(n)) return;
+ let s = pv(n.slice(0, -1), '\\');
+ if ((n.length - s.length) % 2 === 0) return;
+ } else {
+ let s = n7e(r[2], '()');
+ if (s > -1) {
+ let u = (r[0].indexOf('!') === 0 ? 5 : 4) + r[1].length + s;
+ (r[2] = r[2].substring(0, s)), (r[0] = r[0].substring(0, u).trim()), (r[3] = '');
+ }
+ }
+ let i = r[2],
+ a = '';
+ if (this.options.pedantic) {
+ let s = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);
+ s && ((i = s[1]), (a = s[3]));
+ } else a = r[3] ? r[3].slice(1, -1) : '';
+ return (
+ (i = i.trim()),
+ /^$/.test(n) ? (i = i.slice(1)) : (i = i.slice(1, -1))),
+ ej(
+ r,
+ {
+ href: i && i.replace(this.rules.inline.anyPunctuation, '$1'),
+ title: a && a.replace(this.rules.inline.anyPunctuation, '$1')
+ },
+ r[0],
+ this.lexer
+ )
+ );
+ }
+ }
+ reflink(e, r) {
+ let n;
+ if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) {
+ let i = (n[2] || n[1]).replace(/\s+/g, ' '),
+ a = r[i.toLowerCase()];
+ if (!a) {
+ let s = n[0].charAt(0);
+ return { type: 'text', raw: s, text: s };
+ }
+ return ej(n, a, n[0], this.lexer);
+ }
+ }
+ emStrong(e, r, n = '') {
+ let i = this.rules.inline.emStrongLDelim.exec(e);
+ if (!i || (i[3] && n.match(/[\p{L}\p{N}]/u))) return;
+ if (!(i[1] || i[2] || '') || !n || this.rules.inline.punctuation.exec(n)) {
+ let s = [...i[0]].length - 1,
+ l,
+ u,
+ h = s,
+ f = 0,
+ d =
+ i[0][0] === '*'
+ ? this.rules.inline.emStrongRDelimAst
+ : this.rules.inline.emStrongRDelimUnd;
+ for (d.lastIndex = 0, r = r.slice(-1 * e.length + s); (i = d.exec(r)) != null; ) {
+ if (((l = i[1] || i[2] || i[3] || i[4] || i[5] || i[6]), !l)) continue;
+ if (((u = [...l].length), i[3] || i[4])) {
+ h += u;
+ continue;
+ } else if ((i[5] || i[6]) && s % 3 && !((s + u) % 3)) {
+ f += u;
+ continue;
+ }
+ if (((h -= u), h > 0)) continue;
+ u = Math.min(u, u + h + f);
+ let p = [...i[0]][0].length,
+ m = e.slice(0, s + i.index + p + u);
+ if (Math.min(s, u) % 2) {
+ let y = m.slice(1, -1);
+ return {
+ type: 'em',
+ raw: m,
+ text: y,
+ tokens: this.lexer.inlineTokens(y)
+ };
+ }
+ let g = m.slice(2, -2);
+ return {
+ type: 'strong',
+ raw: m,
+ text: g,
+ tokens: this.lexer.inlineTokens(g)
+ };
+ }
+ }
+ }
+ codespan(e) {
+ let r = this.rules.inline.code.exec(e);
+ if (r) {
+ let n = r[2].replace(/\n/g, ' '),
+ i = /[^ ]/.test(n),
+ a = /^ /.test(n) && / $/.test(n);
+ return (
+ i && a && (n = n.substring(1, n.length - 1)),
+ (n = ro(n, !0)),
+ { type: 'codespan', raw: r[0], text: n }
+ );
+ }
+ }
+ br(e) {
+ let r = this.rules.inline.br.exec(e);
+ if (r) return { type: 'br', raw: r[0] };
+ }
+ del(e) {
+ let r = this.rules.inline.del.exec(e);
+ if (r)
+ return {
+ type: 'del',
+ raw: r[0],
+ text: r[2],
+ tokens: this.lexer.inlineTokens(r[2])
+ };
+ }
+ autolink(e) {
+ let r = this.rules.inline.autolink.exec(e);
+ if (r) {
+ let n, i;
+ return (
+ r[2] === '@' ? ((n = ro(r[1])), (i = 'mailto:' + n)) : ((n = ro(r[1])), (i = n)),
+ {
+ type: 'link',
+ raw: r[0],
+ text: n,
+ href: i,
+ tokens: [{ type: 'text', raw: n, text: n }]
+ }
+ );
+ }
+ }
+ url(e) {
+ let r;
+ if ((r = this.rules.inline.url.exec(e))) {
+ let n, i;
+ if (r[2] === '@') (n = ro(r[0])), (i = 'mailto:' + n);
+ else {
+ let a;
+ do (a = r[0]), (r[0] = this.rules.inline._backpedal.exec(r[0])?.[0] ?? '');
+ while (a !== r[0]);
+ (n = ro(r[0])), r[1] === 'www.' ? (i = 'http://' + r[0]) : (i = r[0]);
+ }
+ return {
+ type: 'link',
+ raw: r[0],
+ text: n,
+ href: i,
+ tokens: [{ type: 'text', raw: n, text: n }]
+ };
+ }
+ }
+ inlineText(e) {
+ let r = this.rules.inline.text.exec(e);
+ if (r) {
+ let n;
+ return (
+ this.lexer.state.inRawBlock ? (n = r[0]) : (n = ro(r[0])),
+ { type: 'text', raw: r[0], text: n }
+ );
+ }
+ }
+ }),
+ (a7e = /^(?: *(?:\n|$))+/),
+ (s7e = /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/),
+ (o7e =
+ /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/),
+ (vv = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/),
+ (l7e = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/),
+ (aj = /(?:[*+-]|\d{1,9}[.)])/),
+ (sj = ln(
+ /^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/
+ )
+ .replace(/bull/g, aj)
+ .replace(/blockCode/g, / {4}/)
+ .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/)
+ .replace(/blockquote/g, / {0,3}>/)
+ .replace(/heading/g, / {0,3}#{1,6}/)
+ .replace(/html/g, / {0,3}<[^\n>]+>\n/)
+ .getRegex()),
+ (g9 = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/),
+ (c7e = /^[^\n]+/),
+ (y9 = /(?!\s*\])(?:\\.|[^\[\]\\])+/),
+ (u7e = ln(
+ /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/
+ )
+ .replace('label', y9)
+ .replace('title', /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/)
+ .getRegex()),
+ (h7e = ln(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/)
+ .replace(/bull/g, aj)
+ .getRegex()),
+ (D5 =
+ 'address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul'),
+ (v9 = /|$))/),
+ (f7e = ln(
+ '^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))',
+ 'i'
+ )
+ .replace('comment', v9)
+ .replace('tag', D5)
+ .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/)
+ .getRegex()),
+ (oj = ln(g9)
+ .replace('hr', vv)
+ .replace('heading', ' {0,3}#{1,6}(?:\\s|$)')
+ .replace('|lheading', '')
+ .replace('|table', '')
+ .replace('blockquote', ' {0,3}>')
+ .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
+ .replace('list', ' {0,3}(?:[*+-]|1[.)]) ')
+ .replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)')
+ .replace('tag', D5)
+ .getRegex()),
+ (d7e = ln(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/)
+ .replace('paragraph', oj)
+ .getRegex()),
+ (x9 = {
+ blockquote: d7e,
+ code: s7e,
+ def: u7e,
+ fences: o7e,
+ heading: l7e,
+ hr: vv,
+ html: f7e,
+ lheading: sj,
+ list: h7e,
+ newline: a7e,
+ paragraph: oj,
+ table: gv,
+ text: c7e
+ }),
+ (tj = ln(
+ '^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)'
+ )
+ .replace('hr', vv)
+ .replace('heading', ' {0,3}#{1,6}(?:\\s|$)')
+ .replace('blockquote', ' {0,3}>')
+ .replace('code', ' {4}[^\\n]')
+ .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
+ .replace('list', ' {0,3}(?:[*+-]|1[.)]) ')
+ .replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)')
+ .replace('tag', D5)
+ .getRegex()),
+ (p7e = {
+ ...x9,
+ table: tj,
+ paragraph: ln(g9)
+ .replace('hr', vv)
+ .replace('heading', ' {0,3}#{1,6}(?:\\s|$)')
+ .replace('|lheading', '')
+ .replace('table', tj)
+ .replace('blockquote', ' {0,3}>')
+ .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
+ .replace('list', ' {0,3}(?:[*+-]|1[.)]) ')
+ .replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)')
+ .replace('tag', D5)
+ .getRegex()
+ }),
+ (m7e = {
+ ...x9,
+ html: ln(
+ `^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`
+ )
+ .replace('comment', v9)
+ .replace(
+ /tag/g,
+ '(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b'
+ )
+ .getRegex(),
+ def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
+ heading: /^(#{1,6})(.*)(?:\n+|$)/,
+ fences: gv,
+ lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
+ paragraph: ln(g9)
+ .replace('hr', vv)
+ .replace(
+ 'heading',
+ ` *#{1,6} *[^
+]`
+ )
+ .replace('lheading', sj)
+ .replace('|table', '')
+ .replace('blockquote', ' {0,3}>')
+ .replace('|fences', '')
+ .replace('|list', '')
+ .replace('|html', '')
+ .replace('|tag', '')
+ .getRegex()
+ }),
+ (lj = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/),
+ (g7e = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/),
+ (cj = /^( {2,}|\\)\n(?!\s*$)/),
+ (y7e = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g),
+ (b7e = ln(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/, 'u')
+ .replace(/punct/g, xv)
+ .getRegex()),
+ (w7e = ln(
+ '^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])',
+ 'gu'
+ )
+ .replace(/punct/g, xv)
+ .getRegex()),
+ (T7e = ln(
+ '^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])',
+ 'gu'
+ )
+ .replace(/punct/g, xv)
+ .getRegex()),
+ (k7e = ln(/\\([punct])/, 'gu')
+ .replace(/punct/g, xv)
+ .getRegex()),
+ (E7e = ln(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/)
+ .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)
+ .replace(
+ 'email',
+ /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/
+ )
+ .getRegex()),
+ (C7e = ln(v9).replace('(?:-->|$)', '-->').getRegex()),
+ (S7e = ln(
+ '^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^'
+ )
+ .replace('comment', C7e)
+ .replace('attribute', /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/)
+ .getRegex()),
+ (L5 = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/),
+ (A7e = ln(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/)
+ .replace('label', L5)
+ .replace('href', /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/)
+ .replace('title', /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/)
+ .getRegex()),
+ (uj = ln(/^!?\[(label)\]\[(ref)\]/)
+ .replace('label', L5)
+ .replace('ref', y9)
+ .getRegex()),
+ (hj = ln(/^!?\[(ref)\](?:\[\])?/)
+ .replace('ref', y9)
+ .getRegex()),
+ (_7e = ln('reflink|nolink(?!\\()', 'g').replace('reflink', uj).replace('nolink', hj).getRegex()),
+ (b9 = {
+ _backpedal: gv,
+ anyPunctuation: k7e,
+ autolink: E7e,
+ blockSkip: x7e,
+ br: cj,
+ code: g7e,
+ del: gv,
+ emStrongLDelim: b7e,
+ emStrongRDelimAst: w7e,
+ emStrongRDelimUnd: T7e,
+ escape: lj,
+ link: A7e,
+ nolink: hj,
+ punctuation: v7e,
+ reflink: uj,
+ reflinkSearch: _7e,
+ tag: S7e,
+ text: y7e,
+ url: gv
+ }),
+ (L7e = {
+ ...b9,
+ link: ln(/^!?\[(label)\]\((.*?)\)/)
+ .replace('label', L5)
+ .getRegex(),
+ reflink: ln(/^!?\[(label)\]\s*\[([^\]]*)\]/)
+ .replace('label', L5)
+ .getRegex()
+ }),
+ (d9 = {
+ ...b9,
+ escape: ln(lj).replace('])', '~|])').getRegex(),
+ url: ln(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, 'i')
+ .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)
+ .getRegex(),
+ _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
+ del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
+ text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ u + ' '.repeat(h.length)));
+ let i, a, s;
+ for (; e; )
+ if (
+ !(
+ this.options.extensions &&
+ this.options.extensions.block &&
+ this.options.extensions.block.some((l) =>
+ (i = l.call({ lexer: this }, e, r))
+ ? ((e = e.substring(i.raw.length)), r.push(i), !0)
+ : !1
+ )
+ )
+ ) {
+ if ((i = this.tokenizer.space(e))) {
+ (e = e.substring(i.raw.length)),
+ i.raw.length === 1 && r.length > 0
+ ? (r[r.length - 1].raw += `
+`)
+ : r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.code(e))) {
+ (e = e.substring(i.raw.length)),
+ (a = r[r.length - 1]),
+ a && (a.type === 'paragraph' || a.type === 'text')
+ ? ((a.raw +=
+ `
+` + i.raw),
+ (a.text +=
+ `
+` + i.text),
+ (this.inlineQueue[this.inlineQueue.length - 1].src = a.text))
+ : r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.fences(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.heading(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.hr(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.blockquote(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.list(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.html(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.def(e))) {
+ (e = e.substring(i.raw.length)),
+ (a = r[r.length - 1]),
+ a && (a.type === 'paragraph' || a.type === 'text')
+ ? ((a.raw +=
+ `
+` + i.raw),
+ (a.text +=
+ `
+` + i.raw),
+ (this.inlineQueue[this.inlineQueue.length - 1].src = a.text))
+ : this.tokens.links[i.tag] ||
+ (this.tokens.links[i.tag] = {
+ href: i.href,
+ title: i.title
+ });
+ continue;
+ }
+ if ((i = this.tokenizer.table(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.lheading(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if (((s = e), this.options.extensions && this.options.extensions.startBlock)) {
+ let l = 1 / 0,
+ u = e.slice(1),
+ h;
+ this.options.extensions.startBlock.forEach((f) => {
+ (h = f.call({ lexer: this }, u)),
+ typeof h == 'number' && h >= 0 && (l = Math.min(l, h));
+ }),
+ l < 1 / 0 && l >= 0 && (s = e.substring(0, l + 1));
+ }
+ if (this.state.top && (i = this.tokenizer.paragraph(s))) {
+ (a = r[r.length - 1]),
+ n && a?.type === 'paragraph'
+ ? ((a.raw +=
+ `
+` + i.raw),
+ (a.text +=
+ `
+` + i.text),
+ this.inlineQueue.pop(),
+ (this.inlineQueue[this.inlineQueue.length - 1].src = a.text))
+ : r.push(i),
+ (n = s.length !== e.length),
+ (e = e.substring(i.raw.length));
+ continue;
+ }
+ if ((i = this.tokenizer.text(e))) {
+ (e = e.substring(i.raw.length)),
+ (a = r[r.length - 1]),
+ a && a.type === 'text'
+ ? ((a.raw +=
+ `
+` + i.raw),
+ (a.text +=
+ `
+` + i.text),
+ this.inlineQueue.pop(),
+ (this.inlineQueue[this.inlineQueue.length - 1].src = a.text))
+ : r.push(i);
+ continue;
+ }
+ if (e) {
+ let l = 'Infinite loop on byte: ' + e.charCodeAt(0);
+ if (this.options.silent) {
+ console.error(l);
+ break;
+ } else throw new Error(l);
+ }
+ }
+ return (this.state.top = !0), r;
+ }
+ inline(e, r = []) {
+ return this.inlineQueue.push({ src: e, tokens: r }), r;
+ }
+ inlineTokens(e, r = []) {
+ let n,
+ i,
+ a,
+ s = e,
+ l,
+ u,
+ h;
+ if (this.tokens.links) {
+ let f = Object.keys(this.tokens.links);
+ if (f.length > 0)
+ for (; (l = this.tokenizer.rules.inline.reflinkSearch.exec(s)) != null; )
+ f.includes(l[0].slice(l[0].lastIndexOf('[') + 1, -1)) &&
+ (s =
+ s.slice(0, l.index) +
+ '[' +
+ 'a'.repeat(l[0].length - 2) +
+ ']' +
+ s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));
+ }
+ for (; (l = this.tokenizer.rules.inline.blockSkip.exec(s)) != null; )
+ s =
+ s.slice(0, l.index) +
+ '[' +
+ 'a'.repeat(l[0].length - 2) +
+ ']' +
+ s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
+ for (; (l = this.tokenizer.rules.inline.anyPunctuation.exec(s)) != null; )
+ s =
+ s.slice(0, l.index) +
+ '++' +
+ s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
+ for (; e; )
+ if (
+ (u || (h = ''),
+ (u = !1),
+ !(
+ this.options.extensions &&
+ this.options.extensions.inline &&
+ this.options.extensions.inline.some((f) =>
+ (n = f.call({ lexer: this }, e, r))
+ ? ((e = e.substring(n.raw.length)), r.push(n), !0)
+ : !1
+ )
+ ))
+ ) {
+ if ((n = this.tokenizer.escape(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.tag(e))) {
+ (e = e.substring(n.raw.length)),
+ (i = r[r.length - 1]),
+ i && n.type === 'text' && i.type === 'text'
+ ? ((i.raw += n.raw), (i.text += n.text))
+ : r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.link(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.reflink(e, this.tokens.links))) {
+ (e = e.substring(n.raw.length)),
+ (i = r[r.length - 1]),
+ i && n.type === 'text' && i.type === 'text'
+ ? ((i.raw += n.raw), (i.text += n.text))
+ : r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.emStrong(e, s, h))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.codespan(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.br(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.del(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.autolink(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if (!this.state.inLink && (n = this.tokenizer.url(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if (((a = e), this.options.extensions && this.options.extensions.startInline)) {
+ let f = 1 / 0,
+ d = e.slice(1),
+ p;
+ this.options.extensions.startInline.forEach((m) => {
+ (p = m.call({ lexer: this }, d)),
+ typeof p == 'number' && p >= 0 && (f = Math.min(f, p));
+ }),
+ f < 1 / 0 && f >= 0 && (a = e.substring(0, f + 1));
+ }
+ if ((n = this.tokenizer.inlineText(a))) {
+ (e = e.substring(n.raw.length)),
+ n.raw.slice(-1) !== '_' && (h = n.raw.slice(-1)),
+ (u = !0),
+ (i = r[r.length - 1]),
+ i && i.type === 'text' ? ((i.raw += n.raw), (i.text += n.text)) : r.push(n);
+ continue;
+ }
+ if (e) {
+ let f = 'Infinite loop on byte: ' + e.charCodeAt(0);
+ if (this.options.silent) {
+ console.error(f);
+ break;
+ } else throw new Error(f);
+ }
+ }
+ return r;
+ }
+ }),
+ (fm = class {
+ static {
+ o(this, '_Renderer');
+ }
+ options;
+ parser;
+ constructor(e) {
+ this.options = e || Sd;
+ }
+ space(e) {
+ return '';
+ }
+ code({ text: e, lang: r, escaped: n }) {
+ let i = (r || '').match(/^\S*/)?.[0],
+ a =
+ e.replace(/\n$/, '') +
+ `
+`;
+ return i
+ ? '' +
+ (n ? a : ro(a, !0)) +
+ `
+`
+ : '' +
+ (n ? a : ro(a, !0)) +
+ `
+`;
+ }
+ blockquote({ tokens: e }) {
+ return `
+${this.parser.parse(e)}
+`;
+ }
+ html({ text: e }) {
+ return e;
+ }
+ heading({ tokens: e, depth: r }) {
+ return `${this.parser.parseInline(e)}
+`;
+ }
+ hr(e) {
+ return `
+`;
+ }
+ list(e) {
+ let r = e.ordered,
+ n = e.start,
+ i = '';
+ for (let l = 0; l < e.items.length; l++) {
+ let u = e.items[l];
+ i += this.listitem(u);
+ }
+ let a = r ? 'ol' : 'ul',
+ s = r && n !== 1 ? ' start="' + n + '"' : '';
+ return (
+ '<' +
+ a +
+ s +
+ `>
+` +
+ i +
+ '' +
+ a +
+ `>
+`
+ );
+ }
+ listitem(e) {
+ let r = '';
+ if (e.task) {
+ let n = this.checkbox({ checked: !!e.checked });
+ e.loose
+ ? e.tokens.length > 0 && e.tokens[0].type === 'paragraph'
+ ? ((e.tokens[0].text = n + ' ' + e.tokens[0].text),
+ e.tokens[0].tokens &&
+ e.tokens[0].tokens.length > 0 &&
+ e.tokens[0].tokens[0].type === 'text' &&
+ (e.tokens[0].tokens[0].text = n + ' ' + e.tokens[0].tokens[0].text))
+ : e.tokens.unshift({
+ type: 'text',
+ raw: n + ' ',
+ text: n + ' '
+ })
+ : (r += n + ' ');
+ }
+ return (
+ (r += this.parser.parse(e.tokens, !!e.loose)),
+ `${r}
+`
+ );
+ }
+ checkbox({ checked: e }) {
+ return '';
+ }
+ paragraph({ tokens: e }) {
+ return `${this.parser.parseInline(e)}
+`;
+ }
+ table(e) {
+ let r = '',
+ n = '';
+ for (let a = 0; a < e.header.length; a++) n += this.tablecell(e.header[a]);
+ r += this.tablerow({ text: n });
+ let i = '';
+ for (let a = 0; a < e.rows.length; a++) {
+ let s = e.rows[a];
+ n = '';
+ for (let l = 0; l < s.length; l++) n += this.tablecell(s[l]);
+ i += this.tablerow({ text: n });
+ }
+ return (
+ i && (i = `${i}`),
+ `
+
+` +
+ r +
+ `
+` +
+ i +
+ `
+`
+ );
+ }
+ tablerow({ text: e }) {
+ return `
+${e}
+`;
+ }
+ tablecell(e) {
+ let r = this.parser.parseInline(e.tokens),
+ n = e.header ? 'th' : 'td';
+ return (
+ (e.align ? `<${n} align="${e.align}">` : `<${n}>`) +
+ r +
+ `${n}>
+`
+ );
+ }
+ strong({ tokens: e }) {
+ return `${this.parser.parseInline(e)}`;
+ }
+ em({ tokens: e }) {
+ return `${this.parser.parseInline(e)}`;
+ }
+ codespan({ text: e }) {
+ return `${e}
`;
+ }
+ br(e) {
+ return '
';
+ }
+ del({ tokens: e }) {
+ return `${this.parser.parseInline(e)}`;
+ }
+ link({ href: e, title: r, tokens: n }) {
+ let i = this.parser.parseInline(n),
+ a = ZX(e);
+ if (a === null) return i;
+ e = a;
+ let s = '' + i + ''), s;
+ }
+ image({ href: e, title: r, text: n }) {
+ let i = ZX(e);
+ if (i === null) return n;
+ e = i;
+ let a = `'), a;
+ }
+ text(e) {
+ return 'tokens' in e && e.tokens ? this.parser.parseInline(e.tokens) : e.text;
+ }
+ }),
+ (yv = class {
+ static {
+ o(this, '_TextRenderer');
+ }
+ strong({ text: e }) {
+ return e;
+ }
+ em({ text: e }) {
+ return e;
+ }
+ codespan({ text: e }) {
+ return e;
+ }
+ del({ text: e }) {
+ return e;
+ }
+ html({ text: e }) {
+ return e;
+ }
+ text({ text: e }) {
+ return e;
+ }
+ link({ text: e }) {
+ return '' + e;
+ }
+ image({ text: e }) {
+ return '' + e;
+ }
+ br() {
+ return '';
+ }
+ }),
+ (Au = class t {
+ static {
+ o(this, '_Parser');
+ }
+ options;
+ renderer;
+ textRenderer;
+ constructor(e) {
+ (this.options = e || Sd),
+ (this.options.renderer = this.options.renderer || new fm()),
+ (this.renderer = this.options.renderer),
+ (this.renderer.options = this.options),
+ (this.renderer.parser = this),
+ (this.textRenderer = new yv());
+ }
+ static parse(e, r) {
+ return new t(r).parse(e);
+ }
+ static parseInline(e, r) {
+ return new t(r).parseInline(e);
+ }
+ parse(e, r = !0) {
+ let n = '';
+ for (let i = 0; i < e.length; i++) {
+ let a = e[i];
+ if (
+ this.options.extensions &&
+ this.options.extensions.renderers &&
+ this.options.extensions.renderers[a.type]
+ ) {
+ let l = a,
+ u = this.options.extensions.renderers[l.type].call({ parser: this }, l);
+ if (
+ u !== !1 ||
+ ![
+ 'space',
+ 'hr',
+ 'heading',
+ 'code',
+ 'table',
+ 'blockquote',
+ 'list',
+ 'html',
+ 'paragraph',
+ 'text'
+ ].includes(l.type)
+ ) {
+ n += u || '';
+ continue;
+ }
+ }
+ let s = a;
+ switch (s.type) {
+ case 'space': {
+ n += this.renderer.space(s);
+ continue;
+ }
+ case 'hr': {
+ n += this.renderer.hr(s);
+ continue;
+ }
+ case 'heading': {
+ n += this.renderer.heading(s);
+ continue;
+ }
+ case 'code': {
+ n += this.renderer.code(s);
+ continue;
+ }
+ case 'table': {
+ n += this.renderer.table(s);
+ continue;
+ }
+ case 'blockquote': {
+ n += this.renderer.blockquote(s);
+ continue;
+ }
+ case 'list': {
+ n += this.renderer.list(s);
+ continue;
+ }
+ case 'html': {
+ n += this.renderer.html(s);
+ continue;
+ }
+ case 'paragraph': {
+ n += this.renderer.paragraph(s);
+ continue;
+ }
+ case 'text': {
+ let l = s,
+ u = this.renderer.text(l);
+ for (; i + 1 < e.length && e[i + 1].type === 'text'; )
+ (l = e[++i]),
+ (u +=
+ `
+` + this.renderer.text(l));
+ r
+ ? (n += this.renderer.paragraph({
+ type: 'paragraph',
+ raw: u,
+ text: u,
+ tokens: [{ type: 'text', raw: u, text: u }]
+ }))
+ : (n += u);
+ continue;
+ }
+ default: {
+ let l = 'Token with "' + s.type + '" type was not found.';
+ if (this.options.silent) return console.error(l), '';
+ throw new Error(l);
+ }
+ }
+ }
+ return n;
+ }
+ parseInline(e, r) {
+ r = r || this.renderer;
+ let n = '';
+ for (let i = 0; i < e.length; i++) {
+ let a = e[i];
+ if (
+ this.options.extensions &&
+ this.options.extensions.renderers &&
+ this.options.extensions.renderers[a.type]
+ ) {
+ let l = this.options.extensions.renderers[a.type].call({ parser: this }, a);
+ if (
+ l !== !1 ||
+ ![
+ 'escape',
+ 'html',
+ 'link',
+ 'image',
+ 'strong',
+ 'em',
+ 'codespan',
+ 'br',
+ 'del',
+ 'text'
+ ].includes(a.type)
+ ) {
+ n += l || '';
+ continue;
+ }
+ }
+ let s = a;
+ switch (s.type) {
+ case 'escape': {
+ n += r.text(s);
+ break;
+ }
+ case 'html': {
+ n += r.html(s);
+ break;
+ }
+ case 'link': {
+ n += r.link(s);
+ break;
+ }
+ case 'image': {
+ n += r.image(s);
+ break;
+ }
+ case 'strong': {
+ n += r.strong(s);
+ break;
+ }
+ case 'em': {
+ n += r.em(s);
+ break;
+ }
+ case 'codespan': {
+ n += r.codespan(s);
+ break;
+ }
+ case 'br': {
+ n += r.br(s);
+ break;
+ }
+ case 'del': {
+ n += r.del(s);
+ break;
+ }
+ case 'text': {
+ n += r.text(s);
+ break;
+ }
+ default: {
+ let l = 'Token with "' + s.type + '" type was not found.';
+ if (this.options.silent) return console.error(l), '';
+ throw new Error(l);
+ }
+ }
+ }
+ return n;
+ }
+ }),
+ (um = class {
+ static {
+ o(this, '_Hooks');
+ }
+ options;
+ constructor(e) {
+ this.options = e || Sd;
+ }
+ static passThroughHooks = new Set(['preprocess', 'postprocess', 'processAllTokens']);
+ preprocess(e) {
+ return e;
+ }
+ postprocess(e) {
+ return e;
+ }
+ processAllTokens(e) {
+ return e;
+ }
+ }),
+ (p9 = class {
+ static {
+ o(this, 'Marked');
+ }
+ defaults = m9();
+ options = this.setOptions;
+ parse = this.#e(Su.lex, Au.parse);
+ parseInline = this.#e(Su.lexInline, Au.parseInline);
+ Parser = Au;
+ Renderer = fm;
+ TextRenderer = yv;
+ Lexer = Su;
+ Tokenizer = hm;
+ Hooks = um;
+ constructor(...e) {
+ this.use(...e);
+ }
+ walkTokens(e, r) {
+ let n = [];
+ for (let i of e)
+ switch (((n = n.concat(r.call(this, i))), i.type)) {
+ case 'table': {
+ let a = i;
+ for (let s of a.header) n = n.concat(this.walkTokens(s.tokens, r));
+ for (let s of a.rows) for (let l of s) n = n.concat(this.walkTokens(l.tokens, r));
+ break;
+ }
+ case 'list': {
+ let a = i;
+ n = n.concat(this.walkTokens(a.items, r));
+ break;
+ }
+ default: {
+ let a = i;
+ this.defaults.extensions?.childTokens?.[a.type]
+ ? this.defaults.extensions.childTokens[a.type].forEach((s) => {
+ let l = a[s].flat(1 / 0);
+ n = n.concat(this.walkTokens(l, r));
+ })
+ : a.tokens && (n = n.concat(this.walkTokens(a.tokens, r)));
+ }
+ }
+ return n;
+ }
+ use(...e) {
+ let r = this.defaults.extensions || {
+ renderers: {},
+ childTokens: {}
+ };
+ return (
+ e.forEach((n) => {
+ let i = { ...n };
+ if (
+ ((i.async = this.defaults.async || i.async || !1),
+ n.extensions &&
+ (n.extensions.forEach((a) => {
+ if (!a.name) throw new Error('extension name required');
+ if ('renderer' in a) {
+ let s = r.renderers[a.name];
+ s
+ ? (r.renderers[a.name] = function (...l) {
+ let u = a.renderer.apply(this, l);
+ return u === !1 && (u = s.apply(this, l)), u;
+ })
+ : (r.renderers[a.name] = a.renderer);
+ }
+ if ('tokenizer' in a) {
+ if (!a.level || (a.level !== 'block' && a.level !== 'inline'))
+ throw new Error("extension level must be 'block' or 'inline'");
+ let s = r[a.level];
+ s ? s.unshift(a.tokenizer) : (r[a.level] = [a.tokenizer]),
+ a.start &&
+ (a.level === 'block'
+ ? r.startBlock
+ ? r.startBlock.push(a.start)
+ : (r.startBlock = [a.start])
+ : a.level === 'inline' &&
+ (r.startInline
+ ? r.startInline.push(a.start)
+ : (r.startInline = [a.start])));
+ }
+ 'childTokens' in a &&
+ a.childTokens &&
+ (r.childTokens[a.name] = a.childTokens);
+ }),
+ (i.extensions = r)),
+ n.renderer)
+ ) {
+ let a = this.defaults.renderer || new fm(this.defaults);
+ for (let s in n.renderer) {
+ if (!(s in a)) throw new Error(`renderer '${s}' does not exist`);
+ if (['options', 'parser'].includes(s)) continue;
+ let l = s,
+ u = n.renderer[l];
+ n.useNewRenderer || (u = this.#t(u, l, a));
+ let h = a[l];
+ a[l] = (...f) => {
+ let d = u.apply(a, f);
+ return d === !1 && (d = h.apply(a, f)), d || '';
+ };
+ }
+ i.renderer = a;
+ }
+ if (n.tokenizer) {
+ let a = this.defaults.tokenizer || new hm(this.defaults);
+ for (let s in n.tokenizer) {
+ if (!(s in a)) throw new Error(`tokenizer '${s}' does not exist`);
+ if (['options', 'rules', 'lexer'].includes(s)) continue;
+ let l = s,
+ u = n.tokenizer[l],
+ h = a[l];
+ a[l] = (...f) => {
+ let d = u.apply(a, f);
+ return d === !1 && (d = h.apply(a, f)), d;
+ };
+ }
+ i.tokenizer = a;
+ }
+ if (n.hooks) {
+ let a = this.defaults.hooks || new um();
+ for (let s in n.hooks) {
+ if (!(s in a)) throw new Error(`hook '${s}' does not exist`);
+ if (s === 'options') continue;
+ let l = s,
+ u = n.hooks[l],
+ h = a[l];
+ um.passThroughHooks.has(s)
+ ? (a[l] = (f) => {
+ if (this.defaults.async)
+ return Promise.resolve(u.call(a, f)).then((p) => h.call(a, p));
+ let d = u.call(a, f);
+ return h.call(a, d);
+ })
+ : (a[l] = (...f) => {
+ let d = u.apply(a, f);
+ return d === !1 && (d = h.apply(a, f)), d;
+ });
+ }
+ i.hooks = a;
+ }
+ if (n.walkTokens) {
+ let a = this.defaults.walkTokens,
+ s = n.walkTokens;
+ i.walkTokens = function (l) {
+ let u = [];
+ return u.push(s.call(this, l)), a && (u = u.concat(a.call(this, l))), u;
+ };
+ }
+ this.defaults = { ...this.defaults, ...i };
+ }),
+ this
+ );
+ }
+ #t(e, r, n) {
+ switch (r) {
+ case 'heading':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(
+ this,
+ n.parser.parseInline(i.tokens),
+ i.depth,
+ t7e(n.parser.parseInline(i.tokens, n.parser.textRenderer))
+ );
+ };
+ case 'code':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, i.text, i.lang, !!i.escaped);
+ };
+ case 'table':
+ return function (i) {
+ if (!i.type || i.type !== r) return e.apply(this, arguments);
+ let a = '',
+ s = '';
+ for (let u = 0; u < i.header.length; u++)
+ s += this.tablecell({
+ text: i.header[u].text,
+ tokens: i.header[u].tokens,
+ header: !0,
+ align: i.align[u]
+ });
+ a += this.tablerow({ text: s });
+ let l = '';
+ for (let u = 0; u < i.rows.length; u++) {
+ let h = i.rows[u];
+ s = '';
+ for (let f = 0; f < h.length; f++)
+ s += this.tablecell({
+ text: h[f].text,
+ tokens: h[f].tokens,
+ header: !1,
+ align: i.align[f]
+ });
+ l += this.tablerow({ text: s });
+ }
+ return e.call(this, a, l);
+ };
+ case 'blockquote':
+ return function (i) {
+ if (!i.type || i.type !== r) return e.apply(this, arguments);
+ let a = this.parser.parse(i.tokens);
+ return e.call(this, a);
+ };
+ case 'list':
+ return function (i) {
+ if (!i.type || i.type !== r) return e.apply(this, arguments);
+ let a = i.ordered,
+ s = i.start,
+ l = i.loose,
+ u = '';
+ for (let h = 0; h < i.items.length; h++) {
+ let f = i.items[h],
+ d = f.checked,
+ p = f.task,
+ m = '';
+ if (f.task) {
+ let g = this.checkbox({ checked: !!d });
+ l
+ ? f.tokens.length > 0 && f.tokens[0].type === 'paragraph'
+ ? ((f.tokens[0].text = g + ' ' + f.tokens[0].text),
+ f.tokens[0].tokens &&
+ f.tokens[0].tokens.length > 0 &&
+ f.tokens[0].tokens[0].type === 'text' &&
+ (f.tokens[0].tokens[0].text =
+ g + ' ' + f.tokens[0].tokens[0].text))
+ : f.tokens.unshift({ type: 'text', text: g + ' ' })
+ : (m += g + ' ');
+ }
+ (m += this.parser.parse(f.tokens, l)),
+ (u += this.listitem({
+ type: 'list_item',
+ raw: m,
+ text: m,
+ task: p,
+ checked: !!d,
+ loose: l,
+ tokens: f.tokens
+ }));
+ }
+ return e.call(this, u, a, s);
+ };
+ case 'html':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, i.text, i.block);
+ };
+ case 'paragraph':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, this.parser.parseInline(i.tokens));
+ };
+ case 'escape':
+ return function (i) {
+ return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text);
+ };
+ case 'link':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, i.href, i.title, this.parser.parseInline(i.tokens));
+ };
+ case 'image':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, i.href, i.title, i.text);
+ };
+ case 'strong':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, this.parser.parseInline(i.tokens));
+ };
+ case 'em':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, this.parser.parseInline(i.tokens));
+ };
+ case 'codespan':
+ return function (i) {
+ return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text);
+ };
+ case 'del':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, this.parser.parseInline(i.tokens));
+ };
+ case 'text':
+ return function (i) {
+ return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text);
+ };
+ }
+ return e;
+ }
+ setOptions(e) {
+ return (this.defaults = { ...this.defaults, ...e }), this;
+ }
+ lexer(e, r) {
+ return Su.lex(e, r ?? this.defaults);
+ }
+ parser(e, r) {
+ return Au.parse(e, r ?? this.defaults);
+ }
+ #e(e, r) {
+ return (n, i) => {
+ let a = { ...i },
+ s = { ...this.defaults, ...a };
+ this.defaults.async === !0 &&
+ a.async === !1 &&
+ (s.silent ||
+ console.warn(
+ 'marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.'
+ ),
+ (s.async = !0));
+ let l = this.#r(!!s.silent, !!s.async);
+ if (typeof n > 'u' || n === null)
+ return l(new Error('marked(): input parameter is undefined or null'));
+ if (typeof n != 'string')
+ return l(
+ new Error(
+ 'marked(): input parameter is of type ' +
+ Object.prototype.toString.call(n) +
+ ', string expected'
+ )
+ );
+ if ((s.hooks && (s.hooks.options = s), s.async))
+ return Promise.resolve(s.hooks ? s.hooks.preprocess(n) : n)
+ .then((u) => e(u, s))
+ .then((u) => (s.hooks ? s.hooks.processAllTokens(u) : u))
+ .then((u) =>
+ s.walkTokens ? Promise.all(this.walkTokens(u, s.walkTokens)).then(() => u) : u
+ )
+ .then((u) => r(u, s))
+ .then((u) => (s.hooks ? s.hooks.postprocess(u) : u))
+ .catch(l);
+ try {
+ s.hooks && (n = s.hooks.preprocess(n));
+ let u = e(n, s);
+ s.hooks && (u = s.hooks.processAllTokens(u)),
+ s.walkTokens && this.walkTokens(u, s.walkTokens);
+ let h = r(u, s);
+ return s.hooks && (h = s.hooks.postprocess(h)), h;
+ } catch (u) {
+ return l(u);
+ }
+ };
+ }
+ #r(e, r) {
+ return (n) => {
+ if (
+ ((n.message += `
+Please report this to https://github.com/markedjs/marked.`),
+ e)
+ ) {
+ let i = 'An error occurred:
' + ro(n.message + '', !0) + '
';
+ return r ? Promise.resolve(i) : i;
+ }
+ if (r) return Promise.reject(n);
+ throw n;
+ };
+ }
+ }),
+ (Cd = new p9());
+ o(jr, 'marked');
+ jr.options = jr.setOptions = function (t) {
+ return Cd.setOptions(t), (jr.defaults = Cd.defaults), rj(jr.defaults), jr;
+ };
+ jr.getDefaults = m9;
+ jr.defaults = Sd;
+ jr.use = function (...t) {
+ return Cd.use(...t), (jr.defaults = Cd.defaults), rj(jr.defaults), jr;
+ };
+ jr.walkTokens = function (t, e) {
+ return Cd.walkTokens(t, e);
+ };
+ jr.parseInline = Cd.parseInline;
+ jr.Parser = Au;
+ jr.parser = Au.parse;
+ jr.Renderer = fm;
+ jr.TextRenderer = yv;
+ jr.Lexer = Su;
+ jr.lexer = Su.lex;
+ jr.Tokenizer = hm;
+ jr.Hooks = um;
+ jr.parse = jr;
+ (mkt = jr.options),
+ (gkt = jr.setOptions),
+ (ykt = jr.use),
+ (vkt = jr.walkTokens),
+ (xkt = jr.parseInline),
+ (bkt = Au.parse),
+ (wkt = Su.lex);
+ });
+ function R7e(t, { markdownAutoWrap: e }) {
+ let n = t
+ .replace(
+ /
/g,
+ `
+`
+ )
+ .replace(
+ /\n{2,}/g,
+ `
+`
+ ),
+ i = Gb(n);
+ return e === !1 ? i.replace(/ /g, ' ') : i;
+ }
+ function dj(t, e = {}) {
+ let r = R7e(t, e),
+ n = jr.lexer(r),
+ i = [[]],
+ a = 0;
+ function s(l, u = 'normal') {
+ l.type === 'text'
+ ? l.text
+ .split(
+ `
+`
+ )
+ .forEach((f, d) => {
+ d !== 0 && (a++, i.push([])),
+ f.split(' ').forEach((p) => {
+ p && i[a].push({ content: p, type: u });
+ });
+ })
+ : l.type === 'strong' || l.type === 'em'
+ ? l.tokens.forEach((h) => {
+ s(h, l.type);
+ })
+ : l.type === 'html' && i[a].push({ content: l.text, type: 'normal' });
+ }
+ return (
+ o(s, 'processNode'),
+ n.forEach((l) => {
+ l.type === 'paragraph'
+ ? l.tokens?.forEach((u) => {
+ s(u);
+ })
+ : l.type === 'html' && i[a].push({ content: l.text, type: 'normal' });
+ }),
+ i
+ );
+ }
+ function pj(t, { markdownAutoWrap: e } = {}) {
+ let r = jr.lexer(t);
+ function n(i) {
+ return i.type === 'text'
+ ? e === !1
+ ? i.text.replace(/\n */g, '
').replace(/ /g, ' ')
+ : i.text.replace(/\n */g, '
')
+ : i.type === 'strong'
+ ? `${i.tokens?.map(n).join('')}`
+ : i.type === 'em'
+ ? `${i.tokens?.map(n).join('')}`
+ : i.type === 'paragraph'
+ ? `${i.tokens?.map(n).join('')}
`
+ : i.type === 'space'
+ ? ''
+ : i.type === 'html'
+ ? `${i.text}`
+ : `Unsupported markdown: ${i.type}`;
+ }
+ return o(n, 'output'), r.map(n).join('');
+ }
+ var mj = R(() => {
+ 'use strict';
+ fj();
+ zC();
+ o(R7e, 'preprocessMarkdown');
+ o(dj, 'markdownToLines');
+ o(pj, 'markdownToHTML');
+ });
+ function N7e(t) {
+ return Intl.Segmenter ? [...new Intl.Segmenter().segment(t)].map((e) => e.segment) : [...t];
+ }
+ function M7e(t, e) {
+ let r = N7e(e.content);
+ return gj(t, [], r, e.type);
+ }
+ function gj(t, e, r, n) {
+ if (r.length === 0)
+ return [
+ { content: e.join(''), type: n },
+ { content: '', type: n }
+ ];
+ let [i, ...a] = r,
+ s = [...e, i];
+ return t([{ content: s.join(''), type: n }])
+ ? gj(t, s, a, n)
+ : (e.length === 0 && i && (e.push(i), r.shift()),
+ [
+ { content: e.join(''), type: n },
+ { content: r.join(''), type: n }
+ ]);
+ }
+ function yj(t, e) {
+ if (
+ t.some(({ content: r }) =>
+ r.includes(`
+`)
+ )
+ )
+ throw new Error('splitLineToFitWidth does not support newlines in the line');
+ return w9(t, e);
+ }
+ function w9(t, e, r = [], n = []) {
+ if (t.length === 0) return n.length > 0 && r.push(n), r.length > 0 ? r : [];
+ let i = '';
+ t[0].content === ' ' && ((i = ' '), t.shift());
+ let a = t.shift() ?? { content: ' ', type: 'normal' },
+ s = [...n];
+ if ((i !== '' && s.push({ content: i, type: 'normal' }), s.push(a), e(s))) return w9(t, e, r, s);
+ if (n.length > 0) r.push(n), t.unshift(a);
+ else if (a.content) {
+ let [l, u] = M7e(e, a);
+ r.push([l]), u.content && t.unshift(u);
+ }
+ return w9(t, e, r);
+ }
+ var vj = R(() => {
+ 'use strict';
+ o(N7e, 'splitTextToChars');
+ o(M7e, 'splitWordToFitWidth');
+ o(gj, 'splitWordToFitWidthRecursion');
+ o(yj, 'splitLineToFitWidth');
+ o(w9, 'splitLineToFitWidthRecursion');
+ });
+ function xj(t, e) {
+ e && t.attr('style', e);
+ }
+ async function I7e(t, e, r, n, i = !1) {
+ let a = t.append('foreignObject'),
+ s = a.append('xhtml:div'),
+ l = e.label;
+ e.label &&
+ Ni(e.label) &&
+ (l = await yh(
+ e.label.replace(
+ We.lineBreakRegex,
+ `
+`
+ ),
+ de()
+ ));
+ let u = e.isNode ? 'nodeLabel' : 'edgeLabel',
+ h = s.append('span');
+ h.html(l),
+ xj(h, e.labelStyle),
+ h.attr('class', `${u} ${n}`),
+ xj(s, e.labelStyle),
+ s.style('display', 'table-cell'),
+ s.style('white-space', 'nowrap'),
+ s.style('line-height', '1.5'),
+ s.style('max-width', r + 'px'),
+ s.style('text-align', 'center'),
+ s.attr('xmlns', 'http://www.w3.org/1999/xhtml'),
+ i && s.attr('class', 'labelBkg');
+ let f = s.node().getBoundingClientRect();
+ return (
+ f.width === r &&
+ (s.style('display', 'table'),
+ s.style('white-space', 'break-spaces'),
+ s.style('width', r + 'px'),
+ (f = s.node().getBoundingClientRect())),
+ a.node()
+ );
+ }
+ function T9(t, e, r) {
+ return t
+ .append('tspan')
+ .attr('class', 'text-outer-tspan')
+ .attr('x', 0)
+ .attr('y', e * r - 0.1 + 'em')
+ .attr('dy', r + 'em');
+ }
+ function O7e(t, e, r) {
+ let n = t.append('text'),
+ i = T9(n, 1, e);
+ k9(i, r);
+ let a = i.node().getComputedTextLength();
+ return n.remove(), a;
+ }
+ function bj(t, e, r) {
+ let n = t.append('text'),
+ i = T9(n, 1, e);
+ k9(i, [{ content: r, type: 'normal' }]);
+ let a = i.node()?.getBoundingClientRect();
+ return a && n.remove(), a;
+ }
+ function P7e(t, e, r, n = !1) {
+ let a = e.append('g'),
+ s = a.insert('rect').attr('class', 'background').attr('style', 'stroke: none'),
+ l = a.append('text').attr('y', '-10.1'),
+ u = 0;
+ for (let h of r) {
+ let f = o((p) => O7e(a, 1.1, p) <= t, 'checkWidth'),
+ d = f(h) ? [h] : yj(h, f);
+ for (let p of d) {
+ let m = T9(l, u, 1.1);
+ k9(m, p), u++;
+ }
+ }
+ if (n) {
+ let h = l.node().getBBox(),
+ f = 2;
+ return (
+ s
+ .attr('x', -f)
+ .attr('y', -f)
+ .attr('width', h.width + 2 * f)
+ .attr('height', h.height + 2 * f),
+ a.node()
+ );
+ } else return l.node();
+ }
+ function k9(t, e) {
+ t.text(''),
+ e.forEach((r, n) => {
+ let i = t
+ .append('tspan')
+ .attr('font-style', r.type === 'em' ? 'italic' : 'normal')
+ .attr('class', 'text-inner-tspan')
+ .attr('font-weight', r.type === 'strong' ? 'bold' : 'normal');
+ n === 0 ? i.text(r.content) : i.text(' ' + r.content);
+ });
+ }
+ function E9(t) {
+ return t.replace(/fa[bklrs]?:fa-[\w-]+/g, (e) => ``);
+ }
+ var ta,
+ Al = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ Zt();
+ ut();
+ mj();
+ xr();
+ vj();
+ o(xj, 'applyStyle');
+ o(I7e, 'addHtmlSpan');
+ o(T9, 'createTspan');
+ o(O7e, 'computeWidthOfText');
+ o(bj, 'computeDimensionOfText');
+ o(P7e, 'createFormattedText');
+ o(k9, 'updateTextContentAndStyles');
+ o(E9, 'replaceIconSubstring');
+ ta = o(
+ async (
+ t,
+ e = '',
+ {
+ style: r = '',
+ isTitle: n = !1,
+ classes: i = '',
+ useHtmlLabels: a = !0,
+ isNode: s = !0,
+ width: l = 200,
+ addSvgBackground: u = !1
+ } = {},
+ h
+ ) => {
+ if ((V.info('XYZ createText', e, r, n, i, a, s, 'addSvgBackground: ', u), a)) {
+ let f = pj(e, h),
+ d = E9(to(f)),
+ p = e.replace(/\\\\/g, '\\'),
+ m = {
+ isNode: s,
+ label: Ni(e) ? p : d,
+ labelStyle: r.replace('fill:', 'color:')
+ };
+ return await I7e(t, m, l, i, u);
+ } else {
+ let f = e.replace(/
/g, '
'),
+ d = dj(f.replace('
', '
'), h),
+ p = P7e(l, t, d, e ? u : !1);
+ if (s) {
+ /stroke:/.exec(r) && (r = r.replace('stroke:', 'lineColor:'));
+ let m = r
+ .replace(/stroke:[^;]+;?/g, '')
+ .replace(/stroke-width:[^;]+;?/g, '')
+ .replace(/fill:[^;]+;?/g, '')
+ .replace(/color:/g, 'fill:');
+ $e(p).attr('style', m);
+ } else {
+ let m = r
+ .replace(/stroke:[^;]+;?/g, '')
+ .replace(/stroke-width:[^;]+;?/g, '')
+ .replace(/fill:[^;]+;?/g, '')
+ .replace(/background:/g, 'fill:');
+ $e(p)
+ .select('rect')
+ .attr('style', m.replace(/background:/g, 'fill:'));
+ let g = r
+ .replace(/stroke:[^;]+;?/g, '')
+ .replace(/stroke-width:[^;]+;?/g, '')
+ .replace(/fill:[^;]+;?/g, '')
+ .replace(/color:/g, 'fill:');
+ $e(p).select('text').attr('style', g);
+ }
+ return p;
+ }
+ },
+ 'createText'
+ );
+ });
+ function wj(t, e) {
+ e && t.attr('style', e);
+ }
+ function B7e(t) {
+ let e = $e(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')),
+ r = e.append('xhtml:div'),
+ n = t.label,
+ i = t.isNode ? 'nodeLabel' : 'edgeLabel',
+ a = r.append('span');
+ return (
+ a.html(n),
+ wj(a, t.labelStyle),
+ a.attr('class', i),
+ wj(r, t.labelStyle),
+ r.style('display', 'inline-block'),
+ r.style('white-space', 'nowrap'),
+ r.attr('xmlns', 'http://www.w3.org/1999/xhtml'),
+ e.node()
+ );
+ }
+ var F7e,
+ ra,
+ bv = R(() => {
+ 'use strict';
+ Zt();
+ ut();
+ _t();
+ rr();
+ xr();
+ Al();
+ o(wj, 'applyStyle');
+ o(B7e, 'addHtmlLabel');
+ (F7e = o((t, e, r, n) => {
+ let i = t || '';
+ if ((typeof i == 'object' && (i = i[0]), yr(de().flowchart.htmlLabels))) {
+ (i = i.replace(/\\n|\n/g, '
')), V.debug('vertexText' + i);
+ let a = {
+ isNode: n,
+ label: E9(to(i)),
+ labelStyle: e.replace('fill:', 'color:')
+ };
+ return B7e(a);
+ } else {
+ let a = document.createElementNS('http://www.w3.org/2000/svg', 'text');
+ a.setAttribute('style', e.replace('color:', 'fill:'));
+ let s = [];
+ typeof i == 'string' ? (s = i.split(/\\n|\n|
/gi)) : Array.isArray(i) ? (s = i) : (s = []);
+ for (let l of s) {
+ let u = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ u.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'),
+ u.setAttribute('dy', '1em'),
+ u.setAttribute('x', '0'),
+ r ? u.setAttribute('class', 'title-row') : u.setAttribute('class', 'row'),
+ (u.textContent = l.trim()),
+ a.appendChild(u);
+ }
+ return a;
+ }
+ }, 'createLabel')),
+ (ra = F7e);
+ });
+ function z7e(t, e) {
+ return t.intersect(e);
+ }
+ var Tj,
+ kj = R(() => {
+ 'use strict';
+ o(z7e, 'intersectNode');
+ Tj = z7e;
+ });
+ function G7e(t, e, r, n) {
+ var i = t.x,
+ a = t.y,
+ s = i - n.x,
+ l = a - n.y,
+ u = Math.sqrt(e * e * l * l + r * r * s * s),
+ h = Math.abs((e * r * s) / u);
+ n.x < i && (h = -h);
+ var f = Math.abs((e * r * l) / u);
+ return n.y < a && (f = -f), { x: i + h, y: a + f };
+ }
+ var R5,
+ C9 = R(() => {
+ 'use strict';
+ o(G7e, 'intersectEllipse');
+ R5 = G7e;
+ });
+ function $7e(t, e, r) {
+ return R5(t, e, e, r);
+ }
+ var Ej,
+ Cj = R(() => {
+ 'use strict';
+ C9();
+ o($7e, 'intersectCircle');
+ Ej = $7e;
+ });
+ function V7e(t, e, r, n) {
+ var i, a, s, l, u, h, f, d, p, m, g, y, v, x, b;
+ if (
+ ((i = e.y - t.y),
+ (s = t.x - e.x),
+ (u = e.x * t.y - t.x * e.y),
+ (p = i * r.x + s * r.y + u),
+ (m = i * n.x + s * n.y + u),
+ !(p !== 0 && m !== 0 && Sj(p, m)) &&
+ ((a = n.y - r.y),
+ (l = r.x - n.x),
+ (h = n.x * r.y - r.x * n.y),
+ (f = a * t.x + l * t.y + h),
+ (d = a * e.x + l * e.y + h),
+ !(f !== 0 && d !== 0 && Sj(f, d)) && ((g = i * l - a * s), g !== 0)))
+ )
+ return (
+ (y = Math.abs(g / 2)),
+ (v = s * h - l * u),
+ (x = v < 0 ? (v - y) / g : (v + y) / g),
+ (v = a * u - i * h),
+ (b = v < 0 ? (v - y) / g : (v + y) / g),
+ { x, y: b }
+ );
+ }
+ function Sj(t, e) {
+ return t * e > 0;
+ }
+ var Aj,
+ _j = R(() => {
+ 'use strict';
+ o(V7e, 'intersectLine');
+ o(Sj, 'sameSign');
+ Aj = V7e;
+ });
+ function U7e(t, e, r) {
+ var n = t.x,
+ i = t.y,
+ a = [],
+ s = Number.POSITIVE_INFINITY,
+ l = Number.POSITIVE_INFINITY;
+ typeof e.forEach == 'function'
+ ? e.forEach(function (g) {
+ (s = Math.min(s, g.x)), (l = Math.min(l, g.y));
+ })
+ : ((s = Math.min(s, e.x)), (l = Math.min(l, e.y)));
+ for (var u = n - t.width / 2 - s, h = i - t.height / 2 - l, f = 0; f < e.length; f++) {
+ var d = e[f],
+ p = e[f < e.length - 1 ? f + 1 : 0],
+ m = Aj(t, r, { x: u + d.x, y: h + d.y }, { x: u + p.x, y: h + p.y });
+ m && a.push(m);
+ }
+ return a.length
+ ? (a.length > 1 &&
+ a.sort(function (g, y) {
+ var v = g.x - r.x,
+ x = g.y - r.y,
+ b = Math.sqrt(v * v + x * x),
+ w = y.x - r.x,
+ S = y.y - r.y,
+ T = Math.sqrt(w * w + S * S);
+ return b < T ? -1 : b === T ? 0 : 1;
+ }),
+ a[0])
+ : t;
+ }
+ var Lj,
+ Dj = R(() => {
+ 'use strict';
+ _j();
+ Lj = U7e;
+ o(U7e, 'intersectPolygon');
+ });
+ var H7e,
+ Ad,
+ S9 = R(() => {
+ 'use strict';
+ (H7e = o((t, e) => {
+ var r = t.x,
+ n = t.y,
+ i = e.x - r,
+ a = e.y - n,
+ s = t.width / 2,
+ l = t.height / 2,
+ u,
+ h;
+ return (
+ Math.abs(a) * s > Math.abs(i) * l
+ ? (a < 0 && (l = -l), (u = a === 0 ? 0 : (l * i) / a), (h = l))
+ : (i < 0 && (s = -s), (u = s), (h = i === 0 ? 0 : (s * a) / i)),
+ { x: r + u, y: n + h }
+ );
+ }, 'intersectRect')),
+ (Ad = H7e);
+ });
+ var Tn,
+ A9 = R(() => {
+ 'use strict';
+ kj();
+ Cj();
+ C9();
+ Dj();
+ S9();
+ Tn = { node: Tj, circle: Ej, ellipse: R5, polygon: Lj, rect: Ad };
+ });
+ function _l(t, e, r, n) {
+ return t
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ n
+ .map(function (i) {
+ return i.x + ',' + i.y;
+ })
+ .join(' ')
+ )
+ .attr('class', 'label-container')
+ .attr('transform', 'translate(' + -e / 2 + ',' + r / 2 + ')');
+ }
+ var Ti,
+ kn,
+ N5 = R(() => {
+ 'use strict';
+ bv();
+ Al();
+ _t();
+ Zt();
+ rr();
+ xr();
+ (Ti = o(async (t, e, r, n) => {
+ let i = de(),
+ a,
+ s = e.useHtmlLabels || yr(i.flowchart.htmlLabels);
+ r ? (a = r) : (a = 'node default');
+ let l = t
+ .insert('g')
+ .attr('class', a)
+ .attr('id', e.domId || e.id),
+ u = l.insert('g').attr('class', 'label').attr('style', e.labelStyle),
+ h;
+ e.labelText === void 0 ? (h = '') : (h = typeof e.labelText == 'string' ? e.labelText : e.labelText[0]);
+ let f = u.node(),
+ d;
+ e.labelType === 'markdown'
+ ? (d = ta(
+ u,
+ qr(to(h), i),
+ {
+ useHtmlLabels: s,
+ width: e.width || i.flowchart.wrappingWidth,
+ classes: 'markdown-node-label'
+ },
+ i
+ ))
+ : (d = f.appendChild(ra(qr(to(h), i), e.labelStyle, !1, n)));
+ let p = d.getBBox(),
+ m = e.padding / 2;
+ if (yr(i.flowchart.htmlLabels)) {
+ let g = d.children[0],
+ y = $e(d),
+ v = g.getElementsByTagName('img');
+ if (v) {
+ let x = h.replace(/]*>/g, '').trim() === '';
+ await Promise.all(
+ [...v].map(
+ (b) =>
+ new Promise((w) => {
+ function S() {
+ if (((b.style.display = 'flex'), (b.style.flexDirection = 'column'), x)) {
+ let T = i.fontSize
+ ? i.fontSize
+ : window.getComputedStyle(document.body).fontSize,
+ _ = parseInt(T, 10) * 5 + 'px';
+ (b.style.minWidth = _), (b.style.maxWidth = _);
+ } else b.style.width = '100%';
+ w(b);
+ }
+ o(S, 'setupImage'),
+ setTimeout(() => {
+ b.complete && S();
+ }),
+ b.addEventListener('error', S),
+ b.addEventListener('load', S);
+ })
+ )
+ );
+ }
+ (p = g.getBoundingClientRect()), y.attr('width', p.width), y.attr('height', p.height);
+ }
+ return (
+ s
+ ? u.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')')
+ : u.attr('transform', 'translate(0, ' + -p.height / 2 + ')'),
+ e.centerLabel && u.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'),
+ u.insert('rect', ':first-child'),
+ { shapeSvg: l, bbox: p, halfPadding: m, label: u }
+ );
+ }, 'labelHelper')),
+ (kn = o((t, e) => {
+ let r = e.node().getBBox();
+ (t.width = r.width), (t.height = r.height);
+ }, 'updateNodeBounds'));
+ o(_l, 'insertPolygonShape');
+ });
+ var Y7e,
+ Rj,
+ Nj = R(() => {
+ 'use strict';
+ N5();
+ ut();
+ _t();
+ A9();
+ (Y7e = o(async (t, e) => {
+ e.useHtmlLabels || de().flowchart.htmlLabels || (e.centerLabel = !0);
+ let { shapeSvg: n, bbox: i, halfPadding: a } = await Ti(t, e, 'node ' + e.classes, !0);
+ V.info('Classes = ', e.classes);
+ let s = n.insert('rect', ':first-child');
+ return (
+ s
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', -i.width / 2 - a)
+ .attr('y', -i.height / 2 - a)
+ .attr('width', i.width + e.padding)
+ .attr('height', i.height + e.padding),
+ kn(e, s),
+ (e.intersect = function (l) {
+ return Tn.rect(e, l);
+ }),
+ n
+ );
+ }, 'note')),
+ (Rj = Y7e);
+ });
+ function _9(t, e, r, n) {
+ let i = [],
+ a = o((l) => {
+ i.push(l, 0);
+ }, 'addBorder'),
+ s = o((l) => {
+ i.push(0, l);
+ }, 'skipBorder');
+ e.includes('t') ? (V.debug('add top border'), a(r)) : s(r),
+ e.includes('r') ? (V.debug('add right border'), a(n)) : s(n),
+ e.includes('b') ? (V.debug('add bottom border'), a(r)) : s(r),
+ e.includes('l') ? (V.debug('add left border'), a(n)) : s(n),
+ t.attr('stroke-dasharray', i.join(' '));
+ }
+ var Mj,
+ no,
+ Ij,
+ W7e,
+ q7e,
+ X7e,
+ j7e,
+ K7e,
+ Q7e,
+ Z7e,
+ J7e,
+ eSe,
+ tSe,
+ rSe,
+ nSe,
+ iSe,
+ aSe,
+ sSe,
+ oSe,
+ lSe,
+ cSe,
+ uSe,
+ Oj,
+ hSe,
+ fSe,
+ Pj,
+ dm,
+ pm,
+ Bj,
+ Fj,
+ wv,
+ M5 = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ rr();
+ ut();
+ KX();
+ bv();
+ A9();
+ Nj();
+ N5();
+ (Mj = o((t) => (t ? ' ' + t : ''), 'formatClass')),
+ (no = o((t, e) => `${e || 'node default'}${Mj(t.classes)} ${Mj(t.class)}`, 'getClassesFromNode')),
+ (Ij = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = i + a,
+ l = [
+ { x: s / 2, y: 0 },
+ { x: s, y: -s / 2 },
+ { x: s / 2, y: -s },
+ { x: 0, y: -s / 2 }
+ ];
+ V.info('Question main (Circle)');
+ let u = _l(r, s, s, l);
+ return (
+ u.attr('style', e.style),
+ kn(e, u),
+ (e.intersect = function (h) {
+ return V.warn('Intersect called'), Tn.polygon(e, l, h);
+ }),
+ r
+ );
+ }, 'question')),
+ (W7e = o((t, e) => {
+ let r = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ n = 28,
+ i = [
+ { x: 0, y: n / 2 },
+ { x: n / 2, y: 0 },
+ { x: 0, y: -n / 2 },
+ { x: -n / 2, y: 0 }
+ ];
+ return (
+ r
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ i
+ .map(function (s) {
+ return s.x + ',' + s.y;
+ })
+ .join(' ')
+ )
+ .attr('class', 'state-start')
+ .attr('r', 7)
+ .attr('width', 28)
+ .attr('height', 28),
+ (e.width = 28),
+ (e.height = 28),
+ (e.intersect = function (s) {
+ return Tn.circle(e, 14, s);
+ }),
+ r
+ );
+ }, 'choice')),
+ (q7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = 4,
+ a = n.height + e.padding,
+ s = a / i,
+ l = n.width + 2 * s + e.padding,
+ u = [
+ { x: s, y: 0 },
+ { x: l - s, y: 0 },
+ { x: l, y: -a / 2 },
+ { x: l - s, y: -a },
+ { x: s, y: -a },
+ { x: 0, y: -a / 2 }
+ ],
+ h = _l(r, l, a, u);
+ return (
+ h.attr('style', e.style),
+ kn(e, h),
+ (e.intersect = function (f) {
+ return Tn.polygon(e, u, f);
+ }),
+ r
+ );
+ }, 'hexagon')),
+ (X7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, void 0, !0),
+ i = 2,
+ a = n.height + 2 * e.padding,
+ s = a / i,
+ l = n.width + 2 * s + e.padding,
+ u = jX(e.directions, n, e),
+ h = _l(r, l, a, u);
+ return (
+ h.attr('style', e.style),
+ kn(e, h),
+ (e.intersect = function (f) {
+ return Tn.polygon(e, u, f);
+ }),
+ r
+ );
+ }, 'block_arrow')),
+ (j7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: -a / 2, y: 0 },
+ { x: i, y: 0 },
+ { x: i, y: -a },
+ { x: -a / 2, y: -a },
+ { x: 0, y: -a / 2 }
+ ];
+ return (
+ _l(r, i, a, s).attr('style', e.style),
+ (e.width = i + a),
+ (e.height = a),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'rect_left_inv_arrow')),
+ (K7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: (-2 * a) / 6, y: 0 },
+ { x: i - a / 6, y: 0 },
+ { x: i + (2 * a) / 6, y: -a },
+ { x: a / 6, y: -a }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'lean_right')),
+ (Q7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: (2 * a) / 6, y: 0 },
+ { x: i + a / 6, y: 0 },
+ { x: i - (2 * a) / 6, y: -a },
+ { x: -a / 6, y: -a }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'lean_left')),
+ (Z7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: (-2 * a) / 6, y: 0 },
+ { x: i + (2 * a) / 6, y: 0 },
+ { x: i - a / 6, y: -a },
+ { x: a / 6, y: -a }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'trapezoid')),
+ (J7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: a / 6, y: 0 },
+ { x: i - a / 6, y: 0 },
+ { x: i + (2 * a) / 6, y: -a },
+ { x: (-2 * a) / 6, y: -a }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'inv_trapezoid')),
+ (eSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: 0, y: 0 },
+ { x: i + a / 2, y: 0 },
+ { x: i, y: -a / 2 },
+ { x: i + a / 2, y: -a },
+ { x: 0, y: -a }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'rect_right_inv_arrow')),
+ (tSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = i / 2,
+ s = a / (2.5 + i / 50),
+ l = n.height + s + e.padding,
+ u =
+ 'M 0,' +
+ s +
+ ' a ' +
+ a +
+ ',' +
+ s +
+ ' 0,0,0 ' +
+ i +
+ ' 0 a ' +
+ a +
+ ',' +
+ s +
+ ' 0,0,0 ' +
+ -i +
+ ' 0 l 0,' +
+ l +
+ ' a ' +
+ a +
+ ',' +
+ s +
+ ' 0,0,0 ' +
+ i +
+ ' 0 l 0,' +
+ -l,
+ h = r
+ .attr('label-offset-y', s)
+ .insert('path', ':first-child')
+ .attr('style', e.style)
+ .attr('d', u)
+ .attr('transform', 'translate(' + -i / 2 + ',' + -(l / 2 + s) + ')');
+ return (
+ kn(e, h),
+ (e.intersect = function (f) {
+ let d = Tn.rect(e, f),
+ p = d.x - e.x;
+ if (
+ a != 0 &&
+ (Math.abs(p) < e.width / 2 ||
+ (Math.abs(p) == e.width / 2 && Math.abs(d.y - e.y) > e.height / 2 - s))
+ ) {
+ let m = s * s * (1 - (p * p) / (a * a));
+ m != 0 && (m = Math.sqrt(m)), (m = s - m), f.y - e.y > 0 && (m = -m), (d.y += m);
+ }
+ return d;
+ }),
+ r
+ );
+ }, 'cylinder')),
+ (rSe = o(async (t, e) => {
+ let {
+ shapeSvg: r,
+ bbox: n,
+ halfPadding: i
+ } = await Ti(t, e, 'node ' + e.classes + ' ' + e.class, !0),
+ a = r.insert('rect', ':first-child'),
+ s = e.positioned ? e.width : n.width + e.padding,
+ l = e.positioned ? e.height : n.height + e.padding,
+ u = e.positioned ? -s / 2 : -n.width / 2 - i,
+ h = e.positioned ? -l / 2 : -n.height / 2 - i;
+ if (
+ (a
+ .attr('class', 'basic label-container')
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', u)
+ .attr('y', h)
+ .attr('width', s)
+ .attr('height', l),
+ e.props)
+ ) {
+ let f = new Set(Object.keys(e.props));
+ e.props.borders && (_9(a, e.props.borders, s, l), f.delete('borders')),
+ f.forEach((d) => {
+ V.warn(`Unknown node property ${d}`);
+ });
+ }
+ return (
+ kn(e, a),
+ (e.intersect = function (f) {
+ return Tn.rect(e, f);
+ }),
+ r
+ );
+ }, 'rect')),
+ (nSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, 'node ' + e.classes, !0),
+ a = r.insert('rect', ':first-child'),
+ s = e.positioned ? e.width : n.width + e.padding,
+ l = e.positioned ? e.height : n.height + e.padding,
+ u = e.positioned ? -s / 2 : -n.width / 2 - i,
+ h = e.positioned ? -l / 2 : -n.height / 2 - i;
+ if (
+ (a
+ .attr('class', 'basic cluster composite label-container')
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', u)
+ .attr('y', h)
+ .attr('width', s)
+ .attr('height', l),
+ e.props)
+ ) {
+ let f = new Set(Object.keys(e.props));
+ e.props.borders && (_9(a, e.props.borders, s, l), f.delete('borders')),
+ f.forEach((d) => {
+ V.warn(`Unknown node property ${d}`);
+ });
+ }
+ return (
+ kn(e, a),
+ (e.intersect = function (f) {
+ return Tn.rect(e, f);
+ }),
+ r
+ );
+ }, 'composite')),
+ (iSe = o(async (t, e) => {
+ let { shapeSvg: r } = await Ti(t, e, 'label', !0);
+ V.trace('Classes = ', e.class);
+ let n = r.insert('rect', ':first-child'),
+ i = 0,
+ a = 0;
+ if ((n.attr('width', i).attr('height', a), r.attr('class', 'label edgeLabel'), e.props)) {
+ let s = new Set(Object.keys(e.props));
+ e.props.borders && (_9(n, e.props.borders, i, a), s.delete('borders')),
+ s.forEach((l) => {
+ V.warn(`Unknown node property ${l}`);
+ });
+ }
+ return (
+ kn(e, n),
+ (e.intersect = function (s) {
+ return Tn.rect(e, s);
+ }),
+ r
+ );
+ }, 'labelRect'));
+ o(_9, 'applyNodePropertyBorders');
+ (aSe = o((t, e) => {
+ let r;
+ e.classes ? (r = 'node ' + e.classes) : (r = 'node default');
+ let n = t
+ .insert('g')
+ .attr('class', r)
+ .attr('id', e.domId || e.id),
+ i = n.insert('rect', ':first-child'),
+ a = n.insert('line'),
+ s = n.insert('g').attr('class', 'label'),
+ l = e.labelText.flat ? e.labelText.flat() : e.labelText,
+ u = '';
+ typeof l == 'object' ? (u = l[0]) : (u = l), V.info('Label text abc79', u, l, typeof l == 'object');
+ let h = s.node().appendChild(ra(u, e.labelStyle, !0, !0)),
+ f = { width: 0, height: 0 };
+ if (yr(de().flowchart.htmlLabels)) {
+ let y = h.children[0],
+ v = $e(h);
+ (f = y.getBoundingClientRect()), v.attr('width', f.width), v.attr('height', f.height);
+ }
+ V.info('Text 2', l);
+ let d = l.slice(1, l.length),
+ p = h.getBBox(),
+ m = s.node().appendChild(ra(d.join ? d.join('
') : d, e.labelStyle, !0, !0));
+ if (yr(de().flowchart.htmlLabels)) {
+ let y = m.children[0],
+ v = $e(m);
+ (f = y.getBoundingClientRect()), v.attr('width', f.width), v.attr('height', f.height);
+ }
+ let g = e.padding / 2;
+ return (
+ $e(m).attr(
+ 'transform',
+ 'translate( ' +
+ (f.width > p.width ? 0 : (p.width - f.width) / 2) +
+ ', ' +
+ (p.height + g + 5) +
+ ')'
+ ),
+ $e(h).attr(
+ 'transform',
+ 'translate( ' + (f.width < p.width ? 0 : -(p.width - f.width) / 2) + ', 0)'
+ ),
+ (f = s.node().getBBox()),
+ s.attr('transform', 'translate(' + -f.width / 2 + ', ' + (-f.height / 2 - g + 3) + ')'),
+ i
+ .attr('class', 'outer title-state')
+ .attr('x', -f.width / 2 - g)
+ .attr('y', -f.height / 2 - g)
+ .attr('width', f.width + e.padding)
+ .attr('height', f.height + e.padding),
+ a
+ .attr('class', 'divider')
+ .attr('x1', -f.width / 2 - g)
+ .attr('x2', f.width / 2 + g)
+ .attr('y1', -f.height / 2 - g + p.height + g)
+ .attr('y2', -f.height / 2 - g + p.height + g),
+ kn(e, i),
+ (e.intersect = function (y) {
+ return Tn.rect(e, y);
+ }),
+ n
+ );
+ }, 'rectWithTitle')),
+ (sSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.height + e.padding,
+ a = n.width + i / 4 + e.padding,
+ s = r
+ .insert('rect', ':first-child')
+ .attr('style', e.style)
+ .attr('rx', i / 2)
+ .attr('ry', i / 2)
+ .attr('x', -a / 2)
+ .attr('y', -i / 2)
+ .attr('width', a)
+ .attr('height', i);
+ return (
+ kn(e, s),
+ (e.intersect = function (l) {
+ return Tn.rect(e, l);
+ }),
+ r
+ );
+ }, 'stadium')),
+ (oSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, no(e, void 0), !0),
+ a = r.insert('circle', ':first-child');
+ return (
+ a
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('r', n.width / 2 + i)
+ .attr('width', n.width + e.padding)
+ .attr('height', n.height + e.padding),
+ V.info('Circle main'),
+ kn(e, a),
+ (e.intersect = function (s) {
+ return V.info('Circle intersect', e, n.width / 2 + i, s), Tn.circle(e, n.width / 2 + i, s);
+ }),
+ r
+ );
+ }, 'circle')),
+ (lSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, no(e, void 0), !0),
+ a = 5,
+ s = r.insert('g', ':first-child'),
+ l = s.insert('circle'),
+ u = s.insert('circle');
+ return (
+ s.attr('class', e.class),
+ l
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('r', n.width / 2 + i + a)
+ .attr('width', n.width + e.padding + a * 2)
+ .attr('height', n.height + e.padding + a * 2),
+ u
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('r', n.width / 2 + i)
+ .attr('width', n.width + e.padding)
+ .attr('height', n.height + e.padding),
+ V.info('DoubleCircle main'),
+ kn(e, l),
+ (e.intersect = function (h) {
+ return (
+ V.info('DoubleCircle intersect', e, n.width / 2 + i + a, h),
+ Tn.circle(e, n.width / 2 + i + a, h)
+ );
+ }),
+ r
+ );
+ }, 'doublecircle')),
+ (cSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: 0, y: 0 },
+ { x: i, y: 0 },
+ { x: i, y: -a },
+ { x: 0, y: -a },
+ { x: 0, y: 0 },
+ { x: -8, y: 0 },
+ { x: i + 8, y: 0 },
+ { x: i + 8, y: -a },
+ { x: -8, y: -a },
+ { x: -8, y: 0 }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'subroutine')),
+ (uSe = o((t, e) => {
+ let r = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ n = r.insert('circle', ':first-child');
+ return (
+ n.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14),
+ kn(e, n),
+ (e.intersect = function (i) {
+ return Tn.circle(e, 7, i);
+ }),
+ r
+ );
+ }, 'start')),
+ (Oj = o((t, e, r) => {
+ let n = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ i = 70,
+ a = 10;
+ r === 'LR' && ((i = 10), (a = 70));
+ let s = n
+ .append('rect')
+ .attr('x', (-1 * i) / 2)
+ .attr('y', (-1 * a) / 2)
+ .attr('width', i)
+ .attr('height', a)
+ .attr('class', 'fork-join');
+ return (
+ kn(e, s),
+ (e.height = e.height + e.padding / 2),
+ (e.width = e.width + e.padding / 2),
+ (e.intersect = function (l) {
+ return Tn.rect(e, l);
+ }),
+ n
+ );
+ }, 'forkJoin')),
+ (hSe = o((t, e) => {
+ let r = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ n = r.insert('circle', ':first-child'),
+ i = r.insert('circle', ':first-child');
+ return (
+ i.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14),
+ n.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10),
+ kn(e, i),
+ (e.intersect = function (a) {
+ return Tn.circle(e, 7, a);
+ }),
+ r
+ );
+ }, 'end')),
+ (fSe = o((t, e) => {
+ let r = e.padding / 2,
+ n = 4,
+ i = 8,
+ a;
+ e.classes ? (a = 'node ' + e.classes) : (a = 'node default');
+ let s = t
+ .insert('g')
+ .attr('class', a)
+ .attr('id', e.domId || e.id),
+ l = s.insert('rect', ':first-child'),
+ u = s.insert('line'),
+ h = s.insert('line'),
+ f = 0,
+ d = n,
+ p = s.insert('g').attr('class', 'label'),
+ m = 0,
+ g = e.classData.annotations?.[0],
+ y = e.classData.annotations[0] ? '\xAB' + e.classData.annotations[0] + '\xBB' : '',
+ v = p.node().appendChild(ra(y, e.labelStyle, !0, !0)),
+ x = v.getBBox();
+ if (yr(de().flowchart.htmlLabels)) {
+ let A = v.children[0],
+ L = $e(v);
+ (x = A.getBoundingClientRect()), L.attr('width', x.width), L.attr('height', x.height);
+ }
+ e.classData.annotations[0] && ((d += x.height + n), (f += x.width));
+ let b = e.classData.label;
+ e.classData.type !== void 0 &&
+ e.classData.type !== '' &&
+ (de().flowchart.htmlLabels
+ ? (b += '<' + e.classData.type + '>')
+ : (b += '<' + e.classData.type + '>'));
+ let w = p.node().appendChild(ra(b, e.labelStyle, !0, !0));
+ $e(w).attr('class', 'classTitle');
+ let S = w.getBBox();
+ if (yr(de().flowchart.htmlLabels)) {
+ let A = w.children[0],
+ L = $e(w);
+ (S = A.getBoundingClientRect()), L.attr('width', S.width), L.attr('height', S.height);
+ }
+ (d += S.height + n), S.width > f && (f = S.width);
+ let T = [];
+ e.classData.members.forEach((A) => {
+ let L = A.getDisplayDetails(),
+ M = L.displayText;
+ de().flowchart.htmlLabels && (M = M.replace(//g, '>'));
+ let N = p.node().appendChild(ra(M, L.cssStyle ? L.cssStyle : e.labelStyle, !0, !0)),
+ k = N.getBBox();
+ if (yr(de().flowchart.htmlLabels)) {
+ let I = N.children[0],
+ C = $e(N);
+ (k = I.getBoundingClientRect()), C.attr('width', k.width), C.attr('height', k.height);
+ }
+ k.width > f && (f = k.width), (d += k.height + n), T.push(N);
+ }),
+ (d += i);
+ let E = [];
+ if (
+ (e.classData.methods.forEach((A) => {
+ let L = A.getDisplayDetails(),
+ M = L.displayText;
+ de().flowchart.htmlLabels && (M = M.replace(//g, '>'));
+ let N = p.node().appendChild(ra(M, L.cssStyle ? L.cssStyle : e.labelStyle, !0, !0)),
+ k = N.getBBox();
+ if (yr(de().flowchart.htmlLabels)) {
+ let I = N.children[0],
+ C = $e(N);
+ (k = I.getBoundingClientRect()), C.attr('width', k.width), C.attr('height', k.height);
+ }
+ k.width > f && (f = k.width), (d += k.height + n), E.push(N);
+ }),
+ (d += i),
+ g)
+ ) {
+ let A = (f - x.width) / 2;
+ $e(v).attr('transform', 'translate( ' + ((-1 * f) / 2 + A) + ', ' + (-1 * d) / 2 + ')'),
+ (m = x.height + n);
+ }
+ let _ = (f - S.width) / 2;
+ return (
+ $e(w).attr('transform', 'translate( ' + ((-1 * f) / 2 + _) + ', ' + ((-1 * d) / 2 + m) + ')'),
+ (m += S.height + n),
+ u
+ .attr('class', 'divider')
+ .attr('x1', -f / 2 - r)
+ .attr('x2', f / 2 + r)
+ .attr('y1', -d / 2 - r + i + m)
+ .attr('y2', -d / 2 - r + i + m),
+ (m += i),
+ T.forEach((A) => {
+ $e(A).attr('transform', 'translate( ' + -f / 2 + ', ' + ((-1 * d) / 2 + m + i / 2) + ')');
+ let L = A?.getBBox();
+ m += (L?.height ?? 0) + n;
+ }),
+ (m += i),
+ h
+ .attr('class', 'divider')
+ .attr('x1', -f / 2 - r)
+ .attr('x2', f / 2 + r)
+ .attr('y1', -d / 2 - r + i + m)
+ .attr('y2', -d / 2 - r + i + m),
+ (m += i),
+ E.forEach((A) => {
+ $e(A).attr('transform', 'translate( ' + -f / 2 + ', ' + ((-1 * d) / 2 + m) + ')');
+ let L = A?.getBBox();
+ m += (L?.height ?? 0) + n;
+ }),
+ l
+ .attr('style', e.style)
+ .attr('class', 'outer title-state')
+ .attr('x', -f / 2 - r)
+ .attr('y', -(d / 2) - r)
+ .attr('width', f + e.padding)
+ .attr('height', d + e.padding),
+ kn(e, l),
+ (e.intersect = function (A) {
+ return Tn.rect(e, A);
+ }),
+ s
+ );
+ }, 'class_box')),
+ (Pj = {
+ rhombus: Ij,
+ composite: nSe,
+ question: Ij,
+ rect: rSe,
+ labelRect: iSe,
+ rectWithTitle: aSe,
+ choice: W7e,
+ circle: oSe,
+ doublecircle: lSe,
+ stadium: sSe,
+ hexagon: q7e,
+ block_arrow: X7e,
+ rect_left_inv_arrow: j7e,
+ lean_right: K7e,
+ lean_left: Q7e,
+ trapezoid: Z7e,
+ inv_trapezoid: J7e,
+ rect_right_inv_arrow: eSe,
+ cylinder: tSe,
+ start: uSe,
+ end: hSe,
+ note: Rj,
+ subroutine: cSe,
+ fork: Oj,
+ join: Oj,
+ class_box: fSe
+ }),
+ (dm = {}),
+ (pm = o(async (t, e, r) => {
+ let n, i;
+ if (e.link) {
+ let a;
+ de().securityLevel === 'sandbox'
+ ? (a = '_top')
+ : e.linkTarget && (a = e.linkTarget || '_blank'),
+ (n = t.insert('svg:a').attr('xlink:href', e.link).attr('target', a)),
+ (i = await Pj[e.shape](n, e, r));
+ } else (i = await Pj[e.shape](t, e, r)), (n = i);
+ return (
+ e.tooltip && i.attr('title', e.tooltip),
+ e.class && i.attr('class', 'node default ' + e.class),
+ (dm[e.id] = n),
+ e.haveCallback && dm[e.id].attr('class', dm[e.id].attr('class') + ' clickable'),
+ n
+ );
+ }, 'insertNode')),
+ (Bj = o((t, e) => {
+ dm[e.id] = t;
+ }, 'setNodeElem')),
+ (Fj = o(() => {
+ dm = {};
+ }, 'clear')),
+ (wv = o((t) => {
+ let e = dm[t.id];
+ V.trace(
+ 'Transforming node',
+ t.diff,
+ t,
+ 'translate(' + (t.x - t.width / 2 - 5) + ', ' + t.width / 2 + ')'
+ );
+ let r = 8,
+ n = t.diff || 0;
+ return (
+ t.clusterNode
+ ? e.attr(
+ 'transform',
+ 'translate(' + (t.x + n - t.width / 2) + ', ' + (t.y - t.height / 2 - r) + ')'
+ )
+ : e.attr('transform', 'translate(' + t.x + ', ' + t.y + ')'),
+ n
+ );
+ }, 'positionNode'));
+ });
+ var I5,
+ L9 = R(() => {
+ 'use strict';
+ Zt();
+ M5();
+ I5 = o((t, e) => {
+ let r;
+ return (
+ e === 'sandbox' && (r = $e('#i' + t)),
+ (e === 'sandbox' ? $e(r.nodes()[0].contentDocument.body) : $e('body')).select(`[id="${t}"]`)
+ );
+ }, 'getDiagramElement');
+ });
+ var io,
+ _d = R(() => {
+ 'use strict';
+ io = o(({ flowchart: t }) => {
+ let e = t?.subGraphTitleMargin?.top ?? 0,
+ r = t?.subGraphTitleMargin?.bottom ?? 0,
+ n = e + r;
+ return {
+ subGraphTitleTopMargin: e,
+ subGraphTitleBottomMargin: r,
+ subGraphTitleTotalMargin: n
+ };
+ }, 'getSubGraphTitleMargins');
+ });
+ function D9(t, e, r) {
+ if (t && t.length) {
+ let [n, i] = e,
+ a = (Math.PI / 180) * r,
+ s = Math.cos(a),
+ l = Math.sin(a);
+ for (let u of t) {
+ let [h, f] = u;
+ (u[0] = (h - n) * s - (f - i) * l + n), (u[1] = (h - n) * l + (f - i) * s + i);
+ }
+ }
+ }
+ function dSe(t, e) {
+ return t[0] === e[0] && t[1] === e[1];
+ }
+ function pSe(t, e, r, n = 1) {
+ let i = r,
+ a = Math.max(e, 0.1),
+ s = t[0] && t[0][0] && typeof t[0][0] == 'number' ? [t] : t,
+ l = [0, 0];
+ if (i) for (let h of s) D9(h, l, i);
+ let u = (function (h, f, d) {
+ let p = [];
+ for (let b of h) {
+ let w = [...b];
+ dSe(w[0], w[w.length - 1]) || w.push([w[0][0], w[0][1]]), w.length > 2 && p.push(w);
+ }
+ let m = [];
+ f = Math.max(f, 0.1);
+ let g = [];
+ for (let b of p)
+ for (let w = 0; w < b.length - 1; w++) {
+ let S = b[w],
+ T = b[w + 1];
+ if (S[1] !== T[1]) {
+ let E = Math.min(S[1], T[1]);
+ g.push({
+ ymin: E,
+ ymax: Math.max(S[1], T[1]),
+ x: E === S[1] ? S[0] : T[0],
+ islope: (T[0] - S[0]) / (T[1] - S[1])
+ });
+ }
+ }
+ if (
+ (g.sort((b, w) =>
+ b.ymin < w.ymin
+ ? -1
+ : b.ymin > w.ymin
+ ? 1
+ : b.x < w.x
+ ? -1
+ : b.x > w.x
+ ? 1
+ : b.ymax === w.ymax
+ ? 0
+ : (b.ymax - w.ymax) / Math.abs(b.ymax - w.ymax)
+ ),
+ !g.length)
+ )
+ return m;
+ let y = [],
+ v = g[0].ymin,
+ x = 0;
+ for (; y.length || g.length; ) {
+ if (g.length) {
+ let b = -1;
+ for (let w = 0; w < g.length && !(g[w].ymin > v); w++) b = w;
+ g.splice(0, b + 1).forEach((w) => {
+ y.push({ s: v, edge: w });
+ });
+ }
+ if (
+ ((y = y.filter((b) => !(b.edge.ymax <= v))),
+ y.sort((b, w) =>
+ b.edge.x === w.edge.x ? 0 : (b.edge.x - w.edge.x) / Math.abs(b.edge.x - w.edge.x)
+ ),
+ (d !== 1 || x % f == 0) && y.length > 1)
+ )
+ for (let b = 0; b < y.length; b += 2) {
+ let w = b + 1;
+ if (w >= y.length) break;
+ let S = y[b].edge,
+ T = y[w].edge;
+ m.push([
+ [Math.round(S.x), v],
+ [Math.round(T.x), v]
+ ]);
+ }
+ (v += d),
+ y.forEach((b) => {
+ b.edge.x = b.edge.x + d * b.edge.islope;
+ }),
+ x++;
+ }
+ return m;
+ })(s, a, n);
+ if (i) {
+ for (let h of s) D9(h, l, -i);
+ (function (h, f, d) {
+ let p = [];
+ h.forEach((m) => p.push(...m)), D9(p, f, d);
+ })(u, l, -i);
+ }
+ return u;
+ }
+ function Cv(t, e) {
+ var r;
+ let n = e.hachureAngle + 90,
+ i = e.hachureGap;
+ i < 0 && (i = 4 * e.strokeWidth), (i = Math.round(Math.max(i, 0.1)));
+ let a = 1;
+ return (
+ e.roughness >= 1 &&
+ (((r = e.randomizer) === null || r === void 0 ? void 0 : r.next()) || Math.random()) > 0.7 &&
+ (a = i),
+ pSe(t, i, n, a || 1)
+ );
+ }
+ function U5(t) {
+ let e = t[0],
+ r = t[1];
+ return Math.sqrt(Math.pow(e[0] - r[0], 2) + Math.pow(e[1] - r[1], 2));
+ }
+ function N9(t, e) {
+ return t.type === e;
+ }
+ function W9(t) {
+ let e = [],
+ r = (function (s) {
+ let l = new Array();
+ for (; s !== ''; )
+ if (s.match(/^([ \t\r\n,]+)/)) s = s.substr(RegExp.$1.length);
+ else if (s.match(/^([aAcChHlLmMqQsStTvVzZ])/))
+ (l[l.length] = { type: mSe, text: RegExp.$1 }), (s = s.substr(RegExp.$1.length));
+ else {
+ if (!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/)) return [];
+ (l[l.length] = { type: R9, text: `${parseFloat(RegExp.$1)}` }),
+ (s = s.substr(RegExp.$1.length));
+ }
+ return (l[l.length] = { type: zj, text: '' }), l;
+ })(t),
+ n = 'BOD',
+ i = 0,
+ a = r[i];
+ for (; !N9(a, zj); ) {
+ let s = 0,
+ l = [];
+ if (n === 'BOD') {
+ if (a.text !== 'M' && a.text !== 'm') return W9('M0,0' + t);
+ i++, (s = O5[a.text]), (n = a.text);
+ } else N9(a, R9) ? (s = O5[n]) : (i++, (s = O5[a.text]), (n = a.text));
+ if (!(i + s < r.length)) throw new Error('Path data ended short');
+ for (let u = i; u < i + s; u++) {
+ let h = r[u];
+ if (!N9(h, R9)) throw new Error('Param not a number: ' + n + ',' + h.text);
+ l[l.length] = +h.text;
+ }
+ if (typeof O5[n] != 'number') throw new Error('Bad segment: ' + n);
+ {
+ let u = { key: n, data: l };
+ e.push(u), (i += s), (a = r[i]), n === 'M' && (n = 'L'), n === 'm' && (n = 'l');
+ }
+ }
+ return e;
+ }
+ function qj(t) {
+ let e = 0,
+ r = 0,
+ n = 0,
+ i = 0,
+ a = [];
+ for (let { key: s, data: l } of t)
+ switch (s) {
+ case 'M':
+ a.push({ key: 'M', data: [...l] }), ([e, r] = l), ([n, i] = l);
+ break;
+ case 'm':
+ (e += l[0]), (r += l[1]), a.push({ key: 'M', data: [e, r] }), (n = e), (i = r);
+ break;
+ case 'L':
+ a.push({ key: 'L', data: [...l] }), ([e, r] = l);
+ break;
+ case 'l':
+ (e += l[0]), (r += l[1]), a.push({ key: 'L', data: [e, r] });
+ break;
+ case 'C':
+ a.push({ key: 'C', data: [...l] }), (e = l[4]), (r = l[5]);
+ break;
+ case 'c': {
+ let u = l.map((h, f) => (f % 2 ? h + r : h + e));
+ a.push({ key: 'C', data: u }), (e = u[4]), (r = u[5]);
+ break;
+ }
+ case 'Q':
+ a.push({ key: 'Q', data: [...l] }), (e = l[2]), (r = l[3]);
+ break;
+ case 'q': {
+ let u = l.map((h, f) => (f % 2 ? h + r : h + e));
+ a.push({ key: 'Q', data: u }), (e = u[2]), (r = u[3]);
+ break;
+ }
+ case 'A':
+ a.push({ key: 'A', data: [...l] }), (e = l[5]), (r = l[6]);
+ break;
+ case 'a':
+ (e += l[5]), (r += l[6]), a.push({ key: 'A', data: [l[0], l[1], l[2], l[3], l[4], e, r] });
+ break;
+ case 'H':
+ a.push({ key: 'H', data: [...l] }), (e = l[0]);
+ break;
+ case 'h':
+ (e += l[0]), a.push({ key: 'H', data: [e] });
+ break;
+ case 'V':
+ a.push({ key: 'V', data: [...l] }), (r = l[0]);
+ break;
+ case 'v':
+ (r += l[0]), a.push({ key: 'V', data: [r] });
+ break;
+ case 'S':
+ a.push({ key: 'S', data: [...l] }), (e = l[2]), (r = l[3]);
+ break;
+ case 's': {
+ let u = l.map((h, f) => (f % 2 ? h + r : h + e));
+ a.push({ key: 'S', data: u }), (e = u[2]), (r = u[3]);
+ break;
+ }
+ case 'T':
+ a.push({ key: 'T', data: [...l] }), (e = l[0]), (r = l[1]);
+ break;
+ case 't':
+ (e += l[0]), (r += l[1]), a.push({ key: 'T', data: [e, r] });
+ break;
+ case 'Z':
+ case 'z':
+ a.push({ key: 'Z', data: [] }), (e = n), (r = i);
+ }
+ return a;
+ }
+ function Xj(t) {
+ let e = [],
+ r = '',
+ n = 0,
+ i = 0,
+ a = 0,
+ s = 0,
+ l = 0,
+ u = 0;
+ for (let { key: h, data: f } of t) {
+ switch (h) {
+ case 'M':
+ e.push({ key: 'M', data: [...f] }), ([n, i] = f), ([a, s] = f);
+ break;
+ case 'C':
+ e.push({ key: 'C', data: [...f] }), (n = f[4]), (i = f[5]), (l = f[2]), (u = f[3]);
+ break;
+ case 'L':
+ e.push({ key: 'L', data: [...f] }), ([n, i] = f);
+ break;
+ case 'H':
+ (n = f[0]), e.push({ key: 'L', data: [n, i] });
+ break;
+ case 'V':
+ (i = f[0]), e.push({ key: 'L', data: [n, i] });
+ break;
+ case 'S': {
+ let d = 0,
+ p = 0;
+ r === 'C' || r === 'S' ? ((d = n + (n - l)), (p = i + (i - u))) : ((d = n), (p = i)),
+ e.push({ key: 'C', data: [d, p, ...f] }),
+ (l = f[0]),
+ (u = f[1]),
+ (n = f[2]),
+ (i = f[3]);
+ break;
+ }
+ case 'T': {
+ let [d, p] = f,
+ m = 0,
+ g = 0;
+ r === 'Q' || r === 'T' ? ((m = n + (n - l)), (g = i + (i - u))) : ((m = n), (g = i));
+ let y = n + (2 * (m - n)) / 3,
+ v = i + (2 * (g - i)) / 3,
+ x = d + (2 * (m - d)) / 3,
+ b = p + (2 * (g - p)) / 3;
+ e.push({ key: 'C', data: [y, v, x, b, d, p] }), (l = m), (u = g), (n = d), (i = p);
+ break;
+ }
+ case 'Q': {
+ let [d, p, m, g] = f,
+ y = n + (2 * (d - n)) / 3,
+ v = i + (2 * (p - i)) / 3,
+ x = m + (2 * (d - m)) / 3,
+ b = g + (2 * (p - g)) / 3;
+ e.push({ key: 'C', data: [y, v, x, b, m, g] }), (l = d), (u = p), (n = m), (i = g);
+ break;
+ }
+ case 'A': {
+ let d = Math.abs(f[0]),
+ p = Math.abs(f[1]),
+ m = f[2],
+ g = f[3],
+ y = f[4],
+ v = f[5],
+ x = f[6];
+ d === 0 || p === 0
+ ? (e.push({ key: 'C', data: [n, i, v, x, v, x] }), (n = v), (i = x))
+ : (n !== v || i !== x) &&
+ (jj(n, i, v, x, d, p, m, g, y).forEach(function (b) {
+ e.push({ key: 'C', data: b });
+ }),
+ (n = v),
+ (i = x));
+ break;
+ }
+ case 'Z':
+ e.push({ key: 'Z', data: [] }), (n = a), (i = s);
+ }
+ r = h;
+ }
+ return e;
+ }
+ function Tv(t, e, r) {
+ return [t * Math.cos(r) - e * Math.sin(r), t * Math.sin(r) + e * Math.cos(r)];
+ }
+ function jj(t, e, r, n, i, a, s, l, u, h) {
+ let f = ((d = s), (Math.PI * d) / 180);
+ var d;
+ let p = [],
+ m = 0,
+ g = 0,
+ y = 0,
+ v = 0;
+ if (h) [m, g, y, v] = h;
+ else {
+ ([t, e] = Tv(t, e, -f)), ([r, n] = Tv(r, n, -f));
+ let I = (t - r) / 2,
+ C = (e - n) / 2,
+ O = (I * I) / (i * i) + (C * C) / (a * a);
+ O > 1 && ((O = Math.sqrt(O)), (i *= O), (a *= O));
+ let D = i * i,
+ P = a * a,
+ F = D * P - D * C * C - P * I * I,
+ B = D * C * C + P * I * I,
+ $ = (l === u ? -1 : 1) * Math.sqrt(Math.abs(F / B));
+ (y = ($ * i * C) / a + (t + r) / 2),
+ (v = ($ * -a * I) / i + (e + n) / 2),
+ (m = Math.asin(parseFloat(((e - v) / a).toFixed(9)))),
+ (g = Math.asin(parseFloat(((n - v) / a).toFixed(9)))),
+ t < y && (m = Math.PI - m),
+ r < y && (g = Math.PI - g),
+ m < 0 && (m = 2 * Math.PI + m),
+ g < 0 && (g = 2 * Math.PI + g),
+ u && m > g && (m -= 2 * Math.PI),
+ !u && g > m && (g -= 2 * Math.PI);
+ }
+ let x = g - m;
+ if (Math.abs(x) > (120 * Math.PI) / 180) {
+ let I = g,
+ C = r,
+ O = n;
+ (g = u && g > m ? m + ((120 * Math.PI) / 180) * 1 : m + ((120 * Math.PI) / 180) * -1),
+ (p = jj((r = y + i * Math.cos(g)), (n = v + a * Math.sin(g)), C, O, i, a, s, 0, u, [g, I, y, v]));
+ }
+ x = g - m;
+ let b = Math.cos(m),
+ w = Math.sin(m),
+ S = Math.cos(g),
+ T = Math.sin(g),
+ E = Math.tan(x / 4),
+ _ = (4 / 3) * i * E,
+ A = (4 / 3) * a * E,
+ L = [t, e],
+ M = [t + _ * w, e - A * b],
+ N = [r + _ * T, n - A * S],
+ k = [r, n];
+ if (((M[0] = 2 * L[0] - M[0]), (M[1] = 2 * L[1] - M[1]), h)) return [M, N, k].concat(p);
+ {
+ p = [M, N, k].concat(p);
+ let I = [];
+ for (let C = 0; C < p.length; C += 3) {
+ let O = Tv(p[C][0], p[C][1], f),
+ D = Tv(p[C + 1][0], p[C + 1][1], f),
+ P = Tv(p[C + 2][0], p[C + 2][1], f);
+ I.push([O[0], O[1], D[0], D[1], P[0], P[1]]);
+ }
+ return I;
+ }
+ }
+ function Kj(t, e, r, n, i) {
+ return { type: 'path', ops: Vh(t, e, r, n, i) };
+ }
+ function F5(t, e, r) {
+ let n = (t || []).length;
+ if (n > 2) {
+ let i = [];
+ for (let a = 0; a < n - 1; a++) i.push(...Vh(t[a][0], t[a][1], t[a + 1][0], t[a + 1][1], r));
+ return e && i.push(...Vh(t[n - 1][0], t[n - 1][1], t[0][0], t[0][1], r)), { type: 'path', ops: i };
+ }
+ return n === 2 ? Kj(t[0][0], t[0][1], t[1][0], t[1][1], r) : { type: 'path', ops: [] };
+ }
+ function ySe(t, e, r, n, i) {
+ return (function (a, s) {
+ return F5(a, !0, s);
+ })(
+ [
+ [t, e],
+ [t + r, e],
+ [t + r, e + n],
+ [t, e + n]
+ ],
+ i
+ );
+ }
+ function Gj(t, e) {
+ if (t.length) {
+ let r = typeof t[0][0] == 'number' ? [t] : t,
+ n = P5(r[0], 1 * (1 + 0.2 * e.roughness), e),
+ i = e.disableMultiStroke ? [] : P5(r[0], 1.5 * (1 + 0.22 * e.roughness), Uj(e));
+ for (let a = 1; a < r.length; a++) {
+ let s = r[a];
+ if (s.length) {
+ let l = P5(s, 1 * (1 + 0.2 * e.roughness), e),
+ u = e.disableMultiStroke ? [] : P5(s, 1.5 * (1 + 0.22 * e.roughness), Uj(e));
+ for (let h of l) h.op !== 'move' && n.push(h);
+ for (let h of u) h.op !== 'move' && i.push(h);
+ }
+ }
+ return { type: 'path', ops: n.concat(i) };
+ }
+ return { type: 'path', ops: [] };
+ }
+ function Qj(t, e, r) {
+ let n = Math.sqrt(2 * Math.PI * Math.sqrt((Math.pow(t / 2, 2) + Math.pow(e / 2, 2)) / 2)),
+ i = Math.ceil(Math.max(r.curveStepCount, (r.curveStepCount / Math.sqrt(200)) * n)),
+ a = (2 * Math.PI) / i,
+ s = Math.abs(t / 2),
+ l = Math.abs(e / 2),
+ u = 1 - r.curveFitting;
+ return (s += Yt(s * u, r)), (l += Yt(l * u, r)), { increment: a, rx: s, ry: l };
+ }
+ function $9(t, e, r, n) {
+ let [i, a] = Hj(n.increment, t, e, n.rx, n.ry, 1, n.increment * G5(0.1, G5(0.4, 1, r), r), r),
+ s = $5(i, null, r);
+ if (!r.disableMultiStroke && r.roughness !== 0) {
+ let [l] = Hj(n.increment, t, e, n.rx, n.ry, 1.5, 0, r),
+ u = $5(l, null, r);
+ s = s.concat(u);
+ }
+ return { estimatedPoints: a, opset: { type: 'path', ops: s } };
+ }
+ function $j(t, e, r, n, i, a, s, l, u) {
+ let h = t,
+ f = e,
+ d = Math.abs(r / 2),
+ p = Math.abs(n / 2);
+ (d += Yt(0.01 * d, u)), (p += Yt(0.01 * p, u));
+ let m = i,
+ g = a;
+ for (; m < 0; ) (m += 2 * Math.PI), (g += 2 * Math.PI);
+ g - m > 2 * Math.PI && ((m = 0), (g = 2 * Math.PI));
+ let y = (2 * Math.PI) / u.curveStepCount,
+ v = Math.min(y / 2, (g - m) / 2),
+ x = Yj(v, h, f, d, p, m, g, 1, u);
+ if (!u.disableMultiStroke) {
+ let b = Yj(v, h, f, d, p, m, g, 1.5, u);
+ x.push(...b);
+ }
+ return (
+ s &&
+ (l
+ ? x.push(
+ ...Vh(h, f, h + d * Math.cos(m), f + p * Math.sin(m), u),
+ ...Vh(h, f, h + d * Math.cos(g), f + p * Math.sin(g), u)
+ )
+ : x.push(
+ { op: 'lineTo', data: [h, f] },
+ {
+ op: 'lineTo',
+ data: [h + d * Math.cos(m), f + p * Math.sin(m)]
+ }
+ )),
+ { type: 'path', ops: x }
+ );
+ }
+ function Vj(t, e) {
+ let r = Xj(qj(W9(t))),
+ n = [],
+ i = [0, 0],
+ a = [0, 0];
+ for (let { key: s, data: l } of r)
+ switch (s) {
+ case 'M':
+ (a = [l[0], l[1]]), (i = [l[0], l[1]]);
+ break;
+ case 'L':
+ n.push(...Vh(a[0], a[1], l[0], l[1], e)), (a = [l[0], l[1]]);
+ break;
+ case 'C': {
+ let [u, h, f, d, p, m] = l;
+ n.push(...vSe(u, h, f, d, p, m, a, e)), (a = [p, m]);
+ break;
+ }
+ case 'Z':
+ n.push(...Vh(a[0], a[1], i[0], i[1], e)), (a = [i[0], i[1]]);
+ }
+ return { type: 'path', ops: n };
+ }
+ function M9(t, e) {
+ let r = [];
+ for (let n of t)
+ if (n.length) {
+ let i = e.maxRandomnessOffset || 0,
+ a = n.length;
+ if (a > 2) {
+ r.push({
+ op: 'move',
+ data: [n[0][0] + Yt(i, e), n[0][1] + Yt(i, e)]
+ });
+ for (let s = 1; s < a; s++)
+ r.push({
+ op: 'lineTo',
+ data: [n[s][0] + Yt(i, e), n[s][1] + Yt(i, e)]
+ });
+ }
+ }
+ return { type: 'fillPath', ops: r };
+ }
+ function mm(t, e) {
+ return (function (r, n) {
+ let i = r.fillStyle || 'hachure';
+ if (!Cs[i])
+ switch (i) {
+ case 'zigzag':
+ Cs[i] || (Cs[i] = new O9(n));
+ break;
+ case 'cross-hatch':
+ Cs[i] || (Cs[i] = new P9(n));
+ break;
+ case 'dots':
+ Cs[i] || (Cs[i] = new B9(n));
+ break;
+ case 'dashed':
+ Cs[i] || (Cs[i] = new F9(n));
+ break;
+ case 'zigzag-line':
+ Cs[i] || (Cs[i] = new z9(n));
+ break;
+ default:
+ (i = 'hachure'), Cs[i] || (Cs[i] = new Ev(n));
+ }
+ return Cs[i];
+ })(e, gSe).fillPolygons(t, e);
+ }
+ function Uj(t) {
+ let e = Object.assign({}, t);
+ return (e.randomizer = void 0), t.seed && (e.seed = t.seed + 1), e;
+ }
+ function Zj(t) {
+ return t.randomizer || (t.randomizer = new G9(t.seed || 0)), t.randomizer.next();
+ }
+ function G5(t, e, r, n = 1) {
+ return r.roughness * n * (Zj(r) * (e - t) + t);
+ }
+ function Yt(t, e, r = 1) {
+ return G5(-t, t, e, r);
+ }
+ function Vh(t, e, r, n, i, a = !1) {
+ let s = a ? i.disableMultiStrokeFill : i.disableMultiStroke,
+ l = V9(t, e, r, n, i, !0, !1);
+ if (s) return l;
+ let u = V9(t, e, r, n, i, !0, !0);
+ return l.concat(u);
+ }
+ function V9(t, e, r, n, i, a, s) {
+ let l = Math.pow(t - r, 2) + Math.pow(e - n, 2),
+ u = Math.sqrt(l),
+ h = 1;
+ h = u < 200 ? 1 : u > 500 ? 0.4 : -0.0016668 * u + 1.233334;
+ let f = i.maxRandomnessOffset || 0;
+ f * f * 100 > l && (f = u / 10);
+ let d = f / 2,
+ p = 0.2 + 0.2 * Zj(i),
+ m = (i.bowing * i.maxRandomnessOffset * (n - e)) / 200,
+ g = (i.bowing * i.maxRandomnessOffset * (t - r)) / 200;
+ (m = Yt(m, i, h)), (g = Yt(g, i, h));
+ let y = [],
+ v = o(() => Yt(d, i, h), 'M'),
+ x = o(() => Yt(f, i, h), 'k'),
+ b = i.preserveVertices;
+ return (
+ a &&
+ (s
+ ? y.push({ op: 'move', data: [t + (b ? 0 : v()), e + (b ? 0 : v())] })
+ : y.push({
+ op: 'move',
+ data: [t + (b ? 0 : Yt(f, i, h)), e + (b ? 0 : Yt(f, i, h))]
+ })),
+ s
+ ? y.push({
+ op: 'bcurveTo',
+ data: [
+ m + t + (r - t) * p + v(),
+ g + e + (n - e) * p + v(),
+ m + t + 2 * (r - t) * p + v(),
+ g + e + 2 * (n - e) * p + v(),
+ r + (b ? 0 : v()),
+ n + (b ? 0 : v())
+ ]
+ })
+ : y.push({
+ op: 'bcurveTo',
+ data: [
+ m + t + (r - t) * p + x(),
+ g + e + (n - e) * p + x(),
+ m + t + 2 * (r - t) * p + x(),
+ g + e + 2 * (n - e) * p + x(),
+ r + (b ? 0 : x()),
+ n + (b ? 0 : x())
+ ]
+ }),
+ y
+ );
+ }
+ function P5(t, e, r) {
+ if (!t.length) return [];
+ let n = [];
+ n.push([t[0][0] + Yt(e, r), t[0][1] + Yt(e, r)]), n.push([t[0][0] + Yt(e, r), t[0][1] + Yt(e, r)]);
+ for (let i = 1; i < t.length; i++)
+ n.push([t[i][0] + Yt(e, r), t[i][1] + Yt(e, r)]),
+ i === t.length - 1 && n.push([t[i][0] + Yt(e, r), t[i][1] + Yt(e, r)]);
+ return $5(n, null, r);
+ }
+ function $5(t, e, r) {
+ let n = t.length,
+ i = [];
+ if (n > 3) {
+ let a = [],
+ s = 1 - r.curveTightness;
+ i.push({ op: 'move', data: [t[1][0], t[1][1]] });
+ for (let l = 1; l + 2 < n; l++) {
+ let u = t[l];
+ (a[0] = [u[0], u[1]]),
+ (a[1] = [
+ u[0] + (s * t[l + 1][0] - s * t[l - 1][0]) / 6,
+ u[1] + (s * t[l + 1][1] - s * t[l - 1][1]) / 6
+ ]),
+ (a[2] = [
+ t[l + 1][0] + (s * t[l][0] - s * t[l + 2][0]) / 6,
+ t[l + 1][1] + (s * t[l][1] - s * t[l + 2][1]) / 6
+ ]),
+ (a[3] = [t[l + 1][0], t[l + 1][1]]),
+ i.push({
+ op: 'bcurveTo',
+ data: [a[1][0], a[1][1], a[2][0], a[2][1], a[3][0], a[3][1]]
+ });
+ }
+ if (e && e.length === 2) {
+ let l = r.maxRandomnessOffset;
+ i.push({ op: 'lineTo', data: [e[0] + Yt(l, r), e[1] + Yt(l, r)] });
+ }
+ } else
+ n === 3
+ ? (i.push({ op: 'move', data: [t[1][0], t[1][1]] }),
+ i.push({
+ op: 'bcurveTo',
+ data: [t[1][0], t[1][1], t[2][0], t[2][1], t[2][0], t[2][1]]
+ }))
+ : n === 2 && i.push(...V9(t[0][0], t[0][1], t[1][0], t[1][1], r, !0, !0));
+ return i;
+ }
+ function Hj(t, e, r, n, i, a, s, l) {
+ let u = [],
+ h = [];
+ if (l.roughness === 0) {
+ (t /= 4), h.push([e + n * Math.cos(-t), r + i * Math.sin(-t)]);
+ for (let f = 0; f <= 2 * Math.PI; f += t) {
+ let d = [e + n * Math.cos(f), r + i * Math.sin(f)];
+ u.push(d), h.push(d);
+ }
+ h.push([e + n * Math.cos(0), r + i * Math.sin(0)]), h.push([e + n * Math.cos(t), r + i * Math.sin(t)]);
+ } else {
+ let f = Yt(0.5, l) - Math.PI / 2;
+ h.push([Yt(a, l) + e + 0.9 * n * Math.cos(f - t), Yt(a, l) + r + 0.9 * i * Math.sin(f - t)]);
+ let d = 2 * Math.PI + f - 0.01;
+ for (let p = f; p < d; p += t) {
+ let m = [Yt(a, l) + e + n * Math.cos(p), Yt(a, l) + r + i * Math.sin(p)];
+ u.push(m), h.push(m);
+ }
+ h.push([
+ Yt(a, l) + e + n * Math.cos(f + 2 * Math.PI + 0.5 * s),
+ Yt(a, l) + r + i * Math.sin(f + 2 * Math.PI + 0.5 * s)
+ ]),
+ h.push([Yt(a, l) + e + 0.98 * n * Math.cos(f + s), Yt(a, l) + r + 0.98 * i * Math.sin(f + s)]),
+ h.push([
+ Yt(a, l) + e + 0.9 * n * Math.cos(f + 0.5 * s),
+ Yt(a, l) + r + 0.9 * i * Math.sin(f + 0.5 * s)
+ ]);
+ }
+ return [h, u];
+ }
+ function Yj(t, e, r, n, i, a, s, l, u) {
+ let h = a + Yt(0.1, u),
+ f = [];
+ f.push([Yt(l, u) + e + 0.9 * n * Math.cos(h - t), Yt(l, u) + r + 0.9 * i * Math.sin(h - t)]);
+ for (let d = h; d <= s; d += t) f.push([Yt(l, u) + e + n * Math.cos(d), Yt(l, u) + r + i * Math.sin(d)]);
+ return (
+ f.push([e + n * Math.cos(s), r + i * Math.sin(s)]),
+ f.push([e + n * Math.cos(s), r + i * Math.sin(s)]),
+ $5(f, null, u)
+ );
+ }
+ function vSe(t, e, r, n, i, a, s, l) {
+ let u = [],
+ h = [l.maxRandomnessOffset || 1, (l.maxRandomnessOffset || 1) + 0.3],
+ f = [0, 0],
+ d = l.disableMultiStroke ? 1 : 2,
+ p = l.preserveVertices;
+ for (let m = 0; m < d; m++)
+ m === 0
+ ? u.push({ op: 'move', data: [s[0], s[1]] })
+ : u.push({
+ op: 'move',
+ data: [s[0] + (p ? 0 : Yt(h[0], l)), s[1] + (p ? 0 : Yt(h[0], l))]
+ }),
+ (f = p ? [i, a] : [i + Yt(h[m], l), a + Yt(h[m], l)]),
+ u.push({
+ op: 'bcurveTo',
+ data: [t + Yt(h[m], l), e + Yt(h[m], l), r + Yt(h[m], l), n + Yt(h[m], l), f[0], f[1]]
+ });
+ return u;
+ }
+ function kv(t) {
+ return [...t];
+ }
+ function Wj(t, e = 0) {
+ let r = t.length;
+ if (r < 3) throw new Error('A curve must have at least three points.');
+ let n = [];
+ if (r === 3) n.push(kv(t[0]), kv(t[1]), kv(t[2]), kv(t[2]));
+ else {
+ let i = [];
+ i.push(t[0], t[0]);
+ for (let l = 1; l < t.length; l++) i.push(t[l]), l === t.length - 1 && i.push(t[l]);
+ let a = [],
+ s = 1 - e;
+ n.push(kv(i[0]));
+ for (let l = 1; l + 2 < i.length; l++) {
+ let u = i[l];
+ (a[0] = [u[0], u[1]]),
+ (a[1] = [
+ u[0] + (s * i[l + 1][0] - s * i[l - 1][0]) / 6,
+ u[1] + (s * i[l + 1][1] - s * i[l - 1][1]) / 6
+ ]),
+ (a[2] = [
+ i[l + 1][0] + (s * i[l][0] - s * i[l + 2][0]) / 6,
+ i[l + 1][1] + (s * i[l][1] - s * i[l + 2][1]) / 6
+ ]),
+ (a[3] = [i[l + 1][0], i[l + 1][1]]),
+ n.push(a[1], a[2], a[3]);
+ }
+ }
+ return n;
+ }
+ function z5(t, e) {
+ return Math.pow(t[0] - e[0], 2) + Math.pow(t[1] - e[1], 2);
+ }
+ function xSe(t, e, r) {
+ let n = z5(e, r);
+ if (n === 0) return z5(t, e);
+ let i = ((t[0] - e[0]) * (r[0] - e[0]) + (t[1] - e[1]) * (r[1] - e[1])) / n;
+ return (i = Math.max(0, Math.min(1, i))), z5(t, Ld(e, r, i));
+ }
+ function Ld(t, e, r) {
+ return [t[0] + (e[0] - t[0]) * r, t[1] + (e[1] - t[1]) * r];
+ }
+ function U9(t, e, r, n) {
+ let i = n || [];
+ if (
+ (function (l, u) {
+ let h = l[u + 0],
+ f = l[u + 1],
+ d = l[u + 2],
+ p = l[u + 3],
+ m = 3 * f[0] - 2 * h[0] - p[0];
+ m *= m;
+ let g = 3 * f[1] - 2 * h[1] - p[1];
+ g *= g;
+ let y = 3 * d[0] - 2 * p[0] - h[0];
+ y *= y;
+ let v = 3 * d[1] - 2 * p[1] - h[1];
+ return (v *= v), m < y && (m = y), g < v && (g = v), m + g;
+ })(t, e) < r
+ ) {
+ let l = t[e + 0];
+ i.length ? ((a = i[i.length - 1]), (s = l), Math.sqrt(z5(a, s)) > 1 && i.push(l)) : i.push(l),
+ i.push(t[e + 3]);
+ } else {
+ let u = t[e + 0],
+ h = t[e + 1],
+ f = t[e + 2],
+ d = t[e + 3],
+ p = Ld(u, h, 0.5),
+ m = Ld(h, f, 0.5),
+ g = Ld(f, d, 0.5),
+ y = Ld(p, m, 0.5),
+ v = Ld(m, g, 0.5),
+ x = Ld(y, v, 0.5);
+ U9([u, p, y, x], 0, r, i), U9([x, v, g, d], 0, r, i);
+ }
+ var a, s;
+ return i;
+ }
+ function bSe(t, e) {
+ return V5(t, 0, t.length, e);
+ }
+ function V5(t, e, r, n, i) {
+ let a = i || [],
+ s = t[e],
+ l = t[r - 1],
+ u = 0,
+ h = 1;
+ for (let f = e + 1; f < r - 1; ++f) {
+ let d = xSe(t[f], s, l);
+ d > u && ((u = d), (h = f));
+ }
+ return Math.sqrt(u) > n ? (V5(t, e, h + 1, n, a), V5(t, h, r, n, a)) : (a.length || a.push(s), a.push(l)), a;
+ }
+ function I9(t, e = 0.15, r) {
+ let n = [],
+ i = (t.length - 1) / 3;
+ for (let a = 0; a < i; a++) U9(t, 3 * a, e, n);
+ return r && r > 0 ? V5(n, 0, n.length, r) : n;
+ }
+ var Ev,
+ O9,
+ P9,
+ B9,
+ F9,
+ z9,
+ Cs,
+ G9,
+ mSe,
+ R9,
+ zj,
+ O5,
+ gSe,
+ ao,
+ gm,
+ H9,
+ B5,
+ Y9,
+ Jt,
+ ti = R(() => {
+ 'use strict';
+ o(D9, 't');
+ o(dSe, 'e');
+ o(pSe, 's');
+ o(Cv, 'n');
+ Ev = class {
+ static {
+ o(this, 'o');
+ }
+ constructor(e) {
+ this.helper = e;
+ }
+ fillPolygons(e, r) {
+ return this._fillPolygons(e, r);
+ }
+ _fillPolygons(e, r) {
+ let n = Cv(e, r);
+ return { type: 'fillSketch', ops: this.renderLines(n, r) };
+ }
+ renderLines(e, r) {
+ let n = [];
+ for (let i of e) n.push(...this.helper.doubleLineOps(i[0][0], i[0][1], i[1][0], i[1][1], r));
+ return n;
+ }
+ };
+ o(U5, 'a');
+ (O9 = class extends Ev {
+ static {
+ o(this, 'h');
+ }
+ fillPolygons(e, r) {
+ let n = r.hachureGap;
+ n < 0 && (n = 4 * r.strokeWidth), (n = Math.max(n, 0.1));
+ let i = Cv(e, Object.assign({}, r, { hachureGap: n })),
+ a = (Math.PI / 180) * r.hachureAngle,
+ s = [],
+ l = 0.5 * n * Math.cos(a),
+ u = 0.5 * n * Math.sin(a);
+ for (let [h, f] of i)
+ U5([h, f]) && s.push([[h[0] - l, h[1] + u], [...f]], [[h[0] + l, h[1] - u], [...f]]);
+ return { type: 'fillSketch', ops: this.renderLines(s, r) };
+ }
+ }),
+ (P9 = class extends Ev {
+ static {
+ o(this, 'r');
+ }
+ fillPolygons(e, r) {
+ let n = this._fillPolygons(e, r),
+ i = Object.assign({}, r, { hachureAngle: r.hachureAngle + 90 }),
+ a = this._fillPolygons(e, i);
+ return (n.ops = n.ops.concat(a.ops)), n;
+ }
+ }),
+ (B9 = class {
+ static {
+ o(this, 'i');
+ }
+ constructor(e) {
+ this.helper = e;
+ }
+ fillPolygons(e, r) {
+ let n = Cv(e, (r = Object.assign({}, r, { hachureAngle: 0 })));
+ return this.dotsOnLines(n, r);
+ }
+ dotsOnLines(e, r) {
+ let n = [],
+ i = r.hachureGap;
+ i < 0 && (i = 4 * r.strokeWidth), (i = Math.max(i, 0.1));
+ let a = r.fillWeight;
+ a < 0 && (a = r.strokeWidth / 2);
+ let s = i / 4;
+ for (let l of e) {
+ let u = U5(l),
+ h = u / i,
+ f = Math.ceil(h) - 1,
+ d = u - f * i,
+ p = (l[0][0] + l[1][0]) / 2 - i / 4,
+ m = Math.min(l[0][1], l[1][1]);
+ for (let g = 0; g < f; g++) {
+ let y = m + d + g * i,
+ v = p - s + 2 * Math.random() * s,
+ x = y - s + 2 * Math.random() * s,
+ b = this.helper.ellipse(v, x, a, a, r);
+ n.push(...b.ops);
+ }
+ }
+ return { type: 'fillSketch', ops: n };
+ }
+ }),
+ (F9 = class {
+ static {
+ o(this, 'c');
+ }
+ constructor(e) {
+ this.helper = e;
+ }
+ fillPolygons(e, r) {
+ let n = Cv(e, r);
+ return { type: 'fillSketch', ops: this.dashedLine(n, r) };
+ }
+ dashedLine(e, r) {
+ let n = r.dashOffset < 0 ? (r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap) : r.dashOffset,
+ i = r.dashGap < 0 ? (r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap) : r.dashGap,
+ a = [];
+ return (
+ e.forEach((s) => {
+ let l = U5(s),
+ u = Math.floor(l / (n + i)),
+ h = (l + i - u * (n + i)) / 2,
+ f = s[0],
+ d = s[1];
+ f[0] > d[0] && ((f = s[1]), (d = s[0]));
+ let p = Math.atan((d[1] - f[1]) / (d[0] - f[0]));
+ for (let m = 0; m < u; m++) {
+ let g = m * (n + i),
+ y = g + n,
+ v = [
+ f[0] + g * Math.cos(p) + h * Math.cos(p),
+ f[1] + g * Math.sin(p) + h * Math.sin(p)
+ ],
+ x = [
+ f[0] + y * Math.cos(p) + h * Math.cos(p),
+ f[1] + y * Math.sin(p) + h * Math.sin(p)
+ ];
+ a.push(...this.helper.doubleLineOps(v[0], v[1], x[0], x[1], r));
+ }
+ }),
+ a
+ );
+ }
+ }),
+ (z9 = class {
+ static {
+ o(this, 'l');
+ }
+ constructor(e) {
+ this.helper = e;
+ }
+ fillPolygons(e, r) {
+ let n = r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap,
+ i = r.zigzagOffset < 0 ? n : r.zigzagOffset,
+ a = Cv(e, (r = Object.assign({}, r, { hachureGap: n + i })));
+ return { type: 'fillSketch', ops: this.zigzagLines(a, i, r) };
+ }
+ zigzagLines(e, r, n) {
+ let i = [];
+ return (
+ e.forEach((a) => {
+ let s = U5(a),
+ l = Math.round(s / (2 * r)),
+ u = a[0],
+ h = a[1];
+ u[0] > h[0] && ((u = a[1]), (h = a[0]));
+ let f = Math.atan((h[1] - u[1]) / (h[0] - u[0]));
+ for (let d = 0; d < l; d++) {
+ let p = 2 * d * r,
+ m = 2 * (d + 1) * r,
+ g = Math.sqrt(2 * Math.pow(r, 2)),
+ y = [u[0] + p * Math.cos(f), u[1] + p * Math.sin(f)],
+ v = [u[0] + m * Math.cos(f), u[1] + m * Math.sin(f)],
+ x = [
+ y[0] + g * Math.cos(f + Math.PI / 4),
+ y[1] + g * Math.sin(f + Math.PI / 4)
+ ];
+ i.push(
+ ...this.helper.doubleLineOps(y[0], y[1], x[0], x[1], n),
+ ...this.helper.doubleLineOps(x[0], x[1], v[0], v[1], n)
+ );
+ }
+ }),
+ i
+ );
+ }
+ }),
+ (Cs = {}),
+ (G9 = class {
+ static {
+ o(this, 'p');
+ }
+ constructor(e) {
+ this.seed = e;
+ }
+ next() {
+ return this.seed
+ ? ((2 ** 31 - 1) & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31
+ : Math.random();
+ }
+ }),
+ (mSe = 0),
+ (R9 = 1),
+ (zj = 2),
+ (O5 = {
+ A: 7,
+ a: 7,
+ C: 6,
+ c: 6,
+ H: 1,
+ h: 1,
+ L: 2,
+ l: 2,
+ M: 2,
+ m: 2,
+ Q: 4,
+ q: 4,
+ S: 4,
+ s: 4,
+ T: 2,
+ t: 2,
+ V: 1,
+ v: 1,
+ Z: 0,
+ z: 0
+ });
+ o(N9, 'k');
+ o(W9, 'b');
+ o(qj, 'y');
+ o(Xj, 'm');
+ o(Tv, 'w');
+ o(jj, 'x');
+ gSe = {
+ randOffset: o(function (t, e) {
+ return Yt(t, e);
+ }, 'randOffset'),
+ randOffsetWithRange: o(function (t, e, r) {
+ return G5(t, e, r);
+ }, 'randOffsetWithRange'),
+ ellipse: o(function (t, e, r, n, i) {
+ let a = Qj(r, n, i);
+ return $9(t, e, i, a).opset;
+ }, 'ellipse'),
+ doubleLineOps: o(function (t, e, r, n, i) {
+ return Vh(t, e, r, n, i, !0);
+ }, 'doubleLineOps')
+ };
+ o(Kj, 'v');
+ o(F5, 'S');
+ o(ySe, 'O');
+ o(Gj, 'L');
+ o(Qj, 'T');
+ o($9, 'D');
+ o($j, 'A');
+ o(Vj, '_');
+ o(M9, 'I');
+ o(mm, 'C');
+ o(Uj, 'z');
+ o(Zj, 'W');
+ o(G5, 'E');
+ o(Yt, 'G');
+ o(Vh, '$');
+ o(V9, 'R');
+ o(P5, 'j');
+ o($5, 'q');
+ o(Hj, 'F');
+ o(Yj, 'V');
+ o(vSe, 'Z');
+ o(kv, 'Q');
+ o(Wj, 'H');
+ o(z5, 'N');
+ o(xSe, 'B');
+ o(Ld, 'J');
+ o(U9, 'K');
+ o(bSe, 'U');
+ o(V5, 'X');
+ o(I9, 'Y');
+ (ao = 'none'),
+ (gm = class {
+ static {
+ o(this, 'et');
+ }
+ constructor(e) {
+ (this.defaultOptions = {
+ maxRandomnessOffset: 2,
+ roughness: 1,
+ bowing: 1,
+ stroke: '#000',
+ strokeWidth: 1,
+ curveTightness: 0,
+ curveFitting: 0.95,
+ curveStepCount: 9,
+ fillStyle: 'hachure',
+ fillWeight: -1,
+ hachureAngle: -41,
+ hachureGap: -1,
+ dashOffset: -1,
+ dashGap: -1,
+ zigzagOffset: -1,
+ seed: 0,
+ disableMultiStroke: !1,
+ disableMultiStrokeFill: !1,
+ preserveVertices: !1,
+ fillShapeRoughnessGain: 0.8
+ }),
+ (this.config = e || {}),
+ this.config.options && (this.defaultOptions = this._o(this.config.options));
+ }
+ static newSeed() {
+ return Math.floor(Math.random() * 2 ** 31);
+ }
+ _o(e) {
+ return e ? Object.assign({}, this.defaultOptions, e) : this.defaultOptions;
+ }
+ _d(e, r, n) {
+ return {
+ shape: e,
+ sets: r || [],
+ options: n || this.defaultOptions
+ };
+ }
+ line(e, r, n, i, a) {
+ let s = this._o(a);
+ return this._d('line', [Kj(e, r, n, i, s)], s);
+ }
+ rectangle(e, r, n, i, a) {
+ let s = this._o(a),
+ l = [],
+ u = ySe(e, r, n, i, s);
+ if (s.fill) {
+ let h = [
+ [e, r],
+ [e + n, r],
+ [e + n, r + i],
+ [e, r + i]
+ ];
+ s.fillStyle === 'solid' ? l.push(M9([h], s)) : l.push(mm([h], s));
+ }
+ return s.stroke !== ao && l.push(u), this._d('rectangle', l, s);
+ }
+ ellipse(e, r, n, i, a) {
+ let s = this._o(a),
+ l = [],
+ u = Qj(n, i, s),
+ h = $9(e, r, s, u);
+ if (s.fill)
+ if (s.fillStyle === 'solid') {
+ let f = $9(e, r, s, u).opset;
+ (f.type = 'fillPath'), l.push(f);
+ } else l.push(mm([h.estimatedPoints], s));
+ return s.stroke !== ao && l.push(h.opset), this._d('ellipse', l, s);
+ }
+ circle(e, r, n, i) {
+ let a = this.ellipse(e, r, n, n, i);
+ return (a.shape = 'circle'), a;
+ }
+ linearPath(e, r) {
+ let n = this._o(r);
+ return this._d('linearPath', [F5(e, !1, n)], n);
+ }
+ arc(e, r, n, i, a, s, l = !1, u) {
+ let h = this._o(u),
+ f = [],
+ d = $j(e, r, n, i, a, s, l, !0, h);
+ if (l && h.fill)
+ if (h.fillStyle === 'solid') {
+ let p = Object.assign({}, h);
+ p.disableMultiStroke = !0;
+ let m = $j(e, r, n, i, a, s, !0, !1, p);
+ (m.type = 'fillPath'), f.push(m);
+ } else
+ f.push(
+ (function (p, m, g, y, v, x, b) {
+ let w = p,
+ S = m,
+ T = Math.abs(g / 2),
+ E = Math.abs(y / 2);
+ (T += Yt(0.01 * T, b)), (E += Yt(0.01 * E, b));
+ let _ = v,
+ A = x;
+ for (; _ < 0; ) (_ += 2 * Math.PI), (A += 2 * Math.PI);
+ A - _ > 2 * Math.PI && ((_ = 0), (A = 2 * Math.PI));
+ let L = (A - _) / b.curveStepCount,
+ M = [];
+ for (let N = _; N <= A; N += L)
+ M.push([w + T * Math.cos(N), S + E * Math.sin(N)]);
+ return (
+ M.push([w + T * Math.cos(A), S + E * Math.sin(A)]),
+ M.push([w, S]),
+ mm([M], b)
+ );
+ })(e, r, n, i, a, s, h)
+ );
+ return h.stroke !== ao && f.push(d), this._d('arc', f, h);
+ }
+ curve(e, r) {
+ let n = this._o(r),
+ i = [],
+ a = Gj(e, n);
+ if (n.fill && n.fill !== ao)
+ if (n.fillStyle === 'solid') {
+ let s = Gj(
+ e,
+ Object.assign(Object.assign({}, n), {
+ disableMultiStroke: !0,
+ roughness: n.roughness ? n.roughness + n.fillShapeRoughnessGain : 0
+ })
+ );
+ i.push({ type: 'fillPath', ops: this._mergedShape(s.ops) });
+ } else {
+ let s = [],
+ l = e;
+ if (l.length) {
+ let u = typeof l[0][0] == 'number' ? [l] : l;
+ for (let h of u)
+ h.length < 3
+ ? s.push(...h)
+ : h.length === 3
+ ? s.push(...I9(Wj([h[0], h[0], h[1], h[2]]), 10, (1 + n.roughness) / 2))
+ : s.push(...I9(Wj(h), 10, (1 + n.roughness) / 2));
+ }
+ s.length && i.push(mm([s], n));
+ }
+ return n.stroke !== ao && i.push(a), this._d('curve', i, n);
+ }
+ polygon(e, r) {
+ let n = this._o(r),
+ i = [],
+ a = F5(e, !0, n);
+ return (
+ n.fill && (n.fillStyle === 'solid' ? i.push(M9([e], n)) : i.push(mm([e], n))),
+ n.stroke !== ao && i.push(a),
+ this._d('polygon', i, n)
+ );
+ }
+ path(e, r) {
+ let n = this._o(r),
+ i = [];
+ if (!e) return this._d('path', i, n);
+ e = (e || '').replace(/\n/g, ' ').replace(/(-\s)/g, '-').replace('/(ss)/g', ' ');
+ let a = n.fill && n.fill !== 'transparent' && n.fill !== ao,
+ s = n.stroke !== ao,
+ l = !!(n.simplification && n.simplification < 1),
+ u = (function (f, d, p) {
+ let m = Xj(qj(W9(f))),
+ g = [],
+ y = [],
+ v = [0, 0],
+ x = [],
+ b = o(() => {
+ x.length >= 4 && y.push(...I9(x, d)), (x = []);
+ }, 'i'),
+ w = o(() => {
+ b(), y.length && (g.push(y), (y = []));
+ }, 'c');
+ for (let { key: T, data: E } of m)
+ switch (T) {
+ case 'M':
+ w(), (v = [E[0], E[1]]), y.push(v);
+ break;
+ case 'L':
+ b(), y.push([E[0], E[1]]);
+ break;
+ case 'C':
+ if (!x.length) {
+ let _ = y.length ? y[y.length - 1] : v;
+ x.push([_[0], _[1]]);
+ }
+ x.push([E[0], E[1]]), x.push([E[2], E[3]]), x.push([E[4], E[5]]);
+ break;
+ case 'Z':
+ b(), y.push([v[0], v[1]]);
+ }
+ if ((w(), !p)) return g;
+ let S = [];
+ for (let T of g) {
+ let E = bSe(T, p);
+ E.length && S.push(E);
+ }
+ return S;
+ })(e, 1, l ? 4 - 4 * (n.simplification || 1) : (1 + n.roughness) / 2),
+ h = Vj(e, n);
+ if (a)
+ if (n.fillStyle === 'solid')
+ if (u.length === 1) {
+ let f = Vj(
+ e,
+ Object.assign(Object.assign({}, n), {
+ disableMultiStroke: !0,
+ roughness: n.roughness ? n.roughness + n.fillShapeRoughnessGain : 0
+ })
+ );
+ i.push({ type: 'fillPath', ops: this._mergedShape(f.ops) });
+ } else i.push(M9(u, n));
+ else i.push(mm(u, n));
+ return (
+ s &&
+ (l
+ ? u.forEach((f) => {
+ i.push(F5(f, !1, n));
+ })
+ : i.push(h)),
+ this._d('path', i, n)
+ );
+ }
+ opsToPath(e, r) {
+ let n = '';
+ for (let i of e.ops) {
+ let a = typeof r == 'number' && r >= 0 ? i.data.map((s) => +s.toFixed(r)) : i.data;
+ switch (i.op) {
+ case 'move':
+ n += `M${a[0]} ${a[1]} `;
+ break;
+ case 'bcurveTo':
+ n += `C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;
+ break;
+ case 'lineTo':
+ n += `L${a[0]} ${a[1]} `;
+ }
+ }
+ return n.trim();
+ }
+ toPaths(e) {
+ let r = e.sets || [],
+ n = e.options || this.defaultOptions,
+ i = [];
+ for (let a of r) {
+ let s = null;
+ switch (a.type) {
+ case 'path':
+ s = {
+ d: this.opsToPath(a),
+ stroke: n.stroke,
+ strokeWidth: n.strokeWidth,
+ fill: ao
+ };
+ break;
+ case 'fillPath':
+ s = {
+ d: this.opsToPath(a),
+ stroke: ao,
+ strokeWidth: 0,
+ fill: n.fill || ao
+ };
+ break;
+ case 'fillSketch':
+ s = this.fillSketch(a, n);
+ }
+ s && i.push(s);
+ }
+ return i;
+ }
+ fillSketch(e, r) {
+ let n = r.fillWeight;
+ return (
+ n < 0 && (n = r.strokeWidth / 2),
+ {
+ d: this.opsToPath(e),
+ stroke: r.fill || ao,
+ strokeWidth: n,
+ fill: ao
+ }
+ );
+ }
+ _mergedShape(e) {
+ return e.filter((r, n) => n === 0 || r.op !== 'move');
+ }
+ }),
+ (H9 = class {
+ static {
+ o(this, 'st');
+ }
+ constructor(e, r) {
+ (this.canvas = e), (this.ctx = this.canvas.getContext('2d')), (this.gen = new gm(r));
+ }
+ draw(e) {
+ let r = e.sets || [],
+ n = e.options || this.getDefaultOptions(),
+ i = this.ctx,
+ a = e.options.fixedDecimalPlaceDigits;
+ for (let s of r)
+ switch (s.type) {
+ case 'path':
+ i.save(),
+ (i.strokeStyle = n.stroke === 'none' ? 'transparent' : n.stroke),
+ (i.lineWidth = n.strokeWidth),
+ n.strokeLineDash && i.setLineDash(n.strokeLineDash),
+ n.strokeLineDashOffset && (i.lineDashOffset = n.strokeLineDashOffset),
+ this._drawToContext(i, s, a),
+ i.restore();
+ break;
+ case 'fillPath': {
+ i.save(), (i.fillStyle = n.fill || '');
+ let l =
+ e.shape === 'curve' || e.shape === 'polygon' || e.shape === 'path'
+ ? 'evenodd'
+ : 'nonzero';
+ this._drawToContext(i, s, a, l), i.restore();
+ break;
+ }
+ case 'fillSketch':
+ this.fillSketch(i, s, n);
+ }
+ }
+ fillSketch(e, r, n) {
+ let i = n.fillWeight;
+ i < 0 && (i = n.strokeWidth / 2),
+ e.save(),
+ n.fillLineDash && e.setLineDash(n.fillLineDash),
+ n.fillLineDashOffset && (e.lineDashOffset = n.fillLineDashOffset),
+ (e.strokeStyle = n.fill || ''),
+ (e.lineWidth = i),
+ this._drawToContext(e, r, n.fixedDecimalPlaceDigits),
+ e.restore();
+ }
+ _drawToContext(e, r, n, i = 'nonzero') {
+ e.beginPath();
+ for (let a of r.ops) {
+ let s = typeof n == 'number' && n >= 0 ? a.data.map((l) => +l.toFixed(n)) : a.data;
+ switch (a.op) {
+ case 'move':
+ e.moveTo(s[0], s[1]);
+ break;
+ case 'bcurveTo':
+ e.bezierCurveTo(s[0], s[1], s[2], s[3], s[4], s[5]);
+ break;
+ case 'lineTo':
+ e.lineTo(s[0], s[1]);
+ }
+ }
+ r.type === 'fillPath' ? e.fill(i) : e.stroke();
+ }
+ get generator() {
+ return this.gen;
+ }
+ getDefaultOptions() {
+ return this.gen.defaultOptions;
+ }
+ line(e, r, n, i, a) {
+ let s = this.gen.line(e, r, n, i, a);
+ return this.draw(s), s;
+ }
+ rectangle(e, r, n, i, a) {
+ let s = this.gen.rectangle(e, r, n, i, a);
+ return this.draw(s), s;
+ }
+ ellipse(e, r, n, i, a) {
+ let s = this.gen.ellipse(e, r, n, i, a);
+ return this.draw(s), s;
+ }
+ circle(e, r, n, i) {
+ let a = this.gen.circle(e, r, n, i);
+ return this.draw(a), a;
+ }
+ linearPath(e, r) {
+ let n = this.gen.linearPath(e, r);
+ return this.draw(n), n;
+ }
+ polygon(e, r) {
+ let n = this.gen.polygon(e, r);
+ return this.draw(n), n;
+ }
+ arc(e, r, n, i, a, s, l = !1, u) {
+ let h = this.gen.arc(e, r, n, i, a, s, l, u);
+ return this.draw(h), h;
+ }
+ curve(e, r) {
+ let n = this.gen.curve(e, r);
+ return this.draw(n), n;
+ }
+ path(e, r) {
+ let n = this.gen.path(e, r);
+ return this.draw(n), n;
+ }
+ }),
+ (B5 = 'http://www.w3.org/2000/svg'),
+ (Y9 = class {
+ static {
+ o(this, 'ot');
+ }
+ constructor(e, r) {
+ (this.svg = e), (this.gen = new gm(r));
+ }
+ draw(e) {
+ let r = e.sets || [],
+ n = e.options || this.getDefaultOptions(),
+ i = this.svg.ownerDocument || window.document,
+ a = i.createElementNS(B5, 'g'),
+ s = e.options.fixedDecimalPlaceDigits;
+ for (let l of r) {
+ let u = null;
+ switch (l.type) {
+ case 'path':
+ (u = i.createElementNS(B5, 'path')),
+ u.setAttribute('d', this.opsToPath(l, s)),
+ u.setAttribute('stroke', n.stroke),
+ u.setAttribute('stroke-width', n.strokeWidth + ''),
+ u.setAttribute('fill', 'none'),
+ n.strokeLineDash &&
+ u.setAttribute('stroke-dasharray', n.strokeLineDash.join(' ').trim()),
+ n.strokeLineDashOffset &&
+ u.setAttribute('stroke-dashoffset', `${n.strokeLineDashOffset}`);
+ break;
+ case 'fillPath':
+ (u = i.createElementNS(B5, 'path')),
+ u.setAttribute('d', this.opsToPath(l, s)),
+ u.setAttribute('stroke', 'none'),
+ u.setAttribute('stroke-width', '0'),
+ u.setAttribute('fill', n.fill || ''),
+ (e.shape !== 'curve' && e.shape !== 'polygon') ||
+ u.setAttribute('fill-rule', 'evenodd');
+ break;
+ case 'fillSketch':
+ u = this.fillSketch(i, l, n);
+ }
+ u && a.appendChild(u);
+ }
+ return a;
+ }
+ fillSketch(e, r, n) {
+ let i = n.fillWeight;
+ i < 0 && (i = n.strokeWidth / 2);
+ let a = e.createElementNS(B5, 'path');
+ return (
+ a.setAttribute('d', this.opsToPath(r, n.fixedDecimalPlaceDigits)),
+ a.setAttribute('stroke', n.fill || ''),
+ a.setAttribute('stroke-width', i + ''),
+ a.setAttribute('fill', 'none'),
+ n.fillLineDash && a.setAttribute('stroke-dasharray', n.fillLineDash.join(' ').trim()),
+ n.fillLineDashOffset && a.setAttribute('stroke-dashoffset', `${n.fillLineDashOffset}`),
+ a
+ );
+ }
+ get generator() {
+ return this.gen;
+ }
+ getDefaultOptions() {
+ return this.gen.defaultOptions;
+ }
+ opsToPath(e, r) {
+ return this.gen.opsToPath(e, r);
+ }
+ line(e, r, n, i, a) {
+ let s = this.gen.line(e, r, n, i, a);
+ return this.draw(s);
+ }
+ rectangle(e, r, n, i, a) {
+ let s = this.gen.rectangle(e, r, n, i, a);
+ return this.draw(s);
+ }
+ ellipse(e, r, n, i, a) {
+ let s = this.gen.ellipse(e, r, n, i, a);
+ return this.draw(s);
+ }
+ circle(e, r, n, i) {
+ let a = this.gen.circle(e, r, n, i);
+ return this.draw(a);
+ }
+ linearPath(e, r) {
+ let n = this.gen.linearPath(e, r);
+ return this.draw(n);
+ }
+ polygon(e, r) {
+ let n = this.gen.polygon(e, r);
+ return this.draw(n);
+ }
+ arc(e, r, n, i, a, s, l = !1, u) {
+ let h = this.gen.arc(e, r, n, i, a, s, l, u);
+ return this.draw(h);
+ }
+ curve(e, r) {
+ let n = this.gen.curve(e, r);
+ return this.draw(n);
+ }
+ path(e, r) {
+ let n = this.gen.path(e, r);
+ return this.draw(n);
+ }
+ }),
+ (Jt = {
+ canvas: o((t, e) => new H9(t, e), 'canvas'),
+ svg: o((t, e) => new Y9(t, e), 'svg'),
+ generator: o((t) => new gm(t), 'generator'),
+ newSeed: o(() => gm.newSeed(), 'newSeed')
+ });
+ });
+ var wSe,
+ Dd,
+ q9 = R(() => {
+ 'use strict';
+ (wSe = o((t, e) => {
+ var r = t.x,
+ n = t.y,
+ i = e.x - r,
+ a = e.y - n,
+ s = t.width / 2,
+ l = t.height / 2,
+ u,
+ h;
+ return (
+ Math.abs(a) * s > Math.abs(i) * l
+ ? (a < 0 && (l = -l), (u = a === 0 ? 0 : (l * i) / a), (h = l))
+ : (i < 0 && (s = -s), (u = s), (h = i === 0 ? 0 : (s * a) / i)),
+ { x: r + u, y: n + h }
+ );
+ }, 'intersectRect')),
+ (Dd = wSe);
+ });
+ function TSe(t, e) {
+ e && t.attr('style', e);
+ }
+ async function kSe(t) {
+ let e = $e(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')),
+ r = e.append('xhtml:div'),
+ n = t.label;
+ t.label &&
+ Ni(t.label) &&
+ (n = await yh(
+ t.label.replace(
+ We.lineBreakRegex,
+ `
+`
+ ),
+ de()
+ ));
+ let i = t.isNode ? 'nodeLabel' : 'edgeLabel';
+ return (
+ r.html(
+ '' + n + ''
+ ),
+ TSe(r, t.labelStyle),
+ r.style('display', 'inline-block'),
+ r.style('padding-right', '1px'),
+ r.style('white-space', 'nowrap'),
+ r.attr('xmlns', 'http://www.w3.org/1999/xhtml'),
+ e.node()
+ );
+ }
+ var ESe,
+ gc,
+ H5 = R(() => {
+ 'use strict';
+ Zt();
+ ut();
+ _t();
+ rr();
+ xr();
+ o(TSe, 'applyStyle');
+ o(kSe, 'addHtmlLabel');
+ (ESe = o(async (t, e, r, n) => {
+ let i = t || '';
+ if ((typeof i == 'object' && (i = i[0]), yr(de().flowchart.htmlLabels))) {
+ (i = i.replace(/\\n|\n/g, '
')), V.info('vertexText' + i);
+ let a = {
+ isNode: n,
+ label: to(i).replace(/fa[blrs]?:fa-[\w-]+/g, (l) => ``),
+ labelStyle: e && e.replace('fill:', 'color:')
+ };
+ return await kSe(a);
+ } else {
+ let a = document.createElementNS('http://www.w3.org/2000/svg', 'text');
+ a.setAttribute('style', e.replace('color:', 'fill:'));
+ let s = [];
+ typeof i == 'string' ? (s = i.split(/\\n|\n|
/gi)) : Array.isArray(i) ? (s = i) : (s = []);
+ for (let l of s) {
+ let u = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ u.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'),
+ u.setAttribute('dy', '1em'),
+ u.setAttribute('x', '0'),
+ r ? u.setAttribute('class', 'title-row') : u.setAttribute('class', 'row'),
+ (u.textContent = l.trim()),
+ a.appendChild(u);
+ }
+ return a;
+ }
+ }, 'createLabel')),
+ (gc = ESe);
+ });
+ var _u,
+ Sv = R(() => {
+ 'use strict';
+ _u = o(
+ (t, e, r, n, i) =>
+ [
+ 'M',
+ t + i,
+ e,
+ 'H',
+ t + r - i,
+ 'A',
+ i,
+ i,
+ 0,
+ 0,
+ 1,
+ t + r,
+ e + i,
+ 'V',
+ e + n - i,
+ 'A',
+ i,
+ i,
+ 0,
+ 0,
+ 1,
+ t + r - i,
+ e + n,
+ 'H',
+ t + i,
+ 'A',
+ i,
+ i,
+ 0,
+ 0,
+ 1,
+ t,
+ e + n - i,
+ 'V',
+ e + i,
+ 'A',
+ i,
+ i,
+ 0,
+ 0,
+ 1,
+ t + i,
+ e,
+ 'Z'
+ ].join(' '),
+ 'createRoundedRectPathD'
+ );
+ });
+ var Lu,
+ Jj,
+ CSe,
+ Br,
+ Fr,
+ ki = R(() => {
+ 'use strict';
+ _t();
+ (Lu = o((t) => {
+ let { handDrawnSeed: e } = de();
+ return {
+ fill: t,
+ hachureAngle: 120,
+ hachureGap: 4,
+ fillWeight: 2,
+ roughness: 0.7,
+ stroke: t,
+ seed: e
+ };
+ }, 'solidStateFill')),
+ (Jj = o((t) => {
+ let e = CSe([...(t.cssCompiledStyles || []), ...(t.cssStyles || [])]);
+ return { stylesMap: e, stylesArray: [...e] };
+ }, 'compileStyles')),
+ (CSe = o((t) => {
+ let e = new Map();
+ return (
+ t.forEach((r) => {
+ let [n, i] = r.split(':');
+ e.set(n.trim(), i?.trim());
+ }),
+ e
+ );
+ }, 'styles2Map')),
+ (Br = o((t) => {
+ let { stylesArray: e } = Jj(t),
+ r = [],
+ n = [],
+ i = [],
+ a = [];
+ return (
+ e.forEach((s) => {
+ let l = s[0];
+ l === 'color' ||
+ l === 'font-size' ||
+ l === 'font-family' ||
+ l === 'font-weight' ||
+ l === 'font-style' ||
+ l === 'text-decoration' ||
+ l === 'text-align' ||
+ l === 'text-transform' ||
+ l === 'line-height' ||
+ l === 'letter-spacing' ||
+ l === 'word-spacing' ||
+ l === 'text-shadow' ||
+ l === 'text-overflow' ||
+ l === 'white-space' ||
+ l === 'word-wrap' ||
+ l === 'word-break' ||
+ l === 'overflow-wrap' ||
+ l === 'hyphens'
+ ? r.push(s.join(':') + ' !important')
+ : (n.push(s.join(':') + ' !important'),
+ l.includes('stroke') && i.push(s.join(':') + ' !important'),
+ l === 'fill' && a.push(s.join(':') + ' !important'));
+ }),
+ {
+ labelStyles: r.join(';'),
+ nodeStyles: n.join(';'),
+ stylesArray: e,
+ borderStyles: i,
+ backgroundStyles: a
+ }
+ );
+ }, 'styles2String')),
+ (Fr = o((t, e) => {
+ let { themeVariables: r, handDrawnSeed: n } = de(),
+ { nodeBorder: i, mainBkg: a } = r,
+ { stylesMap: s } = Jj(t);
+ return Object.assign(
+ {
+ roughness: 0.7,
+ fill: s.get('fill') || a,
+ fillStyle: 'hachure',
+ fillWeight: 4,
+ stroke: s.get('stroke') || i,
+ seed: n,
+ strokeWidth: 1.3
+ },
+ e
+ );
+ }, 'userNodeOverrides'));
+ });
+ var eK,
+ SSe,
+ ASe,
+ _Se,
+ LSe,
+ DSe,
+ tK,
+ Y5,
+ rK,
+ X9 = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ ut();
+ _d();
+ Zt();
+ ti();
+ Al();
+ q9();
+ H5();
+ Sv();
+ ki();
+ (eK = o(async (t, e) => {
+ V.info('Creating subgraph rect for ', e.id, e);
+ let r = de(),
+ { themeVariables: n, handDrawnSeed: i } = r,
+ { clusterBkg: a, clusterBorder: s } = n,
+ { labelStyles: l, nodeStyles: u, borderStyles: h, backgroundStyles: f } = Br(e),
+ d = t
+ .insert('g')
+ .attr('class', 'cluster ' + e.cssClasses)
+ .attr('id', e.id)
+ .attr('data-look', e.look),
+ p = yr(r.flowchart.htmlLabels),
+ m = d.insert('g').attr('class', 'cluster-label '),
+ g = await ta(m, e.label, {
+ style: e.labelStyle,
+ useHtmlLabels: p,
+ isNode: !0
+ }),
+ y = g.getBBox();
+ if (yr(r.flowchart.htmlLabels)) {
+ let _ = g.children[0],
+ A = $e(g);
+ (y = _.getBoundingClientRect()), A.attr('width', y.width), A.attr('height', y.height);
+ }
+ let v = e.width <= y.width + e.padding ? y.width + e.padding : e.width;
+ e.width <= y.width + e.padding ? (e.diff = (v - e.width) / 2 - e.padding) : (e.diff = -e.padding);
+ let x = e.height,
+ b = e.x - v / 2,
+ w = e.y - x / 2;
+ V.trace('Data ', e, JSON.stringify(e));
+ let S;
+ if (e.look === 'handDrawn') {
+ let _ = Jt.svg(d),
+ A = Fr(e, {
+ roughness: 0.7,
+ fill: a,
+ stroke: s,
+ fillWeight: 3,
+ seed: i
+ }),
+ L = _.path(_u(b, w, v, x, 0), A);
+ (S = d.insert(() => (V.debug('Rough node insert CXC', L), L), ':first-child')),
+ S.select('path:nth-child(2)').attr('style', h.join(';')),
+ S.select('path').attr('style', f.join(';').replace('fill', 'stroke'));
+ } else
+ (S = d.insert('rect', ':first-child')),
+ S.attr('style', u)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', b)
+ .attr('y', w)
+ .attr('width', v)
+ .attr('height', x);
+ let { subGraphTitleTopMargin: T } = io(r);
+ if ((m.attr('transform', `translate(${e.x - y.width / 2}, ${e.y - e.height / 2 + T})`), l)) {
+ let _ = m.select('span');
+ _ && _.attr('style', l);
+ }
+ let E = S.node().getBBox();
+ return (
+ (e.offsetX = 0),
+ (e.width = E.width),
+ (e.height = E.height),
+ (e.offsetY = y.height - e.padding / 2),
+ (e.intersect = function (_) {
+ return Dd(e, _);
+ }),
+ { cluster: d, labelBBox: y }
+ );
+ }, 'rect')),
+ (SSe = o((t, e) => {
+ let r = t.insert('g').attr('class', 'note-cluster').attr('id', e.id),
+ n = r.insert('rect', ':first-child'),
+ i = 0 * e.padding,
+ a = i / 2;
+ n.attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', e.x - e.width / 2 - a)
+ .attr('y', e.y - e.height / 2 - a)
+ .attr('width', e.width + i)
+ .attr('height', e.height + i)
+ .attr('fill', 'none');
+ let s = n.node().getBBox();
+ return (
+ (e.width = s.width),
+ (e.height = s.height),
+ (e.intersect = function (l) {
+ return Dd(e, l);
+ }),
+ { cluster: r, labelBBox: { width: 0, height: 0 } }
+ );
+ }, 'noteGroup')),
+ (ASe = o(async (t, e) => {
+ let r = de(),
+ { themeVariables: n, handDrawnSeed: i } = r,
+ { altBackground: a, compositeBackground: s, compositeTitleBackground: l, nodeBorder: u } = n,
+ h = t
+ .insert('g')
+ .attr('class', e.cssClasses)
+ .attr('id', e.id)
+ .attr('data-id', e.id)
+ .attr('data-look', e.look),
+ f = h.insert('g', ':first-child'),
+ d = h.insert('g').attr('class', 'cluster-label'),
+ p = h.append('rect'),
+ m = d.node().appendChild(await gc(e.label, e.labelStyle, void 0, !0)),
+ g = m.getBBox();
+ if (yr(r.flowchart.htmlLabels)) {
+ let L = m.children[0],
+ M = $e(m);
+ (g = L.getBoundingClientRect()), M.attr('width', g.width), M.attr('height', g.height);
+ }
+ let y = 0 * e.padding,
+ v = y / 2,
+ x = (e.width <= g.width + e.padding ? g.width + e.padding : e.width) + y;
+ e.width <= g.width + e.padding ? (e.diff = (x - e.width) / 2 - e.padding) : (e.diff = -e.padding);
+ let b = e.height + y,
+ w = e.height + y - g.height - 6,
+ S = e.x - x / 2,
+ T = e.y - b / 2;
+ e.width = x;
+ let E = e.y - e.height / 2 - v + g.height + 2,
+ _;
+ if (e.look === 'handDrawn') {
+ let L = e.cssClasses.includes('statediagram-cluster-alt'),
+ M = Jt.svg(h),
+ N =
+ e.rx || e.ry
+ ? M.path(_u(S, T, x, b, 10), {
+ roughness: 0.7,
+ fill: l,
+ fillStyle: 'solid',
+ stroke: u,
+ seed: i
+ })
+ : M.rectangle(S, T, x, b, { seed: i });
+ _ = h.insert(() => N, ':first-child');
+ let k = M.rectangle(S, E, x, w, {
+ fill: L ? a : s,
+ fillStyle: L ? 'hachure' : 'solid',
+ stroke: u,
+ seed: i
+ });
+ (_ = h.insert(() => N, ':first-child')), (p = h.insert(() => k));
+ } else
+ (_ = f.insert('rect', ':first-child')),
+ _.attr('class', 'outer')
+ .attr('x', S)
+ .attr('y', T)
+ .attr('width', x)
+ .attr('height', b)
+ .attr('data-look', e.look),
+ p.attr('class', 'inner').attr('x', S).attr('y', E).attr('width', x).attr('height', w);
+ d.attr(
+ 'transform',
+ `translate(${e.x - g.width / 2}, ${T + 1 - (yr(r.flowchart.htmlLabels) ? 0 : 3)})`
+ );
+ let A = _.node().getBBox();
+ return (
+ (e.height = A.height),
+ (e.offsetX = 0),
+ (e.offsetY = g.height - e.padding / 2),
+ (e.labelBBox = g),
+ (e.intersect = function (L) {
+ return Dd(e, L);
+ }),
+ { cluster: h, labelBBox: g }
+ );
+ }, 'roundedWithTitle')),
+ (_Se = o((t, e) => {
+ let r = de(),
+ { themeVariables: n, handDrawnSeed: i } = r,
+ { nodeBorder: a } = n,
+ s = t.insert('g').attr('class', e.cssClasses).attr('id', e.id).attr('data-look', e.look),
+ l = s.insert('g', ':first-child'),
+ u = 0 * e.padding,
+ h = e.width + u;
+ e.diff = -e.padding;
+ let f = e.height + u,
+ d = e.x - h / 2,
+ p = e.y - f / 2;
+ e.width = h;
+ let m;
+ if (e.look === 'handDrawn') {
+ let v = Jt.svg(s).rectangle(d, p, h, f, {
+ fill: 'lightgrey',
+ roughness: 0.5,
+ strokeLineDash: [5],
+ stroke: a,
+ seed: i
+ });
+ m = s.insert(() => v, ':first-child');
+ } else
+ (m = l.insert('rect', ':first-child')),
+ m
+ .attr('class', 'divider')
+ .attr('x', d)
+ .attr('y', p)
+ .attr('width', h)
+ .attr('height', f)
+ .attr('data-look', e.look);
+ let g = m.node().getBBox();
+ return (
+ (e.height = g.height),
+ (e.offsetX = 0),
+ (e.offsetY = 0),
+ (e.intersect = function (y) {
+ return Dd(e, y);
+ }),
+ { cluster: s, labelBBox: {} }
+ );
+ }, 'divider')),
+ (LSe = eK),
+ (DSe = {
+ rect: eK,
+ squareRect: LSe,
+ roundedWithTitle: ASe,
+ noteGroup: SSe,
+ divider: _Se
+ }),
+ (tK = new Map()),
+ (Y5 = o(async (t, e) => {
+ let r = e.shape || 'rect',
+ n = await DSe[r](t, e);
+ return tK.set(e.id, n), n;
+ }, 'insertCluster')),
+ (rK = o(() => {
+ tK = new Map();
+ }, 'clear'));
+ });
+ function W5(t, e) {
+ if (t === void 0 || e === void 0) return { angle: 0, deltaX: 0, deltaY: 0 };
+ (t = q5(t)), (e = q5(e));
+ let [r, n] = [t.x, t.y],
+ [i, a] = [e.x, e.y],
+ s = i - r,
+ l = a - n;
+ return { angle: Math.atan(l / s), deltaX: s, deltaY: l };
+ }
+ var Uh,
+ q5,
+ X5,
+ j9 = R(() => {
+ 'use strict';
+ Uh = {
+ aggregation: 18,
+ extension: 18,
+ composition: 18,
+ dependency: 6,
+ lollipop: 13.5,
+ arrow_point: 4
+ };
+ o(W5, 'calculateDeltaAndAngle');
+ (q5 = o((t) => (Array.isArray(t) ? { x: t[0], y: t[1] } : t), 'pointTransformer')),
+ (X5 = o(
+ (t) => ({
+ x: o(function (e, r, n) {
+ let i = 0;
+ if (r === 0 && Object.hasOwn(Uh, t.arrowTypeStart)) {
+ let { angle: a, deltaX: s } = W5(n[0], n[1]);
+ i = Uh[t.arrowTypeStart] * Math.cos(a) * (s >= 0 ? 1 : -1);
+ } else if (r === n.length - 1 && Object.hasOwn(Uh, t.arrowTypeEnd)) {
+ let { angle: a, deltaX: s } = W5(n[n.length - 1], n[n.length - 2]);
+ i = Uh[t.arrowTypeEnd] * Math.cos(a) * (s >= 0 ? 1 : -1);
+ }
+ return q5(e).x + i;
+ }, 'x'),
+ y: o(function (e, r, n) {
+ let i = 0;
+ if (r === 0 && Object.hasOwn(Uh, t.arrowTypeStart)) {
+ let { angle: a, deltaY: s } = W5(n[0], n[1]);
+ i = Uh[t.arrowTypeStart] * Math.abs(Math.sin(a)) * (s >= 0 ? 1 : -1);
+ } else if (r === n.length - 1 && Object.hasOwn(Uh, t.arrowTypeEnd)) {
+ let { angle: a, deltaY: s } = W5(n[n.length - 1], n[n.length - 2]);
+ i = Uh[t.arrowTypeEnd] * Math.abs(Math.sin(a)) * (s >= 0 ? 1 : -1);
+ }
+ return q5(e).y + i;
+ }, 'y')
+ }),
+ 'getLineFunctionsWithOffset'
+ ));
+ });
+ var iK,
+ RSe,
+ nK,
+ aK = R(() => {
+ 'use strict';
+ ut();
+ (iK = o((t, e, r, n, i) => {
+ e.arrowTypeStart && nK(t, 'start', e.arrowTypeStart, r, n, i),
+ e.arrowTypeEnd && nK(t, 'end', e.arrowTypeEnd, r, n, i);
+ }, 'addEdgeMarkers')),
+ (RSe = {
+ arrow_cross: 'cross',
+ arrow_point: 'point',
+ arrow_barb: 'barb',
+ arrow_circle: 'circle',
+ aggregation: 'aggregation',
+ extension: 'extension',
+ composition: 'composition',
+ dependency: 'dependency',
+ lollipop: 'lollipop'
+ }),
+ (nK = o((t, e, r, n, i, a) => {
+ let s = RSe[r];
+ if (!s) {
+ V.warn(`Unknown arrow type: ${r}`);
+ return;
+ }
+ let l = e === 'start' ? 'Start' : 'End';
+ t.attr(`marker-${e}`, `url(${n}#${i}_${a}-${s}${l})`);
+ }, 'addEdgeMarker'));
+ });
+ function j5(t, e) {
+ de().flowchart.htmlLabels && t && ((t.style.width = e.length * 9 + 'px'), (t.style.height = '12px'));
+ }
+ function ISe(t) {
+ let e = [],
+ r = [];
+ for (let n = 1; n < t.length - 1; n++) {
+ let i = t[n - 1],
+ a = t[n],
+ s = t[n + 1];
+ ((i.x === a.x && a.y === s.y && Math.abs(a.x - s.x) > 5 && Math.abs(a.y - i.y) > 5) ||
+ (i.y === a.y && a.x === s.x && Math.abs(a.x - i.x) > 5 && Math.abs(a.y - s.y) > 5)) &&
+ (e.push(a), r.push(n));
+ }
+ return { cornerPoints: e, cornerPointPositions: r };
+ }
+ var K5,
+ da,
+ lK,
+ Av,
+ Q5,
+ Z5,
+ NSe,
+ MSe,
+ sK,
+ oK,
+ OSe,
+ J5,
+ K9 = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ ut();
+ Al();
+ xr();
+ j9();
+ _d();
+ Zt();
+ ti();
+ H5();
+ aK();
+ (K5 = new Map()),
+ (da = new Map()),
+ (lK = o(() => {
+ K5.clear(), da.clear();
+ }, 'clear')),
+ (Av = o((t) => (t ? t.reduce((r, n) => r + ';' + n, '') : ''), 'getLabelStyles')),
+ (Q5 = o(async (t, e) => {
+ let r = yr(de().flowchart.htmlLabels),
+ n = await ta(t, e.label, {
+ style: Av(e.labelStyle),
+ useHtmlLabels: r,
+ addSvgBackground: !0,
+ isNode: !1
+ });
+ V.info('abc82', e, e.labelType);
+ let i = t.insert('g').attr('class', 'edgeLabel'),
+ a = i.insert('g').attr('class', 'label');
+ a.node().appendChild(n);
+ let s = n.getBBox();
+ if (r) {
+ let u = n.children[0],
+ h = $e(n);
+ (s = u.getBoundingClientRect()), h.attr('width', s.width), h.attr('height', s.height);
+ }
+ a.attr('transform', 'translate(' + -s.width / 2 + ', ' + -s.height / 2 + ')'),
+ K5.set(e.id, i),
+ (e.width = s.width),
+ (e.height = s.height);
+ let l;
+ if (e.startLabelLeft) {
+ let u = await gc(e.startLabelLeft, Av(e.labelStyle)),
+ h = t.insert('g').attr('class', 'edgeTerminals'),
+ f = h.insert('g').attr('class', 'inner');
+ l = f.node().appendChild(u);
+ let d = u.getBBox();
+ f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'),
+ da.get(e.id) || da.set(e.id, {}),
+ (da.get(e.id).startLeft = h),
+ j5(l, e.startLabelLeft);
+ }
+ if (e.startLabelRight) {
+ let u = await gc(e.startLabelRight, Av(e.labelStyle)),
+ h = t.insert('g').attr('class', 'edgeTerminals'),
+ f = h.insert('g').attr('class', 'inner');
+ (l = h.node().appendChild(u)), f.node().appendChild(u);
+ let d = u.getBBox();
+ f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'),
+ da.get(e.id) || da.set(e.id, {}),
+ (da.get(e.id).startRight = h),
+ j5(l, e.startLabelRight);
+ }
+ if (e.endLabelLeft) {
+ let u = await gc(e.endLabelLeft, Av(e.labelStyle)),
+ h = t.insert('g').attr('class', 'edgeTerminals'),
+ f = h.insert('g').attr('class', 'inner');
+ l = f.node().appendChild(u);
+ let d = u.getBBox();
+ f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'),
+ h.node().appendChild(u),
+ da.get(e.id) || da.set(e.id, {}),
+ (da.get(e.id).endLeft = h),
+ j5(l, e.endLabelLeft);
+ }
+ if (e.endLabelRight) {
+ let u = await gc(e.endLabelRight, Av(e.labelStyle)),
+ h = t.insert('g').attr('class', 'edgeTerminals'),
+ f = h.insert('g').attr('class', 'inner');
+ l = f.node().appendChild(u);
+ let d = u.getBBox();
+ f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'),
+ h.node().appendChild(u),
+ da.get(e.id) || da.set(e.id, {}),
+ (da.get(e.id).endRight = h),
+ j5(l, e.endLabelRight);
+ }
+ return n;
+ }, 'insertEdgeLabel'));
+ o(j5, 'setTerminalWidth');
+ (Z5 = o((t, e) => {
+ V.debug('Moving label abc88 ', t.id, t.label, K5.get(t.id), e);
+ let r = e.updatedPath ? e.updatedPath : e.originalPath,
+ n = de(),
+ { subGraphTitleTotalMargin: i } = io(n);
+ if (t.label) {
+ let a = K5.get(t.id),
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcLabelPosition(r);
+ V.debug('Moving label ' + t.label + ' from (', s, ',', l, ') to (', u.x, ',', u.y, ') abc88'),
+ e.updatedPath && ((s = u.x), (l = u.y));
+ }
+ a.attr('transform', `translate(${s}, ${l + i / 2})`);
+ }
+ if (t.startLabelLeft) {
+ let a = da.get(t.id).startLeft,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_left', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.startLabelRight) {
+ let a = da.get(t.id).startRight,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_right', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.endLabelLeft) {
+ let a = da.get(t.id).endLeft,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_left', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.endLabelRight) {
+ let a = da.get(t.id).endRight,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_right', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ }, 'positionEdgeLabel')),
+ (NSe = o((t, e) => {
+ let r = t.x,
+ n = t.y,
+ i = Math.abs(e.x - r),
+ a = Math.abs(e.y - n),
+ s = t.width / 2,
+ l = t.height / 2;
+ return i >= s || a >= l;
+ }, 'outsideNode')),
+ (MSe = o((t, e, r) => {
+ V.debug(`intersection calc abc89:
+ outsidePoint: ${JSON.stringify(e)}
+ insidePoint : ${JSON.stringify(r)}
+ node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);
+ let n = t.x,
+ i = t.y,
+ a = Math.abs(n - r.x),
+ s = t.width / 2,
+ l = r.x < e.x ? s - a : s + a,
+ u = t.height / 2,
+ h = Math.abs(e.y - r.y),
+ f = Math.abs(e.x - r.x);
+ if (Math.abs(i - e.y) * s > Math.abs(n - e.x) * u) {
+ let d = r.y < e.y ? e.y - u - i : i - u - e.y;
+ l = (f * d) / h;
+ let p = {
+ x: r.x < e.x ? r.x + l : r.x - f + l,
+ y: r.y < e.y ? r.y + h - d : r.y - h + d
+ };
+ return (
+ l === 0 && ((p.x = e.x), (p.y = e.y)),
+ f === 0 && (p.x = e.x),
+ h === 0 && (p.y = e.y),
+ V.debug(`abc89 top/bottom calc, Q ${h}, q ${d}, R ${f}, r ${l}`, p),
+ p
+ );
+ } else {
+ r.x < e.x ? (l = e.x - s - n) : (l = n - s - e.x);
+ let d = (h * l) / f,
+ p = r.x < e.x ? r.x + f - l : r.x - f + l,
+ m = r.y < e.y ? r.y + d : r.y - d;
+ return (
+ V.debug(`sides calc abc89, Q ${h}, q ${d}, R ${f}, r ${l}`, {
+ _x: p,
+ _y: m
+ }),
+ l === 0 && ((p = e.x), (m = e.y)),
+ f === 0 && (p = e.x),
+ h === 0 && (m = e.y),
+ { x: p, y: m }
+ );
+ }
+ }, 'intersection')),
+ (sK = o((t, e) => {
+ V.warn('abc88 cutPathAtIntersect', t, e);
+ let r = [],
+ n = t[0],
+ i = !1;
+ return (
+ t.forEach((a) => {
+ if ((V.info('abc88 checking point', a, e), !NSe(e, a) && !i)) {
+ let s = MSe(e, n, a);
+ V.debug('abc88 inside', a, n, s), V.debug('abc88 intersection', s, e);
+ let l = !1;
+ r.forEach((u) => {
+ l = l || (u.x === s.x && u.y === s.y);
+ }),
+ r.some((u) => u.x === s.x && u.y === s.y)
+ ? V.warn('abc88 no intersect', s, r)
+ : r.push(s),
+ (i = !0);
+ } else V.warn('abc88 outside', a, n), (n = a), i || r.push(a);
+ }),
+ V.debug('returning points', r),
+ r
+ );
+ }, 'cutPathAtIntersect'));
+ o(ISe, 'extractCornerPoints');
+ (oK = o(function (t, e, r) {
+ let n = e.x - t.x,
+ i = e.y - t.y,
+ a = Math.sqrt(n * n + i * i),
+ s = r / a;
+ return { x: e.x - s * n, y: e.y - s * i };
+ }, 'findAdjacentPoint')),
+ (OSe = o(function (t) {
+ let { cornerPointPositions: e } = ISe(t),
+ r = [];
+ for (let n = 0; n < t.length; n++)
+ if (e.includes(n)) {
+ let i = t[n - 1],
+ a = t[n + 1],
+ s = t[n],
+ l = oK(i, s, 5),
+ u = oK(a, s, 5),
+ h = u.x - l.x,
+ f = u.y - l.y;
+ r.push(l);
+ let d = Math.sqrt(2) * 2,
+ p = { x: s.x, y: s.y };
+ if (Math.abs(a.x - i.x) > 10 && Math.abs(a.y - i.y) >= 10) {
+ V.debug('Corner point fixing', Math.abs(a.x - i.x), Math.abs(a.y - i.y));
+ let m = 5;
+ s.x === l.x
+ ? (p = {
+ x: h < 0 ? l.x - m + d : l.x + m - d,
+ y: f < 0 ? l.y - d : l.y + d
+ })
+ : (p = {
+ x: h < 0 ? l.x - d : l.x + d,
+ y: f < 0 ? l.y - m + d : l.y + m - d
+ });
+ } else V.debug('Corner point skipping fixing', Math.abs(a.x - i.x), Math.abs(a.y - i.y));
+ r.push(p, u);
+ } else r.push(t[n]);
+ return r;
+ }, 'fixCorners')),
+ (J5 = o(function (t, e, r, n, i, a, s) {
+ let { handDrawnSeed: l } = de(),
+ u = e.points,
+ h = !1,
+ f = i;
+ var d = a;
+ d.intersect &&
+ f.intersect &&
+ ((u = u.slice(1, e.points.length - 1)),
+ u.unshift(f.intersect(u[0])),
+ V.debug(
+ 'Last point APA12',
+ e.start,
+ '-->',
+ e.end,
+ u[u.length - 1],
+ d,
+ d.intersect(u[u.length - 1])
+ ),
+ u.push(d.intersect(u[u.length - 1]))),
+ e.toCluster &&
+ (V.info('to cluster abc88', r.get(e.toCluster)),
+ (u = sK(e.points, r.get(e.toCluster).node)),
+ (h = !0)),
+ e.fromCluster &&
+ (V.debug('from cluster abc88', r.get(e.fromCluster), JSON.stringify(u, null, 2)),
+ (u = sK(u.reverse(), r.get(e.fromCluster).node).reverse()),
+ (h = !0));
+ let p = u.filter((A) => !Number.isNaN(A.y));
+ p = OSe(p);
+ let m = p[p.length - 1];
+ if (p.length > 1) {
+ m = p[p.length - 1];
+ let A = p[p.length - 2],
+ L = (m.x - A.x) / 2,
+ M = (m.y - A.y) / 2,
+ N = { x: A.x + L, y: A.y + M };
+ p.splice(-1, 0, N);
+ }
+ let g = vs;
+ e.curve && (g = e.curve);
+ let { x: y, y: v } = X5(e),
+ x = ha().x(y).y(v).curve(g),
+ b;
+ switch (e.thickness) {
+ case 'normal':
+ b = 'edge-thickness-normal';
+ break;
+ case 'thick':
+ b = 'edge-thickness-thick';
+ break;
+ case 'invisible':
+ b = 'edge-thickness-invisible';
+ break;
+ default:
+ b = 'edge-thickness-normal';
+ }
+ switch (e.pattern) {
+ case 'solid':
+ b += ' edge-pattern-solid';
+ break;
+ case 'dotted':
+ b += ' edge-pattern-dotted';
+ break;
+ case 'dashed':
+ b += ' edge-pattern-dashed';
+ break;
+ default:
+ b += ' edge-pattern-solid';
+ }
+ let w,
+ S = x(p),
+ T = Array.isArray(e.style) ? e.style : [e.style];
+ if (e.look === 'handDrawn') {
+ let A = Jt.svg(t);
+ Object.assign([], p);
+ let L = A.path(S, { roughness: 0.3, seed: l });
+ (b += ' transition'),
+ (w = $e(L)
+ .select('path')
+ .attr('id', e.id)
+ .attr('class', ' ' + b + (e.classes ? ' ' + e.classes : ''))
+ .attr('style', T ? T.reduce((N, k) => N + ';' + k, '') : ''));
+ let M = w.attr('d');
+ w.attr('d', M), t.node().appendChild(w.node());
+ } else
+ w = t
+ .append('path')
+ .attr('d', S)
+ .attr('id', e.id)
+ .attr('class', ' ' + b + (e.classes ? ' ' + e.classes : ''))
+ .attr('style', T ? T.reduce((A, L) => A + ';' + L, '') : '');
+ let E = '';
+ (de().flowchart.arrowMarkerAbsolute || de().state.arrowMarkerAbsolute) &&
+ ((E =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (E = E.replace(/\(/g, '\\(').replace(/\)/g, '\\)'))),
+ V.info('arrowTypeStart', e.arrowTypeStart),
+ V.info('arrowTypeEnd', e.arrowTypeEnd),
+ iK(w, e, E, s, n);
+ let _ = {};
+ return h && (_.updatedPath = u), (_.originalPath = e.points), _;
+ }, 'insertEdge'));
+ });
+ var PSe,
+ BSe,
+ FSe,
+ zSe,
+ GSe,
+ $Se,
+ VSe,
+ USe,
+ HSe,
+ YSe,
+ WSe,
+ ew,
+ Q9 = R(() => {
+ 'use strict';
+ ut();
+ (PSe = o((t, e, r, n) => {
+ e.forEach((i) => {
+ WSe[i](t, r, n);
+ });
+ }, 'insertMarkers')),
+ (BSe = o((t, e, r) => {
+ V.trace('Making markers for ', r),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-extensionStart')
+ .attr('class', 'marker extension ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,7 L18,13 V 1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-extensionEnd')
+ .attr('class', 'marker extension ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 V 13 L18,7 Z');
+ }, 'extension')),
+ (FSe = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-compositionStart')
+ .attr('class', 'marker composition ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-compositionEnd')
+ .attr('class', 'marker composition ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');
+ }, 'composition')),
+ (zSe = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-aggregationStart')
+ .attr('class', 'marker aggregation ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-aggregationEnd')
+ .attr('class', 'marker aggregation ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');
+ }, 'aggregation')),
+ (GSe = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-dependencyStart')
+ .attr('class', 'marker dependency ' + e)
+ .attr('refX', 6)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-dependencyEnd')
+ .attr('class', 'marker dependency ' + e)
+ .attr('refX', 13)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');
+ }, 'dependency')),
+ ($Se = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-lollipopStart')
+ .attr('class', 'marker lollipop ' + e)
+ .attr('refX', 13)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('stroke', 'black')
+ .attr('fill', 'transparent')
+ .attr('cx', 7)
+ .attr('cy', 7)
+ .attr('r', 6),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-lollipopEnd')
+ .attr('class', 'marker lollipop ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('stroke', 'black')
+ .attr('fill', 'transparent')
+ .attr('cx', 7)
+ .attr('cy', 7)
+ .attr('r', 6);
+ }, 'lollipop')),
+ (VSe = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-pointEnd')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 5)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 8)
+ .attr('markerHeight', 8)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 0 L 10 5 L 0 10 z')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-pointStart')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 4.5)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 8)
+ .attr('markerHeight', 8)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 5 L 10 10 L 10 0 z')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ }, 'point')),
+ (USe = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-circleEnd')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 11)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', '5')
+ .attr('cy', '5')
+ .attr('r', '5')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-circleStart')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', -1)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', '5')
+ .attr('cy', '5')
+ .attr('r', '5')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ }, 'circle')),
+ (HSe = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-crossEnd')
+ .attr('class', 'marker cross ' + e)
+ .attr('viewBox', '0 0 11 11')
+ .attr('refX', 12)
+ .attr('refY', 5.2)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 2)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-crossStart')
+ .attr('class', 'marker cross ' + e)
+ .attr('viewBox', '0 0 11 11')
+ .attr('refX', -1)
+ .attr('refY', 5.2)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 2)
+ .style('stroke-dasharray', '1,0');
+ }, 'cross')),
+ (YSe = o((t, e, r) => {
+ t.append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-barbEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 14)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z');
+ }, 'barb')),
+ (WSe = {
+ extension: BSe,
+ composition: FSe,
+ aggregation: zSe,
+ dependency: GSe,
+ lollipop: $Se,
+ point: VSe,
+ circle: USe,
+ cross: HSe,
+ barb: YSe
+ }),
+ (ew = PSe);
+ });
+ var zr,
+ ar,
+ En,
+ ri = R(() => {
+ 'use strict';
+ Al();
+ _t();
+ Zt();
+ rr();
+ xr();
+ (zr = o(async (t, e, r) => {
+ let n,
+ i = e.useHtmlLabels || yr(de().flowchart.htmlLabels);
+ r ? (n = r) : (n = 'node default');
+ let a = t
+ .insert('g')
+ .attr('class', n)
+ .attr('id', e.domId || e.id),
+ s = a.insert('g').attr('class', 'label').attr('style', e.labelStyle),
+ l;
+ e.label === void 0 ? (l = '') : (l = typeof e.label == 'string' ? e.label : e.label[0]);
+ let u;
+ u = await ta(s, qr(to(l), de()), {
+ useHtmlLabels: i,
+ width: e.width || de().flowchart.wrappingWidth,
+ cssClasses: 'markdown-node-label',
+ style: e.labelStyle
+ });
+ let h = u.getBBox(),
+ f = e.padding / 2;
+ if (yr(de().flowchart.htmlLabels)) {
+ let d = u.children[0],
+ p = $e(u),
+ m = d.getElementsByTagName('img');
+ if (m) {
+ let g = l.replace(/]*>/g, '').trim() === '';
+ await Promise.all(
+ [...m].map(
+ (y) =>
+ new Promise((v) => {
+ function x() {
+ if (((y.style.display = 'flex'), (y.style.flexDirection = 'column'), g)) {
+ let b = de().fontSize
+ ? de().fontSize
+ : window.getComputedStyle(document.body).fontSize,
+ S = parseInt(b, 10) * 5 + 'px';
+ (y.style.minWidth = S), (y.style.maxWidth = S);
+ } else y.style.width = '100%';
+ v(y);
+ }
+ o(x, 'setupImage'),
+ setTimeout(() => {
+ y.complete && x();
+ }),
+ y.addEventListener('error', x),
+ y.addEventListener('load', x);
+ })
+ )
+ );
+ }
+ (h = d.getBoundingClientRect()), p.attr('width', h.width), p.attr('height', h.height);
+ }
+ return (
+ i
+ ? s.attr('transform', 'translate(' + -h.width / 2 + ', ' + -h.height / 2 + ')')
+ : s.attr('transform', 'translate(0, ' + -h.height / 2 + ')'),
+ e.centerLabel && s.attr('transform', 'translate(' + -h.width / 2 + ', ' + -h.height / 2 + ')'),
+ s.insert('rect', ':first-child'),
+ { shapeSvg: a, bbox: h, halfPadding: f, label: s }
+ );
+ }, 'labelHelper')),
+ (ar = o((t, e) => {
+ let r = e.node().getBBox();
+ (t.width = r.width), (t.height = r.height);
+ }, 'updateNodeBounds')),
+ (En = o(
+ (t, e) => (t.look === 'handDrawn' ? 'rough-node' : 'node') + ' ' + t.cssClasses + ' ' + (e || ''),
+ 'getNodeClasses'
+ ));
+ });
+ function qSe(t, e) {
+ return t.intersect(e);
+ }
+ var cK,
+ uK = R(() => {
+ 'use strict';
+ o(qSe, 'intersectNode');
+ cK = qSe;
+ });
+ function XSe(t, e, r, n) {
+ var i = t.x,
+ a = t.y,
+ s = i - n.x,
+ l = a - n.y,
+ u = Math.sqrt(e * e * l * l + r * r * s * s),
+ h = Math.abs((e * r * s) / u);
+ n.x < i && (h = -h);
+ var f = Math.abs((e * r * l) / u);
+ return n.y < a && (f = -f), { x: i + h, y: a + f };
+ }
+ var tw,
+ Z9 = R(() => {
+ 'use strict';
+ o(XSe, 'intersectEllipse');
+ tw = XSe;
+ });
+ function jSe(t, e, r) {
+ return tw(t, e, e, r);
+ }
+ var hK,
+ fK = R(() => {
+ 'use strict';
+ Z9();
+ o(jSe, 'intersectCircle');
+ hK = jSe;
+ });
+ function KSe(t, e, r, n) {
+ var i, a, s, l, u, h, f, d, p, m, g, y, v, x, b;
+ if (
+ ((i = e.y - t.y),
+ (s = t.x - e.x),
+ (u = e.x * t.y - t.x * e.y),
+ (p = i * r.x + s * r.y + u),
+ (m = i * n.x + s * n.y + u),
+ !(p !== 0 && m !== 0 && dK(p, m)) &&
+ ((a = n.y - r.y),
+ (l = r.x - n.x),
+ (h = n.x * r.y - r.x * n.y),
+ (f = a * t.x + l * t.y + h),
+ (d = a * e.x + l * e.y + h),
+ !(f !== 0 && d !== 0 && dK(f, d)) && ((g = i * l - a * s), g !== 0)))
+ )
+ return (
+ (y = Math.abs(g / 2)),
+ (v = s * h - l * u),
+ (x = v < 0 ? (v - y) / g : (v + y) / g),
+ (v = a * u - i * h),
+ (b = v < 0 ? (v - y) / g : (v + y) / g),
+ { x, y: b }
+ );
+ }
+ function dK(t, e) {
+ return t * e > 0;
+ }
+ var pK,
+ mK = R(() => {
+ 'use strict';
+ o(KSe, 'intersectLine');
+ o(dK, 'sameSign');
+ pK = KSe;
+ });
+ function QSe(t, e, r) {
+ let n = t.x,
+ i = t.y,
+ a = [],
+ s = Number.POSITIVE_INFINITY,
+ l = Number.POSITIVE_INFINITY;
+ typeof e.forEach == 'function'
+ ? e.forEach(function (f) {
+ (s = Math.min(s, f.x)), (l = Math.min(l, f.y));
+ })
+ : ((s = Math.min(s, e.x)), (l = Math.min(l, e.y)));
+ let u = n - t.width / 2 - s,
+ h = i - t.height / 2 - l;
+ for (let f = 0; f < e.length; f++) {
+ let d = e[f],
+ p = e[f < e.length - 1 ? f + 1 : 0],
+ m = pK(t, r, { x: u + d.x, y: h + d.y }, { x: u + p.x, y: h + p.y });
+ m && a.push(m);
+ }
+ return a.length
+ ? (a.length > 1 &&
+ a.sort(function (f, d) {
+ let p = f.x - r.x,
+ m = f.y - r.y,
+ g = Math.sqrt(p * p + m * m),
+ y = d.x - r.x,
+ v = d.y - r.y,
+ x = Math.sqrt(y * y + v * v);
+ return g < x ? -1 : g === x ? 0 : 1;
+ }),
+ a[0])
+ : t;
+ }
+ var gK,
+ yK = R(() => {
+ 'use strict';
+ mK();
+ o(QSe, 'intersectPolygon');
+ gK = QSe;
+ });
+ var sr,
+ hi = R(() => {
+ 'use strict';
+ uK();
+ fK();
+ Z9();
+ yK();
+ q9();
+ sr = { node: cK, circle: hK, ellipse: tw, polygon: gK, rect: Dd };
+ });
+ var Rd,
+ _v = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ Sv();
+ ki();
+ ti();
+ Rd = o(async (t, e, r) => {
+ let { labelStyles: n, nodeStyles: i } = Br(e);
+ e.labelStyle = n;
+ let { shapeSvg: a, bbox: s } = await zr(t, e, En(e)),
+ l = Math.max(s.width + r.labelPaddingX * 2, e?.width || 0),
+ u = Math.max(s.height + r.labelPaddingY * 2, e?.height || 0),
+ h = -l / 2,
+ f = -u / 2,
+ d,
+ { rx: p, ry: m } = e,
+ { cssStyles: g } = e;
+ if ((r?.rx && r.ry && ((p = r.rx), (m = r.ry)), e.look === 'handDrawn')) {
+ let y = Jt.svg(a),
+ v = Fr(e, {}),
+ x = p || m ? y.path(_u(h, f, l, u, p || 0), v) : y.rectangle(h, f, l, u, v);
+ (d = a.insert(() => x, ':first-child')), d.attr('class', 'basic label-container').attr('style', g);
+ } else
+ (d = a.insert('rect', ':first-child')),
+ d
+ .attr('class', 'basic label-container')
+ .attr('style', i)
+ .attr('rx', p)
+ .attr('data-id', 'abc')
+ .attr('data-et', 'node')
+ .attr('ry', m)
+ .attr('x', h)
+ .attr('y', f)
+ .attr('width', l)
+ .attr('height', u);
+ return (
+ ar(e, d),
+ (e.intersect = function (y) {
+ return sr.rect(e, y);
+ }),
+ a
+ );
+ }, 'drawRect');
+ });
+ var vK,
+ xK = R(() => {
+ 'use strict';
+ _v();
+ vK = o(async (t, e) => Rd(t, e, { rx: 5, ry: 5, classes: 'flowchart-node' }), 'state');
+ });
+ var bK,
+ wK = R(() => {
+ 'use strict';
+ _v();
+ bK = o(async (t, e) => {
+ let r = {
+ rx: 5,
+ ry: 5,
+ classes: '',
+ labelPaddingX: (e?.padding || 0) * 1,
+ labelPaddingY: (e?.padding || 0) * 1
+ };
+ return Rd(t, e, r);
+ }, 'roundedRect');
+ });
+ var TK,
+ kK = R(() => {
+ 'use strict';
+ _v();
+ TK = o(async (t, e) => {
+ let r = {
+ rx: 0,
+ ry: 0,
+ classes: '',
+ labelPaddingX: (e?.padding || 0) * 2,
+ labelPaddingY: (e?.padding || 0) * 1
+ };
+ return Rd(t, e, r);
+ }, 'squareRect');
+ });
+ var EK,
+ CK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ti();
+ ki();
+ _t();
+ EK = o((t, e) => {
+ let { themeVariables: r } = de(),
+ { lineColor: n } = r,
+ i = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ a;
+ if (e.look === 'handDrawn') {
+ let l = Jt.svg(i).circle(0, 0, 14, Lu(n));
+ a = i.insert(() => l);
+ } else a = i.insert('circle', ':first-child');
+ return (
+ a.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14),
+ ar(e, a),
+ (e.intersect = function (s) {
+ return sr.circle(e, 7, s);
+ }),
+ i
+ );
+ }, 'stateStart');
+ });
+ var SK,
+ AK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ti();
+ ki();
+ _t();
+ SK = o((t, e) => {
+ let { themeVariables: r } = de(),
+ { lineColor: n } = r,
+ i = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ a,
+ s;
+ if (e.look === 'handDrawn') {
+ let l = Jt.svg(i),
+ u = l.circle(0, 0, 14, { ...Lu(n), roughness: 0.5 }),
+ h = l.circle(0, 0, 5, { ...Lu(n), fillStyle: 'solid' });
+ (a = i.insert(() => u)), (s = i.insert(() => h));
+ } else
+ (s = i.insert('circle', ':first-child')),
+ (a = i.insert('circle', ':first-child')),
+ a.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14),
+ s.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10);
+ return (
+ ar(e, a),
+ (e.intersect = function (l) {
+ return sr.circle(e, 7, l);
+ }),
+ i
+ );
+ }, 'stateEnd');
+ });
+ var J9,
+ _K = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ti();
+ ki();
+ _t();
+ J9 = o((t, e, r) => {
+ let { themeVariables: n } = de(),
+ { lineColor: i } = n,
+ a = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ s = 70,
+ l = 10;
+ r === 'LR' && ((s = 10), (l = 70));
+ let u = (-1 * s) / 2,
+ h = (-1 * l) / 2,
+ f;
+ if (e.look === 'handDrawn') {
+ let y = Jt.svg(a).rectangle(u, h, s, l, Lu(i));
+ f = a.insert(() => y);
+ } else
+ f = a
+ .append('rect')
+ .attr('x', u)
+ .attr('y', h)
+ .attr('width', s)
+ .attr('height', l)
+ .attr('class', 'fork-join');
+ ar(e, f);
+ let d = 0,
+ p = 0,
+ m = 10;
+ return (
+ e.height && (d = e.height),
+ e.width && (p = e.width),
+ e.padding && (m = e.padding),
+ (e.height = d + m / 2),
+ (e.width = p + m / 2),
+ (e.intersect = function (g) {
+ return sr.rect(e, g);
+ }),
+ a
+ );
+ }, 'forkJoin');
+ });
+ var LK,
+ DK = R(() => {
+ 'use strict';
+ hi();
+ ti();
+ ki();
+ _t();
+ LK = o((t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { themeVariables: i } = de(),
+ { lineColor: a } = i,
+ s = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ l = 28,
+ u = [
+ { x: 0, y: l / 2 },
+ { x: l / 2, y: 0 },
+ { x: 0, y: -l / 2 },
+ { x: -l / 2, y: 0 }
+ ],
+ h;
+ if (e.look === 'handDrawn') {
+ let f = Jt.svg(s),
+ d = u.map(function (m) {
+ return [m.x, m.y];
+ }),
+ p = f.polygon(d, Lu(a));
+ h = s.insert(() => p);
+ } else
+ h = s.insert('polygon', ':first-child').attr(
+ 'points',
+ u
+ .map(function (f) {
+ return f.x + ',' + f.y;
+ })
+ .join(' ')
+ );
+ return (
+ h.attr('class', 'state-start').attr('r', 7).attr('width', 28).attr('height', 28).attr('style', n),
+ (e.width = 28),
+ (e.height = 28),
+ (e.intersect = function (f) {
+ return sr.circle(e, 14, f);
+ }),
+ s
+ );
+ }, 'choice');
+ });
+ var RK,
+ NK = R(() => {
+ 'use strict';
+ ut();
+ ri();
+ hi();
+ _t();
+ ti();
+ RK = o(async (t, e) => {
+ let { themeVariables: r, handDrawnSeed: n } = de(),
+ { noteBorderColor: i, noteBkgColor: a } = r;
+ e.useHtmlLabels || (e.centerLabel = !0);
+ let { shapeSvg: l, bbox: u } = await zr(t, e, 'node ' + e.cssClasses);
+ V.info('Classes = ', e.cssClasses);
+ let { cssStyles: h } = e,
+ f,
+ d = u.width + e.padding,
+ p = u.height + e.padding,
+ m = -d / 2,
+ g = -p / 2;
+ if (e.look === 'handDrawn') {
+ let v = Jt.svg(l).rectangle(m, g, d, p, {
+ roughness: 0.7,
+ fill: a,
+ fillWeight: 3,
+ seed: n,
+ stroke: i
+ });
+ (f = l.insert(() => v, ':first-child')), f.attr('class', 'basic label-container').attr('style', h);
+ } else
+ (f = l.insert('rect', ':first-child')),
+ f
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', m)
+ .attr('y', g)
+ .attr('width', d)
+ .attr('height', p);
+ return (
+ ar(e, f),
+ (e.intersect = function (y) {
+ return sr.rect(e, y);
+ }),
+ l
+ );
+ }, 'note');
+ });
+ var MK,
+ IK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Sv();
+ MK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.height + e.padding,
+ l = a.width + s / 4 + e.padding,
+ u,
+ { cssStyles: h } = e;
+ if (e.look === 'handDrawn') {
+ let f = Jt.svg(i),
+ d = Fr(e, {}),
+ p = _u(-l / 2, -s / 2, l, s, s / 2),
+ m = f.path(p, d);
+ (u = i.insert(() => m, ':first-child')), u.attr('class', 'basic label-container').attr('style', h);
+ } else
+ (u = i.insert('rect', ':first-child')),
+ u
+ .attr('class', 'basic label-container')
+ .attr('style', n)
+ .attr('rx', s / 2)
+ .attr('ry', s / 2)
+ .attr('x', -l / 2)
+ .attr('y', -s / 2)
+ .attr('width', l)
+ .attr('height', s);
+ return (
+ ar(e, u),
+ (e.intersect = function (f) {
+ return sr.rect(e, f);
+ }),
+ i
+ );
+ }, 'stadium');
+ });
+ var OK,
+ PK = R(() => {
+ 'use strict';
+ Zt();
+ rr();
+ ri();
+ H5();
+ hi();
+ ki();
+ ti();
+ _t();
+ Sv();
+ ut();
+ OK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let i;
+ e.cssClasses ? (i = 'node ' + e.cssClasses) : (i = 'node default');
+ let a = t
+ .insert('g')
+ .attr('class', i)
+ .attr('id', e.domId || e.id),
+ s = a.insert('g'),
+ l = a.insert('g').attr('class', 'label').attr('style', n),
+ u = e.description,
+ h = e.label,
+ f = l.node().appendChild(await gc(h, e.labelStyle, !0, !0)),
+ d = { width: 0, height: 0 };
+ if (yr(de()?.flowchart?.htmlLabels)) {
+ let A = f.children[0],
+ L = $e(f);
+ (d = A.getBoundingClientRect()), L.attr('width', d.width), L.attr('height', d.height);
+ }
+ V.info('Text 2', u);
+ let p = u || [],
+ m = f.getBBox(),
+ g = l.node().appendChild(await gc(p.join ? p.join('
') : p, e.labelStyle, !0, !0)),
+ y = g.children[0],
+ v = $e(g);
+ (d = y.getBoundingClientRect()), v.attr('width', d.width), v.attr('height', d.height);
+ let x = (e.padding || 0) / 2;
+ $e(g).attr(
+ 'transform',
+ 'translate( ' + (d.width > m.width ? 0 : (m.width - d.width) / 2) + ', ' + (m.height + x + 5) + ')'
+ ),
+ $e(f).attr(
+ 'transform',
+ 'translate( ' + (d.width < m.width ? 0 : -(m.width - d.width) / 2) + ', 0)'
+ ),
+ (d = l.node().getBBox()),
+ l.attr('transform', 'translate(' + -d.width / 2 + ', ' + (-d.height / 2 - x + 3) + ')');
+ let b = d.width + (e.padding || 0),
+ w = d.height + (e.padding || 0),
+ S = -d.width / 2 - x,
+ T = -d.height / 2 - x,
+ E,
+ _;
+ if (e.look === 'handDrawn') {
+ let A = Jt.svg(a),
+ L = Fr(e, {}),
+ M = A.path(_u(S, T, b, w, e.rx || 0), L),
+ N = A.line(
+ -d.width / 2 - x,
+ -d.height / 2 - x + m.height + x,
+ d.width / 2 + x,
+ -d.height / 2 - x + m.height + x,
+ L
+ );
+ (_ = a.insert(() => (V.debug('Rough node insert CXC', M), N), ':first-child')),
+ (E = a.insert(() => (V.debug('Rough node insert CXC', M), M), ':first-child'));
+ } else
+ (E = s.insert('rect', ':first-child')),
+ (_ = s.insert('line')),
+ E.attr('class', 'outer title-state')
+ .attr('style', n)
+ .attr('x', -d.width / 2 - x)
+ .attr('y', -d.height / 2 - x)
+ .attr('width', d.width + (e.padding || 0))
+ .attr('height', d.height + (e.padding || 0)),
+ _.attr('class', 'divider')
+ .attr('x1', -d.width / 2 - x)
+ .attr('x2', d.width / 2 + x)
+ .attr('y1', -d.height / 2 - x + m.height + x)
+ .attr('y2', -d.height / 2 - x + m.height + x);
+ return (
+ ar(e, E),
+ (e.intersect = function (A) {
+ return sr.rect(e, A);
+ }),
+ a
+ );
+ }, 'rectWithTitle');
+ });
+ function Ma(t, e, r, n) {
+ return t
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ n
+ .map(function (i) {
+ return i.x + ',' + i.y;
+ })
+ .join(' ')
+ )
+ .attr('class', 'label-container')
+ .attr('transform', 'translate(' + -e / 2 + ',' + r / 2 + ')');
+ }
+ var Du = R(() => {
+ 'use strict';
+ o(Ma, 'insertPolygonShape');
+ });
+ var BK,
+ FK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ BK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = (e?.padding || 0) / 2,
+ l = a.width + e.padding,
+ u = a.height + e.padding,
+ h = -a.width / 2 - s,
+ f = -a.height / 2 - s,
+ d = [
+ { x: 0, y: 0 },
+ { x: l, y: 0 },
+ { x: l, y: -u },
+ { x: 0, y: -u },
+ { x: 0, y: 0 },
+ { x: -8, y: 0 },
+ { x: l + 8, y: 0 },
+ { x: l + 8, y: -u },
+ { x: -8, y: -u },
+ { x: -8, y: 0 }
+ ];
+ if (e.look === 'handDrawn') {
+ let p = Jt.svg(i),
+ m = Fr(e, {}),
+ g = p.rectangle(h - 8, f, l + 16, u, m),
+ y = p.line(h, f, h, f + u, m),
+ v = p.line(h + l, f, h + l, f + u, m);
+ i.insert(() => y, ':first-child'), i.insert(() => v, ':first-child');
+ let x = i.insert(() => g, ':first-child'),
+ { cssStyles: b } = e;
+ x.attr('class', 'basic label-container').attr('style', b), ar(e, x);
+ } else {
+ let p = Ma(i, l, u, d);
+ n && p.attr('style', n), ar(e, p);
+ }
+ return (
+ (e.intersect = function (p) {
+ return sr.polygon(e, d, p);
+ }),
+ i
+ );
+ }, 'subroutine');
+ });
+ var ZSe,
+ JSe,
+ eAe,
+ zK,
+ GK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ (ZSe = o(
+ (t, e, r, n, i, a) =>
+ [
+ `M${t},${e + a}`,
+ `a${i},${a} 0,0,0 ${r},0`,
+ `a${i},${a} 0,0,0 ${-r},0`,
+ `l0,${n}`,
+ `a${i},${a} 0,0,0 ${r},0`,
+ `l0,${-n}`
+ ].join(' '),
+ 'createCylinderPathD'
+ )),
+ (JSe = o(
+ (t, e, r, n, i, a) =>
+ [
+ `M${t},${e + a}`,
+ `M${t + r},${e + a}`,
+ `a${i},${a} 0,0,0 ${-r},0`,
+ `l0,${n}`,
+ `a${i},${a} 0,0,0 ${r},0`,
+ `l0,${-n}`
+ ].join(' '),
+ 'createOuterCylinderPathD'
+ )),
+ (eAe = o(
+ (t, e, r, n, i, a) => [`M${t - r / 2},${-n / 2}`, `a${i},${a} 0,0,0 ${r},0`].join(' '),
+ 'createInnerCylinderPathD'
+ )),
+ (zK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = s / 2,
+ u = l / (2.5 + s / 50),
+ h = a.height + u + e.padding,
+ f,
+ { cssStyles: d } = e;
+ if (e.look === 'handDrawn') {
+ let p = Jt.svg(i),
+ m = JSe(0, 0, s, h, l, u),
+ g = eAe(0, u, s, h, l, u),
+ y = p.path(m, Fr(e, {})),
+ v = p.path(g, Fr(e, { fill: 'none' }));
+ (f = i.insert(() => v, ':first-child')),
+ (f = i.insert(() => y, ':first-child')),
+ f.attr('class', 'basic label-container'),
+ d && f.attr('style', d);
+ } else {
+ let p = ZSe(0, 0, s, h, l, u);
+ f = i
+ .insert('path', ':first-child')
+ .attr('d', p)
+ .attr('class', 'basic label-container')
+ .attr('style', d)
+ .attr('style', n);
+ }
+ return (
+ f.attr('label-offset-y', u),
+ f.attr('transform', `translate(${-s / 2}, ${-(h / 2 + u)})`),
+ ar(e, f),
+ (e.intersect = function (p) {
+ let m = sr.rect(e, p),
+ g = m.x - (e.x ?? 0);
+ if (
+ l != 0 &&
+ (Math.abs(g) < (e.width ?? 0) / 2 ||
+ (Math.abs(g) == (e.width ?? 0) / 2 &&
+ Math.abs(m.y - (e.y ?? 0)) > (e.height ?? 0) / 2 - u))
+ ) {
+ let y = u * u * (1 - (g * g) / (l * l));
+ y > 0 && (y = Math.sqrt(y)), (y = u - y), p.y - (e.y ?? 0) > 0 && (y = -y), (m.y += y);
+ }
+ return m;
+ }),
+ i
+ );
+ }, 'cylinder'));
+ });
+ var $K,
+ VK = R(() => {
+ 'use strict';
+ ut();
+ ri();
+ hi();
+ ki();
+ ti();
+ $K = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a, halfPadding: s } = await zr(t, e, En(e)),
+ l = a.width / 2 + s,
+ u,
+ { cssStyles: h } = e;
+ if (e.look === 'handDrawn') {
+ let f = Jt.svg(i),
+ d = Fr(e, {}),
+ p = f.circle(0, 0, l * 2, d);
+ (u = i.insert(() => p, ':first-child')), u.attr('class', 'basic label-container').attr('style', h);
+ } else
+ u = i
+ .insert('circle', ':first-child')
+ .attr('class', 'basic label-container')
+ .attr('style', n)
+ .attr('r', l)
+ .attr('cx', 0)
+ .attr('cy', 0);
+ return (
+ ar(e, u),
+ (e.intersect = function (f) {
+ return V.info('Circle intersect', e, l, f), sr.circle(e, l, f);
+ }),
+ i
+ );
+ }, 'circle');
+ });
+ var UK,
+ HK = R(() => {
+ 'use strict';
+ ut();
+ ri();
+ hi();
+ ki();
+ ti();
+ UK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a, halfPadding: s } = await zr(t, e, En(e)),
+ u = a.width / 2 + s + 5,
+ h = a.width / 2 + s,
+ f,
+ { cssStyles: d } = e;
+ if (e.look === 'handDrawn') {
+ let p = Jt.svg(i),
+ m = Fr(e, { roughness: 0.2, strokeWidth: 2.5 }),
+ g = Fr(e, { roughness: 0.2, strokeWidth: 1.5 }),
+ y = p.circle(0, 0, u * 2, m),
+ v = p.circle(0, 0, h * 2, g);
+ (f = i.insert('g', ':first-child')),
+ f.attr('class', e.cssClasses).attr('style', d),
+ f.node()?.appendChild(y),
+ f.node()?.appendChild(v);
+ } else {
+ f = i.insert('g', ':first-child');
+ let p = f.insert('circle', ':first-child'),
+ m = f.insert('circle');
+ f.attr('class', 'basic label-container').attr('style', n),
+ p.attr('class', 'outer-circle').attr('style', n).attr('r', u).attr('cx', 0).attr('cy', 0),
+ m.attr('class', 'inner-circle').attr('style', n).attr('r', h).attr('cx', 0).attr('cy', 0);
+ }
+ return (
+ ar(e, f),
+ (e.intersect = function (p) {
+ return V.info('DoubleCircle intersect', e, u, p), sr.circle(e, u, p);
+ }),
+ i
+ );
+ }, 'doublecircle');
+ });
+ var tAe,
+ YK,
+ WK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (tAe = o(
+ (t, e, r, n) =>
+ [
+ `M${t - n / 2},${e}`,
+ `L${t + r},${e}`,
+ `L${t + r},${e - n}`,
+ `L${t - n / 2},${e - n}`,
+ `L${t},${e - n / 2}`,
+ 'Z'
+ ].join(' '),
+ 'createPolygonPathD'
+ )),
+ (YK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = [
+ { x: -l / 2, y: 0 },
+ { x: s, y: 0 },
+ { x: s, y: -l },
+ { x: -l / 2, y: -l },
+ { x: 0, y: -l / 2 }
+ ],
+ h,
+ { cssStyles: f } = e;
+ if (e.look === 'handDrawn') {
+ let d = Jt.svg(i),
+ p = Fr(e, {}),
+ m = tAe(0, 0, s, l),
+ g = d.path(m, p);
+ (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)),
+ f && h.attr('style', f);
+ } else h = Ma(i, s, l, u);
+ return (
+ n && h.attr('style', n),
+ (e.width = s + l),
+ (e.height = l),
+ ar(e, h),
+ (e.intersect = function (d) {
+ return sr.polygon(e, u, d);
+ }),
+ i
+ );
+ }, 'rect_left_inv_arrow'));
+ });
+ var rAe,
+ qK,
+ XK = R(() => {
+ 'use strict';
+ ut();
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (rAe = o(
+ (t, e, r) =>
+ [
+ `M${t + r / 2},${e}`,
+ `L${t + r},${e - r / 2}`,
+ `L${t + r / 2},${e - r}`,
+ `L${t},${e - r / 2}`,
+ 'Z'
+ ].join(' '),
+ 'createDecisionBoxPathD'
+ )),
+ (qK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = s + l,
+ h = [
+ { x: u / 2, y: 0 },
+ { x: u, y: -u / 2 },
+ { x: u / 2, y: -u },
+ { x: 0, y: -u / 2 }
+ ],
+ f,
+ { cssStyles: d } = e;
+ if (e.look === 'handDrawn') {
+ let p = Jt.svg(i),
+ m = Fr(e, {}),
+ g = rAe(0, 0, u),
+ y = p.path(g, m);
+ (f = i.insert(() => y, ':first-child').attr('transform', `translate(${-u / 2}, ${u / 2})`)),
+ d && f.attr('style', d);
+ } else f = Ma(i, u, u, h);
+ return (
+ n && f.attr('style', n),
+ ar(e, f),
+ (e.intersect = function (p) {
+ return (
+ V.debug(
+ `APA12 Intersect called SPLIT
+point:`,
+ p,
+ `
+node:
+`,
+ e,
+ `
+res:`,
+ sr.polygon(e, h, p)
+ ),
+ sr.polygon(e, h, p)
+ );
+ }),
+ i
+ );
+ }, 'question'));
+ });
+ var nAe,
+ jK,
+ KK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (nAe = o(
+ (t, e, r, n, i) =>
+ [
+ `M${t + i},${e}`,
+ `L${t + r - i},${e}`,
+ `L${t + r},${e - n / 2}`,
+ `L${t + r - i},${e - n}`,
+ `L${t + i},${e - n}`,
+ `L${t},${e - n / 2}`,
+ 'Z'
+ ].join(' '),
+ 'createHexagonPathD'
+ )),
+ (jK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = 4,
+ l = a.height + e.padding,
+ u = l / s,
+ h = a.width + 2 * u + e.padding,
+ f = [
+ { x: u, y: 0 },
+ { x: h - u, y: 0 },
+ { x: h, y: -l / 2 },
+ { x: h - u, y: -l },
+ { x: u, y: -l },
+ { x: 0, y: -l / 2 }
+ ],
+ d,
+ { cssStyles: p } = e;
+ if (e.look === 'handDrawn') {
+ let m = Jt.svg(i),
+ g = Fr(e, {}),
+ y = nAe(0, 0, h, l, u),
+ v = m.path(y, g);
+ (d = i.insert(() => v, ':first-child').attr('transform', `translate(${-h / 2}, ${l / 2})`)),
+ p && d.attr('style', p);
+ } else d = Ma(i, h, l, f);
+ return (
+ n && d.attr('style', n),
+ (e.width = h),
+ (e.height = l),
+ ar(e, d),
+ (e.intersect = function (m) {
+ return sr.polygon(e, f, m);
+ }),
+ i
+ );
+ }, 'hexagon'));
+ });
+ var iAe,
+ QK,
+ ZK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (iAe = o(
+ (t, e, r, n) =>
+ [
+ `M${t - (2 * n) / 6},${e}`,
+ `L${t + r - n / 6},${e}`,
+ `L${t + r + (2 * n) / 6},${e - n}`,
+ `L${t + n / 6},${e - n}`,
+ 'Z'
+ ].join(' '),
+ 'createLeanRightPathD'
+ )),
+ (QK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = [
+ { x: (-2 * l) / 6, y: 0 },
+ { x: s - l / 6, y: 0 },
+ { x: s + (2 * l) / 6, y: -l },
+ { x: l / 6, y: -l }
+ ],
+ h,
+ { cssStyles: f } = e;
+ if (e.look === 'handDrawn') {
+ let d = Jt.svg(i),
+ p = Fr(e, {}),
+ m = iAe(0, 0, s, l),
+ g = d.path(m, p);
+ (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)),
+ f && h.attr('style', f);
+ } else h = Ma(i, s, l, u);
+ return (
+ n && h.attr('style', n),
+ (e.width = s),
+ (e.height = l),
+ ar(e, h),
+ (e.intersect = function (d) {
+ return sr.polygon(e, u, d);
+ }),
+ i
+ );
+ }, 'lean_right'));
+ });
+ var aAe,
+ JK,
+ eQ = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (aAe = o(
+ (t, e, r, n) =>
+ [
+ `M${t + (2 * n) / 6},${e}`,
+ `L${t + r + n / 6},${e}`,
+ `L${t + r - (2 * n) / 6},${e - n}`,
+ `L${t - n / 6},${e - n}`,
+ 'Z'
+ ].join(' '),
+ 'createLeanLeftPathD'
+ )),
+ (JK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = [
+ { x: (2 * l) / 6, y: 0 },
+ { x: s + l / 6, y: 0 },
+ { x: s - (2 * l) / 6, y: -l },
+ { x: -l / 6, y: -l }
+ ],
+ h,
+ { cssStyles: f } = e;
+ if (e.look === 'handDrawn') {
+ let d = Jt.svg(i),
+ p = Fr(e, {}),
+ m = aAe(0, 0, s, l),
+ g = d.path(m, p);
+ (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)),
+ f && h.attr('style', f);
+ } else h = Ma(i, s, l, u);
+ return (
+ n && h.attr('style', n),
+ (e.width = s),
+ (e.height = l),
+ ar(e, h),
+ (e.intersect = function (d) {
+ return sr.polygon(e, u, d);
+ }),
+ i
+ );
+ }, 'lean_left'));
+ });
+ var sAe,
+ tQ,
+ rQ = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (sAe = o(
+ (t, e, r, n) =>
+ [
+ `M${t - (2 * n) / 6},${e}`,
+ `L${t + r + (2 * n) / 6},${e}`,
+ `L${t + r - n / 6},${e - n}`,
+ `L${t + n / 6},${e - n}`,
+ 'Z'
+ ].join(' '),
+ 'createTrapezoidPathD'
+ )),
+ (tQ = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = [
+ { x: (-2 * l) / 6, y: 0 },
+ { x: s + (2 * l) / 6, y: 0 },
+ { x: s - l / 6, y: -l },
+ { x: l / 6, y: -l }
+ ],
+ h,
+ { cssStyles: f } = e;
+ if (e.look === 'handDrawn') {
+ let d = Jt.svg(i),
+ p = Fr(e, {}),
+ m = sAe(0, 0, s, l),
+ g = d.path(m, p);
+ (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)),
+ f && h.attr('style', f);
+ } else h = Ma(i, s, l, u);
+ return (
+ n && h.attr('style', n),
+ (e.width = s),
+ (e.height = l),
+ ar(e, h),
+ (e.intersect = function (d) {
+ return sr.polygon(e, u, d);
+ }),
+ i
+ );
+ }, 'trapezoid'));
+ });
+ var oAe,
+ nQ,
+ iQ = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (oAe = o(
+ (t, e, r, n) =>
+ [
+ `M${t + n / 6},${e}`,
+ `L${t + r - n / 6},${e}`,
+ `L${t + r + (2 * n) / 6},${e - n}`,
+ `L${t - (2 * n) / 6},${e - n}`,
+ 'Z'
+ ].join(' '),
+ 'createInvertedTrapezoidPathD'
+ )),
+ (nQ = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = [
+ { x: l / 6, y: 0 },
+ { x: s - l / 6, y: 0 },
+ { x: s + (2 * l) / 6, y: -l },
+ { x: (-2 * l) / 6, y: -l }
+ ],
+ h,
+ { cssStyles: f } = e;
+ if (e.look === 'handDrawn') {
+ let d = Jt.svg(i),
+ p = Fr(e, {}),
+ m = oAe(0, 0, s, l),
+ g = d.path(m, p);
+ (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)),
+ f && h.attr('style', f);
+ } else h = Ma(i, s, l, u);
+ return (
+ n && h.attr('style', n),
+ (e.width = s),
+ (e.height = l),
+ ar(e, h),
+ (e.intersect = function (d) {
+ return sr.polygon(e, u, d);
+ }),
+ i
+ );
+ }, 'inv_trapezoid'));
+ });
+ var aQ,
+ sQ = R(() => {
+ 'use strict';
+ _v();
+ ri();
+ hi();
+ aQ = o(async (t, e) => {
+ let { shapeSvg: r } = await zr(t, e, 'label'),
+ n = r.insert('rect', ':first-child');
+ return (
+ n.attr('width', 0.1).attr('height', 0.1),
+ r.attr('class', 'label edgeLabel'),
+ ar(e, n),
+ (e.intersect = function (s) {
+ return sr.rect(e, s);
+ }),
+ r
+ );
+ }, 'labelRect');
+ });
+ var oQ,
+ ym,
+ rw,
+ lQ,
+ cQ,
+ eL,
+ tL = R(() => {
+ 'use strict';
+ ut();
+ xK();
+ wK();
+ kK();
+ CK();
+ AK();
+ _K();
+ DK();
+ NK();
+ IK();
+ PK();
+ _t();
+ FK();
+ GK();
+ VK();
+ HK();
+ WK();
+ XK();
+ KK();
+ ZK();
+ eQ();
+ rQ();
+ iQ();
+ sQ();
+ (oQ = {
+ state: vK,
+ stateStart: EK,
+ stateEnd: SK,
+ fork: J9,
+ join: J9,
+ choice: LK,
+ note: RK,
+ roundedRect: bK,
+ rectWithTitle: OK,
+ squareRect: TK,
+ stadium: MK,
+ subroutine: BK,
+ cylinder: zK,
+ circle: $K,
+ doublecircle: UK,
+ odd: YK,
+ diamond: qK,
+ hexagon: jK,
+ lean_right: QK,
+ lean_left: JK,
+ trapezoid: tQ,
+ inv_trapezoid: nQ,
+ labelRect: aQ
+ }),
+ (ym = new Map()),
+ (rw = o(async (t, e, r) => {
+ let n, i;
+ if (
+ (e.shape === 'rect' && (e.rx && e.ry ? (e.shape = 'roundedRect') : (e.shape = 'squareRect')),
+ e.link)
+ ) {
+ let a;
+ de().securityLevel === 'sandbox'
+ ? (a = '_top')
+ : e.linkTarget && (a = e.linkTarget || '_blank'),
+ (n = t.insert('svg:a').attr('xlink:href', e.link).attr('target', a)),
+ (i = await oQ[e.shape](n, e, r));
+ } else (i = await oQ[e.shape](t, e, r)), (n = i);
+ return (
+ e.tooltip && i.attr('title', e.tooltip),
+ ym.set(e.id, n),
+ e.haveCallback && ym.get(e.id).attr('class', ym.get(e.id).attr('class') + ' clickable'),
+ n
+ );
+ }, 'insertNode')),
+ (lQ = o((t, e) => {
+ ym.set(e.id, t);
+ }, 'setNodeElem')),
+ (cQ = o(() => {
+ ym.clear();
+ }, 'clear')),
+ (eL = o((t) => {
+ let e = ym.get(t.id);
+ V.trace(
+ 'Transforming node',
+ t.diff,
+ t,
+ 'translate(' + (t.x - t.width / 2 - 5) + ', ' + t.width / 2 + ')'
+ );
+ let r = 8,
+ n = t.diff || 0;
+ return (
+ t.clusterNode
+ ? e.attr(
+ 'transform',
+ 'translate(' + (t.x + n - t.width / 2) + ', ' + (t.y - t.height / 2 - r) + ')'
+ )
+ : e.attr('transform', 'translate(' + t.x + ', ' + t.y + ')'),
+ n
+ );
+ }, 'positionNode'));
+ });
+ var uQ,
+ hQ = R(() => {
+ 'use strict';
+ qs();
+ rr();
+ ut();
+ X9();
+ K9();
+ Q9();
+ tL();
+ ri();
+ xr();
+ uQ = {
+ common: We,
+ getConfig: Or,
+ insertCluster: Y5,
+ insertEdge: J5,
+ insertEdgeLabel: Q5,
+ insertMarkers: ew,
+ insertNode: rw,
+ interpolateToCurve: om,
+ labelHelper: zr,
+ log: V,
+ positionEdgeLabel: Z5
+ };
+ });
+ function cAe(t) {
+ return typeof t == 'symbol' || (Wn(t) && fa(t) == lAe);
+ }
+ var lAe,
+ so,
+ Nd = R(() => {
+ 'use strict';
+ wu();
+ Mo();
+ lAe = '[object Symbol]';
+ o(cAe, 'isSymbol');
+ so = cAe;
+ });
+ function uAe(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length, i = Array(n); ++r < n; ) i[r] = e(t[r], r, t);
+ return i;
+ }
+ var Ss,
+ Md = R(() => {
+ 'use strict';
+ o(uAe, 'arrayMap');
+ Ss = uAe;
+ });
+ function pQ(t) {
+ if (typeof t == 'string') return t;
+ if (wt(t)) return Ss(t, pQ) + '';
+ if (so(t)) return dQ ? dQ.call(t) : '';
+ var e = t + '';
+ return e == '0' && 1 / t == -hAe ? '-0' : e;
+ }
+ var hAe,
+ fQ,
+ dQ,
+ mQ,
+ gQ = R(() => {
+ 'use strict';
+ vd();
+ Md();
+ Bn();
+ Nd();
+ (hAe = 1 / 0), (fQ = Ji ? Ji.prototype : void 0), (dQ = fQ ? fQ.toString : void 0);
+ o(pQ, 'baseToString');
+ mQ = pQ;
+ });
+ function dAe(t) {
+ for (var e = t.length; e-- && fAe.test(t.charAt(e)); );
+ return e;
+ }
+ var fAe,
+ yQ,
+ vQ = R(() => {
+ 'use strict';
+ fAe = /\s/;
+ o(dAe, 'trimmedEndIndex');
+ yQ = dAe;
+ });
+ function mAe(t) {
+ return t && t.slice(0, yQ(t) + 1).replace(pAe, '');
+ }
+ var pAe,
+ xQ,
+ bQ = R(() => {
+ 'use strict';
+ vQ();
+ pAe = /^\s+/;
+ o(mAe, 'baseTrim');
+ xQ = mAe;
+ });
+ function bAe(t) {
+ if (typeof t == 'number') return t;
+ if (so(t)) return wQ;
+ if (pn(t)) {
+ var e = typeof t.valueOf == 'function' ? t.valueOf() : t;
+ t = pn(e) ? e + '' : e;
+ }
+ if (typeof t != 'string') return t === 0 ? t : +t;
+ t = xQ(t);
+ var r = yAe.test(t);
+ return r || vAe.test(t) ? xAe(t.slice(2), r ? 2 : 8) : gAe.test(t) ? wQ : +t;
+ }
+ var wQ,
+ gAe,
+ yAe,
+ vAe,
+ xAe,
+ TQ,
+ kQ = R(() => {
+ 'use strict';
+ bQ();
+ Js();
+ Nd();
+ (wQ = NaN), (gAe = /^[-+]0x[0-9a-f]+$/i), (yAe = /^0b[01]+$/i), (vAe = /^0o[0-7]+$/i), (xAe = parseInt);
+ o(bAe, 'toNumber');
+ TQ = bAe;
+ });
+ function TAe(t) {
+ if (!t) return t === 0 ? t : 0;
+ if (((t = TQ(t)), t === EQ || t === -EQ)) {
+ var e = t < 0 ? -1 : 1;
+ return e * wAe;
+ }
+ return t === t ? t : 0;
+ }
+ var EQ,
+ wAe,
+ vm,
+ rL = R(() => {
+ 'use strict';
+ kQ();
+ (EQ = 1 / 0), (wAe = 17976931348623157e292);
+ o(TAe, 'toFinite');
+ vm = TAe;
+ });
+ function kAe(t) {
+ var e = vm(t),
+ r = e % 1;
+ return e === e ? (r ? e - r : e) : 0;
+ }
+ var yc,
+ xm = R(() => {
+ 'use strict';
+ rL();
+ o(kAe, 'toInteger');
+ yc = kAe;
+ });
+ var EAe,
+ nw,
+ CQ = R(() => {
+ 'use strict';
+ Nh();
+ Ro();
+ (EAe = xs(Jn, 'WeakMap')), (nw = EAe);
+ });
+ function CAe() {}
+ var qn,
+ nL = R(() => {
+ 'use strict';
+ o(CAe, 'noop');
+ qn = CAe;
+ });
+ function SAe(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length; ++r < n && e(t[r], r, t) !== !1; );
+ return t;
+ }
+ var iw,
+ iL = R(() => {
+ 'use strict';
+ o(SAe, 'arrayEach');
+ iw = SAe;
+ });
+ function AAe(t, e, r, n) {
+ for (var i = t.length, a = r + (n ? 1 : -1); n ? a-- : ++a < i; ) if (e(t[a], a, t)) return a;
+ return -1;
+ }
+ var aw,
+ aL = R(() => {
+ 'use strict';
+ o(AAe, 'baseFindIndex');
+ aw = AAe;
+ });
+ function _Ae(t) {
+ return t !== t;
+ }
+ var SQ,
+ AQ = R(() => {
+ 'use strict';
+ o(_Ae, 'baseIsNaN');
+ SQ = _Ae;
+ });
+ function LAe(t, e, r) {
+ for (var n = r - 1, i = t.length; ++n < i; ) if (t[n] === e) return n;
+ return -1;
+ }
+ var _Q,
+ LQ = R(() => {
+ 'use strict';
+ o(LAe, 'strictIndexOf');
+ _Q = LAe;
+ });
+ function DAe(t, e, r) {
+ return e === e ? _Q(t, e, r) : aw(t, SQ, r);
+ }
+ var bm,
+ sw = R(() => {
+ 'use strict';
+ aL();
+ AQ();
+ LQ();
+ o(DAe, 'baseIndexOf');
+ bm = DAe;
+ });
+ function RAe(t, e) {
+ var r = t == null ? 0 : t.length;
+ return !!r && bm(t, e, 0) > -1;
+ }
+ var ow,
+ sL = R(() => {
+ 'use strict';
+ sw();
+ o(RAe, 'arrayIncludes');
+ ow = RAe;
+ });
+ var NAe,
+ DQ,
+ RQ = R(() => {
+ 'use strict';
+ F_();
+ (NAe = s5(Object.keys, Object)), (DQ = NAe);
+ });
+ function OAe(t) {
+ if (!fc(t)) return DQ(t);
+ var e = [];
+ for (var r in Object(t)) IAe.call(t, r) && r != 'constructor' && e.push(r);
+ return e;
+ }
+ var MAe,
+ IAe,
+ wm,
+ lw = R(() => {
+ 'use strict';
+ tm();
+ RQ();
+ (MAe = Object.prototype), (IAe = MAe.hasOwnProperty);
+ o(OAe, 'baseKeys');
+ wm = OAe;
+ });
+ function PAe(t) {
+ return ei(t) ? h5(t) : wm(t);
+ }
+ var Dr,
+ vc = R(() => {
+ 'use strict';
+ U_();
+ lw();
+ Io();
+ o(PAe, 'keys');
+ Dr = PAe;
+ });
+ var BAe,
+ FAe,
+ zAe,
+ pa,
+ NQ = R(() => {
+ 'use strict';
+ am();
+ kd();
+ q_();
+ Io();
+ tm();
+ vc();
+ (BAe = Object.prototype),
+ (FAe = BAe.hasOwnProperty),
+ (zAe = p5(function (t, e) {
+ if (fc(e) || ei(e)) {
+ Bo(e, Dr(e), t);
+ return;
+ }
+ for (var r in e) FAe.call(e, r) && dc(t, r, e[r]);
+ })),
+ (pa = zAe);
+ });
+ function VAe(t, e) {
+ if (wt(t)) return !1;
+ var r = typeof t;
+ return r == 'number' || r == 'symbol' || r == 'boolean' || t == null || so(t)
+ ? !0
+ : $Ae.test(t) || !GAe.test(t) || (e != null && t in Object(e));
+ }
+ var GAe,
+ $Ae,
+ Tm,
+ cw = R(() => {
+ 'use strict';
+ Bn();
+ Nd();
+ (GAe = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/), ($Ae = /^\w*$/);
+ o(VAe, 'isKey');
+ Tm = VAe;
+ });
+ function HAe(t) {
+ var e = qp(t, function (n) {
+ return r.size === UAe && r.clear(), n;
+ }),
+ r = e.cache;
+ return e;
+ }
+ var UAe,
+ MQ,
+ IQ = R(() => {
+ 'use strict';
+ R_();
+ UAe = 500;
+ o(HAe, 'memoizeCapped');
+ MQ = HAe;
+ });
+ var YAe,
+ WAe,
+ qAe,
+ OQ,
+ PQ = R(() => {
+ 'use strict';
+ IQ();
+ (YAe = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g),
+ (WAe = /\\(\\)?/g),
+ (qAe = MQ(function (t) {
+ var e = [];
+ return (
+ t.charCodeAt(0) === 46 && e.push(''),
+ t.replace(YAe, function (r, n, i, a) {
+ e.push(i ? a.replace(WAe, '$1') : n || r);
+ }),
+ e
+ );
+ })),
+ (OQ = qAe);
+ });
+ function XAe(t) {
+ return t == null ? '' : mQ(t);
+ }
+ var uw,
+ oL = R(() => {
+ 'use strict';
+ gQ();
+ o(XAe, 'toString');
+ uw = XAe;
+ });
+ function jAe(t, e) {
+ return wt(t) ? t : Tm(t, e) ? [t] : OQ(uw(t));
+ }
+ var Hh,
+ Lv = R(() => {
+ 'use strict';
+ Bn();
+ cw();
+ PQ();
+ oL();
+ o(jAe, 'castPath');
+ Hh = jAe;
+ });
+ function QAe(t) {
+ if (typeof t == 'string' || so(t)) return t;
+ var e = t + '';
+ return e == '0' && 1 / t == -KAe ? '-0' : e;
+ }
+ var KAe,
+ xc,
+ km = R(() => {
+ 'use strict';
+ Nd();
+ KAe = 1 / 0;
+ o(QAe, 'toKey');
+ xc = QAe;
+ });
+ function ZAe(t, e) {
+ e = Hh(e, t);
+ for (var r = 0, n = e.length; t != null && r < n; ) t = t[xc(e[r++])];
+ return r && r == n ? t : void 0;
+ }
+ var Yh,
+ Dv = R(() => {
+ 'use strict';
+ Lv();
+ km();
+ o(ZAe, 'baseGet');
+ Yh = ZAe;
+ });
+ function JAe(t, e, r) {
+ var n = t == null ? void 0 : Yh(t, e);
+ return n === void 0 ? r : n;
+ }
+ var BQ,
+ FQ = R(() => {
+ 'use strict';
+ Dv();
+ o(JAe, 'get');
+ BQ = JAe;
+ });
+ function e8e(t, e) {
+ for (var r = -1, n = e.length, i = t.length; ++r < n; ) t[i + r] = e[r];
+ return t;
+ }
+ var Em,
+ hw = R(() => {
+ 'use strict';
+ o(e8e, 'arrayPush');
+ Em = e8e;
+ });
+ function t8e(t) {
+ return wt(t) || kl(t) || !!(zQ && t && t[zQ]);
+ }
+ var zQ,
+ GQ,
+ $Q = R(() => {
+ 'use strict';
+ vd();
+ rm();
+ Bn();
+ zQ = Ji ? Ji.isConcatSpreadable : void 0;
+ o(t8e, 'isFlattenable');
+ GQ = t8e;
+ });
+ function VQ(t, e, r, n, i) {
+ var a = -1,
+ s = t.length;
+ for (r || (r = GQ), i || (i = []); ++a < s; ) {
+ var l = t[a];
+ e > 0 && r(l) ? (e > 1 ? VQ(l, e - 1, r, n, i) : Em(i, l)) : n || (i[i.length] = l);
+ }
+ return i;
+ }
+ var bc,
+ Cm = R(() => {
+ 'use strict';
+ hw();
+ $Q();
+ o(VQ, 'baseFlatten');
+ bc = VQ;
+ });
+ function r8e(t) {
+ var e = t == null ? 0 : t.length;
+ return e ? bc(t, 1) : [];
+ }
+ var Gr,
+ fw = R(() => {
+ 'use strict';
+ Cm();
+ o(r8e, 'flatten');
+ Gr = r8e;
+ });
+ function n8e(t) {
+ return d5(f5(t, void 0, Gr), t + '');
+ }
+ var UQ,
+ HQ = R(() => {
+ 'use strict';
+ fw();
+ H_();
+ W_();
+ o(n8e, 'flatRest');
+ UQ = n8e;
+ });
+ function i8e(t, e, r) {
+ var n = -1,
+ i = t.length;
+ e < 0 && (e = -e > i ? 0 : i + e),
+ (r = r > i ? i : r),
+ r < 0 && (r += i),
+ (i = e > r ? 0 : (r - e) >>> 0),
+ (e >>>= 0);
+ for (var a = Array(i); ++n < i; ) a[n] = t[n + e];
+ return a;
+ }
+ var dw,
+ lL = R(() => {
+ 'use strict';
+ o(i8e, 'baseSlice');
+ dw = i8e;
+ });
+ function d8e(t) {
+ return f8e.test(t);
+ }
+ var a8e,
+ s8e,
+ o8e,
+ l8e,
+ c8e,
+ u8e,
+ h8e,
+ f8e,
+ YQ,
+ WQ = R(() => {
+ 'use strict';
+ (a8e = '\\ud800-\\udfff'),
+ (s8e = '\\u0300-\\u036f'),
+ (o8e = '\\ufe20-\\ufe2f'),
+ (l8e = '\\u20d0-\\u20ff'),
+ (c8e = s8e + o8e + l8e),
+ (u8e = '\\ufe0e\\ufe0f'),
+ (h8e = '\\u200d'),
+ (f8e = RegExp('[' + h8e + a8e + c8e + u8e + ']'));
+ o(d8e, 'hasUnicode');
+ YQ = d8e;
+ });
+ function p8e(t, e, r, n) {
+ var i = -1,
+ a = t == null ? 0 : t.length;
+ for (n && a && (r = t[++i]); ++i < a; ) r = e(r, t[i], i, t);
+ return r;
+ }
+ var qQ,
+ XQ = R(() => {
+ 'use strict';
+ o(p8e, 'arrayReduce');
+ qQ = p8e;
+ });
+ function m8e(t, e) {
+ return t && Bo(e, Dr(e), t);
+ }
+ var jQ,
+ KQ = R(() => {
+ 'use strict';
+ kd();
+ vc();
+ o(m8e, 'baseAssign');
+ jQ = m8e;
+ });
+ function g8e(t, e) {
+ return t && Bo(e, bs(e), t);
+ }
+ var QQ,
+ ZQ = R(() => {
+ 'use strict';
+ kd();
+ zh();
+ o(g8e, 'baseAssignIn');
+ QQ = g8e;
+ });
+ function y8e(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length, i = 0, a = []; ++r < n; ) {
+ var s = t[r];
+ e(s, r, t) && (a[i++] = s);
+ }
+ return a;
+ }
+ var Sm,
+ pw = R(() => {
+ 'use strict';
+ o(y8e, 'arrayFilter');
+ Sm = y8e;
+ });
+ function v8e() {
+ return [];
+ }
+ var mw,
+ cL = R(() => {
+ 'use strict';
+ o(v8e, 'stubArray');
+ mw = v8e;
+ });
+ var x8e,
+ b8e,
+ JQ,
+ w8e,
+ Am,
+ gw = R(() => {
+ 'use strict';
+ pw();
+ cL();
+ (x8e = Object.prototype),
+ (b8e = x8e.propertyIsEnumerable),
+ (JQ = Object.getOwnPropertySymbols),
+ (w8e = JQ
+ ? function (t) {
+ return t == null
+ ? []
+ : ((t = Object(t)),
+ Sm(JQ(t), function (e) {
+ return b8e.call(t, e);
+ }));
+ }
+ : mw),
+ (Am = w8e);
+ });
+ function T8e(t, e) {
+ return Bo(t, Am(t), e);
+ }
+ var eZ,
+ tZ = R(() => {
+ 'use strict';
+ kd();
+ gw();
+ o(T8e, 'copySymbols');
+ eZ = T8e;
+ });
+ var k8e,
+ E8e,
+ yw,
+ uL = R(() => {
+ 'use strict';
+ hw();
+ o5();
+ gw();
+ cL();
+ (k8e = Object.getOwnPropertySymbols),
+ (E8e = k8e
+ ? function (t) {
+ for (var e = []; t; ) Em(e, Am(t)), (t = em(t));
+ return e;
+ }
+ : mw),
+ (yw = E8e);
+ });
+ function C8e(t, e) {
+ return Bo(t, yw(t), e);
+ }
+ var rZ,
+ nZ = R(() => {
+ 'use strict';
+ kd();
+ uL();
+ o(C8e, 'copySymbolsIn');
+ rZ = C8e;
+ });
+ function S8e(t, e, r) {
+ var n = e(t);
+ return wt(t) ? n : Em(n, r(t));
+ }
+ var vw,
+ hL = R(() => {
+ 'use strict';
+ hw();
+ Bn();
+ o(S8e, 'baseGetAllKeys');
+ vw = S8e;
+ });
+ function A8e(t) {
+ return vw(t, Dr, Am);
+ }
+ var Rv,
+ fL = R(() => {
+ 'use strict';
+ hL();
+ gw();
+ vc();
+ o(A8e, 'getAllKeys');
+ Rv = A8e;
+ });
+ function _8e(t) {
+ return vw(t, bs, yw);
+ }
+ var xw,
+ dL = R(() => {
+ 'use strict';
+ hL();
+ uL();
+ zh();
+ o(_8e, 'getAllKeysIn');
+ xw = _8e;
+ });
+ var L8e,
+ bw,
+ iZ = R(() => {
+ 'use strict';
+ Nh();
+ Ro();
+ (L8e = xs(Jn, 'DataView')), (bw = L8e);
+ });
+ var D8e,
+ ww,
+ aZ = R(() => {
+ 'use strict';
+ Nh();
+ Ro();
+ (D8e = xs(Jn, 'Promise')), (ww = D8e);
+ });
+ var R8e,
+ Wh,
+ pL = R(() => {
+ 'use strict';
+ Nh();
+ Ro();
+ (R8e = xs(Jn, 'Set')), (Wh = R8e);
+ });
+ var sZ,
+ N8e,
+ oZ,
+ lZ,
+ cZ,
+ uZ,
+ M8e,
+ I8e,
+ O8e,
+ P8e,
+ B8e,
+ Id,
+ oo,
+ Od = R(() => {
+ 'use strict';
+ iZ();
+ J3();
+ aZ();
+ pL();
+ CQ();
+ wu();
+ __();
+ (sZ = '[object Map]'),
+ (N8e = '[object Object]'),
+ (oZ = '[object Promise]'),
+ (lZ = '[object Set]'),
+ (cZ = '[object WeakMap]'),
+ (uZ = '[object DataView]'),
+ (M8e = Tu(bw)),
+ (I8e = Tu(Oh)),
+ (O8e = Tu(ww)),
+ (P8e = Tu(Wh)),
+ (B8e = Tu(nw)),
+ (Id = fa);
+ ((bw && Id(new bw(new ArrayBuffer(1))) != uZ) ||
+ (Oh && Id(new Oh()) != sZ) ||
+ (ww && Id(ww.resolve()) != oZ) ||
+ (Wh && Id(new Wh()) != lZ) ||
+ (nw && Id(new nw()) != cZ)) &&
+ (Id = o(function (t) {
+ var e = fa(t),
+ r = e == N8e ? t.constructor : void 0,
+ n = r ? Tu(r) : '';
+ if (n)
+ switch (n) {
+ case M8e:
+ return uZ;
+ case I8e:
+ return sZ;
+ case O8e:
+ return oZ;
+ case P8e:
+ return lZ;
+ case B8e:
+ return cZ;
+ }
+ return e;
+ }, 'getTag'));
+ oo = Id;
+ });
+ function G8e(t) {
+ var e = t.length,
+ r = new t.constructor(e);
+ return e && typeof t[0] == 'string' && z8e.call(t, 'index') && ((r.index = t.index), (r.input = t.input)), r;
+ }
+ var F8e,
+ z8e,
+ hZ,
+ fZ = R(() => {
+ 'use strict';
+ (F8e = Object.prototype), (z8e = F8e.hasOwnProperty);
+ o(G8e, 'initCloneArray');
+ hZ = G8e;
+ });
+ function $8e(t, e) {
+ var r = e ? Jp(t.buffer) : t.buffer;
+ return new t.constructor(r, t.byteOffset, t.byteLength);
+ }
+ var dZ,
+ pZ = R(() => {
+ 'use strict';
+ n5();
+ o($8e, 'cloneDataView');
+ dZ = $8e;
+ });
+ function U8e(t) {
+ var e = new t.constructor(t.source, V8e.exec(t));
+ return (e.lastIndex = t.lastIndex), e;
+ }
+ var V8e,
+ mZ,
+ gZ = R(() => {
+ 'use strict';
+ V8e = /\w*$/;
+ o(U8e, 'cloneRegExp');
+ mZ = U8e;
+ });
+ function H8e(t) {
+ return vZ ? Object(vZ.call(t)) : {};
+ }
+ var yZ,
+ vZ,
+ xZ,
+ bZ = R(() => {
+ 'use strict';
+ vd();
+ (yZ = Ji ? Ji.prototype : void 0), (vZ = yZ ? yZ.valueOf : void 0);
+ o(H8e, 'cloneSymbol');
+ xZ = H8e;
+ });
+ function u_e(t, e, r) {
+ var n = t.constructor;
+ switch (e) {
+ case J8e:
+ return Jp(t);
+ case Y8e:
+ case W8e:
+ return new n(+t);
+ case e_e:
+ return dZ(t, r);
+ case t_e:
+ case r_e:
+ case n_e:
+ case i_e:
+ case a_e:
+ case s_e:
+ case o_e:
+ case l_e:
+ case c_e:
+ return i5(t, r);
+ case q8e:
+ return new n();
+ case X8e:
+ case Q8e:
+ return new n(t);
+ case j8e:
+ return mZ(t);
+ case K8e:
+ return new n();
+ case Z8e:
+ return xZ(t);
+ }
+ }
+ var Y8e,
+ W8e,
+ q8e,
+ X8e,
+ j8e,
+ K8e,
+ Q8e,
+ Z8e,
+ J8e,
+ e_e,
+ t_e,
+ r_e,
+ n_e,
+ i_e,
+ a_e,
+ s_e,
+ o_e,
+ l_e,
+ c_e,
+ wZ,
+ TZ = R(() => {
+ 'use strict';
+ n5();
+ pZ();
+ gZ();
+ bZ();
+ P_();
+ (Y8e = '[object Boolean]'),
+ (W8e = '[object Date]'),
+ (q8e = '[object Map]'),
+ (X8e = '[object Number]'),
+ (j8e = '[object RegExp]'),
+ (K8e = '[object Set]'),
+ (Q8e = '[object String]'),
+ (Z8e = '[object Symbol]'),
+ (J8e = '[object ArrayBuffer]'),
+ (e_e = '[object DataView]'),
+ (t_e = '[object Float32Array]'),
+ (r_e = '[object Float64Array]'),
+ (n_e = '[object Int8Array]'),
+ (i_e = '[object Int16Array]'),
+ (a_e = '[object Int32Array]'),
+ (s_e = '[object Uint8Array]'),
+ (o_e = '[object Uint8ClampedArray]'),
+ (l_e = '[object Uint16Array]'),
+ (c_e = '[object Uint32Array]');
+ o(u_e, 'initCloneByTag');
+ wZ = u_e;
+ });
+ function f_e(t) {
+ return Wn(t) && oo(t) == h_e;
+ }
+ var h_e,
+ kZ,
+ EZ = R(() => {
+ 'use strict';
+ Od();
+ Mo();
+ h_e = '[object Map]';
+ o(f_e, 'baseIsMap');
+ kZ = f_e;
+ });
+ var CZ,
+ d_e,
+ SZ,
+ AZ = R(() => {
+ 'use strict';
+ EZ();
+ Td();
+ ov();
+ (CZ = Po && Po.isMap), (d_e = CZ ? Oo(CZ) : kZ), (SZ = d_e);
+ });
+ function m_e(t) {
+ return Wn(t) && oo(t) == p_e;
+ }
+ var p_e,
+ _Z,
+ LZ = R(() => {
+ 'use strict';
+ Od();
+ Mo();
+ p_e = '[object Set]';
+ o(m_e, 'baseIsSet');
+ _Z = m_e;
+ });
+ var DZ,
+ g_e,
+ RZ,
+ NZ = R(() => {
+ 'use strict';
+ LZ();
+ Td();
+ ov();
+ (DZ = Po && Po.isSet), (g_e = DZ ? Oo(DZ) : _Z), (RZ = g_e);
+ });
+ function Tw(t, e, r, n, i, a) {
+ var s,
+ l = e & y_e,
+ u = e & v_e,
+ h = e & x_e;
+ if ((r && (s = i ? r(t, n, i, a) : r(t)), s !== void 0)) return s;
+ if (!pn(t)) return t;
+ var f = wt(t);
+ if (f) {
+ if (((s = hZ(t)), !l)) return a5(t, s);
+ } else {
+ var d = oo(t),
+ p = d == IZ || d == E_e;
+ if (El(t)) return r5(t, l);
+ if (d == OZ || d == MZ || (p && !i)) {
+ if (((s = u || p ? {} : l5(t)), !l)) return u ? rZ(t, QQ(s, t)) : eZ(t, jQ(s, t));
+ } else {
+ if (!Cn[d]) return i ? t : {};
+ s = wZ(t, d, l);
+ }
+ }
+ a || (a = new uc());
+ var m = a.get(t);
+ if (m) return m;
+ a.set(t, s),
+ RZ(t)
+ ? t.forEach(function (v) {
+ s.add(Tw(v, e, r, v, t, a));
+ })
+ : SZ(t) &&
+ t.forEach(function (v, x) {
+ s.set(x, Tw(v, e, r, x, t, a));
+ });
+ var g = h ? (u ? xw : Rv) : u ? bs : Dr,
+ y = f ? void 0 : g(t);
+ return (
+ iw(y || t, function (v, x) {
+ y && ((x = v), (v = t[x])), dc(s, x, Tw(v, e, r, x, t, a));
+ }),
+ s
+ );
+ }
+ var y_e,
+ v_e,
+ x_e,
+ MZ,
+ b_e,
+ w_e,
+ T_e,
+ k_e,
+ IZ,
+ E_e,
+ C_e,
+ S_e,
+ OZ,
+ A_e,
+ __e,
+ L_e,
+ D_e,
+ R_e,
+ N_e,
+ M_e,
+ I_e,
+ O_e,
+ P_e,
+ B_e,
+ F_e,
+ z_e,
+ G_e,
+ $_e,
+ V_e,
+ Cn,
+ kw,
+ mL = R(() => {
+ 'use strict';
+ iv();
+ iL();
+ am();
+ KQ();
+ ZQ();
+ I_();
+ B_();
+ tZ();
+ nZ();
+ fL();
+ dL();
+ Od();
+ fZ();
+ TZ();
+ z_();
+ Bn();
+ im();
+ AZ();
+ Js();
+ NZ();
+ vc();
+ zh();
+ (y_e = 1),
+ (v_e = 2),
+ (x_e = 4),
+ (MZ = '[object Arguments]'),
+ (b_e = '[object Array]'),
+ (w_e = '[object Boolean]'),
+ (T_e = '[object Date]'),
+ (k_e = '[object Error]'),
+ (IZ = '[object Function]'),
+ (E_e = '[object GeneratorFunction]'),
+ (C_e = '[object Map]'),
+ (S_e = '[object Number]'),
+ (OZ = '[object Object]'),
+ (A_e = '[object RegExp]'),
+ (__e = '[object Set]'),
+ (L_e = '[object String]'),
+ (D_e = '[object Symbol]'),
+ (R_e = '[object WeakMap]'),
+ (N_e = '[object ArrayBuffer]'),
+ (M_e = '[object DataView]'),
+ (I_e = '[object Float32Array]'),
+ (O_e = '[object Float64Array]'),
+ (P_e = '[object Int8Array]'),
+ (B_e = '[object Int16Array]'),
+ (F_e = '[object Int32Array]'),
+ (z_e = '[object Uint8Array]'),
+ (G_e = '[object Uint8ClampedArray]'),
+ ($_e = '[object Uint16Array]'),
+ (V_e = '[object Uint32Array]'),
+ (Cn = {});
+ Cn[MZ] =
+ Cn[b_e] =
+ Cn[N_e] =
+ Cn[M_e] =
+ Cn[w_e] =
+ Cn[T_e] =
+ Cn[I_e] =
+ Cn[O_e] =
+ Cn[P_e] =
+ Cn[B_e] =
+ Cn[F_e] =
+ Cn[C_e] =
+ Cn[S_e] =
+ Cn[OZ] =
+ Cn[A_e] =
+ Cn[__e] =
+ Cn[L_e] =
+ Cn[D_e] =
+ Cn[z_e] =
+ Cn[G_e] =
+ Cn[$_e] =
+ Cn[V_e] =
+ !0;
+ Cn[k_e] = Cn[IZ] = Cn[R_e] = !1;
+ o(Tw, 'baseClone');
+ kw = Tw;
+ });
+ function H_e(t) {
+ return kw(t, U_e);
+ }
+ var U_e,
+ Qr,
+ gL = R(() => {
+ 'use strict';
+ mL();
+ U_e = 4;
+ o(H_e, 'clone');
+ Qr = H_e;
+ });
+ function q_e(t) {
+ return kw(t, Y_e | W_e);
+ }
+ var Y_e,
+ W_e,
+ yL,
+ PZ = R(() => {
+ 'use strict';
+ mL();
+ (Y_e = 1), (W_e = 4);
+ o(q_e, 'cloneDeep');
+ yL = q_e;
+ });
+ function X_e(t) {
+ for (var e = -1, r = t == null ? 0 : t.length, n = 0, i = []; ++e < r; ) {
+ var a = t[e];
+ a && (i[n++] = a);
+ }
+ return i;
+ }
+ var wc,
+ BZ = R(() => {
+ 'use strict';
+ o(X_e, 'compact');
+ wc = X_e;
+ });
+ function K_e(t) {
+ return this.__data__.set(t, j_e), this;
+ }
+ var j_e,
+ FZ,
+ zZ = R(() => {
+ 'use strict';
+ j_e = '__lodash_hash_undefined__';
+ o(K_e, 'setCacheAdd');
+ FZ = K_e;
+ });
+ function Q_e(t) {
+ return this.__data__.has(t);
+ }
+ var GZ,
+ $Z = R(() => {
+ 'use strict';
+ o(Q_e, 'setCacheHas');
+ GZ = Q_e;
+ });
+ function Ew(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.__data__ = new bd(); ++e < r; ) this.add(t[e]);
+ }
+ var _m,
+ Cw = R(() => {
+ 'use strict';
+ e5();
+ zZ();
+ $Z();
+ o(Ew, 'SetCache');
+ Ew.prototype.add = Ew.prototype.push = FZ;
+ Ew.prototype.has = GZ;
+ _m = Ew;
+ });
+ function Z_e(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length; ++r < n; ) if (e(t[r], r, t)) return !0;
+ return !1;
+ }
+ var Sw,
+ vL = R(() => {
+ 'use strict';
+ o(Z_e, 'arraySome');
+ Sw = Z_e;
+ });
+ function J_e(t, e) {
+ return t.has(e);
+ }
+ var Lm,
+ Aw = R(() => {
+ 'use strict';
+ o(J_e, 'cacheHas');
+ Lm = J_e;
+ });
+ function r9e(t, e, r, n, i, a) {
+ var s = r & e9e,
+ l = t.length,
+ u = e.length;
+ if (l != u && !(s && u > l)) return !1;
+ var h = a.get(t),
+ f = a.get(e);
+ if (h && f) return h == e && f == t;
+ var d = -1,
+ p = !0,
+ m = r & t9e ? new _m() : void 0;
+ for (a.set(t, e), a.set(e, t); ++d < l; ) {
+ var g = t[d],
+ y = e[d];
+ if (n) var v = s ? n(y, g, d, e, t, a) : n(g, y, d, t, e, a);
+ if (v !== void 0) {
+ if (v) continue;
+ p = !1;
+ break;
+ }
+ if (m) {
+ if (
+ !Sw(e, function (x, b) {
+ if (!Lm(m, b) && (g === x || i(g, x, r, n, a))) return m.push(b);
+ })
+ ) {
+ p = !1;
+ break;
+ }
+ } else if (!(g === y || i(g, y, r, n, a))) {
+ p = !1;
+ break;
+ }
+ }
+ return a.delete(t), a.delete(e), p;
+ }
+ var e9e,
+ t9e,
+ _w,
+ xL = R(() => {
+ 'use strict';
+ Cw();
+ vL();
+ Aw();
+ (e9e = 1), (t9e = 2);
+ o(r9e, 'equalArrays');
+ _w = r9e;
+ });
+ function n9e(t) {
+ var e = -1,
+ r = Array(t.size);
+ return (
+ t.forEach(function (n, i) {
+ r[++e] = [i, n];
+ }),
+ r
+ );
+ }
+ var VZ,
+ UZ = R(() => {
+ 'use strict';
+ o(n9e, 'mapToArray');
+ VZ = n9e;
+ });
+ function i9e(t) {
+ var e = -1,
+ r = Array(t.size);
+ return (
+ t.forEach(function (n) {
+ r[++e] = n;
+ }),
+ r
+ );
+ }
+ var Dm,
+ Lw = R(() => {
+ 'use strict';
+ o(i9e, 'setToArray');
+ Dm = i9e;
+ });
+ function v9e(t, e, r, n, i, a, s) {
+ switch (r) {
+ case y9e:
+ if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1;
+ (t = t.buffer), (e = e.buffer);
+ case g9e:
+ return !(t.byteLength != e.byteLength || !a(new Zp(t), new Zp(e)));
+ case o9e:
+ case l9e:
+ case h9e:
+ return No(+t, +e);
+ case c9e:
+ return t.name == e.name && t.message == e.message;
+ case f9e:
+ case p9e:
+ return t == e + '';
+ case u9e:
+ var l = VZ;
+ case d9e:
+ var u = n & a9e;
+ if ((l || (l = Dm), t.size != e.size && !u)) return !1;
+ var h = s.get(t);
+ if (h) return h == e;
+ (n |= s9e), s.set(t, e);
+ var f = _w(l(t), l(e), n, i, a, s);
+ return s.delete(t), f;
+ case m9e:
+ if (bL) return bL.call(t) == bL.call(e);
+ }
+ return !1;
+ }
+ var a9e,
+ s9e,
+ o9e,
+ l9e,
+ c9e,
+ u9e,
+ h9e,
+ f9e,
+ d9e,
+ p9e,
+ m9e,
+ g9e,
+ y9e,
+ HZ,
+ bL,
+ YZ,
+ WZ = R(() => {
+ 'use strict';
+ vd();
+ O_();
+ xd();
+ xL();
+ UZ();
+ Lw();
+ (a9e = 1),
+ (s9e = 2),
+ (o9e = '[object Boolean]'),
+ (l9e = '[object Date]'),
+ (c9e = '[object Error]'),
+ (u9e = '[object Map]'),
+ (h9e = '[object Number]'),
+ (f9e = '[object RegExp]'),
+ (d9e = '[object Set]'),
+ (p9e = '[object String]'),
+ (m9e = '[object Symbol]'),
+ (g9e = '[object ArrayBuffer]'),
+ (y9e = '[object DataView]'),
+ (HZ = Ji ? Ji.prototype : void 0),
+ (bL = HZ ? HZ.valueOf : void 0);
+ o(v9e, 'equalByTag');
+ YZ = v9e;
+ });
+ function T9e(t, e, r, n, i, a) {
+ var s = r & x9e,
+ l = Rv(t),
+ u = l.length,
+ h = Rv(e),
+ f = h.length;
+ if (u != f && !s) return !1;
+ for (var d = u; d--; ) {
+ var p = l[d];
+ if (!(s ? p in e : w9e.call(e, p))) return !1;
+ }
+ var m = a.get(t),
+ g = a.get(e);
+ if (m && g) return m == e && g == t;
+ var y = !0;
+ a.set(t, e), a.set(e, t);
+ for (var v = s; ++d < u; ) {
+ p = l[d];
+ var x = t[p],
+ b = e[p];
+ if (n) var w = s ? n(b, x, p, e, t, a) : n(x, b, p, t, e, a);
+ if (!(w === void 0 ? x === b || i(x, b, r, n, a) : w)) {
+ y = !1;
+ break;
+ }
+ v || (v = p == 'constructor');
+ }
+ if (y && !v) {
+ var S = t.constructor,
+ T = e.constructor;
+ S != T &&
+ 'constructor' in t &&
+ 'constructor' in e &&
+ !(typeof S == 'function' && S instanceof S && typeof T == 'function' && T instanceof T) &&
+ (y = !1);
+ }
+ return a.delete(t), a.delete(e), y;
+ }
+ var x9e,
+ b9e,
+ w9e,
+ qZ,
+ XZ = R(() => {
+ 'use strict';
+ fL();
+ (x9e = 1), (b9e = Object.prototype), (w9e = b9e.hasOwnProperty);
+ o(T9e, 'equalObjects');
+ qZ = T9e;
+ });
+ function C9e(t, e, r, n, i, a) {
+ var s = wt(t),
+ l = wt(e),
+ u = s ? KZ : oo(t),
+ h = l ? KZ : oo(e);
+ (u = u == jZ ? Dw : u), (h = h == jZ ? Dw : h);
+ var f = u == Dw,
+ d = h == Dw,
+ p = u == h;
+ if (p && El(t)) {
+ if (!El(e)) return !1;
+ (s = !0), (f = !1);
+ }
+ if (p && !f) return a || (a = new uc()), s || Bh(t) ? _w(t, e, r, n, i, a) : YZ(t, e, u, r, n, i, a);
+ if (!(r & k9e)) {
+ var m = f && QZ.call(t, '__wrapped__'),
+ g = d && QZ.call(e, '__wrapped__');
+ if (m || g) {
+ var y = m ? t.value() : t,
+ v = g ? e.value() : e;
+ return a || (a = new uc()), i(y, v, r, n, a);
+ }
+ }
+ return p ? (a || (a = new uc()), qZ(t, e, r, n, i, a)) : !1;
+ }
+ var k9e,
+ jZ,
+ KZ,
+ Dw,
+ E9e,
+ QZ,
+ ZZ,
+ JZ = R(() => {
+ 'use strict';
+ iv();
+ xL();
+ WZ();
+ XZ();
+ Od();
+ Bn();
+ im();
+ lv();
+ (k9e = 1),
+ (jZ = '[object Arguments]'),
+ (KZ = '[object Array]'),
+ (Dw = '[object Object]'),
+ (E9e = Object.prototype),
+ (QZ = E9e.hasOwnProperty);
+ o(C9e, 'baseIsEqualDeep');
+ ZZ = C9e;
+ });
+ function eJ(t, e, r, n, i) {
+ return t === e ? !0 : t == null || e == null || (!Wn(t) && !Wn(e)) ? t !== t && e !== e : ZZ(t, e, r, n, eJ, i);
+ }
+ var Rw,
+ wL = R(() => {
+ 'use strict';
+ JZ();
+ Mo();
+ o(eJ, 'baseIsEqual');
+ Rw = eJ;
+ });
+ function _9e(t, e, r, n) {
+ var i = r.length,
+ a = i,
+ s = !n;
+ if (t == null) return !a;
+ for (t = Object(t); i--; ) {
+ var l = r[i];
+ if (s && l[2] ? l[1] !== t[l[0]] : !(l[0] in t)) return !1;
+ }
+ for (; ++i < a; ) {
+ l = r[i];
+ var u = l[0],
+ h = t[u],
+ f = l[1];
+ if (s && l[2]) {
+ if (h === void 0 && !(u in t)) return !1;
+ } else {
+ var d = new uc();
+ if (n) var p = n(h, f, u, t, e, d);
+ if (!(p === void 0 ? Rw(f, h, S9e | A9e, n, d) : p)) return !1;
+ }
+ }
+ return !0;
+ }
+ var S9e,
+ A9e,
+ tJ,
+ rJ = R(() => {
+ 'use strict';
+ iv();
+ wL();
+ (S9e = 1), (A9e = 2);
+ o(_9e, 'baseIsMatch');
+ tJ = _9e;
+ });
+ function L9e(t) {
+ return t === t && !pn(t);
+ }
+ var Nw,
+ TL = R(() => {
+ 'use strict';
+ Js();
+ o(L9e, 'isStrictComparable');
+ Nw = L9e;
+ });
+ function D9e(t) {
+ for (var e = Dr(t), r = e.length; r--; ) {
+ var n = e[r],
+ i = t[n];
+ e[r] = [n, i, Nw(i)];
+ }
+ return e;
+ }
+ var nJ,
+ iJ = R(() => {
+ 'use strict';
+ TL();
+ vc();
+ o(D9e, 'getMatchData');
+ nJ = D9e;
+ });
+ function R9e(t, e) {
+ return function (r) {
+ return r == null ? !1 : r[t] === e && (e !== void 0 || t in Object(r));
+ };
+ }
+ var Mw,
+ kL = R(() => {
+ 'use strict';
+ o(R9e, 'matchesStrictComparable');
+ Mw = R9e;
+ });
+ function N9e(t) {
+ var e = nJ(t);
+ return e.length == 1 && e[0][2]
+ ? Mw(e[0][0], e[0][1])
+ : function (r) {
+ return r === t || tJ(r, t, e);
+ };
+ }
+ var aJ,
+ sJ = R(() => {
+ 'use strict';
+ rJ();
+ iJ();
+ kL();
+ o(N9e, 'baseMatches');
+ aJ = N9e;
+ });
+ function M9e(t, e) {
+ return t != null && e in Object(t);
+ }
+ var oJ,
+ lJ = R(() => {
+ 'use strict';
+ o(M9e, 'baseHasIn');
+ oJ = M9e;
+ });
+ function I9e(t, e, r) {
+ e = Hh(e, t);
+ for (var n = -1, i = e.length, a = !1; ++n < i; ) {
+ var s = xc(e[n]);
+ if (!(a = t != null && r(t, s))) break;
+ t = t[s];
+ }
+ return a || ++n != i ? a : ((i = t == null ? 0 : t.length), !!i && nm(i) && Fh(s, i) && (wt(t) || kl(t)));
+ }
+ var Iw,
+ EL = R(() => {
+ 'use strict';
+ Lv();
+ rm();
+ Bn();
+ uv();
+ c5();
+ km();
+ o(I9e, 'hasPath');
+ Iw = I9e;
+ });
+ function O9e(t, e) {
+ return t != null && Iw(t, e, oJ);
+ }
+ var Ow,
+ CL = R(() => {
+ 'use strict';
+ lJ();
+ EL();
+ o(O9e, 'hasIn');
+ Ow = O9e;
+ });
+ function F9e(t, e) {
+ return Tm(t) && Nw(e)
+ ? Mw(xc(t), e)
+ : function (r) {
+ var n = BQ(r, t);
+ return n === void 0 && n === e ? Ow(r, t) : Rw(e, n, P9e | B9e);
+ };
+ }
+ var P9e,
+ B9e,
+ cJ,
+ uJ = R(() => {
+ 'use strict';
+ wL();
+ FQ();
+ CL();
+ cw();
+ TL();
+ kL();
+ km();
+ (P9e = 1), (B9e = 2);
+ o(F9e, 'baseMatchesProperty');
+ cJ = F9e;
+ });
+ function z9e(t) {
+ return function (e) {
+ return e?.[t];
+ };
+ }
+ var Pw,
+ SL = R(() => {
+ 'use strict';
+ o(z9e, 'baseProperty');
+ Pw = z9e;
+ });
+ function G9e(t) {
+ return function (e) {
+ return Yh(e, t);
+ };
+ }
+ var hJ,
+ fJ = R(() => {
+ 'use strict';
+ Dv();
+ o(G9e, 'basePropertyDeep');
+ hJ = G9e;
+ });
+ function $9e(t) {
+ return Tm(t) ? Pw(xc(t)) : hJ(t);
+ }
+ var dJ,
+ pJ = R(() => {
+ 'use strict';
+ SL();
+ fJ();
+ cw();
+ km();
+ o($9e, 'property');
+ dJ = $9e;
+ });
+ function V9e(t) {
+ return typeof t == 'function'
+ ? t
+ : t == null
+ ? ea
+ : typeof t == 'object'
+ ? wt(t)
+ ? cJ(t[0], t[1])
+ : aJ(t)
+ : dJ(t);
+ }
+ var cn,
+ Qa = R(() => {
+ 'use strict';
+ sJ();
+ uJ();
+ Eu();
+ Bn();
+ pJ();
+ o(V9e, 'baseIteratee');
+ cn = V9e;
+ });
+ function U9e(t, e, r, n) {
+ for (var i = -1, a = t == null ? 0 : t.length; ++i < a; ) {
+ var s = t[i];
+ e(n, s, r(s), t);
+ }
+ return n;
+ }
+ var mJ,
+ gJ = R(() => {
+ 'use strict';
+ o(U9e, 'arrayAggregator');
+ mJ = U9e;
+ });
+ function H9e(t, e) {
+ return t && Qp(t, e, Dr);
+ }
+ var Rm,
+ Bw = R(() => {
+ 'use strict';
+ t5();
+ vc();
+ o(H9e, 'baseForOwn');
+ Rm = H9e;
+ });
+ function Y9e(t, e) {
+ return function (r, n) {
+ if (r == null) return r;
+ if (!ei(r)) return t(r, n);
+ for (var i = r.length, a = e ? i : -1, s = Object(r); (e ? a-- : ++a < i) && n(s[a], a, s) !== !1; );
+ return r;
+ };
+ }
+ var yJ,
+ vJ = R(() => {
+ 'use strict';
+ Io();
+ o(Y9e, 'createBaseEach');
+ yJ = Y9e;
+ });
+ var W9e,
+ As,
+ qh = R(() => {
+ 'use strict';
+ Bw();
+ vJ();
+ (W9e = yJ(Rm)), (As = W9e);
+ });
+ function q9e(t, e, r, n) {
+ return (
+ As(t, function (i, a, s) {
+ e(n, i, r(i), s);
+ }),
+ n
+ );
+ }
+ var xJ,
+ bJ = R(() => {
+ 'use strict';
+ qh();
+ o(q9e, 'baseAggregator');
+ xJ = q9e;
+ });
+ function X9e(t, e) {
+ return function (r, n) {
+ var i = wt(r) ? mJ : xJ,
+ a = e ? e() : {};
+ return i(r, t, cn(n, 2), a);
+ };
+ }
+ var wJ,
+ TJ = R(() => {
+ 'use strict';
+ gJ();
+ bJ();
+ Qa();
+ Bn();
+ o(X9e, 'createAggregator');
+ wJ = X9e;
+ });
+ var j9e,
+ Fw,
+ kJ = R(() => {
+ 'use strict';
+ Ro();
+ (j9e = o(function () {
+ return Jn.Date.now();
+ }, 'now')),
+ (Fw = j9e);
+ });
+ var EJ,
+ K9e,
+ Q9e,
+ Xh,
+ CJ = R(() => {
+ 'use strict';
+ sm();
+ xd();
+ Ed();
+ zh();
+ (EJ = Object.prototype),
+ (K9e = EJ.hasOwnProperty),
+ (Q9e = pc(function (t, e) {
+ t = Object(t);
+ var r = -1,
+ n = e.length,
+ i = n > 2 ? e[2] : void 0;
+ for (i && eo(e[0], e[1], i) && (n = 1); ++r < n; )
+ for (var a = e[r], s = bs(a), l = -1, u = s.length; ++l < u; ) {
+ var h = s[l],
+ f = t[h];
+ (f === void 0 || (No(f, EJ[h]) && !K9e.call(t, h))) && (t[h] = a[h]);
+ }
+ return t;
+ })),
+ (Xh = Q9e);
+ });
+ function Z9e(t, e, r) {
+ for (var n = -1, i = t == null ? 0 : t.length; ++n < i; ) if (r(e, t[n])) return !0;
+ return !1;
+ }
+ var zw,
+ AL = R(() => {
+ 'use strict';
+ o(Z9e, 'arrayIncludesWith');
+ zw = Z9e;
+ });
+ function eLe(t, e, r, n) {
+ var i = -1,
+ a = ow,
+ s = !0,
+ l = t.length,
+ u = [],
+ h = e.length;
+ if (!l) return u;
+ r && (e = Ss(e, Oo(r))), n ? ((a = zw), (s = !1)) : e.length >= J9e && ((a = Lm), (s = !1), (e = new _m(e)));
+ e: for (; ++i < l; ) {
+ var f = t[i],
+ d = r == null ? f : r(f);
+ if (((f = n || f !== 0 ? f : 0), s && d === d)) {
+ for (var p = h; p--; ) if (e[p] === d) continue e;
+ u.push(f);
+ } else a(e, d, n) || u.push(f);
+ }
+ return u;
+ }
+ var J9e,
+ SJ,
+ AJ = R(() => {
+ 'use strict';
+ Cw();
+ sL();
+ AL();
+ Md();
+ Td();
+ Aw();
+ J9e = 200;
+ o(eLe, 'baseDifference');
+ SJ = eLe;
+ });
+ var tLe,
+ jh,
+ _J = R(() => {
+ 'use strict';
+ AJ();
+ Cm();
+ sm();
+ u5();
+ (tLe = pc(function (t, e) {
+ return wd(t) ? SJ(t, bc(e, 1, wd, !0)) : [];
+ })),
+ (jh = tLe);
+ });
+ function rLe(t) {
+ var e = t == null ? 0 : t.length;
+ return e ? t[e - 1] : void 0;
+ }
+ var ma,
+ LJ = R(() => {
+ 'use strict';
+ o(rLe, 'last');
+ ma = rLe;
+ });
+ function nLe(t, e, r) {
+ var n = t == null ? 0 : t.length;
+ return n ? ((e = r || e === void 0 ? 1 : yc(e)), dw(t, e < 0 ? 0 : e, n)) : [];
+ }
+ var fi,
+ DJ = R(() => {
+ 'use strict';
+ lL();
+ xm();
+ o(nLe, 'drop');
+ fi = nLe;
+ });
+ function iLe(t, e, r) {
+ var n = t == null ? 0 : t.length;
+ return n ? ((e = r || e === void 0 ? 1 : yc(e)), (e = n - e), dw(t, 0, e < 0 ? 0 : e)) : [];
+ }
+ var Ru,
+ RJ = R(() => {
+ 'use strict';
+ lL();
+ xm();
+ o(iLe, 'dropRight');
+ Ru = iLe;
+ });
+ function aLe(t) {
+ return typeof t == 'function' ? t : ea;
+ }
+ var Nm,
+ Gw = R(() => {
+ 'use strict';
+ Eu();
+ o(aLe, 'castFunction');
+ Nm = aLe;
+ });
+ function sLe(t, e) {
+ var r = wt(t) ? iw : As;
+ return r(t, Nm(e));
+ }
+ var Ee,
+ $w = R(() => {
+ 'use strict';
+ iL();
+ qh();
+ Gw();
+ Bn();
+ o(sLe, 'forEach');
+ Ee = sLe;
+ });
+ var NJ = R(() => {
+ 'use strict';
+ $w();
+ });
+ function oLe(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length; ++r < n; ) if (!e(t[r], r, t)) return !1;
+ return !0;
+ }
+ var MJ,
+ IJ = R(() => {
+ 'use strict';
+ o(oLe, 'arrayEvery');
+ MJ = oLe;
+ });
+ function lLe(t, e) {
+ var r = !0;
+ return (
+ As(t, function (n, i, a) {
+ return (r = !!e(n, i, a)), r;
+ }),
+ r
+ );
+ }
+ var OJ,
+ PJ = R(() => {
+ 'use strict';
+ qh();
+ o(lLe, 'baseEvery');
+ OJ = lLe;
+ });
+ function cLe(t, e, r) {
+ var n = wt(t) ? MJ : OJ;
+ return r && eo(t, e, r) && (e = void 0), n(t, cn(e, 3));
+ }
+ var Ia,
+ BJ = R(() => {
+ 'use strict';
+ IJ();
+ PJ();
+ Qa();
+ Bn();
+ Ed();
+ o(cLe, 'every');
+ Ia = cLe;
+ });
+ function uLe(t, e) {
+ var r = [];
+ return (
+ As(t, function (n, i, a) {
+ e(n, i, a) && r.push(n);
+ }),
+ r
+ );
+ }
+ var Vw,
+ _L = R(() => {
+ 'use strict';
+ qh();
+ o(uLe, 'baseFilter');
+ Vw = uLe;
+ });
+ function hLe(t, e) {
+ var r = wt(t) ? Sm : Vw;
+ return r(t, cn(e, 3));
+ }
+ var $r,
+ LL = R(() => {
+ 'use strict';
+ pw();
+ _L();
+ Qa();
+ Bn();
+ o(hLe, 'filter');
+ $r = hLe;
+ });
+ function fLe(t) {
+ return function (e, r, n) {
+ var i = Object(e);
+ if (!ei(e)) {
+ var a = cn(r, 3);
+ (e = Dr(e)),
+ (r = o(function (l) {
+ return a(i[l], l, i);
+ }, 'predicate'));
+ }
+ var s = t(e, r, n);
+ return s > -1 ? i[a ? e[s] : s] : void 0;
+ };
+ }
+ var FJ,
+ zJ = R(() => {
+ 'use strict';
+ Qa();
+ Io();
+ vc();
+ o(fLe, 'createFind');
+ FJ = fLe;
+ });
+ function pLe(t, e, r) {
+ var n = t == null ? 0 : t.length;
+ if (!n) return -1;
+ var i = r == null ? 0 : yc(r);
+ return i < 0 && (i = dLe(n + i, 0)), aw(t, cn(e, 3), i);
+ }
+ var dLe,
+ GJ,
+ $J = R(() => {
+ 'use strict';
+ aL();
+ Qa();
+ xm();
+ dLe = Math.max;
+ o(pLe, 'findIndex');
+ GJ = pLe;
+ });
+ var mLe,
+ Za,
+ VJ = R(() => {
+ 'use strict';
+ zJ();
+ $J();
+ (mLe = FJ(GJ)), (Za = mLe);
+ });
+ function gLe(t) {
+ return t && t.length ? t[0] : void 0;
+ }
+ var na,
+ UJ = R(() => {
+ 'use strict';
+ o(gLe, 'head');
+ na = gLe;
+ });
+ var HJ = R(() => {
+ 'use strict';
+ UJ();
+ });
+ function yLe(t, e) {
+ var r = -1,
+ n = ei(t) ? Array(t.length) : [];
+ return (
+ As(t, function (i, a, s) {
+ n[++r] = e(i, a, s);
+ }),
+ n
+ );
+ }
+ var Uw,
+ DL = R(() => {
+ 'use strict';
+ qh();
+ Io();
+ o(yLe, 'baseMap');
+ Uw = yLe;
+ });
+ function vLe(t, e) {
+ var r = wt(t) ? Ss : Uw;
+ return r(t, cn(e, 3));
+ }
+ var qe,
+ Mm = R(() => {
+ 'use strict';
+ Md();
+ Qa();
+ DL();
+ Bn();
+ o(vLe, 'map');
+ qe = vLe;
+ });
+ function xLe(t, e) {
+ return bc(qe(t, e), 1);
+ }
+ var ga,
+ RL = R(() => {
+ 'use strict';
+ Cm();
+ Mm();
+ o(xLe, 'flatMap');
+ ga = xLe;
+ });
+ function bLe(t, e) {
+ return t == null ? t : Qp(t, Nm(e), bs);
+ }
+ var NL,
+ YJ = R(() => {
+ 'use strict';
+ t5();
+ Gw();
+ zh();
+ o(bLe, 'forIn');
+ NL = bLe;
+ });
+ function wLe(t, e) {
+ return t && Rm(t, Nm(e));
+ }
+ var ML,
+ WJ = R(() => {
+ 'use strict';
+ Bw();
+ Gw();
+ o(wLe, 'forOwn');
+ ML = wLe;
+ });
+ var TLe,
+ kLe,
+ ELe,
+ IL,
+ qJ = R(() => {
+ 'use strict';
+ Kp();
+ TJ();
+ (TLe = Object.prototype),
+ (kLe = TLe.hasOwnProperty),
+ (ELe = wJ(function (t, e, r) {
+ kLe.call(t, r) ? t[r].push(e) : hc(t, r, [e]);
+ })),
+ (IL = ELe);
+ });
+ function CLe(t, e) {
+ return t > e;
+ }
+ var XJ,
+ jJ = R(() => {
+ 'use strict';
+ o(CLe, 'baseGt');
+ XJ = CLe;
+ });
+ function _Le(t, e) {
+ return t != null && ALe.call(t, e);
+ }
+ var SLe,
+ ALe,
+ KJ,
+ QJ = R(() => {
+ 'use strict';
+ (SLe = Object.prototype), (ALe = SLe.hasOwnProperty);
+ o(_Le, 'baseHas');
+ KJ = _Le;
+ });
+ function LLe(t, e) {
+ return t != null && Iw(t, e, KJ);
+ }
+ var Xe,
+ ZJ = R(() => {
+ 'use strict';
+ QJ();
+ EL();
+ o(LLe, 'has');
+ Xe = LLe;
+ });
+ function RLe(t) {
+ return typeof t == 'string' || (!wt(t) && Wn(t) && fa(t) == DLe);
+ }
+ var DLe,
+ di,
+ Hw = R(() => {
+ 'use strict';
+ wu();
+ Bn();
+ Mo();
+ DLe = '[object String]';
+ o(RLe, 'isString');
+ di = RLe;
+ });
+ function NLe(t, e) {
+ return Ss(e, function (r) {
+ return t[r];
+ });
+ }
+ var JJ,
+ eee = R(() => {
+ 'use strict';
+ Md();
+ o(NLe, 'baseValues');
+ JJ = NLe;
+ });
+ function MLe(t) {
+ return t == null ? [] : JJ(t, Dr(t));
+ }
+ var or,
+ OL = R(() => {
+ 'use strict';
+ eee();
+ vc();
+ o(MLe, 'values');
+ or = MLe;
+ });
+ function OLe(t, e, r, n) {
+ (t = ei(t) ? t : or(t)), (r = r && !n ? yc(r) : 0);
+ var i = t.length;
+ return r < 0 && (r = ILe(i + r, 0)), di(t) ? r <= i && t.indexOf(e, r) > -1 : !!i && bm(t, e, r) > -1;
+ }
+ var ILe,
+ Fn,
+ tee = R(() => {
+ 'use strict';
+ sw();
+ Io();
+ Hw();
+ xm();
+ OL();
+ ILe = Math.max;
+ o(OLe, 'includes');
+ Fn = OLe;
+ });
+ function BLe(t, e, r) {
+ var n = t == null ? 0 : t.length;
+ if (!n) return -1;
+ var i = r == null ? 0 : yc(r);
+ return i < 0 && (i = PLe(n + i, 0)), bm(t, e, i);
+ }
+ var PLe,
+ Yw,
+ ree = R(() => {
+ 'use strict';
+ sw();
+ xm();
+ PLe = Math.max;
+ o(BLe, 'indexOf');
+ Yw = BLe;
+ });
+ function VLe(t) {
+ if (t == null) return !0;
+ if (ei(t) && (wt(t) || typeof t == 'string' || typeof t.splice == 'function' || El(t) || Bh(t) || kl(t)))
+ return !t.length;
+ var e = oo(t);
+ if (e == FLe || e == zLe) return !t.size;
+ if (fc(t)) return !wm(t).length;
+ for (var r in t) if ($Le.call(t, r)) return !1;
+ return !0;
+ }
+ var FLe,
+ zLe,
+ GLe,
+ $Le,
+ Qt,
+ Ww = R(() => {
+ 'use strict';
+ lw();
+ Od();
+ rm();
+ Bn();
+ Io();
+ im();
+ tm();
+ lv();
+ (FLe = '[object Map]'), (zLe = '[object Set]'), (GLe = Object.prototype), ($Le = GLe.hasOwnProperty);
+ o(VLe, 'isEmpty');
+ Qt = VLe;
+ });
+ function HLe(t) {
+ return Wn(t) && fa(t) == ULe;
+ }
+ var ULe,
+ nee,
+ iee = R(() => {
+ 'use strict';
+ wu();
+ Mo();
+ ULe = '[object RegExp]';
+ o(HLe, 'baseIsRegExp');
+ nee = HLe;
+ });
+ var aee,
+ YLe,
+ zo,
+ see = R(() => {
+ 'use strict';
+ iee();
+ Td();
+ ov();
+ (aee = Po && Po.isRegExp), (YLe = aee ? Oo(aee) : nee), (zo = YLe);
+ });
+ function WLe(t) {
+ return t === void 0;
+ }
+ var er,
+ oee = R(() => {
+ 'use strict';
+ o(WLe, 'isUndefined');
+ er = WLe;
+ });
+ function qLe(t, e) {
+ return t < e;
+ }
+ var qw,
+ PL = R(() => {
+ 'use strict';
+ o(qLe, 'baseLt');
+ qw = qLe;
+ });
+ function XLe(t, e) {
+ var r = {};
+ return (
+ (e = cn(e, 3)),
+ Rm(t, function (n, i, a) {
+ hc(r, i, e(n, i, a));
+ }),
+ r
+ );
+ }
+ var Pd,
+ lee = R(() => {
+ 'use strict';
+ Kp();
+ Bw();
+ Qa();
+ o(XLe, 'mapValues');
+ Pd = XLe;
+ });
+ function jLe(t, e, r) {
+ for (var n = -1, i = t.length; ++n < i; ) {
+ var a = t[n],
+ s = e(a);
+ if (s != null && (l === void 0 ? s === s && !so(s) : r(s, l)))
+ var l = s,
+ u = a;
+ }
+ return u;
+ }
+ var Im,
+ Xw = R(() => {
+ 'use strict';
+ Nd();
+ o(jLe, 'baseExtremum');
+ Im = jLe;
+ });
+ function KLe(t) {
+ return t && t.length ? Im(t, ea, XJ) : void 0;
+ }
+ var _s,
+ cee = R(() => {
+ 'use strict';
+ Xw();
+ jJ();
+ Eu();
+ o(KLe, 'max');
+ _s = KLe;
+ });
+ function QLe(t) {
+ return t && t.length ? Im(t, ea, qw) : void 0;
+ }
+ var Ll,
+ BL = R(() => {
+ 'use strict';
+ Xw();
+ PL();
+ Eu();
+ o(QLe, 'min');
+ Ll = QLe;
+ });
+ function ZLe(t, e) {
+ return t && t.length ? Im(t, cn(e, 2), qw) : void 0;
+ }
+ var Bd,
+ uee = R(() => {
+ 'use strict';
+ Xw();
+ Qa();
+ PL();
+ o(ZLe, 'minBy');
+ Bd = ZLe;
+ });
+ function eDe(t) {
+ if (typeof t != 'function') throw new TypeError(JLe);
+ return function () {
+ var e = arguments;
+ switch (e.length) {
+ case 0:
+ return !t.call(this);
+ case 1:
+ return !t.call(this, e[0]);
+ case 2:
+ return !t.call(this, e[0], e[1]);
+ case 3:
+ return !t.call(this, e[0], e[1], e[2]);
+ }
+ return !t.apply(this, e);
+ };
+ }
+ var JLe,
+ hee,
+ fee = R(() => {
+ 'use strict';
+ JLe = 'Expected a function';
+ o(eDe, 'negate');
+ hee = eDe;
+ });
+ function tDe(t, e, r, n) {
+ if (!pn(t)) return t;
+ e = Hh(e, t);
+ for (var i = -1, a = e.length, s = a - 1, l = t; l != null && ++i < a; ) {
+ var u = xc(e[i]),
+ h = r;
+ if (u === '__proto__' || u === 'constructor' || u === 'prototype') return t;
+ if (i != s) {
+ var f = l[u];
+ (h = n ? n(f, u, l) : void 0), h === void 0 && (h = pn(f) ? f : Fh(e[i + 1]) ? [] : {});
+ }
+ dc(l, u, h), (l = l[u]);
+ }
+ return t;
+ }
+ var dee,
+ pee = R(() => {
+ 'use strict';
+ am();
+ Lv();
+ uv();
+ Js();
+ km();
+ o(tDe, 'baseSet');
+ dee = tDe;
+ });
+ function rDe(t, e, r) {
+ for (var n = -1, i = e.length, a = {}; ++n < i; ) {
+ var s = e[n],
+ l = Yh(t, s);
+ r(l, s) && dee(a, Hh(s, t), l);
+ }
+ return a;
+ }
+ var jw,
+ FL = R(() => {
+ 'use strict';
+ Dv();
+ pee();
+ Lv();
+ o(rDe, 'basePickBy');
+ jw = rDe;
+ });
+ function nDe(t, e) {
+ if (t == null) return {};
+ var r = Ss(xw(t), function (n) {
+ return [n];
+ });
+ return (
+ (e = cn(e)),
+ jw(t, r, function (n, i) {
+ return e(n, i[0]);
+ })
+ );
+ }
+ var Ls,
+ mee = R(() => {
+ 'use strict';
+ Md();
+ Qa();
+ FL();
+ dL();
+ o(nDe, 'pickBy');
+ Ls = nDe;
+ });
+ function iDe(t, e) {
+ var r = t.length;
+ for (t.sort(e); r--; ) t[r] = t[r].value;
+ return t;
+ }
+ var gee,
+ yee = R(() => {
+ 'use strict';
+ o(iDe, 'baseSortBy');
+ gee = iDe;
+ });
+ function aDe(t, e) {
+ if (t !== e) {
+ var r = t !== void 0,
+ n = t === null,
+ i = t === t,
+ a = so(t),
+ s = e !== void 0,
+ l = e === null,
+ u = e === e,
+ h = so(e);
+ if ((!l && !h && !a && t > e) || (a && s && u && !l && !h) || (n && s && u) || (!r && u) || !i) return 1;
+ if ((!n && !a && !h && t < e) || (h && r && i && !n && !a) || (l && r && i) || (!s && i) || !u) return -1;
+ }
+ return 0;
+ }
+ var vee,
+ xee = R(() => {
+ 'use strict';
+ Nd();
+ o(aDe, 'compareAscending');
+ vee = aDe;
+ });
+ function sDe(t, e, r) {
+ for (var n = -1, i = t.criteria, a = e.criteria, s = i.length, l = r.length; ++n < s; ) {
+ var u = vee(i[n], a[n]);
+ if (u) {
+ if (n >= l) return u;
+ var h = r[n];
+ return u * (h == 'desc' ? -1 : 1);
+ }
+ }
+ return t.index - e.index;
+ }
+ var bee,
+ wee = R(() => {
+ 'use strict';
+ xee();
+ o(sDe, 'compareMultiple');
+ bee = sDe;
+ });
+ function oDe(t, e, r) {
+ e.length
+ ? (e = Ss(e, function (a) {
+ return wt(a)
+ ? function (s) {
+ return Yh(s, a.length === 1 ? a[0] : a);
+ }
+ : a;
+ }))
+ : (e = [ea]);
+ var n = -1;
+ e = Ss(e, Oo(cn));
+ var i = Uw(t, function (a, s, l) {
+ var u = Ss(e, function (h) {
+ return h(a);
+ });
+ return { criteria: u, index: ++n, value: a };
+ });
+ return gee(i, function (a, s) {
+ return bee(a, s, r);
+ });
+ }
+ var Tee,
+ kee = R(() => {
+ 'use strict';
+ Md();
+ Dv();
+ Qa();
+ DL();
+ yee();
+ Td();
+ wee();
+ Eu();
+ Bn();
+ o(oDe, 'baseOrderBy');
+ Tee = oDe;
+ });
+ var lDe,
+ Eee,
+ Cee = R(() => {
+ 'use strict';
+ SL();
+ (lDe = Pw('length')), (Eee = lDe);
+ });
+ function bDe(t) {
+ for (var e = (See.lastIndex = 0); See.test(t); ) ++e;
+ return e;
+ }
+ var Aee,
+ cDe,
+ uDe,
+ hDe,
+ fDe,
+ dDe,
+ pDe,
+ zL,
+ GL,
+ mDe,
+ _ee,
+ Lee,
+ Dee,
+ gDe,
+ Ree,
+ Nee,
+ yDe,
+ vDe,
+ xDe,
+ See,
+ Mee,
+ Iee = R(() => {
+ 'use strict';
+ (Aee = '\\ud800-\\udfff'),
+ (cDe = '\\u0300-\\u036f'),
+ (uDe = '\\ufe20-\\ufe2f'),
+ (hDe = '\\u20d0-\\u20ff'),
+ (fDe = cDe + uDe + hDe),
+ (dDe = '\\ufe0e\\ufe0f'),
+ (pDe = '[' + Aee + ']'),
+ (zL = '[' + fDe + ']'),
+ (GL = '\\ud83c[\\udffb-\\udfff]'),
+ (mDe = '(?:' + zL + '|' + GL + ')'),
+ (_ee = '[^' + Aee + ']'),
+ (Lee = '(?:\\ud83c[\\udde6-\\uddff]){2}'),
+ (Dee = '[\\ud800-\\udbff][\\udc00-\\udfff]'),
+ (gDe = '\\u200d'),
+ (Ree = mDe + '?'),
+ (Nee = '[' + dDe + ']?'),
+ (yDe = '(?:' + gDe + '(?:' + [_ee, Lee, Dee].join('|') + ')' + Nee + Ree + ')*'),
+ (vDe = Nee + Ree + yDe),
+ (xDe = '(?:' + [_ee + zL + '?', zL, Lee, Dee, pDe].join('|') + ')'),
+ (See = RegExp(GL + '(?=' + GL + ')|' + xDe + vDe, 'g'));
+ o(bDe, 'unicodeSize');
+ Mee = bDe;
+ });
+ function wDe(t) {
+ return YQ(t) ? Mee(t) : Eee(t);
+ }
+ var Oee,
+ Pee = R(() => {
+ 'use strict';
+ Cee();
+ WQ();
+ Iee();
+ o(wDe, 'stringSize');
+ Oee = wDe;
+ });
+ function TDe(t, e) {
+ return jw(t, e, function (r, n) {
+ return Ow(t, n);
+ });
+ }
+ var Bee,
+ Fee = R(() => {
+ 'use strict';
+ FL();
+ CL();
+ o(TDe, 'basePick');
+ Bee = TDe;
+ });
+ var kDe,
+ Fd,
+ zee = R(() => {
+ 'use strict';
+ Fee();
+ HQ();
+ (kDe = UQ(function (t, e) {
+ return t == null ? {} : Bee(t, e);
+ })),
+ (Fd = kDe);
+ });
+ function SDe(t, e, r, n) {
+ for (var i = -1, a = CDe(EDe((e - t) / (r || 1)), 0), s = Array(a); a--; ) (s[n ? a : ++i] = t), (t += r);
+ return s;
+ }
+ var EDe,
+ CDe,
+ Gee,
+ $ee = R(() => {
+ 'use strict';
+ (EDe = Math.ceil), (CDe = Math.max);
+ o(SDe, 'baseRange');
+ Gee = SDe;
+ });
+ function ADe(t) {
+ return function (e, r, n) {
+ return (
+ n && typeof n != 'number' && eo(e, r, n) && (r = n = void 0),
+ (e = vm(e)),
+ r === void 0 ? ((r = e), (e = 0)) : (r = vm(r)),
+ (n = n === void 0 ? (e < r ? 1 : -1) : vm(n)),
+ Gee(e, r, n, t)
+ );
+ };
+ }
+ var Vee,
+ Uee = R(() => {
+ 'use strict';
+ $ee();
+ Ed();
+ rL();
+ o(ADe, 'createRange');
+ Vee = ADe;
+ });
+ var _De,
+ Go,
+ Hee = R(() => {
+ 'use strict';
+ Uee();
+ (_De = Vee()), (Go = _De);
+ });
+ function LDe(t, e, r, n, i) {
+ return (
+ i(t, function (a, s, l) {
+ r = n ? ((n = !1), a) : e(r, a, s, l);
+ }),
+ r
+ );
+ }
+ var Yee,
+ Wee = R(() => {
+ 'use strict';
+ o(LDe, 'baseReduce');
+ Yee = LDe;
+ });
+ function DDe(t, e, r) {
+ var n = wt(t) ? qQ : Yee,
+ i = arguments.length < 3;
+ return n(t, cn(e, 4), r, i, As);
+ }
+ var Vr,
+ $L = R(() => {
+ 'use strict';
+ XQ();
+ qh();
+ Qa();
+ Wee();
+ Bn();
+ o(DDe, 'reduce');
+ Vr = DDe;
+ });
+ function RDe(t, e) {
+ var r = wt(t) ? Sm : Vw;
+ return r(t, hee(cn(e, 3)));
+ }
+ var Kh,
+ qee = R(() => {
+ 'use strict';
+ pw();
+ _L();
+ Qa();
+ Bn();
+ fee();
+ o(RDe, 'reject');
+ Kh = RDe;
+ });
+ function IDe(t) {
+ if (t == null) return 0;
+ if (ei(t)) return di(t) ? Oee(t) : t.length;
+ var e = oo(t);
+ return e == NDe || e == MDe ? t.size : wm(t).length;
+ }
+ var NDe,
+ MDe,
+ VL,
+ Xee = R(() => {
+ 'use strict';
+ lw();
+ Od();
+ Io();
+ Hw();
+ Pee();
+ (NDe = '[object Map]'), (MDe = '[object Set]');
+ o(IDe, 'size');
+ VL = IDe;
+ });
+ function ODe(t, e) {
+ var r;
+ return (
+ As(t, function (n, i, a) {
+ return (r = e(n, i, a)), !r;
+ }),
+ !!r
+ );
+ }
+ var jee,
+ Kee = R(() => {
+ 'use strict';
+ qh();
+ o(ODe, 'baseSome');
+ jee = ODe;
+ });
+ function PDe(t, e, r) {
+ var n = wt(t) ? Sw : jee;
+ return r && eo(t, e, r) && (e = void 0), n(t, cn(e, 3));
+ }
+ var Nv,
+ Qee = R(() => {
+ 'use strict';
+ vL();
+ Qa();
+ Kee();
+ Bn();
+ Ed();
+ o(PDe, 'some');
+ Nv = PDe;
+ });
+ var BDe,
+ Tc,
+ Zee = R(() => {
+ 'use strict';
+ Cm();
+ kee();
+ sm();
+ Ed();
+ (BDe = pc(function (t, e) {
+ if (t == null) return [];
+ var r = e.length;
+ return (
+ r > 1 && eo(t, e[0], e[1]) ? (e = []) : r > 2 && eo(e[0], e[1], e[2]) && (e = [e[0]]),
+ Tee(t, bc(e, 1), [])
+ );
+ })),
+ (Tc = BDe);
+ });
+ var FDe,
+ zDe,
+ Jee,
+ ete = R(() => {
+ 'use strict';
+ pL();
+ nL();
+ Lw();
+ (FDe = 1 / 0),
+ (zDe =
+ Wh && 1 / Dm(new Wh([, -0]))[1] == FDe
+ ? function (t) {
+ return new Wh(t);
+ }
+ : qn),
+ (Jee = zDe);
+ });
+ function $De(t, e, r) {
+ var n = -1,
+ i = ow,
+ a = t.length,
+ s = !0,
+ l = [],
+ u = l;
+ if (r) (s = !1), (i = zw);
+ else if (a >= GDe) {
+ var h = e ? null : Jee(t);
+ if (h) return Dm(h);
+ (s = !1), (i = Lm), (u = new _m());
+ } else u = e ? [] : l;
+ e: for (; ++n < a; ) {
+ var f = t[n],
+ d = e ? e(f) : f;
+ if (((f = r || f !== 0 ? f : 0), s && d === d)) {
+ for (var p = u.length; p--; ) if (u[p] === d) continue e;
+ e && u.push(d), l.push(f);
+ } else i(u, d, r) || (u !== l && u.push(d), l.push(f));
+ }
+ return l;
+ }
+ var GDe,
+ Om,
+ Kw = R(() => {
+ 'use strict';
+ Cw();
+ sL();
+ AL();
+ Aw();
+ ete();
+ Lw();
+ GDe = 200;
+ o($De, 'baseUniq');
+ Om = $De;
+ });
+ var VDe,
+ UL,
+ tte = R(() => {
+ 'use strict';
+ Cm();
+ sm();
+ Kw();
+ u5();
+ (VDe = pc(function (t) {
+ return Om(bc(t, 1, wd, !0));
+ })),
+ (UL = VDe);
+ });
+ function UDe(t) {
+ return t && t.length ? Om(t) : [];
+ }
+ var Pm,
+ rte = R(() => {
+ 'use strict';
+ Kw();
+ o(UDe, 'uniq');
+ Pm = UDe;
+ });
+ function HDe(t, e) {
+ return t && t.length ? Om(t, cn(e, 2)) : [];
+ }
+ var nte,
+ ite = R(() => {
+ 'use strict';
+ Qa();
+ Kw();
+ o(HDe, 'uniqBy');
+ nte = HDe;
+ });
+ function WDe(t) {
+ var e = ++YDe;
+ return uw(t) + e;
+ }
+ var YDe,
+ zd,
+ ate = R(() => {
+ 'use strict';
+ oL();
+ YDe = 0;
+ o(WDe, 'uniqueId');
+ zd = WDe;
+ });
+ function qDe(t, e, r) {
+ for (var n = -1, i = t.length, a = e.length, s = {}; ++n < i; ) {
+ var l = n < a ? e[n] : void 0;
+ r(s, t[n], l);
+ }
+ return s;
+ }
+ var ste,
+ ote = R(() => {
+ 'use strict';
+ o(qDe, 'baseZipObject');
+ ste = qDe;
+ });
+ function XDe(t, e) {
+ return ste(t || [], e || [], dc);
+ }
+ var Qw,
+ lte = R(() => {
+ 'use strict';
+ am();
+ ote();
+ o(XDe, 'zipObject');
+ Qw = XDe;
+ });
+ var Pt = R(() => {
+ 'use strict';
+ NQ();
+ gL();
+ PZ();
+ BZ();
+ Y_();
+ CJ();
+ _J();
+ DJ();
+ RJ();
+ NJ();
+ BJ();
+ LL();
+ VJ();
+ HJ();
+ RL();
+ fw();
+ $w();
+ YJ();
+ WJ();
+ qJ();
+ ZJ();
+ Eu();
+ tee();
+ ree();
+ Bn();
+ Ww();
+ Jy();
+ Js();
+ see();
+ Hw();
+ oee();
+ vc();
+ LJ();
+ Mm();
+ lee();
+ cee();
+ X_();
+ BL();
+ uee();
+ nL();
+ kJ();
+ zee();
+ mee();
+ Hee();
+ $L();
+ qee();
+ Xee();
+ Qee();
+ Zee();
+ tte();
+ rte();
+ ate();
+ OL();
+ lte();
+ });
+ function ute(t, e) {
+ t[e] ? t[e]++ : (t[e] = 1);
+ }
+ function hte(t, e) {
+ --t[e] || delete t[e];
+ }
+ function Mv(t, e, r, n) {
+ var i = '' + e,
+ a = '' + r;
+ if (!t && i > a) {
+ var s = i;
+ (i = a), (a = s);
+ }
+ return i + cte + a + cte + (er(n) ? jDe : n);
+ }
+ function KDe(t, e, r, n) {
+ var i = '' + e,
+ a = '' + r;
+ if (!t && i > a) {
+ var s = i;
+ (i = a), (a = s);
+ }
+ var l = { v: i, w: a };
+ return n && (l.name = n), l;
+ }
+ function HL(t, e) {
+ return Mv(t, e.v, e.w, e.name);
+ }
+ var jDe,
+ Gd,
+ cte,
+ lr,
+ Zw = R(() => {
+ 'use strict';
+ Pt();
+ (jDe = '\0'),
+ (Gd = '\0'),
+ (cte = ''),
+ (lr = class {
+ static {
+ o(this, 'Graph');
+ }
+ constructor(e = {}) {
+ (this._isDirected = Xe(e, 'directed') ? e.directed : !0),
+ (this._isMultigraph = Xe(e, 'multigraph') ? e.multigraph : !1),
+ (this._isCompound = Xe(e, 'compound') ? e.compound : !1),
+ (this._label = void 0),
+ (this._defaultNodeLabelFn = ws(void 0)),
+ (this._defaultEdgeLabelFn = ws(void 0)),
+ (this._nodes = {}),
+ this._isCompound && ((this._parent = {}), (this._children = {}), (this._children[Gd] = {})),
+ (this._in = {}),
+ (this._preds = {}),
+ (this._out = {}),
+ (this._sucs = {}),
+ (this._edgeObjs = {}),
+ (this._edgeLabels = {});
+ }
+ isDirected() {
+ return this._isDirected;
+ }
+ isMultigraph() {
+ return this._isMultigraph;
+ }
+ isCompound() {
+ return this._isCompound;
+ }
+ setGraph(e) {
+ return (this._label = e), this;
+ }
+ graph() {
+ return this._label;
+ }
+ setDefaultNodeLabel(e) {
+ return wi(e) || (e = ws(e)), (this._defaultNodeLabelFn = e), this;
+ }
+ nodeCount() {
+ return this._nodeCount;
+ }
+ nodes() {
+ return Dr(this._nodes);
+ }
+ sources() {
+ var e = this;
+ return $r(this.nodes(), function (r) {
+ return Qt(e._in[r]);
+ });
+ }
+ sinks() {
+ var e = this;
+ return $r(this.nodes(), function (r) {
+ return Qt(e._out[r]);
+ });
+ }
+ setNodes(e, r) {
+ var n = arguments,
+ i = this;
+ return (
+ Ee(e, function (a) {
+ n.length > 1 ? i.setNode(a, r) : i.setNode(a);
+ }),
+ this
+ );
+ }
+ setNode(e, r) {
+ return Xe(this._nodes, e)
+ ? (arguments.length > 1 && (this._nodes[e] = r), this)
+ : ((this._nodes[e] = arguments.length > 1 ? r : this._defaultNodeLabelFn(e)),
+ this._isCompound &&
+ ((this._parent[e] = Gd), (this._children[e] = {}), (this._children[Gd][e] = !0)),
+ (this._in[e] = {}),
+ (this._preds[e] = {}),
+ (this._out[e] = {}),
+ (this._sucs[e] = {}),
+ ++this._nodeCount,
+ this);
+ }
+ node(e) {
+ return this._nodes[e];
+ }
+ hasNode(e) {
+ return Xe(this._nodes, e);
+ }
+ removeNode(e) {
+ var r = this;
+ if (Xe(this._nodes, e)) {
+ var n = o(function (i) {
+ r.removeEdge(r._edgeObjs[i]);
+ }, 'removeEdge');
+ delete this._nodes[e],
+ this._isCompound &&
+ (this._removeFromParentsChildList(e),
+ delete this._parent[e],
+ Ee(this.children(e), function (i) {
+ r.setParent(i);
+ }),
+ delete this._children[e]),
+ Ee(Dr(this._in[e]), n),
+ delete this._in[e],
+ delete this._preds[e],
+ Ee(Dr(this._out[e]), n),
+ delete this._out[e],
+ delete this._sucs[e],
+ --this._nodeCount;
+ }
+ return this;
+ }
+ setParent(e, r) {
+ if (!this._isCompound) throw new Error('Cannot set parent in a non-compound graph');
+ if (er(r)) r = Gd;
+ else {
+ r += '';
+ for (var n = r; !er(n); n = this.parent(n))
+ if (n === e)
+ throw new Error('Setting ' + r + ' as parent of ' + e + ' would create a cycle');
+ this.setNode(r);
+ }
+ return (
+ this.setNode(e),
+ this._removeFromParentsChildList(e),
+ (this._parent[e] = r),
+ (this._children[r][e] = !0),
+ this
+ );
+ }
+ _removeFromParentsChildList(e) {
+ delete this._children[this._parent[e]][e];
+ }
+ parent(e) {
+ if (this._isCompound) {
+ var r = this._parent[e];
+ if (r !== Gd) return r;
+ }
+ }
+ children(e) {
+ if ((er(e) && (e = Gd), this._isCompound)) {
+ var r = this._children[e];
+ if (r) return Dr(r);
+ } else {
+ if (e === Gd) return this.nodes();
+ if (this.hasNode(e)) return [];
+ }
+ }
+ predecessors(e) {
+ var r = this._preds[e];
+ if (r) return Dr(r);
+ }
+ successors(e) {
+ var r = this._sucs[e];
+ if (r) return Dr(r);
+ }
+ neighbors(e) {
+ var r = this.predecessors(e);
+ if (r) return UL(r, this.successors(e));
+ }
+ isLeaf(e) {
+ var r;
+ return this.isDirected() ? (r = this.successors(e)) : (r = this.neighbors(e)), r.length === 0;
+ }
+ filterNodes(e) {
+ var r = new this.constructor({
+ directed: this._isDirected,
+ multigraph: this._isMultigraph,
+ compound: this._isCompound
+ });
+ r.setGraph(this.graph());
+ var n = this;
+ Ee(this._nodes, function (s, l) {
+ e(l) && r.setNode(l, s);
+ }),
+ Ee(this._edgeObjs, function (s) {
+ r.hasNode(s.v) && r.hasNode(s.w) && r.setEdge(s, n.edge(s));
+ });
+ var i = {};
+ function a(s) {
+ var l = n.parent(s);
+ return l === void 0 || r.hasNode(l) ? ((i[s] = l), l) : l in i ? i[l] : a(l);
+ }
+ return (
+ o(a, 'findParent'),
+ this._isCompound &&
+ Ee(r.nodes(), function (s) {
+ r.setParent(s, a(s));
+ }),
+ r
+ );
+ }
+ setDefaultEdgeLabel(e) {
+ return wi(e) || (e = ws(e)), (this._defaultEdgeLabelFn = e), this;
+ }
+ edgeCount() {
+ return this._edgeCount;
+ }
+ edges() {
+ return or(this._edgeObjs);
+ }
+ setPath(e, r) {
+ var n = this,
+ i = arguments;
+ return (
+ Vr(e, function (a, s) {
+ return i.length > 1 ? n.setEdge(a, s, r) : n.setEdge(a, s), s;
+ }),
+ this
+ );
+ }
+ setEdge() {
+ var e,
+ r,
+ n,
+ i,
+ a = !1,
+ s = arguments[0];
+ typeof s == 'object' && s !== null && 'v' in s
+ ? ((e = s.v),
+ (r = s.w),
+ (n = s.name),
+ arguments.length === 2 && ((i = arguments[1]), (a = !0)))
+ : ((e = s),
+ (r = arguments[1]),
+ (n = arguments[3]),
+ arguments.length > 2 && ((i = arguments[2]), (a = !0))),
+ (e = '' + e),
+ (r = '' + r),
+ er(n) || (n = '' + n);
+ var l = Mv(this._isDirected, e, r, n);
+ if (Xe(this._edgeLabels, l)) return a && (this._edgeLabels[l] = i), this;
+ if (!er(n) && !this._isMultigraph)
+ throw new Error('Cannot set a named edge when isMultigraph = false');
+ this.setNode(e),
+ this.setNode(r),
+ (this._edgeLabels[l] = a ? i : this._defaultEdgeLabelFn(e, r, n));
+ var u = KDe(this._isDirected, e, r, n);
+ return (
+ (e = u.v),
+ (r = u.w),
+ Object.freeze(u),
+ (this._edgeObjs[l] = u),
+ ute(this._preds[r], e),
+ ute(this._sucs[e], r),
+ (this._in[r][l] = u),
+ (this._out[e][l] = u),
+ this._edgeCount++,
+ this
+ );
+ }
+ edge(e, r, n) {
+ var i =
+ arguments.length === 1 ? HL(this._isDirected, arguments[0]) : Mv(this._isDirected, e, r, n);
+ return this._edgeLabels[i];
+ }
+ hasEdge(e, r, n) {
+ var i =
+ arguments.length === 1 ? HL(this._isDirected, arguments[0]) : Mv(this._isDirected, e, r, n);
+ return Xe(this._edgeLabels, i);
+ }
+ removeEdge(e, r, n) {
+ var i =
+ arguments.length === 1
+ ? HL(this._isDirected, arguments[0])
+ : Mv(this._isDirected, e, r, n),
+ a = this._edgeObjs[i];
+ return (
+ a &&
+ ((e = a.v),
+ (r = a.w),
+ delete this._edgeLabels[i],
+ delete this._edgeObjs[i],
+ hte(this._preds[r], e),
+ hte(this._sucs[e], r),
+ delete this._in[r][i],
+ delete this._out[e][i],
+ this._edgeCount--),
+ this
+ );
+ }
+ inEdges(e, r) {
+ var n = this._in[e];
+ if (n) {
+ var i = or(n);
+ return r
+ ? $r(i, function (a) {
+ return a.v === r;
+ })
+ : i;
+ }
+ }
+ outEdges(e, r) {
+ var n = this._out[e];
+ if (n) {
+ var i = or(n);
+ return r
+ ? $r(i, function (a) {
+ return a.w === r;
+ })
+ : i;
+ }
+ }
+ nodeEdges(e, r) {
+ var n = this.inEdges(e, r);
+ if (n) return n.concat(this.outEdges(e, r));
+ }
+ });
+ lr.prototype._nodeCount = 0;
+ lr.prototype._edgeCount = 0;
+ o(ute, 'incrementOrInitEntry');
+ o(hte, 'decrementOrRemoveEntry');
+ o(Mv, 'edgeArgsToId');
+ o(KDe, 'edgeArgsToObj');
+ o(HL, 'edgeObjToId');
+ });
+ var ya = R(() => {
+ 'use strict';
+ Zw();
+ });
+ function fte(t) {
+ (t._prev._next = t._next), (t._next._prev = t._prev), delete t._next, delete t._prev;
+ }
+ function QDe(t, e) {
+ if (t !== '_next' && t !== '_prev') return e;
+ }
+ var Jw,
+ dte = R(() => {
+ 'use strict';
+ Jw = class {
+ static {
+ o(this, 'List');
+ }
+ constructor() {
+ var e = {};
+ (e._next = e._prev = e), (this._sentinel = e);
+ }
+ dequeue() {
+ var e = this._sentinel,
+ r = e._prev;
+ if (r !== e) return fte(r), r;
+ }
+ enqueue(e) {
+ var r = this._sentinel;
+ e._prev && e._next && fte(e),
+ (e._next = r._next),
+ (r._next._prev = e),
+ (r._next = e),
+ (e._prev = r);
+ }
+ toString() {
+ for (var e = [], r = this._sentinel, n = r._prev; n !== r; )
+ e.push(JSON.stringify(n, QDe)), (n = n._prev);
+ return '[' + e.join(', ') + ']';
+ }
+ };
+ o(fte, 'unlink');
+ o(QDe, 'filterOutLinks');
+ });
+ function pte(t, e) {
+ if (t.nodeCount() <= 1) return [];
+ var r = eRe(t, e || ZDe),
+ n = JDe(r.graph, r.buckets, r.zeroIdx);
+ return Gr(
+ qe(n, function (i) {
+ return t.outEdges(i.v, i.w);
+ })
+ );
+ }
+ function JDe(t, e, r) {
+ for (var n = [], i = e[e.length - 1], a = e[0], s; t.nodeCount(); ) {
+ for (; (s = a.dequeue()); ) YL(t, e, r, s);
+ for (; (s = i.dequeue()); ) YL(t, e, r, s);
+ if (t.nodeCount()) {
+ for (var l = e.length - 2; l > 0; --l)
+ if (((s = e[l].dequeue()), s)) {
+ n = n.concat(YL(t, e, r, s, !0));
+ break;
+ }
+ }
+ }
+ return n;
+ }
+ function YL(t, e, r, n, i) {
+ var a = i ? [] : void 0;
+ return (
+ Ee(t.inEdges(n.v), function (s) {
+ var l = t.edge(s),
+ u = t.node(s.v);
+ i && a.push({ v: s.v, w: s.w }), (u.out -= l), WL(e, r, u);
+ }),
+ Ee(t.outEdges(n.v), function (s) {
+ var l = t.edge(s),
+ u = s.w,
+ h = t.node(u);
+ (h.in -= l), WL(e, r, h);
+ }),
+ t.removeNode(n.v),
+ a
+ );
+ }
+ function eRe(t, e) {
+ var r = new lr(),
+ n = 0,
+ i = 0;
+ Ee(t.nodes(), function (l) {
+ r.setNode(l, { v: l, in: 0, out: 0 });
+ }),
+ Ee(t.edges(), function (l) {
+ var u = r.edge(l.v, l.w) || 0,
+ h = e(l),
+ f = u + h;
+ r.setEdge(l.v, l.w, f),
+ (i = Math.max(i, (r.node(l.v).out += h))),
+ (n = Math.max(n, (r.node(l.w).in += h)));
+ });
+ var a = Go(i + n + 3).map(function () {
+ return new Jw();
+ }),
+ s = n + 1;
+ return (
+ Ee(r.nodes(), function (l) {
+ WL(a, s, r.node(l));
+ }),
+ { graph: r, buckets: a, zeroIdx: s }
+ );
+ }
+ function WL(t, e, r) {
+ r.out ? (r.in ? t[r.out - r.in + e].enqueue(r) : t[t.length - 1].enqueue(r)) : t[0].enqueue(r);
+ }
+ var ZDe,
+ mte = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ dte();
+ ZDe = ws(1);
+ o(pte, 'greedyFAS');
+ o(JDe, 'doGreedyFAS');
+ o(YL, 'removeNode');
+ o(eRe, 'buildState');
+ o(WL, 'assignBucket');
+ });
+ function gte(t) {
+ var e = t.graph().acyclicer === 'greedy' ? pte(t, r(t)) : tRe(t);
+ Ee(e, function (n) {
+ var i = t.edge(n);
+ t.removeEdge(n), (i.forwardName = n.name), (i.reversed = !0), t.setEdge(n.w, n.v, i, zd('rev'));
+ });
+ function r(n) {
+ return function (i) {
+ return n.edge(i).weight;
+ };
+ }
+ o(r, 'weightFn');
+ }
+ function tRe(t) {
+ var e = [],
+ r = {},
+ n = {};
+ function i(a) {
+ Xe(n, a) ||
+ ((n[a] = !0),
+ (r[a] = !0),
+ Ee(t.outEdges(a), function (s) {
+ Xe(r, s.w) ? e.push(s) : i(s.w);
+ }),
+ delete r[a]);
+ }
+ return o(i, 'dfs'), Ee(t.nodes(), i), e;
+ }
+ function yte(t) {
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ if (r.reversed) {
+ t.removeEdge(e);
+ var n = r.forwardName;
+ delete r.reversed, delete r.forwardName, t.setEdge(e.w, e.v, r, n);
+ }
+ });
+ }
+ var qL = R(() => {
+ 'use strict';
+ Pt();
+ mte();
+ o(gte, 'run');
+ o(tRe, 'dfsFAS');
+ o(yte, 'undo');
+ });
+ function kc(t, e, r, n) {
+ var i;
+ do i = zd(n);
+ while (t.hasNode(i));
+ return (r.dummy = e), t.setNode(i, r), i;
+ }
+ function xte(t) {
+ var e = new lr().setGraph(t.graph());
+ return (
+ Ee(t.nodes(), function (r) {
+ e.setNode(r, t.node(r));
+ }),
+ Ee(t.edges(), function (r) {
+ var n = e.edge(r.v, r.w) || { weight: 0, minlen: 1 },
+ i = t.edge(r);
+ e.setEdge(r.v, r.w, {
+ weight: n.weight + i.weight,
+ minlen: Math.max(n.minlen, i.minlen)
+ });
+ }),
+ e
+ );
+ }
+ function eT(t) {
+ var e = new lr({ multigraph: t.isMultigraph() }).setGraph(t.graph());
+ return (
+ Ee(t.nodes(), function (r) {
+ t.children(r).length || e.setNode(r, t.node(r));
+ }),
+ Ee(t.edges(), function (r) {
+ e.setEdge(r, t.edge(r));
+ }),
+ e
+ );
+ }
+ function XL(t, e) {
+ var r = t.x,
+ n = t.y,
+ i = e.x - r,
+ a = e.y - n,
+ s = t.width / 2,
+ l = t.height / 2;
+ if (!i && !a) throw new Error('Not possible to find intersection inside of the rectangle');
+ var u, h;
+ return (
+ Math.abs(a) * s > Math.abs(i) * l
+ ? (a < 0 && (l = -l), (u = (l * i) / a), (h = l))
+ : (i < 0 && (s = -s), (u = s), (h = (s * a) / i)),
+ { x: r + u, y: n + h }
+ );
+ }
+ function Qh(t) {
+ var e = qe(Go(KL(t) + 1), function () {
+ return [];
+ });
+ return (
+ Ee(t.nodes(), function (r) {
+ var n = t.node(r),
+ i = n.rank;
+ er(i) || (e[i][n.order] = r);
+ }),
+ e
+ );
+ }
+ function bte(t) {
+ var e = Ll(
+ qe(t.nodes(), function (r) {
+ return t.node(r).rank;
+ })
+ );
+ Ee(t.nodes(), function (r) {
+ var n = t.node(r);
+ Xe(n, 'rank') && (n.rank -= e);
+ });
+ }
+ function wte(t) {
+ var e = Ll(
+ qe(t.nodes(), function (a) {
+ return t.node(a).rank;
+ })
+ ),
+ r = [];
+ Ee(t.nodes(), function (a) {
+ var s = t.node(a).rank - e;
+ r[s] || (r[s] = []), r[s].push(a);
+ });
+ var n = 0,
+ i = t.graph().nodeRankFactor;
+ Ee(r, function (a, s) {
+ er(a) && s % i !== 0
+ ? --n
+ : n &&
+ Ee(a, function (l) {
+ t.node(l).rank += n;
+ });
+ });
+ }
+ function jL(t, e, r, n) {
+ var i = { width: 0, height: 0 };
+ return arguments.length >= 4 && ((i.rank = r), (i.order = n)), kc(t, 'border', i, e);
+ }
+ function KL(t) {
+ return _s(
+ qe(t.nodes(), function (e) {
+ var r = t.node(e).rank;
+ if (!er(r)) return r;
+ })
+ );
+ }
+ function Tte(t, e) {
+ var r = { lhs: [], rhs: [] };
+ return (
+ Ee(t, function (n) {
+ e(n) ? r.lhs.push(n) : r.rhs.push(n);
+ }),
+ r
+ );
+ }
+ function kte(t, e) {
+ var r = Fw();
+ try {
+ return e();
+ } finally {
+ console.log(t + ' time: ' + (Fw() - r) + 'ms');
+ }
+ }
+ function Ete(t, e) {
+ return e();
+ }
+ var Ec = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ o(kc, 'addDummyNode');
+ o(xte, 'simplify');
+ o(eT, 'asNonCompoundGraph');
+ o(XL, 'intersectRect');
+ o(Qh, 'buildLayerMatrix');
+ o(bte, 'normalizeRanks');
+ o(wte, 'removeEmptyRanks');
+ o(jL, 'addBorderNode');
+ o(KL, 'maxRank');
+ o(Tte, 'partition');
+ o(kte, 'time');
+ o(Ete, 'notime');
+ });
+ function Ste(t) {
+ function e(r) {
+ var n = t.children(r),
+ i = t.node(r);
+ if ((n.length && Ee(n, e), Xe(i, 'minRank'))) {
+ (i.borderLeft = []), (i.borderRight = []);
+ for (var a = i.minRank, s = i.maxRank + 1; a < s; ++a)
+ Cte(t, 'borderLeft', '_bl', r, i, a), Cte(t, 'borderRight', '_br', r, i, a);
+ }
+ }
+ o(e, 'dfs'), Ee(t.children(), e);
+ }
+ function Cte(t, e, r, n, i, a) {
+ var s = { width: 0, height: 0, rank: a, borderType: e },
+ l = i[e][a - 1],
+ u = kc(t, 'border', s, r);
+ (i[e][a] = u), t.setParent(u, n), l && t.setEdge(l, u, { weight: 1 });
+ }
+ var Ate = R(() => {
+ 'use strict';
+ Pt();
+ Ec();
+ o(Ste, 'addBorderSegments');
+ o(Cte, 'addBorderNode');
+ });
+ function Lte(t) {
+ var e = t.graph().rankdir.toLowerCase();
+ (e === 'lr' || e === 'rl') && Rte(t);
+ }
+ function Dte(t) {
+ var e = t.graph().rankdir.toLowerCase();
+ (e === 'bt' || e === 'rl') && rRe(t), (e === 'lr' || e === 'rl') && (nRe(t), Rte(t));
+ }
+ function Rte(t) {
+ Ee(t.nodes(), function (e) {
+ _te(t.node(e));
+ }),
+ Ee(t.edges(), function (e) {
+ _te(t.edge(e));
+ });
+ }
+ function _te(t) {
+ var e = t.width;
+ (t.width = t.height), (t.height = e);
+ }
+ function rRe(t) {
+ Ee(t.nodes(), function (e) {
+ QL(t.node(e));
+ }),
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ Ee(r.points, QL), Xe(r, 'y') && QL(r);
+ });
+ }
+ function QL(t) {
+ t.y = -t.y;
+ }
+ function nRe(t) {
+ Ee(t.nodes(), function (e) {
+ ZL(t.node(e));
+ }),
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ Ee(r.points, ZL), Xe(r, 'x') && ZL(r);
+ });
+ }
+ function ZL(t) {
+ var e = t.x;
+ (t.x = t.y), (t.y = e);
+ }
+ var Nte = R(() => {
+ 'use strict';
+ Pt();
+ o(Lte, 'adjust');
+ o(Dte, 'undo');
+ o(Rte, 'swapWidthHeight');
+ o(_te, 'swapWidthHeightOne');
+ o(rRe, 'reverseY');
+ o(QL, 'reverseYOne');
+ o(nRe, 'swapXY');
+ o(ZL, 'swapXYOne');
+ });
+ function Mte(t) {
+ (t.graph().dummyChains = []),
+ Ee(t.edges(), function (e) {
+ aRe(t, e);
+ });
+ }
+ function aRe(t, e) {
+ var r = e.v,
+ n = t.node(r).rank,
+ i = e.w,
+ a = t.node(i).rank,
+ s = e.name,
+ l = t.edge(e),
+ u = l.labelRank;
+ if (a !== n + 1) {
+ t.removeEdge(e);
+ var h, f, d;
+ for (d = 0, ++n; n < a; ++d, ++n)
+ (l.points = []),
+ (f = { width: 0, height: 0, edgeLabel: l, edgeObj: e, rank: n }),
+ (h = kc(t, 'edge', f, '_d')),
+ n === u &&
+ ((f.width = l.width),
+ (f.height = l.height),
+ (f.dummy = 'edge-label'),
+ (f.labelpos = l.labelpos)),
+ t.setEdge(r, h, { weight: l.weight }, s),
+ d === 0 && t.graph().dummyChains.push(h),
+ (r = h);
+ t.setEdge(r, i, { weight: l.weight }, s);
+ }
+ }
+ function Ite(t) {
+ Ee(t.graph().dummyChains, function (e) {
+ var r = t.node(e),
+ n = r.edgeLabel,
+ i;
+ for (t.setEdge(r.edgeObj, n); r.dummy; )
+ (i = t.successors(e)[0]),
+ t.removeNode(e),
+ n.points.push({ x: r.x, y: r.y }),
+ r.dummy === 'edge-label' && ((n.x = r.x), (n.y = r.y), (n.width = r.width), (n.height = r.height)),
+ (e = i),
+ (r = t.node(e));
+ });
+ }
+ var JL = R(() => {
+ 'use strict';
+ Pt();
+ Ec();
+ o(Mte, 'run');
+ o(aRe, 'normalizeEdge');
+ o(Ite, 'undo');
+ });
+ function Iv(t) {
+ var e = {};
+ function r(n) {
+ var i = t.node(n);
+ if (Xe(e, n)) return i.rank;
+ e[n] = !0;
+ var a = Ll(
+ qe(t.outEdges(n), function (s) {
+ return r(s.w) - t.edge(s).minlen;
+ })
+ );
+ return (a === Number.POSITIVE_INFINITY || a === void 0 || a === null) && (a = 0), (i.rank = a);
+ }
+ o(r, 'dfs'), Ee(t.sources(), r);
+ }
+ function $d(t, e) {
+ return t.node(e.w).rank - t.node(e.v).rank - t.edge(e).minlen;
+ }
+ var tT = R(() => {
+ 'use strict';
+ Pt();
+ o(Iv, 'longestPath');
+ o($d, 'slack');
+ });
+ function rT(t) {
+ var e = new lr({ directed: !1 }),
+ r = t.nodes()[0],
+ n = t.nodeCount();
+ e.setNode(r, {});
+ for (var i, a; sRe(e, t) < n; ) (i = oRe(e, t)), (a = e.hasNode(i.v) ? $d(t, i) : -$d(t, i)), lRe(e, t, a);
+ return e;
+ }
+ function sRe(t, e) {
+ function r(n) {
+ Ee(e.nodeEdges(n), function (i) {
+ var a = i.v,
+ s = n === a ? i.w : a;
+ !t.hasNode(s) && !$d(e, i) && (t.setNode(s, {}), t.setEdge(n, s, {}), r(s));
+ });
+ }
+ return o(r, 'dfs'), Ee(t.nodes(), r), t.nodeCount();
+ }
+ function oRe(t, e) {
+ return Bd(e.edges(), function (r) {
+ if (t.hasNode(r.v) !== t.hasNode(r.w)) return $d(e, r);
+ });
+ }
+ function lRe(t, e, r) {
+ Ee(t.nodes(), function (n) {
+ e.node(n).rank += r;
+ });
+ }
+ var eD = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ tT();
+ o(rT, 'feasibleTree');
+ o(sRe, 'tightTree');
+ o(oRe, 'findMinSlackEdge');
+ o(lRe, 'shiftRanks');
+ });
+ var Pte = R(() => {
+ 'use strict';
+ });
+ var tD = R(() => {
+ 'use strict';
+ });
+ var tGt,
+ rD = R(() => {
+ 'use strict';
+ Pt();
+ tD();
+ tGt = ws(1);
+ });
+ var Bte = R(() => {
+ 'use strict';
+ rD();
+ });
+ var nD = R(() => {
+ 'use strict';
+ });
+ var Fte = R(() => {
+ 'use strict';
+ nD();
+ });
+ var fGt,
+ zte = R(() => {
+ 'use strict';
+ Pt();
+ fGt = ws(1);
+ });
+ function iD(t) {
+ var e = {},
+ r = {},
+ n = [];
+ function i(a) {
+ if (Xe(r, a)) throw new Ov();
+ Xe(e, a) || ((r[a] = !0), (e[a] = !0), Ee(t.predecessors(a), i), delete r[a], n.push(a));
+ }
+ if ((o(i, 'visit'), Ee(t.sinks(), i), VL(e) !== t.nodeCount())) throw new Ov();
+ return n;
+ }
+ function Ov() {}
+ var aD = R(() => {
+ 'use strict';
+ Pt();
+ iD.CycleException = Ov;
+ o(iD, 'topsort');
+ o(Ov, 'CycleException');
+ Ov.prototype = new Error();
+ });
+ var Gte = R(() => {
+ 'use strict';
+ aD();
+ });
+ function nT(t, e, r) {
+ wt(e) || (e = [e]);
+ var n = (t.isDirected() ? t.successors : t.neighbors).bind(t),
+ i = [],
+ a = {};
+ return (
+ Ee(e, function (s) {
+ if (!t.hasNode(s)) throw new Error('Graph does not have node: ' + s);
+ $te(t, s, r === 'post', a, n, i);
+ }),
+ i
+ );
+ }
+ function $te(t, e, r, n, i, a) {
+ Xe(n, e) ||
+ ((n[e] = !0),
+ r || a.push(e),
+ Ee(i(e), function (s) {
+ $te(t, s, r, n, i, a);
+ }),
+ r && a.push(e));
+ }
+ var sD = R(() => {
+ 'use strict';
+ Pt();
+ o(nT, 'dfs');
+ o($te, 'doDfs');
+ });
+ function oD(t, e) {
+ return nT(t, e, 'post');
+ }
+ var Vte = R(() => {
+ 'use strict';
+ sD();
+ o(oD, 'postorder');
+ });
+ function lD(t, e) {
+ return nT(t, e, 'pre');
+ }
+ var Ute = R(() => {
+ 'use strict';
+ sD();
+ o(lD, 'preorder');
+ });
+ var Hte = R(() => {
+ 'use strict';
+ tD();
+ Zw();
+ });
+ var Yte = R(() => {
+ 'use strict';
+ Pte();
+ rD();
+ Bte();
+ Fte();
+ zte();
+ Gte();
+ Vte();
+ Ute();
+ Hte();
+ nD();
+ aD();
+ });
+ function Jh(t) {
+ (t = xte(t)), Iv(t);
+ var e = rT(t);
+ uD(e), cD(e, t);
+ for (var r, n; (r = jte(e)); ) (n = Kte(e, t, r)), Qte(e, t, r, n);
+ }
+ function cD(t, e) {
+ var r = oD(t, t.nodes());
+ (r = r.slice(0, r.length - 1)),
+ Ee(r, function (n) {
+ dRe(t, e, n);
+ });
+ }
+ function dRe(t, e, r) {
+ var n = t.node(r),
+ i = n.parent;
+ t.edge(r, i).cutvalue = qte(t, e, r);
+ }
+ function qte(t, e, r) {
+ var n = t.node(r),
+ i = n.parent,
+ a = !0,
+ s = e.edge(r, i),
+ l = 0;
+ return (
+ s || ((a = !1), (s = e.edge(i, r))),
+ (l = s.weight),
+ Ee(e.nodeEdges(r), function (u) {
+ var h = u.v === r,
+ f = h ? u.w : u.v;
+ if (f !== i) {
+ var d = h === a,
+ p = e.edge(u).weight;
+ if (((l += d ? p : -p), mRe(t, r, f))) {
+ var m = t.edge(r, f).cutvalue;
+ l += d ? -m : m;
+ }
+ }
+ }),
+ l
+ );
+ }
+ function uD(t, e) {
+ arguments.length < 2 && (e = t.nodes()[0]), Xte(t, {}, 1, e);
+ }
+ function Xte(t, e, r, n, i) {
+ var a = r,
+ s = t.node(n);
+ return (
+ (e[n] = !0),
+ Ee(t.neighbors(n), function (l) {
+ Xe(e, l) || (r = Xte(t, e, r, l, n));
+ }),
+ (s.low = a),
+ (s.lim = r++),
+ i ? (s.parent = i) : delete s.parent,
+ r
+ );
+ }
+ function jte(t) {
+ return Za(t.edges(), function (e) {
+ return t.edge(e).cutvalue < 0;
+ });
+ }
+ function Kte(t, e, r) {
+ var n = r.v,
+ i = r.w;
+ e.hasEdge(n, i) || ((n = r.w), (i = r.v));
+ var a = t.node(n),
+ s = t.node(i),
+ l = a,
+ u = !1;
+ a.lim > s.lim && ((l = s), (u = !0));
+ var h = $r(e.edges(), function (f) {
+ return u === Wte(t, t.node(f.v), l) && u !== Wte(t, t.node(f.w), l);
+ });
+ return Bd(h, function (f) {
+ return $d(e, f);
+ });
+ }
+ function Qte(t, e, r, n) {
+ var i = r.v,
+ a = r.w;
+ t.removeEdge(i, a), t.setEdge(n.v, n.w, {}), uD(t), cD(t, e), pRe(t, e);
+ }
+ function pRe(t, e) {
+ var r = Za(t.nodes(), function (i) {
+ return !e.node(i).parent;
+ }),
+ n = lD(t, r);
+ (n = n.slice(1)),
+ Ee(n, function (i) {
+ var a = t.node(i).parent,
+ s = e.edge(i, a),
+ l = !1;
+ s || ((s = e.edge(a, i)), (l = !0)), (e.node(i).rank = e.node(a).rank + (l ? s.minlen : -s.minlen));
+ });
+ }
+ function mRe(t, e, r) {
+ return t.hasEdge(e, r);
+ }
+ function Wte(t, e, r) {
+ return r.low <= e.lim && e.lim <= r.lim;
+ }
+ var Zte = R(() => {
+ 'use strict';
+ Pt();
+ Yte();
+ Ec();
+ eD();
+ tT();
+ Jh.initLowLimValues = uD;
+ Jh.initCutValues = cD;
+ Jh.calcCutValue = qte;
+ Jh.leaveEdge = jte;
+ Jh.enterEdge = Kte;
+ Jh.exchangeEdges = Qte;
+ o(Jh, 'networkSimplex');
+ o(cD, 'initCutValues');
+ o(dRe, 'assignCutValue');
+ o(qte, 'calcCutValue');
+ o(uD, 'initLowLimValues');
+ o(Xte, 'dfsAssignLowLim');
+ o(jte, 'leaveEdge');
+ o(Kte, 'enterEdge');
+ o(Qte, 'exchangeEdges');
+ o(pRe, 'updateRanks');
+ o(mRe, 'isTreeEdge');
+ o(Wte, 'isDescendant');
+ });
+ function hD(t) {
+ switch (t.graph().ranker) {
+ case 'network-simplex':
+ Jte(t);
+ break;
+ case 'tight-tree':
+ yRe(t);
+ break;
+ case 'longest-path':
+ gRe(t);
+ break;
+ default:
+ Jte(t);
+ }
+ }
+ function yRe(t) {
+ Iv(t), rT(t);
+ }
+ function Jte(t) {
+ Jh(t);
+ }
+ var gRe,
+ fD = R(() => {
+ 'use strict';
+ eD();
+ Zte();
+ tT();
+ o(hD, 'rank');
+ gRe = Iv;
+ o(yRe, 'tightTreeRanker');
+ o(Jte, 'networkSimplexRanker');
+ });
+ function ere(t) {
+ var e = kc(t, 'root', {}, '_root'),
+ r = vRe(t),
+ n = _s(or(r)) - 1,
+ i = 2 * n + 1;
+ (t.graph().nestingRoot = e),
+ Ee(t.edges(), function (s) {
+ t.edge(s).minlen *= i;
+ });
+ var a = xRe(t) + 1;
+ Ee(t.children(), function (s) {
+ tre(t, e, i, a, n, r, s);
+ }),
+ (t.graph().nodeRankFactor = i);
+ }
+ function tre(t, e, r, n, i, a, s) {
+ var l = t.children(s);
+ if (!l.length) {
+ s !== e && t.setEdge(e, s, { weight: 0, minlen: r });
+ return;
+ }
+ var u = jL(t, '_bt'),
+ h = jL(t, '_bb'),
+ f = t.node(s);
+ t.setParent(u, s),
+ (f.borderTop = u),
+ t.setParent(h, s),
+ (f.borderBottom = h),
+ Ee(l, function (d) {
+ tre(t, e, r, n, i, a, d);
+ var p = t.node(d),
+ m = p.borderTop ? p.borderTop : d,
+ g = p.borderBottom ? p.borderBottom : d,
+ y = p.borderTop ? n : 2 * n,
+ v = m !== g ? 1 : i - a[s] + 1;
+ t.setEdge(u, m, { weight: y, minlen: v, nestingEdge: !0 }),
+ t.setEdge(g, h, { weight: y, minlen: v, nestingEdge: !0 });
+ }),
+ t.parent(s) || t.setEdge(e, u, { weight: 0, minlen: i + a[s] });
+ }
+ function vRe(t) {
+ var e = {};
+ function r(n, i) {
+ var a = t.children(n);
+ a &&
+ a.length &&
+ Ee(a, function (s) {
+ r(s, i + 1);
+ }),
+ (e[n] = i);
+ }
+ return (
+ o(r, 'dfs'),
+ Ee(t.children(), function (n) {
+ r(n, 1);
+ }),
+ e
+ );
+ }
+ function xRe(t) {
+ return Vr(
+ t.edges(),
+ function (e, r) {
+ return e + t.edge(r).weight;
+ },
+ 0
+ );
+ }
+ function rre(t) {
+ var e = t.graph();
+ t.removeNode(e.nestingRoot),
+ delete e.nestingRoot,
+ Ee(t.edges(), function (r) {
+ var n = t.edge(r);
+ n.nestingEdge && t.removeEdge(r);
+ });
+ }
+ var nre = R(() => {
+ 'use strict';
+ Pt();
+ Ec();
+ o(ere, 'run');
+ o(tre, 'dfs');
+ o(vRe, 'treeDepths');
+ o(xRe, 'sumWeights');
+ o(rre, 'cleanup');
+ });
+ function ire(t, e, r) {
+ var n = {},
+ i;
+ Ee(r, function (a) {
+ for (var s = t.parent(a), l, u; s; ) {
+ if (((l = t.parent(s)), l ? ((u = n[l]), (n[l] = s)) : ((u = i), (i = s)), u && u !== s)) {
+ e.setEdge(u, s);
+ return;
+ }
+ s = l;
+ }
+ });
+ }
+ var are = R(() => {
+ 'use strict';
+ Pt();
+ o(ire, 'addSubgraphConstraints');
+ });
+ function sre(t, e, r) {
+ var n = wRe(t),
+ i = new lr({ compound: !0 }).setGraph({ root: n }).setDefaultNodeLabel(function (a) {
+ return t.node(a);
+ });
+ return (
+ Ee(t.nodes(), function (a) {
+ var s = t.node(a),
+ l = t.parent(a);
+ (s.rank === e || (s.minRank <= e && e <= s.maxRank)) &&
+ (i.setNode(a),
+ i.setParent(a, l || n),
+ Ee(t[r](a), function (u) {
+ var h = u.v === a ? u.w : u.v,
+ f = i.edge(h, a),
+ d = er(f) ? 0 : f.weight;
+ i.setEdge(h, a, { weight: t.edge(u).weight + d });
+ }),
+ Xe(s, 'minRank') &&
+ i.setNode(a, {
+ borderLeft: s.borderLeft[e],
+ borderRight: s.borderRight[e]
+ }));
+ }),
+ i
+ );
+ }
+ function wRe(t) {
+ for (var e; t.hasNode((e = zd('_root'))); );
+ return e;
+ }
+ var ore = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ o(sre, 'buildLayerGraph');
+ o(wRe, 'createRootNode');
+ });
+ function lre(t, e) {
+ for (var r = 0, n = 1; n < e.length; ++n) r += TRe(t, e[n - 1], e[n]);
+ return r;
+ }
+ function TRe(t, e, r) {
+ for (
+ var n = Qw(
+ r,
+ qe(r, function (h, f) {
+ return f;
+ })
+ ),
+ i = Gr(
+ qe(e, function (h) {
+ return Tc(
+ qe(t.outEdges(h), function (f) {
+ return { pos: n[f.w], weight: t.edge(f).weight };
+ }),
+ 'pos'
+ );
+ })
+ ),
+ a = 1;
+ a < r.length;
+
+ )
+ a <<= 1;
+ var s = 2 * a - 1;
+ a -= 1;
+ var l = qe(new Array(s), function () {
+ return 0;
+ }),
+ u = 0;
+ return (
+ Ee(
+ i.forEach(function (h) {
+ var f = h.pos + a;
+ l[f] += h.weight;
+ for (var d = 0; f > 0; ) f % 2 && (d += l[f + 1]), (f = (f - 1) >> 1), (l[f] += h.weight);
+ u += h.weight * d;
+ })
+ ),
+ u
+ );
+ }
+ var cre = R(() => {
+ 'use strict';
+ Pt();
+ o(lre, 'crossCount');
+ o(TRe, 'twoLayerCrossCount');
+ });
+ function ure(t) {
+ var e = {},
+ r = $r(t.nodes(), function (l) {
+ return !t.children(l).length;
+ }),
+ n = _s(
+ qe(r, function (l) {
+ return t.node(l).rank;
+ })
+ ),
+ i = qe(Go(n + 1), function () {
+ return [];
+ });
+ function a(l) {
+ if (!Xe(e, l)) {
+ e[l] = !0;
+ var u = t.node(l);
+ i[u.rank].push(l), Ee(t.successors(l), a);
+ }
+ }
+ o(a, 'dfs');
+ var s = Tc(r, function (l) {
+ return t.node(l).rank;
+ });
+ return Ee(s, a), i;
+ }
+ var hre = R(() => {
+ 'use strict';
+ Pt();
+ o(ure, 'initOrder');
+ });
+ function fre(t, e) {
+ return qe(e, function (r) {
+ var n = t.inEdges(r);
+ if (n.length) {
+ var i = Vr(
+ n,
+ function (a, s) {
+ var l = t.edge(s),
+ u = t.node(s.v);
+ return {
+ sum: a.sum + l.weight * u.order,
+ weight: a.weight + l.weight
+ };
+ },
+ { sum: 0, weight: 0 }
+ );
+ return { v: r, barycenter: i.sum / i.weight, weight: i.weight };
+ } else return { v: r };
+ });
+ }
+ var dre = R(() => {
+ 'use strict';
+ Pt();
+ o(fre, 'barycenter');
+ });
+ function pre(t, e) {
+ var r = {};
+ Ee(t, function (i, a) {
+ var s = (r[i.v] = { indegree: 0, in: [], out: [], vs: [i.v], i: a });
+ er(i.barycenter) || ((s.barycenter = i.barycenter), (s.weight = i.weight));
+ }),
+ Ee(e.edges(), function (i) {
+ var a = r[i.v],
+ s = r[i.w];
+ !er(a) && !er(s) && (s.indegree++, a.out.push(r[i.w]));
+ });
+ var n = $r(r, function (i) {
+ return !i.indegree;
+ });
+ return kRe(n);
+ }
+ function kRe(t) {
+ var e = [];
+ function r(a) {
+ return function (s) {
+ s.merged || ((er(s.barycenter) || er(a.barycenter) || s.barycenter >= a.barycenter) && ERe(a, s));
+ };
+ }
+ o(r, 'handleIn');
+ function n(a) {
+ return function (s) {
+ s.in.push(a), --s.indegree === 0 && t.push(s);
+ };
+ }
+ for (o(n, 'handleOut'); t.length; ) {
+ var i = t.pop();
+ e.push(i), Ee(i.in.reverse(), r(i)), Ee(i.out, n(i));
+ }
+ return qe(
+ $r(e, function (a) {
+ return !a.merged;
+ }),
+ function (a) {
+ return Fd(a, ['vs', 'i', 'barycenter', 'weight']);
+ }
+ );
+ }
+ function ERe(t, e) {
+ var r = 0,
+ n = 0;
+ t.weight && ((r += t.barycenter * t.weight), (n += t.weight)),
+ e.weight && ((r += e.barycenter * e.weight), (n += e.weight)),
+ (t.vs = e.vs.concat(t.vs)),
+ (t.barycenter = r / n),
+ (t.weight = n),
+ (t.i = Math.min(e.i, t.i)),
+ (e.merged = !0);
+ }
+ var mre = R(() => {
+ 'use strict';
+ Pt();
+ o(pre, 'resolveConflicts');
+ o(kRe, 'doResolveConflicts');
+ o(ERe, 'mergeEntries');
+ });
+ function yre(t, e) {
+ var r = Tte(t, function (f) {
+ return Xe(f, 'barycenter');
+ }),
+ n = r.lhs,
+ i = Tc(r.rhs, function (f) {
+ return -f.i;
+ }),
+ a = [],
+ s = 0,
+ l = 0,
+ u = 0;
+ n.sort(CRe(!!e)),
+ (u = gre(a, i, u)),
+ Ee(n, function (f) {
+ (u += f.vs.length), a.push(f.vs), (s += f.barycenter * f.weight), (l += f.weight), (u = gre(a, i, u));
+ });
+ var h = { vs: Gr(a) };
+ return l && ((h.barycenter = s / l), (h.weight = l)), h;
+ }
+ function gre(t, e, r) {
+ for (var n; e.length && (n = ma(e)).i <= r; ) e.pop(), t.push(n.vs), r++;
+ return r;
+ }
+ function CRe(t) {
+ return function (e, r) {
+ return e.barycenter < r.barycenter ? -1 : e.barycenter > r.barycenter ? 1 : t ? r.i - e.i : e.i - r.i;
+ };
+ }
+ var vre = R(() => {
+ 'use strict';
+ Pt();
+ Ec();
+ o(yre, 'sort');
+ o(gre, 'consumeUnsortable');
+ o(CRe, 'compareWithBias');
+ });
+ function dD(t, e, r, n) {
+ var i = t.children(e),
+ a = t.node(e),
+ s = a ? a.borderLeft : void 0,
+ l = a ? a.borderRight : void 0,
+ u = {};
+ s &&
+ (i = $r(i, function (g) {
+ return g !== s && g !== l;
+ }));
+ var h = fre(t, i);
+ Ee(h, function (g) {
+ if (t.children(g.v).length) {
+ var y = dD(t, g.v, r, n);
+ (u[g.v] = y), Xe(y, 'barycenter') && ARe(g, y);
+ }
+ });
+ var f = pre(h, r);
+ SRe(f, u);
+ var d = yre(f, n);
+ if (s && ((d.vs = Gr([s, d.vs, l])), t.predecessors(s).length)) {
+ var p = t.node(t.predecessors(s)[0]),
+ m = t.node(t.predecessors(l)[0]);
+ Xe(d, 'barycenter') || ((d.barycenter = 0), (d.weight = 0)),
+ (d.barycenter = (d.barycenter * d.weight + p.order + m.order) / (d.weight + 2)),
+ (d.weight += 2);
+ }
+ return d;
+ }
+ function SRe(t, e) {
+ Ee(t, function (r) {
+ r.vs = Gr(
+ r.vs.map(function (n) {
+ return e[n] ? e[n].vs : n;
+ })
+ );
+ });
+ }
+ function ARe(t, e) {
+ er(t.barycenter)
+ ? ((t.barycenter = e.barycenter), (t.weight = e.weight))
+ : ((t.barycenter = (t.barycenter * t.weight + e.barycenter * e.weight) / (t.weight + e.weight)),
+ (t.weight += e.weight));
+ }
+ var xre = R(() => {
+ 'use strict';
+ Pt();
+ dre();
+ mre();
+ vre();
+ o(dD, 'sortSubgraph');
+ o(SRe, 'expandSubgraphs');
+ o(ARe, 'mergeBarycenters');
+ });
+ function Tre(t) {
+ var e = KL(t),
+ r = bre(t, Go(1, e + 1), 'inEdges'),
+ n = bre(t, Go(e - 1, -1, -1), 'outEdges'),
+ i = ure(t);
+ wre(t, i);
+ for (var a = Number.POSITIVE_INFINITY, s, l = 0, u = 0; u < 4; ++l, ++u) {
+ _Re(l % 2 ? r : n, l % 4 >= 2), (i = Qh(t));
+ var h = lre(t, i);
+ h < a && ((u = 0), (s = yL(i)), (a = h));
+ }
+ wre(t, s);
+ }
+ function bre(t, e, r) {
+ return qe(e, function (n) {
+ return sre(t, n, r);
+ });
+ }
+ function _Re(t, e) {
+ var r = new lr();
+ Ee(t, function (n) {
+ var i = n.graph().root,
+ a = dD(n, i, r, e);
+ Ee(a.vs, function (s, l) {
+ n.node(s).order = l;
+ }),
+ ire(n, r, a.vs);
+ });
+ }
+ function wre(t, e) {
+ Ee(e, function (r) {
+ Ee(r, function (n, i) {
+ t.node(n).order = i;
+ });
+ });
+ }
+ var kre = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ Ec();
+ are();
+ ore();
+ cre();
+ hre();
+ xre();
+ o(Tre, 'order');
+ o(bre, 'buildLayerGraphs');
+ o(_Re, 'sweepLayerGraphs');
+ o(wre, 'assignOrder');
+ });
+ function Ere(t) {
+ var e = DRe(t);
+ Ee(t.graph().dummyChains, function (r) {
+ for (
+ var n = t.node(r),
+ i = n.edgeObj,
+ a = LRe(t, e, i.v, i.w),
+ s = a.path,
+ l = a.lca,
+ u = 0,
+ h = s[u],
+ f = !0;
+ r !== i.w;
+
+ ) {
+ if (((n = t.node(r)), f)) {
+ for (; (h = s[u]) !== l && t.node(h).maxRank < n.rank; ) u++;
+ h === l && (f = !1);
+ }
+ if (!f) {
+ for (; u < s.length - 1 && t.node((h = s[u + 1])).minRank <= n.rank; ) u++;
+ h = s[u];
+ }
+ t.setParent(r, h), (r = t.successors(r)[0]);
+ }
+ });
+ }
+ function LRe(t, e, r, n) {
+ var i = [],
+ a = [],
+ s = Math.min(e[r].low, e[n].low),
+ l = Math.max(e[r].lim, e[n].lim),
+ u,
+ h;
+ u = r;
+ do (u = t.parent(u)), i.push(u);
+ while (u && (e[u].low > s || l > e[u].lim));
+ for (h = u, u = n; (u = t.parent(u)) !== h; ) a.push(u);
+ return { path: i.concat(a.reverse()), lca: h };
+ }
+ function DRe(t) {
+ var e = {},
+ r = 0;
+ function n(i) {
+ var a = r;
+ Ee(t.children(i), n), (e[i] = { low: a, lim: r++ });
+ }
+ return o(n, 'dfs'), Ee(t.children(), n), e;
+ }
+ var Cre = R(() => {
+ 'use strict';
+ Pt();
+ o(Ere, 'parentDummyChains');
+ o(LRe, 'findPath');
+ o(DRe, 'postorder');
+ });
+ function RRe(t, e) {
+ var r = {};
+ function n(i, a) {
+ var s = 0,
+ l = 0,
+ u = i.length,
+ h = ma(a);
+ return (
+ Ee(a, function (f, d) {
+ var p = MRe(t, f),
+ m = p ? t.node(p).order : u;
+ (p || f === h) &&
+ (Ee(a.slice(l, d + 1), function (g) {
+ Ee(t.predecessors(g), function (y) {
+ var v = t.node(y),
+ x = v.order;
+ (x < s || m < x) && !(v.dummy && t.node(g).dummy) && Sre(r, y, g);
+ });
+ }),
+ (l = d + 1),
+ (s = m));
+ }),
+ a
+ );
+ }
+ return o(n, 'visitLayer'), Vr(e, n), r;
+ }
+ function NRe(t, e) {
+ var r = {};
+ function n(a, s, l, u, h) {
+ var f;
+ Ee(Go(s, l), function (d) {
+ (f = a[d]),
+ t.node(f).dummy &&
+ Ee(t.predecessors(f), function (p) {
+ var m = t.node(p);
+ m.dummy && (m.order < u || m.order > h) && Sre(r, p, f);
+ });
+ });
+ }
+ o(n, 'scan');
+ function i(a, s) {
+ var l = -1,
+ u,
+ h = 0;
+ return (
+ Ee(s, function (f, d) {
+ if (t.node(f).dummy === 'border') {
+ var p = t.predecessors(f);
+ p.length && ((u = t.node(p[0]).order), n(s, h, d, l, u), (h = d), (l = u));
+ }
+ n(s, h, s.length, u, a.length);
+ }),
+ s
+ );
+ }
+ return o(i, 'visitLayer'), Vr(e, i), r;
+ }
+ function MRe(t, e) {
+ if (t.node(e).dummy)
+ return Za(t.predecessors(e), function (r) {
+ return t.node(r).dummy;
+ });
+ }
+ function Sre(t, e, r) {
+ if (e > r) {
+ var n = e;
+ (e = r), (r = n);
+ }
+ var i = t[e];
+ i || (t[e] = i = {}), (i[r] = !0);
+ }
+ function IRe(t, e, r) {
+ if (e > r) {
+ var n = e;
+ (e = r), (r = n);
+ }
+ return Xe(t[e], r);
+ }
+ function ORe(t, e, r, n) {
+ var i = {},
+ a = {},
+ s = {};
+ return (
+ Ee(e, function (l) {
+ Ee(l, function (u, h) {
+ (i[u] = u), (a[u] = u), (s[u] = h);
+ });
+ }),
+ Ee(e, function (l) {
+ var u = -1;
+ Ee(l, function (h) {
+ var f = n(h);
+ if (f.length) {
+ f = Tc(f, function (y) {
+ return s[y];
+ });
+ for (var d = (f.length - 1) / 2, p = Math.floor(d), m = Math.ceil(d); p <= m; ++p) {
+ var g = f[p];
+ a[h] === h && u < s[g] && !IRe(r, h, g) && ((a[g] = h), (a[h] = i[h] = i[g]), (u = s[g]));
+ }
+ }
+ });
+ }),
+ { root: i, align: a }
+ );
+ }
+ function PRe(t, e, r, n, i) {
+ var a = {},
+ s = BRe(t, e, r, i),
+ l = i ? 'borderLeft' : 'borderRight';
+ function u(d, p) {
+ for (var m = s.nodes(), g = m.pop(), y = {}; g; )
+ y[g] ? d(g) : ((y[g] = !0), m.push(g), (m = m.concat(p(g)))), (g = m.pop());
+ }
+ o(u, 'iterate');
+ function h(d) {
+ a[d] = s.inEdges(d).reduce(function (p, m) {
+ return Math.max(p, a[m.v] + s.edge(m));
+ }, 0);
+ }
+ o(h, 'pass1');
+ function f(d) {
+ var p = s.outEdges(d).reduce(function (g, y) {
+ return Math.min(g, a[y.w] - s.edge(y));
+ }, Number.POSITIVE_INFINITY),
+ m = t.node(d);
+ p !== Number.POSITIVE_INFINITY && m.borderType !== l && (a[d] = Math.max(a[d], p));
+ }
+ return (
+ o(f, 'pass2'),
+ u(h, s.predecessors.bind(s)),
+ u(f, s.successors.bind(s)),
+ Ee(n, function (d) {
+ a[d] = a[r[d]];
+ }),
+ a
+ );
+ }
+ function BRe(t, e, r, n) {
+ var i = new lr(),
+ a = t.graph(),
+ s = $Re(a.nodesep, a.edgesep, n);
+ return (
+ Ee(e, function (l) {
+ var u;
+ Ee(l, function (h) {
+ var f = r[h];
+ if ((i.setNode(f), u)) {
+ var d = r[u],
+ p = i.edge(d, f);
+ i.setEdge(d, f, Math.max(s(t, h, u), p || 0));
+ }
+ u = h;
+ });
+ }),
+ i
+ );
+ }
+ function FRe(t, e) {
+ return Bd(or(e), function (r) {
+ var n = Number.NEGATIVE_INFINITY,
+ i = Number.POSITIVE_INFINITY;
+ return (
+ NL(r, function (a, s) {
+ var l = VRe(t, s) / 2;
+ (n = Math.max(a + l, n)), (i = Math.min(a - l, i));
+ }),
+ n - i
+ );
+ });
+ }
+ function zRe(t, e) {
+ var r = or(e),
+ n = Ll(r),
+ i = _s(r);
+ Ee(['u', 'd'], function (a) {
+ Ee(['l', 'r'], function (s) {
+ var l = a + s,
+ u = t[l],
+ h;
+ if (u !== e) {
+ var f = or(u);
+ (h = s === 'l' ? n - Ll(f) : i - _s(f)),
+ h &&
+ (t[l] = Pd(u, function (d) {
+ return d + h;
+ }));
+ }
+ });
+ });
+ }
+ function GRe(t, e) {
+ return Pd(t.ul, function (r, n) {
+ if (e) return t[e.toLowerCase()][n];
+ var i = Tc(qe(t, n));
+ return (i[1] + i[2]) / 2;
+ });
+ }
+ function Are(t) {
+ var e = Qh(t),
+ r = Gh(RRe(t, e), NRe(t, e)),
+ n = {},
+ i;
+ Ee(['u', 'd'], function (s) {
+ (i = s === 'u' ? e : or(e).reverse()),
+ Ee(['l', 'r'], function (l) {
+ l === 'r' &&
+ (i = qe(i, function (d) {
+ return or(d).reverse();
+ }));
+ var u = (s === 'u' ? t.predecessors : t.successors).bind(t),
+ h = ORe(t, i, r, u),
+ f = PRe(t, i, h.root, h.align, l === 'r');
+ l === 'r' &&
+ (f = Pd(f, function (d) {
+ return -d;
+ })),
+ (n[s + l] = f);
+ });
+ });
+ var a = FRe(t, n);
+ return zRe(n, a), GRe(n, t.graph().align);
+ }
+ function $Re(t, e, r) {
+ return function (n, i, a) {
+ var s = n.node(i),
+ l = n.node(a),
+ u = 0,
+ h;
+ if (((u += s.width / 2), Xe(s, 'labelpos')))
+ switch (s.labelpos.toLowerCase()) {
+ case 'l':
+ h = -s.width / 2;
+ break;
+ case 'r':
+ h = s.width / 2;
+ break;
+ }
+ if (
+ (h && (u += r ? h : -h),
+ (h = 0),
+ (u += (s.dummy ? e : t) / 2),
+ (u += (l.dummy ? e : t) / 2),
+ (u += l.width / 2),
+ Xe(l, 'labelpos'))
+ )
+ switch (l.labelpos.toLowerCase()) {
+ case 'l':
+ h = l.width / 2;
+ break;
+ case 'r':
+ h = -l.width / 2;
+ break;
+ }
+ return h && (u += r ? h : -h), (h = 0), u;
+ };
+ }
+ function VRe(t, e) {
+ return t.node(e).width;
+ }
+ var _re = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ Ec();
+ o(RRe, 'findType1Conflicts');
+ o(NRe, 'findType2Conflicts');
+ o(MRe, 'findOtherInnerSegmentNode');
+ o(Sre, 'addConflict');
+ o(IRe, 'hasConflict');
+ o(ORe, 'verticalAlignment');
+ o(PRe, 'horizontalCompaction');
+ o(BRe, 'buildBlockGraph');
+ o(FRe, 'findSmallestWidthAlignment');
+ o(zRe, 'alignCoordinates');
+ o(GRe, 'balance');
+ o(Are, 'positionX');
+ o($Re, 'sep');
+ o(VRe, 'width');
+ });
+ function Lre(t) {
+ (t = eT(t)),
+ URe(t),
+ ML(Are(t), function (e, r) {
+ t.node(r).x = e;
+ });
+ }
+ function URe(t) {
+ var e = Qh(t),
+ r = t.graph().ranksep,
+ n = 0;
+ Ee(e, function (i) {
+ var a = _s(
+ qe(i, function (s) {
+ return t.node(s).height;
+ })
+ );
+ Ee(i, function (s) {
+ t.node(s).y = n + a / 2;
+ }),
+ (n += a + r);
+ });
+ }
+ var Dre = R(() => {
+ 'use strict';
+ Pt();
+ Ec();
+ _re();
+ o(Lre, 'position');
+ o(URe, 'positionY');
+ });
+ function lo(t, e) {
+ var r = e && e.debugTiming ? kte : Ete;
+ r('layout', function () {
+ var n = r(' buildLayoutGraph', function () {
+ return eNe(t);
+ });
+ r(' runLayout', function () {
+ HRe(n, r);
+ }),
+ r(' updateInputGraph', function () {
+ YRe(t, n);
+ });
+ });
+ }
+ function HRe(t, e) {
+ e(' makeSpaceForEdgeLabels', function () {
+ tNe(t);
+ }),
+ e(' removeSelfEdges', function () {
+ uNe(t);
+ }),
+ e(' acyclic', function () {
+ gte(t);
+ }),
+ e(' nestingGraph.run', function () {
+ ere(t);
+ }),
+ e(' rank', function () {
+ hD(eT(t));
+ }),
+ e(' injectEdgeLabelProxies', function () {
+ rNe(t);
+ }),
+ e(' removeEmptyRanks', function () {
+ wte(t);
+ }),
+ e(' nestingGraph.cleanup', function () {
+ rre(t);
+ }),
+ e(' normalizeRanks', function () {
+ bte(t);
+ }),
+ e(' assignRankMinMax', function () {
+ nNe(t);
+ }),
+ e(' removeEdgeLabelProxies', function () {
+ iNe(t);
+ }),
+ e(' normalize.run', function () {
+ Mte(t);
+ }),
+ e(' parentDummyChains', function () {
+ Ere(t);
+ }),
+ e(' addBorderSegments', function () {
+ Ste(t);
+ }),
+ e(' order', function () {
+ Tre(t);
+ }),
+ e(' insertSelfEdges', function () {
+ hNe(t);
+ }),
+ e(' adjustCoordinateSystem', function () {
+ Lte(t);
+ }),
+ e(' position', function () {
+ Lre(t);
+ }),
+ e(' positionSelfEdges', function () {
+ fNe(t);
+ }),
+ e(' removeBorderNodes', function () {
+ cNe(t);
+ }),
+ e(' normalize.undo', function () {
+ Ite(t);
+ }),
+ e(' fixupEdgeLabelCoords', function () {
+ oNe(t);
+ }),
+ e(' undoCoordinateSystem', function () {
+ Dte(t);
+ }),
+ e(' translateGraph', function () {
+ aNe(t);
+ }),
+ e(' assignNodeIntersects', function () {
+ sNe(t);
+ }),
+ e(' reversePoints', function () {
+ lNe(t);
+ }),
+ e(' acyclic.undo', function () {
+ yte(t);
+ });
+ }
+ function YRe(t, e) {
+ Ee(t.nodes(), function (r) {
+ var n = t.node(r),
+ i = e.node(r);
+ n && ((n.x = i.x), (n.y = i.y), e.children(r).length && ((n.width = i.width), (n.height = i.height)));
+ }),
+ Ee(t.edges(), function (r) {
+ var n = t.edge(r),
+ i = e.edge(r);
+ (n.points = i.points), Xe(i, 'x') && ((n.x = i.x), (n.y = i.y));
+ }),
+ (t.graph().width = e.graph().width),
+ (t.graph().height = e.graph().height);
+ }
+ function eNe(t) {
+ var e = new lr({ multigraph: !0, compound: !0 }),
+ r = mD(t.graph());
+ return (
+ e.setGraph(Gh({}, qRe, pD(r, WRe), Fd(r, XRe))),
+ Ee(t.nodes(), function (n) {
+ var i = mD(t.node(n));
+ e.setNode(n, Xh(pD(i, jRe), KRe)), e.setParent(n, t.parent(n));
+ }),
+ Ee(t.edges(), function (n) {
+ var i = mD(t.edge(n));
+ e.setEdge(n, Gh({}, ZRe, pD(i, QRe), Fd(i, JRe)));
+ }),
+ e
+ );
+ }
+ function tNe(t) {
+ var e = t.graph();
+ (e.ranksep /= 2),
+ Ee(t.edges(), function (r) {
+ var n = t.edge(r);
+ (n.minlen *= 2),
+ n.labelpos.toLowerCase() !== 'c' &&
+ (e.rankdir === 'TB' || e.rankdir === 'BT'
+ ? (n.width += n.labeloffset)
+ : (n.height += n.labeloffset));
+ });
+ }
+ function rNe(t) {
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ if (r.width && r.height) {
+ var n = t.node(e.v),
+ i = t.node(e.w),
+ a = { rank: (i.rank - n.rank) / 2 + n.rank, e };
+ kc(t, 'edge-proxy', a, '_ep');
+ }
+ });
+ }
+ function nNe(t) {
+ var e = 0;
+ Ee(t.nodes(), function (r) {
+ var n = t.node(r);
+ n.borderTop &&
+ ((n.minRank = t.node(n.borderTop).rank),
+ (n.maxRank = t.node(n.borderBottom).rank),
+ (e = _s(e, n.maxRank)));
+ }),
+ (t.graph().maxRank = e);
+ }
+ function iNe(t) {
+ Ee(t.nodes(), function (e) {
+ var r = t.node(e);
+ r.dummy === 'edge-proxy' && ((t.edge(r.e).labelRank = r.rank), t.removeNode(e));
+ });
+ }
+ function aNe(t) {
+ var e = Number.POSITIVE_INFINITY,
+ r = 0,
+ n = Number.POSITIVE_INFINITY,
+ i = 0,
+ a = t.graph(),
+ s = a.marginx || 0,
+ l = a.marginy || 0;
+ function u(h) {
+ var f = h.x,
+ d = h.y,
+ p = h.width,
+ m = h.height;
+ (e = Math.min(e, f - p / 2)),
+ (r = Math.max(r, f + p / 2)),
+ (n = Math.min(n, d - m / 2)),
+ (i = Math.max(i, d + m / 2));
+ }
+ o(u, 'getExtremes'),
+ Ee(t.nodes(), function (h) {
+ u(t.node(h));
+ }),
+ Ee(t.edges(), function (h) {
+ var f = t.edge(h);
+ Xe(f, 'x') && u(f);
+ }),
+ (e -= s),
+ (n -= l),
+ Ee(t.nodes(), function (h) {
+ var f = t.node(h);
+ (f.x -= e), (f.y -= n);
+ }),
+ Ee(t.edges(), function (h) {
+ var f = t.edge(h);
+ Ee(f.points, function (d) {
+ (d.x -= e), (d.y -= n);
+ }),
+ Xe(f, 'x') && (f.x -= e),
+ Xe(f, 'y') && (f.y -= n);
+ }),
+ (a.width = r - e + s),
+ (a.height = i - n + l);
+ }
+ function sNe(t) {
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e),
+ n = t.node(e.v),
+ i = t.node(e.w),
+ a,
+ s;
+ r.points ? ((a = r.points[0]), (s = r.points[r.points.length - 1])) : ((r.points = []), (a = i), (s = n)),
+ r.points.unshift(XL(n, a)),
+ r.points.push(XL(i, s));
+ });
+ }
+ function oNe(t) {
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ if (Xe(r, 'x'))
+ switch (((r.labelpos === 'l' || r.labelpos === 'r') && (r.width -= r.labeloffset), r.labelpos)) {
+ case 'l':
+ r.x -= r.width / 2 + r.labeloffset;
+ break;
+ case 'r':
+ r.x += r.width / 2 + r.labeloffset;
+ break;
+ }
+ });
+ }
+ function lNe(t) {
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ r.reversed && r.points.reverse();
+ });
+ }
+ function cNe(t) {
+ Ee(t.nodes(), function (e) {
+ if (t.children(e).length) {
+ var r = t.node(e),
+ n = t.node(r.borderTop),
+ i = t.node(r.borderBottom),
+ a = t.node(ma(r.borderLeft)),
+ s = t.node(ma(r.borderRight));
+ (r.width = Math.abs(s.x - a.x)),
+ (r.height = Math.abs(i.y - n.y)),
+ (r.x = a.x + r.width / 2),
+ (r.y = n.y + r.height / 2);
+ }
+ }),
+ Ee(t.nodes(), function (e) {
+ t.node(e).dummy === 'border' && t.removeNode(e);
+ });
+ }
+ function uNe(t) {
+ Ee(t.edges(), function (e) {
+ if (e.v === e.w) {
+ var r = t.node(e.v);
+ r.selfEdges || (r.selfEdges = []), r.selfEdges.push({ e, label: t.edge(e) }), t.removeEdge(e);
+ }
+ });
+ }
+ function hNe(t) {
+ var e = Qh(t);
+ Ee(e, function (r) {
+ var n = 0;
+ Ee(r, function (i, a) {
+ var s = t.node(i);
+ (s.order = a + n),
+ Ee(s.selfEdges, function (l) {
+ kc(
+ t,
+ 'selfedge',
+ {
+ width: l.label.width,
+ height: l.label.height,
+ rank: s.rank,
+ order: a + ++n,
+ e: l.e,
+ label: l.label
+ },
+ '_se'
+ );
+ }),
+ delete s.selfEdges;
+ });
+ });
+ }
+ function fNe(t) {
+ Ee(t.nodes(), function (e) {
+ var r = t.node(e);
+ if (r.dummy === 'selfedge') {
+ var n = t.node(r.e.v),
+ i = n.x + n.width / 2,
+ a = n.y,
+ s = r.x - i,
+ l = n.height / 2;
+ t.setEdge(r.e, r.label),
+ t.removeNode(e),
+ (r.label.points = [
+ { x: i + (2 * s) / 3, y: a - l },
+ { x: i + (5 * s) / 6, y: a - l },
+ { x: i + s, y: a },
+ { x: i + (5 * s) / 6, y: a + l },
+ { x: i + (2 * s) / 3, y: a + l }
+ ]),
+ (r.label.x = r.x),
+ (r.label.y = r.y);
+ }
+ });
+ }
+ function pD(t, e) {
+ return Pd(Fd(t, e), Number);
+ }
+ function mD(t) {
+ var e = {};
+ return (
+ Ee(t, function (r, n) {
+ e[n.toLowerCase()] = r;
+ }),
+ e
+ );
+ }
+ var WRe,
+ qRe,
+ XRe,
+ jRe,
+ KRe,
+ QRe,
+ ZRe,
+ JRe,
+ Rre = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ Ate();
+ Nte();
+ qL();
+ JL();
+ fD();
+ nre();
+ kre();
+ Cre();
+ Dre();
+ Ec();
+ o(lo, 'layout');
+ o(HRe, 'runLayout');
+ o(YRe, 'updateInputGraph');
+ (WRe = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy']),
+ (qRe = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' }),
+ (XRe = ['acyclicer', 'ranker', 'rankdir', 'align']),
+ (jRe = ['width', 'height']),
+ (KRe = { width: 0, height: 0 }),
+ (QRe = ['minlen', 'weight', 'width', 'height', 'labeloffset']),
+ (ZRe = {
+ minlen: 1,
+ weight: 1,
+ width: 0,
+ height: 0,
+ labeloffset: 10,
+ labelpos: 'r'
+ }),
+ (JRe = ['labelpos']);
+ o(eNe, 'buildLayoutGraph');
+ o(tNe, 'makeSpaceForEdgeLabels');
+ o(rNe, 'injectEdgeLabelProxies');
+ o(nNe, 'assignRankMinMax');
+ o(iNe, 'removeEdgeLabelProxies');
+ o(aNe, 'translateGraph');
+ o(sNe, 'assignNodeIntersects');
+ o(oNe, 'fixupEdgeLabelCoords');
+ o(lNe, 'reversePointsForReversedEdges');
+ o(cNe, 'removeBorderNodes');
+ o(uNe, 'removeSelfEdges');
+ o(hNe, 'insertSelfEdges');
+ o(fNe, 'positionSelfEdges');
+ o(pD, 'selectNumberAttrs');
+ o(mD, 'canonicalize');
+ });
+ var Vd = R(() => {
+ 'use strict';
+ qL();
+ Rre();
+ JL();
+ fD();
+ });
+ function zn(t) {
+ var e = {
+ options: {
+ directed: t.isDirected(),
+ multigraph: t.isMultigraph(),
+ compound: t.isCompound()
+ },
+ nodes: dNe(t),
+ edges: pNe(t)
+ };
+ return er(t.graph()) || (e.value = Qr(t.graph())), e;
+ }
+ function dNe(t) {
+ return qe(t.nodes(), function (e) {
+ var r = t.node(e),
+ n = t.parent(e),
+ i = { v: e };
+ return er(r) || (i.value = r), er(n) || (i.parent = n), i;
+ });
+ }
+ function pNe(t) {
+ return qe(t.edges(), function (e) {
+ var r = t.edge(e),
+ n = { v: e.v, w: e.w };
+ return er(e.name) || (n.name = e.name), er(r) || (n.value = r), n;
+ });
+ }
+ var Pv = R(() => {
+ 'use strict';
+ Pt();
+ Zw();
+ o(zn, 'write');
+ o(dNe, 'writeNodes');
+ o(pNe, 'writeEdges');
+ });
+ var cr,
+ Ud,
+ Mre,
+ Ire,
+ aT,
+ mNe,
+ Ore,
+ Pre,
+ gNe,
+ Bm,
+ Nre,
+ Bre,
+ Fre,
+ zre,
+ Gre,
+ $re = R(() => {
+ 'use strict';
+ ut();
+ ya();
+ Pv();
+ (cr = new Map()),
+ (Ud = new Map()),
+ (Mre = new Map()),
+ (Ire = o(() => {
+ Ud.clear(), Mre.clear(), cr.clear();
+ }, 'clear')),
+ (aT = o((t, e) => {
+ let r = Ud.get(e) || [];
+ return V.trace('In isDescendant', e, ' ', t, ' = ', r.includes(t)), r.includes(t);
+ }, 'isDescendant')),
+ (mNe = o((t, e) => {
+ let r = Ud.get(e) || [];
+ return (
+ V.info('Descendants of ', e, ' is ', r),
+ V.info('Edge is ', t),
+ t.v === e || t.w === e
+ ? !1
+ : r
+ ? r.includes(t.v) || aT(t.v, e) || aT(t.w, e) || r.includes(t.w)
+ : (V.debug('Tilt, ', e, ',not in descendants'), !1)
+ );
+ }, 'edgeInCluster')),
+ (Ore = o((t, e, r, n) => {
+ V.warn('Copying children of ', t, 'root', n, 'data', e.node(t), n);
+ let i = e.children(t) || [];
+ t !== n && i.push(t),
+ V.warn('Copying (nodes) clusterId', t, 'nodes', i),
+ i.forEach((a) => {
+ if (e.children(a).length > 0) Ore(a, e, r, n);
+ else {
+ let s = e.node(a);
+ V.info('cp ', a, ' to ', n, ' with parent ', t),
+ r.setNode(a, s),
+ n !== e.parent(a) &&
+ (V.warn('Setting parent', a, e.parent(a)), r.setParent(a, e.parent(a))),
+ t !== n && a !== t
+ ? (V.debug('Setting parent', a, t), r.setParent(a, t))
+ : (V.info('In copy ', t, 'root', n, 'data', e.node(t), n),
+ V.debug(
+ 'Not Setting parent for node=',
+ a,
+ 'cluster!==rootId',
+ t !== n,
+ 'node!==clusterId',
+ a !== t
+ ));
+ let l = e.edges(a);
+ V.debug('Copying Edges', l),
+ l.forEach((u) => {
+ V.info('Edge', u);
+ let h = e.edge(u.v, u.w, u.name);
+ V.info('Edge data', h, n);
+ try {
+ mNe(u, n)
+ ? (V.info('Copying as ', u.v, u.w, h, u.name),
+ r.setEdge(u.v, u.w, h, u.name),
+ V.info('newGraph edges ', r.edges(), r.edge(r.edges()[0])))
+ : V.info(
+ 'Skipping copy of edge ',
+ u.v,
+ '-->',
+ u.w,
+ ' rootId: ',
+ n,
+ ' clusterId:',
+ t
+ );
+ } catch (f) {
+ V.error(f);
+ }
+ });
+ }
+ V.debug('Removing node', a), e.removeNode(a);
+ });
+ }, 'copy')),
+ (Pre = o((t, e) => {
+ let r = e.children(t),
+ n = [...r];
+ for (let i of r) Mre.set(i, t), (n = [...n, ...Pre(i, e)]);
+ return n;
+ }, 'extractDescendants')),
+ (gNe = o((t, e, r) => {
+ let n = t.edges().filter((u) => u.v === e || u.w === e),
+ i = t.edges().filter((u) => u.v === r || u.w === r),
+ a = n.map((u) => ({
+ v: u.v === e ? r : u.v,
+ w: u.w === e ? e : u.w
+ })),
+ s = i.map((u) => ({ v: u.v, w: u.w }));
+ return a.filter((u) => s.some((h) => u.v === h.v && u.w === h.w));
+ }, 'findCommonEdges')),
+ (Bm = o((t, e, r) => {
+ let n = e.children(t);
+ if ((V.trace('Searching children of id ', t, n), n.length < 1)) return t;
+ let i;
+ for (let a of n) {
+ let s = Bm(a, e, r),
+ l = gNe(e, r, s);
+ if (s)
+ if (l.length > 0) i = s;
+ else return s;
+ }
+ return i;
+ }, 'findNonClusterChild')),
+ (Nre = o(
+ (t) => (!cr.has(t) || !cr.get(t).externalConnections ? t : cr.has(t) ? cr.get(t).id : t),
+ 'getAnchorId'
+ )),
+ (Bre = o((t, e) => {
+ if (!t || e > 10) {
+ V.debug('Opting out, no graph ');
+ return;
+ } else V.debug('Opting in, graph ');
+ t.nodes().forEach(function (r) {
+ t.children(r).length > 0 &&
+ (V.warn('Cluster identified', r, ' Replacement id in edges: ', Bm(r, t, r)),
+ Ud.set(r, Pre(r, t)),
+ cr.set(r, { id: Bm(r, t, r), clusterData: t.node(r) }));
+ }),
+ t.nodes().forEach(function (r) {
+ let n = t.children(r),
+ i = t.edges();
+ n.length > 0
+ ? (V.debug('Cluster identified', r, Ud),
+ i.forEach((a) => {
+ let s = aT(a.v, r),
+ l = aT(a.w, r);
+ s ^ l &&
+ (V.warn('Edge: ', a, ' leaves cluster ', r),
+ V.warn('Descendants of XXX ', r, ': ', Ud.get(r)),
+ (cr.get(r).externalConnections = !0));
+ }))
+ : V.debug('Not a cluster ', r, Ud);
+ });
+ for (let r of cr.keys()) {
+ let n = cr.get(r).id,
+ i = t.parent(n);
+ i !== r && cr.has(i) && !cr.get(i).externalConnections && (cr.get(r).id = i);
+ }
+ t.edges().forEach(function (r) {
+ let n = t.edge(r);
+ V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(r)),
+ V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(t.edge(r)));
+ let i = r.v,
+ a = r.w;
+ if (
+ (V.warn(
+ 'Fix XXX',
+ cr,
+ 'ids:',
+ r.v,
+ r.w,
+ 'Translating: ',
+ cr.get(r.v),
+ ' --- ',
+ cr.get(r.w)
+ ),
+ cr.get(r.v) || cr.get(r.w))
+ ) {
+ if (
+ (V.warn('Fixing and trying - removing XXX', r.v, r.w, r.name),
+ (i = Nre(r.v)),
+ (a = Nre(r.w)),
+ t.removeEdge(r.v, r.w, r.name),
+ i !== r.v)
+ ) {
+ let s = t.parent(i);
+ (cr.get(s).externalConnections = !0), (n.fromCluster = r.v);
+ }
+ if (a !== r.w) {
+ let s = t.parent(a);
+ (cr.get(s).externalConnections = !0), (n.toCluster = r.w);
+ }
+ V.warn('Fix Replacing with XXX', i, a, r.name), t.setEdge(i, a, n, r.name);
+ }
+ }),
+ V.warn('Adjusted Graph', zn(t)),
+ Fre(t, 0),
+ V.trace(cr);
+ }, 'adjustClustersAndEdges')),
+ (Fre = o((t, e) => {
+ if ((V.warn('extractor - ', e, zn(t), t.children('D')), e > 10)) {
+ V.error('Bailing out');
+ return;
+ }
+ let r = t.nodes(),
+ n = !1;
+ for (let i of r) {
+ let a = t.children(i);
+ n = n || a.length > 0;
+ }
+ if (!n) {
+ V.debug('Done, no node has children', t.nodes());
+ return;
+ }
+ V.debug('Nodes = ', r, e);
+ for (let i of r)
+ if (
+ (V.debug(
+ 'Extracting node',
+ i,
+ cr,
+ cr.has(i) && !cr.get(i).externalConnections,
+ !t.parent(i),
+ t.node(i),
+ t.children('D'),
+ ' Depth ',
+ e
+ ),
+ !cr.has(i))
+ )
+ V.debug('Not a cluster', i, e);
+ else if (!cr.get(i).externalConnections && t.children(i) && t.children(i).length > 0) {
+ V.warn('Cluster without external connections, without a parent and with children', i, e);
+ let s = t.graph().rankdir === 'TB' ? 'LR' : 'TB';
+ cr.get(i)?.clusterData?.dir &&
+ ((s = cr.get(i).clusterData.dir), V.warn('Fixing dir', cr.get(i).clusterData.dir, s));
+ let l = new lr({ multigraph: !0, compound: !0 })
+ .setGraph({
+ rankdir: s,
+ nodesep: 50,
+ ranksep: 50,
+ marginx: 8,
+ marginy: 8
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ V.warn('Old graph before copy', zn(t)),
+ Ore(i, t, l, i),
+ t.setNode(i, {
+ clusterNode: !0,
+ id: i,
+ clusterData: cr.get(i).clusterData,
+ label: cr.get(i).label,
+ graph: l
+ }),
+ V.warn('New graph after copy node: (', i, ')', zn(l)),
+ V.debug('Old graph after copy', zn(t));
+ } else
+ V.warn(
+ 'Cluster ** ',
+ i,
+ ' **not meeting the criteria !externalConnections:',
+ !cr.get(i).externalConnections,
+ ' no parent: ',
+ !t.parent(i),
+ ' children ',
+ t.children(i) && t.children(i).length > 0,
+ t.children('D'),
+ e
+ ),
+ V.debug(cr);
+ (r = t.nodes()), V.warn('New list of nodes', r);
+ for (let i of r) {
+ let a = t.node(i);
+ V.warn(' Now next level', i, a), a?.clusterNode && Fre(a.graph, e + 1);
+ }
+ }, 'extractor')),
+ (zre = o((t, e) => {
+ if (e.length === 0) return [];
+ let r = Object.assign([], e);
+ return (
+ e.forEach((n) => {
+ let i = t.children(n),
+ a = zre(t, i);
+ r = [...r, ...a];
+ }),
+ r
+ );
+ }, 'sorter')),
+ (Gre = o((t) => zre(t, t.children()), 'sortNodesByHierarchy'));
+ });
+ var Ure = {};
+ hr(Ure, { render: () => yNe });
+ var Vre,
+ yNe,
+ Hre = R(() => {
+ 'use strict';
+ Vd();
+ Pv();
+ ya();
+ Q9();
+ ri();
+ $re();
+ tL();
+ X9();
+ K9();
+ ut();
+ _d();
+ _t();
+ (Vre = o(async (t, e, r, n, i, a) => {
+ V.warn('Graph in recursive render:XAX', zn(e), i);
+ let s = e.graph().rankdir;
+ V.trace('Dir in recursive render - dir:', s);
+ let l = t.insert('g').attr('class', 'root');
+ e.nodes() ? V.info('Recursive render XXX', e.nodes()) : V.info('No nodes found for', e),
+ e.edges().length > 0 && V.info('Recursive edges', e.edge(e.edges()[0]));
+ let u = l.insert('g').attr('class', 'clusters'),
+ h = l.insert('g').attr('class', 'edgePaths'),
+ f = l.insert('g').attr('class', 'edgeLabels'),
+ d = l.insert('g').attr('class', 'nodes');
+ await Promise.all(
+ e.nodes().map(async function (y) {
+ let v = e.node(y);
+ if (i !== void 0) {
+ let x = JSON.parse(JSON.stringify(i.clusterData));
+ V.trace(
+ `Setting data for parent cluster XXX
+ Node.id = `,
+ y,
+ `
+ data=`,
+ x.height,
+ `
+Parent cluster`,
+ i.height
+ ),
+ e.setNode(i.id, x),
+ e.parent(y) || (V.trace('Setting parent', y, i.id), e.setParent(y, i.id, x));
+ }
+ if ((V.info('(Insert) Node XXX' + y + ': ' + JSON.stringify(e.node(y))), v?.clusterNode)) {
+ V.info('Cluster identified XBX', y, v.width, e.node(y));
+ let { ranksep: x, nodesep: b } = e.graph();
+ v.graph.setGraph({
+ ...v.graph.graph(),
+ ranksep: x + 25,
+ nodesep: b
+ });
+ let w = await Vre(d, v.graph, r, n, e.node(y), a),
+ S = w.elem;
+ ar(v, S),
+ (v.diff = w.diff || 0),
+ V.info(
+ 'New compound node after recursive render XAX',
+ y,
+ 'width',
+ v.width,
+ 'height',
+ v.height
+ ),
+ lQ(S, v);
+ } else e.children(y).length > 0 ? (V.trace('Cluster - the non recursive path XBX', y, v.id, v, v.width, 'Graph:', e), V.trace(Bm(v.id, e)), cr.set(v.id, { id: Bm(v.id, e), node: v })) : (V.trace('Node - the non recursive path XAX', y, d, e.node(y), s), await rw(d, e.node(y), s));
+ })
+ ),
+ await o(async () => {
+ let y = e.edges().map(async function (v) {
+ let x = e.edge(v.v, v.w, v.name);
+ V.info('Edge ' + v.v + ' -> ' + v.w + ': ' + JSON.stringify(v)),
+ V.info('Edge ' + v.v + ' -> ' + v.w + ': ', v, ' ', JSON.stringify(e.edge(v))),
+ V.info('Fix', cr, 'ids:', v.v, v.w, 'Translating: ', cr.get(v.v), cr.get(v.w)),
+ await Q5(f, x);
+ });
+ await Promise.all(y);
+ }, 'processEdges')(),
+ V.info('Graph before layout:', JSON.stringify(zn(e))),
+ V.info('############################################# XXX'),
+ V.info('### Layout ### XXX'),
+ V.info('############################################# XXX'),
+ lo(e),
+ V.info('Graph after layout:', JSON.stringify(zn(e)));
+ let m = 0,
+ { subGraphTitleTotalMargin: g } = io(a);
+ return (
+ await Promise.all(
+ Gre(e).map(async function (y) {
+ let v = e.node(y);
+ if (
+ (V.info(
+ 'Position XBX => ' + y + ': (' + v.x,
+ ',' + v.y,
+ ') width: ',
+ v.width,
+ ' height: ',
+ v.height
+ ),
+ v?.clusterNode)
+ )
+ (v.y += g),
+ V.info(
+ 'A tainted cluster node XBX1',
+ y,
+ v.id,
+ v.width,
+ v.height,
+ v.x,
+ v.y,
+ e.parent(y)
+ ),
+ (cr.get(v.id).node = v),
+ eL(v);
+ else if (e.children(y).length > 0) {
+ V.info('A pure cluster node XBX1', y, v.id, v.x, v.y, v.width, v.height, e.parent(y)),
+ (v.height += g),
+ e.node(v.parentId);
+ let x = v?.padding / 2 || 0,
+ b = v?.labelBBox?.height || 0,
+ w = b - x || 0;
+ V.debug('OffsetY', w, 'labelHeight', b, 'halfPadding', x),
+ await Y5(u, v),
+ (cr.get(v.id).node = v);
+ } else {
+ let x = e.node(v.parentId);
+ (v.y += g / 2),
+ V.info(
+ 'A regular node XBX1 - using the padding',
+ v.id,
+ 'parent',
+ v.parentId,
+ v.width,
+ v.height,
+ v.x,
+ v.y,
+ 'offsetY',
+ v.offsetY,
+ 'parent',
+ x,
+ x?.offsetY,
+ v
+ ),
+ eL(v);
+ }
+ })
+ ),
+ e.edges().forEach(function (y) {
+ let v = e.edge(y);
+ V.info('Edge ' + y.v + ' -> ' + y.w + ': ' + JSON.stringify(v), v),
+ v.points.forEach((S) => (S.y += g / 2));
+ let x = e.node(y.v);
+ var b = e.node(y.w);
+ let w = J5(h, v, cr, r, x, b, n);
+ Z5(v, w);
+ }),
+ e.nodes().forEach(function (y) {
+ let v = e.node(y);
+ V.info(y, v.type, v.diff), v.isGroup && (m = v.diff);
+ }),
+ V.warn('Returning from recursive render XAX', l, m),
+ { elem: l, diff: m }
+ );
+ }, 'recursiveRender')),
+ (yNe = o(async (t, e) => {
+ let r = new lr({ multigraph: !0, compound: !0 })
+ .setGraph({
+ rankdir: t.direction,
+ nodesep: t.config?.nodeSpacing || t.config?.flowchart?.nodeSpacing || t.nodeSpacing,
+ ranksep: t.config?.rankSpacing || t.config?.flowchart?.rankSpacing || t.rankSpacing,
+ marginx: 8,
+ marginy: 8
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ }),
+ n = e.select('g');
+ ew(n, t.markers, t.type, t.diagramId),
+ cQ(),
+ lK(),
+ rK(),
+ Ire(),
+ t.nodes.forEach((a) => {
+ r.setNode(a.id, { ...a }), a.parentId && r.setParent(a.id, a.parentId);
+ }),
+ V.debug('Edges:', t.edges),
+ t.edges.forEach((a) => {
+ if (a.start === a.end) {
+ let s = a.start,
+ l = s + '---' + s + '---1',
+ u = s + '---' + s + '---2',
+ h = r.node(s);
+ r.setNode(l, {
+ domId: l,
+ id: l,
+ parentId: h.parentId,
+ labelStyle: '',
+ label: '',
+ padding: 0,
+ shape: 'labelRect',
+ style: '',
+ width: 10,
+ height: 10
+ }),
+ r.setParent(l, h.parentId),
+ r.setNode(u, {
+ domId: u,
+ id: u,
+ parentId: h.parentId,
+ labelStyle: '',
+ padding: 0,
+ shape: 'labelRect',
+ label: '',
+ style: '',
+ width: 10,
+ height: 10
+ }),
+ r.setParent(u, h.parentId);
+ let f = structuredClone(a),
+ d = structuredClone(a),
+ p = structuredClone(a);
+ (f.label = ''),
+ (f.arrowTypeEnd = 'none'),
+ (f.id = s + '-cyclic-special-1'),
+ (d.arrowTypeEnd = 'none'),
+ (d.id = s + '-cyclic-special-mid'),
+ (p.label = ''),
+ h.isGroup && ((f.fromCluster = s), (p.toCluster = s)),
+ (p.id = s + '-cyclic-special-2'),
+ r.setEdge(s, l, f, s + '-cyclic-special-0'),
+ r.setEdge(l, u, d, s + '-cyclic-special-1'),
+ r.setEdge(u, s, p, s + '-cyc {
+ 'use strict';
+ hQ();
+ ut();
+ (Bv = {}),
+ (gD = o((t) => {
+ for (let e of t) Bv[e.name] = e;
+ }, 'registerLayoutLoaders')),
+ (vNe = o(() => {
+ gD([
+ {
+ name: 'dagre',
+ loader: o(async () => await Promise.resolve().then(() => (Hre(), Ure)), 'loader')
+ }
+ ]);
+ }, 'registerDefaultLayoutLoaders'));
+ vNe();
+ (sT = o(async (t, e) => {
+ if (!(t.layoutAlgorithm in Bv)) throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);
+ let r = Bv[t.layoutAlgorithm];
+ return (await r.loader()).render(t, e, uQ, { algorithm: r.algorithm });
+ }, 'render')),
+ (Yre = o((t = '', { fallback: e = 'dagre' } = {}) => {
+ if (t in Bv) return t;
+ if (e in Bv) return V.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`), e;
+ throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`);
+ }, 'getRegisteredLayoutAlgorithm'));
+ });
+ var lT,
+ xNe,
+ bNe,
+ yD = R(() => {
+ 'use strict';
+ Yn();
+ ut();
+ (lT = o((t, e, r, n) => {
+ t.attr('class', r);
+ let { width: i, height: a, x: s, y: l } = xNe(t, e);
+ Sr(t, a, i, n);
+ let u = bNe(s, l, i, a, e);
+ t.attr('viewBox', u), V.debug(`viewBox configured: ${u} with padding: ${e}`);
+ }, 'setupViewPortForSVG')),
+ (xNe = o((t, e) => {
+ let r = t.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 };
+ return {
+ width: r.width + e * 2,
+ height: r.height + e * 2,
+ x: r.x,
+ y: r.y
+ };
+ }, 'calculateDimensionsWithPadding')),
+ (bNe = o((t, e, r, n, i) => `${t - i} ${e - i} ${r} ${n}`, 'createViewBox'));
+ });
+ var wNe,
+ TNe,
+ Wre,
+ qre = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ ut();
+ L9();
+ oT();
+ yD();
+ xr();
+ f9();
+ (wNe = o(function (t, e) {
+ return e.db.getClasses();
+ }, 'getClasses')),
+ (TNe = o(async function (t, e, r, n) {
+ V.info('REF0:'), V.info('Drawing state diagram (v2)', e);
+ let { securityLevel: i, flowchart: a, layout: s } = de(),
+ l;
+ i === 'sandbox' && (l = $e('#i' + e));
+ let u = i === 'sandbox' ? l.nodes()[0].contentDocument : document;
+ V.debug('Before getData: ');
+ let h = n.db.getData();
+ V.debug('Data: ', h);
+ let f = I5(e, i),
+ d = h9();
+ (h.type = n.type),
+ (h.layoutAlgorithm = Yre(s)),
+ h.layoutAlgorithm === 'dagre' &&
+ s === 'elk' &&
+ V.warn(
+ 'flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback.'
+ ),
+ (h.direction = d),
+ (h.nodeSpacing = a?.nodeSpacing || 50),
+ (h.rankSpacing = a?.rankSpacing || 50),
+ (h.markers = ['point', 'circle', 'cross']),
+ (h.diagramId = e),
+ V.debug('REF1:', h),
+ await sT(h, f);
+ let p = h.config.flowchart?.diagramPadding ?? 8;
+ Lt.insertTitle(f, 'flowchartTitleText', a?.titleTopMargin || 0, n.db.getDiagramTitle()),
+ lT(f, p, 'flowchart', a?.useMaxWidth || !1);
+ for (let m of h.nodes) {
+ let g = $e(`#${e} [id="${m.id}"]`);
+ if (!g || !m.link) continue;
+ let y = u.createElementNS('http://www.w3.org/2000/svg', 'a');
+ y.setAttributeNS('http://www.w3.org/2000/svg', 'class', m.cssClasses),
+ y.setAttributeNS('http://www.w3.org/2000/svg', 'rel', 'noopener'),
+ i === 'sandbox'
+ ? y.setAttributeNS('http://www.w3.org/2000/svg', 'target', '_top')
+ : m.linkTarget &&
+ y.setAttributeNS('http://www.w3.org/2000/svg', 'target', m.linkTarget);
+ let v = g.insert(function () {
+ return y;
+ }, ':first-child'),
+ x = g.select('.label-container');
+ x &&
+ v.append(function () {
+ return x.node();
+ });
+ let b = g.select('.label');
+ b &&
+ v.append(function () {
+ return b.node();
+ });
+ }
+ }, 'draw')),
+ (Wre = { getClasses: wNe, draw: TNe });
+ });
+ var vD,
+ Xre,
+ jre = R(() => {
+ 'use strict';
+ vD = (function () {
+ var t = o(function (qi, ht, At, $t) {
+ for (At = At || {}, $t = qi.length; $t--; At[qi[$t]] = ht);
+ return At;
+ }, 'o'),
+ e = [1, 4],
+ r = [1, 3],
+ n = [1, 5],
+ i = [
+ 1, 8, 9, 10, 11, 27, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111,
+ 112, 113, 118, 119, 120, 121
+ ],
+ a = [2, 2],
+ s = [1, 13],
+ l = [1, 14],
+ u = [1, 15],
+ h = [1, 16],
+ f = [1, 23],
+ d = [1, 25],
+ p = [1, 26],
+ m = [1, 27],
+ g = [1, 49],
+ y = [1, 48],
+ v = [1, 29],
+ x = [1, 30],
+ b = [1, 31],
+ w = [1, 32],
+ S = [1, 33],
+ T = [1, 44],
+ E = [1, 46],
+ _ = [1, 42],
+ A = [1, 47],
+ L = [1, 43],
+ M = [1, 50],
+ N = [1, 45],
+ k = [1, 51],
+ I = [1, 52],
+ C = [1, 34],
+ O = [1, 35],
+ D = [1, 36],
+ P = [1, 37],
+ F = [1, 57],
+ B = [
+ 1, 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108,
+ 111, 112, 113, 118, 119, 120, 121
+ ],
+ $ = [1, 61],
+ z = [1, 60],
+ Y = [1, 62],
+ Q = [8, 9, 11, 73, 75],
+ X = [1, 88],
+ ie = [1, 93],
+ j = [1, 92],
+ J = [1, 89],
+ Z = [1, 85],
+ H = [1, 91],
+ q = [1, 87],
+ K = [1, 94],
+ se = [1, 90],
+ ce = [1, 95],
+ ue = [1, 86],
+ te = [8, 9, 10, 11, 73, 75],
+ De = [8, 9, 10, 11, 44, 73, 75],
+ oe = [
+ 8, 9, 10, 11, 29, 42, 44, 46, 48, 50, 52, 54, 56, 58, 61, 63, 65, 66, 68, 73, 75, 86, 99, 102,
+ 103, 106, 108, 111, 112, 113
+ ],
+ ke = [8, 9, 11, 42, 58, 73, 75, 86, 99, 102, 103, 106, 108, 111, 112, 113],
+ Ie = [42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113],
+ Se = [1, 121],
+ Ue = [1, 120],
+ Pe = [1, 128],
+ _e = [1, 142],
+ me = [1, 143],
+ W = [1, 144],
+ fe = [1, 145],
+ ge = [1, 130],
+ re = [1, 132],
+ he = [1, 136],
+ ne = [1, 137],
+ ae = [1, 138],
+ we = [1, 139],
+ Te = [1, 140],
+ Ce = [1, 141],
+ Ae = [1, 146],
+ Ge = [1, 147],
+ Me = [1, 126],
+ ye = [1, 127],
+ He = [1, 134],
+ ze = [1, 129],
+ Ze = [1, 133],
+ gt = [1, 131],
+ yt = [
+ 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111,
+ 112, 113, 118, 119, 120, 121
+ ],
+ tt = [1, 149],
+ Ye = [8, 9, 11],
+ Je = [8, 9, 10, 11, 14, 42, 58, 86, 102, 103, 106, 108, 111, 112, 113],
+ Ve = [1, 169],
+ je = [1, 165],
+ kt = [1, 166],
+ at = [1, 170],
+ xt = [1, 167],
+ it = [1, 168],
+ dt = [75, 113, 116],
+ lt = [
+ 8, 9, 10, 11, 12, 14, 27, 29, 32, 42, 58, 73, 81, 82, 83, 84, 85, 86, 87, 102, 106, 108, 111,
+ 112, 113
+ ],
+ It = [10, 103],
+ mt = [31, 47, 49, 51, 53, 55, 60, 62, 64, 65, 67, 69, 113, 114, 115],
+ St = [1, 235],
+ gr = [1, 233],
+ xn = [1, 237],
+ jt = [1, 231],
+ rn = [1, 232],
+ Er = [1, 234],
+ Kn = [1, 236],
+ hn = [1, 238],
+ Qn = [1, 255],
+ on = [8, 9, 11, 103],
+ Rn = [8, 9, 10, 11, 58, 81, 102, 103, 106, 107, 108, 109],
+ Ha = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ graphConfig: 4,
+ document: 5,
+ line: 6,
+ statement: 7,
+ SEMI: 8,
+ NEWLINE: 9,
+ SPACE: 10,
+ EOF: 11,
+ GRAPH: 12,
+ NODIR: 13,
+ DIR: 14,
+ FirstStmtSeparator: 15,
+ ending: 16,
+ endToken: 17,
+ spaceList: 18,
+ spaceListNewline: 19,
+ vertexStatement: 20,
+ separator: 21,
+ styleStatement: 22,
+ linkStyleStatement: 23,
+ classDefStatement: 24,
+ classStatement: 25,
+ clickStatement: 26,
+ subgraph: 27,
+ textNoTags: 28,
+ SQS: 29,
+ text: 30,
+ SQE: 31,
+ end: 32,
+ direction: 33,
+ acc_title: 34,
+ acc_title_value: 35,
+ acc_descr: 36,
+ acc_descr_value: 37,
+ acc_descr_multiline_value: 38,
+ link: 39,
+ node: 40,
+ styledVertex: 41,
+ AMP: 42,
+ vertex: 43,
+ STYLE_SEPARATOR: 44,
+ idString: 45,
+ DOUBLECIRCLESTART: 46,
+ DOUBLECIRCLEEND: 47,
+ PS: 48,
+ PE: 49,
+ '(-': 50,
+ '-)': 51,
+ STADIUMSTART: 52,
+ STADIUMEND: 53,
+ SUBROUTINESTART: 54,
+ SUBROUTINEEND: 55,
+ VERTEX_WITH_PROPS_START: 56,
+ 'NODE_STRING[field]': 57,
+ COLON: 58,
+ 'NODE_STRING[value]': 59,
+ PIPE: 60,
+ CYLINDERSTART: 61,
+ CYLINDEREND: 62,
+ DIAMOND_START: 63,
+ DIAMOND_STOP: 64,
+ TAGEND: 65,
+ TRAPSTART: 66,
+ TRAPEND: 67,
+ INVTRAPSTART: 68,
+ INVTRAPEND: 69,
+ linkStatement: 70,
+ arrowText: 71,
+ TESTSTR: 72,
+ START_LINK: 73,
+ edgeText: 74,
+ LINK: 75,
+ edgeTextToken: 76,
+ STR: 77,
+ MD_STR: 78,
+ textToken: 79,
+ keywords: 80,
+ STYLE: 81,
+ LINKSTYLE: 82,
+ CLASSDEF: 83,
+ CLASS: 84,
+ CLICK: 85,
+ DOWN: 86,
+ UP: 87,
+ textNoTagsToken: 88,
+ stylesOpt: 89,
+ 'idString[vertex]': 90,
+ 'idString[class]': 91,
+ CALLBACKNAME: 92,
+ CALLBACKARGS: 93,
+ HREF: 94,
+ LINK_TARGET: 95,
+ 'STR[link]': 96,
+ 'STR[tooltip]': 97,
+ alphaNum: 98,
+ DEFAULT: 99,
+ numList: 100,
+ INTERPOLATE: 101,
+ NUM: 102,
+ COMMA: 103,
+ style: 104,
+ styleComponent: 105,
+ NODE_STRING: 106,
+ UNIT: 107,
+ BRKT: 108,
+ PCT: 109,
+ idStringToken: 110,
+ MINUS: 111,
+ MULT: 112,
+ UNICODE_TEXT: 113,
+ TEXT: 114,
+ TAGSTART: 115,
+ EDGE_TEXT: 116,
+ alphaNumToken: 117,
+ direction_tb: 118,
+ direction_bt: 119,
+ direction_rl: 120,
+ direction_lr: 121,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 8: 'SEMI',
+ 9: 'NEWLINE',
+ 10: 'SPACE',
+ 11: 'EOF',
+ 12: 'GRAPH',
+ 13: 'NODIR',
+ 14: 'DIR',
+ 27: 'subgraph',
+ 29: 'SQS',
+ 31: 'SQE',
+ 32: 'end',
+ 34: 'acc_title',
+ 35: 'acc_title_value',
+ 36: 'acc_descr',
+ 37: 'acc_descr_value',
+ 38: 'acc_descr_multiline_value',
+ 42: 'AMP',
+ 44: 'STYLE_SEPARATOR',
+ 46: 'DOUBLECIRCLESTART',
+ 47: 'DOUBLECIRCLEEND',
+ 48: 'PS',
+ 49: 'PE',
+ 50: '(-',
+ 51: '-)',
+ 52: 'STADIUMSTART',
+ 53: 'STADIUMEND',
+ 54: 'SUBROUTINESTART',
+ 55: 'SUBROUTINEEND',
+ 56: 'VERTEX_WITH_PROPS_START',
+ 57: 'NODE_STRING[field]',
+ 58: 'COLON',
+ 59: 'NODE_STRING[value]',
+ 60: 'PIPE',
+ 61: 'CYLINDERSTART',
+ 62: 'CYLINDEREND',
+ 63: 'DIAMOND_START',
+ 64: 'DIAMOND_STOP',
+ 65: 'TAGEND',
+ 66: 'TRAPSTART',
+ 67: 'TRAPEND',
+ 68: 'INVTRAPSTART',
+ 69: 'INVTRAPEND',
+ 72: 'TESTSTR',
+ 73: 'START_LINK',
+ 75: 'LINK',
+ 77: 'STR',
+ 78: 'MD_STR',
+ 81: 'STYLE',
+ 82: 'LINKSTYLE',
+ 83: 'CLASSDEF',
+ 84: 'CLASS',
+ 85: 'CLICK',
+ 86: 'DOWN',
+ 87: 'UP',
+ 90: 'idString[vertex]',
+ 91: 'idString[class]',
+ 92: 'CALLBACKNAME',
+ 93: 'CALLBACKARGS',
+ 94: 'HREF',
+ 95: 'LINK_TARGET',
+ 96: 'STR[link]',
+ 97: 'STR[tooltip]',
+ 99: 'DEFAULT',
+ 101: 'INTERPOLATE',
+ 102: 'NUM',
+ 103: 'COMMA',
+ 106: 'NODE_STRING',
+ 107: 'UNIT',
+ 108: 'BRKT',
+ 109: 'PCT',
+ 111: 'MINUS',
+ 112: 'MULT',
+ 113: 'UNICODE_TEXT',
+ 114: 'TEXT',
+ 115: 'TAGSTART',
+ 116: 'EDGE_TEXT',
+ 118: 'direction_tb',
+ 119: 'direction_bt',
+ 120: 'direction_rl',
+ 121: 'direction_lr'
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [5, 0],
+ [5, 2],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 3],
+ [16, 2],
+ [16, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [15, 1],
+ [15, 1],
+ [15, 2],
+ [19, 2],
+ [19, 2],
+ [19, 1],
+ [19, 1],
+ [18, 2],
+ [18, 1],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 9],
+ [7, 6],
+ [7, 4],
+ [7, 1],
+ [7, 2],
+ [7, 2],
+ [7, 1],
+ [21, 1],
+ [21, 1],
+ [21, 1],
+ [20, 3],
+ [20, 4],
+ [20, 2],
+ [20, 1],
+ [40, 1],
+ [40, 5],
+ [41, 1],
+ [41, 3],
+ [43, 4],
+ [43, 4],
+ [43, 6],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 8],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 6],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 1],
+ [39, 2],
+ [39, 3],
+ [39, 3],
+ [39, 1],
+ [39, 3],
+ [74, 1],
+ [74, 2],
+ [74, 1],
+ [74, 1],
+ [70, 1],
+ [71, 3],
+ [30, 1],
+ [30, 2],
+ [30, 1],
+ [30, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [28, 1],
+ [28, 2],
+ [28, 1],
+ [28, 1],
+ [24, 5],
+ [25, 5],
+ [26, 2],
+ [26, 4],
+ [26, 3],
+ [26, 5],
+ [26, 3],
+ [26, 5],
+ [26, 5],
+ [26, 7],
+ [26, 2],
+ [26, 4],
+ [26, 2],
+ [26, 4],
+ [26, 4],
+ [26, 6],
+ [22, 5],
+ [23, 5],
+ [23, 5],
+ [23, 9],
+ [23, 9],
+ [23, 7],
+ [23, 7],
+ [100, 1],
+ [100, 3],
+ [89, 1],
+ [89, 3],
+ [104, 1],
+ [104, 2],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [76, 1],
+ [76, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [45, 1],
+ [45, 2],
+ [98, 1],
+ [98, 2],
+ [33, 1],
+ [33, 1],
+ [33, 1],
+ [33, 1]
+ ],
+ performAction: o(function (ht, At, $t, rt, Ot, pe, ur) {
+ var be = pe.length - 1;
+ switch (Ot) {
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ (!Array.isArray(pe[be]) || pe[be].length > 0) && pe[be - 1].push(pe[be]),
+ (this.$ = pe[be - 1]);
+ break;
+ case 4:
+ case 176:
+ this.$ = pe[be];
+ break;
+ case 11:
+ rt.setDirection('TB'), (this.$ = 'TB');
+ break;
+ case 12:
+ rt.setDirection(pe[be - 1]), (this.$ = pe[be - 1]);
+ break;
+ case 27:
+ this.$ = pe[be - 1].nodes;
+ break;
+ case 28:
+ case 29:
+ case 30:
+ case 31:
+ case 32:
+ this.$ = [];
+ break;
+ case 33:
+ this.$ = rt.addSubGraph(pe[be - 6], pe[be - 1], pe[be - 4]);
+ break;
+ case 34:
+ this.$ = rt.addSubGraph(pe[be - 3], pe[be - 1], pe[be - 3]);
+ break;
+ case 35:
+ this.$ = rt.addSubGraph(void 0, pe[be - 1], void 0);
+ break;
+ case 37:
+ (this.$ = pe[be].trim()), rt.setAccTitle(this.$);
+ break;
+ case 38:
+ case 39:
+ (this.$ = pe[be].trim()), rt.setAccDescription(this.$);
+ break;
+ case 43:
+ rt.addLink(pe[be - 2].stmt, pe[be], pe[be - 1]),
+ (this.$ = {
+ stmt: pe[be],
+ nodes: pe[be].concat(pe[be - 2].nodes)
+ });
+ break;
+ case 44:
+ rt.addLink(pe[be - 3].stmt, pe[be - 1], pe[be - 2]),
+ (this.$ = {
+ stmt: pe[be - 1],
+ nodes: pe[be - 1].concat(pe[be - 3].nodes)
+ });
+ break;
+ case 45:
+ this.$ = { stmt: pe[be - 1], nodes: pe[be - 1] };
+ break;
+ case 46:
+ this.$ = { stmt: pe[be], nodes: pe[be] };
+ break;
+ case 47:
+ this.$ = [pe[be]];
+ break;
+ case 48:
+ this.$ = pe[be - 4].concat(pe[be]);
+ break;
+ case 49:
+ this.$ = pe[be];
+ break;
+ case 50:
+ (this.$ = pe[be - 2]), rt.setClass(pe[be - 2], pe[be]);
+ break;
+ case 51:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'square');
+ break;
+ case 52:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'doublecircle');
+ break;
+ case 53:
+ (this.$ = pe[be - 5]), rt.addVertex(pe[be - 5], pe[be - 2], 'circle');
+ break;
+ case 54:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'ellipse');
+ break;
+ case 55:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'stadium');
+ break;
+ case 56:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'subroutine');
+ break;
+ case 57:
+ (this.$ = pe[be - 7]),
+ rt.addVertex(
+ pe[be - 7],
+ pe[be - 1],
+ 'rect',
+ void 0,
+ void 0,
+ void 0,
+ Object.fromEntries([[pe[be - 5], pe[be - 3]]])
+ );
+ break;
+ case 58:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'cylinder');
+ break;
+ case 59:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'round');
+ break;
+ case 60:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'diamond');
+ break;
+ case 61:
+ (this.$ = pe[be - 5]), rt.addVertex(pe[be - 5], pe[be - 2], 'hexagon');
+ break;
+ case 62:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'odd');
+ break;
+ case 63:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'trapezoid');
+ break;
+ case 64:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'inv_trapezoid');
+ break;
+ case 65:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'lean_right');
+ break;
+ case 66:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'lean_left');
+ break;
+ case 67:
+ (this.$ = pe[be]), rt.addVertex(pe[be]);
+ break;
+ case 68:
+ (pe[be - 1].text = pe[be]), (this.$ = pe[be - 1]);
+ break;
+ case 69:
+ case 70:
+ (pe[be - 2].text = pe[be - 1]), (this.$ = pe[be - 2]);
+ break;
+ case 71:
+ this.$ = pe[be];
+ break;
+ case 72:
+ var Ir = rt.destructLink(pe[be], pe[be - 2]);
+ this.$ = {
+ type: Ir.type,
+ stroke: Ir.stroke,
+ length: Ir.length,
+ text: pe[be - 1]
+ };
+ break;
+ case 73:
+ this.$ = { text: pe[be], type: 'text' };
+ break;
+ case 74:
+ this.$ = {
+ text: pe[be - 1].text + '' + pe[be],
+ type: pe[be - 1].type
+ };
+ break;
+ case 75:
+ this.$ = { text: pe[be], type: 'string' };
+ break;
+ case 76:
+ this.$ = { text: pe[be], type: 'markdown' };
+ break;
+ case 77:
+ var Ir = rt.destructLink(pe[be]);
+ this.$ = {
+ type: Ir.type,
+ stroke: Ir.stroke,
+ length: Ir.length
+ };
+ break;
+ case 78:
+ this.$ = pe[be - 1];
+ break;
+ case 79:
+ this.$ = { text: pe[be], type: 'text' };
+ break;
+ case 80:
+ this.$ = {
+ text: pe[be - 1].text + '' + pe[be],
+ type: pe[be - 1].type
+ };
+ break;
+ case 81:
+ this.$ = { text: pe[be], type: 'string' };
+ break;
+ case 82:
+ case 97:
+ this.$ = { text: pe[be], type: 'markdown' };
+ break;
+ case 94:
+ this.$ = { text: pe[be], type: 'text' };
+ break;
+ case 95:
+ this.$ = {
+ text: pe[be - 1].text + '' + pe[be],
+ type: pe[be - 1].type
+ };
+ break;
+ case 96:
+ this.$ = { text: pe[be], type: 'text' };
+ break;
+ case 98:
+ (this.$ = pe[be - 4]), rt.addClass(pe[be - 2], pe[be]);
+ break;
+ case 99:
+ (this.$ = pe[be - 4]), rt.setClass(pe[be - 2], pe[be]);
+ break;
+ case 100:
+ case 108:
+ (this.$ = pe[be - 1]), rt.setClickEvent(pe[be - 1], pe[be]);
+ break;
+ case 101:
+ case 109:
+ (this.$ = pe[be - 3]),
+ rt.setClickEvent(pe[be - 3], pe[be - 2]),
+ rt.setTooltip(pe[be - 3], pe[be]);
+ break;
+ case 102:
+ (this.$ = pe[be - 2]), rt.setClickEvent(pe[be - 2], pe[be - 1], pe[be]);
+ break;
+ case 103:
+ (this.$ = pe[be - 4]),
+ rt.setClickEvent(pe[be - 4], pe[be - 3], pe[be - 2]),
+ rt.setTooltip(pe[be - 4], pe[be]);
+ break;
+ case 104:
+ (this.$ = pe[be - 2]), rt.setLink(pe[be - 2], pe[be]);
+ break;
+ case 105:
+ (this.$ = pe[be - 4]),
+ rt.setLink(pe[be - 4], pe[be - 2]),
+ rt.setTooltip(pe[be - 4], pe[be]);
+ break;
+ case 106:
+ (this.$ = pe[be - 4]), rt.setLink(pe[be - 4], pe[be - 2], pe[be]);
+ break;
+ case 107:
+ (this.$ = pe[be - 6]),
+ rt.setLink(pe[be - 6], pe[be - 4], pe[be]),
+ rt.setTooltip(pe[be - 6], pe[be - 2]);
+ break;
+ case 110:
+ (this.$ = pe[be - 1]), rt.setLink(pe[be - 1], pe[be]);
+ break;
+ case 111:
+ (this.$ = pe[be - 3]),
+ rt.setLink(pe[be - 3], pe[be - 2]),
+ rt.setTooltip(pe[be - 3], pe[be]);
+ break;
+ case 112:
+ (this.$ = pe[be - 3]), rt.setLink(pe[be - 3], pe[be - 2], pe[be]);
+ break;
+ case 113:
+ (this.$ = pe[be - 5]),
+ rt.setLink(pe[be - 5], pe[be - 4], pe[be]),
+ rt.setTooltip(pe[be - 5], pe[be - 2]);
+ break;
+ case 114:
+ (this.$ = pe[be - 4]), rt.addVertex(pe[be - 2], void 0, void 0, pe[be]);
+ break;
+ case 115:
+ (this.$ = pe[be - 4]), rt.updateLink([pe[be - 2]], pe[be]);
+ break;
+ case 116:
+ (this.$ = pe[be - 4]), rt.updateLink(pe[be - 2], pe[be]);
+ break;
+ case 117:
+ (this.$ = pe[be - 8]),
+ rt.updateLinkInterpolate([pe[be - 6]], pe[be - 2]),
+ rt.updateLink([pe[be - 6]], pe[be]);
+ break;
+ case 118:
+ (this.$ = pe[be - 8]),
+ rt.updateLinkInterpolate(pe[be - 6], pe[be - 2]),
+ rt.updateLink(pe[be - 6], pe[be]);
+ break;
+ case 119:
+ (this.$ = pe[be - 6]), rt.updateLinkInterpolate([pe[be - 4]], pe[be]);
+ break;
+ case 120:
+ (this.$ = pe[be - 6]), rt.updateLinkInterpolate(pe[be - 4], pe[be]);
+ break;
+ case 121:
+ case 123:
+ this.$ = [pe[be]];
+ break;
+ case 122:
+ case 124:
+ pe[be - 2].push(pe[be]), (this.$ = pe[be - 2]);
+ break;
+ case 126:
+ this.$ = pe[be - 1] + pe[be];
+ break;
+ case 174:
+ this.$ = pe[be];
+ break;
+ case 175:
+ this.$ = pe[be - 1] + '' + pe[be];
+ break;
+ case 177:
+ this.$ = pe[be - 1] + '' + pe[be];
+ break;
+ case 178:
+ this.$ = { stmt: 'dir', value: 'TB' };
+ break;
+ case 179:
+ this.$ = { stmt: 'dir', value: 'BT' };
+ break;
+ case 180:
+ this.$ = { stmt: 'dir', value: 'RL' };
+ break;
+ case 181:
+ this.$ = { stmt: 'dir', value: 'LR' };
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: 2, 9: e, 10: r, 12: n },
+ { 1: [3] },
+ t(i, a, { 5: 6 }),
+ { 4: 7, 9: e, 10: r, 12: n },
+ { 4: 8, 9: e, 10: r, 12: n },
+ { 13: [1, 9], 14: [1, 10] },
+ {
+ 1: [2, 1],
+ 6: 11,
+ 7: 12,
+ 8: s,
+ 9: l,
+ 10: u,
+ 11: h,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: f,
+ 33: 24,
+ 34: d,
+ 36: p,
+ 38: m,
+ 40: 28,
+ 41: 38,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 81: v,
+ 82: x,
+ 83: b,
+ 84: w,
+ 85: S,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I,
+ 118: C,
+ 119: O,
+ 120: D,
+ 121: P
+ },
+ t(i, [2, 9]),
+ t(i, [2, 10]),
+ t(i, [2, 11]),
+ { 8: [1, 54], 9: [1, 55], 10: F, 15: 53, 18: 56 },
+ t(B, [2, 3]),
+ t(B, [2, 4]),
+ t(B, [2, 5]),
+ t(B, [2, 6]),
+ t(B, [2, 7]),
+ t(B, [2, 8]),
+ {
+ 8: $,
+ 9: z,
+ 11: Y,
+ 21: 58,
+ 39: 59,
+ 70: 63,
+ 73: [1, 64],
+ 75: [1, 65]
+ },
+ { 8: $, 9: z, 11: Y, 21: 66 },
+ { 8: $, 9: z, 11: Y, 21: 67 },
+ { 8: $, 9: z, 11: Y, 21: 68 },
+ { 8: $, 9: z, 11: Y, 21: 69 },
+ { 8: $, 9: z, 11: Y, 21: 70 },
+ { 8: $, 9: z, 10: [1, 71], 11: Y, 21: 72 },
+ t(B, [2, 36]),
+ { 35: [1, 73] },
+ { 37: [1, 74] },
+ t(B, [2, 39]),
+ t(Q, [2, 46], { 18: 75, 10: F }),
+ { 10: [1, 76] },
+ { 10: [1, 77] },
+ { 10: [1, 78] },
+ { 10: [1, 79] },
+ {
+ 14: X,
+ 42: ie,
+ 58: j,
+ 77: [1, 83],
+ 86: J,
+ 92: [1, 80],
+ 94: [1, 81],
+ 98: 82,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue,
+ 117: 84
+ },
+ t(B, [2, 178]),
+ t(B, [2, 179]),
+ t(B, [2, 180]),
+ t(B, [2, 181]),
+ t(te, [2, 47]),
+ t(te, [2, 49], { 44: [1, 96] }),
+ t(De, [2, 67], {
+ 110: 109,
+ 29: [1, 97],
+ 42: g,
+ 46: [1, 98],
+ 48: [1, 99],
+ 50: [1, 100],
+ 52: [1, 101],
+ 54: [1, 102],
+ 56: [1, 103],
+ 58: y,
+ 61: [1, 104],
+ 63: [1, 105],
+ 65: [1, 106],
+ 66: [1, 107],
+ 68: [1, 108],
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 111: N,
+ 112: k,
+ 113: I
+ }),
+ t(oe, [2, 174]),
+ t(oe, [2, 135]),
+ t(oe, [2, 136]),
+ t(oe, [2, 137]),
+ t(oe, [2, 138]),
+ t(oe, [2, 139]),
+ t(oe, [2, 140]),
+ t(oe, [2, 141]),
+ t(oe, [2, 142]),
+ t(oe, [2, 143]),
+ t(oe, [2, 144]),
+ t(oe, [2, 145]),
+ t(i, [2, 12]),
+ t(i, [2, 18]),
+ t(i, [2, 19]),
+ { 9: [1, 110] },
+ t(ke, [2, 26], { 18: 111, 10: F }),
+ t(B, [2, 27]),
+ {
+ 40: 112,
+ 41: 38,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ t(B, [2, 40]),
+ t(B, [2, 41]),
+ t(B, [2, 42]),
+ t(Ie, [2, 71], { 71: 113, 60: [1, 115], 72: [1, 114] }),
+ {
+ 74: 116,
+ 76: 117,
+ 77: [1, 118],
+ 78: [1, 119],
+ 113: Se,
+ 116: Ue
+ },
+ t([42, 58, 60, 72, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 77]),
+ t(B, [2, 28]),
+ t(B, [2, 29]),
+ t(B, [2, 30]),
+ t(B, [2, 31]),
+ t(B, [2, 32]),
+ {
+ 10: Pe,
+ 12: _e,
+ 14: me,
+ 27: W,
+ 28: 122,
+ 32: fe,
+ 42: ge,
+ 58: re,
+ 73: he,
+ 77: [1, 124],
+ 78: [1, 125],
+ 80: 135,
+ 81: ne,
+ 82: ae,
+ 83: we,
+ 84: Te,
+ 85: Ce,
+ 86: Ae,
+ 87: Ge,
+ 88: 123,
+ 102: Me,
+ 106: ye,
+ 108: He,
+ 111: ze,
+ 112: Ze,
+ 113: gt
+ },
+ t(yt, a, { 5: 148 }),
+ t(B, [2, 37]),
+ t(B, [2, 38]),
+ t(Q, [2, 45], { 42: tt }),
+ {
+ 42: g,
+ 45: 150,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ { 99: [1, 151], 100: 152, 102: [1, 153] },
+ {
+ 42: g,
+ 45: 154,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ {
+ 42: g,
+ 45: 155,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ t(Ye, [2, 100], { 10: [1, 156], 93: [1, 157] }),
+ { 77: [1, 158] },
+ t(Ye, [2, 108], {
+ 117: 160,
+ 10: [1, 159],
+ 14: X,
+ 42: ie,
+ 58: j,
+ 86: J,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue
+ }),
+ t(Ye, [2, 110], { 10: [1, 161] }),
+ t(Je, [2, 176]),
+ t(Je, [2, 163]),
+ t(Je, [2, 164]),
+ t(Je, [2, 165]),
+ t(Je, [2, 166]),
+ t(Je, [2, 167]),
+ t(Je, [2, 168]),
+ t(Je, [2, 169]),
+ t(Je, [2, 170]),
+ t(Je, [2, 171]),
+ t(Je, [2, 172]),
+ t(Je, [2, 173]),
+ {
+ 42: g,
+ 45: 162,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ {
+ 30: 163,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 171,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 173,
+ 48: [1, 172],
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 174,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 175,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 176,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ { 106: [1, 177] },
+ {
+ 30: 178,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 179,
+ 63: [1, 180],
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 181,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 182,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 183,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ t(oe, [2, 175]),
+ t(i, [2, 20]),
+ t(ke, [2, 25]),
+ t(Q, [2, 43], { 18: 184, 10: F }),
+ t(Ie, [2, 68], { 10: [1, 185] }),
+ { 10: [1, 186] },
+ {
+ 30: 187,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ { 75: [1, 188], 76: 189, 113: Se, 116: Ue },
+ t(dt, [2, 73]),
+ t(dt, [2, 75]),
+ t(dt, [2, 76]),
+ t(dt, [2, 161]),
+ t(dt, [2, 162]),
+ {
+ 8: $,
+ 9: z,
+ 10: Pe,
+ 11: Y,
+ 12: _e,
+ 14: me,
+ 21: 191,
+ 27: W,
+ 29: [1, 190],
+ 32: fe,
+ 42: ge,
+ 58: re,
+ 73: he,
+ 80: 135,
+ 81: ne,
+ 82: ae,
+ 83: we,
+ 84: Te,
+ 85: Ce,
+ 86: Ae,
+ 87: Ge,
+ 88: 192,
+ 102: Me,
+ 106: ye,
+ 108: He,
+ 111: ze,
+ 112: Ze,
+ 113: gt
+ },
+ t(lt, [2, 94]),
+ t(lt, [2, 96]),
+ t(lt, [2, 97]),
+ t(lt, [2, 150]),
+ t(lt, [2, 151]),
+ t(lt, [2, 152]),
+ t(lt, [2, 153]),
+ t(lt, [2, 154]),
+ t(lt, [2, 155]),
+ t(lt, [2, 156]),
+ t(lt, [2, 157]),
+ t(lt, [2, 158]),
+ t(lt, [2, 159]),
+ t(lt, [2, 160]),
+ t(lt, [2, 83]),
+ t(lt, [2, 84]),
+ t(lt, [2, 85]),
+ t(lt, [2, 86]),
+ t(lt, [2, 87]),
+ t(lt, [2, 88]),
+ t(lt, [2, 89]),
+ t(lt, [2, 90]),
+ t(lt, [2, 91]),
+ t(lt, [2, 92]),
+ t(lt, [2, 93]),
+ {
+ 6: 11,
+ 7: 12,
+ 8: s,
+ 9: l,
+ 10: u,
+ 11: h,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: f,
+ 32: [1, 193],
+ 33: 24,
+ 34: d,
+ 36: p,
+ 38: m,
+ 40: 28,
+ 41: 38,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 81: v,
+ 82: x,
+ 83: b,
+ 84: w,
+ 85: S,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I,
+ 118: C,
+ 119: O,
+ 120: D,
+ 121: P
+ },
+ { 10: F, 18: 194 },
+ {
+ 10: [1, 195],
+ 42: g,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 109,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ { 10: [1, 196] },
+ { 10: [1, 197], 103: [1, 198] },
+ t(It, [2, 121]),
+ {
+ 10: [1, 199],
+ 42: g,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 109,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ {
+ 10: [1, 200],
+ 42: g,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 109,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ { 77: [1, 201] },
+ t(Ye, [2, 102], { 10: [1, 202] }),
+ t(Ye, [2, 104], { 10: [1, 203] }),
+ { 77: [1, 204] },
+ t(Je, [2, 177]),
+ { 77: [1, 205], 95: [1, 206] },
+ t(te, [2, 50], {
+ 110: 109,
+ 42: g,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 111: N,
+ 112: k,
+ 113: I
+ }),
+ { 31: [1, 207], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ t(mt, [2, 79]),
+ t(mt, [2, 81]),
+ t(mt, [2, 82]),
+ t(mt, [2, 146]),
+ t(mt, [2, 147]),
+ t(mt, [2, 148]),
+ t(mt, [2, 149]),
+ { 47: [1, 209], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ {
+ 30: 210,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ { 49: [1, 211], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ { 51: [1, 212], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ { 53: [1, 213], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ { 55: [1, 214], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ { 58: [1, 215] },
+ { 62: [1, 216], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ { 64: [1, 217], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ {
+ 30: 218,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ { 31: [1, 219], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ {
+ 65: Ve,
+ 67: [1, 220],
+ 69: [1, 221],
+ 79: 208,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 65: Ve,
+ 67: [1, 223],
+ 69: [1, 222],
+ 79: 208,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ t(Q, [2, 44], { 42: tt }),
+ t(Ie, [2, 70]),
+ t(Ie, [2, 69]),
+ { 60: [1, 224], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ t(Ie, [2, 72]),
+ t(dt, [2, 74]),
+ {
+ 30: 225,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ t(yt, a, { 5: 226 }),
+ t(lt, [2, 95]),
+ t(B, [2, 35]),
+ {
+ 41: 227,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 228,
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 239,
+ 101: [1, 240],
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 241,
+ 101: [1, 242],
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ { 102: [1, 243] },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 244,
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ {
+ 42: g,
+ 45: 245,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ t(Ye, [2, 101]),
+ { 77: [1, 246] },
+ { 77: [1, 247], 95: [1, 248] },
+ t(Ye, [2, 109]),
+ t(Ye, [2, 111], { 10: [1, 249] }),
+ t(Ye, [2, 112]),
+ t(De, [2, 51]),
+ t(mt, [2, 80]),
+ t(De, [2, 52]),
+ { 49: [1, 250], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ t(De, [2, 59]),
+ t(De, [2, 54]),
+ t(De, [2, 55]),
+ t(De, [2, 56]),
+ { 106: [1, 251] },
+ t(De, [2, 58]),
+ t(De, [2, 60]),
+ { 64: [1, 252], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ t(De, [2, 62]),
+ t(De, [2, 63]),
+ t(De, [2, 65]),
+ t(De, [2, 64]),
+ t(De, [2, 66]),
+ t([10, 42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 78]),
+ { 31: [1, 253], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ {
+ 6: 11,
+ 7: 12,
+ 8: s,
+ 9: l,
+ 10: u,
+ 11: h,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: f,
+ 32: [1, 254],
+ 33: 24,
+ 34: d,
+ 36: p,
+ 38: m,
+ 40: 28,
+ 41: 38,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 81: v,
+ 82: x,
+ 83: b,
+ 84: w,
+ 85: S,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I,
+ 118: C,
+ 119: O,
+ 120: D,
+ 121: P
+ },
+ t(te, [2, 48]),
+ t(Ye, [2, 114], { 103: Qn }),
+ t(on, [2, 123], {
+ 105: 256,
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 102: jt,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ }),
+ t(Rn, [2, 125]),
+ t(Rn, [2, 127]),
+ t(Rn, [2, 128]),
+ t(Rn, [2, 129]),
+ t(Rn, [2, 130]),
+ t(Rn, [2, 131]),
+ t(Rn, [2, 132]),
+ t(Rn, [2, 133]),
+ t(Rn, [2, 134]),
+ t(Ye, [2, 115], { 103: Qn }),
+ { 10: [1, 257] },
+ t(Ye, [2, 116], { 103: Qn }),
+ { 10: [1, 258] },
+ t(It, [2, 122]),
+ t(Ye, [2, 98], { 103: Qn }),
+ t(Ye, [2, 99], {
+ 110: 109,
+ 42: g,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 111: N,
+ 112: k,
+ 113: I
+ }),
+ t(Ye, [2, 103]),
+ t(Ye, [2, 105], { 10: [1, 259] }),
+ t(Ye, [2, 106]),
+ { 95: [1, 260] },
+ { 49: [1, 261] },
+ { 60: [1, 262] },
+ { 64: [1, 263] },
+ { 8: $, 9: z, 11: Y, 21: 264 },
+ t(B, [2, 34]),
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 102: jt,
+ 104: 265,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ t(Rn, [2, 126]),
+ {
+ 14: X,
+ 42: ie,
+ 58: j,
+ 86: J,
+ 98: 266,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue,
+ 117: 84
+ },
+ {
+ 14: X,
+ 42: ie,
+ 58: j,
+ 86: J,
+ 98: 267,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue,
+ 117: 84
+ },
+ { 95: [1, 268] },
+ t(Ye, [2, 113]),
+ t(De, [2, 53]),
+ {
+ 30: 269,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ t(De, [2, 61]),
+ t(yt, a, { 5: 270 }),
+ t(on, [2, 124], {
+ 105: 256,
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 102: jt,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ }),
+ t(Ye, [2, 119], {
+ 117: 160,
+ 10: [1, 271],
+ 14: X,
+ 42: ie,
+ 58: j,
+ 86: J,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue
+ }),
+ t(Ye, [2, 120], {
+ 117: 160,
+ 10: [1, 272],
+ 14: X,
+ 42: ie,
+ 58: j,
+ 86: J,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue
+ }),
+ t(Ye, [2, 107]),
+ { 31: [1, 273], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ {
+ 6: 11,
+ 7: 12,
+ 8: s,
+ 9: l,
+ 10: u,
+ 11: h,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: f,
+ 32: [1, 274],
+ 33: 24,
+ 34: d,
+ 36: p,
+ 38: m,
+ 40: 28,
+ 41: 38,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 81: v,
+ 82: x,
+ 83: b,
+ 84: w,
+ 85: S,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I,
+ 118: C,
+ 119: O,
+ 120: D,
+ 121: P
+ },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 275,
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 276,
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ t(De, [2, 57]),
+ t(B, [2, 33]),
+ t(Ye, [2, 117], { 103: Qn }),
+ t(Ye, [2, 118], { 103: Qn })
+ ],
+ defaultActions: {},
+ parseError: o(function (ht, At) {
+ if (At.recoverable) this.trace(ht);
+ else {
+ var $t = new Error(ht);
+ throw (($t.hash = At), $t);
+ }
+ }, 'parseError'),
+ parse: o(function (ht) {
+ var At = this,
+ $t = [0],
+ rt = [],
+ Ot = [null],
+ pe = [],
+ ur = this.table,
+ be = '',
+ Ir = 0,
+ Xc = 0,
+ M1 = 0,
+ _b = 2,
+ I1 = 1,
+ O1 = pe.slice.call(arguments, 1),
+ ci = Object.create(this.lexer),
+ ko = { yy: {} };
+ for (var ih in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, ih) && (ko.yy[ih] = this.yy[ih]);
+ ci.setInput(ht, ko.yy),
+ (ko.yy.lexer = ci),
+ (ko.yy.parser = this),
+ typeof ci.yylloc > 'u' && (ci.yylloc = {});
+ var Us = ci.yylloc;
+ pe.push(Us);
+ var ah = ci.options && ci.options.ranges;
+ typeof ko.yy.parseError == 'function'
+ ? (this.parseError = ko.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Lb(La) {
+ ($t.length = $t.length - 2 * La),
+ (Ot.length = Ot.length - La),
+ (pe.length = pe.length - La);
+ }
+ o(Lb, 'popStack');
+ function P1() {
+ var La;
+ return (
+ (La = rt.pop() || ci.lex() || I1),
+ typeof La != 'number' &&
+ (La instanceof Array && ((rt = La), (La = rt.pop())),
+ (La = At.symbols_[La] || La)),
+ La
+ );
+ }
+ o(P1, 'lex');
+ for (var sa, jc, Kc, us, _i, Wl, sh = {}, zf, Hs, B1, Gf; ; ) {
+ if (
+ ((Kc = $t[$t.length - 1]),
+ this.defaultActions[Kc]
+ ? (us = this.defaultActions[Kc])
+ : ((sa === null || typeof sa > 'u') && (sa = P1()),
+ (us = ur[Kc] && ur[Kc][sa])),
+ typeof us > 'u' || !us.length || !us[0])
+ ) {
+ var F1 = '';
+ Gf = [];
+ for (zf in ur[Kc])
+ this.terminals_[zf] && zf > _b && Gf.push("'" + this.terminals_[zf] + "'");
+ ci.showPosition
+ ? (F1 =
+ 'Parse error on line ' +
+ (Ir + 1) +
+ `:
+` +
+ ci.showPosition() +
+ `
+Expecting ` +
+ Gf.join(', ') +
+ ", got '" +
+ (this.terminals_[sa] || sa) +
+ "'")
+ : (F1 =
+ 'Parse error on line ' +
+ (Ir + 1) +
+ ': Unexpected ' +
+ (sa == I1 ? 'end of input' : "'" + (this.terminals_[sa] || sa) + "'")),
+ this.parseError(F1, {
+ text: ci.match,
+ token: this.terminals_[sa] || sa,
+ line: ci.yylineno,
+ loc: Us,
+ expected: Gf
+ });
+ }
+ if (us[0] instanceof Array && us.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Kc + ', token: ' + sa
+ );
+ switch (us[0]) {
+ case 1:
+ $t.push(sa),
+ Ot.push(ci.yytext),
+ pe.push(ci.yylloc),
+ $t.push(us[1]),
+ (sa = null),
+ jc
+ ? ((sa = jc), (jc = null))
+ : ((Xc = ci.yyleng),
+ (be = ci.yytext),
+ (Ir = ci.yylineno),
+ (Us = ci.yylloc),
+ M1 > 0 && M1--);
+ break;
+ case 2:
+ if (
+ ((Hs = this.productions_[us[1]][1]),
+ (sh.$ = Ot[Ot.length - Hs]),
+ (sh._$ = {
+ first_line: pe[pe.length - (Hs || 1)].first_line,
+ last_line: pe[pe.length - 1].last_line,
+ first_column: pe[pe.length - (Hs || 1)].first_column,
+ last_column: pe[pe.length - 1].last_column
+ }),
+ ah &&
+ (sh._$.range = [
+ pe[pe.length - (Hs || 1)].range[0],
+ pe[pe.length - 1].range[1]
+ ]),
+ (Wl = this.performAction.apply(
+ sh,
+ [be, Xc, Ir, ko.yy, us[1], Ot, pe].concat(O1)
+ )),
+ typeof Wl < 'u')
+ )
+ return Wl;
+ Hs &&
+ (($t = $t.slice(0, -1 * Hs * 2)),
+ (Ot = Ot.slice(0, -1 * Hs)),
+ (pe = pe.slice(0, -1 * Hs))),
+ $t.push(this.productions_[us[1]][0]),
+ Ot.push(sh.$),
+ pe.push(sh._$),
+ (B1 = ur[$t[$t.length - 2]][$t[$t.length - 1]]),
+ $t.push(B1);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ _a = (function () {
+ var qi = {
+ EOF: 1,
+ parseError: o(function (At, $t) {
+ if (this.yy.parser) this.yy.parser.parseError(At, $t);
+ else throw new Error(At);
+ }, 'parseError'),
+ setInput: o(function (ht, At) {
+ return (
+ (this.yy = At || this.yy || {}),
+ (this._input = ht),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var ht = this._input[0];
+ (this.yytext += ht),
+ this.yyleng++,
+ this.offset++,
+ (this.match += ht),
+ (this.matched += ht);
+ var At = ht.match(/(?:\r\n?|\n).*/g);
+ return (
+ At ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ ht
+ );
+ }, 'input'),
+ unput: o(function (ht) {
+ var At = ht.length,
+ $t = ht.split(/(?:\r\n?|\n)/g);
+ (this._input = ht + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - At)),
+ (this.offset -= At);
+ var rt = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ $t.length - 1 && (this.yylineno -= $t.length - 1);
+ var Ot = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: $t
+ ? ($t.length === rt.length ? this.yylloc.first_column : 0) +
+ rt[rt.length - $t.length].length -
+ $t[0].length
+ : this.yylloc.first_column - At
+ }),
+ this.options.ranges && (this.yylloc.range = [Ot[0], Ot[0] + this.yyleng - At]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (ht) {
+ this.unput(this.match.slice(ht));
+ }, 'less'),
+ pastInput: o(function () {
+ var ht = this.matched.substr(0, this.matched.length - this.match.length);
+ return (ht.length > 20 ? '...' : '') + ht.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var ht = this.match;
+ return (
+ ht.length < 20 && (ht += this._input.substr(0, 20 - ht.length)),
+ (ht.substr(0, 20) + (ht.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var ht = this.pastInput(),
+ At = new Array(ht.length + 1).join('-');
+ return (
+ ht +
+ this.upcomingInput() +
+ `
+` +
+ At +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (ht, At) {
+ var $t, rt, Ot;
+ if (
+ (this.options.backtrack_lexer &&
+ ((Ot = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (Ot.yylloc.range = this.yylloc.range.slice(0))),
+ (rt = ht[0].match(/(?:\r\n?|\n).*/g)),
+ rt && (this.yylineno += rt.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: rt
+ ? rt[rt.length - 1].length - rt[rt.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + ht[0].length
+ }),
+ (this.yytext += ht[0]),
+ (this.match += ht[0]),
+ (this.matches = ht),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(ht[0].length)),
+ (this.matched += ht[0]),
+ ($t = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ At,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ $t)
+ )
+ return $t;
+ if (this._backtrack) {
+ for (var pe in Ot) this[pe] = Ot[pe];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var ht, At, $t, rt;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var Ot = this._currentRules(), pe = 0; pe < Ot.length; pe++)
+ if (
+ (($t = this._input.match(this.rules[Ot[pe]])),
+ $t && (!At || $t[0].length > At[0].length))
+ ) {
+ if (((At = $t), (rt = pe), this.options.backtrack_lexer)) {
+ if (((ht = this.test_match($t, Ot[pe])), ht !== !1)) return ht;
+ if (this._backtrack) {
+ At = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return At
+ ? ((ht = this.test_match(At, Ot[rt])), ht !== !1 ? ht : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var At = this.next();
+ return At || this.lex();
+ }, 'lex'),
+ begin: o(function (At) {
+ this.conditionStack.push(At);
+ }, 'begin'),
+ popState: o(function () {
+ var At = this.conditionStack.length - 1;
+ return At > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (At) {
+ return (
+ (At = this.conditionStack.length - 1 - Math.abs(At || 0)),
+ At >= 0 ? this.conditionStack[At] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (At) {
+ this.begin(At);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: {},
+ performAction: o(function (At, $t, rt, Ot) {
+ var pe = Ot;
+ switch (rt) {
+ case 0:
+ return this.begin('acc_title'), 34;
+ break;
+ case 1:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 2:
+ return this.begin('acc_descr'), 36;
+ break;
+ case 3:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 4:
+ this.begin('acc_descr_multiline');
+ break;
+ case 5:
+ this.popState();
+ break;
+ case 6:
+ return 'acc_descr_multiline_value';
+ case 7:
+ this.begin('callbackname');
+ break;
+ case 8:
+ this.popState();
+ break;
+ case 9:
+ this.popState(), this.begin('callbackargs');
+ break;
+ case 10:
+ return 92;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 93;
+ case 13:
+ return 'MD_STR';
+ case 14:
+ this.popState();
+ break;
+ case 15:
+ this.begin('md_string');
+ break;
+ case 16:
+ return 'STR';
+ case 17:
+ this.popState();
+ break;
+ case 18:
+ this.pushState('string');
+ break;
+ case 19:
+ return 81;
+ case 20:
+ return 99;
+ case 21:
+ return 82;
+ case 22:
+ return 101;
+ case 23:
+ return 83;
+ case 24:
+ return 84;
+ case 25:
+ return 94;
+ case 26:
+ this.begin('click');
+ break;
+ case 27:
+ this.popState();
+ break;
+ case 28:
+ return 85;
+ case 29:
+ return At.lex.firstGraph() && this.begin('dir'), 12;
+ break;
+ case 30:
+ return At.lex.firstGraph() && this.begin('dir'), 12;
+ break;
+ case 31:
+ return At.lex.firstGraph() && this.begin('dir'), 12;
+ break;
+ case 32:
+ return 27;
+ case 33:
+ return 32;
+ case 34:
+ return 95;
+ case 35:
+ return 95;
+ case 36:
+ return 95;
+ case 37:
+ return 95;
+ case 38:
+ return this.popState(), 13;
+ break;
+ case 39:
+ return this.popState(), 14;
+ break;
+ case 40:
+ return this.popState(), 14;
+ break;
+ case 41:
+ return this.popState(), 14;
+ break;
+ case 42:
+ return this.popState(), 14;
+ break;
+ case 43:
+ return this.popState(), 14;
+ break;
+ case 44:
+ return this.popState(), 14;
+ break;
+ case 45:
+ return this.popState(), 14;
+ break;
+ case 46:
+ return this.popState(), 14;
+ break;
+ case 47:
+ return this.popState(), 14;
+ break;
+ case 48:
+ return this.popState(), 14;
+ break;
+ case 49:
+ return 118;
+ case 50:
+ return 119;
+ case 51:
+ return 120;
+ case 52:
+ return 121;
+ case 53:
+ return 102;
+ case 54:
+ return 108;
+ case 55:
+ return 44;
+ case 56:
+ return 58;
+ case 57:
+ return 42;
+ case 58:
+ return 8;
+ case 59:
+ return 103;
+ case 60:
+ return 112;
+ case 61:
+ return this.popState(), 75;
+ break;
+ case 62:
+ return this.pushState('edgeText'), 73;
+ break;
+ case 63:
+ return 116;
+ case 64:
+ return this.popState(), 75;
+ break;
+ case 65:
+ return this.pushState('thickEdgeText'), 73;
+ break;
+ case 66:
+ return 116;
+ case 67:
+ return this.popState(), 75;
+ break;
+ case 68:
+ return this.pushState('dottedEdgeText'), 73;
+ break;
+ case 69:
+ return 116;
+ case 70:
+ return 75;
+ case 71:
+ return this.popState(), 51;
+ break;
+ case 72:
+ return 'TEXT';
+ case 73:
+ return this.pushState('ellipseText'), 50;
+ break;
+ case 74:
+ return this.popState(), 53;
+ break;
+ case 75:
+ return this.pushState('text'), 52;
+ break;
+ case 76:
+ return this.popState(), 55;
+ break;
+ case 77:
+ return this.pushState('text'), 54;
+ break;
+ case 78:
+ return 56;
+ case 79:
+ return this.pushState('text'), 65;
+ break;
+ case 80:
+ return this.popState(), 62;
+ break;
+ case 81:
+ return this.pushState('text'), 61;
+ break;
+ case 82:
+ return this.popState(), 47;
+ break;
+ case 83:
+ return this.pushState('text'), 46;
+ break;
+ case 84:
+ return this.popState(), 67;
+ break;
+ case 85:
+ return this.popState(), 69;
+ break;
+ case 86:
+ return 114;
+ case 87:
+ return this.pushState('trapText'), 66;
+ break;
+ case 88:
+ return this.pushState('trapText'), 68;
+ break;
+ case 89:
+ return 115;
+ case 90:
+ return 65;
+ case 91:
+ return 87;
+ case 92:
+ return 'SEP';
+ case 93:
+ return 86;
+ case 94:
+ return 112;
+ case 95:
+ return 108;
+ case 96:
+ return 42;
+ case 97:
+ return 106;
+ case 98:
+ return 111;
+ case 99:
+ return 113;
+ case 100:
+ return this.popState(), 60;
+ break;
+ case 101:
+ return this.pushState('text'), 60;
+ break;
+ case 102:
+ return this.popState(), 49;
+ break;
+ case 103:
+ return this.pushState('text'), 48;
+ break;
+ case 104:
+ return this.popState(), 31;
+ break;
+ case 105:
+ return this.pushState('text'), 29;
+ break;
+ case 106:
+ return this.popState(), 64;
+ break;
+ case 107:
+ return this.pushState('text'), 63;
+ break;
+ case 108:
+ return 'TEXT';
+ case 109:
+ return 'QUOTE';
+ case 110:
+ return 9;
+ case 111:
+ return 10;
+ case 112:
+ return 11;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:call[\s]+)/,
+ /^(?:\([\s]*\))/,
+ /^(?:\()/,
+ /^(?:[^(]*)/,
+ /^(?:\))/,
+ /^(?:[^)]*)/,
+ /^(?:[^`"]+)/,
+ /^(?:[`]["])/,
+ /^(?:["][`])/,
+ /^(?:[^"]+)/,
+ /^(?:["])/,
+ /^(?:["])/,
+ /^(?:style\b)/,
+ /^(?:default\b)/,
+ /^(?:linkStyle\b)/,
+ /^(?:interpolate\b)/,
+ /^(?:classDef\b)/,
+ /^(?:class\b)/,
+ /^(?:href[\s])/,
+ /^(?:click[\s]+)/,
+ /^(?:[\s\n])/,
+ /^(?:[^\s\n]*)/,
+ /^(?:flowchart-elk\b)/,
+ /^(?:graph\b)/,
+ /^(?:flowchart\b)/,
+ /^(?:subgraph\b)/,
+ /^(?:end\b\s*)/,
+ /^(?:_self\b)/,
+ /^(?:_blank\b)/,
+ /^(?:_parent\b)/,
+ /^(?:_top\b)/,
+ /^(?:(\r?\n)*\s*\n)/,
+ /^(?:\s*LR\b)/,
+ /^(?:\s*RL\b)/,
+ /^(?:\s*TB\b)/,
+ /^(?:\s*BT\b)/,
+ /^(?:\s*TD\b)/,
+ /^(?:\s*BR\b)/,
+ /^(?:\s*<)/,
+ /^(?:\s*>)/,
+ /^(?:\s*\^)/,
+ /^(?:\s*v\b)/,
+ /^(?:.*direction\s+TB[^\n]*)/,
+ /^(?:.*direction\s+BT[^\n]*)/,
+ /^(?:.*direction\s+RL[^\n]*)/,
+ /^(?:.*direction\s+LR[^\n]*)/,
+ /^(?:[0-9]+)/,
+ /^(?:#)/,
+ /^(?::::)/,
+ /^(?::)/,
+ /^(?:&)/,
+ /^(?:;)/,
+ /^(?:,)/,
+ /^(?:\*)/,
+ /^(?:\s*[xo<]?--+[-xo>]\s*)/,
+ /^(?:\s*[xo<]?--\s*)/,
+ /^(?:[^-]|-(?!-)+)/,
+ /^(?:\s*[xo<]?==+[=xo>]\s*)/,
+ /^(?:\s*[xo<]?==\s*)/,
+ /^(?:[^=]|=(?!))/,
+ /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,
+ /^(?:\s*[xo<]?-\.\s*)/,
+ /^(?:[^\.]|\.(?!))/,
+ /^(?:\s*~~[\~]+\s*)/,
+ /^(?:[-/\)][\)])/,
+ /^(?:[^\(\)\[\]\{\}]|!\)+)/,
+ /^(?:\(-)/,
+ /^(?:\]\))/,
+ /^(?:\(\[)/,
+ /^(?:\]\])/,
+ /^(?:\[\[)/,
+ /^(?:\[\|)/,
+ /^(?:>)/,
+ /^(?:\)\])/,
+ /^(?:\[\()/,
+ /^(?:\)\)\))/,
+ /^(?:\(\(\()/,
+ /^(?:[\\(?=\])][\]])/,
+ /^(?:\/(?=\])\])/,
+ /^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,
+ /^(?:\[\/)/,
+ /^(?:\[\\)/,
+ /^(?:<)/,
+ /^(?:>)/,
+ /^(?:\^)/,
+ /^(?:\\\|)/,
+ /^(?:v\b)/,
+ /^(?:\*)/,
+ /^(?:#)/,
+ /^(?:&)/,
+ /^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,
+ /^(?:-)/,
+ /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,
+ /^(?:\|)/,
+ /^(?:\|)/,
+ /^(?:\))/,
+ /^(?:\()/,
+ /^(?:\])/,
+ /^(?:\[)/,
+ /^(?:(\}))/,
+ /^(?:\{)/,
+ /^(?:[^\[\]\(\)\{\}\|\"]+)/,
+ /^(?:")/,
+ /^(?:(\r?\n)+)/,
+ /^(?:\s)/,
+ /^(?:$)/
+ ],
+ conditions: {
+ callbackargs: {
+ rules: [11, 12, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ callbackname: {
+ rules: [8, 9, 10, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ href: {
+ rules: [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ click: {
+ rules: [15, 18, 27, 28, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ dottedEdgeText: {
+ rules: [15, 18, 67, 69, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ thickEdgeText: {
+ rules: [15, 18, 64, 66, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ edgeText: {
+ rules: [15, 18, 61, 63, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ trapText: {
+ rules: [15, 18, 70, 73, 75, 77, 81, 83, 84, 85, 86, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ ellipseText: {
+ rules: [15, 18, 70, 71, 72, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ text: {
+ rules: [
+ 15, 18, 70, 73, 74, 75, 76, 77, 80, 81, 82, 83, 87, 88, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108
+ ],
+ inclusive: !1
+ },
+ vertex: {
+ rules: [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ dir: {
+ rules: [
+ 15, 18, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 70, 73, 75, 77, 81, 83, 87,
+ 88, 101, 103, 105, 107
+ ],
+ inclusive: !1
+ },
+ acc_descr_multiline: {
+ rules: [5, 6, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ acc_descr: {
+ rules: [3, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ acc_title: {
+ rules: [1, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ md_string: {
+ rules: [13, 14, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ string: {
+ rules: [15, 16, 17, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ INITIAL: {
+ rules: [
+ 0, 2, 4, 7, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 67, 68,
+ 70, 73, 75, 77, 78, 79, 81, 83, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 101, 103, 105, 107, 109, 110, 111, 112
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return qi;
+ })();
+ Ha.lexer = _a;
+ function To() {
+ this.yy = {};
+ }
+ return o(To, 'Parser'), (To.prototype = Ha), (Ha.Parser = To), new To();
+ })();
+ vD.parser = vD;
+ Xre = vD;
+ });
+ var kNe,
+ ENe,
+ Kre,
+ Qre = R(() => {
+ 'use strict';
+ al();
+ (kNe = o((t, e) => {
+ let r = X1,
+ n = r(t, 'r'),
+ i = r(t, 'g'),
+ a = r(t, 'b');
+ return Ws(n, i, a, e);
+ }, 'fade')),
+ (ENe = o(
+ (t) => `.label {
+ font-family: ${t.fontFamily};
+ color: ${t.nodeTextColor || t.textColor};
+ }
+ .cluster-label text {
+ fill: ${t.titleColor};
+ }
+ .cluster-label span {
+ color: ${t.titleColor};
+ }
+ .cluster-label span p {
+ background-color: transparent;
+ }
+
+ .label text,span {
+ fill: ${t.nodeTextColor || t.textColor};
+ color: ${t.nodeTextColor || t.textColor};
+ }
+
+ .node rect,
+ .node circle,
+ .node ellipse,
+ .node polygon,
+ .node path {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+ stroke-width: 1px;
+ }
+ .rough-node .label text , .node .label text {
+ text-anchor: middle;
+ }
+ // .flowchart-label .text-outer-tspan {
+ // text-anchor: middle;
+ // }
+ // .flowchart-label .text-inner-tspan {
+ // text-anchor: start;
+ // }
+
+ .node .katex path {
+ fill: #000;
+ stroke: #000;
+ stroke-width: 1px;
+ }
+
+ .node .label {
+ text-align: center;
+ }
+ .node.clickable {
+ cursor: pointer;
+ }
+
+ .arrowheadPath {
+ fill: ${t.arrowheadColor};
+ }
+
+ .edgePath .path {
+ stroke: ${t.lineColor};
+ stroke-width: 2.0px;
+ }
+
+ .flowchart-link {
+ stroke: ${t.lineColor};
+ fill: none;
+ }
+
+ .edgeLabel {
+ background-color: ${t.edgeLabelBackground};
+ p {
+ background-color: ${t.edgeLabelBackground};
+ }
+ rect {
+ opacity: 0.5;
+ background-color: ${t.edgeLabelBackground};
+ fill: ${t.edgeLabelBackground};
+ }
+ text-align: center;
+ }
+
+ /* For html labels only */
+ .labelBkg {
+ background-color: ${kNe(t.edgeLabelBackground, 0.5)};
+ // background-color:
+ }
+
+ .cluster rect {
+ fill: ${t.clusterBkg};
+ stroke: ${t.clusterBorder};
+ stroke-width: 1px;
+ }
+
+ .cluster text {
+ fill: ${t.titleColor};
+ }
+
+ .cluster span {
+ color: ${t.titleColor};
+ }
+ /* .cluster div {
+ color: ${t.titleColor};
+ } */
+
+ div.mermaidTooltip {
+ position: absolute;
+ text-align: center;
+ max-width: 200px;
+ padding: 2px;
+ font-family: ${t.fontFamily};
+ font-size: 12px;
+ background: ${t.tertiaryColor};
+ border: 1px solid ${t.border2};
+ border-radius: 2px;
+ pointer-events: none;
+ z-index: 100;
+ }
+
+ .flowchartTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+ }
+`,
+ 'getStyles'
+ )),
+ (Kre = ENe);
+ });
+ var cT = {};
+ hr(cT, { diagram: () => CNe });
+ var CNe,
+ uT = R(() => {
+ 'use strict';
+ _t();
+ f9();
+ qre();
+ jre();
+ Qre();
+ CNe = {
+ parser: Xre,
+ db: A5,
+ renderer: Wre,
+ styles: Kre,
+ init: o((t) => {
+ t.flowchart || (t.flowchart = {}),
+ t.layout && iS({ layout: t.layout }),
+ (t.flowchart.arrowMarkerAbsolute = t.arrowMarkerAbsolute),
+ iS({ flowchart: { arrowMarkerAbsolute: t.arrowMarkerAbsolute } }),
+ A5.clear(),
+ A5.setGen('gen-2');
+ }, 'init')
+ };
+ });
+ var xD,
+ rne,
+ nne = R(() => {
+ 'use strict';
+ xD = (function () {
+ var t = o(function (A, L, M, N) {
+ for (M = M || {}, N = A.length; N--; M[A[N]] = L);
+ return M;
+ }, 'o'),
+ e = [6, 8, 10, 20, 22, 24, 26, 27, 28],
+ r = [1, 10],
+ n = [1, 11],
+ i = [1, 12],
+ a = [1, 13],
+ s = [1, 14],
+ l = [1, 15],
+ u = [1, 21],
+ h = [1, 22],
+ f = [1, 23],
+ d = [1, 24],
+ p = [1, 25],
+ m = [6, 8, 10, 13, 15, 18, 19, 20, 22, 24, 26, 27, 28, 41, 42, 43, 44, 45],
+ g = [1, 34],
+ y = [27, 28, 46, 47],
+ v = [41, 42, 43, 44, 45],
+ x = [17, 34],
+ b = [1, 54],
+ w = [1, 53],
+ S = [17, 34, 36, 38],
+ T = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ ER_DIAGRAM: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NEWLINE: 10,
+ entityName: 11,
+ relSpec: 12,
+ ':': 13,
+ role: 14,
+ BLOCK_START: 15,
+ attributes: 16,
+ BLOCK_STOP: 17,
+ SQS: 18,
+ SQE: 19,
+ title: 20,
+ title_value: 21,
+ acc_title: 22,
+ acc_title_value: 23,
+ acc_descr: 24,
+ acc_descr_value: 25,
+ acc_descr_multiline_value: 26,
+ ALPHANUM: 27,
+ ENTITY_NAME: 28,
+ attribute: 29,
+ attributeType: 30,
+ attributeName: 31,
+ attributeKeyTypeList: 32,
+ attributeComment: 33,
+ ATTRIBUTE_WORD: 34,
+ attributeKeyType: 35,
+ COMMA: 36,
+ ATTRIBUTE_KEY: 37,
+ COMMENT: 38,
+ cardinality: 39,
+ relType: 40,
+ ZERO_OR_ONE: 41,
+ ZERO_OR_MORE: 42,
+ ONE_OR_MORE: 43,
+ ONLY_ONE: 44,
+ MD_PARENT: 45,
+ NON_IDENTIFYING: 46,
+ IDENTIFYING: 47,
+ WORD: 48,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'ER_DIAGRAM',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NEWLINE',
+ 13: ':',
+ 15: 'BLOCK_START',
+ 17: 'BLOCK_STOP',
+ 18: 'SQS',
+ 19: 'SQE',
+ 20: 'title',
+ 21: 'title_value',
+ 22: 'acc_title',
+ 23: 'acc_title_value',
+ 24: 'acc_descr',
+ 25: 'acc_descr_value',
+ 26: 'acc_descr_multiline_value',
+ 27: 'ALPHANUM',
+ 28: 'ENTITY_NAME',
+ 34: 'ATTRIBUTE_WORD',
+ 36: 'COMMA',
+ 37: 'ATTRIBUTE_KEY',
+ 38: 'COMMENT',
+ 41: 'ZERO_OR_ONE',
+ 42: 'ZERO_OR_MORE',
+ 43: 'ONE_OR_MORE',
+ 44: 'ONLY_ONE',
+ 45: 'MD_PARENT',
+ 46: 'NON_IDENTIFYING',
+ 47: 'IDENTIFYING',
+ 48: 'WORD'
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [9, 5],
+ [9, 4],
+ [9, 3],
+ [9, 1],
+ [9, 7],
+ [9, 6],
+ [9, 4],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [11, 1],
+ [11, 1],
+ [16, 1],
+ [16, 2],
+ [29, 2],
+ [29, 3],
+ [29, 3],
+ [29, 4],
+ [30, 1],
+ [31, 1],
+ [32, 1],
+ [32, 3],
+ [35, 1],
+ [33, 1],
+ [12, 3],
+ [39, 1],
+ [39, 1],
+ [39, 1],
+ [39, 1],
+ [39, 1],
+ [40, 1],
+ [40, 1],
+ [14, 1],
+ [14, 1],
+ [14, 1]
+ ],
+ performAction: o(function (L, M, N, k, I, C, O) {
+ var D = C.length - 1;
+ switch (I) {
+ case 1:
+ break;
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ C[D - 1].push(C[D]), (this.$ = C[D - 1]);
+ break;
+ case 4:
+ case 5:
+ this.$ = C[D];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ k.addEntity(C[D - 4]),
+ k.addEntity(C[D - 2]),
+ k.addRelationship(C[D - 4], C[D], C[D - 2], C[D - 3]);
+ break;
+ case 9:
+ k.addEntity(C[D - 3]), k.addAttributes(C[D - 3], C[D - 1]);
+ break;
+ case 10:
+ k.addEntity(C[D - 2]);
+ break;
+ case 11:
+ k.addEntity(C[D]);
+ break;
+ case 12:
+ k.addEntity(C[D - 6], C[D - 4]), k.addAttributes(C[D - 6], C[D - 1]);
+ break;
+ case 13:
+ k.addEntity(C[D - 5], C[D - 3]);
+ break;
+ case 14:
+ k.addEntity(C[D - 3], C[D - 1]);
+ break;
+ case 15:
+ case 16:
+ (this.$ = C[D].trim()), k.setAccTitle(this.$);
+ break;
+ case 17:
+ case 18:
+ (this.$ = C[D].trim()), k.setAccDescription(this.$);
+ break;
+ case 19:
+ case 43:
+ this.$ = C[D];
+ break;
+ case 20:
+ case 41:
+ case 42:
+ this.$ = C[D].replace(/"/g, '');
+ break;
+ case 21:
+ case 29:
+ this.$ = [C[D]];
+ break;
+ case 22:
+ C[D].push(C[D - 1]), (this.$ = C[D]);
+ break;
+ case 23:
+ this.$ = { attributeType: C[D - 1], attributeName: C[D] };
+ break;
+ case 24:
+ this.$ = {
+ attributeType: C[D - 2],
+ attributeName: C[D - 1],
+ attributeKeyTypeList: C[D]
+ };
+ break;
+ case 25:
+ this.$ = {
+ attributeType: C[D - 2],
+ attributeName: C[D - 1],
+ attributeComment: C[D]
+ };
+ break;
+ case 26:
+ this.$ = {
+ attributeType: C[D - 3],
+ attributeName: C[D - 2],
+ attributeKeyTypeList: C[D - 1],
+ attributeComment: C[D]
+ };
+ break;
+ case 27:
+ case 28:
+ case 31:
+ this.$ = C[D];
+ break;
+ case 30:
+ C[D - 2].push(C[D]), (this.$ = C[D - 2]);
+ break;
+ case 32:
+ this.$ = C[D].replace(/"/g, '');
+ break;
+ case 33:
+ this.$ = { cardA: C[D], relType: C[D - 1], cardB: C[D - 2] };
+ break;
+ case 34:
+ this.$ = k.Cardinality.ZERO_OR_ONE;
+ break;
+ case 35:
+ this.$ = k.Cardinality.ZERO_OR_MORE;
+ break;
+ case 36:
+ this.$ = k.Cardinality.ONE_OR_MORE;
+ break;
+ case 37:
+ this.$ = k.Cardinality.ONLY_ONE;
+ break;
+ case 38:
+ this.$ = k.Cardinality.MD_PARENT;
+ break;
+ case 39:
+ this.$ = k.Identification.NON_IDENTIFYING;
+ break;
+ case 40:
+ this.$ = k.Identification.IDENTIFYING;
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ t(e, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: 9,
+ 20: r,
+ 22: n,
+ 24: i,
+ 26: a,
+ 27: s,
+ 28: l
+ },
+ t(e, [2, 7], { 1: [2, 1] }),
+ t(e, [2, 3]),
+ { 9: 16, 11: 9, 20: r, 22: n, 24: i, 26: a, 27: s, 28: l },
+ t(e, [2, 5]),
+ t(e, [2, 6]),
+ t(e, [2, 11], {
+ 12: 17,
+ 39: 20,
+ 15: [1, 18],
+ 18: [1, 19],
+ 41: u,
+ 42: h,
+ 43: f,
+ 44: d,
+ 45: p
+ }),
+ { 21: [1, 26] },
+ { 23: [1, 27] },
+ { 25: [1, 28] },
+ t(e, [2, 18]),
+ t(m, [2, 19]),
+ t(m, [2, 20]),
+ t(e, [2, 4]),
+ { 11: 29, 27: s, 28: l },
+ { 16: 30, 17: [1, 31], 29: 32, 30: 33, 34: g },
+ { 11: 35, 27: s, 28: l },
+ { 40: 36, 46: [1, 37], 47: [1, 38] },
+ t(y, [2, 34]),
+ t(y, [2, 35]),
+ t(y, [2, 36]),
+ t(y, [2, 37]),
+ t(y, [2, 38]),
+ t(e, [2, 15]),
+ t(e, [2, 16]),
+ t(e, [2, 17]),
+ { 13: [1, 39] },
+ { 17: [1, 40] },
+ t(e, [2, 10]),
+ { 16: 41, 17: [2, 21], 29: 32, 30: 33, 34: g },
+ { 31: 42, 34: [1, 43] },
+ { 34: [2, 27] },
+ { 19: [1, 44] },
+ { 39: 45, 41: u, 42: h, 43: f, 44: d, 45: p },
+ t(v, [2, 39]),
+ t(v, [2, 40]),
+ { 14: 46, 27: [1, 49], 28: [1, 48], 48: [1, 47] },
+ t(e, [2, 9]),
+ { 17: [2, 22] },
+ t(x, [2, 23], { 32: 50, 33: 51, 35: 52, 37: b, 38: w }),
+ t([17, 34, 37, 38], [2, 28]),
+ t(e, [2, 14], { 15: [1, 55] }),
+ t([27, 28], [2, 33]),
+ t(e, [2, 8]),
+ t(e, [2, 41]),
+ t(e, [2, 42]),
+ t(e, [2, 43]),
+ t(x, [2, 24], { 33: 56, 36: [1, 57], 38: w }),
+ t(x, [2, 25]),
+ t(S, [2, 29]),
+ t(x, [2, 32]),
+ t(S, [2, 31]),
+ { 16: 58, 17: [1, 59], 29: 32, 30: 33, 34: g },
+ t(x, [2, 26]),
+ { 35: 60, 37: b },
+ { 17: [1, 61] },
+ t(e, [2, 13]),
+ t(S, [2, 30]),
+ t(e, [2, 12])
+ ],
+ defaultActions: { 34: [2, 27], 41: [2, 22] },
+ parseError: o(function (L, M) {
+ if (M.recoverable) this.trace(L);
+ else {
+ var N = new Error(L);
+ throw ((N.hash = M), N);
+ }
+ }, 'parseError'),
+ parse: o(function (L) {
+ var M = this,
+ N = [0],
+ k = [],
+ I = [null],
+ C = [],
+ O = this.table,
+ D = '',
+ P = 0,
+ F = 0,
+ B = 0,
+ $ = 2,
+ z = 1,
+ Y = C.slice.call(arguments, 1),
+ Q = Object.create(this.lexer),
+ X = { yy: {} };
+ for (var ie in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, ie) && (X.yy[ie] = this.yy[ie]);
+ Q.setInput(L, X.yy),
+ (X.yy.lexer = Q),
+ (X.yy.parser = this),
+ typeof Q.yylloc > 'u' && (Q.yylloc = {});
+ var j = Q.yylloc;
+ C.push(j);
+ var J = Q.options && Q.options.ranges;
+ typeof X.yy.parseError == 'function'
+ ? (this.parseError = X.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Z(Pe) {
+ (N.length = N.length - 2 * Pe), (I.length = I.length - Pe), (C.length = C.length - Pe);
+ }
+ o(Z, 'popStack');
+ function H() {
+ var Pe;
+ return (
+ (Pe = k.pop() || Q.lex() || z),
+ typeof Pe != 'number' &&
+ (Pe instanceof Array && ((k = Pe), (Pe = k.pop())),
+ (Pe = M.symbols_[Pe] || Pe)),
+ Pe
+ );
+ }
+ o(H, 'lex');
+ for (var q, K, se, ce, ue, te, De = {}, oe, ke, Ie, Se; ; ) {
+ if (
+ ((se = N[N.length - 1]),
+ this.defaultActions[se]
+ ? (ce = this.defaultActions[se])
+ : ((q === null || typeof q > 'u') && (q = H()), (ce = O[se] && O[se][q])),
+ typeof ce > 'u' || !ce.length || !ce[0])
+ ) {
+ var Ue = '';
+ Se = [];
+ for (oe in O[se])
+ this.terminals_[oe] && oe > $ && Se.push("'" + this.terminals_[oe] + "'");
+ Q.showPosition
+ ? (Ue =
+ 'Parse error on line ' +
+ (P + 1) +
+ `:
+` +
+ Q.showPosition() +
+ `
+Expecting ` +
+ Se.join(', ') +
+ ", got '" +
+ (this.terminals_[q] || q) +
+ "'")
+ : (Ue =
+ 'Parse error on line ' +
+ (P + 1) +
+ ': Unexpected ' +
+ (q == z ? 'end of input' : "'" + (this.terminals_[q] || q) + "'")),
+ this.parseError(Ue, {
+ text: Q.match,
+ token: this.terminals_[q] || q,
+ line: Q.yylineno,
+ loc: j,
+ expected: Se
+ });
+ }
+ if (ce[0] instanceof Array && ce.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + se + ', token: ' + q
+ );
+ switch (ce[0]) {
+ case 1:
+ N.push(q),
+ I.push(Q.yytext),
+ C.push(Q.yylloc),
+ N.push(ce[1]),
+ (q = null),
+ K
+ ? ((q = K), (K = null))
+ : ((F = Q.yyleng),
+ (D = Q.yytext),
+ (P = Q.yylineno),
+ (j = Q.yylloc),
+ B > 0 && B--);
+ break;
+ case 2:
+ if (
+ ((ke = this.productions_[ce[1]][1]),
+ (De.$ = I[I.length - ke]),
+ (De._$ = {
+ first_line: C[C.length - (ke || 1)].first_line,
+ last_line: C[C.length - 1].last_line,
+ first_column: C[C.length - (ke || 1)].first_column,
+ last_column: C[C.length - 1].last_column
+ }),
+ J &&
+ (De._$.range = [
+ C[C.length - (ke || 1)].range[0],
+ C[C.length - 1].range[1]
+ ]),
+ (te = this.performAction.apply(De, [D, F, P, X.yy, ce[1], I, C].concat(Y))),
+ typeof te < 'u')
+ )
+ return te;
+ ke &&
+ ((N = N.slice(0, -1 * ke * 2)),
+ (I = I.slice(0, -1 * ke)),
+ (C = C.slice(0, -1 * ke))),
+ N.push(this.productions_[ce[1]][0]),
+ I.push(De.$),
+ C.push(De._$),
+ (Ie = O[N[N.length - 2]][N[N.length - 1]]),
+ N.push(Ie);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ E = (function () {
+ var A = {
+ EOF: 1,
+ parseError: o(function (M, N) {
+ if (this.yy.parser) this.yy.parser.parseError(M, N);
+ else throw new Error(M);
+ }, 'parseError'),
+ setInput: o(function (L, M) {
+ return (
+ (this.yy = M || this.yy || {}),
+ (this._input = L),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var L = this._input[0];
+ (this.yytext += L),
+ this.yyleng++,
+ this.offset++,
+ (this.match += L),
+ (this.matched += L);
+ var M = L.match(/(?:\r\n?|\n).*/g);
+ return (
+ M ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ L
+ );
+ }, 'input'),
+ unput: o(function (L) {
+ var M = L.length,
+ N = L.split(/(?:\r\n?|\n)/g);
+ (this._input = L + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - M)),
+ (this.offset -= M);
+ var k = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ N.length - 1 && (this.yylineno -= N.length - 1);
+ var I = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: N
+ ? (N.length === k.length ? this.yylloc.first_column : 0) +
+ k[k.length - N.length].length -
+ N[0].length
+ : this.yylloc.first_column - M
+ }),
+ this.options.ranges && (this.yylloc.range = [I[0], I[0] + this.yyleng - M]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (L) {
+ this.unput(this.match.slice(L));
+ }, 'less'),
+ pastInput: o(function () {
+ var L = this.matched.substr(0, this.matched.length - this.match.length);
+ return (L.length > 20 ? '...' : '') + L.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var L = this.match;
+ return (
+ L.length < 20 && (L += this._input.substr(0, 20 - L.length)),
+ (L.substr(0, 20) + (L.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var L = this.pastInput(),
+ M = new Array(L.length + 1).join('-');
+ return (
+ L +
+ this.upcomingInput() +
+ `
+` +
+ M +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (L, M) {
+ var N, k, I;
+ if (
+ (this.options.backtrack_lexer &&
+ ((I = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (I.yylloc.range = this.yylloc.range.slice(0))),
+ (k = L[0].match(/(?:\r\n?|\n).*/g)),
+ k && (this.yylineno += k.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: k
+ ? k[k.length - 1].length - k[k.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + L[0].length
+ }),
+ (this.yytext += L[0]),
+ (this.match += L[0]),
+ (this.matches = L),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(L[0].length)),
+ (this.matched += L[0]),
+ (N = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ M,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ N)
+ )
+ return N;
+ if (this._backtrack) {
+ for (var C in I) this[C] = I[C];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var L, M, N, k;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var I = this._currentRules(), C = 0; C < I.length; C++)
+ if (
+ ((N = this._input.match(this.rules[I[C]])),
+ N && (!M || N[0].length > M[0].length))
+ ) {
+ if (((M = N), (k = C), this.options.backtrack_lexer)) {
+ if (((L = this.test_match(N, I[C])), L !== !1)) return L;
+ if (this._backtrack) {
+ M = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return M
+ ? ((L = this.test_match(M, I[k])), L !== !1 ? L : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var M = this.next();
+ return M || this.lex();
+ }, 'lex'),
+ begin: o(function (M) {
+ this.conditionStack.push(M);
+ }, 'begin'),
+ popState: o(function () {
+ var M = this.conditionStack.length - 1;
+ return M > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (M) {
+ return (
+ (M = this.conditionStack.length - 1 - Math.abs(M || 0)),
+ M >= 0 ? this.conditionStack[M] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (M) {
+ this.begin(M);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (M, N, k, I) {
+ var C = I;
+ switch (k) {
+ case 0:
+ return this.begin('acc_title'), 22;
+ break;
+ case 1:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 2:
+ return this.begin('acc_descr'), 24;
+ break;
+ case 3:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 4:
+ this.begin('acc_descr_multiline');
+ break;
+ case 5:
+ this.popState();
+ break;
+ case 6:
+ return 'acc_descr_multiline_value';
+ case 7:
+ return 10;
+ case 8:
+ break;
+ case 9:
+ return 8;
+ case 10:
+ return 28;
+ case 11:
+ return 48;
+ case 12:
+ return 4;
+ case 13:
+ return this.begin('block'), 15;
+ break;
+ case 14:
+ return 36;
+ case 15:
+ break;
+ case 16:
+ return 37;
+ case 17:
+ return 34;
+ case 18:
+ return 34;
+ case 19:
+ return 38;
+ case 20:
+ break;
+ case 21:
+ return this.popState(), 17;
+ break;
+ case 22:
+ return N.yytext[0];
+ case 23:
+ return 18;
+ case 24:
+ return 19;
+ case 25:
+ return 41;
+ case 26:
+ return 43;
+ case 27:
+ return 43;
+ case 28:
+ return 43;
+ case 29:
+ return 41;
+ case 30:
+ return 41;
+ case 31:
+ return 42;
+ case 32:
+ return 42;
+ case 33:
+ return 42;
+ case 34:
+ return 42;
+ case 35:
+ return 42;
+ case 36:
+ return 43;
+ case 37:
+ return 42;
+ case 38:
+ return 43;
+ case 39:
+ return 44;
+ case 40:
+ return 44;
+ case 41:
+ return 44;
+ case 42:
+ return 44;
+ case 43:
+ return 41;
+ case 44:
+ return 42;
+ case 45:
+ return 43;
+ case 46:
+ return 45;
+ case 47:
+ return 46;
+ case 48:
+ return 47;
+ case 49:
+ return 47;
+ case 50:
+ return 46;
+ case 51:
+ return 46;
+ case 52:
+ return 46;
+ case 53:
+ return 27;
+ case 54:
+ return N.yytext[0];
+ case 55:
+ return 6;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:[\s]+)/i,
+ /^(?:"[^"%\r\n\v\b\\]+")/i,
+ /^(?:"[^"]*")/i,
+ /^(?:erDiagram\b)/i,
+ /^(?:\{)/i,
+ /^(?:,)/i,
+ /^(?:\s+)/i,
+ /^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,
+ /^(?:(.*?)[~](.*?)*[~])/i,
+ /^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,
+ /^(?:"[^"]*")/i,
+ /^(?:[\n]+)/i,
+ /^(?:\})/i,
+ /^(?:.)/i,
+ /^(?:\[)/i,
+ /^(?:\])/i,
+ /^(?:one or zero\b)/i,
+ /^(?:one or more\b)/i,
+ /^(?:one or many\b)/i,
+ /^(?:1\+)/i,
+ /^(?:\|o\b)/i,
+ /^(?:zero or one\b)/i,
+ /^(?:zero or more\b)/i,
+ /^(?:zero or many\b)/i,
+ /^(?:0\+)/i,
+ /^(?:\}o\b)/i,
+ /^(?:many\(0\))/i,
+ /^(?:many\(1\))/i,
+ /^(?:many\b)/i,
+ /^(?:\}\|)/i,
+ /^(?:one\b)/i,
+ /^(?:only one\b)/i,
+ /^(?:1\b)/i,
+ /^(?:\|\|)/i,
+ /^(?:o\|)/i,
+ /^(?:o\{)/i,
+ /^(?:\|\{)/i,
+ /^(?:\s*u\b)/i,
+ /^(?:\.\.)/i,
+ /^(?:--)/i,
+ /^(?:to\b)/i,
+ /^(?:optionally to\b)/i,
+ /^(?:\.-)/i,
+ /^(?:-\.)/i,
+ /^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,
+ /^(?:.)/i,
+ /^(?:$)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [5, 6], inclusive: !1 },
+ acc_descr: { rules: [3], inclusive: !1 },
+ acc_title: { rules: [1], inclusive: !1 },
+ block: {
+ rules: [14, 15, 16, 17, 18, 19, 20, 21, 22],
+ inclusive: !1
+ },
+ INITIAL: {
+ rules: [
+ 0, 2, 4, 7, 8, 9, 10, 11, 12, 13, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return A;
+ })();
+ T.lexer = E;
+ function _() {
+ this.yy = {};
+ }
+ return o(_, 'Parser'), (_.prototype = T), (T.Parser = _), new _();
+ })();
+ xD.parser = xD;
+ rne = xD;
+ });
+ var Hd,
+ bD,
+ NNe,
+ MNe,
+ ine,
+ INe,
+ ONe,
+ PNe,
+ BNe,
+ FNe,
+ ane,
+ sne = R(() => {
+ 'use strict';
+ ut();
+ _t();
+ bi();
+ (Hd = new Map()),
+ (bD = []),
+ (NNe = {
+ ZERO_OR_ONE: 'ZERO_OR_ONE',
+ ZERO_OR_MORE: 'ZERO_OR_MORE',
+ ONE_OR_MORE: 'ONE_OR_MORE',
+ ONLY_ONE: 'ONLY_ONE',
+ MD_PARENT: 'MD_PARENT'
+ }),
+ (MNe = {
+ NON_IDENTIFYING: 'NON_IDENTIFYING',
+ IDENTIFYING: 'IDENTIFYING'
+ }),
+ (ine = o(function (t, e = void 0) {
+ return (
+ Hd.has(t)
+ ? !Hd.get(t).alias &&
+ e &&
+ ((Hd.get(t).alias = e), V.info(`Add alias '${e}' to entity '${t}'`))
+ : (Hd.set(t, { attributes: [], alias: e }), V.info('Added new entity :', t)),
+ Hd.get(t)
+ );
+ }, 'addEntity')),
+ (INe = o(() => Hd, 'getEntities')),
+ (ONe = o(function (t, e) {
+ let r = ine(t),
+ n;
+ for (n = e.length - 1; n >= 0; n--)
+ r.attributes.push(e[n]), V.debug('Added attribute ', e[n].attributeName);
+ }, 'addAttributes')),
+ (PNe = o(function (t, e, r, n) {
+ let i = { entityA: t, roleA: e, entityB: r, relSpec: n };
+ bD.push(i), V.debug('Added new relationship :', i);
+ }, 'addRelationship')),
+ (BNe = o(() => bD, 'getRelationships')),
+ (FNe = o(function () {
+ (Hd = new Map()), (bD = []), vr();
+ }, 'clear')),
+ (ane = {
+ Cardinality: NNe,
+ Identification: MNe,
+ getConfig: o(() => de().er, 'getConfig'),
+ addEntity: ine,
+ addAttributes: ONe,
+ getEntities: INe,
+ addRelationship: PNe,
+ getRelationships: BNe,
+ clear: FNe,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr
+ });
+ });
+ var Dl,
+ zNe,
+ $o,
+ one = R(() => {
+ 'use strict';
+ (Dl = {
+ ONLY_ONE_START: 'ONLY_ONE_START',
+ ONLY_ONE_END: 'ONLY_ONE_END',
+ ZERO_OR_ONE_START: 'ZERO_OR_ONE_START',
+ ZERO_OR_ONE_END: 'ZERO_OR_ONE_END',
+ ONE_OR_MORE_START: 'ONE_OR_MORE_START',
+ ONE_OR_MORE_END: 'ONE_OR_MORE_END',
+ ZERO_OR_MORE_START: 'ZERO_OR_MORE_START',
+ ZERO_OR_MORE_END: 'ZERO_OR_MORE_END',
+ MD_PARENT_END: 'MD_PARENT_END',
+ MD_PARENT_START: 'MD_PARENT_START'
+ }),
+ (zNe = o(function (t, e) {
+ let r;
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.MD_PARENT_START)
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.MD_PARENT_END)
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ONLY_ONE_START)
+ .attr('refX', 0)
+ .attr('refY', 9)
+ .attr('markerWidth', 18)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M9,0 L9,18 M15,0 L15,18'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ONLY_ONE_END)
+ .attr('refX', 18)
+ .attr('refY', 9)
+ .attr('markerWidth', 18)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M3,0 L3,18 M9,0 L9,18'),
+ (r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ZERO_OR_ONE_START)
+ .attr('refX', 0)
+ .attr('refY', 9)
+ .attr('markerWidth', 30)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')),
+ r
+ .append('circle')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 21)
+ .attr('cy', 9)
+ .attr('r', 6),
+ r.append('path').attr('stroke', e.stroke).attr('fill', 'none').attr('d', 'M9,0 L9,18'),
+ (r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ZERO_OR_ONE_END)
+ .attr('refX', 30)
+ .attr('refY', 9)
+ .attr('markerWidth', 30)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')),
+ r
+ .append('circle')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 9)
+ .attr('cy', 9)
+ .attr('r', 6),
+ r.append('path').attr('stroke', e.stroke).attr('fill', 'none').attr('d', 'M21,0 L21,18'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ONE_OR_MORE_START)
+ .attr('refX', 18)
+ .attr('refY', 18)
+ .attr('markerWidth', 45)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ONE_OR_MORE_END)
+ .attr('refX', 27)
+ .attr('refY', 18)
+ .attr('markerWidth', 45)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18'),
+ (r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ZERO_OR_MORE_START)
+ .attr('refX', 18)
+ .attr('refY', 18)
+ .attr('markerWidth', 57)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')),
+ r
+ .append('circle')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 48)
+ .attr('cy', 18)
+ .attr('r', 6),
+ r
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M0,18 Q18,0 36,18 Q18,36 0,18'),
+ (r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ZERO_OR_MORE_END)
+ .attr('refX', 39)
+ .attr('refY', 18)
+ .attr('markerWidth', 57)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')),
+ r
+ .append('circle')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 9)
+ .attr('cy', 18)
+ .attr('r', 6),
+ r
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M21,18 Q39,0 57,18 Q39,36 21,18');
+ }, 'insertMarkers')),
+ ($o = { ERMarkers: Dl, insertMarkers: zNe });
+ });
+ var lne,
+ cne = R(() => {
+ 'use strict';
+ lne =
+ /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
+ });
+ function GNe(t) {
+ return typeof t == 'string' && lne.test(t);
+ }
+ var une,
+ hne = R(() => {
+ 'use strict';
+ cne();
+ o(GNe, 'validate');
+ une = GNe;
+ });
+ function fne(t, e = 0) {
+ return (
+ va[t[e + 0]] +
+ va[t[e + 1]] +
+ va[t[e + 2]] +
+ va[t[e + 3]] +
+ '-' +
+ va[t[e + 4]] +
+ va[t[e + 5]] +
+ '-' +
+ va[t[e + 6]] +
+ va[t[e + 7]] +
+ '-' +
+ va[t[e + 8]] +
+ va[t[e + 9]] +
+ '-' +
+ va[t[e + 10]] +
+ va[t[e + 11]] +
+ va[t[e + 12]] +
+ va[t[e + 13]] +
+ va[t[e + 14]] +
+ va[t[e + 15]]
+ );
+ }
+ var va,
+ dne = R(() => {
+ 'use strict';
+ va = [];
+ for (let t = 0; t < 256; ++t) va.push((t + 256).toString(16).slice(1));
+ o(fne, 'unsafeStringify');
+ });
+ function $Ne(t) {
+ if (!une(t)) throw TypeError('Invalid UUID');
+ let e,
+ r = new Uint8Array(16);
+ return (
+ (r[0] = (e = parseInt(t.slice(0, 8), 16)) >>> 24),
+ (r[1] = (e >>> 16) & 255),
+ (r[2] = (e >>> 8) & 255),
+ (r[3] = e & 255),
+ (r[4] = (e = parseInt(t.slice(9, 13), 16)) >>> 8),
+ (r[5] = e & 255),
+ (r[6] = (e = parseInt(t.slice(14, 18), 16)) >>> 8),
+ (r[7] = e & 255),
+ (r[8] = (e = parseInt(t.slice(19, 23), 16)) >>> 8),
+ (r[9] = e & 255),
+ (r[10] = ((e = parseInt(t.slice(24, 36), 16)) / 1099511627776) & 255),
+ (r[11] = (e / 4294967296) & 255),
+ (r[12] = (e >>> 24) & 255),
+ (r[13] = (e >>> 16) & 255),
+ (r[14] = (e >>> 8) & 255),
+ (r[15] = e & 255),
+ r
+ );
+ }
+ var pne,
+ mne = R(() => {
+ 'use strict';
+ hne();
+ o($Ne, 'parse');
+ pne = $Ne;
+ });
+ function VNe(t) {
+ t = unescape(encodeURIComponent(t));
+ let e = [];
+ for (let r = 0; r < t.length; ++r) e.push(t.charCodeAt(r));
+ return e;
+ }
+ function wD(t, e, r) {
+ function n(i, a, s, l) {
+ var u;
+ if (
+ (typeof i == 'string' && (i = VNe(i)),
+ typeof a == 'string' && (a = pne(a)),
+ ((u = a) === null || u === void 0 ? void 0 : u.length) !== 16)
+ )
+ throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');
+ let h = new Uint8Array(16 + i.length);
+ if ((h.set(a), h.set(i, a.length), (h = r(h)), (h[6] = (h[6] & 15) | e), (h[8] = (h[8] & 63) | 128), s)) {
+ l = l || 0;
+ for (let f = 0; f < 16; ++f) s[l + f] = h[f];
+ return s;
+ }
+ return fne(h);
+ }
+ o(n, 'generateUUID');
+ try {
+ n.name = t;
+ } catch {}
+ return (n.DNS = UNe), (n.URL = HNe), n;
+ }
+ var UNe,
+ HNe,
+ gne = R(() => {
+ 'use strict';
+ dne();
+ mne();
+ o(VNe, 'stringToBytes');
+ (UNe = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'), (HNe = '6ba7b811-9dad-11d1-80b4-00c04fd430c8');
+ o(wD, 'v35');
+ });
+ function YNe(t, e, r, n) {
+ switch (t) {
+ case 0:
+ return (e & r) ^ (~e & n);
+ case 1:
+ return e ^ r ^ n;
+ case 2:
+ return (e & r) ^ (e & n) ^ (r & n);
+ case 3:
+ return e ^ r ^ n;
+ }
+ }
+ function TD(t, e) {
+ return (t << e) | (t >>> (32 - e));
+ }
+ function WNe(t) {
+ let e = [1518500249, 1859775393, 2400959708, 3395469782],
+ r = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];
+ if (typeof t == 'string') {
+ let s = unescape(encodeURIComponent(t));
+ t = [];
+ for (let l = 0; l < s.length; ++l) t.push(s.charCodeAt(l));
+ } else Array.isArray(t) || (t = Array.prototype.slice.call(t));
+ t.push(128);
+ let n = t.length / 4 + 2,
+ i = Math.ceil(n / 16),
+ a = new Array(i);
+ for (let s = 0; s < i; ++s) {
+ let l = new Uint32Array(16);
+ for (let u = 0; u < 16; ++u)
+ l[u] =
+ (t[s * 64 + u * 4] << 24) |
+ (t[s * 64 + u * 4 + 1] << 16) |
+ (t[s * 64 + u * 4 + 2] << 8) |
+ t[s * 64 + u * 4 + 3];
+ a[s] = l;
+ }
+ (a[i - 1][14] = ((t.length - 1) * 8) / Math.pow(2, 32)),
+ (a[i - 1][14] = Math.floor(a[i - 1][14])),
+ (a[i - 1][15] = ((t.length - 1) * 8) & 4294967295);
+ for (let s = 0; s < i; ++s) {
+ let l = new Uint32Array(80);
+ for (let m = 0; m < 16; ++m) l[m] = a[s][m];
+ for (let m = 16; m < 80; ++m) l[m] = TD(l[m - 3] ^ l[m - 8] ^ l[m - 14] ^ l[m - 16], 1);
+ let u = r[0],
+ h = r[1],
+ f = r[2],
+ d = r[3],
+ p = r[4];
+ for (let m = 0; m < 80; ++m) {
+ let g = Math.floor(m / 20),
+ y = (TD(u, 5) + YNe(g, h, f, d) + p + e[g] + l[m]) >>> 0;
+ (p = d), (d = f), (f = TD(h, 30) >>> 0), (h = u), (u = y);
+ }
+ (r[0] = (r[0] + u) >>> 0),
+ (r[1] = (r[1] + h) >>> 0),
+ (r[2] = (r[2] + f) >>> 0),
+ (r[3] = (r[3] + d) >>> 0),
+ (r[4] = (r[4] + p) >>> 0);
+ }
+ return [
+ (r[0] >> 24) & 255,
+ (r[0] >> 16) & 255,
+ (r[0] >> 8) & 255,
+ r[0] & 255,
+ (r[1] >> 24) & 255,
+ (r[1] >> 16) & 255,
+ (r[1] >> 8) & 255,
+ r[1] & 255,
+ (r[2] >> 24) & 255,
+ (r[2] >> 16) & 255,
+ (r[2] >> 8) & 255,
+ r[2] & 255,
+ (r[3] >> 24) & 255,
+ (r[3] >> 16) & 255,
+ (r[3] >> 8) & 255,
+ r[3] & 255,
+ (r[4] >> 24) & 255,
+ (r[4] >> 16) & 255,
+ (r[4] >> 8) & 255,
+ r[4] & 255
+ ];
+ }
+ var yne,
+ vne = R(() => {
+ 'use strict';
+ o(YNe, 'f');
+ o(TD, 'ROTL');
+ o(WNe, 'sha1');
+ yne = WNe;
+ });
+ var qNe,
+ kD,
+ xne = R(() => {
+ 'use strict';
+ gne();
+ vne();
+ (qNe = wD('v5', 80, yne)), (kD = qNe);
+ });
+ var bne = R(() => {
+ 'use strict';
+ xne();
+ });
+ function nMe(t = '', e = '') {
+ let r = t.replace(XNe, '');
+ return `${Tne(e)}${Tne(r)}${kD(t, rMe)}`;
+ }
+ function Tne(t = '') {
+ return t.length > 0 ? `${t}-` : '';
+ }
+ var XNe,
+ Ii,
+ Fv,
+ jNe,
+ KNe,
+ QNe,
+ ZNe,
+ kne,
+ JNe,
+ wne,
+ eMe,
+ tMe,
+ rMe,
+ Ene,
+ Cne = R(() => {
+ 'use strict';
+ ya();
+ Zt();
+ Vd();
+ _t();
+ ut();
+ xr();
+ one();
+ Yn();
+ rr();
+ bne();
+ (XNe = /[^\dA-Za-z](\W)*/g),
+ (Ii = {}),
+ (Fv = new Map()),
+ (jNe = o(function (t) {
+ let e = Object.keys(t);
+ for (let r of e) Ii[r] = t[r];
+ }, 'setConf')),
+ (KNe = o((t, e, r) => {
+ let n = Ii.entityPadding / 3,
+ i = Ii.entityPadding / 3,
+ a = Ii.fontSize * 0.85,
+ s = e.node().getBBox(),
+ l = [],
+ u = !1,
+ h = !1,
+ f = 0,
+ d = 0,
+ p = 0,
+ m = 0,
+ g = s.height + n * 2,
+ y = 1;
+ r.forEach((w) => {
+ w.attributeKeyTypeList !== void 0 && w.attributeKeyTypeList.length > 0 && (u = !0),
+ w.attributeComment !== void 0 && (h = !0);
+ }),
+ r.forEach((w) => {
+ let S = `${e.node().id}-attr-${y}`,
+ T = 0,
+ E = gh(w.attributeType),
+ _ = t
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${S}-type`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', de().fontFamily)
+ .style('font-size', a + 'px')
+ .text(E),
+ A = t
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${S}-name`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', de().fontFamily)
+ .style('font-size', a + 'px')
+ .text(w.attributeName),
+ L = {};
+ (L.tn = _), (L.nn = A);
+ let M = _.node().getBBox(),
+ N = A.node().getBBox();
+ if (
+ ((f = Math.max(f, M.width)),
+ (d = Math.max(d, N.width)),
+ (T = Math.max(M.height, N.height)),
+ u)
+ ) {
+ let k = w.attributeKeyTypeList !== void 0 ? w.attributeKeyTypeList.join(',') : '',
+ I = t
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${S}-key`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', de().fontFamily)
+ .style('font-size', a + 'px')
+ .text(k);
+ L.kn = I;
+ let C = I.node().getBBox();
+ (p = Math.max(p, C.width)), (T = Math.max(T, C.height));
+ }
+ if (h) {
+ let k = t
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${S}-comment`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', de().fontFamily)
+ .style('font-size', a + 'px')
+ .text(w.attributeComment || '');
+ L.cn = k;
+ let I = k.node().getBBox();
+ (m = Math.max(m, I.width)), (T = Math.max(T, I.height));
+ }
+ (L.height = T), l.push(L), (g += T + n * 2), (y += 1);
+ });
+ let v = 4;
+ u && (v += 2), h && (v += 2);
+ let x = f + d + p + m,
+ b = {
+ width: Math.max(Ii.minEntityWidth, Math.max(s.width + Ii.entityPadding * 2, x + i * v)),
+ height: r.length > 0 ? g : Math.max(Ii.minEntityHeight, s.height + Ii.entityPadding * 2)
+ };
+ if (r.length > 0) {
+ let w = Math.max(0, (b.width - x - i * v) / (v / 2));
+ e.attr('transform', 'translate(' + b.width / 2 + ',' + (n + s.height / 2) + ')');
+ let S = s.height + n * 2,
+ T = 'attributeBoxOdd';
+ l.forEach((E) => {
+ let _ = S + n + E.height / 2;
+ E.tn.attr('transform', 'translate(' + i + ',' + _ + ')');
+ let A = t
+ .insert('rect', '#' + E.tn.node().id)
+ .classed(`er ${T}`, !0)
+ .attr('x', 0)
+ .attr('y', S)
+ .attr('width', f + i * 2 + w)
+ .attr('height', E.height + n * 2),
+ L = parseFloat(A.attr('x')) + parseFloat(A.attr('width'));
+ E.nn.attr('transform', 'translate(' + (L + i) + ',' + _ + ')');
+ let M = t
+ .insert('rect', '#' + E.nn.node().id)
+ .classed(`er ${T}`, !0)
+ .attr('x', L)
+ .attr('y', S)
+ .attr('width', d + i * 2 + w)
+ .attr('height', E.height + n * 2),
+ N = parseFloat(M.attr('x')) + parseFloat(M.attr('width'));
+ if (u) {
+ E.kn.attr('transform', 'translate(' + (N + i) + ',' + _ + ')');
+ let k = t
+ .insert('rect', '#' + E.kn.node().id)
+ .classed(`er ${T}`, !0)
+ .attr('x', N)
+ .attr('y', S)
+ .attr('width', p + i * 2 + w)
+ .attr('height', E.height + n * 2);
+ N = parseFloat(k.attr('x')) + parseFloat(k.attr('width'));
+ }
+ h &&
+ (E.cn.attr('transform', 'translate(' + (N + i) + ',' + _ + ')'),
+ t
+ .insert('rect', '#' + E.cn.node().id)
+ .classed(`er ${T}`, 'true')
+ .attr('x', N)
+ .attr('y', S)
+ .attr('width', m + i * 2 + w)
+ .attr('height', E.height + n * 2)),
+ (S += E.height + n * 2),
+ (T = T === 'attributeBoxOdd' ? 'attributeBoxEven' : 'attributeBoxOdd');
+ });
+ } else
+ (b.height = Math.max(Ii.minEntityHeight, g)),
+ e.attr('transform', 'translate(' + b.width / 2 + ',' + b.height / 2 + ')');
+ return b;
+ }, 'drawAttributes')),
+ (QNe = o(function (t, e, r) {
+ let n = [...e.keys()],
+ i;
+ return (
+ n.forEach(function (a) {
+ let s = nMe(a, 'entity');
+ Fv.set(a, s);
+ let l = t.append('g').attr('id', s);
+ i = i === void 0 ? s : i;
+ let u = 'text-' + s,
+ h = l
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', u)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'middle')
+ .style('font-family', de().fontFamily)
+ .style('font-size', Ii.fontSize + 'px')
+ .text(e.get(a).alias ?? a),
+ { width: f, height: d } = KNe(l, h, e.get(a).attributes),
+ m = l
+ .insert('rect', '#' + u)
+ .classed('er entityBox', !0)
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', f)
+ .attr('height', d)
+ .node()
+ .getBBox();
+ r.setNode(s, {
+ width: m.width,
+ height: m.height,
+ shape: 'rect',
+ id: s
+ });
+ }),
+ i
+ );
+ }, 'drawEntities')),
+ (ZNe = o(function (t, e) {
+ e.nodes().forEach(function (r) {
+ r !== void 0 &&
+ e.node(r) !== void 0 &&
+ t
+ .select('#' + r)
+ .attr(
+ 'transform',
+ 'translate(' +
+ (e.node(r).x - e.node(r).width / 2) +
+ ',' +
+ (e.node(r).y - e.node(r).height / 2) +
+ ' )'
+ );
+ });
+ }, 'adjustEntities')),
+ (kne = o(function (t) {
+ return (t.entityA + t.roleA + t.entityB).replace(/\s/g, '');
+ }, 'getEdgeName')),
+ (JNe = o(function (t, e) {
+ return (
+ t.forEach(function (r) {
+ e.setEdge(Fv.get(r.entityA), Fv.get(r.entityB), { relationship: r }, kne(r));
+ }),
+ t
+ );
+ }, 'addRelationships')),
+ (wne = 0),
+ (eMe = o(function (t, e, r, n, i) {
+ wne++;
+ let a = r.edge(Fv.get(e.entityA), Fv.get(e.entityB), kne(e)),
+ s = ha()
+ .x(function (y) {
+ return y.x;
+ })
+ .y(function (y) {
+ return y.y;
+ })
+ .curve(vs),
+ l = t
+ .insert('path', '#' + n)
+ .classed('er relationshipLine', !0)
+ .attr('d', s(a.points))
+ .style('stroke', Ii.stroke)
+ .style('fill', 'none');
+ e.relSpec.relType === i.db.Identification.NON_IDENTIFYING && l.attr('stroke-dasharray', '8,8');
+ let u = '';
+ switch (
+ (Ii.arrowMarkerAbsolute &&
+ ((u =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (u = u.replace(/\(/g, '\\(')),
+ (u = u.replace(/\)/g, '\\)'))),
+ e.relSpec.cardA)
+ ) {
+ case i.db.Cardinality.ZERO_OR_ONE:
+ l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_ONE_END + ')');
+ break;
+ case i.db.Cardinality.ZERO_OR_MORE:
+ l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_MORE_END + ')');
+ break;
+ case i.db.Cardinality.ONE_OR_MORE:
+ l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ONE_OR_MORE_END + ')');
+ break;
+ case i.db.Cardinality.ONLY_ONE:
+ l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ONLY_ONE_END + ')');
+ break;
+ case i.db.Cardinality.MD_PARENT:
+ l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.MD_PARENT_END + ')');
+ break;
+ }
+ switch (e.relSpec.cardB) {
+ case i.db.Cardinality.ZERO_OR_ONE:
+ l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_ONE_START + ')');
+ break;
+ case i.db.Cardinality.ZERO_OR_MORE:
+ l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_MORE_START + ')');
+ break;
+ case i.db.Cardinality.ONE_OR_MORE:
+ l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ONE_OR_MORE_START + ')');
+ break;
+ case i.db.Cardinality.ONLY_ONE:
+ l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ONLY_ONE_START + ')');
+ break;
+ case i.db.Cardinality.MD_PARENT:
+ l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.MD_PARENT_START + ')');
+ break;
+ }
+ let h = l.node().getTotalLength(),
+ f = l.node().getPointAtLength(h * 0.5),
+ d = 'rel' + wne,
+ p = e.roleA.split(/
/g),
+ m = t
+ .append('text')
+ .classed('er relationshipLabel', !0)
+ .attr('id', d)
+ .attr('x', f.x)
+ .attr('y', f.y)
+ .style('text-anchor', 'middle')
+ .style('dominant-baseline', 'middle')
+ .style('font-family', de().fontFamily)
+ .style('font-size', Ii.fontSize + 'px');
+ if (p.length == 1) m.text(e.roleA);
+ else {
+ let y = -(p.length - 1) * 0.5;
+ p.forEach((v, x) => {
+ m.append('tspan')
+ .attr('x', f.x)
+ .attr('dy', `${x === 0 ? y : 1}em`)
+ .text(v);
+ });
+ }
+ let g = m.node().getBBox();
+ t.insert('rect', '#' + d)
+ .classed('er relationshipLabelBox', !0)
+ .attr('x', f.x - g.width / 2)
+ .attr('y', f.y - g.height / 2)
+ .attr('width', g.width)
+ .attr('height', g.height);
+ }, 'drawRelationshipFromLayout')),
+ (tMe = o(function (t, e, r, n) {
+ (Ii = de().er), V.info('Drawing ER diagram');
+ let i = de().securityLevel,
+ a;
+ i === 'sandbox' && (a = $e('#i' + e));
+ let l = (i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body')).select(
+ `[id='${e}']`
+ );
+ $o.insertMarkers(l, Ii);
+ let u;
+ u = new lr({ multigraph: !0, directed: !0, compound: !1 })
+ .setGraph({
+ rankdir: Ii.layoutDirection,
+ marginx: 20,
+ marginy: 20,
+ nodesep: 100,
+ edgesep: 100,
+ ranksep: 100
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ let h = QNe(l, n.db.getEntities(), u),
+ f = JNe(n.db.getRelationships(), u);
+ lo(u),
+ ZNe(l, u),
+ f.forEach(function (y) {
+ eMe(l, y, u, h, n);
+ });
+ let d = Ii.diagramPadding;
+ Lt.insertTitle(l, 'entityTitleText', Ii.titleTopMargin, n.db.getDiagramTitle());
+ let p = l.node().getBBox(),
+ m = p.width + d * 2,
+ g = p.height + d * 2;
+ Sr(l, g, m, Ii.useMaxWidth), l.attr('viewBox', `${p.x - d} ${p.y - d} ${m} ${g}`);
+ }, 'draw')),
+ (rMe = '28e9f9db-3c8d-5aa5-9faf-44286ae5937c');
+ o(nMe, 'generateId');
+ o(Tne, 'strWithHyphen');
+ Ene = { setConf: jNe, draw: tMe };
+ });
+ var iMe,
+ Sne,
+ Ane = R(() => {
+ 'use strict';
+ (iMe = o(
+ (t) => `
+ .entityBox {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+ }
+
+ .attributeBoxOdd {
+ fill: ${t.attributeBackgroundColorOdd};
+ stroke: ${t.nodeBorder};
+ }
+
+ .attributeBoxEven {
+ fill: ${t.attributeBackgroundColorEven};
+ stroke: ${t.nodeBorder};
+ }
+
+ .relationshipLabelBox {
+ fill: ${t.tertiaryColor};
+ opacity: 0.7;
+ background-color: ${t.tertiaryColor};
+ rect {
+ opacity: 0.5;
+ }
+ }
+
+ .relationshipLine {
+ stroke: ${t.lineColor};
+ }
+
+ .entityTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+ }
+ #MD_PARENT_START {
+ fill: #f5f5f5 !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+ }
+ #MD_PARENT_END {
+ fill: #f5f5f5 !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+ }
+
+`,
+ 'getStyles'
+ )),
+ (Sne = iMe);
+ });
+ var _ne = {};
+ hr(_ne, { diagram: () => aMe });
+ var aMe,
+ Lne = R(() => {
+ 'use strict';
+ nne();
+ sne();
+ Cne();
+ Ane();
+ aMe = { parser: rne, db: ane, renderer: Ene, styles: Sne };
+ });
+ function Xn(t) {
+ return typeof t == 'object' && t !== null && typeof t.$type == 'string';
+ }
+ function xa(t) {
+ return typeof t == 'object' && t !== null && typeof t.$refText == 'string';
+ }
+ function ED(t) {
+ return (
+ typeof t == 'object' &&
+ t !== null &&
+ typeof t.name == 'string' &&
+ typeof t.type == 'string' &&
+ typeof t.path == 'string'
+ );
+ }
+ function Wd(t) {
+ return typeof t == 'object' && t !== null && Xn(t.container) && xa(t.reference) && typeof t.message == 'string';
+ }
+ function co(t) {
+ return typeof t == 'object' && t !== null && Array.isArray(t.content);
+ }
+ function ef(t) {
+ return typeof t == 'object' && t !== null && typeof t.tokenType == 'object';
+ }
+ function zv(t) {
+ return co(t) && typeof t.fullText == 'string';
+ }
+ var Yd,
+ Vo = R(() => {
+ 'use strict';
+ o(Xn, 'isAstNode');
+ o(xa, 'isReference');
+ o(ED, 'isAstNodeDescription');
+ o(Wd, 'isLinkingError');
+ Yd = class {
+ static {
+ o(this, 'AbstractAstReflection');
+ }
+ constructor() {
+ (this.subtypes = {}), (this.allSubtypes = {});
+ }
+ isInstance(e, r) {
+ return Xn(e) && this.isSubtype(e.$type, r);
+ }
+ isSubtype(e, r) {
+ if (e === r) return !0;
+ let n = this.subtypes[e];
+ n || (n = this.subtypes[e] = {});
+ let i = n[r];
+ if (i !== void 0) return i;
+ {
+ let a = this.computeIsSubtype(e, r);
+ return (n[r] = a), a;
+ }
+ }
+ getAllSubTypes(e) {
+ let r = this.allSubtypes[e];
+ if (r) return r;
+ {
+ let n = this.getAllTypes(),
+ i = [];
+ for (let a of n) this.isSubtype(a, e) && i.push(a);
+ return (this.allSubtypes[e] = i), i;
+ }
+ }
+ };
+ o(co, 'isCompositeCstNode');
+ o(ef, 'isLeafCstNode');
+ o(zv, 'isRootCstNode');
+ });
+ function cMe(t) {
+ return typeof t == 'string'
+ ? t
+ : typeof t > 'u'
+ ? 'undefined'
+ : typeof t.toString == 'function'
+ ? t.toString()
+ : Object.prototype.toString.call(t);
+ }
+ function hT(t) {
+ return !!t && typeof t[Symbol.iterator] == 'function';
+ }
+ function Kr(...t) {
+ if (t.length === 1) {
+ let e = t[0];
+ if (e instanceof uo) return e;
+ if (hT(e))
+ return new uo(
+ () => e[Symbol.iterator](),
+ (r) => r.next()
+ );
+ if (typeof e.length == 'number')
+ return new uo(
+ () => ({ index: 0 }),
+ (r) => (r.index < e.length ? { done: !1, value: e[r.index++] } : Ja)
+ );
+ }
+ return t.length > 1
+ ? new uo(
+ () => ({ collIndex: 0, arrIndex: 0 }),
+ (e) => {
+ do {
+ if (e.iterator) {
+ let r = e.iterator.next();
+ if (!r.done) return r;
+ e.iterator = void 0;
+ }
+ if (e.array) {
+ if (e.arrIndex < e.array.length) return { done: !1, value: e.array[e.arrIndex++] };
+ (e.array = void 0), (e.arrIndex = 0);
+ }
+ if (e.collIndex < t.length) {
+ let r = t[e.collIndex++];
+ hT(r)
+ ? (e.iterator = r[Symbol.iterator]())
+ : r && typeof r.length == 'number' && (e.array = r);
+ }
+ } while (e.iterator || e.array || e.collIndex < t.length);
+ return Ja;
+ }
+ )
+ : Gv;
+ }
+ var uo,
+ Gv,
+ Ja,
+ Cc,
+ Fm,
+ Ds = R(() => {
+ 'use strict';
+ uo = class t {
+ static {
+ o(this, 'StreamImpl');
+ }
+ constructor(e, r) {
+ (this.startFn = e), (this.nextFn = r);
+ }
+ iterator() {
+ let e = {
+ state: this.startFn(),
+ next: o(() => this.nextFn(e.state), 'next'),
+ [Symbol.iterator]: () => e
+ };
+ return e;
+ }
+ [Symbol.iterator]() {
+ return this.iterator();
+ }
+ isEmpty() {
+ return !!this.iterator().next().done;
+ }
+ count() {
+ let e = this.iterator(),
+ r = 0,
+ n = e.next();
+ for (; !n.done; ) r++, (n = e.next());
+ return r;
+ }
+ toArray() {
+ let e = [],
+ r = this.iterator(),
+ n;
+ do (n = r.next()), n.value !== void 0 && e.push(n.value);
+ while (!n.done);
+ return e;
+ }
+ toSet() {
+ return new Set(this);
+ }
+ toMap(e, r) {
+ let n = this.map((i) => [e ? e(i) : i, r ? r(i) : i]);
+ return new Map(n);
+ }
+ toString() {
+ return this.join();
+ }
+ concat(e) {
+ let r = e[Symbol.iterator]();
+ return new t(
+ () => ({ first: this.startFn(), firstDone: !1 }),
+ (n) => {
+ let i;
+ if (!n.firstDone) {
+ do if (((i = this.nextFn(n.first)), !i.done)) return i;
+ while (!i.done);
+ n.firstDone = !0;
+ }
+ do if (((i = r.next()), !i.done)) return i;
+ while (!i.done);
+ return Ja;
+ }
+ );
+ }
+ join(e = ',') {
+ let r = this.iterator(),
+ n = '',
+ i,
+ a = !1;
+ do (i = r.next()), i.done || (a && (n += e), (n += cMe(i.value))), (a = !0);
+ while (!i.done);
+ return n;
+ }
+ indexOf(e, r = 0) {
+ let n = this.iterator(),
+ i = 0,
+ a = n.next();
+ for (; !a.done; ) {
+ if (i >= r && a.value === e) return i;
+ (a = n.next()), i++;
+ }
+ return -1;
+ }
+ every(e) {
+ let r = this.iterator(),
+ n = r.next();
+ for (; !n.done; ) {
+ if (!e(n.value)) return !1;
+ n = r.next();
+ }
+ return !0;
+ }
+ some(e) {
+ let r = this.iterator(),
+ n = r.next();
+ for (; !n.done; ) {
+ if (e(n.value)) return !0;
+ n = r.next();
+ }
+ return !1;
+ }
+ forEach(e) {
+ let r = this.iterator(),
+ n = 0,
+ i = r.next();
+ for (; !i.done; ) e(i.value, n), (i = r.next()), n++;
+ }
+ map(e) {
+ return new t(this.startFn, (r) => {
+ let { done: n, value: i } = this.nextFn(r);
+ return n ? Ja : { done: !1, value: e(i) };
+ });
+ }
+ filter(e) {
+ return new t(this.startFn, (r) => {
+ let n;
+ do if (((n = this.nextFn(r)), !n.done && e(n.value))) return n;
+ while (!n.done);
+ return Ja;
+ });
+ }
+ nonNullable() {
+ return this.filter((e) => e != null);
+ }
+ reduce(e, r) {
+ let n = this.iterator(),
+ i = r,
+ a = n.next();
+ for (; !a.done; ) i === void 0 ? (i = a.value) : (i = e(i, a.value)), (a = n.next());
+ return i;
+ }
+ reduceRight(e, r) {
+ return this.recursiveReduce(this.iterator(), e, r);
+ }
+ recursiveReduce(e, r, n) {
+ let i = e.next();
+ if (i.done) return n;
+ let a = this.recursiveReduce(e, r, n);
+ return a === void 0 ? i.value : r(a, i.value);
+ }
+ find(e) {
+ let r = this.iterator(),
+ n = r.next();
+ for (; !n.done; ) {
+ if (e(n.value)) return n.value;
+ n = r.next();
+ }
+ }
+ findIndex(e) {
+ let r = this.iterator(),
+ n = 0,
+ i = r.next();
+ for (; !i.done; ) {
+ if (e(i.value)) return n;
+ (i = r.next()), n++;
+ }
+ return -1;
+ }
+ includes(e) {
+ let r = this.iterator(),
+ n = r.next();
+ for (; !n.done; ) {
+ if (n.value === e) return !0;
+ n = r.next();
+ }
+ return !1;
+ }
+ flatMap(e) {
+ return new t(
+ () => ({ this: this.startFn() }),
+ (r) => {
+ do {
+ if (r.iterator) {
+ let a = r.iterator.next();
+ if (a.done) r.iterator = void 0;
+ else return a;
+ }
+ let { done: n, value: i } = this.nextFn(r.this);
+ if (!n) {
+ let a = e(i);
+ if (hT(a)) r.iterator = a[Symbol.iterator]();
+ else return { done: !1, value: a };
+ }
+ } while (r.iterator);
+ return Ja;
+ }
+ );
+ }
+ flat(e) {
+ if ((e === void 0 && (e = 1), e <= 0)) return this;
+ let r = e > 1 ? this.flat(e - 1) : this;
+ return new t(
+ () => ({ this: r.startFn() }),
+ (n) => {
+ do {
+ if (n.iterator) {
+ let s = n.iterator.next();
+ if (s.done) n.iterator = void 0;
+ else return s;
+ }
+ let { done: i, value: a } = r.nextFn(n.this);
+ if (!i)
+ if (hT(a)) n.iterator = a[Symbol.iterator]();
+ else return { done: !1, value: a };
+ } while (n.iterator);
+ return Ja;
+ }
+ );
+ }
+ head() {
+ let r = this.iterator().next();
+ if (!r.done) return r.value;
+ }
+ tail(e = 1) {
+ return new t(() => {
+ let r = this.startFn();
+ for (let n = 0; n < e; n++) if (this.nextFn(r).done) return r;
+ return r;
+ }, this.nextFn);
+ }
+ limit(e) {
+ return new t(
+ () => ({ size: 0, state: this.startFn() }),
+ (r) => (r.size++, r.size > e ? Ja : this.nextFn(r.state))
+ );
+ }
+ distinct(e) {
+ let r = new Set();
+ return this.filter((n) => {
+ let i = e ? e(n) : n;
+ return r.has(i) ? !1 : (r.add(i), !0);
+ });
+ }
+ exclude(e, r) {
+ let n = new Set();
+ for (let i of e) {
+ let a = r ? r(i) : i;
+ n.add(a);
+ }
+ return this.filter((i) => {
+ let a = r ? r(i) : i;
+ return !n.has(a);
+ });
+ }
+ };
+ o(cMe, 'toString');
+ o(hT, 'isIterable');
+ (Gv = new uo(
+ () => {},
+ () => Ja
+ )),
+ (Ja = Object.freeze({ done: !0, value: void 0 }));
+ o(Kr, 'stream');
+ Cc = class extends uo {
+ static {
+ o(this, 'TreeStreamImpl');
+ }
+ constructor(e, r, n) {
+ super(
+ () => ({
+ iterators: n?.includeRoot ? [[e][Symbol.iterator]()] : [r(e)[Symbol.iterator]()],
+ pruned: !1
+ }),
+ (i) => {
+ for (i.pruned && (i.iterators.pop(), (i.pruned = !1)); i.iterators.length > 0; ) {
+ let s = i.iterators[i.iterators.length - 1].next();
+ if (s.done) i.iterators.pop();
+ else return i.iterators.push(r(s.value)[Symbol.iterator]()), s;
+ }
+ return Ja;
+ }
+ );
+ }
+ iterator() {
+ let e = {
+ state: this.startFn(),
+ next: o(() => this.nextFn(e.state), 'next'),
+ prune: o(() => {
+ e.state.pruned = !0;
+ }, 'prune'),
+ [Symbol.iterator]: () => e
+ };
+ return e;
+ }
+ };
+ (function (t) {
+ function e(a) {
+ return a.reduce((s, l) => s + l, 0);
+ }
+ o(e, 'sum'), (t.sum = e);
+ function r(a) {
+ return a.reduce((s, l) => s * l, 0);
+ }
+ o(r, 'product'), (t.product = r);
+ function n(a) {
+ return a.reduce((s, l) => Math.min(s, l));
+ }
+ o(n, 'min'), (t.min = n);
+ function i(a) {
+ return a.reduce((s, l) => Math.max(s, l));
+ }
+ o(i, 'max'), (t.max = i);
+ })(Fm || (Fm = {}));
+ });
+ var dT = {};
+ hr(dT, {
+ DefaultNameRegexp: () => fT,
+ RangeComparison: () => Mu,
+ compareRange: () => Mne,
+ findCommentNode: () => _D,
+ findDeclarationNodeAtOffset: () => hMe,
+ findLeafNodeAtOffset: () => LD,
+ findLeafNodeBeforeOffset: () => Ine,
+ flattenCst: () => uMe,
+ getInteriorNodes: () => pMe,
+ getNextNode: () => fMe,
+ getPreviousNode: () => Pne,
+ getStartlineNode: () => dMe,
+ inRange: () => AD,
+ isChildNode: () => SD,
+ isCommentNode: () => CD,
+ streamCst: () => qd,
+ toDocumentSegment: () => Xd,
+ tokenToRange: () => zm
+ });
+ function qd(t) {
+ return new Cc(t, (e) => (co(e) ? e.content : []), { includeRoot: !0 });
+ }
+ function uMe(t) {
+ return qd(t).filter(ef);
+ }
+ function SD(t, e) {
+ for (; t.container; ) if (((t = t.container), t === e)) return !0;
+ return !1;
+ }
+ function zm(t) {
+ return {
+ start: { character: t.startColumn - 1, line: t.startLine - 1 },
+ end: { character: t.endColumn, line: t.endLine - 1 }
+ };
+ }
+ function Xd(t) {
+ if (!t) return;
+ let { offset: e, end: r, range: n } = t;
+ return { range: n, offset: e, end: r, length: r - e };
+ }
+ function Mne(t, e) {
+ if (t.end.line < e.start.line || (t.end.line === e.start.line && t.end.character < t.start.character))
+ return Mu.Before;
+ if (t.start.line > e.end.line || (t.start.line === e.end.line && t.start.character > e.end.character))
+ return Mu.After;
+ let r =
+ t.start.line > e.start.line ||
+ (t.start.line === e.start.line && t.start.character >= e.start.character),
+ n = t.end.line < e.end.line || (t.end.line === e.end.line && t.end.character <= e.end.character);
+ return r && n ? Mu.Inside : r ? Mu.OverlapBack : Mu.OverlapFront;
+ }
+ function AD(t, e) {
+ return Mne(t, e) > Mu.After;
+ }
+ function hMe(t, e, r = fT) {
+ if (t) {
+ if (e > 0) {
+ let n = e - t.offset,
+ i = t.text.charAt(n);
+ r.test(i) || e--;
+ }
+ return LD(t, e);
+ }
+ }
+ function _D(t, e) {
+ if (t) {
+ let r = Pne(t, !0);
+ if (r && CD(r, e)) return r;
+ if (zv(t)) {
+ let n = t.content.findIndex((i) => !i.hidden);
+ for (let i = n - 1; i >= 0; i--) {
+ let a = t.content[i];
+ if (CD(a, e)) return a;
+ }
+ }
+ }
+ }
+ function CD(t, e) {
+ return ef(t) && e.includes(t.tokenType.name);
+ }
+ function LD(t, e) {
+ if (ef(t)) return t;
+ if (co(t)) {
+ let r = One(t, e, !1);
+ if (r) return LD(r, e);
+ }
+ }
+ function Ine(t, e) {
+ if (ef(t)) return t;
+ if (co(t)) {
+ let r = One(t, e, !0);
+ if (r) return Ine(r, e);
+ }
+ }
+ function One(t, e, r) {
+ let n = 0,
+ i = t.content.length - 1,
+ a;
+ for (; n <= i; ) {
+ let s = Math.floor((n + i) / 2),
+ l = t.content[s];
+ if (l.offset <= e && l.end > e) return l;
+ l.end <= e ? ((a = r ? l : void 0), (n = s + 1)) : (i = s - 1);
+ }
+ return a;
+ }
+ function Pne(t, e = !0) {
+ for (; t.container; ) {
+ let r = t.container,
+ n = r.content.indexOf(t);
+ for (; n > 0; ) {
+ n--;
+ let i = r.content[n];
+ if (e || !i.hidden) return i;
+ }
+ t = r;
+ }
+ }
+ function fMe(t, e = !0) {
+ for (; t.container; ) {
+ let r = t.container,
+ n = r.content.indexOf(t),
+ i = r.content.length - 1;
+ for (; n < i; ) {
+ n++;
+ let a = r.content[n];
+ if (e || !a.hidden) return a;
+ }
+ t = r;
+ }
+ }
+ function dMe(t) {
+ if (t.range.start.character === 0) return t;
+ let e = t.range.start.line,
+ r = t,
+ n;
+ for (; t.container; ) {
+ let i = t.container,
+ a = n ?? i.content.indexOf(t);
+ if ((a === 0 ? ((t = i), (n = void 0)) : ((n = a - 1), (t = i.content[n])), t.range.start.line !== e))
+ break;
+ r = t;
+ }
+ return r;
+ }
+ function pMe(t, e) {
+ let r = mMe(t, e);
+ return r ? r.parent.content.slice(r.a + 1, r.b) : [];
+ }
+ function mMe(t, e) {
+ let r = Nne(t),
+ n = Nne(e),
+ i;
+ for (let a = 0; a < r.length && a < n.length; a++) {
+ let s = r[a],
+ l = n[a];
+ if (s.parent === l.parent) i = { parent: s.parent, a: s.index, b: l.index };
+ else break;
+ }
+ return i;
+ }
+ function Nne(t) {
+ let e = [];
+ for (; t.container; ) {
+ let r = t.container,
+ n = r.content.indexOf(t);
+ e.push({ parent: r, index: n }), (t = r);
+ }
+ return e.reverse();
+ }
+ var Mu,
+ fT,
+ Rl = R(() => {
+ 'use strict';
+ Vo();
+ Ds();
+ o(qd, 'streamCst');
+ o(uMe, 'flattenCst');
+ o(SD, 'isChildNode');
+ o(zm, 'tokenToRange');
+ o(Xd, 'toDocumentSegment');
+ (function (t) {
+ (t[(t.Before = 0)] = 'Before'),
+ (t[(t.After = 1)] = 'After'),
+ (t[(t.OverlapFront = 2)] = 'OverlapFront'),
+ (t[(t.OverlapBack = 3)] = 'OverlapBack'),
+ (t[(t.Inside = 4)] = 'Inside');
+ })(Mu || (Mu = {}));
+ o(Mne, 'compareRange');
+ o(AD, 'inRange');
+ fT = /^[\w\p{L}]$/u;
+ o(hMe, 'findDeclarationNodeAtOffset');
+ o(_D, 'findCommentNode');
+ o(CD, 'isCommentNode');
+ o(LD, 'findLeafNodeAtOffset');
+ o(Ine, 'findLeafNodeBeforeOffset');
+ o(One, 'binarySearch');
+ o(Pne, 'getPreviousNode');
+ o(fMe, 'getNextNode');
+ o(dMe, 'getStartlineNode');
+ o(pMe, 'getInteriorNodes');
+ o(mMe, 'getCommonParent');
+ o(Nne, 'getParentChain');
+ });
+ function tf(t) {
+ throw new Error('Error! The input value was not handled.');
+ }
+ var jd,
+ pT = R(() => {
+ 'use strict';
+ jd = class extends Error {
+ static {
+ o(this, 'ErrorWithLocation');
+ }
+ constructor(e, r) {
+ super(e ? `${r} at ${e.range.start.line}:${e.range.start.character}` : r);
+ }
+ };
+ o(tf, 'assertUnreachable');
+ });
+ var Yv = {};
+ hr(Yv, {
+ AbstractElement: () => RD,
+ AbstractRule: () => $v,
+ AbstractType: () => Vv,
+ Action: () => aR,
+ Alternatives: () => sR,
+ ArrayLiteral: () => ND,
+ ArrayType: () => MD,
+ Assignment: () => oR,
+ BooleanLiteral: () => OD,
+ CharacterRange: () => lR,
+ Condition: () => mT,
+ Conjunction: () => BD,
+ CrossReference: () => uR,
+ Disjunction: () => zD,
+ EndOfFile: () => hR,
+ Grammar: () => $D,
+ GrammarImport: () => Fne,
+ Group: () => dR,
+ InferredType: () => VD,
+ Interface: () => UD,
+ Keyword: () => pR,
+ LangiumGrammarAstReflection: () => Gm,
+ LangiumGrammarTerminals: () => gMe,
+ NamedArgument: () => zne,
+ NegatedToken: () => mR,
+ Negation: () => HD,
+ NumberLiteral: () => WD,
+ Parameter: () => qD,
+ ParameterReference: () => XD,
+ ParserRule: () => KD,
+ ReferenceType: () => QD,
+ RegexToken: () => yR,
+ ReturnType: () => Gne,
+ RuleCall: () => xR,
+ SimpleType: () => eR,
+ StringLiteral: () => tR,
+ TerminalAlternatives: () => bR,
+ TerminalGroup: () => TR,
+ TerminalRule: () => yT,
+ TerminalRuleCall: () => ER,
+ Type: () => rR,
+ TypeAttribute: () => $ne,
+ TypeDefinition: () => DD,
+ UnionType: () => nR,
+ UnorderedGroup: () => CR,
+ UntilToken: () => SR,
+ ValueLiteral: () => gT,
+ Wildcard: () => _R,
+ isAbstractElement: () => Uv,
+ isAbstractRule: () => yMe,
+ isAbstractType: () => vMe,
+ isAction: () => Iu,
+ isAlternatives: () => wT,
+ isArrayLiteral: () => kMe,
+ isArrayType: () => ID,
+ isAssignment: () => Nl,
+ isBooleanLiteral: () => PD,
+ isCharacterRange: () => cR,
+ isCondition: () => xMe,
+ isConjunction: () => FD,
+ isCrossReference: () => Kd,
+ isDisjunction: () => GD,
+ isEndOfFile: () => fR,
+ isFeatureName: () => bMe,
+ isGrammar: () => EMe,
+ isGrammarImport: () => CMe,
+ isGroup: () => rf,
+ isInferredType: () => vT,
+ isInterface: () => xT,
+ isKeyword: () => Ho,
+ isNamedArgument: () => SMe,
+ isNegatedToken: () => gR,
+ isNegation: () => YD,
+ isNumberLiteral: () => AMe,
+ isParameter: () => _Me,
+ isParameterReference: () => jD,
+ isParserRule: () => Oa,
+ isPrimitiveType: () => Bne,
+ isReferenceType: () => ZD,
+ isRegexToken: () => vR,
+ isReturnType: () => JD,
+ isRuleCall: () => Ml,
+ isSimpleType: () => bT,
+ isStringLiteral: () => LMe,
+ isTerminalAlternatives: () => wR,
+ isTerminalGroup: () => kR,
+ isTerminalRule: () => Uo,
+ isTerminalRuleCall: () => TT,
+ isType: () => Hv,
+ isTypeAttribute: () => DMe,
+ isTypeDefinition: () => wMe,
+ isUnionType: () => iR,
+ isUnorderedGroup: () => kT,
+ isUntilToken: () => AR,
+ isValueLiteral: () => TMe,
+ isWildcard: () => LR,
+ reflection: () => Kt
+ });
+ function yMe(t) {
+ return Kt.isInstance(t, $v);
+ }
+ function vMe(t) {
+ return Kt.isInstance(t, Vv);
+ }
+ function xMe(t) {
+ return Kt.isInstance(t, mT);
+ }
+ function bMe(t) {
+ return (
+ Bne(t) ||
+ t === 'current' ||
+ t === 'entry' ||
+ t === 'extends' ||
+ t === 'false' ||
+ t === 'fragment' ||
+ t === 'grammar' ||
+ t === 'hidden' ||
+ t === 'import' ||
+ t === 'interface' ||
+ t === 'returns' ||
+ t === 'terminal' ||
+ t === 'true' ||
+ t === 'type' ||
+ t === 'infer' ||
+ t === 'infers' ||
+ t === 'with' ||
+ (typeof t == 'string' && /\^?[_a-zA-Z][\w_]*/.test(t))
+ );
+ }
+ function Bne(t) {
+ return t === 'string' || t === 'number' || t === 'boolean' || t === 'Date' || t === 'bigint';
+ }
+ function wMe(t) {
+ return Kt.isInstance(t, DD);
+ }
+ function TMe(t) {
+ return Kt.isInstance(t, gT);
+ }
+ function Uv(t) {
+ return Kt.isInstance(t, RD);
+ }
+ function kMe(t) {
+ return Kt.isInstance(t, ND);
+ }
+ function ID(t) {
+ return Kt.isInstance(t, MD);
+ }
+ function PD(t) {
+ return Kt.isInstance(t, OD);
+ }
+ function FD(t) {
+ return Kt.isInstance(t, BD);
+ }
+ function GD(t) {
+ return Kt.isInstance(t, zD);
+ }
+ function EMe(t) {
+ return Kt.isInstance(t, $D);
+ }
+ function CMe(t) {
+ return Kt.isInstance(t, Fne);
+ }
+ function vT(t) {
+ return Kt.isInstance(t, VD);
+ }
+ function xT(t) {
+ return Kt.isInstance(t, UD);
+ }
+ function SMe(t) {
+ return Kt.isInstance(t, zne);
+ }
+ function YD(t) {
+ return Kt.isInstance(t, HD);
+ }
+ function AMe(t) {
+ return Kt.isInstance(t, WD);
+ }
+ function _Me(t) {
+ return Kt.isInstance(t, qD);
+ }
+ function jD(t) {
+ return Kt.isInstance(t, XD);
+ }
+ function Oa(t) {
+ return Kt.isInstance(t, KD);
+ }
+ function ZD(t) {
+ return Kt.isInstance(t, QD);
+ }
+ function JD(t) {
+ return Kt.isInstance(t, Gne);
+ }
+ function bT(t) {
+ return Kt.isInstance(t, eR);
+ }
+ function LMe(t) {
+ return Kt.isInstance(t, tR);
+ }
+ function Uo(t) {
+ return Kt.isInstance(t, yT);
+ }
+ function Hv(t) {
+ return Kt.isInstance(t, rR);
+ }
+ function DMe(t) {
+ return Kt.isInstance(t, $ne);
+ }
+ function iR(t) {
+ return Kt.isInstance(t, nR);
+ }
+ function Iu(t) {
+ return Kt.isInstance(t, aR);
+ }
+ function wT(t) {
+ return Kt.isInstance(t, sR);
+ }
+ function Nl(t) {
+ return Kt.isInstance(t, oR);
+ }
+ function cR(t) {
+ return Kt.isInstance(t, lR);
+ }
+ function Kd(t) {
+ return Kt.isInstance(t, uR);
+ }
+ function fR(t) {
+ return Kt.isInstance(t, hR);
+ }
+ function rf(t) {
+ return Kt.isInstance(t, dR);
+ }
+ function Ho(t) {
+ return Kt.isInstance(t, pR);
+ }
+ function gR(t) {
+ return Kt.isInstance(t, mR);
+ }
+ function vR(t) {
+ return Kt.isInstance(t, yR);
+ }
+ function Ml(t) {
+ return Kt.isInstance(t, xR);
+ }
+ function wR(t) {
+ return Kt.isInstance(t, bR);
+ }
+ function kR(t) {
+ return Kt.isInstance(t, TR);
+ }
+ function TT(t) {
+ return Kt.isInstance(t, ER);
+ }
+ function kT(t) {
+ return Kt.isInstance(t, CR);
+ }
+ function AR(t) {
+ return Kt.isInstance(t, SR);
+ }
+ function LR(t) {
+ return Kt.isInstance(t, _R);
+ }
+ var gMe,
+ $v,
+ Vv,
+ mT,
+ DD,
+ gT,
+ RD,
+ ND,
+ MD,
+ OD,
+ BD,
+ zD,
+ $D,
+ Fne,
+ VD,
+ UD,
+ zne,
+ HD,
+ WD,
+ qD,
+ XD,
+ KD,
+ QD,
+ Gne,
+ eR,
+ tR,
+ yT,
+ rR,
+ $ne,
+ nR,
+ aR,
+ sR,
+ oR,
+ lR,
+ uR,
+ hR,
+ dR,
+ pR,
+ mR,
+ yR,
+ xR,
+ bR,
+ TR,
+ ER,
+ CR,
+ SR,
+ _R,
+ Gm,
+ Kt,
+ Sc = R(() => {
+ 'use strict';
+ Vo();
+ (gMe = {
+ ID: /\^?[_a-zA-Z][\w_]*/,
+ STRING: /"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,
+ NUMBER: /NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,
+ RegexLiteral: /\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,
+ WS: /\s+/,
+ ML_COMMENT: /\/\*[\s\S]*?\*\//,
+ SL_COMMENT: /\/\/[^\n\r]*/
+ }),
+ ($v = 'AbstractRule');
+ o(yMe, 'isAbstractRule');
+ Vv = 'AbstractType';
+ o(vMe, 'isAbstractType');
+ mT = 'Condition';
+ o(xMe, 'isCondition');
+ o(bMe, 'isFeatureName');
+ o(Bne, 'isPrimitiveType');
+ DD = 'TypeDefinition';
+ o(wMe, 'isTypeDefinition');
+ gT = 'ValueLiteral';
+ o(TMe, 'isValueLiteral');
+ RD = 'AbstractElement';
+ o(Uv, 'isAbstractElement');
+ ND = 'ArrayLiteral';
+ o(kMe, 'isArrayLiteral');
+ MD = 'ArrayType';
+ o(ID, 'isArrayType');
+ OD = 'BooleanLiteral';
+ o(PD, 'isBooleanLiteral');
+ BD = 'Conjunction';
+ o(FD, 'isConjunction');
+ zD = 'Disjunction';
+ o(GD, 'isDisjunction');
+ $D = 'Grammar';
+ o(EMe, 'isGrammar');
+ Fne = 'GrammarImport';
+ o(CMe, 'isGrammarImport');
+ VD = 'InferredType';
+ o(vT, 'isInferredType');
+ UD = 'Interface';
+ o(xT, 'isInterface');
+ zne = 'NamedArgument';
+ o(SMe, 'isNamedArgument');
+ HD = 'Negation';
+ o(YD, 'isNegation');
+ WD = 'NumberLiteral';
+ o(AMe, 'isNumberLiteral');
+ qD = 'Parameter';
+ o(_Me, 'isParameter');
+ XD = 'ParameterReference';
+ o(jD, 'isParameterReference');
+ KD = 'ParserRule';
+ o(Oa, 'isParserRule');
+ QD = 'ReferenceType';
+ o(ZD, 'isReferenceType');
+ Gne = 'ReturnType';
+ o(JD, 'isReturnType');
+ eR = 'SimpleType';
+ o(bT, 'isSimpleType');
+ tR = 'StringLiteral';
+ o(LMe, 'isStringLiteral');
+ yT = 'TerminalRule';
+ o(Uo, 'isTerminalRule');
+ rR = 'Type';
+ o(Hv, 'isType');
+ $ne = 'TypeAttribute';
+ o(DMe, 'isTypeAttribute');
+ nR = 'UnionType';
+ o(iR, 'isUnionType');
+ aR = 'Action';
+ o(Iu, 'isAction');
+ sR = 'Alternatives';
+ o(wT, 'isAlternatives');
+ oR = 'Assignment';
+ o(Nl, 'isAssignment');
+ lR = 'CharacterRange';
+ o(cR, 'isCharacterRange');
+ uR = 'CrossReference';
+ o(Kd, 'isCrossReference');
+ hR = 'EndOfFile';
+ o(fR, 'isEndOfFile');
+ dR = 'Group';
+ o(rf, 'isGroup');
+ pR = 'Keyword';
+ o(Ho, 'isKeyword');
+ mR = 'NegatedToken';
+ o(gR, 'isNegatedToken');
+ yR = 'RegexToken';
+ o(vR, 'isRegexToken');
+ xR = 'RuleCall';
+ o(Ml, 'isRuleCall');
+ bR = 'TerminalAlternatives';
+ o(wR, 'isTerminalAlternatives');
+ TR = 'TerminalGroup';
+ o(kR, 'isTerminalGroup');
+ ER = 'TerminalRuleCall';
+ o(TT, 'isTerminalRuleCall');
+ CR = 'UnorderedGroup';
+ o(kT, 'isUnorderedGroup');
+ SR = 'UntilToken';
+ o(AR, 'isUntilToken');
+ _R = 'Wildcard';
+ o(LR, 'isWildcard');
+ (Gm = class extends Yd {
+ static {
+ o(this, 'LangiumGrammarAstReflection');
+ }
+ getAllTypes() {
+ return [
+ 'AbstractElement',
+ 'AbstractRule',
+ 'AbstractType',
+ 'Action',
+ 'Alternatives',
+ 'ArrayLiteral',
+ 'ArrayType',
+ 'Assignment',
+ 'BooleanLiteral',
+ 'CharacterRange',
+ 'Condition',
+ 'Conjunction',
+ 'CrossReference',
+ 'Disjunction',
+ 'EndOfFile',
+ 'Grammar',
+ 'GrammarImport',
+ 'Group',
+ 'InferredType',
+ 'Interface',
+ 'Keyword',
+ 'NamedArgument',
+ 'NegatedToken',
+ 'Negation',
+ 'NumberLiteral',
+ 'Parameter',
+ 'ParameterReference',
+ 'ParserRule',
+ 'ReferenceType',
+ 'RegexToken',
+ 'ReturnType',
+ 'RuleCall',
+ 'SimpleType',
+ 'StringLiteral',
+ 'TerminalAlternatives',
+ 'TerminalGroup',
+ 'TerminalRule',
+ 'TerminalRuleCall',
+ 'Type',
+ 'TypeAttribute',
+ 'TypeDefinition',
+ 'UnionType',
+ 'UnorderedGroup',
+ 'UntilToken',
+ 'ValueLiteral',
+ 'Wildcard'
+ ];
+ }
+ computeIsSubtype(e, r) {
+ switch (e) {
+ case aR:
+ case sR:
+ case oR:
+ case lR:
+ case uR:
+ case hR:
+ case dR:
+ case pR:
+ case mR:
+ case yR:
+ case xR:
+ case bR:
+ case TR:
+ case ER:
+ case CR:
+ case SR:
+ case _R:
+ return this.isSubtype(RD, r);
+ case ND:
+ case WD:
+ case tR:
+ return this.isSubtype(gT, r);
+ case MD:
+ case QD:
+ case eR:
+ case nR:
+ return this.isSubtype(DD, r);
+ case OD:
+ return this.isSubtype(mT, r) || this.isSubtype(gT, r);
+ case BD:
+ case zD:
+ case HD:
+ case XD:
+ return this.isSubtype(mT, r);
+ case VD:
+ case UD:
+ case rR:
+ return this.isSubtype(Vv, r);
+ case KD:
+ return this.isSubtype($v, r) || this.isSubtype(Vv, r);
+ case yT:
+ return this.isSubtype($v, r);
+ default:
+ return !1;
+ }
+ }
+ getReferenceType(e) {
+ let r = `${e.container.$type}:${e.property}`;
+ switch (r) {
+ case 'Action:type':
+ case 'CrossReference:type':
+ case 'Interface:superTypes':
+ case 'ParserRule:returnType':
+ case 'SimpleType:typeRef':
+ return Vv;
+ case 'Grammar:hiddenTokens':
+ case 'ParserRule:hiddenTokens':
+ case 'RuleCall:rule':
+ return $v;
+ case 'Grammar:usedGrammars':
+ return $D;
+ case 'NamedArgument:parameter':
+ case 'ParameterReference:parameter':
+ return qD;
+ case 'TerminalRuleCall:rule':
+ return yT;
+ default:
+ throw new Error(`${r} is not a valid reference id.`);
+ }
+ }
+ getTypeMetaData(e) {
+ switch (e) {
+ case 'AbstractElement':
+ return {
+ name: 'AbstractElement',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }]
+ };
+ case 'ArrayLiteral':
+ return {
+ name: 'ArrayLiteral',
+ properties: [{ name: 'elements', defaultValue: [] }]
+ };
+ case 'ArrayType':
+ return {
+ name: 'ArrayType',
+ properties: [{ name: 'elementType' }]
+ };
+ case 'BooleanLiteral':
+ return {
+ name: 'BooleanLiteral',
+ properties: [{ name: 'true', defaultValue: !1 }]
+ };
+ case 'Conjunction':
+ return {
+ name: 'Conjunction',
+ properties: [{ name: 'left' }, { name: 'right' }]
+ };
+ case 'Disjunction':
+ return {
+ name: 'Disjunction',
+ properties: [{ name: 'left' }, { name: 'right' }]
+ };
+ case 'Grammar':
+ return {
+ name: 'Grammar',
+ properties: [
+ { name: 'definesHiddenTokens', defaultValue: !1 },
+ { name: 'hiddenTokens', defaultValue: [] },
+ { name: 'imports', defaultValue: [] },
+ { name: 'interfaces', defaultValue: [] },
+ { name: 'isDeclared', defaultValue: !1 },
+ { name: 'name' },
+ { name: 'rules', defaultValue: [] },
+ { name: 'types', defaultValue: [] },
+ { name: 'usedGrammars', defaultValue: [] }
+ ]
+ };
+ case 'GrammarImport':
+ return { name: 'GrammarImport', properties: [{ name: 'path' }] };
+ case 'InferredType':
+ return { name: 'InferredType', properties: [{ name: 'name' }] };
+ case 'Interface':
+ return {
+ name: 'Interface',
+ properties: [
+ { name: 'attributes', defaultValue: [] },
+ { name: 'name' },
+ { name: 'superTypes', defaultValue: [] }
+ ]
+ };
+ case 'NamedArgument':
+ return {
+ name: 'NamedArgument',
+ properties: [
+ { name: 'calledByName', defaultValue: !1 },
+ { name: 'parameter' },
+ { name: 'value' }
+ ]
+ };
+ case 'Negation':
+ return { name: 'Negation', properties: [{ name: 'value' }] };
+ case 'NumberLiteral':
+ return { name: 'NumberLiteral', properties: [{ name: 'value' }] };
+ case 'Parameter':
+ return { name: 'Parameter', properties: [{ name: 'name' }] };
+ case 'ParameterReference':
+ return {
+ name: 'ParameterReference',
+ properties: [{ name: 'parameter' }]
+ };
+ case 'ParserRule':
+ return {
+ name: 'ParserRule',
+ properties: [
+ { name: 'dataType' },
+ { name: 'definesHiddenTokens', defaultValue: !1 },
+ { name: 'definition' },
+ { name: 'entry', defaultValue: !1 },
+ { name: 'fragment', defaultValue: !1 },
+ { name: 'hiddenTokens', defaultValue: [] },
+ { name: 'inferredType' },
+ { name: 'name' },
+ { name: 'parameters', defaultValue: [] },
+ { name: 'returnType' },
+ { name: 'wildcard', defaultValue: !1 }
+ ]
+ };
+ case 'ReferenceType':
+ return {
+ name: 'ReferenceType',
+ properties: [{ name: 'referenceType' }]
+ };
+ case 'ReturnType':
+ return { name: 'ReturnType', properties: [{ name: 'name' }] };
+ case 'SimpleType':
+ return {
+ name: 'SimpleType',
+ properties: [{ name: 'primitiveType' }, { name: 'stringType' }, { name: 'typeRef' }]
+ };
+ case 'StringLiteral':
+ return { name: 'StringLiteral', properties: [{ name: 'value' }] };
+ case 'TerminalRule':
+ return {
+ name: 'TerminalRule',
+ properties: [
+ { name: 'definition' },
+ { name: 'fragment', defaultValue: !1 },
+ { name: 'hidden', defaultValue: !1 },
+ { name: 'name' },
+ { name: 'type' }
+ ]
+ };
+ case 'Type':
+ return {
+ name: 'Type',
+ properties: [{ name: 'name' }, { name: 'type' }]
+ };
+ case 'TypeAttribute':
+ return {
+ name: 'TypeAttribute',
+ properties: [
+ { name: 'defaultValue' },
+ { name: 'isOptional', defaultValue: !1 },
+ { name: 'name' },
+ { name: 'type' }
+ ]
+ };
+ case 'UnionType':
+ return {
+ name: 'UnionType',
+ properties: [{ name: 'types', defaultValue: [] }]
+ };
+ case 'Action':
+ return {
+ name: 'Action',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'feature' },
+ { name: 'inferredType' },
+ { name: 'lookahead' },
+ { name: 'operator' },
+ { name: 'type' }
+ ]
+ };
+ case 'Alternatives':
+ return {
+ name: 'Alternatives',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'elements', defaultValue: [] },
+ { name: 'lookahead' }
+ ]
+ };
+ case 'Assignment':
+ return {
+ name: 'Assignment',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'feature' },
+ { name: 'lookahead' },
+ { name: 'operator' },
+ { name: 'terminal' }
+ ]
+ };
+ case 'CharacterRange':
+ return {
+ name: 'CharacterRange',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'left' },
+ { name: 'lookahead' },
+ { name: 'right' }
+ ]
+ };
+ case 'CrossReference':
+ return {
+ name: 'CrossReference',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'deprecatedSyntax', defaultValue: !1 },
+ { name: 'lookahead' },
+ { name: 'terminal' },
+ { name: 'type' }
+ ]
+ };
+ case 'EndOfFile':
+ return {
+ name: 'EndOfFile',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }]
+ };
+ case 'Group':
+ return {
+ name: 'Group',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'elements', defaultValue: [] },
+ { name: 'guardCondition' },
+ { name: 'lookahead' }
+ ]
+ };
+ case 'Keyword':
+ return {
+ name: 'Keyword',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'value' }]
+ };
+ case 'NegatedToken':
+ return {
+ name: 'NegatedToken',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'terminal' }]
+ };
+ case 'RegexToken':
+ return {
+ name: 'RegexToken',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'regex' }]
+ };
+ case 'RuleCall':
+ return {
+ name: 'RuleCall',
+ properties: [
+ { name: 'arguments', defaultValue: [] },
+ { name: 'cardinality' },
+ { name: 'lookahead' },
+ { name: 'rule' }
+ ]
+ };
+ case 'TerminalAlternatives':
+ return {
+ name: 'TerminalAlternatives',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'elements', defaultValue: [] },
+ { name: 'lookahead' }
+ ]
+ };
+ case 'TerminalGroup':
+ return {
+ name: 'TerminalGroup',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'elements', defaultValue: [] },
+ { name: 'lookahead' }
+ ]
+ };
+ case 'TerminalRuleCall':
+ return {
+ name: 'TerminalRuleCall',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'rule' }]
+ };
+ case 'UnorderedGroup':
+ return {
+ name: 'UnorderedGroup',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'elements', defaultValue: [] },
+ { name: 'lookahead' }
+ ]
+ };
+ case 'UntilToken':
+ return {
+ name: 'UntilToken',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'terminal' }]
+ };
+ case 'Wildcard':
+ return {
+ name: 'Wildcard',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }]
+ };
+ default:
+ return { name: e, properties: [] };
+ }
+ }
+ }),
+ (Kt = new Gm());
+ });
+ var CT = {};
+ hr(CT, {
+ assignMandatoryProperties: () => NR,
+ copyAstNode: () => RR,
+ findLocalReferences: () => NMe,
+ findRootNode: () => Vne,
+ getContainerOfType: () => Qd,
+ getDocument: () => Oi,
+ hasContainerOfType: () => RMe,
+ linkContentToContainer: () => ET,
+ streamAllContents: () => Ac,
+ streamAst: () => Yo,
+ streamContents: () => Wv,
+ streamReferences: () => $m
+ });
+ function ET(t) {
+ for (let [e, r] of Object.entries(t))
+ e.startsWith('$') ||
+ (Array.isArray(r)
+ ? r.forEach((n, i) => {
+ Xn(n) && ((n.$container = t), (n.$containerProperty = e), (n.$containerIndex = i));
+ })
+ : Xn(r) && ((r.$container = t), (r.$containerProperty = e)));
+ }
+ function Qd(t, e) {
+ let r = t;
+ for (; r; ) {
+ if (e(r)) return r;
+ r = r.$container;
+ }
+ }
+ function RMe(t, e) {
+ let r = t;
+ for (; r; ) {
+ if (e(r)) return !0;
+ r = r.$container;
+ }
+ return !1;
+ }
+ function Oi(t) {
+ let r = Vne(t).$document;
+ if (!r) throw new Error('AST node has no document.');
+ return r;
+ }
+ function Vne(t) {
+ for (; t.$container; ) t = t.$container;
+ return t;
+ }
+ function Wv(t, e) {
+ if (!t) throw new Error('Node must be an AstNode.');
+ let r = e?.range;
+ return new uo(
+ () => ({ keys: Object.keys(t), keyIndex: 0, arrayIndex: 0 }),
+ (n) => {
+ for (; n.keyIndex < n.keys.length; ) {
+ let i = n.keys[n.keyIndex];
+ if (!i.startsWith('$')) {
+ let a = t[i];
+ if (Xn(a)) {
+ if ((n.keyIndex++, DR(a, r))) return { done: !1, value: a };
+ } else if (Array.isArray(a)) {
+ for (; n.arrayIndex < a.length; ) {
+ let s = n.arrayIndex++,
+ l = a[s];
+ if (Xn(l) && DR(l, r)) return { done: !1, value: l };
+ }
+ n.arrayIndex = 0;
+ }
+ }
+ n.keyIndex++;
+ }
+ return Ja;
+ }
+ );
+ }
+ function Ac(t, e) {
+ if (!t) throw new Error('Root node must be an AstNode.');
+ return new Cc(t, (r) => Wv(r, e));
+ }
+ function Yo(t, e) {
+ if (t) {
+ if (e?.range && !DR(t, e.range)) return new Cc(t, () => []);
+ } else throw new Error('Root node must be an AstNode.');
+ return new Cc(t, (r) => Wv(r, e), { includeRoot: !0 });
+ }
+ function DR(t, e) {
+ var r;
+ if (!e) return !0;
+ let n = (r = t.$cstNode) === null || r === void 0 ? void 0 : r.range;
+ return n ? AD(n, e) : !1;
+ }
+ function $m(t) {
+ return new uo(
+ () => ({ keys: Object.keys(t), keyIndex: 0, arrayIndex: 0 }),
+ (e) => {
+ for (; e.keyIndex < e.keys.length; ) {
+ let r = e.keys[e.keyIndex];
+ if (!r.startsWith('$')) {
+ let n = t[r];
+ if (xa(n))
+ return e.keyIndex++, { done: !1, value: { reference: n, container: t, property: r } };
+ if (Array.isArray(n)) {
+ for (; e.arrayIndex < n.length; ) {
+ let i = e.arrayIndex++,
+ a = n[i];
+ if (xa(a))
+ return {
+ done: !1,
+ value: {
+ reference: a,
+ container: t,
+ property: r,
+ index: i
+ }
+ };
+ }
+ e.arrayIndex = 0;
+ }
+ }
+ e.keyIndex++;
+ }
+ return Ja;
+ }
+ );
+ }
+ function NMe(t, e = Oi(t).parseResult.value) {
+ let r = [];
+ return (
+ Yo(e).forEach((n) => {
+ $m(n).forEach((i) => {
+ i.reference.ref === t && r.push(i.reference);
+ });
+ }),
+ Kr(r)
+ );
+ }
+ function NR(t, e) {
+ let r = t.getTypeMetaData(e.$type),
+ n = e;
+ for (let i of r.properties)
+ i.defaultValue !== void 0 && n[i.name] === void 0 && (n[i.name] = Une(i.defaultValue));
+ }
+ function Une(t) {
+ return Array.isArray(t) ? [...t.map(Une)] : t;
+ }
+ function RR(t, e) {
+ let r = { $type: t.$type };
+ for (let [n, i] of Object.entries(t))
+ if (!n.startsWith('$'))
+ if (Xn(i)) r[n] = RR(i, e);
+ else if (xa(i)) r[n] = e(r, n, i.$refNode, i.$refText);
+ else if (Array.isArray(i)) {
+ let a = [];
+ for (let s of i)
+ Xn(s) ? a.push(RR(s, e)) : xa(s) ? a.push(e(r, n, s.$refNode, s.$refText)) : a.push(s);
+ r[n] = a;
+ } else r[n] = i;
+ return ET(r), r;
+ }
+ var es = R(() => {
+ 'use strict';
+ Vo();
+ Ds();
+ Rl();
+ o(ET, 'linkContentToContainer');
+ o(Qd, 'getContainerOfType');
+ o(RMe, 'hasContainerOfType');
+ o(Oi, 'getDocument');
+ o(Vne, 'findRootNode');
+ o(Wv, 'streamContents');
+ o(Ac, 'streamAllContents');
+ o(Yo, 'streamAst');
+ o(DR, 'isAstNodeInRange');
+ o($m, 'streamReferences');
+ o(NMe, 'findLocalReferences');
+ o(NR, 'assignMandatoryProperties');
+ o(Une, 'copyDefaultValue');
+ o(RR, 'copyAstNode');
+ });
+ function qt(t) {
+ return t.charCodeAt(0);
+ }
+ function ST(t, e) {
+ Array.isArray(t)
+ ? t.forEach(function (r) {
+ e.push(r);
+ })
+ : e.push(t);
+ }
+ function Vm(t, e) {
+ if (t[e] === !0) throw 'duplicate flag ' + e;
+ let r = t[e];
+ t[e] = !0;
+ }
+ function Zd(t) {
+ if (t === void 0) throw Error('Internal Error - Should never get here!');
+ return !0;
+ }
+ function qv() {
+ throw Error('Internal Error - Should never get here!');
+ }
+ function MR(t) {
+ return t.type === 'Character';
+ }
+ var IR = R(() => {
+ 'use strict';
+ o(qt, 'cc');
+ o(ST, 'insertToSet');
+ o(Vm, 'addFlag');
+ o(Zd, 'ASSERT_EXISTS');
+ o(qv, 'ASSERT_NEVER_REACH_HERE');
+ o(MR, 'isCharacter');
+ });
+ var Xv,
+ jv,
+ OR,
+ Hne = R(() => {
+ 'use strict';
+ IR();
+ Xv = [];
+ for (let t = qt('0'); t <= qt('9'); t++) Xv.push(t);
+ jv = [qt('_')].concat(Xv);
+ for (let t = qt('a'); t <= qt('z'); t++) jv.push(t);
+ for (let t = qt('A'); t <= qt('Z'); t++) jv.push(t);
+ OR = [
+ qt(' '),
+ qt('\f'),
+ qt(`
+`),
+ qt('\r'),
+ qt(' '),
+ qt('\v'),
+ qt(' '),
+ qt('\xA0'),
+ qt('\u1680'),
+ qt('\u2000'),
+ qt('\u2001'),
+ qt('\u2002'),
+ qt('\u2003'),
+ qt('\u2004'),
+ qt('\u2005'),
+ qt('\u2006'),
+ qt('\u2007'),
+ qt('\u2008'),
+ qt('\u2009'),
+ qt('\u200A'),
+ qt('\u2028'),
+ qt('\u2029'),
+ qt('\u202F'),
+ qt('\u205F'),
+ qt('\u3000'),
+ qt('\uFEFF')
+ ];
+ });
+ var MMe,
+ AT,
+ IMe,
+ Jd,
+ Yne = R(() => {
+ 'use strict';
+ IR();
+ Hne();
+ (MMe = /[0-9a-fA-F]/),
+ (AT = /[0-9]/),
+ (IMe = /[1-9]/),
+ (Jd = class {
+ static {
+ o(this, 'RegExpParser');
+ }
+ constructor() {
+ (this.idx = 0), (this.input = ''), (this.groupIdx = 0);
+ }
+ saveState() {
+ return {
+ idx: this.idx,
+ input: this.input,
+ groupIdx: this.groupIdx
+ };
+ }
+ restoreState(e) {
+ (this.idx = e.idx), (this.input = e.input), (this.groupIdx = e.groupIdx);
+ }
+ pattern(e) {
+ (this.idx = 0), (this.input = e), (this.groupIdx = 0), this.consumeChar('/');
+ let r = this.disjunction();
+ this.consumeChar('/');
+ let n = {
+ type: 'Flags',
+ loc: { begin: this.idx, end: e.length },
+ global: !1,
+ ignoreCase: !1,
+ multiLine: !1,
+ unicode: !1,
+ sticky: !1
+ };
+ for (; this.isRegExpFlag(); )
+ switch (this.popChar()) {
+ case 'g':
+ Vm(n, 'global');
+ break;
+ case 'i':
+ Vm(n, 'ignoreCase');
+ break;
+ case 'm':
+ Vm(n, 'multiLine');
+ break;
+ case 'u':
+ Vm(n, 'unicode');
+ break;
+ case 'y':
+ Vm(n, 'sticky');
+ break;
+ }
+ if (this.idx !== this.input.length)
+ throw Error('Redundant input: ' + this.input.substring(this.idx));
+ return { type: 'Pattern', flags: n, value: r, loc: this.loc(0) };
+ }
+ disjunction() {
+ let e = [],
+ r = this.idx;
+ for (e.push(this.alternative()); this.peekChar() === '|'; )
+ this.consumeChar('|'), e.push(this.alternative());
+ return { type: 'Disjunction', value: e, loc: this.loc(r) };
+ }
+ alternative() {
+ let e = [],
+ r = this.idx;
+ for (; this.isTerm(); ) e.push(this.term());
+ return { type: 'Alternative', value: e, loc: this.loc(r) };
+ }
+ term() {
+ return this.isAssertion() ? this.assertion() : this.atom();
+ }
+ assertion() {
+ let e = this.idx;
+ switch (this.popChar()) {
+ case '^':
+ return { type: 'StartAnchor', loc: this.loc(e) };
+ case '$':
+ return { type: 'EndAnchor', loc: this.loc(e) };
+ case '\\':
+ switch (this.popChar()) {
+ case 'b':
+ return { type: 'WordBoundary', loc: this.loc(e) };
+ case 'B':
+ return { type: 'NonWordBoundary', loc: this.loc(e) };
+ }
+ throw Error('Invalid Assertion Escape');
+ case '(':
+ this.consumeChar('?');
+ let r;
+ switch (this.popChar()) {
+ case '=':
+ r = 'Lookahead';
+ break;
+ case '!':
+ r = 'NegativeLookahead';
+ break;
+ }
+ Zd(r);
+ let n = this.disjunction();
+ return this.consumeChar(')'), { type: r, value: n, loc: this.loc(e) };
+ }
+ return qv();
+ }
+ quantifier(e = !1) {
+ let r,
+ n = this.idx;
+ switch (this.popChar()) {
+ case '*':
+ r = { atLeast: 0, atMost: 1 / 0 };
+ break;
+ case '+':
+ r = { atLeast: 1, atMost: 1 / 0 };
+ break;
+ case '?':
+ r = { atLeast: 0, atMost: 1 };
+ break;
+ case '{':
+ let i = this.integerIncludingZero();
+ switch (this.popChar()) {
+ case '}':
+ r = { atLeast: i, atMost: i };
+ break;
+ case ',':
+ let a;
+ this.isDigit()
+ ? ((a = this.integerIncludingZero()), (r = { atLeast: i, atMost: a }))
+ : (r = { atLeast: i, atMost: 1 / 0 }),
+ this.consumeChar('}');
+ break;
+ }
+ if (e === !0 && r === void 0) return;
+ Zd(r);
+ break;
+ }
+ if (!(e === !0 && r === void 0) && Zd(r))
+ return (
+ this.peekChar(0) === '?' ? (this.consumeChar('?'), (r.greedy = !1)) : (r.greedy = !0),
+ (r.type = 'Quantifier'),
+ (r.loc = this.loc(n)),
+ r
+ );
+ }
+ atom() {
+ let e,
+ r = this.idx;
+ switch (this.peekChar()) {
+ case '.':
+ e = this.dotAll();
+ break;
+ case '\\':
+ e = this.atomEscape();
+ break;
+ case '[':
+ e = this.characterClass();
+ break;
+ case '(':
+ e = this.group();
+ break;
+ }
+ return (
+ e === void 0 && this.isPatternCharacter() && (e = this.patternCharacter()),
+ Zd(e)
+ ? ((e.loc = this.loc(r)), this.isQuantifier() && (e.quantifier = this.quantifier()), e)
+ : qv()
+ );
+ }
+ dotAll() {
+ return (
+ this.consumeChar('.'),
+ {
+ type: 'Set',
+ complement: !0,
+ value: [
+ qt(`
+`),
+ qt('\r'),
+ qt('\u2028'),
+ qt('\u2029')
+ ]
+ }
+ );
+ }
+ atomEscape() {
+ switch ((this.consumeChar('\\'), this.peekChar())) {
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ return this.decimalEscapeAtom();
+ case 'd':
+ case 'D':
+ case 's':
+ case 'S':
+ case 'w':
+ case 'W':
+ return this.characterClassEscape();
+ case 'f':
+ case 'n':
+ case 'r':
+ case 't':
+ case 'v':
+ return this.controlEscapeAtom();
+ case 'c':
+ return this.controlLetterEscapeAtom();
+ case '0':
+ return this.nulCharacterAtom();
+ case 'x':
+ return this.hexEscapeSequenceAtom();
+ case 'u':
+ return this.regExpUnicodeEscapeSequenceAtom();
+ default:
+ return this.identityEscapeAtom();
+ }
+ }
+ decimalEscapeAtom() {
+ return {
+ type: 'GroupBackReference',
+ value: this.positiveInteger()
+ };
+ }
+ characterClassEscape() {
+ let e,
+ r = !1;
+ switch (this.popChar()) {
+ case 'd':
+ e = Xv;
+ break;
+ case 'D':
+ (e = Xv), (r = !0);
+ break;
+ case 's':
+ e = OR;
+ break;
+ case 'S':
+ (e = OR), (r = !0);
+ break;
+ case 'w':
+ e = jv;
+ break;
+ case 'W':
+ (e = jv), (r = !0);
+ break;
+ }
+ return Zd(e) ? { type: 'Set', value: e, complement: r } : qv();
+ }
+ controlEscapeAtom() {
+ let e;
+ switch (this.popChar()) {
+ case 'f':
+ e = qt('\f');
+ break;
+ case 'n':
+ e = qt(`
+`);
+ break;
+ case 'r':
+ e = qt('\r');
+ break;
+ case 't':
+ e = qt(' ');
+ break;
+ case 'v':
+ e = qt('\v');
+ break;
+ }
+ return Zd(e) ? { type: 'Character', value: e } : qv();
+ }
+ controlLetterEscapeAtom() {
+ this.consumeChar('c');
+ let e = this.popChar();
+ if (/[a-zA-Z]/.test(e) === !1) throw Error('Invalid ');
+ return {
+ type: 'Character',
+ value: e.toUpperCase().charCodeAt(0) - 64
+ };
+ }
+ nulCharacterAtom() {
+ return this.consumeChar('0'), { type: 'Character', value: qt('\0') };
+ }
+ hexEscapeSequenceAtom() {
+ return this.consumeChar('x'), this.parseHexDigits(2);
+ }
+ regExpUnicodeEscapeSequenceAtom() {
+ return this.consumeChar('u'), this.parseHexDigits(4);
+ }
+ identityEscapeAtom() {
+ let e = this.popChar();
+ return { type: 'Character', value: qt(e) };
+ }
+ classPatternCharacterAtom() {
+ switch (this.peekChar()) {
+ case `
+`:
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ case '\\':
+ case ']':
+ throw Error('TBD');
+ default:
+ let e = this.popChar();
+ return { type: 'Character', value: qt(e) };
+ }
+ }
+ characterClass() {
+ let e = [],
+ r = !1;
+ for (
+ this.consumeChar('['), this.peekChar(0) === '^' && (this.consumeChar('^'), (r = !0));
+ this.isClassAtom();
+
+ ) {
+ let n = this.classAtom(),
+ i = n.type === 'Character';
+ if (MR(n) && this.isRangeDash()) {
+ this.consumeChar('-');
+ let a = this.classAtom(),
+ s = a.type === 'Character';
+ if (MR(a)) {
+ if (a.value < n.value) throw Error('Range out of order in character class');
+ e.push({ from: n.value, to: a.value });
+ } else ST(n.value, e), e.push(qt('-')), ST(a.value, e);
+ } else ST(n.value, e);
+ }
+ return this.consumeChar(']'), { type: 'Set', complement: r, value: e };
+ }
+ classAtom() {
+ switch (this.peekChar()) {
+ case ']':
+ case `
+`:
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ throw Error('TBD');
+ case '\\':
+ return this.classEscape();
+ default:
+ return this.classPatternCharacterAtom();
+ }
+ }
+ classEscape() {
+ switch ((this.consumeChar('\\'), this.peekChar())) {
+ case 'b':
+ return this.consumeChar('b'), { type: 'Character', value: qt('\b') };
+ case 'd':
+ case 'D':
+ case 's':
+ case 'S':
+ case 'w':
+ case 'W':
+ return this.characterClassEscape();
+ case 'f':
+ case 'n':
+ case 'r':
+ case 't':
+ case 'v':
+ return this.controlEscapeAtom();
+ case 'c':
+ return this.controlLetterEscapeAtom();
+ case '0':
+ return this.nulCharacterAtom();
+ case 'x':
+ return this.hexEscapeSequenceAtom();
+ case 'u':
+ return this.regExpUnicodeEscapeSequenceAtom();
+ default:
+ return this.identityEscapeAtom();
+ }
+ }
+ group() {
+ let e = !0;
+ switch ((this.consumeChar('('), this.peekChar(0))) {
+ case '?':
+ this.consumeChar('?'), this.consumeChar(':'), (e = !1);
+ break;
+ default:
+ this.groupIdx++;
+ break;
+ }
+ let r = this.disjunction();
+ this.consumeChar(')');
+ let n = { type: 'Group', capturing: e, value: r };
+ return e && (n.idx = this.groupIdx), n;
+ }
+ positiveInteger() {
+ let e = this.popChar();
+ if (IMe.test(e) === !1) throw Error('Expecting a positive integer');
+ for (; AT.test(this.peekChar(0)); ) e += this.popChar();
+ return parseInt(e, 10);
+ }
+ integerIncludingZero() {
+ let e = this.popChar();
+ if (AT.test(e) === !1) throw Error('Expecting an integer');
+ for (; AT.test(this.peekChar(0)); ) e += this.popChar();
+ return parseInt(e, 10);
+ }
+ patternCharacter() {
+ let e = this.popChar();
+ switch (e) {
+ case `
+`:
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ case '^':
+ case '$':
+ case '\\':
+ case '.':
+ case '*':
+ case '+':
+ case '?':
+ case '(':
+ case ')':
+ case '[':
+ case '|':
+ throw Error('TBD');
+ default:
+ return { type: 'Character', value: qt(e) };
+ }
+ }
+ isRegExpFlag() {
+ switch (this.peekChar(0)) {
+ case 'g':
+ case 'i':
+ case 'm':
+ case 'u':
+ case 'y':
+ return !0;
+ default:
+ return !1;
+ }
+ }
+ isRangeDash() {
+ return this.peekChar() === '-' && this.isClassAtom(1);
+ }
+ isDigit() {
+ return AT.test(this.peekChar(0));
+ }
+ isClassAtom(e = 0) {
+ switch (this.peekChar(e)) {
+ case ']':
+ case `
+`:
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ return !1;
+ default:
+ return !0;
+ }
+ }
+ isTerm() {
+ return this.isAtom() || this.isAssertion();
+ }
+ isAtom() {
+ if (this.isPatternCharacter()) return !0;
+ switch (this.peekChar(0)) {
+ case '.':
+ case '\\':
+ case '[':
+ case '(':
+ return !0;
+ default:
+ return !1;
+ }
+ }
+ isAssertion() {
+ switch (this.peekChar(0)) {
+ case '^':
+ case '$':
+ return !0;
+ case '\\':
+ switch (this.peekChar(1)) {
+ case 'b':
+ case 'B':
+ return !0;
+ default:
+ return !1;
+ }
+ case '(':
+ return (
+ this.peekChar(1) === '?' && (this.peekChar(2) === '=' || this.peekChar(2) === '!')
+ );
+ default:
+ return !1;
+ }
+ }
+ isQuantifier() {
+ let e = this.saveState();
+ try {
+ return this.quantifier(!0) !== void 0;
+ } catch {
+ return !1;
+ } finally {
+ this.restoreState(e);
+ }
+ }
+ isPatternCharacter() {
+ switch (this.peekChar()) {
+ case '^':
+ case '$':
+ case '\\':
+ case '.':
+ case '*':
+ case '+':
+ case '?':
+ case '(':
+ case ')':
+ case '[':
+ case '|':
+ case '/':
+ case `
+`:
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ return !1;
+ default:
+ return !0;
+ }
+ }
+ parseHexDigits(e) {
+ let r = '';
+ for (let i = 0; i < e; i++) {
+ let a = this.popChar();
+ if (MMe.test(a) === !1) throw Error('Expecting a HexDecimal digits');
+ r += a;
+ }
+ return { type: 'Character', value: parseInt(r, 16) };
+ }
+ peekChar(e = 0) {
+ return this.input[this.idx + e];
+ }
+ popChar() {
+ let e = this.peekChar(0);
+ return this.consumeChar(void 0), e;
+ }
+ consumeChar(e) {
+ if (e !== void 0 && this.input[this.idx] !== e)
+ throw Error(
+ "Expected: '" + e + "' but found: '" + this.input[this.idx] + "' at offset: " + this.idx
+ );
+ if (this.idx >= this.input.length) throw Error('Unexpected end of input');
+ this.idx++;
+ }
+ loc(e) {
+ return { begin: e, end: this.idx };
+ }
+ });
+ });
+ var _c,
+ Wne = R(() => {
+ 'use strict';
+ _c = class {
+ static {
+ o(this, 'BaseRegExpVisitor');
+ }
+ visitChildren(e) {
+ for (let r in e) {
+ let n = e[r];
+ e.hasOwnProperty(r) &&
+ (n.type !== void 0
+ ? this.visit(n)
+ : Array.isArray(n) &&
+ n.forEach((i) => {
+ this.visit(i);
+ }, this));
+ }
+ }
+ visit(e) {
+ switch (e.type) {
+ case 'Pattern':
+ this.visitPattern(e);
+ break;
+ case 'Flags':
+ this.visitFlags(e);
+ break;
+ case 'Disjunction':
+ this.visitDisjunction(e);
+ break;
+ case 'Alternative':
+ this.visitAlternative(e);
+ break;
+ case 'StartAnchor':
+ this.visitStartAnchor(e);
+ break;
+ case 'EndAnchor':
+ this.visitEndAnchor(e);
+ break;
+ case 'WordBoundary':
+ this.visitWordBoundary(e);
+ break;
+ case 'NonWordBoundary':
+ this.visitNonWordBoundary(e);
+ break;
+ case 'Lookahead':
+ this.visitLookahead(e);
+ break;
+ case 'NegativeLookahead':
+ this.visitNegativeLookahead(e);
+ break;
+ case 'Character':
+ this.visitCharacter(e);
+ break;
+ case 'Set':
+ this.visitSet(e);
+ break;
+ case 'Group':
+ this.visitGroup(e);
+ break;
+ case 'GroupBackReference':
+ this.visitGroupBackReference(e);
+ break;
+ case 'Quantifier':
+ this.visitQuantifier(e);
+ break;
+ }
+ this.visitChildren(e);
+ }
+ visitPattern(e) {}
+ visitFlags(e) {}
+ visitDisjunction(e) {}
+ visitAlternative(e) {}
+ visitStartAnchor(e) {}
+ visitEndAnchor(e) {}
+ visitWordBoundary(e) {}
+ visitNonWordBoundary(e) {}
+ visitLookahead(e) {}
+ visitNegativeLookahead(e) {}
+ visitCharacter(e) {}
+ visitSet(e) {}
+ visitGroup(e) {}
+ visitGroupBackReference(e) {}
+ visitQuantifier(e) {}
+ };
+ });
+ var Kv = R(() => {
+ 'use strict';
+ Yne();
+ Wne();
+ });
+ var LT = {};
+ hr(LT, {
+ NEWLINE_REGEXP: () => BR,
+ escapeRegExp: () => t0,
+ getCaseInsensitivePattern: () => zR,
+ getTerminalParts: () => OMe,
+ isMultilineComment: () => FR,
+ isWhitespace: () => _T,
+ partialMatches: () => GR,
+ partialRegExp: () => Xne
+ });
+ function OMe(t) {
+ try {
+ typeof t != 'string' && (t = t.source), (t = `/${t}/`);
+ let e = qne.pattern(t),
+ r = [];
+ for (let n of e.value.value) e0.reset(t), e0.visit(n), r.push({ start: e0.startRegexp, end: e0.endRegex });
+ return r;
+ } catch {
+ return [];
+ }
+ }
+ function FR(t) {
+ try {
+ return (
+ typeof t == 'string' && (t = new RegExp(t)),
+ (t = t.toString()),
+ e0.reset(t),
+ e0.visit(qne.pattern(t)),
+ e0.multiline
+ );
+ } catch {
+ return !1;
+ }
+ }
+ function _T(t) {
+ return (typeof t == 'string' ? new RegExp(t) : t).test(' ');
+ }
+ function t0(t) {
+ return t.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
+ }
+ function zR(t) {
+ return Array.prototype.map
+ .call(t, (e) => (/\w/.test(e) ? `[${e.toLowerCase()}${e.toUpperCase()}]` : t0(e)))
+ .join('');
+ }
+ function GR(t, e) {
+ let r = Xne(t),
+ n = e.match(r);
+ return !!n && n[0].length > 0;
+ }
+ function Xne(t) {
+ typeof t == 'string' && (t = new RegExp(t));
+ let e = t,
+ r = t.source,
+ n = 0;
+ function i() {
+ let a = '',
+ s;
+ function l(h) {
+ (a += r.substr(n, h)), (n += h);
+ }
+ o(l, 'appendRaw');
+ function u(h) {
+ (a += '(?:' + r.substr(n, h) + '|$)'), (n += h);
+ }
+ for (o(u, 'appendOptional'); n < r.length; )
+ switch (r[n]) {
+ case '\\':
+ switch (r[n + 1]) {
+ case 'c':
+ u(3);
+ break;
+ case 'x':
+ u(4);
+ break;
+ case 'u':
+ e.unicode ? (r[n + 2] === '{' ? u(r.indexOf('}', n) - n + 1) : u(6)) : u(2);
+ break;
+ case 'p':
+ case 'P':
+ e.unicode ? u(r.indexOf('}', n) - n + 1) : u(2);
+ break;
+ case 'k':
+ u(r.indexOf('>', n) - n + 1);
+ break;
+ default:
+ u(2);
+ break;
+ }
+ break;
+ case '[':
+ (s = /\[(?:\\.|.)*?\]/g), (s.lastIndex = n), (s = s.exec(r) || []), u(s[0].length);
+ break;
+ case '|':
+ case '^':
+ case '$':
+ case '*':
+ case '+':
+ case '?':
+ l(1);
+ break;
+ case '{':
+ (s = /\{\d+,?\d*\}/g), (s.lastIndex = n), (s = s.exec(r)), s ? l(s[0].length) : u(1);
+ break;
+ case '(':
+ if (r[n + 1] === '?')
+ switch (r[n + 2]) {
+ case ':':
+ (a += '(?:'), (n += 3), (a += i() + '|$)');
+ break;
+ case '=':
+ (a += '(?='), (n += 3), (a += i() + ')');
+ break;
+ case '!':
+ (s = n), (n += 3), i(), (a += r.substr(s, n - s));
+ break;
+ case '<':
+ switch (r[n + 3]) {
+ case '=':
+ case '!':
+ (s = n), (n += 4), i(), (a += r.substr(s, n - s));
+ break;
+ default:
+ l(r.indexOf('>', n) - n + 1), (a += i() + '|$)');
+ break;
+ }
+ break;
+ }
+ else l(1), (a += i() + '|$)');
+ break;
+ case ')':
+ return ++n, a;
+ default:
+ u(1);
+ break;
+ }
+ return a;
+ }
+ return o(i, 'process'), new RegExp(i(), t.flags);
+ }
+ var BR,
+ qne,
+ PR,
+ e0,
+ Um = R(() => {
+ 'use strict';
+ Kv();
+ (BR = /\r?\n/gm),
+ (qne = new Jd()),
+ (PR = class extends _c {
+ static {
+ o(this, 'TerminalRegExpVisitor');
+ }
+ constructor() {
+ super(...arguments), (this.isStarting = !0), (this.endRegexpStack = []), (this.multiline = !1);
+ }
+ get endRegex() {
+ return this.endRegexpStack.join('');
+ }
+ reset(e) {
+ (this.multiline = !1),
+ (this.regex = e),
+ (this.startRegexp = ''),
+ (this.isStarting = !0),
+ (this.endRegexpStack = []);
+ }
+ visitGroup(e) {
+ e.quantifier && ((this.isStarting = !1), (this.endRegexpStack = []));
+ }
+ visitCharacter(e) {
+ let r = String.fromCharCode(e.value);
+ if (
+ (!this.multiline &&
+ r ===
+ `
+` &&
+ (this.multiline = !0),
+ e.quantifier)
+ )
+ (this.isStarting = !1), (this.endRegexpStack = []);
+ else {
+ let n = t0(r);
+ this.endRegexpStack.push(n), this.isStarting && (this.startRegexp += n);
+ }
+ }
+ visitSet(e) {
+ if (!this.multiline) {
+ let r = this.regex.substring(e.loc.begin, e.loc.end),
+ n = new RegExp(r);
+ this.multiline = !!`
+`.match(n);
+ }
+ if (e.quantifier) (this.isStarting = !1), (this.endRegexpStack = []);
+ else {
+ let r = this.regex.substring(e.loc.begin, e.loc.end);
+ this.endRegexpStack.push(r), this.isStarting && (this.startRegexp += r);
+ }
+ }
+ visitChildren(e) {
+ (e.type === 'Group' && e.quantifier) || super.visitChildren(e);
+ }
+ }),
+ (e0 = new PR());
+ o(OMe, 'getTerminalParts');
+ o(FR, 'isMultilineComment');
+ o(_T, 'isWhitespace');
+ o(t0, 'escapeRegExp');
+ o(zR, 'getCaseInsensitivePattern');
+ o(GR, 'partialMatches');
+ o(Xne, 'partialRegExp');
+ });
+ var RT = {};
+ hr(RT, {
+ findAssignment: () => jR,
+ findNameAssignment: () => DT,
+ findNodeForKeyword: () => qR,
+ findNodeForProperty: () => Zv,
+ findNodesForKeyword: () => PMe,
+ findNodesForKeywordInternal: () => XR,
+ findNodesForProperty: () => YR,
+ getActionAtElement: () => Jne,
+ getActionType: () => tie,
+ getAllReachableRules: () => Qv,
+ getCrossReferenceTerminal: () => UR,
+ getEntryRule: () => jne,
+ getExplicitRuleType: () => KR,
+ getHiddenRules: () => Kne,
+ getRuleType: () => QR,
+ getTypeName: () => r0,
+ isArrayCardinality: () => FMe,
+ isArrayOperator: () => zMe,
+ isCommentTerminal: () => HR,
+ isDataType: () => GMe,
+ isDataTypeRule: () => Jv,
+ isOptionalCardinality: () => BMe,
+ terminalRegex: () => Hm
+ });
+ function jne(t) {
+ return t.rules.find((e) => Oa(e) && e.entry);
+ }
+ function Kne(t) {
+ return t.rules.filter((e) => Uo(e) && e.hidden);
+ }
+ function Qv(t, e) {
+ let r = new Set(),
+ n = jne(t);
+ if (!n) return new Set(t.rules);
+ let i = [n].concat(Kne(t));
+ for (let s of i) Qne(s, r, e);
+ let a = new Set();
+ for (let s of t.rules) (r.has(s.name) || (Uo(s) && s.hidden)) && a.add(s);
+ return a;
+ }
+ function Qne(t, e, r) {
+ e.add(t.name),
+ Ac(t).forEach((n) => {
+ if (Ml(n) || (r && TT(n))) {
+ let i = n.rule.ref;
+ i && !e.has(i.name) && Qne(i, e, r);
+ }
+ });
+ }
+ function UR(t) {
+ if (t.terminal) return t.terminal;
+ if (t.type.ref) {
+ let e = DT(t.type.ref);
+ return e?.terminal;
+ }
+ }
+ function HR(t) {
+ return t.hidden && !Hm(t).test(' ');
+ }
+ function YR(t, e) {
+ return !t || !e ? [] : WR(t, e, t.astNode, !0);
+ }
+ function Zv(t, e, r) {
+ if (!t || !e) return;
+ let n = WR(t, e, t.astNode, !0);
+ if (n.length !== 0) return r !== void 0 ? (r = Math.max(0, Math.min(r, n.length - 1))) : (r = 0), n[r];
+ }
+ function WR(t, e, r, n) {
+ if (!n) {
+ let i = Qd(t.grammarSource, Nl);
+ if (i && i.feature === e) return [t];
+ }
+ return co(t) && t.astNode === r ? t.content.flatMap((i) => WR(i, e, r, !1)) : [];
+ }
+ function PMe(t, e) {
+ return t ? XR(t, e, t?.astNode) : [];
+ }
+ function qR(t, e, r) {
+ if (!t) return;
+ let n = XR(t, e, t?.astNode);
+ if (n.length !== 0) return r !== void 0 ? (r = Math.max(0, Math.min(r, n.length - 1))) : (r = 0), n[r];
+ }
+ function XR(t, e, r) {
+ if (t.astNode !== r) return [];
+ if (Ho(t.grammarSource) && t.grammarSource.value === e) return [t];
+ let n = qd(t).iterator(),
+ i,
+ a = [];
+ do
+ if (((i = n.next()), !i.done)) {
+ let s = i.value;
+ s.astNode === r ? Ho(s.grammarSource) && s.grammarSource.value === e && a.push(s) : n.prune();
+ }
+ while (!i.done);
+ return a;
+ }
+ function jR(t) {
+ var e;
+ let r = t.astNode;
+ for (; r === ((e = t.container) === null || e === void 0 ? void 0 : e.astNode); ) {
+ let n = Qd(t.grammarSource, Nl);
+ if (n) return n;
+ t = t.container;
+ }
+ }
+ function DT(t) {
+ let e = t;
+ return (
+ vT(e) &&
+ (Iu(e.$container)
+ ? (e = e.$container.$container)
+ : Oa(e.$container)
+ ? (e = e.$container)
+ : tf(e.$container)),
+ Zne(t, e, new Map())
+ );
+ }
+ function Zne(t, e, r) {
+ var n;
+ function i(a, s) {
+ let l;
+ return Qd(a, Nl) || (l = Zne(s, s, r)), r.set(t, l), l;
+ }
+ if ((o(i, 'go'), r.has(t))) return r.get(t);
+ r.set(t, void 0);
+ for (let a of Ac(e)) {
+ if (Nl(a) && a.feature.toLowerCase() === 'name') return r.set(t, a), a;
+ if (Ml(a) && Oa(a.rule.ref)) return i(a, a.rule.ref);
+ if (bT(a) && !((n = a.typeRef) === null || n === void 0) && n.ref) return i(a, a.typeRef.ref);
+ }
+ }
+ function Jne(t) {
+ let e = t.$container;
+ if (rf(e)) {
+ let r = e.elements,
+ n = r.indexOf(t);
+ for (let i = n - 1; i >= 0; i--) {
+ let a = r[i];
+ if (Iu(a)) return a;
+ {
+ let s = Ac(r[i]).find(Iu);
+ if (s) return s;
+ }
+ }
+ }
+ if (Uv(e)) return Jne(e);
+ }
+ function BMe(t, e) {
+ return t === '?' || t === '*' || (rf(e) && !!e.guardCondition);
+ }
+ function FMe(t) {
+ return t === '*' || t === '+';
+ }
+ function zMe(t) {
+ return t === '+=';
+ }
+ function Jv(t) {
+ return eie(t, new Set());
+ }
+ function eie(t, e) {
+ if (e.has(t)) return !0;
+ e.add(t);
+ for (let r of Ac(t))
+ if (Ml(r)) {
+ if (!r.rule.ref || (Oa(r.rule.ref) && !eie(r.rule.ref, e))) return !1;
+ } else {
+ if (Nl(r)) return !1;
+ if (Iu(r)) return !1;
+ }
+ return !!t.definition;
+ }
+ function GMe(t) {
+ return VR(t.type, new Set());
+ }
+ function VR(t, e) {
+ if (e.has(t)) return !0;
+ if ((e.add(t), ID(t))) return !1;
+ if (ZD(t)) return !1;
+ if (iR(t)) return t.types.every((r) => VR(r, e));
+ if (bT(t)) {
+ if (t.primitiveType !== void 0) return !0;
+ if (t.stringType !== void 0) return !0;
+ if (t.typeRef !== void 0) {
+ let r = t.typeRef.ref;
+ return Hv(r) ? VR(r.type, e) : !1;
+ } else return !1;
+ } else return !1;
+ }
+ function KR(t) {
+ if (t.inferredType) return t.inferredType.name;
+ if (t.dataType) return t.dataType;
+ if (t.returnType) {
+ let e = t.returnType.ref;
+ if (e) {
+ if (Oa(e)) return e.name;
+ if (xT(e) || Hv(e)) return e.name;
+ }
+ }
+ }
+ function r0(t) {
+ var e;
+ if (Oa(t)) return Jv(t) ? t.name : (e = KR(t)) !== null && e !== void 0 ? e : t.name;
+ if (xT(t) || Hv(t) || JD(t)) return t.name;
+ if (Iu(t)) {
+ let r = tie(t);
+ if (r) return r;
+ } else if (vT(t)) return t.name;
+ throw new Error('Cannot get name of Unknown Type');
+ }
+ function tie(t) {
+ var e;
+ if (t.inferredType) return t.inferredType.name;
+ if (!((e = t.type) === null || e === void 0) && e.ref) return r0(t.type.ref);
+ }
+ function QR(t) {
+ var e, r, n;
+ return Uo(t)
+ ? (r = (e = t.type) === null || e === void 0 ? void 0 : e.name) !== null && r !== void 0
+ ? r
+ : 'string'
+ : Jv(t)
+ ? t.name
+ : (n = KR(t)) !== null && n !== void 0
+ ? n
+ : t.name;
+ }
+ function Hm(t) {
+ let e = { s: !1, i: !1, u: !1 },
+ r = Ym(t.definition, e),
+ n = Object.entries(e)
+ .filter(([, i]) => i)
+ .map(([i]) => i)
+ .join('');
+ return new RegExp(r, n);
+ }
+ function Ym(t, e) {
+ if (wR(t)) return $Me(t);
+ if (kR(t)) return VMe(t);
+ if (cR(t)) return YMe(t);
+ if (TT(t)) {
+ let r = t.rule.ref;
+ if (!r) throw new Error('Missing rule reference.');
+ return Ou(Ym(r.definition), {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead
+ });
+ } else {
+ if (gR(t)) return HMe(t);
+ if (AR(t)) return UMe(t);
+ if (vR(t)) {
+ let r = t.regex.lastIndexOf('/'),
+ n = t.regex.substring(1, r),
+ i = t.regex.substring(r + 1);
+ return (
+ e && ((e.i = i.includes('i')), (e.s = i.includes('s')), (e.u = i.includes('u'))),
+ Ou(n, {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead,
+ wrap: !1
+ })
+ );
+ } else {
+ if (LR(t)) return Ou(ZR, { cardinality: t.cardinality, lookahead: t.lookahead });
+ throw new Error(`Invalid terminal element: ${t?.$type}`);
+ }
+ }
+ }
+ function $Me(t) {
+ return Ou(t.elements.map((e) => Ym(e)).join('|'), {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead
+ });
+ }
+ function VMe(t) {
+ return Ou(t.elements.map((e) => Ym(e)).join(''), {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead
+ });
+ }
+ function UMe(t) {
+ return Ou(`${ZR}*?${Ym(t.terminal)}`, {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead
+ });
+ }
+ function HMe(t) {
+ return Ou(`(?!${Ym(t.terminal)})${ZR}*?`, {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead
+ });
+ }
+ function YMe(t) {
+ return t.right
+ ? Ou(`[${$R(t.left)}-${$R(t.right)}]`, {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead,
+ wrap: !1
+ })
+ : Ou($R(t.left), {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead,
+ wrap: !1
+ });
+ }
+ function $R(t) {
+ return t0(t.value);
+ }
+ function Ou(t, e) {
+ var r;
+ return (
+ (e.wrap !== !1 || e.lookahead) && (t = `(${(r = e.lookahead) !== null && r !== void 0 ? r : ''}${t})`),
+ e.cardinality ? `${t}${e.cardinality}` : t
+ );
+ }
+ var ZR,
+ Il = R(() => {
+ 'use strict';
+ pT();
+ Sc();
+ Vo();
+ es();
+ Rl();
+ Um();
+ o(jne, 'getEntryRule');
+ o(Kne, 'getHiddenRules');
+ o(Qv, 'getAllReachableRules');
+ o(Qne, 'ruleDfs');
+ o(UR, 'getCrossReferenceTerminal');
+ o(HR, 'isCommentTerminal');
+ o(YR, 'findNodesForProperty');
+ o(Zv, 'findNodeForProperty');
+ o(WR, 'findNodesForPropertyInternal');
+ o(PMe, 'findNodesForKeyword');
+ o(qR, 'findNodeForKeyword');
+ o(XR, 'findNodesForKeywordInternal');
+ o(jR, 'findAssignment');
+ o(DT, 'findNameAssignment');
+ o(Zne, 'findNameAssignmentInternal');
+ o(Jne, 'getActionAtElement');
+ o(BMe, 'isOptionalCardinality');
+ o(FMe, 'isArrayCardinality');
+ o(zMe, 'isArrayOperator');
+ o(Jv, 'isDataTypeRule');
+ o(eie, 'isDataTypeRuleInternal');
+ o(GMe, 'isDataType');
+ o(VR, 'isDataTypeInternal');
+ o(KR, 'getExplicitRuleType');
+ o(r0, 'getTypeName');
+ o(tie, 'getActionType');
+ o(QR, 'getRuleType');
+ o(Hm, 'terminalRegex');
+ ZR = /[\s\S]/.source;
+ o(Ym, 'abstractElementToRegex');
+ o($Me, 'terminalAlternativesToRegex');
+ o(VMe, 'terminalGroupToRegex');
+ o(UMe, 'untilTokenToRegex');
+ o(HMe, 'negateTokenToRegex');
+ o(YMe, 'characterRangeToRegex');
+ o($R, 'keywordToRegex');
+ o(Ou, 'withCardinality');
+ });
+ function JR(t) {
+ let e = [],
+ r = t.Grammar;
+ for (let n of r.rules) Uo(n) && HR(n) && FR(Hm(n)) && e.push(n.name);
+ return { multilineCommentRules: e, nameRegexp: fT };
+ }
+ var eN = R(() => {
+ 'use strict';
+ Rl();
+ Il();
+ Um();
+ Sc();
+ o(JR, 'createGrammarConfig');
+ });
+ var tN = R(() => {
+ 'use strict';
+ });
+ function Wm(t) {
+ console && console.error && console.error(`Error: ${t}`);
+ }
+ function e2(t) {
+ console && console.warn && console.warn(`Warning: ${t}`);
+ }
+ var rie = R(() => {
+ 'use strict';
+ o(Wm, 'PRINT_ERROR');
+ o(e2, 'PRINT_WARNING');
+ });
+ function t2(t) {
+ let e = new Date().getTime(),
+ r = t();
+ return { time: new Date().getTime() - e, value: r };
+ }
+ var nie = R(() => {
+ 'use strict';
+ o(t2, 'timer');
+ });
+ function r2(t) {
+ function e() {}
+ o(e, 'FakeConstructor'), (e.prototype = t);
+ let r = new e();
+ function n() {
+ return typeof r.bar;
+ }
+ return o(n, 'fakeAccess'), n(), n(), t;
+ (0, eval)(t);
+ }
+ var iie = R(() => {
+ 'use strict';
+ o(r2, 'toFastProperties');
+ });
+ var qm = R(() => {
+ 'use strict';
+ rie();
+ nie();
+ iie();
+ });
+ function WMe(t) {
+ return qMe(t) ? t.LABEL : t.name;
+ }
+ function qMe(t) {
+ return di(t.LABEL) && t.LABEL !== '';
+ }
+ function NT(t) {
+ return qe(t, Xm);
+ }
+ function Xm(t) {
+ function e(r) {
+ return qe(r, Xm);
+ }
+ if ((o(e, 'convertDefinition'), t instanceof Zr)) {
+ let r = { type: 'NonTerminal', name: t.nonTerminalName, idx: t.idx };
+ return di(t.label) && (r.label = t.label), r;
+ } else {
+ if (t instanceof Sn) return { type: 'Alternative', definition: e(t.definition) };
+ if (t instanceof Jr) return { type: 'Option', idx: t.idx, definition: e(t.definition) };
+ if (t instanceof An)
+ return {
+ type: 'RepetitionMandatory',
+ idx: t.idx,
+ definition: e(t.definition)
+ };
+ if (t instanceof _n)
+ return {
+ type: 'RepetitionMandatoryWithSeparator',
+ idx: t.idx,
+ separator: Xm(new fr({ terminalType: t.separator })),
+ definition: e(t.definition)
+ };
+ if (t instanceof mn)
+ return {
+ type: 'RepetitionWithSeparator',
+ idx: t.idx,
+ separator: Xm(new fr({ terminalType: t.separator })),
+ definition: e(t.definition)
+ };
+ if (t instanceof br) return { type: 'Repetition', idx: t.idx, definition: e(t.definition) };
+ if (t instanceof gn) return { type: 'Alternation', idx: t.idx, definition: e(t.definition) };
+ if (t instanceof fr) {
+ let r = {
+ type: 'Terminal',
+ name: t.terminalType.name,
+ label: WMe(t.terminalType),
+ idx: t.idx
+ };
+ di(t.label) && (r.terminalLabel = t.label);
+ let n = t.terminalType.PATTERN;
+ return t.terminalType.PATTERN && (r.pattern = zo(n) ? n.source : n), r;
+ } else {
+ if (t instanceof ts)
+ return {
+ type: 'Rule',
+ name: t.name,
+ orgText: t.orgText,
+ definition: e(t.definition)
+ };
+ throw Error('non exhaustive match');
+ }
+ }
+ }
+ var ho,
+ Zr,
+ ts,
+ Sn,
+ Jr,
+ An,
+ _n,
+ br,
+ mn,
+ gn,
+ fr,
+ MT = R(() => {
+ 'use strict';
+ Pt();
+ o(WMe, 'tokenLabel');
+ o(qMe, 'hasTokenLabel');
+ (ho = class {
+ static {
+ o(this, 'AbstractProduction');
+ }
+ get definition() {
+ return this._definition;
+ }
+ set definition(e) {
+ this._definition = e;
+ }
+ constructor(e) {
+ this._definition = e;
+ }
+ accept(e) {
+ e.visit(this),
+ Ee(this.definition, (r) => {
+ r.accept(e);
+ });
+ }
+ }),
+ (Zr = class extends ho {
+ static {
+ o(this, 'NonTerminal');
+ }
+ constructor(e) {
+ super([]),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ set definition(e) {}
+ get definition() {
+ return this.referencedRule !== void 0 ? this.referencedRule.definition : [];
+ }
+ accept(e) {
+ e.visit(this);
+ }
+ }),
+ (ts = class extends ho {
+ static {
+ o(this, 'Rule');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.orgText = ''),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (Sn = class extends ho {
+ static {
+ o(this, 'Alternative');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.ignoreAmbiguities = !1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (Jr = class extends ho {
+ static {
+ o(this, 'Option');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (An = class extends ho {
+ static {
+ o(this, 'RepetitionMandatory');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (_n = class extends ho {
+ static {
+ o(this, 'RepetitionMandatoryWithSeparator');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (br = class extends ho {
+ static {
+ o(this, 'Repetition');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (mn = class extends ho {
+ static {
+ o(this, 'RepetitionWithSeparator');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (gn = class extends ho {
+ static {
+ o(this, 'Alternation');
+ }
+ get definition() {
+ return this._definition;
+ }
+ set definition(e) {
+ this._definition = e;
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ (this.ignoreAmbiguities = !1),
+ (this.hasPredicates = !1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (fr = class {
+ static {
+ o(this, 'Terminal');
+ }
+ constructor(e) {
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ accept(e) {
+ e.visit(this);
+ }
+ });
+ o(NT, 'serializeGrammar');
+ o(Xm, 'serializeProduction');
+ });
+ var rs,
+ aie = R(() => {
+ 'use strict';
+ MT();
+ rs = class {
+ static {
+ o(this, 'GAstVisitor');
+ }
+ visit(e) {
+ let r = e;
+ switch (r.constructor) {
+ case Zr:
+ return this.visitNonTerminal(r);
+ case Sn:
+ return this.visitAlternative(r);
+ case Jr:
+ return this.visitOption(r);
+ case An:
+ return this.visitRepetitionMandatory(r);
+ case _n:
+ return this.visitRepetitionMandatoryWithSeparator(r);
+ case mn:
+ return this.visitRepetitionWithSeparator(r);
+ case br:
+ return this.visitRepetition(r);
+ case gn:
+ return this.visitAlternation(r);
+ case fr:
+ return this.visitTerminal(r);
+ case ts:
+ return this.visitRule(r);
+ default:
+ throw Error('non exhaustive match');
+ }
+ }
+ visitNonTerminal(e) {}
+ visitAlternative(e) {}
+ visitOption(e) {}
+ visitRepetition(e) {}
+ visitRepetitionMandatory(e) {}
+ visitRepetitionMandatoryWithSeparator(e) {}
+ visitRepetitionWithSeparator(e) {}
+ visitAlternation(e) {}
+ visitTerminal(e) {}
+ visitRule(e) {}
+ };
+ });
+ function rN(t) {
+ return (
+ t instanceof Sn ||
+ t instanceof Jr ||
+ t instanceof br ||
+ t instanceof An ||
+ t instanceof _n ||
+ t instanceof mn ||
+ t instanceof fr ||
+ t instanceof ts
+ );
+ }
+ function n0(t, e = []) {
+ return t instanceof Jr || t instanceof br || t instanceof mn
+ ? !0
+ : t instanceof gn
+ ? Nv(t.definition, (n) => n0(n, e))
+ : t instanceof Zr && Fn(e, t)
+ ? !1
+ : t instanceof ho
+ ? (t instanceof Zr && e.push(t), Ia(t.definition, (n) => n0(n, e)))
+ : !1;
+ }
+ function nN(t) {
+ return t instanceof gn;
+ }
+ function Rs(t) {
+ if (t instanceof Zr) return 'SUBRULE';
+ if (t instanceof Jr) return 'OPTION';
+ if (t instanceof gn) return 'OR';
+ if (t instanceof An) return 'AT_LEAST_ONE';
+ if (t instanceof _n) return 'AT_LEAST_ONE_SEP';
+ if (t instanceof mn) return 'MANY_SEP';
+ if (t instanceof br) return 'MANY';
+ if (t instanceof fr) return 'CONSUME';
+ throw Error('non exhaustive match');
+ }
+ var sie = R(() => {
+ 'use strict';
+ Pt();
+ MT();
+ o(rN, 'isSequenceProd');
+ o(n0, 'isOptionalProd');
+ o(nN, 'isBranchingProd');
+ o(Rs, 'getProductionDslName');
+ });
+ var ns = R(() => {
+ 'use strict';
+ MT();
+ aie();
+ sie();
+ });
+ function oie(t, e, r) {
+ return [
+ new Jr({
+ definition: [new fr({ terminalType: t.separator })].concat(t.definition)
+ })
+ ].concat(e, r);
+ }
+ var Pu,
+ IT = R(() => {
+ 'use strict';
+ Pt();
+ ns();
+ Pu = class {
+ static {
+ o(this, 'RestWalker');
+ }
+ walk(e, r = []) {
+ Ee(e.definition, (n, i) => {
+ let a = fi(e.definition, i + 1);
+ if (n instanceof Zr) this.walkProdRef(n, a, r);
+ else if (n instanceof fr) this.walkTerminal(n, a, r);
+ else if (n instanceof Sn) this.walkFlat(n, a, r);
+ else if (n instanceof Jr) this.walkOption(n, a, r);
+ else if (n instanceof An) this.walkAtLeastOne(n, a, r);
+ else if (n instanceof _n) this.walkAtLeastOneSep(n, a, r);
+ else if (n instanceof mn) this.walkManySep(n, a, r);
+ else if (n instanceof br) this.walkMany(n, a, r);
+ else if (n instanceof gn) this.walkOr(n, a, r);
+ else throw Error('non exhaustive match');
+ });
+ }
+ walkTerminal(e, r, n) {}
+ walkProdRef(e, r, n) {}
+ walkFlat(e, r, n) {
+ let i = r.concat(n);
+ this.walk(e, i);
+ }
+ walkOption(e, r, n) {
+ let i = r.concat(n);
+ this.walk(e, i);
+ }
+ walkAtLeastOne(e, r, n) {
+ let i = [new Jr({ definition: e.definition })].concat(r, n);
+ this.walk(e, i);
+ }
+ walkAtLeastOneSep(e, r, n) {
+ let i = oie(e, r, n);
+ this.walk(e, i);
+ }
+ walkMany(e, r, n) {
+ let i = [new Jr({ definition: e.definition })].concat(r, n);
+ this.walk(e, i);
+ }
+ walkManySep(e, r, n) {
+ let i = oie(e, r, n);
+ this.walk(e, i);
+ }
+ walkOr(e, r, n) {
+ let i = r.concat(n);
+ Ee(e.definition, (a) => {
+ let s = new Sn({ definition: [a] });
+ this.walk(s, i);
+ });
+ }
+ };
+ o(oie, 'restForRepetitionWithSeparator');
+ });
+ function i0(t) {
+ if (t instanceof Zr) return i0(t.referencedRule);
+ if (t instanceof fr) return KMe(t);
+ if (rN(t)) return XMe(t);
+ if (nN(t)) return jMe(t);
+ throw Error('non exhaustive match');
+ }
+ function XMe(t) {
+ let e = [],
+ r = t.definition,
+ n = 0,
+ i = r.length > n,
+ a,
+ s = !0;
+ for (; i && s; ) (a = r[n]), (s = n0(a)), (e = e.concat(i0(a))), (n = n + 1), (i = r.length > n);
+ return Pm(e);
+ }
+ function jMe(t) {
+ let e = qe(t.definition, (r) => i0(r));
+ return Pm(Gr(e));
+ }
+ function KMe(t) {
+ return [t.terminalType];
+ }
+ var iN = R(() => {
+ 'use strict';
+ Pt();
+ ns();
+ o(i0, 'first');
+ o(XMe, 'firstForSequence');
+ o(jMe, 'firstForBranching');
+ o(KMe, 'firstForTerminal');
+ });
+ var OT,
+ aN = R(() => {
+ 'use strict';
+ OT = '_~IN~_';
+ });
+ function lie(t) {
+ let e = {};
+ return (
+ Ee(t, (r) => {
+ let n = new sN(r).startWalking();
+ pa(e, n);
+ }),
+ e
+ );
+ }
+ function QMe(t, e) {
+ return t.name + e + OT;
+ }
+ var sN,
+ cie = R(() => {
+ 'use strict';
+ IT();
+ iN();
+ Pt();
+ aN();
+ ns();
+ sN = class extends Pu {
+ static {
+ o(this, 'ResyncFollowsWalker');
+ }
+ constructor(e) {
+ super(), (this.topProd = e), (this.follows = {});
+ }
+ startWalking() {
+ return this.walk(this.topProd), this.follows;
+ }
+ walkTerminal(e, r, n) {}
+ walkProdRef(e, r, n) {
+ let i = QMe(e.referencedRule, e.idx) + this.topProd.name,
+ a = r.concat(n),
+ s = new Sn({ definition: a }),
+ l = i0(s);
+ this.follows[i] = l;
+ }
+ };
+ o(lie, 'computeAllProdsFollows');
+ o(QMe, 'buildBetweenProdsFollowPrefix');
+ });
+ function jm(t) {
+ let e = t.toString();
+ if (PT.hasOwnProperty(e)) return PT[e];
+ {
+ let r = ZMe.pattern(e);
+ return (PT[e] = r), r;
+ }
+ }
+ function uie() {
+ PT = {};
+ }
+ var PT,
+ ZMe,
+ BT = R(() => {
+ 'use strict';
+ Kv();
+ (PT = {}), (ZMe = new Jd());
+ o(jm, 'getRegExpAst');
+ o(uie, 'clearRegExpParserCache');
+ });
+ function die(t, e = !1) {
+ try {
+ let r = jm(t);
+ return oN(r.value, {}, r.flags.ignoreCase);
+ } catch (r) {
+ if (r.message === fie)
+ e &&
+ e2(`${n2} Unable to optimize: < ${t.toString()} >
+ Complement Sets cannot be automatically optimized.
+ This will disable the lexer's first char optimizations.
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);
+ else {
+ let n = '';
+ e &&
+ (n = `
+ This will disable the lexer's first char optimizations.
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),
+ Wm(
+ `${n2}
+ Failed parsing: < ${t.toString()} >
+ Using the @chevrotain/regexp-to-ast library
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues` + n
+ );
+ }
+ }
+ return [];
+ }
+ function oN(t, e, r) {
+ switch (t.type) {
+ case 'Disjunction':
+ for (let i = 0; i < t.value.length; i++) oN(t.value[i], e, r);
+ break;
+ case 'Alternative':
+ let n = t.value;
+ for (let i = 0; i < n.length; i++) {
+ let a = n[i];
+ switch (a.type) {
+ case 'EndAnchor':
+ case 'GroupBackReference':
+ case 'Lookahead':
+ case 'NegativeLookahead':
+ case 'StartAnchor':
+ case 'WordBoundary':
+ case 'NonWordBoundary':
+ continue;
+ }
+ let s = a;
+ switch (s.type) {
+ case 'Character':
+ FT(s.value, e, r);
+ break;
+ case 'Set':
+ if (s.complement === !0) throw Error(fie);
+ Ee(s.value, (u) => {
+ if (typeof u == 'number') FT(u, e, r);
+ else {
+ let h = u;
+ if (r === !0) for (let f = h.from; f <= h.to; f++) FT(f, e, r);
+ else {
+ for (let f = h.from; f <= h.to && f < Km; f++) FT(f, e, r);
+ if (h.to >= Km) {
+ let f = h.from >= Km ? h.from : Km,
+ d = h.to,
+ p = Lc(f),
+ m = Lc(d);
+ for (let g = p; g <= m; g++) e[g] = g;
+ }
+ }
+ }
+ });
+ break;
+ case 'Group':
+ oN(s.value, e, r);
+ break;
+ default:
+ throw Error('Non Exhaustive Match');
+ }
+ let l = s.quantifier !== void 0 && s.quantifier.atLeast === 0;
+ if ((s.type === 'Group' && lN(s) === !1) || (s.type !== 'Group' && l === !1)) break;
+ }
+ break;
+ default:
+ throw Error('non exhaustive match!');
+ }
+ return or(e);
+ }
+ function FT(t, e, r) {
+ let n = Lc(t);
+ (e[n] = n), r === !0 && JMe(t, e);
+ }
+ function JMe(t, e) {
+ let r = String.fromCharCode(t),
+ n = r.toUpperCase();
+ if (n !== r) {
+ let i = Lc(n.charCodeAt(0));
+ e[i] = i;
+ } else {
+ let i = r.toLowerCase();
+ if (i !== r) {
+ let a = Lc(i.charCodeAt(0));
+ e[a] = a;
+ }
+ }
+ }
+ function hie(t, e) {
+ return Za(t.value, (r) => {
+ if (typeof r == 'number') return Fn(e, r);
+ {
+ let n = r;
+ return Za(e, (i) => n.from <= i && i <= n.to) !== void 0;
+ }
+ });
+ }
+ function lN(t) {
+ let e = t.quantifier;
+ return e && e.atLeast === 0 ? !0 : t.value ? (wt(t.value) ? Ia(t.value, lN) : lN(t.value)) : !1;
+ }
+ function zT(t, e) {
+ if (e instanceof RegExp) {
+ let r = jm(e),
+ n = new cN(t);
+ return n.visit(r), n.found;
+ } else return Za(e, (r) => Fn(t, r.charCodeAt(0))) !== void 0;
+ }
+ var fie,
+ n2,
+ cN,
+ pie = R(() => {
+ 'use strict';
+ Kv();
+ Pt();
+ qm();
+ BT();
+ uN();
+ (fie = 'Complement Sets are not supported for first char optimization'),
+ (n2 = `Unable to use "first char" lexer optimizations:
+`);
+ o(die, 'getOptimizedStartCodesIndices');
+ o(oN, 'firstCharOptimizedIndices');
+ o(FT, 'addOptimizedIdxToResult');
+ o(JMe, 'handleIgnoreCase');
+ o(hie, 'findCode');
+ o(lN, 'isWholeOptional');
+ cN = class extends _c {
+ static {
+ o(this, 'CharCodeFinder');
+ }
+ constructor(e) {
+ super(), (this.targetCharCodes = e), (this.found = !1);
+ }
+ visitChildren(e) {
+ if (this.found !== !0) {
+ switch (e.type) {
+ case 'Lookahead':
+ this.visitLookahead(e);
+ return;
+ case 'NegativeLookahead':
+ this.visitNegativeLookahead(e);
+ return;
+ }
+ super.visitChildren(e);
+ }
+ }
+ visitCharacter(e) {
+ Fn(this.targetCharCodes, e.value) && (this.found = !0);
+ }
+ visitSet(e) {
+ e.complement
+ ? hie(e, this.targetCharCodes) === void 0 && (this.found = !0)
+ : hie(e, this.targetCharCodes) !== void 0 && (this.found = !0);
+ }
+ };
+ o(zT, 'canMatchCharCode');
+ });
+ function yie(t, e) {
+ e = Xh(e, {
+ useSticky: fN,
+ debug: !1,
+ safeMode: !1,
+ positionTracking: 'full',
+ lineTerminatorCharacters: [
+ '\r',
+ `
+`
+ ],
+ tracer: o((b, w) => w(), 'tracer')
+ });
+ let r = e.tracer;
+ r('initCharCodeToOptimizedIndexMap', () => {
+ yIe();
+ });
+ let n;
+ r('Reject Lexer.NA', () => {
+ n = Kh(t, (b) => b[a0] === ni.NA);
+ });
+ let i = !1,
+ a;
+ r('Transform Patterns', () => {
+ (i = !1),
+ (a = qe(n, (b) => {
+ let w = b[a0];
+ if (zo(w)) {
+ let S = w.source;
+ return S.length === 1 && S !== '^' && S !== '$' && S !== '.' && !w.ignoreCase
+ ? S
+ : S.length === 2 &&
+ S[0] === '\\' &&
+ !Fn(
+ ['d', 'D', 's', 'S', 't', 'r', 'n', 't', '0', 'c', 'b', 'B', 'f', 'v', 'w', 'W'],
+ S[1]
+ )
+ ? S[1]
+ : e.useSticky
+ ? gie(w)
+ : mie(w);
+ } else {
+ if (wi(w)) return (i = !0), { exec: w };
+ if (typeof w == 'object') return (i = !0), w;
+ if (typeof w == 'string') {
+ if (w.length === 1) return w;
+ {
+ let S = w.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&'),
+ T = new RegExp(S);
+ return e.useSticky ? gie(T) : mie(T);
+ }
+ } else throw Error('non exhaustive match');
+ }
+ }));
+ });
+ let s, l, u, h, f;
+ r('misc mapping', () => {
+ (s = qe(n, (b) => b.tokenTypeIdx)),
+ (l = qe(n, (b) => {
+ let w = b.GROUP;
+ if (w !== ni.SKIPPED) {
+ if (di(w)) return w;
+ if (er(w)) return !1;
+ throw Error('non exhaustive match');
+ }
+ })),
+ (u = qe(n, (b) => {
+ let w = b.LONGER_ALT;
+ if (w) return wt(w) ? qe(w, (T) => Yw(n, T)) : [Yw(n, w)];
+ })),
+ (h = qe(n, (b) => b.PUSH_MODE)),
+ (f = qe(n, (b) => Xe(b, 'POP_MODE')));
+ });
+ let d;
+ r('Line Terminator Handling', () => {
+ let b = Cie(e.lineTerminatorCharacters);
+ (d = qe(n, (w) => !1)),
+ e.positionTracking !== 'onlyOffset' &&
+ (d = qe(n, (w) => (Xe(w, 'LINE_BREAKS') ? !!w.LINE_BREAKS : Eie(w, b) === !1 && zT(b, w.PATTERN))));
+ });
+ let p, m, g, y;
+ r('Misc Mapping #2', () => {
+ (p = qe(n, Tie)),
+ (m = qe(a, mIe)),
+ (g = Vr(
+ n,
+ (b, w) => {
+ let S = w.GROUP;
+ return di(S) && S !== ni.SKIPPED && (b[S] = []), b;
+ },
+ {}
+ )),
+ (y = qe(a, (b, w) => ({
+ pattern: a[w],
+ longerAlt: u[w],
+ canLineTerminator: d[w],
+ isCustom: p[w],
+ short: m[w],
+ group: l[w],
+ push: h[w],
+ pop: f[w],
+ tokenTypeIdx: s[w],
+ tokenType: n[w]
+ })));
+ });
+ let v = !0,
+ x = [];
+ return (
+ e.safeMode ||
+ r('First Char Optimization', () => {
+ x = Vr(
+ n,
+ (b, w, S) => {
+ if (typeof w.PATTERN == 'string') {
+ let T = w.PATTERN.charCodeAt(0),
+ E = Lc(T);
+ hN(b, E, y[S]);
+ } else if (wt(w.START_CHARS_HINT)) {
+ let T;
+ Ee(w.START_CHARS_HINT, (E) => {
+ let _ = typeof E == 'string' ? E.charCodeAt(0) : E,
+ A = Lc(_);
+ T !== A && ((T = A), hN(b, A, y[S]));
+ });
+ } else if (zo(w.PATTERN))
+ if (w.PATTERN.unicode)
+ (v = !1),
+ e.ensureOptimizations &&
+ Wm(`${n2} Unable to analyze < ${w.PATTERN.toString()} > pattern.
+ The regexp unicode flag is not currently supported by the regexp-to-ast library.
+ This will disable the lexer's first char optimizations.
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);
+ else {
+ let T = die(w.PATTERN, e.ensureOptimizations);
+ Qt(T) && (v = !1),
+ Ee(T, (E) => {
+ hN(b, E, y[S]);
+ });
+ }
+ else
+ e.ensureOptimizations &&
+ Wm(`${n2} TokenType: <${w.name}> is using a custom token pattern without providing parameter.
+ This will disable the lexer's first char optimizations.
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),
+ (v = !1);
+ return b;
+ },
+ []
+ );
+ }),
+ {
+ emptyGroups: g,
+ patternIdxToConfig: y,
+ charCodeToPatternIdxToConfig: x,
+ hasCustom: i,
+ canBeOptimized: v
+ }
+ );
+ }
+ function vie(t, e) {
+ let r = [],
+ n = tIe(t);
+ r = r.concat(n.errors);
+ let i = rIe(n.valid),
+ a = i.valid;
+ return (
+ (r = r.concat(i.errors)),
+ (r = r.concat(eIe(a))),
+ (r = r.concat(uIe(a))),
+ (r = r.concat(hIe(a, e))),
+ (r = r.concat(fIe(a))),
+ r
+ );
+ }
+ function eIe(t) {
+ let e = [],
+ r = $r(t, (n) => zo(n[a0]));
+ return (
+ (e = e.concat(iIe(r))),
+ (e = e.concat(oIe(r))),
+ (e = e.concat(lIe(r))),
+ (e = e.concat(cIe(r))),
+ (e = e.concat(aIe(r))),
+ e
+ );
+ }
+ function tIe(t) {
+ let e = $r(t, (i) => !Xe(i, a0)),
+ r = qe(e, (i) => ({
+ message: 'Token Type: ->' + i.name + "<- missing static 'PATTERN' property",
+ type: Gn.MISSING_PATTERN,
+ tokenTypes: [i]
+ })),
+ n = jh(t, e);
+ return { errors: r, valid: n };
+ }
+ function rIe(t) {
+ let e = $r(t, (i) => {
+ let a = i[a0];
+ return !zo(a) && !wi(a) && !Xe(a, 'exec') && !di(a);
+ }),
+ r = qe(e, (i) => ({
+ message:
+ 'Token Type: ->' +
+ i.name +
+ "<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",
+ type: Gn.INVALID_PATTERN,
+ tokenTypes: [i]
+ })),
+ n = jh(t, e);
+ return { errors: r, valid: n };
+ }
+ function iIe(t) {
+ class e extends _c {
+ static {
+ o(this, 'EndAnchorFinder');
+ }
+ constructor() {
+ super(...arguments), (this.found = !1);
+ }
+ visitEndAnchor(a) {
+ this.found = !0;
+ }
+ }
+ let r = $r(t, (i) => {
+ let a = i.PATTERN;
+ try {
+ let s = jm(a),
+ l = new e();
+ return l.visit(s), l.found;
+ } catch {
+ return nIe.test(a.source);
+ }
+ });
+ return qe(r, (i) => ({
+ message:
+ `Unexpected RegExp Anchor Error:
+ Token Type: ->` +
+ i.name +
+ `<- static 'PATTERN' cannot contain end of input anchor '$'
+ See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,
+ type: Gn.EOI_ANCHOR_FOUND,
+ tokenTypes: [i]
+ }));
+ }
+ function aIe(t) {
+ let e = $r(t, (n) => n.PATTERN.test(''));
+ return qe(e, (n) => ({
+ message: 'Token Type: ->' + n.name + "<- static 'PATTERN' must not match an empty string",
+ type: Gn.EMPTY_MATCH_PATTERN,
+ tokenTypes: [n]
+ }));
+ }
+ function oIe(t) {
+ class e extends _c {
+ static {
+ o(this, 'StartAnchorFinder');
+ }
+ constructor() {
+ super(...arguments), (this.found = !1);
+ }
+ visitStartAnchor(a) {
+ this.found = !0;
+ }
+ }
+ let r = $r(t, (i) => {
+ let a = i.PATTERN;
+ try {
+ let s = jm(a),
+ l = new e();
+ return l.visit(s), l.found;
+ } catch {
+ return sIe.test(a.source);
+ }
+ });
+ return qe(r, (i) => ({
+ message:
+ `Unexpected RegExp Anchor Error:
+ Token Type: ->` +
+ i.name +
+ `<- static 'PATTERN' cannot contain start of input anchor '^'
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,
+ type: Gn.SOI_ANCHOR_FOUND,
+ tokenTypes: [i]
+ }));
+ }
+ function lIe(t) {
+ let e = $r(t, (n) => {
+ let i = n[a0];
+ return i instanceof RegExp && (i.multiline || i.global);
+ });
+ return qe(e, (n) => ({
+ message: 'Token Type: ->' + n.name + "<- static 'PATTERN' may NOT contain global('g') or multiline('m')",
+ type: Gn.UNSUPPORTED_FLAGS_FOUND,
+ tokenTypes: [n]
+ }));
+ }
+ function cIe(t) {
+ let e = [],
+ r = qe(t, (a) =>
+ Vr(
+ t,
+ (s, l) => (
+ a.PATTERN.source === l.PATTERN.source &&
+ !Fn(e, l) &&
+ l.PATTERN !== ni.NA &&
+ (e.push(l), s.push(l)),
+ s
+ ),
+ []
+ )
+ );
+ r = wc(r);
+ let n = $r(r, (a) => a.length > 1);
+ return qe(n, (a) => {
+ let s = qe(a, (u) => u.name);
+ return {
+ message: `The same RegExp pattern ->${
+ na(a).PATTERN
+ }<-has been used in all of the following Token Types: ${s.join(', ')} <-`,
+ type: Gn.DUPLICATE_PATTERNS_FOUND,
+ tokenTypes: a
+ };
+ });
+ }
+ function uIe(t) {
+ let e = $r(t, (n) => {
+ if (!Xe(n, 'GROUP')) return !1;
+ let i = n.GROUP;
+ return i !== ni.SKIPPED && i !== ni.NA && !di(i);
+ });
+ return qe(e, (n) => ({
+ message: 'Token Type: ->' + n.name + "<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",
+ type: Gn.INVALID_GROUP_TYPE_FOUND,
+ tokenTypes: [n]
+ }));
+ }
+ function hIe(t, e) {
+ let r = $r(t, (i) => i.PUSH_MODE !== void 0 && !Fn(e, i.PUSH_MODE));
+ return qe(r, (i) => ({
+ message: `Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,
+ type: Gn.PUSH_MODE_DOES_NOT_EXIST,
+ tokenTypes: [i]
+ }));
+ }
+ function fIe(t) {
+ let e = [],
+ r = Vr(
+ t,
+ (n, i, a) => {
+ let s = i.PATTERN;
+ return (
+ s === ni.NA ||
+ (di(s)
+ ? n.push({ str: s, idx: a, tokenType: i })
+ : zo(s) && pIe(s) && n.push({ str: s.source, idx: a, tokenType: i })),
+ n
+ );
+ },
+ []
+ );
+ return (
+ Ee(t, (n, i) => {
+ Ee(r, ({ str: a, idx: s, tokenType: l }) => {
+ if (i < s && dIe(a, n.PATTERN)) {
+ let u = `Token: ->${l.name}<- can never be matched.
+Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
+See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;
+ e.push({
+ message: u,
+ type: Gn.UNREACHABLE_PATTERN,
+ tokenTypes: [n, l]
+ });
+ }
+ });
+ }),
+ e
+ );
+ }
+ function dIe(t, e) {
+ if (zo(e)) {
+ let r = e.exec(t);
+ return r !== null && r.index === 0;
+ } else {
+ if (wi(e)) return e(t, 0, [], {});
+ if (Xe(e, 'exec')) return e.exec(t, 0, [], {});
+ if (typeof e == 'string') return e === t;
+ throw Error('non exhaustive match');
+ }
+ }
+ function pIe(t) {
+ return (
+ Za(
+ ['.', '\\', '[', ']', '|', '^', '$', '(', ')', '?', '*', '+', '{'],
+ (r) => t.source.indexOf(r) !== -1
+ ) === void 0
+ );
+ }
+ function mie(t) {
+ let e = t.ignoreCase ? 'i' : '';
+ return new RegExp(`^(?:${t.source})`, e);
+ }
+ function gie(t) {
+ let e = t.ignoreCase ? 'iy' : 'y';
+ return new RegExp(`${t.source}`, e);
+ }
+ function xie(t, e, r) {
+ let n = [];
+ return (
+ Xe(t, Qm) ||
+ n.push({
+ message:
+ 'A MultiMode Lexer cannot be initialized without a <' +
+ Qm +
+ `> property in its definition
+`,
+ type: Gn.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE
+ }),
+ Xe(t, GT) ||
+ n.push({
+ message:
+ 'A MultiMode Lexer cannot be initialized without a <' +
+ GT +
+ `> property in its definition
+`,
+ type: Gn.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY
+ }),
+ Xe(t, GT) &&
+ Xe(t, Qm) &&
+ !Xe(t.modes, t.defaultMode) &&
+ n.push({
+ message: `A MultiMode Lexer cannot be initialized with a ${Qm}: <${t.defaultMode}>which does not exist
+`,
+ type: Gn.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST
+ }),
+ Xe(t, GT) &&
+ Ee(t.modes, (i, a) => {
+ Ee(i, (s, l) => {
+ if (er(s))
+ n.push({
+ message: `A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}>
+`,
+ type: Gn.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED
+ });
+ else if (Xe(s, 'LONGER_ALT')) {
+ let u = wt(s.LONGER_ALT) ? s.LONGER_ALT : [s.LONGER_ALT];
+ Ee(u, (h) => {
+ !er(h) &&
+ !Fn(i, h) &&
+ n.push({
+ message: `A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}>
+`,
+ type: Gn.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE
+ });
+ });
+ }
+ });
+ }),
+ n
+ );
+ }
+ function bie(t, e, r) {
+ let n = [],
+ i = !1,
+ a = wc(Gr(or(t.modes))),
+ s = Kh(a, (u) => u[a0] === ni.NA),
+ l = Cie(r);
+ return (
+ e &&
+ Ee(s, (u) => {
+ let h = Eie(u, l);
+ if (h !== !1) {
+ let d = { message: gIe(u, h), type: h.issue, tokenType: u };
+ n.push(d);
+ } else Xe(u, 'LINE_BREAKS') ? u.LINE_BREAKS === !0 && (i = !0) : zT(l, u.PATTERN) && (i = !0);
+ }),
+ e &&
+ !i &&
+ n.push({
+ message: `Warning: No LINE_BREAKS Found.
+ This Lexer has been defined to track line and column information,
+ But none of the Token Types can be identified as matching a line terminator.
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
+ for details.`,
+ type: Gn.NO_LINE_BREAKS_FLAGS
+ }),
+ n
+ );
+ }
+ function wie(t) {
+ let e = {},
+ r = Dr(t);
+ return (
+ Ee(r, (n) => {
+ let i = t[n];
+ if (wt(i)) e[n] = [];
+ else throw Error('non exhaustive match');
+ }),
+ e
+ );
+ }
+ function Tie(t) {
+ let e = t.PATTERN;
+ if (zo(e)) return !1;
+ if (wi(e)) return !0;
+ if (Xe(e, 'exec')) return !0;
+ if (di(e)) return !1;
+ throw Error('non exhaustive match');
+ }
+ function mIe(t) {
+ return di(t) && t.length === 1 ? t.charCodeAt(0) : !1;
+ }
+ function Eie(t, e) {
+ if (Xe(t, 'LINE_BREAKS')) return !1;
+ if (zo(t.PATTERN)) {
+ try {
+ zT(e, t.PATTERN);
+ } catch (r) {
+ return { issue: Gn.IDENTIFY_TERMINATOR, errMsg: r.message };
+ }
+ return !1;
+ } else {
+ if (di(t.PATTERN)) return !1;
+ if (Tie(t)) return { issue: Gn.CUSTOM_LINE_BREAK };
+ throw Error('non exhaustive match');
+ }
+ }
+ function gIe(t, e) {
+ if (e.issue === Gn.IDENTIFY_TERMINATOR)
+ return `Warning: unable to identify line terminator usage in pattern.
+ The problem is in the <${t.name}> Token Type
+ Root cause: ${e.errMsg}.
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;
+ if (e.issue === Gn.CUSTOM_LINE_BREAK)
+ return `Warning: A Custom Token Pattern should specify the option.
+ The problem is in the <${t.name}> Token Type
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;
+ throw Error('non exhaustive match');
+ }
+ function Cie(t) {
+ return qe(t, (r) => (di(r) ? r.charCodeAt(0) : r));
+ }
+ function hN(t, e, r) {
+ t[e] === void 0 ? (t[e] = [r]) : t[e].push(r);
+ }
+ function Lc(t) {
+ return t < Km ? t : $T[t];
+ }
+ function yIe() {
+ if (Qt($T)) {
+ $T = new Array(65536);
+ for (let t = 0; t < 65536; t++) $T[t] = t > 255 ? 255 + ~~(t / 255) : t;
+ }
+ }
+ var a0,
+ Qm,
+ GT,
+ fN,
+ nIe,
+ sIe,
+ kie,
+ Km,
+ $T,
+ uN = R(() => {
+ 'use strict';
+ Kv();
+ i2();
+ Pt();
+ qm();
+ pie();
+ BT();
+ (a0 = 'PATTERN'),
+ (Qm = 'defaultMode'),
+ (GT = 'modes'),
+ (fN = typeof new RegExp('(?:)').sticky == 'boolean');
+ o(yie, 'analyzeTokenTypes');
+ o(vie, 'validatePatterns');
+ o(eIe, 'validateRegExpPattern');
+ o(tIe, 'findMissingPatterns');
+ o(rIe, 'findInvalidPatterns');
+ nIe = /[^\\][$]/;
+ o(iIe, 'findEndOfInputAnchor');
+ o(aIe, 'findEmptyMatchRegExps');
+ sIe = /[^\\[][\^]|^\^/;
+ o(oIe, 'findStartOfInputAnchor');
+ o(lIe, 'findUnsupportedFlags');
+ o(cIe, 'findDuplicatePatterns');
+ o(uIe, 'findInvalidGroupType');
+ o(hIe, 'findModesThatDoNotExist');
+ o(fIe, 'findUnreachablePatterns');
+ o(dIe, 'testTokenType');
+ o(pIe, 'noMetaChar');
+ o(mie, 'addStartOfInput');
+ o(gie, 'addStickyFlag');
+ o(xie, 'performRuntimeChecks');
+ o(bie, 'performWarningRuntimeChecks');
+ o(wie, 'cloneEmptyGroups');
+ o(Tie, 'isCustomPattern');
+ o(mIe, 'isShortPattern');
+ kie = {
+ test: o(function (t) {
+ let e = t.length;
+ for (let r = this.lastIndex; r < e; r++) {
+ let n = t.charCodeAt(r);
+ if (n === 10) return (this.lastIndex = r + 1), !0;
+ if (n === 13)
+ return t.charCodeAt(r + 1) === 10 ? (this.lastIndex = r + 2) : (this.lastIndex = r + 1), !0;
+ }
+ return !1;
+ }, 'test'),
+ lastIndex: 0
+ };
+ o(Eie, 'checkLineBreaksIssues');
+ o(gIe, 'buildLineBreakIssueMessage');
+ o(Cie, 'getCharCodes');
+ o(hN, 'addToMapOfArrays');
+ (Km = 256), ($T = []);
+ o(Lc, 'charCodeToOptimizedIndex');
+ o(yIe, 'initCharCodeToOptimizedIndexMap');
+ });
+ function Bu(t, e) {
+ let r = t.tokenTypeIdx;
+ return r === e.tokenTypeIdx ? !0 : e.isParent === !0 && e.categoryMatchesMap[r] === !0;
+ }
+ function Zm(t, e) {
+ return t.tokenTypeIdx === e.tokenTypeIdx;
+ }
+ function Fu(t) {
+ let e = vIe(t);
+ xIe(e),
+ wIe(e),
+ bIe(e),
+ Ee(e, (r) => {
+ r.isParent = r.categoryMatches.length > 0;
+ });
+ }
+ function vIe(t) {
+ let e = Qr(t),
+ r = t,
+ n = !0;
+ for (; n; ) {
+ r = wc(Gr(qe(r, (a) => a.CATEGORIES)));
+ let i = jh(r, e);
+ (e = e.concat(i)), Qt(i) ? (n = !1) : (r = i);
+ }
+ return e;
+ }
+ function xIe(t) {
+ Ee(t, (e) => {
+ dN(e) || ((_ie[Sie] = e), (e.tokenTypeIdx = Sie++)),
+ Aie(e) && !wt(e.CATEGORIES) && (e.CATEGORIES = [e.CATEGORIES]),
+ Aie(e) || (e.CATEGORIES = []),
+ TIe(e) || (e.categoryMatches = []),
+ kIe(e) || (e.categoryMatchesMap = {});
+ });
+ }
+ function bIe(t) {
+ Ee(t, (e) => {
+ (e.categoryMatches = []),
+ Ee(e.categoryMatchesMap, (r, n) => {
+ e.categoryMatches.push(_ie[n].tokenTypeIdx);
+ });
+ });
+ }
+ function wIe(t) {
+ Ee(t, (e) => {
+ Lie([], e);
+ });
+ }
+ function Lie(t, e) {
+ Ee(t, (r) => {
+ e.categoryMatchesMap[r.tokenTypeIdx] = !0;
+ }),
+ Ee(e.CATEGORIES, (r) => {
+ let n = t.concat(e);
+ Fn(n, r) || Lie(n, r);
+ });
+ }
+ function dN(t) {
+ return Xe(t, 'tokenTypeIdx');
+ }
+ function Aie(t) {
+ return Xe(t, 'CATEGORIES');
+ }
+ function TIe(t) {
+ return Xe(t, 'categoryMatches');
+ }
+ function kIe(t) {
+ return Xe(t, 'categoryMatchesMap');
+ }
+ function Die(t) {
+ return Xe(t, 'tokenTypeIdx');
+ }
+ var Sie,
+ _ie,
+ s0 = R(() => {
+ 'use strict';
+ Pt();
+ o(Bu, 'tokenStructuredMatcher');
+ o(Zm, 'tokenStructuredMatcherNoCategories');
+ (Sie = 1), (_ie = {});
+ o(Fu, 'augmentTokenTypes');
+ o(vIe, 'expandCategories');
+ o(xIe, 'assignTokenDefaultProps');
+ o(bIe, 'assignCategoriesTokensProp');
+ o(wIe, 'assignCategoriesMapProp');
+ o(Lie, 'singleAssignCategoriesToksMap');
+ o(dN, 'hasShortKeyProperty');
+ o(Aie, 'hasCategoriesProperty');
+ o(TIe, 'hasExtendingTokensTypesProperty');
+ o(kIe, 'hasExtendingTokensTypesMapProperty');
+ o(Die, 'isTokenType');
+ });
+ var pN,
+ mN = R(() => {
+ 'use strict';
+ pN = {
+ buildUnableToPopLexerModeMessage(t) {
+ return `Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`;
+ },
+ buildUnexpectedCharactersMessage(t, e, r, n, i) {
+ return `unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`;
+ }
+ };
+ });
+ var Gn,
+ a2,
+ ni,
+ i2 = R(() => {
+ 'use strict';
+ uN();
+ Pt();
+ qm();
+ s0();
+ mN();
+ BT();
+ (function (t) {
+ (t[(t.MISSING_PATTERN = 0)] = 'MISSING_PATTERN'),
+ (t[(t.INVALID_PATTERN = 1)] = 'INVALID_PATTERN'),
+ (t[(t.EOI_ANCHOR_FOUND = 2)] = 'EOI_ANCHOR_FOUND'),
+ (t[(t.UNSUPPORTED_FLAGS_FOUND = 3)] = 'UNSUPPORTED_FLAGS_FOUND'),
+ (t[(t.DUPLICATE_PATTERNS_FOUND = 4)] = 'DUPLICATE_PATTERNS_FOUND'),
+ (t[(t.INVALID_GROUP_TYPE_FOUND = 5)] = 'INVALID_GROUP_TYPE_FOUND'),
+ (t[(t.PUSH_MODE_DOES_NOT_EXIST = 6)] = 'PUSH_MODE_DOES_NOT_EXIST'),
+ (t[(t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE = 7)] = 'MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE'),
+ (t[(t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY = 8)] = 'MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY'),
+ (t[(t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST = 9)] =
+ 'MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST'),
+ (t[(t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED = 10)] =
+ 'LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED'),
+ (t[(t.SOI_ANCHOR_FOUND = 11)] = 'SOI_ANCHOR_FOUND'),
+ (t[(t.EMPTY_MATCH_PATTERN = 12)] = 'EMPTY_MATCH_PATTERN'),
+ (t[(t.NO_LINE_BREAKS_FLAGS = 13)] = 'NO_LINE_BREAKS_FLAGS'),
+ (t[(t.UNREACHABLE_PATTERN = 14)] = 'UNREACHABLE_PATTERN'),
+ (t[(t.IDENTIFY_TERMINATOR = 15)] = 'IDENTIFY_TERMINATOR'),
+ (t[(t.CUSTOM_LINE_BREAK = 16)] = 'CUSTOM_LINE_BREAK'),
+ (t[(t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE = 17)] =
+ 'MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE');
+ })(Gn || (Gn = {}));
+ a2 = {
+ deferDefinitionErrorsHandling: !1,
+ positionTracking: 'full',
+ lineTerminatorsPattern: /\n|\r\n?/g,
+ lineTerminatorCharacters: [
+ `
+`,
+ '\r'
+ ],
+ ensureOptimizations: !1,
+ safeMode: !1,
+ errorMessageProvider: pN,
+ traceInitPerf: !1,
+ skipValidations: !1,
+ recoveryEnabled: !0
+ };
+ Object.freeze(a2);
+ ni = class {
+ static {
+ o(this, 'Lexer');
+ }
+ constructor(e, r = a2) {
+ if (
+ ((this.lexerDefinition = e),
+ (this.lexerDefinitionErrors = []),
+ (this.lexerDefinitionWarning = []),
+ (this.patternIdxToConfig = {}),
+ (this.charCodeToPatternIdxToConfig = {}),
+ (this.modes = []),
+ (this.emptyGroups = {}),
+ (this.trackStartLines = !0),
+ (this.trackEndLines = !0),
+ (this.hasCustom = !1),
+ (this.canModeBeOptimized = {}),
+ (this.TRACE_INIT = (i, a) => {
+ if (this.traceInitPerf === !0) {
+ this.traceInitIndent++;
+ let s = new Array(this.traceInitIndent + 1).join(' ');
+ this.traceInitIndent < this.traceInitMaxIdent && console.log(`${s}--> <${i}>`);
+ let { time: l, value: u } = t2(a),
+ h = l > 10 ? console.warn : console.log;
+ return (
+ this.traceInitIndent < this.traceInitMaxIdent && h(`${s}<-- <${i}> time: ${l}ms`),
+ this.traceInitIndent--,
+ u
+ );
+ } else return a();
+ }),
+ typeof r == 'boolean')
+ )
+ throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
+a boolean 2nd argument is no longer supported`);
+ this.config = pa({}, a2, r);
+ let n = this.config.traceInitPerf;
+ n === !0
+ ? ((this.traceInitMaxIdent = 1 / 0), (this.traceInitPerf = !0))
+ : typeof n == 'number' && ((this.traceInitMaxIdent = n), (this.traceInitPerf = !0)),
+ (this.traceInitIndent = -1),
+ this.TRACE_INIT('Lexer Constructor', () => {
+ let i,
+ a = !0;
+ this.TRACE_INIT('Lexer Config handling', () => {
+ if (this.config.lineTerminatorsPattern === a2.lineTerminatorsPattern)
+ this.config.lineTerminatorsPattern = kie;
+ else if (this.config.lineTerminatorCharacters === a2.lineTerminatorCharacters)
+ throw Error(`Error: Missing property on the Lexer config.
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);
+ if (r.safeMode && r.ensureOptimizations)
+ throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');
+ (this.trackStartLines = /full|onlyStart/i.test(this.config.positionTracking)),
+ (this.trackEndLines = /full/i.test(this.config.positionTracking)),
+ wt(e)
+ ? (i = { modes: { defaultMode: Qr(e) }, defaultMode: Qm })
+ : ((a = !1), (i = Qr(e)));
+ }),
+ this.config.skipValidations === !1 &&
+ (this.TRACE_INIT('performRuntimeChecks', () => {
+ this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat(
+ xie(i, this.trackStartLines, this.config.lineTerminatorCharacters)
+ );
+ }),
+ this.TRACE_INIT('performWarningRuntimeChecks', () => {
+ this.lexerDefinitionWarning = this.lexerDefinitionWarning.concat(
+ bie(i, this.trackStartLines, this.config.lineTerminatorCharacters)
+ );
+ })),
+ (i.modes = i.modes ? i.modes : {}),
+ Ee(i.modes, (l, u) => {
+ i.modes[u] = Kh(l, (h) => er(h));
+ });
+ let s = Dr(i.modes);
+ if (
+ (Ee(i.modes, (l, u) => {
+ this.TRACE_INIT(`Mode: <${u}> processing`, () => {
+ if (
+ (this.modes.push(u),
+ this.config.skipValidations === !1 &&
+ this.TRACE_INIT('validatePatterns', () => {
+ this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat(
+ vie(l, s)
+ );
+ }),
+ Qt(this.lexerDefinitionErrors))
+ ) {
+ Fu(l);
+ let h;
+ this.TRACE_INIT('analyzeTokenTypes', () => {
+ h = yie(l, {
+ lineTerminatorCharacters: this.config.lineTerminatorCharacters,
+ positionTracking: r.positionTracking,
+ ensureOptimizations: r.ensureOptimizations,
+ safeMode: r.safeMode,
+ tracer: this.TRACE_INIT
+ });
+ }),
+ (this.patternIdxToConfig[u] = h.patternIdxToConfig),
+ (this.charCodeToPatternIdxToConfig[u] = h.charCodeToPatternIdxToConfig),
+ (this.emptyGroups = pa({}, this.emptyGroups, h.emptyGroups)),
+ (this.hasCustom = h.hasCustom || this.hasCustom),
+ (this.canModeBeOptimized[u] = h.canBeOptimized);
+ }
+ });
+ }),
+ (this.defaultMode = i.defaultMode),
+ !Qt(this.lexerDefinitionErrors) && !this.config.deferDefinitionErrorsHandling)
+ ) {
+ let u = qe(this.lexerDefinitionErrors, (h) => h.message).join(`-----------------------
+`);
+ throw new Error(
+ `Errors detected in definition of Lexer:
+` + u
+ );
+ }
+ Ee(this.lexerDefinitionWarning, (l) => {
+ e2(l.message);
+ }),
+ this.TRACE_INIT('Choosing sub-methods implementations', () => {
+ if (
+ (fN
+ ? ((this.chopInput = ea), (this.match = this.matchWithTest))
+ : ((this.updateLastIndex = qn), (this.match = this.matchWithExec)),
+ a && (this.handleModes = qn),
+ this.trackStartLines === !1 && (this.computeNewColumn = ea),
+ this.trackEndLines === !1 && (this.updateTokenEndLineColumnLocation = qn),
+ /full/i.test(this.config.positionTracking))
+ )
+ this.createTokenInstance = this.createFullToken;
+ else if (/onlyStart/i.test(this.config.positionTracking))
+ this.createTokenInstance = this.createStartOnlyToken;
+ else if (/onlyOffset/i.test(this.config.positionTracking))
+ this.createTokenInstance = this.createOffsetOnlyToken;
+ else
+ throw Error(
+ `Invalid config option: "${this.config.positionTracking}"`
+ );
+ this.hasCustom
+ ? ((this.addToken = this.addTokenUsingPush),
+ (this.handlePayload = this.handlePayloadWithCustom))
+ : ((this.addToken = this.addTokenUsingMemberAccess),
+ (this.handlePayload = this.handlePayloadNoCustom));
+ }),
+ this.TRACE_INIT('Failed Optimization Warnings', () => {
+ let l = Vr(this.canModeBeOptimized, (u, h, f) => (h === !1 && u.push(f), u), []);
+ if (r.ensureOptimizations && !Qt(l))
+ throw Error(`Lexer Modes: < ${l.join(', ')} > cannot be optimized.
+ Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
+ Or inspect the console log for details on how to resolve these issues.`);
+ }),
+ this.TRACE_INIT('clearRegExpParserCache', () => {
+ uie();
+ }),
+ this.TRACE_INIT('toFastProperties', () => {
+ r2(this);
+ });
+ });
+ }
+ tokenize(e, r = this.defaultMode) {
+ if (!Qt(this.lexerDefinitionErrors)) {
+ let i = qe(this.lexerDefinitionErrors, (a) => a.message).join(`-----------------------
+`);
+ throw new Error(
+ `Unable to Tokenize because Errors detected in definition of Lexer:
+` + i
+ );
+ }
+ return this.tokenizeInternal(e, r);
+ }
+ tokenizeInternal(e, r) {
+ let n,
+ i,
+ a,
+ s,
+ l,
+ u,
+ h,
+ f,
+ d,
+ p,
+ m,
+ g,
+ y,
+ v,
+ x,
+ b,
+ w = e,
+ S = w.length,
+ T = 0,
+ E = 0,
+ _ = this.hasCustom ? 0 : Math.floor(e.length / 10),
+ A = new Array(_),
+ L = [],
+ M = this.trackStartLines ? 1 : void 0,
+ N = this.trackStartLines ? 1 : void 0,
+ k = wie(this.emptyGroups),
+ I = this.trackStartLines,
+ C = this.config.lineTerminatorsPattern,
+ O = 0,
+ D = [],
+ P = [],
+ F = [],
+ B = [];
+ Object.freeze(B);
+ let $;
+ function z() {
+ return D;
+ }
+ o(z, 'getPossiblePatternsSlow');
+ function Y(J) {
+ let Z = Lc(J),
+ H = P[Z];
+ return H === void 0 ? B : H;
+ }
+ o(Y, 'getPossiblePatternsOptimized');
+ let Q = o((J) => {
+ if (F.length === 1 && J.tokenType.PUSH_MODE === void 0) {
+ let Z = this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(J);
+ L.push({
+ offset: J.startOffset,
+ line: J.startLine,
+ column: J.startColumn,
+ length: J.image.length,
+ message: Z
+ });
+ } else {
+ F.pop();
+ let Z = ma(F);
+ (D = this.patternIdxToConfig[Z]),
+ (P = this.charCodeToPatternIdxToConfig[Z]),
+ (O = D.length);
+ let H = this.canModeBeOptimized[Z] && this.config.safeMode === !1;
+ P && H ? ($ = Y) : ($ = z);
+ }
+ }, 'pop_mode');
+ function X(J) {
+ F.push(J),
+ (P = this.charCodeToPatternIdxToConfig[J]),
+ (D = this.patternIdxToConfig[J]),
+ (O = D.length),
+ (O = D.length);
+ let Z = this.canModeBeOptimized[J] && this.config.safeMode === !1;
+ P && Z ? ($ = Y) : ($ = z);
+ }
+ o(X, 'push_mode'), X.call(this, r);
+ let ie,
+ j = this.config.recoveryEnabled;
+ for (; T < S; ) {
+ u = null;
+ let J = w.charCodeAt(T),
+ Z = $(J),
+ H = Z.length;
+ for (n = 0; n < H; n++) {
+ ie = Z[n];
+ let q = ie.pattern;
+ h = null;
+ let K = ie.short;
+ if (
+ (K !== !1
+ ? J === K && (u = q)
+ : ie.isCustom === !0
+ ? ((b = q.exec(w, T, A, k)),
+ b !== null ? ((u = b[0]), b.payload !== void 0 && (h = b.payload)) : (u = null))
+ : (this.updateLastIndex(q, T), (u = this.match(q, e, T))),
+ u !== null)
+ ) {
+ if (((l = ie.longerAlt), l !== void 0)) {
+ let se = l.length;
+ for (a = 0; a < se; a++) {
+ let ce = D[l[a]],
+ ue = ce.pattern;
+ if (
+ ((f = null),
+ ce.isCustom === !0
+ ? ((b = ue.exec(w, T, A, k)),
+ b !== null
+ ? ((s = b[0]), b.payload !== void 0 && (f = b.payload))
+ : (s = null))
+ : (this.updateLastIndex(ue, T), (s = this.match(ue, e, T))),
+ s && s.length > u.length)
+ ) {
+ (u = s), (h = f), (ie = ce);
+ break;
+ }
+ }
+ }
+ break;
+ }
+ }
+ if (u !== null) {
+ if (
+ ((d = u.length),
+ (p = ie.group),
+ p !== void 0 &&
+ ((m = ie.tokenTypeIdx),
+ (g = this.createTokenInstance(u, T, m, ie.tokenType, M, N, d)),
+ this.handlePayload(g, h),
+ p === !1 ? (E = this.addToken(A, E, g)) : k[p].push(g)),
+ (e = this.chopInput(e, d)),
+ (T = T + d),
+ (N = this.computeNewColumn(N, d)),
+ I === !0 && ie.canLineTerminator === !0)
+ ) {
+ let q = 0,
+ K,
+ se;
+ C.lastIndex = 0;
+ do (K = C.test(u)), K === !0 && ((se = C.lastIndex - 1), q++);
+ while (K === !0);
+ q !== 0 &&
+ ((M = M + q),
+ (N = d - se),
+ this.updateTokenEndLineColumnLocation(g, p, se, q, M, N, d));
+ }
+ this.handleModes(ie, Q, X, g);
+ } else {
+ let q = T,
+ K = M,
+ se = N,
+ ce = j === !1;
+ for (; ce === !1 && T < S; )
+ for (e = this.chopInput(e, 1), T++, i = 0; i < O; i++) {
+ let ue = D[i],
+ te = ue.pattern,
+ De = ue.short;
+ if (
+ (De !== !1
+ ? w.charCodeAt(T) === De && (ce = !0)
+ : ue.isCustom === !0
+ ? (ce = te.exec(w, T, A, k) !== null)
+ : (this.updateLastIndex(te, T), (ce = te.exec(e) !== null)),
+ ce === !0)
+ )
+ break;
+ }
+ if (
+ ((y = T - q),
+ (N = this.computeNewColumn(N, y)),
+ (x = this.config.errorMessageProvider.buildUnexpectedCharactersMessage(w, q, y, K, se)),
+ L.push({
+ offset: q,
+ line: K,
+ column: se,
+ length: y,
+ message: x
+ }),
+ j === !1)
+ )
+ break;
+ }
+ }
+ return this.hasCustom || (A.length = E), { tokens: A, groups: k, errors: L };
+ }
+ handleModes(e, r, n, i) {
+ if (e.pop === !0) {
+ let a = e.push;
+ r(i), a !== void 0 && n.call(this, a);
+ } else e.push !== void 0 && n.call(this, e.push);
+ }
+ chopInput(e, r) {
+ return e.substring(r);
+ }
+ updateLastIndex(e, r) {
+ e.lastIndex = r;
+ }
+ updateTokenEndLineColumnLocation(e, r, n, i, a, s, l) {
+ let u, h;
+ r !== void 0 &&
+ ((u = n === l - 1),
+ (h = u ? -1 : 0),
+ (i === 1 && u === !0) || ((e.endLine = a + h), (e.endColumn = s - 1 + -h)));
+ }
+ computeNewColumn(e, r) {
+ return e + r;
+ }
+ createOffsetOnlyToken(e, r, n, i) {
+ return { image: e, startOffset: r, tokenTypeIdx: n, tokenType: i };
+ }
+ createStartOnlyToken(e, r, n, i, a, s) {
+ return {
+ image: e,
+ startOffset: r,
+ startLine: a,
+ startColumn: s,
+ tokenTypeIdx: n,
+ tokenType: i
+ };
+ }
+ createFullToken(e, r, n, i, a, s, l) {
+ return {
+ image: e,
+ startOffset: r,
+ endOffset: r + l - 1,
+ startLine: a,
+ endLine: a,
+ startColumn: s,
+ endColumn: s + l - 1,
+ tokenTypeIdx: n,
+ tokenType: i
+ };
+ }
+ addTokenUsingPush(e, r, n) {
+ return e.push(n), r;
+ }
+ addTokenUsingMemberAccess(e, r, n) {
+ return (e[r] = n), r++, r;
+ }
+ handlePayloadNoCustom(e, r) {}
+ handlePayloadWithCustom(e, r) {
+ r !== null && (e.payload = r);
+ }
+ matchWithTest(e, r, n) {
+ return e.test(r) === !0 ? r.substring(n, e.lastIndex) : null;
+ }
+ matchWithExec(e, r) {
+ let n = e.exec(r);
+ return n !== null ? n[0] : null;
+ }
+ };
+ ni.SKIPPED =
+ 'This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.';
+ ni.NA = /NOT_APPLICABLE/;
+ });
+ function zu(t) {
+ return gN(t) ? t.LABEL : t.name;
+ }
+ function gN(t) {
+ return di(t.LABEL) && t.LABEL !== '';
+ }
+ function VT(t) {
+ return CIe(t);
+ }
+ function CIe(t) {
+ let e = t.pattern,
+ r = {};
+ if (((r.name = t.name), er(e) || (r.PATTERN = e), Xe(t, EIe)))
+ throw `The parent property is no longer supported.
+See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;
+ return (
+ Xe(t, Rie) && (r.CATEGORIES = t[Rie]),
+ Fu([r]),
+ Xe(t, Nie) && (r.LABEL = t[Nie]),
+ Xe(t, Mie) && (r.GROUP = t[Mie]),
+ Xe(t, Oie) && (r.POP_MODE = t[Oie]),
+ Xe(t, Iie) && (r.PUSH_MODE = t[Iie]),
+ Xe(t, Pie) && (r.LONGER_ALT = t[Pie]),
+ Xe(t, Bie) && (r.LINE_BREAKS = t[Bie]),
+ Xe(t, Fie) && (r.START_CHARS_HINT = t[Fie]),
+ r
+ );
+ }
+ function o0(t, e, r, n, i, a, s, l) {
+ return {
+ image: e,
+ startOffset: r,
+ endOffset: n,
+ startLine: i,
+ endLine: a,
+ startColumn: s,
+ endColumn: l,
+ tokenTypeIdx: t.tokenTypeIdx,
+ tokenType: t
+ };
+ }
+ function s2(t, e) {
+ return Bu(t, e);
+ }
+ var EIe,
+ Rie,
+ Nie,
+ Mie,
+ Iie,
+ Oie,
+ Pie,
+ Bie,
+ Fie,
+ fo,
+ l0 = R(() => {
+ 'use strict';
+ Pt();
+ i2();
+ s0();
+ o(zu, 'tokenLabel');
+ o(gN, 'hasTokenLabel');
+ (EIe = 'parent'),
+ (Rie = 'categories'),
+ (Nie = 'label'),
+ (Mie = 'group'),
+ (Iie = 'push_mode'),
+ (Oie = 'pop_mode'),
+ (Pie = 'longer_alt'),
+ (Bie = 'line_breaks'),
+ (Fie = 'start_chars_hint');
+ o(VT, 'createToken');
+ o(CIe, 'createTokenInternal');
+ fo = VT({ name: 'EOF', pattern: ni.NA });
+ Fu([fo]);
+ o(o0, 'createTokenInstance');
+ o(s2, 'tokenMatcher');
+ });
+ var Gu,
+ zie,
+ Ol,
+ Jm = R(() => {
+ 'use strict';
+ l0();
+ Pt();
+ ns();
+ Gu = {
+ buildMismatchTokenMessage({ expected: t, actual: e, previous: r, ruleName: n }) {
+ return `Expecting ${
+ gN(t) ? `--> ${zu(t)} <--` : `token of type --> ${t.name} <--`
+ } but found --> '${e.image}' <--`;
+ },
+ buildNotAllInputParsedMessage({ firstRedundant: t, ruleName: e }) {
+ return 'Redundant input, expecting EOF but found: ' + t.image;
+ },
+ buildNoViableAltMessage({
+ expectedPathsPerAlt: t,
+ actual: e,
+ previous: r,
+ customUserDescription: n,
+ ruleName: i
+ }) {
+ let a = 'Expecting: ',
+ l =
+ `
+but found: '` +
+ na(e).image +
+ "'";
+ if (n) return a + n + l;
+ {
+ let u = Vr(t, (p, m) => p.concat(m), []),
+ h = qe(u, (p) => `[${qe(p, (m) => zu(m)).join(', ')}]`),
+ d = `one of these possible Token sequences:
+${qe(h, (p, m) => ` ${m + 1}. ${p}`).join(`
+`)}`;
+ return a + d + l;
+ }
+ },
+ buildEarlyExitMessage({ expectedIterationPaths: t, actual: e, customUserDescription: r, ruleName: n }) {
+ let i = 'Expecting: ',
+ s =
+ `
+but found: '` +
+ na(e).image +
+ "'";
+ if (r) return i + r + s;
+ {
+ let u = `expecting at least one iteration which starts with one of these possible Token sequences::
+ <${qe(t, (h) => `[${qe(h, (f) => zu(f)).join(',')}]`).join(' ,')}>`;
+ return i + u + s;
+ }
+ }
+ };
+ Object.freeze(Gu);
+ (zie = {
+ buildRuleNotFoundError(t, e) {
+ return (
+ 'Invalid grammar, reference to a rule which is not defined: ->' +
+ e.nonTerminalName +
+ `<-
+inside top level rule: ->` +
+ t.name +
+ '<-'
+ );
+ }
+ }),
+ (Ol = {
+ buildDuplicateFoundError(t, e) {
+ function r(f) {
+ return f instanceof fr ? f.terminalType.name : f instanceof Zr ? f.nonTerminalName : '';
+ }
+ o(r, 'getExtraProductionArgument');
+ let n = t.name,
+ i = na(e),
+ a = i.idx,
+ s = Rs(i),
+ l = r(i),
+ u = a > 0,
+ h = `->${s}${u ? a : ''}<- ${l ? `with argument: ->${l}<-` : ''}
+ appears more than once (${e.length} times) in the top level rule: ->${n}<-.
+ For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
+ `;
+ return (
+ (h = h.replace(/[ \t]+/g, ' ')),
+ (h = h.replace(
+ /\s\s+/g,
+ `
+`
+ )),
+ h
+ );
+ },
+ buildNamespaceConflictError(t) {
+ return `Namespace conflict found in grammar.
+The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
+To resolve this make sure each Terminal and Non-Terminal names are unique
+This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
+and Non-Terminal names start with a lower case letter.`;
+ },
+ buildAlternationPrefixAmbiguityError(t) {
+ let e = qe(t.prefixPath, (i) => zu(i)).join(', '),
+ r = t.alternation.idx === 0 ? '' : t.alternation.idx;
+ return `Ambiguous alternatives: <${t.ambiguityIndices.join(
+ ' ,'
+ )}> due to common lookahead prefix
+in inside <${t.topLevelRule.name}> Rule,
+<${e}> may appears as a prefix path in all these alternatives.
+See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
+For Further details.`;
+ },
+ buildAlternationAmbiguityError(t) {
+ let e = qe(t.prefixPath, (i) => zu(i)).join(', '),
+ r = t.alternation.idx === 0 ? '' : t.alternation.idx,
+ n = `Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(
+ ' ,'
+ )}> in inside <${t.topLevelRule.name}> Rule,
+<${e}> may appears as a prefix path in all these alternatives.
+`;
+ return (
+ (n =
+ n +
+ `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
+For Further details.`),
+ n
+ );
+ },
+ buildEmptyRepetitionError(t) {
+ let e = Rs(t.repetition);
+ return (
+ t.repetition.idx !== 0 && (e += t.repetition.idx),
+ `The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
+This could lead to an infinite loop.`
+ );
+ },
+ buildTokenNameError(t) {
+ return 'deprecated';
+ },
+ buildEmptyAlternationError(t) {
+ return `Ambiguous empty alternative: <${t.emptyChoiceIdx + 1}> in inside <${t.topLevelRule.name}> Rule.
+Only the last alternative may be an empty alternative.`;
+ },
+ buildTooManyAlternativesError(t) {
+ return `An Alternation cannot have more than 256 alternatives:
+ inside <${t.topLevelRule.name}> Rule.
+ has ${t.alternation.definition.length + 1} alternatives.`;
+ },
+ buildLeftRecursionError(t) {
+ let e = t.topLevelRule.name,
+ r = qe(t.leftRecursionPath, (a) => a.name),
+ n = `${e} --> ${r.concat([e]).join(' --> ')}`;
+ return `Left Recursion found in grammar.
+rule: <${e}> can be invoked from itself (directly or indirectly)
+without consuming any Tokens. The grammar path that causes this is:
+ ${n}
+ To fix this refactor your grammar to remove the left recursion.
+see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`;
+ },
+ buildInvalidRuleNameError(t) {
+ return 'deprecated';
+ },
+ buildDuplicateRuleNameError(t) {
+ let e;
+ return (
+ t.topLevelRule instanceof ts ? (e = t.topLevelRule.name) : (e = t.topLevelRule),
+ `Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`
+ );
+ }
+ });
+ });
+ function Gie(t, e) {
+ let r = new yN(t, e);
+ return r.resolveRefs(), r.errors;
+ }
+ var yN,
+ $ie = R(() => {
+ 'use strict';
+ Ns();
+ Pt();
+ ns();
+ o(Gie, 'resolveGrammar');
+ yN = class extends rs {
+ static {
+ o(this, 'GastRefResolverVisitor');
+ }
+ constructor(e, r) {
+ super(), (this.nameToTopRule = e), (this.errMsgProvider = r), (this.errors = []);
+ }
+ resolveRefs() {
+ Ee(or(this.nameToTopRule), (e) => {
+ (this.currTopLevel = e), e.accept(this);
+ });
+ }
+ visitNonTerminal(e) {
+ let r = this.nameToTopRule[e.nonTerminalName];
+ if (r) e.referencedRule = r;
+ else {
+ let n = this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel, e);
+ this.errors.push({
+ message: n,
+ type: Pi.UNRESOLVED_SUBRULE_REF,
+ ruleName: this.currTopLevel.name,
+ unresolvedRefName: e.nonTerminalName
+ });
+ }
+ }
+ };
+ });
+ function WT(t, e, r = []) {
+ r = Qr(r);
+ let n = [],
+ i = 0;
+ function a(l) {
+ return l.concat(fi(t, i + 1));
+ }
+ o(a, 'remainingPathWith');
+ function s(l) {
+ let u = WT(a(l), e, r);
+ return n.concat(u);
+ }
+ for (o(s, 'getAlternativesForProd'); r.length < e && i < t.length; ) {
+ let l = t[i];
+ if (l instanceof Sn) return s(l.definition);
+ if (l instanceof Zr) return s(l.definition);
+ if (l instanceof Jr) n = s(l.definition);
+ else if (l instanceof An) {
+ let u = l.definition.concat([new br({ definition: l.definition })]);
+ return s(u);
+ } else if (l instanceof _n) {
+ let u = [
+ new Sn({ definition: l.definition }),
+ new br({
+ definition: [new fr({ terminalType: l.separator })].concat(l.definition)
+ })
+ ];
+ return s(u);
+ } else if (l instanceof mn) {
+ let u = l.definition.concat([
+ new br({
+ definition: [new fr({ terminalType: l.separator })].concat(l.definition)
+ })
+ ]);
+ n = s(u);
+ } else if (l instanceof br) {
+ let u = l.definition.concat([new br({ definition: l.definition })]);
+ n = s(u);
+ } else {
+ if (l instanceof gn)
+ return (
+ Ee(l.definition, (u) => {
+ Qt(u.definition) === !1 && (n = s(u.definition));
+ }),
+ n
+ );
+ if (l instanceof fr) r.push(l.terminalType);
+ else throw Error('non exhaustive match');
+ }
+ i++;
+ }
+ return n.push({ partialPath: r, suffixDef: fi(t, i) }), n;
+ }
+ function qT(t, e, r, n) {
+ let i = 'EXIT_NONE_TERMINAL',
+ a = [i],
+ s = 'EXIT_ALTERNATIVE',
+ l = !1,
+ u = e.length,
+ h = u - n - 1,
+ f = [],
+ d = [];
+ for (d.push({ idx: -1, def: t, ruleStack: [], occurrenceStack: [] }); !Qt(d); ) {
+ let p = d.pop();
+ if (p === s) {
+ l && ma(d).idx <= h && d.pop();
+ continue;
+ }
+ let m = p.def,
+ g = p.idx,
+ y = p.ruleStack,
+ v = p.occurrenceStack;
+ if (Qt(m)) continue;
+ let x = m[0];
+ if (x === i) {
+ let b = {
+ idx: g,
+ def: fi(m),
+ ruleStack: Ru(y),
+ occurrenceStack: Ru(v)
+ };
+ d.push(b);
+ } else if (x instanceof fr)
+ if (g < u - 1) {
+ let b = g + 1,
+ w = e[b];
+ if (r(w, x.terminalType)) {
+ let S = { idx: b, def: fi(m), ruleStack: y, occurrenceStack: v };
+ d.push(S);
+ }
+ } else if (g === u - 1)
+ f.push({
+ nextTokenType: x.terminalType,
+ nextTokenOccurrence: x.idx,
+ ruleStack: y,
+ occurrenceStack: v
+ }),
+ (l = !0);
+ else throw Error('non exhaustive match');
+ else if (x instanceof Zr) {
+ let b = Qr(y);
+ b.push(x.nonTerminalName);
+ let w = Qr(v);
+ w.push(x.idx);
+ let S = {
+ idx: g,
+ def: x.definition.concat(a, fi(m)),
+ ruleStack: b,
+ occurrenceStack: w
+ };
+ d.push(S);
+ } else if (x instanceof Jr) {
+ let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v };
+ d.push(b), d.push(s);
+ let w = {
+ idx: g,
+ def: x.definition.concat(fi(m)),
+ ruleStack: y,
+ occurrenceStack: v
+ };
+ d.push(w);
+ } else if (x instanceof An) {
+ let b = new br({ definition: x.definition, idx: x.idx }),
+ w = x.definition.concat([b], fi(m)),
+ S = { idx: g, def: w, ruleStack: y, occurrenceStack: v };
+ d.push(S);
+ } else if (x instanceof _n) {
+ let b = new fr({ terminalType: x.separator }),
+ w = new br({ definition: [b].concat(x.definition), idx: x.idx }),
+ S = x.definition.concat([w], fi(m)),
+ T = { idx: g, def: S, ruleStack: y, occurrenceStack: v };
+ d.push(T);
+ } else if (x instanceof mn) {
+ let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v };
+ d.push(b), d.push(s);
+ let w = new fr({ terminalType: x.separator }),
+ S = new br({ definition: [w].concat(x.definition), idx: x.idx }),
+ T = x.definition.concat([S], fi(m)),
+ E = { idx: g, def: T, ruleStack: y, occurrenceStack: v };
+ d.push(E);
+ } else if (x instanceof br) {
+ let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v };
+ d.push(b), d.push(s);
+ let w = new br({ definition: x.definition, idx: x.idx }),
+ S = x.definition.concat([w], fi(m)),
+ T = { idx: g, def: S, ruleStack: y, occurrenceStack: v };
+ d.push(T);
+ } else if (x instanceof gn)
+ for (let b = x.definition.length - 1; b >= 0; b--) {
+ let w = x.definition[b],
+ S = {
+ idx: g,
+ def: w.definition.concat(fi(m)),
+ ruleStack: y,
+ occurrenceStack: v
+ };
+ d.push(S), d.push(s);
+ }
+ else if (x instanceof Sn)
+ d.push({
+ idx: g,
+ def: x.definition.concat(fi(m)),
+ ruleStack: y,
+ occurrenceStack: v
+ });
+ else if (x instanceof ts) d.push(SIe(x, g, y, v));
+ else throw Error('non exhaustive match');
+ }
+ return f;
+ }
+ function SIe(t, e, r, n) {
+ let i = Qr(r);
+ i.push(t.name);
+ let a = Qr(n);
+ return a.push(1), { idx: e, def: t.definition, ruleStack: i, occurrenceStack: a };
+ }
+ var vN,
+ UT,
+ eg,
+ HT,
+ o2,
+ YT,
+ l2,
+ c2 = R(() => {
+ 'use strict';
+ Pt();
+ iN();
+ IT();
+ ns();
+ (vN = class extends Pu {
+ static {
+ o(this, 'AbstractNextPossibleTokensWalker');
+ }
+ constructor(e, r) {
+ super(),
+ (this.topProd = e),
+ (this.path = r),
+ (this.possibleTokTypes = []),
+ (this.nextProductionName = ''),
+ (this.nextProductionOccurrence = 0),
+ (this.found = !1),
+ (this.isAtEndOfPath = !1);
+ }
+ startWalking() {
+ if (((this.found = !1), this.path.ruleStack[0] !== this.topProd.name))
+ throw Error("The path does not start with the walker's top Rule!");
+ return (
+ (this.ruleStack = Qr(this.path.ruleStack).reverse()),
+ (this.occurrenceStack = Qr(this.path.occurrenceStack).reverse()),
+ this.ruleStack.pop(),
+ this.occurrenceStack.pop(),
+ this.updateExpectedNext(),
+ this.walk(this.topProd),
+ this.possibleTokTypes
+ );
+ }
+ walk(e, r = []) {
+ this.found || super.walk(e, r);
+ }
+ walkProdRef(e, r, n) {
+ if (e.referencedRule.name === this.nextProductionName && e.idx === this.nextProductionOccurrence) {
+ let i = r.concat(n);
+ this.updateExpectedNext(), this.walk(e.referencedRule, i);
+ }
+ }
+ updateExpectedNext() {
+ Qt(this.ruleStack)
+ ? ((this.nextProductionName = ''),
+ (this.nextProductionOccurrence = 0),
+ (this.isAtEndOfPath = !0))
+ : ((this.nextProductionName = this.ruleStack.pop()),
+ (this.nextProductionOccurrence = this.occurrenceStack.pop()));
+ }
+ }),
+ (UT = class extends vN {
+ static {
+ o(this, 'NextAfterTokenWalker');
+ }
+ constructor(e, r) {
+ super(e, r),
+ (this.path = r),
+ (this.nextTerminalName = ''),
+ (this.nextTerminalOccurrence = 0),
+ (this.nextTerminalName = this.path.lastTok.name),
+ (this.nextTerminalOccurrence = this.path.lastTokOccurrence);
+ }
+ walkTerminal(e, r, n) {
+ if (
+ this.isAtEndOfPath &&
+ e.terminalType.name === this.nextTerminalName &&
+ e.idx === this.nextTerminalOccurrence &&
+ !this.found
+ ) {
+ let i = r.concat(n),
+ a = new Sn({ definition: i });
+ (this.possibleTokTypes = i0(a)), (this.found = !0);
+ }
+ }
+ }),
+ (eg = class extends Pu {
+ static {
+ o(this, 'AbstractNextTerminalAfterProductionWalker');
+ }
+ constructor(e, r) {
+ super(),
+ (this.topRule = e),
+ (this.occurrence = r),
+ (this.result = {
+ token: void 0,
+ occurrence: void 0,
+ isEndOfRule: void 0
+ });
+ }
+ startWalking() {
+ return this.walk(this.topRule), this.result;
+ }
+ }),
+ (HT = class extends eg {
+ static {
+ o(this, 'NextTerminalAfterManyWalker');
+ }
+ walkMany(e, r, n) {
+ if (e.idx === this.occurrence) {
+ let i = na(r.concat(n));
+ (this.result.isEndOfRule = i === void 0),
+ i instanceof fr &&
+ ((this.result.token = i.terminalType), (this.result.occurrence = i.idx));
+ } else super.walkMany(e, r, n);
+ }
+ }),
+ (o2 = class extends eg {
+ static {
+ o(this, 'NextTerminalAfterManySepWalker');
+ }
+ walkManySep(e, r, n) {
+ if (e.idx === this.occurrence) {
+ let i = na(r.concat(n));
+ (this.result.isEndOfRule = i === void 0),
+ i instanceof fr &&
+ ((this.result.token = i.terminalType), (this.result.occurrence = i.idx));
+ } else super.walkManySep(e, r, n);
+ }
+ }),
+ (YT = class extends eg {
+ static {
+ o(this, 'NextTerminalAfterAtLeastOneWalker');
+ }
+ walkAtLeastOne(e, r, n) {
+ if (e.idx === this.occurrence) {
+ let i = na(r.concat(n));
+ (this.result.isEndOfRule = i === void 0),
+ i instanceof fr &&
+ ((this.result.token = i.terminalType), (this.result.occurrence = i.idx));
+ } else super.walkAtLeastOne(e, r, n);
+ }
+ }),
+ (l2 = class extends eg {
+ static {
+ o(this, 'NextTerminalAfterAtLeastOneSepWalker');
+ }
+ walkAtLeastOneSep(e, r, n) {
+ if (e.idx === this.occurrence) {
+ let i = na(r.concat(n));
+ (this.result.isEndOfRule = i === void 0),
+ i instanceof fr &&
+ ((this.result.token = i.terminalType), (this.result.occurrence = i.idx));
+ } else super.walkAtLeastOneSep(e, r, n);
+ }
+ });
+ o(WT, 'possiblePathsFrom');
+ o(qT, 'nextPossibleTokensAfter');
+ o(SIe, 'expandTopLevelRule');
+ });
+ function u2(t) {
+ if (t instanceof Jr || t === 'Option') return $n.OPTION;
+ if (t instanceof br || t === 'Repetition') return $n.REPETITION;
+ if (t instanceof An || t === 'RepetitionMandatory') return $n.REPETITION_MANDATORY;
+ if (t instanceof _n || t === 'RepetitionMandatoryWithSeparator') return $n.REPETITION_MANDATORY_WITH_SEPARATOR;
+ if (t instanceof mn || t === 'RepetitionWithSeparator') return $n.REPETITION_WITH_SEPARATOR;
+ if (t instanceof gn || t === 'Alternation') return $n.ALTERNATION;
+ throw Error('non exhaustive match');
+ }
+ function jT(t) {
+ let { occurrence: e, rule: r, prodType: n, maxLookahead: i } = t,
+ a = u2(n);
+ return a === $n.ALTERNATION ? tg(e, r, i) : rg(e, r, a, i);
+ }
+ function Uie(t, e, r, n, i, a) {
+ let s = tg(t, e, r),
+ l = jie(s) ? Zm : Bu;
+ return a(s, n, l, i);
+ }
+ function Hie(t, e, r, n, i, a) {
+ let s = rg(t, e, i, r),
+ l = jie(s) ? Zm : Bu;
+ return a(s[0], l, n);
+ }
+ function Yie(t, e, r, n) {
+ let i = t.length,
+ a = Ia(t, (s) => Ia(s, (l) => l.length === 1));
+ if (e)
+ return function (s) {
+ let l = qe(s, (u) => u.GATE);
+ for (let u = 0; u < i; u++) {
+ let h = t[u],
+ f = h.length,
+ d = l[u];
+ if (!(d !== void 0 && d.call(this) === !1))
+ e: for (let p = 0; p < f; p++) {
+ let m = h[p],
+ g = m.length;
+ for (let y = 0; y < g; y++) {
+ let v = this.LA(y + 1);
+ if (r(v, m[y]) === !1) continue e;
+ }
+ return u;
+ }
+ }
+ };
+ if (a && !n) {
+ let s = qe(t, (u) => Gr(u)),
+ l = Vr(
+ s,
+ (u, h, f) => (
+ Ee(h, (d) => {
+ Xe(u, d.tokenTypeIdx) || (u[d.tokenTypeIdx] = f),
+ Ee(d.categoryMatches, (p) => {
+ Xe(u, p) || (u[p] = f);
+ });
+ }),
+ u
+ ),
+ {}
+ );
+ return function () {
+ let u = this.LA(1);
+ return l[u.tokenTypeIdx];
+ };
+ } else
+ return function () {
+ for (let s = 0; s < i; s++) {
+ let l = t[s],
+ u = l.length;
+ e: for (let h = 0; h < u; h++) {
+ let f = l[h],
+ d = f.length;
+ for (let p = 0; p < d; p++) {
+ let m = this.LA(p + 1);
+ if (r(m, f[p]) === !1) continue e;
+ }
+ return s;
+ }
+ }
+ };
+ }
+ function Wie(t, e, r) {
+ let n = Ia(t, (a) => a.length === 1),
+ i = t.length;
+ if (n && !r) {
+ let a = Gr(t);
+ if (a.length === 1 && Qt(a[0].categoryMatches)) {
+ let l = a[0].tokenTypeIdx;
+ return function () {
+ return this.LA(1).tokenTypeIdx === l;
+ };
+ } else {
+ let s = Vr(
+ a,
+ (l, u, h) => (
+ (l[u.tokenTypeIdx] = !0),
+ Ee(u.categoryMatches, (f) => {
+ l[f] = !0;
+ }),
+ l
+ ),
+ []
+ );
+ return function () {
+ let l = this.LA(1);
+ return s[l.tokenTypeIdx] === !0;
+ };
+ }
+ } else
+ return function () {
+ e: for (let a = 0; a < i; a++) {
+ let s = t[a],
+ l = s.length;
+ for (let u = 0; u < l; u++) {
+ let h = this.LA(u + 1);
+ if (e(h, s[u]) === !1) continue e;
+ }
+ return !0;
+ }
+ return !1;
+ };
+ }
+ function Vie(t) {
+ let e = new Array(t);
+ for (let r = 0; r < t; r++) e[r] = [];
+ return e;
+ }
+ function xN(t) {
+ let e = [''];
+ for (let r = 0; r < t.length; r++) {
+ let n = t[r],
+ i = [];
+ for (let a = 0; a < e.length; a++) {
+ let s = e[a];
+ i.push(s + '_' + n.tokenTypeIdx);
+ for (let l = 0; l < n.categoryMatches.length; l++) {
+ let u = '_' + n.categoryMatches[l];
+ i.push(s + u);
+ }
+ }
+ e = i;
+ }
+ return e;
+ }
+ function AIe(t, e, r) {
+ for (let n = 0; n < t.length; n++) {
+ if (n === r) continue;
+ let i = t[n];
+ for (let a = 0; a < e.length; a++) {
+ let s = e[a];
+ if (i[s] === !0) return !1;
+ }
+ }
+ return !0;
+ }
+ function qie(t, e) {
+ let r = qe(t, (s) => WT([s], 1)),
+ n = Vie(r.length),
+ i = qe(r, (s) => {
+ let l = {};
+ return (
+ Ee(s, (u) => {
+ let h = xN(u.partialPath);
+ Ee(h, (f) => {
+ l[f] = !0;
+ });
+ }),
+ l
+ );
+ }),
+ a = r;
+ for (let s = 1; s <= e; s++) {
+ let l = a;
+ a = Vie(l.length);
+ for (let u = 0; u < l.length; u++) {
+ let h = l[u];
+ for (let f = 0; f < h.length; f++) {
+ let d = h[f].partialPath,
+ p = h[f].suffixDef,
+ m = xN(d);
+ if (AIe(i, m, u) || Qt(p) || d.length === e) {
+ let y = n[u];
+ if (KT(y, d) === !1) {
+ y.push(d);
+ for (let v = 0; v < m.length; v++) {
+ let x = m[v];
+ i[u][x] = !0;
+ }
+ }
+ } else {
+ let y = WT(p, s + 1, d);
+ (a[u] = a[u].concat(y)),
+ Ee(y, (v) => {
+ let x = xN(v.partialPath);
+ Ee(x, (b) => {
+ i[u][b] = !0;
+ });
+ });
+ }
+ }
+ }
+ }
+ return n;
+ }
+ function tg(t, e, r, n) {
+ let i = new XT(t, $n.ALTERNATION, n);
+ return e.accept(i), qie(i.result, r);
+ }
+ function rg(t, e, r, n) {
+ let i = new XT(t, r);
+ e.accept(i);
+ let a = i.result,
+ l = new bN(e, t, r).startWalking(),
+ u = new Sn({ definition: a }),
+ h = new Sn({ definition: l });
+ return qie([u, h], n);
+ }
+ function KT(t, e) {
+ e: for (let r = 0; r < t.length; r++) {
+ let n = t[r];
+ if (n.length === e.length) {
+ for (let i = 0; i < n.length; i++) {
+ let a = e[i],
+ s = n[i];
+ if ((a === s || s.categoryMatchesMap[a.tokenTypeIdx] !== void 0) === !1) continue e;
+ }
+ return !0;
+ }
+ }
+ return !1;
+ }
+ function Xie(t, e) {
+ return (
+ t.length < e.length &&
+ Ia(t, (r, n) => {
+ let i = e[n];
+ return r === i || i.categoryMatchesMap[r.tokenTypeIdx];
+ })
+ );
+ }
+ function jie(t) {
+ return Ia(t, (e) => Ia(e, (r) => Ia(r, (n) => Qt(n.categoryMatches))));
+ }
+ var $n,
+ bN,
+ XT,
+ ng = R(() => {
+ 'use strict';
+ Pt();
+ c2();
+ IT();
+ s0();
+ ns();
+ (function (t) {
+ (t[(t.OPTION = 0)] = 'OPTION'),
+ (t[(t.REPETITION = 1)] = 'REPETITION'),
+ (t[(t.REPETITION_MANDATORY = 2)] = 'REPETITION_MANDATORY'),
+ (t[(t.REPETITION_MANDATORY_WITH_SEPARATOR = 3)] = 'REPETITION_MANDATORY_WITH_SEPARATOR'),
+ (t[(t.REPETITION_WITH_SEPARATOR = 4)] = 'REPETITION_WITH_SEPARATOR'),
+ (t[(t.ALTERNATION = 5)] = 'ALTERNATION');
+ })($n || ($n = {}));
+ o(u2, 'getProdType');
+ o(jT, 'getLookaheadPaths');
+ o(Uie, 'buildLookaheadFuncForOr');
+ o(Hie, 'buildLookaheadFuncForOptionalProd');
+ o(Yie, 'buildAlternativesLookAheadFunc');
+ o(Wie, 'buildSingleAlternativeLookaheadFunction');
+ (bN = class extends Pu {
+ static {
+ o(this, 'RestDefinitionFinderWalker');
+ }
+ constructor(e, r, n) {
+ super(), (this.topProd = e), (this.targetOccurrence = r), (this.targetProdType = n);
+ }
+ startWalking() {
+ return this.walk(this.topProd), this.restDef;
+ }
+ checkIsTarget(e, r, n, i) {
+ return e.idx === this.targetOccurrence && this.targetProdType === r
+ ? ((this.restDef = n.concat(i)), !0)
+ : !1;
+ }
+ walkOption(e, r, n) {
+ this.checkIsTarget(e, $n.OPTION, r, n) || super.walkOption(e, r, n);
+ }
+ walkAtLeastOne(e, r, n) {
+ this.checkIsTarget(e, $n.REPETITION_MANDATORY, r, n) || super.walkOption(e, r, n);
+ }
+ walkAtLeastOneSep(e, r, n) {
+ this.checkIsTarget(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR, r, n) || super.walkOption(e, r, n);
+ }
+ walkMany(e, r, n) {
+ this.checkIsTarget(e, $n.REPETITION, r, n) || super.walkOption(e, r, n);
+ }
+ walkManySep(e, r, n) {
+ this.checkIsTarget(e, $n.REPETITION_WITH_SEPARATOR, r, n) || super.walkOption(e, r, n);
+ }
+ }),
+ (XT = class extends rs {
+ static {
+ o(this, 'InsideDefinitionFinderVisitor');
+ }
+ constructor(e, r, n) {
+ super(),
+ (this.targetOccurrence = e),
+ (this.targetProdType = r),
+ (this.targetRef = n),
+ (this.result = []);
+ }
+ checkIsTarget(e, r) {
+ e.idx === this.targetOccurrence &&
+ this.targetProdType === r &&
+ (this.targetRef === void 0 || e === this.targetRef) &&
+ (this.result = e.definition);
+ }
+ visitOption(e) {
+ this.checkIsTarget(e, $n.OPTION);
+ }
+ visitRepetition(e) {
+ this.checkIsTarget(e, $n.REPETITION);
+ }
+ visitRepetitionMandatory(e) {
+ this.checkIsTarget(e, $n.REPETITION_MANDATORY);
+ }
+ visitRepetitionMandatoryWithSeparator(e) {
+ this.checkIsTarget(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR);
+ }
+ visitRepetitionWithSeparator(e) {
+ this.checkIsTarget(e, $n.REPETITION_WITH_SEPARATOR);
+ }
+ visitAlternation(e) {
+ this.checkIsTarget(e, $n.ALTERNATION);
+ }
+ });
+ o(Vie, 'initializeArrayOfArrays');
+ o(xN, 'pathToHashKeys');
+ o(AIe, 'isUniquePrefixHash');
+ o(qie, 'lookAheadSequenceFromAlternatives');
+ o(tg, 'getLookaheadPathsForOr');
+ o(rg, 'getLookaheadPathsForOptionalProd');
+ o(KT, 'containsPath');
+ o(Xie, 'isStrictPrefixOfPath');
+ o(jie, 'areTokenCategoriesNotUsed');
+ });
+ function Kie(t) {
+ let e = t.lookaheadStrategy.validate({
+ rules: t.rules,
+ tokenTypes: t.tokenTypes,
+ grammarName: t.grammarName
+ });
+ return qe(e, (r) => Object.assign({ type: Pi.CUSTOM_LOOKAHEAD_VALIDATION }, r));
+ }
+ function Qie(t, e, r, n) {
+ let i = ga(t, (u) => _Ie(u, r)),
+ a = IIe(t, e, r),
+ s = ga(t, (u) => RIe(u, r)),
+ l = ga(t, (u) => DIe(u, t, n, r));
+ return i.concat(a, s, l);
+ }
+ function _Ie(t, e) {
+ let r = new wN();
+ t.accept(r);
+ let n = r.allProductions,
+ i = IL(n, LIe),
+ a = Ls(i, (l) => l.length > 1);
+ return qe(or(a), (l) => {
+ let u = na(l),
+ h = e.buildDuplicateFoundError(t, l),
+ f = Rs(u),
+ d = {
+ message: h,
+ type: Pi.DUPLICATE_PRODUCTIONS,
+ ruleName: t.name,
+ dslName: f,
+ occurrence: u.idx
+ },
+ p = Zie(u);
+ return p && (d.parameter = p), d;
+ });
+ }
+ function LIe(t) {
+ return `${Rs(t)}_#_${t.idx}_#_${Zie(t)}`;
+ }
+ function Zie(t) {
+ return t instanceof fr ? t.terminalType.name : t instanceof Zr ? t.nonTerminalName : '';
+ }
+ function DIe(t, e, r, n) {
+ let i = [];
+ if (Vr(e, (s, l) => (l.name === t.name ? s + 1 : s), 0) > 1) {
+ let s = n.buildDuplicateRuleNameError({
+ topLevelRule: t,
+ grammarName: r
+ });
+ i.push({ message: s, type: Pi.DUPLICATE_RULE_NAME, ruleName: t.name });
+ }
+ return i;
+ }
+ function Jie(t, e, r) {
+ let n = [],
+ i;
+ return (
+ Fn(e, t) ||
+ ((i = `Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `),
+ n.push({ message: i, type: Pi.INVALID_RULE_OVERRIDE, ruleName: t })),
+ n
+ );
+ }
+ function kN(t, e, r, n = []) {
+ let i = [],
+ a = QT(e.definition);
+ if (Qt(a)) return [];
+ {
+ let s = t.name;
+ Fn(a, t) &&
+ i.push({
+ message: r.buildLeftRecursionError({
+ topLevelRule: t,
+ leftRecursionPath: n
+ }),
+ type: Pi.LEFT_RECURSION,
+ ruleName: s
+ });
+ let u = jh(a, n.concat([t])),
+ h = ga(u, (f) => {
+ let d = Qr(n);
+ return d.push(f), kN(t, f, r, d);
+ });
+ return i.concat(h);
+ }
+ }
+ function QT(t) {
+ let e = [];
+ if (Qt(t)) return e;
+ let r = na(t);
+ if (r instanceof Zr) e.push(r.referencedRule);
+ else if (
+ r instanceof Sn ||
+ r instanceof Jr ||
+ r instanceof An ||
+ r instanceof _n ||
+ r instanceof mn ||
+ r instanceof br
+ )
+ e = e.concat(QT(r.definition));
+ else if (r instanceof gn) e = Gr(qe(r.definition, (a) => QT(a.definition)));
+ else if (!(r instanceof fr)) throw Error('non exhaustive match');
+ let n = n0(r),
+ i = t.length > 1;
+ if (n && i) {
+ let a = fi(t);
+ return e.concat(QT(a));
+ } else return e;
+ }
+ function eae(t, e) {
+ let r = new h2();
+ t.accept(r);
+ let n = r.alternations;
+ return ga(n, (a) => {
+ let s = Ru(a.definition);
+ return ga(s, (l, u) => {
+ let h = qT([l], [], Bu, 1);
+ return Qt(h)
+ ? [
+ {
+ message: e.buildEmptyAlternationError({
+ topLevelRule: t,
+ alternation: a,
+ emptyChoiceIdx: u
+ }),
+ type: Pi.NONE_LAST_EMPTY_ALT,
+ ruleName: t.name,
+ occurrence: a.idx,
+ alternative: u + 1
+ }
+ ]
+ : [];
+ });
+ });
+ }
+ function tae(t, e, r) {
+ let n = new h2();
+ t.accept(n);
+ let i = n.alternations;
+ return (
+ (i = Kh(i, (s) => s.ignoreAmbiguities === !0)),
+ ga(i, (s) => {
+ let l = s.idx,
+ u = s.maxLookahead || e,
+ h = tg(l, t, u, s),
+ f = NIe(h, s, t, r),
+ d = MIe(h, s, t, r);
+ return f.concat(d);
+ })
+ );
+ }
+ function RIe(t, e) {
+ let r = new h2();
+ t.accept(r);
+ let n = r.alternations;
+ return ga(n, (a) =>
+ a.definition.length > 255
+ ? [
+ {
+ message: e.buildTooManyAlternativesError({
+ topLevelRule: t,
+ alternation: a
+ }),
+ type: Pi.TOO_MANY_ALTS,
+ ruleName: t.name,
+ occurrence: a.idx
+ }
+ ]
+ : []
+ );
+ }
+ function rae(t, e, r) {
+ let n = [];
+ return (
+ Ee(t, (i) => {
+ let a = new TN();
+ i.accept(a);
+ let s = a.allProductions;
+ Ee(s, (l) => {
+ let u = u2(l),
+ h = l.maxLookahead || e,
+ f = l.idx,
+ p = rg(f, i, u, h)[0];
+ if (Qt(Gr(p))) {
+ let m = r.buildEmptyRepetitionError({
+ topLevelRule: i,
+ repetition: l
+ });
+ n.push({
+ message: m,
+ type: Pi.NO_NON_EMPTY_LOOKAHEAD,
+ ruleName: i.name
+ });
+ }
+ });
+ }),
+ n
+ );
+ }
+ function NIe(t, e, r, n) {
+ let i = [],
+ a = Vr(
+ t,
+ (l, u, h) => (
+ e.definition[h].ignoreAmbiguities === !0 ||
+ Ee(u, (f) => {
+ let d = [h];
+ Ee(t, (p, m) => {
+ h !== m && KT(p, f) && e.definition[m].ignoreAmbiguities !== !0 && d.push(m);
+ }),
+ d.length > 1 && !KT(i, f) && (i.push(f), l.push({ alts: d, path: f }));
+ }),
+ l
+ ),
+ []
+ );
+ return qe(a, (l) => {
+ let u = qe(l.alts, (f) => f + 1);
+ return {
+ message: n.buildAlternationAmbiguityError({
+ topLevelRule: r,
+ alternation: e,
+ ambiguityIndices: u,
+ prefixPath: l.path
+ }),
+ type: Pi.AMBIGUOUS_ALTS,
+ ruleName: r.name,
+ occurrence: e.idx,
+ alternatives: l.alts
+ };
+ });
+ }
+ function MIe(t, e, r, n) {
+ let i = Vr(
+ t,
+ (s, l, u) => {
+ let h = qe(l, (f) => ({ idx: u, path: f }));
+ return s.concat(h);
+ },
+ []
+ );
+ return wc(
+ ga(i, (s) => {
+ if (e.definition[s.idx].ignoreAmbiguities === !0) return [];
+ let u = s.idx,
+ h = s.path,
+ f = $r(i, (p) => e.definition[p.idx].ignoreAmbiguities !== !0 && p.idx < u && Xie(p.path, h));
+ return qe(f, (p) => {
+ let m = [p.idx + 1, u + 1],
+ g = e.idx === 0 ? '' : e.idx;
+ return {
+ message: n.buildAlternationPrefixAmbiguityError({
+ topLevelRule: r,
+ alternation: e,
+ ambiguityIndices: m,
+ prefixPath: p.path
+ }),
+ type: Pi.AMBIGUOUS_PREFIX_ALTS,
+ ruleName: r.name,
+ occurrence: g,
+ alternatives: m
+ };
+ });
+ })
+ );
+ }
+ function IIe(t, e, r) {
+ let n = [],
+ i = qe(e, (a) => a.name);
+ return (
+ Ee(t, (a) => {
+ let s = a.name;
+ if (Fn(i, s)) {
+ let l = r.buildNamespaceConflictError(a);
+ n.push({
+ message: l,
+ type: Pi.CONFLICT_TOKENS_RULES_NAMESPACE,
+ ruleName: s
+ });
+ }
+ }),
+ n
+ );
+ }
+ var wN,
+ h2,
+ TN,
+ f2 = R(() => {
+ 'use strict';
+ Pt();
+ Ns();
+ ns();
+ ng();
+ c2();
+ s0();
+ o(Kie, 'validateLookahead');
+ o(Qie, 'validateGrammar');
+ o(_Ie, 'validateDuplicateProductions');
+ o(LIe, 'identifyProductionForDuplicates');
+ o(Zie, 'getExtraProductionArgument');
+ wN = class extends rs {
+ static {
+ o(this, 'OccurrenceValidationCollector');
+ }
+ constructor() {
+ super(...arguments), (this.allProductions = []);
+ }
+ visitNonTerminal(e) {
+ this.allProductions.push(e);
+ }
+ visitOption(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetitionWithSeparator(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetitionMandatory(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetitionMandatoryWithSeparator(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetition(e) {
+ this.allProductions.push(e);
+ }
+ visitAlternation(e) {
+ this.allProductions.push(e);
+ }
+ visitTerminal(e) {
+ this.allProductions.push(e);
+ }
+ };
+ o(DIe, 'validateRuleDoesNotAlreadyExist');
+ o(Jie, 'validateRuleIsOverridden');
+ o(kN, 'validateNoLeftRecursion');
+ o(QT, 'getFirstNoneTerminal');
+ h2 = class extends rs {
+ static {
+ o(this, 'OrCollector');
+ }
+ constructor() {
+ super(...arguments), (this.alternations = []);
+ }
+ visitAlternation(e) {
+ this.alternations.push(e);
+ }
+ };
+ o(eae, 'validateEmptyOrAlternative');
+ o(tae, 'validateAmbiguousAlternationAlternatives');
+ TN = class extends rs {
+ static {
+ o(this, 'RepetitionCollector');
+ }
+ constructor() {
+ super(...arguments), (this.allProductions = []);
+ }
+ visitRepetitionWithSeparator(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetitionMandatory(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetitionMandatoryWithSeparator(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetition(e) {
+ this.allProductions.push(e);
+ }
+ };
+ o(RIe, 'validateTooManyAlts');
+ o(rae, 'validateSomeNonEmptyLookaheadPath');
+ o(NIe, 'checkAlternativesAmbiguities');
+ o(MIe, 'checkPrefixAlternativesAmbiguities');
+ o(IIe, 'checkTerminalAndNoneTerminalsNameSpace');
+ });
+ function nae(t) {
+ let e = Xh(t, { errMsgProvider: zie }),
+ r = {};
+ return (
+ Ee(t.rules, (n) => {
+ r[n.name] = n;
+ }),
+ Gie(r, e.errMsgProvider)
+ );
+ }
+ function iae(t) {
+ return (t = Xh(t, { errMsgProvider: Ol })), Qie(t.rules, t.tokenTypes, t.errMsgProvider, t.grammarName);
+ }
+ var aae = R(() => {
+ 'use strict';
+ Pt();
+ $ie();
+ f2();
+ Jm();
+ o(nae, 'resolveGrammar');
+ o(iae, 'validateGrammar');
+ });
+ function nf(t) {
+ return Fn(uae, t.name);
+ }
+ var sae,
+ oae,
+ lae,
+ cae,
+ uae,
+ ig,
+ c0,
+ d2,
+ p2,
+ m2,
+ ag = R(() => {
+ 'use strict';
+ Pt();
+ (sae = 'MismatchedTokenException'),
+ (oae = 'NoViableAltException'),
+ (lae = 'EarlyExitException'),
+ (cae = 'NotAllInputParsedException'),
+ (uae = [sae, oae, lae, cae]);
+ Object.freeze(uae);
+ o(nf, 'isRecognitionException');
+ (ig = class extends Error {
+ static {
+ o(this, 'RecognitionException');
+ }
+ constructor(e, r) {
+ super(e),
+ (this.token = r),
+ (this.resyncedTokens = []),
+ Object.setPrototypeOf(this, new.target.prototype),
+ Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
+ }
+ }),
+ (c0 = class extends ig {
+ static {
+ o(this, 'MismatchedTokenException');
+ }
+ constructor(e, r, n) {
+ super(e, r), (this.previousToken = n), (this.name = sae);
+ }
+ }),
+ (d2 = class extends ig {
+ static {
+ o(this, 'NoViableAltException');
+ }
+ constructor(e, r, n) {
+ super(e, r), (this.previousToken = n), (this.name = oae);
+ }
+ }),
+ (p2 = class extends ig {
+ static {
+ o(this, 'NotAllInputParsedException');
+ }
+ constructor(e, r) {
+ super(e, r), (this.name = cae);
+ }
+ }),
+ (m2 = class extends ig {
+ static {
+ o(this, 'EarlyExitException');
+ }
+ constructor(e, r, n) {
+ super(e, r), (this.previousToken = n), (this.name = lae);
+ }
+ });
+ });
+ function OIe(t, e, r, n, i, a, s) {
+ let l = this.getKeyForAutomaticLookahead(n, i),
+ u = this.firstAfterRepMap[l];
+ if (u === void 0) {
+ let p = this.getCurrRuleFullName(),
+ m = this.getGAstProductions()[p];
+ (u = new a(m, i).startWalking()), (this.firstAfterRepMap[l] = u);
+ }
+ let h = u.token,
+ f = u.occurrence,
+ d = u.isEndOfRule;
+ this.RULE_STACK.length === 1 && d && h === void 0 && ((h = fo), (f = 1)),
+ !(h === void 0 || f === void 0) &&
+ this.shouldInRepetitionRecoveryBeTried(h, f, s) &&
+ this.tryInRepetitionRecovery(t, e, r, h);
+ }
+ var EN,
+ SN,
+ CN,
+ ZT,
+ AN = R(() => {
+ 'use strict';
+ l0();
+ Pt();
+ ag();
+ aN();
+ Ns();
+ (EN = {}),
+ (SN = 'InRuleRecoveryException'),
+ (CN = class extends Error {
+ static {
+ o(this, 'InRuleRecoveryException');
+ }
+ constructor(e) {
+ super(e), (this.name = SN);
+ }
+ }),
+ (ZT = class {
+ static {
+ o(this, 'Recoverable');
+ }
+ initRecoverable(e) {
+ (this.firstAfterRepMap = {}),
+ (this.resyncFollows = {}),
+ (this.recoveryEnabled = Xe(e, 'recoveryEnabled') ? e.recoveryEnabled : is.recoveryEnabled),
+ this.recoveryEnabled && (this.attemptInRepetitionRecovery = OIe);
+ }
+ getTokenToInsert(e) {
+ let r = o0(e, '', NaN, NaN, NaN, NaN, NaN, NaN);
+ return (r.isInsertedInRecovery = !0), r;
+ }
+ canTokenTypeBeInsertedInRecovery(e) {
+ return !0;
+ }
+ canTokenTypeBeDeletedInRecovery(e) {
+ return !0;
+ }
+ tryInRepetitionRecovery(e, r, n, i) {
+ let a = this.findReSyncTokenType(),
+ s = this.exportLexerState(),
+ l = [],
+ u = !1,
+ h = this.LA(1),
+ f = this.LA(1),
+ d = o(() => {
+ let p = this.LA(0),
+ m = this.errorMessageProvider.buildMismatchTokenMessage({
+ expected: i,
+ actual: h,
+ previous: p,
+ ruleName: this.getCurrRuleFullName()
+ }),
+ g = new c0(m, h, this.LA(0));
+ (g.resyncedTokens = Ru(l)), this.SAVE_ERROR(g);
+ }, 'generateErrorMessage');
+ for (; !u; )
+ if (this.tokenMatcher(f, i)) {
+ d();
+ return;
+ } else if (n.call(this)) {
+ d(), e.apply(this, r);
+ return;
+ } else
+ this.tokenMatcher(f, a)
+ ? (u = !0)
+ : ((f = this.SKIP_TOKEN()), this.addToResyncTokens(f, l));
+ this.importLexerState(s);
+ }
+ shouldInRepetitionRecoveryBeTried(e, r, n) {
+ return !(
+ n === !1 ||
+ this.tokenMatcher(this.LA(1), e) ||
+ this.isBackTracking() ||
+ this.canPerformInRuleRecovery(e, this.getFollowsForInRuleRecovery(e, r))
+ );
+ }
+ getFollowsForInRuleRecovery(e, r) {
+ let n = this.getCurrentGrammarPath(e, r);
+ return this.getNextPossibleTokenTypes(n);
+ }
+ tryInRuleRecovery(e, r) {
+ if (this.canRecoverWithSingleTokenInsertion(e, r)) return this.getTokenToInsert(e);
+ if (this.canRecoverWithSingleTokenDeletion(e)) {
+ let n = this.SKIP_TOKEN();
+ return this.consumeToken(), n;
+ }
+ throw new CN('sad sad panda');
+ }
+ canPerformInRuleRecovery(e, r) {
+ return (
+ this.canRecoverWithSingleTokenInsertion(e, r) || this.canRecoverWithSingleTokenDeletion(e)
+ );
+ }
+ canRecoverWithSingleTokenInsertion(e, r) {
+ if (!this.canTokenTypeBeInsertedInRecovery(e) || Qt(r)) return !1;
+ let n = this.LA(1);
+ return Za(r, (a) => this.tokenMatcher(n, a)) !== void 0;
+ }
+ canRecoverWithSingleTokenDeletion(e) {
+ return this.canTokenTypeBeDeletedInRecovery(e) ? this.tokenMatcher(this.LA(2), e) : !1;
+ }
+ isInCurrentRuleReSyncSet(e) {
+ let r = this.getCurrFollowKey(),
+ n = this.getFollowSetFromFollowKey(r);
+ return Fn(n, e);
+ }
+ findReSyncTokenType() {
+ let e = this.flattenFollowSet(),
+ r = this.LA(1),
+ n = 2;
+ for (;;) {
+ let i = Za(e, (a) => s2(r, a));
+ if (i !== void 0) return i;
+ (r = this.LA(n)), n++;
+ }
+ }
+ getCurrFollowKey() {
+ if (this.RULE_STACK.length === 1) return EN;
+ let e = this.getLastExplicitRuleShortName(),
+ r = this.getLastExplicitRuleOccurrenceIndex(),
+ n = this.getPreviousExplicitRuleShortName();
+ return {
+ ruleName: this.shortRuleNameToFullName(e),
+ idxInCallingRule: r,
+ inRule: this.shortRuleNameToFullName(n)
+ };
+ }
+ buildFullFollowKeyStack() {
+ let e = this.RULE_STACK,
+ r = this.RULE_OCCURRENCE_STACK;
+ return qe(e, (n, i) =>
+ i === 0
+ ? EN
+ : {
+ ruleName: this.shortRuleNameToFullName(n),
+ idxInCallingRule: r[i],
+ inRule: this.shortRuleNameToFullName(e[i - 1])
+ }
+ );
+ }
+ flattenFollowSet() {
+ let e = qe(this.buildFullFollowKeyStack(), (r) => this.getFollowSetFromFollowKey(r));
+ return Gr(e);
+ }
+ getFollowSetFromFollowKey(e) {
+ if (e === EN) return [fo];
+ let r = e.ruleName + e.idxInCallingRule + OT + e.inRule;
+ return this.resyncFollows[r];
+ }
+ addToResyncTokens(e, r) {
+ return this.tokenMatcher(e, fo) || r.push(e), r;
+ }
+ reSyncTo(e) {
+ let r = [],
+ n = this.LA(1);
+ for (; this.tokenMatcher(n, e) === !1; ) (n = this.SKIP_TOKEN()), this.addToResyncTokens(n, r);
+ return Ru(r);
+ }
+ attemptInRepetitionRecovery(e, r, n, i, a, s, l) {}
+ getCurrentGrammarPath(e, r) {
+ let n = this.getHumanReadableRuleStack(),
+ i = Qr(this.RULE_OCCURRENCE_STACK);
+ return {
+ ruleStack: n,
+ occurrenceStack: i,
+ lastTok: e,
+ lastTokOccurrence: r
+ };
+ }
+ getHumanReadableRuleStack() {
+ return qe(this.RULE_STACK, (e) => this.shortRuleNameToFullName(e));
+ }
+ });
+ o(OIe, 'attemptInRepetitionRecovery');
+ });
+ function JT(t, e, r) {
+ return r | e | t;
+ }
+ var ek = R(() => {
+ 'use strict';
+ o(JT, 'getKeyForAutomaticLookahead');
+ });
+ var $u,
+ _N = R(() => {
+ 'use strict';
+ Pt();
+ Jm();
+ Ns();
+ f2();
+ ng();
+ $u = class {
+ static {
+ o(this, 'LLkLookaheadStrategy');
+ }
+ constructor(e) {
+ var r;
+ this.maxLookahead = (r = e?.maxLookahead) !== null && r !== void 0 ? r : is.maxLookahead;
+ }
+ validate(e) {
+ let r = this.validateNoLeftRecursion(e.rules);
+ if (Qt(r)) {
+ let n = this.validateEmptyOrAlternatives(e.rules),
+ i = this.validateAmbiguousAlternationAlternatives(e.rules, this.maxLookahead),
+ a = this.validateSomeNonEmptyLookaheadPath(e.rules, this.maxLookahead);
+ return [...r, ...n, ...i, ...a];
+ }
+ return r;
+ }
+ validateNoLeftRecursion(e) {
+ return ga(e, (r) => kN(r, r, Ol));
+ }
+ validateEmptyOrAlternatives(e) {
+ return ga(e, (r) => eae(r, Ol));
+ }
+ validateAmbiguousAlternationAlternatives(e, r) {
+ return ga(e, (n) => tae(n, r, Ol));
+ }
+ validateSomeNonEmptyLookaheadPath(e, r) {
+ return rae(e, r, Ol);
+ }
+ buildLookaheadForAlternation(e) {
+ return Uie(e.prodOccurrence, e.rule, e.maxLookahead, e.hasPredicates, e.dynamicTokensEnabled, Yie);
+ }
+ buildLookaheadForOptional(e) {
+ return Hie(e.prodOccurrence, e.rule, e.maxLookahead, e.dynamicTokensEnabled, u2(e.prodType), Wie);
+ }
+ };
+ });
+ function PIe(t) {
+ tk.reset(), t.accept(tk);
+ let e = tk.dslMethods;
+ return tk.reset(), e;
+ }
+ var rk,
+ LN,
+ tk,
+ hae = R(() => {
+ 'use strict';
+ Pt();
+ Ns();
+ ek();
+ ns();
+ _N();
+ (rk = class {
+ static {
+ o(this, 'LooksAhead');
+ }
+ initLooksAhead(e) {
+ (this.dynamicTokensEnabled = Xe(e, 'dynamicTokensEnabled')
+ ? e.dynamicTokensEnabled
+ : is.dynamicTokensEnabled),
+ (this.maxLookahead = Xe(e, 'maxLookahead') ? e.maxLookahead : is.maxLookahead),
+ (this.lookaheadStrategy = Xe(e, 'lookaheadStrategy')
+ ? e.lookaheadStrategy
+ : new $u({ maxLookahead: this.maxLookahead })),
+ (this.lookAheadFuncsCache = new Map());
+ }
+ preComputeLookaheadFunctions(e) {
+ Ee(e, (r) => {
+ this.TRACE_INIT(`${r.name} Rule Lookahead`, () => {
+ let {
+ alternation: n,
+ repetition: i,
+ option: a,
+ repetitionMandatory: s,
+ repetitionMandatoryWithSeparator: l,
+ repetitionWithSeparator: u
+ } = PIe(r);
+ Ee(n, (h) => {
+ let f = h.idx === 0 ? '' : h.idx;
+ this.TRACE_INIT(`${Rs(h)}${f}`, () => {
+ let d = this.lookaheadStrategy.buildLookaheadForAlternation({
+ prodOccurrence: h.idx,
+ rule: r,
+ maxLookahead: h.maxLookahead || this.maxLookahead,
+ hasPredicates: h.hasPredicates,
+ dynamicTokensEnabled: this.dynamicTokensEnabled
+ }),
+ p = JT(this.fullRuleNameToShort[r.name], 256, h.idx);
+ this.setLaFuncCache(p, d);
+ });
+ }),
+ Ee(i, (h) => {
+ this.computeLookaheadFunc(r, h.idx, 768, 'Repetition', h.maxLookahead, Rs(h));
+ }),
+ Ee(a, (h) => {
+ this.computeLookaheadFunc(r, h.idx, 512, 'Option', h.maxLookahead, Rs(h));
+ }),
+ Ee(s, (h) => {
+ this.computeLookaheadFunc(
+ r,
+ h.idx,
+ 1024,
+ 'RepetitionMandatory',
+ h.maxLookahead,
+ Rs(h)
+ );
+ }),
+ Ee(l, (h) => {
+ this.computeLookaheadFunc(
+ r,
+ h.idx,
+ 1536,
+ 'RepetitionMandatoryWithSeparator',
+ h.maxLookahead,
+ Rs(h)
+ );
+ }),
+ Ee(u, (h) => {
+ this.computeLookaheadFunc(
+ r,
+ h.idx,
+ 1280,
+ 'RepetitionWithSeparator',
+ h.maxLookahead,
+ Rs(h)
+ );
+ });
+ });
+ });
+ }
+ computeLookaheadFunc(e, r, n, i, a, s) {
+ this.TRACE_INIT(`${s}${r === 0 ? '' : r}`, () => {
+ let l = this.lookaheadStrategy.buildLookaheadForOptional({
+ prodOccurrence: r,
+ rule: e,
+ maxLookahead: a || this.maxLookahead,
+ dynamicTokensEnabled: this.dynamicTokensEnabled,
+ prodType: i
+ }),
+ u = JT(this.fullRuleNameToShort[e.name], n, r);
+ this.setLaFuncCache(u, l);
+ });
+ }
+ getKeyForAutomaticLookahead(e, r) {
+ let n = this.getLastExplicitRuleShortName();
+ return JT(n, e, r);
+ }
+ getLaFuncFromCache(e) {
+ return this.lookAheadFuncsCache.get(e);
+ }
+ setLaFuncCache(e, r) {
+ this.lookAheadFuncsCache.set(e, r);
+ }
+ }),
+ (LN = class extends rs {
+ static {
+ o(this, 'DslMethodsCollectorVisitor');
+ }
+ constructor() {
+ super(...arguments),
+ (this.dslMethods = {
+ option: [],
+ alternation: [],
+ repetition: [],
+ repetitionWithSeparator: [],
+ repetitionMandatory: [],
+ repetitionMandatoryWithSeparator: []
+ });
+ }
+ reset() {
+ this.dslMethods = {
+ option: [],
+ alternation: [],
+ repetition: [],
+ repetitionWithSeparator: [],
+ repetitionMandatory: [],
+ repetitionMandatoryWithSeparator: []
+ };
+ }
+ visitOption(e) {
+ this.dslMethods.option.push(e);
+ }
+ visitRepetitionWithSeparator(e) {
+ this.dslMethods.repetitionWithSeparator.push(e);
+ }
+ visitRepetitionMandatory(e) {
+ this.dslMethods.repetitionMandatory.push(e);
+ }
+ visitRepetitionMandatoryWithSeparator(e) {
+ this.dslMethods.repetitionMandatoryWithSeparator.push(e);
+ }
+ visitRepetition(e) {
+ this.dslMethods.repetition.push(e);
+ }
+ visitAlternation(e) {
+ this.dslMethods.alternation.push(e);
+ }
+ }),
+ (tk = new LN());
+ o(PIe, 'collectMethods');
+ });
+ function NN(t, e) {
+ isNaN(t.startOffset) === !0
+ ? ((t.startOffset = e.startOffset), (t.endOffset = e.endOffset))
+ : t.endOffset < e.endOffset && (t.endOffset = e.endOffset);
+ }
+ function MN(t, e) {
+ isNaN(t.startOffset) === !0
+ ? ((t.startOffset = e.startOffset),
+ (t.startColumn = e.startColumn),
+ (t.startLine = e.startLine),
+ (t.endOffset = e.endOffset),
+ (t.endColumn = e.endColumn),
+ (t.endLine = e.endLine))
+ : t.endOffset < e.endOffset &&
+ ((t.endOffset = e.endOffset), (t.endColumn = e.endColumn), (t.endLine = e.endLine));
+ }
+ function fae(t, e, r) {
+ t.children[r] === void 0 ? (t.children[r] = [e]) : t.children[r].push(e);
+ }
+ function dae(t, e, r) {
+ t.children[e] === void 0 ? (t.children[e] = [r]) : t.children[e].push(r);
+ }
+ var pae = R(() => {
+ 'use strict';
+ o(NN, 'setNodeLocationOnlyOffset');
+ o(MN, 'setNodeLocationFull');
+ o(fae, 'addTerminalToCst');
+ o(dae, 'addNoneTerminalToCst');
+ });
+ function IN(t, e) {
+ Object.defineProperty(t, BIe, {
+ enumerable: !1,
+ configurable: !0,
+ writable: !1,
+ value: e
+ });
+ }
+ var BIe,
+ mae = R(() => {
+ 'use strict';
+ BIe = 'name';
+ o(IN, 'defineNameProp');
+ });
+ function FIe(t, e) {
+ let r = Dr(t),
+ n = r.length;
+ for (let i = 0; i < n; i++) {
+ let a = r[i],
+ s = t[a],
+ l = s.length;
+ for (let u = 0; u < l; u++) {
+ let h = s[u];
+ h.tokenTypeIdx === void 0 && this[h.name](h.children, e);
+ }
+ }
+ }
+ function gae(t, e) {
+ let r = o(function () {}, 'derivedConstructor');
+ IN(r, t + 'BaseSemantics');
+ let n = {
+ visit: o(function (i, a) {
+ if ((wt(i) && (i = i[0]), !er(i))) return this[i.name](i.children, a);
+ }, 'visit'),
+ validateVisitor: o(function () {
+ let i = zIe(this, e);
+ if (!Qt(i)) {
+ let a = qe(i, (s) => s.msg);
+ throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
+ ${a
+ .join(
+ `
+
+`
+ )
+ .replace(
+ /\n/g,
+ `
+ `
+ )}`);
+ }
+ }, 'validateVisitor')
+ };
+ return (r.prototype = n), (r.prototype.constructor = r), (r._RULE_NAMES = e), r;
+ }
+ function yae(t, e, r) {
+ let n = o(function () {}, 'derivedConstructor');
+ IN(n, t + 'BaseSemanticsWithDefaults');
+ let i = Object.create(r.prototype);
+ return (
+ Ee(e, (a) => {
+ i[a] = FIe;
+ }),
+ (n.prototype = i),
+ (n.prototype.constructor = n),
+ n
+ );
+ }
+ function zIe(t, e) {
+ return GIe(t, e);
+ }
+ function GIe(t, e) {
+ let r = $r(e, (i) => wi(t[i]) === !1),
+ n = qe(r, (i) => ({
+ msg: `Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,
+ type: ON.MISSING_METHOD,
+ methodName: i
+ }));
+ return wc(n);
+ }
+ var ON,
+ vae = R(() => {
+ 'use strict';
+ Pt();
+ mae();
+ o(FIe, 'defaultVisit');
+ o(gae, 'createBaseSemanticVisitorConstructor');
+ o(yae, 'createBaseVisitorConstructorWithDefaults');
+ (function (t) {
+ (t[(t.REDUNDANT_METHOD = 0)] = 'REDUNDANT_METHOD'), (t[(t.MISSING_METHOD = 1)] = 'MISSING_METHOD');
+ })(ON || (ON = {}));
+ o(zIe, 'validateVisitor');
+ o(GIe, 'validateMissingCstMethods');
+ });
+ var sk,
+ xae = R(() => {
+ 'use strict';
+ pae();
+ Pt();
+ vae();
+ Ns();
+ sk = class {
+ static {
+ o(this, 'TreeBuilder');
+ }
+ initTreeBuilder(e) {
+ if (
+ ((this.CST_STACK = []),
+ (this.outputCst = e.outputCst),
+ (this.nodeLocationTracking = Xe(e, 'nodeLocationTracking')
+ ? e.nodeLocationTracking
+ : is.nodeLocationTracking),
+ !this.outputCst)
+ )
+ (this.cstInvocationStateUpdate = qn),
+ (this.cstFinallyStateUpdate = qn),
+ (this.cstPostTerminal = qn),
+ (this.cstPostNonTerminal = qn),
+ (this.cstPostRule = qn);
+ else if (/full/i.test(this.nodeLocationTracking))
+ this.recoveryEnabled
+ ? ((this.setNodeLocationFromToken = MN),
+ (this.setNodeLocationFromNode = MN),
+ (this.cstPostRule = qn),
+ (this.setInitialNodeLocation = this.setInitialNodeLocationFullRecovery))
+ : ((this.setNodeLocationFromToken = qn),
+ (this.setNodeLocationFromNode = qn),
+ (this.cstPostRule = this.cstPostRuleFull),
+ (this.setInitialNodeLocation = this.setInitialNodeLocationFullRegular));
+ else if (/onlyOffset/i.test(this.nodeLocationTracking))
+ this.recoveryEnabled
+ ? ((this.setNodeLocationFromToken = NN),
+ (this.setNodeLocationFromNode = NN),
+ (this.cstPostRule = qn),
+ (this.setInitialNodeLocation = this.setInitialNodeLocationOnlyOffsetRecovery))
+ : ((this.setNodeLocationFromToken = qn),
+ (this.setNodeLocationFromNode = qn),
+ (this.cstPostRule = this.cstPostRuleOnlyOffset),
+ (this.setInitialNodeLocation = this.setInitialNodeLocationOnlyOffsetRegular));
+ else if (/none/i.test(this.nodeLocationTracking))
+ (this.setNodeLocationFromToken = qn),
+ (this.setNodeLocationFromNode = qn),
+ (this.cstPostRule = qn),
+ (this.setInitialNodeLocation = qn);
+ else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`);
+ }
+ setInitialNodeLocationOnlyOffsetRecovery(e) {
+ e.location = { startOffset: NaN, endOffset: NaN };
+ }
+ setInitialNodeLocationOnlyOffsetRegular(e) {
+ e.location = { startOffset: this.LA(1).startOffset, endOffset: NaN };
+ }
+ setInitialNodeLocationFullRecovery(e) {
+ e.location = {
+ startOffset: NaN,
+ startLine: NaN,
+ startColumn: NaN,
+ endOffset: NaN,
+ endLine: NaN,
+ endColumn: NaN
+ };
+ }
+ setInitialNodeLocationFullRegular(e) {
+ let r = this.LA(1);
+ e.location = {
+ startOffset: r.startOffset,
+ startLine: r.startLine,
+ startColumn: r.startColumn,
+ endOffset: NaN,
+ endLine: NaN,
+ endColumn: NaN
+ };
+ }
+ cstInvocationStateUpdate(e) {
+ let r = { name: e, children: Object.create(null) };
+ this.setInitialNodeLocation(r), this.CST_STACK.push(r);
+ }
+ cstFinallyStateUpdate() {
+ this.CST_STACK.pop();
+ }
+ cstPostRuleFull(e) {
+ let r = this.LA(0),
+ n = e.location;
+ n.startOffset <= r.startOffset
+ ? ((n.endOffset = r.endOffset), (n.endLine = r.endLine), (n.endColumn = r.endColumn))
+ : ((n.startOffset = NaN), (n.startLine = NaN), (n.startColumn = NaN));
+ }
+ cstPostRuleOnlyOffset(e) {
+ let r = this.LA(0),
+ n = e.location;
+ n.startOffset <= r.startOffset ? (n.endOffset = r.endOffset) : (n.startOffset = NaN);
+ }
+ cstPostTerminal(e, r) {
+ let n = this.CST_STACK[this.CST_STACK.length - 1];
+ fae(n, r, e), this.setNodeLocationFromToken(n.location, r);
+ }
+ cstPostNonTerminal(e, r) {
+ let n = this.CST_STACK[this.CST_STACK.length - 1];
+ dae(n, r, e), this.setNodeLocationFromNode(n.location, e.location);
+ }
+ getBaseCstVisitorConstructor() {
+ if (er(this.baseCstVisitorConstructor)) {
+ let e = gae(this.className, Dr(this.gastProductionsCache));
+ return (this.baseCstVisitorConstructor = e), e;
+ }
+ return this.baseCstVisitorConstructor;
+ }
+ getBaseCstVisitorConstructorWithDefaults() {
+ if (er(this.baseCstVisitorWithDefaultsConstructor)) {
+ let e = yae(this.className, Dr(this.gastProductionsCache), this.getBaseCstVisitorConstructor());
+ return (this.baseCstVisitorWithDefaultsConstructor = e), e;
+ }
+ return this.baseCstVisitorWithDefaultsConstructor;
+ }
+ getLastExplicitRuleShortName() {
+ let e = this.RULE_STACK;
+ return e[e.length - 1];
+ }
+ getPreviousExplicitRuleShortName() {
+ let e = this.RULE_STACK;
+ return e[e.length - 2];
+ }
+ getLastExplicitRuleOccurrenceIndex() {
+ let e = this.RULE_OCCURRENCE_STACK;
+ return e[e.length - 1];
+ }
+ };
+ });
+ var ok,
+ bae = R(() => {
+ 'use strict';
+ Ns();
+ ok = class {
+ static {
+ o(this, 'LexerAdapter');
+ }
+ initLexerAdapter() {
+ (this.tokVector = []), (this.tokVectorLength = 0), (this.currIdx = -1);
+ }
+ set input(e) {
+ if (this.selfAnalysisDone !== !0)
+ throw Error("Missing invocation at the end of the Parser's constructor.");
+ this.reset(), (this.tokVector = e), (this.tokVectorLength = e.length);
+ }
+ get input() {
+ return this.tokVector;
+ }
+ SKIP_TOKEN() {
+ return this.currIdx <= this.tokVector.length - 2 ? (this.consumeToken(), this.LA(1)) : sg;
+ }
+ LA(e) {
+ let r = this.currIdx + e;
+ return r < 0 || this.tokVectorLength <= r ? sg : this.tokVector[r];
+ }
+ consumeToken() {
+ this.currIdx++;
+ }
+ exportLexerState() {
+ return this.currIdx;
+ }
+ importLexerState(e) {
+ this.currIdx = e;
+ }
+ resetLexerState() {
+ this.currIdx = -1;
+ }
+ moveToTerminatedState() {
+ this.currIdx = this.tokVector.length - 1;
+ }
+ getLexerPosition() {
+ return this.exportLexerState();
+ }
+ };
+ });
+ var lk,
+ wae = R(() => {
+ 'use strict';
+ Pt();
+ ag();
+ Ns();
+ Jm();
+ f2();
+ ns();
+ lk = class {
+ static {
+ o(this, 'RecognizerApi');
+ }
+ ACTION(e) {
+ return e.call(this);
+ }
+ consume(e, r, n) {
+ return this.consumeInternal(r, e, n);
+ }
+ subrule(e, r, n) {
+ return this.subruleInternal(r, e, n);
+ }
+ option(e, r) {
+ return this.optionInternal(r, e);
+ }
+ or(e, r) {
+ return this.orInternal(r, e);
+ }
+ many(e, r) {
+ return this.manyInternal(e, r);
+ }
+ atLeastOne(e, r) {
+ return this.atLeastOneInternal(e, r);
+ }
+ CONSUME(e, r) {
+ return this.consumeInternal(e, 0, r);
+ }
+ CONSUME1(e, r) {
+ return this.consumeInternal(e, 1, r);
+ }
+ CONSUME2(e, r) {
+ return this.consumeInternal(e, 2, r);
+ }
+ CONSUME3(e, r) {
+ return this.consumeInternal(e, 3, r);
+ }
+ CONSUME4(e, r) {
+ return this.consumeInternal(e, 4, r);
+ }
+ CONSUME5(e, r) {
+ return this.consumeInternal(e, 5, r);
+ }
+ CONSUME6(e, r) {
+ return this.consumeInternal(e, 6, r);
+ }
+ CONSUME7(e, r) {
+ return this.consumeInternal(e, 7, r);
+ }
+ CONSUME8(e, r) {
+ return this.consumeInternal(e, 8, r);
+ }
+ CONSUME9(e, r) {
+ return this.consumeInternal(e, 9, r);
+ }
+ SUBRULE(e, r) {
+ return this.subruleInternal(e, 0, r);
+ }
+ SUBRULE1(e, r) {
+ return this.subruleInternal(e, 1, r);
+ }
+ SUBRULE2(e, r) {
+ return this.subruleInternal(e, 2, r);
+ }
+ SUBRULE3(e, r) {
+ return this.subruleInternal(e, 3, r);
+ }
+ SUBRULE4(e, r) {
+ return this.subruleInternal(e, 4, r);
+ }
+ SUBRULE5(e, r) {
+ return this.subruleInternal(e, 5, r);
+ }
+ SUBRULE6(e, r) {
+ return this.subruleInternal(e, 6, r);
+ }
+ SUBRULE7(e, r) {
+ return this.subruleInternal(e, 7, r);
+ }
+ SUBRULE8(e, r) {
+ return this.subruleInternal(e, 8, r);
+ }
+ SUBRULE9(e, r) {
+ return this.subruleInternal(e, 9, r);
+ }
+ OPTION(e) {
+ return this.optionInternal(e, 0);
+ }
+ OPTION1(e) {
+ return this.optionInternal(e, 1);
+ }
+ OPTION2(e) {
+ return this.optionInternal(e, 2);
+ }
+ OPTION3(e) {
+ return this.optionInternal(e, 3);
+ }
+ OPTION4(e) {
+ return this.optionInternal(e, 4);
+ }
+ OPTION5(e) {
+ return this.optionInternal(e, 5);
+ }
+ OPTION6(e) {
+ return this.optionInternal(e, 6);
+ }
+ OPTION7(e) {
+ return this.optionInternal(e, 7);
+ }
+ OPTION8(e) {
+ return this.optionInternal(e, 8);
+ }
+ OPTION9(e) {
+ return this.optionInternal(e, 9);
+ }
+ OR(e) {
+ return this.orInternal(e, 0);
+ }
+ OR1(e) {
+ return this.orInternal(e, 1);
+ }
+ OR2(e) {
+ return this.orInternal(e, 2);
+ }
+ OR3(e) {
+ return this.orInternal(e, 3);
+ }
+ OR4(e) {
+ return this.orInternal(e, 4);
+ }
+ OR5(e) {
+ return this.orInternal(e, 5);
+ }
+ OR6(e) {
+ return this.orInternal(e, 6);
+ }
+ OR7(e) {
+ return this.orInternal(e, 7);
+ }
+ OR8(e) {
+ return this.orInternal(e, 8);
+ }
+ OR9(e) {
+ return this.orInternal(e, 9);
+ }
+ MANY(e) {
+ this.manyInternal(0, e);
+ }
+ MANY1(e) {
+ this.manyInternal(1, e);
+ }
+ MANY2(e) {
+ this.manyInternal(2, e);
+ }
+ MANY3(e) {
+ this.manyInternal(3, e);
+ }
+ MANY4(e) {
+ this.manyInternal(4, e);
+ }
+ MANY5(e) {
+ this.manyInternal(5, e);
+ }
+ MANY6(e) {
+ this.manyInternal(6, e);
+ }
+ MANY7(e) {
+ this.manyInternal(7, e);
+ }
+ MANY8(e) {
+ this.manyInternal(8, e);
+ }
+ MANY9(e) {
+ this.manyInternal(9, e);
+ }
+ MANY_SEP(e) {
+ this.manySepFirstInternal(0, e);
+ }
+ MANY_SEP1(e) {
+ this.manySepFirstInternal(1, e);
+ }
+ MANY_SEP2(e) {
+ this.manySepFirstInternal(2, e);
+ }
+ MANY_SEP3(e) {
+ this.manySepFirstInternal(3, e);
+ }
+ MANY_SEP4(e) {
+ this.manySepFirstInternal(4, e);
+ }
+ MANY_SEP5(e) {
+ this.manySepFirstInternal(5, e);
+ }
+ MANY_SEP6(e) {
+ this.manySepFirstInternal(6, e);
+ }
+ MANY_SEP7(e) {
+ this.manySepFirstInternal(7, e);
+ }
+ MANY_SEP8(e) {
+ this.manySepFirstInternal(8, e);
+ }
+ MANY_SEP9(e) {
+ this.manySepFirstInternal(9, e);
+ }
+ AT_LEAST_ONE(e) {
+ this.atLeastOneInternal(0, e);
+ }
+ AT_LEAST_ONE1(e) {
+ return this.atLeastOneInternal(1, e);
+ }
+ AT_LEAST_ONE2(e) {
+ this.atLeastOneInternal(2, e);
+ }
+ AT_LEAST_ONE3(e) {
+ this.atLeastOneInternal(3, e);
+ }
+ AT_LEAST_ONE4(e) {
+ this.atLeastOneInternal(4, e);
+ }
+ AT_LEAST_ONE5(e) {
+ this.atLeastOneInternal(5, e);
+ }
+ AT_LEAST_ONE6(e) {
+ this.atLeastOneInternal(6, e);
+ }
+ AT_LEAST_ONE7(e) {
+ this.atLeastOneInternal(7, e);
+ }
+ AT_LEAST_ONE8(e) {
+ this.atLeastOneInternal(8, e);
+ }
+ AT_LEAST_ONE9(e) {
+ this.atLeastOneInternal(9, e);
+ }
+ AT_LEAST_ONE_SEP(e) {
+ this.atLeastOneSepFirstInternal(0, e);
+ }
+ AT_LEAST_ONE_SEP1(e) {
+ this.atLeastOneSepFirstInternal(1, e);
+ }
+ AT_LEAST_ONE_SEP2(e) {
+ this.atLeastOneSepFirstInternal(2, e);
+ }
+ AT_LEAST_ONE_SEP3(e) {
+ this.atLeastOneSepFirstInternal(3, e);
+ }
+ AT_LEAST_ONE_SEP4(e) {
+ this.atLeastOneSepFirstInternal(4, e);
+ }
+ AT_LEAST_ONE_SEP5(e) {
+ this.atLeastOneSepFirstInternal(5, e);
+ }
+ AT_LEAST_ONE_SEP6(e) {
+ this.atLeastOneSepFirstInternal(6, e);
+ }
+ AT_LEAST_ONE_SEP7(e) {
+ this.atLeastOneSepFirstInternal(7, e);
+ }
+ AT_LEAST_ONE_SEP8(e) {
+ this.atLeastOneSepFirstInternal(8, e);
+ }
+ AT_LEAST_ONE_SEP9(e) {
+ this.atLeastOneSepFirstInternal(9, e);
+ }
+ RULE(e, r, n = og) {
+ if (Fn(this.definedRulesNames, e)) {
+ let s = {
+ message: Ol.buildDuplicateRuleNameError({
+ topLevelRule: e,
+ grammarName: this.className
+ }),
+ type: Pi.DUPLICATE_RULE_NAME,
+ ruleName: e
+ };
+ this.definitionErrors.push(s);
+ }
+ this.definedRulesNames.push(e);
+ let i = this.defineRule(e, r, n);
+ return (this[e] = i), i;
+ }
+ OVERRIDE_RULE(e, r, n = og) {
+ let i = Jie(e, this.definedRulesNames, this.className);
+ this.definitionErrors = this.definitionErrors.concat(i);
+ let a = this.defineRule(e, r, n);
+ return (this[e] = a), a;
+ }
+ BACKTRACK(e, r) {
+ return function () {
+ this.isBackTrackingStack.push(1);
+ let n = this.saveRecogState();
+ try {
+ return e.apply(this, r), !0;
+ } catch (i) {
+ if (nf(i)) return !1;
+ throw i;
+ } finally {
+ this.reloadRecogState(n), this.isBackTrackingStack.pop();
+ }
+ };
+ }
+ getGAstProductions() {
+ return this.gastProductionsCache;
+ }
+ getSerializedGastProductions() {
+ return NT(or(this.gastProductionsCache));
+ }
+ };
+ });
+ var ck,
+ Tae = R(() => {
+ 'use strict';
+ Pt();
+ ek();
+ ag();
+ ng();
+ c2();
+ Ns();
+ AN();
+ l0();
+ s0();
+ ck = class {
+ static {
+ o(this, 'RecognizerEngine');
+ }
+ initRecognizerEngine(e, r) {
+ if (
+ ((this.className = this.constructor.name),
+ (this.shortRuleNameToFull = {}),
+ (this.fullRuleNameToShort = {}),
+ (this.ruleShortNameIdx = 256),
+ (this.tokenMatcher = Zm),
+ (this.subruleIdx = 0),
+ (this.definedRulesNames = []),
+ (this.tokensMap = {}),
+ (this.isBackTrackingStack = []),
+ (this.RULE_STACK = []),
+ (this.RULE_OCCURRENCE_STACK = []),
+ (this.gastProductionsCache = {}),
+ Xe(r, 'serializedGrammar'))
+ )
+ throw Error(`The Parser's configuration can no longer contain a property.
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
+ For Further details.`);
+ if (wt(e)) {
+ if (Qt(e))
+ throw Error(`A Token Vocabulary cannot be empty.
+ Note that the first argument for the parser constructor
+ is no longer a Token vector (since v4.0).`);
+ if (typeof e[0].startOffset == 'number')
+ throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
+ For Further details.`);
+ }
+ if (wt(e)) this.tokensMap = Vr(e, (a, s) => ((a[s.name] = s), a), {});
+ else if (Xe(e, 'modes') && Ia(Gr(or(e.modes)), Die)) {
+ let a = Gr(or(e.modes)),
+ s = Pm(a);
+ this.tokensMap = Vr(s, (l, u) => ((l[u.name] = u), l), {});
+ } else if (pn(e)) this.tokensMap = Qr(e);
+ else
+ throw new Error(
+ ' argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition'
+ );
+ this.tokensMap.EOF = fo;
+ let n = Xe(e, 'modes') ? Gr(or(e.modes)) : or(e),
+ i = Ia(n, (a) => Qt(a.categoryMatches));
+ (this.tokenMatcher = i ? Zm : Bu), Fu(or(this.tokensMap));
+ }
+ defineRule(e, r, n) {
+ if (this.selfAnalysisDone)
+ throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
+Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);
+ let i = Xe(n, 'resyncEnabled') ? n.resyncEnabled : og.resyncEnabled,
+ a = Xe(n, 'recoveryValueFunc') ? n.recoveryValueFunc : og.recoveryValueFunc,
+ s = this.ruleShortNameIdx << 12;
+ this.ruleShortNameIdx++, (this.shortRuleNameToFull[s] = e), (this.fullRuleNameToShort[e] = s);
+ let l;
+ return (
+ this.outputCst === !0
+ ? (l = o(function (...f) {
+ try {
+ this.ruleInvocationStateUpdate(s, e, this.subruleIdx), r.apply(this, f);
+ let d = this.CST_STACK[this.CST_STACK.length - 1];
+ return this.cstPostRule(d), d;
+ } catch (d) {
+ return this.invokeRuleCatch(d, i, a);
+ } finally {
+ this.ruleFinallyStateUpdate();
+ }
+ }, 'invokeRuleWithTry'))
+ : (l = o(function (...f) {
+ try {
+ return this.ruleInvocationStateUpdate(s, e, this.subruleIdx), r.apply(this, f);
+ } catch (d) {
+ return this.invokeRuleCatch(d, i, a);
+ } finally {
+ this.ruleFinallyStateUpdate();
+ }
+ }, 'invokeRuleWithTryCst')),
+ Object.assign(l, { ruleName: e, originalGrammarAction: r })
+ );
+ }
+ invokeRuleCatch(e, r, n) {
+ let i = this.RULE_STACK.length === 1,
+ a = r && !this.isBackTracking() && this.recoveryEnabled;
+ if (nf(e)) {
+ let s = e;
+ if (a) {
+ let l = this.findReSyncTokenType();
+ if (this.isInCurrentRuleReSyncSet(l))
+ if (((s.resyncedTokens = this.reSyncTo(l)), this.outputCst)) {
+ let u = this.CST_STACK[this.CST_STACK.length - 1];
+ return (u.recoveredNode = !0), u;
+ } else return n(e);
+ else {
+ if (this.outputCst) {
+ let u = this.CST_STACK[this.CST_STACK.length - 1];
+ (u.recoveredNode = !0), (s.partialCstResult = u);
+ }
+ throw s;
+ }
+ } else {
+ if (i) return this.moveToTerminatedState(), n(e);
+ throw s;
+ }
+ } else throw e;
+ }
+ optionInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(512, r);
+ return this.optionInternalLogic(e, r, n);
+ }
+ optionInternalLogic(e, r, n) {
+ let i = this.getLaFuncFromCache(n),
+ a;
+ if (typeof e != 'function') {
+ a = e.DEF;
+ let s = e.GATE;
+ if (s !== void 0) {
+ let l = i;
+ i = o(() => s.call(this) && l.call(this), 'lookAheadFunc');
+ }
+ } else a = e;
+ if (i.call(this) === !0) return a.call(this);
+ }
+ atLeastOneInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(1024, e);
+ return this.atLeastOneInternalLogic(e, r, n);
+ }
+ atLeastOneInternalLogic(e, r, n) {
+ let i = this.getLaFuncFromCache(n),
+ a;
+ if (typeof r != 'function') {
+ a = r.DEF;
+ let s = r.GATE;
+ if (s !== void 0) {
+ let l = i;
+ i = o(() => s.call(this) && l.call(this), 'lookAheadFunc');
+ }
+ } else a = r;
+ if (i.call(this) === !0) {
+ let s = this.doSingleRepetition(a);
+ for (; i.call(this) === !0 && s === !0; ) s = this.doSingleRepetition(a);
+ } else throw this.raiseEarlyExitException(e, $n.REPETITION_MANDATORY, r.ERR_MSG);
+ this.attemptInRepetitionRecovery(this.atLeastOneInternal, [e, r], i, 1024, e, YT);
+ }
+ atLeastOneSepFirstInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(1536, e);
+ this.atLeastOneSepFirstInternalLogic(e, r, n);
+ }
+ atLeastOneSepFirstInternalLogic(e, r, n) {
+ let i = r.DEF,
+ a = r.SEP;
+ if (this.getLaFuncFromCache(n).call(this) === !0) {
+ i.call(this);
+ let l = o(() => this.tokenMatcher(this.LA(1), a), 'separatorLookAheadFunc');
+ for (; this.tokenMatcher(this.LA(1), a) === !0; ) this.CONSUME(a), i.call(this);
+ this.attemptInRepetitionRecovery(
+ this.repetitionSepSecondInternal,
+ [e, a, l, i, l2],
+ l,
+ 1536,
+ e,
+ l2
+ );
+ } else throw this.raiseEarlyExitException(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR, r.ERR_MSG);
+ }
+ manyInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(768, e);
+ return this.manyInternalLogic(e, r, n);
+ }
+ manyInternalLogic(e, r, n) {
+ let i = this.getLaFuncFromCache(n),
+ a;
+ if (typeof r != 'function') {
+ a = r.DEF;
+ let l = r.GATE;
+ if (l !== void 0) {
+ let u = i;
+ i = o(() => l.call(this) && u.call(this), 'lookaheadFunction');
+ }
+ } else a = r;
+ let s = !0;
+ for (; i.call(this) === !0 && s === !0; ) s = this.doSingleRepetition(a);
+ this.attemptInRepetitionRecovery(this.manyInternal, [e, r], i, 768, e, HT, s);
+ }
+ manySepFirstInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(1280, e);
+ this.manySepFirstInternalLogic(e, r, n);
+ }
+ manySepFirstInternalLogic(e, r, n) {
+ let i = r.DEF,
+ a = r.SEP;
+ if (this.getLaFuncFromCache(n).call(this) === !0) {
+ i.call(this);
+ let l = o(() => this.tokenMatcher(this.LA(1), a), 'separatorLookAheadFunc');
+ for (; this.tokenMatcher(this.LA(1), a) === !0; ) this.CONSUME(a), i.call(this);
+ this.attemptInRepetitionRecovery(
+ this.repetitionSepSecondInternal,
+ [e, a, l, i, o2],
+ l,
+ 1280,
+ e,
+ o2
+ );
+ }
+ }
+ repetitionSepSecondInternal(e, r, n, i, a) {
+ for (; n(); ) this.CONSUME(r), i.call(this);
+ this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal, [e, r, n, i, a], n, 1536, e, a);
+ }
+ doSingleRepetition(e) {
+ let r = this.getLexerPosition();
+ return e.call(this), this.getLexerPosition() > r;
+ }
+ orInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(256, r),
+ i = wt(e) ? e : e.DEF,
+ s = this.getLaFuncFromCache(n).call(this, i);
+ if (s !== void 0) return i[s].ALT.call(this);
+ this.raiseNoAltException(r, e.ERR_MSG);
+ }
+ ruleFinallyStateUpdate() {
+ if (
+ (this.RULE_STACK.pop(),
+ this.RULE_OCCURRENCE_STACK.pop(),
+ this.cstFinallyStateUpdate(),
+ this.RULE_STACK.length === 0 && this.isAtEndOfInput() === !1)
+ ) {
+ let e = this.LA(1),
+ r = this.errorMessageProvider.buildNotAllInputParsedMessage({
+ firstRedundant: e,
+ ruleName: this.getCurrRuleFullName()
+ });
+ this.SAVE_ERROR(new p2(r, e));
+ }
+ }
+ subruleInternal(e, r, n) {
+ let i;
+ try {
+ let a = n !== void 0 ? n.ARGS : void 0;
+ return (
+ (this.subruleIdx = r),
+ (i = e.apply(this, a)),
+ this.cstPostNonTerminal(i, n !== void 0 && n.LABEL !== void 0 ? n.LABEL : e.ruleName),
+ i
+ );
+ } catch (a) {
+ throw this.subruleInternalError(a, n, e.ruleName);
+ }
+ }
+ subruleInternalError(e, r, n) {
+ throw (
+ (nf(e) &&
+ e.partialCstResult !== void 0 &&
+ (this.cstPostNonTerminal(
+ e.partialCstResult,
+ r !== void 0 && r.LABEL !== void 0 ? r.LABEL : n
+ ),
+ delete e.partialCstResult),
+ e)
+ );
+ }
+ consumeInternal(e, r, n) {
+ let i;
+ try {
+ let a = this.LA(1);
+ this.tokenMatcher(a, e) === !0
+ ? (this.consumeToken(), (i = a))
+ : this.consumeInternalError(e, a, n);
+ } catch (a) {
+ i = this.consumeInternalRecovery(e, r, a);
+ }
+ return this.cstPostTerminal(n !== void 0 && n.LABEL !== void 0 ? n.LABEL : e.name, i), i;
+ }
+ consumeInternalError(e, r, n) {
+ let i,
+ a = this.LA(0);
+ throw (
+ (n !== void 0 && n.ERR_MSG
+ ? (i = n.ERR_MSG)
+ : (i = this.errorMessageProvider.buildMismatchTokenMessage({
+ expected: e,
+ actual: r,
+ previous: a,
+ ruleName: this.getCurrRuleFullName()
+ })),
+ this.SAVE_ERROR(new c0(i, r, a)))
+ );
+ }
+ consumeInternalRecovery(e, r, n) {
+ if (this.recoveryEnabled && n.name === 'MismatchedTokenException' && !this.isBackTracking()) {
+ let i = this.getFollowsForInRuleRecovery(e, r);
+ try {
+ return this.tryInRuleRecovery(e, i);
+ } catch (a) {
+ throw a.name === SN ? n : a;
+ }
+ } else throw n;
+ }
+ saveRecogState() {
+ let e = this.errors,
+ r = Qr(this.RULE_STACK);
+ return {
+ errors: e,
+ lexerState: this.exportLexerState(),
+ RULE_STACK: r,
+ CST_STACK: this.CST_STACK
+ };
+ }
+ reloadRecogState(e) {
+ (this.errors = e.errors), this.importLexerState(e.lexerState), (this.RULE_STACK = e.RULE_STACK);
+ }
+ ruleInvocationStateUpdate(e, r, n) {
+ this.RULE_OCCURRENCE_STACK.push(n), this.RULE_STACK.push(e), this.cstInvocationStateUpdate(r);
+ }
+ isBackTracking() {
+ return this.isBackTrackingStack.length !== 0;
+ }
+ getCurrRuleFullName() {
+ let e = this.getLastExplicitRuleShortName();
+ return this.shortRuleNameToFull[e];
+ }
+ shortRuleNameToFullName(e) {
+ return this.shortRuleNameToFull[e];
+ }
+ isAtEndOfInput() {
+ return this.tokenMatcher(this.LA(1), fo);
+ }
+ reset() {
+ this.resetLexerState(),
+ (this.subruleIdx = 0),
+ (this.isBackTrackingStack = []),
+ (this.errors = []),
+ (this.RULE_STACK = []),
+ (this.CST_STACK = []),
+ (this.RULE_OCCURRENCE_STACK = []);
+ }
+ };
+ });
+ var uk,
+ kae = R(() => {
+ 'use strict';
+ ag();
+ Pt();
+ ng();
+ Ns();
+ uk = class {
+ static {
+ o(this, 'ErrorHandler');
+ }
+ initErrorHandler(e) {
+ (this._errors = []),
+ (this.errorMessageProvider = Xe(e, 'errorMessageProvider')
+ ? e.errorMessageProvider
+ : is.errorMessageProvider);
+ }
+ SAVE_ERROR(e) {
+ if (nf(e))
+ return (
+ (e.context = {
+ ruleStack: this.getHumanReadableRuleStack(),
+ ruleOccurrenceStack: Qr(this.RULE_OCCURRENCE_STACK)
+ }),
+ this._errors.push(e),
+ e
+ );
+ throw Error('Trying to save an Error which is not a RecognitionException');
+ }
+ get errors() {
+ return Qr(this._errors);
+ }
+ set errors(e) {
+ this._errors = e;
+ }
+ raiseEarlyExitException(e, r, n) {
+ let i = this.getCurrRuleFullName(),
+ a = this.getGAstProductions()[i],
+ l = rg(e, a, r, this.maxLookahead)[0],
+ u = [];
+ for (let f = 1; f <= this.maxLookahead; f++) u.push(this.LA(f));
+ let h = this.errorMessageProvider.buildEarlyExitMessage({
+ expectedIterationPaths: l,
+ actual: u,
+ previous: this.LA(0),
+ customUserDescription: n,
+ ruleName: i
+ });
+ throw this.SAVE_ERROR(new m2(h, this.LA(1), this.LA(0)));
+ }
+ raiseNoAltException(e, r) {
+ let n = this.getCurrRuleFullName(),
+ i = this.getGAstProductions()[n],
+ a = tg(e, i, this.maxLookahead),
+ s = [];
+ for (let h = 1; h <= this.maxLookahead; h++) s.push(this.LA(h));
+ let l = this.LA(0),
+ u = this.errorMessageProvider.buildNoViableAltMessage({
+ expectedPathsPerAlt: a,
+ actual: s,
+ previous: l,
+ customUserDescription: r,
+ ruleName: this.getCurrRuleFullName()
+ });
+ throw this.SAVE_ERROR(new d2(u, this.LA(1), l));
+ }
+ };
+ });
+ var hk,
+ Eae = R(() => {
+ 'use strict';
+ c2();
+ Pt();
+ hk = class {
+ static {
+ o(this, 'ContentAssist');
+ }
+ initContentAssist() {}
+ computeContentAssist(e, r) {
+ let n = this.gastProductionsCache[e];
+ if (er(n)) throw Error(`Rule ->${e}<- does not exist in this grammar.`);
+ return qT([n], r, this.tokenMatcher, this.maxLookahead);
+ }
+ getNextPossibleTokenTypes(e) {
+ let r = na(e.ruleStack),
+ i = this.getGAstProductions()[r];
+ return new UT(i, e).startWalking();
+ }
+ };
+ });
+ function y2(t, e, r, n = !1) {
+ dk(r);
+ let i = ma(this.recordingProdStack),
+ a = wi(e) ? e : e.DEF,
+ s = new t({ definition: [], idx: r });
+ return (
+ n && (s.separator = e.SEP),
+ Xe(e, 'MAX_LOOKAHEAD') && (s.maxLookahead = e.MAX_LOOKAHEAD),
+ this.recordingProdStack.push(s),
+ a.call(this),
+ i.definition.push(s),
+ this.recordingProdStack.pop(),
+ pk
+ );
+ }
+ function UIe(t, e) {
+ dk(e);
+ let r = ma(this.recordingProdStack),
+ n = wt(t) === !1,
+ i = n === !1 ? t : t.DEF,
+ a = new gn({
+ definition: [],
+ idx: e,
+ ignoreAmbiguities: n && t.IGNORE_AMBIGUITIES === !0
+ });
+ Xe(t, 'MAX_LOOKAHEAD') && (a.maxLookahead = t.MAX_LOOKAHEAD);
+ let s = Nv(i, (l) => wi(l.GATE));
+ return (
+ (a.hasPredicates = s),
+ r.definition.push(a),
+ Ee(i, (l) => {
+ let u = new Sn({ definition: [] });
+ a.definition.push(u),
+ Xe(l, 'IGNORE_AMBIGUITIES')
+ ? (u.ignoreAmbiguities = l.IGNORE_AMBIGUITIES)
+ : Xe(l, 'GATE') && (u.ignoreAmbiguities = !0),
+ this.recordingProdStack.push(u),
+ l.ALT.call(this),
+ this.recordingProdStack.pop();
+ }),
+ pk
+ );
+ }
+ function Aae(t) {
+ return t === 0 ? '' : `${t}`;
+ }
+ function dk(t) {
+ if (t < 0 || t > Sae) {
+ let e = new Error(`Invalid DSL Method idx value: <${t}>
+ Idx value must be a none negative value smaller than ${Sae + 1}`);
+ throw ((e.KNOWN_RECORDER_ERROR = !0), e);
+ }
+ }
+ var pk,
+ Cae,
+ Sae,
+ _ae,
+ Lae,
+ VIe,
+ fk,
+ Dae = R(() => {
+ 'use strict';
+ Pt();
+ ns();
+ i2();
+ s0();
+ l0();
+ Ns();
+ ek();
+ pk = {
+ description: 'This Object indicates the Parser is during Recording Phase'
+ };
+ Object.freeze(pk);
+ (Cae = !0), (Sae = Math.pow(2, 8) - 1), (_ae = VT({ name: 'RECORDING_PHASE_TOKEN', pattern: ni.NA }));
+ Fu([_ae]);
+ Lae = o0(
+ _ae,
+ `This IToken indicates the Parser is in Recording Phase
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ );
+ Object.freeze(Lae);
+ (VIe = {
+ name: `This CSTNode indicates the Parser is in Recording Phase
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,
+ children: {}
+ }),
+ (fk = class {
+ static {
+ o(this, 'GastRecorder');
+ }
+ initGastRecorder(e) {
+ (this.recordingProdStack = []), (this.RECORDING_PHASE = !1);
+ }
+ enableRecording() {
+ (this.RECORDING_PHASE = !0),
+ this.TRACE_INIT('Enable Recording', () => {
+ for (let e = 0; e < 10; e++) {
+ let r = e > 0 ? e : '';
+ (this[`CONSUME${r}`] = function (n, i) {
+ return this.consumeInternalRecord(n, e, i);
+ }),
+ (this[`SUBRULE${r}`] = function (n, i) {
+ return this.subruleInternalRecord(n, e, i);
+ }),
+ (this[`OPTION${r}`] = function (n) {
+ return this.optionInternalRecord(n, e);
+ }),
+ (this[`OR${r}`] = function (n) {
+ return this.orInternalRecord(n, e);
+ }),
+ (this[`MANY${r}`] = function (n) {
+ this.manyInternalRecord(e, n);
+ }),
+ (this[`MANY_SEP${r}`] = function (n) {
+ this.manySepFirstInternalRecord(e, n);
+ }),
+ (this[`AT_LEAST_ONE${r}`] = function (n) {
+ this.atLeastOneInternalRecord(e, n);
+ }),
+ (this[`AT_LEAST_ONE_SEP${r}`] = function (n) {
+ this.atLeastOneSepFirstInternalRecord(e, n);
+ });
+ }
+ (this.consume = function (e, r, n) {
+ return this.consumeInternalRecord(r, e, n);
+ }),
+ (this.subrule = function (e, r, n) {
+ return this.subruleInternalRecord(r, e, n);
+ }),
+ (this.option = function (e, r) {
+ return this.optionInternalRecord(r, e);
+ }),
+ (this.or = function (e, r) {
+ return this.orInternalRecord(r, e);
+ }),
+ (this.many = function (e, r) {
+ this.manyInternalRecord(e, r);
+ }),
+ (this.atLeastOne = function (e, r) {
+ this.atLeastOneInternalRecord(e, r);
+ }),
+ (this.ACTION = this.ACTION_RECORD),
+ (this.BACKTRACK = this.BACKTRACK_RECORD),
+ (this.LA = this.LA_RECORD);
+ });
+ }
+ disableRecording() {
+ (this.RECORDING_PHASE = !1),
+ this.TRACE_INIT('Deleting Recording methods', () => {
+ let e = this;
+ for (let r = 0; r < 10; r++) {
+ let n = r > 0 ? r : '';
+ delete e[`CONSUME${n}`],
+ delete e[`SUBRULE${n}`],
+ delete e[`OPTION${n}`],
+ delete e[`OR${n}`],
+ delete e[`MANY${n}`],
+ delete e[`MANY_SEP${n}`],
+ delete e[`AT_LEAST_ONE${n}`],
+ delete e[`AT_LEAST_ONE_SEP${n}`];
+ }
+ delete e.consume,
+ delete e.subrule,
+ delete e.option,
+ delete e.or,
+ delete e.many,
+ delete e.atLeastOne,
+ delete e.ACTION,
+ delete e.BACKTRACK,
+ delete e.LA;
+ });
+ }
+ ACTION_RECORD(e) {}
+ BACKTRACK_RECORD(e, r) {
+ return () => !0;
+ }
+ LA_RECORD(e) {
+ return sg;
+ }
+ topLevelRuleRecord(e, r) {
+ try {
+ let n = new ts({ definition: [], name: e });
+ return (
+ (n.name = e),
+ this.recordingProdStack.push(n),
+ r.call(this),
+ this.recordingProdStack.pop(),
+ n
+ );
+ } catch (n) {
+ if (n.KNOWN_RECORDER_ERROR !== !0)
+ try {
+ n.message =
+ n.message +
+ `
+ This error was thrown during the "grammar recording phase" For more info see:
+ https://chevrotain.io/docs/guide/internals.html#grammar-recording`;
+ } catch {
+ throw n;
+ }
+ throw n;
+ }
+ }
+ optionInternalRecord(e, r) {
+ return y2.call(this, Jr, e, r);
+ }
+ atLeastOneInternalRecord(e, r) {
+ y2.call(this, An, r, e);
+ }
+ atLeastOneSepFirstInternalRecord(e, r) {
+ y2.call(this, _n, r, e, Cae);
+ }
+ manyInternalRecord(e, r) {
+ y2.call(this, br, r, e);
+ }
+ manySepFirstInternalRecord(e, r) {
+ y2.call(this, mn, r, e, Cae);
+ }
+ orInternalRecord(e, r) {
+ return UIe.call(this, e, r);
+ }
+ subruleInternalRecord(e, r, n) {
+ if ((dk(r), !e || Xe(e, 'ruleName') === !1)) {
+ let l = new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
+ inside top level rule: <${this.recordingProdStack[0].name}>`);
+ throw ((l.KNOWN_RECORDER_ERROR = !0), l);
+ }
+ let i = ma(this.recordingProdStack),
+ a = e.ruleName,
+ s = new Zr({
+ idx: r,
+ nonTerminalName: a,
+ label: n?.LABEL,
+ referencedRule: void 0
+ });
+ return i.definition.push(s), this.outputCst ? VIe : pk;
+ }
+ consumeInternalRecord(e, r, n) {
+ if ((dk(r), !dN(e))) {
+ let s = new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
+ inside top level rule: <${this.recordingProdStack[0].name}>`);
+ throw ((s.KNOWN_RECORDER_ERROR = !0), s);
+ }
+ let i = ma(this.recordingProdStack),
+ a = new fr({ idx: r, terminalType: e, label: n?.LABEL });
+ return i.definition.push(a), Lae;
+ }
+ });
+ o(y2, 'recordProd');
+ o(UIe, 'recordOrProd');
+ o(Aae, 'getIdxSuffix');
+ o(dk, 'assertMethodIdxIsValid');
+ });
+ var mk,
+ Rae = R(() => {
+ 'use strict';
+ Pt();
+ qm();
+ Ns();
+ mk = class {
+ static {
+ o(this, 'PerformanceTracer');
+ }
+ initPerformanceTracer(e) {
+ if (Xe(e, 'traceInitPerf')) {
+ let r = e.traceInitPerf,
+ n = typeof r == 'number';
+ (this.traceInitMaxIdent = n ? r : 1 / 0), (this.traceInitPerf = n ? r > 0 : r);
+ } else (this.traceInitMaxIdent = 0), (this.traceInitPerf = is.traceInitPerf);
+ this.traceInitIndent = -1;
+ }
+ TRACE_INIT(e, r) {
+ if (this.traceInitPerf === !0) {
+ this.traceInitIndent++;
+ let n = new Array(this.traceInitIndent + 1).join(' ');
+ this.traceInitIndent < this.traceInitMaxIdent && console.log(`${n}--> <${e}>`);
+ let { time: i, value: a } = t2(r),
+ s = i > 10 ? console.warn : console.log;
+ return (
+ this.traceInitIndent < this.traceInitMaxIdent && s(`${n}<-- <${e}> time: ${i}ms`),
+ this.traceInitIndent--,
+ a
+ );
+ } else return r();
+ }
+ };
+ });
+ function Nae(t, e) {
+ e.forEach((r) => {
+ let n = r.prototype;
+ Object.getOwnPropertyNames(n).forEach((i) => {
+ if (i === 'constructor') return;
+ let a = Object.getOwnPropertyDescriptor(n, i);
+ a && (a.get || a.set) ? Object.defineProperty(t.prototype, i, a) : (t.prototype[i] = r.prototype[i]);
+ });
+ });
+ }
+ var Mae = R(() => {
+ 'use strict';
+ o(Nae, 'applyMixins');
+ });
+ function gk(t = void 0) {
+ return function () {
+ return t;
+ };
+ }
+ var sg,
+ is,
+ og,
+ Pi,
+ v2,
+ x2,
+ Ns = R(() => {
+ 'use strict';
+ Pt();
+ qm();
+ cie();
+ l0();
+ Jm();
+ aae();
+ AN();
+ hae();
+ xae();
+ bae();
+ wae();
+ Tae();
+ kae();
+ Eae();
+ Dae();
+ Rae();
+ Mae();
+ f2();
+ sg = o0(fo, '', NaN, NaN, NaN, NaN, NaN, NaN);
+ Object.freeze(sg);
+ (is = Object.freeze({
+ recoveryEnabled: !1,
+ maxLookahead: 3,
+ dynamicTokensEnabled: !1,
+ outputCst: !0,
+ errorMessageProvider: Gu,
+ nodeLocationTracking: 'none',
+ traceInitPerf: !1,
+ skipValidations: !1
+ })),
+ (og = Object.freeze({
+ recoveryValueFunc: o(() => {}, 'recoveryValueFunc'),
+ resyncEnabled: !0
+ }));
+ (function (t) {
+ (t[(t.INVALID_RULE_NAME = 0)] = 'INVALID_RULE_NAME'),
+ (t[(t.DUPLICATE_RULE_NAME = 1)] = 'DUPLICATE_RULE_NAME'),
+ (t[(t.INVALID_RULE_OVERRIDE = 2)] = 'INVALID_RULE_OVERRIDE'),
+ (t[(t.DUPLICATE_PRODUCTIONS = 3)] = 'DUPLICATE_PRODUCTIONS'),
+ (t[(t.UNRESOLVED_SUBRULE_REF = 4)] = 'UNRESOLVED_SUBRULE_REF'),
+ (t[(t.LEFT_RECURSION = 5)] = 'LEFT_RECURSION'),
+ (t[(t.NONE_LAST_EMPTY_ALT = 6)] = 'NONE_LAST_EMPTY_ALT'),
+ (t[(t.AMBIGUOUS_ALTS = 7)] = 'AMBIGUOUS_ALTS'),
+ (t[(t.CONFLICT_TOKENS_RULES_NAMESPACE = 8)] = 'CONFLICT_TOKENS_RULES_NAMESPACE'),
+ (t[(t.INVALID_TOKEN_NAME = 9)] = 'INVALID_TOKEN_NAME'),
+ (t[(t.NO_NON_EMPTY_LOOKAHEAD = 10)] = 'NO_NON_EMPTY_LOOKAHEAD'),
+ (t[(t.AMBIGUOUS_PREFIX_ALTS = 11)] = 'AMBIGUOUS_PREFIX_ALTS'),
+ (t[(t.TOO_MANY_ALTS = 12)] = 'TOO_MANY_ALTS'),
+ (t[(t.CUSTOM_LOOKAHEAD_VALIDATION = 13)] = 'CUSTOM_LOOKAHEAD_VALIDATION');
+ })(Pi || (Pi = {}));
+ o(gk, 'EMPTY_ALT');
+ v2 = class t {
+ static {
+ o(this, 'Parser');
+ }
+ static performSelfAnalysis(e) {
+ throw Error(
+ 'The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.'
+ );
+ }
+ performSelfAnalysis() {
+ this.TRACE_INIT('performSelfAnalysis', () => {
+ let e;
+ this.selfAnalysisDone = !0;
+ let r = this.className;
+ this.TRACE_INIT('toFastProps', () => {
+ r2(this);
+ }),
+ this.TRACE_INIT('Grammar Recording', () => {
+ try {
+ this.enableRecording(),
+ Ee(this.definedRulesNames, (i) => {
+ let s = this[i].originalGrammarAction,
+ l;
+ this.TRACE_INIT(`${i} Rule`, () => {
+ l = this.topLevelRuleRecord(i, s);
+ }),
+ (this.gastProductionsCache[i] = l);
+ });
+ } finally {
+ this.disableRecording();
+ }
+ });
+ let n = [];
+ if (
+ (this.TRACE_INIT('Grammar Resolving', () => {
+ (n = nae({ rules: or(this.gastProductionsCache) })),
+ (this.definitionErrors = this.definitionErrors.concat(n));
+ }),
+ this.TRACE_INIT('Grammar Validations', () => {
+ if (Qt(n) && this.skipValidations === !1) {
+ let i = iae({
+ rules: or(this.gastProductionsCache),
+ tokenTypes: or(this.tokensMap),
+ errMsgProvider: Ol,
+ grammarName: r
+ }),
+ a = Kie({
+ lookaheadStrategy: this.lookaheadStrategy,
+ rules: or(this.gastProductionsCache),
+ tokenTypes: or(this.tokensMap),
+ grammarName: r
+ });
+ this.definitionErrors = this.definitionErrors.concat(i, a);
+ }
+ }),
+ Qt(this.definitionErrors) &&
+ (this.recoveryEnabled &&
+ this.TRACE_INIT('computeAllProdsFollows', () => {
+ let i = lie(or(this.gastProductionsCache));
+ this.resyncFollows = i;
+ }),
+ this.TRACE_INIT('ComputeLookaheadFunctions', () => {
+ var i, a;
+ (a = (i = this.lookaheadStrategy).initialize) === null ||
+ a === void 0 ||
+ a.call(i, { rules: or(this.gastProductionsCache) }),
+ this.preComputeLookaheadFunctions(or(this.gastProductionsCache));
+ })),
+ !t.DEFER_DEFINITION_ERRORS_HANDLING && !Qt(this.definitionErrors))
+ )
+ throw (
+ ((e = qe(this.definitionErrors, (i) => i.message)),
+ new Error(`Parser Definition Errors detected:
+ ${e.join(`
+-------------------------------
+`)}`))
+ );
+ });
+ }
+ constructor(e, r) {
+ (this.definitionErrors = []), (this.selfAnalysisDone = !1);
+ let n = this;
+ if (
+ (n.initErrorHandler(r),
+ n.initLexerAdapter(),
+ n.initLooksAhead(r),
+ n.initRecognizerEngine(e, r),
+ n.initRecoverable(r),
+ n.initTreeBuilder(r),
+ n.initContentAssist(),
+ n.initGastRecorder(r),
+ n.initPerformanceTracer(r),
+ Xe(r, 'ignoredIssues'))
+ )
+ throw new Error(`The IParserConfig property has been deprecated.
+ Please use the flag on the relevant DSL method instead.
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
+ For further details.`);
+ this.skipValidations = Xe(r, 'skipValidations') ? r.skipValidations : is.skipValidations;
+ }
+ };
+ v2.DEFER_DEFINITION_ERRORS_HANDLING = !1;
+ Nae(v2, [ZT, rk, sk, ok, ck, lk, uk, hk, fk, mk]);
+ x2 = class extends v2 {
+ static {
+ o(this, 'EmbeddedActionsParser');
+ }
+ constructor(e, r = is) {
+ let n = Qr(r);
+ (n.outputCst = !1), super(e, n);
+ }
+ };
+ });
+ var Iae = R(() => {
+ 'use strict';
+ ns();
+ });
+ var Oae = R(() => {
+ 'use strict';
+ });
+ var Pae = R(() => {
+ 'use strict';
+ Iae();
+ Oae();
+ });
+ var Bae = R(() => {
+ 'use strict';
+ tN();
+ });
+ var u0 = R(() => {
+ 'use strict';
+ tN();
+ Ns();
+ i2();
+ l0();
+ ng();
+ _N();
+ Jm();
+ ag();
+ mN();
+ ns();
+ ns();
+ Pae();
+ Bae();
+ });
+ function h0(t, e, r) {
+ return `${t.name}_${e}_${r}`;
+ }
+ function $ae(t) {
+ let e = {
+ decisionMap: {},
+ decisionStates: [],
+ ruleToStartState: new Map(),
+ ruleToStopState: new Map(),
+ states: []
+ };
+ KIe(e, t);
+ let r = t.length;
+ for (let n = 0; n < r; n++) {
+ let i = t[n],
+ a = f0(e, i, i);
+ a !== void 0 && oOe(e, i, a);
+ }
+ return e;
+ }
+ function KIe(t, e) {
+ let r = e.length;
+ for (let n = 0; n < r; n++) {
+ let i = e[n],
+ a = ia(t, i, void 0, { type: YIe }),
+ s = ia(t, i, void 0, { type: ug });
+ (a.stop = s), t.ruleToStartState.set(i, a), t.ruleToStopState.set(i, s);
+ }
+ }
+ function Vae(t, e, r) {
+ return r instanceof fr
+ ? BN(t, e, r.terminalType, r)
+ : r instanceof Zr
+ ? sOe(t, e, r)
+ : r instanceof gn
+ ? tOe(t, e, r)
+ : r instanceof Jr
+ ? rOe(t, e, r)
+ : r instanceof br
+ ? QIe(t, e, r)
+ : r instanceof mn
+ ? ZIe(t, e, r)
+ : r instanceof An
+ ? JIe(t, e, r)
+ : r instanceof _n
+ ? eOe(t, e, r)
+ : f0(t, e, r);
+ }
+ function QIe(t, e, r) {
+ let n = ia(t, e, r, { type: zae });
+ sf(t, n);
+ let i = hg(t, e, n, r, f0(t, e, r));
+ return Hae(t, e, r, i);
+ }
+ function ZIe(t, e, r) {
+ let n = ia(t, e, r, { type: zae });
+ sf(t, n);
+ let i = hg(t, e, n, r, f0(t, e, r)),
+ a = BN(t, e, r.separator, r);
+ return Hae(t, e, r, i, a);
+ }
+ function JIe(t, e, r) {
+ let n = ia(t, e, r, { type: Fae });
+ sf(t, n);
+ let i = hg(t, e, n, r, f0(t, e, r));
+ return Uae(t, e, r, i);
+ }
+ function eOe(t, e, r) {
+ let n = ia(t, e, r, { type: Fae });
+ sf(t, n);
+ let i = hg(t, e, n, r, f0(t, e, r)),
+ a = BN(t, e, r.separator, r);
+ return Uae(t, e, r, i, a);
+ }
+ function tOe(t, e, r) {
+ let n = ia(t, e, r, { type: af });
+ sf(t, n);
+ let i = qe(r.definition, (s) => Vae(t, e, s));
+ return hg(t, e, n, r, ...i);
+ }
+ function rOe(t, e, r) {
+ let n = ia(t, e, r, { type: af });
+ sf(t, n);
+ let i = hg(t, e, n, r, f0(t, e, r));
+ return nOe(t, e, r, i);
+ }
+ function f0(t, e, r) {
+ let n = $r(
+ qe(r.definition, (i) => Vae(t, e, i)),
+ (i) => i !== void 0
+ );
+ return n.length === 1 ? n[0] : n.length === 0 ? void 0 : aOe(t, n);
+ }
+ function Uae(t, e, r, n, i) {
+ let a = n.left,
+ s = n.right,
+ l = ia(t, e, r, { type: jIe });
+ sf(t, l);
+ let u = ia(t, e, r, { type: Gae });
+ return (
+ (a.loopback = l),
+ (u.loopback = l),
+ (t.decisionMap[h0(e, i ? 'RepetitionMandatoryWithSeparator' : 'RepetitionMandatory', r.idx)] = l),
+ Ei(s, l),
+ i === void 0 ? (Ei(l, a), Ei(l, u)) : (Ei(l, u), Ei(l, i.left), Ei(i.right, a)),
+ { left: a, right: u }
+ );
+ }
+ function Hae(t, e, r, n, i) {
+ let a = n.left,
+ s = n.right,
+ l = ia(t, e, r, { type: XIe });
+ sf(t, l);
+ let u = ia(t, e, r, { type: Gae }),
+ h = ia(t, e, r, { type: qIe });
+ return (
+ (l.loopback = h),
+ (u.loopback = h),
+ Ei(l, a),
+ Ei(l, u),
+ Ei(s, h),
+ i !== void 0 ? (Ei(h, u), Ei(h, i.left), Ei(i.right, a)) : Ei(h, l),
+ (t.decisionMap[h0(e, i ? 'RepetitionWithSeparator' : 'Repetition', r.idx)] = l),
+ { left: l, right: u }
+ );
+ }
+ function nOe(t, e, r, n) {
+ let i = n.left,
+ a = n.right;
+ return Ei(i, a), (t.decisionMap[h0(e, 'Option', r.idx)] = i), n;
+ }
+ function sf(t, e) {
+ return t.decisionStates.push(e), (e.decision = t.decisionStates.length - 1), e.decision;
+ }
+ function hg(t, e, r, n, ...i) {
+ let a = ia(t, e, n, { type: WIe, start: r });
+ r.end = a;
+ for (let l of i) l !== void 0 ? (Ei(r, l.left), Ei(l.right, a)) : Ei(r, a);
+ let s = { left: r, right: a };
+ return (t.decisionMap[h0(e, iOe(n), n.idx)] = r), s;
+ }
+ function iOe(t) {
+ if (t instanceof gn) return 'Alternation';
+ if (t instanceof Jr) return 'Option';
+ if (t instanceof br) return 'Repetition';
+ if (t instanceof mn) return 'RepetitionWithSeparator';
+ if (t instanceof An) return 'RepetitionMandatory';
+ if (t instanceof _n) return 'RepetitionMandatoryWithSeparator';
+ throw new Error('Invalid production type encountered');
+ }
+ function aOe(t, e) {
+ let r = e.length;
+ for (let a = 0; a < r - 1; a++) {
+ let s = e[a],
+ l;
+ s.left.transitions.length === 1 && (l = s.left.transitions[0]);
+ let u = l instanceof cg,
+ h = l,
+ f = e[a + 1].left;
+ s.left.type === af &&
+ s.right.type === af &&
+ l !== void 0 &&
+ ((u && h.followState === s.right) || l.target === s.right)
+ ? (u ? (h.followState = f) : (l.target = f), lOe(t, s.right))
+ : Ei(s.right, f);
+ }
+ let n = e[0],
+ i = e[r - 1];
+ return { left: n.left, right: i.right };
+ }
+ function BN(t, e, r, n) {
+ let i = ia(t, e, n, { type: af }),
+ a = ia(t, e, n, { type: af });
+ return FN(i, new lg(a, r)), { left: i, right: a };
+ }
+ function sOe(t, e, r) {
+ let n = r.referencedRule,
+ i = t.ruleToStartState.get(n),
+ a = ia(t, e, r, { type: af }),
+ s = ia(t, e, r, { type: af }),
+ l = new cg(i, n, s);
+ return FN(a, l), { left: a, right: s };
+ }
+ function oOe(t, e, r) {
+ let n = t.ruleToStartState.get(e);
+ Ei(n, r.left);
+ let i = t.ruleToStopState.get(e);
+ return Ei(r.right, i), { left: n, right: i };
+ }
+ function Ei(t, e) {
+ let r = new w2(e);
+ FN(t, r);
+ }
+ function ia(t, e, r, n) {
+ let i = Object.assign(
+ {
+ atn: t,
+ production: r,
+ epsilonOnlyTransitions: !1,
+ rule: e,
+ transitions: [],
+ nextTokenWithinRule: [],
+ stateNumber: t.states.length
+ },
+ n
+ );
+ return t.states.push(i), i;
+ }
+ function FN(t, e) {
+ t.transitions.length === 0 && (t.epsilonOnlyTransitions = e.isEpsilon()), t.transitions.push(e);
+ }
+ function lOe(t, e) {
+ t.states.splice(t.states.indexOf(e), 1);
+ }
+ var af,
+ YIe,
+ Fae,
+ zae,
+ ug,
+ WIe,
+ qIe,
+ XIe,
+ jIe,
+ Gae,
+ b2,
+ lg,
+ w2,
+ cg,
+ Yae = R(() => {
+ 'use strict';
+ Mm();
+ LL();
+ u0();
+ o(h0, 'buildATNKey');
+ (af = 1),
+ (YIe = 2),
+ (Fae = 4),
+ (zae = 5),
+ (ug = 7),
+ (WIe = 8),
+ (qIe = 9),
+ (XIe = 10),
+ (jIe = 11),
+ (Gae = 12),
+ (b2 = class {
+ static {
+ o(this, 'AbstractTransition');
+ }
+ constructor(e) {
+ this.target = e;
+ }
+ isEpsilon() {
+ return !1;
+ }
+ }),
+ (lg = class extends b2 {
+ static {
+ o(this, 'AtomTransition');
+ }
+ constructor(e, r) {
+ super(e), (this.tokenType = r);
+ }
+ }),
+ (w2 = class extends b2 {
+ static {
+ o(this, 'EpsilonTransition');
+ }
+ constructor(e) {
+ super(e);
+ }
+ isEpsilon() {
+ return !0;
+ }
+ }),
+ (cg = class extends b2 {
+ static {
+ o(this, 'RuleTransition');
+ }
+ constructor(e, r, n) {
+ super(e), (this.rule = r), (this.followState = n);
+ }
+ isEpsilon() {
+ return !0;
+ }
+ });
+ o($ae, 'createATN');
+ o(KIe, 'createRuleStartAndStopATNStates');
+ o(Vae, 'atom');
+ o(QIe, 'repetition');
+ o(ZIe, 'repetitionSep');
+ o(JIe, 'repetitionMandatory');
+ o(eOe, 'repetitionMandatorySep');
+ o(tOe, 'alternation');
+ o(rOe, 'option');
+ o(f0, 'block');
+ o(Uae, 'plus');
+ o(Hae, 'star');
+ o(nOe, 'optional');
+ o(sf, 'defineDecisionState');
+ o(hg, 'makeAlts');
+ o(iOe, 'getProdType');
+ o(aOe, 'makeBlock');
+ o(BN, 'tokenRef');
+ o(sOe, 'ruleRef');
+ o(oOe, 'buildRuleHandle');
+ o(Ei, 'epsilon');
+ o(ia, 'newState');
+ o(FN, 'addTransition');
+ o(lOe, 'removeState');
+ });
+ function zN(t, e = !0) {
+ return `${e ? `a${t.alt}` : ''}s${t.state.stateNumber}:${t.stack
+ .map((r) => r.stateNumber.toString())
+ .join('_')}`;
+ }
+ var T2,
+ fg,
+ Wae = R(() => {
+ 'use strict';
+ Mm();
+ (T2 = {}),
+ (fg = class {
+ static {
+ o(this, 'ATNConfigSet');
+ }
+ constructor() {
+ (this.map = {}), (this.configs = []);
+ }
+ get size() {
+ return this.configs.length;
+ }
+ finalize() {
+ this.map = {};
+ }
+ add(e) {
+ let r = zN(e);
+ r in this.map || ((this.map[r] = this.configs.length), this.configs.push(e));
+ }
+ get elements() {
+ return this.configs;
+ }
+ get alts() {
+ return qe(this.configs, (e) => e.alt);
+ }
+ get key() {
+ let e = '';
+ for (let r in this.map) e += r + ':';
+ return e;
+ }
+ });
+ o(zN, 'getATNConfigKey');
+ });
+ function cOe(t, e) {
+ let r = {};
+ return (n) => {
+ let i = n.toString(),
+ a = r[i];
+ return a !== void 0 || ((a = { atnStartState: t, decision: e, states: {} }), (r[i] = a)), a;
+ };
+ }
+ function Xae(t, e = !0) {
+ let r = new Set();
+ for (let n of t) {
+ let i = new Set();
+ for (let a of n) {
+ if (a === void 0) {
+ if (e) break;
+ return !1;
+ }
+ let s = [a.tokenTypeIdx].concat(a.categoryMatches);
+ for (let l of s)
+ if (r.has(l)) {
+ if (!i.has(l)) return !1;
+ } else r.add(l), i.add(l);
+ }
+ }
+ return !0;
+ }
+ function uOe(t) {
+ let e = t.decisionStates.length,
+ r = Array(e);
+ for (let n = 0; n < e; n++) r[n] = cOe(t.decisionStates[n], n);
+ return r;
+ }
+ function GN(t, e, r, n) {
+ let i = t[e](r),
+ a = i.start;
+ if (a === void 0) {
+ let l = wOe(i.atnStartState);
+ (a = Qae(i, Kae(l))), (i.start = a);
+ }
+ return hOe.apply(this, [i, a, r, n]);
+ }
+ function hOe(t, e, r, n) {
+ let i = e,
+ a = 1,
+ s = [],
+ l = this.LA(a++);
+ for (;;) {
+ let u = yOe(i, l);
+ if ((u === void 0 && (u = fOe.apply(this, [t, i, l, a, r, n])), u === T2)) return gOe(s, i, l);
+ if (u.isAcceptState === !0) return u.prediction;
+ (i = u), s.push(l), (l = this.LA(a++));
+ }
+ }
+ function fOe(t, e, r, n, i, a) {
+ let s = vOe(e.configs, r, i);
+ if (s.size === 0) return jae(t, e, r, T2), T2;
+ let l = Kae(s),
+ u = bOe(s, i);
+ if (u !== void 0) (l.isAcceptState = !0), (l.prediction = u), (l.configs.uniqueAlt = u);
+ else if (COe(s)) {
+ let h = Ll(s.alts);
+ (l.isAcceptState = !0), (l.prediction = h), (l.configs.uniqueAlt = h), dOe.apply(this, [t, n, s.alts, a]);
+ }
+ return (l = jae(t, e, r, l)), l;
+ }
+ function dOe(t, e, r, n) {
+ let i = [];
+ for (let h = 1; h <= e; h++) i.push(this.LA(h).tokenType);
+ let a = t.atnStartState,
+ s = a.rule,
+ l = a.production,
+ u = pOe({
+ topLevelRule: s,
+ ambiguityIndices: r,
+ production: l,
+ prefixPath: i
+ });
+ n(u);
+ }
+ function pOe(t) {
+ let e = qe(t.prefixPath, (i) => zu(i)).join(', '),
+ r = t.production.idx === 0 ? '' : t.production.idx,
+ n = `Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(', ')}> in <${mOe(
+ t.production
+ )}${r}> inside <${t.topLevelRule.name}> Rule,
+<${e}> may appears as a prefix path in all these alternatives.
+`;
+ return (
+ (n =
+ n +
+ `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
+For Further details.`),
+ n
+ );
+ }
+ function mOe(t) {
+ if (t instanceof Zr) return 'SUBRULE';
+ if (t instanceof Jr) return 'OPTION';
+ if (t instanceof gn) return 'OR';
+ if (t instanceof An) return 'AT_LEAST_ONE';
+ if (t instanceof _n) return 'AT_LEAST_ONE_SEP';
+ if (t instanceof mn) return 'MANY_SEP';
+ if (t instanceof br) return 'MANY';
+ if (t instanceof fr) return 'CONSUME';
+ throw Error('non exhaustive match');
+ }
+ function gOe(t, e, r) {
+ let n = ga(e.configs.elements, (a) => a.state.transitions),
+ i = nte(
+ n.filter((a) => a instanceof lg).map((a) => a.tokenType),
+ (a) => a.tokenTypeIdx
+ );
+ return { actualToken: r, possibleTokenTypes: i, tokenPath: t };
+ }
+ function yOe(t, e) {
+ return t.edges[e.tokenTypeIdx];
+ }
+ function vOe(t, e, r) {
+ let n = new fg(),
+ i = [];
+ for (let s of t.elements) {
+ if (r.is(s.alt) === !1) continue;
+ if (s.state.type === ug) {
+ i.push(s);
+ continue;
+ }
+ let l = s.state.transitions.length;
+ for (let u = 0; u < l; u++) {
+ let h = s.state.transitions[u],
+ f = xOe(h, e);
+ f !== void 0 && n.add({ state: f, alt: s.alt, stack: s.stack });
+ }
+ }
+ let a;
+ if ((i.length === 0 && n.size === 1 && (a = n), a === void 0)) {
+ a = new fg();
+ for (let s of n.elements) vk(s, a);
+ }
+ if (i.length > 0 && !kOe(a)) for (let s of i) a.add(s);
+ return a;
+ }
+ function xOe(t, e) {
+ if (t instanceof lg && s2(e, t.tokenType)) return t.target;
+ }
+ function bOe(t, e) {
+ let r;
+ for (let n of t.elements)
+ if (e.is(n.alt) === !0) {
+ if (r === void 0) r = n.alt;
+ else if (r !== n.alt) return;
+ }
+ return r;
+ }
+ function Kae(t) {
+ return { configs: t, edges: {}, isAcceptState: !1, prediction: -1 };
+ }
+ function jae(t, e, r, n) {
+ return (n = Qae(t, n)), (e.edges[r.tokenTypeIdx] = n), n;
+ }
+ function Qae(t, e) {
+ if (e === T2) return e;
+ let r = e.configs.key,
+ n = t.states[r];
+ return n !== void 0 ? n : (e.configs.finalize(), (t.states[r] = e), e);
+ }
+ function wOe(t) {
+ let e = new fg(),
+ r = t.transitions.length;
+ for (let n = 0; n < r; n++) {
+ let a = { state: t.transitions[n].target, alt: n, stack: [] };
+ vk(a, e);
+ }
+ return e;
+ }
+ function vk(t, e) {
+ let r = t.state;
+ if (r.type === ug) {
+ if (t.stack.length > 0) {
+ let i = [...t.stack],
+ s = { state: i.pop(), alt: t.alt, stack: i };
+ vk(s, e);
+ } else e.add(t);
+ return;
+ }
+ r.epsilonOnlyTransitions || e.add(t);
+ let n = r.transitions.length;
+ for (let i = 0; i < n; i++) {
+ let a = r.transitions[i],
+ s = TOe(t, a);
+ s !== void 0 && vk(s, e);
+ }
+ }
+ function TOe(t, e) {
+ if (e instanceof w2) return { state: e.target, alt: t.alt, stack: t.stack };
+ if (e instanceof cg) {
+ let r = [...t.stack, e.followState];
+ return { state: e.target, alt: t.alt, stack: r };
+ }
+ }
+ function kOe(t) {
+ for (let e of t.elements) if (e.state.type === ug) return !0;
+ return !1;
+ }
+ function EOe(t) {
+ for (let e of t.elements) if (e.state.type !== ug) return !1;
+ return !0;
+ }
+ function COe(t) {
+ if (EOe(t)) return !0;
+ let e = SOe(t.elements);
+ return AOe(e) && !_Oe(e);
+ }
+ function SOe(t) {
+ let e = new Map();
+ for (let r of t) {
+ let n = zN(r, !1),
+ i = e.get(n);
+ i === void 0 && ((i = {}), e.set(n, i)), (i[r.alt] = !0);
+ }
+ return e;
+ }
+ function AOe(t) {
+ for (let e of Array.from(t.values())) if (Object.keys(e).length > 1) return !0;
+ return !1;
+ }
+ function _Oe(t) {
+ for (let e of Array.from(t.values())) if (Object.keys(e).length === 1) return !0;
+ return !1;
+ }
+ var yk,
+ qae,
+ k2,
+ Zae = R(() => {
+ 'use strict';
+ u0();
+ Yae();
+ Wae();
+ BL();
+ RL();
+ ite();
+ Mm();
+ fw();
+ $w();
+ Ww();
+ $L();
+ o(cOe, 'createDFACache');
+ (yk = class {
+ static {
+ o(this, 'PredicateSet');
+ }
+ constructor() {
+ this.predicates = [];
+ }
+ is(e) {
+ return e >= this.predicates.length || this.predicates[e];
+ }
+ set(e, r) {
+ this.predicates[e] = r;
+ }
+ toString() {
+ let e = '',
+ r = this.predicates.length;
+ for (let n = 0; n < r; n++) e += this.predicates[n] === !0 ? '1' : '0';
+ return e;
+ }
+ }),
+ (qae = new yk()),
+ (k2 = class extends $u {
+ static {
+ o(this, 'LLStarLookaheadStrategy');
+ }
+ constructor(e) {
+ var r;
+ super(), (this.logging = (r = e?.logging) !== null && r !== void 0 ? r : (n) => console.log(n));
+ }
+ initialize(e) {
+ (this.atn = $ae(e.rules)), (this.dfas = uOe(this.atn));
+ }
+ validateAmbiguousAlternationAlternatives() {
+ return [];
+ }
+ validateEmptyOrAlternatives() {
+ return [];
+ }
+ buildLookaheadForAlternation(e) {
+ let { prodOccurrence: r, rule: n, hasPredicates: i, dynamicTokensEnabled: a } = e,
+ s = this.dfas,
+ l = this.logging,
+ u = h0(n, 'Alternation', r),
+ f = this.atn.decisionMap[u].decision,
+ d = qe(
+ jT({
+ maxLookahead: 1,
+ occurrence: r,
+ prodType: 'Alternation',
+ rule: n
+ }),
+ (p) => qe(p, (m) => m[0])
+ );
+ if (Xae(d, !1) && !a) {
+ let p = Vr(
+ d,
+ (m, g, y) => (
+ Ee(g, (v) => {
+ v &&
+ ((m[v.tokenTypeIdx] = y),
+ Ee(v.categoryMatches, (x) => {
+ m[x] = y;
+ }));
+ }),
+ m
+ ),
+ {}
+ );
+ return i
+ ? function (m) {
+ var g;
+ let y = this.LA(1),
+ v = p[y.tokenTypeIdx];
+ if (m !== void 0 && v !== void 0) {
+ let x = (g = m[v]) === null || g === void 0 ? void 0 : g.GATE;
+ if (x !== void 0 && x.call(this) === !1) return;
+ }
+ return v;
+ }
+ : function () {
+ let m = this.LA(1);
+ return p[m.tokenTypeIdx];
+ };
+ } else
+ return i
+ ? function (p) {
+ let m = new yk(),
+ g = p === void 0 ? 0 : p.length;
+ for (let v = 0; v < g; v++) {
+ let x = p?.[v].GATE;
+ m.set(v, x === void 0 || x.call(this));
+ }
+ let y = GN.call(this, s, f, m, l);
+ return typeof y == 'number' ? y : void 0;
+ }
+ : function () {
+ let p = GN.call(this, s, f, qae, l);
+ return typeof p == 'number' ? p : void 0;
+ };
+ }
+ buildLookaheadForOptional(e) {
+ let { prodOccurrence: r, rule: n, prodType: i, dynamicTokensEnabled: a } = e,
+ s = this.dfas,
+ l = this.logging,
+ u = h0(n, i, r),
+ f = this.atn.decisionMap[u].decision,
+ d = qe(jT({ maxLookahead: 1, occurrence: r, prodType: i, rule: n }), (p) =>
+ qe(p, (m) => m[0])
+ );
+ if (Xae(d) && d[0][0] && !a) {
+ let p = d[0],
+ m = Gr(p);
+ if (m.length === 1 && Qt(m[0].categoryMatches)) {
+ let y = m[0].tokenTypeIdx;
+ return function () {
+ return this.LA(1).tokenTypeIdx === y;
+ };
+ } else {
+ let g = Vr(
+ m,
+ (y, v) => (
+ v !== void 0 &&
+ ((y[v.tokenTypeIdx] = !0),
+ Ee(v.categoryMatches, (x) => {
+ y[x] = !0;
+ })),
+ y
+ ),
+ {}
+ );
+ return function () {
+ let y = this.LA(1);
+ return g[y.tokenTypeIdx] === !0;
+ };
+ }
+ }
+ return function () {
+ let p = GN.call(this, s, f, qae, l);
+ return typeof p == 'object' ? !1 : p === 0;
+ };
+ }
+ });
+ o(Xae, 'isLL1Sequence');
+ o(uOe, 'initATNSimulator');
+ o(GN, 'adaptivePredict');
+ o(hOe, 'performLookahead');
+ o(fOe, 'computeLookaheadTarget');
+ o(dOe, 'reportLookaheadAmbiguity');
+ o(pOe, 'buildAmbiguityError');
+ o(mOe, 'getProductionDslName');
+ o(gOe, 'buildAdaptivePredictError');
+ o(yOe, 'getExistingTargetState');
+ o(vOe, 'computeReachSet');
+ o(xOe, 'getReachableTarget');
+ o(bOe, 'getUniqueAlt');
+ o(Kae, 'newDFAState');
+ o(jae, 'addDFAEdge');
+ o(Qae, 'addDFAState');
+ o(wOe, 'computeStartState');
+ o(vk, 'closure');
+ o(TOe, 'getEpsilonTarget');
+ o(kOe, 'hasConfigInRuleStopState');
+ o(EOe, 'allConfigsInRuleStopStates');
+ o(COe, 'hasConflictTerminatingPrediction');
+ o(SOe, 'getConflictingAltSets');
+ o(AOe, 'hasConflictingAltSet');
+ o(_Oe, 'hasStateAssociatedWithOneAlt');
+ });
+ var Jae = R(() => {
+ 'use strict';
+ Zae();
+ });
+ var ese,
+ $N,
+ tse,
+ xk,
+ Ur,
+ wr,
+ bk,
+ rse,
+ VN,
+ nse,
+ ise,
+ ase,
+ sse,
+ UN,
+ ose,
+ lse,
+ cse,
+ wk,
+ dg,
+ pg,
+ HN,
+ mg,
+ use,
+ YN,
+ WN,
+ qN,
+ XN,
+ jN,
+ hse,
+ fse,
+ KN,
+ dse,
+ QN,
+ E2,
+ pse,
+ mse,
+ gse,
+ yse,
+ vse,
+ xse,
+ bse,
+ wse,
+ Tk,
+ Tse,
+ kse,
+ Ese,
+ Cse,
+ Sse,
+ Ase,
+ _se,
+ Lse,
+ Dse,
+ Rse,
+ Nse,
+ kk,
+ Mse,
+ Ise,
+ Ose,
+ Pse,
+ Bse,
+ Fse,
+ zse,
+ Gse,
+ $se,
+ Vse,
+ Use,
+ Hse,
+ Yse,
+ ZN,
+ JN,
+ Wse,
+ qse,
+ Xse,
+ jse,
+ Kse,
+ Qse,
+ Zse,
+ Jse,
+ eoe,
+ eM,
+ Fe,
+ tM = R(() => {
+ 'use strict';
+ (function (t) {
+ function e(r) {
+ return typeof r == 'string';
+ }
+ o(e, 'is'), (t.is = e);
+ })(ese || (ese = {}));
+ (function (t) {
+ function e(r) {
+ return typeof r == 'string';
+ }
+ o(e, 'is'), (t.is = e);
+ })($N || ($N = {}));
+ (function (t) {
+ (t.MIN_VALUE = -2147483648), (t.MAX_VALUE = 2147483647);
+ function e(r) {
+ return typeof r == 'number' && t.MIN_VALUE <= r && r <= t.MAX_VALUE;
+ }
+ o(e, 'is'), (t.is = e);
+ })(tse || (tse = {}));
+ (function (t) {
+ (t.MIN_VALUE = 0), (t.MAX_VALUE = 2147483647);
+ function e(r) {
+ return typeof r == 'number' && t.MIN_VALUE <= r && r <= t.MAX_VALUE;
+ }
+ o(e, 'is'), (t.is = e);
+ })(xk || (xk = {}));
+ (function (t) {
+ function e(n, i) {
+ return (
+ n === Number.MAX_VALUE && (n = xk.MAX_VALUE),
+ i === Number.MAX_VALUE && (i = xk.MAX_VALUE),
+ { line: n, character: i }
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.objectLiteral(i) && Fe.uinteger(i.line) && Fe.uinteger(i.character);
+ }
+ o(r, 'is'), (t.is = r);
+ })(Ur || (Ur = {}));
+ (function (t) {
+ function e(n, i, a, s) {
+ if (Fe.uinteger(n) && Fe.uinteger(i) && Fe.uinteger(a) && Fe.uinteger(s))
+ return { start: Ur.create(n, i), end: Ur.create(a, s) };
+ if (Ur.is(n) && Ur.is(i)) return { start: n, end: i };
+ throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`);
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.objectLiteral(i) && Ur.is(i.start) && Ur.is(i.end);
+ }
+ o(r, 'is'), (t.is = r);
+ })(wr || (wr = {}));
+ (function (t) {
+ function e(n, i) {
+ return { uri: n, range: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.objectLiteral(i) && wr.is(i.range) && (Fe.string(i.uri) || Fe.undefined(i.uri));
+ }
+ o(r, 'is'), (t.is = r);
+ })(bk || (bk = {}));
+ (function (t) {
+ function e(n, i, a, s) {
+ return {
+ targetUri: n,
+ targetRange: i,
+ targetSelectionRange: a,
+ originSelectionRange: s
+ };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ wr.is(i.targetRange) &&
+ Fe.string(i.targetUri) &&
+ wr.is(i.targetSelectionRange) &&
+ (wr.is(i.originSelectionRange) || Fe.undefined(i.originSelectionRange))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(rse || (rse = {}));
+ (function (t) {
+ function e(n, i, a, s) {
+ return { red: n, green: i, blue: a, alpha: s };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ Fe.numberRange(i.red, 0, 1) &&
+ Fe.numberRange(i.green, 0, 1) &&
+ Fe.numberRange(i.blue, 0, 1) &&
+ Fe.numberRange(i.alpha, 0, 1)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(VN || (VN = {}));
+ (function (t) {
+ function e(n, i) {
+ return { range: n, color: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.objectLiteral(i) && wr.is(i.range) && VN.is(i.color);
+ }
+ o(r, 'is'), (t.is = r);
+ })(nse || (nse = {}));
+ (function (t) {
+ function e(n, i, a) {
+ return { label: n, textEdit: i, additionalTextEdits: a };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ Fe.string(i.label) &&
+ (Fe.undefined(i.textEdit) || pg.is(i)) &&
+ (Fe.undefined(i.additionalTextEdits) || Fe.typedArray(i.additionalTextEdits, pg.is))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(ise || (ise = {}));
+ (function (t) {
+ (t.Comment = 'comment'), (t.Imports = 'imports'), (t.Region = 'region');
+ })(ase || (ase = {}));
+ (function (t) {
+ function e(n, i, a, s, l, u) {
+ let h = { startLine: n, endLine: i };
+ return (
+ Fe.defined(a) && (h.startCharacter = a),
+ Fe.defined(s) && (h.endCharacter = s),
+ Fe.defined(l) && (h.kind = l),
+ Fe.defined(u) && (h.collapsedText = u),
+ h
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ Fe.uinteger(i.startLine) &&
+ Fe.uinteger(i.startLine) &&
+ (Fe.undefined(i.startCharacter) || Fe.uinteger(i.startCharacter)) &&
+ (Fe.undefined(i.endCharacter) || Fe.uinteger(i.endCharacter)) &&
+ (Fe.undefined(i.kind) || Fe.string(i.kind))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(sse || (sse = {}));
+ (function (t) {
+ function e(n, i) {
+ return { location: n, message: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && bk.is(i.location) && Fe.string(i.message);
+ }
+ o(r, 'is'), (t.is = r);
+ })(UN || (UN = {}));
+ (function (t) {
+ (t.Error = 1), (t.Warning = 2), (t.Information = 3), (t.Hint = 4);
+ })(ose || (ose = {}));
+ (function (t) {
+ (t.Unnecessary = 1), (t.Deprecated = 2);
+ })(lse || (lse = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return Fe.objectLiteral(n) && Fe.string(n.href);
+ }
+ o(e, 'is'), (t.is = e);
+ })(cse || (cse = {}));
+ (function (t) {
+ function e(n, i, a, s, l, u) {
+ let h = { range: n, message: i };
+ return (
+ Fe.defined(a) && (h.severity = a),
+ Fe.defined(s) && (h.code = s),
+ Fe.defined(l) && (h.source = l),
+ Fe.defined(u) && (h.relatedInformation = u),
+ h
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ var i;
+ let a = n;
+ return (
+ Fe.defined(a) &&
+ wr.is(a.range) &&
+ Fe.string(a.message) &&
+ (Fe.number(a.severity) || Fe.undefined(a.severity)) &&
+ (Fe.integer(a.code) || Fe.string(a.code) || Fe.undefined(a.code)) &&
+ (Fe.undefined(a.codeDescription) ||
+ Fe.string((i = a.codeDescription) === null || i === void 0 ? void 0 : i.href)) &&
+ (Fe.string(a.source) || Fe.undefined(a.source)) &&
+ (Fe.undefined(a.relatedInformation) || Fe.typedArray(a.relatedInformation, UN.is))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(wk || (wk = {}));
+ (function (t) {
+ function e(n, i, ...a) {
+ let s = { title: n, command: i };
+ return Fe.defined(a) && a.length > 0 && (s.arguments = a), s;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && Fe.string(i.title) && Fe.string(i.command);
+ }
+ o(r, 'is'), (t.is = r);
+ })(dg || (dg = {}));
+ (function (t) {
+ function e(a, s) {
+ return { range: a, newText: s };
+ }
+ o(e, 'replace'), (t.replace = e);
+ function r(a, s) {
+ return { range: { start: a, end: a }, newText: s };
+ }
+ o(r, 'insert'), (t.insert = r);
+ function n(a) {
+ return { range: a, newText: '' };
+ }
+ o(n, 'del'), (t.del = n);
+ function i(a) {
+ let s = a;
+ return Fe.objectLiteral(s) && Fe.string(s.newText) && wr.is(s.range);
+ }
+ o(i, 'is'), (t.is = i);
+ })(pg || (pg = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { label: n };
+ return i !== void 0 && (s.needsConfirmation = i), a !== void 0 && (s.description = a), s;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ Fe.string(i.label) &&
+ (Fe.boolean(i.needsConfirmation) || i.needsConfirmation === void 0) &&
+ (Fe.string(i.description) || i.description === void 0)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(HN || (HN = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return Fe.string(n);
+ }
+ o(e, 'is'), (t.is = e);
+ })(mg || (mg = {}));
+ (function (t) {
+ function e(a, s, l) {
+ return { range: a, newText: s, annotationId: l };
+ }
+ o(e, 'replace'), (t.replace = e);
+ function r(a, s, l) {
+ return { range: { start: a, end: a }, newText: s, annotationId: l };
+ }
+ o(r, 'insert'), (t.insert = r);
+ function n(a, s) {
+ return { range: a, newText: '', annotationId: s };
+ }
+ o(n, 'del'), (t.del = n);
+ function i(a) {
+ let s = a;
+ return pg.is(s) && (HN.is(s.annotationId) || mg.is(s.annotationId));
+ }
+ o(i, 'is'), (t.is = i);
+ })(use || (use = {}));
+ (function (t) {
+ function e(n, i) {
+ return { textDocument: n, edits: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && KN.is(i.textDocument) && Array.isArray(i.edits);
+ }
+ o(r, 'is'), (t.is = r);
+ })(YN || (YN = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { kind: 'create', uri: n };
+ return (
+ i !== void 0 && (i.overwrite !== void 0 || i.ignoreIfExists !== void 0) && (s.options = i),
+ a !== void 0 && (s.annotationId = a),
+ s
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i &&
+ i.kind === 'create' &&
+ Fe.string(i.uri) &&
+ (i.options === void 0 ||
+ ((i.options.overwrite === void 0 || Fe.boolean(i.options.overwrite)) &&
+ (i.options.ignoreIfExists === void 0 || Fe.boolean(i.options.ignoreIfExists)))) &&
+ (i.annotationId === void 0 || mg.is(i.annotationId))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(WN || (WN = {}));
+ (function (t) {
+ function e(n, i, a, s) {
+ let l = { kind: 'rename', oldUri: n, newUri: i };
+ return (
+ a !== void 0 && (a.overwrite !== void 0 || a.ignoreIfExists !== void 0) && (l.options = a),
+ s !== void 0 && (l.annotationId = s),
+ l
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i &&
+ i.kind === 'rename' &&
+ Fe.string(i.oldUri) &&
+ Fe.string(i.newUri) &&
+ (i.options === void 0 ||
+ ((i.options.overwrite === void 0 || Fe.boolean(i.options.overwrite)) &&
+ (i.options.ignoreIfExists === void 0 || Fe.boolean(i.options.ignoreIfExists)))) &&
+ (i.annotationId === void 0 || mg.is(i.annotationId))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(qN || (qN = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { kind: 'delete', uri: n };
+ return (
+ i !== void 0 && (i.recursive !== void 0 || i.ignoreIfNotExists !== void 0) && (s.options = i),
+ a !== void 0 && (s.annotationId = a),
+ s
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i &&
+ i.kind === 'delete' &&
+ Fe.string(i.uri) &&
+ (i.options === void 0 ||
+ ((i.options.recursive === void 0 || Fe.boolean(i.options.recursive)) &&
+ (i.options.ignoreIfNotExists === void 0 || Fe.boolean(i.options.ignoreIfNotExists)))) &&
+ (i.annotationId === void 0 || mg.is(i.annotationId))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(XN || (XN = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return (
+ n &&
+ (n.changes !== void 0 || n.documentChanges !== void 0) &&
+ (n.documentChanges === void 0 ||
+ n.documentChanges.every((i) =>
+ Fe.string(i.kind) ? WN.is(i) || qN.is(i) || XN.is(i) : YN.is(i)
+ ))
+ );
+ }
+ o(e, 'is'), (t.is = e);
+ })(jN || (jN = {}));
+ (function (t) {
+ function e(n) {
+ return { uri: n };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && Fe.string(i.uri);
+ }
+ o(r, 'is'), (t.is = r);
+ })(hse || (hse = {}));
+ (function (t) {
+ function e(n, i) {
+ return { uri: n, version: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && Fe.string(i.uri) && Fe.integer(i.version);
+ }
+ o(r, 'is'), (t.is = r);
+ })(fse || (fse = {}));
+ (function (t) {
+ function e(n, i) {
+ return { uri: n, version: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && Fe.string(i.uri) && (i.version === null || Fe.integer(i.version));
+ }
+ o(r, 'is'), (t.is = r);
+ })(KN || (KN = {}));
+ (function (t) {
+ function e(n, i, a, s) {
+ return { uri: n, languageId: i, version: a, text: s };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.defined(i) &&
+ Fe.string(i.uri) &&
+ Fe.string(i.languageId) &&
+ Fe.integer(i.version) &&
+ Fe.string(i.text)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(dse || (dse = {}));
+ (function (t) {
+ (t.PlainText = 'plaintext'), (t.Markdown = 'markdown');
+ function e(r) {
+ let n = r;
+ return n === t.PlainText || n === t.Markdown;
+ }
+ o(e, 'is'), (t.is = e);
+ })(QN || (QN = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return Fe.objectLiteral(r) && QN.is(n.kind) && Fe.string(n.value);
+ }
+ o(e, 'is'), (t.is = e);
+ })(E2 || (E2 = {}));
+ (function (t) {
+ (t.Text = 1),
+ (t.Method = 2),
+ (t.Function = 3),
+ (t.Constructor = 4),
+ (t.Field = 5),
+ (t.Variable = 6),
+ (t.Class = 7),
+ (t.Interface = 8),
+ (t.Module = 9),
+ (t.Property = 10),
+ (t.Unit = 11),
+ (t.Value = 12),
+ (t.Enum = 13),
+ (t.Keyword = 14),
+ (t.Snippet = 15),
+ (t.Color = 16),
+ (t.File = 17),
+ (t.Reference = 18),
+ (t.Folder = 19),
+ (t.EnumMember = 20),
+ (t.Constant = 21),
+ (t.Struct = 22),
+ (t.Event = 23),
+ (t.Operator = 24),
+ (t.TypeParameter = 25);
+ })(pse || (pse = {}));
+ (function (t) {
+ (t.PlainText = 1), (t.Snippet = 2);
+ })(mse || (mse = {}));
+ (function (t) {
+ t.Deprecated = 1;
+ })(gse || (gse = {}));
+ (function (t) {
+ function e(n, i, a) {
+ return { newText: n, insert: i, replace: a };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return i && Fe.string(i.newText) && wr.is(i.insert) && wr.is(i.replace);
+ }
+ o(r, 'is'), (t.is = r);
+ })(yse || (yse = {}));
+ (function (t) {
+ (t.asIs = 1), (t.adjustIndentation = 2);
+ })(vse || (vse = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return (
+ n &&
+ (Fe.string(n.detail) || n.detail === void 0) &&
+ (Fe.string(n.description) || n.description === void 0)
+ );
+ }
+ o(e, 'is'), (t.is = e);
+ })(xse || (xse = {}));
+ (function (t) {
+ function e(r) {
+ return { label: r };
+ }
+ o(e, 'create'), (t.create = e);
+ })(bse || (bse = {}));
+ (function (t) {
+ function e(r, n) {
+ return { items: r || [], isIncomplete: !!n };
+ }
+ o(e, 'create'), (t.create = e);
+ })(wse || (wse = {}));
+ (function (t) {
+ function e(n) {
+ return n.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&');
+ }
+ o(e, 'fromPlainText'), (t.fromPlainText = e);
+ function r(n) {
+ let i = n;
+ return Fe.string(i) || (Fe.objectLiteral(i) && Fe.string(i.language) && Fe.string(i.value));
+ }
+ o(r, 'is'), (t.is = r);
+ })(Tk || (Tk = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return (
+ !!n &&
+ Fe.objectLiteral(n) &&
+ (E2.is(n.contents) || Tk.is(n.contents) || Fe.typedArray(n.contents, Tk.is)) &&
+ (r.range === void 0 || wr.is(r.range))
+ );
+ }
+ o(e, 'is'), (t.is = e);
+ })(Tse || (Tse = {}));
+ (function (t) {
+ function e(r, n) {
+ return n ? { label: r, documentation: n } : { label: r };
+ }
+ o(e, 'create'), (t.create = e);
+ })(kse || (kse = {}));
+ (function (t) {
+ function e(r, n, ...i) {
+ let a = { label: r };
+ return (
+ Fe.defined(n) && (a.documentation = n),
+ Fe.defined(i) ? (a.parameters = i) : (a.parameters = []),
+ a
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ })(Ese || (Ese = {}));
+ (function (t) {
+ (t.Text = 1), (t.Read = 2), (t.Write = 3);
+ })(Cse || (Cse = {}));
+ (function (t) {
+ function e(r, n) {
+ let i = { range: r };
+ return Fe.number(n) && (i.kind = n), i;
+ }
+ o(e, 'create'), (t.create = e);
+ })(Sse || (Sse = {}));
+ (function (t) {
+ (t.File = 1),
+ (t.Module = 2),
+ (t.Namespace = 3),
+ (t.Package = 4),
+ (t.Class = 5),
+ (t.Method = 6),
+ (t.Property = 7),
+ (t.Field = 8),
+ (t.Constructor = 9),
+ (t.Enum = 10),
+ (t.Interface = 11),
+ (t.Function = 12),
+ (t.Variable = 13),
+ (t.Constant = 14),
+ (t.String = 15),
+ (t.Number = 16),
+ (t.Boolean = 17),
+ (t.Array = 18),
+ (t.Object = 19),
+ (t.Key = 20),
+ (t.Null = 21),
+ (t.EnumMember = 22),
+ (t.Struct = 23),
+ (t.Event = 24),
+ (t.Operator = 25),
+ (t.TypeParameter = 26);
+ })(Ase || (Ase = {}));
+ (function (t) {
+ t.Deprecated = 1;
+ })(_se || (_se = {}));
+ (function (t) {
+ function e(r, n, i, a, s) {
+ let l = { name: r, kind: n, location: { uri: a, range: i } };
+ return s && (l.containerName = s), l;
+ }
+ o(e, 'create'), (t.create = e);
+ })(Lse || (Lse = {}));
+ (function (t) {
+ function e(r, n, i, a) {
+ return a !== void 0
+ ? { name: r, kind: n, location: { uri: i, range: a } }
+ : { name: r, kind: n, location: { uri: i } };
+ }
+ o(e, 'create'), (t.create = e);
+ })(Dse || (Dse = {}));
+ (function (t) {
+ function e(n, i, a, s, l, u) {
+ let h = { name: n, detail: i, kind: a, range: s, selectionRange: l };
+ return u !== void 0 && (h.children = u), h;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i &&
+ Fe.string(i.name) &&
+ Fe.number(i.kind) &&
+ wr.is(i.range) &&
+ wr.is(i.selectionRange) &&
+ (i.detail === void 0 || Fe.string(i.detail)) &&
+ (i.deprecated === void 0 || Fe.boolean(i.deprecated)) &&
+ (i.children === void 0 || Array.isArray(i.children)) &&
+ (i.tags === void 0 || Array.isArray(i.tags))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(Rse || (Rse = {}));
+ (function (t) {
+ (t.Empty = ''),
+ (t.QuickFix = 'quickfix'),
+ (t.Refactor = 'refactor'),
+ (t.RefactorExtract = 'refactor.extract'),
+ (t.RefactorInline = 'refactor.inline'),
+ (t.RefactorRewrite = 'refactor.rewrite'),
+ (t.Source = 'source'),
+ (t.SourceOrganizeImports = 'source.organizeImports'),
+ (t.SourceFixAll = 'source.fixAll');
+ })(Nse || (Nse = {}));
+ (function (t) {
+ (t.Invoked = 1), (t.Automatic = 2);
+ })(kk || (kk = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { diagnostics: n };
+ return i != null && (s.only = i), a != null && (s.triggerKind = a), s;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.defined(i) &&
+ Fe.typedArray(i.diagnostics, wk.is) &&
+ (i.only === void 0 || Fe.typedArray(i.only, Fe.string)) &&
+ (i.triggerKind === void 0 || i.triggerKind === kk.Invoked || i.triggerKind === kk.Automatic)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(Mse || (Mse = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { title: n },
+ l = !0;
+ return (
+ typeof i == 'string' ? ((l = !1), (s.kind = i)) : dg.is(i) ? (s.command = i) : (s.edit = i),
+ l && a !== void 0 && (s.kind = a),
+ s
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i &&
+ Fe.string(i.title) &&
+ (i.diagnostics === void 0 || Fe.typedArray(i.diagnostics, wk.is)) &&
+ (i.kind === void 0 || Fe.string(i.kind)) &&
+ (i.edit !== void 0 || i.command !== void 0) &&
+ (i.command === void 0 || dg.is(i.command)) &&
+ (i.isPreferred === void 0 || Fe.boolean(i.isPreferred)) &&
+ (i.edit === void 0 || jN.is(i.edit))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(Ise || (Ise = {}));
+ (function (t) {
+ function e(n, i) {
+ let a = { range: n };
+ return Fe.defined(i) && (a.data = i), a;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && wr.is(i.range) && (Fe.undefined(i.command) || dg.is(i.command));
+ }
+ o(r, 'is'), (t.is = r);
+ })(Ose || (Ose = {}));
+ (function (t) {
+ function e(n, i) {
+ return { tabSize: n, insertSpaces: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && Fe.uinteger(i.tabSize) && Fe.boolean(i.insertSpaces);
+ }
+ o(r, 'is'), (t.is = r);
+ })(Pse || (Pse = {}));
+ (function (t) {
+ function e(n, i, a) {
+ return { range: n, target: i, data: a };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && wr.is(i.range) && (Fe.undefined(i.target) || Fe.string(i.target));
+ }
+ o(r, 'is'), (t.is = r);
+ })(Bse || (Bse = {}));
+ (function (t) {
+ function e(n, i) {
+ return { range: n, parent: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.objectLiteral(i) && wr.is(i.range) && (i.parent === void 0 || t.is(i.parent));
+ }
+ o(r, 'is'), (t.is = r);
+ })(Fse || (Fse = {}));
+ (function (t) {
+ (t.namespace = 'namespace'),
+ (t.type = 'type'),
+ (t.class = 'class'),
+ (t.enum = 'enum'),
+ (t.interface = 'interface'),
+ (t.struct = 'struct'),
+ (t.typeParameter = 'typeParameter'),
+ (t.parameter = 'parameter'),
+ (t.variable = 'variable'),
+ (t.property = 'property'),
+ (t.enumMember = 'enumMember'),
+ (t.event = 'event'),
+ (t.function = 'function'),
+ (t.method = 'method'),
+ (t.macro = 'macro'),
+ (t.keyword = 'keyword'),
+ (t.modifier = 'modifier'),
+ (t.comment = 'comment'),
+ (t.string = 'string'),
+ (t.number = 'number'),
+ (t.regexp = 'regexp'),
+ (t.operator = 'operator'),
+ (t.decorator = 'decorator');
+ })(zse || (zse = {}));
+ (function (t) {
+ (t.declaration = 'declaration'),
+ (t.definition = 'definition'),
+ (t.readonly = 'readonly'),
+ (t.static = 'static'),
+ (t.deprecated = 'deprecated'),
+ (t.abstract = 'abstract'),
+ (t.async = 'async'),
+ (t.modification = 'modification'),
+ (t.documentation = 'documentation'),
+ (t.defaultLibrary = 'defaultLibrary');
+ })(Gse || (Gse = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return (
+ Fe.objectLiteral(n) &&
+ (n.resultId === void 0 || typeof n.resultId == 'string') &&
+ Array.isArray(n.data) &&
+ (n.data.length === 0 || typeof n.data[0] == 'number')
+ );
+ }
+ o(e, 'is'), (t.is = e);
+ })($se || ($se = {}));
+ (function (t) {
+ function e(n, i) {
+ return { range: n, text: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return i != null && wr.is(i.range) && Fe.string(i.text);
+ }
+ o(r, 'is'), (t.is = r);
+ })(Vse || (Vse = {}));
+ (function (t) {
+ function e(n, i, a) {
+ return { range: n, variableName: i, caseSensitiveLookup: a };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i != null &&
+ wr.is(i.range) &&
+ Fe.boolean(i.caseSensitiveLookup) &&
+ (Fe.string(i.variableName) || i.variableName === void 0)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(Use || (Use = {}));
+ (function (t) {
+ function e(n, i) {
+ return { range: n, expression: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return i != null && wr.is(i.range) && (Fe.string(i.expression) || i.expression === void 0);
+ }
+ o(r, 'is'), (t.is = r);
+ })(Hse || (Hse = {}));
+ (function (t) {
+ function e(n, i) {
+ return { frameId: n, stoppedLocation: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && wr.is(n.stoppedLocation);
+ }
+ o(r, 'is'), (t.is = r);
+ })(Yse || (Yse = {}));
+ (function (t) {
+ (t.Type = 1), (t.Parameter = 2);
+ function e(r) {
+ return r === 1 || r === 2;
+ }
+ o(e, 'is'), (t.is = e);
+ })(ZN || (ZN = {}));
+ (function (t) {
+ function e(n) {
+ return { value: n };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ (i.tooltip === void 0 || Fe.string(i.tooltip) || E2.is(i.tooltip)) &&
+ (i.location === void 0 || bk.is(i.location)) &&
+ (i.command === void 0 || dg.is(i.command))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(JN || (JN = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { position: n, label: i };
+ return a !== void 0 && (s.kind = a), s;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ (Fe.objectLiteral(i) &&
+ Ur.is(i.position) &&
+ (Fe.string(i.label) || Fe.typedArray(i.label, JN.is)) &&
+ (i.kind === void 0 || ZN.is(i.kind)) &&
+ i.textEdits === void 0) ||
+ (Fe.typedArray(i.textEdits, pg.is) &&
+ (i.tooltip === void 0 || Fe.string(i.tooltip) || E2.is(i.tooltip)) &&
+ (i.paddingLeft === void 0 || Fe.boolean(i.paddingLeft)) &&
+ (i.paddingRight === void 0 || Fe.boolean(i.paddingRight)))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(Wse || (Wse = {}));
+ (function (t) {
+ function e(r) {
+ return { kind: 'snippet', value: r };
+ }
+ o(e, 'createSnippet'), (t.createSnippet = e);
+ })(qse || (qse = {}));
+ (function (t) {
+ function e(r, n, i, a) {
+ return { insertText: r, filterText: n, range: i, command: a };
+ }
+ o(e, 'create'), (t.create = e);
+ })(Xse || (Xse = {}));
+ (function (t) {
+ function e(r) {
+ return { items: r };
+ }
+ o(e, 'create'), (t.create = e);
+ })(jse || (jse = {}));
+ (function (t) {
+ (t.Invoked = 0), (t.Automatic = 1);
+ })(Kse || (Kse = {}));
+ (function (t) {
+ function e(r, n) {
+ return { range: r, text: n };
+ }
+ o(e, 'create'), (t.create = e);
+ })(Qse || (Qse = {}));
+ (function (t) {
+ function e(r, n) {
+ return { triggerKind: r, selectedCompletionInfo: n };
+ }
+ o(e, 'create'), (t.create = e);
+ })(Zse || (Zse = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return Fe.objectLiteral(n) && $N.is(n.uri) && Fe.string(n.name);
+ }
+ o(e, 'is'), (t.is = e);
+ })(Jse || (Jse = {}));
+ (function (t) {
+ function e(a, s, l, u) {
+ return new eM(a, s, l, u);
+ }
+ o(e, 'create'), (t.create = e);
+ function r(a) {
+ let s = a;
+ return !!(
+ Fe.defined(s) &&
+ Fe.string(s.uri) &&
+ (Fe.undefined(s.languageId) || Fe.string(s.languageId)) &&
+ Fe.uinteger(s.lineCount) &&
+ Fe.func(s.getText) &&
+ Fe.func(s.positionAt) &&
+ Fe.func(s.offsetAt)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ function n(a, s) {
+ let l = a.getText(),
+ u = i(s, (f, d) => {
+ let p = f.range.start.line - d.range.start.line;
+ return p === 0 ? f.range.start.character - d.range.start.character : p;
+ }),
+ h = l.length;
+ for (let f = u.length - 1; f >= 0; f--) {
+ let d = u[f],
+ p = a.offsetAt(d.range.start),
+ m = a.offsetAt(d.range.end);
+ if (m <= h) l = l.substring(0, p) + d.newText + l.substring(m, l.length);
+ else throw new Error('Overlapping edit');
+ h = p;
+ }
+ return l;
+ }
+ o(n, 'applyEdits'), (t.applyEdits = n);
+ function i(a, s) {
+ if (a.length <= 1) return a;
+ let l = (a.length / 2) | 0,
+ u = a.slice(0, l),
+ h = a.slice(l);
+ i(u, s), i(h, s);
+ let f = 0,
+ d = 0,
+ p = 0;
+ for (; f < u.length && d < h.length; ) s(u[f], h[d]) <= 0 ? (a[p++] = u[f++]) : (a[p++] = h[d++]);
+ for (; f < u.length; ) a[p++] = u[f++];
+ for (; d < h.length; ) a[p++] = h[d++];
+ return a;
+ }
+ o(i, 'mergeSort');
+ })(eoe || (eoe = {}));
+ eM = class {
+ static {
+ o(this, 'FullTextDocument');
+ }
+ constructor(e, r, n, i) {
+ (this._uri = e),
+ (this._languageId = r),
+ (this._version = n),
+ (this._content = i),
+ (this._lineOffsets = void 0);
+ }
+ get uri() {
+ return this._uri;
+ }
+ get languageId() {
+ return this._languageId;
+ }
+ get version() {
+ return this._version;
+ }
+ getText(e) {
+ if (e) {
+ let r = this.offsetAt(e.start),
+ n = this.offsetAt(e.end);
+ return this._content.substring(r, n);
+ }
+ return this._content;
+ }
+ update(e, r) {
+ (this._content = e.text), (this._version = r), (this._lineOffsets = void 0);
+ }
+ getLineOffsets() {
+ if (this._lineOffsets === void 0) {
+ let e = [],
+ r = this._content,
+ n = !0;
+ for (let i = 0; i < r.length; i++) {
+ n && (e.push(i), (n = !1));
+ let a = r.charAt(i);
+ (n =
+ a === '\r' ||
+ a ===
+ `
+`),
+ a === '\r' &&
+ i + 1 < r.length &&
+ r.charAt(i + 1) ===
+ `
+` &&
+ i++;
+ }
+ n && r.length > 0 && e.push(r.length), (this._lineOffsets = e);
+ }
+ return this._lineOffsets;
+ }
+ positionAt(e) {
+ e = Math.max(Math.min(e, this._content.length), 0);
+ let r = this.getLineOffsets(),
+ n = 0,
+ i = r.length;
+ if (i === 0) return Ur.create(0, e);
+ for (; n < i; ) {
+ let s = Math.floor((n + i) / 2);
+ r[s] > e ? (i = s) : (n = s + 1);
+ }
+ let a = n - 1;
+ return Ur.create(a, e - r[a]);
+ }
+ offsetAt(e) {
+ let r = this.getLineOffsets();
+ if (e.line >= r.length) return this._content.length;
+ if (e.line < 0) return 0;
+ let n = r[e.line],
+ i = e.line + 1 < r.length ? r[e.line + 1] : this._content.length;
+ return Math.max(Math.min(n + e.character, i), n);
+ }
+ get lineCount() {
+ return this.getLineOffsets().length;
+ }
+ };
+ (function (t) {
+ let e = Object.prototype.toString;
+ function r(m) {
+ return typeof m < 'u';
+ }
+ o(r, 'defined'), (t.defined = r);
+ function n(m) {
+ return typeof m > 'u';
+ }
+ o(n, 'undefined'), (t.undefined = n);
+ function i(m) {
+ return m === !0 || m === !1;
+ }
+ o(i, 'boolean'), (t.boolean = i);
+ function a(m) {
+ return e.call(m) === '[object String]';
+ }
+ o(a, 'string'), (t.string = a);
+ function s(m) {
+ return e.call(m) === '[object Number]';
+ }
+ o(s, 'number'), (t.number = s);
+ function l(m, g, y) {
+ return e.call(m) === '[object Number]' && g <= m && m <= y;
+ }
+ o(l, 'numberRange'), (t.numberRange = l);
+ function u(m) {
+ return e.call(m) === '[object Number]' && -2147483648 <= m && m <= 2147483647;
+ }
+ o(u, 'integer'), (t.integer = u);
+ function h(m) {
+ return e.call(m) === '[object Number]' && 0 <= m && m <= 2147483647;
+ }
+ o(h, 'uinteger'), (t.uinteger = h);
+ function f(m) {
+ return e.call(m) === '[object Function]';
+ }
+ o(f, 'func'), (t.func = f);
+ function d(m) {
+ return m !== null && typeof m == 'object';
+ }
+ o(d, 'objectLiteral'), (t.objectLiteral = d);
+ function p(m, g) {
+ return Array.isArray(m) && m.every(g);
+ }
+ o(p, 'typedArray'), (t.typedArray = p);
+ })(Fe || (Fe = {}));
+ });
+ var C2,
+ S2,
+ d0,
+ p0,
+ rM,
+ gg,
+ Ek = R(() => {
+ 'use strict';
+ tM();
+ Vo();
+ Rl();
+ (C2 = class {
+ static {
+ o(this, 'CstNodeBuilder');
+ }
+ constructor() {
+ this.nodeStack = [];
+ }
+ get current() {
+ return this.nodeStack[this.nodeStack.length - 1];
+ }
+ buildRootNode(e) {
+ return (
+ (this.rootNode = new gg(e)),
+ (this.rootNode.root = this.rootNode),
+ (this.nodeStack = [this.rootNode]),
+ this.rootNode
+ );
+ }
+ buildCompositeNode(e) {
+ let r = new p0();
+ return (
+ (r.grammarSource = e),
+ (r.root = this.rootNode),
+ this.current.content.push(r),
+ this.nodeStack.push(r),
+ r
+ );
+ }
+ buildLeafNode(e, r) {
+ let n = new d0(e.startOffset, e.image.length, zm(e), e.tokenType, !1);
+ return (n.grammarSource = r), (n.root = this.rootNode), this.current.content.push(n), n;
+ }
+ removeNode(e) {
+ let r = e.container;
+ if (r) {
+ let n = r.content.indexOf(e);
+ n >= 0 && r.content.splice(n, 1);
+ }
+ }
+ construct(e) {
+ let r = this.current;
+ typeof e.$type == 'string' && (this.current.astNode = e), (e.$cstNode = r);
+ let n = this.nodeStack.pop();
+ n?.content.length === 0 && this.removeNode(n);
+ }
+ addHiddenTokens(e) {
+ for (let r of e) {
+ let n = new d0(r.startOffset, r.image.length, zm(r), r.tokenType, !0);
+ (n.root = this.rootNode), this.addHiddenToken(this.rootNode, n);
+ }
+ }
+ addHiddenToken(e, r) {
+ let { offset: n, end: i } = r;
+ for (let a = 0; a < e.content.length; a++) {
+ let s = e.content[a],
+ { offset: l, end: u } = s;
+ if (co(s) && n > l && i < u) {
+ this.addHiddenToken(s, r);
+ return;
+ } else if (i <= l) {
+ e.content.splice(a, 0, r);
+ return;
+ }
+ }
+ e.content.push(r);
+ }
+ }),
+ (S2 = class {
+ static {
+ o(this, 'AbstractCstNode');
+ }
+ get parent() {
+ return this.container;
+ }
+ get feature() {
+ return this.grammarSource;
+ }
+ get hidden() {
+ return !1;
+ }
+ get astNode() {
+ var e, r;
+ let n =
+ typeof ((e = this._astNode) === null || e === void 0 ? void 0 : e.$type) == 'string'
+ ? this._astNode
+ : (r = this.container) === null || r === void 0
+ ? void 0
+ : r.astNode;
+ if (!n) throw new Error('This node has no associated AST element');
+ return n;
+ }
+ set astNode(e) {
+ this._astNode = e;
+ }
+ get element() {
+ return this.astNode;
+ }
+ get text() {
+ return this.root.fullText.substring(this.offset, this.end);
+ }
+ }),
+ (d0 = class extends S2 {
+ static {
+ o(this, 'LeafCstNodeImpl');
+ }
+ get offset() {
+ return this._offset;
+ }
+ get length() {
+ return this._length;
+ }
+ get end() {
+ return this._offset + this._length;
+ }
+ get hidden() {
+ return this._hidden;
+ }
+ get tokenType() {
+ return this._tokenType;
+ }
+ get range() {
+ return this._range;
+ }
+ constructor(e, r, n, i, a = !1) {
+ super(),
+ (this._hidden = a),
+ (this._offset = e),
+ (this._tokenType = i),
+ (this._length = r),
+ (this._range = n);
+ }
+ }),
+ (p0 = class extends S2 {
+ static {
+ o(this, 'CompositeCstNodeImpl');
+ }
+ constructor() {
+ super(...arguments), (this.content = new rM(this));
+ }
+ get children() {
+ return this.content;
+ }
+ get offset() {
+ var e, r;
+ return (r = (e = this.firstNonHiddenNode) === null || e === void 0 ? void 0 : e.offset) !==
+ null && r !== void 0
+ ? r
+ : 0;
+ }
+ get length() {
+ return this.end - this.offset;
+ }
+ get end() {
+ var e, r;
+ return (r = (e = this.lastNonHiddenNode) === null || e === void 0 ? void 0 : e.end) !== null &&
+ r !== void 0
+ ? r
+ : 0;
+ }
+ get range() {
+ let e = this.firstNonHiddenNode,
+ r = this.lastNonHiddenNode;
+ if (e && r) {
+ if (this._rangeCache === void 0) {
+ let { range: n } = e,
+ { range: i } = r;
+ this._rangeCache = {
+ start: n.start,
+ end: i.end.line < n.start.line ? n.start : i.end
+ };
+ }
+ return this._rangeCache;
+ } else return { start: Ur.create(0, 0), end: Ur.create(0, 0) };
+ }
+ get firstNonHiddenNode() {
+ for (let e of this.content) if (!e.hidden) return e;
+ return this.content[0];
+ }
+ get lastNonHiddenNode() {
+ for (let e = this.content.length - 1; e >= 0; e--) {
+ let r = this.content[e];
+ if (!r.hidden) return r;
+ }
+ return this.content[this.content.length - 1];
+ }
+ }),
+ (rM = class t extends Array {
+ static {
+ o(this, 'CstNodeContainer');
+ }
+ constructor(e) {
+ super(), (this.parent = e), Object.setPrototypeOf(this, t.prototype);
+ }
+ push(...e) {
+ return this.addParents(e), super.push(...e);
+ }
+ unshift(...e) {
+ return this.addParents(e), super.unshift(...e);
+ }
+ splice(e, r, ...n) {
+ return this.addParents(n), super.splice(e, r, ...n);
+ }
+ addParents(e) {
+ for (let r of e) r.container = this.parent;
+ }
+ }),
+ (gg = class extends p0 {
+ static {
+ o(this, 'RootCstNodeImpl');
+ }
+ get text() {
+ return this._text.substring(this.offset, this.end);
+ }
+ get fullText() {
+ return this._text;
+ }
+ constructor(e) {
+ super(), (this._text = ''), (this._text = e ?? '');
+ }
+ });
+ });
+ function nM(t) {
+ return t.$type === Ck;
+ }
+ var Ck,
+ toe,
+ roe,
+ A2,
+ _2,
+ Sk,
+ yg,
+ L2,
+ LOe,
+ iM,
+ D2 = R(() => {
+ 'use strict';
+ u0();
+ Jae();
+ Sc();
+ Il();
+ es();
+ Ek();
+ Ck = Symbol('Datatype');
+ o(nM, 'isDataTypeNode');
+ (toe = '\u200B'),
+ (roe = o((t) => (t.endsWith(toe) ? t : t + toe), 'withRuleSuffix')),
+ (A2 = class {
+ static {
+ o(this, 'AbstractLangiumParser');
+ }
+ constructor(e) {
+ (this._unorderedGroups = new Map()), (this.lexer = e.parser.Lexer);
+ let r = this.lexer.definition;
+ this.wrapper = new iM(
+ r,
+ Object.assign(Object.assign({}, e.parser.ParserConfig), {
+ errorMessageProvider: e.parser.ParserErrorMessageProvider
+ })
+ );
+ }
+ alternatives(e, r) {
+ this.wrapper.wrapOr(e, r);
+ }
+ optional(e, r) {
+ this.wrapper.wrapOption(e, r);
+ }
+ many(e, r) {
+ this.wrapper.wrapMany(e, r);
+ }
+ atLeastOne(e, r) {
+ this.wrapper.wrapAtLeastOne(e, r);
+ }
+ isRecording() {
+ return this.wrapper.IS_RECORDING;
+ }
+ get unorderedGroups() {
+ return this._unorderedGroups;
+ }
+ getRuleStack() {
+ return this.wrapper.RULE_STACK;
+ }
+ finalize() {
+ this.wrapper.wrapSelfAnalysis();
+ }
+ }),
+ (_2 = class extends A2 {
+ static {
+ o(this, 'LangiumParser');
+ }
+ get current() {
+ return this.stack[this.stack.length - 1];
+ }
+ constructor(e) {
+ super(e),
+ (this.nodeBuilder = new C2()),
+ (this.stack = []),
+ (this.assignmentMap = new Map()),
+ (this.linker = e.references.Linker),
+ (this.converter = e.parser.ValueConverter),
+ (this.astReflection = e.shared.AstReflection);
+ }
+ rule(e, r) {
+ let n = e.fragment ? void 0 : Jv(e) ? Ck : r0(e),
+ i = this.wrapper.DEFINE_RULE(roe(e.name), this.startImplementation(n, r).bind(this));
+ return e.entry && (this.mainRule = i), i;
+ }
+ parse(e) {
+ this.nodeBuilder.buildRootNode(e);
+ let r = this.lexer.tokenize(e);
+ this.wrapper.input = r.tokens;
+ let n = this.mainRule.call(this.wrapper, {});
+ return (
+ this.nodeBuilder.addHiddenTokens(r.hidden),
+ this.unorderedGroups.clear(),
+ {
+ value: n,
+ lexerErrors: r.errors,
+ parserErrors: this.wrapper.errors
+ }
+ );
+ }
+ startImplementation(e, r) {
+ return (n) => {
+ if (!this.isRecording()) {
+ let a = { $type: e };
+ this.stack.push(a), e === Ck && (a.value = '');
+ }
+ let i;
+ try {
+ i = r(n);
+ } catch {
+ i = void 0;
+ }
+ return !this.isRecording() && i === void 0 && (i = this.construct()), i;
+ };
+ }
+ consume(e, r, n) {
+ let i = this.wrapper.wrapConsume(e, r);
+ if (!this.isRecording() && this.isValidToken(i)) {
+ let a = this.nodeBuilder.buildLeafNode(i, n),
+ { assignment: s, isCrossRef: l } = this.getAssignment(n),
+ u = this.current;
+ if (s) {
+ let h = Ho(n) ? i.image : this.converter.convert(i.image, a);
+ this.assign(s.operator, s.feature, h, a, l);
+ } else if (nM(u)) {
+ let h = i.image;
+ Ho(n) || (h = this.converter.convert(h, a).toString()), (u.value += h);
+ }
+ }
+ }
+ isValidToken(e) {
+ return (
+ !e.isInsertedInRecovery &&
+ !isNaN(e.startOffset) &&
+ typeof e.endOffset == 'number' &&
+ !isNaN(e.endOffset)
+ );
+ }
+ subrule(e, r, n, i) {
+ let a;
+ this.isRecording() || (a = this.nodeBuilder.buildCompositeNode(n));
+ let s = this.wrapper.wrapSubrule(e, r, i);
+ !this.isRecording() && a && a.length > 0 && this.performSubruleAssignment(s, n, a);
+ }
+ performSubruleAssignment(e, r, n) {
+ let { assignment: i, isCrossRef: a } = this.getAssignment(r);
+ if (i) this.assign(i.operator, i.feature, e, n, a);
+ else if (!i) {
+ let s = this.current;
+ if (nM(s)) s.value += e.toString();
+ else if (typeof e == 'object' && e) {
+ let l = e.$type,
+ u = this.assignWithoutOverride(e, s);
+ l && (u.$type = l);
+ let h = u;
+ this.stack.pop(), this.stack.push(h);
+ }
+ }
+ }
+ action(e, r) {
+ if (!this.isRecording()) {
+ let n = this.current;
+ if (!n.$cstNode && r.feature && r.operator) {
+ n = this.construct(!1);
+ let a = n.$cstNode.feature;
+ this.nodeBuilder.buildCompositeNode(a);
+ }
+ let i = { $type: e };
+ this.stack.pop(),
+ this.stack.push(i),
+ r.feature && r.operator && this.assign(r.operator, r.feature, n, n.$cstNode, !1);
+ }
+ }
+ construct(e = !0) {
+ if (this.isRecording()) return;
+ let r = this.current;
+ return (
+ ET(r),
+ this.nodeBuilder.construct(r),
+ e && this.stack.pop(),
+ nM(r) ? this.converter.convert(r.value, r.$cstNode) : (NR(this.astReflection, r), r)
+ );
+ }
+ getAssignment(e) {
+ if (!this.assignmentMap.has(e)) {
+ let r = Qd(e, Nl);
+ this.assignmentMap.set(e, {
+ assignment: r,
+ isCrossRef: r ? Kd(r.terminal) : !1
+ });
+ }
+ return this.assignmentMap.get(e);
+ }
+ assign(e, r, n, i, a) {
+ let s = this.current,
+ l;
+ switch (
+ (a && typeof n == 'string' ? (l = this.linker.buildReference(s, r, i, n)) : (l = n), e)
+ ) {
+ case '=': {
+ s[r] = l;
+ break;
+ }
+ case '?=': {
+ s[r] = !0;
+ break;
+ }
+ case '+=':
+ Array.isArray(s[r]) || (s[r] = []), s[r].push(l);
+ }
+ }
+ assignWithoutOverride(e, r) {
+ for (let [n, i] of Object.entries(r)) {
+ let a = e[n];
+ a === void 0
+ ? (e[n] = i)
+ : Array.isArray(a) && Array.isArray(i) && (i.push(...a), (e[n] = i));
+ }
+ return e;
+ }
+ get definitionErrors() {
+ return this.wrapper.definitionErrors;
+ }
+ }),
+ (Sk = class {
+ static {
+ o(this, 'AbstractParserErrorMessageProvider');
+ }
+ buildMismatchTokenMessage(e) {
+ return Gu.buildMismatchTokenMessage(e);
+ }
+ buildNotAllInputParsedMessage(e) {
+ return Gu.buildNotAllInputParsedMessage(e);
+ }
+ buildNoViableAltMessage(e) {
+ return Gu.buildNoViableAltMessage(e);
+ }
+ buildEarlyExitMessage(e) {
+ return Gu.buildEarlyExitMessage(e);
+ }
+ }),
+ (yg = class extends Sk {
+ static {
+ o(this, 'LangiumParserErrorMessageProvider');
+ }
+ buildMismatchTokenMessage({ expected: e, actual: r }) {
+ return `Expecting ${
+ e.LABEL
+ ? '`' + e.LABEL + '`'
+ : e.name.endsWith(':KW')
+ ? `keyword '${e.name.substring(0, e.name.length - 3)}'`
+ : `token of type '${e.name}'`
+ } but found \`${r.image}\`.`;
+ }
+ buildNotAllInputParsedMessage({ firstRedundant: e }) {
+ return `Expecting end of file but found \`${e.image}\`.`;
+ }
+ }),
+ (L2 = class extends A2 {
+ static {
+ o(this, 'LangiumCompletionParser');
+ }
+ constructor() {
+ super(...arguments),
+ (this.tokens = []),
+ (this.elementStack = []),
+ (this.lastElementStack = []),
+ (this.nextTokenIndex = 0),
+ (this.stackSize = 0);
+ }
+ action() {}
+ construct() {}
+ parse(e) {
+ this.resetState();
+ let r = this.lexer.tokenize(e);
+ return (
+ (this.tokens = r.tokens),
+ (this.wrapper.input = [...this.tokens]),
+ this.mainRule.call(this.wrapper, {}),
+ this.unorderedGroups.clear(),
+ {
+ tokens: this.tokens,
+ elementStack: [...this.lastElementStack],
+ tokenIndex: this.nextTokenIndex
+ }
+ );
+ }
+ rule(e, r) {
+ let n = this.wrapper.DEFINE_RULE(roe(e.name), this.startImplementation(r).bind(this));
+ return e.entry && (this.mainRule = n), n;
+ }
+ resetState() {
+ (this.elementStack = []),
+ (this.lastElementStack = []),
+ (this.nextTokenIndex = 0),
+ (this.stackSize = 0);
+ }
+ startImplementation(e) {
+ return (r) => {
+ let n = this.keepStackSize();
+ try {
+ e(r);
+ } finally {
+ this.resetStackSize(n);
+ }
+ };
+ }
+ removeUnexpectedElements() {
+ this.elementStack.splice(this.stackSize);
+ }
+ keepStackSize() {
+ let e = this.elementStack.length;
+ return (this.stackSize = e), e;
+ }
+ resetStackSize(e) {
+ this.removeUnexpectedElements(), (this.stackSize = e);
+ }
+ consume(e, r, n) {
+ this.wrapper.wrapConsume(e, r),
+ this.isRecording() ||
+ ((this.lastElementStack = [...this.elementStack, n]),
+ (this.nextTokenIndex = this.currIdx + 1));
+ }
+ subrule(e, r, n, i) {
+ this.before(n), this.wrapper.wrapSubrule(e, r, i), this.after(n);
+ }
+ before(e) {
+ this.isRecording() || this.elementStack.push(e);
+ }
+ after(e) {
+ if (!this.isRecording()) {
+ let r = this.elementStack.lastIndexOf(e);
+ r >= 0 && this.elementStack.splice(r);
+ }
+ }
+ get currIdx() {
+ return this.wrapper.currIdx;
+ }
+ }),
+ (LOe = {
+ recoveryEnabled: !0,
+ nodeLocationTracking: 'full',
+ skipValidations: !0,
+ errorMessageProvider: new yg()
+ }),
+ (iM = class extends x2 {
+ static {
+ o(this, 'ChevrotainWrapper');
+ }
+ constructor(e, r) {
+ let n = r && 'maxLookahead' in r;
+ super(
+ e,
+ Object.assign(
+ Object.assign(Object.assign({}, LOe), {
+ lookaheadStrategy: n ? new $u({ maxLookahead: r.maxLookahead }) : new k2()
+ }),
+ r
+ )
+ );
+ }
+ get IS_RECORDING() {
+ return this.RECORDING_PHASE;
+ }
+ DEFINE_RULE(e, r) {
+ return this.RULE(e, r);
+ }
+ wrapSelfAnalysis() {
+ this.performSelfAnalysis();
+ }
+ wrapConsume(e, r) {
+ return this.consume(e, r);
+ }
+ wrapSubrule(e, r, n) {
+ return this.subrule(e, r, { ARGS: [n] });
+ }
+ wrapOr(e, r) {
+ this.or(e, r);
+ }
+ wrapOption(e, r) {
+ this.option(e, r);
+ }
+ wrapMany(e, r) {
+ this.many(e, r);
+ }
+ wrapAtLeastOne(e, r) {
+ this.atLeastOne(e, r);
+ }
+ });
+ });
+ function _k(t, e, r) {
+ return DOe({ parser: e, tokens: r, rules: new Map(), ruleNames: new Map() }, t), e;
+ }
+ function DOe(t, e) {
+ let r = Qv(e, !1),
+ n = Kr(e.rules)
+ .filter(Oa)
+ .filter((i) => r.has(i));
+ for (let i of n) {
+ let a = Object.assign(Object.assign({}, t), {
+ consume: 1,
+ optional: 1,
+ subrule: 1,
+ many: 1,
+ or: 1
+ });
+ a.rules.set(i.name, t.parser.rule(i, m0(a, i.definition)));
+ }
+ }
+ function m0(t, e, r = !1) {
+ let n;
+ if (Ho(e)) n = BOe(t, e);
+ else if (Iu(e)) n = ROe(t, e);
+ else if (Nl(e)) n = m0(t, e.terminal);
+ else if (Kd(e)) n = noe(t, e);
+ else if (Ml(e)) n = NOe(t, e);
+ else if (wT(e)) n = IOe(t, e);
+ else if (kT(e)) n = OOe(t, e);
+ else if (rf(e)) n = POe(t, e);
+ else if (fR(e)) {
+ let i = t.consume++;
+ n = o(() => t.parser.consume(i, fo, e), 'method');
+ } else throw new jd(e.$cstNode, `Unexpected element type: ${e.$type}`);
+ return ioe(t, r ? void 0 : Ak(e), n, e.cardinality);
+ }
+ function ROe(t, e) {
+ let r = r0(e);
+ return () => t.parser.action(r, e);
+ }
+ function NOe(t, e) {
+ let r = e.rule.ref;
+ if (Oa(r)) {
+ let n = t.subrule++,
+ i = e.arguments.length > 0 ? MOe(r, e.arguments) : () => ({});
+ return (a) => t.parser.subrule(n, aoe(t, r), e, i(a));
+ } else if (Uo(r)) {
+ let n = t.consume++,
+ i = aM(t, r.name);
+ return () => t.parser.consume(n, i, e);
+ } else if (r) tf(r);
+ else throw new jd(e.$cstNode, `Undefined rule type: ${e.$type}`);
+ }
+ function MOe(t, e) {
+ let r = e.map((n) => Vu(n.value));
+ return (n) => {
+ let i = {};
+ for (let a = 0; a < r.length; a++) {
+ let s = t.parameters[a],
+ l = r[a];
+ i[s.name] = l(n);
+ }
+ return i;
+ };
+ }
+ function Vu(t) {
+ if (GD(t)) {
+ let e = Vu(t.left),
+ r = Vu(t.right);
+ return (n) => e(n) || r(n);
+ } else if (FD(t)) {
+ let e = Vu(t.left),
+ r = Vu(t.right);
+ return (n) => e(n) && r(n);
+ } else if (YD(t)) {
+ let e = Vu(t.value);
+ return (r) => !e(r);
+ } else if (jD(t)) {
+ let e = t.parameter.ref.name;
+ return (r) => r !== void 0 && r[e] === !0;
+ } else if (PD(t)) {
+ let e = !!t.true;
+ return () => e;
+ }
+ tf(t);
+ }
+ function IOe(t, e) {
+ if (e.elements.length === 1) return m0(t, e.elements[0]);
+ {
+ let r = [];
+ for (let i of e.elements) {
+ let a = { ALT: m0(t, i, !0) },
+ s = Ak(i);
+ s && (a.GATE = Vu(s)), r.push(a);
+ }
+ let n = t.or++;
+ return (i) =>
+ t.parser.alternatives(
+ n,
+ r.map((a) => {
+ let s = { ALT: o(() => a.ALT(i), 'ALT') },
+ l = a.GATE;
+ return l && (s.GATE = () => l(i)), s;
+ })
+ );
+ }
+ }
+ function OOe(t, e) {
+ if (e.elements.length === 1) return m0(t, e.elements[0]);
+ let r = [];
+ for (let l of e.elements) {
+ let u = { ALT: m0(t, l, !0) },
+ h = Ak(l);
+ h && (u.GATE = Vu(h)), r.push(u);
+ }
+ let n = t.or++,
+ i = o((l, u) => {
+ let h = u.getRuleStack().join('-');
+ return `uGroup_${l}_${h}`;
+ }, 'idFunc'),
+ a = o(
+ (l) =>
+ t.parser.alternatives(
+ n,
+ r.map((u, h) => {
+ let f = { ALT: o(() => !0, 'ALT') },
+ d = t.parser;
+ f.ALT = () => {
+ if ((u.ALT(l), !d.isRecording())) {
+ let m = i(n, d);
+ d.unorderedGroups.get(m) || d.unorderedGroups.set(m, []);
+ let g = d.unorderedGroups.get(m);
+ typeof g?.[h] > 'u' && (g[h] = !0);
+ }
+ };
+ let p = u.GATE;
+ return (
+ p
+ ? (f.GATE = () => p(l))
+ : (f.GATE = () => {
+ let m = d.unorderedGroups.get(i(n, d));
+ return !m?.[h];
+ }),
+ f
+ );
+ })
+ ),
+ 'alternatives'
+ ),
+ s = ioe(t, Ak(e), a, '*');
+ return (l) => {
+ s(l), t.parser.isRecording() || t.parser.unorderedGroups.delete(i(n, t.parser));
+ };
+ }
+ function POe(t, e) {
+ let r = e.elements.map((n) => m0(t, n));
+ return (n) => r.forEach((i) => i(n));
+ }
+ function Ak(t) {
+ if (rf(t)) return t.guardCondition;
+ }
+ function noe(t, e, r = e.terminal) {
+ if (r)
+ if (Ml(r) && Oa(r.rule.ref)) {
+ let n = t.subrule++;
+ return (i) => t.parser.subrule(n, aoe(t, r.rule.ref), e, i);
+ } else if (Ml(r) && Uo(r.rule.ref)) {
+ let n = t.consume++,
+ i = aM(t, r.rule.ref.name);
+ return () => t.parser.consume(n, i, e);
+ } else if (Ho(r)) {
+ let n = t.consume++,
+ i = aM(t, r.value);
+ return () => t.parser.consume(n, i, e);
+ } else throw new Error('Could not build cross reference parser');
+ else {
+ if (!e.type.ref) throw new Error('Could not resolve reference to type: ' + e.type.$refText);
+ let n = DT(e.type.ref),
+ i = n?.terminal;
+ if (!i) throw new Error('Could not find name assignment for type: ' + r0(e.type.ref));
+ return noe(t, e, i);
+ }
+ }
+ function BOe(t, e) {
+ let r = t.consume++,
+ n = t.tokens[e.value];
+ if (!n) throw new Error('Could not find token for keyword: ' + e.value);
+ return () => t.parser.consume(r, n, e);
+ }
+ function ioe(t, e, r, n) {
+ let i = e && Vu(e);
+ if (!n)
+ if (i) {
+ let a = t.or++;
+ return (s) =>
+ t.parser.alternatives(a, [
+ { ALT: o(() => r(s), 'ALT'), GATE: o(() => i(s), 'GATE') },
+ { ALT: gk(), GATE: o(() => !i(s), 'GATE') }
+ ]);
+ } else return r;
+ if (n === '*') {
+ let a = t.many++;
+ return (s) =>
+ t.parser.many(a, {
+ DEF: o(() => r(s), 'DEF'),
+ GATE: i ? () => i(s) : void 0
+ });
+ } else if (n === '+') {
+ let a = t.many++;
+ if (i) {
+ let s = t.or++;
+ return (l) =>
+ t.parser.alternatives(s, [
+ {
+ ALT: o(() => t.parser.atLeastOne(a, { DEF: o(() => r(l), 'DEF') }), 'ALT'),
+ GATE: o(() => i(l), 'GATE')
+ },
+ { ALT: gk(), GATE: o(() => !i(l), 'GATE') }
+ ]);
+ } else return (s) => t.parser.atLeastOne(a, { DEF: o(() => r(s), 'DEF') });
+ } else if (n === '?') {
+ let a = t.optional++;
+ return (s) =>
+ t.parser.optional(a, {
+ DEF: o(() => r(s), 'DEF'),
+ GATE: i ? () => i(s) : void 0
+ });
+ } else tf(n);
+ }
+ function aoe(t, e) {
+ let r = FOe(t, e),
+ n = t.rules.get(r);
+ if (!n) throw new Error(`Rule "${r}" not found."`);
+ return n;
+ }
+ function FOe(t, e) {
+ if (Oa(e)) return e.name;
+ if (t.ruleNames.has(e)) return t.ruleNames.get(e);
+ {
+ let r = e,
+ n = r.$container,
+ i = e.$type;
+ for (; !Oa(n); )
+ (rf(n) || wT(n) || kT(n)) && (i = n.elements.indexOf(r).toString() + ':' + i),
+ (r = n),
+ (n = n.$container);
+ return (i = n.name + ':' + i), t.ruleNames.set(e, i), i;
+ }
+ }
+ function aM(t, e) {
+ let r = t.tokens[e];
+ if (!r) throw new Error(`Token "${e}" not found."`);
+ return r;
+ }
+ var sM = R(() => {
+ 'use strict';
+ u0();
+ Sc();
+ pT();
+ Ds();
+ Il();
+ o(_k, 'createParser');
+ o(DOe, 'buildRules');
+ o(m0, 'buildElement');
+ o(ROe, 'buildAction');
+ o(NOe, 'buildRuleCall');
+ o(MOe, 'buildRuleCallPredicate');
+ o(Vu, 'buildPredicate');
+ o(IOe, 'buildAlternatives');
+ o(OOe, 'buildUnorderedGroup');
+ o(POe, 'buildGroup');
+ o(Ak, 'getGuardCondition');
+ o(noe, 'buildCrossReference');
+ o(BOe, 'buildKeyword');
+ o(ioe, 'wrap');
+ o(aoe, 'getRule');
+ o(FOe, 'getRuleName');
+ o(aM, 'getToken');
+ });
+ function oM(t) {
+ let e = t.Grammar,
+ r = t.parser.Lexer,
+ n = new L2(t);
+ return _k(e, n, r.definition), n.finalize(), n;
+ }
+ var lM = R(() => {
+ 'use strict';
+ D2();
+ sM();
+ o(oM, 'createCompletionParser');
+ });
+ function cM(t) {
+ let e = soe(t);
+ return e.finalize(), e;
+ }
+ function soe(t) {
+ let e = t.Grammar,
+ r = t.parser.Lexer,
+ n = new _2(t);
+ return _k(e, n, r.definition);
+ }
+ var uM = R(() => {
+ 'use strict';
+ D2();
+ sM();
+ o(cM, 'createLangiumParser');
+ o(soe, 'prepareLangiumParser');
+ });
+ var g0,
+ hM = R(() => {
+ 'use strict';
+ u0();
+ Sc();
+ es();
+ Il();
+ Um();
+ Ds();
+ g0 = class {
+ static {
+ o(this, 'DefaultTokenBuilder');
+ }
+ buildTokens(e, r) {
+ let n = Kr(Qv(e, !1)),
+ i = this.buildTerminalTokens(n),
+ a = this.buildKeywordTokens(n, i, r);
+ return (
+ i.forEach((s) => {
+ let l = s.PATTERN;
+ typeof l == 'object' && l && 'test' in l && _T(l) ? a.unshift(s) : a.push(s);
+ }),
+ a
+ );
+ }
+ buildTerminalTokens(e) {
+ return e
+ .filter(Uo)
+ .filter((r) => !r.fragment)
+ .map((r) => this.buildTerminalToken(r))
+ .toArray();
+ }
+ buildTerminalToken(e) {
+ let r = Hm(e),
+ n = this.requiresCustomPattern(r) ? this.regexPatternFunction(r) : r,
+ i = { name: e.name, PATTERN: n, LINE_BREAKS: !0 };
+ return e.hidden && (i.GROUP = _T(r) ? ni.SKIPPED : 'hidden'), i;
+ }
+ requiresCustomPattern(e) {
+ return e.flags.includes('u') ? !0 : !!(e.source.includes('?<=') || e.source.includes('? ((r.lastIndex = i), r.exec(n));
+ }
+ buildKeywordTokens(e, r, n) {
+ return e
+ .filter(Oa)
+ .flatMap((i) => Ac(i).filter(Ho))
+ .distinct((i) => i.value)
+ .toArray()
+ .sort((i, a) => a.value.length - i.value.length)
+ .map((i) => this.buildKeywordToken(i, r, !!n?.caseInsensitive));
+ }
+ buildKeywordToken(e, r, n) {
+ return {
+ name: e.value,
+ PATTERN: this.buildKeywordPattern(e, n),
+ LONGER_ALT: this.findLongerAlt(e, r)
+ };
+ }
+ buildKeywordPattern(e, r) {
+ return r ? new RegExp(zR(e.value)) : e.value;
+ }
+ findLongerAlt(e, r) {
+ return r.reduce((n, i) => {
+ let a = i?.PATTERN;
+ return a?.source && GR('^' + a.source + '$', e.value) && n.push(i), n;
+ }, []);
+ }
+ };
+ });
+ var y0,
+ Dc,
+ fM = R(() => {
+ 'use strict';
+ Sc();
+ Il();
+ y0 = class {
+ static {
+ o(this, 'DefaultValueConverter');
+ }
+ convert(e, r) {
+ let n = r.grammarSource;
+ if ((Kd(n) && (n = UR(n)), Ml(n))) {
+ let i = n.rule.ref;
+ if (!i) throw new Error('This cst node was not parsed by a rule.');
+ return this.runConverter(i, e, r);
+ }
+ return e;
+ }
+ runConverter(e, r, n) {
+ var i;
+ switch (e.name.toUpperCase()) {
+ case 'INT':
+ return Dc.convertInt(r);
+ case 'STRING':
+ return Dc.convertString(r);
+ case 'ID':
+ return Dc.convertID(r);
+ }
+ switch ((i = QR(e)) === null || i === void 0 ? void 0 : i.toLowerCase()) {
+ case 'number':
+ return Dc.convertNumber(r);
+ case 'boolean':
+ return Dc.convertBoolean(r);
+ case 'bigint':
+ return Dc.convertBigint(r);
+ case 'date':
+ return Dc.convertDate(r);
+ default:
+ return r;
+ }
+ }
+ };
+ (function (t) {
+ function e(h) {
+ let f = '';
+ for (let d = 1; d < h.length - 1; d++) {
+ let p = h.charAt(d);
+ if (p === '\\') {
+ let m = h.charAt(++d);
+ f += r(m);
+ } else f += p;
+ }
+ return f;
+ }
+ o(e, 'convertString'), (t.convertString = e);
+ function r(h) {
+ switch (h) {
+ case 'b':
+ return '\b';
+ case 'f':
+ return '\f';
+ case 'n':
+ return `
+`;
+ case 'r':
+ return '\r';
+ case 't':
+ return ' ';
+ case 'v':
+ return '\v';
+ case '0':
+ return '\0';
+ default:
+ return h;
+ }
+ }
+ o(r, 'convertEscapeCharacter');
+ function n(h) {
+ return h.charAt(0) === '^' ? h.substring(1) : h;
+ }
+ o(n, 'convertID'), (t.convertID = n);
+ function i(h) {
+ return parseInt(h);
+ }
+ o(i, 'convertInt'), (t.convertInt = i);
+ function a(h) {
+ return BigInt(h);
+ }
+ o(a, 'convertBigint'), (t.convertBigint = a);
+ function s(h) {
+ return new Date(h);
+ }
+ o(s, 'convertDate'), (t.convertDate = s);
+ function l(h) {
+ return Number(h);
+ }
+ o(l, 'convertNumber'), (t.convertNumber = l);
+ function u(h) {
+ return h.toLowerCase() === 'true';
+ }
+ o(u, 'convertBoolean'), (t.convertBoolean = u);
+ })(Dc || (Dc = {}));
+ });
+ var gM = gi((mM) => {
+ 'use strict';
+ Object.defineProperty(mM, '__esModule', { value: !0 });
+ var dM;
+ function pM() {
+ if (dM === void 0) throw new Error('No runtime abstraction layer installed');
+ return dM;
+ }
+ o(pM, 'RAL');
+ (function (t) {
+ function e(r) {
+ if (r === void 0) throw new Error('No runtime abstraction layer provided');
+ dM = r;
+ }
+ o(e, 'install'), (t.install = e);
+ })(pM || (pM = {}));
+ mM.default = pM;
+ });
+ var coe = gi((Pa) => {
+ 'use strict';
+ Object.defineProperty(Pa, '__esModule', { value: !0 });
+ Pa.stringArray = Pa.array = Pa.func = Pa.error = Pa.number = Pa.string = Pa.boolean = void 0;
+ function zOe(t) {
+ return t === !0 || t === !1;
+ }
+ o(zOe, 'boolean');
+ Pa.boolean = zOe;
+ function ooe(t) {
+ return typeof t == 'string' || t instanceof String;
+ }
+ o(ooe, 'string');
+ Pa.string = ooe;
+ function GOe(t) {
+ return typeof t == 'number' || t instanceof Number;
+ }
+ o(GOe, 'number');
+ Pa.number = GOe;
+ function $Oe(t) {
+ return t instanceof Error;
+ }
+ o($Oe, 'error');
+ Pa.error = $Oe;
+ function VOe(t) {
+ return typeof t == 'function';
+ }
+ o(VOe, 'func');
+ Pa.func = VOe;
+ function loe(t) {
+ return Array.isArray(t);
+ }
+ o(loe, 'array');
+ Pa.array = loe;
+ function UOe(t) {
+ return loe(t) && t.every((e) => ooe(e));
+ }
+ o(UOe, 'stringArray');
+ Pa.stringArray = UOe;
+ });
+ var vM = gi((vg) => {
+ 'use strict';
+ Object.defineProperty(vg, '__esModule', { value: !0 });
+ vg.Emitter = vg.Event = void 0;
+ var HOe = gM(),
+ uoe;
+ (function (t) {
+ let e = { dispose() {} };
+ t.None = function () {
+ return e;
+ };
+ })(uoe || (vg.Event = uoe = {}));
+ var yM = class {
+ static {
+ o(this, 'CallbackList');
+ }
+ add(e, r = null, n) {
+ this._callbacks || ((this._callbacks = []), (this._contexts = [])),
+ this._callbacks.push(e),
+ this._contexts.push(r),
+ Array.isArray(n) && n.push({ dispose: o(() => this.remove(e, r), 'dispose') });
+ }
+ remove(e, r = null) {
+ if (!this._callbacks) return;
+ let n = !1;
+ for (let i = 0, a = this._callbacks.length; i < a; i++)
+ if (this._callbacks[i] === e)
+ if (this._contexts[i] === r) {
+ this._callbacks.splice(i, 1), this._contexts.splice(i, 1);
+ return;
+ } else n = !0;
+ if (n)
+ throw new Error(
+ 'When adding a listener with a context, you should remove it with the same context'
+ );
+ }
+ invoke(...e) {
+ if (!this._callbacks) return [];
+ let r = [],
+ n = this._callbacks.slice(0),
+ i = this._contexts.slice(0);
+ for (let a = 0, s = n.length; a < s; a++)
+ try {
+ r.push(n[a].apply(i[a], e));
+ } catch (l) {
+ (0, HOe.default)().console.error(l);
+ }
+ return r;
+ }
+ isEmpty() {
+ return !this._callbacks || this._callbacks.length === 0;
+ }
+ dispose() {
+ (this._callbacks = void 0), (this._contexts = void 0);
+ }
+ },
+ Lk = class t {
+ static {
+ o(this, 'Emitter');
+ }
+ constructor(e) {
+ this._options = e;
+ }
+ get event() {
+ return (
+ this._event ||
+ (this._event = (e, r, n) => {
+ this._callbacks || (this._callbacks = new yM()),
+ this._options &&
+ this._options.onFirstListenerAdd &&
+ this._callbacks.isEmpty() &&
+ this._options.onFirstListenerAdd(this),
+ this._callbacks.add(e, r);
+ let i = {
+ dispose: o(() => {
+ this._callbacks &&
+ (this._callbacks.remove(e, r),
+ (i.dispose = t._noop),
+ this._options &&
+ this._options.onLastListenerRemove &&
+ this._callbacks.isEmpty() &&
+ this._options.onLastListenerRemove(this));
+ }, 'dispose')
+ };
+ return Array.isArray(n) && n.push(i), i;
+ }),
+ this._event
+ );
+ }
+ fire(e) {
+ this._callbacks && this._callbacks.invoke.call(this._callbacks, e);
+ }
+ dispose() {
+ this._callbacks && (this._callbacks.dispose(), (this._callbacks = void 0));
+ }
+ };
+ vg.Emitter = Lk;
+ Lk._noop = function () {};
+ });
+ var hoe = gi((xg) => {
+ 'use strict';
+ Object.defineProperty(xg, '__esModule', { value: !0 });
+ xg.CancellationTokenSource = xg.CancellationToken = void 0;
+ var YOe = gM(),
+ WOe = coe(),
+ xM = vM(),
+ Dk;
+ (function (t) {
+ (t.None = Object.freeze({
+ isCancellationRequested: !1,
+ onCancellationRequested: xM.Event.None
+ })),
+ (t.Cancelled = Object.freeze({
+ isCancellationRequested: !0,
+ onCancellationRequested: xM.Event.None
+ }));
+ function e(r) {
+ let n = r;
+ return (
+ n &&
+ (n === t.None ||
+ n === t.Cancelled ||
+ (WOe.boolean(n.isCancellationRequested) && !!n.onCancellationRequested))
+ );
+ }
+ o(e, 'is'), (t.is = e);
+ })(Dk || (xg.CancellationToken = Dk = {}));
+ var qOe = Object.freeze(function (t, e) {
+ let r = (0, YOe.default)().timer.setTimeout(t.bind(e), 0);
+ return {
+ dispose() {
+ r.dispose();
+ }
+ };
+ }),
+ Rk = class {
+ static {
+ o(this, 'MutableToken');
+ }
+ constructor() {
+ this._isCancelled = !1;
+ }
+ cancel() {
+ this._isCancelled ||
+ ((this._isCancelled = !0), this._emitter && (this._emitter.fire(void 0), this.dispose()));
+ }
+ get isCancellationRequested() {
+ return this._isCancelled;
+ }
+ get onCancellationRequested() {
+ return this._isCancelled
+ ? qOe
+ : (this._emitter || (this._emitter = new xM.Emitter()), this._emitter.event);
+ }
+ dispose() {
+ this._emitter && (this._emitter.dispose(), (this._emitter = void 0));
+ }
+ },
+ bM = class {
+ static {
+ o(this, 'CancellationTokenSource');
+ }
+ get token() {
+ return this._token || (this._token = new Rk()), this._token;
+ }
+ cancel() {
+ this._token ? this._token.cancel() : (this._token = Dk.Cancelled);
+ }
+ dispose() {
+ this._token ? this._token instanceof Rk && this._token.dispose() : (this._token = Dk.None);
+ }
+ };
+ xg.CancellationTokenSource = bM;
+ });
+ var pr = {};
+ var Wo = R(() => {
+ 'use strict';
+ dr(pr, Xi(hoe(), 1));
+ });
+ function TM() {
+ return new Promise((t) => {
+ typeof setImmediate > 'u' ? setTimeout(t, 0) : setImmediate(t);
+ });
+ }
+ function doe() {
+ return (wM = Date.now()), new pr.CancellationTokenSource();
+ }
+ function poe(t) {
+ foe = t;
+ }
+ function of(t) {
+ return t === Rc;
+ }
+ async function Bi(t) {
+ if (t === pr.CancellationToken.None) return;
+ let e = Date.now();
+ if ((e - wM >= foe && ((wM = e), await TM()), t.isCancellationRequested)) throw Rc;
+ }
+ var wM,
+ foe,
+ Rc,
+ as,
+ qo = R(() => {
+ 'use strict';
+ Wo();
+ o(TM, 'delayNextTick');
+ (wM = 0), (foe = 10);
+ o(doe, 'startCancelableOperation');
+ o(poe, 'setInterruptionPeriod');
+ Rc = Symbol('OperationCancelled');
+ o(of, 'isOperationCancelled');
+ o(Bi, 'interruptAndCheck');
+ as = class {
+ static {
+ o(this, 'Deferred');
+ }
+ constructor() {
+ this.promise = new Promise((e, r) => {
+ (this.resolve = (n) => (e(n), this)), (this.reject = (n) => (r(n), this));
+ });
+ }
+ };
+ });
+ function kM(t, e) {
+ if (t.length <= 1) return t;
+ let r = (t.length / 2) | 0,
+ n = t.slice(0, r),
+ i = t.slice(r);
+ kM(n, e), kM(i, e);
+ let a = 0,
+ s = 0,
+ l = 0;
+ for (; a < n.length && s < i.length; ) e(n[a], i[s]) <= 0 ? (t[l++] = n[a++]) : (t[l++] = i[s++]);
+ for (; a < n.length; ) t[l++] = n[a++];
+ for (; s < i.length; ) t[l++] = i[s++];
+ return t;
+ }
+ function moe(t, e, r = 0) {
+ let n = e ? [r] : [];
+ for (let i = 0; i < t.length; i++) {
+ let a = t.charCodeAt(i);
+ goe(a) && (a === 13 && i + 1 < t.length && t.charCodeAt(i + 1) === 10 && i++, n.push(r + i + 1));
+ }
+ return n;
+ }
+ function goe(t) {
+ return t === 13 || t === 10;
+ }
+ function yoe(t) {
+ let e = t.start,
+ r = t.end;
+ return e.line > r.line || (e.line === r.line && e.character > r.character) ? { start: r, end: e } : t;
+ }
+ function XOe(t) {
+ let e = yoe(t.range);
+ return e !== t.range ? { newText: t.newText, range: e } : t;
+ }
+ var Nk,
+ bg,
+ voe = R(() => {
+ 'use strict';
+ Nk = class t {
+ static {
+ o(this, 'FullTextDocument');
+ }
+ constructor(e, r, n, i) {
+ (this._uri = e),
+ (this._languageId = r),
+ (this._version = n),
+ (this._content = i),
+ (this._lineOffsets = void 0);
+ }
+ get uri() {
+ return this._uri;
+ }
+ get languageId() {
+ return this._languageId;
+ }
+ get version() {
+ return this._version;
+ }
+ getText(e) {
+ if (e) {
+ let r = this.offsetAt(e.start),
+ n = this.offsetAt(e.end);
+ return this._content.substring(r, n);
+ }
+ return this._content;
+ }
+ update(e, r) {
+ for (let n of e)
+ if (t.isIncremental(n)) {
+ let i = yoe(n.range),
+ a = this.offsetAt(i.start),
+ s = this.offsetAt(i.end);
+ this._content =
+ this._content.substring(0, a) +
+ n.text +
+ this._content.substring(s, this._content.length);
+ let l = Math.max(i.start.line, 0),
+ u = Math.max(i.end.line, 0),
+ h = this._lineOffsets,
+ f = moe(n.text, !1, a);
+ if (u - l === f.length) for (let p = 0, m = f.length; p < m; p++) h[p + l + 1] = f[p];
+ else
+ f.length < 1e4
+ ? h.splice(l + 1, u - l, ...f)
+ : (this._lineOffsets = h = h.slice(0, l + 1).concat(f, h.slice(u + 1)));
+ let d = n.text.length - (s - a);
+ if (d !== 0) for (let p = l + 1 + f.length, m = h.length; p < m; p++) h[p] = h[p] + d;
+ } else if (t.isFull(n)) (this._content = n.text), (this._lineOffsets = void 0);
+ else throw new Error('Unknown change event received');
+ this._version = r;
+ }
+ getLineOffsets() {
+ return (
+ this._lineOffsets === void 0 && (this._lineOffsets = moe(this._content, !0)), this._lineOffsets
+ );
+ }
+ positionAt(e) {
+ e = Math.max(Math.min(e, this._content.length), 0);
+ let r = this.getLineOffsets(),
+ n = 0,
+ i = r.length;
+ if (i === 0) return { line: 0, character: e };
+ for (; n < i; ) {
+ let s = Math.floor((n + i) / 2);
+ r[s] > e ? (i = s) : (n = s + 1);
+ }
+ let a = n - 1;
+ return (e = this.ensureBeforeEOL(e, r[a])), { line: a, character: e - r[a] };
+ }
+ offsetAt(e) {
+ let r = this.getLineOffsets();
+ if (e.line >= r.length) return this._content.length;
+ if (e.line < 0) return 0;
+ let n = r[e.line];
+ if (e.character <= 0) return n;
+ let i = e.line + 1 < r.length ? r[e.line + 1] : this._content.length,
+ a = Math.min(n + e.character, i);
+ return this.ensureBeforeEOL(a, n);
+ }
+ ensureBeforeEOL(e, r) {
+ for (; e > r && goe(this._content.charCodeAt(e - 1)); ) e--;
+ return e;
+ }
+ get lineCount() {
+ return this.getLineOffsets().length;
+ }
+ static isIncremental(e) {
+ let r = e;
+ return (
+ r != null &&
+ typeof r.text == 'string' &&
+ r.range !== void 0 &&
+ (r.rangeLength === void 0 || typeof r.rangeLength == 'number')
+ );
+ }
+ static isFull(e) {
+ let r = e;
+ return r != null && typeof r.text == 'string' && r.range === void 0 && r.rangeLength === void 0;
+ }
+ };
+ (function (t) {
+ function e(i, a, s, l) {
+ return new Nk(i, a, s, l);
+ }
+ o(e, 'create'), (t.create = e);
+ function r(i, a, s) {
+ if (i instanceof Nk) return i.update(a, s), i;
+ throw new Error('TextDocument.update: document must be created by TextDocument.create');
+ }
+ o(r, 'update'), (t.update = r);
+ function n(i, a) {
+ let s = i.getText(),
+ l = kM(a.map(XOe), (f, d) => {
+ let p = f.range.start.line - d.range.start.line;
+ return p === 0 ? f.range.start.character - d.range.start.character : p;
+ }),
+ u = 0,
+ h = [];
+ for (let f of l) {
+ let d = i.offsetAt(f.range.start);
+ if (d < u) throw new Error('Overlapping edit');
+ d > u && h.push(s.substring(u, d)),
+ f.newText.length && h.push(f.newText),
+ (u = i.offsetAt(f.range.end));
+ }
+ return h.push(s.substr(u)), h.join('');
+ }
+ o(n, 'applyEdits'), (t.applyEdits = n);
+ })(bg || (bg = {}));
+ o(kM, 'mergeSort');
+ o(moe, 'computeLineOffsets');
+ o(goe, 'isEOL');
+ o(yoe, 'getWellformedRange');
+ o(XOe, 'getWellformedEdit');
+ });
+ var xoe,
+ Ms,
+ wg,
+ EM = R(() => {
+ 'use strict';
+ (() => {
+ 'use strict';
+ var t = {
+ 470: (i) => {
+ function a(u) {
+ if (typeof u != 'string')
+ throw new TypeError('Path must be a string. Received ' + JSON.stringify(u));
+ }
+ o(a, 'e');
+ function s(u, h) {
+ for (var f, d = '', p = 0, m = -1, g = 0, y = 0; y <= u.length; ++y) {
+ if (y < u.length) f = u.charCodeAt(y);
+ else {
+ if (f === 47) break;
+ f = 47;
+ }
+ if (f === 47) {
+ if (!(m === y - 1 || g === 1))
+ if (m !== y - 1 && g === 2) {
+ if (
+ d.length < 2 ||
+ p !== 2 ||
+ d.charCodeAt(d.length - 1) !== 46 ||
+ d.charCodeAt(d.length - 2) !== 46
+ ) {
+ if (d.length > 2) {
+ var v = d.lastIndexOf('/');
+ if (v !== d.length - 1) {
+ v === -1
+ ? ((d = ''), (p = 0))
+ : (p =
+ (d = d.slice(0, v)).length -
+ 1 -
+ d.lastIndexOf('/')),
+ (m = y),
+ (g = 0);
+ continue;
+ }
+ } else if (d.length === 2 || d.length === 1) {
+ (d = ''), (p = 0), (m = y), (g = 0);
+ continue;
+ }
+ }
+ h && (d.length > 0 ? (d += '/..') : (d = '..'), (p = 2));
+ } else
+ d.length > 0 ? (d += '/' + u.slice(m + 1, y)) : (d = u.slice(m + 1, y)),
+ (p = y - m - 1);
+ (m = y), (g = 0);
+ } else f === 46 && g !== -1 ? ++g : (g = -1);
+ }
+ return d;
+ }
+ o(s, 'r');
+ var l = {
+ resolve: o(function () {
+ for (var u, h = '', f = !1, d = arguments.length - 1; d >= -1 && !f; d--) {
+ var p;
+ d >= 0 ? (p = arguments[d]) : (u === void 0 && (u = process.cwd()), (p = u)),
+ a(p),
+ p.length !== 0 && ((h = p + '/' + h), (f = p.charCodeAt(0) === 47));
+ }
+ return (h = s(h, !f)), f ? (h.length > 0 ? '/' + h : '/') : h.length > 0 ? h : '.';
+ }, 'resolve'),
+ normalize: o(function (u) {
+ if ((a(u), u.length === 0)) return '.';
+ var h = u.charCodeAt(0) === 47,
+ f = u.charCodeAt(u.length - 1) === 47;
+ return (
+ (u = s(u, !h)).length !== 0 || h || (u = '.'),
+ u.length > 0 && f && (u += '/'),
+ h ? '/' + u : u
+ );
+ }, 'normalize'),
+ isAbsolute: o(function (u) {
+ return a(u), u.length > 0 && u.charCodeAt(0) === 47;
+ }, 'isAbsolute'),
+ join: o(function () {
+ if (arguments.length === 0) return '.';
+ for (var u, h = 0; h < arguments.length; ++h) {
+ var f = arguments[h];
+ a(f), f.length > 0 && (u === void 0 ? (u = f) : (u += '/' + f));
+ }
+ return u === void 0 ? '.' : l.normalize(u);
+ }, 'join'),
+ relative: o(function (u, h) {
+ if ((a(u), a(h), u === h || (u = l.resolve(u)) === (h = l.resolve(h)))) return '';
+ for (var f = 1; f < u.length && u.charCodeAt(f) === 47; ++f);
+ for (
+ var d = u.length, p = d - f, m = 1;
+ m < h.length && h.charCodeAt(m) === 47;
+ ++m
+ );
+ for (var g = h.length - m, y = p < g ? p : g, v = -1, x = 0; x <= y; ++x) {
+ if (x === y) {
+ if (g > y) {
+ if (h.charCodeAt(m + x) === 47) return h.slice(m + x + 1);
+ if (x === 0) return h.slice(m + x);
+ } else p > y && (u.charCodeAt(f + x) === 47 ? (v = x) : x === 0 && (v = 0));
+ break;
+ }
+ var b = u.charCodeAt(f + x);
+ if (b !== h.charCodeAt(m + x)) break;
+ b === 47 && (v = x);
+ }
+ var w = '';
+ for (x = f + v + 1; x <= d; ++x)
+ (x !== d && u.charCodeAt(x) !== 47) ||
+ (w.length === 0 ? (w += '..') : (w += '/..'));
+ return w.length > 0
+ ? w + h.slice(m + v)
+ : ((m += v), h.charCodeAt(m) === 47 && ++m, h.slice(m));
+ }, 'relative'),
+ _makeLong: o(function (u) {
+ return u;
+ }, '_makeLong'),
+ dirname: o(function (u) {
+ if ((a(u), u.length === 0)) return '.';
+ for (
+ var h = u.charCodeAt(0), f = h === 47, d = -1, p = !0, m = u.length - 1;
+ m >= 1;
+ --m
+ )
+ if ((h = u.charCodeAt(m)) === 47) {
+ if (!p) {
+ d = m;
+ break;
+ }
+ } else p = !1;
+ return d === -1 ? (f ? '/' : '.') : f && d === 1 ? '//' : u.slice(0, d);
+ }, 'dirname'),
+ basename: o(function (u, h) {
+ if (h !== void 0 && typeof h != 'string')
+ throw new TypeError('"ext" argument must be a string');
+ a(u);
+ var f,
+ d = 0,
+ p = -1,
+ m = !0;
+ if (h !== void 0 && h.length > 0 && h.length <= u.length) {
+ if (h.length === u.length && h === u) return '';
+ var g = h.length - 1,
+ y = -1;
+ for (f = u.length - 1; f >= 0; --f) {
+ var v = u.charCodeAt(f);
+ if (v === 47) {
+ if (!m) {
+ d = f + 1;
+ break;
+ }
+ } else
+ y === -1 && ((m = !1), (y = f + 1)),
+ g >= 0 &&
+ (v === h.charCodeAt(g)
+ ? --g == -1 && (p = f)
+ : ((g = -1), (p = y)));
+ }
+ return d === p ? (p = y) : p === -1 && (p = u.length), u.slice(d, p);
+ }
+ for (f = u.length - 1; f >= 0; --f)
+ if (u.charCodeAt(f) === 47) {
+ if (!m) {
+ d = f + 1;
+ break;
+ }
+ } else p === -1 && ((m = !1), (p = f + 1));
+ return p === -1 ? '' : u.slice(d, p);
+ }, 'basename'),
+ extname: o(function (u) {
+ a(u);
+ for (var h = -1, f = 0, d = -1, p = !0, m = 0, g = u.length - 1; g >= 0; --g) {
+ var y = u.charCodeAt(g);
+ if (y !== 47)
+ d === -1 && ((p = !1), (d = g + 1)),
+ y === 46
+ ? h === -1
+ ? (h = g)
+ : m !== 1 && (m = 1)
+ : h !== -1 && (m = -1);
+ else if (!p) {
+ f = g + 1;
+ break;
+ }
+ }
+ return h === -1 || d === -1 || m === 0 || (m === 1 && h === d - 1 && h === f + 1)
+ ? ''
+ : u.slice(h, d);
+ }, 'extname'),
+ format: o(function (u) {
+ if (u === null || typeof u != 'object')
+ throw new TypeError(
+ 'The "pathObject" argument must be of type Object. Received type ' +
+ typeof u
+ );
+ return (function (h, f) {
+ var d = f.dir || f.root,
+ p = f.base || (f.name || '') + (f.ext || '');
+ return d ? (d === f.root ? d + p : d + '/' + p) : p;
+ })(0, u);
+ }, 'format'),
+ parse: o(function (u) {
+ a(u);
+ var h = { root: '', dir: '', base: '', ext: '', name: '' };
+ if (u.length === 0) return h;
+ var f,
+ d = u.charCodeAt(0),
+ p = d === 47;
+ p ? ((h.root = '/'), (f = 1)) : (f = 0);
+ for (var m = -1, g = 0, y = -1, v = !0, x = u.length - 1, b = 0; x >= f; --x)
+ if ((d = u.charCodeAt(x)) !== 47)
+ y === -1 && ((v = !1), (y = x + 1)),
+ d === 46
+ ? m === -1
+ ? (m = x)
+ : b !== 1 && (b = 1)
+ : m !== -1 && (b = -1);
+ else if (!v) {
+ g = x + 1;
+ break;
+ }
+ return (
+ m === -1 || y === -1 || b === 0 || (b === 1 && m === y - 1 && m === g + 1)
+ ? y !== -1 &&
+ (h.base = h.name = g === 0 && p ? u.slice(1, y) : u.slice(g, y))
+ : (g === 0 && p
+ ? ((h.name = u.slice(1, m)), (h.base = u.slice(1, y)))
+ : ((h.name = u.slice(g, m)), (h.base = u.slice(g, y))),
+ (h.ext = u.slice(m, y))),
+ g > 0 ? (h.dir = u.slice(0, g - 1)) : p && (h.dir = '/'),
+ h
+ );
+ }, 'parse'),
+ sep: '/',
+ delimiter: ':',
+ win32: null,
+ posix: null
+ };
+ (l.posix = l), (i.exports = l);
+ }
+ },
+ e = {};
+ function r(i) {
+ var a = e[i];
+ if (a !== void 0) return a.exports;
+ var s = (e[i] = { exports: {} });
+ return t[i](s, s.exports, r), s.exports;
+ }
+ o(r, 'r'),
+ (r.d = (i, a) => {
+ for (var s in a)
+ r.o(a, s) && !r.o(i, s) && Object.defineProperty(i, s, { enumerable: !0, get: a[s] });
+ }),
+ (r.o = (i, a) => Object.prototype.hasOwnProperty.call(i, a)),
+ (r.r = (i) => {
+ typeof Symbol < 'u' &&
+ Symbol.toStringTag &&
+ Object.defineProperty(i, Symbol.toStringTag, { value: 'Module' }),
+ Object.defineProperty(i, '__esModule', { value: !0 });
+ });
+ var n = {};
+ (() => {
+ let i;
+ r.r(n),
+ r.d(n, { URI: o(() => p, 'URI'), Utils: o(() => M, 'Utils') }),
+ typeof process == 'object'
+ ? (i = process.platform === 'win32')
+ : typeof navigator == 'object' && (i = navigator.userAgent.indexOf('Windows') >= 0);
+ let a = /^\w[\w\d+.-]*$/,
+ s = /^\//,
+ l = /^\/\//;
+ function u(N, k) {
+ if (!N.scheme && k)
+ throw new Error(
+ `[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}`
+ );
+ if (N.scheme && !a.test(N.scheme))
+ throw new Error('[UriError]: Scheme contains illegal characters.');
+ if (N.path) {
+ if (N.authority) {
+ if (!s.test(N.path))
+ throw new Error(
+ '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character'
+ );
+ } else if (l.test(N.path))
+ throw new Error(
+ '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")'
+ );
+ }
+ }
+ o(u, 's');
+ let h = '',
+ f = '/',
+ d = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;
+ class p {
+ static {
+ o(this, 'f');
+ }
+ static isUri(k) {
+ return (
+ k instanceof p ||
+ (!!k &&
+ typeof k.authority == 'string' &&
+ typeof k.fragment == 'string' &&
+ typeof k.path == 'string' &&
+ typeof k.query == 'string' &&
+ typeof k.scheme == 'string' &&
+ typeof k.fsPath == 'string' &&
+ typeof k.with == 'function' &&
+ typeof k.toString == 'function')
+ );
+ }
+ scheme;
+ authority;
+ path;
+ query;
+ fragment;
+ constructor(k, I, C, O, D, P = !1) {
+ typeof k == 'object'
+ ? ((this.scheme = k.scheme || h),
+ (this.authority = k.authority || h),
+ (this.path = k.path || h),
+ (this.query = k.query || h),
+ (this.fragment = k.fragment || h))
+ : ((this.scheme = (function (F, B) {
+ return F || B ? F : 'file';
+ })(k, P)),
+ (this.authority = I || h),
+ (this.path = (function (F, B) {
+ switch (F) {
+ case 'https':
+ case 'http':
+ case 'file':
+ B ? B[0] !== f && (B = f + B) : (B = f);
+ }
+ return B;
+ })(this.scheme, C || h)),
+ (this.query = O || h),
+ (this.fragment = D || h),
+ u(this, P));
+ }
+ get fsPath() {
+ return b(this, !1);
+ }
+ with(k) {
+ if (!k) return this;
+ let { scheme: I, authority: C, path: O, query: D, fragment: P } = k;
+ return (
+ I === void 0 ? (I = this.scheme) : I === null && (I = h),
+ C === void 0 ? (C = this.authority) : C === null && (C = h),
+ O === void 0 ? (O = this.path) : O === null && (O = h),
+ D === void 0 ? (D = this.query) : D === null && (D = h),
+ P === void 0 ? (P = this.fragment) : P === null && (P = h),
+ I === this.scheme &&
+ C === this.authority &&
+ O === this.path &&
+ D === this.query &&
+ P === this.fragment
+ ? this
+ : new g(I, C, O, D, P)
+ );
+ }
+ static parse(k, I = !1) {
+ let C = d.exec(k);
+ return C
+ ? new g(C[2] || h, E(C[4] || h), E(C[5] || h), E(C[7] || h), E(C[9] || h), I)
+ : new g(h, h, h, h, h);
+ }
+ static file(k) {
+ let I = h;
+ if ((i && (k = k.replace(/\\/g, f)), k[0] === f && k[1] === f)) {
+ let C = k.indexOf(f, 2);
+ C === -1
+ ? ((I = k.substring(2)), (k = f))
+ : ((I = k.substring(2, C)), (k = k.substring(C) || f));
+ }
+ return new g('file', I, k, h, h);
+ }
+ static from(k) {
+ let I = new g(k.scheme, k.authority, k.path, k.query, k.fragment);
+ return u(I, !0), I;
+ }
+ toString(k = !1) {
+ return w(this, k);
+ }
+ toJSON() {
+ return this;
+ }
+ static revive(k) {
+ if (k) {
+ if (k instanceof p) return k;
+ {
+ let I = new g(k);
+ return (I._formatted = k.external), (I._fsPath = k._sep === m ? k.fsPath : null), I;
+ }
+ }
+ return k;
+ }
+ }
+ let m = i ? 1 : void 0;
+ class g extends p {
+ static {
+ o(this, 'l');
+ }
+ _formatted = null;
+ _fsPath = null;
+ get fsPath() {
+ return this._fsPath || (this._fsPath = b(this, !1)), this._fsPath;
+ }
+ toString(k = !1) {
+ return k
+ ? w(this, !0)
+ : (this._formatted || (this._formatted = w(this, !1)), this._formatted);
+ }
+ toJSON() {
+ let k = { $mid: 1 };
+ return (
+ this._fsPath && ((k.fsPath = this._fsPath), (k._sep = m)),
+ this._formatted && (k.external = this._formatted),
+ this.path && (k.path = this.path),
+ this.scheme && (k.scheme = this.scheme),
+ this.authority && (k.authority = this.authority),
+ this.query && (k.query = this.query),
+ this.fragment && (k.fragment = this.fragment),
+ k
+ );
+ }
+ }
+ let y = {
+ 58: '%3A',
+ 47: '%2F',
+ 63: '%3F',
+ 35: '%23',
+ 91: '%5B',
+ 93: '%5D',
+ 64: '%40',
+ 33: '%21',
+ 36: '%24',
+ 38: '%26',
+ 39: '%27',
+ 40: '%28',
+ 41: '%29',
+ 42: '%2A',
+ 43: '%2B',
+ 44: '%2C',
+ 59: '%3B',
+ 61: '%3D',
+ 32: '%20'
+ };
+ function v(N, k, I) {
+ let C,
+ O = -1;
+ for (let D = 0; D < N.length; D++) {
+ let P = N.charCodeAt(D);
+ if (
+ (P >= 97 && P <= 122) ||
+ (P >= 65 && P <= 90) ||
+ (P >= 48 && P <= 57) ||
+ P === 45 ||
+ P === 46 ||
+ P === 95 ||
+ P === 126 ||
+ (k && P === 47) ||
+ (I && P === 91) ||
+ (I && P === 93) ||
+ (I && P === 58)
+ )
+ O !== -1 && ((C += encodeURIComponent(N.substring(O, D))), (O = -1)),
+ C !== void 0 && (C += N.charAt(D));
+ else {
+ C === void 0 && (C = N.substr(0, D));
+ let F = y[P];
+ F !== void 0
+ ? (O !== -1 && ((C += encodeURIComponent(N.substring(O, D))), (O = -1)), (C += F))
+ : O === -1 && (O = D);
+ }
+ }
+ return O !== -1 && (C += encodeURIComponent(N.substring(O))), C !== void 0 ? C : N;
+ }
+ o(v, 'd');
+ function x(N) {
+ let k;
+ for (let I = 0; I < N.length; I++) {
+ let C = N.charCodeAt(I);
+ C === 35 || C === 63
+ ? (k === void 0 && (k = N.substr(0, I)), (k += y[C]))
+ : k !== void 0 && (k += N[I]);
+ }
+ return k !== void 0 ? k : N;
+ }
+ o(x, 'p');
+ function b(N, k) {
+ let I;
+ return (
+ (I =
+ N.authority && N.path.length > 1 && N.scheme === 'file'
+ ? `//${N.authority}${N.path}`
+ : N.path.charCodeAt(0) === 47 &&
+ ((N.path.charCodeAt(1) >= 65 && N.path.charCodeAt(1) <= 90) ||
+ (N.path.charCodeAt(1) >= 97 && N.path.charCodeAt(1) <= 122)) &&
+ N.path.charCodeAt(2) === 58
+ ? k
+ ? N.path.substr(1)
+ : N.path[1].toLowerCase() + N.path.substr(2)
+ : N.path),
+ i && (I = I.replace(/\//g, '\\')),
+ I
+ );
+ }
+ o(b, 'm');
+ function w(N, k) {
+ let I = k ? x : v,
+ C = '',
+ { scheme: O, authority: D, path: P, query: F, fragment: B } = N;
+ if ((O && ((C += O), (C += ':')), (D || O === 'file') && ((C += f), (C += f)), D)) {
+ let $ = D.indexOf('@');
+ if ($ !== -1) {
+ let z = D.substr(0, $);
+ (D = D.substr($ + 1)),
+ ($ = z.lastIndexOf(':')),
+ $ === -1
+ ? (C += I(z, !1, !1))
+ : ((C += I(z.substr(0, $), !1, !1)),
+ (C += ':'),
+ (C += I(z.substr($ + 1), !1, !0))),
+ (C += '@');
+ }
+ (D = D.toLowerCase()),
+ ($ = D.lastIndexOf(':')),
+ $ === -1 ? (C += I(D, !1, !0)) : ((C += I(D.substr(0, $), !1, !0)), (C += D.substr($)));
+ }
+ if (P) {
+ if (P.length >= 3 && P.charCodeAt(0) === 47 && P.charCodeAt(2) === 58) {
+ let $ = P.charCodeAt(1);
+ $ >= 65 && $ <= 90 && (P = `/${String.fromCharCode($ + 32)}:${P.substr(3)}`);
+ } else if (P.length >= 2 && P.charCodeAt(1) === 58) {
+ let $ = P.charCodeAt(0);
+ $ >= 65 && $ <= 90 && (P = `${String.fromCharCode($ + 32)}:${P.substr(2)}`);
+ }
+ C += I(P, !0, !1);
+ }
+ return (
+ F && ((C += '?'), (C += I(F, !1, !1))), B && ((C += '#'), (C += k ? B : v(B, !1, !1))), C
+ );
+ }
+ o(w, 'y');
+ function S(N) {
+ try {
+ return decodeURIComponent(N);
+ } catch {
+ return N.length > 3 ? N.substr(0, 3) + S(N.substr(3)) : N;
+ }
+ }
+ o(S, 'v');
+ let T = /(%[0-9A-Za-z][0-9A-Za-z])+/g;
+ function E(N) {
+ return N.match(T) ? N.replace(T, (k) => S(k)) : N;
+ }
+ o(E, 'C');
+ var _ = r(470);
+ let A = _.posix || _,
+ L = '/';
+ var M;
+ (function (N) {
+ (N.joinPath = function (k, ...I) {
+ return k.with({ path: A.join(k.path, ...I) });
+ }),
+ (N.resolvePath = function (k, ...I) {
+ let C = k.path,
+ O = !1;
+ C[0] !== L && ((C = L + C), (O = !0));
+ let D = A.resolve(C, ...I);
+ return O && D[0] === L && !k.authority && (D = D.substring(1)), k.with({ path: D });
+ }),
+ (N.dirname = function (k) {
+ if (k.path.length === 0 || k.path === L) return k;
+ let I = A.dirname(k.path);
+ return I.length === 1 && I.charCodeAt(0) === 46 && (I = ''), k.with({ path: I });
+ }),
+ (N.basename = function (k) {
+ return A.basename(k.path);
+ }),
+ (N.extname = function (k) {
+ return A.extname(k.path);
+ });
+ })(M || (M = {}));
+ })(),
+ (xoe = n);
+ })();
+ ({ URI: Ms, Utils: wg } = xoe);
+ });
+ var ss,
+ Nc = R(() => {
+ 'use strict';
+ EM();
+ (function (t) {
+ (t.basename = wg.basename),
+ (t.dirname = wg.dirname),
+ (t.extname = wg.extname),
+ (t.joinPath = wg.joinPath),
+ (t.resolvePath = wg.resolvePath);
+ function e(n, i) {
+ return n?.toString() === i?.toString();
+ }
+ o(e, 'equals'), (t.equals = e);
+ function r(n, i) {
+ let a = typeof n == 'string' ? n : n.path,
+ s = typeof i == 'string' ? i : i.path,
+ l = a.split('/').filter((p) => p.length > 0),
+ u = s.split('/').filter((p) => p.length > 0),
+ h = 0;
+ for (; h < l.length && l[h] === u[h]; h++);
+ let f = '../'.repeat(l.length - h),
+ d = u.slice(h).join('/');
+ return f + d;
+ }
+ o(r, 'relative'), (t.relative = r);
+ })(ss || (ss = {}));
+ });
+ var yn,
+ R2,
+ N2,
+ Tg = R(() => {
+ 'use strict';
+ voe();
+ Tg();
+ Wo();
+ Ds();
+ Nc();
+ (function (t) {
+ (t[(t.Changed = 0)] = 'Changed'),
+ (t[(t.Parsed = 1)] = 'Parsed'),
+ (t[(t.IndexedContent = 2)] = 'IndexedContent'),
+ (t[(t.ComputedScopes = 3)] = 'ComputedScopes'),
+ (t[(t.Linked = 4)] = 'Linked'),
+ (t[(t.IndexedReferences = 5)] = 'IndexedReferences'),
+ (t[(t.Validated = 6)] = 'Validated');
+ })(yn || (yn = {}));
+ (R2 = class {
+ static {
+ o(this, 'DefaultLangiumDocumentFactory');
+ }
+ constructor(e) {
+ (this.serviceRegistry = e.ServiceRegistry),
+ (this.textDocuments = e.workspace.TextDocuments),
+ (this.fileSystemProvider = e.workspace.FileSystemProvider);
+ }
+ async fromUri(e, r = pr.CancellationToken.None) {
+ let n = await this.fileSystemProvider.readFile(e);
+ return this.createAsync(e, n, r);
+ }
+ fromTextDocument(e, r, n) {
+ return (r = r ?? Ms.parse(e.uri)), n ? this.createAsync(r, e, n) : this.create(r, e);
+ }
+ fromString(e, r, n) {
+ return n ? this.createAsync(r, e, n) : this.create(r, e);
+ }
+ fromModel(e, r) {
+ return this.create(r, { $model: e });
+ }
+ create(e, r) {
+ if (typeof r == 'string') {
+ let n = this.parse(e, r);
+ return this.createLangiumDocument(n, e, void 0, r);
+ } else if ('$model' in r) {
+ let n = { value: r.$model, parserErrors: [], lexerErrors: [] };
+ return this.createLangiumDocument(n, e);
+ } else {
+ let n = this.parse(e, r.getText());
+ return this.createLangiumDocument(n, e, r);
+ }
+ }
+ async createAsync(e, r, n) {
+ if (typeof r == 'string') {
+ let i = await this.parseAsync(e, r, n);
+ return this.createLangiumDocument(i, e, void 0, r);
+ } else {
+ let i = await this.parseAsync(e, r.getText(), n);
+ return this.createLangiumDocument(i, e, r);
+ }
+ }
+ createLangiumDocument(e, r, n, i) {
+ let a;
+ if (n)
+ a = {
+ parseResult: e,
+ uri: r,
+ state: yn.Parsed,
+ references: [],
+ textDocument: n
+ };
+ else {
+ let s = this.createTextDocumentGetter(r, i);
+ a = {
+ parseResult: e,
+ uri: r,
+ state: yn.Parsed,
+ references: [],
+ get textDocument() {
+ return s();
+ }
+ };
+ }
+ return (e.value.$document = a), a;
+ }
+ async update(e, r) {
+ var n, i;
+ let a = (n = e.parseResult.value.$cstNode) === null || n === void 0 ? void 0 : n.root.fullText,
+ s = (i = this.textDocuments) === null || i === void 0 ? void 0 : i.get(e.uri.toString()),
+ l = s ? s.getText() : await this.fileSystemProvider.readFile(e.uri);
+ if (s) Object.defineProperty(e, 'textDocument', { value: s });
+ else {
+ let u = this.createTextDocumentGetter(e.uri, l);
+ Object.defineProperty(e, 'textDocument', { get: u });
+ }
+ return (
+ a !== l &&
+ ((e.parseResult = await this.parseAsync(e.uri, l, r)), (e.parseResult.value.$document = e)),
+ (e.state = yn.Parsed),
+ e
+ );
+ }
+ parse(e, r) {
+ return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r);
+ }
+ parseAsync(e, r, n) {
+ return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r, n);
+ }
+ createTextDocumentGetter(e, r) {
+ let n = this.serviceRegistry,
+ i;
+ return () =>
+ i ?? (i = bg.create(e.toString(), n.getServices(e).LanguageMetaData.languageId, 0, r ?? ''));
+ }
+ }),
+ (N2 = class {
+ static {
+ o(this, 'DefaultLangiumDocuments');
+ }
+ constructor(e) {
+ (this.documentMap = new Map()),
+ (this.langiumDocumentFactory = e.workspace.LangiumDocumentFactory);
+ }
+ get all() {
+ return Kr(this.documentMap.values());
+ }
+ addDocument(e) {
+ let r = e.uri.toString();
+ if (this.documentMap.has(r))
+ throw new Error(`A document with the URI '${r}' is already present.`);
+ this.documentMap.set(r, e);
+ }
+ getDocument(e) {
+ let r = e.toString();
+ return this.documentMap.get(r);
+ }
+ async getOrCreateDocument(e, r) {
+ let n = this.getDocument(e);
+ return n || ((n = await this.langiumDocumentFactory.fromUri(e, r)), this.addDocument(n), n);
+ }
+ createDocument(e, r, n) {
+ if (n)
+ return this.langiumDocumentFactory
+ .fromString(r, e, n)
+ .then((i) => (this.addDocument(i), i));
+ {
+ let i = this.langiumDocumentFactory.fromString(r, e);
+ return this.addDocument(i), i;
+ }
+ }
+ hasDocument(e) {
+ return this.documentMap.has(e.toString());
+ }
+ invalidateDocument(e) {
+ let r = e.toString(),
+ n = this.documentMap.get(r);
+ return (
+ n &&
+ ((n.state = yn.Changed),
+ (n.precomputedScopes = void 0),
+ (n.references = []),
+ (n.diagnostics = void 0)),
+ n
+ );
+ }
+ deleteDocument(e) {
+ let r = e.toString(),
+ n = this.documentMap.get(r);
+ return n && ((n.state = yn.Changed), this.documentMap.delete(r)), n;
+ }
+ });
+ });
+ var M2,
+ CM = R(() => {
+ 'use strict';
+ Wo();
+ Vo();
+ es();
+ qo();
+ Tg();
+ M2 = class {
+ static {
+ o(this, 'DefaultLinker');
+ }
+ constructor(e) {
+ (this.reflection = e.shared.AstReflection),
+ (this.langiumDocuments = () => e.shared.workspace.LangiumDocuments),
+ (this.scopeProvider = e.references.ScopeProvider),
+ (this.astNodeLocator = e.workspace.AstNodeLocator);
+ }
+ async link(e, r = pr.CancellationToken.None) {
+ for (let n of Yo(e.parseResult.value)) await Bi(r), $m(n).forEach((i) => this.doLink(i, e));
+ }
+ doLink(e, r) {
+ let n = e.reference;
+ if (n._ref === void 0)
+ try {
+ let i = this.getCandidate(e);
+ if (Wd(i)) n._ref = i;
+ else if (((n._nodeDescription = i), this.langiumDocuments().hasDocument(i.documentUri))) {
+ let a = this.loadAstNode(i);
+ n._ref = a ?? this.createLinkingError(e, i);
+ }
+ } catch (i) {
+ n._ref = Object.assign(Object.assign({}, e), {
+ message: `An error occurred while resolving reference to '${n.$refText}': ${i}`
+ });
+ }
+ r.references.push(n);
+ }
+ unlink(e) {
+ for (let r of e.references) delete r._ref, delete r._nodeDescription;
+ e.references = [];
+ }
+ getCandidate(e) {
+ let n = this.scopeProvider.getScope(e).getElement(e.reference.$refText);
+ return n ?? this.createLinkingError(e);
+ }
+ buildReference(e, r, n, i) {
+ let a = this,
+ s = {
+ $refNode: n,
+ $refText: i,
+ get ref() {
+ var l;
+ if (Xn(this._ref)) return this._ref;
+ if (ED(this._nodeDescription)) {
+ let u = a.loadAstNode(this._nodeDescription);
+ this._ref =
+ u ??
+ a.createLinkingError(
+ { reference: s, container: e, property: r },
+ this._nodeDescription
+ );
+ } else if (this._ref === void 0) {
+ let u = a.getLinkedNode({
+ reference: s,
+ container: e,
+ property: r
+ });
+ if (u.error && Oi(e).state < yn.ComputedScopes) return;
+ (this._ref = (l = u.node) !== null && l !== void 0 ? l : u.error),
+ (this._nodeDescription = u.descr);
+ }
+ return Xn(this._ref) ? this._ref : void 0;
+ },
+ get $nodeDescription() {
+ return this._nodeDescription;
+ },
+ get error() {
+ return Wd(this._ref) ? this._ref : void 0;
+ }
+ };
+ return s;
+ }
+ getLinkedNode(e) {
+ try {
+ let r = this.getCandidate(e);
+ if (Wd(r)) return { error: r };
+ let n = this.loadAstNode(r);
+ return n ? { node: n, descr: r } : { descr: r, error: this.createLinkingError(e, r) };
+ } catch (r) {
+ return {
+ error: Object.assign(Object.assign({}, e), {
+ message: `An error occurred while resolving reference to '${e.reference.$refText}': ${r}`
+ })
+ };
+ }
+ }
+ loadAstNode(e) {
+ if (e.node) return e.node;
+ let r = this.langiumDocuments().getDocument(e.documentUri);
+ if (r) return this.astNodeLocator.getAstNode(r.parseResult.value, e.path);
+ }
+ createLinkingError(e, r) {
+ let n = Oi(e.container);
+ n.state < yn.ComputedScopes &&
+ console.warn(
+ `Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`
+ );
+ let i = this.reflection.getReferenceType(e);
+ return Object.assign(Object.assign({}, e), {
+ message: `Could not resolve reference to ${i} named '${e.reference.$refText}'.`,
+ targetDescription: r
+ });
+ }
+ };
+ });
+ function boe(t) {
+ return typeof t.name == 'string';
+ }
+ var I2,
+ SM = R(() => {
+ 'use strict';
+ Il();
+ o(boe, 'isNamed');
+ I2 = class {
+ static {
+ o(this, 'DefaultNameProvider');
+ }
+ getName(e) {
+ if (boe(e)) return e.name;
+ }
+ getNameNode(e) {
+ return Zv(e.$cstNode, 'name');
+ }
+ };
+ });
+ var O2,
+ AM = R(() => {
+ 'use strict';
+ Il();
+ Vo();
+ es();
+ Rl();
+ Ds();
+ Nc();
+ O2 = class {
+ static {
+ o(this, 'DefaultReferences');
+ }
+ constructor(e) {
+ (this.nameProvider = e.references.NameProvider),
+ (this.index = e.shared.workspace.IndexManager),
+ (this.nodeLocator = e.workspace.AstNodeLocator);
+ }
+ findDeclaration(e) {
+ if (e) {
+ let r = jR(e),
+ n = e.astNode;
+ if (r && n) {
+ let i = n[r.feature];
+ if (xa(i)) return i.ref;
+ if (Array.isArray(i)) {
+ for (let a of i)
+ if (xa(a) && a.$refNode && a.$refNode.offset <= e.offset && a.$refNode.end >= e.end)
+ return a.ref;
+ }
+ }
+ if (n) {
+ let i = this.nameProvider.getNameNode(n);
+ if (i && (i === e || SD(e, i))) return n;
+ }
+ }
+ }
+ findDeclarationNode(e) {
+ let r = this.findDeclaration(e);
+ if (r?.$cstNode) {
+ let n = this.nameProvider.getNameNode(r);
+ return n ?? r.$cstNode;
+ }
+ }
+ findReferences(e, r) {
+ let n = [];
+ if (r.includeDeclaration) {
+ let a = this.getReferenceToSelf(e);
+ a && n.push(a);
+ }
+ let i = this.index.findAllReferences(e, this.nodeLocator.getAstNodePath(e));
+ return (
+ r.documentUri && (i = i.filter((a) => ss.equals(a.sourceUri, r.documentUri))),
+ n.push(...i),
+ Kr(n)
+ );
+ }
+ getReferenceToSelf(e) {
+ let r = this.nameProvider.getNameNode(e);
+ if (r) {
+ let n = Oi(e),
+ i = this.nodeLocator.getAstNodePath(e);
+ return {
+ sourceUri: n.uri,
+ sourcePath: i,
+ targetUri: n.uri,
+ targetPath: i,
+ segment: Xd(r),
+ local: !0
+ };
+ }
+ }
+ };
+ });
+ var Mc,
+ v0,
+ kg = R(() => {
+ 'use strict';
+ Ds();
+ (Mc = class {
+ static {
+ o(this, 'MultiMap');
+ }
+ constructor(e) {
+ if (((this.map = new Map()), e)) for (let [r, n] of e) this.add(r, n);
+ }
+ get size() {
+ return Fm.sum(Kr(this.map.values()).map((e) => e.length));
+ }
+ clear() {
+ this.map.clear();
+ }
+ delete(e, r) {
+ if (r === void 0) return this.map.delete(e);
+ {
+ let n = this.map.get(e);
+ if (n) {
+ let i = n.indexOf(r);
+ if (i >= 0) return n.length === 1 ? this.map.delete(e) : n.splice(i, 1), !0;
+ }
+ return !1;
+ }
+ }
+ get(e) {
+ var r;
+ return (r = this.map.get(e)) !== null && r !== void 0 ? r : [];
+ }
+ has(e, r) {
+ if (r === void 0) return this.map.has(e);
+ {
+ let n = this.map.get(e);
+ return n ? n.indexOf(r) >= 0 : !1;
+ }
+ }
+ add(e, r) {
+ return this.map.has(e) ? this.map.get(e).push(r) : this.map.set(e, [r]), this;
+ }
+ addAll(e, r) {
+ return this.map.has(e) ? this.map.get(e).push(...r) : this.map.set(e, Array.from(r)), this;
+ }
+ forEach(e) {
+ this.map.forEach((r, n) => r.forEach((i) => e(i, n, this)));
+ }
+ [Symbol.iterator]() {
+ return this.entries().iterator();
+ }
+ entries() {
+ return Kr(this.map.entries()).flatMap(([e, r]) => r.map((n) => [e, n]));
+ }
+ keys() {
+ return Kr(this.map.keys());
+ }
+ values() {
+ return Kr(this.map.values()).flat();
+ }
+ entriesGroupedByKey() {
+ return Kr(this.map.entries());
+ }
+ }),
+ (v0 = class {
+ static {
+ o(this, 'BiMap');
+ }
+ get size() {
+ return this.map.size;
+ }
+ constructor(e) {
+ if (((this.map = new Map()), (this.inverse = new Map()), e))
+ for (let [r, n] of e) this.set(r, n);
+ }
+ clear() {
+ this.map.clear(), this.inverse.clear();
+ }
+ set(e, r) {
+ return this.map.set(e, r), this.inverse.set(r, e), this;
+ }
+ get(e) {
+ return this.map.get(e);
+ }
+ getKey(e) {
+ return this.inverse.get(e);
+ }
+ delete(e) {
+ let r = this.map.get(e);
+ return r !== void 0 ? (this.map.delete(e), this.inverse.delete(r), !0) : !1;
+ }
+ });
+ });
+ var P2,
+ _M = R(() => {
+ 'use strict';
+ Wo();
+ es();
+ kg();
+ qo();
+ P2 = class {
+ static {
+ o(this, 'DefaultScopeComputation');
+ }
+ constructor(e) {
+ (this.nameProvider = e.references.NameProvider),
+ (this.descriptions = e.workspace.AstNodeDescriptionProvider);
+ }
+ async computeExports(e, r = pr.CancellationToken.None) {
+ return this.computeExportsForNode(e.parseResult.value, e, void 0, r);
+ }
+ async computeExportsForNode(e, r, n = Wv, i = pr.CancellationToken.None) {
+ let a = [];
+ this.exportNode(e, a, r);
+ for (let s of n(e)) await Bi(i), this.exportNode(s, a, r);
+ return a;
+ }
+ exportNode(e, r, n) {
+ let i = this.nameProvider.getName(e);
+ i && r.push(this.descriptions.createDescription(e, i, n));
+ }
+ async computeLocalScopes(e, r = pr.CancellationToken.None) {
+ let n = e.parseResult.value,
+ i = new Mc();
+ for (let a of Ac(n)) await Bi(r), this.processNode(a, e, i);
+ return i;
+ }
+ processNode(e, r, n) {
+ let i = e.$container;
+ if (i) {
+ let a = this.nameProvider.getName(e);
+ a && n.add(i, this.descriptions.createDescription(e, a, r));
+ }
+ }
+ };
+ });
+ var Eg,
+ B2,
+ jOe,
+ LM = R(() => {
+ 'use strict';
+ Ds();
+ (Eg = class {
+ static {
+ o(this, 'StreamScope');
+ }
+ constructor(e, r, n) {
+ var i;
+ (this.elements = e),
+ (this.outerScope = r),
+ (this.caseInsensitive = (i = n?.caseInsensitive) !== null && i !== void 0 ? i : !1);
+ }
+ getAllElements() {
+ return this.outerScope ? this.elements.concat(this.outerScope.getAllElements()) : this.elements;
+ }
+ getElement(e) {
+ let r = this.caseInsensitive
+ ? this.elements.find((n) => n.name.toLowerCase() === e.toLowerCase())
+ : this.elements.find((n) => n.name === e);
+ if (r) return r;
+ if (this.outerScope) return this.outerScope.getElement(e);
+ }
+ }),
+ (B2 = class {
+ static {
+ o(this, 'MapScope');
+ }
+ constructor(e, r, n) {
+ var i;
+ (this.elements = new Map()),
+ (this.caseInsensitive = (i = n?.caseInsensitive) !== null && i !== void 0 ? i : !1);
+ for (let a of e) {
+ let s = this.caseInsensitive ? a.name.toLowerCase() : a.name;
+ this.elements.set(s, a);
+ }
+ this.outerScope = r;
+ }
+ getElement(e) {
+ let r = this.caseInsensitive ? e.toLowerCase() : e,
+ n = this.elements.get(r);
+ if (n) return n;
+ if (this.outerScope) return this.outerScope.getElement(e);
+ }
+ getAllElements() {
+ let e = Kr(this.elements.values());
+ return this.outerScope && (e = e.concat(this.outerScope.getAllElements())), e;
+ }
+ }),
+ (jOe = {
+ getElement() {},
+ getAllElements() {
+ return Gv;
+ }
+ });
+ });
+ var Cg,
+ F2,
+ x0,
+ Mk,
+ Sg,
+ Ik = R(() => {
+ 'use strict';
+ (Cg = class {
+ static {
+ o(this, 'DisposableCache');
+ }
+ constructor() {
+ (this.toDispose = []), (this.isDisposed = !1);
+ }
+ onDispose(e) {
+ this.toDispose.push(e);
+ }
+ dispose() {
+ this.throwIfDisposed(),
+ this.clear(),
+ (this.isDisposed = !0),
+ this.toDispose.forEach((e) => e.dispose());
+ }
+ throwIfDisposed() {
+ if (this.isDisposed) throw new Error('This cache has already been disposed');
+ }
+ }),
+ (F2 = class extends Cg {
+ static {
+ o(this, 'SimpleCache');
+ }
+ constructor() {
+ super(...arguments), (this.cache = new Map());
+ }
+ has(e) {
+ return this.throwIfDisposed(), this.cache.has(e);
+ }
+ set(e, r) {
+ this.throwIfDisposed(), this.cache.set(e, r);
+ }
+ get(e, r) {
+ if ((this.throwIfDisposed(), this.cache.has(e))) return this.cache.get(e);
+ if (r) {
+ let n = r();
+ return this.cache.set(e, n), n;
+ } else return;
+ }
+ delete(e) {
+ return this.throwIfDisposed(), this.cache.delete(e);
+ }
+ clear() {
+ this.throwIfDisposed(), this.cache.clear();
+ }
+ }),
+ (x0 = class extends Cg {
+ static {
+ o(this, 'ContextCache');
+ }
+ constructor(e) {
+ super(), (this.cache = new Map()), (this.converter = e ?? ((r) => r));
+ }
+ has(e, r) {
+ return this.throwIfDisposed(), this.cacheForContext(e).has(r);
+ }
+ set(e, r, n) {
+ this.throwIfDisposed(), this.cacheForContext(e).set(r, n);
+ }
+ get(e, r, n) {
+ this.throwIfDisposed();
+ let i = this.cacheForContext(e);
+ if (i.has(r)) return i.get(r);
+ if (n) {
+ let a = n();
+ return i.set(r, a), a;
+ } else return;
+ }
+ delete(e, r) {
+ return this.throwIfDisposed(), this.cacheForContext(e).delete(r);
+ }
+ clear(e) {
+ if ((this.throwIfDisposed(), e)) {
+ let r = this.converter(e);
+ this.cache.delete(r);
+ } else this.cache.clear();
+ }
+ cacheForContext(e) {
+ let r = this.converter(e),
+ n = this.cache.get(r);
+ return n || ((n = new Map()), this.cache.set(r, n)), n;
+ }
+ }),
+ (Mk = class extends x0 {
+ static {
+ o(this, 'DocumentCache');
+ }
+ constructor(e) {
+ super((r) => r.toString()),
+ this.onDispose(
+ e.workspace.DocumentBuilder.onUpdate((r, n) => {
+ let i = r.concat(n);
+ for (let a of i) this.clear(a);
+ })
+ );
+ }
+ }),
+ (Sg = class extends F2 {
+ static {
+ o(this, 'WorkspaceCache');
+ }
+ constructor(e) {
+ super(),
+ this.onDispose(
+ e.workspace.DocumentBuilder.onUpdate(() => {
+ this.clear();
+ })
+ );
+ }
+ });
+ });
+ var z2,
+ DM = R(() => {
+ 'use strict';
+ LM();
+ es();
+ Ds();
+ Ik();
+ z2 = class {
+ static {
+ o(this, 'DefaultScopeProvider');
+ }
+ constructor(e) {
+ (this.reflection = e.shared.AstReflection),
+ (this.nameProvider = e.references.NameProvider),
+ (this.descriptions = e.workspace.AstNodeDescriptionProvider),
+ (this.indexManager = e.shared.workspace.IndexManager),
+ (this.globalScopeCache = new Sg(e.shared));
+ }
+ getScope(e) {
+ let r = [],
+ n = this.reflection.getReferenceType(e),
+ i = Oi(e.container).precomputedScopes;
+ if (i) {
+ let s = e.container;
+ do {
+ let l = i.get(s);
+ l.length > 0 && r.push(Kr(l).filter((u) => this.reflection.isSubtype(u.type, n))),
+ (s = s.$container);
+ } while (s);
+ }
+ let a = this.getGlobalScope(n, e);
+ for (let s = r.length - 1; s >= 0; s--) a = this.createScope(r[s], a);
+ return a;
+ }
+ createScope(e, r, n) {
+ return new Eg(Kr(e), r, n);
+ }
+ createScopeForNodes(e, r, n) {
+ let i = Kr(e)
+ .map((a) => {
+ let s = this.nameProvider.getName(a);
+ if (s) return this.descriptions.createDescription(a, s);
+ })
+ .nonNullable();
+ return new Eg(i, r, n);
+ }
+ getGlobalScope(e, r) {
+ return this.globalScopeCache.get(e, () => new B2(this.indexManager.allElements(e)));
+ }
+ };
+ });
+ function RM(t) {
+ return typeof t.$comment == 'string';
+ }
+ function woe(t) {
+ return typeof t == 'object' && !!t && ('$ref' in t || '$error' in t);
+ }
+ var G2,
+ Ok = R(() => {
+ 'use strict';
+ EM();
+ Vo();
+ es();
+ Il();
+ o(RM, 'isAstNodeWithComment');
+ o(woe, 'isIntermediateReference');
+ G2 = class {
+ static {
+ o(this, 'DefaultJsonSerializer');
+ }
+ constructor(e) {
+ (this.ignoreProperties = new Set([
+ '$container',
+ '$containerProperty',
+ '$containerIndex',
+ '$document',
+ '$cstNode'
+ ])),
+ (this.langiumDocuments = e.shared.workspace.LangiumDocuments),
+ (this.astNodeLocator = e.workspace.AstNodeLocator),
+ (this.nameProvider = e.references.NameProvider),
+ (this.commentProvider = e.documentation.CommentProvider);
+ }
+ serialize(e, r = {}) {
+ let n = r?.replacer,
+ i = o((s, l) => this.replacer(s, l, r), 'defaultReplacer'),
+ a = n ? (s, l) => n(s, l, i) : i;
+ try {
+ return (this.currentDocument = Oi(e)), JSON.stringify(e, a, r?.space);
+ } finally {
+ this.currentDocument = void 0;
+ }
+ }
+ deserialize(e, r = {}) {
+ let n = JSON.parse(e);
+ return this.linkNode(n, n, r), n;
+ }
+ replacer(e, r, { refText: n, sourceText: i, textRegions: a, comments: s, uriConverter: l }) {
+ var u, h, f, d;
+ if (!this.ignoreProperties.has(e))
+ if (xa(r)) {
+ let p = r.ref,
+ m = n ? r.$refText : void 0;
+ if (p) {
+ let g = Oi(p),
+ y = '';
+ this.currentDocument &&
+ this.currentDocument !== g &&
+ (l ? (y = l(g.uri, r)) : (y = g.uri.toString()));
+ let v = this.astNodeLocator.getAstNodePath(p);
+ return { $ref: `${y}#${v}`, $refText: m };
+ } else
+ return {
+ $error:
+ (h = (u = r.error) === null || u === void 0 ? void 0 : u.message) !== null &&
+ h !== void 0
+ ? h
+ : 'Could not resolve reference',
+ $refText: m
+ };
+ } else if (Xn(r)) {
+ let p;
+ if (
+ (a &&
+ ((p = this.addAstNodeRegionWithAssignmentsTo(Object.assign({}, r))),
+ (!e || r.$document) &&
+ p?.$textRegion &&
+ (p.$textRegion.documentURI =
+ (f = this.currentDocument) === null || f === void 0
+ ? void 0
+ : f.uri.toString())),
+ i &&
+ !e &&
+ (p ?? (p = Object.assign({}, r)),
+ (p.$sourceText = (d = r.$cstNode) === null || d === void 0 ? void 0 : d.text)),
+ s)
+ ) {
+ p ?? (p = Object.assign({}, r));
+ let m = this.commentProvider.getComment(r);
+ m && (p.$comment = m.replace(/\r/g, ''));
+ }
+ return p ?? r;
+ } else return r;
+ }
+ addAstNodeRegionWithAssignmentsTo(e) {
+ let r = o(
+ (n) => ({
+ offset: n.offset,
+ end: n.end,
+ length: n.length,
+ range: n.range
+ }),
+ 'createDocumentSegment'
+ );
+ if (e.$cstNode) {
+ let n = (e.$textRegion = r(e.$cstNode)),
+ i = (n.assignments = {});
+ return (
+ Object.keys(e)
+ .filter((a) => !a.startsWith('$'))
+ .forEach((a) => {
+ let s = YR(e.$cstNode, a).map(r);
+ s.length !== 0 && (i[a] = s);
+ }),
+ e
+ );
+ }
+ }
+ linkNode(e, r, n, i, a, s) {
+ for (let [u, h] of Object.entries(e))
+ if (Array.isArray(h))
+ for (let f = 0; f < h.length; f++) {
+ let d = h[f];
+ woe(d)
+ ? (h[f] = this.reviveReference(e, u, r, d, n))
+ : Xn(d) && this.linkNode(d, r, n, e, u, f);
+ }
+ else
+ woe(h)
+ ? (e[u] = this.reviveReference(e, u, r, h, n))
+ : Xn(h) && this.linkNode(h, r, n, e, u);
+ let l = e;
+ (l.$container = i), (l.$containerProperty = a), (l.$containerIndex = s);
+ }
+ reviveReference(e, r, n, i, a) {
+ let s = i.$refText,
+ l = i.$error;
+ if (i.$ref) {
+ let u = this.getRefNode(n, i.$ref, a.uriConverter);
+ if (Xn(u)) return s || (s = this.nameProvider.getName(u)), { $refText: s ?? '', ref: u };
+ l = u;
+ }
+ if (l) {
+ let u = { $refText: s ?? '' };
+ return (
+ (u.error = {
+ container: e,
+ property: r,
+ message: l,
+ reference: u
+ }),
+ u
+ );
+ } else return;
+ }
+ getRefNode(e, r, n) {
+ try {
+ let i = r.indexOf('#');
+ if (i === 0) {
+ let u = this.astNodeLocator.getAstNode(e, r.substring(1));
+ return u || 'Could not resolve path: ' + r;
+ }
+ if (i < 0) {
+ let u = n ? n(r) : Ms.parse(r),
+ h = this.langiumDocuments.getDocument(u);
+ return h ? h.parseResult.value : 'Could not find document for URI: ' + r;
+ }
+ let a = n ? n(r.substring(0, i)) : Ms.parse(r.substring(0, i)),
+ s = this.langiumDocuments.getDocument(a);
+ if (!s) return 'Could not find document for URI: ' + r;
+ if (i === r.length - 1) return s.parseResult.value;
+ let l = this.astNodeLocator.getAstNode(s.parseResult.value, r.substring(i + 1));
+ return l || 'Could not resolve URI: ' + r;
+ } catch (i) {
+ return String(i);
+ }
+ }
+ };
+ });
+ var $2,
+ NM = R(() => {
+ 'use strict';
+ Nc();
+ $2 = class {
+ static {
+ o(this, 'DefaultServiceRegistry');
+ }
+ register(e) {
+ if (!this.singleton && !this.map) {
+ this.singleton = e;
+ return;
+ }
+ if (!this.map && ((this.map = {}), this.singleton)) {
+ for (let r of this.singleton.LanguageMetaData.fileExtensions) this.map[r] = this.singleton;
+ this.singleton = void 0;
+ }
+ for (let r of e.LanguageMetaData.fileExtensions)
+ this.map[r] !== void 0 &&
+ this.map[r] !== e &&
+ console.warn(
+ `The file extension ${r} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.`
+ ),
+ (this.map[r] = e);
+ }
+ getServices(e) {
+ if (this.singleton !== void 0) return this.singleton;
+ if (this.map === void 0)
+ throw new Error(
+ 'The service registry is empty. Use `register` to register the services of a language.'
+ );
+ let r = ss.extname(e),
+ n = this.map[r];
+ if (!n) throw new Error(`The service registry contains no services for the extension '${r}'.`);
+ return n;
+ }
+ get all() {
+ return this.singleton !== void 0
+ ? [this.singleton]
+ : this.map !== void 0
+ ? Object.values(this.map)
+ : [];
+ }
+ };
+ });
+ function Pk(t) {
+ return { code: t };
+ }
+ var Ag,
+ V2,
+ U2 = R(() => {
+ 'use strict';
+ kg();
+ qo();
+ Ds();
+ o(Pk, 'diagnosticData');
+ (function (t) {
+ t.all = ['fast', 'slow', 'built-in'];
+ })(Ag || (Ag = {}));
+ V2 = class {
+ static {
+ o(this, 'ValidationRegistry');
+ }
+ constructor(e) {
+ (this.entries = new Mc()), (this.reflection = e.shared.AstReflection);
+ }
+ register(e, r = this, n = 'fast') {
+ if (n === 'built-in')
+ throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");
+ for (let [i, a] of Object.entries(e)) {
+ let s = a;
+ if (Array.isArray(s))
+ for (let l of s) {
+ let u = {
+ check: this.wrapValidationException(l, r),
+ category: n
+ };
+ this.addEntry(i, u);
+ }
+ else if (typeof s == 'function') {
+ let l = {
+ check: this.wrapValidationException(s, r),
+ category: n
+ };
+ this.addEntry(i, l);
+ }
+ }
+ }
+ wrapValidationException(e, r) {
+ return async (n, i, a) => {
+ try {
+ await e.call(r, n, i, a);
+ } catch (s) {
+ if (of(s)) throw s;
+ console.error('An error occurred during validation:', s);
+ let l = s instanceof Error ? s.message : String(s);
+ s instanceof Error && s.stack && console.error(s.stack),
+ i('error', 'An error occurred during validation: ' + l, {
+ node: n
+ });
+ }
+ };
+ }
+ addEntry(e, r) {
+ if (e === 'AstNode') {
+ this.entries.add('AstNode', r);
+ return;
+ }
+ for (let n of this.reflection.getAllSubTypes(e)) this.entries.add(n, r);
+ }
+ getChecks(e, r) {
+ let n = Kr(this.entries.get(e)).concat(this.entries.get('AstNode'));
+ return r && (n = n.filter((i) => r.includes(i.category))), n.map((i) => i.check);
+ }
+ };
+ });
+ function Toe(t) {
+ if (t.range) return t.range;
+ let e;
+ return (
+ typeof t.property == 'string'
+ ? (e = Zv(t.node.$cstNode, t.property, t.index))
+ : typeof t.keyword == 'string' && (e = qR(t.node.$cstNode, t.keyword, t.index)),
+ e ?? (e = t.node.$cstNode),
+ e ? e.range : { start: { line: 0, character: 0 }, end: { line: 0, character: 0 } }
+ );
+ }
+ function Bk(t) {
+ switch (t) {
+ case 'error':
+ return 1;
+ case 'warning':
+ return 2;
+ case 'info':
+ return 3;
+ case 'hint':
+ return 4;
+ default:
+ throw new Error('Invalid diagnostic severity: ' + t);
+ }
+ }
+ var H2,
+ Uu,
+ MM = R(() => {
+ 'use strict';
+ Wo();
+ Il();
+ es();
+ Rl();
+ qo();
+ U2();
+ H2 = class {
+ static {
+ o(this, 'DefaultDocumentValidator');
+ }
+ constructor(e) {
+ (this.validationRegistry = e.validation.ValidationRegistry), (this.metadata = e.LanguageMetaData);
+ }
+ async validateDocument(e, r = {}, n = pr.CancellationToken.None) {
+ let i = e.parseResult,
+ a = [];
+ if (
+ (await Bi(n),
+ (!r.categories || r.categories.includes('built-in')) &&
+ (this.processLexingErrors(i, a, r),
+ (r.stopAfterLexingErrors &&
+ a.some((s) => {
+ var l;
+ return ((l = s.data) === null || l === void 0 ? void 0 : l.code) === Uu.LexingError;
+ })) ||
+ (this.processParsingErrors(i, a, r),
+ r.stopAfterParsingErrors &&
+ a.some((s) => {
+ var l;
+ return (
+ ((l = s.data) === null || l === void 0 ? void 0 : l.code) ===
+ Uu.ParsingError
+ );
+ })) ||
+ (this.processLinkingErrors(e, a, r),
+ r.stopAfterLinkingErrors &&
+ a.some((s) => {
+ var l;
+ return (
+ ((l = s.data) === null || l === void 0 ? void 0 : l.code) ===
+ Uu.LinkingError
+ );
+ }))))
+ )
+ return a;
+ try {
+ a.push(...(await this.validateAst(i.value, r, n)));
+ } catch (s) {
+ if (of(s)) throw s;
+ console.error('An error occurred during validation:', s);
+ }
+ return await Bi(n), a;
+ }
+ processLexingErrors(e, r, n) {
+ for (let i of e.lexerErrors) {
+ let a = {
+ severity: Bk('error'),
+ range: {
+ start: { line: i.line - 1, character: i.column - 1 },
+ end: { line: i.line - 1, character: i.column + i.length - 1 }
+ },
+ message: i.message,
+ data: Pk(Uu.LexingError),
+ source: this.getSource()
+ };
+ r.push(a);
+ }
+ }
+ processParsingErrors(e, r, n) {
+ for (let i of e.parserErrors) {
+ let a;
+ if (isNaN(i.token.startOffset)) {
+ if ('previousToken' in i) {
+ let s = i.previousToken;
+ if (isNaN(s.startOffset)) {
+ let l = { line: 0, character: 0 };
+ a = { start: l, end: l };
+ } else {
+ let l = { line: s.endLine - 1, character: s.endColumn };
+ a = { start: l, end: l };
+ }
+ }
+ } else a = zm(i.token);
+ if (a) {
+ let s = {
+ severity: Bk('error'),
+ range: a,
+ message: i.message,
+ data: Pk(Uu.ParsingError),
+ source: this.getSource()
+ };
+ r.push(s);
+ }
+ }
+ }
+ processLinkingErrors(e, r, n) {
+ for (let i of e.references) {
+ let a = i.error;
+ if (a) {
+ let s = {
+ node: a.container,
+ property: a.property,
+ index: a.index,
+ data: {
+ code: Uu.LinkingError,
+ containerType: a.container.$type,
+ property: a.property,
+ refText: a.reference.$refText
+ }
+ };
+ r.push(this.toDiagnostic('error', a.message, s));
+ }
+ }
+ }
+ async validateAst(e, r, n = pr.CancellationToken.None) {
+ let i = [],
+ a = o((s, l, u) => {
+ i.push(this.toDiagnostic(s, l, u));
+ }, 'acceptor');
+ return (
+ await Promise.all(
+ Yo(e).map(async (s) => {
+ await Bi(n);
+ let l = this.validationRegistry.getChecks(s.$type, r.categories);
+ for (let u of l) await u(s, a, n);
+ })
+ ),
+ i
+ );
+ }
+ toDiagnostic(e, r, n) {
+ return {
+ message: r,
+ range: Toe(n),
+ severity: Bk(e),
+ code: n.code,
+ codeDescription: n.codeDescription,
+ tags: n.tags,
+ relatedInformation: n.relatedInformation,
+ data: n.data,
+ source: this.getSource()
+ };
+ }
+ getSource() {
+ return this.metadata.languageId;
+ }
+ };
+ o(Toe, 'getDiagnosticRange');
+ o(Bk, 'toDiagnosticSeverity');
+ (function (t) {
+ (t.LexingError = 'lexing-error'),
+ (t.ParsingError = 'parsing-error'),
+ (t.LinkingError = 'linking-error');
+ })(Uu || (Uu = {}));
+ });
+ var Y2,
+ W2,
+ IM = R(() => {
+ 'use strict';
+ Wo();
+ Vo();
+ es();
+ Rl();
+ qo();
+ Nc();
+ (Y2 = class {
+ static {
+ o(this, 'DefaultAstNodeDescriptionProvider');
+ }
+ constructor(e) {
+ (this.astNodeLocator = e.workspace.AstNodeLocator), (this.nameProvider = e.references.NameProvider);
+ }
+ createDescription(e, r, n = Oi(e)) {
+ r ?? (r = this.nameProvider.getName(e));
+ let i = this.astNodeLocator.getAstNodePath(e);
+ if (!r) throw new Error(`Node at path ${i} has no name.`);
+ let a,
+ s = o(() => {
+ var l;
+ return (
+ a ??
+ (a = Xd(
+ (l = this.nameProvider.getNameNode(e)) !== null && l !== void 0 ? l : e.$cstNode
+ ))
+ );
+ }, 'nameSegmentGetter');
+ return {
+ node: e,
+ name: r,
+ get nameSegment() {
+ return s();
+ },
+ selectionSegment: Xd(e.$cstNode),
+ type: e.$type,
+ documentUri: n.uri,
+ path: i
+ };
+ }
+ }),
+ (W2 = class {
+ static {
+ o(this, 'DefaultReferenceDescriptionProvider');
+ }
+ constructor(e) {
+ this.nodeLocator = e.workspace.AstNodeLocator;
+ }
+ async createDescriptions(e, r = pr.CancellationToken.None) {
+ let n = [],
+ i = e.parseResult.value;
+ for (let a of Yo(i))
+ await Bi(r),
+ $m(a)
+ .filter((s) => !Wd(s))
+ .forEach((s) => {
+ let l = this.createDescription(s);
+ l && n.push(l);
+ });
+ return n;
+ }
+ createDescription(e) {
+ let r = e.reference.$nodeDescription,
+ n = e.reference.$refNode;
+ if (!r || !n) return;
+ let i = Oi(e.container).uri;
+ return {
+ sourceUri: i,
+ sourcePath: this.nodeLocator.getAstNodePath(e.container),
+ targetUri: r.documentUri,
+ targetPath: r.path,
+ segment: Xd(n),
+ local: ss.equals(r.documentUri, i)
+ };
+ }
+ });
+ });
+ var q2,
+ OM = R(() => {
+ 'use strict';
+ q2 = class {
+ static {
+ o(this, 'DefaultAstNodeLocator');
+ }
+ constructor() {
+ (this.segmentSeparator = '/'), (this.indexSeparator = '@');
+ }
+ getAstNodePath(e) {
+ if (e.$container) {
+ let r = this.getAstNodePath(e.$container),
+ n = this.getPathSegment(e);
+ return r + this.segmentSeparator + n;
+ }
+ return '';
+ }
+ getPathSegment({ $containerProperty: e, $containerIndex: r }) {
+ if (!e) throw new Error("Missing '$containerProperty' in AST node.");
+ return r !== void 0 ? e + this.indexSeparator + r : e;
+ }
+ getAstNode(e, r) {
+ return r.split(this.segmentSeparator).reduce((i, a) => {
+ if (!i || a.length === 0) return i;
+ let s = a.indexOf(this.indexSeparator);
+ if (s > 0) {
+ let l = a.substring(0, s),
+ u = parseInt(a.substring(s + 1)),
+ h = i[l];
+ return h?.[u];
+ }
+ return i[a];
+ }, e);
+ }
+ };
+ });
+ var X2,
+ PM = R(() => {
+ 'use strict';
+ qo();
+ X2 = class {
+ static {
+ o(this, 'DefaultConfigurationProvider');
+ }
+ constructor(e) {
+ (this._ready = new as()),
+ (this.settings = {}),
+ (this.workspaceConfig = !1),
+ (this.serviceRegistry = e.ServiceRegistry);
+ }
+ get ready() {
+ return this._ready.promise;
+ }
+ initialize(e) {
+ var r, n;
+ this.workspaceConfig =
+ (n = (r = e.capabilities.workspace) === null || r === void 0 ? void 0 : r.configuration) !==
+ null && n !== void 0
+ ? n
+ : !1;
+ }
+ async initialized(e) {
+ if (this.workspaceConfig) {
+ if (e.register) {
+ let r = this.serviceRegistry.all;
+ e.register({
+ section: r.map((n) => this.toSectionName(n.LanguageMetaData.languageId))
+ });
+ }
+ if (e.fetchConfiguration) {
+ let r = this.serviceRegistry.all.map((i) => ({
+ section: this.toSectionName(i.LanguageMetaData.languageId)
+ })),
+ n = await e.fetchConfiguration(r);
+ r.forEach((i, a) => {
+ this.updateSectionConfiguration(i.section, n[a]);
+ });
+ }
+ }
+ this._ready.resolve();
+ }
+ updateConfiguration(e) {
+ e.settings &&
+ Object.keys(e.settings).forEach((r) => {
+ this.updateSectionConfiguration(r, e.settings[r]);
+ });
+ }
+ updateSectionConfiguration(e, r) {
+ this.settings[e] = r;
+ }
+ async getConfiguration(e, r) {
+ await this.ready;
+ let n = this.toSectionName(e);
+ if (this.settings[n]) return this.settings[n][r];
+ }
+ toSectionName(e) {
+ return `${e}`;
+ }
+ };
+ });
+ var b0,
+ BM = R(() => {
+ 'use strict';
+ (function (t) {
+ function e(r) {
+ return { dispose: o(async () => await r(), 'dispose') };
+ }
+ o(e, 'create'), (t.create = e);
+ })(b0 || (b0 = {}));
+ });
+ var j2,
+ FM = R(() => {
+ 'use strict';
+ Wo();
+ BM();
+ kg();
+ qo();
+ Ds();
+ U2();
+ Tg();
+ j2 = class {
+ static {
+ o(this, 'DefaultDocumentBuilder');
+ }
+ constructor(e) {
+ (this.updateBuildOptions = {
+ validation: { categories: ['built-in', 'fast'] }
+ }),
+ (this.updateListeners = []),
+ (this.buildPhaseListeners = new Mc()),
+ (this.buildState = new Map()),
+ (this.documentBuildWaiters = new Map()),
+ (this.currentState = yn.Changed),
+ (this.langiumDocuments = e.workspace.LangiumDocuments),
+ (this.langiumDocumentFactory = e.workspace.LangiumDocumentFactory),
+ (this.indexManager = e.workspace.IndexManager),
+ (this.serviceRegistry = e.ServiceRegistry);
+ }
+ async build(e, r = {}, n = pr.CancellationToken.None) {
+ var i, a;
+ for (let s of e) {
+ let l = s.uri.toString();
+ if (s.state === yn.Validated) {
+ if (typeof r.validation == 'boolean' && r.validation)
+ (s.state = yn.IndexedReferences), (s.diagnostics = void 0), this.buildState.delete(l);
+ else if (typeof r.validation == 'object') {
+ let u = this.buildState.get(l),
+ h = (i = u?.result) === null || i === void 0 ? void 0 : i.validationChecks;
+ if (h) {
+ let d = (
+ (a = r.validation.categories) !== null && a !== void 0 ? a : Ag.all
+ ).filter((p) => !h.includes(p));
+ d.length > 0 &&
+ (this.buildState.set(l, {
+ completed: !1,
+ options: {
+ validation: Object.assign(Object.assign({}, r.validation), {
+ categories: d
+ })
+ },
+ result: u.result
+ }),
+ (s.state = yn.IndexedReferences));
+ }
+ }
+ } else this.buildState.delete(l);
+ }
+ (this.currentState = yn.Changed),
+ await this.emitUpdate(
+ e.map((s) => s.uri),
+ []
+ ),
+ await this.buildDocuments(e, r, n);
+ }
+ async update(e, r, n = pr.CancellationToken.None) {
+ this.currentState = yn.Changed;
+ for (let s of r)
+ this.langiumDocuments.deleteDocument(s),
+ this.buildState.delete(s.toString()),
+ this.indexManager.remove(s);
+ for (let s of e) {
+ if (!this.langiumDocuments.invalidateDocument(s)) {
+ let u = this.langiumDocumentFactory.fromModel({ $type: 'INVALID' }, s);
+ (u.state = yn.Changed), this.langiumDocuments.addDocument(u);
+ }
+ this.buildState.delete(s.toString());
+ }
+ let i = Kr(e)
+ .concat(r)
+ .map((s) => s.toString())
+ .toSet();
+ this.langiumDocuments.all
+ .filter((s) => !i.has(s.uri.toString()) && this.shouldRelink(s, i))
+ .forEach((s) => {
+ this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s),
+ (s.state = Math.min(s.state, yn.ComputedScopes)),
+ (s.diagnostics = void 0);
+ }),
+ await this.emitUpdate(e, r),
+ await Bi(n);
+ let a = this.langiumDocuments.all
+ .filter((s) => {
+ var l;
+ return (
+ s.state < yn.Linked ||
+ !(
+ !((l = this.buildState.get(s.uri.toString())) === null || l === void 0) &&
+ l.completed
+ )
+ );
+ })
+ .toArray();
+ await this.buildDocuments(a, this.updateBuildOptions, n);
+ }
+ async emitUpdate(e, r) {
+ await Promise.all(this.updateListeners.map((n) => n(e, r)));
+ }
+ shouldRelink(e, r) {
+ return e.references.some((n) => n.error !== void 0) ? !0 : this.indexManager.isAffected(e, r);
+ }
+ onUpdate(e) {
+ return (
+ this.updateListeners.push(e),
+ b0.create(() => {
+ let r = this.updateListeners.indexOf(e);
+ r >= 0 && this.updateListeners.splice(r, 1);
+ })
+ );
+ }
+ async buildDocuments(e, r, n) {
+ this.prepareBuild(e, r),
+ await this.runCancelable(e, yn.Parsed, n, (a) => this.langiumDocumentFactory.update(a, n)),
+ await this.runCancelable(e, yn.IndexedContent, n, (a) => this.indexManager.updateContent(a, n)),
+ await this.runCancelable(e, yn.ComputedScopes, n, async (a) => {
+ let s = this.serviceRegistry.getServices(a.uri).references.ScopeComputation;
+ a.precomputedScopes = await s.computeLocalScopes(a, n);
+ }),
+ await this.runCancelable(e, yn.Linked, n, (a) =>
+ this.serviceRegistry.getServices(a.uri).references.Linker.link(a, n)
+ ),
+ await this.runCancelable(e, yn.IndexedReferences, n, (a) =>
+ this.indexManager.updateReferences(a, n)
+ );
+ let i = e.filter((a) => this.shouldValidate(a));
+ await this.runCancelable(i, yn.Validated, n, (a) => this.validate(a, n));
+ for (let a of e) {
+ let s = this.buildState.get(a.uri.toString());
+ s && (s.completed = !0);
+ }
+ }
+ prepareBuild(e, r) {
+ for (let n of e) {
+ let i = n.uri.toString(),
+ a = this.buildState.get(i);
+ (!a || a.completed) &&
+ this.buildState.set(i, {
+ completed: !1,
+ options: r,
+ result: a?.result
+ });
+ }
+ }
+ async runCancelable(e, r, n, i) {
+ let a = e.filter((s) => s.state < r);
+ for (let s of a) await Bi(n), await i(s), (s.state = r);
+ await this.notifyBuildPhase(a, r, n), (this.currentState = r);
+ }
+ onBuildPhase(e, r) {
+ return (
+ this.buildPhaseListeners.add(e, r),
+ b0.create(() => {
+ this.buildPhaseListeners.delete(e, r);
+ })
+ );
+ }
+ waitUntil(e, r, n) {
+ let i;
+ if ((r && 'path' in r ? (i = r) : (n = r), n ?? (n = pr.CancellationToken.None), i)) {
+ let a = this.langiumDocuments.getDocument(i);
+ if (a && a.state > e) return Promise.resolve(i);
+ }
+ return this.currentState >= e
+ ? Promise.resolve(void 0)
+ : n.isCancellationRequested
+ ? Promise.reject(Rc)
+ : new Promise((a, s) => {
+ let l = this.onBuildPhase(e, () => {
+ if ((l.dispose(), u.dispose(), i)) {
+ let h = this.langiumDocuments.getDocument(i);
+ a(h?.uri);
+ } else a(void 0);
+ }),
+ u = n.onCancellationRequested(() => {
+ l.dispose(), u.dispose(), s(Rc);
+ });
+ });
+ }
+ async notifyBuildPhase(e, r, n) {
+ if (e.length === 0) return;
+ let i = this.buildPhaseListeners.get(r);
+ for (let a of i) await Bi(n), await a(e, n);
+ }
+ shouldValidate(e) {
+ return !!this.getBuildOptions(e).validation;
+ }
+ async validate(e, r) {
+ var n, i;
+ let a = this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,
+ s = this.getBuildOptions(e).validation,
+ l = typeof s == 'object' ? s : void 0,
+ u = await a.validateDocument(e, l, r);
+ e.diagnostics ? e.diagnostics.push(...u) : (e.diagnostics = u);
+ let h = this.buildState.get(e.uri.toString());
+ if (h) {
+ ((n = h.result) !== null && n !== void 0) || (h.result = {});
+ let f = (i = l?.categories) !== null && i !== void 0 ? i : Ag.all;
+ h.result.validationChecks
+ ? h.result.validationChecks.push(...f)
+ : (h.result.validationChecks = [...f]);
+ }
+ }
+ getBuildOptions(e) {
+ var r, n;
+ return (n =
+ (r = this.buildState.get(e.uri.toString())) === null || r === void 0 ? void 0 : r.options) !==
+ null && n !== void 0
+ ? n
+ : {};
+ }
+ };
+ });
+ var K2,
+ zM = R(() => {
+ 'use strict';
+ es();
+ Ik();
+ Wo();
+ Ds();
+ Nc();
+ K2 = class {
+ static {
+ o(this, 'DefaultIndexManager');
+ }
+ constructor(e) {
+ (this.symbolIndex = new Map()),
+ (this.symbolByTypeIndex = new x0()),
+ (this.referenceIndex = new Map()),
+ (this.documents = e.workspace.LangiumDocuments),
+ (this.serviceRegistry = e.ServiceRegistry),
+ (this.astReflection = e.AstReflection);
+ }
+ findAllReferences(e, r) {
+ let n = Oi(e).uri,
+ i = [];
+ return (
+ this.referenceIndex.forEach((a) => {
+ a.forEach((s) => {
+ ss.equals(s.targetUri, n) && s.targetPath === r && i.push(s);
+ });
+ }),
+ Kr(i)
+ );
+ }
+ allElements(e, r) {
+ let n = Kr(this.symbolIndex.keys());
+ return (
+ r && (n = n.filter((i) => !r || r.has(i))), n.map((i) => this.getFileDescriptions(i, e)).flat()
+ );
+ }
+ getFileDescriptions(e, r) {
+ var n;
+ return r
+ ? this.symbolByTypeIndex.get(e, r, () => {
+ var a;
+ return ((a = this.symbolIndex.get(e)) !== null && a !== void 0 ? a : []).filter((l) =>
+ this.astReflection.isSubtype(l.type, r)
+ );
+ })
+ : (n = this.symbolIndex.get(e)) !== null && n !== void 0
+ ? n
+ : [];
+ }
+ remove(e) {
+ let r = e.toString();
+ this.symbolIndex.delete(r), this.symbolByTypeIndex.clear(r), this.referenceIndex.delete(r);
+ }
+ async updateContent(e, r = pr.CancellationToken.None) {
+ let i = await this.serviceRegistry
+ .getServices(e.uri)
+ .references.ScopeComputation.computeExports(e, r),
+ a = e.uri.toString();
+ this.symbolIndex.set(a, i), this.symbolByTypeIndex.clear(a);
+ }
+ async updateReferences(e, r = pr.CancellationToken.None) {
+ let i = await this.serviceRegistry
+ .getServices(e.uri)
+ .workspace.ReferenceDescriptionProvider.createDescriptions(e, r);
+ this.referenceIndex.set(e.uri.toString(), i);
+ }
+ isAffected(e, r) {
+ let n = this.referenceIndex.get(e.uri.toString());
+ return n ? n.some((i) => !i.local && r.has(i.targetUri.toString())) : !1;
+ }
+ };
+ });
+ var Q2,
+ GM = R(() => {
+ 'use strict';
+ Wo();
+ qo();
+ Nc();
+ Q2 = class {
+ static {
+ o(this, 'DefaultWorkspaceManager');
+ }
+ constructor(e) {
+ (this.initialBuildOptions = {}),
+ (this._ready = new as()),
+ (this.serviceRegistry = e.ServiceRegistry),
+ (this.langiumDocuments = e.workspace.LangiumDocuments),
+ (this.documentBuilder = e.workspace.DocumentBuilder),
+ (this.fileSystemProvider = e.workspace.FileSystemProvider),
+ (this.mutex = e.workspace.WorkspaceLock);
+ }
+ get ready() {
+ return this._ready.promise;
+ }
+ initialize(e) {
+ var r;
+ this.folders = (r = e.workspaceFolders) !== null && r !== void 0 ? r : void 0;
+ }
+ initialized(e) {
+ return this.mutex.write((r) => {
+ var n;
+ return this.initializeWorkspace((n = this.folders) !== null && n !== void 0 ? n : [], r);
+ });
+ }
+ async initializeWorkspace(e, r = pr.CancellationToken.None) {
+ let n = await this.performStartup(e);
+ await Bi(r), await this.documentBuilder.build(n, this.initialBuildOptions, r);
+ }
+ async performStartup(e) {
+ let r = this.serviceRegistry.all.flatMap((a) => a.LanguageMetaData.fileExtensions),
+ n = [],
+ i = o((a) => {
+ n.push(a), this.langiumDocuments.hasDocument(a.uri) || this.langiumDocuments.addDocument(a);
+ }, 'collector');
+ return (
+ await this.loadAdditionalDocuments(e, i),
+ await Promise.all(
+ e.map((a) => [a, this.getRootFolder(a)]).map(async (a) => this.traverseFolder(...a, r, i))
+ ),
+ this._ready.resolve(),
+ n
+ );
+ }
+ loadAdditionalDocuments(e, r) {
+ return Promise.resolve();
+ }
+ getRootFolder(e) {
+ return Ms.parse(e.uri);
+ }
+ async traverseFolder(e, r, n, i) {
+ let a = await this.fileSystemProvider.readDirectory(r);
+ await Promise.all(
+ a.map(async (s) => {
+ if (this.includeEntry(e, s, n)) {
+ if (s.isDirectory) await this.traverseFolder(e, s.uri, n, i);
+ else if (s.isFile) {
+ let l = await this.langiumDocuments.getOrCreateDocument(s.uri);
+ i(l);
+ }
+ }
+ })
+ );
+ }
+ includeEntry(e, r, n) {
+ let i = ss.basename(r.uri);
+ if (i.startsWith('.')) return !1;
+ if (r.isDirectory) return i !== 'node_modules' && i !== 'out';
+ if (r.isFile) {
+ let a = ss.extname(r.uri);
+ return n.includes(a);
+ }
+ return !1;
+ }
+ };
+ });
+ function koe(t) {
+ return Array.isArray(t) && (t.length === 0 || 'name' in t[0]);
+ }
+ function VM(t) {
+ return t && 'modes' in t && 'defaultMode' in t;
+ }
+ function $M(t) {
+ return !koe(t) && !VM(t);
+ }
+ var Z2,
+ UM = R(() => {
+ 'use strict';
+ u0();
+ Z2 = class {
+ static {
+ o(this, 'DefaultLexer');
+ }
+ constructor(e) {
+ let r = e.parser.TokenBuilder.buildTokens(e.Grammar, {
+ caseInsensitive: e.LanguageMetaData.caseInsensitive
+ });
+ this.tokenTypes = this.toTokenTypeDictionary(r);
+ let n = $M(r) ? Object.values(r) : r;
+ this.chevrotainLexer = new ni(n, { positionTracking: 'full' });
+ }
+ get definition() {
+ return this.tokenTypes;
+ }
+ tokenize(e) {
+ var r;
+ let n = this.chevrotainLexer.tokenize(e);
+ return {
+ tokens: n.tokens,
+ errors: n.errors,
+ hidden: (r = n.groups.hidden) !== null && r !== void 0 ? r : []
+ };
+ }
+ toTokenTypeDictionary(e) {
+ if ($M(e)) return e;
+ let r = VM(e) ? Object.values(e.modes).flat() : e,
+ n = {};
+ return r.forEach((i) => (n[i.name] = i)), n;
+ }
+ };
+ o(koe, 'isTokenTypeArray');
+ o(VM, 'isIMultiModeLexerDefinition');
+ o($M, 'isTokenTypeDictionary');
+ });
+ function WM(t, e, r) {
+ let n, i;
+ typeof t == 'string' ? ((i = e), (n = r)) : ((i = t.range.start), (n = e)), i || (i = Ur.create(0, 0));
+ let a = Soe(t),
+ s = XM(n),
+ l = QOe({ lines: a, position: i, options: s });
+ return rPe({ index: 0, tokens: l, position: i });
+ }
+ function qM(t, e) {
+ let r = XM(e),
+ n = Soe(t);
+ if (n.length === 0) return !1;
+ let i = n[0],
+ a = n[n.length - 1],
+ s = r.start,
+ l = r.end;
+ return !!s?.exec(i) && !!l?.exec(a);
+ }
+ function Soe(t) {
+ let e = '';
+ return typeof t == 'string' ? (e = t) : (e = t.text), e.split(BR);
+ }
+ function QOe(t) {
+ var e, r, n;
+ let i = [],
+ a = t.position.line,
+ s = t.position.character;
+ for (let l = 0; l < t.lines.length; l++) {
+ let u = l === 0,
+ h = l === t.lines.length - 1,
+ f = t.lines[l],
+ d = 0;
+ if (u && t.options.start) {
+ let m = (e = t.options.start) === null || e === void 0 ? void 0 : e.exec(f);
+ m && (d = m.index + m[0].length);
+ } else {
+ let m = (r = t.options.line) === null || r === void 0 ? void 0 : r.exec(f);
+ m && (d = m.index + m[0].length);
+ }
+ if (h) {
+ let m = (n = t.options.end) === null || n === void 0 ? void 0 : n.exec(f);
+ m && (f = f.substring(0, m.index));
+ }
+ if (((f = f.substring(0, tPe(f))), YM(f, d) >= f.length)) {
+ if (i.length > 0) {
+ let m = Ur.create(a, s);
+ i.push({ type: 'break', content: '', range: wr.create(m, m) });
+ }
+ } else {
+ Eoe.lastIndex = d;
+ let m = Eoe.exec(f);
+ if (m) {
+ let g = m[0],
+ y = m[1],
+ v = Ur.create(a, s + d),
+ x = Ur.create(a, s + d + g.length);
+ i.push({ type: 'tag', content: y, range: wr.create(v, x) }), (d += g.length), (d = YM(f, d));
+ }
+ if (d < f.length) {
+ let g = f.substring(d),
+ y = Array.from(g.matchAll(KOe));
+ i.push(...ZOe(y, g, a, s + d));
+ }
+ }
+ a++, (s = 0);
+ }
+ return i.length > 0 && i[i.length - 1].type === 'break' ? i.slice(0, -1) : i;
+ }
+ function ZOe(t, e, r, n) {
+ let i = [];
+ if (t.length === 0) {
+ let a = Ur.create(r, n),
+ s = Ur.create(r, n + e.length);
+ i.push({ type: 'text', content: e, range: wr.create(a, s) });
+ } else {
+ let a = 0;
+ for (let l of t) {
+ let u = l.index,
+ h = e.substring(a, u);
+ h.length > 0 &&
+ i.push({
+ type: 'text',
+ content: e.substring(a, u),
+ range: wr.create(Ur.create(r, a + n), Ur.create(r, u + n))
+ });
+ let f = h.length + 1,
+ d = l[1];
+ if (
+ (i.push({
+ type: 'inline-tag',
+ content: d,
+ range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + d.length + n))
+ }),
+ (f += d.length),
+ l.length === 4)
+ ) {
+ f += l[2].length;
+ let p = l[3];
+ i.push({
+ type: 'text',
+ content: p,
+ range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + p.length + n))
+ });
+ } else
+ i.push({
+ type: 'text',
+ content: '',
+ range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + n))
+ });
+ a = u + l[0].length;
+ }
+ let s = e.substring(a);
+ s.length > 0 &&
+ i.push({
+ type: 'text',
+ content: s,
+ range: wr.create(Ur.create(r, a + n), Ur.create(r, a + n + s.length))
+ });
+ }
+ return i;
+ }
+ function YM(t, e) {
+ let r = t.substring(e).match(JOe);
+ return r ? e + r.index : t.length;
+ }
+ function tPe(t) {
+ let e = t.match(ePe);
+ if (e && typeof e.index == 'number') return e.index;
+ }
+ function rPe(t) {
+ var e, r, n, i;
+ let a = Ur.create(t.position.line, t.position.character);
+ if (t.tokens.length === 0) return new Fk([], wr.create(a, a));
+ let s = [];
+ for (; t.index < t.tokens.length; ) {
+ let h = nPe(t, s[s.length - 1]);
+ h && s.push(h);
+ }
+ let l = (r = (e = s[0]) === null || e === void 0 ? void 0 : e.range.start) !== null && r !== void 0 ? r : a,
+ u =
+ (i = (n = s[s.length - 1]) === null || n === void 0 ? void 0 : n.range.end) !== null && i !== void 0
+ ? i
+ : a;
+ return new Fk(s, wr.create(l, u));
+ }
+ function nPe(t, e) {
+ let r = t.tokens[t.index];
+ if (r.type === 'tag') return _oe(t, !1);
+ if (r.type === 'text' || r.type === 'inline-tag') return Aoe(t);
+ iPe(r, e), t.index++;
+ }
+ function iPe(t, e) {
+ if (e) {
+ let r = new zk('', t.range);
+ 'inlines' in e ? e.inlines.push(r) : e.content.inlines.push(r);
+ }
+ }
+ function Aoe(t) {
+ let e = t.tokens[t.index],
+ r = e,
+ n = e,
+ i = [];
+ for (; e && e.type !== 'break' && e.type !== 'tag'; ) i.push(aPe(t)), (n = e), (e = t.tokens[t.index]);
+ return new ex(i, wr.create(r.range.start, n.range.end));
+ }
+ function aPe(t) {
+ return t.tokens[t.index].type === 'inline-tag' ? _oe(t, !0) : Loe(t);
+ }
+ function _oe(t, e) {
+ let r = t.tokens[t.index++],
+ n = r.content.substring(1),
+ i = t.tokens[t.index];
+ if (i?.type === 'text')
+ if (e) {
+ let a = Loe(t);
+ return new J2(n, new ex([a], a.range), e, wr.create(r.range.start, a.range.end));
+ } else {
+ let a = Aoe(t);
+ return new J2(n, a, e, wr.create(r.range.start, a.range.end));
+ }
+ else {
+ let a = r.range;
+ return new J2(n, new ex([], a), e, a);
+ }
+ }
+ function Loe(t) {
+ let e = t.tokens[t.index++];
+ return new zk(e.content, e.range);
+ }
+ function XM(t) {
+ if (!t) return XM({ start: '/**', end: '*/', line: '*' });
+ let { start: e, end: r, line: n } = t;
+ return { start: HM(e, !0), end: HM(r, !1), line: HM(n, !0) };
+ }
+ function HM(t, e) {
+ if (typeof t == 'string' || typeof t == 'object') {
+ let r = typeof t == 'string' ? t0(t) : t.source;
+ return e ? new RegExp(`^\\s*${r}`) : new RegExp(`\\s*${r}\\s*$`);
+ } else return t;
+ }
+ function sPe(t, e, r) {
+ var n, i;
+ if (t === 'linkplain' || t === 'linkcode' || t === 'link') {
+ let a = e.indexOf(' '),
+ s = e;
+ if (a > 0) {
+ let u = YM(e, a);
+ (s = e.substring(u)), (e = e.substring(0, a));
+ }
+ return (
+ (t === 'linkcode' || (t === 'link' && r.link === 'code')) && (s = `\`${s}\``),
+ (i = (n = r.renderLink) === null || n === void 0 ? void 0 : n.call(r, e, s)) !== null && i !== void 0
+ ? i
+ : oPe(e, s)
+ );
+ }
+ }
+ function oPe(t, e) {
+ try {
+ return Ms.parse(t, !0), `[${e}](${t})`;
+ } catch {
+ return t;
+ }
+ }
+ function Coe(t) {
+ return t.endsWith(`
+`)
+ ? `
+`
+ : `
+
+`;
+ }
+ var Eoe,
+ KOe,
+ JOe,
+ ePe,
+ Fk,
+ J2,
+ ex,
+ zk,
+ jM = R(() => {
+ 'use strict';
+ tM();
+ Um();
+ Nc();
+ o(WM, 'parseJSDoc');
+ o(qM, 'isJSDoc');
+ o(Soe, 'getLines');
+ (Eoe = /\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy), (KOe = /\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu);
+ o(QOe, 'tokenize');
+ o(ZOe, 'buildInlineTokens');
+ (JOe = /\S/), (ePe = /\s*$/);
+ o(YM, 'skipWhitespace');
+ o(tPe, 'lastCharacter');
+ o(rPe, 'parseJSDocComment');
+ o(nPe, 'parseJSDocElement');
+ o(iPe, 'appendEmptyLine');
+ o(Aoe, 'parseJSDocText');
+ o(aPe, 'parseJSDocInline');
+ o(_oe, 'parseJSDocTag');
+ o(Loe, 'parseJSDocLine');
+ o(XM, 'normalizeOptions');
+ o(HM, 'normalizeOption');
+ (Fk = class {
+ static {
+ o(this, 'JSDocCommentImpl');
+ }
+ constructor(e, r) {
+ (this.elements = e), (this.range = r);
+ }
+ getTag(e) {
+ return this.getAllTags().find((r) => r.name === e);
+ }
+ getTags(e) {
+ return this.getAllTags().filter((r) => r.name === e);
+ }
+ getAllTags() {
+ return this.elements.filter((e) => 'name' in e);
+ }
+ toString() {
+ let e = '';
+ for (let r of this.elements)
+ if (e.length === 0) e = r.toString();
+ else {
+ let n = r.toString();
+ e += Coe(e) + n;
+ }
+ return e.trim();
+ }
+ toMarkdown(e) {
+ let r = '';
+ for (let n of this.elements)
+ if (r.length === 0) r = n.toMarkdown(e);
+ else {
+ let i = n.toMarkdown(e);
+ r += Coe(r) + i;
+ }
+ return r.trim();
+ }
+ }),
+ (J2 = class {
+ static {
+ o(this, 'JSDocTagImpl');
+ }
+ constructor(e, r, n, i) {
+ (this.name = e), (this.content = r), (this.inline = n), (this.range = i);
+ }
+ toString() {
+ let e = `@${this.name}`,
+ r = this.content.toString();
+ return (
+ this.content.inlines.length === 1
+ ? (e = `${e} ${r}`)
+ : this.content.inlines.length > 1 &&
+ (e = `${e}
+${r}`),
+ this.inline ? `{${e}}` : e
+ );
+ }
+ toMarkdown(e) {
+ var r, n;
+ return (n = (r = e?.renderTag) === null || r === void 0 ? void 0 : r.call(e, this)) !== null &&
+ n !== void 0
+ ? n
+ : this.toMarkdownDefault(e);
+ }
+ toMarkdownDefault(e) {
+ let r = this.content.toMarkdown(e);
+ if (this.inline) {
+ let a = sPe(this.name, r, e ?? {});
+ if (typeof a == 'string') return a;
+ }
+ let n = '';
+ e?.tag === 'italic' || e?.tag === void 0
+ ? (n = '*')
+ : e?.tag === 'bold'
+ ? (n = '**')
+ : e?.tag === 'bold-italic' && (n = '***');
+ let i = `${n}@${this.name}${n}`;
+ return (
+ this.content.inlines.length === 1
+ ? (i = `${i} \u2014 ${r}`)
+ : this.content.inlines.length > 1 &&
+ (i = `${i}
+${r}`),
+ this.inline ? `{${i}}` : i
+ );
+ }
+ });
+ o(sPe, 'renderInlineTag');
+ o(oPe, 'renderLinkDefault');
+ (ex = class {
+ static {
+ o(this, 'JSDocTextImpl');
+ }
+ constructor(e, r) {
+ (this.inlines = e), (this.range = r);
+ }
+ toString() {
+ let e = '';
+ for (let r = 0; r < this.inlines.length; r++) {
+ let n = this.inlines[r],
+ i = this.inlines[r + 1];
+ (e += n.toString()),
+ i &&
+ i.range.start.line > n.range.start.line &&
+ (e += `
+`);
+ }
+ return e;
+ }
+ toMarkdown(e) {
+ let r = '';
+ for (let n = 0; n < this.inlines.length; n++) {
+ let i = this.inlines[n],
+ a = this.inlines[n + 1];
+ (r += i.toMarkdown(e)),
+ a &&
+ a.range.start.line > i.range.start.line &&
+ (r += `
+`);
+ }
+ return r;
+ }
+ }),
+ (zk = class {
+ static {
+ o(this, 'JSDocLineImpl');
+ }
+ constructor(e, r) {
+ (this.text = e), (this.range = r);
+ }
+ toString() {
+ return this.text;
+ }
+ toMarkdown() {
+ return this.text;
+ }
+ });
+ o(Coe, 'fillNewlines');
+ });
+ var tx,
+ KM = R(() => {
+ 'use strict';
+ es();
+ jM();
+ tx = class {
+ static {
+ o(this, 'JSDocDocumentationProvider');
+ }
+ constructor(e) {
+ (this.indexManager = e.shared.workspace.IndexManager),
+ (this.commentProvider = e.documentation.CommentProvider);
+ }
+ getDocumentation(e) {
+ let r = this.commentProvider.getComment(e);
+ if (r && qM(r))
+ return WM(r).toMarkdown({
+ renderLink: o((i, a) => this.documentationLinkRenderer(e, i, a), 'renderLink'),
+ renderTag: o((i) => this.documentationTagRenderer(e, i), 'renderTag')
+ });
+ }
+ documentationLinkRenderer(e, r, n) {
+ var i;
+ let a =
+ (i = this.findNameInPrecomputedScopes(e, r)) !== null && i !== void 0
+ ? i
+ : this.findNameInGlobalScope(e, r);
+ if (a && a.nameSegment) {
+ let s = a.nameSegment.range.start.line + 1,
+ l = a.nameSegment.range.start.character + 1,
+ u = a.documentUri.with({ fragment: `L${s},${l}` });
+ return `[${n}](${u.toString()})`;
+ } else return;
+ }
+ documentationTagRenderer(e, r) {}
+ findNameInPrecomputedScopes(e, r) {
+ let i = Oi(e).precomputedScopes;
+ if (!i) return;
+ let a = e;
+ do {
+ let l = i.get(a).find((u) => u.name === r);
+ if (l) return l;
+ a = a.$container;
+ } while (a);
+ }
+ findNameInGlobalScope(e, r) {
+ return this.indexManager.allElements().find((i) => i.name === r);
+ }
+ };
+ });
+ var rx,
+ QM = R(() => {
+ 'use strict';
+ Ok();
+ Rl();
+ rx = class {
+ static {
+ o(this, 'DefaultCommentProvider');
+ }
+ constructor(e) {
+ this.grammarConfig = () => e.parser.GrammarConfig;
+ }
+ getComment(e) {
+ var r;
+ return RM(e)
+ ? e.$comment
+ : (r = _D(e.$cstNode, this.grammarConfig().multilineCommentRules)) === null || r === void 0
+ ? void 0
+ : r.text;
+ }
+ };
+ });
+ var ii = {};
+ var ZM = R(() => {
+ 'use strict';
+ dr(ii, Xi(vM(), 1));
+ });
+ var nx,
+ JM,
+ eI,
+ tI = R(() => {
+ 'use strict';
+ qo();
+ ZM();
+ (nx = class {
+ static {
+ o(this, 'DefaultAsyncParser');
+ }
+ constructor(e) {
+ this.syncParser = e.parser.LangiumParser;
+ }
+ parse(e) {
+ return Promise.resolve(this.syncParser.parse(e));
+ }
+ }),
+ (JM = class {
+ static {
+ o(this, 'AbstractThreadedAsyncParser');
+ }
+ constructor(e) {
+ (this.threadCount = 8),
+ (this.terminationDelay = 200),
+ (this.workerPool = []),
+ (this.queue = []),
+ (this.hydrator = e.serializer.Hydrator);
+ }
+ initializeWorkers() {
+ for (; this.workerPool.length < this.threadCount; ) {
+ let e = this.createWorker();
+ e.onReady(() => {
+ if (this.queue.length > 0) {
+ let r = this.queue.shift();
+ r && (e.lock(), r.resolve(e));
+ }
+ }),
+ this.workerPool.push(e);
+ }
+ }
+ async parse(e, r) {
+ let n = await this.acquireParserWorker(r),
+ i = new as(),
+ a,
+ s = r.onCancellationRequested(() => {
+ a = setTimeout(() => {
+ this.terminateWorker(n);
+ }, this.terminationDelay);
+ });
+ return (
+ n
+ .parse(e)
+ .then((l) => {
+ let u = this.hydrator.hydrate(l);
+ i.resolve(u);
+ })
+ .catch((l) => {
+ i.reject(l);
+ })
+ .finally(() => {
+ s.dispose(), clearTimeout(a);
+ }),
+ i.promise
+ );
+ }
+ terminateWorker(e) {
+ e.terminate();
+ let r = this.workerPool.indexOf(e);
+ r >= 0 && this.workerPool.splice(r, 1);
+ }
+ async acquireParserWorker(e) {
+ this.initializeWorkers();
+ for (let n of this.workerPool) if (n.ready) return n.lock(), n;
+ let r = new as();
+ return (
+ e.onCancellationRequested(() => {
+ let n = this.queue.indexOf(r);
+ n >= 0 && this.queue.splice(n, 1), r.reject(Rc);
+ }),
+ this.queue.push(r),
+ r.promise
+ );
+ }
+ }),
+ (eI = class {
+ static {
+ o(this, 'ParserWorker');
+ }
+ get ready() {
+ return this._ready;
+ }
+ get onReady() {
+ return this.onReadyEmitter.event;
+ }
+ constructor(e, r, n, i) {
+ (this.onReadyEmitter = new ii.Emitter()),
+ (this.deferred = new as()),
+ (this._ready = !0),
+ (this._parsing = !1),
+ (this.sendMessage = e),
+ (this._terminate = i),
+ r((a) => {
+ let s = a;
+ this.deferred.resolve(s), this.unlock();
+ }),
+ n((a) => {
+ this.deferred.reject(a), this.unlock();
+ });
+ }
+ terminate() {
+ this.deferred.reject(Rc), this._terminate();
+ }
+ lock() {
+ this._ready = !1;
+ }
+ unlock() {
+ (this._parsing = !1), (this._ready = !0), this.onReadyEmitter.fire();
+ }
+ parse(e) {
+ if (this._parsing) throw new Error('Parser worker is busy');
+ return (
+ (this._parsing = !0), (this.deferred = new as()), this.sendMessage(e), this.deferred.promise
+ );
+ }
+ });
+ });
+ var ix,
+ rI = R(() => {
+ 'use strict';
+ Wo();
+ qo();
+ ix = class {
+ static {
+ o(this, 'DefaultWorkspaceLock');
+ }
+ constructor() {
+ (this.previousTokenSource = new pr.CancellationTokenSource()),
+ (this.writeQueue = []),
+ (this.readQueue = []),
+ (this.done = !0);
+ }
+ write(e) {
+ this.cancelWrite();
+ let r = new pr.CancellationTokenSource();
+ return (this.previousTokenSource = r), this.enqueue(this.writeQueue, e, r.token);
+ }
+ read(e) {
+ return this.enqueue(this.readQueue, e);
+ }
+ enqueue(e, r, n) {
+ let i = new as(),
+ a = {
+ action: r,
+ deferred: i,
+ cancellationToken: n ?? pr.CancellationToken.None
+ };
+ return e.push(a), this.performNextOperation(), i.promise;
+ }
+ async performNextOperation() {
+ if (!this.done) return;
+ let e = [];
+ if (this.writeQueue.length > 0) e.push(this.writeQueue.shift());
+ else if (this.readQueue.length > 0) e.push(...this.readQueue.splice(0, this.readQueue.length));
+ else return;
+ (this.done = !1),
+ await Promise.all(
+ e.map(async ({ action: r, deferred: n, cancellationToken: i }) => {
+ try {
+ let a = await Promise.resolve().then(() => r(i));
+ n.resolve(a);
+ } catch (a) {
+ of(a) ? n.resolve(void 0) : n.reject(a);
+ }
+ })
+ ),
+ (this.done = !0),
+ this.performNextOperation();
+ }
+ cancelWrite() {
+ this.previousTokenSource.cancel();
+ }
+ };
+ });
+ var ax,
+ nI = R(() => {
+ 'use strict';
+ Ek();
+ Sc();
+ Vo();
+ es();
+ kg();
+ Rl();
+ ax = class {
+ static {
+ o(this, 'DefaultHydrator');
+ }
+ constructor(e) {
+ (this.grammarElementIdMap = new v0()),
+ (this.tokenTypeIdMap = new v0()),
+ (this.grammar = e.Grammar),
+ (this.lexer = e.parser.Lexer),
+ (this.linker = e.references.Linker);
+ }
+ dehydrate(e) {
+ return {
+ lexerErrors: e.lexerErrors.map((r) => Object.assign({}, r)),
+ parserErrors: e.parserErrors.map((r) => Object.assign({}, r)),
+ value: this.dehydrateAstNode(e.value, this.createDehyrationContext(e.value))
+ };
+ }
+ createDehyrationContext(e) {
+ let r = new Map(),
+ n = new Map();
+ for (let i of Yo(e)) r.set(i, {});
+ if (e.$cstNode) for (let i of qd(e.$cstNode)) n.set(i, {});
+ return { astNodes: r, cstNodes: n };
+ }
+ dehydrateAstNode(e, r) {
+ let n = r.astNodes.get(e);
+ (n.$type = e.$type),
+ (n.$containerIndex = e.$containerIndex),
+ (n.$containerProperty = e.$containerProperty),
+ e.$cstNode !== void 0 && (n.$cstNode = this.dehydrateCstNode(e.$cstNode, r));
+ for (let [i, a] of Object.entries(e))
+ if (!i.startsWith('$'))
+ if (Array.isArray(a)) {
+ let s = [];
+ n[i] = s;
+ for (let l of a)
+ Xn(l)
+ ? s.push(this.dehydrateAstNode(l, r))
+ : xa(l)
+ ? s.push(this.dehydrateReference(l, r))
+ : s.push(l);
+ } else
+ Xn(a)
+ ? (n[i] = this.dehydrateAstNode(a, r))
+ : xa(a)
+ ? (n[i] = this.dehydrateReference(a, r))
+ : a !== void 0 && (n[i] = a);
+ return n;
+ }
+ dehydrateReference(e, r) {
+ let n = {};
+ return (n.$refText = e.$refText), e.$refNode && (n.$refNode = r.cstNodes.get(e.$refNode)), n;
+ }
+ dehydrateCstNode(e, r) {
+ let n = r.cstNodes.get(e);
+ return (
+ zv(e)
+ ? (n.fullText = e.fullText)
+ : (n.grammarSource = this.getGrammarElementId(e.grammarSource)),
+ (n.hidden = e.hidden),
+ (n.astNode = r.astNodes.get(e.astNode)),
+ co(e)
+ ? (n.content = e.content.map((i) => this.dehydrateCstNode(i, r)))
+ : ef(e) &&
+ ((n.tokenType = e.tokenType.name),
+ (n.offset = e.offset),
+ (n.length = e.length),
+ (n.startLine = e.range.start.line),
+ (n.startColumn = e.range.start.character),
+ (n.endLine = e.range.end.line),
+ (n.endColumn = e.range.end.character)),
+ n
+ );
+ }
+ hydrate(e) {
+ let r = e.value,
+ n = this.createHydrationContext(r);
+ return (
+ '$cstNode' in r && this.hydrateCstNode(r.$cstNode, n),
+ {
+ lexerErrors: e.lexerErrors,
+ parserErrors: e.parserErrors,
+ value: this.hydrateAstNode(r, n)
+ }
+ );
+ }
+ createHydrationContext(e) {
+ let r = new Map(),
+ n = new Map();
+ for (let a of Yo(e)) r.set(a, {});
+ let i;
+ if (e.$cstNode)
+ for (let a of qd(e.$cstNode)) {
+ let s;
+ 'fullText' in a
+ ? ((s = new gg(a.fullText)), (i = s))
+ : 'content' in a
+ ? (s = new p0())
+ : 'tokenType' in a && (s = this.hydrateCstLeafNode(a)),
+ s && (n.set(a, s), (s.root = i));
+ }
+ return { astNodes: r, cstNodes: n };
+ }
+ hydrateAstNode(e, r) {
+ let n = r.astNodes.get(e);
+ (n.$type = e.$type),
+ (n.$containerIndex = e.$containerIndex),
+ (n.$containerProperty = e.$containerProperty),
+ e.$cstNode && (n.$cstNode = r.cstNodes.get(e.$cstNode));
+ for (let [i, a] of Object.entries(e))
+ if (!i.startsWith('$'))
+ if (Array.isArray(a)) {
+ let s = [];
+ n[i] = s;
+ for (let l of a)
+ Xn(l)
+ ? s.push(this.setParent(this.hydrateAstNode(l, r), n))
+ : xa(l)
+ ? s.push(this.hydrateReference(l, n, i, r))
+ : s.push(l);
+ } else
+ Xn(a)
+ ? (n[i] = this.setParent(this.hydrateAstNode(a, r), n))
+ : xa(a)
+ ? (n[i] = this.hydrateReference(a, n, i, r))
+ : a !== void 0 && (n[i] = a);
+ return n;
+ }
+ setParent(e, r) {
+ return (e.$container = r), e;
+ }
+ hydrateReference(e, r, n, i) {
+ return this.linker.buildReference(r, n, i.cstNodes.get(e.$refNode), e.$refText);
+ }
+ hydrateCstNode(e, r, n = 0) {
+ let i = r.cstNodes.get(e);
+ if (
+ (typeof e.grammarSource == 'number' &&
+ (i.grammarSource = this.getGrammarElement(e.grammarSource)),
+ (i.astNode = r.astNodes.get(e.astNode)),
+ co(i))
+ )
+ for (let a of e.content) {
+ let s = this.hydrateCstNode(a, r, n++);
+ i.content.push(s);
+ }
+ return i;
+ }
+ hydrateCstLeafNode(e) {
+ let r = this.getTokenType(e.tokenType),
+ n = e.offset,
+ i = e.length,
+ a = e.startLine,
+ s = e.startColumn,
+ l = e.endLine,
+ u = e.endColumn,
+ h = e.hidden;
+ return new d0(
+ n,
+ i,
+ {
+ start: { line: a, character: s },
+ end: { line: l, character: u }
+ },
+ r,
+ h
+ );
+ }
+ getTokenType(e) {
+ return this.lexer.definition[e];
+ }
+ getGrammarElementId(e) {
+ return (
+ this.grammarElementIdMap.size === 0 && this.createGrammarElementIdMap(),
+ this.grammarElementIdMap.get(e)
+ );
+ }
+ getGrammarElement(e) {
+ this.grammarElementIdMap.size === 0 && this.createGrammarElementIdMap();
+ let r = this.grammarElementIdMap.getKey(e);
+ if (r) return r;
+ throw new Error('Invalid grammar element id: ' + e);
+ }
+ createGrammarElementIdMap() {
+ let e = 0;
+ for (let r of Yo(this.grammar)) Uv(r) && this.grammarElementIdMap.set(r, e++);
+ }
+ };
+ });
+ function po(t) {
+ return {
+ documentation: {
+ CommentProvider: o((e) => new rx(e), 'CommentProvider'),
+ DocumentationProvider: o((e) => new tx(e), 'DocumentationProvider')
+ },
+ parser: {
+ AsyncParser: o((e) => new nx(e), 'AsyncParser'),
+ GrammarConfig: o((e) => JR(e), 'GrammarConfig'),
+ LangiumParser: o((e) => cM(e), 'LangiumParser'),
+ CompletionParser: o((e) => oM(e), 'CompletionParser'),
+ ValueConverter: o(() => new y0(), 'ValueConverter'),
+ TokenBuilder: o(() => new g0(), 'TokenBuilder'),
+ Lexer: o((e) => new Z2(e), 'Lexer'),
+ ParserErrorMessageProvider: o(() => new yg(), 'ParserErrorMessageProvider')
+ },
+ workspace: {
+ AstNodeLocator: o(() => new q2(), 'AstNodeLocator'),
+ AstNodeDescriptionProvider: o((e) => new Y2(e), 'AstNodeDescriptionProvider'),
+ ReferenceDescriptionProvider: o((e) => new W2(e), 'ReferenceDescriptionProvider')
+ },
+ references: {
+ Linker: o((e) => new M2(e), 'Linker'),
+ NameProvider: o(() => new I2(), 'NameProvider'),
+ ScopeProvider: o((e) => new z2(e), 'ScopeProvider'),
+ ScopeComputation: o((e) => new P2(e), 'ScopeComputation'),
+ References: o((e) => new O2(e), 'References')
+ },
+ serializer: {
+ Hydrator: o((e) => new ax(e), 'Hydrator'),
+ JsonSerializer: o((e) => new G2(e), 'JsonSerializer')
+ },
+ validation: {
+ DocumentValidator: o((e) => new H2(e), 'DocumentValidator'),
+ ValidationRegistry: o((e) => new V2(e), 'ValidationRegistry')
+ },
+ shared: o(() => t.shared, 'shared')
+ };
+ }
+ function mo(t) {
+ return {
+ ServiceRegistry: o(() => new $2(), 'ServiceRegistry'),
+ workspace: {
+ LangiumDocuments: o((e) => new N2(e), 'LangiumDocuments'),
+ LangiumDocumentFactory: o((e) => new R2(e), 'LangiumDocumentFactory'),
+ DocumentBuilder: o((e) => new j2(e), 'DocumentBuilder'),
+ IndexManager: o((e) => new K2(e), 'IndexManager'),
+ WorkspaceManager: o((e) => new Q2(e), 'WorkspaceManager'),
+ FileSystemProvider: o((e) => t.fileSystemProvider(e), 'FileSystemProvider'),
+ WorkspaceLock: o(() => new ix(), 'WorkspaceLock'),
+ ConfigurationProvider: o((e) => new X2(e), 'ConfigurationProvider')
+ }
+ };
+ }
+ var iI = R(() => {
+ 'use strict';
+ eN();
+ lM();
+ uM();
+ hM();
+ fM();
+ CM();
+ SM();
+ AM();
+ _M();
+ DM();
+ Ok();
+ NM();
+ MM();
+ U2();
+ IM();
+ OM();
+ PM();
+ FM();
+ Tg();
+ zM();
+ GM();
+ UM();
+ KM();
+ QM();
+ D2();
+ tI();
+ rI();
+ nI();
+ o(po, 'createDefaultCoreModule');
+ o(mo, 'createDefaultSharedCoreModule');
+ });
+ function Fi(t, e, r, n, i, a, s, l, u) {
+ let h = [t, e, r, n, i, a, s, l, u].reduce(Gk, {});
+ return Moe(h);
+ }
+ function Noe(t) {
+ if (t && t[sI]) for (let e of Object.values(t)) Noe(e);
+ return t;
+ }
+ function Moe(t, e) {
+ let r = new Proxy(
+ {},
+ {
+ deleteProperty: o(() => !1, 'deleteProperty'),
+ get: o((n, i) => Roe(n, i, t, e || r), 'get'),
+ getOwnPropertyDescriptor: o(
+ (n, i) => (Roe(n, i, t, e || r), Object.getOwnPropertyDescriptor(n, i)),
+ 'getOwnPropertyDescriptor'
+ ),
+ has: o((n, i) => i in t, 'has'),
+ ownKeys: o(() => [...Reflect.ownKeys(t), sI], 'ownKeys')
+ }
+ );
+ return (r[sI] = !0), r;
+ }
+ function Roe(t, e, r, n) {
+ if (e in t) {
+ if (t[e] instanceof Error)
+ throw new Error('Construction failure. Please make sure that your dependencies are constructable.', {
+ cause: t[e]
+ });
+ if (t[e] === Doe)
+ throw new Error(
+ 'Cycle detected. Please make "' +
+ String(e) +
+ '" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies'
+ );
+ return t[e];
+ } else if (e in r) {
+ let i = r[e];
+ t[e] = Doe;
+ try {
+ t[e] = typeof i == 'function' ? i(n) : Moe(i, n);
+ } catch (a) {
+ throw ((t[e] = a instanceof Error ? a : void 0), a);
+ }
+ return t[e];
+ } else return;
+ }
+ function Gk(t, e) {
+ if (e) {
+ for (let [r, n] of Object.entries(e))
+ if (n !== void 0) {
+ let i = t[r];
+ i !== null && n !== null && typeof i == 'object' && typeof n == 'object'
+ ? (t[r] = Gk(i, n))
+ : (t[r] = n);
+ }
+ }
+ return t;
+ }
+ var aI,
+ sI,
+ Doe,
+ oI = R(() => {
+ 'use strict';
+ (function (t) {
+ t.merge = (e, r) => Gk(Gk({}, e), r);
+ })(aI || (aI = {}));
+ o(Fi, 'inject');
+ sI = Symbol('isProxy');
+ o(Noe, 'eagerLoad');
+ o(Moe, '_inject');
+ Doe = Symbol();
+ o(Roe, '_resolve');
+ o(Gk, '_merge');
+ });
+ var Ioe = R(() => {
+ 'use strict';
+ });
+ var Ooe = R(() => {
+ 'use strict';
+ QM();
+ KM();
+ jM();
+ });
+ var Poe = R(() => {
+ 'use strict';
+ });
+ var Boe = R(() => {
+ 'use strict';
+ eN();
+ Poe();
+ });
+ var Foe = R(() => {
+ 'use strict';
+ });
+ var zoe = R(() => {
+ 'use strict';
+ tI();
+ lM();
+ Ek();
+ uM();
+ D2();
+ UM();
+ Foe();
+ hM();
+ fM();
+ });
+ var Goe = R(() => {
+ 'use strict';
+ CM();
+ SM();
+ AM();
+ LM();
+ _M();
+ DM();
+ });
+ var $oe = R(() => {
+ 'use strict';
+ nI();
+ Ok();
+ });
+ var $k,
+ go,
+ lI = R(() => {
+ 'use strict';
+ ($k = class {
+ static {
+ o(this, 'EmptyFileSystemProvider');
+ }
+ readFile() {
+ throw new Error('No file system is available.');
+ }
+ async readDirectory() {
+ return [];
+ }
+ }),
+ (go = { fileSystemProvider: o(() => new $k(), 'fileSystemProvider') });
+ });
+ function uPe() {
+ let t = Fi(mo(go), cPe),
+ e = Fi(po({ shared: t }), lPe);
+ return t.ServiceRegistry.register(e), e;
+ }
+ function lf(t) {
+ var e;
+ let r = uPe(),
+ n = r.serializer.JsonSerializer.deserialize(t);
+ return (
+ r.shared.workspace.LangiumDocumentFactory.fromModel(
+ n,
+ Ms.parse(`memory://${(e = n.name) !== null && e !== void 0 ? e : 'grammar'}.langium`)
+ ),
+ n
+ );
+ }
+ var lPe,
+ cPe,
+ Voe = R(() => {
+ 'use strict';
+ iI();
+ oI();
+ Sc();
+ lI();
+ Nc();
+ (lPe = {
+ Grammar: o(() => {}, 'Grammar'),
+ LanguageMetaData: o(
+ () => ({
+ caseInsensitive: !1,
+ fileExtensions: ['.langium'],
+ languageId: 'langium'
+ }),
+ 'LanguageMetaData'
+ )
+ }),
+ (cPe = { AstReflection: o(() => new Gm(), 'AstReflection') });
+ o(uPe, 'createMinimalGrammarServices');
+ o(lf, 'loadGrammarFromJson');
+ });
+ var Rr = {};
+ hr(Rr, {
+ AstUtils: () => CT,
+ BiMap: () => v0,
+ Cancellation: () => pr,
+ ContextCache: () => x0,
+ CstUtils: () => dT,
+ DONE_RESULT: () => Ja,
+ Deferred: () => as,
+ Disposable: () => b0,
+ DisposableCache: () => Cg,
+ DocumentCache: () => Mk,
+ EMPTY_STREAM: () => Gv,
+ ErrorWithLocation: () => jd,
+ GrammarUtils: () => RT,
+ MultiMap: () => Mc,
+ OperationCancelled: () => Rc,
+ Reduction: () => Fm,
+ RegExpUtils: () => LT,
+ SimpleCache: () => F2,
+ StreamImpl: () => uo,
+ TreeStreamImpl: () => Cc,
+ URI: () => Ms,
+ UriUtils: () => ss,
+ WorkspaceCache: () => Sg,
+ assertUnreachable: () => tf,
+ delayNextTick: () => TM,
+ interruptAndCheck: () => Bi,
+ isOperationCancelled: () => of,
+ loadGrammarFromJson: () => lf,
+ setInterruptionPeriod: () => poe,
+ startCancelableOperation: () => doe,
+ stream: () => Kr
+ });
+ var Uoe = R(() => {
+ 'use strict';
+ Ik();
+ ZM();
+ dr(Rr, ii);
+ kg();
+ BM();
+ pT();
+ Voe();
+ qo();
+ Ds();
+ Nc();
+ es();
+ Wo();
+ Rl();
+ Il();
+ Um();
+ });
+ var Hoe = R(() => {
+ 'use strict';
+ MM();
+ U2();
+ });
+ var Yoe = R(() => {
+ 'use strict';
+ IM();
+ OM();
+ PM();
+ FM();
+ Tg();
+ lI();
+ zM();
+ rI();
+ GM();
+ });
+ var ba = {};
+ hr(ba, {
+ AbstractAstReflection: () => Yd,
+ AbstractCstNode: () => S2,
+ AbstractLangiumParser: () => A2,
+ AbstractParserErrorMessageProvider: () => Sk,
+ AbstractThreadedAsyncParser: () => JM,
+ AstUtils: () => CT,
+ BiMap: () => v0,
+ Cancellation: () => pr,
+ CompositeCstNodeImpl: () => p0,
+ ContextCache: () => x0,
+ CstNodeBuilder: () => C2,
+ CstUtils: () => dT,
+ DONE_RESULT: () => Ja,
+ DatatypeSymbol: () => Ck,
+ DefaultAstNodeDescriptionProvider: () => Y2,
+ DefaultAstNodeLocator: () => q2,
+ DefaultAsyncParser: () => nx,
+ DefaultCommentProvider: () => rx,
+ DefaultConfigurationProvider: () => X2,
+ DefaultDocumentBuilder: () => j2,
+ DefaultDocumentValidator: () => H2,
+ DefaultHydrator: () => ax,
+ DefaultIndexManager: () => K2,
+ DefaultJsonSerializer: () => G2,
+ DefaultLangiumDocumentFactory: () => R2,
+ DefaultLangiumDocuments: () => N2,
+ DefaultLexer: () => Z2,
+ DefaultLinker: () => M2,
+ DefaultNameProvider: () => I2,
+ DefaultReferenceDescriptionProvider: () => W2,
+ DefaultReferences: () => O2,
+ DefaultScopeComputation: () => P2,
+ DefaultScopeProvider: () => z2,
+ DefaultServiceRegistry: () => $2,
+ DefaultTokenBuilder: () => g0,
+ DefaultValueConverter: () => y0,
+ DefaultWorkspaceLock: () => ix,
+ DefaultWorkspaceManager: () => Q2,
+ Deferred: () => as,
+ Disposable: () => b0,
+ DisposableCache: () => Cg,
+ DocumentCache: () => Mk,
+ DocumentState: () => yn,
+ DocumentValidator: () => Uu,
+ EMPTY_SCOPE: () => jOe,
+ EMPTY_STREAM: () => Gv,
+ EmptyFileSystem: () => go,
+ EmptyFileSystemProvider: () => $k,
+ ErrorWithLocation: () => jd,
+ GrammarAST: () => Yv,
+ GrammarUtils: () => RT,
+ JSDocDocumentationProvider: () => tx,
+ LangiumCompletionParser: () => L2,
+ LangiumParser: () => _2,
+ LangiumParserErrorMessageProvider: () => yg,
+ LeafCstNodeImpl: () => d0,
+ MapScope: () => B2,
+ Module: () => aI,
+ MultiMap: () => Mc,
+ OperationCancelled: () => Rc,
+ ParserWorker: () => eI,
+ Reduction: () => Fm,
+ RegExpUtils: () => LT,
+ RootCstNodeImpl: () => gg,
+ SimpleCache: () => F2,
+ StreamImpl: () => uo,
+ StreamScope: () => Eg,
+ TextDocument: () => bg,
+ TreeStreamImpl: () => Cc,
+ URI: () => Ms,
+ UriUtils: () => ss,
+ ValidationCategory: () => Ag,
+ ValidationRegistry: () => V2,
+ ValueConverter: () => Dc,
+ WorkspaceCache: () => Sg,
+ assertUnreachable: () => tf,
+ createCompletionParser: () => oM,
+ createDefaultCoreModule: () => po,
+ createDefaultSharedCoreModule: () => mo,
+ createGrammarConfig: () => JR,
+ createLangiumParser: () => cM,
+ delayNextTick: () => TM,
+ diagnosticData: () => Pk,
+ eagerLoad: () => Noe,
+ getDiagnosticRange: () => Toe,
+ inject: () => Fi,
+ interruptAndCheck: () => Bi,
+ isAstNode: () => Xn,
+ isAstNodeDescription: () => ED,
+ isAstNodeWithComment: () => RM,
+ isCompositeCstNode: () => co,
+ isIMultiModeLexerDefinition: () => VM,
+ isJSDoc: () => qM,
+ isLeafCstNode: () => ef,
+ isLinkingError: () => Wd,
+ isNamed: () => boe,
+ isOperationCancelled: () => of,
+ isReference: () => xa,
+ isRootCstNode: () => zv,
+ isTokenTypeArray: () => koe,
+ isTokenTypeDictionary: () => $M,
+ loadGrammarFromJson: () => lf,
+ parseJSDoc: () => WM,
+ prepareLangiumParser: () => soe,
+ setInterruptionPeriod: () => poe,
+ startCancelableOperation: () => doe,
+ stream: () => Kr,
+ toDiagnosticSeverity: () => Bk
+ });
+ var Ic = R(() => {
+ 'use strict';
+ iI();
+ oI();
+ NM();
+ Ioe();
+ Vo();
+ Ooe();
+ Boe();
+ zoe();
+ Goe();
+ $oe();
+ Uoe();
+ dr(ba, Rr);
+ Hoe();
+ Yoe();
+ Sc();
+ });
+ function Joe(t) {
+ return Pl.isInstance(t, Zoe);
+ }
+ function ele(t) {
+ return Pl.isInstance(t, cI);
+ }
+ function tle(t) {
+ return Pl.isInstance(t, uI);
+ }
+ function rle(t) {
+ return Pl.isInstance(t, pPe);
+ }
+ function nle(t) {
+ return Pl.isInstance(t, hI);
+ }
+ function ale(t) {
+ return Pl.isInstance(t, ile);
+ }
+ function sle(t) {
+ return Pl.isInstance(t, fI);
+ }
+ function lle(t) {
+ return Pl.isInstance(t, ole);
+ }
+ function ule(t) {
+ return Pl.isInstance(t, cle);
+ }
+ function fle(t) {
+ return Pl.isInstance(t, hle);
+ }
+ function ple(t) {
+ return Pl.isInstance(t, dle);
+ }
+ var hPe,
+ Tt,
+ Qoe,
+ Zoe,
+ cI,
+ fPe,
+ dPe,
+ uI,
+ pPe,
+ hI,
+ ile,
+ fI,
+ ole,
+ cle,
+ hle,
+ dle,
+ mPe,
+ mle,
+ Pl,
+ Woe,
+ gPe,
+ qoe,
+ yPe,
+ Xoe,
+ vPe,
+ joe,
+ xPe,
+ Koe,
+ bPe,
+ wPe,
+ TPe,
+ kPe,
+ EPe,
+ CPe,
+ Bl,
+ dI,
+ pI,
+ mI,
+ gI,
+ yI,
+ SPe,
+ APe,
+ _Pe,
+ LPe,
+ _g,
+ w0,
+ Xo,
+ DPe,
+ jo = R(() => {
+ 'use strict';
+ Ic();
+ Ic();
+ Ic();
+ Ic();
+ (hPe = Object.defineProperty),
+ (Tt = o((t, e) => hPe(t, 'name', { value: e, configurable: !0 }), '__name')),
+ (Qoe = 'Statement'),
+ (Zoe = 'Architecture');
+ o(Joe, 'isArchitecture');
+ Tt(Joe, 'isArchitecture');
+ cI = 'Branch';
+ o(ele, 'isBranch');
+ Tt(ele, 'isBranch');
+ (fPe = 'Checkout'), (dPe = 'CherryPicking'), (uI = 'Commit');
+ o(tle, 'isCommit');
+ Tt(tle, 'isCommit');
+ pPe = 'Common';
+ o(rle, 'isCommon');
+ Tt(rle, 'isCommon');
+ hI = 'GitGraph';
+ o(nle, 'isGitGraph');
+ Tt(nle, 'isGitGraph');
+ ile = 'Info';
+ o(ale, 'isInfo');
+ Tt(ale, 'isInfo');
+ fI = 'Merge';
+ o(sle, 'isMerge');
+ Tt(sle, 'isMerge');
+ ole = 'Packet';
+ o(lle, 'isPacket');
+ Tt(lle, 'isPacket');
+ cle = 'PacketBlock';
+ o(ule, 'isPacketBlock');
+ Tt(ule, 'isPacketBlock');
+ hle = 'Pie';
+ o(fle, 'isPie');
+ Tt(fle, 'isPie');
+ dle = 'PieSection';
+ o(ple, 'isPieSection');
+ Tt(ple, 'isPieSection');
+ (mPe = 'Direction'),
+ (mle = class extends Yd {
+ static {
+ o(this, 'MermaidAstReflection');
+ }
+ static {
+ Tt(this, 'MermaidAstReflection');
+ }
+ getAllTypes() {
+ return [
+ 'Architecture',
+ 'Branch',
+ 'Checkout',
+ 'CherryPicking',
+ 'Commit',
+ 'Common',
+ 'Direction',
+ 'Edge',
+ 'GitGraph',
+ 'Group',
+ 'Info',
+ 'Junction',
+ 'Merge',
+ 'Packet',
+ 'PacketBlock',
+ 'Pie',
+ 'PieSection',
+ 'Service',
+ 'Statement'
+ ];
+ }
+ computeIsSubtype(t, e) {
+ switch (t) {
+ case cI:
+ case fPe:
+ case dPe:
+ case uI:
+ case fI:
+ return this.isSubtype(Qoe, e);
+ case mPe:
+ return this.isSubtype(hI, e);
+ default:
+ return !1;
+ }
+ }
+ getReferenceType(t) {
+ let e = `${t.container.$type}:${t.property}`;
+ switch (e) {
+ default:
+ throw new Error(`${e} is not a valid reference id.`);
+ }
+ }
+ getTypeMetaData(t) {
+ switch (t) {
+ case 'Architecture':
+ return {
+ name: 'Architecture',
+ properties: [
+ { name: 'accDescr' },
+ { name: 'accTitle' },
+ { name: 'edges', defaultValue: [] },
+ { name: 'groups', defaultValue: [] },
+ { name: 'junctions', defaultValue: [] },
+ { name: 'services', defaultValue: [] },
+ { name: 'title' }
+ ]
+ };
+ case 'Branch':
+ return {
+ name: 'Branch',
+ properties: [{ name: 'name' }, { name: 'order' }]
+ };
+ case 'Checkout':
+ return { name: 'Checkout', properties: [{ name: 'branch' }] };
+ case 'CherryPicking':
+ return {
+ name: 'CherryPicking',
+ properties: [{ name: 'id' }, { name: 'parent' }, { name: 'tags', defaultValue: [] }]
+ };
+ case 'Commit':
+ return {
+ name: 'Commit',
+ properties: [
+ { name: 'id' },
+ { name: 'message' },
+ { name: 'tags', defaultValue: [] },
+ { name: 'type' }
+ ]
+ };
+ case 'Common':
+ return {
+ name: 'Common',
+ properties: [{ name: 'accDescr' }, { name: 'accTitle' }, { name: 'title' }]
+ };
+ case 'Edge':
+ return {
+ name: 'Edge',
+ properties: [
+ { name: 'lhsDir' },
+ { name: 'lhsGroup', defaultValue: !1 },
+ { name: 'lhsId' },
+ { name: 'lhsInto', defaultValue: !1 },
+ { name: 'rhsDir' },
+ { name: 'rhsGroup', defaultValue: !1 },
+ { name: 'rhsId' },
+ { name: 'rhsInto', defaultValue: !1 },
+ { name: 'title' }
+ ]
+ };
+ case 'GitGraph':
+ return {
+ name: 'GitGraph',
+ properties: [
+ { name: 'accDescr' },
+ { name: 'accTitle' },
+ { name: 'statements', defaultValue: [] },
+ { name: 'title' }
+ ]
+ };
+ case 'Group':
+ return {
+ name: 'Group',
+ properties: [{ name: 'icon' }, { name: 'id' }, { name: 'in' }, { name: 'title' }]
+ };
+ case 'Info':
+ return {
+ name: 'Info',
+ properties: [{ name: 'accDescr' }, { name: 'accTitle' }, { name: 'title' }]
+ };
+ case 'Junction':
+ return {
+ name: 'Junction',
+ properties: [{ name: 'id' }, { name: 'in' }]
+ };
+ case 'Merge':
+ return {
+ name: 'Merge',
+ properties: [
+ { name: 'branch' },
+ { name: 'id' },
+ { name: 'tags', defaultValue: [] },
+ { name: 'type' }
+ ]
+ };
+ case 'Packet':
+ return {
+ name: 'Packet',
+ properties: [
+ { name: 'accDescr' },
+ { name: 'accTitle' },
+ { name: 'blocks', defaultValue: [] },
+ { name: 'title' }
+ ]
+ };
+ case 'PacketBlock':
+ return {
+ name: 'PacketBlock',
+ properties: [{ name: 'end' }, { name: 'label' }, { name: 'start' }]
+ };
+ case 'Pie':
+ return {
+ name: 'Pie',
+ properties: [
+ { name: 'accDescr' },
+ { name: 'accTitle' },
+ { name: 'sections', defaultValue: [] },
+ { name: 'showData', defaultValue: !1 },
+ { name: 'title' }
+ ]
+ };
+ case 'PieSection':
+ return {
+ name: 'PieSection',
+ properties: [{ name: 'label' }, { name: 'value' }]
+ };
+ case 'Service':
+ return {
+ name: 'Service',
+ properties: [
+ { name: 'icon' },
+ { name: 'iconText' },
+ { name: 'id' },
+ { name: 'in' },
+ { name: 'title' }
+ ]
+ };
+ case 'Direction':
+ return {
+ name: 'Direction',
+ properties: [
+ { name: 'accDescr' },
+ { name: 'accTitle' },
+ { name: 'dir' },
+ { name: 'statements', defaultValue: [] },
+ { name: 'title' }
+ ]
+ };
+ default:
+ return { name: t, properties: [] };
+ }
+ }
+ }),
+ (Pl = new mle()),
+ (gPe = Tt(
+ () =>
+ Woe ??
+ (Woe = lf(
+ '{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'
+ )),
+ 'InfoGrammar'
+ )),
+ (yPe = Tt(
+ () =>
+ qoe ??
+ (qoe = lf(
+ `{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}`
+ )),
+ 'PacketGrammar'
+ )),
+ (vPe = Tt(
+ () =>
+ Xoe ??
+ (Xoe = lf(
+ '{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'
+ )),
+ 'PieGrammar'
+ )),
+ (xPe = Tt(
+ () =>
+ joe ??
+ (joe = lf(
+ '{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","name":"Architecture","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LeftPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RightPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Arrow","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'
+ )),
+ 'ArchitectureGrammar'
+ )),
+ (bPe = Tt(
+ () =>
+ Koe ??
+ (Koe = lf(
+ `{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`
+ )),
+ 'GitGraphGrammar'
+ )),
+ (wPe = {
+ languageId: 'info',
+ fileExtensions: ['.mmd', '.mermaid'],
+ caseInsensitive: !1
+ }),
+ (TPe = {
+ languageId: 'packet',
+ fileExtensions: ['.mmd', '.mermaid'],
+ caseInsensitive: !1
+ }),
+ (kPe = {
+ languageId: 'pie',
+ fileExtensions: ['.mmd', '.mermaid'],
+ caseInsensitive: !1
+ }),
+ (EPe = {
+ languageId: 'architecture',
+ fileExtensions: ['.mmd', '.mermaid'],
+ caseInsensitive: !1
+ }),
+ (CPe = {
+ languageId: 'gitGraph',
+ fileExtensions: ['.mmd', '.mermaid'],
+ caseInsensitive: !1
+ }),
+ (Bl = { AstReflection: Tt(() => new mle(), 'AstReflection') }),
+ (dI = {
+ Grammar: Tt(() => gPe(), 'Grammar'),
+ LanguageMetaData: Tt(() => wPe, 'LanguageMetaData'),
+ parser: {}
+ }),
+ (pI = {
+ Grammar: Tt(() => yPe(), 'Grammar'),
+ LanguageMetaData: Tt(() => TPe, 'LanguageMetaData'),
+ parser: {}
+ }),
+ (mI = {
+ Grammar: Tt(() => vPe(), 'Grammar'),
+ LanguageMetaData: Tt(() => kPe, 'LanguageMetaData'),
+ parser: {}
+ }),
+ (gI = {
+ Grammar: Tt(() => xPe(), 'Grammar'),
+ LanguageMetaData: Tt(() => EPe, 'LanguageMetaData'),
+ parser: {}
+ }),
+ (yI = {
+ Grammar: Tt(() => bPe(), 'Grammar'),
+ LanguageMetaData: Tt(() => CPe, 'LanguageMetaData'),
+ parser: {}
+ }),
+ (SPe = /accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/),
+ (APe = /accTitle[\t ]*:([^\n\r]*)/),
+ (_Pe = /title([\t ][^\n\r]*|)/),
+ (LPe = { ACC_DESCR: SPe, ACC_TITLE: APe, TITLE: _Pe }),
+ (_g = class extends y0 {
+ static {
+ o(this, 'AbstractMermaidValueConverter');
+ }
+ static {
+ Tt(this, 'AbstractMermaidValueConverter');
+ }
+ runConverter(t, e, r) {
+ let n = this.runCommonConverter(t, e, r);
+ return (
+ n === void 0 && (n = this.runCustomConverter(t, e, r)),
+ n === void 0 ? super.runConverter(t, e, r) : n
+ );
+ }
+ runCommonConverter(t, e, r) {
+ let n = LPe[t.name];
+ if (n === void 0) return;
+ let i = n.exec(e);
+ if (i !== null) {
+ if (i[1] !== void 0) return i[1].trim().replace(/[\t ]{2,}/gm, ' ');
+ if (i[2] !== void 0)
+ return i[2]
+ .replace(/^\s*/gm, '')
+ .replace(/\s+$/gm, '')
+ .replace(/[\t ]{2,}/gm, ' ')
+ .replace(
+ /[\n\r]{2,}/gm,
+ `
+`
+ );
+ }
+ }
+ }),
+ (w0 = class extends _g {
+ static {
+ o(this, 'CommonValueConverter');
+ }
+ static {
+ Tt(this, 'CommonValueConverter');
+ }
+ runCustomConverter(t, e, r) {}
+ }),
+ (Xo = class extends g0 {
+ static {
+ o(this, 'AbstractMermaidTokenBuilder');
+ }
+ static {
+ Tt(this, 'AbstractMermaidTokenBuilder');
+ }
+ constructor(t) {
+ super(), (this.keywords = new Set(t));
+ }
+ buildKeywordTokens(t, e, r) {
+ let n = super.buildKeywordTokens(t, e, r);
+ return (
+ n.forEach((i) => {
+ this.keywords.has(i.name) &&
+ i.PATTERN !== void 0 &&
+ (i.PATTERN = new RegExp(i.PATTERN.toString() + '(?:(?=%%)|(?!\\S))'));
+ }),
+ n
+ );
+ }
+ }),
+ (DPe = class extends Xo {
+ static {
+ o(this, 'CommonTokenBuilder');
+ }
+ static {
+ Tt(this, 'CommonTokenBuilder');
+ }
+ });
+ });
+ function Uk(t = go) {
+ let e = Fi(mo(t), Bl),
+ r = Fi(po({ shared: e }), yI, Vk);
+ return e.ServiceRegistry.register(r), { shared: e, GitGraph: r };
+ }
+ var RPe,
+ Vk,
+ vI = R(() => {
+ 'use strict';
+ jo();
+ Ic();
+ (RPe = class extends Xo {
+ static {
+ o(this, 'GitGraphTokenBuilder');
+ }
+ static {
+ Tt(this, 'GitGraphTokenBuilder');
+ }
+ constructor() {
+ super(['gitGraph']);
+ }
+ }),
+ (Vk = {
+ parser: {
+ TokenBuilder: Tt(() => new RPe(), 'TokenBuilder'),
+ ValueConverter: Tt(() => new w0(), 'ValueConverter')
+ }
+ });
+ o(Uk, 'createGitGraphServices');
+ Tt(Uk, 'createGitGraphServices');
+ });
+ function Yk(t = go) {
+ let e = Fi(mo(t), Bl),
+ r = Fi(po({ shared: e }), dI, Hk);
+ return e.ServiceRegistry.register(r), { shared: e, Info: r };
+ }
+ var NPe,
+ Hk,
+ xI = R(() => {
+ 'use strict';
+ jo();
+ Ic();
+ (NPe = class extends Xo {
+ static {
+ o(this, 'InfoTokenBuilder');
+ }
+ static {
+ Tt(this, 'InfoTokenBuilder');
+ }
+ constructor() {
+ super(['info', 'showInfo']);
+ }
+ }),
+ (Hk = {
+ parser: {
+ TokenBuilder: Tt(() => new NPe(), 'TokenBuilder'),
+ ValueConverter: Tt(() => new w0(), 'ValueConverter')
+ }
+ });
+ o(Yk, 'createInfoServices');
+ Tt(Yk, 'createInfoServices');
+ });
+ function qk(t = go) {
+ let e = Fi(mo(t), Bl),
+ r = Fi(po({ shared: e }), pI, Wk);
+ return e.ServiceRegistry.register(r), { shared: e, Packet: r };
+ }
+ var MPe,
+ Wk,
+ bI = R(() => {
+ 'use strict';
+ jo();
+ Ic();
+ (MPe = class extends Xo {
+ static {
+ o(this, 'PacketTokenBuilder');
+ }
+ static {
+ Tt(this, 'PacketTokenBuilder');
+ }
+ constructor() {
+ super(['packet-beta']);
+ }
+ }),
+ (Wk = {
+ parser: {
+ TokenBuilder: Tt(() => new MPe(), 'TokenBuilder'),
+ ValueConverter: Tt(() => new w0(), 'ValueConverter')
+ }
+ });
+ o(qk, 'createPacketServices');
+ Tt(qk, 'createPacketServices');
+ });
+ function jk(t = go) {
+ let e = Fi(mo(t), Bl),
+ r = Fi(po({ shared: e }), mI, Xk);
+ return e.ServiceRegistry.register(r), { shared: e, Pie: r };
+ }
+ var IPe,
+ OPe,
+ Xk,
+ wI = R(() => {
+ 'use strict';
+ jo();
+ Ic();
+ (IPe = class extends Xo {
+ static {
+ o(this, 'PieTokenBuilder');
+ }
+ static {
+ Tt(this, 'PieTokenBuilder');
+ }
+ constructor() {
+ super(['pie', 'showData']);
+ }
+ }),
+ (OPe = class extends _g {
+ static {
+ o(this, 'PieValueConverter');
+ }
+ static {
+ Tt(this, 'PieValueConverter');
+ }
+ runCustomConverter(t, e, r) {
+ if (t.name === 'PIE_SECTION_LABEL') return e.replace(/"/g, '').trim();
+ }
+ }),
+ (Xk = {
+ parser: {
+ TokenBuilder: Tt(() => new IPe(), 'TokenBuilder'),
+ ValueConverter: Tt(() => new OPe(), 'ValueConverter')
+ }
+ });
+ o(jk, 'createPieServices');
+ Tt(jk, 'createPieServices');
+ });
+ function Qk(t = go) {
+ let e = Fi(mo(t), Bl),
+ r = Fi(po({ shared: e }), gI, Kk);
+ return e.ServiceRegistry.register(r), { shared: e, Architecture: r };
+ }
+ var PPe,
+ BPe,
+ Kk,
+ TI = R(() => {
+ 'use strict';
+ jo();
+ Ic();
+ (PPe = class extends Xo {
+ static {
+ o(this, 'ArchitectureTokenBuilder');
+ }
+ static {
+ Tt(this, 'ArchitectureTokenBuilder');
+ }
+ constructor() {
+ super(['architecture']);
+ }
+ }),
+ (BPe = class extends _g {
+ static {
+ o(this, 'ArchitectureValueConverter');
+ }
+ static {
+ Tt(this, 'ArchitectureValueConverter');
+ }
+ runCustomConverter(t, e, r) {
+ if (t.name === 'ARCH_ICON') return e.replace(/[()]/g, '').trim();
+ if (t.name === 'ARCH_TEXT_ICON') return e.replace(/["()]/g, '');
+ if (t.name === 'ARCH_TITLE') return e.replace(/[[\]]/g, '').trim();
+ }
+ }),
+ (Kk = {
+ parser: {
+ TokenBuilder: Tt(() => new PPe(), 'TokenBuilder'),
+ ValueConverter: Tt(() => new BPe(), 'ValueConverter')
+ }
+ });
+ o(Qk, 'createArchitectureServices');
+ Tt(Qk, 'createArchitectureServices');
+ });
+ var gle = {};
+ hr(gle, { InfoModule: () => Hk, createInfoServices: () => Yk });
+ var yle = R(() => {
+ 'use strict';
+ xI();
+ jo();
+ });
+ var vle = {};
+ hr(vle, { PacketModule: () => Wk, createPacketServices: () => qk });
+ var xle = R(() => {
+ 'use strict';
+ bI();
+ jo();
+ });
+ var ble = {};
+ hr(ble, { PieModule: () => Xk, createPieServices: () => jk });
+ var wle = R(() => {
+ 'use strict';
+ wI();
+ jo();
+ });
+ var Tle = {};
+ hr(Tle, {
+ ArchitectureModule: () => Kk,
+ createArchitectureServices: () => Qk
+ });
+ var kle = R(() => {
+ 'use strict';
+ TI();
+ jo();
+ });
+ var Ele = {};
+ hr(Ele, { GitGraphModule: () => Vk, createGitGraphServices: () => Uk });
+ var Cle = R(() => {
+ 'use strict';
+ vI();
+ jo();
+ });
+ async function Fl(t, e) {
+ let r = FPe[t];
+ if (!r) throw new Error(`Unknown diagram type: ${t}`);
+ T0[t] || (await r());
+ let i = T0[t].parse(e);
+ if (i.lexerErrors.length > 0 || i.parserErrors.length > 0) throw new zPe(i);
+ return i.value;
+ }
+ var T0,
+ FPe,
+ zPe,
+ Lg = R(() => {
+ 'use strict';
+ vI();
+ xI();
+ bI();
+ wI();
+ TI();
+ jo();
+ (T0 = {}),
+ (FPe = {
+ info: Tt(async () => {
+ let { createInfoServices: t } = await Promise.resolve().then(() => (yle(), gle)),
+ e = t().Info.parser.LangiumParser;
+ T0.info = e;
+ }, 'info'),
+ packet: Tt(async () => {
+ let { createPacketServices: t } = await Promise.resolve().then(() => (xle(), vle)),
+ e = t().Packet.parser.LangiumParser;
+ T0.packet = e;
+ }, 'packet'),
+ pie: Tt(async () => {
+ let { createPieServices: t } = await Promise.resolve().then(() => (wle(), ble)),
+ e = t().Pie.parser.LangiumParser;
+ T0.pie = e;
+ }, 'pie'),
+ architecture: Tt(async () => {
+ let { createArchitectureServices: t } = await Promise.resolve().then(() => (kle(), Tle)),
+ e = t().Architecture.parser.LangiumParser;
+ T0.architecture = e;
+ }, 'architecture'),
+ gitGraph: Tt(async () => {
+ let { createGitGraphServices: t } = await Promise.resolve().then(() => (Cle(), Ele)),
+ e = t().GitGraph.parser.LangiumParser;
+ T0.gitGraph = e;
+ }, 'gitGraph')
+ });
+ o(Fl, 'parse');
+ Tt(Fl, 'parse');
+ zPe = class extends Error {
+ static {
+ o(this, 'MermaidParseError');
+ }
+ constructor(t) {
+ let e = t.lexerErrors.map((n) => n.message).join(`
+`),
+ r = t.parserErrors.map((n) => n.message).join(`
+`);
+ super(`Parsing failed: ${e} ${r}`), (this.result = t);
+ }
+ static {
+ Tt(this, 'MermaidParseError');
+ }
+ };
+ });
+ function cf(t, e) {
+ t.accDescr && e.setAccDescription?.(t.accDescr),
+ t.accTitle && e.setAccTitle?.(t.accTitle),
+ t.title && e.setDiagramTitle?.(t.title);
+ }
+ var sx = R(() => {
+ 'use strict';
+ o(cf, 'populateCommonDb');
+ });
+ var Hr,
+ Zk = R(() => {
+ 'use strict';
+ Hr = { NORMAL: 0, REVERSE: 1, HIGHLIGHT: 2, MERGE: 3, CHERRY_PICK: 4 };
+ });
+ var uf,
+ Jk = R(() => {
+ 'use strict';
+ uf = class {
+ constructor(e) {
+ this.init = e;
+ this.records = this.init();
+ }
+ static {
+ o(this, 'ImperativeState');
+ }
+ reset() {
+ this.records = this.init();
+ }
+ };
+ });
+ function kI() {
+ return J_({ length: 7 });
+ }
+ function $Pe(t, e) {
+ let r = Object.create(null);
+ return t.reduce((n, i) => {
+ let a = e(i);
+ return r[a] || ((r[a] = !0), n.push(i)), n;
+ }, []);
+ }
+ function Sle(t, e, r) {
+ let n = t.indexOf(e);
+ n === -1 ? t.push(r) : t.splice(n, 1, r);
+ }
+ function _le(t) {
+ let e = t.reduce((i, a) => (i.seq > a.seq ? i : a), t[0]),
+ r = '';
+ t.forEach(function (i) {
+ i === e ? (r += ' *') : (r += ' |');
+ });
+ let n = [r, e.id, e.seq];
+ for (let i in pt.records.branches) pt.records.branches.get(i) === e.id && n.push(i);
+ if ((V.debug(n.join(' ')), e.parents && e.parents.length == 2 && e.parents[0] && e.parents[1])) {
+ let i = pt.records.commits.get(e.parents[0]);
+ Sle(t, e, i), e.parents[1] && t.push(pt.records.commits.get(e.parents[1]));
+ } else {
+ if (e.parents.length == 0) return;
+ if (e.parents[0]) {
+ let i = pt.records.commits.get(e.parents[0]);
+ Sle(t, e, i);
+ }
+ }
+ (t = $Pe(t, (i) => i.id)), _le(t);
+ }
+ var GPe,
+ k0,
+ pt,
+ VPe,
+ UPe,
+ HPe,
+ YPe,
+ WPe,
+ qPe,
+ XPe,
+ Ale,
+ jPe,
+ KPe,
+ QPe,
+ ZPe,
+ JPe,
+ Lle,
+ eBe,
+ tBe,
+ rBe,
+ eE,
+ EI = R(() => {
+ 'use strict';
+ ut();
+ xr();
+ qs();
+ rr();
+ bi();
+ Zk();
+ Jk();
+ sl();
+ (GPe = mr.gitGraph),
+ (k0 = o(() => Ts({ ...GPe, ...Or().gitGraph }), 'getConfig')),
+ (pt = new uf(() => {
+ let t = k0(),
+ e = t.mainBranchName,
+ r = t.mainBranchOrder;
+ return {
+ mainBranchName: e,
+ commits: new Map(),
+ head: null,
+ branchConfig: new Map([[e, { name: e, order: r }]]),
+ branches: new Map([[e, null]]),
+ currBranch: e,
+ direction: 'LR',
+ seq: 0,
+ options: {}
+ };
+ }));
+ o(kI, 'getID');
+ o($Pe, 'uniqBy');
+ (VPe = o(function (t) {
+ pt.records.direction = t;
+ }, 'setDirection')),
+ (UPe = o(function (t) {
+ V.debug('options str', t), (t = t?.trim()), (t = t || '{}');
+ try {
+ pt.records.options = JSON.parse(t);
+ } catch (e) {
+ V.error('error while parsing gitGraph options', e.message);
+ }
+ }, 'setOptions')),
+ (HPe = o(function () {
+ return pt.records.options;
+ }, 'getOptions')),
+ (YPe = o(function (t) {
+ let e = t.msg,
+ r = t.id,
+ n = t.type,
+ i = t.tags;
+ V.info('commit', e, r, n, i), V.debug('Entering commit:', e, r, n, i);
+ let a = k0();
+ (r = We.sanitizeText(r, a)),
+ (e = We.sanitizeText(e, a)),
+ (i = i?.map((l) => We.sanitizeText(l, a)));
+ let s = {
+ id: r || pt.records.seq + '-' + kI(),
+ message: e,
+ seq: pt.records.seq++,
+ type: n ?? Hr.NORMAL,
+ tags: i ?? [],
+ parents: pt.records.head == null ? [] : [pt.records.head.id],
+ branch: pt.records.currBranch
+ };
+ (pt.records.head = s),
+ V.info('main branch', a.mainBranchName),
+ pt.records.commits.set(s.id, s),
+ pt.records.branches.set(pt.records.currBranch, s.id),
+ V.debug('in pushCommit ' + s.id);
+ }, 'commit')),
+ (WPe = o(function (t) {
+ let e = t.name,
+ r = t.order;
+ if (((e = We.sanitizeText(e, k0())), pt.records.branches.has(e)))
+ throw new Error(
+ `Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`
+ );
+ pt.records.branches.set(e, pt.records.head != null ? pt.records.head.id : null),
+ pt.records.branchConfig.set(e, { name: e, order: r }),
+ Ale(e),
+ V.debug('in createBranch');
+ }, 'branch')),
+ (qPe = o((t) => {
+ let e = t.branch,
+ r = t.id,
+ n = t.type,
+ i = t.tags,
+ a = k0();
+ (e = We.sanitizeText(e, a)), r && (r = We.sanitizeText(r, a));
+ let s = pt.records.branches.get(pt.records.currBranch),
+ l = pt.records.branches.get(e),
+ u = s ? pt.records.commits.get(s) : void 0,
+ h = l ? pt.records.commits.get(l) : void 0;
+ if (u && h && u.branch === e) throw new Error(`Cannot merge branch '${e}' into itself.`);
+ if (pt.records.currBranch === e) {
+ let p = new Error('Incorrect usage of "merge". Cannot merge a branch to itself');
+ throw (
+ ((p.hash = {
+ text: `merge ${e}`,
+ token: `merge ${e}`,
+ expected: ['branch abc']
+ }),
+ p)
+ );
+ }
+ if (u === void 0 || !u) {
+ let p = new Error(
+ `Incorrect usage of "merge". Current branch (${pt.records.currBranch})has no commits`
+ );
+ throw (
+ ((p.hash = {
+ text: `merge ${e}`,
+ token: `merge ${e}`,
+ expected: ['commit']
+ }),
+ p)
+ );
+ }
+ if (!pt.records.branches.has(e)) {
+ let p = new Error('Incorrect usage of "merge". Branch to be merged (' + e + ') does not exist');
+ throw (
+ ((p.hash = {
+ text: `merge ${e}`,
+ token: `merge ${e}`,
+ expected: [`branch ${e}`]
+ }),
+ p)
+ );
+ }
+ if (h === void 0 || !h) {
+ let p = new Error('Incorrect usage of "merge". Branch to be merged (' + e + ') has no commits');
+ throw (
+ ((p.hash = {
+ text: `merge ${e}`,
+ token: `merge ${e}`,
+ expected: ['"commit"']
+ }),
+ p)
+ );
+ }
+ if (u === h) {
+ let p = new Error('Incorrect usage of "merge". Both branches have same head');
+ throw (
+ ((p.hash = {
+ text: `merge ${e}`,
+ token: `merge ${e}`,
+ expected: ['branch abc']
+ }),
+ p)
+ );
+ }
+ if (r && pt.records.commits.has(r)) {
+ let p = new Error(
+ 'Incorrect usage of "merge". Commit with id:' +
+ r +
+ ' already exists, use different custom Id'
+ );
+ throw (
+ ((p.hash = {
+ text: `merge ${e} ${r} ${n} ${i?.join(' ')}`,
+ token: `merge ${e} ${r} ${n} ${i?.join(' ')}`,
+ expected: [`merge ${e} ${r}_UNIQUE ${n} ${i?.join(' ')}`]
+ }),
+ p)
+ );
+ }
+ let f = l || '',
+ d = {
+ id: r || `${pt.records.seq}-${kI()}`,
+ message: `merged branch ${e} into ${pt.records.currBranch}`,
+ seq: pt.records.seq++,
+ parents: pt.records.head == null ? [] : [pt.records.head.id, f],
+ branch: pt.records.currBranch,
+ type: Hr.MERGE,
+ customType: n,
+ customId: !!r,
+ tags: i ?? []
+ };
+ (pt.records.head = d),
+ pt.records.commits.set(d.id, d),
+ pt.records.branches.set(pt.records.currBranch, d.id),
+ V.debug(pt.records.branches),
+ V.debug('in mergeBranch');
+ }, 'merge')),
+ (XPe = o(function (t) {
+ let e = t.id,
+ r = t.targetId,
+ n = t.tags,
+ i = t.parent;
+ V.debug('Entering cherryPick:', e, r, n);
+ let a = k0();
+ if (
+ ((e = We.sanitizeText(e, a)),
+ (r = We.sanitizeText(r, a)),
+ (n = n?.map((u) => We.sanitizeText(u, a))),
+ (i = We.sanitizeText(i, a)),
+ !e || !pt.records.commits.has(e))
+ ) {
+ let u = new Error(
+ 'Incorrect usage of "cherryPick". Source commit id should exist and provided'
+ );
+ throw (
+ ((u.hash = {
+ text: `cherryPick ${e} ${r}`,
+ token: `cherryPick ${e} ${r}`,
+ expected: ['cherry-pick abc']
+ }),
+ u)
+ );
+ }
+ let s = pt.records.commits.get(e);
+ if (s === void 0 || !s)
+ throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');
+ if (i && !(Array.isArray(s.parents) && s.parents.includes(i)))
+ throw new Error(
+ 'Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.'
+ );
+ let l = s.branch;
+ if (s.type === Hr.MERGE && !i)
+ throw new Error(
+ 'Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.'
+ );
+ if (!r || !pt.records.commits.has(r)) {
+ if (l === pt.records.currBranch) {
+ let d = new Error(
+ 'Incorrect usage of "cherryPick". Source commit is already on current branch'
+ );
+ throw (
+ ((d.hash = {
+ text: `cherryPick ${e} ${r}`,
+ token: `cherryPick ${e} ${r}`,
+ expected: ['cherry-pick abc']
+ }),
+ d)
+ );
+ }
+ let u = pt.records.branches.get(pt.records.currBranch);
+ if (u === void 0 || !u) {
+ let d = new Error(
+ `Incorrect usage of "cherry-pick". Current branch (${pt.records.currBranch})has no commits`
+ );
+ throw (
+ ((d.hash = {
+ text: `cherryPick ${e} ${r}`,
+ token: `cherryPick ${e} ${r}`,
+ expected: ['cherry-pick abc']
+ }),
+ d)
+ );
+ }
+ let h = pt.records.commits.get(u);
+ if (h === void 0 || !h) {
+ let d = new Error(
+ `Incorrect usage of "cherry-pick". Current branch (${pt.records.currBranch})has no commits`
+ );
+ throw (
+ ((d.hash = {
+ text: `cherryPick ${e} ${r}`,
+ token: `cherryPick ${e} ${r}`,
+ expected: ['cherry-pick abc']
+ }),
+ d)
+ );
+ }
+ let f = {
+ id: pt.records.seq + '-' + kI(),
+ message: `cherry-picked ${s?.message} into ${pt.records.currBranch}`,
+ seq: pt.records.seq++,
+ parents: pt.records.head == null ? [] : [pt.records.head.id, s.id],
+ branch: pt.records.currBranch,
+ type: Hr.CHERRY_PICK,
+ tags: n
+ ? n.filter(Boolean)
+ : [`cherry-pick:${s.id}${s.type === Hr.MERGE ? `|parent:${i}` : ''}`]
+ };
+ (pt.records.head = f),
+ pt.records.commits.set(f.id, f),
+ pt.records.branches.set(pt.records.currBranch, f.id),
+ V.debug(pt.records.branches),
+ V.debug('in cherryPick');
+ }
+ }, 'cherryPick')),
+ (Ale = o(function (t) {
+ if (((t = We.sanitizeText(t, k0())), pt.records.branches.has(t))) {
+ pt.records.currBranch = t;
+ let e = pt.records.branches.get(pt.records.currBranch);
+ e === void 0 || !e
+ ? (pt.records.head = null)
+ : (pt.records.head = pt.records.commits.get(e) ?? null);
+ } else {
+ let e = new Error(
+ `Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`
+ );
+ throw (
+ ((e.hash = {
+ text: `checkout ${t}`,
+ token: `checkout ${t}`,
+ expected: [`branch ${t}`]
+ }),
+ e)
+ );
+ }
+ }, 'checkout'));
+ o(Sle, 'upsert');
+ o(_le, 'prettyPrintCommitHistory');
+ (jPe = o(function () {
+ V.debug(pt.records.commits);
+ let t = Lle()[0];
+ _le([t]);
+ }, 'prettyPrint')),
+ (KPe = o(function () {
+ pt.reset(), vr();
+ }, 'clear')),
+ (QPe = o(function () {
+ return [...pt.records.branchConfig.values()]
+ .map((e, r) =>
+ e.order !== null && e.order !== void 0 ? e : { ...e, order: parseFloat(`0.${r}`) }
+ )
+ .sort((e, r) => (e.order ?? 0) - (r.order ?? 0))
+ .map(({ name: e }) => ({ name: e }));
+ }, 'getBranchesAsObjArray')),
+ (ZPe = o(function () {
+ return pt.records.branches;
+ }, 'getBranches')),
+ (JPe = o(function () {
+ return pt.records.commits;
+ }, 'getCommits')),
+ (Lle = o(function () {
+ let t = [...pt.records.commits.values()];
+ return (
+ t.forEach(function (e) {
+ V.debug(e.id);
+ }),
+ t.sort((e, r) => e.seq - r.seq),
+ t
+ );
+ }, 'getCommitsArray')),
+ (eBe = o(function () {
+ return pt.records.currBranch;
+ }, 'getCurrentBranch')),
+ (tBe = o(function () {
+ return pt.records.direction;
+ }, 'getDirection')),
+ (rBe = o(function () {
+ return pt.records.head;
+ }, 'getHead')),
+ (eE = {
+ commitType: Hr,
+ getConfig: k0,
+ setDirection: VPe,
+ setOptions: UPe,
+ getOptions: HPe,
+ commit: YPe,
+ branch: WPe,
+ merge: qPe,
+ cherryPick: XPe,
+ checkout: Ale,
+ prettyPrint: jPe,
+ clear: KPe,
+ getBranchesAsObjArray: QPe,
+ getBranches: ZPe,
+ getCommits: JPe,
+ getCommitsArray: Lle,
+ getCurrentBranch: eBe,
+ getDirection: tBe,
+ getHead: rBe,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr
+ });
+ });
+ var nBe,
+ iBe,
+ aBe,
+ sBe,
+ oBe,
+ lBe,
+ cBe,
+ Dle,
+ Rle = R(() => {
+ 'use strict';
+ Lg();
+ ut();
+ sx();
+ EI();
+ Zk();
+ (nBe = o((t, e) => {
+ cf(t, e), t.dir && e.setDirection(t.dir);
+ for (let r of t.statements) iBe(r, e);
+ }, 'populate')),
+ (iBe = o((t, e) => {
+ let n = {
+ Commit: o((i) => e.commit(aBe(i)), 'Commit'),
+ Branch: o((i) => e.branch(sBe(i)), 'Branch'),
+ Merge: o((i) => e.merge(oBe(i)), 'Merge'),
+ Checkout: o((i) => e.checkout(lBe(i)), 'Checkout'),
+ CherryPicking: o((i) => e.cherryPick(cBe(i)), 'CherryPicking')
+ }[t.$type];
+ n ? n(t) : V.error(`Unknown statement type: ${t.$type}`);
+ }, 'parseStatement')),
+ (aBe = o(
+ (t) => ({
+ id: t.id,
+ msg: t.message ?? '',
+ type: t.type !== void 0 ? Hr[t.type] : Hr.NORMAL,
+ tags: t.tags ?? void 0
+ }),
+ 'parseCommit'
+ )),
+ (sBe = o((t) => ({ name: t.name, order: t.order ?? 0 }), 'parseBranch')),
+ (oBe = o(
+ (t) => ({
+ branch: t.branch,
+ id: t.id ?? '',
+ type: t.type !== void 0 ? Hr[t.type] : void 0,
+ tags: t.tags ?? void 0
+ }),
+ 'parseMerge'
+ )),
+ (lBe = o((t) => t.branch, 'parseCheckout')),
+ (cBe = o(
+ (t) => ({
+ id: t.id,
+ targetId: '',
+ tags: t.tags?.length === 0 ? void 0 : t.tags,
+ parent: t.parent
+ }),
+ 'parseCherryPicking'
+ )),
+ (Dle = {
+ parse: o(async (t) => {
+ let e = await Fl('gitGraph', t);
+ V.debug(e), nBe(e, eE);
+ }, 'parse')
+ });
+ });
+ var uBe,
+ Ko,
+ ff,
+ df,
+ Oc,
+ Hu,
+ E0,
+ Is,
+ Os,
+ tE,
+ ox,
+ rE,
+ hf,
+ Tr,
+ hBe,
+ Mle,
+ Ile,
+ fBe,
+ dBe,
+ pBe,
+ mBe,
+ gBe,
+ yBe,
+ vBe,
+ xBe,
+ bBe,
+ wBe,
+ TBe,
+ kBe,
+ Nle,
+ EBe,
+ lx,
+ CBe,
+ SBe,
+ ABe,
+ _Be,
+ LBe,
+ Ole,
+ Ple = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ ut();
+ xr();
+ Zk();
+ (uBe = de()),
+ (Ko = uBe?.gitGraph),
+ (ff = 10),
+ (df = 40),
+ (Oc = 4),
+ (Hu = 2),
+ (E0 = 8),
+ (Is = new Map()),
+ (Os = new Map()),
+ (tE = 30),
+ (ox = new Map()),
+ (rE = []),
+ (hf = 0),
+ (Tr = 'LR'),
+ (hBe = o(() => {
+ Is.clear(), Os.clear(), ox.clear(), (hf = 0), (rE = []), (Tr = 'LR');
+ }, 'clear')),
+ (Mle = o((t) => {
+ let e = document.createElementNS('http://www.w3.org/2000/svg', 'text');
+ return (
+ (typeof t == 'string' ? t.split(/\\n|\n|
/gi) : t).forEach((n) => {
+ let i = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ i.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'),
+ i.setAttribute('dy', '1em'),
+ i.setAttribute('x', '0'),
+ i.setAttribute('class', 'row'),
+ (i.textContent = n.trim()),
+ e.appendChild(i);
+ }),
+ e
+ );
+ }, 'drawText')),
+ (Ile = o((t) => {
+ let e, r, n;
+ return (
+ Tr === 'BT'
+ ? ((r = o((i, a) => i <= a, 'comparisonFunc')), (n = 1 / 0))
+ : ((r = o((i, a) => i >= a, 'comparisonFunc')), (n = 0)),
+ t.forEach((i) => {
+ let a = Tr === 'TB' || Tr == 'BT' ? Os.get(i)?.y : Os.get(i)?.x;
+ a !== void 0 && r(a, n) && ((e = i), (n = a));
+ }),
+ e
+ );
+ }, 'findClosestParent')),
+ (fBe = o((t) => {
+ let e = '',
+ r = 1 / 0;
+ return (
+ t.forEach((n) => {
+ let i = Os.get(n).y;
+ i <= r && ((e = n), (r = i));
+ }),
+ e || void 0
+ );
+ }, 'findClosestParentBT')),
+ (dBe = o((t, e, r) => {
+ let n = r,
+ i = r,
+ a = [];
+ t.forEach((s) => {
+ let l = e.get(s);
+ if (!l) throw new Error(`Commit not found for key ${s}`);
+ l.parents.length ? ((n = mBe(l)), (i = Math.max(n, i))) : a.push(l), gBe(l, n);
+ }),
+ (n = i),
+ a.forEach((s) => {
+ yBe(s, n, r);
+ }),
+ t.forEach((s) => {
+ let l = e.get(s);
+ if (l?.parents.length) {
+ let u = fBe(l.parents);
+ (n = Os.get(u).y - df), n <= i && (i = n);
+ let h = Is.get(l.branch).pos,
+ f = n - ff;
+ Os.set(l.id, { x: h, y: f });
+ }
+ });
+ }, 'setParallelBTPos')),
+ (pBe = o((t) => {
+ let e = Ile(t.parents.filter((n) => n !== null));
+ if (!e) throw new Error(`Closest parent not found for commit ${t.id}`);
+ let r = Os.get(e)?.y;
+ if (r === void 0) throw new Error(`Closest parent position not found for commit ${t.id}`);
+ return r;
+ }, 'findClosestParentPos')),
+ (mBe = o((t) => pBe(t) + df, 'calculateCommitPosition')),
+ (gBe = o((t, e) => {
+ let r = Is.get(t.branch);
+ if (!r) throw new Error(`Branch not found for commit ${t.id}`);
+ let n = r.pos,
+ i = e + ff;
+ return Os.set(t.id, { x: n, y: i }), { x: n, y: i };
+ }, 'setCommitPosition')),
+ (yBe = o((t, e, r) => {
+ let n = Is.get(t.branch);
+ if (!n) throw new Error(`Branch not found for commit ${t.id}`);
+ let i = e + r,
+ a = n.pos;
+ Os.set(t.id, { x: a, y: i });
+ }, 'setRootPosition')),
+ (vBe = o((t, e, r, n, i, a) => {
+ if (a === Hr.HIGHLIGHT)
+ t
+ .append('rect')
+ .attr('x', r.x - 10)
+ .attr('y', r.y - 10)
+ .attr('width', 20)
+ .attr('height', 20)
+ .attr('class', `commit ${e.id} commit-highlight${i % E0} ${n}-outer`),
+ t
+ .append('rect')
+ .attr('x', r.x - 6)
+ .attr('y', r.y - 6)
+ .attr('width', 12)
+ .attr('height', 12)
+ .attr('class', `commit ${e.id} commit${i % E0} ${n}-inner`);
+ else if (a === Hr.CHERRY_PICK)
+ t
+ .append('circle')
+ .attr('cx', r.x)
+ .attr('cy', r.y)
+ .attr('r', 10)
+ .attr('class', `commit ${e.id} ${n}`),
+ t
+ .append('circle')
+ .attr('cx', r.x - 3)
+ .attr('cy', r.y + 2)
+ .attr('r', 2.75)
+ .attr('fill', '#fff')
+ .attr('class', `commit ${e.id} ${n}`),
+ t
+ .append('circle')
+ .attr('cx', r.x + 3)
+ .attr('cy', r.y + 2)
+ .attr('r', 2.75)
+ .attr('fill', '#fff')
+ .attr('class', `commit ${e.id} ${n}`),
+ t
+ .append('line')
+ .attr('x1', r.x + 3)
+ .attr('y1', r.y + 1)
+ .attr('x2', r.x)
+ .attr('y2', r.y - 5)
+ .attr('stroke', '#fff')
+ .attr('class', `commit ${e.id} ${n}`),
+ t
+ .append('line')
+ .attr('x1', r.x - 3)
+ .attr('y1', r.y + 1)
+ .attr('x2', r.x)
+ .attr('y2', r.y - 5)
+ .attr('stroke', '#fff')
+ .attr('class', `commit ${e.id} ${n}`);
+ else {
+ let s = t.append('circle');
+ if (
+ (s.attr('cx', r.x),
+ s.attr('cy', r.y),
+ s.attr('r', e.type === Hr.MERGE ? 9 : 10),
+ s.attr('class', `commit ${e.id} commit${i % E0}`),
+ a === Hr.MERGE)
+ ) {
+ let l = t.append('circle');
+ l.attr('cx', r.x),
+ l.attr('cy', r.y),
+ l.attr('r', 6),
+ l.attr('class', `commit ${n} ${e.id} commit${i % E0}`);
+ }
+ a === Hr.REVERSE &&
+ t
+ .append('path')
+ .attr(
+ 'd',
+ `M ${r.x - 5},${r.y - 5}L${r.x + 5},${r.y + 5}M${r.x - 5},${r.y + 5}L${r.x + 5},${
+ r.y - 5
+ }`
+ )
+ .attr('class', `commit ${n} ${e.id} commit${i % E0}`);
+ }
+ }, 'drawCommitBullet')),
+ (xBe = o((t, e, r, n) => {
+ if (
+ e.type !== Hr.CHERRY_PICK &&
+ ((e.customId && e.type === Hr.MERGE) || e.type !== Hr.MERGE) &&
+ Ko?.showCommitLabel
+ ) {
+ let i = t.append('g'),
+ a = i.insert('rect').attr('class', 'commit-label-bkg'),
+ s = i
+ .append('text')
+ .attr('x', n)
+ .attr('y', r.y + 25)
+ .attr('class', 'commit-label')
+ .text(e.id),
+ l = s.node()?.getBBox();
+ if (
+ l &&
+ (a
+ .attr('x', r.posWithOffset - l.width / 2 - Hu)
+ .attr('y', r.y + 13.5)
+ .attr('width', l.width + 2 * Hu)
+ .attr('height', l.height + 2 * Hu),
+ Tr === 'TB' || Tr === 'BT'
+ ? (a.attr('x', r.x - (l.width + 4 * Oc + 5)).attr('y', r.y - 12),
+ s.attr('x', r.x - (l.width + 4 * Oc)).attr('y', r.y + l.height - 12))
+ : s.attr('x', r.posWithOffset - l.width / 2),
+ Ko.rotateCommitLabel)
+ )
+ if (Tr === 'TB' || Tr === 'BT')
+ s.attr('transform', 'rotate(-45, ' + r.x + ', ' + r.y + ')'),
+ a.attr('transform', 'rotate(-45, ' + r.x + ', ' + r.y + ')');
+ else {
+ let u = -7.5 - ((l.width + 10) / 25) * 9.5,
+ h = 10 + (l.width / 25) * 8.5;
+ i.attr(
+ 'transform',
+ 'translate(' + u + ', ' + h + ') rotate(-45, ' + n + ', ' + r.y + ')'
+ );
+ }
+ }
+ }, 'drawCommitLabel')),
+ (bBe = o((t, e, r, n) => {
+ if (e.tags.length > 0) {
+ let i = 0,
+ a = 0,
+ s = 0,
+ l = [];
+ for (let u of e.tags.reverse()) {
+ let h = t.insert('polygon'),
+ f = t.append('circle'),
+ d = t
+ .append('text')
+ .attr('y', r.y - 16 - i)
+ .attr('class', 'tag-label')
+ .text(u),
+ p = d.node()?.getBBox();
+ if (!p) throw new Error('Tag bbox not found');
+ (a = Math.max(a, p.width)),
+ (s = Math.max(s, p.height)),
+ d.attr('x', r.posWithOffset - p.width / 2),
+ l.push({ tag: d, hole: f, rect: h, yOffset: i }),
+ (i += 20);
+ }
+ for (let { tag: u, hole: h, rect: f, yOffset: d } of l) {
+ let p = s / 2,
+ m = r.y - 19.2 - d;
+ if (
+ (f.attr('class', 'tag-label-bkg').attr(
+ 'points',
+ `
+ ${n - a / 2 - Oc / 2},${m + Hu}
+ ${n - a / 2 - Oc / 2},${m - Hu}
+ ${r.posWithOffset - a / 2 - Oc},${m - p - Hu}
+ ${r.posWithOffset + a / 2 + Oc},${m - p - Hu}
+ ${r.posWithOffset + a / 2 + Oc},${m + p + Hu}
+ ${r.posWithOffset - a / 2 - Oc},${m + p + Hu}`
+ ),
+ h
+ .attr('cy', m)
+ .attr('cx', n - a / 2 + Oc / 2)
+ .attr('r', 1.5)
+ .attr('class', 'tag-hole'),
+ Tr === 'TB' || Tr === 'BT')
+ ) {
+ let g = n + d;
+ f
+ .attr('class', 'tag-label-bkg')
+ .attr(
+ 'points',
+ `
+ ${r.x},${g + 2}
+ ${r.x},${g - 2}
+ ${r.x + ff},${g - p - 2}
+ ${r.x + ff + a + 4},${g - p - 2}
+ ${r.x + ff + a + 4},${g + p + 2}
+ ${r.x + ff},${g + p + 2}`
+ )
+ .attr('transform', 'translate(12,12) rotate(45, ' + r.x + ',' + n + ')'),
+ h
+ .attr('cx', r.x + Oc / 2)
+ .attr('cy', g)
+ .attr('transform', 'translate(12,12) rotate(45, ' + r.x + ',' + n + ')'),
+ u
+ .attr('x', r.x + 5)
+ .attr('y', g + 3)
+ .attr('transform', 'translate(14,14) rotate(45, ' + r.x + ',' + n + ')');
+ }
+ }
+ }
+ }, 'drawCommitTags')),
+ (wBe = o((t) => {
+ switch (t.customType ?? t.type) {
+ case Hr.NORMAL:
+ return 'commit-normal';
+ case Hr.REVERSE:
+ return 'commit-reverse';
+ case Hr.HIGHLIGHT:
+ return 'commit-highlight';
+ case Hr.MERGE:
+ return 'commit-merge';
+ case Hr.CHERRY_PICK:
+ return 'commit-cherry-pick';
+ default:
+ return 'commit-normal';
+ }
+ }, 'getCommitClassType')),
+ (TBe = o((t, e, r, n) => {
+ let i = { x: 0, y: 0 };
+ if (t.parents.length > 0) {
+ let a = Ile(t.parents);
+ if (a) {
+ let s = n.get(a) ?? i;
+ return e === 'TB' ? s.y + df : e === 'BT' ? (n.get(t.id) ?? i).y - df : s.x + df;
+ }
+ } else return e === 'TB' ? tE : e === 'BT' ? (n.get(t.id) ?? i).y - df : 0;
+ return 0;
+ }, 'calculatePosition')),
+ (kBe = o((t, e, r) => {
+ let n = Tr === 'BT' && r ? e : e + ff,
+ i = Tr === 'TB' || Tr === 'BT' ? n : Is.get(t.branch)?.pos,
+ a = Tr === 'TB' || Tr === 'BT' ? Is.get(t.branch)?.pos : n;
+ if (a === void 0 || i === void 0) throw new Error(`Position were undefined for commit ${t.id}`);
+ return { x: a, y: i, posWithOffset: n };
+ }, 'getCommitPosition')),
+ (Nle = o((t, e, r) => {
+ if (!Ko) throw new Error('GitGraph config not found');
+ let n = t.append('g').attr('class', 'commit-bullets'),
+ i = t.append('g').attr('class', 'commit-labels'),
+ a = Tr === 'TB' || Tr === 'BT' ? tE : 0,
+ s = [...e.keys()],
+ l = Ko?.parallelCommits ?? !1,
+ u = o((f, d) => {
+ let p = e.get(f)?.seq,
+ m = e.get(d)?.seq;
+ return p !== void 0 && m !== void 0 ? p - m : 0;
+ }, 'sortKeys'),
+ h = s.sort(u);
+ Tr === 'BT' && (l && dBe(h, e, a), (h = h.reverse())),
+ h.forEach((f) => {
+ let d = e.get(f);
+ if (!d) throw new Error(`Commit not found for key ${f}`);
+ l && (a = TBe(d, Tr, a, Os));
+ let p = kBe(d, a, l);
+ if (r) {
+ let m = wBe(d),
+ g = d.customType ?? d.type,
+ y = Is.get(d.branch)?.index ?? 0;
+ vBe(n, d, p, m, y, g), xBe(i, d, p, a), bBe(i, d, p, a);
+ }
+ Tr === 'TB' || Tr === 'BT'
+ ? Os.set(d.id, { x: p.x, y: p.posWithOffset })
+ : Os.set(d.id, { x: p.posWithOffset, y: p.y }),
+ (a = Tr === 'BT' && l ? a + df : a + df + ff),
+ a > hf && (hf = a);
+ });
+ }, 'drawCommits')),
+ (EBe = o((t, e, r, n, i) => {
+ let s = (Tr === 'TB' || Tr === 'BT' ? r.x < n.x : r.y < n.y) ? e.branch : t.branch,
+ l = o((h) => h.branch === s, 'isOnBranchToGetCurve'),
+ u = o((h) => h.seq > t.seq && h.seq < e.seq, 'isBetweenCommits');
+ return [...i.values()].some((h) => u(h) && l(h));
+ }, 'shouldRerouteArrow')),
+ (lx = o((t, e, r = 0) => {
+ let n = t + Math.abs(t - e) / 2;
+ if (r > 5) return n;
+ if (rE.every((s) => Math.abs(s - n) >= 10)) return rE.push(n), n;
+ let a = Math.abs(t - e);
+ return lx(t, e - a / 5, r + 1);
+ }, 'findLane')),
+ (CBe = o((t, e, r, n) => {
+ let i = Os.get(e.id),
+ a = Os.get(r.id);
+ if (i === void 0 || a === void 0)
+ throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);
+ let s = EBe(e, r, i, a, n),
+ l = '',
+ u = '',
+ h = 0,
+ f = 0,
+ d = Is.get(r.branch)?.index;
+ r.type === Hr.MERGE && e.id !== r.parents[0] && (d = Is.get(e.branch)?.index);
+ let p;
+ if (s) {
+ (l = 'A 10 10, 0, 0, 0,'), (u = 'A 10 10, 0, 0, 1,'), (h = 10), (f = 10);
+ let m = i.y < a.y ? lx(i.y, a.y) : lx(a.y, i.y),
+ g = i.x < a.x ? lx(i.x, a.x) : lx(a.x, i.x);
+ Tr === 'TB'
+ ? i.x < a.x
+ ? (p = `M ${i.x} ${i.y} L ${g - h} ${i.y} ${u} ${g} ${i.y + f} L ${g} ${a.y - h} ${l} ${
+ g + f
+ } ${a.y} L ${a.x} ${a.y}`)
+ : ((d = Is.get(e.branch)?.index),
+ (p = `M ${i.x} ${i.y} L ${g + h} ${i.y} ${l} ${g} ${i.y + f} L ${g} ${a.y - h} ${u} ${
+ g - f
+ } ${a.y} L ${a.x} ${a.y}`))
+ : Tr === 'BT'
+ ? i.x < a.x
+ ? (p = `M ${i.x} ${i.y} L ${g - h} ${i.y} ${l} ${g} ${i.y - f} L ${g} ${a.y + h} ${u} ${
+ g + f
+ } ${a.y} L ${a.x} ${a.y}`)
+ : ((d = Is.get(e.branch)?.index),
+ (p = `M ${i.x} ${i.y} L ${g + h} ${i.y} ${u} ${g} ${i.y - f} L ${g} ${a.y + h} ${l} ${
+ g - f
+ } ${a.y} L ${a.x} ${a.y}`))
+ : i.y < a.y
+ ? (p = `M ${i.x} ${i.y} L ${i.x} ${m - h} ${l} ${i.x + f} ${m} L ${a.x - h} ${m} ${u} ${
+ a.x
+ } ${m + f} L ${a.x} ${a.y}`)
+ : ((d = Is.get(e.branch)?.index),
+ (p = `M ${i.x} ${i.y} L ${i.x} ${m + h} ${u} ${i.x + f} ${m} L ${a.x - h} ${m} ${l} ${
+ a.x
+ } ${m - f} L ${a.x} ${a.y}`));
+ } else
+ (l = 'A 20 20, 0, 0, 0,'),
+ (u = 'A 20 20, 0, 0, 1,'),
+ (h = 20),
+ (f = 20),
+ Tr === 'TB'
+ ? (i.x < a.x &&
+ (r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${l} ${i.x + f} ${a.y} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${u} ${a.x} ${i.y + f} L ${a.x} ${
+ a.y
+ }`)),
+ i.x > a.x &&
+ ((l = 'A 20 20, 0, 0, 0,'),
+ (u = 'A 20 20, 0, 0, 1,'),
+ (h = 20),
+ (f = 20),
+ r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${u} ${i.x - f} ${a.y} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${a.x + h} ${i.y} ${l} ${a.x} ${i.y + f} L ${a.x} ${
+ a.y
+ }`)),
+ i.x === a.x && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`))
+ : Tr === 'BT'
+ ? (i.x < a.x &&
+ (r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${u} ${i.x + f} ${a.y} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${
+ a.y
+ }`)),
+ i.x > a.x &&
+ ((l = 'A 20 20, 0, 0, 0,'),
+ (u = 'A 20 20, 0, 0, 1,'),
+ (h = 20),
+ (f = 20),
+ r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${l} ${i.x - f} ${a.y} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${
+ a.y
+ }`)),
+ i.x === a.x && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`))
+ : (i.y < a.y &&
+ (r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${u} ${a.x} ${i.y + f} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${l} ${i.x + f} ${a.y} L ${a.x} ${
+ a.y
+ }`)),
+ i.y > a.y &&
+ (r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${u} ${i.x + f} ${a.y} L ${a.x} ${
+ a.y
+ }`)),
+ i.y === a.y && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`));
+ if (p === void 0) throw new Error('Line definition not found');
+ t.append('path')
+ .attr('d', p)
+ .attr('class', 'arrow arrow' + (d % E0));
+ }, 'drawArrow')),
+ (SBe = o((t, e) => {
+ let r = t.append('g').attr('class', 'commit-arrows');
+ [...e.keys()].forEach((n) => {
+ let i = e.get(n);
+ i.parents &&
+ i.parents.length > 0 &&
+ i.parents.forEach((a) => {
+ CBe(r, e.get(a), i, e);
+ });
+ });
+ }, 'drawArrows')),
+ (ABe = o((t, e) => {
+ let r = t.append('g');
+ e.forEach((n, i) => {
+ let a = i % E0,
+ s = Is.get(n.name)?.pos;
+ if (s === void 0) throw new Error(`Position not found for branch ${n.name}`);
+ let l = r.append('line');
+ l.attr('x1', 0),
+ l.attr('y1', s),
+ l.attr('x2', hf),
+ l.attr('y2', s),
+ l.attr('class', 'branch branch' + a),
+ Tr === 'TB'
+ ? (l.attr('y1', tE), l.attr('x1', s), l.attr('y2', hf), l.attr('x2', s))
+ : Tr === 'BT' && (l.attr('y1', hf), l.attr('x1', s), l.attr('y2', tE), l.attr('x2', s)),
+ rE.push(s);
+ let u = n.name,
+ h = Mle(u),
+ f = r.insert('rect'),
+ p = r
+ .insert('g')
+ .attr('class', 'branchLabel')
+ .insert('g')
+ .attr('class', 'label branch-label' + a);
+ p.node().appendChild(h);
+ let m = h.getBBox();
+ f
+ .attr('class', 'branchLabelBkg label' + a)
+ .attr('rx', 4)
+ .attr('ry', 4)
+ .attr('x', -m.width - 4 - (Ko?.rotateCommitLabel === !0 ? 30 : 0))
+ .attr('y', -m.height / 2 + 8)
+ .attr('width', m.width + 18)
+ .attr('height', m.height + 4),
+ p.attr(
+ 'transform',
+ 'translate(' +
+ (-m.width - 14 - (Ko?.rotateCommitLabel === !0 ? 30 : 0)) +
+ ', ' +
+ (s - m.height / 2 - 1) +
+ ')'
+ ),
+ Tr === 'TB'
+ ? (f.attr('x', s - m.width / 2 - 10).attr('y', 0),
+ p.attr('transform', 'translate(' + (s - m.width / 2 - 5) + ', 0)'))
+ : Tr === 'BT'
+ ? (f.attr('x', s - m.width / 2 - 10).attr('y', hf),
+ p.attr('transform', 'translate(' + (s - m.width / 2 - 5) + ', ' + hf + ')'))
+ : f.attr('transform', 'translate(-19, ' + (s - m.height / 2) + ')');
+ });
+ }, 'drawBranches')),
+ (_Be = o(function (t, e, r, n, i) {
+ return (
+ Is.set(t, { pos: e, index: r }),
+ (e += 50 + (i ? 40 : 0) + (Tr === 'TB' || Tr === 'BT' ? n.width / 2 : 0)),
+ e
+ );
+ }, 'setBranchPosition')),
+ (LBe = o(function (t, e, r, n) {
+ if (
+ (hBe(),
+ V.debug(
+ 'in gitgraph renderer',
+ t +
+ `
+`,
+ 'id:',
+ e,
+ r
+ ),
+ !Ko)
+ )
+ throw new Error('GitGraph config not found');
+ let i = Ko.rotateCommitLabel ?? !1,
+ a = n.db;
+ ox = a.getCommits();
+ let s = a.getBranchesAsObjArray();
+ Tr = a.getDirection();
+ let l = $e(`[id="${e}"]`),
+ u = 0;
+ s.forEach((h, f) => {
+ let d = Mle(h.name),
+ p = l.append('g'),
+ m = p.insert('g').attr('class', 'branchLabel'),
+ g = m.insert('g').attr('class', 'label branch-label');
+ g.node()?.appendChild(d);
+ let y = d.getBBox();
+ (u = _Be(h.name, u, f, y, i)), g.remove(), m.remove(), p.remove();
+ }),
+ Nle(l, ox, !1),
+ Ko.showBranches && ABe(l, s),
+ SBe(l, ox),
+ Nle(l, ox, !0),
+ Lt.insertTitle(l, 'gitTitleText', Ko.titleTopMargin ?? 0, a.getDiagramTitle()),
+ aS(void 0, l, Ko.diagramPadding, Ko.useMaxWidth);
+ }, 'draw')),
+ (Ole = { draw: LBe });
+ });
+ var DBe,
+ Ble,
+ Fle = R(() => {
+ 'use strict';
+ (DBe = o(
+ (t) => `
+ .commit-id,
+ .commit-msg,
+ .branch-label {
+ fill: lightgrey;
+ color: lightgrey;
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
+ font-family: var(--mermaid-font-family);
+ }
+ ${[0, 1, 2, 3, 4, 5, 6, 7].map(
+ (e) => `
+ .branch-label${e} { fill: ${t['gitBranchLabel' + e]}; }
+ .commit${e} { stroke: ${t['git' + e]}; fill: ${t['git' + e]}; }
+ .commit-highlight${e} { stroke: ${t['gitInv' + e]}; fill: ${t['gitInv' + e]}; }
+ .label${e} { fill: ${t['git' + e]}; }
+ .arrow${e} { stroke: ${t['git' + e]}; }
+ `
+ ).join(`
+`)}
+
+ .branch {
+ stroke-width: 1;
+ stroke: ${t.lineColor};
+ stroke-dasharray: 2;
+ }
+ .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}
+ .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }
+ .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
+ .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }
+ .tag-hole { fill: ${t.textColor}; }
+
+ .commit-merge {
+ stroke: ${t.primaryColor};
+ fill: ${t.primaryColor};
+ }
+ .commit-reverse {
+ stroke: ${t.primaryColor};
+ fill: ${t.primaryColor};
+ stroke-width: 3;
+ }
+ .commit-highlight-outer {
+ }
+ .commit-highlight-inner {
+ stroke: ${t.primaryColor};
+ fill: ${t.primaryColor};
+ }
+
+ .arrow { stroke-width: 8; stroke-linecap: round; fill: none}
+ .gitTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+ }
+`,
+ 'getStyles'
+ )),
+ (Ble = DBe);
+ });
+ var zle = {};
+ hr(zle, { diagram: () => RBe });
+ var RBe,
+ Gle = R(() => {
+ 'use strict';
+ Rle();
+ EI();
+ Ple();
+ Fle();
+ RBe = { parser: Dle, db: eE, renderer: Ole, styles: Ble };
+ });
+ var CI,
+ Ule,
+ Hle = R(() => {
+ 'use strict';
+ CI = (function () {
+ var t = o(function (I, C, O, D) {
+ for (O = O || {}, D = I.length; D--; O[I[D]] = C);
+ return O;
+ }, 'o'),
+ e = [
+ 6, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35,
+ 36, 38, 40
+ ],
+ r = [1, 26],
+ n = [1, 27],
+ i = [1, 28],
+ a = [1, 29],
+ s = [1, 30],
+ l = [1, 31],
+ u = [1, 32],
+ h = [1, 33],
+ f = [1, 34],
+ d = [1, 9],
+ p = [1, 10],
+ m = [1, 11],
+ g = [1, 12],
+ y = [1, 13],
+ v = [1, 14],
+ x = [1, 15],
+ b = [1, 16],
+ w = [1, 19],
+ S = [1, 20],
+ T = [1, 21],
+ E = [1, 22],
+ _ = [1, 23],
+ A = [1, 25],
+ L = [1, 35],
+ M = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ gantt: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NL: 10,
+ weekday: 11,
+ weekday_monday: 12,
+ weekday_tuesday: 13,
+ weekday_wednesday: 14,
+ weekday_thursday: 15,
+ weekday_friday: 16,
+ weekday_saturday: 17,
+ weekday_sunday: 18,
+ weekend: 19,
+ weekend_friday: 20,
+ weekend_saturday: 21,
+ dateFormat: 22,
+ inclusiveEndDates: 23,
+ topAxis: 24,
+ axisFormat: 25,
+ tickInterval: 26,
+ excludes: 27,
+ includes: 28,
+ todayMarker: 29,
+ title: 30,
+ acc_title: 31,
+ acc_title_value: 32,
+ acc_descr: 33,
+ acc_descr_value: 34,
+ acc_descr_multiline_value: 35,
+ section: 36,
+ clickStatement: 37,
+ taskTxt: 38,
+ taskData: 39,
+ click: 40,
+ callbackname: 41,
+ callbackargs: 42,
+ href: 43,
+ clickStatementDebug: 44,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'gantt',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NL',
+ 12: 'weekday_monday',
+ 13: 'weekday_tuesday',
+ 14: 'weekday_wednesday',
+ 15: 'weekday_thursday',
+ 16: 'weekday_friday',
+ 17: 'weekday_saturday',
+ 18: 'weekday_sunday',
+ 20: 'weekend_friday',
+ 21: 'weekend_saturday',
+ 22: 'dateFormat',
+ 23: 'inclusiveEndDates',
+ 24: 'topAxis',
+ 25: 'axisFormat',
+ 26: 'tickInterval',
+ 27: 'excludes',
+ 28: 'includes',
+ 29: 'todayMarker',
+ 30: 'title',
+ 31: 'acc_title',
+ 32: 'acc_title_value',
+ 33: 'acc_descr',
+ 34: 'acc_descr_value',
+ 35: 'acc_descr_multiline_value',
+ 36: 'section',
+ 38: 'taskTxt',
+ 39: 'taskData',
+ 40: 'click',
+ 41: 'callbackname',
+ 42: 'callbackargs',
+ 43: 'href'
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [19, 1],
+ [19, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [37, 2],
+ [37, 3],
+ [37, 3],
+ [37, 4],
+ [37, 3],
+ [37, 4],
+ [37, 2],
+ [44, 2],
+ [44, 3],
+ [44, 3],
+ [44, 4],
+ [44, 3],
+ [44, 4],
+ [44, 2]
+ ],
+ performAction: o(function (C, O, D, P, F, B, $) {
+ var z = B.length - 1;
+ switch (F) {
+ case 1:
+ return B[z - 1];
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ B[z - 1].push(B[z]), (this.$ = B[z - 1]);
+ break;
+ case 4:
+ case 5:
+ this.$ = B[z];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ P.setWeekday('monday');
+ break;
+ case 9:
+ P.setWeekday('tuesday');
+ break;
+ case 10:
+ P.setWeekday('wednesday');
+ break;
+ case 11:
+ P.setWeekday('thursday');
+ break;
+ case 12:
+ P.setWeekday('friday');
+ break;
+ case 13:
+ P.setWeekday('saturday');
+ break;
+ case 14:
+ P.setWeekday('sunday');
+ break;
+ case 15:
+ P.setWeekend('friday');
+ break;
+ case 16:
+ P.setWeekend('saturday');
+ break;
+ case 17:
+ P.setDateFormat(B[z].substr(11)), (this.$ = B[z].substr(11));
+ break;
+ case 18:
+ P.enableInclusiveEndDates(), (this.$ = B[z].substr(18));
+ break;
+ case 19:
+ P.TopAxis(), (this.$ = B[z].substr(8));
+ break;
+ case 20:
+ P.setAxisFormat(B[z].substr(11)), (this.$ = B[z].substr(11));
+ break;
+ case 21:
+ P.setTickInterval(B[z].substr(13)), (this.$ = B[z].substr(13));
+ break;
+ case 22:
+ P.setExcludes(B[z].substr(9)), (this.$ = B[z].substr(9));
+ break;
+ case 23:
+ P.setIncludes(B[z].substr(9)), (this.$ = B[z].substr(9));
+ break;
+ case 24:
+ P.setTodayMarker(B[z].substr(12)), (this.$ = B[z].substr(12));
+ break;
+ case 27:
+ P.setDiagramTitle(B[z].substr(6)), (this.$ = B[z].substr(6));
+ break;
+ case 28:
+ (this.$ = B[z].trim()), P.setAccTitle(this.$);
+ break;
+ case 29:
+ case 30:
+ (this.$ = B[z].trim()), P.setAccDescription(this.$);
+ break;
+ case 31:
+ P.addSection(B[z].substr(8)), (this.$ = B[z].substr(8));
+ break;
+ case 33:
+ P.addTask(B[z - 1], B[z]), (this.$ = 'task');
+ break;
+ case 34:
+ (this.$ = B[z - 1]), P.setClickEvent(B[z - 1], B[z], null);
+ break;
+ case 35:
+ (this.$ = B[z - 2]), P.setClickEvent(B[z - 2], B[z - 1], B[z]);
+ break;
+ case 36:
+ (this.$ = B[z - 2]),
+ P.setClickEvent(B[z - 2], B[z - 1], null),
+ P.setLink(B[z - 2], B[z]);
+ break;
+ case 37:
+ (this.$ = B[z - 3]),
+ P.setClickEvent(B[z - 3], B[z - 2], B[z - 1]),
+ P.setLink(B[z - 3], B[z]);
+ break;
+ case 38:
+ (this.$ = B[z - 2]),
+ P.setClickEvent(B[z - 2], B[z], null),
+ P.setLink(B[z - 2], B[z - 1]);
+ break;
+ case 39:
+ (this.$ = B[z - 3]),
+ P.setClickEvent(B[z - 3], B[z - 1], B[z]),
+ P.setLink(B[z - 3], B[z - 2]);
+ break;
+ case 40:
+ (this.$ = B[z - 1]), P.setLink(B[z - 1], B[z]);
+ break;
+ case 41:
+ case 47:
+ this.$ = B[z - 1] + ' ' + B[z];
+ break;
+ case 42:
+ case 43:
+ case 45:
+ this.$ = B[z - 2] + ' ' + B[z - 1] + ' ' + B[z];
+ break;
+ case 44:
+ case 46:
+ this.$ = B[z - 3] + ' ' + B[z - 2] + ' ' + B[z - 1] + ' ' + B[z];
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ t(e, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: 17,
+ 12: r,
+ 13: n,
+ 14: i,
+ 15: a,
+ 16: s,
+ 17: l,
+ 18: u,
+ 19: 18,
+ 20: h,
+ 21: f,
+ 22: d,
+ 23: p,
+ 24: m,
+ 25: g,
+ 26: y,
+ 27: v,
+ 28: x,
+ 29: b,
+ 30: w,
+ 31: S,
+ 33: T,
+ 35: E,
+ 36: _,
+ 37: 24,
+ 38: A,
+ 40: L
+ },
+ t(e, [2, 7], { 1: [2, 1] }),
+ t(e, [2, 3]),
+ {
+ 9: 36,
+ 11: 17,
+ 12: r,
+ 13: n,
+ 14: i,
+ 15: a,
+ 16: s,
+ 17: l,
+ 18: u,
+ 19: 18,
+ 20: h,
+ 21: f,
+ 22: d,
+ 23: p,
+ 24: m,
+ 25: g,
+ 26: y,
+ 27: v,
+ 28: x,
+ 29: b,
+ 30: w,
+ 31: S,
+ 33: T,
+ 35: E,
+ 36: _,
+ 37: 24,
+ 38: A,
+ 40: L
+ },
+ t(e, [2, 5]),
+ t(e, [2, 6]),
+ t(e, [2, 17]),
+ t(e, [2, 18]),
+ t(e, [2, 19]),
+ t(e, [2, 20]),
+ t(e, [2, 21]),
+ t(e, [2, 22]),
+ t(e, [2, 23]),
+ t(e, [2, 24]),
+ t(e, [2, 25]),
+ t(e, [2, 26]),
+ t(e, [2, 27]),
+ { 32: [1, 37] },
+ { 34: [1, 38] },
+ t(e, [2, 30]),
+ t(e, [2, 31]),
+ t(e, [2, 32]),
+ { 39: [1, 39] },
+ t(e, [2, 8]),
+ t(e, [2, 9]),
+ t(e, [2, 10]),
+ t(e, [2, 11]),
+ t(e, [2, 12]),
+ t(e, [2, 13]),
+ t(e, [2, 14]),
+ t(e, [2, 15]),
+ t(e, [2, 16]),
+ { 41: [1, 40], 43: [1, 41] },
+ t(e, [2, 4]),
+ t(e, [2, 28]),
+ t(e, [2, 29]),
+ t(e, [2, 33]),
+ t(e, [2, 34], { 42: [1, 42], 43: [1, 43] }),
+ t(e, [2, 40], { 41: [1, 44] }),
+ t(e, [2, 35], { 43: [1, 45] }),
+ t(e, [2, 36]),
+ t(e, [2, 38], { 42: [1, 46] }),
+ t(e, [2, 37]),
+ t(e, [2, 39])
+ ],
+ defaultActions: {},
+ parseError: o(function (C, O) {
+ if (O.recoverable) this.trace(C);
+ else {
+ var D = new Error(C);
+ throw ((D.hash = O), D);
+ }
+ }, 'parseError'),
+ parse: o(function (C) {
+ var O = this,
+ D = [0],
+ P = [],
+ F = [null],
+ B = [],
+ $ = this.table,
+ z = '',
+ Y = 0,
+ Q = 0,
+ X = 0,
+ ie = 2,
+ j = 1,
+ J = B.slice.call(arguments, 1),
+ Z = Object.create(this.lexer),
+ H = { yy: {} };
+ for (var q in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, q) && (H.yy[q] = this.yy[q]);
+ Z.setInput(C, H.yy),
+ (H.yy.lexer = Z),
+ (H.yy.parser = this),
+ typeof Z.yylloc > 'u' && (Z.yylloc = {});
+ var K = Z.yylloc;
+ B.push(K);
+ var se = Z.options && Z.options.ranges;
+ typeof H.yy.parseError == 'function'
+ ? (this.parseError = H.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function ce(ge) {
+ (D.length = D.length - 2 * ge), (F.length = F.length - ge), (B.length = B.length - ge);
+ }
+ o(ce, 'popStack');
+ function ue() {
+ var ge;
+ return (
+ (ge = P.pop() || Z.lex() || j),
+ typeof ge != 'number' &&
+ (ge instanceof Array && ((P = ge), (ge = P.pop())),
+ (ge = O.symbols_[ge] || ge)),
+ ge
+ );
+ }
+ o(ue, 'lex');
+ for (var te, De, oe, ke, Ie, Se, Ue = {}, Pe, _e, me, W; ; ) {
+ if (
+ ((oe = D[D.length - 1]),
+ this.defaultActions[oe]
+ ? (ke = this.defaultActions[oe])
+ : ((te === null || typeof te > 'u') && (te = ue()), (ke = $[oe] && $[oe][te])),
+ typeof ke > 'u' || !ke.length || !ke[0])
+ ) {
+ var fe = '';
+ W = [];
+ for (Pe in $[oe])
+ this.terminals_[Pe] && Pe > ie && W.push("'" + this.terminals_[Pe] + "'");
+ Z.showPosition
+ ? (fe =
+ 'Parse error on line ' +
+ (Y + 1) +
+ `:
+` +
+ Z.showPosition() +
+ `
+Expecting ` +
+ W.join(', ') +
+ ", got '" +
+ (this.terminals_[te] || te) +
+ "'")
+ : (fe =
+ 'Parse error on line ' +
+ (Y + 1) +
+ ': Unexpected ' +
+ (te == j ? 'end of input' : "'" + (this.terminals_[te] || te) + "'")),
+ this.parseError(fe, {
+ text: Z.match,
+ token: this.terminals_[te] || te,
+ line: Z.yylineno,
+ loc: K,
+ expected: W
+ });
+ }
+ if (ke[0] instanceof Array && ke.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + oe + ', token: ' + te
+ );
+ switch (ke[0]) {
+ case 1:
+ D.push(te),
+ F.push(Z.yytext),
+ B.push(Z.yylloc),
+ D.push(ke[1]),
+ (te = null),
+ De
+ ? ((te = De), (De = null))
+ : ((Q = Z.yyleng),
+ (z = Z.yytext),
+ (Y = Z.yylineno),
+ (K = Z.yylloc),
+ X > 0 && X--);
+ break;
+ case 2:
+ if (
+ ((_e = this.productions_[ke[1]][1]),
+ (Ue.$ = F[F.length - _e]),
+ (Ue._$ = {
+ first_line: B[B.length - (_e || 1)].first_line,
+ last_line: B[B.length - 1].last_line,
+ first_column: B[B.length - (_e || 1)].first_column,
+ last_column: B[B.length - 1].last_column
+ }),
+ se &&
+ (Ue._$.range = [
+ B[B.length - (_e || 1)].range[0],
+ B[B.length - 1].range[1]
+ ]),
+ (Se = this.performAction.apply(Ue, [z, Q, Y, H.yy, ke[1], F, B].concat(J))),
+ typeof Se < 'u')
+ )
+ return Se;
+ _e &&
+ ((D = D.slice(0, -1 * _e * 2)),
+ (F = F.slice(0, -1 * _e)),
+ (B = B.slice(0, -1 * _e))),
+ D.push(this.productions_[ke[1]][0]),
+ F.push(Ue.$),
+ B.push(Ue._$),
+ (me = $[D[D.length - 2]][D[D.length - 1]]),
+ D.push(me);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ N = (function () {
+ var I = {
+ EOF: 1,
+ parseError: o(function (O, D) {
+ if (this.yy.parser) this.yy.parser.parseError(O, D);
+ else throw new Error(O);
+ }, 'parseError'),
+ setInput: o(function (C, O) {
+ return (
+ (this.yy = O || this.yy || {}),
+ (this._input = C),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var C = this._input[0];
+ (this.yytext += C),
+ this.yyleng++,
+ this.offset++,
+ (this.match += C),
+ (this.matched += C);
+ var O = C.match(/(?:\r\n?|\n).*/g);
+ return (
+ O ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ C
+ );
+ }, 'input'),
+ unput: o(function (C) {
+ var O = C.length,
+ D = C.split(/(?:\r\n?|\n)/g);
+ (this._input = C + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - O)),
+ (this.offset -= O);
+ var P = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ D.length - 1 && (this.yylineno -= D.length - 1);
+ var F = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: D
+ ? (D.length === P.length ? this.yylloc.first_column : 0) +
+ P[P.length - D.length].length -
+ D[0].length
+ : this.yylloc.first_column - O
+ }),
+ this.options.ranges && (this.yylloc.range = [F[0], F[0] + this.yyleng - O]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (C) {
+ this.unput(this.match.slice(C));
+ }, 'less'),
+ pastInput: o(function () {
+ var C = this.matched.substr(0, this.matched.length - this.match.length);
+ return (C.length > 20 ? '...' : '') + C.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var C = this.match;
+ return (
+ C.length < 20 && (C += this._input.substr(0, 20 - C.length)),
+ (C.substr(0, 20) + (C.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var C = this.pastInput(),
+ O = new Array(C.length + 1).join('-');
+ return (
+ C +
+ this.upcomingInput() +
+ `
+` +
+ O +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (C, O) {
+ var D, P, F;
+ if (
+ (this.options.backtrack_lexer &&
+ ((F = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (F.yylloc.range = this.yylloc.range.slice(0))),
+ (P = C[0].match(/(?:\r\n?|\n).*/g)),
+ P && (this.yylineno += P.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: P
+ ? P[P.length - 1].length - P[P.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + C[0].length
+ }),
+ (this.yytext += C[0]),
+ (this.match += C[0]),
+ (this.matches = C),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(C[0].length)),
+ (this.matched += C[0]),
+ (D = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ O,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ D)
+ )
+ return D;
+ if (this._backtrack) {
+ for (var B in F) this[B] = F[B];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var C, O, D, P;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var F = this._currentRules(), B = 0; B < F.length; B++)
+ if (
+ ((D = this._input.match(this.rules[F[B]])),
+ D && (!O || D[0].length > O[0].length))
+ ) {
+ if (((O = D), (P = B), this.options.backtrack_lexer)) {
+ if (((C = this.test_match(D, F[B])), C !== !1)) return C;
+ if (this._backtrack) {
+ O = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return O
+ ? ((C = this.test_match(O, F[P])), C !== !1 ? C : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var O = this.next();
+ return O || this.lex();
+ }, 'lex'),
+ begin: o(function (O) {
+ this.conditionStack.push(O);
+ }, 'begin'),
+ popState: o(function () {
+ var O = this.conditionStack.length - 1;
+ return O > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (O) {
+ return (
+ (O = this.conditionStack.length - 1 - Math.abs(O || 0)),
+ O >= 0 ? this.conditionStack[O] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (O) {
+ this.begin(O);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (O, D, P, F) {
+ var B = F;
+ switch (P) {
+ case 0:
+ return this.begin('open_directive'), 'open_directive';
+ break;
+ case 1:
+ return this.begin('acc_title'), 31;
+ break;
+ case 2:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 3:
+ return this.begin('acc_descr'), 33;
+ break;
+ case 4:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 5:
+ this.begin('acc_descr_multiline');
+ break;
+ case 6:
+ this.popState();
+ break;
+ case 7:
+ return 'acc_descr_multiline_value';
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ return 10;
+ case 12:
+ break;
+ case 13:
+ break;
+ case 14:
+ this.begin('href');
+ break;
+ case 15:
+ this.popState();
+ break;
+ case 16:
+ return 43;
+ case 17:
+ this.begin('callbackname');
+ break;
+ case 18:
+ this.popState();
+ break;
+ case 19:
+ this.popState(), this.begin('callbackargs');
+ break;
+ case 20:
+ return 41;
+ case 21:
+ this.popState();
+ break;
+ case 22:
+ return 42;
+ case 23:
+ this.begin('click');
+ break;
+ case 24:
+ this.popState();
+ break;
+ case 25:
+ return 40;
+ case 26:
+ return 4;
+ case 27:
+ return 22;
+ case 28:
+ return 23;
+ case 29:
+ return 24;
+ case 30:
+ return 25;
+ case 31:
+ return 26;
+ case 32:
+ return 28;
+ case 33:
+ return 27;
+ case 34:
+ return 29;
+ case 35:
+ return 12;
+ case 36:
+ return 13;
+ case 37:
+ return 14;
+ case 38:
+ return 15;
+ case 39:
+ return 16;
+ case 40:
+ return 17;
+ case 41:
+ return 18;
+ case 42:
+ return 20;
+ case 43:
+ return 21;
+ case 44:
+ return 'date';
+ case 45:
+ return 30;
+ case 46:
+ return 'accDescription';
+ case 47:
+ return 36;
+ case 48:
+ return 38;
+ case 49:
+ return 39;
+ case 50:
+ return ':';
+ case 51:
+ return 6;
+ case 52:
+ return 'INVALID';
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:%%\{)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:%%(?!\{)*[^\n]*)/i,
+ /^(?:[^\}]%%*[^\n]*)/i,
+ /^(?:%%*[^\n]*[\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:%[^\n]*)/i,
+ /^(?:href[\s]+["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:call[\s]+)/i,
+ /^(?:\([\s]*\))/i,
+ /^(?:\()/i,
+ /^(?:[^(]*)/i,
+ /^(?:\))/i,
+ /^(?:[^)]*)/i,
+ /^(?:click[\s]+)/i,
+ /^(?:[\s\n])/i,
+ /^(?:[^\s\n]*)/i,
+ /^(?:gantt\b)/i,
+ /^(?:dateFormat\s[^#\n;]+)/i,
+ /^(?:inclusiveEndDates\b)/i,
+ /^(?:topAxis\b)/i,
+ /^(?:axisFormat\s[^#\n;]+)/i,
+ /^(?:tickInterval\s[^#\n;]+)/i,
+ /^(?:includes\s[^#\n;]+)/i,
+ /^(?:excludes\s[^#\n;]+)/i,
+ /^(?:todayMarker\s[^\n;]+)/i,
+ /^(?:weekday\s+monday\b)/i,
+ /^(?:weekday\s+tuesday\b)/i,
+ /^(?:weekday\s+wednesday\b)/i,
+ /^(?:weekday\s+thursday\b)/i,
+ /^(?:weekday\s+friday\b)/i,
+ /^(?:weekday\s+saturday\b)/i,
+ /^(?:weekday\s+sunday\b)/i,
+ /^(?:weekend\s+friday\b)/i,
+ /^(?:weekend\s+saturday\b)/i,
+ /^(?:\d\d\d\d-\d\d-\d\d\b)/i,
+ /^(?:title\s[^\n]+)/i,
+ /^(?:accDescription\s[^#\n;]+)/i,
+ /^(?:section\s[^\n]+)/i,
+ /^(?:[^:\n]+)/i,
+ /^(?::[^#\n;]+)/i,
+ /^(?::)/i,
+ /^(?:$)/i,
+ /^(?:.)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [6, 7], inclusive: !1 },
+ acc_descr: { rules: [4], inclusive: !1 },
+ acc_title: { rules: [2], inclusive: !1 },
+ callbackargs: { rules: [21, 22], inclusive: !1 },
+ callbackname: { rules: [18, 19, 20], inclusive: !1 },
+ href: { rules: [15, 16], inclusive: !1 },
+ click: { rules: [24, 25], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 17, 23, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return I;
+ })();
+ M.lexer = N;
+ function k() {
+ this.yy = {};
+ }
+ return o(k, 'Parser'), (k.prototype = M), (M.Parser = k), new k();
+ })();
+ CI.parser = CI;
+ Ule = CI;
+ });
+ var Yle = gi((SI, AI) => {
+ 'use strict';
+ (function (t, e) {
+ typeof SI == 'object' && typeof AI < 'u'
+ ? (AI.exports = e())
+ : typeof define == 'function' && define.amd
+ ? define(e)
+ : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_isoWeek = e());
+ })(SI, function () {
+ 'use strict';
+ var t = 'day';
+ return function (e, r, n) {
+ var i = o(function (l) {
+ return l.add(4 - l.isoWeekday(), t);
+ }, 'a'),
+ a = r.prototype;
+ (a.isoWeekYear = function () {
+ return i(this).year();
+ }),
+ (a.isoWeek = function (l) {
+ if (!this.$utils().u(l)) return this.add(7 * (l - this.isoWeek()), t);
+ var u,
+ h,
+ f,
+ d,
+ p = i(this),
+ m =
+ ((u = this.isoWeekYear()),
+ (h = this.$u),
+ (f = (h ? n.utc : n)().year(u).startOf('year')),
+ (d = 4 - f.isoWeekday()),
+ f.isoWeekday() > 4 && (d += 7),
+ f.add(d, t));
+ return p.diff(m, 'week') + 1;
+ }),
+ (a.isoWeekday = function (l) {
+ return this.$utils().u(l) ? this.day() || 7 : this.day(this.day() % 7 ? l : l - 7);
+ });
+ var s = a.startOf;
+ a.startOf = function (l, u) {
+ var h = this.$utils(),
+ f = !!h.u(u) || u;
+ return h.p(l) === 'isoweek'
+ ? f
+ ? this.date(this.date() - (this.isoWeekday() - 1)).startOf('day')
+ : this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf('day')
+ : s.bind(this)(l, u);
+ };
+ };
+ });
+ });
+ var Wle = gi((_I, LI) => {
+ 'use strict';
+ (function (t, e) {
+ typeof _I == 'object' && typeof LI < 'u'
+ ? (LI.exports = e())
+ : typeof define == 'function' && define.amd
+ ? define(e)
+ : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_customParseFormat = e());
+ })(_I, function () {
+ 'use strict';
+ var t = {
+ LTS: 'h:mm:ss A',
+ LT: 'h:mm A',
+ L: 'MM/DD/YYYY',
+ LL: 'MMMM D, YYYY',
+ LLL: 'MMMM D, YYYY h:mm A',
+ LLLL: 'dddd, MMMM D, YYYY h:mm A'
+ },
+ e = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,
+ r = /\d/,
+ n = /\d\d/,
+ i = /\d\d?/,
+ a = /\d*[^-_:/,()\s\d]+/,
+ s = {},
+ l = o(function (g) {
+ return (g = +g) + (g > 68 ? 1900 : 2e3);
+ }, 'a'),
+ u = o(function (g) {
+ return function (y) {
+ this[g] = +y;
+ };
+ }, 'f'),
+ h = [
+ /[+-]\d\d:?(\d\d)?|Z/,
+ function (g) {
+ (this.zone || (this.zone = {})).offset = (function (y) {
+ if (!y || y === 'Z') return 0;
+ var v = y.match(/([+-]|\d\d)/g),
+ x = 60 * v[1] + (+v[2] || 0);
+ return x === 0 ? 0 : v[0] === '+' ? -x : x;
+ })(g);
+ }
+ ],
+ f = o(function (g) {
+ var y = s[g];
+ return y && (y.indexOf ? y : y.s.concat(y.f));
+ }, 'u'),
+ d = o(function (g, y) {
+ var v,
+ x = s.meridiem;
+ if (x) {
+ for (var b = 1; b <= 24; b += 1)
+ if (g.indexOf(x(b, 0, y)) > -1) {
+ v = b > 12;
+ break;
+ }
+ } else v = g === (y ? 'pm' : 'PM');
+ return v;
+ }, 'd'),
+ p = {
+ A: [
+ a,
+ function (g) {
+ this.afternoon = d(g, !1);
+ }
+ ],
+ a: [
+ a,
+ function (g) {
+ this.afternoon = d(g, !0);
+ }
+ ],
+ Q: [
+ r,
+ function (g) {
+ this.month = 3 * (g - 1) + 1;
+ }
+ ],
+ S: [
+ r,
+ function (g) {
+ this.milliseconds = 100 * +g;
+ }
+ ],
+ SS: [
+ n,
+ function (g) {
+ this.milliseconds = 10 * +g;
+ }
+ ],
+ SSS: [
+ /\d{3}/,
+ function (g) {
+ this.milliseconds = +g;
+ }
+ ],
+ s: [i, u('seconds')],
+ ss: [i, u('seconds')],
+ m: [i, u('minutes')],
+ mm: [i, u('minutes')],
+ H: [i, u('hours')],
+ h: [i, u('hours')],
+ HH: [i, u('hours')],
+ hh: [i, u('hours')],
+ D: [i, u('day')],
+ DD: [n, u('day')],
+ Do: [
+ a,
+ function (g) {
+ var y = s.ordinal,
+ v = g.match(/\d+/);
+ if (((this.day = v[0]), y))
+ for (var x = 1; x <= 31; x += 1) y(x).replace(/\[|\]/g, '') === g && (this.day = x);
+ }
+ ],
+ w: [i, u('week')],
+ ww: [n, u('week')],
+ M: [i, u('month')],
+ MM: [n, u('month')],
+ MMM: [
+ a,
+ function (g) {
+ var y = f('months'),
+ v =
+ (
+ f('monthsShort') ||
+ y.map(function (x) {
+ return x.slice(0, 3);
+ })
+ ).indexOf(g) + 1;
+ if (v < 1) throw new Error();
+ this.month = v % 12 || v;
+ }
+ ],
+ MMMM: [
+ a,
+ function (g) {
+ var y = f('months').indexOf(g) + 1;
+ if (y < 1) throw new Error();
+ this.month = y % 12 || y;
+ }
+ ],
+ Y: [/[+-]?\d+/, u('year')],
+ YY: [
+ n,
+ function (g) {
+ this.year = l(g);
+ }
+ ],
+ YYYY: [/\d{4}/, u('year')],
+ Z: h,
+ ZZ: h
+ };
+ function m(g) {
+ var y, v;
+ (y = g), (v = s && s.formats);
+ for (
+ var x = (g = y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (A, L, M) {
+ var N = M && M.toUpperCase();
+ return (
+ L ||
+ v[M] ||
+ t[M] ||
+ v[N].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (k, I, C) {
+ return I || C.slice(1);
+ })
+ );
+ })).match(e),
+ b = x.length,
+ w = 0;
+ w < b;
+ w += 1
+ ) {
+ var S = x[w],
+ T = p[S],
+ E = T && T[0],
+ _ = T && T[1];
+ x[w] = _ ? { regex: E, parser: _ } : S.replace(/^\[|\]$/g, '');
+ }
+ return function (A) {
+ for (var L = {}, M = 0, N = 0; M < b; M += 1) {
+ var k = x[M];
+ if (typeof k == 'string') N += k.length;
+ else {
+ var I = k.regex,
+ C = k.parser,
+ O = A.slice(N),
+ D = I.exec(O)[0];
+ C.call(L, D), (A = A.replace(D, ''));
+ }
+ }
+ return (
+ (function (P) {
+ var F = P.afternoon;
+ if (F !== void 0) {
+ var B = P.hours;
+ F ? B < 12 && (P.hours += 12) : B === 12 && (P.hours = 0), delete P.afternoon;
+ }
+ })(L),
+ L
+ );
+ };
+ }
+ return (
+ o(m, 'l'),
+ function (g, y, v) {
+ (v.p.customParseFormat = !0), g && g.parseTwoDigitYear && (l = g.parseTwoDigitYear);
+ var x = y.prototype,
+ b = x.parse;
+ x.parse = function (w) {
+ var S = w.date,
+ T = w.utc,
+ E = w.args;
+ this.$u = T;
+ var _ = E[1];
+ if (typeof _ == 'string') {
+ var A = E[2] === !0,
+ L = E[3] === !0,
+ M = A || L,
+ N = E[2];
+ L && (N = E[2]),
+ (s = this.$locale()),
+ !A && N && (s = v.Ls[N]),
+ (this.$d = (function (O, D, P, F) {
+ try {
+ if (['x', 'X'].indexOf(D) > -1) return new Date((D === 'X' ? 1e3 : 1) * O);
+ var B = m(D)(O),
+ $ = B.year,
+ z = B.month,
+ Y = B.day,
+ Q = B.hours,
+ X = B.minutes,
+ ie = B.seconds,
+ j = B.milliseconds,
+ J = B.zone,
+ Z = B.week,
+ H = new Date(),
+ q = Y || ($ || z ? 1 : H.getDate()),
+ K = $ || H.getFullYear(),
+ se = 0;
+ ($ && !z) || (se = z > 0 ? z - 1 : H.getMonth());
+ var ce,
+ ue = Q || 0,
+ te = X || 0,
+ De = ie || 0,
+ oe = j || 0;
+ return J
+ ? new Date(Date.UTC(K, se, q, ue, te, De, oe + 60 * J.offset * 1e3))
+ : P
+ ? new Date(Date.UTC(K, se, q, ue, te, De, oe))
+ : ((ce = new Date(K, se, q, ue, te, De, oe)),
+ Z && (ce = F(ce).week(Z).toDate()),
+ ce);
+ } catch {
+ return new Date('');
+ }
+ })(S, _, T, v)),
+ this.init(),
+ N && N !== !0 && (this.$L = this.locale(N).$L),
+ M && S != this.format(_) && (this.$d = new Date('')),
+ (s = {});
+ } else if (_ instanceof Array)
+ for (var k = _.length, I = 1; I <= k; I += 1) {
+ E[1] = _[I - 1];
+ var C = v.apply(this, E);
+ if (C.isValid()) {
+ (this.$d = C.$d), (this.$L = C.$L), this.init();
+ break;
+ }
+ I === k && (this.$d = new Date(''));
+ }
+ else b.call(this, w);
+ };
+ }
+ );
+ });
+ });
+ var qle = gi((DI, RI) => {
+ 'use strict';
+ (function (t, e) {
+ typeof DI == 'object' && typeof RI < 'u'
+ ? (RI.exports = e())
+ : typeof define == 'function' && define.amd
+ ? define(e)
+ : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_advancedFormat = e());
+ })(DI, function () {
+ 'use strict';
+ return function (t, e) {
+ var r = e.prototype,
+ n = r.format;
+ r.format = function (i) {
+ var a = this,
+ s = this.$locale();
+ if (!this.isValid()) return n.bind(this)(i);
+ var l = this.$utils(),
+ u = (i || 'YYYY-MM-DDTHH:mm:ssZ').replace(
+ /\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,
+ function (h) {
+ switch (h) {
+ case 'Q':
+ return Math.ceil((a.$M + 1) / 3);
+ case 'Do':
+ return s.ordinal(a.$D);
+ case 'gggg':
+ return a.weekYear();
+ case 'GGGG':
+ return a.isoWeekYear();
+ case 'wo':
+ return s.ordinal(a.week(), 'W');
+ case 'w':
+ case 'ww':
+ return l.s(a.week(), h === 'w' ? 1 : 2, '0');
+ case 'W':
+ case 'WW':
+ return l.s(a.isoWeek(), h === 'W' ? 1 : 2, '0');
+ case 'k':
+ case 'kk':
+ return l.s(String(a.$H === 0 ? 24 : a.$H), h === 'k' ? 1 : 2, '0');
+ case 'X':
+ return Math.floor(a.$d.getTime() / 1e3);
+ case 'x':
+ return a.$d.getTime();
+ case 'z':
+ return '[' + a.offsetName() + ']';
+ case 'zzz':
+ return '[' + a.offsetName('long') + ']';
+ default:
+ return h;
+ }
+ }
+ );
+ return n.bind(this)(u);
+ };
+ };
+ });
+ });
+ function cce(t, e, r) {
+ let n = !0;
+ for (; n; )
+ (n = !1),
+ r.forEach(function (i) {
+ let a = '^\\s*' + i + '\\s*$',
+ s = new RegExp(a);
+ t[0].match(s) && ((e[i] = !0), t.shift(1), (n = !0));
+ });
+ }
+ var Kle,
+ yo,
+ Qle,
+ Zle,
+ Jle,
+ Xle,
+ Pc,
+ OI,
+ PI,
+ BI,
+ cx,
+ ux,
+ FI,
+ zI,
+ aE,
+ Rg,
+ GI,
+ ece,
+ $I,
+ hx,
+ VI,
+ UI,
+ sE,
+ NI,
+ OBe,
+ PBe,
+ BBe,
+ FBe,
+ zBe,
+ GBe,
+ $Be,
+ VBe,
+ UBe,
+ HBe,
+ YBe,
+ WBe,
+ qBe,
+ XBe,
+ jBe,
+ KBe,
+ QBe,
+ ZBe,
+ JBe,
+ eFe,
+ tFe,
+ rFe,
+ nFe,
+ tce,
+ iFe,
+ aFe,
+ sFe,
+ rce,
+ oFe,
+ MI,
+ nce,
+ ice,
+ nE,
+ Dg,
+ lFe,
+ cFe,
+ II,
+ iE,
+ zi,
+ ace,
+ uFe,
+ C0,
+ hFe,
+ jle,
+ fFe,
+ sce,
+ dFe,
+ oce,
+ pFe,
+ mFe,
+ lce,
+ uce = R(() => {
+ 'use strict';
+ (Kle = Xi(Up(), 1)), (yo = Xi(Nb(), 1)), (Qle = Xi(Yle(), 1)), (Zle = Xi(Wle(), 1)), (Jle = Xi(qle(), 1));
+ ut();
+ _t();
+ xr();
+ bi();
+ yo.default.extend(Qle.default);
+ yo.default.extend(Zle.default);
+ yo.default.extend(Jle.default);
+ (Xle = { friday: 5, saturday: 6 }),
+ (Pc = ''),
+ (OI = ''),
+ (BI = ''),
+ (cx = []),
+ (ux = []),
+ (FI = new Map()),
+ (zI = []),
+ (aE = []),
+ (Rg = ''),
+ (GI = ''),
+ (ece = ['active', 'done', 'crit', 'milestone']),
+ ($I = []),
+ (hx = !1),
+ (VI = !1),
+ (UI = 'sunday'),
+ (sE = 'saturday'),
+ (NI = 0),
+ (OBe = o(function () {
+ (zI = []),
+ (aE = []),
+ (Rg = ''),
+ ($I = []),
+ (nE = 0),
+ (II = void 0),
+ (iE = void 0),
+ (zi = []),
+ (Pc = ''),
+ (OI = ''),
+ (GI = ''),
+ (PI = void 0),
+ (BI = ''),
+ (cx = []),
+ (ux = []),
+ (hx = !1),
+ (VI = !1),
+ (NI = 0),
+ (FI = new Map()),
+ vr(),
+ (UI = 'sunday'),
+ (sE = 'saturday');
+ }, 'clear')),
+ (PBe = o(function (t) {
+ OI = t;
+ }, 'setAxisFormat')),
+ (BBe = o(function () {
+ return OI;
+ }, 'getAxisFormat')),
+ (FBe = o(function (t) {
+ PI = t;
+ }, 'setTickInterval')),
+ (zBe = o(function () {
+ return PI;
+ }, 'getTickInterval')),
+ (GBe = o(function (t) {
+ BI = t;
+ }, 'setTodayMarker')),
+ ($Be = o(function () {
+ return BI;
+ }, 'getTodayMarker')),
+ (VBe = o(function (t) {
+ Pc = t;
+ }, 'setDateFormat')),
+ (UBe = o(function () {
+ hx = !0;
+ }, 'enableInclusiveEndDates')),
+ (HBe = o(function () {
+ return hx;
+ }, 'endDatesAreInclusive')),
+ (YBe = o(function () {
+ VI = !0;
+ }, 'enableTopAxis')),
+ (WBe = o(function () {
+ return VI;
+ }, 'topAxisEnabled')),
+ (qBe = o(function (t) {
+ GI = t;
+ }, 'setDisplayMode')),
+ (XBe = o(function () {
+ return GI;
+ }, 'getDisplayMode')),
+ (jBe = o(function () {
+ return Pc;
+ }, 'getDateFormat')),
+ (KBe = o(function (t) {
+ cx = t.toLowerCase().split(/[\s,]+/);
+ }, 'setIncludes')),
+ (QBe = o(function () {
+ return cx;
+ }, 'getIncludes')),
+ (ZBe = o(function (t) {
+ ux = t.toLowerCase().split(/[\s,]+/);
+ }, 'setExcludes')),
+ (JBe = o(function () {
+ return ux;
+ }, 'getExcludes')),
+ (eFe = o(function () {
+ return FI;
+ }, 'getLinks')),
+ (tFe = o(function (t) {
+ (Rg = t), zI.push(t);
+ }, 'addSection')),
+ (rFe = o(function () {
+ return zI;
+ }, 'getSections')),
+ (nFe = o(function () {
+ let t = jle(),
+ e = 10,
+ r = 0;
+ for (; !t && r < e; ) (t = jle()), r++;
+ return (aE = zi), aE;
+ }, 'getTasks')),
+ (tce = o(function (t, e, r, n) {
+ return n.includes(t.format(e.trim()))
+ ? !1
+ : (r.includes('weekends') && (t.isoWeekday() === Xle[sE] || t.isoWeekday() === Xle[sE] + 1)) ||
+ r.includes(t.format('dddd').toLowerCase())
+ ? !0
+ : r.includes(t.format(e.trim()));
+ }, 'isInvalidDate')),
+ (iFe = o(function (t) {
+ UI = t;
+ }, 'setWeekday')),
+ (aFe = o(function () {
+ return UI;
+ }, 'getWeekday')),
+ (sFe = o(function (t) {
+ sE = t;
+ }, 'setWeekend')),
+ (rce = o(function (t, e, r, n) {
+ if (!r.length || t.manualEndTime) return;
+ let i;
+ t.startTime instanceof Date
+ ? (i = (0, yo.default)(t.startTime))
+ : (i = (0, yo.default)(t.startTime, e, !0)),
+ (i = i.add(1, 'd'));
+ let a;
+ t.endTime instanceof Date
+ ? (a = (0, yo.default)(t.endTime))
+ : (a = (0, yo.default)(t.endTime, e, !0));
+ let [s, l] = oFe(i, a, e, r, n);
+ (t.endTime = s.toDate()), (t.renderEndTime = l);
+ }, 'checkTaskDates')),
+ (oFe = o(function (t, e, r, n, i) {
+ let a = !1,
+ s = null;
+ for (; t <= e; )
+ a || (s = e.toDate()), (a = tce(t, r, n, i)), a && (e = e.add(1, 'd')), (t = t.add(1, 'd'));
+ return [e, s];
+ }, 'fixTaskDates')),
+ (MI = o(function (t, e, r) {
+ r = r.trim();
+ let i = /^after\s+(?[\d\w- ]+)/.exec(r);
+ if (i !== null) {
+ let s = null;
+ for (let u of i.groups.ids.split(' ')) {
+ let h = C0(u);
+ h !== void 0 && (!s || h.endTime > s.endTime) && (s = h);
+ }
+ if (s) return s.endTime;
+ let l = new Date();
+ return l.setHours(0, 0, 0, 0), l;
+ }
+ let a = (0, yo.default)(r, e.trim(), !0);
+ if (a.isValid()) return a.toDate();
+ {
+ V.debug('Invalid date:' + r), V.debug('With date format:' + e.trim());
+ let s = new Date(r);
+ if (s === void 0 || isNaN(s.getTime()) || s.getFullYear() < -1e4 || s.getFullYear() > 1e4)
+ throw new Error('Invalid date:' + r);
+ return s;
+ }
+ }, 'getStartDate')),
+ (nce = o(function (t) {
+ let e = /^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());
+ return e !== null ? [Number.parseFloat(e[1]), e[2]] : [NaN, 'ms'];
+ }, 'parseDuration')),
+ (ice = o(function (t, e, r, n = !1) {
+ r = r.trim();
+ let a = /^until\s+(?[\d\w- ]+)/.exec(r);
+ if (a !== null) {
+ let f = null;
+ for (let p of a.groups.ids.split(' ')) {
+ let m = C0(p);
+ m !== void 0 && (!f || m.startTime < f.startTime) && (f = m);
+ }
+ if (f) return f.startTime;
+ let d = new Date();
+ return d.setHours(0, 0, 0, 0), d;
+ }
+ let s = (0, yo.default)(r, e.trim(), !0);
+ if (s.isValid()) return n && (s = s.add(1, 'd')), s.toDate();
+ let l = (0, yo.default)(t),
+ [u, h] = nce(r);
+ if (!Number.isNaN(u)) {
+ let f = l.add(u, h);
+ f.isValid() && (l = f);
+ }
+ return l.toDate();
+ }, 'getEndDate')),
+ (nE = 0),
+ (Dg = o(function (t) {
+ return t === void 0 ? ((nE = nE + 1), 'task' + nE) : t;
+ }, 'parseId')),
+ (lFe = o(function (t, e) {
+ let r;
+ e.substr(0, 1) === ':' ? (r = e.substr(1, e.length)) : (r = e);
+ let n = r.split(','),
+ i = {};
+ cce(n, i, ece);
+ for (let s = 0; s < n.length; s++) n[s] = n[s].trim();
+ let a = '';
+ switch (n.length) {
+ case 1:
+ (i.id = Dg()), (i.startTime = t.endTime), (a = n[0]);
+ break;
+ case 2:
+ (i.id = Dg()), (i.startTime = MI(void 0, Pc, n[0])), (a = n[1]);
+ break;
+ case 3:
+ (i.id = Dg(n[0])), (i.startTime = MI(void 0, Pc, n[1])), (a = n[2]);
+ break;
+ default:
+ }
+ return (
+ a &&
+ ((i.endTime = ice(i.startTime, Pc, a, hx)),
+ (i.manualEndTime = (0, yo.default)(a, 'YYYY-MM-DD', !0).isValid()),
+ rce(i, Pc, ux, cx)),
+ i
+ );
+ }, 'compileData')),
+ (cFe = o(function (t, e) {
+ let r;
+ e.substr(0, 1) === ':' ? (r = e.substr(1, e.length)) : (r = e);
+ let n = r.split(','),
+ i = {};
+ cce(n, i, ece);
+ for (let a = 0; a < n.length; a++) n[a] = n[a].trim();
+ switch (n.length) {
+ case 1:
+ (i.id = Dg()), (i.startTime = { type: 'prevTaskEnd', id: t }), (i.endTime = { data: n[0] });
+ break;
+ case 2:
+ (i.id = Dg()),
+ (i.startTime = { type: 'getStartDate', startData: n[0] }),
+ (i.endTime = { data: n[1] });
+ break;
+ case 3:
+ (i.id = Dg(n[0])),
+ (i.startTime = { type: 'getStartDate', startData: n[1] }),
+ (i.endTime = { data: n[2] });
+ break;
+ default:
+ }
+ return i;
+ }, 'parseData')),
+ (zi = []),
+ (ace = {}),
+ (uFe = o(function (t, e) {
+ let r = {
+ section: Rg,
+ type: Rg,
+ processed: !1,
+ manualEndTime: !1,
+ renderEndTime: null,
+ raw: { data: e },
+ task: t,
+ classes: []
+ },
+ n = cFe(iE, e);
+ (r.raw.startTime = n.startTime),
+ (r.raw.endTime = n.endTime),
+ (r.id = n.id),
+ (r.prevTaskId = iE),
+ (r.active = n.active),
+ (r.done = n.done),
+ (r.crit = n.crit),
+ (r.milestone = n.milestone),
+ (r.order = NI),
+ NI++;
+ let i = zi.push(r);
+ (iE = r.id), (ace[r.id] = i - 1);
+ }, 'addTask')),
+ (C0 = o(function (t) {
+ let e = ace[t];
+ return zi[e];
+ }, 'findTaskById')),
+ (hFe = o(function (t, e) {
+ let r = {
+ section: Rg,
+ type: Rg,
+ description: t,
+ task: t,
+ classes: []
+ },
+ n = lFe(II, e);
+ (r.startTime = n.startTime),
+ (r.endTime = n.endTime),
+ (r.id = n.id),
+ (r.active = n.active),
+ (r.done = n.done),
+ (r.crit = n.crit),
+ (r.milestone = n.milestone),
+ (II = r),
+ aE.push(r);
+ }, 'addTaskOrg')),
+ (jle = o(function () {
+ let t = o(function (r) {
+ let n = zi[r],
+ i = '';
+ switch (zi[r].raw.startTime.type) {
+ case 'prevTaskEnd': {
+ let a = C0(n.prevTaskId);
+ n.startTime = a.endTime;
+ break;
+ }
+ case 'getStartDate':
+ (i = MI(void 0, Pc, zi[r].raw.startTime.startData)), i && (zi[r].startTime = i);
+ break;
+ }
+ return (
+ zi[r].startTime &&
+ ((zi[r].endTime = ice(zi[r].startTime, Pc, zi[r].raw.endTime.data, hx)),
+ zi[r].endTime &&
+ ((zi[r].processed = !0),
+ (zi[r].manualEndTime = (0, yo.default)(
+ zi[r].raw.endTime.data,
+ 'YYYY-MM-DD',
+ !0
+ ).isValid()),
+ rce(zi[r], Pc, ux, cx))),
+ zi[r].processed
+ );
+ }, 'compileTask'),
+ e = !0;
+ for (let [r, n] of zi.entries()) t(r), (e = e && n.processed);
+ return e;
+ }, 'compileTasks')),
+ (fFe = o(function (t, e) {
+ let r = e;
+ de().securityLevel !== 'loose' && (r = (0, Kle.sanitizeUrl)(e)),
+ t.split(',').forEach(function (n) {
+ C0(n) !== void 0 &&
+ (oce(n, () => {
+ window.open(r, '_self');
+ }),
+ FI.set(n, r));
+ }),
+ sce(t, 'clickable');
+ }, 'setLink')),
+ (sce = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ let n = C0(r);
+ n !== void 0 && n.classes.push(e);
+ });
+ }, 'setClass')),
+ (dFe = o(function (t, e, r) {
+ if (de().securityLevel !== 'loose' || e === void 0) return;
+ let n = [];
+ if (typeof r == 'string') {
+ n = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
+ for (let a = 0; a < n.length; a++) {
+ let s = n[a].trim();
+ s.startsWith('"') && s.endsWith('"') && (s = s.substr(1, s.length - 2)), (n[a] = s);
+ }
+ }
+ n.length === 0 && n.push(t),
+ C0(t) !== void 0 &&
+ oce(t, () => {
+ Lt.runFunc(e, ...n);
+ });
+ }, 'setClickFun')),
+ (oce = o(function (t, e) {
+ $I.push(
+ function () {
+ let r = document.querySelector(`[id="${t}"]`);
+ r !== null &&
+ r.addEventListener('click', function () {
+ e();
+ });
+ },
+ function () {
+ let r = document.querySelector(`[id="${t}-text"]`);
+ r !== null &&
+ r.addEventListener('click', function () {
+ e();
+ });
+ }
+ );
+ }, 'pushFun')),
+ (pFe = o(function (t, e, r) {
+ t.split(',').forEach(function (n) {
+ dFe(n, e, r);
+ }),
+ sce(t, 'clickable');
+ }, 'setClickEvent')),
+ (mFe = o(function (t) {
+ $I.forEach(function (e) {
+ e(t);
+ });
+ }, 'bindFunctions')),
+ (lce = {
+ getConfig: o(() => de().gantt, 'getConfig'),
+ clear: OBe,
+ setDateFormat: VBe,
+ getDateFormat: jBe,
+ enableInclusiveEndDates: UBe,
+ endDatesAreInclusive: HBe,
+ enableTopAxis: YBe,
+ topAxisEnabled: WBe,
+ setAxisFormat: PBe,
+ getAxisFormat: BBe,
+ setTickInterval: FBe,
+ getTickInterval: zBe,
+ setTodayMarker: GBe,
+ getTodayMarker: $Be,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ setDisplayMode: qBe,
+ getDisplayMode: XBe,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ addSection: tFe,
+ getSections: rFe,
+ getTasks: nFe,
+ addTask: uFe,
+ findTaskById: C0,
+ addTaskOrg: hFe,
+ setIncludes: KBe,
+ getIncludes: QBe,
+ setExcludes: ZBe,
+ getExcludes: JBe,
+ setClickEvent: pFe,
+ setLink: fFe,
+ getLinks: eFe,
+ bindFunctions: mFe,
+ parseDuration: nce,
+ isInvalidDate: tce,
+ setWeekday: iFe,
+ getWeekday: aFe,
+ setWeekend: sFe
+ });
+ o(cce, 'getTaskTags');
+ });
+ var oE,
+ gFe,
+ hce,
+ yFe,
+ Yu,
+ vFe,
+ fce,
+ dce = R(() => {
+ 'use strict';
+ oE = Xi(Nb(), 1);
+ ut();
+ Zt();
+ rr();
+ _t();
+ Yn();
+ (gFe = o(function () {
+ V.debug('Something is calling, setConf, remove the call');
+ }, 'setConf')),
+ (hce = {
+ monday: _h,
+ tuesday: k3,
+ wednesday: E3,
+ thursday: cc,
+ friday: C3,
+ saturday: S3,
+ sunday: yl
+ }),
+ (yFe = o((t, e) => {
+ let r = [...t].map(() => -1 / 0),
+ n = [...t].sort((a, s) => a.startTime - s.startTime || a.order - s.order),
+ i = 0;
+ for (let a of n)
+ for (let s = 0; s < r.length; s++)
+ if (a.startTime >= r[s]) {
+ (r[s] = a.endTime), (a.order = s + e), s > i && (i = s);
+ break;
+ }
+ return i;
+ }, 'getMaxIntersections')),
+ (vFe = o(function (t, e, r, n) {
+ let i = de().gantt,
+ a = de().securityLevel,
+ s;
+ a === 'sandbox' && (s = $e('#i' + e));
+ let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'),
+ u = a === 'sandbox' ? s.nodes()[0].contentDocument : document,
+ h = u.getElementById(e);
+ (Yu = h.parentElement.offsetWidth),
+ Yu === void 0 && (Yu = 1200),
+ i.useWidth !== void 0 && (Yu = i.useWidth);
+ let f = n.db.getTasks(),
+ d = [];
+ for (let A of f) d.push(A.type);
+ d = _(d);
+ let p = {},
+ m = 2 * i.topPadding;
+ if (n.db.getDisplayMode() === 'compact' || i.displayMode === 'compact') {
+ let A = {};
+ for (let M of f) A[M.section] === void 0 ? (A[M.section] = [M]) : A[M.section].push(M);
+ let L = 0;
+ for (let M of Object.keys(A)) {
+ let N = yFe(A[M], L) + 1;
+ (L += N), (m += N * (i.barHeight + i.barGap)), (p[M] = N);
+ }
+ } else {
+ m += f.length * (i.barHeight + i.barGap);
+ for (let A of d) p[A] = f.filter((L) => L.type === A).length;
+ }
+ h.setAttribute('viewBox', '0 0 ' + Yu + ' ' + m);
+ let g = l.select(`[id="${e}"]`),
+ y = L3()
+ .domain([
+ I4(f, function (A) {
+ return A.startTime;
+ }),
+ M4(f, function (A) {
+ return A.endTime;
+ })
+ ])
+ .rangeRound([0, Yu - i.leftPadding - i.rightPadding]);
+ function v(A, L) {
+ let M = A.startTime,
+ N = L.startTime,
+ k = 0;
+ return M > N ? (k = 1) : M < N && (k = -1), k;
+ }
+ o(v, 'taskCompare'),
+ f.sort(v),
+ x(f, Yu, m),
+ Sr(g, m, Yu, i.useMaxWidth),
+ g
+ .append('text')
+ .text(n.db.getDiagramTitle())
+ .attr('x', Yu / 2)
+ .attr('y', i.titleTopMargin)
+ .attr('class', 'titleText');
+ function x(A, L, M) {
+ let N = i.barHeight,
+ k = N + i.barGap,
+ I = i.topPadding,
+ C = i.leftPadding,
+ O = gl().domain([0, d.length]).range(['#00B9FA', '#F95002']).interpolate(BA);
+ w(k, I, C, L, M, A, n.db.getExcludes(), n.db.getIncludes()),
+ S(C, I, L, M),
+ b(A, k, I, C, N, O, L, M),
+ T(k, I, C, N, O),
+ E(C, I, L, M);
+ }
+ o(x, 'makeGantt');
+ function b(A, L, M, N, k, I, C) {
+ let D = [...new Set(A.map(($) => $.order))].map(($) => A.find((z) => z.order === $));
+ g.append('g')
+ .selectAll('rect')
+ .data(D)
+ .enter()
+ .append('rect')
+ .attr('x', 0)
+ .attr('y', function ($, z) {
+ return (z = $.order), z * L + M - 2;
+ })
+ .attr('width', function () {
+ return C - i.rightPadding / 2;
+ })
+ .attr('height', L)
+ .attr('class', function ($) {
+ for (let [z, Y] of d.entries())
+ if ($.type === Y) return 'section section' + (z % i.numberSectionStyles);
+ return 'section section0';
+ });
+ let P = g.append('g').selectAll('rect').data(A).enter(),
+ F = n.db.getLinks();
+ if (
+ (P.append('rect')
+ .attr('id', function ($) {
+ return $.id;
+ })
+ .attr('rx', 3)
+ .attr('ry', 3)
+ .attr('x', function ($) {
+ return $.milestone
+ ? y($.startTime) + N + 0.5 * (y($.endTime) - y($.startTime)) - 0.5 * k
+ : y($.startTime) + N;
+ })
+ .attr('y', function ($, z) {
+ return (z = $.order), z * L + M;
+ })
+ .attr('width', function ($) {
+ return $.milestone ? k : y($.renderEndTime || $.endTime) - y($.startTime);
+ })
+ .attr('height', k)
+ .attr('transform-origin', function ($, z) {
+ return (
+ (z = $.order),
+ (y($.startTime) + N + 0.5 * (y($.endTime) - y($.startTime))).toString() +
+ 'px ' +
+ (z * L + M + 0.5 * k).toString() +
+ 'px'
+ );
+ })
+ .attr('class', function ($) {
+ let z = 'task',
+ Y = '';
+ $.classes.length > 0 && (Y = $.classes.join(' '));
+ let Q = 0;
+ for (let [ie, j] of d.entries()) $.type === j && (Q = ie % i.numberSectionStyles);
+ let X = '';
+ return (
+ $.active
+ ? $.crit
+ ? (X += ' activeCrit')
+ : (X = ' active')
+ : $.done
+ ? $.crit
+ ? (X = ' doneCrit')
+ : (X = ' done')
+ : $.crit && (X += ' crit'),
+ X.length === 0 && (X = ' task'),
+ $.milestone && (X = ' milestone ' + X),
+ (X += Q),
+ (X += ' ' + Y),
+ z + X
+ );
+ }),
+ P.append('text')
+ .attr('id', function ($) {
+ return $.id + '-text';
+ })
+ .text(function ($) {
+ return $.task;
+ })
+ .attr('font-size', i.fontSize)
+ .attr('x', function ($) {
+ let z = y($.startTime),
+ Y = y($.renderEndTime || $.endTime);
+ $.milestone && (z += 0.5 * (y($.endTime) - y($.startTime)) - 0.5 * k),
+ $.milestone && (Y = z + k);
+ let Q = this.getBBox().width;
+ return Q > Y - z
+ ? Y + Q + 1.5 * i.leftPadding > C
+ ? z + N - 5
+ : Y + N + 5
+ : (Y - z) / 2 + z + N;
+ })
+ .attr('y', function ($, z) {
+ return (z = $.order), z * L + i.barHeight / 2 + (i.fontSize / 2 - 2) + M;
+ })
+ .attr('text-height', k)
+ .attr('class', function ($) {
+ let z = y($.startTime),
+ Y = y($.endTime);
+ $.milestone && (Y = z + k);
+ let Q = this.getBBox().width,
+ X = '';
+ $.classes.length > 0 && (X = $.classes.join(' '));
+ let ie = 0;
+ for (let [J, Z] of d.entries()) $.type === Z && (ie = J % i.numberSectionStyles);
+ let j = '';
+ return (
+ $.active && ($.crit ? (j = 'activeCritText' + ie) : (j = 'activeText' + ie)),
+ $.done
+ ? $.crit
+ ? (j = j + ' doneCritText' + ie)
+ : (j = j + ' doneText' + ie)
+ : $.crit && (j = j + ' critText' + ie),
+ $.milestone && (j += ' milestoneText'),
+ Q > Y - z
+ ? Y + Q + 1.5 * i.leftPadding > C
+ ? X + ' taskTextOutsideLeft taskTextOutside' + ie + ' ' + j
+ : X +
+ ' taskTextOutsideRight taskTextOutside' +
+ ie +
+ ' ' +
+ j +
+ ' width-' +
+ Q
+ : X + ' taskText taskText' + ie + ' ' + j + ' width-' + Q
+ );
+ }),
+ de().securityLevel === 'sandbox')
+ ) {
+ let $;
+ $ = $e('#i' + e);
+ let z = $.nodes()[0].contentDocument;
+ P.filter(function (Y) {
+ return F.has(Y.id);
+ }).each(function (Y) {
+ var Q = z.querySelector('#' + Y.id),
+ X = z.querySelector('#' + Y.id + '-text');
+ let ie = Q.parentNode;
+ var j = z.createElement('a');
+ j.setAttribute('xlink:href', F.get(Y.id)),
+ j.setAttribute('target', '_top'),
+ ie.appendChild(j),
+ j.appendChild(Q),
+ j.appendChild(X);
+ });
+ }
+ }
+ o(b, 'drawRects');
+ function w(A, L, M, N, k, I, C, O) {
+ if (C.length === 0 && O.length === 0) return;
+ let D, P;
+ for (let { startTime: Q, endTime: X } of I)
+ (D === void 0 || Q < D) && (D = Q), (P === void 0 || X > P) && (P = X);
+ if (!D || !P) return;
+ if ((0, oE.default)(P).diff((0, oE.default)(D), 'year') > 5) {
+ V.warn(
+ 'The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.'
+ );
+ return;
+ }
+ let F = n.db.getDateFormat(),
+ B = [],
+ $ = null,
+ z = (0, oE.default)(D);
+ for (; z.valueOf() <= P; )
+ n.db.isInvalidDate(z, F, C, O)
+ ? $
+ ? ($.end = z)
+ : ($ = { start: z, end: z })
+ : $ && (B.push($), ($ = null)),
+ (z = z.add(1, 'd'));
+ g.append('g')
+ .selectAll('rect')
+ .data(B)
+ .enter()
+ .append('rect')
+ .attr('id', function (Q) {
+ return 'exclude-' + Q.start.format('YYYY-MM-DD');
+ })
+ .attr('x', function (Q) {
+ return y(Q.start) + M;
+ })
+ .attr('y', i.gridLineStartPadding)
+ .attr('width', function (Q) {
+ let X = Q.end.add(1, 'day');
+ return y(X) - y(Q.start);
+ })
+ .attr('height', k - L - i.gridLineStartPadding)
+ .attr('transform-origin', function (Q, X) {
+ return (
+ (y(Q.start) + M + 0.5 * (y(Q.end) - y(Q.start))).toString() +
+ 'px ' +
+ (X * A + 0.5 * k).toString() +
+ 'px'
+ );
+ })
+ .attr('class', 'exclude-range');
+ }
+ o(w, 'drawExcludeDays');
+ function S(A, L, M, N) {
+ let k = vS(y)
+ .tickSize(-N + L + i.gridLineStartPadding)
+ .tickFormat(md(n.db.getAxisFormat() || i.axisFormat || '%Y-%m-%d')),
+ C = /^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(
+ n.db.getTickInterval() || i.tickInterval
+ );
+ if (C !== null) {
+ let O = C[1],
+ D = C[2],
+ P = n.db.getWeekday() || i.weekday;
+ switch (D) {
+ case 'millisecond':
+ k.ticks(oc.every(O));
+ break;
+ case 'second':
+ k.ticks(Ks.every(O));
+ break;
+ case 'minute':
+ k.ticks(gu.every(O));
+ break;
+ case 'hour':
+ k.ticks(yu.every(O));
+ break;
+ case 'day':
+ k.ticks(Do.every(O));
+ break;
+ case 'week':
+ k.ticks(hce[P].every(O));
+ break;
+ case 'month':
+ k.ticks(vu.every(O));
+ break;
+ }
+ }
+ if (
+ (g
+ .append('g')
+ .attr('class', 'grid')
+ .attr('transform', 'translate(' + A + ', ' + (N - 50) + ')')
+ .call(k)
+ .selectAll('text')
+ .style('text-anchor', 'middle')
+ .attr('fill', '#000')
+ .attr('stroke', 'none')
+ .attr('font-size', 10)
+ .attr('dy', '1em'),
+ n.db.topAxisEnabled() || i.topAxis)
+ ) {
+ let O = yS(y)
+ .tickSize(-N + L + i.gridLineStartPadding)
+ .tickFormat(md(n.db.getAxisFormat() || i.axisFormat || '%Y-%m-%d'));
+ if (C !== null) {
+ let D = C[1],
+ P = C[2],
+ F = n.db.getWeekday() || i.weekday;
+ switch (P) {
+ case 'millisecond':
+ O.ticks(oc.every(D));
+ break;
+ case 'second':
+ O.ticks(Ks.every(D));
+ break;
+ case 'minute':
+ O.ticks(gu.every(D));
+ break;
+ case 'hour':
+ O.ticks(yu.every(D));
+ break;
+ case 'day':
+ O.ticks(Do.every(D));
+ break;
+ case 'week':
+ O.ticks(hce[F].every(D));
+ break;
+ case 'month':
+ O.ticks(vu.every(D));
+ break;
+ }
+ }
+ g.append('g')
+ .attr('class', 'grid')
+ .attr('transform', 'translate(' + A + ', ' + L + ')')
+ .call(O)
+ .selectAll('text')
+ .style('text-anchor', 'middle')
+ .attr('fill', '#000')
+ .attr('stroke', 'none')
+ .attr('font-size', 10);
+ }
+ }
+ o(S, 'makeGrid');
+ function T(A, L) {
+ let M = 0,
+ N = Object.keys(p).map((k) => [k, p[k]]);
+ g.append('g')
+ .selectAll('text')
+ .data(N)
+ .enter()
+ .append(function (k) {
+ let I = k[0].split(We.lineBreakRegex),
+ C = -(I.length - 1) / 2,
+ O = u.createElementNS('http://www.w3.org/2000/svg', 'text');
+ O.setAttribute('dy', C + 'em');
+ for (let [D, P] of I.entries()) {
+ let F = u.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ F.setAttribute('alignment-baseline', 'central'),
+ F.setAttribute('x', '10'),
+ D > 0 && F.setAttribute('dy', '1em'),
+ (F.textContent = P),
+ O.appendChild(F);
+ }
+ return O;
+ })
+ .attr('x', 10)
+ .attr('y', function (k, I) {
+ if (I > 0)
+ for (let C = 0; C < I; C++) return (M += N[I - 1][1]), (k[1] * A) / 2 + M * A + L;
+ else return (k[1] * A) / 2 + L;
+ })
+ .attr('font-size', i.sectionFontSize)
+ .attr('class', function (k) {
+ for (let [I, C] of d.entries())
+ if (k[0] === C) return 'sectionTitle sectionTitle' + (I % i.numberSectionStyles);
+ return 'sectionTitle';
+ });
+ }
+ o(T, 'vertLabels');
+ function E(A, L, M, N) {
+ let k = n.db.getTodayMarker();
+ if (k === 'off') return;
+ let I = g.append('g').attr('class', 'today'),
+ C = new Date(),
+ O = I.append('line');
+ O.attr('x1', y(C) + A)
+ .attr('x2', y(C) + A)
+ .attr('y1', i.titleTopMargin)
+ .attr('y2', N - i.titleTopMargin)
+ .attr('class', 'today'),
+ k !== '' && O.attr('style', k.replace(/,/g, ';'));
+ }
+ o(E, 'drawToday');
+ function _(A) {
+ let L = {},
+ M = [];
+ for (let N = 0, k = A.length; N < k; ++N)
+ Object.prototype.hasOwnProperty.call(L, A[N]) || ((L[A[N]] = !0), M.push(A[N]));
+ return M;
+ }
+ o(_, 'checkUnique');
+ }, 'draw')),
+ (fce = { setConf: gFe, draw: vFe });
+ });
+ var xFe,
+ pce,
+ mce = R(() => {
+ 'use strict';
+ (xFe = o(
+ (t) => `
+ .mermaid-main-font {
+ font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
+ }
+
+ .exclude-range {
+ fill: ${t.excludeBkgColor};
+ }
+
+ .section {
+ stroke: none;
+ opacity: 0.2;
+ }
+
+ .section0 {
+ fill: ${t.sectionBkgColor};
+ }
+
+ .section2 {
+ fill: ${t.sectionBkgColor2};
+ }
+
+ .section1,
+ .section3 {
+ fill: ${t.altSectionBkgColor};
+ opacity: 0.2;
+ }
+
+ .sectionTitle0 {
+ fill: ${t.titleColor};
+ }
+
+ .sectionTitle1 {
+ fill: ${t.titleColor};
+ }
+
+ .sectionTitle2 {
+ fill: ${t.titleColor};
+ }
+
+ .sectionTitle3 {
+ fill: ${t.titleColor};
+ }
+
+ .sectionTitle {
+ text-anchor: start;
+ font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
+ }
+
+
+ /* Grid and axis */
+
+ .grid .tick {
+ stroke: ${t.gridColor};
+ opacity: 0.8;
+ shape-rendering: crispEdges;
+ }
+
+ .grid .tick text {
+ font-family: ${t.fontFamily};
+ fill: ${t.textColor};
+ }
+
+ .grid path {
+ stroke-width: 0;
+ }
+
+
+ /* Today line */
+
+ .today {
+ fill: none;
+ stroke: ${t.todayLineColor};
+ stroke-width: 2px;
+ }
+
+
+ /* Task styling */
+
+ /* Default task */
+
+ .task {
+ stroke-width: 2;
+ }
+
+ .taskText {
+ text-anchor: middle;
+ font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
+ }
+
+ .taskTextOutsideRight {
+ fill: ${t.taskTextDarkColor};
+ text-anchor: start;
+ font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
+ }
+
+ .taskTextOutsideLeft {
+ fill: ${t.taskTextDarkColor};
+ text-anchor: end;
+ }
+
+
+ /* Special case clickable */
+
+ .task.clickable {
+ cursor: pointer;
+ }
+
+ .taskText.clickable {
+ cursor: pointer;
+ fill: ${t.taskTextClickableColor} !important;
+ font-weight: bold;
+ }
+
+ .taskTextOutsideLeft.clickable {
+ cursor: pointer;
+ fill: ${t.taskTextClickableColor} !important;
+ font-weight: bold;
+ }
+
+ .taskTextOutsideRight.clickable {
+ cursor: pointer;
+ fill: ${t.taskTextClickableColor} !important;
+ font-weight: bold;
+ }
+
+
+ /* Specific task settings for the sections*/
+
+ .taskText0,
+ .taskText1,
+ .taskText2,
+ .taskText3 {
+ fill: ${t.taskTextColor};
+ }
+
+ .task0,
+ .task1,
+ .task2,
+ .task3 {
+ fill: ${t.taskBkgColor};
+ stroke: ${t.taskBorderColor};
+ }
+
+ .taskTextOutside0,
+ .taskTextOutside2
+ {
+ fill: ${t.taskTextOutsideColor};
+ }
+
+ .taskTextOutside1,
+ .taskTextOutside3 {
+ fill: ${t.taskTextOutsideColor};
+ }
+
+
+ /* Active task */
+
+ .active0,
+ .active1,
+ .active2,
+ .active3 {
+ fill: ${t.activeTaskBkgColor};
+ stroke: ${t.activeTaskBorderColor};
+ }
+
+ .activeText0,
+ .activeText1,
+ .activeText2,
+ .activeText3 {
+ fill: ${t.taskTextDarkColor} !important;
+ }
+
+
+ /* Completed task */
+
+ .done0,
+ .done1,
+ .done2,
+ .done3 {
+ stroke: ${t.doneTaskBorderColor};
+ fill: ${t.doneTaskBkgColor};
+ stroke-width: 2;
+ }
+
+ .doneText0,
+ .doneText1,
+ .doneText2,
+ .doneText3 {
+ fill: ${t.taskTextDarkColor} !important;
+ }
+
+
+ /* Tasks on the critical line */
+
+ .crit0,
+ .crit1,
+ .crit2,
+ .crit3 {
+ stroke: ${t.critBorderColor};
+ fill: ${t.critBkgColor};
+ stroke-width: 2;
+ }
+
+ .activeCrit0,
+ .activeCrit1,
+ .activeCrit2,
+ .activeCrit3 {
+ stroke: ${t.critBorderColor};
+ fill: ${t.activeTaskBkgColor};
+ stroke-width: 2;
+ }
+
+ .doneCrit0,
+ .doneCrit1,
+ .doneCrit2,
+ .doneCrit3 {
+ stroke: ${t.critBorderColor};
+ fill: ${t.doneTaskBkgColor};
+ stroke-width: 2;
+ cursor: pointer;
+ shape-rendering: crispEdges;
+ }
+
+ .milestone {
+ transform: rotate(45deg) scale(0.8,0.8);
+ }
+
+ .milestoneText {
+ font-style: italic;
+ }
+ .doneCritText0,
+ .doneCritText1,
+ .doneCritText2,
+ .doneCritText3 {
+ fill: ${t.taskTextDarkColor} !important;
+ }
+
+ .activeCritText0,
+ .activeCritText1,
+ .activeCritText2,
+ .activeCritText3 {
+ fill: ${t.taskTextDarkColor} !important;
+ }
+
+ .titleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.titleColor || t.textColor};
+ font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
+ }
+`,
+ 'getStyles'
+ )),
+ (pce = xFe);
+ });
+ var gce = {};
+ hr(gce, { diagram: () => bFe });
+ var bFe,
+ yce = R(() => {
+ 'use strict';
+ Hle();
+ uce();
+ dce();
+ mce();
+ bFe = { parser: Ule, db: lce, renderer: fce, styles: pce };
+ });
+ var bce,
+ wce = R(() => {
+ 'use strict';
+ Lg();
+ ut();
+ bce = {
+ parse: o(async (t) => {
+ let e = await Fl('info', t);
+ V.debug(e);
+ }, 'parse')
+ };
+ });
+ var fx,
+ HI = R(() => {
+ fx = '11.2.0';
+ });
+ var CFe,
+ SFe,
+ Tce,
+ kce = R(() => {
+ 'use strict';
+ HI();
+ (CFe = { version: fx }), (SFe = o(() => CFe.version, 'getVersion')), (Tce = { getVersion: SFe });
+ });
+ var Ps,
+ pf = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ Ps = o((t) => {
+ let { securityLevel: e } = de(),
+ r = $e('body');
+ if (e === 'sandbox') {
+ let a = $e(`#i${t}`).node()?.contentDocument ?? document;
+ r = $e(a.body);
+ }
+ return r.select(`#${t}`);
+ }, 'selectSvgElement');
+ });
+ var AFe,
+ Ece,
+ Cce = R(() => {
+ 'use strict';
+ ut();
+ pf();
+ Yn();
+ (AFe = o((t, e, r) => {
+ V.debug(
+ `rendering info diagram
+` + t
+ );
+ let n = Ps(e);
+ Sr(n, 100, 400, !0),
+ n
+ .append('g')
+ .append('text')
+ .attr('x', 100)
+ .attr('y', 40)
+ .attr('class', 'version')
+ .attr('font-size', 32)
+ .style('text-anchor', 'middle')
+ .text(`v${r}`);
+ }, 'draw')),
+ (Ece = { draw: AFe });
+ });
+ var Sce = {};
+ hr(Sce, { diagram: () => _Fe });
+ var _Fe,
+ Ace = R(() => {
+ 'use strict';
+ wce();
+ kce();
+ Cce();
+ _Fe = { parser: bce, db: Tce, renderer: Ece };
+ });
+ var Dce,
+ YI,
+ lE,
+ WI,
+ RFe,
+ NFe,
+ MFe,
+ IFe,
+ OFe,
+ PFe,
+ BFe,
+ cE,
+ qI = R(() => {
+ 'use strict';
+ ut();
+ bi();
+ sl();
+ (Dce = mr.pie),
+ (YI = { sections: new Map(), showData: !1, config: Dce }),
+ (lE = YI.sections),
+ (WI = YI.showData),
+ (RFe = structuredClone(Dce)),
+ (NFe = o(() => structuredClone(RFe), 'getConfig')),
+ (MFe = o(() => {
+ (lE = new Map()), (WI = YI.showData), vr();
+ }, 'clear')),
+ (IFe = o(({ label: t, value: e }) => {
+ lE.has(t) || (lE.set(t, e), V.debug(`added new section: ${t}, with value: ${e}`));
+ }, 'addSection')),
+ (OFe = o(() => lE, 'getSections')),
+ (PFe = o((t) => {
+ WI = t;
+ }, 'setShowData')),
+ (BFe = o(() => WI, 'getShowData')),
+ (cE = {
+ getConfig: NFe,
+ clear: MFe,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ addSection: IFe,
+ getSections: OFe,
+ setShowData: PFe,
+ getShowData: BFe
+ });
+ });
+ var FFe,
+ Rce,
+ Nce = R(() => {
+ 'use strict';
+ Lg();
+ ut();
+ sx();
+ qI();
+ (FFe = o((t, e) => {
+ cf(t, e), e.setShowData(t.showData), t.sections.map(e.addSection);
+ }, 'populateDb')),
+ (Rce = {
+ parse: o(async (t) => {
+ let e = await Fl('pie', t);
+ V.debug(e), FFe(e, cE);
+ }, 'parse')
+ });
+ });
+ var zFe,
+ Mce,
+ Ice = R(() => {
+ 'use strict';
+ (zFe = o(
+ (t) => `
+ .pieCircle{
+ stroke: ${t.pieStrokeColor};
+ stroke-width : ${t.pieStrokeWidth};
+ opacity : ${t.pieOpacity};
+ }
+ .pieOuterCircle{
+ stroke: ${t.pieOuterStrokeColor};
+ stroke-width: ${t.pieOuterStrokeWidth};
+ fill: none;
+ }
+ .pieTitleText {
+ text-anchor: middle;
+ font-size: ${t.pieTitleTextSize};
+ fill: ${t.pieTitleTextColor};
+ font-family: ${t.fontFamily};
+ }
+ .slice {
+ font-family: ${t.fontFamily};
+ fill: ${t.pieSectionTextColor};
+ font-size:${t.pieSectionTextSize};
+ // fill: white;
+ }
+ .legend text {
+ fill: ${t.pieLegendTextColor};
+ font-family: ${t.fontFamily};
+ font-size: ${t.pieLegendTextSize};
+ }
+`,
+ 'getStyles'
+ )),
+ (Mce = zFe);
+ });
+ var GFe,
+ $Fe,
+ Oce,
+ Pce = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ ut();
+ pf();
+ Yn();
+ xr();
+ (GFe = o((t) => {
+ let e = [...t.entries()].map((n) => ({ label: n[0], value: n[1] })).sort((n, i) => i.value - n.value);
+ return O3().value((n) => n.value)(e);
+ }, 'createPieArcs')),
+ ($Fe = o((t, e, r, n) => {
+ V.debug(
+ `rendering pie chart
+` + t
+ );
+ let i = n.db,
+ a = de(),
+ s = Ts(i.getConfig(), a.pie),
+ l = 40,
+ u = 18,
+ h = 4,
+ f = 450,
+ d = f,
+ p = Ps(e),
+ m = p.append('g');
+ m.attr('transform', 'translate(' + d / 2 + ',' + f / 2 + ')');
+ let { themeVariables: g } = a,
+ [y] = mc(g.pieOuterStrokeWidth);
+ y ??= 2;
+ let v = s.textPosition,
+ x = Math.min(d, f) / 2 - l,
+ b = bl().innerRadius(0).outerRadius(x),
+ w = bl()
+ .innerRadius(x * v)
+ .outerRadius(x * v);
+ m.append('circle')
+ .attr('cx', 0)
+ .attr('cy', 0)
+ .attr('r', x + y / 2)
+ .attr('class', 'pieOuterCircle');
+ let S = i.getSections(),
+ T = GFe(S),
+ E = [
+ g.pie1,
+ g.pie2,
+ g.pie3,
+ g.pie4,
+ g.pie5,
+ g.pie6,
+ g.pie7,
+ g.pie8,
+ g.pie9,
+ g.pie10,
+ g.pie11,
+ g.pie12
+ ],
+ _ = pu(E);
+ m.selectAll('mySlices')
+ .data(T)
+ .enter()
+ .append('path')
+ .attr('d', b)
+ .attr('fill', (k) => _(k.data.label))
+ .attr('class', 'pieCircle');
+ let A = 0;
+ S.forEach((k) => {
+ A += k;
+ }),
+ m
+ .selectAll('mySlices')
+ .data(T)
+ .enter()
+ .append('text')
+ .text((k) => ((k.data.value / A) * 100).toFixed(0) + '%')
+ .attr('transform', (k) => 'translate(' + w.centroid(k) + ')')
+ .style('text-anchor', 'middle')
+ .attr('class', 'slice'),
+ m
+ .append('text')
+ .text(i.getDiagramTitle())
+ .attr('x', 0)
+ .attr('y', -(f - 50) / 2)
+ .attr('class', 'pieTitleText');
+ let L = m
+ .selectAll('.legend')
+ .data(_.domain())
+ .enter()
+ .append('g')
+ .attr('class', 'legend')
+ .attr('transform', (k, I) => {
+ let C = u + h,
+ O = (C * _.domain().length) / 2,
+ D = 12 * u,
+ P = I * C - O;
+ return 'translate(' + D + ',' + P + ')';
+ });
+ L.append('rect').attr('width', u).attr('height', u).style('fill', _).style('stroke', _),
+ L.data(T)
+ .append('text')
+ .attr('x', u + h)
+ .attr('y', u - h)
+ .text((k) => {
+ let { label: I, value: C } = k.data;
+ return i.getShowData() ? `${I} [${C}]` : I;
+ });
+ let M = Math.max(
+ ...L.selectAll('text')
+ .nodes()
+ .map((k) => k?.getBoundingClientRect().width ?? 0)
+ ),
+ N = d + l + u + h + M;
+ p.attr('viewBox', `0 0 ${N} ${f}`), Sr(p, f, N, s.useMaxWidth);
+ }, 'draw')),
+ (Oce = { draw: $Fe });
+ });
+ var Bce = {};
+ hr(Bce, { diagram: () => VFe });
+ var VFe,
+ Fce = R(() => {
+ 'use strict';
+ Nce();
+ qI();
+ Ice();
+ Pce();
+ VFe = { parser: Rce, db: cE, renderer: Oce, styles: Mce };
+ });
+ var XI,
+ $ce,
+ Vce = R(() => {
+ 'use strict';
+ XI = (function () {
+ var t = o(function (we, Te, Ce, Ae) {
+ for (Ce = Ce || {}, Ae = we.length; Ae--; Ce[we[Ae]] = Te);
+ return Ce;
+ }, 'o'),
+ e = [1, 3],
+ r = [1, 4],
+ n = [1, 5],
+ i = [1, 6],
+ a = [1, 7],
+ s = [
+ 1, 4, 5, 10, 12, 13, 14, 18, 25, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61,
+ 63, 64, 65, 66, 67
+ ],
+ l = [
+ 1, 4, 5, 10, 12, 13, 14, 18, 25, 28, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60,
+ 61, 63, 64, 65, 66, 67
+ ],
+ u = [55, 56, 57],
+ h = [2, 36],
+ f = [1, 37],
+ d = [1, 36],
+ p = [1, 38],
+ m = [1, 35],
+ g = [1, 43],
+ y = [1, 41],
+ v = [1, 14],
+ x = [1, 23],
+ b = [1, 18],
+ w = [1, 19],
+ S = [1, 20],
+ T = [1, 21],
+ E = [1, 22],
+ _ = [1, 24],
+ A = [1, 25],
+ L = [1, 26],
+ M = [1, 27],
+ N = [1, 28],
+ k = [1, 29],
+ I = [1, 32],
+ C = [1, 33],
+ O = [1, 34],
+ D = [1, 39],
+ P = [1, 40],
+ F = [1, 42],
+ B = [1, 44],
+ $ = [1, 62],
+ z = [1, 61],
+ Y = [4, 5, 8, 10, 12, 13, 14, 18, 44, 47, 49, 55, 56, 57, 63, 64, 65, 66, 67],
+ Q = [1, 65],
+ X = [1, 66],
+ ie = [1, 67],
+ j = [1, 68],
+ J = [1, 69],
+ Z = [1, 70],
+ H = [1, 71],
+ q = [1, 72],
+ K = [1, 73],
+ se = [1, 74],
+ ce = [1, 75],
+ ue = [1, 76],
+ te = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18],
+ De = [1, 90],
+ oe = [1, 91],
+ ke = [1, 92],
+ Ie = [1, 99],
+ Se = [1, 93],
+ Ue = [1, 96],
+ Pe = [1, 94],
+ _e = [1, 95],
+ me = [1, 97],
+ W = [1, 98],
+ fe = [1, 102],
+ ge = [10, 55, 56, 57],
+ re = [4, 5, 6, 8, 10, 11, 13, 17, 18, 19, 20, 55, 56, 57],
+ he = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ idStringToken: 3,
+ ALPHA: 4,
+ NUM: 5,
+ NODE_STRING: 6,
+ DOWN: 7,
+ MINUS: 8,
+ DEFAULT: 9,
+ COMMA: 10,
+ COLON: 11,
+ AMP: 12,
+ BRKT: 13,
+ MULT: 14,
+ UNICODE_TEXT: 15,
+ styleComponent: 16,
+ UNIT: 17,
+ SPACE: 18,
+ STYLE: 19,
+ PCT: 20,
+ idString: 21,
+ style: 22,
+ stylesOpt: 23,
+ classDefStatement: 24,
+ CLASSDEF: 25,
+ start: 26,
+ eol: 27,
+ QUADRANT: 28,
+ document: 29,
+ line: 30,
+ statement: 31,
+ axisDetails: 32,
+ quadrantDetails: 33,
+ points: 34,
+ title: 35,
+ title_value: 36,
+ acc_title: 37,
+ acc_title_value: 38,
+ acc_descr: 39,
+ acc_descr_value: 40,
+ acc_descr_multiline_value: 41,
+ section: 42,
+ text: 43,
+ point_start: 44,
+ point_x: 45,
+ point_y: 46,
+ class_name: 47,
+ 'X-AXIS': 48,
+ 'AXIS-TEXT-DELIMITER': 49,
+ 'Y-AXIS': 50,
+ QUADRANT_1: 51,
+ QUADRANT_2: 52,
+ QUADRANT_3: 53,
+ QUADRANT_4: 54,
+ NEWLINE: 55,
+ SEMI: 56,
+ EOF: 57,
+ alphaNumToken: 58,
+ textNoTagsToken: 59,
+ STR: 60,
+ MD_STR: 61,
+ alphaNum: 62,
+ PUNCTUATION: 63,
+ PLUS: 64,
+ EQUALS: 65,
+ DOT: 66,
+ UNDERSCORE: 67,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'ALPHA',
+ 5: 'NUM',
+ 6: 'NODE_STRING',
+ 7: 'DOWN',
+ 8: 'MINUS',
+ 9: 'DEFAULT',
+ 10: 'COMMA',
+ 11: 'COLON',
+ 12: 'AMP',
+ 13: 'BRKT',
+ 14: 'MULT',
+ 15: 'UNICODE_TEXT',
+ 17: 'UNIT',
+ 18: 'SPACE',
+ 19: 'STYLE',
+ 20: 'PCT',
+ 25: 'CLASSDEF',
+ 28: 'QUADRANT',
+ 35: 'title',
+ 36: 'title_value',
+ 37: 'acc_title',
+ 38: 'acc_title_value',
+ 39: 'acc_descr',
+ 40: 'acc_descr_value',
+ 41: 'acc_descr_multiline_value',
+ 42: 'section',
+ 44: 'point_start',
+ 45: 'point_x',
+ 46: 'point_y',
+ 47: 'class_name',
+ 48: 'X-AXIS',
+ 49: 'AXIS-TEXT-DELIMITER',
+ 50: 'Y-AXIS',
+ 51: 'QUADRANT_1',
+ 52: 'QUADRANT_2',
+ 53: 'QUADRANT_3',
+ 54: 'QUADRANT_4',
+ 55: 'NEWLINE',
+ 56: 'SEMI',
+ 57: 'EOF',
+ 60: 'STR',
+ 61: 'MD_STR',
+ 63: 'PUNCTUATION',
+ 64: 'PLUS',
+ 65: 'EQUALS',
+ 66: 'DOT',
+ 67: 'UNDERSCORE'
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [21, 1],
+ [21, 2],
+ [22, 1],
+ [22, 2],
+ [23, 1],
+ [23, 3],
+ [24, 5],
+ [26, 2],
+ [26, 2],
+ [26, 2],
+ [29, 0],
+ [29, 2],
+ [30, 2],
+ [31, 0],
+ [31, 1],
+ [31, 2],
+ [31, 1],
+ [31, 1],
+ [31, 1],
+ [31, 2],
+ [31, 2],
+ [31, 2],
+ [31, 1],
+ [31, 1],
+ [34, 4],
+ [34, 5],
+ [34, 5],
+ [34, 6],
+ [32, 4],
+ [32, 3],
+ [32, 2],
+ [32, 4],
+ [32, 3],
+ [32, 2],
+ [33, 2],
+ [33, 2],
+ [33, 2],
+ [33, 2],
+ [27, 1],
+ [27, 1],
+ [27, 1],
+ [43, 1],
+ [43, 2],
+ [43, 1],
+ [43, 1],
+ [62, 1],
+ [62, 2],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [59, 1],
+ [59, 1],
+ [59, 1]
+ ],
+ performAction: o(function (Te, Ce, Ae, Ge, Me, ye, He) {
+ var ze = ye.length - 1;
+ switch (Me) {
+ case 23:
+ this.$ = ye[ze];
+ break;
+ case 24:
+ this.$ = ye[ze - 1] + '' + ye[ze];
+ break;
+ case 26:
+ this.$ = ye[ze - 1] + ye[ze];
+ break;
+ case 27:
+ this.$ = [ye[ze].trim()];
+ break;
+ case 28:
+ ye[ze - 2].push(ye[ze].trim()), (this.$ = ye[ze - 2]);
+ break;
+ case 29:
+ (this.$ = ye[ze - 4]), Ge.addClass(ye[ze - 2], ye[ze]);
+ break;
+ case 37:
+ this.$ = [];
+ break;
+ case 42:
+ (this.$ = ye[ze].trim()), Ge.setDiagramTitle(this.$);
+ break;
+ case 43:
+ (this.$ = ye[ze].trim()), Ge.setAccTitle(this.$);
+ break;
+ case 44:
+ case 45:
+ (this.$ = ye[ze].trim()), Ge.setAccDescription(this.$);
+ break;
+ case 46:
+ Ge.addSection(ye[ze].substr(8)), (this.$ = ye[ze].substr(8));
+ break;
+ case 47:
+ Ge.addPoint(ye[ze - 3], '', ye[ze - 1], ye[ze], []);
+ break;
+ case 48:
+ Ge.addPoint(ye[ze - 4], ye[ze - 3], ye[ze - 1], ye[ze], []);
+ break;
+ case 49:
+ Ge.addPoint(ye[ze - 4], '', ye[ze - 2], ye[ze - 1], ye[ze]);
+ break;
+ case 50:
+ Ge.addPoint(ye[ze - 5], ye[ze - 4], ye[ze - 2], ye[ze - 1], ye[ze]);
+ break;
+ case 51:
+ Ge.setXAxisLeftText(ye[ze - 2]), Ge.setXAxisRightText(ye[ze]);
+ break;
+ case 52:
+ (ye[ze - 1].text += ' \u27F6 '), Ge.setXAxisLeftText(ye[ze - 1]);
+ break;
+ case 53:
+ Ge.setXAxisLeftText(ye[ze]);
+ break;
+ case 54:
+ Ge.setYAxisBottomText(ye[ze - 2]), Ge.setYAxisTopText(ye[ze]);
+ break;
+ case 55:
+ (ye[ze - 1].text += ' \u27F6 '), Ge.setYAxisBottomText(ye[ze - 1]);
+ break;
+ case 56:
+ Ge.setYAxisBottomText(ye[ze]);
+ break;
+ case 57:
+ Ge.setQuadrant1Text(ye[ze]);
+ break;
+ case 58:
+ Ge.setQuadrant2Text(ye[ze]);
+ break;
+ case 59:
+ Ge.setQuadrant3Text(ye[ze]);
+ break;
+ case 60:
+ Ge.setQuadrant4Text(ye[ze]);
+ break;
+ case 64:
+ this.$ = { text: ye[ze], type: 'text' };
+ break;
+ case 65:
+ this.$ = {
+ text: ye[ze - 1].text + '' + ye[ze],
+ type: ye[ze - 1].type
+ };
+ break;
+ case 66:
+ this.$ = { text: ye[ze], type: 'text' };
+ break;
+ case 67:
+ this.$ = { text: ye[ze], type: 'markdown' };
+ break;
+ case 68:
+ this.$ = ye[ze];
+ break;
+ case 69:
+ this.$ = ye[ze - 1] + '' + ye[ze];
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 18: e, 26: 1, 27: 2, 28: r, 55: n, 56: i, 57: a },
+ { 1: [3] },
+ { 18: e, 26: 8, 27: 2, 28: r, 55: n, 56: i, 57: a },
+ { 18: e, 26: 9, 27: 2, 28: r, 55: n, 56: i, 57: a },
+ t(s, [2, 33], { 29: 10 }),
+ t(l, [2, 61]),
+ t(l, [2, 62]),
+ t(l, [2, 63]),
+ { 1: [2, 30] },
+ { 1: [2, 31] },
+ t(u, h, {
+ 30: 11,
+ 31: 12,
+ 24: 13,
+ 32: 15,
+ 33: 16,
+ 34: 17,
+ 43: 30,
+ 58: 31,
+ 1: [2, 32],
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: v,
+ 25: x,
+ 35: b,
+ 37: w,
+ 39: S,
+ 41: T,
+ 42: E,
+ 48: _,
+ 50: A,
+ 51: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(s, [2, 34]),
+ { 27: 45, 55: n, 56: i, 57: a },
+ t(u, [2, 37]),
+ t(u, h, {
+ 24: 13,
+ 32: 15,
+ 33: 16,
+ 34: 17,
+ 43: 30,
+ 58: 31,
+ 31: 46,
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: v,
+ 25: x,
+ 35: b,
+ 37: w,
+ 39: S,
+ 41: T,
+ 42: E,
+ 48: _,
+ 50: A,
+ 51: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 39]),
+ t(u, [2, 40]),
+ t(u, [2, 41]),
+ { 36: [1, 47] },
+ { 38: [1, 48] },
+ { 40: [1, 49] },
+ t(u, [2, 45]),
+ t(u, [2, 46]),
+ { 18: [1, 50] },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 51,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 52,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 53,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 54,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 55,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 56,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 44: [1, 57],
+ 47: [1, 58],
+ 58: 60,
+ 59: 59,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ t(Y, [2, 64]),
+ t(Y, [2, 66]),
+ t(Y, [2, 67]),
+ t(Y, [2, 70]),
+ t(Y, [2, 71]),
+ t(Y, [2, 72]),
+ t(Y, [2, 73]),
+ t(Y, [2, 74]),
+ t(Y, [2, 75]),
+ t(Y, [2, 76]),
+ t(Y, [2, 77]),
+ t(Y, [2, 78]),
+ t(Y, [2, 79]),
+ t(Y, [2, 80]),
+ t(s, [2, 35]),
+ t(u, [2, 38]),
+ t(u, [2, 42]),
+ t(u, [2, 43]),
+ t(u, [2, 44]),
+ {
+ 3: 64,
+ 4: Q,
+ 5: X,
+ 6: ie,
+ 7: j,
+ 8: J,
+ 9: Z,
+ 10: H,
+ 11: q,
+ 12: K,
+ 13: se,
+ 14: ce,
+ 15: ue,
+ 21: 63
+ },
+ t(u, [2, 53], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 49: [1, 77],
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 56], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 49: [1, 78],
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 57], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 58], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 59], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 60], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ { 45: [1, 79] },
+ { 44: [1, 80] },
+ t(Y, [2, 65]),
+ t(Y, [2, 81]),
+ t(Y, [2, 82]),
+ t(Y, [2, 83]),
+ {
+ 3: 82,
+ 4: Q,
+ 5: X,
+ 6: ie,
+ 7: j,
+ 8: J,
+ 9: Z,
+ 10: H,
+ 11: q,
+ 12: K,
+ 13: se,
+ 14: ce,
+ 15: ue,
+ 18: [1, 81]
+ },
+ t(te, [2, 23]),
+ t(te, [2, 1]),
+ t(te, [2, 2]),
+ t(te, [2, 3]),
+ t(te, [2, 4]),
+ t(te, [2, 5]),
+ t(te, [2, 6]),
+ t(te, [2, 7]),
+ t(te, [2, 8]),
+ t(te, [2, 9]),
+ t(te, [2, 10]),
+ t(te, [2, 11]),
+ t(te, [2, 12]),
+ t(u, [2, 52], {
+ 58: 31,
+ 43: 83,
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 55], {
+ 58: 31,
+ 43: 84,
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ { 46: [1, 85] },
+ { 45: [1, 86] },
+ {
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 16: 89,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W,
+ 22: 88,
+ 23: 87
+ },
+ t(te, [2, 24]),
+ t(u, [2, 51], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 54], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 47], {
+ 22: 88,
+ 16: 89,
+ 23: 100,
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W
+ }),
+ { 46: [1, 101] },
+ t(u, [2, 29], { 10: fe }),
+ t(ge, [2, 27], {
+ 16: 103,
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W
+ }),
+ t(re, [2, 25]),
+ t(re, [2, 13]),
+ t(re, [2, 14]),
+ t(re, [2, 15]),
+ t(re, [2, 16]),
+ t(re, [2, 17]),
+ t(re, [2, 18]),
+ t(re, [2, 19]),
+ t(re, [2, 20]),
+ t(re, [2, 21]),
+ t(re, [2, 22]),
+ t(u, [2, 49], { 10: fe }),
+ t(u, [2, 48], {
+ 22: 88,
+ 16: 89,
+ 23: 104,
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W
+ }),
+ {
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 16: 89,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W,
+ 22: 105
+ },
+ t(re, [2, 26]),
+ t(u, [2, 50], { 10: fe }),
+ t(ge, [2, 28], {
+ 16: 103,
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W
+ })
+ ],
+ defaultActions: { 8: [2, 30], 9: [2, 31] },
+ parseError: o(function (Te, Ce) {
+ if (Ce.recoverable) this.trace(Te);
+ else {
+ var Ae = new Error(Te);
+ throw ((Ae.hash = Ce), Ae);
+ }
+ }, 'parseError'),
+ parse: o(function (Te) {
+ var Ce = this,
+ Ae = [0],
+ Ge = [],
+ Me = [null],
+ ye = [],
+ He = this.table,
+ ze = '',
+ Ze = 0,
+ gt = 0,
+ yt = 0,
+ tt = 2,
+ Ye = 1,
+ Je = ye.slice.call(arguments, 1),
+ Ve = Object.create(this.lexer),
+ je = { yy: {} };
+ for (var kt in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, kt) && (je.yy[kt] = this.yy[kt]);
+ Ve.setInput(Te, je.yy),
+ (je.yy.lexer = Ve),
+ (je.yy.parser = this),
+ typeof Ve.yylloc > 'u' && (Ve.yylloc = {});
+ var at = Ve.yylloc;
+ ye.push(at);
+ var xt = Ve.options && Ve.options.ranges;
+ typeof je.yy.parseError == 'function'
+ ? (this.parseError = je.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function it(on) {
+ (Ae.length = Ae.length - 2 * on),
+ (Me.length = Me.length - on),
+ (ye.length = ye.length - on);
+ }
+ o(it, 'popStack');
+ function dt() {
+ var on;
+ return (
+ (on = Ge.pop() || Ve.lex() || Ye),
+ typeof on != 'number' &&
+ (on instanceof Array && ((Ge = on), (on = Ge.pop())),
+ (on = Ce.symbols_[on] || on)),
+ on
+ );
+ }
+ o(dt, 'lex');
+ for (var lt, It, mt, St, gr, xn, jt = {}, rn, Er, Kn, hn; ; ) {
+ if (
+ ((mt = Ae[Ae.length - 1]),
+ this.defaultActions[mt]
+ ? (St = this.defaultActions[mt])
+ : ((lt === null || typeof lt > 'u') && (lt = dt()),
+ (St = He[mt] && He[mt][lt])),
+ typeof St > 'u' || !St.length || !St[0])
+ ) {
+ var Qn = '';
+ hn = [];
+ for (rn in He[mt])
+ this.terminals_[rn] && rn > tt && hn.push("'" + this.terminals_[rn] + "'");
+ Ve.showPosition
+ ? (Qn =
+ 'Parse error on line ' +
+ (Ze + 1) +
+ `:
+` +
+ Ve.showPosition() +
+ `
+Expecting ` +
+ hn.join(', ') +
+ ", got '" +
+ (this.terminals_[lt] || lt) +
+ "'")
+ : (Qn =
+ 'Parse error on line ' +
+ (Ze + 1) +
+ ': Unexpected ' +
+ (lt == Ye ? 'end of input' : "'" + (this.terminals_[lt] || lt) + "'")),
+ this.parseError(Qn, {
+ text: Ve.match,
+ token: this.terminals_[lt] || lt,
+ line: Ve.yylineno,
+ loc: at,
+ expected: hn
+ });
+ }
+ if (St[0] instanceof Array && St.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + mt + ', token: ' + lt
+ );
+ switch (St[0]) {
+ case 1:
+ Ae.push(lt),
+ Me.push(Ve.yytext),
+ ye.push(Ve.yylloc),
+ Ae.push(St[1]),
+ (lt = null),
+ It
+ ? ((lt = It), (It = null))
+ : ((gt = Ve.yyleng),
+ (ze = Ve.yytext),
+ (Ze = Ve.yylineno),
+ (at = Ve.yylloc),
+ yt > 0 && yt--);
+ break;
+ case 2:
+ if (
+ ((Er = this.productions_[St[1]][1]),
+ (jt.$ = Me[Me.length - Er]),
+ (jt._$ = {
+ first_line: ye[ye.length - (Er || 1)].first_line,
+ last_line: ye[ye.length - 1].last_line,
+ first_column: ye[ye.length - (Er || 1)].first_column,
+ last_column: ye[ye.length - 1].last_column
+ }),
+ xt &&
+ (jt._$.range = [
+ ye[ye.length - (Er || 1)].range[0],
+ ye[ye.length - 1].range[1]
+ ]),
+ (xn = this.performAction.apply(
+ jt,
+ [ze, gt, Ze, je.yy, St[1], Me, ye].concat(Je)
+ )),
+ typeof xn < 'u')
+ )
+ return xn;
+ Er &&
+ ((Ae = Ae.slice(0, -1 * Er * 2)),
+ (Me = Me.slice(0, -1 * Er)),
+ (ye = ye.slice(0, -1 * Er))),
+ Ae.push(this.productions_[St[1]][0]),
+ Me.push(jt.$),
+ ye.push(jt._$),
+ (Kn = He[Ae[Ae.length - 2]][Ae[Ae.length - 1]]),
+ Ae.push(Kn);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ ne = (function () {
+ var we = {
+ EOF: 1,
+ parseError: o(function (Ce, Ae) {
+ if (this.yy.parser) this.yy.parser.parseError(Ce, Ae);
+ else throw new Error(Ce);
+ }, 'parseError'),
+ setInput: o(function (Te, Ce) {
+ return (
+ (this.yy = Ce || this.yy || {}),
+ (this._input = Te),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var Te = this._input[0];
+ (this.yytext += Te),
+ this.yyleng++,
+ this.offset++,
+ (this.match += Te),
+ (this.matched += Te);
+ var Ce = Te.match(/(?:\r\n?|\n).*/g);
+ return (
+ Ce ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ Te
+ );
+ }, 'input'),
+ unput: o(function (Te) {
+ var Ce = Te.length,
+ Ae = Te.split(/(?:\r\n?|\n)/g);
+ (this._input = Te + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - Ce)),
+ (this.offset -= Ce);
+ var Ge = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ Ae.length - 1 && (this.yylineno -= Ae.length - 1);
+ var Me = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: Ae
+ ? (Ae.length === Ge.length ? this.yylloc.first_column : 0) +
+ Ge[Ge.length - Ae.length].length -
+ Ae[0].length
+ : this.yylloc.first_column - Ce
+ }),
+ this.options.ranges && (this.yylloc.range = [Me[0], Me[0] + this.yyleng - Ce]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (Te) {
+ this.unput(this.match.slice(Te));
+ }, 'less'),
+ pastInput: o(function () {
+ var Te = this.matched.substr(0, this.matched.length - this.match.length);
+ return (Te.length > 20 ? '...' : '') + Te.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var Te = this.match;
+ return (
+ Te.length < 20 && (Te += this._input.substr(0, 20 - Te.length)),
+ (Te.substr(0, 20) + (Te.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var Te = this.pastInput(),
+ Ce = new Array(Te.length + 1).join('-');
+ return (
+ Te +
+ this.upcomingInput() +
+ `
+` +
+ Ce +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (Te, Ce) {
+ var Ae, Ge, Me;
+ if (
+ (this.options.backtrack_lexer &&
+ ((Me = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (Me.yylloc.range = this.yylloc.range.slice(0))),
+ (Ge = Te[0].match(/(?:\r\n?|\n).*/g)),
+ Ge && (this.yylineno += Ge.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: Ge
+ ? Ge[Ge.length - 1].length - Ge[Ge.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + Te[0].length
+ }),
+ (this.yytext += Te[0]),
+ (this.match += Te[0]),
+ (this.matches = Te),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(Te[0].length)),
+ (this.matched += Te[0]),
+ (Ae = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ Ce,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ Ae)
+ )
+ return Ae;
+ if (this._backtrack) {
+ for (var ye in Me) this[ye] = Me[ye];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var Te, Ce, Ae, Ge;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var Me = this._currentRules(), ye = 0; ye < Me.length; ye++)
+ if (
+ ((Ae = this._input.match(this.rules[Me[ye]])),
+ Ae && (!Ce || Ae[0].length > Ce[0].length))
+ ) {
+ if (((Ce = Ae), (Ge = ye), this.options.backtrack_lexer)) {
+ if (((Te = this.test_match(Ae, Me[ye])), Te !== !1)) return Te;
+ if (this._backtrack) {
+ Ce = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return Ce
+ ? ((Te = this.test_match(Ce, Me[Ge])), Te !== !1 ? Te : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var Ce = this.next();
+ return Ce || this.lex();
+ }, 'lex'),
+ begin: o(function (Ce) {
+ this.conditionStack.push(Ce);
+ }, 'begin'),
+ popState: o(function () {
+ var Ce = this.conditionStack.length - 1;
+ return Ce > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (Ce) {
+ return (
+ (Ce = this.conditionStack.length - 1 - Math.abs(Ce || 0)),
+ Ce >= 0 ? this.conditionStack[Ce] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (Ce) {
+ this.begin(Ce);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (Ce, Ae, Ge, Me) {
+ var ye = Me;
+ switch (Ge) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return 55;
+ case 3:
+ break;
+ case 4:
+ return this.begin('title'), 35;
+ break;
+ case 5:
+ return this.popState(), 'title_value';
+ break;
+ case 6:
+ return this.begin('acc_title'), 37;
+ break;
+ case 7:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 8:
+ return this.begin('acc_descr'), 39;
+ break;
+ case 9:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 10:
+ this.begin('acc_descr_multiline');
+ break;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 'acc_descr_multiline_value';
+ case 13:
+ return 48;
+ case 14:
+ return 50;
+ case 15:
+ return 49;
+ case 16:
+ return 51;
+ case 17:
+ return 52;
+ case 18:
+ return 53;
+ case 19:
+ return 54;
+ case 20:
+ return 25;
+ case 21:
+ this.begin('md_string');
+ break;
+ case 22:
+ return 'MD_STR';
+ case 23:
+ this.popState();
+ break;
+ case 24:
+ this.begin('string');
+ break;
+ case 25:
+ this.popState();
+ break;
+ case 26:
+ return 'STR';
+ case 27:
+ this.begin('class_name');
+ break;
+ case 28:
+ return this.popState(), 47;
+ break;
+ case 29:
+ return this.begin('point_start'), 44;
+ break;
+ case 30:
+ return this.begin('point_x'), 45;
+ break;
+ case 31:
+ this.popState();
+ break;
+ case 32:
+ this.popState(), this.begin('point_y');
+ break;
+ case 33:
+ return this.popState(), 46;
+ break;
+ case 34:
+ return 28;
+ case 35:
+ return 4;
+ case 36:
+ return 11;
+ case 37:
+ return 64;
+ case 38:
+ return 10;
+ case 39:
+ return 65;
+ case 40:
+ return 65;
+ case 41:
+ return 14;
+ case 42:
+ return 13;
+ case 43:
+ return 67;
+ case 44:
+ return 66;
+ case 45:
+ return 12;
+ case 46:
+ return 8;
+ case 47:
+ return 5;
+ case 48:
+ return 18;
+ case 49:
+ return 56;
+ case 50:
+ return 63;
+ case 51:
+ return 57;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n\r]+)/i,
+ /^(?:%%[^\n]*)/i,
+ /^(?:title\b)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?: *x-axis *)/i,
+ /^(?: *y-axis *)/i,
+ /^(?: *--+> *)/i,
+ /^(?: *quadrant-1 *)/i,
+ /^(?: *quadrant-2 *)/i,
+ /^(?: *quadrant-3 *)/i,
+ /^(?: *quadrant-4 *)/i,
+ /^(?:classDef\b)/i,
+ /^(?:["][`])/i,
+ /^(?:[^`"]+)/i,
+ /^(?:[`]["])/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?::::)/i,
+ /^(?:^\w+)/i,
+ /^(?:\s*:\s*\[\s*)/i,
+ /^(?:(1)|(0(.\d+)?))/i,
+ /^(?:\s*\] *)/i,
+ /^(?:\s*,\s*)/i,
+ /^(?:(1)|(0(.\d+)?))/i,
+ /^(?: *quadrantChart *)/i,
+ /^(?:[A-Za-z]+)/i,
+ /^(?::)/i,
+ /^(?:\+)/i,
+ /^(?:,)/i,
+ /^(?:=)/i,
+ /^(?:=)/i,
+ /^(?:\*)/i,
+ /^(?:#)/i,
+ /^(?:[\_])/i,
+ /^(?:\.)/i,
+ /^(?:&)/i,
+ /^(?:-)/i,
+ /^(?:[0-9]+)/i,
+ /^(?:\s)/i,
+ /^(?:;)/i,
+ /^(?:[!"#$%&'*+,-.`?\\_/])/i,
+ /^(?:$)/i
+ ],
+ conditions: {
+ class_name: { rules: [28], inclusive: !1 },
+ point_y: { rules: [33], inclusive: !1 },
+ point_x: { rules: [32], inclusive: !1 },
+ point_start: { rules: [30, 31], inclusive: !1 },
+ acc_descr_multiline: { rules: [11, 12], inclusive: !1 },
+ acc_descr: { rules: [9], inclusive: !1 },
+ acc_title: { rules: [7], inclusive: !1 },
+ title: { rules: [5], inclusive: !1 },
+ md_string: { rules: [22, 23], inclusive: !1 },
+ string: { rules: [25, 26], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 29, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return we;
+ })();
+ he.lexer = ne;
+ function ae() {
+ this.yy = {};
+ }
+ return o(ae, 'Parser'), (ae.prototype = he), (he.Parser = ae), new ae();
+ })();
+ XI.parser = XI;
+ $ce = XI;
+ });
+ var os,
+ uE,
+ Uce = R(() => {
+ 'use strict';
+ Zt();
+ sl();
+ ut();
+ jb();
+ (os = hp()),
+ (uE = class {
+ constructor() {
+ this.classes = new Map();
+ (this.config = this.getDefaultConfig()),
+ (this.themeConfig = this.getDefaultThemeConfig()),
+ (this.data = this.getDefaultData());
+ }
+ static {
+ o(this, 'QuadrantBuilder');
+ }
+ getDefaultData() {
+ return {
+ titleText: '',
+ quadrant1Text: '',
+ quadrant2Text: '',
+ quadrant3Text: '',
+ quadrant4Text: '',
+ xAxisLeftText: '',
+ xAxisRightText: '',
+ yAxisBottomText: '',
+ yAxisTopText: '',
+ points: []
+ };
+ }
+ getDefaultConfig() {
+ return {
+ showXAxis: !0,
+ showYAxis: !0,
+ showTitle: !0,
+ chartHeight: mr.quadrantChart?.chartWidth || 500,
+ chartWidth: mr.quadrantChart?.chartHeight || 500,
+ titlePadding: mr.quadrantChart?.titlePadding || 10,
+ titleFontSize: mr.quadrantChart?.titleFontSize || 20,
+ quadrantPadding: mr.quadrantChart?.quadrantPadding || 5,
+ xAxisLabelPadding: mr.quadrantChart?.xAxisLabelPadding || 5,
+ yAxisLabelPadding: mr.quadrantChart?.yAxisLabelPadding || 5,
+ xAxisLabelFontSize: mr.quadrantChart?.xAxisLabelFontSize || 16,
+ yAxisLabelFontSize: mr.quadrantChart?.yAxisLabelFontSize || 16,
+ quadrantLabelFontSize: mr.quadrantChart?.quadrantLabelFontSize || 16,
+ quadrantTextTopPadding: mr.quadrantChart?.quadrantTextTopPadding || 5,
+ pointTextPadding: mr.quadrantChart?.pointTextPadding || 5,
+ pointLabelFontSize: mr.quadrantChart?.pointLabelFontSize || 12,
+ pointRadius: mr.quadrantChart?.pointRadius || 5,
+ xAxisPosition: mr.quadrantChart?.xAxisPosition || 'top',
+ yAxisPosition: mr.quadrantChart?.yAxisPosition || 'left',
+ quadrantInternalBorderStrokeWidth: mr.quadrantChart?.quadrantInternalBorderStrokeWidth || 1,
+ quadrantExternalBorderStrokeWidth: mr.quadrantChart?.quadrantExternalBorderStrokeWidth || 2
+ };
+ }
+ getDefaultThemeConfig() {
+ return {
+ quadrant1Fill: os.quadrant1Fill,
+ quadrant2Fill: os.quadrant2Fill,
+ quadrant3Fill: os.quadrant3Fill,
+ quadrant4Fill: os.quadrant4Fill,
+ quadrant1TextFill: os.quadrant1TextFill,
+ quadrant2TextFill: os.quadrant2TextFill,
+ quadrant3TextFill: os.quadrant3TextFill,
+ quadrant4TextFill: os.quadrant4TextFill,
+ quadrantPointFill: os.quadrantPointFill,
+ quadrantPointTextFill: os.quadrantPointTextFill,
+ quadrantXAxisTextFill: os.quadrantXAxisTextFill,
+ quadrantYAxisTextFill: os.quadrantYAxisTextFill,
+ quadrantTitleFill: os.quadrantTitleFill,
+ quadrantInternalBorderStrokeFill: os.quadrantInternalBorderStrokeFill,
+ quadrantExternalBorderStrokeFill: os.quadrantExternalBorderStrokeFill
+ };
+ }
+ clear() {
+ (this.config = this.getDefaultConfig()),
+ (this.themeConfig = this.getDefaultThemeConfig()),
+ (this.data = this.getDefaultData()),
+ (this.classes = new Map()),
+ V.info('clear called');
+ }
+ setData(e) {
+ this.data = { ...this.data, ...e };
+ }
+ addPoints(e) {
+ this.data.points = [...e, ...this.data.points];
+ }
+ addClass(e, r) {
+ this.classes.set(e, r);
+ }
+ setConfig(e) {
+ V.trace('setConfig called with: ', e), (this.config = { ...this.config, ...e });
+ }
+ setThemeConfig(e) {
+ V.trace('setThemeConfig called with: ', e), (this.themeConfig = { ...this.themeConfig, ...e });
+ }
+ calculateSpace(e, r, n, i) {
+ let a = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize,
+ s = {
+ top: e === 'top' && r ? a : 0,
+ bottom: e === 'bottom' && r ? a : 0
+ },
+ l = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize,
+ u = {
+ left: this.config.yAxisPosition === 'left' && n ? l : 0,
+ right: this.config.yAxisPosition === 'right' && n ? l : 0
+ },
+ h = this.config.titleFontSize + this.config.titlePadding * 2,
+ f = { top: i ? h : 0 },
+ d = this.config.quadrantPadding + u.left,
+ p = this.config.quadrantPadding + s.top + f.top,
+ m = this.config.chartWidth - this.config.quadrantPadding * 2 - u.left - u.right,
+ g = this.config.chartHeight - this.config.quadrantPadding * 2 - s.top - s.bottom - f.top,
+ y = m / 2,
+ v = g / 2;
+ return {
+ xAxisSpace: s,
+ yAxisSpace: u,
+ titleSpace: f,
+ quadrantSpace: {
+ quadrantLeft: d,
+ quadrantTop: p,
+ quadrantWidth: m,
+ quadrantHalfWidth: y,
+ quadrantHeight: g,
+ quadrantHalfHeight: v
+ }
+ };
+ }
+ getAxisLabels(e, r, n, i) {
+ let { quadrantSpace: a, titleSpace: s } = i,
+ {
+ quadrantHalfHeight: l,
+ quadrantHeight: u,
+ quadrantLeft: h,
+ quadrantHalfWidth: f,
+ quadrantTop: d,
+ quadrantWidth: p
+ } = a,
+ m = !!this.data.xAxisRightText,
+ g = !!this.data.yAxisTopText,
+ y = [];
+ return (
+ this.data.xAxisLeftText &&
+ r &&
+ y.push({
+ text: this.data.xAxisLeftText,
+ fill: this.themeConfig.quadrantXAxisTextFill,
+ x: h + (m ? f / 2 : 0),
+ y:
+ e === 'top'
+ ? this.config.xAxisLabelPadding + s.top
+ : this.config.xAxisLabelPadding + d + u + this.config.quadrantPadding,
+ fontSize: this.config.xAxisLabelFontSize,
+ verticalPos: m ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: 0
+ }),
+ this.data.xAxisRightText &&
+ r &&
+ y.push({
+ text: this.data.xAxisRightText,
+ fill: this.themeConfig.quadrantXAxisTextFill,
+ x: h + f + (m ? f / 2 : 0),
+ y:
+ e === 'top'
+ ? this.config.xAxisLabelPadding + s.top
+ : this.config.xAxisLabelPadding + d + u + this.config.quadrantPadding,
+ fontSize: this.config.xAxisLabelFontSize,
+ verticalPos: m ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: 0
+ }),
+ this.data.yAxisBottomText &&
+ n &&
+ y.push({
+ text: this.data.yAxisBottomText,
+ fill: this.themeConfig.quadrantYAxisTextFill,
+ x:
+ this.config.yAxisPosition === 'left'
+ ? this.config.yAxisLabelPadding
+ : this.config.yAxisLabelPadding + h + p + this.config.quadrantPadding,
+ y: d + u - (g ? l / 2 : 0),
+ fontSize: this.config.yAxisLabelFontSize,
+ verticalPos: g ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: -90
+ }),
+ this.data.yAxisTopText &&
+ n &&
+ y.push({
+ text: this.data.yAxisTopText,
+ fill: this.themeConfig.quadrantYAxisTextFill,
+ x:
+ this.config.yAxisPosition === 'left'
+ ? this.config.yAxisLabelPadding
+ : this.config.yAxisLabelPadding + h + p + this.config.quadrantPadding,
+ y: d + l - (g ? l / 2 : 0),
+ fontSize: this.config.yAxisLabelFontSize,
+ verticalPos: g ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: -90
+ }),
+ y
+ );
+ }
+ getQuadrants(e) {
+ let { quadrantSpace: r } = e,
+ { quadrantHalfHeight: n, quadrantLeft: i, quadrantHalfWidth: a, quadrantTop: s } = r,
+ l = [
+ {
+ text: {
+ text: this.data.quadrant1Text,
+ fill: this.themeConfig.quadrant1TextFill,
+ x: 0,
+ y: 0,
+ fontSize: this.config.quadrantLabelFontSize,
+ verticalPos: 'center',
+ horizontalPos: 'middle',
+ rotation: 0
+ },
+ x: i + a,
+ y: s,
+ width: a,
+ height: n,
+ fill: this.themeConfig.quadrant1Fill
+ },
+ {
+ text: {
+ text: this.data.quadrant2Text,
+ fill: this.themeConfig.quadrant2TextFill,
+ x: 0,
+ y: 0,
+ fontSize: this.config.quadrantLabelFontSize,
+ verticalPos: 'center',
+ horizontalPos: 'middle',
+ rotation: 0
+ },
+ x: i,
+ y: s,
+ width: a,
+ height: n,
+ fill: this.themeConfig.quadrant2Fill
+ },
+ {
+ text: {
+ text: this.data.quadrant3Text,
+ fill: this.themeConfig.quadrant3TextFill,
+ x: 0,
+ y: 0,
+ fontSize: this.config.quadrantLabelFontSize,
+ verticalPos: 'center',
+ horizontalPos: 'middle',
+ rotation: 0
+ },
+ x: i,
+ y: s + n,
+ width: a,
+ height: n,
+ fill: this.themeConfig.quadrant3Fill
+ },
+ {
+ text: {
+ text: this.data.quadrant4Text,
+ fill: this.themeConfig.quadrant4TextFill,
+ x: 0,
+ y: 0,
+ fontSize: this.config.quadrantLabelFontSize,
+ verticalPos: 'center',
+ horizontalPos: 'middle',
+ rotation: 0
+ },
+ x: i + a,
+ y: s + n,
+ width: a,
+ height: n,
+ fill: this.themeConfig.quadrant4Fill
+ }
+ ];
+ for (let u of l)
+ (u.text.x = u.x + u.width / 2),
+ this.data.points.length === 0
+ ? ((u.text.y = u.y + u.height / 2), (u.text.horizontalPos = 'middle'))
+ : ((u.text.y = u.y + this.config.quadrantTextTopPadding),
+ (u.text.horizontalPos = 'top'));
+ return l;
+ }
+ getQuadrantPoints(e) {
+ let { quadrantSpace: r } = e,
+ { quadrantHeight: n, quadrantLeft: i, quadrantTop: a, quadrantWidth: s } = r,
+ l = gl()
+ .domain([0, 1])
+ .range([i, s + i]),
+ u = gl()
+ .domain([0, 1])
+ .range([n + a, a]);
+ return this.data.points.map((f) => {
+ let d = this.classes.get(f.className);
+ return (
+ d && (f = { ...d, ...f }),
+ {
+ x: l(f.x),
+ y: u(f.y),
+ fill: f.color ?? this.themeConfig.quadrantPointFill,
+ radius: f.radius ?? this.config.pointRadius,
+ text: {
+ text: f.text,
+ fill: this.themeConfig.quadrantPointTextFill,
+ x: l(f.x),
+ y: u(f.y) + this.config.pointTextPadding,
+ verticalPos: 'center',
+ horizontalPos: 'top',
+ fontSize: this.config.pointLabelFontSize,
+ rotation: 0
+ },
+ strokeColor: f.strokeColor ?? this.themeConfig.quadrantPointFill,
+ strokeWidth: f.strokeWidth ?? '0px'
+ }
+ );
+ });
+ }
+ getBorders(e) {
+ let r = this.config.quadrantExternalBorderStrokeWidth / 2,
+ { quadrantSpace: n } = e,
+ {
+ quadrantHalfHeight: i,
+ quadrantHeight: a,
+ quadrantLeft: s,
+ quadrantHalfWidth: l,
+ quadrantTop: u,
+ quadrantWidth: h
+ } = n;
+ return [
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: s - r,
+ y1: u,
+ x2: s + h + r,
+ y2: u
+ },
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: s + h,
+ y1: u + r,
+ x2: s + h,
+ y2: u + a - r
+ },
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: s - r,
+ y1: u + a,
+ x2: s + h + r,
+ y2: u + a
+ },
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: s,
+ y1: u + r,
+ x2: s,
+ y2: u + a - r
+ },
+ {
+ strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
+ x1: s + l,
+ y1: u + r,
+ x2: s + l,
+ y2: u + a - r
+ },
+ {
+ strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
+ x1: s + r,
+ y1: u + i,
+ x2: s + h - r,
+ y2: u + i
+ }
+ ];
+ }
+ getTitle(e) {
+ if (e)
+ return {
+ text: this.data.titleText,
+ fill: this.themeConfig.quadrantTitleFill,
+ fontSize: this.config.titleFontSize,
+ horizontalPos: 'top',
+ verticalPos: 'center',
+ rotation: 0,
+ y: this.config.titlePadding,
+ x: this.config.chartWidth / 2
+ };
+ }
+ build() {
+ let e = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText),
+ r = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText),
+ n = this.config.showTitle && !!this.data.titleText,
+ i = this.data.points.length > 0 ? 'bottom' : this.config.xAxisPosition,
+ a = this.calculateSpace(i, e, r, n);
+ return {
+ points: this.getQuadrantPoints(a),
+ quadrants: this.getQuadrants(a),
+ axisLabels: this.getAxisLabels(i, e, r, a),
+ borderLines: this.getBorders(a),
+ title: this.getTitle(n)
+ };
+ }
+ });
+ });
+ function jI(t) {
+ return !/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t);
+ }
+ function Hce(t) {
+ return !/^\d+$/.test(t);
+ }
+ function Yce(t) {
+ return !/^\d+px$/.test(t);
+ }
+ var S0,
+ Wce = R(() => {
+ 'use strict';
+ S0 = class extends Error {
+ static {
+ o(this, 'InvalidStyleError');
+ }
+ constructor(e, r, n) {
+ super(`value for ${e} ${r} is invalid, please use a valid ${n}`), (this.name = 'InvalidStyleError');
+ }
+ };
+ o(jI, 'validateHexCode');
+ o(Hce, 'validateNumber');
+ o(Yce, 'validateSizeInPixels');
+ });
+ function Wu(t) {
+ return qr(t.trim(), YFe);
+ }
+ function WFe(t) {
+ wa.setData({ quadrant1Text: Wu(t.text) });
+ }
+ function qFe(t) {
+ wa.setData({ quadrant2Text: Wu(t.text) });
+ }
+ function XFe(t) {
+ wa.setData({ quadrant3Text: Wu(t.text) });
+ }
+ function jFe(t) {
+ wa.setData({ quadrant4Text: Wu(t.text) });
+ }
+ function KFe(t) {
+ wa.setData({ xAxisLeftText: Wu(t.text) });
+ }
+ function QFe(t) {
+ wa.setData({ xAxisRightText: Wu(t.text) });
+ }
+ function ZFe(t) {
+ wa.setData({ yAxisTopText: Wu(t.text) });
+ }
+ function JFe(t) {
+ wa.setData({ yAxisBottomText: Wu(t.text) });
+ }
+ function KI(t) {
+ let e = {};
+ for (let r of t) {
+ let [n, i] = r.trim().split(/\s*:\s*/);
+ if (n === 'radius') {
+ if (Hce(i)) throw new S0(n, i, 'number');
+ e.radius = parseInt(i);
+ } else if (n === 'color') {
+ if (jI(i)) throw new S0(n, i, 'hex code');
+ e.color = i;
+ } else if (n === 'stroke-color') {
+ if (jI(i)) throw new S0(n, i, 'hex code');
+ e.strokeColor = i;
+ } else if (n === 'stroke-width') {
+ if (Yce(i)) throw new S0(n, i, 'number of pixels (eg. 10px)');
+ e.strokeWidth = i;
+ } else throw new Error(`style named ${n} is not supported.`);
+ }
+ return e;
+ }
+ function eze(t, e, r, n, i) {
+ let a = KI(i);
+ wa.addPoints([{ x: r, y: n, text: Wu(t.text), className: e, ...a }]);
+ }
+ function tze(t, e) {
+ wa.addClass(t, KI(e));
+ }
+ function rze(t) {
+ wa.setConfig({ chartWidth: t });
+ }
+ function nze(t) {
+ wa.setConfig({ chartHeight: t });
+ }
+ function ize() {
+ let t = de(),
+ { themeVariables: e, quadrantChart: r } = t;
+ return (
+ r && wa.setConfig(r),
+ wa.setThemeConfig({
+ quadrant1Fill: e.quadrant1Fill,
+ quadrant2Fill: e.quadrant2Fill,
+ quadrant3Fill: e.quadrant3Fill,
+ quadrant4Fill: e.quadrant4Fill,
+ quadrant1TextFill: e.quadrant1TextFill,
+ quadrant2TextFill: e.quadrant2TextFill,
+ quadrant3TextFill: e.quadrant3TextFill,
+ quadrant4TextFill: e.quadrant4TextFill,
+ quadrantPointFill: e.quadrantPointFill,
+ quadrantPointTextFill: e.quadrantPointTextFill,
+ quadrantXAxisTextFill: e.quadrantXAxisTextFill,
+ quadrantYAxisTextFill: e.quadrantYAxisTextFill,
+ quadrantExternalBorderStrokeFill: e.quadrantExternalBorderStrokeFill,
+ quadrantInternalBorderStrokeFill: e.quadrantInternalBorderStrokeFill,
+ quadrantTitleFill: e.quadrantTitleFill
+ }),
+ wa.setData({ titleText: Xr() }),
+ wa.build()
+ );
+ }
+ var YFe,
+ wa,
+ aze,
+ qce,
+ Xce = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ bi();
+ Uce();
+ Wce();
+ YFe = de();
+ o(Wu, 'textSanitizer');
+ wa = new uE();
+ o(WFe, 'setQuadrant1Text');
+ o(qFe, 'setQuadrant2Text');
+ o(XFe, 'setQuadrant3Text');
+ o(jFe, 'setQuadrant4Text');
+ o(KFe, 'setXAxisLeftText');
+ o(QFe, 'setXAxisRightText');
+ o(ZFe, 'setYAxisTopText');
+ o(JFe, 'setYAxisBottomText');
+ o(KI, 'parseStyles');
+ o(eze, 'addPoint');
+ o(tze, 'addClass');
+ o(rze, 'setWidth');
+ o(nze, 'setHeight');
+ o(ize, 'getQuadrantData');
+ (aze = o(function () {
+ wa.clear(), vr();
+ }, 'clear')),
+ (qce = {
+ setWidth: rze,
+ setHeight: nze,
+ setQuadrant1Text: WFe,
+ setQuadrant2Text: qFe,
+ setQuadrant3Text: XFe,
+ setQuadrant4Text: jFe,
+ setXAxisLeftText: KFe,
+ setXAxisRightText: QFe,
+ setYAxisTopText: ZFe,
+ setYAxisBottomText: JFe,
+ parseStyles: KI,
+ addPoint: eze,
+ addClass: tze,
+ getQuadrantData: ize,
+ clear: aze,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ getAccDescription: Lr,
+ setAccDescription: _r
+ });
+ });
+ var sze,
+ jce,
+ Kce = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ ut();
+ Yn();
+ (sze = o((t, e, r, n) => {
+ function i(A) {
+ return A === 'top' ? 'hanging' : 'middle';
+ }
+ o(i, 'getDominantBaseLine');
+ function a(A) {
+ return A === 'left' ? 'start' : 'middle';
+ }
+ o(a, 'getTextAnchor');
+ function s(A) {
+ return `translate(${A.x}, ${A.y}) rotate(${A.rotation || 0})`;
+ }
+ o(s, 'getTransformation');
+ let l = de();
+ V.debug(
+ `Rendering quadrant chart
+` + t
+ );
+ let u = l.securityLevel,
+ h;
+ u === 'sandbox' && (h = $e('#i' + e));
+ let d = (u === 'sandbox' ? $e(h.nodes()[0].contentDocument.body) : $e('body')).select(`[id="${e}"]`),
+ p = d.append('g').attr('class', 'main'),
+ m = l.quadrantChart?.chartWidth ?? 500,
+ g = l.quadrantChart?.chartHeight ?? 500;
+ Sr(d, g, m, l.quadrantChart?.useMaxWidth ?? !0),
+ d.attr('viewBox', '0 0 ' + m + ' ' + g),
+ n.db.setHeight(g),
+ n.db.setWidth(m);
+ let y = n.db.getQuadrantData(),
+ v = p.append('g').attr('class', 'quadrants'),
+ x = p.append('g').attr('class', 'border'),
+ b = p.append('g').attr('class', 'data-points'),
+ w = p.append('g').attr('class', 'labels'),
+ S = p.append('g').attr('class', 'title');
+ y.title &&
+ S.append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('fill', y.title.fill)
+ .attr('font-size', y.title.fontSize)
+ .attr('dominant-baseline', i(y.title.horizontalPos))
+ .attr('text-anchor', a(y.title.verticalPos))
+ .attr('transform', s(y.title))
+ .text(y.title.text),
+ y.borderLines &&
+ x
+ .selectAll('line')
+ .data(y.borderLines)
+ .enter()
+ .append('line')
+ .attr('x1', (A) => A.x1)
+ .attr('y1', (A) => A.y1)
+ .attr('x2', (A) => A.x2)
+ .attr('y2', (A) => A.y2)
+ .style('stroke', (A) => A.strokeFill)
+ .style('stroke-width', (A) => A.strokeWidth);
+ let T = v.selectAll('g.quadrant').data(y.quadrants).enter().append('g').attr('class', 'quadrant');
+ T.append('rect')
+ .attr('x', (A) => A.x)
+ .attr('y', (A) => A.y)
+ .attr('width', (A) => A.width)
+ .attr('height', (A) => A.height)
+ .attr('fill', (A) => A.fill),
+ T.append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('fill', (A) => A.text.fill)
+ .attr('font-size', (A) => A.text.fontSize)
+ .attr('dominant-baseline', (A) => i(A.text.horizontalPos))
+ .attr('text-anchor', (A) => a(A.text.verticalPos))
+ .attr('transform', (A) => s(A.text))
+ .text((A) => A.text.text),
+ w
+ .selectAll('g.label')
+ .data(y.axisLabels)
+ .enter()
+ .append('g')
+ .attr('class', 'label')
+ .append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .text((A) => A.text)
+ .attr('fill', (A) => A.fill)
+ .attr('font-size', (A) => A.fontSize)
+ .attr('dominant-baseline', (A) => i(A.horizontalPos))
+ .attr('text-anchor', (A) => a(A.verticalPos))
+ .attr('transform', (A) => s(A));
+ let _ = b.selectAll('g.data-point').data(y.points).enter().append('g').attr('class', 'data-point');
+ _.append('circle')
+ .attr('cx', (A) => A.x)
+ .attr('cy', (A) => A.y)
+ .attr('r', (A) => A.radius)
+ .attr('fill', (A) => A.fill)
+ .attr('stroke', (A) => A.strokeColor)
+ .attr('stroke-width', (A) => A.strokeWidth),
+ _.append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .text((A) => A.text.text)
+ .attr('fill', (A) => A.text.fill)
+ .attr('font-size', (A) => A.text.fontSize)
+ .attr('dominant-baseline', (A) => i(A.text.horizontalPos))
+ .attr('text-anchor', (A) => a(A.text.verticalPos))
+ .attr('transform', (A) => s(A.text));
+ }, 'draw')),
+ (jce = { draw: sze });
+ });
+ var Qce = {};
+ hr(Qce, { diagram: () => oze });
+ var oze,
+ Zce = R(() => {
+ 'use strict';
+ Vce();
+ Xce();
+ Kce();
+ oze = {
+ parser: $ce,
+ db: qce,
+ renderer: jce,
+ styles: o(() => '', 'styles')
+ };
+ });
+ var QI,
+ tue,
+ rue = R(() => {
+ 'use strict';
+ QI = (function () {
+ var t = o(function (O, D, P, F) {
+ for (P = P || {}, F = O.length; F--; P[O[F]] = D);
+ return P;
+ }, 'o'),
+ e = [1, 10, 12, 14, 16, 18, 19, 21, 23],
+ r = [2, 6],
+ n = [1, 3],
+ i = [1, 5],
+ a = [1, 6],
+ s = [1, 7],
+ l = [1, 5, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36],
+ u = [1, 25],
+ h = [1, 26],
+ f = [1, 28],
+ d = [1, 29],
+ p = [1, 30],
+ m = [1, 31],
+ g = [1, 32],
+ y = [1, 33],
+ v = [1, 34],
+ x = [1, 35],
+ b = [1, 36],
+ w = [1, 37],
+ S = [1, 43],
+ T = [1, 42],
+ E = [1, 47],
+ _ = [1, 50],
+ A = [1, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36],
+ L = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36],
+ M = [
+ 1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50
+ ],
+ N = [1, 64],
+ k = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ eol: 4,
+ XYCHART: 5,
+ chartConfig: 6,
+ document: 7,
+ CHART_ORIENTATION: 8,
+ statement: 9,
+ title: 10,
+ text: 11,
+ X_AXIS: 12,
+ parseXAxis: 13,
+ Y_AXIS: 14,
+ parseYAxis: 15,
+ LINE: 16,
+ plotData: 17,
+ BAR: 18,
+ acc_title: 19,
+ acc_title_value: 20,
+ acc_descr: 21,
+ acc_descr_value: 22,
+ acc_descr_multiline_value: 23,
+ SQUARE_BRACES_START: 24,
+ commaSeparatedNumbers: 25,
+ SQUARE_BRACES_END: 26,
+ NUMBER_WITH_DECIMAL: 27,
+ COMMA: 28,
+ xAxisData: 29,
+ bandData: 30,
+ ARROW_DELIMITER: 31,
+ commaSeparatedTexts: 32,
+ yAxisData: 33,
+ NEWLINE: 34,
+ SEMI: 35,
+ EOF: 36,
+ alphaNum: 37,
+ STR: 38,
+ MD_STR: 39,
+ alphaNumToken: 40,
+ AMP: 41,
+ NUM: 42,
+ ALPHA: 43,
+ PLUS: 44,
+ EQUALS: 45,
+ MULT: 46,
+ DOT: 47,
+ BRKT: 48,
+ MINUS: 49,
+ UNDERSCORE: 50,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 5: 'XYCHART',
+ 8: 'CHART_ORIENTATION',
+ 10: 'title',
+ 12: 'X_AXIS',
+ 14: 'Y_AXIS',
+ 16: 'LINE',
+ 18: 'BAR',
+ 19: 'acc_title',
+ 20: 'acc_title_value',
+ 21: 'acc_descr',
+ 22: 'acc_descr_value',
+ 23: 'acc_descr_multiline_value',
+ 24: 'SQUARE_BRACES_START',
+ 26: 'SQUARE_BRACES_END',
+ 27: 'NUMBER_WITH_DECIMAL',
+ 28: 'COMMA',
+ 31: 'ARROW_DELIMITER',
+ 34: 'NEWLINE',
+ 35: 'SEMI',
+ 36: 'EOF',
+ 38: 'STR',
+ 39: 'MD_STR',
+ 41: 'AMP',
+ 42: 'NUM',
+ 43: 'ALPHA',
+ 44: 'PLUS',
+ 45: 'EQUALS',
+ 46: 'MULT',
+ 47: 'DOT',
+ 48: 'BRKT',
+ 49: 'MINUS',
+ 50: 'UNDERSCORE'
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 3],
+ [3, 2],
+ [3, 1],
+ [6, 1],
+ [7, 0],
+ [7, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 3],
+ [9, 2],
+ [9, 3],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [17, 3],
+ [25, 3],
+ [25, 1],
+ [13, 1],
+ [13, 2],
+ [13, 1],
+ [29, 1],
+ [29, 3],
+ [30, 3],
+ [32, 3],
+ [32, 1],
+ [15, 1],
+ [15, 2],
+ [15, 1],
+ [33, 3],
+ [4, 1],
+ [4, 1],
+ [4, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [37, 1],
+ [37, 2],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1]
+ ],
+ performAction: o(function (D, P, F, B, $, z, Y) {
+ var Q = z.length - 1;
+ switch ($) {
+ case 5:
+ B.setOrientation(z[Q]);
+ break;
+ case 9:
+ B.setDiagramTitle(z[Q].text.trim());
+ break;
+ case 12:
+ B.setLineData({ text: '', type: 'text' }, z[Q]);
+ break;
+ case 13:
+ B.setLineData(z[Q - 1], z[Q]);
+ break;
+ case 14:
+ B.setBarData({ text: '', type: 'text' }, z[Q]);
+ break;
+ case 15:
+ B.setBarData(z[Q - 1], z[Q]);
+ break;
+ case 16:
+ (this.$ = z[Q].trim()), B.setAccTitle(this.$);
+ break;
+ case 17:
+ case 18:
+ (this.$ = z[Q].trim()), B.setAccDescription(this.$);
+ break;
+ case 19:
+ this.$ = z[Q - 1];
+ break;
+ case 20:
+ this.$ = [Number(z[Q - 2]), ...z[Q]];
+ break;
+ case 21:
+ this.$ = [Number(z[Q])];
+ break;
+ case 22:
+ B.setXAxisTitle(z[Q]);
+ break;
+ case 23:
+ B.setXAxisTitle(z[Q - 1]);
+ break;
+ case 24:
+ B.setXAxisTitle({ type: 'text', text: '' });
+ break;
+ case 25:
+ B.setXAxisBand(z[Q]);
+ break;
+ case 26:
+ B.setXAxisRangeData(Number(z[Q - 2]), Number(z[Q]));
+ break;
+ case 27:
+ this.$ = z[Q - 1];
+ break;
+ case 28:
+ this.$ = [z[Q - 2], ...z[Q]];
+ break;
+ case 29:
+ this.$ = [z[Q]];
+ break;
+ case 30:
+ B.setYAxisTitle(z[Q]);
+ break;
+ case 31:
+ B.setYAxisTitle(z[Q - 1]);
+ break;
+ case 32:
+ B.setYAxisTitle({ type: 'text', text: '' });
+ break;
+ case 33:
+ B.setYAxisRangeData(Number(z[Q - 2]), Number(z[Q]));
+ break;
+ case 37:
+ this.$ = { text: z[Q], type: 'text' };
+ break;
+ case 38:
+ this.$ = { text: z[Q], type: 'text' };
+ break;
+ case 39:
+ this.$ = { text: z[Q], type: 'markdown' };
+ break;
+ case 40:
+ this.$ = z[Q];
+ break;
+ case 41:
+ this.$ = z[Q - 1] + '' + z[Q];
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ t(e, r, { 3: 1, 4: 2, 7: 4, 5: n, 34: i, 35: a, 36: s }),
+ { 1: [3] },
+ t(e, r, { 4: 2, 7: 4, 3: 8, 5: n, 34: i, 35: a, 36: s }),
+ t(e, r, {
+ 4: 2,
+ 7: 4,
+ 6: 9,
+ 3: 10,
+ 5: n,
+ 8: [1, 11],
+ 34: i,
+ 35: a,
+ 36: s
+ }),
+ {
+ 1: [2, 4],
+ 9: 12,
+ 10: [1, 13],
+ 12: [1, 14],
+ 14: [1, 15],
+ 16: [1, 16],
+ 18: [1, 17],
+ 19: [1, 18],
+ 21: [1, 19],
+ 23: [1, 20]
+ },
+ t(l, [2, 34]),
+ t(l, [2, 35]),
+ t(l, [2, 36]),
+ { 1: [2, 1] },
+ t(e, r, { 4: 2, 7: 4, 3: 21, 5: n, 34: i, 35: a, 36: s }),
+ { 1: [2, 3] },
+ t(l, [2, 5]),
+ t(e, [2, 7], { 4: 22, 34: i, 35: a, 36: s }),
+ {
+ 11: 23,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ {
+ 11: 39,
+ 13: 38,
+ 24: S,
+ 27: T,
+ 29: 40,
+ 30: 41,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ {
+ 11: 45,
+ 15: 44,
+ 27: E,
+ 33: 46,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ {
+ 11: 49,
+ 17: 48,
+ 24: _,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ {
+ 11: 52,
+ 17: 51,
+ 24: _,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ { 20: [1, 53] },
+ { 22: [1, 54] },
+ t(A, [2, 18]),
+ { 1: [2, 2] },
+ t(A, [2, 8]),
+ t(A, [2, 9]),
+ t(L, [2, 37], {
+ 40: 55,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ }),
+ t(L, [2, 38]),
+ t(L, [2, 39]),
+ t(M, [2, 40]),
+ t(M, [2, 42]),
+ t(M, [2, 43]),
+ t(M, [2, 44]),
+ t(M, [2, 45]),
+ t(M, [2, 46]),
+ t(M, [2, 47]),
+ t(M, [2, 48]),
+ t(M, [2, 49]),
+ t(M, [2, 50]),
+ t(M, [2, 51]),
+ t(A, [2, 10]),
+ t(A, [2, 22], { 30: 41, 29: 56, 24: S, 27: T }),
+ t(A, [2, 24]),
+ t(A, [2, 25]),
+ { 31: [1, 57] },
+ {
+ 11: 59,
+ 32: 58,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ t(A, [2, 11]),
+ t(A, [2, 30], { 33: 60, 27: E }),
+ t(A, [2, 32]),
+ { 31: [1, 61] },
+ t(A, [2, 12]),
+ { 17: 62, 24: _ },
+ { 25: 63, 27: N },
+ t(A, [2, 14]),
+ { 17: 65, 24: _ },
+ t(A, [2, 16]),
+ t(A, [2, 17]),
+ t(M, [2, 41]),
+ t(A, [2, 23]),
+ { 27: [1, 66] },
+ { 26: [1, 67] },
+ { 26: [2, 29], 28: [1, 68] },
+ t(A, [2, 31]),
+ { 27: [1, 69] },
+ t(A, [2, 13]),
+ { 26: [1, 70] },
+ { 26: [2, 21], 28: [1, 71] },
+ t(A, [2, 15]),
+ t(A, [2, 26]),
+ t(A, [2, 27]),
+ {
+ 11: 59,
+ 32: 72,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ t(A, [2, 33]),
+ t(A, [2, 19]),
+ { 25: 73, 27: N },
+ { 26: [2, 28] },
+ { 26: [2, 20] }
+ ],
+ defaultActions: {
+ 8: [2, 1],
+ 10: [2, 3],
+ 21: [2, 2],
+ 72: [2, 28],
+ 73: [2, 20]
+ },
+ parseError: o(function (D, P) {
+ if (P.recoverable) this.trace(D);
+ else {
+ var F = new Error(D);
+ throw ((F.hash = P), F);
+ }
+ }, 'parseError'),
+ parse: o(function (D) {
+ var P = this,
+ F = [0],
+ B = [],
+ $ = [null],
+ z = [],
+ Y = this.table,
+ Q = '',
+ X = 0,
+ ie = 0,
+ j = 0,
+ J = 2,
+ Z = 1,
+ H = z.slice.call(arguments, 1),
+ q = Object.create(this.lexer),
+ K = { yy: {} };
+ for (var se in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, se) && (K.yy[se] = this.yy[se]);
+ q.setInput(D, K.yy),
+ (K.yy.lexer = q),
+ (K.yy.parser = this),
+ typeof q.yylloc > 'u' && (q.yylloc = {});
+ var ce = q.yylloc;
+ z.push(ce);
+ var ue = q.options && q.options.ranges;
+ typeof K.yy.parseError == 'function'
+ ? (this.parseError = K.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function te(he) {
+ (F.length = F.length - 2 * he), ($.length = $.length - he), (z.length = z.length - he);
+ }
+ o(te, 'popStack');
+ function De() {
+ var he;
+ return (
+ (he = B.pop() || q.lex() || Z),
+ typeof he != 'number' &&
+ (he instanceof Array && ((B = he), (he = B.pop())),
+ (he = P.symbols_[he] || he)),
+ he
+ );
+ }
+ o(De, 'lex');
+ for (var oe, ke, Ie, Se, Ue, Pe, _e = {}, me, W, fe, ge; ; ) {
+ if (
+ ((Ie = F[F.length - 1]),
+ this.defaultActions[Ie]
+ ? (Se = this.defaultActions[Ie])
+ : ((oe === null || typeof oe > 'u') && (oe = De()), (Se = Y[Ie] && Y[Ie][oe])),
+ typeof Se > 'u' || !Se.length || !Se[0])
+ ) {
+ var re = '';
+ ge = [];
+ for (me in Y[Ie])
+ this.terminals_[me] && me > J && ge.push("'" + this.terminals_[me] + "'");
+ q.showPosition
+ ? (re =
+ 'Parse error on line ' +
+ (X + 1) +
+ `:
+` +
+ q.showPosition() +
+ `
+Expecting ` +
+ ge.join(', ') +
+ ", got '" +
+ (this.terminals_[oe] || oe) +
+ "'")
+ : (re =
+ 'Parse error on line ' +
+ (X + 1) +
+ ': Unexpected ' +
+ (oe == Z ? 'end of input' : "'" + (this.terminals_[oe] || oe) + "'")),
+ this.parseError(re, {
+ text: q.match,
+ token: this.terminals_[oe] || oe,
+ line: q.yylineno,
+ loc: ce,
+ expected: ge
+ });
+ }
+ if (Se[0] instanceof Array && Se.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Ie + ', token: ' + oe
+ );
+ switch (Se[0]) {
+ case 1:
+ F.push(oe),
+ $.push(q.yytext),
+ z.push(q.yylloc),
+ F.push(Se[1]),
+ (oe = null),
+ ke
+ ? ((oe = ke), (ke = null))
+ : ((ie = q.yyleng),
+ (Q = q.yytext),
+ (X = q.yylineno),
+ (ce = q.yylloc),
+ j > 0 && j--);
+ break;
+ case 2:
+ if (
+ ((W = this.productions_[Se[1]][1]),
+ (_e.$ = $[$.length - W]),
+ (_e._$ = {
+ first_line: z[z.length - (W || 1)].first_line,
+ last_line: z[z.length - 1].last_line,
+ first_column: z[z.length - (W || 1)].first_column,
+ last_column: z[z.length - 1].last_column
+ }),
+ ue &&
+ (_e._$.range = [
+ z[z.length - (W || 1)].range[0],
+ z[z.length - 1].range[1]
+ ]),
+ (Pe = this.performAction.apply(
+ _e,
+ [Q, ie, X, K.yy, Se[1], $, z].concat(H)
+ )),
+ typeof Pe < 'u')
+ )
+ return Pe;
+ W &&
+ ((F = F.slice(0, -1 * W * 2)),
+ ($ = $.slice(0, -1 * W)),
+ (z = z.slice(0, -1 * W))),
+ F.push(this.productions_[Se[1]][0]),
+ $.push(_e.$),
+ z.push(_e._$),
+ (fe = Y[F[F.length - 2]][F[F.length - 1]]),
+ F.push(fe);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ I = (function () {
+ var O = {
+ EOF: 1,
+ parseError: o(function (P, F) {
+ if (this.yy.parser) this.yy.parser.parseError(P, F);
+ else throw new Error(P);
+ }, 'parseError'),
+ setInput: o(function (D, P) {
+ return (
+ (this.yy = P || this.yy || {}),
+ (this._input = D),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var D = this._input[0];
+ (this.yytext += D),
+ this.yyleng++,
+ this.offset++,
+ (this.match += D),
+ (this.matched += D);
+ var P = D.match(/(?:\r\n?|\n).*/g);
+ return (
+ P ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ D
+ );
+ }, 'input'),
+ unput: o(function (D) {
+ var P = D.length,
+ F = D.split(/(?:\r\n?|\n)/g);
+ (this._input = D + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - P)),
+ (this.offset -= P);
+ var B = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ F.length - 1 && (this.yylineno -= F.length - 1);
+ var $ = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: F
+ ? (F.length === B.length ? this.yylloc.first_column : 0) +
+ B[B.length - F.length].length -
+ F[0].length
+ : this.yylloc.first_column - P
+ }),
+ this.options.ranges && (this.yylloc.range = [$[0], $[0] + this.yyleng - P]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (D) {
+ this.unput(this.match.slice(D));
+ }, 'less'),
+ pastInput: o(function () {
+ var D = this.matched.substr(0, this.matched.length - this.match.length);
+ return (D.length > 20 ? '...' : '') + D.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var D = this.match;
+ return (
+ D.length < 20 && (D += this._input.substr(0, 20 - D.length)),
+ (D.substr(0, 20) + (D.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var D = this.pastInput(),
+ P = new Array(D.length + 1).join('-');
+ return (
+ D +
+ this.upcomingInput() +
+ `
+` +
+ P +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (D, P) {
+ var F, B, $;
+ if (
+ (this.options.backtrack_lexer &&
+ (($ = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && ($.yylloc.range = this.yylloc.range.slice(0))),
+ (B = D[0].match(/(?:\r\n?|\n).*/g)),
+ B && (this.yylineno += B.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: B
+ ? B[B.length - 1].length - B[B.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + D[0].length
+ }),
+ (this.yytext += D[0]),
+ (this.match += D[0]),
+ (this.matches = D),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(D[0].length)),
+ (this.matched += D[0]),
+ (F = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ P,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ F)
+ )
+ return F;
+ if (this._backtrack) {
+ for (var z in $) this[z] = $[z];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var D, P, F, B;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var $ = this._currentRules(), z = 0; z < $.length; z++)
+ if (
+ ((F = this._input.match(this.rules[$[z]])),
+ F && (!P || F[0].length > P[0].length))
+ ) {
+ if (((P = F), (B = z), this.options.backtrack_lexer)) {
+ if (((D = this.test_match(F, $[z])), D !== !1)) return D;
+ if (this._backtrack) {
+ P = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return P
+ ? ((D = this.test_match(P, $[B])), D !== !1 ? D : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var P = this.next();
+ return P || this.lex();
+ }, 'lex'),
+ begin: o(function (P) {
+ this.conditionStack.push(P);
+ }, 'begin'),
+ popState: o(function () {
+ var P = this.conditionStack.length - 1;
+ return P > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (P) {
+ return (
+ (P = this.conditionStack.length - 1 - Math.abs(P || 0)),
+ P >= 0 ? this.conditionStack[P] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (P) {
+ this.begin(P);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (P, F, B, $) {
+ var z = $;
+ switch (B) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return this.popState(), 34;
+ break;
+ case 3:
+ return this.popState(), 34;
+ break;
+ case 4:
+ return 34;
+ case 5:
+ break;
+ case 6:
+ return 10;
+ case 7:
+ return this.pushState('acc_title'), 19;
+ break;
+ case 8:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 9:
+ return this.pushState('acc_descr'), 21;
+ break;
+ case 10:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 11:
+ this.pushState('acc_descr_multiline');
+ break;
+ case 12:
+ this.popState();
+ break;
+ case 13:
+ return 'acc_descr_multiline_value';
+ case 14:
+ return 5;
+ case 15:
+ return 8;
+ case 16:
+ return this.pushState('axis_data'), 'X_AXIS';
+ break;
+ case 17:
+ return this.pushState('axis_data'), 'Y_AXIS';
+ break;
+ case 18:
+ return this.pushState('axis_band_data'), 24;
+ break;
+ case 19:
+ return 31;
+ case 20:
+ return this.pushState('data'), 16;
+ break;
+ case 21:
+ return this.pushState('data'), 18;
+ break;
+ case 22:
+ return this.pushState('data_inner'), 24;
+ break;
+ case 23:
+ return 27;
+ case 24:
+ return this.popState(), 26;
+ break;
+ case 25:
+ this.popState();
+ break;
+ case 26:
+ this.pushState('string');
+ break;
+ case 27:
+ this.popState();
+ break;
+ case 28:
+ return 'STR';
+ case 29:
+ return 24;
+ case 30:
+ return 26;
+ case 31:
+ return 43;
+ case 32:
+ return 'COLON';
+ case 33:
+ return 44;
+ case 34:
+ return 28;
+ case 35:
+ return 45;
+ case 36:
+ return 46;
+ case 37:
+ return 48;
+ case 38:
+ return 50;
+ case 39:
+ return 47;
+ case 40:
+ return 41;
+ case 41:
+ return 49;
+ case 42:
+ return 42;
+ case 43:
+ break;
+ case 44:
+ return 35;
+ case 45:
+ return 36;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:(\r?\n))/i,
+ /^(?:(\r?\n))/i,
+ /^(?:[\n\r]+)/i,
+ /^(?:%%[^\n]*)/i,
+ /^(?:title\b)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:\{)/i,
+ /^(?:[^\}]*)/i,
+ /^(?:xychart-beta\b)/i,
+ /^(?:(?:vertical|horizontal))/i,
+ /^(?:x-axis\b)/i,
+ /^(?:y-axis\b)/i,
+ /^(?:\[)/i,
+ /^(?:-->)/i,
+ /^(?:line\b)/i,
+ /^(?:bar\b)/i,
+ /^(?:\[)/i,
+ /^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,
+ /^(?:\])/i,
+ /^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:\[)/i,
+ /^(?:\])/i,
+ /^(?:[A-Za-z]+)/i,
+ /^(?::)/i,
+ /^(?:\+)/i,
+ /^(?:,)/i,
+ /^(?:=)/i,
+ /^(?:\*)/i,
+ /^(?:#)/i,
+ /^(?:[\_])/i,
+ /^(?:\.)/i,
+ /^(?:&)/i,
+ /^(?:-)/i,
+ /^(?:[0-9]+)/i,
+ /^(?:\s+)/i,
+ /^(?:;)/i,
+ /^(?:$)/i
+ ],
+ conditions: {
+ data_inner: {
+ rules: [
+ 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
+ ],
+ inclusive: !0
+ },
+ data: {
+ rules: [
+ 0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
+ ],
+ inclusive: !0
+ },
+ axis_band_data: {
+ rules: [
+ 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
+ ],
+ inclusive: !0
+ },
+ axis_data: {
+ rules: [
+ 0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
+ ],
+ inclusive: !0
+ },
+ acc_descr_multiline: { rules: [12, 13], inclusive: !1 },
+ acc_descr: { rules: [10], inclusive: !1 },
+ acc_title: { rules: [8], inclusive: !1 },
+ title: { rules: [], inclusive: !1 },
+ md_string: { rules: [], inclusive: !1 },
+ string: { rules: [27, 28], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 25, 26, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return O;
+ })();
+ k.lexer = I;
+ function C() {
+ this.yy = {};
+ }
+ return o(C, 'Parser'), (C.prototype = k), (k.Parser = C), new C();
+ })();
+ QI.parser = QI;
+ tue = QI;
+ });
+ function ZI(t) {
+ return t.type === 'bar';
+ }
+ function hE(t) {
+ return t.type === 'band';
+ }
+ function Ng(t) {
+ return t.type === 'linear';
+ }
+ var fE = R(() => {
+ 'use strict';
+ o(ZI, 'isBarPlot');
+ o(hE, 'isBandAxisData');
+ o(Ng, 'isLinearAxisData');
+ });
+ var Mg,
+ JI = R(() => {
+ 'use strict';
+ Al();
+ Mg = class {
+ constructor(e) {
+ this.parentGroup = e;
+ }
+ static {
+ o(this, 'TextDimensionCalculatorWithFont');
+ }
+ getMaxDimension(e, r) {
+ if (!this.parentGroup)
+ return {
+ width: e.reduce((a, s) => Math.max(s.length, a), 0) * r,
+ height: r
+ };
+ let n = { width: 0, height: 0 },
+ i = this.parentGroup.append('g').attr('visibility', 'hidden').attr('font-size', r);
+ for (let a of e) {
+ let s = bj(i, 1, a),
+ l = s ? s.width : a.length * r,
+ u = s ? s.height : r;
+ (n.width = Math.max(n.width, l)), (n.height = Math.max(n.height, u));
+ }
+ return i.remove(), n;
+ }
+ };
+ });
+ var Ig,
+ eO = R(() => {
+ 'use strict';
+ Ig = class {
+ constructor(e, r, n, i) {
+ this.axisConfig = e;
+ this.title = r;
+ this.textDimensionCalculator = n;
+ this.axisThemeConfig = i;
+ this.boundingRect = { x: 0, y: 0, width: 0, height: 0 };
+ this.axisPosition = 'left';
+ this.showTitle = !1;
+ this.showLabel = !1;
+ this.showTick = !1;
+ this.showAxisLine = !1;
+ this.outerPadding = 0;
+ this.titleTextHeight = 0;
+ this.labelTextHeight = 0;
+ (this.range = [0, 10]),
+ (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }),
+ (this.axisPosition = 'left');
+ }
+ static {
+ o(this, 'BaseAxis');
+ }
+ setRange(e) {
+ (this.range = e),
+ this.axisPosition === 'left' || this.axisPosition === 'right'
+ ? (this.boundingRect.height = e[1] - e[0])
+ : (this.boundingRect.width = e[1] - e[0]),
+ this.recalculateScale();
+ }
+ getRange() {
+ return [this.range[0] + this.outerPadding, this.range[1] - this.outerPadding];
+ }
+ setAxisPosition(e) {
+ (this.axisPosition = e), this.setRange(this.range);
+ }
+ getTickDistance() {
+ let e = this.getRange();
+ return Math.abs(e[0] - e[1]) / this.getTickValues().length;
+ }
+ getAxisOuterPadding() {
+ return this.outerPadding;
+ }
+ getLabelDimension() {
+ return this.textDimensionCalculator.getMaxDimension(
+ this.getTickValues().map((e) => e.toString()),
+ this.axisConfig.labelFontSize
+ );
+ }
+ recalculateOuterPaddingToDrawBar() {
+ 0.7 * this.getTickDistance() > this.outerPadding * 2 &&
+ (this.outerPadding = Math.floor((0.7 * this.getTickDistance()) / 2)),
+ this.recalculateScale();
+ }
+ calculateSpaceIfDrawnHorizontally(e) {
+ let r = e.height;
+ if (
+ (this.axisConfig.showAxisLine &&
+ r > this.axisConfig.axisLineWidth &&
+ ((r -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)),
+ this.axisConfig.showLabel)
+ ) {
+ let n = this.getLabelDimension(),
+ i = 0.2 * e.width;
+ this.outerPadding = Math.min(n.width / 2, i);
+ let a = n.height + this.axisConfig.labelPadding * 2;
+ (this.labelTextHeight = n.height), a <= r && ((r -= a), (this.showLabel = !0));
+ }
+ if (
+ (this.axisConfig.showTick &&
+ r >= this.axisConfig.tickLength &&
+ ((this.showTick = !0), (r -= this.axisConfig.tickLength)),
+ this.axisConfig.showTitle && this.title)
+ ) {
+ let n = this.textDimensionCalculator.getMaxDimension(
+ [this.title],
+ this.axisConfig.titleFontSize
+ ),
+ i = n.height + this.axisConfig.titlePadding * 2;
+ (this.titleTextHeight = n.height), i <= r && ((r -= i), (this.showTitle = !0));
+ }
+ (this.boundingRect.width = e.width), (this.boundingRect.height = e.height - r);
+ }
+ calculateSpaceIfDrawnVertical(e) {
+ let r = e.width;
+ if (
+ (this.axisConfig.showAxisLine &&
+ r > this.axisConfig.axisLineWidth &&
+ ((r -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)),
+ this.axisConfig.showLabel)
+ ) {
+ let n = this.getLabelDimension(),
+ i = 0.2 * e.height;
+ this.outerPadding = Math.min(n.height / 2, i);
+ let a = n.width + this.axisConfig.labelPadding * 2;
+ a <= r && ((r -= a), (this.showLabel = !0));
+ }
+ if (
+ (this.axisConfig.showTick &&
+ r >= this.axisConfig.tickLength &&
+ ((this.showTick = !0), (r -= this.axisConfig.tickLength)),
+ this.axisConfig.showTitle && this.title)
+ ) {
+ let n = this.textDimensionCalculator.getMaxDimension(
+ [this.title],
+ this.axisConfig.titleFontSize
+ ),
+ i = n.height + this.axisConfig.titlePadding * 2;
+ (this.titleTextHeight = n.height), i <= r && ((r -= i), (this.showTitle = !0));
+ }
+ (this.boundingRect.width = e.width - r), (this.boundingRect.height = e.height);
+ }
+ calculateSpace(e) {
+ return (
+ this.axisPosition === 'left' || this.axisPosition === 'right'
+ ? this.calculateSpaceIfDrawnVertical(e)
+ : this.calculateSpaceIfDrawnHorizontally(e),
+ this.recalculateScale(),
+ { width: this.boundingRect.width, height: this.boundingRect.height }
+ );
+ }
+ setBoundingBoxXY(e) {
+ (this.boundingRect.x = e.x), (this.boundingRect.y = e.y);
+ }
+ getDrawableElementsForLeftAxis() {
+ let e = [];
+ if (this.showAxisLine) {
+ let r = this.boundingRect.x + this.boundingRect.width - this.axisConfig.axisLineWidth / 2;
+ e.push({
+ type: 'path',
+ groupTexts: ['left-axis', 'axisl-line'],
+ data: [
+ {
+ path: `M ${r},${this.boundingRect.y} L ${r},${
+ this.boundingRect.y + this.boundingRect.height
+ } `,
+ strokeFill: this.axisThemeConfig.axisLineColor,
+ strokeWidth: this.axisConfig.axisLineWidth
+ }
+ ]
+ });
+ }
+ if (
+ (this.showLabel &&
+ e.push({
+ type: 'text',
+ groupTexts: ['left-axis', 'label'],
+ data: this.getTickValues().map((r) => ({
+ text: r.toString(),
+ x:
+ this.boundingRect.x +
+ this.boundingRect.width -
+ (this.showLabel ? this.axisConfig.labelPadding : 0) -
+ (this.showTick ? this.axisConfig.tickLength : 0) -
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),
+ y: this.getScaleValue(r),
+ fill: this.axisThemeConfig.labelColor,
+ fontSize: this.axisConfig.labelFontSize,
+ rotation: 0,
+ verticalPos: 'middle',
+ horizontalPos: 'right'
+ }))
+ }),
+ this.showTick)
+ ) {
+ let r =
+ this.boundingRect.x +
+ this.boundingRect.width -
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);
+ e.push({
+ type: 'path',
+ groupTexts: ['left-axis', 'ticks'],
+ data: this.getTickValues().map((n) => ({
+ path: `M ${r},${this.getScaleValue(n)} L ${
+ r - this.axisConfig.tickLength
+ },${this.getScaleValue(n)}`,
+ strokeFill: this.axisThemeConfig.tickColor,
+ strokeWidth: this.axisConfig.tickWidth
+ }))
+ });
+ }
+ return (
+ this.showTitle &&
+ e.push({
+ type: 'text',
+ groupTexts: ['left-axis', 'title'],
+ data: [
+ {
+ text: this.title,
+ x: this.boundingRect.x + this.axisConfig.titlePadding,
+ y: this.boundingRect.y + this.boundingRect.height / 2,
+ fill: this.axisThemeConfig.titleColor,
+ fontSize: this.axisConfig.titleFontSize,
+ rotation: 270,
+ verticalPos: 'top',
+ horizontalPos: 'center'
+ }
+ ]
+ }),
+ e
+ );
+ }
+ getDrawableElementsForBottomAxis() {
+ let e = [];
+ if (this.showAxisLine) {
+ let r = this.boundingRect.y + this.axisConfig.axisLineWidth / 2;
+ e.push({
+ type: 'path',
+ groupTexts: ['bottom-axis', 'axis-line'],
+ data: [
+ {
+ path: `M ${this.boundingRect.x},${r} L ${
+ this.boundingRect.x + this.boundingRect.width
+ },${r}`,
+ strokeFill: this.axisThemeConfig.axisLineColor,
+ strokeWidth: this.axisConfig.axisLineWidth
+ }
+ ]
+ });
+ }
+ if (
+ (this.showLabel &&
+ e.push({
+ type: 'text',
+ groupTexts: ['bottom-axis', 'label'],
+ data: this.getTickValues().map((r) => ({
+ text: r.toString(),
+ x: this.getScaleValue(r),
+ y:
+ this.boundingRect.y +
+ this.axisConfig.labelPadding +
+ (this.showTick ? this.axisConfig.tickLength : 0) +
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),
+ fill: this.axisThemeConfig.labelColor,
+ fontSize: this.axisConfig.labelFontSize,
+ rotation: 0,
+ verticalPos: 'top',
+ horizontalPos: 'center'
+ }))
+ }),
+ this.showTick)
+ ) {
+ let r = this.boundingRect.y + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);
+ e.push({
+ type: 'path',
+ groupTexts: ['bottom-axis', 'ticks'],
+ data: this.getTickValues().map((n) => ({
+ path: `M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${
+ r + this.axisConfig.tickLength
+ }`,
+ strokeFill: this.axisThemeConfig.tickColor,
+ strokeWidth: this.axisConfig.tickWidth
+ }))
+ });
+ }
+ return (
+ this.showTitle &&
+ e.push({
+ type: 'text',
+ groupTexts: ['bottom-axis', 'title'],
+ data: [
+ {
+ text: this.title,
+ x: this.range[0] + (this.range[1] - this.range[0]) / 2,
+ y:
+ this.boundingRect.y +
+ this.boundingRect.height -
+ this.axisConfig.titlePadding -
+ this.titleTextHeight,
+ fill: this.axisThemeConfig.titleColor,
+ fontSize: this.axisConfig.titleFontSize,
+ rotation: 0,
+ verticalPos: 'top',
+ horizontalPos: 'center'
+ }
+ ]
+ }),
+ e
+ );
+ }
+ getDrawableElementsForTopAxis() {
+ let e = [];
+ if (this.showAxisLine) {
+ let r = this.boundingRect.y + this.boundingRect.height - this.axisConfig.axisLineWidth / 2;
+ e.push({
+ type: 'path',
+ groupTexts: ['top-axis', 'axis-line'],
+ data: [
+ {
+ path: `M ${this.boundingRect.x},${r} L ${
+ this.boundingRect.x + this.boundingRect.width
+ },${r}`,
+ strokeFill: this.axisThemeConfig.axisLineColor,
+ strokeWidth: this.axisConfig.axisLineWidth
+ }
+ ]
+ });
+ }
+ if (
+ (this.showLabel &&
+ e.push({
+ type: 'text',
+ groupTexts: ['top-axis', 'label'],
+ data: this.getTickValues().map((r) => ({
+ text: r.toString(),
+ x: this.getScaleValue(r),
+ y:
+ this.boundingRect.y +
+ (this.showTitle ? this.titleTextHeight + this.axisConfig.titlePadding * 2 : 0) +
+ this.axisConfig.labelPadding,
+ fill: this.axisThemeConfig.labelColor,
+ fontSize: this.axisConfig.labelFontSize,
+ rotation: 0,
+ verticalPos: 'top',
+ horizontalPos: 'center'
+ }))
+ }),
+ this.showTick)
+ ) {
+ let r = this.boundingRect.y;
+ e.push({
+ type: 'path',
+ groupTexts: ['top-axis', 'ticks'],
+ data: this.getTickValues().map((n) => ({
+ path: `M ${this.getScaleValue(n)},${
+ r +
+ this.boundingRect.height -
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)
+ } L ${this.getScaleValue(n)},${
+ r +
+ this.boundingRect.height -
+ this.axisConfig.tickLength -
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)
+ }`,
+ strokeFill: this.axisThemeConfig.tickColor,
+ strokeWidth: this.axisConfig.tickWidth
+ }))
+ });
+ }
+ return (
+ this.showTitle &&
+ e.push({
+ type: 'text',
+ groupTexts: ['top-axis', 'title'],
+ data: [
+ {
+ text: this.title,
+ x: this.boundingRect.x + this.boundingRect.width / 2,
+ y: this.boundingRect.y + this.axisConfig.titlePadding,
+ fill: this.axisThemeConfig.titleColor,
+ fontSize: this.axisConfig.titleFontSize,
+ rotation: 0,
+ verticalPos: 'top',
+ horizontalPos: 'center'
+ }
+ ]
+ }),
+ e
+ );
+ }
+ getDrawableElements() {
+ if (this.axisPosition === 'left') return this.getDrawableElementsForLeftAxis();
+ if (this.axisPosition === 'right') throw Error('Drawing of right axis is not implemented');
+ return this.axisPosition === 'bottom'
+ ? this.getDrawableElementsForBottomAxis()
+ : this.axisPosition === 'top'
+ ? this.getDrawableElementsForTopAxis()
+ : [];
+ }
+ };
+ });
+ var dE,
+ nue = R(() => {
+ 'use strict';
+ Zt();
+ ut();
+ eO();
+ dE = class extends Ig {
+ static {
+ o(this, 'BandAxis');
+ }
+ constructor(e, r, n, i, a) {
+ super(e, i, a, r),
+ (this.categories = n),
+ (this.scale = Op().domain(this.categories).range(this.getRange()));
+ }
+ setRange(e) {
+ super.setRange(e);
+ }
+ recalculateScale() {
+ (this.scale = Op()
+ .domain(this.categories)
+ .range(this.getRange())
+ .paddingInner(1)
+ .paddingOuter(0)
+ .align(0.5)),
+ V.trace('BandAxis axis final categories, range: ', this.categories, this.getRange());
+ }
+ getTickValues() {
+ return this.categories;
+ }
+ getScaleValue(e) {
+ return this.scale(e) ?? this.getRange()[0];
+ }
+ };
+ });
+ var pE,
+ iue = R(() => {
+ 'use strict';
+ Zt();
+ eO();
+ pE = class extends Ig {
+ static {
+ o(this, 'LinearAxis');
+ }
+ constructor(e, r, n, i, a) {
+ super(e, i, a, r),
+ (this.domain = n),
+ (this.scale = gl().domain(this.domain).range(this.getRange()));
+ }
+ getTickValues() {
+ return this.scale.ticks();
+ }
+ recalculateScale() {
+ let e = [...this.domain];
+ this.axisPosition === 'left' && e.reverse(), (this.scale = gl().domain(e).range(this.getRange()));
+ }
+ getScaleValue(e) {
+ return this.scale(e);
+ }
+ };
+ });
+ function tO(t, e, r, n) {
+ let i = new Mg(n);
+ return hE(t) ? new dE(e, r, t.categories, t.title, i) : new pE(e, r, [t.min, t.max], t.title, i);
+ }
+ var aue = R(() => {
+ 'use strict';
+ fE();
+ JI();
+ nue();
+ iue();
+ o(tO, 'getAxis');
+ });
+ function sue(t, e, r, n) {
+ let i = new Mg(n);
+ return new rO(i, t, e, r);
+ }
+ var rO,
+ oue = R(() => {
+ 'use strict';
+ JI();
+ rO = class {
+ constructor(e, r, n, i) {
+ this.textDimensionCalculator = e;
+ this.chartConfig = r;
+ this.chartData = n;
+ this.chartThemeConfig = i;
+ (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }), (this.showChartTitle = !1);
+ }
+ static {
+ o(this, 'ChartTitle');
+ }
+ setBoundingBoxXY(e) {
+ (this.boundingRect.x = e.x), (this.boundingRect.y = e.y);
+ }
+ calculateSpace(e) {
+ let r = this.textDimensionCalculator.getMaxDimension(
+ [this.chartData.title],
+ this.chartConfig.titleFontSize
+ ),
+ n = Math.max(r.width, e.width),
+ i = r.height + 2 * this.chartConfig.titlePadding;
+ return (
+ r.width <= n &&
+ r.height <= i &&
+ this.chartConfig.showTitle &&
+ this.chartData.title &&
+ ((this.boundingRect.width = n), (this.boundingRect.height = i), (this.showChartTitle = !0)),
+ { width: this.boundingRect.width, height: this.boundingRect.height }
+ );
+ }
+ getDrawableElements() {
+ let e = [];
+ return (
+ this.showChartTitle &&
+ e.push({
+ groupTexts: ['chart-title'],
+ type: 'text',
+ data: [
+ {
+ fontSize: this.chartConfig.titleFontSize,
+ text: this.chartData.title,
+ verticalPos: 'middle',
+ horizontalPos: 'center',
+ x: this.boundingRect.x + this.boundingRect.width / 2,
+ y: this.boundingRect.y + this.boundingRect.height / 2,
+ fill: this.chartThemeConfig.titleColor,
+ rotation: 0
+ }
+ ]
+ }),
+ e
+ );
+ }
+ };
+ o(sue, 'getChartTitleComponent');
+ });
+ var mE,
+ lue = R(() => {
+ 'use strict';
+ Zt();
+ mE = class {
+ constructor(e, r, n, i, a) {
+ this.plotData = e;
+ this.xAxis = r;
+ this.yAxis = n;
+ this.orientation = i;
+ this.plotIndex = a;
+ }
+ static {
+ o(this, 'LinePlot');
+ }
+ getDrawableElement() {
+ let e = this.plotData.data.map((n) => [
+ this.xAxis.getScaleValue(n[0]),
+ this.yAxis.getScaleValue(n[1])
+ ]),
+ r;
+ return (
+ this.orientation === 'horizontal'
+ ? (r = ha()
+ .y((n) => n[0])
+ .x((n) => n[1])(e))
+ : (r = ha()
+ .x((n) => n[0])
+ .y((n) => n[1])(e)),
+ r
+ ? [
+ {
+ groupTexts: ['plot', `line-plot-${this.plotIndex}`],
+ type: 'path',
+ data: [
+ {
+ path: r,
+ strokeFill: this.plotData.strokeFill,
+ strokeWidth: this.plotData.strokeWidth
+ }
+ ]
+ }
+ ]
+ : []
+ );
+ }
+ };
+ });
+ var gE,
+ cue = R(() => {
+ 'use strict';
+ gE = class {
+ constructor(e, r, n, i, a, s) {
+ this.barData = e;
+ this.boundingRect = r;
+ this.xAxis = n;
+ this.yAxis = i;
+ this.orientation = a;
+ this.plotIndex = s;
+ }
+ static {
+ o(this, 'BarPlot');
+ }
+ getDrawableElement() {
+ let e = this.barData.data.map((a) => [
+ this.xAxis.getScaleValue(a[0]),
+ this.yAxis.getScaleValue(a[1])
+ ]),
+ n = Math.min(this.xAxis.getAxisOuterPadding() * 2, this.xAxis.getTickDistance()) * (1 - 0.05),
+ i = n / 2;
+ return this.orientation === 'horizontal'
+ ? [
+ {
+ groupTexts: ['plot', `bar-plot-${this.plotIndex}`],
+ type: 'rect',
+ data: e.map((a) => ({
+ x: this.boundingRect.x,
+ y: a[0] - i,
+ height: n,
+ width: a[1] - this.boundingRect.x,
+ fill: this.barData.fill,
+ strokeWidth: 0,
+ strokeFill: this.barData.fill
+ }))
+ }
+ ]
+ : [
+ {
+ groupTexts: ['plot', `bar-plot-${this.plotIndex}`],
+ type: 'rect',
+ data: e.map((a) => ({
+ x: a[0] - i,
+ y: a[1],
+ width: n,
+ height: this.boundingRect.y + this.boundingRect.height - a[1],
+ fill: this.barData.fill,
+ strokeWidth: 0,
+ strokeFill: this.barData.fill
+ }))
+ }
+ ];
+ }
+ };
+ });
+ function uue(t, e, r) {
+ return new nO(t, e, r);
+ }
+ var nO,
+ hue = R(() => {
+ 'use strict';
+ lue();
+ cue();
+ nO = class {
+ constructor(e, r, n) {
+ this.chartConfig = e;
+ this.chartData = r;
+ this.chartThemeConfig = n;
+ this.boundingRect = { x: 0, y: 0, width: 0, height: 0 };
+ }
+ static {
+ o(this, 'BasePlot');
+ }
+ setAxes(e, r) {
+ (this.xAxis = e), (this.yAxis = r);
+ }
+ setBoundingBoxXY(e) {
+ (this.boundingRect.x = e.x), (this.boundingRect.y = e.y);
+ }
+ calculateSpace(e) {
+ return (
+ (this.boundingRect.width = e.width),
+ (this.boundingRect.height = e.height),
+ { width: this.boundingRect.width, height: this.boundingRect.height }
+ );
+ }
+ getDrawableElements() {
+ if (!(this.xAxis && this.yAxis)) throw Error('Axes must be passed to render Plots');
+ let e = [];
+ for (let [r, n] of this.chartData.plots.entries())
+ switch (n.type) {
+ case 'line':
+ {
+ let i = new mE(n, this.xAxis, this.yAxis, this.chartConfig.chartOrientation, r);
+ e.push(...i.getDrawableElement());
+ }
+ break;
+ case 'bar':
+ {
+ let i = new gE(
+ n,
+ this.boundingRect,
+ this.xAxis,
+ this.yAxis,
+ this.chartConfig.chartOrientation,
+ r
+ );
+ e.push(...i.getDrawableElement());
+ }
+ break;
+ }
+ return e;
+ }
+ };
+ o(uue, 'getPlotComponent');
+ });
+ var yE,
+ fue = R(() => {
+ 'use strict';
+ aue();
+ oue();
+ hue();
+ fE();
+ yE = class {
+ constructor(e, r, n, i) {
+ this.chartConfig = e;
+ this.chartData = r;
+ this.componentStore = {
+ title: sue(e, r, n, i),
+ plot: uue(e, r, n),
+ xAxis: tO(
+ r.xAxis,
+ e.xAxis,
+ {
+ titleColor: n.xAxisTitleColor,
+ labelColor: n.xAxisLabelColor,
+ tickColor: n.xAxisTickColor,
+ axisLineColor: n.xAxisLineColor
+ },
+ i
+ ),
+ yAxis: tO(
+ r.yAxis,
+ e.yAxis,
+ {
+ titleColor: n.yAxisTitleColor,
+ labelColor: n.yAxisLabelColor,
+ tickColor: n.yAxisTickColor,
+ axisLineColor: n.yAxisLineColor
+ },
+ i
+ )
+ };
+ }
+ static {
+ o(this, 'Orchestrator');
+ }
+ calculateVerticalSpace() {
+ let e = this.chartConfig.width,
+ r = this.chartConfig.height,
+ n = 0,
+ i = 0,
+ a = Math.floor((e * this.chartConfig.plotReservedSpacePercent) / 100),
+ s = Math.floor((r * this.chartConfig.plotReservedSpacePercent) / 100),
+ l = this.componentStore.plot.calculateSpace({
+ width: a,
+ height: s
+ });
+ (e -= l.width),
+ (r -= l.height),
+ (l = this.componentStore.title.calculateSpace({
+ width: this.chartConfig.width,
+ height: r
+ })),
+ (i = l.height),
+ (r -= l.height),
+ this.componentStore.xAxis.setAxisPosition('bottom'),
+ (l = this.componentStore.xAxis.calculateSpace({
+ width: e,
+ height: r
+ })),
+ (r -= l.height),
+ this.componentStore.yAxis.setAxisPosition('left'),
+ (l = this.componentStore.yAxis.calculateSpace({
+ width: e,
+ height: r
+ })),
+ (n = l.width),
+ (e -= l.width),
+ e > 0 && ((a += e), (e = 0)),
+ r > 0 && ((s += r), (r = 0)),
+ this.componentStore.plot.calculateSpace({ width: a, height: s }),
+ this.componentStore.plot.setBoundingBoxXY({ x: n, y: i }),
+ this.componentStore.xAxis.setRange([n, n + a]),
+ this.componentStore.xAxis.setBoundingBoxXY({ x: n, y: i + s }),
+ this.componentStore.yAxis.setRange([i, i + s]),
+ this.componentStore.yAxis.setBoundingBoxXY({ x: 0, y: i }),
+ this.chartData.plots.some((u) => ZI(u)) &&
+ this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();
+ }
+ calculateHorizontalSpace() {
+ let e = this.chartConfig.width,
+ r = this.chartConfig.height,
+ n = 0,
+ i = 0,
+ a = 0,
+ s = Math.floor((e * this.chartConfig.plotReservedSpacePercent) / 100),
+ l = Math.floor((r * this.chartConfig.plotReservedSpacePercent) / 100),
+ u = this.componentStore.plot.calculateSpace({
+ width: s,
+ height: l
+ });
+ (e -= u.width),
+ (r -= u.height),
+ (u = this.componentStore.title.calculateSpace({
+ width: this.chartConfig.width,
+ height: r
+ })),
+ (n = u.height),
+ (r -= u.height),
+ this.componentStore.xAxis.setAxisPosition('left'),
+ (u = this.componentStore.xAxis.calculateSpace({
+ width: e,
+ height: r
+ })),
+ (e -= u.width),
+ (i = u.width),
+ this.componentStore.yAxis.setAxisPosition('top'),
+ (u = this.componentStore.yAxis.calculateSpace({
+ width: e,
+ height: r
+ })),
+ (r -= u.height),
+ (a = n + u.height),
+ e > 0 && ((s += e), (e = 0)),
+ r > 0 && ((l += r), (r = 0)),
+ this.componentStore.plot.calculateSpace({ width: s, height: l }),
+ this.componentStore.plot.setBoundingBoxXY({ x: i, y: a }),
+ this.componentStore.yAxis.setRange([i, i + s]),
+ this.componentStore.yAxis.setBoundingBoxXY({ x: i, y: n }),
+ this.componentStore.xAxis.setRange([a, a + l]),
+ this.componentStore.xAxis.setBoundingBoxXY({ x: 0, y: a }),
+ this.chartData.plots.some((h) => ZI(h)) &&
+ this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();
+ }
+ calculateSpace() {
+ this.chartConfig.chartOrientation === 'horizontal'
+ ? this.calculateHorizontalSpace()
+ : this.calculateVerticalSpace();
+ }
+ getDrawableElement() {
+ this.calculateSpace();
+ let e = [];
+ this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis);
+ for (let r of Object.values(this.componentStore)) e.push(...r.getDrawableElements());
+ return e;
+ }
+ };
+ });
+ var vE,
+ due = R(() => {
+ 'use strict';
+ fue();
+ vE = class {
+ static {
+ o(this, 'XYChartBuilder');
+ }
+ static build(e, r, n, i) {
+ return new yE(e, r, n, i).getDrawableElement();
+ }
+ };
+ });
+ function mue() {
+ let t = hp(),
+ e = Or();
+ return Ts(t.xyChart, e.themeVariables.xyChart);
+ }
+ function gue() {
+ let t = Or();
+ return Ts(mr.xyChart, t.xyChart);
+ }
+ function yue() {
+ return {
+ yAxis: { type: 'linear', title: '', min: 1 / 0, max: -1 / 0 },
+ xAxis: { type: 'band', title: '', categories: [] },
+ title: '',
+ plots: []
+ };
+ }
+ function sO(t) {
+ let e = Or();
+ return qr(t.trim(), e);
+ }
+ function hze(t) {
+ pue = t;
+ }
+ function fze(t) {
+ t === 'horizontal' ? (px.chartOrientation = 'horizontal') : (px.chartOrientation = 'vertical');
+ }
+ function dze(t) {
+ sn.xAxis.title = sO(t.text);
+ }
+ function vue(t, e) {
+ (sn.xAxis = { type: 'linear', title: sn.xAxis.title, min: t, max: e }), (xE = !0);
+ }
+ function pze(t) {
+ (sn.xAxis = {
+ type: 'band',
+ title: sn.xAxis.title,
+ categories: t.map((e) => sO(e.text))
+ }),
+ (xE = !0);
+ }
+ function mze(t) {
+ sn.yAxis.title = sO(t.text);
+ }
+ function gze(t, e) {
+ (sn.yAxis = { type: 'linear', title: sn.yAxis.title, min: t, max: e }), (aO = !0);
+ }
+ function yze(t) {
+ let e = Math.min(...t),
+ r = Math.max(...t),
+ n = Ng(sn.yAxis) ? sn.yAxis.min : 1 / 0,
+ i = Ng(sn.yAxis) ? sn.yAxis.max : -1 / 0;
+ sn.yAxis = {
+ type: 'linear',
+ title: sn.yAxis.title,
+ min: Math.min(n, e),
+ max: Math.max(i, r)
+ };
+ }
+ function xue(t) {
+ let e = [];
+ if (t.length === 0) return e;
+ if (!xE) {
+ let r = Ng(sn.xAxis) ? sn.xAxis.min : 1 / 0,
+ n = Ng(sn.xAxis) ? sn.xAxis.max : -1 / 0;
+ vue(Math.min(r, 1), Math.max(n, t.length));
+ }
+ if ((aO || yze(t), hE(sn.xAxis) && (e = sn.xAxis.categories.map((r, n) => [r, t[n]])), Ng(sn.xAxis))) {
+ let r = sn.xAxis.min,
+ n = sn.xAxis.max,
+ i = (n - r) / (t.length - 1),
+ a = [];
+ for (let s = r; s <= n; s += i) a.push(`${s}`);
+ e = a.map((s, l) => [s, t[l]]);
+ }
+ return e;
+ }
+ function bue(t) {
+ return iO[t === 0 ? 0 : t % iO.length];
+ }
+ function vze(t, e) {
+ let r = xue(e);
+ sn.plots.push({
+ type: 'line',
+ strokeFill: bue(dx),
+ strokeWidth: 2,
+ data: r
+ }),
+ dx++;
+ }
+ function xze(t, e) {
+ let r = xue(e);
+ sn.plots.push({ type: 'bar', fill: bue(dx), data: r }), dx++;
+ }
+ function bze() {
+ if (sn.plots.length === 0) throw Error('No Plot to render, please provide a plot with some data');
+ return (sn.title = Xr()), vE.build(px, sn, mx, pue);
+ }
+ function wze() {
+ return mx;
+ }
+ function Tze() {
+ return px;
+ }
+ var dx,
+ pue,
+ px,
+ mx,
+ sn,
+ iO,
+ xE,
+ aO,
+ kze,
+ wue,
+ Tue = R(() => {
+ 'use strict';
+ qs();
+ sl();
+ jb();
+ xr();
+ rr();
+ bi();
+ due();
+ fE();
+ (dx = 0),
+ (px = gue()),
+ (mx = mue()),
+ (sn = yue()),
+ (iO = mx.plotColorPalette.split(',').map((t) => t.trim())),
+ (xE = !1),
+ (aO = !1);
+ o(mue, 'getChartDefaultThemeConfig');
+ o(gue, 'getChartDefaultConfig');
+ o(yue, 'getChartDefaultData');
+ o(sO, 'textSanitizer');
+ o(hze, 'setTmpSVGG');
+ o(fze, 'setOrientation');
+ o(dze, 'setXAxisTitle');
+ o(vue, 'setXAxisRangeData');
+ o(pze, 'setXAxisBand');
+ o(mze, 'setYAxisTitle');
+ o(gze, 'setYAxisRangeData');
+ o(yze, 'setYAxisRangeFromPlotData');
+ o(xue, 'transformDataWithoutCategory');
+ o(bue, 'getPlotColorFromPalette');
+ o(vze, 'setLineData');
+ o(xze, 'setBarData');
+ o(bze, 'getDrawableElem');
+ o(wze, 'getChartThemeConfig');
+ o(Tze, 'getChartConfig');
+ (kze = o(function () {
+ vr(),
+ (dx = 0),
+ (px = gue()),
+ (sn = yue()),
+ (mx = mue()),
+ (iO = mx.plotColorPalette.split(',').map((t) => t.trim())),
+ (xE = !1),
+ (aO = !1);
+ }, 'clear')),
+ (wue = {
+ getDrawableElem: bze,
+ clear: kze,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ setOrientation: fze,
+ setXAxisTitle: dze,
+ setXAxisRangeData: vue,
+ setXAxisBand: pze,
+ setYAxisTitle: mze,
+ setYAxisRangeData: gze,
+ setLineData: vze,
+ setBarData: xze,
+ setTmpSVGG: hze,
+ getChartThemeConfig: wze,
+ getChartConfig: Tze
+ });
+ });
+ var Eze,
+ kue,
+ Eue = R(() => {
+ 'use strict';
+ ut();
+ pf();
+ Yn();
+ (Eze = o((t, e, r, n) => {
+ let i = n.db,
+ a = i.getChartThemeConfig(),
+ s = i.getChartConfig();
+ function l(v) {
+ return v === 'top' ? 'text-before-edge' : 'middle';
+ }
+ o(l, 'getDominantBaseLine');
+ function u(v) {
+ return v === 'left' ? 'start' : v === 'right' ? 'end' : 'middle';
+ }
+ o(u, 'getTextAnchor');
+ function h(v) {
+ return `translate(${v.x}, ${v.y}) rotate(${v.rotation || 0})`;
+ }
+ o(h, 'getTextTransformation'),
+ V.debug(
+ `Rendering xychart chart
+` + t
+ );
+ let f = Ps(e),
+ d = f.append('g').attr('class', 'main'),
+ p = d.append('rect').attr('width', s.width).attr('height', s.height).attr('class', 'background');
+ Sr(f, s.height, s.width, !0),
+ f.attr('viewBox', `0 0 ${s.width} ${s.height}`),
+ p.attr('fill', a.backgroundColor),
+ i.setTmpSVGG(f.append('g').attr('class', 'mermaid-tmp-group'));
+ let m = i.getDrawableElem(),
+ g = {};
+ function y(v) {
+ let x = d,
+ b = '';
+ for (let [w] of v.entries()) {
+ let S = d;
+ w > 0 && g[b] && (S = g[b]),
+ (b += v[w]),
+ (x = g[b]),
+ x || (x = g[b] = S.append('g').attr('class', v[w]));
+ }
+ return x;
+ }
+ o(y, 'getGroup');
+ for (let v of m) {
+ if (v.data.length === 0) continue;
+ let x = y(v.groupTexts);
+ switch (v.type) {
+ case 'rect':
+ x.selectAll('rect')
+ .data(v.data)
+ .enter()
+ .append('rect')
+ .attr('x', (b) => b.x)
+ .attr('y', (b) => b.y)
+ .attr('width', (b) => b.width)
+ .attr('height', (b) => b.height)
+ .attr('fill', (b) => b.fill)
+ .attr('stroke', (b) => b.strokeFill)
+ .attr('stroke-width', (b) => b.strokeWidth);
+ break;
+ case 'text':
+ x.selectAll('text')
+ .data(v.data)
+ .enter()
+ .append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('fill', (b) => b.fill)
+ .attr('font-size', (b) => b.fontSize)
+ .attr('dominant-baseline', (b) => l(b.verticalPos))
+ .attr('text-anchor', (b) => u(b.horizontalPos))
+ .attr('transform', (b) => h(b))
+ .text((b) => b.text);
+ break;
+ case 'path':
+ x.selectAll('path')
+ .data(v.data)
+ .enter()
+ .append('path')
+ .attr('d', (b) => b.path)
+ .attr('fill', (b) => (b.fill ? b.fill : 'none'))
+ .attr('stroke', (b) => b.strokeFill)
+ .attr('stroke-width', (b) => b.strokeWidth);
+ break;
+ }
+ }
+ }, 'draw')),
+ (kue = { draw: Eze });
+ });
+ var Cue = {};
+ hr(Cue, { diagram: () => Cze });
+ var Cze,
+ Sue = R(() => {
+ 'use strict';
+ rue();
+ Tue();
+ Eue();
+ Cze = { parser: tue, db: wue, renderer: kue };
+ });
+ var oO,
+ Lue,
+ Due = R(() => {
+ 'use strict';
+ oO = (function () {
+ var t = o(function (ie, j, J, Z) {
+ for (J = J || {}, Z = ie.length; Z--; J[ie[Z]] = j);
+ return J;
+ }, 'o'),
+ e = [1, 3],
+ r = [1, 4],
+ n = [1, 5],
+ i = [1, 6],
+ a = [5, 6, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63],
+ s = [1, 18],
+ l = [2, 7],
+ u = [1, 22],
+ h = [1, 23],
+ f = [1, 24],
+ d = [1, 25],
+ p = [1, 26],
+ m = [1, 27],
+ g = [1, 20],
+ y = [1, 28],
+ v = [1, 29],
+ x = [62, 63],
+ b = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 51, 53, 62, 63],
+ w = [1, 47],
+ S = [1, 48],
+ T = [1, 49],
+ E = [1, 50],
+ _ = [1, 51],
+ A = [1, 52],
+ L = [1, 53],
+ M = [53, 54],
+ N = [1, 64],
+ k = [1, 60],
+ I = [1, 61],
+ C = [1, 62],
+ O = [1, 63],
+ D = [1, 65],
+ P = [1, 69],
+ F = [1, 70],
+ B = [1, 67],
+ $ = [1, 68],
+ z = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63],
+ Y = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ directive: 4,
+ NEWLINE: 5,
+ RD: 6,
+ diagram: 7,
+ EOF: 8,
+ acc_title: 9,
+ acc_title_value: 10,
+ acc_descr: 11,
+ acc_descr_value: 12,
+ acc_descr_multiline_value: 13,
+ requirementDef: 14,
+ elementDef: 15,
+ relationshipDef: 16,
+ requirementType: 17,
+ requirementName: 18,
+ STRUCT_START: 19,
+ requirementBody: 20,
+ ID: 21,
+ COLONSEP: 22,
+ id: 23,
+ TEXT: 24,
+ text: 25,
+ RISK: 26,
+ riskLevel: 27,
+ VERIFYMTHD: 28,
+ verifyType: 29,
+ STRUCT_STOP: 30,
+ REQUIREMENT: 31,
+ FUNCTIONAL_REQUIREMENT: 32,
+ INTERFACE_REQUIREMENT: 33,
+ PERFORMANCE_REQUIREMENT: 34,
+ PHYSICAL_REQUIREMENT: 35,
+ DESIGN_CONSTRAINT: 36,
+ LOW_RISK: 37,
+ MED_RISK: 38,
+ HIGH_RISK: 39,
+ VERIFY_ANALYSIS: 40,
+ VERIFY_DEMONSTRATION: 41,
+ VERIFY_INSPECTION: 42,
+ VERIFY_TEST: 43,
+ ELEMENT: 44,
+ elementName: 45,
+ elementBody: 46,
+ TYPE: 47,
+ type: 48,
+ DOCREF: 49,
+ ref: 50,
+ END_ARROW_L: 51,
+ relationship: 52,
+ LINE: 53,
+ END_ARROW_R: 54,
+ CONTAINS: 55,
+ COPIES: 56,
+ DERIVES: 57,
+ SATISFIES: 58,
+ VERIFIES: 59,
+ REFINES: 60,
+ TRACES: 61,
+ unqString: 62,
+ qString: 63,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 5: 'NEWLINE',
+ 6: 'RD',
+ 8: 'EOF',
+ 9: 'acc_title',
+ 10: 'acc_title_value',
+ 11: 'acc_descr',
+ 12: 'acc_descr_value',
+ 13: 'acc_descr_multiline_value',
+ 19: 'STRUCT_START',
+ 21: 'ID',
+ 22: 'COLONSEP',
+ 24: 'TEXT',
+ 26: 'RISK',
+ 28: 'VERIFYMTHD',
+ 30: 'STRUCT_STOP',
+ 31: 'REQUIREMENT',
+ 32: 'FUNCTIONAL_REQUIREMENT',
+ 33: 'INTERFACE_REQUIREMENT',
+ 34: 'PERFORMANCE_REQUIREMENT',
+ 35: 'PHYSICAL_REQUIREMENT',
+ 36: 'DESIGN_CONSTRAINT',
+ 37: 'LOW_RISK',
+ 38: 'MED_RISK',
+ 39: 'HIGH_RISK',
+ 40: 'VERIFY_ANALYSIS',
+ 41: 'VERIFY_DEMONSTRATION',
+ 42: 'VERIFY_INSPECTION',
+ 43: 'VERIFY_TEST',
+ 44: 'ELEMENT',
+ 47: 'TYPE',
+ 49: 'DOCREF',
+ 51: 'END_ARROW_L',
+ 53: 'LINE',
+ 54: 'END_ARROW_R',
+ 55: 'CONTAINS',
+ 56: 'COPIES',
+ 57: 'DERIVES',
+ 58: 'SATISFIES',
+ 59: 'VERIFIES',
+ 60: 'REFINES',
+ 61: 'TRACES',
+ 62: 'unqString',
+ 63: 'qString'
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [3, 2],
+ [3, 4],
+ [4, 2],
+ [4, 2],
+ [4, 1],
+ [7, 0],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [14, 5],
+ [20, 5],
+ [20, 5],
+ [20, 5],
+ [20, 5],
+ [20, 2],
+ [20, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [27, 1],
+ [27, 1],
+ [27, 1],
+ [29, 1],
+ [29, 1],
+ [29, 1],
+ [29, 1],
+ [15, 5],
+ [46, 5],
+ [46, 5],
+ [46, 2],
+ [46, 1],
+ [16, 5],
+ [16, 5],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [18, 1],
+ [18, 1],
+ [23, 1],
+ [23, 1],
+ [25, 1],
+ [25, 1],
+ [45, 1],
+ [45, 1],
+ [48, 1],
+ [48, 1],
+ [50, 1],
+ [50, 1]
+ ],
+ performAction: o(function (j, J, Z, H, q, K, se) {
+ var ce = K.length - 1;
+ switch (q) {
+ case 4:
+ (this.$ = K[ce].trim()), H.setAccTitle(this.$);
+ break;
+ case 5:
+ case 6:
+ (this.$ = K[ce].trim()), H.setAccDescription(this.$);
+ break;
+ case 7:
+ this.$ = [];
+ break;
+ case 13:
+ H.addRequirement(K[ce - 3], K[ce - 4]);
+ break;
+ case 14:
+ H.setNewReqId(K[ce - 2]);
+ break;
+ case 15:
+ H.setNewReqText(K[ce - 2]);
+ break;
+ case 16:
+ H.setNewReqRisk(K[ce - 2]);
+ break;
+ case 17:
+ H.setNewReqVerifyMethod(K[ce - 2]);
+ break;
+ case 20:
+ this.$ = H.RequirementType.REQUIREMENT;
+ break;
+ case 21:
+ this.$ = H.RequirementType.FUNCTIONAL_REQUIREMENT;
+ break;
+ case 22:
+ this.$ = H.RequirementType.INTERFACE_REQUIREMENT;
+ break;
+ case 23:
+ this.$ = H.RequirementType.PERFORMANCE_REQUIREMENT;
+ break;
+ case 24:
+ this.$ = H.RequirementType.PHYSICAL_REQUIREMENT;
+ break;
+ case 25:
+ this.$ = H.RequirementType.DESIGN_CONSTRAINT;
+ break;
+ case 26:
+ this.$ = H.RiskLevel.LOW_RISK;
+ break;
+ case 27:
+ this.$ = H.RiskLevel.MED_RISK;
+ break;
+ case 28:
+ this.$ = H.RiskLevel.HIGH_RISK;
+ break;
+ case 29:
+ this.$ = H.VerifyType.VERIFY_ANALYSIS;
+ break;
+ case 30:
+ this.$ = H.VerifyType.VERIFY_DEMONSTRATION;
+ break;
+ case 31:
+ this.$ = H.VerifyType.VERIFY_INSPECTION;
+ break;
+ case 32:
+ this.$ = H.VerifyType.VERIFY_TEST;
+ break;
+ case 33:
+ H.addElement(K[ce - 3]);
+ break;
+ case 34:
+ H.setNewElementType(K[ce - 2]);
+ break;
+ case 35:
+ H.setNewElementDocRef(K[ce - 2]);
+ break;
+ case 38:
+ H.addRelationship(K[ce - 2], K[ce], K[ce - 4]);
+ break;
+ case 39:
+ H.addRelationship(K[ce - 2], K[ce - 4], K[ce]);
+ break;
+ case 40:
+ this.$ = H.Relationships.CONTAINS;
+ break;
+ case 41:
+ this.$ = H.Relationships.COPIES;
+ break;
+ case 42:
+ this.$ = H.Relationships.DERIVES;
+ break;
+ case 43:
+ this.$ = H.Relationships.SATISFIES;
+ break;
+ case 44:
+ this.$ = H.Relationships.VERIFIES;
+ break;
+ case 45:
+ this.$ = H.Relationships.REFINES;
+ break;
+ case 46:
+ this.$ = H.Relationships.TRACES;
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: 2, 6: e, 9: r, 11: n, 13: i },
+ { 1: [3] },
+ { 3: 8, 4: 2, 5: [1, 7], 6: e, 9: r, 11: n, 13: i },
+ { 5: [1, 9] },
+ { 10: [1, 10] },
+ { 12: [1, 11] },
+ t(a, [2, 6]),
+ { 3: 12, 4: 2, 6: e, 9: r, 11: n, 13: i },
+ { 1: [2, 2] },
+ {
+ 4: 17,
+ 5: s,
+ 7: 13,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ t(a, [2, 4]),
+ t(a, [2, 5]),
+ { 1: [2, 1] },
+ { 8: [1, 30] },
+ {
+ 4: 17,
+ 5: s,
+ 7: 31,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ {
+ 4: 17,
+ 5: s,
+ 7: 32,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ {
+ 4: 17,
+ 5: s,
+ 7: 33,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ {
+ 4: 17,
+ 5: s,
+ 7: 34,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ {
+ 4: 17,
+ 5: s,
+ 7: 35,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ { 18: 36, 62: [1, 37], 63: [1, 38] },
+ { 45: 39, 62: [1, 40], 63: [1, 41] },
+ { 51: [1, 42], 53: [1, 43] },
+ t(x, [2, 20]),
+ t(x, [2, 21]),
+ t(x, [2, 22]),
+ t(x, [2, 23]),
+ t(x, [2, 24]),
+ t(x, [2, 25]),
+ t(b, [2, 49]),
+ t(b, [2, 50]),
+ { 1: [2, 3] },
+ { 8: [2, 8] },
+ { 8: [2, 9] },
+ { 8: [2, 10] },
+ { 8: [2, 11] },
+ { 8: [2, 12] },
+ { 19: [1, 44] },
+ { 19: [2, 47] },
+ { 19: [2, 48] },
+ { 19: [1, 45] },
+ { 19: [2, 53] },
+ { 19: [2, 54] },
+ { 52: 46, 55: w, 56: S, 57: T, 58: E, 59: _, 60: A, 61: L },
+ { 52: 54, 55: w, 56: S, 57: T, 58: E, 59: _, 60: A, 61: L },
+ { 5: [1, 55] },
+ { 5: [1, 56] },
+ { 53: [1, 57] },
+ t(M, [2, 40]),
+ t(M, [2, 41]),
+ t(M, [2, 42]),
+ t(M, [2, 43]),
+ t(M, [2, 44]),
+ t(M, [2, 45]),
+ t(M, [2, 46]),
+ { 54: [1, 58] },
+ { 5: N, 20: 59, 21: k, 24: I, 26: C, 28: O, 30: D },
+ { 5: P, 30: F, 46: 66, 47: B, 49: $ },
+ { 23: 71, 62: y, 63: v },
+ { 23: 72, 62: y, 63: v },
+ t(z, [2, 13]),
+ { 22: [1, 73] },
+ { 22: [1, 74] },
+ { 22: [1, 75] },
+ { 22: [1, 76] },
+ { 5: N, 20: 77, 21: k, 24: I, 26: C, 28: O, 30: D },
+ t(z, [2, 19]),
+ t(z, [2, 33]),
+ { 22: [1, 78] },
+ { 22: [1, 79] },
+ { 5: P, 30: F, 46: 80, 47: B, 49: $ },
+ t(z, [2, 37]),
+ t(z, [2, 38]),
+ t(z, [2, 39]),
+ { 23: 81, 62: y, 63: v },
+ { 25: 82, 62: [1, 83], 63: [1, 84] },
+ { 27: 85, 37: [1, 86], 38: [1, 87], 39: [1, 88] },
+ { 29: 89, 40: [1, 90], 41: [1, 91], 42: [1, 92], 43: [1, 93] },
+ t(z, [2, 18]),
+ { 48: 94, 62: [1, 95], 63: [1, 96] },
+ { 50: 97, 62: [1, 98], 63: [1, 99] },
+ t(z, [2, 36]),
+ { 5: [1, 100] },
+ { 5: [1, 101] },
+ { 5: [2, 51] },
+ { 5: [2, 52] },
+ { 5: [1, 102] },
+ { 5: [2, 26] },
+ { 5: [2, 27] },
+ { 5: [2, 28] },
+ { 5: [1, 103] },
+ { 5: [2, 29] },
+ { 5: [2, 30] },
+ { 5: [2, 31] },
+ { 5: [2, 32] },
+ { 5: [1, 104] },
+ { 5: [2, 55] },
+ { 5: [2, 56] },
+ { 5: [1, 105] },
+ { 5: [2, 57] },
+ { 5: [2, 58] },
+ { 5: N, 20: 106, 21: k, 24: I, 26: C, 28: O, 30: D },
+ { 5: N, 20: 107, 21: k, 24: I, 26: C, 28: O, 30: D },
+ { 5: N, 20: 108, 21: k, 24: I, 26: C, 28: O, 30: D },
+ { 5: N, 20: 109, 21: k, 24: I, 26: C, 28: O, 30: D },
+ { 5: P, 30: F, 46: 110, 47: B, 49: $ },
+ { 5: P, 30: F, 46: 111, 47: B, 49: $ },
+ t(z, [2, 14]),
+ t(z, [2, 15]),
+ t(z, [2, 16]),
+ t(z, [2, 17]),
+ t(z, [2, 34]),
+ t(z, [2, 35])
+ ],
+ defaultActions: {
+ 8: [2, 2],
+ 12: [2, 1],
+ 30: [2, 3],
+ 31: [2, 8],
+ 32: [2, 9],
+ 33: [2, 10],
+ 34: [2, 11],
+ 35: [2, 12],
+ 37: [2, 47],
+ 38: [2, 48],
+ 40: [2, 53],
+ 41: [2, 54],
+ 83: [2, 51],
+ 84: [2, 52],
+ 86: [2, 26],
+ 87: [2, 27],
+ 88: [2, 28],
+ 90: [2, 29],
+ 91: [2, 30],
+ 92: [2, 31],
+ 93: [2, 32],
+ 95: [2, 55],
+ 96: [2, 56],
+ 98: [2, 57],
+ 99: [2, 58]
+ },
+ parseError: o(function (j, J) {
+ if (J.recoverable) this.trace(j);
+ else {
+ var Z = new Error(j);
+ throw ((Z.hash = J), Z);
+ }
+ }, 'parseError'),
+ parse: o(function (j) {
+ var J = this,
+ Z = [0],
+ H = [],
+ q = [null],
+ K = [],
+ se = this.table,
+ ce = '',
+ ue = 0,
+ te = 0,
+ De = 0,
+ oe = 2,
+ ke = 1,
+ Ie = K.slice.call(arguments, 1),
+ Se = Object.create(this.lexer),
+ Ue = { yy: {} };
+ for (var Pe in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, Pe) && (Ue.yy[Pe] = this.yy[Pe]);
+ Se.setInput(j, Ue.yy),
+ (Ue.yy.lexer = Se),
+ (Ue.yy.parser = this),
+ typeof Se.yylloc > 'u' && (Se.yylloc = {});
+ var _e = Se.yylloc;
+ K.push(_e);
+ var me = Se.options && Se.options.ranges;
+ typeof Ue.yy.parseError == 'function'
+ ? (this.parseError = Ue.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function W(He) {
+ (Z.length = Z.length - 2 * He), (q.length = q.length - He), (K.length = K.length - He);
+ }
+ o(W, 'popStack');
+ function fe() {
+ var He;
+ return (
+ (He = H.pop() || Se.lex() || ke),
+ typeof He != 'number' &&
+ (He instanceof Array && ((H = He), (He = H.pop())),
+ (He = J.symbols_[He] || He)),
+ He
+ );
+ }
+ o(fe, 'lex');
+ for (var ge, re, he, ne, ae, we, Te = {}, Ce, Ae, Ge, Me; ; ) {
+ if (
+ ((he = Z[Z.length - 1]),
+ this.defaultActions[he]
+ ? (ne = this.defaultActions[he])
+ : ((ge === null || typeof ge > 'u') && (ge = fe()),
+ (ne = se[he] && se[he][ge])),
+ typeof ne > 'u' || !ne.length || !ne[0])
+ ) {
+ var ye = '';
+ Me = [];
+ for (Ce in se[he])
+ this.terminals_[Ce] && Ce > oe && Me.push("'" + this.terminals_[Ce] + "'");
+ Se.showPosition
+ ? (ye =
+ 'Parse error on line ' +
+ (ue + 1) +
+ `:
+` +
+ Se.showPosition() +
+ `
+Expecting ` +
+ Me.join(', ') +
+ ", got '" +
+ (this.terminals_[ge] || ge) +
+ "'")
+ : (ye =
+ 'Parse error on line ' +
+ (ue + 1) +
+ ': Unexpected ' +
+ (ge == ke ? 'end of input' : "'" + (this.terminals_[ge] || ge) + "'")),
+ this.parseError(ye, {
+ text: Se.match,
+ token: this.terminals_[ge] || ge,
+ line: Se.yylineno,
+ loc: _e,
+ expected: Me
+ });
+ }
+ if (ne[0] instanceof Array && ne.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + he + ', token: ' + ge
+ );
+ switch (ne[0]) {
+ case 1:
+ Z.push(ge),
+ q.push(Se.yytext),
+ K.push(Se.yylloc),
+ Z.push(ne[1]),
+ (ge = null),
+ re
+ ? ((ge = re), (re = null))
+ : ((te = Se.yyleng),
+ (ce = Se.yytext),
+ (ue = Se.yylineno),
+ (_e = Se.yylloc),
+ De > 0 && De--);
+ break;
+ case 2:
+ if (
+ ((Ae = this.productions_[ne[1]][1]),
+ (Te.$ = q[q.length - Ae]),
+ (Te._$ = {
+ first_line: K[K.length - (Ae || 1)].first_line,
+ last_line: K[K.length - 1].last_line,
+ first_column: K[K.length - (Ae || 1)].first_column,
+ last_column: K[K.length - 1].last_column
+ }),
+ me &&
+ (Te._$.range = [
+ K[K.length - (Ae || 1)].range[0],
+ K[K.length - 1].range[1]
+ ]),
+ (we = this.performAction.apply(
+ Te,
+ [ce, te, ue, Ue.yy, ne[1], q, K].concat(Ie)
+ )),
+ typeof we < 'u')
+ )
+ return we;
+ Ae &&
+ ((Z = Z.slice(0, -1 * Ae * 2)),
+ (q = q.slice(0, -1 * Ae)),
+ (K = K.slice(0, -1 * Ae))),
+ Z.push(this.productions_[ne[1]][0]),
+ q.push(Te.$),
+ K.push(Te._$),
+ (Ge = se[Z[Z.length - 2]][Z[Z.length - 1]]),
+ Z.push(Ge);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ Q = (function () {
+ var ie = {
+ EOF: 1,
+ parseError: o(function (J, Z) {
+ if (this.yy.parser) this.yy.parser.parseError(J, Z);
+ else throw new Error(J);
+ }, 'parseError'),
+ setInput: o(function (j, J) {
+ return (
+ (this.yy = J || this.yy || {}),
+ (this._input = j),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var j = this._input[0];
+ (this.yytext += j),
+ this.yyleng++,
+ this.offset++,
+ (this.match += j),
+ (this.matched += j);
+ var J = j.match(/(?:\r\n?|\n).*/g);
+ return (
+ J ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ j
+ );
+ }, 'input'),
+ unput: o(function (j) {
+ var J = j.length,
+ Z = j.split(/(?:\r\n?|\n)/g);
+ (this._input = j + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - J)),
+ (this.offset -= J);
+ var H = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ Z.length - 1 && (this.yylineno -= Z.length - 1);
+ var q = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: Z
+ ? (Z.length === H.length ? this.yylloc.first_column : 0) +
+ H[H.length - Z.length].length -
+ Z[0].length
+ : this.yylloc.first_column - J
+ }),
+ this.options.ranges && (this.yylloc.range = [q[0], q[0] + this.yyleng - J]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (j) {
+ this.unput(this.match.slice(j));
+ }, 'less'),
+ pastInput: o(function () {
+ var j = this.matched.substr(0, this.matched.length - this.match.length);
+ return (j.length > 20 ? '...' : '') + j.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var j = this.match;
+ return (
+ j.length < 20 && (j += this._input.substr(0, 20 - j.length)),
+ (j.substr(0, 20) + (j.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var j = this.pastInput(),
+ J = new Array(j.length + 1).join('-');
+ return (
+ j +
+ this.upcomingInput() +
+ `
+` +
+ J +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (j, J) {
+ var Z, H, q;
+ if (
+ (this.options.backtrack_lexer &&
+ ((q = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (q.yylloc.range = this.yylloc.range.slice(0))),
+ (H = j[0].match(/(?:\r\n?|\n).*/g)),
+ H && (this.yylineno += H.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: H
+ ? H[H.length - 1].length - H[H.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + j[0].length
+ }),
+ (this.yytext += j[0]),
+ (this.match += j[0]),
+ (this.matches = j),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(j[0].length)),
+ (this.matched += j[0]),
+ (Z = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ J,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ Z)
+ )
+ return Z;
+ if (this._backtrack) {
+ for (var K in q) this[K] = q[K];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var j, J, Z, H;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var q = this._currentRules(), K = 0; K < q.length; K++)
+ if (
+ ((Z = this._input.match(this.rules[q[K]])),
+ Z && (!J || Z[0].length > J[0].length))
+ ) {
+ if (((J = Z), (H = K), this.options.backtrack_lexer)) {
+ if (((j = this.test_match(Z, q[K])), j !== !1)) return j;
+ if (this._backtrack) {
+ J = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return J
+ ? ((j = this.test_match(J, q[H])), j !== !1 ? j : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var J = this.next();
+ return J || this.lex();
+ }, 'lex'),
+ begin: o(function (J) {
+ this.conditionStack.push(J);
+ }, 'begin'),
+ popState: o(function () {
+ var J = this.conditionStack.length - 1;
+ return J > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (J) {
+ return (
+ (J = this.conditionStack.length - 1 - Math.abs(J || 0)),
+ J >= 0 ? this.conditionStack[J] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (J) {
+ this.begin(J);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (J, Z, H, q) {
+ var K = q;
+ switch (H) {
+ case 0:
+ return 'title';
+ case 1:
+ return this.begin('acc_title'), 9;
+ break;
+ case 2:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 3:
+ return this.begin('acc_descr'), 11;
+ break;
+ case 4:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 5:
+ this.begin('acc_descr_multiline');
+ break;
+ case 6:
+ this.popState();
+ break;
+ case 7:
+ return 'acc_descr_multiline_value';
+ case 8:
+ return 5;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ break;
+ case 12:
+ return 8;
+ case 13:
+ return 6;
+ case 14:
+ return 19;
+ case 15:
+ return 30;
+ case 16:
+ return 22;
+ case 17:
+ return 21;
+ case 18:
+ return 24;
+ case 19:
+ return 26;
+ case 20:
+ return 28;
+ case 21:
+ return 31;
+ case 22:
+ return 32;
+ case 23:
+ return 33;
+ case 24:
+ return 34;
+ case 25:
+ return 35;
+ case 26:
+ return 36;
+ case 27:
+ return 37;
+ case 28:
+ return 38;
+ case 29:
+ return 39;
+ case 30:
+ return 40;
+ case 31:
+ return 41;
+ case 32:
+ return 42;
+ case 33:
+ return 43;
+ case 34:
+ return 44;
+ case 35:
+ return 55;
+ case 36:
+ return 56;
+ case 37:
+ return 57;
+ case 38:
+ return 58;
+ case 39:
+ return 59;
+ case 40:
+ return 60;
+ case 41:
+ return 61;
+ case 42:
+ return 47;
+ case 43:
+ return 49;
+ case 44:
+ return 51;
+ case 45:
+ return 54;
+ case 46:
+ return 53;
+ case 47:
+ this.begin('string');
+ break;
+ case 48:
+ this.popState();
+ break;
+ case 49:
+ return 'qString';
+ case 50:
+ return (Z.yytext = Z.yytext.trim()), 62;
+ break;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:title\s[^#\n;]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:(\r?\n)+)/i,
+ /^(?:\s+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:%[^\n]*)/i,
+ /^(?:$)/i,
+ /^(?:requirementDiagram\b)/i,
+ /^(?:\{)/i,
+ /^(?:\})/i,
+ /^(?::)/i,
+ /^(?:id\b)/i,
+ /^(?:text\b)/i,
+ /^(?:risk\b)/i,
+ /^(?:verifyMethod\b)/i,
+ /^(?:requirement\b)/i,
+ /^(?:functionalRequirement\b)/i,
+ /^(?:interfaceRequirement\b)/i,
+ /^(?:performanceRequirement\b)/i,
+ /^(?:physicalRequirement\b)/i,
+ /^(?:designConstraint\b)/i,
+ /^(?:low\b)/i,
+ /^(?:medium\b)/i,
+ /^(?:high\b)/i,
+ /^(?:analysis\b)/i,
+ /^(?:demonstration\b)/i,
+ /^(?:inspection\b)/i,
+ /^(?:test\b)/i,
+ /^(?:element\b)/i,
+ /^(?:contains\b)/i,
+ /^(?:copies\b)/i,
+ /^(?:derives\b)/i,
+ /^(?:satisfies\b)/i,
+ /^(?:verifies\b)/i,
+ /^(?:refines\b)/i,
+ /^(?:traces\b)/i,
+ /^(?:type\b)/i,
+ /^(?:docref\b)/i,
+ /^(?:<-)/i,
+ /^(?:->)/i,
+ /^(?:-)/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:[\w][^\r\n\{\<\>\-\=]*)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [6, 7], inclusive: !1 },
+ acc_descr: { rules: [4], inclusive: !1 },
+ acc_title: { rules: [2], inclusive: !1 },
+ unqString: { rules: [], inclusive: !1 },
+ token: { rules: [], inclusive: !1 },
+ string: { rules: [48, 49], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 50
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return ie;
+ })();
+ Y.lexer = Q;
+ function X() {
+ this.yy = {};
+ }
+ return o(X, 'Parser'), (X.prototype = Y), (Y.Parser = X), new X();
+ })();
+ oO.parser = oO;
+ Lue = oO;
+ });
+ var lO,
+ Bs,
+ gx,
+ mf,
+ yx,
+ Lze,
+ Dze,
+ Rze,
+ Nze,
+ Mze,
+ Ize,
+ Oze,
+ Pze,
+ Bze,
+ Fze,
+ zze,
+ Gze,
+ $ze,
+ Vze,
+ Uze,
+ Hze,
+ Yze,
+ Rue,
+ Nue = R(() => {
+ 'use strict';
+ _t();
+ ut();
+ bi();
+ (lO = []),
+ (Bs = {}),
+ (gx = new Map()),
+ (mf = {}),
+ (yx = new Map()),
+ (Lze = {
+ REQUIREMENT: 'Requirement',
+ FUNCTIONAL_REQUIREMENT: 'Functional Requirement',
+ INTERFACE_REQUIREMENT: 'Interface Requirement',
+ PERFORMANCE_REQUIREMENT: 'Performance Requirement',
+ PHYSICAL_REQUIREMENT: 'Physical Requirement',
+ DESIGN_CONSTRAINT: 'Design Constraint'
+ }),
+ (Dze = { LOW_RISK: 'Low', MED_RISK: 'Medium', HIGH_RISK: 'High' }),
+ (Rze = {
+ VERIFY_ANALYSIS: 'Analysis',
+ VERIFY_DEMONSTRATION: 'Demonstration',
+ VERIFY_INSPECTION: 'Inspection',
+ VERIFY_TEST: 'Test'
+ }),
+ (Nze = {
+ CONTAINS: 'contains',
+ COPIES: 'copies',
+ DERIVES: 'derives',
+ SATISFIES: 'satisfies',
+ VERIFIES: 'verifies',
+ REFINES: 'refines',
+ TRACES: 'traces'
+ }),
+ (Mze = o(
+ (t, e) => (
+ gx.has(t) ||
+ gx.set(t, {
+ name: t,
+ type: e,
+ id: Bs.id,
+ text: Bs.text,
+ risk: Bs.risk,
+ verifyMethod: Bs.verifyMethod
+ }),
+ (Bs = {}),
+ gx.get(t)
+ ),
+ 'addRequirement'
+ )),
+ (Ize = o(() => gx, 'getRequirements')),
+ (Oze = o((t) => {
+ Bs !== void 0 && (Bs.id = t);
+ }, 'setNewReqId')),
+ (Pze = o((t) => {
+ Bs !== void 0 && (Bs.text = t);
+ }, 'setNewReqText')),
+ (Bze = o((t) => {
+ Bs !== void 0 && (Bs.risk = t);
+ }, 'setNewReqRisk')),
+ (Fze = o((t) => {
+ Bs !== void 0 && (Bs.verifyMethod = t);
+ }, 'setNewReqVerifyMethod')),
+ (zze = o(
+ (t) => (
+ yx.has(t) ||
+ (yx.set(t, { name: t, type: mf.type, docRef: mf.docRef }),
+ V.info('Added new requirement: ', t)),
+ (mf = {}),
+ yx.get(t)
+ ),
+ 'addElement'
+ )),
+ (Gze = o(() => yx, 'getElements')),
+ ($ze = o((t) => {
+ mf !== void 0 && (mf.type = t);
+ }, 'setNewElementType')),
+ (Vze = o((t) => {
+ mf !== void 0 && (mf.docRef = t);
+ }, 'setNewElementDocRef')),
+ (Uze = o((t, e, r) => {
+ lO.push({ type: t, src: e, dst: r });
+ }, 'addRelationship')),
+ (Hze = o(() => lO, 'getRelationships')),
+ (Yze = o(() => {
+ (lO = []), (Bs = {}), (gx = new Map()), (mf = {}), (yx = new Map()), vr();
+ }, 'clear')),
+ (Rue = {
+ RequirementType: Lze,
+ RiskLevel: Dze,
+ VerifyType: Rze,
+ Relationships: Nze,
+ getConfig: o(() => de().req, 'getConfig'),
+ addRequirement: Mze,
+ getRequirements: Ize,
+ setNewReqId: Oze,
+ setNewReqText: Pze,
+ setNewReqRisk: Bze,
+ setNewReqVerifyMethod: Fze,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ addElement: zze,
+ getElements: Gze,
+ setNewElementType: $ze,
+ setNewElementDocRef: Vze,
+ addRelationship: Uze,
+ getRelationships: Hze,
+ clear: Yze
+ });
+ });
+ var Wze,
+ Mue,
+ Iue = R(() => {
+ 'use strict';
+ (Wze = o(
+ (t) => `
+
+ marker {
+ fill: ${t.relationColor};
+ stroke: ${t.relationColor};
+ }
+
+ marker.cross {
+ stroke: ${t.lineColor};
+ }
+
+ svg {
+ font-family: ${t.fontFamily};
+ font-size: ${t.fontSize};
+ }
+
+ .reqBox {
+ fill: ${t.requirementBackground};
+ fill-opacity: 1.0;
+ stroke: ${t.requirementBorderColor};
+ stroke-width: ${t.requirementBorderSize};
+ }
+
+ .reqTitle, .reqLabel{
+ fill: ${t.requirementTextColor};
+ }
+ .reqLabelBox {
+ fill: ${t.relationLabelBackground};
+ fill-opacity: 1.0;
+ }
+
+ .req-title-line {
+ stroke: ${t.requirementBorderColor};
+ stroke-width: ${t.requirementBorderSize};
+ }
+ .relationshipLine {
+ stroke: ${t.relationColor};
+ stroke-width: 1;
+ }
+ .relationshipLabel {
+ fill: ${t.relationLabelColor};
+ }
+
+`,
+ 'getStyles'
+ )),
+ (Mue = Wze);
+ });
+ var cO,
+ qze,
+ uO,
+ Oue = R(() => {
+ 'use strict';
+ (cO = { CONTAINS: 'contains', ARROW: 'arrow' }),
+ (qze = o((t, e) => {
+ let r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', cO.CONTAINS + '_line_ending')
+ .attr('refX', 0)
+ .attr('refY', e.line_height / 2)
+ .attr('markerWidth', e.line_height)
+ .attr('markerHeight', e.line_height)
+ .attr('orient', 'auto')
+ .append('g');
+ r
+ .append('circle')
+ .attr('cx', e.line_height / 2)
+ .attr('cy', e.line_height / 2)
+ .attr('r', e.line_height / 2)
+ .attr('fill', 'none'),
+ r
+ .append('line')
+ .attr('x1', 0)
+ .attr('x2', e.line_height)
+ .attr('y1', e.line_height / 2)
+ .attr('y2', e.line_height / 2)
+ .attr('stroke-width', 1),
+ r
+ .append('line')
+ .attr('y1', 0)
+ .attr('y2', e.line_height)
+ .attr('x1', e.line_height / 2)
+ .attr('x2', e.line_height / 2)
+ .attr('stroke-width', 1),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', cO.ARROW + '_line_ending')
+ .attr('refX', e.line_height)
+ .attr('refY', 0.5 * e.line_height)
+ .attr('markerWidth', e.line_height)
+ .attr('markerHeight', e.line_height)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr(
+ 'd',
+ `M0,0
+ L${e.line_height},${e.line_height / 2}
+ M${e.line_height},${e.line_height / 2}
+ L0,${e.line_height}`
+ )
+ .attr('stroke-width', 1);
+ }, 'insertLineEndings')),
+ (uO = { ReqMarkers: cO, insertLineEndings: qze });
+ });
+ var ai,
+ Pue,
+ Bue,
+ Fue,
+ zue,
+ Xze,
+ jze,
+ Kze,
+ Qze,
+ Zze,
+ Jze,
+ Og,
+ eGe,
+ Gue,
+ $ue = R(() => {
+ 'use strict';
+ Zt();
+ Vd();
+ ya();
+ _t();
+ ut();
+ Yn();
+ rr();
+ Oue();
+ (ai = {}),
+ (Pue = 0),
+ (Bue = o(
+ (t, e) =>
+ t
+ .insert('rect', '#' + e)
+ .attr('class', 'req reqBox')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', ai.rect_min_width + 'px')
+ .attr('height', ai.rect_min_height + 'px'),
+ 'newRectNode'
+ )),
+ (Fue = o((t, e, r) => {
+ let n = ai.rect_min_width / 2,
+ i = t
+ .append('text')
+ .attr('class', 'req reqLabel reqTitle')
+ .attr('id', e)
+ .attr('x', n)
+ .attr('y', ai.rect_padding)
+ .attr('dominant-baseline', 'hanging'),
+ a = 0;
+ r.forEach((h) => {
+ a == 0
+ ? i
+ .append('tspan')
+ .attr('text-anchor', 'middle')
+ .attr('x', ai.rect_min_width / 2)
+ .attr('dy', 0)
+ .text(h)
+ : i
+ .append('tspan')
+ .attr('text-anchor', 'middle')
+ .attr('x', ai.rect_min_width / 2)
+ .attr('dy', ai.line_height * 0.75)
+ .text(h),
+ a++;
+ });
+ let s = 1.5 * ai.rect_padding,
+ l = a * ai.line_height * 0.75,
+ u = s + l;
+ return (
+ t
+ .append('line')
+ .attr('class', 'req-title-line')
+ .attr('x1', '0')
+ .attr('x2', ai.rect_min_width)
+ .attr('y1', u)
+ .attr('y2', u),
+ { titleNode: i, y: u }
+ );
+ }, 'newTitleNode')),
+ (zue = o((t, e, r, n) => {
+ let i = t
+ .append('text')
+ .attr('class', 'req reqLabel')
+ .attr('id', e)
+ .attr('x', ai.rect_padding)
+ .attr('y', n)
+ .attr('dominant-baseline', 'hanging'),
+ a = 0,
+ s = 30,
+ l = [];
+ return (
+ r.forEach((u) => {
+ let h = u.length;
+ for (; h > s && a < 3; ) {
+ let f = u.substring(0, s);
+ (u = u.substring(s, u.length)), (h = u.length), (l[l.length] = f), a++;
+ }
+ if (a == 3) {
+ let f = l[l.length - 1];
+ l[l.length - 1] = f.substring(0, f.length - 4) + '...';
+ } else l[l.length] = u;
+ a = 0;
+ }),
+ l.forEach((u) => {
+ i.append('tspan').attr('x', ai.rect_padding).attr('dy', ai.line_height).text(u);
+ }),
+ i
+ );
+ }, 'newBodyNode')),
+ (Xze = o((t, e, r, n) => {
+ let i = e.node().getTotalLength(),
+ a = e.node().getPointAtLength(i * 0.5),
+ s = 'rel' + Pue;
+ Pue++;
+ let u = t
+ .append('text')
+ .attr('class', 'req relationshipLabel')
+ .attr('id', s)
+ .attr('x', a.x)
+ .attr('y', a.y)
+ .attr('text-anchor', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .text(n)
+ .node()
+ .getBBox();
+ t.insert('rect', '#' + s)
+ .attr('class', 'req reqLabelBox')
+ .attr('x', a.x - u.width / 2)
+ .attr('y', a.y - u.height / 2)
+ .attr('width', u.width)
+ .attr('height', u.height)
+ .attr('fill', 'white')
+ .attr('fill-opacity', '85%');
+ }, 'addEdgeLabel')),
+ (jze = o(function (t, e, r, n, i) {
+ let a = r.edge(Og(e.src), Og(e.dst)),
+ s = ha()
+ .x(function (u) {
+ return u.x;
+ })
+ .y(function (u) {
+ return u.y;
+ }),
+ l = t
+ .insert('path', '#' + n)
+ .attr('class', 'er relationshipLine')
+ .attr('d', s(a.points))
+ .attr('fill', 'none');
+ e.type == i.db.Relationships.CONTAINS
+ ? l.attr(
+ 'marker-start',
+ 'url(' + We.getUrl(ai.arrowMarkerAbsolute) + '#' + e.type + '_line_ending)'
+ )
+ : (l.attr('stroke-dasharray', '10,7'),
+ l.attr(
+ 'marker-end',
+ 'url(' + We.getUrl(ai.arrowMarkerAbsolute) + '#' + uO.ReqMarkers.ARROW + '_line_ending)'
+ )),
+ Xze(t, l, ai, `<<${e.type}>>`);
+ }, 'drawRelationshipFromLayout')),
+ (Kze = o((t, e, r) => {
+ t.forEach((n, i) => {
+ (i = Og(i)), V.info('Added new requirement: ', i);
+ let a = r.append('g').attr('id', i),
+ s = 'req-' + i,
+ l = Bue(a, s),
+ u = [],
+ h = Fue(a, i + '_title', [`<<${n.type}>>`, `${n.name}`]);
+ u.push(h.titleNode);
+ let f = zue(
+ a,
+ i + '_body',
+ [`Id: ${n.id}`, `Text: ${n.text}`, `Risk: ${n.risk}`, `Verification: ${n.verifyMethod}`],
+ h.y
+ );
+ u.push(f);
+ let d = l.node().getBBox();
+ e.setNode(i, {
+ width: d.width,
+ height: d.height,
+ shape: 'rect',
+ id: i
+ });
+ });
+ }, 'drawReqs')),
+ (Qze = o((t, e, r) => {
+ t.forEach((n, i) => {
+ let a = Og(i),
+ s = r.append('g').attr('id', a),
+ l = 'element-' + a,
+ u = Bue(s, l),
+ h = [],
+ f = Fue(s, l + '_title', ['<>', `${i}`]);
+ h.push(f.titleNode);
+ let d = zue(
+ s,
+ l + '_body',
+ [`Type: ${n.type || 'Not Specified'}`, `Doc Ref: ${n.docRef || 'None'}`],
+ f.y
+ );
+ h.push(d);
+ let p = u.node().getBBox();
+ e.setNode(a, {
+ width: p.width,
+ height: p.height,
+ shape: 'rect',
+ id: a
+ });
+ });
+ }, 'drawElements')),
+ (Zze = o(
+ (t, e) => (
+ t.forEach(function (r) {
+ let n = Og(r.src),
+ i = Og(r.dst);
+ e.setEdge(n, i, { relationship: r });
+ }),
+ t
+ ),
+ 'addRelationships'
+ )),
+ (Jze = o(function (t, e) {
+ e.nodes().forEach(function (r) {
+ r !== void 0 &&
+ e.node(r) !== void 0 &&
+ (t.select('#' + r),
+ t
+ .select('#' + r)
+ .attr(
+ 'transform',
+ 'translate(' +
+ (e.node(r).x - e.node(r).width / 2) +
+ ',' +
+ (e.node(r).y - e.node(r).height / 2) +
+ ' )'
+ ));
+ });
+ }, 'adjustEntities')),
+ (Og = o((t) => t.replace(/\s/g, '').replace(/\./g, '_'), 'elementString')),
+ (eGe = o((t, e, r, n) => {
+ ai = de().requirement;
+ let i = ai.securityLevel,
+ a;
+ i === 'sandbox' && (a = $e('#i' + e));
+ let l = (i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body')).select(
+ `[id='${e}']`
+ );
+ uO.insertLineEndings(l, ai);
+ let u = new lr({ multigraph: !1, compound: !1, directed: !0 })
+ .setGraph({
+ rankdir: ai.layoutDirection,
+ marginx: 20,
+ marginy: 20,
+ nodesep: 100,
+ edgesep: 100,
+ ranksep: 100
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ }),
+ h = n.db.getRequirements(),
+ f = n.db.getElements(),
+ d = n.db.getRelationships();
+ Kze(h, u, l),
+ Qze(f, u, l),
+ Zze(d, u),
+ lo(u),
+ Jze(l, u),
+ d.forEach(function (v) {
+ jze(l, v, u, e, n);
+ });
+ let p = ai.rect_padding,
+ m = l.node().getBBox(),
+ g = m.width + p * 2,
+ y = m.height + p * 2;
+ Sr(l, y, g, ai.useMaxWidth), l.attr('viewBox', `${m.x - p} ${m.y - p} ${g} ${y}`);
+ }, 'draw')),
+ (Gue = { draw: eGe });
+ });
+ var Vue = {};
+ hr(Vue, { diagram: () => tGe });
+ var tGe,
+ Uue = R(() => {
+ 'use strict';
+ Due();
+ Nue();
+ Iue();
+ $ue();
+ tGe = { parser: Lue, db: Rue, renderer: Gue, styles: Mue };
+ });
+ var hO,
+ Wue,
+ que = R(() => {
+ 'use strict';
+ hO = (function () {
+ var t = o(function (H, q, K, se) {
+ for (K = K || {}, se = H.length; se--; K[H[se]] = q);
+ return K;
+ }, 'o'),
+ e = [1, 2],
+ r = [1, 3],
+ n = [1, 4],
+ i = [2, 4],
+ a = [1, 9],
+ s = [1, 11],
+ l = [1, 13],
+ u = [1, 14],
+ h = [1, 16],
+ f = [1, 17],
+ d = [1, 18],
+ p = [1, 24],
+ m = [1, 25],
+ g = [1, 26],
+ y = [1, 27],
+ v = [1, 28],
+ x = [1, 29],
+ b = [1, 30],
+ w = [1, 31],
+ S = [1, 32],
+ T = [1, 33],
+ E = [1, 34],
+ _ = [1, 35],
+ A = [1, 36],
+ L = [1, 37],
+ M = [1, 38],
+ N = [1, 39],
+ k = [1, 41],
+ I = [1, 42],
+ C = [1, 43],
+ O = [1, 44],
+ D = [1, 45],
+ P = [1, 46],
+ F = [
+ 1, 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 48, 49,
+ 50, 52, 53, 54, 59, 60, 61, 62, 70
+ ],
+ B = [4, 5, 16, 50, 52, 53],
+ $ = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, 52, 53,
+ 54, 59, 60, 61, 62, 70
+ ],
+ z = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 49, 50, 52,
+ 53, 54, 59, 60, 61, 62, 70
+ ],
+ Y = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 50, 52,
+ 53, 54, 59, 60, 61, 62, 70
+ ],
+ Q = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 50, 52,
+ 53, 54, 59, 60, 61, 62, 70
+ ],
+ X = [68, 69, 70],
+ ie = [1, 122],
+ j = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ SPACE: 4,
+ NEWLINE: 5,
+ SD: 6,
+ document: 7,
+ line: 8,
+ statement: 9,
+ box_section: 10,
+ box_line: 11,
+ participant_statement: 12,
+ create: 13,
+ box: 14,
+ restOfLine: 15,
+ end: 16,
+ signal: 17,
+ autonumber: 18,
+ NUM: 19,
+ off: 20,
+ activate: 21,
+ actor: 22,
+ deactivate: 23,
+ note_statement: 24,
+ links_statement: 25,
+ link_statement: 26,
+ properties_statement: 27,
+ details_statement: 28,
+ title: 29,
+ legacy_title: 30,
+ acc_title: 31,
+ acc_title_value: 32,
+ acc_descr: 33,
+ acc_descr_value: 34,
+ acc_descr_multiline_value: 35,
+ loop: 36,
+ rect: 37,
+ opt: 38,
+ alt: 39,
+ else_sections: 40,
+ par: 41,
+ par_sections: 42,
+ par_over: 43,
+ critical: 44,
+ option_sections: 45,
+ break: 46,
+ option: 47,
+ and: 48,
+ else: 49,
+ participant: 50,
+ AS: 51,
+ participant_actor: 52,
+ destroy: 53,
+ note: 54,
+ placement: 55,
+ text2: 56,
+ over: 57,
+ actor_pair: 58,
+ links: 59,
+ link: 60,
+ properties: 61,
+ details: 62,
+ spaceList: 63,
+ ',': 64,
+ left_of: 65,
+ right_of: 66,
+ signaltype: 67,
+ '+': 68,
+ '-': 69,
+ ACTOR: 70,
+ SOLID_OPEN_ARROW: 71,
+ DOTTED_OPEN_ARROW: 72,
+ SOLID_ARROW: 73,
+ BIDIRECTIONAL_SOLID_ARROW: 74,
+ DOTTED_ARROW: 75,
+ BIDIRECTIONAL_DOTTED_ARROW: 76,
+ SOLID_CROSS: 77,
+ DOTTED_CROSS: 78,
+ SOLID_POINT: 79,
+ DOTTED_POINT: 80,
+ TXT: 81,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'SPACE',
+ 5: 'NEWLINE',
+ 6: 'SD',
+ 13: 'create',
+ 14: 'box',
+ 15: 'restOfLine',
+ 16: 'end',
+ 18: 'autonumber',
+ 19: 'NUM',
+ 20: 'off',
+ 21: 'activate',
+ 23: 'deactivate',
+ 29: 'title',
+ 30: 'legacy_title',
+ 31: 'acc_title',
+ 32: 'acc_title_value',
+ 33: 'acc_descr',
+ 34: 'acc_descr_value',
+ 35: 'acc_descr_multiline_value',
+ 36: 'loop',
+ 37: 'rect',
+ 38: 'opt',
+ 39: 'alt',
+ 41: 'par',
+ 43: 'par_over',
+ 44: 'critical',
+ 46: 'break',
+ 47: 'option',
+ 48: 'and',
+ 49: 'else',
+ 50: 'participant',
+ 51: 'AS',
+ 52: 'participant_actor',
+ 53: 'destroy',
+ 54: 'note',
+ 57: 'over',
+ 59: 'links',
+ 60: 'link',
+ 61: 'properties',
+ 62: 'details',
+ 64: ',',
+ 65: 'left_of',
+ 66: 'right_of',
+ 68: '+',
+ 69: '-',
+ 70: 'ACTOR',
+ 71: 'SOLID_OPEN_ARROW',
+ 72: 'DOTTED_OPEN_ARROW',
+ 73: 'SOLID_ARROW',
+ 74: 'BIDIRECTIONAL_SOLID_ARROW',
+ 75: 'DOTTED_ARROW',
+ 76: 'BIDIRECTIONAL_DOTTED_ARROW',
+ 77: 'SOLID_CROSS',
+ 78: 'DOTTED_CROSS',
+ 79: 'SOLID_POINT',
+ 80: 'DOTTED_POINT',
+ 81: 'TXT'
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 2],
+ [3, 2],
+ [7, 0],
+ [7, 2],
+ [8, 2],
+ [8, 1],
+ [8, 1],
+ [10, 0],
+ [10, 2],
+ [11, 2],
+ [11, 1],
+ [11, 1],
+ [9, 1],
+ [9, 2],
+ [9, 4],
+ [9, 2],
+ [9, 4],
+ [9, 3],
+ [9, 3],
+ [9, 2],
+ [9, 3],
+ [9, 3],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [45, 1],
+ [45, 4],
+ [42, 1],
+ [42, 4],
+ [40, 1],
+ [40, 4],
+ [12, 5],
+ [12, 3],
+ [12, 5],
+ [12, 3],
+ [12, 3],
+ [24, 4],
+ [24, 4],
+ [25, 3],
+ [26, 3],
+ [27, 3],
+ [28, 3],
+ [63, 2],
+ [63, 1],
+ [58, 3],
+ [58, 1],
+ [55, 1],
+ [55, 1],
+ [17, 5],
+ [17, 5],
+ [17, 4],
+ [22, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [56, 1]
+ ],
+ performAction: o(function (q, K, se, ce, ue, te, De) {
+ var oe = te.length - 1;
+ switch (ue) {
+ case 3:
+ return ce.apply(te[oe]), te[oe];
+ break;
+ case 4:
+ case 9:
+ this.$ = [];
+ break;
+ case 5:
+ case 10:
+ te[oe - 1].push(te[oe]), (this.$ = te[oe - 1]);
+ break;
+ case 6:
+ case 7:
+ case 11:
+ case 12:
+ this.$ = te[oe];
+ break;
+ case 8:
+ case 13:
+ this.$ = [];
+ break;
+ case 15:
+ (te[oe].type = 'createParticipant'), (this.$ = te[oe]);
+ break;
+ case 16:
+ te[oe - 1].unshift({
+ type: 'boxStart',
+ boxData: ce.parseBoxData(te[oe - 2])
+ }),
+ te[oe - 1].push({ type: 'boxEnd', boxText: te[oe - 2] }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 18:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceIndex: Number(te[oe - 2]),
+ sequenceIndexStep: Number(te[oe - 1]),
+ sequenceVisible: !0,
+ signalType: ce.LINETYPE.AUTONUMBER
+ };
+ break;
+ case 19:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceIndex: Number(te[oe - 1]),
+ sequenceIndexStep: 1,
+ sequenceVisible: !0,
+ signalType: ce.LINETYPE.AUTONUMBER
+ };
+ break;
+ case 20:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceVisible: !1,
+ signalType: ce.LINETYPE.AUTONUMBER
+ };
+ break;
+ case 21:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceVisible: !0,
+ signalType: ce.LINETYPE.AUTONUMBER
+ };
+ break;
+ case 22:
+ this.$ = {
+ type: 'activeStart',
+ signalType: ce.LINETYPE.ACTIVE_START,
+ actor: te[oe - 1].actor
+ };
+ break;
+ case 23:
+ this.$ = {
+ type: 'activeEnd',
+ signalType: ce.LINETYPE.ACTIVE_END,
+ actor: te[oe - 1].actor
+ };
+ break;
+ case 29:
+ ce.setDiagramTitle(te[oe].substring(6)), (this.$ = te[oe].substring(6));
+ break;
+ case 30:
+ ce.setDiagramTitle(te[oe].substring(7)), (this.$ = te[oe].substring(7));
+ break;
+ case 31:
+ (this.$ = te[oe].trim()), ce.setAccTitle(this.$);
+ break;
+ case 32:
+ case 33:
+ (this.$ = te[oe].trim()), ce.setAccDescription(this.$);
+ break;
+ case 34:
+ te[oe - 1].unshift({
+ type: 'loopStart',
+ loopText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.LOOP_START
+ }),
+ te[oe - 1].push({
+ type: 'loopEnd',
+ loopText: te[oe - 2],
+ signalType: ce.LINETYPE.LOOP_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 35:
+ te[oe - 1].unshift({
+ type: 'rectStart',
+ color: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.RECT_START
+ }),
+ te[oe - 1].push({
+ type: 'rectEnd',
+ color: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.RECT_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 36:
+ te[oe - 1].unshift({
+ type: 'optStart',
+ optText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.OPT_START
+ }),
+ te[oe - 1].push({
+ type: 'optEnd',
+ optText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.OPT_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 37:
+ te[oe - 1].unshift({
+ type: 'altStart',
+ altText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.ALT_START
+ }),
+ te[oe - 1].push({
+ type: 'altEnd',
+ signalType: ce.LINETYPE.ALT_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 38:
+ te[oe - 1].unshift({
+ type: 'parStart',
+ parText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.PAR_START
+ }),
+ te[oe - 1].push({
+ type: 'parEnd',
+ signalType: ce.LINETYPE.PAR_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 39:
+ te[oe - 1].unshift({
+ type: 'parStart',
+ parText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.PAR_OVER_START
+ }),
+ te[oe - 1].push({
+ type: 'parEnd',
+ signalType: ce.LINETYPE.PAR_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 40:
+ te[oe - 1].unshift({
+ type: 'criticalStart',
+ criticalText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.CRITICAL_START
+ }),
+ te[oe - 1].push({
+ type: 'criticalEnd',
+ signalType: ce.LINETYPE.CRITICAL_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 41:
+ te[oe - 1].unshift({
+ type: 'breakStart',
+ breakText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.BREAK_START
+ }),
+ te[oe - 1].push({
+ type: 'breakEnd',
+ optText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.BREAK_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 43:
+ this.$ = te[oe - 3].concat([
+ {
+ type: 'option',
+ optionText: ce.parseMessage(te[oe - 1]),
+ signalType: ce.LINETYPE.CRITICAL_OPTION
+ },
+ te[oe]
+ ]);
+ break;
+ case 45:
+ this.$ = te[oe - 3].concat([
+ {
+ type: 'and',
+ parText: ce.parseMessage(te[oe - 1]),
+ signalType: ce.LINETYPE.PAR_AND
+ },
+ te[oe]
+ ]);
+ break;
+ case 47:
+ this.$ = te[oe - 3].concat([
+ {
+ type: 'else',
+ altText: ce.parseMessage(te[oe - 1]),
+ signalType: ce.LINETYPE.ALT_ELSE
+ },
+ te[oe]
+ ]);
+ break;
+ case 48:
+ (te[oe - 3].draw = 'participant'),
+ (te[oe - 3].type = 'addParticipant'),
+ (te[oe - 3].description = ce.parseMessage(te[oe - 1])),
+ (this.$ = te[oe - 3]);
+ break;
+ case 49:
+ (te[oe - 1].draw = 'participant'),
+ (te[oe - 1].type = 'addParticipant'),
+ (this.$ = te[oe - 1]);
+ break;
+ case 50:
+ (te[oe - 3].draw = 'actor'),
+ (te[oe - 3].type = 'addParticipant'),
+ (te[oe - 3].description = ce.parseMessage(te[oe - 1])),
+ (this.$ = te[oe - 3]);
+ break;
+ case 51:
+ (te[oe - 1].draw = 'actor'),
+ (te[oe - 1].type = 'addParticipant'),
+ (this.$ = te[oe - 1]);
+ break;
+ case 52:
+ (te[oe - 1].type = 'destroyParticipant'), (this.$ = te[oe - 1]);
+ break;
+ case 53:
+ this.$ = [
+ te[oe - 1],
+ {
+ type: 'addNote',
+ placement: te[oe - 2],
+ actor: te[oe - 1].actor,
+ text: te[oe]
+ }
+ ];
+ break;
+ case 54:
+ (te[oe - 2] = [].concat(te[oe - 1], te[oe - 1]).slice(0, 2)),
+ (te[oe - 2][0] = te[oe - 2][0].actor),
+ (te[oe - 2][1] = te[oe - 2][1].actor),
+ (this.$ = [
+ te[oe - 1],
+ {
+ type: 'addNote',
+ placement: ce.PLACEMENT.OVER,
+ actor: te[oe - 2].slice(0, 2),
+ text: te[oe]
+ }
+ ]);
+ break;
+ case 55:
+ this.$ = [te[oe - 1], { type: 'addLinks', actor: te[oe - 1].actor, text: te[oe] }];
+ break;
+ case 56:
+ this.$ = [te[oe - 1], { type: 'addALink', actor: te[oe - 1].actor, text: te[oe] }];
+ break;
+ case 57:
+ this.$ = [
+ te[oe - 1],
+ {
+ type: 'addProperties',
+ actor: te[oe - 1].actor,
+ text: te[oe]
+ }
+ ];
+ break;
+ case 58:
+ this.$ = [
+ te[oe - 1],
+ {
+ type: 'addDetails',
+ actor: te[oe - 1].actor,
+ text: te[oe]
+ }
+ ];
+ break;
+ case 61:
+ this.$ = [te[oe - 2], te[oe]];
+ break;
+ case 62:
+ this.$ = te[oe];
+ break;
+ case 63:
+ this.$ = ce.PLACEMENT.LEFTOF;
+ break;
+ case 64:
+ this.$ = ce.PLACEMENT.RIGHTOF;
+ break;
+ case 65:
+ this.$ = [
+ te[oe - 4],
+ te[oe - 1],
+ {
+ type: 'addMessage',
+ from: te[oe - 4].actor,
+ to: te[oe - 1].actor,
+ signalType: te[oe - 3],
+ msg: te[oe],
+ activate: !0
+ },
+ {
+ type: 'activeStart',
+ signalType: ce.LINETYPE.ACTIVE_START,
+ actor: te[oe - 1].actor
+ }
+ ];
+ break;
+ case 66:
+ this.$ = [
+ te[oe - 4],
+ te[oe - 1],
+ {
+ type: 'addMessage',
+ from: te[oe - 4].actor,
+ to: te[oe - 1].actor,
+ signalType: te[oe - 3],
+ msg: te[oe]
+ },
+ {
+ type: 'activeEnd',
+ signalType: ce.LINETYPE.ACTIVE_END,
+ actor: te[oe - 4].actor
+ }
+ ];
+ break;
+ case 67:
+ this.$ = [
+ te[oe - 3],
+ te[oe - 1],
+ {
+ type: 'addMessage',
+ from: te[oe - 3].actor,
+ to: te[oe - 1].actor,
+ signalType: te[oe - 2],
+ msg: te[oe]
+ }
+ ];
+ break;
+ case 68:
+ this.$ = { type: 'addParticipant', actor: te[oe] };
+ break;
+ case 69:
+ this.$ = ce.LINETYPE.SOLID_OPEN;
+ break;
+ case 70:
+ this.$ = ce.LINETYPE.DOTTED_OPEN;
+ break;
+ case 71:
+ this.$ = ce.LINETYPE.SOLID;
+ break;
+ case 72:
+ this.$ = ce.LINETYPE.BIDIRECTIONAL_SOLID;
+ break;
+ case 73:
+ this.$ = ce.LINETYPE.DOTTED;
+ break;
+ case 74:
+ this.$ = ce.LINETYPE.BIDIRECTIONAL_DOTTED;
+ break;
+ case 75:
+ this.$ = ce.LINETYPE.SOLID_CROSS;
+ break;
+ case 76:
+ this.$ = ce.LINETYPE.DOTTED_CROSS;
+ break;
+ case 77:
+ this.$ = ce.LINETYPE.SOLID_POINT;
+ break;
+ case 78:
+ this.$ = ce.LINETYPE.DOTTED_POINT;
+ break;
+ case 79:
+ this.$ = ce.parseMessage(te[oe].trim().substring(1));
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: e, 5: r, 6: n },
+ { 1: [3] },
+ { 3: 5, 4: e, 5: r, 6: n },
+ { 3: 6, 4: e, 5: r, 6: n },
+ t(
+ [
+ 1, 4, 5, 13, 14, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50,
+ 52, 53, 54, 59, 60, 61, 62, 70
+ ],
+ i,
+ { 7: 7 }
+ ),
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ {
+ 1: [2, 3],
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ t(F, [2, 5]),
+ {
+ 9: 47,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ t(F, [2, 7]),
+ t(F, [2, 8]),
+ t(F, [2, 14]),
+ { 12: 48, 50: L, 52: M, 53: N },
+ { 15: [1, 49] },
+ { 5: [1, 50] },
+ { 5: [1, 53], 19: [1, 51], 20: [1, 52] },
+ { 22: 54, 70: P },
+ { 22: 55, 70: P },
+ { 5: [1, 56] },
+ { 5: [1, 57] },
+ { 5: [1, 58] },
+ { 5: [1, 59] },
+ { 5: [1, 60] },
+ t(F, [2, 29]),
+ t(F, [2, 30]),
+ { 32: [1, 61] },
+ { 34: [1, 62] },
+ t(F, [2, 33]),
+ { 15: [1, 63] },
+ { 15: [1, 64] },
+ { 15: [1, 65] },
+ { 15: [1, 66] },
+ { 15: [1, 67] },
+ { 15: [1, 68] },
+ { 15: [1, 69] },
+ { 15: [1, 70] },
+ { 22: 71, 70: P },
+ { 22: 72, 70: P },
+ { 22: 73, 70: P },
+ {
+ 67: 74,
+ 71: [1, 75],
+ 72: [1, 76],
+ 73: [1, 77],
+ 74: [1, 78],
+ 75: [1, 79],
+ 76: [1, 80],
+ 77: [1, 81],
+ 78: [1, 82],
+ 79: [1, 83],
+ 80: [1, 84]
+ },
+ { 55: 85, 57: [1, 86], 65: [1, 87], 66: [1, 88] },
+ { 22: 89, 70: P },
+ { 22: 90, 70: P },
+ { 22: 91, 70: P },
+ { 22: 92, 70: P },
+ t([5, 51, 64, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], [2, 68]),
+ t(F, [2, 6]),
+ t(F, [2, 15]),
+ t(B, [2, 9], { 10: 93 }),
+ t(F, [2, 17]),
+ { 5: [1, 95], 19: [1, 94] },
+ { 5: [1, 96] },
+ t(F, [2, 21]),
+ { 5: [1, 97] },
+ { 5: [1, 98] },
+ t(F, [2, 24]),
+ t(F, [2, 25]),
+ t(F, [2, 26]),
+ t(F, [2, 27]),
+ t(F, [2, 28]),
+ t(F, [2, 31]),
+ t(F, [2, 32]),
+ t($, i, { 7: 99 }),
+ t($, i, { 7: 100 }),
+ t($, i, { 7: 101 }),
+ t(z, i, { 40: 102, 7: 103 }),
+ t(Y, i, { 42: 104, 7: 105 }),
+ t(Y, i, { 7: 105, 42: 106 }),
+ t(Q, i, { 45: 107, 7: 108 }),
+ t($, i, { 7: 109 }),
+ { 5: [1, 111], 51: [1, 110] },
+ { 5: [1, 113], 51: [1, 112] },
+ { 5: [1, 114] },
+ { 22: 117, 68: [1, 115], 69: [1, 116], 70: P },
+ t(X, [2, 69]),
+ t(X, [2, 70]),
+ t(X, [2, 71]),
+ t(X, [2, 72]),
+ t(X, [2, 73]),
+ t(X, [2, 74]),
+ t(X, [2, 75]),
+ t(X, [2, 76]),
+ t(X, [2, 77]),
+ t(X, [2, 78]),
+ { 22: 118, 70: P },
+ { 22: 120, 58: 119, 70: P },
+ { 70: [2, 63] },
+ { 70: [2, 64] },
+ { 56: 121, 81: ie },
+ { 56: 123, 81: ie },
+ { 56: 124, 81: ie },
+ { 56: 125, 81: ie },
+ {
+ 4: [1, 128],
+ 5: [1, 130],
+ 11: 127,
+ 12: 129,
+ 16: [1, 126],
+ 50: L,
+ 52: M,
+ 53: N
+ },
+ { 5: [1, 131] },
+ t(F, [2, 19]),
+ t(F, [2, 20]),
+ t(F, [2, 22]),
+ t(F, [2, 23]),
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [1, 132],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [1, 133],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [1, 134],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ { 16: [1, 135] },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [2, 46],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 49: [1, 136],
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ { 16: [1, 137] },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [2, 44],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 48: [1, 138],
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ { 16: [1, 139] },
+ { 16: [1, 140] },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [2, 42],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 47: [1, 141],
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [1, 142],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ { 15: [1, 143] },
+ t(F, [2, 49]),
+ { 15: [1, 144] },
+ t(F, [2, 51]),
+ t(F, [2, 52]),
+ { 22: 145, 70: P },
+ { 22: 146, 70: P },
+ { 56: 147, 81: ie },
+ { 56: 148, 81: ie },
+ { 56: 149, 81: ie },
+ { 64: [1, 150], 81: [2, 62] },
+ { 5: [2, 55] },
+ { 5: [2, 79] },
+ { 5: [2, 56] },
+ { 5: [2, 57] },
+ { 5: [2, 58] },
+ t(F, [2, 16]),
+ t(B, [2, 10]),
+ { 12: 151, 50: L, 52: M, 53: N },
+ t(B, [2, 12]),
+ t(B, [2, 13]),
+ t(F, [2, 18]),
+ t(F, [2, 34]),
+ t(F, [2, 35]),
+ t(F, [2, 36]),
+ t(F, [2, 37]),
+ { 15: [1, 152] },
+ t(F, [2, 38]),
+ { 15: [1, 153] },
+ t(F, [2, 39]),
+ t(F, [2, 40]),
+ { 15: [1, 154] },
+ t(F, [2, 41]),
+ { 5: [1, 155] },
+ { 5: [1, 156] },
+ { 56: 157, 81: ie },
+ { 56: 158, 81: ie },
+ { 5: [2, 67] },
+ { 5: [2, 53] },
+ { 5: [2, 54] },
+ { 22: 159, 70: P },
+ t(B, [2, 11]),
+ t(z, i, { 7: 103, 40: 160 }),
+ t(Y, i, { 7: 105, 42: 161 }),
+ t(Q, i, { 7: 108, 45: 162 }),
+ t(F, [2, 48]),
+ t(F, [2, 50]),
+ { 5: [2, 65] },
+ { 5: [2, 66] },
+ { 81: [2, 61] },
+ { 16: [2, 47] },
+ { 16: [2, 45] },
+ { 16: [2, 43] }
+ ],
+ defaultActions: {
+ 5: [2, 1],
+ 6: [2, 2],
+ 87: [2, 63],
+ 88: [2, 64],
+ 121: [2, 55],
+ 122: [2, 79],
+ 123: [2, 56],
+ 124: [2, 57],
+ 125: [2, 58],
+ 147: [2, 67],
+ 148: [2, 53],
+ 149: [2, 54],
+ 157: [2, 65],
+ 158: [2, 66],
+ 159: [2, 61],
+ 160: [2, 47],
+ 161: [2, 45],
+ 162: [2, 43]
+ },
+ parseError: o(function (q, K) {
+ if (K.recoverable) this.trace(q);
+ else {
+ var se = new Error(q);
+ throw ((se.hash = K), se);
+ }
+ }, 'parseError'),
+ parse: o(function (q) {
+ var K = this,
+ se = [0],
+ ce = [],
+ ue = [null],
+ te = [],
+ De = this.table,
+ oe = '',
+ ke = 0,
+ Ie = 0,
+ Se = 0,
+ Ue = 2,
+ Pe = 1,
+ _e = te.slice.call(arguments, 1),
+ me = Object.create(this.lexer),
+ W = { yy: {} };
+ for (var fe in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, fe) && (W.yy[fe] = this.yy[fe]);
+ me.setInput(q, W.yy),
+ (W.yy.lexer = me),
+ (W.yy.parser = this),
+ typeof me.yylloc > 'u' && (me.yylloc = {});
+ var ge = me.yylloc;
+ te.push(ge);
+ var re = me.options && me.options.ranges;
+ typeof W.yy.parseError == 'function'
+ ? (this.parseError = W.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function he(yt) {
+ (se.length = se.length - 2 * yt),
+ (ue.length = ue.length - yt),
+ (te.length = te.length - yt);
+ }
+ o(he, 'popStack');
+ function ne() {
+ var yt;
+ return (
+ (yt = ce.pop() || me.lex() || Pe),
+ typeof yt != 'number' &&
+ (yt instanceof Array && ((ce = yt), (yt = ce.pop())),
+ (yt = K.symbols_[yt] || yt)),
+ yt
+ );
+ }
+ o(ne, 'lex');
+ for (var ae, we, Te, Ce, Ae, Ge, Me = {}, ye, He, ze, Ze; ; ) {
+ if (
+ ((Te = se[se.length - 1]),
+ this.defaultActions[Te]
+ ? (Ce = this.defaultActions[Te])
+ : ((ae === null || typeof ae > 'u') && (ae = ne()),
+ (Ce = De[Te] && De[Te][ae])),
+ typeof Ce > 'u' || !Ce.length || !Ce[0])
+ ) {
+ var gt = '';
+ Ze = [];
+ for (ye in De[Te])
+ this.terminals_[ye] && ye > Ue && Ze.push("'" + this.terminals_[ye] + "'");
+ me.showPosition
+ ? (gt =
+ 'Parse error on line ' +
+ (ke + 1) +
+ `:
+` +
+ me.showPosition() +
+ `
+Expecting ` +
+ Ze.join(', ') +
+ ", got '" +
+ (this.terminals_[ae] || ae) +
+ "'")
+ : (gt =
+ 'Parse error on line ' +
+ (ke + 1) +
+ ': Unexpected ' +
+ (ae == Pe ? 'end of input' : "'" + (this.terminals_[ae] || ae) + "'")),
+ this.parseError(gt, {
+ text: me.match,
+ token: this.terminals_[ae] || ae,
+ line: me.yylineno,
+ loc: ge,
+ expected: Ze
+ });
+ }
+ if (Ce[0] instanceof Array && Ce.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Te + ', token: ' + ae
+ );
+ switch (Ce[0]) {
+ case 1:
+ se.push(ae),
+ ue.push(me.yytext),
+ te.push(me.yylloc),
+ se.push(Ce[1]),
+ (ae = null),
+ we
+ ? ((ae = we), (we = null))
+ : ((Ie = me.yyleng),
+ (oe = me.yytext),
+ (ke = me.yylineno),
+ (ge = me.yylloc),
+ Se > 0 && Se--);
+ break;
+ case 2:
+ if (
+ ((He = this.productions_[Ce[1]][1]),
+ (Me.$ = ue[ue.length - He]),
+ (Me._$ = {
+ first_line: te[te.length - (He || 1)].first_line,
+ last_line: te[te.length - 1].last_line,
+ first_column: te[te.length - (He || 1)].first_column,
+ last_column: te[te.length - 1].last_column
+ }),
+ re &&
+ (Me._$.range = [
+ te[te.length - (He || 1)].range[0],
+ te[te.length - 1].range[1]
+ ]),
+ (Ge = this.performAction.apply(
+ Me,
+ [oe, Ie, ke, W.yy, Ce[1], ue, te].concat(_e)
+ )),
+ typeof Ge < 'u')
+ )
+ return Ge;
+ He &&
+ ((se = se.slice(0, -1 * He * 2)),
+ (ue = ue.slice(0, -1 * He)),
+ (te = te.slice(0, -1 * He))),
+ se.push(this.productions_[Ce[1]][0]),
+ ue.push(Me.$),
+ te.push(Me._$),
+ (ze = De[se[se.length - 2]][se[se.length - 1]]),
+ se.push(ze);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ J = (function () {
+ var H = {
+ EOF: 1,
+ parseError: o(function (K, se) {
+ if (this.yy.parser) this.yy.parser.parseError(K, se);
+ else throw new Error(K);
+ }, 'parseError'),
+ setInput: o(function (q, K) {
+ return (
+ (this.yy = K || this.yy || {}),
+ (this._input = q),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var q = this._input[0];
+ (this.yytext += q),
+ this.yyleng++,
+ this.offset++,
+ (this.match += q),
+ (this.matched += q);
+ var K = q.match(/(?:\r\n?|\n).*/g);
+ return (
+ K ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ q
+ );
+ }, 'input'),
+ unput: o(function (q) {
+ var K = q.length,
+ se = q.split(/(?:\r\n?|\n)/g);
+ (this._input = q + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - K)),
+ (this.offset -= K);
+ var ce = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ se.length - 1 && (this.yylineno -= se.length - 1);
+ var ue = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: se
+ ? (se.length === ce.length ? this.yylloc.first_column : 0) +
+ ce[ce.length - se.length].length -
+ se[0].length
+ : this.yylloc.first_column - K
+ }),
+ this.options.ranges && (this.yylloc.range = [ue[0], ue[0] + this.yyleng - K]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (q) {
+ this.unput(this.match.slice(q));
+ }, 'less'),
+ pastInput: o(function () {
+ var q = this.matched.substr(0, this.matched.length - this.match.length);
+ return (q.length > 20 ? '...' : '') + q.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var q = this.match;
+ return (
+ q.length < 20 && (q += this._input.substr(0, 20 - q.length)),
+ (q.substr(0, 20) + (q.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var q = this.pastInput(),
+ K = new Array(q.length + 1).join('-');
+ return (
+ q +
+ this.upcomingInput() +
+ `
+` +
+ K +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (q, K) {
+ var se, ce, ue;
+ if (
+ (this.options.backtrack_lexer &&
+ ((ue = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (ue.yylloc.range = this.yylloc.range.slice(0))),
+ (ce = q[0].match(/(?:\r\n?|\n).*/g)),
+ ce && (this.yylineno += ce.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: ce
+ ? ce[ce.length - 1].length - ce[ce.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + q[0].length
+ }),
+ (this.yytext += q[0]),
+ (this.match += q[0]),
+ (this.matches = q),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(q[0].length)),
+ (this.matched += q[0]),
+ (se = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ K,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ se)
+ )
+ return se;
+ if (this._backtrack) {
+ for (var te in ue) this[te] = ue[te];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var q, K, se, ce;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var ue = this._currentRules(), te = 0; te < ue.length; te++)
+ if (
+ ((se = this._input.match(this.rules[ue[te]])),
+ se && (!K || se[0].length > K[0].length))
+ ) {
+ if (((K = se), (ce = te), this.options.backtrack_lexer)) {
+ if (((q = this.test_match(se, ue[te])), q !== !1)) return q;
+ if (this._backtrack) {
+ K = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return K
+ ? ((q = this.test_match(K, ue[ce])), q !== !1 ? q : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var K = this.next();
+ return K || this.lex();
+ }, 'lex'),
+ begin: o(function (K) {
+ this.conditionStack.push(K);
+ }, 'begin'),
+ popState: o(function () {
+ var K = this.conditionStack.length - 1;
+ return K > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (K) {
+ return (
+ (K = this.conditionStack.length - 1 - Math.abs(K || 0)),
+ K >= 0 ? this.conditionStack[K] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (K) {
+ this.begin(K);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (K, se, ce, ue) {
+ var te = ue;
+ switch (ce) {
+ case 0:
+ return 5;
+ case 1:
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ break;
+ case 6:
+ return 19;
+ case 7:
+ return this.begin('LINE'), 14;
+ break;
+ case 8:
+ return this.begin('ID'), 50;
+ break;
+ case 9:
+ return this.begin('ID'), 52;
+ break;
+ case 10:
+ return 13;
+ case 11:
+ return this.begin('ID'), 53;
+ break;
+ case 12:
+ return (se.yytext = se.yytext.trim()), this.begin('ALIAS'), 70;
+ break;
+ case 13:
+ return this.popState(), this.popState(), this.begin('LINE'), 51;
+ break;
+ case 14:
+ return this.popState(), this.popState(), 5;
+ break;
+ case 15:
+ return this.begin('LINE'), 36;
+ break;
+ case 16:
+ return this.begin('LINE'), 37;
+ break;
+ case 17:
+ return this.begin('LINE'), 38;
+ break;
+ case 18:
+ return this.begin('LINE'), 39;
+ break;
+ case 19:
+ return this.begin('LINE'), 49;
+ break;
+ case 20:
+ return this.begin('LINE'), 41;
+ break;
+ case 21:
+ return this.begin('LINE'), 43;
+ break;
+ case 22:
+ return this.begin('LINE'), 48;
+ break;
+ case 23:
+ return this.begin('LINE'), 44;
+ break;
+ case 24:
+ return this.begin('LINE'), 47;
+ break;
+ case 25:
+ return this.begin('LINE'), 46;
+ break;
+ case 26:
+ return this.popState(), 15;
+ break;
+ case 27:
+ return 16;
+ case 28:
+ return 65;
+ case 29:
+ return 66;
+ case 30:
+ return 59;
+ case 31:
+ return 60;
+ case 32:
+ return 61;
+ case 33:
+ return 62;
+ case 34:
+ return 57;
+ case 35:
+ return 54;
+ case 36:
+ return this.begin('ID'), 21;
+ break;
+ case 37:
+ return this.begin('ID'), 23;
+ break;
+ case 38:
+ return 29;
+ case 39:
+ return 30;
+ case 40:
+ return this.begin('acc_title'), 31;
+ break;
+ case 41:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 42:
+ return this.begin('acc_descr'), 33;
+ break;
+ case 43:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 44:
+ this.begin('acc_descr_multiline');
+ break;
+ case 45:
+ this.popState();
+ break;
+ case 46:
+ return 'acc_descr_multiline_value';
+ case 47:
+ return 6;
+ case 48:
+ return 18;
+ case 49:
+ return 20;
+ case 50:
+ return 64;
+ case 51:
+ return 5;
+ case 52:
+ return (se.yytext = se.yytext.trim()), 70;
+ break;
+ case 53:
+ return 73;
+ case 54:
+ return 74;
+ case 55:
+ return 75;
+ case 56:
+ return 76;
+ case 57:
+ return 71;
+ case 58:
+ return 72;
+ case 59:
+ return 77;
+ case 60:
+ return 78;
+ case 61:
+ return 79;
+ case 62:
+ return 80;
+ case 63:
+ return 81;
+ case 64:
+ return 68;
+ case 65:
+ return 69;
+ case 66:
+ return 5;
+ case 67:
+ return 'INVALID';
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:((?!\n)\s)+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[0-9]+(?=[ \n]+))/i,
+ /^(?:box\b)/i,
+ /^(?:participant\b)/i,
+ /^(?:actor\b)/i,
+ /^(?:create\b)/i,
+ /^(?:destroy\b)/i,
+ /^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,
+ /^(?:as\b)/i,
+ /^(?:(?:))/i,
+ /^(?:loop\b)/i,
+ /^(?:rect\b)/i,
+ /^(?:opt\b)/i,
+ /^(?:alt\b)/i,
+ /^(?:else\b)/i,
+ /^(?:par\b)/i,
+ /^(?:par_over\b)/i,
+ /^(?:and\b)/i,
+ /^(?:critical\b)/i,
+ /^(?:option\b)/i,
+ /^(?:break\b)/i,
+ /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,
+ /^(?:end\b)/i,
+ /^(?:left of\b)/i,
+ /^(?:right of\b)/i,
+ /^(?:links\b)/i,
+ /^(?:link\b)/i,
+ /^(?:properties\b)/i,
+ /^(?:details\b)/i,
+ /^(?:over\b)/i,
+ /^(?:note\b)/i,
+ /^(?:activate\b)/i,
+ /^(?:deactivate\b)/i,
+ /^(?:title\s[^#\n;]+)/i,
+ /^(?:title:\s[^#\n;]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:sequenceDiagram\b)/i,
+ /^(?:autonumber\b)/i,
+ /^(?:off\b)/i,
+ /^(?:,)/i,
+ /^(?:;)/i,
+ /^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,
+ /^(?:->>)/i,
+ /^(?:<<->>)/i,
+ /^(?:-->>)/i,
+ /^(?:<<-->>)/i,
+ /^(?:->)/i,
+ /^(?:-->)/i,
+ /^(?:-[x])/i,
+ /^(?:--[x])/i,
+ /^(?:-[\)])/i,
+ /^(?:--[\)])/i,
+ /^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,
+ /^(?:\+)/i,
+ /^(?:-)/i,
+ /^(?:$)/i,
+ /^(?:.)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [45, 46], inclusive: !1 },
+ acc_descr: { rules: [43], inclusive: !1 },
+ acc_title: { rules: [41], inclusive: !1 },
+ ID: { rules: [2, 3, 12], inclusive: !1 },
+ ALIAS: { rules: [2, 3, 13, 14], inclusive: !1 },
+ LINE: { rules: [2, 3, 26], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return H;
+ })();
+ j.lexer = J;
+ function Z() {
+ this.yy = {};
+ }
+ return o(Z, 'Parser'), (Z.prototype = j), (j.Parser = Z), new Z();
+ })();
+ hO.parser = hO;
+ Wue = hO;
+ });
+ function dO(t, e) {
+ if (t.links == null) t.links = e;
+ else for (let r in e) t.links[r] = e[r];
+ }
+ function Zue(t, e) {
+ if (t.properties == null) t.properties = e;
+ else for (let r in e) t.properties[r] = e[r];
+ }
+ function SGe() {
+ Mt.records.currentBox = void 0;
+ }
+ var Mt,
+ aGe,
+ fO,
+ sGe,
+ oGe,
+ pi,
+ lGe,
+ cGe,
+ uGe,
+ hGe,
+ fGe,
+ dGe,
+ pGe,
+ xx,
+ mGe,
+ gGe,
+ yGe,
+ vGe,
+ xGe,
+ Xue,
+ A0,
+ bGe,
+ wGe,
+ TGe,
+ vx,
+ kGe,
+ EGe,
+ jue,
+ Kue,
+ CGe,
+ Que,
+ Jue,
+ AGe,
+ ehe,
+ pO,
+ the = R(() => {
+ 'use strict';
+ _t();
+ ut();
+ Jk();
+ rr();
+ bi();
+ (Mt = new uf(() => ({
+ prevActor: void 0,
+ actors: new Map(),
+ createdActors: new Map(),
+ destroyedActors: new Map(),
+ boxes: [],
+ messages: [],
+ notes: [],
+ sequenceNumbersEnabled: !1,
+ wrapEnabled: void 0,
+ currentBox: void 0,
+ lastCreated: void 0,
+ lastDestroyed: void 0
+ }))),
+ (aGe = o(function (t) {
+ Mt.records.boxes.push({
+ name: t.text,
+ wrap: t.wrap ?? A0(),
+ fill: t.color,
+ actorKeys: []
+ }),
+ (Mt.records.currentBox = Mt.records.boxes.slice(-1)[0]);
+ }, 'addBox')),
+ (fO = o(function (t, e, r, n) {
+ let i = Mt.records.currentBox,
+ a = Mt.records.actors.get(t);
+ if (a) {
+ if (Mt.records.currentBox && a.box && Mt.records.currentBox !== a.box)
+ throw new Error(
+ `A same participant should only be defined in one Box: ${a.name} can't be in '${a.box.name}' and in '${Mt.records.currentBox.name}' at the same time.`
+ );
+ if (((i = a.box ? a.box : Mt.records.currentBox), (a.box = i), a && e === a.name && r == null))
+ return;
+ }
+ if (
+ (r?.text == null && (r = { text: e, type: n }),
+ (n == null || r.text == null) && (r = { text: e, type: n }),
+ Mt.records.actors.set(t, {
+ box: i,
+ name: e,
+ description: r.text,
+ wrap: r.wrap ?? A0(),
+ prevActor: Mt.records.prevActor,
+ links: {},
+ properties: {},
+ actorCnt: null,
+ rectData: null,
+ type: n ?? 'participant'
+ }),
+ Mt.records.prevActor)
+ ) {
+ let s = Mt.records.actors.get(Mt.records.prevActor);
+ s && (s.nextActor = t);
+ }
+ Mt.records.currentBox && Mt.records.currentBox.actorKeys.push(t), (Mt.records.prevActor = t);
+ }, 'addActor')),
+ (sGe = o((t) => {
+ let e,
+ r = 0;
+ if (!t) return 0;
+ for (e = 0; e < Mt.records.messages.length; e++)
+ Mt.records.messages[e].type === vx.ACTIVE_START && Mt.records.messages[e].from === t && r++,
+ Mt.records.messages[e].type === vx.ACTIVE_END && Mt.records.messages[e].from === t && r--;
+ return r;
+ }, 'activationCount')),
+ (oGe = o(function (t, e, r, n) {
+ Mt.records.messages.push({
+ from: t,
+ to: e,
+ message: r.text,
+ wrap: r.wrap ?? A0(),
+ answer: n
+ });
+ }, 'addMessage')),
+ (pi = o(function (t, e, r, n, i = !1) {
+ if (n === vx.ACTIVE_END && sGe(t ?? '') < 1) {
+ let s = new Error('Trying to inactivate an inactive participant (' + t + ')');
+ throw (
+ ((s.hash = {
+ text: '->>-',
+ token: '->>-',
+ line: '1',
+ loc: {
+ first_line: 1,
+ last_line: 1,
+ first_column: 1,
+ last_column: 1
+ },
+ expected: ["'ACTIVE_PARTICIPANT'"]
+ }),
+ s)
+ );
+ }
+ return (
+ Mt.records.messages.push({
+ from: t,
+ to: e,
+ message: r?.text ?? '',
+ wrap: r?.wrap ?? A0(),
+ type: n,
+ activate: i
+ }),
+ !0
+ );
+ }, 'addSignal')),
+ (lGe = o(function () {
+ return Mt.records.boxes.length > 0;
+ }, 'hasAtLeastOneBox')),
+ (cGe = o(function () {
+ return Mt.records.boxes.some((t) => t.name);
+ }, 'hasAtLeastOneBoxWithTitle')),
+ (uGe = o(function () {
+ return Mt.records.messages;
+ }, 'getMessages')),
+ (hGe = o(function () {
+ return Mt.records.boxes;
+ }, 'getBoxes')),
+ (fGe = o(function () {
+ return Mt.records.actors;
+ }, 'getActors')),
+ (dGe = o(function () {
+ return Mt.records.createdActors;
+ }, 'getCreatedActors')),
+ (pGe = o(function () {
+ return Mt.records.destroyedActors;
+ }, 'getDestroyedActors')),
+ (xx = o(function (t) {
+ return Mt.records.actors.get(t);
+ }, 'getActor')),
+ (mGe = o(function () {
+ return [...Mt.records.actors.keys()];
+ }, 'getActorKeys')),
+ (gGe = o(function () {
+ Mt.records.sequenceNumbersEnabled = !0;
+ }, 'enableSequenceNumbers')),
+ (yGe = o(function () {
+ Mt.records.sequenceNumbersEnabled = !1;
+ }, 'disableSequenceNumbers')),
+ (vGe = o(() => Mt.records.sequenceNumbersEnabled, 'showSequenceNumbers')),
+ (xGe = o(function (t) {
+ Mt.records.wrapEnabled = t;
+ }, 'setWrap')),
+ (Xue = o((t) => {
+ if (t === void 0) return {};
+ t = t.trim();
+ let e = /^:?wrap:/.exec(t) !== null ? !0 : /^:?nowrap:/.exec(t) !== null ? !1 : void 0;
+ return {
+ cleanedText: (e === void 0 ? t : t.replace(/^:?(?:no)?wrap:/, '')).trim(),
+ wrap: e
+ };
+ }, 'extractWrap')),
+ (A0 = o(
+ () => (Mt.records.wrapEnabled !== void 0 ? Mt.records.wrapEnabled : de().sequence?.wrap ?? !1),
+ 'autoWrap'
+ )),
+ (bGe = o(function () {
+ Mt.reset(), vr();
+ }, 'clear')),
+ (wGe = o(function (t) {
+ let e = t.trim(),
+ { wrap: r, cleanedText: n } = Xue(e),
+ i = { text: n, wrap: r };
+ return V.debug(`parseMessage: ${JSON.stringify(i)}`), i;
+ }, 'parseMessage')),
+ (TGe = o(function (t) {
+ let e = /^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),
+ r = e?.[1] ? e[1].trim() : 'transparent',
+ n = e?.[2] ? e[2].trim() : void 0;
+ if (window?.CSS) window.CSS.supports('color', r) || ((r = 'transparent'), (n = t.trim()));
+ else {
+ let s = new Option().style;
+ (s.color = r), s.color !== r && ((r = 'transparent'), (n = t.trim()));
+ }
+ let { wrap: i, cleanedText: a } = Xue(n);
+ return { text: a ? qr(a, de()) : void 0, color: r, wrap: i };
+ }, 'parseBoxData')),
+ (vx = {
+ SOLID: 0,
+ DOTTED: 1,
+ NOTE: 2,
+ SOLID_CROSS: 3,
+ DOTTED_CROSS: 4,
+ SOLID_OPEN: 5,
+ DOTTED_OPEN: 6,
+ LOOP_START: 10,
+ LOOP_END: 11,
+ ALT_START: 12,
+ ALT_ELSE: 13,
+ ALT_END: 14,
+ OPT_START: 15,
+ OPT_END: 16,
+ ACTIVE_START: 17,
+ ACTIVE_END: 18,
+ PAR_START: 19,
+ PAR_AND: 20,
+ PAR_END: 21,
+ RECT_START: 22,
+ RECT_END: 23,
+ SOLID_POINT: 24,
+ DOTTED_POINT: 25,
+ AUTONUMBER: 26,
+ CRITICAL_START: 27,
+ CRITICAL_OPTION: 28,
+ CRITICAL_END: 29,
+ BREAK_START: 30,
+ BREAK_END: 31,
+ PAR_OVER_START: 32,
+ BIDIRECTIONAL_SOLID: 33,
+ BIDIRECTIONAL_DOTTED: 34
+ }),
+ (kGe = { FILLED: 0, OPEN: 1 }),
+ (EGe = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }),
+ (jue = o(function (t, e, r) {
+ let n = {
+ actor: t,
+ placement: e,
+ message: r.text,
+ wrap: r.wrap ?? A0()
+ },
+ i = [].concat(t, t);
+ Mt.records.notes.push(n),
+ Mt.records.messages.push({
+ from: i[0],
+ to: i[1],
+ message: r.text,
+ wrap: r.wrap ?? A0(),
+ type: vx.NOTE,
+ placement: e
+ });
+ }, 'addNote')),
+ (Kue = o(function (t, e) {
+ let r = xx(t);
+ try {
+ let n = qr(e.text, de());
+ (n = n.replace(/&/g, '&')), (n = n.replace(/=/g, '='));
+ let i = JSON.parse(n);
+ dO(r, i);
+ } catch (n) {
+ V.error('error while parsing actor link text', n);
+ }
+ }, 'addLinks')),
+ (CGe = o(function (t, e) {
+ let r = xx(t);
+ try {
+ let n = {},
+ i = qr(e.text, de()),
+ a = i.indexOf('@');
+ (i = i.replace(/&/g, '&')), (i = i.replace(/=/g, '='));
+ let s = i.slice(0, a - 1).trim(),
+ l = i.slice(a + 1).trim();
+ (n[s] = l), dO(r, n);
+ } catch (n) {
+ V.error('error while parsing actor link text', n);
+ }
+ }, 'addALink'));
+ o(dO, 'insertLinks');
+ Que = o(function (t, e) {
+ let r = xx(t);
+ try {
+ let n = qr(e.text, de()),
+ i = JSON.parse(n);
+ Zue(r, i);
+ } catch (n) {
+ V.error('error while parsing actor properties text', n);
+ }
+ }, 'addProperties');
+ o(Zue, 'insertProperties');
+ o(SGe, 'boxEnd');
+ (Jue = o(function (t, e) {
+ let r = xx(t),
+ n = document.getElementById(e.text);
+ try {
+ let i = n.innerHTML,
+ a = JSON.parse(i);
+ a.properties && Zue(r, a.properties), a.links && dO(r, a.links);
+ } catch (i) {
+ V.error('error while parsing actor details text', i);
+ }
+ }, 'addDetails')),
+ (AGe = o(function (t, e) {
+ if (t?.properties !== void 0) return t.properties[e];
+ }, 'getActorProperty')),
+ (ehe = o(function (t) {
+ if (Array.isArray(t))
+ t.forEach(function (e) {
+ ehe(e);
+ });
+ else
+ switch (t.type) {
+ case 'sequenceIndex':
+ Mt.records.messages.push({
+ from: void 0,
+ to: void 0,
+ message: {
+ start: t.sequenceIndex,
+ step: t.sequenceIndexStep,
+ visible: t.sequenceVisible
+ },
+ wrap: !1,
+ type: t.signalType
+ });
+ break;
+ case 'addParticipant':
+ fO(t.actor, t.actor, t.description, t.draw);
+ break;
+ case 'createParticipant':
+ if (Mt.records.actors.has(t.actor))
+ throw new Error(
+ "It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior"
+ );
+ (Mt.records.lastCreated = t.actor),
+ fO(t.actor, t.actor, t.description, t.draw),
+ Mt.records.createdActors.set(t.actor, Mt.records.messages.length);
+ break;
+ case 'destroyParticipant':
+ (Mt.records.lastDestroyed = t.actor),
+ Mt.records.destroyedActors.set(t.actor, Mt.records.messages.length);
+ break;
+ case 'activeStart':
+ pi(t.actor, void 0, void 0, t.signalType);
+ break;
+ case 'activeEnd':
+ pi(t.actor, void 0, void 0, t.signalType);
+ break;
+ case 'addNote':
+ jue(t.actor, t.placement, t.text);
+ break;
+ case 'addLinks':
+ Kue(t.actor, t.text);
+ break;
+ case 'addALink':
+ CGe(t.actor, t.text);
+ break;
+ case 'addProperties':
+ Que(t.actor, t.text);
+ break;
+ case 'addDetails':
+ Jue(t.actor, t.text);
+ break;
+ case 'addMessage':
+ if (Mt.records.lastCreated) {
+ if (t.to !== Mt.records.lastCreated)
+ throw new Error(
+ 'The created participant ' +
+ Mt.records.lastCreated.name +
+ ' does not have an associated creating message after its declaration. Please check the sequence diagram.'
+ );
+ Mt.records.lastCreated = void 0;
+ } else if (Mt.records.lastDestroyed) {
+ if (t.to !== Mt.records.lastDestroyed && t.from !== Mt.records.lastDestroyed)
+ throw new Error(
+ 'The destroyed participant ' +
+ Mt.records.lastDestroyed.name +
+ ' does not have an associated destroying message after its declaration. Please check the sequence diagram.'
+ );
+ Mt.records.lastDestroyed = void 0;
+ }
+ pi(t.from, t.to, t.msg, t.signalType, t.activate);
+ break;
+ case 'boxStart':
+ aGe(t.boxData);
+ break;
+ case 'boxEnd':
+ SGe();
+ break;
+ case 'loopStart':
+ pi(void 0, void 0, t.loopText, t.signalType);
+ break;
+ case 'loopEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'rectStart':
+ pi(void 0, void 0, t.color, t.signalType);
+ break;
+ case 'rectEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'optStart':
+ pi(void 0, void 0, t.optText, t.signalType);
+ break;
+ case 'optEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'altStart':
+ pi(void 0, void 0, t.altText, t.signalType);
+ break;
+ case 'else':
+ pi(void 0, void 0, t.altText, t.signalType);
+ break;
+ case 'altEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'setAccTitle':
+ kr(t.text);
+ break;
+ case 'parStart':
+ pi(void 0, void 0, t.parText, t.signalType);
+ break;
+ case 'and':
+ pi(void 0, void 0, t.parText, t.signalType);
+ break;
+ case 'parEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'criticalStart':
+ pi(void 0, void 0, t.criticalText, t.signalType);
+ break;
+ case 'option':
+ pi(void 0, void 0, t.optionText, t.signalType);
+ break;
+ case 'criticalEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'breakStart':
+ pi(void 0, void 0, t.breakText, t.signalType);
+ break;
+ case 'breakEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ }
+ }, 'apply')),
+ (pO = {
+ addActor: fO,
+ addMessage: oGe,
+ addSignal: pi,
+ addLinks: Kue,
+ addDetails: Jue,
+ addProperties: Que,
+ autoWrap: A0,
+ setWrap: xGe,
+ enableSequenceNumbers: gGe,
+ disableSequenceNumbers: yGe,
+ showSequenceNumbers: vGe,
+ getMessages: uGe,
+ getActors: fGe,
+ getCreatedActors: dGe,
+ getDestroyedActors: pGe,
+ getActor: xx,
+ getActorKeys: mGe,
+ getActorProperty: AGe,
+ getAccTitle: Ar,
+ getBoxes: hGe,
+ getDiagramTitle: Xr,
+ setDiagramTitle: nn,
+ getConfig: o(() => de().sequence, 'getConfig'),
+ clear: bGe,
+ parseMessage: wGe,
+ parseBoxData: TGe,
+ LINETYPE: vx,
+ ARROWTYPE: kGe,
+ PLACEMENT: EGe,
+ addNote: jue,
+ setAccTitle: kr,
+ apply: ehe,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ hasAtLeastOneBox: lGe,
+ hasAtLeastOneBoxWithTitle: cGe
+ });
+ });
+ var _Ge,
+ rhe,
+ nhe = R(() => {
+ 'use strict';
+ (_Ge = o(
+ (t) => `.actor {
+ stroke: ${t.actorBorder};
+ fill: ${t.actorBkg};
+ }
+
+ text.actor > tspan {
+ fill: ${t.actorTextColor};
+ stroke: none;
+ }
+
+ .actor-line {
+ stroke: ${t.actorLineColor};
+ }
+
+ .messageLine0 {
+ stroke-width: 1.5;
+ stroke-dasharray: none;
+ stroke: ${t.signalColor};
+ }
+
+ .messageLine1 {
+ stroke-width: 1.5;
+ stroke-dasharray: 2, 2;
+ stroke: ${t.signalColor};
+ }
+
+ #arrowhead path {
+ fill: ${t.signalColor};
+ stroke: ${t.signalColor};
+ }
+
+ .sequenceNumber {
+ fill: ${t.sequenceNumberColor};
+ }
+
+ #sequencenumber {
+ fill: ${t.signalColor};
+ }
+
+ #crosshead path {
+ fill: ${t.signalColor};
+ stroke: ${t.signalColor};
+ }
+
+ .messageText {
+ fill: ${t.signalTextColor};
+ stroke: none;
+ }
+
+ .labelBox {
+ stroke: ${t.labelBoxBorderColor};
+ fill: ${t.labelBoxBkgColor};
+ }
+
+ .labelText, .labelText > tspan {
+ fill: ${t.labelTextColor};
+ stroke: none;
+ }
+
+ .loopText, .loopText > tspan {
+ fill: ${t.loopTextColor};
+ stroke: none;
+ }
+
+ .loopLine {
+ stroke-width: 2px;
+ stroke-dasharray: 2, 2;
+ stroke: ${t.labelBoxBorderColor};
+ fill: ${t.labelBoxBorderColor};
+ }
+
+ .note {
+ //stroke: #decc93;
+ stroke: ${t.noteBorderColor};
+ fill: ${t.noteBkgColor};
+ }
+
+ .noteText, .noteText > tspan {
+ fill: ${t.noteTextColor};
+ stroke: none;
+ }
+
+ .activation0 {
+ fill: ${t.activationBkgColor};
+ stroke: ${t.activationBorderColor};
+ }
+
+ .activation1 {
+ fill: ${t.activationBkgColor};
+ stroke: ${t.activationBorderColor};
+ }
+
+ .activation2 {
+ fill: ${t.activationBkgColor};
+ stroke: ${t.activationBorderColor};
+ }
+
+ .actorPopupMenu {
+ position: absolute;
+ }
+
+ .actorPopupMenuPanel {
+ position: absolute;
+ fill: ${t.actorBkg};
+ box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
+ filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
+}
+ .actor-man line {
+ stroke: ${t.actorBorder};
+ fill: ${t.actorBkg};
+ }
+ .actor-man circle, line {
+ stroke: ${t.actorBorder};
+ fill: ${t.actorBkg};
+ stroke-width: 2px;
+ }
+`,
+ 'getStyles'
+ )),
+ (rhe = _Ge);
+ });
+ var mO,
+ gf,
+ ahe,
+ she,
+ LGe,
+ ihe,
+ gO,
+ DGe,
+ RGe,
+ bx,
+ _0,
+ ohe,
+ Bc,
+ yO,
+ NGe,
+ MGe,
+ IGe,
+ OGe,
+ PGe,
+ BGe,
+ FGe,
+ lhe,
+ zGe,
+ GGe,
+ $Ge,
+ VGe,
+ UGe,
+ HGe,
+ YGe,
+ che,
+ WGe,
+ vO,
+ qGe,
+ si,
+ uhe = R(() => {
+ 'use strict';
+ rr();
+ Qy();
+ xr();
+ mO = Xi(Up(), 1);
+ qs();
+ (gf = 18 * 2),
+ (ahe = 'actor-top'),
+ (she = 'actor-bottom'),
+ (LGe = 'actor-box'),
+ (ihe = 'actor-man'),
+ (gO = o(function (t, e) {
+ return yd(t, e);
+ }, 'drawRect')),
+ (DGe = o(function (t, e, r, n, i) {
+ if (e.links === void 0 || e.links === null || Object.keys(e.links).length === 0)
+ return { height: 0, width: 0 };
+ let a = e.links,
+ s = e.actorCnt,
+ l = e.rectData;
+ var u = 'none';
+ i && (u = 'block !important');
+ let h = t.append('g');
+ h.attr('id', 'actor' + s + '_popup'), h.attr('class', 'actorPopupMenu'), h.attr('display', u);
+ var f = '';
+ l.class !== void 0 && (f = ' ' + l.class);
+ let d = l.width > r ? l.width : r,
+ p = h.append('rect');
+ if (
+ (p.attr('class', 'actorPopupMenuPanel' + f),
+ p.attr('x', l.x),
+ p.attr('y', l.height),
+ p.attr('fill', l.fill),
+ p.attr('stroke', l.stroke),
+ p.attr('width', d),
+ p.attr('height', l.height),
+ p.attr('rx', l.rx),
+ p.attr('ry', l.ry),
+ a != null)
+ ) {
+ var m = 20;
+ for (let v in a) {
+ var g = h.append('a'),
+ y = (0, mO.sanitizeUrl)(a[v]);
+ g.attr('xlink:href', y),
+ g.attr('target', '_blank'),
+ qGe(n)(v, g, l.x + 10, l.height + m, d, 20, { class: 'actor' }, n),
+ (m += 30);
+ }
+ }
+ return p.attr('height', m), { height: l.height + m, width: d };
+ }, 'drawPopup')),
+ (RGe = o(function (t) {
+ return (
+ "var pu = document.getElementById('" +
+ t +
+ "'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"
+ );
+ }, 'popupMenuToggle')),
+ (bx = o(async function (t, e, r = null) {
+ let n = t.append('foreignObject'),
+ i = await yh(e.text, Or()),
+ s = n
+ .append('xhtml:div')
+ .attr('style', 'width: fit-content;')
+ .attr('xmlns', 'http://www.w3.org/1999/xhtml')
+ .html(i)
+ .node()
+ .getBoundingClientRect();
+ if (
+ (n.attr('height', Math.round(s.height)).attr('width', Math.round(s.width)),
+ e.class === 'noteText')
+ ) {
+ let l = t.node().firstChild;
+ l.setAttribute('height', s.height + 2 * e.textMargin);
+ let u = l.getBBox();
+ n.attr('x', Math.round(u.x + u.width / 2 - s.width / 2)).attr(
+ 'y',
+ Math.round(u.y + u.height / 2 - s.height / 2)
+ );
+ } else if (r) {
+ let { startx: l, stopx: u, starty: h } = r;
+ if (l > u) {
+ let f = l;
+ (l = u), (u = f);
+ }
+ n.attr('x', Math.round(l + Math.abs(l - u) / 2 - s.width / 2)),
+ e.class === 'loopText' ? n.attr('y', Math.round(h)) : n.attr('y', Math.round(h - s.height));
+ }
+ return [n];
+ }, 'drawKatex')),
+ (_0 = o(function (t, e) {
+ let r = 0,
+ n = 0,
+ i = e.text.split(We.lineBreakRegex),
+ [a, s] = mc(e.fontSize),
+ l = [],
+ u = 0,
+ h = o(() => e.y, 'yfunc');
+ if (e.valign !== void 0 && e.textMargin !== void 0 && e.textMargin > 0)
+ switch (e.valign) {
+ case 'top':
+ case 'start':
+ h = o(() => Math.round(e.y + e.textMargin), 'yfunc');
+ break;
+ case 'middle':
+ case 'center':
+ h = o(() => Math.round(e.y + (r + n + e.textMargin) / 2), 'yfunc');
+ break;
+ case 'bottom':
+ case 'end':
+ h = o(() => Math.round(e.y + (r + n + 2 * e.textMargin) - e.textMargin), 'yfunc');
+ break;
+ }
+ if (e.anchor !== void 0 && e.textMargin !== void 0 && e.width !== void 0)
+ switch (e.anchor) {
+ case 'left':
+ case 'start':
+ (e.x = Math.round(e.x + e.textMargin)),
+ (e.anchor = 'start'),
+ (e.dominantBaseline = 'middle'),
+ (e.alignmentBaseline = 'middle');
+ break;
+ case 'middle':
+ case 'center':
+ (e.x = Math.round(e.x + e.width / 2)),
+ (e.anchor = 'middle'),
+ (e.dominantBaseline = 'middle'),
+ (e.alignmentBaseline = 'middle');
+ break;
+ case 'right':
+ case 'end':
+ (e.x = Math.round(e.x + e.width - e.textMargin)),
+ (e.anchor = 'end'),
+ (e.dominantBaseline = 'middle'),
+ (e.alignmentBaseline = 'middle');
+ break;
+ }
+ for (let [f, d] of i.entries()) {
+ e.textMargin !== void 0 && e.textMargin === 0 && a !== void 0 && (u = f * a);
+ let p = t.append('text');
+ p.attr('x', e.x),
+ p.attr('y', h()),
+ e.anchor !== void 0 &&
+ p
+ .attr('text-anchor', e.anchor)
+ .attr('dominant-baseline', e.dominantBaseline)
+ .attr('alignment-baseline', e.alignmentBaseline),
+ e.fontFamily !== void 0 && p.style('font-family', e.fontFamily),
+ s !== void 0 && p.style('font-size', s),
+ e.fontWeight !== void 0 && p.style('font-weight', e.fontWeight),
+ e.fill !== void 0 && p.attr('fill', e.fill),
+ e.class !== void 0 && p.attr('class', e.class),
+ e.dy !== void 0 ? p.attr('dy', e.dy) : u !== 0 && p.attr('dy', u);
+ let m = d || K_;
+ if (e.tspan) {
+ let g = p.append('tspan');
+ g.attr('x', e.x), e.fill !== void 0 && g.attr('fill', e.fill), g.text(m);
+ } else p.text(m);
+ e.valign !== void 0 &&
+ e.textMargin !== void 0 &&
+ e.textMargin > 0 &&
+ ((n += (p._groups || p)[0][0].getBBox().height), (r = n)),
+ l.push(p);
+ }
+ return l;
+ }, 'drawText')),
+ (ohe = o(function (t, e) {
+ function r(i, a, s, l, u) {
+ return (
+ i +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ (a + l - u) +
+ ' ' +
+ (i + s - u * 1.2) +
+ ',' +
+ (a + l) +
+ ' ' +
+ i +
+ ',' +
+ (a + l)
+ );
+ }
+ o(r, 'genPoints');
+ let n = t.append('polygon');
+ return (
+ n.attr('points', r(e.x, e.y, e.width, e.height, 7)),
+ n.attr('class', 'labelBox'),
+ (e.y = e.y + e.height / 2),
+ _0(t, e),
+ n
+ );
+ }, 'drawLabel')),
+ (Bc = -1),
+ (yO = o((t, e, r, n) => {
+ t.select &&
+ r.forEach((i) => {
+ let a = e.get(i),
+ s = t.select('#actor' + a.actorCnt);
+ !n.mirrorActors && a.stopy
+ ? s.attr('y2', a.stopy + a.height / 2)
+ : n.mirrorActors && s.attr('y2', a.stopy);
+ });
+ }, 'fixLifeLineHeights')),
+ (NGe = o(function (t, e, r, n) {
+ let i = n ? e.stopy : e.starty,
+ a = e.x + e.width / 2,
+ s = i + 5,
+ l = t.append('g').lower();
+ var u = l;
+ n ||
+ (Bc++,
+ Object.keys(e.links || {}).length &&
+ !r.forceMenus &&
+ u.attr('onclick', RGe(`actor${Bc}_popup`)).attr('cursor', 'pointer'),
+ u
+ .append('line')
+ .attr('id', 'actor' + Bc)
+ .attr('x1', a)
+ .attr('y1', s)
+ .attr('x2', a)
+ .attr('y2', 2e3)
+ .attr('class', 'actor-line 200')
+ .attr('stroke-width', '0.5px')
+ .attr('stroke', '#999')
+ .attr('name', e.name),
+ (u = l.append('g')),
+ (e.actorCnt = Bc),
+ e.links != null && u.attr('id', 'root-' + Bc));
+ let h = wl();
+ var f = 'actor';
+ e.properties?.class ? (f = e.properties.class) : (h.fill = '#eaeaea'),
+ n ? (f += ` ${she}`) : (f += ` ${ahe}`),
+ (h.x = e.x),
+ (h.y = i),
+ (h.width = e.width),
+ (h.height = e.height),
+ (h.class = f),
+ (h.rx = 3),
+ (h.ry = 3),
+ (h.name = e.name);
+ let d = gO(u, h);
+ if (((e.rectData = h), e.properties?.icon)) {
+ let m = e.properties.icon.trim();
+ m.charAt(0) === '@'
+ ? EW(u, h.x + h.width - 20, h.y + 10, m.substr(1))
+ : kW(u, h.x + h.width - 20, h.y + 10, m);
+ }
+ vO(r, Ni(e.description))(
+ e.description,
+ u,
+ h.x,
+ h.y,
+ h.width,
+ h.height,
+ { class: `actor ${LGe}` },
+ r
+ );
+ let p = e.height;
+ if (d.node) {
+ let m = d.node().getBBox();
+ (e.height = m.height), (p = m.height);
+ }
+ return p;
+ }, 'drawActorTypeParticipant')),
+ (MGe = o(function (t, e, r, n) {
+ let i = n ? e.stopy : e.starty,
+ a = e.x + e.width / 2,
+ s = i + 80,
+ l = t.append('g').lower();
+ n ||
+ (Bc++,
+ l
+ .append('line')
+ .attr('id', 'actor' + Bc)
+ .attr('x1', a)
+ .attr('y1', s)
+ .attr('x2', a)
+ .attr('y2', 2e3)
+ .attr('class', 'actor-line 200')
+ .attr('stroke-width', '0.5px')
+ .attr('stroke', '#999')
+ .attr('name', e.name),
+ (e.actorCnt = Bc));
+ let u = t.append('g'),
+ h = ihe;
+ n ? (h += ` ${she}`) : (h += ` ${ahe}`), u.attr('class', h), u.attr('name', e.name);
+ let f = wl();
+ (f.x = e.x),
+ (f.y = i),
+ (f.fill = '#eaeaea'),
+ (f.width = e.width),
+ (f.height = e.height),
+ (f.class = 'actor'),
+ (f.rx = 3),
+ (f.ry = 3),
+ u
+ .append('line')
+ .attr('id', 'actor-man-torso' + Bc)
+ .attr('x1', a)
+ .attr('y1', i + 25)
+ .attr('x2', a)
+ .attr('y2', i + 45),
+ u
+ .append('line')
+ .attr('id', 'actor-man-arms' + Bc)
+ .attr('x1', a - gf / 2)
+ .attr('y1', i + 33)
+ .attr('x2', a + gf / 2)
+ .attr('y2', i + 33),
+ u
+ .append('line')
+ .attr('x1', a - gf / 2)
+ .attr('y1', i + 60)
+ .attr('x2', a)
+ .attr('y2', i + 45),
+ u
+ .append('line')
+ .attr('x1', a)
+ .attr('y1', i + 45)
+ .attr('x2', a + gf / 2 - 2)
+ .attr('y2', i + 60);
+ let d = u.append('circle');
+ d.attr('cx', e.x + e.width / 2),
+ d.attr('cy', i + 10),
+ d.attr('r', 15),
+ d.attr('width', e.width),
+ d.attr('height', e.height);
+ let p = u.node().getBBox();
+ return (
+ (e.height = p.height),
+ vO(r, Ni(e.description))(
+ e.description,
+ u,
+ f.x,
+ f.y + 35,
+ f.width,
+ f.height,
+ { class: `actor ${ihe}` },
+ r
+ ),
+ e.height
+ );
+ }, 'drawActorTypeActor')),
+ (IGe = o(async function (t, e, r, n) {
+ switch (e.type) {
+ case 'actor':
+ return await MGe(t, e, r, n);
+ case 'participant':
+ return await NGe(t, e, r, n);
+ }
+ }, 'drawActor')),
+ (OGe = o(function (t, e, r) {
+ let i = t.append('g');
+ lhe(i, e),
+ e.name &&
+ vO(r)(e.name, i, e.x, e.y + (e.textMaxHeight || 0) / 2, e.width, 0, { class: 'text' }, r),
+ i.lower();
+ }, 'drawBox')),
+ (PGe = o(function (t) {
+ return t.append('g');
+ }, 'anchorElement')),
+ (BGe = o(function (t, e, r, n, i) {
+ let a = wl(),
+ s = e.anchored;
+ (a.x = e.startx),
+ (a.y = e.starty),
+ (a.class = 'activation' + (i % 3)),
+ (a.width = e.stopx - e.startx),
+ (a.height = r - e.starty),
+ gO(s, a);
+ }, 'drawActivation')),
+ (FGe = o(async function (t, e, r, n) {
+ let {
+ boxMargin: i,
+ boxTextMargin: a,
+ labelBoxHeight: s,
+ labelBoxWidth: l,
+ messageFontFamily: u,
+ messageFontSize: h,
+ messageFontWeight: f
+ } = n,
+ d = t.append('g'),
+ p = o(function (y, v, x, b) {
+ return d
+ .append('line')
+ .attr('x1', y)
+ .attr('y1', v)
+ .attr('x2', x)
+ .attr('y2', b)
+ .attr('class', 'loopLine');
+ }, 'drawLoopLine');
+ p(e.startx, e.starty, e.stopx, e.starty),
+ p(e.stopx, e.starty, e.stopx, e.stopy),
+ p(e.startx, e.stopy, e.stopx, e.stopy),
+ p(e.startx, e.starty, e.startx, e.stopy),
+ e.sections !== void 0 &&
+ e.sections.forEach(function (y) {
+ p(e.startx, y.y, e.stopx, y.y).style('stroke-dasharray', '3, 3');
+ });
+ let m = Ky();
+ (m.text = r),
+ (m.x = e.startx),
+ (m.y = e.starty),
+ (m.fontFamily = u),
+ (m.fontSize = h),
+ (m.fontWeight = f),
+ (m.anchor = 'middle'),
+ (m.valign = 'middle'),
+ (m.tspan = !1),
+ (m.width = l || 50),
+ (m.height = s || 20),
+ (m.textMargin = a),
+ (m.class = 'labelText'),
+ ohe(d, m),
+ (m = che()),
+ (m.text = e.title),
+ (m.x = e.startx + l / 2 + (e.stopx - e.startx) / 2),
+ (m.y = e.starty + i + a),
+ (m.anchor = 'middle'),
+ (m.valign = 'middle'),
+ (m.textMargin = a),
+ (m.class = 'loopText'),
+ (m.fontFamily = u),
+ (m.fontSize = h),
+ (m.fontWeight = f),
+ (m.wrap = !0);
+ let g = Ni(m.text) ? await bx(d, m, e) : _0(d, m);
+ if (e.sectionTitles !== void 0) {
+ for (let [y, v] of Object.entries(e.sectionTitles))
+ if (v.message) {
+ (m.text = v.message),
+ (m.x = e.startx + (e.stopx - e.startx) / 2),
+ (m.y = e.sections[y].y + i + a),
+ (m.class = 'loopText'),
+ (m.anchor = 'middle'),
+ (m.valign = 'middle'),
+ (m.tspan = !1),
+ (m.fontFamily = u),
+ (m.fontSize = h),
+ (m.fontWeight = f),
+ (m.wrap = e.wrap),
+ Ni(m.text) ? ((e.starty = e.sections[y].y), await bx(d, m, e)) : _0(d, m);
+ let x = Math.round(
+ g.map((b) => (b._groups || b)[0][0].getBBox().height).reduce((b, w) => b + w)
+ );
+ e.sections[y].height += x - (i + a);
+ }
+ }
+ return (e.height = Math.round(e.stopy - e.starty)), d;
+ }, 'drawLoop')),
+ (lhe = o(function (t, e) {
+ j3(t, e);
+ }, 'drawBackgroundRect')),
+ (zGe = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'database')
+ .attr('fill-rule', 'evenodd')
+ .attr('clip-rule', 'evenodd')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z'
+ );
+ }, 'insertDatabaseIcon')),
+ (GGe = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'computer')
+ .attr('width', '24')
+ .attr('height', '24')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z'
+ );
+ }, 'insertComputerIcon')),
+ ($Ge = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'clock')
+ .attr('width', '24')
+ .attr('height', '24')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z'
+ );
+ }, 'insertClockIcon')),
+ (VGe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'arrowhead')
+ .attr('refX', 7.9)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto-start-reverse')
+ .append('path')
+ .attr('d', 'M -1 0 L 10 5 L 0 10 z');
+ }, 'insertArrowHead')),
+ (UGe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'filled-head')
+ .attr('refX', 15.5)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');
+ }, 'insertArrowFilledHead')),
+ (HGe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'sequencenumber')
+ .attr('refX', 15)
+ .attr('refY', 15)
+ .attr('markerWidth', 60)
+ .attr('markerHeight', 40)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', 15)
+ .attr('cy', 15)
+ .attr('r', 6);
+ }, 'insertSequenceNumber')),
+ (YGe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'crosshead')
+ .attr('markerWidth', 15)
+ .attr('markerHeight', 8)
+ .attr('orient', 'auto')
+ .attr('refX', 4)
+ .attr('refY', 4.5)
+ .append('path')
+ .attr('fill', 'none')
+ .attr('stroke', '#000000')
+ .style('stroke-dasharray', '0, 0')
+ .attr('stroke-width', '1pt')
+ .attr('d', 'M 1,2 L 6,7 M 6,2 L 1,7');
+ }, 'insertArrowCrossHead')),
+ (che = o(function () {
+ return {
+ x: 0,
+ y: 0,
+ fill: void 0,
+ anchor: void 0,
+ style: '#666',
+ width: void 0,
+ height: void 0,
+ textMargin: 0,
+ rx: 0,
+ ry: 0,
+ tspan: !0,
+ valign: void 0
+ };
+ }, 'getTextObj')),
+ (WGe = o(function () {
+ return {
+ x: 0,
+ y: 0,
+ fill: '#EDF2AE',
+ stroke: '#666',
+ width: 100,
+ anchor: 'start',
+ height: 100,
+ rx: 0,
+ ry: 0
+ };
+ }, 'getNoteRect')),
+ (vO = (function () {
+ function t(a, s, l, u, h, f, d) {
+ let p = s
+ .append('text')
+ .attr('x', l + h / 2)
+ .attr('y', u + f / 2 + 5)
+ .style('text-anchor', 'middle')
+ .text(a);
+ i(p, d);
+ }
+ o(t, 'byText');
+ function e(a, s, l, u, h, f, d, p) {
+ let { actorFontSize: m, actorFontFamily: g, actorFontWeight: y } = p,
+ [v, x] = mc(m),
+ b = a.split(We.lineBreakRegex);
+ for (let w = 0; w < b.length; w++) {
+ let S = w * v - (v * (b.length - 1)) / 2,
+ T = s
+ .append('text')
+ .attr('x', l + h / 2)
+ .attr('y', u)
+ .style('text-anchor', 'middle')
+ .style('font-size', x)
+ .style('font-weight', y)
+ .style('font-family', g);
+ T.append('tspan')
+ .attr('x', l + h / 2)
+ .attr('dy', S)
+ .text(b[w]),
+ T.attr('y', u + f / 2)
+ .attr('dominant-baseline', 'central')
+ .attr('alignment-baseline', 'central'),
+ i(T, d);
+ }
+ }
+ o(e, 'byTspan');
+ function r(a, s, l, u, h, f, d, p) {
+ let m = s.append('switch'),
+ y = m
+ .append('foreignObject')
+ .attr('x', l)
+ .attr('y', u)
+ .attr('width', h)
+ .attr('height', f)
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ y
+ .append('div')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(a),
+ e(a, m, l, u, h, f, d, p),
+ i(y, d);
+ }
+ o(r, 'byFo');
+ async function n(a, s, l, u, h, f, d, p) {
+ let m = await Zf(a, Or()),
+ g = s.append('switch'),
+ v = g
+ .append('foreignObject')
+ .attr('x', l + h / 2 - m.width / 2)
+ .attr('y', u + f / 2 - m.height / 2)
+ .attr('width', m.width)
+ .attr('height', m.height)
+ .append('xhtml:div')
+ .style('height', '100%')
+ .style('width', '100%');
+ v
+ .append('div')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .html(await yh(a, Or())),
+ e(a, g, l, u, h, f, d, p),
+ i(v, d);
+ }
+ o(n, 'byKatex');
+ function i(a, s) {
+ for (let l in s) s.hasOwnProperty(l) && a.attr(l, s[l]);
+ }
+ return (
+ o(i, '_setTextAttrs'),
+ function (a, s = !1) {
+ return s ? n : a.textPlacement === 'fo' ? r : a.textPlacement === 'old' ? t : e;
+ }
+ );
+ })()),
+ (qGe = (function () {
+ function t(i, a, s, l, u, h, f) {
+ let d = a.append('text').attr('x', s).attr('y', l).style('text-anchor', 'start').text(i);
+ n(d, f);
+ }
+ o(t, 'byText');
+ function e(i, a, s, l, u, h, f, d) {
+ let { actorFontSize: p, actorFontFamily: m, actorFontWeight: g } = d,
+ y = i.split(We.lineBreakRegex);
+ for (let v = 0; v < y.length; v++) {
+ let x = v * p - (p * (y.length - 1)) / 2,
+ b = a
+ .append('text')
+ .attr('x', s)
+ .attr('y', l)
+ .style('text-anchor', 'start')
+ .style('font-size', p)
+ .style('font-weight', g)
+ .style('font-family', m);
+ b.append('tspan').attr('x', s).attr('dy', x).text(y[v]),
+ b
+ .attr('y', l + h / 2)
+ .attr('dominant-baseline', 'central')
+ .attr('alignment-baseline', 'central'),
+ n(b, f);
+ }
+ }
+ o(e, 'byTspan');
+ function r(i, a, s, l, u, h, f, d) {
+ let p = a.append('switch'),
+ g = p
+ .append('foreignObject')
+ .attr('x', s)
+ .attr('y', l)
+ .attr('width', u)
+ .attr('height', h)
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ g
+ .append('div')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(i),
+ e(i, p, s, l, u, h, f, d),
+ n(g, f);
+ }
+ o(r, 'byFo');
+ function n(i, a) {
+ for (let s in a) a.hasOwnProperty(s) && i.attr(s, a[s]);
+ }
+ return (
+ o(n, '_setTextAttrs'),
+ function (i) {
+ return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e;
+ }
+ );
+ })()),
+ (si = {
+ drawRect: gO,
+ drawText: _0,
+ drawLabel: ohe,
+ drawActor: IGe,
+ drawBox: OGe,
+ drawPopup: DGe,
+ anchorElement: PGe,
+ drawActivation: BGe,
+ drawLoop: FGe,
+ drawBackgroundRect: lhe,
+ insertArrowHead: VGe,
+ insertArrowFilledHead: UGe,
+ insertSequenceNumber: HGe,
+ insertArrowCrossHead: YGe,
+ insertDatabaseIcon: zGe,
+ insertComputerIcon: GGe,
+ insertClockIcon: $Ge,
+ getTextObj: che,
+ getNoteRect: WGe,
+ fixLifeLineHeights: yO,
+ sanitizeUrl: mO.sanitizeUrl
+ });
+ });
+ async function jGe(t, e) {
+ Ke.bumpVerticalPos(10);
+ let { startx: r, stopx: n, message: i } = e,
+ a = We.splitBreaks(i).length,
+ s = Ni(i),
+ l = s ? await Zf(i, de()) : Lt.calculateTextDimensions(i, L0(Ne));
+ if (!s) {
+ let d = l.height / a;
+ (e.height += d), Ke.bumpVerticalPos(d);
+ }
+ let u,
+ h = l.height - 10,
+ f = l.width;
+ if (r === n) {
+ (u = Ke.getVerticalPos() + h),
+ Ne.rightAngles || ((h += Ne.boxMargin), (u = Ke.getVerticalPos() + h)),
+ (h += 30);
+ let d = We.getMax(f / 2, Ne.width / 2);
+ Ke.insert(r - d, Ke.getVerticalPos() - 10 + h, n + d, Ke.getVerticalPos() + 30 + h);
+ } else (h += Ne.boxMargin), (u = Ke.getVerticalPos() + h), Ke.insert(r, u - 10, n, u);
+ return (
+ Ke.bumpVerticalPos(h),
+ (e.height += h),
+ (e.stopy = e.starty + e.height),
+ Ke.insert(e.fromBounds, e.starty, e.toBounds, e.stopy),
+ u
+ );
+ }
+ function Fc(t, e, r, n, i) {
+ Ke.bumpVerticalPos(r);
+ let a = n;
+ if (e.id && e.message && t[e.id]) {
+ let s = t[e.id].width,
+ l = L0(Ne);
+ (e.message = Lt.wrapLabel(`[${e.message}]`, s - 2 * Ne.wrapPadding, l)), (e.width = s), (e.wrap = !0);
+ let u = Lt.calculateTextDimensions(e.message, l),
+ h = We.getMax(u.height, Ne.labelBoxHeight);
+ (a = n + h), V.debug(`${h} - ${e.message}`);
+ }
+ i(e), Ke.bumpVerticalPos(a);
+ }
+ function ZGe(t, e, r, n, i, a, s) {
+ function l(h, f) {
+ h.x < i.get(t.from).x
+ ? (Ke.insert(e.stopx - f, e.starty, e.startx, e.stopy + h.height / 2 + Ne.noteMargin),
+ (e.stopx = e.stopx + f))
+ : (Ke.insert(e.startx, e.starty, e.stopx + f, e.stopy + h.height / 2 + Ne.noteMargin),
+ (e.stopx = e.stopx - f));
+ }
+ o(l, 'receiverAdjustment');
+ function u(h, f) {
+ h.x < i.get(t.to).x
+ ? (Ke.insert(e.startx - f, e.starty, e.stopx, e.stopy + h.height / 2 + Ne.noteMargin),
+ (e.startx = e.startx + f))
+ : (Ke.insert(e.stopx, e.starty, e.startx + f, e.stopy + h.height / 2 + Ne.noteMargin),
+ (e.startx = e.startx - f));
+ }
+ if ((o(u, 'senderAdjustment'), a.get(t.to) == n)) {
+ let h = i.get(t.to),
+ f = h.type == 'actor' ? gf / 2 + 3 : h.width / 2 + 3;
+ l(h, f), (h.starty = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2);
+ } else if (s.get(t.from) == n) {
+ let h = i.get(t.from);
+ if (Ne.mirrorActors) {
+ let f = h.type == 'actor' ? gf / 2 : h.width / 2;
+ u(h, f);
+ }
+ (h.stopy = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2);
+ } else if (s.get(t.to) == n) {
+ let h = i.get(t.to);
+ if (Ne.mirrorActors) {
+ let f = h.type == 'actor' ? gf / 2 + 3 : h.width / 2 + 3;
+ l(h, f);
+ }
+ (h.stopy = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2);
+ }
+ }
+ async function e$e(t, e, r) {
+ let n = {};
+ for (let i of e)
+ if (t.get(i.to) && t.get(i.from)) {
+ let a = t.get(i.to);
+ if (
+ (i.placement === r.db.PLACEMENT.LEFTOF && !a.prevActor) ||
+ (i.placement === r.db.PLACEMENT.RIGHTOF && !a.nextActor)
+ )
+ continue;
+ let s = i.placement !== void 0,
+ l = !s,
+ u = s ? Pg(Ne) : L0(Ne),
+ h = i.wrap ? Lt.wrapLabel(i.message, Ne.width - 2 * Ne.wrapPadding, u) : i.message,
+ d =
+ (Ni(h) ? await Zf(i.message, de()) : Lt.calculateTextDimensions(h, u)).width +
+ 2 * Ne.wrapPadding;
+ l && i.from === a.nextActor
+ ? (n[i.to] = We.getMax(n[i.to] || 0, d))
+ : l && i.from === a.prevActor
+ ? (n[i.from] = We.getMax(n[i.from] || 0, d))
+ : l && i.from === i.to
+ ? ((n[i.from] = We.getMax(n[i.from] || 0, d / 2)), (n[i.to] = We.getMax(n[i.to] || 0, d / 2)))
+ : i.placement === r.db.PLACEMENT.RIGHTOF
+ ? (n[i.from] = We.getMax(n[i.from] || 0, d))
+ : i.placement === r.db.PLACEMENT.LEFTOF
+ ? (n[a.prevActor] = We.getMax(n[a.prevActor] || 0, d))
+ : i.placement === r.db.PLACEMENT.OVER &&
+ (a.prevActor && (n[a.prevActor] = We.getMax(n[a.prevActor] || 0, d / 2)),
+ a.nextActor && (n[i.from] = We.getMax(n[i.from] || 0, d / 2)));
+ }
+ return V.debug('maxMessageWidthPerActor:', n), n;
+ }
+ async function r$e(t, e, r) {
+ let n = 0;
+ for (let a of t.keys()) {
+ let s = t.get(a);
+ s.wrap && (s.description = Lt.wrapLabel(s.description, Ne.width - 2 * Ne.wrapPadding, xO(Ne)));
+ let l = Ni(s.description)
+ ? await Zf(s.description, de())
+ : Lt.calculateTextDimensions(s.description, xO(Ne));
+ (s.width = s.wrap ? Ne.width : We.getMax(Ne.width, l.width + 2 * Ne.wrapPadding)),
+ (s.height = s.wrap ? We.getMax(l.height, Ne.height) : Ne.height),
+ (n = We.getMax(n, s.height));
+ }
+ for (let a in e) {
+ let s = t.get(a);
+ if (!s) continue;
+ let l = t.get(s.nextActor);
+ if (!l) {
+ let d = e[a] + Ne.actorMargin - s.width / 2;
+ s.margin = We.getMax(d, Ne.actorMargin);
+ continue;
+ }
+ let h = e[a] + Ne.actorMargin - s.width / 2 - l.width / 2;
+ s.margin = We.getMax(h, Ne.actorMargin);
+ }
+ let i = 0;
+ return (
+ r.forEach((a) => {
+ let s = L0(Ne),
+ l = a.actorKeys.reduce((f, d) => (f += t.get(d).width + (t.get(d).margin || 0)), 0);
+ (l -= 2 * Ne.boxTextMargin), a.wrap && (a.name = Lt.wrapLabel(a.name, l - 2 * Ne.wrapPadding, s));
+ let u = Lt.calculateTextDimensions(a.name, s);
+ i = We.getMax(u.height, i);
+ let h = We.getMax(l, u.width + 2 * Ne.wrapPadding);
+ if (((a.margin = Ne.boxTextMargin), l < h)) {
+ let f = (h - l) / 2;
+ a.margin += f;
+ }
+ }),
+ r.forEach((a) => (a.textMaxHeight = i)),
+ We.getMax(n, Ne.height)
+ );
+ }
+ var Ne,
+ Ke,
+ XGe,
+ L0,
+ Pg,
+ xO,
+ KGe,
+ QGe,
+ bO,
+ fhe,
+ dhe,
+ bE,
+ hhe,
+ JGe,
+ t$e,
+ n$e,
+ i$e,
+ a$e,
+ phe,
+ mhe = R(() => {
+ 'use strict';
+ Zt();
+ uhe();
+ ut();
+ rr();
+ Qy();
+ _t();
+ cp();
+ xr();
+ Yn();
+ (Ne = {}),
+ (Ke = {
+ data: {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0
+ },
+ verticalPos: 0,
+ sequenceItems: [],
+ activations: [],
+ models: {
+ getHeight: o(function () {
+ return (
+ Math.max.apply(
+ null,
+ this.actors.length === 0 ? [0] : this.actors.map((t) => t.height || 0)
+ ) +
+ (this.loops.length === 0
+ ? 0
+ : this.loops.map((t) => t.height || 0).reduce((t, e) => t + e)) +
+ (this.messages.length === 0
+ ? 0
+ : this.messages.map((t) => t.height || 0).reduce((t, e) => t + e)) +
+ (this.notes.length === 0
+ ? 0
+ : this.notes.map((t) => t.height || 0).reduce((t, e) => t + e))
+ );
+ }, 'getHeight'),
+ clear: o(function () {
+ (this.actors = []),
+ (this.boxes = []),
+ (this.loops = []),
+ (this.messages = []),
+ (this.notes = []);
+ }, 'clear'),
+ addBox: o(function (t) {
+ this.boxes.push(t);
+ }, 'addBox'),
+ addActor: o(function (t) {
+ this.actors.push(t);
+ }, 'addActor'),
+ addLoop: o(function (t) {
+ this.loops.push(t);
+ }, 'addLoop'),
+ addMessage: o(function (t) {
+ this.messages.push(t);
+ }, 'addMessage'),
+ addNote: o(function (t) {
+ this.notes.push(t);
+ }, 'addNote'),
+ lastActor: o(function () {
+ return this.actors[this.actors.length - 1];
+ }, 'lastActor'),
+ lastLoop: o(function () {
+ return this.loops[this.loops.length - 1];
+ }, 'lastLoop'),
+ lastMessage: o(function () {
+ return this.messages[this.messages.length - 1];
+ }, 'lastMessage'),
+ lastNote: o(function () {
+ return this.notes[this.notes.length - 1];
+ }, 'lastNote'),
+ actors: [],
+ boxes: [],
+ loops: [],
+ messages: [],
+ notes: []
+ },
+ init: o(function () {
+ (this.sequenceItems = []),
+ (this.activations = []),
+ this.models.clear(),
+ (this.data = {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0
+ }),
+ (this.verticalPos = 0),
+ dhe(de());
+ }, 'init'),
+ updateVal: o(function (t, e, r, n) {
+ t[e] === void 0 ? (t[e] = r) : (t[e] = n(r, t[e]));
+ }, 'updateVal'),
+ updateBounds: o(function (t, e, r, n) {
+ let i = this,
+ a = 0;
+ function s(l) {
+ return o(function (h) {
+ a++;
+ let f = i.sequenceItems.length - a + 1;
+ i.updateVal(h, 'starty', e - f * Ne.boxMargin, Math.min),
+ i.updateVal(h, 'stopy', n + f * Ne.boxMargin, Math.max),
+ i.updateVal(Ke.data, 'startx', t - f * Ne.boxMargin, Math.min),
+ i.updateVal(Ke.data, 'stopx', r + f * Ne.boxMargin, Math.max),
+ l !== 'activation' &&
+ (i.updateVal(h, 'startx', t - f * Ne.boxMargin, Math.min),
+ i.updateVal(h, 'stopx', r + f * Ne.boxMargin, Math.max),
+ i.updateVal(Ke.data, 'starty', e - f * Ne.boxMargin, Math.min),
+ i.updateVal(Ke.data, 'stopy', n + f * Ne.boxMargin, Math.max));
+ }, 'updateItemBounds');
+ }
+ o(s, 'updateFn'), this.sequenceItems.forEach(s()), this.activations.forEach(s('activation'));
+ }, 'updateBounds'),
+ insert: o(function (t, e, r, n) {
+ let i = We.getMin(t, r),
+ a = We.getMax(t, r),
+ s = We.getMin(e, n),
+ l = We.getMax(e, n);
+ this.updateVal(Ke.data, 'startx', i, Math.min),
+ this.updateVal(Ke.data, 'starty', s, Math.min),
+ this.updateVal(Ke.data, 'stopx', a, Math.max),
+ this.updateVal(Ke.data, 'stopy', l, Math.max),
+ this.updateBounds(i, s, a, l);
+ }, 'insert'),
+ newActivation: o(function (t, e, r) {
+ let n = r.get(t.from),
+ i = bE(t.from).length || 0,
+ a = n.x + n.width / 2 + ((i - 1) * Ne.activationWidth) / 2;
+ this.activations.push({
+ startx: a,
+ starty: this.verticalPos + 2,
+ stopx: a + Ne.activationWidth,
+ stopy: void 0,
+ actor: t.from,
+ anchored: si.anchorElement(e)
+ });
+ }, 'newActivation'),
+ endActivation: o(function (t) {
+ let e = this.activations
+ .map(function (r) {
+ return r.actor;
+ })
+ .lastIndexOf(t.from);
+ return this.activations.splice(e, 1)[0];
+ }, 'endActivation'),
+ createLoop: o(function (t = { message: void 0, wrap: !1, width: void 0 }, e) {
+ return {
+ startx: void 0,
+ starty: this.verticalPos,
+ stopx: void 0,
+ stopy: void 0,
+ title: t.message,
+ wrap: t.wrap,
+ width: t.width,
+ height: 0,
+ fill: e
+ };
+ }, 'createLoop'),
+ newLoop: o(function (t = { message: void 0, wrap: !1, width: void 0 }, e) {
+ this.sequenceItems.push(this.createLoop(t, e));
+ }, 'newLoop'),
+ endLoop: o(function () {
+ return this.sequenceItems.pop();
+ }, 'endLoop'),
+ isLoopOverlap: o(function () {
+ return this.sequenceItems.length
+ ? this.sequenceItems[this.sequenceItems.length - 1].overlap
+ : !1;
+ }, 'isLoopOverlap'),
+ addSectionToLoop: o(function (t) {
+ let e = this.sequenceItems.pop();
+ (e.sections = e.sections || []),
+ (e.sectionTitles = e.sectionTitles || []),
+ e.sections.push({ y: Ke.getVerticalPos(), height: 0 }),
+ e.sectionTitles.push(t),
+ this.sequenceItems.push(e);
+ }, 'addSectionToLoop'),
+ saveVerticalPos: o(function () {
+ this.isLoopOverlap() && (this.savedVerticalPos = this.verticalPos);
+ }, 'saveVerticalPos'),
+ resetVerticalPos: o(function () {
+ this.isLoopOverlap() && (this.verticalPos = this.savedVerticalPos);
+ }, 'resetVerticalPos'),
+ bumpVerticalPos: o(function (t) {
+ (this.verticalPos = this.verticalPos + t),
+ (this.data.stopy = We.getMax(this.data.stopy, this.verticalPos));
+ }, 'bumpVerticalPos'),
+ getVerticalPos: o(function () {
+ return this.verticalPos;
+ }, 'getVerticalPos'),
+ getBounds: o(function () {
+ return { bounds: this.data, models: this.models };
+ }, 'getBounds')
+ }),
+ (XGe = o(async function (t, e) {
+ Ke.bumpVerticalPos(Ne.boxMargin), (e.height = Ne.boxMargin), (e.starty = Ke.getVerticalPos());
+ let r = wl();
+ (r.x = e.startx), (r.y = e.starty), (r.width = e.width || Ne.width), (r.class = 'note');
+ let n = t.append('g'),
+ i = si.drawRect(n, r),
+ a = Ky();
+ (a.x = e.startx),
+ (a.y = e.starty),
+ (a.width = r.width),
+ (a.dy = '1em'),
+ (a.text = e.message),
+ (a.class = 'noteText'),
+ (a.fontFamily = Ne.noteFontFamily),
+ (a.fontSize = Ne.noteFontSize),
+ (a.fontWeight = Ne.noteFontWeight),
+ (a.anchor = Ne.noteAlign),
+ (a.textMargin = Ne.noteMargin),
+ (a.valign = 'center');
+ let s = Ni(a.text) ? await bx(n, a) : _0(n, a),
+ l = Math.round(s.map((u) => (u._groups || u)[0][0].getBBox().height).reduce((u, h) => u + h));
+ i.attr('height', l + 2 * Ne.noteMargin),
+ (e.height += l + 2 * Ne.noteMargin),
+ Ke.bumpVerticalPos(l + 2 * Ne.noteMargin),
+ (e.stopy = e.starty + l + 2 * Ne.noteMargin),
+ (e.stopx = e.startx + r.width),
+ Ke.insert(e.startx, e.starty, e.stopx, e.stopy),
+ Ke.models.addNote(e);
+ }, 'drawNote')),
+ (L0 = o(
+ (t) => ({
+ fontFamily: t.messageFontFamily,
+ fontSize: t.messageFontSize,
+ fontWeight: t.messageFontWeight
+ }),
+ 'messageFont'
+ )),
+ (Pg = o(
+ (t) => ({
+ fontFamily: t.noteFontFamily,
+ fontSize: t.noteFontSize,
+ fontWeight: t.noteFontWeight
+ }),
+ 'noteFont'
+ )),
+ (xO = o(
+ (t) => ({
+ fontFamily: t.actorFontFamily,
+ fontSize: t.actorFontSize,
+ fontWeight: t.actorFontWeight
+ }),
+ 'actorFont'
+ ));
+ o(jGe, 'boundMessage');
+ (KGe = o(async function (t, e, r, n) {
+ let { startx: i, stopx: a, starty: s, message: l, type: u, sequenceIndex: h, sequenceVisible: f } = e,
+ d = Lt.calculateTextDimensions(l, L0(Ne)),
+ p = Ky();
+ (p.x = i),
+ (p.y = s + 10),
+ (p.width = a - i),
+ (p.class = 'messageText'),
+ (p.dy = '1em'),
+ (p.text = l),
+ (p.fontFamily = Ne.messageFontFamily),
+ (p.fontSize = Ne.messageFontSize),
+ (p.fontWeight = Ne.messageFontWeight),
+ (p.anchor = Ne.messageAlign),
+ (p.valign = 'center'),
+ (p.textMargin = Ne.wrapPadding),
+ (p.tspan = !1),
+ Ni(p.text) ? await bx(t, p, { startx: i, stopx: a, starty: r }) : _0(t, p);
+ let m = d.width,
+ g;
+ i === a
+ ? Ne.rightAngles
+ ? (g = t
+ .append('path')
+ .attr('d', `M ${i},${r} H ${i + We.getMax(Ne.width / 2, m / 2)} V ${r + 25} H ${i}`))
+ : (g = t
+ .append('path')
+ .attr(
+ 'd',
+ 'M ' +
+ i +
+ ',' +
+ r +
+ ' C ' +
+ (i + 60) +
+ ',' +
+ (r - 10) +
+ ' ' +
+ (i + 60) +
+ ',' +
+ (r + 30) +
+ ' ' +
+ i +
+ ',' +
+ (r + 20)
+ ))
+ : ((g = t.append('line')), g.attr('x1', i), g.attr('y1', r), g.attr('x2', a), g.attr('y2', r)),
+ u === n.db.LINETYPE.DOTTED ||
+ u === n.db.LINETYPE.DOTTED_CROSS ||
+ u === n.db.LINETYPE.DOTTED_POINT ||
+ u === n.db.LINETYPE.DOTTED_OPEN ||
+ u === n.db.LINETYPE.BIDIRECTIONAL_DOTTED
+ ? (g.style('stroke-dasharray', '3, 3'), g.attr('class', 'messageLine1'))
+ : g.attr('class', 'messageLine0');
+ let y = '';
+ Ne.arrowMarkerAbsolute &&
+ ((y =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (y = y.replace(/\(/g, '\\(')),
+ (y = y.replace(/\)/g, '\\)'))),
+ g.attr('stroke-width', 2),
+ g.attr('stroke', 'none'),
+ g.style('fill', 'none'),
+ (u === n.db.LINETYPE.SOLID || u === n.db.LINETYPE.DOTTED) &&
+ g.attr('marker-end', 'url(' + y + '#arrowhead)'),
+ (u === n.db.LINETYPE.BIDIRECTIONAL_SOLID || u === n.db.LINETYPE.BIDIRECTIONAL_DOTTED) &&
+ (g.attr('marker-start', 'url(' + y + '#arrowhead)'),
+ g.attr('marker-end', 'url(' + y + '#arrowhead)')),
+ (u === n.db.LINETYPE.SOLID_POINT || u === n.db.LINETYPE.DOTTED_POINT) &&
+ g.attr('marker-end', 'url(' + y + '#filled-head)'),
+ (u === n.db.LINETYPE.SOLID_CROSS || u === n.db.LINETYPE.DOTTED_CROSS) &&
+ g.attr('marker-end', 'url(' + y + '#crosshead)'),
+ (f || Ne.showSequenceNumbers) &&
+ (g.attr('marker-start', 'url(' + y + '#sequencenumber)'),
+ t
+ .append('text')
+ .attr('x', i)
+ .attr('y', r + 4)
+ .attr('font-family', 'sans-serif')
+ .attr('font-size', '12px')
+ .attr('text-anchor', 'middle')
+ .attr('class', 'sequenceNumber')
+ .text(h));
+ }, 'drawMessage')),
+ (QGe = o(function (t, e, r, n, i, a, s) {
+ let l = 0,
+ u = 0,
+ h,
+ f = 0;
+ for (let d of n) {
+ let p = e.get(d),
+ m = p.box;
+ h && h != m && (s || Ke.models.addBox(h), (u += Ne.boxMargin + h.margin)),
+ m && m != h && (s || ((m.x = l + u), (m.y = i)), (u += m.margin)),
+ (p.width = p.width || Ne.width),
+ (p.height = We.getMax(p.height || Ne.height, Ne.height)),
+ (p.margin = p.margin || Ne.actorMargin),
+ (f = We.getMax(f, p.height)),
+ r.get(p.name) && (u += p.width / 2),
+ (p.x = l + u),
+ (p.starty = Ke.getVerticalPos()),
+ Ke.insert(p.x, i, p.x + p.width, p.height),
+ (l += p.width + u),
+ p.box && (p.box.width = l + m.margin - p.box.x),
+ (u = p.margin),
+ (h = p.box),
+ Ke.models.addActor(p);
+ }
+ h && !s && Ke.models.addBox(h), Ke.bumpVerticalPos(f);
+ }, 'addActorRenderingData')),
+ (bO = o(async function (t, e, r, n) {
+ if (n) {
+ let i = 0;
+ Ke.bumpVerticalPos(Ne.boxMargin * 2);
+ for (let a of r) {
+ let s = e.get(a);
+ s.stopy || (s.stopy = Ke.getVerticalPos());
+ let l = await si.drawActor(t, s, Ne, !0);
+ i = We.getMax(i, l);
+ }
+ Ke.bumpVerticalPos(i + Ne.boxMargin);
+ } else
+ for (let i of r) {
+ let a = e.get(i);
+ await si.drawActor(t, a, Ne, !1);
+ }
+ }, 'drawActors')),
+ (fhe = o(function (t, e, r, n) {
+ let i = 0,
+ a = 0;
+ for (let s of r) {
+ let l = e.get(s),
+ u = t$e(l),
+ h = si.drawPopup(t, l, u, Ne, Ne.forceMenus, n);
+ h.height > i && (i = h.height), h.width + l.x > a && (a = h.width + l.x);
+ }
+ return { maxHeight: i, maxWidth: a };
+ }, 'drawActorsPopup')),
+ (dhe = o(function (t) {
+ On(Ne, t),
+ t.fontFamily && (Ne.actorFontFamily = Ne.noteFontFamily = Ne.messageFontFamily = t.fontFamily),
+ t.fontSize && (Ne.actorFontSize = Ne.noteFontSize = Ne.messageFontSize = t.fontSize),
+ t.fontWeight && (Ne.actorFontWeight = Ne.noteFontWeight = Ne.messageFontWeight = t.fontWeight);
+ }, 'setConf')),
+ (bE = o(function (t) {
+ return Ke.activations.filter(function (e) {
+ return e.actor === t;
+ });
+ }, 'actorActivations')),
+ (hhe = o(function (t, e) {
+ let r = e.get(t),
+ n = bE(t),
+ i = n.reduce(function (s, l) {
+ return We.getMin(s, l.startx);
+ }, r.x + r.width / 2 - 1),
+ a = n.reduce(function (s, l) {
+ return We.getMax(s, l.stopx);
+ }, r.x + r.width / 2 + 1);
+ return [i, a];
+ }, 'activationBounds'));
+ o(Fc, 'adjustLoopHeightForWrap');
+ o(ZGe, 'adjustCreatedDestroyedData');
+ JGe = o(async function (t, e, r, n) {
+ let { securityLevel: i, sequence: a } = de();
+ Ne = a;
+ let s;
+ i === 'sandbox' && (s = $e('#i' + e));
+ let l = i === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'),
+ u = i === 'sandbox' ? s.nodes()[0].contentDocument : document;
+ Ke.init(), V.debug(n.db);
+ let h = i === 'sandbox' ? l.select(`[id="${e}"]`) : $e(`[id="${e}"]`),
+ f = n.db.getActors(),
+ d = n.db.getCreatedActors(),
+ p = n.db.getDestroyedActors(),
+ m = n.db.getBoxes(),
+ g = n.db.getActorKeys(),
+ y = n.db.getMessages(),
+ v = n.db.getDiagramTitle(),
+ x = n.db.hasAtLeastOneBox(),
+ b = n.db.hasAtLeastOneBoxWithTitle(),
+ w = await e$e(f, y, n);
+ if (
+ ((Ne.height = await r$e(f, w, m)),
+ si.insertComputerIcon(h),
+ si.insertDatabaseIcon(h),
+ si.insertClockIcon(h),
+ x && (Ke.bumpVerticalPos(Ne.boxMargin), b && Ke.bumpVerticalPos(m[0].textMaxHeight)),
+ Ne.hideUnusedParticipants === !0)
+ ) {
+ let F = new Set();
+ y.forEach((B) => {
+ F.add(B.from), F.add(B.to);
+ }),
+ (g = g.filter((B) => F.has(B)));
+ }
+ QGe(h, f, d, g, 0, y, !1);
+ let S = await a$e(y, f, w, n);
+ si.insertArrowHead(h),
+ si.insertArrowCrossHead(h),
+ si.insertArrowFilledHead(h),
+ si.insertSequenceNumber(h);
+ function T(F, B) {
+ let $ = Ke.endActivation(F);
+ $.starty + 18 > B && (($.starty = B - 6), (B += 12)),
+ si.drawActivation(h, $, B, Ne, bE(F.from).length),
+ Ke.insert($.startx, B - 10, $.stopx, B);
+ }
+ o(T, 'activeEnd');
+ let E = 1,
+ _ = 1,
+ A = [],
+ L = [],
+ M = 0;
+ for (let F of y) {
+ let B, $, z;
+ switch (F.type) {
+ case n.db.LINETYPE.NOTE:
+ Ke.resetVerticalPos(), ($ = F.noteModel), await XGe(h, $);
+ break;
+ case n.db.LINETYPE.ACTIVE_START:
+ Ke.newActivation(F, h, f);
+ break;
+ case n.db.LINETYPE.ACTIVE_END:
+ T(F, Ke.getVerticalPos());
+ break;
+ case n.db.LINETYPE.LOOP_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y));
+ break;
+ case n.db.LINETYPE.LOOP_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'loop', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ case n.db.LINETYPE.RECT_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin, (Y) => Ke.newLoop(void 0, Y.message));
+ break;
+ case n.db.LINETYPE.RECT_END:
+ (B = Ke.endLoop()),
+ L.push(B),
+ Ke.models.addLoop(B),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos());
+ break;
+ case n.db.LINETYPE.OPT_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y));
+ break;
+ case n.db.LINETYPE.OPT_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'opt', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ case n.db.LINETYPE.ALT_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y));
+ break;
+ case n.db.LINETYPE.ALT_ELSE:
+ Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y));
+ break;
+ case n.db.LINETYPE.ALT_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'alt', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ case n.db.LINETYPE.PAR_START:
+ case n.db.LINETYPE.PAR_OVER_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)),
+ Ke.saveVerticalPos();
+ break;
+ case n.db.LINETYPE.PAR_AND:
+ Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y));
+ break;
+ case n.db.LINETYPE.PAR_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'par', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ case n.db.LINETYPE.AUTONUMBER:
+ (E = F.message.start || E),
+ (_ = F.message.step || _),
+ F.message.visible ? n.db.enableSequenceNumbers() : n.db.disableSequenceNumbers();
+ break;
+ case n.db.LINETYPE.CRITICAL_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y));
+ break;
+ case n.db.LINETYPE.CRITICAL_OPTION:
+ Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y));
+ break;
+ case n.db.LINETYPE.CRITICAL_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'critical', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ case n.db.LINETYPE.BREAK_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y));
+ break;
+ case n.db.LINETYPE.BREAK_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'break', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ default:
+ try {
+ (z = F.msgModel),
+ (z.starty = Ke.getVerticalPos()),
+ (z.sequenceIndex = E),
+ (z.sequenceVisible = n.db.showSequenceNumbers());
+ let Y = await jGe(h, z);
+ ZGe(F, z, Y, M, f, d, p),
+ A.push({ messageModel: z, lineStartY: Y }),
+ Ke.models.addMessage(z);
+ } catch (Y) {
+ V.error('error while drawing message', Y);
+ }
+ }
+ [
+ n.db.LINETYPE.SOLID_OPEN,
+ n.db.LINETYPE.DOTTED_OPEN,
+ n.db.LINETYPE.SOLID,
+ n.db.LINETYPE.DOTTED,
+ n.db.LINETYPE.SOLID_CROSS,
+ n.db.LINETYPE.DOTTED_CROSS,
+ n.db.LINETYPE.SOLID_POINT,
+ n.db.LINETYPE.DOTTED_POINT,
+ n.db.LINETYPE.BIDIRECTIONAL_SOLID,
+ n.db.LINETYPE.BIDIRECTIONAL_DOTTED
+ ].includes(F.type) && (E = E + _),
+ M++;
+ }
+ V.debug('createdActors', d), V.debug('destroyedActors', p), await bO(h, f, g, !1);
+ for (let F of A) await KGe(h, F.messageModel, F.lineStartY, n);
+ Ne.mirrorActors && (await bO(h, f, g, !0)),
+ L.forEach((F) => si.drawBackgroundRect(h, F)),
+ yO(h, f, g, Ne);
+ for (let F of Ke.models.boxes)
+ (F.height = Ke.getVerticalPos() - F.y),
+ Ke.insert(F.x, F.y, F.x + F.width, F.height),
+ (F.startx = F.x),
+ (F.starty = F.y),
+ (F.stopx = F.startx + F.width),
+ (F.stopy = F.starty + F.height),
+ (F.stroke = 'rgb(0,0,0, 0.5)'),
+ si.drawBox(h, F, Ne);
+ x && Ke.bumpVerticalPos(Ne.boxMargin);
+ let N = fhe(h, f, g, u),
+ { bounds: k } = Ke.getBounds();
+ k.startx === void 0 && (k.startx = 0),
+ k.starty === void 0 && (k.starty = 0),
+ k.stopx === void 0 && (k.stopx = 0),
+ k.stopy === void 0 && (k.stopy = 0);
+ let I = k.stopy - k.starty;
+ I < N.maxHeight && (I = N.maxHeight);
+ let C = I + 2 * Ne.diagramMarginY;
+ Ne.mirrorActors && (C = C - Ne.boxMargin + Ne.bottomMarginAdj);
+ let O = k.stopx - k.startx;
+ O < N.maxWidth && (O = N.maxWidth);
+ let D = O + 2 * Ne.diagramMarginX;
+ v &&
+ h
+ .append('text')
+ .text(v)
+ .attr('x', (k.stopx - k.startx) / 2 - 2 * Ne.diagramMarginX)
+ .attr('y', -25),
+ Sr(h, C, D, Ne.useMaxWidth);
+ let P = v ? 40 : 0;
+ h.attr(
+ 'viewBox',
+ k.startx - Ne.diagramMarginX + ' -' + (Ne.diagramMarginY + P) + ' ' + D + ' ' + (C + P)
+ ),
+ V.debug('models:', Ke.models);
+ }, 'draw');
+ o(e$e, 'getMaxMessageWidthPerActor');
+ t$e = o(function (t) {
+ let e = 0,
+ r = xO(Ne);
+ for (let n in t.links) {
+ let a = Lt.calculateTextDimensions(n, r).width + 2 * Ne.wrapPadding + 2 * Ne.boxMargin;
+ e < a && (e = a);
+ }
+ return e;
+ }, 'getRequiredPopupWidth');
+ o(r$e, 'calculateActorMargins');
+ (n$e = o(async function (t, e, r) {
+ let n = e.get(t.from),
+ i = e.get(t.to),
+ a = n.x,
+ s = i.x,
+ l = t.wrap && t.message,
+ u = Ni(t.message)
+ ? await Zf(t.message, de())
+ : Lt.calculateTextDimensions(l ? Lt.wrapLabel(t.message, Ne.width, Pg(Ne)) : t.message, Pg(Ne)),
+ h = {
+ width: l ? Ne.width : We.getMax(Ne.width, u.width + 2 * Ne.noteMargin),
+ height: 0,
+ startx: n.x,
+ stopx: 0,
+ starty: 0,
+ stopy: 0,
+ message: t.message
+ };
+ return (
+ t.placement === r.db.PLACEMENT.RIGHTOF
+ ? ((h.width = l
+ ? We.getMax(Ne.width, u.width)
+ : We.getMax(n.width / 2 + i.width / 2, u.width + 2 * Ne.noteMargin)),
+ (h.startx = a + (n.width + Ne.actorMargin) / 2))
+ : t.placement === r.db.PLACEMENT.LEFTOF
+ ? ((h.width = l
+ ? We.getMax(Ne.width, u.width + 2 * Ne.noteMargin)
+ : We.getMax(n.width / 2 + i.width / 2, u.width + 2 * Ne.noteMargin)),
+ (h.startx = a - h.width + (n.width - Ne.actorMargin) / 2))
+ : t.to === t.from
+ ? ((u = Lt.calculateTextDimensions(
+ l ? Lt.wrapLabel(t.message, We.getMax(Ne.width, n.width), Pg(Ne)) : t.message,
+ Pg(Ne)
+ )),
+ (h.width = l
+ ? We.getMax(Ne.width, n.width)
+ : We.getMax(n.width, Ne.width, u.width + 2 * Ne.noteMargin)),
+ (h.startx = a + (n.width - h.width) / 2))
+ : ((h.width = Math.abs(a + n.width / 2 - (s + i.width / 2)) + Ne.actorMargin),
+ (h.startx =
+ a < s ? a + n.width / 2 - Ne.actorMargin / 2 : s + i.width / 2 - Ne.actorMargin / 2)),
+ l && (h.message = Lt.wrapLabel(t.message, h.width - 2 * Ne.wrapPadding, Pg(Ne))),
+ V.debug(`NM:[${h.startx},${h.stopx},${h.starty},${h.stopy}:${h.width},${h.height}=${t.message}]`),
+ h
+ );
+ }, 'buildNoteModel')),
+ (i$e = o(function (t, e, r) {
+ if (
+ ![
+ r.db.LINETYPE.SOLID_OPEN,
+ r.db.LINETYPE.DOTTED_OPEN,
+ r.db.LINETYPE.SOLID,
+ r.db.LINETYPE.DOTTED,
+ r.db.LINETYPE.SOLID_CROSS,
+ r.db.LINETYPE.DOTTED_CROSS,
+ r.db.LINETYPE.SOLID_POINT,
+ r.db.LINETYPE.DOTTED_POINT,
+ r.db.LINETYPE.BIDIRECTIONAL_SOLID,
+ r.db.LINETYPE.BIDIRECTIONAL_DOTTED
+ ].includes(t.type)
+ )
+ return {};
+ let [n, i] = hhe(t.from, e),
+ [a, s] = hhe(t.to, e),
+ l = n <= a,
+ u = l ? i : n,
+ h = l ? a : s,
+ f = Math.abs(a - s) > 2,
+ d = o((y) => (l ? -y : y), 'adjustValue');
+ t.from === t.to
+ ? (h = u)
+ : (t.activate && !f && (h += d(Ne.activationWidth / 2 - 1)),
+ [r.db.LINETYPE.SOLID_OPEN, r.db.LINETYPE.DOTTED_OPEN].includes(t.type) || (h += d(3)),
+ [r.db.LINETYPE.BIDIRECTIONAL_SOLID, r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type) &&
+ (u -= d(3)));
+ let p = [n, i, a, s],
+ m = Math.abs(u - h);
+ t.wrap &&
+ t.message &&
+ (t.message = Lt.wrapLabel(t.message, We.getMax(m + 2 * Ne.wrapPadding, Ne.width), L0(Ne)));
+ let g = Lt.calculateTextDimensions(t.message, L0(Ne));
+ return {
+ width: We.getMax(t.wrap ? 0 : g.width + 2 * Ne.wrapPadding, m + 2 * Ne.wrapPadding, Ne.width),
+ height: 0,
+ startx: u,
+ stopx: h,
+ starty: 0,
+ stopy: 0,
+ message: t.message,
+ type: t.type,
+ wrap: t.wrap,
+ fromBounds: Math.min.apply(null, p),
+ toBounds: Math.max.apply(null, p)
+ };
+ }, 'buildMessageModel')),
+ (a$e = o(async function (t, e, r, n) {
+ let i = {},
+ a = [],
+ s,
+ l,
+ u;
+ for (let h of t) {
+ switch (((h.id = Lt.random({ length: 10 })), h.type)) {
+ case n.db.LINETYPE.LOOP_START:
+ case n.db.LINETYPE.ALT_START:
+ case n.db.LINETYPE.OPT_START:
+ case n.db.LINETYPE.PAR_START:
+ case n.db.LINETYPE.PAR_OVER_START:
+ case n.db.LINETYPE.CRITICAL_START:
+ case n.db.LINETYPE.BREAK_START:
+ a.push({
+ id: h.id,
+ msg: h.message,
+ from: Number.MAX_SAFE_INTEGER,
+ to: Number.MIN_SAFE_INTEGER,
+ width: 0
+ });
+ break;
+ case n.db.LINETYPE.ALT_ELSE:
+ case n.db.LINETYPE.PAR_AND:
+ case n.db.LINETYPE.CRITICAL_OPTION:
+ h.message && ((s = a.pop()), (i[s.id] = s), (i[h.id] = s), a.push(s));
+ break;
+ case n.db.LINETYPE.LOOP_END:
+ case n.db.LINETYPE.ALT_END:
+ case n.db.LINETYPE.OPT_END:
+ case n.db.LINETYPE.PAR_END:
+ case n.db.LINETYPE.CRITICAL_END:
+ case n.db.LINETYPE.BREAK_END:
+ (s = a.pop()), (i[s.id] = s);
+ break;
+ case n.db.LINETYPE.ACTIVE_START:
+ {
+ let d = e.get(h.from ? h.from : h.to.actor),
+ p = bE(h.from ? h.from : h.to.actor).length,
+ m = d.x + d.width / 2 + ((p - 1) * Ne.activationWidth) / 2,
+ g = {
+ startx: m,
+ stopx: m + Ne.activationWidth,
+ actor: h.from,
+ enabled: !0
+ };
+ Ke.activations.push(g);
+ }
+ break;
+ case n.db.LINETYPE.ACTIVE_END:
+ {
+ let d = Ke.activations.map((p) => p.actor).lastIndexOf(h.from);
+ Ke.activations.splice(d, 1).splice(0, 1);
+ }
+ break;
+ }
+ h.placement !== void 0
+ ? ((l = await n$e(h, e, n)),
+ (h.noteModel = l),
+ a.forEach((d) => {
+ (s = d),
+ (s.from = We.getMin(s.from, l.startx)),
+ (s.to = We.getMax(s.to, l.startx + l.width)),
+ (s.width = We.getMax(s.width, Math.abs(s.from - s.to)) - Ne.labelBoxWidth);
+ }))
+ : ((u = i$e(h, e, n)),
+ (h.msgModel = u),
+ u.startx &&
+ u.stopx &&
+ a.length > 0 &&
+ a.forEach((d) => {
+ if (((s = d), u.startx === u.stopx)) {
+ let p = e.get(h.from),
+ m = e.get(h.to);
+ (s.from = We.getMin(p.x - u.width / 2, p.x - p.width / 2, s.from)),
+ (s.to = We.getMax(m.x + u.width / 2, m.x + p.width / 2, s.to)),
+ (s.width =
+ We.getMax(s.width, Math.abs(s.to - s.from)) - Ne.labelBoxWidth);
+ } else
+ (s.from = We.getMin(u.startx, s.from)),
+ (s.to = We.getMax(u.stopx, s.to)),
+ (s.width = We.getMax(s.width, u.width) - Ne.labelBoxWidth);
+ }));
+ }
+ return (Ke.activations = []), V.debug('Loop type widths:', i), i;
+ }, 'calculateLoopBounds')),
+ (phe = {
+ bounds: Ke,
+ drawActors: bO,
+ drawActorsPopup: fhe,
+ setConf: dhe,
+ draw: JGe
+ });
+ });
+ var ghe = {};
+ hr(ghe, { diagram: () => s$e });
+ var s$e,
+ yhe = R(() => {
+ 'use strict';
+ que();
+ the();
+ nhe();
+ mhe();
+ s$e = {
+ parser: Wue,
+ db: pO,
+ renderer: phe,
+ styles: rhe,
+ init: o(({ wrap: t }) => {
+ pO.setWrap(t);
+ }, 'init')
+ };
+ });
+ var wO,
+ wE,
+ TO = R(() => {
+ 'use strict';
+ wO = (function () {
+ var t = o(function (Pe, _e, me, W) {
+ for (me = me || {}, W = Pe.length; W--; me[Pe[W]] = _e);
+ return me;
+ }, 'o'),
+ e = [1, 17],
+ r = [1, 18],
+ n = [1, 19],
+ i = [1, 39],
+ a = [1, 40],
+ s = [1, 25],
+ l = [1, 23],
+ u = [1, 24],
+ h = [1, 31],
+ f = [1, 32],
+ d = [1, 33],
+ p = [1, 34],
+ m = [1, 35],
+ g = [1, 36],
+ y = [1, 26],
+ v = [1, 27],
+ x = [1, 28],
+ b = [1, 29],
+ w = [1, 43],
+ S = [1, 30],
+ T = [1, 42],
+ E = [1, 44],
+ _ = [1, 41],
+ A = [1, 45],
+ L = [1, 9],
+ M = [1, 8, 9],
+ N = [1, 56],
+ k = [1, 57],
+ I = [1, 58],
+ C = [1, 59],
+ O = [1, 60],
+ D = [1, 61],
+ P = [1, 62],
+ F = [1, 8, 9, 39],
+ B = [1, 74],
+ $ = [1, 8, 9, 12, 13, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72],
+ z = [
+ 1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 46, 59, 60, 61, 62, 63, 64, 65, 70, 72, 74, 80, 95, 97, 98
+ ],
+ Y = [13, 74, 80, 95, 97, 98],
+ Q = [13, 64, 65, 74, 80, 95, 97, 98],
+ X = [13, 59, 60, 61, 62, 63, 74, 80, 95, 97, 98],
+ ie = [1, 93],
+ j = [1, 110],
+ J = [1, 108],
+ Z = [1, 102],
+ H = [1, 103],
+ q = [1, 104],
+ K = [1, 105],
+ se = [1, 106],
+ ce = [1, 107],
+ ue = [1, 109],
+ te = [1, 8, 9, 37, 39, 42],
+ De = [1, 8, 9, 21],
+ oe = [1, 8, 9, 78],
+ ke = [1, 8, 9, 21, 73, 74, 78, 80, 81, 82, 83, 84, 85],
+ Ie = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ mermaidDoc: 4,
+ statements: 5,
+ graphConfig: 6,
+ CLASS_DIAGRAM: 7,
+ NEWLINE: 8,
+ EOF: 9,
+ statement: 10,
+ classLabel: 11,
+ SQS: 12,
+ STR: 13,
+ SQE: 14,
+ namespaceName: 15,
+ alphaNumToken: 16,
+ className: 17,
+ classLiteralName: 18,
+ GENERICTYPE: 19,
+ relationStatement: 20,
+ LABEL: 21,
+ namespaceStatement: 22,
+ classStatement: 23,
+ memberStatement: 24,
+ annotationStatement: 25,
+ clickStatement: 26,
+ styleStatement: 27,
+ cssClassStatement: 28,
+ noteStatement: 29,
+ direction: 30,
+ acc_title: 31,
+ acc_title_value: 32,
+ acc_descr: 33,
+ acc_descr_value: 34,
+ acc_descr_multiline_value: 35,
+ namespaceIdentifier: 36,
+ STRUCT_START: 37,
+ classStatements: 38,
+ STRUCT_STOP: 39,
+ NAMESPACE: 40,
+ classIdentifier: 41,
+ STYLE_SEPARATOR: 42,
+ members: 43,
+ CLASS: 44,
+ ANNOTATION_START: 45,
+ ANNOTATION_END: 46,
+ MEMBER: 47,
+ SEPARATOR: 48,
+ relation: 49,
+ NOTE_FOR: 50,
+ noteText: 51,
+ NOTE: 52,
+ direction_tb: 53,
+ direction_bt: 54,
+ direction_rl: 55,
+ direction_lr: 56,
+ relationType: 57,
+ lineType: 58,
+ AGGREGATION: 59,
+ EXTENSION: 60,
+ COMPOSITION: 61,
+ DEPENDENCY: 62,
+ LOLLIPOP: 63,
+ LINE: 64,
+ DOTTED_LINE: 65,
+ CALLBACK: 66,
+ LINK: 67,
+ LINK_TARGET: 68,
+ CLICK: 69,
+ CALLBACK_NAME: 70,
+ CALLBACK_ARGS: 71,
+ HREF: 72,
+ STYLE: 73,
+ ALPHA: 74,
+ stylesOpt: 75,
+ CSSCLASS: 76,
+ style: 77,
+ COMMA: 78,
+ styleComponent: 79,
+ NUM: 80,
+ COLON: 81,
+ UNIT: 82,
+ SPACE: 83,
+ BRKT: 84,
+ PCT: 85,
+ commentToken: 86,
+ textToken: 87,
+ graphCodeTokens: 88,
+ textNoTagsToken: 89,
+ TAGSTART: 90,
+ TAGEND: 91,
+ '==': 92,
+ '--': 93,
+ DEFAULT: 94,
+ MINUS: 95,
+ keywords: 96,
+ UNICODE_TEXT: 97,
+ BQUOTE_STR: 98,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 7: 'CLASS_DIAGRAM',
+ 8: 'NEWLINE',
+ 9: 'EOF',
+ 12: 'SQS',
+ 13: 'STR',
+ 14: 'SQE',
+ 19: 'GENERICTYPE',
+ 21: 'LABEL',
+ 31: 'acc_title',
+ 32: 'acc_title_value',
+ 33: 'acc_descr',
+ 34: 'acc_descr_value',
+ 35: 'acc_descr_multiline_value',
+ 37: 'STRUCT_START',
+ 39: 'STRUCT_STOP',
+ 40: 'NAMESPACE',
+ 42: 'STYLE_SEPARATOR',
+ 44: 'CLASS',
+ 45: 'ANNOTATION_START',
+ 46: 'ANNOTATION_END',
+ 47: 'MEMBER',
+ 48: 'SEPARATOR',
+ 50: 'NOTE_FOR',
+ 52: 'NOTE',
+ 53: 'direction_tb',
+ 54: 'direction_bt',
+ 55: 'direction_rl',
+ 56: 'direction_lr',
+ 59: 'AGGREGATION',
+ 60: 'EXTENSION',
+ 61: 'COMPOSITION',
+ 62: 'DEPENDENCY',
+ 63: 'LOLLIPOP',
+ 64: 'LINE',
+ 65: 'DOTTED_LINE',
+ 66: 'CALLBACK',
+ 67: 'LINK',
+ 68: 'LINK_TARGET',
+ 69: 'CLICK',
+ 70: 'CALLBACK_NAME',
+ 71: 'CALLBACK_ARGS',
+ 72: 'HREF',
+ 73: 'STYLE',
+ 74: 'ALPHA',
+ 76: 'CSSCLASS',
+ 78: 'COMMA',
+ 80: 'NUM',
+ 81: 'COLON',
+ 82: 'UNIT',
+ 83: 'SPACE',
+ 84: 'BRKT',
+ 85: 'PCT',
+ 88: 'graphCodeTokens',
+ 90: 'TAGSTART',
+ 91: 'TAGEND',
+ 92: '==',
+ 93: '--',
+ 94: 'DEFAULT',
+ 95: 'MINUS',
+ 96: 'keywords',
+ 97: 'UNICODE_TEXT',
+ 98: 'BQUOTE_STR'
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 1],
+ [4, 1],
+ [6, 4],
+ [5, 1],
+ [5, 2],
+ [5, 3],
+ [11, 3],
+ [15, 1],
+ [15, 2],
+ [17, 1],
+ [17, 1],
+ [17, 2],
+ [17, 2],
+ [17, 2],
+ [10, 1],
+ [10, 2],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 2],
+ [10, 2],
+ [10, 1],
+ [22, 4],
+ [22, 5],
+ [36, 2],
+ [38, 1],
+ [38, 2],
+ [38, 3],
+ [23, 1],
+ [23, 3],
+ [23, 4],
+ [23, 6],
+ [41, 2],
+ [41, 3],
+ [25, 4],
+ [43, 1],
+ [43, 2],
+ [24, 1],
+ [24, 2],
+ [24, 1],
+ [24, 1],
+ [20, 3],
+ [20, 4],
+ [20, 4],
+ [20, 5],
+ [29, 3],
+ [29, 2],
+ [30, 1],
+ [30, 1],
+ [30, 1],
+ [30, 1],
+ [49, 3],
+ [49, 2],
+ [49, 2],
+ [49, 1],
+ [57, 1],
+ [57, 1],
+ [57, 1],
+ [57, 1],
+ [57, 1],
+ [58, 1],
+ [58, 1],
+ [26, 3],
+ [26, 4],
+ [26, 3],
+ [26, 4],
+ [26, 4],
+ [26, 5],
+ [26, 3],
+ [26, 4],
+ [26, 4],
+ [26, 5],
+ [26, 4],
+ [26, 5],
+ [26, 5],
+ [26, 6],
+ [27, 3],
+ [28, 3],
+ [75, 1],
+ [75, 3],
+ [77, 1],
+ [77, 2],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [86, 1],
+ [86, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [89, 1],
+ [89, 1],
+ [89, 1],
+ [89, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [18, 1],
+ [51, 1]
+ ],
+ performAction: o(function (_e, me, W, fe, ge, re, he) {
+ var ne = re.length - 1;
+ switch (ge) {
+ case 8:
+ this.$ = re[ne - 1];
+ break;
+ case 9:
+ case 11:
+ case 12:
+ this.$ = re[ne];
+ break;
+ case 10:
+ case 13:
+ this.$ = re[ne - 1] + re[ne];
+ break;
+ case 14:
+ case 15:
+ this.$ = re[ne - 1] + '~' + re[ne] + '~';
+ break;
+ case 16:
+ fe.addRelation(re[ne]);
+ break;
+ case 17:
+ (re[ne - 1].title = fe.cleanupLabel(re[ne])), fe.addRelation(re[ne - 1]);
+ break;
+ case 27:
+ (this.$ = re[ne].trim()), fe.setAccTitle(this.$);
+ break;
+ case 28:
+ case 29:
+ (this.$ = re[ne].trim()), fe.setAccDescription(this.$);
+ break;
+ case 30:
+ fe.addClassesToNamespace(re[ne - 3], re[ne - 1]);
+ break;
+ case 31:
+ fe.addClassesToNamespace(re[ne - 4], re[ne - 1]);
+ break;
+ case 32:
+ (this.$ = re[ne]), fe.addNamespace(re[ne]);
+ break;
+ case 33:
+ this.$ = [re[ne]];
+ break;
+ case 34:
+ this.$ = [re[ne - 1]];
+ break;
+ case 35:
+ re[ne].unshift(re[ne - 2]), (this.$ = re[ne]);
+ break;
+ case 37:
+ fe.setCssClass(re[ne - 2], re[ne]);
+ break;
+ case 38:
+ fe.addMembers(re[ne - 3], re[ne - 1]);
+ break;
+ case 39:
+ fe.setCssClass(re[ne - 5], re[ne - 3]), fe.addMembers(re[ne - 5], re[ne - 1]);
+ break;
+ case 40:
+ (this.$ = re[ne]), fe.addClass(re[ne]);
+ break;
+ case 41:
+ (this.$ = re[ne - 1]),
+ fe.addClass(re[ne - 1]),
+ fe.setClassLabel(re[ne - 1], re[ne]);
+ break;
+ case 42:
+ fe.addAnnotation(re[ne], re[ne - 2]);
+ break;
+ case 43:
+ this.$ = [re[ne]];
+ break;
+ case 44:
+ re[ne].push(re[ne - 1]), (this.$ = re[ne]);
+ break;
+ case 45:
+ break;
+ case 46:
+ fe.addMember(re[ne - 1], fe.cleanupLabel(re[ne]));
+ break;
+ case 47:
+ break;
+ case 48:
+ break;
+ case 49:
+ this.$ = {
+ id1: re[ne - 2],
+ id2: re[ne],
+ relation: re[ne - 1],
+ relationTitle1: 'none',
+ relationTitle2: 'none'
+ };
+ break;
+ case 50:
+ this.$ = {
+ id1: re[ne - 3],
+ id2: re[ne],
+ relation: re[ne - 1],
+ relationTitle1: re[ne - 2],
+ relationTitle2: 'none'
+ };
+ break;
+ case 51:
+ this.$ = {
+ id1: re[ne - 3],
+ id2: re[ne],
+ relation: re[ne - 2],
+ relationTitle1: 'none',
+ relationTitle2: re[ne - 1]
+ };
+ break;
+ case 52:
+ this.$ = {
+ id1: re[ne - 4],
+ id2: re[ne],
+ relation: re[ne - 2],
+ relationTitle1: re[ne - 3],
+ relationTitle2: re[ne - 1]
+ };
+ break;
+ case 53:
+ fe.addNote(re[ne], re[ne - 1]);
+ break;
+ case 54:
+ fe.addNote(re[ne]);
+ break;
+ case 55:
+ fe.setDirection('TB');
+ break;
+ case 56:
+ fe.setDirection('BT');
+ break;
+ case 57:
+ fe.setDirection('RL');
+ break;
+ case 58:
+ fe.setDirection('LR');
+ break;
+ case 59:
+ this.$ = {
+ type1: re[ne - 2],
+ type2: re[ne],
+ lineType: re[ne - 1]
+ };
+ break;
+ case 60:
+ this.$ = {
+ type1: 'none',
+ type2: re[ne],
+ lineType: re[ne - 1]
+ };
+ break;
+ case 61:
+ this.$ = {
+ type1: re[ne - 1],
+ type2: 'none',
+ lineType: re[ne]
+ };
+ break;
+ case 62:
+ this.$ = { type1: 'none', type2: 'none', lineType: re[ne] };
+ break;
+ case 63:
+ this.$ = fe.relationType.AGGREGATION;
+ break;
+ case 64:
+ this.$ = fe.relationType.EXTENSION;
+ break;
+ case 65:
+ this.$ = fe.relationType.COMPOSITION;
+ break;
+ case 66:
+ this.$ = fe.relationType.DEPENDENCY;
+ break;
+ case 67:
+ this.$ = fe.relationType.LOLLIPOP;
+ break;
+ case 68:
+ this.$ = fe.lineType.LINE;
+ break;
+ case 69:
+ this.$ = fe.lineType.DOTTED_LINE;
+ break;
+ case 70:
+ case 76:
+ (this.$ = re[ne - 2]), fe.setClickEvent(re[ne - 1], re[ne]);
+ break;
+ case 71:
+ case 77:
+ (this.$ = re[ne - 3]),
+ fe.setClickEvent(re[ne - 2], re[ne - 1]),
+ fe.setTooltip(re[ne - 2], re[ne]);
+ break;
+ case 72:
+ (this.$ = re[ne - 2]), fe.setLink(re[ne - 1], re[ne]);
+ break;
+ case 73:
+ (this.$ = re[ne - 3]), fe.setLink(re[ne - 2], re[ne - 1], re[ne]);
+ break;
+ case 74:
+ (this.$ = re[ne - 3]),
+ fe.setLink(re[ne - 2], re[ne - 1]),
+ fe.setTooltip(re[ne - 2], re[ne]);
+ break;
+ case 75:
+ (this.$ = re[ne - 4]),
+ fe.setLink(re[ne - 3], re[ne - 2], re[ne]),
+ fe.setTooltip(re[ne - 3], re[ne - 1]);
+ break;
+ case 78:
+ (this.$ = re[ne - 3]), fe.setClickEvent(re[ne - 2], re[ne - 1], re[ne]);
+ break;
+ case 79:
+ (this.$ = re[ne - 4]),
+ fe.setClickEvent(re[ne - 3], re[ne - 2], re[ne - 1]),
+ fe.setTooltip(re[ne - 3], re[ne]);
+ break;
+ case 80:
+ (this.$ = re[ne - 3]), fe.setLink(re[ne - 2], re[ne]);
+ break;
+ case 81:
+ (this.$ = re[ne - 4]), fe.setLink(re[ne - 3], re[ne - 1], re[ne]);
+ break;
+ case 82:
+ (this.$ = re[ne - 4]),
+ fe.setLink(re[ne - 3], re[ne - 1]),
+ fe.setTooltip(re[ne - 3], re[ne]);
+ break;
+ case 83:
+ (this.$ = re[ne - 5]),
+ fe.setLink(re[ne - 4], re[ne - 2], re[ne]),
+ fe.setTooltip(re[ne - 4], re[ne - 1]);
+ break;
+ case 84:
+ (this.$ = re[ne - 2]), fe.setCssStyle(re[ne - 1], re[ne]);
+ break;
+ case 85:
+ fe.setCssClass(re[ne - 1], re[ne]);
+ break;
+ case 86:
+ this.$ = [re[ne]];
+ break;
+ case 87:
+ re[ne - 2].push(re[ne]), (this.$ = re[ne - 2]);
+ break;
+ case 89:
+ this.$ = re[ne - 1] + re[ne];
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ {
+ 3: 1,
+ 4: 2,
+ 5: 3,
+ 6: 4,
+ 7: [1, 6],
+ 10: 5,
+ 16: 37,
+ 17: 20,
+ 18: 38,
+ 20: 7,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 27: 13,
+ 28: 14,
+ 29: 15,
+ 30: 16,
+ 31: e,
+ 33: r,
+ 35: n,
+ 36: 21,
+ 40: i,
+ 41: 22,
+ 44: a,
+ 45: s,
+ 47: l,
+ 48: u,
+ 50: h,
+ 52: f,
+ 53: d,
+ 54: p,
+ 55: m,
+ 56: g,
+ 66: y,
+ 67: v,
+ 69: x,
+ 73: b,
+ 74: w,
+ 76: S,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ },
+ { 1: [3] },
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ { 1: [2, 3] },
+ t(L, [2, 5], { 8: [1, 46] }),
+ { 8: [1, 47] },
+ t(M, [2, 16], { 21: [1, 48] }),
+ t(M, [2, 18]),
+ t(M, [2, 19]),
+ t(M, [2, 20]),
+ t(M, [2, 21]),
+ t(M, [2, 22]),
+ t(M, [2, 23]),
+ t(M, [2, 24]),
+ t(M, [2, 25]),
+ t(M, [2, 26]),
+ { 32: [1, 49] },
+ { 34: [1, 50] },
+ t(M, [2, 29]),
+ t(M, [2, 45], {
+ 49: 51,
+ 57: 54,
+ 58: 55,
+ 13: [1, 52],
+ 21: [1, 53],
+ 59: N,
+ 60: k,
+ 61: I,
+ 62: C,
+ 63: O,
+ 64: D,
+ 65: P
+ }),
+ { 37: [1, 63] },
+ t(F, [2, 36], { 37: [1, 65], 42: [1, 64] }),
+ t(M, [2, 47]),
+ t(M, [2, 48]),
+ { 16: 66, 74: w, 80: T, 95: E, 97: _ },
+ { 16: 37, 17: 67, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ { 16: 37, 17: 68, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ { 16: 37, 17: 69, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ { 74: [1, 70] },
+ { 13: [1, 71] },
+ { 16: 37, 17: 72, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ { 13: B, 51: 73 },
+ t(M, [2, 55]),
+ t(M, [2, 56]),
+ t(M, [2, 57]),
+ t(M, [2, 58]),
+ t($, [2, 11], {
+ 16: 37,
+ 18: 38,
+ 17: 75,
+ 19: [1, 76],
+ 74: w,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ }),
+ t($, [2, 12], { 19: [1, 77] }),
+ { 15: 78, 16: 79, 74: w, 80: T, 95: E, 97: _ },
+ { 16: 37, 17: 80, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ t(z, [2, 112]),
+ t(z, [2, 113]),
+ t(z, [2, 114]),
+ t(z, [2, 115]),
+ t([1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72], [2, 116]),
+ t(L, [2, 6], {
+ 10: 5,
+ 20: 7,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 27: 13,
+ 28: 14,
+ 29: 15,
+ 30: 16,
+ 17: 20,
+ 36: 21,
+ 41: 22,
+ 16: 37,
+ 18: 38,
+ 5: 81,
+ 31: e,
+ 33: r,
+ 35: n,
+ 40: i,
+ 44: a,
+ 45: s,
+ 47: l,
+ 48: u,
+ 50: h,
+ 52: f,
+ 53: d,
+ 54: p,
+ 55: m,
+ 56: g,
+ 66: y,
+ 67: v,
+ 69: x,
+ 73: b,
+ 74: w,
+ 76: S,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ }),
+ {
+ 5: 82,
+ 10: 5,
+ 16: 37,
+ 17: 20,
+ 18: 38,
+ 20: 7,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 27: 13,
+ 28: 14,
+ 29: 15,
+ 30: 16,
+ 31: e,
+ 33: r,
+ 35: n,
+ 36: 21,
+ 40: i,
+ 41: 22,
+ 44: a,
+ 45: s,
+ 47: l,
+ 48: u,
+ 50: h,
+ 52: f,
+ 53: d,
+ 54: p,
+ 55: m,
+ 56: g,
+ 66: y,
+ 67: v,
+ 69: x,
+ 73: b,
+ 74: w,
+ 76: S,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ },
+ t(M, [2, 17]),
+ t(M, [2, 27]),
+ t(M, [2, 28]),
+ {
+ 13: [1, 84],
+ 16: 37,
+ 17: 83,
+ 18: 38,
+ 74: w,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ },
+ {
+ 49: 85,
+ 57: 54,
+ 58: 55,
+ 59: N,
+ 60: k,
+ 61: I,
+ 62: C,
+ 63: O,
+ 64: D,
+ 65: P
+ },
+ t(M, [2, 46]),
+ { 58: 86, 64: D, 65: P },
+ t(Y, [2, 62], { 57: 87, 59: N, 60: k, 61: I, 62: C, 63: O }),
+ t(Q, [2, 63]),
+ t(Q, [2, 64]),
+ t(Q, [2, 65]),
+ t(Q, [2, 66]),
+ t(Q, [2, 67]),
+ t(X, [2, 68]),
+ t(X, [2, 69]),
+ { 8: [1, 89], 23: 90, 38: 88, 41: 22, 44: a },
+ { 16: 91, 74: w, 80: T, 95: E, 97: _ },
+ { 43: 92, 47: ie },
+ { 46: [1, 94] },
+ { 13: [1, 95] },
+ { 13: [1, 96] },
+ { 70: [1, 97], 72: [1, 98] },
+ {
+ 21: j,
+ 73: J,
+ 74: Z,
+ 75: 99,
+ 77: 100,
+ 79: 101,
+ 80: H,
+ 81: q,
+ 82: K,
+ 83: se,
+ 84: ce,
+ 85: ue
+ },
+ { 74: [1, 111] },
+ { 13: B, 51: 112 },
+ t(M, [2, 54]),
+ t(M, [2, 117]),
+ t($, [2, 13]),
+ t($, [2, 14]),
+ t($, [2, 15]),
+ { 37: [2, 32] },
+ { 15: 113, 16: 79, 37: [2, 9], 74: w, 80: T, 95: E, 97: _ },
+ t(te, [2, 40], { 11: 114, 12: [1, 115] }),
+ t(L, [2, 7]),
+ { 9: [1, 116] },
+ t(De, [2, 49]),
+ { 16: 37, 17: 117, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ {
+ 13: [1, 119],
+ 16: 37,
+ 17: 118,
+ 18: 38,
+ 74: w,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ },
+ t(Y, [2, 61], { 57: 120, 59: N, 60: k, 61: I, 62: C, 63: O }),
+ t(Y, [2, 60]),
+ { 39: [1, 121] },
+ { 23: 90, 38: 122, 41: 22, 44: a },
+ { 8: [1, 123], 39: [2, 33] },
+ t(F, [2, 37], { 37: [1, 124] }),
+ { 39: [1, 125] },
+ { 39: [2, 43], 43: 126, 47: ie },
+ { 16: 37, 17: 127, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ t(M, [2, 70], { 13: [1, 128] }),
+ t(M, [2, 72], { 13: [1, 130], 68: [1, 129] }),
+ t(M, [2, 76], { 13: [1, 131], 71: [1, 132] }),
+ { 13: [1, 133] },
+ t(M, [2, 84], { 78: [1, 134] }),
+ t(oe, [2, 86], {
+ 79: 135,
+ 21: j,
+ 73: J,
+ 74: Z,
+ 80: H,
+ 81: q,
+ 82: K,
+ 83: se,
+ 84: ce,
+ 85: ue
+ }),
+ t(ke, [2, 88]),
+ t(ke, [2, 90]),
+ t(ke, [2, 91]),
+ t(ke, [2, 92]),
+ t(ke, [2, 93]),
+ t(ke, [2, 94]),
+ t(ke, [2, 95]),
+ t(ke, [2, 96]),
+ t(ke, [2, 97]),
+ t(ke, [2, 98]),
+ t(M, [2, 85]),
+ t(M, [2, 53]),
+ { 37: [2, 10] },
+ t(te, [2, 41]),
+ { 13: [1, 136] },
+ { 1: [2, 4] },
+ t(De, [2, 51]),
+ t(De, [2, 50]),
+ { 16: 37, 17: 137, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ t(Y, [2, 59]),
+ t(M, [2, 30]),
+ { 39: [1, 138] },
+ { 23: 90, 38: 139, 39: [2, 34], 41: 22, 44: a },
+ { 43: 140, 47: ie },
+ t(F, [2, 38]),
+ { 39: [2, 44] },
+ t(M, [2, 42]),
+ t(M, [2, 71]),
+ t(M, [2, 73]),
+ t(M, [2, 74], { 68: [1, 141] }),
+ t(M, [2, 77]),
+ t(M, [2, 78], { 13: [1, 142] }),
+ t(M, [2, 80], { 13: [1, 144], 68: [1, 143] }),
+ {
+ 21: j,
+ 73: J,
+ 74: Z,
+ 77: 145,
+ 79: 101,
+ 80: H,
+ 81: q,
+ 82: K,
+ 83: se,
+ 84: ce,
+ 85: ue
+ },
+ t(ke, [2, 89]),
+ { 14: [1, 146] },
+ t(De, [2, 52]),
+ t(M, [2, 31]),
+ { 39: [2, 35] },
+ { 39: [1, 147] },
+ t(M, [2, 75]),
+ t(M, [2, 79]),
+ t(M, [2, 81]),
+ t(M, [2, 82], { 68: [1, 148] }),
+ t(oe, [2, 87], {
+ 79: 135,
+ 21: j,
+ 73: J,
+ 74: Z,
+ 80: H,
+ 81: q,
+ 82: K,
+ 83: se,
+ 84: ce,
+ 85: ue
+ }),
+ t(te, [2, 8]),
+ t(F, [2, 39]),
+ t(M, [2, 83])
+ ],
+ defaultActions: {
+ 2: [2, 1],
+ 3: [2, 2],
+ 4: [2, 3],
+ 78: [2, 32],
+ 113: [2, 10],
+ 116: [2, 4],
+ 126: [2, 44],
+ 139: [2, 35]
+ },
+ parseError: o(function (_e, me) {
+ if (me.recoverable) this.trace(_e);
+ else {
+ var W = new Error(_e);
+ throw ((W.hash = me), W);
+ }
+ }, 'parseError'),
+ parse: o(function (_e) {
+ var me = this,
+ W = [0],
+ fe = [],
+ ge = [null],
+ re = [],
+ he = this.table,
+ ne = '',
+ ae = 0,
+ we = 0,
+ Te = 0,
+ Ce = 2,
+ Ae = 1,
+ Ge = re.slice.call(arguments, 1),
+ Me = Object.create(this.lexer),
+ ye = { yy: {} };
+ for (var He in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, He) && (ye.yy[He] = this.yy[He]);
+ Me.setInput(_e, ye.yy),
+ (ye.yy.lexer = Me),
+ (ye.yy.parser = this),
+ typeof Me.yylloc > 'u' && (Me.yylloc = {});
+ var ze = Me.yylloc;
+ re.push(ze);
+ var Ze = Me.options && Me.options.ranges;
+ typeof ye.yy.parseError == 'function'
+ ? (this.parseError = ye.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function gt(mt) {
+ (W.length = W.length - 2 * mt),
+ (ge.length = ge.length - mt),
+ (re.length = re.length - mt);
+ }
+ o(gt, 'popStack');
+ function yt() {
+ var mt;
+ return (
+ (mt = fe.pop() || Me.lex() || Ae),
+ typeof mt != 'number' &&
+ (mt instanceof Array && ((fe = mt), (mt = fe.pop())),
+ (mt = me.symbols_[mt] || mt)),
+ mt
+ );
+ }
+ o(yt, 'lex');
+ for (var tt, Ye, Je, Ve, je, kt, at = {}, xt, it, dt, lt; ; ) {
+ if (
+ ((Je = W[W.length - 1]),
+ this.defaultActions[Je]
+ ? (Ve = this.defaultActions[Je])
+ : ((tt === null || typeof tt > 'u') && (tt = yt()),
+ (Ve = he[Je] && he[Je][tt])),
+ typeof Ve > 'u' || !Ve.length || !Ve[0])
+ ) {
+ var It = '';
+ lt = [];
+ for (xt in he[Je])
+ this.terminals_[xt] && xt > Ce && lt.push("'" + this.terminals_[xt] + "'");
+ Me.showPosition
+ ? (It =
+ 'Parse error on line ' +
+ (ae + 1) +
+ `:
+` +
+ Me.showPosition() +
+ `
+Expecting ` +
+ lt.join(', ') +
+ ", got '" +
+ (this.terminals_[tt] || tt) +
+ "'")
+ : (It =
+ 'Parse error on line ' +
+ (ae + 1) +
+ ': Unexpected ' +
+ (tt == Ae ? 'end of input' : "'" + (this.terminals_[tt] || tt) + "'")),
+ this.parseError(It, {
+ text: Me.match,
+ token: this.terminals_[tt] || tt,
+ line: Me.yylineno,
+ loc: ze,
+ expected: lt
+ });
+ }
+ if (Ve[0] instanceof Array && Ve.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Je + ', token: ' + tt
+ );
+ switch (Ve[0]) {
+ case 1:
+ W.push(tt),
+ ge.push(Me.yytext),
+ re.push(Me.yylloc),
+ W.push(Ve[1]),
+ (tt = null),
+ Ye
+ ? ((tt = Ye), (Ye = null))
+ : ((we = Me.yyleng),
+ (ne = Me.yytext),
+ (ae = Me.yylineno),
+ (ze = Me.yylloc),
+ Te > 0 && Te--);
+ break;
+ case 2:
+ if (
+ ((it = this.productions_[Ve[1]][1]),
+ (at.$ = ge[ge.length - it]),
+ (at._$ = {
+ first_line: re[re.length - (it || 1)].first_line,
+ last_line: re[re.length - 1].last_line,
+ first_column: re[re.length - (it || 1)].first_column,
+ last_column: re[re.length - 1].last_column
+ }),
+ Ze &&
+ (at._$.range = [
+ re[re.length - (it || 1)].range[0],
+ re[re.length - 1].range[1]
+ ]),
+ (kt = this.performAction.apply(
+ at,
+ [ne, we, ae, ye.yy, Ve[1], ge, re].concat(Ge)
+ )),
+ typeof kt < 'u')
+ )
+ return kt;
+ it &&
+ ((W = W.slice(0, -1 * it * 2)),
+ (ge = ge.slice(0, -1 * it)),
+ (re = re.slice(0, -1 * it))),
+ W.push(this.productions_[Ve[1]][0]),
+ ge.push(at.$),
+ re.push(at._$),
+ (dt = he[W[W.length - 2]][W[W.length - 1]]),
+ W.push(dt);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ Se = (function () {
+ var Pe = {
+ EOF: 1,
+ parseError: o(function (me, W) {
+ if (this.yy.parser) this.yy.parser.parseError(me, W);
+ else throw new Error(me);
+ }, 'parseError'),
+ setInput: o(function (_e, me) {
+ return (
+ (this.yy = me || this.yy || {}),
+ (this._input = _e),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var _e = this._input[0];
+ (this.yytext += _e),
+ this.yyleng++,
+ this.offset++,
+ (this.match += _e),
+ (this.matched += _e);
+ var me = _e.match(/(?:\r\n?|\n).*/g);
+ return (
+ me ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ _e
+ );
+ }, 'input'),
+ unput: o(function (_e) {
+ var me = _e.length,
+ W = _e.split(/(?:\r\n?|\n)/g);
+ (this._input = _e + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - me)),
+ (this.offset -= me);
+ var fe = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ W.length - 1 && (this.yylineno -= W.length - 1);
+ var ge = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: W
+ ? (W.length === fe.length ? this.yylloc.first_column : 0) +
+ fe[fe.length - W.length].length -
+ W[0].length
+ : this.yylloc.first_column - me
+ }),
+ this.options.ranges && (this.yylloc.range = [ge[0], ge[0] + this.yyleng - me]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (_e) {
+ this.unput(this.match.slice(_e));
+ }, 'less'),
+ pastInput: o(function () {
+ var _e = this.matched.substr(0, this.matched.length - this.match.length);
+ return (_e.length > 20 ? '...' : '') + _e.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var _e = this.match;
+ return (
+ _e.length < 20 && (_e += this._input.substr(0, 20 - _e.length)),
+ (_e.substr(0, 20) + (_e.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var _e = this.pastInput(),
+ me = new Array(_e.length + 1).join('-');
+ return (
+ _e +
+ this.upcomingInput() +
+ `
+` +
+ me +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (_e, me) {
+ var W, fe, ge;
+ if (
+ (this.options.backtrack_lexer &&
+ ((ge = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (ge.yylloc.range = this.yylloc.range.slice(0))),
+ (fe = _e[0].match(/(?:\r\n?|\n).*/g)),
+ fe && (this.yylineno += fe.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: fe
+ ? fe[fe.length - 1].length - fe[fe.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + _e[0].length
+ }),
+ (this.yytext += _e[0]),
+ (this.match += _e[0]),
+ (this.matches = _e),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(_e[0].length)),
+ (this.matched += _e[0]),
+ (W = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ me,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ W)
+ )
+ return W;
+ if (this._backtrack) {
+ for (var re in ge) this[re] = ge[re];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var _e, me, W, fe;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var ge = this._currentRules(), re = 0; re < ge.length; re++)
+ if (
+ ((W = this._input.match(this.rules[ge[re]])),
+ W && (!me || W[0].length > me[0].length))
+ ) {
+ if (((me = W), (fe = re), this.options.backtrack_lexer)) {
+ if (((_e = this.test_match(W, ge[re])), _e !== !1)) return _e;
+ if (this._backtrack) {
+ me = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return me
+ ? ((_e = this.test_match(me, ge[fe])), _e !== !1 ? _e : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var me = this.next();
+ return me || this.lex();
+ }, 'lex'),
+ begin: o(function (me) {
+ this.conditionStack.push(me);
+ }, 'begin'),
+ popState: o(function () {
+ var me = this.conditionStack.length - 1;
+ return me > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (me) {
+ return (
+ (me = this.conditionStack.length - 1 - Math.abs(me || 0)),
+ me >= 0 ? this.conditionStack[me] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (me) {
+ this.begin(me);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: {},
+ performAction: o(function (me, W, fe, ge) {
+ var re = ge;
+ switch (fe) {
+ case 0:
+ return 53;
+ case 1:
+ return 54;
+ case 2:
+ return 55;
+ case 3:
+ return 56;
+ case 4:
+ break;
+ case 5:
+ break;
+ case 6:
+ return this.begin('acc_title'), 31;
+ break;
+ case 7:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 8:
+ return this.begin('acc_descr'), 33;
+ break;
+ case 9:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 10:
+ this.begin('acc_descr_multiline');
+ break;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 'acc_descr_multiline_value';
+ case 13:
+ return 8;
+ case 14:
+ break;
+ case 15:
+ return 7;
+ case 16:
+ return 7;
+ case 17:
+ return 'EDGE_STATE';
+ case 18:
+ this.begin('callback_name');
+ break;
+ case 19:
+ this.popState();
+ break;
+ case 20:
+ this.popState(), this.begin('callback_args');
+ break;
+ case 21:
+ return 70;
+ case 22:
+ this.popState();
+ break;
+ case 23:
+ return 71;
+ case 24:
+ this.popState();
+ break;
+ case 25:
+ return 'STR';
+ case 26:
+ this.begin('string');
+ break;
+ case 27:
+ return 73;
+ case 28:
+ return this.begin('namespace'), 40;
+ break;
+ case 29:
+ return this.popState(), 8;
+ break;
+ case 30:
+ break;
+ case 31:
+ return this.begin('namespace-body'), 37;
+ break;
+ case 32:
+ return this.popState(), 39;
+ break;
+ case 33:
+ return 'EOF_IN_STRUCT';
+ case 34:
+ return 8;
+ case 35:
+ break;
+ case 36:
+ return 'EDGE_STATE';
+ case 37:
+ return this.begin('class'), 44;
+ break;
+ case 38:
+ return this.popState(), 8;
+ break;
+ case 39:
+ break;
+ case 40:
+ return this.popState(), this.popState(), 39;
+ break;
+ case 41:
+ return this.begin('class-body'), 37;
+ break;
+ case 42:
+ return this.popState(), 39;
+ break;
+ case 43:
+ return 'EOF_IN_STRUCT';
+ case 44:
+ return 'EDGE_STATE';
+ case 45:
+ return 'OPEN_IN_STRUCT';
+ case 46:
+ break;
+ case 47:
+ return 'MEMBER';
+ case 48:
+ return 76;
+ case 49:
+ return 66;
+ case 50:
+ return 67;
+ case 51:
+ return 69;
+ case 52:
+ return 50;
+ case 53:
+ return 52;
+ case 54:
+ return 45;
+ case 55:
+ return 46;
+ case 56:
+ return 72;
+ case 57:
+ this.popState();
+ break;
+ case 58:
+ return 'GENERICTYPE';
+ case 59:
+ this.begin('generic');
+ break;
+ case 60:
+ this.popState();
+ break;
+ case 61:
+ return 'BQUOTE_STR';
+ case 62:
+ this.begin('bqstring');
+ break;
+ case 63:
+ return 68;
+ case 64:
+ return 68;
+ case 65:
+ return 68;
+ case 66:
+ return 68;
+ case 67:
+ return 60;
+ case 68:
+ return 60;
+ case 69:
+ return 62;
+ case 70:
+ return 62;
+ case 71:
+ return 61;
+ case 72:
+ return 59;
+ case 73:
+ return 63;
+ case 74:
+ return 64;
+ case 75:
+ return 65;
+ case 76:
+ return 21;
+ case 77:
+ return 42;
+ case 78:
+ return 95;
+ case 79:
+ return 'DOT';
+ case 80:
+ return 'PLUS';
+ case 81:
+ return 81;
+ case 82:
+ return 78;
+ case 83:
+ return 84;
+ case 84:
+ return 84;
+ case 85:
+ return 85;
+ case 86:
+ return 'EQUALS';
+ case 87:
+ return 'EQUALS';
+ case 88:
+ return 74;
+ case 89:
+ return 12;
+ case 90:
+ return 14;
+ case 91:
+ return 'PUNCTUATION';
+ case 92:
+ return 80;
+ case 93:
+ return 97;
+ case 94:
+ return 83;
+ case 95:
+ return 83;
+ case 96:
+ return 9;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:.*direction\s+TB[^\n]*)/,
+ /^(?:.*direction\s+BT[^\n]*)/,
+ /^(?:.*direction\s+RL[^\n]*)/,
+ /^(?:.*direction\s+LR[^\n]*)/,
+ /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,
+ /^(?:%%[^\n]*(\r?\n)*)/,
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:classDiagram-v2\b)/,
+ /^(?:classDiagram\b)/,
+ /^(?:\[\*\])/,
+ /^(?:call[\s]+)/,
+ /^(?:\([\s]*\))/,
+ /^(?:\()/,
+ /^(?:[^(]*)/,
+ /^(?:\))/,
+ /^(?:[^)]*)/,
+ /^(?:["])/,
+ /^(?:[^"]*)/,
+ /^(?:["])/,
+ /^(?:style\b)/,
+ /^(?:namespace\b)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:[{])/,
+ /^(?:[}])/,
+ /^(?:$)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:\[\*\])/,
+ /^(?:class\b)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:[}])/,
+ /^(?:[{])/,
+ /^(?:[}])/,
+ /^(?:$)/,
+ /^(?:\[\*\])/,
+ /^(?:[{])/,
+ /^(?:[\n])/,
+ /^(?:[^{}\n]*)/,
+ /^(?:cssClass\b)/,
+ /^(?:callback\b)/,
+ /^(?:link\b)/,
+ /^(?:click\b)/,
+ /^(?:note for\b)/,
+ /^(?:note\b)/,
+ /^(?:<<)/,
+ /^(?:>>)/,
+ /^(?:href\b)/,
+ /^(?:[~])/,
+ /^(?:[^~]*)/,
+ /^(?:~)/,
+ /^(?:[`])/,
+ /^(?:[^`]+)/,
+ /^(?:[`])/,
+ /^(?:_self\b)/,
+ /^(?:_blank\b)/,
+ /^(?:_parent\b)/,
+ /^(?:_top\b)/,
+ /^(?:\s*<\|)/,
+ /^(?:\s*\|>)/,
+ /^(?:\s*>)/,
+ /^(?:\s*<)/,
+ /^(?:\s*\*)/,
+ /^(?:\s*o\b)/,
+ /^(?:\s*\(\))/,
+ /^(?:--)/,
+ /^(?:\.\.)/,
+ /^(?::{1}[^:\n;]+)/,
+ /^(?::{3})/,
+ /^(?:-)/,
+ /^(?:\.)/,
+ /^(?:\+)/,
+ /^(?::)/,
+ /^(?:,)/,
+ /^(?:#)/,
+ /^(?:#)/,
+ /^(?:%)/,
+ /^(?:=)/,
+ /^(?:=)/,
+ /^(?:\w+)/,
+ /^(?:\[)/,
+ /^(?:\])/,
+ /^(?:[!"#$%&'*+,-.`?\\/])/,
+ /^(?:[0-9]+)/,
+ /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,
+ /^(?:\s)/,
+ /^(?:\s)/,
+ /^(?:$)/
+ ],
+ conditions: {
+ 'namespace-body': {
+ rules: [
+ 26, 32, 33, 34, 35, 36, 37, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ namespace: {
+ rules: [
+ 26, 28, 29, 30, 31, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ 'class-body': {
+ rules: [
+ 26, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ class: {
+ rules: [
+ 26, 38, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ acc_descr_multiline: {
+ rules: [
+ 11, 12, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ acc_descr: {
+ rules: [
+ 9, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 96
+ ],
+ inclusive: !1
+ },
+ acc_title: {
+ rules: [
+ 7, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 96
+ ],
+ inclusive: !1
+ },
+ callback_args: {
+ rules: [
+ 22, 23, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ callback_name: {
+ rules: [
+ 19, 20, 21, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ href: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 96
+ ],
+ inclusive: !1
+ },
+ struct: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 96
+ ],
+ inclusive: !1
+ },
+ generic: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ bqstring: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ string: {
+ rules: [
+ 24, 25, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 26, 27, 28, 37, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return Pe;
+ })();
+ Ie.lexer = Se;
+ function Ue() {
+ this.yy = {};
+ }
+ return o(Ue, 'Parser'), (Ue.prototype = Ie), (Ie.Parser = Ue), new Ue();
+ })();
+ wO.parser = wO;
+ wE = wO;
+ });
+ var bhe,
+ wx,
+ whe = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ (bhe = ['#', '+', '~', '-', '']),
+ (wx = class {
+ static {
+ o(this, 'ClassMember');
+ }
+ constructor(e, r) {
+ (this.memberType = r), (this.visibility = ''), (this.classifier = '');
+ let n = qr(e, de());
+ this.parseMember(n);
+ }
+ getDisplayDetails() {
+ let e = this.visibility + gh(this.id);
+ this.memberType === 'method' &&
+ ((e += `(${gh(this.parameters.trim())})`),
+ this.returnType && (e += ' : ' + gh(this.returnType))),
+ (e = e.trim());
+ let r = this.parseClassifier();
+ return { displayText: e, cssStyle: r };
+ }
+ parseMember(e) {
+ let r = '';
+ if (this.memberType === 'method') {
+ let i = /([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);
+ if (i) {
+ let a = i[1] ? i[1].trim() : '';
+ if (
+ (bhe.includes(a) && (this.visibility = a),
+ (this.id = i[2].trim()),
+ (this.parameters = i[3] ? i[3].trim() : ''),
+ (r = i[4] ? i[4].trim() : ''),
+ (this.returnType = i[5] ? i[5].trim() : ''),
+ r === '')
+ ) {
+ let s = this.returnType.substring(this.returnType.length - 1);
+ /[$*]/.exec(s) &&
+ ((r = s),
+ (this.returnType = this.returnType.substring(0, this.returnType.length - 1)));
+ }
+ }
+ } else {
+ let n = e.length,
+ i = e.substring(0, 1),
+ a = e.substring(n - 1);
+ bhe.includes(i) && (this.visibility = i),
+ /[$*]/.exec(a) && (r = a),
+ (this.id = e.substring(this.visibility === '' ? 0 : 1, r === '' ? n : n - 1));
+ }
+ this.classifier = r;
+ }
+ parseClassifier() {
+ switch (this.classifier) {
+ case '*':
+ return 'font-style:italic;';
+ case '$':
+ return 'text-decoration:underline;';
+ default:
+ return '';
+ }
+ }
+ });
+ });
+ var EE,
+ EO,
+ Gi,
+ TE,
+ The,
+ qu,
+ kO,
+ Tx,
+ D0,
+ R0,
+ u$e,
+ kE,
+ khe,
+ h$e,
+ f$e,
+ d$e,
+ p$e,
+ m$e,
+ g$e,
+ y$e,
+ Ehe,
+ v$e,
+ x$e,
+ b$e,
+ CO,
+ w$e,
+ T$e,
+ k$e,
+ E$e,
+ C$e,
+ S$e,
+ A$e,
+ _$e,
+ Che,
+ SO,
+ L$e,
+ D$e,
+ R$e,
+ N$e,
+ M$e,
+ I$e,
+ O$e,
+ Bg,
+ AO = R(() => {
+ 'use strict';
+ Zt();
+ ut();
+ _t();
+ rr();
+ xr();
+ bi();
+ whe();
+ (EE = 'classId-'),
+ (EO = []),
+ (Gi = new Map()),
+ (TE = []),
+ (The = 0),
+ (qu = new Map()),
+ (kO = 0),
+ (Tx = []),
+ (D0 = o((t) => We.sanitizeText(t, de()), 'sanitizeText')),
+ (R0 = o(function (t) {
+ let e = We.sanitizeText(t, de()),
+ r = '',
+ n = e;
+ if (e.indexOf('~') > 0) {
+ let i = e.split('~');
+ (n = D0(i[0])), (r = D0(i[1]));
+ }
+ return { className: n, type: r };
+ }, 'splitClassNameAndType')),
+ (u$e = o(function (t, e) {
+ let r = We.sanitizeText(t, de());
+ e && (e = D0(e));
+ let { className: n } = R0(r);
+ Gi.get(n).label = e;
+ }, 'setClassLabel')),
+ (kE = o(function (t) {
+ let e = We.sanitizeText(t, de()),
+ { className: r, type: n } = R0(e);
+ if (Gi.has(r)) return;
+ let i = We.sanitizeText(r, de());
+ Gi.set(i, {
+ id: i,
+ type: n,
+ label: i,
+ cssClasses: [],
+ methods: [],
+ members: [],
+ annotations: [],
+ styles: [],
+ domId: EE + i + '-' + The
+ }),
+ The++;
+ }, 'addClass')),
+ (khe = o(function (t) {
+ let e = We.sanitizeText(t, de());
+ if (Gi.has(e)) return Gi.get(e).domId;
+ throw new Error('Class not found: ' + e);
+ }, 'lookUpDomId')),
+ (h$e = o(function () {
+ (EO = []),
+ (Gi = new Map()),
+ (TE = []),
+ (Tx = []),
+ Tx.push(Che),
+ (qu = new Map()),
+ (kO = 0),
+ (SO = 'TB'),
+ vr();
+ }, 'clear')),
+ (f$e = o(function (t) {
+ return Gi.get(t);
+ }, 'getClass')),
+ (d$e = o(function () {
+ return Gi;
+ }, 'getClasses')),
+ (p$e = o(function () {
+ return EO;
+ }, 'getRelations')),
+ (m$e = o(function () {
+ return TE;
+ }, 'getNotes')),
+ (g$e = o(function (t) {
+ V.debug('Adding relation: ' + JSON.stringify(t)),
+ kE(t.id1),
+ kE(t.id2),
+ (t.id1 = R0(t.id1).className),
+ (t.id2 = R0(t.id2).className),
+ (t.relationTitle1 = We.sanitizeText(t.relationTitle1.trim(), de())),
+ (t.relationTitle2 = We.sanitizeText(t.relationTitle2.trim(), de())),
+ EO.push(t);
+ }, 'addRelation')),
+ (y$e = o(function (t, e) {
+ let r = R0(t).className;
+ Gi.get(r).annotations.push(e);
+ }, 'addAnnotation')),
+ (Ehe = o(function (t, e) {
+ kE(t);
+ let r = R0(t).className,
+ n = Gi.get(r);
+ if (typeof e == 'string') {
+ let i = e.trim();
+ i.startsWith('<<') && i.endsWith('>>')
+ ? n.annotations.push(D0(i.substring(2, i.length - 2)))
+ : i.indexOf(')') > 0
+ ? n.methods.push(new wx(i, 'method'))
+ : i && n.members.push(new wx(i, 'attribute'));
+ }
+ }, 'addMember')),
+ (v$e = o(function (t, e) {
+ Array.isArray(e) && (e.reverse(), e.forEach((r) => Ehe(t, r)));
+ }, 'addMembers')),
+ (x$e = o(function (t, e) {
+ let r = { id: `note${TE.length}`, class: e, text: t };
+ TE.push(r);
+ }, 'addNote')),
+ (b$e = o(function (t) {
+ return t.startsWith(':') && (t = t.substring(1)), D0(t.trim());
+ }, 'cleanupLabel')),
+ (CO = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ let n = r;
+ /\d/.exec(r[0]) && (n = EE + n);
+ let i = Gi.get(n);
+ i && i.cssClasses.push(e);
+ });
+ }, 'setCssClass')),
+ (w$e = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ e !== void 0 && (Gi.get(r).tooltip = D0(e));
+ });
+ }, 'setTooltip')),
+ (T$e = o(function (t, e) {
+ return e && qu.has(e) ? qu.get(e).classes.get(t).tooltip : Gi.get(t).tooltip;
+ }, 'getTooltip')),
+ (k$e = o(function (t, e, r) {
+ let n = de();
+ t.split(',').forEach(function (i) {
+ let a = i;
+ /\d/.exec(i[0]) && (a = EE + a);
+ let s = Gi.get(a);
+ s &&
+ ((s.link = Lt.formatUrl(e, n)),
+ n.securityLevel === 'sandbox'
+ ? (s.linkTarget = '_top')
+ : typeof r == 'string'
+ ? (s.linkTarget = D0(r))
+ : (s.linkTarget = '_blank'));
+ }),
+ CO(t, 'clickable');
+ }, 'setLink')),
+ (E$e = o(function (t, e, r) {
+ t.split(',').forEach(function (n) {
+ C$e(n, e, r), (Gi.get(n).haveCallback = !0);
+ }),
+ CO(t, 'clickable');
+ }, 'setClickEvent')),
+ (C$e = o(function (t, e, r) {
+ let n = We.sanitizeText(t, de());
+ if (de().securityLevel !== 'loose' || e === void 0) return;
+ let a = n;
+ if (Gi.has(a)) {
+ let s = khe(a),
+ l = [];
+ if (typeof r == 'string') {
+ l = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
+ for (let u = 0; u < l.length; u++) {
+ let h = l[u].trim();
+ h.startsWith('"') && h.endsWith('"') && (h = h.substr(1, h.length - 2)), (l[u] = h);
+ }
+ }
+ l.length === 0 && l.push(s),
+ Tx.push(function () {
+ let u = document.querySelector(`[id="${s}"]`);
+ u !== null &&
+ u.addEventListener(
+ 'click',
+ function () {
+ Lt.runFunc(e, ...l);
+ },
+ !1
+ );
+ });
+ }
+ }, 'setClickFunc')),
+ (S$e = o(function (t) {
+ Tx.forEach(function (e) {
+ e(t);
+ });
+ }, 'bindFunctions')),
+ (A$e = { LINE: 0, DOTTED_LINE: 1 }),
+ (_$e = {
+ AGGREGATION: 0,
+ EXTENSION: 1,
+ COMPOSITION: 2,
+ DEPENDENCY: 3,
+ LOLLIPOP: 4
+ }),
+ (Che = o(function (t) {
+ let e = $e('.mermaidTooltip');
+ (e._groups || e)[0][0] === null &&
+ (e = $e('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0)),
+ $e(t)
+ .select('svg')
+ .selectAll('g.node')
+ .on('mouseover', function () {
+ let i = $e(this);
+ if (i.attr('title') === null) return;
+ let s = this.getBoundingClientRect();
+ e.transition().duration(200).style('opacity', '.9'),
+ e
+ .text(i.attr('title'))
+ .style('left', window.scrollX + s.left + (s.right - s.left) / 2 + 'px')
+ .style('top', window.scrollY + s.top - 14 + document.body.scrollTop + 'px'),
+ e.html(e.html().replace(/<br\/>/g, '
')),
+ i.classed('hover', !0);
+ })
+ .on('mouseout', function () {
+ e.transition().duration(500).style('opacity', 0), $e(this).classed('hover', !1);
+ });
+ }, 'setupToolTips'));
+ Tx.push(Che);
+ (SO = 'TB'),
+ (L$e = o(() => SO, 'getDirection')),
+ (D$e = o((t) => {
+ SO = t;
+ }, 'setDirection')),
+ (R$e = o(function (t) {
+ qu.has(t) ||
+ (qu.set(t, {
+ id: t,
+ classes: new Map(),
+ children: {},
+ domId: EE + t + '-' + kO
+ }),
+ kO++);
+ }, 'addNamespace')),
+ (N$e = o(function (t) {
+ return qu.get(t);
+ }, 'getNamespace')),
+ (M$e = o(function () {
+ return qu;
+ }, 'getNamespaces')),
+ (I$e = o(function (t, e) {
+ if (qu.has(t))
+ for (let r of e) {
+ let { className: n } = R0(r);
+ (Gi.get(n).parent = t), qu.get(t).classes.set(n, Gi.get(n));
+ }
+ }, 'addClassesToNamespace')),
+ (O$e = o(function (t, e) {
+ let r = Gi.get(t);
+ if (!(!e || !r))
+ for (let n of e) n.includes(',') ? r.styles.push(...n.split(',')) : r.styles.push(n);
+ }, 'setCssStyle')),
+ (Bg = {
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ getConfig: o(() => de().class, 'getConfig'),
+ addClass: kE,
+ bindFunctions: S$e,
+ clear: h$e,
+ getClass: f$e,
+ getClasses: d$e,
+ getNotes: m$e,
+ addAnnotation: y$e,
+ addNote: x$e,
+ getRelations: p$e,
+ addRelation: g$e,
+ getDirection: L$e,
+ setDirection: D$e,
+ addMember: Ehe,
+ addMembers: v$e,
+ cleanupLabel: b$e,
+ lineType: A$e,
+ relationType: _$e,
+ setClickEvent: E$e,
+ setCssClass: CO,
+ setLink: k$e,
+ getTooltip: T$e,
+ setTooltip: w$e,
+ lookUpDomId: khe,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ setClassLabel: u$e,
+ addNamespace: R$e,
+ addClassesToNamespace: I$e,
+ getNamespace: N$e,
+ getNamespaces: M$e,
+ setCssStyle: O$e
+ });
+ });
+ var P$e,
+ CE,
+ _O = R(() => {
+ 'use strict';
+ (P$e = o(
+ (t) => `g.classGroup text {
+ fill: ${t.nodeBorder || t.classText};
+ stroke: none;
+ font-family: ${t.fontFamily};
+ font-size: 10px;
+
+ .title {
+ font-weight: bolder;
+ }
+
+}
+
+.nodeLabel, .edgeLabel {
+ color: ${t.classText};
+}
+.edgeLabel .label rect {
+ fill: ${t.mainBkg};
+}
+.label text {
+ fill: ${t.classText};
+}
+.edgeLabel .label span {
+ background: ${t.mainBkg};
+}
+
+.classTitle {
+ font-weight: bolder;
+}
+.node rect,
+ .node circle,
+ .node ellipse,
+ .node polygon,
+ .node path {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+ stroke-width: 1px;
+ }
+
+
+.divider {
+ stroke: ${t.nodeBorder};
+ stroke-width: 1;
+}
+
+g.clickable {
+ cursor: pointer;
+}
+
+g.classGroup rect {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+}
+
+g.classGroup line {
+ stroke: ${t.nodeBorder};
+ stroke-width: 1;
+}
+
+.classLabel .box {
+ stroke: none;
+ stroke-width: 0;
+ fill: ${t.mainBkg};
+ opacity: 0.5;
+}
+
+.classLabel .label {
+ fill: ${t.nodeBorder};
+ font-size: 10px;
+}
+
+.relation {
+ stroke: ${t.lineColor};
+ stroke-width: 1;
+ fill: none;
+}
+
+.dashed-line{
+ stroke-dasharray: 3;
+}
+
+.dotted-line{
+ stroke-dasharray: 1 2;
+}
+
+#compositionStart, .composition {
+ fill: ${t.lineColor} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#compositionEnd, .composition {
+ fill: ${t.lineColor} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#dependencyStart, .dependency {
+ fill: ${t.lineColor} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#dependencyStart, .dependency {
+ fill: ${t.lineColor} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#extensionStart, .extension {
+ fill: transparent !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#extensionEnd, .extension {
+ fill: transparent !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#aggregationStart, .aggregation {
+ fill: transparent !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#aggregationEnd, .aggregation {
+ fill: transparent !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#lollipopStart, .lollipop {
+ fill: ${t.mainBkg} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#lollipopEnd, .lollipop {
+ fill: ${t.mainBkg} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+.edgeTerminals {
+ font-size: 11px;
+ line-height: initial;
+}
+
+.classTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+}
+`,
+ 'getStyles'
+ )),
+ (CE = P$e);
+ });
+ var She,
+ B$e,
+ F$e,
+ _he,
+ z$e,
+ Ahe,
+ SE,
+ Lhe = R(() => {
+ 'use strict';
+ Zt();
+ xr();
+ ut();
+ rr();
+ (She = 0),
+ (B$e = o(function (t, e, r, n, i) {
+ let a = o(function (b) {
+ switch (b) {
+ case i.db.relationType.AGGREGATION:
+ return 'aggregation';
+ case i.db.relationType.EXTENSION:
+ return 'extension';
+ case i.db.relationType.COMPOSITION:
+ return 'composition';
+ case i.db.relationType.DEPENDENCY:
+ return 'dependency';
+ case i.db.relationType.LOLLIPOP:
+ return 'lollipop';
+ }
+ }, 'getRelationType');
+ e.points = e.points.filter((b) => !Number.isNaN(b.y));
+ let s = e.points,
+ l = ha()
+ .x(function (b) {
+ return b.x;
+ })
+ .y(function (b) {
+ return b.y;
+ })
+ .curve(vs),
+ u = t
+ .append('path')
+ .attr('d', l(s))
+ .attr('id', 'edge' + She)
+ .attr('class', 'relation'),
+ h = '';
+ n.arrowMarkerAbsolute &&
+ ((h =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (h = h.replace(/\(/g, '\\(')),
+ (h = h.replace(/\)/g, '\\)'))),
+ r.relation.lineType == 1 && u.attr('class', 'relation dashed-line'),
+ r.relation.lineType == 10 && u.attr('class', 'relation dotted-line'),
+ r.relation.type1 !== 'none' &&
+ u.attr('marker-start', 'url(' + h + '#' + a(r.relation.type1) + 'Start)'),
+ r.relation.type2 !== 'none' &&
+ u.attr('marker-end', 'url(' + h + '#' + a(r.relation.type2) + 'End)');
+ let f,
+ d,
+ p = e.points.length,
+ m = Lt.calcLabelPosition(e.points);
+ (f = m.x), (d = m.y);
+ let g, y, v, x;
+ if (p % 2 !== 0 && p > 1) {
+ let b = Lt.calcCardinalityPosition(r.relation.type1 !== 'none', e.points, e.points[0]),
+ w = Lt.calcCardinalityPosition(r.relation.type2 !== 'none', e.points, e.points[p - 1]);
+ V.debug('cardinality_1_point ' + JSON.stringify(b)),
+ V.debug('cardinality_2_point ' + JSON.stringify(w)),
+ (g = b.x),
+ (y = b.y),
+ (v = w.x),
+ (x = w.y);
+ }
+ if (r.title !== void 0) {
+ let b = t.append('g').attr('class', 'classLabel'),
+ w = b
+ .append('text')
+ .attr('class', 'label')
+ .attr('x', f)
+ .attr('y', d)
+ .attr('fill', 'red')
+ .attr('text-anchor', 'middle')
+ .text(r.title);
+ window.label = w;
+ let S = w.node().getBBox();
+ b.insert('rect', ':first-child')
+ .attr('class', 'box')
+ .attr('x', S.x - n.padding / 2)
+ .attr('y', S.y - n.padding / 2)
+ .attr('width', S.width + n.padding)
+ .attr('height', S.height + n.padding);
+ }
+ V.info('Rendering relation ' + JSON.stringify(r)),
+ r.relationTitle1 !== void 0 &&
+ r.relationTitle1 !== 'none' &&
+ t
+ .append('g')
+ .attr('class', 'cardinality')
+ .append('text')
+ .attr('class', 'type1')
+ .attr('x', g)
+ .attr('y', y)
+ .attr('fill', 'black')
+ .attr('font-size', '6')
+ .text(r.relationTitle1),
+ r.relationTitle2 !== void 0 &&
+ r.relationTitle2 !== 'none' &&
+ t
+ .append('g')
+ .attr('class', 'cardinality')
+ .append('text')
+ .attr('class', 'type2')
+ .attr('x', v)
+ .attr('y', x)
+ .attr('fill', 'black')
+ .attr('font-size', '6')
+ .text(r.relationTitle2),
+ She++;
+ }, 'drawEdge')),
+ (F$e = o(function (t, e, r, n) {
+ V.debug('Rendering class ', e, r);
+ let i = e.id,
+ a = { id: i, label: e.id, width: 0, height: 0 },
+ s = t.append('g').attr('id', n.db.lookUpDomId(i)).attr('class', 'classGroup'),
+ l;
+ e.link
+ ? (l = s
+ .append('svg:a')
+ .attr('xlink:href', e.link)
+ .attr('target', e.linkTarget)
+ .append('text')
+ .attr('y', r.textHeight + r.padding)
+ .attr('x', 0))
+ : (l = s
+ .append('text')
+ .attr('y', r.textHeight + r.padding)
+ .attr('x', 0));
+ let u = !0;
+ e.annotations.forEach(function (w) {
+ let S = l.append('tspan').text('\xAB' + w + '\xBB');
+ u || S.attr('dy', r.textHeight), (u = !1);
+ });
+ let h = _he(e),
+ f = l.append('tspan').text(h).attr('class', 'title');
+ u || f.attr('dy', r.textHeight);
+ let d = l.node().getBBox().height,
+ p,
+ m,
+ g;
+ if (e.members.length > 0) {
+ p = s
+ .append('line')
+ .attr('x1', 0)
+ .attr('y1', r.padding + d + r.dividerMargin / 2)
+ .attr('y2', r.padding + d + r.dividerMargin / 2);
+ let w = s
+ .append('text')
+ .attr('x', r.padding)
+ .attr('y', d + r.dividerMargin + r.textHeight)
+ .attr('fill', 'white')
+ .attr('class', 'classText');
+ (u = !0),
+ e.members.forEach(function (S) {
+ Ahe(w, S, u, r), (u = !1);
+ }),
+ (m = w.node().getBBox());
+ }
+ if (e.methods.length > 0) {
+ g = s
+ .append('line')
+ .attr('x1', 0)
+ .attr('y1', r.padding + d + r.dividerMargin + m.height)
+ .attr('y2', r.padding + d + r.dividerMargin + m.height);
+ let w = s
+ .append('text')
+ .attr('x', r.padding)
+ .attr('y', d + 2 * r.dividerMargin + m.height + r.textHeight)
+ .attr('fill', 'white')
+ .attr('class', 'classText');
+ (u = !0),
+ e.methods.forEach(function (S) {
+ Ahe(w, S, u, r), (u = !1);
+ });
+ }
+ let y = s.node().getBBox();
+ var v = ' ';
+ e.cssClasses.length > 0 && (v = v + e.cssClasses.join(' '));
+ let b = s
+ .insert('rect', ':first-child')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', y.width + 2 * r.padding)
+ .attr('height', y.height + r.padding + 0.5 * r.dividerMargin)
+ .attr('class', v)
+ .node()
+ .getBBox().width;
+ return (
+ l.node().childNodes.forEach(function (w) {
+ w.setAttribute('x', (b - w.getBBox().width) / 2);
+ }),
+ e.tooltip && l.insert('title').text(e.tooltip),
+ p && p.attr('x2', b),
+ g && g.attr('x2', b),
+ (a.width = b),
+ (a.height = y.height + r.padding + 0.5 * r.dividerMargin),
+ a
+ );
+ }, 'drawClass')),
+ (_he = o(function (t) {
+ let e = t.id;
+ return t.type && (e += '<' + gh(t.type) + '>'), e;
+ }, 'getClassTitleString')),
+ (z$e = o(function (t, e, r, n) {
+ V.debug('Rendering note ', e, r);
+ let i = e.id,
+ a = { id: i, text: e.text, width: 0, height: 0 },
+ s = t.append('g').attr('id', i).attr('class', 'classGroup'),
+ l = s
+ .append('text')
+ .attr('y', r.textHeight + r.padding)
+ .attr('x', 0),
+ u = JSON.parse(`"${e.text}"`).split(`
+`);
+ u.forEach(function (p) {
+ V.debug(`Adding line: ${p}`),
+ l.append('tspan').text(p).attr('class', 'title').attr('dy', r.textHeight);
+ });
+ let h = s.node().getBBox(),
+ d = s
+ .insert('rect', ':first-child')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', h.width + 2 * r.padding)
+ .attr('height', h.height + u.length * r.textHeight + r.padding + 0.5 * r.dividerMargin)
+ .node()
+ .getBBox().width;
+ return (
+ l.node().childNodes.forEach(function (p) {
+ p.setAttribute('x', (d - p.getBBox().width) / 2);
+ }),
+ (a.width = d),
+ (a.height = h.height + u.length * r.textHeight + r.padding + 0.5 * r.dividerMargin),
+ a
+ );
+ }, 'drawNote')),
+ (Ahe = o(function (t, e, r, n) {
+ let { displayText: i, cssStyle: a } = e.getDisplayDetails(),
+ s = t.append('tspan').attr('x', n.padding).text(i);
+ a !== '' && s.attr('style', e.cssStyle), r || s.attr('dy', n.textHeight);
+ }, 'addTspan')),
+ (SE = {
+ getClassTitleString: _he,
+ drawClass: F$e,
+ drawEdge: B$e,
+ drawNote: z$e
+ });
+ });
+ var _E,
+ AE,
+ kx,
+ G$e,
+ $$e,
+ Dhe,
+ Rhe = R(() => {
+ 'use strict';
+ Zt();
+ Vd();
+ ya();
+ ut();
+ Lhe();
+ Yn();
+ _t();
+ (_E = {}),
+ (AE = 20),
+ (kx = o(function (t) {
+ let e = Object.entries(_E).find((r) => r[1].label === t);
+ if (e) return e[0];
+ }, 'getGraphId')),
+ (G$e = o(function (t) {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'extensionStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,7 L18,13 V 1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'extensionEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 V 13 L18,7 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'compositionStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'compositionEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'aggregationStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'aggregationEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'dependencyStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'dependencyEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');
+ }, 'insertMarkers')),
+ ($$e = o(function (t, e, r, n) {
+ let i = de().class;
+ (_E = {}), V.info('Rendering diagram ' + t);
+ let a = de().securityLevel,
+ s;
+ a === 'sandbox' && (s = $e('#i' + e));
+ let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'),
+ u = l.select(`[id='${e}']`);
+ G$e(u);
+ let h = new lr({ multigraph: !0 });
+ h.setGraph({ isMultiGraph: !0 }),
+ h.setDefaultEdgeLabel(function () {
+ return {};
+ });
+ let f = n.db.getClasses(),
+ d = [...f.keys()];
+ for (let b of d) {
+ let w = f.get(b),
+ S = SE.drawClass(u, w, i, n);
+ (_E[S.id] = S), h.setNode(S.id, S), V.info('Org height: ' + S.height);
+ }
+ n.db.getRelations().forEach(function (b) {
+ V.info('tjoho' + kx(b.id1) + kx(b.id2) + JSON.stringify(b)),
+ h.setEdge(kx(b.id1), kx(b.id2), { relation: b }, b.title || 'DEFAULT');
+ }),
+ n.db.getNotes().forEach(function (b) {
+ V.debug(`Adding note: ${JSON.stringify(b)}`);
+ let w = SE.drawNote(u, b, i, n);
+ (_E[w.id] = w),
+ h.setNode(w.id, w),
+ b.class &&
+ f.has(b.class) &&
+ h.setEdge(
+ b.id,
+ kx(b.class),
+ {
+ relation: {
+ id1: b.id,
+ id2: b.class,
+ relation: {
+ type1: 'none',
+ type2: 'none',
+ lineType: 10
+ }
+ }
+ },
+ 'DEFAULT'
+ );
+ }),
+ lo(h),
+ h.nodes().forEach(function (b) {
+ b !== void 0 &&
+ h.node(b) !== void 0 &&
+ (V.debug('Node ' + b + ': ' + JSON.stringify(h.node(b))),
+ l
+ .select('#' + (n.db.lookUpDomId(b) || b))
+ .attr(
+ 'transform',
+ 'translate(' +
+ (h.node(b).x - h.node(b).width / 2) +
+ ',' +
+ (h.node(b).y - h.node(b).height / 2) +
+ ' )'
+ ));
+ }),
+ h.edges().forEach(function (b) {
+ b !== void 0 &&
+ h.edge(b) !== void 0 &&
+ (V.debug('Edge ' + b.v + ' -> ' + b.w + ': ' + JSON.stringify(h.edge(b))),
+ SE.drawEdge(u, h.edge(b), h.edge(b).relation, i, n));
+ });
+ let g = u.node().getBBox(),
+ y = g.width + AE * 2,
+ v = g.height + AE * 2;
+ Sr(u, v, y, i.useMaxWidth);
+ let x = `${g.x - AE} ${g.y - AE} ${y} ${v}`;
+ V.debug(`viewBox ${x}`), u.attr('viewBox', x);
+ }, 'draw')),
+ (Dhe = { draw: $$e });
+ });
+ var Nhe = {};
+ hr(Nhe, { diagram: () => V$e });
+ var V$e,
+ Mhe = R(() => {
+ 'use strict';
+ TO();
+ AO();
+ _O();
+ Rhe();
+ V$e = {
+ parser: wE,
+ db: Bg,
+ renderer: Dhe,
+ styles: CE,
+ init: o((t) => {
+ t.class || (t.class = {}), (t.class.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Bg.clear();
+ }, 'init')
+ };
+ });
+ var W$e,
+ q$e,
+ X$e,
+ j$e,
+ K$e,
+ Q$e,
+ Z$e,
+ J$e,
+ eVe,
+ tVe,
+ rVe,
+ LE,
+ LO = R(() => {
+ 'use strict';
+ ut();
+ (W$e = o((t, e, r, n) => {
+ e.forEach((i) => {
+ rVe[i](t, r, n);
+ });
+ }, 'insertMarkers')),
+ (q$e = o((t, e, r) => {
+ V.trace('Making markers for ', r),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-extensionStart')
+ .attr('class', 'marker extension ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,7 L18,13 V 1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-extensionEnd')
+ .attr('class', 'marker extension ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 V 13 L18,7 Z');
+ }, 'extension')),
+ (X$e = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-compositionStart')
+ .attr('class', 'marker composition ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-compositionEnd')
+ .attr('class', 'marker composition ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');
+ }, 'composition')),
+ (j$e = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-aggregationStart')
+ .attr('class', 'marker aggregation ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-aggregationEnd')
+ .attr('class', 'marker aggregation ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');
+ }, 'aggregation')),
+ (K$e = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-dependencyStart')
+ .attr('class', 'marker dependency ' + e)
+ .attr('refX', 6)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-dependencyEnd')
+ .attr('class', 'marker dependency ' + e)
+ .attr('refX', 13)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');
+ }, 'dependency')),
+ (Q$e = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-lollipopStart')
+ .attr('class', 'marker lollipop ' + e)
+ .attr('refX', 13)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('stroke', 'black')
+ .attr('fill', 'transparent')
+ .attr('cx', 7)
+ .attr('cy', 7)
+ .attr('r', 6),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-lollipopEnd')
+ .attr('class', 'marker lollipop ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('stroke', 'black')
+ .attr('fill', 'transparent')
+ .attr('cx', 7)
+ .attr('cy', 7)
+ .attr('r', 6);
+ }, 'lollipop')),
+ (Z$e = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-pointEnd')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 6)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 0 L 10 5 L 0 10 z')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-pointStart')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 4.5)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 5 L 10 10 L 10 0 z')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ }, 'point')),
+ (J$e = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-circleEnd')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 11)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', '5')
+ .attr('cy', '5')
+ .attr('r', '5')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-circleStart')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', -1)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', '5')
+ .attr('cy', '5')
+ .attr('r', '5')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ }, 'circle')),
+ (eVe = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-crossEnd')
+ .attr('class', 'marker cross ' + e)
+ .attr('viewBox', '0 0 11 11')
+ .attr('refX', 12)
+ .attr('refY', 5.2)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 2)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-crossStart')
+ .attr('class', 'marker cross ' + e)
+ .attr('viewBox', '0 0 11 11')
+ .attr('refX', -1)
+ .attr('refY', 5.2)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 2)
+ .style('stroke-dasharray', '1,0');
+ }, 'cross')),
+ (tVe = o((t, e, r) => {
+ t.append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-barbEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 14)
+ .attr('markerUnits', 'strokeWidth')
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z');
+ }, 'barb')),
+ (rVe = {
+ extension: q$e,
+ composition: X$e,
+ aggregation: j$e,
+ dependency: K$e,
+ lollipop: Q$e,
+ point: Z$e,
+ circle: J$e,
+ cross: eVe,
+ barb: tVe
+ }),
+ (LE = W$e);
+ });
+ var tr,
+ zl,
+ Phe,
+ Bhe,
+ RE,
+ nVe,
+ Fhe,
+ zhe,
+ Fg,
+ DE,
+ Ghe,
+ $he,
+ Vhe,
+ Uhe,
+ Hhe = R(() => {
+ 'use strict';
+ ut();
+ Pv();
+ ya();
+ (tr = {}),
+ (zl = {}),
+ (Phe = {}),
+ (Bhe = o(() => {
+ (zl = {}), (Phe = {}), (tr = {});
+ }, 'clear')),
+ (RE = o(
+ (t, e) => (V.trace('In isDescendant', e, ' ', t, ' = ', zl[e].includes(t)), !!zl[e].includes(t)),
+ 'isDescendant'
+ )),
+ (nVe = o(
+ (t, e) => (
+ V.info('Descendants of ', e, ' is ', zl[e]),
+ V.info('Edge is ', t),
+ t.v === e || t.w === e
+ ? !1
+ : zl[e]
+ ? zl[e].includes(t.v) || RE(t.v, e) || RE(t.w, e) || zl[e].includes(t.w)
+ : (V.debug('Tilt, ', e, ',not in descendants'), !1)
+ ),
+ 'edgeInCluster'
+ )),
+ (Fhe = o((t, e, r, n) => {
+ V.warn('Copying children of ', t, 'root', n, 'data', e.node(t), n);
+ let i = e.children(t) || [];
+ t !== n && i.push(t),
+ V.warn('Copying (nodes) clusterId', t, 'nodes', i),
+ i.forEach((a) => {
+ if (e.children(a).length > 0) Fhe(a, e, r, n);
+ else {
+ let s = e.node(a);
+ V.info('cp ', a, ' to ', n, ' with parent ', t),
+ r.setNode(a, s),
+ n !== e.parent(a) &&
+ (V.warn('Setting parent', a, e.parent(a)), r.setParent(a, e.parent(a))),
+ t !== n && a !== t
+ ? (V.debug('Setting parent', a, t), r.setParent(a, t))
+ : (V.info('In copy ', t, 'root', n, 'data', e.node(t), n),
+ V.debug(
+ 'Not Setting parent for node=',
+ a,
+ 'cluster!==rootId',
+ t !== n,
+ 'node!==clusterId',
+ a !== t
+ ));
+ let l = e.edges(a);
+ V.debug('Copying Edges', l),
+ l.forEach((u) => {
+ V.info('Edge', u);
+ let h = e.edge(u.v, u.w, u.name);
+ V.info('Edge data', h, n);
+ try {
+ nVe(u, n)
+ ? (V.info('Copying as ', u.v, u.w, h, u.name),
+ r.setEdge(u.v, u.w, h, u.name),
+ V.info('newGraph edges ', r.edges(), r.edge(r.edges()[0])))
+ : V.info(
+ 'Skipping copy of edge ',
+ u.v,
+ '-->',
+ u.w,
+ ' rootId: ',
+ n,
+ ' clusterId:',
+ t
+ );
+ } catch (f) {
+ V.error(f);
+ }
+ });
+ }
+ V.debug('Removing node', a), e.removeNode(a);
+ });
+ }, 'copy')),
+ (zhe = o((t, e) => {
+ let r = e.children(t),
+ n = [...r];
+ for (let i of r) (Phe[i] = t), (n = [...n, ...zhe(i, e)]);
+ return n;
+ }, 'extractDescendants')),
+ (Fg = o((t, e) => {
+ V.trace('Searching', t);
+ let r = e.children(t);
+ if ((V.trace('Searching children of id ', t, r), r.length < 1))
+ return V.trace('This is a valid node', t), t;
+ for (let n of r) {
+ let i = Fg(n, e);
+ if (i) return V.trace('Found replacement for', t, ' => ', i), i;
+ }
+ }, 'findNonClusterChild')),
+ (DE = o((t) => (!tr[t] || !tr[t].externalConnections ? t : tr[t] ? tr[t].id : t), 'getAnchorId')),
+ (Ghe = o((t, e) => {
+ if (!t || e > 10) {
+ V.debug('Opting out, no graph ');
+ return;
+ } else V.debug('Opting in, graph ');
+ t.nodes().forEach(function (r) {
+ t.children(r).length > 0 &&
+ (V.warn('Cluster identified', r, ' Replacement id in edges: ', Fg(r, t)),
+ (zl[r] = zhe(r, t)),
+ (tr[r] = { id: Fg(r, t), clusterData: t.node(r) }));
+ }),
+ t.nodes().forEach(function (r) {
+ let n = t.children(r),
+ i = t.edges();
+ n.length > 0
+ ? (V.debug('Cluster identified', r, zl),
+ i.forEach((a) => {
+ if (a.v !== r && a.w !== r) {
+ let s = RE(a.v, r),
+ l = RE(a.w, r);
+ s ^ l &&
+ (V.warn('Edge: ', a, ' leaves cluster ', r),
+ V.warn('Descendants of XXX ', r, ': ', zl[r]),
+ (tr[r].externalConnections = !0));
+ }
+ }))
+ : V.debug('Not a cluster ', r, zl);
+ });
+ for (let r of Object.keys(tr)) {
+ let n = tr[r].id,
+ i = t.parent(n);
+ i !== r && tr[i] && !tr[i].externalConnections && (tr[r].id = i);
+ }
+ t.edges().forEach(function (r) {
+ let n = t.edge(r);
+ V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(r)),
+ V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(t.edge(r)));
+ let i = r.v,
+ a = r.w;
+ if (
+ (V.warn('Fix XXX', tr, 'ids:', r.v, r.w, 'Translating: ', tr[r.v], ' --- ', tr[r.w]),
+ tr[r.v] && tr[r.w] && tr[r.v] === tr[r.w])
+ ) {
+ V.warn('Fixing and trixing link to self - removing XXX', r.v, r.w, r.name),
+ V.warn('Fixing and trixing - removing XXX', r.v, r.w, r.name),
+ (i = DE(r.v)),
+ (a = DE(r.w)),
+ t.removeEdge(r.v, r.w, r.name);
+ let s = r.w + '---' + r.v;
+ t.setNode(s, {
+ domId: s,
+ id: s,
+ labelStyle: '',
+ labelText: n.label,
+ padding: 0,
+ shape: 'labelRect',
+ style: ''
+ });
+ let l = structuredClone(n),
+ u = structuredClone(n);
+ (l.label = ''),
+ (l.arrowTypeEnd = 'none'),
+ (u.label = ''),
+ (l.fromCluster = r.v),
+ (u.toCluster = r.v),
+ t.setEdge(i, s, l, r.name + '-cyclic-special'),
+ t.setEdge(s, a, u, r.name + '-cyclic-special');
+ } else if (tr[r.v] || tr[r.w]) {
+ if (
+ (V.warn('Fixing and trixing - removing XXX', r.v, r.w, r.name),
+ (i = DE(r.v)),
+ (a = DE(r.w)),
+ t.removeEdge(r.v, r.w, r.name),
+ i !== r.v)
+ ) {
+ let s = t.parent(i);
+ (tr[s].externalConnections = !0), (n.fromCluster = r.v);
+ }
+ if (a !== r.w) {
+ let s = t.parent(a);
+ (tr[s].externalConnections = !0), (n.toCluster = r.w);
+ }
+ V.warn('Fix Replacing with XXX', i, a, r.name), t.setEdge(i, a, n, r.name);
+ }
+ }),
+ V.warn('Adjusted Graph', zn(t)),
+ $he(t, 0),
+ V.trace(tr);
+ }, 'adjustClustersAndEdges')),
+ ($he = o((t, e) => {
+ if ((V.warn('extractor - ', e, zn(t), t.children('D')), e > 10)) {
+ V.error('Bailing out');
+ return;
+ }
+ let r = t.nodes(),
+ n = !1;
+ for (let i of r) {
+ let a = t.children(i);
+ n = n || a.length > 0;
+ }
+ if (!n) {
+ V.debug('Done, no node has children', t.nodes());
+ return;
+ }
+ V.debug('Nodes = ', r, e);
+ for (let i of r)
+ if (
+ (V.debug(
+ 'Extracting node',
+ i,
+ tr,
+ tr[i] && !tr[i].externalConnections,
+ !t.parent(i),
+ t.node(i),
+ t.children('D'),
+ ' Depth ',
+ e
+ ),
+ !tr[i])
+ )
+ V.debug('Not a cluster', i, e);
+ else if (!tr[i].externalConnections && t.children(i) && t.children(i).length > 0) {
+ V.warn('Cluster without external connections, without a parent and with children', i, e);
+ let s = t.graph().rankdir === 'TB' ? 'LR' : 'TB';
+ tr[i]?.clusterData?.dir &&
+ ((s = tr[i].clusterData.dir), V.warn('Fixing dir', tr[i].clusterData.dir, s));
+ let l = new lr({ multigraph: !0, compound: !0 })
+ .setGraph({
+ rankdir: s,
+ nodesep: 50,
+ ranksep: 50,
+ marginx: 8,
+ marginy: 8
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ V.warn('Old graph before copy', zn(t)),
+ Fhe(i, t, l, i),
+ t.setNode(i, {
+ clusterNode: !0,
+ id: i,
+ clusterData: tr[i].clusterData,
+ labelText: tr[i].labelText,
+ graph: l
+ }),
+ V.warn('New graph after copy node: (', i, ')', zn(l)),
+ V.debug('Old graph after copy', zn(t));
+ } else
+ V.warn(
+ 'Cluster ** ',
+ i,
+ ' **not meeting the criteria !externalConnections:',
+ !tr[i].externalConnections,
+ ' no parent: ',
+ !t.parent(i),
+ ' children ',
+ t.children(i) && t.children(i).length > 0,
+ t.children('D'),
+ e
+ ),
+ V.debug(tr);
+ (r = t.nodes()), V.warn('New list of nodes', r);
+ for (let i of r) {
+ let a = t.node(i);
+ V.warn(' Now next level', i, a), a.clusterNode && $he(a.graph, e + 1);
+ }
+ }, 'extractor')),
+ (Vhe = o((t, e) => {
+ if (e.length === 0) return [];
+ let r = Object.assign(e);
+ return (
+ e.forEach((n) => {
+ let i = t.children(n),
+ a = Vhe(t, i);
+ r = [...r, ...a];
+ }),
+ r
+ );
+ }, 'sorter')),
+ (Uhe = o((t) => Vhe(t, t.children()), 'sortNodesByHierarchy'));
+ });
+ var iVe,
+ aVe,
+ sVe,
+ oVe,
+ lVe,
+ Yhe,
+ Whe,
+ qhe,
+ Xhe = R(() => {
+ 'use strict';
+ S9();
+ ut();
+ bv();
+ Al();
+ Zt();
+ _t();
+ rr();
+ _d();
+ (iVe = o((t, e) => {
+ V.info('Creating subgraph rect for ', e.id, e);
+ let r = de(),
+ n = t
+ .insert('g')
+ .attr('class', 'cluster' + (e.class ? ' ' + e.class : ''))
+ .attr('id', e.id),
+ i = n.insert('rect', ':first-child'),
+ a = yr(r.flowchart.htmlLabels),
+ s = n.insert('g').attr('class', 'cluster-label'),
+ l =
+ e.labelType === 'markdown'
+ ? ta(s, e.labelText, { style: e.labelStyle, useHtmlLabels: a }, r)
+ : s.node().appendChild(ra(e.labelText, e.labelStyle, void 0, !0)),
+ u = l.getBBox();
+ if (yr(r.flowchart.htmlLabels)) {
+ let g = l.children[0],
+ y = $e(l);
+ (u = g.getBoundingClientRect()), y.attr('width', u.width), y.attr('height', u.height);
+ }
+ let h = 0 * e.padding,
+ f = h / 2,
+ d = e.width <= u.width + h ? u.width + h : e.width;
+ e.width <= u.width + h ? (e.diff = (u.width - e.width) / 2 - e.padding / 2) : (e.diff = -e.padding / 2),
+ V.trace('Data ', e, JSON.stringify(e)),
+ i
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', e.x - d / 2)
+ .attr('y', e.y - e.height / 2 - f)
+ .attr('width', d)
+ .attr('height', e.height + h);
+ let { subGraphTitleTopMargin: p } = io(r);
+ a
+ ? s.attr('transform', `translate(${e.x - u.width / 2}, ${e.y - e.height / 2 + p})`)
+ : s.attr('transform', `translate(${e.x}, ${e.y - e.height / 2 + p})`);
+ let m = i.node().getBBox();
+ return (
+ (e.width = m.width),
+ (e.height = m.height),
+ (e.intersect = function (g) {
+ return Ad(e, g);
+ }),
+ n
+ );
+ }, 'rect')),
+ (aVe = o((t, e) => {
+ let r = t.insert('g').attr('class', 'note-cluster').attr('id', e.id),
+ n = r.insert('rect', ':first-child'),
+ i = 0 * e.padding,
+ a = i / 2;
+ n.attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', e.x - e.width / 2 - a)
+ .attr('y', e.y - e.height / 2 - a)
+ .attr('width', e.width + i)
+ .attr('height', e.height + i)
+ .attr('fill', 'none');
+ let s = n.node().getBBox();
+ return (
+ (e.width = s.width),
+ (e.height = s.height),
+ (e.intersect = function (l) {
+ return Ad(e, l);
+ }),
+ r
+ );
+ }, 'noteGroup')),
+ (sVe = o((t, e) => {
+ let r = de(),
+ n = t.insert('g').attr('class', e.classes).attr('id', e.id),
+ i = n.insert('rect', ':first-child'),
+ a = n.insert('g').attr('class', 'cluster-label'),
+ s = n.append('rect'),
+ l = a.node().appendChild(ra(e.labelText, e.labelStyle, void 0, !0)),
+ u = l.getBBox();
+ if (yr(r.flowchart.htmlLabels)) {
+ let g = l.children[0],
+ y = $e(l);
+ (u = g.getBoundingClientRect()), y.attr('width', u.width), y.attr('height', u.height);
+ }
+ u = l.getBBox();
+ let h = 0 * e.padding,
+ f = h / 2,
+ d = e.width <= u.width + e.padding ? u.width + e.padding : e.width;
+ e.width <= u.width + e.padding
+ ? (e.diff = (u.width + e.padding * 0 - e.width) / 2)
+ : (e.diff = -e.padding / 2),
+ i
+ .attr('class', 'outer')
+ .attr('x', e.x - d / 2 - f)
+ .attr('y', e.y - e.height / 2 - f)
+ .attr('width', d + h)
+ .attr('height', e.height + h),
+ s
+ .attr('class', 'inner')
+ .attr('x', e.x - d / 2 - f)
+ .attr('y', e.y - e.height / 2 - f + u.height - 1)
+ .attr('width', d + h)
+ .attr('height', e.height + h - u.height - 3);
+ let { subGraphTitleTopMargin: p } = io(r);
+ a.attr(
+ 'transform',
+ `translate(${e.x - u.width / 2}, ${
+ e.y - e.height / 2 - e.padding / 3 + (yr(r.flowchart.htmlLabels) ? 5 : 3) + p
+ })`
+ );
+ let m = i.node().getBBox();
+ return (
+ (e.height = m.height),
+ (e.intersect = function (g) {
+ return Ad(e, g);
+ }),
+ n
+ );
+ }, 'roundedWithTitle')),
+ (oVe = o((t, e) => {
+ let r = t.insert('g').attr('class', e.classes).attr('id', e.id),
+ n = r.insert('rect', ':first-child'),
+ i = 0 * e.padding,
+ a = i / 2;
+ n.attr('class', 'divider')
+ .attr('x', e.x - e.width / 2 - a)
+ .attr('y', e.y - e.height / 2)
+ .attr('width', e.width + i)
+ .attr('height', e.height + i);
+ let s = n.node().getBBox();
+ return (
+ (e.width = s.width),
+ (e.height = s.height),
+ (e.diff = -e.padding / 2),
+ (e.intersect = function (l) {
+ return Ad(e, l);
+ }),
+ r
+ );
+ }, 'divider')),
+ (lVe = {
+ rect: iVe,
+ roundedWithTitle: sVe,
+ noteGroup: aVe,
+ divider: oVe
+ }),
+ (Yhe = {}),
+ (Whe = o((t, e) => {
+ V.trace('Inserting cluster');
+ let r = e.shape || 'rect';
+ Yhe[e.id] = lVe[r](t, e);
+ }, 'insertCluster')),
+ (qhe = o(() => {
+ Yhe = {};
+ }, 'clear'));
+ });
+ var Khe,
+ cVe,
+ jhe,
+ Qhe = R(() => {
+ 'use strict';
+ ut();
+ (Khe = o((t, e, r, n, i) => {
+ e.arrowTypeStart && jhe(t, 'start', e.arrowTypeStart, r, n, i),
+ e.arrowTypeEnd && jhe(t, 'end', e.arrowTypeEnd, r, n, i);
+ }, 'addEdgeMarkers')),
+ (cVe = {
+ arrow_cross: 'cross',
+ arrow_point: 'point',
+ arrow_barb: 'barb',
+ arrow_circle: 'circle',
+ aggregation: 'aggregation',
+ extension: 'extension',
+ composition: 'composition',
+ dependency: 'dependency',
+ lollipop: 'lollipop'
+ }),
+ (jhe = o((t, e, r, n, i, a) => {
+ let s = cVe[r];
+ if (!s) {
+ V.warn(`Unknown arrow type: ${r}`);
+ return;
+ }
+ let l = e === 'start' ? 'Start' : 'End';
+ t.attr(`marker-${e}`, `url(${n}#${i}_${a}-${s}${l})`);
+ }, 'addEdgeMarker'));
+ });
+ function NE(t, e) {
+ de().flowchart.htmlLabels && t && ((t.style.width = e.length * 9 + 'px'), (t.style.height = '12px'));
+ }
+ var ME,
+ Ta,
+ Jhe,
+ IE,
+ OE,
+ uVe,
+ hVe,
+ Zhe,
+ PE,
+ DO = R(() => {
+ 'use strict';
+ ut();
+ bv();
+ Al();
+ Zt();
+ _t();
+ xr();
+ rr();
+ j9();
+ _d();
+ Qhe();
+ (ME = {}),
+ (Ta = {}),
+ (Jhe = o(() => {
+ (ME = {}), (Ta = {});
+ }, 'clear')),
+ (IE = o((t, e) => {
+ let r = de(),
+ n = yr(r.flowchart.htmlLabels),
+ i =
+ e.labelType === 'markdown'
+ ? ta(
+ t,
+ e.label,
+ {
+ style: e.labelStyle,
+ useHtmlLabels: n,
+ addSvgBackground: !0
+ },
+ r
+ )
+ : ra(e.label, e.labelStyle),
+ a = t.insert('g').attr('class', 'edgeLabel'),
+ s = a.insert('g').attr('class', 'label');
+ s.node().appendChild(i);
+ let l = i.getBBox();
+ if (n) {
+ let h = i.children[0],
+ f = $e(i);
+ (l = h.getBoundingClientRect()), f.attr('width', l.width), f.attr('height', l.height);
+ }
+ s.attr('transform', 'translate(' + -l.width / 2 + ', ' + -l.height / 2 + ')'),
+ (ME[e.id] = a),
+ (e.width = l.width),
+ (e.height = l.height);
+ let u;
+ if (e.startLabelLeft) {
+ let h = ra(e.startLabelLeft, e.labelStyle),
+ f = t.insert('g').attr('class', 'edgeTerminals'),
+ d = f.insert('g').attr('class', 'inner');
+ u = d.node().appendChild(h);
+ let p = h.getBBox();
+ d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'),
+ Ta[e.id] || (Ta[e.id] = {}),
+ (Ta[e.id].startLeft = f),
+ NE(u, e.startLabelLeft);
+ }
+ if (e.startLabelRight) {
+ let h = ra(e.startLabelRight, e.labelStyle),
+ f = t.insert('g').attr('class', 'edgeTerminals'),
+ d = f.insert('g').attr('class', 'inner');
+ (u = f.node().appendChild(h)), d.node().appendChild(h);
+ let p = h.getBBox();
+ d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'),
+ Ta[e.id] || (Ta[e.id] = {}),
+ (Ta[e.id].startRight = f),
+ NE(u, e.startLabelRight);
+ }
+ if (e.endLabelLeft) {
+ let h = ra(e.endLabelLeft, e.labelStyle),
+ f = t.insert('g').attr('class', 'edgeTerminals'),
+ d = f.insert('g').attr('class', 'inner');
+ u = d.node().appendChild(h);
+ let p = h.getBBox();
+ d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'),
+ f.node().appendChild(h),
+ Ta[e.id] || (Ta[e.id] = {}),
+ (Ta[e.id].endLeft = f),
+ NE(u, e.endLabelLeft);
+ }
+ if (e.endLabelRight) {
+ let h = ra(e.endLabelRight, e.labelStyle),
+ f = t.insert('g').attr('class', 'edgeTerminals'),
+ d = f.insert('g').attr('class', 'inner');
+ u = d.node().appendChild(h);
+ let p = h.getBBox();
+ d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'),
+ f.node().appendChild(h),
+ Ta[e.id] || (Ta[e.id] = {}),
+ (Ta[e.id].endRight = f),
+ NE(u, e.endLabelRight);
+ }
+ return i;
+ }, 'insertEdgeLabel'));
+ o(NE, 'setTerminalWidth');
+ (OE = o((t, e) => {
+ V.debug('Moving label abc88 ', t.id, t.label, ME[t.id], e);
+ let r = e.updatedPath ? e.updatedPath : e.originalPath,
+ n = de(),
+ { subGraphTitleTotalMargin: i } = io(n);
+ if (t.label) {
+ let a = ME[t.id],
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcLabelPosition(r);
+ V.debug('Moving label ' + t.label + ' from (', s, ',', l, ') to (', u.x, ',', u.y, ') abc88'),
+ e.updatedPath && ((s = u.x), (l = u.y));
+ }
+ a.attr('transform', `translate(${s}, ${l + i / 2})`);
+ }
+ if (t.startLabelLeft) {
+ let a = Ta[t.id].startLeft,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_left', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.startLabelRight) {
+ let a = Ta[t.id].startRight,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_right', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.endLabelLeft) {
+ let a = Ta[t.id].endLeft,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_left', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.endLabelRight) {
+ let a = Ta[t.id].endRight,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_right', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ }, 'positionEdgeLabel')),
+ (uVe = o((t, e) => {
+ let r = t.x,
+ n = t.y,
+ i = Math.abs(e.x - r),
+ a = Math.abs(e.y - n),
+ s = t.width / 2,
+ l = t.height / 2;
+ return i >= s || a >= l;
+ }, 'outsideNode')),
+ (hVe = o((t, e, r) => {
+ V.debug(`intersection calc abc89:
+ outsidePoint: ${JSON.stringify(e)}
+ insidePoint : ${JSON.stringify(r)}
+ node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);
+ let n = t.x,
+ i = t.y,
+ a = Math.abs(n - r.x),
+ s = t.width / 2,
+ l = r.x < e.x ? s - a : s + a,
+ u = t.height / 2,
+ h = Math.abs(e.y - r.y),
+ f = Math.abs(e.x - r.x);
+ if (Math.abs(i - e.y) * s > Math.abs(n - e.x) * u) {
+ let d = r.y < e.y ? e.y - u - i : i - u - e.y;
+ l = (f * d) / h;
+ let p = {
+ x: r.x < e.x ? r.x + l : r.x - f + l,
+ y: r.y < e.y ? r.y + h - d : r.y - h + d
+ };
+ return (
+ l === 0 && ((p.x = e.x), (p.y = e.y)),
+ f === 0 && (p.x = e.x),
+ h === 0 && (p.y = e.y),
+ V.debug(`abc89 topp/bott calc, Q ${h}, q ${d}, R ${f}, r ${l}`, p),
+ p
+ );
+ } else {
+ r.x < e.x ? (l = e.x - s - n) : (l = n - s - e.x);
+ let d = (h * l) / f,
+ p = r.x < e.x ? r.x + f - l : r.x - f + l,
+ m = r.y < e.y ? r.y + d : r.y - d;
+ return (
+ V.debug(`sides calc abc89, Q ${h}, q ${d}, R ${f}, r ${l}`, {
+ _x: p,
+ _y: m
+ }),
+ l === 0 && ((p = e.x), (m = e.y)),
+ f === 0 && (p = e.x),
+ h === 0 && (m = e.y),
+ { x: p, y: m }
+ );
+ }
+ }, 'intersection')),
+ (Zhe = o((t, e) => {
+ V.debug('abc88 cutPathAtIntersect', t, e);
+ let r = [],
+ n = t[0],
+ i = !1;
+ return (
+ t.forEach((a) => {
+ if (!uVe(e, a) && !i) {
+ let s = hVe(e, n, a),
+ l = !1;
+ r.forEach((u) => {
+ l = l || (u.x === s.x && u.y === s.y);
+ }),
+ r.some((u) => u.x === s.x && u.y === s.y) || r.push(s),
+ (i = !0);
+ } else (n = a), i || r.push(a);
+ }),
+ r
+ );
+ }, 'cutPathAtIntersect')),
+ (PE = o(function (t, e, r, n, i, a, s) {
+ let l = r.points;
+ V.debug('abc88 InsertEdge: edge=', r, 'e=', e);
+ let u = !1,
+ h = a.node(e.v);
+ var f = a.node(e.w);
+ f?.intersect &&
+ h?.intersect &&
+ ((l = l.slice(1, r.points.length - 1)),
+ l.unshift(h.intersect(l[0])),
+ l.push(f.intersect(l[l.length - 1]))),
+ r.toCluster &&
+ (V.debug('to cluster abc88', n[r.toCluster]),
+ (l = Zhe(r.points, n[r.toCluster].node)),
+ (u = !0)),
+ r.fromCluster &&
+ (V.debug('from cluster abc88', n[r.fromCluster]),
+ (l = Zhe(l.reverse(), n[r.fromCluster].node).reverse()),
+ (u = !0));
+ let d = l.filter((S) => !Number.isNaN(S.y)),
+ p = vs;
+ r.curve && (i === 'graph' || i === 'flowchart') && (p = r.curve);
+ let { x: m, y: g } = X5(r),
+ y = ha().x(m).y(g).curve(p),
+ v;
+ switch (r.thickness) {
+ case 'normal':
+ v = 'edge-thickness-normal';
+ break;
+ case 'thick':
+ v = 'edge-thickness-thick';
+ break;
+ case 'invisible':
+ v = 'edge-thickness-thick';
+ break;
+ default:
+ v = '';
+ }
+ switch (r.pattern) {
+ case 'solid':
+ v += ' edge-pattern-solid';
+ break;
+ case 'dotted':
+ v += ' edge-pattern-dotted';
+ break;
+ case 'dashed':
+ v += ' edge-pattern-dashed';
+ break;
+ }
+ let x = t
+ .append('path')
+ .attr('d', y(d))
+ .attr('id', r.id)
+ .attr('class', ' ' + v + (r.classes ? ' ' + r.classes : ''))
+ .attr('style', r.style),
+ b = '';
+ (de().flowchart.arrowMarkerAbsolute || de().state.arrowMarkerAbsolute) &&
+ ((b =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (b = b.replace(/\(/g, '\\(')),
+ (b = b.replace(/\)/g, '\\)'))),
+ Khe(x, r, b, s, i);
+ let w = {};
+ return u && (w.updatedPath = l), (w.originalPath = r.points), w;
+ }, 'insertEdge'));
+ });
+ var efe,
+ tfe,
+ rfe = R(() => {
+ 'use strict';
+ Vd();
+ Pv();
+ LO();
+ N5();
+ Hhe();
+ M5();
+ Xhe();
+ DO();
+ ut();
+ _d();
+ _t();
+ (efe = o(async (t, e, r, n, i, a) => {
+ V.info('Graph in recursive render: XXX', zn(e), i);
+ let s = e.graph().rankdir;
+ V.trace('Dir in recursive render - dir:', s);
+ let l = t.insert('g').attr('class', 'root');
+ e.nodes() ? V.info('Recursive render XXX', e.nodes()) : V.info('No nodes found for', e),
+ e.edges().length > 0 && V.trace('Recursive edges', e.edge(e.edges()[0]));
+ let u = l.insert('g').attr('class', 'clusters'),
+ h = l.insert('g').attr('class', 'edgePaths'),
+ f = l.insert('g').attr('class', 'edgeLabels'),
+ d = l.insert('g').attr('class', 'nodes');
+ await Promise.all(
+ e.nodes().map(async function (g) {
+ let y = e.node(g);
+ if (i !== void 0) {
+ let v = JSON.parse(JSON.stringify(i.clusterData));
+ V.info('Setting data for cluster XXX (', g, ') ', v, i),
+ e.setNode(i.id, v),
+ e.parent(g) || (V.trace('Setting parent', g, i.id), e.setParent(g, i.id, v));
+ }
+ if ((V.info('(Insert) Node XXX' + g + ': ' + JSON.stringify(e.node(g))), y?.clusterNode)) {
+ V.info('Cluster identified', g, y.width, e.node(g));
+ let { ranksep: v, nodesep: x } = e.graph();
+ y.graph.setGraph({ ...y.graph.graph(), ranksep: v, nodesep: x });
+ let b = await efe(d, y.graph, r, n, e.node(g), a),
+ w = b.elem;
+ kn(y, w),
+ (y.diff = b.diff || 0),
+ V.info('Node bounds (abc123)', g, y, y.width, y.x, y.y),
+ Bj(w, y),
+ V.warn('Recursive render complete ', w, y);
+ } else e.children(g).length > 0 ? (V.info('Cluster - the non recursive path XXX', g, y.id, y, e), V.info(Fg(y.id, e)), (tr[y.id] = { id: Fg(y.id, e), node: y })) : (V.info('Node - the non recursive path', g, y.id, y), await pm(d, e.node(g), s));
+ })
+ ),
+ e.edges().forEach(async function (g) {
+ let y = e.edge(g.v, g.w, g.name);
+ V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(g)),
+ V.info('Edge ' + g.v + ' -> ' + g.w + ': ', g, ' ', JSON.stringify(e.edge(g))),
+ V.info('Fix', tr, 'ids:', g.v, g.w, 'Translating: ', tr[g.v], tr[g.w]),
+ await IE(f, y);
+ }),
+ e.edges().forEach(function (g) {
+ V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(g));
+ }),
+ V.info('Graph before layout:', JSON.stringify(zn(e))),
+ V.info('#############################################'),
+ V.info('### Layout ###'),
+ V.info('#############################################'),
+ V.info(e),
+ lo(e),
+ V.info('Graph after layout:', JSON.stringify(zn(e)));
+ let p = 0,
+ { subGraphTitleTotalMargin: m } = io(a);
+ return (
+ Uhe(e).forEach(function (g) {
+ let y = e.node(g);
+ V.info('Position ' + g + ': ' + JSON.stringify(e.node(g))),
+ V.info(
+ 'Position ' + g + ': (' + y.x,
+ ',' + y.y,
+ ') width: ',
+ y.width,
+ ' height: ',
+ y.height
+ ),
+ y?.clusterNode
+ ? ((y.y += m), wv(y))
+ : e.children(g).length > 0
+ ? ((y.height += m), Whe(u, y), (tr[y.id].node = y))
+ : ((y.y += m / 2), wv(y));
+ }),
+ e.edges().forEach(function (g) {
+ let y = e.edge(g);
+ V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(y), y),
+ y.points.forEach((x) => (x.y += m / 2));
+ let v = PE(h, g, y, tr, r, e, n);
+ OE(y, v);
+ }),
+ e.nodes().forEach(function (g) {
+ let y = e.node(g);
+ V.info(g, y.type, y.diff), y.type === 'group' && (p = y.diff);
+ }),
+ { elem: l, diff: p }
+ );
+ }, 'recursiveRender')),
+ (tfe = o(async (t, e, r, n, i) => {
+ LE(t, r, n, i),
+ Fj(),
+ Jhe(),
+ qhe(),
+ Bhe(),
+ V.warn('Graph at first:', JSON.stringify(zn(e))),
+ Ghe(e),
+ V.warn('Graph after:', JSON.stringify(zn(e)));
+ let a = de();
+ await efe(t, e, n, i, void 0, a);
+ }, 'render'));
+ });
+ function nfe(t) {
+ let e;
+ switch (t) {
+ case 0:
+ e = 'aggregation';
+ break;
+ case 1:
+ e = 'extension';
+ break;
+ case 2:
+ e = 'composition';
+ break;
+ case 3:
+ e = 'dependency';
+ break;
+ case 4:
+ e = 'lollipop';
+ break;
+ default:
+ e = 'none';
+ }
+ return e;
+ }
+ var NO,
+ RO,
+ fVe,
+ ife,
+ dVe,
+ pVe,
+ mVe,
+ gVe,
+ afe,
+ sfe = R(() => {
+ 'use strict';
+ Zt();
+ ya();
+ ut();
+ _t();
+ rfe();
+ xr();
+ xr();
+ Yn();
+ rr();
+ (NO = o((t) => We.sanitizeText(t, de()), 'sanitizeText')),
+ (RO = { dividerMargin: 10, padding: 5, textHeight: 10, curve: void 0 }),
+ (fVe = o(function (t, e, r, n) {
+ V.info('keys:', [...t.keys()]),
+ V.info(t),
+ t.forEach(function (i) {
+ let s = {
+ shape: 'rect',
+ id: i.id,
+ domId: i.domId,
+ labelText: NO(i.id),
+ labelStyle: '',
+ style: 'fill: none; stroke: black',
+ padding: de().flowchart?.padding ?? de().class?.padding
+ };
+ e.setNode(i.id, s), ife(i.classes, e, r, n, i.id), V.info('setNode', s);
+ });
+ }, 'addNamespaces')),
+ (ife = o(function (t, e, r, n, i) {
+ V.info('keys:', [...t.keys()]),
+ V.info(t),
+ [...t.values()]
+ .filter((a) => a.parent === i)
+ .forEach(function (a) {
+ let s = a.cssClasses.join(' '),
+ l = lm(a.styles),
+ u = a.label ?? a.id,
+ h = 0,
+ d = {
+ labelStyle: l.labelStyle,
+ shape: 'class_box',
+ labelText: NO(u),
+ classData: a,
+ rx: h,
+ ry: h,
+ class: s,
+ style: l.style,
+ id: a.id,
+ domId: a.domId,
+ tooltip: n.db.getTooltip(a.id, i) || '',
+ haveCallback: a.haveCallback,
+ link: a.link,
+ width: a.type === 'group' ? 500 : void 0,
+ type: a.type,
+ padding: de().flowchart?.padding ?? de().class?.padding
+ };
+ e.setNode(a.id, d), i && e.setParent(a.id, i), V.info('setNode', d);
+ });
+ }, 'addClasses')),
+ (dVe = o(function (t, e, r, n) {
+ V.info(t),
+ t.forEach(function (i, a) {
+ let s = i,
+ l = '',
+ u = { labelStyle: '', style: '' },
+ h = s.text,
+ f = 0,
+ p = {
+ labelStyle: u.labelStyle,
+ shape: 'note',
+ labelText: NO(h),
+ noteData: s,
+ rx: f,
+ ry: f,
+ class: l,
+ style: u.style,
+ id: s.id,
+ domId: s.id,
+ tooltip: '',
+ type: 'note',
+ padding: de().flowchart?.padding ?? de().class?.padding
+ };
+ if ((e.setNode(s.id, p), V.info('setNode', p), !s.class || !n.has(s.class))) return;
+ let m = r + a,
+ g = {
+ id: `edgeNote${m}`,
+ classes: 'relation',
+ pattern: 'dotted',
+ arrowhead: 'none',
+ startLabelRight: '',
+ endLabelLeft: '',
+ arrowTypeStart: 'none',
+ arrowTypeEnd: 'none',
+ style: 'fill:none',
+ labelStyle: '',
+ curve: om(RO.curve, xu)
+ };
+ e.setEdge(s.id, s.class, g, m);
+ });
+ }, 'addNotes')),
+ (pVe = o(function (t, e) {
+ let r = de().flowchart,
+ n = 0;
+ t.forEach(function (i) {
+ n++;
+ let a = {
+ classes: 'relation',
+ pattern: i.relation.lineType == 1 ? 'dashed' : 'solid',
+ id: y5(i.id1, i.id2, { prefix: 'id', counter: n }),
+ arrowhead: i.type === 'arrow_open' ? 'none' : 'normal',
+ startLabelRight: i.relationTitle1 === 'none' ? '' : i.relationTitle1,
+ endLabelLeft: i.relationTitle2 === 'none' ? '' : i.relationTitle2,
+ arrowTypeStart: nfe(i.relation.type1),
+ arrowTypeEnd: nfe(i.relation.type2),
+ style: 'fill:none',
+ labelStyle: '',
+ curve: om(r?.curve, xu)
+ };
+ if ((V.info(a, i), i.style !== void 0)) {
+ let s = lm(i.style);
+ (a.style = s.style), (a.labelStyle = s.labelStyle);
+ }
+ (i.text = i.title),
+ i.text === void 0
+ ? i.style !== void 0 && (a.arrowheadStyle = 'fill: #333')
+ : ((a.arrowheadStyle = 'fill: #333'),
+ (a.labelpos = 'c'),
+ de().flowchart?.htmlLabels ?? de().htmlLabels
+ ? ((a.labelType = 'html'),
+ (a.label = '' + i.text + ''))
+ : ((a.labelType = 'text'),
+ (a.label = i.text.replace(
+ We.lineBreakRegex,
+ `
+`
+ )),
+ i.style === void 0 &&
+ (a.style = a.style || 'stroke: #333; stroke-width: 1.5px;fill:none'),
+ (a.labelStyle = a.labelStyle.replace('color:', 'fill:')))),
+ e.setEdge(i.id1, i.id2, a, n);
+ });
+ }, 'addRelations')),
+ (mVe = o(function (t) {
+ RO = { ...RO, ...t };
+ }, 'setConf')),
+ (gVe = o(async function (t, e, r, n) {
+ V.info('Drawing class - ', e);
+ let i = de().flowchart ?? de().class,
+ a = de().securityLevel;
+ V.info('config:', i);
+ let s = i?.nodeSpacing ?? 50,
+ l = i?.rankSpacing ?? 50,
+ u = new lr({ multigraph: !0, compound: !0 })
+ .setGraph({
+ rankdir: n.db.getDirection(),
+ nodesep: s,
+ ranksep: l,
+ marginx: 8,
+ marginy: 8
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ }),
+ h = n.db.getNamespaces(),
+ f = n.db.getClasses(),
+ d = n.db.getRelations(),
+ p = n.db.getNotes();
+ V.info(d), fVe(h, u, e, n), ife(f, u, e, n), pVe(d, u), dVe(p, u, d.length + 1, f);
+ let m;
+ a === 'sandbox' && (m = $e('#i' + e));
+ let g = a === 'sandbox' ? $e(m.nodes()[0].contentDocument.body) : $e('body'),
+ y = g.select(`[id="${e}"]`),
+ v = g.select('#' + e + ' g');
+ if (
+ (await tfe(
+ v,
+ u,
+ ['aggregation', 'extension', 'composition', 'dependency', 'lollipop'],
+ 'classDiagram',
+ e
+ ),
+ Lt.insertTitle(y, 'classTitleText', i?.titleTopMargin ?? 5, n.db.getDiagramTitle()),
+ Lo(u, y, i?.diagramPadding, i?.useMaxWidth),
+ !i?.htmlLabels)
+ ) {
+ let x = a === 'sandbox' ? m.nodes()[0].contentDocument : document,
+ b = x.querySelectorAll('[id="' + e + '"] .edgeLabel .label');
+ for (let w of b) {
+ let S = w.getBBox(),
+ T = x.createElementNS('http://www.w3.org/2000/svg', 'rect');
+ T.setAttribute('rx', 0),
+ T.setAttribute('ry', 0),
+ T.setAttribute('width', S.width),
+ T.setAttribute('height', S.height),
+ w.insertBefore(T, w.firstChild);
+ }
+ }
+ }, 'draw'));
+ o(nfe, 'getArrowMarker');
+ afe = { setConf: mVe, draw: gVe };
+ });
+ var ofe = {};
+ hr(ofe, { diagram: () => yVe });
+ var yVe,
+ lfe = R(() => {
+ 'use strict';
+ TO();
+ AO();
+ _O();
+ sfe();
+ yVe = {
+ parser: wE,
+ db: Bg,
+ renderer: afe,
+ styles: CE,
+ init: o((t) => {
+ t.class || (t.class = {}), (t.class.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Bg.clear();
+ }, 'init')
+ };
+ });
+ var MO,
+ BE,
+ IO = R(() => {
+ 'use strict';
+ MO = (function () {
+ var t = o(function (F, B, $, z) {
+ for ($ = $ || {}, z = F.length; z--; $[F[z]] = B);
+ return $;
+ }, 'o'),
+ e = [1, 2],
+ r = [1, 3],
+ n = [1, 4],
+ i = [2, 4],
+ a = [1, 9],
+ s = [1, 11],
+ l = [1, 16],
+ u = [1, 17],
+ h = [1, 18],
+ f = [1, 19],
+ d = [1, 32],
+ p = [1, 20],
+ m = [1, 21],
+ g = [1, 22],
+ y = [1, 23],
+ v = [1, 24],
+ x = [1, 26],
+ b = [1, 27],
+ w = [1, 28],
+ S = [1, 29],
+ T = [1, 30],
+ E = [1, 31],
+ _ = [1, 34],
+ A = [1, 35],
+ L = [1, 36],
+ M = [1, 37],
+ N = [1, 33],
+ k = [
+ 1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54
+ ],
+ I = [
+ 1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50,
+ 51, 54
+ ],
+ C = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54],
+ O = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ SPACE: 4,
+ NL: 5,
+ SD: 6,
+ document: 7,
+ line: 8,
+ statement: 9,
+ classDefStatement: 10,
+ styleStatement: 11,
+ cssClassStatement: 12,
+ idStatement: 13,
+ DESCR: 14,
+ '-->': 15,
+ HIDE_EMPTY: 16,
+ scale: 17,
+ WIDTH: 18,
+ COMPOSIT_STATE: 19,
+ STRUCT_START: 20,
+ STRUCT_STOP: 21,
+ STATE_DESCR: 22,
+ AS: 23,
+ ID: 24,
+ FORK: 25,
+ JOIN: 26,
+ CHOICE: 27,
+ CONCURRENT: 28,
+ note: 29,
+ notePosition: 30,
+ NOTE_TEXT: 31,
+ direction: 32,
+ acc_title: 33,
+ acc_title_value: 34,
+ acc_descr: 35,
+ acc_descr_value: 36,
+ acc_descr_multiline_value: 37,
+ classDef: 38,
+ CLASSDEF_ID: 39,
+ CLASSDEF_STYLEOPTS: 40,
+ DEFAULT: 41,
+ style: 42,
+ STYLE_IDS: 43,
+ STYLEDEF_STYLEOPTS: 44,
+ class: 45,
+ CLASSENTITY_IDS: 46,
+ STYLECLASS: 47,
+ direction_tb: 48,
+ direction_bt: 49,
+ direction_rl: 50,
+ direction_lr: 51,
+ eol: 52,
+ ';': 53,
+ EDGE_STATE: 54,
+ STYLE_SEPARATOR: 55,
+ left_of: 56,
+ right_of: 57,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'SPACE',
+ 5: 'NL',
+ 6: 'SD',
+ 14: 'DESCR',
+ 15: '-->',
+ 16: 'HIDE_EMPTY',
+ 17: 'scale',
+ 18: 'WIDTH',
+ 19: 'COMPOSIT_STATE',
+ 20: 'STRUCT_START',
+ 21: 'STRUCT_STOP',
+ 22: 'STATE_DESCR',
+ 23: 'AS',
+ 24: 'ID',
+ 25: 'FORK',
+ 26: 'JOIN',
+ 27: 'CHOICE',
+ 28: 'CONCURRENT',
+ 29: 'note',
+ 31: 'NOTE_TEXT',
+ 33: 'acc_title',
+ 34: 'acc_title_value',
+ 35: 'acc_descr',
+ 36: 'acc_descr_value',
+ 37: 'acc_descr_multiline_value',
+ 38: 'classDef',
+ 39: 'CLASSDEF_ID',
+ 40: 'CLASSDEF_STYLEOPTS',
+ 41: 'DEFAULT',
+ 42: 'style',
+ 43: 'STYLE_IDS',
+ 44: 'STYLEDEF_STYLEOPTS',
+ 45: 'class',
+ 46: 'CLASSENTITY_IDS',
+ 47: 'STYLECLASS',
+ 48: 'direction_tb',
+ 49: 'direction_bt',
+ 50: 'direction_rl',
+ 51: 'direction_lr',
+ 53: ';',
+ 54: 'EDGE_STATE',
+ 55: 'STYLE_SEPARATOR',
+ 56: 'left_of',
+ 57: 'right_of'
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 2],
+ [3, 2],
+ [7, 0],
+ [7, 2],
+ [8, 2],
+ [8, 1],
+ [8, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [9, 3],
+ [9, 4],
+ [9, 1],
+ [9, 2],
+ [9, 1],
+ [9, 4],
+ [9, 3],
+ [9, 6],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 4],
+ [9, 4],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [10, 3],
+ [10, 3],
+ [11, 3],
+ [12, 3],
+ [32, 1],
+ [32, 1],
+ [32, 1],
+ [32, 1],
+ [52, 1],
+ [52, 1],
+ [13, 1],
+ [13, 1],
+ [13, 3],
+ [13, 3],
+ [30, 1],
+ [30, 1]
+ ],
+ performAction: o(function (B, $, z, Y, Q, X, ie) {
+ var j = X.length - 1;
+ switch (Q) {
+ case 3:
+ return Y.setRootDoc(X[j]), X[j];
+ break;
+ case 4:
+ this.$ = [];
+ break;
+ case 5:
+ X[j] != 'nl' && (X[j - 1].push(X[j]), (this.$ = X[j - 1]));
+ break;
+ case 6:
+ case 7:
+ this.$ = X[j];
+ break;
+ case 8:
+ this.$ = 'nl';
+ break;
+ case 12:
+ this.$ = X[j];
+ break;
+ case 13:
+ let q = X[j - 1];
+ (q.description = Y.trimColon(X[j])), (this.$ = q);
+ break;
+ case 14:
+ this.$ = { stmt: 'relation', state1: X[j - 2], state2: X[j] };
+ break;
+ case 15:
+ let K = Y.trimColon(X[j]);
+ this.$ = {
+ stmt: 'relation',
+ state1: X[j - 3],
+ state2: X[j - 1],
+ description: K
+ };
+ break;
+ case 19:
+ this.$ = {
+ stmt: 'state',
+ id: X[j - 3],
+ type: 'default',
+ description: '',
+ doc: X[j - 1]
+ };
+ break;
+ case 20:
+ var J = X[j],
+ Z = X[j - 2].trim();
+ if (X[j].match(':')) {
+ var H = X[j].split(':');
+ (J = H[0]), (Z = [Z, H[1]]);
+ }
+ this.$ = {
+ stmt: 'state',
+ id: J,
+ type: 'default',
+ description: Z
+ };
+ break;
+ case 21:
+ this.$ = {
+ stmt: 'state',
+ id: X[j - 3],
+ type: 'default',
+ description: X[j - 5],
+ doc: X[j - 1]
+ };
+ break;
+ case 22:
+ this.$ = { stmt: 'state', id: X[j], type: 'fork' };
+ break;
+ case 23:
+ this.$ = { stmt: 'state', id: X[j], type: 'join' };
+ break;
+ case 24:
+ this.$ = { stmt: 'state', id: X[j], type: 'choice' };
+ break;
+ case 25:
+ this.$ = {
+ stmt: 'state',
+ id: Y.getDividerId(),
+ type: 'divider'
+ };
+ break;
+ case 26:
+ this.$ = {
+ stmt: 'state',
+ id: X[j - 1].trim(),
+ note: { position: X[j - 2].trim(), text: X[j].trim() }
+ };
+ break;
+ case 29:
+ (this.$ = X[j].trim()), Y.setAccTitle(this.$);
+ break;
+ case 30:
+ case 31:
+ (this.$ = X[j].trim()), Y.setAccDescription(this.$);
+ break;
+ case 32:
+ case 33:
+ this.$ = {
+ stmt: 'classDef',
+ id: X[j - 1].trim(),
+ classes: X[j].trim()
+ };
+ break;
+ case 34:
+ this.$ = {
+ stmt: 'style',
+ id: X[j - 1].trim(),
+ styleClass: X[j].trim()
+ };
+ break;
+ case 35:
+ this.$ = {
+ stmt: 'applyClass',
+ id: X[j - 1].trim(),
+ styleClass: X[j].trim()
+ };
+ break;
+ case 36:
+ Y.setDirection('TB'), (this.$ = { stmt: 'dir', value: 'TB' });
+ break;
+ case 37:
+ Y.setDirection('BT'), (this.$ = { stmt: 'dir', value: 'BT' });
+ break;
+ case 38:
+ Y.setDirection('RL'), (this.$ = { stmt: 'dir', value: 'RL' });
+ break;
+ case 39:
+ Y.setDirection('LR'), (this.$ = { stmt: 'dir', value: 'LR' });
+ break;
+ case 42:
+ case 43:
+ this.$ = {
+ stmt: 'state',
+ id: X[j].trim(),
+ type: 'default',
+ description: ''
+ };
+ break;
+ case 44:
+ this.$ = {
+ stmt: 'state',
+ id: X[j - 2].trim(),
+ classes: [X[j].trim()],
+ type: 'default',
+ description: ''
+ };
+ break;
+ case 45:
+ this.$ = {
+ stmt: 'state',
+ id: X[j - 2].trim(),
+ classes: [X[j].trim()],
+ type: 'default',
+ description: ''
+ };
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: e, 5: r, 6: n },
+ { 1: [3] },
+ { 3: 5, 4: e, 5: r, 6: n },
+ { 3: 6, 4: e, 5: r, 6: n },
+ t(
+ [
+ 1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50,
+ 51, 54
+ ],
+ i,
+ { 7: 7 }
+ ),
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ {
+ 1: [2, 3],
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 13: 15,
+ 16: l,
+ 17: u,
+ 19: h,
+ 22: f,
+ 24: d,
+ 25: p,
+ 26: m,
+ 27: g,
+ 28: y,
+ 29: v,
+ 32: 25,
+ 33: x,
+ 35: b,
+ 37: w,
+ 38: S,
+ 42: T,
+ 45: E,
+ 48: _,
+ 49: A,
+ 50: L,
+ 51: M,
+ 54: N
+ },
+ t(k, [2, 5]),
+ {
+ 9: 38,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 13: 15,
+ 16: l,
+ 17: u,
+ 19: h,
+ 22: f,
+ 24: d,
+ 25: p,
+ 26: m,
+ 27: g,
+ 28: y,
+ 29: v,
+ 32: 25,
+ 33: x,
+ 35: b,
+ 37: w,
+ 38: S,
+ 42: T,
+ 45: E,
+ 48: _,
+ 49: A,
+ 50: L,
+ 51: M,
+ 54: N
+ },
+ t(k, [2, 7]),
+ t(k, [2, 8]),
+ t(k, [2, 9]),
+ t(k, [2, 10]),
+ t(k, [2, 11]),
+ t(k, [2, 12], { 14: [1, 39], 15: [1, 40] }),
+ t(k, [2, 16]),
+ { 18: [1, 41] },
+ t(k, [2, 18], { 20: [1, 42] }),
+ { 23: [1, 43] },
+ t(k, [2, 22]),
+ t(k, [2, 23]),
+ t(k, [2, 24]),
+ t(k, [2, 25]),
+ { 30: 44, 31: [1, 45], 56: [1, 46], 57: [1, 47] },
+ t(k, [2, 28]),
+ { 34: [1, 48] },
+ { 36: [1, 49] },
+ t(k, [2, 31]),
+ { 39: [1, 50], 41: [1, 51] },
+ { 43: [1, 52] },
+ { 46: [1, 53] },
+ t(I, [2, 42], { 55: [1, 54] }),
+ t(I, [2, 43], { 55: [1, 55] }),
+ t(k, [2, 36]),
+ t(k, [2, 37]),
+ t(k, [2, 38]),
+ t(k, [2, 39]),
+ t(k, [2, 6]),
+ t(k, [2, 13]),
+ { 13: 56, 24: d, 54: N },
+ t(k, [2, 17]),
+ t(C, i, { 7: 57 }),
+ { 24: [1, 58] },
+ { 24: [1, 59] },
+ { 23: [1, 60] },
+ { 24: [2, 46] },
+ { 24: [2, 47] },
+ t(k, [2, 29]),
+ t(k, [2, 30]),
+ { 40: [1, 61] },
+ { 40: [1, 62] },
+ { 44: [1, 63] },
+ { 47: [1, 64] },
+ { 24: [1, 65] },
+ { 24: [1, 66] },
+ t(k, [2, 14], { 14: [1, 67] }),
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 13: 15,
+ 16: l,
+ 17: u,
+ 19: h,
+ 21: [1, 68],
+ 22: f,
+ 24: d,
+ 25: p,
+ 26: m,
+ 27: g,
+ 28: y,
+ 29: v,
+ 32: 25,
+ 33: x,
+ 35: b,
+ 37: w,
+ 38: S,
+ 42: T,
+ 45: E,
+ 48: _,
+ 49: A,
+ 50: L,
+ 51: M,
+ 54: N
+ },
+ t(k, [2, 20], { 20: [1, 69] }),
+ { 31: [1, 70] },
+ { 24: [1, 71] },
+ t(k, [2, 32]),
+ t(k, [2, 33]),
+ t(k, [2, 34]),
+ t(k, [2, 35]),
+ t(I, [2, 44]),
+ t(I, [2, 45]),
+ t(k, [2, 15]),
+ t(k, [2, 19]),
+ t(C, i, { 7: 72 }),
+ t(k, [2, 26]),
+ t(k, [2, 27]),
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 13: 15,
+ 16: l,
+ 17: u,
+ 19: h,
+ 21: [1, 73],
+ 22: f,
+ 24: d,
+ 25: p,
+ 26: m,
+ 27: g,
+ 28: y,
+ 29: v,
+ 32: 25,
+ 33: x,
+ 35: b,
+ 37: w,
+ 38: S,
+ 42: T,
+ 45: E,
+ 48: _,
+ 49: A,
+ 50: L,
+ 51: M,
+ 54: N
+ },
+ t(k, [2, 21])
+ ],
+ defaultActions: { 5: [2, 1], 6: [2, 2], 46: [2, 46], 47: [2, 47] },
+ parseError: o(function (B, $) {
+ if ($.recoverable) this.trace(B);
+ else {
+ var z = new Error(B);
+ throw ((z.hash = $), z);
+ }
+ }, 'parseError'),
+ parse: o(function (B) {
+ var $ = this,
+ z = [0],
+ Y = [],
+ Q = [null],
+ X = [],
+ ie = this.table,
+ j = '',
+ J = 0,
+ Z = 0,
+ H = 0,
+ q = 2,
+ K = 1,
+ se = X.slice.call(arguments, 1),
+ ce = Object.create(this.lexer),
+ ue = { yy: {} };
+ for (var te in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, te) && (ue.yy[te] = this.yy[te]);
+ ce.setInput(B, ue.yy),
+ (ue.yy.lexer = ce),
+ (ue.yy.parser = this),
+ typeof ce.yylloc > 'u' && (ce.yylloc = {});
+ var De = ce.yylloc;
+ X.push(De);
+ var oe = ce.options && ce.options.ranges;
+ typeof ue.yy.parseError == 'function'
+ ? (this.parseError = ue.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function ke(we) {
+ (z.length = z.length - 2 * we), (Q.length = Q.length - we), (X.length = X.length - we);
+ }
+ o(ke, 'popStack');
+ function Ie() {
+ var we;
+ return (
+ (we = Y.pop() || ce.lex() || K),
+ typeof we != 'number' &&
+ (we instanceof Array && ((Y = we), (we = Y.pop())),
+ (we = $.symbols_[we] || we)),
+ we
+ );
+ }
+ o(Ie, 'lex');
+ for (var Se, Ue, Pe, _e, me, W, fe = {}, ge, re, he, ne; ; ) {
+ if (
+ ((Pe = z[z.length - 1]),
+ this.defaultActions[Pe]
+ ? (_e = this.defaultActions[Pe])
+ : ((Se === null || typeof Se > 'u') && (Se = Ie()),
+ (_e = ie[Pe] && ie[Pe][Se])),
+ typeof _e > 'u' || !_e.length || !_e[0])
+ ) {
+ var ae = '';
+ ne = [];
+ for (ge in ie[Pe])
+ this.terminals_[ge] && ge > q && ne.push("'" + this.terminals_[ge] + "'");
+ ce.showPosition
+ ? (ae =
+ 'Parse error on line ' +
+ (J + 1) +
+ `:
+` +
+ ce.showPosition() +
+ `
+Expecting ` +
+ ne.join(', ') +
+ ", got '" +
+ (this.terminals_[Se] || Se) +
+ "'")
+ : (ae =
+ 'Parse error on line ' +
+ (J + 1) +
+ ': Unexpected ' +
+ (Se == K ? 'end of input' : "'" + (this.terminals_[Se] || Se) + "'")),
+ this.parseError(ae, {
+ text: ce.match,
+ token: this.terminals_[Se] || Se,
+ line: ce.yylineno,
+ loc: De,
+ expected: ne
+ });
+ }
+ if (_e[0] instanceof Array && _e.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Pe + ', token: ' + Se
+ );
+ switch (_e[0]) {
+ case 1:
+ z.push(Se),
+ Q.push(ce.yytext),
+ X.push(ce.yylloc),
+ z.push(_e[1]),
+ (Se = null),
+ Ue
+ ? ((Se = Ue), (Ue = null))
+ : ((Z = ce.yyleng),
+ (j = ce.yytext),
+ (J = ce.yylineno),
+ (De = ce.yylloc),
+ H > 0 && H--);
+ break;
+ case 2:
+ if (
+ ((re = this.productions_[_e[1]][1]),
+ (fe.$ = Q[Q.length - re]),
+ (fe._$ = {
+ first_line: X[X.length - (re || 1)].first_line,
+ last_line: X[X.length - 1].last_line,
+ first_column: X[X.length - (re || 1)].first_column,
+ last_column: X[X.length - 1].last_column
+ }),
+ oe &&
+ (fe._$.range = [
+ X[X.length - (re || 1)].range[0],
+ X[X.length - 1].range[1]
+ ]),
+ (W = this.performAction.apply(
+ fe,
+ [j, Z, J, ue.yy, _e[1], Q, X].concat(se)
+ )),
+ typeof W < 'u')
+ )
+ return W;
+ re &&
+ ((z = z.slice(0, -1 * re * 2)),
+ (Q = Q.slice(0, -1 * re)),
+ (X = X.slice(0, -1 * re))),
+ z.push(this.productions_[_e[1]][0]),
+ Q.push(fe.$),
+ X.push(fe._$),
+ (he = ie[z[z.length - 2]][z[z.length - 1]]),
+ z.push(he);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ D = (function () {
+ var F = {
+ EOF: 1,
+ parseError: o(function ($, z) {
+ if (this.yy.parser) this.yy.parser.parseError($, z);
+ else throw new Error($);
+ }, 'parseError'),
+ setInput: o(function (B, $) {
+ return (
+ (this.yy = $ || this.yy || {}),
+ (this._input = B),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var B = this._input[0];
+ (this.yytext += B),
+ this.yyleng++,
+ this.offset++,
+ (this.match += B),
+ (this.matched += B);
+ var $ = B.match(/(?:\r\n?|\n).*/g);
+ return (
+ $ ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ B
+ );
+ }, 'input'),
+ unput: o(function (B) {
+ var $ = B.length,
+ z = B.split(/(?:\r\n?|\n)/g);
+ (this._input = B + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - $)),
+ (this.offset -= $);
+ var Y = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ z.length - 1 && (this.yylineno -= z.length - 1);
+ var Q = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: z
+ ? (z.length === Y.length ? this.yylloc.first_column : 0) +
+ Y[Y.length - z.length].length -
+ z[0].length
+ : this.yylloc.first_column - $
+ }),
+ this.options.ranges && (this.yylloc.range = [Q[0], Q[0] + this.yyleng - $]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (B) {
+ this.unput(this.match.slice(B));
+ }, 'less'),
+ pastInput: o(function () {
+ var B = this.matched.substr(0, this.matched.length - this.match.length);
+ return (B.length > 20 ? '...' : '') + B.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var B = this.match;
+ return (
+ B.length < 20 && (B += this._input.substr(0, 20 - B.length)),
+ (B.substr(0, 20) + (B.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var B = this.pastInput(),
+ $ = new Array(B.length + 1).join('-');
+ return (
+ B +
+ this.upcomingInput() +
+ `
+` +
+ $ +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (B, $) {
+ var z, Y, Q;
+ if (
+ (this.options.backtrack_lexer &&
+ ((Q = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (Q.yylloc.range = this.yylloc.range.slice(0))),
+ (Y = B[0].match(/(?:\r\n?|\n).*/g)),
+ Y && (this.yylineno += Y.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: Y
+ ? Y[Y.length - 1].length - Y[Y.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + B[0].length
+ }),
+ (this.yytext += B[0]),
+ (this.match += B[0]),
+ (this.matches = B),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(B[0].length)),
+ (this.matched += B[0]),
+ (z = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ $,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ z)
+ )
+ return z;
+ if (this._backtrack) {
+ for (var X in Q) this[X] = Q[X];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var B, $, z, Y;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var Q = this._currentRules(), X = 0; X < Q.length; X++)
+ if (
+ ((z = this._input.match(this.rules[Q[X]])),
+ z && (!$ || z[0].length > $[0].length))
+ ) {
+ if ((($ = z), (Y = X), this.options.backtrack_lexer)) {
+ if (((B = this.test_match(z, Q[X])), B !== !1)) return B;
+ if (this._backtrack) {
+ $ = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return $
+ ? ((B = this.test_match($, Q[Y])), B !== !1 ? B : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var $ = this.next();
+ return $ || this.lex();
+ }, 'lex'),
+ begin: o(function ($) {
+ this.conditionStack.push($);
+ }, 'begin'),
+ popState: o(function () {
+ var $ = this.conditionStack.length - 1;
+ return $ > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function ($) {
+ return (
+ ($ = this.conditionStack.length - 1 - Math.abs($ || 0)),
+ $ >= 0 ? this.conditionStack[$] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function ($) {
+ this.begin($);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function ($, z, Y, Q) {
+ var X = Q;
+ switch (Y) {
+ case 0:
+ return 41;
+ case 1:
+ return 48;
+ case 2:
+ return 49;
+ case 3:
+ return 50;
+ case 4:
+ return 51;
+ case 5:
+ break;
+ case 6:
+ break;
+ case 7:
+ return 5;
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ break;
+ case 12:
+ return this.pushState('SCALE'), 17;
+ break;
+ case 13:
+ return 18;
+ case 14:
+ this.popState();
+ break;
+ case 15:
+ return this.begin('acc_title'), 33;
+ break;
+ case 16:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 17:
+ return this.begin('acc_descr'), 35;
+ break;
+ case 18:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 19:
+ this.begin('acc_descr_multiline');
+ break;
+ case 20:
+ this.popState();
+ break;
+ case 21:
+ return 'acc_descr_multiline_value';
+ case 22:
+ return this.pushState('CLASSDEF'), 38;
+ break;
+ case 23:
+ return this.popState(), this.pushState('CLASSDEFID'), 'DEFAULT_CLASSDEF_ID';
+ break;
+ case 24:
+ return this.popState(), this.pushState('CLASSDEFID'), 39;
+ break;
+ case 25:
+ return this.popState(), 40;
+ break;
+ case 26:
+ return this.pushState('CLASS'), 45;
+ break;
+ case 27:
+ return this.popState(), this.pushState('CLASS_STYLE'), 46;
+ break;
+ case 28:
+ return this.popState(), 47;
+ break;
+ case 29:
+ return this.pushState('STYLE'), 42;
+ break;
+ case 30:
+ return this.popState(), this.pushState('STYLEDEF_STYLES'), 43;
+ break;
+ case 31:
+ return this.popState(), 44;
+ break;
+ case 32:
+ return this.pushState('SCALE'), 17;
+ break;
+ case 33:
+ return 18;
+ case 34:
+ this.popState();
+ break;
+ case 35:
+ this.pushState('STATE');
+ break;
+ case 36:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 25;
+ break;
+ case 37:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 26;
+ break;
+ case 38:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -10).trim()), 27;
+ break;
+ case 39:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 25;
+ break;
+ case 40:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 26;
+ break;
+ case 41:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -10).trim()), 27;
+ break;
+ case 42:
+ return 48;
+ case 43:
+ return 49;
+ case 44:
+ return 50;
+ case 45:
+ return 51;
+ case 46:
+ this.pushState('STATE_STRING');
+ break;
+ case 47:
+ return this.pushState('STATE_ID'), 'AS';
+ break;
+ case 48:
+ return this.popState(), 'ID';
+ break;
+ case 49:
+ this.popState();
+ break;
+ case 50:
+ return 'STATE_DESCR';
+ case 51:
+ return 19;
+ case 52:
+ this.popState();
+ break;
+ case 53:
+ return this.popState(), this.pushState('struct'), 20;
+ break;
+ case 54:
+ break;
+ case 55:
+ return this.popState(), 21;
+ break;
+ case 56:
+ break;
+ case 57:
+ return this.begin('NOTE'), 29;
+ break;
+ case 58:
+ return this.popState(), this.pushState('NOTE_ID'), 56;
+ break;
+ case 59:
+ return this.popState(), this.pushState('NOTE_ID'), 57;
+ break;
+ case 60:
+ this.popState(), this.pushState('FLOATING_NOTE');
+ break;
+ case 61:
+ return this.popState(), this.pushState('FLOATING_NOTE_ID'), 'AS';
+ break;
+ case 62:
+ break;
+ case 63:
+ return 'NOTE_TEXT';
+ case 64:
+ return this.popState(), 'ID';
+ break;
+ case 65:
+ return this.popState(), this.pushState('NOTE_TEXT'), 24;
+ break;
+ case 66:
+ return this.popState(), (z.yytext = z.yytext.substr(2).trim()), 31;
+ break;
+ case 67:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 31;
+ break;
+ case 68:
+ return 6;
+ case 69:
+ return 6;
+ case 70:
+ return 16;
+ case 71:
+ return 54;
+ case 72:
+ return 24;
+ case 73:
+ return (z.yytext = z.yytext.trim()), 14;
+ break;
+ case 74:
+ return 15;
+ case 75:
+ return 28;
+ case 76:
+ return 55;
+ case 77:
+ return 5;
+ case 78:
+ return 'INVALID';
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:default\b)/i,
+ /^(?:.*direction\s+TB[^\n]*)/i,
+ /^(?:.*direction\s+BT[^\n]*)/i,
+ /^(?:.*direction\s+RL[^\n]*)/i,
+ /^(?:.*direction\s+LR[^\n]*)/i,
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:[\s]+)/i,
+ /^(?:((?!\n)\s)+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:%[^\n]*)/i,
+ /^(?:scale\s+)/i,
+ /^(?:\d+)/i,
+ /^(?:\s+width\b)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:classDef\s+)/i,
+ /^(?:DEFAULT\s+)/i,
+ /^(?:\w+\s+)/i,
+ /^(?:[^\n]*)/i,
+ /^(?:class\s+)/i,
+ /^(?:(\w+)+((,\s*\w+)*))/i,
+ /^(?:[^\n]*)/i,
+ /^(?:style\s+)/i,
+ /^(?:[\w,]+\s+)/i,
+ /^(?:[^\n]*)/i,
+ /^(?:scale\s+)/i,
+ /^(?:\d+)/i,
+ /^(?:\s+width\b)/i,
+ /^(?:state\s+)/i,
+ /^(?:.*<>)/i,
+ /^(?:.*<>)/i,
+ /^(?:.*<>)/i,
+ /^(?:.*\[\[fork\]\])/i,
+ /^(?:.*\[\[join\]\])/i,
+ /^(?:.*\[\[choice\]\])/i,
+ /^(?:.*direction\s+TB[^\n]*)/i,
+ /^(?:.*direction\s+BT[^\n]*)/i,
+ /^(?:.*direction\s+RL[^\n]*)/i,
+ /^(?:.*direction\s+LR[^\n]*)/i,
+ /^(?:["])/i,
+ /^(?:\s*as\s+)/i,
+ /^(?:[^\n\{]*)/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:[^\n\s\{]+)/i,
+ /^(?:\n)/i,
+ /^(?:\{)/i,
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:\})/i,
+ /^(?:[\n])/i,
+ /^(?:note\s+)/i,
+ /^(?:left of\b)/i,
+ /^(?:right of\b)/i,
+ /^(?:")/i,
+ /^(?:\s*as\s*)/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:[^\n]*)/i,
+ /^(?:\s*[^:\n\s\-]+)/i,
+ /^(?:\s*:[^:\n;]+)/i,
+ /^(?:[\s\S]*?end note\b)/i,
+ /^(?:stateDiagram\s+)/i,
+ /^(?:stateDiagram-v2\s+)/i,
+ /^(?:hide empty description\b)/i,
+ /^(?:\[\*\])/i,
+ /^(?:[^:\n\s\-\{]+)/i,
+ /^(?:\s*:[^:\n;]+)/i,
+ /^(?:-->)/i,
+ /^(?:--)/i,
+ /^(?::::)/i,
+ /^(?:$)/i,
+ /^(?:.)/i
+ ],
+ conditions: {
+ LINE: { rules: [9, 10], inclusive: !1 },
+ struct: {
+ rules: [9, 10, 22, 26, 29, 35, 42, 43, 44, 45, 54, 55, 56, 57, 71, 72, 73, 74, 75],
+ inclusive: !1
+ },
+ FLOATING_NOTE_ID: { rules: [64], inclusive: !1 },
+ FLOATING_NOTE: { rules: [61, 62, 63], inclusive: !1 },
+ NOTE_TEXT: { rules: [66, 67], inclusive: !1 },
+ NOTE_ID: { rules: [65], inclusive: !1 },
+ NOTE: { rules: [58, 59, 60], inclusive: !1 },
+ STYLEDEF_STYLEOPTS: { rules: [], inclusive: !1 },
+ STYLEDEF_STYLES: { rules: [31], inclusive: !1 },
+ STYLE_IDS: { rules: [], inclusive: !1 },
+ STYLE: { rules: [30], inclusive: !1 },
+ CLASS_STYLE: { rules: [28], inclusive: !1 },
+ CLASS: { rules: [27], inclusive: !1 },
+ CLASSDEFID: { rules: [25], inclusive: !1 },
+ CLASSDEF: { rules: [23, 24], inclusive: !1 },
+ acc_descr_multiline: { rules: [20, 21], inclusive: !1 },
+ acc_descr: { rules: [18], inclusive: !1 },
+ acc_title: { rules: [16], inclusive: !1 },
+ SCALE: { rules: [13, 14, 33, 34], inclusive: !1 },
+ ALIAS: { rules: [], inclusive: !1 },
+ STATE_ID: { rules: [48], inclusive: !1 },
+ STATE_STRING: { rules: [49, 50], inclusive: !1 },
+ FORK_STATE: { rules: [], inclusive: !1 },
+ STATE: {
+ rules: [9, 10, 36, 37, 38, 39, 40, 41, 46, 47, 51, 52, 53],
+ inclusive: !1
+ },
+ ID: { rules: [9, 10], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 35, 53, 57,
+ 68, 69, 70, 71, 72, 73, 74, 76, 77, 78
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return F;
+ })();
+ O.lexer = D;
+ function P() {
+ this.yy = {};
+ }
+ return o(P, 'Parser'), (P.prototype = O), (O.Parser = P), new P();
+ })();
+ MO.parser = MO;
+ BE = MO;
+ });
+ var hfe,
+ FE,
+ zg,
+ Ex,
+ ffe,
+ dfe,
+ pfe,
+ N0,
+ zE,
+ OO,
+ PO,
+ BO,
+ FO,
+ zO,
+ GE,
+ $E,
+ mfe,
+ gfe,
+ GO,
+ $O,
+ yfe,
+ vfe,
+ Gg,
+ wVe,
+ xfe,
+ VO,
+ TVe,
+ kVe,
+ bfe,
+ wfe,
+ EVe,
+ Tfe,
+ CVe,
+ kfe,
+ UO,
+ HO,
+ Efe,
+ VE,
+ Cfe,
+ YO,
+ UE = R(() => {
+ 'use strict';
+ (hfe = 'LR'),
+ (FE = 'TB'),
+ (zg = 'state'),
+ (Ex = 'relation'),
+ (ffe = 'classDef'),
+ (dfe = 'style'),
+ (pfe = 'applyClass'),
+ (N0 = 'default'),
+ (zE = 'divider'),
+ (OO = 'fill:none'),
+ (PO = 'fill: #333'),
+ (BO = 'c'),
+ (FO = 'text'),
+ (zO = 'normal'),
+ (GE = 'rect'),
+ ($E = 'rectWithTitle'),
+ (mfe = 'stateStart'),
+ (gfe = 'stateEnd'),
+ (GO = 'divider'),
+ ($O = 'roundedWithTitle'),
+ (yfe = 'note'),
+ (vfe = 'noteGroup'),
+ (Gg = 'statediagram'),
+ (wVe = 'state'),
+ (xfe = `${Gg}-${wVe}`),
+ (VO = 'transition'),
+ (TVe = 'note'),
+ (kVe = 'note-edge'),
+ (bfe = `${VO} ${kVe}`),
+ (wfe = `${Gg}-${TVe}`),
+ (EVe = 'cluster'),
+ (Tfe = `${Gg}-${EVe}`),
+ (CVe = 'cluster-alt'),
+ (kfe = `${Gg}-${CVe}`),
+ (UO = 'parent'),
+ (HO = 'note'),
+ (Efe = 'state'),
+ (VE = '----'),
+ (Cfe = `${VE}${HO}`),
+ (YO = `${VE}${UO}`);
+ });
+ function WO(t = '', e = 0, r = '', n = VE) {
+ let i = r !== null && r.length > 0 ? `${n}${r}` : '';
+ return `${Efe}-${t}${i}-${e}`;
+ }
+ function HE(t, e, r) {
+ if (!e.id || e.id === '' || e.id === '') return;
+ e.cssClasses &&
+ (Array.isArray(e.cssCompiledStyles) || (e.cssCompiledStyles = []),
+ e.cssClasses.split(' ').forEach((i) => {
+ if (r.get(i)) {
+ let a = r.get(i);
+ e.cssCompiledStyles = [...e.cssCompiledStyles, ...a.styles];
+ }
+ }));
+ let n = t.find((i) => i.id === e.id);
+ n ? Object.assign(n, e) : t.push(e);
+ }
+ function AVe(t) {
+ return t?.classes?.join(' ') ?? '';
+ }
+ function _Ve(t) {
+ return t?.styles ?? [];
+ }
+ var YE,
+ yf,
+ SVe,
+ Sfe,
+ $g,
+ Afe,
+ _fe = R(() => {
+ 'use strict';
+ _t();
+ ut();
+ rr();
+ UE();
+ (YE = new Map()), (yf = 0);
+ o(WO, 'stateDomId');
+ (SVe = o((t, e, r, n, i, a, s, l) => {
+ V.trace('items', e),
+ e.forEach((u) => {
+ switch (u.stmt) {
+ case zg:
+ $g(t, u, r, n, i, a, s, l);
+ break;
+ case N0:
+ $g(t, u, r, n, i, a, s, l);
+ break;
+ case Ex:
+ {
+ $g(t, u.state1, r, n, i, a, s, l), $g(t, u.state2, r, n, i, a, s, l);
+ let h = {
+ id: 'edge' + yf,
+ start: u.state1.id,
+ end: u.state2.id,
+ arrowhead: 'normal',
+ arrowTypeEnd: 'arrow_barb',
+ style: OO,
+ labelStyle: '',
+ label: We.sanitizeText(u.description, de()),
+ arrowheadStyle: PO,
+ labelpos: BO,
+ labelType: FO,
+ thickness: zO,
+ classes: VO,
+ look: s
+ };
+ i.push(h), yf++;
+ }
+ break;
+ }
+ });
+ }, 'setupDoc')),
+ (Sfe = o((t, e = FE) => {
+ let r = e;
+ if (t.doc) for (let n of t.doc) n.stmt === 'dir' && (r = n.value);
+ return r;
+ }, 'getDir'));
+ o(HE, 'insertOrUpdateNode');
+ o(AVe, 'getClassesFromDbInfo');
+ o(_Ve, 'getStylesFromDbInfo');
+ ($g = o((t, e, r, n, i, a, s, l) => {
+ let u = e.id,
+ h = r.get(u),
+ f = AVe(h),
+ d = _Ve(h);
+ if ((V.info('dataFetcher parsedItem', e, h, d), u !== 'root')) {
+ let p = GE;
+ e.start === !0 ? (p = mfe) : e.start === !1 && (p = gfe),
+ e.type !== N0 && (p = e.type),
+ YE.get(u) ||
+ YE.set(u, {
+ id: u,
+ shape: p,
+ description: We.sanitizeText(u, de()),
+ cssClasses: `${f} ${xfe}`,
+ cssStyles: d
+ });
+ let m = YE.get(u);
+ e.description &&
+ (Array.isArray(m.description)
+ ? ((m.shape = $E), m.description.push(e.description))
+ : m.description?.length > 0
+ ? ((m.shape = $E),
+ m.description === u
+ ? (m.description = [e.description])
+ : (m.description = [m.description, e.description]))
+ : ((m.shape = GE), (m.description = e.description)),
+ (m.description = We.sanitizeTextOrArray(m.description, de()))),
+ m.description?.length === 1 &&
+ m.shape === $E &&
+ (m.type === 'group' ? (m.shape = $O) : (m.shape = GE)),
+ !m.type &&
+ e.doc &&
+ (V.info('Setting cluster for XCX', u, Sfe(e)),
+ (m.type = 'group'),
+ (m.isGroup = !0),
+ (m.dir = Sfe(e)),
+ (m.shape = e.type === zE ? GO : $O),
+ (m.cssClasses = `${m.cssClasses} ${Tfe} ${a ? kfe : ''}`));
+ let g = {
+ labelStyle: '',
+ shape: m.shape,
+ label: m.description,
+ cssClasses: m.cssClasses,
+ cssCompiledStyles: [],
+ cssStyles: m.cssStyles,
+ id: u,
+ dir: m.dir,
+ domId: WO(u, yf),
+ type: m.type,
+ isGroup: m.type === 'group',
+ padding: 8,
+ rx: 10,
+ ry: 10,
+ look: s
+ };
+ if (
+ (g.shape === GO && (g.label = ''),
+ t &&
+ t.id !== 'root' &&
+ (V.trace('Setting node ', u, ' to be child of its parent ', t.id), (g.parentId = t.id)),
+ (g.centerLabel = !0),
+ e.note)
+ ) {
+ let y = {
+ labelStyle: '',
+ shape: yfe,
+ label: e.note.text,
+ cssClasses: wfe,
+ cssStyles: [],
+ cssCompilesStyles: [],
+ id: u + Cfe + '-' + yf,
+ domId: WO(u, yf, HO),
+ type: m.type,
+ isGroup: m.type === 'group',
+ padding: de().flowchart.padding,
+ look: s,
+ position: e.note.position
+ },
+ v = u + YO,
+ x = {
+ labelStyle: '',
+ shape: vfe,
+ label: e.note.text,
+ cssClasses: m.cssClasses,
+ cssStyles: [],
+ id: u + YO,
+ domId: WO(u, yf, UO),
+ type: 'group',
+ isGroup: !0,
+ padding: 16,
+ look: s,
+ position: e.note.position
+ };
+ yf++, (x.id = v), (y.parentId = v), HE(n, x, l), HE(n, y, l), HE(n, g, l);
+ let b = u,
+ w = y.id;
+ e.note.position === 'left of' && ((b = y.id), (w = u)),
+ i.push({
+ id: b + '-' + w,
+ start: b,
+ end: w,
+ arrowhead: 'none',
+ arrowTypeEnd: '',
+ style: OO,
+ labelStyle: '',
+ classes: bfe,
+ arrowheadStyle: PO,
+ labelpos: BO,
+ labelType: FO,
+ thickness: zO,
+ look: s
+ });
+ } else HE(n, g, l);
+ }
+ e.doc && (V.trace('Adding nodes children '), SVe(e, e.doc, r, n, i, !a, s, l));
+ }, 'dataFetcher')),
+ (Afe = o(() => {
+ YE.clear(), (yf = 0);
+ }, 'reset'));
+ });
+ var qO,
+ LVe,
+ DVe,
+ Lfe,
+ XO = R(() => {
+ 'use strict';
+ _t();
+ ut();
+ L9();
+ oT();
+ yD();
+ xr();
+ UE();
+ (qO = o((t, e = FE) => {
+ if (!t.doc) return e;
+ let r = e;
+ for (let n of t.doc) n.stmt === 'dir' && (r = n.value);
+ return r;
+ }, 'getDir')),
+ (LVe = o(function (t, e) {
+ return e.db.extract(e.db.getRootDocV2()), e.db.getClasses();
+ }, 'getClasses')),
+ (DVe = o(async function (t, e, r, n) {
+ V.info('REF0:'), V.info('Drawing state diagram (v2)', e);
+ let { securityLevel: i, state: a, layout: s } = de();
+ n.db.extract(n.db.getRootDocV2());
+ let l = n.db.getData(),
+ u = I5(e, i);
+ (l.type = n.type),
+ (l.layoutAlgorithm = s),
+ (l.nodeSpacing = a?.nodeSpacing || 50),
+ (l.rankSpacing = a?.rankSpacing || 50),
+ (l.markers = ['barb']),
+ (l.diagramId = e),
+ await sT(l, u);
+ let h = 8;
+ Lt.insertTitle(u, 'statediagramTitleText', a?.titleTopMargin ?? 25, n.db.getDiagramTitle()),
+ lT(u, h, Gg, a?.useMaxWidth ?? !0);
+ }, 'draw')),
+ (Lfe = { getClasses: LVe, draw: DVe, getDir: qO });
+ });
+ function Pfe() {
+ return new Map();
+ }
+ function jO(t = '') {
+ let e = t;
+ return t === ZO && (Cx++, (e = `${Mfe}${Cx}`)), e;
+ }
+ function KO(t = '', e = N0) {
+ return t === ZO ? Mfe : e;
+ }
+ function GVe(t = '') {
+ let e = t;
+ return t === Ife && (Cx++, (e = `${Ofe}${Cx}`)), e;
+ }
+ function $Ve(t = '', e = N0) {
+ return t === Ife ? Ofe : e;
+ }
+ function VVe(t, e, r) {
+ let n = jO(t.id.trim()),
+ i = KO(t.id.trim(), t.type),
+ a = jO(e.id.trim()),
+ s = KO(e.id.trim(), e.type);
+ vf(n, i, t.doc, t.description, t.note, t.classes, t.styles, t.textStyles),
+ vf(a, s, e.doc, e.description, e.note, e.classes, e.styles, e.textStyles),
+ Fs.relations.push({
+ id1: n,
+ id2: a,
+ relationTitle: We.sanitizeText(r, de())
+ });
+ }
+ var ZO,
+ Mfe,
+ Ife,
+ Ofe,
+ Dfe,
+ Rfe,
+ RVe,
+ NVe,
+ XE,
+ JO,
+ Bfe,
+ jE,
+ Vg,
+ Ffe,
+ KE,
+ Fs,
+ Cx,
+ Nfe,
+ MVe,
+ IVe,
+ WE,
+ OVe,
+ PVe,
+ qE,
+ eP,
+ BVe,
+ vf,
+ zfe,
+ M0,
+ Gfe,
+ FVe,
+ zVe,
+ $fe,
+ QO,
+ UVe,
+ HVe,
+ Vfe,
+ YVe,
+ tP,
+ WVe,
+ qVe,
+ XVe,
+ jVe,
+ KVe,
+ QVe,
+ Qo,
+ QE = R(() => {
+ 'use strict';
+ ut();
+ xr();
+ rr();
+ _t();
+ bi();
+ _fe();
+ XO();
+ UE();
+ (ZO = '[*]'),
+ (Mfe = 'start'),
+ (Ife = ZO),
+ (Ofe = 'end'),
+ (Dfe = 'color'),
+ (Rfe = 'fill'),
+ (RVe = 'bgFill'),
+ (NVe = ',');
+ o(Pfe, 'newClassesList');
+ (XE = []),
+ (JO = []),
+ (Bfe = hfe),
+ (jE = []),
+ (Vg = Pfe()),
+ (Ffe = o(() => ({ relations: [], states: new Map(), documents: {} }), 'newDoc')),
+ (KE = { root: Ffe() }),
+ (Fs = KE.root),
+ (Cx = 0),
+ (Nfe = 0),
+ (MVe = { LINE: 0, DOTTED_LINE: 1 }),
+ (IVe = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3 }),
+ (WE = o((t) => JSON.parse(JSON.stringify(t)), 'clone')),
+ (OVe = o((t) => {
+ V.info('Setting root doc', t), (jE = t);
+ }, 'setRootDoc')),
+ (PVe = o(() => jE, 'getRootDoc')),
+ (qE = o((t, e, r) => {
+ if (e.stmt === Ex) qE(t, e.state1, !0), qE(t, e.state2, !1);
+ else if (
+ (e.stmt === zg &&
+ (e.id === '[*]'
+ ? ((e.id = r ? t.id + '_start' : t.id + '_end'), (e.start = r))
+ : (e.id = e.id.trim())),
+ e.doc)
+ ) {
+ let n = [],
+ i = [],
+ a;
+ for (a = 0; a < e.doc.length; a++)
+ if (e.doc[a].type === zE) {
+ let s = WE(e.doc[a]);
+ (s.doc = WE(i)), n.push(s), (i = []);
+ } else i.push(e.doc[a]);
+ if (n.length > 0 && i.length > 0) {
+ let s = { stmt: zg, id: Z_(), type: 'divider', doc: WE(i) };
+ n.push(WE(s)), (e.doc = n);
+ }
+ e.doc.forEach((s) => qE(e, s, !0));
+ }
+ }, 'docTranslator')),
+ (eP = o(
+ () => (qE({ id: 'root' }, { id: 'root', doc: jE }, !0), { id: 'root', doc: jE }),
+ 'getRootDocV2'
+ )),
+ (BVe = o((t) => {
+ let e;
+ t.doc ? (e = t.doc) : (e = t),
+ V.info(e),
+ zfe(!0),
+ V.info('Extract initial document:', e),
+ e.forEach((a) => {
+ switch ((V.warn('Statement', a.stmt), a.stmt)) {
+ case zg:
+ vf(
+ a.id.trim(),
+ a.type,
+ a.doc,
+ a.description,
+ a.note,
+ a.classes,
+ a.styles,
+ a.textStyles
+ );
+ break;
+ case Ex:
+ $fe(a.state1, a.state2, a.description);
+ break;
+ case ffe:
+ Vfe(a.id.trim(), a.classes);
+ break;
+ case dfe:
+ {
+ let s = a.id.trim().split(','),
+ l = a.styleClass.split(',');
+ s.forEach((u) => {
+ let h = M0(u);
+ if (h === void 0) {
+ let f = u.trim();
+ vf(f), (h = M0(f));
+ }
+ h.styles = l.map((f) => f.replace(/;/g, '')?.trim());
+ });
+ }
+ break;
+ case pfe:
+ tP(a.id.trim(), a.styleClass);
+ break;
+ }
+ });
+ let r = Gfe(),
+ i = de().look;
+ Afe(),
+ $g(void 0, eP(), r, XE, JO, !0, i, Vg),
+ XE.forEach((a) => {
+ if (Array.isArray(a.label)) {
+ if (((a.description = a.label.slice(1)), a.isGroup && a.description.length > 0))
+ throw new Error(
+ 'Group nodes can only have label. Remove the additional description for node [' +
+ a.id +
+ ']'
+ );
+ a.label = a.label[0];
+ }
+ });
+ }, 'extract')),
+ (vf = o(function (t, e = N0, r = null, n = null, i = null, a = null, s = null, l = null) {
+ let u = t?.trim();
+ if (
+ (Fs.states.has(u)
+ ? (Fs.states.get(u).doc || (Fs.states.get(u).doc = r),
+ Fs.states.get(u).type || (Fs.states.get(u).type = e))
+ : (V.info('Adding state ', u, n),
+ Fs.states.set(u, {
+ id: u,
+ descriptions: [],
+ type: e,
+ doc: r,
+ note: i,
+ classes: [],
+ styles: [],
+ textStyles: []
+ })),
+ n &&
+ (V.info('Setting state description', u, n),
+ typeof n == 'string' && QO(u, n.trim()),
+ typeof n == 'object' && n.forEach((h) => QO(u, h.trim()))),
+ i)
+ ) {
+ let h = Fs.states.get(u);
+ (h.note = i), (h.note.text = We.sanitizeText(h.note.text, de()));
+ }
+ a &&
+ (V.info('Setting state classes', u, a),
+ (typeof a == 'string' ? [a] : a).forEach((f) => tP(u, f.trim()))),
+ s &&
+ (V.info('Setting state styles', u, s),
+ (typeof s == 'string' ? [s] : s).forEach((f) => WVe(u, f.trim()))),
+ l &&
+ (V.info('Setting state styles', u, s),
+ (typeof l == 'string' ? [l] : l).forEach((f) => qVe(u, f.trim())));
+ }, 'addState')),
+ (zfe = o(function (t) {
+ (XE = []), (JO = []), (KE = { root: Ffe() }), (Fs = KE.root), (Cx = 0), (Vg = Pfe()), t || vr();
+ }, 'clear')),
+ (M0 = o(function (t) {
+ return Fs.states.get(t);
+ }, 'getState')),
+ (Gfe = o(function () {
+ return Fs.states;
+ }, 'getStates')),
+ (FVe = o(function () {
+ V.info('Documents = ', KE);
+ }, 'logDocuments')),
+ (zVe = o(function () {
+ return Fs.relations;
+ }, 'getRelations'));
+ o(jO, 'startIdIfNeeded');
+ o(KO, 'startTypeIfNeeded');
+ o(GVe, 'endIdIfNeeded');
+ o($Ve, 'endTypeIfNeeded');
+ o(VVe, 'addRelationObjs');
+ ($fe = o(function (t, e, r) {
+ if (typeof t == 'object') VVe(t, e, r);
+ else {
+ let n = jO(t.trim()),
+ i = KO(t),
+ a = GVe(e.trim()),
+ s = $Ve(e);
+ vf(n, i),
+ vf(a, s),
+ Fs.relations.push({
+ id1: n,
+ id2: a,
+ title: We.sanitizeText(r, de())
+ });
+ }
+ }, 'addRelation')),
+ (QO = o(function (t, e) {
+ let r = Fs.states.get(t),
+ n = e.startsWith(':') ? e.replace(':', '').trim() : e;
+ r.descriptions.push(We.sanitizeText(n, de()));
+ }, 'addDescription')),
+ (UVe = o(function (t) {
+ return t.substring(0, 1) === ':' ? t.substr(2).trim() : t.trim();
+ }, 'cleanupLabel')),
+ (HVe = o(() => (Nfe++, 'divider-id-' + Nfe), 'getDividerId')),
+ (Vfe = o(function (t, e = '') {
+ Vg.has(t) || Vg.set(t, { id: t, styles: [], textStyles: [] });
+ let r = Vg.get(t);
+ e?.split(NVe).forEach((n) => {
+ let i = n.replace(/([^;]*);/, '$1').trim();
+ if (RegExp(Dfe).exec(n)) {
+ let s = i.replace(Rfe, RVe).replace(Dfe, Rfe);
+ r.textStyles.push(s);
+ }
+ r.styles.push(i);
+ });
+ }, 'addStyleClass')),
+ (YVe = o(function () {
+ return Vg;
+ }, 'getClasses')),
+ (tP = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ let n = M0(r);
+ if (n === void 0) {
+ let i = r.trim();
+ vf(i), (n = M0(i));
+ }
+ n.classes.push(e);
+ });
+ }, 'setCssClass')),
+ (WVe = o(function (t, e) {
+ let r = M0(t);
+ r !== void 0 && r.styles.push(e);
+ }, 'setStyle')),
+ (qVe = o(function (t, e) {
+ let r = M0(t);
+ r !== void 0 && r.textStyles.push(e);
+ }, 'setTextStyle')),
+ (XVe = o(() => Bfe, 'getDirection')),
+ (jVe = o((t) => {
+ Bfe = t;
+ }, 'setDirection')),
+ (KVe = o((t) => (t && t[0] === ':' ? t.substr(1).trim() : t.trim()), 'trimColon')),
+ (QVe = o(() => {
+ let t = de();
+ return {
+ nodes: XE,
+ edges: JO,
+ other: {},
+ config: t,
+ direction: qO(eP())
+ };
+ }, 'getData')),
+ (Qo = {
+ getConfig: o(() => de().state, 'getConfig'),
+ getData: QVe,
+ addState: vf,
+ clear: zfe,
+ getState: M0,
+ getStates: Gfe,
+ getRelations: zVe,
+ getClasses: YVe,
+ getDirection: XVe,
+ addRelation: $fe,
+ getDividerId: HVe,
+ setDirection: jVe,
+ cleanupLabel: UVe,
+ lineType: MVe,
+ relationType: IVe,
+ logDocuments: FVe,
+ getRootDoc: PVe,
+ setRootDoc: OVe,
+ getRootDocV2: eP,
+ extract: BVe,
+ trimColon: KVe,
+ getAccTitle: Ar,
+ setAccTitle: kr,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ addStyleClass: Vfe,
+ setCssClass: tP,
+ addDescription: QO,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr
+ });
+ });
+ var ZVe,
+ ZE,
+ rP = R(() => {
+ 'use strict';
+ (ZVe = o(
+ (t) => `
+defs #statediagram-barbEnd {
+ fill: ${t.transitionColor};
+ stroke: ${t.transitionColor};
+ }
+g.stateGroup text {
+ fill: ${t.nodeBorder};
+ stroke: none;
+ font-size: 10px;
+}
+g.stateGroup text {
+ fill: ${t.textColor};
+ stroke: none;
+ font-size: 10px;
+
+}
+g.stateGroup .state-title {
+ font-weight: bolder;
+ fill: ${t.stateLabelColor};
+}
+
+g.stateGroup rect {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+}
+
+g.stateGroup line {
+ stroke: ${t.lineColor};
+ stroke-width: 1;
+}
+
+.transition {
+ stroke: ${t.transitionColor};
+ stroke-width: 1;
+ fill: none;
+}
+
+.stateGroup .composit {
+ fill: ${t.background};
+ border-bottom: 1px
+}
+
+.stateGroup .alt-composit {
+ fill: #e0e0e0;
+ border-bottom: 1px
+}
+
+.state-note {
+ stroke: ${t.noteBorderColor};
+ fill: ${t.noteBkgColor};
+
+ text {
+ fill: ${t.noteTextColor};
+ stroke: none;
+ font-size: 10px;
+ }
+}
+
+.stateLabel .box {
+ stroke: none;
+ stroke-width: 0;
+ fill: ${t.mainBkg};
+ opacity: 0.5;
+}
+
+.edgeLabel .label rect {
+ fill: ${t.labelBackgroundColor};
+ opacity: 0.5;
+}
+.edgeLabel {
+ background-color: ${t.edgeLabelBackground};
+ p {
+ background-color: ${t.edgeLabelBackground};
+ }
+ rect {
+ opacity: 0.5;
+ background-color: ${t.edgeLabelBackground};
+ fill: ${t.edgeLabelBackground};
+ }
+ text-align: center;
+}
+.edgeLabel .label text {
+ fill: ${t.transitionLabelColor || t.tertiaryTextColor};
+}
+.label div .edgeLabel {
+ color: ${t.transitionLabelColor || t.tertiaryTextColor};
+}
+
+.stateLabel text {
+ fill: ${t.stateLabelColor};
+ font-size: 10px;
+ font-weight: bold;
+}
+
+.node circle.state-start {
+ fill: ${t.specialStateColor};
+ stroke: ${t.specialStateColor};
+}
+
+.node .fork-join {
+ fill: ${t.specialStateColor};
+ stroke: ${t.specialStateColor};
+}
+
+.node circle.state-end {
+ fill: ${t.innerEndBackground};
+ stroke: ${t.background};
+ stroke-width: 1.5
+}
+.end-state-inner {
+ fill: ${t.compositeBackground || t.background};
+ // stroke: ${t.background};
+ stroke-width: 1.5
+}
+
+.node rect {
+ fill: ${t.stateBkg || t.mainBkg};
+ stroke: ${t.stateBorder || t.nodeBorder};
+ stroke-width: 1px;
+}
+.node polygon {
+ fill: ${t.mainBkg};
+ stroke: ${t.stateBorder || t.nodeBorder};;
+ stroke-width: 1px;
+}
+#statediagram-barbEnd {
+ fill: ${t.lineColor};
+}
+
+.statediagram-cluster rect {
+ fill: ${t.compositeTitleBackground};
+ stroke: ${t.stateBorder || t.nodeBorder};
+ stroke-width: 1px;
+}
+
+.cluster-label, .nodeLabel {
+ color: ${t.stateLabelColor};
+ // line-height: 1;
+}
+
+.statediagram-cluster rect.outer {
+ rx: 5px;
+ ry: 5px;
+}
+.statediagram-state .divider {
+ stroke: ${t.stateBorder || t.nodeBorder};
+}
+
+.statediagram-state .title-state {
+ rx: 5px;
+ ry: 5px;
+}
+.statediagram-cluster.statediagram-cluster .inner {
+ fill: ${t.compositeBackground || t.background};
+}
+.statediagram-cluster.statediagram-cluster-alt .inner {
+ fill: ${t.altBackground ? t.altBackground : '#efefef'};
+}
+
+.statediagram-cluster .inner {
+ rx:0;
+ ry:0;
+}
+
+.statediagram-state rect.basic {
+ rx: 5px;
+ ry: 5px;
+}
+.statediagram-state rect.divider {
+ stroke-dasharray: 10,10;
+ fill: ${t.altBackground ? t.altBackground : '#efefef'};
+}
+
+.note-edge {
+ stroke-dasharray: 5;
+}
+
+.statediagram-note rect {
+ fill: ${t.noteBkgColor};
+ stroke: ${t.noteBorderColor};
+ stroke-width: 1px;
+ rx: 0;
+ ry: 0;
+}
+.statediagram-note rect {
+ fill: ${t.noteBkgColor};
+ stroke: ${t.noteBorderColor};
+ stroke-width: 1px;
+ rx: 0;
+ ry: 0;
+}
+
+.statediagram-note text {
+ fill: ${t.noteTextColor};
+}
+
+.statediagram-note .nodeLabel {
+ color: ${t.noteTextColor};
+}
+.statediagram .edgeLabel {
+ color: red; // ${t.noteTextColor};
+}
+
+#dependencyStart, #dependencyEnd {
+ fill: ${t.lineColor};
+ stroke: ${t.lineColor};
+ stroke-width: 1;
+}
+
+.statediagramTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+}
+`,
+ 'getStyles'
+ )),
+ (ZE = ZVe);
+ });
+ var nP,
+ JVe,
+ eUe,
+ Ufe,
+ tUe,
+ Hfe,
+ Yfe = R(() => {
+ 'use strict';
+ (nP = {}),
+ (JVe = o((t, e) => {
+ nP[t] = e;
+ }, 'set')),
+ (eUe = o((t) => nP[t], 'get')),
+ (Ufe = o(() => Object.keys(nP), 'keys')),
+ (tUe = o(() => Ufe().length, 'size')),
+ (Hfe = { get: eUe, set: JVe, keys: Ufe, size: tUe });
+ });
+ var rUe,
+ nUe,
+ iUe,
+ aUe,
+ qfe,
+ sUe,
+ oUe,
+ lUe,
+ cUe,
+ iP,
+ Wfe,
+ Xfe,
+ jfe = R(() => {
+ 'use strict';
+ Zt();
+ Yfe();
+ QE();
+ xr();
+ rr();
+ _t();
+ ut();
+ (rUe = o(
+ (t) =>
+ t
+ .append('circle')
+ .attr('class', 'start-state')
+ .attr('r', de().state.sizeUnit)
+ .attr('cx', de().state.padding + de().state.sizeUnit)
+ .attr('cy', de().state.padding + de().state.sizeUnit),
+ 'drawStartState'
+ )),
+ (nUe = o(
+ (t) =>
+ t
+ .append('line')
+ .style('stroke', 'grey')
+ .style('stroke-dasharray', '3')
+ .attr('x1', de().state.textHeight)
+ .attr('class', 'divider')
+ .attr('x2', de().state.textHeight * 2)
+ .attr('y1', 0)
+ .attr('y2', 0),
+ 'drawDivider'
+ )),
+ (iUe = o((t, e) => {
+ let r = t
+ .append('text')
+ .attr('x', 2 * de().state.padding)
+ .attr('y', de().state.textHeight + 2 * de().state.padding)
+ .attr('font-size', de().state.fontSize)
+ .attr('class', 'state-title')
+ .text(e.id),
+ n = r.node().getBBox();
+ return (
+ t
+ .insert('rect', ':first-child')
+ .attr('x', de().state.padding)
+ .attr('y', de().state.padding)
+ .attr('width', n.width + 2 * de().state.padding)
+ .attr('height', n.height + 2 * de().state.padding)
+ .attr('rx', de().state.radius),
+ r
+ );
+ }, 'drawSimpleState')),
+ (aUe = o((t, e) => {
+ let r = o(function (p, m, g) {
+ let y = p
+ .append('tspan')
+ .attr('x', 2 * de().state.padding)
+ .text(m);
+ g || y.attr('dy', de().state.textHeight);
+ }, 'addTspan'),
+ i = t
+ .append('text')
+ .attr('x', 2 * de().state.padding)
+ .attr('y', de().state.textHeight + 1.3 * de().state.padding)
+ .attr('font-size', de().state.fontSize)
+ .attr('class', 'state-title')
+ .text(e.descriptions[0])
+ .node()
+ .getBBox(),
+ a = i.height,
+ s = t
+ .append('text')
+ .attr('x', de().state.padding)
+ .attr('y', a + de().state.padding * 0.4 + de().state.dividerMargin + de().state.textHeight)
+ .attr('class', 'state-description'),
+ l = !0,
+ u = !0;
+ e.descriptions.forEach(function (p) {
+ l || (r(s, p, u), (u = !1)), (l = !1);
+ });
+ let h = t
+ .append('line')
+ .attr('x1', de().state.padding)
+ .attr('y1', de().state.padding + a + de().state.dividerMargin / 2)
+ .attr('y2', de().state.padding + a + de().state.dividerMargin / 2)
+ .attr('class', 'descr-divider'),
+ f = s.node().getBBox(),
+ d = Math.max(f.width, i.width);
+ return (
+ h.attr('x2', d + 3 * de().state.padding),
+ t
+ .insert('rect', ':first-child')
+ .attr('x', de().state.padding)
+ .attr('y', de().state.padding)
+ .attr('width', d + 2 * de().state.padding)
+ .attr('height', f.height + a + 2 * de().state.padding)
+ .attr('rx', de().state.radius),
+ t
+ );
+ }, 'drawDescrState')),
+ (qfe = o((t, e, r) => {
+ let n = de().state.padding,
+ i = 2 * de().state.padding,
+ a = t.node().getBBox(),
+ s = a.width,
+ l = a.x,
+ u = t
+ .append('text')
+ .attr('x', 0)
+ .attr('y', de().state.titleShift)
+ .attr('font-size', de().state.fontSize)
+ .attr('class', 'state-title')
+ .text(e.id),
+ f = u.node().getBBox().width + i,
+ d = Math.max(f, s);
+ d === s && (d = d + i);
+ let p,
+ m = t.node().getBBox();
+ e.doc,
+ (p = l - n),
+ f > s && (p = (s - d) / 2 + n),
+ Math.abs(l - m.x) < n && f > s && (p = l - (f - s) / 2);
+ let g = 1 - de().state.textHeight;
+ return (
+ t
+ .insert('rect', ':first-child')
+ .attr('x', p)
+ .attr('y', g)
+ .attr('class', r ? 'alt-composit' : 'composit')
+ .attr('width', d)
+ .attr('height', m.height + de().state.textHeight + de().state.titleShift + 1)
+ .attr('rx', '0'),
+ u.attr('x', p + n),
+ f <= s && u.attr('x', l + (d - i) / 2 - f / 2 + n),
+ t
+ .insert('rect', ':first-child')
+ .attr('x', p)
+ .attr('y', de().state.titleShift - de().state.textHeight - de().state.padding)
+ .attr('width', d)
+ .attr('height', de().state.textHeight * 3)
+ .attr('rx', de().state.radius),
+ t
+ .insert('rect', ':first-child')
+ .attr('x', p)
+ .attr('y', de().state.titleShift - de().state.textHeight - de().state.padding)
+ .attr('width', d)
+ .attr('height', m.height + 3 + 2 * de().state.textHeight)
+ .attr('rx', de().state.radius),
+ t
+ );
+ }, 'addTitleAndBox')),
+ (sUe = o(
+ (t) => (
+ t
+ .append('circle')
+ .attr('class', 'end-state-outer')
+ .attr('r', de().state.sizeUnit + de().state.miniPadding)
+ .attr('cx', de().state.padding + de().state.sizeUnit + de().state.miniPadding)
+ .attr('cy', de().state.padding + de().state.sizeUnit + de().state.miniPadding),
+ t
+ .append('circle')
+ .attr('class', 'end-state-inner')
+ .attr('r', de().state.sizeUnit)
+ .attr('cx', de().state.padding + de().state.sizeUnit + 2)
+ .attr('cy', de().state.padding + de().state.sizeUnit + 2)
+ ),
+ 'drawEndState'
+ )),
+ (oUe = o((t, e) => {
+ let r = de().state.forkWidth,
+ n = de().state.forkHeight;
+ if (e.parentId) {
+ let i = r;
+ (r = n), (n = i);
+ }
+ return t
+ .append('rect')
+ .style('stroke', 'black')
+ .style('fill', 'black')
+ .attr('width', r)
+ .attr('height', n)
+ .attr('x', de().state.padding)
+ .attr('y', de().state.padding);
+ }, 'drawForkJoinState')),
+ (lUe = o((t, e, r, n) => {
+ let i = 0,
+ a = n.append('text');
+ a.style('text-anchor', 'start'), a.attr('class', 'noteText');
+ let s = t.replace(/\r\n/g, '
');
+ s = s.replace(/\n/g, '
');
+ let l = s.split(We.lineBreakRegex),
+ u = 1.25 * de().state.noteMargin;
+ for (let h of l) {
+ let f = h.trim();
+ if (f.length > 0) {
+ let d = a.append('tspan');
+ if ((d.text(f), u === 0)) {
+ let p = d.node().getBBox();
+ u += p.height;
+ }
+ (i += u),
+ d.attr('x', e + de().state.noteMargin),
+ d.attr('y', r + i + 1.25 * de().state.noteMargin);
+ }
+ }
+ return { textWidth: a.node().getBBox().width, textHeight: i };
+ }, '_drawLongText')),
+ (cUe = o((t, e) => {
+ e.attr('class', 'state-note');
+ let r = e.append('rect').attr('x', 0).attr('y', de().state.padding),
+ n = e.append('g'),
+ { textWidth: i, textHeight: a } = lUe(t, 0, 0, n);
+ return (
+ r.attr('height', a + 2 * de().state.noteMargin),
+ r.attr('width', i + de().state.noteMargin * 2),
+ r
+ );
+ }, 'drawNote')),
+ (iP = o(function (t, e) {
+ let r = e.id,
+ n = { id: r, label: e.id, width: 0, height: 0 },
+ i = t.append('g').attr('id', r).attr('class', 'stateGroup');
+ e.type === 'start' && rUe(i),
+ e.type === 'end' && sUe(i),
+ (e.type === 'fork' || e.type === 'join') && oUe(i, e),
+ e.type === 'note' && cUe(e.note.text, i),
+ e.type === 'divider' && nUe(i),
+ e.type === 'default' && e.descriptions.length === 0 && iUe(i, e),
+ e.type === 'default' && e.descriptions.length > 0 && aUe(i, e);
+ let a = i.node().getBBox();
+ return (
+ (n.width = a.width + 2 * de().state.padding),
+ (n.height = a.height + 2 * de().state.padding),
+ Hfe.set(r, n),
+ n
+ );
+ }, 'drawState')),
+ (Wfe = 0),
+ (Xfe = o(function (t, e, r) {
+ let n = o(function (u) {
+ switch (u) {
+ case Qo.relationType.AGGREGATION:
+ return 'aggregation';
+ case Qo.relationType.EXTENSION:
+ return 'extension';
+ case Qo.relationType.COMPOSITION:
+ return 'composition';
+ case Qo.relationType.DEPENDENCY:
+ return 'dependency';
+ }
+ }, 'getRelationType');
+ e.points = e.points.filter((u) => !Number.isNaN(u.y));
+ let i = e.points,
+ a = ha()
+ .x(function (u) {
+ return u.x;
+ })
+ .y(function (u) {
+ return u.y;
+ })
+ .curve(vs),
+ s = t
+ .append('path')
+ .attr('d', a(i))
+ .attr('id', 'edge' + Wfe)
+ .attr('class', 'transition'),
+ l = '';
+ if (
+ (de().state.arrowMarkerAbsolute &&
+ ((l =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (l = l.replace(/\(/g, '\\(')),
+ (l = l.replace(/\)/g, '\\)'))),
+ s.attr('marker-end', 'url(' + l + '#' + n(Qo.relationType.DEPENDENCY) + 'End)'),
+ r.title !== void 0)
+ ) {
+ let u = t.append('g').attr('class', 'stateLabel'),
+ { x: h, y: f } = Lt.calcLabelPosition(e.points),
+ d = We.getRows(r.title),
+ p = 0,
+ m = [],
+ g = 0,
+ y = 0;
+ for (let b = 0; b <= d.length; b++) {
+ let w = u
+ .append('text')
+ .attr('text-anchor', 'middle')
+ .text(d[b])
+ .attr('x', h)
+ .attr('y', f + p),
+ S = w.node().getBBox();
+ (g = Math.max(g, S.width)),
+ (y = Math.min(y, S.x)),
+ V.info(S.x, h, f + p),
+ p === 0 && ((p = w.node().getBBox().height), V.info('Title height', p, f)),
+ m.push(w);
+ }
+ let v = p * d.length;
+ if (d.length > 1) {
+ let b = (d.length - 1) * p * 0.5;
+ m.forEach((w, S) => w.attr('y', f + S * p - b)), (v = p * d.length);
+ }
+ let x = u.node().getBBox();
+ u
+ .insert('rect', ':first-child')
+ .attr('class', 'box')
+ .attr('x', h - g / 2 - de().state.padding / 2)
+ .attr('y', f - v / 2 - de().state.padding / 2 - 3.5)
+ .attr('width', g + de().state.padding)
+ .attr('height', v + de().state.padding),
+ V.info(x);
+ }
+ Wfe++;
+ }, 'drawEdge'));
+ });
+ var vo,
+ aP,
+ uUe,
+ hUe,
+ fUe,
+ dUe,
+ Kfe,
+ Qfe,
+ Zfe = R(() => {
+ 'use strict';
+ Zt();
+ Vd();
+ ya();
+ ut();
+ rr();
+ jfe();
+ _t();
+ Yn();
+ (aP = {}),
+ (uUe = o(function () {}, 'setConf')),
+ (hUe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'dependencyEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z');
+ }, 'insertMarkers')),
+ (fUe = o(function (t, e, r, n) {
+ vo = de().state;
+ let i = de().securityLevel,
+ a;
+ i === 'sandbox' && (a = $e('#i' + e));
+ let s = i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body'),
+ l = i === 'sandbox' ? a.nodes()[0].contentDocument : document;
+ V.debug('Rendering diagram ' + t);
+ let u = s.select(`[id='${e}']`);
+ hUe(u);
+ let h = n.db.getRootDoc();
+ Kfe(h, u, void 0, !1, s, l, n);
+ let f = vo.padding,
+ d = u.node().getBBox(),
+ p = d.width + f * 2,
+ m = d.height + f * 2,
+ g = p * 1.75;
+ Sr(u, m, g, vo.useMaxWidth),
+ u.attr('viewBox', `${d.x - vo.padding} ${d.y - vo.padding} ` + p + ' ' + m);
+ }, 'draw')),
+ (dUe = o((t) => (t ? t.length * vo.fontSizeFactor : 1), 'getLabelWidth')),
+ (Kfe = o((t, e, r, n, i, a, s) => {
+ let l = new lr({ compound: !0, multigraph: !0 }),
+ u,
+ h = !0;
+ for (u = 0; u < t.length; u++)
+ if (t[u].stmt === 'relation') {
+ h = !1;
+ break;
+ }
+ r
+ ? l.setGraph({
+ rankdir: 'LR',
+ multigraph: !0,
+ compound: !0,
+ ranker: 'tight-tree',
+ ranksep: h ? 1 : vo.edgeLengthFactor,
+ nodeSep: h ? 1 : 50,
+ isMultiGraph: !0
+ })
+ : l.setGraph({
+ rankdir: 'TB',
+ multigraph: !0,
+ compound: !0,
+ ranksep: h ? 1 : vo.edgeLengthFactor,
+ nodeSep: h ? 1 : 50,
+ ranker: 'tight-tree',
+ isMultiGraph: !0
+ }),
+ l.setDefaultEdgeLabel(function () {
+ return {};
+ }),
+ s.db.extract(t);
+ let f = s.db.getStates(),
+ d = s.db.getRelations(),
+ p = Object.keys(f),
+ m = !0;
+ for (let b of p) {
+ let w = f[b];
+ r && (w.parentId = r);
+ let S;
+ if (w.doc) {
+ let T = e.append('g').attr('id', w.id).attr('class', 'stateGroup');
+ if (((S = Kfe(w.doc, T, w.id, !n, i, a, s)), m)) {
+ T = qfe(T, w, n);
+ let E = T.node().getBBox();
+ (S.width = E.width),
+ (S.height = E.height + vo.padding / 2),
+ (aP[w.id] = { y: vo.compositTitleSize });
+ } else {
+ let E = T.node().getBBox();
+ (S.width = E.width), (S.height = E.height);
+ }
+ } else S = iP(e, w, l);
+ if (w.note) {
+ let T = {
+ descriptions: [],
+ id: w.id + '-note',
+ note: w.note,
+ type: 'note'
+ },
+ E = iP(e, T, l);
+ w.note.position === 'left of'
+ ? (l.setNode(S.id + '-note', E), l.setNode(S.id, S))
+ : (l.setNode(S.id, S), l.setNode(S.id + '-note', E)),
+ l.setParent(S.id, S.id + '-group'),
+ l.setParent(S.id + '-note', S.id + '-group');
+ } else l.setNode(S.id, S);
+ }
+ V.debug('Count=', l.nodeCount(), l);
+ let g = 0;
+ d.forEach(function (b) {
+ g++,
+ V.debug('Setting edge', b),
+ l.setEdge(
+ b.id1,
+ b.id2,
+ {
+ relation: b,
+ width: dUe(b.title),
+ height: vo.labelHeight * We.getRows(b.title).length,
+ labelpos: 'c'
+ },
+ 'id' + g
+ );
+ }),
+ lo(l),
+ V.debug('Graph after layout', l.nodes());
+ let y = e.node();
+ l.nodes().forEach(function (b) {
+ b !== void 0 && l.node(b) !== void 0
+ ? (V.warn('Node ' + b + ': ' + JSON.stringify(l.node(b))),
+ i
+ .select('#' + y.id + ' #' + b)
+ .attr(
+ 'transform',
+ 'translate(' +
+ (l.node(b).x - l.node(b).width / 2) +
+ ',' +
+ (l.node(b).y + (aP[b] ? aP[b].y : 0) - l.node(b).height / 2) +
+ ' )'
+ ),
+ i.select('#' + y.id + ' #' + b).attr('data-x-shift', l.node(b).x - l.node(b).width / 2),
+ a.querySelectorAll('#' + y.id + ' #' + b + ' .divider').forEach((S) => {
+ let T = S.parentElement,
+ E = 0,
+ _ = 0;
+ T &&
+ (T.parentElement && (E = T.parentElement.getBBox().width),
+ (_ = parseInt(T.getAttribute('data-x-shift'), 10)),
+ Number.isNaN(_) && (_ = 0)),
+ S.setAttribute('x1', 0 - _ + 8),
+ S.setAttribute('x2', E - _ - 8);
+ }))
+ : V.debug('No Node ' + b + ': ' + JSON.stringify(l.node(b)));
+ });
+ let v = y.getBBox();
+ l.edges().forEach(function (b) {
+ b !== void 0 &&
+ l.edge(b) !== void 0 &&
+ (V.debug('Edge ' + b.v + ' -> ' + b.w + ': ' + JSON.stringify(l.edge(b))),
+ Xfe(e, l.edge(b), l.edge(b).relation));
+ }),
+ (v = y.getBBox());
+ let x = { id: r || 'root', label: r || 'root', width: 0, height: 0 };
+ return (
+ (x.width = v.width + 2 * vo.padding),
+ (x.height = v.height + 2 * vo.padding),
+ V.debug('Doc rendered', x, l),
+ x
+ );
+ }, 'renderDoc')),
+ (Qfe = { setConf: uUe, draw: fUe });
+ });
+ var Jfe = {};
+ hr(Jfe, { diagram: () => pUe });
+ var pUe,
+ ede = R(() => {
+ 'use strict';
+ IO();
+ QE();
+ rP();
+ Zfe();
+ pUe = {
+ parser: BE,
+ db: Qo,
+ renderer: Qfe,
+ styles: ZE,
+ init: o((t) => {
+ t.state || (t.state = {}), (t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Qo.clear();
+ }, 'init')
+ };
+ });
+ var nde = {};
+ hr(nde, { diagram: () => vUe });
+ var vUe,
+ ide = R(() => {
+ 'use strict';
+ IO();
+ QE();
+ rP();
+ XO();
+ vUe = {
+ parser: BE,
+ db: Qo,
+ renderer: Lfe,
+ styles: ZE,
+ init: o((t) => {
+ t.state || (t.state = {}), (t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Qo.clear();
+ }, 'init')
+ };
+ });
+ var sP,
+ ode,
+ lde = R(() => {
+ 'use strict';
+ sP = (function () {
+ var t = o(function (d, p, m, g) {
+ for (m = m || {}, g = d.length; g--; m[d[g]] = p);
+ return m;
+ }, 'o'),
+ e = [6, 8, 10, 11, 12, 14, 16, 17, 18],
+ r = [1, 9],
+ n = [1, 10],
+ i = [1, 11],
+ a = [1, 12],
+ s = [1, 13],
+ l = [1, 14],
+ u = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ journey: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NEWLINE: 10,
+ title: 11,
+ acc_title: 12,
+ acc_title_value: 13,
+ acc_descr: 14,
+ acc_descr_value: 15,
+ acc_descr_multiline_value: 16,
+ section: 17,
+ taskName: 18,
+ taskData: 19,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'journey',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NEWLINE',
+ 11: 'title',
+ 12: 'acc_title',
+ 13: 'acc_title_value',
+ 14: 'acc_descr',
+ 15: 'acc_descr_value',
+ 16: 'acc_descr_multiline_value',
+ 17: 'section',
+ 18: 'taskName',
+ 19: 'taskData'
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 2]
+ ],
+ performAction: o(function (p, m, g, y, v, x, b) {
+ var w = x.length - 1;
+ switch (v) {
+ case 1:
+ return x[w - 1];
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ x[w - 1].push(x[w]), (this.$ = x[w - 1]);
+ break;
+ case 4:
+ case 5:
+ this.$ = x[w];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ y.setDiagramTitle(x[w].substr(6)), (this.$ = x[w].substr(6));
+ break;
+ case 9:
+ (this.$ = x[w].trim()), y.setAccTitle(this.$);
+ break;
+ case 10:
+ case 11:
+ (this.$ = x[w].trim()), y.setAccDescription(this.$);
+ break;
+ case 12:
+ y.addSection(x[w].substr(8)), (this.$ = x[w].substr(8));
+ break;
+ case 13:
+ y.addTask(x[w - 1], x[w]), (this.$ = 'task');
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ t(e, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: r,
+ 12: n,
+ 14: i,
+ 16: a,
+ 17: s,
+ 18: l
+ },
+ t(e, [2, 7], { 1: [2, 1] }),
+ t(e, [2, 3]),
+ { 9: 15, 11: r, 12: n, 14: i, 16: a, 17: s, 18: l },
+ t(e, [2, 5]),
+ t(e, [2, 6]),
+ t(e, [2, 8]),
+ { 13: [1, 16] },
+ { 15: [1, 17] },
+ t(e, [2, 11]),
+ t(e, [2, 12]),
+ { 19: [1, 18] },
+ t(e, [2, 4]),
+ t(e, [2, 9]),
+ t(e, [2, 10]),
+ t(e, [2, 13])
+ ],
+ defaultActions: {},
+ parseError: o(function (p, m) {
+ if (m.recoverable) this.trace(p);
+ else {
+ var g = new Error(p);
+ throw ((g.hash = m), g);
+ }
+ }, 'parseError'),
+ parse: o(function (p) {
+ var m = this,
+ g = [0],
+ y = [],
+ v = [null],
+ x = [],
+ b = this.table,
+ w = '',
+ S = 0,
+ T = 0,
+ E = 0,
+ _ = 2,
+ A = 1,
+ L = x.slice.call(arguments, 1),
+ M = Object.create(this.lexer),
+ N = { yy: {} };
+ for (var k in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, k) && (N.yy[k] = this.yy[k]);
+ M.setInput(p, N.yy),
+ (N.yy.lexer = M),
+ (N.yy.parser = this),
+ typeof M.yylloc > 'u' && (M.yylloc = {});
+ var I = M.yylloc;
+ x.push(I);
+ var C = M.options && M.options.ranges;
+ typeof N.yy.parseError == 'function'
+ ? (this.parseError = N.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function O(H) {
+ (g.length = g.length - 2 * H), (v.length = v.length - H), (x.length = x.length - H);
+ }
+ o(O, 'popStack');
+ function D() {
+ var H;
+ return (
+ (H = y.pop() || M.lex() || A),
+ typeof H != 'number' &&
+ (H instanceof Array && ((y = H), (H = y.pop())), (H = m.symbols_[H] || H)),
+ H
+ );
+ }
+ o(D, 'lex');
+ for (var P, F, B, $, z, Y, Q = {}, X, ie, j, J; ; ) {
+ if (
+ ((B = g[g.length - 1]),
+ this.defaultActions[B]
+ ? ($ = this.defaultActions[B])
+ : ((P === null || typeof P > 'u') && (P = D()), ($ = b[B] && b[B][P])),
+ typeof $ > 'u' || !$.length || !$[0])
+ ) {
+ var Z = '';
+ J = [];
+ for (X in b[B])
+ this.terminals_[X] && X > _ && J.push("'" + this.terminals_[X] + "'");
+ M.showPosition
+ ? (Z =
+ 'Parse error on line ' +
+ (S + 1) +
+ `:
+` +
+ M.showPosition() +
+ `
+Expecting ` +
+ J.join(', ') +
+ ", got '" +
+ (this.terminals_[P] || P) +
+ "'")
+ : (Z =
+ 'Parse error on line ' +
+ (S + 1) +
+ ': Unexpected ' +
+ (P == A ? 'end of input' : "'" + (this.terminals_[P] || P) + "'")),
+ this.parseError(Z, {
+ text: M.match,
+ token: this.terminals_[P] || P,
+ line: M.yylineno,
+ loc: I,
+ expected: J
+ });
+ }
+ if ($[0] instanceof Array && $.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + B + ', token: ' + P
+ );
+ switch ($[0]) {
+ case 1:
+ g.push(P),
+ v.push(M.yytext),
+ x.push(M.yylloc),
+ g.push($[1]),
+ (P = null),
+ F
+ ? ((P = F), (F = null))
+ : ((T = M.yyleng),
+ (w = M.yytext),
+ (S = M.yylineno),
+ (I = M.yylloc),
+ E > 0 && E--);
+ break;
+ case 2:
+ if (
+ ((ie = this.productions_[$[1]][1]),
+ (Q.$ = v[v.length - ie]),
+ (Q._$ = {
+ first_line: x[x.length - (ie || 1)].first_line,
+ last_line: x[x.length - 1].last_line,
+ first_column: x[x.length - (ie || 1)].first_column,
+ last_column: x[x.length - 1].last_column
+ }),
+ C &&
+ (Q._$.range = [
+ x[x.length - (ie || 1)].range[0],
+ x[x.length - 1].range[1]
+ ]),
+ (Y = this.performAction.apply(Q, [w, T, S, N.yy, $[1], v, x].concat(L))),
+ typeof Y < 'u')
+ )
+ return Y;
+ ie &&
+ ((g = g.slice(0, -1 * ie * 2)),
+ (v = v.slice(0, -1 * ie)),
+ (x = x.slice(0, -1 * ie))),
+ g.push(this.productions_[$[1]][0]),
+ v.push(Q.$),
+ x.push(Q._$),
+ (j = b[g[g.length - 2]][g[g.length - 1]]),
+ g.push(j);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ h = (function () {
+ var d = {
+ EOF: 1,
+ parseError: o(function (m, g) {
+ if (this.yy.parser) this.yy.parser.parseError(m, g);
+ else throw new Error(m);
+ }, 'parseError'),
+ setInput: o(function (p, m) {
+ return (
+ (this.yy = m || this.yy || {}),
+ (this._input = p),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var p = this._input[0];
+ (this.yytext += p),
+ this.yyleng++,
+ this.offset++,
+ (this.match += p),
+ (this.matched += p);
+ var m = p.match(/(?:\r\n?|\n).*/g);
+ return (
+ m ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ p
+ );
+ }, 'input'),
+ unput: o(function (p) {
+ var m = p.length,
+ g = p.split(/(?:\r\n?|\n)/g);
+ (this._input = p + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - m)),
+ (this.offset -= m);
+ var y = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ g.length - 1 && (this.yylineno -= g.length - 1);
+ var v = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: g
+ ? (g.length === y.length ? this.yylloc.first_column : 0) +
+ y[y.length - g.length].length -
+ g[0].length
+ : this.yylloc.first_column - m
+ }),
+ this.options.ranges && (this.yylloc.range = [v[0], v[0] + this.yyleng - m]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (p) {
+ this.unput(this.match.slice(p));
+ }, 'less'),
+ pastInput: o(function () {
+ var p = this.matched.substr(0, this.matched.length - this.match.length);
+ return (p.length > 20 ? '...' : '') + p.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var p = this.match;
+ return (
+ p.length < 20 && (p += this._input.substr(0, 20 - p.length)),
+ (p.substr(0, 20) + (p.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var p = this.pastInput(),
+ m = new Array(p.length + 1).join('-');
+ return (
+ p +
+ this.upcomingInput() +
+ `
+` +
+ m +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (p, m) {
+ var g, y, v;
+ if (
+ (this.options.backtrack_lexer &&
+ ((v = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (v.yylloc.range = this.yylloc.range.slice(0))),
+ (y = p[0].match(/(?:\r\n?|\n).*/g)),
+ y && (this.yylineno += y.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: y
+ ? y[y.length - 1].length - y[y.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + p[0].length
+ }),
+ (this.yytext += p[0]),
+ (this.match += p[0]),
+ (this.matches = p),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(p[0].length)),
+ (this.matched += p[0]),
+ (g = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ m,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ g)
+ )
+ return g;
+ if (this._backtrack) {
+ for (var x in v) this[x] = v[x];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var p, m, g, y;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var v = this._currentRules(), x = 0; x < v.length; x++)
+ if (
+ ((g = this._input.match(this.rules[v[x]])),
+ g && (!m || g[0].length > m[0].length))
+ ) {
+ if (((m = g), (y = x), this.options.backtrack_lexer)) {
+ if (((p = this.test_match(g, v[x])), p !== !1)) return p;
+ if (this._backtrack) {
+ m = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return m
+ ? ((p = this.test_match(m, v[y])), p !== !1 ? p : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var m = this.next();
+ return m || this.lex();
+ }, 'lex'),
+ begin: o(function (m) {
+ this.conditionStack.push(m);
+ }, 'begin'),
+ popState: o(function () {
+ var m = this.conditionStack.length - 1;
+ return m > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (m) {
+ return (
+ (m = this.conditionStack.length - 1 - Math.abs(m || 0)),
+ m >= 0 ? this.conditionStack[m] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (m) {
+ this.begin(m);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (m, g, y, v) {
+ var x = v;
+ switch (y) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return 10;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ return 4;
+ case 6:
+ return 11;
+ case 7:
+ return this.begin('acc_title'), 12;
+ break;
+ case 8:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 9:
+ return this.begin('acc_descr'), 14;
+ break;
+ case 10:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 11:
+ this.begin('acc_descr_multiline');
+ break;
+ case 12:
+ this.popState();
+ break;
+ case 13:
+ return 'acc_descr_multiline_value';
+ case 14:
+ return 17;
+ case 15:
+ return 18;
+ case 16:
+ return 19;
+ case 17:
+ return ':';
+ case 18:
+ return 6;
+ case 19:
+ return 'INVALID';
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:journey\b)/i,
+ /^(?:title\s[^#\n;]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:section\s[^#:\n;]+)/i,
+ /^(?:[^#:\n;]+)/i,
+ /^(?::[^#\n;]+)/i,
+ /^(?::)/i,
+ /^(?:$)/i,
+ /^(?:.)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [12, 13], inclusive: !1 },
+ acc_descr: { rules: [10], inclusive: !1 },
+ acc_title: { rules: [8], inclusive: !1 },
+ INITIAL: {
+ rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19],
+ inclusive: !0
+ }
+ }
+ };
+ return d;
+ })();
+ u.lexer = h;
+ function f() {
+ this.yy = {};
+ }
+ return o(f, 'Parser'), (f.prototype = u), (u.Parser = f), new f();
+ })();
+ sP.parser = sP;
+ ode = sP;
+ });
+ var Ug,
+ oP,
+ Sx,
+ Ax,
+ TUe,
+ kUe,
+ EUe,
+ CUe,
+ SUe,
+ AUe,
+ _Ue,
+ cde,
+ LUe,
+ lP,
+ ude = R(() => {
+ 'use strict';
+ _t();
+ bi();
+ (Ug = ''),
+ (oP = []),
+ (Sx = []),
+ (Ax = []),
+ (TUe = o(function () {
+ (oP.length = 0), (Sx.length = 0), (Ug = ''), (Ax.length = 0), vr();
+ }, 'clear')),
+ (kUe = o(function (t) {
+ (Ug = t), oP.push(t);
+ }, 'addSection')),
+ (EUe = o(function () {
+ return oP;
+ }, 'getSections')),
+ (CUe = o(function () {
+ let t = cde(),
+ e = 100,
+ r = 0;
+ for (; !t && r < e; ) (t = cde()), r++;
+ return Sx.push(...Ax), Sx;
+ }, 'getTasks')),
+ (SUe = o(function () {
+ let t = [];
+ return (
+ Sx.forEach((r) => {
+ r.people && t.push(...r.people);
+ }),
+ [...new Set(t)].sort()
+ );
+ }, 'updateActors')),
+ (AUe = o(function (t, e) {
+ let r = e.substr(1).split(':'),
+ n = 0,
+ i = [];
+ r.length === 1 ? ((n = Number(r[0])), (i = [])) : ((n = Number(r[0])), (i = r[1].split(',')));
+ let a = i.map((l) => l.trim()),
+ s = { section: Ug, type: Ug, people: a, task: t, score: n };
+ Ax.push(s);
+ }, 'addTask')),
+ (_Ue = o(function (t) {
+ let e = {
+ section: Ug,
+ type: Ug,
+ description: t,
+ task: t,
+ classes: []
+ };
+ Sx.push(e);
+ }, 'addTaskOrg')),
+ (cde = o(function () {
+ let t = o(function (r) {
+ return Ax[r].processed;
+ }, 'compileTask'),
+ e = !0;
+ for (let [r, n] of Ax.entries()) t(r), (e = e && n.processed);
+ return e;
+ }, 'compileTasks')),
+ (LUe = o(function () {
+ return SUe();
+ }, 'getActors')),
+ (lP = {
+ getConfig: o(() => de().journey, 'getConfig'),
+ clear: TUe,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ addSection: kUe,
+ getSections: EUe,
+ getTasks: CUe,
+ addTask: AUe,
+ addTaskOrg: _Ue,
+ getActors: LUe
+ });
+ });
+ var DUe,
+ hde,
+ fde = R(() => {
+ 'use strict';
+ (DUe = o(
+ (t) => `.label {
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
+ font-family: var(--mermaid-font-family);
+ color: ${t.textColor};
+ }
+ .mouth {
+ stroke: #666;
+ }
+
+ line {
+ stroke: ${t.textColor}
+ }
+
+ .legend {
+ fill: ${t.textColor};
+ }
+
+ .label text {
+ fill: #333;
+ }
+ .label {
+ color: ${t.textColor}
+ }
+
+ .face {
+ ${t.faceColor ? `fill: ${t.faceColor}` : 'fill: #FFF8DC'};
+ stroke: #999;
+ }
+
+ .node rect,
+ .node circle,
+ .node ellipse,
+ .node polygon,
+ .node path {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+ stroke-width: 1px;
+ }
+
+ .node .label {
+ text-align: center;
+ }
+ .node.clickable {
+ cursor: pointer;
+ }
+
+ .arrowheadPath {
+ fill: ${t.arrowheadColor};
+ }
+
+ .edgePath .path {
+ stroke: ${t.lineColor};
+ stroke-width: 1.5px;
+ }
+
+ .flowchart-link {
+ stroke: ${t.lineColor};
+ fill: none;
+ }
+
+ .edgeLabel {
+ background-color: ${t.edgeLabelBackground};
+ rect {
+ opacity: 0.5;
+ }
+ text-align: center;
+ }
+
+ .cluster rect {
+ }
+
+ .cluster text {
+ fill: ${t.titleColor};
+ }
+
+ div.mermaidTooltip {
+ position: absolute;
+ text-align: center;
+ max-width: 200px;
+ padding: 2px;
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
+ font-family: var(--mermaid-font-family);
+ font-size: 12px;
+ background: ${t.tertiaryColor};
+ border: 1px solid ${t.border2};
+ border-radius: 2px;
+ pointer-events: none;
+ z-index: 100;
+ }
+
+ .task-type-0, .section-type-0 {
+ ${t.fillType0 ? `fill: ${t.fillType0}` : ''};
+ }
+ .task-type-1, .section-type-1 {
+ ${t.fillType0 ? `fill: ${t.fillType1}` : ''};
+ }
+ .task-type-2, .section-type-2 {
+ ${t.fillType0 ? `fill: ${t.fillType2}` : ''};
+ }
+ .task-type-3, .section-type-3 {
+ ${t.fillType0 ? `fill: ${t.fillType3}` : ''};
+ }
+ .task-type-4, .section-type-4 {
+ ${t.fillType0 ? `fill: ${t.fillType4}` : ''};
+ }
+ .task-type-5, .section-type-5 {
+ ${t.fillType0 ? `fill: ${t.fillType5}` : ''};
+ }
+ .task-type-6, .section-type-6 {
+ ${t.fillType0 ? `fill: ${t.fillType6}` : ''};
+ }
+ .task-type-7, .section-type-7 {
+ ${t.fillType0 ? `fill: ${t.fillType7}` : ''};
+ }
+
+ .actor-0 {
+ ${t.actor0 ? `fill: ${t.actor0}` : ''};
+ }
+ .actor-1 {
+ ${t.actor1 ? `fill: ${t.actor1}` : ''};
+ }
+ .actor-2 {
+ ${t.actor2 ? `fill: ${t.actor2}` : ''};
+ }
+ .actor-3 {
+ ${t.actor3 ? `fill: ${t.actor3}` : ''};
+ }
+ .actor-4 {
+ ${t.actor4 ? `fill: ${t.actor4}` : ''};
+ }
+ .actor-5 {
+ ${t.actor5 ? `fill: ${t.actor5}` : ''};
+ }
+`,
+ 'getStyles'
+ )),
+ (hde = DUe);
+ });
+ var cP,
+ RUe,
+ pde,
+ mde,
+ NUe,
+ MUe,
+ dde,
+ IUe,
+ OUe,
+ gde,
+ PUe,
+ Hg,
+ yde = R(() => {
+ 'use strict';
+ Zt();
+ Qy();
+ (cP = o(function (t, e) {
+ return yd(t, e);
+ }, 'drawRect')),
+ (RUe = o(function (t, e) {
+ let n = t
+ .append('circle')
+ .attr('cx', e.cx)
+ .attr('cy', e.cy)
+ .attr('class', 'face')
+ .attr('r', 15)
+ .attr('stroke-width', 2)
+ .attr('overflow', 'visible'),
+ i = t.append('g');
+ i
+ .append('circle')
+ .attr('cx', e.cx - 15 / 3)
+ .attr('cy', e.cy - 15 / 3)
+ .attr('r', 1.5)
+ .attr('stroke-width', 2)
+ .attr('fill', '#666')
+ .attr('stroke', '#666'),
+ i
+ .append('circle')
+ .attr('cx', e.cx + 15 / 3)
+ .attr('cy', e.cy - 15 / 3)
+ .attr('r', 1.5)
+ .attr('stroke-width', 2)
+ .attr('fill', '#666')
+ .attr('stroke', '#666');
+ function a(u) {
+ let h = bl()
+ .startAngle(Math.PI / 2)
+ .endAngle(3 * (Math.PI / 2))
+ .innerRadius(7.5)
+ .outerRadius(6.8181818181818175);
+ u.append('path')
+ .attr('class', 'mouth')
+ .attr('d', h)
+ .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 2) + ')');
+ }
+ o(a, 'smile');
+ function s(u) {
+ let h = bl()
+ .startAngle((3 * Math.PI) / 2)
+ .endAngle(5 * (Math.PI / 2))
+ .innerRadius(7.5)
+ .outerRadius(6.8181818181818175);
+ u.append('path')
+ .attr('class', 'mouth')
+ .attr('d', h)
+ .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 7) + ')');
+ }
+ o(s, 'sad');
+ function l(u) {
+ u.append('line')
+ .attr('class', 'mouth')
+ .attr('stroke', 2)
+ .attr('x1', e.cx - 5)
+ .attr('y1', e.cy + 7)
+ .attr('x2', e.cx + 5)
+ .attr('y2', e.cy + 7)
+ .attr('class', 'mouth')
+ .attr('stroke-width', '1px')
+ .attr('stroke', '#666');
+ }
+ return o(l, 'ambivalent'), e.score > 3 ? a(i) : e.score < 3 ? s(i) : l(i), n;
+ }, 'drawFace')),
+ (pde = o(function (t, e) {
+ let r = t.append('circle');
+ return (
+ r.attr('cx', e.cx),
+ r.attr('cy', e.cy),
+ r.attr('class', 'actor-' + e.pos),
+ r.attr('fill', e.fill),
+ r.attr('stroke', e.stroke),
+ r.attr('r', e.r),
+ r.class !== void 0 && r.attr('class', r.class),
+ e.title !== void 0 && r.append('title').text(e.title),
+ r
+ );
+ }, 'drawCircle')),
+ (mde = o(function (t, e) {
+ return TW(t, e);
+ }, 'drawText')),
+ (NUe = o(function (t, e) {
+ function r(i, a, s, l, u) {
+ return (
+ i +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ (a + l - u) +
+ ' ' +
+ (i + s - u * 1.2) +
+ ',' +
+ (a + l) +
+ ' ' +
+ i +
+ ',' +
+ (a + l)
+ );
+ }
+ o(r, 'genPoints');
+ let n = t.append('polygon');
+ n.attr('points', r(e.x, e.y, 50, 20, 7)),
+ n.attr('class', 'labelBox'),
+ (e.y = e.y + e.labelMargin),
+ (e.x = e.x + 0.5 * e.labelMargin),
+ mde(t, e);
+ }, 'drawLabel')),
+ (MUe = o(function (t, e, r) {
+ let n = t.append('g'),
+ i = wl();
+ (i.x = e.x),
+ (i.y = e.y),
+ (i.fill = e.fill),
+ (i.width = r.width * e.taskCount + r.diagramMarginX * (e.taskCount - 1)),
+ (i.height = r.height),
+ (i.class = 'journey-section section-type-' + e.num),
+ (i.rx = 3),
+ (i.ry = 3),
+ cP(n, i),
+ gde(r)(
+ e.text,
+ n,
+ i.x,
+ i.y,
+ i.width,
+ i.height,
+ { class: 'journey-section section-type-' + e.num },
+ r,
+ e.colour
+ );
+ }, 'drawSection')),
+ (dde = -1),
+ (IUe = o(function (t, e, r) {
+ let n = e.x + r.width / 2,
+ i = t.append('g');
+ dde++;
+ let a = 300 + 5 * 30;
+ i
+ .append('line')
+ .attr('id', 'task' + dde)
+ .attr('x1', n)
+ .attr('y1', e.y)
+ .attr('x2', n)
+ .attr('y2', a)
+ .attr('class', 'task-line')
+ .attr('stroke-width', '1px')
+ .attr('stroke-dasharray', '4 2')
+ .attr('stroke', '#666'),
+ RUe(i, { cx: n, cy: 300 + (5 - e.score) * 30, score: e.score });
+ let s = wl();
+ (s.x = e.x),
+ (s.y = e.y),
+ (s.fill = e.fill),
+ (s.width = r.width),
+ (s.height = r.height),
+ (s.class = 'task task-type-' + e.num),
+ (s.rx = 3),
+ (s.ry = 3),
+ cP(i, s);
+ let l = e.x + 14;
+ e.people.forEach((u) => {
+ let h = e.actors[u].color,
+ f = {
+ cx: l,
+ cy: e.y,
+ r: 7,
+ fill: h,
+ stroke: '#000',
+ title: u,
+ pos: e.actors[u].position
+ };
+ pde(i, f), (l += 10);
+ }),
+ gde(r)(e.task, i, s.x, s.y, s.width, s.height, { class: 'task' }, r, e.colour);
+ }, 'drawTask')),
+ (OUe = o(function (t, e) {
+ j3(t, e);
+ }, 'drawBackgroundRect')),
+ (gde = (function () {
+ function t(i, a, s, l, u, h, f, d) {
+ let p = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l + h / 2 + 5)
+ .style('font-color', d)
+ .style('text-anchor', 'middle')
+ .text(i);
+ n(p, f);
+ }
+ o(t, 'byText');
+ function e(i, a, s, l, u, h, f, d, p) {
+ let { taskFontSize: m, taskFontFamily: g } = d,
+ y = i.split(/
/gi);
+ for (let v = 0; v < y.length; v++) {
+ let x = v * m - (m * (y.length - 1)) / 2,
+ b = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l)
+ .attr('fill', p)
+ .style('text-anchor', 'middle')
+ .style('font-size', m)
+ .style('font-family', g);
+ b
+ .append('tspan')
+ .attr('x', s + u / 2)
+ .attr('dy', x)
+ .text(y[v]),
+ b
+ .attr('y', l + h / 2)
+ .attr('dominant-baseline', 'central')
+ .attr('alignment-baseline', 'central'),
+ n(b, f);
+ }
+ }
+ o(e, 'byTspan');
+ function r(i, a, s, l, u, h, f, d) {
+ let p = a.append('switch'),
+ g = p
+ .append('foreignObject')
+ .attr('x', s)
+ .attr('y', l)
+ .attr('width', u)
+ .attr('height', h)
+ .attr('position', 'fixed')
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ g
+ .append('div')
+ .attr('class', 'label')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(i),
+ e(i, p, s, l, u, h, f, d),
+ n(g, f);
+ }
+ o(r, 'byFo');
+ function n(i, a) {
+ for (let s in a) s in a && i.attr(s, a[s]);
+ }
+ return (
+ o(n, '_setTextAttrs'),
+ function (i) {
+ return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e;
+ }
+ );
+ })()),
+ (PUe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'arrowhead')
+ .attr('refX', 5)
+ .attr('refY', 2)
+ .attr('markerWidth', 6)
+ .attr('markerHeight', 4)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0,0 V 4 L6,2 Z');
+ }, 'initGraphics')),
+ (Hg = {
+ drawRect: cP,
+ drawCircle: pde,
+ drawSection: MUe,
+ drawText: mde,
+ drawLabel: NUe,
+ drawTask: IUe,
+ drawBackgroundRect: OUe,
+ initGraphics: PUe
+ });
+ });
+ function FUe(t) {
+ let e = de().journey,
+ r = 60;
+ Object.keys(Xu).forEach((n) => {
+ let i = Xu[n].color,
+ a = {
+ cx: 20,
+ cy: r,
+ r: 7,
+ fill: i,
+ stroke: '#000',
+ pos: Xu[n].position
+ };
+ Hg.drawCircle(t, a);
+ let s = {
+ x: 40,
+ y: r + 7,
+ fill: '#666',
+ text: n,
+ textMargin: e.boxTextMargin | 5
+ };
+ Hg.drawText(t, s), (r += 20);
+ });
+ }
+ var BUe,
+ Xu,
+ JE,
+ I0,
+ zUe,
+ Zo,
+ uP,
+ vde,
+ GUe,
+ hP,
+ xde = R(() => {
+ 'use strict';
+ Zt();
+ yde();
+ _t();
+ Yn();
+ (BUe = o(function (t) {
+ Object.keys(t).forEach(function (r) {
+ JE[r] = t[r];
+ });
+ }, 'setConf')),
+ (Xu = {});
+ o(FUe, 'drawActorLegend');
+ (JE = de().journey),
+ (I0 = JE.leftMargin),
+ (zUe = o(function (t, e, r, n) {
+ let i = de().journey,
+ a = de().securityLevel,
+ s;
+ a === 'sandbox' && (s = $e('#i' + e));
+ let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body');
+ Zo.init();
+ let u = l.select('#' + e);
+ Hg.initGraphics(u);
+ let h = n.db.getTasks(),
+ f = n.db.getDiagramTitle(),
+ d = n.db.getActors();
+ for (let x in Xu) delete Xu[x];
+ let p = 0;
+ d.forEach((x) => {
+ (Xu[x] = {
+ color: i.actorColours[p % i.actorColours.length],
+ position: p
+ }),
+ p++;
+ }),
+ FUe(u),
+ Zo.insert(0, 0, I0, Object.keys(Xu).length * 50),
+ GUe(u, h, 0);
+ let m = Zo.getBounds();
+ f &&
+ u
+ .append('text')
+ .text(f)
+ .attr('x', I0)
+ .attr('font-size', '4ex')
+ .attr('font-weight', 'bold')
+ .attr('y', 25);
+ let g = m.stopy - m.starty + 2 * i.diagramMarginY,
+ y = I0 + m.stopx + 2 * i.diagramMarginX;
+ Sr(u, g, y, i.useMaxWidth),
+ u
+ .append('line')
+ .attr('x1', I0)
+ .attr('y1', i.height * 4)
+ .attr('x2', y - I0 - 4)
+ .attr('y2', i.height * 4)
+ .attr('stroke-width', 4)
+ .attr('stroke', 'black')
+ .attr('marker-end', 'url(#arrowhead)');
+ let v = f ? 70 : 0;
+ u.attr('viewBox', `${m.startx} -25 ${y} ${g + v}`),
+ u.attr('preserveAspectRatio', 'xMinYMin meet'),
+ u.attr('height', g + v + 25);
+ }, 'draw')),
+ (Zo = {
+ data: {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0
+ },
+ verticalPos: 0,
+ sequenceItems: [],
+ init: o(function () {
+ (this.sequenceItems = []),
+ (this.data = {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0
+ }),
+ (this.verticalPos = 0);
+ }, 'init'),
+ updateVal: o(function (t, e, r, n) {
+ t[e] === void 0 ? (t[e] = r) : (t[e] = n(r, t[e]));
+ }, 'updateVal'),
+ updateBounds: o(function (t, e, r, n) {
+ let i = de().journey,
+ a = this,
+ s = 0;
+ function l(u) {
+ return o(function (f) {
+ s++;
+ let d = a.sequenceItems.length - s + 1;
+ a.updateVal(f, 'starty', e - d * i.boxMargin, Math.min),
+ a.updateVal(f, 'stopy', n + d * i.boxMargin, Math.max),
+ a.updateVal(Zo.data, 'startx', t - d * i.boxMargin, Math.min),
+ a.updateVal(Zo.data, 'stopx', r + d * i.boxMargin, Math.max),
+ u !== 'activation' &&
+ (a.updateVal(f, 'startx', t - d * i.boxMargin, Math.min),
+ a.updateVal(f, 'stopx', r + d * i.boxMargin, Math.max),
+ a.updateVal(Zo.data, 'starty', e - d * i.boxMargin, Math.min),
+ a.updateVal(Zo.data, 'stopy', n + d * i.boxMargin, Math.max));
+ }, 'updateItemBounds');
+ }
+ o(l, 'updateFn'), this.sequenceItems.forEach(l());
+ }, 'updateBounds'),
+ insert: o(function (t, e, r, n) {
+ let i = Math.min(t, r),
+ a = Math.max(t, r),
+ s = Math.min(e, n),
+ l = Math.max(e, n);
+ this.updateVal(Zo.data, 'startx', i, Math.min),
+ this.updateVal(Zo.data, 'starty', s, Math.min),
+ this.updateVal(Zo.data, 'stopx', a, Math.max),
+ this.updateVal(Zo.data, 'stopy', l, Math.max),
+ this.updateBounds(i, s, a, l);
+ }, 'insert'),
+ bumpVerticalPos: o(function (t) {
+ (this.verticalPos = this.verticalPos + t), (this.data.stopy = this.verticalPos);
+ }, 'bumpVerticalPos'),
+ getVerticalPos: o(function () {
+ return this.verticalPos;
+ }, 'getVerticalPos'),
+ getBounds: o(function () {
+ return this.data;
+ }, 'getBounds')
+ }),
+ (uP = JE.sectionFills),
+ (vde = JE.sectionColours),
+ (GUe = o(function (t, e, r) {
+ let n = de().journey,
+ i = '',
+ a = n.height * 2 + n.diagramMarginY,
+ s = r + a,
+ l = 0,
+ u = '#CCC',
+ h = 'black',
+ f = 0;
+ for (let [d, p] of e.entries()) {
+ if (i !== p.section) {
+ (u = uP[l % uP.length]), (f = l % uP.length), (h = vde[l % vde.length]);
+ let g = 0,
+ y = p.section;
+ for (let x = d; x < e.length && e[x].section == y; x++) g = g + 1;
+ let v = {
+ x: d * n.taskMargin + d * n.width + I0,
+ y: 50,
+ text: p.section,
+ fill: u,
+ num: f,
+ colour: h,
+ taskCount: g
+ };
+ Hg.drawSection(t, v, n), (i = p.section), l++;
+ }
+ let m = p.people.reduce((g, y) => (Xu[y] && (g[y] = Xu[y]), g), {});
+ (p.x = d * n.taskMargin + d * n.width + I0),
+ (p.y = s),
+ (p.width = n.diagramMarginX),
+ (p.height = n.diagramMarginY),
+ (p.colour = h),
+ (p.fill = u),
+ (p.num = f),
+ (p.actors = m),
+ Hg.drawTask(t, p, n),
+ Zo.insert(p.x, p.y, p.x + p.width + n.taskMargin, 300 + 5 * 30);
+ }
+ }, 'drawTasks')),
+ (hP = { setConf: BUe, draw: zUe });
+ });
+ var bde = {};
+ hr(bde, { diagram: () => $Ue });
+ var $Ue,
+ wde = R(() => {
+ 'use strict';
+ lde();
+ ude();
+ fde();
+ xde();
+ $Ue = {
+ parser: ode,
+ db: lP,
+ renderer: hP,
+ styles: hde,
+ init: o((t) => {
+ hP.setConf(t.journey), lP.clear();
+ }, 'init')
+ };
+ });
+ var dP,
+ _de,
+ Lde = R(() => {
+ 'use strict';
+ dP = (function () {
+ var t = o(function (p, m, g, y) {
+ for (g = g || {}, y = p.length; y--; g[p[y]] = m);
+ return g;
+ }, 'o'),
+ e = [6, 8, 10, 11, 12, 14, 16, 17, 20, 21],
+ r = [1, 9],
+ n = [1, 10],
+ i = [1, 11],
+ a = [1, 12],
+ s = [1, 13],
+ l = [1, 16],
+ u = [1, 17],
+ h = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ timeline: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NEWLINE: 10,
+ title: 11,
+ acc_title: 12,
+ acc_title_value: 13,
+ acc_descr: 14,
+ acc_descr_value: 15,
+ acc_descr_multiline_value: 16,
+ section: 17,
+ period_statement: 18,
+ event_statement: 19,
+ period: 20,
+ event: 21,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'timeline',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NEWLINE',
+ 11: 'title',
+ 12: 'acc_title',
+ 13: 'acc_title_value',
+ 14: 'acc_descr',
+ 15: 'acc_descr_value',
+ 16: 'acc_descr_multiline_value',
+ 17: 'section',
+ 20: 'period',
+ 21: 'event'
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [18, 1],
+ [19, 1]
+ ],
+ performAction: o(function (m, g, y, v, x, b, w) {
+ var S = b.length - 1;
+ switch (x) {
+ case 1:
+ return b[S - 1];
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ b[S - 1].push(b[S]), (this.$ = b[S - 1]);
+ break;
+ case 4:
+ case 5:
+ this.$ = b[S];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ v.getCommonDb().setDiagramTitle(b[S].substr(6)), (this.$ = b[S].substr(6));
+ break;
+ case 9:
+ (this.$ = b[S].trim()), v.getCommonDb().setAccTitle(this.$);
+ break;
+ case 10:
+ case 11:
+ (this.$ = b[S].trim()), v.getCommonDb().setAccDescription(this.$);
+ break;
+ case 12:
+ v.addSection(b[S].substr(8)), (this.$ = b[S].substr(8));
+ break;
+ case 15:
+ v.addTask(b[S], 0, ''), (this.$ = b[S]);
+ break;
+ case 16:
+ v.addEvent(b[S].substr(2)), (this.$ = b[S]);
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ t(e, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: r,
+ 12: n,
+ 14: i,
+ 16: a,
+ 17: s,
+ 18: 14,
+ 19: 15,
+ 20: l,
+ 21: u
+ },
+ t(e, [2, 7], { 1: [2, 1] }),
+ t(e, [2, 3]),
+ {
+ 9: 18,
+ 11: r,
+ 12: n,
+ 14: i,
+ 16: a,
+ 17: s,
+ 18: 14,
+ 19: 15,
+ 20: l,
+ 21: u
+ },
+ t(e, [2, 5]),
+ t(e, [2, 6]),
+ t(e, [2, 8]),
+ { 13: [1, 19] },
+ { 15: [1, 20] },
+ t(e, [2, 11]),
+ t(e, [2, 12]),
+ t(e, [2, 13]),
+ t(e, [2, 14]),
+ t(e, [2, 15]),
+ t(e, [2, 16]),
+ t(e, [2, 4]),
+ t(e, [2, 9]),
+ t(e, [2, 10])
+ ],
+ defaultActions: {},
+ parseError: o(function (m, g) {
+ if (g.recoverable) this.trace(m);
+ else {
+ var y = new Error(m);
+ throw ((y.hash = g), y);
+ }
+ }, 'parseError'),
+ parse: o(function (m) {
+ var g = this,
+ y = [0],
+ v = [],
+ x = [null],
+ b = [],
+ w = this.table,
+ S = '',
+ T = 0,
+ E = 0,
+ _ = 0,
+ A = 2,
+ L = 1,
+ M = b.slice.call(arguments, 1),
+ N = Object.create(this.lexer),
+ k = { yy: {} };
+ for (var I in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, I) && (k.yy[I] = this.yy[I]);
+ N.setInput(m, k.yy),
+ (k.yy.lexer = N),
+ (k.yy.parser = this),
+ typeof N.yylloc > 'u' && (N.yylloc = {});
+ var C = N.yylloc;
+ b.push(C);
+ var O = N.options && N.options.ranges;
+ typeof k.yy.parseError == 'function'
+ ? (this.parseError = k.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function D(q) {
+ (y.length = y.length - 2 * q), (x.length = x.length - q), (b.length = b.length - q);
+ }
+ o(D, 'popStack');
+ function P() {
+ var q;
+ return (
+ (q = v.pop() || N.lex() || L),
+ typeof q != 'number' &&
+ (q instanceof Array && ((v = q), (q = v.pop())), (q = g.symbols_[q] || q)),
+ q
+ );
+ }
+ o(P, 'lex');
+ for (var F, B, $, z, Y, Q, X = {}, ie, j, J, Z; ; ) {
+ if (
+ (($ = y[y.length - 1]),
+ this.defaultActions[$]
+ ? (z = this.defaultActions[$])
+ : ((F === null || typeof F > 'u') && (F = P()), (z = w[$] && w[$][F])),
+ typeof z > 'u' || !z.length || !z[0])
+ ) {
+ var H = '';
+ Z = [];
+ for (ie in w[$])
+ this.terminals_[ie] && ie > A && Z.push("'" + this.terminals_[ie] + "'");
+ N.showPosition
+ ? (H =
+ 'Parse error on line ' +
+ (T + 1) +
+ `:
+` +
+ N.showPosition() +
+ `
+Expecting ` +
+ Z.join(', ') +
+ ", got '" +
+ (this.terminals_[F] || F) +
+ "'")
+ : (H =
+ 'Parse error on line ' +
+ (T + 1) +
+ ': Unexpected ' +
+ (F == L ? 'end of input' : "'" + (this.terminals_[F] || F) + "'")),
+ this.parseError(H, {
+ text: N.match,
+ token: this.terminals_[F] || F,
+ line: N.yylineno,
+ loc: C,
+ expected: Z
+ });
+ }
+ if (z[0] instanceof Array && z.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + $ + ', token: ' + F
+ );
+ switch (z[0]) {
+ case 1:
+ y.push(F),
+ x.push(N.yytext),
+ b.push(N.yylloc),
+ y.push(z[1]),
+ (F = null),
+ B
+ ? ((F = B), (B = null))
+ : ((E = N.yyleng),
+ (S = N.yytext),
+ (T = N.yylineno),
+ (C = N.yylloc),
+ _ > 0 && _--);
+ break;
+ case 2:
+ if (
+ ((j = this.productions_[z[1]][1]),
+ (X.$ = x[x.length - j]),
+ (X._$ = {
+ first_line: b[b.length - (j || 1)].first_line,
+ last_line: b[b.length - 1].last_line,
+ first_column: b[b.length - (j || 1)].first_column,
+ last_column: b[b.length - 1].last_column
+ }),
+ O &&
+ (X._$.range = [
+ b[b.length - (j || 1)].range[0],
+ b[b.length - 1].range[1]
+ ]),
+ (Q = this.performAction.apply(X, [S, E, T, k.yy, z[1], x, b].concat(M))),
+ typeof Q < 'u')
+ )
+ return Q;
+ j &&
+ ((y = y.slice(0, -1 * j * 2)),
+ (x = x.slice(0, -1 * j)),
+ (b = b.slice(0, -1 * j))),
+ y.push(this.productions_[z[1]][0]),
+ x.push(X.$),
+ b.push(X._$),
+ (J = w[y[y.length - 2]][y[y.length - 1]]),
+ y.push(J);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ f = (function () {
+ var p = {
+ EOF: 1,
+ parseError: o(function (g, y) {
+ if (this.yy.parser) this.yy.parser.parseError(g, y);
+ else throw new Error(g);
+ }, 'parseError'),
+ setInput: o(function (m, g) {
+ return (
+ (this.yy = g || this.yy || {}),
+ (this._input = m),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var m = this._input[0];
+ (this.yytext += m),
+ this.yyleng++,
+ this.offset++,
+ (this.match += m),
+ (this.matched += m);
+ var g = m.match(/(?:\r\n?|\n).*/g);
+ return (
+ g ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ m
+ );
+ }, 'input'),
+ unput: o(function (m) {
+ var g = m.length,
+ y = m.split(/(?:\r\n?|\n)/g);
+ (this._input = m + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - g)),
+ (this.offset -= g);
+ var v = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ y.length - 1 && (this.yylineno -= y.length - 1);
+ var x = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: y
+ ? (y.length === v.length ? this.yylloc.first_column : 0) +
+ v[v.length - y.length].length -
+ y[0].length
+ : this.yylloc.first_column - g
+ }),
+ this.options.ranges && (this.yylloc.range = [x[0], x[0] + this.yyleng - g]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (m) {
+ this.unput(this.match.slice(m));
+ }, 'less'),
+ pastInput: o(function () {
+ var m = this.matched.substr(0, this.matched.length - this.match.length);
+ return (m.length > 20 ? '...' : '') + m.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var m = this.match;
+ return (
+ m.length < 20 && (m += this._input.substr(0, 20 - m.length)),
+ (m.substr(0, 20) + (m.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var m = this.pastInput(),
+ g = new Array(m.length + 1).join('-');
+ return (
+ m +
+ this.upcomingInput() +
+ `
+` +
+ g +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (m, g) {
+ var y, v, x;
+ if (
+ (this.options.backtrack_lexer &&
+ ((x = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (x.yylloc.range = this.yylloc.range.slice(0))),
+ (v = m[0].match(/(?:\r\n?|\n).*/g)),
+ v && (this.yylineno += v.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: v
+ ? v[v.length - 1].length - v[v.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + m[0].length
+ }),
+ (this.yytext += m[0]),
+ (this.match += m[0]),
+ (this.matches = m),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(m[0].length)),
+ (this.matched += m[0]),
+ (y = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ g,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ y)
+ )
+ return y;
+ if (this._backtrack) {
+ for (var b in x) this[b] = x[b];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var m, g, y, v;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var x = this._currentRules(), b = 0; b < x.length; b++)
+ if (
+ ((y = this._input.match(this.rules[x[b]])),
+ y && (!g || y[0].length > g[0].length))
+ ) {
+ if (((g = y), (v = b), this.options.backtrack_lexer)) {
+ if (((m = this.test_match(y, x[b])), m !== !1)) return m;
+ if (this._backtrack) {
+ g = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return g
+ ? ((m = this.test_match(g, x[v])), m !== !1 ? m : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var g = this.next();
+ return g || this.lex();
+ }, 'lex'),
+ begin: o(function (g) {
+ this.conditionStack.push(g);
+ }, 'begin'),
+ popState: o(function () {
+ var g = this.conditionStack.length - 1;
+ return g > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (g) {
+ return (
+ (g = this.conditionStack.length - 1 - Math.abs(g || 0)),
+ g >= 0 ? this.conditionStack[g] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (g) {
+ this.begin(g);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (g, y, v, x) {
+ var b = x;
+ switch (v) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return 10;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ return 4;
+ case 6:
+ return 11;
+ case 7:
+ return this.begin('acc_title'), 12;
+ break;
+ case 8:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 9:
+ return this.begin('acc_descr'), 14;
+ break;
+ case 10:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 11:
+ this.begin('acc_descr_multiline');
+ break;
+ case 12:
+ this.popState();
+ break;
+ case 13:
+ return 'acc_descr_multiline_value';
+ case 14:
+ return 17;
+ case 15:
+ return 21;
+ case 16:
+ return 20;
+ case 17:
+ return 6;
+ case 18:
+ return 'INVALID';
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:timeline\b)/i,
+ /^(?:title\s[^\n]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:section\s[^:\n]+)/i,
+ /^(?::\s[^:\n]+)/i,
+ /^(?:[^#:\n]+)/i,
+ /^(?:$)/i,
+ /^(?:.)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [12, 13], inclusive: !1 },
+ acc_descr: { rules: [10], inclusive: !1 },
+ acc_title: { rules: [8], inclusive: !1 },
+ INITIAL: {
+ rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18],
+ inclusive: !0
+ }
+ }
+ };
+ return p;
+ })();
+ h.lexer = f;
+ function d() {
+ this.yy = {};
+ }
+ return o(d, 'Parser'), (d.prototype = h), (h.Parser = d), new d();
+ })();
+ dP.parser = dP;
+ _de = dP;
+ });
+ var mP = {};
+ hr(mP, {
+ addEvent: () => Fde,
+ addSection: () => Ide,
+ addTask: () => Bde,
+ addTaskOrg: () => zde,
+ clear: () => Mde,
+ default: () => KUe,
+ getCommonDb: () => Nde,
+ getSections: () => Ode,
+ getTasks: () => Pde
+ });
+ var Yg,
+ Rde,
+ pP,
+ e6,
+ Wg,
+ Nde,
+ Mde,
+ Ide,
+ Ode,
+ Pde,
+ Bde,
+ Fde,
+ zde,
+ Dde,
+ KUe,
+ Gde = R(() => {
+ 'use strict';
+ bi();
+ (Yg = ''),
+ (Rde = 0),
+ (pP = []),
+ (e6 = []),
+ (Wg = []),
+ (Nde = o(() => ly, 'getCommonDb')),
+ (Mde = o(function () {
+ (pP.length = 0), (e6.length = 0), (Yg = ''), (Wg.length = 0), vr();
+ }, 'clear')),
+ (Ide = o(function (t) {
+ (Yg = t), pP.push(t);
+ }, 'addSection')),
+ (Ode = o(function () {
+ return pP;
+ }, 'getSections')),
+ (Pde = o(function () {
+ let t = Dde(),
+ e = 100,
+ r = 0;
+ for (; !t && r < e; ) (t = Dde()), r++;
+ return e6.push(...Wg), e6;
+ }, 'getTasks')),
+ (Bde = o(function (t, e, r) {
+ let n = {
+ id: Rde++,
+ section: Yg,
+ type: Yg,
+ task: t,
+ score: e || 0,
+ events: r ? [r] : []
+ };
+ Wg.push(n);
+ }, 'addTask')),
+ (Fde = o(function (t) {
+ Wg.find((r) => r.id === Rde - 1).events.push(t);
+ }, 'addEvent')),
+ (zde = o(function (t) {
+ let e = {
+ section: Yg,
+ type: Yg,
+ description: t,
+ task: t,
+ classes: []
+ };
+ e6.push(e);
+ }, 'addTaskOrg')),
+ (Dde = o(function () {
+ let t = o(function (r) {
+ return Wg[r].processed;
+ }, 'compileTask'),
+ e = !0;
+ for (let [r, n] of Wg.entries()) t(r), (e = e && n.processed);
+ return e;
+ }, 'compileTasks')),
+ (KUe = {
+ clear: Mde,
+ getCommonDb: Nde,
+ addSection: Ide,
+ getSections: Ode,
+ getTasks: Pde,
+ addTask: Bde,
+ addTaskOrg: zde,
+ addEvent: Fde
+ });
+ });
+ function Hde(t, e) {
+ t.each(function () {
+ var r = $e(this),
+ n = r
+ .text()
+ .split(/(\s+|
)/)
+ .reverse(),
+ i,
+ a = [],
+ s = 1.1,
+ l = r.attr('y'),
+ u = parseFloat(r.attr('dy')),
+ h = r
+ .text(null)
+ .append('tspan')
+ .attr('x', 0)
+ .attr('y', l)
+ .attr('dy', u + 'em');
+ for (let f = 0; f < n.length; f++)
+ (i = n[n.length - 1 - f]),
+ a.push(i),
+ h.text(a.join(' ').trim()),
+ (h.node().getComputedTextLength() > e || i === '
') &&
+ (a.pop(),
+ h.text(a.join(' ').trim()),
+ i === '
' ? (a = ['']) : (a = [i]),
+ (h = r
+ .append('tspan')
+ .attr('x', 0)
+ .attr('y', l)
+ .attr('dy', s + 'em')
+ .text(i)));
+ });
+ }
+ var QUe,
+ t6,
+ ZUe,
+ JUe,
+ Vde,
+ eHe,
+ tHe,
+ $de,
+ rHe,
+ nHe,
+ iHe,
+ gP,
+ Ude,
+ aHe,
+ sHe,
+ oHe,
+ lHe,
+ xf,
+ Yde = R(() => {
+ 'use strict';
+ Zt();
+ (QUe = 12),
+ (t6 = o(function (t, e) {
+ let r = t.append('rect');
+ return (
+ r.attr('x', e.x),
+ r.attr('y', e.y),
+ r.attr('fill', e.fill),
+ r.attr('stroke', e.stroke),
+ r.attr('width', e.width),
+ r.attr('height', e.height),
+ r.attr('rx', e.rx),
+ r.attr('ry', e.ry),
+ e.class !== void 0 && r.attr('class', e.class),
+ r
+ );
+ }, 'drawRect')),
+ (ZUe = o(function (t, e) {
+ let n = t
+ .append('circle')
+ .attr('cx', e.cx)
+ .attr('cy', e.cy)
+ .attr('class', 'face')
+ .attr('r', 15)
+ .attr('stroke-width', 2)
+ .attr('overflow', 'visible'),
+ i = t.append('g');
+ i
+ .append('circle')
+ .attr('cx', e.cx - 15 / 3)
+ .attr('cy', e.cy - 15 / 3)
+ .attr('r', 1.5)
+ .attr('stroke-width', 2)
+ .attr('fill', '#666')
+ .attr('stroke', '#666'),
+ i
+ .append('circle')
+ .attr('cx', e.cx + 15 / 3)
+ .attr('cy', e.cy - 15 / 3)
+ .attr('r', 1.5)
+ .attr('stroke-width', 2)
+ .attr('fill', '#666')
+ .attr('stroke', '#666');
+ function a(u) {
+ let h = bl()
+ .startAngle(Math.PI / 2)
+ .endAngle(3 * (Math.PI / 2))
+ .innerRadius(7.5)
+ .outerRadius(6.8181818181818175);
+ u.append('path')
+ .attr('class', 'mouth')
+ .attr('d', h)
+ .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 2) + ')');
+ }
+ o(a, 'smile');
+ function s(u) {
+ let h = bl()
+ .startAngle((3 * Math.PI) / 2)
+ .endAngle(5 * (Math.PI / 2))
+ .innerRadius(7.5)
+ .outerRadius(6.8181818181818175);
+ u.append('path')
+ .attr('class', 'mouth')
+ .attr('d', h)
+ .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 7) + ')');
+ }
+ o(s, 'sad');
+ function l(u) {
+ u.append('line')
+ .attr('class', 'mouth')
+ .attr('stroke', 2)
+ .attr('x1', e.cx - 5)
+ .attr('y1', e.cy + 7)
+ .attr('x2', e.cx + 5)
+ .attr('y2', e.cy + 7)
+ .attr('class', 'mouth')
+ .attr('stroke-width', '1px')
+ .attr('stroke', '#666');
+ }
+ return o(l, 'ambivalent'), e.score > 3 ? a(i) : e.score < 3 ? s(i) : l(i), n;
+ }, 'drawFace')),
+ (JUe = o(function (t, e) {
+ let r = t.append('circle');
+ return (
+ r.attr('cx', e.cx),
+ r.attr('cy', e.cy),
+ r.attr('class', 'actor-' + e.pos),
+ r.attr('fill', e.fill),
+ r.attr('stroke', e.stroke),
+ r.attr('r', e.r),
+ r.class !== void 0 && r.attr('class', r.class),
+ e.title !== void 0 && r.append('title').text(e.title),
+ r
+ );
+ }, 'drawCircle')),
+ (Vde = o(function (t, e) {
+ let r = e.text.replace(/
/gi, ' '),
+ n = t.append('text');
+ n.attr('x', e.x),
+ n.attr('y', e.y),
+ n.attr('class', 'legend'),
+ n.style('text-anchor', e.anchor),
+ e.class !== void 0 && n.attr('class', e.class);
+ let i = n.append('tspan');
+ return i.attr('x', e.x + e.textMargin * 2), i.text(r), n;
+ }, 'drawText')),
+ (eHe = o(function (t, e) {
+ function r(i, a, s, l, u) {
+ return (
+ i +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ (a + l - u) +
+ ' ' +
+ (i + s - u * 1.2) +
+ ',' +
+ (a + l) +
+ ' ' +
+ i +
+ ',' +
+ (a + l)
+ );
+ }
+ o(r, 'genPoints');
+ let n = t.append('polygon');
+ n.attr('points', r(e.x, e.y, 50, 20, 7)),
+ n.attr('class', 'labelBox'),
+ (e.y = e.y + e.labelMargin),
+ (e.x = e.x + 0.5 * e.labelMargin),
+ Vde(t, e);
+ }, 'drawLabel')),
+ (tHe = o(function (t, e, r) {
+ let n = t.append('g'),
+ i = gP();
+ (i.x = e.x),
+ (i.y = e.y),
+ (i.fill = e.fill),
+ (i.width = r.width),
+ (i.height = r.height),
+ (i.class = 'journey-section section-type-' + e.num),
+ (i.rx = 3),
+ (i.ry = 3),
+ t6(n, i),
+ Ude(r)(
+ e.text,
+ n,
+ i.x,
+ i.y,
+ i.width,
+ i.height,
+ { class: 'journey-section section-type-' + e.num },
+ r,
+ e.colour
+ );
+ }, 'drawSection')),
+ ($de = -1),
+ (rHe = o(function (t, e, r) {
+ let n = e.x + r.width / 2,
+ i = t.append('g');
+ $de++;
+ let a = 300 + 5 * 30;
+ i
+ .append('line')
+ .attr('id', 'task' + $de)
+ .attr('x1', n)
+ .attr('y1', e.y)
+ .attr('x2', n)
+ .attr('y2', a)
+ .attr('class', 'task-line')
+ .attr('stroke-width', '1px')
+ .attr('stroke-dasharray', '4 2')
+ .attr('stroke', '#666'),
+ ZUe(i, { cx: n, cy: 300 + (5 - e.score) * 30, score: e.score });
+ let s = gP();
+ (s.x = e.x),
+ (s.y = e.y),
+ (s.fill = e.fill),
+ (s.width = r.width),
+ (s.height = r.height),
+ (s.class = 'task task-type-' + e.num),
+ (s.rx = 3),
+ (s.ry = 3),
+ t6(i, s),
+ Ude(r)(e.task, i, s.x, s.y, s.width, s.height, { class: 'task' }, r, e.colour);
+ }, 'drawTask')),
+ (nHe = o(function (t, e) {
+ t6(t, {
+ x: e.startx,
+ y: e.starty,
+ width: e.stopx - e.startx,
+ height: e.stopy - e.starty,
+ fill: e.fill,
+ class: 'rect'
+ }).lower();
+ }, 'drawBackgroundRect')),
+ (iHe = o(function () {
+ return {
+ x: 0,
+ y: 0,
+ fill: void 0,
+ 'text-anchor': 'start',
+ width: 100,
+ height: 100,
+ textMargin: 0,
+ rx: 0,
+ ry: 0
+ };
+ }, 'getTextObj')),
+ (gP = o(function () {
+ return {
+ x: 0,
+ y: 0,
+ width: 100,
+ anchor: 'start',
+ height: 100,
+ rx: 0,
+ ry: 0
+ };
+ }, 'getNoteRect')),
+ (Ude = (function () {
+ function t(i, a, s, l, u, h, f, d) {
+ let p = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l + h / 2 + 5)
+ .style('font-color', d)
+ .style('text-anchor', 'middle')
+ .text(i);
+ n(p, f);
+ }
+ o(t, 'byText');
+ function e(i, a, s, l, u, h, f, d, p) {
+ let { taskFontSize: m, taskFontFamily: g } = d,
+ y = i.split(/
/gi);
+ for (let v = 0; v < y.length; v++) {
+ let x = v * m - (m * (y.length - 1)) / 2,
+ b = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l)
+ .attr('fill', p)
+ .style('text-anchor', 'middle')
+ .style('font-size', m)
+ .style('font-family', g);
+ b
+ .append('tspan')
+ .attr('x', s + u / 2)
+ .attr('dy', x)
+ .text(y[v]),
+ b
+ .attr('y', l + h / 2)
+ .attr('dominant-baseline', 'central')
+ .attr('alignment-baseline', 'central'),
+ n(b, f);
+ }
+ }
+ o(e, 'byTspan');
+ function r(i, a, s, l, u, h, f, d) {
+ let p = a.append('switch'),
+ g = p
+ .append('foreignObject')
+ .attr('x', s)
+ .attr('y', l)
+ .attr('width', u)
+ .attr('height', h)
+ .attr('position', 'fixed')
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ g
+ .append('div')
+ .attr('class', 'label')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(i),
+ e(i, p, s, l, u, h, f, d),
+ n(g, f);
+ }
+ o(r, 'byFo');
+ function n(i, a) {
+ for (let s in a) s in a && i.attr(s, a[s]);
+ }
+ return (
+ o(n, '_setTextAttrs'),
+ function (i) {
+ return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e;
+ }
+ );
+ })()),
+ (aHe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'arrowhead')
+ .attr('refX', 5)
+ .attr('refY', 2)
+ .attr('markerWidth', 6)
+ .attr('markerHeight', 4)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0,0 V 4 L6,2 Z');
+ }, 'initGraphics'));
+ o(Hde, 'wrap');
+ (sHe = o(function (t, e, r, n) {
+ let i = (r % QUe) - 1,
+ a = t.append('g');
+ (e.section = i), a.attr('class', (e.class ? e.class + ' ' : '') + 'timeline-node ' + ('section-' + i));
+ let s = a.append('g'),
+ l = a.append('g'),
+ h = l
+ .append('text')
+ .text(e.descr)
+ .attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle')
+ .call(Hde, e.width)
+ .node()
+ .getBBox(),
+ f = n.fontSize?.replace ? n.fontSize.replace('px', '') : n.fontSize;
+ return (
+ (e.height = h.height + f * 1.1 * 0.5 + e.padding),
+ (e.height = Math.max(e.height, e.maxHeight)),
+ (e.width = e.width + 2 * e.padding),
+ l.attr('transform', 'translate(' + e.width / 2 + ', ' + e.padding / 2 + ')'),
+ lHe(s, e, i, n),
+ e
+ );
+ }, 'drawNode')),
+ (oHe = o(function (t, e, r) {
+ let n = t.append('g'),
+ a = n
+ .append('text')
+ .text(e.descr)
+ .attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle')
+ .call(Hde, e.width)
+ .node()
+ .getBBox(),
+ s = r.fontSize?.replace ? r.fontSize.replace('px', '') : r.fontSize;
+ return n.remove(), a.height + s * 1.1 * 0.5 + e.padding;
+ }, 'getVirtualNodeHeight')),
+ (lHe = o(function (t, e, r) {
+ t
+ .append('path')
+ .attr('id', 'node-' + e.id)
+ .attr('class', 'node-bkg node-' + e.type)
+ .attr(
+ 'd',
+ `M0 ${e.height - 5} v${-e.height + 2 * 5} q0,-5 5,-5 h${e.width - 2 * 5} q5,0 5,5 v${
+ e.height - 5
+ } H0 Z`
+ ),
+ t
+ .append('line')
+ .attr('class', 'node-line-' + r)
+ .attr('x1', 0)
+ .attr('y1', e.height)
+ .attr('x2', e.width)
+ .attr('y2', e.height);
+ }, 'defaultBkg')),
+ (xf = {
+ drawRect: t6,
+ drawCircle: JUe,
+ drawSection: tHe,
+ drawText: Vde,
+ drawLabel: eHe,
+ drawTask: rHe,
+ drawBackgroundRect: nHe,
+ getTextObj: iHe,
+ getNoteRect: gP,
+ initGraphics: aHe,
+ drawNode: sHe,
+ getVirtualNodeHeight: oHe
+ });
+ });
+ var cHe,
+ Wde,
+ uHe,
+ qde,
+ Xde = R(() => {
+ 'use strict';
+ Zt();
+ Yde();
+ ut();
+ _t();
+ Yn();
+ (cHe = o(function (t, e, r, n) {
+ let i = de(),
+ a = i.leftMargin ?? 50;
+ V.debug('timeline', n.db);
+ let s = i.securityLevel,
+ l;
+ s === 'sandbox' && (l = $e('#i' + e));
+ let h = (s === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body')).select('#' + e);
+ h.append('g');
+ let f = n.db.getTasks(),
+ d = n.db.getCommonDb().getDiagramTitle();
+ V.debug('task', f), xf.initGraphics(h);
+ let p = n.db.getSections();
+ V.debug('sections', p);
+ let m = 0,
+ g = 0,
+ y = 0,
+ v = 0,
+ x = 50 + a,
+ b = 50;
+ v = 50;
+ let w = 0,
+ S = !0;
+ p.forEach(function (L) {
+ let M = {
+ number: w,
+ descr: L,
+ section: w,
+ width: 150,
+ padding: 20,
+ maxHeight: m
+ },
+ N = xf.getVirtualNodeHeight(h, M, i);
+ V.debug('sectionHeight before draw', N), (m = Math.max(m, N + 20));
+ });
+ let T = 0,
+ E = 0;
+ V.debug('tasks.length', f.length);
+ for (let [L, M] of f.entries()) {
+ let N = {
+ number: L,
+ descr: M,
+ section: M.section,
+ width: 150,
+ padding: 20,
+ maxHeight: g
+ },
+ k = xf.getVirtualNodeHeight(h, N, i);
+ V.debug('taskHeight before draw', k), (g = Math.max(g, k + 20)), (T = Math.max(T, M.events.length));
+ let I = 0;
+ for (let C of M.events) {
+ let O = {
+ descr: C,
+ section: M.section,
+ number: M.section,
+ width: 150,
+ padding: 20,
+ maxHeight: 50
+ };
+ I += xf.getVirtualNodeHeight(h, O, i);
+ }
+ E = Math.max(E, I);
+ }
+ V.debug('maxSectionHeight before draw', m),
+ V.debug('maxTaskHeight before draw', g),
+ p && p.length > 0
+ ? p.forEach((L) => {
+ let M = f.filter((C) => C.section === L),
+ N = {
+ number: w,
+ descr: L,
+ section: w,
+ width: 200 * Math.max(M.length, 1) - 50,
+ padding: 20,
+ maxHeight: m
+ };
+ V.debug('sectionNode', N);
+ let k = h.append('g'),
+ I = xf.drawNode(k, N, w, i);
+ V.debug('sectionNode output', I),
+ k.attr('transform', `translate(${x}, ${v})`),
+ (b += m + 50),
+ M.length > 0 && Wde(h, M, w, x, b, g, i, T, E, m, !1),
+ (x += 200 * Math.max(M.length, 1)),
+ (b = v),
+ w++;
+ })
+ : ((S = !1), Wde(h, f, w, x, b, g, i, T, E, m, !0));
+ let _ = h.node().getBBox();
+ V.debug('bounds', _),
+ d &&
+ h
+ .append('text')
+ .text(d)
+ .attr('x', _.width / 2 - a)
+ .attr('font-size', '4ex')
+ .attr('font-weight', 'bold')
+ .attr('y', 20),
+ (y = S ? m + g + 150 : g + 100),
+ h
+ .append('g')
+ .attr('class', 'lineWrapper')
+ .append('line')
+ .attr('x1', a)
+ .attr('y1', y)
+ .attr('x2', _.width + 3 * a)
+ .attr('y2', y)
+ .attr('stroke-width', 4)
+ .attr('stroke', 'black')
+ .attr('marker-end', 'url(#arrowhead)'),
+ Lo(void 0, h, i.timeline?.padding ?? 50, i.timeline?.useMaxWidth ?? !1);
+ }, 'draw')),
+ (Wde = o(function (t, e, r, n, i, a, s, l, u, h, f) {
+ for (let d of e) {
+ let p = {
+ descr: d.task,
+ section: r,
+ number: r,
+ width: 150,
+ padding: 20,
+ maxHeight: a
+ };
+ V.debug('taskNode', p);
+ let m = t.append('g').attr('class', 'taskWrapper'),
+ y = xf.drawNode(m, p, r, s).height;
+ if (
+ (V.debug('taskHeight after draw', y),
+ m.attr('transform', `translate(${n}, ${i})`),
+ (a = Math.max(a, y)),
+ d.events)
+ ) {
+ let v = t.append('g').attr('class', 'lineWrapper'),
+ x = a;
+ (i += 100),
+ (x = x + uHe(t, d.events, r, n, i, s)),
+ (i -= 100),
+ v
+ .append('line')
+ .attr('x1', n + 190 / 2)
+ .attr('y1', i + a)
+ .attr('x2', n + 190 / 2)
+ .attr('y2', i + a + (f ? a : h) + u + 120)
+ .attr('stroke-width', 2)
+ .attr('stroke', 'black')
+ .attr('marker-end', 'url(#arrowhead)')
+ .attr('stroke-dasharray', '5,5');
+ }
+ (n = n + 200), f && !s.timeline?.disableMulticolor && r++;
+ }
+ i = i - 10;
+ }, 'drawTasks')),
+ (uHe = o(function (t, e, r, n, i, a) {
+ let s = 0,
+ l = i;
+ i = i + 100;
+ for (let u of e) {
+ let h = {
+ descr: u,
+ section: r,
+ number: r,
+ width: 150,
+ padding: 20,
+ maxHeight: 50
+ };
+ V.debug('eventNode', h);
+ let f = t.append('g').attr('class', 'eventWrapper'),
+ p = xf.drawNode(f, h, r, a).height;
+ (s = s + p), f.attr('transform', `translate(${n}, ${i})`), (i = i + 10 + p);
+ }
+ return (i = l), s;
+ }, 'drawEvents')),
+ (qde = { setConf: o(() => {}, 'setConf'), draw: cHe });
+ });
+ var hHe,
+ fHe,
+ jde,
+ Kde = R(() => {
+ 'use strict';
+ al();
+ (hHe = o((t) => {
+ let e = '';
+ for (let r = 0; r < t.THEME_COLOR_LIMIT; r++)
+ (t['lineColor' + r] = t['lineColor' + r] || t['cScaleInv' + r]),
+ Wa(t['lineColor' + r])
+ ? (t['lineColor' + r] = Et(t['lineColor' + r], 20))
+ : (t['lineColor' + r] = Dt(t['lineColor' + r], 20));
+ for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) {
+ let n = '' + (17 - 3 * r);
+ e += `
+ .section-${r - 1} rect, .section-${r - 1} path, .section-${r - 1} circle, .section-${r - 1} path {
+ fill: ${t['cScale' + r]};
+ }
+ .section-${r - 1} text {
+ fill: ${t['cScaleLabel' + r]};
+ }
+ .node-icon-${r - 1} {
+ font-size: 40px;
+ color: ${t['cScaleLabel' + r]};
+ }
+ .section-edge-${r - 1}{
+ stroke: ${t['cScale' + r]};
+ }
+ .edge-depth-${r - 1}{
+ stroke-width: ${n};
+ }
+ .section-${r - 1} line {
+ stroke: ${t['cScaleInv' + r]} ;
+ stroke-width: 3;
+ }
+
+ .lineWrapper line{
+ stroke: ${t['cScaleLabel' + r]} ;
+ }
+
+ .disabled, .disabled circle, .disabled text {
+ fill: lightgray;
+ }
+ .disabled text {
+ fill: #efefef;
+ }
+ `;
+ }
+ return e;
+ }, 'genSections')),
+ (fHe = o(
+ (t) => `
+ .edge {
+ stroke-width: 3;
+ }
+ ${hHe(t)}
+ .section-root rect, .section-root path, .section-root circle {
+ fill: ${t.git0};
+ }
+ .section-root text {
+ fill: ${t.gitBranchLabel0};
+ }
+ .icon-container {
+ height:100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ .edge {
+ fill: none;
+ }
+ .eventWrapper {
+ filter: brightness(120%);
+ }
+`,
+ 'getStyles'
+ )),
+ (jde = fHe);
+ });
+ var Qde = {};
+ hr(Qde, { diagram: () => dHe });
+ var dHe,
+ Zde = R(() => {
+ 'use strict';
+ Lde();
+ Gde();
+ Xde();
+ Kde();
+ dHe = { db: mP, renderer: qde, parser: _de, styles: jde };
+ });
+ var yP,
+ t0e,
+ r0e = R(() => {
+ 'use strict';
+ yP = (function () {
+ var t = o(function (S, T, E, _) {
+ for (E = E || {}, _ = S.length; _--; E[S[_]] = T);
+ return E;
+ }, 'o'),
+ e = [1, 4],
+ r = [1, 13],
+ n = [1, 12],
+ i = [1, 15],
+ a = [1, 16],
+ s = [1, 20],
+ l = [1, 19],
+ u = [6, 7, 8],
+ h = [1, 26],
+ f = [1, 24],
+ d = [1, 25],
+ p = [6, 7, 11],
+ m = [1, 6, 13, 15, 16, 19, 22],
+ g = [1, 33],
+ y = [1, 34],
+ v = [1, 6, 7, 11, 13, 15, 16, 19, 22],
+ x = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ mindMap: 4,
+ spaceLines: 5,
+ SPACELINE: 6,
+ NL: 7,
+ MINDMAP: 8,
+ document: 9,
+ stop: 10,
+ EOF: 11,
+ statement: 12,
+ SPACELIST: 13,
+ node: 14,
+ ICON: 15,
+ CLASS: 16,
+ nodeWithId: 17,
+ nodeWithoutId: 18,
+ NODE_DSTART: 19,
+ NODE_DESCR: 20,
+ NODE_DEND: 21,
+ NODE_ID: 22,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 6: 'SPACELINE',
+ 7: 'NL',
+ 8: 'MINDMAP',
+ 11: 'EOF',
+ 13: 'SPACELIST',
+ 15: 'ICON',
+ 16: 'CLASS',
+ 19: 'NODE_DSTART',
+ 20: 'NODE_DESCR',
+ 21: 'NODE_DEND',
+ 22: 'NODE_ID'
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 2],
+ [5, 1],
+ [5, 2],
+ [5, 2],
+ [4, 2],
+ [4, 3],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 2],
+ [10, 2],
+ [9, 3],
+ [9, 2],
+ [12, 2],
+ [12, 2],
+ [12, 2],
+ [12, 1],
+ [12, 1],
+ [12, 1],
+ [12, 1],
+ [12, 1],
+ [14, 1],
+ [14, 1],
+ [18, 3],
+ [17, 1],
+ [17, 4]
+ ],
+ performAction: o(function (T, E, _, A, L, M, N) {
+ var k = M.length - 1;
+ switch (L) {
+ case 6:
+ case 7:
+ return A;
+ case 8:
+ A.getLogger().trace('Stop NL ');
+ break;
+ case 9:
+ A.getLogger().trace('Stop EOF ');
+ break;
+ case 11:
+ A.getLogger().trace('Stop NL2 ');
+ break;
+ case 12:
+ A.getLogger().trace('Stop EOF2 ');
+ break;
+ case 15:
+ A.getLogger().info('Node: ', M[k].id),
+ A.addNode(M[k - 1].length, M[k].id, M[k].descr, M[k].type);
+ break;
+ case 16:
+ A.getLogger().trace('Icon: ', M[k]), A.decorateNode({ icon: M[k] });
+ break;
+ case 17:
+ case 21:
+ A.decorateNode({ class: M[k] });
+ break;
+ case 18:
+ A.getLogger().trace('SPACELIST');
+ break;
+ case 19:
+ A.getLogger().trace('Node: ', M[k].id),
+ A.addNode(0, M[k].id, M[k].descr, M[k].type);
+ break;
+ case 20:
+ A.decorateNode({ icon: M[k] });
+ break;
+ case 25:
+ A.getLogger().trace('node found ..', M[k - 2]),
+ (this.$ = {
+ id: M[k - 1],
+ descr: M[k - 1],
+ type: A.getType(M[k - 2], M[k])
+ });
+ break;
+ case 26:
+ this.$ = { id: M[k], descr: M[k], type: A.nodeType.DEFAULT };
+ break;
+ case 27:
+ A.getLogger().trace('node found ..', M[k - 3]),
+ (this.$ = {
+ id: M[k - 3],
+ descr: M[k - 1],
+ type: A.getType(M[k - 2], M[k])
+ });
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: e },
+ { 1: [3] },
+ { 1: [2, 1] },
+ { 4: 6, 6: [1, 7], 7: [1, 8], 8: e },
+ {
+ 6: r,
+ 7: [1, 10],
+ 9: 9,
+ 12: 11,
+ 13: n,
+ 14: 14,
+ 15: i,
+ 16: a,
+ 17: 17,
+ 18: 18,
+ 19: s,
+ 22: l
+ },
+ t(u, [2, 3]),
+ { 1: [2, 2] },
+ t(u, [2, 4]),
+ t(u, [2, 5]),
+ {
+ 1: [2, 6],
+ 6: r,
+ 12: 21,
+ 13: n,
+ 14: 14,
+ 15: i,
+ 16: a,
+ 17: 17,
+ 18: 18,
+ 19: s,
+ 22: l
+ },
+ {
+ 6: r,
+ 9: 22,
+ 12: 11,
+ 13: n,
+ 14: 14,
+ 15: i,
+ 16: a,
+ 17: 17,
+ 18: 18,
+ 19: s,
+ 22: l
+ },
+ { 6: h, 7: f, 10: 23, 11: d },
+ t(p, [2, 22], {
+ 17: 17,
+ 18: 18,
+ 14: 27,
+ 15: [1, 28],
+ 16: [1, 29],
+ 19: s,
+ 22: l
+ }),
+ t(p, [2, 18]),
+ t(p, [2, 19]),
+ t(p, [2, 20]),
+ t(p, [2, 21]),
+ t(p, [2, 23]),
+ t(p, [2, 24]),
+ t(p, [2, 26], { 19: [1, 30] }),
+ { 20: [1, 31] },
+ { 6: h, 7: f, 10: 32, 11: d },
+ {
+ 1: [2, 7],
+ 6: r,
+ 12: 21,
+ 13: n,
+ 14: 14,
+ 15: i,
+ 16: a,
+ 17: 17,
+ 18: 18,
+ 19: s,
+ 22: l
+ },
+ t(m, [2, 14], { 7: g, 11: y }),
+ t(v, [2, 8]),
+ t(v, [2, 9]),
+ t(v, [2, 10]),
+ t(p, [2, 15]),
+ t(p, [2, 16]),
+ t(p, [2, 17]),
+ { 20: [1, 35] },
+ { 21: [1, 36] },
+ t(m, [2, 13], { 7: g, 11: y }),
+ t(v, [2, 11]),
+ t(v, [2, 12]),
+ { 21: [1, 37] },
+ t(p, [2, 25]),
+ t(p, [2, 27])
+ ],
+ defaultActions: { 2: [2, 1], 6: [2, 2] },
+ parseError: o(function (T, E) {
+ if (E.recoverable) this.trace(T);
+ else {
+ var _ = new Error(T);
+ throw ((_.hash = E), _);
+ }
+ }, 'parseError'),
+ parse: o(function (T) {
+ var E = this,
+ _ = [0],
+ A = [],
+ L = [null],
+ M = [],
+ N = this.table,
+ k = '',
+ I = 0,
+ C = 0,
+ O = 0,
+ D = 2,
+ P = 1,
+ F = M.slice.call(arguments, 1),
+ B = Object.create(this.lexer),
+ $ = { yy: {} };
+ for (var z in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, z) && ($.yy[z] = this.yy[z]);
+ B.setInput(T, $.yy),
+ ($.yy.lexer = B),
+ ($.yy.parser = this),
+ typeof B.yylloc > 'u' && (B.yylloc = {});
+ var Y = B.yylloc;
+ M.push(Y);
+ var Q = B.options && B.options.ranges;
+ typeof $.yy.parseError == 'function'
+ ? (this.parseError = $.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function X(ke) {
+ (_.length = _.length - 2 * ke), (L.length = L.length - ke), (M.length = M.length - ke);
+ }
+ o(X, 'popStack');
+ function ie() {
+ var ke;
+ return (
+ (ke = A.pop() || B.lex() || P),
+ typeof ke != 'number' &&
+ (ke instanceof Array && ((A = ke), (ke = A.pop())),
+ (ke = E.symbols_[ke] || ke)),
+ ke
+ );
+ }
+ o(ie, 'lex');
+ for (var j, J, Z, H, q, K, se = {}, ce, ue, te, De; ; ) {
+ if (
+ ((Z = _[_.length - 1]),
+ this.defaultActions[Z]
+ ? (H = this.defaultActions[Z])
+ : ((j === null || typeof j > 'u') && (j = ie()), (H = N[Z] && N[Z][j])),
+ typeof H > 'u' || !H.length || !H[0])
+ ) {
+ var oe = '';
+ De = [];
+ for (ce in N[Z])
+ this.terminals_[ce] && ce > D && De.push("'" + this.terminals_[ce] + "'");
+ B.showPosition
+ ? (oe =
+ 'Parse error on line ' +
+ (I + 1) +
+ `:
+` +
+ B.showPosition() +
+ `
+Expecting ` +
+ De.join(', ') +
+ ", got '" +
+ (this.terminals_[j] || j) +
+ "'")
+ : (oe =
+ 'Parse error on line ' +
+ (I + 1) +
+ ': Unexpected ' +
+ (j == P ? 'end of input' : "'" + (this.terminals_[j] || j) + "'")),
+ this.parseError(oe, {
+ text: B.match,
+ token: this.terminals_[j] || j,
+ line: B.yylineno,
+ loc: Y,
+ expected: De
+ });
+ }
+ if (H[0] instanceof Array && H.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Z + ', token: ' + j
+ );
+ switch (H[0]) {
+ case 1:
+ _.push(j),
+ L.push(B.yytext),
+ M.push(B.yylloc),
+ _.push(H[1]),
+ (j = null),
+ J
+ ? ((j = J), (J = null))
+ : ((C = B.yyleng),
+ (k = B.yytext),
+ (I = B.yylineno),
+ (Y = B.yylloc),
+ O > 0 && O--);
+ break;
+ case 2:
+ if (
+ ((ue = this.productions_[H[1]][1]),
+ (se.$ = L[L.length - ue]),
+ (se._$ = {
+ first_line: M[M.length - (ue || 1)].first_line,
+ last_line: M[M.length - 1].last_line,
+ first_column: M[M.length - (ue || 1)].first_column,
+ last_column: M[M.length - 1].last_column
+ }),
+ Q &&
+ (se._$.range = [
+ M[M.length - (ue || 1)].range[0],
+ M[M.length - 1].range[1]
+ ]),
+ (K = this.performAction.apply(se, [k, C, I, $.yy, H[1], L, M].concat(F))),
+ typeof K < 'u')
+ )
+ return K;
+ ue &&
+ ((_ = _.slice(0, -1 * ue * 2)),
+ (L = L.slice(0, -1 * ue)),
+ (M = M.slice(0, -1 * ue))),
+ _.push(this.productions_[H[1]][0]),
+ L.push(se.$),
+ M.push(se._$),
+ (te = N[_[_.length - 2]][_[_.length - 1]]),
+ _.push(te);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ b = (function () {
+ var S = {
+ EOF: 1,
+ parseError: o(function (E, _) {
+ if (this.yy.parser) this.yy.parser.parseError(E, _);
+ else throw new Error(E);
+ }, 'parseError'),
+ setInput: o(function (T, E) {
+ return (
+ (this.yy = E || this.yy || {}),
+ (this._input = T),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var T = this._input[0];
+ (this.yytext += T),
+ this.yyleng++,
+ this.offset++,
+ (this.match += T),
+ (this.matched += T);
+ var E = T.match(/(?:\r\n?|\n).*/g);
+ return (
+ E ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ T
+ );
+ }, 'input'),
+ unput: o(function (T) {
+ var E = T.length,
+ _ = T.split(/(?:\r\n?|\n)/g);
+ (this._input = T + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - E)),
+ (this.offset -= E);
+ var A = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ _.length - 1 && (this.yylineno -= _.length - 1);
+ var L = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: _
+ ? (_.length === A.length ? this.yylloc.first_column : 0) +
+ A[A.length - _.length].length -
+ _[0].length
+ : this.yylloc.first_column - E
+ }),
+ this.options.ranges && (this.yylloc.range = [L[0], L[0] + this.yyleng - E]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (T) {
+ this.unput(this.match.slice(T));
+ }, 'less'),
+ pastInput: o(function () {
+ var T = this.matched.substr(0, this.matched.length - this.match.length);
+ return (T.length > 20 ? '...' : '') + T.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var T = this.match;
+ return (
+ T.length < 20 && (T += this._input.substr(0, 20 - T.length)),
+ (T.substr(0, 20) + (T.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var T = this.pastInput(),
+ E = new Array(T.length + 1).join('-');
+ return (
+ T +
+ this.upcomingInput() +
+ `
+` +
+ E +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (T, E) {
+ var _, A, L;
+ if (
+ (this.options.backtrack_lexer &&
+ ((L = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (L.yylloc.range = this.yylloc.range.slice(0))),
+ (A = T[0].match(/(?:\r\n?|\n).*/g)),
+ A && (this.yylineno += A.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: A
+ ? A[A.length - 1].length - A[A.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + T[0].length
+ }),
+ (this.yytext += T[0]),
+ (this.match += T[0]),
+ (this.matches = T),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(T[0].length)),
+ (this.matched += T[0]),
+ (_ = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ E,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ _)
+ )
+ return _;
+ if (this._backtrack) {
+ for (var M in L) this[M] = L[M];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var T, E, _, A;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var L = this._currentRules(), M = 0; M < L.length; M++)
+ if (
+ ((_ = this._input.match(this.rules[L[M]])),
+ _ && (!E || _[0].length > E[0].length))
+ ) {
+ if (((E = _), (A = M), this.options.backtrack_lexer)) {
+ if (((T = this.test_match(_, L[M])), T !== !1)) return T;
+ if (this._backtrack) {
+ E = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return E
+ ? ((T = this.test_match(E, L[A])), T !== !1 ? T : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var E = this.next();
+ return E || this.lex();
+ }, 'lex'),
+ begin: o(function (E) {
+ this.conditionStack.push(E);
+ }, 'begin'),
+ popState: o(function () {
+ var E = this.conditionStack.length - 1;
+ return E > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (E) {
+ return (
+ (E = this.conditionStack.length - 1 - Math.abs(E || 0)),
+ E >= 0 ? this.conditionStack[E] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (E) {
+ this.begin(E);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (E, _, A, L) {
+ var M = L;
+ switch (A) {
+ case 0:
+ return E.getLogger().trace('Found comment', _.yytext), 6;
+ break;
+ case 1:
+ return 8;
+ case 2:
+ this.begin('CLASS');
+ break;
+ case 3:
+ return this.popState(), 16;
+ break;
+ case 4:
+ this.popState();
+ break;
+ case 5:
+ E.getLogger().trace('Begin icon'), this.begin('ICON');
+ break;
+ case 6:
+ return E.getLogger().trace('SPACELINE'), 6;
+ break;
+ case 7:
+ return 7;
+ case 8:
+ return 15;
+ case 9:
+ E.getLogger().trace('end icon'), this.popState();
+ break;
+ case 10:
+ return E.getLogger().trace('Exploding node'), this.begin('NODE'), 19;
+ break;
+ case 11:
+ return E.getLogger().trace('Cloud'), this.begin('NODE'), 19;
+ break;
+ case 12:
+ return E.getLogger().trace('Explosion Bang'), this.begin('NODE'), 19;
+ break;
+ case 13:
+ return E.getLogger().trace('Cloud Bang'), this.begin('NODE'), 19;
+ break;
+ case 14:
+ return this.begin('NODE'), 19;
+ break;
+ case 15:
+ return this.begin('NODE'), 19;
+ break;
+ case 16:
+ return this.begin('NODE'), 19;
+ break;
+ case 17:
+ return this.begin('NODE'), 19;
+ break;
+ case 18:
+ return 13;
+ case 19:
+ return 22;
+ case 20:
+ return 11;
+ case 21:
+ this.begin('NSTR2');
+ break;
+ case 22:
+ return 'NODE_DESCR';
+ case 23:
+ this.popState();
+ break;
+ case 24:
+ E.getLogger().trace('Starting NSTR'), this.begin('NSTR');
+ break;
+ case 25:
+ return E.getLogger().trace('description:', _.yytext), 'NODE_DESCR';
+ break;
+ case 26:
+ this.popState();
+ break;
+ case 27:
+ return this.popState(), E.getLogger().trace('node end ))'), 'NODE_DEND';
+ break;
+ case 28:
+ return this.popState(), E.getLogger().trace('node end )'), 'NODE_DEND';
+ break;
+ case 29:
+ return (
+ this.popState(), E.getLogger().trace('node end ...', _.yytext), 'NODE_DEND'
+ );
+ break;
+ case 30:
+ return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND';
+ break;
+ case 31:
+ return this.popState(), E.getLogger().trace('node end (-'), 'NODE_DEND';
+ break;
+ case 32:
+ return this.popState(), E.getLogger().trace('node end (-'), 'NODE_DEND';
+ break;
+ case 33:
+ return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND';
+ break;
+ case 34:
+ return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND';
+ break;
+ case 35:
+ return E.getLogger().trace('Long description:', _.yytext), 20;
+ break;
+ case 36:
+ return E.getLogger().trace('Long description:', _.yytext), 20;
+ break;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:\s*%%.*)/i,
+ /^(?:mindmap\b)/i,
+ /^(?::::)/i,
+ /^(?:.+)/i,
+ /^(?:\n)/i,
+ /^(?:::icon\()/i,
+ /^(?:[\s]+[\n])/i,
+ /^(?:[\n]+)/i,
+ /^(?:[^\)]+)/i,
+ /^(?:\))/i,
+ /^(?:-\))/i,
+ /^(?:\(-)/i,
+ /^(?:\)\))/i,
+ /^(?:\))/i,
+ /^(?:\(\()/i,
+ /^(?:\{\{)/i,
+ /^(?:\()/i,
+ /^(?:\[)/i,
+ /^(?:[\s]+)/i,
+ /^(?:[^\(\[\n\)\{\}]+)/i,
+ /^(?:$)/i,
+ /^(?:["][`])/i,
+ /^(?:[^`"]+)/i,
+ /^(?:[`]["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]+)/i,
+ /^(?:["])/i,
+ /^(?:[\)]\))/i,
+ /^(?:[\)])/i,
+ /^(?:[\]])/i,
+ /^(?:\}\})/i,
+ /^(?:\(-)/i,
+ /^(?:-\))/i,
+ /^(?:\(\()/i,
+ /^(?:\()/i,
+ /^(?:[^\)\]\(\}]+)/i,
+ /^(?:.+(?!\(\())/i
+ ],
+ conditions: {
+ CLASS: { rules: [3, 4], inclusive: !1 },
+ ICON: { rules: [8, 9], inclusive: !1 },
+ NSTR2: { rules: [22, 23], inclusive: !1 },
+ NSTR: { rules: [25, 26], inclusive: !1 },
+ NODE: {
+ rules: [21, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36],
+ inclusive: !1
+ },
+ INITIAL: {
+ rules: [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
+ inclusive: !0
+ }
+ }
+ };
+ return S;
+ })();
+ x.lexer = b;
+ function w() {
+ this.yy = {};
+ }
+ return o(w, 'Parser'), (w.prototype = x), (x.Parser = w), new w();
+ })();
+ yP.parser = yP;
+ t0e = yP;
+ });
+ var Gl,
+ n0e,
+ vP,
+ yHe,
+ vHe,
+ xHe,
+ bHe,
+ $i,
+ wHe,
+ THe,
+ kHe,
+ EHe,
+ CHe,
+ SHe,
+ AHe,
+ i0e,
+ a0e = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ ut();
+ sl();
+ (Gl = []),
+ (n0e = 0),
+ (vP = {}),
+ (yHe = o(() => {
+ (Gl = []), (n0e = 0), (vP = {});
+ }, 'clear')),
+ (vHe = o(function (t) {
+ for (let e = Gl.length - 1; e >= 0; e--) if (Gl[e].level < t) return Gl[e];
+ return null;
+ }, 'getParent')),
+ (xHe = o(() => (Gl.length > 0 ? Gl[0] : null), 'getMindmap')),
+ (bHe = o((t, e, r, n) => {
+ V.info('addNode', t, e, r, n);
+ let i = de(),
+ a = i.mindmap?.padding ?? mr.mindmap.padding;
+ switch (n) {
+ case $i.ROUNDED_RECT:
+ case $i.RECT:
+ case $i.HEXAGON:
+ a *= 2;
+ }
+ let s = {
+ id: n0e++,
+ nodeId: qr(e, i),
+ level: t,
+ descr: qr(r, i),
+ type: n,
+ children: [],
+ width: i.mindmap?.maxNodeWidth ?? mr.mindmap.maxNodeWidth,
+ padding: a
+ },
+ l = vHe(t);
+ if (l) l.children.push(s), Gl.push(s);
+ else if (Gl.length === 0) Gl.push(s);
+ else
+ throw new Error('There can be only one root. No parent could be found for ("' + s.descr + '")');
+ }, 'addNode')),
+ ($i = {
+ DEFAULT: 0,
+ NO_BORDER: 0,
+ ROUNDED_RECT: 1,
+ RECT: 2,
+ CIRCLE: 3,
+ CLOUD: 4,
+ BANG: 5,
+ HEXAGON: 6
+ }),
+ (wHe = o((t, e) => {
+ switch ((V.debug('In get type', t, e), t)) {
+ case '[':
+ return $i.RECT;
+ case '(':
+ return e === ')' ? $i.ROUNDED_RECT : $i.CLOUD;
+ case '((':
+ return $i.CIRCLE;
+ case ')':
+ return $i.CLOUD;
+ case '))':
+ return $i.BANG;
+ case '{{':
+ return $i.HEXAGON;
+ default:
+ return $i.DEFAULT;
+ }
+ }, 'getType')),
+ (THe = o((t, e) => {
+ vP[t] = e;
+ }, 'setElementForId')),
+ (kHe = o((t) => {
+ if (!t) return;
+ let e = de(),
+ r = Gl[Gl.length - 1];
+ t.icon && (r.icon = qr(t.icon, e)), t.class && (r.class = qr(t.class, e));
+ }, 'decorateNode')),
+ (EHe = o((t) => {
+ switch (t) {
+ case $i.DEFAULT:
+ return 'no-border';
+ case $i.RECT:
+ return 'rect';
+ case $i.ROUNDED_RECT:
+ return 'rounded-rect';
+ case $i.CIRCLE:
+ return 'circle';
+ case $i.CLOUD:
+ return 'cloud';
+ case $i.BANG:
+ return 'bang';
+ case $i.HEXAGON:
+ return 'hexgon';
+ default:
+ return 'no-border';
+ }
+ }, 'type2Str')),
+ (CHe = o(() => V, 'getLogger')),
+ (SHe = o((t) => vP[t], 'getElementById')),
+ (AHe = {
+ clear: yHe,
+ addNode: bHe,
+ getMindmap: xHe,
+ nodeType: $i,
+ getType: wHe,
+ setElementForId: THe,
+ decorateNode: kHe,
+ type2Str: EHe,
+ getLogger: CHe,
+ getElementById: SHe
+ }),
+ (i0e = AHe);
+ });
+ function Hi(t) {
+ '@babel/helpers - typeof';
+ return (
+ (Hi =
+ typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol'
+ ? function (e) {
+ return typeof e;
+ }
+ : function (e) {
+ return e && typeof Symbol == 'function' && e.constructor === Symbol && e !== Symbol.prototype
+ ? 'symbol'
+ : typeof e;
+ }),
+ Hi(t)
+ );
+ }
+ function XP(t, e) {
+ if (!(t instanceof e)) throw new TypeError('Cannot call a class as a function');
+ }
+ function s0e(t, e) {
+ for (var r = 0; r < e.length; r++) {
+ var n = e[r];
+ (n.enumerable = n.enumerable || !1),
+ (n.configurable = !0),
+ 'value' in n && (n.writable = !0),
+ Object.defineProperty(t, n.key, n);
+ }
+ }
+ function jP(t, e, r) {
+ return e && s0e(t.prototype, e), r && s0e(t, r), Object.defineProperty(t, 'prototype', { writable: !1 }), t;
+ }
+ function bpe(t, e, r) {
+ return (
+ e in t
+ ? Object.defineProperty(t, e, {
+ value: r,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ })
+ : (t[e] = r),
+ t
+ );
+ }
+ function $l(t, e) {
+ return _He(t) || LHe(t, e) || wpe(t, e) || DHe();
+ }
+ function _He(t) {
+ if (Array.isArray(t)) return t;
+ }
+ function LHe(t, e) {
+ var r = t == null ? null : (typeof Symbol < 'u' && t[Symbol.iterator]) || t['@@iterator'];
+ if (r != null) {
+ var n = [],
+ i = !0,
+ a = !1,
+ s,
+ l;
+ try {
+ for (r = r.call(t); !(i = (s = r.next()).done) && (n.push(s.value), !(e && n.length === e)); i = !0);
+ } catch (u) {
+ (a = !0), (l = u);
+ } finally {
+ try {
+ !i && r.return != null && r.return();
+ } finally {
+ if (a) throw l;
+ }
+ }
+ return n;
+ }
+ }
+ function wpe(t, e) {
+ if (t) {
+ if (typeof t == 'string') return o0e(t, e);
+ var r = Object.prototype.toString.call(t).slice(8, -1);
+ if ((r === 'Object' && t.constructor && (r = t.constructor.name), r === 'Map' || r === 'Set'))
+ return Array.from(t);
+ if (r === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return o0e(t, e);
+ }
+ }
+ function o0e(t, e) {
+ (e == null || e > t.length) && (e = t.length);
+ for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r];
+ return n;
+ }
+ function DHe() {
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
+ }
+ function Tpe(t, e) {
+ var r = (typeof Symbol < 'u' && t[Symbol.iterator]) || t['@@iterator'];
+ if (!r) {
+ if (Array.isArray(t) || (r = wpe(t)) || (e && t && typeof t.length == 'number')) {
+ r && (t = r);
+ var n = 0,
+ i = o(function () {}, 'F');
+ return {
+ s: i,
+ n: o(function () {
+ return n >= t.length ? { done: !0 } : { done: !1, value: t[n++] };
+ }, 'n'),
+ e: o(function (u) {
+ throw u;
+ }, 'e'),
+ f: i
+ };
+ }
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
+ }
+ var a = !0,
+ s = !1,
+ l;
+ return {
+ s: o(function () {
+ r = r.call(t);
+ }, 's'),
+ n: o(function () {
+ var u = r.next();
+ return (a = u.done), u;
+ }, 'n'),
+ e: o(function (u) {
+ (s = !0), (l = u);
+ }, 'e'),
+ f: o(function () {
+ try {
+ !a && r.return != null && r.return();
+ } finally {
+ if (s) throw l;
+ }
+ }, 'f')
+ };
+ }
+ function eYe(t) {
+ var e = typeof t;
+ return t != null && (e == 'object' || e == 'function');
+ }
+ function tYe(t, e) {
+ return (e = { exports: {} }), t(e, e.exports), e.exports;
+ }
+ function lYe(t) {
+ for (var e = t.length; e-- && oYe.test(t.charAt(e)); );
+ return e;
+ }
+ function hYe(t) {
+ return t && t.slice(0, cYe(t) + 1).replace(uYe, '');
+ }
+ function gYe(t) {
+ var e = pYe.call(t, _x),
+ r = t[_x];
+ try {
+ t[_x] = void 0;
+ var n = !0;
+ } catch {}
+ var i = mYe.call(t);
+ return n && (e ? (t[_x] = r) : delete t[_x]), i;
+ }
+ function bYe(t) {
+ return xYe.call(t);
+ }
+ function EYe(t) {
+ return t == null ? (t === void 0 ? kYe : TYe) : u0e && u0e in Object(t) ? yYe(t) : wYe(t);
+ }
+ function CYe(t) {
+ return t != null && typeof t == 'object';
+ }
+ function _Ye(t) {
+ return typeof t == 'symbol' || (SYe(t) && Rpe(t) == AYe);
+ }
+ function MYe(t) {
+ if (typeof t == 'number') return t;
+ if (Jx(t)) return h0e;
+ if (V0(t)) {
+ var e = typeof t.valueOf == 'function' ? t.valueOf() : t;
+ t = V0(e) ? e + '' : e;
+ }
+ if (typeof t != 'string') return t === 0 ? t : +t;
+ t = fYe(t);
+ var r = DYe.test(t);
+ return r || RYe.test(t) ? NYe(t.slice(2), r ? 2 : 8) : LYe.test(t) ? h0e : +t;
+ }
+ function BYe(t, e, r) {
+ var n,
+ i,
+ a,
+ s,
+ l,
+ u,
+ h = 0,
+ f = !1,
+ d = !1,
+ p = !0;
+ if (typeof t != 'function') throw new TypeError(IYe);
+ (e = f0e(e) || 0),
+ V0(r) &&
+ ((f = !!r.leading),
+ (d = 'maxWait' in r),
+ (a = d ? OYe(f0e(r.maxWait) || 0, e) : a),
+ (p = 'trailing' in r ? !!r.trailing : p));
+ function m(E) {
+ var _ = n,
+ A = i;
+ return (n = i = void 0), (h = E), (s = t.apply(A, _)), s;
+ }
+ o(m, 'invokeFunc');
+ function g(E) {
+ return (h = E), (l = setTimeout(x, e)), f ? m(E) : s;
+ }
+ o(g, 'leadingEdge');
+ function y(E) {
+ var _ = E - u,
+ A = E - h,
+ L = e - _;
+ return d ? PYe(L, a - A) : L;
+ }
+ o(y, 'remainingWait');
+ function v(E) {
+ var _ = E - u,
+ A = E - h;
+ return u === void 0 || _ >= e || _ < 0 || (d && A >= a);
+ }
+ o(v, 'shouldInvoke');
+ function x() {
+ var E = xP();
+ if (v(E)) return b(E);
+ l = setTimeout(x, y(E));
+ }
+ o(x, 'timerExpired');
+ function b(E) {
+ return (l = void 0), p && n ? m(E) : ((n = i = void 0), s);
+ }
+ o(b, 'trailingEdge');
+ function w() {
+ l !== void 0 && clearTimeout(l), (h = 0), (n = u = i = l = void 0);
+ }
+ o(w, 'cancel');
+ function S() {
+ return l === void 0 ? s : b(xP());
+ }
+ o(S, 'flush');
+ function T() {
+ var E = xP(),
+ _ = v(E);
+ if (((n = arguments), (i = this), (u = E), _)) {
+ if (l === void 0) return g(u);
+ if (d) return clearTimeout(l), (l = setTimeout(x, e)), m(u);
+ }
+ return l === void 0 && (l = setTimeout(x, e)), s;
+ }
+ return o(T, 'debounced'), (T.cancel = w), (T.flush = S), T;
+ }
+ function z6(t, e, r, n, i, a) {
+ var s;
+ return jn(t) ? (s = t) : (s = o1[t] || o1.euclidean), e === 0 && jn(t) ? s(i, a) : s(e, r, n, i, a);
+ }
+ function Lqe(t, e) {
+ if (G6(t)) return !1;
+ var r = typeof t;
+ return r == 'number' || r == 'symbol' || r == 'boolean' || t == null || Jx(t)
+ ? !0
+ : _qe.test(t) || !Aqe.test(t) || (e != null && t in Object(e));
+ }
+ function Oqe(t) {
+ if (!V0(t)) return !1;
+ var e = Rpe(t);
+ return e == Nqe || e == Mqe || e == Rqe || e == Iqe;
+ }
+ function Fqe(t) {
+ return !!N0e && N0e in t;
+ }
+ function Vqe(t) {
+ if (t != null) {
+ try {
+ return $qe.call(t);
+ } catch {}
+ try {
+ return t + '';
+ } catch {}
+ }
+ return '';
+ }
+ function Qqe(t) {
+ if (!V0(t) || zqe(t)) return !1;
+ var e = Pqe(t) ? Kqe : Yqe;
+ return e.test(Uqe(t));
+ }
+ function Jqe(t, e) {
+ return t?.[e];
+ }
+ function tXe(t, e) {
+ var r = eXe(t, e);
+ return Zqe(r) ? r : void 0;
+ }
+ function nXe() {
+ (this.__data__ = Wx ? Wx(null) : {}), (this.size = 0);
+ }
+ function aXe(t) {
+ var e = this.has(t) && delete this.__data__[t];
+ return (this.size -= e ? 1 : 0), e;
+ }
+ function uXe(t) {
+ var e = this.__data__;
+ if (Wx) {
+ var r = e[t];
+ return r === oXe ? void 0 : r;
+ }
+ return cXe.call(e, t) ? e[t] : void 0;
+ }
+ function pXe(t) {
+ var e = this.__data__;
+ return Wx ? e[t] !== void 0 : dXe.call(e, t);
+ }
+ function yXe(t, e) {
+ var r = this.__data__;
+ return (this.size += this.has(t) ? 0 : 1), (r[t] = Wx && e === void 0 ? gXe : e), this;
+ }
+ function h1(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ function xXe() {
+ (this.__data__ = []), (this.size = 0);
+ }
+ function wXe(t, e) {
+ return t === e || (t !== t && e !== e);
+ }
+ function TXe(t, e) {
+ for (var r = t.length; r--; ) if (rme(t[r][0], e)) return r;
+ return -1;
+ }
+ function CXe(t) {
+ var e = this.__data__,
+ r = $6(e, t);
+ if (r < 0) return !1;
+ var n = e.length - 1;
+ return r == n ? e.pop() : EXe.call(e, r, 1), --this.size, !0;
+ }
+ function AXe(t) {
+ var e = this.__data__,
+ r = $6(e, t);
+ return r < 0 ? void 0 : e[r][1];
+ }
+ function LXe(t) {
+ return $6(this.__data__, t) > -1;
+ }
+ function RXe(t, e) {
+ var r = this.__data__,
+ n = $6(r, t);
+ return n < 0 ? (++this.size, r.push([t, e])) : (r[n][1] = e), this;
+ }
+ function f1(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ function PXe() {
+ (this.size = 0),
+ (this.__data__ = {
+ hash: new M0e(),
+ map: new (OXe || MXe)(),
+ string: new M0e()
+ });
+ }
+ function FXe(t) {
+ var e = typeof t;
+ return e == 'string' || e == 'number' || e == 'symbol' || e == 'boolean' ? t !== '__proto__' : t === null;
+ }
+ function GXe(t, e) {
+ var r = t.__data__;
+ return zXe(e) ? r[typeof e == 'string' ? 'string' : 'hash'] : r.map;
+ }
+ function $Xe(t) {
+ var e = V6(this, t).delete(t);
+ return (this.size -= e ? 1 : 0), e;
+ }
+ function UXe(t) {
+ return V6(this, t).get(t);
+ }
+ function YXe(t) {
+ return V6(this, t).has(t);
+ }
+ function qXe(t, e) {
+ var r = V6(this, t),
+ n = r.size;
+ return r.set(t, e), (this.size += r.size == n ? 0 : 1), this;
+ }
+ function d1(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ function sB(t, e) {
+ if (typeof t != 'function' || (e != null && typeof e != 'function')) throw new TypeError(jXe);
+ var r = o(function () {
+ var n = arguments,
+ i = e ? e.apply(this, n) : n[0],
+ a = r.cache;
+ if (a.has(i)) return a.get(i);
+ var s = t.apply(this, n);
+ return (r.cache = a.set(i, s) || a), s;
+ }, 'memoized');
+ return (r.cache = new (sB.Cache || nme)()), r;
+ }
+ function ZXe(t) {
+ var e = KXe(t, function (n) {
+ return r.size === QXe && r.clear(), n;
+ }),
+ r = e.cache;
+ return e;
+ }
+ function nje(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length, i = Array(n); ++r < n; ) i[r] = e(t[r], r, t);
+ return i;
+ }
+ function sme(t) {
+ if (typeof t == 'string') return t;
+ if (G6(t)) return ame(t, sme) + '';
+ if (Jx(t)) return O0e ? O0e.call(t) : '';
+ var e = t + '';
+ return e == '0' && 1 / t == -ije ? '-0' : e;
+ }
+ function sje(t) {
+ return t == null ? '' : aje(t);
+ }
+ function oje(t, e) {
+ return G6(t) ? t : Dqe(t, e) ? [t] : ime(ome(t));
+ }
+ function cje(t) {
+ if (typeof t == 'string' || Jx(t)) return t;
+ var e = t + '';
+ return e == '0' && 1 / t == -lje ? '-0' : e;
+ }
+ function uje(t, e) {
+ e = lme(e, t);
+ for (var r = 0, n = e.length; t != null && r < n; ) t = t[oB(e[r++])];
+ return r && r == n ? t : void 0;
+ }
+ function fje(t, e, r) {
+ var n = t == null ? void 0 : hje(t, e);
+ return n === void 0 ? r : n;
+ }
+ function mje(t, e, r) {
+ e == '__proto__' && P0e ? P0e(t, e, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (t[e] = r);
+ }
+ function xje(t, e, r) {
+ var n = t[e];
+ (!(vje.call(t, e) && rme(n, r)) || (r === void 0 && !(e in t))) && gje(t, e, r);
+ }
+ function kje(t, e) {
+ var r = typeof t;
+ return (
+ (e = e ?? wje), !!e && (r == 'number' || (r != 'symbol' && Tje.test(t))) && t > -1 && t % 1 == 0 && t < e
+ );
+ }
+ function Cje(t, e, r, n) {
+ if (!V0(t)) return t;
+ e = lme(e, t);
+ for (var i = -1, a = e.length, s = a - 1, l = t; l != null && ++i < a; ) {
+ var u = oB(e[i]),
+ h = r;
+ if (u === '__proto__' || u === 'constructor' || u === 'prototype') return t;
+ if (i != s) {
+ var f = l[u];
+ (h = n ? n(f, u, l) : void 0), h === void 0 && (h = V0(f) ? f : Eje(e[i + 1]) ? [] : {});
+ }
+ bje(l, u, h), (l = l[u]);
+ }
+ return t;
+ }
+ function Aje(t, e, r) {
+ return t == null ? t : Sje(t, e, r);
+ }
+ function Lje(t, e) {
+ var r = -1,
+ n = t.length;
+ for (e || (e = Array(n)); ++r < n; ) e[r] = t[r];
+ return e;
+ }
+ function Rje(t) {
+ return G6(t) ? ame(t, oB) : Jx(t) ? [t] : Dje(ime(ome(t)));
+ }
+ function cB(t, e, r, n) {
+ for (var i = [], a = new c1(), s = t.cy(), l = s.hasCompoundNodes(), u = 0; u < t.length; u++) {
+ var h = t[u];
+ r ? i.push(h) : l && n(i, a, h);
+ }
+ for (; i.length > 0; ) {
+ var f = i.shift();
+ e(f), a.add(f.id()), l && n(i, a, f);
+ }
+ return t;
+ }
+ function ume(t, e, r) {
+ if (r.isParent())
+ for (var n = r._private.children, i = 0; i < n.length; i++) {
+ var a = n[i];
+ e.has(a.id()) || t.push(a);
+ }
+ }
+ function hme(t, e, r) {
+ if (r.isChild()) {
+ var n = r._private.parent;
+ e.has(n.id()) || t.push(n);
+ }
+ }
+ function Kje(t, e, r) {
+ hme(t, e, r), ume(t, e, r);
+ }
+ function CP(t) {
+ return function (e) {
+ var r = this;
+ if ((e === void 0 && (e = !0), r.length !== 0))
+ if (r.isNode() && !r.removed()) {
+ for (var n = 0, i = r[0], a = i._private.edges, s = 0; s < a.length; s++) {
+ var l = a[s];
+ (!e && l.isLoop()) || (n += t(i, l));
+ }
+ return n;
+ } else return;
+ };
+ }
+ function Xg(t, e) {
+ return function (r) {
+ for (var n, i = this.nodes(), a = 0; a < i.length; a++) {
+ var s = i[a],
+ l = s[t](r);
+ l !== void 0 && (n === void 0 || e(l, n)) && (n = l);
+ }
+ return n;
+ };
+ }
+ function Rx() {
+ return !1;
+ }
+ function c6() {
+ return !0;
+ }
+ function H6() {
+ for (
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : mKe,
+ e = arguments.length > 1 ? arguments[1] : void 0,
+ r = 0;
+ r < V0e.length;
+ r++
+ ) {
+ var n = V0e[r];
+ this[n] = t[n] || bme[n];
+ }
+ (this.context = e || this.context), (this.listeners = []), (this.emitting = 0);
+ }
+ function Cme(t, e, r) {
+ var n = r._private,
+ i = (n.styleCache = n.styleCache || []),
+ a;
+ return (a = i[t]) != null || (a = i[t] = e(r)), a;
+ }
+ function Y6(t, e) {
+ return (
+ (t = U0(t)),
+ o(function (n) {
+ return Cme(t, e, n);
+ }, 'cachedStyleFunction')
+ );
+ }
+ function W6(t, e) {
+ t = U0(t);
+ var r = o(function (i) {
+ return e.call(i);
+ }, 'selfFn');
+ return o(function () {
+ var i = this[0];
+ if (i) return Cme(t, r, i);
+ }, 'cachedPrototypeStyleFunction');
+ }
+ function AP(t, e) {
+ var r = t._private,
+ n = r.data.parent ? t.parents() : null;
+ if (n)
+ for (var i = 0; i < n.length; i++) {
+ var a = n[i];
+ if (!e(a)) return !1;
+ }
+ return !0;
+ }
+ function uB(t) {
+ var e = t.ok,
+ r = t.edgeOkViaNode || t.ok,
+ n = t.parentOk || t.ok;
+ return function () {
+ var i = this.cy();
+ if (!i.styleEnabled()) return !0;
+ var a = this[0],
+ s = i.hasCompoundNodes();
+ if (a) {
+ var l = a._private;
+ if (!e(a)) return !1;
+ if (a.isNode()) return !s || AP(a, n);
+ var u = l.source,
+ h = l.target;
+ return r(u) && (!s || AP(u, r)) && (u === h || (r(h) && (!s || AP(h, r))));
+ }
+ };
+ }
+ function H0e(t) {
+ return function () {
+ var e = arguments,
+ r = [];
+ if (e.length === 2) {
+ var n = e[0],
+ i = e[1];
+ this.on(t.event, n, i);
+ } else if (e.length === 1 && jn(e[0])) {
+ var a = e[0];
+ this.on(t.event, a);
+ } else if (e.length === 0 || (e.length === 1 && vn(e[0]))) {
+ for (var s = e.length === 1 ? e[0] : null, l = 0; l < this.length; l++) {
+ var u = this[l],
+ h = !t.ableField || u._private[t.ableField],
+ f = u._private[t.field] != t.value;
+ if (t.overrideAble) {
+ var d = t.overrideAble(u);
+ if (d !== void 0 && ((h = d), !d)) return this;
+ }
+ h && ((u._private[t.field] = t.value), f && r.push(u));
+ }
+ var p = this.spawn(r);
+ p.updateStyle(), p.emit(t.event), s && p.emit(s);
+ }
+ return this;
+ };
+ }
+ function m1(t) {
+ (Cf[t.field] = function () {
+ var e = this[0];
+ if (e) {
+ if (t.overrideField) {
+ var r = t.overrideField(e);
+ if (r !== void 0) return r;
+ }
+ return e._private[t.field];
+ }
+ }),
+ (Cf[t.on] = H0e({
+ event: t.on,
+ field: t.field,
+ ableField: t.ableField,
+ overrideAble: t.overrideAble,
+ value: !0
+ })),
+ (Cf[t.off] = H0e({
+ event: t.off,
+ field: t.field,
+ ableField: t.ableField,
+ overrideAble: t.overrideAble,
+ value: !1
+ }));
+ }
+ function X0e(t) {
+ return o(function (r) {
+ for (var n = [], i = 0; i < this.length; i++) {
+ var a = this[i],
+ s = a._private[t.attr];
+ s && n.push(s);
+ }
+ return this.spawn(n, !0).filter(r);
+ }, 'sourceImpl');
+ }
+ function j0e(t) {
+ return o(function (r) {
+ var n = [],
+ i = this._private.cy,
+ a = t || {};
+ zt(r) && (r = i.$(r));
+ for (var s = 0; s < r.length; s++)
+ for (var l = r[s]._private.edges, u = 0; u < l.length; u++) {
+ var h = l[u],
+ f = h._private.data,
+ d = this.hasElementWithId(f.source) && r.hasElementWithId(f.target),
+ p = r.hasElementWithId(f.source) && this.hasElementWithId(f.target),
+ m = d || p;
+ m && (((a.thisIsSrc || a.thisIsTgt) && ((a.thisIsSrc && !d) || (a.thisIsTgt && !p))) || n.push(h));
+ }
+ return this.spawn(n, !0);
+ }, 'edgesWithImpl');
+ }
+ function K0e(t) {
+ var e = { codirected: !1 };
+ return (
+ (t = Wt({}, e, t)),
+ o(function (n) {
+ for (var i = [], a = this.edges(), s = t, l = 0; l < a.length; l++)
+ for (
+ var u = a[l],
+ h = u._private,
+ f = h.source,
+ d = f._private.data.id,
+ p = h.data.target,
+ m = f._private.edges,
+ g = 0;
+ g < m.length;
+ g++
+ ) {
+ var y = m[g],
+ v = y._private.data,
+ x = v.target,
+ b = v.source,
+ w = x === p && b === d,
+ S = d === x && p === b;
+ ((s.codirected && w) || (!s.codirected && (w || S))) && i.push(y);
+ }
+ return this.spawn(i, !0).filter(n);
+ }, 'parallelEdgesImpl')
+ );
+ }
+ function SKe(t, e, r, n) {
+ var i = 4,
+ a = 0.001,
+ s = 1e-7,
+ l = 10,
+ u = 11,
+ h = 1 / (u - 1),
+ f = typeof Float32Array < 'u';
+ if (arguments.length !== 4) return !1;
+ for (var d = 0; d < 4; ++d)
+ if (typeof arguments[d] != 'number' || isNaN(arguments[d]) || !isFinite(arguments[d])) return !1;
+ (t = Math.min(t, 1)), (r = Math.min(r, 1)), (t = Math.max(t, 0)), (r = Math.max(r, 0));
+ var p = f ? new Float32Array(u) : new Array(u);
+ function m(M, N) {
+ return 1 - 3 * N + 3 * M;
+ }
+ o(m, 'A');
+ function g(M, N) {
+ return 3 * N - 6 * M;
+ }
+ o(g, 'B');
+ function y(M) {
+ return 3 * M;
+ }
+ o(y, 'C');
+ function v(M, N, k) {
+ return ((m(N, k) * M + g(N, k)) * M + y(N)) * M;
+ }
+ o(v, 'calcBezier');
+ function x(M, N, k) {
+ return 3 * m(N, k) * M * M + 2 * g(N, k) * M + y(N);
+ }
+ o(x, 'getSlope');
+ function b(M, N) {
+ for (var k = 0; k < i; ++k) {
+ var I = x(N, t, r);
+ if (I === 0) return N;
+ var C = v(N, t, r) - M;
+ N -= C / I;
+ }
+ return N;
+ }
+ o(b, 'newtonRaphsonIterate');
+ function w() {
+ for (var M = 0; M < u; ++M) p[M] = v(M * h, t, r);
+ }
+ o(w, 'calcSampleValues');
+ function S(M, N, k) {
+ var I,
+ C,
+ O = 0;
+ do (C = N + (k - N) / 2), (I = v(C, t, r) - M), I > 0 ? (k = C) : (N = C);
+ while (Math.abs(I) > s && ++O < l);
+ return C;
+ }
+ o(S, 'binarySubdivide');
+ function T(M) {
+ for (var N = 0, k = 1, I = u - 1; k !== I && p[k] <= M; ++k) N += h;
+ --k;
+ var C = (M - p[k]) / (p[k + 1] - p[k]),
+ O = N + C * h,
+ D = x(O, t, r);
+ return D >= a ? b(M, O) : D === 0 ? O : S(M, N, N + h);
+ }
+ o(T, 'getTForX');
+ var E = !1;
+ function _() {
+ (E = !0), (t !== e || r !== n) && w();
+ }
+ o(_, 'precompute');
+ var A = o(function (N) {
+ return E || _(), t === e && r === n ? N : N === 0 ? 0 : N === 1 ? 1 : v(T(N), e, n);
+ }, 'f');
+ A.getControlPoints = function () {
+ return [
+ { x: t, y: e },
+ { x: r, y: n }
+ ];
+ };
+ var L = 'generateBezier(' + [t, e, r, n] + ')';
+ return (
+ (A.toString = function () {
+ return L;
+ }),
+ A
+ );
+ }
+ function Q0e(t, e, r, n, i) {
+ if (n === 1 || e === r) return r;
+ var a = i(e, r, n);
+ return (
+ t == null ||
+ ((t.roundValue || t.color) && (a = Math.round(a)),
+ t.min !== void 0 && (a = Math.max(a, t.min)),
+ t.max !== void 0 && (a = Math.min(a, t.max))),
+ a
+ );
+ }
+ function Z0e(t, e) {
+ return t.pfValue != null || t.value != null
+ ? t.pfValue != null && (e == null || e.type.units !== '%')
+ ? t.pfValue
+ : t.value
+ : t;
+ }
+ function jg(t, e, r, n, i) {
+ var a = i != null ? i.type : null;
+ r < 0 ? (r = 0) : r > 1 && (r = 1);
+ var s = Z0e(t, i),
+ l = Z0e(e, i);
+ if (ft(s) && ft(l)) return Q0e(a, s, l, r, n);
+ if (vn(s) && vn(l)) {
+ for (var u = [], h = 0; h < l.length; h++) {
+ var f = s[h],
+ d = l[h];
+ if (f != null && d != null) {
+ var p = Q0e(a, f, d, r, n);
+ u.push(p);
+ } else u.push(d);
+ }
+ return u;
+ }
+ }
+ function _Ke(t, e, r, n) {
+ var i = !n,
+ a = t._private,
+ s = e._private,
+ l = s.easing,
+ u = s.startTime,
+ h = n ? t : t.cy(),
+ f = h.style();
+ if (!s.easingImpl)
+ if (l == null) s.easingImpl = v6.linear;
+ else {
+ var d;
+ if (zt(l)) {
+ var p = f.parse('transition-timing-function', l);
+ d = p.value;
+ } else d = l;
+ var m, g;
+ zt(d)
+ ? ((m = d), (g = []))
+ : ((m = d[1]),
+ (g = d.slice(2).map(function (B) {
+ return +B;
+ }))),
+ g.length > 0
+ ? (m === 'spring' && g.push(s.duration), (s.easingImpl = v6[m].apply(null, g)))
+ : (s.easingImpl = v6[m]);
+ }
+ var y = s.easingImpl,
+ v;
+ if (
+ (s.duration === 0 ? (v = 1) : (v = (r - u) / s.duration),
+ s.applying && (v = s.progress),
+ v < 0 ? (v = 0) : v > 1 && (v = 1),
+ s.delay == null)
+ ) {
+ var x = s.startPosition,
+ b = s.position;
+ if (b && i && !t.locked()) {
+ var w = {};
+ Nx(x.x, b.x) && (w.x = jg(x.x, b.x, v, y)), Nx(x.y, b.y) && (w.y = jg(x.y, b.y, v, y)), t.position(w);
+ }
+ var S = s.startPan,
+ T = s.pan,
+ E = a.pan,
+ _ = T != null && n;
+ _ &&
+ (Nx(S.x, T.x) && (E.x = jg(S.x, T.x, v, y)), Nx(S.y, T.y) && (E.y = jg(S.y, T.y, v, y)), t.emit('pan'));
+ var A = s.startZoom,
+ L = s.zoom,
+ M = L != null && n;
+ M && (Nx(A, L) && (a.zoom = Hx(a.minZoom, jg(A, L, v, y), a.maxZoom)), t.emit('zoom')),
+ (_ || M) && t.emit('viewport');
+ var N = s.style;
+ if (N && N.length > 0 && i) {
+ for (var k = 0; k < N.length; k++) {
+ var I = N[k],
+ C = I.name,
+ O = I,
+ D = s.startStyle[C],
+ P = f.properties[D.name],
+ F = jg(D, O, v, y, P);
+ f.overrideBypass(t, C, F);
+ }
+ t.emit('style');
+ }
+ }
+ return (s.progress = v), v;
+ }
+ function Nx(t, e) {
+ return t == null || e == null ? !1 : ft(t) && ft(e) ? !0 : !!(t && e);
+ }
+ function LKe(t, e, r, n) {
+ var i = e._private;
+ (i.started = !0), (i.startTime = r - i.progress * i.duration);
+ }
+ function J0e(t, e) {
+ var r = e._private.aniEles,
+ n = [];
+ function i(f, d) {
+ var p = f._private,
+ m = p.animation.current,
+ g = p.animation.queue,
+ y = !1;
+ if (m.length === 0) {
+ var v = g.shift();
+ v && m.push(v);
+ }
+ for (
+ var x = o(function (E) {
+ for (var _ = E.length - 1; _ >= 0; _--) {
+ var A = E[_];
+ A();
+ }
+ E.splice(0, E.length);
+ }, 'callbacks'),
+ b = m.length - 1;
+ b >= 0;
+ b--
+ ) {
+ var w = m[b],
+ S = w._private;
+ if (S.stopped) {
+ m.splice(b, 1), (S.hooked = !1), (S.playing = !1), (S.started = !1), x(S.frames);
+ continue;
+ }
+ (!S.playing && !S.applying) ||
+ (S.playing && S.applying && (S.applying = !1),
+ S.started || LKe(f, w, t),
+ _Ke(f, w, t, d),
+ S.applying && (S.applying = !1),
+ x(S.frames),
+ S.step != null && S.step(t),
+ w.completed() &&
+ (m.splice(b, 1), (S.hooked = !1), (S.playing = !1), (S.started = !1), x(S.completes)),
+ (y = !0));
+ }
+ return !d && m.length === 0 && g.length === 0 && n.push(f), y;
+ }
+ o(i, 'stepOne');
+ for (var a = !1, s = 0; s < r.length; s++) {
+ var l = r[s],
+ u = i(l);
+ a = a || u;
+ }
+ var h = i(e, !0);
+ (a || h) && (r.length > 0 ? e.notify('draw', r) : e.notify('draw')), r.unmerge(n), e.emit('step');
+ }
+ function Ame(t) {
+ this.options = Wt({}, BKe, FKe, t);
+ }
+ function _me(t) {
+ this.options = Wt({}, zKe, t);
+ }
+ function Lme(t) {
+ this.options = Wt({}, GKe, t);
+ }
+ function j6(t) {
+ (this.options = Wt({}, $Ke, t)), (this.options.layout = this);
+ var e = this.options.eles.nodes(),
+ r = this.options.eles.edges(),
+ n = r.filter(function (i) {
+ var a = i.source().data('id'),
+ s = i.target().data('id'),
+ l = e.some(function (h) {
+ return h.data('id') === a;
+ }),
+ u = e.some(function (h) {
+ return h.data('id') === s;
+ });
+ return !l || !u;
+ });
+ this.options.eles = this.options.eles.not(n);
+ }
+ function Rme(t) {
+ this.options = Wt({}, iQe, t);
+ }
+ function dB(t) {
+ this.options = Wt({}, aQe, t);
+ }
+ function Nme(t) {
+ this.options = Wt({}, sQe, t);
+ }
+ function Mme(t) {
+ this.options = Wt({}, oQe, t);
+ }
+ function Ime(t) {
+ (this.options = t), (this.notifications = 0);
+ }
+ function Bme(t, e) {
+ e.radius === 0
+ ? t.lineTo(e.cx, e.cy)
+ : t.arc(e.cx, e.cy, e.radius, e.startAngle, e.endAngle, e.counterClockwise);
+ }
+ function mB(t, e, r, n) {
+ var i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0;
+ return n === 0 || e.radius === 0
+ ? {
+ cx: e.x,
+ cy: e.y,
+ radius: 0,
+ startX: e.x,
+ startY: e.y,
+ stopX: e.x,
+ stopY: e.y,
+ startAngle: void 0,
+ endAngle: void 0,
+ counterClockwise: void 0
+ }
+ : (uQe(t, e, r, n, i),
+ {
+ cx: GP,
+ cy: $P,
+ radius: z0,
+ startX: Ome,
+ startY: Pme,
+ stopX: VP,
+ stopY: UP,
+ startAngle: Gc.ang + (Math.PI / 2) * G0,
+ endAngle: Jo.ang - (Math.PI / 2) * G0,
+ counterClockwise: w6
+ });
+ }
+ function Fme(t) {
+ var e = [];
+ if (t != null) {
+ for (var r = 0; r < t.length; r += 2) {
+ var n = t[r],
+ i = t[r + 1];
+ e.push({ x: n, y: i });
+ }
+ return e;
+ }
+ }
+ function hQe(t, e, r) {
+ for (
+ var n = o(function (h, f, d, p) {
+ return aa(h, f, d, p);
+ }, 'qbezierAt$1'),
+ i = e._private,
+ a = i.rstyle.bezierPts,
+ s = 0;
+ s < t.bezierProjPcts.length;
+ s++
+ ) {
+ var l = t.bezierProjPcts[s];
+ a.push({ x: n(r[0], r[2], r[4], l), y: n(r[1], r[3], r[5], l) });
+ }
+ }
+ function VQe(t, e) {
+ for (var r = 0; r < e.length; r++) {
+ var n = e[r];
+ t.lineTo(n.x, n.y);
+ }
+ }
+ function UQe(t, e, r) {
+ for (var n, i = 0; i < e.length; i++) {
+ var a = e[i];
+ i === 0 && (n = a), t.lineTo(a.x, a.y);
+ }
+ t.quadraticCurveTo(r.x, r.y, n.x, n.y);
+ }
+ function gpe(t, e, r) {
+ t.beginPath && t.beginPath();
+ for (var n = e, i = 0; i < n.length; i++) {
+ var a = n[i];
+ t.lineTo(a.x, a.y);
+ }
+ var s = r,
+ l = r[0];
+ t.moveTo(l.x, l.y);
+ for (var i = 1; i < s.length; i++) {
+ var a = s[i];
+ t.lineTo(a.x, a.y);
+ }
+ t.closePath && t.closePath();
+ }
+ function HQe(t, e, r, n, i) {
+ t.beginPath && t.beginPath(), t.arc(r, n, i, 0, Math.PI * 2, !1);
+ var a = e,
+ s = a[0];
+ t.moveTo(s.x, s.y);
+ for (var l = 0; l < a.length; l++) {
+ var u = a[l];
+ t.lineTo(u.x, u.y);
+ }
+ t.closePath && t.closePath();
+ }
+ function YQe(t, e, r, n) {
+ t.arc(e, r, n, 0, Math.PI * 2, !1);
+ }
+ function RP(t, e, r, n, i) {
+ var a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 5,
+ s = arguments.length > 6 ? arguments[6] : void 0;
+ t.beginPath(),
+ t.moveTo(e + a, r),
+ t.lineTo(e + n - a, r),
+ t.quadraticCurveTo(e + n, r, e + n, r + a),
+ t.lineTo(e + n, r + i - a),
+ t.quadraticCurveTo(e + n, r + i, e + n - a, r + i),
+ t.lineTo(e + a, r + i),
+ t.quadraticCurveTo(e, r + i, e, r + i - a),
+ t.lineTo(e, r + a),
+ t.quadraticCurveTo(e, r, e + a, r),
+ t.closePath(),
+ s ? t.stroke() : t.fill();
+ }
+ function ZQe(t, e) {
+ for (var r = atob(t), n = new ArrayBuffer(r.length), i = new Uint8Array(n), a = 0; a < r.length; a++)
+ i[a] = r.charCodeAt(a);
+ return new Blob([n], { type: e });
+ }
+ function xpe(t) {
+ var e = t.indexOf(',');
+ return t.substr(e + 1);
+ }
+ function Qme(t, e, r) {
+ var n = o(function () {
+ return e.toDataURL(r, t.quality);
+ }, 'getB64Uri');
+ switch (t.output) {
+ case 'blob-promise':
+ return new u1(function (i, a) {
+ try {
+ e.toBlob(
+ function (s) {
+ s != null ? i(s) : a(new Error('`canvas.toBlob()` sent a null value in its callback'));
+ },
+ r,
+ t.quality
+ );
+ } catch (s) {
+ a(s);
+ }
+ });
+ case 'blob':
+ return ZQe(xpe(n()), r);
+ case 'base64':
+ return xpe(n());
+ case 'base64uri':
+ default:
+ return n();
+ }
+ }
+ function Jme(t) {
+ var e = this,
+ r = e.cy.window(),
+ n = r.document;
+ e.data = {
+ canvases: new Array(Yr.CANVAS_LAYERS),
+ contexts: new Array(Yr.CANVAS_LAYERS),
+ canvasNeedsRedraw: new Array(Yr.CANVAS_LAYERS),
+ bufferCanvases: new Array(Yr.BUFFER_COUNT),
+ bufferContexts: new Array(Yr.CANVAS_LAYERS)
+ };
+ var i = '-webkit-tap-highlight-color',
+ a = 'rgba(0,0,0,0)';
+ e.data.canvasContainer = n.createElement('div');
+ var s = e.data.canvasContainer.style;
+ (e.data.canvasContainer.style[i] = a), (s.position = 'relative'), (s.zIndex = '0'), (s.overflow = 'hidden');
+ var l = t.cy.container();
+ l.appendChild(e.data.canvasContainer), (l.style[i] = a);
+ var u = {
+ '-webkit-user-select': 'none',
+ '-moz-user-select': '-moz-none',
+ 'user-select': 'none',
+ '-webkit-tap-highlight-color': 'rgba(0,0,0,0)',
+ 'outline-style': 'none'
+ };
+ GHe() && ((u['-ms-touch-action'] = 'none'), (u['touch-action'] = 'none'));
+ for (var h = 0; h < Yr.CANVAS_LAYERS; h++) {
+ var f = (e.data.canvases[h] = n.createElement('canvas'));
+ (e.data.contexts[h] = f.getContext('2d')),
+ Object.keys(u).forEach(function (Z) {
+ f.style[Z] = u[Z];
+ }),
+ (f.style.position = 'absolute'),
+ f.setAttribute('data-id', 'layer' + h),
+ (f.style.zIndex = String(Yr.CANVAS_LAYERS - h)),
+ e.data.canvasContainer.appendChild(f),
+ (e.data.canvasNeedsRedraw[h] = !1);
+ }
+ (e.data.topCanvas = e.data.canvases[0]),
+ e.data.canvases[Yr.NODE].setAttribute('data-id', 'layer' + Yr.NODE + '-node'),
+ e.data.canvases[Yr.SELECT_BOX].setAttribute('data-id', 'layer' + Yr.SELECT_BOX + '-selectbox'),
+ e.data.canvases[Yr.DRAG].setAttribute('data-id', 'layer' + Yr.DRAG + '-drag');
+ for (var h = 0; h < Yr.BUFFER_COUNT; h++)
+ (e.data.bufferCanvases[h] = n.createElement('canvas')),
+ (e.data.bufferContexts[h] = e.data.bufferCanvases[h].getContext('2d')),
+ (e.data.bufferCanvases[h].style.position = 'absolute'),
+ e.data.bufferCanvases[h].setAttribute('data-id', 'buffer' + h),
+ (e.data.bufferCanvases[h].style.zIndex = String(-h - 1)),
+ (e.data.bufferCanvases[h].style.visibility = 'hidden');
+ e.pathsEnabled = !0;
+ var d = Gs(),
+ p = o(function (H) {
+ return { x: (H.x1 + H.x2) / 2, y: (H.y1 + H.y2) / 2 };
+ }, 'getBoxCenter'),
+ m = o(function (H) {
+ return { x: -H.w / 2, y: -H.h / 2 };
+ }, 'getCenterOffset'),
+ g = o(function (H) {
+ var q = H[0]._private,
+ K = q.oldBackgroundTimestamp === q.backgroundTimestamp;
+ return !K;
+ }, 'backgroundTimestampHasChanged'),
+ y = o(function (H) {
+ return H[0]._private.nodeKey;
+ }, 'getStyleKey'),
+ v = o(function (H) {
+ return H[0]._private.labelStyleKey;
+ }, 'getLabelKey'),
+ x = o(function (H) {
+ return H[0]._private.sourceLabelStyleKey;
+ }, 'getSourceLabelKey'),
+ b = o(function (H) {
+ return H[0]._private.targetLabelStyleKey;
+ }, 'getTargetLabelKey'),
+ w = o(function (H, q, K, se, ce) {
+ return e.drawElement(H, q, K, !1, !1, ce);
+ }, 'drawElement'),
+ S = o(function (H, q, K, se, ce) {
+ return e.drawElementText(H, q, K, se, 'main', ce);
+ }, 'drawLabel'),
+ T = o(function (H, q, K, se, ce) {
+ return e.drawElementText(H, q, K, se, 'source', ce);
+ }, 'drawSourceLabel'),
+ E = o(function (H, q, K, se, ce) {
+ return e.drawElementText(H, q, K, se, 'target', ce);
+ }, 'drawTargetLabel'),
+ _ = o(function (H) {
+ return H.boundingBox(), H[0]._private.bodyBounds;
+ }, 'getElementBox'),
+ A = o(function (H) {
+ return H.boundingBox(), H[0]._private.labelBounds.main || d;
+ }, 'getLabelBox'),
+ L = o(function (H) {
+ return H.boundingBox(), H[0]._private.labelBounds.source || d;
+ }, 'getSourceLabelBox'),
+ M = o(function (H) {
+ return H.boundingBox(), H[0]._private.labelBounds.target || d;
+ }, 'getTargetLabelBox'),
+ N = o(function (H, q) {
+ return q;
+ }, 'isLabelVisibleAtScale'),
+ k = o(function (H) {
+ return p(_(H));
+ }, 'getElementRotationPoint'),
+ I = o(function (H, q, K) {
+ var se = H ? H + '-' : '';
+ return {
+ x: q.x + K.pstyle(se + 'text-margin-x').pfValue,
+ y: q.y + K.pstyle(se + 'text-margin-y').pfValue
+ };
+ }, 'addTextMargin'),
+ C = o(function (H, q, K) {
+ var se = H[0]._private.rscratch;
+ return { x: se[q], y: se[K] };
+ }, 'getRsPt'),
+ O = o(function (H) {
+ return I('', C(H, 'labelX', 'labelY'), H);
+ }, 'getLabelRotationPoint'),
+ D = o(function (H) {
+ return I('source', C(H, 'sourceLabelX', 'sourceLabelY'), H);
+ }, 'getSourceLabelRotationPoint'),
+ P = o(function (H) {
+ return I('target', C(H, 'targetLabelX', 'targetLabelY'), H);
+ }, 'getTargetLabelRotationPoint'),
+ F = o(function (H) {
+ return m(_(H));
+ }, 'getElementRotationOffset'),
+ B = o(function (H) {
+ return m(L(H));
+ }, 'getSourceLabelRotationOffset'),
+ $ = o(function (H) {
+ return m(M(H));
+ }, 'getTargetLabelRotationOffset'),
+ z = o(function (H) {
+ var q = A(H),
+ K = m(A(H));
+ if (H.isNode()) {
+ switch (H.pstyle('text-halign').value) {
+ case 'left':
+ K.x = -q.w;
+ break;
+ case 'right':
+ K.x = 0;
+ break;
+ }
+ switch (H.pstyle('text-valign').value) {
+ case 'top':
+ K.y = -q.h;
+ break;
+ case 'bottom':
+ K.y = 0;
+ break;
+ }
+ }
+ return K;
+ }, 'getLabelRotationOffset'),
+ Y = (e.data.eleTxrCache = new Bx(e, {
+ getKey: y,
+ doesEleInvalidateKey: g,
+ drawElement: w,
+ getBoundingBox: _,
+ getRotationPoint: k,
+ getRotationOffset: F,
+ allowEdgeTxrCaching: !1,
+ allowParentTxrCaching: !1
+ })),
+ Q = (e.data.lblTxrCache = new Bx(e, {
+ getKey: v,
+ drawElement: S,
+ getBoundingBox: A,
+ getRotationPoint: O,
+ getRotationOffset: z,
+ isVisible: N
+ })),
+ X = (e.data.slbTxrCache = new Bx(e, {
+ getKey: x,
+ drawElement: T,
+ getBoundingBox: L,
+ getRotationPoint: D,
+ getRotationOffset: B,
+ isVisible: N
+ })),
+ ie = (e.data.tlbTxrCache = new Bx(e, {
+ getKey: b,
+ drawElement: E,
+ getBoundingBox: M,
+ getRotationPoint: P,
+ getRotationOffset: $,
+ isVisible: N
+ })),
+ j = (e.data.lyrTxrCache = new Wme(e));
+ e.onUpdateEleCalcs(
+ o(function (H, q) {
+ Y.invalidateElements(q),
+ Q.invalidateElements(q),
+ X.invalidateElements(q),
+ ie.invalidateElements(q),
+ j.invalidateElements(q);
+ for (var K = 0; K < q.length; K++) {
+ var se = q[K]._private;
+ se.oldBackgroundTimestamp = se.backgroundTimestamp;
+ }
+ }, 'invalidateTextureCaches')
+ );
+ var J = o(function (H) {
+ for (var q = 0; q < H.length; q++) j.enqueueElementRefinement(H[q].ele);
+ }, 'refineInLayers');
+ Y.onDequeue(J), Q.onDequeue(J), X.onDequeue(J), ie.onDequeue(J);
+ }
+ function rge(t, e, r) {
+ var n = r,
+ i = o(function (A) {
+ tn(
+ 'Can not register `' +
+ e +
+ '` for `' +
+ t +
+ '` since `' +
+ A +
+ '` already exists in the prototype and can not be overridden'
+ );
+ }, 'overrideErr');
+ if (t === 'core') {
+ if (Kx.prototype[e]) return i(e);
+ Kx.prototype[e] = r;
+ } else if (t === 'collection') {
+ if (Ca.prototype[e]) return i(e);
+ Ca.prototype[e] = r;
+ } else if (t === 'layout') {
+ for (
+ var a = o(function (A) {
+ (this.options = A),
+ r.call(this, A),
+ Mr(this._private) || (this._private = {}),
+ (this._private.cy = A.cy),
+ (this._private.listeners = []),
+ this.createEmitter();
+ }, 'Layout'),
+ s = (a.prototype = Object.create(r.prototype)),
+ l = [],
+ u = 0;
+ u < l.length;
+ u++
+ ) {
+ var h = l[u];
+ s[h] =
+ s[h] ||
+ function () {
+ return this;
+ };
+ }
+ s.start && !s.run
+ ? (s.run = function () {
+ return this.start(), this;
+ })
+ : !s.start &&
+ s.run &&
+ (s.start = function () {
+ return this.run(), this;
+ });
+ var f = r.prototype.stop;
+ (s.stop = function () {
+ var _ = this.options;
+ if (_ && _.animate) {
+ var A = this.animations;
+ if (A) for (var L = 0; L < A.length; L++) A[L].stop();
+ }
+ return f ? f.call(this) : this.emit('layoutstop'), this;
+ }),
+ s.destroy ||
+ (s.destroy = function () {
+ return this;
+ }),
+ (s.cy = function () {
+ return this._private.cy;
+ });
+ var d = o(function (A) {
+ return A._private.cy;
+ }, 'getCy'),
+ p = {
+ addEventFields: o(function (A, L) {
+ (L.layout = A), (L.cy = d(A)), (L.target = A);
+ }, 'addEventFields'),
+ bubble: o(function () {
+ return !0;
+ }, 'bubble'),
+ parent: o(function (A) {
+ return d(A);
+ }, 'parent')
+ };
+ Wt(s, {
+ createEmitter: o(function () {
+ return (this._private.emitter = new H6(p, this)), this;
+ }, 'createEmitter'),
+ emitter: o(function () {
+ return this._private.emitter;
+ }, 'emitter'),
+ on: o(function (A, L) {
+ return this.emitter().on(A, L), this;
+ }, 'on'),
+ one: o(function (A, L) {
+ return this.emitter().one(A, L), this;
+ }, 'one'),
+ once: o(function (A, L) {
+ return this.emitter().one(A, L), this;
+ }, 'once'),
+ removeListener: o(function (A, L) {
+ return this.emitter().removeListener(A, L), this;
+ }, 'removeListener'),
+ removeAllListeners: o(function () {
+ return this.emitter().removeAllListeners(), this;
+ }, 'removeAllListeners'),
+ emit: o(function (A, L) {
+ return this.emitter().emit(A, L), this;
+ }, 'emit')
+ }),
+ en.eventAliasesOn(s),
+ (n = a);
+ } else if (t === 'renderer' && e !== 'null' && e !== 'base') {
+ var m = nge('renderer', 'base'),
+ g = m.prototype,
+ y = r,
+ v = r.prototype,
+ x = o(function () {
+ m.apply(this, arguments), y.apply(this, arguments);
+ }, 'Renderer'),
+ b = x.prototype;
+ for (var w in g) {
+ var S = g[w],
+ T = v[w] != null;
+ if (T) return i(w);
+ b[w] = S;
+ }
+ for (var E in v) b[E] = v[E];
+ g.clientFunctions.forEach(function (_) {
+ b[_] =
+ b[_] ||
+ function () {
+ oi('Renderer does not implement `renderer.' + _ + '()` on its prototype');
+ };
+ }),
+ (n = x);
+ } else if (t === '__proto__' || t === 'constructor' || t === 'prototype')
+ return oi(t + ' is an illegal type to be registered, possibly lead to prototype pollutions');
+ return _pe({ map: ege, keys: [t, e], value: n });
+ }
+ function nge(t, e) {
+ return Lpe({ map: ege, keys: [t, e] });
+ }
+ function nZe(t, e, r, n, i) {
+ return _pe({ map: tge, keys: [t, e, r, n], value: i });
+ }
+ function iZe(t, e, r, n) {
+ return Lpe({ map: tge, keys: [t, e, r, n] });
+ }
+ var Vi,
+ l0e,
+ RHe,
+ kpe,
+ NHe,
+ MHe,
+ Qx,
+ zt,
+ jn,
+ vn,
+ Mr,
+ IHe,
+ ft,
+ OHe,
+ k6,
+ xo,
+ Zx,
+ Epe,
+ KP,
+ Cpe,
+ PHe,
+ Sf,
+ BHe,
+ FHe,
+ zHe,
+ GHe,
+ Gx,
+ QP,
+ I6,
+ Spe,
+ c0e,
+ Ui,
+ $He,
+ VHe,
+ UHe,
+ HHe,
+ YHe,
+ WHe,
+ Ape,
+ qHe,
+ Wt,
+ XHe,
+ jHe,
+ KHe,
+ QHe,
+ ZHe,
+ JHe,
+ _pe,
+ Lpe,
+ V0,
+ Mx,
+ rYe,
+ nYe,
+ iYe,
+ aYe,
+ O6,
+ sYe,
+ xP,
+ oYe,
+ cYe,
+ uYe,
+ fYe,
+ dYe,
+ a1,
+ Dpe,
+ pYe,
+ mYe,
+ _x,
+ yYe,
+ vYe,
+ xYe,
+ wYe,
+ TYe,
+ kYe,
+ u0e,
+ Rpe,
+ SYe,
+ AYe,
+ Jx,
+ h0e,
+ LYe,
+ DYe,
+ RYe,
+ NYe,
+ f0e,
+ IYe,
+ OYe,
+ PYe,
+ P6,
+ bP,
+ Npe,
+ FYe,
+ E6,
+ Ku,
+ Zg,
+ Mpe,
+ Ix,
+ Ipe,
+ $x,
+ Vx,
+ zYe,
+ bf,
+ r6,
+ GYe,
+ U0,
+ Ope,
+ $Ye,
+ d0e,
+ VYe,
+ UYe,
+ ZP,
+ Ppe,
+ C6,
+ p0e,
+ JP,
+ oi,
+ Bpe,
+ tn,
+ HYe,
+ $c,
+ YYe,
+ Fpe,
+ WYe,
+ zpe,
+ Sa,
+ Af,
+ eB,
+ qYe,
+ Ul,
+ Tf,
+ XYe,
+ Vc,
+ jYe,
+ KYe,
+ c1,
+ B6,
+ m0e,
+ Ux,
+ QYe,
+ eb,
+ ZYe,
+ JYe,
+ eWe,
+ tWe,
+ rWe,
+ nWe,
+ iWe,
+ aWe,
+ sWe,
+ oWe,
+ lWe,
+ wP,
+ cWe,
+ uWe,
+ F6,
+ Gpe,
+ Jg,
+ hWe,
+ fWe,
+ dWe,
+ pWe,
+ mWe,
+ n6,
+ tB,
+ $pe,
+ H0,
+ B0,
+ gWe,
+ aa,
+ t1,
+ yWe,
+ Hx,
+ Gs,
+ vWe,
+ xWe,
+ bWe,
+ Vpe,
+ wWe,
+ p6,
+ m6,
+ g0e,
+ rB,
+ s1,
+ TWe,
+ Upe,
+ Hpe,
+ kWe,
+ EWe,
+ CWe,
+ SWe,
+ AWe,
+ _We,
+ zs,
+ Qu,
+ LWe,
+ S6,
+ A6,
+ DWe,
+ $0,
+ Ox,
+ TP,
+ kf,
+ Yx,
+ RWe,
+ i6,
+ ls,
+ Ype,
+ NP,
+ Y0,
+ Wpe,
+ nB,
+ NWe,
+ MP,
+ MWe,
+ IWe,
+ y0e,
+ r1,
+ v0e,
+ n1,
+ OWe,
+ IP,
+ PWe,
+ BWe,
+ FWe,
+ zWe,
+ qpe,
+ GWe,
+ $We,
+ VWe,
+ UWe,
+ HWe,
+ YWe,
+ WWe,
+ x0e,
+ qWe,
+ XWe,
+ Xpe,
+ b0e,
+ w0e,
+ jWe,
+ KWe,
+ Lx,
+ o1,
+ QWe,
+ iB,
+ _6,
+ kP,
+ jpe,
+ Kpe,
+ ZWe,
+ JWe,
+ eqe,
+ T0e,
+ k0e,
+ tqe,
+ rqe,
+ nqe,
+ iqe,
+ aqe,
+ E0e,
+ sqe,
+ oqe,
+ lqe,
+ cqe,
+ C0e,
+ a6,
+ uqe,
+ hqe,
+ S0e,
+ fqe,
+ dqe,
+ pqe,
+ mqe,
+ gqe,
+ yqe,
+ A0e,
+ vqe,
+ _0e,
+ xqe,
+ bqe,
+ wqe,
+ s6,
+ Tqe,
+ o6,
+ kqe,
+ Qpe,
+ Zpe,
+ Jpe,
+ eme,
+ Zu,
+ L0e,
+ tme,
+ D0e,
+ R0e,
+ Eqe,
+ u1,
+ OP,
+ W0,
+ Cqe,
+ Sqe,
+ G6,
+ Aqe,
+ _qe,
+ Dqe,
+ Rqe,
+ Nqe,
+ Mqe,
+ Iqe,
+ Pqe,
+ Bqe,
+ EP,
+ N0e,
+ zqe,
+ Gqe,
+ $qe,
+ Uqe,
+ Hqe,
+ Yqe,
+ Wqe,
+ qqe,
+ Xqe,
+ jqe,
+ Kqe,
+ Zqe,
+ eXe,
+ aB,
+ rXe,
+ Wx,
+ iXe,
+ sXe,
+ oXe,
+ lXe,
+ cXe,
+ hXe,
+ fXe,
+ dXe,
+ mXe,
+ gXe,
+ vXe,
+ M0e,
+ bXe,
+ rme,
+ $6,
+ kXe,
+ EXe,
+ SXe,
+ _Xe,
+ DXe,
+ NXe,
+ MXe,
+ IXe,
+ OXe,
+ BXe,
+ zXe,
+ V6,
+ VXe,
+ HXe,
+ WXe,
+ XXe,
+ nme,
+ jXe,
+ KXe,
+ QXe,
+ JXe,
+ eje,
+ tje,
+ rje,
+ ime,
+ ame,
+ ije,
+ I0e,
+ O0e,
+ aje,
+ ome,
+ lme,
+ lje,
+ oB,
+ hje,
+ dje,
+ pje,
+ P0e,
+ gje,
+ yje,
+ vje,
+ bje,
+ wje,
+ Tje,
+ Eje,
+ Sje,
+ _je,
+ Dje,
+ Nje,
+ Mje,
+ Ije,
+ en,
+ Oje,
+ g6,
+ Nr,
+ un,
+ Ct,
+ PP,
+ Pje,
+ Bje,
+ Fje,
+ qg,
+ wf,
+ BP,
+ zje,
+ Gje,
+ $je,
+ Vje,
+ Uje,
+ cme,
+ Hje,
+ Yje,
+ lB,
+ Wje,
+ li,
+ In,
+ qje,
+ Xje,
+ jje,
+ _f,
+ Lf,
+ Ef,
+ tl,
+ l1,
+ qx,
+ fme,
+ Qje,
+ U6,
+ Hl,
+ dme,
+ pme,
+ B0e,
+ Zje,
+ i1,
+ Rf,
+ el,
+ Vl,
+ F0,
+ Dx,
+ l6,
+ SP,
+ Jje,
+ eKe,
+ mme,
+ gme,
+ F0e,
+ Xx,
+ z0e,
+ G0e,
+ tKe,
+ Px,
+ tb,
+ yme,
+ rKe,
+ nKe,
+ iKe,
+ aKe,
+ sKe,
+ oKe,
+ lKe,
+ cKe,
+ uKe,
+ $0e,
+ hKe,
+ fKe,
+ dKe,
+ vme,
+ xme,
+ pKe,
+ bme,
+ V0e,
+ mKe,
+ Df,
+ wme,
+ U0e,
+ gKe,
+ yKe,
+ u6,
+ Tme,
+ kme,
+ Wr,
+ vKe,
+ Eme,
+ L6,
+ xKe,
+ bKe,
+ y6,
+ Ea,
+ p1,
+ wKe,
+ TKe,
+ kKe,
+ EKe,
+ Cf,
+ Fa,
+ Y0e,
+ W0e,
+ q0e,
+ Ca,
+ Dn,
+ CKe,
+ AKe,
+ Ln,
+ v6,
+ DKe,
+ RKe,
+ h6,
+ Sme,
+ FP,
+ x6,
+ NKe,
+ MKe,
+ zP,
+ b6,
+ Ga,
+ Fx,
+ IKe,
+ rb,
+ hB,
+ Uc,
+ q6,
+ fB,
+ ka,
+ X6,
+ Ba,
+ za,
+ OKe,
+ PKe,
+ q0,
+ jx,
+ Kx,
+ D6,
+ BKe,
+ FKe,
+ Kg,
+ epe,
+ zKe,
+ GKe,
+ _P,
+ $Ke,
+ VKe,
+ UKe,
+ HKe,
+ YKe,
+ WKe,
+ Dme,
+ qKe,
+ XKe,
+ jKe,
+ tpe,
+ KKe,
+ QKe,
+ R6,
+ ZKe,
+ JKe,
+ eQe,
+ tQe,
+ rQe,
+ nQe,
+ rpe,
+ iQe,
+ aQe,
+ sQe,
+ oQe,
+ lQe,
+ npe,
+ ipe,
+ pB,
+ j0,
+ N6,
+ GP,
+ $P,
+ Gc,
+ Jo,
+ ape,
+ spe,
+ G0,
+ w6,
+ ju,
+ O0,
+ z0,
+ zc,
+ Qg,
+ f6,
+ Ome,
+ Pme,
+ VP,
+ UP,
+ ope,
+ lpe,
+ cQe,
+ uQe,
+ $a,
+ nb,
+ gB,
+ Hc,
+ zme,
+ Gme,
+ fQe,
+ $me,
+ cpe,
+ upe,
+ K6,
+ Q6,
+ Vme,
+ Ume,
+ g1,
+ Ju,
+ ib,
+ hpe,
+ dQe,
+ Hme,
+ y1,
+ LP,
+ Yme,
+ pQe,
+ fpe,
+ d6,
+ T6,
+ HP,
+ mQe,
+ gQe,
+ yQe,
+ vQe,
+ xQe,
+ bQe,
+ wQe,
+ TQe,
+ kQe,
+ EQe,
+ CQe,
+ SQe,
+ AQe,
+ _Qe,
+ e1,
+ LQe,
+ Bx,
+ Yi,
+ DQe,
+ zx,
+ M6,
+ RQe,
+ NQe,
+ MQe,
+ IQe,
+ OQe,
+ PQe,
+ BQe,
+ FQe,
+ dpe,
+ zQe,
+ GQe,
+ Wme,
+ Aa,
+ ppe,
+ $Qe,
+ qme,
+ mpe,
+ Yc,
+ WQe,
+ qQe,
+ XQe,
+ jQe,
+ KQe,
+ DP,
+ eh,
+ Xme,
+ yB,
+ K0,
+ v1,
+ jme,
+ bo,
+ QQe,
+ Nf,
+ ype,
+ vpe,
+ YP,
+ WP,
+ Kme,
+ P0,
+ ab,
+ Zme,
+ JQe,
+ Yr,
+ eZe,
+ tZe,
+ rZe,
+ ege,
+ tge,
+ qP,
+ ige,
+ X0,
+ aZe,
+ rl,
+ vB = R(() => {
+ 'use strict';
+ o(Hi, '_typeof');
+ o(XP, '_classCallCheck');
+ o(s0e, '_defineProperties');
+ o(jP, '_createClass');
+ o(bpe, '_defineProperty$1');
+ o($l, '_slicedToArray');
+ o(_He, '_arrayWithHoles');
+ o(LHe, '_iterableToArrayLimit');
+ o(wpe, '_unsupportedIterableToArray');
+ o(o0e, '_arrayLikeToArray');
+ o(DHe, '_nonIterableRest');
+ o(Tpe, '_createForOfIteratorHelper');
+ (Vi = typeof window > 'u' ? null : window), (l0e = Vi ? Vi.navigator : null);
+ Vi && Vi.document;
+ (RHe = Hi('')),
+ (kpe = Hi({})),
+ (NHe = Hi(function () {})),
+ (MHe = typeof HTMLElement > 'u' ? 'undefined' : Hi(HTMLElement)),
+ (Qx = o(function (e) {
+ return e && e.instanceString && jn(e.instanceString) ? e.instanceString() : null;
+ }, 'instanceStr')),
+ (zt = o(function (e) {
+ return e != null && Hi(e) == RHe;
+ }, 'string')),
+ (jn = o(function (e) {
+ return e != null && Hi(e) === NHe;
+ }, 'fn')),
+ (vn = o(function (e) {
+ return !xo(e) && (Array.isArray ? Array.isArray(e) : e != null && e instanceof Array);
+ }, 'array')),
+ (Mr = o(function (e) {
+ return e != null && Hi(e) === kpe && !vn(e) && e.constructor === Object;
+ }, 'plainObject')),
+ (IHe = o(function (e) {
+ return e != null && Hi(e) === kpe;
+ }, 'object')),
+ (ft = o(function (e) {
+ return e != null && Hi(e) === Hi(1) && !isNaN(e);
+ }, 'number')),
+ (OHe = o(function (e) {
+ return ft(e) && Math.floor(e) === e;
+ }, 'integer')),
+ (k6 = o(function (e) {
+ if (MHe !== 'undefined') return e != null && e instanceof HTMLElement;
+ }, 'htmlElement')),
+ (xo = o(function (e) {
+ return Zx(e) || Epe(e);
+ }, 'elementOrCollection')),
+ (Zx = o(function (e) {
+ return Qx(e) === 'collection' && e._private.single;
+ }, 'element')),
+ (Epe = o(function (e) {
+ return Qx(e) === 'collection' && !e._private.single;
+ }, 'collection')),
+ (KP = o(function (e) {
+ return Qx(e) === 'core';
+ }, 'core')),
+ (Cpe = o(function (e) {
+ return Qx(e) === 'stylesheet';
+ }, 'stylesheet')),
+ (PHe = o(function (e) {
+ return Qx(e) === 'event';
+ }, 'event')),
+ (Sf = o(function (e) {
+ return e == null ? !0 : !!(e === '' || e.match(/^\s+$/));
+ }, 'emptyString')),
+ (BHe = o(function (e) {
+ return typeof HTMLElement > 'u' ? !1 : e instanceof HTMLElement;
+ }, 'domElement')),
+ (FHe = o(function (e) {
+ return Mr(e) && ft(e.x1) && ft(e.x2) && ft(e.y1) && ft(e.y2);
+ }, 'boundingBox')),
+ (zHe = o(function (e) {
+ return IHe(e) && jn(e.then);
+ }, 'promise')),
+ (GHe = o(function () {
+ return l0e && l0e.userAgent.match(/msie|trident|edge/i);
+ }, 'ms')),
+ (Gx = o(function (e, r) {
+ r ||
+ (r = o(function () {
+ if (arguments.length === 1) return arguments[0];
+ if (arguments.length === 0) return 'undefined';
+ for (var a = [], s = 0; s < arguments.length; s++) a.push(arguments[s]);
+ return a.join('$');
+ }, 'keyFn'));
+ var n = o(function i() {
+ var a = this,
+ s = arguments,
+ l,
+ u = r.apply(a, s),
+ h = i.cache;
+ return (l = h[u]) || (l = h[u] = e.apply(a, s)), l;
+ }, 'memoizedFn');
+ return (n.cache = {}), n;
+ }, 'memoize')),
+ (QP = Gx(function (t) {
+ return t.replace(/([A-Z])/g, function (e) {
+ return '-' + e.toLowerCase();
+ });
+ })),
+ (I6 = Gx(function (t) {
+ return t.replace(/(-\w)/g, function (e) {
+ return e[1].toUpperCase();
+ });
+ })),
+ (Spe = Gx(
+ function (t, e) {
+ return t + e[0].toUpperCase() + e.substring(1);
+ },
+ function (t, e) {
+ return t + '$' + e;
+ }
+ )),
+ (c0e = o(function (e) {
+ return Sf(e) ? e : e.charAt(0).toUpperCase() + e.substring(1);
+ }, 'capitalize')),
+ (Ui = '(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))'),
+ ($He =
+ 'rgb[a]?\\((' +
+ Ui +
+ '[%]?)\\s*,\\s*(' +
+ Ui +
+ '[%]?)\\s*,\\s*(' +
+ Ui +
+ '[%]?)(?:\\s*,\\s*(' +
+ Ui +
+ '))?\\)'),
+ (VHe =
+ 'rgb[a]?\\((?:' +
+ Ui +
+ '[%]?)\\s*,\\s*(?:' +
+ Ui +
+ '[%]?)\\s*,\\s*(?:' +
+ Ui +
+ '[%]?)(?:\\s*,\\s*(?:' +
+ Ui +
+ '))?\\)'),
+ (UHe =
+ 'hsl[a]?\\((' +
+ Ui +
+ ')\\s*,\\s*(' +
+ Ui +
+ '[%])\\s*,\\s*(' +
+ Ui +
+ '[%])(?:\\s*,\\s*(' +
+ Ui +
+ '))?\\)'),
+ (HHe =
+ 'hsl[a]?\\((?:' +
+ Ui +
+ ')\\s*,\\s*(?:' +
+ Ui +
+ '[%])\\s*,\\s*(?:' +
+ Ui +
+ '[%])(?:\\s*,\\s*(?:' +
+ Ui +
+ '))?\\)'),
+ (YHe = '\\#[0-9a-fA-F]{3}'),
+ (WHe = '\\#[0-9a-fA-F]{6}'),
+ (Ape = o(function (e, r) {
+ return e < r ? -1 : e > r ? 1 : 0;
+ }, 'ascending')),
+ (qHe = o(function (e, r) {
+ return -1 * Ape(e, r);
+ }, 'descending')),
+ (Wt =
+ Object.assign != null
+ ? Object.assign.bind(Object)
+ : function (t) {
+ for (var e = arguments, r = 1; r < e.length; r++) {
+ var n = e[r];
+ if (n != null)
+ for (var i = Object.keys(n), a = 0; a < i.length; a++) {
+ var s = i[a];
+ t[s] = n[s];
+ }
+ }
+ return t;
+ }),
+ (XHe = o(function (e) {
+ if (!(!(e.length === 4 || e.length === 7) || e[0] !== '#')) {
+ var r = e.length === 4,
+ n,
+ i,
+ a,
+ s = 16;
+ return (
+ r
+ ? ((n = parseInt(e[1] + e[1], s)),
+ (i = parseInt(e[2] + e[2], s)),
+ (a = parseInt(e[3] + e[3], s)))
+ : ((n = parseInt(e[1] + e[2], s)),
+ (i = parseInt(e[3] + e[4], s)),
+ (a = parseInt(e[5] + e[6], s))),
+ [n, i, a]
+ );
+ }
+ }, 'hex2tuple')),
+ (jHe = o(function (e) {
+ var r, n, i, a, s, l, u, h;
+ function f(g, y, v) {
+ return (
+ v < 0 && (v += 1),
+ v > 1 && (v -= 1),
+ v < 1 / 6
+ ? g + (y - g) * 6 * v
+ : v < 1 / 2
+ ? y
+ : v < 2 / 3
+ ? g + (y - g) * (2 / 3 - v) * 6
+ : g
+ );
+ }
+ o(f, 'hue2rgb');
+ var d = new RegExp('^' + UHe + '$').exec(e);
+ if (d) {
+ if (
+ ((n = parseInt(d[1])),
+ n < 0 ? (n = (360 - ((-1 * n) % 360)) % 360) : n > 360 && (n = n % 360),
+ (n /= 360),
+ (i = parseFloat(d[2])),
+ i < 0 ||
+ i > 100 ||
+ ((i = i / 100), (a = parseFloat(d[3])), a < 0 || a > 100) ||
+ ((a = a / 100), (s = d[4]), s !== void 0 && ((s = parseFloat(s)), s < 0 || s > 1)))
+ )
+ return;
+ if (i === 0) l = u = h = Math.round(a * 255);
+ else {
+ var p = a < 0.5 ? a * (1 + i) : a + i - a * i,
+ m = 2 * a - p;
+ (l = Math.round(255 * f(m, p, n + 1 / 3))),
+ (u = Math.round(255 * f(m, p, n))),
+ (h = Math.round(255 * f(m, p, n - 1 / 3)));
+ }
+ r = [l, u, h, s];
+ }
+ return r;
+ }, 'hsl2tuple')),
+ (KHe = o(function (e) {
+ var r,
+ n = new RegExp('^' + $He + '$').exec(e);
+ if (n) {
+ r = [];
+ for (var i = [], a = 1; a <= 3; a++) {
+ var s = n[a];
+ if (
+ (s[s.length - 1] === '%' && (i[a] = !0),
+ (s = parseFloat(s)),
+ i[a] && (s = (s / 100) * 255),
+ s < 0 || s > 255)
+ )
+ return;
+ r.push(Math.floor(s));
+ }
+ var l = i[1] || i[2] || i[3],
+ u = i[1] && i[2] && i[3];
+ if (l && !u) return;
+ var h = n[4];
+ if (h !== void 0) {
+ if (((h = parseFloat(h)), h < 0 || h > 1)) return;
+ r.push(h);
+ }
+ }
+ return r;
+ }, 'rgb2tuple')),
+ (QHe = o(function (e) {
+ return JHe[e.toLowerCase()];
+ }, 'colorname2tuple')),
+ (ZHe = o(function (e) {
+ return (vn(e) ? e : null) || QHe(e) || XHe(e) || KHe(e) || jHe(e);
+ }, 'color2tuple')),
+ (JHe = {
+ transparent: [0, 0, 0, 0],
+ aliceblue: [240, 248, 255],
+ antiquewhite: [250, 235, 215],
+ aqua: [0, 255, 255],
+ aquamarine: [127, 255, 212],
+ azure: [240, 255, 255],
+ beige: [245, 245, 220],
+ bisque: [255, 228, 196],
+ black: [0, 0, 0],
+ blanchedalmond: [255, 235, 205],
+ blue: [0, 0, 255],
+ blueviolet: [138, 43, 226],
+ brown: [165, 42, 42],
+ burlywood: [222, 184, 135],
+ cadetblue: [95, 158, 160],
+ chartreuse: [127, 255, 0],
+ chocolate: [210, 105, 30],
+ coral: [255, 127, 80],
+ cornflowerblue: [100, 149, 237],
+ cornsilk: [255, 248, 220],
+ crimson: [220, 20, 60],
+ cyan: [0, 255, 255],
+ darkblue: [0, 0, 139],
+ darkcyan: [0, 139, 139],
+ darkgoldenrod: [184, 134, 11],
+ darkgray: [169, 169, 169],
+ darkgreen: [0, 100, 0],
+ darkgrey: [169, 169, 169],
+ darkkhaki: [189, 183, 107],
+ darkmagenta: [139, 0, 139],
+ darkolivegreen: [85, 107, 47],
+ darkorange: [255, 140, 0],
+ darkorchid: [153, 50, 204],
+ darkred: [139, 0, 0],
+ darksalmon: [233, 150, 122],
+ darkseagreen: [143, 188, 143],
+ darkslateblue: [72, 61, 139],
+ darkslategray: [47, 79, 79],
+ darkslategrey: [47, 79, 79],
+ darkturquoise: [0, 206, 209],
+ darkviolet: [148, 0, 211],
+ deeppink: [255, 20, 147],
+ deepskyblue: [0, 191, 255],
+ dimgray: [105, 105, 105],
+ dimgrey: [105, 105, 105],
+ dodgerblue: [30, 144, 255],
+ firebrick: [178, 34, 34],
+ floralwhite: [255, 250, 240],
+ forestgreen: [34, 139, 34],
+ fuchsia: [255, 0, 255],
+ gainsboro: [220, 220, 220],
+ ghostwhite: [248, 248, 255],
+ gold: [255, 215, 0],
+ goldenrod: [218, 165, 32],
+ gray: [128, 128, 128],
+ grey: [128, 128, 128],
+ green: [0, 128, 0],
+ greenyellow: [173, 255, 47],
+ honeydew: [240, 255, 240],
+ hotpink: [255, 105, 180],
+ indianred: [205, 92, 92],
+ indigo: [75, 0, 130],
+ ivory: [255, 255, 240],
+ khaki: [240, 230, 140],
+ lavender: [230, 230, 250],
+ lavenderblush: [255, 240, 245],
+ lawngreen: [124, 252, 0],
+ lemonchiffon: [255, 250, 205],
+ lightblue: [173, 216, 230],
+ lightcoral: [240, 128, 128],
+ lightcyan: [224, 255, 255],
+ lightgoldenrodyellow: [250, 250, 210],
+ lightgray: [211, 211, 211],
+ lightgreen: [144, 238, 144],
+ lightgrey: [211, 211, 211],
+ lightpink: [255, 182, 193],
+ lightsalmon: [255, 160, 122],
+ lightseagreen: [32, 178, 170],
+ lightskyblue: [135, 206, 250],
+ lightslategray: [119, 136, 153],
+ lightslategrey: [119, 136, 153],
+ lightsteelblue: [176, 196, 222],
+ lightyellow: [255, 255, 224],
+ lime: [0, 255, 0],
+ limegreen: [50, 205, 50],
+ linen: [250, 240, 230],
+ magenta: [255, 0, 255],
+ maroon: [128, 0, 0],
+ mediumaquamarine: [102, 205, 170],
+ mediumblue: [0, 0, 205],
+ mediumorchid: [186, 85, 211],
+ mediumpurple: [147, 112, 219],
+ mediumseagreen: [60, 179, 113],
+ mediumslateblue: [123, 104, 238],
+ mediumspringgreen: [0, 250, 154],
+ mediumturquoise: [72, 209, 204],
+ mediumvioletred: [199, 21, 133],
+ midnightblue: [25, 25, 112],
+ mintcream: [245, 255, 250],
+ mistyrose: [255, 228, 225],
+ moccasin: [255, 228, 181],
+ navajowhite: [255, 222, 173],
+ navy: [0, 0, 128],
+ oldlace: [253, 245, 230],
+ olive: [128, 128, 0],
+ olivedrab: [107, 142, 35],
+ orange: [255, 165, 0],
+ orangered: [255, 69, 0],
+ orchid: [218, 112, 214],
+ palegoldenrod: [238, 232, 170],
+ palegreen: [152, 251, 152],
+ paleturquoise: [175, 238, 238],
+ palevioletred: [219, 112, 147],
+ papayawhip: [255, 239, 213],
+ peachpuff: [255, 218, 185],
+ peru: [205, 133, 63],
+ pink: [255, 192, 203],
+ plum: [221, 160, 221],
+ powderblue: [176, 224, 230],
+ purple: [128, 0, 128],
+ red: [255, 0, 0],
+ rosybrown: [188, 143, 143],
+ royalblue: [65, 105, 225],
+ saddlebrown: [139, 69, 19],
+ salmon: [250, 128, 114],
+ sandybrown: [244, 164, 96],
+ seagreen: [46, 139, 87],
+ seashell: [255, 245, 238],
+ sienna: [160, 82, 45],
+ silver: [192, 192, 192],
+ skyblue: [135, 206, 235],
+ slateblue: [106, 90, 205],
+ slategray: [112, 128, 144],
+ slategrey: [112, 128, 144],
+ snow: [255, 250, 250],
+ springgreen: [0, 255, 127],
+ steelblue: [70, 130, 180],
+ tan: [210, 180, 140],
+ teal: [0, 128, 128],
+ thistle: [216, 191, 216],
+ tomato: [255, 99, 71],
+ turquoise: [64, 224, 208],
+ violet: [238, 130, 238],
+ wheat: [245, 222, 179],
+ white: [255, 255, 255],
+ whitesmoke: [245, 245, 245],
+ yellow: [255, 255, 0],
+ yellowgreen: [154, 205, 50]
+ }),
+ (_pe = o(function (e) {
+ for (var r = e.map, n = e.keys, i = n.length, a = 0; a < i; a++) {
+ var s = n[a];
+ if (Mr(s)) throw Error('Tried to set map with object key');
+ a < n.length - 1 ? (r[s] == null && (r[s] = {}), (r = r[s])) : (r[s] = e.value);
+ }
+ }, 'setMap')),
+ (Lpe = o(function (e) {
+ for (var r = e.map, n = e.keys, i = n.length, a = 0; a < i; a++) {
+ var s = n[a];
+ if (Mr(s)) throw Error('Tried to get map with object key');
+ if (((r = r[s]), r == null)) return r;
+ }
+ return r;
+ }, 'getMap'));
+ o(eYe, 'isObject');
+ (V0 = eYe),
+ (Mx =
+ typeof globalThis < 'u'
+ ? globalThis
+ : typeof window < 'u'
+ ? window
+ : typeof global < 'u'
+ ? global
+ : typeof self < 'u'
+ ? self
+ : {});
+ o(tYe, 'createCommonjsModule');
+ (rYe = typeof Mx == 'object' && Mx && Mx.Object === Object && Mx),
+ (nYe = rYe),
+ (iYe = typeof self == 'object' && self && self.Object === Object && self),
+ (aYe = nYe || iYe || Function('return this')()),
+ (O6 = aYe),
+ (sYe = o(function () {
+ return O6.Date.now();
+ }, 'now')),
+ (xP = sYe),
+ (oYe = /\s/);
+ o(lYe, 'trimmedEndIndex');
+ (cYe = lYe), (uYe = /^\s+/);
+ o(hYe, 'baseTrim');
+ (fYe = hYe),
+ (dYe = O6.Symbol),
+ (a1 = dYe),
+ (Dpe = Object.prototype),
+ (pYe = Dpe.hasOwnProperty),
+ (mYe = Dpe.toString),
+ (_x = a1 ? a1.toStringTag : void 0);
+ o(gYe, 'getRawTag');
+ (yYe = gYe), (vYe = Object.prototype), (xYe = vYe.toString);
+ o(bYe, 'objectToString');
+ (wYe = bYe), (TYe = '[object Null]'), (kYe = '[object Undefined]'), (u0e = a1 ? a1.toStringTag : void 0);
+ o(EYe, 'baseGetTag');
+ Rpe = EYe;
+ o(CYe, 'isObjectLike');
+ (SYe = CYe), (AYe = '[object Symbol]');
+ o(_Ye, 'isSymbol');
+ (Jx = _Ye),
+ (h0e = NaN),
+ (LYe = /^[-+]0x[0-9a-f]+$/i),
+ (DYe = /^0b[01]+$/i),
+ (RYe = /^0o[0-7]+$/i),
+ (NYe = parseInt);
+ o(MYe, 'toNumber');
+ (f0e = MYe), (IYe = 'Expected a function'), (OYe = Math.max), (PYe = Math.min);
+ o(BYe, 'debounce');
+ (P6 = BYe),
+ (bP = Vi ? Vi.performance : null),
+ (Npe =
+ bP && bP.now
+ ? function () {
+ return bP.now();
+ }
+ : function () {
+ return Date.now();
+ }),
+ (FYe = (function () {
+ if (Vi) {
+ if (Vi.requestAnimationFrame)
+ return function (t) {
+ Vi.requestAnimationFrame(t);
+ };
+ if (Vi.mozRequestAnimationFrame)
+ return function (t) {
+ Vi.mozRequestAnimationFrame(t);
+ };
+ if (Vi.webkitRequestAnimationFrame)
+ return function (t) {
+ Vi.webkitRequestAnimationFrame(t);
+ };
+ if (Vi.msRequestAnimationFrame)
+ return function (t) {
+ Vi.msRequestAnimationFrame(t);
+ };
+ }
+ return function (t) {
+ t &&
+ setTimeout(function () {
+ t(Npe());
+ }, 1e3 / 60);
+ };
+ })()),
+ (E6 = o(function (e) {
+ return FYe(e);
+ }, 'requestAnimationFrame')),
+ (Ku = Npe),
+ (Zg = 9261),
+ (Mpe = 65599),
+ (Ix = 5381),
+ (Ipe = o(function (e) {
+ for (
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Zg, n = r, i;
+ (i = e.next()), !i.done;
+
+ )
+ n = (n * Mpe + i.value) | 0;
+ return n;
+ }, 'hashIterableInts')),
+ ($x = o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Zg;
+ return (r * Mpe + e) | 0;
+ }, 'hashInt')),
+ (Vx = o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ix;
+ return ((r << 5) + r + e) | 0;
+ }, 'hashIntAlt')),
+ (zYe = o(function (e, r) {
+ return e * 2097152 + r;
+ }, 'combineHashes')),
+ (bf = o(function (e) {
+ return e[0] * 2097152 + e[1];
+ }, 'combineHashesArray')),
+ (r6 = o(function (e, r) {
+ return [$x(e[0], r[0]), Vx(e[1], r[1])];
+ }, 'hashArrays')),
+ (GYe = o(function (e, r) {
+ var n = { value: 0, done: !1 },
+ i = 0,
+ a = e.length,
+ s = {
+ next: o(function () {
+ return i < a ? (n.value = e[i++]) : (n.done = !0), n;
+ }, 'next')
+ };
+ return Ipe(s, r);
+ }, 'hashIntsArray')),
+ (U0 = o(function (e, r) {
+ var n = { value: 0, done: !1 },
+ i = 0,
+ a = e.length,
+ s = {
+ next: o(function () {
+ return i < a ? (n.value = e.charCodeAt(i++)) : (n.done = !0), n;
+ }, 'next')
+ };
+ return Ipe(s, r);
+ }, 'hashString')),
+ (Ope = o(function () {
+ return $Ye(arguments);
+ }, 'hashStrings')),
+ ($Ye = o(function (e) {
+ for (var r, n = 0; n < e.length; n++) {
+ var i = e[n];
+ n === 0 ? (r = U0(i)) : (r = U0(i, r));
+ }
+ return r;
+ }, 'hashStringsArray')),
+ (d0e = !0),
+ (VYe = console.warn != null),
+ (UYe = console.trace != null),
+ (ZP = Number.MAX_SAFE_INTEGER || 9007199254740991),
+ (Ppe = o(function () {
+ return !0;
+ }, 'trueify')),
+ (C6 = o(function () {
+ return !1;
+ }, 'falsify')),
+ (p0e = o(function () {
+ return 0;
+ }, 'zeroify')),
+ (JP = o(function () {}, 'noop')),
+ (oi = o(function (e) {
+ throw new Error(e);
+ }, 'error')),
+ (Bpe = o(function (e) {
+ if (e !== void 0) d0e = !!e;
+ else return d0e;
+ }, 'warnings')),
+ (tn = o(function (e) {
+ Bpe() && (VYe ? console.warn(e) : (console.log(e), UYe && console.trace()));
+ }, 'warn')),
+ (HYe = o(function (e) {
+ return Wt({}, e);
+ }, 'clone')),
+ ($c = o(function (e) {
+ return e == null ? e : vn(e) ? e.slice() : Mr(e) ? HYe(e) : e;
+ }, 'copy')),
+ (YYe = o(function (e) {
+ return e.slice();
+ }, 'copyArray')),
+ (Fpe = o(function (e, r) {
+ for (
+ r = e = '';
+ e++ < 36;
+ r += (e * 51) & 52 ? (e ^ 15 ? 8 ^ (Math.random() * (e ^ 20 ? 16 : 4)) : 4).toString(16) : '-'
+ );
+ return r;
+ }, 'uuid')),
+ (WYe = {}),
+ (zpe = o(function () {
+ return WYe;
+ }, 'staticEmptyObject')),
+ (Sa = o(function (e) {
+ var r = Object.keys(e);
+ return function (n) {
+ for (var i = {}, a = 0; a < r.length; a++) {
+ var s = r[a],
+ l = n?.[s];
+ i[s] = l === void 0 ? e[s] : l;
+ }
+ return i;
+ };
+ }, 'defaults')),
+ (Af = o(function (e, r, n) {
+ for (var i = e.length - 1; i >= 0 && !(e[i] === r && (e.splice(i, 1), n)); i--);
+ }, 'removeFromArray')),
+ (eB = o(function (e) {
+ e.splice(0, e.length);
+ }, 'clearArray')),
+ (qYe = o(function (e, r) {
+ for (var n = 0; n < r.length; n++) {
+ var i = r[n];
+ e.push(i);
+ }
+ }, 'push')),
+ (Ul = o(function (e, r, n) {
+ return n && (r = Spe(n, r)), e[r];
+ }, 'getPrefixedProperty')),
+ (Tf = o(function (e, r, n, i) {
+ n && (r = Spe(n, r)), (e[r] = i);
+ }, 'setPrefixedProperty')),
+ (XYe = (function () {
+ function t() {
+ XP(this, t), (this._obj = {});
+ }
+ return (
+ o(t, 'ObjectMap'),
+ jP(t, [
+ {
+ key: 'set',
+ value: o(function (r, n) {
+ return (this._obj[r] = n), this;
+ }, 'set')
+ },
+ {
+ key: 'delete',
+ value: o(function (r) {
+ return (this._obj[r] = void 0), this;
+ }, '_delete')
+ },
+ {
+ key: 'clear',
+ value: o(function () {
+ this._obj = {};
+ }, 'clear')
+ },
+ {
+ key: 'has',
+ value: o(function (r) {
+ return this._obj[r] !== void 0;
+ }, 'has')
+ },
+ {
+ key: 'get',
+ value: o(function (r) {
+ return this._obj[r];
+ }, 'get')
+ }
+ ]),
+ t
+ );
+ })()),
+ (Vc = typeof Map < 'u' ? Map : XYe),
+ (jYe = 'undefined'),
+ (KYe = (function () {
+ function t(e) {
+ if ((XP(this, t), (this._obj = Object.create(null)), (this.size = 0), e != null)) {
+ var r;
+ e.instanceString != null && e.instanceString() === this.instanceString()
+ ? (r = e.toArray())
+ : (r = e);
+ for (var n = 0; n < r.length; n++) this.add(r[n]);
+ }
+ }
+ return (
+ o(t, 'ObjectSet'),
+ jP(t, [
+ {
+ key: 'instanceString',
+ value: o(function () {
+ return 'set';
+ }, 'instanceString')
+ },
+ {
+ key: 'add',
+ value: o(function (r) {
+ var n = this._obj;
+ n[r] !== 1 && ((n[r] = 1), this.size++);
+ }, 'add')
+ },
+ {
+ key: 'delete',
+ value: o(function (r) {
+ var n = this._obj;
+ n[r] === 1 && ((n[r] = 0), this.size--);
+ }, '_delete')
+ },
+ {
+ key: 'clear',
+ value: o(function () {
+ this._obj = Object.create(null);
+ }, 'clear')
+ },
+ {
+ key: 'has',
+ value: o(function (r) {
+ return this._obj[r] === 1;
+ }, 'has')
+ },
+ {
+ key: 'toArray',
+ value: o(function () {
+ var r = this;
+ return Object.keys(this._obj).filter(function (n) {
+ return r.has(n);
+ });
+ }, 'toArray')
+ },
+ {
+ key: 'forEach',
+ value: o(function (r, n) {
+ return this.toArray().forEach(r, n);
+ }, 'forEach')
+ }
+ ]),
+ t
+ );
+ })()),
+ (c1 = (typeof Set > 'u' ? 'undefined' : Hi(Set)) !== jYe ? Set : KYe),
+ (B6 = o(function (e, r) {
+ var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
+ if (e === void 0 || r === void 0 || !KP(e)) {
+ oi('An element must have a core reference and parameters set');
+ return;
+ }
+ var i = r.group;
+ if (
+ (i == null &&
+ (r.data && r.data.source != null && r.data.target != null ? (i = 'edges') : (i = 'nodes')),
+ i !== 'nodes' && i !== 'edges')
+ ) {
+ oi('An element must be of type `nodes` or `edges`; you specified `' + i + '`');
+ return;
+ }
+ (this.length = 1), (this[0] = this);
+ var a = (this._private = {
+ cy: e,
+ single: !0,
+ data: r.data || {},
+ position: r.position || { x: 0, y: 0 },
+ autoWidth: void 0,
+ autoHeight: void 0,
+ autoPadding: void 0,
+ compoundBoundsClean: !1,
+ listeners: [],
+ group: i,
+ style: {},
+ rstyle: {},
+ styleCxts: [],
+ styleKeys: {},
+ removed: !0,
+ selected: !!r.selected,
+ selectable: r.selectable === void 0 ? !0 : !!r.selectable,
+ locked: !!r.locked,
+ grabbed: !1,
+ grabbable: r.grabbable === void 0 ? !0 : !!r.grabbable,
+ pannable: r.pannable === void 0 ? i === 'edges' : !!r.pannable,
+ active: !1,
+ classes: new c1(),
+ animation: { current: [], queue: [] },
+ rscratch: {},
+ scratch: r.scratch || {},
+ edges: [],
+ children: [],
+ parent: r.parent && r.parent.isNode() ? r.parent : null,
+ traversalCache: {},
+ backgrounding: !1,
+ bbCache: null,
+ bbCacheShift: { x: 0, y: 0 },
+ bodyBounds: null,
+ overlayBounds: null,
+ labelBounds: { all: null, source: null, target: null, main: null },
+ arrowBounds: {
+ source: null,
+ target: null,
+ 'mid-source': null,
+ 'mid-target': null
+ }
+ });
+ if (
+ (a.position.x == null && (a.position.x = 0),
+ a.position.y == null && (a.position.y = 0),
+ r.renderedPosition)
+ ) {
+ var s = r.renderedPosition,
+ l = e.pan(),
+ u = e.zoom();
+ a.position = { x: (s.x - l.x) / u, y: (s.y - l.y) / u };
+ }
+ var h = [];
+ vn(r.classes) ? (h = r.classes) : zt(r.classes) && (h = r.classes.split(/\s+/));
+ for (var f = 0, d = h.length; f < d; f++) {
+ var p = h[f];
+ !p || p === '' || a.classes.add(p);
+ }
+ this.createEmitter();
+ var m = r.style || r.css;
+ m &&
+ (tn(
+ 'Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead.'
+ ),
+ this.style(m)),
+ (n === void 0 || n) && this.restore();
+ }, 'Element')),
+ (m0e = o(function (e) {
+ return (
+ (e = { bfs: e.bfs || !e.dfs, dfs: e.dfs || !e.bfs }),
+ o(function (n, i, a) {
+ var s;
+ Mr(n) && !xo(n) && ((s = n), (n = s.roots || s.root), (i = s.visit), (a = s.directed)),
+ (a = arguments.length === 2 && !jn(i) ? i : a),
+ (i = jn(i) ? i : function () {});
+ for (
+ var l = this._private.cy,
+ u = (n = zt(n) ? this.filter(n) : n),
+ h = [],
+ f = [],
+ d = {},
+ p = {},
+ m = {},
+ g = 0,
+ y,
+ v = this.byGroup(),
+ x = v.nodes,
+ b = v.edges,
+ w = 0;
+ w < u.length;
+ w++
+ ) {
+ var S = u[w],
+ T = S.id();
+ S.isNode() && (h.unshift(S), e.bfs && ((m[T] = !0), f.push(S)), (p[T] = 0));
+ }
+ for (
+ var E = o(function () {
+ var I = e.bfs ? h.shift() : h.pop(),
+ C = I.id();
+ if (e.dfs) {
+ if (m[C]) return 'continue';
+ (m[C] = !0), f.push(I);
+ }
+ var O = p[C],
+ D = d[C],
+ P = D != null ? D.source() : null,
+ F = D != null ? D.target() : null,
+ B = D == null ? void 0 : I.same(P) ? F[0] : P[0],
+ $ = void 0;
+ if ((($ = i(I, D, B, g++, O)), $ === !0)) return (y = I), 'break';
+ if ($ === !1) return 'break';
+ for (
+ var z = I.connectedEdges().filter(function (j) {
+ return (!a || j.source().same(I)) && b.has(j);
+ }),
+ Y = 0;
+ Y < z.length;
+ Y++
+ ) {
+ var Q = z[Y],
+ X = Q.connectedNodes().filter(function (j) {
+ return !j.same(I) && x.has(j);
+ }),
+ ie = X.id();
+ X.length !== 0 &&
+ !m[ie] &&
+ ((X = X[0]),
+ h.push(X),
+ e.bfs && ((m[ie] = !0), f.push(X)),
+ (d[ie] = Q),
+ (p[ie] = p[C] + 1));
+ }
+ }, '_loop');
+ h.length !== 0;
+
+ ) {
+ var _ = E();
+ if (_ !== 'continue' && _ === 'break') break;
+ }
+ for (var A = l.collection(), L = 0; L < f.length; L++) {
+ var M = f[L],
+ N = d[M.id()];
+ N != null && A.push(N), A.push(M);
+ }
+ return { path: l.collection(A), found: l.collection(y) };
+ }, 'searchFn')
+ );
+ }, 'defineSearch')),
+ (Ux = {
+ breadthFirstSearch: m0e({ bfs: !0 }),
+ depthFirstSearch: m0e({ dfs: !0 })
+ });
+ Ux.bfs = Ux.breadthFirstSearch;
+ Ux.dfs = Ux.depthFirstSearch;
+ (QYe = tYe(function (t, e) {
+ (function () {
+ var r, n, i, a, s, l, u, h, f, d, p, m, g, y, v;
+ (i = Math.floor),
+ (d = Math.min),
+ (n = o(function (x, b) {
+ return x < b ? -1 : x > b ? 1 : 0;
+ }, 'defaultCmp')),
+ (f = o(function (x, b, w, S, T) {
+ var E;
+ if ((w == null && (w = 0), T == null && (T = n), w < 0))
+ throw new Error('lo must be non-negative');
+ for (S == null && (S = x.length); w < S; )
+ (E = i((w + S) / 2)), T(b, x[E]) < 0 ? (S = E) : (w = E + 1);
+ return [].splice.apply(x, [w, w - w].concat(b)), b;
+ }, 'insort')),
+ (l = o(function (x, b, w) {
+ return w == null && (w = n), x.push(b), y(x, 0, x.length - 1, w);
+ }, 'heappush')),
+ (s = o(function (x, b) {
+ var w, S;
+ return (
+ b == null && (b = n),
+ (w = x.pop()),
+ x.length ? ((S = x[0]), (x[0] = w), v(x, 0, b)) : (S = w),
+ S
+ );
+ }, 'heappop')),
+ (h = o(function (x, b, w) {
+ var S;
+ return w == null && (w = n), (S = x[0]), (x[0] = b), v(x, 0, w), S;
+ }, 'heapreplace')),
+ (u = o(function (x, b, w) {
+ var S;
+ return (
+ w == null && (w = n),
+ x.length && w(x[0], b) < 0 && ((S = [x[0], b]), (b = S[0]), (x[0] = S[1]), v(x, 0, w)),
+ b
+ );
+ }, 'heappushpop')),
+ (a = o(function (x, b) {
+ var w, S, T, E, _, A;
+ for (
+ b == null && (b = n),
+ E = function () {
+ A = [];
+ for (var L = 0, M = i(x.length / 2); 0 <= M ? L < M : L > M; 0 <= M ? L++ : L--)
+ A.push(L);
+ return A;
+ }
+ .apply(this)
+ .reverse(),
+ _ = [],
+ S = 0,
+ T = E.length;
+ S < T;
+ S++
+ )
+ (w = E[S]), _.push(v(x, w, b));
+ return _;
+ }, 'heapify')),
+ (g = o(function (x, b, w) {
+ var S;
+ if ((w == null && (w = n), (S = x.indexOf(b)), S !== -1)) return y(x, 0, S, w), v(x, S, w);
+ }, 'updateItem')),
+ (p = o(function (x, b, w) {
+ var S, T, E, _, A;
+ if ((w == null && (w = n), (T = x.slice(0, b)), !T.length)) return T;
+ for (a(T, w), A = x.slice(b), E = 0, _ = A.length; E < _; E++) (S = A[E]), u(T, S, w);
+ return T.sort(w).reverse();
+ }, 'nlargest')),
+ (m = o(function (x, b, w) {
+ var S, T, E, _, A, L, M, N, k;
+ if ((w == null && (w = n), b * 10 <= x.length)) {
+ if (((E = x.slice(0, b).sort(w)), !E.length)) return E;
+ for (T = E[E.length - 1], M = x.slice(b), _ = 0, L = M.length; _ < L; _++)
+ (S = M[_]), w(S, T) < 0 && (f(E, S, 0, null, w), E.pop(), (T = E[E.length - 1]));
+ return E;
+ }
+ for (a(x, w), k = [], A = 0, N = d(b, x.length); 0 <= N ? A < N : A > N; 0 <= N ? ++A : --A)
+ k.push(s(x, w));
+ return k;
+ }, 'nsmallest')),
+ (y = o(function (x, b, w, S) {
+ var T, E, _;
+ for (S == null && (S = n), T = x[w]; w > b; ) {
+ if (((_ = (w - 1) >> 1), (E = x[_]), S(T, E) < 0)) {
+ (x[w] = E), (w = _);
+ continue;
+ }
+ break;
+ }
+ return (x[w] = T);
+ }, '_siftdown')),
+ (v = o(function (x, b, w) {
+ var S, T, E, _, A;
+ for (w == null && (w = n), T = x.length, A = b, E = x[b], S = 2 * b + 1; S < T; )
+ (_ = S + 1),
+ _ < T && !(w(x[S], x[_]) < 0) && (S = _),
+ (x[b] = x[S]),
+ (b = S),
+ (S = 2 * b + 1);
+ return (x[b] = E), y(x, A, b, w);
+ }, '_siftup')),
+ (r = (function () {
+ (x.push = l),
+ (x.pop = s),
+ (x.replace = h),
+ (x.pushpop = u),
+ (x.heapify = a),
+ (x.updateItem = g),
+ (x.nlargest = p),
+ (x.nsmallest = m);
+ function x(b) {
+ (this.cmp = b ?? n), (this.nodes = []);
+ }
+ return (
+ o(x, 'Heap'),
+ (x.prototype.push = function (b) {
+ return l(this.nodes, b, this.cmp);
+ }),
+ (x.prototype.pop = function () {
+ return s(this.nodes, this.cmp);
+ }),
+ (x.prototype.peek = function () {
+ return this.nodes[0];
+ }),
+ (x.prototype.contains = function (b) {
+ return this.nodes.indexOf(b) !== -1;
+ }),
+ (x.prototype.replace = function (b) {
+ return h(this.nodes, b, this.cmp);
+ }),
+ (x.prototype.pushpop = function (b) {
+ return u(this.nodes, b, this.cmp);
+ }),
+ (x.prototype.heapify = function () {
+ return a(this.nodes, this.cmp);
+ }),
+ (x.prototype.updateItem = function (b) {
+ return g(this.nodes, b, this.cmp);
+ }),
+ (x.prototype.clear = function () {
+ return (this.nodes = []);
+ }),
+ (x.prototype.empty = function () {
+ return this.nodes.length === 0;
+ }),
+ (x.prototype.size = function () {
+ return this.nodes.length;
+ }),
+ (x.prototype.clone = function () {
+ var b;
+ return (b = new x()), (b.nodes = this.nodes.slice(0)), b;
+ }),
+ (x.prototype.toArray = function () {
+ return this.nodes.slice(0);
+ }),
+ (x.prototype.insert = x.prototype.push),
+ (x.prototype.top = x.prototype.peek),
+ (x.prototype.front = x.prototype.peek),
+ (x.prototype.has = x.prototype.contains),
+ (x.prototype.copy = x.prototype.clone),
+ x
+ );
+ })()),
+ (function (x, b) {
+ return (t.exports = b());
+ })(this, function () {
+ return r;
+ });
+ }).call(Mx);
+ })),
+ (eb = QYe),
+ (ZYe = Sa({
+ root: null,
+ weight: o(function (e) {
+ return 1;
+ }, 'weight'),
+ directed: !1
+ })),
+ (JYe = {
+ dijkstra: o(function (e) {
+ if (!Mr(e)) {
+ var r = arguments;
+ e = { root: r[0], weight: r[1], directed: r[2] };
+ }
+ var n = ZYe(e),
+ i = n.root,
+ a = n.weight,
+ s = n.directed,
+ l = this,
+ u = a,
+ h = zt(i) ? this.filter(i)[0] : i[0],
+ f = {},
+ d = {},
+ p = {},
+ m = this.byGroup(),
+ g = m.nodes,
+ y = m.edges;
+ y.unmergeBy(function (O) {
+ return O.isLoop();
+ });
+ for (
+ var v = o(function (D) {
+ return f[D.id()];
+ }, 'getDist'),
+ x = o(function (D, P) {
+ (f[D.id()] = P), b.updateItem(D);
+ }, 'setDist'),
+ b = new eb(function (O, D) {
+ return v(O) - v(D);
+ }),
+ w = 0;
+ w < g.length;
+ w++
+ ) {
+ var S = g[w];
+ (f[S.id()] = S.same(h) ? 0 : 1 / 0), b.push(S);
+ }
+ for (
+ var T = o(function (D, P) {
+ for (
+ var F = (s ? D.edgesTo(P) : D.edgesWith(P)).intersect(y), B = 1 / 0, $, z = 0;
+ z < F.length;
+ z++
+ ) {
+ var Y = F[z],
+ Q = u(Y);
+ (Q < B || !$) && ((B = Q), ($ = Y));
+ }
+ return { edge: $, dist: B };
+ }, 'distBetween');
+ b.size() > 0;
+
+ ) {
+ var E = b.pop(),
+ _ = v(E),
+ A = E.id();
+ if (((p[A] = _), _ !== 1 / 0))
+ for (var L = E.neighborhood().intersect(g), M = 0; M < L.length; M++) {
+ var N = L[M],
+ k = N.id(),
+ I = T(E, N),
+ C = _ + I.dist;
+ C < v(N) && (x(N, C), (d[k] = { node: E, edge: I.edge }));
+ }
+ }
+ return {
+ distanceTo: o(function (D) {
+ var P = zt(D) ? g.filter(D)[0] : D[0];
+ return p[P.id()];
+ }, 'distanceTo'),
+ pathTo: o(function (D) {
+ var P = zt(D) ? g.filter(D)[0] : D[0],
+ F = [],
+ B = P,
+ $ = B.id();
+ if (P.length > 0)
+ for (F.unshift(P); d[$]; ) {
+ var z = d[$];
+ F.unshift(z.edge), F.unshift(z.node), (B = z.node), ($ = B.id());
+ }
+ return l.spawn(F);
+ }, 'pathTo')
+ };
+ }, 'dijkstra')
+ }),
+ (eWe = {
+ kruskal: o(function (e) {
+ e =
+ e ||
+ function (w) {
+ return 1;
+ };
+ for (
+ var r = this.byGroup(),
+ n = r.nodes,
+ i = r.edges,
+ a = n.length,
+ s = new Array(a),
+ l = n,
+ u = o(function (S) {
+ for (var T = 0; T < s.length; T++) {
+ var E = s[T];
+ if (E.has(S)) return T;
+ }
+ }, 'findSetIndex'),
+ h = 0;
+ h < a;
+ h++
+ )
+ s[h] = this.spawn(n[h]);
+ for (
+ var f = i.sort(function (w, S) {
+ return e(w) - e(S);
+ }),
+ d = 0;
+ d < f.length;
+ d++
+ ) {
+ var p = f[d],
+ m = p.source()[0],
+ g = p.target()[0],
+ y = u(m),
+ v = u(g),
+ x = s[y],
+ b = s[v];
+ y !== v && (l.merge(p), x.merge(b), s.splice(v, 1));
+ }
+ return l;
+ }, 'kruskal')
+ }),
+ (tWe = Sa({
+ root: null,
+ goal: null,
+ weight: o(function (e) {
+ return 1;
+ }, 'weight'),
+ heuristic: o(function (e) {
+ return 0;
+ }, 'heuristic'),
+ directed: !1
+ })),
+ (rWe = {
+ aStar: o(function (e) {
+ var r = this.cy(),
+ n = tWe(e),
+ i = n.root,
+ a = n.goal,
+ s = n.heuristic,
+ l = n.directed,
+ u = n.weight;
+ (i = r.collection(i)[0]), (a = r.collection(a)[0]);
+ var h = i.id(),
+ f = a.id(),
+ d = {},
+ p = {},
+ m = {},
+ g = new eb(function ($, z) {
+ return p[$.id()] - p[z.id()];
+ }),
+ y = new c1(),
+ v = {},
+ x = {},
+ b = o(function (z, Y) {
+ g.push(z), y.add(Y);
+ }, 'addToOpenSet'),
+ w,
+ S,
+ T = o(function () {
+ (w = g.pop()), (S = w.id()), y.delete(S);
+ }, 'popFromOpenSet'),
+ E = o(function (z) {
+ return y.has(z);
+ }, 'isInOpenSet');
+ b(i, h), (d[h] = 0), (p[h] = s(i));
+ for (var _ = 0; g.size() > 0; ) {
+ if ((T(), _++, S === f)) {
+ for (
+ var A = [], L = a, M = f, N = x[M];
+ A.unshift(L), N != null && A.unshift(N), (L = v[M]), L != null;
+
+ )
+ (M = L.id()), (N = x[M]);
+ return {
+ found: !0,
+ distance: d[S],
+ path: this.spawn(A),
+ steps: _
+ };
+ }
+ m[S] = !0;
+ for (var k = w._private.edges, I = 0; I < k.length; I++) {
+ var C = k[I];
+ if (this.hasElementWithId(C.id()) && !(l && C.data('source') !== S)) {
+ var O = C.source(),
+ D = C.target(),
+ P = O.id() !== S ? O : D,
+ F = P.id();
+ if (this.hasElementWithId(F) && !m[F]) {
+ var B = d[S] + u(C);
+ if (!E(F)) {
+ (d[F] = B), (p[F] = B + s(P)), b(P, F), (v[F] = w), (x[F] = C);
+ continue;
+ }
+ B < d[F] && ((d[F] = B), (p[F] = B + s(P)), (v[F] = w), (x[F] = C));
+ }
+ }
+ }
+ }
+ return { found: !1, distance: void 0, path: void 0, steps: _ };
+ }, 'aStar')
+ }),
+ (nWe = Sa({
+ weight: o(function (e) {
+ return 1;
+ }, 'weight'),
+ directed: !1
+ })),
+ (iWe = {
+ floydWarshall: o(function (e) {
+ for (
+ var r = this.cy(),
+ n = nWe(e),
+ i = n.weight,
+ a = n.directed,
+ s = i,
+ l = this.byGroup(),
+ u = l.nodes,
+ h = l.edges,
+ f = u.length,
+ d = f * f,
+ p = o(function (Q) {
+ return u.indexOf(Q);
+ }, 'indexOf'),
+ m = o(function (Q) {
+ return u[Q];
+ }, 'atIndex'),
+ g = new Array(d),
+ y = 0;
+ y < d;
+ y++
+ ) {
+ var v = y % f,
+ x = (y - v) / f;
+ x === v ? (g[y] = 0) : (g[y] = 1 / 0);
+ }
+ for (var b = new Array(d), w = new Array(d), S = 0; S < h.length; S++) {
+ var T = h[S],
+ E = T.source()[0],
+ _ = T.target()[0];
+ if (E !== _) {
+ var A = p(E),
+ L = p(_),
+ M = A * f + L,
+ N = s(T);
+ if ((g[M] > N && ((g[M] = N), (b[M] = L), (w[M] = T)), !a)) {
+ var k = L * f + A;
+ !a && g[k] > N && ((g[k] = N), (b[k] = A), (w[k] = T));
+ }
+ }
+ }
+ for (var I = 0; I < f; I++)
+ for (var C = 0; C < f; C++)
+ for (var O = C * f + I, D = 0; D < f; D++) {
+ var P = C * f + D,
+ F = I * f + D;
+ g[O] + g[F] < g[P] && ((g[P] = g[O] + g[F]), (b[P] = b[O]));
+ }
+ var B = o(function (Q) {
+ return (zt(Q) ? r.filter(Q) : Q)[0];
+ }, 'getArgEle'),
+ $ = o(function (Q) {
+ return p(B(Q));
+ }, 'indexOfArgEle'),
+ z = {
+ distance: o(function (Q, X) {
+ var ie = $(Q),
+ j = $(X);
+ return g[ie * f + j];
+ }, 'distance'),
+ path: o(function (Q, X) {
+ var ie = $(Q),
+ j = $(X),
+ J = m(ie);
+ if (ie === j) return J.collection();
+ if (b[ie * f + j] == null) return r.collection();
+ var Z = r.collection(),
+ H = ie,
+ q;
+ for (Z.merge(J); ie !== j; )
+ (H = ie), (ie = b[ie * f + j]), (q = w[H * f + ie]), Z.merge(q), Z.merge(m(ie));
+ return Z;
+ }, 'path')
+ };
+ return z;
+ }, 'floydWarshall')
+ }),
+ (aWe = Sa({
+ weight: o(function (e) {
+ return 1;
+ }, 'weight'),
+ directed: !1,
+ root: null
+ })),
+ (sWe = {
+ bellmanFord: o(function (e) {
+ var r = this,
+ n = aWe(e),
+ i = n.weight,
+ a = n.directed,
+ s = n.root,
+ l = i,
+ u = this,
+ h = this.cy(),
+ f = this.byGroup(),
+ d = f.edges,
+ p = f.nodes,
+ m = p.length,
+ g = new Vc(),
+ y = !1,
+ v = [];
+ (s = h.collection(s)[0]),
+ d.unmergeBy(function (oe) {
+ return oe.isLoop();
+ });
+ for (
+ var x = d.length,
+ b = o(function (ke) {
+ var Ie = g.get(ke.id());
+ return Ie || ((Ie = {}), g.set(ke.id(), Ie)), Ie;
+ }, 'getInfo'),
+ w = o(function (ke) {
+ return (zt(ke) ? h.$(ke) : ke)[0];
+ }, 'getNodeFromTo'),
+ S = o(function (ke) {
+ return b(w(ke)).dist;
+ }, 'distanceTo'),
+ T = o(function (ke) {
+ for (
+ var Ie = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : s,
+ Se = w(ke),
+ Ue = [],
+ Pe = Se;
+ ;
+
+ ) {
+ if (Pe == null) return r.spawn();
+ var _e = b(Pe),
+ me = _e.edge,
+ W = _e.pred;
+ if ((Ue.unshift(Pe[0]), Pe.same(Ie) && Ue.length > 0)) break;
+ me != null && Ue.unshift(me), (Pe = W);
+ }
+ return u.spawn(Ue);
+ }, 'pathTo'),
+ E = 0;
+ E < m;
+ E++
+ ) {
+ var _ = p[E],
+ A = b(_);
+ _.same(s) ? (A.dist = 0) : (A.dist = 1 / 0), (A.pred = null), (A.edge = null);
+ }
+ for (
+ var L = !1,
+ M = o(function (ke, Ie, Se, Ue, Pe, _e) {
+ var me = Ue.dist + _e;
+ me < Pe.dist &&
+ !Se.same(Ue.edge) &&
+ ((Pe.dist = me), (Pe.pred = ke), (Pe.edge = Se), (L = !0));
+ }, 'checkForEdgeReplacement'),
+ N = 1;
+ N < m;
+ N++
+ ) {
+ L = !1;
+ for (var k = 0; k < x; k++) {
+ var I = d[k],
+ C = I.source(),
+ O = I.target(),
+ D = l(I),
+ P = b(C),
+ F = b(O);
+ M(C, O, I, P, F, D), a || M(O, C, I, F, P, D);
+ }
+ if (!L) break;
+ }
+ if (L)
+ for (var B = [], $ = 0; $ < x; $++) {
+ var z = d[$],
+ Y = z.source(),
+ Q = z.target(),
+ X = l(z),
+ ie = b(Y).dist,
+ j = b(Q).dist;
+ if (ie + X < j || (!a && j + X < ie))
+ if (
+ (y || (tn('Graph contains a negative weight cycle for Bellman-Ford'), (y = !0)),
+ e.findNegativeWeightCycles !== !1)
+ ) {
+ var J = [];
+ ie + X < j && J.push(Y), !a && j + X < ie && J.push(Q);
+ for (var Z = J.length, H = 0; H < Z; H++) {
+ var q = J[H],
+ K = [q];
+ K.push(b(q).edge);
+ for (var se = b(q).pred; K.indexOf(se) === -1; )
+ K.push(se), K.push(b(se).edge), (se = b(se).pred);
+ K = K.slice(K.indexOf(se));
+ for (var ce = K[0].id(), ue = 0, te = 2; te < K.length; te += 2)
+ K[te].id() < ce && ((ce = K[te].id()), (ue = te));
+ (K = K.slice(ue).concat(K.slice(0, ue))), K.push(K[0]);
+ var De = K.map(function (oe) {
+ return oe.id();
+ }).join(',');
+ B.indexOf(De) === -1 && (v.push(u.spawn(K)), B.push(De));
+ }
+ } else break;
+ }
+ return {
+ distanceTo: S,
+ pathTo: T,
+ hasNegativeWeightCycle: y,
+ negativeWeightCycles: v
+ };
+ }, 'bellmanFord')
+ }),
+ (oWe = Math.sqrt(2)),
+ (lWe = o(function (e, r, n) {
+ n.length === 0 && oi('Karger-Stein must be run on a connected (sub)graph');
+ for (var i = n[e], a = i[1], s = i[2], l = r[a], u = r[s], h = n, f = h.length - 1; f >= 0; f--) {
+ var d = h[f],
+ p = d[1],
+ m = d[2];
+ ((r[p] === l && r[m] === u) || (r[p] === u && r[m] === l)) && h.splice(f, 1);
+ }
+ for (var g = 0; g < h.length; g++) {
+ var y = h[g];
+ y[1] === u
+ ? ((h[g] = y.slice()), (h[g][1] = l))
+ : y[2] === u && ((h[g] = y.slice()), (h[g][2] = l));
+ }
+ for (var v = 0; v < r.length; v++) r[v] === u && (r[v] = l);
+ return h;
+ }, 'collapse')),
+ (wP = o(function (e, r, n, i) {
+ for (; n > i; ) {
+ var a = Math.floor(Math.random() * r.length);
+ (r = lWe(a, e, r)), n--;
+ }
+ return r;
+ }, 'contractUntil')),
+ (cWe = {
+ kargerStein: o(function () {
+ var e = this,
+ r = this.byGroup(),
+ n = r.nodes,
+ i = r.edges;
+ i.unmergeBy(function (F) {
+ return F.isLoop();
+ });
+ var a = n.length,
+ s = i.length,
+ l = Math.ceil(Math.pow(Math.log(a) / Math.LN2, 2)),
+ u = Math.floor(a / oWe);
+ if (a < 2) {
+ oi('At least 2 nodes are required for Karger-Stein algorithm');
+ return;
+ }
+ for (var h = [], f = 0; f < s; f++) {
+ var d = i[f];
+ h.push([f, n.indexOf(d.source()), n.indexOf(d.target())]);
+ }
+ for (
+ var p = 1 / 0,
+ m = [],
+ g = new Array(a),
+ y = new Array(a),
+ v = new Array(a),
+ x = o(function (B, $) {
+ for (var z = 0; z < a; z++) $[z] = B[z];
+ }, 'copyNodesMap'),
+ b = 0;
+ b <= l;
+ b++
+ ) {
+ for (var w = 0; w < a; w++) y[w] = w;
+ var S = wP(y, h.slice(), a, u),
+ T = S.slice();
+ x(y, v);
+ var E = wP(y, S, u, 2),
+ _ = wP(v, T, u, 2);
+ E.length <= _.length && E.length < p
+ ? ((p = E.length), (m = E), x(y, g))
+ : _.length <= E.length && _.length < p && ((p = _.length), (m = _), x(v, g));
+ }
+ for (
+ var A = this.spawn(
+ m.map(function (F) {
+ return i[F[0]];
+ })
+ ),
+ L = this.spawn(),
+ M = this.spawn(),
+ N = g[0],
+ k = 0;
+ k < g.length;
+ k++
+ ) {
+ var I = g[k],
+ C = n[k];
+ I === N ? L.merge(C) : M.merge(C);
+ }
+ var O = o(function (B) {
+ var $ = e.spawn();
+ return (
+ B.forEach(function (z) {
+ $.merge(z),
+ z.connectedEdges().forEach(function (Y) {
+ e.contains(Y) && !A.contains(Y) && $.merge(Y);
+ });
+ }),
+ $
+ );
+ }, 'constructComponent'),
+ D = [O(L), O(M)],
+ P = { cut: A, components: D, partition1: L, partition2: M };
+ return P;
+ }, 'kargerStein')
+ }),
+ (uWe = o(function (e) {
+ return { x: e.x, y: e.y };
+ }, 'copyPosition')),
+ (F6 = o(function (e, r, n) {
+ return { x: e.x * r + n.x, y: e.y * r + n.y };
+ }, 'modelToRenderedPosition')),
+ (Gpe = o(function (e, r, n) {
+ return { x: (e.x - n.x) / r, y: (e.y - n.y) / r };
+ }, 'renderedToModelPosition')),
+ (Jg = o(function (e) {
+ return { x: e[0], y: e[1] };
+ }, 'array2point')),
+ (hWe = o(function (e) {
+ for (
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
+ n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length,
+ i = 1 / 0,
+ a = r;
+ a < n;
+ a++
+ ) {
+ var s = e[a];
+ isFinite(s) && (i = Math.min(s, i));
+ }
+ return i;
+ }, 'min')),
+ (fWe = o(function (e) {
+ for (
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
+ n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length,
+ i = -1 / 0,
+ a = r;
+ a < n;
+ a++
+ ) {
+ var s = e[a];
+ isFinite(s) && (i = Math.max(s, i));
+ }
+ return i;
+ }, 'max')),
+ (dWe = o(function (e) {
+ for (
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
+ n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length,
+ i = 0,
+ a = 0,
+ s = r;
+ s < n;
+ s++
+ ) {
+ var l = e[s];
+ isFinite(l) && ((i += l), a++);
+ }
+ return i / a;
+ }, 'mean')),
+ (pWe = o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
+ n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length,
+ i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0,
+ a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0,
+ s = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0;
+ i ? (e = e.slice(r, n)) : (n < e.length && e.splice(n, e.length - n), r > 0 && e.splice(0, r));
+ for (var l = 0, u = e.length - 1; u >= 0; u--) {
+ var h = e[u];
+ s ? isFinite(h) || ((e[u] = -1 / 0), l++) : e.splice(u, 1);
+ }
+ a &&
+ e.sort(function (p, m) {
+ return p - m;
+ });
+ var f = e.length,
+ d = Math.floor(f / 2);
+ return f % 2 !== 0 ? e[d + 1 + l] : (e[d - 1 + l] + e[d + l]) / 2;
+ }, 'median')),
+ (mWe = o(function (e) {
+ return (Math.PI * e) / 180;
+ }, 'deg2rad')),
+ (n6 = o(function (e, r) {
+ return Math.atan2(r, e) - Math.PI / 2;
+ }, 'getAngleFromDisp')),
+ (tB =
+ Math.log2 ||
+ function (t) {
+ return Math.log(t) / Math.log(2);
+ }),
+ ($pe = o(function (e) {
+ return e > 0 ? 1 : e < 0 ? -1 : 0;
+ }, 'signum')),
+ (H0 = o(function (e, r) {
+ return Math.sqrt(B0(e, r));
+ }, 'dist')),
+ (B0 = o(function (e, r) {
+ var n = r.x - e.x,
+ i = r.y - e.y;
+ return n * n + i * i;
+ }, 'sqdist')),
+ (gWe = o(function (e) {
+ for (var r = e.length, n = 0, i = 0; i < r; i++) n += e[i];
+ for (var a = 0; a < r; a++) e[a] = e[a] / n;
+ return e;
+ }, 'inPlaceSumNormalize')),
+ (aa = o(function (e, r, n, i) {
+ return (1 - i) * (1 - i) * e + 2 * (1 - i) * i * r + i * i * n;
+ }, 'qbezierAt')),
+ (t1 = o(function (e, r, n, i) {
+ return { x: aa(e.x, r.x, n.x, i), y: aa(e.y, r.y, n.y, i) };
+ }, 'qbezierPtAt')),
+ (yWe = o(function (e, r, n, i) {
+ var a = { x: r.x - e.x, y: r.y - e.y },
+ s = H0(e, r),
+ l = { x: a.x / s, y: a.y / s };
+ return (n = n ?? 0), (i = i ?? n * s), { x: e.x + l.x * i, y: e.y + l.y * i };
+ }, 'lineAt')),
+ (Hx = o(function (e, r, n) {
+ return Math.max(e, Math.min(n, r));
+ }, 'bound')),
+ (Gs = o(function (e) {
+ if (e == null) return { x1: 1 / 0, y1: 1 / 0, x2: -1 / 0, y2: -1 / 0, w: 0, h: 0 };
+ if (e.x1 != null && e.y1 != null) {
+ if (e.x2 != null && e.y2 != null && e.x2 >= e.x1 && e.y2 >= e.y1)
+ return {
+ x1: e.x1,
+ y1: e.y1,
+ x2: e.x2,
+ y2: e.y2,
+ w: e.x2 - e.x1,
+ h: e.y2 - e.y1
+ };
+ if (e.w != null && e.h != null && e.w >= 0 && e.h >= 0)
+ return {
+ x1: e.x1,
+ y1: e.y1,
+ x2: e.x1 + e.w,
+ y2: e.y1 + e.h,
+ w: e.w,
+ h: e.h
+ };
+ }
+ }, 'makeBoundingBox')),
+ (vWe = o(function (e) {
+ return { x1: e.x1, x2: e.x2, w: e.w, y1: e.y1, y2: e.y2, h: e.h };
+ }, 'copyBoundingBox')),
+ (xWe = o(function (e) {
+ (e.x1 = 1 / 0), (e.y1 = 1 / 0), (e.x2 = -1 / 0), (e.y2 = -1 / 0), (e.w = 0), (e.h = 0);
+ }, 'clearBoundingBox')),
+ (bWe = o(function (e, r, n) {
+ return {
+ x1: e.x1 + r,
+ x2: e.x2 + r,
+ y1: e.y1 + n,
+ y2: e.y2 + n,
+ w: e.w,
+ h: e.h
+ };
+ }, 'shiftBoundingBox')),
+ (Vpe = o(function (e, r) {
+ (e.x1 = Math.min(e.x1, r.x1)),
+ (e.x2 = Math.max(e.x2, r.x2)),
+ (e.w = e.x2 - e.x1),
+ (e.y1 = Math.min(e.y1, r.y1)),
+ (e.y2 = Math.max(e.y2, r.y2)),
+ (e.h = e.y2 - e.y1);
+ }, 'updateBoundingBox')),
+ (wWe = o(function (e, r, n) {
+ (e.x1 = Math.min(e.x1, r)),
+ (e.x2 = Math.max(e.x2, r)),
+ (e.w = e.x2 - e.x1),
+ (e.y1 = Math.min(e.y1, n)),
+ (e.y2 = Math.max(e.y2, n)),
+ (e.h = e.y2 - e.y1);
+ }, 'expandBoundingBoxByPoint')),
+ (p6 = o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
+ return (
+ (e.x1 -= r), (e.x2 += r), (e.y1 -= r), (e.y2 += r), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1), e
+ );
+ }, 'expandBoundingBox')),
+ (m6 = o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [0],
+ n,
+ i,
+ a,
+ s;
+ if (r.length === 1) n = i = a = s = r[0];
+ else if (r.length === 2) (n = a = r[0]), (s = i = r[1]);
+ else if (r.length === 4) {
+ var l = $l(r, 4);
+ (n = l[0]), (i = l[1]), (a = l[2]), (s = l[3]);
+ }
+ return (
+ (e.x1 -= s), (e.x2 += i), (e.y1 -= n), (e.y2 += a), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1), e
+ );
+ }, 'expandBoundingBoxSides')),
+ (g0e = o(function (e, r) {
+ (e.x1 = r.x1),
+ (e.y1 = r.y1),
+ (e.x2 = r.x2),
+ (e.y2 = r.y2),
+ (e.w = e.x2 - e.x1),
+ (e.h = e.y2 - e.y1);
+ }, 'assignBoundingBox')),
+ (rB = o(function (e, r) {
+ return !(
+ e.x1 > r.x2 ||
+ r.x1 > e.x2 ||
+ e.x2 < r.x1 ||
+ r.x2 < e.x1 ||
+ e.y2 < r.y1 ||
+ r.y2 < e.y1 ||
+ e.y1 > r.y2 ||
+ r.y1 > e.y2
+ );
+ }, 'boundingBoxesIntersect')),
+ (s1 = o(function (e, r, n) {
+ return e.x1 <= r && r <= e.x2 && e.y1 <= n && n <= e.y2;
+ }, 'inBoundingBox')),
+ (TWe = o(function (e, r) {
+ return s1(e, r.x, r.y);
+ }, 'pointInBoundingBox')),
+ (Upe = o(function (e, r) {
+ return s1(e, r.x1, r.y1) && s1(e, r.x2, r.y2);
+ }, 'boundingBoxInBoundingBox')),
+ (Hpe = o(function (e, r, n, i, a, s, l) {
+ var u = arguments.length > 7 && arguments[7] !== void 0 ? arguments[7] : 'auto',
+ h = u === 'auto' ? Y0(a, s) : u,
+ f = a / 2,
+ d = s / 2;
+ h = Math.min(h, f, d);
+ var p = h !== f,
+ m = h !== d,
+ g;
+ if (p) {
+ var y = n - f + h - l,
+ v = i - d - l,
+ x = n + f - h + l,
+ b = v;
+ if (((g = kf(e, r, n, i, y, v, x, b, !1)), g.length > 0)) return g;
+ }
+ if (m) {
+ var w = n + f + l,
+ S = i - d + h - l,
+ T = w,
+ E = i + d - h + l;
+ if (((g = kf(e, r, n, i, w, S, T, E, !1)), g.length > 0)) return g;
+ }
+ if (p) {
+ var _ = n - f + h - l,
+ A = i + d + l,
+ L = n + f - h + l,
+ M = A;
+ if (((g = kf(e, r, n, i, _, A, L, M, !1)), g.length > 0)) return g;
+ }
+ if (m) {
+ var N = n - f - l,
+ k = i - d + h - l,
+ I = N,
+ C = i + d - h + l;
+ if (((g = kf(e, r, n, i, N, k, I, C, !1)), g.length > 0)) return g;
+ }
+ var O;
+ {
+ var D = n - f + h,
+ P = i - d + h;
+ if (((O = Ox(e, r, n, i, D, P, h + l)), O.length > 0 && O[0] <= D && O[1] <= P))
+ return [O[0], O[1]];
+ }
+ {
+ var F = n + f - h,
+ B = i - d + h;
+ if (((O = Ox(e, r, n, i, F, B, h + l)), O.length > 0 && O[0] >= F && O[1] <= B))
+ return [O[0], O[1]];
+ }
+ {
+ var $ = n + f - h,
+ z = i + d - h;
+ if (((O = Ox(e, r, n, i, $, z, h + l)), O.length > 0 && O[0] >= $ && O[1] >= z))
+ return [O[0], O[1]];
+ }
+ {
+ var Y = n - f + h,
+ Q = i + d - h;
+ if (((O = Ox(e, r, n, i, Y, Q, h + l)), O.length > 0 && O[0] <= Y && O[1] >= Q))
+ return [O[0], O[1]];
+ }
+ return [];
+ }, 'roundRectangleIntersectLine')),
+ (kWe = o(function (e, r, n, i, a, s, l) {
+ var u = l,
+ h = Math.min(n, a),
+ f = Math.max(n, a),
+ d = Math.min(i, s),
+ p = Math.max(i, s);
+ return h - u <= e && e <= f + u && d - u <= r && r <= p + u;
+ }, 'inLineVicinity')),
+ (EWe = o(function (e, r, n, i, a, s, l, u, h) {
+ var f = {
+ x1: Math.min(n, l, a) - h,
+ x2: Math.max(n, l, a) + h,
+ y1: Math.min(i, u, s) - h,
+ y2: Math.max(i, u, s) + h
+ };
+ return !(e < f.x1 || e > f.x2 || r < f.y1 || r > f.y2);
+ }, 'inBezierVicinity')),
+ (CWe = o(function (e, r, n, i) {
+ n -= i;
+ var a = r * r - 4 * e * n;
+ if (a < 0) return [];
+ var s = Math.sqrt(a),
+ l = 2 * e,
+ u = (-r + s) / l,
+ h = (-r - s) / l;
+ return [u, h];
+ }, 'solveQuadratic')),
+ (SWe = o(function (e, r, n, i, a) {
+ var s = 1e-5;
+ e === 0 && (e = s), (r /= e), (n /= e), (i /= e);
+ var l, u, h, f, d, p, m, g;
+ if (
+ ((u = (3 * n - r * r) / 9),
+ (h = -(27 * i) + r * (9 * n - 2 * (r * r))),
+ (h /= 54),
+ (l = u * u * u + h * h),
+ (a[1] = 0),
+ (m = r / 3),
+ l > 0)
+ ) {
+ (d = h + Math.sqrt(l)),
+ (d = d < 0 ? -Math.pow(-d, 1 / 3) : Math.pow(d, 1 / 3)),
+ (p = h - Math.sqrt(l)),
+ (p = p < 0 ? -Math.pow(-p, 1 / 3) : Math.pow(p, 1 / 3)),
+ (a[0] = -m + d + p),
+ (m += (d + p) / 2),
+ (a[4] = a[2] = -m),
+ (m = (Math.sqrt(3) * (-p + d)) / 2),
+ (a[3] = m),
+ (a[5] = -m);
+ return;
+ }
+ if (((a[5] = a[3] = 0), l === 0)) {
+ (g = h < 0 ? -Math.pow(-h, 1 / 3) : Math.pow(h, 1 / 3)),
+ (a[0] = -m + 2 * g),
+ (a[4] = a[2] = -(g + m));
+ return;
+ }
+ (u = -u),
+ (f = u * u * u),
+ (f = Math.acos(h / Math.sqrt(f))),
+ (g = 2 * Math.sqrt(u)),
+ (a[0] = -m + g * Math.cos(f / 3)),
+ (a[2] = -m + g * Math.cos((f + 2 * Math.PI) / 3)),
+ (a[4] = -m + g * Math.cos((f + 4 * Math.PI) / 3));
+ }, 'solveCubic')),
+ (AWe = o(function (e, r, n, i, a, s, l, u) {
+ var h =
+ 1 * n * n -
+ 4 * n * a +
+ 2 * n * l +
+ 4 * a * a -
+ 4 * a * l +
+ l * l +
+ i * i -
+ 4 * i * s +
+ 2 * i * u +
+ 4 * s * s -
+ 4 * s * u +
+ u * u,
+ f =
+ 1 * 9 * n * a -
+ 3 * n * n -
+ 3 * n * l -
+ 6 * a * a +
+ 3 * a * l +
+ 9 * i * s -
+ 3 * i * i -
+ 3 * i * u -
+ 6 * s * s +
+ 3 * s * u,
+ d =
+ 1 * 3 * n * n -
+ 6 * n * a +
+ n * l -
+ n * e +
+ 2 * a * a +
+ 2 * a * e -
+ l * e +
+ 3 * i * i -
+ 6 * i * s +
+ i * u -
+ i * r +
+ 2 * s * s +
+ 2 * s * r -
+ u * r,
+ p = 1 * n * a - n * n + n * e - a * e + i * s - i * i + i * r - s * r,
+ m = [];
+ SWe(h, f, d, p, m);
+ for (var g = 1e-7, y = [], v = 0; v < 6; v += 2)
+ Math.abs(m[v + 1]) < g && m[v] >= 0 && m[v] <= 1 && y.push(m[v]);
+ y.push(1), y.push(0);
+ for (var x = -1, b, w, S, T = 0; T < y.length; T++)
+ (b = Math.pow(1 - y[T], 2) * n + 2 * (1 - y[T]) * y[T] * a + y[T] * y[T] * l),
+ (w = Math.pow(1 - y[T], 2) * i + 2 * (1 - y[T]) * y[T] * s + y[T] * y[T] * u),
+ (S = Math.pow(b - e, 2) + Math.pow(w - r, 2)),
+ x >= 0 ? S < x && (x = S) : (x = S);
+ return x;
+ }, 'sqdistToQuadraticBezier')),
+ (_We = o(function (e, r, n, i, a, s) {
+ var l = [e - n, r - i],
+ u = [a - n, s - i],
+ h = u[0] * u[0] + u[1] * u[1],
+ f = l[0] * l[0] + l[1] * l[1],
+ d = l[0] * u[0] + l[1] * u[1],
+ p = (d * d) / h;
+ return d < 0 ? f : p > h ? (e - a) * (e - a) + (r - s) * (r - s) : f - p;
+ }, 'sqdistToFiniteLine')),
+ (zs = o(function (e, r, n) {
+ for (var i, a, s, l, u, h = 0, f = 0; f < n.length / 2; f++)
+ if (
+ ((i = n[f * 2]),
+ (a = n[f * 2 + 1]),
+ f + 1 < n.length / 2
+ ? ((s = n[(f + 1) * 2]), (l = n[(f + 1) * 2 + 1]))
+ : ((s = n[(f + 1 - n.length / 2) * 2]), (l = n[(f + 1 - n.length / 2) * 2 + 1])),
+ !(i == e && s == e))
+ )
+ if ((i >= e && e >= s) || (i <= e && e <= s))
+ (u = ((e - i) / (s - i)) * (l - a) + a), u > r && h++;
+ else continue;
+ return h % 2 !== 0;
+ }, 'pointInsidePolygonPoints')),
+ (Qu = o(function (e, r, n, i, a, s, l, u, h) {
+ var f = new Array(n.length),
+ d;
+ u[0] != null
+ ? ((d = Math.atan(u[1] / u[0])), u[0] < 0 ? (d = d + Math.PI / 2) : (d = -d - Math.PI / 2))
+ : (d = u);
+ for (var p = Math.cos(-d), m = Math.sin(-d), g = 0; g < f.length / 2; g++)
+ (f[g * 2] = (s / 2) * (n[g * 2] * p - n[g * 2 + 1] * m)),
+ (f[g * 2 + 1] = (l / 2) * (n[g * 2 + 1] * p + n[g * 2] * m)),
+ (f[g * 2] += i),
+ (f[g * 2 + 1] += a);
+ var y;
+ if (h > 0) {
+ var v = A6(f, -h);
+ y = S6(v);
+ } else y = f;
+ return zs(e, r, y);
+ }, 'pointInsidePolygon')),
+ (LWe = o(function (e, r, n, i, a, s, l, u) {
+ for (var h = new Array(n.length * 2), f = 0; f < u.length; f++) {
+ var d = u[f];
+ (h[f * 4 + 0] = d.startX),
+ (h[f * 4 + 1] = d.startY),
+ (h[f * 4 + 2] = d.stopX),
+ (h[f * 4 + 3] = d.stopY);
+ var p = Math.pow(d.cx - e, 2) + Math.pow(d.cy - r, 2);
+ if (p <= Math.pow(d.radius, 2)) return !0;
+ }
+ return zs(e, r, h);
+ }, 'pointInsideRoundPolygon')),
+ (S6 = o(function (e) {
+ for (var r = new Array(e.length / 2), n, i, a, s, l, u, h, f, d = 0; d < e.length / 4; d++) {
+ (n = e[d * 4]),
+ (i = e[d * 4 + 1]),
+ (a = e[d * 4 + 2]),
+ (s = e[d * 4 + 3]),
+ d < e.length / 4 - 1
+ ? ((l = e[(d + 1) * 4]),
+ (u = e[(d + 1) * 4 + 1]),
+ (h = e[(d + 1) * 4 + 2]),
+ (f = e[(d + 1) * 4 + 3]))
+ : ((l = e[0]), (u = e[1]), (h = e[2]), (f = e[3]));
+ var p = kf(n, i, a, s, l, u, h, f, !0);
+ (r[d * 2] = p[0]), (r[d * 2 + 1] = p[1]);
+ }
+ return r;
+ }, 'joinLines')),
+ (A6 = o(function (e, r) {
+ for (var n = new Array(e.length * 2), i, a, s, l, u = 0; u < e.length / 2; u++) {
+ (i = e[u * 2]),
+ (a = e[u * 2 + 1]),
+ u < e.length / 2 - 1
+ ? ((s = e[(u + 1) * 2]), (l = e[(u + 1) * 2 + 1]))
+ : ((s = e[0]), (l = e[1]));
+ var h = l - a,
+ f = -(s - i),
+ d = Math.sqrt(h * h + f * f),
+ p = h / d,
+ m = f / d;
+ (n[u * 4] = i + p * r),
+ (n[u * 4 + 1] = a + m * r),
+ (n[u * 4 + 2] = s + p * r),
+ (n[u * 4 + 3] = l + m * r);
+ }
+ return n;
+ }, 'expandPolygon')),
+ (DWe = o(function (e, r, n, i, a, s) {
+ var l = n - e,
+ u = i - r;
+ (l /= a), (u /= s);
+ var h = Math.sqrt(l * l + u * u),
+ f = h - 1;
+ if (f < 0) return [];
+ var d = f / h;
+ return [(n - e) * d + e, (i - r) * d + r];
+ }, 'intersectLineEllipse')),
+ ($0 = o(function (e, r, n, i, a, s, l) {
+ return (e -= a), (r -= s), (e /= n / 2 + l), (r /= i / 2 + l), e * e + r * r <= 1;
+ }, 'checkInEllipse')),
+ (Ox = o(function (e, r, n, i, a, s, l) {
+ var u = [n - e, i - r],
+ h = [e - a, r - s],
+ f = u[0] * u[0] + u[1] * u[1],
+ d = 2 * (h[0] * u[0] + h[1] * u[1]),
+ p = h[0] * h[0] + h[1] * h[1] - l * l,
+ m = d * d - 4 * f * p;
+ if (m < 0) return [];
+ var g = (-d + Math.sqrt(m)) / (2 * f),
+ y = (-d - Math.sqrt(m)) / (2 * f),
+ v = Math.min(g, y),
+ x = Math.max(g, y),
+ b = [];
+ if ((v >= 0 && v <= 1 && b.push(v), x >= 0 && x <= 1 && b.push(x), b.length === 0)) return [];
+ var w = b[0] * u[0] + e,
+ S = b[0] * u[1] + r;
+ if (b.length > 1) {
+ if (b[0] == b[1]) return [w, S];
+ var T = b[1] * u[0] + e,
+ E = b[1] * u[1] + r;
+ return [w, S, T, E];
+ } else return [w, S];
+ }, 'intersectLineCircle')),
+ (TP = o(function (e, r, n) {
+ return (r <= e && e <= n) || (n <= e && e <= r)
+ ? e
+ : (e <= r && r <= n) || (n <= r && r <= e)
+ ? r
+ : n;
+ }, 'midOfThree')),
+ (kf = o(function (e, r, n, i, a, s, l, u, h) {
+ var f = e - a,
+ d = n - e,
+ p = l - a,
+ m = r - s,
+ g = i - r,
+ y = u - s,
+ v = p * m - y * f,
+ x = d * m - g * f,
+ b = y * d - p * g;
+ if (b !== 0) {
+ var w = v / b,
+ S = x / b,
+ T = 0.001,
+ E = 0 - T,
+ _ = 1 + T;
+ return E <= w && w <= _ && E <= S && S <= _
+ ? [e + w * d, r + w * g]
+ : h
+ ? [e + w * d, r + w * g]
+ : [];
+ } else return v === 0 || x === 0 ? (TP(e, n, l) === l ? [l, u] : TP(e, n, a) === a ? [a, s] : TP(a, l, n) === n ? [n, i] : []) : [];
+ }, 'finiteLinesIntersect')),
+ (Yx = o(function (e, r, n, i, a, s, l, u) {
+ var h = [],
+ f,
+ d = new Array(n.length),
+ p = !0;
+ s == null && (p = !1);
+ var m;
+ if (p) {
+ for (var g = 0; g < d.length / 2; g++)
+ (d[g * 2] = n[g * 2] * s + i), (d[g * 2 + 1] = n[g * 2 + 1] * l + a);
+ if (u > 0) {
+ var y = A6(d, -u);
+ m = S6(y);
+ } else m = d;
+ } else m = n;
+ for (var v, x, b, w, S = 0; S < m.length / 2; S++)
+ (v = m[S * 2]),
+ (x = m[S * 2 + 1]),
+ S < m.length / 2 - 1
+ ? ((b = m[(S + 1) * 2]), (w = m[(S + 1) * 2 + 1]))
+ : ((b = m[0]), (w = m[1])),
+ (f = kf(e, r, i, a, v, x, b, w)),
+ f.length !== 0 && h.push(f[0], f[1]);
+ return h;
+ }, 'polygonIntersectLine')),
+ (RWe = o(function (e, r, n, i, a, s, l, u, h) {
+ var f = [],
+ d,
+ p = new Array(n.length * 2);
+ h.forEach(function (b, w) {
+ w === 0
+ ? ((p[p.length - 2] = b.startX), (p[p.length - 1] = b.startY))
+ : ((p[w * 4 - 2] = b.startX), (p[w * 4 - 1] = b.startY)),
+ (p[w * 4] = b.stopX),
+ (p[w * 4 + 1] = b.stopY),
+ (d = Ox(e, r, i, a, b.cx, b.cy, b.radius)),
+ d.length !== 0 && f.push(d[0], d[1]);
+ });
+ for (var m = 0; m < p.length / 4; m++)
+ (d = kf(e, r, i, a, p[m * 4], p[m * 4 + 1], p[m * 4 + 2], p[m * 4 + 3], !1)),
+ d.length !== 0 && f.push(d[0], d[1]);
+ if (f.length > 2) {
+ for (
+ var g = [f[0], f[1]], y = Math.pow(g[0] - e, 2) + Math.pow(g[1] - r, 2), v = 1;
+ v < f.length / 2;
+ v++
+ ) {
+ var x = Math.pow(f[v * 2] - e, 2) + Math.pow(f[v * 2 + 1] - r, 2);
+ x <= y && ((g[0] = f[v * 2]), (g[1] = f[v * 2 + 1]), (y = x));
+ }
+ return g;
+ }
+ return f;
+ }, 'roundPolygonIntersectLine')),
+ (i6 = o(function (e, r, n) {
+ var i = [e[0] - r[0], e[1] - r[1]],
+ a = Math.sqrt(i[0] * i[0] + i[1] * i[1]),
+ s = (a - n) / a;
+ return s < 0 && (s = 1e-5), [r[0] + s * i[0], r[1] + s * i[1]];
+ }, 'shortenIntersection')),
+ (ls = o(function (e, r) {
+ var n = NP(e, r);
+ return (n = Ype(n)), n;
+ }, 'generateUnitNgonPointsFitToSquare')),
+ (Ype = o(function (e) {
+ for (var r, n, i = e.length / 2, a = 1 / 0, s = 1 / 0, l = -1 / 0, u = -1 / 0, h = 0; h < i; h++)
+ (r = e[2 * h]),
+ (n = e[2 * h + 1]),
+ (a = Math.min(a, r)),
+ (l = Math.max(l, r)),
+ (s = Math.min(s, n)),
+ (u = Math.max(u, n));
+ for (var f = 2 / (l - a), d = 2 / (u - s), p = 0; p < i; p++)
+ (r = e[2 * p] = e[2 * p] * f),
+ (n = e[2 * p + 1] = e[2 * p + 1] * d),
+ (a = Math.min(a, r)),
+ (l = Math.max(l, r)),
+ (s = Math.min(s, n)),
+ (u = Math.max(u, n));
+ if (s < -1) for (var m = 0; m < i; m++) n = e[2 * m + 1] = e[2 * m + 1] + (-1 - s);
+ return e;
+ }, 'fitPolygonToSquare')),
+ (NP = o(function (e, r) {
+ var n = (1 / e) * 2 * Math.PI,
+ i = e % 2 === 0 ? Math.PI / 2 + n / 2 : Math.PI / 2;
+ i += r;
+ for (var a = new Array(e * 2), s, l = 0; l < e; l++)
+ (s = l * n + i), (a[2 * l] = Math.cos(s)), (a[2 * l + 1] = Math.sin(-s));
+ return a;
+ }, 'generateUnitNgonPoints')),
+ (Y0 = o(function (e, r) {
+ return Math.min(e / 4, r / 4, 8);
+ }, 'getRoundRectangleRadius')),
+ (Wpe = o(function (e, r) {
+ return Math.min(e / 10, r / 10, 8);
+ }, 'getRoundPolygonRadius')),
+ (nB = o(function () {
+ return 8;
+ }, 'getCutRectangleCornerLength')),
+ (NWe = o(function (e, r, n) {
+ return [e - 2 * r + n, 2 * (r - e), e];
+ }, 'bezierPtsToQuadCoeff')),
+ (MP = o(function (e, r) {
+ return {
+ heightOffset: Math.min(15, 0.05 * r),
+ widthOffset: Math.min(100, 0.25 * e),
+ ctrlPtOffsetPct: 0.05
+ };
+ }, 'getBarrelCurveConstants')),
+ (MWe = Sa({
+ dampingFactor: 0.8,
+ precision: 1e-6,
+ iterations: 200,
+ weight: o(function (e) {
+ return 1;
+ }, 'weight')
+ })),
+ (IWe = {
+ pageRank: o(function (e) {
+ for (
+ var r = MWe(e),
+ n = r.dampingFactor,
+ i = r.precision,
+ a = r.iterations,
+ s = r.weight,
+ l = this._private.cy,
+ u = this.byGroup(),
+ h = u.nodes,
+ f = u.edges,
+ d = h.length,
+ p = d * d,
+ m = f.length,
+ g = new Array(p),
+ y = new Array(d),
+ v = (1 - n) / d,
+ x = 0;
+ x < d;
+ x++
+ ) {
+ for (var b = 0; b < d; b++) {
+ var w = x * d + b;
+ g[w] = 0;
+ }
+ y[x] = 0;
+ }
+ for (var S = 0; S < m; S++) {
+ var T = f[S],
+ E = T.data('source'),
+ _ = T.data('target');
+ if (E !== _) {
+ var A = h.indexOfId(E),
+ L = h.indexOfId(_),
+ M = s(T),
+ N = L * d + A;
+ (g[N] += M), (y[A] += M);
+ }
+ }
+ for (var k = 1 / d + v, I = 0; I < d; I++)
+ if (y[I] === 0)
+ for (var C = 0; C < d; C++) {
+ var O = C * d + I;
+ g[O] = k;
+ }
+ else
+ for (var D = 0; D < d; D++) {
+ var P = D * d + I;
+ g[P] = g[P] / y[I] + v;
+ }
+ for (var F = new Array(d), B = new Array(d), $, z = 0; z < d; z++) F[z] = 1;
+ for (var Y = 0; Y < a; Y++) {
+ for (var Q = 0; Q < d; Q++) B[Q] = 0;
+ for (var X = 0; X < d; X++)
+ for (var ie = 0; ie < d; ie++) {
+ var j = X * d + ie;
+ B[X] += g[j] * F[ie];
+ }
+ gWe(B), ($ = F), (F = B), (B = $);
+ for (var J = 0, Z = 0; Z < d; Z++) {
+ var H = $[Z] - F[Z];
+ J += H * H;
+ }
+ if (J < i) break;
+ }
+ var q = {
+ rank: o(function (se) {
+ return (se = l.collection(se)[0]), F[h.indexOf(se)];
+ }, 'rank')
+ };
+ return q;
+ }, 'pageRank')
+ }),
+ (y0e = Sa({
+ root: null,
+ weight: o(function (e) {
+ return 1;
+ }, 'weight'),
+ directed: !1,
+ alpha: 0
+ })),
+ (r1 = {
+ degreeCentralityNormalized: o(function (e) {
+ e = y0e(e);
+ var r = this.cy(),
+ n = this.nodes(),
+ i = n.length;
+ if (e.directed) {
+ for (var f = {}, d = {}, p = 0, m = 0, g = 0; g < i; g++) {
+ var y = n[g],
+ v = y.id();
+ e.root = y;
+ var x = this.degreeCentrality(e);
+ p < x.indegree && (p = x.indegree),
+ m < x.outdegree && (m = x.outdegree),
+ (f[v] = x.indegree),
+ (d[v] = x.outdegree);
+ }
+ return {
+ indegree: o(function (w) {
+ return p == 0 ? 0 : (zt(w) && (w = r.filter(w)), f[w.id()] / p);
+ }, 'indegree'),
+ outdegree: o(function (w) {
+ return m === 0 ? 0 : (zt(w) && (w = r.filter(w)), d[w.id()] / m);
+ }, 'outdegree')
+ };
+ } else {
+ for (var a = {}, s = 0, l = 0; l < i; l++) {
+ var u = n[l];
+ e.root = u;
+ var h = this.degreeCentrality(e);
+ s < h.degree && (s = h.degree), (a[u.id()] = h.degree);
+ }
+ return {
+ degree: o(function (w) {
+ return s === 0 ? 0 : (zt(w) && (w = r.filter(w)), a[w.id()] / s);
+ }, 'degree')
+ };
+ }
+ }, 'degreeCentralityNormalized'),
+ degreeCentrality: o(function (e) {
+ e = y0e(e);
+ var r = this.cy(),
+ n = this,
+ i = e,
+ a = i.root,
+ s = i.weight,
+ l = i.directed,
+ u = i.alpha;
+ if (((a = r.collection(a)[0]), l)) {
+ for (
+ var m = a.connectedEdges(),
+ g = m.filter(function (E) {
+ return E.target().same(a) && n.has(E);
+ }),
+ y = m.filter(function (E) {
+ return E.source().same(a) && n.has(E);
+ }),
+ v = g.length,
+ x = y.length,
+ b = 0,
+ w = 0,
+ S = 0;
+ S < g.length;
+ S++
+ )
+ b += s(g[S]);
+ for (var T = 0; T < y.length; T++) w += s(y[T]);
+ return {
+ indegree: Math.pow(v, 1 - u) * Math.pow(b, u),
+ outdegree: Math.pow(x, 1 - u) * Math.pow(w, u)
+ };
+ } else {
+ for (
+ var h = a.connectedEdges().intersection(n), f = h.length, d = 0, p = 0;
+ p < h.length;
+ p++
+ )
+ d += s(h[p]);
+ return { degree: Math.pow(f, 1 - u) * Math.pow(d, u) };
+ }
+ }, 'degreeCentrality')
+ });
+ r1.dc = r1.degreeCentrality;
+ r1.dcn = r1.degreeCentralityNormalised = r1.degreeCentralityNormalized;
+ (v0e = Sa({
+ harmonic: !0,
+ weight: o(function () {
+ return 1;
+ }, 'weight'),
+ directed: !1,
+ root: null
+ })),
+ (n1 = {
+ closenessCentralityNormalized: o(function (e) {
+ for (
+ var r = v0e(e),
+ n = r.harmonic,
+ i = r.weight,
+ a = r.directed,
+ s = this.cy(),
+ l = {},
+ u = 0,
+ h = this.nodes(),
+ f = this.floydWarshall({ weight: i, directed: a }),
+ d = 0;
+ d < h.length;
+ d++
+ ) {
+ for (var p = 0, m = h[d], g = 0; g < h.length; g++)
+ if (d !== g) {
+ var y = f.distance(m, h[g]);
+ n ? (p += 1 / y) : (p += y);
+ }
+ n || (p = 1 / p), u < p && (u = p), (l[m.id()] = p);
+ }
+ return {
+ closeness: o(function (x) {
+ return u == 0 ? 0 : (zt(x) ? (x = s.filter(x)[0].id()) : (x = x.id()), l[x] / u);
+ }, 'closeness')
+ };
+ }, 'closenessCentralityNormalized'),
+ closenessCentrality: o(function (e) {
+ var r = v0e(e),
+ n = r.root,
+ i = r.weight,
+ a = r.directed,
+ s = r.harmonic;
+ n = this.filter(n)[0];
+ for (
+ var l = this.dijkstra({ root: n, weight: i, directed: a }), u = 0, h = this.nodes(), f = 0;
+ f < h.length;
+ f++
+ ) {
+ var d = h[f];
+ if (!d.same(n)) {
+ var p = l.distanceTo(d);
+ s ? (u += 1 / p) : (u += p);
+ }
+ }
+ return s ? u : 1 / u;
+ }, 'closenessCentrality')
+ });
+ n1.cc = n1.closenessCentrality;
+ n1.ccn = n1.closenessCentralityNormalised = n1.closenessCentralityNormalized;
+ (OWe = Sa({ weight: null, directed: !1 })),
+ (IP = {
+ betweennessCentrality: o(function (e) {
+ for (
+ var r = OWe(e),
+ n = r.directed,
+ i = r.weight,
+ a = i != null,
+ s = this.cy(),
+ l = this.nodes(),
+ u = {},
+ h = {},
+ f = 0,
+ d = {
+ set: o(function (w, S) {
+ (h[w] = S), S > f && (f = S);
+ }, 'set'),
+ get: o(function (w) {
+ return h[w];
+ }, 'get')
+ },
+ p = 0;
+ p < l.length;
+ p++
+ ) {
+ var m = l[p],
+ g = m.id();
+ n ? (u[g] = m.outgoers().nodes()) : (u[g] = m.openNeighborhood().nodes()), d.set(g, 0);
+ }
+ for (
+ var y = o(function (w) {
+ for (
+ var S = l[w].id(),
+ T = [],
+ E = {},
+ _ = {},
+ A = {},
+ L = new eb(function (ie, j) {
+ return A[ie] - A[j];
+ }),
+ M = 0;
+ M < l.length;
+ M++
+ ) {
+ var N = l[M].id();
+ (E[N] = []), (_[N] = 0), (A[N] = 1 / 0);
+ }
+ for (_[S] = 1, A[S] = 0, L.push(S); !L.empty(); ) {
+ var k = L.pop();
+ if ((T.push(k), a))
+ for (var I = 0; I < u[k].length; I++) {
+ var C = u[k][I],
+ O = s.getElementById(k),
+ D = void 0;
+ O.edgesTo(C).length > 0 ? (D = O.edgesTo(C)[0]) : (D = C.edgesTo(O)[0]);
+ var P = i(D);
+ (C = C.id()),
+ A[C] > A[k] + P &&
+ ((A[C] = A[k] + P),
+ L.nodes.indexOf(C) < 0 ? L.push(C) : L.updateItem(C),
+ (_[C] = 0),
+ (E[C] = [])),
+ A[C] == A[k] + P && ((_[C] = _[C] + _[k]), E[C].push(k));
+ }
+ else
+ for (var F = 0; F < u[k].length; F++) {
+ var B = u[k][F].id();
+ A[B] == 1 / 0 && (L.push(B), (A[B] = A[k] + 1)),
+ A[B] == A[k] + 1 && ((_[B] = _[B] + _[k]), E[B].push(k));
+ }
+ }
+ for (var $ = {}, z = 0; z < l.length; z++) $[l[z].id()] = 0;
+ for (; T.length > 0; ) {
+ for (var Y = T.pop(), Q = 0; Q < E[Y].length; Q++) {
+ var X = E[Y][Q];
+ $[X] = $[X] + (_[X] / _[Y]) * (1 + $[Y]);
+ }
+ Y != l[w].id() && d.set(Y, d.get(Y) + $[Y]);
+ }
+ }, '_loop'),
+ v = 0;
+ v < l.length;
+ v++
+ )
+ y(v);
+ var x = {
+ betweenness: o(function (w) {
+ var S = s.collection(w).id();
+ return d.get(S);
+ }, 'betweenness'),
+ betweennessNormalized: o(function (w) {
+ if (f == 0) return 0;
+ var S = s.collection(w).id();
+ return d.get(S) / f;
+ }, 'betweennessNormalized')
+ };
+ return (x.betweennessNormalised = x.betweennessNormalized), x;
+ }, 'betweennessCentrality')
+ });
+ IP.bc = IP.betweennessCentrality;
+ (PWe = Sa({
+ expandFactor: 2,
+ inflateFactor: 2,
+ multFactor: 1,
+ maxIterations: 20,
+ attributes: [
+ function (t) {
+ return 1;
+ }
+ ]
+ })),
+ (BWe = o(function (e) {
+ return PWe(e);
+ }, 'setOptions')),
+ (FWe = o(function (e, r) {
+ for (var n = 0, i = 0; i < r.length; i++) n += r[i](e);
+ return n;
+ }, 'getSimilarity')),
+ (zWe = o(function (e, r, n) {
+ for (var i = 0; i < r; i++) e[i * r + i] = n;
+ }, 'addLoops')),
+ (qpe = o(function (e, r) {
+ for (var n, i = 0; i < r; i++) {
+ n = 0;
+ for (var a = 0; a < r; a++) n += e[a * r + i];
+ for (var s = 0; s < r; s++) e[s * r + i] = e[s * r + i] / n;
+ }
+ }, 'normalize')),
+ (GWe = o(function (e, r, n) {
+ for (var i = new Array(n * n), a = 0; a < n; a++) {
+ for (var s = 0; s < n; s++) i[a * n + s] = 0;
+ for (var l = 0; l < n; l++)
+ for (var u = 0; u < n; u++) i[a * n + u] += e[a * n + l] * r[l * n + u];
+ }
+ return i;
+ }, 'mmult')),
+ ($We = o(function (e, r, n) {
+ for (var i = e.slice(0), a = 1; a < n; a++) e = GWe(e, i, r);
+ return e;
+ }, 'expand')),
+ (VWe = o(function (e, r, n) {
+ for (var i = new Array(r * r), a = 0; a < r * r; a++) i[a] = Math.pow(e[a], n);
+ return qpe(i, r), i;
+ }, 'inflate')),
+ (UWe = o(function (e, r, n, i) {
+ for (var a = 0; a < n; a++) {
+ var s = Math.round(e[a] * Math.pow(10, i)) / Math.pow(10, i),
+ l = Math.round(r[a] * Math.pow(10, i)) / Math.pow(10, i);
+ if (s !== l) return !1;
+ }
+ return !0;
+ }, 'hasConverged')),
+ (HWe = o(function (e, r, n, i) {
+ for (var a = [], s = 0; s < r; s++) {
+ for (var l = [], u = 0; u < r; u++) Math.round(e[s * r + u] * 1e3) / 1e3 > 0 && l.push(n[u]);
+ l.length !== 0 && a.push(i.collection(l));
+ }
+ return a;
+ }, 'assign')),
+ (YWe = o(function (e, r) {
+ for (var n = 0; n < e.length; n++) if (!r[n] || e[n].id() !== r[n].id()) return !1;
+ return !0;
+ }, 'isDuplicate')),
+ (WWe = o(function (e) {
+ for (var r = 0; r < e.length; r++)
+ for (var n = 0; n < e.length; n++) r != n && YWe(e[r], e[n]) && e.splice(n, 1);
+ return e;
+ }, 'removeDuplicates')),
+ (x0e = o(function (e) {
+ for (
+ var r = this.nodes(), n = this.edges(), i = this.cy(), a = BWe(e), s = {}, l = 0;
+ l < r.length;
+ l++
+ )
+ s[r[l].id()] = l;
+ for (var u = r.length, h = u * u, f = new Array(h), d, p = 0; p < h; p++) f[p] = 0;
+ for (var m = 0; m < n.length; m++) {
+ var g = n[m],
+ y = s[g.source().id()],
+ v = s[g.target().id()],
+ x = FWe(g, a.attributes);
+ (f[y * u + v] += x), (f[v * u + y] += x);
+ }
+ zWe(f, u, a.multFactor), qpe(f, u);
+ for (var b = !0, w = 0; b && w < a.maxIterations; )
+ (b = !1),
+ (d = $We(f, u, a.expandFactor)),
+ (f = VWe(d, u, a.inflateFactor)),
+ UWe(f, d, h, 4) || (b = !0),
+ w++;
+ var S = HWe(f, u, r, i);
+ return (S = WWe(S)), S;
+ }, 'markovClustering')),
+ (qWe = { markovClustering: x0e, mcl: x0e }),
+ (XWe = o(function (e) {
+ return e;
+ }, 'identity')),
+ (Xpe = o(function (e, r) {
+ return Math.abs(r - e);
+ }, 'absDiff')),
+ (b0e = o(function (e, r, n) {
+ return e + Xpe(r, n);
+ }, 'addAbsDiff')),
+ (w0e = o(function (e, r, n) {
+ return e + Math.pow(n - r, 2);
+ }, 'addSquaredDiff')),
+ (jWe = o(function (e) {
+ return Math.sqrt(e);
+ }, 'sqrt')),
+ (KWe = o(function (e, r, n) {
+ return Math.max(e, Xpe(r, n));
+ }, 'maxAbsDiff')),
+ (Lx = o(function (e, r, n, i, a) {
+ for (
+ var s = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : XWe,
+ l = i,
+ u,
+ h,
+ f = 0;
+ f < e;
+ f++
+ )
+ (u = r(f)), (h = n(f)), (l = a(l, u, h));
+ return s(l);
+ }, 'getDistance')),
+ (o1 = {
+ euclidean: o(function (e, r, n) {
+ return e >= 2 ? Lx(e, r, n, 0, w0e, jWe) : Lx(e, r, n, 0, b0e);
+ }, 'euclidean'),
+ squaredEuclidean: o(function (e, r, n) {
+ return Lx(e, r, n, 0, w0e);
+ }, 'squaredEuclidean'),
+ manhattan: o(function (e, r, n) {
+ return Lx(e, r, n, 0, b0e);
+ }, 'manhattan'),
+ max: o(function (e, r, n) {
+ return Lx(e, r, n, -1 / 0, KWe);
+ }, 'max')
+ });
+ o1['squared-euclidean'] = o1.squaredEuclidean;
+ o1.squaredeuclidean = o1.squaredEuclidean;
+ o(z6, 'clusteringDistance');
+ (QWe = Sa({
+ k: 2,
+ m: 2,
+ sensitivityThreshold: 1e-4,
+ distance: 'euclidean',
+ maxIterations: 10,
+ attributes: [],
+ testMode: !1,
+ testCentroids: null
+ })),
+ (iB = o(function (e) {
+ return QWe(e);
+ }, 'setOptions')),
+ (_6 = o(function (e, r, n, i, a) {
+ var s = a !== 'kMedoids',
+ l = s
+ ? function (d) {
+ return n[d];
+ }
+ : function (d) {
+ return i[d](n);
+ },
+ u = o(function (p) {
+ return i[p](r);
+ }, 'getQ'),
+ h = n,
+ f = r;
+ return z6(e, i.length, l, u, h, f);
+ }, 'getDist')),
+ (kP = o(function (e, r, n) {
+ for (
+ var i = n.length, a = new Array(i), s = new Array(i), l = new Array(r), u = null, h = 0;
+ h < i;
+ h++
+ )
+ (a[h] = e.min(n[h]).value), (s[h] = e.max(n[h]).value);
+ for (var f = 0; f < r; f++) {
+ u = [];
+ for (var d = 0; d < i; d++) u[d] = Math.random() * (s[d] - a[d]) + a[d];
+ l[f] = u;
+ }
+ return l;
+ }, 'randomCentroids')),
+ (jpe = o(function (e, r, n, i, a) {
+ for (var s = 1 / 0, l = 0, u = 0; u < r.length; u++) {
+ var h = _6(n, e, r[u], i, a);
+ h < s && ((s = h), (l = u));
+ }
+ return l;
+ }, 'classify')),
+ (Kpe = o(function (e, r, n) {
+ for (var i = [], a = null, s = 0; s < r.length; s++) (a = r[s]), n[a.id()] === e && i.push(a);
+ return i;
+ }, 'buildCluster')),
+ (ZWe = o(function (e, r, n) {
+ return Math.abs(r - e) <= n;
+ }, 'haveValuesConverged')),
+ (JWe = o(function (e, r, n) {
+ for (var i = 0; i < e.length; i++)
+ for (var a = 0; a < e[i].length; a++) {
+ var s = Math.abs(e[i][a] - r[i][a]);
+ if (s > n) return !1;
+ }
+ return !0;
+ }, 'haveMatricesConverged')),
+ (eqe = o(function (e, r, n) {
+ for (var i = 0; i < n; i++) if (e === r[i]) return !0;
+ return !1;
+ }, 'seenBefore')),
+ (T0e = o(function (e, r) {
+ var n = new Array(r);
+ if (e.length < 50)
+ for (var i = 0; i < r; i++) {
+ for (var a = e[Math.floor(Math.random() * e.length)]; eqe(a, n, i); )
+ a = e[Math.floor(Math.random() * e.length)];
+ n[i] = a;
+ }
+ else for (var s = 0; s < r; s++) n[s] = e[Math.floor(Math.random() * e.length)];
+ return n;
+ }, 'randomMedoids')),
+ (k0e = o(function (e, r, n) {
+ for (var i = 0, a = 0; a < r.length; a++) i += _6('manhattan', r[a], e, n, 'kMedoids');
+ return i;
+ }, 'findCost')),
+ (tqe = o(function (e) {
+ var r = this.cy(),
+ n = this.nodes(),
+ i = null,
+ a = iB(e),
+ s = new Array(a.k),
+ l = {},
+ u;
+ a.testMode
+ ? typeof a.testCentroids == 'number'
+ ? (a.testCentroids, (u = kP(n, a.k, a.attributes)))
+ : Hi(a.testCentroids) === 'object'
+ ? (u = a.testCentroids)
+ : (u = kP(n, a.k, a.attributes))
+ : (u = kP(n, a.k, a.attributes));
+ for (var h = !0, f = 0; h && f < a.maxIterations; ) {
+ for (var d = 0; d < n.length; d++)
+ (i = n[d]), (l[i.id()] = jpe(i, u, a.distance, a.attributes, 'kMeans'));
+ h = !1;
+ for (var p = 0; p < a.k; p++) {
+ var m = Kpe(p, n, l);
+ if (m.length !== 0) {
+ for (
+ var g = a.attributes.length, y = u[p], v = new Array(g), x = new Array(g), b = 0;
+ b < g;
+ b++
+ ) {
+ x[b] = 0;
+ for (var w = 0; w < m.length; w++) (i = m[w]), (x[b] += a.attributes[b](i));
+ (v[b] = x[b] / m.length), ZWe(v[b], y[b], a.sensitivityThreshold) || (h = !0);
+ }
+ (u[p] = v), (s[p] = r.collection(m));
+ }
+ }
+ f++;
+ }
+ return s;
+ }, 'kMeans')),
+ (rqe = o(function (e) {
+ var r = this.cy(),
+ n = this.nodes(),
+ i = null,
+ a = iB(e),
+ s = new Array(a.k),
+ l,
+ u = {},
+ h,
+ f = new Array(a.k);
+ a.testMode
+ ? typeof a.testCentroids == 'number' ||
+ (Hi(a.testCentroids) === 'object' ? (l = a.testCentroids) : (l = T0e(n, a.k)))
+ : (l = T0e(n, a.k));
+ for (var d = !0, p = 0; d && p < a.maxIterations; ) {
+ for (var m = 0; m < n.length; m++)
+ (i = n[m]), (u[i.id()] = jpe(i, l, a.distance, a.attributes, 'kMedoids'));
+ d = !1;
+ for (var g = 0; g < l.length; g++) {
+ var y = Kpe(g, n, u);
+ if (y.length !== 0) {
+ f[g] = k0e(l[g], y, a.attributes);
+ for (var v = 0; v < y.length; v++)
+ (h = k0e(y[v], y, a.attributes)), h < f[g] && ((f[g] = h), (l[g] = y[v]), (d = !0));
+ s[g] = r.collection(y);
+ }
+ }
+ p++;
+ }
+ return s;
+ }, 'kMedoids')),
+ (nqe = o(function (e, r, n, i, a) {
+ for (var s, l, u = 0; u < r.length; u++)
+ for (var h = 0; h < e.length; h++) i[u][h] = Math.pow(n[u][h], a.m);
+ for (var f = 0; f < e.length; f++)
+ for (var d = 0; d < a.attributes.length; d++) {
+ (s = 0), (l = 0);
+ for (var p = 0; p < r.length; p++) (s += i[p][f] * a.attributes[d](r[p])), (l += i[p][f]);
+ e[f][d] = s / l;
+ }
+ }, 'updateCentroids')),
+ (iqe = o(function (e, r, n, i, a) {
+ for (var s = 0; s < e.length; s++) r[s] = e[s].slice();
+ for (var l, u, h, f = 2 / (a.m - 1), d = 0; d < n.length; d++)
+ for (var p = 0; p < i.length; p++) {
+ l = 0;
+ for (var m = 0; m < n.length; m++)
+ (u = _6(a.distance, i[p], n[d], a.attributes, 'cmeans')),
+ (h = _6(a.distance, i[p], n[m], a.attributes, 'cmeans')),
+ (l += Math.pow(u / h, f));
+ e[p][d] = 1 / l;
+ }
+ }, 'updateMembership')),
+ (aqe = o(function (e, r, n, i) {
+ for (var a = new Array(n.k), s = 0; s < a.length; s++) a[s] = [];
+ for (var l, u, h = 0; h < r.length; h++) {
+ (l = -1 / 0), (u = -1);
+ for (var f = 0; f < r[0].length; f++) r[h][f] > l && ((l = r[h][f]), (u = f));
+ a[u].push(e[h]);
+ }
+ for (var d = 0; d < a.length; d++) a[d] = i.collection(a[d]);
+ return a;
+ }, 'assign')),
+ (E0e = o(function (e) {
+ var r = this.cy(),
+ n = this.nodes(),
+ i = iB(e),
+ a,
+ s,
+ l,
+ u,
+ h;
+ u = new Array(n.length);
+ for (var f = 0; f < n.length; f++) u[f] = new Array(i.k);
+ l = new Array(n.length);
+ for (var d = 0; d < n.length; d++) l[d] = new Array(i.k);
+ for (var p = 0; p < n.length; p++) {
+ for (var m = 0, g = 0; g < i.k; g++) (l[p][g] = Math.random()), (m += l[p][g]);
+ for (var y = 0; y < i.k; y++) l[p][y] = l[p][y] / m;
+ }
+ s = new Array(i.k);
+ for (var v = 0; v < i.k; v++) s[v] = new Array(i.attributes.length);
+ h = new Array(n.length);
+ for (var x = 0; x < n.length; x++) h[x] = new Array(i.k);
+ for (var b = !0, w = 0; b && w < i.maxIterations; )
+ (b = !1),
+ nqe(s, n, l, h, i),
+ iqe(l, u, s, n, i),
+ JWe(l, u, i.sensitivityThreshold) || (b = !0),
+ w++;
+ return (a = aqe(n, l, i, r)), { clusters: a, degreeOfMembership: l };
+ }, 'fuzzyCMeans')),
+ (sqe = { kMeans: tqe, kMedoids: rqe, fuzzyCMeans: E0e, fcm: E0e }),
+ (oqe = Sa({
+ distance: 'euclidean',
+ linkage: 'min',
+ mode: 'threshold',
+ threshold: 1 / 0,
+ addDendrogram: !1,
+ dendrogramDepth: 0,
+ attributes: []
+ })),
+ (lqe = { single: 'min', complete: 'max' }),
+ (cqe = o(function (e) {
+ var r = oqe(e),
+ n = lqe[r.linkage];
+ return n != null && (r.linkage = n), r;
+ }, 'setOptions')),
+ (C0e = o(function (e, r, n, i, a) {
+ for (
+ var s = 0,
+ l = 1 / 0,
+ u,
+ h = a.attributes,
+ f = o(function (L, M) {
+ return z6(
+ a.distance,
+ h.length,
+ function (N) {
+ return h[N](L);
+ },
+ function (N) {
+ return h[N](M);
+ },
+ L,
+ M
+ );
+ }, 'getDist'),
+ d = 0;
+ d < e.length;
+ d++
+ ) {
+ var p = e[d].key,
+ m = n[p][i[p]];
+ m < l && ((s = p), (l = m));
+ }
+ if ((a.mode === 'threshold' && l >= a.threshold) || (a.mode === 'dendrogram' && e.length === 1))
+ return !1;
+ var g = r[s],
+ y = r[i[s]],
+ v;
+ a.mode === 'dendrogram'
+ ? (v = { left: g, right: y, key: g.key })
+ : (v = { value: g.value.concat(y.value), key: g.key }),
+ (e[g.index] = v),
+ e.splice(y.index, 1),
+ (r[g.key] = v);
+ for (var x = 0; x < e.length; x++) {
+ var b = e[x];
+ g.key === b.key
+ ? (u = 1 / 0)
+ : a.linkage === 'min'
+ ? ((u = n[g.key][b.key]), n[g.key][b.key] > n[y.key][b.key] && (u = n[y.key][b.key]))
+ : a.linkage === 'max'
+ ? ((u = n[g.key][b.key]), n[g.key][b.key] < n[y.key][b.key] && (u = n[y.key][b.key]))
+ : a.linkage === 'mean'
+ ? (u = (n[g.key][b.key] * g.size + n[y.key][b.key] * y.size) / (g.size + y.size))
+ : a.mode === 'dendrogram'
+ ? (u = f(b.value, g.value))
+ : (u = f(b.value[0], g.value[0])),
+ (n[g.key][b.key] = n[b.key][g.key] = u);
+ }
+ for (var w = 0; w < e.length; w++) {
+ var S = e[w].key;
+ if (i[S] === g.key || i[S] === y.key) {
+ for (var T = S, E = 0; E < e.length; E++) {
+ var _ = e[E].key;
+ n[S][_] < n[S][T] && (T = _);
+ }
+ i[S] = T;
+ }
+ e[w].index = w;
+ }
+ return (g.key = y.key = g.index = y.index = null), !0;
+ }, 'mergeClosest')),
+ (a6 = o(function t(e, r, n) {
+ e && (e.value ? r.push(e.value) : (e.left && t(e.left, r), e.right && t(e.right, r)));
+ }, 'getAllChildren')),
+ (uqe = o(function t(e, r) {
+ if (!e) return '';
+ if (e.left && e.right) {
+ var n = t(e.left, r),
+ i = t(e.right, r),
+ a = r.add({ group: 'nodes', data: { id: n + ',' + i } });
+ return (
+ r.add({ group: 'edges', data: { source: n, target: a.id() } }),
+ r.add({ group: 'edges', data: { source: i, target: a.id() } }),
+ a.id()
+ );
+ } else if (e.value) return e.value.id();
+ }, 'buildDendrogram')),
+ (hqe = o(function t(e, r, n) {
+ if (!e) return [];
+ var i = [],
+ a = [],
+ s = [];
+ return r === 0
+ ? (e.left && a6(e.left, i), e.right && a6(e.right, a), (s = i.concat(a)), [n.collection(s)])
+ : r === 1
+ ? e.value
+ ? [n.collection(e.value)]
+ : (e.left && a6(e.left, i), e.right && a6(e.right, a), [n.collection(i), n.collection(a)])
+ : e.value
+ ? [n.collection(e.value)]
+ : (e.left && (i = t(e.left, r - 1, n)), e.right && (a = t(e.right, r - 1, n)), i.concat(a));
+ }, 'buildClustersFromTree')),
+ (S0e = o(function (e) {
+ for (
+ var r = this.cy(),
+ n = this.nodes(),
+ i = cqe(e),
+ a = i.attributes,
+ s = o(function (w, S) {
+ return z6(
+ i.distance,
+ a.length,
+ function (T) {
+ return a[T](w);
+ },
+ function (T) {
+ return a[T](S);
+ },
+ w,
+ S
+ );
+ }, 'getDist'),
+ l = [],
+ u = [],
+ h = [],
+ f = [],
+ d = 0;
+ d < n.length;
+ d++
+ ) {
+ var p = {
+ value: i.mode === 'dendrogram' ? n[d] : [n[d]],
+ key: d,
+ index: d
+ };
+ (l[d] = p), (f[d] = p), (u[d] = []), (h[d] = 0);
+ }
+ for (var m = 0; m < l.length; m++)
+ for (var g = 0; g <= m; g++) {
+ var y = void 0;
+ i.mode === 'dendrogram'
+ ? (y = m === g ? 1 / 0 : s(l[m].value, l[g].value))
+ : (y = m === g ? 1 / 0 : s(l[m].value[0], l[g].value[0])),
+ (u[m][g] = y),
+ (u[g][m] = y),
+ y < u[m][h[m]] && (h[m] = g);
+ }
+ for (var v = C0e(l, f, u, h, i); v; ) v = C0e(l, f, u, h, i);
+ var x;
+ return (
+ i.mode === 'dendrogram'
+ ? ((x = hqe(l[0], i.dendrogramDepth, r)), i.addDendrogram && uqe(l[0], r))
+ : ((x = new Array(l.length)),
+ l.forEach(function (b, w) {
+ (b.key = b.index = null), (x[w] = r.collection(b.value));
+ })),
+ x
+ );
+ }, 'hierarchicalClustering')),
+ (fqe = { hierarchicalClustering: S0e, hca: S0e }),
+ (dqe = Sa({
+ distance: 'euclidean',
+ preference: 'median',
+ damping: 0.8,
+ maxIterations: 1e3,
+ minIterations: 100,
+ attributes: []
+ })),
+ (pqe = o(function (e) {
+ var r = e.damping,
+ n = e.preference;
+ (0.5 <= r && r < 1) || oi('Damping must range on [0.5, 1). Got: '.concat(r));
+ var i = ['median', 'mean', 'min', 'max'];
+ return (
+ i.some(function (a) {
+ return a === n;
+ }) ||
+ ft(n) ||
+ oi(
+ 'Preference must be one of ['
+ .concat(
+ i
+ .map(function (a) {
+ return "'".concat(a, "'");
+ })
+ .join(', '),
+ '] or a number. Got: '
+ )
+ .concat(n)
+ ),
+ dqe(e)
+ );
+ }, 'setOptions')),
+ (mqe = o(function (e, r, n, i) {
+ var a = o(function (l, u) {
+ return i[u](l);
+ }, 'attr');
+ return -z6(
+ e,
+ i.length,
+ function (s) {
+ return a(r, s);
+ },
+ function (s) {
+ return a(n, s);
+ },
+ r,
+ n
+ );
+ }, 'getSimilarity')),
+ (gqe = o(function (e, r) {
+ var n = null;
+ return (
+ r === 'median'
+ ? (n = pWe(e))
+ : r === 'mean'
+ ? (n = dWe(e))
+ : r === 'min'
+ ? (n = hWe(e))
+ : r === 'max'
+ ? (n = fWe(e))
+ : (n = r),
+ n
+ );
+ }, 'getPreference')),
+ (yqe = o(function (e, r, n) {
+ for (var i = [], a = 0; a < e; a++) r[a * e + a] + n[a * e + a] > 0 && i.push(a);
+ return i;
+ }, 'findExemplars')),
+ (A0e = o(function (e, r, n) {
+ for (var i = [], a = 0; a < e; a++) {
+ for (var s = -1, l = -1 / 0, u = 0; u < n.length; u++) {
+ var h = n[u];
+ r[a * e + h] > l && ((s = h), (l = r[a * e + h]));
+ }
+ s > 0 && i.push(s);
+ }
+ for (var f = 0; f < n.length; f++) i[n[f]] = n[f];
+ return i;
+ }, 'assignClusters')),
+ (vqe = o(function (e, r, n) {
+ for (var i = A0e(e, r, n), a = 0; a < n.length; a++) {
+ for (var s = [], l = 0; l < i.length; l++) i[l] === n[a] && s.push(l);
+ for (var u = -1, h = -1 / 0, f = 0; f < s.length; f++) {
+ for (var d = 0, p = 0; p < s.length; p++) d += r[s[p] * e + s[f]];
+ d > h && ((u = f), (h = d));
+ }
+ n[a] = s[u];
+ }
+ return (i = A0e(e, r, n)), i;
+ }, 'assign')),
+ (_0e = o(function (e) {
+ for (var r = this.cy(), n = this.nodes(), i = pqe(e), a = {}, s = 0; s < n.length; s++)
+ a[n[s].id()] = s;
+ var l, u, h, f, d, p;
+ (l = n.length), (u = l * l), (h = new Array(u));
+ for (var m = 0; m < u; m++) h[m] = -1 / 0;
+ for (var g = 0; g < l; g++)
+ for (var y = 0; y < l; y++)
+ g !== y && (h[g * l + y] = mqe(i.distance, n[g], n[y], i.attributes));
+ f = gqe(h, i.preference);
+ for (var v = 0; v < l; v++) h[v * l + v] = f;
+ d = new Array(u);
+ for (var x = 0; x < u; x++) d[x] = 0;
+ p = new Array(u);
+ for (var b = 0; b < u; b++) p[b] = 0;
+ for (var w = new Array(l), S = new Array(l), T = new Array(l), E = 0; E < l; E++)
+ (w[E] = 0), (S[E] = 0), (T[E] = 0);
+ for (var _ = new Array(l * i.minIterations), A = 0; A < _.length; A++) _[A] = 0;
+ var L;
+ for (L = 0; L < i.maxIterations; L++) {
+ for (var M = 0; M < l; M++) {
+ for (var N = -1 / 0, k = -1 / 0, I = -1, C = 0, O = 0; O < l; O++)
+ (w[O] = d[M * l + O]),
+ (C = p[M * l + O] + h[M * l + O]),
+ C >= N ? ((k = N), (N = C), (I = O)) : C > k && (k = C);
+ for (var D = 0; D < l; D++)
+ d[M * l + D] = (1 - i.damping) * (h[M * l + D] - N) + i.damping * w[D];
+ d[M * l + I] = (1 - i.damping) * (h[M * l + I] - k) + i.damping * w[I];
+ }
+ for (var P = 0; P < l; P++) {
+ for (var F = 0, B = 0; B < l; B++)
+ (w[B] = p[B * l + P]), (S[B] = Math.max(0, d[B * l + P])), (F += S[B]);
+ (F -= S[P]), (S[P] = d[P * l + P]), (F += S[P]);
+ for (var $ = 0; $ < l; $++)
+ p[$ * l + P] = (1 - i.damping) * Math.min(0, F - S[$]) + i.damping * w[$];
+ p[P * l + P] = (1 - i.damping) * (F - S[P]) + i.damping * w[P];
+ }
+ for (var z = 0, Y = 0; Y < l; Y++) {
+ var Q = p[Y * l + Y] + d[Y * l + Y] > 0 ? 1 : 0;
+ (_[(L % i.minIterations) * l + Y] = Q), (z += Q);
+ }
+ if (z > 0 && (L >= i.minIterations - 1 || L == i.maxIterations - 1)) {
+ for (var X = 0, ie = 0; ie < l; ie++) {
+ T[ie] = 0;
+ for (var j = 0; j < i.minIterations; j++) T[ie] += _[j * l + ie];
+ (T[ie] === 0 || T[ie] === i.minIterations) && X++;
+ }
+ if (X === l) break;
+ }
+ }
+ for (var J = yqe(l, d, p), Z = vqe(l, h, J), H = {}, q = 0; q < J.length; q++) H[J[q]] = [];
+ for (var K = 0; K < n.length; K++) {
+ var se = a[n[K].id()],
+ ce = Z[se];
+ ce != null && H[ce].push(n[K]);
+ }
+ for (var ue = new Array(J.length), te = 0; te < J.length; te++) ue[te] = r.collection(H[J[te]]);
+ return ue;
+ }, 'affinityPropagation')),
+ (xqe = { affinityPropagation: _0e, ap: _0e }),
+ (bqe = Sa({ root: void 0, directed: !1 })),
+ (wqe = {
+ hierholzer: o(function (e) {
+ if (!Mr(e)) {
+ var r = arguments;
+ e = { root: r[0], directed: r[1] };
+ }
+ var n = bqe(e),
+ i = n.root,
+ a = n.directed,
+ s = this,
+ l = !1,
+ u,
+ h,
+ f;
+ i && (f = zt(i) ? this.filter(i)[0].id() : i[0].id());
+ var d = {},
+ p = {};
+ a
+ ? s.forEach(function (b) {
+ var w = b.id();
+ if (b.isNode()) {
+ var S = b.indegree(!0),
+ T = b.outdegree(!0),
+ E = S - T,
+ _ = T - S;
+ E == 1
+ ? u
+ ? (l = !0)
+ : (u = w)
+ : _ == 1
+ ? h
+ ? (l = !0)
+ : (h = w)
+ : (_ > 1 || E > 1) && (l = !0),
+ (d[w] = []),
+ b.outgoers().forEach(function (A) {
+ A.isEdge() && d[w].push(A.id());
+ });
+ } else p[w] = [void 0, b.target().id()];
+ })
+ : s.forEach(function (b) {
+ var w = b.id();
+ if (b.isNode()) {
+ var S = b.degree(!0);
+ S % 2 && (u ? (h ? (l = !0) : (h = w)) : (u = w)),
+ (d[w] = []),
+ b.connectedEdges().forEach(function (T) {
+ return d[w].push(T.id());
+ });
+ } else p[w] = [b.source().id(), b.target().id()];
+ });
+ var m = { found: !1, trail: void 0 };
+ if (l) return m;
+ if (h && u)
+ if (a) {
+ if (f && h != f) return m;
+ f = h;
+ } else {
+ if (f && h != f && u != f) return m;
+ f || (f = h);
+ }
+ else f || (f = s[0].id());
+ var g = o(function (w) {
+ for (var S = w, T = [w], E, _, A; d[S].length; )
+ (E = d[S].shift()),
+ (_ = p[E][0]),
+ (A = p[E][1]),
+ S != A
+ ? ((d[A] = d[A].filter(function (L) {
+ return L != E;
+ })),
+ (S = A))
+ : !a &&
+ S != _ &&
+ ((d[_] = d[_].filter(function (L) {
+ return L != E;
+ })),
+ (S = _)),
+ T.unshift(E),
+ T.unshift(S);
+ return T;
+ }, 'walk'),
+ y = [],
+ v = [];
+ for (v = g(f); v.length != 1; )
+ d[v[0]].length == 0
+ ? (y.unshift(s.getElementById(v.shift())), y.unshift(s.getElementById(v.shift())))
+ : (v = g(v.shift()).concat(v));
+ y.unshift(s.getElementById(v.shift()));
+ for (var x in d) if (d[x].length) return m;
+ return (m.found = !0), (m.trail = this.spawn(y, !0)), m;
+ }, 'hierholzer')
+ }),
+ (s6 = o(function () {
+ var e = this,
+ r = {},
+ n = 0,
+ i = 0,
+ a = [],
+ s = [],
+ l = {},
+ u = o(function (p, m) {
+ for (var g = s.length - 1, y = [], v = e.spawn(); s[g].x != p || s[g].y != m; )
+ y.push(s.pop().edge), g--;
+ y.push(s.pop().edge),
+ y.forEach(function (x) {
+ var b = x.connectedNodes().intersection(e);
+ v.merge(x),
+ b.forEach(function (w) {
+ var S = w.id(),
+ T = w.connectedEdges().intersection(e);
+ v.merge(w),
+ r[S].cutVertex
+ ? v.merge(
+ T.filter(function (E) {
+ return E.isLoop();
+ })
+ )
+ : v.merge(T);
+ });
+ }),
+ a.push(v);
+ }, 'buildComponent'),
+ h = o(function d(p, m, g) {
+ p === g && (i += 1), (r[m] = { id: n, low: n++, cutVertex: !1 });
+ var y = e.getElementById(m).connectedEdges().intersection(e);
+ if (y.size() === 0) a.push(e.spawn(e.getElementById(m)));
+ else {
+ var v, x, b, w;
+ y.forEach(function (S) {
+ (v = S.source().id()),
+ (x = S.target().id()),
+ (b = v === m ? x : v),
+ b !== g &&
+ ((w = S.id()),
+ l[w] || ((l[w] = !0), s.push({ x: m, y: b, edge: S })),
+ b in r
+ ? (r[m].low = Math.min(r[m].low, r[b].id))
+ : (d(p, b, m),
+ (r[m].low = Math.min(r[m].low, r[b].low)),
+ r[m].id <= r[b].low && ((r[m].cutVertex = !0), u(m, b))));
+ });
+ }
+ }, 'biconnectedSearch');
+ e.forEach(function (d) {
+ if (d.isNode()) {
+ var p = d.id();
+ p in r || ((i = 0), h(p, p), (r[p].cutVertex = i > 1));
+ }
+ });
+ var f = Object.keys(r)
+ .filter(function (d) {
+ return r[d].cutVertex;
+ })
+ .map(function (d) {
+ return e.getElementById(d);
+ });
+ return { cut: e.spawn(f), components: a };
+ }, 'hopcroftTarjanBiconnected')),
+ (Tqe = {
+ hopcroftTarjanBiconnected: s6,
+ htbc: s6,
+ htb: s6,
+ hopcroftTarjanBiconnectedComponents: s6
+ }),
+ (o6 = o(function () {
+ var e = this,
+ r = {},
+ n = 0,
+ i = [],
+ a = [],
+ s = e.spawn(e),
+ l = o(function u(h) {
+ a.push(h), (r[h] = { index: n, low: n++, explored: !1 });
+ var f = e.getElementById(h).connectedEdges().intersection(e);
+ if (
+ (f.forEach(function (y) {
+ var v = y.target().id();
+ v !== h &&
+ (v in r || u(v), r[v].explored || (r[h].low = Math.min(r[h].low, r[v].low)));
+ }),
+ r[h].index === r[h].low)
+ ) {
+ for (var d = e.spawn(); ; ) {
+ var p = a.pop();
+ if (
+ (d.merge(e.getElementById(p)),
+ (r[p].low = r[h].index),
+ (r[p].explored = !0),
+ p === h)
+ )
+ break;
+ }
+ var m = d.edgesWith(d),
+ g = d.merge(m);
+ i.push(g), (s = s.difference(g));
+ }
+ }, 'stronglyConnectedSearch');
+ return (
+ e.forEach(function (u) {
+ if (u.isNode()) {
+ var h = u.id();
+ h in r || l(h);
+ }
+ }),
+ { cut: s, components: i }
+ );
+ }, 'tarjanStronglyConnected')),
+ (kqe = {
+ tarjanStronglyConnected: o6,
+ tsc: o6,
+ tscc: o6,
+ tarjanStronglyConnectedComponents: o6
+ }),
+ (Qpe = {});
+ [Ux, JYe, eWe, rWe, iWe, sWe, cWe, IWe, r1, n1, IP, qWe, sqe, fqe, xqe, wqe, Tqe, kqe].forEach(function (
+ t
+ ) {
+ Wt(Qpe, t);
+ });
+ (Zpe = 0),
+ (Jpe = 1),
+ (eme = 2),
+ (Zu = o(function t(e) {
+ if (!(this instanceof t)) return new t(e);
+ (this.id = 'Thenable/1.0.7'),
+ (this.state = Zpe),
+ (this.fulfillValue = void 0),
+ (this.rejectReason = void 0),
+ (this.onFulfilled = []),
+ (this.onRejected = []),
+ (this.proxy = { then: this.then.bind(this) }),
+ typeof e == 'function' && e.call(this, this.fulfill.bind(this), this.reject.bind(this));
+ }, 'api'));
+ Zu.prototype = {
+ fulfill: o(function (e) {
+ return L0e(this, Jpe, 'fulfillValue', e);
+ }, 'fulfill'),
+ reject: o(function (e) {
+ return L0e(this, eme, 'rejectReason', e);
+ }, 'reject'),
+ then: o(function (e, r) {
+ var n = this,
+ i = new Zu();
+ return (
+ n.onFulfilled.push(R0e(e, i, 'fulfill')),
+ n.onRejected.push(R0e(r, i, 'reject')),
+ tme(n),
+ i.proxy
+ );
+ }, 'then')
+ };
+ (L0e = o(function (e, r, n, i) {
+ return e.state === Zpe && ((e.state = r), (e[n] = i), tme(e)), e;
+ }, 'deliver')),
+ (tme = o(function (e) {
+ e.state === Jpe
+ ? D0e(e, 'onFulfilled', e.fulfillValue)
+ : e.state === eme && D0e(e, 'onRejected', e.rejectReason);
+ }, 'execute')),
+ (D0e = o(function (e, r, n) {
+ if (e[r].length !== 0) {
+ var i = e[r];
+ e[r] = [];
+ var a = o(function () {
+ for (var l = 0; l < i.length; l++) i[l](n);
+ }, 'func');
+ typeof setImmediate == 'function' ? setImmediate(a) : setTimeout(a, 0);
+ }
+ }, 'execute_handlers')),
+ (R0e = o(function (e, r, n) {
+ return function (i) {
+ if (typeof e != 'function') r[n].call(r, i);
+ else {
+ var a;
+ try {
+ a = e(i);
+ } catch (s) {
+ r.reject(s);
+ return;
+ }
+ Eqe(r, a);
+ }
+ };
+ }, 'resolver')),
+ (Eqe = o(function t(e, r) {
+ if (e === r || e.proxy === r) {
+ e.reject(new TypeError('cannot resolve promise with itself'));
+ return;
+ }
+ var n;
+ if ((Hi(r) === 'object' && r !== null) || typeof r == 'function')
+ try {
+ n = r.then;
+ } catch (a) {
+ e.reject(a);
+ return;
+ }
+ if (typeof n == 'function') {
+ var i = !1;
+ try {
+ n.call(
+ r,
+ function (a) {
+ i ||
+ ((i = !0),
+ a === r ? e.reject(new TypeError('circular thenable chain')) : t(e, a));
+ },
+ function (a) {
+ i || ((i = !0), e.reject(a));
+ }
+ );
+ } catch (a) {
+ i || e.reject(a);
+ }
+ return;
+ }
+ e.fulfill(r);
+ }, 'resolve'));
+ Zu.all = function (t) {
+ return new Zu(function (e, r) {
+ for (
+ var n = new Array(t.length),
+ i = 0,
+ a = o(function (u, h) {
+ (n[u] = h), i++, i === t.length && e(n);
+ }, 'fulfill'),
+ s = 0;
+ s < t.length;
+ s++
+ )
+ (function (l) {
+ var u = t[l],
+ h = u != null && u.then != null;
+ if (h)
+ u.then(
+ function (d) {
+ a(l, d);
+ },
+ function (d) {
+ r(d);
+ }
+ );
+ else {
+ var f = u;
+ a(l, f);
+ }
+ })(s);
+ });
+ };
+ Zu.resolve = function (t) {
+ return new Zu(function (e, r) {
+ e(t);
+ });
+ };
+ Zu.reject = function (t) {
+ return new Zu(function (e, r) {
+ r(t);
+ });
+ };
+ (u1 = typeof Promise < 'u' ? Promise : Zu),
+ (OP = o(function (e, r, n) {
+ var i = KP(e),
+ a = !i,
+ s = (this._private = Wt({ duration: 1e3 }, r, n));
+ if (
+ ((s.target = e),
+ (s.style = s.style || s.css),
+ (s.started = !1),
+ (s.playing = !1),
+ (s.hooked = !1),
+ (s.applying = !1),
+ (s.progress = 0),
+ (s.completes = []),
+ (s.frames = []),
+ s.complete && jn(s.complete) && s.completes.push(s.complete),
+ a)
+ ) {
+ var l = e.position();
+ (s.startPosition = s.startPosition || { x: l.x, y: l.y }),
+ (s.startStyle = s.startStyle || e.cy().style().getAnimationStartStyle(e, s.style));
+ }
+ if (i) {
+ var u = e.pan();
+ (s.startPan = { x: u.x, y: u.y }), (s.startZoom = e.zoom());
+ }
+ (this.length = 1), (this[0] = this);
+ }, 'Animation')),
+ (W0 = OP.prototype);
+ Wt(W0, {
+ instanceString: o(function () {
+ return 'animation';
+ }, 'instanceString'),
+ hook: o(function () {
+ var e = this._private;
+ if (!e.hooked) {
+ var r,
+ n = e.target._private.animation;
+ e.queue ? (r = n.queue) : (r = n.current),
+ r.push(this),
+ xo(e.target) && e.target.cy().addToAnimationPool(e.target),
+ (e.hooked = !0);
+ }
+ return this;
+ }, 'hook'),
+ play: o(function () {
+ var e = this._private;
+ return (
+ e.progress === 1 && (e.progress = 0),
+ (e.playing = !0),
+ (e.started = !1),
+ (e.stopped = !1),
+ this.hook(),
+ this
+ );
+ }, 'play'),
+ playing: o(function () {
+ return this._private.playing;
+ }, 'playing'),
+ apply: o(function () {
+ var e = this._private;
+ return (e.applying = !0), (e.started = !1), (e.stopped = !1), this.hook(), this;
+ }, 'apply'),
+ applying: o(function () {
+ return this._private.applying;
+ }, 'applying'),
+ pause: o(function () {
+ var e = this._private;
+ return (e.playing = !1), (e.started = !1), this;
+ }, 'pause'),
+ stop: o(function () {
+ var e = this._private;
+ return (e.playing = !1), (e.started = !1), (e.stopped = !0), this;
+ }, 'stop'),
+ rewind: o(function () {
+ return this.progress(0);
+ }, 'rewind'),
+ fastforward: o(function () {
+ return this.progress(1);
+ }, 'fastforward'),
+ time: o(function (e) {
+ var r = this._private;
+ return e === void 0 ? r.progress * r.duration : this.progress(e / r.duration);
+ }, 'time'),
+ progress: o(function (e) {
+ var r = this._private,
+ n = r.playing;
+ return e === void 0
+ ? r.progress
+ : (n && this.pause(), (r.progress = e), (r.started = !1), n && this.play(), this);
+ }, 'progress'),
+ completed: o(function () {
+ return this._private.progress === 1;
+ }, 'completed'),
+ reverse: o(function () {
+ var e = this._private,
+ r = e.playing;
+ r && this.pause(), (e.progress = 1 - e.progress), (e.started = !1);
+ var n = o(function (h, f) {
+ var d = e[h];
+ d != null && ((e[h] = e[f]), (e[f] = d));
+ }, 'swap');
+ if ((n('zoom', 'startZoom'), n('pan', 'startPan'), n('position', 'startPosition'), e.style))
+ for (var i = 0; i < e.style.length; i++) {
+ var a = e.style[i],
+ s = a.name,
+ l = e.startStyle[s];
+ (e.startStyle[s] = a), (e.style[i] = l);
+ }
+ return r && this.play(), this;
+ }, 'reverse'),
+ promise: o(function (e) {
+ var r = this._private,
+ n;
+ switch (e) {
+ case 'frame':
+ n = r.frames;
+ break;
+ default:
+ case 'complete':
+ case 'completed':
+ n = r.completes;
+ }
+ return new u1(function (i, a) {
+ n.push(function () {
+ i();
+ });
+ });
+ }, 'promise')
+ });
+ W0.complete = W0.completed;
+ W0.run = W0.play;
+ W0.running = W0.playing;
+ (Cqe = {
+ animated: o(function () {
+ return o(function () {
+ var r = this,
+ n = r.length !== void 0,
+ i = n ? r : [r],
+ a = this._private.cy || this;
+ if (!a.styleEnabled()) return !1;
+ var s = i[0];
+ if (s) return s._private.animation.current.length > 0;
+ }, 'animatedImpl');
+ }, 'animated'),
+ clearQueue: o(function () {
+ return o(function () {
+ var r = this,
+ n = r.length !== void 0,
+ i = n ? r : [r],
+ a = this._private.cy || this;
+ if (!a.styleEnabled()) return this;
+ for (var s = 0; s < i.length; s++) {
+ var l = i[s];
+ l._private.animation.queue = [];
+ }
+ return this;
+ }, 'clearQueueImpl');
+ }, 'clearQueue'),
+ delay: o(function () {
+ return o(function (r, n) {
+ var i = this._private.cy || this;
+ return i.styleEnabled() ? this.animate({ delay: r, duration: r, complete: n }) : this;
+ }, 'delayImpl');
+ }, 'delay'),
+ delayAnimation: o(function () {
+ return o(function (r, n) {
+ var i = this._private.cy || this;
+ return i.styleEnabled() ? this.animation({ delay: r, duration: r, complete: n }) : this;
+ }, 'delayAnimationImpl');
+ }, 'delayAnimation'),
+ animation: o(function () {
+ return o(function (r, n) {
+ var i = this,
+ a = i.length !== void 0,
+ s = a ? i : [i],
+ l = this._private.cy || this,
+ u = !a,
+ h = !u;
+ if (!l.styleEnabled()) return this;
+ var f = l.style();
+ r = Wt({}, r, n);
+ var d = Object.keys(r).length === 0;
+ if (d) return new OP(s[0], r);
+ switch ((r.duration === void 0 && (r.duration = 400), r.duration)) {
+ case 'slow':
+ r.duration = 600;
+ break;
+ case 'fast':
+ r.duration = 200;
+ break;
+ }
+ if (
+ (h && ((r.style = f.getPropsList(r.style || r.css)), (r.css = void 0)),
+ h && r.renderedPosition != null)
+ ) {
+ var p = r.renderedPosition,
+ m = l.pan(),
+ g = l.zoom();
+ r.position = Gpe(p, g, m);
+ }
+ if (u && r.panBy != null) {
+ var y = r.panBy,
+ v = l.pan();
+ r.pan = { x: v.x + y.x, y: v.y + y.y };
+ }
+ var x = r.center || r.centre;
+ if (u && x != null) {
+ var b = l.getCenterPan(x.eles, r.zoom);
+ b != null && (r.pan = b);
+ }
+ if (u && r.fit != null) {
+ var w = r.fit,
+ S = l.getFitViewport(w.eles || w.boundingBox, w.padding);
+ S != null && ((r.pan = S.pan), (r.zoom = S.zoom));
+ }
+ if (u && Mr(r.zoom)) {
+ var T = l.getZoomedViewport(r.zoom);
+ T != null ? (T.zoomed && (r.zoom = T.zoom), T.panned && (r.pan = T.pan)) : (r.zoom = null);
+ }
+ return new OP(s[0], r);
+ }, 'animationImpl');
+ }, 'animation'),
+ animate: o(function () {
+ return o(function (r, n) {
+ var i = this,
+ a = i.length !== void 0,
+ s = a ? i : [i],
+ l = this._private.cy || this;
+ if (!l.styleEnabled()) return this;
+ n && (r = Wt({}, r, n));
+ for (var u = 0; u < s.length; u++) {
+ var h = s[u],
+ f = h.animated() && (r.queue === void 0 || r.queue),
+ d = h.animation(r, f ? { queue: !0 } : void 0);
+ d.play();
+ }
+ return this;
+ }, 'animateImpl');
+ }, 'animate'),
+ stop: o(function () {
+ return o(function (r, n) {
+ var i = this,
+ a = i.length !== void 0,
+ s = a ? i : [i],
+ l = this._private.cy || this;
+ if (!l.styleEnabled()) return this;
+ for (var u = 0; u < s.length; u++) {
+ for (var h = s[u], f = h._private, d = f.animation.current, p = 0; p < d.length; p++) {
+ var m = d[p],
+ g = m._private;
+ n && (g.duration = 0);
+ }
+ r && (f.animation.queue = []), n || (f.animation.current = []);
+ }
+ return l.notify('draw'), this;
+ }, 'stopImpl');
+ }, 'stop')
+ }),
+ (Sqe = Array.isArray),
+ (G6 = Sqe),
+ (Aqe = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/),
+ (_qe = /^\w*$/);
+ o(Lqe, 'isKey');
+ (Dqe = Lqe),
+ (Rqe = '[object AsyncFunction]'),
+ (Nqe = '[object Function]'),
+ (Mqe = '[object GeneratorFunction]'),
+ (Iqe = '[object Proxy]');
+ o(Oqe, 'isFunction');
+ (Pqe = Oqe),
+ (Bqe = O6['__core-js_shared__']),
+ (EP = Bqe),
+ (N0e = (function () {
+ var t = /[^.]+$/.exec((EP && EP.keys && EP.keys.IE_PROTO) || '');
+ return t ? 'Symbol(src)_1.' + t : '';
+ })());
+ o(Fqe, 'isMasked');
+ (zqe = Fqe), (Gqe = Function.prototype), ($qe = Gqe.toString);
+ o(Vqe, 'toSource');
+ (Uqe = Vqe),
+ (Hqe = /[\\^$.*+?()[\]{}|]/g),
+ (Yqe = /^\[object .+?Constructor\]$/),
+ (Wqe = Function.prototype),
+ (qqe = Object.prototype),
+ (Xqe = Wqe.toString),
+ (jqe = qqe.hasOwnProperty),
+ (Kqe = RegExp(
+ '^' +
+ Xqe.call(jqe)
+ .replace(Hqe, '\\$&')
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') +
+ '$'
+ ));
+ o(Qqe, 'baseIsNative');
+ Zqe = Qqe;
+ o(Jqe, 'getValue$1');
+ eXe = Jqe;
+ o(tXe, 'getNative');
+ (aB = tXe), (rXe = aB(Object, 'create')), (Wx = rXe);
+ o(nXe, 'hashClear');
+ iXe = nXe;
+ o(aXe, 'hashDelete');
+ (sXe = aXe), (oXe = '__lodash_hash_undefined__'), (lXe = Object.prototype), (cXe = lXe.hasOwnProperty);
+ o(uXe, 'hashGet');
+ (hXe = uXe), (fXe = Object.prototype), (dXe = fXe.hasOwnProperty);
+ o(pXe, 'hashHas');
+ (mXe = pXe), (gXe = '__lodash_hash_undefined__');
+ o(yXe, 'hashSet');
+ vXe = yXe;
+ o(h1, 'Hash');
+ h1.prototype.clear = iXe;
+ h1.prototype.delete = sXe;
+ h1.prototype.get = hXe;
+ h1.prototype.has = mXe;
+ h1.prototype.set = vXe;
+ M0e = h1;
+ o(xXe, 'listCacheClear');
+ bXe = xXe;
+ o(wXe, 'eq');
+ rme = wXe;
+ o(TXe, 'assocIndexOf');
+ ($6 = TXe), (kXe = Array.prototype), (EXe = kXe.splice);
+ o(CXe, 'listCacheDelete');
+ SXe = CXe;
+ o(AXe, 'listCacheGet');
+ _Xe = AXe;
+ o(LXe, 'listCacheHas');
+ DXe = LXe;
+ o(RXe, 'listCacheSet');
+ NXe = RXe;
+ o(f1, 'ListCache');
+ f1.prototype.clear = bXe;
+ f1.prototype.delete = SXe;
+ f1.prototype.get = _Xe;
+ f1.prototype.has = DXe;
+ f1.prototype.set = NXe;
+ (MXe = f1), (IXe = aB(O6, 'Map')), (OXe = IXe);
+ o(PXe, 'mapCacheClear');
+ BXe = PXe;
+ o(FXe, 'isKeyable');
+ zXe = FXe;
+ o(GXe, 'getMapData');
+ V6 = GXe;
+ o($Xe, 'mapCacheDelete');
+ VXe = $Xe;
+ o(UXe, 'mapCacheGet');
+ HXe = UXe;
+ o(YXe, 'mapCacheHas');
+ WXe = YXe;
+ o(qXe, 'mapCacheSet');
+ XXe = qXe;
+ o(d1, 'MapCache');
+ d1.prototype.clear = BXe;
+ d1.prototype.delete = VXe;
+ d1.prototype.get = HXe;
+ d1.prototype.has = WXe;
+ d1.prototype.set = XXe;
+ (nme = d1), (jXe = 'Expected a function');
+ o(sB, 'memoize');
+ sB.Cache = nme;
+ (KXe = sB), (QXe = 500);
+ o(ZXe, 'memoizeCapped');
+ (JXe = ZXe),
+ (eje =
+ /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g),
+ (tje = /\\(\\)?/g),
+ (rje = JXe(function (t) {
+ var e = [];
+ return (
+ t.charCodeAt(0) === 46 && e.push(''),
+ t.replace(eje, function (r, n, i, a) {
+ e.push(i ? a.replace(tje, '$1') : n || r);
+ }),
+ e
+ );
+ })),
+ (ime = rje);
+ o(nje, 'arrayMap');
+ (ame = nje), (ije = 1 / 0), (I0e = a1 ? a1.prototype : void 0), (O0e = I0e ? I0e.toString : void 0);
+ o(sme, 'baseToString');
+ aje = sme;
+ o(sje, 'toString$1');
+ ome = sje;
+ o(oje, 'castPath');
+ (lme = oje), (lje = 1 / 0);
+ o(cje, 'toKey');
+ oB = cje;
+ o(uje, 'baseGet');
+ hje = uje;
+ o(fje, 'get');
+ (dje = fje),
+ (pje = (function () {
+ try {
+ var t = aB(Object, 'defineProperty');
+ return t({}, '', {}), t;
+ } catch {}
+ })()),
+ (P0e = pje);
+ o(mje, 'baseAssignValue');
+ (gje = mje), (yje = Object.prototype), (vje = yje.hasOwnProperty);
+ o(xje, 'assignValue');
+ (bje = xje), (wje = 9007199254740991), (Tje = /^(?:0|[1-9]\d*)$/);
+ o(kje, 'isIndex');
+ Eje = kje;
+ o(Cje, 'baseSet');
+ Sje = Cje;
+ o(Aje, 'set');
+ _je = Aje;
+ o(Lje, 'copyArray');
+ Dje = Lje;
+ o(Rje, 'toPath');
+ (Nje = Rje),
+ (Mje = {
+ data: o(function (e) {
+ var r = {
+ field: 'data',
+ bindingEvent: 'data',
+ allowBinding: !1,
+ allowSetting: !1,
+ allowGetting: !1,
+ settingEvent: 'data',
+ settingTriggersEvent: !1,
+ triggerFnName: 'trigger',
+ immutableKeys: {},
+ updateStyle: !1,
+ beforeGet: o(function (i) {}, 'beforeGet'),
+ beforeSet: o(function (i, a) {}, 'beforeSet'),
+ onSet: o(function (i) {}, 'onSet'),
+ canSet: o(function (i) {
+ return !0;
+ }, 'canSet')
+ };
+ return (
+ (e = Wt({}, r, e)),
+ o(function (i, a) {
+ var s = e,
+ l = this,
+ u = l.length !== void 0,
+ h = u ? l : [l],
+ f = u ? l[0] : l;
+ if (zt(i)) {
+ var d = i.indexOf('.') !== -1,
+ p = d && Nje(i);
+ if (s.allowGetting && a === void 0) {
+ var m;
+ return (
+ f &&
+ (s.beforeGet(f),
+ p && f._private[s.field][i] === void 0
+ ? (m = dje(f._private[s.field], p))
+ : (m = f._private[s.field][i])),
+ m
+ );
+ } else if (s.allowSetting && a !== void 0) {
+ var g = !s.immutableKeys[i];
+ if (g) {
+ var y = bpe({}, i, a);
+ s.beforeSet(l, y);
+ for (var v = 0, x = h.length; v < x; v++) {
+ var b = h[v];
+ s.canSet(b) &&
+ (p && f._private[s.field][i] === void 0
+ ? _je(b._private[s.field], p, a)
+ : (b._private[s.field][i] = a));
+ }
+ s.updateStyle && l.updateStyle(),
+ s.onSet(l),
+ s.settingTriggersEvent && l[s.triggerFnName](s.settingEvent);
+ }
+ }
+ } else if (s.allowSetting && Mr(i)) {
+ var w = i,
+ S,
+ T,
+ E = Object.keys(w);
+ s.beforeSet(l, w);
+ for (var _ = 0; _ < E.length; _++) {
+ (S = E[_]), (T = w[S]);
+ var A = !s.immutableKeys[S];
+ if (A)
+ for (var L = 0; L < h.length; L++) {
+ var M = h[L];
+ s.canSet(M) && (M._private[s.field][S] = T);
+ }
+ }
+ s.updateStyle && l.updateStyle(),
+ s.onSet(l),
+ s.settingTriggersEvent && l[s.triggerFnName](s.settingEvent);
+ } else if (s.allowBinding && jn(i)) {
+ var N = i;
+ l.on(s.bindingEvent, N);
+ } else if (s.allowGetting && i === void 0) {
+ var k;
+ return f && (s.beforeGet(f), (k = f._private[s.field])), k;
+ }
+ return l;
+ }, 'dataImpl')
+ );
+ }, 'data'),
+ removeData: o(function (e) {
+ var r = {
+ field: 'data',
+ event: 'data',
+ triggerFnName: 'trigger',
+ triggerEvent: !1,
+ immutableKeys: {}
+ };
+ return (
+ (e = Wt({}, r, e)),
+ o(function (i) {
+ var a = e,
+ s = this,
+ l = s.length !== void 0,
+ u = l ? s : [s];
+ if (zt(i)) {
+ for (var h = i.split(/\s+/), f = h.length, d = 0; d < f; d++) {
+ var p = h[d];
+ if (!Sf(p)) {
+ var m = !a.immutableKeys[p];
+ if (m)
+ for (var g = 0, y = u.length; g < y; g++)
+ u[g]._private[a.field][p] = void 0;
+ }
+ }
+ a.triggerEvent && s[a.triggerFnName](a.event);
+ } else if (i === void 0) {
+ for (var v = 0, x = u.length; v < x; v++)
+ for (
+ var b = u[v]._private[a.field], w = Object.keys(b), S = 0;
+ S < w.length;
+ S++
+ ) {
+ var T = w[S],
+ E = !a.immutableKeys[T];
+ E && (b[T] = void 0);
+ }
+ a.triggerEvent && s[a.triggerFnName](a.event);
+ }
+ return s;
+ }, 'removeDataImpl')
+ );
+ }, 'removeData')
+ }),
+ (Ije = {
+ eventAliasesOn: o(function (e) {
+ var r = e;
+ (r.addListener = r.listen = r.bind = r.on),
+ (r.unlisten = r.unbind = r.off = r.removeListener),
+ (r.trigger = r.emit),
+ (r.pon = r.promiseOn =
+ function (n, i) {
+ var a = this,
+ s = Array.prototype.slice.call(arguments, 0);
+ return new u1(function (l, u) {
+ var h = o(function (m) {
+ a.off.apply(a, d), l(m);
+ }, 'callback'),
+ f = s.concat([h]),
+ d = f.concat([]);
+ a.on.apply(a, f);
+ });
+ });
+ }, 'eventAliasesOn')
+ }),
+ (en = {});
+ [Cqe, Mje, Ije].forEach(function (t) {
+ Wt(en, t);
+ });
+ (Oje = {
+ animate: en.animate(),
+ animation: en.animation(),
+ animated: en.animated(),
+ clearQueue: en.clearQueue(),
+ delay: en.delay(),
+ delayAnimation: en.delayAnimation(),
+ stop: en.stop()
+ }),
+ (g6 = {
+ classes: o(function (e) {
+ var r = this;
+ if (e === void 0) {
+ var n = [];
+ return (
+ r[0]._private.classes.forEach(function (g) {
+ return n.push(g);
+ }),
+ n
+ );
+ } else vn(e) || (e = (e || '').match(/\S+/g) || []);
+ for (var i = [], a = new c1(e), s = 0; s < r.length; s++) {
+ for (var l = r[s], u = l._private, h = u.classes, f = !1, d = 0; d < e.length; d++) {
+ var p = e[d],
+ m = h.has(p);
+ if (!m) {
+ f = !0;
+ break;
+ }
+ }
+ f || (f = h.size !== e.length), f && ((u.classes = a), i.push(l));
+ }
+ return i.length > 0 && this.spawn(i).updateStyle().emit('class'), r;
+ }, 'classes'),
+ addClass: o(function (e) {
+ return this.toggleClass(e, !0);
+ }, 'addClass'),
+ hasClass: o(function (e) {
+ var r = this[0];
+ return r != null && r._private.classes.has(e);
+ }, 'hasClass'),
+ toggleClass: o(function (e, r) {
+ vn(e) || (e = e.match(/\S+/g) || []);
+ for (var n = this, i = r === void 0, a = [], s = 0, l = n.length; s < l; s++)
+ for (var u = n[s], h = u._private.classes, f = !1, d = 0; d < e.length; d++) {
+ var p = e[d],
+ m = h.has(p),
+ g = !1;
+ r || (i && !m) ? (h.add(p), (g = !0)) : (!r || (i && m)) && (h.delete(p), (g = !0)),
+ !f && g && (a.push(u), (f = !0));
+ }
+ return a.length > 0 && this.spawn(a).updateStyle().emit('class'), n;
+ }, 'toggleClass'),
+ removeClass: o(function (e) {
+ return this.toggleClass(e, !1);
+ }, 'removeClass'),
+ flashClass: o(function (e, r) {
+ var n = this;
+ if (r == null) r = 250;
+ else if (r === 0) return n;
+ return (
+ n.addClass(e),
+ setTimeout(function () {
+ n.removeClass(e);
+ }, r),
+ n
+ );
+ }, 'flashClass')
+ });
+ g6.className = g6.classNames = g6.classes;
+ Nr = {
+ metaChar: '[\\!\\"\\#\\$\\%\\&\\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]',
+ comparatorOp: '=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=',
+ boolOp: '\\?|\\!|\\^',
+ string: `"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,
+ number: Ui,
+ meta: 'degree|indegree|outdegree',
+ separator: '\\s*,\\s*',
+ descendant: '\\s+',
+ child: '\\s+>\\s+',
+ subject: '\\$',
+ group: 'node|edge|\\*',
+ directedEdge: '\\s+->\\s+',
+ undirectedEdge: '\\s+<->\\s+'
+ };
+ Nr.variable = '(?:[\\w-.]|(?:\\\\' + Nr.metaChar + '))+';
+ Nr.className = '(?:[\\w-]|(?:\\\\' + Nr.metaChar + '))+';
+ Nr.value = Nr.string + '|' + Nr.number;
+ Nr.id = Nr.variable;
+ (function () {
+ var t, e, r;
+ for (t = Nr.comparatorOp.split('|'), r = 0; r < t.length; r++)
+ (e = t[r]), (Nr.comparatorOp += '|@' + e);
+ for (t = Nr.comparatorOp.split('|'), r = 0; r < t.length; r++)
+ (e = t[r]), !(e.indexOf('!') >= 0) && e !== '=' && (Nr.comparatorOp += '|\\!' + e);
+ })();
+ (un = o(function () {
+ return { checks: [] };
+ }, 'newQuery')),
+ (Ct = {
+ GROUP: 0,
+ COLLECTION: 1,
+ FILTER: 2,
+ DATA_COMPARE: 3,
+ DATA_EXIST: 4,
+ DATA_BOOL: 5,
+ META_COMPARE: 6,
+ STATE: 7,
+ ID: 8,
+ CLASS: 9,
+ UNDIRECTED_EDGE: 10,
+ DIRECTED_EDGE: 11,
+ NODE_SOURCE: 12,
+ NODE_TARGET: 13,
+ NODE_NEIGHBOR: 14,
+ CHILD: 15,
+ DESCENDANT: 16,
+ PARENT: 17,
+ ANCESTOR: 18,
+ COMPOUND_SPLIT: 19,
+ TRUE: 20
+ }),
+ (PP = [
+ {
+ selector: ':selected',
+ matches: o(function (e) {
+ return e.selected();
+ }, 'matches')
+ },
+ {
+ selector: ':unselected',
+ matches: o(function (e) {
+ return !e.selected();
+ }, 'matches')
+ },
+ {
+ selector: ':selectable',
+ matches: o(function (e) {
+ return e.selectable();
+ }, 'matches')
+ },
+ {
+ selector: ':unselectable',
+ matches: o(function (e) {
+ return !e.selectable();
+ }, 'matches')
+ },
+ {
+ selector: ':locked',
+ matches: o(function (e) {
+ return e.locked();
+ }, 'matches')
+ },
+ {
+ selector: ':unlocked',
+ matches: o(function (e) {
+ return !e.locked();
+ }, 'matches')
+ },
+ {
+ selector: ':visible',
+ matches: o(function (e) {
+ return e.visible();
+ }, 'matches')
+ },
+ {
+ selector: ':hidden',
+ matches: o(function (e) {
+ return !e.visible();
+ }, 'matches')
+ },
+ {
+ selector: ':transparent',
+ matches: o(function (e) {
+ return e.transparent();
+ }, 'matches')
+ },
+ {
+ selector: ':grabbed',
+ matches: o(function (e) {
+ return e.grabbed();
+ }, 'matches')
+ },
+ {
+ selector: ':free',
+ matches: o(function (e) {
+ return !e.grabbed();
+ }, 'matches')
+ },
+ {
+ selector: ':removed',
+ matches: o(function (e) {
+ return e.removed();
+ }, 'matches')
+ },
+ {
+ selector: ':inside',
+ matches: o(function (e) {
+ return !e.removed();
+ }, 'matches')
+ },
+ {
+ selector: ':grabbable',
+ matches: o(function (e) {
+ return e.grabbable();
+ }, 'matches')
+ },
+ {
+ selector: ':ungrabbable',
+ matches: o(function (e) {
+ return !e.grabbable();
+ }, 'matches')
+ },
+ {
+ selector: ':animated',
+ matches: o(function (e) {
+ return e.animated();
+ }, 'matches')
+ },
+ {
+ selector: ':unanimated',
+ matches: o(function (e) {
+ return !e.animated();
+ }, 'matches')
+ },
+ {
+ selector: ':parent',
+ matches: o(function (e) {
+ return e.isParent();
+ }, 'matches')
+ },
+ {
+ selector: ':childless',
+ matches: o(function (e) {
+ return e.isChildless();
+ }, 'matches')
+ },
+ {
+ selector: ':child',
+ matches: o(function (e) {
+ return e.isChild();
+ }, 'matches')
+ },
+ {
+ selector: ':orphan',
+ matches: o(function (e) {
+ return e.isOrphan();
+ }, 'matches')
+ },
+ {
+ selector: ':nonorphan',
+ matches: o(function (e) {
+ return e.isChild();
+ }, 'matches')
+ },
+ {
+ selector: ':compound',
+ matches: o(function (e) {
+ return e.isNode() ? e.isParent() : e.source().isParent() || e.target().isParent();
+ }, 'matches')
+ },
+ {
+ selector: ':loop',
+ matches: o(function (e) {
+ return e.isLoop();
+ }, 'matches')
+ },
+ {
+ selector: ':simple',
+ matches: o(function (e) {
+ return e.isSimple();
+ }, 'matches')
+ },
+ {
+ selector: ':active',
+ matches: o(function (e) {
+ return e.active();
+ }, 'matches')
+ },
+ {
+ selector: ':inactive',
+ matches: o(function (e) {
+ return !e.active();
+ }, 'matches')
+ },
+ {
+ selector: ':backgrounding',
+ matches: o(function (e) {
+ return e.backgrounding();
+ }, 'matches')
+ },
+ {
+ selector: ':nonbackgrounding',
+ matches: o(function (e) {
+ return !e.backgrounding();
+ }, 'matches')
+ }
+ ].sort(function (t, e) {
+ return qHe(t.selector, e.selector);
+ })),
+ (Pje = (function () {
+ for (var t = {}, e, r = 0; r < PP.length; r++) (e = PP[r]), (t[e.selector] = e.matches);
+ return t;
+ })()),
+ (Bje = o(function (e, r) {
+ return Pje[e](r);
+ }, 'stateSelectorMatches')),
+ (Fje =
+ '(' +
+ PP.map(function (t) {
+ return t.selector;
+ }).join('|') +
+ ')'),
+ (qg = o(function (e) {
+ return e.replace(new RegExp('\\\\(' + Nr.metaChar + ')', 'g'), function (r, n) {
+ return n;
+ });
+ }, 'cleanMetaChars')),
+ (wf = o(function (e, r, n) {
+ e[e.length - 1] = n;
+ }, 'replaceLastQuery')),
+ (BP = [
+ {
+ name: 'group',
+ query: !0,
+ regex: '(' + Nr.group + ')',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 1),
+ a = i[0];
+ r.checks.push({ type: Ct.GROUP, value: a === '*' ? a : a + 's' });
+ }, 'populate')
+ },
+ {
+ name: 'state',
+ query: !0,
+ regex: Fje,
+ populate: o(function (e, r, n) {
+ var i = $l(n, 1),
+ a = i[0];
+ r.checks.push({ type: Ct.STATE, value: a });
+ }, 'populate')
+ },
+ {
+ name: 'id',
+ query: !0,
+ regex: '\\#(' + Nr.id + ')',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 1),
+ a = i[0];
+ r.checks.push({ type: Ct.ID, value: qg(a) });
+ }, 'populate')
+ },
+ {
+ name: 'className',
+ query: !0,
+ regex: '\\.(' + Nr.className + ')',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 1),
+ a = i[0];
+ r.checks.push({ type: Ct.CLASS, value: qg(a) });
+ }, 'populate')
+ },
+ {
+ name: 'dataExists',
+ query: !0,
+ regex: '\\[\\s*(' + Nr.variable + ')\\s*\\]',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 1),
+ a = i[0];
+ r.checks.push({ type: Ct.DATA_EXIST, field: qg(a) });
+ }, 'populate')
+ },
+ {
+ name: 'dataCompare',
+ query: !0,
+ regex: '\\[\\s*(' + Nr.variable + ')\\s*(' + Nr.comparatorOp + ')\\s*(' + Nr.value + ')\\s*\\]',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 3),
+ a = i[0],
+ s = i[1],
+ l = i[2],
+ u = new RegExp('^' + Nr.string + '$').exec(l) != null;
+ u ? (l = l.substring(1, l.length - 1)) : (l = parseFloat(l)),
+ r.checks.push({
+ type: Ct.DATA_COMPARE,
+ field: qg(a),
+ operator: s,
+ value: l
+ });
+ }, 'populate')
+ },
+ {
+ name: 'dataBool',
+ query: !0,
+ regex: '\\[\\s*(' + Nr.boolOp + ')\\s*(' + Nr.variable + ')\\s*\\]',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 2),
+ a = i[0],
+ s = i[1];
+ r.checks.push({ type: Ct.DATA_BOOL, field: qg(s), operator: a });
+ }, 'populate')
+ },
+ {
+ name: 'metaCompare',
+ query: !0,
+ regex:
+ '\\[\\[\\s*(' + Nr.meta + ')\\s*(' + Nr.comparatorOp + ')\\s*(' + Nr.number + ')\\s*\\]\\]',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 3),
+ a = i[0],
+ s = i[1],
+ l = i[2];
+ r.checks.push({
+ type: Ct.META_COMPARE,
+ field: qg(a),
+ operator: s,
+ value: parseFloat(l)
+ });
+ }, 'populate')
+ },
+ {
+ name: 'nextQuery',
+ separator: !0,
+ regex: Nr.separator,
+ populate: o(function (e, r) {
+ var n = e.currentSubject,
+ i = e.edgeCount,
+ a = e.compoundCount,
+ s = e[e.length - 1];
+ n != null && ((s.subject = n), (e.currentSubject = null)),
+ (s.edgeCount = i),
+ (s.compoundCount = a),
+ (e.edgeCount = 0),
+ (e.compoundCount = 0);
+ var l = (e[e.length++] = un());
+ return l;
+ }, 'populate')
+ },
+ {
+ name: 'directedEdge',
+ separator: !0,
+ regex: Nr.directedEdge,
+ populate: o(function (e, r) {
+ if (e.currentSubject == null) {
+ var n = un(),
+ i = r,
+ a = un();
+ return (
+ n.checks.push({
+ type: Ct.DIRECTED_EDGE,
+ source: i,
+ target: a
+ }),
+ wf(e, r, n),
+ e.edgeCount++,
+ a
+ );
+ } else {
+ var s = un(),
+ l = r,
+ u = un();
+ return (
+ s.checks.push({ type: Ct.NODE_SOURCE, source: l, target: u }),
+ wf(e, r, s),
+ e.edgeCount++,
+ u
+ );
+ }
+ }, 'populate')
+ },
+ {
+ name: 'undirectedEdge',
+ separator: !0,
+ regex: Nr.undirectedEdge,
+ populate: o(function (e, r) {
+ if (e.currentSubject == null) {
+ var n = un(),
+ i = r,
+ a = un();
+ return (
+ n.checks.push({ type: Ct.UNDIRECTED_EDGE, nodes: [i, a] }),
+ wf(e, r, n),
+ e.edgeCount++,
+ a
+ );
+ } else {
+ var s = un(),
+ l = r,
+ u = un();
+ return (
+ s.checks.push({
+ type: Ct.NODE_NEIGHBOR,
+ node: l,
+ neighbor: u
+ }),
+ wf(e, r, s),
+ u
+ );
+ }
+ }, 'populate')
+ },
+ {
+ name: 'child',
+ separator: !0,
+ regex: Nr.child,
+ populate: o(function (e, r) {
+ if (e.currentSubject == null) {
+ var n = un(),
+ i = un(),
+ a = e[e.length - 1];
+ return (
+ n.checks.push({ type: Ct.CHILD, parent: a, child: i }),
+ wf(e, r, n),
+ e.compoundCount++,
+ i
+ );
+ } else if (e.currentSubject === r) {
+ var s = un(),
+ l = e[e.length - 1],
+ u = un(),
+ h = un(),
+ f = un(),
+ d = un();
+ return (
+ s.checks.push({
+ type: Ct.COMPOUND_SPLIT,
+ left: l,
+ right: u,
+ subject: h
+ }),
+ (h.checks = r.checks),
+ (r.checks = [{ type: Ct.TRUE }]),
+ d.checks.push({ type: Ct.TRUE }),
+ u.checks.push({ type: Ct.PARENT, parent: d, child: f }),
+ wf(e, l, s),
+ (e.currentSubject = h),
+ e.compoundCount++,
+ f
+ );
+ } else {
+ var p = un(),
+ m = un(),
+ g = [{ type: Ct.PARENT, parent: p, child: m }];
+ return (p.checks = r.checks), (r.checks = g), e.compoundCount++, m;
+ }
+ }, 'populate')
+ },
+ {
+ name: 'descendant',
+ separator: !0,
+ regex: Nr.descendant,
+ populate: o(function (e, r) {
+ if (e.currentSubject == null) {
+ var n = un(),
+ i = un(),
+ a = e[e.length - 1];
+ return (
+ n.checks.push({
+ type: Ct.DESCENDANT,
+ ancestor: a,
+ descendant: i
+ }),
+ wf(e, r, n),
+ e.compoundCount++,
+ i
+ );
+ } else if (e.currentSubject === r) {
+ var s = un(),
+ l = e[e.length - 1],
+ u = un(),
+ h = un(),
+ f = un(),
+ d = un();
+ return (
+ s.checks.push({
+ type: Ct.COMPOUND_SPLIT,
+ left: l,
+ right: u,
+ subject: h
+ }),
+ (h.checks = r.checks),
+ (r.checks = [{ type: Ct.TRUE }]),
+ d.checks.push({ type: Ct.TRUE }),
+ u.checks.push({
+ type: Ct.ANCESTOR,
+ ancestor: d,
+ descendant: f
+ }),
+ wf(e, l, s),
+ (e.currentSubject = h),
+ e.compoundCount++,
+ f
+ );
+ } else {
+ var p = un(),
+ m = un(),
+ g = [{ type: Ct.ANCESTOR, ancestor: p, descendant: m }];
+ return (p.checks = r.checks), (r.checks = g), e.compoundCount++, m;
+ }
+ }, 'populate')
+ },
+ {
+ name: 'subject',
+ modifier: !0,
+ regex: Nr.subject,
+ populate: o(function (e, r) {
+ if (e.currentSubject != null && e.currentSubject !== r)
+ return tn('Redefinition of subject in selector `' + e.toString() + '`'), !1;
+ e.currentSubject = r;
+ var n = e[e.length - 1],
+ i = n.checks[0],
+ a = i == null ? null : i.type;
+ a === Ct.DIRECTED_EDGE
+ ? (i.type = Ct.NODE_TARGET)
+ : a === Ct.UNDIRECTED_EDGE &&
+ ((i.type = Ct.NODE_NEIGHBOR),
+ (i.node = i.nodes[1]),
+ (i.neighbor = i.nodes[0]),
+ (i.nodes = null));
+ }, 'populate')
+ }
+ ]);
+ BP.forEach(function (t) {
+ return (t.regexObj = new RegExp('^' + t.regex));
+ });
+ (zje = o(function (e) {
+ for (var r, n, i, a = 0; a < BP.length; a++) {
+ var s = BP[a],
+ l = s.name,
+ u = e.match(s.regexObj);
+ if (u != null) {
+ (n = u), (r = s), (i = l);
+ var h = u[0];
+ e = e.substring(h.length);
+ break;
+ }
+ }
+ return { expr: r, match: n, name: i, remaining: e };
+ }, 'consumeExpr')),
+ (Gje = o(function (e) {
+ var r = e.match(/^\s+/);
+ if (r) {
+ var n = r[0];
+ e = e.substring(n.length);
+ }
+ return e;
+ }, 'consumeWhitespace')),
+ ($je = o(function (e) {
+ var r = this,
+ n = (r.inputText = e),
+ i = (r[0] = un());
+ for (r.length = 1, n = Gje(n); ; ) {
+ var a = zje(n);
+ if (a.expr == null) return tn('The selector `' + e + '`is invalid'), !1;
+ var s = a.match.slice(1),
+ l = a.expr.populate(r, i, s);
+ if (l === !1) return !1;
+ if ((l != null && (i = l), (n = a.remaining), n.match(/^\s*$/))) break;
+ }
+ var u = r[r.length - 1];
+ r.currentSubject != null && (u.subject = r.currentSubject),
+ (u.edgeCount = r.edgeCount),
+ (u.compoundCount = r.compoundCount);
+ for (var h = 0; h < r.length; h++) {
+ var f = r[h];
+ if (f.compoundCount > 0 && f.edgeCount > 0)
+ return (
+ tn(
+ 'The selector `' +
+ e +
+ '` is invalid because it uses both a compound selector and an edge selector'
+ ),
+ !1
+ );
+ if (f.edgeCount > 1)
+ return (
+ tn('The selector `' + e + '` is invalid because it uses multiple edge selectors'), !1
+ );
+ f.edgeCount === 1 &&
+ tn(
+ 'The selector `' +
+ e +
+ '` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.'
+ );
+ }
+ return !0;
+ }, 'parse')),
+ (Vje = o(function () {
+ if (this.toStringCache != null) return this.toStringCache;
+ for (
+ var e = o(function (f) {
+ return f ?? '';
+ }, 'clean'),
+ r = o(function (f) {
+ return zt(f) ? '"' + f + '"' : e(f);
+ }, 'cleanVal'),
+ n = o(function (f) {
+ return ' ' + f + ' ';
+ }, 'space'),
+ i = o(function (f, d) {
+ var p = f.type,
+ m = f.value;
+ switch (p) {
+ case Ct.GROUP: {
+ var g = e(m);
+ return g.substring(0, g.length - 1);
+ }
+ case Ct.DATA_COMPARE: {
+ var y = f.field,
+ v = f.operator;
+ return '[' + y + n(e(v)) + r(m) + ']';
+ }
+ case Ct.DATA_BOOL: {
+ var x = f.operator,
+ b = f.field;
+ return '[' + e(x) + b + ']';
+ }
+ case Ct.DATA_EXIST: {
+ var w = f.field;
+ return '[' + w + ']';
+ }
+ case Ct.META_COMPARE: {
+ var S = f.operator,
+ T = f.field;
+ return '[[' + T + n(e(S)) + r(m) + ']]';
+ }
+ case Ct.STATE:
+ return m;
+ case Ct.ID:
+ return '#' + m;
+ case Ct.CLASS:
+ return '.' + m;
+ case Ct.PARENT:
+ case Ct.CHILD:
+ return a(f.parent, d) + n('>') + a(f.child, d);
+ case Ct.ANCESTOR:
+ case Ct.DESCENDANT:
+ return a(f.ancestor, d) + ' ' + a(f.descendant, d);
+ case Ct.COMPOUND_SPLIT: {
+ var E = a(f.left, d),
+ _ = a(f.subject, d),
+ A = a(f.right, d);
+ return E + (E.length > 0 ? ' ' : '') + _ + A;
+ }
+ case Ct.TRUE:
+ return '';
+ }
+ }, 'checkToString'),
+ a = o(function (f, d) {
+ return f.checks.reduce(function (p, m, g) {
+ return p + (d === f && g === 0 ? '$' : '') + i(m, d);
+ }, '');
+ }, 'queryToString'),
+ s = '',
+ l = 0;
+ l < this.length;
+ l++
+ ) {
+ var u = this[l];
+ (s += a(u, u.subject)), this.length > 1 && l < this.length - 1 && (s += ', ');
+ }
+ return (this.toStringCache = s), s;
+ }, 'toString')),
+ (Uje = { parse: $je, toString: Vje }),
+ (cme = o(function (e, r, n) {
+ var i,
+ a = zt(e),
+ s = ft(e),
+ l = zt(n),
+ u,
+ h,
+ f = !1,
+ d = !1,
+ p = !1;
+ switch (
+ (r.indexOf('!') >= 0 && ((r = r.replace('!', '')), (d = !0)),
+ r.indexOf('@') >= 0 && ((r = r.replace('@', '')), (f = !0)),
+ (a || l || f) && ((u = !a && !s ? '' : '' + e), (h = '' + n)),
+ f && ((e = u = u.toLowerCase()), (n = h = h.toLowerCase())),
+ r)
+ ) {
+ case '*=':
+ i = u.indexOf(h) >= 0;
+ break;
+ case '$=':
+ i = u.indexOf(h, u.length - h.length) >= 0;
+ break;
+ case '^=':
+ i = u.indexOf(h) === 0;
+ break;
+ case '=':
+ i = e === n;
+ break;
+ case '>':
+ (p = !0), (i = e > n);
+ break;
+ case '>=':
+ (p = !0), (i = e >= n);
+ break;
+ case '<':
+ (p = !0), (i = e < n);
+ break;
+ case '<=':
+ (p = !0), (i = e <= n);
+ break;
+ default:
+ i = !1;
+ break;
+ }
+ return d && (e != null || !p) && (i = !i), i;
+ }, 'valCmp')),
+ (Hje = o(function (e, r) {
+ switch (r) {
+ case '?':
+ return !!e;
+ case '!':
+ return !e;
+ case '^':
+ return e === void 0;
+ }
+ }, 'boolCmp')),
+ (Yje = o(function (e) {
+ return e !== void 0;
+ }, 'existCmp')),
+ (lB = o(function (e, r) {
+ return e.data(r);
+ }, 'data')),
+ (Wje = o(function (e, r) {
+ return e[r]();
+ }, 'meta')),
+ (li = []),
+ (In = o(function (e, r) {
+ return e.checks.every(function (n) {
+ return li[n.type](n, r);
+ });
+ }, 'matches'));
+ li[Ct.GROUP] = function (t, e) {
+ var r = t.value;
+ return r === '*' || r === e.group();
+ };
+ li[Ct.STATE] = function (t, e) {
+ var r = t.value;
+ return Bje(r, e);
+ };
+ li[Ct.ID] = function (t, e) {
+ var r = t.value;
+ return e.id() === r;
+ };
+ li[Ct.CLASS] = function (t, e) {
+ var r = t.value;
+ return e.hasClass(r);
+ };
+ li[Ct.META_COMPARE] = function (t, e) {
+ var r = t.field,
+ n = t.operator,
+ i = t.value;
+ return cme(Wje(e, r), n, i);
+ };
+ li[Ct.DATA_COMPARE] = function (t, e) {
+ var r = t.field,
+ n = t.operator,
+ i = t.value;
+ return cme(lB(e, r), n, i);
+ };
+ li[Ct.DATA_BOOL] = function (t, e) {
+ var r = t.field,
+ n = t.operator;
+ return Hje(lB(e, r), n);
+ };
+ li[Ct.DATA_EXIST] = function (t, e) {
+ var r = t.field;
+ return t.operator, Yje(lB(e, r));
+ };
+ li[Ct.UNDIRECTED_EDGE] = function (t, e) {
+ var r = t.nodes[0],
+ n = t.nodes[1],
+ i = e.source(),
+ a = e.target();
+ return (In(r, i) && In(n, a)) || (In(n, i) && In(r, a));
+ };
+ li[Ct.NODE_NEIGHBOR] = function (t, e) {
+ return (
+ In(t.node, e) &&
+ e.neighborhood().some(function (r) {
+ return r.isNode() && In(t.neighbor, r);
+ })
+ );
+ };
+ li[Ct.DIRECTED_EDGE] = function (t, e) {
+ return In(t.source, e.source()) && In(t.target, e.target());
+ };
+ li[Ct.NODE_SOURCE] = function (t, e) {
+ return (
+ In(t.source, e) &&
+ e.outgoers().some(function (r) {
+ return r.isNode() && In(t.target, r);
+ })
+ );
+ };
+ li[Ct.NODE_TARGET] = function (t, e) {
+ return (
+ In(t.target, e) &&
+ e.incomers().some(function (r) {
+ return r.isNode() && In(t.source, r);
+ })
+ );
+ };
+ li[Ct.CHILD] = function (t, e) {
+ return In(t.child, e) && In(t.parent, e.parent());
+ };
+ li[Ct.PARENT] = function (t, e) {
+ return (
+ In(t.parent, e) &&
+ e.children().some(function (r) {
+ return In(t.child, r);
+ })
+ );
+ };
+ li[Ct.DESCENDANT] = function (t, e) {
+ return (
+ In(t.descendant, e) &&
+ e.ancestors().some(function (r) {
+ return In(t.ancestor, r);
+ })
+ );
+ };
+ li[Ct.ANCESTOR] = function (t, e) {
+ return (
+ In(t.ancestor, e) &&
+ e.descendants().some(function (r) {
+ return In(t.descendant, r);
+ })
+ );
+ };
+ li[Ct.COMPOUND_SPLIT] = function (t, e) {
+ return In(t.subject, e) && In(t.left, e) && In(t.right, e);
+ };
+ li[Ct.TRUE] = function () {
+ return !0;
+ };
+ li[Ct.COLLECTION] = function (t, e) {
+ var r = t.value;
+ return r.has(e);
+ };
+ li[Ct.FILTER] = function (t, e) {
+ var r = t.value;
+ return r(e);
+ };
+ (qje = o(function (e) {
+ var r = this;
+ if (r.length === 1 && r[0].checks.length === 1 && r[0].checks[0].type === Ct.ID)
+ return e.getElementById(r[0].checks[0].value).collection();
+ var n = o(function (a) {
+ for (var s = 0; s < r.length; s++) {
+ var l = r[s];
+ if (In(l, a)) return !0;
+ }
+ return !1;
+ }, 'selectorFunction');
+ return (
+ r.text() == null &&
+ (n = o(function () {
+ return !0;
+ }, 'selectorFunction')),
+ e.filter(n)
+ );
+ }, 'filter')),
+ (Xje = o(function (e) {
+ for (var r = this, n = 0; n < r.length; n++) {
+ var i = r[n];
+ if (In(i, e)) return !0;
+ }
+ return !1;
+ }, 'matches')),
+ (jje = { matches: Xje, filter: qje }),
+ (_f = o(function (e) {
+ (this.inputText = e),
+ (this.currentSubject = null),
+ (this.compoundCount = 0),
+ (this.edgeCount = 0),
+ (this.length = 0),
+ e == null ||
+ (zt(e) && e.match(/^\s*$/)) ||
+ (xo(e)
+ ? this.addQuery({
+ checks: [{ type: Ct.COLLECTION, value: e.collection() }]
+ })
+ : jn(e)
+ ? this.addQuery({ checks: [{ type: Ct.FILTER, value: e }] })
+ : zt(e)
+ ? this.parse(e) || (this.invalid = !0)
+ : oi('A selector must be created from a string; found '));
+ }, 'Selector')),
+ (Lf = _f.prototype);
+ [Uje, jje].forEach(function (t) {
+ return Wt(Lf, t);
+ });
+ Lf.text = function () {
+ return this.inputText;
+ };
+ Lf.size = function () {
+ return this.length;
+ };
+ Lf.eq = function (t) {
+ return this[t];
+ };
+ Lf.sameText = function (t) {
+ return !this.invalid && !t.invalid && this.text() === t.text();
+ };
+ Lf.addQuery = function (t) {
+ this[this.length++] = t;
+ };
+ Lf.selector = Lf.toString;
+ Ef = {
+ allAre: o(function (e) {
+ var r = new _f(e);
+ return this.every(function (n) {
+ return r.matches(n);
+ });
+ }, 'allAre'),
+ is: o(function (e) {
+ var r = new _f(e);
+ return this.some(function (n) {
+ return r.matches(n);
+ });
+ }, 'is'),
+ some: o(function (e, r) {
+ for (var n = 0; n < this.length; n++) {
+ var i = r ? e.apply(r, [this[n], n, this]) : e(this[n], n, this);
+ if (i) return !0;
+ }
+ return !1;
+ }, 'some'),
+ every: o(function (e, r) {
+ for (var n = 0; n < this.length; n++) {
+ var i = r ? e.apply(r, [this[n], n, this]) : e(this[n], n, this);
+ if (!i) return !1;
+ }
+ return !0;
+ }, 'every'),
+ same: o(function (e) {
+ if (this === e) return !0;
+ e = this.cy().collection(e);
+ var r = this.length,
+ n = e.length;
+ return r !== n
+ ? !1
+ : r === 1
+ ? this[0] === e[0]
+ : this.every(function (i) {
+ return e.hasElementWithId(i.id());
+ });
+ }, 'same'),
+ anySame: o(function (e) {
+ return (
+ (e = this.cy().collection(e)),
+ this.some(function (r) {
+ return e.hasElementWithId(r.id());
+ })
+ );
+ }, 'anySame'),
+ allAreNeighbors: o(function (e) {
+ e = this.cy().collection(e);
+ var r = this.neighborhood();
+ return e.every(function (n) {
+ return r.hasElementWithId(n.id());
+ });
+ }, 'allAreNeighbors'),
+ contains: o(function (e) {
+ e = this.cy().collection(e);
+ var r = this;
+ return e.every(function (n) {
+ return r.hasElementWithId(n.id());
+ });
+ }, 'contains')
+ };
+ Ef.allAreNeighbours = Ef.allAreNeighbors;
+ Ef.has = Ef.contains;
+ Ef.equal = Ef.equals = Ef.same;
+ (tl = o(function (e, r) {
+ return o(function (i, a, s, l) {
+ var u = i,
+ h = this,
+ f;
+ if ((u == null ? (f = '') : xo(u) && u.length === 1 && (f = u.id()), h.length === 1 && f)) {
+ var d = h[0]._private,
+ p = (d.traversalCache = d.traversalCache || {}),
+ m = (p[r] = p[r] || []),
+ g = U0(f),
+ y = m[g];
+ return y || (m[g] = e.call(h, i, a, s, l));
+ } else return e.call(h, i, a, s, l);
+ }, 'traversalCache');
+ }, 'cache')),
+ (l1 = {
+ parent: o(function (e) {
+ var r = [];
+ if (this.length === 1) {
+ var n = this[0]._private.parent;
+ if (n) return n;
+ }
+ for (var i = 0; i < this.length; i++) {
+ var a = this[i],
+ s = a._private.parent;
+ s && r.push(s);
+ }
+ return this.spawn(r, !0).filter(e);
+ }, 'parent'),
+ parents: o(function (e) {
+ for (var r = [], n = this.parent(); n.nonempty(); ) {
+ for (var i = 0; i < n.length; i++) {
+ var a = n[i];
+ r.push(a);
+ }
+ n = n.parent();
+ }
+ return this.spawn(r, !0).filter(e);
+ }, 'parents'),
+ commonAncestors: o(function (e) {
+ for (var r, n = 0; n < this.length; n++) {
+ var i = this[n],
+ a = i.parents();
+ (r = r || a), (r = r.intersect(a));
+ }
+ return r.filter(e);
+ }, 'commonAncestors'),
+ orphans: o(function (e) {
+ return this.stdFilter(function (r) {
+ return r.isOrphan();
+ }).filter(e);
+ }, 'orphans'),
+ nonorphans: o(function (e) {
+ return this.stdFilter(function (r) {
+ return r.isChild();
+ }).filter(e);
+ }, 'nonorphans'),
+ children: tl(function (t) {
+ for (var e = [], r = 0; r < this.length; r++)
+ for (var n = this[r], i = n._private.children, a = 0; a < i.length; a++) e.push(i[a]);
+ return this.spawn(e, !0).filter(t);
+ }, 'children'),
+ siblings: o(function (e) {
+ return this.parent().children().not(this).filter(e);
+ }, 'siblings'),
+ isParent: o(function () {
+ var e = this[0];
+ if (e) return e.isNode() && e._private.children.length !== 0;
+ }, 'isParent'),
+ isChildless: o(function () {
+ var e = this[0];
+ if (e) return e.isNode() && e._private.children.length === 0;
+ }, 'isChildless'),
+ isChild: o(function () {
+ var e = this[0];
+ if (e) return e.isNode() && e._private.parent != null;
+ }, 'isChild'),
+ isOrphan: o(function () {
+ var e = this[0];
+ if (e) return e.isNode() && e._private.parent == null;
+ }, 'isOrphan'),
+ descendants: o(function (e) {
+ var r = [];
+ function n(i) {
+ for (var a = 0; a < i.length; a++) {
+ var s = i[a];
+ r.push(s), s.children().nonempty() && n(s.children());
+ }
+ }
+ return o(n, 'add'), n(this.children()), this.spawn(r, !0).filter(e);
+ }, 'descendants')
+ });
+ o(cB, 'forEachCompound');
+ o(ume, 'addChildren');
+ l1.forEachDown = function (t) {
+ var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
+ return cB(this, t, e, ume);
+ };
+ o(hme, 'addParent');
+ l1.forEachUp = function (t) {
+ var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
+ return cB(this, t, e, hme);
+ };
+ o(Kje, 'addParentAndChildren');
+ l1.forEachUpAndDown = function (t) {
+ var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
+ return cB(this, t, e, Kje);
+ };
+ l1.ancestors = l1.parents;
+ qx = fme = {
+ data: en.data({
+ field: 'data',
+ bindingEvent: 'data',
+ allowBinding: !0,
+ allowSetting: !0,
+ settingEvent: 'data',
+ settingTriggersEvent: !0,
+ triggerFnName: 'trigger',
+ allowGetting: !0,
+ immutableKeys: { id: !0, source: !0, target: !0, parent: !0 },
+ updateStyle: !0
+ }),
+ removeData: en.removeData({
+ field: 'data',
+ event: 'data',
+ triggerFnName: 'trigger',
+ triggerEvent: !0,
+ immutableKeys: { id: !0, source: !0, target: !0, parent: !0 },
+ updateStyle: !0
+ }),
+ scratch: en.data({
+ field: 'scratch',
+ bindingEvent: 'scratch',
+ allowBinding: !0,
+ allowSetting: !0,
+ settingEvent: 'scratch',
+ settingTriggersEvent: !0,
+ triggerFnName: 'trigger',
+ allowGetting: !0,
+ updateStyle: !0
+ }),
+ removeScratch: en.removeData({
+ field: 'scratch',
+ event: 'scratch',
+ triggerFnName: 'trigger',
+ triggerEvent: !0,
+ updateStyle: !0
+ }),
+ rscratch: en.data({
+ field: 'rscratch',
+ allowBinding: !1,
+ allowSetting: !0,
+ settingTriggersEvent: !1,
+ allowGetting: !0
+ }),
+ removeRscratch: en.removeData({ field: 'rscratch', triggerEvent: !1 }),
+ id: o(function () {
+ var e = this[0];
+ if (e) return e._private.data.id;
+ }, 'id')
+ };
+ qx.attr = qx.data;
+ qx.removeAttr = qx.removeData;
+ (Qje = fme), (U6 = {});
+ o(CP, 'defineDegreeFunction');
+ Wt(U6, {
+ degree: CP(function (t, e) {
+ return e.source().same(e.target()) ? 2 : 1;
+ }),
+ indegree: CP(function (t, e) {
+ return e.target().same(t) ? 1 : 0;
+ }),
+ outdegree: CP(function (t, e) {
+ return e.source().same(t) ? 1 : 0;
+ })
+ });
+ o(Xg, 'defineDegreeBoundsFunction');
+ Wt(U6, {
+ minDegree: Xg('degree', function (t, e) {
+ return t < e;
+ }),
+ maxDegree: Xg('degree', function (t, e) {
+ return t > e;
+ }),
+ minIndegree: Xg('indegree', function (t, e) {
+ return t < e;
+ }),
+ maxIndegree: Xg('indegree', function (t, e) {
+ return t > e;
+ }),
+ minOutdegree: Xg('outdegree', function (t, e) {
+ return t < e;
+ }),
+ maxOutdegree: Xg('outdegree', function (t, e) {
+ return t > e;
+ })
+ });
+ Wt(U6, {
+ totalDegree: o(function (e) {
+ for (var r = 0, n = this.nodes(), i = 0; i < n.length; i++) r += n[i].degree(e);
+ return r;
+ }, 'totalDegree')
+ });
+ (pme = o(function (e, r, n) {
+ for (var i = 0; i < e.length; i++) {
+ var a = e[i];
+ if (!a.locked()) {
+ var s = a._private.position,
+ l = {
+ x: r.x != null ? r.x - s.x : 0,
+ y: r.y != null ? r.y - s.y : 0
+ };
+ a.isParent() && !(l.x === 0 && l.y === 0) && a.children().shift(l, n),
+ a.dirtyBoundingBoxCache();
+ }
+ }
+ }, 'beforePositionSet')),
+ (B0e = {
+ field: 'position',
+ bindingEvent: 'position',
+ allowBinding: !0,
+ allowSetting: !0,
+ settingEvent: 'position',
+ settingTriggersEvent: !0,
+ triggerFnName: 'emitAndNotify',
+ allowGetting: !0,
+ validKeys: ['x', 'y'],
+ beforeGet: o(function (e) {
+ e.updateCompoundBounds();
+ }, 'beforeGet'),
+ beforeSet: o(function (e, r) {
+ pme(e, r, !1);
+ }, 'beforeSet'),
+ onSet: o(function (e) {
+ e.dirtyCompoundBoundsCache();
+ }, 'onSet'),
+ canSet: o(function (e) {
+ return !e.locked();
+ }, 'canSet')
+ });
+ Hl = dme = {
+ position: en.data(B0e),
+ silentPosition: en.data(
+ Wt({}, B0e, {
+ allowBinding: !1,
+ allowSetting: !0,
+ settingTriggersEvent: !1,
+ allowGetting: !1,
+ beforeSet: o(function (e, r) {
+ pme(e, r, !0);
+ }, 'beforeSet'),
+ onSet: o(function (e) {
+ e.dirtyCompoundBoundsCache();
+ }, 'onSet')
+ })
+ ),
+ positions: o(function (e, r) {
+ if (Mr(e)) r ? this.silentPosition(e) : this.position(e);
+ else if (jn(e)) {
+ var n = e,
+ i = this.cy();
+ i.startBatch();
+ for (var a = 0; a < this.length; a++) {
+ var s = this[a],
+ l = void 0;
+ (l = n(s, a)) && (r ? s.silentPosition(l) : s.position(l));
+ }
+ i.endBatch();
+ }
+ return this;
+ }, 'positions'),
+ silentPositions: o(function (e) {
+ return this.positions(e, !0);
+ }, 'silentPositions'),
+ shift: o(function (e, r, n) {
+ var i;
+ if (
+ (Mr(e)
+ ? ((i = { x: ft(e.x) ? e.x : 0, y: ft(e.y) ? e.y : 0 }), (n = r))
+ : zt(e) && ft(r) && ((i = { x: 0, y: 0 }), (i[e] = r)),
+ i != null)
+ ) {
+ var a = this.cy();
+ a.startBatch();
+ for (var s = 0; s < this.length; s++) {
+ var l = this[s];
+ if (!(a.hasCompoundNodes() && l.isChild() && l.ancestors().anySame(this))) {
+ var u = l.position(),
+ h = { x: u.x + i.x, y: u.y + i.y };
+ n ? l.silentPosition(h) : l.position(h);
+ }
+ }
+ a.endBatch();
+ }
+ return this;
+ }, 'shift'),
+ silentShift: o(function (e, r) {
+ return Mr(e) ? this.shift(e, !0) : zt(e) && ft(r) && this.shift(e, r, !0), this;
+ }, 'silentShift'),
+ renderedPosition: o(function (e, r) {
+ var n = this[0],
+ i = this.cy(),
+ a = i.zoom(),
+ s = i.pan(),
+ l = Mr(e) ? e : void 0,
+ u = l !== void 0 || (r !== void 0 && zt(e));
+ if (n && n.isNode())
+ if (u)
+ for (var h = 0; h < this.length; h++) {
+ var f = this[h];
+ r !== void 0 ? f.position(e, (r - s[e]) / a) : l !== void 0 && f.position(Gpe(l, a, s));
+ }
+ else {
+ var d = n.position();
+ return (l = F6(d, a, s)), e === void 0 ? l : l[e];
+ }
+ else if (!u) return;
+ return this;
+ }, 'renderedPosition'),
+ relativePosition: o(function (e, r) {
+ var n = this[0],
+ i = this.cy(),
+ a = Mr(e) ? e : void 0,
+ s = a !== void 0 || (r !== void 0 && zt(e)),
+ l = i.hasCompoundNodes();
+ if (n && n.isNode())
+ if (s)
+ for (var u = 0; u < this.length; u++) {
+ var h = this[u],
+ f = l ? h.parent() : null,
+ d = f && f.length > 0,
+ p = d;
+ d && (f = f[0]);
+ var m = p ? f.position() : { x: 0, y: 0 };
+ r !== void 0
+ ? h.position(e, r + m[e])
+ : a !== void 0 && h.position({ x: a.x + m.x, y: a.y + m.y });
+ }
+ else {
+ var g = n.position(),
+ y = l ? n.parent() : null,
+ v = y && y.length > 0,
+ x = v;
+ v && (y = y[0]);
+ var b = x ? y.position() : { x: 0, y: 0 };
+ return (a = { x: g.x - b.x, y: g.y - b.y }), e === void 0 ? a : a[e];
+ }
+ else if (!s) return;
+ return this;
+ }, 'relativePosition')
+ };
+ Hl.modelPosition = Hl.point = Hl.position;
+ Hl.modelPositions = Hl.points = Hl.positions;
+ Hl.renderedPoint = Hl.renderedPosition;
+ Hl.relativePoint = Hl.relativePosition;
+ Zje = dme;
+ i1 = Rf = {};
+ Rf.renderedBoundingBox = function (t) {
+ var e = this.boundingBox(t),
+ r = this.cy(),
+ n = r.zoom(),
+ i = r.pan(),
+ a = e.x1 * n + i.x,
+ s = e.x2 * n + i.x,
+ l = e.y1 * n + i.y,
+ u = e.y2 * n + i.y;
+ return { x1: a, x2: s, y1: l, y2: u, w: s - a, h: u - l };
+ };
+ Rf.dirtyCompoundBoundsCache = function () {
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1,
+ e = this.cy();
+ return !e.styleEnabled() || !e.hasCompoundNodes()
+ ? this
+ : (this.forEachUp(function (r) {
+ if (r.isParent()) {
+ var n = r._private;
+ (n.compoundBoundsClean = !1), (n.bbCache = null), t || r.emitAndNotify('bounds');
+ }
+ }),
+ this);
+ };
+ Rf.updateCompoundBounds = function () {
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1,
+ e = this.cy();
+ if (!e.styleEnabled() || !e.hasCompoundNodes()) return this;
+ if (!t && e.batching()) return this;
+ function r(s) {
+ if (!s.isParent()) return;
+ var l = s._private,
+ u = s.children(),
+ h = s.pstyle('compound-sizing-wrt-labels').value === 'include',
+ f = {
+ width: {
+ val: s.pstyle('min-width').pfValue,
+ left: s.pstyle('min-width-bias-left'),
+ right: s.pstyle('min-width-bias-right')
+ },
+ height: {
+ val: s.pstyle('min-height').pfValue,
+ top: s.pstyle('min-height-bias-top'),
+ bottom: s.pstyle('min-height-bias-bottom')
+ }
+ },
+ d = u.boundingBox({
+ includeLabels: h,
+ includeOverlays: !1,
+ useCache: !1
+ }),
+ p = l.position;
+ (d.w === 0 || d.h === 0) &&
+ ((d = {
+ w: s.pstyle('width').pfValue,
+ h: s.pstyle('height').pfValue
+ }),
+ (d.x1 = p.x - d.w / 2),
+ (d.x2 = p.x + d.w / 2),
+ (d.y1 = p.y - d.h / 2),
+ (d.y2 = p.y + d.h / 2));
+ function m(L, M, N) {
+ var k = 0,
+ I = 0,
+ C = M + N;
+ return (
+ L > 0 && C > 0 && ((k = (M / C) * L), (I = (N / C) * L)),
+ { biasDiff: k, biasComplementDiff: I }
+ );
+ }
+ o(m, 'computeBiasValues');
+ function g(L, M, N, k) {
+ if (N.units === '%')
+ switch (k) {
+ case 'width':
+ return L > 0 ? N.pfValue * L : 0;
+ case 'height':
+ return M > 0 ? N.pfValue * M : 0;
+ case 'average':
+ return L > 0 && M > 0 ? (N.pfValue * (L + M)) / 2 : 0;
+ case 'min':
+ return L > 0 && M > 0 ? (L > M ? N.pfValue * M : N.pfValue * L) : 0;
+ case 'max':
+ return L > 0 && M > 0 ? (L > M ? N.pfValue * L : N.pfValue * M) : 0;
+ default:
+ return 0;
+ }
+ else return N.units === 'px' ? N.pfValue : 0;
+ }
+ o(g, 'computePaddingValues');
+ var y = f.width.left.value;
+ f.width.left.units === 'px' && f.width.val > 0 && (y = (y * 100) / f.width.val);
+ var v = f.width.right.value;
+ f.width.right.units === 'px' && f.width.val > 0 && (v = (v * 100) / f.width.val);
+ var x = f.height.top.value;
+ f.height.top.units === 'px' && f.height.val > 0 && (x = (x * 100) / f.height.val);
+ var b = f.height.bottom.value;
+ f.height.bottom.units === 'px' && f.height.val > 0 && (b = (b * 100) / f.height.val);
+ var w = m(f.width.val - d.w, y, v),
+ S = w.biasDiff,
+ T = w.biasComplementDiff,
+ E = m(f.height.val - d.h, x, b),
+ _ = E.biasDiff,
+ A = E.biasComplementDiff;
+ (l.autoPadding = g(d.w, d.h, s.pstyle('padding'), s.pstyle('padding-relative-to').value)),
+ (l.autoWidth = Math.max(d.w, f.width.val)),
+ (p.x = (-S + d.x1 + d.x2 + T) / 2),
+ (l.autoHeight = Math.max(d.h, f.height.val)),
+ (p.y = (-_ + d.y1 + d.y2 + A) / 2);
+ }
+ o(r, 'update');
+ for (var n = 0; n < this.length; n++) {
+ var i = this[n],
+ a = i._private;
+ (!a.compoundBoundsClean || t) && (r(i), e.batching() || (a.compoundBoundsClean = !0));
+ }
+ return this;
+ };
+ (el = o(function (e) {
+ return e === 1 / 0 || e === -1 / 0 ? 0 : e;
+ }, 'noninf')),
+ (Vl = o(function (e, r, n, i, a) {
+ i - r === 0 ||
+ a - n === 0 ||
+ r == null ||
+ n == null ||
+ i == null ||
+ a == null ||
+ ((e.x1 = r < e.x1 ? r : e.x1),
+ (e.x2 = i > e.x2 ? i : e.x2),
+ (e.y1 = n < e.y1 ? n : e.y1),
+ (e.y2 = a > e.y2 ? a : e.y2),
+ (e.w = e.x2 - e.x1),
+ (e.h = e.y2 - e.y1));
+ }, 'updateBounds')),
+ (F0 = o(function (e, r) {
+ return r == null ? e : Vl(e, r.x1, r.y1, r.x2, r.y2);
+ }, 'updateBoundsFromBox')),
+ (Dx = o(function (e, r, n) {
+ return Ul(e, r, n);
+ }, 'prefixedProperty')),
+ (l6 = o(function (e, r, n) {
+ if (!r.cy().headless()) {
+ var i = r._private,
+ a = i.rstyle,
+ s = a.arrowWidth / 2,
+ l = r.pstyle(n + '-arrow-shape').value,
+ u,
+ h;
+ if (l !== 'none') {
+ n === 'source'
+ ? ((u = a.srcX), (h = a.srcY))
+ : n === 'target'
+ ? ((u = a.tgtX), (h = a.tgtY))
+ : ((u = a.midX), (h = a.midY));
+ var f = (i.arrowBounds = i.arrowBounds || {}),
+ d = (f[n] = f[n] || {});
+ (d.x1 = u - s),
+ (d.y1 = h - s),
+ (d.x2 = u + s),
+ (d.y2 = h + s),
+ (d.w = d.x2 - d.x1),
+ (d.h = d.y2 - d.y1),
+ p6(d, 1),
+ Vl(e, d.x1, d.y1, d.x2, d.y2);
+ }
+ }
+ }, 'updateBoundsFromArrow')),
+ (SP = o(function (e, r, n) {
+ if (!r.cy().headless()) {
+ var i;
+ n ? (i = n + '-') : (i = '');
+ var a = r._private,
+ s = a.rstyle,
+ l = r.pstyle(i + 'label').strValue;
+ if (l) {
+ var u = r.pstyle('text-halign'),
+ h = r.pstyle('text-valign'),
+ f = Dx(s, 'labelWidth', n),
+ d = Dx(s, 'labelHeight', n),
+ p = Dx(s, 'labelX', n),
+ m = Dx(s, 'labelY', n),
+ g = r.pstyle(i + 'text-margin-x').pfValue,
+ y = r.pstyle(i + 'text-margin-y').pfValue,
+ v = r.isEdge(),
+ x = r.pstyle(i + 'text-rotation'),
+ b = r.pstyle('text-outline-width').pfValue,
+ w = r.pstyle('text-border-width').pfValue,
+ S = w / 2,
+ T = r.pstyle('text-background-padding').pfValue,
+ E = 2,
+ _ = d,
+ A = f,
+ L = A / 2,
+ M = _ / 2,
+ N,
+ k,
+ I,
+ C;
+ if (v) (N = p - L), (k = p + L), (I = m - M), (C = m + M);
+ else {
+ switch (u.value) {
+ case 'left':
+ (N = p - A), (k = p);
+ break;
+ case 'center':
+ (N = p - L), (k = p + L);
+ break;
+ case 'right':
+ (N = p), (k = p + A);
+ break;
+ }
+ switch (h.value) {
+ case 'top':
+ (I = m - _), (C = m);
+ break;
+ case 'center':
+ (I = m - M), (C = m + M);
+ break;
+ case 'bottom':
+ (I = m), (C = m + _);
+ break;
+ }
+ }
+ (N += g - Math.max(b, S) - T - E),
+ (k += g + Math.max(b, S) + T + E),
+ (I += y - Math.max(b, S) - T - E),
+ (C += y + Math.max(b, S) + T + E);
+ var O = n || 'main',
+ D = a.labelBounds,
+ P = (D[O] = D[O] || {});
+ (P.x1 = N), (P.y1 = I), (P.x2 = k), (P.y2 = C), (P.w = k - N), (P.h = C - I);
+ var F = v && x.strValue === 'autorotate',
+ B = x.pfValue != null && x.pfValue !== 0;
+ if (F || B) {
+ var $ = F ? Dx(a.rstyle, 'labelAngle', n) : x.pfValue,
+ z = Math.cos($),
+ Y = Math.sin($),
+ Q = (N + k) / 2,
+ X = (I + C) / 2;
+ if (!v) {
+ switch (u.value) {
+ case 'left':
+ Q = k;
+ break;
+ case 'right':
+ Q = N;
+ break;
+ }
+ switch (h.value) {
+ case 'top':
+ X = C;
+ break;
+ case 'bottom':
+ X = I;
+ break;
+ }
+ }
+ var ie = o(function (ce, ue) {
+ return (
+ (ce = ce - Q),
+ (ue = ue - X),
+ { x: ce * z - ue * Y + Q, y: ce * Y + ue * z + X }
+ );
+ }, 'rotate'),
+ j = ie(N, I),
+ J = ie(N, C),
+ Z = ie(k, I),
+ H = ie(k, C);
+ (N = Math.min(j.x, J.x, Z.x, H.x)),
+ (k = Math.max(j.x, J.x, Z.x, H.x)),
+ (I = Math.min(j.y, J.y, Z.y, H.y)),
+ (C = Math.max(j.y, J.y, Z.y, H.y));
+ }
+ var q = O + 'Rot',
+ K = (D[q] = D[q] || {});
+ (K.x1 = N),
+ (K.y1 = I),
+ (K.x2 = k),
+ (K.y2 = C),
+ (K.w = k - N),
+ (K.h = C - I),
+ Vl(e, N, I, k, C),
+ Vl(a.labelBounds.all, N, I, k, C);
+ }
+ return e;
+ }
+ }, 'updateBoundsFromLabel')),
+ (Jje = o(function (e, r) {
+ if (!r.cy().headless()) {
+ var n = r.pstyle('outline-opacity').value,
+ i = r.pstyle('outline-width').value;
+ if (n > 0 && i > 0) {
+ var a = r.pstyle('outline-offset').value,
+ s = r.pstyle('shape').value,
+ l = i + a,
+ u = (e.w + l * 2) / e.w,
+ h = (e.h + l * 2) / e.h,
+ f = 0,
+ d = 0;
+ ['diamond', 'pentagon', 'round-triangle'].includes(s)
+ ? ((u = (e.w + l * 2.4) / e.w), (d = -l / 3.6))
+ : ['concave-hexagon', 'rhomboid', 'right-rhomboid'].includes(s)
+ ? (u = (e.w + l * 2.4) / e.w)
+ : s === 'star'
+ ? ((u = (e.w + l * 2.8) / e.w), (h = (e.h + l * 2.6) / e.h), (d = -l / 3.8))
+ : s === 'triangle'
+ ? ((u = (e.w + l * 2.8) / e.w), (h = (e.h + l * 2.4) / e.h), (d = -l / 1.4))
+ : s === 'vee' &&
+ ((u = (e.w + l * 4.4) / e.w), (h = (e.h + l * 3.8) / e.h), (d = -l * 0.5));
+ var p = e.h * h - e.h,
+ m = e.w * u - e.w;
+ if ((m6(e, [Math.ceil(p / 2), Math.ceil(m / 2)]), f != 0 || d !== 0)) {
+ var g = bWe(e, f, d);
+ Vpe(e, g);
+ }
+ }
+ }
+ }, 'updateBoundsFromOutline')),
+ (eKe = o(function (e, r) {
+ var n = e._private.cy,
+ i = n.styleEnabled(),
+ a = n.headless(),
+ s = Gs(),
+ l = e._private,
+ u = e.isNode(),
+ h = e.isEdge(),
+ f,
+ d,
+ p,
+ m,
+ g,
+ y,
+ v = l.rstyle,
+ x = u && i ? e.pstyle('bounds-expansion').pfValue : [0],
+ b = o(function (De) {
+ return De.pstyle('display').value !== 'none';
+ }, 'isDisplayed'),
+ w = !i || (b(e) && (!h || (b(e.source()) && b(e.target()))));
+ if (w) {
+ var S = 0,
+ T = 0;
+ i &&
+ r.includeOverlays &&
+ ((S = e.pstyle('overlay-opacity').value),
+ S !== 0 && (T = e.pstyle('overlay-padding').value));
+ var E = 0,
+ _ = 0;
+ i &&
+ r.includeUnderlays &&
+ ((E = e.pstyle('underlay-opacity').value),
+ E !== 0 && (_ = e.pstyle('underlay-padding').value));
+ var A = Math.max(T, _),
+ L = 0,
+ M = 0;
+ if ((i && ((L = e.pstyle('width').pfValue), (M = L / 2)), u && r.includeNodes)) {
+ var N = e.position();
+ (g = N.x), (y = N.y);
+ var k = e.outerWidth(),
+ I = k / 2,
+ C = e.outerHeight(),
+ O = C / 2;
+ (f = g - I),
+ (d = g + I),
+ (p = y - O),
+ (m = y + O),
+ Vl(s, f, p, d, m),
+ i && r.includeOutlines && Jje(s, e);
+ } else if (h && r.includeEdges)
+ if (i && !a) {
+ var D = e.pstyle('curve-style').strValue;
+ if (
+ ((f = Math.min(v.srcX, v.midX, v.tgtX)),
+ (d = Math.max(v.srcX, v.midX, v.tgtX)),
+ (p = Math.min(v.srcY, v.midY, v.tgtY)),
+ (m = Math.max(v.srcY, v.midY, v.tgtY)),
+ (f -= M),
+ (d += M),
+ (p -= M),
+ (m += M),
+ Vl(s, f, p, d, m),
+ D === 'haystack')
+ ) {
+ var P = v.haystackPts;
+ if (P && P.length === 2) {
+ if (((f = P[0].x), (p = P[0].y), (d = P[1].x), (m = P[1].y), f > d)) {
+ var F = f;
+ (f = d), (d = F);
+ }
+ if (p > m) {
+ var B = p;
+ (p = m), (m = B);
+ }
+ Vl(s, f - M, p - M, d + M, m + M);
+ }
+ } else if (
+ D === 'bezier' ||
+ D === 'unbundled-bezier' ||
+ D.endsWith('segments') ||
+ D.endsWith('taxi')
+ ) {
+ var $;
+ switch (D) {
+ case 'bezier':
+ case 'unbundled-bezier':
+ $ = v.bezierPts;
+ break;
+ case 'segments':
+ case 'taxi':
+ case 'round-segments':
+ case 'round-taxi':
+ $ = v.linePts;
+ break;
+ }
+ if ($ != null)
+ for (var z = 0; z < $.length; z++) {
+ var Y = $[z];
+ (f = Y.x - M),
+ (d = Y.x + M),
+ (p = Y.y - M),
+ (m = Y.y + M),
+ Vl(s, f, p, d, m);
+ }
+ }
+ } else {
+ var Q = e.source(),
+ X = Q.position(),
+ ie = e.target(),
+ j = ie.position();
+ if (((f = X.x), (d = j.x), (p = X.y), (m = j.y), f > d)) {
+ var J = f;
+ (f = d), (d = J);
+ }
+ if (p > m) {
+ var Z = p;
+ (p = m), (m = Z);
+ }
+ (f -= M), (d += M), (p -= M), (m += M), Vl(s, f, p, d, m);
+ }
+ if (
+ (i &&
+ r.includeEdges &&
+ h &&
+ (l6(s, e, 'mid-source'),
+ l6(s, e, 'mid-target'),
+ l6(s, e, 'source'),
+ l6(s, e, 'target')),
+ i)
+ ) {
+ var H = e.pstyle('ghost').value === 'yes';
+ if (H) {
+ var q = e.pstyle('ghost-offset-x').pfValue,
+ K = e.pstyle('ghost-offset-y').pfValue;
+ Vl(s, s.x1 + q, s.y1 + K, s.x2 + q, s.y2 + K);
+ }
+ }
+ var se = (l.bodyBounds = l.bodyBounds || {});
+ g0e(se, s),
+ m6(se, x),
+ p6(se, 1),
+ i && ((f = s.x1), (d = s.x2), (p = s.y1), (m = s.y2), Vl(s, f - A, p - A, d + A, m + A));
+ var ce = (l.overlayBounds = l.overlayBounds || {});
+ g0e(ce, s), m6(ce, x), p6(ce, 1);
+ var ue = (l.labelBounds = l.labelBounds || {});
+ ue.all != null ? xWe(ue.all) : (ue.all = Gs()),
+ i &&
+ r.includeLabels &&
+ (r.includeMainLabels && SP(s, e, null),
+ h &&
+ (r.includeSourceLabels && SP(s, e, 'source'),
+ r.includeTargetLabels && SP(s, e, 'target')));
+ }
+ return (
+ (s.x1 = el(s.x1)),
+ (s.y1 = el(s.y1)),
+ (s.x2 = el(s.x2)),
+ (s.y2 = el(s.y2)),
+ (s.w = el(s.x2 - s.x1)),
+ (s.h = el(s.y2 - s.y1)),
+ s.w > 0 && s.h > 0 && w && (m6(s, x), p6(s, 1)),
+ s
+ );
+ }, 'boundingBoxImpl')),
+ (mme = o(function (e) {
+ var r = 0,
+ n = o(function (s) {
+ return (s ? 1 : 0) << r++;
+ }, 'tf'),
+ i = 0;
+ return (
+ (i += n(e.incudeNodes)),
+ (i += n(e.includeEdges)),
+ (i += n(e.includeLabels)),
+ (i += n(e.includeMainLabels)),
+ (i += n(e.includeSourceLabels)),
+ (i += n(e.includeTargetLabels)),
+ (i += n(e.includeOverlays)),
+ (i += n(e.includeOutlines)),
+ i
+ );
+ }, 'getKey')),
+ (gme = o(function (e) {
+ if (e.isEdge()) {
+ var r = e.source().position(),
+ n = e.target().position(),
+ i = o(function (s) {
+ return Math.round(s);
+ }, 'r');
+ return GYe([i(r.x), i(r.y), i(n.x), i(n.y)]);
+ } else return 0;
+ }, 'getBoundingBoxPosKey')),
+ (F0e = o(function (e, r) {
+ var n = e._private,
+ i,
+ a = e.isEdge(),
+ s = r == null ? z0e : mme(r),
+ l = s === z0e,
+ u = gme(e),
+ h = n.bbCachePosKey === u,
+ f = r.useCache && h,
+ d = o(function (y) {
+ return y._private.bbCache == null || y._private.styleDirty;
+ }, 'isDirty'),
+ p = !f || d(e) || (a && d(e.source())) || d(e.target());
+ if (
+ (p
+ ? (h || e.recalculateRenderedStyle(f),
+ (i = eKe(e, Xx)),
+ (n.bbCache = i),
+ (n.bbCachePosKey = u))
+ : (i = n.bbCache),
+ !l)
+ ) {
+ var m = e.isNode();
+ (i = Gs()),
+ ((r.includeNodes && m) || (r.includeEdges && !m)) &&
+ (r.includeOverlays ? F0(i, n.overlayBounds) : F0(i, n.bodyBounds)),
+ r.includeLabels &&
+ (r.includeMainLabels && (!a || (r.includeSourceLabels && r.includeTargetLabels))
+ ? F0(i, n.labelBounds.all)
+ : (r.includeMainLabels && F0(i, n.labelBounds.mainRot),
+ r.includeSourceLabels && F0(i, n.labelBounds.sourceRot),
+ r.includeTargetLabels && F0(i, n.labelBounds.targetRot))),
+ (i.w = i.x2 - i.x1),
+ (i.h = i.y2 - i.y1);
+ }
+ return i;
+ }, 'cachedBoundingBoxImpl')),
+ (Xx = {
+ includeNodes: !0,
+ includeEdges: !0,
+ includeLabels: !0,
+ includeMainLabels: !0,
+ includeSourceLabels: !0,
+ includeTargetLabels: !0,
+ includeOverlays: !0,
+ includeUnderlays: !0,
+ includeOutlines: !0,
+ useCache: !0
+ }),
+ (z0e = mme(Xx)),
+ (G0e = Sa(Xx));
+ Rf.boundingBox = function (t) {
+ var e;
+ if (
+ this.length === 1 &&
+ this[0]._private.bbCache != null &&
+ !this[0]._private.styleDirty &&
+ (t === void 0 || t.useCache === void 0 || t.useCache === !0)
+ )
+ t === void 0 ? (t = Xx) : (t = G0e(t)), (e = F0e(this[0], t));
+ else {
+ (e = Gs()), (t = t || Xx);
+ var r = G0e(t),
+ n = this,
+ i = n.cy(),
+ a = i.styleEnabled();
+ if (a)
+ for (var s = 0; s < n.length; s++) {
+ var l = n[s],
+ u = l._private,
+ h = gme(l),
+ f = u.bbCachePosKey === h,
+ d = r.useCache && f && !u.styleDirty;
+ l.recalculateRenderedStyle(d);
+ }
+ this.updateCompoundBounds(!t.useCache);
+ for (var p = 0; p < n.length; p++) {
+ var m = n[p];
+ F0(e, F0e(m, r));
+ }
+ }
+ return (
+ (e.x1 = el(e.x1)),
+ (e.y1 = el(e.y1)),
+ (e.x2 = el(e.x2)),
+ (e.y2 = el(e.y2)),
+ (e.w = el(e.x2 - e.x1)),
+ (e.h = el(e.y2 - e.y1)),
+ e
+ );
+ };
+ Rf.dirtyBoundingBoxCache = function () {
+ for (var t = 0; t < this.length; t++) {
+ var e = this[t]._private;
+ (e.bbCache = null),
+ (e.bbCachePosKey = null),
+ (e.bodyBounds = null),
+ (e.overlayBounds = null),
+ (e.labelBounds.all = null),
+ (e.labelBounds.source = null),
+ (e.labelBounds.target = null),
+ (e.labelBounds.main = null),
+ (e.labelBounds.sourceRot = null),
+ (e.labelBounds.targetRot = null),
+ (e.labelBounds.mainRot = null),
+ (e.arrowBounds.source = null),
+ (e.arrowBounds.target = null),
+ (e.arrowBounds['mid-source'] = null),
+ (e.arrowBounds['mid-target'] = null);
+ }
+ return this.emitAndNotify('bounds'), this;
+ };
+ Rf.boundingBoxAt = function (t) {
+ var e = this.nodes(),
+ r = this.cy(),
+ n = r.hasCompoundNodes(),
+ i = r.collection();
+ if (
+ (n &&
+ ((i = e.filter(function (h) {
+ return h.isParent();
+ })),
+ (e = e.not(i))),
+ Mr(t))
+ ) {
+ var a = t;
+ t = o(function () {
+ return a;
+ }, 'fn');
+ }
+ var s = o(function (f, d) {
+ return (f._private.bbAtOldPos = t(f, d));
+ }, 'storeOldPos'),
+ l = o(function (f) {
+ return f._private.bbAtOldPos;
+ }, 'getOldPos');
+ r.startBatch(),
+ e.forEach(s).silentPositions(t),
+ n && (i.dirtyCompoundBoundsCache(), i.dirtyBoundingBoxCache(), i.updateCompoundBounds(!0));
+ var u = vWe(this.boundingBox({ useCache: !1 }));
+ return (
+ e.silentPositions(l),
+ n && (i.dirtyCompoundBoundsCache(), i.dirtyBoundingBoxCache(), i.updateCompoundBounds(!0)),
+ r.endBatch(),
+ u
+ );
+ };
+ i1.boundingbox = i1.bb = i1.boundingBox;
+ i1.renderedBoundingbox = i1.renderedBoundingBox;
+ tKe = Rf;
+ Px = tb = {};
+ yme = o(function (e) {
+ (e.uppercaseName = c0e(e.name)),
+ (e.autoName = 'auto' + e.uppercaseName),
+ (e.labelName = 'label' + e.uppercaseName),
+ (e.outerName = 'outer' + e.uppercaseName),
+ (e.uppercaseOuterName = c0e(e.outerName)),
+ (Px[e.name] = o(function () {
+ var n = this[0],
+ i = n._private,
+ a = i.cy,
+ s = a._private.styleEnabled;
+ if (n)
+ if (s) {
+ if (n.isParent()) return n.updateCompoundBounds(), i[e.autoName] || 0;
+ var l = n.pstyle(e.name);
+ switch (l.strValue) {
+ case 'label':
+ return n.recalculateRenderedStyle(), i.rstyle[e.labelName] || 0;
+ default:
+ return l.pfValue;
+ }
+ } else return 1;
+ }, 'dimImpl')),
+ (Px['outer' + e.uppercaseName] = o(function () {
+ var n = this[0],
+ i = n._private,
+ a = i.cy,
+ s = a._private.styleEnabled;
+ if (n)
+ if (s) {
+ var l = n[e.name](),
+ u = n.pstyle('border-width').pfValue,
+ h = 2 * n.padding();
+ return l + u + h;
+ } else return 1;
+ }, 'outerDimImpl')),
+ (Px['rendered' + e.uppercaseName] = o(function () {
+ var n = this[0];
+ if (n) {
+ var i = n[e.name]();
+ return i * this.cy().zoom();
+ }
+ }, 'renderedDimImpl')),
+ (Px['rendered' + e.uppercaseOuterName] = o(function () {
+ var n = this[0];
+ if (n) {
+ var i = n[e.outerName]();
+ return i * this.cy().zoom();
+ }
+ }, 'renderedOuterDimImpl'));
+ }, 'defineDimFns');
+ yme({ name: 'width' });
+ yme({ name: 'height' });
+ tb.padding = function () {
+ var t = this[0],
+ e = t._private;
+ return t.isParent()
+ ? (t.updateCompoundBounds(), e.autoPadding !== void 0 ? e.autoPadding : t.pstyle('padding').pfValue)
+ : t.pstyle('padding').pfValue;
+ };
+ tb.paddedHeight = function () {
+ var t = this[0];
+ return t.height() + 2 * t.padding();
+ };
+ tb.paddedWidth = function () {
+ var t = this[0];
+ return t.width() + 2 * t.padding();
+ };
+ (rKe = tb),
+ (nKe = o(function (e, r) {
+ if (e.isEdge()) return r(e);
+ }, 'ifEdge')),
+ (iKe = o(function (e, r) {
+ if (e.isEdge()) {
+ var n = e.cy();
+ return F6(r(e), n.zoom(), n.pan());
+ }
+ }, 'ifEdgeRenderedPosition')),
+ (aKe = o(function (e, r) {
+ if (e.isEdge()) {
+ var n = e.cy(),
+ i = n.pan(),
+ a = n.zoom();
+ return r(e).map(function (s) {
+ return F6(s, a, i);
+ });
+ }
+ }, 'ifEdgeRenderedPositions')),
+ (sKe = o(function (e) {
+ return e.renderer().getControlPoints(e);
+ }, 'controlPoints')),
+ (oKe = o(function (e) {
+ return e.renderer().getSegmentPoints(e);
+ }, 'segmentPoints')),
+ (lKe = o(function (e) {
+ return e.renderer().getSourceEndpoint(e);
+ }, 'sourceEndpoint')),
+ (cKe = o(function (e) {
+ return e.renderer().getTargetEndpoint(e);
+ }, 'targetEndpoint')),
+ (uKe = o(function (e) {
+ return e.renderer().getEdgeMidpoint(e);
+ }, 'midpoint')),
+ ($0e = {
+ controlPoints: { get: sKe, mult: !0 },
+ segmentPoints: { get: oKe, mult: !0 },
+ sourceEndpoint: { get: lKe },
+ targetEndpoint: { get: cKe },
+ midpoint: { get: uKe }
+ }),
+ (hKe = o(function (e) {
+ return 'rendered' + e[0].toUpperCase() + e.substr(1);
+ }, 'renderedName')),
+ (fKe = Object.keys($0e).reduce(function (t, e) {
+ var r = $0e[e],
+ n = hKe(e);
+ return (
+ (t[e] = function () {
+ return nKe(this, r.get);
+ }),
+ r.mult
+ ? (t[n] = function () {
+ return aKe(this, r.get);
+ })
+ : (t[n] = function () {
+ return iKe(this, r.get);
+ }),
+ t
+ );
+ }, {})),
+ (dKe = Wt({}, Zje, tKe, rKe, fKe));
+ vme = o(function (e, r) {
+ this.recycle(e, r);
+ }, 'Event');
+ o(Rx, 'returnFalse');
+ o(c6, 'returnTrue');
+ vme.prototype = {
+ instanceString: o(function () {
+ return 'event';
+ }, 'instanceString'),
+ recycle: o(function (e, r) {
+ if (
+ ((this.isImmediatePropagationStopped =
+ this.isPropagationStopped =
+ this.isDefaultPrevented =
+ Rx),
+ e != null && e.preventDefault
+ ? ((this.type = e.type), (this.isDefaultPrevented = e.defaultPrevented ? c6 : Rx))
+ : e != null && e.type
+ ? (r = e)
+ : (this.type = e),
+ r != null &&
+ ((this.originalEvent = r.originalEvent),
+ (this.type = r.type != null ? r.type : this.type),
+ (this.cy = r.cy),
+ (this.target = r.target),
+ (this.position = r.position),
+ (this.renderedPosition = r.renderedPosition),
+ (this.namespace = r.namespace),
+ (this.layout = r.layout)),
+ this.cy != null && this.position != null && this.renderedPosition == null)
+ ) {
+ var n = this.position,
+ i = this.cy.zoom(),
+ a = this.cy.pan();
+ this.renderedPosition = { x: n.x * i + a.x, y: n.y * i + a.y };
+ }
+ this.timeStamp = (e && e.timeStamp) || Date.now();
+ }, 'recycle'),
+ preventDefault: o(function () {
+ this.isDefaultPrevented = c6;
+ var e = this.originalEvent;
+ e && e.preventDefault && e.preventDefault();
+ }, 'preventDefault'),
+ stopPropagation: o(function () {
+ this.isPropagationStopped = c6;
+ var e = this.originalEvent;
+ e && e.stopPropagation && e.stopPropagation();
+ }, 'stopPropagation'),
+ stopImmediatePropagation: o(function () {
+ (this.isImmediatePropagationStopped = c6), this.stopPropagation();
+ }, 'stopImmediatePropagation'),
+ isDefaultPrevented: Rx,
+ isPropagationStopped: Rx,
+ isImmediatePropagationStopped: Rx
+ };
+ (xme = /^([^.]+)(\.(?:[^.]+))?$/),
+ (pKe = '.*'),
+ (bme = {
+ qualifierCompare: o(function (e, r) {
+ return e === r;
+ }, 'qualifierCompare'),
+ eventMatches: o(function () {
+ return !0;
+ }, 'eventMatches'),
+ addEventFields: o(function () {}, 'addEventFields'),
+ callbackContext: o(function (e) {
+ return e;
+ }, 'callbackContext'),
+ beforeEmit: o(function () {}, 'beforeEmit'),
+ afterEmit: o(function () {}, 'afterEmit'),
+ bubble: o(function () {
+ return !1;
+ }, 'bubble'),
+ parent: o(function () {
+ return null;
+ }, 'parent'),
+ context: null
+ }),
+ (V0e = Object.keys(bme)),
+ (mKe = {});
+ o(H6, 'Emitter');
+ (Df = H6.prototype),
+ (wme = o(function (e, r, n, i, a, s, l) {
+ jn(i) && ((a = i), (i = null)), l && (s == null ? (s = l) : (s = Wt({}, s, l)));
+ for (var u = vn(n) ? n : n.split(/\s+/), h = 0; h < u.length; h++) {
+ var f = u[h];
+ if (!Sf(f)) {
+ var d = f.match(xme);
+ if (d) {
+ var p = d[1],
+ m = d[2] ? d[2] : null,
+ g = r(e, f, p, m, i, a, s);
+ if (g === !1) break;
+ }
+ }
+ }
+ }, 'forEachEvent')),
+ (U0e = o(function (e, r) {
+ return e.addEventFields(e.context, r), new vme(r.type, r);
+ }, 'makeEventObj')),
+ (gKe = o(function (e, r, n) {
+ if (PHe(n)) {
+ r(e, n);
+ return;
+ } else if (Mr(n)) {
+ r(e, U0e(e, n));
+ return;
+ }
+ for (var i = vn(n) ? n : n.split(/\s+/), a = 0; a < i.length; a++) {
+ var s = i[a];
+ if (!Sf(s)) {
+ var l = s.match(xme);
+ if (l) {
+ var u = l[1],
+ h = l[2] ? l[2] : null,
+ f = U0e(e, { type: u, namespace: h, target: e.context });
+ r(e, f);
+ }
+ }
+ }
+ }, 'forEachEventObj'));
+ Df.on = Df.addListener = function (t, e, r, n, i) {
+ return (
+ wme(
+ this,
+ function (a, s, l, u, h, f, d) {
+ jn(f) &&
+ a.listeners.push({
+ event: s,
+ callback: f,
+ type: l,
+ namespace: u,
+ qualifier: h,
+ conf: d
+ });
+ },
+ t,
+ e,
+ r,
+ n,
+ i
+ ),
+ this
+ );
+ };
+ Df.one = function (t, e, r, n) {
+ return this.on(t, e, r, n, { one: !0 });
+ };
+ Df.removeListener = Df.off = function (t, e, r, n) {
+ var i = this;
+ this.emitting !== 0 && (this.listeners = YYe(this.listeners));
+ for (
+ var a = this.listeners,
+ s = o(function (h) {
+ var f = a[h];
+ wme(
+ i,
+ function (d, p, m, g, y, v) {
+ if (
+ (f.type === m || t === '*') &&
+ ((!g && f.namespace !== '.*') || f.namespace === g) &&
+ (!y || d.qualifierCompare(f.qualifier, y)) &&
+ (!v || f.callback === v)
+ )
+ return a.splice(h, 1), !1;
+ },
+ t,
+ e,
+ r,
+ n
+ );
+ }, '_loop'),
+ l = a.length - 1;
+ l >= 0;
+ l--
+ )
+ s(l);
+ return this;
+ };
+ Df.removeAllListeners = function () {
+ return this.removeListener('*');
+ };
+ Df.emit = Df.trigger = function (t, e, r) {
+ var n = this.listeners,
+ i = n.length;
+ return (
+ this.emitting++,
+ vn(e) || (e = [e]),
+ gKe(
+ this,
+ function (a, s) {
+ r != null &&
+ ((n = [
+ {
+ event: s.event,
+ type: s.type,
+ namespace: s.namespace,
+ callback: r
+ }
+ ]),
+ (i = n.length));
+ for (
+ var l = o(function (f) {
+ var d = n[f];
+ if (
+ d.type === s.type &&
+ (!d.namespace || d.namespace === s.namespace || d.namespace === pKe) &&
+ a.eventMatches(a.context, d, s)
+ ) {
+ var p = [s];
+ e != null && qYe(p, e),
+ a.beforeEmit(a.context, d, s),
+ d.conf &&
+ d.conf.one &&
+ (a.listeners = a.listeners.filter(function (y) {
+ return y !== d;
+ }));
+ var m = a.callbackContext(a.context, d, s),
+ g = d.callback.apply(m, p);
+ a.afterEmit(a.context, d, s),
+ g === !1 && (s.stopPropagation(), s.preventDefault());
+ }
+ }, '_loop2'),
+ u = 0;
+ u < i;
+ u++
+ )
+ l(u);
+ a.bubble(a.context) && !s.isPropagationStopped() && a.parent(a.context).emit(s, e);
+ },
+ t
+ ),
+ this.emitting--,
+ this
+ );
+ };
+ (yKe = {
+ qualifierCompare: o(function (e, r) {
+ return e == null || r == null ? e == null && r == null : e.sameText(r);
+ }, 'qualifierCompare'),
+ eventMatches: o(function (e, r, n) {
+ var i = r.qualifier;
+ return i != null ? e !== n.target && Zx(n.target) && i.matches(n.target) : !0;
+ }, 'eventMatches'),
+ addEventFields: o(function (e, r) {
+ (r.cy = e.cy()), (r.target = e);
+ }, 'addEventFields'),
+ callbackContext: o(function (e, r, n) {
+ return r.qualifier != null ? n.target : e;
+ }, 'callbackContext'),
+ beforeEmit: o(function (e, r) {
+ r.conf && r.conf.once && r.conf.onceCollection.removeListener(r.event, r.qualifier, r.callback);
+ }, 'beforeEmit'),
+ bubble: o(function () {
+ return !0;
+ }, 'bubble'),
+ parent: o(function (e) {
+ return e.isChild() ? e.parent() : e.cy();
+ }, 'parent')
+ }),
+ (u6 = o(function (e) {
+ return zt(e) ? new _f(e) : e;
+ }, 'argSelector')),
+ (Tme = {
+ createEmitter: o(function () {
+ for (var e = 0; e < this.length; e++) {
+ var r = this[e],
+ n = r._private;
+ n.emitter || (n.emitter = new H6(yKe, r));
+ }
+ return this;
+ }, 'createEmitter'),
+ emitter: o(function () {
+ return this._private.emitter;
+ }, 'emitter'),
+ on: o(function (e, r, n) {
+ for (var i = u6(r), a = 0; a < this.length; a++) {
+ var s = this[a];
+ s.emitter().on(e, i, n);
+ }
+ return this;
+ }, 'on'),
+ removeListener: o(function (e, r, n) {
+ for (var i = u6(r), a = 0; a < this.length; a++) {
+ var s = this[a];
+ s.emitter().removeListener(e, i, n);
+ }
+ return this;
+ }, 'removeListener'),
+ removeAllListeners: o(function () {
+ for (var e = 0; e < this.length; e++) {
+ var r = this[e];
+ r.emitter().removeAllListeners();
+ }
+ return this;
+ }, 'removeAllListeners'),
+ one: o(function (e, r, n) {
+ for (var i = u6(r), a = 0; a < this.length; a++) {
+ var s = this[a];
+ s.emitter().one(e, i, n);
+ }
+ return this;
+ }, 'one'),
+ once: o(function (e, r, n) {
+ for (var i = u6(r), a = 0; a < this.length; a++) {
+ var s = this[a];
+ s.emitter().on(e, i, n, { once: !0, onceCollection: this });
+ }
+ }, 'once'),
+ emit: o(function (e, r) {
+ for (var n = 0; n < this.length; n++) {
+ var i = this[n];
+ i.emitter().emit(e, r);
+ }
+ return this;
+ }, 'emit'),
+ emitAndNotify: o(function (e, r) {
+ if (this.length !== 0) return this.cy().notify(e, this), this.emit(e, r), this;
+ }, 'emitAndNotify')
+ });
+ en.eventAliasesOn(Tme);
+ (kme = {
+ nodes: o(function (e) {
+ return this.filter(function (r) {
+ return r.isNode();
+ }).filter(e);
+ }, 'nodes'),
+ edges: o(function (e) {
+ return this.filter(function (r) {
+ return r.isEdge();
+ }).filter(e);
+ }, 'edges'),
+ byGroup: o(function () {
+ for (var e = this.spawn(), r = this.spawn(), n = 0; n < this.length; n++) {
+ var i = this[n];
+ i.isNode() ? e.push(i) : r.push(i);
+ }
+ return { nodes: e, edges: r };
+ }, 'byGroup'),
+ filter: o(function (e, r) {
+ if (e === void 0) return this;
+ if (zt(e) || xo(e)) return new _f(e).filter(this);
+ if (jn(e)) {
+ for (var n = this.spawn(), i = this, a = 0; a < i.length; a++) {
+ var s = i[a],
+ l = r ? e.apply(r, [s, a, i]) : e(s, a, i);
+ l && n.push(s);
+ }
+ return n;
+ }
+ return this.spawn();
+ }, 'filter'),
+ not: o(function (e) {
+ if (e) {
+ zt(e) && (e = this.filter(e));
+ for (var r = this.spawn(), n = 0; n < this.length; n++) {
+ var i = this[n],
+ a = e.has(i);
+ a || r.push(i);
+ }
+ return r;
+ } else return this;
+ }, 'not'),
+ absoluteComplement: o(function () {
+ var e = this.cy();
+ return e.mutableElements().not(this);
+ }, 'absoluteComplement'),
+ intersect: o(function (e) {
+ if (zt(e)) {
+ var r = e;
+ return this.filter(r);
+ }
+ for (
+ var n = this.spawn(),
+ i = this,
+ a = e,
+ s = this.length < e.length,
+ l = s ? i : a,
+ u = s ? a : i,
+ h = 0;
+ h < l.length;
+ h++
+ ) {
+ var f = l[h];
+ u.has(f) && n.push(f);
+ }
+ return n;
+ }, 'intersect'),
+ xor: o(function (e) {
+ var r = this._private.cy;
+ zt(e) && (e = r.$(e));
+ var n = this.spawn(),
+ i = this,
+ a = e,
+ s = o(function (u, h) {
+ for (var f = 0; f < u.length; f++) {
+ var d = u[f],
+ p = d._private.data.id,
+ m = h.hasElementWithId(p);
+ m || n.push(d);
+ }
+ }, 'add');
+ return s(i, a), s(a, i), n;
+ }, 'xor'),
+ diff: o(function (e) {
+ var r = this._private.cy;
+ zt(e) && (e = r.$(e));
+ var n = this.spawn(),
+ i = this.spawn(),
+ a = this.spawn(),
+ s = this,
+ l = e,
+ u = o(function (f, d, p) {
+ for (var m = 0; m < f.length; m++) {
+ var g = f[m],
+ y = g._private.data.id,
+ v = d.hasElementWithId(y);
+ v ? a.merge(g) : p.push(g);
+ }
+ }, 'add');
+ return u(s, l, n), u(l, s, i), { left: n, right: i, both: a };
+ }, 'diff'),
+ add: o(function (e) {
+ var r = this._private.cy;
+ if (!e) return this;
+ if (zt(e)) {
+ var n = e;
+ e = r.mutableElements().filter(n);
+ }
+ for (var i = this.spawnSelf(), a = 0; a < e.length; a++) {
+ var s = e[a],
+ l = !this.has(s);
+ l && i.push(s);
+ }
+ return i;
+ }, 'add'),
+ merge: o(function (e) {
+ var r = this._private,
+ n = r.cy;
+ if (!e) return this;
+ if (e && zt(e)) {
+ var i = e;
+ e = n.mutableElements().filter(i);
+ }
+ for (var a = r.map, s = 0; s < e.length; s++) {
+ var l = e[s],
+ u = l._private.data.id,
+ h = !a.has(u);
+ if (h) {
+ var f = this.length++;
+ (this[f] = l), a.set(u, { ele: l, index: f });
+ }
+ }
+ return this;
+ }, 'merge'),
+ unmergeAt: o(function (e) {
+ var r = this[e],
+ n = r.id(),
+ i = this._private,
+ a = i.map;
+ (this[e] = void 0), a.delete(n);
+ var s = e === this.length - 1;
+ if (this.length > 1 && !s) {
+ var l = this.length - 1,
+ u = this[l],
+ h = u._private.data.id;
+ (this[l] = void 0), (this[e] = u), a.set(h, { ele: u, index: e });
+ }
+ return this.length--, this;
+ }, 'unmergeAt'),
+ unmergeOne: o(function (e) {
+ e = e[0];
+ var r = this._private,
+ n = e._private.data.id,
+ i = r.map,
+ a = i.get(n);
+ if (!a) return this;
+ var s = a.index;
+ return this.unmergeAt(s), this;
+ }, 'unmergeOne'),
+ unmerge: o(function (e) {
+ var r = this._private.cy;
+ if (!e) return this;
+ if (e && zt(e)) {
+ var n = e;
+ e = r.mutableElements().filter(n);
+ }
+ for (var i = 0; i < e.length; i++) this.unmergeOne(e[i]);
+ return this;
+ }, 'unmerge'),
+ unmergeBy: o(function (e) {
+ for (var r = this.length - 1; r >= 0; r--) {
+ var n = this[r];
+ e(n) && this.unmergeAt(r);
+ }
+ return this;
+ }, 'unmergeBy'),
+ map: o(function (e, r) {
+ for (var n = [], i = this, a = 0; a < i.length; a++) {
+ var s = i[a],
+ l = r ? e.apply(r, [s, a, i]) : e(s, a, i);
+ n.push(l);
+ }
+ return n;
+ }, 'map'),
+ reduce: o(function (e, r) {
+ for (var n = r, i = this, a = 0; a < i.length; a++) n = e(n, i[a], a, i);
+ return n;
+ }, 'reduce'),
+ max: o(function (e, r) {
+ for (var n = -1 / 0, i, a = this, s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = r ? e.apply(r, [l, s, a]) : e(l, s, a);
+ u > n && ((n = u), (i = l));
+ }
+ return { value: n, ele: i };
+ }, 'max'),
+ min: o(function (e, r) {
+ for (var n = 1 / 0, i, a = this, s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = r ? e.apply(r, [l, s, a]) : e(l, s, a);
+ u < n && ((n = u), (i = l));
+ }
+ return { value: n, ele: i };
+ }, 'min')
+ }),
+ (Wr = kme);
+ Wr.u = Wr['|'] = Wr['+'] = Wr.union = Wr.or = Wr.add;
+ Wr['\\'] = Wr['!'] = Wr['-'] = Wr.difference = Wr.relativeComplement = Wr.subtract = Wr.not;
+ Wr.n = Wr['&'] = Wr['.'] = Wr.and = Wr.intersection = Wr.intersect;
+ Wr['^'] = Wr['(+)'] = Wr['(-)'] = Wr.symmetricDifference = Wr.symdiff = Wr.xor;
+ Wr.fnFilter = Wr.filterFn = Wr.stdFilter = Wr.filter;
+ Wr.complement = Wr.abscomp = Wr.absoluteComplement;
+ (vKe = {
+ isNode: o(function () {
+ return this.group() === 'nodes';
+ }, 'isNode'),
+ isEdge: o(function () {
+ return this.group() === 'edges';
+ }, 'isEdge'),
+ isLoop: o(function () {
+ return this.isEdge() && this.source()[0] === this.target()[0];
+ }, 'isLoop'),
+ isSimple: o(function () {
+ return this.isEdge() && this.source()[0] !== this.target()[0];
+ }, 'isSimple'),
+ group: o(function () {
+ var e = this[0];
+ if (e) return e._private.group;
+ }, 'group')
+ }),
+ (Eme = o(function (e, r) {
+ var n = e.cy(),
+ i = n.hasCompoundNodes();
+ function a(f) {
+ var d = f.pstyle('z-compound-depth');
+ return d.value === 'auto'
+ ? i
+ ? f.zDepth()
+ : 0
+ : d.value === 'bottom'
+ ? -1
+ : d.value === 'top'
+ ? ZP
+ : 0;
+ }
+ o(a, 'getDepth');
+ var s = a(e) - a(r);
+ if (s !== 0) return s;
+ function l(f) {
+ var d = f.pstyle('z-index-compare');
+ return d.value === 'auto' && f.isNode() ? 1 : 0;
+ }
+ o(l, 'getEleDepth');
+ var u = l(e) - l(r);
+ if (u !== 0) return u;
+ var h = e.pstyle('z-index').value - r.pstyle('z-index').value;
+ return h !== 0 ? h : e.poolIndex() - r.poolIndex();
+ }, 'zIndexSort')),
+ (L6 = {
+ forEach: o(function (e, r) {
+ if (jn(e))
+ for (var n = this.length, i = 0; i < n; i++) {
+ var a = this[i],
+ s = r ? e.apply(r, [a, i, this]) : e(a, i, this);
+ if (s === !1) break;
+ }
+ return this;
+ }, 'forEach'),
+ toArray: o(function () {
+ for (var e = [], r = 0; r < this.length; r++) e.push(this[r]);
+ return e;
+ }, 'toArray'),
+ slice: o(function (e, r) {
+ var n = [],
+ i = this.length;
+ r == null && (r = i), e == null && (e = 0), e < 0 && (e = i + e), r < 0 && (r = i + r);
+ for (var a = e; a >= 0 && a < r && a < i; a++) n.push(this[a]);
+ return this.spawn(n);
+ }, 'slice'),
+ size: o(function () {
+ return this.length;
+ }, 'size'),
+ eq: o(function (e) {
+ return this[e] || this.spawn();
+ }, 'eq'),
+ first: o(function () {
+ return this[0] || this.spawn();
+ }, 'first'),
+ last: o(function () {
+ return this[this.length - 1] || this.spawn();
+ }, 'last'),
+ empty: o(function () {
+ return this.length === 0;
+ }, 'empty'),
+ nonempty: o(function () {
+ return !this.empty();
+ }, 'nonempty'),
+ sort: o(function (e) {
+ if (!jn(e)) return this;
+ var r = this.toArray().sort(e);
+ return this.spawn(r);
+ }, 'sort'),
+ sortByZIndex: o(function () {
+ return this.sort(Eme);
+ }, 'sortByZIndex'),
+ zDepth: o(function () {
+ var e = this[0];
+ if (e) {
+ var r = e._private,
+ n = r.group;
+ if (n === 'nodes') {
+ var i = r.data.parent ? e.parents().size() : 0;
+ return e.isParent() ? i : ZP - 1;
+ } else {
+ var a = r.source,
+ s = r.target,
+ l = a.zDepth(),
+ u = s.zDepth();
+ return Math.max(l, u, 0);
+ }
+ }
+ }, 'zDepth')
+ });
+ L6.each = L6.forEach;
+ xKe = o(function () {
+ var e = 'undefined',
+ r = (typeof Symbol > 'u' ? 'undefined' : Hi(Symbol)) != e && Hi(Symbol.iterator) != e;
+ r &&
+ (L6[Symbol.iterator] = function () {
+ var n = this,
+ i = { value: void 0, done: !1 },
+ a = 0,
+ s = this.length;
+ return bpe(
+ {
+ next: o(function () {
+ return a < s ? (i.value = n[a++]) : ((i.value = void 0), (i.done = !0)), i;
+ }, 'next')
+ },
+ Symbol.iterator,
+ function () {
+ return this;
+ }
+ );
+ });
+ }, 'defineSymbolIterator');
+ xKe();
+ (bKe = Sa({ nodeDimensionsIncludeLabels: !1 })),
+ (y6 = {
+ layoutDimensions: o(function (e) {
+ e = bKe(e);
+ var r;
+ if (!this.takesUpSpace()) r = { w: 0, h: 0 };
+ else if (e.nodeDimensionsIncludeLabels) {
+ var n = this.boundingBox();
+ r = { w: n.w, h: n.h };
+ } else r = { w: this.outerWidth(), h: this.outerHeight() };
+ return (r.w === 0 || r.h === 0) && (r.w = r.h = 1), r;
+ }, 'layoutDimensions'),
+ layoutPositions: o(function (e, r, n) {
+ var i = this.nodes().filter(function (T) {
+ return !T.isParent();
+ }),
+ a = this.cy(),
+ s = r.eles,
+ l = o(function (E) {
+ return E.id();
+ }, 'getMemoizeKey'),
+ u = Gx(n, l);
+ e.emit({ type: 'layoutstart', layout: e }), (e.animations = []);
+ var h = o(function (E, _, A) {
+ var L = { x: _.x1 + _.w / 2, y: _.y1 + _.h / 2 },
+ M = { x: (A.x - L.x) * E, y: (A.y - L.y) * E };
+ return { x: L.x + M.x, y: L.y + M.y };
+ }, 'calculateSpacing'),
+ f = r.spacingFactor && r.spacingFactor !== 1,
+ d = o(function () {
+ if (!f) return null;
+ for (var E = Gs(), _ = 0; _ < i.length; _++) {
+ var A = i[_],
+ L = u(A, _);
+ wWe(E, L.x, L.y);
+ }
+ return E;
+ }, 'spacingBb'),
+ p = d(),
+ m = Gx(function (T, E) {
+ var _ = u(T, E);
+ if (f) {
+ var A = Math.abs(r.spacingFactor);
+ _ = h(A, p, _);
+ }
+ return r.transform != null && (_ = r.transform(T, _)), _;
+ }, l);
+ if (r.animate) {
+ for (var g = 0; g < i.length; g++) {
+ var y = i[g],
+ v = m(y, g),
+ x = r.animateFilter == null || r.animateFilter(y, g);
+ if (x) {
+ var b = y.animation({
+ position: v,
+ duration: r.animationDuration,
+ easing: r.animationEasing
+ });
+ e.animations.push(b);
+ } else y.position(v);
+ }
+ if (r.fit) {
+ var w = a.animation({
+ fit: { boundingBox: s.boundingBoxAt(m), padding: r.padding },
+ duration: r.animationDuration,
+ easing: r.animationEasing
+ });
+ e.animations.push(w);
+ } else if (r.zoom !== void 0 && r.pan !== void 0) {
+ var S = a.animation({
+ zoom: r.zoom,
+ pan: r.pan,
+ duration: r.animationDuration,
+ easing: r.animationEasing
+ });
+ e.animations.push(S);
+ }
+ e.animations.forEach(function (T) {
+ return T.play();
+ }),
+ e.one('layoutready', r.ready),
+ e.emit({ type: 'layoutready', layout: e }),
+ u1
+ .all(
+ e.animations.map(function (T) {
+ return T.promise();
+ })
+ )
+ .then(function () {
+ e.one('layoutstop', r.stop), e.emit({ type: 'layoutstop', layout: e });
+ });
+ } else
+ i.positions(m),
+ r.fit && a.fit(r.eles, r.padding),
+ r.zoom != null && a.zoom(r.zoom),
+ r.pan && a.pan(r.pan),
+ e.one('layoutready', r.ready),
+ e.emit({ type: 'layoutready', layout: e }),
+ e.one('layoutstop', r.stop),
+ e.emit({ type: 'layoutstop', layout: e });
+ return this;
+ }, 'layoutPositions'),
+ layout: o(function (e) {
+ var r = this.cy();
+ return r.makeLayout(Wt({}, e, { eles: this }));
+ }, 'layout')
+ });
+ y6.createLayout = y6.makeLayout = y6.layout;
+ o(Cme, 'styleCache');
+ o(Y6, 'cacheStyleFunction');
+ o(W6, 'cachePrototypeStyleFunction');
+ Ea = {
+ recalculateRenderedStyle: o(function (e) {
+ var r = this.cy(),
+ n = r.renderer(),
+ i = r.styleEnabled();
+ return n && i && n.recalculateRenderedStyle(this, e), this;
+ }, 'recalculateRenderedStyle'),
+ dirtyStyleCache: o(function () {
+ var e = this.cy(),
+ r = o(function (a) {
+ return (a._private.styleCache = null);
+ }, 'dirty');
+ if (e.hasCompoundNodes()) {
+ var n;
+ (n = this.spawnSelf().merge(this.descendants()).merge(this.parents())),
+ n.merge(n.connectedEdges()),
+ n.forEach(r);
+ } else
+ this.forEach(function (i) {
+ r(i), i.connectedEdges().forEach(r);
+ });
+ return this;
+ }, 'dirtyStyleCache'),
+ updateStyle: o(function (e) {
+ var r = this._private.cy;
+ if (!r.styleEnabled()) return this;
+ if (r.batching()) {
+ var n = r._private.batchStyleEles;
+ return n.merge(this), this;
+ }
+ var i = r.hasCompoundNodes(),
+ a = this;
+ (e = !!(e || e === void 0)),
+ i && (a = this.spawnSelf().merge(this.descendants()).merge(this.parents()));
+ var s = a;
+ return (
+ e ? s.emitAndNotify('style') : s.emit('style'),
+ a.forEach(function (l) {
+ return (l._private.styleDirty = !0);
+ }),
+ this
+ );
+ }, 'updateStyle'),
+ cleanStyle: o(function () {
+ var e = this.cy();
+ if (e.styleEnabled())
+ for (var r = 0; r < this.length; r++) {
+ var n = this[r];
+ n._private.styleDirty && ((n._private.styleDirty = !1), e.style().apply(n));
+ }
+ }, 'cleanStyle'),
+ parsedStyle: o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
+ n = this[0],
+ i = n.cy();
+ if (i.styleEnabled() && n) {
+ this.cleanStyle();
+ var a = n._private.style[e];
+ return a ?? (r ? i.style().getDefaultProperty(e) : null);
+ }
+ }, 'parsedStyle'),
+ numericStyle: o(function (e) {
+ var r = this[0];
+ if (r.cy().styleEnabled() && r) {
+ var n = r.pstyle(e);
+ return n.pfValue !== void 0 ? n.pfValue : n.value;
+ }
+ }, 'numericStyle'),
+ numericStyleUnits: o(function (e) {
+ var r = this[0];
+ if (r.cy().styleEnabled() && r) return r.pstyle(e).units;
+ }, 'numericStyleUnits'),
+ renderedStyle: o(function (e) {
+ var r = this.cy();
+ if (!r.styleEnabled()) return this;
+ var n = this[0];
+ if (n) return r.style().getRenderedStyle(n, e);
+ }, 'renderedStyle'),
+ style: o(function (e, r) {
+ var n = this.cy();
+ if (!n.styleEnabled()) return this;
+ var i = !1,
+ a = n.style();
+ if (Mr(e)) {
+ var s = e;
+ a.applyBypass(this, s, i), this.emitAndNotify('style');
+ } else if (zt(e))
+ if (r === void 0) {
+ var l = this[0];
+ return l ? a.getStylePropertyValue(l, e) : void 0;
+ } else a.applyBypass(this, e, r, i), this.emitAndNotify('style');
+ else if (e === void 0) {
+ var u = this[0];
+ return u ? a.getRawStyle(u) : void 0;
+ }
+ return this;
+ }, 'style'),
+ removeStyle: o(function (e) {
+ var r = this.cy();
+ if (!r.styleEnabled()) return this;
+ var n = !1,
+ i = r.style(),
+ a = this;
+ if (e === void 0)
+ for (var s = 0; s < a.length; s++) {
+ var l = a[s];
+ i.removeAllBypasses(l, n);
+ }
+ else {
+ e = e.split(/\s+/);
+ for (var u = 0; u < a.length; u++) {
+ var h = a[u];
+ i.removeBypasses(h, e, n);
+ }
+ }
+ return this.emitAndNotify('style'), this;
+ }, 'removeStyle'),
+ show: o(function () {
+ return this.css('display', 'element'), this;
+ }, 'show'),
+ hide: o(function () {
+ return this.css('display', 'none'), this;
+ }, 'hide'),
+ effectiveOpacity: o(function () {
+ var e = this.cy();
+ if (!e.styleEnabled()) return 1;
+ var r = e.hasCompoundNodes(),
+ n = this[0];
+ if (n) {
+ var i = n._private,
+ a = n.pstyle('opacity').value;
+ if (!r) return a;
+ var s = i.data.parent ? n.parents() : null;
+ if (s)
+ for (var l = 0; l < s.length; l++) {
+ var u = s[l],
+ h = u.pstyle('opacity').value;
+ a = h * a;
+ }
+ return a;
+ }
+ }, 'effectiveOpacity'),
+ transparent: o(function () {
+ var e = this.cy();
+ if (!e.styleEnabled()) return !1;
+ var r = this[0],
+ n = r.cy().hasCompoundNodes();
+ if (r) return n ? r.effectiveOpacity() === 0 : r.pstyle('opacity').value === 0;
+ }, 'transparent'),
+ backgrounding: o(function () {
+ var e = this.cy();
+ if (!e.styleEnabled()) return !1;
+ var r = this[0];
+ return !!r._private.backgrounding;
+ }, 'backgrounding')
+ };
+ o(AP, 'checkCompound');
+ o(uB, 'defineDerivedStateFunction');
+ p1 = Y6('eleTakesUpSpace', function (t) {
+ return (
+ t.pstyle('display').value === 'element' && t.width() !== 0 && (t.isNode() ? t.height() !== 0 : !0)
+ );
+ });
+ Ea.takesUpSpace = W6('takesUpSpace', uB({ ok: p1 }));
+ (wKe = Y6('eleInteractive', function (t) {
+ return t.pstyle('events').value === 'yes' && t.pstyle('visibility').value === 'visible' && p1(t);
+ })),
+ (TKe = Y6('parentInteractive', function (t) {
+ return t.pstyle('visibility').value === 'visible' && p1(t);
+ }));
+ Ea.interactive = W6('interactive', uB({ ok: wKe, parentOk: TKe, edgeOkViaNode: p1 }));
+ Ea.noninteractive = function () {
+ var t = this[0];
+ if (t) return !t.interactive();
+ };
+ (kKe = Y6('eleVisible', function (t) {
+ return t.pstyle('visibility').value === 'visible' && t.pstyle('opacity').pfValue !== 0 && p1(t);
+ })),
+ (EKe = p1);
+ Ea.visible = W6('visible', uB({ ok: kKe, edgeOkViaNode: EKe }));
+ Ea.hidden = function () {
+ var t = this[0];
+ if (t) return !t.visible();
+ };
+ Ea.isBundledBezier = W6('isBundledBezier', function () {
+ return this.cy().styleEnabled()
+ ? !this.removed() && this.pstyle('curve-style').value === 'bezier' && this.takesUpSpace()
+ : !1;
+ });
+ Ea.bypass = Ea.css = Ea.style;
+ Ea.renderedCss = Ea.renderedStyle;
+ Ea.removeBypass = Ea.removeCss = Ea.removeStyle;
+ Ea.pstyle = Ea.parsedStyle;
+ Cf = {};
+ o(H0e, 'defineSwitchFunction');
+ o(m1, 'defineSwitchSet');
+ m1({
+ field: 'locked',
+ overrideField: o(function (e) {
+ return e.cy().autolock() ? !0 : void 0;
+ }, 'overrideField'),
+ on: 'lock',
+ off: 'unlock'
+ });
+ m1({
+ field: 'grabbable',
+ overrideField: o(function (e) {
+ return e.cy().autoungrabify() || e.pannable() ? !1 : void 0;
+ }, 'overrideField'),
+ on: 'grabify',
+ off: 'ungrabify'
+ });
+ m1({
+ field: 'selected',
+ ableField: 'selectable',
+ overrideAble: o(function (e) {
+ return e.cy().autounselectify() ? !1 : void 0;
+ }, 'overrideAble'),
+ on: 'select',
+ off: 'unselect'
+ });
+ m1({
+ field: 'selectable',
+ overrideField: o(function (e) {
+ return e.cy().autounselectify() ? !1 : void 0;
+ }, 'overrideField'),
+ on: 'selectify',
+ off: 'unselectify'
+ });
+ Cf.deselect = Cf.unselect;
+ Cf.grabbed = function () {
+ var t = this[0];
+ if (t) return t._private.grabbed;
+ };
+ m1({ field: 'active', on: 'activate', off: 'unactivate' });
+ m1({ field: 'pannable', on: 'panify', off: 'unpanify' });
+ Cf.inactive = function () {
+ var t = this[0];
+ if (t) return !t._private.active;
+ };
+ (Fa = {}),
+ (Y0e = o(function (e) {
+ return o(function (n) {
+ for (var i = this, a = [], s = 0; s < i.length; s++) {
+ var l = i[s];
+ if (l.isNode()) {
+ for (var u = !1, h = l.connectedEdges(), f = 0; f < h.length; f++) {
+ var d = h[f],
+ p = d.source(),
+ m = d.target();
+ if (
+ (e.noIncomingEdges && m === l && p !== l) ||
+ (e.noOutgoingEdges && p === l && m !== l)
+ ) {
+ u = !0;
+ break;
+ }
+ }
+ u || a.push(l);
+ }
+ }
+ return this.spawn(a, !0).filter(n);
+ }, 'dagExtremityImpl');
+ }, 'defineDagExtremity')),
+ (W0e = o(function (e) {
+ return function (r) {
+ for (var n = this, i = [], a = 0; a < n.length; a++) {
+ var s = n[a];
+ if (s.isNode())
+ for (var l = s.connectedEdges(), u = 0; u < l.length; u++) {
+ var h = l[u],
+ f = h.source(),
+ d = h.target();
+ e.outgoing && f === s
+ ? (i.push(h), i.push(d))
+ : e.incoming && d === s && (i.push(h), i.push(f));
+ }
+ }
+ return this.spawn(i, !0).filter(r);
+ };
+ }, 'defineDagOneHop')),
+ (q0e = o(function (e) {
+ return function (r) {
+ for (var n = this, i = [], a = {}; ; ) {
+ var s = e.outgoing ? n.outgoers() : n.incomers();
+ if (s.length === 0) break;
+ for (var l = !1, u = 0; u < s.length; u++) {
+ var h = s[u],
+ f = h.id();
+ a[f] || ((a[f] = !0), i.push(h), (l = !0));
+ }
+ if (!l) break;
+ n = s;
+ }
+ return this.spawn(i, !0).filter(r);
+ };
+ }, 'defineDagAllHops'));
+ Fa.clearTraversalCache = function () {
+ for (var t = 0; t < this.length; t++) this[t]._private.traversalCache = null;
+ };
+ Wt(Fa, {
+ roots: Y0e({ noIncomingEdges: !0 }),
+ leaves: Y0e({ noOutgoingEdges: !0 }),
+ outgoers: tl(W0e({ outgoing: !0 }), 'outgoers'),
+ successors: q0e({ outgoing: !0 }),
+ incomers: tl(W0e({ incoming: !0 }), 'incomers'),
+ predecessors: q0e({ incoming: !0 })
+ });
+ Wt(Fa, {
+ neighborhood: tl(function (t) {
+ for (var e = [], r = this.nodes(), n = 0; n < r.length; n++)
+ for (var i = r[n], a = i.connectedEdges(), s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = l.source(),
+ h = l.target(),
+ f = i === u ? h : u;
+ f.length > 0 && e.push(f[0]), e.push(l[0]);
+ }
+ return this.spawn(e, !0).filter(t);
+ }, 'neighborhood'),
+ closedNeighborhood: o(function (e) {
+ return this.neighborhood().add(this).filter(e);
+ }, 'closedNeighborhood'),
+ openNeighborhood: o(function (e) {
+ return this.neighborhood(e);
+ }, 'openNeighborhood')
+ });
+ Fa.neighbourhood = Fa.neighborhood;
+ Fa.closedNeighbourhood = Fa.closedNeighborhood;
+ Fa.openNeighbourhood = Fa.openNeighborhood;
+ Wt(Fa, {
+ source: tl(
+ o(function (e) {
+ var r = this[0],
+ n;
+ return r && (n = r._private.source || r.cy().collection()), n && e ? n.filter(e) : n;
+ }, 'sourceImpl'),
+ 'source'
+ ),
+ target: tl(
+ o(function (e) {
+ var r = this[0],
+ n;
+ return r && (n = r._private.target || r.cy().collection()), n && e ? n.filter(e) : n;
+ }, 'targetImpl'),
+ 'target'
+ ),
+ sources: X0e({ attr: 'source' }),
+ targets: X0e({ attr: 'target' })
+ });
+ o(X0e, 'defineSourceFunction');
+ Wt(Fa, {
+ edgesWith: tl(j0e(), 'edgesWith'),
+ edgesTo: tl(j0e({ thisIsSrc: !0 }), 'edgesTo')
+ });
+ o(j0e, 'defineEdgesWithFunction');
+ Wt(Fa, {
+ connectedEdges: tl(function (t) {
+ for (var e = [], r = this, n = 0; n < r.length; n++) {
+ var i = r[n];
+ if (i.isNode())
+ for (var a = i._private.edges, s = 0; s < a.length; s++) {
+ var l = a[s];
+ e.push(l);
+ }
+ }
+ return this.spawn(e, !0).filter(t);
+ }, 'connectedEdges'),
+ connectedNodes: tl(function (t) {
+ for (var e = [], r = this, n = 0; n < r.length; n++) {
+ var i = r[n];
+ i.isEdge() && (e.push(i.source()[0]), e.push(i.target()[0]));
+ }
+ return this.spawn(e, !0).filter(t);
+ }, 'connectedNodes'),
+ parallelEdges: tl(K0e(), 'parallelEdges'),
+ codirectedEdges: tl(K0e({ codirected: !0 }), 'codirectedEdges')
+ });
+ o(K0e, 'defineParallelEdgesFunction');
+ Wt(Fa, {
+ components: o(function (e) {
+ var r = this,
+ n = r.cy(),
+ i = n.collection(),
+ a = e == null ? r.nodes() : e.nodes(),
+ s = [];
+ e != null && a.empty() && (a = e.sources());
+ var l = o(function (f, d) {
+ i.merge(f), a.unmerge(f), d.merge(f);
+ }, 'visitInComponent');
+ if (a.empty()) return r.spawn();
+ var u = o(function () {
+ var f = n.collection();
+ s.push(f);
+ var d = a[0];
+ l(d, f),
+ r.bfs({
+ directed: !1,
+ roots: d,
+ visit: o(function (m) {
+ return l(m, f);
+ }, 'visit')
+ }),
+ f.forEach(function (p) {
+ p.connectedEdges().forEach(function (m) {
+ r.has(m) && f.has(m.source()) && f.has(m.target()) && f.merge(m);
+ });
+ });
+ }, '_loop');
+ do u();
+ while (a.length > 0);
+ return s;
+ }, 'components'),
+ component: o(function () {
+ var e = this[0];
+ return e.cy().mutableElements().components(e)[0];
+ }, 'component')
+ });
+ Fa.componentsOf = Fa.components;
+ (Ca = o(function (e, r) {
+ var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1,
+ i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1;
+ if (e === void 0) {
+ oi('A collection must have a reference to the core');
+ return;
+ }
+ var a = new Vc(),
+ s = !1;
+ if (!r) r = [];
+ else if (r.length > 0 && Mr(r[0]) && !Zx(r[0])) {
+ s = !0;
+ for (var l = [], u = new c1(), h = 0, f = r.length; h < f; h++) {
+ var d = r[h];
+ d.data == null && (d.data = {});
+ var p = d.data;
+ if (p.id == null) p.id = Fpe();
+ else if (e.hasElementWithId(p.id) || u.has(p.id)) continue;
+ var m = new B6(e, d, !1);
+ l.push(m), u.add(p.id);
+ }
+ r = l;
+ }
+ this.length = 0;
+ for (var g = 0, y = r.length; g < y; g++) {
+ var v = r[g][0];
+ if (v != null) {
+ var x = v._private.data.id;
+ (!n || !a.has(x)) &&
+ (n && a.set(x, { index: this.length, ele: v }), (this[this.length] = v), this.length++);
+ }
+ }
+ (this._private = {
+ eles: this,
+ cy: e,
+ get map() {
+ return this.lazyMap == null && this.rebuildMap(), this.lazyMap;
+ },
+ set map(b) {
+ this.lazyMap = b;
+ },
+ rebuildMap: o(function () {
+ for (var w = (this.lazyMap = new Vc()), S = this.eles, T = 0; T < S.length; T++) {
+ var E = S[T];
+ w.set(E.id(), { index: T, ele: E });
+ }
+ }, 'rebuildMap')
+ }),
+ n && (this._private.map = a),
+ s && !i && this.restore();
+ }, 'Collection')),
+ (Dn = B6.prototype = Ca.prototype = Object.create(Array.prototype));
+ Dn.instanceString = function () {
+ return 'collection';
+ };
+ Dn.spawn = function (t, e) {
+ return new Ca(this.cy(), t, e);
+ };
+ Dn.spawnSelf = function () {
+ return this.spawn(this);
+ };
+ Dn.cy = function () {
+ return this._private.cy;
+ };
+ Dn.renderer = function () {
+ return this._private.cy.renderer();
+ };
+ Dn.element = function () {
+ return this[0];
+ };
+ Dn.collection = function () {
+ return Epe(this) ? this : new Ca(this._private.cy, [this]);
+ };
+ Dn.unique = function () {
+ return new Ca(this._private.cy, this, !0);
+ };
+ Dn.hasElementWithId = function (t) {
+ return (t = '' + t), this._private.map.has(t);
+ };
+ Dn.getElementById = function (t) {
+ t = '' + t;
+ var e = this._private.cy,
+ r = this._private.map.get(t);
+ return r ? r.ele : new Ca(e);
+ };
+ Dn.$id = Dn.getElementById;
+ Dn.poolIndex = function () {
+ var t = this._private.cy,
+ e = t._private.elements,
+ r = this[0]._private.data.id;
+ return e._private.map.get(r).index;
+ };
+ Dn.indexOf = function (t) {
+ var e = t[0]._private.data.id;
+ return this._private.map.get(e).index;
+ };
+ Dn.indexOfId = function (t) {
+ return (t = '' + t), this._private.map.get(t).index;
+ };
+ Dn.json = function (t) {
+ var e = this.element(),
+ r = this.cy();
+ if (e == null && t) return this;
+ if (e != null) {
+ var n = e._private;
+ if (Mr(t)) {
+ if ((r.startBatch(), t.data)) {
+ e.data(t.data);
+ var i = n.data;
+ if (e.isEdge()) {
+ var a = !1,
+ s = {},
+ l = t.data.source,
+ u = t.data.target;
+ l != null && l != i.source && ((s.source = '' + l), (a = !0)),
+ u != null && u != i.target && ((s.target = '' + u), (a = !0)),
+ a && (e = e.move(s));
+ } else {
+ var h = 'parent' in t.data,
+ f = t.data.parent;
+ h &&
+ (f != null || i.parent != null) &&
+ f != i.parent &&
+ (f === void 0 && (f = null),
+ f != null && (f = '' + f),
+ (e = e.move({ parent: f })));
+ }
+ }
+ t.position && e.position(t.position);
+ var d = o(function (y, v, x) {
+ var b = t[y];
+ b != null && b !== n[y] && (b ? e[v]() : e[x]());
+ }, 'checkSwitch');
+ return (
+ d('removed', 'remove', 'restore'),
+ d('selected', 'select', 'unselect'),
+ d('selectable', 'selectify', 'unselectify'),
+ d('locked', 'lock', 'unlock'),
+ d('grabbable', 'grabify', 'ungrabify'),
+ d('pannable', 'panify', 'unpanify'),
+ t.classes != null && e.classes(t.classes),
+ r.endBatch(),
+ this
+ );
+ } else if (t === void 0) {
+ var p = {
+ data: $c(n.data),
+ position: $c(n.position),
+ group: n.group,
+ removed: n.removed,
+ selected: n.selected,
+ selectable: n.selectable,
+ locked: n.locked,
+ grabbable: n.grabbable,
+ pannable: n.pannable,
+ classes: null
+ };
+ p.classes = '';
+ var m = 0;
+ return (
+ n.classes.forEach(function (g) {
+ return (p.classes += m++ === 0 ? g : ' ' + g);
+ }),
+ p
+ );
+ }
+ }
+ };
+ Dn.jsons = function () {
+ for (var t = [], e = 0; e < this.length; e++) {
+ var r = this[e],
+ n = r.json();
+ t.push(n);
+ }
+ return t;
+ };
+ Dn.clone = function () {
+ for (var t = this.cy(), e = [], r = 0; r < this.length; r++) {
+ var n = this[r],
+ i = n.json(),
+ a = new B6(t, i, !1);
+ e.push(a);
+ }
+ return new Ca(t, e);
+ };
+ Dn.copy = Dn.clone;
+ Dn.restore = function () {
+ for (
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0,
+ e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
+ r = this,
+ n = r.cy(),
+ i = n._private,
+ a = [],
+ s = [],
+ l,
+ u = 0,
+ h = r.length;
+ u < h;
+ u++
+ ) {
+ var f = r[u];
+ (e && !f.removed()) || (f.isNode() ? a.push(f) : s.push(f));
+ }
+ l = a.concat(s);
+ var d,
+ p = o(function () {
+ l.splice(d, 1), d--;
+ }, 'removeFromElements');
+ for (d = 0; d < l.length; d++) {
+ var m = l[d],
+ g = m._private,
+ y = g.data;
+ if ((m.clearTraversalCache(), !(!e && !g.removed))) {
+ if (y.id === void 0) y.id = Fpe();
+ else if (ft(y.id)) y.id = '' + y.id;
+ else if (Sf(y.id) || !zt(y.id)) {
+ oi('Can not create element with invalid string ID `' + y.id + '`'), p();
+ continue;
+ } else if (n.hasElementWithId(y.id)) {
+ oi('Can not create second element with ID `' + y.id + '`'), p();
+ continue;
+ }
+ }
+ var v = y.id;
+ if (m.isNode()) {
+ var x = g.position;
+ x.x == null && (x.x = 0), x.y == null && (x.y = 0);
+ }
+ if (m.isEdge()) {
+ for (var b = m, w = ['source', 'target'], S = w.length, T = !1, E = 0; E < S; E++) {
+ var _ = w[E],
+ A = y[_];
+ ft(A) && (A = y[_] = '' + y[_]),
+ A == null || A === ''
+ ? (oi('Can not create edge `' + v + '` with unspecified ' + _), (T = !0))
+ : n.hasElementWithId(A) ||
+ (oi('Can not create edge `' + v + '` with nonexistant ' + _ + ' `' + A + '`'),
+ (T = !0));
+ }
+ if (T) {
+ p();
+ continue;
+ }
+ var L = n.getElementById(y.source),
+ M = n.getElementById(y.target);
+ L.same(M) ? L._private.edges.push(b) : (L._private.edges.push(b), M._private.edges.push(b)),
+ (b._private.source = L),
+ (b._private.target = M);
+ }
+ (g.map = new Vc()), g.map.set(v, { ele: m, index: 0 }), (g.removed = !1), e && n.addToPool(m);
+ }
+ for (var N = 0; N < a.length; N++) {
+ var k = a[N],
+ I = k._private.data;
+ ft(I.parent) && (I.parent = '' + I.parent);
+ var C = I.parent,
+ O = C != null;
+ if (O || k._private.parent) {
+ var D = k._private.parent ? n.collection().merge(k._private.parent) : n.getElementById(C);
+ if (D.empty()) I.parent = void 0;
+ else if (D[0].removed())
+ tn('Node added with missing parent, reference to parent removed'),
+ (I.parent = void 0),
+ (k._private.parent = null);
+ else {
+ for (var P = !1, F = D; !F.empty(); ) {
+ if (k.same(F)) {
+ (P = !0), (I.parent = void 0);
+ break;
+ }
+ F = F.parent();
+ }
+ P ||
+ (D[0]._private.children.push(k), (k._private.parent = D[0]), (i.hasCompoundNodes = !0));
+ }
+ }
+ }
+ if (l.length > 0) {
+ for (var B = l.length === r.length ? r : new Ca(n, l), $ = 0; $ < B.length; $++) {
+ var z = B[$];
+ z.isNode() ||
+ (z.parallelEdges().clearTraversalCache(),
+ z.source().clearTraversalCache(),
+ z.target().clearTraversalCache());
+ }
+ var Y;
+ i.hasCompoundNodes
+ ? (Y = n.collection().merge(B).merge(B.connectedNodes()).merge(B.parent()))
+ : (Y = B),
+ Y.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(t),
+ t ? B.emitAndNotify('add') : e && B.emit('add');
+ }
+ return r;
+ };
+ Dn.removed = function () {
+ var t = this[0];
+ return t && t._private.removed;
+ };
+ Dn.inside = function () {
+ var t = this[0];
+ return t && !t._private.removed;
+ };
+ Dn.remove = function () {
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0,
+ e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
+ r = this,
+ n = [],
+ i = {},
+ a = r._private.cy;
+ function s(C) {
+ for (var O = C._private.edges, D = 0; D < O.length; D++) u(O[D]);
+ }
+ o(s, 'addConnectedEdges');
+ function l(C) {
+ for (var O = C._private.children, D = 0; D < O.length; D++) u(O[D]);
+ }
+ o(l, 'addChildren');
+ function u(C) {
+ var O = i[C.id()];
+ (e && C.removed()) || O || ((i[C.id()] = !0), C.isNode() ? (n.push(C), s(C), l(C)) : n.unshift(C));
+ }
+ o(u, 'add');
+ for (var h = 0, f = r.length; h < f; h++) {
+ var d = r[h];
+ u(d);
+ }
+ function p(C, O) {
+ var D = C._private.edges;
+ Af(D, O), C.clearTraversalCache();
+ }
+ o(p, 'removeEdgeRef');
+ function m(C) {
+ C.clearTraversalCache();
+ }
+ o(m, 'removeParallelRef');
+ var g = [];
+ g.ids = {};
+ function y(C, O) {
+ (O = O[0]), (C = C[0]);
+ var D = C._private.children,
+ P = C.id();
+ Af(D, O), (O._private.parent = null), g.ids[P] || ((g.ids[P] = !0), g.push(C));
+ }
+ o(y, 'removeChildRef'), r.dirtyCompoundBoundsCache(), e && a.removeFromPool(n);
+ for (var v = 0; v < n.length; v++) {
+ var x = n[v];
+ if (x.isEdge()) {
+ var b = x.source()[0],
+ w = x.target()[0];
+ p(b, x), p(w, x);
+ for (var S = x.parallelEdges(), T = 0; T < S.length; T++) {
+ var E = S[T];
+ m(E), E.isBundledBezier() && E.dirtyBoundingBoxCache();
+ }
+ } else {
+ var _ = x.parent();
+ _.length !== 0 && y(_, x);
+ }
+ e && (x._private.removed = !0);
+ }
+ var A = a._private.elements;
+ a._private.hasCompoundNodes = !1;
+ for (var L = 0; L < A.length; L++) {
+ var M = A[L];
+ if (M.isParent()) {
+ a._private.hasCompoundNodes = !0;
+ break;
+ }
+ }
+ var N = new Ca(this.cy(), n);
+ N.size() > 0 && (t ? N.emitAndNotify('remove') : e && N.emit('remove'));
+ for (var k = 0; k < g.length; k++) {
+ var I = g[k];
+ (!e || !I.removed()) && I.updateStyle();
+ }
+ return N;
+ };
+ Dn.move = function (t) {
+ var e = this._private.cy,
+ r = this,
+ n = !1,
+ i = !1,
+ a = o(function (g) {
+ return g == null ? g : '' + g;
+ }, 'toString');
+ if (t.source !== void 0 || t.target !== void 0) {
+ var s = a(t.source),
+ l = a(t.target),
+ u = s != null && e.hasElementWithId(s),
+ h = l != null && e.hasElementWithId(l);
+ (u || h) &&
+ (e.batch(function () {
+ r.remove(n, i), r.emitAndNotify('moveout');
+ for (var m = 0; m < r.length; m++) {
+ var g = r[m],
+ y = g._private.data;
+ g.isEdge() && (u && (y.source = s), h && (y.target = l));
+ }
+ r.restore(n, i);
+ }),
+ r.emitAndNotify('move'));
+ } else if (t.parent !== void 0) {
+ var f = a(t.parent),
+ d = f === null || e.hasElementWithId(f);
+ if (d) {
+ var p = f === null ? void 0 : f;
+ e.batch(function () {
+ var m = r.remove(n, i);
+ m.emitAndNotify('moveout');
+ for (var g = 0; g < r.length; g++) {
+ var y = r[g],
+ v = y._private.data;
+ y.isNode() && (v.parent = p);
+ }
+ m.restore(n, i);
+ }),
+ r.emitAndNotify('move');
+ }
+ }
+ return this;
+ };
+ [Qpe, Oje, g6, Ef, l1, Qje, U6, dKe, Tme, kme, vKe, L6, y6, Ea, Cf, Fa].forEach(function (t) {
+ Wt(Dn, t);
+ });
+ CKe = {
+ add: o(function (e) {
+ var r,
+ n = this;
+ if (xo(e)) {
+ var i = e;
+ if (i._private.cy === n) r = i.restore();
+ else {
+ for (var a = [], s = 0; s < i.length; s++) {
+ var l = i[s];
+ a.push(l.json());
+ }
+ r = new Ca(n, a);
+ }
+ } else if (vn(e)) {
+ var u = e;
+ r = new Ca(n, u);
+ } else if (Mr(e) && (vn(e.nodes) || vn(e.edges))) {
+ for (var h = e, f = [], d = ['nodes', 'edges'], p = 0, m = d.length; p < m; p++) {
+ var g = d[p],
+ y = h[g];
+ if (vn(y))
+ for (var v = 0, x = y.length; v < x; v++) {
+ var b = Wt({ group: g }, y[v]);
+ f.push(b);
+ }
+ }
+ r = new Ca(n, f);
+ } else {
+ var w = e;
+ r = new B6(n, w).collection();
+ }
+ return r;
+ }, 'add'),
+ remove: o(function (e) {
+ if (!xo(e)) {
+ if (zt(e)) {
+ var r = e;
+ e = this.$(r);
+ }
+ }
+ return e.remove();
+ }, 'remove')
+ };
+ o(SKe, 'generateCubicBezier');
+ (AKe = (function () {
+ function t(n) {
+ return -n.tension * n.x - n.friction * n.v;
+ }
+ o(t, 'springAccelerationForState');
+ function e(n, i, a) {
+ var s = {
+ x: n.x + a.dx * i,
+ v: n.v + a.dv * i,
+ tension: n.tension,
+ friction: n.friction
+ };
+ return { dx: s.v, dv: t(s) };
+ }
+ o(e, 'springEvaluateStateWithDerivative');
+ function r(n, i) {
+ var a = { dx: n.v, dv: t(n) },
+ s = e(n, i * 0.5, a),
+ l = e(n, i * 0.5, s),
+ u = e(n, i, l),
+ h = (1 / 6) * (a.dx + 2 * (s.dx + l.dx) + u.dx),
+ f = (1 / 6) * (a.dv + 2 * (s.dv + l.dv) + u.dv);
+ return (n.x = n.x + h * i), (n.v = n.v + f * i), n;
+ }
+ return (
+ o(r, 'springIntegrateState'),
+ o(function n(i, a, s) {
+ var l = { x: -1, v: 0, tension: null, friction: null },
+ u = [0],
+ h = 0,
+ f = 1 / 1e4,
+ d = 16 / 1e3,
+ p,
+ m,
+ g;
+ for (
+ i = parseFloat(i) || 500,
+ a = parseFloat(a) || 20,
+ s = s || null,
+ l.tension = i,
+ l.friction = a,
+ p = s !== null,
+ p ? ((h = n(i, a)), (m = (h / s) * d)) : (m = d);
+ (g = r(g || l, m)), u.push(1 + g.x), (h += 16), Math.abs(g.x) > f && Math.abs(g.v) > f;
+
+ );
+ return p
+ ? function (y) {
+ return u[(y * (u.length - 1)) | 0];
+ }
+ : h;
+ }, 'springRK4Factory')
+ );
+ })()),
+ (Ln = o(function (e, r, n, i) {
+ var a = SKe(e, r, n, i);
+ return function (s, l, u) {
+ return s + (l - s) * a(u);
+ };
+ }, 'cubicBezier')),
+ (v6 = {
+ linear: o(function (e, r, n) {
+ return e + (r - e) * n;
+ }, 'linear'),
+ ease: Ln(0.25, 0.1, 0.25, 1),
+ 'ease-in': Ln(0.42, 0, 1, 1),
+ 'ease-out': Ln(0, 0, 0.58, 1),
+ 'ease-in-out': Ln(0.42, 0, 0.58, 1),
+ 'ease-in-sine': Ln(0.47, 0, 0.745, 0.715),
+ 'ease-out-sine': Ln(0.39, 0.575, 0.565, 1),
+ 'ease-in-out-sine': Ln(0.445, 0.05, 0.55, 0.95),
+ 'ease-in-quad': Ln(0.55, 0.085, 0.68, 0.53),
+ 'ease-out-quad': Ln(0.25, 0.46, 0.45, 0.94),
+ 'ease-in-out-quad': Ln(0.455, 0.03, 0.515, 0.955),
+ 'ease-in-cubic': Ln(0.55, 0.055, 0.675, 0.19),
+ 'ease-out-cubic': Ln(0.215, 0.61, 0.355, 1),
+ 'ease-in-out-cubic': Ln(0.645, 0.045, 0.355, 1),
+ 'ease-in-quart': Ln(0.895, 0.03, 0.685, 0.22),
+ 'ease-out-quart': Ln(0.165, 0.84, 0.44, 1),
+ 'ease-in-out-quart': Ln(0.77, 0, 0.175, 1),
+ 'ease-in-quint': Ln(0.755, 0.05, 0.855, 0.06),
+ 'ease-out-quint': Ln(0.23, 1, 0.32, 1),
+ 'ease-in-out-quint': Ln(0.86, 0, 0.07, 1),
+ 'ease-in-expo': Ln(0.95, 0.05, 0.795, 0.035),
+ 'ease-out-expo': Ln(0.19, 1, 0.22, 1),
+ 'ease-in-out-expo': Ln(1, 0, 0, 1),
+ 'ease-in-circ': Ln(0.6, 0.04, 0.98, 0.335),
+ 'ease-out-circ': Ln(0.075, 0.82, 0.165, 1),
+ 'ease-in-out-circ': Ln(0.785, 0.135, 0.15, 0.86),
+ spring: o(function (e, r, n) {
+ if (n === 0) return v6.linear;
+ var i = AKe(e, r, n);
+ return function (a, s, l) {
+ return a + (s - a) * i(l);
+ };
+ }, 'spring'),
+ 'cubic-bezier': Ln
+ });
+ o(Q0e, 'getEasedValue');
+ o(Z0e, 'getValue');
+ o(jg, 'ease');
+ o(_Ke, 'step$1');
+ o(Nx, 'valid');
+ o(LKe, 'startAnimation');
+ o(J0e, 'stepAll');
+ (DKe = {
+ animate: en.animate(),
+ animation: en.animation(),
+ animated: en.animated(),
+ clearQueue: en.clearQueue(),
+ delay: en.delay(),
+ delayAnimation: en.delayAnimation(),
+ stop: en.stop(),
+ addToAnimationPool: o(function (e) {
+ var r = this;
+ r.styleEnabled() && r._private.aniEles.merge(e);
+ }, 'addToAnimationPool'),
+ stopAnimationLoop: o(function () {
+ this._private.animationsRunning = !1;
+ }, 'stopAnimationLoop'),
+ startAnimationLoop: o(function () {
+ var e = this;
+ if (((e._private.animationsRunning = !0), !e.styleEnabled())) return;
+ function r() {
+ e._private.animationsRunning &&
+ E6(
+ o(function (a) {
+ J0e(a, e), r();
+ }, 'animationStep')
+ );
+ }
+ o(r, 'headlessStep');
+ var n = e.renderer();
+ n && n.beforeRender
+ ? n.beforeRender(
+ o(function (a, s) {
+ J0e(s, e);
+ }, 'rendererAnimationStep'),
+ n.beforeRenderPriorities.animations
+ )
+ : r();
+ }, 'startAnimationLoop')
+ }),
+ (RKe = {
+ qualifierCompare: o(function (e, r) {
+ return e == null || r == null ? e == null && r == null : e.sameText(r);
+ }, 'qualifierCompare'),
+ eventMatches: o(function (e, r, n) {
+ var i = r.qualifier;
+ return i != null ? e !== n.target && Zx(n.target) && i.matches(n.target) : !0;
+ }, 'eventMatches'),
+ addEventFields: o(function (e, r) {
+ (r.cy = e), (r.target = e);
+ }, 'addEventFields'),
+ callbackContext: o(function (e, r, n) {
+ return r.qualifier != null ? n.target : e;
+ }, 'callbackContext')
+ }),
+ (h6 = o(function (e) {
+ return zt(e) ? new _f(e) : e;
+ }, 'argSelector')),
+ (Sme = {
+ createEmitter: o(function () {
+ var e = this._private;
+ return e.emitter || (e.emitter = new H6(RKe, this)), this;
+ }, 'createEmitter'),
+ emitter: o(function () {
+ return this._private.emitter;
+ }, 'emitter'),
+ on: o(function (e, r, n) {
+ return this.emitter().on(e, h6(r), n), this;
+ }, 'on'),
+ removeListener: o(function (e, r, n) {
+ return this.emitter().removeListener(e, h6(r), n), this;
+ }, 'removeListener'),
+ removeAllListeners: o(function () {
+ return this.emitter().removeAllListeners(), this;
+ }, 'removeAllListeners'),
+ one: o(function (e, r, n) {
+ return this.emitter().one(e, h6(r), n), this;
+ }, 'one'),
+ once: o(function (e, r, n) {
+ return this.emitter().one(e, h6(r), n), this;
+ }, 'once'),
+ emit: o(function (e, r) {
+ return this.emitter().emit(e, r), this;
+ }, 'emit'),
+ emitAndNotify: o(function (e, r) {
+ return this.emit(e), this.notify(e, r), this;
+ }, 'emitAndNotify')
+ });
+ en.eventAliasesOn(Sme);
+ FP = {
+ png: o(function (e) {
+ var r = this._private.renderer;
+ return (e = e || {}), r.png(e);
+ }, 'png'),
+ jpg: o(function (e) {
+ var r = this._private.renderer;
+ return (e = e || {}), (e.bg = e.bg || '#fff'), r.jpg(e);
+ }, 'jpg')
+ };
+ FP.jpeg = FP.jpg;
+ x6 = {
+ layout: o(function (e) {
+ var r = this;
+ if (e == null) {
+ oi('Layout options must be specified to make a layout');
+ return;
+ }
+ if (e.name == null) {
+ oi('A `name` must be specified to make a layout');
+ return;
+ }
+ var n = e.name,
+ i = r.extension('layout', n);
+ if (i == null) {
+ oi('No such layout `' + n + '` found. Did you forget to import it and `cytoscape.use()` it?');
+ return;
+ }
+ var a;
+ zt(e.eles) ? (a = r.$(e.eles)) : (a = e.eles != null ? e.eles : r.$());
+ var s = new i(Wt({}, e, { cy: r, eles: a }));
+ return s;
+ }, 'layout')
+ };
+ x6.createLayout = x6.makeLayout = x6.layout;
+ (NKe = {
+ notify: o(function (e, r) {
+ var n = this._private;
+ if (this.batching()) {
+ n.batchNotifications = n.batchNotifications || {};
+ var i = (n.batchNotifications[e] = n.batchNotifications[e] || this.collection());
+ r != null && i.merge(r);
+ return;
+ }
+ if (n.notificationsEnabled) {
+ var a = this.renderer();
+ this.destroyed() || !a || a.notify(e, r);
+ }
+ }, 'notify'),
+ notifications: o(function (e) {
+ var r = this._private;
+ return e === void 0 ? r.notificationsEnabled : ((r.notificationsEnabled = !!e), this);
+ }, 'notifications'),
+ noNotifications: o(function (e) {
+ this.notifications(!1), e(), this.notifications(!0);
+ }, 'noNotifications'),
+ batching: o(function () {
+ return this._private.batchCount > 0;
+ }, 'batching'),
+ startBatch: o(function () {
+ var e = this._private;
+ return (
+ e.batchCount == null && (e.batchCount = 0),
+ e.batchCount === 0 && ((e.batchStyleEles = this.collection()), (e.batchNotifications = {})),
+ e.batchCount++,
+ this
+ );
+ }, 'startBatch'),
+ endBatch: o(function () {
+ var e = this._private;
+ if (e.batchCount === 0) return this;
+ if ((e.batchCount--, e.batchCount === 0)) {
+ e.batchStyleEles.updateStyle();
+ var r = this.renderer();
+ Object.keys(e.batchNotifications).forEach(function (n) {
+ var i = e.batchNotifications[n];
+ i.empty() ? r.notify(n) : r.notify(n, i);
+ });
+ }
+ return this;
+ }, 'endBatch'),
+ batch: o(function (e) {
+ return this.startBatch(), e(), this.endBatch(), this;
+ }, 'batch'),
+ batchData: o(function (e) {
+ var r = this;
+ return this.batch(function () {
+ for (var n = Object.keys(e), i = 0; i < n.length; i++) {
+ var a = n[i],
+ s = e[a],
+ l = r.getElementById(a);
+ l.data(s);
+ }
+ });
+ }, 'batchData')
+ }),
+ (MKe = Sa({
+ hideEdgesOnViewport: !1,
+ textureOnViewport: !1,
+ motionBlur: !1,
+ motionBlurOpacity: 0.05,
+ pixelRatio: void 0,
+ desktopTapThreshold: 4,
+ touchTapThreshold: 8,
+ wheelSensitivity: 1,
+ debug: !1,
+ showFps: !1
+ })),
+ (zP = {
+ renderTo: o(function (e, r, n, i) {
+ var a = this._private.renderer;
+ return a.renderTo(e, r, n, i), this;
+ }, 'renderTo'),
+ renderer: o(function () {
+ return this._private.renderer;
+ }, 'renderer'),
+ forceRender: o(function () {
+ return this.notify('draw'), this;
+ }, 'forceRender'),
+ resize: o(function () {
+ return this.invalidateSize(), this.emitAndNotify('resize'), this;
+ }, 'resize'),
+ initRenderer: o(function (e) {
+ var r = this,
+ n = r.extension('renderer', e.name);
+ if (n == null) {
+ oi(
+ 'Can not initialise: No such renderer `'.concat(
+ e.name,
+ '` found. Did you forget to import it and `cytoscape.use()` it?'
+ )
+ );
+ return;
+ }
+ e.wheelSensitivity !== void 0 &&
+ tn(
+ 'You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.'
+ );
+ var i = MKe(e);
+ (i.cy = r), (r._private.renderer = new n(i)), this.notify('init');
+ }, 'initRenderer'),
+ destroyRenderer: o(function () {
+ var e = this;
+ e.notify('destroy');
+ var r = e.container();
+ if (r) for (r._cyreg = null; r.childNodes.length > 0; ) r.removeChild(r.childNodes[0]);
+ (e._private.renderer = null),
+ e.mutableElements().forEach(function (n) {
+ var i = n._private;
+ (i.rscratch = {}),
+ (i.rstyle = {}),
+ (i.animation.current = []),
+ (i.animation.queue = []);
+ });
+ }, 'destroyRenderer'),
+ onRender: o(function (e) {
+ return this.on('render', e);
+ }, 'onRender'),
+ offRender: o(function (e) {
+ return this.off('render', e);
+ }, 'offRender')
+ });
+ zP.invalidateDimensions = zP.resize;
+ b6 = {
+ collection: o(function (e, r) {
+ return zt(e)
+ ? this.$(e)
+ : xo(e)
+ ? e.collection()
+ : vn(e)
+ ? (r || (r = {}), new Ca(this, e, r.unique, r.removed))
+ : new Ca(this);
+ }, 'collection'),
+ nodes: o(function (e) {
+ var r = this.$(function (n) {
+ return n.isNode();
+ });
+ return e ? r.filter(e) : r;
+ }, 'nodes'),
+ edges: o(function (e) {
+ var r = this.$(function (n) {
+ return n.isEdge();
+ });
+ return e ? r.filter(e) : r;
+ }, 'edges'),
+ $: o(function (e) {
+ var r = this._private.elements;
+ return e ? r.filter(e) : r.spawnSelf();
+ }, '$'),
+ mutableElements: o(function () {
+ return this._private.elements;
+ }, 'mutableElements')
+ };
+ b6.elements = b6.filter = b6.$;
+ (Ga = {}), (Fx = 't'), (IKe = 'f');
+ Ga.apply = function (t) {
+ for (var e = this, r = e._private, n = r.cy, i = n.collection(), a = 0; a < t.length; a++) {
+ var s = t[a],
+ l = e.getContextMeta(s);
+ if (!l.empty) {
+ var u = e.getContextStyle(l),
+ h = e.applyContextStyle(l, u, s);
+ s._private.appliedInitStyle
+ ? e.updateTransitions(s, h.diffProps)
+ : (s._private.appliedInitStyle = !0);
+ var f = e.updateStyleHints(s);
+ f && i.push(s);
+ }
+ }
+ return i;
+ };
+ Ga.getPropertiesDiff = function (t, e) {
+ var r = this,
+ n = (r._private.propDiffs = r._private.propDiffs || {}),
+ i = t + '-' + e,
+ a = n[i];
+ if (a) return a;
+ for (var s = [], l = {}, u = 0; u < r.length; u++) {
+ var h = r[u],
+ f = t[u] === Fx,
+ d = e[u] === Fx,
+ p = f !== d,
+ m = h.mappedProperties.length > 0;
+ if (p || (d && m)) {
+ var g = void 0;
+ (p && m) || p ? (g = h.properties) : m && (g = h.mappedProperties);
+ for (var y = 0; y < g.length; y++) {
+ for (var v = g[y], x = v.name, b = !1, w = u + 1; w < r.length; w++) {
+ var S = r[w],
+ T = e[w] === Fx;
+ if (T && ((b = S.properties[v.name] != null), b)) break;
+ }
+ !l[x] && !b && ((l[x] = !0), s.push(x));
+ }
+ }
+ }
+ return (n[i] = s), s;
+ };
+ Ga.getContextMeta = function (t) {
+ for (var e = this, r = '', n, i = t._private.styleCxtKey || '', a = 0; a < e.length; a++) {
+ var s = e[a],
+ l = s.selector && s.selector.matches(t);
+ l ? (r += Fx) : (r += IKe);
+ }
+ return (
+ (n = e.getPropertiesDiff(i, r)),
+ (t._private.styleCxtKey = r),
+ { key: r, diffPropNames: n, empty: n.length === 0 }
+ );
+ };
+ Ga.getContextStyle = function (t) {
+ var e = t.key,
+ r = this,
+ n = (this._private.contextStyles = this._private.contextStyles || {});
+ if (n[e]) return n[e];
+ for (var i = { _private: { key: e } }, a = 0; a < r.length; a++) {
+ var s = r[a],
+ l = e[a] === Fx;
+ if (l)
+ for (var u = 0; u < s.properties.length; u++) {
+ var h = s.properties[u];
+ i[h.name] = h;
+ }
+ }
+ return (n[e] = i), i;
+ };
+ Ga.applyContextStyle = function (t, e, r) {
+ for (var n = this, i = t.diffPropNames, a = {}, s = n.types, l = 0; l < i.length; l++) {
+ var u = i[l],
+ h = e[u],
+ f = r.pstyle(u);
+ if (!h)
+ if (f) f.bypass ? (h = { name: u, deleteBypassed: !0 }) : (h = { name: u, delete: !0 });
+ else continue;
+ if (f !== h) {
+ if (h.mapped === s.fn && f != null && f.mapping != null && f.mapping.value === h.value) {
+ var d = f.mapping,
+ p = (d.fnValue = h.value(r));
+ if (p === d.prevFnValue) continue;
+ }
+ var m = (a[u] = { prev: f });
+ n.applyParsedProperty(r, h),
+ (m.next = r.pstyle(u)),
+ m.next && m.next.bypass && (m.next = m.next.bypassed);
+ }
+ }
+ return { diffProps: a };
+ };
+ Ga.updateStyleHints = function (t) {
+ var e = t._private,
+ r = this,
+ n = r.propertyGroupNames,
+ i = r.propertyGroupKeys,
+ a = o(function (K, se, ce) {
+ return r.getPropertiesHash(K, se, ce);
+ }, 'propHash'),
+ s = e.styleKey;
+ if (t.removed()) return !1;
+ var l = e.group === 'nodes',
+ u = t._private.style;
+ n = Object.keys(u);
+ for (var h = 0; h < i.length; h++) {
+ var f = i[h];
+ e.styleKeys[f] = [Zg, Ix];
+ }
+ for (
+ var d = o(function (K, se) {
+ return (e.styleKeys[se][0] = $x(K, e.styleKeys[se][0]));
+ }, 'updateGrKey1'),
+ p = o(function (K, se) {
+ return (e.styleKeys[se][1] = Vx(K, e.styleKeys[se][1]));
+ }, 'updateGrKey2'),
+ m = o(function (K, se) {
+ d(K, se), p(K, se);
+ }, 'updateGrKey'),
+ g = o(function (K, se) {
+ for (var ce = 0; ce < K.length; ce++) {
+ var ue = K.charCodeAt(ce);
+ d(ue, se), p(ue, se);
+ }
+ }, 'updateGrKeyWStr'),
+ y = 2e9,
+ v = o(function (K) {
+ return -128 < K && K < 128 && Math.floor(K) !== K ? y - ((K * 1024) | 0) : K;
+ }, 'cleanNum'),
+ x = 0;
+ x < n.length;
+ x++
+ ) {
+ var b = n[x],
+ w = u[b];
+ if (w != null) {
+ var S = this.properties[b],
+ T = S.type,
+ E = S.groupKey,
+ _ = void 0;
+ S.hashOverride != null ? (_ = S.hashOverride(t, w)) : w.pfValue != null && (_ = w.pfValue);
+ var A = S.enums == null ? w.value : null,
+ L = _ != null,
+ M = A != null,
+ N = L || M,
+ k = w.units;
+ if (T.number && N && !T.multiple) {
+ var I = L ? _ : A;
+ m(v(I), E), !L && k != null && g(k, E);
+ } else g(w.strValue, E);
+ }
+ }
+ for (var C = [Zg, Ix], O = 0; O < i.length; O++) {
+ var D = i[O],
+ P = e.styleKeys[D];
+ (C[0] = $x(P[0], C[0])), (C[1] = Vx(P[1], C[1]));
+ }
+ e.styleKey = zYe(C[0], C[1]);
+ var F = e.styleKeys;
+ e.labelDimsKey = bf(F.labelDimensions);
+ var B = a(t, ['label'], F.labelDimensions);
+ if (((e.labelKey = bf(B)), (e.labelStyleKey = bf(r6(F.commonLabel, B))), !l)) {
+ var $ = a(t, ['source-label'], F.labelDimensions);
+ (e.sourceLabelKey = bf($)), (e.sourceLabelStyleKey = bf(r6(F.commonLabel, $)));
+ var z = a(t, ['target-label'], F.labelDimensions);
+ (e.targetLabelKey = bf(z)), (e.targetLabelStyleKey = bf(r6(F.commonLabel, z)));
+ }
+ if (l) {
+ var Y = e.styleKeys,
+ Q = Y.nodeBody,
+ X = Y.nodeBorder,
+ ie = Y.nodeOutline,
+ j = Y.backgroundImage,
+ J = Y.compound,
+ Z = Y.pie,
+ H = [Q, X, ie, j, J, Z]
+ .filter(function (q) {
+ return q != null;
+ })
+ .reduce(r6, [Zg, Ix]);
+ (e.nodeKey = bf(H)), (e.hasPie = Z != null && Z[0] !== Zg && Z[1] !== Ix);
+ }
+ return s !== e.styleKey;
+ };
+ Ga.clearStyleHints = function (t) {
+ var e = t._private;
+ (e.styleCxtKey = ''),
+ (e.styleKeys = {}),
+ (e.styleKey = null),
+ (e.labelKey = null),
+ (e.labelStyleKey = null),
+ (e.sourceLabelKey = null),
+ (e.sourceLabelStyleKey = null),
+ (e.targetLabelKey = null),
+ (e.targetLabelStyleKey = null),
+ (e.nodeKey = null),
+ (e.hasPie = null);
+ };
+ Ga.applyParsedProperty = function (t, e) {
+ var r = this,
+ n = e,
+ i = t._private.style,
+ a,
+ s = r.types,
+ l = r.properties[n.name].type,
+ u = n.bypass,
+ h = i[n.name],
+ f = h && h.bypass,
+ d = t._private,
+ p = 'mapping',
+ m = o(function (Q) {
+ return Q == null ? null : Q.pfValue != null ? Q.pfValue : Q.value;
+ }, 'getVal'),
+ g = o(function () {
+ var Q = m(h),
+ X = m(n);
+ r.checkTriggers(t, n.name, Q, X);
+ }, 'checkTriggers');
+ if (
+ (e.name === 'curve-style' &&
+ t.isEdge() &&
+ ((e.value !== 'bezier' && t.isLoop()) ||
+ (e.value === 'haystack' && (t.source().isParent() || t.target().isParent()))) &&
+ (n = e = this.parse(e.name, 'bezier', u)),
+ n.delete)
+ )
+ return (i[n.name] = void 0), g(), !0;
+ if (n.deleteBypassed) return h ? (h.bypass ? ((h.bypassed = void 0), g(), !0) : !1) : (g(), !0);
+ if (n.deleteBypass) return h ? (h.bypass ? ((i[n.name] = h.bypassed), g(), !0) : !1) : (g(), !0);
+ var y = o(function () {
+ tn(
+ 'Do not assign mappings to elements without corresponding data (i.e. ele `' +
+ t.id() +
+ '` has no mapping for property `' +
+ n.name +
+ '` with data field `' +
+ n.field +
+ '`); try a `[' +
+ n.field +
+ ']` selector to limit scope to elements with `' +
+ n.field +
+ '` defined'
+ );
+ }, 'printMappingErr');
+ switch (n.mapped) {
+ case s.mapData: {
+ for (var v = n.field.split('.'), x = d.data, b = 0; b < v.length && x; b++) {
+ var w = v[b];
+ x = x[w];
+ }
+ if (x == null) return y(), !1;
+ var S;
+ if (ft(x)) {
+ var T = n.fieldMax - n.fieldMin;
+ T === 0 ? (S = 0) : (S = (x - n.fieldMin) / T);
+ } else
+ return (
+ tn(
+ 'Do not use continuous mappers without specifying numeric data (i.e. `' +
+ n.field +
+ ': ' +
+ x +
+ '` for `' +
+ t.id() +
+ '` is non-numeric)'
+ ),
+ !1
+ );
+ if ((S < 0 ? (S = 0) : S > 1 && (S = 1), l.color)) {
+ var E = n.valueMin[0],
+ _ = n.valueMax[0],
+ A = n.valueMin[1],
+ L = n.valueMax[1],
+ M = n.valueMin[2],
+ N = n.valueMax[2],
+ k = n.valueMin[3] == null ? 1 : n.valueMin[3],
+ I = n.valueMax[3] == null ? 1 : n.valueMax[3],
+ C = [
+ Math.round(E + (_ - E) * S),
+ Math.round(A + (L - A) * S),
+ Math.round(M + (N - M) * S),
+ Math.round(k + (I - k) * S)
+ ];
+ a = {
+ bypass: n.bypass,
+ name: n.name,
+ value: C,
+ strValue: 'rgb(' + C[0] + ', ' + C[1] + ', ' + C[2] + ')'
+ };
+ } else if (l.number) {
+ var O = n.valueMin + (n.valueMax - n.valueMin) * S;
+ a = this.parse(n.name, O, n.bypass, p);
+ } else return !1;
+ if (!a) return y(), !1;
+ (a.mapping = n), (n = a);
+ break;
+ }
+ case s.data: {
+ for (var D = n.field.split('.'), P = d.data, F = 0; F < D.length && P; F++) {
+ var B = D[F];
+ P = P[B];
+ }
+ if ((P != null && (a = this.parse(n.name, P, n.bypass, p)), !a)) return y(), !1;
+ (a.mapping = n), (n = a);
+ break;
+ }
+ case s.fn: {
+ var $ = n.value,
+ z = n.fnValue != null ? n.fnValue : $(t);
+ if (((n.prevFnValue = z), z == null))
+ return (
+ tn(
+ 'Custom function mappers may not return null (i.e. `' +
+ n.name +
+ '` for ele `' +
+ t.id() +
+ '` is null)'
+ ),
+ !1
+ );
+ if (((a = this.parse(n.name, z, n.bypass, p)), !a))
+ return (
+ tn(
+ 'Custom function mappers may not return invalid values for the property type (i.e. `' +
+ n.name +
+ '` for ele `' +
+ t.id() +
+ '` is invalid)'
+ ),
+ !1
+ );
+ (a.mapping = $c(n)), (n = a);
+ break;
+ }
+ case void 0:
+ break;
+ default:
+ return !1;
+ }
+ return (
+ u
+ ? (f ? (n.bypassed = h.bypassed) : (n.bypassed = h), (i[n.name] = n))
+ : f
+ ? (h.bypassed = n)
+ : (i[n.name] = n),
+ g(),
+ !0
+ );
+ };
+ Ga.cleanElements = function (t, e) {
+ for (var r = 0; r < t.length; r++) {
+ var n = t[r];
+ if ((this.clearStyleHints(n), n.dirtyCompoundBoundsCache(), n.dirtyBoundingBoxCache(), !e))
+ n._private.style = {};
+ else
+ for (var i = n._private.style, a = Object.keys(i), s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = i[l];
+ u != null && (u.bypass ? (u.bypassed = null) : (i[l] = null));
+ }
+ }
+ };
+ Ga.update = function () {
+ var t = this._private.cy,
+ e = t.mutableElements();
+ e.updateStyle();
+ };
+ Ga.updateTransitions = function (t, e) {
+ var r = this,
+ n = t._private,
+ i = t.pstyle('transition-property').value,
+ a = t.pstyle('transition-duration').pfValue,
+ s = t.pstyle('transition-delay').pfValue;
+ if (i.length > 0 && a > 0) {
+ for (var l = {}, u = !1, h = 0; h < i.length; h++) {
+ var f = i[h],
+ d = t.pstyle(f),
+ p = e[f];
+ if (p) {
+ var m = p.prev,
+ g = m,
+ y = p.next != null ? p.next : d,
+ v = !1,
+ x = void 0,
+ b = 1e-6;
+ g &&
+ (ft(g.pfValue) && ft(y.pfValue)
+ ? ((v = y.pfValue - g.pfValue), (x = g.pfValue + b * v))
+ : ft(g.value) && ft(y.value)
+ ? ((v = y.value - g.value), (x = g.value + b * v))
+ : vn(g.value) &&
+ vn(y.value) &&
+ ((v =
+ g.value[0] !== y.value[0] ||
+ g.value[1] !== y.value[1] ||
+ g.value[2] !== y.value[2]),
+ (x = g.strValue)),
+ v && ((l[f] = y.strValue), this.applyBypass(t, f, x), (u = !0)));
+ }
+ }
+ if (!u) return;
+ (n.transitioning = !0),
+ new u1(function (w) {
+ s > 0 ? t.delayAnimation(s).play().promise().then(w) : w();
+ })
+ .then(function () {
+ return t
+ .animation({
+ style: l,
+ duration: a,
+ easing: t.pstyle('transition-timing-function').value,
+ queue: !1
+ })
+ .play()
+ .promise();
+ })
+ .then(function () {
+ r.removeBypasses(t, i), t.emitAndNotify('style'), (n.transitioning = !1);
+ });
+ } else n.transitioning && (this.removeBypasses(t, i), t.emitAndNotify('style'), (n.transitioning = !1));
+ };
+ Ga.checkTrigger = function (t, e, r, n, i, a) {
+ var s = this.properties[e],
+ l = i(s);
+ l != null && l(r, n) && a(s);
+ };
+ Ga.checkZOrderTrigger = function (t, e, r, n) {
+ var i = this;
+ this.checkTrigger(
+ t,
+ e,
+ r,
+ n,
+ function (a) {
+ return a.triggersZOrder;
+ },
+ function () {
+ i._private.cy.notify('zorder', t);
+ }
+ );
+ };
+ Ga.checkBoundsTrigger = function (t, e, r, n) {
+ this.checkTrigger(
+ t,
+ e,
+ r,
+ n,
+ function (i) {
+ return i.triggersBounds;
+ },
+ function (i) {
+ t.dirtyCompoundBoundsCache(),
+ t.dirtyBoundingBoxCache(),
+ i.triggersBoundsOfParallelBeziers &&
+ e === 'curve-style' &&
+ (r === 'bezier' || n === 'bezier') &&
+ t.parallelEdges().forEach(function (a) {
+ a.isBundledBezier() && a.dirtyBoundingBoxCache();
+ }),
+ i.triggersBoundsOfConnectedEdges &&
+ e === 'display' &&
+ (r === 'none' || n === 'none') &&
+ t.connectedEdges().forEach(function (a) {
+ a.dirtyBoundingBoxCache();
+ });
+ }
+ );
+ };
+ Ga.checkTriggers = function (t, e, r, n) {
+ t.dirtyStyleCache(), this.checkZOrderTrigger(t, e, r, n), this.checkBoundsTrigger(t, e, r, n);
+ };
+ rb = {};
+ rb.applyBypass = function (t, e, r, n) {
+ var i = this,
+ a = [],
+ s = !0;
+ if (e === '*' || e === '**') {
+ if (r !== void 0)
+ for (var l = 0; l < i.properties.length; l++) {
+ var u = i.properties[l],
+ h = u.name,
+ f = this.parse(h, r, !0);
+ f && a.push(f);
+ }
+ } else if (zt(e)) {
+ var d = this.parse(e, r, !0);
+ d && a.push(d);
+ } else if (Mr(e)) {
+ var p = e;
+ n = r;
+ for (var m = Object.keys(p), g = 0; g < m.length; g++) {
+ var y = m[g],
+ v = p[y];
+ if ((v === void 0 && (v = p[I6(y)]), v !== void 0)) {
+ var x = this.parse(y, v, !0);
+ x && a.push(x);
+ }
+ }
+ } else return !1;
+ if (a.length === 0) return !1;
+ for (var b = !1, w = 0; w < t.length; w++) {
+ for (var S = t[w], T = {}, E = void 0, _ = 0; _ < a.length; _++) {
+ var A = a[_];
+ if (n) {
+ var L = S.pstyle(A.name);
+ E = T[A.name] = { prev: L };
+ }
+ (b = this.applyParsedProperty(S, $c(A)) || b), n && (E.next = S.pstyle(A.name));
+ }
+ b && this.updateStyleHints(S), n && this.updateTransitions(S, T, s);
+ }
+ return b;
+ };
+ rb.overrideBypass = function (t, e, r) {
+ e = QP(e);
+ for (var n = 0; n < t.length; n++) {
+ var i = t[n],
+ a = i._private.style[e],
+ s = this.properties[e].type,
+ l = s.color,
+ u = s.mutiple,
+ h = a ? (a.pfValue != null ? a.pfValue : a.value) : null;
+ !a || !a.bypass
+ ? this.applyBypass(i, e, r)
+ : ((a.value = r),
+ a.pfValue != null && (a.pfValue = r),
+ l
+ ? (a.strValue = 'rgb(' + r.join(',') + ')')
+ : u
+ ? (a.strValue = r.join(' '))
+ : (a.strValue = '' + r),
+ this.updateStyleHints(i)),
+ this.checkTriggers(i, e, h, r);
+ }
+ };
+ rb.removeAllBypasses = function (t, e) {
+ return this.removeBypasses(t, this.propertyNames, e);
+ };
+ rb.removeBypasses = function (t, e, r) {
+ for (var n = !0, i = 0; i < t.length; i++) {
+ for (var a = t[i], s = {}, l = 0; l < e.length; l++) {
+ var u = e[l],
+ h = this.properties[u],
+ f = a.pstyle(h.name);
+ if (!(!f || !f.bypass)) {
+ var d = '',
+ p = this.parse(u, d, !0),
+ m = (s[h.name] = { prev: f });
+ this.applyParsedProperty(a, p), (m.next = a.pstyle(h.name));
+ }
+ }
+ this.updateStyleHints(a), r && this.updateTransitions(a, s, n);
+ }
+ };
+ hB = {};
+ hB.getEmSizeInPixels = function () {
+ var t = this.containerCss('font-size');
+ return t != null ? parseFloat(t) : 1;
+ };
+ hB.containerCss = function (t) {
+ var e = this._private.cy,
+ r = e.container(),
+ n = e.window();
+ if (n && r && n.getComputedStyle) return n.getComputedStyle(r).getPropertyValue(t);
+ };
+ Uc = {};
+ Uc.getRenderedStyle = function (t, e) {
+ return e ? this.getStylePropertyValue(t, e, !0) : this.getRawStyle(t, !0);
+ };
+ Uc.getRawStyle = function (t, e) {
+ var r = this;
+ if (((t = t[0]), t)) {
+ for (var n = {}, i = 0; i < r.properties.length; i++) {
+ var a = r.properties[i],
+ s = r.getStylePropertyValue(t, a.name, e);
+ s != null && ((n[a.name] = s), (n[I6(a.name)] = s));
+ }
+ return n;
+ }
+ };
+ Uc.getIndexedStyle = function (t, e, r, n) {
+ var i = t.pstyle(e)[r][n];
+ return i ?? t.cy().style().getDefaultProperty(e)[r][0];
+ };
+ Uc.getStylePropertyValue = function (t, e, r) {
+ var n = this;
+ if (((t = t[0]), t)) {
+ var i = n.properties[e];
+ i.alias && (i = i.pointsTo);
+ var a = i.type,
+ s = t.pstyle(i.name);
+ if (s) {
+ var l = s.value,
+ u = s.units,
+ h = s.strValue;
+ if (r && a.number && l != null && ft(l)) {
+ var f = t.cy().zoom(),
+ d = o(function (v) {
+ return v * f;
+ }, 'getRenderedValue'),
+ p = o(function (v, x) {
+ return d(v) + x;
+ }, 'getValueStringWithUnits'),
+ m = vn(l),
+ g = m
+ ? u.every(function (y) {
+ return y != null;
+ })
+ : u != null;
+ return g
+ ? m
+ ? l
+ .map(function (y, v) {
+ return p(y, u[v]);
+ })
+ .join(' ')
+ : p(l, u)
+ : m
+ ? l
+ .map(function (y) {
+ return zt(y) ? y : '' + d(y);
+ })
+ .join(' ')
+ : '' + d(l);
+ } else if (h != null) return h;
+ }
+ return null;
+ }
+ };
+ Uc.getAnimationStartStyle = function (t, e) {
+ for (var r = {}, n = 0; n < e.length; n++) {
+ var i = e[n],
+ a = i.name,
+ s = t.pstyle(a);
+ s !== void 0 && (Mr(s) ? (s = this.parse(a, s.strValue)) : (s = this.parse(a, s))), s && (r[a] = s);
+ }
+ return r;
+ };
+ Uc.getPropsList = function (t) {
+ var e = this,
+ r = [],
+ n = t,
+ i = e.properties;
+ if (n)
+ for (var a = Object.keys(n), s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = n[l],
+ h = i[l] || i[QP(l)],
+ f = this.parse(h.name, u);
+ f && r.push(f);
+ }
+ return r;
+ };
+ Uc.getNonDefaultPropertiesHash = function (t, e, r) {
+ var n = r.slice(),
+ i,
+ a,
+ s,
+ l,
+ u,
+ h;
+ for (u = 0; u < e.length; u++)
+ if (((i = e[u]), (a = t.pstyle(i, !1)), a != null))
+ if (a.pfValue != null) (n[0] = $x(l, n[0])), (n[1] = Vx(l, n[1]));
+ else
+ for (s = a.strValue, h = 0; h < s.length; h++)
+ (l = s.charCodeAt(h)), (n[0] = $x(l, n[0])), (n[1] = Vx(l, n[1]));
+ return n;
+ };
+ Uc.getPropertiesHash = Uc.getNonDefaultPropertiesHash;
+ q6 = {};
+ q6.appendFromJson = function (t) {
+ for (var e = this, r = 0; r < t.length; r++) {
+ var n = t[r],
+ i = n.selector,
+ a = n.style || n.css,
+ s = Object.keys(a);
+ e.selector(i);
+ for (var l = 0; l < s.length; l++) {
+ var u = s[l],
+ h = a[u];
+ e.css(u, h);
+ }
+ }
+ return e;
+ };
+ q6.fromJson = function (t) {
+ var e = this;
+ return e.resetToDefault(), e.appendFromJson(t), e;
+ };
+ q6.json = function () {
+ for (var t = [], e = this.defaultLength; e < this.length; e++) {
+ for (var r = this[e], n = r.selector, i = r.properties, a = {}, s = 0; s < i.length; s++) {
+ var l = i[s];
+ a[l.name] = l.strValue;
+ }
+ t.push({ selector: n ? n.toString() : 'core', style: a });
+ }
+ return t;
+ };
+ fB = {};
+ fB.appendFromString = function (t) {
+ var e = this,
+ r = this,
+ n = '' + t,
+ i,
+ a,
+ s;
+ n = n.replace(/[/][*](\s|.)+?[*][/]/g, '');
+ function l() {
+ n.length > i.length ? (n = n.substr(i.length)) : (n = '');
+ }
+ o(l, 'removeSelAndBlockFromRemaining');
+ function u() {
+ a.length > s.length ? (a = a.substr(s.length)) : (a = '');
+ }
+ for (o(u, 'removePropAndValFromRem'); ; ) {
+ var h = n.match(/^\s*$/);
+ if (h) break;
+ var f = n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);
+ if (!f) {
+ tn(
+ 'Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: ' +
+ n
+ );
+ break;
+ }
+ i = f[0];
+ var d = f[1];
+ if (d !== 'core') {
+ var p = new _f(d);
+ if (p.invalid) {
+ tn('Skipping parsing of block: Invalid selector found in string stylesheet: ' + d), l();
+ continue;
+ }
+ }
+ var m = f[2],
+ g = !1;
+ a = m;
+ for (var y = []; ; ) {
+ var v = a.match(/^\s*$/);
+ if (v) break;
+ var x = a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);
+ if (!x) {
+ tn(
+ 'Skipping parsing of block: Invalid formatting of style property and value definitions found in:' +
+ m
+ ),
+ (g = !0);
+ break;
+ }
+ s = x[0];
+ var b = x[1],
+ w = x[2],
+ S = e.properties[b];
+ if (!S) {
+ tn('Skipping property: Invalid property name in: ' + s), u();
+ continue;
+ }
+ var T = r.parse(b, w);
+ if (!T) {
+ tn('Skipping property: Invalid property definition in: ' + s), u();
+ continue;
+ }
+ y.push({ name: b, val: w }), u();
+ }
+ if (g) {
+ l();
+ break;
+ }
+ r.selector(d);
+ for (var E = 0; E < y.length; E++) {
+ var _ = y[E];
+ r.css(_.name, _.val);
+ }
+ l();
+ }
+ return r;
+ };
+ fB.fromString = function (t) {
+ var e = this;
+ return e.resetToDefault(), e.appendFromString(t), e;
+ };
+ ka = {};
+ (function () {
+ var t = Ui,
+ e = VHe,
+ r = HHe,
+ n = YHe,
+ i = WHe,
+ a = o(function (H) {
+ return '^' + H + '\\s*\\(\\s*([\\w\\.]+)\\s*\\)$';
+ }, 'data'),
+ s = o(function (H) {
+ var q = t + '|\\w+|' + e + '|' + r + '|' + n + '|' + i;
+ return (
+ '^' +
+ H +
+ '\\s*\\(([\\w\\.]+)\\s*\\,\\s*(' +
+ t +
+ ')\\s*\\,\\s*(' +
+ t +
+ ')\\s*,\\s*(' +
+ q +
+ ')\\s*\\,\\s*(' +
+ q +
+ ')\\)$'
+ );
+ }, 'mapData'),
+ l = [`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`, '^(none)$', '^(.+)$'];
+ ka.types = {
+ time: { number: !0, min: 0, units: 's|ms', implicitUnits: 'ms' },
+ percent: {
+ number: !0,
+ min: 0,
+ max: 100,
+ units: '%',
+ implicitUnits: '%'
+ },
+ percentages: {
+ number: !0,
+ min: 0,
+ max: 100,
+ units: '%',
+ implicitUnits: '%',
+ multiple: !0
+ },
+ zeroOneNumber: { number: !0, min: 0, max: 1, unitless: !0 },
+ zeroOneNumbers: {
+ number: !0,
+ min: 0,
+ max: 1,
+ unitless: !0,
+ multiple: !0
+ },
+ nOneOneNumber: { number: !0, min: -1, max: 1, unitless: !0 },
+ nonNegativeInt: { number: !0, min: 0, integer: !0, unitless: !0 },
+ nonNegativeNumber: { number: !0, min: 0, unitless: !0 },
+ position: { enums: ['parent', 'origin'] },
+ nodeSize: { number: !0, min: 0, enums: ['label'] },
+ number: { number: !0, unitless: !0 },
+ numbers: { number: !0, unitless: !0, multiple: !0 },
+ positiveNumber: { number: !0, unitless: !0, min: 0, strictMin: !0 },
+ size: { number: !0, min: 0 },
+ bidirectionalSize: { number: !0 },
+ bidirectionalSizeMaybePercent: { number: !0, allowPercent: !0 },
+ bidirectionalSizes: { number: !0, multiple: !0 },
+ sizeMaybePercent: { number: !0, min: 0, allowPercent: !0 },
+ axisDirection: {
+ enums: ['horizontal', 'leftward', 'rightward', 'vertical', 'upward', 'downward', 'auto']
+ },
+ paddingRelativeTo: {
+ enums: ['width', 'height', 'average', 'min', 'max']
+ },
+ bgWH: {
+ number: !0,
+ min: 0,
+ allowPercent: !0,
+ enums: ['auto'],
+ multiple: !0
+ },
+ bgPos: { number: !0, allowPercent: !0, multiple: !0 },
+ bgRelativeTo: { enums: ['inner', 'include-padding'], multiple: !0 },
+ bgRepeat: {
+ enums: ['repeat', 'repeat-x', 'repeat-y', 'no-repeat'],
+ multiple: !0
+ },
+ bgFit: { enums: ['none', 'contain', 'cover'], multiple: !0 },
+ bgCrossOrigin: {
+ enums: ['anonymous', 'use-credentials', 'null'],
+ multiple: !0
+ },
+ bgClip: { enums: ['none', 'node'], multiple: !0 },
+ bgContainment: { enums: ['inside', 'over'], multiple: !0 },
+ color: { color: !0 },
+ colors: { color: !0, multiple: !0 },
+ fill: { enums: ['solid', 'linear-gradient', 'radial-gradient'] },
+ bool: { enums: ['yes', 'no'] },
+ bools: { enums: ['yes', 'no'], multiple: !0 },
+ lineStyle: { enums: ['solid', 'dotted', 'dashed'] },
+ lineCap: { enums: ['butt', 'round', 'square'] },
+ linePosition: { enums: ['center', 'inside', 'outside'] },
+ lineJoin: { enums: ['round', 'bevel', 'miter'] },
+ borderStyle: { enums: ['solid', 'dotted', 'dashed', 'double'] },
+ curveStyle: {
+ enums: [
+ 'bezier',
+ 'unbundled-bezier',
+ 'haystack',
+ 'segments',
+ 'straight',
+ 'straight-triangle',
+ 'taxi',
+ 'round-segments',
+ 'round-taxi'
+ ]
+ },
+ radiusType: {
+ enums: ['arc-radius', 'influence-radius'],
+ multiple: !0
+ },
+ fontFamily: { regex: '^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$' },
+ fontStyle: { enums: ['italic', 'normal', 'oblique'] },
+ fontWeight: {
+ enums: [
+ 'normal',
+ 'bold',
+ 'bolder',
+ 'lighter',
+ '100',
+ '200',
+ '300',
+ '400',
+ '500',
+ '600',
+ '800',
+ '900',
+ 100,
+ 200,
+ 300,
+ 400,
+ 500,
+ 600,
+ 700,
+ 800,
+ 900
+ ]
+ },
+ textDecoration: {
+ enums: ['none', 'underline', 'overline', 'line-through']
+ },
+ textTransform: { enums: ['none', 'uppercase', 'lowercase'] },
+ textWrap: { enums: ['none', 'wrap', 'ellipsis'] },
+ textOverflowWrap: { enums: ['whitespace', 'anywhere'] },
+ textBackgroundShape: {
+ enums: ['rectangle', 'roundrectangle', 'round-rectangle']
+ },
+ nodeShape: {
+ enums: [
+ 'rectangle',
+ 'roundrectangle',
+ 'round-rectangle',
+ 'cutrectangle',
+ 'cut-rectangle',
+ 'bottomroundrectangle',
+ 'bottom-round-rectangle',
+ 'barrel',
+ 'ellipse',
+ 'triangle',
+ 'round-triangle',
+ 'square',
+ 'pentagon',
+ 'round-pentagon',
+ 'hexagon',
+ 'round-hexagon',
+ 'concavehexagon',
+ 'concave-hexagon',
+ 'heptagon',
+ 'round-heptagon',
+ 'octagon',
+ 'round-octagon',
+ 'tag',
+ 'round-tag',
+ 'star',
+ 'diamond',
+ 'round-diamond',
+ 'vee',
+ 'rhomboid',
+ 'right-rhomboid',
+ 'polygon'
+ ]
+ },
+ overlayShape: {
+ enums: ['roundrectangle', 'round-rectangle', 'ellipse']
+ },
+ cornerRadius: {
+ number: !0,
+ min: 0,
+ units: 'px|em',
+ implicitUnits: 'px',
+ enums: ['auto']
+ },
+ compoundIncludeLabels: { enums: ['include', 'exclude'] },
+ arrowShape: {
+ enums: [
+ 'tee',
+ 'triangle',
+ 'triangle-tee',
+ 'circle-triangle',
+ 'triangle-cross',
+ 'triangle-backcurve',
+ 'vee',
+ 'square',
+ 'circle',
+ 'diamond',
+ 'chevron',
+ 'none'
+ ]
+ },
+ arrowFill: { enums: ['filled', 'hollow'] },
+ arrowWidth: {
+ number: !0,
+ units: '%|px|em',
+ implicitUnits: 'px',
+ enums: ['match-line']
+ },
+ display: { enums: ['element', 'none'] },
+ visibility: { enums: ['hidden', 'visible'] },
+ zCompoundDepth: { enums: ['bottom', 'orphan', 'auto', 'top'] },
+ zIndexCompare: { enums: ['auto', 'manual'] },
+ valign: { enums: ['top', 'center', 'bottom'] },
+ halign: { enums: ['left', 'center', 'right'] },
+ justification: { enums: ['left', 'center', 'right', 'auto'] },
+ text: { string: !0 },
+ data: { mapping: !0, regex: a('data') },
+ layoutData: { mapping: !0, regex: a('layoutData') },
+ scratch: { mapping: !0, regex: a('scratch') },
+ mapData: { mapping: !0, regex: s('mapData') },
+ mapLayoutData: { mapping: !0, regex: s('mapLayoutData') },
+ mapScratch: { mapping: !0, regex: s('mapScratch') },
+ fn: { mapping: !0, fn: !0 },
+ url: { regexes: l, singleRegexMatchValue: !0 },
+ urls: { regexes: l, singleRegexMatchValue: !0, multiple: !0 },
+ propList: { propList: !0 },
+ angle: { number: !0, units: 'deg|rad', implicitUnits: 'rad' },
+ textRotation: {
+ number: !0,
+ units: 'deg|rad',
+ implicitUnits: 'rad',
+ enums: ['none', 'autorotate']
+ },
+ polygonPointList: {
+ number: !0,
+ multiple: !0,
+ evenMultiple: !0,
+ min: -1,
+ max: 1,
+ unitless: !0
+ },
+ edgeDistances: {
+ enums: ['intersection', 'node-position', 'endpoints']
+ },
+ edgeEndpoint: {
+ number: !0,
+ multiple: !0,
+ units: '%|px|em|deg|rad',
+ implicitUnits: 'px',
+ enums: [
+ 'inside-to-node',
+ 'outside-to-node',
+ 'outside-to-node-or-label',
+ 'outside-to-line',
+ 'outside-to-line-or-label'
+ ],
+ singleEnum: !0,
+ validate: o(function (H, q) {
+ switch (H.length) {
+ case 2:
+ return q[0] !== 'deg' && q[0] !== 'rad' && q[1] !== 'deg' && q[1] !== 'rad';
+ case 1:
+ return zt(H[0]) || q[0] === 'deg' || q[0] === 'rad';
+ default:
+ return !1;
+ }
+ }, 'validate')
+ },
+ easing: {
+ regexes: [
+ '^(spring)\\s*\\(\\s*(' + t + ')\\s*,\\s*(' + t + ')\\s*\\)$',
+ '^(cubic-bezier)\\s*\\(\\s*(' +
+ t +
+ ')\\s*,\\s*(' +
+ t +
+ ')\\s*,\\s*(' +
+ t +
+ ')\\s*,\\s*(' +
+ t +
+ ')\\s*\\)$'
+ ],
+ enums: [
+ 'linear',
+ 'ease',
+ 'ease-in',
+ 'ease-out',
+ 'ease-in-out',
+ 'ease-in-sine',
+ 'ease-out-sine',
+ 'ease-in-out-sine',
+ 'ease-in-quad',
+ 'ease-out-quad',
+ 'ease-in-out-quad',
+ 'ease-in-cubic',
+ 'ease-out-cubic',
+ 'ease-in-out-cubic',
+ 'ease-in-quart',
+ 'ease-out-quart',
+ 'ease-in-out-quart',
+ 'ease-in-quint',
+ 'ease-out-quint',
+ 'ease-in-out-quint',
+ 'ease-in-expo',
+ 'ease-out-expo',
+ 'ease-in-out-expo',
+ 'ease-in-circ',
+ 'ease-out-circ',
+ 'ease-in-out-circ'
+ ]
+ },
+ gradientDirection: {
+ enums: [
+ 'to-bottom',
+ 'to-top',
+ 'to-left',
+ 'to-right',
+ 'to-bottom-right',
+ 'to-bottom-left',
+ 'to-top-right',
+ 'to-top-left',
+ 'to-right-bottom',
+ 'to-left-bottom',
+ 'to-right-top',
+ 'to-left-top'
+ ]
+ },
+ boundsExpansion: {
+ number: !0,
+ multiple: !0,
+ min: 0,
+ validate: o(function (H) {
+ var q = H.length;
+ return q === 1 || q === 2 || q === 4;
+ }, 'validate')
+ }
+ };
+ var u = {
+ zeroNonZero: o(function (H, q) {
+ return ((H == null || q == null) && H !== q) || (H == 0 && q != 0) ? !0 : H != 0 && q == 0;
+ }, 'zeroNonZero'),
+ any: o(function (H, q) {
+ return H != q;
+ }, 'any'),
+ emptyNonEmpty: o(function (H, q) {
+ var K = Sf(H),
+ se = Sf(q);
+ return (K && !se) || (!K && se);
+ }, 'emptyNonEmpty')
+ },
+ h = ka.types,
+ f = [
+ {
+ name: 'label',
+ type: h.text,
+ triggersBounds: u.any,
+ triggersZOrder: u.emptyNonEmpty
+ },
+ {
+ name: 'text-rotation',
+ type: h.textRotation,
+ triggersBounds: u.any
+ },
+ {
+ name: 'text-margin-x',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ {
+ name: 'text-margin-y',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ }
+ ],
+ d = [
+ { name: 'source-label', type: h.text, triggersBounds: u.any },
+ {
+ name: 'source-text-rotation',
+ type: h.textRotation,
+ triggersBounds: u.any
+ },
+ {
+ name: 'source-text-margin-x',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ {
+ name: 'source-text-margin-y',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ { name: 'source-text-offset', type: h.size, triggersBounds: u.any }
+ ],
+ p = [
+ { name: 'target-label', type: h.text, triggersBounds: u.any },
+ {
+ name: 'target-text-rotation',
+ type: h.textRotation,
+ triggersBounds: u.any
+ },
+ {
+ name: 'target-text-margin-x',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ {
+ name: 'target-text-margin-y',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ { name: 'target-text-offset', type: h.size, triggersBounds: u.any }
+ ],
+ m = [
+ { name: 'font-family', type: h.fontFamily, triggersBounds: u.any },
+ { name: 'font-style', type: h.fontStyle, triggersBounds: u.any },
+ { name: 'font-weight', type: h.fontWeight, triggersBounds: u.any },
+ { name: 'font-size', type: h.size, triggersBounds: u.any },
+ {
+ name: 'text-transform',
+ type: h.textTransform,
+ triggersBounds: u.any
+ },
+ { name: 'text-wrap', type: h.textWrap, triggersBounds: u.any },
+ {
+ name: 'text-overflow-wrap',
+ type: h.textOverflowWrap,
+ triggersBounds: u.any
+ },
+ { name: 'text-max-width', type: h.size, triggersBounds: u.any },
+ { name: 'text-outline-width', type: h.size, triggersBounds: u.any },
+ {
+ name: 'line-height',
+ type: h.positiveNumber,
+ triggersBounds: u.any
+ }
+ ],
+ g = [
+ { name: 'text-valign', type: h.valign, triggersBounds: u.any },
+ { name: 'text-halign', type: h.halign, triggersBounds: u.any },
+ { name: 'color', type: h.color },
+ { name: 'text-outline-color', type: h.color },
+ { name: 'text-outline-opacity', type: h.zeroOneNumber },
+ { name: 'text-background-color', type: h.color },
+ { name: 'text-background-opacity', type: h.zeroOneNumber },
+ {
+ name: 'text-background-padding',
+ type: h.size,
+ triggersBounds: u.any
+ },
+ { name: 'text-border-opacity', type: h.zeroOneNumber },
+ { name: 'text-border-color', type: h.color },
+ { name: 'text-border-width', type: h.size, triggersBounds: u.any },
+ {
+ name: 'text-border-style',
+ type: h.borderStyle,
+ triggersBounds: u.any
+ },
+ {
+ name: 'text-background-shape',
+ type: h.textBackgroundShape,
+ triggersBounds: u.any
+ },
+ { name: 'text-justification', type: h.justification }
+ ],
+ y = [
+ { name: 'events', type: h.bool, triggersZOrder: u.any },
+ { name: 'text-events', type: h.bool, triggersZOrder: u.any }
+ ],
+ v = [
+ {
+ name: 'display',
+ type: h.display,
+ triggersZOrder: u.any,
+ triggersBounds: u.any,
+ triggersBoundsOfConnectedEdges: !0
+ },
+ { name: 'visibility', type: h.visibility, triggersZOrder: u.any },
+ {
+ name: 'opacity',
+ type: h.zeroOneNumber,
+ triggersZOrder: u.zeroNonZero
+ },
+ { name: 'text-opacity', type: h.zeroOneNumber },
+ { name: 'min-zoomed-font-size', type: h.size },
+ {
+ name: 'z-compound-depth',
+ type: h.zCompoundDepth,
+ triggersZOrder: u.any
+ },
+ {
+ name: 'z-index-compare',
+ type: h.zIndexCompare,
+ triggersZOrder: u.any
+ },
+ { name: 'z-index', type: h.number, triggersZOrder: u.any }
+ ],
+ x = [
+ { name: 'overlay-padding', type: h.size, triggersBounds: u.any },
+ { name: 'overlay-color', type: h.color },
+ {
+ name: 'overlay-opacity',
+ type: h.zeroOneNumber,
+ triggersBounds: u.zeroNonZero
+ },
+ {
+ name: 'overlay-shape',
+ type: h.overlayShape,
+ triggersBounds: u.any
+ },
+ { name: 'overlay-corner-radius', type: h.cornerRadius }
+ ],
+ b = [
+ { name: 'underlay-padding', type: h.size, triggersBounds: u.any },
+ { name: 'underlay-color', type: h.color },
+ {
+ name: 'underlay-opacity',
+ type: h.zeroOneNumber,
+ triggersBounds: u.zeroNonZero
+ },
+ {
+ name: 'underlay-shape',
+ type: h.overlayShape,
+ triggersBounds: u.any
+ },
+ { name: 'underlay-corner-radius', type: h.cornerRadius }
+ ],
+ w = [
+ { name: 'transition-property', type: h.propList },
+ { name: 'transition-duration', type: h.time },
+ { name: 'transition-delay', type: h.time },
+ { name: 'transition-timing-function', type: h.easing }
+ ],
+ S = o(function (H, q) {
+ return q.value === 'label' ? -H.poolIndex() : q.pfValue;
+ }, 'nodeSizeHashOverride'),
+ T = [
+ {
+ name: 'height',
+ type: h.nodeSize,
+ triggersBounds: u.any,
+ hashOverride: S
+ },
+ {
+ name: 'width',
+ type: h.nodeSize,
+ triggersBounds: u.any,
+ hashOverride: S
+ },
+ { name: 'shape', type: h.nodeShape, triggersBounds: u.any },
+ {
+ name: 'shape-polygon-points',
+ type: h.polygonPointList,
+ triggersBounds: u.any
+ },
+ { name: 'corner-radius', type: h.cornerRadius },
+ { name: 'background-color', type: h.color },
+ { name: 'background-fill', type: h.fill },
+ { name: 'background-opacity', type: h.zeroOneNumber },
+ { name: 'background-blacken', type: h.nOneOneNumber },
+ { name: 'background-gradient-stop-colors', type: h.colors },
+ { name: 'background-gradient-stop-positions', type: h.percentages },
+ {
+ name: 'background-gradient-direction',
+ type: h.gradientDirection
+ },
+ {
+ name: 'padding',
+ type: h.sizeMaybePercent,
+ triggersBounds: u.any
+ },
+ {
+ name: 'padding-relative-to',
+ type: h.paddingRelativeTo,
+ triggersBounds: u.any
+ },
+ {
+ name: 'bounds-expansion',
+ type: h.boundsExpansion,
+ triggersBounds: u.any
+ }
+ ],
+ E = [
+ { name: 'border-color', type: h.color },
+ { name: 'border-opacity', type: h.zeroOneNumber },
+ { name: 'border-width', type: h.size, triggersBounds: u.any },
+ { name: 'border-style', type: h.borderStyle },
+ { name: 'border-cap', type: h.lineCap },
+ { name: 'border-join', type: h.lineJoin },
+ { name: 'border-dash-pattern', type: h.numbers },
+ { name: 'border-dash-offset', type: h.number },
+ { name: 'border-position', type: h.linePosition }
+ ],
+ _ = [
+ { name: 'outline-color', type: h.color },
+ { name: 'outline-opacity', type: h.zeroOneNumber },
+ { name: 'outline-width', type: h.size, triggersBounds: u.any },
+ { name: 'outline-style', type: h.borderStyle },
+ { name: 'outline-offset', type: h.size, triggersBounds: u.any }
+ ],
+ A = [
+ { name: 'background-image', type: h.urls },
+ { name: 'background-image-crossorigin', type: h.bgCrossOrigin },
+ { name: 'background-image-opacity', type: h.zeroOneNumbers },
+ { name: 'background-image-containment', type: h.bgContainment },
+ { name: 'background-image-smoothing', type: h.bools },
+ { name: 'background-position-x', type: h.bgPos },
+ { name: 'background-position-y', type: h.bgPos },
+ { name: 'background-width-relative-to', type: h.bgRelativeTo },
+ { name: 'background-height-relative-to', type: h.bgRelativeTo },
+ { name: 'background-repeat', type: h.bgRepeat },
+ { name: 'background-fit', type: h.bgFit },
+ { name: 'background-clip', type: h.bgClip },
+ { name: 'background-width', type: h.bgWH },
+ { name: 'background-height', type: h.bgWH },
+ { name: 'background-offset-x', type: h.bgPos },
+ { name: 'background-offset-y', type: h.bgPos }
+ ],
+ L = [
+ { name: 'position', type: h.position, triggersBounds: u.any },
+ {
+ name: 'compound-sizing-wrt-labels',
+ type: h.compoundIncludeLabels,
+ triggersBounds: u.any
+ },
+ { name: 'min-width', type: h.size, triggersBounds: u.any },
+ {
+ name: 'min-width-bias-left',
+ type: h.sizeMaybePercent,
+ triggersBounds: u.any
+ },
+ {
+ name: 'min-width-bias-right',
+ type: h.sizeMaybePercent,
+ triggersBounds: u.any
+ },
+ { name: 'min-height', type: h.size, triggersBounds: u.any },
+ {
+ name: 'min-height-bias-top',
+ type: h.sizeMaybePercent,
+ triggersBounds: u.any
+ },
+ {
+ name: 'min-height-bias-bottom',
+ type: h.sizeMaybePercent,
+ triggersBounds: u.any
+ }
+ ],
+ M = [
+ { name: 'line-style', type: h.lineStyle },
+ { name: 'line-color', type: h.color },
+ { name: 'line-fill', type: h.fill },
+ { name: 'line-cap', type: h.lineCap },
+ { name: 'line-opacity', type: h.zeroOneNumber },
+ { name: 'line-dash-pattern', type: h.numbers },
+ { name: 'line-dash-offset', type: h.number },
+ { name: 'line-outline-width', type: h.size },
+ { name: 'line-outline-color', type: h.color },
+ { name: 'line-gradient-stop-colors', type: h.colors },
+ { name: 'line-gradient-stop-positions', type: h.percentages },
+ {
+ name: 'curve-style',
+ type: h.curveStyle,
+ triggersBounds: u.any,
+ triggersBoundsOfParallelBeziers: !0
+ },
+ {
+ name: 'haystack-radius',
+ type: h.zeroOneNumber,
+ triggersBounds: u.any
+ },
+ {
+ name: 'source-endpoint',
+ type: h.edgeEndpoint,
+ triggersBounds: u.any
+ },
+ {
+ name: 'target-endpoint',
+ type: h.edgeEndpoint,
+ triggersBounds: u.any
+ },
+ {
+ name: 'control-point-step-size',
+ type: h.size,
+ triggersBounds: u.any
+ },
+ {
+ name: 'control-point-distances',
+ type: h.bidirectionalSizes,
+ triggersBounds: u.any
+ },
+ {
+ name: 'control-point-weights',
+ type: h.numbers,
+ triggersBounds: u.any
+ },
+ {
+ name: 'segment-distances',
+ type: h.bidirectionalSizes,
+ triggersBounds: u.any
+ },
+ { name: 'segment-weights', type: h.numbers, triggersBounds: u.any },
+ { name: 'segment-radii', type: h.numbers, triggersBounds: u.any },
+ { name: 'radius-type', type: h.radiusType, triggersBounds: u.any },
+ {
+ name: 'taxi-turn',
+ type: h.bidirectionalSizeMaybePercent,
+ triggersBounds: u.any
+ },
+ {
+ name: 'taxi-turn-min-distance',
+ type: h.size,
+ triggersBounds: u.any
+ },
+ {
+ name: 'taxi-direction',
+ type: h.axisDirection,
+ triggersBounds: u.any
+ },
+ { name: 'taxi-radius', type: h.number, triggersBounds: u.any },
+ {
+ name: 'edge-distances',
+ type: h.edgeDistances,
+ triggersBounds: u.any
+ },
+ {
+ name: 'arrow-scale',
+ type: h.positiveNumber,
+ triggersBounds: u.any
+ },
+ { name: 'loop-direction', type: h.angle, triggersBounds: u.any },
+ { name: 'loop-sweep', type: h.angle, triggersBounds: u.any },
+ {
+ name: 'source-distance-from-node',
+ type: h.size,
+ triggersBounds: u.any
+ },
+ {
+ name: 'target-distance-from-node',
+ type: h.size,
+ triggersBounds: u.any
+ }
+ ],
+ N = [
+ { name: 'ghost', type: h.bool, triggersBounds: u.any },
+ {
+ name: 'ghost-offset-x',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ {
+ name: 'ghost-offset-y',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ { name: 'ghost-opacity', type: h.zeroOneNumber }
+ ],
+ k = [
+ { name: 'selection-box-color', type: h.color },
+ { name: 'selection-box-opacity', type: h.zeroOneNumber },
+ { name: 'selection-box-border-color', type: h.color },
+ { name: 'selection-box-border-width', type: h.size },
+ { name: 'active-bg-color', type: h.color },
+ { name: 'active-bg-opacity', type: h.zeroOneNumber },
+ { name: 'active-bg-size', type: h.size },
+ { name: 'outside-texture-bg-color', type: h.color },
+ { name: 'outside-texture-bg-opacity', type: h.zeroOneNumber }
+ ],
+ I = [];
+ (ka.pieBackgroundN = 16), I.push({ name: 'pie-size', type: h.sizeMaybePercent });
+ for (var C = 1; C <= ka.pieBackgroundN; C++)
+ I.push({ name: 'pie-' + C + '-background-color', type: h.color }),
+ I.push({ name: 'pie-' + C + '-background-size', type: h.percent }),
+ I.push({
+ name: 'pie-' + C + '-background-opacity',
+ type: h.zeroOneNumber
+ });
+ var O = [],
+ D = (ka.arrowPrefixes = ['source', 'mid-source', 'target', 'mid-target']);
+ [
+ { name: 'arrow-shape', type: h.arrowShape, triggersBounds: u.any },
+ { name: 'arrow-color', type: h.color },
+ { name: 'arrow-fill', type: h.arrowFill },
+ { name: 'arrow-width', type: h.arrowWidth }
+ ].forEach(function (Z) {
+ D.forEach(function (H) {
+ var q = H + '-' + Z.name,
+ K = Z.type,
+ se = Z.triggersBounds;
+ O.push({ name: q, type: K, triggersBounds: se });
+ });
+ }, {});
+ var P = (ka.properties = [].concat(y, w, v, x, b, N, g, m, f, d, p, T, E, _, A, I, L, M, O, k)),
+ F = (ka.propertyGroups = {
+ behavior: y,
+ transition: w,
+ visibility: v,
+ overlay: x,
+ underlay: b,
+ ghost: N,
+ commonLabel: g,
+ labelDimensions: m,
+ mainLabel: f,
+ sourceLabel: d,
+ targetLabel: p,
+ nodeBody: T,
+ nodeBorder: E,
+ nodeOutline: _,
+ backgroundImage: A,
+ pie: I,
+ compound: L,
+ edgeLine: M,
+ edgeArrow: O,
+ core: k
+ }),
+ B = (ka.propertyGroupNames = {}),
+ $ = (ka.propertyGroupKeys = Object.keys(F));
+ $.forEach(function (Z) {
+ (B[Z] = F[Z].map(function (H) {
+ return H.name;
+ })),
+ F[Z].forEach(function (H) {
+ return (H.groupKey = Z);
+ });
+ });
+ var z = (ka.aliases = [
+ { name: 'content', pointsTo: 'label' },
+ {
+ name: 'control-point-distance',
+ pointsTo: 'control-point-distances'
+ },
+ { name: 'control-point-weight', pointsTo: 'control-point-weights' },
+ { name: 'segment-distance', pointsTo: 'segment-distances' },
+ { name: 'segment-weight', pointsTo: 'segment-weights' },
+ { name: 'segment-radius', pointsTo: 'segment-radii' },
+ { name: 'edge-text-rotation', pointsTo: 'text-rotation' },
+ { name: 'padding-left', pointsTo: 'padding' },
+ { name: 'padding-right', pointsTo: 'padding' },
+ { name: 'padding-top', pointsTo: 'padding' },
+ { name: 'padding-bottom', pointsTo: 'padding' }
+ ]);
+ ka.propertyNames = P.map(function (Z) {
+ return Z.name;
+ });
+ for (var Y = 0; Y < P.length; Y++) {
+ var Q = P[Y];
+ P[Q.name] = Q;
+ }
+ for (var X = 0; X < z.length; X++) {
+ var ie = z[X],
+ j = P[ie.pointsTo],
+ J = { name: ie.name, alias: !0, pointsTo: j };
+ P.push(J), (P[ie.name] = J);
+ }
+ })();
+ ka.getDefaultProperty = function (t) {
+ return this.getDefaultProperties()[t];
+ };
+ ka.getDefaultProperties = function () {
+ var t = this._private;
+ if (t.defaultProperties != null) return t.defaultProperties;
+ for (
+ var e = Wt(
+ {
+ 'selection-box-color': '#ddd',
+ 'selection-box-opacity': 0.65,
+ 'selection-box-border-color': '#aaa',
+ 'selection-box-border-width': 1,
+ 'active-bg-color': 'black',
+ 'active-bg-opacity': 0.15,
+ 'active-bg-size': 30,
+ 'outside-texture-bg-color': '#000',
+ 'outside-texture-bg-opacity': 0.125,
+ events: 'yes',
+ 'text-events': 'no',
+ 'text-valign': 'top',
+ 'text-halign': 'center',
+ 'text-justification': 'auto',
+ 'line-height': 1,
+ color: '#000',
+ 'text-outline-color': '#000',
+ 'text-outline-width': 0,
+ 'text-outline-opacity': 1,
+ 'text-opacity': 1,
+ 'text-decoration': 'none',
+ 'text-transform': 'none',
+ 'text-wrap': 'none',
+ 'text-overflow-wrap': 'whitespace',
+ 'text-max-width': 9999,
+ 'text-background-color': '#000',
+ 'text-background-opacity': 0,
+ 'text-background-shape': 'rectangle',
+ 'text-background-padding': 0,
+ 'text-border-opacity': 0,
+ 'text-border-width': 0,
+ 'text-border-style': 'solid',
+ 'text-border-color': '#000',
+ 'font-family': 'Helvetica Neue, Helvetica, sans-serif',
+ 'font-style': 'normal',
+ 'font-weight': 'normal',
+ 'font-size': 16,
+ 'min-zoomed-font-size': 0,
+ 'text-rotation': 'none',
+ 'source-text-rotation': 'none',
+ 'target-text-rotation': 'none',
+ visibility: 'visible',
+ display: 'element',
+ opacity: 1,
+ 'z-compound-depth': 'auto',
+ 'z-index-compare': 'auto',
+ 'z-index': 0,
+ label: '',
+ 'text-margin-x': 0,
+ 'text-margin-y': 0,
+ 'source-label': '',
+ 'source-text-offset': 0,
+ 'source-text-margin-x': 0,
+ 'source-text-margin-y': 0,
+ 'target-label': '',
+ 'target-text-offset': 0,
+ 'target-text-margin-x': 0,
+ 'target-text-margin-y': 0,
+ 'overlay-opacity': 0,
+ 'overlay-color': '#000',
+ 'overlay-padding': 10,
+ 'overlay-shape': 'round-rectangle',
+ 'overlay-corner-radius': 'auto',
+ 'underlay-opacity': 0,
+ 'underlay-color': '#000',
+ 'underlay-padding': 10,
+ 'underlay-shape': 'round-rectangle',
+ 'underlay-corner-radius': 'auto',
+ 'transition-property': 'none',
+ 'transition-duration': 0,
+ 'transition-delay': 0,
+ 'transition-timing-function': 'linear',
+ 'background-blacken': 0,
+ 'background-color': '#999',
+ 'background-fill': 'solid',
+ 'background-opacity': 1,
+ 'background-image': 'none',
+ 'background-image-crossorigin': 'anonymous',
+ 'background-image-opacity': 1,
+ 'background-image-containment': 'inside',
+ 'background-image-smoothing': 'yes',
+ 'background-position-x': '50%',
+ 'background-position-y': '50%',
+ 'background-offset-x': 0,
+ 'background-offset-y': 0,
+ 'background-width-relative-to': 'include-padding',
+ 'background-height-relative-to': 'include-padding',
+ 'background-repeat': 'no-repeat',
+ 'background-fit': 'none',
+ 'background-clip': 'node',
+ 'background-width': 'auto',
+ 'background-height': 'auto',
+ 'border-color': '#000',
+ 'border-opacity': 1,
+ 'border-width': 0,
+ 'border-style': 'solid',
+ 'border-dash-pattern': [4, 2],
+ 'border-dash-offset': 0,
+ 'border-cap': 'butt',
+ 'border-join': 'miter',
+ 'border-position': 'center',
+ 'outline-color': '#999',
+ 'outline-opacity': 1,
+ 'outline-width': 0,
+ 'outline-offset': 0,
+ 'outline-style': 'solid',
+ height: 30,
+ width: 30,
+ shape: 'ellipse',
+ 'shape-polygon-points': '-1, -1, 1, -1, 1, 1, -1, 1',
+ 'corner-radius': 'auto',
+ 'bounds-expansion': 0,
+ 'background-gradient-direction': 'to-bottom',
+ 'background-gradient-stop-colors': '#999',
+ 'background-gradient-stop-positions': '0%',
+ ghost: 'no',
+ 'ghost-offset-y': 0,
+ 'ghost-offset-x': 0,
+ 'ghost-opacity': 0,
+ padding: 0,
+ 'padding-relative-to': 'width',
+ position: 'origin',
+ 'compound-sizing-wrt-labels': 'include',
+ 'min-width': 0,
+ 'min-width-bias-left': 0,
+ 'min-width-bias-right': 0,
+ 'min-height': 0,
+ 'min-height-bias-top': 0,
+ 'min-height-bias-bottom': 0
+ },
+ { 'pie-size': '100%' },
+ [
+ { name: 'pie-{{i}}-background-color', value: 'black' },
+ { name: 'pie-{{i}}-background-size', value: '0%' },
+ { name: 'pie-{{i}}-background-opacity', value: 1 }
+ ].reduce(function (u, h) {
+ for (var f = 1; f <= ka.pieBackgroundN; f++) {
+ var d = h.name.replace('{{i}}', f),
+ p = h.value;
+ u[d] = p;
+ }
+ return u;
+ }, {}),
+ {
+ 'line-style': 'solid',
+ 'line-color': '#999',
+ 'line-fill': 'solid',
+ 'line-cap': 'butt',
+ 'line-opacity': 1,
+ 'line-outline-width': 0,
+ 'line-outline-color': '#000',
+ 'line-gradient-stop-colors': '#999',
+ 'line-gradient-stop-positions': '0%',
+ 'control-point-step-size': 40,
+ 'control-point-weights': 0.5,
+ 'segment-weights': 0.5,
+ 'segment-distances': 20,
+ 'segment-radii': 15,
+ 'radius-type': 'arc-radius',
+ 'taxi-turn': '50%',
+ 'taxi-radius': 15,
+ 'taxi-turn-min-distance': 10,
+ 'taxi-direction': 'auto',
+ 'edge-distances': 'intersection',
+ 'curve-style': 'haystack',
+ 'haystack-radius': 0,
+ 'arrow-scale': 1,
+ 'loop-direction': '-45deg',
+ 'loop-sweep': '-90deg',
+ 'source-distance-from-node': 0,
+ 'target-distance-from-node': 0,
+ 'source-endpoint': 'outside-to-node',
+ 'target-endpoint': 'outside-to-node',
+ 'line-dash-pattern': [6, 3],
+ 'line-dash-offset': 0
+ },
+ [
+ { name: 'arrow-shape', value: 'none' },
+ { name: 'arrow-color', value: '#999' },
+ { name: 'arrow-fill', value: 'filled' },
+ { name: 'arrow-width', value: 1 }
+ ].reduce(function (u, h) {
+ return (
+ ka.arrowPrefixes.forEach(function (f) {
+ var d = f + '-' + h.name,
+ p = h.value;
+ u[d] = p;
+ }),
+ u
+ );
+ }, {})
+ ),
+ r = {},
+ n = 0;
+ n < this.properties.length;
+ n++
+ ) {
+ var i = this.properties[n];
+ if (!i.pointsTo) {
+ var a = i.name,
+ s = e[a],
+ l = this.parse(a, s);
+ r[a] = l;
+ }
+ }
+ return (t.defaultProperties = r), t.defaultProperties;
+ };
+ ka.addDefaultStylesheet = function () {
+ this.selector(':parent')
+ .css({
+ shape: 'rectangle',
+ padding: 10,
+ 'background-color': '#eee',
+ 'border-color': '#ccc',
+ 'border-width': 1
+ })
+ .selector('edge')
+ .css({ width: 3 })
+ .selector(':loop')
+ .css({ 'curve-style': 'bezier' })
+ .selector('edge:compound')
+ .css({
+ 'curve-style': 'bezier',
+ 'source-endpoint': 'outside-to-line',
+ 'target-endpoint': 'outside-to-line'
+ })
+ .selector(':selected')
+ .css({
+ 'background-color': '#0169D9',
+ 'line-color': '#0169D9',
+ 'source-arrow-color': '#0169D9',
+ 'target-arrow-color': '#0169D9',
+ 'mid-source-arrow-color': '#0169D9',
+ 'mid-target-arrow-color': '#0169D9'
+ })
+ .selector(':parent:selected')
+ .css({ 'background-color': '#CCE1F9', 'border-color': '#aec8e5' })
+ .selector(':active')
+ .css({
+ 'overlay-color': 'black',
+ 'overlay-padding': 10,
+ 'overlay-opacity': 0.25
+ }),
+ (this.defaultLength = this.length);
+ };
+ X6 = {};
+ X6.parse = function (t, e, r, n) {
+ var i = this;
+ if (jn(e)) return i.parseImplWarn(t, e, r, n);
+ var a = n === 'mapping' || n === !0 || n === !1 || n == null ? 'dontcare' : n,
+ s = r ? 't' : 'f',
+ l = '' + e,
+ u = Ope(t, l, s, a),
+ h = (i.propCache = i.propCache || []),
+ f;
+ return (
+ (f = h[u]) || (f = h[u] = i.parseImplWarn(t, e, r, n)),
+ (r || n === 'mapping') && ((f = $c(f)), f && (f.value = $c(f.value))),
+ f
+ );
+ };
+ X6.parseImplWarn = function (t, e, r, n) {
+ var i = this.parseImpl(t, e, r, n);
+ return (
+ !i && e != null && tn('The style property `'.concat(t, ': ').concat(e, '` is invalid')),
+ i &&
+ (i.name === 'width' || i.name === 'height') &&
+ e === 'label' &&
+ tn('The style value of `label` is deprecated for `' + i.name + '`'),
+ i
+ );
+ };
+ X6.parseImpl = function (t, e, r, n) {
+ var i = this;
+ t = QP(t);
+ var a = i.properties[t],
+ s = e,
+ l = i.types;
+ if (!a || e === void 0) return null;
+ a.alias && ((a = a.pointsTo), (t = a.name));
+ var u = zt(e);
+ u && (e = e.trim());
+ var h = a.type;
+ if (!h) return null;
+ if (r && (e === '' || e === null)) return { name: t, value: e, bypass: !0, deleteBypass: !0 };
+ if (jn(e)) return { name: t, value: e, strValue: 'fn', mapped: l.fn, bypass: r };
+ var f, d;
+ if (!(!u || n || e.length < 7 || e[1] !== 'a')) {
+ if (e.length >= 7 && e[0] === 'd' && (f = new RegExp(l.data.regex).exec(e))) {
+ if (r) return !1;
+ var p = l.data;
+ return {
+ name: t,
+ value: f,
+ strValue: '' + e,
+ mapped: p,
+ field: f[1],
+ bypass: r
+ };
+ } else if (e.length >= 10 && e[0] === 'm' && (d = new RegExp(l.mapData.regex).exec(e))) {
+ if (r || h.multiple) return !1;
+ var m = l.mapData;
+ if (!(h.color || h.number)) return !1;
+ var g = this.parse(t, d[4]);
+ if (!g || g.mapped) return !1;
+ var y = this.parse(t, d[5]);
+ if (!y || y.mapped) return !1;
+ if (g.pfValue === y.pfValue || g.strValue === y.strValue)
+ return (
+ tn(
+ '`' +
+ t +
+ ': ' +
+ e +
+ '` is not a valid mapper because the output range is zero; converting to `' +
+ t +
+ ': ' +
+ g.strValue +
+ '`'
+ ),
+ this.parse(t, g.strValue)
+ );
+ if (h.color) {
+ var v = g.value,
+ x = y.value,
+ b =
+ v[0] === x[0] &&
+ v[1] === x[1] &&
+ v[2] === x[2] &&
+ (v[3] === x[3] || ((v[3] == null || v[3] === 1) && (x[3] == null || x[3] === 1)));
+ if (b) return !1;
+ }
+ return {
+ name: t,
+ value: d,
+ strValue: '' + e,
+ mapped: m,
+ field: d[1],
+ fieldMin: parseFloat(d[2]),
+ fieldMax: parseFloat(d[3]),
+ valueMin: g.value,
+ valueMax: y.value,
+ bypass: r
+ };
+ }
+ }
+ if (h.multiple && n !== 'multiple') {
+ var w;
+ if ((u ? (w = e.split(/\s+/)) : vn(e) ? (w = e) : (w = [e]), h.evenMultiple && w.length % 2 !== 0))
+ return null;
+ for (var S = [], T = [], E = [], _ = '', A = !1, L = 0; L < w.length; L++) {
+ var M = i.parse(t, w[L], r, 'multiple');
+ (A = A || zt(M.value)),
+ S.push(M.value),
+ E.push(M.pfValue != null ? M.pfValue : M.value),
+ T.push(M.units),
+ (_ += (L > 0 ? ' ' : '') + M.strValue);
+ }
+ return h.validate && !h.validate(S, T)
+ ? null
+ : h.singleEnum && A
+ ? S.length === 1 && zt(S[0])
+ ? { name: t, value: S[0], strValue: S[0], bypass: r }
+ : null
+ : {
+ name: t,
+ value: S,
+ pfValue: E,
+ strValue: _,
+ bypass: r,
+ units: T
+ };
+ }
+ var N = o(function () {
+ for (var H = 0; H < h.enums.length; H++) {
+ var q = h.enums[H];
+ if (q === e) return { name: t, value: e, strValue: '' + e, bypass: r };
+ }
+ return null;
+ }, 'checkEnums');
+ if (h.number) {
+ var k,
+ I = 'px';
+ if ((h.units && (k = h.units), h.implicitUnits && (I = h.implicitUnits), !h.unitless))
+ if (u) {
+ var C = 'px|em' + (h.allowPercent ? '|\\%' : '');
+ k && (C = k);
+ var O = e.match('^(' + Ui + ')(' + C + ')?$');
+ O && ((e = O[1]), (k = O[2] || I));
+ } else (!k || h.implicitUnits) && (k = I);
+ if (((e = parseFloat(e)), isNaN(e) && h.enums === void 0)) return null;
+ if (isNaN(e) && h.enums !== void 0) return (e = s), N();
+ if (
+ (h.integer && !OHe(e)) ||
+ (h.min !== void 0 && (e < h.min || (h.strictMin && e === h.min))) ||
+ (h.max !== void 0 && (e > h.max || (h.strictMax && e === h.max)))
+ )
+ return null;
+ var D = {
+ name: t,
+ value: e,
+ strValue: '' + e + (k || ''),
+ units: k,
+ bypass: r
+ };
+ return (
+ h.unitless || (k !== 'px' && k !== 'em')
+ ? (D.pfValue = e)
+ : (D.pfValue = k === 'px' || !k ? e : this.getEmSizeInPixels() * e),
+ (k === 'ms' || k === 's') && (D.pfValue = k === 'ms' ? e : 1e3 * e),
+ (k === 'deg' || k === 'rad') && (D.pfValue = k === 'rad' ? e : mWe(e)),
+ k === '%' && (D.pfValue = e / 100),
+ D
+ );
+ } else if (h.propList) {
+ var P = [],
+ F = '' + e;
+ if (F !== 'none') {
+ for (var B = F.split(/\s*,\s*|\s+/), $ = 0; $ < B.length; $++) {
+ var z = B[$].trim();
+ i.properties[z] ? P.push(z) : tn('`' + z + '` is not a valid property name');
+ }
+ if (P.length === 0) return null;
+ }
+ return {
+ name: t,
+ value: P,
+ strValue: P.length === 0 ? 'none' : P.join(' '),
+ bypass: r
+ };
+ } else if (h.color) {
+ var Y = ZHe(e);
+ return Y
+ ? {
+ name: t,
+ value: Y,
+ pfValue: Y,
+ strValue: 'rgb(' + Y[0] + ',' + Y[1] + ',' + Y[2] + ')',
+ bypass: r
+ }
+ : null;
+ } else if (h.regex || h.regexes) {
+ if (h.enums) {
+ var Q = N();
+ if (Q) return Q;
+ }
+ for (var X = h.regexes ? h.regexes : [h.regex], ie = 0; ie < X.length; ie++) {
+ var j = new RegExp(X[ie]),
+ J = j.exec(e);
+ if (J)
+ return {
+ name: t,
+ value: h.singleRegexMatchValue ? J[1] : J,
+ strValue: '' + e,
+ bypass: r
+ };
+ }
+ return null;
+ } else return h.string ? { name: t, value: '' + e, strValue: '' + e, bypass: r } : h.enums ? N() : null;
+ };
+ (Ba = o(function t(e) {
+ if (!(this instanceof t)) return new t(e);
+ if (!KP(e)) {
+ oi('A style must have a core reference');
+ return;
+ }
+ (this._private = { cy: e, coreStyle: {} }), (this.length = 0), this.resetToDefault();
+ }, 'Style')),
+ (za = Ba.prototype);
+ za.instanceString = function () {
+ return 'style';
+ };
+ za.clear = function () {
+ for (var t = this._private, e = t.cy, r = e.elements(), n = 0; n < this.length; n++) this[n] = void 0;
+ return (
+ (this.length = 0),
+ (t.contextStyles = {}),
+ (t.propDiffs = {}),
+ this.cleanElements(r, !0),
+ r.forEach(function (i) {
+ var a = i[0]._private;
+ (a.styleDirty = !0), (a.appliedInitStyle = !1);
+ }),
+ this
+ );
+ };
+ za.resetToDefault = function () {
+ return this.clear(), this.addDefaultStylesheet(), this;
+ };
+ za.core = function (t) {
+ return this._private.coreStyle[t] || this.getDefaultProperty(t);
+ };
+ za.selector = function (t) {
+ var e = t === 'core' ? null : new _f(t),
+ r = this.length++;
+ return (
+ (this[r] = {
+ selector: e,
+ properties: [],
+ mappedProperties: [],
+ index: r
+ }),
+ this
+ );
+ };
+ za.css = function () {
+ var t = this,
+ e = arguments;
+ if (e.length === 1)
+ for (var r = e[0], n = 0; n < t.properties.length; n++) {
+ var i = t.properties[n],
+ a = r[i.name];
+ a === void 0 && (a = r[I6(i.name)]), a !== void 0 && this.cssRule(i.name, a);
+ }
+ else e.length === 2 && this.cssRule(e[0], e[1]);
+ return this;
+ };
+ za.style = za.css;
+ za.cssRule = function (t, e) {
+ var r = this.parse(t, e);
+ if (r) {
+ var n = this.length - 1;
+ this[n].properties.push(r),
+ (this[n].properties[r.name] = r),
+ r.name.match(/pie-(\d+)-background-size/) && r.value && (this._private.hasPie = !0),
+ r.mapped && this[n].mappedProperties.push(r);
+ var i = !this[n].selector;
+ i && (this._private.coreStyle[r.name] = r);
+ }
+ return this;
+ };
+ za.append = function (t) {
+ return (
+ Cpe(t) ? t.appendToStyle(this) : vn(t) ? this.appendFromJson(t) : zt(t) && this.appendFromString(t),
+ this
+ );
+ };
+ Ba.fromJson = function (t, e) {
+ var r = new Ba(t);
+ return r.fromJson(e), r;
+ };
+ Ba.fromString = function (t, e) {
+ return new Ba(t).fromString(e);
+ };
+ [Ga, rb, hB, Uc, q6, fB, ka, X6].forEach(function (t) {
+ Wt(za, t);
+ });
+ Ba.types = za.types;
+ Ba.properties = za.properties;
+ Ba.propertyGroups = za.propertyGroups;
+ Ba.propertyGroupNames = za.propertyGroupNames;
+ Ba.propertyGroupKeys = za.propertyGroupKeys;
+ (OKe = {
+ style: o(function (e) {
+ if (e) {
+ var r = this.setStyle(e);
+ r.update();
+ }
+ return this._private.style;
+ }, 'style'),
+ setStyle: o(function (e) {
+ var r = this._private;
+ return (
+ Cpe(e)
+ ? (r.style = e.generateStyle(this))
+ : vn(e)
+ ? (r.style = Ba.fromJson(this, e))
+ : zt(e)
+ ? (r.style = Ba.fromString(this, e))
+ : (r.style = Ba(this)),
+ r.style
+ );
+ }, 'setStyle'),
+ updateStyle: o(function () {
+ this.mutableElements().updateStyle();
+ }, 'updateStyle')
+ }),
+ (PKe = 'single'),
+ (q0 = {
+ autolock: o(function (e) {
+ if (e !== void 0) this._private.autolock = !!e;
+ else return this._private.autolock;
+ return this;
+ }, 'autolock'),
+ autoungrabify: o(function (e) {
+ if (e !== void 0) this._private.autoungrabify = !!e;
+ else return this._private.autoungrabify;
+ return this;
+ }, 'autoungrabify'),
+ autounselectify: o(function (e) {
+ if (e !== void 0) this._private.autounselectify = !!e;
+ else return this._private.autounselectify;
+ return this;
+ }, 'autounselectify'),
+ selectionType: o(function (e) {
+ var r = this._private;
+ if ((r.selectionType == null && (r.selectionType = PKe), e !== void 0))
+ (e === 'additive' || e === 'single') && (r.selectionType = e);
+ else return r.selectionType;
+ return this;
+ }, 'selectionType'),
+ panningEnabled: o(function (e) {
+ if (e !== void 0) this._private.panningEnabled = !!e;
+ else return this._private.panningEnabled;
+ return this;
+ }, 'panningEnabled'),
+ userPanningEnabled: o(function (e) {
+ if (e !== void 0) this._private.userPanningEnabled = !!e;
+ else return this._private.userPanningEnabled;
+ return this;
+ }, 'userPanningEnabled'),
+ zoomingEnabled: o(function (e) {
+ if (e !== void 0) this._private.zoomingEnabled = !!e;
+ else return this._private.zoomingEnabled;
+ return this;
+ }, 'zoomingEnabled'),
+ userZoomingEnabled: o(function (e) {
+ if (e !== void 0) this._private.userZoomingEnabled = !!e;
+ else return this._private.userZoomingEnabled;
+ return this;
+ }, 'userZoomingEnabled'),
+ boxSelectionEnabled: o(function (e) {
+ if (e !== void 0) this._private.boxSelectionEnabled = !!e;
+ else return this._private.boxSelectionEnabled;
+ return this;
+ }, 'boxSelectionEnabled'),
+ pan: o(function () {
+ var e = arguments,
+ r = this._private.pan,
+ n,
+ i,
+ a,
+ s,
+ l;
+ switch (e.length) {
+ case 0:
+ return r;
+ case 1:
+ if (zt(e[0])) return (n = e[0]), r[n];
+ if (Mr(e[0])) {
+ if (!this._private.panningEnabled) return this;
+ (a = e[0]),
+ (s = a.x),
+ (l = a.y),
+ ft(s) && (r.x = s),
+ ft(l) && (r.y = l),
+ this.emit('pan viewport');
+ }
+ break;
+ case 2:
+ if (!this._private.panningEnabled) return this;
+ (n = e[0]),
+ (i = e[1]),
+ (n === 'x' || n === 'y') && ft(i) && (r[n] = i),
+ this.emit('pan viewport');
+ break;
+ }
+ return this.notify('viewport'), this;
+ }, 'pan'),
+ panBy: o(function (e, r) {
+ var n = arguments,
+ i = this._private.pan,
+ a,
+ s,
+ l,
+ u,
+ h;
+ if (!this._private.panningEnabled) return this;
+ switch (n.length) {
+ case 1:
+ Mr(e) &&
+ ((l = n[0]),
+ (u = l.x),
+ (h = l.y),
+ ft(u) && (i.x += u),
+ ft(h) && (i.y += h),
+ this.emit('pan viewport'));
+ break;
+ case 2:
+ (a = e),
+ (s = r),
+ (a === 'x' || a === 'y') && ft(s) && (i[a] += s),
+ this.emit('pan viewport');
+ break;
+ }
+ return this.notify('viewport'), this;
+ }, 'panBy'),
+ fit: o(function (e, r) {
+ var n = this.getFitViewport(e, r);
+ if (n) {
+ var i = this._private;
+ (i.zoom = n.zoom), (i.pan = n.pan), this.emit('pan zoom viewport'), this.notify('viewport');
+ }
+ return this;
+ }, 'fit'),
+ getFitViewport: o(function (e, r) {
+ if (
+ (ft(e) && r === void 0 && ((r = e), (e = void 0)),
+ !(!this._private.panningEnabled || !this._private.zoomingEnabled))
+ ) {
+ var n;
+ if (zt(e)) {
+ var i = e;
+ e = this.$(i);
+ } else if (FHe(e)) {
+ var a = e;
+ (n = { x1: a.x1, y1: a.y1, x2: a.x2, y2: a.y2 }),
+ (n.w = n.x2 - n.x1),
+ (n.h = n.y2 - n.y1);
+ } else xo(e) || (e = this.mutableElements());
+ if (!(xo(e) && e.empty())) {
+ n = n || e.boundingBox();
+ var s = this.width(),
+ l = this.height(),
+ u;
+ if (
+ ((r = ft(r) ? r : 0),
+ !isNaN(s) &&
+ !isNaN(l) &&
+ s > 0 &&
+ l > 0 &&
+ !isNaN(n.w) &&
+ !isNaN(n.h) &&
+ n.w > 0 &&
+ n.h > 0)
+ ) {
+ (u = Math.min((s - 2 * r) / n.w, (l - 2 * r) / n.h)),
+ (u = u > this._private.maxZoom ? this._private.maxZoom : u),
+ (u = u < this._private.minZoom ? this._private.minZoom : u);
+ var h = {
+ x: (s - u * (n.x1 + n.x2)) / 2,
+ y: (l - u * (n.y1 + n.y2)) / 2
+ };
+ return { zoom: u, pan: h };
+ }
+ }
+ }
+ }, 'getFitViewport'),
+ zoomRange: o(function (e, r) {
+ var n = this._private;
+ if (r == null) {
+ var i = e;
+ (e = i.min), (r = i.max);
+ }
+ return (
+ ft(e) && ft(r) && e <= r
+ ? ((n.minZoom = e), (n.maxZoom = r))
+ : ft(e) && r === void 0 && e <= n.maxZoom
+ ? (n.minZoom = e)
+ : ft(r) && e === void 0 && r >= n.minZoom && (n.maxZoom = r),
+ this
+ );
+ }, 'zoomRange'),
+ minZoom: o(function (e) {
+ return e === void 0 ? this._private.minZoom : this.zoomRange({ min: e });
+ }, 'minZoom'),
+ maxZoom: o(function (e) {
+ return e === void 0 ? this._private.maxZoom : this.zoomRange({ max: e });
+ }, 'maxZoom'),
+ getZoomedViewport: o(function (e) {
+ var r = this._private,
+ n = r.pan,
+ i = r.zoom,
+ a,
+ s,
+ l = !1;
+ if (
+ (r.zoomingEnabled || (l = !0),
+ ft(e)
+ ? (s = e)
+ : Mr(e) &&
+ ((s = e.level),
+ e.position != null
+ ? (a = F6(e.position, i, n))
+ : e.renderedPosition != null && (a = e.renderedPosition),
+ a != null && !r.panningEnabled && (l = !0)),
+ (s = s > r.maxZoom ? r.maxZoom : s),
+ (s = s < r.minZoom ? r.minZoom : s),
+ l || !ft(s) || s === i || (a != null && (!ft(a.x) || !ft(a.y))))
+ )
+ return null;
+ if (a != null) {
+ var u = n,
+ h = i,
+ f = s,
+ d = {
+ x: (-f / h) * (a.x - u.x) + a.x,
+ y: (-f / h) * (a.y - u.y) + a.y
+ };
+ return { zoomed: !0, panned: !0, zoom: f, pan: d };
+ } else return { zoomed: !0, panned: !1, zoom: s, pan: n };
+ }, 'getZoomedViewport'),
+ zoom: o(function (e) {
+ if (e === void 0) return this._private.zoom;
+ var r = this.getZoomedViewport(e),
+ n = this._private;
+ return r == null || !r.zoomed
+ ? this
+ : ((n.zoom = r.zoom),
+ r.panned && ((n.pan.x = r.pan.x), (n.pan.y = r.pan.y)),
+ this.emit('zoom' + (r.panned ? ' pan' : '') + ' viewport'),
+ this.notify('viewport'),
+ this);
+ }, 'zoom'),
+ viewport: o(function (e) {
+ var r = this._private,
+ n = !0,
+ i = !0,
+ a = [],
+ s = !1,
+ l = !1;
+ if (!e) return this;
+ if ((ft(e.zoom) || (n = !1), Mr(e.pan) || (i = !1), !n && !i)) return this;
+ if (n) {
+ var u = e.zoom;
+ u < r.minZoom || u > r.maxZoom || !r.zoomingEnabled
+ ? (s = !0)
+ : ((r.zoom = u), a.push('zoom'));
+ }
+ if (i && (!s || !e.cancelOnFailedZoom) && r.panningEnabled) {
+ var h = e.pan;
+ ft(h.x) && ((r.pan.x = h.x), (l = !1)),
+ ft(h.y) && ((r.pan.y = h.y), (l = !1)),
+ l || a.push('pan');
+ }
+ return (
+ a.length > 0 && (a.push('viewport'), this.emit(a.join(' ')), this.notify('viewport')), this
+ );
+ }, 'viewport'),
+ center: o(function (e) {
+ var r = this.getCenterPan(e);
+ return r && ((this._private.pan = r), this.emit('pan viewport'), this.notify('viewport')), this;
+ }, 'center'),
+ getCenterPan: o(function (e, r) {
+ if (this._private.panningEnabled) {
+ if (zt(e)) {
+ var n = e;
+ e = this.mutableElements().filter(n);
+ } else xo(e) || (e = this.mutableElements());
+ if (e.length !== 0) {
+ var i = e.boundingBox(),
+ a = this.width(),
+ s = this.height();
+ r = r === void 0 ? this._private.zoom : r;
+ var l = {
+ x: (a - r * (i.x1 + i.x2)) / 2,
+ y: (s - r * (i.y1 + i.y2)) / 2
+ };
+ return l;
+ }
+ }
+ }, 'getCenterPan'),
+ reset: o(function () {
+ return !this._private.panningEnabled || !this._private.zoomingEnabled
+ ? this
+ : (this.viewport({ pan: { x: 0, y: 0 }, zoom: 1 }), this);
+ }, 'reset'),
+ invalidateSize: o(function () {
+ this._private.sizeCache = null;
+ }, 'invalidateSize'),
+ size: o(function () {
+ var e = this._private,
+ r = e.container,
+ n = this;
+ return (e.sizeCache =
+ e.sizeCache ||
+ (r
+ ? (function () {
+ var i = n.window().getComputedStyle(r),
+ a = o(function (l) {
+ return parseFloat(i.getPropertyValue(l));
+ }, 'val');
+ return {
+ width: r.clientWidth - a('padding-left') - a('padding-right'),
+ height: r.clientHeight - a('padding-top') - a('padding-bottom')
+ };
+ })()
+ : { width: 1, height: 1 }));
+ }, 'size'),
+ width: o(function () {
+ return this.size().width;
+ }, 'width'),
+ height: o(function () {
+ return this.size().height;
+ }, 'height'),
+ extent: o(function () {
+ var e = this._private.pan,
+ r = this._private.zoom,
+ n = this.renderedExtent(),
+ i = {
+ x1: (n.x1 - e.x) / r,
+ x2: (n.x2 - e.x) / r,
+ y1: (n.y1 - e.y) / r,
+ y2: (n.y2 - e.y) / r
+ };
+ return (i.w = i.x2 - i.x1), (i.h = i.y2 - i.y1), i;
+ }, 'extent'),
+ renderedExtent: o(function () {
+ var e = this.width(),
+ r = this.height();
+ return { x1: 0, y1: 0, x2: e, y2: r, w: e, h: r };
+ }, 'renderedExtent'),
+ multiClickDebounceTime: o(function (e) {
+ if (e) this._private.multiClickDebounceTime = e;
+ else return this._private.multiClickDebounceTime;
+ return this;
+ }, 'multiClickDebounceTime')
+ });
+ q0.centre = q0.center;
+ q0.autolockNodes = q0.autolock;
+ q0.autoungrabifyNodes = q0.autoungrabify;
+ jx = {
+ data: en.data({
+ field: 'data',
+ bindingEvent: 'data',
+ allowBinding: !0,
+ allowSetting: !0,
+ settingEvent: 'data',
+ settingTriggersEvent: !0,
+ triggerFnName: 'trigger',
+ allowGetting: !0,
+ updateStyle: !0
+ }),
+ removeData: en.removeData({
+ field: 'data',
+ event: 'data',
+ triggerFnName: 'trigger',
+ triggerEvent: !0,
+ updateStyle: !0
+ }),
+ scratch: en.data({
+ field: 'scratch',
+ bindingEvent: 'scratch',
+ allowBinding: !0,
+ allowSetting: !0,
+ settingEvent: 'scratch',
+ settingTriggersEvent: !0,
+ triggerFnName: 'trigger',
+ allowGetting: !0,
+ updateStyle: !0
+ }),
+ removeScratch: en.removeData({
+ field: 'scratch',
+ event: 'scratch',
+ triggerFnName: 'trigger',
+ triggerEvent: !0,
+ updateStyle: !0
+ })
+ };
+ jx.attr = jx.data;
+ jx.removeAttr = jx.removeData;
+ (Kx = o(function (e) {
+ var r = this;
+ e = Wt({}, e);
+ var n = e.container;
+ n && !k6(n) && k6(n[0]) && (n = n[0]);
+ var i = n ? n._cyreg : null;
+ (i = i || {}), i && i.cy && (i.cy.destroy(), (i = {}));
+ var a = (i.readies = i.readies || []);
+ n && (n._cyreg = i), (i.cy = r);
+ var s = Vi !== void 0 && n !== void 0 && !e.headless,
+ l = e;
+ (l.layout = Wt({ name: s ? 'grid' : 'null' }, l.layout)),
+ (l.renderer = Wt({ name: s ? 'canvas' : 'null' }, l.renderer));
+ var u = o(function (g, y, v) {
+ return y !== void 0 ? y : v !== void 0 ? v : g;
+ }, 'defVal'),
+ h = (this._private = {
+ container: n,
+ ready: !1,
+ options: l,
+ elements: new Ca(this),
+ listeners: [],
+ aniEles: new Ca(this),
+ data: l.data || {},
+ scratch: {},
+ layout: null,
+ renderer: null,
+ destroyed: !1,
+ notificationsEnabled: !0,
+ minZoom: 1e-50,
+ maxZoom: 1e50,
+ zoomingEnabled: u(!0, l.zoomingEnabled),
+ userZoomingEnabled: u(!0, l.userZoomingEnabled),
+ panningEnabled: u(!0, l.panningEnabled),
+ userPanningEnabled: u(!0, l.userPanningEnabled),
+ boxSelectionEnabled: u(!0, l.boxSelectionEnabled),
+ autolock: u(!1, l.autolock, l.autolockNodes),
+ autoungrabify: u(!1, l.autoungrabify, l.autoungrabifyNodes),
+ autounselectify: u(!1, l.autounselectify),
+ styleEnabled: l.styleEnabled === void 0 ? s : l.styleEnabled,
+ zoom: ft(l.zoom) ? l.zoom : 1,
+ pan: {
+ x: Mr(l.pan) && ft(l.pan.x) ? l.pan.x : 0,
+ y: Mr(l.pan) && ft(l.pan.y) ? l.pan.y : 0
+ },
+ animation: { current: [], queue: [] },
+ hasCompoundNodes: !1,
+ multiClickDebounceTime: u(250, l.multiClickDebounceTime)
+ });
+ this.createEmitter(),
+ this.selectionType(l.selectionType),
+ this.zoomRange({ min: l.minZoom, max: l.maxZoom });
+ var f = o(function (g, y) {
+ var v = g.some(zHe);
+ if (v) return u1.all(g).then(y);
+ y(g);
+ }, 'loadExtData');
+ h.styleEnabled && r.setStyle([]);
+ var d = Wt({}, l, l.renderer);
+ r.initRenderer(d);
+ var p = o(function (g, y, v) {
+ r.notifications(!1);
+ var x = r.mutableElements();
+ x.length > 0 && x.remove(),
+ g != null && (Mr(g) || vn(g)) && r.add(g),
+ r
+ .one('layoutready', function (w) {
+ r.notifications(!0), r.emit(w), r.one('load', y), r.emitAndNotify('load');
+ })
+ .one('layoutstop', function () {
+ r.one('done', v), r.emit('done');
+ });
+ var b = Wt({}, r._private.options.layout);
+ (b.eles = r.elements()), r.layout(b).run();
+ }, 'setElesAndLayout');
+ f([l.style, l.elements], function (m) {
+ var g = m[0],
+ y = m[1];
+ h.styleEnabled && r.style().append(g),
+ p(
+ y,
+ function () {
+ r.startAnimationLoop(), (h.ready = !0), jn(l.ready) && r.on('ready', l.ready);
+ for (var v = 0; v < a.length; v++) {
+ var x = a[v];
+ r.on('ready', x);
+ }
+ i && (i.readies = []), r.emit('ready');
+ },
+ l.done
+ );
+ });
+ }, 'Core')),
+ (D6 = Kx.prototype);
+ Wt(D6, {
+ instanceString: o(function () {
+ return 'core';
+ }, 'instanceString'),
+ isReady: o(function () {
+ return this._private.ready;
+ }, 'isReady'),
+ destroyed: o(function () {
+ return this._private.destroyed;
+ }, 'destroyed'),
+ ready: o(function (e) {
+ return this.isReady() ? this.emitter().emit('ready', [], e) : this.on('ready', e), this;
+ }, 'ready'),
+ destroy: o(function () {
+ var e = this;
+ if (!e.destroyed())
+ return (
+ e.stopAnimationLoop(),
+ e.destroyRenderer(),
+ this.emit('destroy'),
+ (e._private.destroyed = !0),
+ e
+ );
+ }, 'destroy'),
+ hasElementWithId: o(function (e) {
+ return this._private.elements.hasElementWithId(e);
+ }, 'hasElementWithId'),
+ getElementById: o(function (e) {
+ return this._private.elements.getElementById(e);
+ }, 'getElementById'),
+ hasCompoundNodes: o(function () {
+ return this._private.hasCompoundNodes;
+ }, 'hasCompoundNodes'),
+ headless: o(function () {
+ return this._private.renderer.isHeadless();
+ }, 'headless'),
+ styleEnabled: o(function () {
+ return this._private.styleEnabled;
+ }, 'styleEnabled'),
+ addToPool: o(function (e) {
+ return this._private.elements.merge(e), this;
+ }, 'addToPool'),
+ removeFromPool: o(function (e) {
+ return this._private.elements.unmerge(e), this;
+ }, 'removeFromPool'),
+ container: o(function () {
+ return this._private.container || null;
+ }, 'container'),
+ window: o(function () {
+ var e = this._private.container;
+ if (e == null) return Vi;
+ var r = this._private.container.ownerDocument;
+ return r === void 0 || r == null ? Vi : r.defaultView || Vi;
+ }, 'window'),
+ mount: o(function (e) {
+ if (e != null) {
+ var r = this,
+ n = r._private,
+ i = n.options;
+ return (
+ !k6(e) && k6(e[0]) && (e = e[0]),
+ r.stopAnimationLoop(),
+ r.destroyRenderer(),
+ (n.container = e),
+ (n.styleEnabled = !0),
+ r.invalidateSize(),
+ r.initRenderer(
+ Wt({}, i, i.renderer, {
+ name: i.renderer.name === 'null' ? 'canvas' : i.renderer.name
+ })
+ ),
+ r.startAnimationLoop(),
+ r.style(i.style),
+ r.emit('mount'),
+ r
+ );
+ }
+ }, 'mount'),
+ unmount: o(function () {
+ var e = this;
+ return (
+ e.stopAnimationLoop(),
+ e.destroyRenderer(),
+ e.initRenderer({ name: 'null' }),
+ e.emit('unmount'),
+ e
+ );
+ }, 'unmount'),
+ options: o(function () {
+ return $c(this._private.options);
+ }, 'options'),
+ json: o(function (e) {
+ var r = this,
+ n = r._private,
+ i = r.mutableElements(),
+ a = o(function (S) {
+ return r.getElementById(S.id());
+ }, 'getFreshRef');
+ if (Mr(e)) {
+ if ((r.startBatch(), e.elements)) {
+ var s = {},
+ l = o(function (S, T) {
+ for (var E = [], _ = [], A = 0; A < S.length; A++) {
+ var L = S[A];
+ if (!L.data.id) {
+ tn('cy.json() cannot handle elements without an ID attribute');
+ continue;
+ }
+ var M = '' + L.data.id,
+ N = r.getElementById(M);
+ (s[M] = !0),
+ N.length !== 0
+ ? _.push({ ele: N, json: L })
+ : (T && (L.group = T), E.push(L));
+ }
+ r.add(E);
+ for (var k = 0; k < _.length; k++) {
+ var I = _[k],
+ C = I.ele,
+ O = I.json;
+ C.json(O);
+ }
+ }, 'updateEles');
+ if (vn(e.elements)) l(e.elements);
+ else
+ for (var u = ['nodes', 'edges'], h = 0; h < u.length; h++) {
+ var f = u[h],
+ d = e.elements[f];
+ vn(d) && l(d, f);
+ }
+ var p = r.collection();
+ i
+ .filter(function (w) {
+ return !s[w.id()];
+ })
+ .forEach(function (w) {
+ w.isParent() ? p.merge(w) : w.remove();
+ }),
+ p.forEach(function (w) {
+ return w.children().move({ parent: null });
+ }),
+ p.forEach(function (w) {
+ return a(w).remove();
+ });
+ }
+ e.style && r.style(e.style),
+ e.zoom != null && e.zoom !== n.zoom && r.zoom(e.zoom),
+ e.pan && (e.pan.x !== n.pan.x || e.pan.y !== n.pan.y) && r.pan(e.pan),
+ e.data && r.data(e.data);
+ for (
+ var m = [
+ 'minZoom',
+ 'maxZoom',
+ 'zoomingEnabled',
+ 'userZoomingEnabled',
+ 'panningEnabled',
+ 'userPanningEnabled',
+ 'boxSelectionEnabled',
+ 'autolock',
+ 'autoungrabify',
+ 'autounselectify',
+ 'multiClickDebounceTime'
+ ],
+ g = 0;
+ g < m.length;
+ g++
+ ) {
+ var y = m[g];
+ e[y] != null && r[y](e[y]);
+ }
+ return r.endBatch(), this;
+ } else {
+ var v = !!e,
+ x = {};
+ v
+ ? (x.elements = this.elements().map(function (w) {
+ return w.json();
+ }))
+ : ((x.elements = {}),
+ i.forEach(function (w) {
+ var S = w.group();
+ x.elements[S] || (x.elements[S] = []), x.elements[S].push(w.json());
+ })),
+ this._private.styleEnabled && (x.style = r.style().json()),
+ (x.data = $c(r.data()));
+ var b = n.options;
+ return (
+ (x.zoomingEnabled = n.zoomingEnabled),
+ (x.userZoomingEnabled = n.userZoomingEnabled),
+ (x.zoom = n.zoom),
+ (x.minZoom = n.minZoom),
+ (x.maxZoom = n.maxZoom),
+ (x.panningEnabled = n.panningEnabled),
+ (x.userPanningEnabled = n.userPanningEnabled),
+ (x.pan = $c(n.pan)),
+ (x.boxSelectionEnabled = n.boxSelectionEnabled),
+ (x.renderer = $c(b.renderer)),
+ (x.hideEdgesOnViewport = b.hideEdgesOnViewport),
+ (x.textureOnViewport = b.textureOnViewport),
+ (x.wheelSensitivity = b.wheelSensitivity),
+ (x.motionBlur = b.motionBlur),
+ (x.multiClickDebounceTime = b.multiClickDebounceTime),
+ x
+ );
+ }
+ }, 'json')
+ });
+ D6.$id = D6.getElementById;
+ [CKe, DKe, Sme, FP, x6, NKe, zP, b6, OKe, q0, jx].forEach(function (t) {
+ Wt(D6, t);
+ });
+ (BKe = {
+ fit: !0,
+ directed: !1,
+ padding: 30,
+ circle: !1,
+ grid: !1,
+ spacingFactor: 1.75,
+ boundingBox: void 0,
+ avoidOverlap: !0,
+ nodeDimensionsIncludeLabels: !1,
+ roots: void 0,
+ depthSort: void 0,
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ }),
+ (FKe = { maximal: !1, acyclic: !1 }),
+ (Kg = o(function (e) {
+ return e.scratch('breadthfirst');
+ }, 'getInfo')),
+ (epe = o(function (e, r) {
+ return e.scratch('breadthfirst', r);
+ }, 'setInfo'));
+ o(Ame, 'BreadthFirstLayout');
+ Ame.prototype.run = function () {
+ var t = this.options,
+ e = t,
+ r = t.cy,
+ n = e.eles,
+ i = n.nodes().filter(function (ue) {
+ return !ue.isParent();
+ }),
+ a = n,
+ s = e.directed,
+ l = e.acyclic || e.maximal || e.maximalAdjustments > 0,
+ u = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }),
+ h;
+ if (xo(e.roots)) h = e.roots;
+ else if (vn(e.roots)) {
+ for (var f = [], d = 0; d < e.roots.length; d++) {
+ var p = e.roots[d],
+ m = r.getElementById(p);
+ f.push(m);
+ }
+ h = r.collection(f);
+ } else if (zt(e.roots)) h = r.$(e.roots);
+ else if (s) h = i.roots();
+ else {
+ var g = n.components();
+ h = r.collection();
+ for (
+ var y = o(function (te) {
+ var De = g[te],
+ oe = De.maxDegree(!1),
+ ke = De.filter(function (Ie) {
+ return Ie.degree(!1) === oe;
+ });
+ h = h.add(ke);
+ }, '_loop'),
+ v = 0;
+ v < g.length;
+ v++
+ )
+ y(v);
+ }
+ var x = [],
+ b = {},
+ w = o(function (te, De) {
+ x[De] == null && (x[De] = []);
+ var oe = x[De].length;
+ x[De].push(te), epe(te, { index: oe, depth: De });
+ }, 'addToDepth'),
+ S = o(function (te, De) {
+ var oe = Kg(te),
+ ke = oe.depth,
+ Ie = oe.index;
+ (x[ke][Ie] = null), w(te, De);
+ }, 'changeDepth');
+ a.bfs({
+ roots: h,
+ directed: e.directed,
+ visit: o(function (te, De, oe, ke, Ie) {
+ var Se = te[0],
+ Ue = Se.id();
+ w(Se, Ie), (b[Ue] = !0);
+ }, 'visit')
+ });
+ for (var T = [], E = 0; E < i.length; E++) {
+ var _ = i[E];
+ b[_.id()] || T.push(_);
+ }
+ var A = o(function (te) {
+ for (var De = x[te], oe = 0; oe < De.length; oe++) {
+ var ke = De[oe];
+ if (ke == null) {
+ De.splice(oe, 1), oe--;
+ continue;
+ }
+ epe(ke, { depth: te, index: oe });
+ }
+ }, 'assignDepthsAt'),
+ L = o(function () {
+ for (var te = 0; te < x.length; te++) A(te);
+ }, 'assignDepths'),
+ M = o(function (te, De) {
+ for (
+ var oe = Kg(te),
+ ke = te.incomers().filter(function (W) {
+ return W.isNode() && n.has(W);
+ }),
+ Ie = -1,
+ Se = te.id(),
+ Ue = 0;
+ Ue < ke.length;
+ Ue++
+ ) {
+ var Pe = ke[Ue],
+ _e = Kg(Pe);
+ Ie = Math.max(Ie, _e.depth);
+ }
+ if (oe.depth <= Ie) {
+ if (!e.acyclic && De[Se]) return null;
+ var me = Ie + 1;
+ return S(te, me), (De[Se] = me), !0;
+ }
+ return !1;
+ }, 'adjustMaximally');
+ if (s && l) {
+ var N = [],
+ k = {},
+ I = o(function (te) {
+ return N.push(te);
+ }, 'enqueue'),
+ C = o(function () {
+ return N.shift();
+ }, 'dequeue');
+ for (
+ i.forEach(function (ue) {
+ return N.push(ue);
+ });
+ N.length > 0;
+
+ ) {
+ var O = C(),
+ D = M(O, k);
+ if (D)
+ O.outgoers()
+ .filter(function (ue) {
+ return ue.isNode() && n.has(ue);
+ })
+ .forEach(I);
+ else if (D === null) {
+ tn(
+ 'Detected double maximal shift for node `' +
+ O.id() +
+ '`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.'
+ );
+ break;
+ }
+ }
+ }
+ L();
+ var P = 0;
+ if (e.avoidOverlap)
+ for (var F = 0; F < i.length; F++) {
+ var B = i[F],
+ $ = B.layoutDimensions(e),
+ z = $.w,
+ Y = $.h;
+ P = Math.max(P, z, Y);
+ }
+ var Q = {},
+ X = o(function (te) {
+ if (Q[te.id()]) return Q[te.id()];
+ for (
+ var De = Kg(te).depth, oe = te.neighborhood(), ke = 0, Ie = 0, Se = 0;
+ Se < oe.length;
+ Se++
+ ) {
+ var Ue = oe[Se];
+ if (!(Ue.isEdge() || Ue.isParent() || !i.has(Ue))) {
+ var Pe = Kg(Ue);
+ if (Pe != null) {
+ var _e = Pe.index,
+ me = Pe.depth;
+ if (!(_e == null || me == null)) {
+ var W = x[me].length;
+ me < De && ((ke += _e / W), Ie++);
+ }
+ }
+ }
+ }
+ return (Ie = Math.max(1, Ie)), (ke = ke / Ie), Ie === 0 && (ke = 0), (Q[te.id()] = ke), ke;
+ }, 'getWeightedPercent'),
+ ie = o(function (te, De) {
+ var oe = X(te),
+ ke = X(De),
+ Ie = oe - ke;
+ return Ie === 0 ? Ape(te.id(), De.id()) : Ie;
+ }, 'sortFn');
+ e.depthSort !== void 0 && (ie = e.depthSort);
+ for (var j = 0; j < x.length; j++) x[j].sort(ie), A(j);
+ for (var J = [], Z = 0; Z < T.length; Z++) J.push(T[Z]);
+ x.unshift(J), L();
+ for (var H = 0, q = 0; q < x.length; q++) H = Math.max(x[q].length, H);
+ var K = { x: u.x1 + u.w / 2, y: u.x1 + u.h / 2 },
+ se = x.reduce(function (ue, te) {
+ return Math.max(ue, te.length);
+ }, 0),
+ ce = o(function (te) {
+ var De = Kg(te),
+ oe = De.depth,
+ ke = De.index,
+ Ie = x[oe].length,
+ Se = Math.max(u.w / ((e.grid ? se : Ie) + 1), P),
+ Ue = Math.max(u.h / (x.length + 1), P),
+ Pe = Math.min(u.w / 2 / x.length, u.h / 2 / x.length);
+ if (((Pe = Math.max(Pe, P)), e.circle)) {
+ var me = Pe * oe + Pe - (x.length > 0 && x[0].length <= 3 ? Pe / 2 : 0),
+ W = ((2 * Math.PI) / x[oe].length) * ke;
+ return (
+ oe === 0 && x[0].length === 1 && (me = 1),
+ { x: K.x + me * Math.cos(W), y: K.y + me * Math.sin(W) }
+ );
+ } else {
+ var _e = {
+ x: K.x + (ke + 1 - (Ie + 1) / 2) * Se,
+ y: (oe + 1) * Ue
+ };
+ return _e;
+ }
+ }, 'getPosition');
+ return n.nodes().layoutPositions(this, e, ce), this;
+ };
+ zKe = {
+ fit: !0,
+ padding: 30,
+ boundingBox: void 0,
+ avoidOverlap: !0,
+ nodeDimensionsIncludeLabels: !1,
+ spacingFactor: void 0,
+ radius: void 0,
+ startAngle: (3 / 2) * Math.PI,
+ sweep: void 0,
+ clockwise: !0,
+ sort: void 0,
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ };
+ o(_me, 'CircleLayout');
+ _me.prototype.run = function () {
+ var t = this.options,
+ e = t,
+ r = t.cy,
+ n = e.eles,
+ i = e.counterclockwise !== void 0 ? !e.counterclockwise : e.clockwise,
+ a = n.nodes().not(':parent');
+ e.sort && (a = a.sort(e.sort));
+ for (
+ var s = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }),
+ l = { x: s.x1 + s.w / 2, y: s.y1 + s.h / 2 },
+ u = e.sweep === void 0 ? 2 * Math.PI - (2 * Math.PI) / a.length : e.sweep,
+ h = u / Math.max(1, a.length - 1),
+ f,
+ d = 0,
+ p = 0;
+ p < a.length;
+ p++
+ ) {
+ var m = a[p],
+ g = m.layoutDimensions(e),
+ y = g.w,
+ v = g.h;
+ d = Math.max(d, y, v);
+ }
+ if (
+ (ft(e.radius) ? (f = e.radius) : a.length <= 1 ? (f = 0) : (f = Math.min(s.h, s.w) / 2 - d),
+ a.length > 1 && e.avoidOverlap)
+ ) {
+ d *= 1.75;
+ var x = Math.cos(h) - Math.cos(0),
+ b = Math.sin(h) - Math.sin(0),
+ w = Math.sqrt((d * d) / (x * x + b * b));
+ f = Math.max(w, f);
+ }
+ var S = o(function (E, _) {
+ var A = e.startAngle + _ * h * (i ? 1 : -1),
+ L = f * Math.cos(A),
+ M = f * Math.sin(A),
+ N = { x: l.x + L, y: l.y + M };
+ return N;
+ }, 'getPos');
+ return n.nodes().layoutPositions(this, e, S), this;
+ };
+ GKe = {
+ fit: !0,
+ padding: 30,
+ startAngle: (3 / 2) * Math.PI,
+ sweep: void 0,
+ clockwise: !0,
+ equidistant: !1,
+ minNodeSpacing: 10,
+ boundingBox: void 0,
+ avoidOverlap: !0,
+ nodeDimensionsIncludeLabels: !1,
+ height: void 0,
+ width: void 0,
+ spacingFactor: void 0,
+ concentric: o(function (e) {
+ return e.degree();
+ }, 'concentric'),
+ levelWidth: o(function (e) {
+ return e.maxDegree() / 4;
+ }, 'levelWidth'),
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ };
+ o(Lme, 'ConcentricLayout');
+ Lme.prototype.run = function () {
+ for (
+ var t = this.options,
+ e = t,
+ r = e.counterclockwise !== void 0 ? !e.counterclockwise : e.clockwise,
+ n = t.cy,
+ i = e.eles,
+ a = i.nodes().not(':parent'),
+ s = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: n.width(), h: n.height() }),
+ l = { x: s.x1 + s.w / 2, y: s.y1 + s.h / 2 },
+ u = [],
+ h = 0,
+ f = 0;
+ f < a.length;
+ f++
+ ) {
+ var d = a[f],
+ p = void 0;
+ (p = e.concentric(d)), u.push({ value: p, node: d }), (d._private.scratch.concentric = p);
+ }
+ a.updateStyle();
+ for (var m = 0; m < a.length; m++) {
+ var g = a[m],
+ y = g.layoutDimensions(e);
+ h = Math.max(h, y.w, y.h);
+ }
+ u.sort(function (ue, te) {
+ return te.value - ue.value;
+ });
+ for (var v = e.levelWidth(a), x = [[]], b = x[0], w = 0; w < u.length; w++) {
+ var S = u[w];
+ if (b.length > 0) {
+ var T = Math.abs(b[0].value - S.value);
+ T >= v && ((b = []), x.push(b));
+ }
+ b.push(S);
+ }
+ var E = h + e.minNodeSpacing;
+ if (!e.avoidOverlap) {
+ var _ = x.length > 0 && x[0].length > 1,
+ A = Math.min(s.w, s.h) / 2 - E,
+ L = A / (x.length + _ ? 1 : 0);
+ E = Math.min(E, L);
+ }
+ for (var M = 0, N = 0; N < x.length; N++) {
+ var k = x[N],
+ I = e.sweep === void 0 ? 2 * Math.PI - (2 * Math.PI) / k.length : e.sweep,
+ C = (k.dTheta = I / Math.max(1, k.length - 1));
+ if (k.length > 1 && e.avoidOverlap) {
+ var O = Math.cos(C) - Math.cos(0),
+ D = Math.sin(C) - Math.sin(0),
+ P = Math.sqrt((E * E) / (O * O + D * D));
+ M = Math.max(P, M);
+ }
+ (k.r = M), (M += E);
+ }
+ if (e.equidistant) {
+ for (var F = 0, B = 0, $ = 0; $ < x.length; $++) {
+ var z = x[$],
+ Y = z.r - B;
+ F = Math.max(F, Y);
+ }
+ B = 0;
+ for (var Q = 0; Q < x.length; Q++) {
+ var X = x[Q];
+ Q === 0 && (B = X.r), (X.r = B), (B += F);
+ }
+ }
+ for (var ie = {}, j = 0; j < x.length; j++)
+ for (var J = x[j], Z = J.dTheta, H = J.r, q = 0; q < J.length; q++) {
+ var K = J[q],
+ se = e.startAngle + (r ? 1 : -1) * Z * q,
+ ce = { x: l.x + H * Math.cos(se), y: l.y + H * Math.sin(se) };
+ ie[K.node.id()] = ce;
+ }
+ return (
+ i.nodes().layoutPositions(this, e, function (ue) {
+ var te = ue.id();
+ return ie[te];
+ }),
+ this
+ );
+ };
+ $Ke = {
+ ready: o(function () {}, 'ready'),
+ stop: o(function () {}, 'stop'),
+ animate: !0,
+ animationEasing: void 0,
+ animationDuration: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ animationThreshold: 250,
+ refresh: 20,
+ fit: !0,
+ padding: 30,
+ boundingBox: void 0,
+ nodeDimensionsIncludeLabels: !1,
+ randomize: !1,
+ componentSpacing: 40,
+ nodeRepulsion: o(function (e) {
+ return 2048;
+ }, 'nodeRepulsion'),
+ nodeOverlap: 4,
+ idealEdgeLength: o(function (e) {
+ return 32;
+ }, 'idealEdgeLength'),
+ edgeElasticity: o(function (e) {
+ return 32;
+ }, 'edgeElasticity'),
+ nestingFactor: 1.2,
+ gravity: 1,
+ numIter: 1e3,
+ initialTemp: 1e3,
+ coolingFactor: 0.99,
+ minTemp: 1
+ };
+ o(j6, 'CoseLayout');
+ j6.prototype.run = function () {
+ var t = this.options,
+ e = t.cy,
+ r = this;
+ (r.stopped = !1),
+ (t.animate === !0 || t.animate === !1) && r.emit({ type: 'layoutstart', layout: r }),
+ t.debug === !0 ? (_P = !0) : (_P = !1);
+ var n = VKe(e, r, t);
+ _P && YKe(n), t.randomize && WKe(n);
+ var i = Ku(),
+ a = o(function () {
+ qKe(n, e, t), t.fit === !0 && e.fit(t.padding);
+ }, 'refresh'),
+ s = o(function (p) {
+ return !(
+ r.stopped ||
+ p >= t.numIter ||
+ (XKe(n, t), (n.temperature = n.temperature * t.coolingFactor), n.temperature < t.minTemp)
+ );
+ }, 'mainLoop'),
+ l = o(function () {
+ if (t.animate === !0 || t.animate === !1)
+ a(), r.one('layoutstop', t.stop), r.emit({ type: 'layoutstop', layout: r });
+ else {
+ var p = t.eles.nodes(),
+ m = Dme(n, t, p);
+ p.layoutPositions(r, t, m);
+ }
+ }, 'done'),
+ u = 0,
+ h = !0;
+ if (t.animate === !0) {
+ var f = o(function d() {
+ for (var p = 0; h && p < t.refresh; ) (h = s(u)), u++, p++;
+ if (!h) rpe(n, t), l();
+ else {
+ var m = Ku();
+ m - i >= t.animationThreshold && a(), E6(d);
+ }
+ }, 'frame');
+ f();
+ } else {
+ for (; h; ) (h = s(u)), u++;
+ rpe(n, t), l();
+ }
+ return this;
+ };
+ j6.prototype.stop = function () {
+ return (this.stopped = !0), this.thread && this.thread.stop(), this.emit('layoutstop'), this;
+ };
+ j6.prototype.destroy = function () {
+ return this.thread && this.thread.stop(), this;
+ };
+ (VKe = o(function (e, r, n) {
+ for (
+ var i = n.eles.edges(),
+ a = n.eles.nodes(),
+ s = Gs(n.boundingBox ? n.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }),
+ l = {
+ isCompound: e.hasCompoundNodes(),
+ layoutNodes: [],
+ idToIndex: {},
+ nodeSize: a.size(),
+ graphSet: [],
+ indexToGraph: [],
+ layoutEdges: [],
+ edgeSize: i.size(),
+ temperature: n.initialTemp,
+ clientWidth: s.w,
+ clientHeight: s.h,
+ boundingBox: s
+ },
+ u = n.eles.components(),
+ h = {},
+ f = 0;
+ f < u.length;
+ f++
+ )
+ for (var d = u[f], p = 0; p < d.length; p++) {
+ var m = d[p];
+ h[m.id()] = f;
+ }
+ for (var f = 0; f < l.nodeSize; f++) {
+ var g = a[f],
+ y = g.layoutDimensions(n),
+ v = {};
+ (v.isLocked = g.locked()),
+ (v.id = g.data('id')),
+ (v.parentId = g.data('parent')),
+ (v.cmptId = h[g.id()]),
+ (v.children = []),
+ (v.positionX = g.position('x')),
+ (v.positionY = g.position('y')),
+ (v.offsetX = 0),
+ (v.offsetY = 0),
+ (v.height = y.w),
+ (v.width = y.h),
+ (v.maxX = v.positionX + v.width / 2),
+ (v.minX = v.positionX - v.width / 2),
+ (v.maxY = v.positionY + v.height / 2),
+ (v.minY = v.positionY - v.height / 2),
+ (v.padLeft = parseFloat(g.style('padding'))),
+ (v.padRight = parseFloat(g.style('padding'))),
+ (v.padTop = parseFloat(g.style('padding'))),
+ (v.padBottom = parseFloat(g.style('padding'))),
+ (v.nodeRepulsion = jn(n.nodeRepulsion) ? n.nodeRepulsion(g) : n.nodeRepulsion),
+ l.layoutNodes.push(v),
+ (l.idToIndex[v.id] = f);
+ }
+ for (var x = [], b = 0, w = -1, S = [], f = 0; f < l.nodeSize; f++) {
+ var g = l.layoutNodes[f],
+ T = g.parentId;
+ T != null ? l.layoutNodes[l.idToIndex[T]].children.push(g.id) : ((x[++w] = g.id), S.push(g.id));
+ }
+ for (l.graphSet.push(S); b <= w; ) {
+ var E = x[b++],
+ _ = l.idToIndex[E],
+ m = l.layoutNodes[_],
+ A = m.children;
+ if (A.length > 0) {
+ l.graphSet.push(A);
+ for (var f = 0; f < A.length; f++) x[++w] = A[f];
+ }
+ }
+ for (var f = 0; f < l.graphSet.length; f++)
+ for (var L = l.graphSet[f], p = 0; p < L.length; p++) {
+ var M = l.idToIndex[L[p]];
+ l.indexToGraph[M] = f;
+ }
+ for (var f = 0; f < l.edgeSize; f++) {
+ var N = i[f],
+ k = {};
+ (k.id = N.data('id')), (k.sourceId = N.data('source')), (k.targetId = N.data('target'));
+ var I = jn(n.idealEdgeLength) ? n.idealEdgeLength(N) : n.idealEdgeLength,
+ C = jn(n.edgeElasticity) ? n.edgeElasticity(N) : n.edgeElasticity,
+ O = l.idToIndex[k.sourceId],
+ D = l.idToIndex[k.targetId],
+ P = l.indexToGraph[O],
+ F = l.indexToGraph[D];
+ if (P != F) {
+ for (
+ var B = UKe(k.sourceId, k.targetId, l), $ = l.graphSet[B], z = 0, v = l.layoutNodes[O];
+ $.indexOf(v.id) === -1;
+
+ )
+ (v = l.layoutNodes[l.idToIndex[v.parentId]]), z++;
+ for (v = l.layoutNodes[D]; $.indexOf(v.id) === -1; )
+ (v = l.layoutNodes[l.idToIndex[v.parentId]]), z++;
+ I *= z * n.nestingFactor;
+ }
+ (k.idealLength = I), (k.elasticity = C), l.layoutEdges.push(k);
+ }
+ return l;
+ }, 'createLayoutInfo')),
+ (UKe = o(function (e, r, n) {
+ var i = HKe(e, r, 0, n);
+ return 2 > i.count ? 0 : i.graph;
+ }, 'findLCA')),
+ (HKe = o(function t(e, r, n, i) {
+ var a = i.graphSet[n];
+ if (-1 < a.indexOf(e) && -1 < a.indexOf(r)) return { count: 2, graph: n };
+ for (var s = 0, l = 0; l < a.length; l++) {
+ var u = a[l],
+ h = i.idToIndex[u],
+ f = i.layoutNodes[h].children;
+ if (f.length !== 0) {
+ var d = i.indexToGraph[i.idToIndex[f[0]]],
+ p = t(e, r, d, i);
+ if (p.count !== 0)
+ if (p.count === 1) {
+ if ((s++, s === 2)) break;
+ } else return p;
+ }
+ }
+ return { count: s, graph: n };
+ }, 'findLCA_aux')),
+ (WKe = o(function (e, r) {
+ for (var n = e.clientWidth, i = e.clientHeight, a = 0; a < e.nodeSize; a++) {
+ var s = e.layoutNodes[a];
+ s.children.length === 0 &&
+ !s.isLocked &&
+ ((s.positionX = Math.random() * n), (s.positionY = Math.random() * i));
+ }
+ }, 'randomizePositions')),
+ (Dme = o(function (e, r, n) {
+ var i = e.boundingBox,
+ a = { x1: 1 / 0, x2: -1 / 0, y1: 1 / 0, y2: -1 / 0 };
+ return (
+ r.boundingBox &&
+ (n.forEach(function (s) {
+ var l = e.layoutNodes[e.idToIndex[s.data('id')]];
+ (a.x1 = Math.min(a.x1, l.positionX)),
+ (a.x2 = Math.max(a.x2, l.positionX)),
+ (a.y1 = Math.min(a.y1, l.positionY)),
+ (a.y2 = Math.max(a.y2, l.positionY));
+ }),
+ (a.w = a.x2 - a.x1),
+ (a.h = a.y2 - a.y1)),
+ function (s, l) {
+ var u = e.layoutNodes[e.idToIndex[s.data('id')]];
+ if (r.boundingBox) {
+ var h = (u.positionX - a.x1) / a.w,
+ f = (u.positionY - a.y1) / a.h;
+ return { x: i.x1 + h * i.w, y: i.y1 + f * i.h };
+ } else return { x: u.positionX, y: u.positionY };
+ }
+ );
+ }, 'getScaleInBoundsFn')),
+ (qKe = o(function (e, r, n) {
+ var i = n.layout,
+ a = n.eles.nodes(),
+ s = Dme(e, n, a);
+ a.positions(s),
+ e.ready !== !0 &&
+ ((e.ready = !0),
+ i.one('layoutready', n.ready),
+ i.emit({ type: 'layoutready', layout: this }));
+ }, 'refreshPositions')),
+ (XKe = o(function (e, r, n) {
+ jKe(e, r), ZKe(e), JKe(e, r), eQe(e), tQe(e);
+ }, 'step')),
+ (jKe = o(function (e, r) {
+ for (var n = 0; n < e.graphSet.length; n++)
+ for (var i = e.graphSet[n], a = i.length, s = 0; s < a; s++)
+ for (var l = e.layoutNodes[e.idToIndex[i[s]]], u = s + 1; u < a; u++) {
+ var h = e.layoutNodes[e.idToIndex[i[u]]];
+ KKe(l, h, e, r);
+ }
+ }, 'calculateNodeForces')),
+ (tpe = o(function (e) {
+ return -e + 2 * e * Math.random();
+ }, 'randomDistance')),
+ (KKe = o(function (e, r, n, i) {
+ var a = e.cmptId,
+ s = r.cmptId;
+ if (!(a !== s && !n.isCompound)) {
+ var l = r.positionX - e.positionX,
+ u = r.positionY - e.positionY,
+ h = 1;
+ l === 0 && u === 0 && ((l = tpe(h)), (u = tpe(h)));
+ var f = QKe(e, r, l, u);
+ if (f > 0)
+ var d = i.nodeOverlap * f,
+ p = Math.sqrt(l * l + u * u),
+ m = (d * l) / p,
+ g = (d * u) / p;
+ else
+ var y = R6(e, l, u),
+ v = R6(r, -1 * l, -1 * u),
+ x = v.x - y.x,
+ b = v.y - y.y,
+ w = x * x + b * b,
+ p = Math.sqrt(w),
+ d = (e.nodeRepulsion + r.nodeRepulsion) / w,
+ m = (d * x) / p,
+ g = (d * b) / p;
+ e.isLocked || ((e.offsetX -= m), (e.offsetY -= g)),
+ r.isLocked || ((r.offsetX += m), (r.offsetY += g));
+ }
+ }, 'nodeRepulsion')),
+ (QKe = o(function (e, r, n, i) {
+ if (n > 0) var a = e.maxX - r.minX;
+ else var a = r.maxX - e.minX;
+ if (i > 0) var s = e.maxY - r.minY;
+ else var s = r.maxY - e.minY;
+ return a >= 0 && s >= 0 ? Math.sqrt(a * a + s * s) : 0;
+ }, 'nodesOverlap')),
+ (R6 = o(function (e, r, n) {
+ var i = e.positionX,
+ a = e.positionY,
+ s = e.height || 1,
+ l = e.width || 1,
+ u = n / r,
+ h = s / l,
+ f = {};
+ return (r === 0 && 0 < n) || (r === 0 && 0 > n)
+ ? ((f.x = i), (f.y = a + s / 2), f)
+ : 0 < r && -1 * h <= u && u <= h
+ ? ((f.x = i + l / 2), (f.y = a + (l * n) / 2 / r), f)
+ : 0 > r && -1 * h <= u && u <= h
+ ? ((f.x = i - l / 2), (f.y = a - (l * n) / 2 / r), f)
+ : 0 < n && (u <= -1 * h || u >= h)
+ ? ((f.x = i + (s * r) / 2 / n), (f.y = a + s / 2), f)
+ : (0 > n && (u <= -1 * h || u >= h) && ((f.x = i - (s * r) / 2 / n), (f.y = a - s / 2)), f);
+ }, 'findClippingPoint')),
+ (ZKe = o(function (e, r) {
+ for (var n = 0; n < e.edgeSize; n++) {
+ var i = e.layoutEdges[n],
+ a = e.idToIndex[i.sourceId],
+ s = e.layoutNodes[a],
+ l = e.idToIndex[i.targetId],
+ u = e.layoutNodes[l],
+ h = u.positionX - s.positionX,
+ f = u.positionY - s.positionY;
+ if (!(h === 0 && f === 0)) {
+ var d = R6(s, h, f),
+ p = R6(u, -1 * h, -1 * f),
+ m = p.x - d.x,
+ g = p.y - d.y,
+ y = Math.sqrt(m * m + g * g),
+ v = Math.pow(i.idealLength - y, 2) / i.elasticity;
+ if (y !== 0)
+ var x = (v * m) / y,
+ b = (v * g) / y;
+ else
+ var x = 0,
+ b = 0;
+ s.isLocked || ((s.offsetX += x), (s.offsetY += b)),
+ u.isLocked || ((u.offsetX -= x), (u.offsetY -= b));
+ }
+ }
+ }, 'calculateEdgeForces')),
+ (JKe = o(function (e, r) {
+ if (r.gravity !== 0)
+ for (var n = 1, i = 0; i < e.graphSet.length; i++) {
+ var a = e.graphSet[i],
+ s = a.length;
+ if (i === 0)
+ var l = e.clientHeight / 2,
+ u = e.clientWidth / 2;
+ else
+ var h = e.layoutNodes[e.idToIndex[a[0]]],
+ f = e.layoutNodes[e.idToIndex[h.parentId]],
+ l = f.positionX,
+ u = f.positionY;
+ for (var d = 0; d < s; d++) {
+ var p = e.layoutNodes[e.idToIndex[a[d]]];
+ if (!p.isLocked) {
+ var m = l - p.positionX,
+ g = u - p.positionY,
+ y = Math.sqrt(m * m + g * g);
+ if (y > n) {
+ var v = (r.gravity * m) / y,
+ x = (r.gravity * g) / y;
+ (p.offsetX += v), (p.offsetY += x);
+ }
+ }
+ }
+ }
+ }, 'calculateGravityForces')),
+ (eQe = o(function (e, r) {
+ var n = [],
+ i = 0,
+ a = -1;
+ for (n.push.apply(n, e.graphSet[0]), a += e.graphSet[0].length; i <= a; ) {
+ var s = n[i++],
+ l = e.idToIndex[s],
+ u = e.layoutNodes[l],
+ h = u.children;
+ if (0 < h.length && !u.isLocked) {
+ for (var f = u.offsetX, d = u.offsetY, p = 0; p < h.length; p++) {
+ var m = e.layoutNodes[e.idToIndex[h[p]]];
+ (m.offsetX += f), (m.offsetY += d), (n[++a] = h[p]);
+ }
+ (u.offsetX = 0), (u.offsetY = 0);
+ }
+ }
+ }, 'propagateForces')),
+ (tQe = o(function (e, r) {
+ for (var n = 0; n < e.nodeSize; n++) {
+ var i = e.layoutNodes[n];
+ 0 < i.children.length &&
+ ((i.maxX = void 0), (i.minX = void 0), (i.maxY = void 0), (i.minY = void 0));
+ }
+ for (var n = 0; n < e.nodeSize; n++) {
+ var i = e.layoutNodes[n];
+ if (!(0 < i.children.length || i.isLocked)) {
+ var a = rQe(i.offsetX, i.offsetY, e.temperature);
+ (i.positionX += a.x),
+ (i.positionY += a.y),
+ (i.offsetX = 0),
+ (i.offsetY = 0),
+ (i.minX = i.positionX - i.width),
+ (i.maxX = i.positionX + i.width),
+ (i.minY = i.positionY - i.height),
+ (i.maxY = i.positionY + i.height),
+ nQe(i, e);
+ }
+ }
+ for (var n = 0; n < e.nodeSize; n++) {
+ var i = e.layoutNodes[n];
+ 0 < i.children.length &&
+ !i.isLocked &&
+ ((i.positionX = (i.maxX + i.minX) / 2),
+ (i.positionY = (i.maxY + i.minY) / 2),
+ (i.width = i.maxX - i.minX),
+ (i.height = i.maxY - i.minY));
+ }
+ }, 'updatePositions')),
+ (rQe = o(function (e, r, n) {
+ var i = Math.sqrt(e * e + r * r);
+ if (i > n) var a = { x: (n * e) / i, y: (n * r) / i };
+ else var a = { x: e, y: r };
+ return a;
+ }, 'limitForce')),
+ (nQe = o(function t(e, r) {
+ var n = e.parentId;
+ if (n != null) {
+ var i = r.layoutNodes[r.idToIndex[n]],
+ a = !1;
+ if (
+ ((i.maxX == null || e.maxX + i.padRight > i.maxX) &&
+ ((i.maxX = e.maxX + i.padRight), (a = !0)),
+ (i.minX == null || e.minX - i.padLeft < i.minX) &&
+ ((i.minX = e.minX - i.padLeft), (a = !0)),
+ (i.maxY == null || e.maxY + i.padBottom > i.maxY) &&
+ ((i.maxY = e.maxY + i.padBottom), (a = !0)),
+ (i.minY == null || e.minY - i.padTop < i.minY) && ((i.minY = e.minY - i.padTop), (a = !0)),
+ a)
+ )
+ return t(i, r);
+ }
+ }, 'updateAncestryBoundaries')),
+ (rpe = o(function (e, r) {
+ for (var n = e.layoutNodes, i = [], a = 0; a < n.length; a++) {
+ var s = n[a],
+ l = s.cmptId,
+ u = (i[l] = i[l] || []);
+ u.push(s);
+ }
+ for (var h = 0, a = 0; a < i.length; a++) {
+ var f = i[a];
+ if (f) {
+ (f.x1 = 1 / 0), (f.x2 = -1 / 0), (f.y1 = 1 / 0), (f.y2 = -1 / 0);
+ for (var d = 0; d < f.length; d++) {
+ var p = f[d];
+ (f.x1 = Math.min(f.x1, p.positionX - p.width / 2)),
+ (f.x2 = Math.max(f.x2, p.positionX + p.width / 2)),
+ (f.y1 = Math.min(f.y1, p.positionY - p.height / 2)),
+ (f.y2 = Math.max(f.y2, p.positionY + p.height / 2));
+ }
+ (f.w = f.x2 - f.x1), (f.h = f.y2 - f.y1), (h += f.w * f.h);
+ }
+ }
+ i.sort(function (b, w) {
+ return w.w * w.h - b.w * b.h;
+ });
+ for (
+ var m = 0, g = 0, y = 0, v = 0, x = (Math.sqrt(h) * e.clientWidth) / e.clientHeight, a = 0;
+ a < i.length;
+ a++
+ ) {
+ var f = i[a];
+ if (f) {
+ for (var d = 0; d < f.length; d++) {
+ var p = f[d];
+ p.isLocked || ((p.positionX += m - f.x1), (p.positionY += g - f.y1));
+ }
+ (m += f.w + r.componentSpacing),
+ (y += f.w + r.componentSpacing),
+ (v = Math.max(v, f.h)),
+ y > x && ((g += v + r.componentSpacing), (m = 0), (y = 0), (v = 0));
+ }
+ }
+ }, 'separateComponents')),
+ (iQe = {
+ fit: !0,
+ padding: 30,
+ boundingBox: void 0,
+ avoidOverlap: !0,
+ avoidOverlapPadding: 10,
+ nodeDimensionsIncludeLabels: !1,
+ spacingFactor: void 0,
+ condense: !1,
+ rows: void 0,
+ cols: void 0,
+ position: o(function (e) {}, 'position'),
+ sort: void 0,
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ });
+ o(Rme, 'GridLayout');
+ Rme.prototype.run = function () {
+ var t = this.options,
+ e = t,
+ r = t.cy,
+ n = e.eles,
+ i = n.nodes().not(':parent');
+ e.sort && (i = i.sort(e.sort));
+ var a = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() });
+ if (a.h === 0 || a.w === 0)
+ n.nodes().layoutPositions(this, e, function (Q) {
+ return { x: a.x1, y: a.y1 };
+ });
+ else {
+ var s = i.size(),
+ l = Math.sqrt((s * a.h) / a.w),
+ u = Math.round(l),
+ h = Math.round((a.w / a.h) * l),
+ f = o(function (X) {
+ if (X == null) return Math.min(u, h);
+ var ie = Math.min(u, h);
+ ie == u ? (u = X) : (h = X);
+ }, 'small'),
+ d = o(function (X) {
+ if (X == null) return Math.max(u, h);
+ var ie = Math.max(u, h);
+ ie == u ? (u = X) : (h = X);
+ }, 'large'),
+ p = e.rows,
+ m = e.cols != null ? e.cols : e.columns;
+ if (p != null && m != null) (u = p), (h = m);
+ else if (p != null && m == null) (u = p), (h = Math.ceil(s / u));
+ else if (p == null && m != null) (h = m), (u = Math.ceil(s / h));
+ else if (h * u > s) {
+ var g = f(),
+ y = d();
+ (g - 1) * y >= s ? f(g - 1) : (y - 1) * g >= s && d(y - 1);
+ } else
+ for (; h * u < s; ) {
+ var v = f(),
+ x = d();
+ (x + 1) * v >= s ? d(x + 1) : f(v + 1);
+ }
+ var b = a.w / h,
+ w = a.h / u;
+ if ((e.condense && ((b = 0), (w = 0)), e.avoidOverlap))
+ for (var S = 0; S < i.length; S++) {
+ var T = i[S],
+ E = T._private.position;
+ (E.x == null || E.y == null) && ((E.x = 0), (E.y = 0));
+ var _ = T.layoutDimensions(e),
+ A = e.avoidOverlapPadding,
+ L = _.w + A,
+ M = _.h + A;
+ (b = Math.max(b, L)), (w = Math.max(w, M));
+ }
+ for (
+ var N = {},
+ k = o(function (X, ie) {
+ return !!N['c-' + X + '-' + ie];
+ }, 'used'),
+ I = o(function (X, ie) {
+ N['c-' + X + '-' + ie] = !0;
+ }, 'use'),
+ C = 0,
+ O = 0,
+ D = o(function () {
+ O++, O >= h && ((O = 0), C++);
+ }, 'moveToNextCell'),
+ P = {},
+ F = 0;
+ F < i.length;
+ F++
+ ) {
+ var B = i[F],
+ $ = e.position(B);
+ if ($ && ($.row !== void 0 || $.col !== void 0)) {
+ var z = { row: $.row, col: $.col };
+ if (z.col === void 0) for (z.col = 0; k(z.row, z.col); ) z.col++;
+ else if (z.row === void 0) for (z.row = 0; k(z.row, z.col); ) z.row++;
+ (P[B.id()] = z), I(z.row, z.col);
+ }
+ }
+ var Y = o(function (X, ie) {
+ var j, J;
+ if (X.locked() || X.isParent()) return !1;
+ var Z = P[X.id()];
+ if (Z) (j = Z.col * b + b / 2 + a.x1), (J = Z.row * w + w / 2 + a.y1);
+ else {
+ for (; k(C, O); ) D();
+ (j = O * b + b / 2 + a.x1), (J = C * w + w / 2 + a.y1), I(C, O), D();
+ }
+ return { x: j, y: J };
+ }, 'getPos');
+ i.layoutPositions(this, e, Y);
+ }
+ return this;
+ };
+ aQe = {
+ ready: o(function () {}, 'ready'),
+ stop: o(function () {}, 'stop')
+ };
+ o(dB, 'NullLayout');
+ dB.prototype.run = function () {
+ var t = this.options,
+ e = t.eles,
+ r = this;
+ return (
+ t.cy,
+ r.emit('layoutstart'),
+ e.nodes().positions(function () {
+ return { x: 0, y: 0 };
+ }),
+ r.one('layoutready', t.ready),
+ r.emit('layoutready'),
+ r.one('layoutstop', t.stop),
+ r.emit('layoutstop'),
+ this
+ );
+ };
+ dB.prototype.stop = function () {
+ return this;
+ };
+ sQe = {
+ positions: void 0,
+ zoom: void 0,
+ pan: void 0,
+ fit: !0,
+ padding: 30,
+ spacingFactor: void 0,
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ };
+ o(Nme, 'PresetLayout');
+ Nme.prototype.run = function () {
+ var t = this.options,
+ e = t.eles,
+ r = e.nodes(),
+ n = jn(t.positions);
+ function i(a) {
+ if (t.positions == null) return uWe(a.position());
+ if (n) return t.positions(a);
+ var s = t.positions[a._private.data.id];
+ return s ?? null;
+ }
+ return (
+ o(i, 'getPosition'),
+ r.layoutPositions(this, t, function (a, s) {
+ var l = i(a);
+ return a.locked() || l == null ? !1 : l;
+ }),
+ this
+ );
+ };
+ oQe = {
+ fit: !0,
+ padding: 30,
+ boundingBox: void 0,
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ };
+ o(Mme, 'RandomLayout');
+ Mme.prototype.run = function () {
+ var t = this.options,
+ e = t.cy,
+ r = t.eles,
+ n = Gs(t.boundingBox ? t.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }),
+ i = o(function (s, l) {
+ return {
+ x: n.x1 + Math.round(Math.random() * n.w),
+ y: n.y1 + Math.round(Math.random() * n.h)
+ };
+ }, 'getPos');
+ return r.nodes().layoutPositions(this, t, i), this;
+ };
+ lQe = [
+ { name: 'breadthfirst', impl: Ame },
+ { name: 'circle', impl: _me },
+ { name: 'concentric', impl: Lme },
+ { name: 'cose', impl: j6 },
+ { name: 'grid', impl: Rme },
+ { name: 'null', impl: dB },
+ { name: 'preset', impl: Nme },
+ { name: 'random', impl: Mme }
+ ];
+ o(Ime, 'NullRenderer');
+ (npe = o(function () {}, 'noop')),
+ (ipe = o(function () {
+ throw new Error('A headless instance can not render images');
+ }, 'throwImgErr'));
+ Ime.prototype = {
+ recalculateRenderedStyle: npe,
+ notify: o(function () {
+ this.notifications++;
+ }, 'notify'),
+ init: npe,
+ isHeadless: o(function () {
+ return !0;
+ }, 'isHeadless'),
+ png: ipe,
+ jpg: ipe
+ };
+ pB = {};
+ pB.arrowShapeWidth = 0.3;
+ pB.registerArrowShapes = function () {
+ var t = (this.arrowShapes = {}),
+ e = this,
+ r = o(function (h, f, d, p, m, g, y) {
+ var v = m.x - d / 2 - y,
+ x = m.x + d / 2 + y,
+ b = m.y - d / 2 - y,
+ w = m.y + d / 2 + y,
+ S = v <= h && h <= x && b <= f && f <= w;
+ return S;
+ }, 'bbCollide'),
+ n = o(function (h, f, d, p, m) {
+ var g = h * Math.cos(p) - f * Math.sin(p),
+ y = h * Math.sin(p) + f * Math.cos(p),
+ v = g * d,
+ x = y * d,
+ b = v + m.x,
+ w = x + m.y;
+ return { x: b, y: w };
+ }, 'transform'),
+ i = o(function (h, f, d, p) {
+ for (var m = [], g = 0; g < h.length; g += 2) {
+ var y = h[g],
+ v = h[g + 1];
+ m.push(n(y, v, f, d, p));
+ }
+ return m;
+ }, 'transformPoints'),
+ a = o(function (h) {
+ for (var f = [], d = 0; d < h.length; d++) {
+ var p = h[d];
+ f.push(p.x, p.y);
+ }
+ return f;
+ }, 'pointsToArr'),
+ s = o(function (h) {
+ return h.pstyle('width').pfValue * h.pstyle('arrow-scale').pfValue * 2;
+ }, 'standardGap'),
+ l = o(function (h, f) {
+ zt(f) && (f = t[f]),
+ (t[h] = Wt(
+ {
+ name: h,
+ points: [-0.15, -0.3, 0.15, -0.3, 0.15, 0.3, -0.15, 0.3],
+ collide: o(function (p, m, g, y, v, x) {
+ var b = a(i(this.points, g + 2 * x, y, v)),
+ w = zs(p, m, b);
+ return w;
+ }, 'collide'),
+ roughCollide: r,
+ draw: o(function (p, m, g, y) {
+ var v = i(this.points, m, g, y);
+ e.arrowShapeImpl('polygon')(p, v);
+ }, 'draw'),
+ spacing: o(function (p) {
+ return 0;
+ }, 'spacing'),
+ gap: s
+ },
+ f
+ ));
+ }, 'defineArrowShape');
+ l('none', {
+ collide: C6,
+ roughCollide: C6,
+ draw: JP,
+ spacing: p0e,
+ gap: p0e
+ }),
+ l('triangle', { points: [-0.15, -0.3, 0, 0, 0.15, -0.3] }),
+ l('arrow', 'triangle'),
+ l('triangle-backcurve', {
+ points: t.triangle.points,
+ controlPoint: [0, -0.15],
+ roughCollide: r,
+ draw: o(function (h, f, d, p, m) {
+ var g = i(this.points, f, d, p),
+ y = this.controlPoint,
+ v = n(y[0], y[1], f, d, p);
+ e.arrowShapeImpl(this.name)(h, g, v);
+ }, 'draw'),
+ gap: o(function (h) {
+ return s(h) * 0.8;
+ }, 'gap')
+ }),
+ l('triangle-tee', {
+ points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0],
+ pointsTee: [-0.15, -0.4, -0.15, -0.5, 0.15, -0.5, 0.15, -0.4],
+ collide: o(function (h, f, d, p, m, g, y) {
+ var v = a(i(this.points, d + 2 * y, p, m)),
+ x = a(i(this.pointsTee, d + 2 * y, p, m)),
+ b = zs(h, f, v) || zs(h, f, x);
+ return b;
+ }, 'collide'),
+ draw: o(function (h, f, d, p, m) {
+ var g = i(this.points, f, d, p),
+ y = i(this.pointsTee, f, d, p);
+ e.arrowShapeImpl(this.name)(h, g, y);
+ }, 'draw')
+ }),
+ l('circle-triangle', {
+ radius: 0.15,
+ pointsTr: [0, -0.15, 0.15, -0.45, -0.15, -0.45, 0, -0.15],
+ collide: o(function (h, f, d, p, m, g, y) {
+ var v = m,
+ x =
+ Math.pow(v.x - h, 2) + Math.pow(v.y - f, 2) <=
+ Math.pow((d + 2 * y) * this.radius, 2),
+ b = a(i(this.points, d + 2 * y, p, m));
+ return zs(h, f, b) || x;
+ }, 'collide'),
+ draw: o(function (h, f, d, p, m) {
+ var g = i(this.pointsTr, f, d, p);
+ e.arrowShapeImpl(this.name)(h, g, p.x, p.y, this.radius * f);
+ }, 'draw'),
+ spacing: o(function (h) {
+ return (
+ e.getArrowWidth(h.pstyle('width').pfValue, h.pstyle('arrow-scale').value) * this.radius
+ );
+ }, 'spacing')
+ }),
+ l('triangle-cross', {
+ points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0],
+ baseCrossLinePts: [-0.15, -0.4, -0.15, -0.4, 0.15, -0.4, 0.15, -0.4],
+ crossLinePts: o(function (h, f) {
+ var d = this.baseCrossLinePts.slice(),
+ p = f / h,
+ m = 3,
+ g = 5;
+ return (d[m] = d[m] - p), (d[g] = d[g] - p), d;
+ }, 'crossLinePts'),
+ collide: o(function (h, f, d, p, m, g, y) {
+ var v = a(i(this.points, d + 2 * y, p, m)),
+ x = a(i(this.crossLinePts(d, g), d + 2 * y, p, m)),
+ b = zs(h, f, v) || zs(h, f, x);
+ return b;
+ }, 'collide'),
+ draw: o(function (h, f, d, p, m) {
+ var g = i(this.points, f, d, p),
+ y = i(this.crossLinePts(f, m), f, d, p);
+ e.arrowShapeImpl(this.name)(h, g, y);
+ }, 'draw')
+ }),
+ l('vee', {
+ points: [-0.15, -0.3, 0, 0, 0.15, -0.3, 0, -0.15],
+ gap: o(function (h) {
+ return s(h) * 0.525;
+ }, 'gap')
+ }),
+ l('circle', {
+ radius: 0.15,
+ collide: o(function (h, f, d, p, m, g, y) {
+ var v = m,
+ x =
+ Math.pow(v.x - h, 2) + Math.pow(v.y - f, 2) <=
+ Math.pow((d + 2 * y) * this.radius, 2);
+ return x;
+ }, 'collide'),
+ draw: o(function (h, f, d, p, m) {
+ e.arrowShapeImpl(this.name)(h, p.x, p.y, this.radius * f);
+ }, 'draw'),
+ spacing: o(function (h) {
+ return (
+ e.getArrowWidth(h.pstyle('width').pfValue, h.pstyle('arrow-scale').value) * this.radius
+ );
+ }, 'spacing')
+ }),
+ l('tee', {
+ points: [-0.15, 0, -0.15, -0.1, 0.15, -0.1, 0.15, 0],
+ spacing: o(function (h) {
+ return 1;
+ }, 'spacing'),
+ gap: o(function (h) {
+ return 1;
+ }, 'gap')
+ }),
+ l('square', { points: [-0.15, 0, 0.15, 0, 0.15, -0.3, -0.15, -0.3] }),
+ l('diamond', {
+ points: [-0.15, -0.15, 0, -0.3, 0.15, -0.15, 0, 0],
+ gap: o(function (h) {
+ return h.pstyle('width').pfValue * h.pstyle('arrow-scale').value;
+ }, 'gap')
+ }),
+ l('chevron', {
+ points: [0, 0, -0.15, -0.15, -0.1, -0.2, 0, -0.1, 0.1, -0.2, 0.15, -0.15],
+ gap: o(function (h) {
+ return 0.95 * h.pstyle('width').pfValue * h.pstyle('arrow-scale').value;
+ }, 'gap')
+ });
+ };
+ j0 = {};
+ j0.projectIntoViewport = function (t, e) {
+ var r = this.cy,
+ n = this.findContainerClientCoords(),
+ i = n[0],
+ a = n[1],
+ s = n[4],
+ l = r.pan(),
+ u = r.zoom(),
+ h = ((t - i) / s - l.x) / u,
+ f = ((e - a) / s - l.y) / u;
+ return [h, f];
+ };
+ j0.findContainerClientCoords = function () {
+ if (this.containerBB) return this.containerBB;
+ var t = this.container,
+ e = t.getBoundingClientRect(),
+ r = this.cy.window().getComputedStyle(t),
+ n = o(function (x) {
+ return parseFloat(r.getPropertyValue(x));
+ }, 'styleValue'),
+ i = {
+ left: n('padding-left'),
+ right: n('padding-right'),
+ top: n('padding-top'),
+ bottom: n('padding-bottom')
+ },
+ a = {
+ left: n('border-left-width'),
+ right: n('border-right-width'),
+ top: n('border-top-width'),
+ bottom: n('border-bottom-width')
+ },
+ s = t.clientWidth,
+ l = t.clientHeight,
+ u = i.left + i.right,
+ h = i.top + i.bottom,
+ f = a.left + a.right,
+ d = e.width / (s + f),
+ p = s - u,
+ m = l - h,
+ g = e.left + i.left + a.left,
+ y = e.top + i.top + a.top;
+ return (this.containerBB = [g, y, p, m, d]);
+ };
+ j0.invalidateContainerClientCoordsCache = function () {
+ this.containerBB = null;
+ };
+ j0.findNearestElement = function (t, e, r, n) {
+ return this.findNearestElements(t, e, r, n)[0];
+ };
+ j0.findNearestElements = function (t, e, r, n) {
+ var i = this,
+ a = this,
+ s = a.getCachedZSortedEles(),
+ l = [],
+ u = a.cy.zoom(),
+ h = a.cy.hasCompoundNodes(),
+ f = (n ? 24 : 8) / u,
+ d = (n ? 8 : 2) / u,
+ p = (n ? 8 : 2) / u,
+ m = 1 / 0,
+ g,
+ y;
+ r && (s = s.interactive);
+ function v(_, A) {
+ if (_.isNode()) {
+ if (y) return;
+ (y = _), l.push(_);
+ }
+ if (_.isEdge() && (A == null || A < m))
+ if (g) {
+ if (
+ g.pstyle('z-compound-depth').value === _.pstyle('z-compound-depth').value &&
+ g.pstyle('z-compound-depth').value === _.pstyle('z-compound-depth').value
+ ) {
+ for (var L = 0; L < l.length; L++)
+ if (l[L].isEdge()) {
+ (l[L] = _), (g = _), (m = A ?? m);
+ break;
+ }
+ }
+ } else l.push(_), (g = _), (m = A ?? m);
+ }
+ o(v, 'addEle');
+ function x(_) {
+ var A = _.outerWidth() + 2 * d,
+ L = _.outerHeight() + 2 * d,
+ M = A / 2,
+ N = L / 2,
+ k = _.position(),
+ I = _.pstyle('corner-radius').value === 'auto' ? 'auto' : _.pstyle('corner-radius').pfValue,
+ C = _._private.rscratch;
+ if (k.x - M <= t && t <= k.x + M && k.y - N <= e && e <= k.y + N) {
+ var O = a.nodeShapes[i.getNodeShape(_)];
+ if (O.checkPoint(t, e, 0, A, L, k.x, k.y, I, C)) return v(_, 0), !0;
+ }
+ }
+ o(x, 'checkNode');
+ function b(_) {
+ var A = _._private,
+ L = A.rscratch,
+ M = _.pstyle('width').pfValue,
+ N = _.pstyle('arrow-scale').value,
+ k = M / 2 + f,
+ I = k * k,
+ C = k * 2,
+ F = A.source,
+ B = A.target,
+ O;
+ if (L.edgeType === 'segments' || L.edgeType === 'straight' || L.edgeType === 'haystack') {
+ for (var D = L.allpts, P = 0; P + 3 < D.length; P += 2)
+ if (
+ kWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], C) &&
+ I > (O = _We(t, e, D[P], D[P + 1], D[P + 2], D[P + 3]))
+ )
+ return v(_, O), !0;
+ } else if (
+ L.edgeType === 'bezier' ||
+ L.edgeType === 'multibezier' ||
+ L.edgeType === 'self' ||
+ L.edgeType === 'compound'
+ ) {
+ for (var D = L.allpts, P = 0; P + 5 < L.allpts.length; P += 4)
+ if (
+ EWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], D[P + 4], D[P + 5], C) &&
+ I > (O = AWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], D[P + 4], D[P + 5]))
+ )
+ return v(_, O), !0;
+ }
+ for (
+ var F = F || A.source,
+ B = B || A.target,
+ $ = i.getArrowWidth(M, N),
+ z = [
+ {
+ name: 'source',
+ x: L.arrowStartX,
+ y: L.arrowStartY,
+ angle: L.srcArrowAngle
+ },
+ {
+ name: 'target',
+ x: L.arrowEndX,
+ y: L.arrowEndY,
+ angle: L.tgtArrowAngle
+ },
+ {
+ name: 'mid-source',
+ x: L.midX,
+ y: L.midY,
+ angle: L.midsrcArrowAngle
+ },
+ {
+ name: 'mid-target',
+ x: L.midX,
+ y: L.midY,
+ angle: L.midtgtArrowAngle
+ }
+ ],
+ P = 0;
+ P < z.length;
+ P++
+ ) {
+ var Y = z[P],
+ Q = a.arrowShapes[_.pstyle(Y.name + '-arrow-shape').value],
+ X = _.pstyle('width').pfValue;
+ if (
+ Q.roughCollide(t, e, $, Y.angle, { x: Y.x, y: Y.y }, X, f) &&
+ Q.collide(t, e, $, Y.angle, { x: Y.x, y: Y.y }, X, f)
+ )
+ return v(_), !0;
+ }
+ h && l.length > 0 && (x(F), x(B));
+ }
+ o(b, 'checkEdge');
+ function w(_, A, L) {
+ return Ul(_, A, L);
+ }
+ o(w, 'preprop');
+ function S(_, A) {
+ var L = _._private,
+ M = p,
+ N;
+ A ? (N = A + '-') : (N = ''), _.boundingBox();
+ var k = L.labelBounds[A || 'main'],
+ I = _.pstyle(N + 'label').value,
+ C = _.pstyle('text-events').strValue === 'yes';
+ if (!(!C || !I)) {
+ var O = w(L.rscratch, 'labelX', A),
+ D = w(L.rscratch, 'labelY', A),
+ P = w(L.rscratch, 'labelAngle', A),
+ F = _.pstyle(N + 'text-margin-x').pfValue,
+ B = _.pstyle(N + 'text-margin-y').pfValue,
+ $ = k.x1 - M - F,
+ z = k.x2 + M - F,
+ Y = k.y1 - M - B,
+ Q = k.y2 + M - B;
+ if (P) {
+ var X = Math.cos(P),
+ ie = Math.sin(P),
+ j = o(function (ce, ue) {
+ return (
+ (ce = ce - O),
+ (ue = ue - D),
+ { x: ce * X - ue * ie + O, y: ce * ie + ue * X + D }
+ );
+ }, 'rotate'),
+ J = j($, Y),
+ Z = j($, Q),
+ H = j(z, Y),
+ q = j(z, Q),
+ K = [J.x + F, J.y + B, H.x + F, H.y + B, q.x + F, q.y + B, Z.x + F, Z.y + B];
+ if (zs(t, e, K)) return v(_), !0;
+ } else if (s1(k, t, e)) return v(_), !0;
+ }
+ }
+ o(S, 'checkLabel');
+ for (var T = s.length - 1; T >= 0; T--) {
+ var E = s[T];
+ E.isNode() ? x(E) || S(E) : b(E) || S(E) || S(E, 'source') || S(E, 'target');
+ }
+ return l;
+ };
+ j0.getAllInBox = function (t, e, r, n) {
+ var i = this.getCachedZSortedEles().interactive,
+ a = [],
+ s = Math.min(t, r),
+ l = Math.max(t, r),
+ u = Math.min(e, n),
+ h = Math.max(e, n);
+ (t = s), (r = l), (e = u), (n = h);
+ for (var f = Gs({ x1: t, y1: e, x2: r, y2: n }), d = 0; d < i.length; d++) {
+ var p = i[d];
+ if (p.isNode()) {
+ var m = p,
+ g = m.boundingBox({
+ includeNodes: !0,
+ includeEdges: !1,
+ includeLabels: !1
+ });
+ rB(f, g) && !Upe(g, f) && a.push(m);
+ } else {
+ var y = p,
+ v = y._private,
+ x = v.rscratch;
+ if (
+ (x.startX != null && x.startY != null && !s1(f, x.startX, x.startY)) ||
+ (x.endX != null && x.endY != null && !s1(f, x.endX, x.endY))
+ )
+ continue;
+ if (
+ x.edgeType === 'bezier' ||
+ x.edgeType === 'multibezier' ||
+ x.edgeType === 'self' ||
+ x.edgeType === 'compound' ||
+ x.edgeType === 'segments' ||
+ x.edgeType === 'haystack'
+ ) {
+ for (
+ var b = v.rstyle.bezierPts || v.rstyle.linePts || v.rstyle.haystackPts, w = !0, S = 0;
+ S < b.length;
+ S++
+ )
+ if (!TWe(f, b[S])) {
+ w = !1;
+ break;
+ }
+ w && a.push(y);
+ } else (x.edgeType === 'haystack' || x.edgeType === 'straight') && a.push(y);
+ }
+ }
+ return a;
+ };
+ N6 = {};
+ N6.calculateArrowAngles = function (t) {
+ var e = t._private.rscratch,
+ r = e.edgeType === 'haystack',
+ n = e.edgeType === 'bezier',
+ i = e.edgeType === 'multibezier',
+ a = e.edgeType === 'segments',
+ s = e.edgeType === 'compound',
+ l = e.edgeType === 'self',
+ u,
+ h,
+ f,
+ d,
+ p,
+ m,
+ x,
+ b;
+ if (
+ (r
+ ? ((f = e.haystackPts[0]),
+ (d = e.haystackPts[1]),
+ (p = e.haystackPts[2]),
+ (m = e.haystackPts[3]))
+ : ((f = e.arrowStartX), (d = e.arrowStartY), (p = e.arrowEndX), (m = e.arrowEndY)),
+ (x = e.midX),
+ (b = e.midY),
+ a)
+ )
+ (u = f - e.segpts[0]), (h = d - e.segpts[1]);
+ else if (i || s || l || n) {
+ var g = e.allpts,
+ y = aa(g[0], g[2], g[4], 0.1),
+ v = aa(g[1], g[3], g[5], 0.1);
+ (u = f - y), (h = d - v);
+ } else (u = f - x), (h = d - b);
+ e.srcArrowAngle = n6(u, h);
+ var x = e.midX,
+ b = e.midY;
+ if ((r && ((x = (f + p) / 2), (b = (d + m) / 2)), (u = p - f), (h = m - d), a)) {
+ var g = e.allpts;
+ if ((g.length / 2) % 2 === 0) {
+ var w = g.length / 2,
+ S = w - 2;
+ (u = g[w] - g[S]), (h = g[w + 1] - g[S + 1]);
+ } else if (e.isRound) (u = e.midVector[1]), (h = -e.midVector[0]);
+ else {
+ var w = g.length / 2 - 1,
+ S = w - 2;
+ (u = g[w] - g[S]), (h = g[w + 1] - g[S + 1]);
+ }
+ } else if (i || s || l) {
+ var g = e.allpts,
+ T = e.ctrlpts,
+ E,
+ _,
+ A,
+ L;
+ if ((T.length / 2) % 2 === 0) {
+ var M = g.length / 2 - 1,
+ N = M + 2,
+ k = N + 2;
+ (E = aa(g[M], g[N], g[k], 0)),
+ (_ = aa(g[M + 1], g[N + 1], g[k + 1], 0)),
+ (A = aa(g[M], g[N], g[k], 1e-4)),
+ (L = aa(g[M + 1], g[N + 1], g[k + 1], 1e-4));
+ } else {
+ var N = g.length / 2 - 1,
+ M = N - 2,
+ k = N + 2;
+ (E = aa(g[M], g[N], g[k], 0.4999)),
+ (_ = aa(g[M + 1], g[N + 1], g[k + 1], 0.4999)),
+ (A = aa(g[M], g[N], g[k], 0.5)),
+ (L = aa(g[M + 1], g[N + 1], g[k + 1], 0.5));
+ }
+ (u = A - E), (h = L - _);
+ }
+ if (((e.midtgtArrowAngle = n6(u, h)), (e.midDispX = u), (e.midDispY = h), (u *= -1), (h *= -1), a)) {
+ var g = e.allpts;
+ if ((g.length / 2) % 2 !== 0) {
+ if (!e.isRound) {
+ var w = g.length / 2 - 1,
+ I = w + 2;
+ (u = -(g[I] - g[w])), (h = -(g[I + 1] - g[w + 1]));
+ }
+ }
+ }
+ if (((e.midsrcArrowAngle = n6(u, h)), a))
+ (u = p - e.segpts[e.segpts.length - 2]), (h = m - e.segpts[e.segpts.length - 1]);
+ else if (i || s || l || n) {
+ var g = e.allpts,
+ C = g.length,
+ y = aa(g[C - 6], g[C - 4], g[C - 2], 0.9),
+ v = aa(g[C - 5], g[C - 3], g[C - 1], 0.9);
+ (u = p - y), (h = m - v);
+ } else (u = p - x), (h = m - b);
+ e.tgtArrowAngle = n6(u, h);
+ };
+ N6.getArrowWidth = N6.getArrowHeight = function (t, e) {
+ var r = (this.arrowWidthCache = this.arrowWidthCache || {}),
+ n = r[t + ', ' + e];
+ return n || ((n = Math.max(Math.pow(t * 13.37, 0.9), 29) * e), (r[t + ', ' + e] = n), n);
+ };
+ (Gc = {}),
+ (Jo = {}),
+ (lpe = o(function (e, r, n) {
+ (n.x = r.x - e.x),
+ (n.y = r.y - e.y),
+ (n.len = Math.sqrt(n.x * n.x + n.y * n.y)),
+ (n.nx = n.x / n.len),
+ (n.ny = n.y / n.len),
+ (n.ang = Math.atan2(n.ny, n.nx));
+ }, 'asVec')),
+ (cQe = o(function (e, r) {
+ (r.x = e.x * -1),
+ (r.y = e.y * -1),
+ (r.nx = e.nx * -1),
+ (r.ny = e.ny * -1),
+ (r.ang = e.ang > 0 ? -(Math.PI - e.ang) : Math.PI + e.ang);
+ }, 'invertVec')),
+ (uQe = o(function (e, r, n, i, a) {
+ if (
+ (e !== ope ? lpe(r, e, Gc) : cQe(Jo, Gc),
+ lpe(r, n, Jo),
+ (ape = Gc.nx * Jo.ny - Gc.ny * Jo.nx),
+ (spe = Gc.nx * Jo.nx - Gc.ny * -Jo.ny),
+ (ju = Math.asin(Math.max(-1, Math.min(1, ape)))),
+ Math.abs(ju) < 1e-6)
+ ) {
+ (GP = r.x), ($P = r.y), (z0 = Qg = 0);
+ return;
+ }
+ (G0 = 1),
+ (w6 = !1),
+ spe < 0
+ ? ju < 0
+ ? (ju = Math.PI + ju)
+ : ((ju = Math.PI - ju), (G0 = -1), (w6 = !0))
+ : ju > 0 && ((G0 = -1), (w6 = !0)),
+ r.radius !== void 0 ? (Qg = r.radius) : (Qg = i),
+ (O0 = ju / 2),
+ (f6 = Math.min(Gc.len / 2, Jo.len / 2)),
+ a
+ ? ((zc = Math.abs((Math.cos(O0) * Qg) / Math.sin(O0))),
+ zc > f6 ? ((zc = f6), (z0 = Math.abs((zc * Math.sin(O0)) / Math.cos(O0)))) : (z0 = Qg))
+ : ((zc = Math.min(f6, Qg)), (z0 = Math.abs((zc * Math.sin(O0)) / Math.cos(O0)))),
+ (VP = r.x + Jo.nx * zc),
+ (UP = r.y + Jo.ny * zc),
+ (GP = VP - Jo.ny * z0 * G0),
+ ($P = UP + Jo.nx * z0 * G0),
+ (Ome = r.x + Gc.nx * zc),
+ (Pme = r.y + Gc.ny * zc),
+ (ope = r);
+ }, 'calcCornerArc'));
+ o(Bme, 'drawPreparedRoundCorner');
+ o(mB, 'getRoundCorner');
+ $a = {};
+ $a.findMidptPtsEtc = function (t, e) {
+ var r = e.posPts,
+ n = e.intersectionPts,
+ i = e.vectorNormInverse,
+ a,
+ s = t.pstyle('source-endpoint'),
+ l = t.pstyle('target-endpoint'),
+ u = s.units != null && l.units != null,
+ h = o(function (T, E, _, A) {
+ var L = A - E,
+ M = _ - T,
+ N = Math.sqrt(M * M + L * L);
+ return { x: -L / N, y: M / N };
+ }, 'recalcVectorNormInverse'),
+ f = t.pstyle('edge-distances').value;
+ switch (f) {
+ case 'node-position':
+ a = r;
+ break;
+ case 'intersection':
+ a = n;
+ break;
+ case 'endpoints': {
+ if (u) {
+ var d = this.manualEndptToPx(t.source()[0], s),
+ p = $l(d, 2),
+ m = p[0],
+ g = p[1],
+ y = this.manualEndptToPx(t.target()[0], l),
+ v = $l(y, 2),
+ x = v[0],
+ b = v[1],
+ w = { x1: m, y1: g, x2: x, y2: b };
+ (i = h(m, g, x, b)), (a = w);
+ } else
+ tn(
+ 'Edge '.concat(
+ t.id(),
+ ' has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).'
+ )
+ ),
+ (a = n);
+ break;
+ }
+ }
+ return { midptPts: a, vectorNormInverse: i };
+ };
+ $a.findHaystackPoints = function (t) {
+ for (var e = 0; e < t.length; e++) {
+ var r = t[e],
+ n = r._private,
+ i = n.rscratch;
+ if (!i.haystack) {
+ var a = Math.random() * 2 * Math.PI;
+ (i.source = { x: Math.cos(a), y: Math.sin(a) }),
+ (a = Math.random() * 2 * Math.PI),
+ (i.target = { x: Math.cos(a), y: Math.sin(a) });
+ }
+ var s = n.source,
+ l = n.target,
+ u = s.position(),
+ h = l.position(),
+ f = s.width(),
+ d = l.width(),
+ p = s.height(),
+ m = l.height(),
+ g = r.pstyle('haystack-radius').value,
+ y = g / 2;
+ (i.haystackPts = i.allpts =
+ [
+ i.source.x * f * y + u.x,
+ i.source.y * p * y + u.y,
+ i.target.x * d * y + h.x,
+ i.target.y * m * y + h.y
+ ]),
+ (i.midX = (i.allpts[0] + i.allpts[2]) / 2),
+ (i.midY = (i.allpts[1] + i.allpts[3]) / 2),
+ (i.edgeType = 'haystack'),
+ (i.haystack = !0),
+ this.storeEdgeProjections(r),
+ this.calculateArrowAngles(r),
+ this.recalculateEdgeLabelProjections(r),
+ this.calculateLabelAngles(r);
+ }
+ };
+ $a.findSegmentsPoints = function (t, e) {
+ var r = t._private.rscratch,
+ n = t.pstyle('segment-weights'),
+ i = t.pstyle('segment-distances'),
+ a = t.pstyle('segment-radii'),
+ s = t.pstyle('radius-type'),
+ l = Math.min(n.pfValue.length, i.pfValue.length),
+ u = a.pfValue[a.pfValue.length - 1],
+ h = s.pfValue[s.pfValue.length - 1];
+ (r.edgeType = 'segments'), (r.segpts = []), (r.radii = []), (r.isArcRadius = []);
+ for (var f = 0; f < l; f++) {
+ var d = n.pfValue[f],
+ p = i.pfValue[f],
+ m = 1 - d,
+ g = d,
+ y = this.findMidptPtsEtc(t, e),
+ v = y.midptPts,
+ x = y.vectorNormInverse,
+ b = { x: v.x1 * m + v.x2 * g, y: v.y1 * m + v.y2 * g };
+ r.segpts.push(b.x + x.x * p, b.y + x.y * p),
+ r.radii.push(a.pfValue[f] !== void 0 ? a.pfValue[f] : u),
+ r.isArcRadius.push((s.pfValue[f] !== void 0 ? s.pfValue[f] : h) === 'arc-radius');
+ }
+ };
+ $a.findLoopPoints = function (t, e, r, n) {
+ var i = t._private.rscratch,
+ a = e.dirCounts,
+ s = e.srcPos,
+ l = t.pstyle('control-point-distances'),
+ u = l ? l.pfValue[0] : void 0,
+ h = t.pstyle('loop-direction').pfValue,
+ f = t.pstyle('loop-sweep').pfValue,
+ d = t.pstyle('control-point-step-size').pfValue;
+ i.edgeType = 'self';
+ var p = r,
+ m = d;
+ n && ((p = 0), (m = u));
+ var g = h - Math.PI / 2,
+ y = g - f / 2,
+ v = g + f / 2,
+ x = h + '_' + f;
+ (p = a[x] === void 0 ? (a[x] = 0) : ++a[x]),
+ (i.ctrlpts = [
+ s.x + Math.cos(y) * 1.4 * m * (p / 3 + 1),
+ s.y + Math.sin(y) * 1.4 * m * (p / 3 + 1),
+ s.x + Math.cos(v) * 1.4 * m * (p / 3 + 1),
+ s.y + Math.sin(v) * 1.4 * m * (p / 3 + 1)
+ ]);
+ };
+ $a.findCompoundLoopPoints = function (t, e, r, n) {
+ var i = t._private.rscratch;
+ i.edgeType = 'compound';
+ var a = e.srcPos,
+ s = e.tgtPos,
+ l = e.srcW,
+ u = e.srcH,
+ h = e.tgtW,
+ f = e.tgtH,
+ d = t.pstyle('control-point-step-size').pfValue,
+ p = t.pstyle('control-point-distances'),
+ m = p ? p.pfValue[0] : void 0,
+ g = r,
+ y = d;
+ n && ((g = 0), (y = m));
+ var v = 50,
+ x = { x: a.x - l / 2, y: a.y - u / 2 },
+ b = { x: s.x - h / 2, y: s.y - f / 2 },
+ w = { x: Math.min(x.x, b.x), y: Math.min(x.y, b.y) },
+ S = 0.5,
+ T = Math.max(S, Math.log(l * 0.01)),
+ E = Math.max(S, Math.log(h * 0.01));
+ i.ctrlpts = [
+ w.x,
+ w.y - (1 + Math.pow(v, 1.12) / 100) * y * (g / 3 + 1) * T,
+ w.x - (1 + Math.pow(v, 1.12) / 100) * y * (g / 3 + 1) * E,
+ w.y
+ ];
+ };
+ $a.findStraightEdgePoints = function (t) {
+ t._private.rscratch.edgeType = 'straight';
+ };
+ $a.findBezierPoints = function (t, e, r, n, i) {
+ var a = t._private.rscratch,
+ s = t.pstyle('control-point-step-size').pfValue,
+ l = t.pstyle('control-point-distances'),
+ u = t.pstyle('control-point-weights'),
+ h = l && u ? Math.min(l.value.length, u.value.length) : 1,
+ f = l ? l.pfValue[0] : void 0,
+ d = u.value[0],
+ p = n;
+ (a.edgeType = p ? 'multibezier' : 'bezier'), (a.ctrlpts = []);
+ for (var m = 0; m < h; m++) {
+ var g = (0.5 - e.eles.length / 2 + r) * s * (i ? -1 : 1),
+ y = void 0,
+ v = $pe(g);
+ p && ((f = l ? l.pfValue[m] : s), (d = u.value[m])),
+ n ? (y = f) : (y = f !== void 0 ? v * f : void 0);
+ var x = y !== void 0 ? y : g,
+ b = 1 - d,
+ w = d,
+ S = this.findMidptPtsEtc(t, e),
+ T = S.midptPts,
+ E = S.vectorNormInverse,
+ _ = { x: T.x1 * b + T.x2 * w, y: T.y1 * b + T.y2 * w };
+ a.ctrlpts.push(_.x + E.x * x, _.y + E.y * x);
+ }
+ };
+ $a.findTaxiPoints = function (t, e) {
+ var r = t._private.rscratch;
+ r.edgeType = 'segments';
+ var n = 'vertical',
+ i = 'horizontal',
+ a = 'leftward',
+ s = 'rightward',
+ l = 'downward',
+ u = 'upward',
+ h = 'auto',
+ f = e.posPts,
+ d = e.srcW,
+ p = e.srcH,
+ m = e.tgtW,
+ g = e.tgtH,
+ y = t.pstyle('edge-distances').value,
+ v = y !== 'node-position',
+ x = t.pstyle('taxi-direction').value,
+ b = x,
+ w = t.pstyle('taxi-turn'),
+ S = w.units === '%',
+ T = w.pfValue,
+ E = T < 0,
+ _ = t.pstyle('taxi-turn-min-distance').pfValue,
+ A = v ? (d + m) / 2 : 0,
+ L = v ? (p + g) / 2 : 0,
+ M = f.x2 - f.x1,
+ N = f.y2 - f.y1,
+ k = o(function (Te, Ce) {
+ return Te > 0 ? Math.max(Te - Ce, 0) : Math.min(Te + Ce, 0);
+ }, 'subDWH'),
+ I = k(M, A),
+ C = k(N, L),
+ O = !1;
+ b === h
+ ? (x = Math.abs(I) > Math.abs(C) ? i : n)
+ : b === u || b === l
+ ? ((x = n), (O = !0))
+ : (b === a || b === s) && ((x = i), (O = !0));
+ var D = x === n,
+ P = D ? C : I,
+ F = D ? N : M,
+ B = $pe(F),
+ $ = !1;
+ !(O && (S || E)) &&
+ ((b === l && F < 0) || (b === u && F > 0) || (b === a && F > 0) || (b === s && F < 0)) &&
+ ((B *= -1), (P = B * Math.abs(P)), ($ = !0));
+ var z;
+ if (S) {
+ var Y = T < 0 ? 1 + T : T;
+ z = Y * P;
+ } else {
+ var Q = T < 0 ? P : 0;
+ z = Q + T * B;
+ }
+ var X = o(function (Te) {
+ return Math.abs(Te) < _ || Math.abs(Te) >= Math.abs(P);
+ }, 'getIsTooClose'),
+ ie = X(z),
+ j = X(Math.abs(P) - Math.abs(z)),
+ J = ie || j;
+ if (J && !$)
+ if (D) {
+ var Z = Math.abs(F) <= p / 2,
+ H = Math.abs(M) <= m / 2;
+ if (Z) {
+ var q = (f.x1 + f.x2) / 2,
+ K = f.y1,
+ se = f.y2;
+ r.segpts = [q, K, q, se];
+ } else if (H) {
+ var ce = (f.y1 + f.y2) / 2,
+ ue = f.x1,
+ te = f.x2;
+ r.segpts = [ue, ce, te, ce];
+ } else r.segpts = [f.x1, f.y2];
+ } else {
+ var De = Math.abs(F) <= d / 2,
+ oe = Math.abs(N) <= g / 2;
+ if (De) {
+ var ke = (f.y1 + f.y2) / 2,
+ Ie = f.x1,
+ Se = f.x2;
+ r.segpts = [Ie, ke, Se, ke];
+ } else if (oe) {
+ var Ue = (f.x1 + f.x2) / 2,
+ Pe = f.y1,
+ _e = f.y2;
+ r.segpts = [Ue, Pe, Ue, _e];
+ } else r.segpts = [f.x2, f.y1];
+ }
+ else if (D) {
+ var me = f.y1 + z + (v ? (p / 2) * B : 0),
+ W = f.x1,
+ fe = f.x2;
+ r.segpts = [W, me, fe, me];
+ } else {
+ var ge = f.x1 + z + (v ? (d / 2) * B : 0),
+ re = f.y1,
+ he = f.y2;
+ r.segpts = [ge, re, ge, he];
+ }
+ if (r.isRound) {
+ var ne = t.pstyle('taxi-radius').value,
+ ae = t.pstyle('radius-type').value[0] === 'arc-radius';
+ (r.radii = new Array(r.segpts.length / 2).fill(ne)),
+ (r.isArcRadius = new Array(r.segpts.length / 2).fill(ae));
+ }
+ };
+ $a.tryToCorrectInvalidPoints = function (t, e) {
+ var r = t._private.rscratch;
+ if (r.edgeType === 'bezier') {
+ var n = e.srcPos,
+ i = e.tgtPos,
+ a = e.srcW,
+ s = e.srcH,
+ l = e.tgtW,
+ u = e.tgtH,
+ h = e.srcShape,
+ f = e.tgtShape,
+ d = e.srcCornerRadius,
+ p = e.tgtCornerRadius,
+ m = e.srcRs,
+ g = e.tgtRs,
+ y = !ft(r.startX) || !ft(r.startY),
+ v = !ft(r.arrowStartX) || !ft(r.arrowStartY),
+ x = !ft(r.endX) || !ft(r.endY),
+ b = !ft(r.arrowEndX) || !ft(r.arrowEndY),
+ w = 3,
+ S =
+ this.getArrowWidth(t.pstyle('width').pfValue, t.pstyle('arrow-scale').value) *
+ this.arrowShapeWidth,
+ T = w * S,
+ E = H0({ x: r.ctrlpts[0], y: r.ctrlpts[1] }, { x: r.startX, y: r.startY }),
+ _ = E < T,
+ A = H0({ x: r.ctrlpts[0], y: r.ctrlpts[1] }, { x: r.endX, y: r.endY }),
+ L = A < T,
+ M = !1;
+ if (y || v || _) {
+ M = !0;
+ var N = { x: r.ctrlpts[0] - n.x, y: r.ctrlpts[1] - n.y },
+ k = Math.sqrt(N.x * N.x + N.y * N.y),
+ I = { x: N.x / k, y: N.y / k },
+ C = Math.max(a, s),
+ O = {
+ x: r.ctrlpts[0] + I.x * 2 * C,
+ y: r.ctrlpts[1] + I.y * 2 * C
+ },
+ D = h.intersectLine(n.x, n.y, a, s, O.x, O.y, 0, d, m);
+ _
+ ? ((r.ctrlpts[0] = r.ctrlpts[0] + I.x * (T - E)),
+ (r.ctrlpts[1] = r.ctrlpts[1] + I.y * (T - E)))
+ : ((r.ctrlpts[0] = D[0] + I.x * T), (r.ctrlpts[1] = D[1] + I.y * T));
+ }
+ if (x || b || L) {
+ M = !0;
+ var P = { x: r.ctrlpts[0] - i.x, y: r.ctrlpts[1] - i.y },
+ F = Math.sqrt(P.x * P.x + P.y * P.y),
+ B = { x: P.x / F, y: P.y / F },
+ $ = Math.max(a, s),
+ z = {
+ x: r.ctrlpts[0] + B.x * 2 * $,
+ y: r.ctrlpts[1] + B.y * 2 * $
+ },
+ Y = f.intersectLine(i.x, i.y, l, u, z.x, z.y, 0, p, g);
+ L
+ ? ((r.ctrlpts[0] = r.ctrlpts[0] + B.x * (T - A)),
+ (r.ctrlpts[1] = r.ctrlpts[1] + B.y * (T - A)))
+ : ((r.ctrlpts[0] = Y[0] + B.x * T), (r.ctrlpts[1] = Y[1] + B.y * T));
+ }
+ M && this.findEndpoints(t);
+ }
+ };
+ $a.storeAllpts = function (t) {
+ var e = t._private.rscratch;
+ if (
+ e.edgeType === 'multibezier' ||
+ e.edgeType === 'bezier' ||
+ e.edgeType === 'self' ||
+ e.edgeType === 'compound'
+ ) {
+ (e.allpts = []), e.allpts.push(e.startX, e.startY);
+ for (var r = 0; r + 1 < e.ctrlpts.length; r += 2)
+ e.allpts.push(e.ctrlpts[r], e.ctrlpts[r + 1]),
+ r + 3 < e.ctrlpts.length &&
+ e.allpts.push(
+ (e.ctrlpts[r] + e.ctrlpts[r + 2]) / 2,
+ (e.ctrlpts[r + 1] + e.ctrlpts[r + 3]) / 2
+ );
+ e.allpts.push(e.endX, e.endY);
+ var n, i;
+ (e.ctrlpts.length / 2) % 2 === 0
+ ? ((n = e.allpts.length / 2 - 1), (e.midX = e.allpts[n]), (e.midY = e.allpts[n + 1]))
+ : ((n = e.allpts.length / 2 - 3),
+ (i = 0.5),
+ (e.midX = aa(e.allpts[n], e.allpts[n + 2], e.allpts[n + 4], i)),
+ (e.midY = aa(e.allpts[n + 1], e.allpts[n + 3], e.allpts[n + 5], i)));
+ } else if (e.edgeType === 'straight')
+ (e.allpts = [e.startX, e.startY, e.endX, e.endY]),
+ (e.midX = (e.startX + e.endX + e.arrowStartX + e.arrowEndX) / 4),
+ (e.midY = (e.startY + e.endY + e.arrowStartY + e.arrowEndY) / 4);
+ else if (e.edgeType === 'segments') {
+ if (
+ ((e.allpts = []),
+ e.allpts.push(e.startX, e.startY),
+ e.allpts.push.apply(e.allpts, e.segpts),
+ e.allpts.push(e.endX, e.endY),
+ e.isRound)
+ ) {
+ e.roundCorners = [];
+ for (var a = 2; a + 3 < e.allpts.length; a += 2) {
+ var s = e.radii[a / 2 - 1],
+ l = e.isArcRadius[a / 2 - 1];
+ e.roundCorners.push(
+ mB(
+ { x: e.allpts[a - 2], y: e.allpts[a - 1] },
+ { x: e.allpts[a], y: e.allpts[a + 1], radius: s },
+ { x: e.allpts[a + 2], y: e.allpts[a + 3] },
+ s,
+ l
+ )
+ );
+ }
+ }
+ if (e.segpts.length % 4 === 0) {
+ var u = e.segpts.length / 2,
+ h = u - 2;
+ (e.midX = (e.segpts[h] + e.segpts[u]) / 2), (e.midY = (e.segpts[h + 1] + e.segpts[u + 1]) / 2);
+ } else {
+ var f = e.segpts.length / 2 - 1;
+ if (!e.isRound) (e.midX = e.segpts[f]), (e.midY = e.segpts[f + 1]);
+ else {
+ var d = { x: e.segpts[f], y: e.segpts[f + 1] },
+ p = e.roundCorners[f / 2],
+ m = [d.x - p.cx, d.y - p.cy],
+ g = p.radius / Math.sqrt(Math.pow(m[0], 2) + Math.pow(m[1], 2));
+ (m = m.map(function (y) {
+ return y * g;
+ })),
+ (e.midX = p.cx + m[0]),
+ (e.midY = p.cy + m[1]),
+ (e.midVector = m);
+ }
+ }
+ }
+ };
+ $a.checkForInvalidEdgeWarning = function (t) {
+ var e = t[0]._private.rscratch;
+ e.nodesOverlap || (ft(e.startX) && ft(e.startY) && ft(e.endX) && ft(e.endY))
+ ? (e.loggedErr = !1)
+ : e.loggedErr ||
+ ((e.loggedErr = !0),
+ tn(
+ 'Edge `' +
+ t.id() +
+ '` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap.'
+ ));
+ };
+ $a.findEdgeControlPoints = function (t) {
+ var e = this;
+ if (!(!t || t.length === 0)) {
+ for (
+ var r = this,
+ n = r.cy,
+ i = n.hasCompoundNodes(),
+ a = {
+ map: new Vc(),
+ get: o(function (_) {
+ var A = this.map.get(_[0]);
+ return A != null ? A.get(_[1]) : null;
+ }, 'get'),
+ set: o(function (_, A) {
+ var L = this.map.get(_[0]);
+ L == null && ((L = new Vc()), this.map.set(_[0], L)), L.set(_[1], A);
+ }, 'set')
+ },
+ s = [],
+ l = [],
+ u = 0;
+ u < t.length;
+ u++
+ ) {
+ var h = t[u],
+ f = h._private,
+ d = h.pstyle('curve-style').value;
+ if (!(h.removed() || !h.takesUpSpace())) {
+ if (d === 'haystack') {
+ l.push(h);
+ continue;
+ }
+ var p =
+ d === 'unbundled-bezier' ||
+ d.endsWith('segments') ||
+ d === 'straight' ||
+ d === 'straight-triangle' ||
+ d.endsWith('taxi'),
+ m = d === 'unbundled-bezier' || d === 'bezier',
+ g = f.source,
+ y = f.target,
+ v = g.poolIndex(),
+ x = y.poolIndex(),
+ b = [v, x].sort(),
+ w = a.get(b);
+ w == null && ((w = { eles: [] }), a.set(b, w), s.push(b)),
+ w.eles.push(h),
+ p && (w.hasUnbundled = !0),
+ m && (w.hasBezier = !0);
+ }
+ }
+ for (
+ var S = o(function (_) {
+ var A = s[_],
+ L = a.get(A),
+ M = void 0;
+ if (!L.hasUnbundled) {
+ var N = L.eles[0].parallelEdges().filter(function (ge) {
+ return ge.isBundledBezier();
+ });
+ eB(L.eles),
+ N.forEach(function (ge) {
+ return L.eles.push(ge);
+ }),
+ L.eles.sort(function (ge, re) {
+ return ge.poolIndex() - re.poolIndex();
+ });
+ }
+ var k = L.eles[0],
+ I = k.source(),
+ C = k.target();
+ if (I.poolIndex() > C.poolIndex()) {
+ var O = I;
+ (I = C), (C = O);
+ }
+ var D = (L.srcPos = I.position()),
+ P = (L.tgtPos = C.position()),
+ F = (L.srcW = I.outerWidth()),
+ B = (L.srcH = I.outerHeight()),
+ $ = (L.tgtW = C.outerWidth()),
+ z = (L.tgtH = C.outerHeight()),
+ Y = (L.srcShape = r.nodeShapes[e.getNodeShape(I)]),
+ Q = (L.tgtShape = r.nodeShapes[e.getNodeShape(C)]),
+ X = (L.srcCornerRadius =
+ I.pstyle('corner-radius').value === 'auto'
+ ? 'auto'
+ : I.pstyle('corner-radius').pfValue),
+ ie = (L.tgtCornerRadius =
+ C.pstyle('corner-radius').value === 'auto'
+ ? 'auto'
+ : C.pstyle('corner-radius').pfValue),
+ j = (L.tgtRs = C._private.rscratch),
+ J = (L.srcRs = I._private.rscratch);
+ L.dirCounts = {
+ north: 0,
+ west: 0,
+ south: 0,
+ east: 0,
+ northwest: 0,
+ southwest: 0,
+ northeast: 0,
+ southeast: 0
+ };
+ for (var Z = 0; Z < L.eles.length; Z++) {
+ var H = L.eles[Z],
+ q = H[0]._private.rscratch,
+ K = H.pstyle('curve-style').value,
+ se = K === 'unbundled-bezier' || K.endsWith('segments') || K.endsWith('taxi'),
+ ce = !I.same(H.source());
+ if (!L.calculatedIntersection && I !== C && (L.hasBezier || L.hasUnbundled)) {
+ L.calculatedIntersection = !0;
+ var ue = Y.intersectLine(D.x, D.y, F, B, P.x, P.y, 0, X, J),
+ te = (L.srcIntn = ue),
+ De = Q.intersectLine(P.x, P.y, $, z, D.x, D.y, 0, ie, j),
+ oe = (L.tgtIntn = De),
+ ke = (L.intersectionPts = {
+ x1: ue[0],
+ x2: De[0],
+ y1: ue[1],
+ y2: De[1]
+ }),
+ Ie = (L.posPts = { x1: D.x, x2: P.x, y1: D.y, y2: P.y }),
+ Se = De[1] - ue[1],
+ Ue = De[0] - ue[0],
+ Pe = Math.sqrt(Ue * Ue + Se * Se),
+ _e = (L.vector = { x: Ue, y: Se }),
+ me = (L.vectorNorm = { x: _e.x / Pe, y: _e.y / Pe }),
+ W = { x: -me.y, y: me.x };
+ (L.nodesOverlap =
+ !ft(Pe) ||
+ Q.checkPoint(ue[0], ue[1], 0, $, z, P.x, P.y, ie, j) ||
+ Y.checkPoint(De[0], De[1], 0, F, B, D.x, D.y, X, J)),
+ (L.vectorNormInverse = W),
+ (M = {
+ nodesOverlap: L.nodesOverlap,
+ dirCounts: L.dirCounts,
+ calculatedIntersection: !0,
+ hasBezier: L.hasBezier,
+ hasUnbundled: L.hasUnbundled,
+ eles: L.eles,
+ srcPos: P,
+ tgtPos: D,
+ srcW: $,
+ srcH: z,
+ tgtW: F,
+ tgtH: B,
+ srcIntn: oe,
+ tgtIntn: te,
+ srcShape: Q,
+ tgtShape: Y,
+ posPts: { x1: Ie.x2, y1: Ie.y2, x2: Ie.x1, y2: Ie.y1 },
+ intersectionPts: {
+ x1: ke.x2,
+ y1: ke.y2,
+ x2: ke.x1,
+ y2: ke.y1
+ },
+ vector: { x: -_e.x, y: -_e.y },
+ vectorNorm: { x: -me.x, y: -me.y },
+ vectorNormInverse: { x: -W.x, y: -W.y }
+ });
+ }
+ var fe = ce ? M : L;
+ (q.nodesOverlap = fe.nodesOverlap),
+ (q.srcIntn = fe.srcIntn),
+ (q.tgtIntn = fe.tgtIntn),
+ (q.isRound = K.startsWith('round')),
+ i &&
+ (I.isParent() || I.isChild() || C.isParent() || C.isChild()) &&
+ (I.parents().anySame(C) ||
+ C.parents().anySame(I) ||
+ (I.same(C) && I.isParent()))
+ ? e.findCompoundLoopPoints(H, fe, Z, se)
+ : I === C
+ ? e.findLoopPoints(H, fe, Z, se)
+ : K.endsWith('segments')
+ ? e.findSegmentsPoints(H, fe)
+ : K.endsWith('taxi')
+ ? e.findTaxiPoints(H, fe)
+ : K === 'straight' ||
+ (!se && L.eles.length % 2 === 1 && Z === Math.floor(L.eles.length / 2))
+ ? e.findStraightEdgePoints(H)
+ : e.findBezierPoints(H, fe, Z, se, ce),
+ e.findEndpoints(H),
+ e.tryToCorrectInvalidPoints(H, fe),
+ e.checkForInvalidEdgeWarning(H),
+ e.storeAllpts(H),
+ e.storeEdgeProjections(H),
+ e.calculateArrowAngles(H),
+ e.recalculateEdgeLabelProjections(H),
+ e.calculateLabelAngles(H);
+ }
+ }, '_loop'),
+ T = 0;
+ T < s.length;
+ T++
+ )
+ S(T);
+ this.findHaystackPoints(l);
+ }
+ };
+ o(Fme, 'getPts');
+ $a.getSegmentPoints = function (t) {
+ var e = t[0]._private.rscratch,
+ r = e.edgeType;
+ if (r === 'segments') return this.recalculateRenderedStyle(t), Fme(e.segpts);
+ };
+ $a.getControlPoints = function (t) {
+ var e = t[0]._private.rscratch,
+ r = e.edgeType;
+ if (r === 'bezier' || r === 'multibezier' || r === 'self' || r === 'compound')
+ return this.recalculateRenderedStyle(t), Fme(e.ctrlpts);
+ };
+ $a.getEdgeMidpoint = function (t) {
+ var e = t[0]._private.rscratch;
+ return this.recalculateRenderedStyle(t), { x: e.midX, y: e.midY };
+ };
+ nb = {};
+ nb.manualEndptToPx = function (t, e) {
+ var r = this,
+ n = t.position(),
+ i = t.outerWidth(),
+ a = t.outerHeight(),
+ s = t._private.rscratch;
+ if (e.value.length === 2) {
+ var l = [e.pfValue[0], e.pfValue[1]];
+ return (
+ e.units[0] === '%' && (l[0] = l[0] * i),
+ e.units[1] === '%' && (l[1] = l[1] * a),
+ (l[0] += n.x),
+ (l[1] += n.y),
+ l
+ );
+ } else {
+ var u = e.pfValue[0];
+ u = -Math.PI / 2 + u;
+ var h = 2 * Math.max(i, a),
+ f = [n.x + Math.cos(u) * h, n.y + Math.sin(u) * h];
+ return r.nodeShapes[this.getNodeShape(t)].intersectLine(
+ n.x,
+ n.y,
+ i,
+ a,
+ f[0],
+ f[1],
+ 0,
+ t.pstyle('corner-radius').value === 'auto' ? 'auto' : t.pstyle('corner-radius').pfValue,
+ s
+ );
+ }
+ };
+ nb.findEndpoints = function (t) {
+ var e = this,
+ r,
+ n = t.source()[0],
+ i = t.target()[0],
+ a = n.position(),
+ s = i.position(),
+ l = t.pstyle('target-arrow-shape').value,
+ u = t.pstyle('source-arrow-shape').value,
+ h = t.pstyle('target-distance-from-node').pfValue,
+ f = t.pstyle('source-distance-from-node').pfValue,
+ d = n._private.rscratch,
+ p = i._private.rscratch,
+ m = t.pstyle('curve-style').value,
+ g = t._private.rscratch,
+ y = g.edgeType,
+ v = m === 'taxi',
+ x = y === 'self' || y === 'compound',
+ b = y === 'bezier' || y === 'multibezier' || x,
+ w = y !== 'bezier',
+ S = y === 'straight' || y === 'segments',
+ T = y === 'segments',
+ E = b || w || S,
+ _ = x || v,
+ A = t.pstyle('source-endpoint'),
+ L = _ ? 'outside-to-node' : A.value,
+ M = n.pstyle('corner-radius').value === 'auto' ? 'auto' : n.pstyle('corner-radius').pfValue,
+ N = t.pstyle('target-endpoint'),
+ k = _ ? 'outside-to-node' : N.value,
+ I = i.pstyle('corner-radius').value === 'auto' ? 'auto' : i.pstyle('corner-radius').pfValue;
+ (g.srcManEndpt = A), (g.tgtManEndpt = N);
+ var C, O, D, P;
+ if (b) {
+ var F = [g.ctrlpts[0], g.ctrlpts[1]],
+ B = w ? [g.ctrlpts[g.ctrlpts.length - 2], g.ctrlpts[g.ctrlpts.length - 1]] : F;
+ (C = B), (O = F);
+ } else if (S) {
+ var $ = T ? g.segpts.slice(0, 2) : [s.x, s.y],
+ z = T ? g.segpts.slice(g.segpts.length - 2) : [a.x, a.y];
+ (C = z), (O = $);
+ }
+ if (k === 'inside-to-node') r = [s.x, s.y];
+ else if (N.units) r = this.manualEndptToPx(i, N);
+ else if (k === 'outside-to-line') r = g.tgtIntn;
+ else if (
+ (k === 'outside-to-node' || k === 'outside-to-node-or-label'
+ ? (D = C)
+ : (k === 'outside-to-line' || k === 'outside-to-line-or-label') && (D = [a.x, a.y]),
+ (r = e.nodeShapes[this.getNodeShape(i)].intersectLine(
+ s.x,
+ s.y,
+ i.outerWidth(),
+ i.outerHeight(),
+ D[0],
+ D[1],
+ 0,
+ I,
+ p
+ )),
+ k === 'outside-to-node-or-label' || k === 'outside-to-line-or-label')
+ ) {
+ var Y = i._private.rscratch,
+ Q = Y.labelWidth,
+ X = Y.labelHeight,
+ ie = Y.labelX,
+ j = Y.labelY,
+ J = Q / 2,
+ Z = X / 2,
+ H = i.pstyle('text-valign').value;
+ H === 'top' ? (j -= Z) : H === 'bottom' && (j += Z);
+ var q = i.pstyle('text-halign').value;
+ q === 'left' ? (ie -= J) : q === 'right' && (ie += J);
+ var K = Yx(D[0], D[1], [ie - J, j - Z, ie + J, j - Z, ie + J, j + Z, ie - J, j + Z], s.x, s.y);
+ if (K.length > 0) {
+ var se = a,
+ ce = B0(se, Jg(r)),
+ ue = B0(se, Jg(K)),
+ te = ce;
+ if ((ue < ce && ((r = K), (te = ue)), K.length > 2)) {
+ var De = B0(se, { x: K[2], y: K[3] });
+ De < te && (r = [K[2], K[3]]);
+ }
+ }
+ }
+ var oe = i6(r, C, e.arrowShapes[l].spacing(t) + h),
+ ke = i6(r, C, e.arrowShapes[l].gap(t) + h);
+ if (
+ ((g.endX = ke[0]),
+ (g.endY = ke[1]),
+ (g.arrowEndX = oe[0]),
+ (g.arrowEndY = oe[1]),
+ L === 'inside-to-node')
+ )
+ r = [a.x, a.y];
+ else if (A.units) r = this.manualEndptToPx(n, A);
+ else if (L === 'outside-to-line') r = g.srcIntn;
+ else if (
+ (L === 'outside-to-node' || L === 'outside-to-node-or-label'
+ ? (P = O)
+ : (L === 'outside-to-line' || L === 'outside-to-line-or-label') && (P = [s.x, s.y]),
+ (r = e.nodeShapes[this.getNodeShape(n)].intersectLine(
+ a.x,
+ a.y,
+ n.outerWidth(),
+ n.outerHeight(),
+ P[0],
+ P[1],
+ 0,
+ M,
+ d
+ )),
+ L === 'outside-to-node-or-label' || L === 'outside-to-line-or-label')
+ ) {
+ var Ie = n._private.rscratch,
+ Se = Ie.labelWidth,
+ Ue = Ie.labelHeight,
+ Pe = Ie.labelX,
+ _e = Ie.labelY,
+ me = Se / 2,
+ W = Ue / 2,
+ fe = n.pstyle('text-valign').value;
+ fe === 'top' ? (_e -= W) : fe === 'bottom' && (_e += W);
+ var ge = n.pstyle('text-halign').value;
+ ge === 'left' ? (Pe -= me) : ge === 'right' && (Pe += me);
+ var re = Yx(
+ P[0],
+ P[1],
+ [Pe - me, _e - W, Pe + me, _e - W, Pe + me, _e + W, Pe - me, _e + W],
+ a.x,
+ a.y
+ );
+ if (re.length > 0) {
+ var he = s,
+ ne = B0(he, Jg(r)),
+ ae = B0(he, Jg(re)),
+ we = ne;
+ if ((ae < ne && ((r = [re[0], re[1]]), (we = ae)), re.length > 2)) {
+ var Te = B0(he, { x: re[2], y: re[3] });
+ Te < we && (r = [re[2], re[3]]);
+ }
+ }
+ }
+ var Ce = i6(r, O, e.arrowShapes[u].spacing(t) + f),
+ Ae = i6(r, O, e.arrowShapes[u].gap(t) + f);
+ (g.startX = Ae[0]),
+ (g.startY = Ae[1]),
+ (g.arrowStartX = Ce[0]),
+ (g.arrowStartY = Ce[1]),
+ E &&
+ (!ft(g.startX) || !ft(g.startY) || !ft(g.endX) || !ft(g.endY)
+ ? (g.badLine = !0)
+ : (g.badLine = !1));
+ };
+ nb.getSourceEndpoint = function (t) {
+ var e = t[0]._private.rscratch;
+ switch ((this.recalculateRenderedStyle(t), e.edgeType)) {
+ case 'haystack':
+ return { x: e.haystackPts[0], y: e.haystackPts[1] };
+ default:
+ return { x: e.arrowStartX, y: e.arrowStartY };
+ }
+ };
+ nb.getTargetEndpoint = function (t) {
+ var e = t[0]._private.rscratch;
+ switch ((this.recalculateRenderedStyle(t), e.edgeType)) {
+ case 'haystack':
+ return { x: e.haystackPts[2], y: e.haystackPts[3] };
+ default:
+ return { x: e.arrowEndX, y: e.arrowEndY };
+ }
+ };
+ gB = {};
+ o(hQe, 'pushBezierPts');
+ gB.storeEdgeProjections = function (t) {
+ var e = t._private,
+ r = e.rscratch,
+ n = r.edgeType;
+ if (
+ ((e.rstyle.bezierPts = null),
+ (e.rstyle.linePts = null),
+ (e.rstyle.haystackPts = null),
+ n === 'multibezier' || n === 'bezier' || n === 'self' || n === 'compound')
+ ) {
+ e.rstyle.bezierPts = [];
+ for (var i = 0; i + 5 < r.allpts.length; i += 4) hQe(this, t, r.allpts.slice(i, i + 6));
+ } else if (n === 'segments')
+ for (var a = (e.rstyle.linePts = []), i = 0; i + 1 < r.allpts.length; i += 2)
+ a.push({ x: r.allpts[i], y: r.allpts[i + 1] });
+ else if (n === 'haystack') {
+ var s = r.haystackPts;
+ e.rstyle.haystackPts = [
+ { x: s[0], y: s[1] },
+ { x: s[2], y: s[3] }
+ ];
+ }
+ e.rstyle.arrowWidth =
+ this.getArrowWidth(t.pstyle('width').pfValue, t.pstyle('arrow-scale').value) * this.arrowShapeWidth;
+ };
+ gB.recalculateEdgeProjections = function (t) {
+ this.findEdgeControlPoints(t);
+ };
+ Hc = {};
+ Hc.recalculateNodeLabelProjection = function (t) {
+ var e = t.pstyle('label').strValue;
+ if (!Sf(e)) {
+ var r,
+ n,
+ i = t._private,
+ a = t.width(),
+ s = t.height(),
+ l = t.padding(),
+ u = t.position(),
+ h = t.pstyle('text-halign').strValue,
+ f = t.pstyle('text-valign').strValue,
+ d = i.rscratch,
+ p = i.rstyle;
+ switch (h) {
+ case 'left':
+ r = u.x - a / 2 - l;
+ break;
+ case 'right':
+ r = u.x + a / 2 + l;
+ break;
+ default:
+ r = u.x;
+ }
+ switch (f) {
+ case 'top':
+ n = u.y - s / 2 - l;
+ break;
+ case 'bottom':
+ n = u.y + s / 2 + l;
+ break;
+ default:
+ n = u.y;
+ }
+ (d.labelX = r),
+ (d.labelY = n),
+ (p.labelX = r),
+ (p.labelY = n),
+ this.calculateLabelAngles(t),
+ this.applyLabelDimensions(t);
+ }
+ };
+ (zme = o(function (e, r) {
+ var n = Math.atan(r / e);
+ return e === 0 && n < 0 && (n = n * -1), n;
+ }, 'lineAngleFromDelta')),
+ (Gme = o(function (e, r) {
+ var n = r.x - e.x,
+ i = r.y - e.y;
+ return zme(n, i);
+ }, 'lineAngle')),
+ (fQe = o(function (e, r, n, i) {
+ var a = Hx(0, i - 0.001, 1),
+ s = Hx(0, i + 0.001, 1),
+ l = t1(e, r, n, a),
+ u = t1(e, r, n, s);
+ return Gme(l, u);
+ }, 'bezierAngle'));
+ Hc.recalculateEdgeLabelProjections = function (t) {
+ var e,
+ r = t._private,
+ n = r.rscratch,
+ i = this,
+ a = {
+ mid: t.pstyle('label').strValue,
+ source: t.pstyle('source-label').strValue,
+ target: t.pstyle('target-label').strValue
+ };
+ if (a.mid || a.source || a.target) {
+ e = { x: n.midX, y: n.midY };
+ var s = o(function (d, p, m) {
+ Tf(r.rscratch, d, p, m), Tf(r.rstyle, d, p, m);
+ }, 'setRs');
+ s('labelX', null, e.x), s('labelY', null, e.y);
+ var l = zme(n.midDispX, n.midDispY);
+ s('labelAutoAngle', null, l);
+ var u = o(function f() {
+ if (f.cache) return f.cache;
+ for (var d = [], p = 0; p + 5 < n.allpts.length; p += 4) {
+ var m = { x: n.allpts[p], y: n.allpts[p + 1] },
+ g = { x: n.allpts[p + 2], y: n.allpts[p + 3] },
+ y = { x: n.allpts[p + 4], y: n.allpts[p + 5] };
+ d.push({
+ p0: m,
+ p1: g,
+ p2: y,
+ startDist: 0,
+ length: 0,
+ segments: []
+ });
+ }
+ var v = r.rstyle.bezierPts,
+ x = i.bezierProjPcts.length;
+ function b(_, A, L, M, N) {
+ var k = H0(A, L),
+ I = _.segments[_.segments.length - 1],
+ C = {
+ p0: A,
+ p1: L,
+ t0: M,
+ t1: N,
+ startDist: I ? I.startDist + I.length : 0,
+ length: k
+ };
+ _.segments.push(C), (_.length += k);
+ }
+ o(b, 'addSegment');
+ for (var w = 0; w < d.length; w++) {
+ var S = d[w],
+ T = d[w - 1];
+ T && (S.startDist = T.startDist + T.length),
+ b(S, S.p0, v[w * x], 0, i.bezierProjPcts[0]);
+ for (var E = 0; E < x - 1; E++)
+ b(S, v[w * x + E], v[w * x + E + 1], i.bezierProjPcts[E], i.bezierProjPcts[E + 1]);
+ b(S, v[w * x + x - 1], S.p2, i.bezierProjPcts[x - 1], 1);
+ }
+ return (f.cache = d);
+ }, 'createControlPointInfo'),
+ h = o(function (d) {
+ var p,
+ m = d === 'source';
+ if (a[d]) {
+ var g = t.pstyle(d + '-text-offset').pfValue;
+ switch (n.edgeType) {
+ case 'self':
+ case 'compound':
+ case 'bezier':
+ case 'multibezier': {
+ for (var y = u(), v, x = 0, b = 0, w = 0; w < y.length; w++) {
+ for (
+ var S = y[m ? w : y.length - 1 - w], T = 0;
+ T < S.segments.length;
+ T++
+ ) {
+ var E = S.segments[m ? T : S.segments.length - 1 - T],
+ _ = w === y.length - 1 && T === S.segments.length - 1;
+ if (((x = b), (b += E.length), b >= g || _)) {
+ v = { cp: S, segment: E };
+ break;
+ }
+ }
+ if (v) break;
+ }
+ var A = v.cp,
+ L = v.segment,
+ M = (g - x) / L.length,
+ N = L.t1 - L.t0,
+ k = m ? L.t0 + N * M : L.t1 - N * M;
+ (k = Hx(0, k, 1)),
+ (e = t1(A.p0, A.p1, A.p2, k)),
+ (p = fQe(A.p0, A.p1, A.p2, k));
+ break;
+ }
+ case 'straight':
+ case 'segments':
+ case 'haystack': {
+ for (
+ var I = 0, C, O, D, P, F = n.allpts.length, B = 0;
+ B + 3 < F &&
+ (m
+ ? ((D = { x: n.allpts[B], y: n.allpts[B + 1] }),
+ (P = { x: n.allpts[B + 2], y: n.allpts[B + 3] }))
+ : ((D = {
+ x: n.allpts[F - 2 - B],
+ y: n.allpts[F - 1 - B]
+ }),
+ (P = {
+ x: n.allpts[F - 4 - B],
+ y: n.allpts[F - 3 - B]
+ })),
+ (C = H0(D, P)),
+ (O = I),
+ (I += C),
+ !(I >= g));
+ B += 2
+ );
+ var $ = g - O,
+ z = $ / C;
+ (z = Hx(0, z, 1)), (e = yWe(D, P, z)), (p = Gme(D, P));
+ break;
+ }
+ }
+ s('labelX', d, e.x), s('labelY', d, e.y), s('labelAutoAngle', d, p);
+ }
+ }, 'calculateEndProjection');
+ h('source'), h('target'), this.applyLabelDimensions(t);
+ }
+ };
+ Hc.applyLabelDimensions = function (t) {
+ this.applyPrefixedLabelDimensions(t),
+ t.isEdge() &&
+ (this.applyPrefixedLabelDimensions(t, 'source'),
+ this.applyPrefixedLabelDimensions(t, 'target'));
+ };
+ Hc.applyPrefixedLabelDimensions = function (t, e) {
+ var r = t._private,
+ n = this.getLabelText(t, e),
+ i = this.calculateLabelDimensions(t, n),
+ a = t.pstyle('line-height').pfValue,
+ s = t.pstyle('text-wrap').strValue,
+ l = Ul(r.rscratch, 'labelWrapCachedLines', e) || [],
+ u = s !== 'wrap' ? 1 : Math.max(l.length, 1),
+ h = i.height / u,
+ f = h * a,
+ d = i.width,
+ p = i.height + (u - 1) * (a - 1) * h;
+ Tf(r.rstyle, 'labelWidth', e, d),
+ Tf(r.rscratch, 'labelWidth', e, d),
+ Tf(r.rstyle, 'labelHeight', e, p),
+ Tf(r.rscratch, 'labelHeight', e, p),
+ Tf(r.rscratch, 'labelLineHeight', e, f);
+ };
+ Hc.getLabelText = function (t, e) {
+ var r = t._private,
+ n = e ? e + '-' : '',
+ i = t.pstyle(n + 'label').strValue,
+ a = t.pstyle('text-transform').value,
+ s = o(function (Q, X) {
+ return X ? (Tf(r.rscratch, Q, e, X), X) : Ul(r.rscratch, Q, e);
+ }, 'rscratch');
+ if (!i) return '';
+ a == 'none' || (a == 'uppercase' ? (i = i.toUpperCase()) : a == 'lowercase' && (i = i.toLowerCase()));
+ var l = t.pstyle('text-wrap').value;
+ if (l === 'wrap') {
+ var u = s('labelKey');
+ if (u != null && s('labelWrapKey') === u) return s('labelWrapCachedText');
+ for (
+ var h = '\u200B',
+ f = i.split(`
+`),
+ d = t.pstyle('text-max-width').pfValue,
+ p = t.pstyle('text-overflow-wrap').value,
+ m = p === 'anywhere',
+ g = [],
+ y = /[\s\u200b]+|$/g,
+ v = 0;
+ v < f.length;
+ v++
+ ) {
+ var x = f[v],
+ b = this.calculateLabelDimensions(t, x),
+ w = b.width;
+ if (m) {
+ var S = x.split('').join(h);
+ x = S;
+ }
+ if (w > d) {
+ var T = x.matchAll(y),
+ E = '',
+ _ = 0,
+ A = Tpe(T),
+ L;
+ try {
+ for (A.s(); !(L = A.n()).done; ) {
+ var M = L.value,
+ N = M[0],
+ k = x.substring(_, M.index);
+ _ = M.index + N.length;
+ var I = E.length === 0 ? k : E + k + N,
+ C = this.calculateLabelDimensions(t, I),
+ O = C.width;
+ O <= d ? (E += k + N) : (E && g.push(E), (E = k + N));
+ }
+ } catch (Y) {
+ A.e(Y);
+ } finally {
+ A.f();
+ }
+ E.match(/^[\s\u200b]+$/) || g.push(E);
+ } else g.push(x);
+ }
+ s('labelWrapCachedLines', g),
+ (i = s(
+ 'labelWrapCachedText',
+ g.join(`
+`)
+ )),
+ s('labelWrapKey', u);
+ } else if (l === 'ellipsis') {
+ var D = t.pstyle('text-max-width').pfValue,
+ P = '',
+ F = '\u2026',
+ B = !1;
+ if (this.calculateLabelDimensions(t, i).width < D) return i;
+ for (var $ = 0; $ < i.length; $++) {
+ var z = this.calculateLabelDimensions(t, P + i[$] + F).width;
+ if (z > D) break;
+ (P += i[$]), $ === i.length - 1 && (B = !0);
+ }
+ return B || (P += F), P;
+ }
+ return i;
+ };
+ Hc.getLabelJustification = function (t) {
+ var e = t.pstyle('text-justification').strValue,
+ r = t.pstyle('text-halign').strValue;
+ if (e === 'auto')
+ if (t.isNode())
+ switch (r) {
+ case 'left':
+ return 'right';
+ case 'right':
+ return 'left';
+ default:
+ return 'center';
+ }
+ else return 'center';
+ else return e;
+ };
+ Hc.calculateLabelDimensions = function (t, e) {
+ var r = this,
+ n = r.cy.window(),
+ i = n.document,
+ a = U0(e, t._private.labelDimsKey),
+ s = r.labelDimCache || (r.labelDimCache = []),
+ l = s[a];
+ if (l != null) return l;
+ var u = 0,
+ h = t.pstyle('font-style').strValue,
+ f = t.pstyle('font-size').pfValue,
+ d = t.pstyle('font-family').strValue,
+ p = t.pstyle('font-weight').strValue,
+ m = this.labelCalcCanvas,
+ g = this.labelCalcCanvasContext;
+ if (!m) {
+ (m = this.labelCalcCanvas = i.createElement('canvas')),
+ (g = this.labelCalcCanvasContext = m.getContext('2d'));
+ var y = m.style;
+ (y.position = 'absolute'),
+ (y.left = '-9999px'),
+ (y.top = '-9999px'),
+ (y.zIndex = '-1'),
+ (y.visibility = 'hidden'),
+ (y.pointerEvents = 'none');
+ }
+ g.font = ''.concat(h, ' ').concat(p, ' ').concat(f, 'px ').concat(d);
+ for (
+ var v = 0,
+ x = 0,
+ b = e.split(`
+`),
+ w = 0;
+ w < b.length;
+ w++
+ ) {
+ var S = b[w],
+ T = g.measureText(S),
+ E = Math.ceil(T.width),
+ _ = f;
+ (v = Math.max(E, v)), (x += _);
+ }
+ return (v += u), (x += u), (s[a] = { width: v, height: x });
+ };
+ Hc.calculateLabelAngle = function (t, e) {
+ var r = t._private,
+ n = r.rscratch,
+ i = t.isEdge(),
+ a = e ? e + '-' : '',
+ s = t.pstyle(a + 'text-rotation'),
+ l = s.strValue;
+ return l === 'none'
+ ? 0
+ : i && l === 'autorotate'
+ ? n.labelAutoAngle
+ : l === 'autorotate'
+ ? 0
+ : s.pfValue;
+ };
+ Hc.calculateLabelAngles = function (t) {
+ var e = this,
+ r = t.isEdge(),
+ n = t._private,
+ i = n.rscratch;
+ (i.labelAngle = e.calculateLabelAngle(t)),
+ r &&
+ ((i.sourceLabelAngle = e.calculateLabelAngle(t, 'source')),
+ (i.targetLabelAngle = e.calculateLabelAngle(t, 'target')));
+ };
+ ($me = {}), (cpe = 28), (upe = !1);
+ $me.getNodeShape = function (t) {
+ var e = this,
+ r = t.pstyle('shape').value;
+ if (r === 'cutrectangle' && (t.width() < cpe || t.height() < cpe))
+ return (
+ upe ||
+ (tn(
+ 'The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead'
+ ),
+ (upe = !0)),
+ 'rectangle'
+ );
+ if (t.isParent())
+ return r === 'rectangle' ||
+ r === 'roundrectangle' ||
+ r === 'round-rectangle' ||
+ r === 'cutrectangle' ||
+ r === 'cut-rectangle' ||
+ r === 'barrel'
+ ? r
+ : 'rectangle';
+ if (r === 'polygon') {
+ var n = t.pstyle('shape-polygon-points').value;
+ return e.nodeShapes.makePolygon(n).name;
+ }
+ return r;
+ };
+ K6 = {};
+ K6.registerCalculationListeners = function () {
+ var t = this.cy,
+ e = t.collection(),
+ r = this,
+ n = o(function (s) {
+ var l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
+ if ((e.merge(s), l))
+ for (var u = 0; u < s.length; u++) {
+ var h = s[u],
+ f = h._private,
+ d = f.rstyle;
+ (d.clean = !1), (d.cleanConnected = !1);
+ }
+ }, 'enqueue');
+ r.binder(t)
+ .on(
+ 'bounds.* dirty.*',
+ o(function (s) {
+ var l = s.target;
+ n(l);
+ }, 'onDirtyBounds')
+ )
+ .on(
+ 'style.* background.*',
+ o(function (s) {
+ var l = s.target;
+ n(l, !1);
+ }, 'onDirtyStyle')
+ );
+ var i = o(function (s) {
+ if (s) {
+ var l = r.onUpdateEleCalcsFns;
+ e.cleanStyle();
+ for (var u = 0; u < e.length; u++) {
+ var h = e[u],
+ f = h._private.rstyle;
+ h.isNode() && !f.cleanConnected && (n(h.connectedEdges()), (f.cleanConnected = !0));
+ }
+ if (l)
+ for (var d = 0; d < l.length; d++) {
+ var p = l[d];
+ p(s, e);
+ }
+ r.recalculateRenderedStyle(e), (e = t.collection());
+ }
+ }, 'updateEleCalcs');
+ (r.flushRenderedStyleQueue = function () {
+ i(!0);
+ }),
+ r.beforeRender(i, r.beforeRenderPriorities.eleCalcs);
+ };
+ K6.onUpdateEleCalcs = function (t) {
+ var e = (this.onUpdateEleCalcsFns = this.onUpdateEleCalcsFns || []);
+ e.push(t);
+ };
+ K6.recalculateRenderedStyle = function (t, e) {
+ var r = o(function (S) {
+ return S._private.rstyle.cleanConnected;
+ }, 'isCleanConnected'),
+ n = [],
+ i = [];
+ if (!this.destroyed) {
+ e === void 0 && (e = !0);
+ for (var a = 0; a < t.length; a++) {
+ var s = t[a],
+ l = s._private,
+ u = l.rstyle;
+ s.isEdge() && (!r(s.source()) || !r(s.target())) && (u.clean = !1),
+ !((e && u.clean) || s.removed()) &&
+ s.pstyle('display').value !== 'none' &&
+ (l.group === 'nodes' ? i.push(s) : n.push(s), (u.clean = !0));
+ }
+ for (var h = 0; h < i.length; h++) {
+ var f = i[h],
+ d = f._private,
+ p = d.rstyle,
+ m = f.position();
+ this.recalculateNodeLabelProjection(f),
+ (p.nodeX = m.x),
+ (p.nodeY = m.y),
+ (p.nodeW = f.pstyle('width').pfValue),
+ (p.nodeH = f.pstyle('height').pfValue);
+ }
+ this.recalculateEdgeProjections(n);
+ for (var g = 0; g < n.length; g++) {
+ var y = n[g],
+ v = y._private,
+ x = v.rstyle,
+ b = v.rscratch;
+ (x.srcX = b.arrowStartX),
+ (x.srcY = b.arrowStartY),
+ (x.tgtX = b.arrowEndX),
+ (x.tgtY = b.arrowEndY),
+ (x.midX = b.midX),
+ (x.midY = b.midY),
+ (x.labelAngle = b.labelAngle),
+ (x.sourceLabelAngle = b.sourceLabelAngle),
+ (x.targetLabelAngle = b.targetLabelAngle);
+ }
+ }
+ };
+ Q6 = {};
+ Q6.updateCachedGrabbedEles = function () {
+ var t = this.cachedZSortedEles;
+ if (t) {
+ (t.drag = []), (t.nondrag = []);
+ for (var e = [], r = 0; r < t.length; r++) {
+ var n = t[r],
+ i = n._private.rscratch;
+ n.grabbed() && !n.isParent() ? e.push(n) : i.inDragLayer ? t.drag.push(n) : t.nondrag.push(n);
+ }
+ for (var r = 0; r < e.length; r++) {
+ var n = e[r];
+ t.drag.push(n);
+ }
+ }
+ };
+ Q6.invalidateCachedZSortedEles = function () {
+ this.cachedZSortedEles = null;
+ };
+ Q6.getCachedZSortedEles = function (t) {
+ if (t || !this.cachedZSortedEles) {
+ var e = this.cy.mutableElements().toArray();
+ e.sort(Eme),
+ (e.interactive = e.filter(function (r) {
+ return r.interactive();
+ })),
+ (this.cachedZSortedEles = e),
+ this.updateCachedGrabbedEles();
+ } else e = this.cachedZSortedEles;
+ return e;
+ };
+ Vme = {};
+ [j0, N6, $a, nb, gB, Hc, $me, K6, Q6].forEach(function (t) {
+ Wt(Vme, t);
+ });
+ Ume = {};
+ Ume.getCachedImage = function (t, e, r) {
+ var n = this,
+ i = (n.imageCache = n.imageCache || {}),
+ a = i[t];
+ if (a) return a.image.complete || a.image.addEventListener('load', r), a.image;
+ a = i[t] = i[t] || {};
+ var s = (a.image = new Image());
+ s.addEventListener('load', r),
+ s.addEventListener('error', function () {
+ s.error = !0;
+ });
+ var l = 'data:',
+ u = t.substring(0, l.length).toLowerCase() === l;
+ return u || ((e = e === 'null' ? null : e), (s.crossOrigin = e)), (s.src = t), s;
+ };
+ g1 = {};
+ g1.registerBinding = function (t, e, r, n) {
+ var i = Array.prototype.slice.apply(arguments, [1]),
+ a = this.binder(t);
+ return a.on.apply(a, i);
+ };
+ g1.binder = function (t) {
+ var e = this,
+ r = e.cy.window(),
+ n = t === r || t === r.document || t === r.document.body || BHe(t);
+ if (e.supportsPassiveEvents == null) {
+ var i = !1;
+ try {
+ var a = Object.defineProperty({}, 'passive', {
+ get: o(function () {
+ return (i = !0), !0;
+ }, 'get')
+ });
+ r.addEventListener('test', null, a);
+ } catch {}
+ e.supportsPassiveEvents = i;
+ }
+ var s = o(function (u, h, f) {
+ var d = Array.prototype.slice.call(arguments);
+ return (
+ n && e.supportsPassiveEvents && (d[2] = { capture: f ?? !1, passive: !1, once: !1 }),
+ e.bindings.push({ target: t, args: d }),
+ (t.addEventListener || t.on).apply(t, d),
+ this
+ );
+ }, 'on');
+ return { on: s, addEventListener: s, addListener: s, bind: s };
+ };
+ g1.nodeIsDraggable = function (t) {
+ return t && t.isNode() && !t.locked() && t.grabbable();
+ };
+ g1.nodeIsGrabbable = function (t) {
+ return this.nodeIsDraggable(t) && t.interactive();
+ };
+ g1.load = function () {
+ var t = this,
+ e = t.cy.window(),
+ r = o(function (W) {
+ return W.selected();
+ }, 'isSelected'),
+ n = o(function (W, fe, ge, re) {
+ W == null && (W = t.cy);
+ for (var he = 0; he < fe.length; he++) {
+ var ne = fe[he];
+ W.emit({ originalEvent: ge, type: ne, position: re });
+ }
+ }, 'triggerEvents'),
+ i = o(function (W) {
+ return W.shiftKey || W.metaKey || W.ctrlKey;
+ }, 'isMultSelKeyDown'),
+ a = o(function (W, fe) {
+ var ge = !0;
+ if (t.cy.hasCompoundNodes() && W && W.pannable())
+ for (var re = 0; fe && re < fe.length; re++) {
+ var W = fe[re];
+ if (W.isNode() && W.isParent() && !W.pannable()) {
+ ge = !1;
+ break;
+ }
+ }
+ else ge = !0;
+ return ge;
+ }, 'allowPanningPassthrough'),
+ s = o(function (W) {
+ W[0]._private.grabbed = !0;
+ }, 'setGrabbed'),
+ l = o(function (W) {
+ W[0]._private.grabbed = !1;
+ }, 'setFreed'),
+ u = o(function (W) {
+ W[0]._private.rscratch.inDragLayer = !0;
+ }, 'setInDragLayer'),
+ h = o(function (W) {
+ W[0]._private.rscratch.inDragLayer = !1;
+ }, 'setOutDragLayer'),
+ f = o(function (W) {
+ W[0]._private.rscratch.isGrabTarget = !0;
+ }, 'setGrabTarget'),
+ d = o(function (W) {
+ W[0]._private.rscratch.isGrabTarget = !1;
+ }, 'removeGrabTarget'),
+ p = o(function (W, fe) {
+ var ge = fe.addToList,
+ re = ge.has(W);
+ !re && W.grabbable() && !W.locked() && (ge.merge(W), s(W));
+ }, 'addToDragList'),
+ m = o(function (W, fe) {
+ if (W.cy().hasCompoundNodes() && !(fe.inDragLayer == null && fe.addToList == null)) {
+ var ge = W.descendants();
+ fe.inDragLayer && (ge.forEach(u), ge.connectedEdges().forEach(u)),
+ fe.addToList && p(ge, fe);
+ }
+ }, 'addDescendantsToDrag'),
+ g = o(function (W, fe) {
+ fe = fe || {};
+ var ge = W.cy().hasCompoundNodes();
+ fe.inDragLayer &&
+ (W.forEach(u),
+ W.neighborhood()
+ .stdFilter(function (re) {
+ return !ge || re.isEdge();
+ })
+ .forEach(u)),
+ fe.addToList &&
+ W.forEach(function (re) {
+ p(re, fe);
+ }),
+ m(W, fe),
+ x(W, { inDragLayer: fe.inDragLayer }),
+ t.updateCachedGrabbedEles();
+ }, 'addNodesToDrag'),
+ y = g,
+ v = o(function (W) {
+ W &&
+ (t.getCachedZSortedEles().forEach(function (fe) {
+ l(fe), h(fe), d(fe);
+ }),
+ t.updateCachedGrabbedEles());
+ }, 'freeDraggedElements'),
+ x = o(function (W, fe) {
+ if (!(fe.inDragLayer == null && fe.addToList == null) && W.cy().hasCompoundNodes()) {
+ var ge = W.ancestors().orphans();
+ if (!ge.same(W)) {
+ var re = ge.descendants().spawnSelf().merge(ge).unmerge(W).unmerge(W.descendants()),
+ he = re.connectedEdges();
+ fe.inDragLayer && (he.forEach(u), re.forEach(u)),
+ fe.addToList &&
+ re.forEach(function (ne) {
+ p(ne, fe);
+ });
+ }
+ }
+ }, 'updateAncestorsInDragLayer'),
+ b = o(function () {
+ document.activeElement != null &&
+ document.activeElement.blur != null &&
+ document.activeElement.blur();
+ }, 'blurActiveDomElement'),
+ w = typeof MutationObserver < 'u',
+ S = typeof ResizeObserver < 'u';
+ w
+ ? ((t.removeObserver = new MutationObserver(function (me) {
+ for (var W = 0; W < me.length; W++) {
+ var fe = me[W],
+ ge = fe.removedNodes;
+ if (ge)
+ for (var re = 0; re < ge.length; re++) {
+ var he = ge[re];
+ if (he === t.container) {
+ t.destroy();
+ break;
+ }
+ }
+ }
+ })),
+ t.container.parentNode &&
+ t.removeObserver.observe(t.container.parentNode, {
+ childList: !0
+ }))
+ : t.registerBinding(t.container, 'DOMNodeRemoved', function (me) {
+ t.destroy();
+ });
+ var T = P6(function () {
+ t.cy.resize();
+ }, 100);
+ w &&
+ ((t.styleObserver = new MutationObserver(T)),
+ t.styleObserver.observe(t.container, { attributes: !0 })),
+ t.registerBinding(e, 'resize', T),
+ S && ((t.resizeObserver = new ResizeObserver(T)), t.resizeObserver.observe(t.container));
+ var E = o(function (W, fe) {
+ for (; W != null; ) fe(W), (W = W.parentNode);
+ }, 'forEachUp'),
+ _ = o(function () {
+ t.invalidateContainerClientCoordsCache();
+ }, 'invalidateCoords');
+ E(t.container, function (me) {
+ t.registerBinding(me, 'transitionend', _),
+ t.registerBinding(me, 'animationend', _),
+ t.registerBinding(me, 'scroll', _);
+ }),
+ t.registerBinding(t.container, 'contextmenu', function (me) {
+ me.preventDefault();
+ });
+ var A = o(function () {
+ return t.selection[4] !== 0;
+ }, 'inBoxSelection'),
+ L = o(function (W) {
+ for (
+ var fe = t.findContainerClientCoords(),
+ ge = fe[0],
+ re = fe[1],
+ he = fe[2],
+ ne = fe[3],
+ ae = W.touches ? W.touches : [W],
+ we = !1,
+ Te = 0;
+ Te < ae.length;
+ Te++
+ ) {
+ var Ce = ae[Te];
+ if (
+ ge <= Ce.clientX &&
+ Ce.clientX <= ge + he &&
+ re <= Ce.clientY &&
+ Ce.clientY <= re + ne
+ ) {
+ we = !0;
+ break;
+ }
+ }
+ if (!we) return !1;
+ for (var Ae = t.container, Ge = W.target, Me = Ge.parentNode, ye = !1; Me; ) {
+ if (Me === Ae) {
+ ye = !0;
+ break;
+ }
+ Me = Me.parentNode;
+ }
+ return !!ye;
+ }, 'eventInContainer');
+ t.registerBinding(
+ t.container,
+ 'mousedown',
+ o(function (W) {
+ if (L(W) && !(t.hoverData.which === 1 && W.which !== 1)) {
+ W.preventDefault(), b(), (t.hoverData.capture = !0), (t.hoverData.which = W.which);
+ var fe = t.cy,
+ ge = [W.clientX, W.clientY],
+ re = t.projectIntoViewport(ge[0], ge[1]),
+ he = t.selection,
+ ne = t.findNearestElements(re[0], re[1], !0, !1),
+ ae = ne[0],
+ we = t.dragData.possibleDragElements;
+ (t.hoverData.mdownPos = re), (t.hoverData.mdownGPos = ge);
+ var Te = o(function () {
+ (t.hoverData.tapholdCancelled = !1),
+ clearTimeout(t.hoverData.tapholdTimeout),
+ (t.hoverData.tapholdTimeout = setTimeout(function () {
+ if (!t.hoverData.tapholdCancelled) {
+ var He = t.hoverData.down;
+ He
+ ? He.emit({
+ originalEvent: W,
+ type: 'taphold',
+ position: { x: re[0], y: re[1] }
+ })
+ : fe.emit({
+ originalEvent: W,
+ type: 'taphold',
+ position: { x: re[0], y: re[1] }
+ });
+ }
+ }, t.tapholdDuration));
+ }, 'checkForTaphold');
+ if (W.which == 3) {
+ t.hoverData.cxtStarted = !0;
+ var Ce = {
+ originalEvent: W,
+ type: 'cxttapstart',
+ position: { x: re[0], y: re[1] }
+ };
+ ae ? (ae.activate(), ae.emit(Ce), (t.hoverData.down = ae)) : fe.emit(Ce),
+ (t.hoverData.downTime = new Date().getTime()),
+ (t.hoverData.cxtDragged = !1);
+ } else if (W.which == 1) {
+ ae && ae.activate();
+ {
+ if (ae != null && t.nodeIsGrabbable(ae)) {
+ var Ae = o(function (He) {
+ return {
+ originalEvent: W,
+ type: He,
+ position: { x: re[0], y: re[1] }
+ };
+ }, 'makeEvent'),
+ Ge = o(function (He) {
+ He.emit(Ae('grab'));
+ }, 'triggerGrab');
+ if ((f(ae), !ae.selected()))
+ (we = t.dragData.possibleDragElements = fe.collection()),
+ y(ae, { addToList: we }),
+ ae.emit(Ae('grabon')).emit(Ae('grab'));
+ else {
+ we = t.dragData.possibleDragElements = fe.collection();
+ var Me = fe.$(function (ye) {
+ return ye.isNode() && ye.selected() && t.nodeIsGrabbable(ye);
+ });
+ g(Me, { addToList: we }), ae.emit(Ae('grabon')), Me.forEach(Ge);
+ }
+ t.redrawHint('eles', !0), t.redrawHint('drag', !0);
+ }
+ (t.hoverData.down = ae),
+ (t.hoverData.downs = ne),
+ (t.hoverData.downTime = new Date().getTime());
+ }
+ n(ae, ['mousedown', 'tapstart', 'vmousedown'], W, {
+ x: re[0],
+ y: re[1]
+ }),
+ ae == null
+ ? ((he[4] = 1),
+ (t.data.bgActivePosistion = { x: re[0], y: re[1] }),
+ t.redrawHint('select', !0),
+ t.redraw())
+ : ae.pannable() && (he[4] = 1),
+ Te();
+ }
+ (he[0] = he[2] = re[0]), (he[1] = he[3] = re[1]);
+ }
+ }, 'mousedownHandler'),
+ !1
+ ),
+ t.registerBinding(
+ e,
+ 'mousemove',
+ o(function (W) {
+ var fe = t.hoverData.capture;
+ if (!(!fe && !L(W))) {
+ var ge = !1,
+ re = t.cy,
+ he = re.zoom(),
+ ne = [W.clientX, W.clientY],
+ ae = t.projectIntoViewport(ne[0], ne[1]),
+ we = t.hoverData.mdownPos,
+ Te = t.hoverData.mdownGPos,
+ Ce = t.selection,
+ Ae = null;
+ !t.hoverData.draggingEles &&
+ !t.hoverData.dragging &&
+ !t.hoverData.selecting &&
+ (Ae = t.findNearestElement(ae[0], ae[1], !0, !1));
+ var Ge = t.hoverData.last,
+ Me = t.hoverData.down,
+ ye = [ae[0] - Ce[2], ae[1] - Ce[3]],
+ He = t.dragData.possibleDragElements,
+ ze;
+ if (Te) {
+ var Ze = ne[0] - Te[0],
+ gt = Ze * Ze,
+ yt = ne[1] - Te[1],
+ tt = yt * yt,
+ Ye = gt + tt;
+ t.hoverData.isOverThresholdDrag = ze = Ye >= t.desktopTapThreshold2;
+ }
+ var Je = i(W);
+ ze && (t.hoverData.tapholdCancelled = !0);
+ var Ve = o(function () {
+ var St = (t.hoverData.dragDelta = t.hoverData.dragDelta || []);
+ St.length === 0
+ ? (St.push(ye[0]), St.push(ye[1]))
+ : ((St[0] += ye[0]), (St[1] += ye[1]));
+ }, 'updateDragDelta');
+ (ge = !0),
+ n(Ae, ['mousemove', 'vmousemove', 'tapdrag'], W, {
+ x: ae[0],
+ y: ae[1]
+ });
+ var je = o(function () {
+ (t.data.bgActivePosistion = void 0),
+ t.hoverData.selecting ||
+ re.emit({
+ originalEvent: W,
+ type: 'boxstart',
+ position: { x: ae[0], y: ae[1] }
+ }),
+ (Ce[4] = 1),
+ (t.hoverData.selecting = !0),
+ t.redrawHint('select', !0),
+ t.redraw();
+ }, 'goIntoBoxMode');
+ if (t.hoverData.which === 3) {
+ if (ze) {
+ var kt = {
+ originalEvent: W,
+ type: 'cxtdrag',
+ position: { x: ae[0], y: ae[1] }
+ };
+ Me ? Me.emit(kt) : re.emit(kt),
+ (t.hoverData.cxtDragged = !0),
+ (!t.hoverData.cxtOver || Ae !== t.hoverData.cxtOver) &&
+ (t.hoverData.cxtOver &&
+ t.hoverData.cxtOver.emit({
+ originalEvent: W,
+ type: 'cxtdragout',
+ position: { x: ae[0], y: ae[1] }
+ }),
+ (t.hoverData.cxtOver = Ae),
+ Ae &&
+ Ae.emit({
+ originalEvent: W,
+ type: 'cxtdragover',
+ position: { x: ae[0], y: ae[1] }
+ }));
+ }
+ } else if (t.hoverData.dragging) {
+ if (((ge = !0), re.panningEnabled() && re.userPanningEnabled())) {
+ var at;
+ if (t.hoverData.justStartedPan) {
+ var xt = t.hoverData.mdownPos;
+ (at = {
+ x: (ae[0] - xt[0]) * he,
+ y: (ae[1] - xt[1]) * he
+ }),
+ (t.hoverData.justStartedPan = !1);
+ } else at = { x: ye[0] * he, y: ye[1] * he };
+ re.panBy(at), re.emit('dragpan'), (t.hoverData.dragged = !0);
+ }
+ ae = t.projectIntoViewport(W.clientX, W.clientY);
+ } else if (Ce[4] == 1 && (Me == null || Me.pannable())) {
+ if (ze) {
+ if (
+ !t.hoverData.dragging &&
+ re.boxSelectionEnabled() &&
+ (Je || !re.panningEnabled() || !re.userPanningEnabled())
+ )
+ je();
+ else if (
+ !t.hoverData.selecting &&
+ re.panningEnabled() &&
+ re.userPanningEnabled()
+ ) {
+ var it = a(Me, t.hoverData.downs);
+ it &&
+ ((t.hoverData.dragging = !0),
+ (t.hoverData.justStartedPan = !0),
+ (Ce[4] = 0),
+ (t.data.bgActivePosistion = Jg(we)),
+ t.redrawHint('select', !0),
+ t.redraw());
+ }
+ Me && Me.pannable() && Me.active() && Me.unactivate();
+ }
+ } else {
+ if (
+ (Me && Me.pannable() && Me.active() && Me.unactivate(),
+ (!Me || !Me.grabbed()) &&
+ Ae != Ge &&
+ (Ge &&
+ n(Ge, ['mouseout', 'tapdragout'], W, {
+ x: ae[0],
+ y: ae[1]
+ }),
+ Ae &&
+ n(Ae, ['mouseover', 'tapdragover'], W, {
+ x: ae[0],
+ y: ae[1]
+ }),
+ (t.hoverData.last = Ae)),
+ Me)
+ )
+ if (ze) {
+ if (re.boxSelectionEnabled() && Je)
+ Me &&
+ Me.grabbed() &&
+ (v(He),
+ Me.emit('freeon'),
+ He.emit('free'),
+ t.dragData.didDrag && (Me.emit('dragfreeon'), He.emit('dragfree'))),
+ je();
+ else if (Me && Me.grabbed() && t.nodeIsDraggable(Me)) {
+ var dt = !t.dragData.didDrag;
+ dt && t.redrawHint('eles', !0),
+ (t.dragData.didDrag = !0),
+ t.hoverData.draggingEles || g(He, { inDragLayer: !0 });
+ var lt = { x: 0, y: 0 };
+ if (ft(ye[0]) && ft(ye[1]) && ((lt.x += ye[0]), (lt.y += ye[1]), dt)) {
+ var It = t.hoverData.dragDelta;
+ It && ft(It[0]) && ft(It[1]) && ((lt.x += It[0]), (lt.y += It[1]));
+ }
+ (t.hoverData.draggingEles = !0),
+ He.silentShift(lt).emit('position drag'),
+ t.redrawHint('drag', !0),
+ t.redraw();
+ }
+ } else Ve();
+ ge = !0;
+ }
+ if (((Ce[2] = ae[0]), (Ce[3] = ae[1]), ge))
+ return (
+ W.stopPropagation && W.stopPropagation(),
+ W.preventDefault && W.preventDefault(),
+ !1
+ );
+ }
+ }, 'mousemoveHandler'),
+ !1
+ );
+ var M, N, k;
+ t.registerBinding(
+ e,
+ 'mouseup',
+ o(function (W) {
+ if (!(t.hoverData.which === 1 && W.which !== 1 && t.hoverData.capture)) {
+ var fe = t.hoverData.capture;
+ if (fe) {
+ t.hoverData.capture = !1;
+ var ge = t.cy,
+ re = t.projectIntoViewport(W.clientX, W.clientY),
+ he = t.selection,
+ ne = t.findNearestElement(re[0], re[1], !0, !1),
+ ae = t.dragData.possibleDragElements,
+ we = t.hoverData.down,
+ Te = i(W);
+ if (
+ (t.data.bgActivePosistion && (t.redrawHint('select', !0), t.redraw()),
+ (t.hoverData.tapholdCancelled = !0),
+ (t.data.bgActivePosistion = void 0),
+ we && we.unactivate(),
+ t.hoverData.which === 3)
+ ) {
+ var Ce = {
+ originalEvent: W,
+ type: 'cxttapend',
+ position: { x: re[0], y: re[1] }
+ };
+ if ((we ? we.emit(Ce) : ge.emit(Ce), !t.hoverData.cxtDragged)) {
+ var Ae = {
+ originalEvent: W,
+ type: 'cxttap',
+ position: { x: re[0], y: re[1] }
+ };
+ we ? we.emit(Ae) : ge.emit(Ae);
+ }
+ (t.hoverData.cxtDragged = !1), (t.hoverData.which = null);
+ } else if (t.hoverData.which === 1) {
+ if (
+ (n(ne, ['mouseup', 'tapend', 'vmouseup'], W, {
+ x: re[0],
+ y: re[1]
+ }),
+ !t.dragData.didDrag &&
+ !t.hoverData.dragged &&
+ !t.hoverData.selecting &&
+ !t.hoverData.isOverThresholdDrag &&
+ (n(we, ['click', 'tap', 'vclick'], W, {
+ x: re[0],
+ y: re[1]
+ }),
+ (N = !1),
+ W.timeStamp - k <= ge.multiClickDebounceTime()
+ ? (M && clearTimeout(M),
+ (N = !0),
+ (k = null),
+ n(we, ['dblclick', 'dbltap', 'vdblclick'], W, {
+ x: re[0],
+ y: re[1]
+ }))
+ : ((M = setTimeout(function () {
+ N ||
+ n(we, ['oneclick', 'onetap', 'voneclick'], W, {
+ x: re[0],
+ y: re[1]
+ });
+ }, ge.multiClickDebounceTime())),
+ (k = W.timeStamp))),
+ we == null &&
+ !t.dragData.didDrag &&
+ !t.hoverData.selecting &&
+ !t.hoverData.dragged &&
+ !i(W) &&
+ (ge.$(r).unselect(['tapunselect']),
+ ae.length > 0 && t.redrawHint('eles', !0),
+ (t.dragData.possibleDragElements = ae = ge.collection())),
+ ne == we &&
+ !t.dragData.didDrag &&
+ !t.hoverData.selecting &&
+ ne != null &&
+ ne._private.selectable &&
+ (t.hoverData.dragging ||
+ (ge.selectionType() === 'additive' || Te
+ ? ne.selected()
+ ? ne.unselect(['tapunselect'])
+ : ne.select(['tapselect'])
+ : Te ||
+ (ge.$(r).unmerge(ne).unselect(['tapunselect']),
+ ne.select(['tapselect']))),
+ t.redrawHint('eles', !0)),
+ t.hoverData.selecting)
+ ) {
+ var Ge = ge.collection(t.getAllInBox(he[0], he[1], he[2], he[3]));
+ t.redrawHint('select', !0),
+ Ge.length > 0 && t.redrawHint('eles', !0),
+ ge.emit({
+ type: 'boxend',
+ originalEvent: W,
+ position: { x: re[0], y: re[1] }
+ });
+ var Me = o(function (ze) {
+ return ze.selectable() && !ze.selected();
+ }, 'eleWouldBeSelected');
+ ge.selectionType() === 'additive' || Te || ge.$(r).unmerge(Ge).unselect(),
+ Ge.emit('box').stdFilter(Me).select().emit('boxselect'),
+ t.redraw();
+ }
+ if (
+ (t.hoverData.dragging &&
+ ((t.hoverData.dragging = !1),
+ t.redrawHint('select', !0),
+ t.redrawHint('eles', !0),
+ t.redraw()),
+ !he[4])
+ ) {
+ t.redrawHint('drag', !0), t.redrawHint('eles', !0);
+ var ye = we && we.grabbed();
+ v(ae),
+ ye &&
+ (we.emit('freeon'),
+ ae.emit('free'),
+ t.dragData.didDrag && (we.emit('dragfreeon'), ae.emit('dragfree')));
+ }
+ }
+ (he[4] = 0),
+ (t.hoverData.down = null),
+ (t.hoverData.cxtStarted = !1),
+ (t.hoverData.draggingEles = !1),
+ (t.hoverData.selecting = !1),
+ (t.hoverData.isOverThresholdDrag = !1),
+ (t.dragData.didDrag = !1),
+ (t.hoverData.dragged = !1),
+ (t.hoverData.dragDelta = []),
+ (t.hoverData.mdownPos = null),
+ (t.hoverData.mdownGPos = null);
+ }
+ }
+ }, 'mouseupHandler'),
+ !1
+ );
+ var I = o(function (W) {
+ if (!t.scrollingPage) {
+ var fe = t.cy,
+ ge = fe.zoom(),
+ re = fe.pan(),
+ he = t.projectIntoViewport(W.clientX, W.clientY),
+ ne = [he[0] * ge + re.x, he[1] * ge + re.y];
+ if (t.hoverData.draggingEles || t.hoverData.dragging || t.hoverData.cxtStarted || A()) {
+ W.preventDefault();
+ return;
+ }
+ if (
+ fe.panningEnabled() &&
+ fe.userPanningEnabled() &&
+ fe.zoomingEnabled() &&
+ fe.userZoomingEnabled()
+ ) {
+ W.preventDefault(),
+ (t.data.wheelZooming = !0),
+ clearTimeout(t.data.wheelTimeout),
+ (t.data.wheelTimeout = setTimeout(function () {
+ (t.data.wheelZooming = !1), t.redrawHint('eles', !0), t.redraw();
+ }, 150));
+ var ae;
+ W.deltaY != null
+ ? (ae = W.deltaY / -250)
+ : W.wheelDeltaY != null
+ ? (ae = W.wheelDeltaY / 1e3)
+ : (ae = W.wheelDelta / 1e3),
+ (ae = ae * t.wheelSensitivity);
+ var we = W.deltaMode === 1;
+ we && (ae *= 33);
+ var Te = fe.zoom() * Math.pow(10, ae);
+ W.type === 'gesturechange' && (Te = t.gestureStartZoom * W.scale),
+ fe.zoom({
+ level: Te,
+ renderedPosition: { x: ne[0], y: ne[1] }
+ }),
+ fe.emit(W.type === 'gesturechange' ? 'pinchzoom' : 'scrollzoom');
+ }
+ }
+ }, 'wheelHandler');
+ t.registerBinding(t.container, 'wheel', I, !0),
+ t.registerBinding(
+ e,
+ 'scroll',
+ o(function (W) {
+ (t.scrollingPage = !0),
+ clearTimeout(t.scrollingPageTimeout),
+ (t.scrollingPageTimeout = setTimeout(function () {
+ t.scrollingPage = !1;
+ }, 250));
+ }, 'scrollHandler'),
+ !0
+ ),
+ t.registerBinding(
+ t.container,
+ 'gesturestart',
+ o(function (W) {
+ (t.gestureStartZoom = t.cy.zoom()), t.hasTouchStarted || W.preventDefault();
+ }, 'gestureStartHandler'),
+ !0
+ ),
+ t.registerBinding(
+ t.container,
+ 'gesturechange',
+ function (me) {
+ t.hasTouchStarted || I(me);
+ },
+ !0
+ ),
+ t.registerBinding(
+ t.container,
+ 'mouseout',
+ o(function (W) {
+ var fe = t.projectIntoViewport(W.clientX, W.clientY);
+ t.cy.emit({
+ originalEvent: W,
+ type: 'mouseout',
+ position: { x: fe[0], y: fe[1] }
+ });
+ }, 'mouseOutHandler'),
+ !1
+ ),
+ t.registerBinding(
+ t.container,
+ 'mouseover',
+ o(function (W) {
+ var fe = t.projectIntoViewport(W.clientX, W.clientY);
+ t.cy.emit({
+ originalEvent: W,
+ type: 'mouseover',
+ position: { x: fe[0], y: fe[1] }
+ });
+ }, 'mouseOverHandler'),
+ !1
+ );
+ var C,
+ O,
+ D,
+ P,
+ F,
+ B,
+ $,
+ z,
+ Y,
+ Q,
+ X,
+ ie,
+ j,
+ J = o(function (W, fe, ge, re) {
+ return Math.sqrt((ge - W) * (ge - W) + (re - fe) * (re - fe));
+ }, 'distance'),
+ Z = o(function (W, fe, ge, re) {
+ return (ge - W) * (ge - W) + (re - fe) * (re - fe);
+ }, 'distanceSq'),
+ H;
+ t.registerBinding(
+ t.container,
+ 'touchstart',
+ (H = o(function (W) {
+ if (((t.hasTouchStarted = !0), !!L(W))) {
+ b(), (t.touchData.capture = !0), (t.data.bgActivePosistion = void 0);
+ var fe = t.cy,
+ ge = t.touchData.now,
+ re = t.touchData.earlier;
+ if (W.touches[0]) {
+ var he = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY);
+ (ge[0] = he[0]), (ge[1] = he[1]);
+ }
+ if (W.touches[1]) {
+ var he = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY);
+ (ge[2] = he[0]), (ge[3] = he[1]);
+ }
+ if (W.touches[2]) {
+ var he = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY);
+ (ge[4] = he[0]), (ge[5] = he[1]);
+ }
+ if (W.touches[1]) {
+ (t.touchData.singleTouchMoved = !0), v(t.dragData.touchDragEles);
+ var ne = t.findContainerClientCoords();
+ (Y = ne[0]),
+ (Q = ne[1]),
+ (X = ne[2]),
+ (ie = ne[3]),
+ (C = W.touches[0].clientX - Y),
+ (O = W.touches[0].clientY - Q),
+ (D = W.touches[1].clientX - Y),
+ (P = W.touches[1].clientY - Q),
+ (j =
+ 0 <= C && C <= X && 0 <= D && D <= X && 0 <= O && O <= ie && 0 <= P && P <= ie);
+ var ae = fe.pan(),
+ we = fe.zoom();
+ (F = J(C, O, D, P)),
+ (B = Z(C, O, D, P)),
+ ($ = [(C + D) / 2, (O + P) / 2]),
+ (z = [($[0] - ae.x) / we, ($[1] - ae.y) / we]);
+ var Te = 200,
+ Ce = Te * Te;
+ if (B < Ce && !W.touches[2]) {
+ var Ae = t.findNearestElement(ge[0], ge[1], !0, !0),
+ Ge = t.findNearestElement(ge[2], ge[3], !0, !0);
+ Ae && Ae.isNode()
+ ? (Ae.activate().emit({
+ originalEvent: W,
+ type: 'cxttapstart',
+ position: { x: ge[0], y: ge[1] }
+ }),
+ (t.touchData.start = Ae))
+ : Ge && Ge.isNode()
+ ? (Ge.activate().emit({
+ originalEvent: W,
+ type: 'cxttapstart',
+ position: { x: ge[0], y: ge[1] }
+ }),
+ (t.touchData.start = Ge))
+ : fe.emit({
+ originalEvent: W,
+ type: 'cxttapstart',
+ position: { x: ge[0], y: ge[1] }
+ }),
+ t.touchData.start && (t.touchData.start._private.grabbed = !1),
+ (t.touchData.cxt = !0),
+ (t.touchData.cxtDragged = !1),
+ (t.data.bgActivePosistion = void 0),
+ t.redraw();
+ return;
+ }
+ }
+ if (W.touches[2]) fe.boxSelectionEnabled() && W.preventDefault();
+ else if (!W.touches[1]) {
+ if (W.touches[0]) {
+ var Me = t.findNearestElements(ge[0], ge[1], !0, !0),
+ ye = Me[0];
+ if (
+ ye != null &&
+ (ye.activate(),
+ (t.touchData.start = ye),
+ (t.touchData.starts = Me),
+ t.nodeIsGrabbable(ye))
+ ) {
+ var He = (t.dragData.touchDragEles = fe.collection()),
+ ze = null;
+ t.redrawHint('eles', !0),
+ t.redrawHint('drag', !0),
+ ye.selected()
+ ? ((ze = fe.$(function (Ye) {
+ return Ye.selected() && t.nodeIsGrabbable(Ye);
+ })),
+ g(ze, { addToList: He }))
+ : y(ye, { addToList: He }),
+ f(ye);
+ var Ze = o(function (Je) {
+ return {
+ originalEvent: W,
+ type: Je,
+ position: { x: ge[0], y: ge[1] }
+ };
+ }, 'makeEvent');
+ ye.emit(Ze('grabon')),
+ ze
+ ? ze.forEach(function (Ye) {
+ Ye.emit(Ze('grab'));
+ })
+ : ye.emit(Ze('grab'));
+ }
+ n(ye, ['touchstart', 'tapstart', 'vmousedown'], W, {
+ x: ge[0],
+ y: ge[1]
+ }),
+ ye == null &&
+ ((t.data.bgActivePosistion = { x: he[0], y: he[1] }),
+ t.redrawHint('select', !0),
+ t.redraw()),
+ (t.touchData.singleTouchMoved = !1),
+ (t.touchData.singleTouchStartTime = +new Date()),
+ clearTimeout(t.touchData.tapholdTimeout),
+ (t.touchData.tapholdTimeout = setTimeout(function () {
+ t.touchData.singleTouchMoved === !1 &&
+ !t.pinching &&
+ !t.touchData.selecting &&
+ n(t.touchData.start, ['taphold'], W, {
+ x: ge[0],
+ y: ge[1]
+ });
+ }, t.tapholdDuration));
+ }
+ }
+ if (W.touches.length >= 1) {
+ for (
+ var gt = (t.touchData.startPosition = [null, null, null, null, null, null]), yt = 0;
+ yt < ge.length;
+ yt++
+ )
+ gt[yt] = re[yt] = ge[yt];
+ var tt = W.touches[0];
+ t.touchData.startGPosition = [tt.clientX, tt.clientY];
+ }
+ }
+ }, 'touchstartHandler')),
+ !1
+ );
+ var q;
+ t.registerBinding(
+ e,
+ 'touchmove',
+ (q = o(function (W) {
+ var fe = t.touchData.capture;
+ if (!(!fe && !L(W))) {
+ var ge = t.selection,
+ re = t.cy,
+ he = t.touchData.now,
+ ne = t.touchData.earlier,
+ ae = re.zoom();
+ if (W.touches[0]) {
+ var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY);
+ (he[0] = we[0]), (he[1] = we[1]);
+ }
+ if (W.touches[1]) {
+ var we = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY);
+ (he[2] = we[0]), (he[3] = we[1]);
+ }
+ if (W.touches[2]) {
+ var we = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY);
+ (he[4] = we[0]), (he[5] = we[1]);
+ }
+ var Te = t.touchData.startGPosition,
+ Ce;
+ if (fe && W.touches[0] && Te) {
+ for (var Ae = [], Ge = 0; Ge < he.length; Ge++) Ae[Ge] = he[Ge] - ne[Ge];
+ var Me = W.touches[0].clientX - Te[0],
+ ye = Me * Me,
+ He = W.touches[0].clientY - Te[1],
+ ze = He * He,
+ Ze = ye + ze;
+ Ce = Ze >= t.touchTapThreshold2;
+ }
+ if (fe && t.touchData.cxt) {
+ W.preventDefault();
+ var gt = W.touches[0].clientX - Y,
+ yt = W.touches[0].clientY - Q,
+ tt = W.touches[1].clientX - Y,
+ Ye = W.touches[1].clientY - Q,
+ Je = Z(gt, yt, tt, Ye),
+ Ve = Je / B,
+ je = 150,
+ kt = je * je,
+ at = 1.5,
+ xt = at * at;
+ if (Ve >= xt || Je >= kt) {
+ (t.touchData.cxt = !1),
+ (t.data.bgActivePosistion = void 0),
+ t.redrawHint('select', !0);
+ var it = {
+ originalEvent: W,
+ type: 'cxttapend',
+ position: { x: he[0], y: he[1] }
+ };
+ t.touchData.start
+ ? (t.touchData.start.unactivate().emit(it), (t.touchData.start = null))
+ : re.emit(it);
+ }
+ }
+ if (fe && t.touchData.cxt) {
+ var it = {
+ originalEvent: W,
+ type: 'cxtdrag',
+ position: { x: he[0], y: he[1] }
+ };
+ (t.data.bgActivePosistion = void 0),
+ t.redrawHint('select', !0),
+ t.touchData.start ? t.touchData.start.emit(it) : re.emit(it),
+ t.touchData.start && (t.touchData.start._private.grabbed = !1),
+ (t.touchData.cxtDragged = !0);
+ var dt = t.findNearestElement(he[0], he[1], !0, !0);
+ (!t.touchData.cxtOver || dt !== t.touchData.cxtOver) &&
+ (t.touchData.cxtOver &&
+ t.touchData.cxtOver.emit({
+ originalEvent: W,
+ type: 'cxtdragout',
+ position: { x: he[0], y: he[1] }
+ }),
+ (t.touchData.cxtOver = dt),
+ dt &&
+ dt.emit({
+ originalEvent: W,
+ type: 'cxtdragover',
+ position: { x: he[0], y: he[1] }
+ }));
+ } else if (fe && W.touches[2] && re.boxSelectionEnabled())
+ W.preventDefault(),
+ (t.data.bgActivePosistion = void 0),
+ (this.lastThreeTouch = +new Date()),
+ t.touchData.selecting ||
+ re.emit({
+ originalEvent: W,
+ type: 'boxstart',
+ position: { x: he[0], y: he[1] }
+ }),
+ (t.touchData.selecting = !0),
+ (t.touchData.didSelect = !0),
+ (ge[4] = 1),
+ !ge || ge.length === 0 || ge[0] === void 0
+ ? ((ge[0] = (he[0] + he[2] + he[4]) / 3),
+ (ge[1] = (he[1] + he[3] + he[5]) / 3),
+ (ge[2] = (he[0] + he[2] + he[4]) / 3 + 1),
+ (ge[3] = (he[1] + he[3] + he[5]) / 3 + 1))
+ : ((ge[2] = (he[0] + he[2] + he[4]) / 3),
+ (ge[3] = (he[1] + he[3] + he[5]) / 3)),
+ t.redrawHint('select', !0),
+ t.redraw();
+ else if (
+ fe &&
+ W.touches[1] &&
+ !t.touchData.didSelect &&
+ re.zoomingEnabled() &&
+ re.panningEnabled() &&
+ re.userZoomingEnabled() &&
+ re.userPanningEnabled()
+ ) {
+ W.preventDefault(), (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0);
+ var lt = t.dragData.touchDragEles;
+ if (lt) {
+ t.redrawHint('drag', !0);
+ for (var It = 0; It < lt.length; It++) {
+ var mt = lt[It]._private;
+ (mt.grabbed = !1), (mt.rscratch.inDragLayer = !1);
+ }
+ }
+ var St = t.touchData.start,
+ gt = W.touches[0].clientX - Y,
+ yt = W.touches[0].clientY - Q,
+ tt = W.touches[1].clientX - Y,
+ Ye = W.touches[1].clientY - Q,
+ gr = J(gt, yt, tt, Ye),
+ xn = gr / F;
+ if (j) {
+ var jt = gt - C,
+ rn = yt - O,
+ Er = tt - D,
+ Kn = Ye - P,
+ hn = (jt + Er) / 2,
+ Qn = (rn + Kn) / 2,
+ on = re.zoom(),
+ Rn = on * xn,
+ Ha = re.pan(),
+ _a = z[0] * on + Ha.x,
+ To = z[1] * on + Ha.y,
+ qi = {
+ x: (-Rn / on) * (_a - Ha.x - hn) + _a,
+ y: (-Rn / on) * (To - Ha.y - Qn) + To
+ };
+ if (St && St.active()) {
+ var lt = t.dragData.touchDragEles;
+ v(lt),
+ t.redrawHint('drag', !0),
+ t.redrawHint('eles', !0),
+ St.unactivate().emit('freeon'),
+ lt.emit('free'),
+ t.dragData.didDrag && (St.emit('dragfreeon'), lt.emit('dragfree'));
+ }
+ re.viewport({ zoom: Rn, pan: qi, cancelOnFailedZoom: !0 }),
+ re.emit('pinchzoom'),
+ (F = gr),
+ (C = gt),
+ (O = yt),
+ (D = tt),
+ (P = Ye),
+ (t.pinching = !0);
+ }
+ if (W.touches[0]) {
+ var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY);
+ (he[0] = we[0]), (he[1] = we[1]);
+ }
+ if (W.touches[1]) {
+ var we = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY);
+ (he[2] = we[0]), (he[3] = we[1]);
+ }
+ if (W.touches[2]) {
+ var we = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY);
+ (he[4] = we[0]), (he[5] = we[1]);
+ }
+ } else if (W.touches[0] && !t.touchData.didSelect) {
+ var ht = t.touchData.start,
+ At = t.touchData.last,
+ dt;
+ if (
+ (!t.hoverData.draggingEles &&
+ !t.swipePanning &&
+ (dt = t.findNearestElement(he[0], he[1], !0, !0)),
+ fe && ht != null && W.preventDefault(),
+ fe && ht != null && t.nodeIsDraggable(ht))
+ )
+ if (Ce) {
+ var lt = t.dragData.touchDragEles,
+ $t = !t.dragData.didDrag;
+ $t && g(lt, { inDragLayer: !0 }), (t.dragData.didDrag = !0);
+ var rt = { x: 0, y: 0 };
+ if (ft(Ae[0]) && ft(Ae[1]) && ((rt.x += Ae[0]), (rt.y += Ae[1]), $t)) {
+ t.redrawHint('eles', !0);
+ var Ot = t.touchData.dragDelta;
+ Ot && ft(Ot[0]) && ft(Ot[1]) && ((rt.x += Ot[0]), (rt.y += Ot[1]));
+ }
+ (t.hoverData.draggingEles = !0),
+ lt.silentShift(rt).emit('position drag'),
+ t.redrawHint('drag', !0),
+ t.touchData.startPosition[0] == ne[0] &&
+ t.touchData.startPosition[1] == ne[1] &&
+ t.redrawHint('eles', !0),
+ t.redraw();
+ } else {
+ var Ot = (t.touchData.dragDelta = t.touchData.dragDelta || []);
+ Ot.length === 0
+ ? (Ot.push(Ae[0]), Ot.push(Ae[1]))
+ : ((Ot[0] += Ae[0]), (Ot[1] += Ae[1]));
+ }
+ if (
+ (n(ht || dt, ['touchmove', 'tapdrag', 'vmousemove'], W, {
+ x: he[0],
+ y: he[1]
+ }),
+ (!ht || !ht.grabbed()) &&
+ dt != At &&
+ (At &&
+ At.emit({
+ originalEvent: W,
+ type: 'tapdragout',
+ position: { x: he[0], y: he[1] }
+ }),
+ dt &&
+ dt.emit({
+ originalEvent: W,
+ type: 'tapdragover',
+ position: { x: he[0], y: he[1] }
+ })),
+ (t.touchData.last = dt),
+ fe)
+ )
+ for (var It = 0; It < he.length; It++)
+ he[It] &&
+ t.touchData.startPosition[It] &&
+ Ce &&
+ (t.touchData.singleTouchMoved = !0);
+ if (
+ fe &&
+ (ht == null || ht.pannable()) &&
+ re.panningEnabled() &&
+ re.userPanningEnabled()
+ ) {
+ var pe = a(ht, t.touchData.starts);
+ pe &&
+ (W.preventDefault(),
+ t.data.bgActivePosistion ||
+ (t.data.bgActivePosistion = Jg(t.touchData.startPosition)),
+ t.swipePanning
+ ? (re.panBy({ x: Ae[0] * ae, y: Ae[1] * ae }), re.emit('dragpan'))
+ : Ce &&
+ ((t.swipePanning = !0),
+ re.panBy({ x: Me * ae, y: He * ae }),
+ re.emit('dragpan'),
+ ht &&
+ (ht.unactivate(),
+ t.redrawHint('select', !0),
+ (t.touchData.start = null))));
+ var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY);
+ (he[0] = we[0]), (he[1] = we[1]);
+ }
+ }
+ for (var Ge = 0; Ge < he.length; Ge++) ne[Ge] = he[Ge];
+ fe &&
+ W.touches.length > 0 &&
+ !t.hoverData.draggingEles &&
+ !t.swipePanning &&
+ t.data.bgActivePosistion != null &&
+ ((t.data.bgActivePosistion = void 0), t.redrawHint('select', !0), t.redraw());
+ }
+ }, 'touchmoveHandler')),
+ !1
+ );
+ var K;
+ t.registerBinding(
+ e,
+ 'touchcancel',
+ (K = o(function (W) {
+ var fe = t.touchData.start;
+ (t.touchData.capture = !1), fe && fe.unactivate();
+ }, 'touchcancelHandler'))
+ );
+ var se, ce, ue, te;
+ if (
+ (t.registerBinding(
+ e,
+ 'touchend',
+ (se = o(function (W) {
+ var fe = t.touchData.start,
+ ge = t.touchData.capture;
+ if (ge) W.touches.length === 0 && (t.touchData.capture = !1), W.preventDefault();
+ else return;
+ var re = t.selection;
+ (t.swipePanning = !1), (t.hoverData.draggingEles = !1);
+ var he = t.cy,
+ ne = he.zoom(),
+ ae = t.touchData.now,
+ we = t.touchData.earlier;
+ if (W.touches[0]) {
+ var Te = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY);
+ (ae[0] = Te[0]), (ae[1] = Te[1]);
+ }
+ if (W.touches[1]) {
+ var Te = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY);
+ (ae[2] = Te[0]), (ae[3] = Te[1]);
+ }
+ if (W.touches[2]) {
+ var Te = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY);
+ (ae[4] = Te[0]), (ae[5] = Te[1]);
+ }
+ fe && fe.unactivate();
+ var Ce;
+ if (t.touchData.cxt) {
+ if (
+ ((Ce = {
+ originalEvent: W,
+ type: 'cxttapend',
+ position: { x: ae[0], y: ae[1] }
+ }),
+ fe ? fe.emit(Ce) : he.emit(Ce),
+ !t.touchData.cxtDragged)
+ ) {
+ var Ae = {
+ originalEvent: W,
+ type: 'cxttap',
+ position: { x: ae[0], y: ae[1] }
+ };
+ fe ? fe.emit(Ae) : he.emit(Ae);
+ }
+ t.touchData.start && (t.touchData.start._private.grabbed = !1),
+ (t.touchData.cxt = !1),
+ (t.touchData.start = null),
+ t.redraw();
+ return;
+ }
+ if (!W.touches[2] && he.boxSelectionEnabled() && t.touchData.selecting) {
+ t.touchData.selecting = !1;
+ var Ge = he.collection(t.getAllInBox(re[0], re[1], re[2], re[3]));
+ (re[0] = void 0),
+ (re[1] = void 0),
+ (re[2] = void 0),
+ (re[3] = void 0),
+ (re[4] = 0),
+ t.redrawHint('select', !0),
+ he.emit({
+ type: 'boxend',
+ originalEvent: W,
+ position: { x: ae[0], y: ae[1] }
+ });
+ var Me = o(function (kt) {
+ return kt.selectable() && !kt.selected();
+ }, 'eleWouldBeSelected');
+ Ge.emit('box').stdFilter(Me).select().emit('boxselect'),
+ Ge.nonempty() && t.redrawHint('eles', !0),
+ t.redraw();
+ }
+ if ((fe?.unactivate(), W.touches[2]))
+ (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0);
+ else if (!W.touches[1]) {
+ if (!W.touches[0]) {
+ if (!W.touches[0]) {
+ (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0);
+ var ye = t.dragData.touchDragEles;
+ if (fe != null) {
+ var He = fe._private.grabbed;
+ v(ye),
+ t.redrawHint('drag', !0),
+ t.redrawHint('eles', !0),
+ He &&
+ (fe.emit('freeon'),
+ ye.emit('free'),
+ t.dragData.didDrag && (fe.emit('dragfreeon'), ye.emit('dragfree'))),
+ n(fe, ['touchend', 'tapend', 'vmouseup', 'tapdragout'], W, {
+ x: ae[0],
+ y: ae[1]
+ }),
+ fe.unactivate(),
+ (t.touchData.start = null);
+ } else {
+ var ze = t.findNearestElement(ae[0], ae[1], !0, !0);
+ n(ze, ['touchend', 'tapend', 'vmouseup', 'tapdragout'], W, {
+ x: ae[0],
+ y: ae[1]
+ });
+ }
+ var Ze = t.touchData.startPosition[0] - ae[0],
+ gt = Ze * Ze,
+ yt = t.touchData.startPosition[1] - ae[1],
+ tt = yt * yt,
+ Ye = gt + tt,
+ Je = Ye * ne * ne;
+ t.touchData.singleTouchMoved ||
+ (fe || he.$(':selected').unselect(['tapunselect']),
+ n(fe, ['tap', 'vclick'], W, { x: ae[0], y: ae[1] }),
+ (ce = !1),
+ W.timeStamp - te <= he.multiClickDebounceTime()
+ ? (ue && clearTimeout(ue),
+ (ce = !0),
+ (te = null),
+ n(fe, ['dbltap', 'vdblclick'], W, {
+ x: ae[0],
+ y: ae[1]
+ }))
+ : ((ue = setTimeout(function () {
+ ce ||
+ n(fe, ['onetap', 'voneclick'], W, {
+ x: ae[0],
+ y: ae[1]
+ });
+ }, he.multiClickDebounceTime())),
+ (te = W.timeStamp))),
+ fe != null &&
+ !t.dragData.didDrag &&
+ fe._private.selectable &&
+ Je < t.touchTapThreshold2 &&
+ !t.pinching &&
+ (he.selectionType() === 'single'
+ ? (he.$(r).unmerge(fe).unselect(['tapunselect']),
+ fe.select(['tapselect']))
+ : fe.selected()
+ ? fe.unselect(['tapunselect'])
+ : fe.select(['tapselect']),
+ t.redrawHint('eles', !0)),
+ (t.touchData.singleTouchMoved = !0);
+ }
+ }
+ }
+ for (var Ve = 0; Ve < ae.length; Ve++) we[Ve] = ae[Ve];
+ (t.dragData.didDrag = !1),
+ W.touches.length === 0 &&
+ ((t.touchData.dragDelta = []),
+ (t.touchData.startPosition = [null, null, null, null, null, null]),
+ (t.touchData.startGPosition = null),
+ (t.touchData.didSelect = !1)),
+ W.touches.length < 2 &&
+ (W.touches.length === 1 &&
+ (t.touchData.startGPosition = [W.touches[0].clientX, W.touches[0].clientY]),
+ (t.pinching = !1),
+ t.redrawHint('eles', !0),
+ t.redraw());
+ }, 'touchendHandler')),
+ !1
+ ),
+ typeof TouchEvent > 'u')
+ ) {
+ var De = [],
+ oe = o(function (W) {
+ return {
+ clientX: W.clientX,
+ clientY: W.clientY,
+ force: 1,
+ identifier: W.pointerId,
+ pageX: W.pageX,
+ pageY: W.pageY,
+ radiusX: W.width / 2,
+ radiusY: W.height / 2,
+ screenX: W.screenX,
+ screenY: W.screenY,
+ target: W.target
+ };
+ }, 'makeTouch'),
+ ke = o(function (W) {
+ return { event: W, touch: oe(W) };
+ }, 'makePointer'),
+ Ie = o(function (W) {
+ De.push(ke(W));
+ }, 'addPointer'),
+ Se = o(function (W) {
+ for (var fe = 0; fe < De.length; fe++) {
+ var ge = De[fe];
+ if (ge.event.pointerId === W.pointerId) {
+ De.splice(fe, 1);
+ return;
+ }
+ }
+ }, 'removePointer'),
+ Ue = o(function (W) {
+ var fe = De.filter(function (ge) {
+ return ge.event.pointerId === W.pointerId;
+ })[0];
+ (fe.event = W), (fe.touch = oe(W));
+ }, 'updatePointer'),
+ Pe = o(function (W) {
+ W.touches = De.map(function (fe) {
+ return fe.touch;
+ });
+ }, 'addTouchesToEvent'),
+ _e = o(function (W) {
+ return W.pointerType === 'mouse' || W.pointerType === 4;
+ }, 'pointerIsMouse');
+ t.registerBinding(t.container, 'pointerdown', function (me) {
+ _e(me) || (me.preventDefault(), Ie(me), Pe(me), H(me));
+ }),
+ t.registerBinding(t.container, 'pointerup', function (me) {
+ _e(me) || (Se(me), Pe(me), se(me));
+ }),
+ t.registerBinding(t.container, 'pointercancel', function (me) {
+ _e(me) || (Se(me), Pe(me), K(me));
+ }),
+ t.registerBinding(t.container, 'pointermove', function (me) {
+ _e(me) || (me.preventDefault(), Ue(me), Pe(me), q(me));
+ });
+ }
+ };
+ Ju = {};
+ Ju.generatePolygon = function (t, e) {
+ return (this.nodeShapes[t] = {
+ renderer: this,
+ name: t,
+ points: e,
+ draw: o(function (n, i, a, s, l, u) {
+ this.renderer.nodeShapeImpl('polygon', n, i, a, s, l, this.points);
+ }, 'draw'),
+ intersectLine: o(function (n, i, a, s, l, u, h, f) {
+ return Yx(l, u, this.points, n, i, a / 2, s / 2, h);
+ }, 'intersectLine'),
+ checkPoint: o(function (n, i, a, s, l, u, h, f) {
+ return Qu(n, i, this.points, u, h, s, l, [0, -1], a);
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateEllipse = function () {
+ return (this.nodeShapes.ellipse = {
+ renderer: this,
+ name: 'ellipse',
+ draw: o(function (e, r, n, i, a, s) {
+ this.renderer.nodeShapeImpl(this.name, e, r, n, i, a);
+ }, 'draw'),
+ intersectLine: o(function (e, r, n, i, a, s, l, u) {
+ return DWe(a, s, e, r, n / 2 + l, i / 2 + l);
+ }, 'intersectLine'),
+ checkPoint: o(function (e, r, n, i, a, s, l, u) {
+ return $0(e, r, i, a, s, l, n);
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateRoundPolygon = function (t, e) {
+ return (this.nodeShapes[t] = {
+ renderer: this,
+ name: t,
+ points: e,
+ getOrCreateCorners: o(function (n, i, a, s, l, u, h) {
+ if (u[h] !== void 0 && u[h + '-cx'] === n && u[h + '-cy'] === i) return u[h];
+ (u[h] = new Array(e.length / 2)), (u[h + '-cx'] = n), (u[h + '-cy'] = i);
+ var f = a / 2,
+ d = s / 2;
+ l = l === 'auto' ? Wpe(a, s) : l;
+ for (var p = new Array(e.length / 2), m = 0; m < e.length / 2; m++)
+ p[m] = { x: n + f * e[m * 2], y: i + d * e[m * 2 + 1] };
+ var g,
+ y,
+ v,
+ x,
+ b = p.length;
+ for (y = p[b - 1], g = 0; g < b; g++)
+ (v = p[g % b]), (x = p[(g + 1) % b]), (u[h][g] = mB(y, v, x, l)), (y = v), (v = x);
+ return u[h];
+ }, 'getOrCreateCorners'),
+ draw: o(function (n, i, a, s, l, u, h) {
+ this.renderer.nodeShapeImpl(
+ 'round-polygon',
+ n,
+ i,
+ a,
+ s,
+ l,
+ this.points,
+ this.getOrCreateCorners(i, a, s, l, u, h, 'drawCorners')
+ );
+ }, 'draw'),
+ intersectLine: o(function (n, i, a, s, l, u, h, f, d) {
+ return RWe(
+ l,
+ u,
+ this.points,
+ n,
+ i,
+ a,
+ s,
+ h,
+ this.getOrCreateCorners(n, i, a, s, f, d, 'corners')
+ );
+ }, 'intersectLine'),
+ checkPoint: o(function (n, i, a, s, l, u, h, f, d) {
+ return LWe(n, i, this.points, u, h, s, l, this.getOrCreateCorners(u, h, s, l, f, d, 'corners'));
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateRoundRectangle = function () {
+ return (this.nodeShapes['round-rectangle'] = this.nodeShapes.roundrectangle =
+ {
+ renderer: this,
+ name: 'round-rectangle',
+ points: ls(4, 0),
+ draw: o(function (e, r, n, i, a, s) {
+ this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, this.points, s);
+ }, 'draw'),
+ intersectLine: o(function (e, r, n, i, a, s, l, u) {
+ return Hpe(a, s, e, r, n, i, l, u);
+ }, 'intersectLine'),
+ checkPoint: o(function (e, r, n, i, a, s, l, u) {
+ var h = i / 2,
+ f = a / 2;
+ (u = u === 'auto' ? Y0(i, a) : u), (u = Math.min(h, f, u));
+ var d = u * 2;
+ return !!(
+ Qu(e, r, this.points, s, l, i, a - d, [0, -1], n) ||
+ Qu(e, r, this.points, s, l, i - d, a, [0, -1], n) ||
+ $0(e, r, d, d, s - h + u, l - f + u, n) ||
+ $0(e, r, d, d, s + h - u, l - f + u, n) ||
+ $0(e, r, d, d, s + h - u, l + f - u, n) ||
+ $0(e, r, d, d, s - h + u, l + f - u, n)
+ );
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateCutRectangle = function () {
+ return (this.nodeShapes['cut-rectangle'] = this.nodeShapes.cutrectangle =
+ {
+ renderer: this,
+ name: 'cut-rectangle',
+ cornerLength: nB(),
+ points: ls(4, 0),
+ draw: o(function (e, r, n, i, a, s) {
+ this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, null, s);
+ }, 'draw'),
+ generateCutTrianglePts: o(function (e, r, n, i, a) {
+ var s = a === 'auto' ? this.cornerLength : a,
+ l = r / 2,
+ u = e / 2,
+ h = n - u,
+ f = n + u,
+ d = i - l,
+ p = i + l;
+ return {
+ topLeft: [h, d + s, h + s, d, h + s, d + s],
+ topRight: [f - s, d, f, d + s, f - s, d + s],
+ bottomRight: [f, p - s, f - s, p, f - s, p - s],
+ bottomLeft: [h + s, p, h, p - s, h + s, p - s]
+ };
+ }, 'generateCutTrianglePts'),
+ intersectLine: o(function (e, r, n, i, a, s, l, u) {
+ var h = this.generateCutTrianglePts(n + 2 * l, i + 2 * l, e, r, u),
+ f = [].concat.apply(
+ [],
+ [
+ h.topLeft.splice(0, 4),
+ h.topRight.splice(0, 4),
+ h.bottomRight.splice(0, 4),
+ h.bottomLeft.splice(0, 4)
+ ]
+ );
+ return Yx(a, s, f, e, r);
+ }, 'intersectLine'),
+ checkPoint: o(function (e, r, n, i, a, s, l, u) {
+ var h = u === 'auto' ? this.cornerLength : u;
+ if (
+ Qu(e, r, this.points, s, l, i, a - 2 * h, [0, -1], n) ||
+ Qu(e, r, this.points, s, l, i - 2 * h, a, [0, -1], n)
+ )
+ return !0;
+ var f = this.generateCutTrianglePts(i, a, s, l);
+ return (
+ zs(e, r, f.topLeft) ||
+ zs(e, r, f.topRight) ||
+ zs(e, r, f.bottomRight) ||
+ zs(e, r, f.bottomLeft)
+ );
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateBarrel = function () {
+ return (this.nodeShapes.barrel = {
+ renderer: this,
+ name: 'barrel',
+ points: ls(4, 0),
+ draw: o(function (e, r, n, i, a, s) {
+ this.renderer.nodeShapeImpl(this.name, e, r, n, i, a);
+ }, 'draw'),
+ intersectLine: o(function (e, r, n, i, a, s, l, u) {
+ var h = 0.15,
+ f = 0.5,
+ d = 0.85,
+ p = this.generateBarrelBezierPts(n + 2 * l, i + 2 * l, e, r),
+ m = o(function (v) {
+ var x = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, h),
+ b = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, f),
+ w = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, d);
+ return [v[0], v[1], x.x, x.y, b.x, b.y, w.x, w.y, v[4], v[5]];
+ }, 'approximateBarrelCurvePts'),
+ g = [].concat(m(p.topLeft), m(p.topRight), m(p.bottomRight), m(p.bottomLeft));
+ return Yx(a, s, g, e, r);
+ }, 'intersectLine'),
+ generateBarrelBezierPts: o(function (e, r, n, i) {
+ var a = r / 2,
+ s = e / 2,
+ l = n - s,
+ u = n + s,
+ h = i - a,
+ f = i + a,
+ d = MP(e, r),
+ p = d.heightOffset,
+ m = d.widthOffset,
+ g = d.ctrlPtOffsetPct * e,
+ y = {
+ topLeft: [l, h + p, l + g, h, l + m, h],
+ topRight: [u - m, h, u - g, h, u, h + p],
+ bottomRight: [u, f - p, u - g, f, u - m, f],
+ bottomLeft: [l + m, f, l + g, f, l, f - p]
+ };
+ return (
+ (y.topLeft.isTop = !0),
+ (y.topRight.isTop = !0),
+ (y.bottomLeft.isBottom = !0),
+ (y.bottomRight.isBottom = !0),
+ y
+ );
+ }, 'generateBarrelBezierPts'),
+ checkPoint: o(function (e, r, n, i, a, s, l, u) {
+ var h = MP(i, a),
+ f = h.heightOffset,
+ d = h.widthOffset;
+ if (
+ Qu(e, r, this.points, s, l, i, a - 2 * f, [0, -1], n) ||
+ Qu(e, r, this.points, s, l, i - 2 * d, a, [0, -1], n)
+ )
+ return !0;
+ for (
+ var p = this.generateBarrelBezierPts(i, a, s, l),
+ m = o(function (A, L, M) {
+ var N = M[4],
+ k = M[2],
+ I = M[0],
+ C = M[5],
+ O = M[1],
+ D = Math.min(N, I),
+ P = Math.max(N, I),
+ F = Math.min(C, O),
+ B = Math.max(C, O);
+ if (D <= A && A <= P && F <= L && L <= B) {
+ var $ = NWe(N, k, I),
+ z = CWe($[0], $[1], $[2], A),
+ Y = z.filter(function (Q) {
+ return 0 <= Q && Q <= 1;
+ });
+ if (Y.length > 0) return Y[0];
+ }
+ return null;
+ }, 'getCurveT'),
+ g = Object.keys(p),
+ y = 0;
+ y < g.length;
+ y++
+ ) {
+ var v = g[y],
+ x = p[v],
+ b = m(e, r, x);
+ if (b != null) {
+ var w = x[5],
+ S = x[3],
+ T = x[1],
+ E = aa(w, S, T, b);
+ if ((x.isTop && E <= r) || (x.isBottom && r <= E)) return !0;
+ }
+ }
+ return !1;
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateBottomRoundrectangle = function () {
+ return (this.nodeShapes['bottom-round-rectangle'] = this.nodeShapes.bottomroundrectangle =
+ {
+ renderer: this,
+ name: 'bottom-round-rectangle',
+ points: ls(4, 0),
+ draw: o(function (e, r, n, i, a, s) {
+ this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, this.points, s);
+ }, 'draw'),
+ intersectLine: o(function (e, r, n, i, a, s, l, u) {
+ var h = e - (n / 2 + l),
+ f = r - (i / 2 + l),
+ d = f,
+ p = e + (n / 2 + l),
+ m = kf(a, s, e, r, h, f, p, d, !1);
+ return m.length > 0 ? m : Hpe(a, s, e, r, n, i, l, u);
+ }, 'intersectLine'),
+ checkPoint: o(function (e, r, n, i, a, s, l, u) {
+ u = u === 'auto' ? Y0(i, a) : u;
+ var h = 2 * u;
+ if (
+ Qu(e, r, this.points, s, l, i, a - h, [0, -1], n) ||
+ Qu(e, r, this.points, s, l, i - h, a, [0, -1], n)
+ )
+ return !0;
+ var f = i / 2 + 2 * n,
+ d = a / 2 + 2 * n,
+ p = [s - f, l - d, s - f, l, s + f, l, s + f, l - d];
+ return !!(
+ zs(e, r, p) ||
+ $0(e, r, h, h, s + i / 2 - u, l + a / 2 - u, n) ||
+ $0(e, r, h, h, s - i / 2 + u, l + a / 2 - u, n)
+ );
+ }, 'checkPoint')
+ });
+ };
+ Ju.registerNodeShapes = function () {
+ var t = (this.nodeShapes = {}),
+ e = this;
+ this.generateEllipse(),
+ this.generatePolygon('triangle', ls(3, 0)),
+ this.generateRoundPolygon('round-triangle', ls(3, 0)),
+ this.generatePolygon('rectangle', ls(4, 0)),
+ (t.square = t.rectangle),
+ this.generateRoundRectangle(),
+ this.generateCutRectangle(),
+ this.generateBarrel(),
+ this.generateBottomRoundrectangle();
+ {
+ var r = [0, 1, 1, 0, 0, -1, -1, 0];
+ this.generatePolygon('diamond', r), this.generateRoundPolygon('round-diamond', r);
+ }
+ this.generatePolygon('pentagon', ls(5, 0)),
+ this.generateRoundPolygon('round-pentagon', ls(5, 0)),
+ this.generatePolygon('hexagon', ls(6, 0)),
+ this.generateRoundPolygon('round-hexagon', ls(6, 0)),
+ this.generatePolygon('heptagon', ls(7, 0)),
+ this.generateRoundPolygon('round-heptagon', ls(7, 0)),
+ this.generatePolygon('octagon', ls(8, 0)),
+ this.generateRoundPolygon('round-octagon', ls(8, 0));
+ var n = new Array(20);
+ {
+ var i = NP(5, 0),
+ a = NP(5, Math.PI / 5),
+ s = 0.5 * (3 - Math.sqrt(5));
+ s *= 1.57;
+ for (var l = 0; l < a.length / 2; l++) (a[l * 2] *= s), (a[l * 2 + 1] *= s);
+ for (var l = 0; l < 20 / 4; l++)
+ (n[l * 4] = i[l * 2]),
+ (n[l * 4 + 1] = i[l * 2 + 1]),
+ (n[l * 4 + 2] = a[l * 2]),
+ (n[l * 4 + 3] = a[l * 2 + 1]);
+ }
+ (n = Ype(n)),
+ this.generatePolygon('star', n),
+ this.generatePolygon('vee', [-1, -1, 0, -0.333, 1, -1, 0, 1]),
+ this.generatePolygon('rhomboid', [-1, -1, 0.333, -1, 1, 1, -0.333, 1]),
+ this.generatePolygon('right-rhomboid', [-0.333, -1, 1, -1, 0.333, 1, -1, 1]),
+ (this.nodeShapes.concavehexagon = this.generatePolygon(
+ 'concave-hexagon',
+ [-1, -0.95, -0.75, 0, -1, 0.95, 1, 0.95, 0.75, 0, 1, -0.95]
+ ));
+ {
+ var u = [-1, -1, 0.25, -1, 1, 0, 0.25, 1, -1, 1];
+ this.generatePolygon('tag', u), this.generateRoundPolygon('round-tag', u);
+ }
+ t.makePolygon = function (h) {
+ var f = h.join('$'),
+ d = 'polygon-' + f,
+ p;
+ return (p = this[d]) ? p : e.generatePolygon(d, h);
+ };
+ };
+ ib = {};
+ ib.timeToRender = function () {
+ return this.redrawTotalTime / this.redrawCount;
+ };
+ ib.redraw = function (t) {
+ t = t || zpe();
+ var e = this;
+ e.averageRedrawTime === void 0 && (e.averageRedrawTime = 0),
+ e.lastRedrawTime === void 0 && (e.lastRedrawTime = 0),
+ e.lastDrawTime === void 0 && (e.lastDrawTime = 0),
+ (e.requestedFrame = !0),
+ (e.renderOptions = t);
+ };
+ ib.beforeRender = function (t, e) {
+ if (!this.destroyed) {
+ e == null && oi('Priority is not optional for beforeRender');
+ var r = this.beforeRenderCallbacks;
+ r.push({ fn: t, priority: e }),
+ r.sort(function (n, i) {
+ return i.priority - n.priority;
+ });
+ }
+ };
+ hpe = o(function (e, r, n) {
+ for (var i = e.beforeRenderCallbacks, a = 0; a < i.length; a++) i[a].fn(r, n);
+ }, 'beforeRenderCallbacks');
+ ib.startRenderLoop = function () {
+ var t = this,
+ e = t.cy;
+ if (!t.renderLoopStarted) {
+ t.renderLoopStarted = !0;
+ var r = o(function n(i) {
+ if (!t.destroyed) {
+ if (!e.batching())
+ if (t.requestedFrame && !t.skipFrame) {
+ hpe(t, !0, i);
+ var a = Ku();
+ t.render(t.renderOptions);
+ var s = (t.lastDrawTime = Ku());
+ t.averageRedrawTime === void 0 && (t.averageRedrawTime = s - a),
+ t.redrawCount === void 0 && (t.redrawCount = 0),
+ t.redrawCount++,
+ t.redrawTotalTime === void 0 && (t.redrawTotalTime = 0);
+ var l = s - a;
+ (t.redrawTotalTime += l),
+ (t.lastRedrawTime = l),
+ (t.averageRedrawTime = t.averageRedrawTime / 2 + l / 2),
+ (t.requestedFrame = !1);
+ } else hpe(t, !1, i);
+ (t.skipFrame = !1), E6(n);
+ }
+ }, 'renderFn');
+ E6(r);
+ }
+ };
+ (dQe = o(function (e) {
+ this.init(e);
+ }, 'BaseRenderer')),
+ (Hme = dQe),
+ (y1 = Hme.prototype);
+ y1.clientFunctions = [
+ 'redrawHint',
+ 'render',
+ 'renderTo',
+ 'matchCanvasSize',
+ 'nodeShapeImpl',
+ 'arrowShapeImpl'
+ ];
+ y1.init = function (t) {
+ var e = this;
+ (e.options = t), (e.cy = t.cy);
+ var r = (e.container = t.cy.container()),
+ n = e.cy.window();
+ if (n) {
+ var i = n.document,
+ a = i.head,
+ s = '__________cytoscape_stylesheet',
+ l = '__________cytoscape_container',
+ u = i.getElementById(s) != null;
+ if ((r.className.indexOf(l) < 0 && (r.className = (r.className || '') + ' ' + l), !u)) {
+ var h = i.createElement('style');
+ (h.id = s),
+ (h.textContent = '.' + l + ' { position: relative; }'),
+ a.insertBefore(h, a.children[0]);
+ }
+ var f = n.getComputedStyle(r),
+ d = f.getPropertyValue('position');
+ d === 'static' &&
+ tn('A Cytoscape container has style position:static and so can not use UI extensions properly');
+ }
+ (e.selection = [void 0, void 0, void 0, void 0, 0]),
+ (e.bezierProjPcts = [0.05, 0.225, 0.4, 0.5, 0.6, 0.775, 0.95]),
+ (e.hoverData = {
+ down: null,
+ last: null,
+ downTime: null,
+ triggerMode: null,
+ dragging: !1,
+ initialPan: [null, null],
+ capture: !1
+ }),
+ (e.dragData = { possibleDragElements: [] }),
+ (e.touchData = {
+ start: null,
+ capture: !1,
+ startPosition: [null, null, null, null, null, null],
+ singleTouchStartTime: null,
+ singleTouchMoved: !0,
+ now: [null, null, null, null, null, null],
+ earlier: [null, null, null, null, null, null]
+ }),
+ (e.redraws = 0),
+ (e.showFps = t.showFps),
+ (e.debug = t.debug),
+ (e.hideEdgesOnViewport = t.hideEdgesOnViewport),
+ (e.textureOnViewport = t.textureOnViewport),
+ (e.wheelSensitivity = t.wheelSensitivity),
+ (e.motionBlurEnabled = t.motionBlur),
+ (e.forcedPixelRatio = ft(t.pixelRatio) ? t.pixelRatio : null),
+ (e.motionBlur = t.motionBlur),
+ (e.motionBlurOpacity = t.motionBlurOpacity),
+ (e.motionBlurTransparency = 1 - e.motionBlurOpacity),
+ (e.motionBlurPxRatio = 1),
+ (e.mbPxRBlurry = 1),
+ (e.minMbLowQualFrames = 4),
+ (e.fullQualityMb = !1),
+ (e.clearedForMotionBlur = []),
+ (e.desktopTapThreshold = t.desktopTapThreshold),
+ (e.desktopTapThreshold2 = t.desktopTapThreshold * t.desktopTapThreshold),
+ (e.touchTapThreshold = t.touchTapThreshold),
+ (e.touchTapThreshold2 = t.touchTapThreshold * t.touchTapThreshold),
+ (e.tapholdDuration = 500),
+ (e.bindings = []),
+ (e.beforeRenderCallbacks = []),
+ (e.beforeRenderPriorities = {
+ animations: 400,
+ eleCalcs: 300,
+ eleTxrDeq: 200,
+ lyrTxrDeq: 150,
+ lyrTxrSkip: 100
+ }),
+ e.registerNodeShapes(),
+ e.registerArrowShapes(),
+ e.registerCalculationListeners();
+ };
+ y1.notify = function (t, e) {
+ var r = this,
+ n = r.cy;
+ if (!this.destroyed) {
+ if (t === 'init') {
+ r.load();
+ return;
+ }
+ if (t === 'destroy') {
+ r.destroy();
+ return;
+ }
+ (t === 'add' ||
+ t === 'remove' ||
+ (t === 'move' && n.hasCompoundNodes()) ||
+ t === 'load' ||
+ t === 'zorder' ||
+ t === 'mount') &&
+ r.invalidateCachedZSortedEles(),
+ t === 'viewport' && r.redrawHint('select', !0),
+ (t === 'load' || t === 'resize' || t === 'mount') &&
+ (r.invalidateContainerClientCoordsCache(), r.matchCanvasSize(r.container)),
+ r.redrawHint('eles', !0),
+ r.redrawHint('drag', !0),
+ this.startRenderLoop(),
+ this.redraw();
+ }
+ };
+ y1.destroy = function () {
+ var t = this;
+ (t.destroyed = !0), t.cy.stopAnimationLoop();
+ for (var e = 0; e < t.bindings.length; e++) {
+ var r = t.bindings[e],
+ n = r,
+ i = n.target;
+ (i.off || i.removeEventListener).apply(i, n.args);
+ }
+ if (
+ ((t.bindings = []),
+ (t.beforeRenderCallbacks = []),
+ (t.onUpdateEleCalcsFns = []),
+ t.removeObserver && t.removeObserver.disconnect(),
+ t.styleObserver && t.styleObserver.disconnect(),
+ t.resizeObserver && t.resizeObserver.disconnect(),
+ t.labelCalcDiv)
+ )
+ try {
+ document.body.removeChild(t.labelCalcDiv);
+ } catch {}
+ };
+ y1.isHeadless = function () {
+ return !1;
+ };
+ [pB, Vme, Ume, g1, Ju, ib].forEach(function (t) {
+ Wt(y1, t);
+ });
+ (LP = 1e3 / 60),
+ (Yme = {
+ setupDequeueing: o(function (e) {
+ return o(function () {
+ var n = this,
+ i = this.renderer;
+ if (!n.dequeueingSetup) {
+ n.dequeueingSetup = !0;
+ var a = P6(function () {
+ i.redrawHint('eles', !0), i.redrawHint('drag', !0), i.redraw();
+ }, e.deqRedrawThreshold),
+ s = o(function (h, f) {
+ var d = Ku(),
+ p = i.averageRedrawTime,
+ m = i.lastRedrawTime,
+ g = [],
+ y = i.cy.extent(),
+ v = i.getPixelRatio();
+ for (h || i.flushRenderedStyleQueue(); ; ) {
+ var x = Ku(),
+ b = x - d,
+ w = x - f;
+ if (m < LP) {
+ var S = LP - (h ? p : 0);
+ if (w >= e.deqFastCost * S) break;
+ } else if (h) {
+ if (b >= e.deqCost * m || b >= e.deqAvgCost * p) break;
+ } else if (w >= e.deqNoDrawCost * LP) break;
+ var T = e.deq(n, v, y);
+ if (T.length > 0) for (var E = 0; E < T.length; E++) g.push(T[E]);
+ else break;
+ }
+ g.length > 0 && (e.onDeqd(n, g), !h && e.shouldRedraw(n, g, v, y) && a());
+ }, 'dequeue'),
+ l = e.priority || JP;
+ i.beforeRender(s, l(n));
+ }
+ }, 'setupDequeueingImpl');
+ }, 'setupDequeueing')
+ }),
+ (pQe = (function () {
+ function t(e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : C6;
+ XP(this, t),
+ (this.idsByKey = new Vc()),
+ (this.keyForId = new Vc()),
+ (this.cachesByLvl = new Vc()),
+ (this.lvls = []),
+ (this.getKey = e),
+ (this.doesEleInvalidateKey = r);
+ }
+ return (
+ o(t, 'ElementTextureCacheLookup'),
+ jP(t, [
+ {
+ key: 'getIdsFor',
+ value: o(function (r) {
+ r == null && oi('Can not get id list for null key');
+ var n = this.idsByKey,
+ i = this.idsByKey.get(r);
+ return i || ((i = new c1()), n.set(r, i)), i;
+ }, 'getIdsFor')
+ },
+ {
+ key: 'addIdForKey',
+ value: o(function (r, n) {
+ r != null && this.getIdsFor(r).add(n);
+ }, 'addIdForKey')
+ },
+ {
+ key: 'deleteIdForKey',
+ value: o(function (r, n) {
+ r != null && this.getIdsFor(r).delete(n);
+ }, 'deleteIdForKey')
+ },
+ {
+ key: 'getNumberOfIdsForKey',
+ value: o(function (r) {
+ return r == null ? 0 : this.getIdsFor(r).size;
+ }, 'getNumberOfIdsForKey')
+ },
+ {
+ key: 'updateKeyMappingFor',
+ value: o(function (r) {
+ var n = r.id(),
+ i = this.keyForId.get(n),
+ a = this.getKey(r);
+ this.deleteIdForKey(i, n), this.addIdForKey(a, n), this.keyForId.set(n, a);
+ }, 'updateKeyMappingFor')
+ },
+ {
+ key: 'deleteKeyMappingFor',
+ value: o(function (r) {
+ var n = r.id(),
+ i = this.keyForId.get(n);
+ this.deleteIdForKey(i, n), this.keyForId.delete(n);
+ }, 'deleteKeyMappingFor')
+ },
+ {
+ key: 'keyHasChangedFor',
+ value: o(function (r) {
+ var n = r.id(),
+ i = this.keyForId.get(n),
+ a = this.getKey(r);
+ return i !== a;
+ }, 'keyHasChangedFor')
+ },
+ {
+ key: 'isInvalid',
+ value: o(function (r) {
+ return this.keyHasChangedFor(r) || this.doesEleInvalidateKey(r);
+ }, 'isInvalid')
+ },
+ {
+ key: 'getCachesAt',
+ value: o(function (r) {
+ var n = this.cachesByLvl,
+ i = this.lvls,
+ a = n.get(r);
+ return a || ((a = new Vc()), n.set(r, a), i.push(r)), a;
+ }, 'getCachesAt')
+ },
+ {
+ key: 'getCache',
+ value: o(function (r, n) {
+ return this.getCachesAt(n).get(r);
+ }, 'getCache')
+ },
+ {
+ key: 'get',
+ value: o(function (r, n) {
+ var i = this.getKey(r),
+ a = this.getCache(i, n);
+ return a != null && this.updateKeyMappingFor(r), a;
+ }, 'get')
+ },
+ {
+ key: 'getForCachedKey',
+ value: o(function (r, n) {
+ var i = this.keyForId.get(r.id()),
+ a = this.getCache(i, n);
+ return a;
+ }, 'getForCachedKey')
+ },
+ {
+ key: 'hasCache',
+ value: o(function (r, n) {
+ return this.getCachesAt(n).has(r);
+ }, 'hasCache')
+ },
+ {
+ key: 'has',
+ value: o(function (r, n) {
+ var i = this.getKey(r);
+ return this.hasCache(i, n);
+ }, 'has')
+ },
+ {
+ key: 'setCache',
+ value: o(function (r, n, i) {
+ (i.key = r), this.getCachesAt(n).set(r, i);
+ }, 'setCache')
+ },
+ {
+ key: 'set',
+ value: o(function (r, n, i) {
+ var a = this.getKey(r);
+ this.setCache(a, n, i), this.updateKeyMappingFor(r);
+ }, 'set')
+ },
+ {
+ key: 'deleteCache',
+ value: o(function (r, n) {
+ this.getCachesAt(n).delete(r);
+ }, 'deleteCache')
+ },
+ {
+ key: 'delete',
+ value: o(function (r, n) {
+ var i = this.getKey(r);
+ this.deleteCache(i, n);
+ }, '_delete')
+ },
+ {
+ key: 'invalidateKey',
+ value: o(function (r) {
+ var n = this;
+ this.lvls.forEach(function (i) {
+ return n.deleteCache(r, i);
+ });
+ }, 'invalidateKey')
+ },
+ {
+ key: 'invalidate',
+ value: o(function (r) {
+ var n = r.id(),
+ i = this.keyForId.get(n);
+ this.deleteKeyMappingFor(r);
+ var a = this.doesEleInvalidateKey(r);
+ return a && this.invalidateKey(i), a || this.getNumberOfIdsForKey(i) === 0;
+ }, 'invalidate')
+ }
+ ]),
+ t
+ );
+ })()),
+ (fpe = 25),
+ (d6 = 50),
+ (T6 = -4),
+ (HP = 3),
+ (mQe = 7.99),
+ (gQe = 8),
+ (yQe = 1024),
+ (vQe = 1024),
+ (xQe = 1024),
+ (bQe = 0.2),
+ (wQe = 0.8),
+ (TQe = 10),
+ (kQe = 0.15),
+ (EQe = 0.1),
+ (CQe = 0.9),
+ (SQe = 0.9),
+ (AQe = 100),
+ (_Qe = 1),
+ (e1 = {
+ dequeue: 'dequeue',
+ downscale: 'downscale',
+ highQuality: 'highQuality'
+ }),
+ (LQe = Sa({
+ getKey: null,
+ doesEleInvalidateKey: C6,
+ drawElement: null,
+ getBoundingBox: null,
+ getRotationPoint: null,
+ getRotationOffset: null,
+ isVisible: Ppe,
+ allowEdgeTxrCaching: !0,
+ allowParentTxrCaching: !0
+ })),
+ (Bx = o(function (e, r) {
+ var n = this;
+ (n.renderer = e), (n.onDequeues = []);
+ var i = LQe(r);
+ Wt(n, i), (n.lookup = new pQe(i.getKey, i.doesEleInvalidateKey)), n.setupDequeueing();
+ }, 'ElementTextureCache')),
+ (Yi = Bx.prototype);
+ Yi.reasons = e1;
+ Yi.getTextureQueue = function (t) {
+ var e = this;
+ return (e.eleImgCaches = e.eleImgCaches || {}), (e.eleImgCaches[t] = e.eleImgCaches[t] || []);
+ };
+ Yi.getRetiredTextureQueue = function (t) {
+ var e = this,
+ r = (e.eleImgCaches.retired = e.eleImgCaches.retired || {}),
+ n = (r[t] = r[t] || []);
+ return n;
+ };
+ Yi.getElementQueue = function () {
+ var t = this,
+ e = (t.eleCacheQueue =
+ t.eleCacheQueue ||
+ new eb(function (r, n) {
+ return n.reqs - r.reqs;
+ }));
+ return e;
+ };
+ Yi.getElementKeyToQueue = function () {
+ var t = this,
+ e = (t.eleKeyToCacheQueue = t.eleKeyToCacheQueue || {});
+ return e;
+ };
+ Yi.getElement = function (t, e, r, n, i) {
+ var a = this,
+ s = this.renderer,
+ l = s.cy.zoom(),
+ u = this.lookup;
+ if (
+ !e ||
+ e.w === 0 ||
+ e.h === 0 ||
+ isNaN(e.w) ||
+ isNaN(e.h) ||
+ !t.visible() ||
+ t.removed() ||
+ (!a.allowEdgeTxrCaching && t.isEdge()) ||
+ (!a.allowParentTxrCaching && t.isParent())
+ )
+ return null;
+ if ((n == null && (n = Math.ceil(tB(l * r))), n < T6)) n = T6;
+ else if (l >= mQe || n > HP) return null;
+ var h = Math.pow(2, n),
+ f = e.h * h,
+ d = e.w * h,
+ p = s.eleTextBiggerThanMin(t, h);
+ if (!this.isVisible(t, p)) return null;
+ var m = u.get(t, n);
+ if ((m && m.invalidated && ((m.invalidated = !1), (m.texture.invalidatedWidth -= m.width)), m))
+ return m;
+ var g;
+ if ((f <= fpe ? (g = fpe) : f <= d6 ? (g = d6) : (g = Math.ceil(f / d6) * d6), f > xQe || d > vQe))
+ return null;
+ var y = a.getTextureQueue(g),
+ v = y[y.length - 2],
+ x = o(function () {
+ return a.recycleTexture(g, d) || a.addTexture(g, d);
+ }, 'addNewTxr');
+ v || (v = y[y.length - 1]), v || (v = x()), v.width - v.usedWidth < d && (v = x());
+ for (
+ var b = o(function (D) {
+ return D && D.scaledLabelShown === p;
+ }, 'scalableFrom'),
+ w = i && i === e1.dequeue,
+ S = i && i === e1.highQuality,
+ T = i && i === e1.downscale,
+ E,
+ _ = n + 1;
+ _ <= HP;
+ _++
+ ) {
+ var A = u.get(t, _);
+ if (A) {
+ E = A;
+ break;
+ }
+ }
+ var L = E && E.level === n + 1 ? E : null,
+ M = o(function () {
+ v.context.drawImage(L.texture.canvas, L.x, 0, L.width, L.height, v.usedWidth, 0, d, f);
+ }, 'downscale');
+ if ((v.context.setTransform(1, 0, 0, 1, 0, 0), v.context.clearRect(v.usedWidth, 0, d, g), b(L))) M();
+ else if (b(E))
+ if (S) {
+ for (var N = E.level; N > n; N--) L = a.getElement(t, e, r, N, e1.downscale);
+ M();
+ } else return a.queueElement(t, E.level - 1), E;
+ else {
+ var k;
+ if (!w && !S && !T)
+ for (var I = n - 1; I >= T6; I--) {
+ var C = u.get(t, I);
+ if (C) {
+ k = C;
+ break;
+ }
+ }
+ if (b(k)) return a.queueElement(t, n), k;
+ v.context.translate(v.usedWidth, 0),
+ v.context.scale(h, h),
+ this.drawElement(v.context, t, e, p, !1),
+ v.context.scale(1 / h, 1 / h),
+ v.context.translate(-v.usedWidth, 0);
+ }
+ return (
+ (m = {
+ x: v.usedWidth,
+ texture: v,
+ level: n,
+ scale: h,
+ width: d,
+ height: f,
+ scaledLabelShown: p
+ }),
+ (v.usedWidth += Math.ceil(d + gQe)),
+ v.eleCaches.push(m),
+ u.set(t, n, m),
+ a.checkTextureFullness(v),
+ m
+ );
+ };
+ Yi.invalidateElements = function (t) {
+ for (var e = 0; e < t.length; e++) this.invalidateElement(t[e]);
+ };
+ Yi.invalidateElement = function (t) {
+ var e = this,
+ r = e.lookup,
+ n = [],
+ i = r.isInvalid(t);
+ if (i) {
+ for (var a = T6; a <= HP; a++) {
+ var s = r.getForCachedKey(t, a);
+ s && n.push(s);
+ }
+ var l = r.invalidate(t);
+ if (l)
+ for (var u = 0; u < n.length; u++) {
+ var h = n[u],
+ f = h.texture;
+ (f.invalidatedWidth += h.width), (h.invalidated = !0), e.checkTextureUtility(f);
+ }
+ e.removeFromQueue(t);
+ }
+ };
+ Yi.checkTextureUtility = function (t) {
+ t.invalidatedWidth >= bQe * t.width && this.retireTexture(t);
+ };
+ Yi.checkTextureFullness = function (t) {
+ var e = this,
+ r = e.getTextureQueue(t.height);
+ t.usedWidth / t.width > wQe && t.fullnessChecks >= TQe ? Af(r, t) : t.fullnessChecks++;
+ };
+ Yi.retireTexture = function (t) {
+ var e = this,
+ r = t.height,
+ n = e.getTextureQueue(r),
+ i = this.lookup;
+ Af(n, t), (t.retired = !0);
+ for (var a = t.eleCaches, s = 0; s < a.length; s++) {
+ var l = a[s];
+ i.deleteCache(l.key, l.level);
+ }
+ eB(a);
+ var u = e.getRetiredTextureQueue(r);
+ u.push(t);
+ };
+ Yi.addTexture = function (t, e) {
+ var r = this,
+ n = r.getTextureQueue(t),
+ i = {};
+ return (
+ n.push(i),
+ (i.eleCaches = []),
+ (i.height = t),
+ (i.width = Math.max(yQe, e)),
+ (i.usedWidth = 0),
+ (i.invalidatedWidth = 0),
+ (i.fullnessChecks = 0),
+ (i.canvas = r.renderer.makeOffscreenCanvas(i.width, i.height)),
+ (i.context = i.canvas.getContext('2d')),
+ i
+ );
+ };
+ Yi.recycleTexture = function (t, e) {
+ for (
+ var r = this, n = r.getTextureQueue(t), i = r.getRetiredTextureQueue(t), a = 0;
+ a < i.length;
+ a++
+ ) {
+ var s = i[a];
+ if (s.width >= e)
+ return (
+ (s.retired = !1),
+ (s.usedWidth = 0),
+ (s.invalidatedWidth = 0),
+ (s.fullnessChecks = 0),
+ eB(s.eleCaches),
+ s.context.setTransform(1, 0, 0, 1, 0, 0),
+ s.context.clearRect(0, 0, s.width, s.height),
+ Af(i, s),
+ n.push(s),
+ s
+ );
+ }
+ };
+ Yi.queueElement = function (t, e) {
+ var r = this,
+ n = r.getElementQueue(),
+ i = r.getElementKeyToQueue(),
+ a = this.getKey(t),
+ s = i[a];
+ if (s) (s.level = Math.max(s.level, e)), s.eles.merge(t), s.reqs++, n.updateItem(s);
+ else {
+ var l = { eles: t.spawn().merge(t), level: e, reqs: 1, key: a };
+ n.push(l), (i[a] = l);
+ }
+ };
+ Yi.dequeue = function (t) {
+ for (
+ var e = this, r = e.getElementQueue(), n = e.getElementKeyToQueue(), i = [], a = e.lookup, s = 0;
+ s < _Qe && r.size() > 0;
+ s++
+ ) {
+ var l = r.pop(),
+ u = l.key,
+ h = l.eles[0],
+ f = a.hasCache(h, l.level);
+ if (((n[u] = null), f)) continue;
+ i.push(l);
+ var d = e.getBoundingBox(h);
+ e.getElement(h, d, t, l.level, e1.dequeue);
+ }
+ return i;
+ };
+ Yi.removeFromQueue = function (t) {
+ var e = this,
+ r = e.getElementQueue(),
+ n = e.getElementKeyToQueue(),
+ i = this.getKey(t),
+ a = n[i];
+ a != null &&
+ (a.eles.length === 1
+ ? ((a.reqs = ZP), r.updateItem(a), r.pop(), (n[i] = null))
+ : a.eles.unmerge(t));
+ };
+ Yi.onDequeue = function (t) {
+ this.onDequeues.push(t);
+ };
+ Yi.offDequeue = function (t) {
+ Af(this.onDequeues, t);
+ };
+ Yi.setupDequeueing = Yme.setupDequeueing({
+ deqRedrawThreshold: AQe,
+ deqCost: kQe,
+ deqAvgCost: EQe,
+ deqNoDrawCost: CQe,
+ deqFastCost: SQe,
+ deq: o(function (e, r, n) {
+ return e.dequeue(r, n);
+ }, 'deq'),
+ onDeqd: o(function (e, r) {
+ for (var n = 0; n < e.onDequeues.length; n++) {
+ var i = e.onDequeues[n];
+ i(r);
+ }
+ }, 'onDeqd'),
+ shouldRedraw: o(function (e, r, n, i) {
+ for (var a = 0; a < r.length; a++)
+ for (var s = r[a].eles, l = 0; l < s.length; l++) {
+ var u = s[l].boundingBox();
+ if (rB(u, i)) return !0;
+ }
+ return !1;
+ }, 'shouldRedraw'),
+ priority: o(function (e) {
+ return e.renderer.beforeRenderPriorities.eleTxrDeq;
+ }, 'priority')
+ });
+ (DQe = 1),
+ (zx = -4),
+ (M6 = 2),
+ (RQe = 3.99),
+ (NQe = 50),
+ (MQe = 50),
+ (IQe = 0.15),
+ (OQe = 0.1),
+ (PQe = 0.9),
+ (BQe = 0.9),
+ (FQe = 1),
+ (dpe = 250),
+ (zQe = 4e3 * 4e3),
+ (GQe = !0),
+ (Wme = o(function (e) {
+ var r = this,
+ n = (r.renderer = e),
+ i = n.cy;
+ (r.layersByLevel = {}),
+ (r.firstGet = !0),
+ (r.lastInvalidationTime = Ku() - 2 * dpe),
+ (r.skipping = !1),
+ (r.eleTxrDeqs = i.collection()),
+ (r.scheduleElementRefinement = P6(function () {
+ r.refineElementTextures(r.eleTxrDeqs), r.eleTxrDeqs.unmerge(r.eleTxrDeqs);
+ }, MQe)),
+ n.beforeRender(function (s, l) {
+ l - r.lastInvalidationTime <= dpe ? (r.skipping = !0) : (r.skipping = !1);
+ }, n.beforeRenderPriorities.lyrTxrSkip);
+ var a = o(function (l, u) {
+ return u.reqs - l.reqs;
+ }, 'qSort');
+ (r.layersQueue = new eb(a)), r.setupDequeueing();
+ }, 'LayeredTextureCache')),
+ (Aa = Wme.prototype),
+ (ppe = 0),
+ ($Qe = Math.pow(2, 53) - 1);
+ Aa.makeLayer = function (t, e) {
+ var r = Math.pow(2, e),
+ n = Math.ceil(t.w * r),
+ i = Math.ceil(t.h * r),
+ a = this.renderer.makeOffscreenCanvas(n, i),
+ s = {
+ id: (ppe = ++ppe % $Qe),
+ bb: t,
+ level: e,
+ width: n,
+ height: i,
+ canvas: a,
+ context: a.getContext('2d'),
+ eles: [],
+ elesQueue: [],
+ reqs: 0
+ },
+ l = s.context,
+ u = -s.bb.x1,
+ h = -s.bb.y1;
+ return l.scale(r, r), l.translate(u, h), s;
+ };
+ Aa.getLayers = function (t, e, r) {
+ var n = this,
+ i = n.renderer,
+ a = i.cy,
+ s = a.zoom(),
+ l = n.firstGet;
+ if (((n.firstGet = !1), r == null)) {
+ if (((r = Math.ceil(tB(s * e))), r < zx)) r = zx;
+ else if (s >= RQe || r > M6) return null;
+ }
+ n.validateLayersElesOrdering(r, t);
+ var u = n.layersByLevel,
+ h = Math.pow(2, r),
+ f = (u[r] = u[r] || []),
+ d,
+ p = n.levelIsComplete(r, t),
+ m,
+ g = o(function () {
+ var M = o(function (O) {
+ if ((n.validateLayersElesOrdering(O, t), n.levelIsComplete(O, t)))
+ return (m = u[O]), !0;
+ }, 'canUseAsTmpLvl'),
+ N = o(function (O) {
+ if (!m) for (var D = r + O; zx <= D && D <= M6 && !M(D); D += O);
+ }, 'checkLvls');
+ N(1), N(-1);
+ for (var k = f.length - 1; k >= 0; k--) {
+ var I = f[k];
+ I.invalid && Af(f, I);
+ }
+ }, 'checkTempLevels');
+ if (!p) g();
+ else return f;
+ var y = o(function () {
+ if (!d) {
+ d = Gs();
+ for (var M = 0; M < t.length; M++) Vpe(d, t[M].boundingBox());
+ }
+ return d;
+ }, 'getBb'),
+ v = o(function (M) {
+ M = M || {};
+ var N = M.after;
+ y();
+ var k = d.w * h * (d.h * h);
+ if (k > zQe) return null;
+ var I = n.makeLayer(d, r);
+ if (N != null) {
+ var C = f.indexOf(N) + 1;
+ f.splice(C, 0, I);
+ } else (M.insert === void 0 || M.insert) && f.unshift(I);
+ return I;
+ }, 'makeLayer');
+ if (n.skipping && !l) return null;
+ for (var x = null, b = t.length / DQe, w = !l, S = 0; S < t.length; S++) {
+ var T = t[S],
+ E = T._private.rscratch,
+ _ = (E.imgLayerCaches = E.imgLayerCaches || {}),
+ A = _[r];
+ if (A) {
+ x = A;
+ continue;
+ }
+ if (
+ (!x || x.eles.length >= b || !Upe(x.bb, T.boundingBox())) &&
+ ((x = v({ insert: !0, after: x })), !x)
+ )
+ return null;
+ m || w ? n.queueLayer(x, T) : n.drawEleInLayer(x, T, r, e), x.eles.push(T), (_[r] = x);
+ }
+ return m || (w ? null : f);
+ };
+ Aa.getEleLevelForLayerLevel = function (t, e) {
+ return t;
+ };
+ Aa.drawEleInLayer = function (t, e, r, n) {
+ var i = this,
+ a = this.renderer,
+ s = t.context,
+ l = e.boundingBox();
+ l.w === 0 ||
+ l.h === 0 ||
+ !e.visible() ||
+ ((r = i.getEleLevelForLayerLevel(r, n)),
+ a.setImgSmoothing(s, !1),
+ a.drawCachedElement(s, e, null, null, r, GQe),
+ a.setImgSmoothing(s, !0));
+ };
+ Aa.levelIsComplete = function (t, e) {
+ var r = this,
+ n = r.layersByLevel[t];
+ if (!n || n.length === 0) return !1;
+ for (var i = 0, a = 0; a < n.length; a++) {
+ var s = n[a];
+ if (s.reqs > 0 || s.invalid) return !1;
+ i += s.eles.length;
+ }
+ return i === e.length;
+ };
+ Aa.validateLayersElesOrdering = function (t, e) {
+ var r = this.layersByLevel[t];
+ if (r)
+ for (var n = 0; n < r.length; n++) {
+ for (var i = r[n], a = -1, s = 0; s < e.length; s++)
+ if (i.eles[0] === e[s]) {
+ a = s;
+ break;
+ }
+ if (a < 0) {
+ this.invalidateLayer(i);
+ continue;
+ }
+ for (var l = a, s = 0; s < i.eles.length; s++)
+ if (i.eles[s] !== e[l + s]) {
+ this.invalidateLayer(i);
+ break;
+ }
+ }
+ };
+ Aa.updateElementsInLayers = function (t, e) {
+ for (var r = this, n = Zx(t[0]), i = 0; i < t.length; i++)
+ for (
+ var a = n ? null : t[i],
+ s = n ? t[i] : t[i].ele,
+ l = s._private.rscratch,
+ u = (l.imgLayerCaches = l.imgLayerCaches || {}),
+ h = zx;
+ h <= M6;
+ h++
+ ) {
+ var f = u[h];
+ f && ((a && r.getEleLevelForLayerLevel(f.level) !== a.level) || e(f, s, a));
+ }
+ };
+ Aa.haveLayers = function () {
+ for (var t = this, e = !1, r = zx; r <= M6; r++) {
+ var n = t.layersByLevel[r];
+ if (n && n.length > 0) {
+ e = !0;
+ break;
+ }
+ }
+ return e;
+ };
+ Aa.invalidateElements = function (t) {
+ var e = this;
+ t.length !== 0 &&
+ ((e.lastInvalidationTime = Ku()),
+ !(t.length === 0 || !e.haveLayers()) &&
+ e.updateElementsInLayers(
+ t,
+ o(function (n, i, a) {
+ e.invalidateLayer(n);
+ }, 'invalAssocLayers')
+ ));
+ };
+ Aa.invalidateLayer = function (t) {
+ if (((this.lastInvalidationTime = Ku()), !t.invalid)) {
+ var e = t.level,
+ r = t.eles,
+ n = this.layersByLevel[e];
+ Af(n, t), (t.elesQueue = []), (t.invalid = !0), t.replacement && (t.replacement.invalid = !0);
+ for (var i = 0; i < r.length; i++) {
+ var a = r[i]._private.rscratch.imgLayerCaches;
+ a && (a[e] = null);
+ }
+ }
+ };
+ Aa.refineElementTextures = function (t) {
+ var e = this;
+ e.updateElementsInLayers(
+ t,
+ o(function (n, i, a) {
+ var s = n.replacement;
+ if (
+ (s ||
+ ((s = n.replacement = e.makeLayer(n.bb, n.level)), (s.replaces = n), (s.eles = n.eles)),
+ !s.reqs)
+ )
+ for (var l = 0; l < s.eles.length; l++) e.queueLayer(s, s.eles[l]);
+ }, 'refineEachEle')
+ );
+ };
+ Aa.enqueueElementRefinement = function (t) {
+ this.eleTxrDeqs.merge(t), this.scheduleElementRefinement();
+ };
+ Aa.queueLayer = function (t, e) {
+ var r = this,
+ n = r.layersQueue,
+ i = t.elesQueue,
+ a = (i.hasId = i.hasId || {});
+ if (!t.replacement) {
+ if (e) {
+ if (a[e.id()]) return;
+ i.push(e), (a[e.id()] = !0);
+ }
+ t.reqs ? (t.reqs++, n.updateItem(t)) : ((t.reqs = 1), n.push(t));
+ }
+ };
+ Aa.dequeue = function (t) {
+ for (var e = this, r = e.layersQueue, n = [], i = 0; i < FQe && r.size() !== 0; ) {
+ var a = r.peek();
+ if (a.replacement) {
+ r.pop();
+ continue;
+ }
+ if (a.replaces && a !== a.replaces.replacement) {
+ r.pop();
+ continue;
+ }
+ if (a.invalid) {
+ r.pop();
+ continue;
+ }
+ var s = a.elesQueue.shift();
+ s && (e.drawEleInLayer(a, s, a.level, t), i++),
+ n.length === 0 && n.push(!0),
+ a.elesQueue.length === 0 &&
+ (r.pop(), (a.reqs = 0), a.replaces && e.applyLayerReplacement(a), e.requestRedraw());
+ }
+ return n;
+ };
+ Aa.applyLayerReplacement = function (t) {
+ var e = this,
+ r = e.layersByLevel[t.level],
+ n = t.replaces,
+ i = r.indexOf(n);
+ if (!(i < 0 || n.invalid)) {
+ r[i] = t;
+ for (var a = 0; a < t.eles.length; a++) {
+ var s = t.eles[a]._private,
+ l = (s.imgLayerCaches = s.imgLayerCaches || {});
+ l && (l[t.level] = t);
+ }
+ e.requestRedraw();
+ }
+ };
+ Aa.requestRedraw = P6(function () {
+ var t = this.renderer;
+ t.redrawHint('eles', !0), t.redrawHint('drag', !0), t.redraw();
+ }, 100);
+ Aa.setupDequeueing = Yme.setupDequeueing({
+ deqRedrawThreshold: NQe,
+ deqCost: IQe,
+ deqAvgCost: OQe,
+ deqNoDrawCost: PQe,
+ deqFastCost: BQe,
+ deq: o(function (e, r) {
+ return e.dequeue(r);
+ }, 'deq'),
+ onDeqd: JP,
+ shouldRedraw: Ppe,
+ priority: o(function (e) {
+ return e.renderer.beforeRenderPriorities.lyrTxrDeq;
+ }, 'priority')
+ });
+ qme = {};
+ o(VQe, 'polygon');
+ o(UQe, 'triangleBackcurve');
+ o(gpe, 'triangleTee');
+ o(HQe, 'circleTriangle');
+ o(YQe, 'circle');
+ qme.arrowShapeImpl = function (t) {
+ return (mpe ||
+ (mpe = {
+ polygon: VQe,
+ 'triangle-backcurve': UQe,
+ 'triangle-tee': gpe,
+ 'circle-triangle': HQe,
+ 'triangle-cross': gpe,
+ circle: YQe
+ }))[t];
+ };
+ Yc = {};
+ Yc.drawElement = function (t, e, r, n, i, a) {
+ var s = this;
+ e.isNode() ? s.drawNode(t, e, r, n, i, a) : s.drawEdge(t, e, r, n, i, a);
+ };
+ Yc.drawElementOverlay = function (t, e) {
+ var r = this;
+ e.isNode() ? r.drawNodeOverlay(t, e) : r.drawEdgeOverlay(t, e);
+ };
+ Yc.drawElementUnderlay = function (t, e) {
+ var r = this;
+ e.isNode() ? r.drawNodeUnderlay(t, e) : r.drawEdgeUnderlay(t, e);
+ };
+ Yc.drawCachedElementPortion = function (t, e, r, n, i, a, s, l) {
+ var u = this,
+ h = r.getBoundingBox(e);
+ if (!(h.w === 0 || h.h === 0)) {
+ var f = r.getElement(e, h, n, i, a);
+ if (f != null) {
+ var d = l(u, e);
+ if (d === 0) return;
+ var p = s(u, e),
+ m = h.x1,
+ g = h.y1,
+ y = h.w,
+ v = h.h,
+ x,
+ b,
+ w,
+ S,
+ T;
+ if (p !== 0) {
+ var E = r.getRotationPoint(e);
+ (w = E.x),
+ (S = E.y),
+ t.translate(w, S),
+ t.rotate(p),
+ (T = u.getImgSmoothing(t)),
+ T || u.setImgSmoothing(t, !0);
+ var _ = r.getRotationOffset(e);
+ (x = _.x), (b = _.y);
+ } else (x = m), (b = g);
+ var A;
+ d !== 1 && ((A = t.globalAlpha), (t.globalAlpha = A * d)),
+ t.drawImage(f.texture.canvas, f.x, 0, f.width, f.height, x, b, y, v),
+ d !== 1 && (t.globalAlpha = A),
+ p !== 0 && (t.rotate(-p), t.translate(-w, -S), T || u.setImgSmoothing(t, !1));
+ } else r.drawElement(t, e);
+ }
+ };
+ (WQe = o(function () {
+ return 0;
+ }, 'getZeroRotation')),
+ (qQe = o(function (e, r) {
+ return e.getTextAngle(r, null);
+ }, 'getLabelRotation')),
+ (XQe = o(function (e, r) {
+ return e.getTextAngle(r, 'source');
+ }, 'getSourceLabelRotation')),
+ (jQe = o(function (e, r) {
+ return e.getTextAngle(r, 'target');
+ }, 'getTargetLabelRotation')),
+ (KQe = o(function (e, r) {
+ return r.effectiveOpacity();
+ }, 'getOpacity')),
+ (DP = o(function (e, r) {
+ return r.pstyle('text-opacity').pfValue * r.effectiveOpacity();
+ }, 'getTextOpacity'));
+ Yc.drawCachedElement = function (t, e, r, n, i, a) {
+ var s = this,
+ l = s.data,
+ u = l.eleTxrCache,
+ h = l.lblTxrCache,
+ f = l.slbTxrCache,
+ d = l.tlbTxrCache,
+ p = e.boundingBox(),
+ m = a === !0 ? u.reasons.highQuality : null;
+ if (!(p.w === 0 || p.h === 0 || !e.visible()) && (!n || rB(p, n))) {
+ var g = e.isEdge(),
+ y = e.element()._private.rscratch.badLine;
+ s.drawElementUnderlay(t, e),
+ s.drawCachedElementPortion(t, e, u, r, i, m, WQe, KQe),
+ (!g || !y) && s.drawCachedElementPortion(t, e, h, r, i, m, qQe, DP),
+ g &&
+ !y &&
+ (s.drawCachedElementPortion(t, e, f, r, i, m, XQe, DP),
+ s.drawCachedElementPortion(t, e, d, r, i, m, jQe, DP)),
+ s.drawElementOverlay(t, e);
+ }
+ };
+ Yc.drawElements = function (t, e) {
+ for (var r = this, n = 0; n < e.length; n++) {
+ var i = e[n];
+ r.drawElement(t, i);
+ }
+ };
+ Yc.drawCachedElements = function (t, e, r, n) {
+ for (var i = this, a = 0; a < e.length; a++) {
+ var s = e[a];
+ i.drawCachedElement(t, s, r, n);
+ }
+ };
+ Yc.drawCachedNodes = function (t, e, r, n) {
+ for (var i = this, a = 0; a < e.length; a++) {
+ var s = e[a];
+ s.isNode() && i.drawCachedElement(t, s, r, n);
+ }
+ };
+ Yc.drawLayeredElements = function (t, e, r, n) {
+ var i = this,
+ a = i.data.lyrTxrCache.getLayers(e, r);
+ if (a)
+ for (var s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = l.bb;
+ u.w === 0 || u.h === 0 || t.drawImage(l.canvas, u.x1, u.y1, u.w, u.h);
+ }
+ else i.drawCachedElements(t, e, r, n);
+ };
+ eh = {};
+ eh.drawEdge = function (t, e, r) {
+ var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0,
+ i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0,
+ a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0,
+ s = this,
+ l = e._private.rscratch;
+ if (!(a && !e.visible()) && !(l.badLine || l.allpts == null || isNaN(l.allpts[0]))) {
+ var u;
+ r && ((u = r), t.translate(-u.x1, -u.y1));
+ var h = a ? e.pstyle('opacity').value : 1,
+ f = a ? e.pstyle('line-opacity').value : 1,
+ d = e.pstyle('curve-style').value,
+ p = e.pstyle('line-style').value,
+ m = e.pstyle('width').pfValue,
+ g = e.pstyle('line-cap').value,
+ y = e.pstyle('line-outline-width').value,
+ v = e.pstyle('line-outline-color').value,
+ x = h * f,
+ b = h * f,
+ w = o(function () {
+ var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : x;
+ d === 'straight-triangle'
+ ? (s.eleStrokeStyle(t, e, O), s.drawEdgeTrianglePath(e, t, l.allpts))
+ : ((t.lineWidth = m),
+ (t.lineCap = g),
+ s.eleStrokeStyle(t, e, O),
+ s.drawEdgePath(e, t, l.allpts, p),
+ (t.lineCap = 'butt'));
+ }, 'drawLine'),
+ S = o(function () {
+ var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : x;
+ if (((t.lineWidth = m + y), (t.lineCap = g), y > 0))
+ s.colorStrokeStyle(t, v[0], v[1], v[2], O);
+ else {
+ t.lineCap = 'butt';
+ return;
+ }
+ d === 'straight-triangle'
+ ? s.drawEdgeTrianglePath(e, t, l.allpts)
+ : (s.drawEdgePath(e, t, l.allpts, p), (t.lineCap = 'butt'));
+ }, 'drawLineOutline'),
+ T = o(function () {
+ i && s.drawEdgeOverlay(t, e);
+ }, 'drawOverlay'),
+ E = o(function () {
+ i && s.drawEdgeUnderlay(t, e);
+ }, 'drawUnderlay'),
+ _ = o(function () {
+ var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b;
+ s.drawArrowheads(t, e, O);
+ }, 'drawArrows'),
+ A = o(function () {
+ s.drawElementText(t, e, null, n);
+ }, 'drawText');
+ t.lineJoin = 'round';
+ var L = e.pstyle('ghost').value === 'yes';
+ if (L) {
+ var M = e.pstyle('ghost-offset-x').pfValue,
+ N = e.pstyle('ghost-offset-y').pfValue,
+ k = e.pstyle('ghost-opacity').value,
+ I = x * k;
+ t.translate(M, N), w(I), _(I), t.translate(-M, -N);
+ } else S();
+ E(), w(), _(), T(), A(), r && t.translate(u.x1, u.y1);
+ }
+ };
+ Xme = o(function (e) {
+ if (!['overlay', 'underlay'].includes(e)) throw new Error('Invalid state');
+ return function (r, n) {
+ if (n.visible()) {
+ var i = n.pstyle(''.concat(e, '-opacity')).value;
+ if (i !== 0) {
+ var a = this,
+ s = a.usePaths(),
+ l = n._private.rscratch,
+ u = n.pstyle(''.concat(e, '-padding')).pfValue,
+ h = 2 * u,
+ f = n.pstyle(''.concat(e, '-color')).value;
+ (r.lineWidth = h),
+ l.edgeType === 'self' && !s ? (r.lineCap = 'butt') : (r.lineCap = 'round'),
+ a.colorStrokeStyle(r, f[0], f[1], f[2], i),
+ a.drawEdgePath(n, r, l.allpts, 'solid');
+ }
+ }
+ };
+ }, 'drawEdgeOverlayUnderlay');
+ eh.drawEdgeOverlay = Xme('overlay');
+ eh.drawEdgeUnderlay = Xme('underlay');
+ eh.drawEdgePath = function (t, e, r, n) {
+ var i = t._private.rscratch,
+ a = e,
+ s,
+ l = !1,
+ u = this.usePaths(),
+ h = t.pstyle('line-dash-pattern').pfValue,
+ f = t.pstyle('line-dash-offset').pfValue;
+ if (u) {
+ var d = r.join('$'),
+ p = i.pathCacheKey && i.pathCacheKey === d;
+ p
+ ? ((s = e = i.pathCache), (l = !0))
+ : ((s = e = new Path2D()), (i.pathCacheKey = d), (i.pathCache = s));
+ }
+ if (a.setLineDash)
+ switch (n) {
+ case 'dotted':
+ a.setLineDash([1, 1]);
+ break;
+ case 'dashed':
+ a.setLineDash(h), (a.lineDashOffset = f);
+ break;
+ case 'solid':
+ a.setLineDash([]);
+ break;
+ }
+ if (!l && !i.badLine)
+ switch ((e.beginPath && e.beginPath(), e.moveTo(r[0], r[1]), i.edgeType)) {
+ case 'bezier':
+ case 'self':
+ case 'compound':
+ case 'multibezier':
+ for (var m = 2; m + 3 < r.length; m += 4)
+ e.quadraticCurveTo(r[m], r[m + 1], r[m + 2], r[m + 3]);
+ break;
+ case 'straight':
+ case 'haystack':
+ for (var g = 2; g + 1 < r.length; g += 2) e.lineTo(r[g], r[g + 1]);
+ break;
+ case 'segments':
+ if (i.isRound) {
+ var y = Tpe(i.roundCorners),
+ v;
+ try {
+ for (y.s(); !(v = y.n()).done; ) {
+ var x = v.value;
+ Bme(e, x);
+ }
+ } catch (w) {
+ y.e(w);
+ } finally {
+ y.f();
+ }
+ e.lineTo(r[r.length - 2], r[r.length - 1]);
+ } else for (var b = 2; b + 1 < r.length; b += 2) e.lineTo(r[b], r[b + 1]);
+ break;
+ }
+ (e = a), u ? e.stroke(s) : e.stroke(), e.setLineDash && e.setLineDash([]);
+ };
+ eh.drawEdgeTrianglePath = function (t, e, r) {
+ e.fillStyle = e.strokeStyle;
+ for (var n = t.pstyle('width').pfValue, i = 0; i + 1 < r.length; i += 2) {
+ var a = [r[i + 2] - r[i], r[i + 3] - r[i + 1]],
+ s = Math.sqrt(a[0] * a[0] + a[1] * a[1]),
+ l = [a[1] / s, -a[0] / s],
+ u = [(l[0] * n) / 2, (l[1] * n) / 2];
+ e.beginPath(),
+ e.moveTo(r[i] - u[0], r[i + 1] - u[1]),
+ e.lineTo(r[i] + u[0], r[i + 1] + u[1]),
+ e.lineTo(r[i + 2], r[i + 3]),
+ e.closePath(),
+ e.fill();
+ }
+ };
+ eh.drawArrowheads = function (t, e, r) {
+ var n = e._private.rscratch,
+ i = n.edgeType === 'haystack';
+ i || this.drawArrowhead(t, e, 'source', n.arrowStartX, n.arrowStartY, n.srcArrowAngle, r),
+ this.drawArrowhead(t, e, 'mid-target', n.midX, n.midY, n.midtgtArrowAngle, r),
+ this.drawArrowhead(t, e, 'mid-source', n.midX, n.midY, n.midsrcArrowAngle, r),
+ i || this.drawArrowhead(t, e, 'target', n.arrowEndX, n.arrowEndY, n.tgtArrowAngle, r);
+ };
+ eh.drawArrowhead = function (t, e, r, n, i, a, s) {
+ if (!(isNaN(n) || n == null || isNaN(i) || i == null || isNaN(a) || a == null)) {
+ var l = this,
+ u = e.pstyle(r + '-arrow-shape').value;
+ if (u !== 'none') {
+ var h = e.pstyle(r + '-arrow-fill').value === 'hollow' ? 'both' : 'filled',
+ f = e.pstyle(r + '-arrow-fill').value,
+ d = e.pstyle('width').pfValue,
+ p = e.pstyle(r + '-arrow-width'),
+ m = p.value === 'match-line' ? d : p.pfValue;
+ p.units === '%' && (m *= d);
+ var g = e.pstyle('opacity').value;
+ s === void 0 && (s = g);
+ var y = t.globalCompositeOperation;
+ (s !== 1 || f === 'hollow') &&
+ ((t.globalCompositeOperation = 'destination-out'),
+ l.colorFillStyle(t, 255, 255, 255, 1),
+ l.colorStrokeStyle(t, 255, 255, 255, 1),
+ l.drawArrowShape(e, t, h, d, u, m, n, i, a),
+ (t.globalCompositeOperation = y));
+ var v = e.pstyle(r + '-arrow-color').value;
+ l.colorFillStyle(t, v[0], v[1], v[2], s),
+ l.colorStrokeStyle(t, v[0], v[1], v[2], s),
+ l.drawArrowShape(e, t, f, d, u, m, n, i, a);
+ }
+ }
+ };
+ eh.drawArrowShape = function (t, e, r, n, i, a, s, l, u) {
+ var h = this,
+ f = this.usePaths() && i !== 'triangle-cross',
+ d = !1,
+ p,
+ m = e,
+ g = { x: s, y: l },
+ y = t.pstyle('arrow-scale').value,
+ v = this.getArrowWidth(n, y),
+ x = h.arrowShapes[i];
+ if (f) {
+ var b = (h.arrowPathCache = h.arrowPathCache || []),
+ w = U0(i),
+ S = b[w];
+ S != null ? ((p = e = S), (d = !0)) : ((p = e = new Path2D()), (b[w] = p));
+ }
+ d ||
+ (e.beginPath && e.beginPath(),
+ f ? x.draw(e, 1, 0, { x: 0, y: 0 }, 1) : x.draw(e, v, u, g, n),
+ e.closePath && e.closePath()),
+ (e = m),
+ f && (e.translate(s, l), e.rotate(u), e.scale(v, v)),
+ (r === 'filled' || r === 'both') && (f ? e.fill(p) : e.fill()),
+ (r === 'hollow' || r === 'both') &&
+ ((e.lineWidth = a / (f ? v : 1)), (e.lineJoin = 'miter'), f ? e.stroke(p) : e.stroke()),
+ f && (e.scale(1 / v, 1 / v), e.rotate(-u), e.translate(-s, -l));
+ };
+ yB = {};
+ yB.safeDrawImage = function (t, e, r, n, i, a, s, l, u, h) {
+ if (!(i <= 0 || a <= 0 || u <= 0 || h <= 0))
+ try {
+ t.drawImage(e, r, n, i, a, s, l, u, h);
+ } catch (f) {
+ tn(f);
+ }
+ };
+ yB.drawInscribedImage = function (t, e, r, n, i) {
+ var a = this,
+ s = r.position(),
+ l = s.x,
+ u = s.y,
+ h = r.cy().style(),
+ f = h.getIndexedStyle.bind(h),
+ d = f(r, 'background-fit', 'value', n),
+ p = f(r, 'background-repeat', 'value', n),
+ m = r.width(),
+ g = r.height(),
+ y = r.padding() * 2,
+ v = m + (f(r, 'background-width-relative-to', 'value', n) === 'inner' ? 0 : y),
+ x = g + (f(r, 'background-height-relative-to', 'value', n) === 'inner' ? 0 : y),
+ b = r._private.rscratch,
+ w = f(r, 'background-clip', 'value', n),
+ S = w === 'node',
+ T = f(r, 'background-image-opacity', 'value', n) * i,
+ E = f(r, 'background-image-smoothing', 'value', n),
+ _ = r.pstyle('corner-radius').value;
+ _ !== 'auto' && (_ = r.pstyle('corner-radius').pfValue);
+ var A = e.width || e.cachedW,
+ L = e.height || e.cachedH;
+ (A == null || L == null) &&
+ (document.body.appendChild(e),
+ (A = e.cachedW = e.width || e.offsetWidth),
+ (L = e.cachedH = e.height || e.offsetHeight),
+ document.body.removeChild(e));
+ var M = A,
+ N = L;
+ if (
+ (f(r, 'background-width', 'value', n) !== 'auto' &&
+ (f(r, 'background-width', 'units', n) === '%'
+ ? (M = f(r, 'background-width', 'pfValue', n) * v)
+ : (M = f(r, 'background-width', 'pfValue', n))),
+ f(r, 'background-height', 'value', n) !== 'auto' &&
+ (f(r, 'background-height', 'units', n) === '%'
+ ? (N = f(r, 'background-height', 'pfValue', n) * x)
+ : (N = f(r, 'background-height', 'pfValue', n))),
+ !(M === 0 || N === 0))
+ ) {
+ if (d === 'contain') {
+ var k = Math.min(v / M, x / N);
+ (M *= k), (N *= k);
+ } else if (d === 'cover') {
+ var k = Math.max(v / M, x / N);
+ (M *= k), (N *= k);
+ }
+ var I = l - v / 2,
+ C = f(r, 'background-position-x', 'units', n),
+ O = f(r, 'background-position-x', 'pfValue', n);
+ C === '%' ? (I += (v - M) * O) : (I += O);
+ var D = f(r, 'background-offset-x', 'units', n),
+ P = f(r, 'background-offset-x', 'pfValue', n);
+ D === '%' ? (I += (v - M) * P) : (I += P);
+ var F = u - x / 2,
+ B = f(r, 'background-position-y', 'units', n),
+ $ = f(r, 'background-position-y', 'pfValue', n);
+ B === '%' ? (F += (x - N) * $) : (F += $);
+ var z = f(r, 'background-offset-y', 'units', n),
+ Y = f(r, 'background-offset-y', 'pfValue', n);
+ z === '%' ? (F += (x - N) * Y) : (F += Y), b.pathCache && ((I -= l), (F -= u), (l = 0), (u = 0));
+ var Q = t.globalAlpha;
+ t.globalAlpha = T;
+ var X = a.getImgSmoothing(t),
+ ie = !1;
+ if (
+ (E === 'no' && X
+ ? (a.setImgSmoothing(t, !1), (ie = !0))
+ : E === 'yes' && !X && (a.setImgSmoothing(t, !0), (ie = !0)),
+ p === 'no-repeat')
+ )
+ S &&
+ (t.save(),
+ b.pathCache
+ ? t.clip(b.pathCache)
+ : (a.nodeShapes[a.getNodeShape(r)].draw(t, l, u, v, x, _, b), t.clip())),
+ a.safeDrawImage(t, e, 0, 0, A, L, I, F, M, N),
+ S && t.restore();
+ else {
+ var j = t.createPattern(e, p);
+ (t.fillStyle = j),
+ a.nodeShapes[a.getNodeShape(r)].draw(t, l, u, v, x, _, b),
+ t.translate(I, F),
+ t.fill(),
+ t.translate(-I, -F);
+ }
+ (t.globalAlpha = Q), ie && a.setImgSmoothing(t, X);
+ }
+ };
+ K0 = {};
+ K0.eleTextBiggerThanMin = function (t, e) {
+ if (!e) {
+ var r = t.cy().zoom(),
+ n = this.getPixelRatio(),
+ i = Math.ceil(tB(r * n));
+ e = Math.pow(2, i);
+ }
+ var a = t.pstyle('font-size').pfValue * e,
+ s = t.pstyle('min-zoomed-font-size').pfValue;
+ return !(a < s);
+ };
+ K0.drawElementText = function (t, e, r, n, i) {
+ var a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0,
+ s = this;
+ if (n == null) {
+ if (a && !s.eleTextBiggerThanMin(e)) return;
+ } else if (n === !1) return;
+ if (e.isNode()) {
+ var l = e.pstyle('label');
+ if (!l || !l.value) return;
+ var u = s.getLabelJustification(e);
+ (t.textAlign = u), (t.textBaseline = 'bottom');
+ } else {
+ var h = e.element()._private.rscratch.badLine,
+ f = e.pstyle('label'),
+ d = e.pstyle('source-label'),
+ p = e.pstyle('target-label');
+ if (h || ((!f || !f.value) && (!d || !d.value) && (!p || !p.value))) return;
+ (t.textAlign = 'center'), (t.textBaseline = 'bottom');
+ }
+ var m = !r,
+ g;
+ r && ((g = r), t.translate(-g.x1, -g.y1)),
+ i == null
+ ? (s.drawText(t, e, null, m, a),
+ e.isEdge() && (s.drawText(t, e, 'source', m, a), s.drawText(t, e, 'target', m, a)))
+ : s.drawText(t, e, i, m, a),
+ r && t.translate(g.x1, g.y1);
+ };
+ K0.getFontCache = function (t) {
+ var e;
+ this.fontCaches = this.fontCaches || [];
+ for (var r = 0; r < this.fontCaches.length; r++)
+ if (((e = this.fontCaches[r]), e.context === t)) return e;
+ return (e = { context: t }), this.fontCaches.push(e), e;
+ };
+ K0.setupTextStyle = function (t, e) {
+ var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0,
+ n = e.pstyle('font-style').strValue,
+ i = e.pstyle('font-size').pfValue + 'px',
+ a = e.pstyle('font-family').strValue,
+ s = e.pstyle('font-weight').strValue,
+ l = r ? e.effectiveOpacity() * e.pstyle('text-opacity').value : 1,
+ u = e.pstyle('text-outline-opacity').value * l,
+ h = e.pstyle('color').value,
+ f = e.pstyle('text-outline-color').value;
+ (t.font = n + ' ' + s + ' ' + i + ' ' + a),
+ (t.lineJoin = 'round'),
+ this.colorFillStyle(t, h[0], h[1], h[2], l),
+ this.colorStrokeStyle(t, f[0], f[1], f[2], u);
+ };
+ o(RP, 'roundRect');
+ K0.getTextAngle = function (t, e) {
+ var r,
+ n = t._private,
+ i = n.rscratch,
+ a = e ? e + '-' : '',
+ s = t.pstyle(a + 'text-rotation'),
+ l = Ul(i, 'labelAngle', e);
+ return (
+ s.strValue === 'autorotate'
+ ? (r = t.isEdge() ? l : 0)
+ : s.strValue === 'none'
+ ? (r = 0)
+ : (r = s.pfValue),
+ r
+ );
+ };
+ K0.drawText = function (t, e, r) {
+ var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0,
+ i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0,
+ a = e._private,
+ s = a.rscratch,
+ l = i ? e.effectiveOpacity() : 1;
+ if (!(i && (l === 0 || e.pstyle('text-opacity').value === 0))) {
+ r === 'main' && (r = null);
+ var u = Ul(s, 'labelX', r),
+ h = Ul(s, 'labelY', r),
+ f,
+ d,
+ p = this.getLabelText(e, r);
+ if (p != null && p !== '' && !isNaN(u) && !isNaN(h)) {
+ this.setupTextStyle(t, e, i);
+ var m = r ? r + '-' : '',
+ g = Ul(s, 'labelWidth', r),
+ y = Ul(s, 'labelHeight', r),
+ v = e.pstyle(m + 'text-margin-x').pfValue,
+ x = e.pstyle(m + 'text-margin-y').pfValue,
+ b = e.isEdge(),
+ w = e.pstyle('text-halign').value,
+ S = e.pstyle('text-valign').value;
+ b && ((w = 'center'), (S = 'center')), (u += v), (h += x);
+ var T;
+ switch (
+ (n ? (T = this.getTextAngle(e, r)) : (T = 0),
+ T !== 0 && ((f = u), (d = h), t.translate(f, d), t.rotate(T), (u = 0), (h = 0)),
+ S)
+ ) {
+ case 'top':
+ break;
+ case 'center':
+ h += y / 2;
+ break;
+ case 'bottom':
+ h += y;
+ break;
+ }
+ var E = e.pstyle('text-background-opacity').value,
+ _ = e.pstyle('text-border-opacity').value,
+ A = e.pstyle('text-border-width').pfValue,
+ L = e.pstyle('text-background-padding').pfValue,
+ M = e.pstyle('text-background-shape').strValue,
+ N = M.indexOf('round') === 0,
+ k = 2;
+ if (E > 0 || (A > 0 && _ > 0)) {
+ var I = u - L;
+ switch (w) {
+ case 'left':
+ I -= g;
+ break;
+ case 'center':
+ I -= g / 2;
+ break;
+ }
+ var C = h - y - L,
+ O = g + 2 * L,
+ D = y + 2 * L;
+ if (E > 0) {
+ var P = t.fillStyle,
+ F = e.pstyle('text-background-color').value;
+ (t.fillStyle = 'rgba(' + F[0] + ',' + F[1] + ',' + F[2] + ',' + E * l + ')'),
+ N ? RP(t, I, C, O, D, k) : t.fillRect(I, C, O, D),
+ (t.fillStyle = P);
+ }
+ if (A > 0 && _ > 0) {
+ var B = t.strokeStyle,
+ $ = t.lineWidth,
+ z = e.pstyle('text-border-color').value,
+ Y = e.pstyle('text-border-style').value;
+ if (
+ ((t.strokeStyle = 'rgba(' + z[0] + ',' + z[1] + ',' + z[2] + ',' + _ * l + ')'),
+ (t.lineWidth = A),
+ t.setLineDash)
+ )
+ switch (Y) {
+ case 'dotted':
+ t.setLineDash([1, 1]);
+ break;
+ case 'dashed':
+ t.setLineDash([4, 2]);
+ break;
+ case 'double':
+ (t.lineWidth = A / 4), t.setLineDash([]);
+ break;
+ case 'solid':
+ t.setLineDash([]);
+ break;
+ }
+ if ((N ? RP(t, I, C, O, D, k, 'stroke') : t.strokeRect(I, C, O, D), Y === 'double')) {
+ var Q = A / 2;
+ N
+ ? RP(t, I + Q, C + Q, O - Q * 2, D - Q * 2, k, 'stroke')
+ : t.strokeRect(I + Q, C + Q, O - Q * 2, D - Q * 2);
+ }
+ t.setLineDash && t.setLineDash([]), (t.lineWidth = $), (t.strokeStyle = B);
+ }
+ }
+ var X = 2 * e.pstyle('text-outline-width').pfValue;
+ if ((X > 0 && (t.lineWidth = X), e.pstyle('text-wrap').value === 'wrap')) {
+ var ie = Ul(s, 'labelWrapCachedLines', r),
+ j = Ul(s, 'labelLineHeight', r),
+ J = g / 2,
+ Z = this.getLabelJustification(e);
+ switch (
+ (Z === 'auto' ||
+ (w === 'left'
+ ? Z === 'left'
+ ? (u += -g)
+ : Z === 'center' && (u += -J)
+ : w === 'center'
+ ? Z === 'left'
+ ? (u += -J)
+ : Z === 'right' && (u += J)
+ : w === 'right' && (Z === 'center' ? (u += J) : Z === 'right' && (u += g))),
+ S)
+ ) {
+ case 'top':
+ h -= (ie.length - 1) * j;
+ break;
+ case 'center':
+ case 'bottom':
+ h -= (ie.length - 1) * j;
+ break;
+ }
+ for (var H = 0; H < ie.length; H++)
+ X > 0 && t.strokeText(ie[H], u, h), t.fillText(ie[H], u, h), (h += j);
+ } else X > 0 && t.strokeText(p, u, h), t.fillText(p, u, h);
+ T !== 0 && (t.rotate(-T), t.translate(-f, -d));
+ }
+ }
+ };
+ v1 = {};
+ v1.drawNode = function (t, e, r) {
+ var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0,
+ i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0,
+ a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0,
+ s = this,
+ l,
+ u,
+ h = e._private,
+ f = h.rscratch,
+ d = e.position();
+ if (!(!ft(d.x) || !ft(d.y)) && !(a && !e.visible())) {
+ var p = a ? e.effectiveOpacity() : 1,
+ m = s.usePaths(),
+ g,
+ y = !1,
+ v = e.padding();
+ (l = e.width() + 2 * v), (u = e.height() + 2 * v);
+ var x;
+ r && ((x = r), t.translate(-x.x1, -x.y1));
+ for (
+ var b = e.pstyle('background-image'),
+ w = b.value,
+ S = new Array(w.length),
+ T = new Array(w.length),
+ E = 0,
+ _ = 0;
+ _ < w.length;
+ _++
+ ) {
+ var A = w[_],
+ L = (S[_] = A != null && A !== 'none');
+ if (L) {
+ var M = e.cy().style().getIndexedStyle(e, 'background-image-crossorigin', 'value', _);
+ E++,
+ (T[_] = s.getCachedImage(A, M, function () {
+ (h.backgroundTimestamp = Date.now()), e.emitAndNotify('background');
+ }));
+ }
+ }
+ var N = e.pstyle('background-blacken').value,
+ k = e.pstyle('border-width').pfValue,
+ I = e.pstyle('background-opacity').value * p,
+ C = e.pstyle('border-color').value,
+ O = e.pstyle('border-style').value,
+ D = e.pstyle('border-join').value,
+ P = e.pstyle('border-cap').value,
+ F = e.pstyle('border-position').value,
+ B = e.pstyle('border-dash-pattern').pfValue,
+ $ = e.pstyle('border-dash-offset').pfValue,
+ z = e.pstyle('border-opacity').value * p,
+ Y = e.pstyle('outline-width').pfValue,
+ Q = e.pstyle('outline-color').value,
+ X = e.pstyle('outline-style').value,
+ ie = e.pstyle('outline-opacity').value * p,
+ j = e.pstyle('outline-offset').value,
+ J = e.pstyle('corner-radius').value;
+ J !== 'auto' && (J = e.pstyle('corner-radius').pfValue);
+ var Z = o(function () {
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : I;
+ s.eleFillStyle(t, e, ne);
+ }, 'setupShapeColor'),
+ H = o(function () {
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : z;
+ s.colorStrokeStyle(t, C[0], C[1], C[2], ne);
+ }, 'setupBorderColor'),
+ q = o(function () {
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ie;
+ s.colorStrokeStyle(t, Q[0], Q[1], Q[2], ne);
+ }, 'setupOutlineColor'),
+ K = o(function (ne, ae, we, Te) {
+ var Ce = (s.nodePathCache = s.nodePathCache || []),
+ Ae = Ope(we === 'polygon' ? we + ',' + Te.join(',') : we, '' + ae, '' + ne, '' + J),
+ Ge = Ce[Ae],
+ Me,
+ ye = !1;
+ return (
+ Ge != null
+ ? ((Me = Ge), (ye = !0), (f.pathCache = Me))
+ : ((Me = new Path2D()), (Ce[Ae] = f.pathCache = Me)),
+ { path: Me, cacheHit: ye }
+ );
+ }, 'getPath'),
+ se = e.pstyle('shape').strValue,
+ ce = e.pstyle('shape-polygon-points').pfValue;
+ if (m) {
+ t.translate(d.x, d.y);
+ var ue = K(l, u, se, ce);
+ (g = ue.path), (y = ue.cacheHit);
+ }
+ var te = o(function () {
+ if (!y) {
+ var ne = d;
+ m && (ne = { x: 0, y: 0 }),
+ s.nodeShapes[s.getNodeShape(e)].draw(g || t, ne.x, ne.y, l, u, J, f);
+ }
+ m ? t.fill(g) : t.fill();
+ }, 'drawShape'),
+ De = o(function () {
+ for (
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : p,
+ ae = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
+ we = h.backgrounding,
+ Te = 0,
+ Ce = 0;
+ Ce < T.length;
+ Ce++
+ ) {
+ var Ae = e.cy().style().getIndexedStyle(e, 'background-image-containment', 'value', Ce);
+ if ((ae && Ae === 'over') || (!ae && Ae === 'inside')) {
+ Te++;
+ continue;
+ }
+ S[Ce] &&
+ T[Ce].complete &&
+ !T[Ce].error &&
+ (Te++, s.drawInscribedImage(t, T[Ce], e, Ce, ne));
+ }
+ (h.backgrounding = Te !== E), we !== h.backgrounding && e.updateStyle(!1);
+ }, 'drawImages'),
+ oe = o(function () {
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1,
+ ae = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : p;
+ s.hasPie(e) &&
+ (s.drawPie(t, e, ae),
+ ne && (m || s.nodeShapes[s.getNodeShape(e)].draw(t, d.x, d.y, l, u, J, f)));
+ }, 'drawPie'),
+ ke = o(function () {
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : p,
+ ae = (N > 0 ? N : -N) * ne,
+ we = N > 0 ? 0 : 255;
+ N !== 0 && (s.colorFillStyle(t, we, we, we, ae), m ? t.fill(g) : t.fill());
+ }, 'darken'),
+ Ie = o(function () {
+ if (k > 0) {
+ if (((t.lineWidth = k), (t.lineCap = P), (t.lineJoin = D), t.setLineDash))
+ switch (O) {
+ case 'dotted':
+ t.setLineDash([1, 1]);
+ break;
+ case 'dashed':
+ t.setLineDash(B), (t.lineDashOffset = $);
+ break;
+ case 'solid':
+ case 'double':
+ t.setLineDash([]);
+ break;
+ }
+ if (F !== 'center') {
+ if ((t.save(), (t.lineWidth *= 2), F === 'inside')) m ? t.clip(g) : t.clip();
+ else {
+ var ne = new Path2D();
+ ne.rect(-l / 2 - k, -u / 2 - k, l + 2 * k, u + 2 * k),
+ ne.addPath(g),
+ t.clip(ne, 'evenodd');
+ }
+ m ? t.stroke(g) : t.stroke(), t.restore();
+ } else m ? t.stroke(g) : t.stroke();
+ if (O === 'double') {
+ t.lineWidth = k / 3;
+ var ae = t.globalCompositeOperation;
+ (t.globalCompositeOperation = 'destination-out'),
+ m ? t.stroke(g) : t.stroke(),
+ (t.globalCompositeOperation = ae);
+ }
+ t.setLineDash && t.setLineDash([]);
+ }
+ }, 'drawBorder'),
+ Se = o(function () {
+ if (Y > 0) {
+ if (((t.lineWidth = Y), (t.lineCap = 'butt'), t.setLineDash))
+ switch (X) {
+ case 'dotted':
+ t.setLineDash([1, 1]);
+ break;
+ case 'dashed':
+ t.setLineDash([4, 2]);
+ break;
+ case 'solid':
+ case 'double':
+ t.setLineDash([]);
+ break;
+ }
+ var ne = d;
+ m && (ne = { x: 0, y: 0 });
+ var ae = s.getNodeShape(e),
+ we = k;
+ F === 'inside' && (we = 0), F === 'outside' && (we *= 2);
+ var Te = (l + we + (Y + j)) / l,
+ Ce = (u + we + (Y + j)) / u,
+ Ae = l * Te,
+ Ge = u * Ce,
+ Me = s.nodeShapes[ae].points,
+ ye;
+ if (m) {
+ var He = K(Ae, Ge, ae, Me);
+ ye = He.path;
+ }
+ if (ae === 'ellipse') s.drawEllipsePath(ye || t, ne.x, ne.y, Ae, Ge);
+ else if (
+ [
+ 'round-diamond',
+ 'round-heptagon',
+ 'round-hexagon',
+ 'round-octagon',
+ 'round-pentagon',
+ 'round-polygon',
+ 'round-triangle',
+ 'round-tag'
+ ].includes(ae)
+ ) {
+ var ze = 0,
+ Ze = 0,
+ gt = 0;
+ ae === 'round-diamond'
+ ? (ze = (we + j + Y) * 1.4)
+ : ae === 'round-heptagon'
+ ? ((ze = (we + j + Y) * 1.075), (gt = -(we / 2 + j + Y) / 35))
+ : ae === 'round-hexagon'
+ ? (ze = (we + j + Y) * 1.12)
+ : ae === 'round-pentagon'
+ ? ((ze = (we + j + Y) * 1.13), (gt = -(we / 2 + j + Y) / 15))
+ : ae === 'round-tag'
+ ? ((ze = (we + j + Y) * 1.12), (Ze = (we / 2 + Y + j) * 0.07))
+ : ae === 'round-triangle' &&
+ ((ze = (we + j + Y) * (Math.PI / 2)), (gt = -(we + j / 2 + Y) / Math.PI)),
+ ze !== 0 &&
+ ((Te = (l + ze) / l),
+ (Ae = l * Te),
+ ['round-hexagon', 'round-tag'].includes(ae) ||
+ ((Ce = (u + ze) / u), (Ge = u * Ce))),
+ (J = J === 'auto' ? Wpe(Ae, Ge) : J);
+ for (
+ var yt = Ae / 2,
+ tt = Ge / 2,
+ Ye = J + (we + Y + j) / 2,
+ Je = new Array(Me.length / 2),
+ Ve = new Array(Me.length / 2),
+ je = 0;
+ je < Me.length / 2;
+ je++
+ )
+ Je[je] = {
+ x: ne.x + Ze + yt * Me[je * 2],
+ y: ne.y + gt + tt * Me[je * 2 + 1]
+ };
+ var kt,
+ at,
+ xt,
+ it,
+ dt = Je.length;
+ for (at = Je[dt - 1], kt = 0; kt < dt; kt++)
+ (xt = Je[kt % dt]),
+ (it = Je[(kt + 1) % dt]),
+ (Ve[kt] = mB(at, xt, it, Ye)),
+ (at = xt),
+ (xt = it);
+ s.drawRoundPolygonPath(ye || t, ne.x + Ze, ne.y + gt, l * Te, u * Ce, Me, Ve);
+ } else if (['roundrectangle', 'round-rectangle'].includes(ae))
+ (J = J === 'auto' ? Y0(Ae, Ge) : J),
+ s.drawRoundRectanglePath(ye || t, ne.x, ne.y, Ae, Ge, J + (we + Y + j) / 2);
+ else if (['cutrectangle', 'cut-rectangle'].includes(ae))
+ (J = J === 'auto' ? nB() : J),
+ s.drawCutRectanglePath(ye || t, ne.x, ne.y, Ae, Ge, null, J + (we + Y + j) / 4);
+ else if (['bottomroundrectangle', 'bottom-round-rectangle'].includes(ae))
+ (J = J === 'auto' ? Y0(Ae, Ge) : J),
+ s.drawBottomRoundRectanglePath(
+ ye || t,
+ ne.x,
+ ne.y,
+ Ae,
+ Ge,
+ J + (we + Y + j) / 2
+ );
+ else if (ae === 'barrel') s.drawBarrelPath(ye || t, ne.x, ne.y, Ae, Ge);
+ else if (
+ ae.startsWith('polygon') ||
+ ['rhomboid', 'right-rhomboid', 'round-tag', 'tag', 'vee'].includes(ae)
+ ) {
+ var lt = (we + Y + j) / l;
+ (Me = S6(A6(Me, lt))), s.drawPolygonPath(ye || t, ne.x, ne.y, l, u, Me);
+ } else {
+ var It = (we + Y + j) / l;
+ (Me = S6(A6(Me, -It))), s.drawPolygonPath(ye || t, ne.x, ne.y, l, u, Me);
+ }
+ if ((m ? t.stroke(ye) : t.stroke(), X === 'double')) {
+ t.lineWidth = we / 3;
+ var mt = t.globalCompositeOperation;
+ (t.globalCompositeOperation = 'destination-out'),
+ m ? t.stroke(ye) : t.stroke(),
+ (t.globalCompositeOperation = mt);
+ }
+ t.setLineDash && t.setLineDash([]);
+ }
+ }, 'drawOutline'),
+ Ue = o(function () {
+ i && s.drawNodeOverlay(t, e, d, l, u);
+ }, 'drawOverlay'),
+ Pe = o(function () {
+ i && s.drawNodeUnderlay(t, e, d, l, u);
+ }, 'drawUnderlay'),
+ _e = o(function () {
+ s.drawElementText(t, e, null, n);
+ }, 'drawText'),
+ me = e.pstyle('ghost').value === 'yes';
+ if (me) {
+ var W = e.pstyle('ghost-offset-x').pfValue,
+ fe = e.pstyle('ghost-offset-y').pfValue,
+ ge = e.pstyle('ghost-opacity').value,
+ re = ge * p;
+ t.translate(W, fe),
+ q(),
+ Se(),
+ Z(ge * I),
+ te(),
+ De(re, !0),
+ H(ge * z),
+ Ie(),
+ oe(N !== 0 || k !== 0),
+ De(re, !1),
+ ke(re),
+ t.translate(-W, -fe);
+ }
+ m && t.translate(-d.x, -d.y),
+ Pe(),
+ m && t.translate(d.x, d.y),
+ q(),
+ Se(),
+ Z(),
+ te(),
+ De(p, !0),
+ H(),
+ Ie(),
+ oe(N !== 0 || k !== 0),
+ De(p, !1),
+ ke(),
+ m && t.translate(-d.x, -d.y),
+ _e(),
+ Ue(),
+ r && t.translate(x.x1, x.y1);
+ }
+ };
+ jme = o(function (e) {
+ if (!['overlay', 'underlay'].includes(e)) throw new Error('Invalid state');
+ return function (r, n, i, a, s) {
+ var l = this;
+ if (n.visible()) {
+ var u = n.pstyle(''.concat(e, '-padding')).pfValue,
+ h = n.pstyle(''.concat(e, '-opacity')).value,
+ f = n.pstyle(''.concat(e, '-color')).value,
+ d = n.pstyle(''.concat(e, '-shape')).value,
+ p = n.pstyle(''.concat(e, '-corner-radius')).value;
+ if (h > 0) {
+ if (((i = i || n.position()), a == null || s == null)) {
+ var m = n.padding();
+ (a = n.width() + 2 * m), (s = n.height() + 2 * m);
+ }
+ l.colorFillStyle(r, f[0], f[1], f[2], h),
+ l.nodeShapes[d].draw(r, i.x, i.y, a + u * 2, s + u * 2, p),
+ r.fill();
+ }
+ }
+ };
+ }, 'drawNodeOverlayUnderlay');
+ v1.drawNodeOverlay = jme('overlay');
+ v1.drawNodeUnderlay = jme('underlay');
+ v1.hasPie = function (t) {
+ return (t = t[0]), t._private.hasPie;
+ };
+ v1.drawPie = function (t, e, r, n) {
+ (e = e[0]), (n = n || e.position());
+ var i = e.cy().style(),
+ a = e.pstyle('pie-size'),
+ s = n.x,
+ l = n.y,
+ u = e.width(),
+ h = e.height(),
+ f = Math.min(u, h) / 2,
+ d = 0,
+ p = this.usePaths();
+ p && ((s = 0), (l = 0)),
+ a.units === '%' ? (f = f * a.pfValue) : a.pfValue !== void 0 && (f = a.pfValue / 2);
+ for (var m = 1; m <= i.pieBackgroundN; m++) {
+ var g = e.pstyle('pie-' + m + '-background-size').value,
+ y = e.pstyle('pie-' + m + '-background-color').value,
+ v = e.pstyle('pie-' + m + '-background-opacity').value * r,
+ x = g / 100;
+ x + d > 1 && (x = 1 - d);
+ var b = 1.5 * Math.PI + 2 * Math.PI * d,
+ w = 2 * Math.PI * x,
+ S = b + w;
+ g === 0 ||
+ d >= 1 ||
+ d + x > 1 ||
+ (t.beginPath(),
+ t.moveTo(s, l),
+ t.arc(s, l, f, b, S),
+ t.closePath(),
+ this.colorFillStyle(t, y[0], y[1], y[2], v),
+ t.fill(),
+ (d += x));
+ }
+ };
+ (bo = {}), (QQe = 100);
+ bo.getPixelRatio = function () {
+ var t = this.data.contexts[0];
+ if (this.forcedPixelRatio != null) return this.forcedPixelRatio;
+ var e = this.cy.window(),
+ r =
+ t.backingStorePixelRatio ||
+ t.webkitBackingStorePixelRatio ||
+ t.mozBackingStorePixelRatio ||
+ t.msBackingStorePixelRatio ||
+ t.oBackingStorePixelRatio ||
+ t.backingStorePixelRatio ||
+ 1;
+ return (e.devicePixelRatio || 1) / r;
+ };
+ bo.paintCache = function (t) {
+ for (var e = (this.paintCaches = this.paintCaches || []), r = !0, n, i = 0; i < e.length; i++)
+ if (((n = e[i]), n.context === t)) {
+ r = !1;
+ break;
+ }
+ return r && ((n = { context: t }), e.push(n)), n;
+ };
+ bo.createGradientStyleFor = function (t, e, r, n, i) {
+ var a,
+ s = this.usePaths(),
+ l = r.pstyle(e + '-gradient-stop-colors').value,
+ u = r.pstyle(e + '-gradient-stop-positions').pfValue;
+ if (n === 'radial-gradient')
+ if (r.isEdge()) {
+ var h = r.sourceEndpoint(),
+ f = r.targetEndpoint(),
+ d = r.midpoint(),
+ p = H0(h, d),
+ m = H0(f, d);
+ a = t.createRadialGradient(d.x, d.y, 0, d.x, d.y, Math.max(p, m));
+ } else {
+ var g = s ? { x: 0, y: 0 } : r.position(),
+ y = r.paddedWidth(),
+ v = r.paddedHeight();
+ a = t.createRadialGradient(g.x, g.y, 0, g.x, g.y, Math.max(y, v));
+ }
+ else if (r.isEdge()) {
+ var x = r.sourceEndpoint(),
+ b = r.targetEndpoint();
+ a = t.createLinearGradient(x.x, x.y, b.x, b.y);
+ } else {
+ var w = s ? { x: 0, y: 0 } : r.position(),
+ S = r.paddedWidth(),
+ T = r.paddedHeight(),
+ E = S / 2,
+ _ = T / 2,
+ A = r.pstyle('background-gradient-direction').value;
+ switch (A) {
+ case 'to-bottom':
+ a = t.createLinearGradient(w.x, w.y - _, w.x, w.y + _);
+ break;
+ case 'to-top':
+ a = t.createLinearGradient(w.x, w.y + _, w.x, w.y - _);
+ break;
+ case 'to-left':
+ a = t.createLinearGradient(w.x + E, w.y, w.x - E, w.y);
+ break;
+ case 'to-right':
+ a = t.createLinearGradient(w.x - E, w.y, w.x + E, w.y);
+ break;
+ case 'to-bottom-right':
+ case 'to-right-bottom':
+ a = t.createLinearGradient(w.x - E, w.y - _, w.x + E, w.y + _);
+ break;
+ case 'to-top-right':
+ case 'to-right-top':
+ a = t.createLinearGradient(w.x - E, w.y + _, w.x + E, w.y - _);
+ break;
+ case 'to-bottom-left':
+ case 'to-left-bottom':
+ a = t.createLinearGradient(w.x + E, w.y - _, w.x - E, w.y + _);
+ break;
+ case 'to-top-left':
+ case 'to-left-top':
+ a = t.createLinearGradient(w.x + E, w.y + _, w.x - E, w.y - _);
+ break;
+ }
+ }
+ if (!a) return null;
+ for (var L = u.length === l.length, M = l.length, N = 0; N < M; N++)
+ a.addColorStop(
+ L ? u[N] : N / (M - 1),
+ 'rgba(' + l[N][0] + ',' + l[N][1] + ',' + l[N][2] + ',' + i + ')'
+ );
+ return a;
+ };
+ bo.gradientFillStyle = function (t, e, r, n) {
+ var i = this.createGradientStyleFor(t, 'background', e, r, n);
+ if (!i) return null;
+ t.fillStyle = i;
+ };
+ bo.colorFillStyle = function (t, e, r, n, i) {
+ t.fillStyle = 'rgba(' + e + ',' + r + ',' + n + ',' + i + ')';
+ };
+ bo.eleFillStyle = function (t, e, r) {
+ var n = e.pstyle('background-fill').value;
+ if (n === 'linear-gradient' || n === 'radial-gradient') this.gradientFillStyle(t, e, n, r);
+ else {
+ var i = e.pstyle('background-color').value;
+ this.colorFillStyle(t, i[0], i[1], i[2], r);
+ }
+ };
+ bo.gradientStrokeStyle = function (t, e, r, n) {
+ var i = this.createGradientStyleFor(t, 'line', e, r, n);
+ if (!i) return null;
+ t.strokeStyle = i;
+ };
+ bo.colorStrokeStyle = function (t, e, r, n, i) {
+ t.strokeStyle = 'rgba(' + e + ',' + r + ',' + n + ',' + i + ')';
+ };
+ bo.eleStrokeStyle = function (t, e, r) {
+ var n = e.pstyle('line-fill').value;
+ if (n === 'linear-gradient' || n === 'radial-gradient') this.gradientStrokeStyle(t, e, n, r);
+ else {
+ var i = e.pstyle('line-color').value;
+ this.colorStrokeStyle(t, i[0], i[1], i[2], r);
+ }
+ };
+ bo.matchCanvasSize = function (t) {
+ var e = this,
+ r = e.data,
+ n = e.findContainerClientCoords(),
+ i = n[2],
+ a = n[3],
+ s = e.getPixelRatio(),
+ l = e.motionBlurPxRatio;
+ (t === e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE] ||
+ t === e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG]) &&
+ (s = l);
+ var u = i * s,
+ h = a * s,
+ f;
+ if (!(u === e.canvasWidth && h === e.canvasHeight)) {
+ e.fontCaches = null;
+ var d = r.canvasContainer;
+ (d.style.width = i + 'px'), (d.style.height = a + 'px');
+ for (var p = 0; p < e.CANVAS_LAYERS; p++)
+ (f = r.canvases[p]),
+ (f.width = u),
+ (f.height = h),
+ (f.style.width = i + 'px'),
+ (f.style.height = a + 'px');
+ for (var p = 0; p < e.BUFFER_COUNT; p++)
+ (f = r.bufferCanvases[p]),
+ (f.width = u),
+ (f.height = h),
+ (f.style.width = i + 'px'),
+ (f.style.height = a + 'px');
+ (e.textureMult = 1),
+ s <= 1 &&
+ ((f = r.bufferCanvases[e.TEXTURE_BUFFER]),
+ (e.textureMult = 2),
+ (f.width = u * e.textureMult),
+ (f.height = h * e.textureMult)),
+ (e.canvasWidth = u),
+ (e.canvasHeight = h);
+ }
+ };
+ bo.renderTo = function (t, e, r, n) {
+ this.render({
+ forcedContext: t,
+ forcedZoom: e,
+ forcedPan: r,
+ drawAllLayers: !0,
+ forcedPxRatio: n
+ });
+ };
+ bo.render = function (t) {
+ t = t || zpe();
+ var e = t.forcedContext,
+ r = t.drawAllLayers,
+ n = t.drawOnlyNodeLayer,
+ i = t.forcedZoom,
+ a = t.forcedPan,
+ s = this,
+ l = t.forcedPxRatio === void 0 ? this.getPixelRatio() : t.forcedPxRatio,
+ u = s.cy,
+ h = s.data,
+ f = h.canvasNeedsRedraw,
+ d =
+ s.textureOnViewport &&
+ !e &&
+ (s.pinching || s.hoverData.dragging || s.swipePanning || s.data.wheelZooming),
+ p = t.motionBlur !== void 0 ? t.motionBlur : s.motionBlur,
+ m = s.motionBlurPxRatio,
+ g = u.hasCompoundNodes(),
+ y = s.hoverData.draggingEles,
+ v = !!(s.hoverData.selecting || s.touchData.selecting);
+ p = p && !e && s.motionBlurEnabled && !v;
+ var x = p;
+ e ||
+ (s.prevPxRatio !== l &&
+ (s.invalidateContainerClientCoordsCache(),
+ s.matchCanvasSize(s.container),
+ s.redrawHint('eles', !0),
+ s.redrawHint('drag', !0)),
+ (s.prevPxRatio = l)),
+ !e && s.motionBlurTimeout && clearTimeout(s.motionBlurTimeout),
+ p &&
+ (s.mbFrames == null && (s.mbFrames = 0),
+ s.mbFrames++,
+ s.mbFrames < 3 && (x = !1),
+ s.mbFrames > s.minMbLowQualFrames && (s.motionBlurPxRatio = s.mbPxRBlurry)),
+ s.clearingMotionBlur && (s.motionBlurPxRatio = 1),
+ s.textureDrawLastFrame && !d && ((f[s.NODE] = !0), (f[s.SELECT_BOX] = !0));
+ var b = u.style(),
+ w = u.zoom(),
+ S = i !== void 0 ? i : w,
+ T = u.pan(),
+ E = { x: T.x, y: T.y },
+ _ = { zoom: w, pan: { x: T.x, y: T.y } },
+ A = s.prevViewport,
+ L = A === void 0 || _.zoom !== A.zoom || _.pan.x !== A.pan.x || _.pan.y !== A.pan.y;
+ !L && !(y && !g) && (s.motionBlurPxRatio = 1), a && (E = a), (S *= l), (E.x *= l), (E.y *= l);
+ var M = s.getCachedZSortedEles();
+ function N(ue, te, De, oe, ke) {
+ var Ie = ue.globalCompositeOperation;
+ (ue.globalCompositeOperation = 'destination-out'),
+ s.colorFillStyle(ue, 255, 255, 255, s.motionBlurTransparency),
+ ue.fillRect(te, De, oe, ke),
+ (ue.globalCompositeOperation = Ie);
+ }
+ o(N, 'mbclear');
+ function k(ue, te) {
+ var De, oe, ke, Ie;
+ !s.clearingMotionBlur &&
+ (ue === h.bufferContexts[s.MOTIONBLUR_BUFFER_NODE] ||
+ ue === h.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])
+ ? ((De = { x: T.x * m, y: T.y * m }),
+ (oe = w * m),
+ (ke = s.canvasWidth * m),
+ (Ie = s.canvasHeight * m))
+ : ((De = E), (oe = S), (ke = s.canvasWidth), (Ie = s.canvasHeight)),
+ ue.setTransform(1, 0, 0, 1, 0, 0),
+ te === 'motionBlur'
+ ? N(ue, 0, 0, ke, Ie)
+ : !e && (te === void 0 || te) && ue.clearRect(0, 0, ke, Ie),
+ r || (ue.translate(De.x, De.y), ue.scale(oe, oe)),
+ a && ue.translate(a.x, a.y),
+ i && ue.scale(i, i);
+ }
+ if ((o(k, 'setContextTransform'), d || (s.textureDrawLastFrame = !1), d)) {
+ if (((s.textureDrawLastFrame = !0), !s.textureCache)) {
+ (s.textureCache = {}),
+ (s.textureCache.bb = u.mutableElements().boundingBox()),
+ (s.textureCache.texture = s.data.bufferCanvases[s.TEXTURE_BUFFER]);
+ var I = s.data.bufferContexts[s.TEXTURE_BUFFER];
+ I.setTransform(1, 0, 0, 1, 0, 0),
+ I.clearRect(0, 0, s.canvasWidth * s.textureMult, s.canvasHeight * s.textureMult),
+ s.render({
+ forcedContext: I,
+ drawOnlyNodeLayer: !0,
+ forcedPxRatio: l * s.textureMult
+ });
+ var _ = (s.textureCache.viewport = {
+ zoom: u.zoom(),
+ pan: u.pan(),
+ width: s.canvasWidth,
+ height: s.canvasHeight
+ });
+ _.mpan = { x: (0 - _.pan.x) / _.zoom, y: (0 - _.pan.y) / _.zoom };
+ }
+ (f[s.DRAG] = !1), (f[s.NODE] = !1);
+ var C = h.contexts[s.NODE],
+ O = s.textureCache.texture,
+ _ = s.textureCache.viewport;
+ C.setTransform(1, 0, 0, 1, 0, 0),
+ p ? N(C, 0, 0, _.width, _.height) : C.clearRect(0, 0, _.width, _.height);
+ var D = b.core('outside-texture-bg-color').value,
+ P = b.core('outside-texture-bg-opacity').value;
+ s.colorFillStyle(C, D[0], D[1], D[2], P), C.fillRect(0, 0, _.width, _.height);
+ var w = u.zoom();
+ k(C, !1),
+ C.clearRect(_.mpan.x, _.mpan.y, _.width / _.zoom / l, _.height / _.zoom / l),
+ C.drawImage(O, _.mpan.x, _.mpan.y, _.width / _.zoom / l, _.height / _.zoom / l);
+ } else s.textureOnViewport && !e && (s.textureCache = null);
+ var F = u.extent(),
+ B =
+ s.pinching ||
+ s.hoverData.dragging ||
+ s.swipePanning ||
+ s.data.wheelZooming ||
+ s.hoverData.draggingEles ||
+ s.cy.animated(),
+ $ = s.hideEdgesOnViewport && B,
+ z = [];
+ if (
+ ((z[s.NODE] = (!f[s.NODE] && p && !s.clearedForMotionBlur[s.NODE]) || s.clearingMotionBlur),
+ z[s.NODE] && (s.clearedForMotionBlur[s.NODE] = !0),
+ (z[s.DRAG] = (!f[s.DRAG] && p && !s.clearedForMotionBlur[s.DRAG]) || s.clearingMotionBlur),
+ z[s.DRAG] && (s.clearedForMotionBlur[s.DRAG] = !0),
+ f[s.NODE] || r || n || z[s.NODE])
+ ) {
+ var Y = p && !z[s.NODE] && m !== 1,
+ C = e || (Y ? s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE] : h.contexts[s.NODE]),
+ Q = p && !Y ? 'motionBlur' : void 0;
+ k(C, Q),
+ $ ? s.drawCachedNodes(C, M.nondrag, l, F) : s.drawLayeredElements(C, M.nondrag, l, F),
+ s.debug && s.drawDebugPoints(C, M.nondrag),
+ !r && !p && (f[s.NODE] = !1);
+ }
+ if (!n && (f[s.DRAG] || r || z[s.DRAG])) {
+ var Y = p && !z[s.DRAG] && m !== 1,
+ C = e || (Y ? s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG] : h.contexts[s.DRAG]);
+ k(C, p && !Y ? 'motionBlur' : void 0),
+ $ ? s.drawCachedNodes(C, M.drag, l, F) : s.drawCachedElements(C, M.drag, l, F),
+ s.debug && s.drawDebugPoints(C, M.drag),
+ !r && !p && (f[s.DRAG] = !1);
+ }
+ if (s.showFps || (!n && f[s.SELECT_BOX] && !r)) {
+ var C = e || h.contexts[s.SELECT_BOX];
+ if ((k(C), s.selection[4] == 1 && (s.hoverData.selecting || s.touchData.selecting))) {
+ var w = s.cy.zoom(),
+ X = b.core('selection-box-border-width').value / w;
+ (C.lineWidth = X),
+ (C.fillStyle =
+ 'rgba(' +
+ b.core('selection-box-color').value[0] +
+ ',' +
+ b.core('selection-box-color').value[1] +
+ ',' +
+ b.core('selection-box-color').value[2] +
+ ',' +
+ b.core('selection-box-opacity').value +
+ ')'),
+ C.fillRect(
+ s.selection[0],
+ s.selection[1],
+ s.selection[2] - s.selection[0],
+ s.selection[3] - s.selection[1]
+ ),
+ X > 0 &&
+ ((C.strokeStyle =
+ 'rgba(' +
+ b.core('selection-box-border-color').value[0] +
+ ',' +
+ b.core('selection-box-border-color').value[1] +
+ ',' +
+ b.core('selection-box-border-color').value[2] +
+ ',' +
+ b.core('selection-box-opacity').value +
+ ')'),
+ C.strokeRect(
+ s.selection[0],
+ s.selection[1],
+ s.selection[2] - s.selection[0],
+ s.selection[3] - s.selection[1]
+ ));
+ }
+ if (h.bgActivePosistion && !s.hoverData.selecting) {
+ var w = s.cy.zoom(),
+ ie = h.bgActivePosistion;
+ (C.fillStyle =
+ 'rgba(' +
+ b.core('active-bg-color').value[0] +
+ ',' +
+ b.core('active-bg-color').value[1] +
+ ',' +
+ b.core('active-bg-color').value[2] +
+ ',' +
+ b.core('active-bg-opacity').value +
+ ')'),
+ C.beginPath(),
+ C.arc(ie.x, ie.y, b.core('active-bg-size').pfValue / w, 0, 2 * Math.PI),
+ C.fill();
+ }
+ var j = s.lastRedrawTime;
+ if (s.showFps && j) {
+ j = Math.round(j);
+ var J = Math.round(1e3 / j);
+ C.setTransform(1, 0, 0, 1, 0, 0),
+ (C.fillStyle = 'rgba(255, 0, 0, 0.75)'),
+ (C.strokeStyle = 'rgba(255, 0, 0, 0.75)'),
+ (C.lineWidth = 1),
+ C.fillText('1 frame = ' + j + ' ms = ' + J + ' fps', 0, 20);
+ var Z = 60;
+ C.strokeRect(0, 30, 250, 20), C.fillRect(0, 30, 250 * Math.min(J / Z, 1), 20);
+ }
+ r || (f[s.SELECT_BOX] = !1);
+ }
+ if (p && m !== 1) {
+ var H = h.contexts[s.NODE],
+ q = s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],
+ K = h.contexts[s.DRAG],
+ se = s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],
+ ce = o(function (te, De, oe) {
+ te.setTransform(1, 0, 0, 1, 0, 0),
+ oe || !x
+ ? te.clearRect(0, 0, s.canvasWidth, s.canvasHeight)
+ : N(te, 0, 0, s.canvasWidth, s.canvasHeight);
+ var ke = m;
+ te.drawImage(
+ De,
+ 0,
+ 0,
+ s.canvasWidth * ke,
+ s.canvasHeight * ke,
+ 0,
+ 0,
+ s.canvasWidth,
+ s.canvasHeight
+ );
+ }, 'drawMotionBlur');
+ (f[s.NODE] || z[s.NODE]) && (ce(H, q, z[s.NODE]), (f[s.NODE] = !1)),
+ (f[s.DRAG] || z[s.DRAG]) && (ce(K, se, z[s.DRAG]), (f[s.DRAG] = !1));
+ }
+ (s.prevViewport = _),
+ s.clearingMotionBlur &&
+ ((s.clearingMotionBlur = !1), (s.motionBlurCleared = !0), (s.motionBlur = !0)),
+ p &&
+ (s.motionBlurTimeout = setTimeout(function () {
+ (s.motionBlurTimeout = null),
+ (s.clearedForMotionBlur[s.NODE] = !1),
+ (s.clearedForMotionBlur[s.DRAG] = !1),
+ (s.motionBlur = !1),
+ (s.clearingMotionBlur = !d),
+ (s.mbFrames = 0),
+ (f[s.NODE] = !0),
+ (f[s.DRAG] = !0),
+ s.redraw();
+ }, QQe)),
+ e || u.emit('render');
+ };
+ Nf = {};
+ Nf.drawPolygonPath = function (t, e, r, n, i, a) {
+ var s = n / 2,
+ l = i / 2;
+ t.beginPath && t.beginPath(), t.moveTo(e + s * a[0], r + l * a[1]);
+ for (var u = 1; u < a.length / 2; u++) t.lineTo(e + s * a[u * 2], r + l * a[u * 2 + 1]);
+ t.closePath();
+ };
+ Nf.drawRoundPolygonPath = function (t, e, r, n, i, a, s) {
+ s.forEach(function (l) {
+ return Bme(t, l);
+ }),
+ t.closePath();
+ };
+ Nf.drawRoundRectanglePath = function (t, e, r, n, i, a) {
+ var s = n / 2,
+ l = i / 2,
+ u = a === 'auto' ? Y0(n, i) : Math.min(a, l, s);
+ t.beginPath && t.beginPath(),
+ t.moveTo(e, r - l),
+ t.arcTo(e + s, r - l, e + s, r, u),
+ t.arcTo(e + s, r + l, e, r + l, u),
+ t.arcTo(e - s, r + l, e - s, r, u),
+ t.arcTo(e - s, r - l, e, r - l, u),
+ t.lineTo(e, r - l),
+ t.closePath();
+ };
+ Nf.drawBottomRoundRectanglePath = function (t, e, r, n, i, a) {
+ var s = n / 2,
+ l = i / 2,
+ u = a === 'auto' ? Y0(n, i) : a;
+ t.beginPath && t.beginPath(),
+ t.moveTo(e, r - l),
+ t.lineTo(e + s, r - l),
+ t.lineTo(e + s, r),
+ t.arcTo(e + s, r + l, e, r + l, u),
+ t.arcTo(e - s, r + l, e - s, r, u),
+ t.lineTo(e - s, r - l),
+ t.lineTo(e, r - l),
+ t.closePath();
+ };
+ Nf.drawCutRectanglePath = function (t, e, r, n, i, a, s) {
+ var l = n / 2,
+ u = i / 2,
+ h = s === 'auto' ? nB() : s;
+ t.beginPath && t.beginPath(),
+ t.moveTo(e - l + h, r - u),
+ t.lineTo(e + l - h, r - u),
+ t.lineTo(e + l, r - u + h),
+ t.lineTo(e + l, r + u - h),
+ t.lineTo(e + l - h, r + u),
+ t.lineTo(e - l + h, r + u),
+ t.lineTo(e - l, r + u - h),
+ t.lineTo(e - l, r - u + h),
+ t.closePath();
+ };
+ Nf.drawBarrelPath = function (t, e, r, n, i) {
+ var a = n / 2,
+ s = i / 2,
+ l = e - a,
+ u = e + a,
+ h = r - s,
+ f = r + s,
+ d = MP(n, i),
+ p = d.widthOffset,
+ m = d.heightOffset,
+ g = d.ctrlPtOffsetPct * p;
+ t.beginPath && t.beginPath(),
+ t.moveTo(l, h + m),
+ t.lineTo(l, f - m),
+ t.quadraticCurveTo(l + g, f, l + p, f),
+ t.lineTo(u - p, f),
+ t.quadraticCurveTo(u - g, f, u, f - m),
+ t.lineTo(u, h + m),
+ t.quadraticCurveTo(u - g, h, u - p, h),
+ t.lineTo(l + p, h),
+ t.quadraticCurveTo(l + g, h, l, h + m),
+ t.closePath();
+ };
+ (ype = Math.sin(0)), (vpe = Math.cos(0)), (YP = {}), (WP = {}), (Kme = Math.PI / 40);
+ for (P0 = 0 * Math.PI; P0 < 2 * Math.PI; P0 += Kme) (YP[P0] = Math.sin(P0)), (WP[P0] = Math.cos(P0));
+ Nf.drawEllipsePath = function (t, e, r, n, i) {
+ if ((t.beginPath && t.beginPath(), t.ellipse)) t.ellipse(e, r, n / 2, i / 2, 0, 0, 2 * Math.PI);
+ else
+ for (var a, s, l = n / 2, u = i / 2, h = 0 * Math.PI; h < 2 * Math.PI; h += Kme)
+ (a = e - l * YP[h] * ype + l * WP[h] * vpe),
+ (s = r + u * WP[h] * ype + u * YP[h] * vpe),
+ h === 0 ? t.moveTo(a, s) : t.lineTo(a, s);
+ t.closePath();
+ };
+ ab = {};
+ ab.createBuffer = function (t, e) {
+ var r = document.createElement('canvas');
+ return (r.width = t), (r.height = e), [r, r.getContext('2d')];
+ };
+ ab.bufferCanvasImage = function (t) {
+ var e = this.cy,
+ r = e.mutableElements(),
+ n = r.boundingBox(),
+ i = this.findContainerClientCoords(),
+ a = t.full ? Math.ceil(n.w) : i[2],
+ s = t.full ? Math.ceil(n.h) : i[3],
+ l = ft(t.maxWidth) || ft(t.maxHeight),
+ u = this.getPixelRatio(),
+ h = 1;
+ if (t.scale !== void 0) (a *= t.scale), (s *= t.scale), (h = t.scale);
+ else if (l) {
+ var f = 1 / 0,
+ d = 1 / 0;
+ ft(t.maxWidth) && (f = (h * t.maxWidth) / a),
+ ft(t.maxHeight) && (d = (h * t.maxHeight) / s),
+ (h = Math.min(f, d)),
+ (a *= h),
+ (s *= h);
+ }
+ l || ((a *= u), (s *= u), (h *= u));
+ var p = document.createElement('canvas');
+ (p.width = a), (p.height = s), (p.style.width = a + 'px'), (p.style.height = s + 'px');
+ var m = p.getContext('2d');
+ if (a > 0 && s > 0) {
+ m.clearRect(0, 0, a, s), (m.globalCompositeOperation = 'source-over');
+ var g = this.getCachedZSortedEles();
+ if (t.full)
+ m.translate(-n.x1 * h, -n.y1 * h),
+ m.scale(h, h),
+ this.drawElements(m, g),
+ m.scale(1 / h, 1 / h),
+ m.translate(n.x1 * h, n.y1 * h);
+ else {
+ var y = e.pan(),
+ v = { x: y.x * h, y: y.y * h };
+ (h *= e.zoom()),
+ m.translate(v.x, v.y),
+ m.scale(h, h),
+ this.drawElements(m, g),
+ m.scale(1 / h, 1 / h),
+ m.translate(-v.x, -v.y);
+ }
+ t.bg &&
+ ((m.globalCompositeOperation = 'destination-over'),
+ (m.fillStyle = t.bg),
+ m.rect(0, 0, a, s),
+ m.fill());
+ }
+ return p;
+ };
+ o(ZQe, 'b64ToBlob');
+ o(xpe, 'b64UriToB64');
+ o(Qme, 'output');
+ ab.png = function (t) {
+ return Qme(t, this.bufferCanvasImage(t), 'image/png');
+ };
+ ab.jpg = function (t) {
+ return Qme(t, this.bufferCanvasImage(t), 'image/jpeg');
+ };
+ Zme = {};
+ Zme.nodeShapeImpl = function (t, e, r, n, i, a, s, l) {
+ switch (t) {
+ case 'ellipse':
+ return this.drawEllipsePath(e, r, n, i, a);
+ case 'polygon':
+ return this.drawPolygonPath(e, r, n, i, a, s);
+ case 'round-polygon':
+ return this.drawRoundPolygonPath(e, r, n, i, a, s, l);
+ case 'roundrectangle':
+ case 'round-rectangle':
+ return this.drawRoundRectanglePath(e, r, n, i, a, l);
+ case 'cutrectangle':
+ case 'cut-rectangle':
+ return this.drawCutRectanglePath(e, r, n, i, a, s, l);
+ case 'bottomroundrectangle':
+ case 'bottom-round-rectangle':
+ return this.drawBottomRoundRectanglePath(e, r, n, i, a, l);
+ case 'barrel':
+ return this.drawBarrelPath(e, r, n, i, a);
+ }
+ };
+ (JQe = Jme), (Yr = Jme.prototype);
+ Yr.CANVAS_LAYERS = 3;
+ Yr.SELECT_BOX = 0;
+ Yr.DRAG = 1;
+ Yr.NODE = 2;
+ Yr.BUFFER_COUNT = 3;
+ Yr.TEXTURE_BUFFER = 0;
+ Yr.MOTIONBLUR_BUFFER_NODE = 1;
+ Yr.MOTIONBLUR_BUFFER_DRAG = 2;
+ o(Jme, 'CanvasRenderer');
+ Yr.redrawHint = function (t, e) {
+ var r = this;
+ switch (t) {
+ case 'eles':
+ r.data.canvasNeedsRedraw[Yr.NODE] = e;
+ break;
+ case 'drag':
+ r.data.canvasNeedsRedraw[Yr.DRAG] = e;
+ break;
+ case 'select':
+ r.data.canvasNeedsRedraw[Yr.SELECT_BOX] = e;
+ break;
+ }
+ };
+ eZe = typeof Path2D < 'u';
+ Yr.path2dEnabled = function (t) {
+ if (t === void 0) return this.pathsEnabled;
+ this.pathsEnabled = !!t;
+ };
+ Yr.usePaths = function () {
+ return eZe && this.pathsEnabled;
+ };
+ Yr.setImgSmoothing = function (t, e) {
+ t.imageSmoothingEnabled != null
+ ? (t.imageSmoothingEnabled = e)
+ : ((t.webkitImageSmoothingEnabled = e),
+ (t.mozImageSmoothingEnabled = e),
+ (t.msImageSmoothingEnabled = e));
+ };
+ Yr.getImgSmoothing = function (t) {
+ return t.imageSmoothingEnabled != null
+ ? t.imageSmoothingEnabled
+ : t.webkitImageSmoothingEnabled || t.mozImageSmoothingEnabled || t.msImageSmoothingEnabled;
+ };
+ Yr.makeOffscreenCanvas = function (t, e) {
+ var r;
+ if ((typeof OffscreenCanvas > 'u' ? 'undefined' : Hi(OffscreenCanvas)) !== 'undefined')
+ r = new OffscreenCanvas(t, e);
+ else {
+ var n = this.cy.window(),
+ i = n.document;
+ (r = i.createElement('canvas')), (r.width = t), (r.height = e);
+ }
+ return r;
+ };
+ [qme, Yc, eh, yB, K0, v1, bo, Nf, ab, Zme].forEach(function (t) {
+ Wt(Yr, t);
+ });
+ (tZe = [
+ { name: 'null', impl: Ime },
+ { name: 'base', impl: Hme },
+ { name: 'canvas', impl: JQe }
+ ]),
+ (rZe = [
+ { type: 'layout', extensions: lQe },
+ { type: 'renderer', extensions: tZe }
+ ]),
+ (ege = {}),
+ (tge = {});
+ o(rge, 'setExtension');
+ o(nge, 'getExtension');
+ o(nZe, 'setModule');
+ o(iZe, 'getModule');
+ qP = o(function () {
+ if (arguments.length === 2) return nge.apply(null, arguments);
+ if (arguments.length === 3) return rge.apply(null, arguments);
+ if (arguments.length === 4) return iZe.apply(null, arguments);
+ if (arguments.length === 5) return nZe.apply(null, arguments);
+ oi('Invalid extension access syntax');
+ }, 'extension');
+ Kx.prototype.extension = qP;
+ rZe.forEach(function (t) {
+ t.extensions.forEach(function (e) {
+ rge(t.type, e.name, e.impl);
+ });
+ });
+ (ige = o(function t() {
+ if (!(this instanceof t)) return new t();
+ this.length = 0;
+ }, 'Stylesheet')),
+ (X0 = ige.prototype);
+ X0.instanceString = function () {
+ return 'stylesheet';
+ };
+ X0.selector = function (t) {
+ var e = this.length++;
+ return (this[e] = { selector: t, properties: [] }), this;
+ };
+ X0.css = function (t, e) {
+ var r = this.length - 1;
+ if (zt(t)) this[r].properties.push({ name: t, value: e });
+ else if (Mr(t))
+ for (var n = t, i = Object.keys(n), a = 0; a < i.length; a++) {
+ var s = i[a],
+ l = n[s];
+ if (l != null) {
+ var u = Ba.properties[s] || Ba.properties[I6(s)];
+ if (u != null) {
+ var h = u.name,
+ f = l;
+ this[r].properties.push({ name: h, value: f });
+ }
+ }
+ }
+ return this;
+ };
+ X0.style = X0.css;
+ X0.generateStyle = function (t) {
+ var e = new Ba(t);
+ return this.appendToStyle(e);
+ };
+ X0.appendToStyle = function (t) {
+ for (var e = 0; e < this.length; e++) {
+ var r = this[e],
+ n = r.selector,
+ i = r.properties;
+ t.selector(n);
+ for (var a = 0; a < i.length; a++) {
+ var s = i[a];
+ t.css(s.name, s.value);
+ }
+ }
+ return t;
+ };
+ (aZe = '3.30.1'),
+ (rl = o(function (e) {
+ if ((e === void 0 && (e = {}), Mr(e))) return new Kx(e);
+ if (zt(e)) return qP.apply(qP, arguments);
+ }, 'cytoscape'));
+ rl.use = function (t) {
+ var e = Array.prototype.slice.call(arguments, 1);
+ return e.unshift(rl), t.apply(null, e), this;
+ };
+ rl.warnings = function (t) {
+ return Bpe(t);
+ };
+ rl.version = aZe;
+ rl.stylesheet = rl.Stylesheet = ige;
+ });
+ var bB = gi((sb, xB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof sb == 'object' && typeof xB == 'object'
+ ? (xB.exports = r())
+ : typeof define == 'function' && define.amd
+ ? define([], r)
+ : typeof sb == 'object'
+ ? (sb.layoutBase = r())
+ : (e.layoutBase = r());
+ }, 'webpackUniversalModuleDefinition')(sb, function () {
+ return (function (t) {
+ var e = {};
+ function r(n) {
+ if (e[n]) return e[n].exports;
+ var i = (e[n] = { i: n, l: !1, exports: {} });
+ return t[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports;
+ }
+ return (
+ o(r, '__webpack_require__'),
+ (r.m = t),
+ (r.c = e),
+ (r.i = function (n) {
+ return n;
+ }),
+ (r.d = function (n, i, a) {
+ r.o(n, i) ||
+ Object.defineProperty(n, i, {
+ configurable: !1,
+ enumerable: !0,
+ get: a
+ });
+ }),
+ (r.n = function (n) {
+ var i =
+ n && n.__esModule
+ ? o(function () {
+ return n.default;
+ }, 'getDefault')
+ : o(function () {
+ return n;
+ }, 'getModuleExports');
+ return r.d(i, 'a', i), i;
+ }),
+ (r.o = function (n, i) {
+ return Object.prototype.hasOwnProperty.call(n, i);
+ }),
+ (r.p = ''),
+ r((r.s = 26))
+ );
+ })([
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'LayoutConstants'),
+ (n.QUALITY = 1),
+ (n.DEFAULT_CREATE_BENDS_AS_NEEDED = !1),
+ (n.DEFAULT_INCREMENTAL = !1),
+ (n.DEFAULT_ANIMATION_ON_LAYOUT = !0),
+ (n.DEFAULT_ANIMATION_DURING_LAYOUT = !1),
+ (n.DEFAULT_ANIMATION_PERIOD = 50),
+ (n.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1),
+ (n.DEFAULT_GRAPH_MARGIN = 15),
+ (n.NODE_DIMENSIONS_INCLUDE_LABELS = !1),
+ (n.SIMPLE_NODE_SIZE = 40),
+ (n.SIMPLE_NODE_HALF_SIZE = n.SIMPLE_NODE_SIZE / 2),
+ (n.EMPTY_COMPOUND_NODE_SIZE = 40),
+ (n.MIN_EDGE_LENGTH = 1),
+ (n.WORLD_BOUNDARY = 1e6),
+ (n.INITIAL_WORLD_BOUNDARY = n.WORLD_BOUNDARY / 1e3),
+ (n.WORLD_CENTER_X = 1200),
+ (n.WORLD_CENTER_Y = 900),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(8),
+ a = r(9);
+ function s(u, h, f) {
+ n.call(this, f),
+ (this.isOverlapingSourceAndTarget = !1),
+ (this.vGraphObject = f),
+ (this.bendpoints = []),
+ (this.source = u),
+ (this.target = h);
+ }
+ o(s, 'LEdge'), (s.prototype = Object.create(n.prototype));
+ for (var l in n) s[l] = n[l];
+ (s.prototype.getSource = function () {
+ return this.source;
+ }),
+ (s.prototype.getTarget = function () {
+ return this.target;
+ }),
+ (s.prototype.isInterGraph = function () {
+ return this.isInterGraph;
+ }),
+ (s.prototype.getLength = function () {
+ return this.length;
+ }),
+ (s.prototype.isOverlapingSourceAndTarget = function () {
+ return this.isOverlapingSourceAndTarget;
+ }),
+ (s.prototype.getBendpoints = function () {
+ return this.bendpoints;
+ }),
+ (s.prototype.getLca = function () {
+ return this.lca;
+ }),
+ (s.prototype.getSourceInLca = function () {
+ return this.sourceInLca;
+ }),
+ (s.prototype.getTargetInLca = function () {
+ return this.targetInLca;
+ }),
+ (s.prototype.getOtherEnd = function (u) {
+ if (this.source === u) return this.target;
+ if (this.target === u) return this.source;
+ throw 'Node is not incident with this edge';
+ }),
+ (s.prototype.getOtherEndInGraph = function (u, h) {
+ for (var f = this.getOtherEnd(u), d = h.getGraphManager().getRoot(); ; ) {
+ if (f.getOwner() == h) return f;
+ if (f.getOwner() == d) break;
+ f = f.getOwner().getParent();
+ }
+ return null;
+ }),
+ (s.prototype.updateLength = function () {
+ var u = new Array(4);
+ (this.isOverlapingSourceAndTarget = i.getIntersection(
+ this.target.getRect(),
+ this.source.getRect(),
+ u
+ )),
+ this.isOverlapingSourceAndTarget ||
+ ((this.lengthX = u[0] - u[2]),
+ (this.lengthY = u[1] - u[3]),
+ Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)),
+ Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)),
+ (this.length = Math.sqrt(
+ this.lengthX * this.lengthX + this.lengthY * this.lengthY
+ )));
+ }),
+ (s.prototype.updateLengthSimple = function () {
+ (this.lengthX = this.target.getCenterX() - this.source.getCenterX()),
+ (this.lengthY = this.target.getCenterY() - this.source.getCenterY()),
+ Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)),
+ Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)),
+ (this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY));
+ }),
+ (t.exports = s);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i) {
+ this.vGraphObject = i;
+ }
+ o(n, 'LGraphObject'), (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(10),
+ a = r(13),
+ s = r(0),
+ l = r(16),
+ u = r(4);
+ function h(d, p, m, g) {
+ m == null && g == null && (g = p),
+ n.call(this, g),
+ d.graphManager != null && (d = d.graphManager),
+ (this.estimatedSize = i.MIN_VALUE),
+ (this.inclusionTreeDepth = i.MAX_VALUE),
+ (this.vGraphObject = g),
+ (this.edges = []),
+ (this.graphManager = d),
+ m != null && p != null
+ ? (this.rect = new a(p.x, p.y, m.width, m.height))
+ : (this.rect = new a());
+ }
+ o(h, 'LNode'), (h.prototype = Object.create(n.prototype));
+ for (var f in n) h[f] = n[f];
+ (h.prototype.getEdges = function () {
+ return this.edges;
+ }),
+ (h.prototype.getChild = function () {
+ return this.child;
+ }),
+ (h.prototype.getOwner = function () {
+ return this.owner;
+ }),
+ (h.prototype.getWidth = function () {
+ return this.rect.width;
+ }),
+ (h.prototype.setWidth = function (d) {
+ this.rect.width = d;
+ }),
+ (h.prototype.getHeight = function () {
+ return this.rect.height;
+ }),
+ (h.prototype.setHeight = function (d) {
+ this.rect.height = d;
+ }),
+ (h.prototype.getCenterX = function () {
+ return this.rect.x + this.rect.width / 2;
+ }),
+ (h.prototype.getCenterY = function () {
+ return this.rect.y + this.rect.height / 2;
+ }),
+ (h.prototype.getCenter = function () {
+ return new u(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2);
+ }),
+ (h.prototype.getLocation = function () {
+ return new u(this.rect.x, this.rect.y);
+ }),
+ (h.prototype.getRect = function () {
+ return this.rect;
+ }),
+ (h.prototype.getDiagonal = function () {
+ return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height);
+ }),
+ (h.prototype.getHalfTheDiagonal = function () {
+ return (
+ Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2
+ );
+ }),
+ (h.prototype.setRect = function (d, p) {
+ (this.rect.x = d.x),
+ (this.rect.y = d.y),
+ (this.rect.width = p.width),
+ (this.rect.height = p.height);
+ }),
+ (h.prototype.setCenter = function (d, p) {
+ (this.rect.x = d - this.rect.width / 2), (this.rect.y = p - this.rect.height / 2);
+ }),
+ (h.prototype.setLocation = function (d, p) {
+ (this.rect.x = d), (this.rect.y = p);
+ }),
+ (h.prototype.moveBy = function (d, p) {
+ (this.rect.x += d), (this.rect.y += p);
+ }),
+ (h.prototype.getEdgeListToNode = function (d) {
+ var p = [],
+ m,
+ g = this;
+ return (
+ g.edges.forEach(function (y) {
+ if (y.target == d) {
+ if (y.source != g) throw 'Incorrect edge source!';
+ p.push(y);
+ }
+ }),
+ p
+ );
+ }),
+ (h.prototype.getEdgesBetween = function (d) {
+ var p = [],
+ m,
+ g = this;
+ return (
+ g.edges.forEach(function (y) {
+ if (!(y.source == g || y.target == g)) throw 'Incorrect edge source and/or target';
+ (y.target == d || y.source == d) && p.push(y);
+ }),
+ p
+ );
+ }),
+ (h.prototype.getNeighborsList = function () {
+ var d = new Set(),
+ p = this;
+ return (
+ p.edges.forEach(function (m) {
+ if (m.source == p) d.add(m.target);
+ else {
+ if (m.target != p) throw 'Incorrect incidency!';
+ d.add(m.source);
+ }
+ }),
+ d
+ );
+ }),
+ (h.prototype.withChildren = function () {
+ var d = new Set(),
+ p,
+ m;
+ if ((d.add(this), this.child != null))
+ for (var g = this.child.getNodes(), y = 0; y < g.length; y++)
+ (p = g[y]),
+ (m = p.withChildren()),
+ m.forEach(function (v) {
+ d.add(v);
+ });
+ return d;
+ }),
+ (h.prototype.getNoOfChildren = function () {
+ var d = 0,
+ p;
+ if (this.child == null) d = 1;
+ else
+ for (var m = this.child.getNodes(), g = 0; g < m.length; g++)
+ (p = m[g]), (d += p.getNoOfChildren());
+ return d == 0 && (d = 1), d;
+ }),
+ (h.prototype.getEstimatedSize = function () {
+ if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed';
+ return this.estimatedSize;
+ }),
+ (h.prototype.calcEstimatedSize = function () {
+ return this.child == null
+ ? (this.estimatedSize = (this.rect.width + this.rect.height) / 2)
+ : ((this.estimatedSize = this.child.calcEstimatedSize()),
+ (this.rect.width = this.estimatedSize),
+ (this.rect.height = this.estimatedSize),
+ this.estimatedSize);
+ }),
+ (h.prototype.scatter = function () {
+ var d,
+ p,
+ m = -s.INITIAL_WORLD_BOUNDARY,
+ g = s.INITIAL_WORLD_BOUNDARY;
+ d = s.WORLD_CENTER_X + l.nextDouble() * (g - m) + m;
+ var y = -s.INITIAL_WORLD_BOUNDARY,
+ v = s.INITIAL_WORLD_BOUNDARY;
+ (p = s.WORLD_CENTER_Y + l.nextDouble() * (v - y) + y), (this.rect.x = d), (this.rect.y = p);
+ }),
+ (h.prototype.updateBounds = function () {
+ if (this.getChild() == null) throw 'assert failed';
+ if (this.getChild().getNodes().length != 0) {
+ var d = this.getChild();
+ if (
+ (d.updateBounds(!0),
+ (this.rect.x = d.getLeft()),
+ (this.rect.y = d.getTop()),
+ this.setWidth(d.getRight() - d.getLeft()),
+ this.setHeight(d.getBottom() - d.getTop()),
+ s.NODE_DIMENSIONS_INCLUDE_LABELS)
+ ) {
+ var p = d.getRight() - d.getLeft(),
+ m = d.getBottom() - d.getTop();
+ this.labelWidth > p &&
+ ((this.rect.x -= (this.labelWidth - p) / 2), this.setWidth(this.labelWidth)),
+ this.labelHeight > m &&
+ (this.labelPos == 'center'
+ ? (this.rect.y -= (this.labelHeight - m) / 2)
+ : this.labelPos == 'top' && (this.rect.y -= this.labelHeight - m),
+ this.setHeight(this.labelHeight));
+ }
+ }
+ }),
+ (h.prototype.getInclusionTreeDepth = function () {
+ if (this.inclusionTreeDepth == i.MAX_VALUE) throw 'assert failed';
+ return this.inclusionTreeDepth;
+ }),
+ (h.prototype.transform = function (d) {
+ var p = this.rect.x;
+ p > s.WORLD_BOUNDARY
+ ? (p = s.WORLD_BOUNDARY)
+ : p < -s.WORLD_BOUNDARY && (p = -s.WORLD_BOUNDARY);
+ var m = this.rect.y;
+ m > s.WORLD_BOUNDARY
+ ? (m = s.WORLD_BOUNDARY)
+ : m < -s.WORLD_BOUNDARY && (m = -s.WORLD_BOUNDARY);
+ var g = new u(p, m),
+ y = d.inverseTransformPoint(g);
+ this.setLocation(y.x, y.y);
+ }),
+ (h.prototype.getLeft = function () {
+ return this.rect.x;
+ }),
+ (h.prototype.getRight = function () {
+ return this.rect.x + this.rect.width;
+ }),
+ (h.prototype.getTop = function () {
+ return this.rect.y;
+ }),
+ (h.prototype.getBottom = function () {
+ return this.rect.y + this.rect.height;
+ }),
+ (h.prototype.getParent = function () {
+ return this.owner == null ? null : this.owner.getParent();
+ }),
+ (t.exports = h);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a) {
+ i == null && a == null ? ((this.x = 0), (this.y = 0)) : ((this.x = i), (this.y = a));
+ }
+ o(n, 'PointD'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.setX = function (i) {
+ this.x = i;
+ }),
+ (n.prototype.setY = function (i) {
+ this.y = i;
+ }),
+ (n.prototype.getDifference = function (i) {
+ return new DimensionD(this.x - i.x, this.y - i.y);
+ }),
+ (n.prototype.getCopy = function () {
+ return new n(this.x, this.y);
+ }),
+ (n.prototype.translate = function (i) {
+ return (this.x += i.width), (this.y += i.height), this;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(10),
+ a = r(0),
+ s = r(6),
+ l = r(3),
+ u = r(1),
+ h = r(13),
+ f = r(12),
+ d = r(11);
+ function p(g, y, v) {
+ n.call(this, v),
+ (this.estimatedSize = i.MIN_VALUE),
+ (this.margin = a.DEFAULT_GRAPH_MARGIN),
+ (this.edges = []),
+ (this.nodes = []),
+ (this.isConnected = !1),
+ (this.parent = g),
+ y != null && y instanceof s
+ ? (this.graphManager = y)
+ : y != null && y instanceof Layout && (this.graphManager = y.graphManager);
+ }
+ o(p, 'LGraph'), (p.prototype = Object.create(n.prototype));
+ for (var m in n) p[m] = n[m];
+ (p.prototype.getNodes = function () {
+ return this.nodes;
+ }),
+ (p.prototype.getEdges = function () {
+ return this.edges;
+ }),
+ (p.prototype.getGraphManager = function () {
+ return this.graphManager;
+ }),
+ (p.prototype.getParent = function () {
+ return this.parent;
+ }),
+ (p.prototype.getLeft = function () {
+ return this.left;
+ }),
+ (p.prototype.getRight = function () {
+ return this.right;
+ }),
+ (p.prototype.getTop = function () {
+ return this.top;
+ }),
+ (p.prototype.getBottom = function () {
+ return this.bottom;
+ }),
+ (p.prototype.isConnected = function () {
+ return this.isConnected;
+ }),
+ (p.prototype.add = function (g, y, v) {
+ if (y == null && v == null) {
+ var x = g;
+ if (this.graphManager == null) throw 'Graph has no graph mgr!';
+ if (this.getNodes().indexOf(x) > -1) throw 'Node already in graph!';
+ return (x.owner = this), this.getNodes().push(x), x;
+ } else {
+ var b = g;
+ if (!(this.getNodes().indexOf(y) > -1 && this.getNodes().indexOf(v) > -1))
+ throw 'Source or target not in graph!';
+ if (!(y.owner == v.owner && y.owner == this)) throw 'Both owners must be this graph!';
+ return y.owner != v.owner
+ ? null
+ : ((b.source = y),
+ (b.target = v),
+ (b.isInterGraph = !1),
+ this.getEdges().push(b),
+ y.edges.push(b),
+ v != y && v.edges.push(b),
+ b);
+ }
+ }),
+ (p.prototype.remove = function (g) {
+ var y = g;
+ if (g instanceof l) {
+ if (y == null) throw 'Node is null!';
+ if (!(y.owner != null && y.owner == this)) throw 'Owner graph is invalid!';
+ if (this.graphManager == null) throw 'Owner graph manager is invalid!';
+ for (var v = y.edges.slice(), x, b = v.length, w = 0; w < b; w++)
+ (x = v[w]), x.isInterGraph ? this.graphManager.remove(x) : x.source.owner.remove(x);
+ var S = this.nodes.indexOf(y);
+ if (S == -1) throw 'Node not in owner node list!';
+ this.nodes.splice(S, 1);
+ } else if (g instanceof u) {
+ var x = g;
+ if (x == null) throw 'Edge is null!';
+ if (!(x.source != null && x.target != null)) throw 'Source and/or target is null!';
+ if (
+ !(
+ x.source.owner != null &&
+ x.target.owner != null &&
+ x.source.owner == this &&
+ x.target.owner == this
+ )
+ )
+ throw 'Source and/or target owner is invalid!';
+ var T = x.source.edges.indexOf(x),
+ E = x.target.edges.indexOf(x);
+ if (!(T > -1 && E > -1)) throw "Source and/or target doesn't know this edge!";
+ x.source.edges.splice(T, 1), x.target != x.source && x.target.edges.splice(E, 1);
+ var S = x.source.owner.getEdges().indexOf(x);
+ if (S == -1) throw "Not in owner's edge list!";
+ x.source.owner.getEdges().splice(S, 1);
+ }
+ }),
+ (p.prototype.updateLeftTop = function () {
+ for (
+ var g = i.MAX_VALUE, y = i.MAX_VALUE, v, x, b, w = this.getNodes(), S = w.length, T = 0;
+ T < S;
+ T++
+ ) {
+ var E = w[T];
+ (v = E.getTop()), (x = E.getLeft()), g > v && (g = v), y > x && (y = x);
+ }
+ return g == i.MAX_VALUE
+ ? null
+ : (w[0].getParent().paddingLeft != null
+ ? (b = w[0].getParent().paddingLeft)
+ : (b = this.margin),
+ (this.left = y - b),
+ (this.top = g - b),
+ new f(this.left, this.top));
+ }),
+ (p.prototype.updateBounds = function (g) {
+ for (
+ var y = i.MAX_VALUE,
+ v = -i.MAX_VALUE,
+ x = i.MAX_VALUE,
+ b = -i.MAX_VALUE,
+ w,
+ S,
+ T,
+ E,
+ _,
+ A = this.nodes,
+ L = A.length,
+ M = 0;
+ M < L;
+ M++
+ ) {
+ var N = A[M];
+ g && N.child != null && N.updateBounds(),
+ (w = N.getLeft()),
+ (S = N.getRight()),
+ (T = N.getTop()),
+ (E = N.getBottom()),
+ y > w && (y = w),
+ v < S && (v = S),
+ x > T && (x = T),
+ b < E && (b = E);
+ }
+ var k = new h(y, x, v - y, b - x);
+ y == i.MAX_VALUE &&
+ ((this.left = this.parent.getLeft()),
+ (this.right = this.parent.getRight()),
+ (this.top = this.parent.getTop()),
+ (this.bottom = this.parent.getBottom())),
+ A[0].getParent().paddingLeft != null
+ ? (_ = A[0].getParent().paddingLeft)
+ : (_ = this.margin),
+ (this.left = k.x - _),
+ (this.right = k.x + k.width + _),
+ (this.top = k.y - _),
+ (this.bottom = k.y + k.height + _);
+ }),
+ (p.calculateBounds = function (g) {
+ for (
+ var y = i.MAX_VALUE,
+ v = -i.MAX_VALUE,
+ x = i.MAX_VALUE,
+ b = -i.MAX_VALUE,
+ w,
+ S,
+ T,
+ E,
+ _ = g.length,
+ A = 0;
+ A < _;
+ A++
+ ) {
+ var L = g[A];
+ (w = L.getLeft()),
+ (S = L.getRight()),
+ (T = L.getTop()),
+ (E = L.getBottom()),
+ y > w && (y = w),
+ v < S && (v = S),
+ x > T && (x = T),
+ b < E && (b = E);
+ }
+ var M = new h(y, x, v - y, b - x);
+ return M;
+ }),
+ (p.prototype.getInclusionTreeDepth = function () {
+ return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth();
+ }),
+ (p.prototype.getEstimatedSize = function () {
+ if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed';
+ return this.estimatedSize;
+ }),
+ (p.prototype.calcEstimatedSize = function () {
+ for (var g = 0, y = this.nodes, v = y.length, x = 0; x < v; x++) {
+ var b = y[x];
+ g += b.calcEstimatedSize();
+ }
+ return (
+ g == 0
+ ? (this.estimatedSize = a.EMPTY_COMPOUND_NODE_SIZE)
+ : (this.estimatedSize = g / Math.sqrt(this.nodes.length)),
+ this.estimatedSize
+ );
+ }),
+ (p.prototype.updateConnected = function () {
+ var g = this;
+ if (this.nodes.length == 0) {
+ this.isConnected = !0;
+ return;
+ }
+ var y = new d(),
+ v = new Set(),
+ x = this.nodes[0],
+ b,
+ w,
+ S = x.withChildren();
+ for (
+ S.forEach(function (M) {
+ y.push(M), v.add(M);
+ });
+ y.length !== 0;
+
+ ) {
+ (x = y.shift()), (b = x.getEdges());
+ for (var T = b.length, E = 0; E < T; E++) {
+ var _ = b[E];
+ if (((w = _.getOtherEndInGraph(x, this)), w != null && !v.has(w))) {
+ var A = w.withChildren();
+ A.forEach(function (M) {
+ y.push(M), v.add(M);
+ });
+ }
+ }
+ }
+ if (((this.isConnected = !1), v.size >= this.nodes.length)) {
+ var L = 0;
+ v.forEach(function (M) {
+ M.owner == g && L++;
+ }),
+ L == this.nodes.length && (this.isConnected = !0);
+ }
+ }),
+ (t.exports = p);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n,
+ i = r(1);
+ function a(s) {
+ (n = r(5)), (this.layout = s), (this.graphs = []), (this.edges = []);
+ }
+ o(a, 'LGraphManager'),
+ (a.prototype.addRoot = function () {
+ var s = this.layout.newGraph(),
+ l = this.layout.newNode(null),
+ u = this.add(s, l);
+ return this.setRootGraph(u), this.rootGraph;
+ }),
+ (a.prototype.add = function (s, l, u, h, f) {
+ if (u == null && h == null && f == null) {
+ if (s == null) throw 'Graph is null!';
+ if (l == null) throw 'Parent node is null!';
+ if (this.graphs.indexOf(s) > -1) throw 'Graph already in this graph mgr!';
+ if ((this.graphs.push(s), s.parent != null)) throw 'Already has a parent!';
+ if (l.child != null) throw 'Already has a child!';
+ return (s.parent = l), (l.child = s), s;
+ } else {
+ (f = u), (h = l), (u = s);
+ var d = h.getOwner(),
+ p = f.getOwner();
+ if (!(d != null && d.getGraphManager() == this)) throw 'Source not in this graph mgr!';
+ if (!(p != null && p.getGraphManager() == this)) throw 'Target not in this graph mgr!';
+ if (d == p) return (u.isInterGraph = !1), d.add(u, h, f);
+ if (((u.isInterGraph = !0), (u.source = h), (u.target = f), this.edges.indexOf(u) > -1))
+ throw 'Edge already in inter-graph edge list!';
+ if ((this.edges.push(u), !(u.source != null && u.target != null)))
+ throw 'Edge source and/or target is null!';
+ if (!(u.source.edges.indexOf(u) == -1 && u.target.edges.indexOf(u) == -1))
+ throw 'Edge already in source and/or target incidency list!';
+ return u.source.edges.push(u), u.target.edges.push(u), u;
+ }
+ }),
+ (a.prototype.remove = function (s) {
+ if (s instanceof n) {
+ var l = s;
+ if (l.getGraphManager() != this) throw 'Graph not in this graph mgr';
+ if (!(l == this.rootGraph || (l.parent != null && l.parent.graphManager == this)))
+ throw 'Invalid parent node!';
+ var u = [];
+ u = u.concat(l.getEdges());
+ for (var h, f = u.length, d = 0; d < f; d++) (h = u[d]), l.remove(h);
+ var p = [];
+ p = p.concat(l.getNodes());
+ var m;
+ f = p.length;
+ for (var d = 0; d < f; d++) (m = p[d]), l.remove(m);
+ l == this.rootGraph && this.setRootGraph(null);
+ var g = this.graphs.indexOf(l);
+ this.graphs.splice(g, 1), (l.parent = null);
+ } else if (s instanceof i) {
+ if (((h = s), h == null)) throw 'Edge is null!';
+ if (!h.isInterGraph) throw 'Not an inter-graph edge!';
+ if (!(h.source != null && h.target != null)) throw 'Source and/or target is null!';
+ if (!(h.source.edges.indexOf(h) != -1 && h.target.edges.indexOf(h) != -1))
+ throw "Source and/or target doesn't know this edge!";
+ var g = h.source.edges.indexOf(h);
+ if (
+ (h.source.edges.splice(g, 1),
+ (g = h.target.edges.indexOf(h)),
+ h.target.edges.splice(g, 1),
+ !(h.source.owner != null && h.source.owner.getGraphManager() != null))
+ )
+ throw 'Edge owner graph or owner graph manager is null!';
+ if (h.source.owner.getGraphManager().edges.indexOf(h) == -1)
+ throw "Not in owner graph manager's edge list!";
+ var g = h.source.owner.getGraphManager().edges.indexOf(h);
+ h.source.owner.getGraphManager().edges.splice(g, 1);
+ }
+ }),
+ (a.prototype.updateBounds = function () {
+ this.rootGraph.updateBounds(!0);
+ }),
+ (a.prototype.getGraphs = function () {
+ return this.graphs;
+ }),
+ (a.prototype.getAllNodes = function () {
+ if (this.allNodes == null) {
+ for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < u; h++)
+ s = s.concat(l[h].getNodes());
+ this.allNodes = s;
+ }
+ return this.allNodes;
+ }),
+ (a.prototype.resetAllNodes = function () {
+ this.allNodes = null;
+ }),
+ (a.prototype.resetAllEdges = function () {
+ this.allEdges = null;
+ }),
+ (a.prototype.resetAllNodesToApplyGravitation = function () {
+ this.allNodesToApplyGravitation = null;
+ }),
+ (a.prototype.getAllEdges = function () {
+ if (this.allEdges == null) {
+ for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < l.length; h++)
+ s = s.concat(l[h].getEdges());
+ (s = s.concat(this.edges)), (this.allEdges = s);
+ }
+ return this.allEdges;
+ }),
+ (a.prototype.getAllNodesToApplyGravitation = function () {
+ return this.allNodesToApplyGravitation;
+ }),
+ (a.prototype.setAllNodesToApplyGravitation = function (s) {
+ if (this.allNodesToApplyGravitation != null) throw 'assert failed';
+ this.allNodesToApplyGravitation = s;
+ }),
+ (a.prototype.getRoot = function () {
+ return this.rootGraph;
+ }),
+ (a.prototype.setRootGraph = function (s) {
+ if (s.getGraphManager() != this) throw 'Root not in this graph mgr!';
+ (this.rootGraph = s), s.parent == null && (s.parent = this.layout.newNode('Root node'));
+ }),
+ (a.prototype.getLayout = function () {
+ return this.layout;
+ }),
+ (a.prototype.isOneAncestorOfOther = function (s, l) {
+ if (!(s != null && l != null)) throw 'assert failed';
+ if (s == l) return !0;
+ var u = s.getOwner(),
+ h;
+ do {
+ if (((h = u.getParent()), h == null)) break;
+ if (h == l) return !0;
+ if (((u = h.getOwner()), u == null)) break;
+ } while (!0);
+ u = l.getOwner();
+ do {
+ if (((h = u.getParent()), h == null)) break;
+ if (h == s) return !0;
+ if (((u = h.getOwner()), u == null)) break;
+ } while (!0);
+ return !1;
+ }),
+ (a.prototype.calcLowestCommonAncestors = function () {
+ for (var s, l, u, h, f, d = this.getAllEdges(), p = d.length, m = 0; m < p; m++) {
+ if (
+ ((s = d[m]),
+ (l = s.source),
+ (u = s.target),
+ (s.lca = null),
+ (s.sourceInLca = l),
+ (s.targetInLca = u),
+ l == u)
+ ) {
+ s.lca = l.getOwner();
+ continue;
+ }
+ for (h = l.getOwner(); s.lca == null; ) {
+ for (s.targetInLca = u, f = u.getOwner(); s.lca == null; ) {
+ if (f == h) {
+ s.lca = f;
+ break;
+ }
+ if (f == this.rootGraph) break;
+ if (s.lca != null) throw 'assert failed';
+ (s.targetInLca = f.getParent()), (f = s.targetInLca.getOwner());
+ }
+ if (h == this.rootGraph) break;
+ s.lca == null && ((s.sourceInLca = h.getParent()), (h = s.sourceInLca.getOwner()));
+ }
+ if (s.lca == null) throw 'assert failed';
+ }
+ }),
+ (a.prototype.calcLowestCommonAncestor = function (s, l) {
+ if (s == l) return s.getOwner();
+ var u = s.getOwner();
+ do {
+ if (u == null) break;
+ var h = l.getOwner();
+ do {
+ if (h == null) break;
+ if (h == u) return h;
+ h = h.getParent().getOwner();
+ } while (!0);
+ u = u.getParent().getOwner();
+ } while (!0);
+ return u;
+ }),
+ (a.prototype.calcInclusionTreeDepths = function (s, l) {
+ s == null && l == null && ((s = this.rootGraph), (l = 1));
+ for (var u, h = s.getNodes(), f = h.length, d = 0; d < f; d++)
+ (u = h[d]),
+ (u.inclusionTreeDepth = l),
+ u.child != null && this.calcInclusionTreeDepths(u.child, l + 1);
+ }),
+ (a.prototype.includesInvalidEdge = function () {
+ for (var s, l = this.edges.length, u = 0; u < l; u++)
+ if (((s = this.edges[u]), this.isOneAncestorOfOther(s.source, s.target))) return !0;
+ return !1;
+ }),
+ (t.exports = a);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(0);
+ function i() {}
+ o(i, 'FDLayoutConstants');
+ for (var a in n) i[a] = n[a];
+ (i.MAX_ITERATIONS = 2500),
+ (i.DEFAULT_EDGE_LENGTH = 50),
+ (i.DEFAULT_SPRING_STRENGTH = 0.45),
+ (i.DEFAULT_REPULSION_STRENGTH = 4500),
+ (i.DEFAULT_GRAVITY_STRENGTH = 0.4),
+ (i.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1),
+ (i.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8),
+ (i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5),
+ (i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0),
+ (i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0),
+ (i.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3),
+ (i.COOLING_ADAPTATION_FACTOR = 0.33),
+ (i.ADAPTATION_LOWER_NODE_LIMIT = 1e3),
+ (i.ADAPTATION_UPPER_NODE_LIMIT = 5e3),
+ (i.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100),
+ (i.MAX_NODE_DISPLACEMENT = i.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3),
+ (i.MIN_REPULSION_DIST = i.DEFAULT_EDGE_LENGTH / 10),
+ (i.CONVERGENCE_CHECK_PERIOD = 100),
+ (i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1),
+ (i.MIN_EDGE_LENGTH = 1),
+ (i.GRID_CALCULATION_CHECK_PERIOD = 10),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(12);
+ function i() {}
+ o(i, 'IGeometry'),
+ (i.calcSeparationAmount = function (a, s, l, u) {
+ if (!a.intersects(s)) throw 'assert failed';
+ var h = new Array(2);
+ this.decideDirectionsForOverlappingNodes(a, s, h),
+ (l[0] = Math.min(a.getRight(), s.getRight()) - Math.max(a.x, s.x)),
+ (l[1] = Math.min(a.getBottom(), s.getBottom()) - Math.max(a.y, s.y)),
+ a.getX() <= s.getX() && a.getRight() >= s.getRight()
+ ? (l[0] += Math.min(s.getX() - a.getX(), a.getRight() - s.getRight()))
+ : s.getX() <= a.getX() &&
+ s.getRight() >= a.getRight() &&
+ (l[0] += Math.min(a.getX() - s.getX(), s.getRight() - a.getRight())),
+ a.getY() <= s.getY() && a.getBottom() >= s.getBottom()
+ ? (l[1] += Math.min(s.getY() - a.getY(), a.getBottom() - s.getBottom()))
+ : s.getY() <= a.getY() &&
+ s.getBottom() >= a.getBottom() &&
+ (l[1] += Math.min(a.getY() - s.getY(), s.getBottom() - a.getBottom()));
+ var f = Math.abs((s.getCenterY() - a.getCenterY()) / (s.getCenterX() - a.getCenterX()));
+ s.getCenterY() === a.getCenterY() && s.getCenterX() === a.getCenterX() && (f = 1);
+ var d = f * l[0],
+ p = l[1] / f;
+ l[0] < p ? (p = l[0]) : (d = l[1]),
+ (l[0] = -1 * h[0] * (p / 2 + u)),
+ (l[1] = -1 * h[1] * (d / 2 + u));
+ }),
+ (i.decideDirectionsForOverlappingNodes = function (a, s, l) {
+ a.getCenterX() < s.getCenterX() ? (l[0] = -1) : (l[0] = 1),
+ a.getCenterY() < s.getCenterY() ? (l[1] = -1) : (l[1] = 1);
+ }),
+ (i.getIntersection2 = function (a, s, l) {
+ var u = a.getCenterX(),
+ h = a.getCenterY(),
+ f = s.getCenterX(),
+ d = s.getCenterY();
+ if (a.intersects(s)) return (l[0] = u), (l[1] = h), (l[2] = f), (l[3] = d), !0;
+ var p = a.getX(),
+ m = a.getY(),
+ g = a.getRight(),
+ y = a.getX(),
+ v = a.getBottom(),
+ x = a.getRight(),
+ b = a.getWidthHalf(),
+ w = a.getHeightHalf(),
+ S = s.getX(),
+ T = s.getY(),
+ E = s.getRight(),
+ _ = s.getX(),
+ A = s.getBottom(),
+ L = s.getRight(),
+ M = s.getWidthHalf(),
+ N = s.getHeightHalf(),
+ k = !1,
+ I = !1;
+ if (u === f) {
+ if (h > d) return (l[0] = u), (l[1] = m), (l[2] = f), (l[3] = A), !1;
+ if (h < d) return (l[0] = u), (l[1] = v), (l[2] = f), (l[3] = T), !1;
+ } else if (h === d) {
+ if (u > f) return (l[0] = p), (l[1] = h), (l[2] = E), (l[3] = d), !1;
+ if (u < f) return (l[0] = g), (l[1] = h), (l[2] = S), (l[3] = d), !1;
+ } else {
+ var C = a.height / a.width,
+ O = s.height / s.width,
+ D = (d - h) / (f - u),
+ P = void 0,
+ F = void 0,
+ B = void 0,
+ $ = void 0,
+ z = void 0,
+ Y = void 0;
+ if (
+ (-C === D
+ ? u > f
+ ? ((l[0] = y), (l[1] = v), (k = !0))
+ : ((l[0] = g), (l[1] = m), (k = !0))
+ : C === D &&
+ (u > f
+ ? ((l[0] = p), (l[1] = m), (k = !0))
+ : ((l[0] = x), (l[1] = v), (k = !0))),
+ -O === D
+ ? f > u
+ ? ((l[2] = _), (l[3] = A), (I = !0))
+ : ((l[2] = E), (l[3] = T), (I = !0))
+ : O === D &&
+ (f > u
+ ? ((l[2] = S), (l[3] = T), (I = !0))
+ : ((l[2] = L), (l[3] = A), (I = !0))),
+ k && I)
+ )
+ return !1;
+ if (
+ (u > f
+ ? h > d
+ ? ((P = this.getCardinalDirection(C, D, 4)),
+ (F = this.getCardinalDirection(O, D, 2)))
+ : ((P = this.getCardinalDirection(-C, D, 3)),
+ (F = this.getCardinalDirection(-O, D, 1)))
+ : h > d
+ ? ((P = this.getCardinalDirection(-C, D, 1)),
+ (F = this.getCardinalDirection(-O, D, 3)))
+ : ((P = this.getCardinalDirection(C, D, 2)),
+ (F = this.getCardinalDirection(O, D, 4))),
+ !k)
+ )
+ switch (P) {
+ case 1:
+ ($ = m), (B = u + -w / D), (l[0] = B), (l[1] = $);
+ break;
+ case 2:
+ (B = x), ($ = h + b * D), (l[0] = B), (l[1] = $);
+ break;
+ case 3:
+ ($ = v), (B = u + w / D), (l[0] = B), (l[1] = $);
+ break;
+ case 4:
+ (B = y), ($ = h + -b * D), (l[0] = B), (l[1] = $);
+ break;
+ }
+ if (!I)
+ switch (F) {
+ case 1:
+ (Y = T), (z = f + -N / D), (l[2] = z), (l[3] = Y);
+ break;
+ case 2:
+ (z = L), (Y = d + M * D), (l[2] = z), (l[3] = Y);
+ break;
+ case 3:
+ (Y = A), (z = f + N / D), (l[2] = z), (l[3] = Y);
+ break;
+ case 4:
+ (z = _), (Y = d + -M * D), (l[2] = z), (l[3] = Y);
+ break;
+ }
+ }
+ return !1;
+ }),
+ (i.getCardinalDirection = function (a, s, l) {
+ return a > s ? l : 1 + (l % 4);
+ }),
+ (i.getIntersection = function (a, s, l, u) {
+ if (u == null) return this.getIntersection2(a, s, l);
+ var h = a.x,
+ f = a.y,
+ d = s.x,
+ p = s.y,
+ m = l.x,
+ g = l.y,
+ y = u.x,
+ v = u.y,
+ x = void 0,
+ b = void 0,
+ w = void 0,
+ S = void 0,
+ T = void 0,
+ E = void 0,
+ _ = void 0,
+ A = void 0,
+ L = void 0;
+ return (
+ (w = p - f),
+ (T = h - d),
+ (_ = d * f - h * p),
+ (S = v - g),
+ (E = m - y),
+ (A = y * g - m * v),
+ (L = w * E - S * T),
+ L === 0 ? null : ((x = (T * A - E * _) / L), (b = (S * _ - w * A) / L), new n(x, b))
+ );
+ }),
+ (i.angleOfVector = function (a, s, l, u) {
+ var h = void 0;
+ return (
+ a !== l
+ ? ((h = Math.atan((u - s) / (l - a))),
+ l < a ? (h += Math.PI) : u < s && (h += this.TWO_PI))
+ : u < s
+ ? (h = this.ONE_AND_HALF_PI)
+ : (h = this.HALF_PI),
+ h
+ );
+ }),
+ (i.doIntersect = function (a, s, l, u) {
+ var h = a.x,
+ f = a.y,
+ d = s.x,
+ p = s.y,
+ m = l.x,
+ g = l.y,
+ y = u.x,
+ v = u.y,
+ x = (d - h) * (v - g) - (y - m) * (p - f);
+ if (x === 0) return !1;
+ var b = ((v - g) * (y - h) + (m - y) * (v - f)) / x,
+ w = ((f - p) * (y - h) + (d - h) * (v - f)) / x;
+ return 0 < b && b < 1 && 0 < w && w < 1;
+ }),
+ (i.HALF_PI = 0.5 * Math.PI),
+ (i.ONE_AND_HALF_PI = 1.5 * Math.PI),
+ (i.TWO_PI = 2 * Math.PI),
+ (i.THREE_PI = 3 * Math.PI),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'IMath'),
+ (n.sign = function (i) {
+ return i > 0 ? 1 : i < 0 ? -1 : 0;
+ }),
+ (n.floor = function (i) {
+ return i < 0 ? Math.ceil(i) : Math.floor(i);
+ }),
+ (n.ceil = function (i) {
+ return i < 0 ? Math.floor(i) : Math.ceil(i);
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'Integer'), (n.MAX_VALUE = 2147483647), (n.MIN_VALUE = -2147483648), (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function h(f, d) {
+ for (var p = 0; p < d.length; p++) {
+ var m = d[p];
+ (m.enumerable = m.enumerable || !1),
+ (m.configurable = !0),
+ 'value' in m && (m.writable = !0),
+ Object.defineProperty(f, m.key, m);
+ }
+ }
+ return (
+ o(h, 'defineProperties'),
+ function (f, d, p) {
+ return d && h(f.prototype, d), p && h(f, p), f;
+ }
+ );
+ })();
+ function i(h, f) {
+ if (!(h instanceof f)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = o(function (f) {
+ return { value: f, next: null, prev: null };
+ }, 'nodeFrom'),
+ s = o(function (f, d, p, m) {
+ return (
+ f !== null ? (f.next = d) : (m.head = d),
+ p !== null ? (p.prev = d) : (m.tail = d),
+ (d.prev = f),
+ (d.next = p),
+ m.length++,
+ d
+ );
+ }, 'add'),
+ l = o(function (f, d) {
+ var p = f.prev,
+ m = f.next;
+ return (
+ p !== null ? (p.next = m) : (d.head = m),
+ m !== null ? (m.prev = p) : (d.tail = p),
+ (f.prev = f.next = null),
+ d.length--,
+ f
+ );
+ }, '_remove'),
+ u = (function () {
+ function h(f) {
+ var d = this;
+ i(this, h),
+ (this.length = 0),
+ (this.head = null),
+ (this.tail = null),
+ f?.forEach(function (p) {
+ return d.push(p);
+ });
+ }
+ return (
+ o(h, 'LinkedList'),
+ n(h, [
+ {
+ key: 'size',
+ value: o(function () {
+ return this.length;
+ }, 'size')
+ },
+ {
+ key: 'insertBefore',
+ value: o(function (d, p) {
+ return s(p.prev, a(d), p, this);
+ }, 'insertBefore')
+ },
+ {
+ key: 'insertAfter',
+ value: o(function (d, p) {
+ return s(p, a(d), p.next, this);
+ }, 'insertAfter')
+ },
+ {
+ key: 'insertNodeBefore',
+ value: o(function (d, p) {
+ return s(p.prev, d, p, this);
+ }, 'insertNodeBefore')
+ },
+ {
+ key: 'insertNodeAfter',
+ value: o(function (d, p) {
+ return s(p, d, p.next, this);
+ }, 'insertNodeAfter')
+ },
+ {
+ key: 'push',
+ value: o(function (d) {
+ return s(this.tail, a(d), null, this);
+ }, 'push')
+ },
+ {
+ key: 'unshift',
+ value: o(function (d) {
+ return s(null, a(d), this.head, this);
+ }, 'unshift')
+ },
+ {
+ key: 'remove',
+ value: o(function (d) {
+ return l(d, this);
+ }, 'remove')
+ },
+ {
+ key: 'pop',
+ value: o(function () {
+ return l(this.tail, this).value;
+ }, 'pop')
+ },
+ {
+ key: 'popNode',
+ value: o(function () {
+ return l(this.tail, this);
+ }, 'popNode')
+ },
+ {
+ key: 'shift',
+ value: o(function () {
+ return l(this.head, this).value;
+ }, 'shift')
+ },
+ {
+ key: 'shiftNode',
+ value: o(function () {
+ return l(this.head, this);
+ }, 'shiftNode')
+ },
+ {
+ key: 'get_object_at',
+ value: o(function (d) {
+ if (d <= this.length()) {
+ for (var p = 1, m = this.head; p < d; ) (m = m.next), p++;
+ return m.value;
+ }
+ }, 'get_object_at')
+ },
+ {
+ key: 'set_object_at',
+ value: o(function (d, p) {
+ if (d <= this.length()) {
+ for (var m = 1, g = this.head; m < d; ) (g = g.next), m++;
+ g.value = p;
+ }
+ }, 'set_object_at')
+ }
+ ]),
+ h
+ );
+ })();
+ t.exports = u;
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a, s) {
+ (this.x = null),
+ (this.y = null),
+ i == null && a == null && s == null
+ ? ((this.x = 0), (this.y = 0))
+ : typeof i == 'number' && typeof a == 'number' && s == null
+ ? ((this.x = i), (this.y = a))
+ : i.constructor.name == 'Point' &&
+ a == null &&
+ s == null &&
+ ((s = i), (this.x = s.x), (this.y = s.y));
+ }
+ o(n, 'Point'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.getLocation = function () {
+ return new n(this.x, this.y);
+ }),
+ (n.prototype.setLocation = function (i, a, s) {
+ i.constructor.name == 'Point' && a == null && s == null
+ ? ((s = i), this.setLocation(s.x, s.y))
+ : typeof i == 'number' &&
+ typeof a == 'number' &&
+ s == null &&
+ (parseInt(i) == i && parseInt(a) == a
+ ? this.move(i, a)
+ : ((this.x = Math.floor(i + 0.5)), (this.y = Math.floor(a + 0.5))));
+ }),
+ (n.prototype.move = function (i, a) {
+ (this.x = i), (this.y = a);
+ }),
+ (n.prototype.translate = function (i, a) {
+ (this.x += i), (this.y += a);
+ }),
+ (n.prototype.equals = function (i) {
+ if (i.constructor.name == 'Point') {
+ var a = i;
+ return this.x == a.x && this.y == a.y;
+ }
+ return this == i;
+ }),
+ (n.prototype.toString = function () {
+ return new n().constructor.name + '[x=' + this.x + ',y=' + this.y + ']';
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a, s, l) {
+ (this.x = 0),
+ (this.y = 0),
+ (this.width = 0),
+ (this.height = 0),
+ i != null &&
+ a != null &&
+ s != null &&
+ l != null &&
+ ((this.x = i), (this.y = a), (this.width = s), (this.height = l));
+ }
+ o(n, 'RectangleD'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.setX = function (i) {
+ this.x = i;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.setY = function (i) {
+ this.y = i;
+ }),
+ (n.prototype.getWidth = function () {
+ return this.width;
+ }),
+ (n.prototype.setWidth = function (i) {
+ this.width = i;
+ }),
+ (n.prototype.getHeight = function () {
+ return this.height;
+ }),
+ (n.prototype.setHeight = function (i) {
+ this.height = i;
+ }),
+ (n.prototype.getRight = function () {
+ return this.x + this.width;
+ }),
+ (n.prototype.getBottom = function () {
+ return this.y + this.height;
+ }),
+ (n.prototype.intersects = function (i) {
+ return !(
+ this.getRight() < i.x ||
+ this.getBottom() < i.y ||
+ i.getRight() < this.x ||
+ i.getBottom() < this.y
+ );
+ }),
+ (n.prototype.getCenterX = function () {
+ return this.x + this.width / 2;
+ }),
+ (n.prototype.getMinX = function () {
+ return this.getX();
+ }),
+ (n.prototype.getMaxX = function () {
+ return this.getX() + this.width;
+ }),
+ (n.prototype.getCenterY = function () {
+ return this.y + this.height / 2;
+ }),
+ (n.prototype.getMinY = function () {
+ return this.getY();
+ }),
+ (n.prototype.getMaxY = function () {
+ return this.getY() + this.height;
+ }),
+ (n.prototype.getWidthHalf = function () {
+ return this.width / 2;
+ }),
+ (n.prototype.getHeightHalf = function () {
+ return this.height / 2;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n =
+ typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol'
+ ? function (a) {
+ return typeof a;
+ }
+ : function (a) {
+ return a &&
+ typeof Symbol == 'function' &&
+ a.constructor === Symbol &&
+ a !== Symbol.prototype
+ ? 'symbol'
+ : typeof a;
+ };
+ function i() {}
+ o(i, 'UniqueIDGeneretor'),
+ (i.lastID = 0),
+ (i.createID = function (a) {
+ return i.isPrimitive(a)
+ ? a
+ : (a.uniqueID != null || ((a.uniqueID = i.getString()), i.lastID++), a.uniqueID);
+ }),
+ (i.getString = function (a) {
+ return a == null && (a = i.lastID), 'Object#' + a;
+ }),
+ (i.isPrimitive = function (a) {
+ var s = typeof a > 'u' ? 'undefined' : n(a);
+ return a == null || (s != 'object' && s != 'function');
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(m) {
+ if (Array.isArray(m)) {
+ for (var g = 0, y = Array(m.length); g < m.length; g++) y[g] = m[g];
+ return y;
+ } else return Array.from(m);
+ }
+ o(n, '_toConsumableArray');
+ var i = r(0),
+ a = r(6),
+ s = r(3),
+ l = r(1),
+ u = r(5),
+ h = r(4),
+ f = r(17),
+ d = r(27);
+ function p(m) {
+ d.call(this),
+ (this.layoutQuality = i.QUALITY),
+ (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED),
+ (this.incremental = i.DEFAULT_INCREMENTAL),
+ (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT),
+ (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT),
+ (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD),
+ (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES),
+ (this.edgeToDummyNodes = new Map()),
+ (this.graphManager = new a(this)),
+ (this.isLayoutFinished = !1),
+ (this.isSubLayout = !1),
+ (this.isRemoteUse = !1),
+ m != null && (this.isRemoteUse = m);
+ }
+ o(p, 'Layout'),
+ (p.RANDOM_SEED = 1),
+ (p.prototype = Object.create(d.prototype)),
+ (p.prototype.getGraphManager = function () {
+ return this.graphManager;
+ }),
+ (p.prototype.getAllNodes = function () {
+ return this.graphManager.getAllNodes();
+ }),
+ (p.prototype.getAllEdges = function () {
+ return this.graphManager.getAllEdges();
+ }),
+ (p.prototype.getAllNodesToApplyGravitation = function () {
+ return this.graphManager.getAllNodesToApplyGravitation();
+ }),
+ (p.prototype.newGraphManager = function () {
+ var m = new a(this);
+ return (this.graphManager = m), m;
+ }),
+ (p.prototype.newGraph = function (m) {
+ return new u(null, this.graphManager, m);
+ }),
+ (p.prototype.newNode = function (m) {
+ return new s(this.graphManager, m);
+ }),
+ (p.prototype.newEdge = function (m) {
+ return new l(null, null, m);
+ }),
+ (p.prototype.checkLayoutSuccess = function () {
+ return (
+ this.graphManager.getRoot() == null ||
+ this.graphManager.getRoot().getNodes().length == 0 ||
+ this.graphManager.includesInvalidEdge()
+ );
+ }),
+ (p.prototype.runLayout = function () {
+ (this.isLayoutFinished = !1),
+ this.tilingPreLayout && this.tilingPreLayout(),
+ this.initParameters();
+ var m;
+ return (
+ this.checkLayoutSuccess() ? (m = !1) : (m = this.layout()),
+ i.ANIMATE === 'during'
+ ? !1
+ : (m && (this.isSubLayout || this.doPostLayout()),
+ this.tilingPostLayout && this.tilingPostLayout(),
+ (this.isLayoutFinished = !0),
+ m)
+ );
+ }),
+ (p.prototype.doPostLayout = function () {
+ this.incremental || this.transform(), this.update();
+ }),
+ (p.prototype.update2 = function () {
+ if (
+ (this.createBendsAsNeeded &&
+ (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()),
+ !this.isRemoteUse)
+ ) {
+ for (var m, g = this.graphManager.getAllEdges(), y = 0; y < g.length; y++) m = g[y];
+ for (var v, x = this.graphManager.getRoot().getNodes(), y = 0; y < x.length; y++)
+ v = x[y];
+ this.update(this.graphManager.getRoot());
+ }
+ }),
+ (p.prototype.update = function (m) {
+ if (m == null) this.update2();
+ else if (m instanceof s) {
+ var g = m;
+ if (g.getChild() != null)
+ for (var y = g.getChild().getNodes(), v = 0; v < y.length; v++) update(y[v]);
+ if (g.vGraphObject != null) {
+ var x = g.vGraphObject;
+ x.update(g);
+ }
+ } else if (m instanceof l) {
+ var b = m;
+ if (b.vGraphObject != null) {
+ var w = b.vGraphObject;
+ w.update(b);
+ }
+ } else if (m instanceof u) {
+ var S = m;
+ if (S.vGraphObject != null) {
+ var T = S.vGraphObject;
+ T.update(S);
+ }
+ }
+ }),
+ (p.prototype.initParameters = function () {
+ this.isSubLayout ||
+ ((this.layoutQuality = i.QUALITY),
+ (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT),
+ (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD),
+ (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT),
+ (this.incremental = i.DEFAULT_INCREMENTAL),
+ (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED),
+ (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES)),
+ this.animationDuringLayout && (this.animationOnLayout = !1);
+ }),
+ (p.prototype.transform = function (m) {
+ if (m == null) this.transform(new h(0, 0));
+ else {
+ var g = new f(),
+ y = this.graphManager.getRoot().updateLeftTop();
+ if (y != null) {
+ g.setWorldOrgX(m.x),
+ g.setWorldOrgY(m.y),
+ g.setDeviceOrgX(y.x),
+ g.setDeviceOrgY(y.y);
+ for (var v = this.getAllNodes(), x, b = 0; b < v.length; b++)
+ (x = v[b]), x.transform(g);
+ }
+ }
+ }),
+ (p.prototype.positionNodesRandomly = function (m) {
+ if (m == null)
+ this.positionNodesRandomly(this.getGraphManager().getRoot()),
+ this.getGraphManager().getRoot().updateBounds(!0);
+ else
+ for (var g, y, v = m.getNodes(), x = 0; x < v.length; x++)
+ (g = v[x]),
+ (y = g.getChild()),
+ y == null || y.getNodes().length == 0
+ ? g.scatter()
+ : (this.positionNodesRandomly(y), g.updateBounds());
+ }),
+ (p.prototype.getFlatForest = function () {
+ for (
+ var m = [], g = !0, y = this.graphManager.getRoot().getNodes(), v = !0, x = 0;
+ x < y.length;
+ x++
+ )
+ y[x].getChild() != null && (v = !1);
+ if (!v) return m;
+ var b = new Set(),
+ w = [],
+ S = new Map(),
+ T = [];
+ for (T = T.concat(y); T.length > 0 && g; ) {
+ for (w.push(T[0]); w.length > 0 && g; ) {
+ var E = w[0];
+ w.splice(0, 1), b.add(E);
+ for (var _ = E.getEdges(), x = 0; x < _.length; x++) {
+ var A = _[x].getOtherEnd(E);
+ if (S.get(E) != A)
+ if (!b.has(A)) w.push(A), S.set(A, E);
+ else {
+ g = !1;
+ break;
+ }
+ }
+ }
+ if (!g) m = [];
+ else {
+ var L = [].concat(n(b));
+ m.push(L);
+ for (var x = 0; x < L.length; x++) {
+ var M = L[x],
+ N = T.indexOf(M);
+ N > -1 && T.splice(N, 1);
+ }
+ (b = new Set()), (S = new Map());
+ }
+ }
+ return m;
+ }),
+ (p.prototype.createDummyNodesForBendpoints = function (m) {
+ for (
+ var g = [],
+ y = m.source,
+ v = this.graphManager.calcLowestCommonAncestor(m.source, m.target),
+ x = 0;
+ x < m.bendpoints.length;
+ x++
+ ) {
+ var b = this.newNode(null);
+ b.setRect(new Point(0, 0), new Dimension(1, 1)), v.add(b);
+ var w = this.newEdge(null);
+ this.graphManager.add(w, y, b), g.add(b), (y = b);
+ }
+ var w = this.newEdge(null);
+ return (
+ this.graphManager.add(w, y, m.target),
+ this.edgeToDummyNodes.set(m, g),
+ m.isInterGraph() ? this.graphManager.remove(m) : v.remove(m),
+ g
+ );
+ }),
+ (p.prototype.createBendpointsFromDummyNodes = function () {
+ var m = [];
+ (m = m.concat(this.graphManager.getAllEdges())),
+ (m = [].concat(n(this.edgeToDummyNodes.keys())).concat(m));
+ for (var g = 0; g < m.length; g++) {
+ var y = m[g];
+ if (y.bendpoints.length > 0) {
+ for (var v = this.edgeToDummyNodes.get(y), x = 0; x < v.length; x++) {
+ var b = v[x],
+ w = new h(b.getCenterX(), b.getCenterY()),
+ S = y.bendpoints.get(x);
+ (S.x = w.x), (S.y = w.y), b.getOwner().remove(b);
+ }
+ this.graphManager.add(y, y.source, y.target);
+ }
+ }
+ }),
+ (p.transform = function (m, g, y, v) {
+ if (y != null && v != null) {
+ var x = g;
+ if (m <= 50) {
+ var b = g / y;
+ x -= ((g - b) / 50) * (50 - m);
+ } else {
+ var w = g * v;
+ x += ((w - g) / 50) * (m - 50);
+ }
+ return x;
+ } else {
+ var S, T;
+ return (
+ m <= 50 ? ((S = (9 * g) / 500), (T = g / 10)) : ((S = (9 * g) / 50), (T = -8 * g)),
+ S * m + T
+ );
+ }
+ }),
+ (p.findCenterOfTree = function (m) {
+ var g = [];
+ g = g.concat(m);
+ var y = [],
+ v = new Map(),
+ x = !1,
+ b = null;
+ (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0]));
+ for (var w = 0; w < g.length; w++) {
+ var S = g[w],
+ T = S.getNeighborsList().size;
+ v.set(S, S.getNeighborsList().size), T == 1 && y.push(S);
+ }
+ var E = [];
+ for (E = E.concat(y); !x; ) {
+ var _ = [];
+ (_ = _.concat(E)), (E = []);
+ for (var w = 0; w < g.length; w++) {
+ var S = g[w],
+ A = g.indexOf(S);
+ A >= 0 && g.splice(A, 1);
+ var L = S.getNeighborsList();
+ L.forEach(function (k) {
+ if (y.indexOf(k) < 0) {
+ var I = v.get(k),
+ C = I - 1;
+ C == 1 && E.push(k), v.set(k, C);
+ }
+ });
+ }
+ (y = y.concat(E)), (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0]));
+ }
+ return b;
+ }),
+ (p.prototype.setGraphManager = function (m) {
+ this.graphManager = m;
+ }),
+ (t.exports = p);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'RandomSeed'),
+ (n.seed = 1),
+ (n.x = 0),
+ (n.nextDouble = function () {
+ return (n.x = Math.sin(n.seed++) * 1e4), n.x - Math.floor(n.x);
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(4);
+ function i(a, s) {
+ (this.lworldOrgX = 0),
+ (this.lworldOrgY = 0),
+ (this.ldeviceOrgX = 0),
+ (this.ldeviceOrgY = 0),
+ (this.lworldExtX = 1),
+ (this.lworldExtY = 1),
+ (this.ldeviceExtX = 1),
+ (this.ldeviceExtY = 1);
+ }
+ o(i, 'Transform'),
+ (i.prototype.getWorldOrgX = function () {
+ return this.lworldOrgX;
+ }),
+ (i.prototype.setWorldOrgX = function (a) {
+ this.lworldOrgX = a;
+ }),
+ (i.prototype.getWorldOrgY = function () {
+ return this.lworldOrgY;
+ }),
+ (i.prototype.setWorldOrgY = function (a) {
+ this.lworldOrgY = a;
+ }),
+ (i.prototype.getWorldExtX = function () {
+ return this.lworldExtX;
+ }),
+ (i.prototype.setWorldExtX = function (a) {
+ this.lworldExtX = a;
+ }),
+ (i.prototype.getWorldExtY = function () {
+ return this.lworldExtY;
+ }),
+ (i.prototype.setWorldExtY = function (a) {
+ this.lworldExtY = a;
+ }),
+ (i.prototype.getDeviceOrgX = function () {
+ return this.ldeviceOrgX;
+ }),
+ (i.prototype.setDeviceOrgX = function (a) {
+ this.ldeviceOrgX = a;
+ }),
+ (i.prototype.getDeviceOrgY = function () {
+ return this.ldeviceOrgY;
+ }),
+ (i.prototype.setDeviceOrgY = function (a) {
+ this.ldeviceOrgY = a;
+ }),
+ (i.prototype.getDeviceExtX = function () {
+ return this.ldeviceExtX;
+ }),
+ (i.prototype.setDeviceExtX = function (a) {
+ this.ldeviceExtX = a;
+ }),
+ (i.prototype.getDeviceExtY = function () {
+ return this.ldeviceExtY;
+ }),
+ (i.prototype.setDeviceExtY = function (a) {
+ this.ldeviceExtY = a;
+ }),
+ (i.prototype.transformX = function (a) {
+ var s = 0,
+ l = this.lworldExtX;
+ return l != 0 && (s = this.ldeviceOrgX + ((a - this.lworldOrgX) * this.ldeviceExtX) / l), s;
+ }),
+ (i.prototype.transformY = function (a) {
+ var s = 0,
+ l = this.lworldExtY;
+ return l != 0 && (s = this.ldeviceOrgY + ((a - this.lworldOrgY) * this.ldeviceExtY) / l), s;
+ }),
+ (i.prototype.inverseTransformX = function (a) {
+ var s = 0,
+ l = this.ldeviceExtX;
+ return l != 0 && (s = this.lworldOrgX + ((a - this.ldeviceOrgX) * this.lworldExtX) / l), s;
+ }),
+ (i.prototype.inverseTransformY = function (a) {
+ var s = 0,
+ l = this.ldeviceExtY;
+ return l != 0 && (s = this.lworldOrgY + ((a - this.ldeviceOrgY) * this.lworldExtY) / l), s;
+ }),
+ (i.prototype.inverseTransformPoint = function (a) {
+ var s = new n(this.inverseTransformX(a.x), this.inverseTransformY(a.y));
+ return s;
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(d) {
+ if (Array.isArray(d)) {
+ for (var p = 0, m = Array(d.length); p < d.length; p++) m[p] = d[p];
+ return m;
+ } else return Array.from(d);
+ }
+ o(n, '_toConsumableArray');
+ var i = r(15),
+ a = r(7),
+ s = r(0),
+ l = r(8),
+ u = r(9);
+ function h() {
+ i.call(this),
+ (this.useSmartIdealEdgeLengthCalculation =
+ a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION),
+ (this.idealEdgeLength = a.DEFAULT_EDGE_LENGTH),
+ (this.springConstant = a.DEFAULT_SPRING_STRENGTH),
+ (this.repulsionConstant = a.DEFAULT_REPULSION_STRENGTH),
+ (this.gravityConstant = a.DEFAULT_GRAVITY_STRENGTH),
+ (this.compoundGravityConstant = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH),
+ (this.gravityRangeFactor = a.DEFAULT_GRAVITY_RANGE_FACTOR),
+ (this.compoundGravityRangeFactor = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR),
+ (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100),
+ (this.coolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL),
+ (this.initialCoolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL),
+ (this.totalDisplacement = 0),
+ (this.oldTotalDisplacement = 0),
+ (this.maxIterations = a.MAX_ITERATIONS);
+ }
+ o(h, 'FDLayout'), (h.prototype = Object.create(i.prototype));
+ for (var f in i) h[f] = i[f];
+ (h.prototype.initParameters = function () {
+ i.prototype.initParameters.call(this, arguments),
+ (this.totalIterations = 0),
+ (this.notAnimatedIterations = 0),
+ (this.useFRGridVariant = a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION),
+ (this.grid = []);
+ }),
+ (h.prototype.calcIdealEdgeLengths = function () {
+ for (
+ var d, p, m, g, y, v, x = this.getGraphManager().getAllEdges(), b = 0;
+ b < x.length;
+ b++
+ )
+ (d = x[b]),
+ (d.idealLength = this.idealEdgeLength),
+ d.isInterGraph &&
+ ((m = d.getSource()),
+ (g = d.getTarget()),
+ (y = d.getSourceInLca().getEstimatedSize()),
+ (v = d.getTargetInLca().getEstimatedSize()),
+ this.useSmartIdealEdgeLengthCalculation &&
+ (d.idealLength += y + v - 2 * s.SIMPLE_NODE_SIZE),
+ (p = d.getLca().getInclusionTreeDepth()),
+ (d.idealLength +=
+ a.DEFAULT_EDGE_LENGTH *
+ a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR *
+ (m.getInclusionTreeDepth() + g.getInclusionTreeDepth() - 2 * p)));
+ }),
+ (h.prototype.initSpringEmbedder = function () {
+ var d = this.getAllNodes().length;
+ this.incremental
+ ? (d > a.ADAPTATION_LOWER_NODE_LIMIT &&
+ (this.coolingFactor = Math.max(
+ this.coolingFactor * a.COOLING_ADAPTATION_FACTOR,
+ this.coolingFactor -
+ ((d - a.ADAPTATION_LOWER_NODE_LIMIT) /
+ (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) *
+ this.coolingFactor *
+ (1 - a.COOLING_ADAPTATION_FACTOR)
+ )),
+ (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT_INCREMENTAL))
+ : (d > a.ADAPTATION_LOWER_NODE_LIMIT
+ ? (this.coolingFactor = Math.max(
+ a.COOLING_ADAPTATION_FACTOR,
+ 1 -
+ ((d - a.ADAPTATION_LOWER_NODE_LIMIT) /
+ (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) *
+ (1 - a.COOLING_ADAPTATION_FACTOR)
+ ))
+ : (this.coolingFactor = 1),
+ (this.initialCoolingFactor = this.coolingFactor),
+ (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT)),
+ (this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations)),
+ (this.totalDisplacementThreshold =
+ this.displacementThresholdPerNode * this.getAllNodes().length),
+ (this.repulsionRange = this.calcRepulsionRange());
+ }),
+ (h.prototype.calcSpringForces = function () {
+ for (var d = this.getAllEdges(), p, m = 0; m < d.length; m++)
+ (p = d[m]), this.calcSpringForce(p, p.idealLength);
+ }),
+ (h.prototype.calcRepulsionForces = function () {
+ var d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0,
+ p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1,
+ m,
+ g,
+ y,
+ v,
+ x = this.getAllNodes(),
+ b;
+ if (this.useFRGridVariant)
+ for (
+ this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 &&
+ d &&
+ this.updateGrid(),
+ b = new Set(),
+ m = 0;
+ m < x.length;
+ m++
+ )
+ (y = x[m]), this.calculateRepulsionForceOfANode(y, b, d, p), b.add(y);
+ else
+ for (m = 0; m < x.length; m++)
+ for (y = x[m], g = m + 1; g < x.length; g++)
+ (v = x[g]), y.getOwner() == v.getOwner() && this.calcRepulsionForce(y, v);
+ }),
+ (h.prototype.calcGravitationalForces = function () {
+ for (var d, p = this.getAllNodesToApplyGravitation(), m = 0; m < p.length; m++)
+ (d = p[m]), this.calcGravitationalForce(d);
+ }),
+ (h.prototype.moveNodes = function () {
+ for (var d = this.getAllNodes(), p, m = 0; m < d.length; m++) (p = d[m]), p.move();
+ }),
+ (h.prototype.calcSpringForce = function (d, p) {
+ var m = d.getSource(),
+ g = d.getTarget(),
+ y,
+ v,
+ x,
+ b;
+ if (this.uniformLeafNodeSizes && m.getChild() == null && g.getChild() == null)
+ d.updateLengthSimple();
+ else if ((d.updateLength(), d.isOverlapingSourceAndTarget)) return;
+ (y = d.getLength()),
+ y != 0 &&
+ ((v = this.springConstant * (y - p)),
+ (x = v * (d.lengthX / y)),
+ (b = v * (d.lengthY / y)),
+ (m.springForceX += x),
+ (m.springForceY += b),
+ (g.springForceX -= x),
+ (g.springForceY -= b));
+ }),
+ (h.prototype.calcRepulsionForce = function (d, p) {
+ var m = d.getRect(),
+ g = p.getRect(),
+ y = new Array(2),
+ v = new Array(4),
+ x,
+ b,
+ w,
+ S,
+ T,
+ E,
+ _;
+ if (m.intersects(g)) {
+ l.calcSeparationAmount(m, g, y, a.DEFAULT_EDGE_LENGTH / 2),
+ (E = 2 * y[0]),
+ (_ = 2 * y[1]);
+ var A = (d.noOfChildren * p.noOfChildren) / (d.noOfChildren + p.noOfChildren);
+ (d.repulsionForceX -= A * E),
+ (d.repulsionForceY -= A * _),
+ (p.repulsionForceX += A * E),
+ (p.repulsionForceY += A * _);
+ } else
+ this.uniformLeafNodeSizes && d.getChild() == null && p.getChild() == null
+ ? ((x = g.getCenterX() - m.getCenterX()), (b = g.getCenterY() - m.getCenterY()))
+ : (l.getIntersection(m, g, v), (x = v[2] - v[0]), (b = v[3] - v[1])),
+ Math.abs(x) < a.MIN_REPULSION_DIST && (x = u.sign(x) * a.MIN_REPULSION_DIST),
+ Math.abs(b) < a.MIN_REPULSION_DIST && (b = u.sign(b) * a.MIN_REPULSION_DIST),
+ (w = x * x + b * b),
+ (S = Math.sqrt(w)),
+ (T = (this.repulsionConstant * d.noOfChildren * p.noOfChildren) / w),
+ (E = (T * x) / S),
+ (_ = (T * b) / S),
+ (d.repulsionForceX -= E),
+ (d.repulsionForceY -= _),
+ (p.repulsionForceX += E),
+ (p.repulsionForceY += _);
+ }),
+ (h.prototype.calcGravitationalForce = function (d) {
+ var p, m, g, y, v, x, b, w;
+ (p = d.getOwner()),
+ (m = (p.getRight() + p.getLeft()) / 2),
+ (g = (p.getTop() + p.getBottom()) / 2),
+ (y = d.getCenterX() - m),
+ (v = d.getCenterY() - g),
+ (x = Math.abs(y) + d.getWidth() / 2),
+ (b = Math.abs(v) + d.getHeight() / 2),
+ d.getOwner() == this.graphManager.getRoot()
+ ? ((w = p.getEstimatedSize() * this.gravityRangeFactor),
+ (x > w || b > w) &&
+ ((d.gravitationForceX = -this.gravityConstant * y),
+ (d.gravitationForceY = -this.gravityConstant * v)))
+ : ((w = p.getEstimatedSize() * this.compoundGravityRangeFactor),
+ (x > w || b > w) &&
+ ((d.gravitationForceX =
+ -this.gravityConstant * y * this.compoundGravityConstant),
+ (d.gravitationForceY =
+ -this.gravityConstant * v * this.compoundGravityConstant)));
+ }),
+ (h.prototype.isConverged = function () {
+ var d,
+ p = !1;
+ return (
+ this.totalIterations > this.maxIterations / 3 &&
+ (p = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2),
+ (d = this.totalDisplacement < this.totalDisplacementThreshold),
+ (this.oldTotalDisplacement = this.totalDisplacement),
+ d || p
+ );
+ }),
+ (h.prototype.animate = function () {
+ this.animationDuringLayout &&
+ !this.isSubLayout &&
+ (this.notAnimatedIterations == this.animationPeriod
+ ? (this.update(), (this.notAnimatedIterations = 0))
+ : this.notAnimatedIterations++);
+ }),
+ (h.prototype.calcNoOfChildrenForAllNodes = function () {
+ for (var d, p = this.graphManager.getAllNodes(), m = 0; m < p.length; m++)
+ (d = p[m]), (d.noOfChildren = d.getNoOfChildren());
+ }),
+ (h.prototype.calcGrid = function (d) {
+ var p = 0,
+ m = 0;
+ (p = parseInt(Math.ceil((d.getRight() - d.getLeft()) / this.repulsionRange))),
+ (m = parseInt(Math.ceil((d.getBottom() - d.getTop()) / this.repulsionRange)));
+ for (var g = new Array(p), y = 0; y < p; y++) g[y] = new Array(m);
+ for (var y = 0; y < p; y++) for (var v = 0; v < m; v++) g[y][v] = new Array();
+ return g;
+ }),
+ (h.prototype.addNodeToGrid = function (d, p, m) {
+ var g = 0,
+ y = 0,
+ v = 0,
+ x = 0;
+ (g = parseInt(Math.floor((d.getRect().x - p) / this.repulsionRange))),
+ (y = parseInt(
+ Math.floor((d.getRect().width + d.getRect().x - p) / this.repulsionRange)
+ )),
+ (v = parseInt(Math.floor((d.getRect().y - m) / this.repulsionRange))),
+ (x = parseInt(
+ Math.floor((d.getRect().height + d.getRect().y - m) / this.repulsionRange)
+ ));
+ for (var b = g; b <= y; b++)
+ for (var w = v; w <= x; w++) this.grid[b][w].push(d), d.setGridCoordinates(g, y, v, x);
+ }),
+ (h.prototype.updateGrid = function () {
+ var d,
+ p,
+ m = this.getAllNodes();
+ for (this.grid = this.calcGrid(this.graphManager.getRoot()), d = 0; d < m.length; d++)
+ (p = m[d]),
+ this.addNodeToGrid(
+ p,
+ this.graphManager.getRoot().getLeft(),
+ this.graphManager.getRoot().getTop()
+ );
+ }),
+ (h.prototype.calculateRepulsionForceOfANode = function (d, p, m, g) {
+ if ((this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && m) || g) {
+ var y = new Set();
+ d.surrounding = new Array();
+ for (var v, x = this.grid, b = d.startX - 1; b < d.finishX + 2; b++)
+ for (var w = d.startY - 1; w < d.finishY + 2; w++)
+ if (!(b < 0 || w < 0 || b >= x.length || w >= x[0].length)) {
+ for (var S = 0; S < x[b][w].length; S++)
+ if (
+ ((v = x[b][w][S]),
+ !(d.getOwner() != v.getOwner() || d == v) && !p.has(v) && !y.has(v))
+ ) {
+ var T =
+ Math.abs(d.getCenterX() - v.getCenterX()) -
+ (d.getWidth() / 2 + v.getWidth() / 2),
+ E =
+ Math.abs(d.getCenterY() - v.getCenterY()) -
+ (d.getHeight() / 2 + v.getHeight() / 2);
+ T <= this.repulsionRange && E <= this.repulsionRange && y.add(v);
+ }
+ }
+ d.surrounding = [].concat(n(y));
+ }
+ for (b = 0; b < d.surrounding.length; b++) this.calcRepulsionForce(d, d.surrounding[b]);
+ }),
+ (h.prototype.calcRepulsionRange = function () {
+ return 0;
+ }),
+ (t.exports = h);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(1),
+ i = r(7);
+ function a(l, u, h) {
+ n.call(this, l, u, h), (this.idealLength = i.DEFAULT_EDGE_LENGTH);
+ }
+ o(a, 'FDLayoutEdge'), (a.prototype = Object.create(n.prototype));
+ for (var s in n) a[s] = n[s];
+ t.exports = a;
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(3);
+ function i(s, l, u, h) {
+ n.call(this, s, l, u, h),
+ (this.springForceX = 0),
+ (this.springForceY = 0),
+ (this.repulsionForceX = 0),
+ (this.repulsionForceY = 0),
+ (this.gravitationForceX = 0),
+ (this.gravitationForceY = 0),
+ (this.displacementX = 0),
+ (this.displacementY = 0),
+ (this.startX = 0),
+ (this.finishX = 0),
+ (this.startY = 0),
+ (this.finishY = 0),
+ (this.surrounding = []);
+ }
+ o(i, 'FDLayoutNode'), (i.prototype = Object.create(n.prototype));
+ for (var a in n) i[a] = n[a];
+ (i.prototype.setGridCoordinates = function (s, l, u, h) {
+ (this.startX = s), (this.finishX = l), (this.startY = u), (this.finishY = h);
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a) {
+ (this.width = 0),
+ (this.height = 0),
+ i !== null && a !== null && ((this.height = a), (this.width = i));
+ }
+ o(n, 'DimensionD'),
+ (n.prototype.getWidth = function () {
+ return this.width;
+ }),
+ (n.prototype.setWidth = function (i) {
+ this.width = i;
+ }),
+ (n.prototype.getHeight = function () {
+ return this.height;
+ }),
+ (n.prototype.setHeight = function (i) {
+ this.height = i;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(14);
+ function i() {
+ (this.map = {}), (this.keys = []);
+ }
+ o(i, 'HashMap'),
+ (i.prototype.put = function (a, s) {
+ var l = n.createID(a);
+ this.contains(l) || ((this.map[l] = s), this.keys.push(a));
+ }),
+ (i.prototype.contains = function (a) {
+ var s = n.createID(a);
+ return this.map[a] != null;
+ }),
+ (i.prototype.get = function (a) {
+ var s = n.createID(a);
+ return this.map[s];
+ }),
+ (i.prototype.keySet = function () {
+ return this.keys;
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(14);
+ function i() {
+ this.set = {};
+ }
+ o(i, 'HashSet'),
+ (i.prototype.add = function (a) {
+ var s = n.createID(a);
+ this.contains(s) || (this.set[s] = a);
+ }),
+ (i.prototype.remove = function (a) {
+ delete this.set[n.createID(a)];
+ }),
+ (i.prototype.clear = function () {
+ this.set = {};
+ }),
+ (i.prototype.contains = function (a) {
+ return this.set[n.createID(a)] == a;
+ }),
+ (i.prototype.isEmpty = function () {
+ return this.size() === 0;
+ }),
+ (i.prototype.size = function () {
+ return Object.keys(this.set).length;
+ }),
+ (i.prototype.addAllTo = function (a) {
+ for (var s = Object.keys(this.set), l = s.length, u = 0; u < l; u++) a.push(this.set[s[u]]);
+ }),
+ (i.prototype.size = function () {
+ return Object.keys(this.set).length;
+ }),
+ (i.prototype.addAll = function (a) {
+ for (var s = a.length, l = 0; l < s; l++) {
+ var u = a[l];
+ this.add(u);
+ }
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function l(u, h) {
+ for (var f = 0; f < h.length; f++) {
+ var d = h[f];
+ (d.enumerable = d.enumerable || !1),
+ (d.configurable = !0),
+ 'value' in d && (d.writable = !0),
+ Object.defineProperty(u, d.key, d);
+ }
+ }
+ return (
+ o(l, 'defineProperties'),
+ function (u, h, f) {
+ return h && l(u.prototype, h), f && l(u, f), u;
+ }
+ );
+ })();
+ function i(l, u) {
+ if (!(l instanceof u)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = r(11),
+ s = (function () {
+ function l(u, h) {
+ i(this, l),
+ (h !== null || h !== void 0) &&
+ (this.compareFunction = this._defaultCompareFunction);
+ var f = void 0;
+ u instanceof a ? (f = u.size()) : (f = u.length), this._quicksort(u, 0, f - 1);
+ }
+ return (
+ o(l, 'Quicksort'),
+ n(l, [
+ {
+ key: '_quicksort',
+ value: o(function (h, f, d) {
+ if (f < d) {
+ var p = this._partition(h, f, d);
+ this._quicksort(h, f, p), this._quicksort(h, p + 1, d);
+ }
+ }, '_quicksort')
+ },
+ {
+ key: '_partition',
+ value: o(function (h, f, d) {
+ for (var p = this._get(h, f), m = f, g = d; ; ) {
+ for (; this.compareFunction(p, this._get(h, g)); ) g--;
+ for (; this.compareFunction(this._get(h, m), p); ) m++;
+ if (m < g) this._swap(h, m, g), m++, g--;
+ else return g;
+ }
+ }, '_partition')
+ },
+ {
+ key: '_get',
+ value: o(function (h, f) {
+ return h instanceof a ? h.get_object_at(f) : h[f];
+ }, '_get')
+ },
+ {
+ key: '_set',
+ value: o(function (h, f, d) {
+ h instanceof a ? h.set_object_at(f, d) : (h[f] = d);
+ }, '_set')
+ },
+ {
+ key: '_swap',
+ value: o(function (h, f, d) {
+ var p = this._get(h, f);
+ this._set(h, f, this._get(h, d)), this._set(h, d, p);
+ }, '_swap')
+ },
+ {
+ key: '_defaultCompareFunction',
+ value: o(function (h, f) {
+ return f > h;
+ }, '_defaultCompareFunction')
+ }
+ ]),
+ l
+ );
+ })();
+ t.exports = s;
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function s(l, u) {
+ for (var h = 0; h < u.length; h++) {
+ var f = u[h];
+ (f.enumerable = f.enumerable || !1),
+ (f.configurable = !0),
+ 'value' in f && (f.writable = !0),
+ Object.defineProperty(l, f.key, f);
+ }
+ }
+ return (
+ o(s, 'defineProperties'),
+ function (l, u, h) {
+ return u && s(l.prototype, u), h && s(l, h), l;
+ }
+ );
+ })();
+ function i(s, l) {
+ if (!(s instanceof l)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = (function () {
+ function s(l, u) {
+ var h = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1,
+ f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1,
+ d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1;
+ i(this, s),
+ (this.sequence1 = l),
+ (this.sequence2 = u),
+ (this.match_score = h),
+ (this.mismatch_penalty = f),
+ (this.gap_penalty = d),
+ (this.iMax = l.length + 1),
+ (this.jMax = u.length + 1),
+ (this.grid = new Array(this.iMax));
+ for (var p = 0; p < this.iMax; p++) {
+ this.grid[p] = new Array(this.jMax);
+ for (var m = 0; m < this.jMax; m++) this.grid[p][m] = 0;
+ }
+ this.tracebackGrid = new Array(this.iMax);
+ for (var g = 0; g < this.iMax; g++) {
+ this.tracebackGrid[g] = new Array(this.jMax);
+ for (var y = 0; y < this.jMax; y++) this.tracebackGrid[g][y] = [null, null, null];
+ }
+ (this.alignments = []), (this.score = -1), this.computeGrids();
+ }
+ return (
+ o(s, 'NeedlemanWunsch'),
+ n(s, [
+ {
+ key: 'getScore',
+ value: o(function () {
+ return this.score;
+ }, 'getScore')
+ },
+ {
+ key: 'getAlignments',
+ value: o(function () {
+ return this.alignments;
+ }, 'getAlignments')
+ },
+ {
+ key: 'computeGrids',
+ value: o(function () {
+ for (var u = 1; u < this.jMax; u++)
+ (this.grid[0][u] = this.grid[0][u - 1] + this.gap_penalty),
+ (this.tracebackGrid[0][u] = [!1, !1, !0]);
+ for (var h = 1; h < this.iMax; h++)
+ (this.grid[h][0] = this.grid[h - 1][0] + this.gap_penalty),
+ (this.tracebackGrid[h][0] = [!1, !0, !1]);
+ for (var f = 1; f < this.iMax; f++)
+ for (var d = 1; d < this.jMax; d++) {
+ var p = void 0;
+ this.sequence1[f - 1] === this.sequence2[d - 1]
+ ? (p = this.grid[f - 1][d - 1] + this.match_score)
+ : (p = this.grid[f - 1][d - 1] + this.mismatch_penalty);
+ var m = this.grid[f - 1][d] + this.gap_penalty,
+ g = this.grid[f][d - 1] + this.gap_penalty,
+ y = [p, m, g],
+ v = this.arrayAllMaxIndexes(y);
+ (this.grid[f][d] = y[v[0]]),
+ (this.tracebackGrid[f][d] = [
+ v.includes(0),
+ v.includes(1),
+ v.includes(2)
+ ]);
+ }
+ this.score = this.grid[this.iMax - 1][this.jMax - 1];
+ }, 'computeGrids')
+ },
+ {
+ key: 'alignmentTraceback',
+ value: o(function () {
+ var u = [];
+ for (
+ u.push({
+ pos: [this.sequence1.length, this.sequence2.length],
+ seq1: '',
+ seq2: ''
+ });
+ u[0];
+
+ ) {
+ var h = u[0],
+ f = this.tracebackGrid[h.pos[0]][h.pos[1]];
+ f[0] &&
+ u.push({
+ pos: [h.pos[0] - 1, h.pos[1] - 1],
+ seq1: this.sequence1[h.pos[0] - 1] + h.seq1,
+ seq2: this.sequence2[h.pos[1] - 1] + h.seq2
+ }),
+ f[1] &&
+ u.push({
+ pos: [h.pos[0] - 1, h.pos[1]],
+ seq1: this.sequence1[h.pos[0] - 1] + h.seq1,
+ seq2: '-' + h.seq2
+ }),
+ f[2] &&
+ u.push({
+ pos: [h.pos[0], h.pos[1] - 1],
+ seq1: '-' + h.seq1,
+ seq2: this.sequence2[h.pos[1] - 1] + h.seq2
+ }),
+ h.pos[0] === 0 &&
+ h.pos[1] === 0 &&
+ this.alignments.push({
+ sequence1: h.seq1,
+ sequence2: h.seq2
+ }),
+ u.shift();
+ }
+ return this.alignments;
+ }, 'alignmentTraceback')
+ },
+ {
+ key: 'getAllIndexes',
+ value: o(function (u, h) {
+ for (var f = [], d = -1; (d = u.indexOf(h, d + 1)) !== -1; ) f.push(d);
+ return f;
+ }, 'getAllIndexes')
+ },
+ {
+ key: 'arrayAllMaxIndexes',
+ value: o(function (u) {
+ return this.getAllIndexes(u, Math.max.apply(null, u));
+ }, 'arrayAllMaxIndexes')
+ }
+ ]),
+ s
+ );
+ })();
+ t.exports = a;
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = o(function () {}, 'layoutBase');
+ (n.FDLayout = r(18)),
+ (n.FDLayoutConstants = r(7)),
+ (n.FDLayoutEdge = r(19)),
+ (n.FDLayoutNode = r(20)),
+ (n.DimensionD = r(21)),
+ (n.HashMap = r(22)),
+ (n.HashSet = r(23)),
+ (n.IGeometry = r(8)),
+ (n.IMath = r(9)),
+ (n.Integer = r(10)),
+ (n.Point = r(12)),
+ (n.PointD = r(4)),
+ (n.RandomSeed = r(16)),
+ (n.RectangleD = r(13)),
+ (n.Transform = r(17)),
+ (n.UniqueIDGeneretor = r(14)),
+ (n.Quicksort = r(24)),
+ (n.LinkedList = r(11)),
+ (n.LGraphObject = r(2)),
+ (n.LGraph = r(5)),
+ (n.LEdge = r(1)),
+ (n.LGraphManager = r(6)),
+ (n.LNode = r(3)),
+ (n.Layout = r(15)),
+ (n.LayoutConstants = r(0)),
+ (n.NeedlemanWunsch = r(25)),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {
+ this.listeners = [];
+ }
+ o(n, 'Emitter');
+ var i = n.prototype;
+ (i.addListener = function (a, s) {
+ this.listeners.push({ event: a, callback: s });
+ }),
+ (i.removeListener = function (a, s) {
+ for (var l = this.listeners.length; l >= 0; l--) {
+ var u = this.listeners[l];
+ u.event === a && u.callback === s && this.listeners.splice(l, 1);
+ }
+ }),
+ (i.emit = function (a, s) {
+ for (var l = 0; l < this.listeners.length; l++) {
+ var u = this.listeners[l];
+ a === u.event && u.callback(s);
+ }
+ }),
+ (t.exports = n);
+ }
+ ]);
+ });
+ });
+ var TB = gi((ob, wB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof ob == 'object' && typeof wB == 'object'
+ ? (wB.exports = r(bB()))
+ : typeof define == 'function' && define.amd
+ ? define(['layout-base'], r)
+ : typeof ob == 'object'
+ ? (ob.coseBase = r(bB()))
+ : (e.coseBase = r(e.layoutBase));
+ }, 'webpackUniversalModuleDefinition')(ob, function (t) {
+ return (function (e) {
+ var r = {};
+ function n(i) {
+ if (r[i]) return r[i].exports;
+ var a = (r[i] = { i, l: !1, exports: {} });
+ return e[i].call(a.exports, a, a.exports, n), (a.l = !0), a.exports;
+ }
+ return (
+ o(n, '__webpack_require__'),
+ (n.m = e),
+ (n.c = r),
+ (n.i = function (i) {
+ return i;
+ }),
+ (n.d = function (i, a, s) {
+ n.o(i, a) ||
+ Object.defineProperty(i, a, {
+ configurable: !1,
+ enumerable: !0,
+ get: s
+ });
+ }),
+ (n.n = function (i) {
+ var a =
+ i && i.__esModule
+ ? o(function () {
+ return i.default;
+ }, 'getDefault')
+ : o(function () {
+ return i;
+ }, 'getModuleExports');
+ return n.d(a, 'a', a), a;
+ }),
+ (n.o = function (i, a) {
+ return Object.prototype.hasOwnProperty.call(i, a);
+ }),
+ (n.p = ''),
+ n((n.s = 7))
+ );
+ })([
+ function (e, r) {
+ e.exports = t;
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).FDLayoutConstants;
+ function a() {}
+ o(a, 'CoSEConstants');
+ for (var s in i) a[s] = i[s];
+ (a.DEFAULT_USE_MULTI_LEVEL_SCALING = !1),
+ (a.DEFAULT_RADIAL_SEPARATION = i.DEFAULT_EDGE_LENGTH),
+ (a.DEFAULT_COMPONENT_SEPERATION = 60),
+ (a.TILE = !0),
+ (a.TILING_PADDING_VERTICAL = 10),
+ (a.TILING_PADDING_HORIZONTAL = 10),
+ (a.TREE_REDUCTION_ON_INCREMENTAL = !1),
+ (e.exports = a);
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).FDLayoutEdge;
+ function a(l, u, h) {
+ i.call(this, l, u, h);
+ }
+ o(a, 'CoSEEdge'), (a.prototype = Object.create(i.prototype));
+ for (var s in i) a[s] = i[s];
+ e.exports = a;
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).LGraph;
+ function a(l, u, h) {
+ i.call(this, l, u, h);
+ }
+ o(a, 'CoSEGraph'), (a.prototype = Object.create(i.prototype));
+ for (var s in i) a[s] = i[s];
+ e.exports = a;
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).LGraphManager;
+ function a(l) {
+ i.call(this, l);
+ }
+ o(a, 'CoSEGraphManager'), (a.prototype = Object.create(i.prototype));
+ for (var s in i) a[s] = i[s];
+ e.exports = a;
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).FDLayoutNode,
+ a = n(0).IMath;
+ function s(u, h, f, d) {
+ i.call(this, u, h, f, d);
+ }
+ o(s, 'CoSENode'), (s.prototype = Object.create(i.prototype));
+ for (var l in i) s[l] = i[l];
+ (s.prototype.move = function () {
+ var u = this.graphManager.getLayout();
+ (this.displacementX =
+ (u.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX)) /
+ this.noOfChildren),
+ (this.displacementY =
+ (u.coolingFactor *
+ (this.springForceY + this.repulsionForceY + this.gravitationForceY)) /
+ this.noOfChildren),
+ Math.abs(this.displacementX) > u.coolingFactor * u.maxNodeDisplacement &&
+ (this.displacementX =
+ u.coolingFactor * u.maxNodeDisplacement * a.sign(this.displacementX)),
+ Math.abs(this.displacementY) > u.coolingFactor * u.maxNodeDisplacement &&
+ (this.displacementY =
+ u.coolingFactor * u.maxNodeDisplacement * a.sign(this.displacementY)),
+ this.child == null
+ ? this.moveBy(this.displacementX, this.displacementY)
+ : this.child.getNodes().length == 0
+ ? this.moveBy(this.displacementX, this.displacementY)
+ : this.propogateDisplacementToChildren(this.displacementX, this.displacementY),
+ (u.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY)),
+ (this.springForceX = 0),
+ (this.springForceY = 0),
+ (this.repulsionForceX = 0),
+ (this.repulsionForceY = 0),
+ (this.gravitationForceX = 0),
+ (this.gravitationForceY = 0),
+ (this.displacementX = 0),
+ (this.displacementY = 0);
+ }),
+ (s.prototype.propogateDisplacementToChildren = function (u, h) {
+ for (var f = this.getChild().getNodes(), d, p = 0; p < f.length; p++)
+ (d = f[p]),
+ d.getChild() == null
+ ? (d.moveBy(u, h), (d.displacementX += u), (d.displacementY += h))
+ : d.propogateDisplacementToChildren(u, h);
+ }),
+ (s.prototype.setPred1 = function (u) {
+ this.pred1 = u;
+ }),
+ (s.prototype.getPred1 = function () {
+ return pred1;
+ }),
+ (s.prototype.getPred2 = function () {
+ return pred2;
+ }),
+ (s.prototype.setNext = function (u) {
+ this.next = u;
+ }),
+ (s.prototype.getNext = function () {
+ return next;
+ }),
+ (s.prototype.setProcessed = function (u) {
+ this.processed = u;
+ }),
+ (s.prototype.isProcessed = function () {
+ return processed;
+ }),
+ (e.exports = s);
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).FDLayout,
+ a = n(4),
+ s = n(3),
+ l = n(5),
+ u = n(2),
+ h = n(1),
+ f = n(0).FDLayoutConstants,
+ d = n(0).LayoutConstants,
+ p = n(0).Point,
+ m = n(0).PointD,
+ g = n(0).Layout,
+ y = n(0).Integer,
+ v = n(0).IGeometry,
+ x = n(0).LGraph,
+ b = n(0).Transform;
+ function w() {
+ i.call(this), (this.toBeTiled = {});
+ }
+ o(w, 'CoSELayout'), (w.prototype = Object.create(i.prototype));
+ for (var S in i) w[S] = i[S];
+ (w.prototype.newGraphManager = function () {
+ var T = new a(this);
+ return (this.graphManager = T), T;
+ }),
+ (w.prototype.newGraph = function (T) {
+ return new s(null, this.graphManager, T);
+ }),
+ (w.prototype.newNode = function (T) {
+ return new l(this.graphManager, T);
+ }),
+ (w.prototype.newEdge = function (T) {
+ return new u(null, null, T);
+ }),
+ (w.prototype.initParameters = function () {
+ i.prototype.initParameters.call(this, arguments),
+ this.isSubLayout ||
+ (h.DEFAULT_EDGE_LENGTH < 10
+ ? (this.idealEdgeLength = 10)
+ : (this.idealEdgeLength = h.DEFAULT_EDGE_LENGTH),
+ (this.useSmartIdealEdgeLengthCalculation =
+ h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION),
+ (this.springConstant = f.DEFAULT_SPRING_STRENGTH),
+ (this.repulsionConstant = f.DEFAULT_REPULSION_STRENGTH),
+ (this.gravityConstant = f.DEFAULT_GRAVITY_STRENGTH),
+ (this.compoundGravityConstant = f.DEFAULT_COMPOUND_GRAVITY_STRENGTH),
+ (this.gravityRangeFactor = f.DEFAULT_GRAVITY_RANGE_FACTOR),
+ (this.compoundGravityRangeFactor = f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR),
+ (this.prunedNodesAll = []),
+ (this.growTreeIterations = 0),
+ (this.afterGrowthIterations = 0),
+ (this.isTreeGrowing = !1),
+ (this.isGrowthFinished = !1),
+ (this.coolingCycle = 0),
+ (this.maxCoolingCycle = this.maxIterations / f.CONVERGENCE_CHECK_PERIOD),
+ (this.finalTemperature = f.CONVERGENCE_CHECK_PERIOD / this.maxIterations),
+ (this.coolingAdjuster = 1));
+ }),
+ (w.prototype.layout = function () {
+ var T = d.DEFAULT_CREATE_BENDS_AS_NEEDED;
+ return (
+ T && (this.createBendpoints(), this.graphManager.resetAllEdges()),
+ (this.level = 0),
+ this.classicLayout()
+ );
+ }),
+ (w.prototype.classicLayout = function () {
+ if (
+ ((this.nodesWithGravity = this.calculateNodesToApplyGravitationTo()),
+ this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),
+ this.calcNoOfChildrenForAllNodes(),
+ this.graphManager.calcLowestCommonAncestors(),
+ this.graphManager.calcInclusionTreeDepths(),
+ this.graphManager.getRoot().calcEstimatedSize(),
+ this.calcIdealEdgeLengths(),
+ this.incremental)
+ ) {
+ if (h.TREE_REDUCTION_ON_INCREMENTAL) {
+ this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation();
+ var E = new Set(this.getAllNodes()),
+ _ = this.nodesWithGravity.filter(function (M) {
+ return E.has(M);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(_);
+ }
+ } else {
+ var T = this.getFlatForest();
+ if (T.length > 0) this.positionNodesRadially(T);
+ else {
+ this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation();
+ var E = new Set(this.getAllNodes()),
+ _ = this.nodesWithGravity.filter(function (A) {
+ return E.has(A);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(_), this.positionNodesRandomly();
+ }
+ }
+ return this.initSpringEmbedder(), this.runSpringEmbedder(), !0;
+ }),
+ (w.prototype.tick = function () {
+ if (
+ (this.totalIterations++,
+ this.totalIterations === this.maxIterations &&
+ !this.isTreeGrowing &&
+ !this.isGrowthFinished)
+ )
+ if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0;
+ else return !0;
+ if (
+ this.totalIterations % f.CONVERGENCE_CHECK_PERIOD == 0 &&
+ !this.isTreeGrowing &&
+ !this.isGrowthFinished
+ ) {
+ if (this.isConverged())
+ if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0;
+ else return !0;
+ this.coolingCycle++,
+ this.layoutQuality == 0
+ ? (this.coolingAdjuster = this.coolingCycle)
+ : this.layoutQuality == 1 && (this.coolingAdjuster = this.coolingCycle / 3),
+ (this.coolingFactor = Math.max(
+ this.initialCoolingFactor -
+ (Math.pow(
+ this.coolingCycle,
+ Math.log(100 * (this.initialCoolingFactor - this.finalTemperature)) /
+ Math.log(this.maxCoolingCycle)
+ ) /
+ 100) *
+ this.coolingAdjuster,
+ this.finalTemperature
+ )),
+ (this.animationPeriod = Math.ceil(
+ this.initialAnimationPeriod * Math.sqrt(this.coolingFactor)
+ ));
+ }
+ if (this.isTreeGrowing) {
+ if (this.growTreeIterations % 10 == 0)
+ if (this.prunedNodesAll.length > 0) {
+ this.graphManager.updateBounds(),
+ this.updateGrid(),
+ this.growTree(this.prunedNodesAll),
+ this.graphManager.resetAllNodesToApplyGravitation();
+ var T = new Set(this.getAllNodes()),
+ E = this.nodesWithGravity.filter(function (L) {
+ return T.has(L);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(E),
+ this.graphManager.updateBounds(),
+ this.updateGrid(),
+ (this.coolingFactor = f.DEFAULT_COOLING_FACTOR_INCREMENTAL);
+ } else (this.isTreeGrowing = !1), (this.isGrowthFinished = !0);
+ this.growTreeIterations++;
+ }
+ if (this.isGrowthFinished) {
+ if (this.isConverged()) return !0;
+ this.afterGrowthIterations % 10 == 0 &&
+ (this.graphManager.updateBounds(), this.updateGrid()),
+ (this.coolingFactor =
+ f.DEFAULT_COOLING_FACTOR_INCREMENTAL *
+ ((100 - this.afterGrowthIterations) / 100)),
+ this.afterGrowthIterations++;
+ }
+ var _ = !this.isTreeGrowing && !this.isGrowthFinished,
+ A =
+ (this.growTreeIterations % 10 == 1 && this.isTreeGrowing) ||
+ (this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished);
+ return (
+ (this.totalDisplacement = 0),
+ this.graphManager.updateBounds(),
+ this.calcSpringForces(),
+ this.calcRepulsionForces(_, A),
+ this.calcGravitationalForces(),
+ this.moveNodes(),
+ this.animate(),
+ !1
+ );
+ }),
+ (w.prototype.getPositionsData = function () {
+ for (var T = this.graphManager.getAllNodes(), E = {}, _ = 0; _ < T.length; _++) {
+ var A = T[_].rect,
+ L = T[_].id;
+ E[L] = {
+ id: L,
+ x: A.getCenterX(),
+ y: A.getCenterY(),
+ w: A.width,
+ h: A.height
+ };
+ }
+ return E;
+ }),
+ (w.prototype.runSpringEmbedder = function () {
+ (this.initialAnimationPeriod = 25), (this.animationPeriod = this.initialAnimationPeriod);
+ var T = !1;
+ if (f.ANIMATE === 'during') this.emit('layoutstarted');
+ else {
+ for (; !T; ) T = this.tick();
+ this.graphManager.updateBounds();
+ }
+ }),
+ (w.prototype.calculateNodesToApplyGravitationTo = function () {
+ var T = [],
+ E,
+ _ = this.graphManager.getGraphs(),
+ A = _.length,
+ L;
+ for (L = 0; L < A; L++)
+ (E = _[L]), E.updateConnected(), E.isConnected || (T = T.concat(E.getNodes()));
+ return T;
+ }),
+ (w.prototype.createBendpoints = function () {
+ var T = [];
+ T = T.concat(this.graphManager.getAllEdges());
+ var E = new Set(),
+ _;
+ for (_ = 0; _ < T.length; _++) {
+ var A = T[_];
+ if (!E.has(A)) {
+ var L = A.getSource(),
+ M = A.getTarget();
+ if (L == M)
+ A.getBendpoints().push(new m()),
+ A.getBendpoints().push(new m()),
+ this.createDummyNodesForBendpoints(A),
+ E.add(A);
+ else {
+ var N = [];
+ if (
+ ((N = N.concat(L.getEdgeListToNode(M))),
+ (N = N.concat(M.getEdgeListToNode(L))),
+ !E.has(N[0]))
+ ) {
+ if (N.length > 1) {
+ var k;
+ for (k = 0; k < N.length; k++) {
+ var I = N[k];
+ I.getBendpoints().push(new m()),
+ this.createDummyNodesForBendpoints(I);
+ }
+ }
+ N.forEach(function (C) {
+ E.add(C);
+ });
+ }
+ }
+ }
+ if (E.size == T.length) break;
+ }
+ }),
+ (w.prototype.positionNodesRadially = function (T) {
+ for (
+ var E = new p(0, 0),
+ _ = Math.ceil(Math.sqrt(T.length)),
+ A = 0,
+ L = 0,
+ M = 0,
+ N = new m(0, 0),
+ k = 0;
+ k < T.length;
+ k++
+ ) {
+ k % _ == 0 &&
+ ((M = 0), (L = A), k != 0 && (L += h.DEFAULT_COMPONENT_SEPERATION), (A = 0));
+ var I = T[k],
+ C = g.findCenterOfTree(I);
+ (E.x = M),
+ (E.y = L),
+ (N = w.radialLayout(I, C, E)),
+ N.y > A && (A = Math.floor(N.y)),
+ (M = Math.floor(N.x + h.DEFAULT_COMPONENT_SEPERATION));
+ }
+ this.transform(new m(d.WORLD_CENTER_X - N.x / 2, d.WORLD_CENTER_Y - N.y / 2));
+ }),
+ (w.radialLayout = function (T, E, _) {
+ var A = Math.max(this.maxDiagonalInTree(T), h.DEFAULT_RADIAL_SEPARATION);
+ w.branchRadialLayout(E, null, 0, 359, 0, A);
+ var L = x.calculateBounds(T),
+ M = new b();
+ M.setDeviceOrgX(L.getMinX()),
+ M.setDeviceOrgY(L.getMinY()),
+ M.setWorldOrgX(_.x),
+ M.setWorldOrgY(_.y);
+ for (var N = 0; N < T.length; N++) {
+ var k = T[N];
+ k.transform(M);
+ }
+ var I = new m(L.getMaxX(), L.getMaxY());
+ return M.inverseTransformPoint(I);
+ }),
+ (w.branchRadialLayout = function (T, E, _, A, L, M) {
+ var N = (A - _ + 1) / 2;
+ N < 0 && (N += 180);
+ var k = (N + _) % 360,
+ I = (k * v.TWO_PI) / 360,
+ C = Math.cos(I),
+ O = L * Math.cos(I),
+ D = L * Math.sin(I);
+ T.setCenter(O, D);
+ var P = [];
+ P = P.concat(T.getEdges());
+ var F = P.length;
+ E != null && F--;
+ for (var B = 0, $ = P.length, z, Y = T.getEdgesBetween(E); Y.length > 1; ) {
+ var Q = Y[0];
+ Y.splice(0, 1);
+ var X = P.indexOf(Q);
+ X >= 0 && P.splice(X, 1), $--, F--;
+ }
+ E != null ? (z = (P.indexOf(Y[0]) + 1) % $) : (z = 0);
+ for (var ie = Math.abs(A - _) / F, j = z; B != F; j = ++j % $) {
+ var J = P[j].getOtherEnd(T);
+ if (J != E) {
+ var Z = (_ + B * ie) % 360,
+ H = (Z + ie) % 360;
+ w.branchRadialLayout(J, T, Z, H, L + M, M), B++;
+ }
+ }
+ }),
+ (w.maxDiagonalInTree = function (T) {
+ for (var E = y.MIN_VALUE, _ = 0; _ < T.length; _++) {
+ var A = T[_],
+ L = A.getDiagonal();
+ L > E && (E = L);
+ }
+ return E;
+ }),
+ (w.prototype.calcRepulsionRange = function () {
+ return 2 * (this.level + 1) * this.idealEdgeLength;
+ }),
+ (w.prototype.groupZeroDegreeMembers = function () {
+ var T = this,
+ E = {};
+ (this.memberGroups = {}), (this.idToDummyNode = {});
+ for (var _ = [], A = this.graphManager.getAllNodes(), L = 0; L < A.length; L++) {
+ var M = A[L],
+ N = M.getParent();
+ this.getNodeDegreeWithChildren(M) === 0 &&
+ (N.id == null || !this.getToBeTiled(N)) &&
+ _.push(M);
+ }
+ for (var L = 0; L < _.length; L++) {
+ var M = _[L],
+ k = M.getParent().id;
+ typeof E[k] > 'u' && (E[k] = []), (E[k] = E[k].concat(M));
+ }
+ Object.keys(E).forEach(function (I) {
+ if (E[I].length > 1) {
+ var C = 'DummyCompound_' + I;
+ T.memberGroups[C] = E[I];
+ var O = E[I][0].getParent(),
+ D = new l(T.graphManager);
+ (D.id = C),
+ (D.paddingLeft = O.paddingLeft || 0),
+ (D.paddingRight = O.paddingRight || 0),
+ (D.paddingBottom = O.paddingBottom || 0),
+ (D.paddingTop = O.paddingTop || 0),
+ (T.idToDummyNode[C] = D);
+ var P = T.getGraphManager().add(T.newGraph(), D),
+ F = O.getChild();
+ F.add(D);
+ for (var B = 0; B < E[I].length; B++) {
+ var $ = E[I][B];
+ F.remove($), P.add($);
+ }
+ }
+ });
+ }),
+ (w.prototype.clearCompounds = function () {
+ var T = {},
+ E = {};
+ this.performDFSOnCompounds();
+ for (var _ = 0; _ < this.compoundOrder.length; _++)
+ (E[this.compoundOrder[_].id] = this.compoundOrder[_]),
+ (T[this.compoundOrder[_].id] = [].concat(
+ this.compoundOrder[_].getChild().getNodes()
+ )),
+ this.graphManager.remove(this.compoundOrder[_].getChild()),
+ (this.compoundOrder[_].child = null);
+ this.graphManager.resetAllNodes(), this.tileCompoundMembers(T, E);
+ }),
+ (w.prototype.clearZeroDegreeMembers = function () {
+ var T = this,
+ E = (this.tiledZeroDegreePack = []);
+ Object.keys(this.memberGroups).forEach(function (_) {
+ var A = T.idToDummyNode[_];
+ (E[_] = T.tileNodes(T.memberGroups[_], A.paddingLeft + A.paddingRight)),
+ (A.rect.width = E[_].width),
+ (A.rect.height = E[_].height);
+ });
+ }),
+ (w.prototype.repopulateCompounds = function () {
+ for (var T = this.compoundOrder.length - 1; T >= 0; T--) {
+ var E = this.compoundOrder[T],
+ _ = E.id,
+ A = E.paddingLeft,
+ L = E.paddingTop;
+ this.adjustLocations(this.tiledMemberPack[_], E.rect.x, E.rect.y, A, L);
+ }
+ }),
+ (w.prototype.repopulateZeroDegreeMembers = function () {
+ var T = this,
+ E = this.tiledZeroDegreePack;
+ Object.keys(E).forEach(function (_) {
+ var A = T.idToDummyNode[_],
+ L = A.paddingLeft,
+ M = A.paddingTop;
+ T.adjustLocations(E[_], A.rect.x, A.rect.y, L, M);
+ });
+ }),
+ (w.prototype.getToBeTiled = function (T) {
+ var E = T.id;
+ if (this.toBeTiled[E] != null) return this.toBeTiled[E];
+ var _ = T.getChild();
+ if (_ == null) return (this.toBeTiled[E] = !1), !1;
+ for (var A = _.getNodes(), L = 0; L < A.length; L++) {
+ var M = A[L];
+ if (this.getNodeDegree(M) > 0) return (this.toBeTiled[E] = !1), !1;
+ if (M.getChild() == null) {
+ this.toBeTiled[M.id] = !1;
+ continue;
+ }
+ if (!this.getToBeTiled(M)) return (this.toBeTiled[E] = !1), !1;
+ }
+ return (this.toBeTiled[E] = !0), !0;
+ }),
+ (w.prototype.getNodeDegree = function (T) {
+ for (var E = T.id, _ = T.getEdges(), A = 0, L = 0; L < _.length; L++) {
+ var M = _[L];
+ M.getSource().id !== M.getTarget().id && (A = A + 1);
+ }
+ return A;
+ }),
+ (w.prototype.getNodeDegreeWithChildren = function (T) {
+ var E = this.getNodeDegree(T);
+ if (T.getChild() == null) return E;
+ for (var _ = T.getChild().getNodes(), A = 0; A < _.length; A++) {
+ var L = _[A];
+ E += this.getNodeDegreeWithChildren(L);
+ }
+ return E;
+ }),
+ (w.prototype.performDFSOnCompounds = function () {
+ (this.compoundOrder = []),
+ this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes());
+ }),
+ (w.prototype.fillCompexOrderByDFS = function (T) {
+ for (var E = 0; E < T.length; E++) {
+ var _ = T[E];
+ _.getChild() != null && this.fillCompexOrderByDFS(_.getChild().getNodes()),
+ this.getToBeTiled(_) && this.compoundOrder.push(_);
+ }
+ }),
+ (w.prototype.adjustLocations = function (T, E, _, A, L) {
+ (E += A), (_ += L);
+ for (var M = E, N = 0; N < T.rows.length; N++) {
+ var k = T.rows[N];
+ E = M;
+ for (var I = 0, C = 0; C < k.length; C++) {
+ var O = k[C];
+ (O.rect.x = E),
+ (O.rect.y = _),
+ (E += O.rect.width + T.horizontalPadding),
+ O.rect.height > I && (I = O.rect.height);
+ }
+ _ += I + T.verticalPadding;
+ }
+ }),
+ (w.prototype.tileCompoundMembers = function (T, E) {
+ var _ = this;
+ (this.tiledMemberPack = []),
+ Object.keys(T).forEach(function (A) {
+ var L = E[A];
+ (_.tiledMemberPack[A] = _.tileNodes(T[A], L.paddingLeft + L.paddingRight)),
+ (L.rect.width = _.tiledMemberPack[A].width),
+ (L.rect.height = _.tiledMemberPack[A].height);
+ });
+ }),
+ (w.prototype.tileNodes = function (T, E) {
+ var _ = h.TILING_PADDING_VERTICAL,
+ A = h.TILING_PADDING_HORIZONTAL,
+ L = {
+ rows: [],
+ rowWidth: [],
+ rowHeight: [],
+ width: 0,
+ height: E,
+ verticalPadding: _,
+ horizontalPadding: A
+ };
+ T.sort(function (k, I) {
+ return k.rect.width * k.rect.height > I.rect.width * I.rect.height
+ ? -1
+ : k.rect.width * k.rect.height < I.rect.width * I.rect.height
+ ? 1
+ : 0;
+ });
+ for (var M = 0; M < T.length; M++) {
+ var N = T[M];
+ L.rows.length == 0
+ ? this.insertNodeToRow(L, N, 0, E)
+ : this.canAddHorizontal(L, N.rect.width, N.rect.height)
+ ? this.insertNodeToRow(L, N, this.getShortestRowIndex(L), E)
+ : this.insertNodeToRow(L, N, L.rows.length, E),
+ this.shiftToLastRow(L);
+ }
+ return L;
+ }),
+ (w.prototype.insertNodeToRow = function (T, E, _, A) {
+ var L = A;
+ if (_ == T.rows.length) {
+ var M = [];
+ T.rows.push(M), T.rowWidth.push(L), T.rowHeight.push(0);
+ }
+ var N = T.rowWidth[_] + E.rect.width;
+ T.rows[_].length > 0 && (N += T.horizontalPadding),
+ (T.rowWidth[_] = N),
+ T.width < N && (T.width = N);
+ var k = E.rect.height;
+ _ > 0 && (k += T.verticalPadding);
+ var I = 0;
+ k > T.rowHeight[_] &&
+ ((I = T.rowHeight[_]), (T.rowHeight[_] = k), (I = T.rowHeight[_] - I)),
+ (T.height += I),
+ T.rows[_].push(E);
+ }),
+ (w.prototype.getShortestRowIndex = function (T) {
+ for (var E = -1, _ = Number.MAX_VALUE, A = 0; A < T.rows.length; A++)
+ T.rowWidth[A] < _ && ((E = A), (_ = T.rowWidth[A]));
+ return E;
+ }),
+ (w.prototype.getLongestRowIndex = function (T) {
+ for (var E = -1, _ = Number.MIN_VALUE, A = 0; A < T.rows.length; A++)
+ T.rowWidth[A] > _ && ((E = A), (_ = T.rowWidth[A]));
+ return E;
+ }),
+ (w.prototype.canAddHorizontal = function (T, E, _) {
+ var A = this.getShortestRowIndex(T);
+ if (A < 0) return !0;
+ var L = T.rowWidth[A];
+ if (L + T.horizontalPadding + E <= T.width) return !0;
+ var M = 0;
+ T.rowHeight[A] < _ && A > 0 && (M = _ + T.verticalPadding - T.rowHeight[A]);
+ var N;
+ T.width - L >= E + T.horizontalPadding
+ ? (N = (T.height + M) / (L + E + T.horizontalPadding))
+ : (N = (T.height + M) / T.width),
+ (M = _ + T.verticalPadding);
+ var k;
+ return (
+ T.width < E ? (k = (T.height + M) / E) : (k = (T.height + M) / T.width),
+ k < 1 && (k = 1 / k),
+ N < 1 && (N = 1 / N),
+ N < k
+ );
+ }),
+ (w.prototype.shiftToLastRow = function (T) {
+ var E = this.getLongestRowIndex(T),
+ _ = T.rowWidth.length - 1,
+ A = T.rows[E],
+ L = A[A.length - 1],
+ M = L.width + T.horizontalPadding;
+ if (T.width - T.rowWidth[_] > M && E != _) {
+ A.splice(-1, 1),
+ T.rows[_].push(L),
+ (T.rowWidth[E] = T.rowWidth[E] - M),
+ (T.rowWidth[_] = T.rowWidth[_] + M),
+ (T.width = T.rowWidth[instance.getLongestRowIndex(T)]);
+ for (var N = Number.MIN_VALUE, k = 0; k < A.length; k++)
+ A[k].height > N && (N = A[k].height);
+ E > 0 && (N += T.verticalPadding);
+ var I = T.rowHeight[E] + T.rowHeight[_];
+ (T.rowHeight[E] = N),
+ T.rowHeight[_] < L.height + T.verticalPadding &&
+ (T.rowHeight[_] = L.height + T.verticalPadding);
+ var C = T.rowHeight[E] + T.rowHeight[_];
+ (T.height += C - I), this.shiftToLastRow(T);
+ }
+ }),
+ (w.prototype.tilingPreLayout = function () {
+ h.TILE &&
+ (this.groupZeroDegreeMembers(), this.clearCompounds(), this.clearZeroDegreeMembers());
+ }),
+ (w.prototype.tilingPostLayout = function () {
+ h.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds());
+ }),
+ (w.prototype.reduceTrees = function () {
+ for (var T = [], E = !0, _; E; ) {
+ var A = this.graphManager.getAllNodes(),
+ L = [];
+ E = !1;
+ for (var M = 0; M < A.length; M++)
+ (_ = A[M]),
+ _.getEdges().length == 1 &&
+ !_.getEdges()[0].isInterGraph &&
+ _.getChild() == null &&
+ (L.push([_, _.getEdges()[0], _.getOwner()]), (E = !0));
+ if (E == !0) {
+ for (var N = [], k = 0; k < L.length; k++)
+ L[k][0].getEdges().length == 1 &&
+ (N.push(L[k]), L[k][0].getOwner().remove(L[k][0]));
+ T.push(N), this.graphManager.resetAllNodes(), this.graphManager.resetAllEdges();
+ }
+ }
+ this.prunedNodesAll = T;
+ }),
+ (w.prototype.growTree = function (T) {
+ for (var E = T.length, _ = T[E - 1], A, L = 0; L < _.length; L++)
+ (A = _[L]),
+ this.findPlaceforPrunedNode(A),
+ A[2].add(A[0]),
+ A[2].add(A[1], A[1].source, A[1].target);
+ T.splice(T.length - 1, 1),
+ this.graphManager.resetAllNodes(),
+ this.graphManager.resetAllEdges();
+ }),
+ (w.prototype.findPlaceforPrunedNode = function (T) {
+ var E,
+ _,
+ A = T[0];
+ A == T[1].source ? (_ = T[1].target) : (_ = T[1].source);
+ var L = _.startX,
+ M = _.finishX,
+ N = _.startY,
+ k = _.finishY,
+ I = 0,
+ C = 0,
+ O = 0,
+ D = 0,
+ P = [I, O, C, D];
+ if (N > 0)
+ for (var F = L; F <= M; F++)
+ P[0] += this.grid[F][N - 1].length + this.grid[F][N].length - 1;
+ if (M < this.grid.length - 1)
+ for (var F = N; F <= k; F++)
+ P[1] += this.grid[M + 1][F].length + this.grid[M][F].length - 1;
+ if (k < this.grid[0].length - 1)
+ for (var F = L; F <= M; F++)
+ P[2] += this.grid[F][k + 1].length + this.grid[F][k].length - 1;
+ if (L > 0)
+ for (var F = N; F <= k; F++)
+ P[3] += this.grid[L - 1][F].length + this.grid[L][F].length - 1;
+ for (var B = y.MAX_VALUE, $, z, Y = 0; Y < P.length; Y++)
+ P[Y] < B ? ((B = P[Y]), ($ = 1), (z = Y)) : P[Y] == B && $++;
+ if ($ == 3 && B == 0)
+ P[0] == 0 && P[1] == 0 && P[2] == 0
+ ? (E = 1)
+ : P[0] == 0 && P[1] == 0 && P[3] == 0
+ ? (E = 0)
+ : P[0] == 0 && P[2] == 0 && P[3] == 0
+ ? (E = 3)
+ : P[1] == 0 && P[2] == 0 && P[3] == 0 && (E = 2);
+ else if ($ == 2 && B == 0) {
+ var Q = Math.floor(Math.random() * 2);
+ P[0] == 0 && P[1] == 0
+ ? Q == 0
+ ? (E = 0)
+ : (E = 1)
+ : P[0] == 0 && P[2] == 0
+ ? Q == 0
+ ? (E = 0)
+ : (E = 2)
+ : P[0] == 0 && P[3] == 0
+ ? Q == 0
+ ? (E = 0)
+ : (E = 3)
+ : P[1] == 0 && P[2] == 0
+ ? Q == 0
+ ? (E = 1)
+ : (E = 2)
+ : P[1] == 0 && P[3] == 0
+ ? Q == 0
+ ? (E = 1)
+ : (E = 3)
+ : Q == 0
+ ? (E = 2)
+ : (E = 3);
+ } else if ($ == 4 && B == 0) {
+ var Q = Math.floor(Math.random() * 4);
+ E = Q;
+ } else E = z;
+ E == 0
+ ? A.setCenter(
+ _.getCenterX(),
+ _.getCenterY() - _.getHeight() / 2 - f.DEFAULT_EDGE_LENGTH - A.getHeight() / 2
+ )
+ : E == 1
+ ? A.setCenter(
+ _.getCenterX() + _.getWidth() / 2 + f.DEFAULT_EDGE_LENGTH + A.getWidth() / 2,
+ _.getCenterY()
+ )
+ : E == 2
+ ? A.setCenter(
+ _.getCenterX(),
+ _.getCenterY() + _.getHeight() / 2 + f.DEFAULT_EDGE_LENGTH + A.getHeight() / 2
+ )
+ : A.setCenter(
+ _.getCenterX() - _.getWidth() / 2 - f.DEFAULT_EDGE_LENGTH - A.getWidth() / 2,
+ _.getCenterY()
+ );
+ }),
+ (e.exports = w);
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = {};
+ (i.layoutBase = n(0)),
+ (i.CoSEConstants = n(1)),
+ (i.CoSEEdge = n(2)),
+ (i.CoSEGraph = n(3)),
+ (i.CoSEGraphManager = n(4)),
+ (i.CoSELayout = n(6)),
+ (i.CoSENode = n(5)),
+ (e.exports = i);
+ }
+ ]);
+ });
+ });
+ var age = gi((lb, kB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof lb == 'object' && typeof kB == 'object'
+ ? (kB.exports = r(TB()))
+ : typeof define == 'function' && define.amd
+ ? define(['cose-base'], r)
+ : typeof lb == 'object'
+ ? (lb.cytoscapeCoseBilkent = r(TB()))
+ : (e.cytoscapeCoseBilkent = r(e.coseBase));
+ }, 'webpackUniversalModuleDefinition')(lb, function (t) {
+ return (function (e) {
+ var r = {};
+ function n(i) {
+ if (r[i]) return r[i].exports;
+ var a = (r[i] = { i, l: !1, exports: {} });
+ return e[i].call(a.exports, a, a.exports, n), (a.l = !0), a.exports;
+ }
+ return (
+ o(n, '__webpack_require__'),
+ (n.m = e),
+ (n.c = r),
+ (n.i = function (i) {
+ return i;
+ }),
+ (n.d = function (i, a, s) {
+ n.o(i, a) ||
+ Object.defineProperty(i, a, {
+ configurable: !1,
+ enumerable: !0,
+ get: s
+ });
+ }),
+ (n.n = function (i) {
+ var a =
+ i && i.__esModule
+ ? o(function () {
+ return i.default;
+ }, 'getDefault')
+ : o(function () {
+ return i;
+ }, 'getModuleExports');
+ return n.d(a, 'a', a), a;
+ }),
+ (n.o = function (i, a) {
+ return Object.prototype.hasOwnProperty.call(i, a);
+ }),
+ (n.p = ''),
+ n((n.s = 1))
+ );
+ })([
+ function (e, r) {
+ e.exports = t;
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).layoutBase.LayoutConstants,
+ a = n(0).layoutBase.FDLayoutConstants,
+ s = n(0).CoSEConstants,
+ l = n(0).CoSELayout,
+ u = n(0).CoSENode,
+ h = n(0).layoutBase.PointD,
+ f = n(0).layoutBase.DimensionD,
+ d = {
+ ready: o(function () {}, 'ready'),
+ stop: o(function () {}, 'stop'),
+ quality: 'default',
+ nodeDimensionsIncludeLabels: !1,
+ refresh: 30,
+ fit: !0,
+ padding: 10,
+ randomize: !0,
+ nodeRepulsion: 4500,
+ idealEdgeLength: 50,
+ edgeElasticity: 0.45,
+ nestingFactor: 0.1,
+ gravity: 0.25,
+ numIter: 2500,
+ tile: !0,
+ animate: 'end',
+ animationDuration: 500,
+ tilingPaddingVertical: 10,
+ tilingPaddingHorizontal: 10,
+ gravityRangeCompound: 1.5,
+ gravityCompound: 1,
+ gravityRange: 3.8,
+ initialEnergyOnIncremental: 0.5
+ };
+ function p(v, x) {
+ var b = {};
+ for (var w in v) b[w] = v[w];
+ for (var w in x) b[w] = x[w];
+ return b;
+ }
+ o(p, 'extend');
+ function m(v) {
+ (this.options = p(d, v)), g(this.options);
+ }
+ o(m, '_CoSELayout');
+ var g = o(function (x) {
+ x.nodeRepulsion != null &&
+ (s.DEFAULT_REPULSION_STRENGTH = a.DEFAULT_REPULSION_STRENGTH = x.nodeRepulsion),
+ x.idealEdgeLength != null &&
+ (s.DEFAULT_EDGE_LENGTH = a.DEFAULT_EDGE_LENGTH = x.idealEdgeLength),
+ x.edgeElasticity != null &&
+ (s.DEFAULT_SPRING_STRENGTH = a.DEFAULT_SPRING_STRENGTH = x.edgeElasticity),
+ x.nestingFactor != null &&
+ (s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR =
+ x.nestingFactor),
+ x.gravity != null && (s.DEFAULT_GRAVITY_STRENGTH = a.DEFAULT_GRAVITY_STRENGTH = x.gravity),
+ x.numIter != null && (s.MAX_ITERATIONS = a.MAX_ITERATIONS = x.numIter),
+ x.gravityRange != null &&
+ (s.DEFAULT_GRAVITY_RANGE_FACTOR = a.DEFAULT_GRAVITY_RANGE_FACTOR = x.gravityRange),
+ x.gravityCompound != null &&
+ (s.DEFAULT_COMPOUND_GRAVITY_STRENGTH = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH =
+ x.gravityCompound),
+ x.gravityRangeCompound != null &&
+ (s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR =
+ x.gravityRangeCompound),
+ x.initialEnergyOnIncremental != null &&
+ (s.DEFAULT_COOLING_FACTOR_INCREMENTAL = a.DEFAULT_COOLING_FACTOR_INCREMENTAL =
+ x.initialEnergyOnIncremental),
+ x.quality == 'draft'
+ ? (i.QUALITY = 0)
+ : x.quality == 'proof'
+ ? (i.QUALITY = 2)
+ : (i.QUALITY = 1),
+ (s.NODE_DIMENSIONS_INCLUDE_LABELS =
+ a.NODE_DIMENSIONS_INCLUDE_LABELS =
+ i.NODE_DIMENSIONS_INCLUDE_LABELS =
+ x.nodeDimensionsIncludeLabels),
+ (s.DEFAULT_INCREMENTAL = a.DEFAULT_INCREMENTAL = i.DEFAULT_INCREMENTAL = !x.randomize),
+ (s.ANIMATE = a.ANIMATE = i.ANIMATE = x.animate),
+ (s.TILE = x.tile),
+ (s.TILING_PADDING_VERTICAL =
+ typeof x.tilingPaddingVertical == 'function'
+ ? x.tilingPaddingVertical.call()
+ : x.tilingPaddingVertical),
+ (s.TILING_PADDING_HORIZONTAL =
+ typeof x.tilingPaddingHorizontal == 'function'
+ ? x.tilingPaddingHorizontal.call()
+ : x.tilingPaddingHorizontal);
+ }, 'getUserOptions');
+ (m.prototype.run = function () {
+ var v,
+ x,
+ b = this.options,
+ w = (this.idToLNode = {}),
+ S = (this.layout = new l()),
+ T = this;
+ (T.stopped = !1),
+ (this.cy = this.options.cy),
+ this.cy.trigger({ type: 'layoutstart', layout: this });
+ var E = S.newGraphManager();
+ this.gm = E;
+ var _ = this.options.eles.nodes(),
+ A = this.options.eles.edges();
+ (this.root = E.addRoot()), this.processChildrenList(this.root, this.getTopMostNodes(_), S);
+ for (var L = 0; L < A.length; L++) {
+ var M = A[L],
+ N = this.idToLNode[M.data('source')],
+ k = this.idToLNode[M.data('target')];
+ if (N !== k && N.getEdgesBetween(k).length == 0) {
+ var I = E.add(S.newEdge(), N, k);
+ I.id = M.id();
+ }
+ }
+ var C = o(function (P, F) {
+ typeof P == 'number' && (P = F);
+ var B = P.data('id'),
+ $ = T.idToLNode[B];
+ return {
+ x: $.getRect().getCenterX(),
+ y: $.getRect().getCenterY()
+ };
+ }, 'getPositions'),
+ O = o(function D() {
+ for (
+ var P = o(function () {
+ b.fit && b.cy.fit(b.eles, b.padding),
+ v ||
+ ((v = !0),
+ T.cy.one('layoutready', b.ready),
+ T.cy.trigger({ type: 'layoutready', layout: T }));
+ }, 'afterReposition'),
+ F = T.options.refresh,
+ B,
+ $ = 0;
+ $ < F && !B;
+ $++
+ )
+ B = T.stopped || T.layout.tick();
+ if (B) {
+ S.checkLayoutSuccess() && !S.isSubLayout && S.doPostLayout(),
+ S.tilingPostLayout && S.tilingPostLayout(),
+ (S.isLayoutFinished = !0),
+ T.options.eles.nodes().positions(C),
+ P(),
+ T.cy.one('layoutstop', T.options.stop),
+ T.cy.trigger({ type: 'layoutstop', layout: T }),
+ x && cancelAnimationFrame(x),
+ (v = !1);
+ return;
+ }
+ var z = T.layout.getPositionsData();
+ b.eles.nodes().positions(function (Y, Q) {
+ if ((typeof Y == 'number' && (Y = Q), !Y.isParent())) {
+ for (
+ var X = Y.id(), ie = z[X], j = Y;
+ ie == null &&
+ ((ie = z[j.data('parent')] || z['DummyCompound_' + j.data('parent')]),
+ (z[X] = ie),
+ (j = j.parent()[0]),
+ j != null);
+
+ );
+ return ie != null
+ ? { x: ie.x, y: ie.y }
+ : { x: Y.position('x'), y: Y.position('y') };
+ }
+ }),
+ P(),
+ (x = requestAnimationFrame(D));
+ }, 'iterateAnimated');
+ return (
+ S.addListener('layoutstarted', function () {
+ T.options.animate === 'during' && (x = requestAnimationFrame(O));
+ }),
+ S.runLayout(),
+ this.options.animate !== 'during' &&
+ (T.options.eles.nodes().not(':parent').layoutPositions(T, T.options, C), (v = !1)),
+ this
+ );
+ }),
+ (m.prototype.getTopMostNodes = function (v) {
+ for (var x = {}, b = 0; b < v.length; b++) x[v[b].id()] = !0;
+ var w = v.filter(function (S, T) {
+ typeof S == 'number' && (S = T);
+ for (var E = S.parent()[0]; E != null; ) {
+ if (x[E.id()]) return !1;
+ E = E.parent()[0];
+ }
+ return !0;
+ });
+ return w;
+ }),
+ (m.prototype.processChildrenList = function (v, x, b) {
+ for (var w = x.length, S = 0; S < w; S++) {
+ var T = x[S],
+ E = T.children(),
+ _,
+ A = T.layoutDimensions({
+ nodeDimensionsIncludeLabels: this.options.nodeDimensionsIncludeLabels
+ });
+ if (
+ (T.outerWidth() != null && T.outerHeight() != null
+ ? (_ = v.add(
+ new u(
+ b.graphManager,
+ new h(T.position('x') - A.w / 2, T.position('y') - A.h / 2),
+ new f(parseFloat(A.w), parseFloat(A.h))
+ )
+ ))
+ : (_ = v.add(new u(this.graphManager))),
+ (_.id = T.data('id')),
+ (_.paddingLeft = parseInt(T.css('padding'))),
+ (_.paddingTop = parseInt(T.css('padding'))),
+ (_.paddingRight = parseInt(T.css('padding'))),
+ (_.paddingBottom = parseInt(T.css('padding'))),
+ this.options.nodeDimensionsIncludeLabels && T.isParent())
+ ) {
+ var L = T.boundingBox({
+ includeLabels: !0,
+ includeNodes: !1
+ }).w,
+ M = T.boundingBox({
+ includeLabels: !0,
+ includeNodes: !1
+ }).h,
+ N = T.css('text-halign');
+ (_.labelWidth = L), (_.labelHeight = M), (_.labelPos = N);
+ }
+ if (
+ ((this.idToLNode[T.data('id')] = _),
+ isNaN(_.rect.x) && (_.rect.x = 0),
+ isNaN(_.rect.y) && (_.rect.y = 0),
+ E != null && E.length > 0)
+ ) {
+ var k;
+ (k = b.getGraphManager().add(b.newGraph(), _)), this.processChildrenList(k, E, b);
+ }
+ }
+ }),
+ (m.prototype.stop = function () {
+ return (this.stopped = !0), this;
+ });
+ var y = o(function (x) {
+ x('layout', 'cose-bilkent', m);
+ }, 'register');
+ typeof cytoscape < 'u' && y(cytoscape), (e.exports = y);
+ }
+ ]);
+ });
+ });
+ function fZe(t, e, r, n, i) {
+ return t
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ n
+ .map(function (a) {
+ return a.x + ',' + a.y;
+ })
+ .join(' ')
+ )
+ .attr('transform', 'translate(' + (i.width - e) / 2 + ', ' + r + ')');
+ }
+ var sZe,
+ oZe,
+ lZe,
+ cZe,
+ uZe,
+ hZe,
+ dZe,
+ pZe,
+ sge,
+ oge,
+ lge = R(() => {
+ 'use strict';
+ Al();
+ xr();
+ (sZe = 12),
+ (oZe = o(function (t, e, r, n) {
+ e
+ .append('path')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr(
+ 'd',
+ `M0 ${r.height - 5} v${-r.height + 2 * 5} q0,-5 5,-5 h${r.width - 2 * 5} q5,0 5,5 v${
+ r.height - 5
+ } H0 Z`
+ ),
+ e
+ .append('line')
+ .attr('class', 'node-line-' + n)
+ .attr('x1', 0)
+ .attr('y1', r.height)
+ .attr('x2', r.width)
+ .attr('y2', r.height);
+ }, 'defaultBkg')),
+ (lZe = o(function (t, e, r) {
+ e.append('rect')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr('height', r.height)
+ .attr('width', r.width);
+ }, 'rectBkg')),
+ (cZe = o(function (t, e, r) {
+ let n = r.width,
+ i = r.height,
+ a = 0.15 * n,
+ s = 0.25 * n,
+ l = 0.35 * n,
+ u = 0.2 * n;
+ e.append('path')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr(
+ 'd',
+ `M0 0 a${a},${a} 0 0,1 ${n * 0.25},${-1 * n * 0.1}
+ a${l},${l} 1 0,1 ${n * 0.4},${-1 * n * 0.1}
+ a${s},${s} 1 0,1 ${n * 0.35},${1 * n * 0.2}
+
+ a${a},${a} 1 0,1 ${n * 0.15},${1 * i * 0.35}
+ a${u},${u} 1 0,1 ${-1 * n * 0.15},${1 * i * 0.65}
+
+ a${s},${a} 1 0,1 ${-1 * n * 0.25},${n * 0.15}
+ a${l},${l} 1 0,1 ${-1 * n * 0.5},0
+ a${a},${a} 1 0,1 ${-1 * n * 0.25},${-1 * n * 0.15}
+
+ a${a},${a} 1 0,1 ${-1 * n * 0.1},${-1 * i * 0.35}
+ a${u},${u} 1 0,1 ${n * 0.1},${-1 * i * 0.65}
+
+ H0 V0 Z`
+ );
+ }, 'cloudBkg')),
+ (uZe = o(function (t, e, r) {
+ let n = r.width,
+ i = r.height,
+ a = 0.15 * n;
+ e.append('path')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr(
+ 'd',
+ `M0 0 a${a},${a} 1 0,0 ${n * 0.25},${-1 * i * 0.1}
+ a${a},${a} 1 0,0 ${n * 0.25},0
+ a${a},${a} 1 0,0 ${n * 0.25},0
+ a${a},${a} 1 0,0 ${n * 0.25},${1 * i * 0.1}
+
+ a${a},${a} 1 0,0 ${n * 0.15},${1 * i * 0.33}
+ a${a * 0.8},${a * 0.8} 1 0,0 0,${1 * i * 0.34}
+ a${a},${a} 1 0,0 ${-1 * n * 0.15},${1 * i * 0.33}
+
+ a${a},${a} 1 0,0 ${-1 * n * 0.25},${i * 0.15}
+ a${a},${a} 1 0,0 ${-1 * n * 0.25},0
+ a${a},${a} 1 0,0 ${-1 * n * 0.25},0
+ a${a},${a} 1 0,0 ${-1 * n * 0.25},${-1 * i * 0.15}
+
+ a${a},${a} 1 0,0 ${-1 * n * 0.1},${-1 * i * 0.33}
+ a${a * 0.8},${a * 0.8} 1 0,0 0,${-1 * i * 0.34}
+ a${a},${a} 1 0,0 ${n * 0.1},${-1 * i * 0.33}
+
+ H0 V0 Z`
+ );
+ }, 'bangBkg')),
+ (hZe = o(function (t, e, r) {
+ e.append('circle')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr('r', r.width / 2);
+ }, 'circleBkg'));
+ o(fZe, 'insertPolygonShape');
+ (dZe = o(function (t, e, r) {
+ let n = r.height,
+ a = n / 4,
+ s = r.width - r.padding + 2 * a,
+ l = [
+ { x: a, y: 0 },
+ { x: s - a, y: 0 },
+ { x: s, y: -n / 2 },
+ { x: s - a, y: -n },
+ { x: a, y: -n },
+ { x: 0, y: -n / 2 }
+ ];
+ fZe(e, s, n, l, r);
+ }, 'hexagonBkg')),
+ (pZe = o(function (t, e, r) {
+ e.append('rect')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr('height', r.height)
+ .attr('rx', r.padding)
+ .attr('ry', r.padding)
+ .attr('width', r.width);
+ }, 'roundedRectBkg')),
+ (sge = o(async function (t, e, r, n, i) {
+ let a = i.htmlLabels,
+ s = n % (sZe - 1),
+ l = e.append('g');
+ r.section = s;
+ let u = 'section-' + s;
+ s < 0 && (u += ' section-root'),
+ l.attr('class', (r.class ? r.class + ' ' : '') + 'mindmap-node ' + u);
+ let h = l.append('g'),
+ f = l.append('g'),
+ d = r.descr.replace(
+ /(
)/g,
+ `
+`
+ );
+ await ta(f, d, { useHtmlLabels: a, width: r.width, classes: 'mindmap-node-label' }, i),
+ a ||
+ f
+ .attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle');
+ let p = f.node().getBBox(),
+ [m] = mc(i.fontSize);
+ if (
+ ((r.height = p.height + m * 1.1 * 0.5 + r.padding), (r.width = p.width + 2 * r.padding), r.icon)
+ )
+ if (r.type === t.nodeType.CIRCLE)
+ (r.height += 50),
+ (r.width += 50),
+ l
+ .append('foreignObject')
+ .attr('height', '50px')
+ .attr('width', r.width)
+ .attr('style', 'text-align: center;')
+ .append('div')
+ .attr('class', 'icon-container')
+ .append('i')
+ .attr('class', 'node-icon-' + s + ' ' + r.icon),
+ f.attr(
+ 'transform',
+ 'translate(' + r.width / 2 + ', ' + (r.height / 2 - 1.5 * r.padding) + ')'
+ );
+ else {
+ r.width += 50;
+ let g = r.height;
+ r.height = Math.max(g, 60);
+ let y = Math.abs(r.height - g);
+ l
+ .append('foreignObject')
+ .attr('width', '60px')
+ .attr('height', r.height)
+ .attr('style', 'text-align: center;margin-top:' + y / 2 + 'px;')
+ .append('div')
+ .attr('class', 'icon-container')
+ .append('i')
+ .attr('class', 'node-icon-' + s + ' ' + r.icon),
+ f.attr(
+ 'transform',
+ 'translate(' + (25 + r.width / 2) + ', ' + (y / 2 + r.padding / 2) + ')'
+ );
+ }
+ else if (a) {
+ let g = (r.width - p.width) / 2,
+ y = (r.height - p.height) / 2;
+ f.attr('transform', 'translate(' + g + ', ' + y + ')');
+ } else {
+ let g = r.width / 2,
+ y = r.padding / 2;
+ f.attr('transform', 'translate(' + g + ', ' + y + ')');
+ }
+ switch (r.type) {
+ case t.nodeType.DEFAULT:
+ oZe(t, h, r, s);
+ break;
+ case t.nodeType.ROUNDED_RECT:
+ pZe(t, h, r, s);
+ break;
+ case t.nodeType.RECT:
+ lZe(t, h, r, s);
+ break;
+ case t.nodeType.CIRCLE:
+ h.attr('transform', 'translate(' + r.width / 2 + ', ' + +r.height / 2 + ')'),
+ hZe(t, h, r, s);
+ break;
+ case t.nodeType.CLOUD:
+ cZe(t, h, r, s);
+ break;
+ case t.nodeType.BANG:
+ uZe(t, h, r, s);
+ break;
+ case t.nodeType.HEXAGON:
+ dZe(t, h, r, s);
+ break;
+ }
+ return t.setElementForId(r.id, l), r.height;
+ }, 'drawNode')),
+ (oge = o(function (t, e) {
+ let r = t.getElementById(e.id),
+ n = e.x || 0,
+ i = e.y || 0;
+ r.attr('transform', 'translate(' + n + ',' + i + ')');
+ }, 'positionNode'));
+ });
+ async function uge(t, e, r, n, i) {
+ await sge(t, e, r, n, i),
+ r.children && (await Promise.all(r.children.map((a, s) => uge(t, e, a, n < 0 ? s : n, i))));
+ }
+ function mZe(t, e) {
+ e.edges().map((r, n) => {
+ let i = r.data();
+ if (r[0]._private.bodyBounds) {
+ let a = r[0]._private.rscratch;
+ V.trace('Edge: ', n, i),
+ t
+ .insert('path')
+ .attr('d', `M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `)
+ .attr('class', 'edge section-edge-' + i.section + ' edge-depth-' + i.depth);
+ }
+ });
+ }
+ function hge(t, e, r, n) {
+ e.add({
+ group: 'nodes',
+ data: {
+ id: t.id.toString(),
+ labelText: t.descr,
+ height: t.height,
+ width: t.width,
+ level: n,
+ nodeId: t.id,
+ padding: t.padding,
+ type: t.type
+ },
+ position: { x: t.x, y: t.y }
+ }),
+ t.children &&
+ t.children.forEach((i) => {
+ hge(i, e, r, n + 1),
+ e.add({
+ group: 'edges',
+ data: {
+ id: `${t.id}_${i.id}`,
+ source: t.id,
+ target: i.id,
+ depth: n,
+ section: i.section
+ }
+ });
+ });
+ }
+ function gZe(t, e) {
+ return new Promise((r) => {
+ let n = $e('body').append('div').attr('id', 'cy').attr('style', 'display:none'),
+ i = rl({
+ container: document.getElementById('cy'),
+ style: [{ selector: 'edge', style: { 'curve-style': 'bezier' } }]
+ });
+ n.remove(),
+ hge(t, i, e, 0),
+ i.nodes().forEach(function (a) {
+ a.layoutDimensions = () => {
+ let s = a.data();
+ return { w: s.width, h: s.height };
+ };
+ }),
+ i
+ .layout({
+ name: 'cose-bilkent',
+ quality: 'proof',
+ styleEnabled: !1,
+ animate: !1
+ })
+ .run(),
+ i.ready((a) => {
+ V.info('Ready', a), r(i);
+ });
+ });
+ }
+ function yZe(t, e) {
+ e.nodes().map((r, n) => {
+ let i = r.data();
+ (i.x = r.position().x), (i.y = r.position().y), oge(t, i);
+ let a = t.getElementById(i.nodeId);
+ V.info('Id:', n, 'Position: (', r.position().x, ', ', r.position().y, ')', i),
+ a.attr('transform', `translate(${r.position().x - i.width / 2}, ${r.position().y - i.height / 2})`),
+ a.attr('attr', `apa-${n})`);
+ });
+ }
+ var cge,
+ vZe,
+ fge,
+ dge = R(() => {
+ 'use strict';
+ vB();
+ cge = Xi(age(), 1);
+ Zt();
+ _t();
+ ut();
+ pf();
+ Yn();
+ lge();
+ sl();
+ rl.use(cge.default);
+ o(uge, 'drawNodes');
+ o(mZe, 'drawEdges');
+ o(hge, 'addNodes');
+ o(gZe, 'layoutMindmap');
+ o(yZe, 'positionNodes');
+ (vZe = o(async (t, e, r, n) => {
+ V.debug(
+ `Rendering mindmap diagram
+` + t
+ );
+ let i = n.db,
+ a = i.getMindmap();
+ if (!a) return;
+ let s = de();
+ s.htmlLabels = !1;
+ let l = Ps(e),
+ u = l.append('g');
+ u.attr('class', 'mindmap-edges');
+ let h = l.append('g');
+ h.attr('class', 'mindmap-nodes'), await uge(i, h, a, -1, s);
+ let f = await gZe(a, s);
+ mZe(u, f),
+ yZe(i, f),
+ Lo(
+ void 0,
+ l,
+ s.mindmap?.padding ?? mr.mindmap.padding,
+ s.mindmap?.useMaxWidth ?? mr.mindmap.useMaxWidth
+ );
+ }, 'draw')),
+ (fge = { draw: vZe });
+ });
+ var xZe,
+ bZe,
+ pge,
+ mge = R(() => {
+ 'use strict';
+ al();
+ (xZe = o((t) => {
+ let e = '';
+ for (let r = 0; r < t.THEME_COLOR_LIMIT; r++)
+ (t['lineColor' + r] = t['lineColor' + r] || t['cScaleInv' + r]),
+ Wa(t['lineColor' + r])
+ ? (t['lineColor' + r] = Et(t['lineColor' + r], 20))
+ : (t['lineColor' + r] = Dt(t['lineColor' + r], 20));
+ for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) {
+ let n = '' + (17 - 3 * r);
+ e += `
+ .section-${r - 1} rect, .section-${r - 1} path, .section-${r - 1} circle, .section-${r - 1} polygon, .section-${
+ r - 1
+ } path {
+ fill: ${t['cScale' + r]};
+ }
+ .section-${r - 1} text {
+ fill: ${t['cScaleLabel' + r]};
+ }
+ .node-icon-${r - 1} {
+ font-size: 40px;
+ color: ${t['cScaleLabel' + r]};
+ }
+ .section-edge-${r - 1}{
+ stroke: ${t['cScale' + r]};
+ }
+ .edge-depth-${r - 1}{
+ stroke-width: ${n};
+ }
+ .section-${r - 1} line {
+ stroke: ${t['cScaleInv' + r]} ;
+ stroke-width: 3;
+ }
+
+ .disabled, .disabled circle, .disabled text {
+ fill: lightgray;
+ }
+ .disabled text {
+ fill: #efefef;
+ }
+ `;
+ }
+ return e;
+ }, 'genSections')),
+ (bZe = o(
+ (t) => `
+ .edge {
+ stroke-width: 3;
+ }
+ ${xZe(t)}
+ .section-root rect, .section-root path, .section-root circle, .section-root polygon {
+ fill: ${t.git0};
+ }
+ .section-root text {
+ fill: ${t.gitBranchLabel0};
+ }
+ .icon-container {
+ height:100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ .edge {
+ fill: none;
+ }
+ .mindmap-node-label {
+ dy: 1em;
+ alignment-baseline: middle;
+ text-anchor: middle;
+ dominant-baseline: middle;
+ text-align: center;
+ }
+`,
+ 'getStyles'
+ )),
+ (pge = bZe);
+ });
+ var gge = {};
+ hr(gge, { diagram: () => wZe });
+ var wZe,
+ yge = R(() => {
+ 'use strict';
+ r0e();
+ a0e();
+ dge();
+ mge();
+ wZe = { db: i0e, renderer: fge, parser: t0e, styles: pge };
+ });
+ var EB,
+ cb,
+ bge = R(() => {
+ 'use strict';
+ EB = (function () {
+ var t = o(function (l, u, h, f) {
+ for (h = h || {}, f = l.length; f--; h[l[f]] = u);
+ return h;
+ }, 'o'),
+ e = [1, 9],
+ r = [1, 10],
+ n = [1, 5, 10, 12],
+ i = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ SANKEY: 4,
+ NEWLINE: 5,
+ csv: 6,
+ opt_eof: 7,
+ record: 8,
+ csv_tail: 9,
+ EOF: 10,
+ 'field[source]': 11,
+ COMMA: 12,
+ 'field[target]': 13,
+ 'field[value]': 14,
+ field: 15,
+ escaped: 16,
+ non_escaped: 17,
+ DQUOTE: 18,
+ ESCAPED_TEXT: 19,
+ NON_ESCAPED_TEXT: 20,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'SANKEY',
+ 5: 'NEWLINE',
+ 10: 'EOF',
+ 11: 'field[source]',
+ 12: 'COMMA',
+ 13: 'field[target]',
+ 14: 'field[value]',
+ 18: 'DQUOTE',
+ 19: 'ESCAPED_TEXT',
+ 20: 'NON_ESCAPED_TEXT'
+ },
+ productions_: [
+ 0,
+ [3, 4],
+ [6, 2],
+ [9, 2],
+ [9, 0],
+ [7, 1],
+ [7, 0],
+ [8, 5],
+ [15, 1],
+ [15, 1],
+ [16, 3],
+ [17, 1]
+ ],
+ performAction: o(function (u, h, f, d, p, m, g) {
+ var y = m.length - 1;
+ switch (p) {
+ case 7:
+ let v = d.findOrCreateNode(m[y - 4].trim().replaceAll('""', '"')),
+ x = d.findOrCreateNode(m[y - 2].trim().replaceAll('""', '"')),
+ b = parseFloat(m[y].trim());
+ d.addLink(v, x, b);
+ break;
+ case 8:
+ case 9:
+ case 11:
+ this.$ = m[y];
+ break;
+ case 10:
+ this.$ = m[y - 1];
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ { 5: [1, 3] },
+ { 6: 4, 8: 5, 15: 6, 16: 7, 17: 8, 18: e, 20: r },
+ { 1: [2, 6], 7: 11, 10: [1, 12] },
+ t(r, [2, 4], { 9: 13, 5: [1, 14] }),
+ { 12: [1, 15] },
+ t(n, [2, 8]),
+ t(n, [2, 9]),
+ { 19: [1, 16] },
+ t(n, [2, 11]),
+ { 1: [2, 1] },
+ { 1: [2, 5] },
+ t(r, [2, 2]),
+ { 6: 17, 8: 5, 15: 6, 16: 7, 17: 8, 18: e, 20: r },
+ { 15: 18, 16: 7, 17: 8, 18: e, 20: r },
+ { 18: [1, 19] },
+ t(r, [2, 3]),
+ { 12: [1, 20] },
+ t(n, [2, 10]),
+ { 15: 21, 16: 7, 17: 8, 18: e, 20: r },
+ t([1, 5, 10], [2, 7])
+ ],
+ defaultActions: { 11: [2, 1], 12: [2, 5] },
+ parseError: o(function (u, h) {
+ if (h.recoverable) this.trace(u);
+ else {
+ var f = new Error(u);
+ throw ((f.hash = h), f);
+ }
+ }, 'parseError'),
+ parse: o(function (u) {
+ var h = this,
+ f = [0],
+ d = [],
+ p = [null],
+ m = [],
+ g = this.table,
+ y = '',
+ v = 0,
+ x = 0,
+ b = 0,
+ w = 2,
+ S = 1,
+ T = m.slice.call(arguments, 1),
+ E = Object.create(this.lexer),
+ _ = { yy: {} };
+ for (var A in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, A) && (_.yy[A] = this.yy[A]);
+ E.setInput(u, _.yy),
+ (_.yy.lexer = E),
+ (_.yy.parser = this),
+ typeof E.yylloc > 'u' && (E.yylloc = {});
+ var L = E.yylloc;
+ m.push(L);
+ var M = E.options && E.options.ranges;
+ typeof _.yy.parseError == 'function'
+ ? (this.parseError = _.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function N(ie) {
+ (f.length = f.length - 2 * ie), (p.length = p.length - ie), (m.length = m.length - ie);
+ }
+ o(N, 'popStack');
+ function k() {
+ var ie;
+ return (
+ (ie = d.pop() || E.lex() || S),
+ typeof ie != 'number' &&
+ (ie instanceof Array && ((d = ie), (ie = d.pop())),
+ (ie = h.symbols_[ie] || ie)),
+ ie
+ );
+ }
+ o(k, 'lex');
+ for (var I, C, O, D, P, F, B = {}, $, z, Y, Q; ; ) {
+ if (
+ ((O = f[f.length - 1]),
+ this.defaultActions[O]
+ ? (D = this.defaultActions[O])
+ : ((I === null || typeof I > 'u') && (I = k()), (D = g[O] && g[O][I])),
+ typeof D > 'u' || !D.length || !D[0])
+ ) {
+ var X = '';
+ Q = [];
+ for ($ in g[O])
+ this.terminals_[$] && $ > w && Q.push("'" + this.terminals_[$] + "'");
+ E.showPosition
+ ? (X =
+ 'Parse error on line ' +
+ (v + 1) +
+ `:
+` +
+ E.showPosition() +
+ `
+Expecting ` +
+ Q.join(', ') +
+ ", got '" +
+ (this.terminals_[I] || I) +
+ "'")
+ : (X =
+ 'Parse error on line ' +
+ (v + 1) +
+ ': Unexpected ' +
+ (I == S ? 'end of input' : "'" + (this.terminals_[I] || I) + "'")),
+ this.parseError(X, {
+ text: E.match,
+ token: this.terminals_[I] || I,
+ line: E.yylineno,
+ loc: L,
+ expected: Q
+ });
+ }
+ if (D[0] instanceof Array && D.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + O + ', token: ' + I
+ );
+ switch (D[0]) {
+ case 1:
+ f.push(I),
+ p.push(E.yytext),
+ m.push(E.yylloc),
+ f.push(D[1]),
+ (I = null),
+ C
+ ? ((I = C), (C = null))
+ : ((x = E.yyleng),
+ (y = E.yytext),
+ (v = E.yylineno),
+ (L = E.yylloc),
+ b > 0 && b--);
+ break;
+ case 2:
+ if (
+ ((z = this.productions_[D[1]][1]),
+ (B.$ = p[p.length - z]),
+ (B._$ = {
+ first_line: m[m.length - (z || 1)].first_line,
+ last_line: m[m.length - 1].last_line,
+ first_column: m[m.length - (z || 1)].first_column,
+ last_column: m[m.length - 1].last_column
+ }),
+ M &&
+ (B._$.range = [
+ m[m.length - (z || 1)].range[0],
+ m[m.length - 1].range[1]
+ ]),
+ (F = this.performAction.apply(B, [y, x, v, _.yy, D[1], p, m].concat(T))),
+ typeof F < 'u')
+ )
+ return F;
+ z &&
+ ((f = f.slice(0, -1 * z * 2)),
+ (p = p.slice(0, -1 * z)),
+ (m = m.slice(0, -1 * z))),
+ f.push(this.productions_[D[1]][0]),
+ p.push(B.$),
+ m.push(B._$),
+ (Y = g[f[f.length - 2]][f[f.length - 1]]),
+ f.push(Y);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ a = (function () {
+ var l = {
+ EOF: 1,
+ parseError: o(function (h, f) {
+ if (this.yy.parser) this.yy.parser.parseError(h, f);
+ else throw new Error(h);
+ }, 'parseError'),
+ setInput: o(function (u, h) {
+ return (
+ (this.yy = h || this.yy || {}),
+ (this._input = u),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var u = this._input[0];
+ (this.yytext += u),
+ this.yyleng++,
+ this.offset++,
+ (this.match += u),
+ (this.matched += u);
+ var h = u.match(/(?:\r\n?|\n).*/g);
+ return (
+ h ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ u
+ );
+ }, 'input'),
+ unput: o(function (u) {
+ var h = u.length,
+ f = u.split(/(?:\r\n?|\n)/g);
+ (this._input = u + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - h)),
+ (this.offset -= h);
+ var d = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ f.length - 1 && (this.yylineno -= f.length - 1);
+ var p = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: f
+ ? (f.length === d.length ? this.yylloc.first_column : 0) +
+ d[d.length - f.length].length -
+ f[0].length
+ : this.yylloc.first_column - h
+ }),
+ this.options.ranges && (this.yylloc.range = [p[0], p[0] + this.yyleng - h]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (u) {
+ this.unput(this.match.slice(u));
+ }, 'less'),
+ pastInput: o(function () {
+ var u = this.matched.substr(0, this.matched.length - this.match.length);
+ return (u.length > 20 ? '...' : '') + u.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var u = this.match;
+ return (
+ u.length < 20 && (u += this._input.substr(0, 20 - u.length)),
+ (u.substr(0, 20) + (u.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var u = this.pastInput(),
+ h = new Array(u.length + 1).join('-');
+ return (
+ u +
+ this.upcomingInput() +
+ `
+` +
+ h +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (u, h) {
+ var f, d, p;
+ if (
+ (this.options.backtrack_lexer &&
+ ((p = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (p.yylloc.range = this.yylloc.range.slice(0))),
+ (d = u[0].match(/(?:\r\n?|\n).*/g)),
+ d && (this.yylineno += d.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: d
+ ? d[d.length - 1].length - d[d.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + u[0].length
+ }),
+ (this.yytext += u[0]),
+ (this.match += u[0]),
+ (this.matches = u),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(u[0].length)),
+ (this.matched += u[0]),
+ (f = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ h,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ f)
+ )
+ return f;
+ if (this._backtrack) {
+ for (var m in p) this[m] = p[m];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var u, h, f, d;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var p = this._currentRules(), m = 0; m < p.length; m++)
+ if (
+ ((f = this._input.match(this.rules[p[m]])),
+ f && (!h || f[0].length > h[0].length))
+ ) {
+ if (((h = f), (d = m), this.options.backtrack_lexer)) {
+ if (((u = this.test_match(f, p[m])), u !== !1)) return u;
+ if (this._backtrack) {
+ h = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return h
+ ? ((u = this.test_match(h, p[d])), u !== !1 ? u : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var h = this.next();
+ return h || this.lex();
+ }, 'lex'),
+ begin: o(function (h) {
+ this.conditionStack.push(h);
+ }, 'begin'),
+ popState: o(function () {
+ var h = this.conditionStack.length - 1;
+ return h > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (h) {
+ return (
+ (h = this.conditionStack.length - 1 - Math.abs(h || 0)),
+ h >= 0 ? this.conditionStack[h] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (h) {
+ this.begin(h);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (h, f, d, p) {
+ var m = p;
+ switch (d) {
+ case 0:
+ return this.pushState('csv'), 4;
+ break;
+ case 1:
+ return 10;
+ case 2:
+ return 5;
+ case 3:
+ return 12;
+ case 4:
+ return this.pushState('escaped_text'), 18;
+ break;
+ case 5:
+ return 20;
+ case 6:
+ return this.popState('escaped_text'), 18;
+ break;
+ case 7:
+ return 19;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:sankey-beta\b)/i,
+ /^(?:$)/i,
+ /^(?:((\u000D\u000A)|(\u000A)))/i,
+ /^(?:(\u002C))/i,
+ /^(?:(\u0022))/i,
+ /^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,
+ /^(?:(\u0022)(?!(\u0022)))/i,
+ /^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i
+ ],
+ conditions: {
+ csv: { rules: [1, 2, 3, 4, 5, 6, 7], inclusive: !1 },
+ escaped_text: { rules: [6, 7], inclusive: !1 },
+ INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7], inclusive: !0 }
+ }
+ };
+ return l;
+ })();
+ i.lexer = a;
+ function s() {
+ this.yy = {};
+ }
+ return o(s, 'Parser'), (s.prototype = i), (i.Parser = s), new s();
+ })();
+ EB.parser = EB;
+ cb = EB;
+ });
+ var J6,
+ eC,
+ Z6,
+ CZe,
+ CB,
+ SZe,
+ SB,
+ AZe,
+ _Ze,
+ LZe,
+ DZe,
+ wge,
+ Tge = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ bi();
+ (J6 = []),
+ (eC = []),
+ (Z6 = new Map()),
+ (CZe = o(() => {
+ (J6 = []), (eC = []), (Z6 = new Map()), vr();
+ }, 'clear')),
+ (CB = class {
+ constructor(e, r, n = 0) {
+ this.source = e;
+ this.target = r;
+ this.value = n;
+ }
+ static {
+ o(this, 'SankeyLink');
+ }
+ }),
+ (SZe = o((t, e, r) => {
+ J6.push(new CB(t, e, r));
+ }, 'addLink')),
+ (SB = class {
+ constructor(e) {
+ this.ID = e;
+ }
+ static {
+ o(this, 'SankeyNode');
+ }
+ }),
+ (AZe = o((t) => {
+ t = We.sanitizeText(t, de());
+ let e = Z6.get(t);
+ return e === void 0 && ((e = new SB(t)), Z6.set(t, e), eC.push(e)), e;
+ }, 'findOrCreateNode')),
+ (_Ze = o(() => eC, 'getNodes')),
+ (LZe = o(() => J6, 'getLinks')),
+ (DZe = o(
+ () => ({
+ nodes: eC.map((t) => ({ id: t.ID })),
+ links: J6.map((t) => ({
+ source: t.source.ID,
+ target: t.target.ID,
+ value: t.value
+ }))
+ }),
+ 'getGraph'
+ )),
+ (wge = {
+ nodesMap: Z6,
+ getConfig: o(() => de().sankey, 'getConfig'),
+ getNodes: _Ze,
+ getLinks: LZe,
+ getGraph: DZe,
+ addLink: SZe,
+ findOrCreateNode: AZe,
+ getAccTitle: Ar,
+ setAccTitle: kr,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ getDiagramTitle: Xr,
+ setDiagramTitle: nn,
+ clear: CZe
+ });
+ });
+ function ub(t, e) {
+ let r;
+ if (e === void 0) for (let n of t) n != null && (r < n || (r === void 0 && n >= n)) && (r = n);
+ else {
+ let n = -1;
+ for (let i of t) (i = e(i, ++n, t)) != null && (r < i || (r === void 0 && i >= i)) && (r = i);
+ }
+ return r;
+ }
+ var kge = R(() => {
+ 'use strict';
+ o(ub, 'max');
+ });
+ function x1(t, e) {
+ let r;
+ if (e === void 0) for (let n of t) n != null && (r > n || (r === void 0 && n >= n)) && (r = n);
+ else {
+ let n = -1;
+ for (let i of t) (i = e(i, ++n, t)) != null && (r > i || (r === void 0 && i >= i)) && (r = i);
+ }
+ return r;
+ }
+ var Ege = R(() => {
+ 'use strict';
+ o(x1, 'min');
+ });
+ function b1(t, e) {
+ let r = 0;
+ if (e === void 0) for (let n of t) (n = +n) && (r += n);
+ else {
+ let n = -1;
+ for (let i of t) (i = +e(i, ++n, t)) && (r += i);
+ }
+ return r;
+ }
+ var Cge = R(() => {
+ 'use strict';
+ o(b1, 'sum');
+ });
+ var AB = R(() => {
+ 'use strict';
+ kge();
+ Ege();
+ Cge();
+ });
+ function RZe(t) {
+ return t.target.depth;
+ }
+ function _B(t) {
+ return t.depth;
+ }
+ function LB(t, e) {
+ return e - 1 - t.height;
+ }
+ function hb(t, e) {
+ return t.sourceLinks.length ? t.depth : e - 1;
+ }
+ function DB(t) {
+ return t.targetLinks.length ? t.depth : t.sourceLinks.length ? x1(t.sourceLinks, RZe) - 1 : 0;
+ }
+ var RB = R(() => {
+ 'use strict';
+ AB();
+ o(RZe, 'targetDepth');
+ o(_B, 'left');
+ o(LB, 'right');
+ o(hb, 'justify');
+ o(DB, 'center');
+ });
+ function w1(t) {
+ return function () {
+ return t;
+ };
+ }
+ var Sge = R(() => {
+ 'use strict';
+ o(w1, 'constant');
+ });
+ function Age(t, e) {
+ return tC(t.source, e.source) || t.index - e.index;
+ }
+ function _ge(t, e) {
+ return tC(t.target, e.target) || t.index - e.index;
+ }
+ function tC(t, e) {
+ return t.y0 - e.y0;
+ }
+ function NB(t) {
+ return t.value;
+ }
+ function NZe(t) {
+ return t.index;
+ }
+ function MZe(t) {
+ return t.nodes;
+ }
+ function IZe(t) {
+ return t.links;
+ }
+ function Lge(t, e) {
+ let r = t.get(e);
+ if (!r) throw new Error('missing: ' + e);
+ return r;
+ }
+ function Dge({ nodes: t }) {
+ for (let e of t) {
+ let r = e.y0,
+ n = r;
+ for (let i of e.sourceLinks) (i.y0 = r + i.width / 2), (r += i.width);
+ for (let i of e.targetLinks) (i.y1 = n + i.width / 2), (n += i.width);
+ }
+ }
+ function rC() {
+ let t = 0,
+ e = 0,
+ r = 1,
+ n = 1,
+ i = 24,
+ a = 8,
+ s,
+ l = NZe,
+ u = hb,
+ h,
+ f,
+ d = MZe,
+ p = IZe,
+ m = 6;
+ function g() {
+ let O = {
+ nodes: d.apply(null, arguments),
+ links: p.apply(null, arguments)
+ };
+ return y(O), v(O), x(O), b(O), T(O), Dge(O), O;
+ }
+ o(g, 'sankey'),
+ (g.update = function (O) {
+ return Dge(O), O;
+ }),
+ (g.nodeId = function (O) {
+ return arguments.length ? ((l = typeof O == 'function' ? O : w1(O)), g) : l;
+ }),
+ (g.nodeAlign = function (O) {
+ return arguments.length ? ((u = typeof O == 'function' ? O : w1(O)), g) : u;
+ }),
+ (g.nodeSort = function (O) {
+ return arguments.length ? ((h = O), g) : h;
+ }),
+ (g.nodeWidth = function (O) {
+ return arguments.length ? ((i = +O), g) : i;
+ }),
+ (g.nodePadding = function (O) {
+ return arguments.length ? ((a = s = +O), g) : a;
+ }),
+ (g.nodes = function (O) {
+ return arguments.length ? ((d = typeof O == 'function' ? O : w1(O)), g) : d;
+ }),
+ (g.links = function (O) {
+ return arguments.length ? ((p = typeof O == 'function' ? O : w1(O)), g) : p;
+ }),
+ (g.linkSort = function (O) {
+ return arguments.length ? ((f = O), g) : f;
+ }),
+ (g.size = function (O) {
+ return arguments.length ? ((t = e = 0), (r = +O[0]), (n = +O[1]), g) : [r - t, n - e];
+ }),
+ (g.extent = function (O) {
+ return arguments.length
+ ? ((t = +O[0][0]), (r = +O[1][0]), (e = +O[0][1]), (n = +O[1][1]), g)
+ : [
+ [t, e],
+ [r, n]
+ ];
+ }),
+ (g.iterations = function (O) {
+ return arguments.length ? ((m = +O), g) : m;
+ });
+ function y({ nodes: O, links: D }) {
+ for (let [F, B] of O.entries()) (B.index = F), (B.sourceLinks = []), (B.targetLinks = []);
+ let P = new Map(O.map((F, B) => [l(F, B, O), F]));
+ for (let [F, B] of D.entries()) {
+ B.index = F;
+ let { source: $, target: z } = B;
+ typeof $ != 'object' && ($ = B.source = Lge(P, $)),
+ typeof z != 'object' && (z = B.target = Lge(P, z)),
+ $.sourceLinks.push(B),
+ z.targetLinks.push(B);
+ }
+ if (f != null) for (let { sourceLinks: F, targetLinks: B } of O) F.sort(f), B.sort(f);
+ }
+ o(y, 'computeNodeLinks');
+ function v({ nodes: O }) {
+ for (let D of O)
+ D.value =
+ D.fixedValue === void 0 ? Math.max(b1(D.sourceLinks, NB), b1(D.targetLinks, NB)) : D.fixedValue;
+ }
+ o(v, 'computeNodeValues');
+ function x({ nodes: O }) {
+ let D = O.length,
+ P = new Set(O),
+ F = new Set(),
+ B = 0;
+ for (; P.size; ) {
+ for (let $ of P) {
+ $.depth = B;
+ for (let { target: z } of $.sourceLinks) F.add(z);
+ }
+ if (++B > D) throw new Error('circular link');
+ (P = F), (F = new Set());
+ }
+ }
+ o(x, 'computeNodeDepths');
+ function b({ nodes: O }) {
+ let D = O.length,
+ P = new Set(O),
+ F = new Set(),
+ B = 0;
+ for (; P.size; ) {
+ for (let $ of P) {
+ $.height = B;
+ for (let { source: z } of $.targetLinks) F.add(z);
+ }
+ if (++B > D) throw new Error('circular link');
+ (P = F), (F = new Set());
+ }
+ }
+ o(b, 'computeNodeHeights');
+ function w({ nodes: O }) {
+ let D = ub(O, (B) => B.depth) + 1,
+ P = (r - t - i) / (D - 1),
+ F = new Array(D);
+ for (let B of O) {
+ let $ = Math.max(0, Math.min(D - 1, Math.floor(u.call(null, B, D))));
+ (B.layer = $), (B.x0 = t + $ * P), (B.x1 = B.x0 + i), F[$] ? F[$].push(B) : (F[$] = [B]);
+ }
+ if (h) for (let B of F) B.sort(h);
+ return F;
+ }
+ o(w, 'computeNodeLayers');
+ function S(O) {
+ let D = x1(O, (P) => (n - e - (P.length - 1) * s) / b1(P, NB));
+ for (let P of O) {
+ let F = e;
+ for (let B of P) {
+ (B.y0 = F), (B.y1 = F + B.value * D), (F = B.y1 + s);
+ for (let $ of B.sourceLinks) $.width = $.value * D;
+ }
+ F = (n - F + s) / (P.length + 1);
+ for (let B = 0; B < P.length; ++B) {
+ let $ = P[B];
+ ($.y0 += F * (B + 1)), ($.y1 += F * (B + 1));
+ }
+ k(P);
+ }
+ }
+ o(S, 'initializeNodeBreadths');
+ function T(O) {
+ let D = w(O);
+ (s = Math.min(a, (n - e) / (ub(D, (P) => P.length) - 1))), S(D);
+ for (let P = 0; P < m; ++P) {
+ let F = Math.pow(0.99, P),
+ B = Math.max(1 - F, (P + 1) / m);
+ _(D, F, B), E(D, F, B);
+ }
+ }
+ o(T, 'computeNodeBreadths');
+ function E(O, D, P) {
+ for (let F = 1, B = O.length; F < B; ++F) {
+ let $ = O[F];
+ for (let z of $) {
+ let Y = 0,
+ Q = 0;
+ for (let { source: ie, value: j } of z.targetLinks) {
+ let J = j * (z.layer - ie.layer);
+ (Y += I(ie, z) * J), (Q += J);
+ }
+ if (!(Q > 0)) continue;
+ let X = (Y / Q - z.y0) * D;
+ (z.y0 += X), (z.y1 += X), N(z);
+ }
+ h === void 0 && $.sort(tC), A($, P);
+ }
+ }
+ o(E, 'relaxLeftToRight');
+ function _(O, D, P) {
+ for (let F = O.length, B = F - 2; B >= 0; --B) {
+ let $ = O[B];
+ for (let z of $) {
+ let Y = 0,
+ Q = 0;
+ for (let { target: ie, value: j } of z.sourceLinks) {
+ let J = j * (ie.layer - z.layer);
+ (Y += C(z, ie) * J), (Q += J);
+ }
+ if (!(Q > 0)) continue;
+ let X = (Y / Q - z.y0) * D;
+ (z.y0 += X), (z.y1 += X), N(z);
+ }
+ h === void 0 && $.sort(tC), A($, P);
+ }
+ }
+ o(_, 'relaxRightToLeft');
+ function A(O, D) {
+ let P = O.length >> 1,
+ F = O[P];
+ M(O, F.y0 - s, P - 1, D), L(O, F.y1 + s, P + 1, D), M(O, n, O.length - 1, D), L(O, e, 0, D);
+ }
+ o(A, 'resolveCollisions');
+ function L(O, D, P, F) {
+ for (; P < O.length; ++P) {
+ let B = O[P],
+ $ = (D - B.y0) * F;
+ $ > 1e-6 && ((B.y0 += $), (B.y1 += $)), (D = B.y1 + s);
+ }
+ }
+ o(L, 'resolveCollisionsTopToBottom');
+ function M(O, D, P, F) {
+ for (; P >= 0; --P) {
+ let B = O[P],
+ $ = (B.y1 - D) * F;
+ $ > 1e-6 && ((B.y0 -= $), (B.y1 -= $)), (D = B.y0 - s);
+ }
+ }
+ o(M, 'resolveCollisionsBottomToTop');
+ function N({ sourceLinks: O, targetLinks: D }) {
+ if (f === void 0) {
+ for (let {
+ source: { sourceLinks: P }
+ } of D)
+ P.sort(_ge);
+ for (let {
+ target: { targetLinks: P }
+ } of O)
+ P.sort(Age);
+ }
+ }
+ o(N, 'reorderNodeLinks');
+ function k(O) {
+ if (f === void 0) for (let { sourceLinks: D, targetLinks: P } of O) D.sort(_ge), P.sort(Age);
+ }
+ o(k, 'reorderLinks');
+ function I(O, D) {
+ let P = O.y0 - ((O.sourceLinks.length - 1) * s) / 2;
+ for (let { target: F, width: B } of O.sourceLinks) {
+ if (F === D) break;
+ P += B + s;
+ }
+ for (let { source: F, width: B } of D.targetLinks) {
+ if (F === O) break;
+ P -= B;
+ }
+ return P;
+ }
+ o(I, 'targetTop');
+ function C(O, D) {
+ let P = D.y0 - ((D.targetLinks.length - 1) * s) / 2;
+ for (let { source: F, width: B } of D.targetLinks) {
+ if (F === O) break;
+ P += B + s;
+ }
+ for (let { target: F, width: B } of O.sourceLinks) {
+ if (F === D) break;
+ P -= B;
+ }
+ return P;
+ }
+ return o(C, 'sourceTop'), g;
+ }
+ var Rge = R(() => {
+ 'use strict';
+ AB();
+ RB();
+ Sge();
+ o(Age, 'ascendingSourceBreadth');
+ o(_ge, 'ascendingTargetBreadth');
+ o(tC, 'ascendingBreadth');
+ o(NB, 'value');
+ o(NZe, 'defaultId');
+ o(MZe, 'defaultNodes');
+ o(IZe, 'defaultLinks');
+ o(Lge, 'find');
+ o(Dge, 'computeLinkBreadths');
+ o(rC, 'Sankey');
+ });
+ function OB() {
+ (this._x0 = this._y0 = this._x1 = this._y1 = null), (this._ = '');
+ }
+ function Nge() {
+ return new OB();
+ }
+ var MB,
+ IB,
+ Q0,
+ OZe,
+ PB,
+ Mge = R(() => {
+ 'use strict';
+ (MB = Math.PI), (IB = 2 * MB), (Q0 = 1e-6), (OZe = IB - Q0);
+ o(OB, 'Path');
+ o(Nge, 'path');
+ OB.prototype = Nge.prototype = {
+ constructor: OB,
+ moveTo: o(function (t, e) {
+ this._ += 'M' + (this._x0 = this._x1 = +t) + ',' + (this._y0 = this._y1 = +e);
+ }, 'moveTo'),
+ closePath: o(function () {
+ this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), (this._ += 'Z'));
+ }, 'closePath'),
+ lineTo: o(function (t, e) {
+ this._ += 'L' + (this._x1 = +t) + ',' + (this._y1 = +e);
+ }, 'lineTo'),
+ quadraticCurveTo: o(function (t, e, r, n) {
+ this._ += 'Q' + +t + ',' + +e + ',' + (this._x1 = +r) + ',' + (this._y1 = +n);
+ }, 'quadraticCurveTo'),
+ bezierCurveTo: o(function (t, e, r, n, i, a) {
+ this._ += 'C' + +t + ',' + +e + ',' + +r + ',' + +n + ',' + (this._x1 = +i) + ',' + (this._y1 = +a);
+ }, 'bezierCurveTo'),
+ arcTo: o(function (t, e, r, n, i) {
+ (t = +t), (e = +e), (r = +r), (n = +n), (i = +i);
+ var a = this._x1,
+ s = this._y1,
+ l = r - t,
+ u = n - e,
+ h = a - t,
+ f = s - e,
+ d = h * h + f * f;
+ if (i < 0) throw new Error('negative radius: ' + i);
+ if (this._x1 === null) this._ += 'M' + (this._x1 = t) + ',' + (this._y1 = e);
+ else if (d > Q0)
+ if (!(Math.abs(f * l - u * h) > Q0) || !i)
+ this._ += 'L' + (this._x1 = t) + ',' + (this._y1 = e);
+ else {
+ var p = r - a,
+ m = n - s,
+ g = l * l + u * u,
+ y = p * p + m * m,
+ v = Math.sqrt(g),
+ x = Math.sqrt(d),
+ b = i * Math.tan((MB - Math.acos((g + d - y) / (2 * v * x))) / 2),
+ w = b / x,
+ S = b / v;
+ Math.abs(w - 1) > Q0 && (this._ += 'L' + (t + w * h) + ',' + (e + w * f)),
+ (this._ +=
+ 'A' +
+ i +
+ ',' +
+ i +
+ ',0,0,' +
+ +(f * p > h * m) +
+ ',' +
+ (this._x1 = t + S * l) +
+ ',' +
+ (this._y1 = e + S * u));
+ }
+ }, 'arcTo'),
+ arc: o(function (t, e, r, n, i, a) {
+ (t = +t), (e = +e), (r = +r), (a = !!a);
+ var s = r * Math.cos(n),
+ l = r * Math.sin(n),
+ u = t + s,
+ h = e + l,
+ f = 1 ^ a,
+ d = a ? n - i : i - n;
+ if (r < 0) throw new Error('negative radius: ' + r);
+ this._x1 === null
+ ? (this._ += 'M' + u + ',' + h)
+ : (Math.abs(this._x1 - u) > Q0 || Math.abs(this._y1 - h) > Q0) && (this._ += 'L' + u + ',' + h),
+ r &&
+ (d < 0 && (d = (d % IB) + IB),
+ d > OZe
+ ? (this._ +=
+ 'A' +
+ r +
+ ',' +
+ r +
+ ',0,1,' +
+ f +
+ ',' +
+ (t - s) +
+ ',' +
+ (e - l) +
+ 'A' +
+ r +
+ ',' +
+ r +
+ ',0,1,' +
+ f +
+ ',' +
+ (this._x1 = u) +
+ ',' +
+ (this._y1 = h))
+ : d > Q0 &&
+ (this._ +=
+ 'A' +
+ r +
+ ',' +
+ r +
+ ',0,' +
+ +(d >= MB) +
+ ',' +
+ f +
+ ',' +
+ (this._x1 = t + r * Math.cos(i)) +
+ ',' +
+ (this._y1 = e + r * Math.sin(i))));
+ }, 'arc'),
+ rect: o(function (t, e, r, n) {
+ this._ +=
+ 'M' +
+ (this._x0 = this._x1 = +t) +
+ ',' +
+ (this._y0 = this._y1 = +e) +
+ 'h' +
+ +r +
+ 'v' +
+ +n +
+ 'h' +
+ -r +
+ 'Z';
+ }, 'rect'),
+ toString: o(function () {
+ return this._;
+ }, 'toString')
+ };
+ PB = Nge;
+ });
+ var Ige = R(() => {
+ 'use strict';
+ Mge();
+ });
+ function nC(t) {
+ return o(function () {
+ return t;
+ }, 'constant');
+ }
+ var Oge = R(() => {
+ 'use strict';
+ o(nC, 'default');
+ });
+ function Pge(t) {
+ return t[0];
+ }
+ function Bge(t) {
+ return t[1];
+ }
+ var Fge = R(() => {
+ 'use strict';
+ o(Pge, 'x');
+ o(Bge, 'y');
+ });
+ var zge,
+ Gge = R(() => {
+ 'use strict';
+ zge = Array.prototype.slice;
+ });
+ function PZe(t) {
+ return t.source;
+ }
+ function BZe(t) {
+ return t.target;
+ }
+ function FZe(t) {
+ var e = PZe,
+ r = BZe,
+ n = Pge,
+ i = Bge,
+ a = null;
+ function s() {
+ var l,
+ u = zge.call(arguments),
+ h = e.apply(this, u),
+ f = r.apply(this, u);
+ if (
+ (a || (a = l = PB()),
+ t(
+ a,
+ +n.apply(this, ((u[0] = h), u)),
+ +i.apply(this, u),
+ +n.apply(this, ((u[0] = f), u)),
+ +i.apply(this, u)
+ ),
+ l)
+ )
+ return (a = null), l + '' || null;
+ }
+ return (
+ o(s, 'link'),
+ (s.source = function (l) {
+ return arguments.length ? ((e = l), s) : e;
+ }),
+ (s.target = function (l) {
+ return arguments.length ? ((r = l), s) : r;
+ }),
+ (s.x = function (l) {
+ return arguments.length ? ((n = typeof l == 'function' ? l : nC(+l)), s) : n;
+ }),
+ (s.y = function (l) {
+ return arguments.length ? ((i = typeof l == 'function' ? l : nC(+l)), s) : i;
+ }),
+ (s.context = function (l) {
+ return arguments.length ? ((a = l ?? null), s) : a;
+ }),
+ s
+ );
+ }
+ function zZe(t, e, r, n, i) {
+ t.moveTo(e, r), t.bezierCurveTo((e = (e + n) / 2), r, e, i, n, i);
+ }
+ function BB() {
+ return FZe(zZe);
+ }
+ var $ge = R(() => {
+ 'use strict';
+ Ige();
+ Gge();
+ Oge();
+ Fge();
+ o(PZe, 'linkSource');
+ o(BZe, 'linkTarget');
+ o(FZe, 'link');
+ o(zZe, 'curveHorizontal');
+ o(BB, 'linkHorizontal');
+ });
+ var Vge = R(() => {
+ 'use strict';
+ $ge();
+ });
+ function GZe(t) {
+ return [t.source.x1, t.y0];
+ }
+ function $Ze(t) {
+ return [t.target.x0, t.y1];
+ }
+ function iC() {
+ return BB().source(GZe).target($Ze);
+ }
+ var Uge = R(() => {
+ 'use strict';
+ Vge();
+ o(GZe, 'horizontalSource');
+ o($Ze, 'horizontalTarget');
+ o(iC, 'default');
+ });
+ var Hge = R(() => {
+ 'use strict';
+ Rge();
+ RB();
+ Uge();
+ });
+ var fb,
+ Yge = R(() => {
+ 'use strict';
+ fb = class t {
+ static {
+ o(this, 'Uid');
+ }
+ static {
+ this.count = 0;
+ }
+ static next(e) {
+ return new t(e + ++t.count);
+ }
+ constructor(e) {
+ (this.id = e), (this.href = `#${e}`);
+ }
+ toString() {
+ return 'url(' + this.href + ')';
+ }
+ };
+ });
+ var VZe,
+ UZe,
+ Wge,
+ qge = R(() => {
+ 'use strict';
+ _t();
+ Zt();
+ Hge();
+ Yn();
+ Yge();
+ (VZe = { left: _B, right: LB, center: DB, justify: hb }),
+ (UZe = o(function (t, e, r, n) {
+ let { securityLevel: i, sankey: a } = de(),
+ s = _4.sankey,
+ l;
+ i === 'sandbox' && (l = $e('#i' + e));
+ let u = i === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body'),
+ h = i === 'sandbox' ? u.select(`[id="${e}"]`) : $e(`[id="${e}"]`),
+ f = a?.width ?? s.width,
+ d = a?.height ?? s.width,
+ p = a?.useMaxWidth ?? s.useMaxWidth,
+ m = a?.nodeAlignment ?? s.nodeAlignment,
+ g = a?.prefix ?? s.prefix,
+ y = a?.suffix ?? s.suffix,
+ v = a?.showValues ?? s.showValues,
+ x = n.db.getGraph(),
+ b = VZe[m];
+ rC()
+ .nodeId((M) => M.id)
+ .nodeWidth(10)
+ .nodePadding(10 + (v ? 15 : 0))
+ .nodeAlign(b)
+ .extent([
+ [0, 0],
+ [f, d]
+ ])(x);
+ let T = pu(Z8);
+ h.append('g')
+ .attr('class', 'nodes')
+ .selectAll('.node')
+ .data(x.nodes)
+ .join('g')
+ .attr('class', 'node')
+ .attr('id', (M) => (M.uid = fb.next('node-')).id)
+ .attr('transform', function (M) {
+ return 'translate(' + M.x0 + ',' + M.y0 + ')';
+ })
+ .attr('x', (M) => M.x0)
+ .attr('y', (M) => M.y0)
+ .append('rect')
+ .attr('height', (M) => M.y1 - M.y0)
+ .attr('width', (M) => M.x1 - M.x0)
+ .attr('fill', (M) => T(M.id));
+ let E = o(
+ ({ id: M, value: N }) =>
+ v
+ ? `${M}
+${g}${Math.round(N * 100) / 100}${y}`
+ : M,
+ 'getText'
+ );
+ h.append('g')
+ .attr('class', 'node-labels')
+ .attr('font-family', 'sans-serif')
+ .attr('font-size', 14)
+ .selectAll('text')
+ .data(x.nodes)
+ .join('text')
+ .attr('x', (M) => (M.x0 < f / 2 ? M.x1 + 6 : M.x0 - 6))
+ .attr('y', (M) => (M.y1 + M.y0) / 2)
+ .attr('dy', `${v ? '0' : '0.35'}em`)
+ .attr('text-anchor', (M) => (M.x0 < f / 2 ? 'start' : 'end'))
+ .text(E);
+ let _ = h
+ .append('g')
+ .attr('class', 'links')
+ .attr('fill', 'none')
+ .attr('stroke-opacity', 0.5)
+ .selectAll('.link')
+ .data(x.links)
+ .join('g')
+ .attr('class', 'link')
+ .style('mix-blend-mode', 'multiply'),
+ A = a?.linkColor ?? 'gradient';
+ if (A === 'gradient') {
+ let M = _.append('linearGradient')
+ .attr('id', (N) => (N.uid = fb.next('linearGradient-')).id)
+ .attr('gradientUnits', 'userSpaceOnUse')
+ .attr('x1', (N) => N.source.x1)
+ .attr('x2', (N) => N.target.x0);
+ M.append('stop')
+ .attr('offset', '0%')
+ .attr('stop-color', (N) => T(N.source.id)),
+ M.append('stop')
+ .attr('offset', '100%')
+ .attr('stop-color', (N) => T(N.target.id));
+ }
+ let L;
+ switch (A) {
+ case 'gradient':
+ L = o((M) => M.uid, 'coloring');
+ break;
+ case 'source':
+ L = o((M) => T(M.source.id), 'coloring');
+ break;
+ case 'target':
+ L = o((M) => T(M.target.id), 'coloring');
+ break;
+ default:
+ L = A;
+ }
+ _.append('path')
+ .attr('d', iC())
+ .attr('stroke', L)
+ .attr('stroke-width', (M) => Math.max(1, M.width)),
+ Lo(void 0, h, 0, p);
+ }, 'draw')),
+ (Wge = { draw: UZe });
+ });
+ var Xge,
+ jge = R(() => {
+ 'use strict';
+ Xge = o(
+ (t) =>
+ t
+ .replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g, '')
+ .replaceAll(
+ /([\n\r])+/g,
+ `
+`
+ )
+ .trim(),
+ 'prepareTextForParsing'
+ );
+ });
+ var Kge = {};
+ hr(Kge, { diagram: () => YZe });
+ var HZe,
+ YZe,
+ Qge = R(() => {
+ 'use strict';
+ bge();
+ Tge();
+ qge();
+ jge();
+ HZe = cb.parse.bind(cb);
+ cb.parse = (t) => HZe(Xge(t));
+ YZe = { parser: cb, db: wge, renderer: Wge };
+ });
+ var e1e,
+ FB,
+ jZe,
+ KZe,
+ QZe,
+ ZZe,
+ JZe,
+ Mf,
+ zB = R(() => {
+ 'use strict';
+ qs();
+ sl();
+ xr();
+ bi();
+ (e1e = { packet: [] }),
+ (FB = structuredClone(e1e)),
+ (jZe = mr.packet),
+ (KZe = o(() => {
+ let t = Ts({ ...jZe, ...Or().packet });
+ return t.showBits && (t.paddingY += 10), t;
+ }, 'getConfig')),
+ (QZe = o(() => FB.packet, 'getPacket')),
+ (ZZe = o((t) => {
+ t.length > 0 && FB.packet.push(t);
+ }, 'pushWord')),
+ (JZe = o(() => {
+ vr(), (FB = structuredClone(e1e));
+ }, 'clear')),
+ (Mf = {
+ pushWord: ZZe,
+ getPacket: QZe,
+ getConfig: KZe,
+ clear: JZe,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ getAccDescription: Lr,
+ setAccDescription: _r
+ });
+ });
+ var eJe,
+ tJe,
+ rJe,
+ t1e,
+ r1e = R(() => {
+ 'use strict';
+ Lg();
+ ut();
+ sx();
+ zB();
+ (eJe = 1e4),
+ (tJe = o((t) => {
+ cf(t, Mf);
+ let e = -1,
+ r = [],
+ n = 1,
+ { bitsPerRow: i } = Mf.getConfig();
+ for (let { start: a, end: s, label: l } of t.blocks) {
+ if (s && s < a)
+ throw new Error(`Packet block ${a} - ${s} is invalid. End must be greater than start.`);
+ if (a !== e + 1)
+ throw new Error(
+ `Packet block ${a} - ${s ?? a} is not contiguous. It should start from ${e + 1}.`
+ );
+ for (
+ e = s ?? a, V.debug(`Packet block ${a} - ${e} with label ${l}`);
+ r.length <= i + 1 && Mf.getPacket().length < eJe;
+
+ ) {
+ let [u, h] = rJe({ start: a, end: s, label: l }, n, i);
+ if ((r.push(u), u.end + 1 === n * i && (Mf.pushWord(r), (r = []), n++), !h)) break;
+ ({ start: a, end: s, label: l } = h);
+ }
+ }
+ Mf.pushWord(r);
+ }, 'populate')),
+ (rJe = o((t, e, r) => {
+ if ((t.end === void 0 && (t.end = t.start), t.start > t.end))
+ throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);
+ return t.end + 1 <= e * r
+ ? [t, void 0]
+ : [
+ { start: t.start, end: e * r - 1, label: t.label },
+ { start: e * r, end: t.end, label: t.label }
+ ];
+ }, 'getNextFittingBlock')),
+ (t1e = {
+ parse: o(async (t) => {
+ let e = await Fl('packet', t);
+ V.debug(e), tJe(e);
+ }, 'parse')
+ });
+ });
+ var nJe,
+ iJe,
+ n1e,
+ i1e = R(() => {
+ 'use strict';
+ pf();
+ Yn();
+ (nJe = o((t, e, r, n) => {
+ let i = n.db,
+ a = i.getConfig(),
+ { rowHeight: s, paddingY: l, bitWidth: u, bitsPerRow: h } = a,
+ f = i.getPacket(),
+ d = i.getDiagramTitle(),
+ p = s + l,
+ m = p * (f.length + 1) - (d ? 0 : s),
+ g = u * h + 2,
+ y = Ps(e);
+ y.attr('viewbox', `0 0 ${g} ${m}`), Sr(y, m, g, a.useMaxWidth);
+ for (let [v, x] of f.entries()) iJe(y, x, v, a);
+ y.append('text')
+ .text(d)
+ .attr('x', g / 2)
+ .attr('y', m - p / 2)
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle')
+ .attr('class', 'packetTitle');
+ }, 'draw')),
+ (iJe = o(
+ (t, e, r, { rowHeight: n, paddingX: i, paddingY: a, bitWidth: s, bitsPerRow: l, showBits: u }) => {
+ let h = t.append('g'),
+ f = r * (n + a) + a;
+ for (let d of e) {
+ let p = (d.start % l) * s + 1,
+ m = (d.end - d.start + 1) * s - i;
+ if (
+ (h
+ .append('rect')
+ .attr('x', p)
+ .attr('y', f)
+ .attr('width', m)
+ .attr('height', n)
+ .attr('class', 'packetBlock'),
+ h
+ .append('text')
+ .attr('x', p + m / 2)
+ .attr('y', f + n / 2)
+ .attr('class', 'packetLabel')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle')
+ .text(d.label),
+ !u)
+ )
+ continue;
+ let g = d.end === d.start,
+ y = f - 2;
+ h
+ .append('text')
+ .attr('x', p + (g ? m / 2 : 0))
+ .attr('y', y)
+ .attr('class', 'packetByte start')
+ .attr('dominant-baseline', 'auto')
+ .attr('text-anchor', g ? 'middle' : 'start')
+ .text(d.start),
+ g ||
+ h
+ .append('text')
+ .attr('x', p + m)
+ .attr('y', y)
+ .attr('class', 'packetByte end')
+ .attr('dominant-baseline', 'auto')
+ .attr('text-anchor', 'end')
+ .text(d.end);
+ }
+ },
+ 'drawWord'
+ )),
+ (n1e = { draw: nJe });
+ });
+ var aJe,
+ a1e,
+ s1e = R(() => {
+ 'use strict';
+ xr();
+ (aJe = {
+ byteFontSize: '10px',
+ startByteColor: 'black',
+ endByteColor: 'black',
+ labelColor: 'black',
+ labelFontSize: '12px',
+ titleColor: 'black',
+ titleFontSize: '14px',
+ blockStrokeColor: 'black',
+ blockStrokeWidth: '1',
+ blockFillColor: '#efefef'
+ }),
+ (a1e = o(({ packet: t } = {}) => {
+ let e = Ts(aJe, t);
+ return `
+ .packetByte {
+ font-size: ${e.byteFontSize};
+ }
+ .packetByte.start {
+ fill: ${e.startByteColor};
+ }
+ .packetByte.end {
+ fill: ${e.endByteColor};
+ }
+ .packetLabel {
+ fill: ${e.labelColor};
+ font-size: ${e.labelFontSize};
+ }
+ .packetTitle {
+ fill: ${e.titleColor};
+ font-size: ${e.titleFontSize};
+ }
+ .packetBlock {
+ stroke: ${e.blockStrokeColor};
+ stroke-width: ${e.blockStrokeWidth};
+ fill: ${e.blockFillColor};
+ }
+ `;
+ }, 'styles'));
+ });
+ var o1e = {};
+ hr(o1e, { diagram: () => sJe });
+ var sJe,
+ l1e = R(() => {
+ 'use strict';
+ zB();
+ r1e();
+ i1e();
+ s1e();
+ sJe = { parser: t1e, db: Mf, renderer: n1e, styles: a1e };
+ });
+ var GB,
+ h1e,
+ f1e = R(() => {
+ 'use strict';
+ GB = (function () {
+ var t = o(function (w, S, T, E) {
+ for (T = T || {}, E = w.length; E--; T[w[E]] = S);
+ return T;
+ }, 'o'),
+ e = [1, 7],
+ r = [1, 13],
+ n = [1, 14],
+ i = [1, 15],
+ a = [1, 19],
+ s = [1, 16],
+ l = [1, 17],
+ u = [1, 18],
+ h = [8, 30],
+ f = [8, 21, 28, 29, 30, 31, 32, 40, 44, 47],
+ d = [1, 23],
+ p = [1, 24],
+ m = [8, 15, 16, 21, 28, 29, 30, 31, 32, 40, 44, 47],
+ g = [8, 15, 16, 21, 27, 28, 29, 30, 31, 32, 40, 44, 47],
+ y = [1, 49],
+ v = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ spaceLines: 3,
+ SPACELINE: 4,
+ NL: 5,
+ separator: 6,
+ SPACE: 7,
+ EOF: 8,
+ start: 9,
+ BLOCK_DIAGRAM_KEY: 10,
+ document: 11,
+ stop: 12,
+ statement: 13,
+ link: 14,
+ LINK: 15,
+ START_LINK: 16,
+ LINK_LABEL: 17,
+ STR: 18,
+ nodeStatement: 19,
+ columnsStatement: 20,
+ SPACE_BLOCK: 21,
+ blockStatement: 22,
+ classDefStatement: 23,
+ cssClassStatement: 24,
+ styleStatement: 25,
+ node: 26,
+ SIZE: 27,
+ COLUMNS: 28,
+ 'id-block': 29,
+ end: 30,
+ block: 31,
+ NODE_ID: 32,
+ nodeShapeNLabel: 33,
+ dirList: 34,
+ DIR: 35,
+ NODE_DSTART: 36,
+ NODE_DEND: 37,
+ BLOCK_ARROW_START: 38,
+ BLOCK_ARROW_END: 39,
+ classDef: 40,
+ CLASSDEF_ID: 41,
+ CLASSDEF_STYLEOPTS: 42,
+ DEFAULT: 43,
+ class: 44,
+ CLASSENTITY_IDS: 45,
+ STYLECLASS: 46,
+ style: 47,
+ STYLE_ENTITY_IDS: 48,
+ STYLE_DEFINITION_DATA: 49,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'SPACELINE',
+ 5: 'NL',
+ 7: 'SPACE',
+ 8: 'EOF',
+ 10: 'BLOCK_DIAGRAM_KEY',
+ 15: 'LINK',
+ 16: 'START_LINK',
+ 17: 'LINK_LABEL',
+ 18: 'STR',
+ 21: 'SPACE_BLOCK',
+ 27: 'SIZE',
+ 28: 'COLUMNS',
+ 29: 'id-block',
+ 30: 'end',
+ 31: 'block',
+ 32: 'NODE_ID',
+ 35: 'DIR',
+ 36: 'NODE_DSTART',
+ 37: 'NODE_DEND',
+ 38: 'BLOCK_ARROW_START',
+ 39: 'BLOCK_ARROW_END',
+ 40: 'classDef',
+ 41: 'CLASSDEF_ID',
+ 42: 'CLASSDEF_STYLEOPTS',
+ 43: 'DEFAULT',
+ 44: 'class',
+ 45: 'CLASSENTITY_IDS',
+ 46: 'STYLECLASS',
+ 47: 'style',
+ 48: 'STYLE_ENTITY_IDS',
+ 49: 'STYLE_DEFINITION_DATA'
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 2],
+ [3, 2],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [9, 3],
+ [12, 1],
+ [12, 1],
+ [12, 2],
+ [12, 2],
+ [11, 1],
+ [11, 2],
+ [14, 1],
+ [14, 4],
+ [13, 1],
+ [13, 1],
+ [13, 1],
+ [13, 1],
+ [13, 1],
+ [13, 1],
+ [13, 1],
+ [19, 3],
+ [19, 2],
+ [19, 1],
+ [20, 1],
+ [22, 4],
+ [22, 3],
+ [26, 1],
+ [26, 2],
+ [34, 1],
+ [34, 2],
+ [33, 3],
+ [33, 4],
+ [23, 3],
+ [23, 3],
+ [24, 3],
+ [25, 3]
+ ],
+ performAction: o(function (S, T, E, _, A, L, M) {
+ var N = L.length - 1;
+ switch (A) {
+ case 4:
+ _.getLogger().debug('Rule: separator (NL) ');
+ break;
+ case 5:
+ _.getLogger().debug('Rule: separator (Space) ');
+ break;
+ case 6:
+ _.getLogger().debug('Rule: separator (EOF) ');
+ break;
+ case 7:
+ _.getLogger().debug('Rule: hierarchy: ', L[N - 1]), _.setHierarchy(L[N - 1]);
+ break;
+ case 8:
+ _.getLogger().debug('Stop NL ');
+ break;
+ case 9:
+ _.getLogger().debug('Stop EOF ');
+ break;
+ case 10:
+ _.getLogger().debug('Stop NL2 ');
+ break;
+ case 11:
+ _.getLogger().debug('Stop EOF2 ');
+ break;
+ case 12:
+ _.getLogger().debug('Rule: statement: ', L[N]),
+ typeof L[N].length == 'number' ? (this.$ = L[N]) : (this.$ = [L[N]]);
+ break;
+ case 13:
+ _.getLogger().debug('Rule: statement #2: ', L[N - 1]),
+ (this.$ = [L[N - 1]].concat(L[N]));
+ break;
+ case 14:
+ _.getLogger().debug('Rule: link: ', L[N], S),
+ (this.$ = { edgeTypeStr: L[N], label: '' });
+ break;
+ case 15:
+ _.getLogger().debug('Rule: LABEL link: ', L[N - 3], L[N - 1], L[N]),
+ (this.$ = { edgeTypeStr: L[N], label: L[N - 1] });
+ break;
+ case 18:
+ let k = parseInt(L[N]),
+ I = _.generateId();
+ this.$ = {
+ id: I,
+ type: 'space',
+ label: '',
+ width: k,
+ children: []
+ };
+ break;
+ case 23:
+ _.getLogger().debug(
+ 'Rule: (nodeStatement link node) ',
+ L[N - 2],
+ L[N - 1],
+ L[N],
+ ' typestr: ',
+ L[N - 1].edgeTypeStr
+ );
+ let C = _.edgeStrToEdgeData(L[N - 1].edgeTypeStr);
+ this.$ = [
+ {
+ id: L[N - 2].id,
+ label: L[N - 2].label,
+ type: L[N - 2].type,
+ directions: L[N - 2].directions
+ },
+ {
+ id: L[N - 2].id + '-' + L[N].id,
+ start: L[N - 2].id,
+ end: L[N].id,
+ label: L[N - 1].label,
+ type: 'edge',
+ directions: L[N].directions,
+ arrowTypeEnd: C,
+ arrowTypeStart: 'arrow_open'
+ },
+ {
+ id: L[N].id,
+ label: L[N].label,
+ type: _.typeStr2Type(L[N].typeStr),
+ directions: L[N].directions
+ }
+ ];
+ break;
+ case 24:
+ _.getLogger().debug('Rule: nodeStatement (abc88 node size) ', L[N - 1], L[N]),
+ (this.$ = {
+ id: L[N - 1].id,
+ label: L[N - 1].label,
+ type: _.typeStr2Type(L[N - 1].typeStr),
+ directions: L[N - 1].directions,
+ widthInColumns: parseInt(L[N], 10)
+ });
+ break;
+ case 25:
+ _.getLogger().debug('Rule: nodeStatement (node) ', L[N]),
+ (this.$ = {
+ id: L[N].id,
+ label: L[N].label,
+ type: _.typeStr2Type(L[N].typeStr),
+ directions: L[N].directions,
+ widthInColumns: 1
+ });
+ break;
+ case 26:
+ _.getLogger().debug('APA123', this ? this : 'na'),
+ _.getLogger().debug('COLUMNS: ', L[N]),
+ (this.$ = {
+ type: 'column-setting',
+ columns: L[N] === 'auto' ? -1 : parseInt(L[N])
+ });
+ break;
+ case 27:
+ _.getLogger().debug('Rule: id-block statement : ', L[N - 2], L[N - 1]);
+ let O = _.generateId();
+ this.$ = {
+ ...L[N - 2],
+ type: 'composite',
+ children: L[N - 1]
+ };
+ break;
+ case 28:
+ _.getLogger().debug('Rule: blockStatement : ', L[N - 2], L[N - 1], L[N]);
+ let D = _.generateId();
+ this.$ = {
+ id: D,
+ type: 'composite',
+ label: '',
+ children: L[N - 1]
+ };
+ break;
+ case 29:
+ _.getLogger().debug('Rule: node (NODE_ID separator): ', L[N]),
+ (this.$ = { id: L[N] });
+ break;
+ case 30:
+ _.getLogger().debug(
+ 'Rule: node (NODE_ID nodeShapeNLabel separator): ',
+ L[N - 1],
+ L[N]
+ ),
+ (this.$ = {
+ id: L[N - 1],
+ label: L[N].label,
+ typeStr: L[N].typeStr,
+ directions: L[N].directions
+ });
+ break;
+ case 31:
+ _.getLogger().debug('Rule: dirList: ', L[N]), (this.$ = [L[N]]);
+ break;
+ case 32:
+ _.getLogger().debug('Rule: dirList: ', L[N - 1], L[N]),
+ (this.$ = [L[N - 1]].concat(L[N]));
+ break;
+ case 33:
+ _.getLogger().debug('Rule: nodeShapeNLabel: ', L[N - 2], L[N - 1], L[N]),
+ (this.$ = { typeStr: L[N - 2] + L[N], label: L[N - 1] });
+ break;
+ case 34:
+ _.getLogger().debug(
+ 'Rule: BLOCK_ARROW nodeShapeNLabel: ',
+ L[N - 3],
+ L[N - 2],
+ ' #3:',
+ L[N - 1],
+ L[N]
+ ),
+ (this.$ = {
+ typeStr: L[N - 3] + L[N],
+ label: L[N - 2],
+ directions: L[N - 1]
+ });
+ break;
+ case 35:
+ case 36:
+ this.$ = {
+ type: 'classDef',
+ id: L[N - 1].trim(),
+ css: L[N].trim()
+ };
+ break;
+ case 37:
+ this.$ = {
+ type: 'applyClass',
+ id: L[N - 1].trim(),
+ styleClass: L[N].trim()
+ };
+ break;
+ case 38:
+ this.$ = {
+ type: 'applyStyles',
+ id: L[N - 1].trim(),
+ stylesStr: L[N].trim()
+ };
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 9: 1, 10: [1, 2] },
+ { 1: [3] },
+ {
+ 11: 3,
+ 13: 4,
+ 19: 5,
+ 20: 6,
+ 21: e,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 28: r,
+ 29: n,
+ 31: i,
+ 32: a,
+ 40: s,
+ 44: l,
+ 47: u
+ },
+ { 8: [1, 20] },
+ t(h, [2, 12], {
+ 13: 4,
+ 19: 5,
+ 20: 6,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 11: 21,
+ 21: e,
+ 28: r,
+ 29: n,
+ 31: i,
+ 32: a,
+ 40: s,
+ 44: l,
+ 47: u
+ }),
+ t(f, [2, 16], { 14: 22, 15: d, 16: p }),
+ t(f, [2, 17]),
+ t(f, [2, 18]),
+ t(f, [2, 19]),
+ t(f, [2, 20]),
+ t(f, [2, 21]),
+ t(f, [2, 22]),
+ t(m, [2, 25], { 27: [1, 25] }),
+ t(f, [2, 26]),
+ { 19: 26, 26: 12, 32: a },
+ {
+ 11: 27,
+ 13: 4,
+ 19: 5,
+ 20: 6,
+ 21: e,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 28: r,
+ 29: n,
+ 31: i,
+ 32: a,
+ 40: s,
+ 44: l,
+ 47: u
+ },
+ { 41: [1, 28], 43: [1, 29] },
+ { 45: [1, 30] },
+ { 48: [1, 31] },
+ t(g, [2, 29], { 33: 32, 36: [1, 33], 38: [1, 34] }),
+ { 1: [2, 7] },
+ t(h, [2, 13]),
+ { 26: 35, 32: a },
+ { 32: [2, 14] },
+ { 17: [1, 36] },
+ t(m, [2, 24]),
+ {
+ 11: 37,
+ 13: 4,
+ 14: 22,
+ 15: d,
+ 16: p,
+ 19: 5,
+ 20: 6,
+ 21: e,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 28: r,
+ 29: n,
+ 31: i,
+ 32: a,
+ 40: s,
+ 44: l,
+ 47: u
+ },
+ { 30: [1, 38] },
+ { 42: [1, 39] },
+ { 42: [1, 40] },
+ { 46: [1, 41] },
+ { 49: [1, 42] },
+ t(g, [2, 30]),
+ { 18: [1, 43] },
+ { 18: [1, 44] },
+ t(m, [2, 23]),
+ { 18: [1, 45] },
+ { 30: [1, 46] },
+ t(f, [2, 28]),
+ t(f, [2, 35]),
+ t(f, [2, 36]),
+ t(f, [2, 37]),
+ t(f, [2, 38]),
+ { 37: [1, 47] },
+ { 34: 48, 35: y },
+ { 15: [1, 50] },
+ t(f, [2, 27]),
+ t(g, [2, 33]),
+ { 39: [1, 51] },
+ { 34: 52, 35: y, 39: [2, 31] },
+ { 32: [2, 15] },
+ t(g, [2, 34]),
+ { 39: [2, 32] }
+ ],
+ defaultActions: {
+ 20: [2, 7],
+ 23: [2, 14],
+ 50: [2, 15],
+ 52: [2, 32]
+ },
+ parseError: o(function (S, T) {
+ if (T.recoverable) this.trace(S);
+ else {
+ var E = new Error(S);
+ throw ((E.hash = T), E);
+ }
+ }, 'parseError'),
+ parse: o(function (S) {
+ var T = this,
+ E = [0],
+ _ = [],
+ A = [null],
+ L = [],
+ M = this.table,
+ N = '',
+ k = 0,
+ I = 0,
+ C = 0,
+ O = 2,
+ D = 1,
+ P = L.slice.call(arguments, 1),
+ F = Object.create(this.lexer),
+ B = { yy: {} };
+ for (var $ in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, $) && (B.yy[$] = this.yy[$]);
+ F.setInput(S, B.yy),
+ (B.yy.lexer = F),
+ (B.yy.parser = this),
+ typeof F.yylloc > 'u' && (F.yylloc = {});
+ var z = F.yylloc;
+ L.push(z);
+ var Y = F.options && F.options.ranges;
+ typeof B.yy.parseError == 'function'
+ ? (this.parseError = B.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Q(oe) {
+ (E.length = E.length - 2 * oe), (A.length = A.length - oe), (L.length = L.length - oe);
+ }
+ o(Q, 'popStack');
+ function X() {
+ var oe;
+ return (
+ (oe = _.pop() || F.lex() || D),
+ typeof oe != 'number' &&
+ (oe instanceof Array && ((_ = oe), (oe = _.pop())),
+ (oe = T.symbols_[oe] || oe)),
+ oe
+ );
+ }
+ o(X, 'lex');
+ for (var ie, j, J, Z, H, q, K = {}, se, ce, ue, te; ; ) {
+ if (
+ ((J = E[E.length - 1]),
+ this.defaultActions[J]
+ ? (Z = this.defaultActions[J])
+ : ((ie === null || typeof ie > 'u') && (ie = X()), (Z = M[J] && M[J][ie])),
+ typeof Z > 'u' || !Z.length || !Z[0])
+ ) {
+ var De = '';
+ te = [];
+ for (se in M[J])
+ this.terminals_[se] && se > O && te.push("'" + this.terminals_[se] + "'");
+ F.showPosition
+ ? (De =
+ 'Parse error on line ' +
+ (k + 1) +
+ `:
+` +
+ F.showPosition() +
+ `
+Expecting ` +
+ te.join(', ') +
+ ", got '" +
+ (this.terminals_[ie] || ie) +
+ "'")
+ : (De =
+ 'Parse error on line ' +
+ (k + 1) +
+ ': Unexpected ' +
+ (ie == D ? 'end of input' : "'" + (this.terminals_[ie] || ie) + "'")),
+ this.parseError(De, {
+ text: F.match,
+ token: this.terminals_[ie] || ie,
+ line: F.yylineno,
+ loc: z,
+ expected: te
+ });
+ }
+ if (Z[0] instanceof Array && Z.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + J + ', token: ' + ie
+ );
+ switch (Z[0]) {
+ case 1:
+ E.push(ie),
+ A.push(F.yytext),
+ L.push(F.yylloc),
+ E.push(Z[1]),
+ (ie = null),
+ j
+ ? ((ie = j), (j = null))
+ : ((I = F.yyleng),
+ (N = F.yytext),
+ (k = F.yylineno),
+ (z = F.yylloc),
+ C > 0 && C--);
+ break;
+ case 2:
+ if (
+ ((ce = this.productions_[Z[1]][1]),
+ (K.$ = A[A.length - ce]),
+ (K._$ = {
+ first_line: L[L.length - (ce || 1)].first_line,
+ last_line: L[L.length - 1].last_line,
+ first_column: L[L.length - (ce || 1)].first_column,
+ last_column: L[L.length - 1].last_column
+ }),
+ Y &&
+ (K._$.range = [
+ L[L.length - (ce || 1)].range[0],
+ L[L.length - 1].range[1]
+ ]),
+ (q = this.performAction.apply(K, [N, I, k, B.yy, Z[1], A, L].concat(P))),
+ typeof q < 'u')
+ )
+ return q;
+ ce &&
+ ((E = E.slice(0, -1 * ce * 2)),
+ (A = A.slice(0, -1 * ce)),
+ (L = L.slice(0, -1 * ce))),
+ E.push(this.productions_[Z[1]][0]),
+ A.push(K.$),
+ L.push(K._$),
+ (ue = M[E[E.length - 2]][E[E.length - 1]]),
+ E.push(ue);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ x = (function () {
+ var w = {
+ EOF: 1,
+ parseError: o(function (T, E) {
+ if (this.yy.parser) this.yy.parser.parseError(T, E);
+ else throw new Error(T);
+ }, 'parseError'),
+ setInput: o(function (S, T) {
+ return (
+ (this.yy = T || this.yy || {}),
+ (this._input = S),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var S = this._input[0];
+ (this.yytext += S),
+ this.yyleng++,
+ this.offset++,
+ (this.match += S),
+ (this.matched += S);
+ var T = S.match(/(?:\r\n?|\n).*/g);
+ return (
+ T ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ S
+ );
+ }, 'input'),
+ unput: o(function (S) {
+ var T = S.length,
+ E = S.split(/(?:\r\n?|\n)/g);
+ (this._input = S + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - T)),
+ (this.offset -= T);
+ var _ = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ E.length - 1 && (this.yylineno -= E.length - 1);
+ var A = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: E
+ ? (E.length === _.length ? this.yylloc.first_column : 0) +
+ _[_.length - E.length].length -
+ E[0].length
+ : this.yylloc.first_column - T
+ }),
+ this.options.ranges && (this.yylloc.range = [A[0], A[0] + this.yyleng - T]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (S) {
+ this.unput(this.match.slice(S));
+ }, 'less'),
+ pastInput: o(function () {
+ var S = this.matched.substr(0, this.matched.length - this.match.length);
+ return (S.length > 20 ? '...' : '') + S.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var S = this.match;
+ return (
+ S.length < 20 && (S += this._input.substr(0, 20 - S.length)),
+ (S.substr(0, 20) + (S.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var S = this.pastInput(),
+ T = new Array(S.length + 1).join('-');
+ return (
+ S +
+ this.upcomingInput() +
+ `
+` +
+ T +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (S, T) {
+ var E, _, A;
+ if (
+ (this.options.backtrack_lexer &&
+ ((A = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (A.yylloc.range = this.yylloc.range.slice(0))),
+ (_ = S[0].match(/(?:\r\n?|\n).*/g)),
+ _ && (this.yylineno += _.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: _
+ ? _[_.length - 1].length - _[_.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + S[0].length
+ }),
+ (this.yytext += S[0]),
+ (this.match += S[0]),
+ (this.matches = S),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(S[0].length)),
+ (this.matched += S[0]),
+ (E = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ T,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ E)
+ )
+ return E;
+ if (this._backtrack) {
+ for (var L in A) this[L] = A[L];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var S, T, E, _;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var A = this._currentRules(), L = 0; L < A.length; L++)
+ if (
+ ((E = this._input.match(this.rules[A[L]])),
+ E && (!T || E[0].length > T[0].length))
+ ) {
+ if (((T = E), (_ = L), this.options.backtrack_lexer)) {
+ if (((S = this.test_match(E, A[L])), S !== !1)) return S;
+ if (this._backtrack) {
+ T = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return T
+ ? ((S = this.test_match(T, A[_])), S !== !1 ? S : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var T = this.next();
+ return T || this.lex();
+ }, 'lex'),
+ begin: o(function (T) {
+ this.conditionStack.push(T);
+ }, 'begin'),
+ popState: o(function () {
+ var T = this.conditionStack.length - 1;
+ return T > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (T) {
+ return (
+ (T = this.conditionStack.length - 1 - Math.abs(T || 0)),
+ T >= 0 ? this.conditionStack[T] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (T) {
+ this.begin(T);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: {},
+ performAction: o(function (T, E, _, A) {
+ var L = A;
+ switch (_) {
+ case 0:
+ return 10;
+ case 1:
+ return T.getLogger().debug('Found space-block'), 31;
+ break;
+ case 2:
+ return T.getLogger().debug('Found nl-block'), 31;
+ break;
+ case 3:
+ return T.getLogger().debug('Found space-block'), 29;
+ break;
+ case 4:
+ T.getLogger().debug('.', E.yytext);
+ break;
+ case 5:
+ T.getLogger().debug('_', E.yytext);
+ break;
+ case 6:
+ return 5;
+ case 7:
+ return (E.yytext = -1), 28;
+ break;
+ case 8:
+ return (
+ (E.yytext = E.yytext.replace(/columns\s+/, '')),
+ T.getLogger().debug('COLUMNS (LEX)', E.yytext),
+ 28
+ );
+ break;
+ case 9:
+ this.pushState('md_string');
+ break;
+ case 10:
+ return 'MD_STR';
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ this.pushState('string');
+ break;
+ case 13:
+ T.getLogger().debug('LEX: POPPING STR:', E.yytext), this.popState();
+ break;
+ case 14:
+ return T.getLogger().debug('LEX: STR end:', E.yytext), 'STR';
+ break;
+ case 15:
+ return (
+ (E.yytext = E.yytext.replace(/space\:/, '')),
+ T.getLogger().debug('SPACE NUM (LEX)', E.yytext),
+ 21
+ );
+ break;
+ case 16:
+ return (E.yytext = '1'), T.getLogger().debug('COLUMNS (LEX)', E.yytext), 21;
+ break;
+ case 17:
+ return 43;
+ case 18:
+ return 'LINKSTYLE';
+ case 19:
+ return 'INTERPOLATE';
+ case 20:
+ return this.pushState('CLASSDEF'), 40;
+ break;
+ case 21:
+ return this.popState(), this.pushState('CLASSDEFID'), 'DEFAULT_CLASSDEF_ID';
+ break;
+ case 22:
+ return this.popState(), this.pushState('CLASSDEFID'), 41;
+ break;
+ case 23:
+ return this.popState(), 42;
+ break;
+ case 24:
+ return this.pushState('CLASS'), 44;
+ break;
+ case 25:
+ return this.popState(), this.pushState('CLASS_STYLE'), 45;
+ break;
+ case 26:
+ return this.popState(), 46;
+ break;
+ case 27:
+ return this.pushState('STYLE_STMNT'), 47;
+ break;
+ case 28:
+ return this.popState(), this.pushState('STYLE_DEFINITION'), 48;
+ break;
+ case 29:
+ return this.popState(), 49;
+ break;
+ case 30:
+ return this.pushState('acc_title'), 'acc_title';
+ break;
+ case 31:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 32:
+ return this.pushState('acc_descr'), 'acc_descr';
+ break;
+ case 33:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 34:
+ this.pushState('acc_descr_multiline');
+ break;
+ case 35:
+ this.popState();
+ break;
+ case 36:
+ return 'acc_descr_multiline_value';
+ case 37:
+ return 30;
+ case 38:
+ return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND';
+ break;
+ case 39:
+ return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND';
+ break;
+ case 40:
+ return this.popState(), T.getLogger().debug('Lex: ))'), 'NODE_DEND';
+ break;
+ case 41:
+ return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND';
+ break;
+ case 42:
+ return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND';
+ break;
+ case 43:
+ return this.popState(), T.getLogger().debug('Lex: (-'), 'NODE_DEND';
+ break;
+ case 44:
+ return this.popState(), T.getLogger().debug('Lex: -)'), 'NODE_DEND';
+ break;
+ case 45:
+ return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND';
+ break;
+ case 46:
+ return this.popState(), T.getLogger().debug('Lex: ]]'), 'NODE_DEND';
+ break;
+ case 47:
+ return this.popState(), T.getLogger().debug('Lex: ('), 'NODE_DEND';
+ break;
+ case 48:
+ return this.popState(), T.getLogger().debug('Lex: ])'), 'NODE_DEND';
+ break;
+ case 49:
+ return this.popState(), T.getLogger().debug('Lex: /]'), 'NODE_DEND';
+ break;
+ case 50:
+ return this.popState(), T.getLogger().debug('Lex: /]'), 'NODE_DEND';
+ break;
+ case 51:
+ return this.popState(), T.getLogger().debug('Lex: )]'), 'NODE_DEND';
+ break;
+ case 52:
+ return this.popState(), T.getLogger().debug('Lex: )'), 'NODE_DEND';
+ break;
+ case 53:
+ return this.popState(), T.getLogger().debug('Lex: ]>'), 'NODE_DEND';
+ break;
+ case 54:
+ return this.popState(), T.getLogger().debug('Lex: ]'), 'NODE_DEND';
+ break;
+ case 55:
+ return T.getLogger().debug('Lexa: -)'), this.pushState('NODE'), 36;
+ break;
+ case 56:
+ return T.getLogger().debug('Lexa: (-'), this.pushState('NODE'), 36;
+ break;
+ case 57:
+ return T.getLogger().debug('Lexa: ))'), this.pushState('NODE'), 36;
+ break;
+ case 58:
+ return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36;
+ break;
+ case 59:
+ return T.getLogger().debug('Lex: ((('), this.pushState('NODE'), 36;
+ break;
+ case 60:
+ return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36;
+ break;
+ case 61:
+ return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36;
+ break;
+ case 62:
+ return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36;
+ break;
+ case 63:
+ return T.getLogger().debug('Lexc: >'), this.pushState('NODE'), 36;
+ break;
+ case 64:
+ return T.getLogger().debug('Lexa: (['), this.pushState('NODE'), 36;
+ break;
+ case 65:
+ return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36;
+ break;
+ case 66:
+ return this.pushState('NODE'), 36;
+ break;
+ case 67:
+ return this.pushState('NODE'), 36;
+ break;
+ case 68:
+ return this.pushState('NODE'), 36;
+ break;
+ case 69:
+ return this.pushState('NODE'), 36;
+ break;
+ case 70:
+ return this.pushState('NODE'), 36;
+ break;
+ case 71:
+ return this.pushState('NODE'), 36;
+ break;
+ case 72:
+ return this.pushState('NODE'), 36;
+ break;
+ case 73:
+ return T.getLogger().debug('Lexa: ['), this.pushState('NODE'), 36;
+ break;
+ case 74:
+ return this.pushState('BLOCK_ARROW'), T.getLogger().debug('LEX ARR START'), 38;
+ break;
+ case 75:
+ return T.getLogger().debug('Lex: NODE_ID', E.yytext), 32;
+ break;
+ case 76:
+ return T.getLogger().debug('Lex: EOF', E.yytext), 8;
+ break;
+ case 77:
+ this.pushState('md_string');
+ break;
+ case 78:
+ this.pushState('md_string');
+ break;
+ case 79:
+ return 'NODE_DESCR';
+ case 80:
+ this.popState();
+ break;
+ case 81:
+ T.getLogger().debug('Lex: Starting string'), this.pushState('string');
+ break;
+ case 82:
+ T.getLogger().debug('LEX ARR: Starting string'), this.pushState('string');
+ break;
+ case 83:
+ return T.getLogger().debug('LEX: NODE_DESCR:', E.yytext), 'NODE_DESCR';
+ break;
+ case 84:
+ T.getLogger().debug('LEX POPPING'), this.popState();
+ break;
+ case 85:
+ T.getLogger().debug('Lex: =>BAE'), this.pushState('ARROW_DIR');
+ break;
+ case 86:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (right): dir:', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 87:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (left):', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 88:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (x):', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 89:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (y):', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 90:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (up):', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 91:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (down):', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 92:
+ return (
+ (E.yytext = ']>'),
+ T.getLogger().debug('Lex (ARROW_DIR end):', E.yytext),
+ this.popState(),
+ this.popState(),
+ 'BLOCK_ARROW_END'
+ );
+ break;
+ case 93:
+ return T.getLogger().debug('Lex: LINK', '#' + E.yytext + '#'), 15;
+ break;
+ case 94:
+ return T.getLogger().debug('Lex: LINK', E.yytext), 15;
+ break;
+ case 95:
+ return T.getLogger().debug('Lex: LINK', E.yytext), 15;
+ break;
+ case 96:
+ return T.getLogger().debug('Lex: LINK', E.yytext), 15;
+ break;
+ case 97:
+ return (
+ T.getLogger().debug('Lex: START_LINK', E.yytext),
+ this.pushState('LLABEL'),
+ 16
+ );
+ break;
+ case 98:
+ return (
+ T.getLogger().debug('Lex: START_LINK', E.yytext),
+ this.pushState('LLABEL'),
+ 16
+ );
+ break;
+ case 99:
+ return (
+ T.getLogger().debug('Lex: START_LINK', E.yytext),
+ this.pushState('LLABEL'),
+ 16
+ );
+ break;
+ case 100:
+ this.pushState('md_string');
+ break;
+ case 101:
+ return (
+ T.getLogger().debug('Lex: Starting string'),
+ this.pushState('string'),
+ 'LINK_LABEL'
+ );
+ break;
+ case 102:
+ return (
+ this.popState(), T.getLogger().debug('Lex: LINK', '#' + E.yytext + '#'), 15
+ );
+ break;
+ case 103:
+ return this.popState(), T.getLogger().debug('Lex: LINK', E.yytext), 15;
+ break;
+ case 104:
+ return this.popState(), T.getLogger().debug('Lex: LINK', E.yytext), 15;
+ break;
+ case 105:
+ return (
+ T.getLogger().debug('Lex: COLON', E.yytext),
+ (E.yytext = E.yytext.slice(1)),
+ 27
+ );
+ break;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:block-beta\b)/,
+ /^(?:block\s+)/,
+ /^(?:block\n+)/,
+ /^(?:block:)/,
+ /^(?:[\s]+)/,
+ /^(?:[\n]+)/,
+ /^(?:((\u000D\u000A)|(\u000A)))/,
+ /^(?:columns\s+auto\b)/,
+ /^(?:columns\s+[\d]+)/,
+ /^(?:["][`])/,
+ /^(?:[^`"]+)/,
+ /^(?:[`]["])/,
+ /^(?:["])/,
+ /^(?:["])/,
+ /^(?:[^"]*)/,
+ /^(?:space[:]\d+)/,
+ /^(?:space\b)/,
+ /^(?:default\b)/,
+ /^(?:linkStyle\b)/,
+ /^(?:interpolate\b)/,
+ /^(?:classDef\s+)/,
+ /^(?:DEFAULT\s+)/,
+ /^(?:\w+\s+)/,
+ /^(?:[^\n]*)/,
+ /^(?:class\s+)/,
+ /^(?:(\w+)+((,\s*\w+)*))/,
+ /^(?:[^\n]*)/,
+ /^(?:style\s+)/,
+ /^(?:(\w+)+((,\s*\w+)*))/,
+ /^(?:[^\n]*)/,
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:end\b\s*)/,
+ /^(?:\(\(\()/,
+ /^(?:\)\)\))/,
+ /^(?:[\)]\))/,
+ /^(?:\}\})/,
+ /^(?:\})/,
+ /^(?:\(-)/,
+ /^(?:-\))/,
+ /^(?:\(\()/,
+ /^(?:\]\])/,
+ /^(?:\()/,
+ /^(?:\]\))/,
+ /^(?:\\\])/,
+ /^(?:\/\])/,
+ /^(?:\)\])/,
+ /^(?:[\)])/,
+ /^(?:\]>)/,
+ /^(?:[\]])/,
+ /^(?:-\))/,
+ /^(?:\(-)/,
+ /^(?:\)\))/,
+ /^(?:\))/,
+ /^(?:\(\(\()/,
+ /^(?:\(\()/,
+ /^(?:\{\{)/,
+ /^(?:\{)/,
+ /^(?:>)/,
+ /^(?:\(\[)/,
+ /^(?:\()/,
+ /^(?:\[\[)/,
+ /^(?:\[\|)/,
+ /^(?:\[\()/,
+ /^(?:\)\)\))/,
+ /^(?:\[\\)/,
+ /^(?:\[\/)/,
+ /^(?:\[\\)/,
+ /^(?:\[)/,
+ /^(?:<\[)/,
+ /^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,
+ /^(?:$)/,
+ /^(?:["][`])/,
+ /^(?:["][`])/,
+ /^(?:[^`"]+)/,
+ /^(?:[`]["])/,
+ /^(?:["])/,
+ /^(?:["])/,
+ /^(?:[^"]+)/,
+ /^(?:["])/,
+ /^(?:\]>\s*\()/,
+ /^(?:,?\s*right\s*)/,
+ /^(?:,?\s*left\s*)/,
+ /^(?:,?\s*x\s*)/,
+ /^(?:,?\s*y\s*)/,
+ /^(?:,?\s*up\s*)/,
+ /^(?:,?\s*down\s*)/,
+ /^(?:\)\s*)/,
+ /^(?:\s*[xo<]?--+[-xo>]\s*)/,
+ /^(?:\s*[xo<]?==+[=xo>]\s*)/,
+ /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,
+ /^(?:\s*~~[\~]+\s*)/,
+ /^(?:\s*[xo<]?--\s*)/,
+ /^(?:\s*[xo<]?==\s*)/,
+ /^(?:\s*[xo<]?-\.\s*)/,
+ /^(?:["][`])/,
+ /^(?:["])/,
+ /^(?:\s*[xo<]?--+[-xo>]\s*)/,
+ /^(?:\s*[xo<]?==+[=xo>]\s*)/,
+ /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,
+ /^(?::\d+)/
+ ],
+ conditions: {
+ STYLE_DEFINITION: { rules: [29], inclusive: !1 },
+ STYLE_STMNT: { rules: [28], inclusive: !1 },
+ CLASSDEFID: { rules: [23], inclusive: !1 },
+ CLASSDEF: { rules: [21, 22], inclusive: !1 },
+ CLASS_STYLE: { rules: [26], inclusive: !1 },
+ CLASS: { rules: [25], inclusive: !1 },
+ LLABEL: { rules: [100, 101, 102, 103, 104], inclusive: !1 },
+ ARROW_DIR: {
+ rules: [86, 87, 88, 89, 90, 91, 92],
+ inclusive: !1
+ },
+ BLOCK_ARROW: { rules: [77, 82, 85], inclusive: !1 },
+ NODE: {
+ rules: [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 78, 81],
+ inclusive: !1
+ },
+ md_string: { rules: [10, 11, 79, 80], inclusive: !1 },
+ space: { rules: [], inclusive: !1 },
+ string: { rules: [13, 14, 83, 84], inclusive: !1 },
+ acc_descr_multiline: { rules: [35, 36], inclusive: !1 },
+ acc_descr: { rules: [33], inclusive: !1 },
+ acc_title: { rules: [31], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 17, 18, 19, 20, 24, 27, 30, 32, 34,
+ 37, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 93, 94, 95, 96, 97, 98, 99, 105
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return w;
+ })();
+ v.lexer = x;
+ function b() {
+ this.yy = {};
+ }
+ return o(b, 'Parser'), (b.prototype = v), (v.Parser = b), new b();
+ })();
+ GB.parser = GB;
+ h1e = GB;
+ });
+ function gJe(t) {
+ switch ((V.debug('typeStr2Type', t), t)) {
+ case '[]':
+ return 'square';
+ case '()':
+ return V.debug('we have a round'), 'round';
+ case '(())':
+ return 'circle';
+ case '>]':
+ return 'rect_left_inv_arrow';
+ case '{}':
+ return 'diamond';
+ case '{{}}':
+ return 'hexagon';
+ case '([])':
+ return 'stadium';
+ case '[[]]':
+ return 'subroutine';
+ case '[()]':
+ return 'cylinder';
+ case '((()))':
+ return 'doublecircle';
+ case '[//]':
+ return 'lean_right';
+ case '[\\\\]':
+ return 'lean_left';
+ case '[/\\]':
+ return 'trapezoid';
+ case '[\\/]':
+ return 'inv_trapezoid';
+ case '<[]>':
+ return 'block_arrow';
+ default:
+ return 'na';
+ }
+ }
+ function yJe(t) {
+ switch ((V.debug('typeStr2Type', t), t)) {
+ case '==':
+ return 'thick';
+ default:
+ return 'normal';
+ }
+ }
+ function vJe(t) {
+ switch (t.trim()) {
+ case '--x':
+ return 'arrow_cross';
+ case '--o':
+ return 'arrow_circle';
+ default:
+ return 'arrow_point';
+ }
+ }
+ var Yl,
+ VB,
+ $B,
+ d1e,
+ p1e,
+ cJe,
+ g1e,
+ uJe,
+ aC,
+ hJe,
+ fJe,
+ dJe,
+ pJe,
+ y1e,
+ UB,
+ db,
+ mJe,
+ m1e,
+ xJe,
+ bJe,
+ wJe,
+ TJe,
+ kJe,
+ EJe,
+ CJe,
+ SJe,
+ AJe,
+ _Je,
+ LJe,
+ v1e,
+ x1e = R(() => {
+ 'use strict';
+ gL();
+ qs();
+ _t();
+ ut();
+ rr();
+ bi();
+ (Yl = new Map()),
+ (VB = []),
+ ($B = new Map()),
+ (d1e = 'color'),
+ (p1e = 'fill'),
+ (cJe = 'bgFill'),
+ (g1e = ','),
+ (uJe = de()),
+ (aC = new Map()),
+ (hJe = o((t) => We.sanitizeText(t, uJe), 'sanitizeText')),
+ (fJe = o(function (t, e = '') {
+ let r = aC.get(t);
+ r || ((r = { id: t, styles: [], textStyles: [] }), aC.set(t, r)),
+ e?.split(g1e).forEach((n) => {
+ let i = n.replace(/([^;]*);/, '$1').trim();
+ if (RegExp(d1e).exec(n)) {
+ let s = i.replace(p1e, cJe).replace(d1e, p1e);
+ r.textStyles.push(s);
+ }
+ r.styles.push(i);
+ });
+ }, 'addStyleClass')),
+ (dJe = o(function (t, e = '') {
+ let r = Yl.get(t);
+ e != null && (r.styles = e.split(g1e));
+ }, 'addStyle2Node')),
+ (pJe = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ let n = Yl.get(r);
+ if (n === void 0) {
+ let i = r.trim();
+ (n = { id: i, type: 'na', children: [] }), Yl.set(i, n);
+ }
+ n.classes || (n.classes = []), n.classes.push(e);
+ });
+ }, 'setCssClass')),
+ (y1e = o((t, e) => {
+ let r = t.flat(),
+ n = [];
+ for (let i of r) {
+ if ((i.label && (i.label = hJe(i.label)), i.type === 'classDef')) {
+ fJe(i.id, i.css);
+ continue;
+ }
+ if (i.type === 'applyClass') {
+ pJe(i.id, i?.styleClass ?? '');
+ continue;
+ }
+ if (i.type === 'applyStyles') {
+ i?.stylesStr && dJe(i.id, i?.stylesStr);
+ continue;
+ }
+ if (i.type === 'column-setting') e.columns = i.columns ?? -1;
+ else if (i.type === 'edge') {
+ let a = ($B.get(i.id) ?? 0) + 1;
+ $B.set(i.id, a), (i.id = a + '-' + i.id), VB.push(i);
+ } else {
+ i.label || (i.type === 'composite' ? (i.label = '') : (i.label = i.id));
+ let a = Yl.get(i.id);
+ if (
+ (a === void 0
+ ? Yl.set(i.id, i)
+ : (i.type !== 'na' && (a.type = i.type), i.label !== i.id && (a.label = i.label)),
+ i.children && y1e(i.children, i),
+ i.type === 'space')
+ ) {
+ let s = i.width ?? 1;
+ for (let l = 0; l < s; l++) {
+ let u = Qr(i);
+ (u.id = u.id + '-' + l), Yl.set(u.id, u), n.push(u);
+ }
+ } else a === void 0 && n.push(i);
+ }
+ }
+ e.children = n;
+ }, 'populateBlockDatabase')),
+ (UB = []),
+ (db = { id: 'root', type: 'composite', children: [], columns: -1 }),
+ (mJe = o(() => {
+ V.debug('Clear called'),
+ vr(),
+ (db = { id: 'root', type: 'composite', children: [], columns: -1 }),
+ (Yl = new Map([['root', db]])),
+ (UB = []),
+ (aC = new Map()),
+ (VB = []),
+ ($B = new Map());
+ }, 'clear'));
+ o(gJe, 'typeStr2Type');
+ o(yJe, 'edgeTypeStr2Type');
+ o(vJe, 'edgeStrToEdgeData');
+ (m1e = 0),
+ (xJe = o(() => (m1e++, 'id-' + Math.random().toString(36).substr(2, 12) + '-' + m1e), 'generateId')),
+ (bJe = o((t) => {
+ (db.children = t), y1e(t, db), (UB = db.children);
+ }, 'setHierarchy')),
+ (wJe = o((t) => {
+ let e = Yl.get(t);
+ return e ? (e.columns ? e.columns : e.children ? e.children.length : -1) : -1;
+ }, 'getColumns')),
+ (TJe = o(() => [...Yl.values()], 'getBlocksFlat')),
+ (kJe = o(() => UB || [], 'getBlocks')),
+ (EJe = o(() => VB, 'getEdges')),
+ (CJe = o((t) => Yl.get(t), 'getBlock')),
+ (SJe = o((t) => {
+ Yl.set(t.id, t);
+ }, 'setBlock')),
+ (AJe = o(() => console, 'getLogger')),
+ (_Je = o(function () {
+ return aC;
+ }, 'getClasses')),
+ (LJe = {
+ getConfig: o(() => Or().block, 'getConfig'),
+ typeStr2Type: gJe,
+ edgeTypeStr2Type: yJe,
+ edgeStrToEdgeData: vJe,
+ getLogger: AJe,
+ getBlocksFlat: TJe,
+ getBlocks: kJe,
+ getEdges: EJe,
+ setHierarchy: bJe,
+ getBlock: CJe,
+ setBlock: SJe,
+ getColumns: wJe,
+ getClasses: _Je,
+ clear: mJe,
+ generateId: xJe
+ }),
+ (v1e = LJe);
+ });
+ var sC,
+ DJe,
+ b1e,
+ w1e = R(() => {
+ 'use strict';
+ al();
+ (sC = o((t, e) => {
+ let r = X1,
+ n = r(t, 'r'),
+ i = r(t, 'g'),
+ a = r(t, 'b');
+ return Ws(n, i, a, e);
+ }, 'fade')),
+ (DJe = o(
+ (t) => `.label {
+ font-family: ${t.fontFamily};
+ color: ${t.nodeTextColor || t.textColor};
+ }
+ .cluster-label text {
+ fill: ${t.titleColor};
+ }
+ .cluster-label span,p {
+ color: ${t.titleColor};
+ }
+
+
+
+ .label text,span,p {
+ fill: ${t.nodeTextColor || t.textColor};
+ color: ${t.nodeTextColor || t.textColor};
+ }
+
+ .node rect,
+ .node circle,
+ .node ellipse,
+ .node polygon,
+ .node path {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+ stroke-width: 1px;
+ }
+ .flowchart-label text {
+ text-anchor: middle;
+ }
+ // .flowchart-label .text-outer-tspan {
+ // text-anchor: middle;
+ // }
+ // .flowchart-label .text-inner-tspan {
+ // text-anchor: start;
+ // }
+
+ .node .label {
+ text-align: center;
+ }
+ .node.clickable {
+ cursor: pointer;
+ }
+
+ .arrowheadPath {
+ fill: ${t.arrowheadColor};
+ }
+
+ .edgePath .path {
+ stroke: ${t.lineColor};
+ stroke-width: 2.0px;
+ }
+
+ .flowchart-link {
+ stroke: ${t.lineColor};
+ fill: none;
+ }
+
+ .edgeLabel {
+ background-color: ${t.edgeLabelBackground};
+ rect {
+ opacity: 0.5;
+ background-color: ${t.edgeLabelBackground};
+ fill: ${t.edgeLabelBackground};
+ }
+ text-align: center;
+ }
+
+ /* For html labels only */
+ .labelBkg {
+ background-color: ${sC(t.edgeLabelBackground, 0.5)};
+ // background-color:
+ }
+
+ .node .cluster {
+ // fill: ${sC(t.mainBkg, 0.5)};
+ fill: ${sC(t.clusterBkg, 0.5)};
+ stroke: ${sC(t.clusterBorder, 0.2)};
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
+ stroke-width: 1px;
+ }
+
+ .cluster text {
+ fill: ${t.titleColor};
+ }
+
+ .cluster span,p {
+ color: ${t.titleColor};
+ }
+ /* .cluster div {
+ color: ${t.titleColor};
+ } */
+
+ div.mermaidTooltip {
+ position: absolute;
+ text-align: center;
+ max-width: 200px;
+ padding: 2px;
+ font-family: ${t.fontFamily};
+ font-size: 12px;
+ background: ${t.tertiaryColor};
+ border: 1px solid ${t.border2};
+ border-radius: 2px;
+ pointer-events: none;
+ z-index: 100;
+ }
+
+ .flowchartTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+ }
+`,
+ 'getStyles'
+ )),
+ (b1e = DJe);
+ });
+ function RJe(t, e) {
+ if (t === 0 || !Number.isInteger(t)) throw new Error('Columns must be an integer !== 0.');
+ if (e < 0 || !Number.isInteger(e)) throw new Error('Position must be a non-negative integer.' + e);
+ if (t < 0) return { px: e, py: 0 };
+ if (t === 1) return { px: 0, py: e };
+ let r = e % t,
+ n = Math.floor(e / t);
+ return { px: r, py: n };
+ }
+ function HB(t, e, r = 0, n = 0) {
+ V.debug('setBlockSizes abc95 (start)', t.id, t?.size?.x, 'block width =', t?.size, 'sieblingWidth', r),
+ t?.size?.width || (t.size = { width: r, height: n, x: 0, y: 0 });
+ let i = 0,
+ a = 0;
+ if (t.children?.length > 0) {
+ for (let m of t.children) HB(m, e);
+ let s = NJe(t);
+ (i = s.width), (a = s.height), V.debug('setBlockSizes abc95 maxWidth of', t.id, ':s children is ', i, a);
+ for (let m of t.children)
+ m.size &&
+ (V.debug(
+ `abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`
+ ),
+ (m.size.width = i * (m.widthInColumns ?? 1) + mi * ((m.widthInColumns ?? 1) - 1)),
+ (m.size.height = a),
+ (m.size.x = 0),
+ (m.size.y = 0),
+ V.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));
+ for (let m of t.children) HB(m, e, i, a);
+ let l = t.columns ?? -1,
+ u = 0;
+ for (let m of t.children) u += m.widthInColumns ?? 1;
+ let h = t.children.length;
+ l > 0 && l < u && (h = l);
+ let f = Math.ceil(u / h),
+ d = h * (i + mi) + mi,
+ p = f * (a + mi) + mi;
+ if (d < r) {
+ V.debug(`Detected to small siebling: abc95 ${t.id} sieblingWidth ${r} sieblingHeight ${n} width ${d}`),
+ (d = r),
+ (p = n);
+ let m = (r - h * mi - mi) / h,
+ g = (n - f * mi - mi) / f;
+ V.debug('Size indata abc88', t.id, 'childWidth', m, 'maxWidth', i),
+ V.debug('Size indata abc88', t.id, 'childHeight', g, 'maxHeight', a),
+ V.debug('Size indata abc88 xSize', h, 'padding', mi);
+ for (let y of t.children)
+ y.size && ((y.size.width = m), (y.size.height = g), (y.size.x = 0), (y.size.y = 0));
+ }
+ if (
+ (V.debug(
+ `abc95 (finale calc) ${t.id} xSize ${h} ySize ${f} columns ${l}${
+ t.children.length
+ } width=${Math.max(d, t.size?.width || 0)}`
+ ),
+ d < (t?.size?.width || 0))
+ ) {
+ d = t?.size?.width || 0;
+ let m = l > 0 ? Math.min(t.children.length, l) : t.children.length;
+ if (m > 0) {
+ let g = (d - m * mi - mi) / m;
+ V.debug('abc95 (growing to fit) width', t.id, d, t.size?.width, g);
+ for (let y of t.children) y.size && (y.size.width = g);
+ }
+ }
+ t.size = { width: d, height: p, x: 0, y: 0 };
+ }
+ V.debug('setBlockSizes abc94 (done)', t.id, t?.size?.x, t?.size?.width, t?.size?.y, t?.size?.height);
+ }
+ function T1e(t, e) {
+ V.debug(
+ `abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`
+ );
+ let r = t.columns ?? -1;
+ if ((V.debug('layoutBlocks columns abc95', t.id, '=>', r, t), t.children && t.children.length > 0)) {
+ let n = t?.children[0]?.size?.width ?? 0,
+ i = t.children.length * n + (t.children.length - 1) * mi;
+ V.debug('widthOfChildren 88', i, 'posX');
+ let a = 0;
+ V.debug('abc91 block?.size?.x', t.id, t?.size?.x);
+ let s = t?.size?.x ? t?.size?.x + (-t?.size?.width / 2 || 0) : -mi,
+ l = 0;
+ for (let u of t.children) {
+ let h = t;
+ if (!u.size) continue;
+ let { width: f, height: d } = u.size,
+ { px: p, py: m } = RJe(r, a);
+ if (
+ (m != l &&
+ ((l = m),
+ (s = t?.size?.x ? t?.size?.x + (-t?.size?.width / 2 || 0) : -mi),
+ V.debug('New row in layout for block', t.id, ' and child ', u.id, l)),
+ V.debug(
+ `abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${mi}`
+ ),
+ h.size)
+ ) {
+ let g = f / 2;
+ (u.size.x = s + mi + g),
+ V.debug(
+ `abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${s} new startingPosX${
+ u.size.x
+ } ${g} padding=${mi} width=${f} halfWidth=${g} => x:${u.size.x} y:${u.size.y} ${
+ u.widthInColumns
+ } (width * (child?.w || 1)) / 2 ${(f * (u?.widthInColumns ?? 1)) / 2}`
+ ),
+ (s = u.size.x + g),
+ (u.size.y = h.size.y - h.size.height / 2 + m * (d + mi) + d / 2 + mi),
+ V.debug(
+ `abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${s}${mi}${g}=>x:${u.size.x}y:${
+ u.size.y
+ }${u.widthInColumns}(width * (child?.w || 1)) / 2${(f * (u?.widthInColumns ?? 1)) / 2}`
+ );
+ }
+ u.children && T1e(u, e), (a += u?.widthInColumns ?? 1), V.debug('abc88 columnsPos', u, a);
+ }
+ }
+ V.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);
+ }
+ function k1e(
+ t,
+ { minX: e, minY: r, maxX: n, maxY: i } = {
+ minX: 0,
+ minY: 0,
+ maxX: 0,
+ maxY: 0
+ }
+ ) {
+ if (t.size && t.id !== 'root') {
+ let { x: a, y: s, width: l, height: u } = t.size;
+ a - l / 2 < e && (e = a - l / 2),
+ s - u / 2 < r && (r = s - u / 2),
+ a + l / 2 > n && (n = a + l / 2),
+ s + u / 2 > i && (i = s + u / 2);
+ }
+ if (t.children)
+ for (let a of t.children)
+ ({ minX: e, minY: r, maxX: n, maxY: i } = k1e(a, { minX: e, minY: r, maxX: n, maxY: i }));
+ return { minX: e, minY: r, maxX: n, maxY: i };
+ }
+ function E1e(t) {
+ let e = t.getBlock('root');
+ if (!e) return;
+ HB(e, t, 0, 0), T1e(e, t), V.debug('getBlocks', JSON.stringify(e, null, 2));
+ let { minX: r, minY: n, maxX: i, maxY: a } = k1e(e),
+ s = a - n,
+ l = i - r;
+ return { x: r, y: n, width: l, height: s };
+ }
+ var mi,
+ NJe,
+ C1e = R(() => {
+ 'use strict';
+ ut();
+ _t();
+ mi = de()?.block?.padding ?? 8;
+ o(RJe, 'calculateBlockPosition');
+ NJe = o((t) => {
+ let e = 0,
+ r = 0;
+ for (let n of t.children) {
+ let { width: i, height: a, x: s, y: l } = n.size ?? { width: 0, height: 0, x: 0, y: 0 };
+ V.debug('getMaxChildSize abc95 child:', n.id, 'width:', i, 'height:', a, 'x:', s, 'y:', l, n.type),
+ n.type !== 'space' && (i > e && (e = i / (t.widthInColumns ?? 1)), a > r && (r = a));
+ }
+ return { width: e, height: r };
+ }, 'getMaxChildSize');
+ o(HB, 'setBlockSizes');
+ o(T1e, 'layoutBlocks');
+ o(k1e, 'findBounds');
+ o(E1e, 'layout');
+ });
+ function S1e(t, e, r = !1) {
+ let n = t,
+ i = 'default';
+ (n?.classes?.length || 0) > 0 && (i = (n?.classes ?? []).join(' ')), (i = i + ' flowchart-label');
+ let a = 0,
+ s = '',
+ l;
+ switch (n.type) {
+ case 'round':
+ (a = 5), (s = 'rect');
+ break;
+ case 'composite':
+ (a = 0), (s = 'composite'), (l = 0);
+ break;
+ case 'square':
+ s = 'rect';
+ break;
+ case 'diamond':
+ s = 'question';
+ break;
+ case 'hexagon':
+ s = 'hexagon';
+ break;
+ case 'block_arrow':
+ s = 'block_arrow';
+ break;
+ case 'odd':
+ s = 'rect_left_inv_arrow';
+ break;
+ case 'lean_right':
+ s = 'lean_right';
+ break;
+ case 'lean_left':
+ s = 'lean_left';
+ break;
+ case 'trapezoid':
+ s = 'trapezoid';
+ break;
+ case 'inv_trapezoid':
+ s = 'inv_trapezoid';
+ break;
+ case 'rect_left_inv_arrow':
+ s = 'rect_left_inv_arrow';
+ break;
+ case 'circle':
+ s = 'circle';
+ break;
+ case 'ellipse':
+ s = 'ellipse';
+ break;
+ case 'stadium':
+ s = 'stadium';
+ break;
+ case 'subroutine':
+ s = 'subroutine';
+ break;
+ case 'cylinder':
+ s = 'cylinder';
+ break;
+ case 'group':
+ s = 'rect';
+ break;
+ case 'doublecircle':
+ s = 'doublecircle';
+ break;
+ default:
+ s = 'rect';
+ }
+ let u = lm(n?.styles ?? []),
+ h = n.label,
+ f = n.size ?? { width: 0, height: 0, x: 0, y: 0 };
+ return {
+ labelStyle: u.labelStyle,
+ shape: s,
+ labelText: h,
+ rx: a,
+ ry: a,
+ class: i,
+ style: u.style,
+ id: n.id,
+ directions: n.directions,
+ width: f.width,
+ height: f.height,
+ x: f.x,
+ y: f.y,
+ positioned: r,
+ intersect: void 0,
+ type: n.type,
+ padding: l ?? Or()?.block?.padding ?? 0
+ };
+ }
+ async function MJe(t, e, r) {
+ let n = S1e(e, r, !1);
+ if (n.type === 'group') return;
+ let i = await pm(t, n),
+ a = i.node().getBBox(),
+ s = r.getBlock(n.id);
+ (s.size = { width: a.width, height: a.height, x: 0, y: 0, node: i }), r.setBlock(s), i.remove();
+ }
+ async function IJe(t, e, r) {
+ let n = S1e(e, r, !0);
+ r.getBlock(n.id).type !== 'space' && (await pm(t, n), (e.intersect = n?.intersect), wv(n));
+ }
+ async function YB(t, e, r, n) {
+ for (let i of e) await n(t, i, r), i.children && (await YB(t, i.children, r, n));
+ }
+ async function A1e(t, e, r) {
+ await YB(t, e, r, MJe);
+ }
+ async function _1e(t, e, r) {
+ await YB(t, e, r, IJe);
+ }
+ async function L1e(t, e, r, n, i) {
+ let a = new lr({ multigraph: !0, compound: !0 });
+ a.setGraph({
+ rankdir: 'TB',
+ nodesep: 10,
+ ranksep: 10,
+ marginx: 8,
+ marginy: 8
+ });
+ for (let s of r)
+ s.size &&
+ a.setNode(s.id, {
+ width: s.size.width,
+ height: s.size.height,
+ intersect: s.intersect
+ });
+ for (let s of e)
+ if (s.start && s.end) {
+ let l = n.getBlock(s.start),
+ u = n.getBlock(s.end);
+ if (l?.size && u?.size) {
+ let h = l.size,
+ f = u.size,
+ d = [
+ { x: h.x, y: h.y },
+ { x: h.x + (f.x - h.x) / 2, y: h.y + (f.y - h.y) / 2 },
+ { x: f.x, y: f.y }
+ ];
+ PE(
+ t,
+ { v: s.start, w: s.end, name: s.id },
+ {
+ ...s,
+ arrowTypeEnd: s.arrowTypeEnd,
+ arrowTypeStart: s.arrowTypeStart,
+ points: d,
+ classes: 'edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1'
+ },
+ void 0,
+ 'block',
+ a,
+ i
+ ),
+ s.label &&
+ (await IE(t, {
+ ...s,
+ label: s.label,
+ labelStyle: 'stroke: #333; stroke-width: 1.5px;fill:none;',
+ arrowTypeEnd: s.arrowTypeEnd,
+ arrowTypeStart: s.arrowTypeStart,
+ points: d,
+ classes: 'edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1'
+ }),
+ OE({ ...s, x: d[1].x, y: d[1].y }, { originalPath: d }));
+ }
+ }
+ }
+ var D1e = R(() => {
+ 'use strict';
+ ya();
+ qs();
+ DO();
+ M5();
+ xr();
+ o(S1e, 'getNodeFromBlock');
+ o(MJe, 'calculateBlockSize');
+ o(IJe, 'insertBlockPositioned');
+ o(YB, 'performOperations');
+ o(A1e, 'calculateBlockSizes');
+ o(_1e, 'insertBlocks');
+ o(L1e, 'insertEdges');
+ });
+ var OJe,
+ PJe,
+ R1e,
+ N1e = R(() => {
+ 'use strict';
+ Zt();
+ qs();
+ LO();
+ ut();
+ Yn();
+ C1e();
+ D1e();
+ (OJe = o(function (t, e) {
+ return e.db.getClasses();
+ }, 'getClasses')),
+ (PJe = o(async function (t, e, r, n) {
+ let { securityLevel: i, block: a } = Or(),
+ s = n.db,
+ l;
+ i === 'sandbox' && (l = $e('#i' + e));
+ let u = i === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body'),
+ h = i === 'sandbox' ? u.select(`[id="${e}"]`) : $e(`[id="${e}"]`);
+ LE(h, ['point', 'circle', 'cross'], n.type, e);
+ let d = s.getBlocks(),
+ p = s.getBlocksFlat(),
+ m = s.getEdges(),
+ g = h.insert('g').attr('class', 'block');
+ await A1e(g, d, s);
+ let y = E1e(s);
+ if ((await _1e(g, d, s), await L1e(g, m, p, s, e), y)) {
+ let v = y,
+ x = Math.max(1, Math.round(0.125 * (v.width / v.height))),
+ b = v.height + x + 10,
+ w = v.width + 10,
+ { useMaxWidth: S } = a;
+ Sr(h, b, w, !!S),
+ V.debug('Here Bounds', y, v),
+ h.attr('viewBox', `${v.x - 5} ${v.y - 5} ${v.width + 10} ${v.height + 10}`);
+ }
+ }, 'draw')),
+ (R1e = { draw: PJe, getClasses: OJe });
+ });
+ var M1e = {};
+ hr(M1e, { diagram: () => BJe });
+ var BJe,
+ I1e = R(() => {
+ 'use strict';
+ f1e();
+ x1e();
+ w1e();
+ N1e();
+ BJe = { parser: h1e, db: v1e, renderer: R1e, styles: b1e };
+ });
+ var WB,
+ qB,
+ pb,
+ B1e,
+ XB,
+ cs,
+ Wc,
+ oC,
+ F1e,
+ $Je,
+ mb,
+ z1e,
+ G1e,
+ $1e,
+ V1e,
+ lC,
+ If,
+ cC = R(() => {
+ 'use strict';
+ (WB = { L: 'left', R: 'right', T: 'top', B: 'bottom' }),
+ (qB = {
+ L: o((t) => `${t},${t / 2} 0,${t} 0,0`, 'L'),
+ R: o((t) => `0,${t / 2} ${t},0 ${t},${t}`, 'R'),
+ T: o((t) => `0,0 ${t},0 ${t / 2},${t}`, 'T'),
+ B: o((t) => `${t / 2},0 ${t},${t} 0,${t}`, 'B')
+ }),
+ (pb = {
+ L: o((t, e) => t - e + 2, 'L'),
+ R: o((t, e) => t - 2, 'R'),
+ T: o((t, e) => t - e + 2, 'T'),
+ B: o((t, e) => t - 2, 'B')
+ }),
+ (B1e = o(function (t) {
+ return cs(t) ? (t === 'L' ? 'R' : 'L') : t === 'T' ? 'B' : 'T';
+ }, 'getOppositeArchitectureDirection')),
+ (XB = o(function (t) {
+ let e = t;
+ return e === 'L' || e === 'R' || e === 'T' || e === 'B';
+ }, 'isArchitectureDirection')),
+ (cs = o(function (t) {
+ let e = t;
+ return e === 'L' || e === 'R';
+ }, 'isArchitectureDirectionX')),
+ (Wc = o(function (t) {
+ let e = t;
+ return e === 'T' || e === 'B';
+ }, 'isArchitectureDirectionY')),
+ (oC = o(function (t, e) {
+ let r = cs(t) && Wc(e),
+ n = Wc(t) && cs(e);
+ return r || n;
+ }, 'isArchitectureDirectionXY')),
+ (F1e = o(function (t) {
+ let e = t[0],
+ r = t[1],
+ n = cs(e) && Wc(r),
+ i = Wc(e) && cs(r);
+ return n || i;
+ }, 'isArchitecturePairXY')),
+ ($Je = o(function (t) {
+ return t !== 'LL' && t !== 'RR' && t !== 'TT' && t !== 'BB';
+ }, 'isValidArchitectureDirectionPair')),
+ (mb = o(function (t, e) {
+ let r = `${t}${e}`;
+ return $Je(r) ? r : void 0;
+ }, 'getArchitectureDirectionPair')),
+ (z1e = o(function ([t, e], r) {
+ let n = r[0],
+ i = r[1];
+ return cs(n)
+ ? Wc(i)
+ ? [t + (n === 'L' ? -1 : 1), e + (i === 'T' ? 1 : -1)]
+ : [t + (n === 'L' ? -1 : 1), e]
+ : cs(i)
+ ? [t + (i === 'L' ? 1 : -1), e + (n === 'T' ? 1 : -1)]
+ : [t, e + (n === 'T' ? 1 : -1)];
+ }, 'shiftPositionByArchitectureDirectionPair')),
+ (G1e = o(function (t) {
+ return t === 'LT' || t === 'TL'
+ ? [1, 1]
+ : t === 'BL' || t === 'LB'
+ ? [1, -1]
+ : t === 'BR' || t === 'RB'
+ ? [-1, -1]
+ : [-1, 1];
+ }, 'getArchitectureDirectionXYFactors')),
+ ($1e = o(function (t) {
+ return t.type === 'service';
+ }, 'isArchitectureService')),
+ (V1e = o(function (t) {
+ return t.type === 'junction';
+ }, 'isArchitectureJunction')),
+ (lC = o((t) => t.data(), 'edgeData')),
+ (If = o((t) => t.data(), 'nodeData'));
+ });
+ function Ci(t) {
+ let e = de().architecture;
+ return e?.[t] ? e[t] : U1e[t];
+ }
+ var U1e,
+ nr,
+ VJe,
+ UJe,
+ HJe,
+ YJe,
+ WJe,
+ qJe,
+ XJe,
+ jJe,
+ KJe,
+ QJe,
+ ZJe,
+ JJe,
+ eet,
+ tet,
+ Z0,
+ gb = R(() => {
+ 'use strict';
+ sl();
+ _t();
+ Jk();
+ bi();
+ cC();
+ (U1e = mr.architecture),
+ (nr = new uf(() => ({
+ nodes: {},
+ groups: {},
+ edges: [],
+ registeredIds: {},
+ config: U1e,
+ dataStructures: void 0,
+ elements: {}
+ }))),
+ (VJe = o(() => {
+ nr.reset(), vr();
+ }, 'clear')),
+ (UJe = o(function ({ id: t, icon: e, in: r, title: n, iconText: i }) {
+ if (nr.records.registeredIds[t] !== void 0)
+ throw new Error(
+ `The service id [${t}] is already in use by another ${nr.records.registeredIds[t]}`
+ );
+ if (r !== void 0) {
+ if (t === r) throw new Error(`The service [${t}] cannot be placed within itself`);
+ if (nr.records.registeredIds[r] === void 0)
+ throw new Error(
+ `The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`
+ );
+ if (nr.records.registeredIds[r] === 'node')
+ throw new Error(`The service [${t}]'s parent is not a group`);
+ }
+ (nr.records.registeredIds[t] = 'node'),
+ (nr.records.nodes[t] = {
+ id: t,
+ type: 'service',
+ icon: e,
+ iconText: i,
+ title: n,
+ edges: [],
+ in: r
+ });
+ }, 'addService')),
+ (HJe = o(() => Object.values(nr.records.nodes).filter($1e), 'getServices')),
+ (YJe = o(function ({ id: t, in: e }) {
+ (nr.records.registeredIds[t] = 'node'),
+ (nr.records.nodes[t] = {
+ id: t,
+ type: 'junction',
+ edges: [],
+ in: e
+ });
+ }, 'addJunction')),
+ (WJe = o(() => Object.values(nr.records.nodes).filter(V1e), 'getJunctions')),
+ (qJe = o(() => Object.values(nr.records.nodes), 'getNodes')),
+ (XJe = o((t) => nr.records.nodes[t], 'getNode')),
+ (jJe = o(function ({ id: t, icon: e, in: r, title: n }) {
+ if (nr.records.registeredIds[t] !== void 0)
+ throw new Error(
+ `The group id [${t}] is already in use by another ${nr.records.registeredIds[t]}`
+ );
+ if (r !== void 0) {
+ if (t === r) throw new Error(`The group [${t}] cannot be placed within itself`);
+ if (nr.records.registeredIds[r] === void 0)
+ throw new Error(
+ `The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`
+ );
+ if (nr.records.registeredIds[r] === 'node')
+ throw new Error(`The group [${t}]'s parent is not a group`);
+ }
+ (nr.records.registeredIds[t] = 'group'),
+ (nr.records.groups[t] = { id: t, icon: e, title: n, in: r });
+ }, 'addGroup')),
+ (KJe = o(() => Object.values(nr.records.groups), 'getGroups')),
+ (QJe = o(function ({
+ lhsId: t,
+ rhsId: e,
+ lhsDir: r,
+ rhsDir: n,
+ lhsInto: i,
+ rhsInto: a,
+ lhsGroup: s,
+ rhsGroup: l,
+ title: u
+ }) {
+ if (!XB(r))
+ throw new Error(
+ `Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}`
+ );
+ if (!XB(n))
+ throw new Error(
+ `Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${n}`
+ );
+ if (nr.records.nodes[t] === void 0 && nr.records.groups[t] === void 0)
+ throw new Error(
+ `The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`
+ );
+ if (nr.records.nodes[e] === void 0 && nr.records.groups[t] === void 0)
+ throw new Error(
+ `The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`
+ );
+ let h = nr.records.nodes[t].in,
+ f = nr.records.nodes[e].in;
+ if (s && h && f && h == f)
+ throw new Error(
+ `The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`
+ );
+ if (l && h && f && h == f)
+ throw new Error(
+ `The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`
+ );
+ let d = {
+ lhsId: t,
+ lhsDir: r,
+ lhsInto: i,
+ lhsGroup: s,
+ rhsId: e,
+ rhsDir: n,
+ rhsInto: a,
+ rhsGroup: l,
+ title: u
+ };
+ nr.records.edges.push(d),
+ nr.records.nodes[t] &&
+ nr.records.nodes[e] &&
+ (nr.records.nodes[t].edges.push(nr.records.edges[nr.records.edges.length - 1]),
+ nr.records.nodes[e].edges.push(nr.records.edges[nr.records.edges.length - 1]));
+ },
+ 'addEdge')),
+ (ZJe = o(() => nr.records.edges, 'getEdges')),
+ (JJe = o(() => {
+ if (nr.records.dataStructures === void 0) {
+ let t = Object.entries(nr.records.nodes).reduce(
+ (s, [l, u]) => (
+ (s[l] = u.edges.reduce((h, f) => {
+ if (f.lhsId === l) {
+ let d = mb(f.lhsDir, f.rhsDir);
+ d && (h[d] = f.rhsId);
+ } else {
+ let d = mb(f.rhsDir, f.lhsDir);
+ d && (h[d] = f.lhsId);
+ }
+ return h;
+ }, {})),
+ s
+ ),
+ {}
+ ),
+ e = Object.keys(t)[0],
+ r = { [e]: 1 },
+ n = Object.keys(t).reduce((s, l) => (l === e ? s : { ...s, [l]: 1 }), {}),
+ i = o((s) => {
+ let l = { [s]: [0, 0] },
+ u = [s];
+ for (; u.length > 0; ) {
+ let h = u.shift();
+ if (h) {
+ (r[h] = 1), delete n[h];
+ let f = t[h],
+ [d, p] = l[h];
+ Object.entries(f).forEach(([m, g]) => {
+ r[g] || ((l[g] = z1e([d, p], m)), u.push(g));
+ });
+ }
+ }
+ return l;
+ }, 'BFS'),
+ a = [i(e)];
+ for (; Object.keys(n).length > 0; ) a.push(i(Object.keys(n)[0]));
+ nr.records.dataStructures = { adjList: t, spatialMaps: a };
+ }
+ return nr.records.dataStructures;
+ }, 'getDataStructures')),
+ (eet = o((t, e) => {
+ nr.records.elements[t] = e;
+ }, 'setElementForId')),
+ (tet = o((t) => nr.records.elements[t], 'getElementById')),
+ (Z0 = {
+ clear: VJe,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ addService: UJe,
+ getServices: HJe,
+ addJunction: YJe,
+ getJunctions: WJe,
+ getNodes: qJe,
+ getNode: XJe,
+ addGroup: jJe,
+ getGroups: KJe,
+ addEdge: QJe,
+ getEdges: ZJe,
+ setElementForId: eet,
+ getElementById: tet,
+ getDataStructures: JJe
+ });
+ o(Ci, 'getConfigField');
+ });
+ var ret,
+ H1e,
+ Y1e = R(() => {
+ 'use strict';
+ Lg();
+ ut();
+ sx();
+ gb();
+ (ret = o((t, e) => {
+ cf(t, e),
+ t.groups.map(e.addGroup),
+ t.services.map((r) => e.addService({ ...r, type: 'service' })),
+ t.junctions.map((r) => e.addJunction({ ...r, type: 'junction' })),
+ t.edges.map(e.addEdge);
+ }, 'populateDb')),
+ (H1e = {
+ parse: o(async (t) => {
+ let e = await Fl('architecture', t);
+ V.debug(e), ret(e, Z0);
+ }, 'parse')
+ });
+ });
+ var net,
+ W1e,
+ q1e = R(() => {
+ 'use strict';
+ (net = o(
+ (t) => `
+ .edge {
+ stroke-width: ${t.archEdgeWidth};
+ stroke: ${t.archEdgeColor};
+ fill: none;
+ }
+
+ .arrow {
+ fill: ${t.archEdgeArrowColor};
+ }
+
+ .node-bkg {
+ fill: none;
+ stroke: ${t.archGroupBorderColor};
+ stroke-width: ${t.archGroupBorderWidth};
+ stroke-dasharray: 8;
+ }
+ .node-icon-text {
+ display: flex;
+ align-items: center;
+ }
+
+ .node-icon-text > div {
+ color: #fff;
+ margin: 1px;
+ height: fit-content;
+ text-align: center;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ }
+`,
+ 'getStyles'
+ )),
+ (W1e = net);
+ });
+ var KB = gi((yb, jB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof yb == 'object' && typeof jB == 'object'
+ ? (jB.exports = r())
+ : typeof define == 'function' && define.amd
+ ? define([], r)
+ : typeof yb == 'object'
+ ? (yb.layoutBase = r())
+ : (e.layoutBase = r());
+ }, 'webpackUniversalModuleDefinition')(yb, function () {
+ return (function (t) {
+ var e = {};
+ function r(n) {
+ if (e[n]) return e[n].exports;
+ var i = (e[n] = { i: n, l: !1, exports: {} });
+ return t[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports;
+ }
+ return (
+ o(r, '__webpack_require__'),
+ (r.m = t),
+ (r.c = e),
+ (r.i = function (n) {
+ return n;
+ }),
+ (r.d = function (n, i, a) {
+ r.o(n, i) ||
+ Object.defineProperty(n, i, {
+ configurable: !1,
+ enumerable: !0,
+ get: a
+ });
+ }),
+ (r.n = function (n) {
+ var i =
+ n && n.__esModule
+ ? o(function () {
+ return n.default;
+ }, 'getDefault')
+ : o(function () {
+ return n;
+ }, 'getModuleExports');
+ return r.d(i, 'a', i), i;
+ }),
+ (r.o = function (n, i) {
+ return Object.prototype.hasOwnProperty.call(n, i);
+ }),
+ (r.p = ''),
+ r((r.s = 28))
+ );
+ })([
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'LayoutConstants'),
+ (n.QUALITY = 1),
+ (n.DEFAULT_CREATE_BENDS_AS_NEEDED = !1),
+ (n.DEFAULT_INCREMENTAL = !1),
+ (n.DEFAULT_ANIMATION_ON_LAYOUT = !0),
+ (n.DEFAULT_ANIMATION_DURING_LAYOUT = !1),
+ (n.DEFAULT_ANIMATION_PERIOD = 50),
+ (n.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1),
+ (n.DEFAULT_GRAPH_MARGIN = 15),
+ (n.NODE_DIMENSIONS_INCLUDE_LABELS = !1),
+ (n.SIMPLE_NODE_SIZE = 40),
+ (n.SIMPLE_NODE_HALF_SIZE = n.SIMPLE_NODE_SIZE / 2),
+ (n.EMPTY_COMPOUND_NODE_SIZE = 40),
+ (n.MIN_EDGE_LENGTH = 1),
+ (n.WORLD_BOUNDARY = 1e6),
+ (n.INITIAL_WORLD_BOUNDARY = n.WORLD_BOUNDARY / 1e3),
+ (n.WORLD_CENTER_X = 1200),
+ (n.WORLD_CENTER_Y = 900),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(8),
+ a = r(9);
+ function s(u, h, f) {
+ n.call(this, f),
+ (this.isOverlapingSourceAndTarget = !1),
+ (this.vGraphObject = f),
+ (this.bendpoints = []),
+ (this.source = u),
+ (this.target = h);
+ }
+ o(s, 'LEdge'), (s.prototype = Object.create(n.prototype));
+ for (var l in n) s[l] = n[l];
+ (s.prototype.getSource = function () {
+ return this.source;
+ }),
+ (s.prototype.getTarget = function () {
+ return this.target;
+ }),
+ (s.prototype.isInterGraph = function () {
+ return this.isInterGraph;
+ }),
+ (s.prototype.getLength = function () {
+ return this.length;
+ }),
+ (s.prototype.isOverlapingSourceAndTarget = function () {
+ return this.isOverlapingSourceAndTarget;
+ }),
+ (s.prototype.getBendpoints = function () {
+ return this.bendpoints;
+ }),
+ (s.prototype.getLca = function () {
+ return this.lca;
+ }),
+ (s.prototype.getSourceInLca = function () {
+ return this.sourceInLca;
+ }),
+ (s.prototype.getTargetInLca = function () {
+ return this.targetInLca;
+ }),
+ (s.prototype.getOtherEnd = function (u) {
+ if (this.source === u) return this.target;
+ if (this.target === u) return this.source;
+ throw 'Node is not incident with this edge';
+ }),
+ (s.prototype.getOtherEndInGraph = function (u, h) {
+ for (var f = this.getOtherEnd(u), d = h.getGraphManager().getRoot(); ; ) {
+ if (f.getOwner() == h) return f;
+ if (f.getOwner() == d) break;
+ f = f.getOwner().getParent();
+ }
+ return null;
+ }),
+ (s.prototype.updateLength = function () {
+ var u = new Array(4);
+ (this.isOverlapingSourceAndTarget = i.getIntersection(
+ this.target.getRect(),
+ this.source.getRect(),
+ u
+ )),
+ this.isOverlapingSourceAndTarget ||
+ ((this.lengthX = u[0] - u[2]),
+ (this.lengthY = u[1] - u[3]),
+ Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)),
+ Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)),
+ (this.length = Math.sqrt(
+ this.lengthX * this.lengthX + this.lengthY * this.lengthY
+ )));
+ }),
+ (s.prototype.updateLengthSimple = function () {
+ (this.lengthX = this.target.getCenterX() - this.source.getCenterX()),
+ (this.lengthY = this.target.getCenterY() - this.source.getCenterY()),
+ Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)),
+ Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)),
+ (this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY));
+ }),
+ (t.exports = s);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i) {
+ this.vGraphObject = i;
+ }
+ o(n, 'LGraphObject'), (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(10),
+ a = r(13),
+ s = r(0),
+ l = r(16),
+ u = r(5);
+ function h(d, p, m, g) {
+ m == null && g == null && (g = p),
+ n.call(this, g),
+ d.graphManager != null && (d = d.graphManager),
+ (this.estimatedSize = i.MIN_VALUE),
+ (this.inclusionTreeDepth = i.MAX_VALUE),
+ (this.vGraphObject = g),
+ (this.edges = []),
+ (this.graphManager = d),
+ m != null && p != null
+ ? (this.rect = new a(p.x, p.y, m.width, m.height))
+ : (this.rect = new a());
+ }
+ o(h, 'LNode'), (h.prototype = Object.create(n.prototype));
+ for (var f in n) h[f] = n[f];
+ (h.prototype.getEdges = function () {
+ return this.edges;
+ }),
+ (h.prototype.getChild = function () {
+ return this.child;
+ }),
+ (h.prototype.getOwner = function () {
+ return this.owner;
+ }),
+ (h.prototype.getWidth = function () {
+ return this.rect.width;
+ }),
+ (h.prototype.setWidth = function (d) {
+ this.rect.width = d;
+ }),
+ (h.prototype.getHeight = function () {
+ return this.rect.height;
+ }),
+ (h.prototype.setHeight = function (d) {
+ this.rect.height = d;
+ }),
+ (h.prototype.getCenterX = function () {
+ return this.rect.x + this.rect.width / 2;
+ }),
+ (h.prototype.getCenterY = function () {
+ return this.rect.y + this.rect.height / 2;
+ }),
+ (h.prototype.getCenter = function () {
+ return new u(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2);
+ }),
+ (h.prototype.getLocation = function () {
+ return new u(this.rect.x, this.rect.y);
+ }),
+ (h.prototype.getRect = function () {
+ return this.rect;
+ }),
+ (h.prototype.getDiagonal = function () {
+ return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height);
+ }),
+ (h.prototype.getHalfTheDiagonal = function () {
+ return (
+ Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2
+ );
+ }),
+ (h.prototype.setRect = function (d, p) {
+ (this.rect.x = d.x),
+ (this.rect.y = d.y),
+ (this.rect.width = p.width),
+ (this.rect.height = p.height);
+ }),
+ (h.prototype.setCenter = function (d, p) {
+ (this.rect.x = d - this.rect.width / 2), (this.rect.y = p - this.rect.height / 2);
+ }),
+ (h.prototype.setLocation = function (d, p) {
+ (this.rect.x = d), (this.rect.y = p);
+ }),
+ (h.prototype.moveBy = function (d, p) {
+ (this.rect.x += d), (this.rect.y += p);
+ }),
+ (h.prototype.getEdgeListToNode = function (d) {
+ var p = [],
+ m,
+ g = this;
+ return (
+ g.edges.forEach(function (y) {
+ if (y.target == d) {
+ if (y.source != g) throw 'Incorrect edge source!';
+ p.push(y);
+ }
+ }),
+ p
+ );
+ }),
+ (h.prototype.getEdgesBetween = function (d) {
+ var p = [],
+ m,
+ g = this;
+ return (
+ g.edges.forEach(function (y) {
+ if (!(y.source == g || y.target == g)) throw 'Incorrect edge source and/or target';
+ (y.target == d || y.source == d) && p.push(y);
+ }),
+ p
+ );
+ }),
+ (h.prototype.getNeighborsList = function () {
+ var d = new Set(),
+ p = this;
+ return (
+ p.edges.forEach(function (m) {
+ if (m.source == p) d.add(m.target);
+ else {
+ if (m.target != p) throw 'Incorrect incidency!';
+ d.add(m.source);
+ }
+ }),
+ d
+ );
+ }),
+ (h.prototype.withChildren = function () {
+ var d = new Set(),
+ p,
+ m;
+ if ((d.add(this), this.child != null))
+ for (var g = this.child.getNodes(), y = 0; y < g.length; y++)
+ (p = g[y]),
+ (m = p.withChildren()),
+ m.forEach(function (v) {
+ d.add(v);
+ });
+ return d;
+ }),
+ (h.prototype.getNoOfChildren = function () {
+ var d = 0,
+ p;
+ if (this.child == null) d = 1;
+ else
+ for (var m = this.child.getNodes(), g = 0; g < m.length; g++)
+ (p = m[g]), (d += p.getNoOfChildren());
+ return d == 0 && (d = 1), d;
+ }),
+ (h.prototype.getEstimatedSize = function () {
+ if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed';
+ return this.estimatedSize;
+ }),
+ (h.prototype.calcEstimatedSize = function () {
+ return this.child == null
+ ? (this.estimatedSize = (this.rect.width + this.rect.height) / 2)
+ : ((this.estimatedSize = this.child.calcEstimatedSize()),
+ (this.rect.width = this.estimatedSize),
+ (this.rect.height = this.estimatedSize),
+ this.estimatedSize);
+ }),
+ (h.prototype.scatter = function () {
+ var d,
+ p,
+ m = -s.INITIAL_WORLD_BOUNDARY,
+ g = s.INITIAL_WORLD_BOUNDARY;
+ d = s.WORLD_CENTER_X + l.nextDouble() * (g - m) + m;
+ var y = -s.INITIAL_WORLD_BOUNDARY,
+ v = s.INITIAL_WORLD_BOUNDARY;
+ (p = s.WORLD_CENTER_Y + l.nextDouble() * (v - y) + y), (this.rect.x = d), (this.rect.y = p);
+ }),
+ (h.prototype.updateBounds = function () {
+ if (this.getChild() == null) throw 'assert failed';
+ if (this.getChild().getNodes().length != 0) {
+ var d = this.getChild();
+ if (
+ (d.updateBounds(!0),
+ (this.rect.x = d.getLeft()),
+ (this.rect.y = d.getTop()),
+ this.setWidth(d.getRight() - d.getLeft()),
+ this.setHeight(d.getBottom() - d.getTop()),
+ s.NODE_DIMENSIONS_INCLUDE_LABELS)
+ ) {
+ var p = d.getRight() - d.getLeft(),
+ m = d.getBottom() - d.getTop();
+ this.labelWidth &&
+ (this.labelPosHorizontal == 'left'
+ ? ((this.rect.x -= this.labelWidth), this.setWidth(p + this.labelWidth))
+ : this.labelPosHorizontal == 'center' && this.labelWidth > p
+ ? ((this.rect.x -= (this.labelWidth - p) / 2),
+ this.setWidth(this.labelWidth))
+ : this.labelPosHorizontal == 'right' && this.setWidth(p + this.labelWidth)),
+ this.labelHeight &&
+ (this.labelPosVertical == 'top'
+ ? ((this.rect.y -= this.labelHeight),
+ this.setHeight(m + this.labelHeight))
+ : this.labelPosVertical == 'center' && this.labelHeight > m
+ ? ((this.rect.y -= (this.labelHeight - m) / 2),
+ this.setHeight(this.labelHeight))
+ : this.labelPosVertical == 'bottom' &&
+ this.setHeight(m + this.labelHeight));
+ }
+ }
+ }),
+ (h.prototype.getInclusionTreeDepth = function () {
+ if (this.inclusionTreeDepth == i.MAX_VALUE) throw 'assert failed';
+ return this.inclusionTreeDepth;
+ }),
+ (h.prototype.transform = function (d) {
+ var p = this.rect.x;
+ p > s.WORLD_BOUNDARY
+ ? (p = s.WORLD_BOUNDARY)
+ : p < -s.WORLD_BOUNDARY && (p = -s.WORLD_BOUNDARY);
+ var m = this.rect.y;
+ m > s.WORLD_BOUNDARY
+ ? (m = s.WORLD_BOUNDARY)
+ : m < -s.WORLD_BOUNDARY && (m = -s.WORLD_BOUNDARY);
+ var g = new u(p, m),
+ y = d.inverseTransformPoint(g);
+ this.setLocation(y.x, y.y);
+ }),
+ (h.prototype.getLeft = function () {
+ return this.rect.x;
+ }),
+ (h.prototype.getRight = function () {
+ return this.rect.x + this.rect.width;
+ }),
+ (h.prototype.getTop = function () {
+ return this.rect.y;
+ }),
+ (h.prototype.getBottom = function () {
+ return this.rect.y + this.rect.height;
+ }),
+ (h.prototype.getParent = function () {
+ return this.owner == null ? null : this.owner.getParent();
+ }),
+ (t.exports = h);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(0);
+ function i() {}
+ o(i, 'FDLayoutConstants');
+ for (var a in n) i[a] = n[a];
+ (i.MAX_ITERATIONS = 2500),
+ (i.DEFAULT_EDGE_LENGTH = 50),
+ (i.DEFAULT_SPRING_STRENGTH = 0.45),
+ (i.DEFAULT_REPULSION_STRENGTH = 4500),
+ (i.DEFAULT_GRAVITY_STRENGTH = 0.4),
+ (i.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1),
+ (i.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8),
+ (i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5),
+ (i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0),
+ (i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0),
+ (i.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3),
+ (i.COOLING_ADAPTATION_FACTOR = 0.33),
+ (i.ADAPTATION_LOWER_NODE_LIMIT = 1e3),
+ (i.ADAPTATION_UPPER_NODE_LIMIT = 5e3),
+ (i.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100),
+ (i.MAX_NODE_DISPLACEMENT = i.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3),
+ (i.MIN_REPULSION_DIST = i.DEFAULT_EDGE_LENGTH / 10),
+ (i.CONVERGENCE_CHECK_PERIOD = 100),
+ (i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1),
+ (i.MIN_EDGE_LENGTH = 1),
+ (i.GRID_CALCULATION_CHECK_PERIOD = 10),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a) {
+ i == null && a == null ? ((this.x = 0), (this.y = 0)) : ((this.x = i), (this.y = a));
+ }
+ o(n, 'PointD'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.setX = function (i) {
+ this.x = i;
+ }),
+ (n.prototype.setY = function (i) {
+ this.y = i;
+ }),
+ (n.prototype.getDifference = function (i) {
+ return new DimensionD(this.x - i.x, this.y - i.y);
+ }),
+ (n.prototype.getCopy = function () {
+ return new n(this.x, this.y);
+ }),
+ (n.prototype.translate = function (i) {
+ return (this.x += i.width), (this.y += i.height), this;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(10),
+ a = r(0),
+ s = r(7),
+ l = r(3),
+ u = r(1),
+ h = r(13),
+ f = r(12),
+ d = r(11);
+ function p(g, y, v) {
+ n.call(this, v),
+ (this.estimatedSize = i.MIN_VALUE),
+ (this.margin = a.DEFAULT_GRAPH_MARGIN),
+ (this.edges = []),
+ (this.nodes = []),
+ (this.isConnected = !1),
+ (this.parent = g),
+ y != null && y instanceof s
+ ? (this.graphManager = y)
+ : y != null && y instanceof Layout && (this.graphManager = y.graphManager);
+ }
+ o(p, 'LGraph'), (p.prototype = Object.create(n.prototype));
+ for (var m in n) p[m] = n[m];
+ (p.prototype.getNodes = function () {
+ return this.nodes;
+ }),
+ (p.prototype.getEdges = function () {
+ return this.edges;
+ }),
+ (p.prototype.getGraphManager = function () {
+ return this.graphManager;
+ }),
+ (p.prototype.getParent = function () {
+ return this.parent;
+ }),
+ (p.prototype.getLeft = function () {
+ return this.left;
+ }),
+ (p.prototype.getRight = function () {
+ return this.right;
+ }),
+ (p.prototype.getTop = function () {
+ return this.top;
+ }),
+ (p.prototype.getBottom = function () {
+ return this.bottom;
+ }),
+ (p.prototype.isConnected = function () {
+ return this.isConnected;
+ }),
+ (p.prototype.add = function (g, y, v) {
+ if (y == null && v == null) {
+ var x = g;
+ if (this.graphManager == null) throw 'Graph has no graph mgr!';
+ if (this.getNodes().indexOf(x) > -1) throw 'Node already in graph!';
+ return (x.owner = this), this.getNodes().push(x), x;
+ } else {
+ var b = g;
+ if (!(this.getNodes().indexOf(y) > -1 && this.getNodes().indexOf(v) > -1))
+ throw 'Source or target not in graph!';
+ if (!(y.owner == v.owner && y.owner == this)) throw 'Both owners must be this graph!';
+ return y.owner != v.owner
+ ? null
+ : ((b.source = y),
+ (b.target = v),
+ (b.isInterGraph = !1),
+ this.getEdges().push(b),
+ y.edges.push(b),
+ v != y && v.edges.push(b),
+ b);
+ }
+ }),
+ (p.prototype.remove = function (g) {
+ var y = g;
+ if (g instanceof l) {
+ if (y == null) throw 'Node is null!';
+ if (!(y.owner != null && y.owner == this)) throw 'Owner graph is invalid!';
+ if (this.graphManager == null) throw 'Owner graph manager is invalid!';
+ for (var v = y.edges.slice(), x, b = v.length, w = 0; w < b; w++)
+ (x = v[w]), x.isInterGraph ? this.graphManager.remove(x) : x.source.owner.remove(x);
+ var S = this.nodes.indexOf(y);
+ if (S == -1) throw 'Node not in owner node list!';
+ this.nodes.splice(S, 1);
+ } else if (g instanceof u) {
+ var x = g;
+ if (x == null) throw 'Edge is null!';
+ if (!(x.source != null && x.target != null)) throw 'Source and/or target is null!';
+ if (
+ !(
+ x.source.owner != null &&
+ x.target.owner != null &&
+ x.source.owner == this &&
+ x.target.owner == this
+ )
+ )
+ throw 'Source and/or target owner is invalid!';
+ var T = x.source.edges.indexOf(x),
+ E = x.target.edges.indexOf(x);
+ if (!(T > -1 && E > -1)) throw "Source and/or target doesn't know this edge!";
+ x.source.edges.splice(T, 1), x.target != x.source && x.target.edges.splice(E, 1);
+ var S = x.source.owner.getEdges().indexOf(x);
+ if (S == -1) throw "Not in owner's edge list!";
+ x.source.owner.getEdges().splice(S, 1);
+ }
+ }),
+ (p.prototype.updateLeftTop = function () {
+ for (
+ var g = i.MAX_VALUE, y = i.MAX_VALUE, v, x, b, w = this.getNodes(), S = w.length, T = 0;
+ T < S;
+ T++
+ ) {
+ var E = w[T];
+ (v = E.getTop()), (x = E.getLeft()), g > v && (g = v), y > x && (y = x);
+ }
+ return g == i.MAX_VALUE
+ ? null
+ : (w[0].getParent().paddingLeft != null
+ ? (b = w[0].getParent().paddingLeft)
+ : (b = this.margin),
+ (this.left = y - b),
+ (this.top = g - b),
+ new f(this.left, this.top));
+ }),
+ (p.prototype.updateBounds = function (g) {
+ for (
+ var y = i.MAX_VALUE,
+ v = -i.MAX_VALUE,
+ x = i.MAX_VALUE,
+ b = -i.MAX_VALUE,
+ w,
+ S,
+ T,
+ E,
+ _,
+ A = this.nodes,
+ L = A.length,
+ M = 0;
+ M < L;
+ M++
+ ) {
+ var N = A[M];
+ g && N.child != null && N.updateBounds(),
+ (w = N.getLeft()),
+ (S = N.getRight()),
+ (T = N.getTop()),
+ (E = N.getBottom()),
+ y > w && (y = w),
+ v < S && (v = S),
+ x > T && (x = T),
+ b < E && (b = E);
+ }
+ var k = new h(y, x, v - y, b - x);
+ y == i.MAX_VALUE &&
+ ((this.left = this.parent.getLeft()),
+ (this.right = this.parent.getRight()),
+ (this.top = this.parent.getTop()),
+ (this.bottom = this.parent.getBottom())),
+ A[0].getParent().paddingLeft != null
+ ? (_ = A[0].getParent().paddingLeft)
+ : (_ = this.margin),
+ (this.left = k.x - _),
+ (this.right = k.x + k.width + _),
+ (this.top = k.y - _),
+ (this.bottom = k.y + k.height + _);
+ }),
+ (p.calculateBounds = function (g) {
+ for (
+ var y = i.MAX_VALUE,
+ v = -i.MAX_VALUE,
+ x = i.MAX_VALUE,
+ b = -i.MAX_VALUE,
+ w,
+ S,
+ T,
+ E,
+ _ = g.length,
+ A = 0;
+ A < _;
+ A++
+ ) {
+ var L = g[A];
+ (w = L.getLeft()),
+ (S = L.getRight()),
+ (T = L.getTop()),
+ (E = L.getBottom()),
+ y > w && (y = w),
+ v < S && (v = S),
+ x > T && (x = T),
+ b < E && (b = E);
+ }
+ var M = new h(y, x, v - y, b - x);
+ return M;
+ }),
+ (p.prototype.getInclusionTreeDepth = function () {
+ return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth();
+ }),
+ (p.prototype.getEstimatedSize = function () {
+ if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed';
+ return this.estimatedSize;
+ }),
+ (p.prototype.calcEstimatedSize = function () {
+ for (var g = 0, y = this.nodes, v = y.length, x = 0; x < v; x++) {
+ var b = y[x];
+ g += b.calcEstimatedSize();
+ }
+ return (
+ g == 0
+ ? (this.estimatedSize = a.EMPTY_COMPOUND_NODE_SIZE)
+ : (this.estimatedSize = g / Math.sqrt(this.nodes.length)),
+ this.estimatedSize
+ );
+ }),
+ (p.prototype.updateConnected = function () {
+ var g = this;
+ if (this.nodes.length == 0) {
+ this.isConnected = !0;
+ return;
+ }
+ var y = new d(),
+ v = new Set(),
+ x = this.nodes[0],
+ b,
+ w,
+ S = x.withChildren();
+ for (
+ S.forEach(function (M) {
+ y.push(M), v.add(M);
+ });
+ y.length !== 0;
+
+ ) {
+ (x = y.shift()), (b = x.getEdges());
+ for (var T = b.length, E = 0; E < T; E++) {
+ var _ = b[E];
+ if (((w = _.getOtherEndInGraph(x, this)), w != null && !v.has(w))) {
+ var A = w.withChildren();
+ A.forEach(function (M) {
+ y.push(M), v.add(M);
+ });
+ }
+ }
+ }
+ if (((this.isConnected = !1), v.size >= this.nodes.length)) {
+ var L = 0;
+ v.forEach(function (M) {
+ M.owner == g && L++;
+ }),
+ L == this.nodes.length && (this.isConnected = !0);
+ }
+ }),
+ (t.exports = p);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n,
+ i = r(1);
+ function a(s) {
+ (n = r(6)), (this.layout = s), (this.graphs = []), (this.edges = []);
+ }
+ o(a, 'LGraphManager'),
+ (a.prototype.addRoot = function () {
+ var s = this.layout.newGraph(),
+ l = this.layout.newNode(null),
+ u = this.add(s, l);
+ return this.setRootGraph(u), this.rootGraph;
+ }),
+ (a.prototype.add = function (s, l, u, h, f) {
+ if (u == null && h == null && f == null) {
+ if (s == null) throw 'Graph is null!';
+ if (l == null) throw 'Parent node is null!';
+ if (this.graphs.indexOf(s) > -1) throw 'Graph already in this graph mgr!';
+ if ((this.graphs.push(s), s.parent != null)) throw 'Already has a parent!';
+ if (l.child != null) throw 'Already has a child!';
+ return (s.parent = l), (l.child = s), s;
+ } else {
+ (f = u), (h = l), (u = s);
+ var d = h.getOwner(),
+ p = f.getOwner();
+ if (!(d != null && d.getGraphManager() == this)) throw 'Source not in this graph mgr!';
+ if (!(p != null && p.getGraphManager() == this)) throw 'Target not in this graph mgr!';
+ if (d == p) return (u.isInterGraph = !1), d.add(u, h, f);
+ if (((u.isInterGraph = !0), (u.source = h), (u.target = f), this.edges.indexOf(u) > -1))
+ throw 'Edge already in inter-graph edge list!';
+ if ((this.edges.push(u), !(u.source != null && u.target != null)))
+ throw 'Edge source and/or target is null!';
+ if (!(u.source.edges.indexOf(u) == -1 && u.target.edges.indexOf(u) == -1))
+ throw 'Edge already in source and/or target incidency list!';
+ return u.source.edges.push(u), u.target.edges.push(u), u;
+ }
+ }),
+ (a.prototype.remove = function (s) {
+ if (s instanceof n) {
+ var l = s;
+ if (l.getGraphManager() != this) throw 'Graph not in this graph mgr';
+ if (!(l == this.rootGraph || (l.parent != null && l.parent.graphManager == this)))
+ throw 'Invalid parent node!';
+ var u = [];
+ u = u.concat(l.getEdges());
+ for (var h, f = u.length, d = 0; d < f; d++) (h = u[d]), l.remove(h);
+ var p = [];
+ p = p.concat(l.getNodes());
+ var m;
+ f = p.length;
+ for (var d = 0; d < f; d++) (m = p[d]), l.remove(m);
+ l == this.rootGraph && this.setRootGraph(null);
+ var g = this.graphs.indexOf(l);
+ this.graphs.splice(g, 1), (l.parent = null);
+ } else if (s instanceof i) {
+ if (((h = s), h == null)) throw 'Edge is null!';
+ if (!h.isInterGraph) throw 'Not an inter-graph edge!';
+ if (!(h.source != null && h.target != null)) throw 'Source and/or target is null!';
+ if (!(h.source.edges.indexOf(h) != -1 && h.target.edges.indexOf(h) != -1))
+ throw "Source and/or target doesn't know this edge!";
+ var g = h.source.edges.indexOf(h);
+ if (
+ (h.source.edges.splice(g, 1),
+ (g = h.target.edges.indexOf(h)),
+ h.target.edges.splice(g, 1),
+ !(h.source.owner != null && h.source.owner.getGraphManager() != null))
+ )
+ throw 'Edge owner graph or owner graph manager is null!';
+ if (h.source.owner.getGraphManager().edges.indexOf(h) == -1)
+ throw "Not in owner graph manager's edge list!";
+ var g = h.source.owner.getGraphManager().edges.indexOf(h);
+ h.source.owner.getGraphManager().edges.splice(g, 1);
+ }
+ }),
+ (a.prototype.updateBounds = function () {
+ this.rootGraph.updateBounds(!0);
+ }),
+ (a.prototype.getGraphs = function () {
+ return this.graphs;
+ }),
+ (a.prototype.getAllNodes = function () {
+ if (this.allNodes == null) {
+ for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < u; h++)
+ s = s.concat(l[h].getNodes());
+ this.allNodes = s;
+ }
+ return this.allNodes;
+ }),
+ (a.prototype.resetAllNodes = function () {
+ this.allNodes = null;
+ }),
+ (a.prototype.resetAllEdges = function () {
+ this.allEdges = null;
+ }),
+ (a.prototype.resetAllNodesToApplyGravitation = function () {
+ this.allNodesToApplyGravitation = null;
+ }),
+ (a.prototype.getAllEdges = function () {
+ if (this.allEdges == null) {
+ for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < l.length; h++)
+ s = s.concat(l[h].getEdges());
+ (s = s.concat(this.edges)), (this.allEdges = s);
+ }
+ return this.allEdges;
+ }),
+ (a.prototype.getAllNodesToApplyGravitation = function () {
+ return this.allNodesToApplyGravitation;
+ }),
+ (a.prototype.setAllNodesToApplyGravitation = function (s) {
+ if (this.allNodesToApplyGravitation != null) throw 'assert failed';
+ this.allNodesToApplyGravitation = s;
+ }),
+ (a.prototype.getRoot = function () {
+ return this.rootGraph;
+ }),
+ (a.prototype.setRootGraph = function (s) {
+ if (s.getGraphManager() != this) throw 'Root not in this graph mgr!';
+ (this.rootGraph = s), s.parent == null && (s.parent = this.layout.newNode('Root node'));
+ }),
+ (a.prototype.getLayout = function () {
+ return this.layout;
+ }),
+ (a.prototype.isOneAncestorOfOther = function (s, l) {
+ if (!(s != null && l != null)) throw 'assert failed';
+ if (s == l) return !0;
+ var u = s.getOwner(),
+ h;
+ do {
+ if (((h = u.getParent()), h == null)) break;
+ if (h == l) return !0;
+ if (((u = h.getOwner()), u == null)) break;
+ } while (!0);
+ u = l.getOwner();
+ do {
+ if (((h = u.getParent()), h == null)) break;
+ if (h == s) return !0;
+ if (((u = h.getOwner()), u == null)) break;
+ } while (!0);
+ return !1;
+ }),
+ (a.prototype.calcLowestCommonAncestors = function () {
+ for (var s, l, u, h, f, d = this.getAllEdges(), p = d.length, m = 0; m < p; m++) {
+ if (
+ ((s = d[m]),
+ (l = s.source),
+ (u = s.target),
+ (s.lca = null),
+ (s.sourceInLca = l),
+ (s.targetInLca = u),
+ l == u)
+ ) {
+ s.lca = l.getOwner();
+ continue;
+ }
+ for (h = l.getOwner(); s.lca == null; ) {
+ for (s.targetInLca = u, f = u.getOwner(); s.lca == null; ) {
+ if (f == h) {
+ s.lca = f;
+ break;
+ }
+ if (f == this.rootGraph) break;
+ if (s.lca != null) throw 'assert failed';
+ (s.targetInLca = f.getParent()), (f = s.targetInLca.getOwner());
+ }
+ if (h == this.rootGraph) break;
+ s.lca == null && ((s.sourceInLca = h.getParent()), (h = s.sourceInLca.getOwner()));
+ }
+ if (s.lca == null) throw 'assert failed';
+ }
+ }),
+ (a.prototype.calcLowestCommonAncestor = function (s, l) {
+ if (s == l) return s.getOwner();
+ var u = s.getOwner();
+ do {
+ if (u == null) break;
+ var h = l.getOwner();
+ do {
+ if (h == null) break;
+ if (h == u) return h;
+ h = h.getParent().getOwner();
+ } while (!0);
+ u = u.getParent().getOwner();
+ } while (!0);
+ return u;
+ }),
+ (a.prototype.calcInclusionTreeDepths = function (s, l) {
+ s == null && l == null && ((s = this.rootGraph), (l = 1));
+ for (var u, h = s.getNodes(), f = h.length, d = 0; d < f; d++)
+ (u = h[d]),
+ (u.inclusionTreeDepth = l),
+ u.child != null && this.calcInclusionTreeDepths(u.child, l + 1);
+ }),
+ (a.prototype.includesInvalidEdge = function () {
+ for (var s, l = [], u = this.edges.length, h = 0; h < u; h++)
+ (s = this.edges[h]), this.isOneAncestorOfOther(s.source, s.target) && l.push(s);
+ for (var h = 0; h < l.length; h++) this.remove(l[h]);
+ return !1;
+ }),
+ (t.exports = a);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(12);
+ function i() {}
+ o(i, 'IGeometry'),
+ (i.calcSeparationAmount = function (a, s, l, u) {
+ if (!a.intersects(s)) throw 'assert failed';
+ var h = new Array(2);
+ this.decideDirectionsForOverlappingNodes(a, s, h),
+ (l[0] = Math.min(a.getRight(), s.getRight()) - Math.max(a.x, s.x)),
+ (l[1] = Math.min(a.getBottom(), s.getBottom()) - Math.max(a.y, s.y)),
+ a.getX() <= s.getX() && a.getRight() >= s.getRight()
+ ? (l[0] += Math.min(s.getX() - a.getX(), a.getRight() - s.getRight()))
+ : s.getX() <= a.getX() &&
+ s.getRight() >= a.getRight() &&
+ (l[0] += Math.min(a.getX() - s.getX(), s.getRight() - a.getRight())),
+ a.getY() <= s.getY() && a.getBottom() >= s.getBottom()
+ ? (l[1] += Math.min(s.getY() - a.getY(), a.getBottom() - s.getBottom()))
+ : s.getY() <= a.getY() &&
+ s.getBottom() >= a.getBottom() &&
+ (l[1] += Math.min(a.getY() - s.getY(), s.getBottom() - a.getBottom()));
+ var f = Math.abs((s.getCenterY() - a.getCenterY()) / (s.getCenterX() - a.getCenterX()));
+ s.getCenterY() === a.getCenterY() && s.getCenterX() === a.getCenterX() && (f = 1);
+ var d = f * l[0],
+ p = l[1] / f;
+ l[0] < p ? (p = l[0]) : (d = l[1]),
+ (l[0] = -1 * h[0] * (p / 2 + u)),
+ (l[1] = -1 * h[1] * (d / 2 + u));
+ }),
+ (i.decideDirectionsForOverlappingNodes = function (a, s, l) {
+ a.getCenterX() < s.getCenterX() ? (l[0] = -1) : (l[0] = 1),
+ a.getCenterY() < s.getCenterY() ? (l[1] = -1) : (l[1] = 1);
+ }),
+ (i.getIntersection2 = function (a, s, l) {
+ var u = a.getCenterX(),
+ h = a.getCenterY(),
+ f = s.getCenterX(),
+ d = s.getCenterY();
+ if (a.intersects(s)) return (l[0] = u), (l[1] = h), (l[2] = f), (l[3] = d), !0;
+ var p = a.getX(),
+ m = a.getY(),
+ g = a.getRight(),
+ y = a.getX(),
+ v = a.getBottom(),
+ x = a.getRight(),
+ b = a.getWidthHalf(),
+ w = a.getHeightHalf(),
+ S = s.getX(),
+ T = s.getY(),
+ E = s.getRight(),
+ _ = s.getX(),
+ A = s.getBottom(),
+ L = s.getRight(),
+ M = s.getWidthHalf(),
+ N = s.getHeightHalf(),
+ k = !1,
+ I = !1;
+ if (u === f) {
+ if (h > d) return (l[0] = u), (l[1] = m), (l[2] = f), (l[3] = A), !1;
+ if (h < d) return (l[0] = u), (l[1] = v), (l[2] = f), (l[3] = T), !1;
+ } else if (h === d) {
+ if (u > f) return (l[0] = p), (l[1] = h), (l[2] = E), (l[3] = d), !1;
+ if (u < f) return (l[0] = g), (l[1] = h), (l[2] = S), (l[3] = d), !1;
+ } else {
+ var C = a.height / a.width,
+ O = s.height / s.width,
+ D = (d - h) / (f - u),
+ P = void 0,
+ F = void 0,
+ B = void 0,
+ $ = void 0,
+ z = void 0,
+ Y = void 0;
+ if (
+ (-C === D
+ ? u > f
+ ? ((l[0] = y), (l[1] = v), (k = !0))
+ : ((l[0] = g), (l[1] = m), (k = !0))
+ : C === D &&
+ (u > f
+ ? ((l[0] = p), (l[1] = m), (k = !0))
+ : ((l[0] = x), (l[1] = v), (k = !0))),
+ -O === D
+ ? f > u
+ ? ((l[2] = _), (l[3] = A), (I = !0))
+ : ((l[2] = E), (l[3] = T), (I = !0))
+ : O === D &&
+ (f > u
+ ? ((l[2] = S), (l[3] = T), (I = !0))
+ : ((l[2] = L), (l[3] = A), (I = !0))),
+ k && I)
+ )
+ return !1;
+ if (
+ (u > f
+ ? h > d
+ ? ((P = this.getCardinalDirection(C, D, 4)),
+ (F = this.getCardinalDirection(O, D, 2)))
+ : ((P = this.getCardinalDirection(-C, D, 3)),
+ (F = this.getCardinalDirection(-O, D, 1)))
+ : h > d
+ ? ((P = this.getCardinalDirection(-C, D, 1)),
+ (F = this.getCardinalDirection(-O, D, 3)))
+ : ((P = this.getCardinalDirection(C, D, 2)),
+ (F = this.getCardinalDirection(O, D, 4))),
+ !k)
+ )
+ switch (P) {
+ case 1:
+ ($ = m), (B = u + -w / D), (l[0] = B), (l[1] = $);
+ break;
+ case 2:
+ (B = x), ($ = h + b * D), (l[0] = B), (l[1] = $);
+ break;
+ case 3:
+ ($ = v), (B = u + w / D), (l[0] = B), (l[1] = $);
+ break;
+ case 4:
+ (B = y), ($ = h + -b * D), (l[0] = B), (l[1] = $);
+ break;
+ }
+ if (!I)
+ switch (F) {
+ case 1:
+ (Y = T), (z = f + -N / D), (l[2] = z), (l[3] = Y);
+ break;
+ case 2:
+ (z = L), (Y = d + M * D), (l[2] = z), (l[3] = Y);
+ break;
+ case 3:
+ (Y = A), (z = f + N / D), (l[2] = z), (l[3] = Y);
+ break;
+ case 4:
+ (z = _), (Y = d + -M * D), (l[2] = z), (l[3] = Y);
+ break;
+ }
+ }
+ return !1;
+ }),
+ (i.getCardinalDirection = function (a, s, l) {
+ return a > s ? l : 1 + (l % 4);
+ }),
+ (i.getIntersection = function (a, s, l, u) {
+ if (u == null) return this.getIntersection2(a, s, l);
+ var h = a.x,
+ f = a.y,
+ d = s.x,
+ p = s.y,
+ m = l.x,
+ g = l.y,
+ y = u.x,
+ v = u.y,
+ x = void 0,
+ b = void 0,
+ w = void 0,
+ S = void 0,
+ T = void 0,
+ E = void 0,
+ _ = void 0,
+ A = void 0,
+ L = void 0;
+ return (
+ (w = p - f),
+ (T = h - d),
+ (_ = d * f - h * p),
+ (S = v - g),
+ (E = m - y),
+ (A = y * g - m * v),
+ (L = w * E - S * T),
+ L === 0 ? null : ((x = (T * A - E * _) / L), (b = (S * _ - w * A) / L), new n(x, b))
+ );
+ }),
+ (i.angleOfVector = function (a, s, l, u) {
+ var h = void 0;
+ return (
+ a !== l
+ ? ((h = Math.atan((u - s) / (l - a))),
+ l < a ? (h += Math.PI) : u < s && (h += this.TWO_PI))
+ : u < s
+ ? (h = this.ONE_AND_HALF_PI)
+ : (h = this.HALF_PI),
+ h
+ );
+ }),
+ (i.doIntersect = function (a, s, l, u) {
+ var h = a.x,
+ f = a.y,
+ d = s.x,
+ p = s.y,
+ m = l.x,
+ g = l.y,
+ y = u.x,
+ v = u.y,
+ x = (d - h) * (v - g) - (y - m) * (p - f);
+ if (x === 0) return !1;
+ var b = ((v - g) * (y - h) + (m - y) * (v - f)) / x,
+ w = ((f - p) * (y - h) + (d - h) * (v - f)) / x;
+ return 0 < b && b < 1 && 0 < w && w < 1;
+ }),
+ (i.findCircleLineIntersections = function (a, s, l, u, h, f, d) {
+ var p = (l - a) * (l - a) + (u - s) * (u - s),
+ m = 2 * ((a - h) * (l - a) + (s - f) * (u - s)),
+ g = (a - h) * (a - h) + (s - f) * (s - f) - d * d,
+ y = m * m - 4 * p * g;
+ if (y >= 0) {
+ var v = (-m + Math.sqrt(m * m - 4 * p * g)) / (2 * p),
+ x = (-m - Math.sqrt(m * m - 4 * p * g)) / (2 * p),
+ b = null;
+ return v >= 0 && v <= 1 ? [v] : x >= 0 && x <= 1 ? [x] : b;
+ } else return null;
+ }),
+ (i.HALF_PI = 0.5 * Math.PI),
+ (i.ONE_AND_HALF_PI = 1.5 * Math.PI),
+ (i.TWO_PI = 2 * Math.PI),
+ (i.THREE_PI = 3 * Math.PI),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'IMath'),
+ (n.sign = function (i) {
+ return i > 0 ? 1 : i < 0 ? -1 : 0;
+ }),
+ (n.floor = function (i) {
+ return i < 0 ? Math.ceil(i) : Math.floor(i);
+ }),
+ (n.ceil = function (i) {
+ return i < 0 ? Math.floor(i) : Math.ceil(i);
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'Integer'), (n.MAX_VALUE = 2147483647), (n.MIN_VALUE = -2147483648), (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function h(f, d) {
+ for (var p = 0; p < d.length; p++) {
+ var m = d[p];
+ (m.enumerable = m.enumerable || !1),
+ (m.configurable = !0),
+ 'value' in m && (m.writable = !0),
+ Object.defineProperty(f, m.key, m);
+ }
+ }
+ return (
+ o(h, 'defineProperties'),
+ function (f, d, p) {
+ return d && h(f.prototype, d), p && h(f, p), f;
+ }
+ );
+ })();
+ function i(h, f) {
+ if (!(h instanceof f)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = o(function (f) {
+ return { value: f, next: null, prev: null };
+ }, 'nodeFrom'),
+ s = o(function (f, d, p, m) {
+ return (
+ f !== null ? (f.next = d) : (m.head = d),
+ p !== null ? (p.prev = d) : (m.tail = d),
+ (d.prev = f),
+ (d.next = p),
+ m.length++,
+ d
+ );
+ }, 'add'),
+ l = o(function (f, d) {
+ var p = f.prev,
+ m = f.next;
+ return (
+ p !== null ? (p.next = m) : (d.head = m),
+ m !== null ? (m.prev = p) : (d.tail = p),
+ (f.prev = f.next = null),
+ d.length--,
+ f
+ );
+ }, '_remove'),
+ u = (function () {
+ function h(f) {
+ var d = this;
+ i(this, h),
+ (this.length = 0),
+ (this.head = null),
+ (this.tail = null),
+ f?.forEach(function (p) {
+ return d.push(p);
+ });
+ }
+ return (
+ o(h, 'LinkedList'),
+ n(h, [
+ {
+ key: 'size',
+ value: o(function () {
+ return this.length;
+ }, 'size')
+ },
+ {
+ key: 'insertBefore',
+ value: o(function (d, p) {
+ return s(p.prev, a(d), p, this);
+ }, 'insertBefore')
+ },
+ {
+ key: 'insertAfter',
+ value: o(function (d, p) {
+ return s(p, a(d), p.next, this);
+ }, 'insertAfter')
+ },
+ {
+ key: 'insertNodeBefore',
+ value: o(function (d, p) {
+ return s(p.prev, d, p, this);
+ }, 'insertNodeBefore')
+ },
+ {
+ key: 'insertNodeAfter',
+ value: o(function (d, p) {
+ return s(p, d, p.next, this);
+ }, 'insertNodeAfter')
+ },
+ {
+ key: 'push',
+ value: o(function (d) {
+ return s(this.tail, a(d), null, this);
+ }, 'push')
+ },
+ {
+ key: 'unshift',
+ value: o(function (d) {
+ return s(null, a(d), this.head, this);
+ }, 'unshift')
+ },
+ {
+ key: 'remove',
+ value: o(function (d) {
+ return l(d, this);
+ }, 'remove')
+ },
+ {
+ key: 'pop',
+ value: o(function () {
+ return l(this.tail, this).value;
+ }, 'pop')
+ },
+ {
+ key: 'popNode',
+ value: o(function () {
+ return l(this.tail, this);
+ }, 'popNode')
+ },
+ {
+ key: 'shift',
+ value: o(function () {
+ return l(this.head, this).value;
+ }, 'shift')
+ },
+ {
+ key: 'shiftNode',
+ value: o(function () {
+ return l(this.head, this);
+ }, 'shiftNode')
+ },
+ {
+ key: 'get_object_at',
+ value: o(function (d) {
+ if (d <= this.length()) {
+ for (var p = 1, m = this.head; p < d; ) (m = m.next), p++;
+ return m.value;
+ }
+ }, 'get_object_at')
+ },
+ {
+ key: 'set_object_at',
+ value: o(function (d, p) {
+ if (d <= this.length()) {
+ for (var m = 1, g = this.head; m < d; ) (g = g.next), m++;
+ g.value = p;
+ }
+ }, 'set_object_at')
+ }
+ ]),
+ h
+ );
+ })();
+ t.exports = u;
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a, s) {
+ (this.x = null),
+ (this.y = null),
+ i == null && a == null && s == null
+ ? ((this.x = 0), (this.y = 0))
+ : typeof i == 'number' && typeof a == 'number' && s == null
+ ? ((this.x = i), (this.y = a))
+ : i.constructor.name == 'Point' &&
+ a == null &&
+ s == null &&
+ ((s = i), (this.x = s.x), (this.y = s.y));
+ }
+ o(n, 'Point'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.getLocation = function () {
+ return new n(this.x, this.y);
+ }),
+ (n.prototype.setLocation = function (i, a, s) {
+ i.constructor.name == 'Point' && a == null && s == null
+ ? ((s = i), this.setLocation(s.x, s.y))
+ : typeof i == 'number' &&
+ typeof a == 'number' &&
+ s == null &&
+ (parseInt(i) == i && parseInt(a) == a
+ ? this.move(i, a)
+ : ((this.x = Math.floor(i + 0.5)), (this.y = Math.floor(a + 0.5))));
+ }),
+ (n.prototype.move = function (i, a) {
+ (this.x = i), (this.y = a);
+ }),
+ (n.prototype.translate = function (i, a) {
+ (this.x += i), (this.y += a);
+ }),
+ (n.prototype.equals = function (i) {
+ if (i.constructor.name == 'Point') {
+ var a = i;
+ return this.x == a.x && this.y == a.y;
+ }
+ return this == i;
+ }),
+ (n.prototype.toString = function () {
+ return new n().constructor.name + '[x=' + this.x + ',y=' + this.y + ']';
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a, s, l) {
+ (this.x = 0),
+ (this.y = 0),
+ (this.width = 0),
+ (this.height = 0),
+ i != null &&
+ a != null &&
+ s != null &&
+ l != null &&
+ ((this.x = i), (this.y = a), (this.width = s), (this.height = l));
+ }
+ o(n, 'RectangleD'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.setX = function (i) {
+ this.x = i;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.setY = function (i) {
+ this.y = i;
+ }),
+ (n.prototype.getWidth = function () {
+ return this.width;
+ }),
+ (n.prototype.setWidth = function (i) {
+ this.width = i;
+ }),
+ (n.prototype.getHeight = function () {
+ return this.height;
+ }),
+ (n.prototype.setHeight = function (i) {
+ this.height = i;
+ }),
+ (n.prototype.getRight = function () {
+ return this.x + this.width;
+ }),
+ (n.prototype.getBottom = function () {
+ return this.y + this.height;
+ }),
+ (n.prototype.intersects = function (i) {
+ return !(
+ this.getRight() < i.x ||
+ this.getBottom() < i.y ||
+ i.getRight() < this.x ||
+ i.getBottom() < this.y
+ );
+ }),
+ (n.prototype.getCenterX = function () {
+ return this.x + this.width / 2;
+ }),
+ (n.prototype.getMinX = function () {
+ return this.getX();
+ }),
+ (n.prototype.getMaxX = function () {
+ return this.getX() + this.width;
+ }),
+ (n.prototype.getCenterY = function () {
+ return this.y + this.height / 2;
+ }),
+ (n.prototype.getMinY = function () {
+ return this.getY();
+ }),
+ (n.prototype.getMaxY = function () {
+ return this.getY() + this.height;
+ }),
+ (n.prototype.getWidthHalf = function () {
+ return this.width / 2;
+ }),
+ (n.prototype.getHeightHalf = function () {
+ return this.height / 2;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n =
+ typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol'
+ ? function (a) {
+ return typeof a;
+ }
+ : function (a) {
+ return a &&
+ typeof Symbol == 'function' &&
+ a.constructor === Symbol &&
+ a !== Symbol.prototype
+ ? 'symbol'
+ : typeof a;
+ };
+ function i() {}
+ o(i, 'UniqueIDGeneretor'),
+ (i.lastID = 0),
+ (i.createID = function (a) {
+ return i.isPrimitive(a)
+ ? a
+ : (a.uniqueID != null || ((a.uniqueID = i.getString()), i.lastID++), a.uniqueID);
+ }),
+ (i.getString = function (a) {
+ return a == null && (a = i.lastID), 'Object#' + a;
+ }),
+ (i.isPrimitive = function (a) {
+ var s = typeof a > 'u' ? 'undefined' : n(a);
+ return a == null || (s != 'object' && s != 'function');
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(m) {
+ if (Array.isArray(m)) {
+ for (var g = 0, y = Array(m.length); g < m.length; g++) y[g] = m[g];
+ return y;
+ } else return Array.from(m);
+ }
+ o(n, '_toConsumableArray');
+ var i = r(0),
+ a = r(7),
+ s = r(3),
+ l = r(1),
+ u = r(6),
+ h = r(5),
+ f = r(17),
+ d = r(29);
+ function p(m) {
+ d.call(this),
+ (this.layoutQuality = i.QUALITY),
+ (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED),
+ (this.incremental = i.DEFAULT_INCREMENTAL),
+ (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT),
+ (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT),
+ (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD),
+ (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES),
+ (this.edgeToDummyNodes = new Map()),
+ (this.graphManager = new a(this)),
+ (this.isLayoutFinished = !1),
+ (this.isSubLayout = !1),
+ (this.isRemoteUse = !1),
+ m != null && (this.isRemoteUse = m);
+ }
+ o(p, 'Layout'),
+ (p.RANDOM_SEED = 1),
+ (p.prototype = Object.create(d.prototype)),
+ (p.prototype.getGraphManager = function () {
+ return this.graphManager;
+ }),
+ (p.prototype.getAllNodes = function () {
+ return this.graphManager.getAllNodes();
+ }),
+ (p.prototype.getAllEdges = function () {
+ return this.graphManager.getAllEdges();
+ }),
+ (p.prototype.getAllNodesToApplyGravitation = function () {
+ return this.graphManager.getAllNodesToApplyGravitation();
+ }),
+ (p.prototype.newGraphManager = function () {
+ var m = new a(this);
+ return (this.graphManager = m), m;
+ }),
+ (p.prototype.newGraph = function (m) {
+ return new u(null, this.graphManager, m);
+ }),
+ (p.prototype.newNode = function (m) {
+ return new s(this.graphManager, m);
+ }),
+ (p.prototype.newEdge = function (m) {
+ return new l(null, null, m);
+ }),
+ (p.prototype.checkLayoutSuccess = function () {
+ return (
+ this.graphManager.getRoot() == null ||
+ this.graphManager.getRoot().getNodes().length == 0 ||
+ this.graphManager.includesInvalidEdge()
+ );
+ }),
+ (p.prototype.runLayout = function () {
+ (this.isLayoutFinished = !1),
+ this.tilingPreLayout && this.tilingPreLayout(),
+ this.initParameters();
+ var m;
+ return (
+ this.checkLayoutSuccess() ? (m = !1) : (m = this.layout()),
+ i.ANIMATE === 'during'
+ ? !1
+ : (m && (this.isSubLayout || this.doPostLayout()),
+ this.tilingPostLayout && this.tilingPostLayout(),
+ (this.isLayoutFinished = !0),
+ m)
+ );
+ }),
+ (p.prototype.doPostLayout = function () {
+ this.incremental || this.transform(), this.update();
+ }),
+ (p.prototype.update2 = function () {
+ if (
+ (this.createBendsAsNeeded &&
+ (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()),
+ !this.isRemoteUse)
+ ) {
+ for (var m, g = this.graphManager.getAllEdges(), y = 0; y < g.length; y++) m = g[y];
+ for (var v, x = this.graphManager.getRoot().getNodes(), y = 0; y < x.length; y++)
+ v = x[y];
+ this.update(this.graphManager.getRoot());
+ }
+ }),
+ (p.prototype.update = function (m) {
+ if (m == null) this.update2();
+ else if (m instanceof s) {
+ var g = m;
+ if (g.getChild() != null)
+ for (var y = g.getChild().getNodes(), v = 0; v < y.length; v++) update(y[v]);
+ if (g.vGraphObject != null) {
+ var x = g.vGraphObject;
+ x.update(g);
+ }
+ } else if (m instanceof l) {
+ var b = m;
+ if (b.vGraphObject != null) {
+ var w = b.vGraphObject;
+ w.update(b);
+ }
+ } else if (m instanceof u) {
+ var S = m;
+ if (S.vGraphObject != null) {
+ var T = S.vGraphObject;
+ T.update(S);
+ }
+ }
+ }),
+ (p.prototype.initParameters = function () {
+ this.isSubLayout ||
+ ((this.layoutQuality = i.QUALITY),
+ (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT),
+ (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD),
+ (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT),
+ (this.incremental = i.DEFAULT_INCREMENTAL),
+ (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED),
+ (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES)),
+ this.animationDuringLayout && (this.animationOnLayout = !1);
+ }),
+ (p.prototype.transform = function (m) {
+ if (m == null) this.transform(new h(0, 0));
+ else {
+ var g = new f(),
+ y = this.graphManager.getRoot().updateLeftTop();
+ if (y != null) {
+ g.setWorldOrgX(m.x),
+ g.setWorldOrgY(m.y),
+ g.setDeviceOrgX(y.x),
+ g.setDeviceOrgY(y.y);
+ for (var v = this.getAllNodes(), x, b = 0; b < v.length; b++)
+ (x = v[b]), x.transform(g);
+ }
+ }
+ }),
+ (p.prototype.positionNodesRandomly = function (m) {
+ if (m == null)
+ this.positionNodesRandomly(this.getGraphManager().getRoot()),
+ this.getGraphManager().getRoot().updateBounds(!0);
+ else
+ for (var g, y, v = m.getNodes(), x = 0; x < v.length; x++)
+ (g = v[x]),
+ (y = g.getChild()),
+ y == null || y.getNodes().length == 0
+ ? g.scatter()
+ : (this.positionNodesRandomly(y), g.updateBounds());
+ }),
+ (p.prototype.getFlatForest = function () {
+ for (
+ var m = [], g = !0, y = this.graphManager.getRoot().getNodes(), v = !0, x = 0;
+ x < y.length;
+ x++
+ )
+ y[x].getChild() != null && (v = !1);
+ if (!v) return m;
+ var b = new Set(),
+ w = [],
+ S = new Map(),
+ T = [];
+ for (T = T.concat(y); T.length > 0 && g; ) {
+ for (w.push(T[0]); w.length > 0 && g; ) {
+ var E = w[0];
+ w.splice(0, 1), b.add(E);
+ for (var _ = E.getEdges(), x = 0; x < _.length; x++) {
+ var A = _[x].getOtherEnd(E);
+ if (S.get(E) != A)
+ if (!b.has(A)) w.push(A), S.set(A, E);
+ else {
+ g = !1;
+ break;
+ }
+ }
+ }
+ if (!g) m = [];
+ else {
+ var L = [].concat(n(b));
+ m.push(L);
+ for (var x = 0; x < L.length; x++) {
+ var M = L[x],
+ N = T.indexOf(M);
+ N > -1 && T.splice(N, 1);
+ }
+ (b = new Set()), (S = new Map());
+ }
+ }
+ return m;
+ }),
+ (p.prototype.createDummyNodesForBendpoints = function (m) {
+ for (
+ var g = [],
+ y = m.source,
+ v = this.graphManager.calcLowestCommonAncestor(m.source, m.target),
+ x = 0;
+ x < m.bendpoints.length;
+ x++
+ ) {
+ var b = this.newNode(null);
+ b.setRect(new Point(0, 0), new Dimension(1, 1)), v.add(b);
+ var w = this.newEdge(null);
+ this.graphManager.add(w, y, b), g.add(b), (y = b);
+ }
+ var w = this.newEdge(null);
+ return (
+ this.graphManager.add(w, y, m.target),
+ this.edgeToDummyNodes.set(m, g),
+ m.isInterGraph() ? this.graphManager.remove(m) : v.remove(m),
+ g
+ );
+ }),
+ (p.prototype.createBendpointsFromDummyNodes = function () {
+ var m = [];
+ (m = m.concat(this.graphManager.getAllEdges())),
+ (m = [].concat(n(this.edgeToDummyNodes.keys())).concat(m));
+ for (var g = 0; g < m.length; g++) {
+ var y = m[g];
+ if (y.bendpoints.length > 0) {
+ for (var v = this.edgeToDummyNodes.get(y), x = 0; x < v.length; x++) {
+ var b = v[x],
+ w = new h(b.getCenterX(), b.getCenterY()),
+ S = y.bendpoints.get(x);
+ (S.x = w.x), (S.y = w.y), b.getOwner().remove(b);
+ }
+ this.graphManager.add(y, y.source, y.target);
+ }
+ }
+ }),
+ (p.transform = function (m, g, y, v) {
+ if (y != null && v != null) {
+ var x = g;
+ if (m <= 50) {
+ var b = g / y;
+ x -= ((g - b) / 50) * (50 - m);
+ } else {
+ var w = g * v;
+ x += ((w - g) / 50) * (m - 50);
+ }
+ return x;
+ } else {
+ var S, T;
+ return (
+ m <= 50 ? ((S = (9 * g) / 500), (T = g / 10)) : ((S = (9 * g) / 50), (T = -8 * g)),
+ S * m + T
+ );
+ }
+ }),
+ (p.findCenterOfTree = function (m) {
+ var g = [];
+ g = g.concat(m);
+ var y = [],
+ v = new Map(),
+ x = !1,
+ b = null;
+ (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0]));
+ for (var w = 0; w < g.length; w++) {
+ var S = g[w],
+ T = S.getNeighborsList().size;
+ v.set(S, S.getNeighborsList().size), T == 1 && y.push(S);
+ }
+ var E = [];
+ for (E = E.concat(y); !x; ) {
+ var _ = [];
+ (_ = _.concat(E)), (E = []);
+ for (var w = 0; w < g.length; w++) {
+ var S = g[w],
+ A = g.indexOf(S);
+ A >= 0 && g.splice(A, 1);
+ var L = S.getNeighborsList();
+ L.forEach(function (k) {
+ if (y.indexOf(k) < 0) {
+ var I = v.get(k),
+ C = I - 1;
+ C == 1 && E.push(k), v.set(k, C);
+ }
+ });
+ }
+ (y = y.concat(E)), (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0]));
+ }
+ return b;
+ }),
+ (p.prototype.setGraphManager = function (m) {
+ this.graphManager = m;
+ }),
+ (t.exports = p);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'RandomSeed'),
+ (n.seed = 1),
+ (n.x = 0),
+ (n.nextDouble = function () {
+ return (n.x = Math.sin(n.seed++) * 1e4), n.x - Math.floor(n.x);
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(5);
+ function i(a, s) {
+ (this.lworldOrgX = 0),
+ (this.lworldOrgY = 0),
+ (this.ldeviceOrgX = 0),
+ (this.ldeviceOrgY = 0),
+ (this.lworldExtX = 1),
+ (this.lworldExtY = 1),
+ (this.ldeviceExtX = 1),
+ (this.ldeviceExtY = 1);
+ }
+ o(i, 'Transform'),
+ (i.prototype.getWorldOrgX = function () {
+ return this.lworldOrgX;
+ }),
+ (i.prototype.setWorldOrgX = function (a) {
+ this.lworldOrgX = a;
+ }),
+ (i.prototype.getWorldOrgY = function () {
+ return this.lworldOrgY;
+ }),
+ (i.prototype.setWorldOrgY = function (a) {
+ this.lworldOrgY = a;
+ }),
+ (i.prototype.getWorldExtX = function () {
+ return this.lworldExtX;
+ }),
+ (i.prototype.setWorldExtX = function (a) {
+ this.lworldExtX = a;
+ }),
+ (i.prototype.getWorldExtY = function () {
+ return this.lworldExtY;
+ }),
+ (i.prototype.setWorldExtY = function (a) {
+ this.lworldExtY = a;
+ }),
+ (i.prototype.getDeviceOrgX = function () {
+ return this.ldeviceOrgX;
+ }),
+ (i.prototype.setDeviceOrgX = function (a) {
+ this.ldeviceOrgX = a;
+ }),
+ (i.prototype.getDeviceOrgY = function () {
+ return this.ldeviceOrgY;
+ }),
+ (i.prototype.setDeviceOrgY = function (a) {
+ this.ldeviceOrgY = a;
+ }),
+ (i.prototype.getDeviceExtX = function () {
+ return this.ldeviceExtX;
+ }),
+ (i.prototype.setDeviceExtX = function (a) {
+ this.ldeviceExtX = a;
+ }),
+ (i.prototype.getDeviceExtY = function () {
+ return this.ldeviceExtY;
+ }),
+ (i.prototype.setDeviceExtY = function (a) {
+ this.ldeviceExtY = a;
+ }),
+ (i.prototype.transformX = function (a) {
+ var s = 0,
+ l = this.lworldExtX;
+ return l != 0 && (s = this.ldeviceOrgX + ((a - this.lworldOrgX) * this.ldeviceExtX) / l), s;
+ }),
+ (i.prototype.transformY = function (a) {
+ var s = 0,
+ l = this.lworldExtY;
+ return l != 0 && (s = this.ldeviceOrgY + ((a - this.lworldOrgY) * this.ldeviceExtY) / l), s;
+ }),
+ (i.prototype.inverseTransformX = function (a) {
+ var s = 0,
+ l = this.ldeviceExtX;
+ return l != 0 && (s = this.lworldOrgX + ((a - this.ldeviceOrgX) * this.lworldExtX) / l), s;
+ }),
+ (i.prototype.inverseTransformY = function (a) {
+ var s = 0,
+ l = this.ldeviceExtY;
+ return l != 0 && (s = this.lworldOrgY + ((a - this.ldeviceOrgY) * this.lworldExtY) / l), s;
+ }),
+ (i.prototype.inverseTransformPoint = function (a) {
+ var s = new n(this.inverseTransformX(a.x), this.inverseTransformY(a.y));
+ return s;
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(d) {
+ if (Array.isArray(d)) {
+ for (var p = 0, m = Array(d.length); p < d.length; p++) m[p] = d[p];
+ return m;
+ } else return Array.from(d);
+ }
+ o(n, '_toConsumableArray');
+ var i = r(15),
+ a = r(4),
+ s = r(0),
+ l = r(8),
+ u = r(9);
+ function h() {
+ i.call(this),
+ (this.useSmartIdealEdgeLengthCalculation =
+ a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION),
+ (this.gravityConstant = a.DEFAULT_GRAVITY_STRENGTH),
+ (this.compoundGravityConstant = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH),
+ (this.gravityRangeFactor = a.DEFAULT_GRAVITY_RANGE_FACTOR),
+ (this.compoundGravityRangeFactor = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR),
+ (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100),
+ (this.coolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL),
+ (this.initialCoolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL),
+ (this.totalDisplacement = 0),
+ (this.oldTotalDisplacement = 0),
+ (this.maxIterations = a.MAX_ITERATIONS);
+ }
+ o(h, 'FDLayout'), (h.prototype = Object.create(i.prototype));
+ for (var f in i) h[f] = i[f];
+ (h.prototype.initParameters = function () {
+ i.prototype.initParameters.call(this, arguments),
+ (this.totalIterations = 0),
+ (this.notAnimatedIterations = 0),
+ (this.useFRGridVariant = a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION),
+ (this.grid = []);
+ }),
+ (h.prototype.calcIdealEdgeLengths = function () {
+ for (
+ var d, p, m, g, y, v, x, b = this.getGraphManager().getAllEdges(), w = 0;
+ w < b.length;
+ w++
+ )
+ (d = b[w]),
+ (p = d.idealLength),
+ d.isInterGraph &&
+ ((g = d.getSource()),
+ (y = d.getTarget()),
+ (v = d.getSourceInLca().getEstimatedSize()),
+ (x = d.getTargetInLca().getEstimatedSize()),
+ this.useSmartIdealEdgeLengthCalculation &&
+ (d.idealLength += v + x - 2 * s.SIMPLE_NODE_SIZE),
+ (m = d.getLca().getInclusionTreeDepth()),
+ (d.idealLength +=
+ p *
+ a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR *
+ (g.getInclusionTreeDepth() + y.getInclusionTreeDepth() - 2 * m)));
+ }),
+ (h.prototype.initSpringEmbedder = function () {
+ var d = this.getAllNodes().length;
+ this.incremental
+ ? (d > a.ADAPTATION_LOWER_NODE_LIMIT &&
+ (this.coolingFactor = Math.max(
+ this.coolingFactor * a.COOLING_ADAPTATION_FACTOR,
+ this.coolingFactor -
+ ((d - a.ADAPTATION_LOWER_NODE_LIMIT) /
+ (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) *
+ this.coolingFactor *
+ (1 - a.COOLING_ADAPTATION_FACTOR)
+ )),
+ (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT_INCREMENTAL))
+ : (d > a.ADAPTATION_LOWER_NODE_LIMIT
+ ? (this.coolingFactor = Math.max(
+ a.COOLING_ADAPTATION_FACTOR,
+ 1 -
+ ((d - a.ADAPTATION_LOWER_NODE_LIMIT) /
+ (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) *
+ (1 - a.COOLING_ADAPTATION_FACTOR)
+ ))
+ : (this.coolingFactor = 1),
+ (this.initialCoolingFactor = this.coolingFactor),
+ (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT)),
+ (this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations)),
+ (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100),
+ (this.totalDisplacementThreshold =
+ this.displacementThresholdPerNode * this.getAllNodes().length),
+ (this.repulsionRange = this.calcRepulsionRange());
+ }),
+ (h.prototype.calcSpringForces = function () {
+ for (var d = this.getAllEdges(), p, m = 0; m < d.length; m++)
+ (p = d[m]), this.calcSpringForce(p, p.idealLength);
+ }),
+ (h.prototype.calcRepulsionForces = function () {
+ var d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0,
+ p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1,
+ m,
+ g,
+ y,
+ v,
+ x = this.getAllNodes(),
+ b;
+ if (this.useFRGridVariant)
+ for (
+ this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 &&
+ d &&
+ this.updateGrid(),
+ b = new Set(),
+ m = 0;
+ m < x.length;
+ m++
+ )
+ (y = x[m]), this.calculateRepulsionForceOfANode(y, b, d, p), b.add(y);
+ else
+ for (m = 0; m < x.length; m++)
+ for (y = x[m], g = m + 1; g < x.length; g++)
+ (v = x[g]), y.getOwner() == v.getOwner() && this.calcRepulsionForce(y, v);
+ }),
+ (h.prototype.calcGravitationalForces = function () {
+ for (var d, p = this.getAllNodesToApplyGravitation(), m = 0; m < p.length; m++)
+ (d = p[m]), this.calcGravitationalForce(d);
+ }),
+ (h.prototype.moveNodes = function () {
+ for (var d = this.getAllNodes(), p, m = 0; m < d.length; m++) (p = d[m]), p.move();
+ }),
+ (h.prototype.calcSpringForce = function (d, p) {
+ var m = d.getSource(),
+ g = d.getTarget(),
+ y,
+ v,
+ x,
+ b;
+ if (this.uniformLeafNodeSizes && m.getChild() == null && g.getChild() == null)
+ d.updateLengthSimple();
+ else if ((d.updateLength(), d.isOverlapingSourceAndTarget)) return;
+ (y = d.getLength()),
+ y != 0 &&
+ ((v = d.edgeElasticity * (y - p)),
+ (x = v * (d.lengthX / y)),
+ (b = v * (d.lengthY / y)),
+ (m.springForceX += x),
+ (m.springForceY += b),
+ (g.springForceX -= x),
+ (g.springForceY -= b));
+ }),
+ (h.prototype.calcRepulsionForce = function (d, p) {
+ var m = d.getRect(),
+ g = p.getRect(),
+ y = new Array(2),
+ v = new Array(4),
+ x,
+ b,
+ w,
+ S,
+ T,
+ E,
+ _;
+ if (m.intersects(g)) {
+ l.calcSeparationAmount(m, g, y, a.DEFAULT_EDGE_LENGTH / 2),
+ (E = 2 * y[0]),
+ (_ = 2 * y[1]);
+ var A = (d.noOfChildren * p.noOfChildren) / (d.noOfChildren + p.noOfChildren);
+ (d.repulsionForceX -= A * E),
+ (d.repulsionForceY -= A * _),
+ (p.repulsionForceX += A * E),
+ (p.repulsionForceY += A * _);
+ } else
+ this.uniformLeafNodeSizes && d.getChild() == null && p.getChild() == null
+ ? ((x = g.getCenterX() - m.getCenterX()), (b = g.getCenterY() - m.getCenterY()))
+ : (l.getIntersection(m, g, v), (x = v[2] - v[0]), (b = v[3] - v[1])),
+ Math.abs(x) < a.MIN_REPULSION_DIST && (x = u.sign(x) * a.MIN_REPULSION_DIST),
+ Math.abs(b) < a.MIN_REPULSION_DIST && (b = u.sign(b) * a.MIN_REPULSION_DIST),
+ (w = x * x + b * b),
+ (S = Math.sqrt(w)),
+ (T =
+ ((d.nodeRepulsion / 2 + p.nodeRepulsion / 2) *
+ d.noOfChildren *
+ p.noOfChildren) /
+ w),
+ (E = (T * x) / S),
+ (_ = (T * b) / S),
+ (d.repulsionForceX -= E),
+ (d.repulsionForceY -= _),
+ (p.repulsionForceX += E),
+ (p.repulsionForceY += _);
+ }),
+ (h.prototype.calcGravitationalForce = function (d) {
+ var p, m, g, y, v, x, b, w;
+ (p = d.getOwner()),
+ (m = (p.getRight() + p.getLeft()) / 2),
+ (g = (p.getTop() + p.getBottom()) / 2),
+ (y = d.getCenterX() - m),
+ (v = d.getCenterY() - g),
+ (x = Math.abs(y) + d.getWidth() / 2),
+ (b = Math.abs(v) + d.getHeight() / 2),
+ d.getOwner() == this.graphManager.getRoot()
+ ? ((w = p.getEstimatedSize() * this.gravityRangeFactor),
+ (x > w || b > w) &&
+ ((d.gravitationForceX = -this.gravityConstant * y),
+ (d.gravitationForceY = -this.gravityConstant * v)))
+ : ((w = p.getEstimatedSize() * this.compoundGravityRangeFactor),
+ (x > w || b > w) &&
+ ((d.gravitationForceX =
+ -this.gravityConstant * y * this.compoundGravityConstant),
+ (d.gravitationForceY =
+ -this.gravityConstant * v * this.compoundGravityConstant)));
+ }),
+ (h.prototype.isConverged = function () {
+ var d,
+ p = !1;
+ return (
+ this.totalIterations > this.maxIterations / 3 &&
+ (p = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2),
+ (d = this.totalDisplacement < this.totalDisplacementThreshold),
+ (this.oldTotalDisplacement = this.totalDisplacement),
+ d || p
+ );
+ }),
+ (h.prototype.animate = function () {
+ this.animationDuringLayout &&
+ !this.isSubLayout &&
+ (this.notAnimatedIterations == this.animationPeriod
+ ? (this.update(), (this.notAnimatedIterations = 0))
+ : this.notAnimatedIterations++);
+ }),
+ (h.prototype.calcNoOfChildrenForAllNodes = function () {
+ for (var d, p = this.graphManager.getAllNodes(), m = 0; m < p.length; m++)
+ (d = p[m]), (d.noOfChildren = d.getNoOfChildren());
+ }),
+ (h.prototype.calcGrid = function (d) {
+ var p = 0,
+ m = 0;
+ (p = parseInt(Math.ceil((d.getRight() - d.getLeft()) / this.repulsionRange))),
+ (m = parseInt(Math.ceil((d.getBottom() - d.getTop()) / this.repulsionRange)));
+ for (var g = new Array(p), y = 0; y < p; y++) g[y] = new Array(m);
+ for (var y = 0; y < p; y++) for (var v = 0; v < m; v++) g[y][v] = new Array();
+ return g;
+ }),
+ (h.prototype.addNodeToGrid = function (d, p, m) {
+ var g = 0,
+ y = 0,
+ v = 0,
+ x = 0;
+ (g = parseInt(Math.floor((d.getRect().x - p) / this.repulsionRange))),
+ (y = parseInt(
+ Math.floor((d.getRect().width + d.getRect().x - p) / this.repulsionRange)
+ )),
+ (v = parseInt(Math.floor((d.getRect().y - m) / this.repulsionRange))),
+ (x = parseInt(
+ Math.floor((d.getRect().height + d.getRect().y - m) / this.repulsionRange)
+ ));
+ for (var b = g; b <= y; b++)
+ for (var w = v; w <= x; w++) this.grid[b][w].push(d), d.setGridCoordinates(g, y, v, x);
+ }),
+ (h.prototype.updateGrid = function () {
+ var d,
+ p,
+ m = this.getAllNodes();
+ for (this.grid = this.calcGrid(this.graphManager.getRoot()), d = 0; d < m.length; d++)
+ (p = m[d]),
+ this.addNodeToGrid(
+ p,
+ this.graphManager.getRoot().getLeft(),
+ this.graphManager.getRoot().getTop()
+ );
+ }),
+ (h.prototype.calculateRepulsionForceOfANode = function (d, p, m, g) {
+ if ((this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && m) || g) {
+ var y = new Set();
+ d.surrounding = new Array();
+ for (var v, x = this.grid, b = d.startX - 1; b < d.finishX + 2; b++)
+ for (var w = d.startY - 1; w < d.finishY + 2; w++)
+ if (!(b < 0 || w < 0 || b >= x.length || w >= x[0].length)) {
+ for (var S = 0; S < x[b][w].length; S++)
+ if (
+ ((v = x[b][w][S]),
+ !(d.getOwner() != v.getOwner() || d == v) && !p.has(v) && !y.has(v))
+ ) {
+ var T =
+ Math.abs(d.getCenterX() - v.getCenterX()) -
+ (d.getWidth() / 2 + v.getWidth() / 2),
+ E =
+ Math.abs(d.getCenterY() - v.getCenterY()) -
+ (d.getHeight() / 2 + v.getHeight() / 2);
+ T <= this.repulsionRange && E <= this.repulsionRange && y.add(v);
+ }
+ }
+ d.surrounding = [].concat(n(y));
+ }
+ for (b = 0; b < d.surrounding.length; b++) this.calcRepulsionForce(d, d.surrounding[b]);
+ }),
+ (h.prototype.calcRepulsionRange = function () {
+ return 0;
+ }),
+ (t.exports = h);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(1),
+ i = r(4);
+ function a(l, u, h) {
+ n.call(this, l, u, h),
+ (this.idealLength = i.DEFAULT_EDGE_LENGTH),
+ (this.edgeElasticity = i.DEFAULT_SPRING_STRENGTH);
+ }
+ o(a, 'FDLayoutEdge'), (a.prototype = Object.create(n.prototype));
+ for (var s in n) a[s] = n[s];
+ t.exports = a;
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(3),
+ i = r(4);
+ function a(l, u, h, f) {
+ n.call(this, l, u, h, f),
+ (this.nodeRepulsion = i.DEFAULT_REPULSION_STRENGTH),
+ (this.springForceX = 0),
+ (this.springForceY = 0),
+ (this.repulsionForceX = 0),
+ (this.repulsionForceY = 0),
+ (this.gravitationForceX = 0),
+ (this.gravitationForceY = 0),
+ (this.displacementX = 0),
+ (this.displacementY = 0),
+ (this.startX = 0),
+ (this.finishX = 0),
+ (this.startY = 0),
+ (this.finishY = 0),
+ (this.surrounding = []);
+ }
+ o(a, 'FDLayoutNode'), (a.prototype = Object.create(n.prototype));
+ for (var s in n) a[s] = n[s];
+ (a.prototype.setGridCoordinates = function (l, u, h, f) {
+ (this.startX = l), (this.finishX = u), (this.startY = h), (this.finishY = f);
+ }),
+ (t.exports = a);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a) {
+ (this.width = 0),
+ (this.height = 0),
+ i !== null && a !== null && ((this.height = a), (this.width = i));
+ }
+ o(n, 'DimensionD'),
+ (n.prototype.getWidth = function () {
+ return this.width;
+ }),
+ (n.prototype.setWidth = function (i) {
+ this.width = i;
+ }),
+ (n.prototype.getHeight = function () {
+ return this.height;
+ }),
+ (n.prototype.setHeight = function (i) {
+ this.height = i;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(14);
+ function i() {
+ (this.map = {}), (this.keys = []);
+ }
+ o(i, 'HashMap'),
+ (i.prototype.put = function (a, s) {
+ var l = n.createID(a);
+ this.contains(l) || ((this.map[l] = s), this.keys.push(a));
+ }),
+ (i.prototype.contains = function (a) {
+ var s = n.createID(a);
+ return this.map[a] != null;
+ }),
+ (i.prototype.get = function (a) {
+ var s = n.createID(a);
+ return this.map[s];
+ }),
+ (i.prototype.keySet = function () {
+ return this.keys;
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(14);
+ function i() {
+ this.set = {};
+ }
+ o(i, 'HashSet'),
+ (i.prototype.add = function (a) {
+ var s = n.createID(a);
+ this.contains(s) || (this.set[s] = a);
+ }),
+ (i.prototype.remove = function (a) {
+ delete this.set[n.createID(a)];
+ }),
+ (i.prototype.clear = function () {
+ this.set = {};
+ }),
+ (i.prototype.contains = function (a) {
+ return this.set[n.createID(a)] == a;
+ }),
+ (i.prototype.isEmpty = function () {
+ return this.size() === 0;
+ }),
+ (i.prototype.size = function () {
+ return Object.keys(this.set).length;
+ }),
+ (i.prototype.addAllTo = function (a) {
+ for (var s = Object.keys(this.set), l = s.length, u = 0; u < l; u++) a.push(this.set[s[u]]);
+ }),
+ (i.prototype.size = function () {
+ return Object.keys(this.set).length;
+ }),
+ (i.prototype.addAll = function (a) {
+ for (var s = a.length, l = 0; l < s; l++) {
+ var u = a[l];
+ this.add(u);
+ }
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'Matrix'),
+ (n.multMat = function (i, a) {
+ for (var s = [], l = 0; l < i.length; l++) {
+ s[l] = [];
+ for (var u = 0; u < a[0].length; u++) {
+ s[l][u] = 0;
+ for (var h = 0; h < i[0].length; h++) s[l][u] += i[l][h] * a[h][u];
+ }
+ }
+ return s;
+ }),
+ (n.transpose = function (i) {
+ for (var a = [], s = 0; s < i[0].length; s++) {
+ a[s] = [];
+ for (var l = 0; l < i.length; l++) a[s][l] = i[l][s];
+ }
+ return a;
+ }),
+ (n.multCons = function (i, a) {
+ for (var s = [], l = 0; l < i.length; l++) s[l] = i[l] * a;
+ return s;
+ }),
+ (n.minusOp = function (i, a) {
+ for (var s = [], l = 0; l < i.length; l++) s[l] = i[l] - a[l];
+ return s;
+ }),
+ (n.dotProduct = function (i, a) {
+ for (var s = 0, l = 0; l < i.length; l++) s += i[l] * a[l];
+ return s;
+ }),
+ (n.mag = function (i) {
+ return Math.sqrt(this.dotProduct(i, i));
+ }),
+ (n.normalize = function (i) {
+ for (var a = [], s = this.mag(i), l = 0; l < i.length; l++) a[l] = i[l] / s;
+ return a;
+ }),
+ (n.multGamma = function (i) {
+ for (var a = [], s = 0, l = 0; l < i.length; l++) s += i[l];
+ s *= -1 / i.length;
+ for (var u = 0; u < i.length; u++) a[u] = s + i[u];
+ return a;
+ }),
+ (n.multL = function (i, a, s) {
+ for (var l = [], u = [], h = [], f = 0; f < a[0].length; f++) {
+ for (var d = 0, p = 0; p < a.length; p++) d += -0.5 * a[p][f] * i[p];
+ u[f] = d;
+ }
+ for (var m = 0; m < s.length; m++) {
+ for (var g = 0, y = 0; y < s.length; y++) g += s[m][y] * u[y];
+ h[m] = g;
+ }
+ for (var v = 0; v < a.length; v++) {
+ for (var x = 0, b = 0; b < a[0].length; b++) x += a[v][b] * h[b];
+ l[v] = x;
+ }
+ return l;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function l(u, h) {
+ for (var f = 0; f < h.length; f++) {
+ var d = h[f];
+ (d.enumerable = d.enumerable || !1),
+ (d.configurable = !0),
+ 'value' in d && (d.writable = !0),
+ Object.defineProperty(u, d.key, d);
+ }
+ }
+ return (
+ o(l, 'defineProperties'),
+ function (u, h, f) {
+ return h && l(u.prototype, h), f && l(u, f), u;
+ }
+ );
+ })();
+ function i(l, u) {
+ if (!(l instanceof u)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = r(11),
+ s = (function () {
+ function l(u, h) {
+ i(this, l),
+ (h !== null || h !== void 0) &&
+ (this.compareFunction = this._defaultCompareFunction);
+ var f = void 0;
+ u instanceof a ? (f = u.size()) : (f = u.length), this._quicksort(u, 0, f - 1);
+ }
+ return (
+ o(l, 'Quicksort'),
+ n(l, [
+ {
+ key: '_quicksort',
+ value: o(function (h, f, d) {
+ if (f < d) {
+ var p = this._partition(h, f, d);
+ this._quicksort(h, f, p), this._quicksort(h, p + 1, d);
+ }
+ }, '_quicksort')
+ },
+ {
+ key: '_partition',
+ value: o(function (h, f, d) {
+ for (var p = this._get(h, f), m = f, g = d; ; ) {
+ for (; this.compareFunction(p, this._get(h, g)); ) g--;
+ for (; this.compareFunction(this._get(h, m), p); ) m++;
+ if (m < g) this._swap(h, m, g), m++, g--;
+ else return g;
+ }
+ }, '_partition')
+ },
+ {
+ key: '_get',
+ value: o(function (h, f) {
+ return h instanceof a ? h.get_object_at(f) : h[f];
+ }, '_get')
+ },
+ {
+ key: '_set',
+ value: o(function (h, f, d) {
+ h instanceof a ? h.set_object_at(f, d) : (h[f] = d);
+ }, '_set')
+ },
+ {
+ key: '_swap',
+ value: o(function (h, f, d) {
+ var p = this._get(h, f);
+ this._set(h, f, this._get(h, d)), this._set(h, d, p);
+ }, '_swap')
+ },
+ {
+ key: '_defaultCompareFunction',
+ value: o(function (h, f) {
+ return f > h;
+ }, '_defaultCompareFunction')
+ }
+ ]),
+ l
+ );
+ })();
+ t.exports = s;
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'SVD'),
+ (n.svd = function (i) {
+ (this.U = null),
+ (this.V = null),
+ (this.s = null),
+ (this.m = 0),
+ (this.n = 0),
+ (this.m = i.length),
+ (this.n = i[0].length);
+ var a = Math.min(this.m, this.n);
+ (this.s = (function (it) {
+ for (var dt = []; it-- > 0; ) dt.push(0);
+ return dt;
+ })(Math.min(this.m + 1, this.n))),
+ (this.U = (function (it) {
+ var dt = o(function lt(It) {
+ if (It.length == 0) return 0;
+ for (var mt = [], St = 0; St < It[0]; St++) mt.push(lt(It.slice(1)));
+ return mt;
+ }, 'allocate');
+ return dt(it);
+ })([this.m, a])),
+ (this.V = (function (it) {
+ var dt = o(function lt(It) {
+ if (It.length == 0) return 0;
+ for (var mt = [], St = 0; St < It[0]; St++) mt.push(lt(It.slice(1)));
+ return mt;
+ }, 'allocate');
+ return dt(it);
+ })([this.n, this.n]));
+ for (
+ var s = (function (it) {
+ for (var dt = []; it-- > 0; ) dt.push(0);
+ return dt;
+ })(this.n),
+ l = (function (it) {
+ for (var dt = []; it-- > 0; ) dt.push(0);
+ return dt;
+ })(this.m),
+ u = !0,
+ h = !0,
+ f = Math.min(this.m - 1, this.n),
+ d = Math.max(0, Math.min(this.n - 2, this.m)),
+ p = 0;
+ p < Math.max(f, d);
+ p++
+ ) {
+ if (p < f) {
+ this.s[p] = 0;
+ for (var m = p; m < this.m; m++) this.s[p] = n.hypot(this.s[p], i[m][p]);
+ if (this.s[p] !== 0) {
+ i[p][p] < 0 && (this.s[p] = -this.s[p]);
+ for (var g = p; g < this.m; g++) i[g][p] /= this.s[p];
+ i[p][p] += 1;
+ }
+ this.s[p] = -this.s[p];
+ }
+ for (var y = p + 1; y < this.n; y++) {
+ if (
+ (function (it, dt) {
+ return it && dt;
+ })(p < f, this.s[p] !== 0)
+ ) {
+ for (var v = 0, x = p; x < this.m; x++) v += i[x][p] * i[x][y];
+ v = -v / i[p][p];
+ for (var b = p; b < this.m; b++) i[b][y] += v * i[b][p];
+ }
+ s[y] = i[p][y];
+ }
+ if (
+ (function (it, dt) {
+ return it && dt;
+ })(u, p < f)
+ )
+ for (var w = p; w < this.m; w++) this.U[w][p] = i[w][p];
+ if (p < d) {
+ s[p] = 0;
+ for (var S = p + 1; S < this.n; S++) s[p] = n.hypot(s[p], s[S]);
+ if (s[p] !== 0) {
+ s[p + 1] < 0 && (s[p] = -s[p]);
+ for (var T = p + 1; T < this.n; T++) s[T] /= s[p];
+ s[p + 1] += 1;
+ }
+ if (
+ ((s[p] = -s[p]),
+ (function (it, dt) {
+ return it && dt;
+ })(p + 1 < this.m, s[p] !== 0))
+ ) {
+ for (var E = p + 1; E < this.m; E++) l[E] = 0;
+ for (var _ = p + 1; _ < this.n; _++)
+ for (var A = p + 1; A < this.m; A++) l[A] += s[_] * i[A][_];
+ for (var L = p + 1; L < this.n; L++)
+ for (var M = -s[L] / s[p + 1], N = p + 1; N < this.m; N++)
+ i[N][L] += M * l[N];
+ }
+ if (h) for (var k = p + 1; k < this.n; k++) this.V[k][p] = s[k];
+ }
+ }
+ var I = Math.min(this.n, this.m + 1);
+ if (
+ (f < this.n && (this.s[f] = i[f][f]),
+ this.m < I && (this.s[I - 1] = 0),
+ d + 1 < I && (s[d] = i[d][I - 1]),
+ (s[I - 1] = 0),
+ u)
+ ) {
+ for (var C = f; C < a; C++) {
+ for (var O = 0; O < this.m; O++) this.U[O][C] = 0;
+ this.U[C][C] = 1;
+ }
+ for (var D = f - 1; D >= 0; D--)
+ if (this.s[D] !== 0) {
+ for (var P = D + 1; P < a; P++) {
+ for (var F = 0, B = D; B < this.m; B++) F += this.U[B][D] * this.U[B][P];
+ F = -F / this.U[D][D];
+ for (var $ = D; $ < this.m; $++) this.U[$][P] += F * this.U[$][D];
+ }
+ for (var z = D; z < this.m; z++) this.U[z][D] = -this.U[z][D];
+ this.U[D][D] = 1 + this.U[D][D];
+ for (var Y = 0; Y < D - 1; Y++) this.U[Y][D] = 0;
+ } else {
+ for (var Q = 0; Q < this.m; Q++) this.U[Q][D] = 0;
+ this.U[D][D] = 1;
+ }
+ }
+ if (h)
+ for (var X = this.n - 1; X >= 0; X--) {
+ if (
+ (function (it, dt) {
+ return it && dt;
+ })(X < d, s[X] !== 0)
+ )
+ for (var ie = X + 1; ie < a; ie++) {
+ for (var j = 0, J = X + 1; J < this.n; J++)
+ j += this.V[J][X] * this.V[J][ie];
+ j = -j / this.V[X + 1][X];
+ for (var Z = X + 1; Z < this.n; Z++) this.V[Z][ie] += j * this.V[Z][X];
+ }
+ for (var H = 0; H < this.n; H++) this.V[H][X] = 0;
+ this.V[X][X] = 1;
+ }
+ for (var q = I - 1, K = 0, se = Math.pow(2, -52), ce = Math.pow(2, -966); I > 0; ) {
+ var ue = void 0,
+ te = void 0;
+ for (ue = I - 2; ue >= -1 && ue !== -1; ue--)
+ if (
+ Math.abs(s[ue]) <=
+ ce + se * (Math.abs(this.s[ue]) + Math.abs(this.s[ue + 1]))
+ ) {
+ s[ue] = 0;
+ break;
+ }
+ if (ue === I - 2) te = 4;
+ else {
+ var De = void 0;
+ for (De = I - 1; De >= ue && De !== ue; De--) {
+ var oe =
+ (De !== I ? Math.abs(s[De]) : 0) +
+ (De !== ue + 1 ? Math.abs(s[De - 1]) : 0);
+ if (Math.abs(this.s[De]) <= ce + se * oe) {
+ this.s[De] = 0;
+ break;
+ }
+ }
+ De === ue ? (te = 3) : De === I - 1 ? (te = 1) : ((te = 2), (ue = De));
+ }
+ switch ((ue++, te)) {
+ case 1:
+ {
+ var ke = s[I - 2];
+ s[I - 2] = 0;
+ for (var Ie = I - 2; Ie >= ue; Ie--) {
+ var Se = n.hypot(this.s[Ie], ke),
+ Ue = this.s[Ie] / Se,
+ Pe = ke / Se;
+ if (
+ ((this.s[Ie] = Se),
+ Ie !== ue && ((ke = -Pe * s[Ie - 1]), (s[Ie - 1] = Ue * s[Ie - 1])),
+ h)
+ )
+ for (var _e = 0; _e < this.n; _e++)
+ (Se = Ue * this.V[_e][Ie] + Pe * this.V[_e][I - 1]),
+ (this.V[_e][I - 1] =
+ -Pe * this.V[_e][Ie] + Ue * this.V[_e][I - 1]),
+ (this.V[_e][Ie] = Se);
+ }
+ }
+ break;
+ case 2:
+ {
+ var me = s[ue - 1];
+ s[ue - 1] = 0;
+ for (var W = ue; W < I; W++) {
+ var fe = n.hypot(this.s[W], me),
+ ge = this.s[W] / fe,
+ re = me / fe;
+ if (((this.s[W] = fe), (me = -re * s[W]), (s[W] = ge * s[W]), u))
+ for (var he = 0; he < this.m; he++)
+ (fe = ge * this.U[he][W] + re * this.U[he][ue - 1]),
+ (this.U[he][ue - 1] =
+ -re * this.U[he][W] + ge * this.U[he][ue - 1]),
+ (this.U[he][W] = fe);
+ }
+ }
+ break;
+ case 3:
+ {
+ var ne = Math.max(
+ Math.max(
+ Math.max(
+ Math.max(Math.abs(this.s[I - 1]), Math.abs(this.s[I - 2])),
+ Math.abs(s[I - 2])
+ ),
+ Math.abs(this.s[ue])
+ ),
+ Math.abs(s[ue])
+ ),
+ ae = this.s[I - 1] / ne,
+ we = this.s[I - 2] / ne,
+ Te = s[I - 2] / ne,
+ Ce = this.s[ue] / ne,
+ Ae = s[ue] / ne,
+ Ge = ((we + ae) * (we - ae) + Te * Te) / 2,
+ Me = ae * Te * (ae * Te),
+ ye = 0;
+ (function (it, dt) {
+ return it || dt;
+ })(Ge !== 0, Me !== 0) &&
+ ((ye = Math.sqrt(Ge * Ge + Me)),
+ Ge < 0 && (ye = -ye),
+ (ye = Me / (Ge + ye)));
+ for (
+ var He = (Ce + ae) * (Ce - ae) + ye, ze = Ce * Ae, Ze = ue;
+ Ze < I - 1;
+ Ze++
+ ) {
+ var gt = n.hypot(He, ze),
+ yt = He / gt,
+ tt = ze / gt;
+ if (
+ (Ze !== ue && (s[Ze - 1] = gt),
+ (He = yt * this.s[Ze] + tt * s[Ze]),
+ (s[Ze] = yt * s[Ze] - tt * this.s[Ze]),
+ (ze = tt * this.s[Ze + 1]),
+ (this.s[Ze + 1] = yt * this.s[Ze + 1]),
+ h)
+ )
+ for (var Ye = 0; Ye < this.n; Ye++)
+ (gt = yt * this.V[Ye][Ze] + tt * this.V[Ye][Ze + 1]),
+ (this.V[Ye][Ze + 1] =
+ -tt * this.V[Ye][Ze] + yt * this.V[Ye][Ze + 1]),
+ (this.V[Ye][Ze] = gt);
+ if (
+ ((gt = n.hypot(He, ze)),
+ (yt = He / gt),
+ (tt = ze / gt),
+ (this.s[Ze] = gt),
+ (He = yt * s[Ze] + tt * this.s[Ze + 1]),
+ (this.s[Ze + 1] = -tt * s[Ze] + yt * this.s[Ze + 1]),
+ (ze = tt * s[Ze + 1]),
+ (s[Ze + 1] = yt * s[Ze + 1]),
+ u && Ze < this.m - 1)
+ )
+ for (var Je = 0; Je < this.m; Je++)
+ (gt = yt * this.U[Je][Ze] + tt * this.U[Je][Ze + 1]),
+ (this.U[Je][Ze + 1] =
+ -tt * this.U[Je][Ze] + yt * this.U[Je][Ze + 1]),
+ (this.U[Je][Ze] = gt);
+ }
+ (s[I - 2] = He), (K = K + 1);
+ }
+ break;
+ case 4:
+ {
+ if (this.s[ue] <= 0 && ((this.s[ue] = this.s[ue] < 0 ? -this.s[ue] : 0), h))
+ for (var Ve = 0; Ve <= q; Ve++) this.V[Ve][ue] = -this.V[Ve][ue];
+ for (; ue < q && !(this.s[ue] >= this.s[ue + 1]); ) {
+ var je = this.s[ue];
+ if (
+ ((this.s[ue] = this.s[ue + 1]),
+ (this.s[ue + 1] = je),
+ h && ue < this.n - 1)
+ )
+ for (var kt = 0; kt < this.n; kt++)
+ (je = this.V[kt][ue + 1]),
+ (this.V[kt][ue + 1] = this.V[kt][ue]),
+ (this.V[kt][ue] = je);
+ if (u && ue < this.m - 1)
+ for (var at = 0; at < this.m; at++)
+ (je = this.U[at][ue + 1]),
+ (this.U[at][ue + 1] = this.U[at][ue]),
+ (this.U[at][ue] = je);
+ ue++;
+ }
+ (K = 0), I--;
+ }
+ break;
+ }
+ }
+ var xt = { U: this.U, V: this.V, S: this.s };
+ return xt;
+ }),
+ (n.hypot = function (i, a) {
+ var s = void 0;
+ return (
+ Math.abs(i) > Math.abs(a)
+ ? ((s = a / i), (s = Math.abs(i) * Math.sqrt(1 + s * s)))
+ : a != 0
+ ? ((s = i / a), (s = Math.abs(a) * Math.sqrt(1 + s * s)))
+ : (s = 0),
+ s
+ );
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function s(l, u) {
+ for (var h = 0; h < u.length; h++) {
+ var f = u[h];
+ (f.enumerable = f.enumerable || !1),
+ (f.configurable = !0),
+ 'value' in f && (f.writable = !0),
+ Object.defineProperty(l, f.key, f);
+ }
+ }
+ return (
+ o(s, 'defineProperties'),
+ function (l, u, h) {
+ return u && s(l.prototype, u), h && s(l, h), l;
+ }
+ );
+ })();
+ function i(s, l) {
+ if (!(s instanceof l)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = (function () {
+ function s(l, u) {
+ var h = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1,
+ f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1,
+ d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1;
+ i(this, s),
+ (this.sequence1 = l),
+ (this.sequence2 = u),
+ (this.match_score = h),
+ (this.mismatch_penalty = f),
+ (this.gap_penalty = d),
+ (this.iMax = l.length + 1),
+ (this.jMax = u.length + 1),
+ (this.grid = new Array(this.iMax));
+ for (var p = 0; p < this.iMax; p++) {
+ this.grid[p] = new Array(this.jMax);
+ for (var m = 0; m < this.jMax; m++) this.grid[p][m] = 0;
+ }
+ this.tracebackGrid = new Array(this.iMax);
+ for (var g = 0; g < this.iMax; g++) {
+ this.tracebackGrid[g] = new Array(this.jMax);
+ for (var y = 0; y < this.jMax; y++) this.tracebackGrid[g][y] = [null, null, null];
+ }
+ (this.alignments = []), (this.score = -1), this.computeGrids();
+ }
+ return (
+ o(s, 'NeedlemanWunsch'),
+ n(s, [
+ {
+ key: 'getScore',
+ value: o(function () {
+ return this.score;
+ }, 'getScore')
+ },
+ {
+ key: 'getAlignments',
+ value: o(function () {
+ return this.alignments;
+ }, 'getAlignments')
+ },
+ {
+ key: 'computeGrids',
+ value: o(function () {
+ for (var u = 1; u < this.jMax; u++)
+ (this.grid[0][u] = this.grid[0][u - 1] + this.gap_penalty),
+ (this.tracebackGrid[0][u] = [!1, !1, !0]);
+ for (var h = 1; h < this.iMax; h++)
+ (this.grid[h][0] = this.grid[h - 1][0] + this.gap_penalty),
+ (this.tracebackGrid[h][0] = [!1, !0, !1]);
+ for (var f = 1; f < this.iMax; f++)
+ for (var d = 1; d < this.jMax; d++) {
+ var p = void 0;
+ this.sequence1[f - 1] === this.sequence2[d - 1]
+ ? (p = this.grid[f - 1][d - 1] + this.match_score)
+ : (p = this.grid[f - 1][d - 1] + this.mismatch_penalty);
+ var m = this.grid[f - 1][d] + this.gap_penalty,
+ g = this.grid[f][d - 1] + this.gap_penalty,
+ y = [p, m, g],
+ v = this.arrayAllMaxIndexes(y);
+ (this.grid[f][d] = y[v[0]]),
+ (this.tracebackGrid[f][d] = [
+ v.includes(0),
+ v.includes(1),
+ v.includes(2)
+ ]);
+ }
+ this.score = this.grid[this.iMax - 1][this.jMax - 1];
+ }, 'computeGrids')
+ },
+ {
+ key: 'alignmentTraceback',
+ value: o(function () {
+ var u = [];
+ for (
+ u.push({
+ pos: [this.sequence1.length, this.sequence2.length],
+ seq1: '',
+ seq2: ''
+ });
+ u[0];
+
+ ) {
+ var h = u[0],
+ f = this.tracebackGrid[h.pos[0]][h.pos[1]];
+ f[0] &&
+ u.push({
+ pos: [h.pos[0] - 1, h.pos[1] - 1],
+ seq1: this.sequence1[h.pos[0] - 1] + h.seq1,
+ seq2: this.sequence2[h.pos[1] - 1] + h.seq2
+ }),
+ f[1] &&
+ u.push({
+ pos: [h.pos[0] - 1, h.pos[1]],
+ seq1: this.sequence1[h.pos[0] - 1] + h.seq1,
+ seq2: '-' + h.seq2
+ }),
+ f[2] &&
+ u.push({
+ pos: [h.pos[0], h.pos[1] - 1],
+ seq1: '-' + h.seq1,
+ seq2: this.sequence2[h.pos[1] - 1] + h.seq2
+ }),
+ h.pos[0] === 0 &&
+ h.pos[1] === 0 &&
+ this.alignments.push({
+ sequence1: h.seq1,
+ sequence2: h.seq2
+ }),
+ u.shift();
+ }
+ return this.alignments;
+ }, 'alignmentTraceback')
+ },
+ {
+ key: 'getAllIndexes',
+ value: o(function (u, h) {
+ for (var f = [], d = -1; (d = u.indexOf(h, d + 1)) !== -1; ) f.push(d);
+ return f;
+ }, 'getAllIndexes')
+ },
+ {
+ key: 'arrayAllMaxIndexes',
+ value: o(function (u) {
+ return this.getAllIndexes(u, Math.max.apply(null, u));
+ }, 'arrayAllMaxIndexes')
+ }
+ ]),
+ s
+ );
+ })();
+ t.exports = a;
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = o(function () {}, 'layoutBase');
+ (n.FDLayout = r(18)),
+ (n.FDLayoutConstants = r(4)),
+ (n.FDLayoutEdge = r(19)),
+ (n.FDLayoutNode = r(20)),
+ (n.DimensionD = r(21)),
+ (n.HashMap = r(22)),
+ (n.HashSet = r(23)),
+ (n.IGeometry = r(8)),
+ (n.IMath = r(9)),
+ (n.Integer = r(10)),
+ (n.Point = r(12)),
+ (n.PointD = r(5)),
+ (n.RandomSeed = r(16)),
+ (n.RectangleD = r(13)),
+ (n.Transform = r(17)),
+ (n.UniqueIDGeneretor = r(14)),
+ (n.Quicksort = r(25)),
+ (n.LinkedList = r(11)),
+ (n.LGraphObject = r(2)),
+ (n.LGraph = r(6)),
+ (n.LEdge = r(1)),
+ (n.LGraphManager = r(7)),
+ (n.LNode = r(3)),
+ (n.Layout = r(15)),
+ (n.LayoutConstants = r(0)),
+ (n.NeedlemanWunsch = r(27)),
+ (n.Matrix = r(24)),
+ (n.SVD = r(26)),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {
+ this.listeners = [];
+ }
+ o(n, 'Emitter');
+ var i = n.prototype;
+ (i.addListener = function (a, s) {
+ this.listeners.push({ event: a, callback: s });
+ }),
+ (i.removeListener = function (a, s) {
+ for (var l = this.listeners.length; l >= 0; l--) {
+ var u = this.listeners[l];
+ u.event === a && u.callback === s && this.listeners.splice(l, 1);
+ }
+ }),
+ (i.emit = function (a, s) {
+ for (var l = 0; l < this.listeners.length; l++) {
+ var u = this.listeners[l];
+ a === u.event && u.callback(s);
+ }
+ }),
+ (t.exports = n);
+ }
+ ]);
+ });
+ });
+ var ZB = gi((vb, QB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof vb == 'object' && typeof QB == 'object'
+ ? (QB.exports = r(KB()))
+ : typeof define == 'function' && define.amd
+ ? define(['layout-base'], r)
+ : typeof vb == 'object'
+ ? (vb.coseBase = r(KB()))
+ : (e.coseBase = r(e.layoutBase));
+ }, 'webpackUniversalModuleDefinition')(vb, function (t) {
+ return (() => {
+ 'use strict';
+ var e = {
+ 45: (a, s, l) => {
+ var u = {};
+ (u.layoutBase = l(551)),
+ (u.CoSEConstants = l(806)),
+ (u.CoSEEdge = l(767)),
+ (u.CoSEGraph = l(880)),
+ (u.CoSEGraphManager = l(578)),
+ (u.CoSELayout = l(765)),
+ (u.CoSENode = l(991)),
+ (u.ConstraintHandler = l(902)),
+ (a.exports = u);
+ },
+ 806: (a, s, l) => {
+ var u = l(551).FDLayoutConstants;
+ function h() {}
+ o(h, 'CoSEConstants');
+ for (var f in u) h[f] = u[f];
+ (h.DEFAULT_USE_MULTI_LEVEL_SCALING = !1),
+ (h.DEFAULT_RADIAL_SEPARATION = u.DEFAULT_EDGE_LENGTH),
+ (h.DEFAULT_COMPONENT_SEPERATION = 60),
+ (h.TILE = !0),
+ (h.TILING_PADDING_VERTICAL = 10),
+ (h.TILING_PADDING_HORIZONTAL = 10),
+ (h.TRANSFORM_ON_CONSTRAINT_HANDLING = !0),
+ (h.ENFORCE_CONSTRAINTS = !0),
+ (h.APPLY_LAYOUT = !0),
+ (h.RELAX_MOVEMENT_ON_CONSTRAINTS = !0),
+ (h.TREE_REDUCTION_ON_INCREMENTAL = !0),
+ (h.PURE_INCREMENTAL = h.DEFAULT_INCREMENTAL),
+ (a.exports = h);
+ },
+ 767: (a, s, l) => {
+ var u = l(551).FDLayoutEdge;
+ function h(d, p, m) {
+ u.call(this, d, p, m);
+ }
+ o(h, 'CoSEEdge'), (h.prototype = Object.create(u.prototype));
+ for (var f in u) h[f] = u[f];
+ a.exports = h;
+ },
+ 880: (a, s, l) => {
+ var u = l(551).LGraph;
+ function h(d, p, m) {
+ u.call(this, d, p, m);
+ }
+ o(h, 'CoSEGraph'), (h.prototype = Object.create(u.prototype));
+ for (var f in u) h[f] = u[f];
+ a.exports = h;
+ },
+ 578: (a, s, l) => {
+ var u = l(551).LGraphManager;
+ function h(d) {
+ u.call(this, d);
+ }
+ o(h, 'CoSEGraphManager'), (h.prototype = Object.create(u.prototype));
+ for (var f in u) h[f] = u[f];
+ a.exports = h;
+ },
+ 765: (a, s, l) => {
+ var u = l(551).FDLayout,
+ h = l(578),
+ f = l(880),
+ d = l(991),
+ p = l(767),
+ m = l(806),
+ g = l(902),
+ y = l(551).FDLayoutConstants,
+ v = l(551).LayoutConstants,
+ x = l(551).Point,
+ b = l(551).PointD,
+ w = l(551).DimensionD,
+ S = l(551).Layout,
+ T = l(551).Integer,
+ E = l(551).IGeometry,
+ _ = l(551).LGraph,
+ A = l(551).Transform,
+ L = l(551).LinkedList;
+ function M() {
+ u.call(this), (this.toBeTiled = {}), (this.constraints = {});
+ }
+ o(M, 'CoSELayout'), (M.prototype = Object.create(u.prototype));
+ for (var N in u) M[N] = u[N];
+ (M.prototype.newGraphManager = function () {
+ var k = new h(this);
+ return (this.graphManager = k), k;
+ }),
+ (M.prototype.newGraph = function (k) {
+ return new f(null, this.graphManager, k);
+ }),
+ (M.prototype.newNode = function (k) {
+ return new d(this.graphManager, k);
+ }),
+ (M.prototype.newEdge = function (k) {
+ return new p(null, null, k);
+ }),
+ (M.prototype.initParameters = function () {
+ u.prototype.initParameters.call(this, arguments),
+ this.isSubLayout ||
+ (m.DEFAULT_EDGE_LENGTH < 10
+ ? (this.idealEdgeLength = 10)
+ : (this.idealEdgeLength = m.DEFAULT_EDGE_LENGTH),
+ (this.useSmartIdealEdgeLengthCalculation =
+ m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION),
+ (this.gravityConstant = y.DEFAULT_GRAVITY_STRENGTH),
+ (this.compoundGravityConstant = y.DEFAULT_COMPOUND_GRAVITY_STRENGTH),
+ (this.gravityRangeFactor = y.DEFAULT_GRAVITY_RANGE_FACTOR),
+ (this.compoundGravityRangeFactor = y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR),
+ (this.prunedNodesAll = []),
+ (this.growTreeIterations = 0),
+ (this.afterGrowthIterations = 0),
+ (this.isTreeGrowing = !1),
+ (this.isGrowthFinished = !1));
+ }),
+ (M.prototype.initSpringEmbedder = function () {
+ u.prototype.initSpringEmbedder.call(this),
+ (this.coolingCycle = 0),
+ (this.maxCoolingCycle = this.maxIterations / y.CONVERGENCE_CHECK_PERIOD),
+ (this.finalTemperature = 0.04),
+ (this.coolingAdjuster = 1);
+ }),
+ (M.prototype.layout = function () {
+ var k = v.DEFAULT_CREATE_BENDS_AS_NEEDED;
+ return (
+ k && (this.createBendpoints(), this.graphManager.resetAllEdges()),
+ (this.level = 0),
+ this.classicLayout()
+ );
+ }),
+ (M.prototype.classicLayout = function () {
+ if (
+ ((this.nodesWithGravity = this.calculateNodesToApplyGravitationTo()),
+ this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),
+ this.calcNoOfChildrenForAllNodes(),
+ this.graphManager.calcLowestCommonAncestors(),
+ this.graphManager.calcInclusionTreeDepths(),
+ this.graphManager.getRoot().calcEstimatedSize(),
+ this.calcIdealEdgeLengths(),
+ this.incremental)
+ ) {
+ if (m.TREE_REDUCTION_ON_INCREMENTAL) {
+ this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation();
+ var I = new Set(this.getAllNodes()),
+ C = this.nodesWithGravity.filter(function (P) {
+ return I.has(P);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(C);
+ }
+ } else {
+ var k = this.getFlatForest();
+ if (k.length > 0) this.positionNodesRadially(k);
+ else {
+ this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation();
+ var I = new Set(this.getAllNodes()),
+ C = this.nodesWithGravity.filter(function (O) {
+ return I.has(O);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(C),
+ this.positionNodesRandomly();
+ }
+ }
+ return (
+ Object.keys(this.constraints).length > 0 &&
+ (g.handleConstraints(this), this.initConstraintVariables()),
+ this.initSpringEmbedder(),
+ m.APPLY_LAYOUT && this.runSpringEmbedder(),
+ !0
+ );
+ }),
+ (M.prototype.tick = function () {
+ if (
+ (this.totalIterations++,
+ this.totalIterations === this.maxIterations &&
+ !this.isTreeGrowing &&
+ !this.isGrowthFinished)
+ )
+ if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0;
+ else return !0;
+ if (
+ this.totalIterations % y.CONVERGENCE_CHECK_PERIOD == 0 &&
+ !this.isTreeGrowing &&
+ !this.isGrowthFinished
+ ) {
+ if (this.isConverged())
+ if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0;
+ else return !0;
+ this.coolingCycle++,
+ this.layoutQuality == 0
+ ? (this.coolingAdjuster = this.coolingCycle)
+ : this.layoutQuality == 1 &&
+ (this.coolingAdjuster = this.coolingCycle / 3),
+ (this.coolingFactor = Math.max(
+ this.initialCoolingFactor -
+ (Math.pow(
+ this.coolingCycle,
+ Math.log(
+ 100 * (this.initialCoolingFactor - this.finalTemperature)
+ ) / Math.log(this.maxCoolingCycle)
+ ) /
+ 100) *
+ this.coolingAdjuster,
+ this.finalTemperature
+ )),
+ (this.animationPeriod = Math.ceil(
+ this.initialAnimationPeriod * Math.sqrt(this.coolingFactor)
+ ));
+ }
+ if (this.isTreeGrowing) {
+ if (this.growTreeIterations % 10 == 0)
+ if (this.prunedNodesAll.length > 0) {
+ this.graphManager.updateBounds(),
+ this.updateGrid(),
+ this.growTree(this.prunedNodesAll),
+ this.graphManager.resetAllNodesToApplyGravitation();
+ var k = new Set(this.getAllNodes()),
+ I = this.nodesWithGravity.filter(function (D) {
+ return k.has(D);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(I),
+ this.graphManager.updateBounds(),
+ this.updateGrid(),
+ m.PURE_INCREMENTAL
+ ? (this.coolingFactor =
+ y.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2)
+ : (this.coolingFactor = y.DEFAULT_COOLING_FACTOR_INCREMENTAL);
+ } else (this.isTreeGrowing = !1), (this.isGrowthFinished = !0);
+ this.growTreeIterations++;
+ }
+ if (this.isGrowthFinished) {
+ if (this.isConverged()) return !0;
+ this.afterGrowthIterations % 10 == 0 &&
+ (this.graphManager.updateBounds(), this.updateGrid()),
+ m.PURE_INCREMENTAL
+ ? (this.coolingFactor =
+ (y.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2) *
+ ((100 - this.afterGrowthIterations) / 100))
+ : (this.coolingFactor =
+ y.DEFAULT_COOLING_FACTOR_INCREMENTAL *
+ ((100 - this.afterGrowthIterations) / 100)),
+ this.afterGrowthIterations++;
+ }
+ var C = !this.isTreeGrowing && !this.isGrowthFinished,
+ O =
+ (this.growTreeIterations % 10 == 1 && this.isTreeGrowing) ||
+ (this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished);
+ return (
+ (this.totalDisplacement = 0),
+ this.graphManager.updateBounds(),
+ this.calcSpringForces(),
+ this.calcRepulsionForces(C, O),
+ this.calcGravitationalForces(),
+ this.moveNodes(),
+ this.animate(),
+ !1
+ );
+ }),
+ (M.prototype.getPositionsData = function () {
+ for (var k = this.graphManager.getAllNodes(), I = {}, C = 0; C < k.length; C++) {
+ var O = k[C].rect,
+ D = k[C].id;
+ I[D] = {
+ id: D,
+ x: O.getCenterX(),
+ y: O.getCenterY(),
+ w: O.width,
+ h: O.height
+ };
+ }
+ return I;
+ }),
+ (M.prototype.runSpringEmbedder = function () {
+ (this.initialAnimationPeriod = 25),
+ (this.animationPeriod = this.initialAnimationPeriod);
+ var k = !1;
+ if (y.ANIMATE === 'during') this.emit('layoutstarted');
+ else {
+ for (; !k; ) k = this.tick();
+ this.graphManager.updateBounds();
+ }
+ }),
+ (M.prototype.moveNodes = function () {
+ for (var k = this.getAllNodes(), I, C = 0; C < k.length; C++)
+ (I = k[C]), I.calculateDisplacement();
+ Object.keys(this.constraints).length > 0 && this.updateDisplacements();
+ for (var C = 0; C < k.length; C++) (I = k[C]), I.move();
+ }),
+ (M.prototype.initConstraintVariables = function () {
+ var k = this;
+ (this.idToNodeMap = new Map()), (this.fixedNodeSet = new Set());
+ for (var I = this.graphManager.getAllNodes(), C = 0; C < I.length; C++) {
+ var O = I[C];
+ this.idToNodeMap.set(O.id, O);
+ }
+ var D = o(function J(Z) {
+ for (var H = Z.getChild().getNodes(), q, K = 0, se = 0; se < H.length; se++)
+ (q = H[se]),
+ q.getChild() == null
+ ? k.fixedNodeSet.has(q.id) && (K += 100)
+ : (K += J(q));
+ return K;
+ }, 'calculateCompoundWeight');
+ if (this.constraints.fixedNodeConstraint) {
+ this.constraints.fixedNodeConstraint.forEach(function (H) {
+ k.fixedNodeSet.add(H.nodeId);
+ });
+ for (var I = this.graphManager.getAllNodes(), O, C = 0; C < I.length; C++)
+ if (((O = I[C]), O.getChild() != null)) {
+ var P = D(O);
+ P > 0 && (O.fixedNodeWeight = P);
+ }
+ }
+ if (this.constraints.relativePlacementConstraint) {
+ var F = new Map(),
+ B = new Map();
+ if (
+ ((this.dummyToNodeForVerticalAlignment = new Map()),
+ (this.dummyToNodeForHorizontalAlignment = new Map()),
+ (this.fixedNodesOnHorizontal = new Set()),
+ (this.fixedNodesOnVertical = new Set()),
+ this.fixedNodeSet.forEach(function (J) {
+ k.fixedNodesOnHorizontal.add(J), k.fixedNodesOnVertical.add(J);
+ }),
+ this.constraints.alignmentConstraint)
+ ) {
+ if (this.constraints.alignmentConstraint.vertical)
+ for (
+ var $ = this.constraints.alignmentConstraint.vertical, C = 0;
+ C < $.length;
+ C++
+ )
+ this.dummyToNodeForVerticalAlignment.set('dummy' + C, []),
+ $[C].forEach(function (Z) {
+ F.set(Z, 'dummy' + C),
+ k.dummyToNodeForVerticalAlignment
+ .get('dummy' + C)
+ .push(Z),
+ k.fixedNodeSet.has(Z) &&
+ k.fixedNodesOnHorizontal.add('dummy' + C);
+ });
+ if (this.constraints.alignmentConstraint.horizontal)
+ for (
+ var z = this.constraints.alignmentConstraint.horizontal, C = 0;
+ C < z.length;
+ C++
+ )
+ this.dummyToNodeForHorizontalAlignment.set('dummy' + C, []),
+ z[C].forEach(function (Z) {
+ B.set(Z, 'dummy' + C),
+ k.dummyToNodeForHorizontalAlignment
+ .get('dummy' + C)
+ .push(Z),
+ k.fixedNodeSet.has(Z) &&
+ k.fixedNodesOnVertical.add('dummy' + C);
+ });
+ }
+ if (m.RELAX_MOVEMENT_ON_CONSTRAINTS)
+ (this.shuffle = function (J) {
+ var Z, H, q;
+ for (q = J.length - 1; q >= (2 * J.length) / 3; q--)
+ (Z = Math.floor(Math.random() * (q + 1))),
+ (H = J[q]),
+ (J[q] = J[Z]),
+ (J[Z] = H);
+ return J;
+ }),
+ (this.nodesInRelativeHorizontal = []),
+ (this.nodesInRelativeVertical = []),
+ (this.nodeToRelativeConstraintMapHorizontal = new Map()),
+ (this.nodeToRelativeConstraintMapVertical = new Map()),
+ (this.nodeToTempPositionMapHorizontal = new Map()),
+ (this.nodeToTempPositionMapVertical = new Map()),
+ this.constraints.relativePlacementConstraint.forEach(function (J) {
+ if (J.left) {
+ var Z = F.has(J.left) ? F.get(J.left) : J.left,
+ H = F.has(J.right) ? F.get(J.right) : J.right;
+ k.nodesInRelativeHorizontal.includes(Z) ||
+ (k.nodesInRelativeHorizontal.push(Z),
+ k.nodeToRelativeConstraintMapHorizontal.set(Z, []),
+ k.dummyToNodeForVerticalAlignment.has(Z)
+ ? k.nodeToTempPositionMapHorizontal.set(
+ Z,
+ k.idToNodeMap
+ .get(
+ k.dummyToNodeForVerticalAlignment.get(
+ Z
+ )[0]
+ )
+ .getCenterX()
+ )
+ : k.nodeToTempPositionMapHorizontal.set(
+ Z,
+ k.idToNodeMap.get(Z).getCenterX()
+ )),
+ k.nodesInRelativeHorizontal.includes(H) ||
+ (k.nodesInRelativeHorizontal.push(H),
+ k.nodeToRelativeConstraintMapHorizontal.set(H, []),
+ k.dummyToNodeForVerticalAlignment.has(H)
+ ? k.nodeToTempPositionMapHorizontal.set(
+ H,
+ k.idToNodeMap
+ .get(
+ k.dummyToNodeForVerticalAlignment.get(
+ H
+ )[0]
+ )
+ .getCenterX()
+ )
+ : k.nodeToTempPositionMapHorizontal.set(
+ H,
+ k.idToNodeMap.get(H).getCenterX()
+ )),
+ k.nodeToRelativeConstraintMapHorizontal
+ .get(Z)
+ .push({ right: H, gap: J.gap }),
+ k.nodeToRelativeConstraintMapHorizontal
+ .get(H)
+ .push({ left: Z, gap: J.gap });
+ } else {
+ var q = B.has(J.top) ? B.get(J.top) : J.top,
+ K = B.has(J.bottom) ? B.get(J.bottom) : J.bottom;
+ k.nodesInRelativeVertical.includes(q) ||
+ (k.nodesInRelativeVertical.push(q),
+ k.nodeToRelativeConstraintMapVertical.set(q, []),
+ k.dummyToNodeForHorizontalAlignment.has(q)
+ ? k.nodeToTempPositionMapVertical.set(
+ q,
+ k.idToNodeMap
+ .get(
+ k.dummyToNodeForHorizontalAlignment.get(
+ q
+ )[0]
+ )
+ .getCenterY()
+ )
+ : k.nodeToTempPositionMapVertical.set(
+ q,
+ k.idToNodeMap.get(q).getCenterY()
+ )),
+ k.nodesInRelativeVertical.includes(K) ||
+ (k.nodesInRelativeVertical.push(K),
+ k.nodeToRelativeConstraintMapVertical.set(K, []),
+ k.dummyToNodeForHorizontalAlignment.has(K)
+ ? k.nodeToTempPositionMapVertical.set(
+ K,
+ k.idToNodeMap
+ .get(
+ k.dummyToNodeForHorizontalAlignment.get(
+ K
+ )[0]
+ )
+ .getCenterY()
+ )
+ : k.nodeToTempPositionMapVertical.set(
+ K,
+ k.idToNodeMap.get(K).getCenterY()
+ )),
+ k.nodeToRelativeConstraintMapVertical
+ .get(q)
+ .push({ bottom: K, gap: J.gap }),
+ k.nodeToRelativeConstraintMapVertical
+ .get(K)
+ .push({ top: q, gap: J.gap });
+ }
+ });
+ else {
+ var Y = new Map(),
+ Q = new Map();
+ this.constraints.relativePlacementConstraint.forEach(function (J) {
+ if (J.left) {
+ var Z = F.has(J.left) ? F.get(J.left) : J.left,
+ H = F.has(J.right) ? F.get(J.right) : J.right;
+ Y.has(Z) ? Y.get(Z).push(H) : Y.set(Z, [H]),
+ Y.has(H) ? Y.get(H).push(Z) : Y.set(H, [Z]);
+ } else {
+ var q = B.has(J.top) ? B.get(J.top) : J.top,
+ K = B.has(J.bottom) ? B.get(J.bottom) : J.bottom;
+ Q.has(q) ? Q.get(q).push(K) : Q.set(q, [K]),
+ Q.has(K) ? Q.get(K).push(q) : Q.set(K, [q]);
+ }
+ });
+ var X = o(function (Z, H) {
+ var q = [],
+ K = [],
+ se = new L(),
+ ce = new Set(),
+ ue = 0;
+ return (
+ Z.forEach(function (te, De) {
+ if (!ce.has(De)) {
+ (q[ue] = []), (K[ue] = !1);
+ var oe = De;
+ for (
+ se.push(oe), ce.add(oe), q[ue].push(oe);
+ se.length != 0;
+
+ ) {
+ (oe = se.shift()), H.has(oe) && (K[ue] = !0);
+ var ke = Z.get(oe);
+ ke.forEach(function (Ie) {
+ ce.has(Ie) ||
+ (se.push(Ie), ce.add(Ie), q[ue].push(Ie));
+ });
+ }
+ ue++;
+ }
+ }),
+ { components: q, isFixed: K }
+ );
+ }, 'constructComponents'),
+ ie = X(Y, k.fixedNodesOnHorizontal);
+ (this.componentsOnHorizontal = ie.components),
+ (this.fixedComponentsOnHorizontal = ie.isFixed);
+ var j = X(Q, k.fixedNodesOnVertical);
+ (this.componentsOnVertical = j.components),
+ (this.fixedComponentsOnVertical = j.isFixed);
+ }
+ }
+ }),
+ (M.prototype.updateDisplacements = function () {
+ var k = this;
+ if (
+ (this.constraints.fixedNodeConstraint &&
+ this.constraints.fixedNodeConstraint.forEach(function (j) {
+ var J = k.idToNodeMap.get(j.nodeId);
+ (J.displacementX = 0), (J.displacementY = 0);
+ }),
+ this.constraints.alignmentConstraint)
+ ) {
+ if (this.constraints.alignmentConstraint.vertical)
+ for (
+ var I = this.constraints.alignmentConstraint.vertical, C = 0;
+ C < I.length;
+ C++
+ ) {
+ for (var O = 0, D = 0; D < I[C].length; D++) {
+ if (this.fixedNodeSet.has(I[C][D])) {
+ O = 0;
+ break;
+ }
+ O += this.idToNodeMap.get(I[C][D]).displacementX;
+ }
+ for (var P = O / I[C].length, D = 0; D < I[C].length; D++)
+ this.idToNodeMap.get(I[C][D]).displacementX = P;
+ }
+ if (this.constraints.alignmentConstraint.horizontal)
+ for (
+ var F = this.constraints.alignmentConstraint.horizontal, C = 0;
+ C < F.length;
+ C++
+ ) {
+ for (var B = 0, D = 0; D < F[C].length; D++) {
+ if (this.fixedNodeSet.has(F[C][D])) {
+ B = 0;
+ break;
+ }
+ B += this.idToNodeMap.get(F[C][D]).displacementY;
+ }
+ for (var $ = B / F[C].length, D = 0; D < F[C].length; D++)
+ this.idToNodeMap.get(F[C][D]).displacementY = $;
+ }
+ }
+ if (this.constraints.relativePlacementConstraint)
+ if (m.RELAX_MOVEMENT_ON_CONSTRAINTS)
+ this.totalIterations % 10 == 0 &&
+ (this.shuffle(this.nodesInRelativeHorizontal),
+ this.shuffle(this.nodesInRelativeVertical)),
+ this.nodesInRelativeHorizontal.forEach(function (j) {
+ if (!k.fixedNodesOnHorizontal.has(j)) {
+ var J = 0;
+ k.dummyToNodeForVerticalAlignment.has(j)
+ ? (J = k.idToNodeMap.get(
+ k.dummyToNodeForVerticalAlignment.get(j)[0]
+ ).displacementX)
+ : (J = k.idToNodeMap.get(j).displacementX),
+ k.nodeToRelativeConstraintMapHorizontal
+ .get(j)
+ .forEach(function (Z) {
+ if (Z.right) {
+ var H =
+ k.nodeToTempPositionMapHorizontal.get(
+ Z.right
+ ) -
+ k.nodeToTempPositionMapHorizontal.get(j) -
+ J;
+ H < Z.gap && (J -= Z.gap - H);
+ } else {
+ var H =
+ k.nodeToTempPositionMapHorizontal.get(j) -
+ k.nodeToTempPositionMapHorizontal.get(
+ Z.left
+ ) +
+ J;
+ H < Z.gap && (J += Z.gap - H);
+ }
+ }),
+ k.nodeToTempPositionMapHorizontal.set(
+ j,
+ k.nodeToTempPositionMapHorizontal.get(j) + J
+ ),
+ k.dummyToNodeForVerticalAlignment.has(j)
+ ? k.dummyToNodeForVerticalAlignment
+ .get(j)
+ .forEach(function (Z) {
+ k.idToNodeMap.get(Z).displacementX = J;
+ })
+ : (k.idToNodeMap.get(j).displacementX = J);
+ }
+ }),
+ this.nodesInRelativeVertical.forEach(function (j) {
+ if (!k.fixedNodesOnHorizontal.has(j)) {
+ var J = 0;
+ k.dummyToNodeForHorizontalAlignment.has(j)
+ ? (J = k.idToNodeMap.get(
+ k.dummyToNodeForHorizontalAlignment.get(j)[0]
+ ).displacementY)
+ : (J = k.idToNodeMap.get(j).displacementY),
+ k.nodeToRelativeConstraintMapVertical
+ .get(j)
+ .forEach(function (Z) {
+ if (Z.bottom) {
+ var H =
+ k.nodeToTempPositionMapVertical.get(
+ Z.bottom
+ ) -
+ k.nodeToTempPositionMapVertical.get(j) -
+ J;
+ H < Z.gap && (J -= Z.gap - H);
+ } else {
+ var H =
+ k.nodeToTempPositionMapVertical.get(j) -
+ k.nodeToTempPositionMapVertical.get(Z.top) +
+ J;
+ H < Z.gap && (J += Z.gap - H);
+ }
+ }),
+ k.nodeToTempPositionMapVertical.set(
+ j,
+ k.nodeToTempPositionMapVertical.get(j) + J
+ ),
+ k.dummyToNodeForHorizontalAlignment.has(j)
+ ? k.dummyToNodeForHorizontalAlignment
+ .get(j)
+ .forEach(function (Z) {
+ k.idToNodeMap.get(Z).displacementY = J;
+ })
+ : (k.idToNodeMap.get(j).displacementY = J);
+ }
+ });
+ else {
+ for (var C = 0; C < this.componentsOnHorizontal.length; C++) {
+ var z = this.componentsOnHorizontal[C];
+ if (this.fixedComponentsOnHorizontal[C])
+ for (var D = 0; D < z.length; D++)
+ this.dummyToNodeForVerticalAlignment.has(z[D])
+ ? this.dummyToNodeForVerticalAlignment
+ .get(z[D])
+ .forEach(function (Z) {
+ k.idToNodeMap.get(Z).displacementX = 0;
+ })
+ : (this.idToNodeMap.get(z[D]).displacementX = 0);
+ else {
+ for (var Y = 0, Q = 0, D = 0; D < z.length; D++)
+ if (this.dummyToNodeForVerticalAlignment.has(z[D])) {
+ var X = this.dummyToNodeForVerticalAlignment.get(z[D]);
+ (Y += X.length * this.idToNodeMap.get(X[0]).displacementX),
+ (Q += X.length);
+ } else (Y += this.idToNodeMap.get(z[D]).displacementX), Q++;
+ for (var ie = Y / Q, D = 0; D < z.length; D++)
+ this.dummyToNodeForVerticalAlignment.has(z[D])
+ ? this.dummyToNodeForVerticalAlignment
+ .get(z[D])
+ .forEach(function (Z) {
+ k.idToNodeMap.get(Z).displacementX = ie;
+ })
+ : (this.idToNodeMap.get(z[D]).displacementX = ie);
+ }
+ }
+ for (var C = 0; C < this.componentsOnVertical.length; C++) {
+ var z = this.componentsOnVertical[C];
+ if (this.fixedComponentsOnVertical[C])
+ for (var D = 0; D < z.length; D++)
+ this.dummyToNodeForHorizontalAlignment.has(z[D])
+ ? this.dummyToNodeForHorizontalAlignment
+ .get(z[D])
+ .forEach(function (H) {
+ k.idToNodeMap.get(H).displacementY = 0;
+ })
+ : (this.idToNodeMap.get(z[D]).displacementY = 0);
+ else {
+ for (var Y = 0, Q = 0, D = 0; D < z.length; D++)
+ if (this.dummyToNodeForHorizontalAlignment.has(z[D])) {
+ var X = this.dummyToNodeForHorizontalAlignment.get(z[D]);
+ (Y += X.length * this.idToNodeMap.get(X[0]).displacementY),
+ (Q += X.length);
+ } else (Y += this.idToNodeMap.get(z[D]).displacementY), Q++;
+ for (var ie = Y / Q, D = 0; D < z.length; D++)
+ this.dummyToNodeForHorizontalAlignment.has(z[D])
+ ? this.dummyToNodeForHorizontalAlignment
+ .get(z[D])
+ .forEach(function (se) {
+ k.idToNodeMap.get(se).displacementY = ie;
+ })
+ : (this.idToNodeMap.get(z[D]).displacementY = ie);
+ }
+ }
+ }
+ }),
+ (M.prototype.calculateNodesToApplyGravitationTo = function () {
+ var k = [],
+ I,
+ C = this.graphManager.getGraphs(),
+ O = C.length,
+ D;
+ for (D = 0; D < O; D++)
+ (I = C[D]), I.updateConnected(), I.isConnected || (k = k.concat(I.getNodes()));
+ return k;
+ }),
+ (M.prototype.createBendpoints = function () {
+ var k = [];
+ k = k.concat(this.graphManager.getAllEdges());
+ var I = new Set(),
+ C;
+ for (C = 0; C < k.length; C++) {
+ var O = k[C];
+ if (!I.has(O)) {
+ var D = O.getSource(),
+ P = O.getTarget();
+ if (D == P)
+ O.getBendpoints().push(new b()),
+ O.getBendpoints().push(new b()),
+ this.createDummyNodesForBendpoints(O),
+ I.add(O);
+ else {
+ var F = [];
+ if (
+ ((F = F.concat(D.getEdgeListToNode(P))),
+ (F = F.concat(P.getEdgeListToNode(D))),
+ !I.has(F[0]))
+ ) {
+ if (F.length > 1) {
+ var B;
+ for (B = 0; B < F.length; B++) {
+ var $ = F[B];
+ $.getBendpoints().push(new b()),
+ this.createDummyNodesForBendpoints($);
+ }
+ }
+ F.forEach(function (z) {
+ I.add(z);
+ });
+ }
+ }
+ }
+ if (I.size == k.length) break;
+ }
+ }),
+ (M.prototype.positionNodesRadially = function (k) {
+ for (
+ var I = new x(0, 0),
+ C = Math.ceil(Math.sqrt(k.length)),
+ O = 0,
+ D = 0,
+ P = 0,
+ F = new b(0, 0),
+ B = 0;
+ B < k.length;
+ B++
+ ) {
+ B % C == 0 &&
+ ((P = 0),
+ (D = O),
+ B != 0 && (D += m.DEFAULT_COMPONENT_SEPERATION),
+ (O = 0));
+ var $ = k[B],
+ z = S.findCenterOfTree($);
+ (I.x = P),
+ (I.y = D),
+ (F = M.radialLayout($, z, I)),
+ F.y > O && (O = Math.floor(F.y)),
+ (P = Math.floor(F.x + m.DEFAULT_COMPONENT_SEPERATION));
+ }
+ this.transform(new b(v.WORLD_CENTER_X - F.x / 2, v.WORLD_CENTER_Y - F.y / 2));
+ }),
+ (M.radialLayout = function (k, I, C) {
+ var O = Math.max(this.maxDiagonalInTree(k), m.DEFAULT_RADIAL_SEPARATION);
+ M.branchRadialLayout(I, null, 0, 359, 0, O);
+ var D = _.calculateBounds(k),
+ P = new A();
+ P.setDeviceOrgX(D.getMinX()),
+ P.setDeviceOrgY(D.getMinY()),
+ P.setWorldOrgX(C.x),
+ P.setWorldOrgY(C.y);
+ for (var F = 0; F < k.length; F++) {
+ var B = k[F];
+ B.transform(P);
+ }
+ var $ = new b(D.getMaxX(), D.getMaxY());
+ return P.inverseTransformPoint($);
+ }),
+ (M.branchRadialLayout = function (k, I, C, O, D, P) {
+ var F = (O - C + 1) / 2;
+ F < 0 && (F += 180);
+ var B = (F + C) % 360,
+ $ = (B * E.TWO_PI) / 360,
+ z = Math.cos($),
+ Y = D * Math.cos($),
+ Q = D * Math.sin($);
+ k.setCenter(Y, Q);
+ var X = [];
+ X = X.concat(k.getEdges());
+ var ie = X.length;
+ I != null && ie--;
+ for (var j = 0, J = X.length, Z, H = k.getEdgesBetween(I); H.length > 1; ) {
+ var q = H[0];
+ H.splice(0, 1);
+ var K = X.indexOf(q);
+ K >= 0 && X.splice(K, 1), J--, ie--;
+ }
+ I != null ? (Z = (X.indexOf(H[0]) + 1) % J) : (Z = 0);
+ for (var se = Math.abs(O - C) / ie, ce = Z; j != ie; ce = ++ce % J) {
+ var ue = X[ce].getOtherEnd(k);
+ if (ue != I) {
+ var te = (C + j * se) % 360,
+ De = (te + se) % 360;
+ M.branchRadialLayout(ue, k, te, De, D + P, P), j++;
+ }
+ }
+ }),
+ (M.maxDiagonalInTree = function (k) {
+ for (var I = T.MIN_VALUE, C = 0; C < k.length; C++) {
+ var O = k[C],
+ D = O.getDiagonal();
+ D > I && (I = D);
+ }
+ return I;
+ }),
+ (M.prototype.calcRepulsionRange = function () {
+ return 2 * (this.level + 1) * this.idealEdgeLength;
+ }),
+ (M.prototype.groupZeroDegreeMembers = function () {
+ var k = this,
+ I = {};
+ (this.memberGroups = {}), (this.idToDummyNode = {});
+ for (var C = [], O = this.graphManager.getAllNodes(), D = 0; D < O.length; D++) {
+ var P = O[D],
+ F = P.getParent();
+ this.getNodeDegreeWithChildren(P) === 0 &&
+ (F.id == null || !this.getToBeTiled(F)) &&
+ C.push(P);
+ }
+ for (var D = 0; D < C.length; D++) {
+ var P = C[D],
+ B = P.getParent().id;
+ typeof I[B] > 'u' && (I[B] = []), (I[B] = I[B].concat(P));
+ }
+ Object.keys(I).forEach(function ($) {
+ if (I[$].length > 1) {
+ var z = 'DummyCompound_' + $;
+ k.memberGroups[z] = I[$];
+ var Y = I[$][0].getParent(),
+ Q = new d(k.graphManager);
+ (Q.id = z),
+ (Q.paddingLeft = Y.paddingLeft || 0),
+ (Q.paddingRight = Y.paddingRight || 0),
+ (Q.paddingBottom = Y.paddingBottom || 0),
+ (Q.paddingTop = Y.paddingTop || 0),
+ (k.idToDummyNode[z] = Q);
+ var X = k.getGraphManager().add(k.newGraph(), Q),
+ ie = Y.getChild();
+ ie.add(Q);
+ for (var j = 0; j < I[$].length; j++) {
+ var J = I[$][j];
+ ie.remove(J), X.add(J);
+ }
+ }
+ });
+ }),
+ (M.prototype.clearCompounds = function () {
+ var k = {},
+ I = {};
+ this.performDFSOnCompounds();
+ for (var C = 0; C < this.compoundOrder.length; C++)
+ (I[this.compoundOrder[C].id] = this.compoundOrder[C]),
+ (k[this.compoundOrder[C].id] = [].concat(
+ this.compoundOrder[C].getChild().getNodes()
+ )),
+ this.graphManager.remove(this.compoundOrder[C].getChild()),
+ (this.compoundOrder[C].child = null);
+ this.graphManager.resetAllNodes(), this.tileCompoundMembers(k, I);
+ }),
+ (M.prototype.clearZeroDegreeMembers = function () {
+ var k = this,
+ I = (this.tiledZeroDegreePack = []);
+ Object.keys(this.memberGroups).forEach(function (C) {
+ var O = k.idToDummyNode[C];
+ if (
+ ((I[C] = k.tileNodes(k.memberGroups[C], O.paddingLeft + O.paddingRight)),
+ (O.rect.width = I[C].width),
+ (O.rect.height = I[C].height),
+ O.setCenter(I[C].centerX, I[C].centerY),
+ (O.labelMarginLeft = 0),
+ (O.labelMarginTop = 0),
+ m.NODE_DIMENSIONS_INCLUDE_LABELS)
+ ) {
+ var D = O.rect.width,
+ P = O.rect.height;
+ O.labelWidth &&
+ (O.labelPosHorizontal == 'left'
+ ? ((O.rect.x -= O.labelWidth),
+ O.setWidth(D + O.labelWidth),
+ (O.labelMarginLeft = O.labelWidth))
+ : O.labelPosHorizontal == 'center' && O.labelWidth > D
+ ? ((O.rect.x -= (O.labelWidth - D) / 2),
+ O.setWidth(O.labelWidth),
+ (O.labelMarginLeft = (O.labelWidth - D) / 2))
+ : O.labelPosHorizontal == 'right' && O.setWidth(D + O.labelWidth)),
+ O.labelHeight &&
+ (O.labelPosVertical == 'top'
+ ? ((O.rect.y -= O.labelHeight),
+ O.setHeight(P + O.labelHeight),
+ (O.labelMarginTop = O.labelHeight))
+ : O.labelPosVertical == 'center' && O.labelHeight > P
+ ? ((O.rect.y -= (O.labelHeight - P) / 2),
+ O.setHeight(O.labelHeight),
+ (O.labelMarginTop = (O.labelHeight - P) / 2))
+ : O.labelPosVertical == 'bottom' &&
+ O.setHeight(P + O.labelHeight));
+ }
+ });
+ }),
+ (M.prototype.repopulateCompounds = function () {
+ for (var k = this.compoundOrder.length - 1; k >= 0; k--) {
+ var I = this.compoundOrder[k],
+ C = I.id,
+ O = I.paddingLeft,
+ D = I.paddingTop,
+ P = I.labelMarginLeft,
+ F = I.labelMarginTop;
+ this.adjustLocations(this.tiledMemberPack[C], I.rect.x, I.rect.y, O, D, P, F);
+ }
+ }),
+ (M.prototype.repopulateZeroDegreeMembers = function () {
+ var k = this,
+ I = this.tiledZeroDegreePack;
+ Object.keys(I).forEach(function (C) {
+ var O = k.idToDummyNode[C],
+ D = O.paddingLeft,
+ P = O.paddingTop,
+ F = O.labelMarginLeft,
+ B = O.labelMarginTop;
+ k.adjustLocations(I[C], O.rect.x, O.rect.y, D, P, F, B);
+ });
+ }),
+ (M.prototype.getToBeTiled = function (k) {
+ var I = k.id;
+ if (this.toBeTiled[I] != null) return this.toBeTiled[I];
+ var C = k.getChild();
+ if (C == null) return (this.toBeTiled[I] = !1), !1;
+ for (var O = C.getNodes(), D = 0; D < O.length; D++) {
+ var P = O[D];
+ if (this.getNodeDegree(P) > 0) return (this.toBeTiled[I] = !1), !1;
+ if (P.getChild() == null) {
+ this.toBeTiled[P.id] = !1;
+ continue;
+ }
+ if (!this.getToBeTiled(P)) return (this.toBeTiled[I] = !1), !1;
+ }
+ return (this.toBeTiled[I] = !0), !0;
+ }),
+ (M.prototype.getNodeDegree = function (k) {
+ for (var I = k.id, C = k.getEdges(), O = 0, D = 0; D < C.length; D++) {
+ var P = C[D];
+ P.getSource().id !== P.getTarget().id && (O = O + 1);
+ }
+ return O;
+ }),
+ (M.prototype.getNodeDegreeWithChildren = function (k) {
+ var I = this.getNodeDegree(k);
+ if (k.getChild() == null) return I;
+ for (var C = k.getChild().getNodes(), O = 0; O < C.length; O++) {
+ var D = C[O];
+ I += this.getNodeDegreeWithChildren(D);
+ }
+ return I;
+ }),
+ (M.prototype.performDFSOnCompounds = function () {
+ (this.compoundOrder = []),
+ this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes());
+ }),
+ (M.prototype.fillCompexOrderByDFS = function (k) {
+ for (var I = 0; I < k.length; I++) {
+ var C = k[I];
+ C.getChild() != null && this.fillCompexOrderByDFS(C.getChild().getNodes()),
+ this.getToBeTiled(C) && this.compoundOrder.push(C);
+ }
+ }),
+ (M.prototype.adjustLocations = function (k, I, C, O, D, P, F) {
+ (I += O + P), (C += D + F);
+ for (var B = I, $ = 0; $ < k.rows.length; $++) {
+ var z = k.rows[$];
+ I = B;
+ for (var Y = 0, Q = 0; Q < z.length; Q++) {
+ var X = z[Q];
+ (X.rect.x = I),
+ (X.rect.y = C),
+ (I += X.rect.width + k.horizontalPadding),
+ X.rect.height > Y && (Y = X.rect.height);
+ }
+ C += Y + k.verticalPadding;
+ }
+ }),
+ (M.prototype.tileCompoundMembers = function (k, I) {
+ var C = this;
+ (this.tiledMemberPack = []),
+ Object.keys(k).forEach(function (O) {
+ var D = I[O];
+ if (
+ ((C.tiledMemberPack[O] = C.tileNodes(
+ k[O],
+ D.paddingLeft + D.paddingRight
+ )),
+ (D.rect.width = C.tiledMemberPack[O].width),
+ (D.rect.height = C.tiledMemberPack[O].height),
+ D.setCenter(C.tiledMemberPack[O].centerX, C.tiledMemberPack[O].centerY),
+ (D.labelMarginLeft = 0),
+ (D.labelMarginTop = 0),
+ m.NODE_DIMENSIONS_INCLUDE_LABELS)
+ ) {
+ var P = D.rect.width,
+ F = D.rect.height;
+ D.labelWidth &&
+ (D.labelPosHorizontal == 'left'
+ ? ((D.rect.x -= D.labelWidth),
+ D.setWidth(P + D.labelWidth),
+ (D.labelMarginLeft = D.labelWidth))
+ : D.labelPosHorizontal == 'center' && D.labelWidth > P
+ ? ((D.rect.x -= (D.labelWidth - P) / 2),
+ D.setWidth(D.labelWidth),
+ (D.labelMarginLeft = (D.labelWidth - P) / 2))
+ : D.labelPosHorizontal == 'right' &&
+ D.setWidth(P + D.labelWidth)),
+ D.labelHeight &&
+ (D.labelPosVertical == 'top'
+ ? ((D.rect.y -= D.labelHeight),
+ D.setHeight(F + D.labelHeight),
+ (D.labelMarginTop = D.labelHeight))
+ : D.labelPosVertical == 'center' && D.labelHeight > F
+ ? ((D.rect.y -= (D.labelHeight - F) / 2),
+ D.setHeight(D.labelHeight),
+ (D.labelMarginTop = (D.labelHeight - F) / 2))
+ : D.labelPosVertical == 'bottom' &&
+ D.setHeight(F + D.labelHeight));
+ }
+ });
+ }),
+ (M.prototype.tileNodes = function (k, I) {
+ var C = this.tileNodesByFavoringDim(k, I, !0),
+ O = this.tileNodesByFavoringDim(k, I, !1),
+ D = this.getOrgRatio(C),
+ P = this.getOrgRatio(O),
+ F;
+ return P < D ? (F = O) : (F = C), F;
+ }),
+ (M.prototype.getOrgRatio = function (k) {
+ var I = k.width,
+ C = k.height,
+ O = I / C;
+ return O < 1 && (O = 1 / O), O;
+ }),
+ (M.prototype.calcIdealRowWidth = function (k, I) {
+ var C = m.TILING_PADDING_VERTICAL,
+ O = m.TILING_PADDING_HORIZONTAL,
+ D = k.length,
+ P = 0,
+ F = 0,
+ B = 0;
+ k.forEach(function (j) {
+ (P += j.getWidth()),
+ (F += j.getHeight()),
+ j.getWidth() > B && (B = j.getWidth());
+ });
+ var $ = P / D,
+ z = F / D,
+ Y = Math.pow(C - O, 2) + 4 * ($ + O) * (z + C) * D,
+ Q = (O - C + Math.sqrt(Y)) / (2 * ($ + O)),
+ X;
+ I ? ((X = Math.ceil(Q)), X == Q && X++) : (X = Math.floor(Q));
+ var ie = X * ($ + O) - O;
+ return B > ie && (ie = B), (ie += O * 2), ie;
+ }),
+ (M.prototype.tileNodesByFavoringDim = function (k, I, C) {
+ var O = m.TILING_PADDING_VERTICAL,
+ D = m.TILING_PADDING_HORIZONTAL,
+ P = m.TILING_COMPARE_BY,
+ F = {
+ rows: [],
+ rowWidth: [],
+ rowHeight: [],
+ width: 0,
+ height: I,
+ verticalPadding: O,
+ horizontalPadding: D,
+ centerX: 0,
+ centerY: 0
+ };
+ P && (F.idealRowWidth = this.calcIdealRowWidth(k, C));
+ var B = o(function (J) {
+ return J.rect.width * J.rect.height;
+ }, 'getNodeArea'),
+ $ = o(function (J, Z) {
+ return B(Z) - B(J);
+ }, 'areaCompareFcn');
+ k.sort(function (j, J) {
+ var Z = $;
+ return F.idealRowWidth ? ((Z = P), Z(j.id, J.id)) : Z(j, J);
+ });
+ for (var z = 0, Y = 0, Q = 0; Q < k.length; Q++) {
+ var X = k[Q];
+ (z += X.getCenterX()), (Y += X.getCenterY());
+ }
+ (F.centerX = z / k.length), (F.centerY = Y / k.length);
+ for (var Q = 0; Q < k.length; Q++) {
+ var X = k[Q];
+ if (F.rows.length == 0) this.insertNodeToRow(F, X, 0, I);
+ else if (this.canAddHorizontal(F, X.rect.width, X.rect.height)) {
+ var ie = F.rows.length - 1;
+ F.idealRowWidth || (ie = this.getShortestRowIndex(F)),
+ this.insertNodeToRow(F, X, ie, I);
+ } else this.insertNodeToRow(F, X, F.rows.length, I);
+ this.shiftToLastRow(F);
+ }
+ return F;
+ }),
+ (M.prototype.insertNodeToRow = function (k, I, C, O) {
+ var D = O;
+ if (C == k.rows.length) {
+ var P = [];
+ k.rows.push(P), k.rowWidth.push(D), k.rowHeight.push(0);
+ }
+ var F = k.rowWidth[C] + I.rect.width;
+ k.rows[C].length > 0 && (F += k.horizontalPadding),
+ (k.rowWidth[C] = F),
+ k.width < F && (k.width = F);
+ var B = I.rect.height;
+ C > 0 && (B += k.verticalPadding);
+ var $ = 0;
+ B > k.rowHeight[C] &&
+ (($ = k.rowHeight[C]), (k.rowHeight[C] = B), ($ = k.rowHeight[C] - $)),
+ (k.height += $),
+ k.rows[C].push(I);
+ }),
+ (M.prototype.getShortestRowIndex = function (k) {
+ for (var I = -1, C = Number.MAX_VALUE, O = 0; O < k.rows.length; O++)
+ k.rowWidth[O] < C && ((I = O), (C = k.rowWidth[O]));
+ return I;
+ }),
+ (M.prototype.getLongestRowIndex = function (k) {
+ for (var I = -1, C = Number.MIN_VALUE, O = 0; O < k.rows.length; O++)
+ k.rowWidth[O] > C && ((I = O), (C = k.rowWidth[O]));
+ return I;
+ }),
+ (M.prototype.canAddHorizontal = function (k, I, C) {
+ if (k.idealRowWidth) {
+ var O = k.rows.length - 1,
+ D = k.rowWidth[O];
+ return D + I + k.horizontalPadding <= k.idealRowWidth;
+ }
+ var P = this.getShortestRowIndex(k);
+ if (P < 0) return !0;
+ var F = k.rowWidth[P];
+ if (F + k.horizontalPadding + I <= k.width) return !0;
+ var B = 0;
+ k.rowHeight[P] < C && P > 0 && (B = C + k.verticalPadding - k.rowHeight[P]);
+ var $;
+ k.width - F >= I + k.horizontalPadding
+ ? ($ = (k.height + B) / (F + I + k.horizontalPadding))
+ : ($ = (k.height + B) / k.width),
+ (B = C + k.verticalPadding);
+ var z;
+ return (
+ k.width < I ? (z = (k.height + B) / I) : (z = (k.height + B) / k.width),
+ z < 1 && (z = 1 / z),
+ $ < 1 && ($ = 1 / $),
+ $ < z
+ );
+ }),
+ (M.prototype.shiftToLastRow = function (k) {
+ var I = this.getLongestRowIndex(k),
+ C = k.rowWidth.length - 1,
+ O = k.rows[I],
+ D = O[O.length - 1],
+ P = D.width + k.horizontalPadding;
+ if (k.width - k.rowWidth[C] > P && I != C) {
+ O.splice(-1, 1),
+ k.rows[C].push(D),
+ (k.rowWidth[I] = k.rowWidth[I] - P),
+ (k.rowWidth[C] = k.rowWidth[C] + P),
+ (k.width = k.rowWidth[instance.getLongestRowIndex(k)]);
+ for (var F = Number.MIN_VALUE, B = 0; B < O.length; B++)
+ O[B].height > F && (F = O[B].height);
+ I > 0 && (F += k.verticalPadding);
+ var $ = k.rowHeight[I] + k.rowHeight[C];
+ (k.rowHeight[I] = F),
+ k.rowHeight[C] < D.height + k.verticalPadding &&
+ (k.rowHeight[C] = D.height + k.verticalPadding);
+ var z = k.rowHeight[I] + k.rowHeight[C];
+ (k.height += z - $), this.shiftToLastRow(k);
+ }
+ }),
+ (M.prototype.tilingPreLayout = function () {
+ m.TILE &&
+ (this.groupZeroDegreeMembers(),
+ this.clearCompounds(),
+ this.clearZeroDegreeMembers());
+ }),
+ (M.prototype.tilingPostLayout = function () {
+ m.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds());
+ }),
+ (M.prototype.reduceTrees = function () {
+ for (var k = [], I = !0, C; I; ) {
+ var O = this.graphManager.getAllNodes(),
+ D = [];
+ I = !1;
+ for (var P = 0; P < O.length; P++)
+ if (
+ ((C = O[P]),
+ C.getEdges().length == 1 &&
+ !C.getEdges()[0].isInterGraph &&
+ C.getChild() == null)
+ ) {
+ if (m.PURE_INCREMENTAL) {
+ var F = C.getEdges()[0].getOtherEnd(C),
+ B = new w(
+ C.getCenterX() - F.getCenterX(),
+ C.getCenterY() - F.getCenterY()
+ );
+ D.push([C, C.getEdges()[0], C.getOwner(), B]);
+ } else D.push([C, C.getEdges()[0], C.getOwner()]);
+ I = !0;
+ }
+ if (I == !0) {
+ for (var $ = [], z = 0; z < D.length; z++)
+ D[z][0].getEdges().length == 1 &&
+ ($.push(D[z]), D[z][0].getOwner().remove(D[z][0]));
+ k.push($),
+ this.graphManager.resetAllNodes(),
+ this.graphManager.resetAllEdges();
+ }
+ }
+ this.prunedNodesAll = k;
+ }),
+ (M.prototype.growTree = function (k) {
+ for (var I = k.length, C = k[I - 1], O, D = 0; D < C.length; D++)
+ (O = C[D]),
+ this.findPlaceforPrunedNode(O),
+ O[2].add(O[0]),
+ O[2].add(O[1], O[1].source, O[1].target);
+ k.splice(k.length - 1, 1),
+ this.graphManager.resetAllNodes(),
+ this.graphManager.resetAllEdges();
+ }),
+ (M.prototype.findPlaceforPrunedNode = function (k) {
+ var I,
+ C,
+ O = k[0];
+ if ((O == k[1].source ? (C = k[1].target) : (C = k[1].source), m.PURE_INCREMENTAL))
+ O.setCenter(
+ C.getCenterX() + k[3].getWidth(),
+ C.getCenterY() + k[3].getHeight()
+ );
+ else {
+ var D = C.startX,
+ P = C.finishX,
+ F = C.startY,
+ B = C.finishY,
+ $ = 0,
+ z = 0,
+ Y = 0,
+ Q = 0,
+ X = [$, Y, z, Q];
+ if (F > 0)
+ for (var ie = D; ie <= P; ie++)
+ X[0] += this.grid[ie][F - 1].length + this.grid[ie][F].length - 1;
+ if (P < this.grid.length - 1)
+ for (var ie = F; ie <= B; ie++)
+ X[1] += this.grid[P + 1][ie].length + this.grid[P][ie].length - 1;
+ if (B < this.grid[0].length - 1)
+ for (var ie = D; ie <= P; ie++)
+ X[2] += this.grid[ie][B + 1].length + this.grid[ie][B].length - 1;
+ if (D > 0)
+ for (var ie = F; ie <= B; ie++)
+ X[3] += this.grid[D - 1][ie].length + this.grid[D][ie].length - 1;
+ for (var j = T.MAX_VALUE, J, Z, H = 0; H < X.length; H++)
+ X[H] < j ? ((j = X[H]), (J = 1), (Z = H)) : X[H] == j && J++;
+ if (J == 3 && j == 0)
+ X[0] == 0 && X[1] == 0 && X[2] == 0
+ ? (I = 1)
+ : X[0] == 0 && X[1] == 0 && X[3] == 0
+ ? (I = 0)
+ : X[0] == 0 && X[2] == 0 && X[3] == 0
+ ? (I = 3)
+ : X[1] == 0 && X[2] == 0 && X[3] == 0 && (I = 2);
+ else if (J == 2 && j == 0) {
+ var q = Math.floor(Math.random() * 2);
+ X[0] == 0 && X[1] == 0
+ ? q == 0
+ ? (I = 0)
+ : (I = 1)
+ : X[0] == 0 && X[2] == 0
+ ? q == 0
+ ? (I = 0)
+ : (I = 2)
+ : X[0] == 0 && X[3] == 0
+ ? q == 0
+ ? (I = 0)
+ : (I = 3)
+ : X[1] == 0 && X[2] == 0
+ ? q == 0
+ ? (I = 1)
+ : (I = 2)
+ : X[1] == 0 && X[3] == 0
+ ? q == 0
+ ? (I = 1)
+ : (I = 3)
+ : q == 0
+ ? (I = 2)
+ : (I = 3);
+ } else if (J == 4 && j == 0) {
+ var q = Math.floor(Math.random() * 4);
+ I = q;
+ } else I = Z;
+ I == 0
+ ? O.setCenter(
+ C.getCenterX(),
+ C.getCenterY() -
+ C.getHeight() / 2 -
+ y.DEFAULT_EDGE_LENGTH -
+ O.getHeight() / 2
+ )
+ : I == 1
+ ? O.setCenter(
+ C.getCenterX() +
+ C.getWidth() / 2 +
+ y.DEFAULT_EDGE_LENGTH +
+ O.getWidth() / 2,
+ C.getCenterY()
+ )
+ : I == 2
+ ? O.setCenter(
+ C.getCenterX(),
+ C.getCenterY() +
+ C.getHeight() / 2 +
+ y.DEFAULT_EDGE_LENGTH +
+ O.getHeight() / 2
+ )
+ : O.setCenter(
+ C.getCenterX() -
+ C.getWidth() / 2 -
+ y.DEFAULT_EDGE_LENGTH -
+ O.getWidth() / 2,
+ C.getCenterY()
+ );
+ }
+ }),
+ (a.exports = M);
+ },
+ 991: (a, s, l) => {
+ var u = l(551).FDLayoutNode,
+ h = l(551).IMath;
+ function f(p, m, g, y) {
+ u.call(this, p, m, g, y);
+ }
+ o(f, 'CoSENode'), (f.prototype = Object.create(u.prototype));
+ for (var d in u) f[d] = u[d];
+ (f.prototype.calculateDisplacement = function () {
+ var p = this.graphManager.getLayout();
+ this.getChild() != null && this.fixedNodeWeight
+ ? ((this.displacementX +=
+ (p.coolingFactor *
+ (this.springForceX + this.repulsionForceX + this.gravitationForceX)) /
+ this.fixedNodeWeight),
+ (this.displacementY +=
+ (p.coolingFactor *
+ (this.springForceY + this.repulsionForceY + this.gravitationForceY)) /
+ this.fixedNodeWeight))
+ : ((this.displacementX +=
+ (p.coolingFactor *
+ (this.springForceX + this.repulsionForceX + this.gravitationForceX)) /
+ this.noOfChildren),
+ (this.displacementY +=
+ (p.coolingFactor *
+ (this.springForceY + this.repulsionForceY + this.gravitationForceY)) /
+ this.noOfChildren)),
+ Math.abs(this.displacementX) > p.coolingFactor * p.maxNodeDisplacement &&
+ (this.displacementX =
+ p.coolingFactor * p.maxNodeDisplacement * h.sign(this.displacementX)),
+ Math.abs(this.displacementY) > p.coolingFactor * p.maxNodeDisplacement &&
+ (this.displacementY =
+ p.coolingFactor * p.maxNodeDisplacement * h.sign(this.displacementY)),
+ this.child &&
+ this.child.getNodes().length > 0 &&
+ this.propogateDisplacementToChildren(this.displacementX, this.displacementY);
+ }),
+ (f.prototype.propogateDisplacementToChildren = function (p, m) {
+ for (var g = this.getChild().getNodes(), y, v = 0; v < g.length; v++)
+ (y = g[v]),
+ y.getChild() == null
+ ? ((y.displacementX += p), (y.displacementY += m))
+ : y.propogateDisplacementToChildren(p, m);
+ }),
+ (f.prototype.move = function () {
+ var p = this.graphManager.getLayout();
+ (this.child == null || this.child.getNodes().length == 0) &&
+ (this.moveBy(this.displacementX, this.displacementY),
+ (p.totalDisplacement +=
+ Math.abs(this.displacementX) + Math.abs(this.displacementY))),
+ (this.springForceX = 0),
+ (this.springForceY = 0),
+ (this.repulsionForceX = 0),
+ (this.repulsionForceY = 0),
+ (this.gravitationForceX = 0),
+ (this.gravitationForceY = 0),
+ (this.displacementX = 0),
+ (this.displacementY = 0);
+ }),
+ (f.prototype.setPred1 = function (p) {
+ this.pred1 = p;
+ }),
+ (f.prototype.getPred1 = function () {
+ return pred1;
+ }),
+ (f.prototype.getPred2 = function () {
+ return pred2;
+ }),
+ (f.prototype.setNext = function (p) {
+ this.next = p;
+ }),
+ (f.prototype.getNext = function () {
+ return next;
+ }),
+ (f.prototype.setProcessed = function (p) {
+ this.processed = p;
+ }),
+ (f.prototype.isProcessed = function () {
+ return processed;
+ }),
+ (a.exports = f);
+ },
+ 902: (a, s, l) => {
+ function u(g) {
+ if (Array.isArray(g)) {
+ for (var y = 0, v = Array(g.length); y < g.length; y++) v[y] = g[y];
+ return v;
+ } else return Array.from(g);
+ }
+ o(u, '_toConsumableArray');
+ var h = l(806),
+ f = l(551).LinkedList,
+ d = l(551).Matrix,
+ p = l(551).SVD;
+ function m() {}
+ o(m, 'ConstraintHandler'),
+ (m.handleConstraints = function (g) {
+ var y = {};
+ (y.fixedNodeConstraint = g.constraints.fixedNodeConstraint),
+ (y.alignmentConstraint = g.constraints.alignmentConstraint),
+ (y.relativePlacementConstraint = g.constraints.relativePlacementConstraint);
+ for (
+ var v = new Map(),
+ x = new Map(),
+ b = [],
+ w = [],
+ S = g.getAllNodes(),
+ T = 0,
+ E = 0;
+ E < S.length;
+ E++
+ ) {
+ var _ = S[E];
+ _.getChild() == null &&
+ (x.set(_.id, T++),
+ b.push(_.getCenterX()),
+ w.push(_.getCenterY()),
+ v.set(_.id, _));
+ }
+ y.relativePlacementConstraint &&
+ y.relativePlacementConstraint.forEach(function (ne) {
+ !ne.gap &&
+ ne.gap != 0 &&
+ (ne.left
+ ? (ne.gap =
+ h.DEFAULT_EDGE_LENGTH +
+ v.get(ne.left).getWidth() / 2 +
+ v.get(ne.right).getWidth() / 2)
+ : (ne.gap =
+ h.DEFAULT_EDGE_LENGTH +
+ v.get(ne.top).getHeight() / 2 +
+ v.get(ne.bottom).getHeight() / 2));
+ });
+ var A = o(function (ae, we) {
+ return { x: ae.x - we.x, y: ae.y - we.y };
+ }, 'calculatePositionDiff'),
+ L = o(function (ae) {
+ var we = 0,
+ Te = 0;
+ return (
+ ae.forEach(function (Ce) {
+ (we += b[x.get(Ce)]), (Te += w[x.get(Ce)]);
+ }),
+ { x: we / ae.size, y: Te / ae.size }
+ );
+ }, 'calculateAvgPosition'),
+ M = o(function (ae, we, Te, Ce, Ae) {
+ function Ge(tt, Ye) {
+ var Je = new Set(tt),
+ Ve = !0,
+ je = !1,
+ kt = void 0;
+ try {
+ for (
+ var at = Ye[Symbol.iterator](), xt;
+ !(Ve = (xt = at.next()).done);
+ Ve = !0
+ ) {
+ var it = xt.value;
+ Je.add(it);
+ }
+ } catch (dt) {
+ (je = !0), (kt = dt);
+ } finally {
+ try {
+ !Ve && at.return && at.return();
+ } finally {
+ if (je) throw kt;
+ }
+ }
+ return Je;
+ }
+ o(Ge, 'setUnion');
+ var Me = new Map();
+ ae.forEach(function (tt, Ye) {
+ Me.set(Ye, 0);
+ }),
+ ae.forEach(function (tt, Ye) {
+ tt.forEach(function (Je) {
+ Me.set(Je.id, Me.get(Je.id) + 1);
+ });
+ });
+ var ye = new Map(),
+ He = new Map(),
+ ze = new f();
+ Me.forEach(function (tt, Ye) {
+ tt == 0
+ ? (ze.push(Ye),
+ Te ||
+ (we == 'horizontal'
+ ? ye.set(Ye, x.has(Ye) ? b[x.get(Ye)] : Ce.get(Ye))
+ : ye.set(Ye, x.has(Ye) ? w[x.get(Ye)] : Ce.get(Ye))))
+ : ye.set(Ye, Number.NEGATIVE_INFINITY),
+ Te && He.set(Ye, new Set([Ye]));
+ }),
+ Te &&
+ Ae.forEach(function (tt) {
+ var Ye = [];
+ if (
+ (tt.forEach(function (je) {
+ Te.has(je) && Ye.push(je);
+ }),
+ Ye.length > 0)
+ ) {
+ var Je = 0;
+ Ye.forEach(function (je) {
+ we == 'horizontal'
+ ? (ye.set(
+ je,
+ x.has(je) ? b[x.get(je)] : Ce.get(je)
+ ),
+ (Je += ye.get(je)))
+ : (ye.set(
+ je,
+ x.has(je) ? w[x.get(je)] : Ce.get(je)
+ ),
+ (Je += ye.get(je)));
+ }),
+ (Je = Je / Ye.length),
+ tt.forEach(function (je) {
+ Te.has(je) || ye.set(je, Je);
+ });
+ } else {
+ var Ve = 0;
+ tt.forEach(function (je) {
+ we == 'horizontal'
+ ? (Ve += x.has(je) ? b[x.get(je)] : Ce.get(je))
+ : (Ve += x.has(je) ? w[x.get(je)] : Ce.get(je));
+ }),
+ (Ve = Ve / tt.length),
+ tt.forEach(function (je) {
+ ye.set(je, Ve);
+ });
+ }
+ });
+ for (
+ var Ze = o(function () {
+ var Ye = ze.shift(),
+ Je = ae.get(Ye);
+ Je.forEach(function (Ve) {
+ if (ye.get(Ve.id) < ye.get(Ye) + Ve.gap)
+ if (Te && Te.has(Ve.id)) {
+ var je = void 0;
+ if (
+ (we == 'horizontal'
+ ? (je = x.has(Ve.id)
+ ? b[x.get(Ve.id)]
+ : Ce.get(Ve.id))
+ : (je = x.has(Ve.id)
+ ? w[x.get(Ve.id)]
+ : Ce.get(Ve.id)),
+ ye.set(Ve.id, je),
+ je < ye.get(Ye) + Ve.gap)
+ ) {
+ var kt = ye.get(Ye) + Ve.gap - je;
+ He.get(Ye).forEach(function (at) {
+ ye.set(at, ye.get(at) - kt);
+ });
+ }
+ } else ye.set(Ve.id, ye.get(Ye) + Ve.gap);
+ Me.set(Ve.id, Me.get(Ve.id) - 1),
+ Me.get(Ve.id) == 0 && ze.push(Ve.id),
+ Te && He.set(Ve.id, Ge(He.get(Ye), He.get(Ve.id)));
+ });
+ }, '_loop');
+ ze.length != 0;
+
+ )
+ Ze();
+ if (Te) {
+ var gt = new Set();
+ ae.forEach(function (tt, Ye) {
+ tt.length == 0 && gt.add(Ye);
+ });
+ var yt = [];
+ He.forEach(function (tt, Ye) {
+ if (gt.has(Ye)) {
+ var Je = !1,
+ Ve = !0,
+ je = !1,
+ kt = void 0;
+ try {
+ for (
+ var at = tt[Symbol.iterator](), xt;
+ !(Ve = (xt = at.next()).done);
+ Ve = !0
+ ) {
+ var it = xt.value;
+ Te.has(it) && (Je = !0);
+ }
+ } catch (It) {
+ (je = !0), (kt = It);
+ } finally {
+ try {
+ !Ve && at.return && at.return();
+ } finally {
+ if (je) throw kt;
+ }
+ }
+ if (!Je) {
+ var dt = !1,
+ lt = void 0;
+ yt.forEach(function (It, mt) {
+ It.has([].concat(u(tt))[0]) && ((dt = !0), (lt = mt));
+ }),
+ dt
+ ? tt.forEach(function (It) {
+ yt[lt].add(It);
+ })
+ : yt.push(new Set(tt));
+ }
+ }
+ }),
+ yt.forEach(function (tt, Ye) {
+ var Je = Number.POSITIVE_INFINITY,
+ Ve = Number.POSITIVE_INFINITY,
+ je = Number.NEGATIVE_INFINITY,
+ kt = Number.NEGATIVE_INFINITY,
+ at = !0,
+ xt = !1,
+ it = void 0;
+ try {
+ for (
+ var dt = tt[Symbol.iterator](), lt;
+ !(at = (lt = dt.next()).done);
+ at = !0
+ ) {
+ var It = lt.value,
+ mt = void 0;
+ we == 'horizontal'
+ ? (mt = x.has(It) ? b[x.get(It)] : Ce.get(It))
+ : (mt = x.has(It) ? w[x.get(It)] : Ce.get(It));
+ var St = ye.get(It);
+ mt < Je && (Je = mt),
+ mt > je && (je = mt),
+ St < Ve && (Ve = St),
+ St > kt && (kt = St);
+ }
+ } catch (Qn) {
+ (xt = !0), (it = Qn);
+ } finally {
+ try {
+ !at && dt.return && dt.return();
+ } finally {
+ if (xt) throw it;
+ }
+ }
+ var gr = (Je + je) / 2 - (Ve + kt) / 2,
+ xn = !0,
+ jt = !1,
+ rn = void 0;
+ try {
+ for (
+ var Er = tt[Symbol.iterator](), Kn;
+ !(xn = (Kn = Er.next()).done);
+ xn = !0
+ ) {
+ var hn = Kn.value;
+ ye.set(hn, ye.get(hn) + gr);
+ }
+ } catch (Qn) {
+ (jt = !0), (rn = Qn);
+ } finally {
+ try {
+ !xn && Er.return && Er.return();
+ } finally {
+ if (jt) throw rn;
+ }
+ }
+ });
+ }
+ return ye;
+ }, 'findAppropriatePositionForRelativePlacement'),
+ N = o(function (ae) {
+ var we = 0,
+ Te = 0,
+ Ce = 0,
+ Ae = 0;
+ if (
+ (ae.forEach(function (He) {
+ He.left
+ ? b[x.get(He.left)] - b[x.get(He.right)] >= 0
+ ? we++
+ : Te++
+ : w[x.get(He.top)] - w[x.get(He.bottom)] >= 0
+ ? Ce++
+ : Ae++;
+ }),
+ we > Te && Ce > Ae)
+ )
+ for (var Ge = 0; Ge < x.size; Ge++)
+ (b[Ge] = -1 * b[Ge]), (w[Ge] = -1 * w[Ge]);
+ else if (we > Te) for (var Me = 0; Me < x.size; Me++) b[Me] = -1 * b[Me];
+ else if (Ce > Ae) for (var ye = 0; ye < x.size; ye++) w[ye] = -1 * w[ye];
+ }, 'applyReflectionForRelativePlacement'),
+ k = o(function (ae) {
+ var we = [],
+ Te = new f(),
+ Ce = new Set(),
+ Ae = 0;
+ return (
+ ae.forEach(function (Ge, Me) {
+ if (!Ce.has(Me)) {
+ we[Ae] = [];
+ var ye = Me;
+ for (
+ Te.push(ye), Ce.add(ye), we[Ae].push(ye);
+ Te.length != 0;
+
+ ) {
+ ye = Te.shift();
+ var He = ae.get(ye);
+ He.forEach(function (ze) {
+ Ce.has(ze.id) ||
+ (Te.push(ze.id), Ce.add(ze.id), we[Ae].push(ze.id));
+ });
+ }
+ Ae++;
+ }
+ }),
+ we
+ );
+ }, 'findComponents'),
+ I = o(function (ae) {
+ var we = new Map();
+ return (
+ ae.forEach(function (Te, Ce) {
+ we.set(Ce, []);
+ }),
+ ae.forEach(function (Te, Ce) {
+ Te.forEach(function (Ae) {
+ we.get(Ce).push(Ae),
+ we.get(Ae.id).push({
+ id: Ce,
+ gap: Ae.gap,
+ direction: Ae.direction
+ });
+ });
+ }),
+ we
+ );
+ }, 'dagToUndirected'),
+ C = o(function (ae) {
+ var we = new Map();
+ return (
+ ae.forEach(function (Te, Ce) {
+ we.set(Ce, []);
+ }),
+ ae.forEach(function (Te, Ce) {
+ Te.forEach(function (Ae) {
+ we.get(Ae.id).push({
+ id: Ce,
+ gap: Ae.gap,
+ direction: Ae.direction
+ });
+ });
+ }),
+ we
+ );
+ }, 'dagToReversed'),
+ O = [],
+ D = [],
+ P = !1,
+ F = !1,
+ B = new Set(),
+ $ = new Map(),
+ z = new Map(),
+ Y = [];
+ if (
+ (y.fixedNodeConstraint &&
+ y.fixedNodeConstraint.forEach(function (ne) {
+ B.add(ne.nodeId);
+ }),
+ y.relativePlacementConstraint &&
+ (y.relativePlacementConstraint.forEach(function (ne) {
+ ne.left
+ ? ($.has(ne.left)
+ ? $.get(ne.left).push({
+ id: ne.right,
+ gap: ne.gap,
+ direction: 'horizontal'
+ })
+ : $.set(ne.left, [
+ {
+ id: ne.right,
+ gap: ne.gap,
+ direction: 'horizontal'
+ }
+ ]),
+ $.has(ne.right) || $.set(ne.right, []))
+ : ($.has(ne.top)
+ ? $.get(ne.top).push({
+ id: ne.bottom,
+ gap: ne.gap,
+ direction: 'vertical'
+ })
+ : $.set(ne.top, [
+ {
+ id: ne.bottom,
+ gap: ne.gap,
+ direction: 'vertical'
+ }
+ ]),
+ $.has(ne.bottom) || $.set(ne.bottom, []));
+ }),
+ (z = I($)),
+ (Y = k(z))),
+ h.TRANSFORM_ON_CONSTRAINT_HANDLING)
+ ) {
+ if (y.fixedNodeConstraint && y.fixedNodeConstraint.length > 1)
+ y.fixedNodeConstraint.forEach(function (ne, ae) {
+ (O[ae] = [ne.position.x, ne.position.y]),
+ (D[ae] = [b[x.get(ne.nodeId)], w[x.get(ne.nodeId)]]);
+ }),
+ (P = !0);
+ else if (y.alignmentConstraint)
+ (function () {
+ var ne = 0;
+ if (y.alignmentConstraint.vertical) {
+ for (
+ var ae = y.alignmentConstraint.vertical,
+ we = o(function (ye) {
+ var He = new Set();
+ ae[ye].forEach(function (gt) {
+ He.add(gt);
+ });
+ var ze = new Set(
+ [].concat(u(He)).filter(function (gt) {
+ return B.has(gt);
+ })
+ ),
+ Ze = void 0;
+ ze.size > 0
+ ? (Ze = b[x.get(ze.values().next().value)])
+ : (Ze = L(He).x),
+ ae[ye].forEach(function (gt) {
+ (O[ne] = [Ze, w[x.get(gt)]]),
+ (D[ne] = [b[x.get(gt)], w[x.get(gt)]]),
+ ne++;
+ });
+ }, '_loop2'),
+ Te = 0;
+ Te < ae.length;
+ Te++
+ )
+ we(Te);
+ P = !0;
+ }
+ if (y.alignmentConstraint.horizontal) {
+ for (
+ var Ce = y.alignmentConstraint.horizontal,
+ Ae = o(function (ye) {
+ var He = new Set();
+ Ce[ye].forEach(function (gt) {
+ He.add(gt);
+ });
+ var ze = new Set(
+ [].concat(u(He)).filter(function (gt) {
+ return B.has(gt);
+ })
+ ),
+ Ze = void 0;
+ ze.size > 0
+ ? (Ze = b[x.get(ze.values().next().value)])
+ : (Ze = L(He).y),
+ Ce[ye].forEach(function (gt) {
+ (O[ne] = [b[x.get(gt)], Ze]),
+ (D[ne] = [b[x.get(gt)], w[x.get(gt)]]),
+ ne++;
+ });
+ }, '_loop3'),
+ Ge = 0;
+ Ge < Ce.length;
+ Ge++
+ )
+ Ae(Ge);
+ P = !0;
+ }
+ y.relativePlacementConstraint && (F = !0);
+ })();
+ else if (y.relativePlacementConstraint) {
+ for (var Q = 0, X = 0, ie = 0; ie < Y.length; ie++)
+ Y[ie].length > Q && ((Q = Y[ie].length), (X = ie));
+ if (Q < z.size / 2) N(y.relativePlacementConstraint), (P = !1), (F = !1);
+ else {
+ var j = new Map(),
+ J = new Map(),
+ Z = [];
+ Y[X].forEach(function (ne) {
+ $.get(ne).forEach(function (ae) {
+ ae.direction == 'horizontal'
+ ? (j.has(ne) ? j.get(ne).push(ae) : j.set(ne, [ae]),
+ j.has(ae.id) || j.set(ae.id, []),
+ Z.push({ left: ne, right: ae.id }))
+ : (J.has(ne) ? J.get(ne).push(ae) : J.set(ne, [ae]),
+ J.has(ae.id) || J.set(ae.id, []),
+ Z.push({ top: ne, bottom: ae.id }));
+ });
+ }),
+ N(Z),
+ (F = !1);
+ var H = M(j, 'horizontal'),
+ q = M(J, 'vertical');
+ Y[X].forEach(function (ne, ae) {
+ (D[ae] = [b[x.get(ne)], w[x.get(ne)]]),
+ (O[ae] = []),
+ H.has(ne) ? (O[ae][0] = H.get(ne)) : (O[ae][0] = b[x.get(ne)]),
+ q.has(ne) ? (O[ae][1] = q.get(ne)) : (O[ae][1] = w[x.get(ne)]);
+ }),
+ (P = !0);
+ }
+ }
+ if (P) {
+ for (
+ var K = void 0, se = d.transpose(O), ce = d.transpose(D), ue = 0;
+ ue < se.length;
+ ue++
+ )
+ (se[ue] = d.multGamma(se[ue])), (ce[ue] = d.multGamma(ce[ue]));
+ var te = d.multMat(se, d.transpose(ce)),
+ De = p.svd(te);
+ K = d.multMat(De.V, d.transpose(De.U));
+ for (var oe = 0; oe < x.size; oe++) {
+ var ke = [b[oe], w[oe]],
+ Ie = [K[0][0], K[1][0]],
+ Se = [K[0][1], K[1][1]];
+ (b[oe] = d.dotProduct(ke, Ie)), (w[oe] = d.dotProduct(ke, Se));
+ }
+ F && N(y.relativePlacementConstraint);
+ }
+ }
+ if (h.ENFORCE_CONSTRAINTS) {
+ if (y.fixedNodeConstraint && y.fixedNodeConstraint.length > 0) {
+ var Ue = { x: 0, y: 0 };
+ y.fixedNodeConstraint.forEach(function (ne, ae) {
+ var we = {
+ x: b[x.get(ne.nodeId)],
+ y: w[x.get(ne.nodeId)]
+ },
+ Te = ne.position,
+ Ce = A(Te, we);
+ (Ue.x += Ce.x), (Ue.y += Ce.y);
+ }),
+ (Ue.x /= y.fixedNodeConstraint.length),
+ (Ue.y /= y.fixedNodeConstraint.length),
+ b.forEach(function (ne, ae) {
+ b[ae] += Ue.x;
+ }),
+ w.forEach(function (ne, ae) {
+ w[ae] += Ue.y;
+ }),
+ y.fixedNodeConstraint.forEach(function (ne) {
+ (b[x.get(ne.nodeId)] = ne.position.x),
+ (w[x.get(ne.nodeId)] = ne.position.y);
+ });
+ }
+ if (y.alignmentConstraint) {
+ if (y.alignmentConstraint.vertical)
+ for (
+ var Pe = y.alignmentConstraint.vertical,
+ _e = o(function (ae) {
+ var we = new Set();
+ Pe[ae].forEach(function (Ae) {
+ we.add(Ae);
+ });
+ var Te = new Set(
+ [].concat(u(we)).filter(function (Ae) {
+ return B.has(Ae);
+ })
+ ),
+ Ce = void 0;
+ Te.size > 0
+ ? (Ce = b[x.get(Te.values().next().value)])
+ : (Ce = L(we).x),
+ we.forEach(function (Ae) {
+ B.has(Ae) || (b[x.get(Ae)] = Ce);
+ });
+ }, '_loop4'),
+ me = 0;
+ me < Pe.length;
+ me++
+ )
+ _e(me);
+ if (y.alignmentConstraint.horizontal)
+ for (
+ var W = y.alignmentConstraint.horizontal,
+ fe = o(function (ae) {
+ var we = new Set();
+ W[ae].forEach(function (Ae) {
+ we.add(Ae);
+ });
+ var Te = new Set(
+ [].concat(u(we)).filter(function (Ae) {
+ return B.has(Ae);
+ })
+ ),
+ Ce = void 0;
+ Te.size > 0
+ ? (Ce = w[x.get(Te.values().next().value)])
+ : (Ce = L(we).y),
+ we.forEach(function (Ae) {
+ B.has(Ae) || (w[x.get(Ae)] = Ce);
+ });
+ }, '_loop5'),
+ ge = 0;
+ ge < W.length;
+ ge++
+ )
+ fe(ge);
+ }
+ y.relativePlacementConstraint &&
+ (function () {
+ var ne = new Map(),
+ ae = new Map(),
+ we = new Map(),
+ Te = new Map(),
+ Ce = new Map(),
+ Ae = new Map(),
+ Ge = new Set(),
+ Me = new Set();
+ if (
+ (B.forEach(function (Ot) {
+ Ge.add(Ot), Me.add(Ot);
+ }),
+ y.alignmentConstraint)
+ ) {
+ if (y.alignmentConstraint.vertical)
+ for (
+ var ye = y.alignmentConstraint.vertical,
+ He = o(function (pe) {
+ we.set('dummy' + pe, []),
+ ye[pe].forEach(function (ur) {
+ ne.set(ur, 'dummy' + pe),
+ we.get('dummy' + pe).push(ur),
+ B.has(ur) && Ge.add('dummy' + pe);
+ }),
+ Ce.set('dummy' + pe, b[x.get(ye[pe][0])]);
+ }, '_loop6'),
+ ze = 0;
+ ze < ye.length;
+ ze++
+ )
+ He(ze);
+ if (y.alignmentConstraint.horizontal)
+ for (
+ var Ze = y.alignmentConstraint.horizontal,
+ gt = o(function (pe) {
+ Te.set('dummy' + pe, []),
+ Ze[pe].forEach(function (ur) {
+ ae.set(ur, 'dummy' + pe),
+ Te.get('dummy' + pe).push(ur),
+ B.has(ur) && Me.add('dummy' + pe);
+ }),
+ Ae.set('dummy' + pe, w[x.get(Ze[pe][0])]);
+ }, '_loop7'),
+ yt = 0;
+ yt < Ze.length;
+ yt++
+ )
+ gt(yt);
+ }
+ var tt = new Map(),
+ Ye = new Map(),
+ Je = o(function (pe) {
+ $.get(pe).forEach(function (ur) {
+ var be = void 0,
+ Ir = void 0;
+ ur.direction == 'horizontal'
+ ? ((be = ne.get(pe) ? ne.get(pe) : pe),
+ ne.get(ur.id)
+ ? (Ir = {
+ id: ne.get(ur.id),
+ gap: ur.gap,
+ direction: ur.direction
+ })
+ : (Ir = ur),
+ tt.has(be) ? tt.get(be).push(Ir) : tt.set(be, [Ir]),
+ tt.has(Ir.id) || tt.set(Ir.id, []))
+ : ((be = ae.get(pe) ? ae.get(pe) : pe),
+ ae.get(ur.id)
+ ? (Ir = {
+ id: ae.get(ur.id),
+ gap: ur.gap,
+ direction: ur.direction
+ })
+ : (Ir = ur),
+ Ye.has(be) ? Ye.get(be).push(Ir) : Ye.set(be, [Ir]),
+ Ye.has(Ir.id) || Ye.set(Ir.id, []));
+ });
+ }, '_loop8'),
+ Ve = !0,
+ je = !1,
+ kt = void 0;
+ try {
+ for (
+ var at = $.keys()[Symbol.iterator](), xt;
+ !(Ve = (xt = at.next()).done);
+ Ve = !0
+ ) {
+ var it = xt.value;
+ Je(it);
+ }
+ } catch (Ot) {
+ (je = !0), (kt = Ot);
+ } finally {
+ try {
+ !Ve && at.return && at.return();
+ } finally {
+ if (je) throw kt;
+ }
+ }
+ var dt = I(tt),
+ lt = I(Ye),
+ It = k(dt),
+ mt = k(lt),
+ St = C(tt),
+ gr = C(Ye),
+ xn = [],
+ jt = [];
+ It.forEach(function (Ot, pe) {
+ (xn[pe] = []),
+ Ot.forEach(function (ur) {
+ St.get(ur).length == 0 && xn[pe].push(ur);
+ });
+ }),
+ mt.forEach(function (Ot, pe) {
+ (jt[pe] = []),
+ Ot.forEach(function (ur) {
+ gr.get(ur).length == 0 && jt[pe].push(ur);
+ });
+ });
+ var rn = M(tt, 'horizontal', Ge, Ce, xn),
+ Er = M(Ye, 'vertical', Me, Ae, jt),
+ Kn = o(function (pe) {
+ we.get(pe)
+ ? we.get(pe).forEach(function (ur) {
+ b[x.get(ur)] = rn.get(pe);
+ })
+ : (b[x.get(pe)] = rn.get(pe));
+ }, '_loop9'),
+ hn = !0,
+ Qn = !1,
+ on = void 0;
+ try {
+ for (
+ var Rn = rn.keys()[Symbol.iterator](), Ha;
+ !(hn = (Ha = Rn.next()).done);
+ hn = !0
+ ) {
+ var _a = Ha.value;
+ Kn(_a);
+ }
+ } catch (Ot) {
+ (Qn = !0), (on = Ot);
+ } finally {
+ try {
+ !hn && Rn.return && Rn.return();
+ } finally {
+ if (Qn) throw on;
+ }
+ }
+ var To = o(function (pe) {
+ Te.get(pe)
+ ? Te.get(pe).forEach(function (ur) {
+ w[x.get(ur)] = Er.get(pe);
+ })
+ : (w[x.get(pe)] = Er.get(pe));
+ }, '_loop10'),
+ qi = !0,
+ ht = !1,
+ At = void 0;
+ try {
+ for (
+ var $t = Er.keys()[Symbol.iterator](), rt;
+ !(qi = (rt = $t.next()).done);
+ qi = !0
+ ) {
+ var _a = rt.value;
+ To(_a);
+ }
+ } catch (Ot) {
+ (ht = !0), (At = Ot);
+ } finally {
+ try {
+ !qi && $t.return && $t.return();
+ } finally {
+ if (ht) throw At;
+ }
+ }
+ })();
+ }
+ for (var re = 0; re < S.length; re++) {
+ var he = S[re];
+ he.getChild() == null && he.setCenter(b[x.get(he.id)], w[x.get(he.id)]);
+ }
+ }),
+ (a.exports = m);
+ },
+ 551: (a) => {
+ a.exports = t;
+ }
+ },
+ r = {};
+ function n(a) {
+ var s = r[a];
+ if (s !== void 0) return s.exports;
+ var l = (r[a] = { exports: {} });
+ return e[a](l, l.exports, n), l.exports;
+ }
+ o(n, '__webpack_require__');
+ var i = n(45);
+ return i;
+ })();
+ });
+ });
+ var X1e = gi((xb, JB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof xb == 'object' && typeof JB == 'object'
+ ? (JB.exports = r(ZB()))
+ : typeof define == 'function' && define.amd
+ ? define(['cose-base'], r)
+ : typeof xb == 'object'
+ ? (xb.cytoscapeFcose = r(ZB()))
+ : (e.cytoscapeFcose = r(e.coseBase));
+ }, 'webpackUniversalModuleDefinition')(xb, function (t) {
+ return (() => {
+ 'use strict';
+ var e = {
+ 658: (a) => {
+ a.exports =
+ Object.assign != null
+ ? Object.assign.bind(Object)
+ : function (s) {
+ for (
+ var l = arguments.length, u = Array(l > 1 ? l - 1 : 0), h = 1;
+ h < l;
+ h++
+ )
+ u[h - 1] = arguments[h];
+ return (
+ u.forEach(function (f) {
+ Object.keys(f).forEach(function (d) {
+ return (s[d] = f[d]);
+ });
+ }),
+ s
+ );
+ };
+ },
+ 548: (a, s, l) => {
+ var u = (function () {
+ function d(p, m) {
+ var g = [],
+ y = !0,
+ v = !1,
+ x = void 0;
+ try {
+ for (
+ var b = p[Symbol.iterator](), w;
+ !(y = (w = b.next()).done) && (g.push(w.value), !(m && g.length === m));
+ y = !0
+ );
+ } catch (S) {
+ (v = !0), (x = S);
+ } finally {
+ try {
+ !y && b.return && b.return();
+ } finally {
+ if (v) throw x;
+ }
+ }
+ return g;
+ }
+ return (
+ o(d, 'sliceIterator'),
+ function (p, m) {
+ if (Array.isArray(p)) return p;
+ if (Symbol.iterator in Object(p)) return d(p, m);
+ throw new TypeError('Invalid attempt to destructure non-iterable instance');
+ }
+ );
+ })(),
+ h = l(140).layoutBase.LinkedList,
+ f = {};
+ (f.getTopMostNodes = function (d) {
+ for (var p = {}, m = 0; m < d.length; m++) p[d[m].id()] = !0;
+ var g = d.filter(function (y, v) {
+ typeof y == 'number' && (y = v);
+ for (var x = y.parent()[0]; x != null; ) {
+ if (p[x.id()]) return !1;
+ x = x.parent()[0];
+ }
+ return !0;
+ });
+ return g;
+ }),
+ (f.connectComponents = function (d, p, m, g) {
+ var y = new h(),
+ v = new Set(),
+ x = [],
+ b = void 0,
+ w = void 0,
+ S = void 0,
+ T = !1,
+ E = 1,
+ _ = [],
+ A = [],
+ L = o(function () {
+ var N = d.collection();
+ A.push(N);
+ var k = m[0],
+ I = d.collection();
+ I.merge(k).merge(k.descendants().intersection(p)),
+ x.push(k),
+ I.forEach(function (D) {
+ y.push(D), v.add(D), N.merge(D);
+ });
+ for (
+ var C = o(function () {
+ k = y.shift();
+ var P = d.collection();
+ k.neighborhood()
+ .nodes()
+ .forEach(function (z) {
+ p.intersection(k.edgesWith(z)).length > 0 && P.merge(z);
+ });
+ for (var F = 0; F < P.length; F++) {
+ var B = P[F];
+ if (
+ ((b = m.intersection(B.union(B.ancestors()))),
+ b != null && !v.has(b[0]))
+ ) {
+ var $ = b.union(b.descendants());
+ $.forEach(function (z) {
+ y.push(z), v.add(z), N.merge(z), m.has(z) && x.push(z);
+ });
+ }
+ }
+ }, '_loop2');
+ y.length != 0;
+
+ )
+ C();
+ if (
+ (N.forEach(function (D) {
+ p.intersection(D.connectedEdges()).forEach(function (P) {
+ N.has(P.source()) && N.has(P.target()) && N.merge(P);
+ });
+ }),
+ x.length == m.length && (T = !0),
+ !T || (T && E > 1))
+ ) {
+ (w = x[0]),
+ (S = w.connectedEdges().length),
+ x.forEach(function (D) {
+ D.connectedEdges().length < S &&
+ ((S = D.connectedEdges().length), (w = D));
+ }),
+ _.push(w.id());
+ var O = d.collection();
+ O.merge(x[0]),
+ x.forEach(function (D) {
+ O.merge(D);
+ }),
+ (x = []),
+ (m = m.difference(O)),
+ E++;
+ }
+ }, '_loop');
+ do L();
+ while (!T);
+ return g && _.length > 0 && g.set('dummy' + (g.size + 1), _), A;
+ }),
+ (f.relocateComponent = function (d, p, m) {
+ if (!m.fixedNodeConstraint) {
+ var g = Number.POSITIVE_INFINITY,
+ y = Number.NEGATIVE_INFINITY,
+ v = Number.POSITIVE_INFINITY,
+ x = Number.NEGATIVE_INFINITY;
+ if (m.quality == 'draft') {
+ var b = !0,
+ w = !1,
+ S = void 0;
+ try {
+ for (
+ var T = p.nodeIndexes[Symbol.iterator](), E;
+ !(b = (E = T.next()).done);
+ b = !0
+ ) {
+ var _ = E.value,
+ A = u(_, 2),
+ L = A[0],
+ M = A[1],
+ N = m.cy.getElementById(L);
+ if (N) {
+ var k = N.boundingBox(),
+ I = p.xCoords[M] - k.w / 2,
+ C = p.xCoords[M] + k.w / 2,
+ O = p.yCoords[M] - k.h / 2,
+ D = p.yCoords[M] + k.h / 2;
+ I < g && (g = I),
+ C > y && (y = C),
+ O < v && (v = O),
+ D > x && (x = D);
+ }
+ }
+ } catch (z) {
+ (w = !0), (S = z);
+ } finally {
+ try {
+ !b && T.return && T.return();
+ } finally {
+ if (w) throw S;
+ }
+ }
+ var P = d.x - (y + g) / 2,
+ F = d.y - (x + v) / 2;
+ (p.xCoords = p.xCoords.map(function (z) {
+ return z + P;
+ })),
+ (p.yCoords = p.yCoords.map(function (z) {
+ return z + F;
+ }));
+ } else {
+ Object.keys(p).forEach(function (z) {
+ var Y = p[z],
+ Q = Y.getRect().x,
+ X = Y.getRect().x + Y.getRect().width,
+ ie = Y.getRect().y,
+ j = Y.getRect().y + Y.getRect().height;
+ Q < g && (g = Q),
+ X > y && (y = X),
+ ie < v && (v = ie),
+ j > x && (x = j);
+ });
+ var B = d.x - (y + g) / 2,
+ $ = d.y - (x + v) / 2;
+ Object.keys(p).forEach(function (z) {
+ var Y = p[z];
+ Y.setCenter(Y.getCenterX() + B, Y.getCenterY() + $);
+ });
+ }
+ }
+ }),
+ (f.calcBoundingBox = function (d, p, m, g) {
+ for (
+ var y = Number.MAX_SAFE_INTEGER,
+ v = Number.MIN_SAFE_INTEGER,
+ x = Number.MAX_SAFE_INTEGER,
+ b = Number.MIN_SAFE_INTEGER,
+ w = void 0,
+ S = void 0,
+ T = void 0,
+ E = void 0,
+ _ = d.descendants().not(':parent'),
+ A = _.length,
+ L = 0;
+ L < A;
+ L++
+ ) {
+ var M = _[L];
+ (w = p[g.get(M.id())] - M.width() / 2),
+ (S = p[g.get(M.id())] + M.width() / 2),
+ (T = m[g.get(M.id())] - M.height() / 2),
+ (E = m[g.get(M.id())] + M.height() / 2),
+ y > w && (y = w),
+ v < S && (v = S),
+ x > T && (x = T),
+ b < E && (b = E);
+ }
+ var N = {};
+ return (N.topLeftX = y), (N.topLeftY = x), (N.width = v - y), (N.height = b - x), N;
+ }),
+ (f.calcParentsWithoutChildren = function (d, p) {
+ var m = d.collection();
+ return (
+ p.nodes(':parent').forEach(function (g) {
+ var y = !1;
+ g.children().forEach(function (v) {
+ v.css('display') != 'none' && (y = !0);
+ }),
+ y || m.merge(g);
+ }),
+ m
+ );
+ }),
+ (a.exports = f);
+ },
+ 816: (a, s, l) => {
+ var u = l(548),
+ h = l(140).CoSELayout,
+ f = l(140).CoSENode,
+ d = l(140).layoutBase.PointD,
+ p = l(140).layoutBase.DimensionD,
+ m = l(140).layoutBase.LayoutConstants,
+ g = l(140).layoutBase.FDLayoutConstants,
+ y = l(140).CoSEConstants,
+ v = o(function (b, w) {
+ var S = b.cy,
+ T = b.eles,
+ E = T.nodes(),
+ _ = T.edges(),
+ A = void 0,
+ L = void 0,
+ M = void 0,
+ N = {};
+ b.randomize && ((A = w.nodeIndexes), (L = w.xCoords), (M = w.yCoords));
+ var k = o(function (z) {
+ return typeof z == 'function';
+ }, 'isFn'),
+ I = o(function (z, Y) {
+ return k(z) ? z(Y) : z;
+ }, 'optFn'),
+ C = u.calcParentsWithoutChildren(S, T),
+ O = o(function $(z, Y, Q, X) {
+ for (var ie = Y.length, j = 0; j < ie; j++) {
+ var J = Y[j],
+ Z = null;
+ J.intersection(C).length == 0 && (Z = J.children());
+ var H = void 0,
+ q = J.layoutDimensions({
+ nodeDimensionsIncludeLabels: X.nodeDimensionsIncludeLabels
+ });
+ if (J.outerWidth() != null && J.outerHeight() != null)
+ if (X.randomize)
+ if (!J.isParent())
+ H = z.add(
+ new f(
+ Q.graphManager,
+ new d(
+ L[A.get(J.id())] - q.w / 2,
+ M[A.get(J.id())] - q.h / 2
+ ),
+ new p(parseFloat(q.w), parseFloat(q.h))
+ )
+ );
+ else {
+ var K = u.calcBoundingBox(J, L, M, A);
+ J.intersection(C).length == 0
+ ? (H = z.add(
+ new f(
+ Q.graphManager,
+ new d(K.topLeftX, K.topLeftY),
+ new p(K.width, K.height)
+ )
+ ))
+ : (H = z.add(
+ new f(
+ Q.graphManager,
+ new d(K.topLeftX, K.topLeftY),
+ new p(parseFloat(q.w), parseFloat(q.h))
+ )
+ ));
+ }
+ else
+ H = z.add(
+ new f(
+ Q.graphManager,
+ new d(
+ J.position('x') - q.w / 2,
+ J.position('y') - q.h / 2
+ ),
+ new p(parseFloat(q.w), parseFloat(q.h))
+ )
+ );
+ else H = z.add(new f(this.graphManager));
+ if (
+ ((H.id = J.data('id')),
+ (H.nodeRepulsion = I(X.nodeRepulsion, J)),
+ (H.paddingLeft = parseInt(J.css('padding'))),
+ (H.paddingTop = parseInt(J.css('padding'))),
+ (H.paddingRight = parseInt(J.css('padding'))),
+ (H.paddingBottom = parseInt(J.css('padding'))),
+ X.nodeDimensionsIncludeLabels &&
+ ((H.labelWidth = J.boundingBox({
+ includeLabels: !0,
+ includeNodes: !1,
+ includeOverlays: !1
+ }).w),
+ (H.labelHeight = J.boundingBox({
+ includeLabels: !0,
+ includeNodes: !1,
+ includeOverlays: !1
+ }).h),
+ (H.labelPosVertical = J.css('text-valign')),
+ (H.labelPosHorizontal = J.css('text-halign'))),
+ (N[J.data('id')] = H),
+ isNaN(H.rect.x) && (H.rect.x = 0),
+ isNaN(H.rect.y) && (H.rect.y = 0),
+ Z != null && Z.length > 0)
+ ) {
+ var se = void 0;
+ (se = Q.getGraphManager().add(Q.newGraph(), H)), $(se, Z, Q, X);
+ }
+ }
+ }, 'processChildrenList'),
+ D = o(function (z, Y, Q) {
+ for (var X = 0, ie = 0, j = 0; j < Q.length; j++) {
+ var J = Q[j],
+ Z = N[J.data('source')],
+ H = N[J.data('target')];
+ if (Z && H && Z !== H && Z.getEdgesBetween(H).length == 0) {
+ var q = Y.add(z.newEdge(), Z, H);
+ (q.id = J.id()),
+ (q.idealLength = I(b.idealEdgeLength, J)),
+ (q.edgeElasticity = I(b.edgeElasticity, J)),
+ (X += q.idealLength),
+ ie++;
+ }
+ }
+ b.idealEdgeLength != null &&
+ (ie > 0
+ ? (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH = X / ie)
+ : k(b.idealEdgeLength)
+ ? (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH = 50)
+ : (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH =
+ b.idealEdgeLength),
+ (y.MIN_REPULSION_DIST = g.MIN_REPULSION_DIST =
+ g.DEFAULT_EDGE_LENGTH / 10),
+ (y.DEFAULT_RADIAL_SEPARATION = g.DEFAULT_EDGE_LENGTH));
+ }, 'processEdges'),
+ P = o(function (z, Y) {
+ Y.fixedNodeConstraint &&
+ (z.constraints.fixedNodeConstraint = Y.fixedNodeConstraint),
+ Y.alignmentConstraint &&
+ (z.constraints.alignmentConstraint = Y.alignmentConstraint),
+ Y.relativePlacementConstraint &&
+ (z.constraints.relativePlacementConstraint =
+ Y.relativePlacementConstraint);
+ }, 'processConstraints');
+ b.nestingFactor != null &&
+ (y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR =
+ b.nestingFactor),
+ b.gravity != null &&
+ (y.DEFAULT_GRAVITY_STRENGTH = g.DEFAULT_GRAVITY_STRENGTH = b.gravity),
+ b.numIter != null && (y.MAX_ITERATIONS = g.MAX_ITERATIONS = b.numIter),
+ b.gravityRange != null &&
+ (y.DEFAULT_GRAVITY_RANGE_FACTOR = g.DEFAULT_GRAVITY_RANGE_FACTOR =
+ b.gravityRange),
+ b.gravityCompound != null &&
+ (y.DEFAULT_COMPOUND_GRAVITY_STRENGTH = g.DEFAULT_COMPOUND_GRAVITY_STRENGTH =
+ b.gravityCompound),
+ b.gravityRangeCompound != null &&
+ (y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR =
+ g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR =
+ b.gravityRangeCompound),
+ b.initialEnergyOnIncremental != null &&
+ (y.DEFAULT_COOLING_FACTOR_INCREMENTAL =
+ g.DEFAULT_COOLING_FACTOR_INCREMENTAL =
+ b.initialEnergyOnIncremental),
+ b.tilingCompareBy != null && (y.TILING_COMPARE_BY = b.tilingCompareBy),
+ b.quality == 'proof' ? (m.QUALITY = 2) : (m.QUALITY = 0),
+ (y.NODE_DIMENSIONS_INCLUDE_LABELS =
+ g.NODE_DIMENSIONS_INCLUDE_LABELS =
+ m.NODE_DIMENSIONS_INCLUDE_LABELS =
+ b.nodeDimensionsIncludeLabels),
+ (y.DEFAULT_INCREMENTAL =
+ g.DEFAULT_INCREMENTAL =
+ m.DEFAULT_INCREMENTAL =
+ !b.randomize),
+ (y.ANIMATE = g.ANIMATE = m.ANIMATE = b.animate),
+ (y.TILE = b.tile),
+ (y.TILING_PADDING_VERTICAL =
+ typeof b.tilingPaddingVertical == 'function'
+ ? b.tilingPaddingVertical.call()
+ : b.tilingPaddingVertical),
+ (y.TILING_PADDING_HORIZONTAL =
+ typeof b.tilingPaddingHorizontal == 'function'
+ ? b.tilingPaddingHorizontal.call()
+ : b.tilingPaddingHorizontal),
+ (y.DEFAULT_INCREMENTAL = g.DEFAULT_INCREMENTAL = m.DEFAULT_INCREMENTAL = !0),
+ (y.PURE_INCREMENTAL = !b.randomize),
+ (m.DEFAULT_UNIFORM_LEAF_NODE_SIZES = b.uniformNodeDimensions),
+ b.step == 'transformed' &&
+ ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !0),
+ (y.ENFORCE_CONSTRAINTS = !1),
+ (y.APPLY_LAYOUT = !1)),
+ b.step == 'enforced' &&
+ ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1),
+ (y.ENFORCE_CONSTRAINTS = !0),
+ (y.APPLY_LAYOUT = !1)),
+ b.step == 'cose' &&
+ ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1),
+ (y.ENFORCE_CONSTRAINTS = !1),
+ (y.APPLY_LAYOUT = !0)),
+ b.step == 'all' &&
+ (b.randomize
+ ? (y.TRANSFORM_ON_CONSTRAINT_HANDLING = !0)
+ : (y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1),
+ (y.ENFORCE_CONSTRAINTS = !0),
+ (y.APPLY_LAYOUT = !0)),
+ b.fixedNodeConstraint || b.alignmentConstraint || b.relativePlacementConstraint
+ ? (y.TREE_REDUCTION_ON_INCREMENTAL = !1)
+ : (y.TREE_REDUCTION_ON_INCREMENTAL = !0);
+ var F = new h(),
+ B = F.newGraphManager();
+ return (
+ O(B.addRoot(), u.getTopMostNodes(E), F, b),
+ D(F, B, _),
+ P(F, b),
+ F.runLayout(),
+ N
+ );
+ }, 'coseLayout');
+ a.exports = { coseLayout: v };
+ },
+ 212: (a, s, l) => {
+ var u = (function () {
+ function b(w, S) {
+ for (var T = 0; T < S.length; T++) {
+ var E = S[T];
+ (E.enumerable = E.enumerable || !1),
+ (E.configurable = !0),
+ 'value' in E && (E.writable = !0),
+ Object.defineProperty(w, E.key, E);
+ }
+ }
+ return (
+ o(b, 'defineProperties'),
+ function (w, S, T) {
+ return S && b(w.prototype, S), T && b(w, T), w;
+ }
+ );
+ })();
+ function h(b, w) {
+ if (!(b instanceof w)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(h, '_classCallCheck');
+ var f = l(658),
+ d = l(548),
+ p = l(657),
+ m = p.spectralLayout,
+ g = l(816),
+ y = g.coseLayout,
+ v = Object.freeze({
+ quality: 'default',
+ randomize: !0,
+ animate: !0,
+ animationDuration: 1e3,
+ animationEasing: void 0,
+ fit: !0,
+ padding: 30,
+ nodeDimensionsIncludeLabels: !1,
+ uniformNodeDimensions: !1,
+ packComponents: !0,
+ step: 'all',
+ samplingType: !0,
+ sampleSize: 25,
+ nodeSeparation: 75,
+ piTol: 1e-7,
+ nodeRepulsion: o(function (w) {
+ return 4500;
+ }, 'nodeRepulsion'),
+ idealEdgeLength: o(function (w) {
+ return 50;
+ }, 'idealEdgeLength'),
+ edgeElasticity: o(function (w) {
+ return 0.45;
+ }, 'edgeElasticity'),
+ nestingFactor: 0.1,
+ gravity: 0.25,
+ numIter: 2500,
+ tile: !0,
+ tilingCompareBy: void 0,
+ tilingPaddingVertical: 10,
+ tilingPaddingHorizontal: 10,
+ gravityRangeCompound: 1.5,
+ gravityCompound: 1,
+ gravityRange: 3.8,
+ initialEnergyOnIncremental: 0.3,
+ fixedNodeConstraint: void 0,
+ alignmentConstraint: void 0,
+ relativePlacementConstraint: void 0,
+ ready: o(function () {}, 'ready'),
+ stop: o(function () {}, 'stop')
+ }),
+ x = (function () {
+ function b(w) {
+ h(this, b), (this.options = f({}, v, w));
+ }
+ return (
+ o(b, 'Layout'),
+ u(b, [
+ {
+ key: 'run',
+ value: o(function () {
+ var S = this,
+ T = this.options,
+ E = T.cy,
+ _ = T.eles,
+ A = [],
+ L = void 0,
+ M = void 0,
+ N = [],
+ k = void 0,
+ I = [];
+ T.fixedNodeConstraint &&
+ (!Array.isArray(T.fixedNodeConstraint) ||
+ T.fixedNodeConstraint.length == 0) &&
+ (T.fixedNodeConstraint = void 0),
+ T.alignmentConstraint &&
+ (T.alignmentConstraint.vertical &&
+ (!Array.isArray(T.alignmentConstraint.vertical) ||
+ T.alignmentConstraint.vertical.length == 0) &&
+ (T.alignmentConstraint.vertical = void 0),
+ T.alignmentConstraint.horizontal &&
+ (!Array.isArray(T.alignmentConstraint.horizontal) ||
+ T.alignmentConstraint.horizontal.length == 0) &&
+ (T.alignmentConstraint.horizontal = void 0)),
+ T.relativePlacementConstraint &&
+ (!Array.isArray(T.relativePlacementConstraint) ||
+ T.relativePlacementConstraint.length == 0) &&
+ (T.relativePlacementConstraint = void 0);
+ var C =
+ T.fixedNodeConstraint ||
+ T.alignmentConstraint ||
+ T.relativePlacementConstraint;
+ C && ((T.tile = !1), (T.packComponents = !1));
+ var O = void 0,
+ D = !1;
+ if (
+ (E.layoutUtilities &&
+ T.packComponents &&
+ ((O = E.layoutUtilities('get')),
+ O || (O = E.layoutUtilities()),
+ (D = !0)),
+ _.nodes().length > 0)
+ )
+ if (D) {
+ var B = d.getTopMostNodes(T.eles.nodes());
+ if (
+ ((k = d.connectComponents(E, T.eles, B)),
+ k.forEach(function (oe) {
+ var ke = oe.boundingBox();
+ I.push({
+ x: ke.x1 + ke.w / 2,
+ y: ke.y1 + ke.h / 2
+ });
+ }),
+ T.randomize &&
+ k.forEach(function (oe) {
+ (T.eles = oe), A.push(m(T));
+ }),
+ T.quality == 'default' || T.quality == 'proof')
+ ) {
+ var $ = E.collection();
+ if (T.tile) {
+ var z = new Map(),
+ Y = [],
+ Q = [],
+ X = 0,
+ ie = {
+ nodeIndexes: z,
+ xCoords: Y,
+ yCoords: Q
+ },
+ j = [];
+ if (
+ (k.forEach(function (oe, ke) {
+ oe.edges().length == 0 &&
+ (oe.nodes().forEach(function (Ie, Se) {
+ $.merge(oe.nodes()[Se]),
+ Ie.isParent() ||
+ (ie.nodeIndexes.set(
+ oe.nodes()[Se].id(),
+ X++
+ ),
+ ie.xCoords.push(
+ oe.nodes()[0].position()
+ .x
+ ),
+ ie.yCoords.push(
+ oe.nodes()[0].position()
+ .y
+ ));
+ }),
+ j.push(ke));
+ }),
+ $.length > 1)
+ ) {
+ var J = $.boundingBox();
+ I.push({
+ x: J.x1 + J.w / 2,
+ y: J.y1 + J.h / 2
+ }),
+ k.push($),
+ A.push(ie);
+ for (var Z = j.length - 1; Z >= 0; Z--)
+ k.splice(j[Z], 1),
+ A.splice(j[Z], 1),
+ I.splice(j[Z], 1);
+ }
+ }
+ k.forEach(function (oe, ke) {
+ (T.eles = oe),
+ N.push(y(T, A[ke])),
+ d.relocateComponent(I[ke], N[ke], T);
+ });
+ } else
+ k.forEach(function (oe, ke) {
+ d.relocateComponent(I[ke], A[ke], T);
+ });
+ var H = new Set();
+ if (k.length > 1) {
+ var q = [],
+ K = _.filter(function (oe) {
+ return oe.css('display') == 'none';
+ });
+ k.forEach(function (oe, ke) {
+ var Ie = void 0;
+ if (
+ (T.quality == 'draft' &&
+ (Ie = A[ke].nodeIndexes),
+ oe.nodes().not(K).length > 0)
+ ) {
+ var Se = {};
+ (Se.edges = []), (Se.nodes = []);
+ var Ue = void 0;
+ oe
+ .nodes()
+ .not(K)
+ .forEach(function (Pe) {
+ if (T.quality == 'draft')
+ if (!Pe.isParent())
+ (Ue = Ie.get(Pe.id())),
+ Se.nodes.push({
+ x:
+ A[ke].xCoords[Ue] -
+ Pe.boundingbox().w /
+ 2,
+ y:
+ A[ke].yCoords[Ue] -
+ Pe.boundingbox().h /
+ 2,
+ width: Pe.boundingbox()
+ .w,
+ height: Pe.boundingbox()
+ .h
+ });
+ else {
+ var _e = d.calcBoundingBox(
+ Pe,
+ A[ke].xCoords,
+ A[ke].yCoords,
+ Ie
+ );
+ Se.nodes.push({
+ x: _e.topLeftX,
+ y: _e.topLeftY,
+ width: _e.width,
+ height: _e.height
+ });
+ }
+ else
+ N[ke][Pe.id()] &&
+ Se.nodes.push({
+ x: N[ke][Pe.id()].getLeft(),
+ y: N[ke][Pe.id()].getTop(),
+ width: N[ke][
+ Pe.id()
+ ].getWidth(),
+ height: N[ke][
+ Pe.id()
+ ].getHeight()
+ });
+ }),
+ oe.edges().forEach(function (Pe) {
+ var _e = Pe.source(),
+ me = Pe.target();
+ if (
+ _e.css('display') != 'none' &&
+ me.css('display') != 'none'
+ )
+ if (T.quality == 'draft') {
+ var W = Ie.get(_e.id()),
+ fe = Ie.get(me.id()),
+ ge = [],
+ re = [];
+ if (_e.isParent()) {
+ var he = d.calcBoundingBox(
+ _e,
+ A[ke].xCoords,
+ A[ke].yCoords,
+ Ie
+ );
+ ge.push(
+ he.topLeftX +
+ he.width / 2
+ ),
+ ge.push(
+ he.topLeftY +
+ he.height / 2
+ );
+ } else
+ ge.push(A[ke].xCoords[W]),
+ ge.push(
+ A[ke].yCoords[W]
+ );
+ if (me.isParent()) {
+ var ne = d.calcBoundingBox(
+ me,
+ A[ke].xCoords,
+ A[ke].yCoords,
+ Ie
+ );
+ re.push(
+ ne.topLeftX +
+ ne.width / 2
+ ),
+ re.push(
+ ne.topLeftY +
+ ne.height / 2
+ );
+ } else
+ re.push(A[ke].xCoords[fe]),
+ re.push(
+ A[ke].yCoords[fe]
+ );
+ Se.edges.push({
+ startX: ge[0],
+ startY: ge[1],
+ endX: re[0],
+ endY: re[1]
+ });
+ } else
+ N[ke][_e.id()] &&
+ N[ke][me.id()] &&
+ Se.edges.push({
+ startX: N[ke][
+ _e.id()
+ ].getCenterX(),
+ startY: N[ke][
+ _e.id()
+ ].getCenterY(),
+ endX: N[ke][
+ me.id()
+ ].getCenterX(),
+ endY: N[ke][
+ me.id()
+ ].getCenterY()
+ });
+ }),
+ Se.nodes.length > 0 &&
+ (q.push(Se), H.add(ke));
+ }
+ });
+ var se = O.packComponents(q, T.randomize).shifts;
+ if (T.quality == 'draft')
+ A.forEach(function (oe, ke) {
+ var Ie = oe.xCoords.map(function (Ue) {
+ return Ue + se[ke].dx;
+ }),
+ Se = oe.yCoords.map(function (Ue) {
+ return Ue + se[ke].dy;
+ });
+ (oe.xCoords = Ie), (oe.yCoords = Se);
+ });
+ else {
+ var ce = 0;
+ H.forEach(function (oe) {
+ Object.keys(N[oe]).forEach(function (ke) {
+ var Ie = N[oe][ke];
+ Ie.setCenter(
+ Ie.getCenterX() + se[ce].dx,
+ Ie.getCenterY() + se[ce].dy
+ );
+ }),
+ ce++;
+ });
+ }
+ }
+ } else {
+ var P = T.eles.boundingBox();
+ if (
+ (I.push({
+ x: P.x1 + P.w / 2,
+ y: P.y1 + P.h / 2
+ }),
+ T.randomize)
+ ) {
+ var F = m(T);
+ A.push(F);
+ }
+ T.quality == 'default' || T.quality == 'proof'
+ ? (N.push(y(T, A[0])),
+ d.relocateComponent(I[0], N[0], T))
+ : d.relocateComponent(I[0], A[0], T);
+ }
+ var ue = o(function (ke, Ie) {
+ if (T.quality == 'default' || T.quality == 'proof') {
+ typeof ke == 'number' && (ke = Ie);
+ var Se = void 0,
+ Ue = void 0,
+ Pe = ke.data('id');
+ return (
+ N.forEach(function (me) {
+ Pe in me &&
+ ((Se = {
+ x: me[Pe].getRect().getCenterX(),
+ y: me[Pe].getRect().getCenterY()
+ }),
+ (Ue = me[Pe]));
+ }),
+ T.nodeDimensionsIncludeLabels &&
+ (Ue.labelWidth &&
+ (Ue.labelPosHorizontal == 'left'
+ ? (Se.x += Ue.labelWidth / 2)
+ : Ue.labelPosHorizontal == 'right' &&
+ (Se.x -= Ue.labelWidth / 2)),
+ Ue.labelHeight &&
+ (Ue.labelPosVertical == 'top'
+ ? (Se.y += Ue.labelHeight / 2)
+ : Ue.labelPosVertical == 'bottom' &&
+ (Se.y -= Ue.labelHeight / 2))),
+ Se == null &&
+ (Se = {
+ x: ke.position('x'),
+ y: ke.position('y')
+ }),
+ { x: Se.x, y: Se.y }
+ );
+ } else {
+ var _e = void 0;
+ return (
+ A.forEach(function (me) {
+ var W = me.nodeIndexes.get(ke.id());
+ W != null &&
+ (_e = {
+ x: me.xCoords[W],
+ y: me.yCoords[W]
+ });
+ }),
+ _e == null &&
+ (_e = {
+ x: ke.position('x'),
+ y: ke.position('y')
+ }),
+ { x: _e.x, y: _e.y }
+ );
+ }
+ }, 'getPositions');
+ if (T.quality == 'default' || T.quality == 'proof' || T.randomize) {
+ var te = d.calcParentsWithoutChildren(E, _),
+ De = _.filter(function (oe) {
+ return oe.css('display') == 'none';
+ });
+ (T.eles = _.not(De)),
+ _.nodes().not(':parent').not(De).layoutPositions(S, T, ue),
+ te.length > 0 &&
+ te.forEach(function (oe) {
+ oe.position(ue(oe));
+ });
+ } else
+ console.log(
+ "If randomize option is set to false, then quality option must be 'default' or 'proof'."
+ );
+ }, 'run')
+ }
+ ]),
+ b
+ );
+ })();
+ a.exports = x;
+ },
+ 657: (a, s, l) => {
+ var u = l(548),
+ h = l(140).layoutBase.Matrix,
+ f = l(140).layoutBase.SVD,
+ d = o(function (m) {
+ var g = m.cy,
+ y = m.eles,
+ v = y.nodes(),
+ x = y.nodes(':parent'),
+ b = new Map(),
+ w = new Map(),
+ S = new Map(),
+ T = [],
+ E = [],
+ _ = [],
+ A = [],
+ L = [],
+ M = [],
+ N = [],
+ k = [],
+ I = void 0,
+ C = void 0,
+ O = 1e8,
+ D = 1e-9,
+ P = m.piTol,
+ F = m.samplingType,
+ B = m.nodeSeparation,
+ $ = void 0,
+ z = o(function () {
+ for (var we = 0, Te = 0, Ce = !1; Te < $; ) {
+ (we = Math.floor(Math.random() * C)), (Ce = !1);
+ for (var Ae = 0; Ae < Te; Ae++)
+ if (A[Ae] == we) {
+ Ce = !0;
+ break;
+ }
+ if (!Ce) (A[Te] = we), Te++;
+ else continue;
+ }
+ }, 'randomSampleCR'),
+ Y = o(function (we, Te, Ce) {
+ for (
+ var Ae = [],
+ Ge = 0,
+ Me = 0,
+ ye = 0,
+ He = void 0,
+ ze = [],
+ Ze = 0,
+ gt = 1,
+ yt = 0;
+ yt < C;
+ yt++
+ )
+ ze[yt] = O;
+ for (Ae[Me] = we, ze[we] = 0; Me >= Ge; ) {
+ ye = Ae[Ge++];
+ for (var tt = T[ye], Ye = 0; Ye < tt.length; Ye++)
+ (He = w.get(tt[Ye])),
+ ze[He] == O && ((ze[He] = ze[ye] + 1), (Ae[++Me] = He));
+ M[ye][Te] = ze[ye] * B;
+ }
+ if (Ce) {
+ for (var Je = 0; Je < C; Je++) M[Je][Te] < L[Je] && (L[Je] = M[Je][Te]);
+ for (var Ve = 0; Ve < C; Ve++) L[Ve] > Ze && ((Ze = L[Ve]), (gt = Ve));
+ }
+ return gt;
+ }, 'BFS'),
+ Q = o(function (we) {
+ var Te = void 0;
+ if (we) {
+ (Te = Math.floor(Math.random() * C)), (I = Te);
+ for (var Ae = 0; Ae < C; Ae++) L[Ae] = O;
+ for (var Ge = 0; Ge < $; Ge++) (A[Ge] = Te), (Te = Y(Te, Ge, we));
+ } else {
+ z();
+ for (var Ce = 0; Ce < $; Ce++) Y(A[Ce], Ce, we, !1);
+ }
+ for (var Me = 0; Me < C; Me++)
+ for (var ye = 0; ye < $; ye++) M[Me][ye] *= M[Me][ye];
+ for (var He = 0; He < $; He++) N[He] = [];
+ for (var ze = 0; ze < $; ze++)
+ for (var Ze = 0; Ze < $; Ze++) N[ze][Ze] = M[A[Ze]][ze];
+ }, 'allBFS'),
+ X = o(function () {
+ for (
+ var we = f.svd(N),
+ Te = we.S,
+ Ce = we.U,
+ Ae = we.V,
+ Ge = Te[0] * Te[0] * Te[0],
+ Me = [],
+ ye = 0;
+ ye < $;
+ ye++
+ ) {
+ Me[ye] = [];
+ for (var He = 0; He < $; He++)
+ (Me[ye][He] = 0),
+ ye == He &&
+ (Me[ye][He] =
+ Te[ye] / (Te[ye] * Te[ye] + Ge / (Te[ye] * Te[ye])));
+ }
+ k = h.multMat(h.multMat(Ae, Me), h.transpose(Ce));
+ }, 'sample'),
+ ie = o(function () {
+ for (
+ var we = void 0,
+ Te = void 0,
+ Ce = [],
+ Ae = [],
+ Ge = [],
+ Me = [],
+ ye = 0;
+ ye < C;
+ ye++
+ )
+ (Ce[ye] = Math.random()), (Ae[ye] = Math.random());
+ (Ce = h.normalize(Ce)), (Ae = h.normalize(Ae));
+ for (var He = 0, ze = D, Ze = D, gt = void 0; ; ) {
+ He++;
+ for (var yt = 0; yt < C; yt++) Ge[yt] = Ce[yt];
+ if (
+ ((Ce = h.multGamma(h.multL(h.multGamma(Ge), M, k))),
+ (we = h.dotProduct(Ge, Ce)),
+ (Ce = h.normalize(Ce)),
+ (ze = h.dotProduct(Ge, Ce)),
+ (gt = Math.abs(ze / Ze)),
+ gt <= 1 + P && gt >= 1)
+ )
+ break;
+ Ze = ze;
+ }
+ for (var tt = 0; tt < C; tt++) Ge[tt] = Ce[tt];
+ for (He = 0, Ze = D; ; ) {
+ He++;
+ for (var Ye = 0; Ye < C; Ye++) Me[Ye] = Ae[Ye];
+ if (
+ ((Me = h.minusOp(Me, h.multCons(Ge, h.dotProduct(Ge, Me)))),
+ (Ae = h.multGamma(h.multL(h.multGamma(Me), M, k))),
+ (Te = h.dotProduct(Me, Ae)),
+ (Ae = h.normalize(Ae)),
+ (ze = h.dotProduct(Me, Ae)),
+ (gt = Math.abs(ze / Ze)),
+ gt <= 1 + P && gt >= 1)
+ )
+ break;
+ Ze = ze;
+ }
+ for (var Je = 0; Je < C; Je++) Me[Je] = Ae[Je];
+ (E = h.multCons(Ge, Math.sqrt(Math.abs(we)))),
+ (_ = h.multCons(Me, Math.sqrt(Math.abs(Te))));
+ }, 'powerIteration');
+ u.connectComponents(g, y, u.getTopMostNodes(v), b),
+ x.forEach(function (ae) {
+ u.connectComponents(
+ g,
+ y,
+ u.getTopMostNodes(ae.descendants().intersection(y)),
+ b
+ );
+ });
+ for (var j = 0, J = 0; J < v.length; J++) v[J].isParent() || w.set(v[J].id(), j++);
+ var Z = !0,
+ H = !1,
+ q = void 0;
+ try {
+ for (
+ var K = b.keys()[Symbol.iterator](), se;
+ !(Z = (se = K.next()).done);
+ Z = !0
+ ) {
+ var ce = se.value;
+ w.set(ce, j++);
+ }
+ } catch (ae) {
+ (H = !0), (q = ae);
+ } finally {
+ try {
+ !Z && K.return && K.return();
+ } finally {
+ if (H) throw q;
+ }
+ }
+ for (var ue = 0; ue < w.size; ue++) T[ue] = [];
+ x.forEach(function (ae) {
+ for (
+ var we = ae.children().intersection(y);
+ we.nodes(':childless').length == 0;
+
+ )
+ we = we.nodes()[0].children().intersection(y);
+ var Te = 0,
+ Ce = we.nodes(':childless')[0].connectedEdges().length;
+ we.nodes(':childless').forEach(function (Ae, Ge) {
+ Ae.connectedEdges().length < Ce &&
+ ((Ce = Ae.connectedEdges().length), (Te = Ge));
+ }),
+ S.set(ae.id(), we.nodes(':childless')[Te].id());
+ }),
+ v.forEach(function (ae) {
+ var we = void 0;
+ ae.isParent() ? (we = w.get(S.get(ae.id()))) : (we = w.get(ae.id())),
+ ae
+ .neighborhood()
+ .nodes()
+ .forEach(function (Te) {
+ y.intersection(ae.edgesWith(Te)).length > 0 &&
+ (Te.isParent()
+ ? T[we].push(S.get(Te.id()))
+ : T[we].push(Te.id()));
+ });
+ });
+ var te = o(function (we) {
+ var Te = w.get(we),
+ Ce = void 0;
+ b.get(we).forEach(function (Ae) {
+ g.getElementById(Ae).isParent() ? (Ce = S.get(Ae)) : (Ce = Ae),
+ T[Te].push(Ce),
+ T[w.get(Ce)].push(we);
+ });
+ }, '_loop'),
+ De = !0,
+ oe = !1,
+ ke = void 0;
+ try {
+ for (
+ var Ie = b.keys()[Symbol.iterator](), Se;
+ !(De = (Se = Ie.next()).done);
+ De = !0
+ ) {
+ var Ue = Se.value;
+ te(Ue);
+ }
+ } catch (ae) {
+ (oe = !0), (ke = ae);
+ } finally {
+ try {
+ !De && Ie.return && Ie.return();
+ } finally {
+ if (oe) throw ke;
+ }
+ }
+ C = w.size;
+ var Pe = void 0;
+ if (C > 2) {
+ $ = C < m.sampleSize ? C : m.sampleSize;
+ for (var _e = 0; _e < C; _e++) M[_e] = [];
+ for (var me = 0; me < $; me++) k[me] = [];
+ return (
+ m.quality == 'draft' || m.step == 'all'
+ ? (Q(F), X(), ie(), (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ }))
+ : (w.forEach(function (ae, we) {
+ E.push(g.getElementById(we).position('x')),
+ _.push(g.getElementById(we).position('y'));
+ }),
+ (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ })),
+ Pe
+ );
+ } else {
+ var W = w.keys(),
+ fe = g.getElementById(W.next().value),
+ ge = fe.position(),
+ re = fe.outerWidth();
+ if ((E.push(ge.x), _.push(ge.y), C == 2)) {
+ var he = g.getElementById(W.next().value),
+ ne = he.outerWidth();
+ E.push(ge.x + re / 2 + ne / 2 + m.idealEdgeLength), _.push(ge.y);
+ }
+ return (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ }), Pe;
+ }
+ }, 'spectralLayout');
+ a.exports = { spectralLayout: d };
+ },
+ 579: (a, s, l) => {
+ var u = l(212),
+ h = o(function (d) {
+ d && d('layout', 'fcose', u);
+ }, 'register');
+ typeof cytoscape < 'u' && h(cytoscape), (a.exports = h);
+ },
+ 140: (a) => {
+ a.exports = t;
+ }
+ },
+ r = {};
+ function n(a) {
+ var s = r[a];
+ if (s !== void 0) return s.exports;
+ var l = (r[a] = { exports: {} });
+ return e[a](l, l.exports, n), l.exports;
+ }
+ o(n, '__webpack_require__');
+ var i = n(579);
+ return i;
+ })();
+ });
+ });
+ var T1,
+ J0,
+ eF = R(() => {
+ 'use strict';
+ V1();
+ (T1 = o(
+ (t) => `${t}`,
+ 'wrapIcon'
+ )),
+ (J0 = {
+ prefix: 'mermaid-architecture',
+ height: 80,
+ width: 80,
+ icons: {
+ database: {
+ body: T1(
+ ''
+ )
+ },
+ server: {
+ body: T1(
+ ''
+ )
+ },
+ disk: {
+ body: T1(
+ ''
+ )
+ },
+ internet: {
+ body: T1(
+ ''
+ )
+ },
+ cloud: {
+ body: T1(
+ ''
+ )
+ },
+ unknown: FC,
+ blank: { body: T1('') }
+ }
+ });
+ });
+ var j1e,
+ K1e,
+ Q1e,
+ Z1e,
+ J1e = R(() => {
+ 'use strict';
+ V1();
+ _t();
+ Al();
+ gb();
+ eF();
+ cC();
+ (j1e = o(async function (t, e) {
+ let r = Ci('padding'),
+ n = Ci('iconSize'),
+ i = n / 2,
+ a = n / 6,
+ s = a / 2;
+ await Promise.all(
+ e.edges().map(async (l) => {
+ let {
+ source: u,
+ sourceDir: h,
+ sourceArrow: f,
+ sourceGroup: d,
+ target: p,
+ targetDir: m,
+ targetArrow: g,
+ targetGroup: y,
+ label: v
+ } = lC(l),
+ { x, y: b } = l[0].sourceEndpoint(),
+ { x: w, y: S } = l[0].midpoint(),
+ { x: T, y: E } = l[0].targetEndpoint(),
+ _ = r + 4;
+ if (
+ (d && (cs(h) ? (x += h === 'L' ? -_ : _) : (b += h === 'T' ? -_ : _ + 18)),
+ y && (cs(m) ? (T += m === 'L' ? -_ : _) : (E += m === 'T' ? -_ : _ + 18)),
+ !d &&
+ Z0.getNode(u)?.type === 'junction' &&
+ (cs(h) ? (x += h === 'L' ? i : -i) : (b += h === 'T' ? i : -i)),
+ !y &&
+ Z0.getNode(p)?.type === 'junction' &&
+ (cs(m) ? (T += m === 'L' ? i : -i) : (E += m === 'T' ? i : -i)),
+ l[0]._private.rscratch)
+ ) {
+ let A = t.insert('g');
+ if (
+ (A.insert('path')
+ .attr('d', `M ${x},${b} L ${w},${S} L${T},${E} `)
+ .attr('class', 'edge'),
+ f)
+ ) {
+ let L = cs(h) ? pb[h](x, a) : x - s,
+ M = Wc(h) ? pb[h](b, a) : b - s;
+ A.insert('polygon')
+ .attr('points', qB[h](a))
+ .attr('transform', `translate(${L},${M})`)
+ .attr('class', 'arrow');
+ }
+ if (g) {
+ let L = cs(m) ? pb[m](T, a) : T - s,
+ M = Wc(m) ? pb[m](E, a) : E - s;
+ A.insert('polygon')
+ .attr('points', qB[m](a))
+ .attr('transform', `translate(${L},${M})`)
+ .attr('class', 'arrow');
+ }
+ if (v) {
+ let L = oC(h, m) ? 'XY' : cs(h) ? 'X' : 'Y',
+ M = 0;
+ L === 'X'
+ ? (M = Math.abs(x - T))
+ : L === 'Y'
+ ? (M = Math.abs(b - E) / 1.5)
+ : (M = Math.abs(x - T) / 2);
+ let N = A.append('g');
+ if (
+ (await ta(
+ N,
+ v,
+ {
+ useHtmlLabels: !1,
+ width: M,
+ classes: 'architecture-service-label'
+ },
+ de()
+ ),
+ N.attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle'),
+ L === 'X')
+ )
+ N.attr('transform', 'translate(' + w + ', ' + S + ')');
+ else if (L === 'Y') N.attr('transform', 'translate(' + w + ', ' + S + ') rotate(-90)');
+ else if (L === 'XY') {
+ let k = mb(h, m);
+ if (k && F1e(k)) {
+ let I = N.node().getBoundingClientRect(),
+ [C, O] = G1e(k);
+ N.attr('dominant-baseline', 'auto').attr(
+ 'transform',
+ `rotate(${-1 * C * O * 45})`
+ );
+ let D = N.node().getBoundingClientRect();
+ N.attr(
+ 'transform',
+ `
+ translate(${w}, ${S - I.height / 2})
+ translate(${(C * D.width) / 2}, ${(O * D.height) / 2})
+ rotate(${-1 * C * O * 45}, 0, ${I.height / 2})
+ `
+ );
+ }
+ }
+ }
+ }
+ })
+ );
+ }, 'drawEdges')),
+ (K1e = o(async function (t, e) {
+ let n = Ci('padding') * 0.75,
+ i = Ci('fontSize'),
+ s = Ci('iconSize') / 2;
+ await Promise.all(
+ e.nodes().map(async (l) => {
+ let u = If(l);
+ if (u.type === 'group') {
+ let { h, w: f, x1: d, y1: p } = l.boundingBox();
+ t.append('rect')
+ .attr('x', d + s)
+ .attr('y', p + s)
+ .attr('width', f)
+ .attr('height', h)
+ .attr('class', 'node-bkg');
+ let m = t.append('g'),
+ g = d,
+ y = p;
+ if (u.icon) {
+ let v = m.append('g');
+ v.html(
+ `${await zb(u.icon, { height: n, width: n, fallbackPrefix: J0.prefix })}`
+ ),
+ v.attr('transform', 'translate(' + (g + s + 1) + ', ' + (y + s + 1) + ')'),
+ (g += n),
+ (y += i / 2 - 1 - 2);
+ }
+ if (u.label) {
+ let v = m.append('g');
+ await ta(
+ v,
+ u.label,
+ {
+ useHtmlLabels: !1,
+ width: f,
+ classes: 'architecture-service-label'
+ },
+ de()
+ ),
+ v
+ .attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'start')
+ .attr('text-anchor', 'start'),
+ v.attr('transform', 'translate(' + (g + s + 4) + ', ' + (y + s + 2) + ')');
+ }
+ }
+ })
+ );
+ }, 'drawGroups')),
+ (Q1e = o(async function (t, e, r) {
+ for (let n of r) {
+ let i = e.append('g'),
+ a = Ci('iconSize');
+ if (n.title) {
+ let h = i.append('g');
+ await ta(
+ h,
+ n.title,
+ {
+ useHtmlLabels: !1,
+ width: a * 1.5,
+ classes: 'architecture-service-label'
+ },
+ de()
+ ),
+ h
+ .attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle'),
+ h.attr('transform', 'translate(' + a / 2 + ', ' + a + ')');
+ }
+ let s = i.append('g');
+ if (n.icon)
+ s.html(`${await zb(n.icon, { height: a, width: a, fallbackPrefix: J0.prefix })}`);
+ else if (n.iconText) {
+ s.html(`${await zb('blank', { height: a, width: a, fallbackPrefix: J0.prefix })}`);
+ let d = s
+ .append('g')
+ .append('foreignObject')
+ .attr('width', a)
+ .attr('height', a)
+ .append('div')
+ .attr('class', 'node-icon-text')
+ .attr('style', `height: ${a}px;`)
+ .append('div')
+ .html(n.iconText),
+ p =
+ parseInt(
+ window
+ .getComputedStyle(d.node(), null)
+ .getPropertyValue('font-size')
+ .replace(/\D/g, '')
+ ) ?? 16;
+ d.attr('style', `-webkit-line-clamp: ${Math.floor((a - 2) / p)};`);
+ } else
+ s.append('path')
+ .attr('class', 'node-bkg')
+ .attr('id', 'node-' + n.id)
+ .attr('d', `M0 ${a} v${-a} q0,-5 5,-5 h${a} q5,0 5,5 v${a} H0 Z`);
+ i.attr('class', 'architecture-service');
+ let { width: l, height: u } = i._groups[0][0].getBBox();
+ (n.width = l), (n.height = u), t.setElementForId(n.id, i);
+ }
+ return 0;
+ }, 'drawServices')),
+ (Z1e = o(function (t, e, r) {
+ r.forEach((n) => {
+ let i = e.append('g'),
+ a = Ci('iconSize');
+ i
+ .append('g')
+ .append('rect')
+ .attr('id', 'node-' + n.id)
+ .attr('fill-opacity', '0')
+ .attr('width', a)
+ .attr('height', a),
+ i.attr('class', 'architecture-junction');
+ let { width: l, height: u } = i._groups[0][0].getBBox();
+ (i.width = l), (i.height = u), t.setElementForId(n.id, i);
+ });
+ }, 'drawJunctions'));
+ });
+ function iet(t, e) {
+ t.forEach((r) => {
+ e.add({
+ group: 'nodes',
+ data: {
+ type: 'service',
+ id: r.id,
+ icon: r.icon,
+ label: r.title,
+ parent: r.in,
+ width: Ci('iconSize'),
+ height: Ci('iconSize')
+ },
+ classes: 'node-service'
+ });
+ });
+ }
+ function aet(t, e) {
+ t.forEach((r) => {
+ e.add({
+ group: 'nodes',
+ data: {
+ type: 'junction',
+ id: r.id,
+ parent: r.in,
+ width: Ci('iconSize'),
+ height: Ci('iconSize')
+ },
+ classes: 'node-junction'
+ });
+ });
+ }
+ function set(t, e) {
+ e.nodes().map((r) => {
+ let n = If(r);
+ if (n.type === 'group') return;
+ (n.x = r.position().x),
+ (n.y = r.position().y),
+ t.getElementById(n.id).attr('transform', 'translate(' + (n.x || 0) + ',' + (n.y || 0) + ')');
+ });
+ }
+ function oet(t, e) {
+ t.forEach((r) => {
+ e.add({
+ group: 'nodes',
+ data: {
+ type: 'group',
+ id: r.id,
+ icon: r.icon,
+ label: r.title,
+ parent: r.in
+ },
+ classes: 'node-group'
+ });
+ });
+ }
+ function cet(t, e) {
+ t.forEach((r) => {
+ let {
+ lhsId: n,
+ rhsId: i,
+ lhsInto: a,
+ lhsGroup: s,
+ rhsInto: l,
+ lhsDir: u,
+ rhsDir: h,
+ rhsGroup: f,
+ title: d
+ } = r,
+ p = oC(r.lhsDir, r.rhsDir) ? 'segments' : 'straight',
+ m = {
+ id: `${n}-${i}`,
+ label: d,
+ source: n,
+ sourceDir: u,
+ sourceArrow: a,
+ sourceGroup: s,
+ sourceEndpoint: u === 'L' ? '0 50%' : u === 'R' ? '100% 50%' : u === 'T' ? '50% 0' : '50% 100%',
+ target: i,
+ targetDir: h,
+ targetArrow: l,
+ targetGroup: f,
+ targetEndpoint: h === 'L' ? '0 50%' : h === 'R' ? '100% 50%' : h === 'T' ? '50% 0' : '50% 100%'
+ };
+ e.add({ group: 'edges', data: m, classes: p });
+ });
+ }
+ function uet(t) {
+ let e = t.map((i) => {
+ let a = {},
+ s = {};
+ return (
+ Object.entries(i).forEach(([l, [u, h]]) => {
+ a[h] || (a[h] = []), s[u] || (s[u] = []), a[h].push(l), s[u].push(l);
+ }),
+ {
+ horiz: Object.values(a).filter((l) => l.length > 1),
+ vert: Object.values(s).filter((l) => l.length > 1)
+ }
+ );
+ }),
+ [r, n] = e.reduce(
+ ([i, a], { horiz: s, vert: l }) => [
+ [...i, ...s],
+ [...a, ...l]
+ ],
+ [[], []]
+ );
+ return { horizontal: r, vertical: n };
+ }
+ function het(t) {
+ let e = [],
+ r = o((i) => `${i[0]},${i[1]}`, 'posToStr'),
+ n = o((i) => i.split(',').map((a) => parseInt(a)), 'strToPos');
+ return (
+ t.forEach((i) => {
+ let a = Object.fromEntries(Object.entries(i).map(([h, f]) => [r(f), h])),
+ s = [r([0, 0])],
+ l = {},
+ u = { L: [-1, 0], R: [1, 0], T: [0, 1], B: [0, -1] };
+ for (; s.length > 0; ) {
+ let h = s.shift();
+ if (h) {
+ l[h] = 1;
+ let f = a[h];
+ if (f) {
+ let d = n(h);
+ Object.entries(u).forEach(([p, m]) => {
+ let g = r([d[0] + m[0], d[1] + m[1]]),
+ y = a[g];
+ y &&
+ !l[g] &&
+ (s.push(g),
+ e.push({
+ [WB[p]]: y,
+ [WB[B1e(p)]]: f,
+ gap: 1.5 * Ci('iconSize')
+ }));
+ });
+ }
+ }
+ }
+ }),
+ e
+ );
+ }
+ function fet(t, e, r, n, { spatialMaps: i }) {
+ return new Promise((a) => {
+ let s = $e('body').append('div').attr('id', 'cy').attr('style', 'display:none'),
+ l = rl({
+ container: document.getElementById('cy'),
+ style: [
+ {
+ selector: 'edge',
+ style: {
+ 'curve-style': 'straight',
+ label: 'data(label)',
+ 'source-endpoint': 'data(sourceEndpoint)',
+ 'target-endpoint': 'data(targetEndpoint)'
+ }
+ },
+ {
+ selector: 'edge.segments',
+ style: {
+ 'curve-style': 'segments',
+ 'segment-weights': '0',
+ 'segment-distances': [0.5],
+ 'edge-distances': 'endpoints',
+ 'source-endpoint': 'data(sourceEndpoint)',
+ 'target-endpoint': 'data(targetEndpoint)'
+ }
+ },
+ {
+ selector: 'node',
+ style: { 'compound-sizing-wrt-labels': 'include' }
+ },
+ {
+ selector: 'node[label]',
+ style: {
+ 'text-valign': 'bottom',
+ 'text-halign': 'center',
+ 'font-size': `${Ci('fontSize')}px`
+ }
+ },
+ {
+ selector: '.node-service',
+ style: {
+ label: 'data(label)',
+ width: 'data(width)',
+ height: 'data(height)'
+ }
+ },
+ {
+ selector: '.node-junction',
+ style: { width: 'data(width)', height: 'data(height)' }
+ },
+ {
+ selector: '.node-group',
+ style: { padding: `${Ci('padding')}px` }
+ }
+ ]
+ });
+ s.remove(), oet(r, l), iet(t, l), aet(e, l), cet(n, l);
+ let u = uet(i),
+ h = het(i),
+ f = l.layout({
+ name: 'fcose',
+ quality: 'proof',
+ styleEnabled: !1,
+ animate: !1,
+ nodeDimensionsIncludeLabels: !1,
+ idealEdgeLength(d) {
+ let [p, m] = d.connectedNodes(),
+ { parent: g } = If(p),
+ { parent: y } = If(m);
+ return g === y ? 1.5 * Ci('iconSize') : 0.5 * Ci('iconSize');
+ },
+ edgeElasticity(d) {
+ let [p, m] = d.connectedNodes(),
+ { parent: g } = If(p),
+ { parent: y } = If(m);
+ return g === y ? 0.45 : 0.001;
+ },
+ alignmentConstraint: u,
+ relativePlacementConstraint: h
+ });
+ f.one('layoutstop', () => {
+ function d(p, m, g, y) {
+ let v,
+ x,
+ { x: b, y: w } = p,
+ { x: S, y: T } = m;
+ (x = (y - w + ((b - g) * (w - T)) / (b - S)) / Math.sqrt(1 + Math.pow((w - T) / (b - S), 2))),
+ (v = Math.sqrt(Math.pow(y - w, 2) + Math.pow(g - b, 2) - Math.pow(x, 2)));
+ let E = Math.sqrt(Math.pow(S - b, 2) + Math.pow(T - w, 2));
+ v = v / E;
+ let _ = (S - b) * (y - w) - (T - w) * (g - b);
+ switch (!0) {
+ case _ >= 0:
+ _ = 1;
+ break;
+ case _ < 0:
+ _ = -1;
+ break;
+ }
+ let A = (S - b) * (g - b) + (T - w) * (y - w);
+ switch (!0) {
+ case A >= 0:
+ A = 1;
+ break;
+ case A < 0:
+ A = -1;
+ break;
+ }
+ return (x = Math.abs(x) * _), (v = v * A), { distances: x, weights: v };
+ }
+ o(d, 'getSegmentWeights'), l.startBatch();
+ for (let p of Object.values(l.edges()))
+ if (p.data?.()) {
+ let { x: m, y: g } = p.source().position(),
+ { x: y, y: v } = p.target().position();
+ if (m !== y && g !== v) {
+ let x = p.sourceEndpoint(),
+ b = p.targetEndpoint(),
+ { sourceDir: w } = lC(p),
+ [S, T] = Wc(w) ? [x.x, b.y] : [b.x, x.y],
+ { weights: E, distances: _ } = d(x, b, S, T);
+ p.style('segment-distances', _), p.style('segment-weights', E);
+ }
+ }
+ l.endBatch(), f.run();
+ }),
+ f.run(),
+ l.ready((d) => {
+ V.info('Ready', d), a(l);
+ });
+ });
+ }
+ var eye,
+ det,
+ tye,
+ rye = R(() => {
+ 'use strict';
+ V1();
+ vB();
+ eye = Xi(X1e(), 1);
+ Zt();
+ ut();
+ pf();
+ Yn();
+ gb();
+ eF();
+ cC();
+ J1e();
+ Fb([{ name: J0.prefix, icons: J0 }]);
+ rl.use(eye.default);
+ o(iet, 'addServices');
+ o(aet, 'addJunctions');
+ o(set, 'positionNodes');
+ o(oet, 'addGroups');
+ o(cet, 'addEdges');
+ o(uet, 'getAlignments');
+ o(het, 'getRelativeConstraints');
+ o(fet, 'layoutArchitecture');
+ (det = o(async (t, e, r, n) => {
+ let i = n.db,
+ a = i.getServices(),
+ s = i.getJunctions(),
+ l = i.getGroups(),
+ u = i.getEdges(),
+ h = i.getDataStructures(),
+ f = Ps(e),
+ d = f.append('g');
+ d.attr('class', 'architecture-edges');
+ let p = f.append('g');
+ p.attr('class', 'architecture-services');
+ let m = f.append('g');
+ m.attr('class', 'architecture-groups'), await Q1e(i, p, a), Z1e(i, p, s);
+ let g = await fet(a, s, l, u, h);
+ await j1e(d, g), await K1e(m, g), set(i, g), Lo(void 0, f, Ci('padding'), Ci('useMaxWidth'));
+ }, 'draw')),
+ (tye = { draw: det });
+ });
+ var nye = {};
+ hr(nye, { diagram: () => pet });
+ var pet,
+ iye = R(() => {
+ 'use strict';
+ Y1e();
+ gb();
+ q1e();
+ rye();
+ pet = { parser: H1e, db: Z0, renderer: tye, styles: W1e };
+ });
+ var knt = {};
+ hr(knt, { default: () => Tnt });
+ V1();
+ zC();
+ Hf();
+ var BX = 'c4',
+ mCe = o((t) => /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t), 'detector'),
+ gCe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (PX(), OX));
+ return { id: BX, diagram: t };
+ }, 'loader'),
+ yCe = { id: BX, detector: mCe, loader: gCe },
+ FX = yCe;
+ var Zre = 'flowchart',
+ SNe = o(
+ (t, e) =>
+ e?.flowchart?.defaultRenderer === 'dagre-wrapper' || e?.flowchart?.defaultRenderer === 'elk'
+ ? !1
+ : /^\s*graph/.test(t),
+ 'detector'
+ ),
+ ANe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (uT(), cT));
+ return { id: Zre, diagram: t };
+ }, 'loader'),
+ _Ne = { id: Zre, detector: SNe, loader: ANe },
+ Jre = _Ne;
+ var ene = 'flowchart-v2',
+ LNe = o(
+ (t, e) =>
+ e?.flowchart?.defaultRenderer === 'dagre-d3'
+ ? !1
+ : (e?.flowchart?.defaultRenderer === 'elk' && (e.layout = 'elk'),
+ /^\s*graph/.test(t) && e?.flowchart?.defaultRenderer === 'dagre-wrapper'
+ ? !0
+ : /^\s*flowchart/.test(t)),
+ 'detector'
+ ),
+ DNe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (uT(), cT));
+ return { id: ene, diagram: t };
+ }, 'loader'),
+ RNe = { id: ene, detector: LNe, loader: DNe },
+ tne = RNe;
+ var Dne = 'er',
+ sMe = o((t) => /^\s*erDiagram/.test(t), 'detector'),
+ oMe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Lne(), _ne));
+ return { id: Dne, diagram: t };
+ }, 'loader'),
+ lMe = { id: Dne, detector: sMe, loader: oMe },
+ Rne = lMe;
+ var $le = 'gitGraph',
+ NBe = o((t) => /^\s*gitGraph/.test(t), 'detector'),
+ MBe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Gle(), zle));
+ return { id: $le, diagram: t };
+ }, 'loader'),
+ IBe = { id: $le, detector: NBe, loader: MBe },
+ Vle = IBe;
+ var vce = 'gantt',
+ wFe = o((t) => /^\s*gantt/.test(t), 'detector'),
+ TFe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (yce(), gce));
+ return { id: vce, diagram: t };
+ }, 'loader'),
+ kFe = { id: vce, detector: wFe, loader: TFe },
+ xce = kFe;
+ var _ce = 'info',
+ LFe = o((t) => /^\s*info/.test(t), 'detector'),
+ DFe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Ace(), Sce));
+ return { id: _ce, diagram: t };
+ }, 'loader'),
+ Lce = { id: _ce, detector: LFe, loader: DFe };
+ var zce = 'pie',
+ UFe = o((t) => /^\s*pie/.test(t), 'detector'),
+ HFe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Fce(), Bce));
+ return { id: zce, diagram: t };
+ }, 'loader'),
+ Gce = { id: zce, detector: UFe, loader: HFe };
+ var Jce = 'quadrantChart',
+ lze = o((t) => /^\s*quadrantChart/.test(t), 'detector'),
+ cze = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Zce(), Qce));
+ return { id: Jce, diagram: t };
+ }, 'loader'),
+ uze = { id: Jce, detector: lze, loader: cze },
+ eue = uze;
+ var Aue = 'xychart',
+ Sze = o((t) => /^\s*xychart-beta/.test(t), 'detector'),
+ Aze = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Sue(), Cue));
+ return { id: Aue, diagram: t };
+ }, 'loader'),
+ _ze = { id: Aue, detector: Sze, loader: Aze },
+ _ue = _ze;
+ var Hue = 'requirement',
+ rGe = o((t) => /^\s*requirement(Diagram)?/.test(t), 'detector'),
+ nGe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Uue(), Vue));
+ return { id: Hue, diagram: t };
+ }, 'loader'),
+ iGe = { id: Hue, detector: rGe, loader: nGe },
+ Yue = iGe;
+ var vhe = 'sequence',
+ o$e = o((t) => /^\s*sequenceDiagram/.test(t), 'detector'),
+ l$e = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (yhe(), ghe));
+ return { id: vhe, diagram: t };
+ }, 'loader'),
+ c$e = { id: vhe, detector: o$e, loader: l$e },
+ xhe = c$e;
+ var Ihe = 'class',
+ U$e = o(
+ (t, e) => (e?.class?.defaultRenderer === 'dagre-wrapper' ? !1 : /^\s*classDiagram/.test(t)),
+ 'detector'
+ ),
+ H$e = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Mhe(), Nhe));
+ return { id: Ihe, diagram: t };
+ }, 'loader'),
+ Y$e = { id: Ihe, detector: U$e, loader: H$e },
+ Ohe = Y$e;
+ var cfe = 'classDiagram',
+ vVe = o(
+ (t, e) =>
+ /^\s*classDiagram/.test(t) && e?.class?.defaultRenderer === 'dagre-wrapper'
+ ? !0
+ : /^\s*classDiagram-v2/.test(t),
+ 'detector'
+ ),
+ xVe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (lfe(), ofe));
+ return { id: cfe, diagram: t };
+ }, 'loader'),
+ bVe = { id: cfe, detector: vVe, loader: xVe },
+ ufe = bVe;
+ var tde = 'state',
+ mUe = o(
+ (t, e) => (e?.state?.defaultRenderer === 'dagre-wrapper' ? !1 : /^\s*stateDiagram/.test(t)),
+ 'detector'
+ ),
+ gUe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (ede(), Jfe));
+ return { id: tde, diagram: t };
+ }, 'loader'),
+ yUe = { id: tde, detector: mUe, loader: gUe },
+ rde = yUe;
+ var ade = 'stateDiagram',
+ xUe = o(
+ (t, e) =>
+ !!(
+ /^\s*stateDiagram-v2/.test(t) ||
+ (/^\s*stateDiagram/.test(t) && e?.state?.defaultRenderer === 'dagre-wrapper')
+ ),
+ 'detector'
+ ),
+ bUe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (ide(), nde));
+ return { id: ade, diagram: t };
+ }, 'loader'),
+ wUe = { id: ade, detector: xUe, loader: bUe },
+ sde = wUe;
+ var Tde = 'journey',
+ VUe = o((t) => /^\s*journey/.test(t), 'detector'),
+ UUe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (wde(), bde));
+ return { id: Tde, diagram: t };
+ }, 'loader'),
+ HUe = { id: Tde, detector: VUe, loader: UUe },
+ kde = HUe;
+ ut();
+ pf();
+ Yn();
+ var YUe = o((t, e, r) => {
+ V.debug(`rendering svg for syntax error
+`);
+ let n = Ps(e),
+ i = n.append('g');
+ n.attr('viewBox', '0 0 2412 512'),
+ Sr(n, 100, 512, !0),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z'
+ ),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z'
+ ),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z'
+ ),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z'
+ ),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z'
+ ),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z'
+ ),
+ i
+ .append('text')
+ .attr('class', 'error-text')
+ .attr('x', 1440)
+ .attr('y', 250)
+ .attr('font-size', '150px')
+ .style('text-anchor', 'middle')
+ .text('Syntax error in text'),
+ i
+ .append('text')
+ .attr('class', 'error-text')
+ .attr('x', 1250)
+ .attr('y', 400)
+ .attr('font-size', '100px')
+ .style('text-anchor', 'middle')
+ .text(`mermaid version ${r}`);
+ }, 'draw'),
+ fP = { draw: YUe },
+ Ede = fP;
+ var WUe = { db: {}, renderer: fP, parser: { parse: o(() => {}, 'parse') } },
+ Cde = WUe;
+ var Sde = 'flowchart-elk',
+ qUe = o(
+ (t, e = {}) =>
+ /^\s*flowchart-elk/.test(t) ||
+ (/^\s*flowchart|graph/.test(t) && e?.flowchart?.defaultRenderer === 'elk')
+ ? ((e.layout = 'elk'), !0)
+ : !1,
+ 'detector'
+ ),
+ XUe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (uT(), cT));
+ return { id: Sde, diagram: t };
+ }, 'loader'),
+ jUe = { id: Sde, detector: qUe, loader: XUe },
+ Ade = jUe;
+ var Jde = 'timeline',
+ pHe = o((t) => /^\s*timeline/.test(t), 'detector'),
+ mHe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Zde(), Qde));
+ return { id: Jde, diagram: t };
+ }, 'loader'),
+ gHe = { id: Jde, detector: pHe, loader: mHe },
+ e0e = gHe;
+ var vge = 'mindmap',
+ TZe = o((t) => /^\s*mindmap/.test(t), 'detector'),
+ kZe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (yge(), gge));
+ return { id: vge, diagram: t };
+ }, 'loader'),
+ EZe = { id: vge, detector: TZe, loader: kZe },
+ xge = EZe;
+ var Zge = 'sankey',
+ WZe = o((t) => /^\s*sankey-beta/.test(t), 'detector'),
+ qZe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Qge(), Kge));
+ return { id: Zge, diagram: t };
+ }, 'loader'),
+ XZe = { id: Zge, detector: WZe, loader: qZe },
+ Jge = XZe;
+ var c1e = 'packet',
+ oJe = o((t) => /^\s*packet-beta/.test(t), 'detector'),
+ lJe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (l1e(), o1e));
+ return { id: c1e, diagram: t };
+ }, 'loader'),
+ u1e = { id: c1e, detector: oJe, loader: lJe };
+ var O1e = 'block',
+ FJe = o((t) => /^\s*block-beta/.test(t), 'detector'),
+ zJe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (I1e(), M1e));
+ return { id: O1e, diagram: t };
+ }, 'loader'),
+ GJe = { id: O1e, detector: FJe, loader: zJe },
+ P1e = GJe;
+ var aye = 'architecture',
+ met = o((t) => /^\s*architecture/.test(t), 'detector'),
+ get = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (iye(), nye));
+ return { id: aye, diagram: t };
+ }, 'loader'),
+ yet = { id: aye, detector: met, loader: get },
+ sye = yet;
+ Hf();
+ _t();
+ var oye = !1,
+ k1 = o(() => {
+ oye ||
+ ((oye = !0),
+ Jf('error', Cde, (t) => t.toLowerCase().trim() === 'error'),
+ Jf(
+ '---',
+ {
+ db: { clear: o(() => {}, 'clear') },
+ styles: {},
+ renderer: { draw: o(() => {}, 'draw') },
+ parser: {
+ parse: o(() => {
+ throw new Error(
+ "Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks"
+ );
+ }, 'parse')
+ },
+ init: o(() => null, 'init')
+ },
+ (t) => t.toLowerCase().trimStart().startsWith('---')
+ ),
+ Ub(
+ FX,
+ ufe,
+ Ohe,
+ Rne,
+ xce,
+ Lce,
+ Gce,
+ Yue,
+ xhe,
+ Ade,
+ tne,
+ Jre,
+ xge,
+ e0e,
+ Vle,
+ sde,
+ rde,
+ kde,
+ eue,
+ Jge,
+ u1e,
+ _ue,
+ P1e,
+ sye
+ ));
+ }, 'addDiagrams');
+ ut();
+ Hf();
+ _t();
+ var lye = o(async () => {
+ V.debug('Loading registered diagrams');
+ let e = (
+ await Promise.allSettled(
+ Object.entries(Uf).map(async ([r, { detector: n, loader: i }]) => {
+ if (i)
+ try {
+ cy(r);
+ } catch {
+ try {
+ let { diagram: a, id: s } = await i();
+ Jf(s, a, n);
+ } catch (a) {
+ throw (
+ (V.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),
+ delete Uf[r],
+ a)
+ );
+ }
+ }
+ })
+ )
+ ).filter((r) => r.status === 'rejected');
+ if (e.length > 0) {
+ V.error(`Failed to load ${e.length} external diagrams`);
+ for (let r of e) V.error(r);
+ throw new Error(`Failed to load ${e.length} external diagrams`);
+ }
+ }, 'loadRegisteredDiagrams');
+ ut();
+ Zt();
+ var uC = 'comm',
+ hC = 'rule',
+ fC = 'decl';
+ var cye = '@import';
+ var uye = '@keyframes';
+ var hye = '@layer';
+ var tF = Math.abs,
+ bb = String.fromCharCode;
+ function dC(t) {
+ return t.trim();
+ }
+ o(dC, 'trim');
+ function wb(t, e, r) {
+ return t.replace(e, r);
+ }
+ o(wb, 'replace');
+ function fye(t, e, r) {
+ return t.indexOf(e, r);
+ }
+ o(fye, 'indexof');
+ function ep(t, e) {
+ return t.charCodeAt(e) | 0;
+ }
+ o(ep, 'charat');
+ function Of(t, e, r) {
+ return t.slice(e, r);
+ }
+ o(Of, 'substr');
+ function wo(t) {
+ return t.length;
+ }
+ o(wo, 'strlen');
+ function dye(t) {
+ return t.length;
+ }
+ o(dye, 'sizeof');
+ function E1(t, e) {
+ return e.push(t), t;
+ }
+ o(E1, 'append');
+ var pC = 1,
+ C1 = 1,
+ pye = 0,
+ nl = 0,
+ Si = 0,
+ A1 = '';
+ function mC(t, e, r, n, i, a, s, l) {
+ return {
+ value: t,
+ root: e,
+ parent: r,
+ type: n,
+ props: i,
+ children: a,
+ line: pC,
+ column: C1,
+ length: s,
+ return: '',
+ siblings: l
+ };
+ }
+ o(mC, 'node');
+ function mye() {
+ return Si;
+ }
+ o(mye, 'char');
+ function gye() {
+ return (Si = nl > 0 ? ep(A1, --nl) : 0), C1--, Si === 10 && ((C1 = 1), pC--), Si;
+ }
+ o(gye, 'prev');
+ function il() {
+ return (Si = nl < pye ? ep(A1, nl++) : 0), C1++, Si === 10 && ((C1 = 1), pC++), Si;
+ }
+ o(il, 'next');
+ function th() {
+ return ep(A1, nl);
+ }
+ o(th, 'peek');
+ function Tb() {
+ return nl;
+ }
+ o(Tb, 'caret');
+ function gC(t, e) {
+ return Of(A1, t, e);
+ }
+ o(gC, 'slice');
+ function S1(t) {
+ switch (t) {
+ case 0:
+ case 9:
+ case 10:
+ case 13:
+ case 32:
+ return 5;
+ case 33:
+ case 43:
+ case 44:
+ case 47:
+ case 62:
+ case 64:
+ case 126:
+ case 59:
+ case 123:
+ case 125:
+ return 4;
+ case 58:
+ return 3;
+ case 34:
+ case 39:
+ case 40:
+ case 91:
+ return 2;
+ case 41:
+ case 93:
+ return 1;
+ }
+ return 0;
+ }
+ o(S1, 'token');
+ function yye(t) {
+ return (pC = C1 = 1), (pye = wo((A1 = t))), (nl = 0), [];
+ }
+ o(yye, 'alloc');
+ function vye(t) {
+ return (A1 = ''), t;
+ }
+ o(vye, 'dealloc');
+ function yC(t) {
+ return dC(gC(nl - 1, rF(t === 91 ? t + 2 : t === 40 ? t + 1 : t)));
+ }
+ o(yC, 'delimit');
+ function xye(t) {
+ for (; (Si = th()) && Si < 33; ) il();
+ return S1(t) > 2 || S1(Si) > 3 ? '' : ' ';
+ }
+ o(xye, 'whitespace');
+ function bye(t, e) {
+ for (; --e && il() && !(Si < 48 || Si > 102 || (Si > 57 && Si < 65) || (Si > 70 && Si < 97)); );
+ return gC(t, Tb() + (e < 6 && th() == 32 && il() == 32));
+ }
+ o(bye, 'escaping');
+ function rF(t) {
+ for (; il(); )
+ switch (Si) {
+ case t:
+ return nl;
+ case 34:
+ case 39:
+ t !== 34 && t !== 39 && rF(Si);
+ break;
+ case 40:
+ t === 41 && rF(t);
+ break;
+ case 92:
+ il();
+ break;
+ }
+ return nl;
+ }
+ o(rF, 'delimiter');
+ function wye(t, e) {
+ for (; il() && t + Si !== 57; ) if (t + Si === 84 && th() === 47) break;
+ return '/*' + gC(e, nl - 1) + '*' + bb(t === 47 ? t : il());
+ }
+ o(wye, 'commenter');
+ function Tye(t) {
+ for (; !S1(th()); ) il();
+ return gC(t, nl);
+ }
+ o(Tye, 'identifier');
+ function Cye(t) {
+ return vye(vC('', null, null, null, [''], (t = yye(t)), 0, [0], t));
+ }
+ o(Cye, 'compile');
+ function vC(t, e, r, n, i, a, s, l, u) {
+ for (
+ var h = 0,
+ f = 0,
+ d = s,
+ p = 0,
+ m = 0,
+ g = 0,
+ y = 1,
+ v = 1,
+ x = 1,
+ b = 0,
+ w = '',
+ S = i,
+ T = a,
+ E = n,
+ _ = w;
+ v;
+
+ )
+ switch (((g = b), (b = il()))) {
+ case 40:
+ if (g != 108 && ep(_, d - 1) == 58) {
+ fye((_ += wb(yC(b), '&', '&\f')), '&\f', tF(h ? l[h - 1] : 0)) != -1 && (x = -1);
+ break;
+ }
+ case 34:
+ case 39:
+ case 91:
+ _ += yC(b);
+ break;
+ case 9:
+ case 10:
+ case 13:
+ case 32:
+ _ += xye(g);
+ break;
+ case 92:
+ _ += bye(Tb() - 1, 7);
+ continue;
+ case 47:
+ switch (th()) {
+ case 42:
+ case 47:
+ E1(vet(wye(il(), Tb()), e, r, u), u),
+ (S1(g || 1) == 5 || S1(th() || 1) == 5) &&
+ wo(_) &&
+ Of(_, -1, void 0) !== ' ' &&
+ (_ += ' ');
+ break;
+ default:
+ _ += '/';
+ }
+ break;
+ case 123 * y:
+ l[h++] = wo(_) * x;
+ case 125 * y:
+ case 59:
+ case 0:
+ switch (b) {
+ case 0:
+ case 125:
+ v = 0;
+ case 59 + f:
+ x == -1 && (_ = wb(_, /\f/g, '')),
+ m > 0 &&
+ (wo(_) - d || (y === 0 && g === 47)) &&
+ E1(
+ m > 32
+ ? Eye(_ + ';', n, r, d - 1, u)
+ : Eye(wb(_, ' ', '') + ';', n, r, d - 2, u),
+ u
+ );
+ break;
+ case 59:
+ _ += ';';
+ default:
+ if ((E1((E = kye(_, e, r, h, f, i, l, w, (S = []), (T = []), d, a)), a), b === 123))
+ if (f === 0) vC(_, e, E, E, S, a, d, l, T);
+ else
+ switch (p === 99 && ep(_, 3) === 110 ? 100 : p) {
+ case 100:
+ case 108:
+ case 109:
+ case 115:
+ vC(
+ t,
+ E,
+ E,
+ n && E1(kye(t, E, E, 0, 0, i, l, w, i, (S = []), d, T), T),
+ i,
+ T,
+ d,
+ l,
+ n ? S : T
+ );
+ break;
+ default:
+ vC(_, E, E, E, [''], T, 0, l, T);
+ }
+ }
+ (h = f = m = 0), (y = x = 1), (w = _ = ''), (d = s);
+ break;
+ case 58:
+ (d = 1 + wo(_)), (m = g);
+ default:
+ if (y < 1) {
+ if (b == 123) --y;
+ else if (b == 125 && y++ == 0 && gye() == 125) continue;
+ }
+ switch (((_ += bb(b)), b * y)) {
+ case 38:
+ x = f > 0 ? 1 : ((_ += '\f'), -1);
+ break;
+ case 44:
+ (l[h++] = (wo(_) - 1) * x), (x = 1);
+ break;
+ case 64:
+ th() === 45 && (_ += yC(il())), (p = th()), (f = d = wo((w = _ += Tye(Tb())))), b++;
+ break;
+ case 45:
+ g === 45 && wo(_) == 2 && (y = 0);
+ }
+ }
+ return a;
+ }
+ o(vC, 'parse');
+ function kye(t, e, r, n, i, a, s, l, u, h, f, d) {
+ for (var p = i - 1, m = i === 0 ? a : [''], g = dye(m), y = 0, v = 0, x = 0; y < n; ++y)
+ for (var b = 0, w = Of(t, p + 1, (p = tF((v = s[y])))), S = t; b < g; ++b)
+ (S = dC(v > 0 ? m[b] + ' ' + w : wb(w, /&\f/g, m[b]))) && (u[x++] = S);
+ return mC(t, e, r, i === 0 ? hC : l, u, h, f, d);
+ }
+ o(kye, 'ruleset');
+ function vet(t, e, r, n) {
+ return mC(t, e, r, uC, bb(mye()), Of(t, 2, -2), 0, n);
+ }
+ o(vet, 'comment');
+ function Eye(t, e, r, n, i) {
+ return mC(t, e, r, fC, Of(t, 0, n), Of(t, n + 1, -1), n, i);
+ }
+ o(Eye, 'declaration');
+ function xC(t, e) {
+ for (var r = '', n = 0; n < t.length; n++) r += e(t[n], n, t, e) || '';
+ return r;
+ }
+ o(xC, 'serialize');
+ function Sye(t, e, r, n) {
+ switch (t.type) {
+ case hye:
+ if (t.children.length) break;
+ case cye:
+ case fC:
+ return (t.return = t.return || t.value);
+ case uC:
+ return '';
+ case uye:
+ return (t.return = t.value + '{' + xC(t.children, n) + '}');
+ case hC:
+ if (!wo((t.value = t.props.join(',')))) return '';
+ }
+ return wo((r = xC(t.children, n))) ? (t.return = t.value + '{' + r + '}') : '';
+ }
+ o(Sye, 'stringify');
+ var Sve = Xi(o7(), 1);
+ Ww();
+ HI();
+ var xet = 'graphics-document document';
+ function Aye(t, e) {
+ t.attr('role', xet), e !== '' && t.attr('aria-roledescription', e);
+ }
+ o(Aye, 'setA11yDiagramInfo');
+ function _ye(t, e, r, n) {
+ if (t.insert !== void 0) {
+ if (r) {
+ let i = `chart-desc-${n}`;
+ t.attr('aria-describedby', i), t.insert('desc', ':first-child').attr('id', i).text(r);
+ }
+ if (e) {
+ let i = `chart-title-${n}`;
+ t.attr('aria-labelledby', i), t.insert('title', ':first-child').attr('id', i).text(e);
+ }
+ }
+ }
+ o(_ye, 'addSVGa11yTitleDescription');
+ cp();
+ qs();
+ qs();
+ _t();
+ Hf();
+ GC();
+ xr();
+ var _1 = class t {
+ constructor(e, r, n, i, a) {
+ this.type = e;
+ this.text = r;
+ this.db = n;
+ this.parser = i;
+ this.renderer = a;
+ }
+ static {
+ o(this, 'Diagram');
+ }
+ static async fromText(e, r = {}) {
+ let n = Or(),
+ i = lp(e, n);
+ e =
+ SX(e) +
+ `
+`;
+ try {
+ cy(i);
+ } catch {
+ let h = tz(i);
+ if (!h) throw new op(`Diagram ${i} not found.`);
+ let { id: f, diagram: d } = await h();
+ Jf(f, d);
+ }
+ let { db: a, parser: s, renderer: l, init: u } = cy(i);
+ return (
+ s.parser && (s.parser.yy = a),
+ a.clear?.(),
+ u?.(n),
+ r.title && a.setDiagramTitle?.(r.title),
+ await s.parse(e),
+ new t(i, e, a, s, l)
+ );
+ }
+ async render(e, r) {
+ await this.renderer.draw(this.text, e, r, this);
+ }
+ getParser() {
+ return this.parser;
+ }
+ getType() {
+ return this.type;
+ }
+ };
+ rr();
+ var Lye = [];
+ var Dye = o(() => {
+ Lye.forEach((t) => {
+ t();
+ }),
+ (Lye = []);
+ }, 'attachFunctions');
+ ut();
+ var Rye = o((t) => t.replace(/^\s*%%(?!{)[^\n]+\n?/gm, '').trimStart(), 'cleanupComments');
+ Vb();
+ function qye(t) {
+ return typeof t > 'u' || t === null;
+ }
+ o(qye, 'isNothing');
+ function bet(t) {
+ return typeof t == 'object' && t !== null;
+ }
+ o(bet, 'isObject');
+ function wet(t) {
+ return Array.isArray(t) ? t : qye(t) ? [] : [t];
+ }
+ o(wet, 'toArray');
+ function Tet(t, e) {
+ var r, n, i, a;
+ if (e) for (a = Object.keys(e), r = 0, n = a.length; r < n; r += 1) (i = a[r]), (t[i] = e[i]);
+ return t;
+ }
+ o(Tet, 'extend');
+ function ket(t, e) {
+ var r = '',
+ n;
+ for (n = 0; n < e; n += 1) r += t;
+ return r;
+ }
+ o(ket, 'repeat');
+ function Eet(t) {
+ return t === 0 && Number.NEGATIVE_INFINITY === 1 / t;
+ }
+ o(Eet, 'isNegativeZero');
+ var Cet = qye,
+ Aet = bet,
+ _et = wet,
+ Let = ket,
+ Det = Eet,
+ Ret = Tet,
+ Wi = {
+ isNothing: Cet,
+ isObject: Aet,
+ toArray: _et,
+ repeat: Let,
+ isNegativeZero: Det,
+ extend: Ret
+ };
+ function Xye(t, e) {
+ var r = '',
+ n = t.reason || '(unknown reason)';
+ return t.mark
+ ? (t.mark.name && (r += 'in "' + t.mark.name + '" '),
+ (r += '(' + (t.mark.line + 1) + ':' + (t.mark.column + 1) + ')'),
+ !e &&
+ t.mark.snippet &&
+ (r +=
+ `
+
+` + t.mark.snippet),
+ n + ' ' + r)
+ : n;
+ }
+ o(Xye, 'formatError');
+ function Eb(t, e) {
+ Error.call(this),
+ (this.name = 'YAMLException'),
+ (this.reason = t),
+ (this.mark = e),
+ (this.message = Xye(this, !1)),
+ Error.captureStackTrace
+ ? Error.captureStackTrace(this, this.constructor)
+ : (this.stack = new Error().stack || '');
+ }
+ o(Eb, 'YAMLException$1');
+ Eb.prototype = Object.create(Error.prototype);
+ Eb.prototype.constructor = Eb;
+ Eb.prototype.toString = o(function (e) {
+ return this.name + ': ' + Xye(this, e);
+ }, 'toString');
+ var $s = Eb;
+ function nF(t, e, r, n, i) {
+ var a = '',
+ s = '',
+ l = Math.floor(i / 2) - 1;
+ return (
+ n - e > l && ((a = ' ... '), (e = n - l + a.length)),
+ r - n > l && ((s = ' ...'), (r = n + l - s.length)),
+ {
+ str: a + t.slice(e, r).replace(/\t/g, '\u2192') + s,
+ pos: n - e + a.length
+ }
+ );
+ }
+ o(nF, 'getLine');
+ function iF(t, e) {
+ return Wi.repeat(' ', e - t.length) + t;
+ }
+ o(iF, 'padStart');
+ function Net(t, e) {
+ if (((e = Object.create(e || null)), !t.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 r = /\r?\n|\r|\0/g, n = [0], i = [], a, s = -1; (a = r.exec(t.buffer)); )
+ i.push(a.index), n.push(a.index + a[0].length), t.position <= a.index && s < 0 && (s = n.length - 2);
+ s < 0 && (s = n.length - 1);
+ var l = '',
+ u,
+ h,
+ f = Math.min(t.line + e.linesAfter, i.length).toString().length,
+ d = e.maxLength - (e.indent + f + 3);
+ for (u = 1; u <= e.linesBefore && !(s - u < 0); u++)
+ (h = nF(t.buffer, n[s - u], i[s - u], t.position - (n[s] - n[s - u]), d)),
+ (l =
+ Wi.repeat(' ', e.indent) +
+ iF((t.line - u + 1).toString(), f) +
+ ' | ' +
+ h.str +
+ `
+` +
+ l);
+ for (
+ h = nF(t.buffer, n[s], i[s], t.position, d),
+ l +=
+ Wi.repeat(' ', e.indent) +
+ iF((t.line + 1).toString(), f) +
+ ' | ' +
+ h.str +
+ `
+`,
+ l +=
+ Wi.repeat('-', e.indent + f + 3 + h.pos) +
+ `^
+`,
+ u = 1;
+ u <= e.linesAfter && !(s + u >= i.length);
+ u++
+ )
+ (h = nF(t.buffer, n[s + u], i[s + u], t.position - (n[s] - n[s + u]), d)),
+ (l +=
+ Wi.repeat(' ', e.indent) +
+ iF((t.line + u + 1).toString(), f) +
+ ' | ' +
+ h.str +
+ `
+`);
+ return l.replace(/\n$/, '');
+ }
+ o(Net, 'makeSnippet');
+ var Met = Net,
+ Iet = [
+ 'kind',
+ 'multi',
+ 'resolve',
+ 'construct',
+ 'instanceOf',
+ 'predicate',
+ 'represent',
+ 'representName',
+ 'defaultStyle',
+ 'styleAliases'
+ ],
+ Oet = ['scalar', 'sequence', 'mapping'];
+ function Pet(t) {
+ var e = {};
+ return (
+ t !== null &&
+ Object.keys(t).forEach(function (r) {
+ t[r].forEach(function (n) {
+ e[String(n)] = r;
+ });
+ }),
+ e
+ );
+ }
+ o(Pet, 'compileStyleAliases');
+ function Bet(t, e) {
+ if (
+ ((e = e || {}),
+ Object.keys(e).forEach(function (r) {
+ if (Iet.indexOf(r) === -1)
+ throw new $s('Unknown option "' + r + '" is met in definition of "' + t + '" YAML type.');
+ }),
+ (this.options = e),
+ (this.tag = t),
+ (this.kind = e.kind || null),
+ (this.resolve =
+ e.resolve ||
+ function () {
+ return !0;
+ }),
+ (this.construct =
+ e.construct ||
+ function (r) {
+ return r;
+ }),
+ (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 = Pet(e.styleAliases || null)),
+ Oet.indexOf(this.kind) === -1)
+ )
+ throw new $s('Unknown kind "' + this.kind + '" is specified for "' + t + '" YAML type.');
+ }
+ o(Bet, 'Type$1');
+ var Va = Bet;
+ function Nye(t, e) {
+ var r = [];
+ return (
+ t[e].forEach(function (n) {
+ var i = r.length;
+ r.forEach(function (a, s) {
+ a.tag === n.tag && a.kind === n.kind && a.multi === n.multi && (i = s);
+ }),
+ (r[i] = n);
+ }),
+ r
+ );
+ }
+ o(Nye, 'compileList');
+ function Fet() {
+ var t = {
+ scalar: {},
+ sequence: {},
+ mapping: {},
+ fallback: {},
+ multi: { scalar: [], sequence: [], mapping: [], fallback: [] }
+ },
+ e,
+ r;
+ function n(i) {
+ i.multi ? (t.multi[i.kind].push(i), t.multi.fallback.push(i)) : (t[i.kind][i.tag] = t.fallback[i.tag] = i);
+ }
+ for (o(n, 'collectType'), e = 0, r = arguments.length; e < r; e += 1) arguments[e].forEach(n);
+ return t;
+ }
+ o(Fet, 'compileMap');
+ function sF(t) {
+ return this.extend(t);
+ }
+ o(sF, 'Schema$1');
+ sF.prototype.extend = o(function (e) {
+ var r = [],
+ n = [];
+ if (e instanceof Va) n.push(e);
+ else if (Array.isArray(e)) n = n.concat(e);
+ else if (e && (Array.isArray(e.implicit) || Array.isArray(e.explicit)))
+ e.implicit && (r = r.concat(e.implicit)), e.explicit && (n = n.concat(e.explicit));
+ else
+ throw new $s(
+ 'Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })'
+ );
+ r.forEach(function (a) {
+ if (!(a instanceof Va))
+ throw new $s('Specified list of YAML types (or a single Type object) contains a non-Type object.');
+ if (a.loadKind && a.loadKind !== 'scalar')
+ throw new $s(
+ 'There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'
+ );
+ if (a.multi)
+ throw new $s(
+ 'There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.'
+ );
+ }),
+ n.forEach(function (a) {
+ if (!(a instanceof Va))
+ throw new $s('Specified list of YAML types (or a single Type object) contains a non-Type object.');
+ });
+ var i = Object.create(sF.prototype);
+ return (
+ (i.implicit = (this.implicit || []).concat(r)),
+ (i.explicit = (this.explicit || []).concat(n)),
+ (i.compiledImplicit = Nye(i, 'implicit')),
+ (i.compiledExplicit = Nye(i, 'explicit')),
+ (i.compiledTypeMap = Fet(i.compiledImplicit, i.compiledExplicit)),
+ i
+ );
+ }, 'extend');
+ var zet = sF,
+ Get = new Va('tag:yaml.org,2002:str', {
+ kind: 'scalar',
+ construct: o(function (t) {
+ return t !== null ? t : '';
+ }, 'construct')
+ }),
+ $et = new Va('tag:yaml.org,2002:seq', {
+ kind: 'sequence',
+ construct: o(function (t) {
+ return t !== null ? t : [];
+ }, 'construct')
+ }),
+ Vet = new Va('tag:yaml.org,2002:map', {
+ kind: 'mapping',
+ construct: o(function (t) {
+ return t !== null ? t : {};
+ }, 'construct')
+ }),
+ Uet = new zet({ explicit: [Get, $et, Vet] });
+ function Het(t) {
+ if (t === null) return !0;
+ var e = t.length;
+ return (e === 1 && t === '~') || (e === 4 && (t === 'null' || t === 'Null' || t === 'NULL'));
+ }
+ o(Het, 'resolveYamlNull');
+ function Yet() {
+ return null;
+ }
+ o(Yet, 'constructYamlNull');
+ function Wet(t) {
+ return t === null;
+ }
+ o(Wet, 'isNull');
+ var qet = new Va('tag:yaml.org,2002:null', {
+ kind: 'scalar',
+ resolve: Het,
+ construct: Yet,
+ predicate: Wet,
+ represent: {
+ canonical: o(function () {
+ return '~';
+ }, 'canonical'),
+ lowercase: o(function () {
+ return 'null';
+ }, 'lowercase'),
+ uppercase: o(function () {
+ return 'NULL';
+ }, 'uppercase'),
+ camelcase: o(function () {
+ return 'Null';
+ }, 'camelcase'),
+ empty: o(function () {
+ return '';
+ }, 'empty')
+ },
+ defaultStyle: 'lowercase'
+ });
+ function Xet(t) {
+ if (t === null) return !1;
+ var e = t.length;
+ return (
+ (e === 4 && (t === 'true' || t === 'True' || t === 'TRUE')) ||
+ (e === 5 && (t === 'false' || t === 'False' || t === 'FALSE'))
+ );
+ }
+ o(Xet, 'resolveYamlBoolean');
+ function jet(t) {
+ return t === 'true' || t === 'True' || t === 'TRUE';
+ }
+ o(jet, 'constructYamlBoolean');
+ function Ket(t) {
+ return Object.prototype.toString.call(t) === '[object Boolean]';
+ }
+ o(Ket, 'isBoolean');
+ var Qet = new Va('tag:yaml.org,2002:bool', {
+ kind: 'scalar',
+ resolve: Xet,
+ construct: jet,
+ predicate: Ket,
+ represent: {
+ lowercase: o(function (t) {
+ return t ? 'true' : 'false';
+ }, 'lowercase'),
+ uppercase: o(function (t) {
+ return t ? 'TRUE' : 'FALSE';
+ }, 'uppercase'),
+ camelcase: o(function (t) {
+ return t ? 'True' : 'False';
+ }, 'camelcase')
+ },
+ defaultStyle: 'lowercase'
+ });
+ function Zet(t) {
+ return (48 <= t && t <= 57) || (65 <= t && t <= 70) || (97 <= t && t <= 102);
+ }
+ o(Zet, 'isHexCode');
+ function Jet(t) {
+ return 48 <= t && t <= 55;
+ }
+ o(Jet, 'isOctCode');
+ function ett(t) {
+ return 48 <= t && t <= 57;
+ }
+ o(ett, 'isDecCode');
+ function ttt(t) {
+ if (t === null) return !1;
+ var e = t.length,
+ r = 0,
+ n = !1,
+ i;
+ if (!e) return !1;
+ if (((i = t[r]), (i === '-' || i === '+') && (i = t[++r]), i === '0')) {
+ if (r + 1 === e) return !0;
+ if (((i = t[++r]), i === 'b')) {
+ for (r++; r < e; r++)
+ if (((i = t[r]), i !== '_')) {
+ if (i !== '0' && i !== '1') return !1;
+ n = !0;
+ }
+ return n && i !== '_';
+ }
+ if (i === 'x') {
+ for (r++; r < e; r++)
+ if (((i = t[r]), i !== '_')) {
+ if (!Zet(t.charCodeAt(r))) return !1;
+ n = !0;
+ }
+ return n && i !== '_';
+ }
+ if (i === 'o') {
+ for (r++; r < e; r++)
+ if (((i = t[r]), i !== '_')) {
+ if (!Jet(t.charCodeAt(r))) return !1;
+ n = !0;
+ }
+ return n && i !== '_';
+ }
+ }
+ if (i === '_') return !1;
+ for (; r < e; r++)
+ if (((i = t[r]), i !== '_')) {
+ if (!ett(t.charCodeAt(r))) return !1;
+ n = !0;
+ }
+ return !(!n || i === '_');
+ }
+ o(ttt, 'resolveYamlInteger');
+ function rtt(t) {
+ var e = t,
+ r = 1,
+ n;
+ if (
+ (e.indexOf('_') !== -1 && (e = e.replace(/_/g, '')),
+ (n = e[0]),
+ (n === '-' || n === '+') && (n === '-' && (r = -1), (e = e.slice(1)), (n = e[0])),
+ e === '0')
+ )
+ return 0;
+ if (n === '0') {
+ if (e[1] === 'b') return r * parseInt(e.slice(2), 2);
+ if (e[1] === 'x') return r * parseInt(e.slice(2), 16);
+ if (e[1] === 'o') return r * parseInt(e.slice(2), 8);
+ }
+ return r * parseInt(e, 10);
+ }
+ o(rtt, 'constructYamlInteger');
+ function ntt(t) {
+ return Object.prototype.toString.call(t) === '[object Number]' && t % 1 === 0 && !Wi.isNegativeZero(t);
+ }
+ o(ntt, 'isInteger');
+ var itt = new Va('tag:yaml.org,2002:int', {
+ kind: 'scalar',
+ resolve: ttt,
+ construct: rtt,
+ predicate: ntt,
+ represent: {
+ binary: o(function (t) {
+ return t >= 0 ? '0b' + t.toString(2) : '-0b' + t.toString(2).slice(1);
+ }, 'binary'),
+ octal: o(function (t) {
+ return t >= 0 ? '0o' + t.toString(8) : '-0o' + t.toString(8).slice(1);
+ }, 'octal'),
+ decimal: o(function (t) {
+ return t.toString(10);
+ }, 'decimal'),
+ hexadecimal: o(function (t) {
+ return t >= 0 ? '0x' + t.toString(16).toUpperCase() : '-0x' + t.toString(16).toUpperCase().slice(1);
+ }, 'hexadecimal')
+ },
+ defaultStyle: 'decimal',
+ styleAliases: {
+ binary: [2, 'bin'],
+ octal: [8, 'oct'],
+ decimal: [10, 'dec'],
+ hexadecimal: [16, 'hex']
+ }
+ }),
+ att = new RegExp(
+ '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$'
+ );
+ function stt(t) {
+ return !(t === null || !att.test(t) || t[t.length - 1] === '_');
+ }
+ o(stt, 'resolveYamlFloat');
+ function ott(t) {
+ var e, r;
+ return (
+ (e = t.replace(/_/g, '').toLowerCase()),
+ (r = e[0] === '-' ? -1 : 1),
+ '+-'.indexOf(e[0]) >= 0 && (e = e.slice(1)),
+ e === '.inf'
+ ? r === 1
+ ? Number.POSITIVE_INFINITY
+ : Number.NEGATIVE_INFINITY
+ : e === '.nan'
+ ? NaN
+ : r * parseFloat(e, 10)
+ );
+ }
+ o(ott, 'constructYamlFloat');
+ var ltt = /^[-+]?[0-9]+e/;
+ function ctt(t, e) {
+ var r;
+ if (isNaN(t))
+ switch (e) {
+ case 'lowercase':
+ return '.nan';
+ case 'uppercase':
+ return '.NAN';
+ case 'camelcase':
+ return '.NaN';
+ }
+ else if (Number.POSITIVE_INFINITY === t)
+ switch (e) {
+ case 'lowercase':
+ return '.inf';
+ case 'uppercase':
+ return '.INF';
+ case 'camelcase':
+ return '.Inf';
+ }
+ else if (Number.NEGATIVE_INFINITY === t)
+ switch (e) {
+ case 'lowercase':
+ return '-.inf';
+ case 'uppercase':
+ return '-.INF';
+ case 'camelcase':
+ return '-.Inf';
+ }
+ else if (Wi.isNegativeZero(t)) return '-0.0';
+ return (r = t.toString(10)), ltt.test(r) ? r.replace('e', '.e') : r;
+ }
+ o(ctt, 'representYamlFloat');
+ function utt(t) {
+ return Object.prototype.toString.call(t) === '[object Number]' && (t % 1 !== 0 || Wi.isNegativeZero(t));
+ }
+ o(utt, 'isFloat');
+ var htt = new Va('tag:yaml.org,2002:float', {
+ kind: 'scalar',
+ resolve: stt,
+ construct: ott,
+ predicate: utt,
+ represent: ctt,
+ defaultStyle: 'lowercase'
+ }),
+ jye = Uet.extend({ implicit: [qet, Qet, itt, htt] }),
+ ftt = jye,
+ Kye = new RegExp('^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$'),
+ Qye = 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 dtt(t) {
+ return t === null ? !1 : Kye.exec(t) !== null || Qye.exec(t) !== null;
+ }
+ o(dtt, 'resolveYamlTimestamp');
+ function ptt(t) {
+ var e,
+ r,
+ n,
+ i,
+ a,
+ s,
+ l,
+ u = 0,
+ h = null,
+ f,
+ d,
+ p;
+ if (((e = Kye.exec(t)), e === null && (e = Qye.exec(t)), e === null)) throw new Error('Date resolve error');
+ if (((r = +e[1]), (n = +e[2] - 1), (i = +e[3]), !e[4])) return new Date(Date.UTC(r, n, i));
+ if (((a = +e[4]), (s = +e[5]), (l = +e[6]), e[7])) {
+ for (u = e[7].slice(0, 3); u.length < 3; ) u += '0';
+ u = +u;
+ }
+ return (
+ e[9] && ((f = +e[10]), (d = +(e[11] || 0)), (h = (f * 60 + d) * 6e4), e[9] === '-' && (h = -h)),
+ (p = new Date(Date.UTC(r, n, i, a, s, l, u))),
+ h && p.setTime(p.getTime() - h),
+ p
+ );
+ }
+ o(ptt, 'constructYamlTimestamp');
+ function mtt(t) {
+ return t.toISOString();
+ }
+ o(mtt, 'representYamlTimestamp');
+ var gtt = new Va('tag:yaml.org,2002:timestamp', {
+ kind: 'scalar',
+ resolve: dtt,
+ construct: ptt,
+ instanceOf: Date,
+ represent: mtt
+ });
+ function ytt(t) {
+ return t === '<<' || t === null;
+ }
+ o(ytt, 'resolveYamlMerge');
+ var vtt = new Va('tag:yaml.org,2002:merge', { kind: 'scalar', resolve: ytt }),
+ hF = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
+\r`;
+ function xtt(t) {
+ if (t === null) return !1;
+ var e,
+ r,
+ n = 0,
+ i = t.length,
+ a = hF;
+ for (r = 0; r < i; r++)
+ if (((e = a.indexOf(t.charAt(r))), !(e > 64))) {
+ if (e < 0) return !1;
+ n += 6;
+ }
+ return n % 8 === 0;
+ }
+ o(xtt, 'resolveYamlBinary');
+ function btt(t) {
+ var e,
+ r,
+ n = t.replace(/[\r\n=]/g, ''),
+ i = n.length,
+ a = hF,
+ s = 0,
+ l = [];
+ for (e = 0; e < i; e++)
+ e % 4 === 0 && e && (l.push((s >> 16) & 255), l.push((s >> 8) & 255), l.push(s & 255)),
+ (s = (s << 6) | a.indexOf(n.charAt(e)));
+ return (
+ (r = (i % 4) * 6),
+ r === 0
+ ? (l.push((s >> 16) & 255), l.push((s >> 8) & 255), l.push(s & 255))
+ : r === 18
+ ? (l.push((s >> 10) & 255), l.push((s >> 2) & 255))
+ : r === 12 && l.push((s >> 4) & 255),
+ new Uint8Array(l)
+ );
+ }
+ o(btt, 'constructYamlBinary');
+ function wtt(t) {
+ var e = '',
+ r = 0,
+ n,
+ i,
+ a = t.length,
+ s = hF;
+ for (n = 0; n < a; n++)
+ n % 3 === 0 &&
+ n &&
+ ((e += s[(r >> 18) & 63]), (e += s[(r >> 12) & 63]), (e += s[(r >> 6) & 63]), (e += s[r & 63])),
+ (r = (r << 8) + t[n]);
+ return (
+ (i = a % 3),
+ i === 0
+ ? ((e += s[(r >> 18) & 63]), (e += s[(r >> 12) & 63]), (e += s[(r >> 6) & 63]), (e += s[r & 63]))
+ : i === 2
+ ? ((e += s[(r >> 10) & 63]), (e += s[(r >> 4) & 63]), (e += s[(r << 2) & 63]), (e += s[64]))
+ : i === 1 && ((e += s[(r >> 2) & 63]), (e += s[(r << 4) & 63]), (e += s[64]), (e += s[64])),
+ e
+ );
+ }
+ o(wtt, 'representYamlBinary');
+ function Ttt(t) {
+ return Object.prototype.toString.call(t) === '[object Uint8Array]';
+ }
+ o(Ttt, 'isBinary');
+ var ktt = new Va('tag:yaml.org,2002:binary', {
+ kind: 'scalar',
+ resolve: xtt,
+ construct: btt,
+ predicate: Ttt,
+ represent: wtt
+ }),
+ Ett = Object.prototype.hasOwnProperty,
+ Ctt = Object.prototype.toString;
+ function Stt(t) {
+ if (t === null) return !0;
+ var e = [],
+ r,
+ n,
+ i,
+ a,
+ s,
+ l = t;
+ for (r = 0, n = l.length; r < n; r += 1) {
+ if (((i = l[r]), (s = !1), Ctt.call(i) !== '[object Object]')) return !1;
+ for (a in i)
+ if (Ett.call(i, a))
+ if (!s) s = !0;
+ else return !1;
+ if (!s) return !1;
+ if (e.indexOf(a) === -1) e.push(a);
+ else return !1;
+ }
+ return !0;
+ }
+ o(Stt, 'resolveYamlOmap');
+ function Att(t) {
+ return t !== null ? t : [];
+ }
+ o(Att, 'constructYamlOmap');
+ var _tt = new Va('tag:yaml.org,2002:omap', {
+ kind: 'sequence',
+ resolve: Stt,
+ construct: Att
+ }),
+ Ltt = Object.prototype.toString;
+ function Dtt(t) {
+ if (t === null) return !0;
+ var e,
+ r,
+ n,
+ i,
+ a,
+ s = t;
+ for (a = new Array(s.length), e = 0, r = s.length; e < r; e += 1) {
+ if (((n = s[e]), Ltt.call(n) !== '[object Object]' || ((i = Object.keys(n)), i.length !== 1))) return !1;
+ a[e] = [i[0], n[i[0]]];
+ }
+ return !0;
+ }
+ o(Dtt, 'resolveYamlPairs');
+ function Rtt(t) {
+ if (t === null) return [];
+ var e,
+ r,
+ n,
+ i,
+ a,
+ s = t;
+ for (a = new Array(s.length), e = 0, r = s.length; e < r; e += 1)
+ (n = s[e]), (i = Object.keys(n)), (a[e] = [i[0], n[i[0]]]);
+ return a;
+ }
+ o(Rtt, 'constructYamlPairs');
+ var Ntt = new Va('tag:yaml.org,2002:pairs', {
+ kind: 'sequence',
+ resolve: Dtt,
+ construct: Rtt
+ }),
+ Mtt = Object.prototype.hasOwnProperty;
+ function Itt(t) {
+ if (t === null) return !0;
+ var e,
+ r = t;
+ for (e in r) if (Mtt.call(r, e) && r[e] !== null) return !1;
+ return !0;
+ }
+ o(Itt, 'resolveYamlSet');
+ function Ott(t) {
+ return t !== null ? t : {};
+ }
+ o(Ott, 'constructYamlSet');
+ var Ptt = new Va('tag:yaml.org,2002:set', {
+ kind: 'mapping',
+ resolve: Itt,
+ construct: Ott
+ }),
+ Zye = ftt.extend({ implicit: [gtt, vtt], explicit: [ktt, _tt, Ntt, Ptt] }),
+ Bf = Object.prototype.hasOwnProperty,
+ bC = 1,
+ Jye = 2,
+ eve = 3,
+ wC = 4,
+ aF = 1,
+ Btt = 2,
+ Mye = 3,
+ Ftt =
+ /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,
+ ztt = /[\x85\u2028\u2029]/,
+ Gtt = /[,\[\]\{\}]/,
+ tve = /^(?:!|!!|![a-z\-]+!)$/i,
+ rve = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
+ function Iye(t) {
+ return Object.prototype.toString.call(t);
+ }
+ o(Iye, '_class');
+ function qc(t) {
+ return t === 10 || t === 13;
+ }
+ o(qc, 'is_EOL');
+ function rp(t) {
+ return t === 9 || t === 32;
+ }
+ o(rp, 'is_WHITE_SPACE');
+ function Vs(t) {
+ return t === 9 || t === 32 || t === 10 || t === 13;
+ }
+ o(Vs, 'is_WS_OR_EOL');
+ function D1(t) {
+ return t === 44 || t === 91 || t === 93 || t === 123 || t === 125;
+ }
+ o(D1, 'is_FLOW_INDICATOR');
+ function $tt(t) {
+ var e;
+ return 48 <= t && t <= 57 ? t - 48 : ((e = t | 32), 97 <= e && e <= 102 ? e - 97 + 10 : -1);
+ }
+ o($tt, 'fromHexCode');
+ function Vtt(t) {
+ return t === 120 ? 2 : t === 117 ? 4 : t === 85 ? 8 : 0;
+ }
+ o(Vtt, 'escapedHexLen');
+ function Utt(t) {
+ return 48 <= t && t <= 57 ? t - 48 : -1;
+ }
+ o(Utt, 'fromDecimalCode');
+ function Oye(t) {
+ return t === 48
+ ? '\0'
+ : t === 97
+ ? '\x07'
+ : t === 98
+ ? '\b'
+ : t === 116 || t === 9
+ ? ' '
+ : t === 110
+ ? `
+`
+ : t === 118
+ ? '\v'
+ : t === 102
+ ? '\f'
+ : t === 114
+ ? '\r'
+ : t === 101
+ ? '\x1B'
+ : t === 32
+ ? ' '
+ : t === 34
+ ? '"'
+ : t === 47
+ ? '/'
+ : t === 92
+ ? '\\'
+ : t === 78
+ ? '\x85'
+ : t === 95
+ ? '\xA0'
+ : t === 76
+ ? '\u2028'
+ : t === 80
+ ? '\u2029'
+ : '';
+ }
+ o(Oye, 'simpleEscapeSequence');
+ function Htt(t) {
+ return t <= 65535
+ ? String.fromCharCode(t)
+ : String.fromCharCode(((t - 65536) >> 10) + 55296, ((t - 65536) & 1023) + 56320);
+ }
+ o(Htt, 'charFromCodepoint');
+ var nve = new Array(256),
+ ive = new Array(256);
+ for (tp = 0; tp < 256; tp++) (nve[tp] = Oye(tp) ? 1 : 0), (ive[tp] = Oye(tp));
+ var tp;
+ function Ytt(t, e) {
+ (this.input = t),
+ (this.filename = e.filename || null),
+ (this.schema = e.schema || Zye),
+ (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 = t.length),
+ (this.position = 0),
+ (this.line = 0),
+ (this.lineStart = 0),
+ (this.lineIndent = 0),
+ (this.firstTabInLine = -1),
+ (this.documents = []);
+ }
+ o(Ytt, 'State$1');
+ function ave(t, e) {
+ var r = {
+ name: t.filename,
+ buffer: t.input.slice(0, -1),
+ position: t.position,
+ line: t.line,
+ column: t.position - t.lineStart
+ };
+ return (r.snippet = Met(r)), new $s(e, r);
+ }
+ o(ave, 'generateError');
+ function Gt(t, e) {
+ throw ave(t, e);
+ }
+ o(Gt, 'throwError');
+ function TC(t, e) {
+ t.onWarning && t.onWarning.call(null, ave(t, e));
+ }
+ o(TC, 'throwWarning');
+ var Pye = {
+ YAML: o(function (e, r, n) {
+ var i, a, s;
+ e.version !== null && Gt(e, 'duplication of %YAML directive'),
+ n.length !== 1 && Gt(e, 'YAML directive accepts exactly one argument'),
+ (i = /^([0-9]+)\.([0-9]+)$/.exec(n[0])),
+ i === null && Gt(e, 'ill-formed argument of the YAML directive'),
+ (a = parseInt(i[1], 10)),
+ (s = parseInt(i[2], 10)),
+ a !== 1 && Gt(e, 'unacceptable YAML version of the document'),
+ (e.version = n[0]),
+ (e.checkLineBreaks = s < 2),
+ s !== 1 && s !== 2 && TC(e, 'unsupported YAML version of the document');
+ }, 'handleYamlDirective'),
+ TAG: o(function (e, r, n) {
+ var i, a;
+ n.length !== 2 && Gt(e, 'TAG directive accepts exactly two arguments'),
+ (i = n[0]),
+ (a = n[1]),
+ tve.test(i) || Gt(e, 'ill-formed tag handle (first argument) of the TAG directive'),
+ Bf.call(e.tagMap, i) && Gt(e, 'there is a previously declared suffix for "' + i + '" tag handle'),
+ rve.test(a) || Gt(e, 'ill-formed tag prefix (second argument) of the TAG directive');
+ try {
+ a = decodeURIComponent(a);
+ } catch {
+ Gt(e, 'tag prefix is malformed: ' + a);
+ }
+ e.tagMap[i] = a;
+ }, 'handleTagDirective')
+ };
+ function Pf(t, e, r, n) {
+ var i, a, s, l;
+ if (e < r) {
+ if (((l = t.input.slice(e, r)), n))
+ for (i = 0, a = l.length; i < a; i += 1)
+ (s = l.charCodeAt(i)),
+ s === 9 || (32 <= s && s <= 1114111) || Gt(t, 'expected valid JSON character');
+ else Ftt.test(l) && Gt(t, 'the stream contains non-printable characters');
+ t.result += l;
+ }
+ }
+ o(Pf, 'captureSegment');
+ function Bye(t, e, r, n) {
+ var i, a, s, l;
+ for (
+ Wi.isObject(r) || Gt(t, 'cannot merge mappings; the provided source object is unacceptable'),
+ i = Object.keys(r),
+ s = 0,
+ l = i.length;
+ s < l;
+ s += 1
+ )
+ (a = i[s]), Bf.call(e, a) || ((e[a] = r[a]), (n[a] = !0));
+ }
+ o(Bye, 'mergeMappings');
+ function R1(t, e, r, n, i, a, s, l, u) {
+ var h, f;
+ if (Array.isArray(i))
+ for (i = Array.prototype.slice.call(i), h = 0, f = i.length; h < f; h += 1)
+ Array.isArray(i[h]) && Gt(t, 'nested arrays are not supported inside keys'),
+ typeof i == 'object' && Iye(i[h]) === '[object Object]' && (i[h] = '[object Object]');
+ if (
+ (typeof i == 'object' && Iye(i) === '[object Object]' && (i = '[object Object]'),
+ (i = String(i)),
+ e === null && (e = {}),
+ n === 'tag:yaml.org,2002:merge')
+ )
+ if (Array.isArray(a)) for (h = 0, f = a.length; h < f; h += 1) Bye(t, e, a[h], r);
+ else Bye(t, e, a, r);
+ else
+ !t.json &&
+ !Bf.call(r, i) &&
+ Bf.call(e, i) &&
+ ((t.line = s || t.line),
+ (t.lineStart = l || t.lineStart),
+ (t.position = u || t.position),
+ Gt(t, 'duplicated mapping key')),
+ i === '__proto__'
+ ? Object.defineProperty(e, i, {
+ configurable: !0,
+ enumerable: !0,
+ writable: !0,
+ value: a
+ })
+ : (e[i] = a),
+ delete r[i];
+ return e;
+ }
+ o(R1, 'storeMappingPair');
+ function fF(t) {
+ var e;
+ (e = t.input.charCodeAt(t.position)),
+ e === 10
+ ? t.position++
+ : e === 13
+ ? (t.position++, t.input.charCodeAt(t.position) === 10 && t.position++)
+ : Gt(t, 'a line break is expected'),
+ (t.line += 1),
+ (t.lineStart = t.position),
+ (t.firstTabInLine = -1);
+ }
+ o(fF, 'readLineBreak');
+ function Ai(t, e, r) {
+ for (var n = 0, i = t.input.charCodeAt(t.position); i !== 0; ) {
+ for (; rp(i); )
+ i === 9 && t.firstTabInLine === -1 && (t.firstTabInLine = t.position),
+ (i = t.input.charCodeAt(++t.position));
+ if (e && i === 35)
+ do i = t.input.charCodeAt(++t.position);
+ while (i !== 10 && i !== 13 && i !== 0);
+ if (qc(i))
+ for (fF(t), i = t.input.charCodeAt(t.position), n++, t.lineIndent = 0; i === 32; )
+ t.lineIndent++, (i = t.input.charCodeAt(++t.position));
+ else break;
+ }
+ return r !== -1 && n !== 0 && t.lineIndent < r && TC(t, 'deficient indentation'), n;
+ }
+ o(Ai, 'skipSeparationSpace');
+ function CC(t) {
+ var e = t.position,
+ r;
+ return (
+ (r = t.input.charCodeAt(e)),
+ !!(
+ (r === 45 || r === 46) &&
+ r === t.input.charCodeAt(e + 1) &&
+ r === t.input.charCodeAt(e + 2) &&
+ ((e += 3), (r = t.input.charCodeAt(e)), r === 0 || Vs(r))
+ )
+ );
+ }
+ o(CC, 'testDocumentSeparator');
+ function dF(t, e) {
+ e === 1
+ ? (t.result += ' ')
+ : e > 1 &&
+ (t.result += Wi.repeat(
+ `
+`,
+ e - 1
+ ));
+ }
+ o(dF, 'writeFoldedLines');
+ function Wtt(t, e, r) {
+ var n,
+ i,
+ a,
+ s,
+ l,
+ u,
+ h,
+ f,
+ d = t.kind,
+ p = t.result,
+ m;
+ if (
+ ((m = t.input.charCodeAt(t.position)),
+ Vs(m) ||
+ D1(m) ||
+ m === 35 ||
+ m === 38 ||
+ m === 42 ||
+ m === 33 ||
+ m === 124 ||
+ m === 62 ||
+ m === 39 ||
+ m === 34 ||
+ m === 37 ||
+ m === 64 ||
+ m === 96 ||
+ ((m === 63 || m === 45) && ((i = t.input.charCodeAt(t.position + 1)), Vs(i) || (r && D1(i)))))
+ )
+ return !1;
+ for (t.kind = 'scalar', t.result = '', a = s = t.position, l = !1; m !== 0; ) {
+ if (m === 58) {
+ if (((i = t.input.charCodeAt(t.position + 1)), Vs(i) || (r && D1(i)))) break;
+ } else if (m === 35) {
+ if (((n = t.input.charCodeAt(t.position - 1)), Vs(n))) break;
+ } else {
+ if ((t.position === t.lineStart && CC(t)) || (r && D1(m))) break;
+ if (qc(m))
+ if (((u = t.line), (h = t.lineStart), (f = t.lineIndent), Ai(t, !1, -1), t.lineIndent >= e)) {
+ (l = !0), (m = t.input.charCodeAt(t.position));
+ continue;
+ } else {
+ (t.position = s), (t.line = u), (t.lineStart = h), (t.lineIndent = f);
+ break;
+ }
+ }
+ l && (Pf(t, a, s, !1), dF(t, t.line - u), (a = s = t.position), (l = !1)),
+ rp(m) || (s = t.position + 1),
+ (m = t.input.charCodeAt(++t.position));
+ }
+ return Pf(t, a, s, !1), t.result ? !0 : ((t.kind = d), (t.result = p), !1);
+ }
+ o(Wtt, 'readPlainScalar');
+ function qtt(t, e) {
+ var r, n, i;
+ if (((r = t.input.charCodeAt(t.position)), r !== 39)) return !1;
+ for (
+ t.kind = 'scalar', t.result = '', t.position++, n = i = t.position;
+ (r = t.input.charCodeAt(t.position)) !== 0;
+
+ )
+ if (r === 39)
+ if ((Pf(t, n, t.position, !0), (r = t.input.charCodeAt(++t.position)), r === 39))
+ (n = t.position), t.position++, (i = t.position);
+ else return !0;
+ else
+ qc(r)
+ ? (Pf(t, n, i, !0), dF(t, Ai(t, !1, e)), (n = i = t.position))
+ : t.position === t.lineStart && CC(t)
+ ? Gt(t, 'unexpected end of the document within a single quoted scalar')
+ : (t.position++, (i = t.position));
+ Gt(t, 'unexpected end of the stream within a single quoted scalar');
+ }
+ o(qtt, 'readSingleQuotedScalar');
+ function Xtt(t, e) {
+ var r, n, i, a, s, l;
+ if (((l = t.input.charCodeAt(t.position)), l !== 34)) return !1;
+ for (
+ t.kind = 'scalar', t.result = '', t.position++, r = n = t.position;
+ (l = t.input.charCodeAt(t.position)) !== 0;
+
+ ) {
+ if (l === 34) return Pf(t, r, t.position, !0), t.position++, !0;
+ if (l === 92) {
+ if ((Pf(t, r, t.position, !0), (l = t.input.charCodeAt(++t.position)), qc(l))) Ai(t, !1, e);
+ else if (l < 256 && nve[l]) (t.result += ive[l]), t.position++;
+ else if ((s = Vtt(l)) > 0) {
+ for (i = s, a = 0; i > 0; i--)
+ (l = t.input.charCodeAt(++t.position)),
+ (s = $tt(l)) >= 0 ? (a = (a << 4) + s) : Gt(t, 'expected hexadecimal character');
+ (t.result += Htt(a)), t.position++;
+ } else Gt(t, 'unknown escape sequence');
+ r = n = t.position;
+ } else
+ qc(l)
+ ? (Pf(t, r, n, !0), dF(t, Ai(t, !1, e)), (r = n = t.position))
+ : t.position === t.lineStart && CC(t)
+ ? Gt(t, 'unexpected end of the document within a double quoted scalar')
+ : (t.position++, (n = t.position));
+ }
+ Gt(t, 'unexpected end of the stream within a double quoted scalar');
+ }
+ o(Xtt, 'readDoubleQuotedScalar');
+ function jtt(t, e) {
+ var r = !0,
+ n,
+ i,
+ a,
+ s = t.tag,
+ l,
+ u = t.anchor,
+ h,
+ f,
+ d,
+ p,
+ m,
+ g = Object.create(null),
+ y,
+ v,
+ x,
+ b;
+ if (((b = t.input.charCodeAt(t.position)), b === 91)) (f = 93), (m = !1), (l = []);
+ else if (b === 123) (f = 125), (m = !0), (l = {});
+ else return !1;
+ for (t.anchor !== null && (t.anchorMap[t.anchor] = l), b = t.input.charCodeAt(++t.position); b !== 0; ) {
+ if ((Ai(t, !0, e), (b = t.input.charCodeAt(t.position)), b === f))
+ return (
+ t.position++, (t.tag = s), (t.anchor = u), (t.kind = m ? 'mapping' : 'sequence'), (t.result = l), !0
+ );
+ r
+ ? b === 44 && Gt(t, "expected the node content, but found ','")
+ : Gt(t, 'missed comma between flow collection entries'),
+ (v = y = x = null),
+ (d = p = !1),
+ b === 63 &&
+ ((h = t.input.charCodeAt(t.position + 1)), Vs(h) && ((d = p = !0), t.position++, Ai(t, !0, e))),
+ (n = t.line),
+ (i = t.lineStart),
+ (a = t.position),
+ N1(t, e, bC, !1, !0),
+ (v = t.tag),
+ (y = t.result),
+ Ai(t, !0, e),
+ (b = t.input.charCodeAt(t.position)),
+ (p || t.line === n) &&
+ b === 58 &&
+ ((d = !0),
+ (b = t.input.charCodeAt(++t.position)),
+ Ai(t, !0, e),
+ N1(t, e, bC, !1, !0),
+ (x = t.result)),
+ m ? R1(t, l, g, v, y, x, n, i, a) : d ? l.push(R1(t, null, g, v, y, x, n, i, a)) : l.push(y),
+ Ai(t, !0, e),
+ (b = t.input.charCodeAt(t.position)),
+ b === 44 ? ((r = !0), (b = t.input.charCodeAt(++t.position))) : (r = !1);
+ }
+ Gt(t, 'unexpected end of the stream within a flow collection');
+ }
+ o(jtt, 'readFlowCollection');
+ function Ktt(t, e) {
+ var r,
+ n,
+ i = aF,
+ a = !1,
+ s = !1,
+ l = e,
+ u = 0,
+ h = !1,
+ f,
+ d;
+ if (((d = t.input.charCodeAt(t.position)), d === 124)) n = !1;
+ else if (d === 62) n = !0;
+ else return !1;
+ for (t.kind = 'scalar', t.result = ''; d !== 0; )
+ if (((d = t.input.charCodeAt(++t.position)), d === 43 || d === 45))
+ aF === i ? (i = d === 43 ? Mye : Btt) : Gt(t, 'repeat of a chomping mode identifier');
+ else if ((f = Utt(d)) >= 0)
+ f === 0
+ ? Gt(t, 'bad explicit indentation width of a block scalar; it cannot be less than one')
+ : s
+ ? Gt(t, 'repeat of an indentation width identifier')
+ : ((l = e + f - 1), (s = !0));
+ else break;
+ if (rp(d)) {
+ do d = t.input.charCodeAt(++t.position);
+ while (rp(d));
+ if (d === 35)
+ do d = t.input.charCodeAt(++t.position);
+ while (!qc(d) && d !== 0);
+ }
+ for (; d !== 0; ) {
+ for (fF(t), t.lineIndent = 0, d = t.input.charCodeAt(t.position); (!s || t.lineIndent < l) && d === 32; )
+ t.lineIndent++, (d = t.input.charCodeAt(++t.position));
+ if ((!s && t.lineIndent > l && (l = t.lineIndent), qc(d))) {
+ u++;
+ continue;
+ }
+ if (t.lineIndent < l) {
+ i === Mye
+ ? (t.result += Wi.repeat(
+ `
+`,
+ a ? 1 + u : u
+ ))
+ : i === aF &&
+ a &&
+ (t.result += `
+`);
+ break;
+ }
+ for (
+ n
+ ? rp(d)
+ ? ((h = !0),
+ (t.result += Wi.repeat(
+ `
+`,
+ a ? 1 + u : u
+ )))
+ : h
+ ? ((h = !1),
+ (t.result += Wi.repeat(
+ `
+`,
+ u + 1
+ )))
+ : u === 0
+ ? a && (t.result += ' ')
+ : (t.result += Wi.repeat(
+ `
+`,
+ u
+ ))
+ : (t.result += Wi.repeat(
+ `
+`,
+ a ? 1 + u : u
+ )),
+ a = !0,
+ s = !0,
+ u = 0,
+ r = t.position;
+ !qc(d) && d !== 0;
+
+ )
+ d = t.input.charCodeAt(++t.position);
+ Pf(t, r, t.position, !1);
+ }
+ return !0;
+ }
+ o(Ktt, 'readBlockScalar');
+ function Fye(t, e) {
+ var r,
+ n = t.tag,
+ i = t.anchor,
+ a = [],
+ s,
+ l = !1,
+ u;
+ if (t.firstTabInLine !== -1) return !1;
+ for (
+ t.anchor !== null && (t.anchorMap[t.anchor] = a), u = t.input.charCodeAt(t.position);
+ u !== 0 &&
+ (t.firstTabInLine !== -1 &&
+ ((t.position = t.firstTabInLine), Gt(t, 'tab characters must not be used in indentation')),
+ !(u !== 45 || ((s = t.input.charCodeAt(t.position + 1)), !Vs(s))));
+
+ ) {
+ if (((l = !0), t.position++, Ai(t, !0, -1) && t.lineIndent <= e)) {
+ a.push(null), (u = t.input.charCodeAt(t.position));
+ continue;
+ }
+ if (
+ ((r = t.line),
+ N1(t, e, eve, !1, !0),
+ a.push(t.result),
+ Ai(t, !0, -1),
+ (u = t.input.charCodeAt(t.position)),
+ (t.line === r || t.lineIndent > e) && u !== 0)
+ )
+ Gt(t, 'bad indentation of a sequence entry');
+ else if (t.lineIndent < e) break;
+ }
+ return l ? ((t.tag = n), (t.anchor = i), (t.kind = 'sequence'), (t.result = a), !0) : !1;
+ }
+ o(Fye, 'readBlockSequence');
+ function Qtt(t, e, r) {
+ var n,
+ i,
+ a,
+ s,
+ l,
+ u,
+ h = t.tag,
+ f = t.anchor,
+ d = {},
+ p = Object.create(null),
+ m = null,
+ g = null,
+ y = null,
+ v = !1,
+ x = !1,
+ b;
+ if (t.firstTabInLine !== -1) return !1;
+ for (t.anchor !== null && (t.anchorMap[t.anchor] = d), b = t.input.charCodeAt(t.position); b !== 0; ) {
+ if (
+ (!v &&
+ t.firstTabInLine !== -1 &&
+ ((t.position = t.firstTabInLine), Gt(t, 'tab characters must not be used in indentation')),
+ (n = t.input.charCodeAt(t.position + 1)),
+ (a = t.line),
+ (b === 63 || b === 58) && Vs(n))
+ )
+ b === 63
+ ? (v && (R1(t, d, p, m, g, null, s, l, u), (m = g = y = null)), (x = !0), (v = !0), (i = !0))
+ : v
+ ? ((v = !1), (i = !0))
+ : Gt(
+ t,
+ 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'
+ ),
+ (t.position += 1),
+ (b = n);
+ else {
+ if (((s = t.line), (l = t.lineStart), (u = t.position), !N1(t, r, Jye, !1, !0))) break;
+ if (t.line === a) {
+ for (b = t.input.charCodeAt(t.position); rp(b); ) b = t.input.charCodeAt(++t.position);
+ if (b === 58)
+ (b = t.input.charCodeAt(++t.position)),
+ Vs(b) ||
+ Gt(
+ t,
+ 'a whitespace character is expected after the key-value separator within a block mapping'
+ ),
+ v && (R1(t, d, p, m, g, null, s, l, u), (m = g = y = null)),
+ (x = !0),
+ (v = !1),
+ (i = !1),
+ (m = t.tag),
+ (g = t.result);
+ else if (x) Gt(t, 'can not read an implicit mapping pair; a colon is missed');
+ else return (t.tag = h), (t.anchor = f), !0;
+ } else if (x) Gt(t, 'can not read a block mapping entry; a multiline key may not be an implicit key');
+ else return (t.tag = h), (t.anchor = f), !0;
+ }
+ if (
+ ((t.line === a || t.lineIndent > e) &&
+ (v && ((s = t.line), (l = t.lineStart), (u = t.position)),
+ N1(t, e, wC, !0, i) && (v ? (g = t.result) : (y = t.result)),
+ v || (R1(t, d, p, m, g, y, s, l, u), (m = g = y = null)),
+ Ai(t, !0, -1),
+ (b = t.input.charCodeAt(t.position))),
+ (t.line === a || t.lineIndent > e) && b !== 0)
+ )
+ Gt(t, 'bad indentation of a mapping entry');
+ else if (t.lineIndent < e) break;
+ }
+ return (
+ v && R1(t, d, p, m, g, null, s, l, u),
+ x && ((t.tag = h), (t.anchor = f), (t.kind = 'mapping'), (t.result = d)),
+ x
+ );
+ }
+ o(Qtt, 'readBlockMapping');
+ function Ztt(t) {
+ var e,
+ r = !1,
+ n = !1,
+ i,
+ a,
+ s;
+ if (((s = t.input.charCodeAt(t.position)), s !== 33)) return !1;
+ if (
+ (t.tag !== null && Gt(t, 'duplication of a tag property'),
+ (s = t.input.charCodeAt(++t.position)),
+ s === 60
+ ? ((r = !0), (s = t.input.charCodeAt(++t.position)))
+ : s === 33
+ ? ((n = !0), (i = '!!'), (s = t.input.charCodeAt(++t.position)))
+ : (i = '!'),
+ (e = t.position),
+ r)
+ ) {
+ do s = t.input.charCodeAt(++t.position);
+ while (s !== 0 && s !== 62);
+ t.position < t.length
+ ? ((a = t.input.slice(e, t.position)), (s = t.input.charCodeAt(++t.position)))
+ : Gt(t, 'unexpected end of the stream within a verbatim tag');
+ } else {
+ for (; s !== 0 && !Vs(s); )
+ s === 33 &&
+ (n
+ ? Gt(t, 'tag suffix cannot contain exclamation marks')
+ : ((i = t.input.slice(e - 1, t.position + 1)),
+ tve.test(i) || Gt(t, 'named tag handle cannot contain such characters'),
+ (n = !0),
+ (e = t.position + 1))),
+ (s = t.input.charCodeAt(++t.position));
+ (a = t.input.slice(e, t.position)),
+ Gtt.test(a) && Gt(t, 'tag suffix cannot contain flow indicator characters');
+ }
+ a && !rve.test(a) && Gt(t, 'tag name cannot contain such characters: ' + a);
+ try {
+ a = decodeURIComponent(a);
+ } catch {
+ Gt(t, 'tag name is malformed: ' + a);
+ }
+ return (
+ r
+ ? (t.tag = a)
+ : Bf.call(t.tagMap, i)
+ ? (t.tag = t.tagMap[i] + a)
+ : i === '!'
+ ? (t.tag = '!' + a)
+ : i === '!!'
+ ? (t.tag = 'tag:yaml.org,2002:' + a)
+ : Gt(t, 'undeclared tag handle "' + i + '"'),
+ !0
+ );
+ }
+ o(Ztt, 'readTagProperty');
+ function Jtt(t) {
+ var e, r;
+ if (((r = t.input.charCodeAt(t.position)), r !== 38)) return !1;
+ for (
+ t.anchor !== null && Gt(t, 'duplication of an anchor property'),
+ r = t.input.charCodeAt(++t.position),
+ e = t.position;
+ r !== 0 && !Vs(r) && !D1(r);
+
+ )
+ r = t.input.charCodeAt(++t.position);
+ return (
+ t.position === e && Gt(t, 'name of an anchor node must contain at least one character'),
+ (t.anchor = t.input.slice(e, t.position)),
+ !0
+ );
+ }
+ o(Jtt, 'readAnchorProperty');
+ function ert(t) {
+ var e, r, n;
+ if (((n = t.input.charCodeAt(t.position)), n !== 42)) return !1;
+ for (n = t.input.charCodeAt(++t.position), e = t.position; n !== 0 && !Vs(n) && !D1(n); )
+ n = t.input.charCodeAt(++t.position);
+ return (
+ t.position === e && Gt(t, 'name of an alias node must contain at least one character'),
+ (r = t.input.slice(e, t.position)),
+ Bf.call(t.anchorMap, r) || Gt(t, 'unidentified alias "' + r + '"'),
+ (t.result = t.anchorMap[r]),
+ Ai(t, !0, -1),
+ !0
+ );
+ }
+ o(ert, 'readAlias');
+ function N1(t, e, r, n, i) {
+ var a,
+ s,
+ l,
+ u = 1,
+ h = !1,
+ f = !1,
+ d,
+ p,
+ m,
+ g,
+ y,
+ v;
+ if (
+ (t.listener !== null && t.listener('open', t),
+ (t.tag = null),
+ (t.anchor = null),
+ (t.kind = null),
+ (t.result = null),
+ (a = s = l = wC === r || eve === r),
+ n &&
+ Ai(t, !0, -1) &&
+ ((h = !0), t.lineIndent > e ? (u = 1) : t.lineIndent === e ? (u = 0) : t.lineIndent < e && (u = -1)),
+ u === 1)
+ )
+ for (; Ztt(t) || Jtt(t); )
+ Ai(t, !0, -1)
+ ? ((h = !0),
+ (l = a),
+ t.lineIndent > e ? (u = 1) : t.lineIndent === e ? (u = 0) : t.lineIndent < e && (u = -1))
+ : (l = !1);
+ if (
+ (l && (l = h || i),
+ (u === 1 || wC === r) &&
+ (bC === r || Jye === r ? (y = e) : (y = e + 1),
+ (v = t.position - t.lineStart),
+ u === 1
+ ? (l && (Fye(t, v) || Qtt(t, v, y))) || jtt(t, y)
+ ? (f = !0)
+ : ((s && Ktt(t, y)) || qtt(t, y) || Xtt(t, y)
+ ? (f = !0)
+ : ert(t)
+ ? ((f = !0),
+ (t.tag !== null || t.anchor !== null) &&
+ Gt(t, 'alias node should not have any properties'))
+ : Wtt(t, y, bC === r) && ((f = !0), t.tag === null && (t.tag = '?')),
+ t.anchor !== null && (t.anchorMap[t.anchor] = t.result))
+ : u === 0 && (f = l && Fye(t, v))),
+ t.tag === null)
+ )
+ t.anchor !== null && (t.anchorMap[t.anchor] = t.result);
+ else if (t.tag === '?') {
+ for (
+ t.result !== null &&
+ t.kind !== 'scalar' &&
+ Gt(t, 'unacceptable node kind for !> tag; it should be "scalar", not "' + t.kind + '"'),
+ d = 0,
+ p = t.implicitTypes.length;
+ d < p;
+ d += 1
+ )
+ if (((g = t.implicitTypes[d]), g.resolve(t.result))) {
+ (t.result = g.construct(t.result)),
+ (t.tag = g.tag),
+ t.anchor !== null && (t.anchorMap[t.anchor] = t.result);
+ break;
+ }
+ } else if (t.tag !== '!') {
+ if (Bf.call(t.typeMap[t.kind || 'fallback'], t.tag)) g = t.typeMap[t.kind || 'fallback'][t.tag];
+ else
+ for (g = null, m = t.typeMap.multi[t.kind || 'fallback'], d = 0, p = m.length; d < p; d += 1)
+ if (t.tag.slice(0, m[d].tag.length) === m[d].tag) {
+ g = m[d];
+ break;
+ }
+ g || Gt(t, 'unknown tag !<' + t.tag + '>'),
+ t.result !== null &&
+ g.kind !== t.kind &&
+ Gt(
+ t,
+ 'unacceptable node kind for !<' +
+ t.tag +
+ '> tag; it should be "' +
+ g.kind +
+ '", not "' +
+ t.kind +
+ '"'
+ ),
+ g.resolve(t.result, t.tag)
+ ? ((t.result = g.construct(t.result, t.tag)),
+ t.anchor !== null && (t.anchorMap[t.anchor] = t.result))
+ : Gt(t, 'cannot resolve a node with !<' + t.tag + '> explicit tag');
+ }
+ return t.listener !== null && t.listener('close', t), t.tag !== null || t.anchor !== null || f;
+ }
+ o(N1, 'composeNode');
+ function trt(t) {
+ var e = t.position,
+ r,
+ n,
+ i,
+ a = !1,
+ s;
+ for (
+ t.version = null,
+ t.checkLineBreaks = t.legacy,
+ t.tagMap = Object.create(null),
+ t.anchorMap = Object.create(null);
+ (s = t.input.charCodeAt(t.position)) !== 0 &&
+ (Ai(t, !0, -1), (s = t.input.charCodeAt(t.position)), !(t.lineIndent > 0 || s !== 37));
+
+ ) {
+ for (a = !0, s = t.input.charCodeAt(++t.position), r = t.position; s !== 0 && !Vs(s); )
+ s = t.input.charCodeAt(++t.position);
+ for (
+ n = t.input.slice(r, t.position),
+ i = [],
+ n.length < 1 && Gt(t, 'directive name must not be less than one character in length');
+ s !== 0;
+
+ ) {
+ for (; rp(s); ) s = t.input.charCodeAt(++t.position);
+ if (s === 35) {
+ do s = t.input.charCodeAt(++t.position);
+ while (s !== 0 && !qc(s));
+ break;
+ }
+ if (qc(s)) break;
+ for (r = t.position; s !== 0 && !Vs(s); ) s = t.input.charCodeAt(++t.position);
+ i.push(t.input.slice(r, t.position));
+ }
+ s !== 0 && fF(t), Bf.call(Pye, n) ? Pye[n](t, n, i) : TC(t, 'unknown document directive "' + n + '"');
+ }
+ if (
+ (Ai(t, !0, -1),
+ t.lineIndent === 0 &&
+ t.input.charCodeAt(t.position) === 45 &&
+ t.input.charCodeAt(t.position + 1) === 45 &&
+ t.input.charCodeAt(t.position + 2) === 45
+ ? ((t.position += 3), Ai(t, !0, -1))
+ : a && Gt(t, 'directives end mark is expected'),
+ N1(t, t.lineIndent - 1, wC, !1, !0),
+ Ai(t, !0, -1),
+ t.checkLineBreaks &&
+ ztt.test(t.input.slice(e, t.position)) &&
+ TC(t, 'non-ASCII line breaks are interpreted as content'),
+ t.documents.push(t.result),
+ t.position === t.lineStart && CC(t))
+ ) {
+ t.input.charCodeAt(t.position) === 46 && ((t.position += 3), Ai(t, !0, -1));
+ return;
+ }
+ if (t.position < t.length - 1) Gt(t, 'end of the stream or a document separator is expected');
+ else return;
+ }
+ o(trt, 'readDocument');
+ function sve(t, e) {
+ (t = String(t)),
+ (e = e || {}),
+ t.length !== 0 &&
+ (t.charCodeAt(t.length - 1) !== 10 &&
+ t.charCodeAt(t.length - 1) !== 13 &&
+ (t += `
+`),
+ t.charCodeAt(0) === 65279 && (t = t.slice(1)));
+ var r = new Ytt(t, e),
+ n = t.indexOf('\0');
+ for (
+ n !== -1 && ((r.position = n), Gt(r, 'null byte is not allowed in input')), r.input += '\0';
+ r.input.charCodeAt(r.position) === 32;
+
+ )
+ (r.lineIndent += 1), (r.position += 1);
+ for (; r.position < r.length - 1; ) trt(r);
+ return r.documents;
+ }
+ o(sve, 'loadDocuments');
+ function rrt(t, e, r) {
+ e !== null && typeof e == 'object' && typeof r > 'u' && ((r = e), (e = null));
+ var n = sve(t, r);
+ if (typeof e != 'function') return n;
+ for (var i = 0, a = n.length; i < a; i += 1) e(n[i]);
+ }
+ o(rrt, 'loadAll$1');
+ function nrt(t, e) {
+ var r = sve(t, e);
+ if (r.length !== 0) {
+ if (r.length === 1) return r[0];
+ throw new $s('expected a single document in the stream, but found more');
+ }
+ }
+ o(nrt, 'load$1');
+ var irt = rrt,
+ art = nrt,
+ ove = { loadAll: irt, load: art },
+ lve = Object.prototype.toString,
+ cve = Object.prototype.hasOwnProperty,
+ pF = 65279,
+ srt = 9,
+ Cb = 10,
+ ort = 13,
+ lrt = 32,
+ crt = 33,
+ urt = 34,
+ oF = 35,
+ hrt = 37,
+ frt = 38,
+ drt = 39,
+ prt = 42,
+ uve = 44,
+ mrt = 45,
+ kC = 58,
+ grt = 61,
+ yrt = 62,
+ vrt = 63,
+ xrt = 64,
+ hve = 91,
+ fve = 93,
+ brt = 96,
+ dve = 123,
+ wrt = 124,
+ pve = 125,
+ Ua = {};
+ Ua[0] = '\\0';
+ Ua[7] = '\\a';
+ Ua[8] = '\\b';
+ Ua[9] = '\\t';
+ Ua[10] = '\\n';
+ Ua[11] = '\\v';
+ Ua[12] = '\\f';
+ Ua[13] = '\\r';
+ Ua[27] = '\\e';
+ Ua[34] = '\\"';
+ Ua[92] = '\\\\';
+ Ua[133] = '\\N';
+ Ua[160] = '\\_';
+ Ua[8232] = '\\L';
+ Ua[8233] = '\\P';
+ var Trt = ['y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'],
+ krt = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
+ function Ert(t, e) {
+ var r, n, i, a, s, l, u;
+ if (e === null) return {};
+ for (r = {}, n = Object.keys(e), i = 0, a = n.length; i < a; i += 1)
+ (s = n[i]),
+ (l = String(e[s])),
+ s.slice(0, 2) === '!!' && (s = 'tag:yaml.org,2002:' + s.slice(2)),
+ (u = t.compiledTypeMap.fallback[s]),
+ u && cve.call(u.styleAliases, l) && (l = u.styleAliases[l]),
+ (r[s] = l);
+ return r;
+ }
+ o(Ert, 'compileStyleMap');
+ function Crt(t) {
+ var e, r, n;
+ if (((e = t.toString(16).toUpperCase()), t <= 255)) (r = 'x'), (n = 2);
+ else if (t <= 65535) (r = 'u'), (n = 4);
+ else if (t <= 4294967295) (r = 'U'), (n = 8);
+ else throw new $s('code point within a string may not be greater than 0xFFFFFFFF');
+ return '\\' + r + Wi.repeat('0', n - e.length) + e;
+ }
+ o(Crt, 'encodeHex');
+ var Srt = 1,
+ Sb = 2;
+ function Art(t) {
+ (this.schema = t.schema || Zye),
+ (this.indent = Math.max(1, t.indent || 2)),
+ (this.noArrayIndent = t.noArrayIndent || !1),
+ (this.skipInvalid = t.skipInvalid || !1),
+ (this.flowLevel = Wi.isNothing(t.flowLevel) ? -1 : t.flowLevel),
+ (this.styleMap = Ert(this.schema, t.styles || null)),
+ (this.sortKeys = t.sortKeys || !1),
+ (this.lineWidth = t.lineWidth || 80),
+ (this.noRefs = t.noRefs || !1),
+ (this.noCompatMode = t.noCompatMode || !1),
+ (this.condenseFlow = t.condenseFlow || !1),
+ (this.quotingType = t.quotingType === '"' ? Sb : Srt),
+ (this.forceQuotes = t.forceQuotes || !1),
+ (this.replacer = typeof t.replacer == 'function' ? t.replacer : null),
+ (this.implicitTypes = this.schema.compiledImplicit),
+ (this.explicitTypes = this.schema.compiledExplicit),
+ (this.tag = null),
+ (this.result = ''),
+ (this.duplicates = []),
+ (this.usedDuplicates = null);
+ }
+ o(Art, 'State');
+ function zye(t, e) {
+ for (var r = Wi.repeat(' ', e), n = 0, i = -1, a = '', s, l = t.length; n < l; )
+ (i = t.indexOf(
+ `
+`,
+ n
+ )),
+ i === -1 ? ((s = t.slice(n)), (n = l)) : ((s = t.slice(n, i + 1)), (n = i + 1)),
+ s.length &&
+ s !==
+ `
+` &&
+ (a += r),
+ (a += s);
+ return a;
+ }
+ o(zye, 'indentString');
+ function lF(t, e) {
+ return (
+ `
+` + Wi.repeat(' ', t.indent * e)
+ );
+ }
+ o(lF, 'generateNextLine');
+ function _rt(t, e) {
+ var r, n, i;
+ for (r = 0, n = t.implicitTypes.length; r < n; r += 1) if (((i = t.implicitTypes[r]), i.resolve(e))) return !0;
+ return !1;
+ }
+ o(_rt, 'testImplicitResolving');
+ function EC(t) {
+ return t === lrt || t === srt;
+ }
+ o(EC, 'isWhitespace');
+ function Ab(t) {
+ return (
+ (32 <= t && t <= 126) ||
+ (161 <= t && t <= 55295 && t !== 8232 && t !== 8233) ||
+ (57344 <= t && t <= 65533 && t !== pF) ||
+ (65536 <= t && t <= 1114111)
+ );
+ }
+ o(Ab, 'isPrintable');
+ function Gye(t) {
+ return Ab(t) && t !== pF && t !== ort && t !== Cb;
+ }
+ o(Gye, 'isNsCharOrWhitespace');
+ function $ye(t, e, r) {
+ var n = Gye(t),
+ i = n && !EC(t);
+ return (
+ ((r ? n : n && t !== uve && t !== hve && t !== fve && t !== dve && t !== pve) &&
+ t !== oF &&
+ !(e === kC && !i)) ||
+ (Gye(e) && !EC(e) && t === oF) ||
+ (e === kC && i)
+ );
+ }
+ o($ye, 'isPlainSafe');
+ function Lrt(t) {
+ return (
+ Ab(t) &&
+ t !== pF &&
+ !EC(t) &&
+ t !== mrt &&
+ t !== vrt &&
+ t !== kC &&
+ t !== uve &&
+ t !== hve &&
+ t !== fve &&
+ t !== dve &&
+ t !== pve &&
+ t !== oF &&
+ t !== frt &&
+ t !== prt &&
+ t !== crt &&
+ t !== wrt &&
+ t !== grt &&
+ t !== yrt &&
+ t !== drt &&
+ t !== urt &&
+ t !== hrt &&
+ t !== xrt &&
+ t !== brt
+ );
+ }
+ o(Lrt, 'isPlainSafeFirst');
+ function Drt(t) {
+ return !EC(t) && t !== kC;
+ }
+ o(Drt, 'isPlainSafeLast');
+ function kb(t, e) {
+ var r = t.charCodeAt(e),
+ n;
+ return r >= 55296 && r <= 56319 && e + 1 < t.length && ((n = t.charCodeAt(e + 1)), n >= 56320 && n <= 57343)
+ ? (r - 55296) * 1024 + n - 56320 + 65536
+ : r;
+ }
+ o(kb, 'codePointAt');
+ function mve(t) {
+ var e = /^\n* /;
+ return e.test(t);
+ }
+ o(mve, 'needIndentIndicator');
+ var gve = 1,
+ cF = 2,
+ yve = 3,
+ vve = 4,
+ L1 = 5;
+ function Rrt(t, e, r, n, i, a, s, l) {
+ var u,
+ h = 0,
+ f = null,
+ d = !1,
+ p = !1,
+ m = n !== -1,
+ g = -1,
+ y = Lrt(kb(t, 0)) && Drt(kb(t, t.length - 1));
+ if (e || s)
+ for (u = 0; u < t.length; h >= 65536 ? (u += 2) : u++) {
+ if (((h = kb(t, u)), !Ab(h))) return L1;
+ (y = y && $ye(h, f, l)), (f = h);
+ }
+ else {
+ for (u = 0; u < t.length; h >= 65536 ? (u += 2) : u++) {
+ if (((h = kb(t, u)), h === Cb))
+ (d = !0), m && ((p = p || (u - g - 1 > n && t[g + 1] !== ' ')), (g = u));
+ else if (!Ab(h)) return L1;
+ (y = y && $ye(h, f, l)), (f = h);
+ }
+ p = p || (m && u - g - 1 > n && t[g + 1] !== ' ');
+ }
+ return !d && !p
+ ? y && !s && !i(t)
+ ? gve
+ : a === Sb
+ ? L1
+ : cF
+ : r > 9 && mve(t)
+ ? L1
+ : s
+ ? a === Sb
+ ? L1
+ : cF
+ : p
+ ? vve
+ : yve;
+ }
+ o(Rrt, 'chooseScalarStyle');
+ function Nrt(t, e, r, n, i) {
+ t.dump = (function () {
+ if (e.length === 0) return t.quotingType === Sb ? '""' : "''";
+ if (!t.noCompatMode && (Trt.indexOf(e) !== -1 || krt.test(e)))
+ return t.quotingType === Sb ? '"' + e + '"' : "'" + e + "'";
+ var a = t.indent * Math.max(1, r),
+ s = t.lineWidth === -1 ? -1 : Math.max(Math.min(t.lineWidth, 40), t.lineWidth - a),
+ l = n || (t.flowLevel > -1 && r >= t.flowLevel);
+ function u(h) {
+ return _rt(t, h);
+ }
+ switch ((o(u, 'testAmbiguity'), Rrt(e, l, t.indent, s, u, t.quotingType, t.forceQuotes && !n, i))) {
+ case gve:
+ return e;
+ case cF:
+ return "'" + e.replace(/'/g, "''") + "'";
+ case yve:
+ return '|' + Vye(e, t.indent) + Uye(zye(e, a));
+ case vve:
+ return '>' + Vye(e, t.indent) + Uye(zye(Mrt(e, s), a));
+ case L1:
+ return '"' + Irt(e) + '"';
+ default:
+ throw new $s('impossible error: invalid scalar style');
+ }
+ })();
+ }
+ o(Nrt, 'writeScalar');
+ function Vye(t, e) {
+ var r = mve(t) ? String(e) : '',
+ n =
+ t[t.length - 1] ===
+ `
+`,
+ i =
+ n &&
+ (t[t.length - 2] ===
+ `
+` ||
+ t ===
+ `
+`),
+ a = i ? '+' : n ? '' : '-';
+ return (
+ r +
+ a +
+ `
+`
+ );
+ }
+ o(Vye, 'blockHeader');
+ function Uye(t) {
+ return t[t.length - 1] ===
+ `
+`
+ ? t.slice(0, -1)
+ : t;
+ }
+ o(Uye, 'dropEndingNewline');
+ function Mrt(t, e) {
+ for (
+ var r = /(\n+)([^\n]*)/g,
+ n = (function () {
+ var h = t.indexOf(`
+`);
+ return (h = h !== -1 ? h : t.length), (r.lastIndex = h), Hye(t.slice(0, h), e);
+ })(),
+ i =
+ t[0] ===
+ `
+` || t[0] === ' ',
+ a,
+ s;
+ (s = r.exec(t));
+
+ ) {
+ var l = s[1],
+ u = s[2];
+ (a = u[0] === ' '),
+ (n +=
+ l +
+ (!i && !a && u !== ''
+ ? `
+`
+ : '') +
+ Hye(u, e)),
+ (i = a);
+ }
+ return n;
+ }
+ o(Mrt, 'foldString');
+ function Hye(t, e) {
+ if (t === '' || t[0] === ' ') return t;
+ for (var r = / [^ ]/g, n, i = 0, a, s = 0, l = 0, u = ''; (n = r.exec(t)); )
+ (l = n.index),
+ l - i > e &&
+ ((a = s > i ? s : l),
+ (u +=
+ `
+` + t.slice(i, a)),
+ (i = a + 1)),
+ (s = l);
+ return (
+ (u += `
+`),
+ t.length - i > e && s > i
+ ? (u +=
+ t.slice(i, s) +
+ `
+` +
+ t.slice(s + 1))
+ : (u += t.slice(i)),
+ u.slice(1)
+ );
+ }
+ o(Hye, 'foldLine');
+ function Irt(t) {
+ for (var e = '', r = 0, n, i = 0; i < t.length; r >= 65536 ? (i += 2) : i++)
+ (r = kb(t, i)),
+ (n = Ua[r]),
+ !n && Ab(r) ? ((e += t[i]), r >= 65536 && (e += t[i + 1])) : (e += n || Crt(r));
+ return e;
+ }
+ o(Irt, 'escapeString');
+ function Ort(t, e, r) {
+ var n = '',
+ i = t.tag,
+ a,
+ s,
+ l;
+ for (a = 0, s = r.length; a < s; a += 1)
+ (l = r[a]),
+ t.replacer && (l = t.replacer.call(r, String(a), l)),
+ (rh(t, e, l, !1, !1) || (typeof l > 'u' && rh(t, e, null, !1, !1))) &&
+ (n !== '' && (n += ',' + (t.condenseFlow ? '' : ' ')), (n += t.dump));
+ (t.tag = i), (t.dump = '[' + n + ']');
+ }
+ o(Ort, 'writeFlowSequence');
+ function Yye(t, e, r, n) {
+ var i = '',
+ a = t.tag,
+ s,
+ l,
+ u;
+ for (s = 0, l = r.length; s < l; s += 1)
+ (u = r[s]),
+ t.replacer && (u = t.replacer.call(r, String(s), u)),
+ (rh(t, e + 1, u, !0, !0, !1, !0) || (typeof u > 'u' && rh(t, e + 1, null, !0, !0, !1, !0))) &&
+ ((!n || i !== '') && (i += lF(t, e)),
+ t.dump && Cb === t.dump.charCodeAt(0) ? (i += '-') : (i += '- '),
+ (i += t.dump));
+ (t.tag = a), (t.dump = i || '[]');
+ }
+ o(Yye, 'writeBlockSequence');
+ function Prt(t, e, r) {
+ var n = '',
+ i = t.tag,
+ a = Object.keys(r),
+ s,
+ l,
+ u,
+ h,
+ f;
+ for (s = 0, l = a.length; s < l; s += 1)
+ (f = ''),
+ n !== '' && (f += ', '),
+ t.condenseFlow && (f += '"'),
+ (u = a[s]),
+ (h = r[u]),
+ t.replacer && (h = t.replacer.call(r, u, h)),
+ rh(t, e, u, !1, !1) &&
+ (t.dump.length > 1024 && (f += '? '),
+ (f += t.dump + (t.condenseFlow ? '"' : '') + ':' + (t.condenseFlow ? '' : ' ')),
+ rh(t, e, h, !1, !1) && ((f += t.dump), (n += f)));
+ (t.tag = i), (t.dump = '{' + n + '}');
+ }
+ o(Prt, 'writeFlowMapping');
+ function Brt(t, e, r, n) {
+ var i = '',
+ a = t.tag,
+ s = Object.keys(r),
+ l,
+ u,
+ h,
+ f,
+ d,
+ p;
+ if (t.sortKeys === !0) s.sort();
+ else if (typeof t.sortKeys == 'function') s.sort(t.sortKeys);
+ else if (t.sortKeys) throw new $s('sortKeys must be a boolean or a function');
+ for (l = 0, u = s.length; l < u; l += 1)
+ (p = ''),
+ (!n || i !== '') && (p += lF(t, e)),
+ (h = s[l]),
+ (f = r[h]),
+ t.replacer && (f = t.replacer.call(r, h, f)),
+ rh(t, e + 1, h, !0, !0, !0) &&
+ ((d = (t.tag !== null && t.tag !== '?') || (t.dump && t.dump.length > 1024)),
+ d && (t.dump && Cb === t.dump.charCodeAt(0) ? (p += '?') : (p += '? ')),
+ (p += t.dump),
+ d && (p += lF(t, e)),
+ rh(t, e + 1, f, !0, d) &&
+ (t.dump && Cb === t.dump.charCodeAt(0) ? (p += ':') : (p += ': '), (p += t.dump), (i += p)));
+ (t.tag = a), (t.dump = i || '{}');
+ }
+ o(Brt, 'writeBlockMapping');
+ function Wye(t, e, r) {
+ var n, i, a, s, l, u;
+ for (i = r ? t.explicitTypes : t.implicitTypes, a = 0, s = i.length; a < s; a += 1)
+ if (
+ ((l = i[a]),
+ (l.instanceOf || l.predicate) &&
+ (!l.instanceOf || (typeof e == 'object' && e instanceof l.instanceOf)) &&
+ (!l.predicate || l.predicate(e)))
+ ) {
+ if (
+ (r ? (l.multi && l.representName ? (t.tag = l.representName(e)) : (t.tag = l.tag)) : (t.tag = '?'),
+ l.represent)
+ ) {
+ if (((u = t.styleMap[l.tag] || l.defaultStyle), lve.call(l.represent) === '[object Function]'))
+ n = l.represent(e, u);
+ else if (cve.call(l.represent, u)) n = l.represent[u](e, u);
+ else throw new $s('!<' + l.tag + '> tag resolver accepts not "' + u + '" style');
+ t.dump = n;
+ }
+ return !0;
+ }
+ return !1;
+ }
+ o(Wye, 'detectType');
+ function rh(t, e, r, n, i, a, s) {
+ (t.tag = null), (t.dump = r), Wye(t, r, !1) || Wye(t, r, !0);
+ var l = lve.call(t.dump),
+ u = n,
+ h;
+ n && (n = t.flowLevel < 0 || t.flowLevel > e);
+ var f = l === '[object Object]' || l === '[object Array]',
+ d,
+ p;
+ if (
+ (f && ((d = t.duplicates.indexOf(r)), (p = d !== -1)),
+ ((t.tag !== null && t.tag !== '?') || p || (t.indent !== 2 && e > 0)) && (i = !1),
+ p && t.usedDuplicates[d])
+ )
+ t.dump = '*ref_' + d;
+ else {
+ if ((f && p && !t.usedDuplicates[d] && (t.usedDuplicates[d] = !0), l === '[object Object]'))
+ n && Object.keys(t.dump).length !== 0
+ ? (Brt(t, e, t.dump, i), p && (t.dump = '&ref_' + d + t.dump))
+ : (Prt(t, e, t.dump), p && (t.dump = '&ref_' + d + ' ' + t.dump));
+ else if (l === '[object Array]')
+ n && t.dump.length !== 0
+ ? (t.noArrayIndent && !s && e > 0 ? Yye(t, e - 1, t.dump, i) : Yye(t, e, t.dump, i),
+ p && (t.dump = '&ref_' + d + t.dump))
+ : (Ort(t, e, t.dump), p && (t.dump = '&ref_' + d + ' ' + t.dump));
+ else if (l === '[object String]') t.tag !== '?' && Nrt(t, t.dump, e, a, u);
+ else {
+ if (l === '[object Undefined]') return !1;
+ if (t.skipInvalid) return !1;
+ throw new $s('unacceptable kind of an object to dump ' + l);
+ }
+ t.tag !== null &&
+ t.tag !== '?' &&
+ ((h = encodeURI(t.tag[0] === '!' ? t.tag.slice(1) : t.tag).replace(/!/g, '%21')),
+ t.tag[0] === '!'
+ ? (h = '!' + h)
+ : h.slice(0, 18) === 'tag:yaml.org,2002:'
+ ? (h = '!!' + h.slice(18))
+ : (h = '!<' + h + '>'),
+ (t.dump = h + ' ' + t.dump));
+ }
+ return !0;
+ }
+ o(rh, 'writeNode');
+ function Frt(t, e) {
+ var r = [],
+ n = [],
+ i,
+ a;
+ for (uF(t, r, n), i = 0, a = n.length; i < a; i += 1) e.duplicates.push(r[n[i]]);
+ e.usedDuplicates = new Array(a);
+ }
+ o(Frt, 'getDuplicateReferences');
+ function uF(t, e, r) {
+ var n, i, a;
+ if (t !== null && typeof t == 'object')
+ if (((i = e.indexOf(t)), i !== -1)) r.indexOf(i) === -1 && r.push(i);
+ else if ((e.push(t), Array.isArray(t))) for (i = 0, a = t.length; i < a; i += 1) uF(t[i], e, r);
+ else for (n = Object.keys(t), i = 0, a = n.length; i < a; i += 1) uF(t[n[i]], e, r);
+ }
+ o(uF, 'inspectNode');
+ function zrt(t, e) {
+ e = e || {};
+ var r = new Art(e);
+ r.noRefs || Frt(t, r);
+ var n = t;
+ return (
+ r.replacer && (n = r.replacer.call({ '': n }, '', n)),
+ rh(r, 0, n, !0, !0)
+ ? r.dump +
+ `
+`
+ : ''
+ );
+ }
+ o(zrt, 'dump$1');
+ var Grt = zrt,
+ $rt = { dump: Grt };
+ function mF(t, e) {
+ return function () {
+ throw new Error(
+ 'Function yaml.' +
+ t +
+ ' is removed in js-yaml 4. Use yaml.' +
+ e +
+ ' instead, which is now safe by default.'
+ );
+ };
+ }
+ o(mF, 'renamed');
+ var xve = jye;
+ var bve = ove.load,
+ gmr = ove.loadAll,
+ ymr = $rt.dump;
+ var vmr = mF('safeLoad', 'load'),
+ xmr = mF('safeLoadAll', 'loadAll'),
+ bmr = mF('safeDump', 'dump');
+ function wve(t) {
+ let e = t.match($b);
+ if (!e) return { text: t, metadata: {} };
+ let r = bve(e[1], { schema: xve }) ?? {};
+ r = typeof r == 'object' && !Array.isArray(r) ? r : {};
+ let n = {};
+ return (
+ r.displayMode && (n.displayMode = r.displayMode.toString()),
+ r.title && (n.title = r.title.toString()),
+ r.config && (n.config = r.config),
+ { text: t.slice(e[0].length), metadata: n }
+ );
+ }
+ o(wve, 'extractFrontMatter');
+ xr();
+ var Urt = o(
+ (t) =>
+ t
+ .replace(
+ /\r\n?/g,
+ `
+`
+ )
+ .replace(/<(\w+)([^>]*)>/g, (e, r, n) => '<' + r + n.replace(/="([^"]*)"/g, "='$1'") + '>'),
+ 'cleanupText'
+ ),
+ Hrt = o((t) => {
+ let { text: e, metadata: r } = wve(t),
+ { displayMode: n, title: i, config: a = {} } = r;
+ return n && (a.gantt || (a.gantt = {}), (a.gantt.displayMode = n)), { title: i, config: a, text: e };
+ }, 'processFrontmatter'),
+ Yrt = o((t) => {
+ let e = Lt.detectInit(t) ?? {},
+ r = Lt.detectDirective(t, 'wrap');
+ return (
+ Array.isArray(r)
+ ? (e.wrap = r.some(({ type: n }) => n === 'wrap'))
+ : r?.type === 'wrap' && (e.wrap = !0),
+ { text: EX(t), directive: e }
+ );
+ }, 'processDirectives');
+ function gF(t) {
+ let e = Urt(t),
+ r = Hrt(e),
+ n = Yrt(r.text),
+ i = Ts(r.config, n.directive);
+ return (t = Rye(n.text)), { code: t, title: r.title, config: i };
+ }
+ o(gF, 'preprocessDiagram');
+ Z7();
+ Kb();
+ xr();
+ function Tve(t) {
+ let e = new TextEncoder().encode(t),
+ r = Array.from(e, (n) => String.fromCodePoint(n)).join('');
+ return btoa(r);
+ }
+ o(Tve, 'toBase64');
+ var Wrt = 5e4,
+ qrt = 'graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa',
+ Xrt = 'sandbox',
+ jrt = 'loose',
+ Krt = 'http://www.w3.org/2000/svg',
+ Qrt = 'http://www.w3.org/1999/xlink',
+ Zrt = 'http://www.w3.org/1999/xhtml',
+ Jrt = '100%',
+ ent = '100%',
+ tnt = 'border:0;margin:0;',
+ rnt = 'margin:0',
+ nnt = 'allow-top-navigation-by-user-activation allow-popups',
+ int = 'The "iframe" tag is not supported by your browser.',
+ ant = ['foreignobject'],
+ snt = ['dominant-baseline'];
+ function Ave(t) {
+ let e = gF(t);
+ return Q1(), jz(e.config ?? {}), e;
+ }
+ o(Ave, 'processAndSetConfigs');
+ async function ont(t, e) {
+ k1();
+ try {
+ let { code: r, config: n } = Ave(t);
+ return { diagramType: (await _ve(r)).type, config: n };
+ } catch (r) {
+ if (e?.suppressErrors) return !1;
+ throw r;
+ }
+ }
+ o(ont, 'parse');
+ var kve = o(
+ (t, e, r = []) => `
+.${t} ${e} { ${r.join(' !important; ')} !important; }`,
+ 'cssImportantStyles'
+ ),
+ lnt = o((t, e = new Map()) => {
+ let r = '';
+ if (
+ (t.themeCSS !== void 0 &&
+ (r += `
+${t.themeCSS}`),
+ t.fontFamily !== void 0 &&
+ (r += `
+:root { --mermaid-font-family: ${t.fontFamily}}`),
+ t.altFontFamily !== void 0 &&
+ (r += `
+:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),
+ e instanceof Map)
+ ) {
+ let s =
+ t.htmlLabels ?? t.flowchart?.htmlLabels
+ ? ['> *', 'span']
+ : ['rect', 'polygon', 'ellipse', 'circle', 'path'];
+ e.forEach((l) => {
+ Qt(l.styles) ||
+ s.forEach((u) => {
+ r += kve(l.id, u, l.styles);
+ }),
+ Qt(l.textStyles) ||
+ (r += kve(
+ l.id,
+ 'tspan',
+ (l?.textStyles || []).map((u) => u.replace('color', 'fill'))
+ ));
+ });
+ }
+ return r;
+ }, 'createCssStyles'),
+ cnt = o((t, e, r, n) => {
+ let i = lnt(t, r),
+ a = D$(e, i, t.themeVariables);
+ return xC(Cye(`${n}{${a}}`), Sye);
+ }, 'createUserStyles'),
+ unt = o((t = '', e, r) => {
+ let n = t;
+ return (
+ !r && !e && (n = n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g, 'marker-end="url(#')),
+ (n = to(n)),
+ (n = n.replace(/
/g, '
')),
+ n
+ );
+ }, 'cleanUpSvgCode'),
+ hnt = o((t = '', e) => {
+ let r = e?.viewBox?.baseVal?.height ? e.viewBox.baseVal.height + 'px' : ent,
+ n = Tve(`${t}`);
+ return ``;
+ }, 'putIntoIFrame'),
+ Eve = o((t, e, r, n, i) => {
+ let a = t.append('div');
+ a.attr('id', r), n && a.attr('style', n);
+ let s = a.append('svg').attr('id', e).attr('width', '100%').attr('xmlns', Krt);
+ return i && s.attr('xmlns:xlink', i), s.append('g'), t;
+ }, 'appendDivSvgG');
+ function Cve(t, e) {
+ return t.append('iframe').attr('id', e).attr('style', 'width: 100%; height: 100%;').attr('sandbox', '');
+ }
+ o(Cve, 'sandboxedIframe');
+ var fnt = o((t, e, r, n) => {
+ t.getElementById(e)?.remove(), t.getElementById(r)?.remove(), t.getElementById(n)?.remove();
+ }, 'removeExistingElements'),
+ dnt = o(async function (t, e, r) {
+ k1();
+ let n = Ave(e);
+ e = n.code;
+ let i = Or();
+ V.debug(i), e.length > (i?.maxTextSize ?? Wrt) && (e = qrt);
+ let a = '#' + t,
+ s = 'i' + t,
+ l = '#' + s,
+ u = 'd' + t,
+ h = '#' + u,
+ f = o(() => {
+ let I = $e(p ? l : h).node();
+ I && 'remove' in I && I.remove();
+ }, 'removeTempElements'),
+ d = $e('body'),
+ p = i.securityLevel === Xrt,
+ m = i.securityLevel === jrt,
+ g = i.fontFamily;
+ if (r !== void 0) {
+ if ((r && (r.innerHTML = ''), p)) {
+ let k = Cve($e(r), s);
+ (d = $e(k.nodes()[0].contentDocument.body)), (d.node().style.margin = 0);
+ } else d = $e(r);
+ Eve(d, t, u, `font-family: ${g}`, Qrt);
+ } else {
+ if ((fnt(document, t, u, s), p)) {
+ let k = Cve($e('body'), s);
+ (d = $e(k.nodes()[0].contentDocument.body)), (d.node().style.margin = 0);
+ } else d = $e('body');
+ Eve(d, t, u);
+ }
+ let y, v;
+ try {
+ y = await _1.fromText(e, { title: n.title });
+ } catch (k) {
+ if (i.suppressErrorRendering) throw (f(), k);
+ (y = await _1.fromText('error')), (v = k);
+ }
+ let x = d.select(h).node(),
+ b = y.type,
+ w = x.firstChild,
+ S = w.firstChild,
+ T = y.renderer.getClasses?.(e, y),
+ E = cnt(i, b, T, a),
+ _ = document.createElement('style');
+ (_.innerHTML = E), w.insertBefore(_, S);
+ try {
+ await y.renderer.draw(e, t, fx, y);
+ } catch (k) {
+ throw (i.suppressErrorRendering ? f() : Ede.draw(e, t, fx), k);
+ }
+ let A = d.select(`${h} svg`),
+ L = y.db.getAccTitle?.(),
+ M = y.db.getAccDescription?.();
+ mnt(b, A, L, M), d.select(`[id="${t}"]`).selectAll('foreignobject > *').attr('xmlns', Zrt);
+ let N = d.select(h).node().innerHTML;
+ if (
+ (V.debug('config.arrowMarkerAbsolute', i.arrowMarkerAbsolute),
+ (N = unt(N, p, yr(i.arrowMarkerAbsolute))),
+ p)
+ ) {
+ let k = d.select(h + ' svg').node();
+ N = hnt(N, k);
+ } else m || (N = Sve.default.sanitize(N, { ADD_TAGS: ant, ADD_ATTR: snt }));
+ if ((Dye(), v)) throw v;
+ return f(), { diagramType: b, svg: N, bindFunctions: y.db.bindFunctions };
+ }, 'render');
+ function pnt(t = {}) {
+ let e = On({}, t);
+ e?.fontFamily &&
+ !e.themeVariables?.fontFamily &&
+ (e.themeVariables || (e.themeVariables = {}), (e.themeVariables.fontFamily = e.fontFamily)),
+ Wz(e),
+ e?.theme && e.theme in Co
+ ? (e.themeVariables = Co[e.theme].getThemeVariables(e.themeVariables))
+ : e && (e.themeVariables = Co.default.getThemeVariables(e.themeVariables));
+ let r = typeof e == 'object' ? n7(e) : i7();
+ $1(r.logLevel), k1();
+ }
+ o(pnt, 'initialize');
+ var _ve = o((t, e = {}) => {
+ let { code: r } = gF(t);
+ return _1.fromText(r, e);
+ }, 'getDiagramFromText');
+ function mnt(t, e, r, n) {
+ Aye(e, t), _ye(e, r, n, e.attr('id'));
+ }
+ o(mnt, 'addA11yInfo');
+ var Ff = Object.freeze({
+ render: dnt,
+ parse: ont,
+ getDiagramFromText: _ve,
+ initialize: pnt,
+ getConfig: Or,
+ setConfig: Zb,
+ getSiteConfig: i7,
+ updateSiteConfig: qz,
+ reset: o(() => {
+ Q1();
+ }, 'reset'),
+ globalReset: o(() => {
+ Q1(uh);
+ }, 'globalReset'),
+ defaultConfig: uh
+ });
+ $1(Or().logLevel);
+ Q1(Or());
+ oT();
+ xr();
+ var gnt = o((t, e, r) => {
+ V.warn(t),
+ r9(t)
+ ? (r && r(t.str, t.hash), e.push({ ...t, message: t.str, error: t }))
+ : (r && r(t),
+ t instanceof Error &&
+ e.push({
+ str: t.message,
+ message: t.message,
+ hash: t.name,
+ error: t
+ }));
+ }, 'handleError'),
+ Lve = o(async function (t = { querySelector: '.mermaid' }) {
+ try {
+ await ynt(t);
+ } catch (e) {
+ if ((r9(e) && V.error(e.str), nh.parseError && nh.parseError(e), !t.suppressErrors))
+ throw (V.error('Use the suppressErrors option to suppress these errors'), e);
+ }
+ }, 'run'),
+ ynt = o(async function (
+ { postRenderCallback: t, querySelector: e, nodes: r } = {
+ querySelector: '.mermaid'
+ }
+ ) {
+ let n = Ff.getConfig();
+ V.debug(`${t ? '' : 'No '}Callback function found`);
+ let i;
+ if (r) i = r;
+ else if (e) i = document.querySelectorAll(e);
+ else throw new Error('Nodes and querySelector are both undefined');
+ V.debug(`Found ${i.length} diagrams`),
+ n?.startOnLoad !== void 0 &&
+ (V.debug('Start On Load: ' + n?.startOnLoad), Ff.updateSiteConfig({ startOnLoad: n?.startOnLoad }));
+ let a = new Lt.InitIDGenerator(n.deterministicIds, n.deterministicIDSeed),
+ s,
+ l = [];
+ for (let u of Array.from(i)) {
+ V.info('Rendering diagram: ' + u.id);
+ if (u.getAttribute('data-processed')) continue;
+ u.setAttribute('data-processed', 'true');
+ let h = `mermaid-${a.next()}`;
+ (s = u.innerHTML),
+ (s = Gb(Lt.entityDecode(s))
+ .trim()
+ .replace(/
/gi, '
'));
+ let f = Lt.detectInit(s);
+ f && V.debug('Detected early reinit: ', f);
+ try {
+ let { svg: d, bindFunctions: p } = await Mve(h, s, u);
+ (u.innerHTML = d), t && (await t(h)), p && p(u);
+ } catch (d) {
+ gnt(d, l, nh.parseError);
+ }
+ }
+ if (l.length > 0) throw l[0];
+ }, 'runThrowsErrors'),
+ Dve = o(function (t) {
+ Ff.initialize(t);
+ }, 'initialize'),
+ vnt = o(async function (t, e, r) {
+ V.warn('mermaid.init is deprecated. Please use run instead.'), t && Dve(t);
+ let n = { postRenderCallback: r, querySelector: '.mermaid' };
+ typeof e == 'string'
+ ? (n.querySelector = e)
+ : e && (e instanceof HTMLElement ? (n.nodes = [e]) : (n.nodes = e)),
+ await Lve(n);
+ }, 'init'),
+ xnt = o(async (t, { lazyLoad: e = !0 } = {}) => {
+ k1(), Ub(...t), e === !1 && (await lye());
+ }, 'registerExternalDiagrams'),
+ Rve = o(function () {
+ if (nh.startOnLoad) {
+ let { startOnLoad: t } = Ff.getConfig();
+ t && nh.run().catch((e) => V.error('Mermaid failed to initialize', e));
+ }
+ }, 'contentLoaded');
+ if (typeof document < 'u') {
+ window.addEventListener('load', Rve, !1);
+ }
+ var bnt = o(function (t) {
+ nh.parseError = t;
+ }, 'setParseErrorHandler'),
+ SC = [],
+ yF = !1,
+ Nve = o(async () => {
+ if (!yF) {
+ for (yF = !0; SC.length > 0; ) {
+ let t = SC.shift();
+ if (t)
+ try {
+ await t();
+ } catch (e) {
+ V.error('Error executing queue', e);
+ }
+ }
+ yF = !1;
+ }
+ }, 'executeQueue'),
+ wnt = o(
+ async (t, e) =>
+ new Promise((r, n) => {
+ let i = o(
+ () =>
+ new Promise((a, s) => {
+ Ff.parse(t, e).then(
+ (l) => {
+ a(l), r(l);
+ },
+ (l) => {
+ V.error('Error parsing', l), nh.parseError?.(l), s(l), n(l);
+ }
+ );
+ }),
+ 'performCall'
+ );
+ SC.push(i), Nve().catch(n);
+ }),
+ 'parse'
+ ),
+ Mve = o(
+ (t, e, r) =>
+ new Promise((n, i) => {
+ let a = o(
+ () =>
+ new Promise((s, l) => {
+ Ff.render(t, e, r).then(
+ (u) => {
+ s(u), n(u);
+ },
+ (u) => {
+ V.error('Error parsing', u), nh.parseError?.(u), l(u), i(u);
+ }
+ );
+ }),
+ 'performCall'
+ );
+ SC.push(a), Nve().catch(i);
+ }),
+ 'render'
+ ),
+ nh = {
+ startOnLoad: !0,
+ mermaidAPI: Ff,
+ parse: wnt,
+ render: Mve,
+ init: vnt,
+ run: Lve,
+ registerExternalDiagrams: xnt,
+ registerLayoutLoaders: gD,
+ initialize: Dve,
+ parseError: void 0,
+ contentLoaded: Rve,
+ setParseErrorHandler: bnt,
+ detectType: lp,
+ registerIconPacks: Fb
+ },
+ Tnt = nh;
+ return $ve(knt);
+})();
+/*! Check if previously processed */
+/*!
+ * Wait for document loaded before starting the execution
+ */
+/*! Bundled license information:
+
+dompurify/dist/purify.js:
+ (*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE *)
+
+lodash-es/lodash.js:
+ (**
+ * @license
+ * Lodash (Custom Build)
+ * Build: `lodash modularize exports="es" -o ./`
+ * Copyright OpenJS Foundation and other contributors
+ * Released under MIT license
+ * Based on Underscore.js 1.8.3
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ *)
+
+cytoscape/dist/cytoscape.esm.mjs:
+ (*!
+ Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
+ Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
+ Licensed under The MIT License (http://opensource.org/licenses/MIT)
+ *)
+ (*!
+ Event object based on jQuery events, MIT license
+
+ https://jquery.org/license/
+ https://tldrlegal.com/license/mit-license
+ https://github.com/jquery/jquery/blob/master/src/event.js
+ *)
+ (*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *)
+ (*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *)
+
+js-yaml/dist/js-yaml.mjs:
+ (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *)
+*/
+globalThis.mermaid = globalThis.__esbuild_esm_mermaid.default;
diff --git a/docs/js/version-box.js b/docs/js/version-box.js
new file mode 100644
index 000000000000..932a75a5e3bb
--- /dev/null
+++ b/docs/js/version-box.js
@@ -0,0 +1,61 @@
+document.addEventListener('DOMContentLoaded', function () {
+ // Get the base URL from the mdBook configuration
+ const baseUrl = document.location.origin + '/zksync-era/core';
+
+ // Function to create version selector
+ function createVersionSelector(versions) {
+ const versionSelector = document.createElement('select');
+ versionSelector.id = 'version-selector';
+
+ // Get the current path
+ const currentPath = window.location.pathname;
+
+ // Iterate over the versions object
+ for (const [versionName, versionUrl] of Object.entries(versions)) {
+ const option = document.createElement('option');
+ option.value = versionUrl + '/';
+ option.textContent = versionName;
+
+ // Check if the current URL matches this option's value
+ if (currentPath.includes(option.value)) {
+ option.selected = true; // Set this option as selected
+ }
+
+ versionSelector.appendChild(option);
+ }
+
+ // Event listener to handle version change
+ versionSelector.addEventListener('change', function () {
+ const selectedVersion = versionSelector.value;
+ // Redirect to the selected version URL
+ window.location.href = '/zksync-era/core' + selectedVersion;
+ });
+
+ return versionSelector;
+ }
+
+ // Fetch versions from JSON file
+ fetch(baseUrl + '/versions.json')
+ .then((response) => {
+ if (!response.ok) {
+ throw new Error('Network response was not ok ' + response.statusText);
+ }
+ return response.json();
+ })
+ .then((data) => {
+ const versionSelector = createVersionSelector(data);
+ const nav = document.querySelector('.right-buttons');
+
+ if (nav) {
+ const versionBox = document.createElement('div');
+ versionBox.id = 'version-box';
+ versionBox.appendChild(versionSelector);
+ nav.appendChild(versionBox); // Append to the .right-buttons container
+ } else {
+ console.error('.right-buttons element not found.');
+ }
+ })
+ .catch((error) => {
+ console.error('There has been a problem with your fetch operation:', error);
+ });
+});
diff --git a/docs/src/README.md b/docs/src/README.md
new file mode 100644
index 000000000000..ab6a417877b5
--- /dev/null
+++ b/docs/src/README.md
@@ -0,0 +1,26 @@
+# Introduction
+
+Welcome to the documentation! This guide provides comprehensive insights into the architecture, setup, usage, and
+advanced features of ZKsync.
+
+## Documentation Structure
+
+- **Guides**: The Guides section is designed to help users at every level, from setup and development to advanced
+ configuration and debugging techniques. It covers essential topics, including Docker setup, repository management, and
+ architecture.
+
+- **Specs**: This section dives into the technical specifications of our system. Here, you’ll find detailed
+ documentation on data availability, L1 and L2 communication, smart contract interactions, Zero-Knowledge proofs, and
+ more. Each topic includes an in-depth explanation to support advanced users and developers.
+
+- **Announcements**: This section highlights important updates, announcements, and committee details, providing
+ essential information to keep users informed on the latest changes.
+
+## Getting Started
+
+Feel free to explore each section according to your needs. This documentation is designed to be modular, so you can jump
+to specific topics or follow through step-by-step.
+
+---
+
+Thank you for using our documentation!
diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md
new file mode 100644
index 000000000000..d74d2d0c8487
--- /dev/null
+++ b/docs/src/SUMMARY.md
@@ -0,0 +1,85 @@
+
+
+# Summary
+
+[Introduction](README.md)
+
+# Guides
+
+- [Basic](guides/README.md)
+
+ - [Architecture](guides/architecture.md)
+ - [Build Docker](guides/build-docker.md)
+ - [Development](guides/development.md)
+ - [Launch](guides/launch.md)
+ - [Repositories](guides/repositories.md)
+ - [Setup Dev](guides/setup-dev.md)
+
+- [Advanced](guides/advanced/README.md)
+ - [Local initialization](guides/advanced/01_initialization.md)
+ - [Deposits](guides/advanced/02_deposits.md)
+ - [Withdrawals](guides/advanced/03_withdrawals.md)
+ - [Contracts](guides/advanced/04_contracts.md)
+ - [Calls](guides/advanced/05_how_call_works.md)
+ - [Transactions](guides/advanced/06_how_transaction_works.md)
+ - [Fee Model](guides/advanced/07_fee_model.md)
+ - [L2 Messaging](guides/advanced/08_how_l2_messaging_works.md)
+ - [Pubdata](guides/advanced/09_pubdata.md)
+ - [Pubdata with Blobs](guides/advanced/10_pubdata_with_blobs.md)
+ - [Bytecode compression](guides/advanced/11_compression.md)
+ - [EraVM intro](guides/advanced/12_alternative_vm_intro.md)
+ - [ZK Intuition](guides/advanced/13_zk_intuition.md)
+ - [ZK Deeper Dive](guides/advanced/14_zk_deeper_overview.md)
+ - [Prover Keys](guides/advanced/15_prover_keys.md)
+ - [Advanced Debugging](guides/advanced/90_advanced_debugging.md)
+ - [Docker and CI](guides/advanced/91_docker_and_ci.md)
+
+# External Node
+
+- [External node](guides/external-node/01_intro.md)
+ - [Quick Start](guides/external-node/00_quick_start.md)
+ - [Configuration](guides/external-node/02_configuration.md)
+ - [Running](guides/external-node/03_running.md)
+ - [Observability](guides/external-node/04_observability.md)
+ - [Troubleshooting](guides/external-node/05_troubleshooting.md)
+ - [Components](guides/external-node/06_components.md)
+ - [Snapshots Recovery](guides/external-node/07_snapshots_recovery.md)
+ - [Pruning](guides/external-node/08_pruning.md)
+ - [Treeless Mode](guides/external-node/09_treeless_mode.md)
+
+# Specs
+
+- [Introduction](specs/introduction.md)
+ - [Overview](specs/overview.md)
+ - [Blocks and Batches](specs/blocks_batches.md)
+ - [L1 Smart Contracts](specs/l1_smart_contracts.md)
+- [Data Availability](specs/data_availability/overview.md)
+ - [Pubdata](specs/data_availability/pubdata.md)
+ - [Compression](specs/data_availability/compression.md)
+ - [Reconstruction](specs/data_availability/reconstruction.md)
+ - [Validium ZK Porter](specs/data_availability/validium_zk_porter.md)
+- [L1 L2 Communication](specs/l1_l2_communication/overview_deposits_withdrawals.md)
+ - [L1 to L2](specs/l1_l2_communication/l1_to_l2.md)
+ - [L2 to L1](specs/l1_l2_communication/l2_to_l1.md)
+- [Prover](specs/prover/overview.md)
+ - [Getting Started](specs/prover/getting_started.md)
+ - [ZK Terminology](specs/prover/zk_terminology.md)
+ - [Function Check if Satisfied](specs/prover/boojum_function_check_if_satisfied.md)
+ - [Gadgets](specs/prover/boojum_gadgets.md)
+ - [Circuit Testing](specs/prover/circuit_testing.md)
+ - [Circuits Overview](specs/prover/circuits/overview.md)
+- [ZK Chains](specs/zk_chains/overview.md)
+ - [Gateway](specs/zk_chains/gateway.md)
+ - [Interop](specs/zk_chains/interop.md)
+ - [Shared Bridge](specs/zk_chains/shared_bridge.md)
+- [ZK EVM](specs/zk_evm/vm_overview.md)
+ - [Account Abstraction](specs/zk_evm/account_abstraction.md)
+ - [Bootloader](specs/zk_evm/bootloader.md)
+ - [Fee Model](specs/zk_evm/fee_model.md)
+ - [Precompiles](specs/zk_evm/precompiles.md)
+ - [System Contracts](specs/zk_evm/system_contracts.md)
+
+# Announcements
+
+- [Announcements](announcements/README.md)
+ - [Attester Committee](announcements/attester_commitee.md)
diff --git a/docs/announcements/README.md b/docs/src/announcements/README.md
similarity index 100%
rename from docs/announcements/README.md
rename to docs/src/announcements/README.md
diff --git a/docs/announcements/attester_commitee.md b/docs/src/announcements/attester_commitee.md
similarity index 100%
rename from docs/announcements/attester_commitee.md
rename to docs/src/announcements/attester_commitee.md
diff --git a/docs/src/guides/README.md b/docs/src/guides/README.md
new file mode 100644
index 000000000000..f9d5bc852a26
--- /dev/null
+++ b/docs/src/guides/README.md
@@ -0,0 +1,12 @@
+# ZKsync basic guides
+
+This section contains basic guides that aim to explain the ZKsync ecosystem in an easy to grasp way.
+
+## Table of Contents
+
+- [Architecture](./architecture.md)
+- [Build Docker](./build-docker.md)
+- [Development](./development.md)
+- [Launch](./launch.md)
+- [Repositories](./repositories.md)
+- [Setup Dev](./setup-dev.md)
diff --git a/docs/guides/advanced/01_initialization.md b/docs/src/guides/advanced/01_initialization.md
similarity index 100%
rename from docs/guides/advanced/01_initialization.md
rename to docs/src/guides/advanced/01_initialization.md
diff --git a/docs/guides/advanced/02_deposits.md b/docs/src/guides/advanced/02_deposits.md
similarity index 100%
rename from docs/guides/advanced/02_deposits.md
rename to docs/src/guides/advanced/02_deposits.md
diff --git a/docs/guides/advanced/03_withdrawals.md b/docs/src/guides/advanced/03_withdrawals.md
similarity index 100%
rename from docs/guides/advanced/03_withdrawals.md
rename to docs/src/guides/advanced/03_withdrawals.md
diff --git a/docs/guides/advanced/04_contracts.md b/docs/src/guides/advanced/04_contracts.md
similarity index 100%
rename from docs/guides/advanced/04_contracts.md
rename to docs/src/guides/advanced/04_contracts.md
diff --git a/docs/guides/advanced/05_how_call_works.md b/docs/src/guides/advanced/05_how_call_works.md
similarity index 100%
rename from docs/guides/advanced/05_how_call_works.md
rename to docs/src/guides/advanced/05_how_call_works.md
diff --git a/docs/guides/advanced/06_how_transaction_works.md b/docs/src/guides/advanced/06_how_transaction_works.md
similarity index 100%
rename from docs/guides/advanced/06_how_transaction_works.md
rename to docs/src/guides/advanced/06_how_transaction_works.md
diff --git a/docs/guides/advanced/07_fee_model.md b/docs/src/guides/advanced/07_fee_model.md
similarity index 100%
rename from docs/guides/advanced/07_fee_model.md
rename to docs/src/guides/advanced/07_fee_model.md
diff --git a/docs/guides/advanced/08_how_l2_messaging_works.md b/docs/src/guides/advanced/08_how_l2_messaging_works.md
similarity index 100%
rename from docs/guides/advanced/08_how_l2_messaging_works.md
rename to docs/src/guides/advanced/08_how_l2_messaging_works.md
diff --git a/docs/guides/advanced/09_pubdata.md b/docs/src/guides/advanced/09_pubdata.md
similarity index 100%
rename from docs/guides/advanced/09_pubdata.md
rename to docs/src/guides/advanced/09_pubdata.md
diff --git a/docs/guides/advanced/10_pubdata_with_blobs.md b/docs/src/guides/advanced/10_pubdata_with_blobs.md
similarity index 100%
rename from docs/guides/advanced/10_pubdata_with_blobs.md
rename to docs/src/guides/advanced/10_pubdata_with_blobs.md
diff --git a/docs/guides/advanced/11_compression.md b/docs/src/guides/advanced/11_compression.md
similarity index 100%
rename from docs/guides/advanced/11_compression.md
rename to docs/src/guides/advanced/11_compression.md
diff --git a/docs/guides/advanced/12_alternative_vm_intro.md b/docs/src/guides/advanced/12_alternative_vm_intro.md
similarity index 100%
rename from docs/guides/advanced/12_alternative_vm_intro.md
rename to docs/src/guides/advanced/12_alternative_vm_intro.md
diff --git a/docs/guides/advanced/13_zk_intuition.md b/docs/src/guides/advanced/13_zk_intuition.md
similarity index 100%
rename from docs/guides/advanced/13_zk_intuition.md
rename to docs/src/guides/advanced/13_zk_intuition.md
diff --git a/docs/guides/advanced/14_zk_deeper_overview.md b/docs/src/guides/advanced/14_zk_deeper_overview.md
similarity index 100%
rename from docs/guides/advanced/14_zk_deeper_overview.md
rename to docs/src/guides/advanced/14_zk_deeper_overview.md
diff --git a/docs/guides/advanced/15_prover_keys.md b/docs/src/guides/advanced/15_prover_keys.md
similarity index 100%
rename from docs/guides/advanced/15_prover_keys.md
rename to docs/src/guides/advanced/15_prover_keys.md
diff --git a/docs/guides/advanced/90_advanced_debugging.md b/docs/src/guides/advanced/90_advanced_debugging.md
similarity index 100%
rename from docs/guides/advanced/90_advanced_debugging.md
rename to docs/src/guides/advanced/90_advanced_debugging.md
diff --git a/docs/guides/advanced/91_docker_and_ci.md b/docs/src/guides/advanced/91_docker_and_ci.md
similarity index 100%
rename from docs/guides/advanced/91_docker_and_ci.md
rename to docs/src/guides/advanced/91_docker_and_ci.md
diff --git a/docs/guides/advanced/README.md b/docs/src/guides/advanced/README.md
similarity index 98%
rename from docs/guides/advanced/README.md
rename to docs/src/guides/advanced/README.md
index 5a3673b558ad..48555ed0d9c9 100644
--- a/docs/guides/advanced/README.md
+++ b/docs/src/guides/advanced/README.md
@@ -22,7 +22,7 @@ way.
- [Prover keys](./15_prover_keys.md)
Additionally, there are a few articles that cover specific topics that may be useful for developers actively working on
-`zksync-era` repo.
+`zksync-era` repo:
- [Advanced debugging](./90_advanced_debugging.md)
- [Docker and CI](./91_docker_and_ci.md)
diff --git a/docs/guides/architecture.md b/docs/src/guides/architecture.md
similarity index 100%
rename from docs/guides/architecture.md
rename to docs/src/guides/architecture.md
diff --git a/docs/guides/build-docker.md b/docs/src/guides/build-docker.md
similarity index 100%
rename from docs/guides/build-docker.md
rename to docs/src/guides/build-docker.md
diff --git a/docs/guides/development.md b/docs/src/guides/development.md
similarity index 100%
rename from docs/guides/development.md
rename to docs/src/guides/development.md
diff --git a/docs/guides/external-node/00_quick_start.md b/docs/src/guides/external-node/00_quick_start.md
similarity index 100%
rename from docs/guides/external-node/00_quick_start.md
rename to docs/src/guides/external-node/00_quick_start.md
diff --git a/docs/guides/external-node/01_intro.md b/docs/src/guides/external-node/01_intro.md
similarity index 100%
rename from docs/guides/external-node/01_intro.md
rename to docs/src/guides/external-node/01_intro.md
diff --git a/docs/guides/external-node/02_configuration.md b/docs/src/guides/external-node/02_configuration.md
similarity index 100%
rename from docs/guides/external-node/02_configuration.md
rename to docs/src/guides/external-node/02_configuration.md
diff --git a/docs/guides/external-node/03_running.md b/docs/src/guides/external-node/03_running.md
similarity index 100%
rename from docs/guides/external-node/03_running.md
rename to docs/src/guides/external-node/03_running.md
diff --git a/docs/guides/external-node/04_observability.md b/docs/src/guides/external-node/04_observability.md
similarity index 100%
rename from docs/guides/external-node/04_observability.md
rename to docs/src/guides/external-node/04_observability.md
diff --git a/docs/guides/external-node/05_troubleshooting.md b/docs/src/guides/external-node/05_troubleshooting.md
similarity index 100%
rename from docs/guides/external-node/05_troubleshooting.md
rename to docs/src/guides/external-node/05_troubleshooting.md
diff --git a/docs/guides/external-node/06_components.md b/docs/src/guides/external-node/06_components.md
similarity index 100%
rename from docs/guides/external-node/06_components.md
rename to docs/src/guides/external-node/06_components.md
diff --git a/docs/guides/external-node/07_snapshots_recovery.md b/docs/src/guides/external-node/07_snapshots_recovery.md
similarity index 100%
rename from docs/guides/external-node/07_snapshots_recovery.md
rename to docs/src/guides/external-node/07_snapshots_recovery.md
diff --git a/docs/guides/external-node/08_pruning.md b/docs/src/guides/external-node/08_pruning.md
similarity index 100%
rename from docs/guides/external-node/08_pruning.md
rename to docs/src/guides/external-node/08_pruning.md
diff --git a/docs/guides/external-node/09_treeless_mode.md b/docs/src/guides/external-node/09_treeless_mode.md
similarity index 100%
rename from docs/guides/external-node/09_treeless_mode.md
rename to docs/src/guides/external-node/09_treeless_mode.md
diff --git a/docs/src/guides/external-node/README.md b/docs/src/guides/external-node/README.md
new file mode 100644
index 000000000000..becd9846d4f2
--- /dev/null
+++ b/docs/src/guides/external-node/README.md
@@ -0,0 +1 @@
+# External node
diff --git a/docs/guides/external-node/docker-compose-examples/configs/generate_secrets.sh b/docs/src/guides/external-node/docker-compose-examples/configs/generate_secrets.sh
similarity index 100%
rename from docs/guides/external-node/docker-compose-examples/configs/generate_secrets.sh
rename to docs/src/guides/external-node/docker-compose-examples/configs/generate_secrets.sh
diff --git a/docs/guides/external-node/docker-compose-examples/configs/mainnet_consensus_config.yaml b/docs/src/guides/external-node/docker-compose-examples/configs/mainnet_consensus_config.yaml
similarity index 100%
rename from docs/guides/external-node/docker-compose-examples/configs/mainnet_consensus_config.yaml
rename to docs/src/guides/external-node/docker-compose-examples/configs/mainnet_consensus_config.yaml
diff --git a/docs/guides/external-node/docker-compose-examples/configs/testnet_consensus_config.yaml b/docs/src/guides/external-node/docker-compose-examples/configs/testnet_consensus_config.yaml
similarity index 100%
rename from docs/guides/external-node/docker-compose-examples/configs/testnet_consensus_config.yaml
rename to docs/src/guides/external-node/docker-compose-examples/configs/testnet_consensus_config.yaml
diff --git a/docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/Consensus.json b/docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/Consensus.json
similarity index 100%
rename from docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/Consensus.json
rename to docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/Consensus.json
diff --git a/docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/General.json b/docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/General.json
similarity index 100%
rename from docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/General.json
rename to docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/General.json
diff --git a/docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/default.yml b/docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/default.yml
similarity index 100%
rename from docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/default.yml
rename to docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/default.yml
diff --git a/docs/guides/external-node/docker-compose-examples/grafana/provisioning/datasources/prometheus.yml b/docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/datasources/prometheus.yml
similarity index 100%
rename from docs/guides/external-node/docker-compose-examples/grafana/provisioning/datasources/prometheus.yml
rename to docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/datasources/prometheus.yml
diff --git a/docs/guides/external-node/docker-compose-examples/mainnet-external-node-docker-compose.yml b/docs/src/guides/external-node/docker-compose-examples/mainnet-external-node-docker-compose.yml
similarity index 100%
rename from docs/guides/external-node/docker-compose-examples/mainnet-external-node-docker-compose.yml
rename to docs/src/guides/external-node/docker-compose-examples/mainnet-external-node-docker-compose.yml
diff --git a/docs/guides/external-node/docker-compose-examples/prometheus/prometheus.yml b/docs/src/guides/external-node/docker-compose-examples/prometheus/prometheus.yml
similarity index 100%
rename from docs/guides/external-node/docker-compose-examples/prometheus/prometheus.yml
rename to docs/src/guides/external-node/docker-compose-examples/prometheus/prometheus.yml
diff --git a/docs/guides/external-node/docker-compose-examples/testnet-external-node-docker-compose.yml b/docs/src/guides/external-node/docker-compose-examples/testnet-external-node-docker-compose.yml
similarity index 100%
rename from docs/guides/external-node/docker-compose-examples/testnet-external-node-docker-compose.yml
rename to docs/src/guides/external-node/docker-compose-examples/testnet-external-node-docker-compose.yml
diff --git a/docs/guides/external-node/prepared_configs/mainnet-config.env b/docs/src/guides/external-node/prepared_configs/mainnet-config.env
similarity index 100%
rename from docs/guides/external-node/prepared_configs/mainnet-config.env
rename to docs/src/guides/external-node/prepared_configs/mainnet-config.env
diff --git a/docs/guides/external-node/prepared_configs/mainnet_consensus_config.yaml b/docs/src/guides/external-node/prepared_configs/mainnet_consensus_config.yaml
similarity index 100%
rename from docs/guides/external-node/prepared_configs/mainnet_consensus_config.yaml
rename to docs/src/guides/external-node/prepared_configs/mainnet_consensus_config.yaml
diff --git a/docs/guides/external-node/prepared_configs/testnet-goerli-config-deprecated.env b/docs/src/guides/external-node/prepared_configs/testnet-goerli-config-deprecated.env
similarity index 100%
rename from docs/guides/external-node/prepared_configs/testnet-goerli-config-deprecated.env
rename to docs/src/guides/external-node/prepared_configs/testnet-goerli-config-deprecated.env
diff --git a/docs/guides/external-node/prepared_configs/testnet-sepolia-config.env b/docs/src/guides/external-node/prepared_configs/testnet-sepolia-config.env
similarity index 100%
rename from docs/guides/external-node/prepared_configs/testnet-sepolia-config.env
rename to docs/src/guides/external-node/prepared_configs/testnet-sepolia-config.env
diff --git a/docs/guides/external-node/prepared_configs/testnet_consensus_config.yaml b/docs/src/guides/external-node/prepared_configs/testnet_consensus_config.yaml
similarity index 100%
rename from docs/guides/external-node/prepared_configs/testnet_consensus_config.yaml
rename to docs/src/guides/external-node/prepared_configs/testnet_consensus_config.yaml
diff --git a/docs/guides/launch.md b/docs/src/guides/launch.md
similarity index 100%
rename from docs/guides/launch.md
rename to docs/src/guides/launch.md
diff --git a/docs/guides/repositories.md b/docs/src/guides/repositories.md
similarity index 100%
rename from docs/guides/repositories.md
rename to docs/src/guides/repositories.md
diff --git a/docs/guides/setup-dev.md b/docs/src/guides/setup-dev.md
similarity index 100%
rename from docs/guides/setup-dev.md
rename to docs/src/guides/setup-dev.md
diff --git a/docs/src/misc/contributors.md b/docs/src/misc/contributors.md
new file mode 100644
index 000000000000..77e81149e465
--- /dev/null
+++ b/docs/src/misc/contributors.md
@@ -0,0 +1 @@
+# Contributors
diff --git a/docs/specs/README.md b/docs/src/specs/README.md
similarity index 100%
rename from docs/specs/README.md
rename to docs/src/specs/README.md
diff --git a/docs/specs/blocks_batches.md b/docs/src/specs/blocks_batches.md
similarity index 100%
rename from docs/specs/blocks_batches.md
rename to docs/src/specs/blocks_batches.md
diff --git a/docs/specs/data_availability/README.md b/docs/src/specs/data_availability/README.md
similarity index 100%
rename from docs/specs/data_availability/README.md
rename to docs/src/specs/data_availability/README.md
diff --git a/docs/specs/data_availability/compression.md b/docs/src/specs/data_availability/compression.md
similarity index 100%
rename from docs/specs/data_availability/compression.md
rename to docs/src/specs/data_availability/compression.md
diff --git a/docs/specs/data_availability/overview.md b/docs/src/specs/data_availability/overview.md
similarity index 100%
rename from docs/specs/data_availability/overview.md
rename to docs/src/specs/data_availability/overview.md
diff --git a/docs/specs/data_availability/pubdata.md b/docs/src/specs/data_availability/pubdata.md
similarity index 100%
rename from docs/specs/data_availability/pubdata.md
rename to docs/src/specs/data_availability/pubdata.md
diff --git a/docs/specs/data_availability/reconstruction.md b/docs/src/specs/data_availability/reconstruction.md
similarity index 100%
rename from docs/specs/data_availability/reconstruction.md
rename to docs/src/specs/data_availability/reconstruction.md
diff --git a/docs/specs/data_availability/validium_zk_porter.md b/docs/src/specs/data_availability/validium_zk_porter.md
similarity index 100%
rename from docs/specs/data_availability/validium_zk_porter.md
rename to docs/src/specs/data_availability/validium_zk_porter.md
diff --git a/docs/specs/img/L2_Components.png b/docs/src/specs/img/L2_Components.png
similarity index 100%
rename from docs/specs/img/L2_Components.png
rename to docs/src/specs/img/L2_Components.png
diff --git a/docs/specs/img/diamondProxy.jpg b/docs/src/specs/img/diamondProxy.jpg
similarity index 100%
rename from docs/specs/img/diamondProxy.jpg
rename to docs/src/specs/img/diamondProxy.jpg
diff --git a/docs/specs/img/governance.jpg b/docs/src/specs/img/governance.jpg
similarity index 100%
rename from docs/specs/img/governance.jpg
rename to docs/src/specs/img/governance.jpg
diff --git a/docs/specs/img/zk-the-collective-action.jpeg b/docs/src/specs/img/zk-the-collective-action.jpeg
similarity index 100%
rename from docs/specs/img/zk-the-collective-action.jpeg
rename to docs/src/specs/img/zk-the-collective-action.jpeg
diff --git a/docs/specs/introduction.md b/docs/src/specs/introduction.md
similarity index 100%
rename from docs/specs/introduction.md
rename to docs/src/specs/introduction.md
diff --git a/docs/specs/l1_l2_communication/README.md b/docs/src/specs/l1_l2_communication/README.md
similarity index 100%
rename from docs/specs/l1_l2_communication/README.md
rename to docs/src/specs/l1_l2_communication/README.md
diff --git a/docs/specs/l1_l2_communication/l1_to_l2.md b/docs/src/specs/l1_l2_communication/l1_to_l2.md
similarity index 100%
rename from docs/specs/l1_l2_communication/l1_to_l2.md
rename to docs/src/specs/l1_l2_communication/l1_to_l2.md
diff --git a/docs/specs/l1_l2_communication/l2_to_l1.md b/docs/src/specs/l1_l2_communication/l2_to_l1.md
similarity index 100%
rename from docs/specs/l1_l2_communication/l2_to_l1.md
rename to docs/src/specs/l1_l2_communication/l2_to_l1.md
diff --git a/docs/specs/l1_l2_communication/overview_deposits_withdrawals.md b/docs/src/specs/l1_l2_communication/overview_deposits_withdrawals.md
similarity index 100%
rename from docs/specs/l1_l2_communication/overview_deposits_withdrawals.md
rename to docs/src/specs/l1_l2_communication/overview_deposits_withdrawals.md
diff --git a/docs/specs/l1_smart_contracts.md b/docs/src/specs/l1_smart_contracts.md
similarity index 100%
rename from docs/specs/l1_smart_contracts.md
rename to docs/src/specs/l1_smart_contracts.md
diff --git a/docs/specs/overview.md b/docs/src/specs/overview.md
similarity index 100%
rename from docs/specs/overview.md
rename to docs/src/specs/overview.md
diff --git a/docs/specs/prover/README.md b/docs/src/specs/prover/README.md
similarity index 100%
rename from docs/specs/prover/README.md
rename to docs/src/specs/prover/README.md
diff --git a/docs/specs/prover/boojum_function_check_if_satisfied.md b/docs/src/specs/prover/boojum_function_check_if_satisfied.md
similarity index 100%
rename from docs/specs/prover/boojum_function_check_if_satisfied.md
rename to docs/src/specs/prover/boojum_function_check_if_satisfied.md
diff --git a/docs/specs/prover/boojum_gadgets.md b/docs/src/specs/prover/boojum_gadgets.md
similarity index 100%
rename from docs/specs/prover/boojum_gadgets.md
rename to docs/src/specs/prover/boojum_gadgets.md
diff --git a/docs/specs/prover/circuit_testing.md b/docs/src/specs/prover/circuit_testing.md
similarity index 100%
rename from docs/specs/prover/circuit_testing.md
rename to docs/src/specs/prover/circuit_testing.md
diff --git a/docs/specs/prover/circuits/README.md b/docs/src/specs/prover/circuits/README.md
similarity index 100%
rename from docs/specs/prover/circuits/README.md
rename to docs/src/specs/prover/circuits/README.md
diff --git a/docs/specs/prover/circuits/code_decommitter.md b/docs/src/specs/prover/circuits/code_decommitter.md
similarity index 100%
rename from docs/specs/prover/circuits/code_decommitter.md
rename to docs/src/specs/prover/circuits/code_decommitter.md
diff --git a/docs/specs/prover/circuits/demux_log_queue.md b/docs/src/specs/prover/circuits/demux_log_queue.md
similarity index 100%
rename from docs/specs/prover/circuits/demux_log_queue.md
rename to docs/src/specs/prover/circuits/demux_log_queue.md
diff --git a/docs/specs/prover/circuits/ecrecover.md b/docs/src/specs/prover/circuits/ecrecover.md
similarity index 100%
rename from docs/specs/prover/circuits/ecrecover.md
rename to docs/src/specs/prover/circuits/ecrecover.md
diff --git a/docs/specs/prover/circuits/img/diagram.png b/docs/src/specs/prover/circuits/img/diagram.png
similarity index 100%
rename from docs/specs/prover/circuits/img/diagram.png
rename to docs/src/specs/prover/circuits/img/diagram.png
diff --git a/docs/specs/prover/circuits/img/flowchart.png b/docs/src/specs/prover/circuits/img/flowchart.png
similarity index 100%
rename from docs/specs/prover/circuits/img/flowchart.png
rename to docs/src/specs/prover/circuits/img/flowchart.png
diff --git a/docs/specs/prover/circuits/img/image.png b/docs/src/specs/prover/circuits/img/image.png
similarity index 100%
rename from docs/specs/prover/circuits/img/image.png
rename to docs/src/specs/prover/circuits/img/image.png
diff --git a/docs/specs/prover/circuits/keccak_round_function.md b/docs/src/specs/prover/circuits/keccak_round_function.md
similarity index 100%
rename from docs/specs/prover/circuits/keccak_round_function.md
rename to docs/src/specs/prover/circuits/keccak_round_function.md
diff --git a/docs/specs/prover/circuits/l1_messages_hasher.md b/docs/src/specs/prover/circuits/l1_messages_hasher.md
similarity index 100%
rename from docs/specs/prover/circuits/l1_messages_hasher.md
rename to docs/src/specs/prover/circuits/l1_messages_hasher.md
diff --git a/docs/specs/prover/circuits/log_sorter.md b/docs/src/specs/prover/circuits/log_sorter.md
similarity index 100%
rename from docs/specs/prover/circuits/log_sorter.md
rename to docs/src/specs/prover/circuits/log_sorter.md
diff --git a/docs/specs/prover/circuits/main_vm.md b/docs/src/specs/prover/circuits/main_vm.md
similarity index 100%
rename from docs/specs/prover/circuits/main_vm.md
rename to docs/src/specs/prover/circuits/main_vm.md
diff --git a/docs/specs/prover/circuits/overview.md b/docs/src/specs/prover/circuits/overview.md
similarity index 100%
rename from docs/specs/prover/circuits/overview.md
rename to docs/src/specs/prover/circuits/overview.md
diff --git a/docs/specs/prover/circuits/ram_permutation.md b/docs/src/specs/prover/circuits/ram_permutation.md
similarity index 100%
rename from docs/specs/prover/circuits/ram_permutation.md
rename to docs/src/specs/prover/circuits/ram_permutation.md
diff --git a/docs/specs/prover/circuits/sha256_round_function.md b/docs/src/specs/prover/circuits/sha256_round_function.md
similarity index 100%
rename from docs/specs/prover/circuits/sha256_round_function.md
rename to docs/src/specs/prover/circuits/sha256_round_function.md
diff --git a/docs/specs/prover/circuits/sort_decommitments.md b/docs/src/specs/prover/circuits/sort_decommitments.md
similarity index 100%
rename from docs/specs/prover/circuits/sort_decommitments.md
rename to docs/src/specs/prover/circuits/sort_decommitments.md
diff --git a/docs/specs/prover/circuits/sorting.md b/docs/src/specs/prover/circuits/sorting.md
similarity index 100%
rename from docs/specs/prover/circuits/sorting.md
rename to docs/src/specs/prover/circuits/sorting.md
diff --git a/docs/specs/prover/circuits/sorting_and_deduplicating.md b/docs/src/specs/prover/circuits/sorting_and_deduplicating.md
similarity index 100%
rename from docs/specs/prover/circuits/sorting_and_deduplicating.md
rename to docs/src/specs/prover/circuits/sorting_and_deduplicating.md
diff --git a/docs/specs/prover/circuits/storage_application.md b/docs/src/specs/prover/circuits/storage_application.md
similarity index 100%
rename from docs/specs/prover/circuits/storage_application.md
rename to docs/src/specs/prover/circuits/storage_application.md
diff --git a/docs/specs/prover/circuits/storage_sorter.md b/docs/src/specs/prover/circuits/storage_sorter.md
similarity index 100%
rename from docs/specs/prover/circuits/storage_sorter.md
rename to docs/src/specs/prover/circuits/storage_sorter.md
diff --git a/docs/specs/prover/getting_started.md b/docs/src/specs/prover/getting_started.md
similarity index 100%
rename from docs/specs/prover/getting_started.md
rename to docs/src/specs/prover/getting_started.md
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(1).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(1).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(1).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(1).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(11).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(11).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(11).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(11).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(12).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(12).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(12).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(12).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(13).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(13).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(13).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(13).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(14).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(14).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(14).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(14).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(16).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(16).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(16).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(16).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(17).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(17).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(17).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(17).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(2).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(2).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(2).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(2).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(3).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(3).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(3).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(3).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(4).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(4).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(4).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(4).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(7).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(7).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(7).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(7).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(8).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(8).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(8).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(8).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(9).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(9).png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(9).png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(9).png
diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied.png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied.png
similarity index 100%
rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied.png
rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied.png
diff --git a/docs/specs/prover/img/circuit_testing/Contest(10).png b/docs/src/specs/prover/img/circuit_testing/Contest(10).png
similarity index 100%
rename from docs/specs/prover/img/circuit_testing/Contest(10).png
rename to docs/src/specs/prover/img/circuit_testing/Contest(10).png
diff --git a/docs/specs/prover/img/circuit_testing/Contest(11).png b/docs/src/specs/prover/img/circuit_testing/Contest(11).png
similarity index 100%
rename from docs/specs/prover/img/circuit_testing/Contest(11).png
rename to docs/src/specs/prover/img/circuit_testing/Contest(11).png
diff --git a/docs/specs/prover/img/circuit_testing/Contest(12).png b/docs/src/specs/prover/img/circuit_testing/Contest(12).png
similarity index 100%
rename from docs/specs/prover/img/circuit_testing/Contest(12).png
rename to docs/src/specs/prover/img/circuit_testing/Contest(12).png
diff --git a/docs/specs/prover/img/circuit_testing/Contest(4).png b/docs/src/specs/prover/img/circuit_testing/Contest(4).png
similarity index 100%
rename from docs/specs/prover/img/circuit_testing/Contest(4).png
rename to docs/src/specs/prover/img/circuit_testing/Contest(4).png
diff --git a/docs/specs/prover/img/circuit_testing/Contest(5).png b/docs/src/specs/prover/img/circuit_testing/Contest(5).png
similarity index 100%
rename from docs/specs/prover/img/circuit_testing/Contest(5).png
rename to docs/src/specs/prover/img/circuit_testing/Contest(5).png
diff --git a/docs/specs/prover/img/circuit_testing/Contest(6).png b/docs/src/specs/prover/img/circuit_testing/Contest(6).png
similarity index 100%
rename from docs/specs/prover/img/circuit_testing/Contest(6).png
rename to docs/src/specs/prover/img/circuit_testing/Contest(6).png
diff --git a/docs/specs/prover/img/circuit_testing/Contest(7).png b/docs/src/specs/prover/img/circuit_testing/Contest(7).png
similarity index 100%
rename from docs/specs/prover/img/circuit_testing/Contest(7).png
rename to docs/src/specs/prover/img/circuit_testing/Contest(7).png
diff --git a/docs/specs/prover/img/circuit_testing/Contest(8).png b/docs/src/specs/prover/img/circuit_testing/Contest(8).png
similarity index 100%
rename from docs/specs/prover/img/circuit_testing/Contest(8).png
rename to docs/src/specs/prover/img/circuit_testing/Contest(8).png
diff --git a/docs/specs/prover/img/circuit_testing/Contest(9).png b/docs/src/specs/prover/img/circuit_testing/Contest(9).png
similarity index 100%
rename from docs/specs/prover/img/circuit_testing/Contest(9).png
rename to docs/src/specs/prover/img/circuit_testing/Contest(9).png
diff --git "a/docs/specs/prover/img/intro_to_zkSync\342\200\231s_ZK/circuit.png" "b/docs/src/specs/prover/img/intro_to_zkSync\342\200\231s_ZK/circuit.png"
similarity index 100%
rename from "docs/specs/prover/img/intro_to_zkSync\342\200\231s_ZK/circuit.png"
rename to "docs/src/specs/prover/img/intro_to_zkSync\342\200\231s_ZK/circuit.png"
diff --git a/docs/specs/prover/overview.md b/docs/src/specs/prover/overview.md
similarity index 100%
rename from docs/specs/prover/overview.md
rename to docs/src/specs/prover/overview.md
diff --git a/docs/specs/prover/zk_terminology.md b/docs/src/specs/prover/zk_terminology.md
similarity index 100%
rename from docs/specs/prover/zk_terminology.md
rename to docs/src/specs/prover/zk_terminology.md
diff --git a/docs/specs/zk_chains/README.md b/docs/src/specs/zk_chains/README.md
similarity index 100%
rename from docs/specs/zk_chains/README.md
rename to docs/src/specs/zk_chains/README.md
diff --git a/docs/specs/zk_chains/gateway.md b/docs/src/specs/zk_chains/gateway.md
similarity index 100%
rename from docs/specs/zk_chains/gateway.md
rename to docs/src/specs/zk_chains/gateway.md
diff --git a/docs/specs/zk_chains/img/contractsExternal.png b/docs/src/specs/zk_chains/img/contractsExternal.png
similarity index 100%
rename from docs/specs/zk_chains/img/contractsExternal.png
rename to docs/src/specs/zk_chains/img/contractsExternal.png
diff --git a/docs/specs/zk_chains/img/deployWeth.png b/docs/src/specs/zk_chains/img/deployWeth.png
similarity index 100%
rename from docs/specs/zk_chains/img/deployWeth.png
rename to docs/src/specs/zk_chains/img/deployWeth.png
diff --git a/docs/specs/zk_chains/img/depositWeth.png b/docs/src/specs/zk_chains/img/depositWeth.png
similarity index 100%
rename from docs/specs/zk_chains/img/depositWeth.png
rename to docs/src/specs/zk_chains/img/depositWeth.png
diff --git a/docs/specs/zk_chains/img/hyperbridges.png b/docs/src/specs/zk_chains/img/hyperbridges.png
similarity index 100%
rename from docs/specs/zk_chains/img/hyperbridges.png
rename to docs/src/specs/zk_chains/img/hyperbridges.png
diff --git a/docs/specs/zk_chains/img/hyperbridging.png b/docs/src/specs/zk_chains/img/hyperbridging.png
similarity index 100%
rename from docs/specs/zk_chains/img/hyperbridging.png
rename to docs/src/specs/zk_chains/img/hyperbridging.png
diff --git a/docs/specs/zk_chains/img/newChain.png b/docs/src/specs/zk_chains/img/newChain.png
similarity index 100%
rename from docs/specs/zk_chains/img/newChain.png
rename to docs/src/specs/zk_chains/img/newChain.png
diff --git a/docs/specs/zk_chains/interop.md b/docs/src/specs/zk_chains/interop.md
similarity index 100%
rename from docs/specs/zk_chains/interop.md
rename to docs/src/specs/zk_chains/interop.md
diff --git a/docs/specs/zk_chains/overview.md b/docs/src/specs/zk_chains/overview.md
similarity index 100%
rename from docs/specs/zk_chains/overview.md
rename to docs/src/specs/zk_chains/overview.md
diff --git a/docs/specs/zk_chains/shared_bridge.md b/docs/src/specs/zk_chains/shared_bridge.md
similarity index 100%
rename from docs/specs/zk_chains/shared_bridge.md
rename to docs/src/specs/zk_chains/shared_bridge.md
diff --git a/docs/specs/zk_evm/README.md b/docs/src/specs/zk_evm/README.md
similarity index 100%
rename from docs/specs/zk_evm/README.md
rename to docs/src/specs/zk_evm/README.md
diff --git a/docs/specs/zk_evm/account_abstraction.md b/docs/src/specs/zk_evm/account_abstraction.md
similarity index 100%
rename from docs/specs/zk_evm/account_abstraction.md
rename to docs/src/specs/zk_evm/account_abstraction.md
diff --git a/docs/specs/zk_evm/bootloader.md b/docs/src/specs/zk_evm/bootloader.md
similarity index 100%
rename from docs/specs/zk_evm/bootloader.md
rename to docs/src/specs/zk_evm/bootloader.md
diff --git a/docs/specs/zk_evm/fee_model.md b/docs/src/specs/zk_evm/fee_model.md
similarity index 100%
rename from docs/specs/zk_evm/fee_model.md
rename to docs/src/specs/zk_evm/fee_model.md
diff --git a/docs/specs/zk_evm/precompiles.md b/docs/src/specs/zk_evm/precompiles.md
similarity index 100%
rename from docs/specs/zk_evm/precompiles.md
rename to docs/src/specs/zk_evm/precompiles.md
diff --git a/docs/specs/zk_evm/system_contracts.md b/docs/src/specs/zk_evm/system_contracts.md
similarity index 100%
rename from docs/specs/zk_evm/system_contracts.md
rename to docs/src/specs/zk_evm/system_contracts.md
diff --git a/docs/specs/zk_evm/vm_overview.md b/docs/src/specs/zk_evm/vm_overview.md
similarity index 100%
rename from docs/specs/zk_evm/vm_overview.md
rename to docs/src/specs/zk_evm/vm_overview.md
diff --git a/docs/specs/zk_evm/vm_specification/EraVM_formal_specification.pdf b/docs/src/specs/zk_evm/vm_specification/EraVM_formal_specification.pdf
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/EraVM_formal_specification.pdf
rename to docs/src/specs/zk_evm/vm_specification/EraVM_formal_specification.pdf
diff --git a/docs/specs/zk_evm/vm_specification/README.md b/docs/src/specs/zk_evm/vm_specification/README.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/README.md
rename to docs/src/specs/zk_evm/vm_specification/README.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/README.md b/docs/src/specs/zk_evm/vm_specification/compiler/README.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/README.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/README.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/code_separation.md b/docs/src/specs/zk_evm/vm_specification/compiler/code_separation.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/code_separation.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/code_separation.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/evmla_translator.md b/docs/src/specs/zk_evm/vm_specification/compiler/evmla_translator.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/evmla_translator.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/evmla_translator.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/exception_handling.md b/docs/src/specs/zk_evm/vm_specification/compiler/exception_handling.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/exception_handling.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/exception_handling.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/README.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/README.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/README.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/README.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/README.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/README.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/README.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/README.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/arithmetic.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/arithmetic.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/arithmetic.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/arithmetic.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/bitwise.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/bitwise.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/bitwise.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/bitwise.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/block.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/block.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/block.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/block.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/call.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/call.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/call.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/call.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/create.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/create.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/create.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/create.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/environment.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/environment.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/environment.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/environment.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/logging.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/logging.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/logging.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/logging.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/logical.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/logical.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/logical.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/logical.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/memory.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/memory.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/memory.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/memory.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/overview.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/overview.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/overview.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/overview.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/return.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/return.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/return.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/return.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/sha3.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/sha3.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/sha3.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/sha3.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/stack.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/stack.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/stack.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/stack.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evmla.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evmla.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evmla.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evmla.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/README.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/README.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/README.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/README.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/call.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/call.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/call.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/call.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/overview.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/overview.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/overview.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/overview.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/verbatim.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/verbatim.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/verbatim.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/verbatim.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/overview.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/overview.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/overview.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/overview.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/yul.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/yul.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/instructions/yul.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/yul.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/overview.md b/docs/src/specs/zk_evm/vm_specification/compiler/overview.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/overview.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/overview.md
diff --git a/docs/specs/zk_evm/vm_specification/compiler/system_contracts.md b/docs/src/specs/zk_evm/vm_specification/compiler/system_contracts.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/compiler/system_contracts.md
rename to docs/src/specs/zk_evm/vm_specification/compiler/system_contracts.md
diff --git a/docs/specs/zk_evm/vm_specification/img/arch-overview.png b/docs/src/specs/zk_evm/vm_specification/img/arch-overview.png
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/img/arch-overview.png
rename to docs/src/specs/zk_evm/vm_specification/img/arch-overview.png
diff --git a/docs/specs/zk_evm/vm_specification/img/arithmetic_opcode.png b/docs/src/specs/zk_evm/vm_specification/img/arithmetic_opcode.png
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/img/arithmetic_opcode.png
rename to docs/src/specs/zk_evm/vm_specification/img/arithmetic_opcode.png
diff --git a/docs/specs/zk_evm/vm_specification/zkSync_era_virtual_machine_primer.md b/docs/src/specs/zk_evm/vm_specification/zkSync_era_virtual_machine_primer.md
similarity index 100%
rename from docs/specs/zk_evm/vm_specification/zkSync_era_virtual_machine_primer.md
rename to docs/src/specs/zk_evm/vm_specification/zkSync_era_virtual_machine_primer.md
diff --git a/prover/docs/.gitignore b/prover/docs/.gitignore
new file mode 100644
index 000000000000..7585238efedf
--- /dev/null
+++ b/prover/docs/.gitignore
@@ -0,0 +1 @@
+book
diff --git a/prover/docs/99_further_reading.md b/prover/docs/99_further_reading.md
deleted file mode 100644
index 64487a715d57..000000000000
--- a/prover/docs/99_further_reading.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Further reading
-
-The documentation in this section aimed to provide a practical overview of the prover workspace, e.g. help people to
-understand how to run provers and what they do.
-
-However, we have some documentation that is more focused on theory of proving in the [core workspace docs](../../docs/).
-
-You may find the following articles helpful for general understanding of ZK proofs:
-
-- [ZK intuition](../../docs/guides/advanced/13_zk_intuition.md).
-- [ZK deeper overview](../../docs/guides/advanced/14_zk_deeper_overview.md).
-- [Prover keys](../../docs/guides/advanced/15_prover_keys.md).
-- [Overview of our ZK proving system implementation](../../docs/specs/prover/).
diff --git a/prover/docs/book.toml b/prover/docs/book.toml
new file mode 100644
index 000000000000..3adefff29819
--- /dev/null
+++ b/prover/docs/book.toml
@@ -0,0 +1,32 @@
+[book]
+authors = ["ZKsync team"]
+language = "en"
+multilingual = false
+src = "src"
+title = "ZKsync Prover Documentation"
+
+[output.html]
+smart-punctuation = true
+mathjax-support = true
+git-repository-url = "https://github.com/matter-labs/zksync-era/tree/main/prover/docs"
+edit-url-template = "https://github.com/matter-labs/zksync-era/tree/main/prover/docs/{path}"
+additional-js = ["js/version-box.js", "js/mermaid.min.js", "js/mermaid-init.js"]
+additional-css = ["css/version-box.css"]
+
+[output.html.playground]
+editable = true
+line-numbers = true
+
+[output.html.search]
+limit-results = 20
+use-boolean-and = true
+boost-title = 2
+boost-hierarchy = 2
+boost-paragraph = 1
+expand = true
+heading-split-level = 2
+
+[preprocessor]
+
+[preprocessor.mermaid]
+command = "mdbook-mermaid"
diff --git a/prover/docs/css/version-box.css b/prover/docs/css/version-box.css
new file mode 100644
index 000000000000..4006ac7804b3
--- /dev/null
+++ b/prover/docs/css/version-box.css
@@ -0,0 +1,46 @@
+#version-box {
+ display: flex;
+ align-items: center;
+ margin-right: 15px; /* Space from the right side */
+ background-color: transparent; /* Make the box background transparent */
+}
+
+/* Base styles for the version selector */
+#version-selector {
+ background-color: transparent; /* Remove background color */
+ border: 1px solid #4a5568; /* Subtle border */
+ border-radius: 4px; /* Rounded edges */
+ padding: 5px 10px; /* Padding inside dropdown */
+ font-size: 0.9em;
+ font-weight: normal;
+ outline: none; /* Removes default focus outline */
+ cursor: pointer;
+}
+
+/* Text color for dark themes */
+.theme-navy #version-selector,
+.theme-coal #version-selector {
+ color: #f7fafc; /* Light text color for dark backgrounds */
+}
+
+/* Text color for light theme */
+.theme-light #version-selector {
+ color: #333333; /* Dark text color for light background */
+}
+
+/* Hover effect for better user feedback */
+#version-selector:hover {
+ background-color: rgba(255, 255, 255, 0.1); /* Light hover effect */
+}
+
+/* Optional: Style for when the selector is focused */
+#version-selector:focus {
+ border-color: #63b3ed; /* Accent color for focused state */
+}
+
+.right-buttons {
+ display: flex;
+ flex-direction: row; /* Aligns items in a row, left to right */
+ align-items: center; /* Centers items vertically */
+ gap: 10px; /* Adds space between items */
+}
diff --git a/prover/docs/js/mermaid-init.js b/prover/docs/js/mermaid-init.js
new file mode 100644
index 000000000000..15a7f4e57c60
--- /dev/null
+++ b/prover/docs/js/mermaid-init.js
@@ -0,0 +1,35 @@
+(() => {
+ const darkThemes = ['ayu', 'navy', 'coal'];
+ const lightThemes = ['light', 'rust'];
+
+ const classList = document.getElementsByTagName('html')[0].classList;
+
+ let lastThemeWasLight = true;
+ for (const cssClass of classList) {
+ if (darkThemes.includes(cssClass)) {
+ lastThemeWasLight = false;
+ break;
+ }
+ }
+
+ const theme = lastThemeWasLight ? 'default' : 'dark';
+ mermaid.initialize({ startOnLoad: true, theme });
+
+ // Simplest way to make mermaid re-render the diagrams in the new theme is via refreshing the page
+
+ for (const darkTheme of darkThemes) {
+ document.getElementById(darkTheme).addEventListener('click', () => {
+ if (lastThemeWasLight) {
+ window.location.reload();
+ }
+ });
+ }
+
+ for (const lightTheme of lightThemes) {
+ document.getElementById(lightTheme).addEventListener('click', () => {
+ if (!lastThemeWasLight) {
+ window.location.reload();
+ }
+ });
+ }
+})();
diff --git a/prover/docs/js/mermaid.min.js b/prover/docs/js/mermaid.min.js
new file mode 100644
index 000000000000..1f2f8474b960
--- /dev/null
+++ b/prover/docs/js/mermaid.min.js
@@ -0,0 +1,133495 @@
+'use strict';
+var __esbuild_esm_mermaid = (() => {
+ var Pve = Object.create;
+ var G1 = Object.defineProperty;
+ var Bve = Object.getOwnPropertyDescriptor;
+ var Fve = Object.getOwnPropertyNames;
+ var zve = Object.getPrototypeOf,
+ Gve = Object.prototype.hasOwnProperty;
+ var o = (t, e) => G1(t, 'name', { value: e, configurable: !0 });
+ var R = (t, e) => () => (t && (e = t((t = 0))), e);
+ var gi = (t, e) => () => (e || t((e = { exports: {} }).exports, e), e.exports),
+ hr = (t, e) => {
+ for (var r in e) G1(t, r, { get: e[r], enumerable: !0 });
+ },
+ Rb = (t, e, r, n) => {
+ if ((e && typeof e == 'object') || typeof e == 'function')
+ for (let i of Fve(e))
+ !Gve.call(t, i) &&
+ i !== r &&
+ G1(t, i, {
+ get: () => e[i],
+ enumerable: !(n = Bve(e, i)) || n.enumerable
+ });
+ return t;
+ },
+ dr = (t, e, r) => (Rb(t, e, 'default'), r && Rb(r, e, 'default')),
+ Xi = (t, e, r) => (
+ (r = t != null ? Pve(zve(t)) : {}),
+ Rb(e || !t || !t.__esModule ? G1(r, 'default', { value: t, enumerable: !0 }) : r, t)
+ ),
+ $ve = (t) => Rb(G1({}, '__esModule', { value: !0 }), t);
+ var Nb = gi((AC, _C) => {
+ 'use strict';
+ (function (t, e) {
+ typeof AC == 'object' && typeof _C < 'u'
+ ? (_C.exports = e())
+ : typeof define == 'function' && define.amd
+ ? define(e)
+ : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs = e());
+ })(AC, function () {
+ 'use strict';
+ var t = 1e3,
+ e = 6e4,
+ r = 36e5,
+ n = 'millisecond',
+ i = 'second',
+ a = 'minute',
+ s = 'hour',
+ l = 'day',
+ u = 'week',
+ h = 'month',
+ f = 'quarter',
+ d = 'year',
+ p = 'date',
+ m = 'Invalid Date',
+ g = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,
+ y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,
+ v = {
+ name: 'en',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ ordinal: o(function (k) {
+ var I = ['th', 'st', 'nd', 'rd'],
+ C = k % 100;
+ return '[' + k + (I[(C - 20) % 10] || I[C] || I[0]) + ']';
+ }, 'ordinal')
+ },
+ x = o(function (k, I, C) {
+ var O = String(k);
+ return !O || O.length >= I ? k : '' + Array(I + 1 - O.length).join(C) + k;
+ }, 'm'),
+ b = {
+ s: x,
+ z: o(function (k) {
+ var I = -k.utcOffset(),
+ C = Math.abs(I),
+ O = Math.floor(C / 60),
+ D = C % 60;
+ return (I <= 0 ? '+' : '-') + x(O, 2, '0') + ':' + x(D, 2, '0');
+ }, 'z'),
+ m: o(function k(I, C) {
+ if (I.date() < C.date()) return -k(C, I);
+ var O = 12 * (C.year() - I.year()) + (C.month() - I.month()),
+ D = I.clone().add(O, h),
+ P = C - D < 0,
+ F = I.clone().add(O + (P ? -1 : 1), h);
+ return +(-(O + (C - D) / (P ? D - F : F - D)) || 0);
+ }, 't'),
+ a: o(function (k) {
+ return k < 0 ? Math.ceil(k) || 0 : Math.floor(k);
+ }, 'a'),
+ p: o(function (k) {
+ return (
+ { M: h, y: d, w: u, d: l, D: p, h: s, m: a, s: i, ms: n, Q: f }[k] ||
+ String(k || '')
+ .toLowerCase()
+ .replace(/s$/, '')
+ );
+ }, 'p'),
+ u: o(function (k) {
+ return k === void 0;
+ }, 'u')
+ },
+ w = 'en',
+ S = {};
+ S[w] = v;
+ var T = '$isDayjsObject',
+ E = o(function (k) {
+ return k instanceof M || !(!k || !k[T]);
+ }, 'S'),
+ _ = o(function k(I, C, O) {
+ var D;
+ if (!I) return w;
+ if (typeof I == 'string') {
+ var P = I.toLowerCase();
+ S[P] && (D = P), C && ((S[P] = C), (D = P));
+ var F = I.split('-');
+ if (!D && F.length > 1) return k(F[0]);
+ } else {
+ var B = I.name;
+ (S[B] = I), (D = B);
+ }
+ return !O && D && (w = D), D || (!O && w);
+ }, 't'),
+ A = o(function (k, I) {
+ if (E(k)) return k.clone();
+ var C = typeof I == 'object' ? I : {};
+ return (C.date = k), (C.args = arguments), new M(C);
+ }, 'O'),
+ L = b;
+ (L.l = _),
+ (L.i = E),
+ (L.w = function (k, I) {
+ return A(k, { locale: I.$L, utc: I.$u, x: I.$x, $offset: I.$offset });
+ });
+ var M = (function () {
+ function k(C) {
+ (this.$L = _(C.locale, null, !0)),
+ this.parse(C),
+ (this.$x = this.$x || C.x || {}),
+ (this[T] = !0);
+ }
+ o(k, 'M');
+ var I = k.prototype;
+ return (
+ (I.parse = function (C) {
+ (this.$d = (function (O) {
+ var D = O.date,
+ P = O.utc;
+ if (D === null) return new Date(NaN);
+ if (L.u(D)) return new Date();
+ if (D instanceof Date) return new Date(D);
+ if (typeof D == 'string' && !/Z$/i.test(D)) {
+ var F = D.match(g);
+ if (F) {
+ var B = F[2] - 1 || 0,
+ $ = (F[7] || '0').substring(0, 3);
+ return P
+ ? new Date(Date.UTC(F[1], B, F[3] || 1, F[4] || 0, F[5] || 0, F[6] || 0, $))
+ : new Date(F[1], B, F[3] || 1, F[4] || 0, F[5] || 0, F[6] || 0, $);
+ }
+ }
+ return new Date(D);
+ })(C)),
+ this.init();
+ }),
+ (I.init = function () {
+ var C = this.$d;
+ (this.$y = C.getFullYear()),
+ (this.$M = C.getMonth()),
+ (this.$D = C.getDate()),
+ (this.$W = C.getDay()),
+ (this.$H = C.getHours()),
+ (this.$m = C.getMinutes()),
+ (this.$s = C.getSeconds()),
+ (this.$ms = C.getMilliseconds());
+ }),
+ (I.$utils = function () {
+ return L;
+ }),
+ (I.isValid = function () {
+ return this.$d.toString() !== m;
+ }),
+ (I.isSame = function (C, O) {
+ var D = A(C);
+ return this.startOf(O) <= D && D <= this.endOf(O);
+ }),
+ (I.isAfter = function (C, O) {
+ return A(C) < this.startOf(O);
+ }),
+ (I.isBefore = function (C, O) {
+ return this.endOf(O) < A(C);
+ }),
+ (I.$g = function (C, O, D) {
+ return L.u(C) ? this[O] : this.set(D, C);
+ }),
+ (I.unix = function () {
+ return Math.floor(this.valueOf() / 1e3);
+ }),
+ (I.valueOf = function () {
+ return this.$d.getTime();
+ }),
+ (I.startOf = function (C, O) {
+ var D = this,
+ P = !!L.u(O) || O,
+ F = L.p(C),
+ B = o(function (J, Z) {
+ var H = L.w(D.$u ? Date.UTC(D.$y, Z, J) : new Date(D.$y, Z, J), D);
+ return P ? H : H.endOf(l);
+ }, 'l'),
+ $ = o(function (J, Z) {
+ return L.w(
+ D.toDate()[J].apply(
+ D.toDate('s'),
+ (P ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(Z)
+ ),
+ D
+ );
+ }, '$'),
+ z = this.$W,
+ Y = this.$M,
+ Q = this.$D,
+ X = 'set' + (this.$u ? 'UTC' : '');
+ switch (F) {
+ case d:
+ return P ? B(1, 0) : B(31, 11);
+ case h:
+ return P ? B(1, Y) : B(0, Y + 1);
+ case u:
+ var ie = this.$locale().weekStart || 0,
+ j = (z < ie ? z + 7 : z) - ie;
+ return B(P ? Q - j : Q + (6 - j), Y);
+ case l:
+ case p:
+ return $(X + 'Hours', 0);
+ case s:
+ return $(X + 'Minutes', 1);
+ case a:
+ return $(X + 'Seconds', 2);
+ case i:
+ return $(X + 'Milliseconds', 3);
+ default:
+ return this.clone();
+ }
+ }),
+ (I.endOf = function (C) {
+ return this.startOf(C, !1);
+ }),
+ (I.$set = function (C, O) {
+ var D,
+ P = L.p(C),
+ F = 'set' + (this.$u ? 'UTC' : ''),
+ B = ((D = {}),
+ (D[l] = F + 'Date'),
+ (D[p] = F + 'Date'),
+ (D[h] = F + 'Month'),
+ (D[d] = F + 'FullYear'),
+ (D[s] = F + 'Hours'),
+ (D[a] = F + 'Minutes'),
+ (D[i] = F + 'Seconds'),
+ (D[n] = F + 'Milliseconds'),
+ D)[P],
+ $ = P === l ? this.$D + (O - this.$W) : O;
+ if (P === h || P === d) {
+ var z = this.clone().set(p, 1);
+ z.$d[B]($), z.init(), (this.$d = z.set(p, Math.min(this.$D, z.daysInMonth())).$d);
+ } else B && this.$d[B]($);
+ return this.init(), this;
+ }),
+ (I.set = function (C, O) {
+ return this.clone().$set(C, O);
+ }),
+ (I.get = function (C) {
+ return this[L.p(C)]();
+ }),
+ (I.add = function (C, O) {
+ var D,
+ P = this;
+ C = Number(C);
+ var F = L.p(O),
+ B = o(function (Y) {
+ var Q = A(P);
+ return L.w(Q.date(Q.date() + Math.round(Y * C)), P);
+ }, 'y');
+ if (F === h) return this.set(h, this.$M + C);
+ if (F === d) return this.set(d, this.$y + C);
+ if (F === l) return B(1);
+ if (F === u) return B(7);
+ var $ = ((D = {}), (D[a] = e), (D[s] = r), (D[i] = t), D)[F] || 1,
+ z = this.$d.getTime() + C * $;
+ return L.w(z, this);
+ }),
+ (I.subtract = function (C, O) {
+ return this.add(-1 * C, O);
+ }),
+ (I.format = function (C) {
+ var O = this,
+ D = this.$locale();
+ if (!this.isValid()) return D.invalidDate || m;
+ var P = C || 'YYYY-MM-DDTHH:mm:ssZ',
+ F = L.z(this),
+ B = this.$H,
+ $ = this.$m,
+ z = this.$M,
+ Y = D.weekdays,
+ Q = D.months,
+ X = D.meridiem,
+ ie = o(function (Z, H, q, K) {
+ return (Z && (Z[H] || Z(O, P))) || q[H].slice(0, K);
+ }, 'h'),
+ j = o(function (Z) {
+ return L.s(B % 12 || 12, Z, '0');
+ }, 'd'),
+ J =
+ X ||
+ function (Z, H, q) {
+ var K = Z < 12 ? 'AM' : 'PM';
+ return q ? K.toLowerCase() : K;
+ };
+ return P.replace(y, function (Z, H) {
+ return (
+ H ||
+ (function (q) {
+ switch (q) {
+ case 'YY':
+ return String(O.$y).slice(-2);
+ case 'YYYY':
+ return L.s(O.$y, 4, '0');
+ case 'M':
+ return z + 1;
+ case 'MM':
+ return L.s(z + 1, 2, '0');
+ case 'MMM':
+ return ie(D.monthsShort, z, Q, 3);
+ case 'MMMM':
+ return ie(Q, z);
+ case 'D':
+ return O.$D;
+ case 'DD':
+ return L.s(O.$D, 2, '0');
+ case 'd':
+ return String(O.$W);
+ case 'dd':
+ return ie(D.weekdaysMin, O.$W, Y, 2);
+ case 'ddd':
+ return ie(D.weekdaysShort, O.$W, Y, 3);
+ case 'dddd':
+ return Y[O.$W];
+ case 'H':
+ return String(B);
+ case 'HH':
+ return L.s(B, 2, '0');
+ case 'h':
+ return j(1);
+ case 'hh':
+ return j(2);
+ case 'a':
+ return J(B, $, !0);
+ case 'A':
+ return J(B, $, !1);
+ case 'm':
+ return String($);
+ case 'mm':
+ return L.s($, 2, '0');
+ case 's':
+ return String(O.$s);
+ case 'ss':
+ return L.s(O.$s, 2, '0');
+ case 'SSS':
+ return L.s(O.$ms, 3, '0');
+ case 'Z':
+ return F;
+ }
+ return null;
+ })(Z) ||
+ F.replace(':', '')
+ );
+ });
+ }),
+ (I.utcOffset = function () {
+ return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
+ }),
+ (I.diff = function (C, O, D) {
+ var P,
+ F = this,
+ B = L.p(O),
+ $ = A(C),
+ z = ($.utcOffset() - this.utcOffset()) * e,
+ Y = this - $,
+ Q = o(function () {
+ return L.m(F, $);
+ }, 'D');
+ switch (B) {
+ case d:
+ P = Q() / 12;
+ break;
+ case h:
+ P = Q();
+ break;
+ case f:
+ P = Q() / 3;
+ break;
+ case u:
+ P = (Y - z) / 6048e5;
+ break;
+ case l:
+ P = (Y - z) / 864e5;
+ break;
+ case s:
+ P = Y / r;
+ break;
+ case a:
+ P = Y / e;
+ break;
+ case i:
+ P = Y / t;
+ break;
+ default:
+ P = Y;
+ }
+ return D ? P : L.a(P);
+ }),
+ (I.daysInMonth = function () {
+ return this.endOf(h).$D;
+ }),
+ (I.$locale = function () {
+ return S[this.$L];
+ }),
+ (I.locale = function (C, O) {
+ if (!C) return this.$L;
+ var D = this.clone(),
+ P = _(C, O, !0);
+ return P && (D.$L = P), D;
+ }),
+ (I.clone = function () {
+ return L.w(this.$d, this);
+ }),
+ (I.toDate = function () {
+ return new Date(this.valueOf());
+ }),
+ (I.toJSON = function () {
+ return this.isValid() ? this.toISOString() : null;
+ }),
+ (I.toISOString = function () {
+ return this.$d.toISOString();
+ }),
+ (I.toString = function () {
+ return this.$d.toUTCString();
+ }),
+ k
+ );
+ })(),
+ N = M.prototype;
+ return (
+ (A.prototype = N),
+ [
+ ['$ms', n],
+ ['$s', i],
+ ['$m', a],
+ ['$H', s],
+ ['$W', l],
+ ['$M', h],
+ ['$y', d],
+ ['$D', p]
+ ].forEach(function (k) {
+ N[k[1]] = function (I) {
+ return this.$g(I, k[0], k[1]);
+ };
+ }),
+ (A.extend = function (k, I) {
+ return k.$i || (k(I, M, A), (k.$i = !0)), A;
+ }),
+ (A.locale = _),
+ (A.isDayjs = E),
+ (A.unix = function (k) {
+ return A(1e3 * k);
+ }),
+ (A.en = S[w]),
+ (A.Ls = S),
+ (A.p = {}),
+ A
+ );
+ });
+ });
+ var LF,
+ Zc,
+ V,
+ $1,
+ Eo,
+ ut = R(() => {
+ 'use strict';
+ (LF = Xi(Nb(), 1)),
+ (Zc = { trace: 0, debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }),
+ (V = {
+ trace: o((...t) => {}, 'trace'),
+ debug: o((...t) => {}, 'debug'),
+ info: o((...t) => {}, 'info'),
+ warn: o((...t) => {}, 'warn'),
+ error: o((...t) => {}, 'error'),
+ fatal: o((...t) => {}, 'fatal')
+ }),
+ ($1 = o(function (t = 'fatal') {
+ let e = Zc.fatal;
+ typeof t == 'string' ? t.toLowerCase() in Zc && (e = Zc[t]) : typeof t == 'number' && (e = t),
+ (V.trace = () => {}),
+ (V.debug = () => {}),
+ (V.info = () => {}),
+ (V.warn = () => {}),
+ (V.error = () => {}),
+ (V.fatal = () => {}),
+ e <= Zc.fatal &&
+ (V.fatal = console.error
+ ? console.error.bind(console, Eo('FATAL'), 'color: orange')
+ : console.log.bind(console, '\x1B[35m', Eo('FATAL'))),
+ e <= Zc.error &&
+ (V.error = console.error
+ ? console.error.bind(console, Eo('ERROR'), 'color: orange')
+ : console.log.bind(console, '\x1B[31m', Eo('ERROR'))),
+ e <= Zc.warn &&
+ (V.warn = console.warn
+ ? console.warn.bind(console, Eo('WARN'), 'color: orange')
+ : console.log.bind(console, '\x1B[33m', Eo('WARN'))),
+ e <= Zc.info &&
+ (V.info = console.info
+ ? console.info.bind(console, Eo('INFO'), 'color: lightblue')
+ : console.log.bind(console, '\x1B[34m', Eo('INFO'))),
+ e <= Zc.debug &&
+ (V.debug = console.debug
+ ? console.debug.bind(console, Eo('DEBUG'), 'color: lightgreen')
+ : console.log.bind(console, '\x1B[32m', Eo('DEBUG'))),
+ e <= Zc.trace &&
+ (V.trace = console.debug
+ ? console.debug.bind(console, Eo('TRACE'), 'color: lightgreen')
+ : console.log.bind(console, '\x1B[32m', Eo('TRACE')));
+ }, 'setLogLevel')),
+ (Eo = o((t) => `%c${(0, LF.default)().format('ss.SSS')} : ${t} : `, 'format'));
+ });
+ var Vve,
+ np,
+ LC,
+ DF,
+ Mb = R(() => {
+ 'use strict';
+ (Vve = Object.freeze({ left: 0, top: 0, width: 16, height: 16 })),
+ (np = Object.freeze({ rotate: 0, vFlip: !1, hFlip: !1 })),
+ (LC = Object.freeze({ ...Vve, ...np })),
+ (DF = Object.freeze({ ...LC, body: '', hidden: !1 }));
+ });
+ var Uve,
+ RF,
+ NF = R(() => {
+ 'use strict';
+ Mb();
+ (Uve = Object.freeze({ width: null, height: null })), (RF = Object.freeze({ ...Uve, ...np }));
+ });
+ var Ib,
+ DC,
+ Ob,
+ MF = R(() => {
+ 'use strict';
+ (Ib = /^[a-z0-9]+(-[a-z0-9]+)*$/),
+ (DC = o((t, e, r, n = '') => {
+ let i = t.split(':');
+ if (t.slice(0, 1) === '@') {
+ if (i.length < 2 || i.length > 3) return null;
+ n = i.shift().slice(1);
+ }
+ if (i.length > 3 || !i.length) return null;
+ if (i.length > 1) {
+ let l = i.pop(),
+ u = i.pop(),
+ h = { provider: i.length > 0 ? i[0] : n, prefix: u, name: l };
+ return e && !Ob(h) ? null : h;
+ }
+ let a = i[0],
+ s = a.split('-');
+ if (s.length > 1) {
+ let l = { provider: n, prefix: s.shift(), name: s.join('-') };
+ return e && !Ob(l) ? null : l;
+ }
+ if (r && n === '') {
+ let l = { provider: n, prefix: '', name: a };
+ return e && !Ob(l, r) ? null : l;
+ }
+ return null;
+ }, 'stringToIcon')),
+ (Ob = o(
+ (t, e) =>
+ t
+ ? !!(
+ (t.provider === '' || t.provider.match(Ib)) &&
+ ((e && t.prefix === '') || t.prefix.match(Ib)) &&
+ t.name.match(Ib)
+ )
+ : !1,
+ 'validateIconName'
+ ));
+ });
+ function IF(t, e) {
+ let r = {};
+ !t.hFlip != !e.hFlip && (r.hFlip = !0), !t.vFlip != !e.vFlip && (r.vFlip = !0);
+ let n = ((t.rotate || 0) + (e.rotate || 0)) % 4;
+ return n && (r.rotate = n), r;
+ }
+ var OF = R(() => {
+ 'use strict';
+ o(IF, 'mergeIconTransformations');
+ });
+ function RC(t, e) {
+ let r = IF(t, e);
+ for (let n in DF)
+ n in np ? n in t && !(n in r) && (r[n] = np[n]) : n in e ? (r[n] = e[n]) : n in t && (r[n] = t[n]);
+ return r;
+ }
+ var PF = R(() => {
+ 'use strict';
+ Mb();
+ OF();
+ o(RC, 'mergeIconData');
+ });
+ function BF(t, e) {
+ let r = t.icons,
+ n = t.aliases || Object.create(null),
+ i = Object.create(null);
+ function a(s) {
+ if (r[s]) return (i[s] = []);
+ if (!(s in i)) {
+ i[s] = null;
+ let l = n[s] && n[s].parent,
+ u = l && a(l);
+ u && (i[s] = [l].concat(u));
+ }
+ return i[s];
+ }
+ return o(a, 'resolve'), (e || Object.keys(r).concat(Object.keys(n))).forEach(a), i;
+ }
+ var FF = R(() => {
+ 'use strict';
+ o(BF, 'getIconsTree');
+ });
+ function zF(t, e, r) {
+ let n = t.icons,
+ i = t.aliases || Object.create(null),
+ a = {};
+ function s(l) {
+ a = RC(n[l] || i[l], a);
+ }
+ return o(s, 'parse'), s(e), r.forEach(s), RC(t, a);
+ }
+ function NC(t, e) {
+ if (t.icons[e]) return zF(t, e, []);
+ let r = BF(t, [e])[e];
+ return r ? zF(t, e, r) : null;
+ }
+ var GF = R(() => {
+ 'use strict';
+ PF();
+ FF();
+ o(zF, 'internalGetIconData');
+ o(NC, 'getIconData');
+ });
+ function MC(t, e, r) {
+ if (e === 1) return t;
+ if (((r = r || 100), typeof t == 'number')) return Math.ceil(t * e * r) / r;
+ if (typeof t != 'string') return t;
+ let n = t.split(Hve);
+ if (n === null || !n.length) return t;
+ let i = [],
+ a = n.shift(),
+ s = Yve.test(a);
+ for (;;) {
+ if (s) {
+ let l = parseFloat(a);
+ isNaN(l) ? i.push(a) : i.push(Math.ceil(l * e * r) / r);
+ } else i.push(a);
+ if (((a = n.shift()), a === void 0)) return i.join('');
+ s = !s;
+ }
+ }
+ var Hve,
+ Yve,
+ $F = R(() => {
+ 'use strict';
+ (Hve = /(-?[0-9.]*[0-9]+[0-9.]*)/g), (Yve = /^-?[0-9.]*[0-9]+[0-9.]*$/g);
+ o(MC, 'calculateSize');
+ });
+ function Wve(t, e = 'defs') {
+ let r = '',
+ n = t.indexOf('<' + e);
+ for (; n >= 0; ) {
+ let i = t.indexOf('>', n),
+ a = t.indexOf('' + e);
+ if (i === -1 || a === -1) break;
+ let s = t.indexOf('>', a);
+ if (s === -1) break;
+ (r += t.slice(i + 1, a).trim()), (t = t.slice(0, n).trim() + t.slice(s + 1));
+ }
+ return { defs: r, content: t };
+ }
+ function qve(t, e) {
+ return t ? '' + t + '' + e : e;
+ }
+ function VF(t, e, r) {
+ let n = Wve(t);
+ return qve(n.defs, e + n.content + r);
+ }
+ var UF = R(() => {
+ 'use strict';
+ o(Wve, 'splitSVGDefs');
+ o(qve, 'mergeDefsAndContent');
+ o(VF, 'wrapSVGContent');
+ });
+ function IC(t, e) {
+ let r = { ...LC, ...t },
+ n = { ...RF, ...e },
+ i = { left: r.left, top: r.top, width: r.width, height: r.height },
+ a = r.body;
+ [r, n].forEach((y) => {
+ let v = [],
+ x = y.hFlip,
+ b = y.vFlip,
+ w = y.rotate;
+ x
+ ? b
+ ? (w += 2)
+ : (v.push('translate(' + (i.width + i.left).toString() + ' ' + (0 - i.top).toString() + ')'),
+ v.push('scale(-1 1)'),
+ (i.top = i.left = 0))
+ : b &&
+ (v.push('translate(' + (0 - i.left).toString() + ' ' + (i.height + i.top).toString() + ')'),
+ v.push('scale(1 -1)'),
+ (i.top = i.left = 0));
+ let S;
+ switch ((w < 0 && (w -= Math.floor(w / 4) * 4), (w = w % 4), w)) {
+ case 1:
+ (S = i.height / 2 + i.top), v.unshift('rotate(90 ' + S.toString() + ' ' + S.toString() + ')');
+ break;
+ case 2:
+ v.unshift(
+ 'rotate(180 ' +
+ (i.width / 2 + i.left).toString() +
+ ' ' +
+ (i.height / 2 + i.top).toString() +
+ ')'
+ );
+ break;
+ case 3:
+ (S = i.width / 2 + i.left), v.unshift('rotate(-90 ' + S.toString() + ' ' + S.toString() + ')');
+ break;
+ }
+ w % 2 === 1 &&
+ (i.left !== i.top && ((S = i.left), (i.left = i.top), (i.top = S)),
+ i.width !== i.height && ((S = i.width), (i.width = i.height), (i.height = S))),
+ v.length && (a = VF(a, '', ''));
+ });
+ let s = n.width,
+ l = n.height,
+ u = i.width,
+ h = i.height,
+ f,
+ d;
+ s === null
+ ? ((d = l === null ? '1em' : l === 'auto' ? h : l), (f = MC(d, u / h)))
+ : ((f = s === 'auto' ? u : s), (d = l === null ? MC(f, h / u) : l === 'auto' ? h : l));
+ let p = {},
+ m = o((y, v) => {
+ Xve(v) || (p[y] = v.toString());
+ }, 'setAttr');
+ m('width', f), m('height', d);
+ let g = [i.left, i.top, u, h];
+ return (p.viewBox = g.join(' ')), { attributes: p, viewBox: g, body: a };
+ }
+ var Xve,
+ HF = R(() => {
+ 'use strict';
+ Mb();
+ NF();
+ $F();
+ UF();
+ Xve = o((t) => t === 'unset' || t === 'undefined' || t === 'none', 'isUnsetKeyword');
+ o(IC, 'iconToSVG');
+ });
+ function OC(t, e = Kve) {
+ let r = [],
+ n;
+ for (; (n = jve.exec(t)); ) r.push(n[1]);
+ if (!r.length) return t;
+ let i = 'suffix' + ((Math.random() * 16777216) | Date.now()).toString(16);
+ return (
+ r.forEach((a) => {
+ let s = typeof e == 'function' ? e(a) : e + (Qve++).toString(),
+ l = a.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
+ t = t.replace(new RegExp('([#;"])(' + l + ')([")]|\\.[a-z])', 'g'), '$1' + s + i + '$3');
+ }),
+ (t = t.replace(new RegExp(i, 'g'), '')),
+ t
+ );
+ }
+ var jve,
+ Kve,
+ Qve,
+ YF = R(() => {
+ 'use strict';
+ (jve = /\sid="(\S+)"/g),
+ (Kve = 'IconifyId' + Date.now().toString(16) + ((Math.random() * 16777216) | 0).toString(16)),
+ (Qve = 0);
+ o(OC, 'replaceIDs');
+ });
+ function PC(t, e) {
+ let r = t.indexOf('xlink:') === -1 ? '' : ' xmlns:xlink="http://www.w3.org/1999/xlink"';
+ for (let n in e) r += ' ' + n + '="' + e[n] + '"';
+ return '';
+ }
+ var WF = R(() => {
+ 'use strict';
+ o(PC, 'iconToHTML');
+ });
+ var XF = gi((ait, qF) => {
+ 'use strict';
+ var ip = 1e3,
+ ap = ip * 60,
+ sp = ap * 60,
+ $f = sp * 24,
+ Zve = $f * 7,
+ Jve = $f * 365.25;
+ qF.exports = function (t, e) {
+ e = e || {};
+ var r = typeof t;
+ if (r === 'string' && t.length > 0) return e2e(t);
+ if (r === 'number' && isFinite(t)) return e.long ? r2e(t) : t2e(t);
+ throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(t));
+ };
+ function e2e(t) {
+ if (((t = String(t)), !(t.length > 100))) {
+ var e =
+ /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
+ t
+ );
+ if (e) {
+ var r = parseFloat(e[1]),
+ n = (e[2] || 'ms').toLowerCase();
+ switch (n) {
+ case 'years':
+ case 'year':
+ case 'yrs':
+ case 'yr':
+ case 'y':
+ return r * Jve;
+ case 'weeks':
+ case 'week':
+ case 'w':
+ return r * Zve;
+ case 'days':
+ case 'day':
+ case 'd':
+ return r * $f;
+ case 'hours':
+ case 'hour':
+ case 'hrs':
+ case 'hr':
+ case 'h':
+ return r * sp;
+ case 'minutes':
+ case 'minute':
+ case 'mins':
+ case 'min':
+ case 'm':
+ return r * ap;
+ case 'seconds':
+ case 'second':
+ case 'secs':
+ case 'sec':
+ case 's':
+ return r * ip;
+ case 'milliseconds':
+ case 'millisecond':
+ case 'msecs':
+ case 'msec':
+ case 'ms':
+ return r;
+ default:
+ return;
+ }
+ }
+ }
+ }
+ o(e2e, 'parse');
+ function t2e(t) {
+ var e = Math.abs(t);
+ return e >= $f
+ ? Math.round(t / $f) + 'd'
+ : e >= sp
+ ? Math.round(t / sp) + 'h'
+ : e >= ap
+ ? Math.round(t / ap) + 'm'
+ : e >= ip
+ ? Math.round(t / ip) + 's'
+ : t + 'ms';
+ }
+ o(t2e, 'fmtShort');
+ function r2e(t) {
+ var e = Math.abs(t);
+ return e >= $f
+ ? Pb(t, e, $f, 'day')
+ : e >= sp
+ ? Pb(t, e, sp, 'hour')
+ : e >= ap
+ ? Pb(t, e, ap, 'minute')
+ : e >= ip
+ ? Pb(t, e, ip, 'second')
+ : t + ' ms';
+ }
+ o(r2e, 'fmtLong');
+ function Pb(t, e, r, n) {
+ var i = e >= r * 1.5;
+ return Math.round(t / r) + ' ' + n + (i ? 's' : '');
+ }
+ o(Pb, 'plural');
+ });
+ var KF = gi((oit, jF) => {
+ 'use strict';
+ function n2e(t) {
+ (r.debug = r),
+ (r.default = r),
+ (r.coerce = u),
+ (r.disable = a),
+ (r.enable = i),
+ (r.enabled = s),
+ (r.humanize = XF()),
+ (r.destroy = h),
+ Object.keys(t).forEach((f) => {
+ r[f] = t[f];
+ }),
+ (r.names = []),
+ (r.skips = []),
+ (r.formatters = {});
+ function e(f) {
+ let d = 0;
+ for (let p = 0; p < f.length; p++) (d = (d << 5) - d + f.charCodeAt(p)), (d |= 0);
+ return r.colors[Math.abs(d) % r.colors.length];
+ }
+ o(e, 'selectColor'), (r.selectColor = e);
+ function r(f) {
+ let d,
+ p = null,
+ m,
+ g;
+ function y(...v) {
+ if (!y.enabled) return;
+ let x = y,
+ b = Number(new Date()),
+ w = b - (d || b);
+ (x.diff = w),
+ (x.prev = d),
+ (x.curr = b),
+ (d = b),
+ (v[0] = r.coerce(v[0])),
+ typeof v[0] != 'string' && v.unshift('%O');
+ let S = 0;
+ (v[0] = v[0].replace(/%([a-zA-Z%])/g, (E, _) => {
+ if (E === '%%') return '%';
+ S++;
+ let A = r.formatters[_];
+ if (typeof A == 'function') {
+ let L = v[S];
+ (E = A.call(x, L)), v.splice(S, 1), S--;
+ }
+ return E;
+ })),
+ r.formatArgs.call(x, v),
+ (x.log || r.log).apply(x, v);
+ }
+ return (
+ o(y, 'debug'),
+ (y.namespace = f),
+ (y.useColors = r.useColors()),
+ (y.color = r.selectColor(f)),
+ (y.extend = n),
+ (y.destroy = r.destroy),
+ Object.defineProperty(y, 'enabled', {
+ enumerable: !0,
+ configurable: !1,
+ get: o(
+ () =>
+ p !== null ? p : (m !== r.namespaces && ((m = r.namespaces), (g = r.enabled(f))), g),
+ 'get'
+ ),
+ set: o((v) => {
+ p = v;
+ }, 'set')
+ }),
+ typeof r.init == 'function' && r.init(y),
+ y
+ );
+ }
+ o(r, 'createDebug');
+ function n(f, d) {
+ let p = r(this.namespace + (typeof d > 'u' ? ':' : d) + f);
+ return (p.log = this.log), p;
+ }
+ o(n, 'extend');
+ function i(f) {
+ r.save(f), (r.namespaces = f), (r.names = []), (r.skips = []);
+ let d,
+ p = (typeof f == 'string' ? f : '').split(/[\s,]+/),
+ m = p.length;
+ for (d = 0; d < m; d++)
+ p[d] &&
+ ((f = p[d].replace(/\*/g, '.*?')),
+ f[0] === '-'
+ ? r.skips.push(new RegExp('^' + f.slice(1) + '$'))
+ : r.names.push(new RegExp('^' + f + '$')));
+ }
+ o(i, 'enable');
+ function a() {
+ let f = [...r.names.map(l), ...r.skips.map(l).map((d) => '-' + d)].join(',');
+ return r.enable(''), f;
+ }
+ o(a, 'disable');
+ function s(f) {
+ if (f[f.length - 1] === '*') return !0;
+ let d, p;
+ for (d = 0, p = r.skips.length; d < p; d++) if (r.skips[d].test(f)) return !1;
+ for (d = 0, p = r.names.length; d < p; d++) if (r.names[d].test(f)) return !0;
+ return !1;
+ }
+ o(s, 'enabled');
+ function l(f) {
+ return f
+ .toString()
+ .substring(2, f.toString().length - 2)
+ .replace(/\.\*\?$/, '*');
+ }
+ o(l, 'toNamespace');
+ function u(f) {
+ return f instanceof Error ? f.stack || f.message : f;
+ }
+ o(u, 'coerce');
+ function h() {
+ console.warn(
+ 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
+ );
+ }
+ return o(h, 'destroy'), r.enable(r.load()), r;
+ }
+ o(n2e, 'setup');
+ jF.exports = n2e;
+ });
+ var QF = gi((Ys, Bb) => {
+ 'use strict';
+ Ys.formatArgs = a2e;
+ Ys.save = s2e;
+ Ys.load = o2e;
+ Ys.useColors = i2e;
+ Ys.storage = l2e();
+ Ys.destroy = (() => {
+ let t = !1;
+ return () => {
+ t ||
+ ((t = !0),
+ console.warn(
+ 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
+ ));
+ };
+ })();
+ Ys.colors = [
+ '#0000CC',
+ '#0000FF',
+ '#0033CC',
+ '#0033FF',
+ '#0066CC',
+ '#0066FF',
+ '#0099CC',
+ '#0099FF',
+ '#00CC00',
+ '#00CC33',
+ '#00CC66',
+ '#00CC99',
+ '#00CCCC',
+ '#00CCFF',
+ '#3300CC',
+ '#3300FF',
+ '#3333CC',
+ '#3333FF',
+ '#3366CC',
+ '#3366FF',
+ '#3399CC',
+ '#3399FF',
+ '#33CC00',
+ '#33CC33',
+ '#33CC66',
+ '#33CC99',
+ '#33CCCC',
+ '#33CCFF',
+ '#6600CC',
+ '#6600FF',
+ '#6633CC',
+ '#6633FF',
+ '#66CC00',
+ '#66CC33',
+ '#9900CC',
+ '#9900FF',
+ '#9933CC',
+ '#9933FF',
+ '#99CC00',
+ '#99CC33',
+ '#CC0000',
+ '#CC0033',
+ '#CC0066',
+ '#CC0099',
+ '#CC00CC',
+ '#CC00FF',
+ '#CC3300',
+ '#CC3333',
+ '#CC3366',
+ '#CC3399',
+ '#CC33CC',
+ '#CC33FF',
+ '#CC6600',
+ '#CC6633',
+ '#CC9900',
+ '#CC9933',
+ '#CCCC00',
+ '#CCCC33',
+ '#FF0000',
+ '#FF0033',
+ '#FF0066',
+ '#FF0099',
+ '#FF00CC',
+ '#FF00FF',
+ '#FF3300',
+ '#FF3333',
+ '#FF3366',
+ '#FF3399',
+ '#FF33CC',
+ '#FF33FF',
+ '#FF6600',
+ '#FF6633',
+ '#FF9900',
+ '#FF9933',
+ '#FFCC00',
+ '#FFCC33'
+ ];
+ function i2e() {
+ if (typeof window < 'u' && window.process && (window.process.type === 'renderer' || window.process.__nwjs))
+ return !0;
+ if (
+ typeof navigator < 'u' &&
+ navigator.userAgent &&
+ navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)
+ )
+ return !1;
+ let t;
+ return (
+ (typeof document < 'u' &&
+ document.documentElement &&
+ document.documentElement.style &&
+ document.documentElement.style.WebkitAppearance) ||
+ (typeof window < 'u' &&
+ window.console &&
+ (window.console.firebug || (window.console.exception && window.console.table))) ||
+ (typeof navigator < 'u' &&
+ navigator.userAgent &&
+ (t = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) &&
+ parseInt(t[1], 10) >= 31) ||
+ (typeof navigator < 'u' &&
+ navigator.userAgent &&
+ navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))
+ );
+ }
+ o(i2e, 'useColors');
+ function a2e(t) {
+ if (
+ ((t[0] =
+ (this.useColors ? '%c' : '') +
+ this.namespace +
+ (this.useColors ? ' %c' : ' ') +
+ t[0] +
+ (this.useColors ? '%c ' : ' ') +
+ '+' +
+ Bb.exports.humanize(this.diff)),
+ !this.useColors)
+ )
+ return;
+ let e = 'color: ' + this.color;
+ t.splice(1, 0, e, 'color: inherit');
+ let r = 0,
+ n = 0;
+ t[0].replace(/%[a-zA-Z%]/g, (i) => {
+ i !== '%%' && (r++, i === '%c' && (n = r));
+ }),
+ t.splice(n, 0, e);
+ }
+ o(a2e, 'formatArgs');
+ Ys.log = console.debug || console.log || (() => {});
+ function s2e(t) {
+ try {
+ t ? Ys.storage.setItem('debug', t) : Ys.storage.removeItem('debug');
+ } catch {}
+ }
+ o(s2e, 'save');
+ function o2e() {
+ let t;
+ try {
+ t = Ys.storage.getItem('debug');
+ } catch {}
+ return !t && typeof process < 'u' && 'env' in process && (t = process.env.DEBUG), t;
+ }
+ o(o2e, 'load');
+ function l2e() {
+ try {
+ return localStorage;
+ } catch {}
+ }
+ o(l2e, 'localstorage');
+ Bb.exports = KF()(Ys);
+ var { formatters: c2e } = Bb.exports;
+ c2e.j = function (t) {
+ try {
+ return JSON.stringify(t);
+ } catch (e) {
+ return '[UnexpectedJSONParseError]: ' + e.message;
+ }
+ };
+ });
+ var uit,
+ ZF = R(() => {
+ 'use strict';
+ MF();
+ GF();
+ HF();
+ YF();
+ WF();
+ uit = Xi(QF(), 1);
+ });
+ var FC,
+ BC,
+ JF,
+ Fb,
+ u2e,
+ zb,
+ V1 = R(() => {
+ 'use strict';
+ ut();
+ ZF();
+ (FC = {
+ body: '?',
+ height: 80,
+ width: 80
+ }),
+ (BC = new Map()),
+ (JF = new Map()),
+ (Fb = o((t) => {
+ for (let e of t) {
+ if (!e.name)
+ throw new Error(
+ 'Invalid icon loader. Must have a "name" property with non-empty string value.'
+ );
+ if ((V.debug('Registering icon pack:', e.name), 'loader' in e)) JF.set(e.name, e.loader);
+ else if ('icons' in e) BC.set(e.name, e.icons);
+ else
+ throw (
+ (V.error('Invalid icon loader:', e),
+ new Error('Invalid icon loader. Must have either "icons" or "loader" property.'))
+ );
+ }
+ }, 'registerIconPacks')),
+ (u2e = o(async (t, e) => {
+ let r = DC(t, !0, e !== void 0);
+ if (!r) throw new Error(`Invalid icon name: ${t}`);
+ let n = r.prefix || e;
+ if (!n) throw new Error(`Icon name must contain a prefix: ${t}`);
+ let i = BC.get(n);
+ if (!i) {
+ let s = JF.get(n);
+ if (!s) throw new Error(`Icon set not found: ${r.prefix}`);
+ try {
+ (i = { ...(await s()), prefix: n }), BC.set(n, i);
+ } catch (l) {
+ throw (V.error(l), new Error(`Failed to load icon set: ${r.prefix}`));
+ }
+ }
+ let a = NC(i, r.name);
+ if (!a) throw new Error(`Icon not found: ${t}`);
+ return a;
+ }, 'getRegisteredIconData')),
+ (zb = o(async (t, e) => {
+ let r;
+ try {
+ r = await u2e(t, e?.fallbackPrefix);
+ } catch (a) {
+ V.error(a), (r = FC);
+ }
+ let n = IC(r, e);
+ return PC(OC(n.body), n.attributes);
+ }, 'getIconSVG'));
+ });
+ function Gb(t) {
+ for (var e = [], r = 1; r < arguments.length; r++) e[r - 1] = arguments[r];
+ var n = Array.from(typeof t == 'string' ? [t] : t);
+ n[n.length - 1] = n[n.length - 1].replace(/\r?\n([\t ]*)$/, '');
+ var i = n.reduce(function (l, u) {
+ var h = u.match(/\n([\t ]+|(?!\s).)/g);
+ return h
+ ? l.concat(
+ h.map(function (f) {
+ var d, p;
+ return (p = (d = f.match(/[\t ]/g)) === null || d === void 0 ? void 0 : d.length) !== null &&
+ p !== void 0
+ ? p
+ : 0;
+ })
+ )
+ : l;
+ }, []);
+ if (i.length) {
+ var a = new RegExp(
+ `
+[ ]{` +
+ Math.min.apply(Math, i) +
+ '}',
+ 'g'
+ );
+ n = n.map(function (l) {
+ return l.replace(
+ a,
+ `
+`
+ );
+ });
+ }
+ n[0] = n[0].replace(/^\r?\n/, '');
+ var s = n[0];
+ return (
+ e.forEach(function (l, u) {
+ var h = s.match(/(?:^|\n)( *)$/),
+ f = h ? h[1] : '',
+ d = l;
+ typeof l == 'string' &&
+ l.includes(`
+`) &&
+ (d = String(l)
+ .split(
+ `
+`
+ )
+ .map(function (p, m) {
+ return m === 0 ? p : '' + f + p;
+ }).join(`
+`)),
+ (s += d + n[u + 1]);
+ }),
+ s
+ );
+ }
+ var zC = R(() => {
+ 'use strict';
+ o(Gb, 'dedent');
+ });
+ var $b,
+ Vf,
+ ez,
+ Vb = R(() => {
+ 'use strict';
+ ($b = /^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s),
+ (Vf = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi),
+ (ez = /\s*%%.*\n/gm);
+ });
+ var op,
+ GC = R(() => {
+ 'use strict';
+ op = class extends Error {
+ static {
+ o(this, 'UnknownDiagramError');
+ }
+ constructor(e) {
+ super(e), (this.name = 'UnknownDiagramError');
+ }
+ };
+ });
+ var Uf,
+ lp,
+ Ub,
+ $C,
+ tz,
+ Hf = R(() => {
+ 'use strict';
+ ut();
+ Vb();
+ GC();
+ (Uf = {}),
+ (lp = o(function (t, e) {
+ t = t
+ .replace($b, '')
+ .replace(Vf, '')
+ .replace(
+ ez,
+ `
+`
+ );
+ for (let [r, { detector: n }] of Object.entries(Uf)) if (n(t, e)) return r;
+ throw new op(`No diagram type detected matching given configuration for text: ${t}`);
+ }, 'detectType')),
+ (Ub = o((...t) => {
+ for (let { id: e, detector: r, loader: n } of t) $C(e, r, n);
+ }, 'registerLazyLoadedDiagrams')),
+ ($C = o((t, e, r) => {
+ Uf[t] && V.warn(`Detector with key ${t} already exists. Overwriting.`),
+ (Uf[t] = { detector: e, loader: r }),
+ V.debug(`Detector with key ${t} added${r ? ' with loader' : ''}`);
+ }, 'addDetector')),
+ (tz = o((t) => Uf[t].loader, 'getDiagramLoader'));
+ });
+ var U1,
+ rz,
+ VC = R(() => {
+ 'use strict';
+ U1 = (function () {
+ var t = o(function (_e, me, W, fe) {
+ for (W = W || {}, fe = _e.length; fe--; W[_e[fe]] = me);
+ return W;
+ }, 'o'),
+ e = [1, 24],
+ r = [1, 25],
+ n = [1, 26],
+ i = [1, 27],
+ a = [1, 28],
+ s = [1, 63],
+ l = [1, 64],
+ u = [1, 65],
+ h = [1, 66],
+ f = [1, 67],
+ d = [1, 68],
+ p = [1, 69],
+ m = [1, 29],
+ g = [1, 30],
+ y = [1, 31],
+ v = [1, 32],
+ x = [1, 33],
+ b = [1, 34],
+ w = [1, 35],
+ S = [1, 36],
+ T = [1, 37],
+ E = [1, 38],
+ _ = [1, 39],
+ A = [1, 40],
+ L = [1, 41],
+ M = [1, 42],
+ N = [1, 43],
+ k = [1, 44],
+ I = [1, 45],
+ C = [1, 46],
+ O = [1, 47],
+ D = [1, 48],
+ P = [1, 50],
+ F = [1, 51],
+ B = [1, 52],
+ $ = [1, 53],
+ z = [1, 54],
+ Y = [1, 55],
+ Q = [1, 56],
+ X = [1, 57],
+ ie = [1, 58],
+ j = [1, 59],
+ J = [1, 60],
+ Z = [14, 42],
+ H = [
+ 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74
+ ],
+ q = [
+ 12, 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74
+ ],
+ K = [1, 82],
+ se = [1, 83],
+ ce = [1, 84],
+ ue = [1, 85],
+ te = [12, 14, 42],
+ De = [12, 14, 33, 42],
+ oe = [12, 14, 33, 42, 76, 77, 79, 80],
+ ke = [12, 33],
+ Ie = [
+ 34, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74
+ ],
+ Se = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ mermaidDoc: 4,
+ direction: 5,
+ direction_tb: 6,
+ direction_bt: 7,
+ direction_rl: 8,
+ direction_lr: 9,
+ graphConfig: 10,
+ C4_CONTEXT: 11,
+ NEWLINE: 12,
+ statements: 13,
+ EOF: 14,
+ C4_CONTAINER: 15,
+ C4_COMPONENT: 16,
+ C4_DYNAMIC: 17,
+ C4_DEPLOYMENT: 18,
+ otherStatements: 19,
+ diagramStatements: 20,
+ otherStatement: 21,
+ title: 22,
+ accDescription: 23,
+ acc_title: 24,
+ acc_title_value: 25,
+ acc_descr: 26,
+ acc_descr_value: 27,
+ acc_descr_multiline_value: 28,
+ boundaryStatement: 29,
+ boundaryStartStatement: 30,
+ boundaryStopStatement: 31,
+ boundaryStart: 32,
+ LBRACE: 33,
+ ENTERPRISE_BOUNDARY: 34,
+ attributes: 35,
+ SYSTEM_BOUNDARY: 36,
+ BOUNDARY: 37,
+ CONTAINER_BOUNDARY: 38,
+ NODE: 39,
+ NODE_L: 40,
+ NODE_R: 41,
+ RBRACE: 42,
+ diagramStatement: 43,
+ PERSON: 44,
+ PERSON_EXT: 45,
+ SYSTEM: 46,
+ SYSTEM_DB: 47,
+ SYSTEM_QUEUE: 48,
+ SYSTEM_EXT: 49,
+ SYSTEM_EXT_DB: 50,
+ SYSTEM_EXT_QUEUE: 51,
+ CONTAINER: 52,
+ CONTAINER_DB: 53,
+ CONTAINER_QUEUE: 54,
+ CONTAINER_EXT: 55,
+ CONTAINER_EXT_DB: 56,
+ CONTAINER_EXT_QUEUE: 57,
+ COMPONENT: 58,
+ COMPONENT_DB: 59,
+ COMPONENT_QUEUE: 60,
+ COMPONENT_EXT: 61,
+ COMPONENT_EXT_DB: 62,
+ COMPONENT_EXT_QUEUE: 63,
+ REL: 64,
+ BIREL: 65,
+ REL_U: 66,
+ REL_D: 67,
+ REL_L: 68,
+ REL_R: 69,
+ REL_B: 70,
+ REL_INDEX: 71,
+ UPDATE_EL_STYLE: 72,
+ UPDATE_REL_STYLE: 73,
+ UPDATE_LAYOUT_CONFIG: 74,
+ attribute: 75,
+ STR: 76,
+ STR_KEY: 77,
+ STR_VALUE: 78,
+ ATTRIBUTE: 79,
+ ATTRIBUTE_EMPTY: 80,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 6: 'direction_tb',
+ 7: 'direction_bt',
+ 8: 'direction_rl',
+ 9: 'direction_lr',
+ 11: 'C4_CONTEXT',
+ 12: 'NEWLINE',
+ 14: 'EOF',
+ 15: 'C4_CONTAINER',
+ 16: 'C4_COMPONENT',
+ 17: 'C4_DYNAMIC',
+ 18: 'C4_DEPLOYMENT',
+ 22: 'title',
+ 23: 'accDescription',
+ 24: 'acc_title',
+ 25: 'acc_title_value',
+ 26: 'acc_descr',
+ 27: 'acc_descr_value',
+ 28: 'acc_descr_multiline_value',
+ 33: 'LBRACE',
+ 34: 'ENTERPRISE_BOUNDARY',
+ 36: 'SYSTEM_BOUNDARY',
+ 37: 'BOUNDARY',
+ 38: 'CONTAINER_BOUNDARY',
+ 39: 'NODE',
+ 40: 'NODE_L',
+ 41: 'NODE_R',
+ 42: 'RBRACE',
+ 44: 'PERSON',
+ 45: 'PERSON_EXT',
+ 46: 'SYSTEM',
+ 47: 'SYSTEM_DB',
+ 48: 'SYSTEM_QUEUE',
+ 49: 'SYSTEM_EXT',
+ 50: 'SYSTEM_EXT_DB',
+ 51: 'SYSTEM_EXT_QUEUE',
+ 52: 'CONTAINER',
+ 53: 'CONTAINER_DB',
+ 54: 'CONTAINER_QUEUE',
+ 55: 'CONTAINER_EXT',
+ 56: 'CONTAINER_EXT_DB',
+ 57: 'CONTAINER_EXT_QUEUE',
+ 58: 'COMPONENT',
+ 59: 'COMPONENT_DB',
+ 60: 'COMPONENT_QUEUE',
+ 61: 'COMPONENT_EXT',
+ 62: 'COMPONENT_EXT_DB',
+ 63: 'COMPONENT_EXT_QUEUE',
+ 64: 'REL',
+ 65: 'BIREL',
+ 66: 'REL_U',
+ 67: 'REL_D',
+ 68: 'REL_L',
+ 69: 'REL_R',
+ 70: 'REL_B',
+ 71: 'REL_INDEX',
+ 72: 'UPDATE_EL_STYLE',
+ 73: 'UPDATE_REL_STYLE',
+ 74: 'UPDATE_LAYOUT_CONFIG',
+ 76: 'STR',
+ 77: 'STR_KEY',
+ 78: 'STR_VALUE',
+ 79: 'ATTRIBUTE',
+ 80: 'ATTRIBUTE_EMPTY'
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 1],
+ [5, 1],
+ [5, 1],
+ [5, 1],
+ [5, 1],
+ [4, 1],
+ [10, 4],
+ [10, 4],
+ [10, 4],
+ [10, 4],
+ [10, 4],
+ [13, 1],
+ [13, 1],
+ [13, 2],
+ [19, 1],
+ [19, 2],
+ [19, 3],
+ [21, 1],
+ [21, 1],
+ [21, 2],
+ [21, 2],
+ [21, 1],
+ [29, 3],
+ [30, 3],
+ [30, 3],
+ [30, 4],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [31, 1],
+ [20, 1],
+ [20, 2],
+ [20, 3],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 1],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [35, 1],
+ [35, 2],
+ [75, 1],
+ [75, 2],
+ [75, 1],
+ [75, 1]
+ ],
+ performAction: o(function (me, W, fe, ge, re, he, ne) {
+ var ae = he.length - 1;
+ switch (re) {
+ case 3:
+ ge.setDirection('TB');
+ break;
+ case 4:
+ ge.setDirection('BT');
+ break;
+ case 5:
+ ge.setDirection('RL');
+ break;
+ case 6:
+ ge.setDirection('LR');
+ break;
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ ge.setC4Type(he[ae - 3]);
+ break;
+ case 19:
+ ge.setTitle(he[ae].substring(6)), (this.$ = he[ae].substring(6));
+ break;
+ case 20:
+ ge.setAccDescription(he[ae].substring(15)), (this.$ = he[ae].substring(15));
+ break;
+ case 21:
+ (this.$ = he[ae].trim()), ge.setTitle(this.$);
+ break;
+ case 22:
+ case 23:
+ (this.$ = he[ae].trim()), ge.setAccDescription(this.$);
+ break;
+ case 28:
+ he[ae].splice(2, 0, 'ENTERPRISE'),
+ ge.addPersonOrSystemBoundary(...he[ae]),
+ (this.$ = he[ae]);
+ break;
+ case 29:
+ he[ae].splice(2, 0, 'SYSTEM'),
+ ge.addPersonOrSystemBoundary(...he[ae]),
+ (this.$ = he[ae]);
+ break;
+ case 30:
+ ge.addPersonOrSystemBoundary(...he[ae]), (this.$ = he[ae]);
+ break;
+ case 31:
+ he[ae].splice(2, 0, 'CONTAINER'),
+ ge.addContainerBoundary(...he[ae]),
+ (this.$ = he[ae]);
+ break;
+ case 32:
+ ge.addDeploymentNode('node', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 33:
+ ge.addDeploymentNode('nodeL', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 34:
+ ge.addDeploymentNode('nodeR', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 35:
+ ge.popBoundaryParseStack();
+ break;
+ case 39:
+ ge.addPersonOrSystem('person', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 40:
+ ge.addPersonOrSystem('external_person', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 41:
+ ge.addPersonOrSystem('system', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 42:
+ ge.addPersonOrSystem('system_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 43:
+ ge.addPersonOrSystem('system_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 44:
+ ge.addPersonOrSystem('external_system', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 45:
+ ge.addPersonOrSystem('external_system_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 46:
+ ge.addPersonOrSystem('external_system_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 47:
+ ge.addContainer('container', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 48:
+ ge.addContainer('container_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 49:
+ ge.addContainer('container_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 50:
+ ge.addContainer('external_container', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 51:
+ ge.addContainer('external_container_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 52:
+ ge.addContainer('external_container_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 53:
+ ge.addComponent('component', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 54:
+ ge.addComponent('component_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 55:
+ ge.addComponent('component_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 56:
+ ge.addComponent('external_component', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 57:
+ ge.addComponent('external_component_db', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 58:
+ ge.addComponent('external_component_queue', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 60:
+ ge.addRel('rel', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 61:
+ ge.addRel('birel', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 62:
+ ge.addRel('rel_u', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 63:
+ ge.addRel('rel_d', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 64:
+ ge.addRel('rel_l', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 65:
+ ge.addRel('rel_r', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 66:
+ ge.addRel('rel_b', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 67:
+ he[ae].splice(0, 1), ge.addRel('rel', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 68:
+ ge.updateElStyle('update_el_style', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 69:
+ ge.updateRelStyle('update_rel_style', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 70:
+ ge.updateLayoutConfig('update_layout_config', ...he[ae]), (this.$ = he[ae]);
+ break;
+ case 71:
+ this.$ = [he[ae]];
+ break;
+ case 72:
+ he[ae].unshift(he[ae - 1]), (this.$ = he[ae]);
+ break;
+ case 73:
+ case 75:
+ this.$ = he[ae].trim();
+ break;
+ case 74:
+ let we = {};
+ (we[he[ae - 1].trim()] = he[ae].trim()), (this.$ = we);
+ break;
+ case 76:
+ this.$ = '';
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ {
+ 3: 1,
+ 4: 2,
+ 5: 3,
+ 6: [1, 5],
+ 7: [1, 6],
+ 8: [1, 7],
+ 9: [1, 8],
+ 10: 4,
+ 11: [1, 9],
+ 15: [1, 10],
+ 16: [1, 11],
+ 17: [1, 12],
+ 18: [1, 13]
+ },
+ { 1: [3] },
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ { 1: [2, 7] },
+ { 1: [2, 3] },
+ { 1: [2, 4] },
+ { 1: [2, 5] },
+ { 1: [2, 6] },
+ { 12: [1, 14] },
+ { 12: [1, 15] },
+ { 12: [1, 16] },
+ { 12: [1, 17] },
+ { 12: [1, 18] },
+ {
+ 13: 19,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ {
+ 13: 70,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ {
+ 13: 71,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ {
+ 13: 72,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ {
+ 13: 73,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ { 14: [1, 74] },
+ t(Z, [2, 13], {
+ 43: 23,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 20: 75,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ }),
+ t(Z, [2, 14]),
+ t(H, [2, 16], { 12: [1, 76] }),
+ t(Z, [2, 36], { 12: [1, 77] }),
+ t(q, [2, 19]),
+ t(q, [2, 20]),
+ { 25: [1, 78] },
+ { 27: [1, 79] },
+ t(q, [2, 23]),
+ { 35: 80, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 86, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 87, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 88, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 89, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 90, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 91, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 92, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 93, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 94, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 95, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 96, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 97, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 98, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 99, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 100, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 101, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 102, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 103, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 104, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ t(te, [2, 59]),
+ { 35: 105, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 106, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 107, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 108, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 109, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 110, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 111, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 112, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 113, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 114, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 115, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ {
+ 20: 116,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 43: 23,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ },
+ { 12: [1, 118], 33: [1, 117] },
+ { 35: 119, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 120, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 121, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 122, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 123, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 124, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 35: 125, 75: 81, 76: K, 77: se, 79: ce, 80: ue },
+ { 14: [1, 126] },
+ { 14: [1, 127] },
+ { 14: [1, 128] },
+ { 14: [1, 129] },
+ { 1: [2, 8] },
+ t(Z, [2, 15]),
+ t(H, [2, 17], {
+ 21: 22,
+ 19: 130,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a
+ }),
+ t(Z, [2, 37], {
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 43: 23,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 13: 131,
+ 22: e,
+ 23: r,
+ 24: n,
+ 26: i,
+ 28: a,
+ 34: s,
+ 36: l,
+ 37: u,
+ 38: h,
+ 39: f,
+ 40: d,
+ 41: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w,
+ 51: S,
+ 52: T,
+ 53: E,
+ 54: _,
+ 55: A,
+ 56: L,
+ 57: M,
+ 58: N,
+ 59: k,
+ 60: I,
+ 61: C,
+ 62: O,
+ 63: D,
+ 64: P,
+ 65: F,
+ 66: B,
+ 67: $,
+ 68: z,
+ 69: Y,
+ 70: Q,
+ 71: X,
+ 72: ie,
+ 73: j,
+ 74: J
+ }),
+ t(q, [2, 21]),
+ t(q, [2, 22]),
+ t(te, [2, 39]),
+ t(De, [2, 71], {
+ 75: 81,
+ 35: 132,
+ 76: K,
+ 77: se,
+ 79: ce,
+ 80: ue
+ }),
+ t(oe, [2, 73]),
+ { 78: [1, 133] },
+ t(oe, [2, 75]),
+ t(oe, [2, 76]),
+ t(te, [2, 40]),
+ t(te, [2, 41]),
+ t(te, [2, 42]),
+ t(te, [2, 43]),
+ t(te, [2, 44]),
+ t(te, [2, 45]),
+ t(te, [2, 46]),
+ t(te, [2, 47]),
+ t(te, [2, 48]),
+ t(te, [2, 49]),
+ t(te, [2, 50]),
+ t(te, [2, 51]),
+ t(te, [2, 52]),
+ t(te, [2, 53]),
+ t(te, [2, 54]),
+ t(te, [2, 55]),
+ t(te, [2, 56]),
+ t(te, [2, 57]),
+ t(te, [2, 58]),
+ t(te, [2, 60]),
+ t(te, [2, 61]),
+ t(te, [2, 62]),
+ t(te, [2, 63]),
+ t(te, [2, 64]),
+ t(te, [2, 65]),
+ t(te, [2, 66]),
+ t(te, [2, 67]),
+ t(te, [2, 68]),
+ t(te, [2, 69]),
+ t(te, [2, 70]),
+ { 31: 134, 42: [1, 135] },
+ { 12: [1, 136] },
+ { 33: [1, 137] },
+ t(ke, [2, 28]),
+ t(ke, [2, 29]),
+ t(ke, [2, 30]),
+ t(ke, [2, 31]),
+ t(ke, [2, 32]),
+ t(ke, [2, 33]),
+ t(ke, [2, 34]),
+ { 1: [2, 9] },
+ { 1: [2, 10] },
+ { 1: [2, 11] },
+ { 1: [2, 12] },
+ t(H, [2, 18]),
+ t(Z, [2, 38]),
+ t(De, [2, 72]),
+ t(oe, [2, 74]),
+ t(te, [2, 24]),
+ t(te, [2, 35]),
+ t(Ie, [2, 25]),
+ t(Ie, [2, 26], { 12: [1, 138] }),
+ t(Ie, [2, 27])
+ ],
+ defaultActions: {
+ 2: [2, 1],
+ 3: [2, 2],
+ 4: [2, 7],
+ 5: [2, 3],
+ 6: [2, 4],
+ 7: [2, 5],
+ 8: [2, 6],
+ 74: [2, 8],
+ 126: [2, 9],
+ 127: [2, 10],
+ 128: [2, 11],
+ 129: [2, 12]
+ },
+ parseError: o(function (me, W) {
+ if (W.recoverable) this.trace(me);
+ else {
+ var fe = new Error(me);
+ throw ((fe.hash = W), fe);
+ }
+ }, 'parseError'),
+ parse: o(function (me) {
+ var W = this,
+ fe = [0],
+ ge = [],
+ re = [null],
+ he = [],
+ ne = this.table,
+ ae = '',
+ we = 0,
+ Te = 0,
+ Ce = 0,
+ Ae = 2,
+ Ge = 1,
+ Me = he.slice.call(arguments, 1),
+ ye = Object.create(this.lexer),
+ He = { yy: {} };
+ for (var ze in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, ze) && (He.yy[ze] = this.yy[ze]);
+ ye.setInput(me, He.yy),
+ (He.yy.lexer = ye),
+ (He.yy.parser = this),
+ typeof ye.yylloc > 'u' && (ye.yylloc = {});
+ var Ze = ye.yylloc;
+ he.push(Ze);
+ var gt = ye.options && ye.options.ranges;
+ typeof He.yy.parseError == 'function'
+ ? (this.parseError = He.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function yt(St) {
+ (fe.length = fe.length - 2 * St),
+ (re.length = re.length - St),
+ (he.length = he.length - St);
+ }
+ o(yt, 'popStack');
+ function tt() {
+ var St;
+ return (
+ (St = ge.pop() || ye.lex() || Ge),
+ typeof St != 'number' &&
+ (St instanceof Array && ((ge = St), (St = ge.pop())),
+ (St = W.symbols_[St] || St)),
+ St
+ );
+ }
+ o(tt, 'lex');
+ for (var Ye, Je, Ve, je, kt, at, xt = {}, it, dt, lt, It; ; ) {
+ if (
+ ((Ve = fe[fe.length - 1]),
+ this.defaultActions[Ve]
+ ? (je = this.defaultActions[Ve])
+ : ((Ye === null || typeof Ye > 'u') && (Ye = tt()),
+ (je = ne[Ve] && ne[Ve][Ye])),
+ typeof je > 'u' || !je.length || !je[0])
+ ) {
+ var mt = '';
+ It = [];
+ for (it in ne[Ve])
+ this.terminals_[it] && it > Ae && It.push("'" + this.terminals_[it] + "'");
+ ye.showPosition
+ ? (mt =
+ 'Parse error on line ' +
+ (we + 1) +
+ `:
+` +
+ ye.showPosition() +
+ `
+Expecting ` +
+ It.join(', ') +
+ ", got '" +
+ (this.terminals_[Ye] || Ye) +
+ "'")
+ : (mt =
+ 'Parse error on line ' +
+ (we + 1) +
+ ': Unexpected ' +
+ (Ye == Ge ? 'end of input' : "'" + (this.terminals_[Ye] || Ye) + "'")),
+ this.parseError(mt, {
+ text: ye.match,
+ token: this.terminals_[Ye] || Ye,
+ line: ye.yylineno,
+ loc: Ze,
+ expected: It
+ });
+ }
+ if (je[0] instanceof Array && je.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Ve + ', token: ' + Ye
+ );
+ switch (je[0]) {
+ case 1:
+ fe.push(Ye),
+ re.push(ye.yytext),
+ he.push(ye.yylloc),
+ fe.push(je[1]),
+ (Ye = null),
+ Je
+ ? ((Ye = Je), (Je = null))
+ : ((Te = ye.yyleng),
+ (ae = ye.yytext),
+ (we = ye.yylineno),
+ (Ze = ye.yylloc),
+ Ce > 0 && Ce--);
+ break;
+ case 2:
+ if (
+ ((dt = this.productions_[je[1]][1]),
+ (xt.$ = re[re.length - dt]),
+ (xt._$ = {
+ first_line: he[he.length - (dt || 1)].first_line,
+ last_line: he[he.length - 1].last_line,
+ first_column: he[he.length - (dt || 1)].first_column,
+ last_column: he[he.length - 1].last_column
+ }),
+ gt &&
+ (xt._$.range = [
+ he[he.length - (dt || 1)].range[0],
+ he[he.length - 1].range[1]
+ ]),
+ (at = this.performAction.apply(
+ xt,
+ [ae, Te, we, He.yy, je[1], re, he].concat(Me)
+ )),
+ typeof at < 'u')
+ )
+ return at;
+ dt &&
+ ((fe = fe.slice(0, -1 * dt * 2)),
+ (re = re.slice(0, -1 * dt)),
+ (he = he.slice(0, -1 * dt))),
+ fe.push(this.productions_[je[1]][0]),
+ re.push(xt.$),
+ he.push(xt._$),
+ (lt = ne[fe[fe.length - 2]][fe[fe.length - 1]]),
+ fe.push(lt);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ Ue = (function () {
+ var _e = {
+ EOF: 1,
+ parseError: o(function (W, fe) {
+ if (this.yy.parser) this.yy.parser.parseError(W, fe);
+ else throw new Error(W);
+ }, 'parseError'),
+ setInput: o(function (me, W) {
+ return (
+ (this.yy = W || this.yy || {}),
+ (this._input = me),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var me = this._input[0];
+ (this.yytext += me),
+ this.yyleng++,
+ this.offset++,
+ (this.match += me),
+ (this.matched += me);
+ var W = me.match(/(?:\r\n?|\n).*/g);
+ return (
+ W ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ me
+ );
+ }, 'input'),
+ unput: o(function (me) {
+ var W = me.length,
+ fe = me.split(/(?:\r\n?|\n)/g);
+ (this._input = me + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - W)),
+ (this.offset -= W);
+ var ge = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ fe.length - 1 && (this.yylineno -= fe.length - 1);
+ var re = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: fe
+ ? (fe.length === ge.length ? this.yylloc.first_column : 0) +
+ ge[ge.length - fe.length].length -
+ fe[0].length
+ : this.yylloc.first_column - W
+ }),
+ this.options.ranges && (this.yylloc.range = [re[0], re[0] + this.yyleng - W]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (me) {
+ this.unput(this.match.slice(me));
+ }, 'less'),
+ pastInput: o(function () {
+ var me = this.matched.substr(0, this.matched.length - this.match.length);
+ return (me.length > 20 ? '...' : '') + me.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var me = this.match;
+ return (
+ me.length < 20 && (me += this._input.substr(0, 20 - me.length)),
+ (me.substr(0, 20) + (me.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var me = this.pastInput(),
+ W = new Array(me.length + 1).join('-');
+ return (
+ me +
+ this.upcomingInput() +
+ `
+` +
+ W +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (me, W) {
+ var fe, ge, re;
+ if (
+ (this.options.backtrack_lexer &&
+ ((re = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (re.yylloc.range = this.yylloc.range.slice(0))),
+ (ge = me[0].match(/(?:\r\n?|\n).*/g)),
+ ge && (this.yylineno += ge.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: ge
+ ? ge[ge.length - 1].length - ge[ge.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + me[0].length
+ }),
+ (this.yytext += me[0]),
+ (this.match += me[0]),
+ (this.matches = me),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(me[0].length)),
+ (this.matched += me[0]),
+ (fe = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ W,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ fe)
+ )
+ return fe;
+ if (this._backtrack) {
+ for (var he in re) this[he] = re[he];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var me, W, fe, ge;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var re = this._currentRules(), he = 0; he < re.length; he++)
+ if (
+ ((fe = this._input.match(this.rules[re[he]])),
+ fe && (!W || fe[0].length > W[0].length))
+ ) {
+ if (((W = fe), (ge = he), this.options.backtrack_lexer)) {
+ if (((me = this.test_match(fe, re[he])), me !== !1)) return me;
+ if (this._backtrack) {
+ W = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return W
+ ? ((me = this.test_match(W, re[ge])), me !== !1 ? me : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var W = this.next();
+ return W || this.lex();
+ }, 'lex'),
+ begin: o(function (W) {
+ this.conditionStack.push(W);
+ }, 'begin'),
+ popState: o(function () {
+ var W = this.conditionStack.length - 1;
+ return W > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (W) {
+ return (
+ (W = this.conditionStack.length - 1 - Math.abs(W || 0)),
+ W >= 0 ? this.conditionStack[W] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (W) {
+ this.begin(W);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: {},
+ performAction: o(function (W, fe, ge, re) {
+ var he = re;
+ switch (ge) {
+ case 0:
+ return 6;
+ case 1:
+ return 7;
+ case 2:
+ return 8;
+ case 3:
+ return 9;
+ case 4:
+ return 22;
+ case 5:
+ return 23;
+ case 6:
+ return this.begin('acc_title'), 24;
+ break;
+ case 7:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 8:
+ return this.begin('acc_descr'), 26;
+ break;
+ case 9:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 10:
+ this.begin('acc_descr_multiline');
+ break;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 'acc_descr_multiline_value';
+ case 13:
+ break;
+ case 14:
+ c;
+ break;
+ case 15:
+ return 12;
+ case 16:
+ break;
+ case 17:
+ return 11;
+ case 18:
+ return 15;
+ case 19:
+ return 16;
+ case 20:
+ return 17;
+ case 21:
+ return 18;
+ case 22:
+ return this.begin('person_ext'), 45;
+ break;
+ case 23:
+ return this.begin('person'), 44;
+ break;
+ case 24:
+ return this.begin('system_ext_queue'), 51;
+ break;
+ case 25:
+ return this.begin('system_ext_db'), 50;
+ break;
+ case 26:
+ return this.begin('system_ext'), 49;
+ break;
+ case 27:
+ return this.begin('system_queue'), 48;
+ break;
+ case 28:
+ return this.begin('system_db'), 47;
+ break;
+ case 29:
+ return this.begin('system'), 46;
+ break;
+ case 30:
+ return this.begin('boundary'), 37;
+ break;
+ case 31:
+ return this.begin('enterprise_boundary'), 34;
+ break;
+ case 32:
+ return this.begin('system_boundary'), 36;
+ break;
+ case 33:
+ return this.begin('container_ext_queue'), 57;
+ break;
+ case 34:
+ return this.begin('container_ext_db'), 56;
+ break;
+ case 35:
+ return this.begin('container_ext'), 55;
+ break;
+ case 36:
+ return this.begin('container_queue'), 54;
+ break;
+ case 37:
+ return this.begin('container_db'), 53;
+ break;
+ case 38:
+ return this.begin('container'), 52;
+ break;
+ case 39:
+ return this.begin('container_boundary'), 38;
+ break;
+ case 40:
+ return this.begin('component_ext_queue'), 63;
+ break;
+ case 41:
+ return this.begin('component_ext_db'), 62;
+ break;
+ case 42:
+ return this.begin('component_ext'), 61;
+ break;
+ case 43:
+ return this.begin('component_queue'), 60;
+ break;
+ case 44:
+ return this.begin('component_db'), 59;
+ break;
+ case 45:
+ return this.begin('component'), 58;
+ break;
+ case 46:
+ return this.begin('node'), 39;
+ break;
+ case 47:
+ return this.begin('node'), 39;
+ break;
+ case 48:
+ return this.begin('node_l'), 40;
+ break;
+ case 49:
+ return this.begin('node_r'), 41;
+ break;
+ case 50:
+ return this.begin('rel'), 64;
+ break;
+ case 51:
+ return this.begin('birel'), 65;
+ break;
+ case 52:
+ return this.begin('rel_u'), 66;
+ break;
+ case 53:
+ return this.begin('rel_u'), 66;
+ break;
+ case 54:
+ return this.begin('rel_d'), 67;
+ break;
+ case 55:
+ return this.begin('rel_d'), 67;
+ break;
+ case 56:
+ return this.begin('rel_l'), 68;
+ break;
+ case 57:
+ return this.begin('rel_l'), 68;
+ break;
+ case 58:
+ return this.begin('rel_r'), 69;
+ break;
+ case 59:
+ return this.begin('rel_r'), 69;
+ break;
+ case 60:
+ return this.begin('rel_b'), 70;
+ break;
+ case 61:
+ return this.begin('rel_index'), 71;
+ break;
+ case 62:
+ return this.begin('update_el_style'), 72;
+ break;
+ case 63:
+ return this.begin('update_rel_style'), 73;
+ break;
+ case 64:
+ return this.begin('update_layout_config'), 74;
+ break;
+ case 65:
+ return 'EOF_IN_STRUCT';
+ case 66:
+ return this.begin('attribute'), 'ATTRIBUTE_EMPTY';
+ break;
+ case 67:
+ this.begin('attribute');
+ break;
+ case 68:
+ this.popState(), this.popState();
+ break;
+ case 69:
+ return 80;
+ case 70:
+ break;
+ case 71:
+ return 80;
+ case 72:
+ this.begin('string');
+ break;
+ case 73:
+ this.popState();
+ break;
+ case 74:
+ return 'STR';
+ case 75:
+ this.begin('string_kv');
+ break;
+ case 76:
+ return this.begin('string_kv_key'), 'STR_KEY';
+ break;
+ case 77:
+ this.popState(), this.begin('string_kv_value');
+ break;
+ case 78:
+ return 'STR_VALUE';
+ case 79:
+ this.popState(), this.popState();
+ break;
+ case 80:
+ return 'STR';
+ case 81:
+ return 'LBRACE';
+ case 82:
+ return 'RBRACE';
+ case 83:
+ return 'SPACE';
+ case 84:
+ return 'EOL';
+ case 85:
+ return 14;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:.*direction\s+TB[^\n]*)/,
+ /^(?:.*direction\s+BT[^\n]*)/,
+ /^(?:.*direction\s+RL[^\n]*)/,
+ /^(?:.*direction\s+LR[^\n]*)/,
+ /^(?:title\s[^#\n;]+)/,
+ /^(?:accDescription\s[^#\n;]+)/,
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,
+ /^(?:%%[^\n]*(\r?\n)*)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:C4Context\b)/,
+ /^(?:C4Container\b)/,
+ /^(?:C4Component\b)/,
+ /^(?:C4Dynamic\b)/,
+ /^(?:C4Deployment\b)/,
+ /^(?:Person_Ext\b)/,
+ /^(?:Person\b)/,
+ /^(?:SystemQueue_Ext\b)/,
+ /^(?:SystemDb_Ext\b)/,
+ /^(?:System_Ext\b)/,
+ /^(?:SystemQueue\b)/,
+ /^(?:SystemDb\b)/,
+ /^(?:System\b)/,
+ /^(?:Boundary\b)/,
+ /^(?:Enterprise_Boundary\b)/,
+ /^(?:System_Boundary\b)/,
+ /^(?:ContainerQueue_Ext\b)/,
+ /^(?:ContainerDb_Ext\b)/,
+ /^(?:Container_Ext\b)/,
+ /^(?:ContainerQueue\b)/,
+ /^(?:ContainerDb\b)/,
+ /^(?:Container\b)/,
+ /^(?:Container_Boundary\b)/,
+ /^(?:ComponentQueue_Ext\b)/,
+ /^(?:ComponentDb_Ext\b)/,
+ /^(?:Component_Ext\b)/,
+ /^(?:ComponentQueue\b)/,
+ /^(?:ComponentDb\b)/,
+ /^(?:Component\b)/,
+ /^(?:Deployment_Node\b)/,
+ /^(?:Node\b)/,
+ /^(?:Node_L\b)/,
+ /^(?:Node_R\b)/,
+ /^(?:Rel\b)/,
+ /^(?:BiRel\b)/,
+ /^(?:Rel_Up\b)/,
+ /^(?:Rel_U\b)/,
+ /^(?:Rel_Down\b)/,
+ /^(?:Rel_D\b)/,
+ /^(?:Rel_Left\b)/,
+ /^(?:Rel_L\b)/,
+ /^(?:Rel_Right\b)/,
+ /^(?:Rel_R\b)/,
+ /^(?:Rel_Back\b)/,
+ /^(?:RelIndex\b)/,
+ /^(?:UpdateElementStyle\b)/,
+ /^(?:UpdateRelStyle\b)/,
+ /^(?:UpdateLayoutConfig\b)/,
+ /^(?:$)/,
+ /^(?:[(][ ]*[,])/,
+ /^(?:[(])/,
+ /^(?:[)])/,
+ /^(?:,,)/,
+ /^(?:,)/,
+ /^(?:[ ]*["]["])/,
+ /^(?:[ ]*["])/,
+ /^(?:["])/,
+ /^(?:[^"]*)/,
+ /^(?:[ ]*[\$])/,
+ /^(?:[^=]*)/,
+ /^(?:[=][ ]*["])/,
+ /^(?:[^"]+)/,
+ /^(?:["])/,
+ /^(?:[^,]+)/,
+ /^(?:\{)/,
+ /^(?:\})/,
+ /^(?:[\s]+)/,
+ /^(?:[\n\r]+)/,
+ /^(?:$)/
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [11, 12], inclusive: !1 },
+ acc_descr: { rules: [9], inclusive: !1 },
+ acc_title: { rules: [7], inclusive: !1 },
+ string_kv_value: { rules: [78, 79], inclusive: !1 },
+ string_kv_key: { rules: [77], inclusive: !1 },
+ string_kv: { rules: [76], inclusive: !1 },
+ string: { rules: [73, 74], inclusive: !1 },
+ attribute: {
+ rules: [68, 69, 70, 71, 72, 75, 80],
+ inclusive: !1
+ },
+ update_layout_config: {
+ rules: [65, 66, 67, 68],
+ inclusive: !1
+ },
+ update_rel_style: { rules: [65, 66, 67, 68], inclusive: !1 },
+ update_el_style: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_b: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_r: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_l: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_d: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_u: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_bi: { rules: [], inclusive: !1 },
+ rel: { rules: [65, 66, 67, 68], inclusive: !1 },
+ node_r: { rules: [65, 66, 67, 68], inclusive: !1 },
+ node_l: { rules: [65, 66, 67, 68], inclusive: !1 },
+ node: { rules: [65, 66, 67, 68], inclusive: !1 },
+ index: { rules: [], inclusive: !1 },
+ rel_index: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_ext_queue: { rules: [], inclusive: !1 },
+ component_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container: { rules: [65, 66, 67, 68], inclusive: !1 },
+ birel: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ enterprise_boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system: { rules: [65, 66, 67, 68], inclusive: !1 },
+ person_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ person: { rules: [65, 66, 67, 68], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 81,
+ 82, 83, 84, 85
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return _e;
+ })();
+ Se.lexer = Ue;
+ function Pe() {
+ this.yy = {};
+ }
+ return o(Pe, 'Parser'), (Pe.prototype = Se), (Se.Parser = Pe), new Pe();
+ })();
+ U1.parser = U1;
+ rz = U1;
+ });
+ var UC,
+ On,
+ cp = R(() => {
+ 'use strict';
+ (UC = o((t, e, { depth: r = 2, clobber: n = !1 } = {}) => {
+ let i = { depth: r, clobber: n };
+ return Array.isArray(e) && !Array.isArray(t)
+ ? (e.forEach((a) => UC(t, a, i)), t)
+ : Array.isArray(e) && Array.isArray(t)
+ ? (e.forEach((a) => {
+ t.includes(a) || t.push(a);
+ }),
+ t)
+ : t === void 0 || r <= 0
+ ? t != null && typeof t == 'object' && typeof e == 'object'
+ ? Object.assign(t, e)
+ : e
+ : (e !== void 0 &&
+ typeof t == 'object' &&
+ typeof e == 'object' &&
+ Object.keys(e).forEach((a) => {
+ typeof e[a] == 'object' && (t[a] === void 0 || typeof t[a] == 'object')
+ ? (t[a] === void 0 && (t[a] = Array.isArray(e[a]) ? [] : {}),
+ (t[a] = UC(t[a], e[a], { depth: r - 1, clobber: n })))
+ : (n || (typeof t[a] != 'object' && typeof e[a] != 'object')) && (t[a] = e[a]);
+ }),
+ t);
+ }, 'assignWithDepth')),
+ (On = UC);
+ });
+ var Hb,
+ nz,
+ iz = R(() => {
+ 'use strict';
+ (Hb = {
+ min: { r: 0, g: 0, b: 0, s: 0, l: 0, a: 0 },
+ max: { r: 255, g: 255, b: 255, h: 360, s: 100, l: 100, a: 1 },
+ clamp: {
+ r: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'r'),
+ g: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'g'),
+ b: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'b'),
+ h: o((t) => t % 360, 'h'),
+ s: o((t) => (t >= 100 ? 100 : t < 0 ? 0 : t), 's'),
+ l: o((t) => (t >= 100 ? 100 : t < 0 ? 0 : t), 'l'),
+ a: o((t) => (t >= 1 ? 1 : t < 0 ? 0 : t), 'a')
+ },
+ toLinear: o((t) => {
+ let e = t / 255;
+ return t > 0.03928 ? Math.pow((e + 0.055) / 1.055, 2.4) : e / 12.92;
+ }, 'toLinear'),
+ hue2rgb: o(
+ (t, e, r) => (
+ r < 0 && (r += 1),
+ r > 1 && (r -= 1),
+ r < 0.16666666666666666
+ ? t + (e - t) * 6 * r
+ : r < 0.5
+ ? e
+ : r < 0.6666666666666666
+ ? t + (e - t) * (0.6666666666666666 - r) * 6
+ : t
+ ),
+ 'hue2rgb'
+ ),
+ hsl2rgb: o(({ h: t, s: e, l: r }, n) => {
+ if (!e) return r * 2.55;
+ (t /= 360), (e /= 100), (r /= 100);
+ let i = r < 0.5 ? r * (1 + e) : r + e - r * e,
+ a = 2 * r - i;
+ switch (n) {
+ case 'r':
+ return Hb.hue2rgb(a, i, t + 0.3333333333333333) * 255;
+ case 'g':
+ return Hb.hue2rgb(a, i, t) * 255;
+ case 'b':
+ return Hb.hue2rgb(a, i, t - 0.3333333333333333) * 255;
+ }
+ }, 'hsl2rgb'),
+ rgb2hsl: o(({ r: t, g: e, b: r }, n) => {
+ (t /= 255), (e /= 255), (r /= 255);
+ let i = Math.max(t, e, r),
+ a = Math.min(t, e, r),
+ s = (i + a) / 2;
+ if (n === 'l') return s * 100;
+ if (i === a) return 0;
+ let l = i - a,
+ u = s > 0.5 ? l / (2 - i - a) : l / (i + a);
+ if (n === 's') return u * 100;
+ switch (i) {
+ case t:
+ return ((e - r) / l + (e < r ? 6 : 0)) * 60;
+ case e:
+ return ((r - t) / l + 2) * 60;
+ case r:
+ return ((t - e) / l + 4) * 60;
+ default:
+ return -1;
+ }
+ }, 'rgb2hsl')
+ }),
+ (nz = Hb);
+ });
+ var h2e,
+ az,
+ sz = R(() => {
+ 'use strict';
+ (h2e = {
+ clamp: o((t, e, r) => (e > r ? Math.min(e, Math.max(r, t)) : Math.min(r, Math.max(e, t))), 'clamp'),
+ round: o((t) => Math.round(t * 1e10) / 1e10, 'round')
+ }),
+ (az = h2e);
+ });
+ var f2e,
+ oz,
+ lz = R(() => {
+ 'use strict';
+ (f2e = {
+ dec2hex: o((t) => {
+ let e = Math.round(t).toString(16);
+ return e.length > 1 ? e : `0${e}`;
+ }, 'dec2hex')
+ }),
+ (oz = f2e);
+ });
+ var d2e,
+ Bt,
+ jl = R(() => {
+ 'use strict';
+ iz();
+ sz();
+ lz();
+ (d2e = { channel: nz, lang: az, unit: oz }), (Bt = d2e);
+ });
+ var Jc,
+ Li,
+ H1 = R(() => {
+ 'use strict';
+ jl();
+ Jc = {};
+ for (let t = 0; t <= 255; t++) Jc[t] = Bt.unit.dec2hex(t);
+ Li = { ALL: 0, RGB: 1, HSL: 2 };
+ });
+ var HC,
+ cz,
+ uz = R(() => {
+ 'use strict';
+ H1();
+ (HC = class {
+ static {
+ o(this, 'Type');
+ }
+ constructor() {
+ this.type = Li.ALL;
+ }
+ get() {
+ return this.type;
+ }
+ set(e) {
+ if (this.type && this.type !== e)
+ throw new Error('Cannot change both RGB and HSL channels at the same time');
+ this.type = e;
+ }
+ reset() {
+ this.type = Li.ALL;
+ }
+ is(e) {
+ return this.type === e;
+ }
+ }),
+ (cz = HC);
+ });
+ var YC,
+ hz,
+ fz = R(() => {
+ 'use strict';
+ jl();
+ uz();
+ H1();
+ (YC = class {
+ static {
+ o(this, 'Channels');
+ }
+ constructor(e, r) {
+ (this.color = r), (this.changed = !1), (this.data = e), (this.type = new cz());
+ }
+ set(e, r) {
+ return (this.color = r), (this.changed = !1), (this.data = e), (this.type.type = Li.ALL), this;
+ }
+ _ensureHSL() {
+ let e = this.data,
+ { h: r, s: n, l: i } = e;
+ r === void 0 && (e.h = Bt.channel.rgb2hsl(e, 'h')),
+ n === void 0 && (e.s = Bt.channel.rgb2hsl(e, 's')),
+ i === void 0 && (e.l = Bt.channel.rgb2hsl(e, 'l'));
+ }
+ _ensureRGB() {
+ let e = this.data,
+ { r, g: n, b: i } = e;
+ r === void 0 && (e.r = Bt.channel.hsl2rgb(e, 'r')),
+ n === void 0 && (e.g = Bt.channel.hsl2rgb(e, 'g')),
+ i === void 0 && (e.b = Bt.channel.hsl2rgb(e, 'b'));
+ }
+ get r() {
+ let e = this.data,
+ r = e.r;
+ return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'r'));
+ }
+ get g() {
+ let e = this.data,
+ r = e.g;
+ return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'g'));
+ }
+ get b() {
+ let e = this.data,
+ r = e.b;
+ return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'b'));
+ }
+ get h() {
+ let e = this.data,
+ r = e.h;
+ return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 'h'));
+ }
+ get s() {
+ let e = this.data,
+ r = e.s;
+ return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 's'));
+ }
+ get l() {
+ let e = this.data,
+ r = e.l;
+ return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 'l'));
+ }
+ get a() {
+ return this.data.a;
+ }
+ set r(e) {
+ this.type.set(Li.RGB), (this.changed = !0), (this.data.r = e);
+ }
+ set g(e) {
+ this.type.set(Li.RGB), (this.changed = !0), (this.data.g = e);
+ }
+ set b(e) {
+ this.type.set(Li.RGB), (this.changed = !0), (this.data.b = e);
+ }
+ set h(e) {
+ this.type.set(Li.HSL), (this.changed = !0), (this.data.h = e);
+ }
+ set s(e) {
+ this.type.set(Li.HSL), (this.changed = !0), (this.data.s = e);
+ }
+ set l(e) {
+ this.type.set(Li.HSL), (this.changed = !0), (this.data.l = e);
+ }
+ set a(e) {
+ (this.changed = !0), (this.data.a = e);
+ }
+ }),
+ (hz = YC);
+ });
+ var p2e,
+ oh,
+ Y1 = R(() => {
+ 'use strict';
+ fz();
+ (p2e = new hz({ r: 0, g: 0, b: 0, a: 0 }, 'transparent')), (oh = p2e);
+ });
+ var dz,
+ Yf,
+ WC = R(() => {
+ 'use strict';
+ Y1();
+ H1();
+ (dz = {
+ re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,
+ parse: o((t) => {
+ if (t.charCodeAt(0) !== 35) return;
+ let e = t.match(dz.re);
+ if (!e) return;
+ let r = e[1],
+ n = parseInt(r, 16),
+ i = r.length,
+ a = i % 4 === 0,
+ s = i > 4,
+ l = s ? 1 : 17,
+ u = s ? 8 : 4,
+ h = a ? 0 : -1,
+ f = s ? 255 : 15;
+ return oh.set(
+ {
+ r: ((n >> (u * (h + 3))) & f) * l,
+ g: ((n >> (u * (h + 2))) & f) * l,
+ b: ((n >> (u * (h + 1))) & f) * l,
+ a: a ? ((n & f) * l) / 255 : 1
+ },
+ t
+ );
+ }, 'parse'),
+ stringify: o((t) => {
+ let { r: e, g: r, b: n, a: i } = t;
+ return i < 1
+ ? `#${Jc[Math.round(e)]}${Jc[Math.round(r)]}${Jc[Math.round(n)]}${Jc[Math.round(i * 255)]}`
+ : `#${Jc[Math.round(e)]}${Jc[Math.round(r)]}${Jc[Math.round(n)]}`;
+ }, 'stringify')
+ }),
+ (Yf = dz);
+ });
+ var Yb,
+ W1,
+ pz = R(() => {
+ 'use strict';
+ jl();
+ Y1();
+ (Yb = {
+ re: /^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,
+ hueRe: /^(.+?)(deg|grad|rad|turn)$/i,
+ _hue2deg: o((t) => {
+ let e = t.match(Yb.hueRe);
+ if (e) {
+ let [, r, n] = e;
+ switch (n) {
+ case 'grad':
+ return Bt.channel.clamp.h(parseFloat(r) * 0.9);
+ case 'rad':
+ return Bt.channel.clamp.h((parseFloat(r) * 180) / Math.PI);
+ case 'turn':
+ return Bt.channel.clamp.h(parseFloat(r) * 360);
+ }
+ }
+ return Bt.channel.clamp.h(parseFloat(t));
+ }, '_hue2deg'),
+ parse: o((t) => {
+ let e = t.charCodeAt(0);
+ if (e !== 104 && e !== 72) return;
+ let r = t.match(Yb.re);
+ if (!r) return;
+ let [, n, i, a, s, l] = r;
+ return oh.set(
+ {
+ h: Yb._hue2deg(n),
+ s: Bt.channel.clamp.s(parseFloat(i)),
+ l: Bt.channel.clamp.l(parseFloat(a)),
+ a: s ? Bt.channel.clamp.a(l ? parseFloat(s) / 100 : parseFloat(s)) : 1
+ },
+ t
+ );
+ }, 'parse'),
+ stringify: o((t) => {
+ let { h: e, s: r, l: n, a: i } = t;
+ return i < 1
+ ? `hsla(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%, ${i})`
+ : `hsl(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%)`;
+ }, 'stringify')
+ }),
+ (W1 = Yb);
+ });
+ var Wb,
+ qC,
+ mz = R(() => {
+ 'use strict';
+ WC();
+ (Wb = {
+ colors: {
+ aliceblue: '#f0f8ff',
+ antiquewhite: '#faebd7',
+ aqua: '#00ffff',
+ aquamarine: '#7fffd4',
+ azure: '#f0ffff',
+ beige: '#f5f5dc',
+ bisque: '#ffe4c4',
+ black: '#000000',
+ blanchedalmond: '#ffebcd',
+ blue: '#0000ff',
+ blueviolet: '#8a2be2',
+ brown: '#a52a2a',
+ burlywood: '#deb887',
+ cadetblue: '#5f9ea0',
+ chartreuse: '#7fff00',
+ chocolate: '#d2691e',
+ coral: '#ff7f50',
+ cornflowerblue: '#6495ed',
+ cornsilk: '#fff8dc',
+ crimson: '#dc143c',
+ cyanaqua: '#00ffff',
+ darkblue: '#00008b',
+ darkcyan: '#008b8b',
+ darkgoldenrod: '#b8860b',
+ darkgray: '#a9a9a9',
+ darkgreen: '#006400',
+ darkgrey: '#a9a9a9',
+ darkkhaki: '#bdb76b',
+ darkmagenta: '#8b008b',
+ darkolivegreen: '#556b2f',
+ darkorange: '#ff8c00',
+ darkorchid: '#9932cc',
+ darkred: '#8b0000',
+ darksalmon: '#e9967a',
+ darkseagreen: '#8fbc8f',
+ darkslateblue: '#483d8b',
+ darkslategray: '#2f4f4f',
+ darkslategrey: '#2f4f4f',
+ darkturquoise: '#00ced1',
+ darkviolet: '#9400d3',
+ deeppink: '#ff1493',
+ deepskyblue: '#00bfff',
+ dimgray: '#696969',
+ dimgrey: '#696969',
+ dodgerblue: '#1e90ff',
+ firebrick: '#b22222',
+ floralwhite: '#fffaf0',
+ forestgreen: '#228b22',
+ fuchsia: '#ff00ff',
+ gainsboro: '#dcdcdc',
+ ghostwhite: '#f8f8ff',
+ gold: '#ffd700',
+ goldenrod: '#daa520',
+ gray: '#808080',
+ green: '#008000',
+ greenyellow: '#adff2f',
+ grey: '#808080',
+ honeydew: '#f0fff0',
+ hotpink: '#ff69b4',
+ indianred: '#cd5c5c',
+ indigo: '#4b0082',
+ ivory: '#fffff0',
+ khaki: '#f0e68c',
+ lavender: '#e6e6fa',
+ lavenderblush: '#fff0f5',
+ lawngreen: '#7cfc00',
+ lemonchiffon: '#fffacd',
+ lightblue: '#add8e6',
+ lightcoral: '#f08080',
+ lightcyan: '#e0ffff',
+ lightgoldenrodyellow: '#fafad2',
+ lightgray: '#d3d3d3',
+ lightgreen: '#90ee90',
+ lightgrey: '#d3d3d3',
+ lightpink: '#ffb6c1',
+ lightsalmon: '#ffa07a',
+ lightseagreen: '#20b2aa',
+ lightskyblue: '#87cefa',
+ lightslategray: '#778899',
+ lightslategrey: '#778899',
+ lightsteelblue: '#b0c4de',
+ lightyellow: '#ffffe0',
+ lime: '#00ff00',
+ limegreen: '#32cd32',
+ linen: '#faf0e6',
+ magenta: '#ff00ff',
+ maroon: '#800000',
+ mediumaquamarine: '#66cdaa',
+ mediumblue: '#0000cd',
+ mediumorchid: '#ba55d3',
+ mediumpurple: '#9370db',
+ mediumseagreen: '#3cb371',
+ mediumslateblue: '#7b68ee',
+ mediumspringgreen: '#00fa9a',
+ mediumturquoise: '#48d1cc',
+ mediumvioletred: '#c71585',
+ midnightblue: '#191970',
+ mintcream: '#f5fffa',
+ mistyrose: '#ffe4e1',
+ moccasin: '#ffe4b5',
+ navajowhite: '#ffdead',
+ navy: '#000080',
+ oldlace: '#fdf5e6',
+ olive: '#808000',
+ olivedrab: '#6b8e23',
+ orange: '#ffa500',
+ orangered: '#ff4500',
+ orchid: '#da70d6',
+ palegoldenrod: '#eee8aa',
+ palegreen: '#98fb98',
+ paleturquoise: '#afeeee',
+ palevioletred: '#db7093',
+ papayawhip: '#ffefd5',
+ peachpuff: '#ffdab9',
+ peru: '#cd853f',
+ pink: '#ffc0cb',
+ plum: '#dda0dd',
+ powderblue: '#b0e0e6',
+ purple: '#800080',
+ rebeccapurple: '#663399',
+ red: '#ff0000',
+ rosybrown: '#bc8f8f',
+ royalblue: '#4169e1',
+ saddlebrown: '#8b4513',
+ salmon: '#fa8072',
+ sandybrown: '#f4a460',
+ seagreen: '#2e8b57',
+ seashell: '#fff5ee',
+ sienna: '#a0522d',
+ silver: '#c0c0c0',
+ skyblue: '#87ceeb',
+ slateblue: '#6a5acd',
+ slategray: '#708090',
+ slategrey: '#708090',
+ snow: '#fffafa',
+ springgreen: '#00ff7f',
+ tan: '#d2b48c',
+ teal: '#008080',
+ thistle: '#d8bfd8',
+ transparent: '#00000000',
+ turquoise: '#40e0d0',
+ violet: '#ee82ee',
+ wheat: '#f5deb3',
+ white: '#ffffff',
+ whitesmoke: '#f5f5f5',
+ yellow: '#ffff00',
+ yellowgreen: '#9acd32'
+ },
+ parse: o((t) => {
+ t = t.toLowerCase();
+ let e = Wb.colors[t];
+ if (e) return Yf.parse(e);
+ }, 'parse'),
+ stringify: o((t) => {
+ let e = Yf.stringify(t);
+ for (let r in Wb.colors) if (Wb.colors[r] === e) return r;
+ }, 'stringify')
+ }),
+ (qC = Wb);
+ });
+ var gz,
+ q1,
+ yz = R(() => {
+ 'use strict';
+ jl();
+ Y1();
+ (gz = {
+ re: /^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,
+ parse: o((t) => {
+ let e = t.charCodeAt(0);
+ if (e !== 114 && e !== 82) return;
+ let r = t.match(gz.re);
+ if (!r) return;
+ let [, n, i, a, s, l, u, h, f] = r;
+ return oh.set(
+ {
+ r: Bt.channel.clamp.r(i ? parseFloat(n) * 2.55 : parseFloat(n)),
+ g: Bt.channel.clamp.g(s ? parseFloat(a) * 2.55 : parseFloat(a)),
+ b: Bt.channel.clamp.b(u ? parseFloat(l) * 2.55 : parseFloat(l)),
+ a: h ? Bt.channel.clamp.a(f ? parseFloat(h) / 100 : parseFloat(h)) : 1
+ },
+ t
+ );
+ }, 'parse'),
+ stringify: o((t) => {
+ let { r: e, g: r, b: n, a: i } = t;
+ return i < 1
+ ? `rgba(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)}, ${Bt.lang.round(i)})`
+ : `rgb(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)})`;
+ }, 'stringify')
+ }),
+ (q1 = gz);
+ });
+ var m2e,
+ Di,
+ eu = R(() => {
+ 'use strict';
+ WC();
+ pz();
+ mz();
+ yz();
+ H1();
+ (m2e = {
+ format: { keyword: qC, hex: Yf, rgb: q1, rgba: q1, hsl: W1, hsla: W1 },
+ parse: o((t) => {
+ if (typeof t != 'string') return t;
+ let e = Yf.parse(t) || q1.parse(t) || W1.parse(t) || qC.parse(t);
+ if (e) return e;
+ throw new Error(`Unsupported color format: "${t}"`);
+ }, 'parse'),
+ stringify: o(
+ (t) =>
+ !t.changed && t.color
+ ? t.color
+ : t.type.is(Li.HSL) || t.data.r === void 0
+ ? W1.stringify(t)
+ : t.a < 1 || !Number.isInteger(t.r) || !Number.isInteger(t.g) || !Number.isInteger(t.b)
+ ? q1.stringify(t)
+ : Yf.stringify(t),
+ 'stringify'
+ )
+ }),
+ (Di = m2e);
+ });
+ var g2e,
+ qb,
+ XC = R(() => {
+ 'use strict';
+ jl();
+ eu();
+ (g2e = o((t, e) => {
+ let r = Di.parse(t);
+ for (let n in e) r[n] = Bt.channel.clamp[n](e[n]);
+ return Di.stringify(r);
+ }, 'change')),
+ (qb = g2e);
+ });
+ var y2e,
+ Ws,
+ jC = R(() => {
+ 'use strict';
+ jl();
+ Y1();
+ eu();
+ XC();
+ (y2e = o((t, e, r = 0, n = 1) => {
+ if (typeof t != 'number') return qb(t, { a: e });
+ let i = oh.set({
+ r: Bt.channel.clamp.r(t),
+ g: Bt.channel.clamp.g(e),
+ b: Bt.channel.clamp.b(r),
+ a: Bt.channel.clamp.a(n)
+ });
+ return Di.stringify(i);
+ }, 'rgba')),
+ (Ws = y2e);
+ });
+ var v2e,
+ X1,
+ vz = R(() => {
+ 'use strict';
+ jl();
+ eu();
+ (v2e = o((t, e) => Bt.lang.round(Di.parse(t)[e]), 'channel')), (X1 = v2e);
+ });
+ var x2e,
+ xz,
+ bz = R(() => {
+ 'use strict';
+ jl();
+ eu();
+ (x2e = o((t) => {
+ let { r: e, g: r, b: n } = Di.parse(t),
+ i =
+ 0.2126 * Bt.channel.toLinear(e) +
+ 0.7152 * Bt.channel.toLinear(r) +
+ 0.0722 * Bt.channel.toLinear(n);
+ return Bt.lang.round(i);
+ }, 'luminance')),
+ (xz = x2e);
+ });
+ var b2e,
+ wz,
+ Tz = R(() => {
+ 'use strict';
+ bz();
+ (b2e = o((t) => xz(t) >= 0.5, 'isLight')), (wz = b2e);
+ });
+ var w2e,
+ Wa,
+ kz = R(() => {
+ 'use strict';
+ Tz();
+ (w2e = o((t) => !wz(t), 'isDark')), (Wa = w2e);
+ });
+ var T2e,
+ Xb,
+ KC = R(() => {
+ 'use strict';
+ jl();
+ eu();
+ (T2e = o((t, e, r) => {
+ let n = Di.parse(t),
+ i = n[e],
+ a = Bt.channel.clamp[e](i + r);
+ return i !== a && (n[e] = a), Di.stringify(n);
+ }, 'adjustChannel')),
+ (Xb = T2e);
+ });
+ var k2e,
+ Et,
+ Ez = R(() => {
+ 'use strict';
+ KC();
+ (k2e = o((t, e) => Xb(t, 'l', e), 'lighten')), (Et = k2e);
+ });
+ var E2e,
+ Dt,
+ Cz = R(() => {
+ 'use strict';
+ KC();
+ (E2e = o((t, e) => Xb(t, 'l', -e), 'darken')), (Dt = E2e);
+ });
+ var C2e,
+ Oe,
+ Sz = R(() => {
+ 'use strict';
+ eu();
+ XC();
+ (C2e = o((t, e) => {
+ let r = Di.parse(t),
+ n = {};
+ for (let i in e) e[i] && (n[i] = r[i] + e[i]);
+ return qb(t, n);
+ }, 'adjust')),
+ (Oe = C2e);
+ });
+ var S2e,
+ Az,
+ _z = R(() => {
+ 'use strict';
+ eu();
+ jC();
+ (S2e = o((t, e, r = 50) => {
+ let { r: n, g: i, b: a, a: s } = Di.parse(t),
+ { r: l, g: u, b: h, a: f } = Di.parse(e),
+ d = r / 100,
+ p = d * 2 - 1,
+ m = s - f,
+ y = ((p * m === -1 ? p : (p + m) / (1 + p * m)) + 1) / 2,
+ v = 1 - y,
+ x = n * y + l * v,
+ b = i * y + u * v,
+ w = a * y + h * v,
+ S = s * d + f * (1 - d);
+ return Ws(x, b, w, S);
+ }, 'mix')),
+ (Az = S2e);
+ });
+ var A2e,
+ ot,
+ Lz = R(() => {
+ 'use strict';
+ eu();
+ _z();
+ (A2e = o((t, e = 100) => {
+ let r = Di.parse(t);
+ return (r.r = 255 - r.r), (r.g = 255 - r.g), (r.b = 255 - r.b), Az(r, t, e);
+ }, 'invert')),
+ (ot = A2e);
+ });
+ var Dz = R(() => {
+ 'use strict';
+ jC();
+ vz();
+ kz();
+ Ez();
+ Cz();
+ Sz();
+ Lz();
+ });
+ var al = R(() => {
+ 'use strict';
+ Dz();
+ });
+ var lh,
+ ch,
+ j1 = R(() => {
+ 'use strict';
+ (lh = '#ffffff'), (ch = '#f2f2f2');
+ });
+ var yi,
+ up = R(() => {
+ 'use strict';
+ al();
+ yi = o((t, e) => (e ? Oe(t, { s: -40, l: 10 }) : Oe(t, { s: -40, l: -10 })), 'mkBorder');
+ });
+ var QC,
+ Nz,
+ Mz = R(() => {
+ 'use strict';
+ al();
+ j1();
+ up();
+ (QC = class {
+ static {
+ o(this, 'Theme');
+ }
+ constructor() {
+ (this.background = '#f4f4f4'),
+ (this.primaryColor = '#fff4dd'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = '#333'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px');
+ }
+ updateColors() {
+ if (
+ ((this.primaryTextColor = this.primaryTextColor || (this.darkMode ? '#eee' : '#333')),
+ (this.secondaryColor = this.secondaryColor || Oe(this.primaryColor, { h: -120 })),
+ (this.tertiaryColor = this.tertiaryColor || Oe(this.primaryColor, { h: 180, l: 5 })),
+ (this.primaryBorderColor = this.primaryBorderColor || yi(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor =
+ this.secondaryBorderColor || yi(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = this.tertiaryBorderColor || yi(this.tertiaryColor, this.darkMode)),
+ (this.noteBorderColor = this.noteBorderColor || yi(this.noteBkgColor, this.darkMode)),
+ (this.noteBkgColor = this.noteBkgColor || '#fff5ad'),
+ (this.noteTextColor = this.noteTextColor || '#333'),
+ (this.secondaryTextColor = this.secondaryTextColor || ot(this.secondaryColor)),
+ (this.tertiaryTextColor = this.tertiaryTextColor || ot(this.tertiaryColor)),
+ (this.lineColor = this.lineColor || ot(this.background)),
+ (this.arrowheadColor = this.arrowheadColor || ot(this.background)),
+ (this.textColor = this.textColor || this.primaryTextColor),
+ (this.border2 = this.border2 || this.tertiaryBorderColor),
+ (this.nodeBkg = this.nodeBkg || this.primaryColor),
+ (this.mainBkg = this.mainBkg || this.primaryColor),
+ (this.nodeBorder = this.nodeBorder || this.primaryBorderColor),
+ (this.clusterBkg = this.clusterBkg || this.tertiaryColor),
+ (this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor),
+ (this.defaultLinkColor = this.defaultLinkColor || this.lineColor),
+ (this.titleColor = this.titleColor || this.tertiaryTextColor),
+ (this.edgeLabelBackground =
+ this.edgeLabelBackground ||
+ (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)),
+ (this.nodeTextColor = this.nodeTextColor || this.primaryTextColor),
+ (this.actorBorder = this.actorBorder || this.primaryBorderColor),
+ (this.actorBkg = this.actorBkg || this.mainBkg),
+ (this.actorTextColor = this.actorTextColor || this.primaryTextColor),
+ (this.actorLineColor = this.actorLineColor || this.actorBorder),
+ (this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg),
+ (this.signalColor = this.signalColor || this.textColor),
+ (this.signalTextColor = this.signalTextColor || this.textColor),
+ (this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder),
+ (this.labelTextColor = this.labelTextColor || this.actorTextColor),
+ (this.loopTextColor = this.loopTextColor || this.actorTextColor),
+ (this.activationBorderColor = this.activationBorderColor || Dt(this.secondaryColor, 10)),
+ (this.activationBkgColor = this.activationBkgColor || this.secondaryColor),
+ (this.sequenceNumberColor = this.sequenceNumberColor || ot(this.lineColor)),
+ (this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor),
+ (this.altSectionBkgColor = this.altSectionBkgColor || 'white'),
+ (this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor),
+ (this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor),
+ (this.excludeBkgColor = this.excludeBkgColor || '#eeeeee'),
+ (this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor),
+ (this.taskBkgColor = this.taskBkgColor || this.primaryColor),
+ (this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor),
+ (this.activeTaskBkgColor = this.activeTaskBkgColor || Et(this.primaryColor, 23)),
+ (this.gridColor = this.gridColor || 'lightgrey'),
+ (this.doneTaskBkgColor = this.doneTaskBkgColor || 'lightgrey'),
+ (this.doneTaskBorderColor = this.doneTaskBorderColor || 'grey'),
+ (this.critBorderColor = this.critBorderColor || '#ff8888'),
+ (this.critBkgColor = this.critBkgColor || 'red'),
+ (this.todayLineColor = this.todayLineColor || 'red'),
+ (this.taskTextColor = this.taskTextColor || this.textColor),
+ (this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor),
+ (this.taskTextLightColor = this.taskTextLightColor || this.textColor),
+ (this.taskTextColor = this.taskTextColor || this.primaryTextColor),
+ (this.taskTextDarkColor = this.taskTextDarkColor || this.textColor),
+ (this.taskTextClickableColor = this.taskTextClickableColor || '#003163'),
+ (this.personBorder = this.personBorder || this.primaryBorderColor),
+ (this.personBkg = this.personBkg || this.mainBkg),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || this.tertiaryColor),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.nodeBorder),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.specialStateColor = this.lineColor),
+ (this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210, l: 150 })),
+ (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })),
+ this.darkMode)
+ )
+ for (let r = 0; r < this.THEME_COLOR_LIMIT; r++)
+ this['cScale' + r] = Dt(this['cScale' + r], 75);
+ else
+ for (let r = 0; r < this.THEME_COLOR_LIMIT; r++)
+ this['cScale' + r] = Dt(this['cScale' + r], 25);
+ for (let r = 0; r < this.THEME_COLOR_LIMIT; r++)
+ this['cScaleInv' + r] = this['cScaleInv' + r] || ot(this['cScale' + r]);
+ for (let r = 0; r < this.THEME_COLOR_LIMIT; r++)
+ this.darkMode
+ ? (this['cScalePeer' + r] = this['cScalePeer' + r] || Et(this['cScale' + r], 10))
+ : (this['cScalePeer' + r] = this['cScalePeer' + r] || Dt(this['cScale' + r], 10));
+ this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;
+ for (let r = 0; r < this.THEME_COLOR_LIMIT; r++)
+ this['cScaleLabel' + r] = this['cScaleLabel' + r] || this.scaleLabelColor;
+ let e = this.darkMode ? -4 : -1;
+ for (let r = 0; r < 5; r++)
+ (this['surface' + r] =
+ this['surface' + r] || Oe(this.mainBkg, { h: 180, s: -15, l: e * (5 + r * 3) })),
+ (this['surfacePeer' + r] =
+ this['surfacePeer' + r] || Oe(this.mainBkg, { h: 180, s: -15, l: e * (8 + r * 3) }));
+ (this.classText = this.classText || this.textColor),
+ (this.fillType0 = this.fillType0 || this.primaryColor),
+ (this.fillType1 = this.fillType1 || this.secondaryColor),
+ (this.fillType2 = this.fillType2 || Oe(this.primaryColor, { h: 64 })),
+ (this.fillType3 = this.fillType3 || Oe(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = this.fillType4 || Oe(this.primaryColor, { h: -64 })),
+ (this.fillType5 = this.fillType5 || Oe(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = this.fillType6 || Oe(this.primaryColor, { h: 128 })),
+ (this.fillType7 = this.fillType7 || Oe(this.secondaryColor, { h: 128 })),
+ (this.pie1 = this.pie1 || this.primaryColor),
+ (this.pie2 = this.pie2 || this.secondaryColor),
+ (this.pie3 = this.pie3 || this.tertiaryColor),
+ (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -10 })),
+ (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -10 })),
+ (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { l: -10 })),
+ (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -10 })),
+ (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -10 })),
+ (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: 0 })),
+ (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -20 })),
+ (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -60, l: -20 })),
+ (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -10 })),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.archEdgeColor = this.archEdgeColor || '#777'),
+ (this.archEdgeArrowColor = this.archEdgeArrowColor || '#777'),
+ (this.archEdgeWidth = this.archEdgeWidth || '3'),
+ (this.archGroupBorderColor = this.archGroupBorderColor || '#000'),
+ (this.archGroupBorderWidth = this.archGroupBorderWidth || '2px'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || Wa(this.quadrant1Fill)
+ ? Et(this.quadrant1Fill)
+ : Dt(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor: this.xyChart?.backgroundColor || this.background,
+ titleColor: this.xyChart?.titleColor || this.primaryTextColor,
+ xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,
+ xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,
+ xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,
+ xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,
+ yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,
+ yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,
+ yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,
+ yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,
+ plotColorPalette:
+ this.xyChart?.plotColorPalette ||
+ '#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0'
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground =
+ this.relationLabelBackground ||
+ (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = this.git0 || this.primaryColor),
+ (this.git1 = this.git1 || this.secondaryColor),
+ (this.git2 = this.git2 || this.tertiaryColor),
+ (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })),
+ (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })),
+ (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })),
+ (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })),
+ (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })),
+ this.darkMode
+ ? ((this.git0 = Et(this.git0, 25)),
+ (this.git1 = Et(this.git1, 25)),
+ (this.git2 = Et(this.git2, 25)),
+ (this.git3 = Et(this.git3, 25)),
+ (this.git4 = Et(this.git4, 25)),
+ (this.git5 = Et(this.git5, 25)),
+ (this.git6 = Et(this.git6, 25)),
+ (this.git7 = Et(this.git7, 25)))
+ : ((this.git0 = Dt(this.git0, 25)),
+ (this.git1 = Dt(this.git1, 25)),
+ (this.git2 = Dt(this.git2, 25)),
+ (this.git3 = Dt(this.git3, 25)),
+ (this.git4 = Dt(this.git4, 25)),
+ (this.git5 = Dt(this.git5, 25)),
+ (this.git6 = Dt(this.git6, 25)),
+ (this.git7 = Dt(this.git7, 25))),
+ (this.gitInv0 = this.gitInv0 || ot(this.git0)),
+ (this.gitInv1 = this.gitInv1 || ot(this.git1)),
+ (this.gitInv2 = this.gitInv2 || ot(this.git2)),
+ (this.gitInv3 = this.gitInv3 || ot(this.git3)),
+ (this.gitInv4 = this.gitInv4 || ot(this.git4)),
+ (this.gitInv5 = this.gitInv5 || ot(this.git5)),
+ (this.gitInv6 = this.gitInv6 || ot(this.git6)),
+ (this.gitInv7 = this.gitInv7 || ot(this.git7)),
+ (this.branchLabelColor =
+ this.branchLabelColor || (this.darkMode ? 'black' : this.labelTextColor)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch);
+ }
+ calculate(e) {
+ if (typeof e != 'object') {
+ this.updateColors();
+ return;
+ }
+ let r = Object.keys(e);
+ r.forEach((n) => {
+ this[n] = e[n];
+ }),
+ this.updateColors(),
+ r.forEach((n) => {
+ this[n] = e[n];
+ });
+ }
+ }),
+ (Nz = o((t) => {
+ let e = new QC();
+ return e.calculate(t), e;
+ }, 'getThemeVariables'));
+ });
+ var ZC,
+ Iz,
+ Oz = R(() => {
+ 'use strict';
+ al();
+ up();
+ (ZC = class {
+ static {
+ o(this, 'Theme');
+ }
+ constructor() {
+ (this.background = '#333'),
+ (this.primaryColor = '#1f2020'),
+ (this.secondaryColor = Et(this.primaryColor, 16)),
+ (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })),
+ (this.primaryBorderColor = ot(this.background)),
+ (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = ot(this.primaryColor)),
+ (this.secondaryTextColor = ot(this.secondaryColor)),
+ (this.tertiaryTextColor = ot(this.tertiaryColor)),
+ (this.lineColor = ot(this.background)),
+ (this.textColor = ot(this.background)),
+ (this.mainBkg = '#1f2020'),
+ (this.secondBkg = 'calculated'),
+ (this.mainContrastColor = 'lightgrey'),
+ (this.darkTextColor = Et(ot('#323D47'), 10)),
+ (this.lineColor = 'calculated'),
+ (this.border1 = '#ccc'),
+ (this.border2 = Ws(255, 255, 255, 0.25)),
+ (this.arrowheadColor = 'calculated'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.labelBackground = '#181818'),
+ (this.textColor = '#ccc'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = '#F9FFFE'),
+ (this.edgeLabelBackground = 'calculated'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'calculated'),
+ (this.actorLineColor = 'calculated'),
+ (this.signalColor = 'calculated'),
+ (this.signalTextColor = 'calculated'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = 'calculated'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = 'calculated'),
+ (this.activationBkgColor = 'calculated'),
+ (this.sequenceNumberColor = 'black'),
+ (this.sectionBkgColor = Dt('#EAE8D9', 30)),
+ (this.altSectionBkgColor = 'calculated'),
+ (this.sectionBkgColor2 = '#EAE8D9'),
+ (this.excludeBkgColor = Dt(this.sectionBkgColor, 10)),
+ (this.taskBorderColor = Ws(255, 255, 255, 70)),
+ (this.taskBkgColor = 'calculated'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextLightColor = 'calculated'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = Ws(255, 255, 255, 50)),
+ (this.activeTaskBkgColor = '#81B1DB'),
+ (this.gridColor = 'calculated'),
+ (this.doneTaskBkgColor = 'calculated'),
+ (this.doneTaskBorderColor = 'grey'),
+ (this.critBorderColor = '#E83737'),
+ (this.critBkgColor = '#E83737'),
+ (this.taskTextDarkColor = 'calculated'),
+ (this.todayLineColor = '#DB5757'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.archEdgeColor = 'calculated'),
+ (this.archEdgeArrowColor = 'calculated'),
+ (this.archEdgeWidth = '3'),
+ (this.archGroupBorderColor = this.primaryBorderColor),
+ (this.archGroupBorderWidth = '2px'),
+ (this.labelColor = 'calculated'),
+ (this.errorBkgColor = '#a44141'),
+ (this.errorTextColor = '#ddd');
+ }
+ updateColors() {
+ (this.secondBkg = Et(this.mainBkg, 16)),
+ (this.lineColor = this.mainContrastColor),
+ (this.arrowheadColor = this.mainContrastColor),
+ (this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.edgeLabelBackground = Et(this.labelBackground, 25)),
+ (this.actorBorder = this.border1),
+ (this.actorBkg = this.mainBkg),
+ (this.actorTextColor = this.mainContrastColor),
+ (this.actorLineColor = this.actorBorder),
+ (this.signalColor = this.mainContrastColor),
+ (this.signalTextColor = this.mainContrastColor),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.labelBoxBorderColor = this.actorBorder),
+ (this.labelTextColor = this.mainContrastColor),
+ (this.loopTextColor = this.mainContrastColor),
+ (this.noteBorderColor = this.secondaryBorderColor),
+ (this.noteBkgColor = this.secondBkg),
+ (this.noteTextColor = this.secondaryTextColor),
+ (this.activationBorderColor = this.border1),
+ (this.activationBkgColor = this.secondBkg),
+ (this.altSectionBkgColor = this.background),
+ (this.taskBkgColor = Et(this.mainBkg, 23)),
+ (this.taskTextColor = this.darkTextColor),
+ (this.taskTextLightColor = this.mainContrastColor),
+ (this.taskTextOutsideColor = this.taskTextLightColor),
+ (this.gridColor = this.mainContrastColor),
+ (this.doneTaskBkgColor = this.mainContrastColor),
+ (this.taskTextDarkColor = this.darkTextColor),
+ (this.archEdgeColor = this.lineColor),
+ (this.archEdgeArrowColor = this.lineColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#555'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.primaryBorderColor),
+ (this.specialStateColor = '#f4f4f4'),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = Oe(this.primaryColor, { h: 64 })),
+ (this.fillType3 = Oe(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = Oe(this.primaryColor, { h: -64 })),
+ (this.fillType5 = Oe(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = Oe(this.primaryColor, { h: 128 })),
+ (this.fillType7 = Oe(this.secondaryColor, { h: 128 })),
+ (this.cScale1 = this.cScale1 || '#0b0000'),
+ (this.cScale2 = this.cScale2 || '#4d1037'),
+ (this.cScale3 = this.cScale3 || '#3f5258'),
+ (this.cScale4 = this.cScale4 || '#4f2f1b'),
+ (this.cScale5 = this.cScale5 || '#6e0a0a'),
+ (this.cScale6 = this.cScale6 || '#3b0048'),
+ (this.cScale7 = this.cScale7 || '#995a01'),
+ (this.cScale8 = this.cScale8 || '#154706'),
+ (this.cScale9 = this.cScale9 || '#161722'),
+ (this.cScale10 = this.cScale10 || '#00296f'),
+ (this.cScale11 = this.cScale11 || '#01629c'),
+ (this.cScale12 = this.cScale12 || '#010029'),
+ (this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })),
+ (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 }));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleInv' + e] = this['cScaleInv' + e] || ot(this['cScale' + e]);
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScalePeer' + e] = this['cScalePeer' + e] || Et(this['cScale' + e], 10);
+ for (let e = 0; e < 5; e++)
+ (this['surface' + e] =
+ this['surface' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(-10 + e * 4) })),
+ (this['surfacePeer' + e] =
+ this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(-7 + e * 4) }));
+ this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor);
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor;
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) this['pie' + e] = this['cScale' + e];
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || Wa(this.quadrant1Fill)
+ ? Et(this.quadrant1Fill)
+ : Dt(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor: this.xyChart?.backgroundColor || this.background,
+ titleColor: this.xyChart?.titleColor || this.primaryTextColor,
+ xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,
+ xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,
+ xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,
+ xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,
+ yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,
+ yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,
+ yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,
+ yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,
+ plotColorPalette:
+ this.xyChart?.plotColorPalette ||
+ '#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22'
+ }),
+ (this.packet = {
+ startByteColor: this.primaryTextColor,
+ endByteColor: this.primaryTextColor,
+ labelColor: this.primaryTextColor,
+ titleColor: this.primaryTextColor,
+ blockStrokeColor: this.primaryTextColor,
+ blockFillColor: this.background
+ }),
+ (this.classText = this.primaryTextColor),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground =
+ this.relationLabelBackground ||
+ (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = Et(this.secondaryColor, 20)),
+ (this.git1 = Et(this.pie2 || this.secondaryColor, 20)),
+ (this.git2 = Et(this.pie3 || this.tertiaryColor, 20)),
+ (this.git3 = Et(this.pie4 || Oe(this.primaryColor, { h: -30 }), 20)),
+ (this.git4 = Et(this.pie5 || Oe(this.primaryColor, { h: -60 }), 20)),
+ (this.git5 = Et(this.pie6 || Oe(this.primaryColor, { h: -90 }), 10)),
+ (this.git6 = Et(this.pie7 || Oe(this.primaryColor, { h: 60 }), 10)),
+ (this.git7 = Et(this.pie8 || Oe(this.primaryColor, { h: 120 }), 20)),
+ (this.gitInv0 = this.gitInv0 || ot(this.git0)),
+ (this.gitInv1 = this.gitInv1 || ot(this.git1)),
+ (this.gitInv2 = this.gitInv2 || ot(this.git2)),
+ (this.gitInv3 = this.gitInv3 || ot(this.git3)),
+ (this.gitInv4 = this.gitInv4 || ot(this.git4)),
+ (this.gitInv5 = this.gitInv5 || ot(this.git5)),
+ (this.gitInv6 = this.gitInv6 || ot(this.git6)),
+ (this.gitInv7 = this.gitInv7 || ot(this.git7)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd =
+ this.attributeBackgroundColorOdd || Et(this.background, 12)),
+ (this.attributeBackgroundColorEven =
+ this.attributeBackgroundColorEven || Et(this.background, 2)),
+ (this.nodeBorder = this.nodeBorder || '#999');
+ }
+ calculate(e) {
+ if (typeof e != 'object') {
+ this.updateColors();
+ return;
+ }
+ let r = Object.keys(e);
+ r.forEach((n) => {
+ this[n] = e[n];
+ }),
+ this.updateColors(),
+ r.forEach((n) => {
+ this[n] = e[n];
+ });
+ }
+ }),
+ (Iz = o((t) => {
+ let e = new ZC();
+ return e.calculate(t), e;
+ }, 'getThemeVariables'));
+ });
+ var JC,
+ hp,
+ jb = R(() => {
+ 'use strict';
+ al();
+ up();
+ j1();
+ (JC = class {
+ static {
+ o(this, 'Theme');
+ }
+ constructor() {
+ (this.background = '#f4f4f4'),
+ (this.primaryColor = '#ECECFF'),
+ (this.secondaryColor = Oe(this.primaryColor, { h: 120 })),
+ (this.secondaryColor = '#ffffde'),
+ (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })),
+ (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = ot(this.primaryColor)),
+ (this.secondaryTextColor = ot(this.secondaryColor)),
+ (this.tertiaryTextColor = ot(this.tertiaryColor)),
+ (this.lineColor = ot(this.background)),
+ (this.textColor = ot(this.background)),
+ (this.background = 'white'),
+ (this.mainBkg = '#ECECFF'),
+ (this.secondBkg = '#ffffde'),
+ (this.lineColor = '#333333'),
+ (this.border1 = '#9370DB'),
+ (this.border2 = '#aaaa33'),
+ (this.arrowheadColor = '#333333'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.labelBackground = 'rgba(232,232,232, 0.8)'),
+ (this.textColor = '#333'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = 'calculated'),
+ (this.edgeLabelBackground = 'calculated'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'black'),
+ (this.actorLineColor = 'calculated'),
+ (this.signalColor = 'calculated'),
+ (this.signalTextColor = 'calculated'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = 'calculated'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = '#666'),
+ (this.activationBkgColor = '#f4f4f4'),
+ (this.sequenceNumberColor = 'white'),
+ (this.sectionBkgColor = 'calculated'),
+ (this.altSectionBkgColor = 'calculated'),
+ (this.sectionBkgColor2 = 'calculated'),
+ (this.excludeBkgColor = '#eeeeee'),
+ (this.taskBorderColor = 'calculated'),
+ (this.taskBkgColor = 'calculated'),
+ (this.taskTextLightColor = 'calculated'),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextDarkColor = 'calculated'),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.taskTextClickableColor = 'calculated'),
+ (this.activeTaskBorderColor = 'calculated'),
+ (this.activeTaskBkgColor = 'calculated'),
+ (this.gridColor = 'calculated'),
+ (this.doneTaskBkgColor = 'calculated'),
+ (this.doneTaskBorderColor = 'calculated'),
+ (this.critBorderColor = 'calculated'),
+ (this.critBkgColor = 'calculated'),
+ (this.todayLineColor = 'calculated'),
+ (this.sectionBkgColor = Ws(102, 102, 255, 0.49)),
+ (this.altSectionBkgColor = 'white'),
+ (this.sectionBkgColor2 = '#fff400'),
+ (this.taskBorderColor = '#534fbc'),
+ (this.taskBkgColor = '#8a90dd'),
+ (this.taskTextLightColor = 'white'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextDarkColor = 'black'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = '#534fbc'),
+ (this.activeTaskBkgColor = '#bfc7ff'),
+ (this.gridColor = 'lightgrey'),
+ (this.doneTaskBkgColor = 'lightgrey'),
+ (this.doneTaskBorderColor = 'grey'),
+ (this.critBorderColor = '#ff8888'),
+ (this.critBkgColor = 'red'),
+ (this.todayLineColor = 'red'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.archEdgeColor = 'calculated'),
+ (this.archEdgeArrowColor = 'calculated'),
+ (this.archEdgeWidth = '3'),
+ (this.archGroupBorderColor = this.primaryBorderColor),
+ (this.archGroupBorderWidth = '2px'),
+ (this.labelColor = 'black'),
+ (this.errorBkgColor = '#552222'),
+ (this.errorTextColor = '#552222'),
+ this.updateColors();
+ }
+ updateColors() {
+ (this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })),
+ (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })),
+ (this.cScalePeer1 = this.cScalePeer1 || Dt(this.secondaryColor, 45)),
+ (this.cScalePeer2 = this.cScalePeer2 || Dt(this.tertiaryColor, 40));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ (this['cScale' + e] = Dt(this['cScale' + e], 10)),
+ (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 25));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleInv' + e] = this['cScaleInv' + e] || Oe(this['cScale' + e], { h: 180 });
+ for (let e = 0; e < 5; e++)
+ (this['surface' + e] = this['surface' + e] || Oe(this.mainBkg, { h: 30, l: -(5 + e * 5) })),
+ (this['surfacePeer' + e] =
+ this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, l: -(7 + e * 5) }));
+ if (
+ ((this.scaleLabelColor =
+ this.scaleLabelColor !== 'calculated' && this.scaleLabelColor
+ ? this.scaleLabelColor
+ : this.labelTextColor),
+ this.labelTextColor !== 'calculated')
+ ) {
+ (this.cScaleLabel0 = this.cScaleLabel0 || ot(this.labelTextColor)),
+ (this.cScaleLabel3 = this.cScaleLabel3 || ot(this.labelTextColor));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.labelTextColor;
+ }
+ (this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.titleColor = this.textColor),
+ (this.edgeLabelBackground = this.labelBackground),
+ (this.actorBorder = Et(this.border1, 23)),
+ (this.actorBkg = this.mainBkg),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.signalColor = this.textColor),
+ (this.signalTextColor = this.textColor),
+ (this.labelBoxBorderColor = this.actorBorder),
+ (this.labelTextColor = this.actorTextColor),
+ (this.loopTextColor = this.actorTextColor),
+ (this.noteBorderColor = this.border2),
+ (this.noteTextColor = this.actorTextColor),
+ (this.actorLineColor = this.actorBorder),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.archEdgeColor = this.lineColor),
+ (this.archEdgeArrowColor = this.lineColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#f0f0f0'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.nodeBorder),
+ (this.specialStateColor = this.lineColor),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.classText = this.primaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = Oe(this.primaryColor, { h: 64 })),
+ (this.fillType3 = Oe(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = Oe(this.primaryColor, { h: -64 })),
+ (this.fillType5 = Oe(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = Oe(this.primaryColor, { h: 128 })),
+ (this.fillType7 = Oe(this.secondaryColor, { h: 128 })),
+ (this.pie1 = this.pie1 || this.primaryColor),
+ (this.pie2 = this.pie2 || this.secondaryColor),
+ (this.pie3 = this.pie3 || Oe(this.tertiaryColor, { l: -40 })),
+ (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -10 })),
+ (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -30 })),
+ (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { l: -20 })),
+ (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -20 })),
+ (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -40 })),
+ (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: -40 })),
+ (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -40 })),
+ (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -90, l: -40 })),
+ (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -30 })),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || Wa(this.quadrant1Fill)
+ ? Et(this.quadrant1Fill)
+ : Dt(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor: this.xyChart?.backgroundColor || this.background,
+ titleColor: this.xyChart?.titleColor || this.primaryTextColor,
+ xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,
+ xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,
+ xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,
+ xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,
+ yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,
+ yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,
+ yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,
+ yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,
+ plotColorPalette:
+ this.xyChart?.plotColorPalette ||
+ '#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3'
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground = this.relationLabelBackground || this.labelBackground),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = this.git0 || this.primaryColor),
+ (this.git1 = this.git1 || this.secondaryColor),
+ (this.git2 = this.git2 || this.tertiaryColor),
+ (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })),
+ (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })),
+ (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })),
+ (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })),
+ (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })),
+ this.darkMode
+ ? ((this.git0 = Et(this.git0, 25)),
+ (this.git1 = Et(this.git1, 25)),
+ (this.git2 = Et(this.git2, 25)),
+ (this.git3 = Et(this.git3, 25)),
+ (this.git4 = Et(this.git4, 25)),
+ (this.git5 = Et(this.git5, 25)),
+ (this.git6 = Et(this.git6, 25)),
+ (this.git7 = Et(this.git7, 25)))
+ : ((this.git0 = Dt(this.git0, 25)),
+ (this.git1 = Dt(this.git1, 25)),
+ (this.git2 = Dt(this.git2, 25)),
+ (this.git3 = Dt(this.git3, 25)),
+ (this.git4 = Dt(this.git4, 25)),
+ (this.git5 = Dt(this.git5, 25)),
+ (this.git6 = Dt(this.git6, 25)),
+ (this.git7 = Dt(this.git7, 25))),
+ (this.gitInv0 = this.gitInv0 || Dt(ot(this.git0), 25)),
+ (this.gitInv1 = this.gitInv1 || ot(this.git1)),
+ (this.gitInv2 = this.gitInv2 || ot(this.git2)),
+ (this.gitInv3 = this.gitInv3 || ot(this.git3)),
+ (this.gitInv4 = this.gitInv4 || ot(this.git4)),
+ (this.gitInv5 = this.gitInv5 || ot(this.git5)),
+ (this.gitInv6 = this.gitInv6 || ot(this.git6)),
+ (this.gitInv7 = this.gitInv7 || ot(this.git7)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch);
+ }
+ calculate(e) {
+ if (typeof e != 'object') {
+ this.updateColors();
+ return;
+ }
+ let r = Object.keys(e);
+ r.forEach((n) => {
+ this[n] = e[n];
+ }),
+ this.updateColors(),
+ r.forEach((n) => {
+ this[n] = e[n];
+ });
+ }
+ }),
+ (hp = o((t) => {
+ let e = new JC();
+ return e.calculate(t), e;
+ }, 'getThemeVariables'));
+ });
+ var e7,
+ Pz,
+ Bz = R(() => {
+ 'use strict';
+ al();
+ j1();
+ up();
+ (e7 = class {
+ static {
+ o(this, 'Theme');
+ }
+ constructor() {
+ (this.background = '#f4f4f4'),
+ (this.primaryColor = '#cde498'),
+ (this.secondaryColor = '#cdffb2'),
+ (this.background = 'white'),
+ (this.mainBkg = '#cde498'),
+ (this.secondBkg = '#cdffb2'),
+ (this.lineColor = 'green'),
+ (this.border1 = '#13540c'),
+ (this.border2 = '#6eaa49'),
+ (this.arrowheadColor = 'green'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.tertiaryColor = Et('#cde498', 10)),
+ (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = ot(this.primaryColor)),
+ (this.secondaryTextColor = ot(this.secondaryColor)),
+ (this.tertiaryTextColor = ot(this.primaryColor)),
+ (this.lineColor = ot(this.background)),
+ (this.textColor = ot(this.background)),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = '#333'),
+ (this.edgeLabelBackground = '#e8e8e8'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'black'),
+ (this.actorLineColor = 'calculated'),
+ (this.signalColor = '#333'),
+ (this.signalTextColor = '#333'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = '#326932'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = '#666'),
+ (this.activationBkgColor = '#f4f4f4'),
+ (this.sequenceNumberColor = 'white'),
+ (this.sectionBkgColor = '#6eaa49'),
+ (this.altSectionBkgColor = 'white'),
+ (this.sectionBkgColor2 = '#6eaa49'),
+ (this.excludeBkgColor = '#eeeeee'),
+ (this.taskBorderColor = 'calculated'),
+ (this.taskBkgColor = '#487e3a'),
+ (this.taskTextLightColor = 'white'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextDarkColor = 'black'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = 'calculated'),
+ (this.activeTaskBkgColor = 'calculated'),
+ (this.gridColor = 'lightgrey'),
+ (this.doneTaskBkgColor = 'lightgrey'),
+ (this.doneTaskBorderColor = 'grey'),
+ (this.critBorderColor = '#ff8888'),
+ (this.critBkgColor = 'red'),
+ (this.todayLineColor = 'red'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.archEdgeColor = 'calculated'),
+ (this.archEdgeArrowColor = 'calculated'),
+ (this.archEdgeWidth = '3'),
+ (this.archGroupBorderColor = this.primaryBorderColor),
+ (this.archGroupBorderWidth = '2px'),
+ (this.labelColor = 'black'),
+ (this.errorBkgColor = '#552222'),
+ (this.errorTextColor = '#552222');
+ }
+ updateColors() {
+ (this.actorBorder = Dt(this.mainBkg, 20)),
+ (this.actorBkg = this.mainBkg),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.labelTextColor = this.actorTextColor),
+ (this.loopTextColor = this.actorTextColor),
+ (this.noteBorderColor = this.border2),
+ (this.noteTextColor = this.actorTextColor),
+ (this.actorLineColor = this.actorBorder),
+ (this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })),
+ (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })),
+ (this.cScalePeer1 = this.cScalePeer1 || Dt(this.secondaryColor, 45)),
+ (this.cScalePeer2 = this.cScalePeer2 || Dt(this.tertiaryColor, 40));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ (this['cScale' + e] = Dt(this['cScale' + e], 10)),
+ (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 25));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleInv' + e] = this['cScaleInv' + e] || Oe(this['cScale' + e], { h: 180 });
+ this.scaleLabelColor =
+ this.scaleLabelColor !== 'calculated' && this.scaleLabelColor
+ ? this.scaleLabelColor
+ : this.labelTextColor;
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor;
+ for (let e = 0; e < 5; e++)
+ (this['surface' + e] =
+ this['surface' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(5 + e * 5) })),
+ (this['surfacePeer' + e] =
+ this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(8 + e * 5) }));
+ (this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.taskBorderColor = this.border1),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.activeTaskBorderColor = this.taskBorderColor),
+ (this.activeTaskBkgColor = this.mainBkg),
+ (this.archEdgeColor = this.lineColor),
+ (this.archEdgeArrowColor = this.lineColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#f0f0f0'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.primaryBorderColor),
+ (this.specialStateColor = this.lineColor),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.classText = this.primaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = Oe(this.primaryColor, { h: 64 })),
+ (this.fillType3 = Oe(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = Oe(this.primaryColor, { h: -64 })),
+ (this.fillType5 = Oe(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = Oe(this.primaryColor, { h: 128 })),
+ (this.fillType7 = Oe(this.secondaryColor, { h: 128 })),
+ (this.pie1 = this.pie1 || this.primaryColor),
+ (this.pie2 = this.pie2 || this.secondaryColor),
+ (this.pie3 = this.pie3 || this.tertiaryColor),
+ (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -30 })),
+ (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -30 })),
+ (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { h: 40, l: -40 })),
+ (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -10 })),
+ (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -10 })),
+ (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: 0 })),
+ (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -50 })),
+ (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -60, l: -50 })),
+ (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -50 })),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || Wa(this.quadrant1Fill)
+ ? Et(this.quadrant1Fill)
+ : Dt(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.packet = {
+ startByteColor: this.primaryTextColor,
+ endByteColor: this.primaryTextColor,
+ labelColor: this.primaryTextColor,
+ titleColor: this.primaryTextColor,
+ blockStrokeColor: this.primaryTextColor,
+ blockFillColor: this.mainBkg
+ }),
+ (this.xyChart = {
+ backgroundColor: this.xyChart?.backgroundColor || this.background,
+ titleColor: this.xyChart?.titleColor || this.primaryTextColor,
+ xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,
+ xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,
+ xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,
+ xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,
+ yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,
+ yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,
+ yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,
+ yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,
+ plotColorPalette:
+ this.xyChart?.plotColorPalette ||
+ '#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176'
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = this.git0 || this.primaryColor),
+ (this.git1 = this.git1 || this.secondaryColor),
+ (this.git2 = this.git2 || this.tertiaryColor),
+ (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })),
+ (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })),
+ (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })),
+ (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })),
+ (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })),
+ this.darkMode
+ ? ((this.git0 = Et(this.git0, 25)),
+ (this.git1 = Et(this.git1, 25)),
+ (this.git2 = Et(this.git2, 25)),
+ (this.git3 = Et(this.git3, 25)),
+ (this.git4 = Et(this.git4, 25)),
+ (this.git5 = Et(this.git5, 25)),
+ (this.git6 = Et(this.git6, 25)),
+ (this.git7 = Et(this.git7, 25)))
+ : ((this.git0 = Dt(this.git0, 25)),
+ (this.git1 = Dt(this.git1, 25)),
+ (this.git2 = Dt(this.git2, 25)),
+ (this.git3 = Dt(this.git3, 25)),
+ (this.git4 = Dt(this.git4, 25)),
+ (this.git5 = Dt(this.git5, 25)),
+ (this.git6 = Dt(this.git6, 25)),
+ (this.git7 = Dt(this.git7, 25))),
+ (this.gitInv0 = this.gitInv0 || ot(this.git0)),
+ (this.gitInv1 = this.gitInv1 || ot(this.git1)),
+ (this.gitInv2 = this.gitInv2 || ot(this.git2)),
+ (this.gitInv3 = this.gitInv3 || ot(this.git3)),
+ (this.gitInv4 = this.gitInv4 || ot(this.git4)),
+ (this.gitInv5 = this.gitInv5 || ot(this.git5)),
+ (this.gitInv6 = this.gitInv6 || ot(this.git6)),
+ (this.gitInv7 = this.gitInv7 || ot(this.git7)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch);
+ }
+ calculate(e) {
+ if (typeof e != 'object') {
+ this.updateColors();
+ return;
+ }
+ let r = Object.keys(e);
+ r.forEach((n) => {
+ this[n] = e[n];
+ }),
+ this.updateColors(),
+ r.forEach((n) => {
+ this[n] = e[n];
+ });
+ }
+ }),
+ (Pz = o((t) => {
+ let e = new e7();
+ return e.calculate(t), e;
+ }, 'getThemeVariables'));
+ });
+ var t7,
+ Fz,
+ zz = R(() => {
+ 'use strict';
+ al();
+ up();
+ j1();
+ (t7 = class {
+ static {
+ o(this, 'Theme');
+ }
+ constructor() {
+ (this.primaryColor = '#eee'),
+ (this.contrast = '#707070'),
+ (this.secondaryColor = Et(this.contrast, 55)),
+ (this.background = '#ffffff'),
+ (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })),
+ (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = ot(this.primaryColor)),
+ (this.secondaryTextColor = ot(this.secondaryColor)),
+ (this.tertiaryTextColor = ot(this.tertiaryColor)),
+ (this.lineColor = ot(this.background)),
+ (this.textColor = ot(this.background)),
+ (this.mainBkg = '#eee'),
+ (this.secondBkg = 'calculated'),
+ (this.lineColor = '#666'),
+ (this.border1 = '#999'),
+ (this.border2 = 'calculated'),
+ (this.note = '#ffa'),
+ (this.text = '#333'),
+ (this.critical = '#d42'),
+ (this.done = '#bbb'),
+ (this.arrowheadColor = '#333333'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = 'calculated'),
+ (this.edgeLabelBackground = 'white'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'calculated'),
+ (this.actorLineColor = this.actorBorder),
+ (this.signalColor = 'calculated'),
+ (this.signalTextColor = 'calculated'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = 'calculated'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = 'calculated'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = '#666'),
+ (this.activationBkgColor = '#f4f4f4'),
+ (this.sequenceNumberColor = 'white'),
+ (this.sectionBkgColor = 'calculated'),
+ (this.altSectionBkgColor = 'white'),
+ (this.sectionBkgColor2 = 'calculated'),
+ (this.excludeBkgColor = '#eeeeee'),
+ (this.taskBorderColor = 'calculated'),
+ (this.taskBkgColor = 'calculated'),
+ (this.taskTextLightColor = 'white'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextDarkColor = 'calculated'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = 'calculated'),
+ (this.activeTaskBkgColor = 'calculated'),
+ (this.gridColor = 'calculated'),
+ (this.doneTaskBkgColor = 'calculated'),
+ (this.doneTaskBorderColor = 'calculated'),
+ (this.critBkgColor = 'calculated'),
+ (this.critBorderColor = 'calculated'),
+ (this.todayLineColor = 'calculated'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.archEdgeColor = 'calculated'),
+ (this.archEdgeArrowColor = 'calculated'),
+ (this.archEdgeWidth = '3'),
+ (this.archGroupBorderColor = this.primaryBorderColor),
+ (this.archGroupBorderWidth = '2px'),
+ (this.labelColor = 'black'),
+ (this.errorBkgColor = '#552222'),
+ (this.errorTextColor = '#552222');
+ }
+ updateColors() {
+ (this.secondBkg = Et(this.contrast, 55)),
+ (this.border2 = this.contrast),
+ (this.actorBorder = Et(this.border1, 23)),
+ (this.actorBkg = this.mainBkg),
+ (this.actorTextColor = this.text),
+ (this.actorLineColor = this.actorBorder),
+ (this.signalColor = this.text),
+ (this.signalTextColor = this.text),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.labelBoxBorderColor = this.actorBorder),
+ (this.labelTextColor = this.text),
+ (this.loopTextColor = this.text),
+ (this.noteBorderColor = '#999'),
+ (this.noteBkgColor = '#666'),
+ (this.noteTextColor = '#fff'),
+ (this.cScale0 = this.cScale0 || '#555'),
+ (this.cScale1 = this.cScale1 || '#F4F4F4'),
+ (this.cScale2 = this.cScale2 || '#555'),
+ (this.cScale3 = this.cScale3 || '#BBB'),
+ (this.cScale4 = this.cScale4 || '#777'),
+ (this.cScale5 = this.cScale5 || '#999'),
+ (this.cScale6 = this.cScale6 || '#DDD'),
+ (this.cScale7 = this.cScale7 || '#FFF'),
+ (this.cScale8 = this.cScale8 || '#DDD'),
+ (this.cScale9 = this.cScale9 || '#BBB'),
+ (this.cScale10 = this.cScale10 || '#999'),
+ (this.cScale11 = this.cScale11 || '#777');
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleInv' + e] = this['cScaleInv' + e] || ot(this['cScale' + e]);
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this.darkMode
+ ? (this['cScalePeer' + e] = this['cScalePeer' + e] || Et(this['cScale' + e], 10))
+ : (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 10));
+ (this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor)),
+ (this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1),
+ (this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1);
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++)
+ this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor;
+ for (let e = 0; e < 5; e++)
+ (this['surface' + e] = this['surface' + e] || Oe(this.mainBkg, { l: -(5 + e * 5) })),
+ (this['surfacePeer' + e] =
+ this['surfacePeer' + e] || Oe(this.mainBkg, { l: -(8 + e * 5) }));
+ (this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.titleColor = this.text),
+ (this.sectionBkgColor = Et(this.contrast, 30)),
+ (this.sectionBkgColor2 = Et(this.contrast, 30)),
+ (this.taskBorderColor = Dt(this.contrast, 10)),
+ (this.taskBkgColor = this.contrast),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextDarkColor = this.text),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.activeTaskBorderColor = this.taskBorderColor),
+ (this.activeTaskBkgColor = this.mainBkg),
+ (this.gridColor = Et(this.border1, 30)),
+ (this.doneTaskBkgColor = this.done),
+ (this.doneTaskBorderColor = this.lineColor),
+ (this.critBkgColor = this.critical),
+ (this.critBorderColor = Dt(this.critBkgColor, 10)),
+ (this.todayLineColor = this.critBkgColor),
+ (this.archEdgeColor = this.lineColor),
+ (this.archEdgeArrowColor = this.lineColor),
+ (this.transitionColor = this.transitionColor || '#000'),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#f4f4f4'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.stateBorder = this.stateBorder || '#000'),
+ (this.innerEndBackground = this.primaryBorderColor),
+ (this.specialStateColor = '#222'),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.classText = this.primaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = Oe(this.primaryColor, { h: 64 })),
+ (this.fillType3 = Oe(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = Oe(this.primaryColor, { h: -64 })),
+ (this.fillType5 = Oe(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = Oe(this.primaryColor, { h: 128 })),
+ (this.fillType7 = Oe(this.secondaryColor, { h: 128 }));
+ for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) this['pie' + e] = this['cScale' + e];
+ (this.pie12 = this.pie0),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || Wa(this.quadrant1Fill)
+ ? Et(this.quadrant1Fill)
+ : Dt(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor: this.xyChart?.backgroundColor || this.background,
+ titleColor: this.xyChart?.titleColor || this.primaryTextColor,
+ xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,
+ xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,
+ xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,
+ xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,
+ yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,
+ yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,
+ yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,
+ yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,
+ plotColorPalette:
+ this.xyChart?.plotColorPalette ||
+ '#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0'
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = Dt(this.pie1, 25) || this.primaryColor),
+ (this.git1 = this.pie2 || this.secondaryColor),
+ (this.git2 = this.pie3 || this.tertiaryColor),
+ (this.git3 = this.pie4 || Oe(this.primaryColor, { h: -30 })),
+ (this.git4 = this.pie5 || Oe(this.primaryColor, { h: -60 })),
+ (this.git5 = this.pie6 || Oe(this.primaryColor, { h: -90 })),
+ (this.git6 = this.pie7 || Oe(this.primaryColor, { h: 60 })),
+ (this.git7 = this.pie8 || Oe(this.primaryColor, { h: 120 })),
+ (this.gitInv0 = this.gitInv0 || ot(this.git0)),
+ (this.gitInv1 = this.gitInv1 || ot(this.git1)),
+ (this.gitInv2 = this.gitInv2 || ot(this.git2)),
+ (this.gitInv3 = this.gitInv3 || ot(this.git3)),
+ (this.gitInv4 = this.gitInv4 || ot(this.git4)),
+ (this.gitInv5 = this.gitInv5 || ot(this.git5)),
+ (this.gitInv6 = this.gitInv6 || ot(this.git6)),
+ (this.gitInv7 = this.gitInv7 || ot(this.git7)),
+ (this.branchLabelColor = this.branchLabelColor || this.labelTextColor),
+ (this.gitBranchLabel0 = this.branchLabelColor),
+ (this.gitBranchLabel1 = 'white'),
+ (this.gitBranchLabel2 = this.branchLabelColor),
+ (this.gitBranchLabel3 = 'white'),
+ (this.gitBranchLabel4 = this.branchLabelColor),
+ (this.gitBranchLabel5 = this.branchLabelColor),
+ (this.gitBranchLabel6 = this.branchLabelColor),
+ (this.gitBranchLabel7 = this.branchLabelColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch);
+ }
+ calculate(e) {
+ if (typeof e != 'object') {
+ this.updateColors();
+ return;
+ }
+ let r = Object.keys(e);
+ r.forEach((n) => {
+ this[n] = e[n];
+ }),
+ this.updateColors(),
+ r.forEach((n) => {
+ this[n] = e[n];
+ });
+ }
+ }),
+ (Fz = o((t) => {
+ let e = new t7();
+ return e.calculate(t), e;
+ }, 'getThemeVariables'));
+ });
+ var Co,
+ Kb = R(() => {
+ 'use strict';
+ Mz();
+ Oz();
+ jb();
+ Bz();
+ zz();
+ Co = {
+ base: { getThemeVariables: Nz },
+ dark: { getThemeVariables: Iz },
+ default: { getThemeVariables: hp },
+ forest: { getThemeVariables: Pz },
+ neutral: { getThemeVariables: Fz }
+ };
+ });
+ var tu,
+ Gz = R(() => {
+ 'use strict';
+ tu = {
+ flowchart: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ subGraphTitleMargin: { top: 0, bottom: 0 },
+ diagramPadding: 8,
+ htmlLabels: !0,
+ nodeSpacing: 50,
+ rankSpacing: 50,
+ curve: 'basis',
+ padding: 15,
+ defaultRenderer: 'dagre-wrapper',
+ wrappingWidth: 200
+ },
+ sequence: {
+ useMaxWidth: !0,
+ hideUnusedParticipants: !1,
+ activationWidth: 10,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ actorMargin: 50,
+ width: 150,
+ height: 65,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: 'center',
+ mirrorActors: !0,
+ forceMenus: !1,
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ showSequenceNumbers: !1,
+ actorFontSize: 14,
+ actorFontFamily: '"Open Sans", sans-serif',
+ actorFontWeight: 400,
+ noteFontSize: 14,
+ noteFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
+ noteFontWeight: 400,
+ noteAlign: 'center',
+ messageFontSize: 16,
+ messageFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
+ messageFontWeight: 400,
+ wrap: !1,
+ wrapPadding: 10,
+ labelBoxWidth: 50,
+ labelBoxHeight: 20
+ },
+ gantt: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ barHeight: 20,
+ barGap: 4,
+ topPadding: 50,
+ rightPadding: 75,
+ leftPadding: 75,
+ gridLineStartPadding: 35,
+ fontSize: 11,
+ sectionFontSize: 11,
+ numberSectionStyles: 4,
+ axisFormat: '%Y-%m-%d',
+ topAxis: !1,
+ displayMode: '',
+ weekday: 'sunday'
+ },
+ journey: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ leftMargin: 150,
+ width: 150,
+ height: 50,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: 'center',
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ taskFontSize: 14,
+ taskFontFamily: '"Open Sans", sans-serif',
+ taskMargin: 50,
+ activationWidth: 10,
+ textPlacement: 'fo',
+ actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'],
+ sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'],
+ sectionColours: ['#fff']
+ },
+ class: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ arrowMarkerAbsolute: !1,
+ dividerMargin: 10,
+ padding: 5,
+ textHeight: 10,
+ defaultRenderer: 'dagre-wrapper',
+ htmlLabels: !1
+ },
+ state: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ dividerMargin: 10,
+ sizeUnit: 5,
+ padding: 8,
+ textHeight: 10,
+ titleShift: -15,
+ noteMargin: 10,
+ forkWidth: 70,
+ forkHeight: 7,
+ miniPadding: 2,
+ fontSizeFactor: 5.02,
+ fontSize: 24,
+ labelHeight: 16,
+ edgeLengthFactor: '20',
+ compositTitleSize: 35,
+ radius: 5,
+ defaultRenderer: 'dagre-wrapper'
+ },
+ er: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ diagramPadding: 20,
+ layoutDirection: 'TB',
+ minEntityWidth: 100,
+ minEntityHeight: 75,
+ entityPadding: 15,
+ stroke: 'gray',
+ fill: 'honeydew',
+ fontSize: 12
+ },
+ pie: { useMaxWidth: !0, textPosition: 0.75 },
+ quadrantChart: {
+ useMaxWidth: !0,
+ chartWidth: 500,
+ chartHeight: 500,
+ titleFontSize: 20,
+ titlePadding: 10,
+ quadrantPadding: 5,
+ xAxisLabelPadding: 5,
+ yAxisLabelPadding: 5,
+ xAxisLabelFontSize: 16,
+ yAxisLabelFontSize: 16,
+ quadrantLabelFontSize: 16,
+ quadrantTextTopPadding: 5,
+ pointTextPadding: 5,
+ pointLabelFontSize: 12,
+ pointRadius: 5,
+ xAxisPosition: 'top',
+ yAxisPosition: 'left',
+ quadrantInternalBorderStrokeWidth: 1,
+ quadrantExternalBorderStrokeWidth: 2
+ },
+ xyChart: {
+ useMaxWidth: !0,
+ width: 700,
+ height: 500,
+ titleFontSize: 20,
+ titlePadding: 10,
+ showTitle: !0,
+ xAxis: {
+ $ref: '#/$defs/XYChartAxisConfig',
+ showLabel: !0,
+ labelFontSize: 14,
+ labelPadding: 5,
+ showTitle: !0,
+ titleFontSize: 16,
+ titlePadding: 5,
+ showTick: !0,
+ tickLength: 5,
+ tickWidth: 2,
+ showAxisLine: !0,
+ axisLineWidth: 2
+ },
+ yAxis: {
+ $ref: '#/$defs/XYChartAxisConfig',
+ showLabel: !0,
+ labelFontSize: 14,
+ labelPadding: 5,
+ showTitle: !0,
+ titleFontSize: 16,
+ titlePadding: 5,
+ showTick: !0,
+ tickLength: 5,
+ tickWidth: 2,
+ showAxisLine: !0,
+ axisLineWidth: 2
+ },
+ chartOrientation: 'vertical',
+ plotReservedSpacePercent: 50
+ },
+ requirement: {
+ useMaxWidth: !0,
+ rect_fill: '#f9f9f9',
+ text_color: '#333',
+ rect_border_size: '0.5px',
+ rect_border_color: '#bbb',
+ rect_min_width: 200,
+ rect_min_height: 200,
+ fontSize: 14,
+ rect_padding: 10,
+ line_height: 20
+ },
+ mindmap: { useMaxWidth: !0, padding: 10, maxNodeWidth: 200 },
+ timeline: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ leftMargin: 150,
+ width: 150,
+ height: 50,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: 'center',
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ taskFontSize: 14,
+ taskFontFamily: '"Open Sans", sans-serif',
+ taskMargin: 50,
+ activationWidth: 10,
+ textPlacement: 'fo',
+ actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'],
+ sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'],
+ sectionColours: ['#fff'],
+ disableMulticolor: !1
+ },
+ gitGraph: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ diagramPadding: 8,
+ nodeLabel: { width: 75, height: 100, x: -25, y: 0 },
+ mainBranchName: 'main',
+ mainBranchOrder: 0,
+ showCommitLabel: !0,
+ showBranches: !0,
+ rotateCommitLabel: !0,
+ parallelCommits: !1,
+ arrowMarkerAbsolute: !1
+ },
+ c4: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ c4ShapeMargin: 50,
+ c4ShapePadding: 20,
+ width: 216,
+ height: 60,
+ boxMargin: 10,
+ c4ShapeInRow: 4,
+ nextLinePaddingX: 0,
+ c4BoundaryInRow: 2,
+ personFontSize: 14,
+ personFontFamily: '"Open Sans", sans-serif',
+ personFontWeight: 'normal',
+ external_personFontSize: 14,
+ external_personFontFamily: '"Open Sans", sans-serif',
+ external_personFontWeight: 'normal',
+ systemFontSize: 14,
+ systemFontFamily: '"Open Sans", sans-serif',
+ systemFontWeight: 'normal',
+ external_systemFontSize: 14,
+ external_systemFontFamily: '"Open Sans", sans-serif',
+ external_systemFontWeight: 'normal',
+ system_dbFontSize: 14,
+ system_dbFontFamily: '"Open Sans", sans-serif',
+ system_dbFontWeight: 'normal',
+ external_system_dbFontSize: 14,
+ external_system_dbFontFamily: '"Open Sans", sans-serif',
+ external_system_dbFontWeight: 'normal',
+ system_queueFontSize: 14,
+ system_queueFontFamily: '"Open Sans", sans-serif',
+ system_queueFontWeight: 'normal',
+ external_system_queueFontSize: 14,
+ external_system_queueFontFamily: '"Open Sans", sans-serif',
+ external_system_queueFontWeight: 'normal',
+ boundaryFontSize: 14,
+ boundaryFontFamily: '"Open Sans", sans-serif',
+ boundaryFontWeight: 'normal',
+ messageFontSize: 12,
+ messageFontFamily: '"Open Sans", sans-serif',
+ messageFontWeight: 'normal',
+ containerFontSize: 14,
+ containerFontFamily: '"Open Sans", sans-serif',
+ containerFontWeight: 'normal',
+ external_containerFontSize: 14,
+ external_containerFontFamily: '"Open Sans", sans-serif',
+ external_containerFontWeight: 'normal',
+ container_dbFontSize: 14,
+ container_dbFontFamily: '"Open Sans", sans-serif',
+ container_dbFontWeight: 'normal',
+ external_container_dbFontSize: 14,
+ external_container_dbFontFamily: '"Open Sans", sans-serif',
+ external_container_dbFontWeight: 'normal',
+ container_queueFontSize: 14,
+ container_queueFontFamily: '"Open Sans", sans-serif',
+ container_queueFontWeight: 'normal',
+ external_container_queueFontSize: 14,
+ external_container_queueFontFamily: '"Open Sans", sans-serif',
+ external_container_queueFontWeight: 'normal',
+ componentFontSize: 14,
+ componentFontFamily: '"Open Sans", sans-serif',
+ componentFontWeight: 'normal',
+ external_componentFontSize: 14,
+ external_componentFontFamily: '"Open Sans", sans-serif',
+ external_componentFontWeight: 'normal',
+ component_dbFontSize: 14,
+ component_dbFontFamily: '"Open Sans", sans-serif',
+ component_dbFontWeight: 'normal',
+ external_component_dbFontSize: 14,
+ external_component_dbFontFamily: '"Open Sans", sans-serif',
+ external_component_dbFontWeight: 'normal',
+ component_queueFontSize: 14,
+ component_queueFontFamily: '"Open Sans", sans-serif',
+ component_queueFontWeight: 'normal',
+ external_component_queueFontSize: 14,
+ external_component_queueFontFamily: '"Open Sans", sans-serif',
+ external_component_queueFontWeight: 'normal',
+ wrap: !0,
+ wrapPadding: 10,
+ person_bg_color: '#08427B',
+ person_border_color: '#073B6F',
+ external_person_bg_color: '#686868',
+ external_person_border_color: '#8A8A8A',
+ system_bg_color: '#1168BD',
+ system_border_color: '#3C7FC0',
+ system_db_bg_color: '#1168BD',
+ system_db_border_color: '#3C7FC0',
+ system_queue_bg_color: '#1168BD',
+ system_queue_border_color: '#3C7FC0',
+ external_system_bg_color: '#999999',
+ external_system_border_color: '#8A8A8A',
+ external_system_db_bg_color: '#999999',
+ external_system_db_border_color: '#8A8A8A',
+ external_system_queue_bg_color: '#999999',
+ external_system_queue_border_color: '#8A8A8A',
+ container_bg_color: '#438DD5',
+ container_border_color: '#3C7FC0',
+ container_db_bg_color: '#438DD5',
+ container_db_border_color: '#3C7FC0',
+ container_queue_bg_color: '#438DD5',
+ container_queue_border_color: '#3C7FC0',
+ external_container_bg_color: '#B3B3B3',
+ external_container_border_color: '#A6A6A6',
+ external_container_db_bg_color: '#B3B3B3',
+ external_container_db_border_color: '#A6A6A6',
+ external_container_queue_bg_color: '#B3B3B3',
+ external_container_queue_border_color: '#A6A6A6',
+ component_bg_color: '#85BBF0',
+ component_border_color: '#78A8D8',
+ component_db_bg_color: '#85BBF0',
+ component_db_border_color: '#78A8D8',
+ component_queue_bg_color: '#85BBF0',
+ component_queue_border_color: '#78A8D8',
+ external_component_bg_color: '#CCCCCC',
+ external_component_border_color: '#BFBFBF',
+ external_component_db_bg_color: '#CCCCCC',
+ external_component_db_border_color: '#BFBFBF',
+ external_component_queue_bg_color: '#CCCCCC',
+ external_component_queue_border_color: '#BFBFBF'
+ },
+ sankey: {
+ useMaxWidth: !0,
+ width: 600,
+ height: 400,
+ linkColor: 'gradient',
+ nodeAlignment: 'justify',
+ showValues: !0,
+ prefix: '',
+ suffix: ''
+ },
+ block: { useMaxWidth: !0, padding: 8 },
+ packet: {
+ useMaxWidth: !0,
+ rowHeight: 32,
+ bitWidth: 32,
+ bitsPerRow: 32,
+ showBits: !0,
+ paddingX: 5,
+ paddingY: 5
+ },
+ architecture: {
+ useMaxWidth: !0,
+ padding: 40,
+ iconSize: 80,
+ fontSize: 16
+ },
+ theme: 'default',
+ look: 'classic',
+ handDrawnSeed: 0,
+ layout: 'dagre',
+ maxTextSize: 5e4,
+ maxEdges: 500,
+ darkMode: !1,
+ fontFamily: '"trebuchet ms", verdana, arial, sans-serif;',
+ logLevel: 5,
+ securityLevel: 'strict',
+ startOnLoad: !0,
+ arrowMarkerAbsolute: !1,
+ secure: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize', 'suppressErrorRendering', 'maxEdges'],
+ legacyMathML: !1,
+ forceLegacyMathML: !1,
+ deterministicIds: !1,
+ fontSize: 16,
+ markdownAutoWrap: !0,
+ suppressErrorRendering: !1
+ };
+ });
+ var $z,
+ Vz,
+ Uz,
+ mr,
+ sl = R(() => {
+ 'use strict';
+ Kb();
+ Gz();
+ ($z = {
+ ...tu,
+ deterministicIDSeed: void 0,
+ elk: { mergeEdges: !1, nodePlacementStrategy: 'SIMPLE' },
+ themeCSS: void 0,
+ themeVariables: Co.default.getThemeVariables(),
+ sequence: {
+ ...tu.sequence,
+ messageFont: o(function () {
+ return {
+ fontFamily: this.messageFontFamily,
+ fontSize: this.messageFontSize,
+ fontWeight: this.messageFontWeight
+ };
+ }, 'messageFont'),
+ noteFont: o(function () {
+ return {
+ fontFamily: this.noteFontFamily,
+ fontSize: this.noteFontSize,
+ fontWeight: this.noteFontWeight
+ };
+ }, 'noteFont'),
+ actorFont: o(function () {
+ return {
+ fontFamily: this.actorFontFamily,
+ fontSize: this.actorFontSize,
+ fontWeight: this.actorFontWeight
+ };
+ }, 'actorFont')
+ },
+ gantt: { ...tu.gantt, tickInterval: void 0, useWidth: void 0 },
+ c4: {
+ ...tu.c4,
+ useWidth: void 0,
+ personFont: o(function () {
+ return {
+ fontFamily: this.personFontFamily,
+ fontSize: this.personFontSize,
+ fontWeight: this.personFontWeight
+ };
+ }, 'personFont'),
+ external_personFont: o(function () {
+ return {
+ fontFamily: this.external_personFontFamily,
+ fontSize: this.external_personFontSize,
+ fontWeight: this.external_personFontWeight
+ };
+ }, 'external_personFont'),
+ systemFont: o(function () {
+ return {
+ fontFamily: this.systemFontFamily,
+ fontSize: this.systemFontSize,
+ fontWeight: this.systemFontWeight
+ };
+ }, 'systemFont'),
+ external_systemFont: o(function () {
+ return {
+ fontFamily: this.external_systemFontFamily,
+ fontSize: this.external_systemFontSize,
+ fontWeight: this.external_systemFontWeight
+ };
+ }, 'external_systemFont'),
+ system_dbFont: o(function () {
+ return {
+ fontFamily: this.system_dbFontFamily,
+ fontSize: this.system_dbFontSize,
+ fontWeight: this.system_dbFontWeight
+ };
+ }, 'system_dbFont'),
+ external_system_dbFont: o(function () {
+ return {
+ fontFamily: this.external_system_dbFontFamily,
+ fontSize: this.external_system_dbFontSize,
+ fontWeight: this.external_system_dbFontWeight
+ };
+ }, 'external_system_dbFont'),
+ system_queueFont: o(function () {
+ return {
+ fontFamily: this.system_queueFontFamily,
+ fontSize: this.system_queueFontSize,
+ fontWeight: this.system_queueFontWeight
+ };
+ }, 'system_queueFont'),
+ external_system_queueFont: o(function () {
+ return {
+ fontFamily: this.external_system_queueFontFamily,
+ fontSize: this.external_system_queueFontSize,
+ fontWeight: this.external_system_queueFontWeight
+ };
+ }, 'external_system_queueFont'),
+ containerFont: o(function () {
+ return {
+ fontFamily: this.containerFontFamily,
+ fontSize: this.containerFontSize,
+ fontWeight: this.containerFontWeight
+ };
+ }, 'containerFont'),
+ external_containerFont: o(function () {
+ return {
+ fontFamily: this.external_containerFontFamily,
+ fontSize: this.external_containerFontSize,
+ fontWeight: this.external_containerFontWeight
+ };
+ }, 'external_containerFont'),
+ container_dbFont: o(function () {
+ return {
+ fontFamily: this.container_dbFontFamily,
+ fontSize: this.container_dbFontSize,
+ fontWeight: this.container_dbFontWeight
+ };
+ }, 'container_dbFont'),
+ external_container_dbFont: o(function () {
+ return {
+ fontFamily: this.external_container_dbFontFamily,
+ fontSize: this.external_container_dbFontSize,
+ fontWeight: this.external_container_dbFontWeight
+ };
+ }, 'external_container_dbFont'),
+ container_queueFont: o(function () {
+ return {
+ fontFamily: this.container_queueFontFamily,
+ fontSize: this.container_queueFontSize,
+ fontWeight: this.container_queueFontWeight
+ };
+ }, 'container_queueFont'),
+ external_container_queueFont: o(function () {
+ return {
+ fontFamily: this.external_container_queueFontFamily,
+ fontSize: this.external_container_queueFontSize,
+ fontWeight: this.external_container_queueFontWeight
+ };
+ }, 'external_container_queueFont'),
+ componentFont: o(function () {
+ return {
+ fontFamily: this.componentFontFamily,
+ fontSize: this.componentFontSize,
+ fontWeight: this.componentFontWeight
+ };
+ }, 'componentFont'),
+ external_componentFont: o(function () {
+ return {
+ fontFamily: this.external_componentFontFamily,
+ fontSize: this.external_componentFontSize,
+ fontWeight: this.external_componentFontWeight
+ };
+ }, 'external_componentFont'),
+ component_dbFont: o(function () {
+ return {
+ fontFamily: this.component_dbFontFamily,
+ fontSize: this.component_dbFontSize,
+ fontWeight: this.component_dbFontWeight
+ };
+ }, 'component_dbFont'),
+ external_component_dbFont: o(function () {
+ return {
+ fontFamily: this.external_component_dbFontFamily,
+ fontSize: this.external_component_dbFontSize,
+ fontWeight: this.external_component_dbFontWeight
+ };
+ }, 'external_component_dbFont'),
+ component_queueFont: o(function () {
+ return {
+ fontFamily: this.component_queueFontFamily,
+ fontSize: this.component_queueFontSize,
+ fontWeight: this.component_queueFontWeight
+ };
+ }, 'component_queueFont'),
+ external_component_queueFont: o(function () {
+ return {
+ fontFamily: this.external_component_queueFontFamily,
+ fontSize: this.external_component_queueFontSize,
+ fontWeight: this.external_component_queueFontWeight
+ };
+ }, 'external_component_queueFont'),
+ boundaryFont: o(function () {
+ return {
+ fontFamily: this.boundaryFontFamily,
+ fontSize: this.boundaryFontSize,
+ fontWeight: this.boundaryFontWeight
+ };
+ }, 'boundaryFont'),
+ messageFont: o(function () {
+ return {
+ fontFamily: this.messageFontFamily,
+ fontSize: this.messageFontSize,
+ fontWeight: this.messageFontWeight
+ };
+ }, 'messageFont')
+ },
+ pie: { ...tu.pie, useWidth: 984 },
+ xyChart: { ...tu.xyChart, useWidth: void 0 },
+ requirement: { ...tu.requirement, useWidth: void 0 },
+ packet: { ...tu.packet }
+ }),
+ (Vz = o(
+ (t, e = '') =>
+ Object.keys(t).reduce(
+ (r, n) =>
+ Array.isArray(t[n])
+ ? r
+ : typeof t[n] == 'object' && t[n] !== null
+ ? [...r, e + n, ...Vz(t[n], '')]
+ : [...r, e + n],
+ []
+ ),
+ 'keyify'
+ )),
+ (Uz = new Set(Vz($z, ''))),
+ (mr = $z);
+ });
+ var fp,
+ _2e,
+ r7 = R(() => {
+ 'use strict';
+ sl();
+ ut();
+ (fp = o((t) => {
+ if ((V.debug('sanitizeDirective called with', t), !(typeof t != 'object' || t == null))) {
+ if (Array.isArray(t)) {
+ t.forEach((e) => fp(e));
+ return;
+ }
+ for (let e of Object.keys(t)) {
+ if (
+ (V.debug('Checking key', e),
+ e.startsWith('__') ||
+ e.includes('proto') ||
+ e.includes('constr') ||
+ !Uz.has(e) ||
+ t[e] == null)
+ ) {
+ V.debug('sanitize deleting key: ', e), delete t[e];
+ continue;
+ }
+ if (typeof t[e] == 'object') {
+ V.debug('sanitizing object', e), fp(t[e]);
+ continue;
+ }
+ let r = ['themeCSS', 'fontFamily', 'altFontFamily'];
+ for (let n of r) e.includes(n) && (V.debug('sanitizing css option', e), (t[e] = _2e(t[e])));
+ }
+ if (t.themeVariables)
+ for (let e of Object.keys(t.themeVariables)) {
+ let r = t.themeVariables[e];
+ r?.match && !r.match(/^[\d "#%(),.;A-Za-z]+$/) && (t.themeVariables[e] = '');
+ }
+ V.debug('After sanitization', t);
+ }
+ }, 'sanitizeDirective')),
+ (_2e = o((t) => {
+ let e = 0,
+ r = 0;
+ for (let n of t) {
+ if (e < r) return '{ /* ERROR: Unbalanced CSS */ }';
+ n === '{' ? e++ : n === '}' && r++;
+ }
+ return e !== r ? '{ /* ERROR: Unbalanced CSS */ }' : t;
+ }, 'sanitizeCss'));
+ });
+ var uh,
+ fs,
+ Yz,
+ dp,
+ K1,
+ Qb,
+ n7,
+ Wz,
+ qz,
+ i7,
+ Zb,
+ Or,
+ Xz,
+ jz,
+ Q1,
+ L2e,
+ Hz,
+ D2e,
+ Kz,
+ qs = R(() => {
+ 'use strict';
+ cp();
+ ut();
+ Kb();
+ sl();
+ r7();
+ (uh = Object.freeze(mr)),
+ (fs = On({}, uh)),
+ (dp = []),
+ (K1 = On({}, uh)),
+ (Qb = o((t, e) => {
+ let r = On({}, t),
+ n = {};
+ for (let i of e) Xz(i), (n = On(n, i));
+ if (((r = On(r, n)), n.theme && n.theme in Co)) {
+ let i = On({}, Yz),
+ a = On(i.themeVariables || {}, n.themeVariables);
+ r.theme && r.theme in Co && (r.themeVariables = Co[r.theme].getThemeVariables(a));
+ }
+ return (K1 = r), Kz(K1), K1;
+ }, 'updateCurrentConfig')),
+ (n7 = o(
+ (t) => (
+ (fs = On({}, uh)),
+ (fs = On(fs, t)),
+ t.theme && Co[t.theme] && (fs.themeVariables = Co[t.theme].getThemeVariables(t.themeVariables)),
+ Qb(fs, dp),
+ fs
+ ),
+ 'setSiteConfig'
+ )),
+ (Wz = o((t) => {
+ Yz = On({}, t);
+ }, 'saveConfigFromInitialize')),
+ (qz = o((t) => ((fs = On(fs, t)), Qb(fs, dp), fs), 'updateSiteConfig')),
+ (i7 = o(() => On({}, fs), 'getSiteConfig')),
+ (Zb = o((t) => (Kz(t), On(K1, t), Or()), 'setConfig')),
+ (Or = o(() => On({}, K1), 'getConfig')),
+ (Xz = o((t) => {
+ t &&
+ (['secure', ...(fs.secure ?? [])].forEach((e) => {
+ Object.hasOwn(t, e) &&
+ (V.debug(`Denied attempt to modify a secure key ${e}`, t[e]), delete t[e]);
+ }),
+ Object.keys(t).forEach((e) => {
+ e.startsWith('__') && delete t[e];
+ }),
+ Object.keys(t).forEach((e) => {
+ typeof t[e] == 'string' &&
+ (t[e].includes('<') || t[e].includes('>') || t[e].includes('url(data:')) &&
+ delete t[e],
+ typeof t[e] == 'object' && Xz(t[e]);
+ }));
+ }, 'sanitize')),
+ (jz = o((t) => {
+ fp(t),
+ t.fontFamily &&
+ !t.themeVariables?.fontFamily &&
+ (t.themeVariables = {
+ ...t.themeVariables,
+ fontFamily: t.fontFamily
+ }),
+ dp.push(t),
+ Qb(fs, dp);
+ }, 'addDirective')),
+ (Q1 = o((t = fs) => {
+ (dp = []), Qb(t, dp);
+ }, 'reset')),
+ (L2e = {
+ LAZY_LOAD_DEPRECATED:
+ 'The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.'
+ }),
+ (Hz = {}),
+ (D2e = o((t) => {
+ Hz[t] || (V.warn(L2e[t]), (Hz[t] = !0));
+ }, 'issueWarning')),
+ (Kz = o((t) => {
+ t && (t.lazyLoadedDiagrams || t.loadExternalDiagramsAtStartup) && D2e('LAZY_LOAD_DEPRECATED');
+ }, 'checkConfig'));
+ });
+ var o7 = gi((a7, s7) => {
+ 'use strict';
+ (function (t, e) {
+ typeof a7 == 'object' && typeof s7 < 'u'
+ ? (s7.exports = e())
+ : typeof define == 'function' && define.amd
+ ? define(e)
+ : ((t = typeof globalThis < 'u' ? globalThis : t || self), (t.DOMPurify = e()));
+ })(a7, function () {
+ 'use strict';
+ let { entries: t, setPrototypeOf: e, isFrozen: r, getPrototypeOf: n, getOwnPropertyDescriptor: i } = Object,
+ { freeze: a, seal: s, create: l } = Object,
+ { apply: u, construct: h } = typeof Reflect < 'u' && Reflect;
+ a ||
+ (a = o(function (Se) {
+ return Se;
+ }, 'freeze')),
+ s ||
+ (s = o(function (Se) {
+ return Se;
+ }, 'seal')),
+ u ||
+ (u = o(function (Se, Ue, Pe) {
+ return Se.apply(Ue, Pe);
+ }, 'apply')),
+ h ||
+ (h = o(function (Se, Ue) {
+ return new Se(...Ue);
+ }, 'construct'));
+ let f = E(Array.prototype.forEach),
+ d = E(Array.prototype.pop),
+ p = E(Array.prototype.push),
+ m = E(String.prototype.toLowerCase),
+ g = E(String.prototype.toString),
+ y = E(String.prototype.match),
+ v = E(String.prototype.replace),
+ x = E(String.prototype.indexOf),
+ b = E(String.prototype.trim),
+ w = E(Object.prototype.hasOwnProperty),
+ S = E(RegExp.prototype.test),
+ T = _(TypeError);
+ function E(Ie) {
+ return function (Se) {
+ for (var Ue = arguments.length, Pe = new Array(Ue > 1 ? Ue - 1 : 0), _e = 1; _e < Ue; _e++)
+ Pe[_e - 1] = arguments[_e];
+ return u(Ie, Se, Pe);
+ };
+ }
+ o(E, 'unapply');
+ function _(Ie) {
+ return function () {
+ for (var Se = arguments.length, Ue = new Array(Se), Pe = 0; Pe < Se; Pe++) Ue[Pe] = arguments[Pe];
+ return h(Ie, Ue);
+ };
+ }
+ o(_, 'unconstruct');
+ function A(Ie, Se) {
+ let Ue = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : m;
+ e && e(Ie, null);
+ let Pe = Se.length;
+ for (; Pe--; ) {
+ let _e = Se[Pe];
+ if (typeof _e == 'string') {
+ let me = Ue(_e);
+ me !== _e && (r(Se) || (Se[Pe] = me), (_e = me));
+ }
+ Ie[_e] = !0;
+ }
+ return Ie;
+ }
+ o(A, 'addToSet');
+ function L(Ie) {
+ for (let Se = 0; Se < Ie.length; Se++) w(Ie, Se) || (Ie[Se] = null);
+ return Ie;
+ }
+ o(L, 'cleanArray');
+ function M(Ie) {
+ let Se = l(null);
+ for (let [Ue, Pe] of t(Ie))
+ w(Ie, Ue) &&
+ (Array.isArray(Pe)
+ ? (Se[Ue] = L(Pe))
+ : Pe && typeof Pe == 'object' && Pe.constructor === Object
+ ? (Se[Ue] = M(Pe))
+ : (Se[Ue] = Pe));
+ return Se;
+ }
+ o(M, 'clone');
+ function N(Ie, Se) {
+ for (; Ie !== null; ) {
+ let Pe = i(Ie, Se);
+ if (Pe) {
+ if (Pe.get) return E(Pe.get);
+ if (typeof Pe.value == 'function') return E(Pe.value);
+ }
+ Ie = n(Ie);
+ }
+ function Ue() {
+ return null;
+ }
+ return o(Ue, 'fallbackValue'), Ue;
+ }
+ o(N, 'lookupGetter');
+ let k = a([
+ 'a',
+ 'abbr',
+ 'acronym',
+ 'address',
+ 'area',
+ 'article',
+ 'aside',
+ 'audio',
+ 'b',
+ 'bdi',
+ 'bdo',
+ 'big',
+ 'blink',
+ 'blockquote',
+ 'body',
+ 'br',
+ 'button',
+ 'canvas',
+ 'caption',
+ 'center',
+ 'cite',
+ 'code',
+ 'col',
+ 'colgroup',
+ 'content',
+ 'data',
+ 'datalist',
+ 'dd',
+ 'decorator',
+ 'del',
+ 'details',
+ 'dfn',
+ 'dialog',
+ 'dir',
+ 'div',
+ 'dl',
+ 'dt',
+ 'element',
+ 'em',
+ 'fieldset',
+ 'figcaption',
+ 'figure',
+ 'font',
+ 'footer',
+ 'form',
+ 'h1',
+ 'h2',
+ 'h3',
+ 'h4',
+ 'h5',
+ 'h6',
+ 'head',
+ 'header',
+ 'hgroup',
+ 'hr',
+ 'html',
+ 'i',
+ 'img',
+ 'input',
+ 'ins',
+ 'kbd',
+ 'label',
+ 'legend',
+ 'li',
+ 'main',
+ 'map',
+ 'mark',
+ 'marquee',
+ 'menu',
+ 'menuitem',
+ 'meter',
+ 'nav',
+ 'nobr',
+ 'ol',
+ 'optgroup',
+ 'option',
+ 'output',
+ 'p',
+ 'picture',
+ 'pre',
+ 'progress',
+ 'q',
+ 'rp',
+ 'rt',
+ 'ruby',
+ 's',
+ 'samp',
+ 'section',
+ 'select',
+ 'shadow',
+ 'small',
+ 'source',
+ 'spacer',
+ 'span',
+ 'strike',
+ 'strong',
+ 'style',
+ 'sub',
+ 'summary',
+ 'sup',
+ 'table',
+ 'tbody',
+ 'td',
+ 'template',
+ 'textarea',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'time',
+ 'tr',
+ 'track',
+ 'tt',
+ 'u',
+ 'ul',
+ 'var',
+ 'video',
+ 'wbr'
+ ]),
+ I = a([
+ 'svg',
+ 'a',
+ 'altglyph',
+ 'altglyphdef',
+ 'altglyphitem',
+ 'animatecolor',
+ 'animatemotion',
+ 'animatetransform',
+ 'circle',
+ 'clippath',
+ 'defs',
+ 'desc',
+ 'ellipse',
+ 'filter',
+ 'font',
+ 'g',
+ 'glyph',
+ 'glyphref',
+ 'hkern',
+ 'image',
+ 'line',
+ 'lineargradient',
+ 'marker',
+ 'mask',
+ 'metadata',
+ 'mpath',
+ 'path',
+ 'pattern',
+ 'polygon',
+ 'polyline',
+ 'radialgradient',
+ 'rect',
+ 'stop',
+ 'style',
+ 'switch',
+ 'symbol',
+ 'text',
+ 'textpath',
+ 'title',
+ 'tref',
+ 'tspan',
+ 'view',
+ 'vkern'
+ ]),
+ C = a([
+ 'feBlend',
+ 'feColorMatrix',
+ 'feComponentTransfer',
+ 'feComposite',
+ 'feConvolveMatrix',
+ 'feDiffuseLighting',
+ 'feDisplacementMap',
+ 'feDistantLight',
+ 'feDropShadow',
+ 'feFlood',
+ 'feFuncA',
+ 'feFuncB',
+ 'feFuncG',
+ 'feFuncR',
+ 'feGaussianBlur',
+ 'feImage',
+ 'feMerge',
+ 'feMergeNode',
+ 'feMorphology',
+ 'feOffset',
+ 'fePointLight',
+ 'feSpecularLighting',
+ 'feSpotLight',
+ 'feTile',
+ 'feTurbulence'
+ ]),
+ O = a([
+ 'animate',
+ 'color-profile',
+ 'cursor',
+ 'discard',
+ 'font-face',
+ 'font-face-format',
+ 'font-face-name',
+ 'font-face-src',
+ 'font-face-uri',
+ 'foreignobject',
+ 'hatch',
+ 'hatchpath',
+ 'mesh',
+ 'meshgradient',
+ 'meshpatch',
+ 'meshrow',
+ 'missing-glyph',
+ 'script',
+ 'set',
+ 'solidcolor',
+ 'unknown',
+ 'use'
+ ]),
+ D = a([
+ 'math',
+ 'menclose',
+ 'merror',
+ 'mfenced',
+ 'mfrac',
+ 'mglyph',
+ 'mi',
+ 'mlabeledtr',
+ 'mmultiscripts',
+ 'mn',
+ 'mo',
+ 'mover',
+ 'mpadded',
+ 'mphantom',
+ 'mroot',
+ 'mrow',
+ 'ms',
+ 'mspace',
+ 'msqrt',
+ 'mstyle',
+ 'msub',
+ 'msup',
+ 'msubsup',
+ 'mtable',
+ 'mtd',
+ 'mtext',
+ 'mtr',
+ 'munder',
+ 'munderover',
+ 'mprescripts'
+ ]),
+ P = a([
+ 'maction',
+ 'maligngroup',
+ 'malignmark',
+ 'mlongdiv',
+ 'mscarries',
+ 'mscarry',
+ 'msgroup',
+ 'mstack',
+ 'msline',
+ 'msrow',
+ 'semantics',
+ 'annotation',
+ 'annotation-xml',
+ 'mprescripts',
+ 'none'
+ ]),
+ F = a(['#text']),
+ B = a([
+ 'accept',
+ 'action',
+ 'align',
+ 'alt',
+ 'autocapitalize',
+ 'autocomplete',
+ 'autopictureinpicture',
+ 'autoplay',
+ 'background',
+ 'bgcolor',
+ 'border',
+ 'capture',
+ 'cellpadding',
+ 'cellspacing',
+ 'checked',
+ 'cite',
+ 'class',
+ 'clear',
+ 'color',
+ 'cols',
+ 'colspan',
+ 'controls',
+ 'controlslist',
+ 'coords',
+ 'crossorigin',
+ 'datetime',
+ 'decoding',
+ 'default',
+ 'dir',
+ 'disabled',
+ 'disablepictureinpicture',
+ 'disableremoteplayback',
+ 'download',
+ 'draggable',
+ 'enctype',
+ 'enterkeyhint',
+ 'face',
+ 'for',
+ 'headers',
+ 'height',
+ 'hidden',
+ 'high',
+ 'href',
+ 'hreflang',
+ 'id',
+ 'inputmode',
+ 'integrity',
+ 'ismap',
+ 'kind',
+ 'label',
+ 'lang',
+ 'list',
+ 'loading',
+ 'loop',
+ 'low',
+ 'max',
+ 'maxlength',
+ 'media',
+ 'method',
+ 'min',
+ 'minlength',
+ 'multiple',
+ 'muted',
+ 'name',
+ 'nonce',
+ 'noshade',
+ 'novalidate',
+ 'nowrap',
+ 'open',
+ 'optimum',
+ 'pattern',
+ 'placeholder',
+ 'playsinline',
+ 'popover',
+ 'popovertarget',
+ 'popovertargetaction',
+ 'poster',
+ 'preload',
+ 'pubdate',
+ 'radiogroup',
+ 'readonly',
+ 'rel',
+ 'required',
+ 'rev',
+ 'reversed',
+ 'role',
+ 'rows',
+ 'rowspan',
+ 'spellcheck',
+ 'scope',
+ 'selected',
+ 'shape',
+ 'size',
+ 'sizes',
+ 'span',
+ 'srclang',
+ 'start',
+ 'src',
+ 'srcset',
+ 'step',
+ 'style',
+ 'summary',
+ 'tabindex',
+ 'title',
+ 'translate',
+ 'type',
+ 'usemap',
+ 'valign',
+ 'value',
+ 'width',
+ 'wrap',
+ 'xmlns',
+ 'slot'
+ ]),
+ $ = a([
+ 'accent-height',
+ 'accumulate',
+ 'additive',
+ 'alignment-baseline',
+ 'ascent',
+ 'attributename',
+ 'attributetype',
+ 'azimuth',
+ 'basefrequency',
+ 'baseline-shift',
+ 'begin',
+ 'bias',
+ 'by',
+ 'class',
+ 'clip',
+ 'clippathunits',
+ 'clip-path',
+ 'clip-rule',
+ 'color',
+ 'color-interpolation',
+ 'color-interpolation-filters',
+ 'color-profile',
+ 'color-rendering',
+ 'cx',
+ 'cy',
+ 'd',
+ 'dx',
+ 'dy',
+ 'diffuseconstant',
+ 'direction',
+ 'display',
+ 'divisor',
+ 'dur',
+ 'edgemode',
+ 'elevation',
+ 'end',
+ 'fill',
+ 'fill-opacity',
+ 'fill-rule',
+ 'filter',
+ 'filterunits',
+ 'flood-color',
+ 'flood-opacity',
+ 'font-family',
+ 'font-size',
+ 'font-size-adjust',
+ 'font-stretch',
+ 'font-style',
+ 'font-variant',
+ 'font-weight',
+ 'fx',
+ 'fy',
+ 'g1',
+ 'g2',
+ 'glyph-name',
+ 'glyphref',
+ 'gradientunits',
+ 'gradienttransform',
+ 'height',
+ 'href',
+ 'id',
+ 'image-rendering',
+ 'in',
+ 'in2',
+ 'k',
+ 'k1',
+ 'k2',
+ 'k3',
+ 'k4',
+ 'kerning',
+ 'keypoints',
+ 'keysplines',
+ 'keytimes',
+ 'lang',
+ 'lengthadjust',
+ 'letter-spacing',
+ 'kernelmatrix',
+ 'kernelunitlength',
+ 'lighting-color',
+ 'local',
+ 'marker-end',
+ 'marker-mid',
+ 'marker-start',
+ 'markerheight',
+ 'markerunits',
+ 'markerwidth',
+ 'maskcontentunits',
+ 'maskunits',
+ 'max',
+ 'mask',
+ 'media',
+ 'method',
+ 'mode',
+ 'min',
+ 'name',
+ 'numoctaves',
+ 'offset',
+ 'operator',
+ 'opacity',
+ 'order',
+ 'orient',
+ 'orientation',
+ 'origin',
+ 'overflow',
+ 'paint-order',
+ 'path',
+ 'pathlength',
+ 'patterncontentunits',
+ 'patterntransform',
+ 'patternunits',
+ 'points',
+ 'preservealpha',
+ 'preserveaspectratio',
+ 'primitiveunits',
+ 'r',
+ 'rx',
+ 'ry',
+ 'radius',
+ 'refx',
+ 'refy',
+ 'repeatcount',
+ 'repeatdur',
+ 'restart',
+ 'result',
+ 'rotate',
+ 'scale',
+ 'seed',
+ 'shape-rendering',
+ 'specularconstant',
+ 'specularexponent',
+ 'spreadmethod',
+ 'startoffset',
+ 'stddeviation',
+ 'stitchtiles',
+ 'stop-color',
+ 'stop-opacity',
+ 'stroke-dasharray',
+ 'stroke-dashoffset',
+ 'stroke-linecap',
+ 'stroke-linejoin',
+ 'stroke-miterlimit',
+ 'stroke-opacity',
+ 'stroke',
+ 'stroke-width',
+ 'style',
+ 'surfacescale',
+ 'systemlanguage',
+ 'tabindex',
+ 'targetx',
+ 'targety',
+ 'transform',
+ 'transform-origin',
+ 'text-anchor',
+ 'text-decoration',
+ 'text-rendering',
+ 'textlength',
+ 'type',
+ 'u1',
+ 'u2',
+ 'unicode',
+ 'values',
+ 'viewbox',
+ 'visibility',
+ 'version',
+ 'vert-adv-y',
+ 'vert-origin-x',
+ 'vert-origin-y',
+ 'width',
+ 'word-spacing',
+ 'wrap',
+ 'writing-mode',
+ 'xchannelselector',
+ 'ychannelselector',
+ 'x',
+ 'x1',
+ 'x2',
+ 'xmlns',
+ 'y',
+ 'y1',
+ 'y2',
+ 'z',
+ 'zoomandpan'
+ ]),
+ z = a([
+ 'accent',
+ 'accentunder',
+ 'align',
+ 'bevelled',
+ 'close',
+ 'columnsalign',
+ 'columnlines',
+ 'columnspan',
+ 'denomalign',
+ 'depth',
+ 'dir',
+ 'display',
+ 'displaystyle',
+ 'encoding',
+ 'fence',
+ 'frame',
+ 'height',
+ 'href',
+ 'id',
+ 'largeop',
+ 'length',
+ 'linethickness',
+ 'lspace',
+ 'lquote',
+ 'mathbackground',
+ 'mathcolor',
+ 'mathsize',
+ 'mathvariant',
+ 'maxsize',
+ 'minsize',
+ 'movablelimits',
+ 'notation',
+ 'numalign',
+ 'open',
+ 'rowalign',
+ 'rowlines',
+ 'rowspacing',
+ 'rowspan',
+ 'rspace',
+ 'rquote',
+ 'scriptlevel',
+ 'scriptminsize',
+ 'scriptsizemultiplier',
+ 'selection',
+ 'separator',
+ 'separators',
+ 'stretchy',
+ 'subscriptshift',
+ 'supscriptshift',
+ 'symmetric',
+ 'voffset',
+ 'width',
+ 'xmlns'
+ ]),
+ Y = a(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']),
+ Q = s(/\{\{[\w\W]*|[\w\W]*\}\}/gm),
+ X = s(/<%[\w\W]*|[\w\W]*%>/gm),
+ ie = s(/\${[\w\W]*}/gm),
+ j = s(/^data-[\-\w.\u00B7-\uFFFF]/),
+ J = s(/^aria-[\-\w]+$/),
+ Z = s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),
+ H = s(/^(?:\w+script|data):/i),
+ q = s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),
+ K = s(/^html$/i),
+ se = s(/^[a-z][.\w]*(-[.\w]+)+$/i);
+ var ce = Object.freeze({
+ __proto__: null,
+ MUSTACHE_EXPR: Q,
+ ERB_EXPR: X,
+ TMPLIT_EXPR: ie,
+ DATA_ATTR: j,
+ ARIA_ATTR: J,
+ IS_ALLOWED_URI: Z,
+ IS_SCRIPT_OR_DATA: H,
+ ATTR_WHITESPACE: q,
+ DOCTYPE_NAME: K,
+ CUSTOM_ELEMENT: se
+ });
+ let ue = {
+ element: 1,
+ attribute: 2,
+ text: 3,
+ cdataSection: 4,
+ entityReference: 5,
+ entityNode: 6,
+ progressingInstruction: 7,
+ comment: 8,
+ document: 9,
+ documentType: 10,
+ documentFragment: 11,
+ notation: 12
+ },
+ te = o(function () {
+ return typeof window > 'u' ? null : window;
+ }, 'getGlobal'),
+ De = o(function (Se, Ue) {
+ if (typeof Se != 'object' || typeof Se.createPolicy != 'function') return null;
+ let Pe = null,
+ _e = 'data-tt-policy-suffix';
+ Ue && Ue.hasAttribute(_e) && (Pe = Ue.getAttribute(_e));
+ let me = 'dompurify' + (Pe ? '#' + Pe : '');
+ try {
+ return Se.createPolicy(me, {
+ createHTML(W) {
+ return W;
+ },
+ createScriptURL(W) {
+ return W;
+ }
+ });
+ } catch {
+ return console.warn('TrustedTypes policy ' + me + ' could not be created.'), null;
+ }
+ }, '_createTrustedTypesPolicy');
+ function oe() {
+ let Ie = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : te(),
+ Se = o((Ft) => oe(Ft), 'DOMPurify');
+ if (
+ ((Se.version = '3.1.6'),
+ (Se.removed = []),
+ !Ie || !Ie.document || Ie.document.nodeType !== ue.document)
+ )
+ return (Se.isSupported = !1), Se;
+ let { document: Ue } = Ie,
+ Pe = Ue,
+ _e = Pe.currentScript,
+ {
+ DocumentFragment: me,
+ HTMLTemplateElement: W,
+ Node: fe,
+ Element: ge,
+ NodeFilter: re,
+ NamedNodeMap: he = Ie.NamedNodeMap || Ie.MozNamedAttrMap,
+ HTMLFormElement: ne,
+ DOMParser: ae,
+ trustedTypes: we
+ } = Ie,
+ Te = ge.prototype,
+ Ce = N(Te, 'cloneNode'),
+ Ae = N(Te, 'remove'),
+ Ge = N(Te, 'nextSibling'),
+ Me = N(Te, 'childNodes'),
+ ye = N(Te, 'parentNode');
+ if (typeof W == 'function') {
+ let Ft = Ue.createElement('template');
+ Ft.content && Ft.content.ownerDocument && (Ue = Ft.content.ownerDocument);
+ }
+ let He,
+ ze = '',
+ {
+ implementation: Ze,
+ createNodeIterator: gt,
+ createDocumentFragment: yt,
+ getElementsByTagName: tt
+ } = Ue,
+ { importNode: Ye } = Pe,
+ Je = {};
+ Se.isSupported =
+ typeof t == 'function' && typeof ye == 'function' && Ze && Ze.createHTMLDocument !== void 0;
+ let {
+ MUSTACHE_EXPR: Ve,
+ ERB_EXPR: je,
+ TMPLIT_EXPR: kt,
+ DATA_ATTR: at,
+ ARIA_ATTR: xt,
+ IS_SCRIPT_OR_DATA: it,
+ ATTR_WHITESPACE: dt,
+ CUSTOM_ELEMENT: lt
+ } = ce,
+ { IS_ALLOWED_URI: It } = ce,
+ mt = null,
+ St = A({}, [...k, ...I, ...C, ...D, ...F]),
+ gr = null,
+ xn = A({}, [...B, ...$, ...z, ...Y]),
+ jt = Object.seal(
+ l(null, {
+ tagNameCheck: {
+ writable: !0,
+ configurable: !1,
+ enumerable: !0,
+ value: null
+ },
+ attributeNameCheck: {
+ writable: !0,
+ configurable: !1,
+ enumerable: !0,
+ value: null
+ },
+ allowCustomizedBuiltInElements: {
+ writable: !0,
+ configurable: !1,
+ enumerable: !0,
+ value: !1
+ }
+ })
+ ),
+ rn = null,
+ Er = null,
+ Kn = !0,
+ hn = !0,
+ Qn = !1,
+ on = !0,
+ Rn = !1,
+ Ha = !0,
+ _a = !1,
+ To = !1,
+ qi = !1,
+ ht = !1,
+ At = !1,
+ $t = !1,
+ rt = !0,
+ Ot = !1,
+ pe = 'user-content-',
+ ur = !0,
+ be = !1,
+ Ir = {},
+ Xc = null,
+ M1 = A({}, [
+ 'annotation-xml',
+ 'audio',
+ 'colgroup',
+ 'desc',
+ 'foreignobject',
+ 'head',
+ 'iframe',
+ 'math',
+ 'mi',
+ 'mn',
+ 'mo',
+ 'ms',
+ 'mtext',
+ 'noembed',
+ 'noframes',
+ 'noscript',
+ 'plaintext',
+ 'script',
+ 'style',
+ 'svg',
+ 'template',
+ 'thead',
+ 'title',
+ 'video',
+ 'xmp'
+ ]),
+ _b = null,
+ I1 = A({}, ['audio', 'video', 'img', 'source', 'image', 'track']),
+ O1 = null,
+ ci = A({}, [
+ 'alt',
+ 'class',
+ 'for',
+ 'id',
+ 'label',
+ 'name',
+ 'pattern',
+ 'placeholder',
+ 'role',
+ 'summary',
+ 'title',
+ 'value',
+ 'style',
+ 'xmlns'
+ ]),
+ ko = 'http://www.w3.org/1998/Math/MathML',
+ ih = 'http://www.w3.org/2000/svg',
+ Us = 'http://www.w3.org/1999/xhtml',
+ ah = Us,
+ Lb = !1,
+ P1 = null,
+ sa = A({}, [ko, ih, Us], g),
+ jc = null,
+ Kc = ['application/xhtml+xml', 'text/html'],
+ us = 'text/html',
+ _i = null,
+ Wl = null,
+ sh = Ue.createElement('form'),
+ zf = o(function (Re) {
+ return Re instanceof RegExp || Re instanceof Function;
+ }, 'isRegexOrFunction'),
+ Hs = o(function () {
+ let Re = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
+ if (!(Wl && Wl === Re)) {
+ if (
+ ((!Re || typeof Re != 'object') && (Re = {}),
+ (Re = M(Re)),
+ (jc = Kc.indexOf(Re.PARSER_MEDIA_TYPE) === -1 ? us : Re.PARSER_MEDIA_TYPE),
+ (_i = jc === 'application/xhtml+xml' ? g : m),
+ (mt = w(Re, 'ALLOWED_TAGS') ? A({}, Re.ALLOWED_TAGS, _i) : St),
+ (gr = w(Re, 'ALLOWED_ATTR') ? A({}, Re.ALLOWED_ATTR, _i) : xn),
+ (P1 = w(Re, 'ALLOWED_NAMESPACES') ? A({}, Re.ALLOWED_NAMESPACES, g) : sa),
+ (O1 = w(Re, 'ADD_URI_SAFE_ATTR') ? A(M(ci), Re.ADD_URI_SAFE_ATTR, _i) : ci),
+ (_b = w(Re, 'ADD_DATA_URI_TAGS') ? A(M(I1), Re.ADD_DATA_URI_TAGS, _i) : I1),
+ (Xc = w(Re, 'FORBID_CONTENTS') ? A({}, Re.FORBID_CONTENTS, _i) : M1),
+ (rn = w(Re, 'FORBID_TAGS') ? A({}, Re.FORBID_TAGS, _i) : {}),
+ (Er = w(Re, 'FORBID_ATTR') ? A({}, Re.FORBID_ATTR, _i) : {}),
+ (Ir = w(Re, 'USE_PROFILES') ? Re.USE_PROFILES : !1),
+ (Kn = Re.ALLOW_ARIA_ATTR !== !1),
+ (hn = Re.ALLOW_DATA_ATTR !== !1),
+ (Qn = Re.ALLOW_UNKNOWN_PROTOCOLS || !1),
+ (on = Re.ALLOW_SELF_CLOSE_IN_ATTR !== !1),
+ (Rn = Re.SAFE_FOR_TEMPLATES || !1),
+ (Ha = Re.SAFE_FOR_XML !== !1),
+ (_a = Re.WHOLE_DOCUMENT || !1),
+ (ht = Re.RETURN_DOM || !1),
+ (At = Re.RETURN_DOM_FRAGMENT || !1),
+ ($t = Re.RETURN_TRUSTED_TYPE || !1),
+ (qi = Re.FORCE_BODY || !1),
+ (rt = Re.SANITIZE_DOM !== !1),
+ (Ot = Re.SANITIZE_NAMED_PROPS || !1),
+ (ur = Re.KEEP_CONTENT !== !1),
+ (be = Re.IN_PLACE || !1),
+ (It = Re.ALLOWED_URI_REGEXP || Z),
+ (ah = Re.NAMESPACE || Us),
+ (jt = Re.CUSTOM_ELEMENT_HANDLING || {}),
+ Re.CUSTOM_ELEMENT_HANDLING &&
+ zf(Re.CUSTOM_ELEMENT_HANDLING.tagNameCheck) &&
+ (jt.tagNameCheck = Re.CUSTOM_ELEMENT_HANDLING.tagNameCheck),
+ Re.CUSTOM_ELEMENT_HANDLING &&
+ zf(Re.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) &&
+ (jt.attributeNameCheck = Re.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),
+ Re.CUSTOM_ELEMENT_HANDLING &&
+ typeof Re.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == 'boolean' &&
+ (jt.allowCustomizedBuiltInElements =
+ Re.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),
+ Rn && (hn = !1),
+ At && (ht = !0),
+ Ir &&
+ ((mt = A({}, F)),
+ (gr = []),
+ Ir.html === !0 && (A(mt, k), A(gr, B)),
+ Ir.svg === !0 && (A(mt, I), A(gr, $), A(gr, Y)),
+ Ir.svgFilters === !0 && (A(mt, C), A(gr, $), A(gr, Y)),
+ Ir.mathMl === !0 && (A(mt, D), A(gr, z), A(gr, Y))),
+ Re.ADD_TAGS && (mt === St && (mt = M(mt)), A(mt, Re.ADD_TAGS, _i)),
+ Re.ADD_ATTR && (gr === xn && (gr = M(gr)), A(gr, Re.ADD_ATTR, _i)),
+ Re.ADD_URI_SAFE_ATTR && A(O1, Re.ADD_URI_SAFE_ATTR, _i),
+ Re.FORBID_CONTENTS && (Xc === M1 && (Xc = M(Xc)), A(Xc, Re.FORBID_CONTENTS, _i)),
+ ur && (mt['#text'] = !0),
+ _a && A(mt, ['html', 'head', 'body']),
+ mt.table && (A(mt, ['tbody']), delete rn.tbody),
+ Re.TRUSTED_TYPES_POLICY)
+ ) {
+ if (typeof Re.TRUSTED_TYPES_POLICY.createHTML != 'function')
+ throw T(
+ 'TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.'
+ );
+ if (typeof Re.TRUSTED_TYPES_POLICY.createScriptURL != 'function')
+ throw T(
+ 'TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.'
+ );
+ (He = Re.TRUSTED_TYPES_POLICY), (ze = He.createHTML(''));
+ } else
+ He === void 0 && (He = De(we, _e)),
+ He !== null && typeof ze == 'string' && (ze = He.createHTML(''));
+ a && a(Re), (Wl = Re);
+ }
+ }, '_parseConfig'),
+ B1 = A({}, ['mi', 'mo', 'mn', 'ms', 'mtext']),
+ Gf = A({}, ['foreignobject', 'annotation-xml']),
+ F1 = A({}, ['title', 'style', 'font', 'a', 'script']),
+ La = A({}, [...I, ...C, ...O]),
+ vF = A({}, [...D, ...P]),
+ Ive = o(function (Re) {
+ let st = ye(Re);
+ (!st || !st.tagName) && (st = { namespaceURI: ah, tagName: 'template' });
+ let Rt = m(Re.tagName),
+ bn = m(st.tagName);
+ return P1[Re.namespaceURI]
+ ? Re.namespaceURI === ih
+ ? st.namespaceURI === Us
+ ? Rt === 'svg'
+ : st.namespaceURI === ko
+ ? Rt === 'svg' && (bn === 'annotation-xml' || B1[bn])
+ : !!La[Rt]
+ : Re.namespaceURI === ko
+ ? st.namespaceURI === Us
+ ? Rt === 'math'
+ : st.namespaceURI === ih
+ ? Rt === 'math' && Gf[bn]
+ : !!vF[Rt]
+ : Re.namespaceURI === Us
+ ? (st.namespaceURI === ih && !Gf[bn]) || (st.namespaceURI === ko && !B1[bn])
+ ? !1
+ : !vF[Rt] && (F1[Rt] || !La[Rt])
+ : !!(jc === 'application/xhtml+xml' && P1[Re.namespaceURI])
+ : !1;
+ }, '_checkValidNamespace'),
+ ql = o(function (Re) {
+ p(Se.removed, { element: Re });
+ try {
+ ye(Re).removeChild(Re);
+ } catch {
+ Ae(Re);
+ }
+ }, '_forceRemove'),
+ Db = o(function (Re, st) {
+ try {
+ p(Se.removed, { attribute: st.getAttributeNode(Re), from: st });
+ } catch {
+ p(Se.removed, { attribute: null, from: st });
+ }
+ if ((st.removeAttribute(Re), Re === 'is' && !gr[Re]))
+ if (ht || At)
+ try {
+ ql(st);
+ } catch {}
+ else
+ try {
+ st.setAttribute(Re, '');
+ } catch {}
+ }, '_removeAttribute'),
+ xF = o(function (Re) {
+ let st = null,
+ Rt = null;
+ if (qi) Re = '' + Re;
+ else {
+ let oa = y(Re, /^[\r\n\t ]+/);
+ Rt = oa && oa[0];
+ }
+ jc === 'application/xhtml+xml' &&
+ ah === Us &&
+ (Re =
+ '' +
+ Re +
+ '');
+ let bn = He ? He.createHTML(Re) : Re;
+ if (ah === Us)
+ try {
+ st = new ae().parseFromString(bn, jc);
+ } catch {}
+ if (!st || !st.documentElement) {
+ st = Ze.createDocument(ah, 'template', null);
+ try {
+ st.documentElement.innerHTML = Lb ? ze : bn;
+ } catch {}
+ }
+ let Da = st.body || st.documentElement;
+ return (
+ Re && Rt && Da.insertBefore(Ue.createTextNode(Rt), Da.childNodes[0] || null),
+ ah === Us ? tt.call(st, _a ? 'html' : 'body')[0] : _a ? st.documentElement : Da
+ );
+ }, '_initDocument'),
+ bF = o(function (Re) {
+ return gt.call(
+ Re.ownerDocument || Re,
+ Re,
+ re.SHOW_ELEMENT |
+ re.SHOW_COMMENT |
+ re.SHOW_TEXT |
+ re.SHOW_PROCESSING_INSTRUCTION |
+ re.SHOW_CDATA_SECTION,
+ null
+ );
+ }, '_createNodeIterator'),
+ wF = o(function (Re) {
+ return (
+ Re instanceof ne &&
+ (typeof Re.nodeName != 'string' ||
+ typeof Re.textContent != 'string' ||
+ typeof Re.removeChild != 'function' ||
+ !(Re.attributes instanceof he) ||
+ typeof Re.removeAttribute != 'function' ||
+ typeof Re.setAttribute != 'function' ||
+ typeof Re.namespaceURI != 'string' ||
+ typeof Re.insertBefore != 'function' ||
+ typeof Re.hasChildNodes != 'function')
+ );
+ }, '_isClobbered'),
+ TF = o(function (Re) {
+ return typeof fe == 'function' && Re instanceof fe;
+ }, '_isNode'),
+ Qc = o(function (Re, st, Rt) {
+ Je[Re] &&
+ f(Je[Re], (bn) => {
+ bn.call(Se, st, Rt, Wl);
+ });
+ }, '_executeHook'),
+ kF = o(function (Re) {
+ let st = null;
+ if ((Qc('beforeSanitizeElements', Re, null), wF(Re))) return ql(Re), !0;
+ let Rt = _i(Re.nodeName);
+ if (
+ (Qc('uponSanitizeElement', Re, { tagName: Rt, allowedTags: mt }),
+ (Re.hasChildNodes() &&
+ !TF(Re.firstElementChild) &&
+ S(/<[/\w]/g, Re.innerHTML) &&
+ S(/<[/\w]/g, Re.textContent)) ||
+ Re.nodeType === ue.progressingInstruction ||
+ (Ha && Re.nodeType === ue.comment && S(/<[/\w]/g, Re.data)))
+ )
+ return ql(Re), !0;
+ if (!mt[Rt] || rn[Rt]) {
+ if (
+ !rn[Rt] &&
+ CF(Rt) &&
+ ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Rt)) ||
+ (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Rt)))
+ )
+ return !1;
+ if (ur && !Xc[Rt]) {
+ let bn = ye(Re) || Re.parentNode,
+ Da = Me(Re) || Re.childNodes;
+ if (Da && bn) {
+ let oa = Da.length;
+ for (let hs = oa - 1; hs >= 0; --hs) {
+ let Xl = Ce(Da[hs], !0);
+ (Xl.__removalCount = (Re.__removalCount || 0) + 1), bn.insertBefore(Xl, Ge(Re));
+ }
+ }
+ }
+ return ql(Re), !0;
+ }
+ return (Re instanceof ge && !Ive(Re)) ||
+ ((Rt === 'noscript' || Rt === 'noembed' || Rt === 'noframes') &&
+ S(/<\/no(script|embed|frames)/i, Re.innerHTML))
+ ? (ql(Re), !0)
+ : (Rn &&
+ Re.nodeType === ue.text &&
+ ((st = Re.textContent),
+ f([Ve, je, kt], (bn) => {
+ st = v(st, bn, ' ');
+ }),
+ Re.textContent !== st &&
+ (p(Se.removed, { element: Re.cloneNode() }), (Re.textContent = st))),
+ Qc('afterSanitizeElements', Re, null),
+ !1);
+ }, '_sanitizeElements'),
+ EF = o(function (Re, st, Rt) {
+ if (rt && (st === 'id' || st === 'name') && (Rt in Ue || Rt in sh)) return !1;
+ if (!(hn && !Er[st] && S(at, st))) {
+ if (!(Kn && S(xt, st))) {
+ if (!gr[st] || Er[st]) {
+ if (
+ !(
+ (CF(Re) &&
+ ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Re)) ||
+ (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Re))) &&
+ ((jt.attributeNameCheck instanceof RegExp &&
+ S(jt.attributeNameCheck, st)) ||
+ (jt.attributeNameCheck instanceof Function &&
+ jt.attributeNameCheck(st)))) ||
+ (st === 'is' &&
+ jt.allowCustomizedBuiltInElements &&
+ ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Rt)) ||
+ (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Rt))))
+ )
+ )
+ return !1;
+ } else if (!O1[st]) {
+ if (!S(It, v(Rt, dt, ''))) {
+ if (
+ !(
+ (st === 'src' || st === 'xlink:href' || st === 'href') &&
+ Re !== 'script' &&
+ x(Rt, 'data:') === 0 &&
+ _b[Re]
+ )
+ ) {
+ if (!(Qn && !S(it, v(Rt, dt, '')))) {
+ if (Rt) return !1;
+ }
+ }
+ }
+ }
+ }
+ }
+ return !0;
+ }, '_isValidAttribute'),
+ CF = o(function (Re) {
+ return Re !== 'annotation-xml' && y(Re, lt);
+ }, '_isBasicCustomElement'),
+ SF = o(function (Re) {
+ Qc('beforeSanitizeAttributes', Re, null);
+ let { attributes: st } = Re;
+ if (!st) return;
+ let Rt = {
+ attrName: '',
+ attrValue: '',
+ keepAttr: !0,
+ allowedAttributes: gr
+ },
+ bn = st.length;
+ for (; bn--; ) {
+ let Da = st[bn],
+ { name: oa, namespaceURI: hs, value: Xl } = Da,
+ z1 = _i(oa),
+ Ya = oa === 'value' ? Xl : b(Xl);
+ if (
+ ((Rt.attrName = z1),
+ (Rt.attrValue = Ya),
+ (Rt.keepAttr = !0),
+ (Rt.forceKeepAttr = void 0),
+ Qc('uponSanitizeAttribute', Re, Rt),
+ (Ya = Rt.attrValue),
+ Ha && S(/((--!?|])>)|<\/(style|title)/i, Ya))
+ ) {
+ Db(oa, Re);
+ continue;
+ }
+ if (Rt.forceKeepAttr || (Db(oa, Re), !Rt.keepAttr)) continue;
+ if (!on && S(/\/>/i, Ya)) {
+ Db(oa, Re);
+ continue;
+ }
+ Rn &&
+ f([Ve, je, kt], (_F) => {
+ Ya = v(Ya, _F, ' ');
+ });
+ let AF = _i(Re.nodeName);
+ if (EF(AF, z1, Ya)) {
+ if (
+ (Ot && (z1 === 'id' || z1 === 'name') && (Db(oa, Re), (Ya = pe + Ya)),
+ He && typeof we == 'object' && typeof we.getAttributeType == 'function' && !hs)
+ )
+ switch (we.getAttributeType(AF, z1)) {
+ case 'TrustedHTML': {
+ Ya = He.createHTML(Ya);
+ break;
+ }
+ case 'TrustedScriptURL': {
+ Ya = He.createScriptURL(Ya);
+ break;
+ }
+ }
+ try {
+ hs ? Re.setAttributeNS(hs, oa, Ya) : Re.setAttribute(oa, Ya),
+ wF(Re) ? ql(Re) : d(Se.removed);
+ } catch {}
+ }
+ }
+ Qc('afterSanitizeAttributes', Re, null);
+ }, '_sanitizeAttributes'),
+ Ove = o(function Ft(Re) {
+ let st = null,
+ Rt = bF(Re);
+ for (Qc('beforeSanitizeShadowDOM', Re, null); (st = Rt.nextNode()); )
+ Qc('uponSanitizeShadowNode', st, null),
+ !kF(st) && (st.content instanceof me && Ft(st.content), SF(st));
+ Qc('afterSanitizeShadowDOM', Re, null);
+ }, '_sanitizeShadowDOM');
+ return (
+ (Se.sanitize = function (Ft) {
+ let Re = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
+ st = null,
+ Rt = null,
+ bn = null,
+ Da = null;
+ if (((Lb = !Ft), Lb && (Ft = ''), typeof Ft != 'string' && !TF(Ft)))
+ if (typeof Ft.toString == 'function') {
+ if (((Ft = Ft.toString()), typeof Ft != 'string'))
+ throw T('dirty is not a string, aborting');
+ } else throw T('toString is not a function');
+ if (!Se.isSupported) return Ft;
+ if ((To || Hs(Re), (Se.removed = []), typeof Ft == 'string' && (be = !1), be)) {
+ if (Ft.nodeName) {
+ let Xl = _i(Ft.nodeName);
+ if (!mt[Xl] || rn[Xl])
+ throw T('root node is forbidden and cannot be sanitized in-place');
+ }
+ } else if (Ft instanceof fe)
+ (st = xF('')),
+ (Rt = st.ownerDocument.importNode(Ft, !0)),
+ (Rt.nodeType === ue.element && Rt.nodeName === 'BODY') || Rt.nodeName === 'HTML'
+ ? (st = Rt)
+ : st.appendChild(Rt);
+ else {
+ if (!ht && !Rn && !_a && Ft.indexOf('<') === -1) return He && $t ? He.createHTML(Ft) : Ft;
+ if (((st = xF(Ft)), !st)) return ht ? null : $t ? ze : '';
+ }
+ st && qi && ql(st.firstChild);
+ let oa = bF(be ? Ft : st);
+ for (; (bn = oa.nextNode()); ) kF(bn) || (bn.content instanceof me && Ove(bn.content), SF(bn));
+ if (be) return Ft;
+ if (ht) {
+ if (At) for (Da = yt.call(st.ownerDocument); st.firstChild; ) Da.appendChild(st.firstChild);
+ else Da = st;
+ return (gr.shadowroot || gr.shadowrootmode) && (Da = Ye.call(Pe, Da, !0)), Da;
+ }
+ let hs = _a ? st.outerHTML : st.innerHTML;
+ return (
+ _a &&
+ mt['!doctype'] &&
+ st.ownerDocument &&
+ st.ownerDocument.doctype &&
+ st.ownerDocument.doctype.name &&
+ S(K, st.ownerDocument.doctype.name) &&
+ (hs =
+ '
+` +
+ hs),
+ Rn &&
+ f([Ve, je, kt], (Xl) => {
+ hs = v(hs, Xl, ' ');
+ }),
+ He && $t ? He.createHTML(hs) : hs
+ );
+ }),
+ (Se.setConfig = function () {
+ let Ft = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
+ Hs(Ft), (To = !0);
+ }),
+ (Se.clearConfig = function () {
+ (Wl = null), (To = !1);
+ }),
+ (Se.isValidAttribute = function (Ft, Re, st) {
+ Wl || Hs({});
+ let Rt = _i(Ft),
+ bn = _i(Re);
+ return EF(Rt, bn, st);
+ }),
+ (Se.addHook = function (Ft, Re) {
+ typeof Re == 'function' && ((Je[Ft] = Je[Ft] || []), p(Je[Ft], Re));
+ }),
+ (Se.removeHook = function (Ft) {
+ if (Je[Ft]) return d(Je[Ft]);
+ }),
+ (Se.removeHooks = function (Ft) {
+ Je[Ft] && (Je[Ft] = []);
+ }),
+ (Se.removeAllHooks = function () {
+ Je = {};
+ }),
+ Se
+ );
+ }
+ o(oe, 'createDOMPurify');
+ var ke = oe();
+ return ke;
+ });
+ });
+ var k$ = {};
+ hr(k$, { default: () => Ebe });
+ function B2e(t) {
+ return String(t).replace(P2e, (e) => O2e[e]);
+ }
+ function $2e(t) {
+ if (t.default) return t.default;
+ var e = t.type,
+ r = Array.isArray(e) ? e[0] : e;
+ if (typeof r != 'string') return r.enum[0];
+ switch (r) {
+ case 'boolean':
+ return !1;
+ case 'string':
+ return '';
+ case 'number':
+ return 0;
+ case 'object':
+ return {};
+ }
+ }
+ function X2e(t) {
+ for (var e = 0; e < b7.length; e++)
+ for (var r = b7[e], n = 0; n < r.blocks.length; n++) {
+ var i = r.blocks[n];
+ if (t >= i[0] && t <= i[1]) return r.name;
+ }
+ return null;
+ }
+ function LG(t) {
+ for (var e = 0; e < h4.length; e += 2) if (t >= h4[e] && t <= h4[e + 1]) return !0;
+ return !1;
+ }
+ function axe(t, e) {
+ Zl[t] = e;
+ }
+ function M7(t, e, r) {
+ if (!Zl[e]) throw new Error('Font metrics not found for font: ' + e + '.');
+ var n = t.charCodeAt(0),
+ i = Zl[e][n];
+ if (
+ (!i && t[0] in Zz && ((n = Zz[t[0]].charCodeAt(0)), (i = Zl[e][n])),
+ !i && r === 'text' && LG(n) && (i = Zl[e][77]),
+ i)
+ )
+ return {
+ depth: i[0],
+ height: i[1],
+ italic: i[2],
+ skew: i[3],
+ width: i[4]
+ };
+ }
+ function sxe(t) {
+ var e;
+ if ((t >= 5 ? (e = 0) : t >= 3 ? (e = 1) : (e = 2), !l7[e])) {
+ var r = (l7[e] = { cssEmPerMu: Jb.quad[e] / 18 });
+ for (var n in Jb) Jb.hasOwnProperty(n) && (r[n] = Jb[n][e]);
+ }
+ return l7[e];
+ }
+ function tG(t) {
+ if (t instanceof ms) return t;
+ throw new Error('Expected symbolNode but got ' + String(t) + '.');
+ }
+ function uxe(t) {
+ if (t instanceof jf) return t;
+ throw new Error('Expected span but got ' + String(t) + '.');
+ }
+ function G(t, e, r, n, i, a) {
+ (wn[t][i] = { font: e, group: r, replace: n }), a && n && (wn[t][n] = wn[t][i]);
+ }
+ function vt(t) {
+ for (
+ var { type: e, names: r, props: n, handler: i, htmlBuilder: a, mathmlBuilder: s } = t,
+ l = {
+ type: e,
+ numArgs: n.numArgs,
+ argTypes: n.argTypes,
+ allowedInArgument: !!n.allowedInArgument,
+ allowedInText: !!n.allowedInText,
+ allowedInMath: n.allowedInMath === void 0 ? !0 : n.allowedInMath,
+ numOptionalArgs: n.numOptionalArgs || 0,
+ infix: !!n.infix,
+ primitive: !!n.primitive,
+ handler: i
+ },
+ u = 0;
+ u < r.length;
+ ++u
+ )
+ zG[r[u]] = l;
+ e && (a && (m4[e] = a), s && (g4[e] = s));
+ }
+ function Kf(t) {
+ var { type: e, htmlBuilder: r, mathmlBuilder: n } = t;
+ vt({
+ type: e,
+ names: [],
+ props: { numArgs: 0 },
+ handler() {
+ throw new Error('Should never be called.');
+ },
+ htmlBuilder: r,
+ mathmlBuilder: n
+ });
+ }
+ function s4(t, e) {
+ var r = su(['base'], t, e),
+ n = su(['strut']);
+ return (
+ (n.style.height = ct(r.height + r.depth)),
+ r.depth && (n.style.verticalAlign = ct(-r.depth)),
+ r.children.unshift(n),
+ r
+ );
+ }
+ function C7(t, e) {
+ var r = null;
+ t.length === 1 && t[0].type === 'tag' && ((r = t[0].tag), (t = t[0].body));
+ var n = Ri(t, e, 'root'),
+ i;
+ n.length === 2 && n[1].hasClass('tag') && (i = n.pop());
+ for (var a = [], s = [], l = 0; l < n.length; l++)
+ if ((s.push(n[l]), n[l].hasClass('mbin') || n[l].hasClass('mrel') || n[l].hasClass('allowbreak'))) {
+ for (var u = !1; l < n.length - 1 && n[l + 1].hasClass('mspace') && !n[l + 1].hasClass('newline'); )
+ l++, s.push(n[l]), n[l].hasClass('nobreak') && (u = !0);
+ u || (a.push(s4(s, e)), (s = []));
+ } else n[l].hasClass('newline') && (s.pop(), s.length > 0 && (a.push(s4(s, e)), (s = [])), a.push(n[l]));
+ s.length > 0 && a.push(s4(s, e));
+ var h;
+ r ? ((h = s4(Ri(r, e, !0))), (h.classes = ['tag']), a.push(h)) : i && a.push(i);
+ var f = su(['katex-html'], a);
+ if ((f.setAttribute('aria-hidden', 'true'), h)) {
+ var d = h.children[0];
+ (d.style.height = ct(f.height + f.depth)), f.depth && (d.style.verticalAlign = ct(-f.depth));
+ }
+ return f;
+ }
+ function $G(t) {
+ return new Xf(t);
+ }
+ function sG(t, e, r, n, i) {
+ var a = gs(t, r),
+ s;
+ a.length === 1 && a[0] instanceof ps && Vt.contains(['mrow', 'mtable'], a[0].type)
+ ? (s = a[0])
+ : (s = new et.MathNode('mrow', a));
+ var l = new et.MathNode('annotation', [new et.TextNode(e)]);
+ l.setAttribute('encoding', 'application/x-tex');
+ var u = new et.MathNode('semantics', [s, l]),
+ h = new et.MathNode('math', [u]);
+ h.setAttribute('xmlns', 'http://www.w3.org/1998/Math/MathML'), n && h.setAttribute('display', 'block');
+ var f = i ? 'katex' : 'katex-mathml';
+ return Be.makeSpan([f], [h]);
+ }
+ function ir(t, e) {
+ if (!t || t.type !== e)
+ throw new Error('Expected node of type ' + e + ', but got ' + (t ? 'node of type ' + t.type : String(t)));
+ return t;
+ }
+ function B7(t) {
+ var e = T4(t);
+ if (!e)
+ throw new Error(
+ 'Expected node of symbol group type, but got ' + (t ? 'node of type ' + t.type : String(t))
+ );
+ return e;
+ }
+ function T4(t) {
+ return t && (t.type === 'atom' || fxe.hasOwnProperty(t.type)) ? t : null;
+ }
+ function YG(t, e) {
+ var r = Ri(t.body, e, !0);
+ return Vxe([t.mclass], r, e);
+ }
+ function WG(t, e) {
+ var r,
+ n = gs(t.body, e);
+ return (
+ t.mclass === 'minner'
+ ? (r = new et.MathNode('mpadded', n))
+ : t.mclass === 'mord'
+ ? t.isCharacterBox
+ ? ((r = n[0]), (r.type = 'mi'))
+ : (r = new et.MathNode('mi', n))
+ : (t.isCharacterBox ? ((r = n[0]), (r.type = 'mo')) : (r = new et.MathNode('mo', n)),
+ t.mclass === 'mbin'
+ ? ((r.attributes.lspace = '0.22em'), (r.attributes.rspace = '0.22em'))
+ : t.mclass === 'mpunct'
+ ? ((r.attributes.lspace = '0em'), (r.attributes.rspace = '0.17em'))
+ : t.mclass === 'mopen' || t.mclass === 'mclose'
+ ? ((r.attributes.lspace = '0em'), (r.attributes.rspace = '0em'))
+ : t.mclass === 'minner' &&
+ ((r.attributes.lspace = '0.0556em'), (r.attributes.width = '+0.1111em'))),
+ r
+ );
+ }
+ function Yxe(t, e, r) {
+ var n = Uxe[t];
+ switch (n) {
+ case '\\\\cdrightarrow':
+ case '\\\\cdleftarrow':
+ return r.callFunction(n, [e[0]], [e[1]]);
+ case '\\uparrow':
+ case '\\downarrow': {
+ var i = r.callFunction('\\\\cdleft', [e[0]], []),
+ a = { type: 'atom', text: n, mode: 'math', family: 'rel' },
+ s = r.callFunction('\\Big', [a], []),
+ l = r.callFunction('\\\\cdright', [e[1]], []),
+ u = { type: 'ordgroup', mode: 'math', body: [i, s, l] };
+ return r.callFunction('\\\\cdparent', [u], []);
+ }
+ case '\\\\cdlongequal':
+ return r.callFunction('\\\\cdlongequal', [], []);
+ case '\\Vert': {
+ var h = { type: 'textord', text: '\\Vert', mode: 'math' };
+ return r.callFunction('\\Big', [h], []);
+ }
+ default:
+ return { type: 'textord', text: ' ', mode: 'math' };
+ }
+ }
+ function Wxe(t) {
+ var e = [];
+ for (t.gullet.beginGroup(), t.gullet.macros.set('\\cr', '\\\\\\relax'), t.gullet.beginGroup(); ; ) {
+ e.push(t.parseExpression(!1, '\\\\')), t.gullet.endGroup(), t.gullet.beginGroup();
+ var r = t.fetch().text;
+ if (r === '&' || r === '\\\\') t.consume();
+ else if (r === '\\end') {
+ e[e.length - 1].length === 0 && e.pop();
+ break;
+ } else throw new nt('Expected \\\\ or \\cr or \\end', t.nextToken);
+ }
+ for (var n = [], i = [n], a = 0; a < e.length; a++) {
+ for (var s = e[a], l = oG(), u = 0; u < s.length; u++)
+ if (!lG(s[u])) l.body.push(s[u]);
+ else {
+ n.push(l), (u += 1);
+ var h = B7(s[u]).text,
+ f = new Array(2);
+ if (
+ ((f[0] = { type: 'ordgroup', mode: 'math', body: [] }),
+ (f[1] = { type: 'ordgroup', mode: 'math', body: [] }),
+ !('=|.'.indexOf(h) > -1))
+ )
+ if ('<>AV'.indexOf(h) > -1)
+ for (var d = 0; d < 2; d++) {
+ for (var p = !0, m = u + 1; m < s.length; m++) {
+ if (Hxe(s[m], h)) {
+ (p = !1), (u = m);
+ break;
+ }
+ if (lG(s[m]))
+ throw new nt('Missing a ' + h + ' character to complete a CD arrow.', s[m]);
+ f[d].body.push(s[m]);
+ }
+ if (p) throw new nt('Missing a ' + h + ' character to complete a CD arrow.', s[u]);
+ }
+ else throw new nt('Expected one of "<>AV=|." after @', s[u]);
+ var g = Yxe(h, f, t),
+ y = { type: 'styling', body: [g], mode: 'math', style: 'display' };
+ n.push(y), (l = oG());
+ }
+ a % 2 === 0 ? n.push(l) : n.shift(), (n = []), i.push(n);
+ }
+ t.gullet.endGroup(), t.gullet.endGroup();
+ var v = new Array(i[0].length).fill({
+ type: 'align',
+ align: 'c',
+ pregap: 0.25,
+ postgap: 0.25
+ });
+ return {
+ type: 'array',
+ mode: 'math',
+ body: i,
+ arraystretch: 1,
+ addJot: !0,
+ rowGaps: [null],
+ cols: v,
+ colSeparationType: 'CD',
+ hLinesBeforeRow: new Array(i.length + 1).fill([])
+ };
+ }
+ function E4(t, e) {
+ var r = T4(t);
+ if (r && Vt.contains(abe, r.text)) return r;
+ throw r
+ ? new nt("Invalid delimiter '" + r.text + "' after '" + e.funcName + "'", t)
+ : new nt("Invalid delimiter type '" + t.type + "'", t);
+ }
+ function uG(t) {
+ if (!t.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed.");
+ }
+ function ec(t) {
+ for (
+ var { type: e, names: r, props: n, handler: i, htmlBuilder: a, mathmlBuilder: s } = t,
+ l = {
+ type: e,
+ numArgs: n.numArgs || 0,
+ allowedInText: !1,
+ numOptionalArgs: 0,
+ handler: i
+ },
+ u = 0;
+ u < r.length;
+ ++u
+ )
+ a$[r[u]] = l;
+ a && (m4[e] = a), s && (g4[e] = s);
+ }
+ function le(t, e) {
+ s$[t] = e;
+ }
+ function hG(t) {
+ var e = [];
+ t.consumeSpaces();
+ var r = t.fetch().text;
+ for (
+ r === '\\relax' && (t.consume(), t.consumeSpaces(), (r = t.fetch().text));
+ r === '\\hline' || r === '\\hdashline';
+
+ )
+ t.consume(), e.push(r === '\\hdashline'), t.consumeSpaces(), (r = t.fetch().text);
+ return e;
+ }
+ function V7(t) {
+ if (t.indexOf('ed') === -1) return t.indexOf('*') === -1;
+ }
+ function mh(t, e, r) {
+ var {
+ hskipBeforeAndAfter: n,
+ addJot: i,
+ cols: a,
+ arraystretch: s,
+ colSeparationType: l,
+ autoTag: u,
+ singleRow: h,
+ emptySingleRow: f,
+ maxNumCols: d,
+ leqno: p
+ } = e;
+ if ((t.gullet.beginGroup(), h || t.gullet.macros.set('\\cr', '\\\\\\relax'), !s)) {
+ var m = t.gullet.expandMacroAsText('\\arraystretch');
+ if (m == null) s = 1;
+ else if (((s = parseFloat(m)), !s || s < 0)) throw new nt('Invalid \\arraystretch: ' + m);
+ }
+ t.gullet.beginGroup();
+ var g = [],
+ y = [g],
+ v = [],
+ x = [],
+ b = u != null ? [] : void 0;
+ function w() {
+ u && t.gullet.macros.set('\\@eqnsw', '1', !0);
+ }
+ o(w, 'beginRow');
+ function S() {
+ b &&
+ (t.gullet.macros.get('\\df@tag')
+ ? (b.push(t.subparse([new Ao('\\df@tag')])), t.gullet.macros.set('\\df@tag', void 0, !0))
+ : b.push(!!u && t.gullet.macros.get('\\@eqnsw') === '1'));
+ }
+ for (o(S, 'endRow'), w(), x.push(hG(t)); ; ) {
+ var T = t.parseExpression(!1, h ? '\\end' : '\\\\');
+ t.gullet.endGroup(),
+ t.gullet.beginGroup(),
+ (T = { type: 'ordgroup', mode: t.mode, body: T }),
+ r && (T = { type: 'styling', mode: t.mode, style: r, body: [T] }),
+ g.push(T);
+ var E = t.fetch().text;
+ if (E === '&') {
+ if (d && g.length === d) {
+ if (h || l) throw new nt('Too many tab characters: &', t.nextToken);
+ t.settings.reportNonstrict('textEnv', 'Too few columns specified in the {array} column argument.');
+ }
+ t.consume();
+ } else if (E === '\\end') {
+ S(),
+ g.length === 1 &&
+ T.type === 'styling' &&
+ T.body[0].body.length === 0 &&
+ (y.length > 1 || !f) &&
+ y.pop(),
+ x.length < y.length + 1 && x.push([]);
+ break;
+ } else if (E === '\\\\') {
+ t.consume();
+ var _ = void 0;
+ t.gullet.future().text !== ' ' && (_ = t.parseSizeGroup(!0)),
+ v.push(_ ? _.value : null),
+ S(),
+ x.push(hG(t)),
+ (g = []),
+ y.push(g),
+ w();
+ } else throw new nt('Expected & or \\\\ or \\cr or \\end', t.nextToken);
+ }
+ return (
+ t.gullet.endGroup(),
+ t.gullet.endGroup(),
+ {
+ type: 'array',
+ mode: t.mode,
+ addJot: i,
+ arraystretch: s,
+ body: y,
+ cols: a,
+ rowGaps: v,
+ hskipBeforeAndAfter: n,
+ hLinesBeforeRow: x,
+ colSeparationType: l,
+ tags: b,
+ leqno: p
+ }
+ );
+ }
+ function U7(t) {
+ return t.slice(0, 1) === 'd' ? 'display' : 'text';
+ }
+ function m$(t, e, r) {
+ for (var n = Ri(t, e, !1), i = e.sizeMultiplier / r.sizeMultiplier, a = 0; a < n.length; a++) {
+ var s = n[a].classes.indexOf('sizing');
+ s < 0
+ ? Array.prototype.push.apply(n[a].classes, e.sizingClasses(r))
+ : n[a].classes[s + 1] === 'reset-size' + e.size && (n[a].classes[s + 1] = 'reset-size' + r.size),
+ (n[a].height *= i),
+ (n[a].depth *= i);
+ }
+ return Be.makeFragment(n);
+ }
+ var Xs,
+ Ao,
+ nt,
+ R2e,
+ N2e,
+ M2e,
+ I2e,
+ O2e,
+ P2e,
+ _G,
+ F2e,
+ z2e,
+ G2e,
+ Vt,
+ u4,
+ ry,
+ Kl,
+ N7,
+ f4,
+ gp,
+ iu,
+ ny,
+ So,
+ yp,
+ qa,
+ Ql,
+ V2e,
+ U2e,
+ H2e,
+ Y2e,
+ W2e,
+ q2e,
+ Ht,
+ b7,
+ h4,
+ mp,
+ j2e,
+ K2e,
+ Q2e,
+ Z2e,
+ J2e,
+ exe,
+ txe,
+ rxe,
+ nxe,
+ Qz,
+ ixe,
+ Xf,
+ Zl,
+ Jb,
+ Zz,
+ l7,
+ oxe,
+ Jz,
+ eG,
+ d4,
+ w7,
+ lxe,
+ DG,
+ Hn,
+ ct,
+ dh,
+ RG,
+ NG,
+ MG,
+ jf,
+ iy,
+ T7,
+ cxe,
+ ms,
+ ll,
+ Jl,
+ ay,
+ hxe,
+ fxe,
+ wn,
+ U,
+ Qe,
+ ee,
+ ve,
+ Pn,
+ bt,
+ Xa,
+ vp,
+ Ut,
+ xi,
+ js,
+ b4,
+ xe,
+ lu,
+ Le,
+ IG,
+ rG,
+ c7,
+ e4,
+ nG,
+ u7,
+ t4,
+ p4,
+ Z1,
+ r4,
+ Xt,
+ Vn,
+ Ra,
+ ru,
+ hh,
+ k7,
+ J1,
+ n4,
+ i4,
+ iG,
+ dxe,
+ w4,
+ ol,
+ pxe,
+ mxe,
+ gxe,
+ yxe,
+ vxe,
+ I7,
+ ds,
+ OG,
+ xxe,
+ bxe,
+ PG,
+ wxe,
+ Txe,
+ kxe,
+ Exe,
+ a4,
+ BG,
+ FG,
+ Cxe,
+ Be,
+ Un,
+ Wf,
+ nu,
+ Sxe,
+ Axe,
+ zG,
+ m4,
+ g4,
+ y4,
+ ui,
+ su,
+ _xe,
+ Lxe,
+ Dxe,
+ Rxe,
+ Ri,
+ aG,
+ GG,
+ Nxe,
+ E7,
+ sy,
+ Cr,
+ ps,
+ qf,
+ S7,
+ et,
+ _o,
+ O7,
+ P7,
+ gs,
+ ph,
+ fn,
+ VG,
+ UG,
+ Mxe,
+ Ixe,
+ Oxe,
+ Pxe,
+ Bxe,
+ Fxe,
+ zxe,
+ Gxe,
+ ou,
+ F7,
+ HG,
+ $xe,
+ o4,
+ Vxe,
+ k4,
+ Uxe,
+ oG,
+ lG,
+ Hxe,
+ qG,
+ XG,
+ A7,
+ jG,
+ qxe,
+ KG,
+ ey,
+ z7,
+ QG,
+ Xxe,
+ jxe,
+ ZG,
+ h7,
+ f7,
+ _7,
+ l4,
+ Kxe,
+ Qxe,
+ JG,
+ d7,
+ p7,
+ m7,
+ Zxe,
+ e$,
+ Jxe,
+ t$,
+ ty,
+ ebe,
+ tbe,
+ rbe,
+ r$,
+ nbe,
+ n$,
+ i$,
+ ibe,
+ au,
+ cG,
+ abe,
+ G7,
+ $7,
+ a$,
+ s$,
+ C4,
+ tc,
+ sbe,
+ rc,
+ o$,
+ fG,
+ l$,
+ c$,
+ dG,
+ u$,
+ H7,
+ Y7,
+ pG,
+ mG,
+ h$,
+ obe,
+ g7,
+ gG,
+ f$,
+ d$,
+ xp,
+ oy,
+ lbe,
+ cbe,
+ p$,
+ ube,
+ yG,
+ hbe,
+ vG,
+ fbe,
+ g$,
+ y7,
+ v7,
+ xG,
+ bG,
+ wG,
+ dbe,
+ TG,
+ kG,
+ fh,
+ y$,
+ pbe,
+ mbe,
+ gbe,
+ ybe,
+ L7,
+ vbe,
+ xbe,
+ v4,
+ D7,
+ bbe,
+ EG,
+ W7,
+ CG,
+ q7,
+ v$,
+ x$,
+ b$,
+ R7,
+ SG,
+ c4,
+ x7,
+ AG,
+ x4,
+ X7,
+ w$,
+ wbe,
+ Tbe,
+ T$,
+ j7,
+ kbe,
+ Ebe,
+ E$ = R(() => {
+ 'use strict';
+ (Xs = class t {
+ static {
+ o(this, 'SourceLocation');
+ }
+ constructor(e, r, n) {
+ (this.lexer = void 0),
+ (this.start = void 0),
+ (this.end = void 0),
+ (this.lexer = e),
+ (this.start = r),
+ (this.end = n);
+ }
+ static range(e, r) {
+ return r
+ ? !e || !e.loc || !r.loc || e.loc.lexer !== r.loc.lexer
+ ? null
+ : new t(e.loc.lexer, e.loc.start, r.loc.end)
+ : e && e.loc;
+ }
+ }),
+ (Ao = class t {
+ static {
+ o(this, 'Token');
+ }
+ constructor(e, r) {
+ (this.text = void 0),
+ (this.loc = void 0),
+ (this.noexpand = void 0),
+ (this.treatAsRelax = void 0),
+ (this.text = e),
+ (this.loc = r);
+ }
+ range(e, r) {
+ return new t(r, Xs.range(this, e));
+ }
+ }),
+ (nt = class t {
+ static {
+ o(this, 'ParseError');
+ }
+ constructor(e, r) {
+ (this.name = void 0),
+ (this.position = void 0),
+ (this.length = void 0),
+ (this.rawMessage = void 0);
+ var n = 'KaTeX parse error: ' + e,
+ i,
+ a,
+ s = r && r.loc;
+ if (s && s.start <= s.end) {
+ var l = s.lexer.input;
+ (i = s.start),
+ (a = s.end),
+ i === l.length ? (n += ' at end of input: ') : (n += ' at position ' + (i + 1) + ': ');
+ var u = l.slice(i, a).replace(/[^]/g, '$&\u0332'),
+ h;
+ i > 15 ? (h = '\u2026' + l.slice(i - 15, i)) : (h = l.slice(0, i));
+ var f;
+ a + 15 < l.length ? (f = l.slice(a, a + 15) + '\u2026') : (f = l.slice(a)),
+ (n += h + u + f);
+ }
+ var d = new Error(n);
+ return (
+ (d.name = 'ParseError'),
+ (d.__proto__ = t.prototype),
+ (d.position = i),
+ i != null && a != null && (d.length = a - i),
+ (d.rawMessage = e),
+ d
+ );
+ }
+ });
+ nt.prototype.__proto__ = Error.prototype;
+ (R2e = o(function (e, r) {
+ return e.indexOf(r) !== -1;
+ }, 'contains')),
+ (N2e = o(function (e, r) {
+ return e === void 0 ? r : e;
+ }, 'deflt')),
+ (M2e = /([A-Z])/g),
+ (I2e = o(function (e) {
+ return e.replace(M2e, '-$1').toLowerCase();
+ }, 'hyphenate')),
+ (O2e = {
+ '&': '&',
+ '>': '>',
+ '<': '<',
+ '"': '"',
+ "'": '''
+ }),
+ (P2e = /[&><"']/g);
+ o(B2e, 'escape');
+ (_G = o(function t(e) {
+ return e.type === 'ordgroup' || e.type === 'color'
+ ? e.body.length === 1
+ ? t(e.body[0])
+ : e
+ : e.type === 'font'
+ ? t(e.body)
+ : e;
+ }, 'getBaseElem')),
+ (F2e = o(function (e) {
+ var r = _G(e);
+ return r.type === 'mathord' || r.type === 'textord' || r.type === 'atom';
+ }, 'isCharacterBox')),
+ (z2e = o(function (e) {
+ if (!e) throw new Error('Expected non-null, but got ' + String(e));
+ return e;
+ }, 'assert')),
+ (G2e = o(function (e) {
+ var r = /^[\x00-\x20]*([^\\/#?]*?)(:|*58|*3a|&colon)/i.exec(e);
+ return r
+ ? r[2] !== ':' || !/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])
+ ? null
+ : r[1].toLowerCase()
+ : '_relative';
+ }, 'protocolFromUrl')),
+ (Vt = {
+ contains: R2e,
+ deflt: N2e,
+ escape: B2e,
+ hyphenate: I2e,
+ getBaseElem: _G,
+ isCharacterBox: F2e,
+ protocolFromUrl: G2e
+ }),
+ (u4 = {
+ displayMode: {
+ type: 'boolean',
+ description:
+ 'Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.',
+ cli: '-d, --display-mode'
+ },
+ output: {
+ type: { enum: ['htmlAndMathml', 'html', 'mathml'] },
+ description: 'Determines the markup language of the output.',
+ cli: '-F, --format '
+ },
+ leqno: {
+ type: 'boolean',
+ description: 'Render display math in leqno style (left-justified tags).'
+ },
+ fleqn: {
+ type: 'boolean',
+ description: 'Render display math flush left.'
+ },
+ throwOnError: {
+ type: 'boolean',
+ default: !0,
+ cli: '-t, --no-throw-on-error',
+ cliDescription:
+ 'Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.'
+ },
+ errorColor: {
+ type: 'string',
+ default: '#cc0000',
+ cli: '-c, --error-color ',
+ cliDescription:
+ "A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",
+ cliProcessor: o((t) => '#' + t, 'cliProcessor')
+ },
+ macros: {
+ type: 'object',
+ cli: '-m, --macro ',
+ cliDescription:
+ "Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",
+ cliDefault: [],
+ cliProcessor: o((t, e) => (e.push(t), e), 'cliProcessor')
+ },
+ minRuleThickness: {
+ type: 'number',
+ description:
+ 'Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.',
+ processor: o((t) => Math.max(0, t), 'processor'),
+ cli: '--min-rule-thickness ',
+ cliProcessor: parseFloat
+ },
+ colorIsTextColor: {
+ type: 'boolean',
+ description:
+ "Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",
+ cli: '-b, --color-is-text-color'
+ },
+ strict: {
+ type: [{ enum: ['warn', 'ignore', 'error'] }, 'boolean', 'function'],
+ description:
+ 'Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.',
+ cli: '-S, --strict',
+ cliDefault: !1
+ },
+ trust: {
+ type: ['boolean', 'function'],
+ description: 'Trust the input, enabling all HTML features such as \\url.',
+ cli: '-T, --trust'
+ },
+ maxSize: {
+ type: 'number',
+ default: 1 / 0,
+ description:
+ 'If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large',
+ processor: o((t) => Math.max(0, t), 'processor'),
+ cli: '-s, --max-size ',
+ cliProcessor: parseInt
+ },
+ maxExpand: {
+ type: 'number',
+ default: 1e3,
+ description:
+ 'Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.',
+ processor: o((t) => Math.max(0, t), 'processor'),
+ cli: '-e, --max-expand ',
+ cliProcessor: o((t) => (t === 'Infinity' ? 1 / 0 : parseInt(t)), 'cliProcessor')
+ },
+ globalGroup: { type: 'boolean', cli: !1 }
+ });
+ o($2e, 'getDefaultValue');
+ (ry = class {
+ static {
+ o(this, 'Settings');
+ }
+ constructor(e) {
+ (this.displayMode = void 0),
+ (this.output = void 0),
+ (this.leqno = void 0),
+ (this.fleqn = void 0),
+ (this.throwOnError = void 0),
+ (this.errorColor = void 0),
+ (this.macros = void 0),
+ (this.minRuleThickness = void 0),
+ (this.colorIsTextColor = void 0),
+ (this.strict = void 0),
+ (this.trust = void 0),
+ (this.maxSize = void 0),
+ (this.maxExpand = void 0),
+ (this.globalGroup = void 0),
+ (e = e || {});
+ for (var r in u4)
+ if (u4.hasOwnProperty(r)) {
+ var n = u4[r];
+ this[r] = e[r] !== void 0 ? (n.processor ? n.processor(e[r]) : e[r]) : $2e(n);
+ }
+ }
+ reportNonstrict(e, r, n) {
+ var i = this.strict;
+ if ((typeof i == 'function' && (i = i(e, r, n)), !(!i || i === 'ignore'))) {
+ if (i === !0 || i === 'error')
+ throw new nt(
+ "LaTeX-incompatible input and strict mode is set to 'error': " + (r + ' [' + e + ']'),
+ n
+ );
+ i === 'warn'
+ ? typeof console < 'u' &&
+ console.warn(
+ "LaTeX-incompatible input and strict mode is set to 'warn': " + (r + ' [' + e + ']')
+ )
+ : typeof console < 'u' &&
+ console.warn(
+ 'LaTeX-incompatible input and strict mode is set to ' +
+ ("unrecognized '" + i + "': " + r + ' [' + e + ']')
+ );
+ }
+ }
+ useStrictBehavior(e, r, n) {
+ var i = this.strict;
+ if (typeof i == 'function')
+ try {
+ i = i(e, r, n);
+ } catch {
+ i = 'error';
+ }
+ return !i || i === 'ignore'
+ ? !1
+ : i === !0 || i === 'error'
+ ? !0
+ : i === 'warn'
+ ? (typeof console < 'u' &&
+ console.warn(
+ "LaTeX-incompatible input and strict mode is set to 'warn': " + (r + ' [' + e + ']')
+ ),
+ !1)
+ : (typeof console < 'u' &&
+ console.warn(
+ 'LaTeX-incompatible input and strict mode is set to ' +
+ ("unrecognized '" + i + "': " + r + ' [' + e + ']')
+ ),
+ !1);
+ }
+ isTrusted(e) {
+ if (e.url && !e.protocol) {
+ var r = Vt.protocolFromUrl(e.url);
+ if (r == null) return !1;
+ e.protocol = r;
+ }
+ var n = typeof this.trust == 'function' ? this.trust(e) : this.trust;
+ return !!n;
+ }
+ }),
+ (Kl = class {
+ static {
+ o(this, 'Style');
+ }
+ constructor(e, r, n) {
+ (this.id = void 0),
+ (this.size = void 0),
+ (this.cramped = void 0),
+ (this.id = e),
+ (this.size = r),
+ (this.cramped = n);
+ }
+ sup() {
+ return Ql[V2e[this.id]];
+ }
+ sub() {
+ return Ql[U2e[this.id]];
+ }
+ fracNum() {
+ return Ql[H2e[this.id]];
+ }
+ fracDen() {
+ return Ql[Y2e[this.id]];
+ }
+ cramp() {
+ return Ql[W2e[this.id]];
+ }
+ text() {
+ return Ql[q2e[this.id]];
+ }
+ isTight() {
+ return this.size >= 2;
+ }
+ }),
+ (N7 = 0),
+ (f4 = 1),
+ (gp = 2),
+ (iu = 3),
+ (ny = 4),
+ (So = 5),
+ (yp = 6),
+ (qa = 7),
+ (Ql = [
+ new Kl(N7, 0, !1),
+ new Kl(f4, 0, !0),
+ new Kl(gp, 1, !1),
+ new Kl(iu, 1, !0),
+ new Kl(ny, 2, !1),
+ new Kl(So, 2, !0),
+ new Kl(yp, 3, !1),
+ new Kl(qa, 3, !0)
+ ]),
+ (V2e = [ny, So, ny, So, yp, qa, yp, qa]),
+ (U2e = [So, So, So, So, qa, qa, qa, qa]),
+ (H2e = [gp, iu, ny, So, yp, qa, yp, qa]),
+ (Y2e = [iu, iu, So, So, qa, qa, qa, qa]),
+ (W2e = [f4, f4, iu, iu, So, So, qa, qa]),
+ (q2e = [N7, f4, gp, iu, gp, iu, gp, iu]),
+ (Ht = {
+ DISPLAY: Ql[N7],
+ TEXT: Ql[gp],
+ SCRIPT: Ql[ny],
+ SCRIPTSCRIPT: Ql[yp]
+ }),
+ (b7 = [
+ {
+ name: 'latin',
+ blocks: [
+ [256, 591],
+ [768, 879]
+ ]
+ },
+ { name: 'cyrillic', blocks: [[1024, 1279]] },
+ { name: 'armenian', blocks: [[1328, 1423]] },
+ { name: 'brahmic', blocks: [[2304, 4255]] },
+ { name: 'georgian', blocks: [[4256, 4351]] },
+ {
+ name: 'cjk',
+ blocks: [
+ [12288, 12543],
+ [19968, 40879],
+ [65280, 65376]
+ ]
+ },
+ { name: 'hangul', blocks: [[44032, 55215]] }
+ ]);
+ o(X2e, 'scriptFromCodepoint');
+ h4 = [];
+ b7.forEach((t) => t.blocks.forEach((e) => h4.push(...e)));
+ o(LG, 'supportedCodepoint');
+ (mp = 80),
+ (j2e = o(function (e, r) {
+ return (
+ 'M95,' +
+ (622 + e + r) +
+ `
+c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
+c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
+c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
+s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
+c69,-144,104.5,-217.7,106.5,-221
+l` +
+ e / 2.075 +
+ ' -' +
+ e +
+ `
+c5.3,-9.3,12,-14,20,-14
+H400000v` +
+ (40 + e) +
+ `H845.2724
+s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
+c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
+M` +
+ (834 + e) +
+ ' ' +
+ r +
+ 'h400000v' +
+ (40 + e) +
+ 'h-400000z'
+ );
+ }, 'sqrtMain')),
+ (K2e = o(function (e, r) {
+ return (
+ 'M263,' +
+ (601 + e + r) +
+ `c0.7,0,18,39.7,52,119
+c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
+c340,-704.7,510.7,-1060.3,512,-1067
+l` +
+ e / 2.084 +
+ ' -' +
+ e +
+ `
+c4.7,-7.3,11,-11,19,-11
+H40000v` +
+ (40 + e) +
+ `H1012.3
+s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
+c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
+s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
+c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
+M` +
+ (1001 + e) +
+ ' ' +
+ r +
+ 'h400000v' +
+ (40 + e) +
+ 'h-400000z'
+ );
+ }, 'sqrtSize1')),
+ (Q2e = o(function (e, r) {
+ return (
+ 'M983 ' +
+ (10 + e + r) +
+ `
+l` +
+ e / 3.13 +
+ ' -' +
+ e +
+ `
+c4,-6.7,10,-10,18,-10 H400000v` +
+ (40 + e) +
+ `
+H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
+s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
+c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
+c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
+c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
+c53.7,-170.3,84.5,-266.8,92.5,-289.5z
+M` +
+ (1001 + e) +
+ ' ' +
+ r +
+ 'h400000v' +
+ (40 + e) +
+ 'h-400000z'
+ );
+ }, 'sqrtSize2')),
+ (Z2e = o(function (e, r) {
+ return (
+ 'M424,' +
+ (2398 + e + r) +
+ `
+c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
+c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
+s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
+s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
+l` +
+ e / 4.223 +
+ ' -' +
+ e +
+ `c4,-6.7,10,-10,18,-10 H400000
+v` +
+ (40 + e) +
+ `H1014.6
+s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
+c-2,6,-10,9,-24,9
+c-8,0,-12,-0.7,-12,-2z M` +
+ (1001 + e) +
+ ' ' +
+ r +
+ `
+h400000v` +
+ (40 + e) +
+ 'h-400000z'
+ );
+ }, 'sqrtSize3')),
+ (J2e = o(function (e, r) {
+ return (
+ 'M473,' +
+ (2713 + e + r) +
+ `
+c339.3,-1799.3,509.3,-2700,510,-2702 l` +
+ e / 5.298 +
+ ' -' +
+ e +
+ `
+c3.3,-7.3,9.3,-11,18,-11 H400000v` +
+ (40 + e) +
+ `H1017.7
+s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
+c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
+c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
+s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
+606zM` +
+ (1001 + e) +
+ ' ' +
+ r +
+ 'h400000v' +
+ (40 + e) +
+ 'H1017.7z'
+ );
+ }, 'sqrtSize4')),
+ (exe = o(function (e) {
+ var r = e / 2;
+ return 'M400000 ' + e + ' H0 L' + r + ' 0 l65 45 L145 ' + (e - 80) + ' H400000z';
+ }, 'phasePath')),
+ (txe = o(function (e, r, n) {
+ var i = n - 54 - r - e;
+ return (
+ 'M702 ' +
+ (e + r) +
+ 'H400000' +
+ (40 + e) +
+ `
+H742v` +
+ i +
+ `l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
+h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
+c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
+219 661 l218 661zM702 ` +
+ r +
+ 'H400000v' +
+ (40 + e) +
+ 'H742z'
+ );
+ }, 'sqrtTall')),
+ (rxe = o(function (e, r, n) {
+ r = 1e3 * r;
+ var i = '';
+ switch (e) {
+ case 'sqrtMain':
+ i = j2e(r, mp);
+ break;
+ case 'sqrtSize1':
+ i = K2e(r, mp);
+ break;
+ case 'sqrtSize2':
+ i = Q2e(r, mp);
+ break;
+ case 'sqrtSize3':
+ i = Z2e(r, mp);
+ break;
+ case 'sqrtSize4':
+ i = J2e(r, mp);
+ break;
+ case 'sqrtTall':
+ i = txe(r, mp, n);
+ }
+ return i;
+ }, 'sqrtPath')),
+ (nxe = o(function (e, r) {
+ switch (e) {
+ case '\u239C':
+ return 'M291 0 H417 V' + r + ' H291z M291 0 H417 V' + r + ' H291z';
+ case '\u2223':
+ return 'M145 0 H188 V' + r + ' H145z M145 0 H188 V' + r + ' H145z';
+ case '\u2225':
+ return (
+ 'M145 0 H188 V' +
+ r +
+ ' H145z M145 0 H188 V' +
+ r +
+ ' H145z' +
+ ('M367 0 H410 V' + r + ' H367z M367 0 H410 V' + r + ' H367z')
+ );
+ case '\u239F':
+ return 'M457 0 H583 V' + r + ' H457z M457 0 H583 V' + r + ' H457z';
+ case '\u23A2':
+ return 'M319 0 H403 V' + r + ' H319z M319 0 H403 V' + r + ' H319z';
+ case '\u23A5':
+ return 'M263 0 H347 V' + r + ' H263z M263 0 H347 V' + r + ' H263z';
+ case '\u23AA':
+ return 'M384 0 H504 V' + r + ' H384z M384 0 H504 V' + r + ' H384z';
+ case '\u23D0':
+ return 'M312 0 H355 V' + r + ' H312z M312 0 H355 V' + r + ' H312z';
+ case '\u2016':
+ return (
+ 'M257 0 H300 V' +
+ r +
+ ' H257z M257 0 H300 V' +
+ r +
+ ' H257z' +
+ ('M478 0 H521 V' + r + ' H478z M478 0 H521 V' + r + ' H478z')
+ );
+ default:
+ return '';
+ }
+ }, 'innerPath')),
+ (Qz = {
+ doubleleftarrow: `M262 157
+l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
+ 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
+ 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
+c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
+ 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
+-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
+-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
+m8 0v40h399730v-40zm0 194v40h399730v-40z`,
+ doublerightarrow: `M399738 392l
+-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
+ 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
+-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
+-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
+-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
+c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
+-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,
+ leftarrow: `M400000 241H110l3-3c68.7-52.7 113.7-120
+ 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
+-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
+c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
+ 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
+ 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
+ l-3-3h399890zM100 241v40h399900v-40z`,
+ leftbrace: `M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
+-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
+ 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,
+ leftbraceunder: `M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
+ 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
+ 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
+-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,
+ leftgroup: `M400000 80
+H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
+ 435 0h399565z`,
+ leftgroupunder: `M400000 262
+H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
+ 435 219h399565z`,
+ leftharpoon: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
+-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
+-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
+-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,
+ leftharpoonplus: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
+ 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
+-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
+-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
+m0 0v40h400000v-40z`,
+ leftharpoondown: `M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
+ 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
+ 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
+-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,
+ leftharpoondownplus: `M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
+ 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
+-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
+v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,
+ lefthook: `M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
+-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
+-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
+ 71.5 23h399859zM103 281v-40h399897v40z`,
+ leftlinesegment: `M40 281 V428 H0 V94 H40 V241 H400000 v40z
+M40 281 V428 H0 V94 H40 V241 H400000 v40z`,
+ leftmapsto: `M40 281 V448H0V74H40V241H400000v40z
+M40 281 V448H0V74H40V241H400000v40z`,
+ leftToFrom: `M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
+-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
+c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
+ 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,
+ longequal: `M0 50 h400000 v40H0z m0 194h40000v40H0z
+M0 50 h400000 v40H0z m0 194h40000v40H0z`,
+ midbrace: `M200428 334
+c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
+-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
+ 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
+ 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,
+ midbraceunder: `M199572 214
+c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
+ 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
+ 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
+-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,
+ oiintSize1: `M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
+-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
+m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
+60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,
+ oiintSize2: `M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
+-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
+m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
+c0 110 84 276 504 276s502.4-166 502.4-276z`,
+ oiiintSize1: `M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
+-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
+m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
+85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,
+ oiiintSize2: `M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
+-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
+m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
+c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,
+ rightarrow: `M0 241v40h399891c-47.3 35.3-84 78-110 128
+-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
+ 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
+ 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
+-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
+-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
+ 151.7 139 205zm0 0v40h399900v-40z`,
+ rightbrace: `M400000 542l
+-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
+s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
+c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,
+ rightbraceunder: `M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
+ 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
+-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,
+ rightgroup: `M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
+ 3-1 3-3v-38c-76-158-257-219-435-219H0z`,
+ rightgroupunder: `M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
+ 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,
+ rightharpoon: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
+-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
+-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
+ 69.2 92 94.5zm0 0v40h399900v-40z`,
+ rightharpoonplus: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
+-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
+ 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
+m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,
+ rightharpoondown: `M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
+ 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
+-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
+-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,
+ rightharpoondownplus: `M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
+ 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
+ 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
+-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
+m0-194v40h400000v-40zm0 0v40h400000v-40z`,
+ righthook: `M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
+ 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
+-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
+ 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,
+ rightlinesegment: `M399960 241 V94 h40 V428 h-40 V281 H0 v-40z
+M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,
+ rightToFrom: `M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
+ 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
+-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
+-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,
+ twoheadleftarrow: `M0 167c68 40
+ 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
+-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
+-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
+-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
+ 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,
+ twoheadrightarrow: `M400000 167
+c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
+ 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
+ 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
+-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
+ 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,
+ tilde1: `M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
+-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
+ 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
+ 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
+-68.267.847-113-73.952-191-73.952z`,
+ tilde2: `M344 55.266c-142 0-300.638 81.316-311.5 86.418
+-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
+ 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
+c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
+ 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,
+ tilde3: `M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
+-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
+ 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
+ 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
+ -338 0-409-156.573-744-156.573z`,
+ tilde4: `M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
+-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
+ 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
+ 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
+ -175.236-744-175.236z`,
+ vec: `M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
+3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
+10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
+-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
+-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
+H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
+c-16-25.333-24-45-24-59z`,
+ widehat1: `M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
+c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,
+ widehat2: `M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
+-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
+ widehat3: `M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
+-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
+ widehat4: `M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
+-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
+ widecheck1: `M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
+-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,
+ widecheck2: `M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
+-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
+ widecheck3: `M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
+-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
+ widecheck4: `M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
+-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
+ baraboveleftarrow: `M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
+c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
+c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
+s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
+121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
+s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
+c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
+M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,
+ rightarrowabovebar: `M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
+-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
+13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
+-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
+-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
+-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
+151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,
+ baraboveshortleftharpoon: `M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
+c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
+c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
+c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
+c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
+M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,
+ rightharpoonaboveshortbar: `M0,241 l0,40c399126,0,399993,0,399993,0
+c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
+-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
+c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
+M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,
+ shortbaraboveleftharpoon: `M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
+c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
+1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
+-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
+M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,
+ shortrightharpoonabovebar: `M53,241l0,40c398570,0,399437,0,399437,0
+c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
+-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
+c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
+M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`
+ }),
+ (ixe = o(function (e, r) {
+ switch (e) {
+ case 'lbrack':
+ return (
+ 'M403 1759 V84 H666 V0 H319 V1759 v' +
+ r +
+ ` v1759 h347 v-84
+H403z M403 1759 V0 H319 V1759 v` +
+ r +
+ ' v1759 h84z'
+ );
+ case 'rbrack':
+ return (
+ 'M347 1759 V0 H0 V84 H263 V1759 v' +
+ r +
+ ` v1759 H0 v84 H347z
+M347 1759 V0 H263 V1759 v` +
+ r +
+ ' v1759 h84z'
+ );
+ case 'vert':
+ return (
+ 'M145 15 v585 v' +
+ r +
+ ` v585 c2.667,10,9.667,15,21,15
+c10,0,16.667,-5,20,-15 v-585 v` +
+ -r +
+ ` v-585 c-2.667,-10,-9.667,-15,-21,-15
+c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` +
+ r +
+ ' v585 h43z'
+ );
+ case 'doublevert':
+ return (
+ 'M145 15 v585 v' +
+ r +
+ ` v585 c2.667,10,9.667,15,21,15
+c10,0,16.667,-5,20,-15 v-585 v` +
+ -r +
+ ` v-585 c-2.667,-10,-9.667,-15,-21,-15
+c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` +
+ r +
+ ` v585 h43z
+M367 15 v585 v` +
+ r +
+ ` v585 c2.667,10,9.667,15,21,15
+c10,0,16.667,-5,20,-15 v-585 v` +
+ -r +
+ ` v-585 c-2.667,-10,-9.667,-15,-21,-15
+c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v` +
+ r +
+ ' v585 h43z'
+ );
+ case 'lfloor':
+ return (
+ 'M319 602 V0 H403 V602 v' +
+ r +
+ ` v1715 h263 v84 H319z
+MM319 602 V0 H403 V602 v` +
+ r +
+ ' v1715 H319z'
+ );
+ case 'rfloor':
+ return (
+ 'M319 602 V0 H403 V602 v' +
+ r +
+ ` v1799 H0 v-84 H319z
+MM319 602 V0 H403 V602 v` +
+ r +
+ ' v1715 H319z'
+ );
+ case 'lceil':
+ return (
+ 'M403 1759 V84 H666 V0 H319 V1759 v' +
+ r +
+ ` v602 h84z
+M403 1759 V0 H319 V1759 v` +
+ r +
+ ' v602 h84z'
+ );
+ case 'rceil':
+ return (
+ 'M347 1759 V0 H0 V84 H263 V1759 v' +
+ r +
+ ` v602 h84z
+M347 1759 V0 h-84 V1759 v` +
+ r +
+ ' v602 h84z'
+ );
+ case 'lparen':
+ return (
+ `M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
+c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
+-36,557 l0,` +
+ (r + 84) +
+ `c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
+949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
+c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
+-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
+l0,-` +
+ (r + 92) +
+ `c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
+-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`
+ );
+ case 'rparen':
+ return (
+ `M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
+63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
+c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,` +
+ (r + 9) +
+ `
+c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
+c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
+c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
+c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
+l0,-` +
+ (r + 144) +
+ `c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
+-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`
+ );
+ default:
+ throw new Error('Unknown stretchy delimiter.');
+ }
+ }, 'tallDelim')),
+ (Xf = class {
+ static {
+ o(this, 'DocumentFragment');
+ }
+ constructor(e) {
+ (this.children = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ (this.children = e),
+ (this.classes = []),
+ (this.height = 0),
+ (this.depth = 0),
+ (this.maxFontSize = 0),
+ (this.style = {});
+ }
+ hasClass(e) {
+ return Vt.contains(this.classes, e);
+ }
+ toNode() {
+ for (var e = document.createDocumentFragment(), r = 0; r < this.children.length; r++)
+ e.appendChild(this.children[r].toNode());
+ return e;
+ }
+ toMarkup() {
+ for (var e = '', r = 0; r < this.children.length; r++) e += this.children[r].toMarkup();
+ return e;
+ }
+ toText() {
+ var e = o((r) => r.toText(), 'toText');
+ return this.children.map(e).join('');
+ }
+ }),
+ (Zl = {
+ 'AMS-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.68889, 0, 0, 0.72222],
+ 66: [0, 0.68889, 0, 0, 0.66667],
+ 67: [0, 0.68889, 0, 0, 0.72222],
+ 68: [0, 0.68889, 0, 0, 0.72222],
+ 69: [0, 0.68889, 0, 0, 0.66667],
+ 70: [0, 0.68889, 0, 0, 0.61111],
+ 71: [0, 0.68889, 0, 0, 0.77778],
+ 72: [0, 0.68889, 0, 0, 0.77778],
+ 73: [0, 0.68889, 0, 0, 0.38889],
+ 74: [0.16667, 0.68889, 0, 0, 0.5],
+ 75: [0, 0.68889, 0, 0, 0.77778],
+ 76: [0, 0.68889, 0, 0, 0.66667],
+ 77: [0, 0.68889, 0, 0, 0.94445],
+ 78: [0, 0.68889, 0, 0, 0.72222],
+ 79: [0.16667, 0.68889, 0, 0, 0.77778],
+ 80: [0, 0.68889, 0, 0, 0.61111],
+ 81: [0.16667, 0.68889, 0, 0, 0.77778],
+ 82: [0, 0.68889, 0, 0, 0.72222],
+ 83: [0, 0.68889, 0, 0, 0.55556],
+ 84: [0, 0.68889, 0, 0, 0.66667],
+ 85: [0, 0.68889, 0, 0, 0.72222],
+ 86: [0, 0.68889, 0, 0, 0.72222],
+ 87: [0, 0.68889, 0, 0, 1],
+ 88: [0, 0.68889, 0, 0, 0.72222],
+ 89: [0, 0.68889, 0, 0, 0.72222],
+ 90: [0, 0.68889, 0, 0, 0.66667],
+ 107: [0, 0.68889, 0, 0, 0.55556],
+ 160: [0, 0, 0, 0, 0.25],
+ 165: [0, 0.675, 0.025, 0, 0.75],
+ 174: [0.15559, 0.69224, 0, 0, 0.94666],
+ 240: [0, 0.68889, 0, 0, 0.55556],
+ 295: [0, 0.68889, 0, 0, 0.54028],
+ 710: [0, 0.825, 0, 0, 2.33334],
+ 732: [0, 0.9, 0, 0, 2.33334],
+ 770: [0, 0.825, 0, 0, 2.33334],
+ 771: [0, 0.9, 0, 0, 2.33334],
+ 989: [0.08167, 0.58167, 0, 0, 0.77778],
+ 1008: [0, 0.43056, 0.04028, 0, 0.66667],
+ 8245: [0, 0.54986, 0, 0, 0.275],
+ 8463: [0, 0.68889, 0, 0, 0.54028],
+ 8487: [0, 0.68889, 0, 0, 0.72222],
+ 8498: [0, 0.68889, 0, 0, 0.55556],
+ 8502: [0, 0.68889, 0, 0, 0.66667],
+ 8503: [0, 0.68889, 0, 0, 0.44445],
+ 8504: [0, 0.68889, 0, 0, 0.66667],
+ 8513: [0, 0.68889, 0, 0, 0.63889],
+ 8592: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8594: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8602: [-0.13313, 0.36687, 0, 0, 1],
+ 8603: [-0.13313, 0.36687, 0, 0, 1],
+ 8606: [0.01354, 0.52239, 0, 0, 1],
+ 8608: [0.01354, 0.52239, 0, 0, 1],
+ 8610: [0.01354, 0.52239, 0, 0, 1.11111],
+ 8611: [0.01354, 0.52239, 0, 0, 1.11111],
+ 8619: [0, 0.54986, 0, 0, 1],
+ 8620: [0, 0.54986, 0, 0, 1],
+ 8621: [-0.13313, 0.37788, 0, 0, 1.38889],
+ 8622: [-0.13313, 0.36687, 0, 0, 1],
+ 8624: [0, 0.69224, 0, 0, 0.5],
+ 8625: [0, 0.69224, 0, 0, 0.5],
+ 8630: [0, 0.43056, 0, 0, 1],
+ 8631: [0, 0.43056, 0, 0, 1],
+ 8634: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8635: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8638: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8639: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8642: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8643: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8644: [0.1808, 0.675, 0, 0, 1],
+ 8646: [0.1808, 0.675, 0, 0, 1],
+ 8647: [0.1808, 0.675, 0, 0, 1],
+ 8648: [0.19444, 0.69224, 0, 0, 0.83334],
+ 8649: [0.1808, 0.675, 0, 0, 1],
+ 8650: [0.19444, 0.69224, 0, 0, 0.83334],
+ 8651: [0.01354, 0.52239, 0, 0, 1],
+ 8652: [0.01354, 0.52239, 0, 0, 1],
+ 8653: [-0.13313, 0.36687, 0, 0, 1],
+ 8654: [-0.13313, 0.36687, 0, 0, 1],
+ 8655: [-0.13313, 0.36687, 0, 0, 1],
+ 8666: [0.13667, 0.63667, 0, 0, 1],
+ 8667: [0.13667, 0.63667, 0, 0, 1],
+ 8669: [-0.13313, 0.37788, 0, 0, 1],
+ 8672: [-0.064, 0.437, 0, 0, 1.334],
+ 8674: [-0.064, 0.437, 0, 0, 1.334],
+ 8705: [0, 0.825, 0, 0, 0.5],
+ 8708: [0, 0.68889, 0, 0, 0.55556],
+ 8709: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8717: [0, 0.43056, 0, 0, 0.42917],
+ 8722: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8724: [0.08198, 0.69224, 0, 0, 0.77778],
+ 8726: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8733: [0, 0.69224, 0, 0, 0.77778],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8737: [0, 0.69224, 0, 0, 0.72222],
+ 8738: [0.03517, 0.52239, 0, 0, 0.72222],
+ 8739: [0.08167, 0.58167, 0, 0, 0.22222],
+ 8740: [0.25142, 0.74111, 0, 0, 0.27778],
+ 8741: [0.08167, 0.58167, 0, 0, 0.38889],
+ 8742: [0.25142, 0.74111, 0, 0, 0.5],
+ 8756: [0, 0.69224, 0, 0, 0.66667],
+ 8757: [0, 0.69224, 0, 0, 0.66667],
+ 8764: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8765: [-0.13313, 0.37788, 0, 0, 0.77778],
+ 8769: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8770: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8774: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8776: [-0.01688, 0.48312, 0, 0, 0.77778],
+ 8778: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8782: [0.06062, 0.54986, 0, 0, 0.77778],
+ 8783: [0.06062, 0.54986, 0, 0, 0.77778],
+ 8785: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8786: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8787: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8790: [0, 0.69224, 0, 0, 0.77778],
+ 8791: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8796: [0.08198, 0.91667, 0, 0, 0.77778],
+ 8806: [0.25583, 0.75583, 0, 0, 0.77778],
+ 8807: [0.25583, 0.75583, 0, 0, 0.77778],
+ 8808: [0.25142, 0.75726, 0, 0, 0.77778],
+ 8809: [0.25142, 0.75726, 0, 0, 0.77778],
+ 8812: [0.25583, 0.75583, 0, 0, 0.5],
+ 8814: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8815: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8816: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8817: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8818: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8819: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8822: [0.1808, 0.675, 0, 0, 0.77778],
+ 8823: [0.1808, 0.675, 0, 0, 0.77778],
+ 8828: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8829: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8830: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8831: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8832: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8833: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8840: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8841: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8842: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8843: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8847: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8848: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8858: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8859: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8861: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8862: [0, 0.675, 0, 0, 0.77778],
+ 8863: [0, 0.675, 0, 0, 0.77778],
+ 8864: [0, 0.675, 0, 0, 0.77778],
+ 8865: [0, 0.675, 0, 0, 0.77778],
+ 8872: [0, 0.69224, 0, 0, 0.61111],
+ 8873: [0, 0.69224, 0, 0, 0.72222],
+ 8874: [0, 0.69224, 0, 0, 0.88889],
+ 8876: [0, 0.68889, 0, 0, 0.61111],
+ 8877: [0, 0.68889, 0, 0, 0.61111],
+ 8878: [0, 0.68889, 0, 0, 0.72222],
+ 8879: [0, 0.68889, 0, 0, 0.72222],
+ 8882: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8883: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8884: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8885: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8888: [0, 0.54986, 0, 0, 1.11111],
+ 8890: [0.19444, 0.43056, 0, 0, 0.55556],
+ 8891: [0.19444, 0.69224, 0, 0, 0.61111],
+ 8892: [0.19444, 0.69224, 0, 0, 0.61111],
+ 8901: [0, 0.54986, 0, 0, 0.27778],
+ 8903: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8905: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8906: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8907: [0, 0.69224, 0, 0, 0.77778],
+ 8908: [0, 0.69224, 0, 0, 0.77778],
+ 8909: [-0.03598, 0.46402, 0, 0, 0.77778],
+ 8910: [0, 0.54986, 0, 0, 0.76042],
+ 8911: [0, 0.54986, 0, 0, 0.76042],
+ 8912: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8913: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8914: [0, 0.54986, 0, 0, 0.66667],
+ 8915: [0, 0.54986, 0, 0, 0.66667],
+ 8916: [0, 0.69224, 0, 0, 0.66667],
+ 8918: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8919: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8920: [0.03517, 0.54986, 0, 0, 1.33334],
+ 8921: [0.03517, 0.54986, 0, 0, 1.33334],
+ 8922: [0.38569, 0.88569, 0, 0, 0.77778],
+ 8923: [0.38569, 0.88569, 0, 0, 0.77778],
+ 8926: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8927: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8928: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8929: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8934: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8935: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8936: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8937: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8938: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8939: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8940: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8941: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8994: [0.19444, 0.69224, 0, 0, 0.77778],
+ 8995: [0.19444, 0.69224, 0, 0, 0.77778],
+ 9416: [0.15559, 0.69224, 0, 0, 0.90222],
+ 9484: [0, 0.69224, 0, 0, 0.5],
+ 9488: [0, 0.69224, 0, 0, 0.5],
+ 9492: [0, 0.37788, 0, 0, 0.5],
+ 9496: [0, 0.37788, 0, 0, 0.5],
+ 9585: [0.19444, 0.68889, 0, 0, 0.88889],
+ 9586: [0.19444, 0.74111, 0, 0, 0.88889],
+ 9632: [0, 0.675, 0, 0, 0.77778],
+ 9633: [0, 0.675, 0, 0, 0.77778],
+ 9650: [0, 0.54986, 0, 0, 0.72222],
+ 9651: [0, 0.54986, 0, 0, 0.72222],
+ 9654: [0.03517, 0.54986, 0, 0, 0.77778],
+ 9660: [0, 0.54986, 0, 0, 0.72222],
+ 9661: [0, 0.54986, 0, 0, 0.72222],
+ 9664: [0.03517, 0.54986, 0, 0, 0.77778],
+ 9674: [0.11111, 0.69224, 0, 0, 0.66667],
+ 9733: [0.19444, 0.69224, 0, 0, 0.94445],
+ 10003: [0, 0.69224, 0, 0, 0.83334],
+ 10016: [0, 0.69224, 0, 0, 0.83334],
+ 10731: [0.11111, 0.69224, 0, 0, 0.66667],
+ 10846: [0.19444, 0.75583, 0, 0, 0.61111],
+ 10877: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10878: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10885: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10886: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10887: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10888: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10889: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10890: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10891: [0.48256, 0.98256, 0, 0, 0.77778],
+ 10892: [0.48256, 0.98256, 0, 0, 0.77778],
+ 10901: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10902: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10933: [0.25142, 0.75726, 0, 0, 0.77778],
+ 10934: [0.25142, 0.75726, 0, 0, 0.77778],
+ 10935: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10936: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10937: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10938: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10949: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10950: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10955: [0.28481, 0.79383, 0, 0, 0.77778],
+ 10956: [0.28481, 0.79383, 0, 0, 0.77778],
+ 57350: [0.08167, 0.58167, 0, 0, 0.22222],
+ 57351: [0.08167, 0.58167, 0, 0, 0.38889],
+ 57352: [0.08167, 0.58167, 0, 0, 0.77778],
+ 57353: [0, 0.43056, 0.04028, 0, 0.66667],
+ 57356: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57357: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57358: [0.41951, 0.91951, 0, 0, 0.77778],
+ 57359: [0.30274, 0.79383, 0, 0, 0.77778],
+ 57360: [0.30274, 0.79383, 0, 0, 0.77778],
+ 57361: [0.41951, 0.91951, 0, 0, 0.77778],
+ 57366: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57367: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57368: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57369: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57370: [0.13597, 0.63597, 0, 0, 0.77778],
+ 57371: [0.13597, 0.63597, 0, 0, 0.77778]
+ },
+ 'Caligraphic-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.68333, 0, 0.19445, 0.79847],
+ 66: [0, 0.68333, 0.03041, 0.13889, 0.65681],
+ 67: [0, 0.68333, 0.05834, 0.13889, 0.52653],
+ 68: [0, 0.68333, 0.02778, 0.08334, 0.77139],
+ 69: [0, 0.68333, 0.08944, 0.11111, 0.52778],
+ 70: [0, 0.68333, 0.09931, 0.11111, 0.71875],
+ 71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],
+ 72: [0, 0.68333, 0.00965, 0.11111, 0.84452],
+ 73: [0, 0.68333, 0.07382, 0, 0.54452],
+ 74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],
+ 75: [0, 0.68333, 0.01445, 0.05556, 0.76195],
+ 76: [0, 0.68333, 0, 0.13889, 0.68972],
+ 77: [0, 0.68333, 0, 0.13889, 1.2009],
+ 78: [0, 0.68333, 0.14736, 0.08334, 0.82049],
+ 79: [0, 0.68333, 0.02778, 0.11111, 0.79611],
+ 80: [0, 0.68333, 0.08222, 0.08334, 0.69556],
+ 81: [0.09722, 0.68333, 0, 0.11111, 0.81667],
+ 82: [0, 0.68333, 0, 0.08334, 0.8475],
+ 83: [0, 0.68333, 0.075, 0.13889, 0.60556],
+ 84: [0, 0.68333, 0.25417, 0, 0.54464],
+ 85: [0, 0.68333, 0.09931, 0.08334, 0.62583],
+ 86: [0, 0.68333, 0.08222, 0, 0.61278],
+ 87: [0, 0.68333, 0.08222, 0.08334, 0.98778],
+ 88: [0, 0.68333, 0.14643, 0.13889, 0.7133],
+ 89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],
+ 90: [0, 0.68333, 0.07944, 0.13889, 0.72473],
+ 160: [0, 0, 0, 0, 0.25]
+ },
+ 'Fraktur-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69141, 0, 0, 0.29574],
+ 34: [0, 0.69141, 0, 0, 0.21471],
+ 38: [0, 0.69141, 0, 0, 0.73786],
+ 39: [0, 0.69141, 0, 0, 0.21201],
+ 40: [0.24982, 0.74947, 0, 0, 0.38865],
+ 41: [0.24982, 0.74947, 0, 0, 0.38865],
+ 42: [0, 0.62119, 0, 0, 0.27764],
+ 43: [0.08319, 0.58283, 0, 0, 0.75623],
+ 44: [0, 0.10803, 0, 0, 0.27764],
+ 45: [0.08319, 0.58283, 0, 0, 0.75623],
+ 46: [0, 0.10803, 0, 0, 0.27764],
+ 47: [0.24982, 0.74947, 0, 0, 0.50181],
+ 48: [0, 0.47534, 0, 0, 0.50181],
+ 49: [0, 0.47534, 0, 0, 0.50181],
+ 50: [0, 0.47534, 0, 0, 0.50181],
+ 51: [0.18906, 0.47534, 0, 0, 0.50181],
+ 52: [0.18906, 0.47534, 0, 0, 0.50181],
+ 53: [0.18906, 0.47534, 0, 0, 0.50181],
+ 54: [0, 0.69141, 0, 0, 0.50181],
+ 55: [0.18906, 0.47534, 0, 0, 0.50181],
+ 56: [0, 0.69141, 0, 0, 0.50181],
+ 57: [0.18906, 0.47534, 0, 0, 0.50181],
+ 58: [0, 0.47534, 0, 0, 0.21606],
+ 59: [0.12604, 0.47534, 0, 0, 0.21606],
+ 61: [-0.13099, 0.36866, 0, 0, 0.75623],
+ 63: [0, 0.69141, 0, 0, 0.36245],
+ 65: [0, 0.69141, 0, 0, 0.7176],
+ 66: [0, 0.69141, 0, 0, 0.88397],
+ 67: [0, 0.69141, 0, 0, 0.61254],
+ 68: [0, 0.69141, 0, 0, 0.83158],
+ 69: [0, 0.69141, 0, 0, 0.66278],
+ 70: [0.12604, 0.69141, 0, 0, 0.61119],
+ 71: [0, 0.69141, 0, 0, 0.78539],
+ 72: [0.06302, 0.69141, 0, 0, 0.7203],
+ 73: [0, 0.69141, 0, 0, 0.55448],
+ 74: [0.12604, 0.69141, 0, 0, 0.55231],
+ 75: [0, 0.69141, 0, 0, 0.66845],
+ 76: [0, 0.69141, 0, 0, 0.66602],
+ 77: [0, 0.69141, 0, 0, 1.04953],
+ 78: [0, 0.69141, 0, 0, 0.83212],
+ 79: [0, 0.69141, 0, 0, 0.82699],
+ 80: [0.18906, 0.69141, 0, 0, 0.82753],
+ 81: [0.03781, 0.69141, 0, 0, 0.82699],
+ 82: [0, 0.69141, 0, 0, 0.82807],
+ 83: [0, 0.69141, 0, 0, 0.82861],
+ 84: [0, 0.69141, 0, 0, 0.66899],
+ 85: [0, 0.69141, 0, 0, 0.64576],
+ 86: [0, 0.69141, 0, 0, 0.83131],
+ 87: [0, 0.69141, 0, 0, 1.04602],
+ 88: [0, 0.69141, 0, 0, 0.71922],
+ 89: [0.18906, 0.69141, 0, 0, 0.83293],
+ 90: [0.12604, 0.69141, 0, 0, 0.60201],
+ 91: [0.24982, 0.74947, 0, 0, 0.27764],
+ 93: [0.24982, 0.74947, 0, 0, 0.27764],
+ 94: [0, 0.69141, 0, 0, 0.49965],
+ 97: [0, 0.47534, 0, 0, 0.50046],
+ 98: [0, 0.69141, 0, 0, 0.51315],
+ 99: [0, 0.47534, 0, 0, 0.38946],
+ 100: [0, 0.62119, 0, 0, 0.49857],
+ 101: [0, 0.47534, 0, 0, 0.40053],
+ 102: [0.18906, 0.69141, 0, 0, 0.32626],
+ 103: [0.18906, 0.47534, 0, 0, 0.5037],
+ 104: [0.18906, 0.69141, 0, 0, 0.52126],
+ 105: [0, 0.69141, 0, 0, 0.27899],
+ 106: [0, 0.69141, 0, 0, 0.28088],
+ 107: [0, 0.69141, 0, 0, 0.38946],
+ 108: [0, 0.69141, 0, 0, 0.27953],
+ 109: [0, 0.47534, 0, 0, 0.76676],
+ 110: [0, 0.47534, 0, 0, 0.52666],
+ 111: [0, 0.47534, 0, 0, 0.48885],
+ 112: [0.18906, 0.52396, 0, 0, 0.50046],
+ 113: [0.18906, 0.47534, 0, 0, 0.48912],
+ 114: [0, 0.47534, 0, 0, 0.38919],
+ 115: [0, 0.47534, 0, 0, 0.44266],
+ 116: [0, 0.62119, 0, 0, 0.33301],
+ 117: [0, 0.47534, 0, 0, 0.5172],
+ 118: [0, 0.52396, 0, 0, 0.5118],
+ 119: [0, 0.52396, 0, 0, 0.77351],
+ 120: [0.18906, 0.47534, 0, 0, 0.38865],
+ 121: [0.18906, 0.47534, 0, 0, 0.49884],
+ 122: [0.18906, 0.47534, 0, 0, 0.39054],
+ 160: [0, 0, 0, 0, 0.25],
+ 8216: [0, 0.69141, 0, 0, 0.21471],
+ 8217: [0, 0.69141, 0, 0, 0.21471],
+ 58112: [0, 0.62119, 0, 0, 0.49749],
+ 58113: [0, 0.62119, 0, 0, 0.4983],
+ 58114: [0.18906, 0.69141, 0, 0, 0.33328],
+ 58115: [0.18906, 0.69141, 0, 0, 0.32923],
+ 58116: [0.18906, 0.47534, 0, 0, 0.50343],
+ 58117: [0, 0.69141, 0, 0, 0.33301],
+ 58118: [0, 0.62119, 0, 0, 0.33409],
+ 58119: [0, 0.47534, 0, 0, 0.50073]
+ },
+ 'Main-Bold': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.35],
+ 34: [0, 0.69444, 0, 0, 0.60278],
+ 35: [0.19444, 0.69444, 0, 0, 0.95833],
+ 36: [0.05556, 0.75, 0, 0, 0.575],
+ 37: [0.05556, 0.75, 0, 0, 0.95833],
+ 38: [0, 0.69444, 0, 0, 0.89444],
+ 39: [0, 0.69444, 0, 0, 0.31944],
+ 40: [0.25, 0.75, 0, 0, 0.44722],
+ 41: [0.25, 0.75, 0, 0, 0.44722],
+ 42: [0, 0.75, 0, 0, 0.575],
+ 43: [0.13333, 0.63333, 0, 0, 0.89444],
+ 44: [0.19444, 0.15556, 0, 0, 0.31944],
+ 45: [0, 0.44444, 0, 0, 0.38333],
+ 46: [0, 0.15556, 0, 0, 0.31944],
+ 47: [0.25, 0.75, 0, 0, 0.575],
+ 48: [0, 0.64444, 0, 0, 0.575],
+ 49: [0, 0.64444, 0, 0, 0.575],
+ 50: [0, 0.64444, 0, 0, 0.575],
+ 51: [0, 0.64444, 0, 0, 0.575],
+ 52: [0, 0.64444, 0, 0, 0.575],
+ 53: [0, 0.64444, 0, 0, 0.575],
+ 54: [0, 0.64444, 0, 0, 0.575],
+ 55: [0, 0.64444, 0, 0, 0.575],
+ 56: [0, 0.64444, 0, 0, 0.575],
+ 57: [0, 0.64444, 0, 0, 0.575],
+ 58: [0, 0.44444, 0, 0, 0.31944],
+ 59: [0.19444, 0.44444, 0, 0, 0.31944],
+ 60: [0.08556, 0.58556, 0, 0, 0.89444],
+ 61: [-0.10889, 0.39111, 0, 0, 0.89444],
+ 62: [0.08556, 0.58556, 0, 0, 0.89444],
+ 63: [0, 0.69444, 0, 0, 0.54305],
+ 64: [0, 0.69444, 0, 0, 0.89444],
+ 65: [0, 0.68611, 0, 0, 0.86944],
+ 66: [0, 0.68611, 0, 0, 0.81805],
+ 67: [0, 0.68611, 0, 0, 0.83055],
+ 68: [0, 0.68611, 0, 0, 0.88194],
+ 69: [0, 0.68611, 0, 0, 0.75555],
+ 70: [0, 0.68611, 0, 0, 0.72361],
+ 71: [0, 0.68611, 0, 0, 0.90416],
+ 72: [0, 0.68611, 0, 0, 0.9],
+ 73: [0, 0.68611, 0, 0, 0.43611],
+ 74: [0, 0.68611, 0, 0, 0.59444],
+ 75: [0, 0.68611, 0, 0, 0.90138],
+ 76: [0, 0.68611, 0, 0, 0.69166],
+ 77: [0, 0.68611, 0, 0, 1.09166],
+ 78: [0, 0.68611, 0, 0, 0.9],
+ 79: [0, 0.68611, 0, 0, 0.86388],
+ 80: [0, 0.68611, 0, 0, 0.78611],
+ 81: [0.19444, 0.68611, 0, 0, 0.86388],
+ 82: [0, 0.68611, 0, 0, 0.8625],
+ 83: [0, 0.68611, 0, 0, 0.63889],
+ 84: [0, 0.68611, 0, 0, 0.8],
+ 85: [0, 0.68611, 0, 0, 0.88472],
+ 86: [0, 0.68611, 0.01597, 0, 0.86944],
+ 87: [0, 0.68611, 0.01597, 0, 1.18888],
+ 88: [0, 0.68611, 0, 0, 0.86944],
+ 89: [0, 0.68611, 0.02875, 0, 0.86944],
+ 90: [0, 0.68611, 0, 0, 0.70277],
+ 91: [0.25, 0.75, 0, 0, 0.31944],
+ 92: [0.25, 0.75, 0, 0, 0.575],
+ 93: [0.25, 0.75, 0, 0, 0.31944],
+ 94: [0, 0.69444, 0, 0, 0.575],
+ 95: [0.31, 0.13444, 0.03194, 0, 0.575],
+ 97: [0, 0.44444, 0, 0, 0.55902],
+ 98: [0, 0.69444, 0, 0, 0.63889],
+ 99: [0, 0.44444, 0, 0, 0.51111],
+ 100: [0, 0.69444, 0, 0, 0.63889],
+ 101: [0, 0.44444, 0, 0, 0.52708],
+ 102: [0, 0.69444, 0.10903, 0, 0.35139],
+ 103: [0.19444, 0.44444, 0.01597, 0, 0.575],
+ 104: [0, 0.69444, 0, 0, 0.63889],
+ 105: [0, 0.69444, 0, 0, 0.31944],
+ 106: [0.19444, 0.69444, 0, 0, 0.35139],
+ 107: [0, 0.69444, 0, 0, 0.60694],
+ 108: [0, 0.69444, 0, 0, 0.31944],
+ 109: [0, 0.44444, 0, 0, 0.95833],
+ 110: [0, 0.44444, 0, 0, 0.63889],
+ 111: [0, 0.44444, 0, 0, 0.575],
+ 112: [0.19444, 0.44444, 0, 0, 0.63889],
+ 113: [0.19444, 0.44444, 0, 0, 0.60694],
+ 114: [0, 0.44444, 0, 0, 0.47361],
+ 115: [0, 0.44444, 0, 0, 0.45361],
+ 116: [0, 0.63492, 0, 0, 0.44722],
+ 117: [0, 0.44444, 0, 0, 0.63889],
+ 118: [0, 0.44444, 0.01597, 0, 0.60694],
+ 119: [0, 0.44444, 0.01597, 0, 0.83055],
+ 120: [0, 0.44444, 0, 0, 0.60694],
+ 121: [0.19444, 0.44444, 0.01597, 0, 0.60694],
+ 122: [0, 0.44444, 0, 0, 0.51111],
+ 123: [0.25, 0.75, 0, 0, 0.575],
+ 124: [0.25, 0.75, 0, 0, 0.31944],
+ 125: [0.25, 0.75, 0, 0, 0.575],
+ 126: [0.35, 0.34444, 0, 0, 0.575],
+ 160: [0, 0, 0, 0, 0.25],
+ 163: [0, 0.69444, 0, 0, 0.86853],
+ 168: [0, 0.69444, 0, 0, 0.575],
+ 172: [0, 0.44444, 0, 0, 0.76666],
+ 176: [0, 0.69444, 0, 0, 0.86944],
+ 177: [0.13333, 0.63333, 0, 0, 0.89444],
+ 184: [0.17014, 0, 0, 0, 0.51111],
+ 198: [0, 0.68611, 0, 0, 1.04166],
+ 215: [0.13333, 0.63333, 0, 0, 0.89444],
+ 216: [0.04861, 0.73472, 0, 0, 0.89444],
+ 223: [0, 0.69444, 0, 0, 0.59722],
+ 230: [0, 0.44444, 0, 0, 0.83055],
+ 247: [0.13333, 0.63333, 0, 0, 0.89444],
+ 248: [0.09722, 0.54167, 0, 0, 0.575],
+ 305: [0, 0.44444, 0, 0, 0.31944],
+ 338: [0, 0.68611, 0, 0, 1.16944],
+ 339: [0, 0.44444, 0, 0, 0.89444],
+ 567: [0.19444, 0.44444, 0, 0, 0.35139],
+ 710: [0, 0.69444, 0, 0, 0.575],
+ 711: [0, 0.63194, 0, 0, 0.575],
+ 713: [0, 0.59611, 0, 0, 0.575],
+ 714: [0, 0.69444, 0, 0, 0.575],
+ 715: [0, 0.69444, 0, 0, 0.575],
+ 728: [0, 0.69444, 0, 0, 0.575],
+ 729: [0, 0.69444, 0, 0, 0.31944],
+ 730: [0, 0.69444, 0, 0, 0.86944],
+ 732: [0, 0.69444, 0, 0, 0.575],
+ 733: [0, 0.69444, 0, 0, 0.575],
+ 915: [0, 0.68611, 0, 0, 0.69166],
+ 916: [0, 0.68611, 0, 0, 0.95833],
+ 920: [0, 0.68611, 0, 0, 0.89444],
+ 923: [0, 0.68611, 0, 0, 0.80555],
+ 926: [0, 0.68611, 0, 0, 0.76666],
+ 928: [0, 0.68611, 0, 0, 0.9],
+ 931: [0, 0.68611, 0, 0, 0.83055],
+ 933: [0, 0.68611, 0, 0, 0.89444],
+ 934: [0, 0.68611, 0, 0, 0.83055],
+ 936: [0, 0.68611, 0, 0, 0.89444],
+ 937: [0, 0.68611, 0, 0, 0.83055],
+ 8211: [0, 0.44444, 0.03194, 0, 0.575],
+ 8212: [0, 0.44444, 0.03194, 0, 1.14999],
+ 8216: [0, 0.69444, 0, 0, 0.31944],
+ 8217: [0, 0.69444, 0, 0, 0.31944],
+ 8220: [0, 0.69444, 0, 0, 0.60278],
+ 8221: [0, 0.69444, 0, 0, 0.60278],
+ 8224: [0.19444, 0.69444, 0, 0, 0.51111],
+ 8225: [0.19444, 0.69444, 0, 0, 0.51111],
+ 8242: [0, 0.55556, 0, 0, 0.34444],
+ 8407: [0, 0.72444, 0.15486, 0, 0.575],
+ 8463: [0, 0.69444, 0, 0, 0.66759],
+ 8465: [0, 0.69444, 0, 0, 0.83055],
+ 8467: [0, 0.69444, 0, 0, 0.47361],
+ 8472: [0.19444, 0.44444, 0, 0, 0.74027],
+ 8476: [0, 0.69444, 0, 0, 0.83055],
+ 8501: [0, 0.69444, 0, 0, 0.70277],
+ 8592: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8593: [0.19444, 0.69444, 0, 0, 0.575],
+ 8594: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8595: [0.19444, 0.69444, 0, 0, 0.575],
+ 8596: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8597: [0.25, 0.75, 0, 0, 0.575],
+ 8598: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8599: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8600: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8601: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8636: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8637: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8640: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8641: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8656: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8657: [0.19444, 0.69444, 0, 0, 0.70277],
+ 8658: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8659: [0.19444, 0.69444, 0, 0, 0.70277],
+ 8660: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8661: [0.25, 0.75, 0, 0, 0.70277],
+ 8704: [0, 0.69444, 0, 0, 0.63889],
+ 8706: [0, 0.69444, 0.06389, 0, 0.62847],
+ 8707: [0, 0.69444, 0, 0, 0.63889],
+ 8709: [0.05556, 0.75, 0, 0, 0.575],
+ 8711: [0, 0.68611, 0, 0, 0.95833],
+ 8712: [0.08556, 0.58556, 0, 0, 0.76666],
+ 8715: [0.08556, 0.58556, 0, 0, 0.76666],
+ 8722: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8723: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8725: [0.25, 0.75, 0, 0, 0.575],
+ 8726: [0.25, 0.75, 0, 0, 0.575],
+ 8727: [-0.02778, 0.47222, 0, 0, 0.575],
+ 8728: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8729: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8730: [0.18, 0.82, 0, 0, 0.95833],
+ 8733: [0, 0.44444, 0, 0, 0.89444],
+ 8734: [0, 0.44444, 0, 0, 1.14999],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8739: [0.25, 0.75, 0, 0, 0.31944],
+ 8741: [0.25, 0.75, 0, 0, 0.575],
+ 8743: [0, 0.55556, 0, 0, 0.76666],
+ 8744: [0, 0.55556, 0, 0, 0.76666],
+ 8745: [0, 0.55556, 0, 0, 0.76666],
+ 8746: [0, 0.55556, 0, 0, 0.76666],
+ 8747: [0.19444, 0.69444, 0.12778, 0, 0.56875],
+ 8764: [-0.10889, 0.39111, 0, 0, 0.89444],
+ 8768: [0.19444, 0.69444, 0, 0, 0.31944],
+ 8771: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8773: [0.027, 0.638, 0, 0, 0.894],
+ 8776: [0.02444, 0.52444, 0, 0, 0.89444],
+ 8781: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8801: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8804: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8805: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8810: [0.08556, 0.58556, 0, 0, 1.14999],
+ 8811: [0.08556, 0.58556, 0, 0, 1.14999],
+ 8826: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8827: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8834: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8835: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8838: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8839: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8846: [0, 0.55556, 0, 0, 0.76666],
+ 8849: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8850: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8851: [0, 0.55556, 0, 0, 0.76666],
+ 8852: [0, 0.55556, 0, 0, 0.76666],
+ 8853: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8854: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8855: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8856: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8857: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8866: [0, 0.69444, 0, 0, 0.70277],
+ 8867: [0, 0.69444, 0, 0, 0.70277],
+ 8868: [0, 0.69444, 0, 0, 0.89444],
+ 8869: [0, 0.69444, 0, 0, 0.89444],
+ 8900: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8901: [-0.02639, 0.47361, 0, 0, 0.31944],
+ 8902: [-0.02778, 0.47222, 0, 0, 0.575],
+ 8968: [0.25, 0.75, 0, 0, 0.51111],
+ 8969: [0.25, 0.75, 0, 0, 0.51111],
+ 8970: [0.25, 0.75, 0, 0, 0.51111],
+ 8971: [0.25, 0.75, 0, 0, 0.51111],
+ 8994: [-0.13889, 0.36111, 0, 0, 1.14999],
+ 8995: [-0.13889, 0.36111, 0, 0, 1.14999],
+ 9651: [0.19444, 0.69444, 0, 0, 1.02222],
+ 9657: [-0.02778, 0.47222, 0, 0, 0.575],
+ 9661: [0.19444, 0.69444, 0, 0, 1.02222],
+ 9667: [-0.02778, 0.47222, 0, 0, 0.575],
+ 9711: [0.19444, 0.69444, 0, 0, 1.14999],
+ 9824: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9825: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9826: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9827: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9837: [0, 0.75, 0, 0, 0.44722],
+ 9838: [0.19444, 0.69444, 0, 0, 0.44722],
+ 9839: [0.19444, 0.69444, 0, 0, 0.44722],
+ 10216: [0.25, 0.75, 0, 0, 0.44722],
+ 10217: [0.25, 0.75, 0, 0, 0.44722],
+ 10815: [0, 0.68611, 0, 0, 0.9],
+ 10927: [0.19667, 0.69667, 0, 0, 0.89444],
+ 10928: [0.19667, 0.69667, 0, 0, 0.89444],
+ 57376: [0.19444, 0.69444, 0, 0, 0]
+ },
+ 'Main-BoldItalic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.11417, 0, 0.38611],
+ 34: [0, 0.69444, 0.07939, 0, 0.62055],
+ 35: [0.19444, 0.69444, 0.06833, 0, 0.94444],
+ 37: [0.05556, 0.75, 0.12861, 0, 0.94444],
+ 38: [0, 0.69444, 0.08528, 0, 0.88555],
+ 39: [0, 0.69444, 0.12945, 0, 0.35555],
+ 40: [0.25, 0.75, 0.15806, 0, 0.47333],
+ 41: [0.25, 0.75, 0.03306, 0, 0.47333],
+ 42: [0, 0.75, 0.14333, 0, 0.59111],
+ 43: [0.10333, 0.60333, 0.03306, 0, 0.88555],
+ 44: [0.19444, 0.14722, 0, 0, 0.35555],
+ 45: [0, 0.44444, 0.02611, 0, 0.41444],
+ 46: [0, 0.14722, 0, 0, 0.35555],
+ 47: [0.25, 0.75, 0.15806, 0, 0.59111],
+ 48: [0, 0.64444, 0.13167, 0, 0.59111],
+ 49: [0, 0.64444, 0.13167, 0, 0.59111],
+ 50: [0, 0.64444, 0.13167, 0, 0.59111],
+ 51: [0, 0.64444, 0.13167, 0, 0.59111],
+ 52: [0.19444, 0.64444, 0.13167, 0, 0.59111],
+ 53: [0, 0.64444, 0.13167, 0, 0.59111],
+ 54: [0, 0.64444, 0.13167, 0, 0.59111],
+ 55: [0.19444, 0.64444, 0.13167, 0, 0.59111],
+ 56: [0, 0.64444, 0.13167, 0, 0.59111],
+ 57: [0, 0.64444, 0.13167, 0, 0.59111],
+ 58: [0, 0.44444, 0.06695, 0, 0.35555],
+ 59: [0.19444, 0.44444, 0.06695, 0, 0.35555],
+ 61: [-0.10889, 0.39111, 0.06833, 0, 0.88555],
+ 63: [0, 0.69444, 0.11472, 0, 0.59111],
+ 64: [0, 0.69444, 0.09208, 0, 0.88555],
+ 65: [0, 0.68611, 0, 0, 0.86555],
+ 66: [0, 0.68611, 0.0992, 0, 0.81666],
+ 67: [0, 0.68611, 0.14208, 0, 0.82666],
+ 68: [0, 0.68611, 0.09062, 0, 0.87555],
+ 69: [0, 0.68611, 0.11431, 0, 0.75666],
+ 70: [0, 0.68611, 0.12903, 0, 0.72722],
+ 71: [0, 0.68611, 0.07347, 0, 0.89527],
+ 72: [0, 0.68611, 0.17208, 0, 0.8961],
+ 73: [0, 0.68611, 0.15681, 0, 0.47166],
+ 74: [0, 0.68611, 0.145, 0, 0.61055],
+ 75: [0, 0.68611, 0.14208, 0, 0.89499],
+ 76: [0, 0.68611, 0, 0, 0.69777],
+ 77: [0, 0.68611, 0.17208, 0, 1.07277],
+ 78: [0, 0.68611, 0.17208, 0, 0.8961],
+ 79: [0, 0.68611, 0.09062, 0, 0.85499],
+ 80: [0, 0.68611, 0.0992, 0, 0.78721],
+ 81: [0.19444, 0.68611, 0.09062, 0, 0.85499],
+ 82: [0, 0.68611, 0.02559, 0, 0.85944],
+ 83: [0, 0.68611, 0.11264, 0, 0.64999],
+ 84: [0, 0.68611, 0.12903, 0, 0.7961],
+ 85: [0, 0.68611, 0.17208, 0, 0.88083],
+ 86: [0, 0.68611, 0.18625, 0, 0.86555],
+ 87: [0, 0.68611, 0.18625, 0, 1.15999],
+ 88: [0, 0.68611, 0.15681, 0, 0.86555],
+ 89: [0, 0.68611, 0.19803, 0, 0.86555],
+ 90: [0, 0.68611, 0.14208, 0, 0.70888],
+ 91: [0.25, 0.75, 0.1875, 0, 0.35611],
+ 93: [0.25, 0.75, 0.09972, 0, 0.35611],
+ 94: [0, 0.69444, 0.06709, 0, 0.59111],
+ 95: [0.31, 0.13444, 0.09811, 0, 0.59111],
+ 97: [0, 0.44444, 0.09426, 0, 0.59111],
+ 98: [0, 0.69444, 0.07861, 0, 0.53222],
+ 99: [0, 0.44444, 0.05222, 0, 0.53222],
+ 100: [0, 0.69444, 0.10861, 0, 0.59111],
+ 101: [0, 0.44444, 0.085, 0, 0.53222],
+ 102: [0.19444, 0.69444, 0.21778, 0, 0.4],
+ 103: [0.19444, 0.44444, 0.105, 0, 0.53222],
+ 104: [0, 0.69444, 0.09426, 0, 0.59111],
+ 105: [0, 0.69326, 0.11387, 0, 0.35555],
+ 106: [0.19444, 0.69326, 0.1672, 0, 0.35555],
+ 107: [0, 0.69444, 0.11111, 0, 0.53222],
+ 108: [0, 0.69444, 0.10861, 0, 0.29666],
+ 109: [0, 0.44444, 0.09426, 0, 0.94444],
+ 110: [0, 0.44444, 0.09426, 0, 0.64999],
+ 111: [0, 0.44444, 0.07861, 0, 0.59111],
+ 112: [0.19444, 0.44444, 0.07861, 0, 0.59111],
+ 113: [0.19444, 0.44444, 0.105, 0, 0.53222],
+ 114: [0, 0.44444, 0.11111, 0, 0.50167],
+ 115: [0, 0.44444, 0.08167, 0, 0.48694],
+ 116: [0, 0.63492, 0.09639, 0, 0.385],
+ 117: [0, 0.44444, 0.09426, 0, 0.62055],
+ 118: [0, 0.44444, 0.11111, 0, 0.53222],
+ 119: [0, 0.44444, 0.11111, 0, 0.76777],
+ 120: [0, 0.44444, 0.12583, 0, 0.56055],
+ 121: [0.19444, 0.44444, 0.105, 0, 0.56166],
+ 122: [0, 0.44444, 0.13889, 0, 0.49055],
+ 126: [0.35, 0.34444, 0.11472, 0, 0.59111],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.69444, 0.11473, 0, 0.59111],
+ 176: [0, 0.69444, 0, 0, 0.94888],
+ 184: [0.17014, 0, 0, 0, 0.53222],
+ 198: [0, 0.68611, 0.11431, 0, 1.02277],
+ 216: [0.04861, 0.73472, 0.09062, 0, 0.88555],
+ 223: [0.19444, 0.69444, 0.09736, 0, 0.665],
+ 230: [0, 0.44444, 0.085, 0, 0.82666],
+ 248: [0.09722, 0.54167, 0.09458, 0, 0.59111],
+ 305: [0, 0.44444, 0.09426, 0, 0.35555],
+ 338: [0, 0.68611, 0.11431, 0, 1.14054],
+ 339: [0, 0.44444, 0.085, 0, 0.82666],
+ 567: [0.19444, 0.44444, 0.04611, 0, 0.385],
+ 710: [0, 0.69444, 0.06709, 0, 0.59111],
+ 711: [0, 0.63194, 0.08271, 0, 0.59111],
+ 713: [0, 0.59444, 0.10444, 0, 0.59111],
+ 714: [0, 0.69444, 0.08528, 0, 0.59111],
+ 715: [0, 0.69444, 0, 0, 0.59111],
+ 728: [0, 0.69444, 0.10333, 0, 0.59111],
+ 729: [0, 0.69444, 0.12945, 0, 0.35555],
+ 730: [0, 0.69444, 0, 0, 0.94888],
+ 732: [0, 0.69444, 0.11472, 0, 0.59111],
+ 733: [0, 0.69444, 0.11472, 0, 0.59111],
+ 915: [0, 0.68611, 0.12903, 0, 0.69777],
+ 916: [0, 0.68611, 0, 0, 0.94444],
+ 920: [0, 0.68611, 0.09062, 0, 0.88555],
+ 923: [0, 0.68611, 0, 0, 0.80666],
+ 926: [0, 0.68611, 0.15092, 0, 0.76777],
+ 928: [0, 0.68611, 0.17208, 0, 0.8961],
+ 931: [0, 0.68611, 0.11431, 0, 0.82666],
+ 933: [0, 0.68611, 0.10778, 0, 0.88555],
+ 934: [0, 0.68611, 0.05632, 0, 0.82666],
+ 936: [0, 0.68611, 0.10778, 0, 0.88555],
+ 937: [0, 0.68611, 0.0992, 0, 0.82666],
+ 8211: [0, 0.44444, 0.09811, 0, 0.59111],
+ 8212: [0, 0.44444, 0.09811, 0, 1.18221],
+ 8216: [0, 0.69444, 0.12945, 0, 0.35555],
+ 8217: [0, 0.69444, 0.12945, 0, 0.35555],
+ 8220: [0, 0.69444, 0.16772, 0, 0.62055],
+ 8221: [0, 0.69444, 0.07939, 0, 0.62055]
+ },
+ 'Main-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.12417, 0, 0.30667],
+ 34: [0, 0.69444, 0.06961, 0, 0.51444],
+ 35: [0.19444, 0.69444, 0.06616, 0, 0.81777],
+ 37: [0.05556, 0.75, 0.13639, 0, 0.81777],
+ 38: [0, 0.69444, 0.09694, 0, 0.76666],
+ 39: [0, 0.69444, 0.12417, 0, 0.30667],
+ 40: [0.25, 0.75, 0.16194, 0, 0.40889],
+ 41: [0.25, 0.75, 0.03694, 0, 0.40889],
+ 42: [0, 0.75, 0.14917, 0, 0.51111],
+ 43: [0.05667, 0.56167, 0.03694, 0, 0.76666],
+ 44: [0.19444, 0.10556, 0, 0, 0.30667],
+ 45: [0, 0.43056, 0.02826, 0, 0.35778],
+ 46: [0, 0.10556, 0, 0, 0.30667],
+ 47: [0.25, 0.75, 0.16194, 0, 0.51111],
+ 48: [0, 0.64444, 0.13556, 0, 0.51111],
+ 49: [0, 0.64444, 0.13556, 0, 0.51111],
+ 50: [0, 0.64444, 0.13556, 0, 0.51111],
+ 51: [0, 0.64444, 0.13556, 0, 0.51111],
+ 52: [0.19444, 0.64444, 0.13556, 0, 0.51111],
+ 53: [0, 0.64444, 0.13556, 0, 0.51111],
+ 54: [0, 0.64444, 0.13556, 0, 0.51111],
+ 55: [0.19444, 0.64444, 0.13556, 0, 0.51111],
+ 56: [0, 0.64444, 0.13556, 0, 0.51111],
+ 57: [0, 0.64444, 0.13556, 0, 0.51111],
+ 58: [0, 0.43056, 0.0582, 0, 0.30667],
+ 59: [0.19444, 0.43056, 0.0582, 0, 0.30667],
+ 61: [-0.13313, 0.36687, 0.06616, 0, 0.76666],
+ 63: [0, 0.69444, 0.1225, 0, 0.51111],
+ 64: [0, 0.69444, 0.09597, 0, 0.76666],
+ 65: [0, 0.68333, 0, 0, 0.74333],
+ 66: [0, 0.68333, 0.10257, 0, 0.70389],
+ 67: [0, 0.68333, 0.14528, 0, 0.71555],
+ 68: [0, 0.68333, 0.09403, 0, 0.755],
+ 69: [0, 0.68333, 0.12028, 0, 0.67833],
+ 70: [0, 0.68333, 0.13305, 0, 0.65277],
+ 71: [0, 0.68333, 0.08722, 0, 0.77361],
+ 72: [0, 0.68333, 0.16389, 0, 0.74333],
+ 73: [0, 0.68333, 0.15806, 0, 0.38555],
+ 74: [0, 0.68333, 0.14028, 0, 0.525],
+ 75: [0, 0.68333, 0.14528, 0, 0.76888],
+ 76: [0, 0.68333, 0, 0, 0.62722],
+ 77: [0, 0.68333, 0.16389, 0, 0.89666],
+ 78: [0, 0.68333, 0.16389, 0, 0.74333],
+ 79: [0, 0.68333, 0.09403, 0, 0.76666],
+ 80: [0, 0.68333, 0.10257, 0, 0.67833],
+ 81: [0.19444, 0.68333, 0.09403, 0, 0.76666],
+ 82: [0, 0.68333, 0.03868, 0, 0.72944],
+ 83: [0, 0.68333, 0.11972, 0, 0.56222],
+ 84: [0, 0.68333, 0.13305, 0, 0.71555],
+ 85: [0, 0.68333, 0.16389, 0, 0.74333],
+ 86: [0, 0.68333, 0.18361, 0, 0.74333],
+ 87: [0, 0.68333, 0.18361, 0, 0.99888],
+ 88: [0, 0.68333, 0.15806, 0, 0.74333],
+ 89: [0, 0.68333, 0.19383, 0, 0.74333],
+ 90: [0, 0.68333, 0.14528, 0, 0.61333],
+ 91: [0.25, 0.75, 0.1875, 0, 0.30667],
+ 93: [0.25, 0.75, 0.10528, 0, 0.30667],
+ 94: [0, 0.69444, 0.06646, 0, 0.51111],
+ 95: [0.31, 0.12056, 0.09208, 0, 0.51111],
+ 97: [0, 0.43056, 0.07671, 0, 0.51111],
+ 98: [0, 0.69444, 0.06312, 0, 0.46],
+ 99: [0, 0.43056, 0.05653, 0, 0.46],
+ 100: [0, 0.69444, 0.10333, 0, 0.51111],
+ 101: [0, 0.43056, 0.07514, 0, 0.46],
+ 102: [0.19444, 0.69444, 0.21194, 0, 0.30667],
+ 103: [0.19444, 0.43056, 0.08847, 0, 0.46],
+ 104: [0, 0.69444, 0.07671, 0, 0.51111],
+ 105: [0, 0.65536, 0.1019, 0, 0.30667],
+ 106: [0.19444, 0.65536, 0.14467, 0, 0.30667],
+ 107: [0, 0.69444, 0.10764, 0, 0.46],
+ 108: [0, 0.69444, 0.10333, 0, 0.25555],
+ 109: [0, 0.43056, 0.07671, 0, 0.81777],
+ 110: [0, 0.43056, 0.07671, 0, 0.56222],
+ 111: [0, 0.43056, 0.06312, 0, 0.51111],
+ 112: [0.19444, 0.43056, 0.06312, 0, 0.51111],
+ 113: [0.19444, 0.43056, 0.08847, 0, 0.46],
+ 114: [0, 0.43056, 0.10764, 0, 0.42166],
+ 115: [0, 0.43056, 0.08208, 0, 0.40889],
+ 116: [0, 0.61508, 0.09486, 0, 0.33222],
+ 117: [0, 0.43056, 0.07671, 0, 0.53666],
+ 118: [0, 0.43056, 0.10764, 0, 0.46],
+ 119: [0, 0.43056, 0.10764, 0, 0.66444],
+ 120: [0, 0.43056, 0.12042, 0, 0.46389],
+ 121: [0.19444, 0.43056, 0.08847, 0, 0.48555],
+ 122: [0, 0.43056, 0.12292, 0, 0.40889],
+ 126: [0.35, 0.31786, 0.11585, 0, 0.51111],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.66786, 0.10474, 0, 0.51111],
+ 176: [0, 0.69444, 0, 0, 0.83129],
+ 184: [0.17014, 0, 0, 0, 0.46],
+ 198: [0, 0.68333, 0.12028, 0, 0.88277],
+ 216: [0.04861, 0.73194, 0.09403, 0, 0.76666],
+ 223: [0.19444, 0.69444, 0.10514, 0, 0.53666],
+ 230: [0, 0.43056, 0.07514, 0, 0.71555],
+ 248: [0.09722, 0.52778, 0.09194, 0, 0.51111],
+ 338: [0, 0.68333, 0.12028, 0, 0.98499],
+ 339: [0, 0.43056, 0.07514, 0, 0.71555],
+ 710: [0, 0.69444, 0.06646, 0, 0.51111],
+ 711: [0, 0.62847, 0.08295, 0, 0.51111],
+ 713: [0, 0.56167, 0.10333, 0, 0.51111],
+ 714: [0, 0.69444, 0.09694, 0, 0.51111],
+ 715: [0, 0.69444, 0, 0, 0.51111],
+ 728: [0, 0.69444, 0.10806, 0, 0.51111],
+ 729: [0, 0.66786, 0.11752, 0, 0.30667],
+ 730: [0, 0.69444, 0, 0, 0.83129],
+ 732: [0, 0.66786, 0.11585, 0, 0.51111],
+ 733: [0, 0.69444, 0.1225, 0, 0.51111],
+ 915: [0, 0.68333, 0.13305, 0, 0.62722],
+ 916: [0, 0.68333, 0, 0, 0.81777],
+ 920: [0, 0.68333, 0.09403, 0, 0.76666],
+ 923: [0, 0.68333, 0, 0, 0.69222],
+ 926: [0, 0.68333, 0.15294, 0, 0.66444],
+ 928: [0, 0.68333, 0.16389, 0, 0.74333],
+ 931: [0, 0.68333, 0.12028, 0, 0.71555],
+ 933: [0, 0.68333, 0.11111, 0, 0.76666],
+ 934: [0, 0.68333, 0.05986, 0, 0.71555],
+ 936: [0, 0.68333, 0.11111, 0, 0.76666],
+ 937: [0, 0.68333, 0.10257, 0, 0.71555],
+ 8211: [0, 0.43056, 0.09208, 0, 0.51111],
+ 8212: [0, 0.43056, 0.09208, 0, 1.02222],
+ 8216: [0, 0.69444, 0.12417, 0, 0.30667],
+ 8217: [0, 0.69444, 0.12417, 0, 0.30667],
+ 8220: [0, 0.69444, 0.1685, 0, 0.51444],
+ 8221: [0, 0.69444, 0.06961, 0, 0.51444],
+ 8463: [0, 0.68889, 0, 0, 0.54028]
+ },
+ 'Main-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.27778],
+ 34: [0, 0.69444, 0, 0, 0.5],
+ 35: [0.19444, 0.69444, 0, 0, 0.83334],
+ 36: [0.05556, 0.75, 0, 0, 0.5],
+ 37: [0.05556, 0.75, 0, 0, 0.83334],
+ 38: [0, 0.69444, 0, 0, 0.77778],
+ 39: [0, 0.69444, 0, 0, 0.27778],
+ 40: [0.25, 0.75, 0, 0, 0.38889],
+ 41: [0.25, 0.75, 0, 0, 0.38889],
+ 42: [0, 0.75, 0, 0, 0.5],
+ 43: [0.08333, 0.58333, 0, 0, 0.77778],
+ 44: [0.19444, 0.10556, 0, 0, 0.27778],
+ 45: [0, 0.43056, 0, 0, 0.33333],
+ 46: [0, 0.10556, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0, 0, 0.5],
+ 48: [0, 0.64444, 0, 0, 0.5],
+ 49: [0, 0.64444, 0, 0, 0.5],
+ 50: [0, 0.64444, 0, 0, 0.5],
+ 51: [0, 0.64444, 0, 0, 0.5],
+ 52: [0, 0.64444, 0, 0, 0.5],
+ 53: [0, 0.64444, 0, 0, 0.5],
+ 54: [0, 0.64444, 0, 0, 0.5],
+ 55: [0, 0.64444, 0, 0, 0.5],
+ 56: [0, 0.64444, 0, 0, 0.5],
+ 57: [0, 0.64444, 0, 0, 0.5],
+ 58: [0, 0.43056, 0, 0, 0.27778],
+ 59: [0.19444, 0.43056, 0, 0, 0.27778],
+ 60: [0.0391, 0.5391, 0, 0, 0.77778],
+ 61: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 62: [0.0391, 0.5391, 0, 0, 0.77778],
+ 63: [0, 0.69444, 0, 0, 0.47222],
+ 64: [0, 0.69444, 0, 0, 0.77778],
+ 65: [0, 0.68333, 0, 0, 0.75],
+ 66: [0, 0.68333, 0, 0, 0.70834],
+ 67: [0, 0.68333, 0, 0, 0.72222],
+ 68: [0, 0.68333, 0, 0, 0.76389],
+ 69: [0, 0.68333, 0, 0, 0.68056],
+ 70: [0, 0.68333, 0, 0, 0.65278],
+ 71: [0, 0.68333, 0, 0, 0.78472],
+ 72: [0, 0.68333, 0, 0, 0.75],
+ 73: [0, 0.68333, 0, 0, 0.36111],
+ 74: [0, 0.68333, 0, 0, 0.51389],
+ 75: [0, 0.68333, 0, 0, 0.77778],
+ 76: [0, 0.68333, 0, 0, 0.625],
+ 77: [0, 0.68333, 0, 0, 0.91667],
+ 78: [0, 0.68333, 0, 0, 0.75],
+ 79: [0, 0.68333, 0, 0, 0.77778],
+ 80: [0, 0.68333, 0, 0, 0.68056],
+ 81: [0.19444, 0.68333, 0, 0, 0.77778],
+ 82: [0, 0.68333, 0, 0, 0.73611],
+ 83: [0, 0.68333, 0, 0, 0.55556],
+ 84: [0, 0.68333, 0, 0, 0.72222],
+ 85: [0, 0.68333, 0, 0, 0.75],
+ 86: [0, 0.68333, 0.01389, 0, 0.75],
+ 87: [0, 0.68333, 0.01389, 0, 1.02778],
+ 88: [0, 0.68333, 0, 0, 0.75],
+ 89: [0, 0.68333, 0.025, 0, 0.75],
+ 90: [0, 0.68333, 0, 0, 0.61111],
+ 91: [0.25, 0.75, 0, 0, 0.27778],
+ 92: [0.25, 0.75, 0, 0, 0.5],
+ 93: [0.25, 0.75, 0, 0, 0.27778],
+ 94: [0, 0.69444, 0, 0, 0.5],
+ 95: [0.31, 0.12056, 0.02778, 0, 0.5],
+ 97: [0, 0.43056, 0, 0, 0.5],
+ 98: [0, 0.69444, 0, 0, 0.55556],
+ 99: [0, 0.43056, 0, 0, 0.44445],
+ 100: [0, 0.69444, 0, 0, 0.55556],
+ 101: [0, 0.43056, 0, 0, 0.44445],
+ 102: [0, 0.69444, 0.07778, 0, 0.30556],
+ 103: [0.19444, 0.43056, 0.01389, 0, 0.5],
+ 104: [0, 0.69444, 0, 0, 0.55556],
+ 105: [0, 0.66786, 0, 0, 0.27778],
+ 106: [0.19444, 0.66786, 0, 0, 0.30556],
+ 107: [0, 0.69444, 0, 0, 0.52778],
+ 108: [0, 0.69444, 0, 0, 0.27778],
+ 109: [0, 0.43056, 0, 0, 0.83334],
+ 110: [0, 0.43056, 0, 0, 0.55556],
+ 111: [0, 0.43056, 0, 0, 0.5],
+ 112: [0.19444, 0.43056, 0, 0, 0.55556],
+ 113: [0.19444, 0.43056, 0, 0, 0.52778],
+ 114: [0, 0.43056, 0, 0, 0.39167],
+ 115: [0, 0.43056, 0, 0, 0.39445],
+ 116: [0, 0.61508, 0, 0, 0.38889],
+ 117: [0, 0.43056, 0, 0, 0.55556],
+ 118: [0, 0.43056, 0.01389, 0, 0.52778],
+ 119: [0, 0.43056, 0.01389, 0, 0.72222],
+ 120: [0, 0.43056, 0, 0, 0.52778],
+ 121: [0.19444, 0.43056, 0.01389, 0, 0.52778],
+ 122: [0, 0.43056, 0, 0, 0.44445],
+ 123: [0.25, 0.75, 0, 0, 0.5],
+ 124: [0.25, 0.75, 0, 0, 0.27778],
+ 125: [0.25, 0.75, 0, 0, 0.5],
+ 126: [0.35, 0.31786, 0, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 163: [0, 0.69444, 0, 0, 0.76909],
+ 167: [0.19444, 0.69444, 0, 0, 0.44445],
+ 168: [0, 0.66786, 0, 0, 0.5],
+ 172: [0, 0.43056, 0, 0, 0.66667],
+ 176: [0, 0.69444, 0, 0, 0.75],
+ 177: [0.08333, 0.58333, 0, 0, 0.77778],
+ 182: [0.19444, 0.69444, 0, 0, 0.61111],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 198: [0, 0.68333, 0, 0, 0.90278],
+ 215: [0.08333, 0.58333, 0, 0, 0.77778],
+ 216: [0.04861, 0.73194, 0, 0, 0.77778],
+ 223: [0, 0.69444, 0, 0, 0.5],
+ 230: [0, 0.43056, 0, 0, 0.72222],
+ 247: [0.08333, 0.58333, 0, 0, 0.77778],
+ 248: [0.09722, 0.52778, 0, 0, 0.5],
+ 305: [0, 0.43056, 0, 0, 0.27778],
+ 338: [0, 0.68333, 0, 0, 1.01389],
+ 339: [0, 0.43056, 0, 0, 0.77778],
+ 567: [0.19444, 0.43056, 0, 0, 0.30556],
+ 710: [0, 0.69444, 0, 0, 0.5],
+ 711: [0, 0.62847, 0, 0, 0.5],
+ 713: [0, 0.56778, 0, 0, 0.5],
+ 714: [0, 0.69444, 0, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0, 0, 0.5],
+ 729: [0, 0.66786, 0, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.75],
+ 732: [0, 0.66786, 0, 0, 0.5],
+ 733: [0, 0.69444, 0, 0, 0.5],
+ 915: [0, 0.68333, 0, 0, 0.625],
+ 916: [0, 0.68333, 0, 0, 0.83334],
+ 920: [0, 0.68333, 0, 0, 0.77778],
+ 923: [0, 0.68333, 0, 0, 0.69445],
+ 926: [0, 0.68333, 0, 0, 0.66667],
+ 928: [0, 0.68333, 0, 0, 0.75],
+ 931: [0, 0.68333, 0, 0, 0.72222],
+ 933: [0, 0.68333, 0, 0, 0.77778],
+ 934: [0, 0.68333, 0, 0, 0.72222],
+ 936: [0, 0.68333, 0, 0, 0.77778],
+ 937: [0, 0.68333, 0, 0, 0.72222],
+ 8211: [0, 0.43056, 0.02778, 0, 0.5],
+ 8212: [0, 0.43056, 0.02778, 0, 1],
+ 8216: [0, 0.69444, 0, 0, 0.27778],
+ 8217: [0, 0.69444, 0, 0, 0.27778],
+ 8220: [0, 0.69444, 0, 0, 0.5],
+ 8221: [0, 0.69444, 0, 0, 0.5],
+ 8224: [0.19444, 0.69444, 0, 0, 0.44445],
+ 8225: [0.19444, 0.69444, 0, 0, 0.44445],
+ 8230: [0, 0.123, 0, 0, 1.172],
+ 8242: [0, 0.55556, 0, 0, 0.275],
+ 8407: [0, 0.71444, 0.15382, 0, 0.5],
+ 8463: [0, 0.68889, 0, 0, 0.54028],
+ 8465: [0, 0.69444, 0, 0, 0.72222],
+ 8467: [0, 0.69444, 0, 0.11111, 0.41667],
+ 8472: [0.19444, 0.43056, 0, 0.11111, 0.63646],
+ 8476: [0, 0.69444, 0, 0, 0.72222],
+ 8501: [0, 0.69444, 0, 0, 0.61111],
+ 8592: [-0.13313, 0.36687, 0, 0, 1],
+ 8593: [0.19444, 0.69444, 0, 0, 0.5],
+ 8594: [-0.13313, 0.36687, 0, 0, 1],
+ 8595: [0.19444, 0.69444, 0, 0, 0.5],
+ 8596: [-0.13313, 0.36687, 0, 0, 1],
+ 8597: [0.25, 0.75, 0, 0, 0.5],
+ 8598: [0.19444, 0.69444, 0, 0, 1],
+ 8599: [0.19444, 0.69444, 0, 0, 1],
+ 8600: [0.19444, 0.69444, 0, 0, 1],
+ 8601: [0.19444, 0.69444, 0, 0, 1],
+ 8614: [0.011, 0.511, 0, 0, 1],
+ 8617: [0.011, 0.511, 0, 0, 1.126],
+ 8618: [0.011, 0.511, 0, 0, 1.126],
+ 8636: [-0.13313, 0.36687, 0, 0, 1],
+ 8637: [-0.13313, 0.36687, 0, 0, 1],
+ 8640: [-0.13313, 0.36687, 0, 0, 1],
+ 8641: [-0.13313, 0.36687, 0, 0, 1],
+ 8652: [0.011, 0.671, 0, 0, 1],
+ 8656: [-0.13313, 0.36687, 0, 0, 1],
+ 8657: [0.19444, 0.69444, 0, 0, 0.61111],
+ 8658: [-0.13313, 0.36687, 0, 0, 1],
+ 8659: [0.19444, 0.69444, 0, 0, 0.61111],
+ 8660: [-0.13313, 0.36687, 0, 0, 1],
+ 8661: [0.25, 0.75, 0, 0, 0.61111],
+ 8704: [0, 0.69444, 0, 0, 0.55556],
+ 8706: [0, 0.69444, 0.05556, 0.08334, 0.5309],
+ 8707: [0, 0.69444, 0, 0, 0.55556],
+ 8709: [0.05556, 0.75, 0, 0, 0.5],
+ 8711: [0, 0.68333, 0, 0, 0.83334],
+ 8712: [0.0391, 0.5391, 0, 0, 0.66667],
+ 8715: [0.0391, 0.5391, 0, 0, 0.66667],
+ 8722: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8723: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8725: [0.25, 0.75, 0, 0, 0.5],
+ 8726: [0.25, 0.75, 0, 0, 0.5],
+ 8727: [-0.03472, 0.46528, 0, 0, 0.5],
+ 8728: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8729: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8730: [0.2, 0.8, 0, 0, 0.83334],
+ 8733: [0, 0.43056, 0, 0, 0.77778],
+ 8734: [0, 0.43056, 0, 0, 1],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8739: [0.25, 0.75, 0, 0, 0.27778],
+ 8741: [0.25, 0.75, 0, 0, 0.5],
+ 8743: [0, 0.55556, 0, 0, 0.66667],
+ 8744: [0, 0.55556, 0, 0, 0.66667],
+ 8745: [0, 0.55556, 0, 0, 0.66667],
+ 8746: [0, 0.55556, 0, 0, 0.66667],
+ 8747: [0.19444, 0.69444, 0.11111, 0, 0.41667],
+ 8764: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8768: [0.19444, 0.69444, 0, 0, 0.27778],
+ 8771: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8773: [-0.022, 0.589, 0, 0, 0.778],
+ 8776: [-0.01688, 0.48312, 0, 0, 0.77778],
+ 8781: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8784: [-0.133, 0.673, 0, 0, 0.778],
+ 8801: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8804: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8805: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8810: [0.0391, 0.5391, 0, 0, 1],
+ 8811: [0.0391, 0.5391, 0, 0, 1],
+ 8826: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8827: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8834: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8835: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8838: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8839: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8846: [0, 0.55556, 0, 0, 0.66667],
+ 8849: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8850: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8851: [0, 0.55556, 0, 0, 0.66667],
+ 8852: [0, 0.55556, 0, 0, 0.66667],
+ 8853: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8854: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8855: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8856: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8857: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8866: [0, 0.69444, 0, 0, 0.61111],
+ 8867: [0, 0.69444, 0, 0, 0.61111],
+ 8868: [0, 0.69444, 0, 0, 0.77778],
+ 8869: [0, 0.69444, 0, 0, 0.77778],
+ 8872: [0.249, 0.75, 0, 0, 0.867],
+ 8900: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8901: [-0.05555, 0.44445, 0, 0, 0.27778],
+ 8902: [-0.03472, 0.46528, 0, 0, 0.5],
+ 8904: [0.005, 0.505, 0, 0, 0.9],
+ 8942: [0.03, 0.903, 0, 0, 0.278],
+ 8943: [-0.19, 0.313, 0, 0, 1.172],
+ 8945: [-0.1, 0.823, 0, 0, 1.282],
+ 8968: [0.25, 0.75, 0, 0, 0.44445],
+ 8969: [0.25, 0.75, 0, 0, 0.44445],
+ 8970: [0.25, 0.75, 0, 0, 0.44445],
+ 8971: [0.25, 0.75, 0, 0, 0.44445],
+ 8994: [-0.14236, 0.35764, 0, 0, 1],
+ 8995: [-0.14236, 0.35764, 0, 0, 1],
+ 9136: [0.244, 0.744, 0, 0, 0.412],
+ 9137: [0.244, 0.745, 0, 0, 0.412],
+ 9651: [0.19444, 0.69444, 0, 0, 0.88889],
+ 9657: [-0.03472, 0.46528, 0, 0, 0.5],
+ 9661: [0.19444, 0.69444, 0, 0, 0.88889],
+ 9667: [-0.03472, 0.46528, 0, 0, 0.5],
+ 9711: [0.19444, 0.69444, 0, 0, 1],
+ 9824: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9825: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9826: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9827: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9837: [0, 0.75, 0, 0, 0.38889],
+ 9838: [0.19444, 0.69444, 0, 0, 0.38889],
+ 9839: [0.19444, 0.69444, 0, 0, 0.38889],
+ 10216: [0.25, 0.75, 0, 0, 0.38889],
+ 10217: [0.25, 0.75, 0, 0, 0.38889],
+ 10222: [0.244, 0.744, 0, 0, 0.412],
+ 10223: [0.244, 0.745, 0, 0, 0.412],
+ 10229: [0.011, 0.511, 0, 0, 1.609],
+ 10230: [0.011, 0.511, 0, 0, 1.638],
+ 10231: [0.011, 0.511, 0, 0, 1.859],
+ 10232: [0.024, 0.525, 0, 0, 1.609],
+ 10233: [0.024, 0.525, 0, 0, 1.638],
+ 10234: [0.024, 0.525, 0, 0, 1.858],
+ 10236: [0.011, 0.511, 0, 0, 1.638],
+ 10815: [0, 0.68333, 0, 0, 0.75],
+ 10927: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10928: [0.13597, 0.63597, 0, 0, 0.77778],
+ 57376: [0.19444, 0.69444, 0, 0, 0]
+ },
+ 'Math-BoldItalic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 48: [0, 0.44444, 0, 0, 0.575],
+ 49: [0, 0.44444, 0, 0, 0.575],
+ 50: [0, 0.44444, 0, 0, 0.575],
+ 51: [0.19444, 0.44444, 0, 0, 0.575],
+ 52: [0.19444, 0.44444, 0, 0, 0.575],
+ 53: [0.19444, 0.44444, 0, 0, 0.575],
+ 54: [0, 0.64444, 0, 0, 0.575],
+ 55: [0.19444, 0.44444, 0, 0, 0.575],
+ 56: [0, 0.64444, 0, 0, 0.575],
+ 57: [0.19444, 0.44444, 0, 0, 0.575],
+ 65: [0, 0.68611, 0, 0, 0.86944],
+ 66: [0, 0.68611, 0.04835, 0, 0.8664],
+ 67: [0, 0.68611, 0.06979, 0, 0.81694],
+ 68: [0, 0.68611, 0.03194, 0, 0.93812],
+ 69: [0, 0.68611, 0.05451, 0, 0.81007],
+ 70: [0, 0.68611, 0.15972, 0, 0.68889],
+ 71: [0, 0.68611, 0, 0, 0.88673],
+ 72: [0, 0.68611, 0.08229, 0, 0.98229],
+ 73: [0, 0.68611, 0.07778, 0, 0.51111],
+ 74: [0, 0.68611, 0.10069, 0, 0.63125],
+ 75: [0, 0.68611, 0.06979, 0, 0.97118],
+ 76: [0, 0.68611, 0, 0, 0.75555],
+ 77: [0, 0.68611, 0.11424, 0, 1.14201],
+ 78: [0, 0.68611, 0.11424, 0, 0.95034],
+ 79: [0, 0.68611, 0.03194, 0, 0.83666],
+ 80: [0, 0.68611, 0.15972, 0, 0.72309],
+ 81: [0.19444, 0.68611, 0, 0, 0.86861],
+ 82: [0, 0.68611, 0.00421, 0, 0.87235],
+ 83: [0, 0.68611, 0.05382, 0, 0.69271],
+ 84: [0, 0.68611, 0.15972, 0, 0.63663],
+ 85: [0, 0.68611, 0.11424, 0, 0.80027],
+ 86: [0, 0.68611, 0.25555, 0, 0.67778],
+ 87: [0, 0.68611, 0.15972, 0, 1.09305],
+ 88: [0, 0.68611, 0.07778, 0, 0.94722],
+ 89: [0, 0.68611, 0.25555, 0, 0.67458],
+ 90: [0, 0.68611, 0.06979, 0, 0.77257],
+ 97: [0, 0.44444, 0, 0, 0.63287],
+ 98: [0, 0.69444, 0, 0, 0.52083],
+ 99: [0, 0.44444, 0, 0, 0.51342],
+ 100: [0, 0.69444, 0, 0, 0.60972],
+ 101: [0, 0.44444, 0, 0, 0.55361],
+ 102: [0.19444, 0.69444, 0.11042, 0, 0.56806],
+ 103: [0.19444, 0.44444, 0.03704, 0, 0.5449],
+ 104: [0, 0.69444, 0, 0, 0.66759],
+ 105: [0, 0.69326, 0, 0, 0.4048],
+ 106: [0.19444, 0.69326, 0.0622, 0, 0.47083],
+ 107: [0, 0.69444, 0.01852, 0, 0.6037],
+ 108: [0, 0.69444, 0.0088, 0, 0.34815],
+ 109: [0, 0.44444, 0, 0, 1.0324],
+ 110: [0, 0.44444, 0, 0, 0.71296],
+ 111: [0, 0.44444, 0, 0, 0.58472],
+ 112: [0.19444, 0.44444, 0, 0, 0.60092],
+ 113: [0.19444, 0.44444, 0.03704, 0, 0.54213],
+ 114: [0, 0.44444, 0.03194, 0, 0.5287],
+ 115: [0, 0.44444, 0, 0, 0.53125],
+ 116: [0, 0.63492, 0, 0, 0.41528],
+ 117: [0, 0.44444, 0, 0, 0.68102],
+ 118: [0, 0.44444, 0.03704, 0, 0.56666],
+ 119: [0, 0.44444, 0.02778, 0, 0.83148],
+ 120: [0, 0.44444, 0, 0, 0.65903],
+ 121: [0.19444, 0.44444, 0.03704, 0, 0.59028],
+ 122: [0, 0.44444, 0.04213, 0, 0.55509],
+ 160: [0, 0, 0, 0, 0.25],
+ 915: [0, 0.68611, 0.15972, 0, 0.65694],
+ 916: [0, 0.68611, 0, 0, 0.95833],
+ 920: [0, 0.68611, 0.03194, 0, 0.86722],
+ 923: [0, 0.68611, 0, 0, 0.80555],
+ 926: [0, 0.68611, 0.07458, 0, 0.84125],
+ 928: [0, 0.68611, 0.08229, 0, 0.98229],
+ 931: [0, 0.68611, 0.05451, 0, 0.88507],
+ 933: [0, 0.68611, 0.15972, 0, 0.67083],
+ 934: [0, 0.68611, 0, 0, 0.76666],
+ 936: [0, 0.68611, 0.11653, 0, 0.71402],
+ 937: [0, 0.68611, 0.04835, 0, 0.8789],
+ 945: [0, 0.44444, 0, 0, 0.76064],
+ 946: [0.19444, 0.69444, 0.03403, 0, 0.65972],
+ 947: [0.19444, 0.44444, 0.06389, 0, 0.59003],
+ 948: [0, 0.69444, 0.03819, 0, 0.52222],
+ 949: [0, 0.44444, 0, 0, 0.52882],
+ 950: [0.19444, 0.69444, 0.06215, 0, 0.50833],
+ 951: [0.19444, 0.44444, 0.03704, 0, 0.6],
+ 952: [0, 0.69444, 0.03194, 0, 0.5618],
+ 953: [0, 0.44444, 0, 0, 0.41204],
+ 954: [0, 0.44444, 0, 0, 0.66759],
+ 955: [0, 0.69444, 0, 0, 0.67083],
+ 956: [0.19444, 0.44444, 0, 0, 0.70787],
+ 957: [0, 0.44444, 0.06898, 0, 0.57685],
+ 958: [0.19444, 0.69444, 0.03021, 0, 0.50833],
+ 959: [0, 0.44444, 0, 0, 0.58472],
+ 960: [0, 0.44444, 0.03704, 0, 0.68241],
+ 961: [0.19444, 0.44444, 0, 0, 0.6118],
+ 962: [0.09722, 0.44444, 0.07917, 0, 0.42361],
+ 963: [0, 0.44444, 0.03704, 0, 0.68588],
+ 964: [0, 0.44444, 0.13472, 0, 0.52083],
+ 965: [0, 0.44444, 0.03704, 0, 0.63055],
+ 966: [0.19444, 0.44444, 0, 0, 0.74722],
+ 967: [0.19444, 0.44444, 0, 0, 0.71805],
+ 968: [0.19444, 0.69444, 0.03704, 0, 0.75833],
+ 969: [0, 0.44444, 0.03704, 0, 0.71782],
+ 977: [0, 0.69444, 0, 0, 0.69155],
+ 981: [0.19444, 0.69444, 0, 0, 0.7125],
+ 982: [0, 0.44444, 0.03194, 0, 0.975],
+ 1009: [0.19444, 0.44444, 0, 0, 0.6118],
+ 1013: [0, 0.44444, 0, 0, 0.48333],
+ 57649: [0, 0.44444, 0, 0, 0.39352],
+ 57911: [0.19444, 0.44444, 0, 0, 0.43889]
+ },
+ 'Math-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 48: [0, 0.43056, 0, 0, 0.5],
+ 49: [0, 0.43056, 0, 0, 0.5],
+ 50: [0, 0.43056, 0, 0, 0.5],
+ 51: [0.19444, 0.43056, 0, 0, 0.5],
+ 52: [0.19444, 0.43056, 0, 0, 0.5],
+ 53: [0.19444, 0.43056, 0, 0, 0.5],
+ 54: [0, 0.64444, 0, 0, 0.5],
+ 55: [0.19444, 0.43056, 0, 0, 0.5],
+ 56: [0, 0.64444, 0, 0, 0.5],
+ 57: [0.19444, 0.43056, 0, 0, 0.5],
+ 65: [0, 0.68333, 0, 0.13889, 0.75],
+ 66: [0, 0.68333, 0.05017, 0.08334, 0.75851],
+ 67: [0, 0.68333, 0.07153, 0.08334, 0.71472],
+ 68: [0, 0.68333, 0.02778, 0.05556, 0.82792],
+ 69: [0, 0.68333, 0.05764, 0.08334, 0.7382],
+ 70: [0, 0.68333, 0.13889, 0.08334, 0.64306],
+ 71: [0, 0.68333, 0, 0.08334, 0.78625],
+ 72: [0, 0.68333, 0.08125, 0.05556, 0.83125],
+ 73: [0, 0.68333, 0.07847, 0.11111, 0.43958],
+ 74: [0, 0.68333, 0.09618, 0.16667, 0.55451],
+ 75: [0, 0.68333, 0.07153, 0.05556, 0.84931],
+ 76: [0, 0.68333, 0, 0.02778, 0.68056],
+ 77: [0, 0.68333, 0.10903, 0.08334, 0.97014],
+ 78: [0, 0.68333, 0.10903, 0.08334, 0.80347],
+ 79: [0, 0.68333, 0.02778, 0.08334, 0.76278],
+ 80: [0, 0.68333, 0.13889, 0.08334, 0.64201],
+ 81: [0.19444, 0.68333, 0, 0.08334, 0.79056],
+ 82: [0, 0.68333, 0.00773, 0.08334, 0.75929],
+ 83: [0, 0.68333, 0.05764, 0.08334, 0.6132],
+ 84: [0, 0.68333, 0.13889, 0.08334, 0.58438],
+ 85: [0, 0.68333, 0.10903, 0.02778, 0.68278],
+ 86: [0, 0.68333, 0.22222, 0, 0.58333],
+ 87: [0, 0.68333, 0.13889, 0, 0.94445],
+ 88: [0, 0.68333, 0.07847, 0.08334, 0.82847],
+ 89: [0, 0.68333, 0.22222, 0, 0.58056],
+ 90: [0, 0.68333, 0.07153, 0.08334, 0.68264],
+ 97: [0, 0.43056, 0, 0, 0.52859],
+ 98: [0, 0.69444, 0, 0, 0.42917],
+ 99: [0, 0.43056, 0, 0.05556, 0.43276],
+ 100: [0, 0.69444, 0, 0.16667, 0.52049],
+ 101: [0, 0.43056, 0, 0.05556, 0.46563],
+ 102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],
+ 103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],
+ 104: [0, 0.69444, 0, 0, 0.57616],
+ 105: [0, 0.65952, 0, 0, 0.34451],
+ 106: [0.19444, 0.65952, 0.05724, 0, 0.41181],
+ 107: [0, 0.69444, 0.03148, 0, 0.5206],
+ 108: [0, 0.69444, 0.01968, 0.08334, 0.29838],
+ 109: [0, 0.43056, 0, 0, 0.87801],
+ 110: [0, 0.43056, 0, 0, 0.60023],
+ 111: [0, 0.43056, 0, 0.05556, 0.48472],
+ 112: [0.19444, 0.43056, 0, 0.08334, 0.50313],
+ 113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],
+ 114: [0, 0.43056, 0.02778, 0.05556, 0.45116],
+ 115: [0, 0.43056, 0, 0.05556, 0.46875],
+ 116: [0, 0.61508, 0, 0.08334, 0.36111],
+ 117: [0, 0.43056, 0, 0.02778, 0.57246],
+ 118: [0, 0.43056, 0.03588, 0.02778, 0.48472],
+ 119: [0, 0.43056, 0.02691, 0.08334, 0.71592],
+ 120: [0, 0.43056, 0, 0.02778, 0.57153],
+ 121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],
+ 122: [0, 0.43056, 0.04398, 0.05556, 0.46505],
+ 160: [0, 0, 0, 0, 0.25],
+ 915: [0, 0.68333, 0.13889, 0.08334, 0.61528],
+ 916: [0, 0.68333, 0, 0.16667, 0.83334],
+ 920: [0, 0.68333, 0.02778, 0.08334, 0.76278],
+ 923: [0, 0.68333, 0, 0.16667, 0.69445],
+ 926: [0, 0.68333, 0.07569, 0.08334, 0.74236],
+ 928: [0, 0.68333, 0.08125, 0.05556, 0.83125],
+ 931: [0, 0.68333, 0.05764, 0.08334, 0.77986],
+ 933: [0, 0.68333, 0.13889, 0.05556, 0.58333],
+ 934: [0, 0.68333, 0, 0.08334, 0.66667],
+ 936: [0, 0.68333, 0.11, 0.05556, 0.61222],
+ 937: [0, 0.68333, 0.05017, 0.08334, 0.7724],
+ 945: [0, 0.43056, 0.0037, 0.02778, 0.6397],
+ 946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],
+ 947: [0.19444, 0.43056, 0.05556, 0, 0.51773],
+ 948: [0, 0.69444, 0.03785, 0.05556, 0.44444],
+ 949: [0, 0.43056, 0, 0.08334, 0.46632],
+ 950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],
+ 951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],
+ 952: [0, 0.69444, 0.02778, 0.08334, 0.46944],
+ 953: [0, 0.43056, 0, 0.05556, 0.35394],
+ 954: [0, 0.43056, 0, 0, 0.57616],
+ 955: [0, 0.69444, 0, 0, 0.58334],
+ 956: [0.19444, 0.43056, 0, 0.02778, 0.60255],
+ 957: [0, 0.43056, 0.06366, 0.02778, 0.49398],
+ 958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],
+ 959: [0, 0.43056, 0, 0.05556, 0.48472],
+ 960: [0, 0.43056, 0.03588, 0, 0.57003],
+ 961: [0.19444, 0.43056, 0, 0.08334, 0.51702],
+ 962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],
+ 963: [0, 0.43056, 0.03588, 0, 0.57141],
+ 964: [0, 0.43056, 0.1132, 0.02778, 0.43715],
+ 965: [0, 0.43056, 0.03588, 0.02778, 0.54028],
+ 966: [0.19444, 0.43056, 0, 0.08334, 0.65417],
+ 967: [0.19444, 0.43056, 0, 0.05556, 0.62569],
+ 968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],
+ 969: [0, 0.43056, 0.03588, 0, 0.62245],
+ 977: [0, 0.69444, 0, 0.08334, 0.59144],
+ 981: [0.19444, 0.69444, 0, 0.08334, 0.59583],
+ 982: [0, 0.43056, 0.02778, 0, 0.82813],
+ 1009: [0.19444, 0.43056, 0, 0.08334, 0.51702],
+ 1013: [0, 0.43056, 0, 0.05556, 0.4059],
+ 57649: [0, 0.43056, 0, 0.02778, 0.32246],
+ 57911: [0.19444, 0.43056, 0, 0.08334, 0.38403]
+ },
+ 'SansSerif-Bold': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.36667],
+ 34: [0, 0.69444, 0, 0, 0.55834],
+ 35: [0.19444, 0.69444, 0, 0, 0.91667],
+ 36: [0.05556, 0.75, 0, 0, 0.55],
+ 37: [0.05556, 0.75, 0, 0, 1.02912],
+ 38: [0, 0.69444, 0, 0, 0.83056],
+ 39: [0, 0.69444, 0, 0, 0.30556],
+ 40: [0.25, 0.75, 0, 0, 0.42778],
+ 41: [0.25, 0.75, 0, 0, 0.42778],
+ 42: [0, 0.75, 0, 0, 0.55],
+ 43: [0.11667, 0.61667, 0, 0, 0.85556],
+ 44: [0.10556, 0.13056, 0, 0, 0.30556],
+ 45: [0, 0.45833, 0, 0, 0.36667],
+ 46: [0, 0.13056, 0, 0, 0.30556],
+ 47: [0.25, 0.75, 0, 0, 0.55],
+ 48: [0, 0.69444, 0, 0, 0.55],
+ 49: [0, 0.69444, 0, 0, 0.55],
+ 50: [0, 0.69444, 0, 0, 0.55],
+ 51: [0, 0.69444, 0, 0, 0.55],
+ 52: [0, 0.69444, 0, 0, 0.55],
+ 53: [0, 0.69444, 0, 0, 0.55],
+ 54: [0, 0.69444, 0, 0, 0.55],
+ 55: [0, 0.69444, 0, 0, 0.55],
+ 56: [0, 0.69444, 0, 0, 0.55],
+ 57: [0, 0.69444, 0, 0, 0.55],
+ 58: [0, 0.45833, 0, 0, 0.30556],
+ 59: [0.10556, 0.45833, 0, 0, 0.30556],
+ 61: [-0.09375, 0.40625, 0, 0, 0.85556],
+ 63: [0, 0.69444, 0, 0, 0.51945],
+ 64: [0, 0.69444, 0, 0, 0.73334],
+ 65: [0, 0.69444, 0, 0, 0.73334],
+ 66: [0, 0.69444, 0, 0, 0.73334],
+ 67: [0, 0.69444, 0, 0, 0.70278],
+ 68: [0, 0.69444, 0, 0, 0.79445],
+ 69: [0, 0.69444, 0, 0, 0.64167],
+ 70: [0, 0.69444, 0, 0, 0.61111],
+ 71: [0, 0.69444, 0, 0, 0.73334],
+ 72: [0, 0.69444, 0, 0, 0.79445],
+ 73: [0, 0.69444, 0, 0, 0.33056],
+ 74: [0, 0.69444, 0, 0, 0.51945],
+ 75: [0, 0.69444, 0, 0, 0.76389],
+ 76: [0, 0.69444, 0, 0, 0.58056],
+ 77: [0, 0.69444, 0, 0, 0.97778],
+ 78: [0, 0.69444, 0, 0, 0.79445],
+ 79: [0, 0.69444, 0, 0, 0.79445],
+ 80: [0, 0.69444, 0, 0, 0.70278],
+ 81: [0.10556, 0.69444, 0, 0, 0.79445],
+ 82: [0, 0.69444, 0, 0, 0.70278],
+ 83: [0, 0.69444, 0, 0, 0.61111],
+ 84: [0, 0.69444, 0, 0, 0.73334],
+ 85: [0, 0.69444, 0, 0, 0.76389],
+ 86: [0, 0.69444, 0.01528, 0, 0.73334],
+ 87: [0, 0.69444, 0.01528, 0, 1.03889],
+ 88: [0, 0.69444, 0, 0, 0.73334],
+ 89: [0, 0.69444, 0.0275, 0, 0.73334],
+ 90: [0, 0.69444, 0, 0, 0.67223],
+ 91: [0.25, 0.75, 0, 0, 0.34306],
+ 93: [0.25, 0.75, 0, 0, 0.34306],
+ 94: [0, 0.69444, 0, 0, 0.55],
+ 95: [0.35, 0.10833, 0.03056, 0, 0.55],
+ 97: [0, 0.45833, 0, 0, 0.525],
+ 98: [0, 0.69444, 0, 0, 0.56111],
+ 99: [0, 0.45833, 0, 0, 0.48889],
+ 100: [0, 0.69444, 0, 0, 0.56111],
+ 101: [0, 0.45833, 0, 0, 0.51111],
+ 102: [0, 0.69444, 0.07639, 0, 0.33611],
+ 103: [0.19444, 0.45833, 0.01528, 0, 0.55],
+ 104: [0, 0.69444, 0, 0, 0.56111],
+ 105: [0, 0.69444, 0, 0, 0.25556],
+ 106: [0.19444, 0.69444, 0, 0, 0.28611],
+ 107: [0, 0.69444, 0, 0, 0.53056],
+ 108: [0, 0.69444, 0, 0, 0.25556],
+ 109: [0, 0.45833, 0, 0, 0.86667],
+ 110: [0, 0.45833, 0, 0, 0.56111],
+ 111: [0, 0.45833, 0, 0, 0.55],
+ 112: [0.19444, 0.45833, 0, 0, 0.56111],
+ 113: [0.19444, 0.45833, 0, 0, 0.56111],
+ 114: [0, 0.45833, 0.01528, 0, 0.37222],
+ 115: [0, 0.45833, 0, 0, 0.42167],
+ 116: [0, 0.58929, 0, 0, 0.40417],
+ 117: [0, 0.45833, 0, 0, 0.56111],
+ 118: [0, 0.45833, 0.01528, 0, 0.5],
+ 119: [0, 0.45833, 0.01528, 0, 0.74445],
+ 120: [0, 0.45833, 0, 0, 0.5],
+ 121: [0.19444, 0.45833, 0.01528, 0, 0.5],
+ 122: [0, 0.45833, 0, 0, 0.47639],
+ 126: [0.35, 0.34444, 0, 0, 0.55],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.69444, 0, 0, 0.55],
+ 176: [0, 0.69444, 0, 0, 0.73334],
+ 180: [0, 0.69444, 0, 0, 0.55],
+ 184: [0.17014, 0, 0, 0, 0.48889],
+ 305: [0, 0.45833, 0, 0, 0.25556],
+ 567: [0.19444, 0.45833, 0, 0, 0.28611],
+ 710: [0, 0.69444, 0, 0, 0.55],
+ 711: [0, 0.63542, 0, 0, 0.55],
+ 713: [0, 0.63778, 0, 0, 0.55],
+ 728: [0, 0.69444, 0, 0, 0.55],
+ 729: [0, 0.69444, 0, 0, 0.30556],
+ 730: [0, 0.69444, 0, 0, 0.73334],
+ 732: [0, 0.69444, 0, 0, 0.55],
+ 733: [0, 0.69444, 0, 0, 0.55],
+ 915: [0, 0.69444, 0, 0, 0.58056],
+ 916: [0, 0.69444, 0, 0, 0.91667],
+ 920: [0, 0.69444, 0, 0, 0.85556],
+ 923: [0, 0.69444, 0, 0, 0.67223],
+ 926: [0, 0.69444, 0, 0, 0.73334],
+ 928: [0, 0.69444, 0, 0, 0.79445],
+ 931: [0, 0.69444, 0, 0, 0.79445],
+ 933: [0, 0.69444, 0, 0, 0.85556],
+ 934: [0, 0.69444, 0, 0, 0.79445],
+ 936: [0, 0.69444, 0, 0, 0.85556],
+ 937: [0, 0.69444, 0, 0, 0.79445],
+ 8211: [0, 0.45833, 0.03056, 0, 0.55],
+ 8212: [0, 0.45833, 0.03056, 0, 1.10001],
+ 8216: [0, 0.69444, 0, 0, 0.30556],
+ 8217: [0, 0.69444, 0, 0, 0.30556],
+ 8220: [0, 0.69444, 0, 0, 0.55834],
+ 8221: [0, 0.69444, 0, 0, 0.55834]
+ },
+ 'SansSerif-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.05733, 0, 0.31945],
+ 34: [0, 0.69444, 0.00316, 0, 0.5],
+ 35: [0.19444, 0.69444, 0.05087, 0, 0.83334],
+ 36: [0.05556, 0.75, 0.11156, 0, 0.5],
+ 37: [0.05556, 0.75, 0.03126, 0, 0.83334],
+ 38: [0, 0.69444, 0.03058, 0, 0.75834],
+ 39: [0, 0.69444, 0.07816, 0, 0.27778],
+ 40: [0.25, 0.75, 0.13164, 0, 0.38889],
+ 41: [0.25, 0.75, 0.02536, 0, 0.38889],
+ 42: [0, 0.75, 0.11775, 0, 0.5],
+ 43: [0.08333, 0.58333, 0.02536, 0, 0.77778],
+ 44: [0.125, 0.08333, 0, 0, 0.27778],
+ 45: [0, 0.44444, 0.01946, 0, 0.33333],
+ 46: [0, 0.08333, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0.13164, 0, 0.5],
+ 48: [0, 0.65556, 0.11156, 0, 0.5],
+ 49: [0, 0.65556, 0.11156, 0, 0.5],
+ 50: [0, 0.65556, 0.11156, 0, 0.5],
+ 51: [0, 0.65556, 0.11156, 0, 0.5],
+ 52: [0, 0.65556, 0.11156, 0, 0.5],
+ 53: [0, 0.65556, 0.11156, 0, 0.5],
+ 54: [0, 0.65556, 0.11156, 0, 0.5],
+ 55: [0, 0.65556, 0.11156, 0, 0.5],
+ 56: [0, 0.65556, 0.11156, 0, 0.5],
+ 57: [0, 0.65556, 0.11156, 0, 0.5],
+ 58: [0, 0.44444, 0.02502, 0, 0.27778],
+ 59: [0.125, 0.44444, 0.02502, 0, 0.27778],
+ 61: [-0.13, 0.37, 0.05087, 0, 0.77778],
+ 63: [0, 0.69444, 0.11809, 0, 0.47222],
+ 64: [0, 0.69444, 0.07555, 0, 0.66667],
+ 65: [0, 0.69444, 0, 0, 0.66667],
+ 66: [0, 0.69444, 0.08293, 0, 0.66667],
+ 67: [0, 0.69444, 0.11983, 0, 0.63889],
+ 68: [0, 0.69444, 0.07555, 0, 0.72223],
+ 69: [0, 0.69444, 0.11983, 0, 0.59722],
+ 70: [0, 0.69444, 0.13372, 0, 0.56945],
+ 71: [0, 0.69444, 0.11983, 0, 0.66667],
+ 72: [0, 0.69444, 0.08094, 0, 0.70834],
+ 73: [0, 0.69444, 0.13372, 0, 0.27778],
+ 74: [0, 0.69444, 0.08094, 0, 0.47222],
+ 75: [0, 0.69444, 0.11983, 0, 0.69445],
+ 76: [0, 0.69444, 0, 0, 0.54167],
+ 77: [0, 0.69444, 0.08094, 0, 0.875],
+ 78: [0, 0.69444, 0.08094, 0, 0.70834],
+ 79: [0, 0.69444, 0.07555, 0, 0.73611],
+ 80: [0, 0.69444, 0.08293, 0, 0.63889],
+ 81: [0.125, 0.69444, 0.07555, 0, 0.73611],
+ 82: [0, 0.69444, 0.08293, 0, 0.64584],
+ 83: [0, 0.69444, 0.09205, 0, 0.55556],
+ 84: [0, 0.69444, 0.13372, 0, 0.68056],
+ 85: [0, 0.69444, 0.08094, 0, 0.6875],
+ 86: [0, 0.69444, 0.1615, 0, 0.66667],
+ 87: [0, 0.69444, 0.1615, 0, 0.94445],
+ 88: [0, 0.69444, 0.13372, 0, 0.66667],
+ 89: [0, 0.69444, 0.17261, 0, 0.66667],
+ 90: [0, 0.69444, 0.11983, 0, 0.61111],
+ 91: [0.25, 0.75, 0.15942, 0, 0.28889],
+ 93: [0.25, 0.75, 0.08719, 0, 0.28889],
+ 94: [0, 0.69444, 0.0799, 0, 0.5],
+ 95: [0.35, 0.09444, 0.08616, 0, 0.5],
+ 97: [0, 0.44444, 0.00981, 0, 0.48056],
+ 98: [0, 0.69444, 0.03057, 0, 0.51667],
+ 99: [0, 0.44444, 0.08336, 0, 0.44445],
+ 100: [0, 0.69444, 0.09483, 0, 0.51667],
+ 101: [0, 0.44444, 0.06778, 0, 0.44445],
+ 102: [0, 0.69444, 0.21705, 0, 0.30556],
+ 103: [0.19444, 0.44444, 0.10836, 0, 0.5],
+ 104: [0, 0.69444, 0.01778, 0, 0.51667],
+ 105: [0, 0.67937, 0.09718, 0, 0.23889],
+ 106: [0.19444, 0.67937, 0.09162, 0, 0.26667],
+ 107: [0, 0.69444, 0.08336, 0, 0.48889],
+ 108: [0, 0.69444, 0.09483, 0, 0.23889],
+ 109: [0, 0.44444, 0.01778, 0, 0.79445],
+ 110: [0, 0.44444, 0.01778, 0, 0.51667],
+ 111: [0, 0.44444, 0.06613, 0, 0.5],
+ 112: [0.19444, 0.44444, 0.0389, 0, 0.51667],
+ 113: [0.19444, 0.44444, 0.04169, 0, 0.51667],
+ 114: [0, 0.44444, 0.10836, 0, 0.34167],
+ 115: [0, 0.44444, 0.0778, 0, 0.38333],
+ 116: [0, 0.57143, 0.07225, 0, 0.36111],
+ 117: [0, 0.44444, 0.04169, 0, 0.51667],
+ 118: [0, 0.44444, 0.10836, 0, 0.46111],
+ 119: [0, 0.44444, 0.10836, 0, 0.68334],
+ 120: [0, 0.44444, 0.09169, 0, 0.46111],
+ 121: [0.19444, 0.44444, 0.10836, 0, 0.46111],
+ 122: [0, 0.44444, 0.08752, 0, 0.43472],
+ 126: [0.35, 0.32659, 0.08826, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.67937, 0.06385, 0, 0.5],
+ 176: [0, 0.69444, 0, 0, 0.73752],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 305: [0, 0.44444, 0.04169, 0, 0.23889],
+ 567: [0.19444, 0.44444, 0.04169, 0, 0.26667],
+ 710: [0, 0.69444, 0.0799, 0, 0.5],
+ 711: [0, 0.63194, 0.08432, 0, 0.5],
+ 713: [0, 0.60889, 0.08776, 0, 0.5],
+ 714: [0, 0.69444, 0.09205, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0.09483, 0, 0.5],
+ 729: [0, 0.67937, 0.07774, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.73752],
+ 732: [0, 0.67659, 0.08826, 0, 0.5],
+ 733: [0, 0.69444, 0.09205, 0, 0.5],
+ 915: [0, 0.69444, 0.13372, 0, 0.54167],
+ 916: [0, 0.69444, 0, 0, 0.83334],
+ 920: [0, 0.69444, 0.07555, 0, 0.77778],
+ 923: [0, 0.69444, 0, 0, 0.61111],
+ 926: [0, 0.69444, 0.12816, 0, 0.66667],
+ 928: [0, 0.69444, 0.08094, 0, 0.70834],
+ 931: [0, 0.69444, 0.11983, 0, 0.72222],
+ 933: [0, 0.69444, 0.09031, 0, 0.77778],
+ 934: [0, 0.69444, 0.04603, 0, 0.72222],
+ 936: [0, 0.69444, 0.09031, 0, 0.77778],
+ 937: [0, 0.69444, 0.08293, 0, 0.72222],
+ 8211: [0, 0.44444, 0.08616, 0, 0.5],
+ 8212: [0, 0.44444, 0.08616, 0, 1],
+ 8216: [0, 0.69444, 0.07816, 0, 0.27778],
+ 8217: [0, 0.69444, 0.07816, 0, 0.27778],
+ 8220: [0, 0.69444, 0.14205, 0, 0.5],
+ 8221: [0, 0.69444, 0.00316, 0, 0.5]
+ },
+ 'SansSerif-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.31945],
+ 34: [0, 0.69444, 0, 0, 0.5],
+ 35: [0.19444, 0.69444, 0, 0, 0.83334],
+ 36: [0.05556, 0.75, 0, 0, 0.5],
+ 37: [0.05556, 0.75, 0, 0, 0.83334],
+ 38: [0, 0.69444, 0, 0, 0.75834],
+ 39: [0, 0.69444, 0, 0, 0.27778],
+ 40: [0.25, 0.75, 0, 0, 0.38889],
+ 41: [0.25, 0.75, 0, 0, 0.38889],
+ 42: [0, 0.75, 0, 0, 0.5],
+ 43: [0.08333, 0.58333, 0, 0, 0.77778],
+ 44: [0.125, 0.08333, 0, 0, 0.27778],
+ 45: [0, 0.44444, 0, 0, 0.33333],
+ 46: [0, 0.08333, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0, 0, 0.5],
+ 48: [0, 0.65556, 0, 0, 0.5],
+ 49: [0, 0.65556, 0, 0, 0.5],
+ 50: [0, 0.65556, 0, 0, 0.5],
+ 51: [0, 0.65556, 0, 0, 0.5],
+ 52: [0, 0.65556, 0, 0, 0.5],
+ 53: [0, 0.65556, 0, 0, 0.5],
+ 54: [0, 0.65556, 0, 0, 0.5],
+ 55: [0, 0.65556, 0, 0, 0.5],
+ 56: [0, 0.65556, 0, 0, 0.5],
+ 57: [0, 0.65556, 0, 0, 0.5],
+ 58: [0, 0.44444, 0, 0, 0.27778],
+ 59: [0.125, 0.44444, 0, 0, 0.27778],
+ 61: [-0.13, 0.37, 0, 0, 0.77778],
+ 63: [0, 0.69444, 0, 0, 0.47222],
+ 64: [0, 0.69444, 0, 0, 0.66667],
+ 65: [0, 0.69444, 0, 0, 0.66667],
+ 66: [0, 0.69444, 0, 0, 0.66667],
+ 67: [0, 0.69444, 0, 0, 0.63889],
+ 68: [0, 0.69444, 0, 0, 0.72223],
+ 69: [0, 0.69444, 0, 0, 0.59722],
+ 70: [0, 0.69444, 0, 0, 0.56945],
+ 71: [0, 0.69444, 0, 0, 0.66667],
+ 72: [0, 0.69444, 0, 0, 0.70834],
+ 73: [0, 0.69444, 0, 0, 0.27778],
+ 74: [0, 0.69444, 0, 0, 0.47222],
+ 75: [0, 0.69444, 0, 0, 0.69445],
+ 76: [0, 0.69444, 0, 0, 0.54167],
+ 77: [0, 0.69444, 0, 0, 0.875],
+ 78: [0, 0.69444, 0, 0, 0.70834],
+ 79: [0, 0.69444, 0, 0, 0.73611],
+ 80: [0, 0.69444, 0, 0, 0.63889],
+ 81: [0.125, 0.69444, 0, 0, 0.73611],
+ 82: [0, 0.69444, 0, 0, 0.64584],
+ 83: [0, 0.69444, 0, 0, 0.55556],
+ 84: [0, 0.69444, 0, 0, 0.68056],
+ 85: [0, 0.69444, 0, 0, 0.6875],
+ 86: [0, 0.69444, 0.01389, 0, 0.66667],
+ 87: [0, 0.69444, 0.01389, 0, 0.94445],
+ 88: [0, 0.69444, 0, 0, 0.66667],
+ 89: [0, 0.69444, 0.025, 0, 0.66667],
+ 90: [0, 0.69444, 0, 0, 0.61111],
+ 91: [0.25, 0.75, 0, 0, 0.28889],
+ 93: [0.25, 0.75, 0, 0, 0.28889],
+ 94: [0, 0.69444, 0, 0, 0.5],
+ 95: [0.35, 0.09444, 0.02778, 0, 0.5],
+ 97: [0, 0.44444, 0, 0, 0.48056],
+ 98: [0, 0.69444, 0, 0, 0.51667],
+ 99: [0, 0.44444, 0, 0, 0.44445],
+ 100: [0, 0.69444, 0, 0, 0.51667],
+ 101: [0, 0.44444, 0, 0, 0.44445],
+ 102: [0, 0.69444, 0.06944, 0, 0.30556],
+ 103: [0.19444, 0.44444, 0.01389, 0, 0.5],
+ 104: [0, 0.69444, 0, 0, 0.51667],
+ 105: [0, 0.67937, 0, 0, 0.23889],
+ 106: [0.19444, 0.67937, 0, 0, 0.26667],
+ 107: [0, 0.69444, 0, 0, 0.48889],
+ 108: [0, 0.69444, 0, 0, 0.23889],
+ 109: [0, 0.44444, 0, 0, 0.79445],
+ 110: [0, 0.44444, 0, 0, 0.51667],
+ 111: [0, 0.44444, 0, 0, 0.5],
+ 112: [0.19444, 0.44444, 0, 0, 0.51667],
+ 113: [0.19444, 0.44444, 0, 0, 0.51667],
+ 114: [0, 0.44444, 0.01389, 0, 0.34167],
+ 115: [0, 0.44444, 0, 0, 0.38333],
+ 116: [0, 0.57143, 0, 0, 0.36111],
+ 117: [0, 0.44444, 0, 0, 0.51667],
+ 118: [0, 0.44444, 0.01389, 0, 0.46111],
+ 119: [0, 0.44444, 0.01389, 0, 0.68334],
+ 120: [0, 0.44444, 0, 0, 0.46111],
+ 121: [0.19444, 0.44444, 0.01389, 0, 0.46111],
+ 122: [0, 0.44444, 0, 0, 0.43472],
+ 126: [0.35, 0.32659, 0, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.67937, 0, 0, 0.5],
+ 176: [0, 0.69444, 0, 0, 0.66667],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 305: [0, 0.44444, 0, 0, 0.23889],
+ 567: [0.19444, 0.44444, 0, 0, 0.26667],
+ 710: [0, 0.69444, 0, 0, 0.5],
+ 711: [0, 0.63194, 0, 0, 0.5],
+ 713: [0, 0.60889, 0, 0, 0.5],
+ 714: [0, 0.69444, 0, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0, 0, 0.5],
+ 729: [0, 0.67937, 0, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.66667],
+ 732: [0, 0.67659, 0, 0, 0.5],
+ 733: [0, 0.69444, 0, 0, 0.5],
+ 915: [0, 0.69444, 0, 0, 0.54167],
+ 916: [0, 0.69444, 0, 0, 0.83334],
+ 920: [0, 0.69444, 0, 0, 0.77778],
+ 923: [0, 0.69444, 0, 0, 0.61111],
+ 926: [0, 0.69444, 0, 0, 0.66667],
+ 928: [0, 0.69444, 0, 0, 0.70834],
+ 931: [0, 0.69444, 0, 0, 0.72222],
+ 933: [0, 0.69444, 0, 0, 0.77778],
+ 934: [0, 0.69444, 0, 0, 0.72222],
+ 936: [0, 0.69444, 0, 0, 0.77778],
+ 937: [0, 0.69444, 0, 0, 0.72222],
+ 8211: [0, 0.44444, 0.02778, 0, 0.5],
+ 8212: [0, 0.44444, 0.02778, 0, 1],
+ 8216: [0, 0.69444, 0, 0, 0.27778],
+ 8217: [0, 0.69444, 0, 0, 0.27778],
+ 8220: [0, 0.69444, 0, 0, 0.5],
+ 8221: [0, 0.69444, 0, 0, 0.5]
+ },
+ 'Script-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.7, 0.22925, 0, 0.80253],
+ 66: [0, 0.7, 0.04087, 0, 0.90757],
+ 67: [0, 0.7, 0.1689, 0, 0.66619],
+ 68: [0, 0.7, 0.09371, 0, 0.77443],
+ 69: [0, 0.7, 0.18583, 0, 0.56162],
+ 70: [0, 0.7, 0.13634, 0, 0.89544],
+ 71: [0, 0.7, 0.17322, 0, 0.60961],
+ 72: [0, 0.7, 0.29694, 0, 0.96919],
+ 73: [0, 0.7, 0.19189, 0, 0.80907],
+ 74: [0.27778, 0.7, 0.19189, 0, 1.05159],
+ 75: [0, 0.7, 0.31259, 0, 0.91364],
+ 76: [0, 0.7, 0.19189, 0, 0.87373],
+ 77: [0, 0.7, 0.15981, 0, 1.08031],
+ 78: [0, 0.7, 0.3525, 0, 0.9015],
+ 79: [0, 0.7, 0.08078, 0, 0.73787],
+ 80: [0, 0.7, 0.08078, 0, 1.01262],
+ 81: [0, 0.7, 0.03305, 0, 0.88282],
+ 82: [0, 0.7, 0.06259, 0, 0.85],
+ 83: [0, 0.7, 0.19189, 0, 0.86767],
+ 84: [0, 0.7, 0.29087, 0, 0.74697],
+ 85: [0, 0.7, 0.25815, 0, 0.79996],
+ 86: [0, 0.7, 0.27523, 0, 0.62204],
+ 87: [0, 0.7, 0.27523, 0, 0.80532],
+ 88: [0, 0.7, 0.26006, 0, 0.94445],
+ 89: [0, 0.7, 0.2939, 0, 0.70961],
+ 90: [0, 0.7, 0.24037, 0, 0.8212],
+ 160: [0, 0, 0, 0, 0.25]
+ },
+ 'Size1-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.35001, 0.85, 0, 0, 0.45834],
+ 41: [0.35001, 0.85, 0, 0, 0.45834],
+ 47: [0.35001, 0.85, 0, 0, 0.57778],
+ 91: [0.35001, 0.85, 0, 0, 0.41667],
+ 92: [0.35001, 0.85, 0, 0, 0.57778],
+ 93: [0.35001, 0.85, 0, 0, 0.41667],
+ 123: [0.35001, 0.85, 0, 0, 0.58334],
+ 125: [0.35001, 0.85, 0, 0, 0.58334],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.72222, 0, 0, 0.55556],
+ 732: [0, 0.72222, 0, 0, 0.55556],
+ 770: [0, 0.72222, 0, 0, 0.55556],
+ 771: [0, 0.72222, 0, 0, 0.55556],
+ 8214: [-99e-5, 0.601, 0, 0, 0.77778],
+ 8593: [1e-5, 0.6, 0, 0, 0.66667],
+ 8595: [1e-5, 0.6, 0, 0, 0.66667],
+ 8657: [1e-5, 0.6, 0, 0, 0.77778],
+ 8659: [1e-5, 0.6, 0, 0, 0.77778],
+ 8719: [0.25001, 0.75, 0, 0, 0.94445],
+ 8720: [0.25001, 0.75, 0, 0, 0.94445],
+ 8721: [0.25001, 0.75, 0, 0, 1.05556],
+ 8730: [0.35001, 0.85, 0, 0, 1],
+ 8739: [-0.00599, 0.606, 0, 0, 0.33333],
+ 8741: [-0.00599, 0.606, 0, 0, 0.55556],
+ 8747: [0.30612, 0.805, 0.19445, 0, 0.47222],
+ 8748: [0.306, 0.805, 0.19445, 0, 0.47222],
+ 8749: [0.306, 0.805, 0.19445, 0, 0.47222],
+ 8750: [0.30612, 0.805, 0.19445, 0, 0.47222],
+ 8896: [0.25001, 0.75, 0, 0, 0.83334],
+ 8897: [0.25001, 0.75, 0, 0, 0.83334],
+ 8898: [0.25001, 0.75, 0, 0, 0.83334],
+ 8899: [0.25001, 0.75, 0, 0, 0.83334],
+ 8968: [0.35001, 0.85, 0, 0, 0.47222],
+ 8969: [0.35001, 0.85, 0, 0, 0.47222],
+ 8970: [0.35001, 0.85, 0, 0, 0.47222],
+ 8971: [0.35001, 0.85, 0, 0, 0.47222],
+ 9168: [-99e-5, 0.601, 0, 0, 0.66667],
+ 10216: [0.35001, 0.85, 0, 0, 0.47222],
+ 10217: [0.35001, 0.85, 0, 0, 0.47222],
+ 10752: [0.25001, 0.75, 0, 0, 1.11111],
+ 10753: [0.25001, 0.75, 0, 0, 1.11111],
+ 10754: [0.25001, 0.75, 0, 0, 1.11111],
+ 10756: [0.25001, 0.75, 0, 0, 0.83334],
+ 10758: [0.25001, 0.75, 0, 0, 0.83334]
+ },
+ 'Size2-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.65002, 1.15, 0, 0, 0.59722],
+ 41: [0.65002, 1.15, 0, 0, 0.59722],
+ 47: [0.65002, 1.15, 0, 0, 0.81111],
+ 91: [0.65002, 1.15, 0, 0, 0.47222],
+ 92: [0.65002, 1.15, 0, 0, 0.81111],
+ 93: [0.65002, 1.15, 0, 0, 0.47222],
+ 123: [0.65002, 1.15, 0, 0, 0.66667],
+ 125: [0.65002, 1.15, 0, 0, 0.66667],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.75, 0, 0, 1],
+ 732: [0, 0.75, 0, 0, 1],
+ 770: [0, 0.75, 0, 0, 1],
+ 771: [0, 0.75, 0, 0, 1],
+ 8719: [0.55001, 1.05, 0, 0, 1.27778],
+ 8720: [0.55001, 1.05, 0, 0, 1.27778],
+ 8721: [0.55001, 1.05, 0, 0, 1.44445],
+ 8730: [0.65002, 1.15, 0, 0, 1],
+ 8747: [0.86225, 1.36, 0.44445, 0, 0.55556],
+ 8748: [0.862, 1.36, 0.44445, 0, 0.55556],
+ 8749: [0.862, 1.36, 0.44445, 0, 0.55556],
+ 8750: [0.86225, 1.36, 0.44445, 0, 0.55556],
+ 8896: [0.55001, 1.05, 0, 0, 1.11111],
+ 8897: [0.55001, 1.05, 0, 0, 1.11111],
+ 8898: [0.55001, 1.05, 0, 0, 1.11111],
+ 8899: [0.55001, 1.05, 0, 0, 1.11111],
+ 8968: [0.65002, 1.15, 0, 0, 0.52778],
+ 8969: [0.65002, 1.15, 0, 0, 0.52778],
+ 8970: [0.65002, 1.15, 0, 0, 0.52778],
+ 8971: [0.65002, 1.15, 0, 0, 0.52778],
+ 10216: [0.65002, 1.15, 0, 0, 0.61111],
+ 10217: [0.65002, 1.15, 0, 0, 0.61111],
+ 10752: [0.55001, 1.05, 0, 0, 1.51112],
+ 10753: [0.55001, 1.05, 0, 0, 1.51112],
+ 10754: [0.55001, 1.05, 0, 0, 1.51112],
+ 10756: [0.55001, 1.05, 0, 0, 1.11111],
+ 10758: [0.55001, 1.05, 0, 0, 1.11111]
+ },
+ 'Size3-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.95003, 1.45, 0, 0, 0.73611],
+ 41: [0.95003, 1.45, 0, 0, 0.73611],
+ 47: [0.95003, 1.45, 0, 0, 1.04445],
+ 91: [0.95003, 1.45, 0, 0, 0.52778],
+ 92: [0.95003, 1.45, 0, 0, 1.04445],
+ 93: [0.95003, 1.45, 0, 0, 0.52778],
+ 123: [0.95003, 1.45, 0, 0, 0.75],
+ 125: [0.95003, 1.45, 0, 0, 0.75],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.75, 0, 0, 1.44445],
+ 732: [0, 0.75, 0, 0, 1.44445],
+ 770: [0, 0.75, 0, 0, 1.44445],
+ 771: [0, 0.75, 0, 0, 1.44445],
+ 8730: [0.95003, 1.45, 0, 0, 1],
+ 8968: [0.95003, 1.45, 0, 0, 0.58334],
+ 8969: [0.95003, 1.45, 0, 0, 0.58334],
+ 8970: [0.95003, 1.45, 0, 0, 0.58334],
+ 8971: [0.95003, 1.45, 0, 0, 0.58334],
+ 10216: [0.95003, 1.45, 0, 0, 0.75],
+ 10217: [0.95003, 1.45, 0, 0, 0.75]
+ },
+ 'Size4-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [1.25003, 1.75, 0, 0, 0.79167],
+ 41: [1.25003, 1.75, 0, 0, 0.79167],
+ 47: [1.25003, 1.75, 0, 0, 1.27778],
+ 91: [1.25003, 1.75, 0, 0, 0.58334],
+ 92: [1.25003, 1.75, 0, 0, 1.27778],
+ 93: [1.25003, 1.75, 0, 0, 0.58334],
+ 123: [1.25003, 1.75, 0, 0, 0.80556],
+ 125: [1.25003, 1.75, 0, 0, 0.80556],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.825, 0, 0, 1.8889],
+ 732: [0, 0.825, 0, 0, 1.8889],
+ 770: [0, 0.825, 0, 0, 1.8889],
+ 771: [0, 0.825, 0, 0, 1.8889],
+ 8730: [1.25003, 1.75, 0, 0, 1],
+ 8968: [1.25003, 1.75, 0, 0, 0.63889],
+ 8969: [1.25003, 1.75, 0, 0, 0.63889],
+ 8970: [1.25003, 1.75, 0, 0, 0.63889],
+ 8971: [1.25003, 1.75, 0, 0, 0.63889],
+ 9115: [0.64502, 1.155, 0, 0, 0.875],
+ 9116: [1e-5, 0.6, 0, 0, 0.875],
+ 9117: [0.64502, 1.155, 0, 0, 0.875],
+ 9118: [0.64502, 1.155, 0, 0, 0.875],
+ 9119: [1e-5, 0.6, 0, 0, 0.875],
+ 9120: [0.64502, 1.155, 0, 0, 0.875],
+ 9121: [0.64502, 1.155, 0, 0, 0.66667],
+ 9122: [-99e-5, 0.601, 0, 0, 0.66667],
+ 9123: [0.64502, 1.155, 0, 0, 0.66667],
+ 9124: [0.64502, 1.155, 0, 0, 0.66667],
+ 9125: [-99e-5, 0.601, 0, 0, 0.66667],
+ 9126: [0.64502, 1.155, 0, 0, 0.66667],
+ 9127: [1e-5, 0.9, 0, 0, 0.88889],
+ 9128: [0.65002, 1.15, 0, 0, 0.88889],
+ 9129: [0.90001, 0, 0, 0, 0.88889],
+ 9130: [0, 0.3, 0, 0, 0.88889],
+ 9131: [1e-5, 0.9, 0, 0, 0.88889],
+ 9132: [0.65002, 1.15, 0, 0, 0.88889],
+ 9133: [0.90001, 0, 0, 0, 0.88889],
+ 9143: [0.88502, 0.915, 0, 0, 1.05556],
+ 10216: [1.25003, 1.75, 0, 0, 0.80556],
+ 10217: [1.25003, 1.75, 0, 0, 0.80556],
+ 57344: [-0.00499, 0.605, 0, 0, 1.05556],
+ 57345: [-0.00499, 0.605, 0, 0, 1.05556],
+ 57680: [0, 0.12, 0, 0, 0.45],
+ 57681: [0, 0.12, 0, 0, 0.45],
+ 57682: [0, 0.12, 0, 0, 0.45],
+ 57683: [0, 0.12, 0, 0, 0.45]
+ },
+ 'Typewriter-Regular': {
+ 32: [0, 0, 0, 0, 0.525],
+ 33: [0, 0.61111, 0, 0, 0.525],
+ 34: [0, 0.61111, 0, 0, 0.525],
+ 35: [0, 0.61111, 0, 0, 0.525],
+ 36: [0.08333, 0.69444, 0, 0, 0.525],
+ 37: [0.08333, 0.69444, 0, 0, 0.525],
+ 38: [0, 0.61111, 0, 0, 0.525],
+ 39: [0, 0.61111, 0, 0, 0.525],
+ 40: [0.08333, 0.69444, 0, 0, 0.525],
+ 41: [0.08333, 0.69444, 0, 0, 0.525],
+ 42: [0, 0.52083, 0, 0, 0.525],
+ 43: [-0.08056, 0.53055, 0, 0, 0.525],
+ 44: [0.13889, 0.125, 0, 0, 0.525],
+ 45: [-0.08056, 0.53055, 0, 0, 0.525],
+ 46: [0, 0.125, 0, 0, 0.525],
+ 47: [0.08333, 0.69444, 0, 0, 0.525],
+ 48: [0, 0.61111, 0, 0, 0.525],
+ 49: [0, 0.61111, 0, 0, 0.525],
+ 50: [0, 0.61111, 0, 0, 0.525],
+ 51: [0, 0.61111, 0, 0, 0.525],
+ 52: [0, 0.61111, 0, 0, 0.525],
+ 53: [0, 0.61111, 0, 0, 0.525],
+ 54: [0, 0.61111, 0, 0, 0.525],
+ 55: [0, 0.61111, 0, 0, 0.525],
+ 56: [0, 0.61111, 0, 0, 0.525],
+ 57: [0, 0.61111, 0, 0, 0.525],
+ 58: [0, 0.43056, 0, 0, 0.525],
+ 59: [0.13889, 0.43056, 0, 0, 0.525],
+ 60: [-0.05556, 0.55556, 0, 0, 0.525],
+ 61: [-0.19549, 0.41562, 0, 0, 0.525],
+ 62: [-0.05556, 0.55556, 0, 0, 0.525],
+ 63: [0, 0.61111, 0, 0, 0.525],
+ 64: [0, 0.61111, 0, 0, 0.525],
+ 65: [0, 0.61111, 0, 0, 0.525],
+ 66: [0, 0.61111, 0, 0, 0.525],
+ 67: [0, 0.61111, 0, 0, 0.525],
+ 68: [0, 0.61111, 0, 0, 0.525],
+ 69: [0, 0.61111, 0, 0, 0.525],
+ 70: [0, 0.61111, 0, 0, 0.525],
+ 71: [0, 0.61111, 0, 0, 0.525],
+ 72: [0, 0.61111, 0, 0, 0.525],
+ 73: [0, 0.61111, 0, 0, 0.525],
+ 74: [0, 0.61111, 0, 0, 0.525],
+ 75: [0, 0.61111, 0, 0, 0.525],
+ 76: [0, 0.61111, 0, 0, 0.525],
+ 77: [0, 0.61111, 0, 0, 0.525],
+ 78: [0, 0.61111, 0, 0, 0.525],
+ 79: [0, 0.61111, 0, 0, 0.525],
+ 80: [0, 0.61111, 0, 0, 0.525],
+ 81: [0.13889, 0.61111, 0, 0, 0.525],
+ 82: [0, 0.61111, 0, 0, 0.525],
+ 83: [0, 0.61111, 0, 0, 0.525],
+ 84: [0, 0.61111, 0, 0, 0.525],
+ 85: [0, 0.61111, 0, 0, 0.525],
+ 86: [0, 0.61111, 0, 0, 0.525],
+ 87: [0, 0.61111, 0, 0, 0.525],
+ 88: [0, 0.61111, 0, 0, 0.525],
+ 89: [0, 0.61111, 0, 0, 0.525],
+ 90: [0, 0.61111, 0, 0, 0.525],
+ 91: [0.08333, 0.69444, 0, 0, 0.525],
+ 92: [0.08333, 0.69444, 0, 0, 0.525],
+ 93: [0.08333, 0.69444, 0, 0, 0.525],
+ 94: [0, 0.61111, 0, 0, 0.525],
+ 95: [0.09514, 0, 0, 0, 0.525],
+ 96: [0, 0.61111, 0, 0, 0.525],
+ 97: [0, 0.43056, 0, 0, 0.525],
+ 98: [0, 0.61111, 0, 0, 0.525],
+ 99: [0, 0.43056, 0, 0, 0.525],
+ 100: [0, 0.61111, 0, 0, 0.525],
+ 101: [0, 0.43056, 0, 0, 0.525],
+ 102: [0, 0.61111, 0, 0, 0.525],
+ 103: [0.22222, 0.43056, 0, 0, 0.525],
+ 104: [0, 0.61111, 0, 0, 0.525],
+ 105: [0, 0.61111, 0, 0, 0.525],
+ 106: [0.22222, 0.61111, 0, 0, 0.525],
+ 107: [0, 0.61111, 0, 0, 0.525],
+ 108: [0, 0.61111, 0, 0, 0.525],
+ 109: [0, 0.43056, 0, 0, 0.525],
+ 110: [0, 0.43056, 0, 0, 0.525],
+ 111: [0, 0.43056, 0, 0, 0.525],
+ 112: [0.22222, 0.43056, 0, 0, 0.525],
+ 113: [0.22222, 0.43056, 0, 0, 0.525],
+ 114: [0, 0.43056, 0, 0, 0.525],
+ 115: [0, 0.43056, 0, 0, 0.525],
+ 116: [0, 0.55358, 0, 0, 0.525],
+ 117: [0, 0.43056, 0, 0, 0.525],
+ 118: [0, 0.43056, 0, 0, 0.525],
+ 119: [0, 0.43056, 0, 0, 0.525],
+ 120: [0, 0.43056, 0, 0, 0.525],
+ 121: [0.22222, 0.43056, 0, 0, 0.525],
+ 122: [0, 0.43056, 0, 0, 0.525],
+ 123: [0.08333, 0.69444, 0, 0, 0.525],
+ 124: [0.08333, 0.69444, 0, 0, 0.525],
+ 125: [0.08333, 0.69444, 0, 0, 0.525],
+ 126: [0, 0.61111, 0, 0, 0.525],
+ 127: [0, 0.61111, 0, 0, 0.525],
+ 160: [0, 0, 0, 0, 0.525],
+ 176: [0, 0.61111, 0, 0, 0.525],
+ 184: [0.19445, 0, 0, 0, 0.525],
+ 305: [0, 0.43056, 0, 0, 0.525],
+ 567: [0.22222, 0.43056, 0, 0, 0.525],
+ 711: [0, 0.56597, 0, 0, 0.525],
+ 713: [0, 0.56555, 0, 0, 0.525],
+ 714: [0, 0.61111, 0, 0, 0.525],
+ 715: [0, 0.61111, 0, 0, 0.525],
+ 728: [0, 0.61111, 0, 0, 0.525],
+ 730: [0, 0.61111, 0, 0, 0.525],
+ 770: [0, 0.61111, 0, 0, 0.525],
+ 771: [0, 0.61111, 0, 0, 0.525],
+ 776: [0, 0.61111, 0, 0, 0.525],
+ 915: [0, 0.61111, 0, 0, 0.525],
+ 916: [0, 0.61111, 0, 0, 0.525],
+ 920: [0, 0.61111, 0, 0, 0.525],
+ 923: [0, 0.61111, 0, 0, 0.525],
+ 926: [0, 0.61111, 0, 0, 0.525],
+ 928: [0, 0.61111, 0, 0, 0.525],
+ 931: [0, 0.61111, 0, 0, 0.525],
+ 933: [0, 0.61111, 0, 0, 0.525],
+ 934: [0, 0.61111, 0, 0, 0.525],
+ 936: [0, 0.61111, 0, 0, 0.525],
+ 937: [0, 0.61111, 0, 0, 0.525],
+ 8216: [0, 0.61111, 0, 0, 0.525],
+ 8217: [0, 0.61111, 0, 0, 0.525],
+ 8242: [0, 0.61111, 0, 0, 0.525],
+ 9251: [0.11111, 0.21944, 0, 0, 0.525]
+ }
+ }),
+ (Jb = {
+ slant: [0.25, 0.25, 0.25],
+ space: [0, 0, 0],
+ stretch: [0, 0, 0],
+ shrink: [0, 0, 0],
+ xHeight: [0.431, 0.431, 0.431],
+ quad: [1, 1.171, 1.472],
+ extraSpace: [0, 0, 0],
+ num1: [0.677, 0.732, 0.925],
+ num2: [0.394, 0.384, 0.387],
+ num3: [0.444, 0.471, 0.504],
+ denom1: [0.686, 0.752, 1.025],
+ denom2: [0.345, 0.344, 0.532],
+ sup1: [0.413, 0.503, 0.504],
+ sup2: [0.363, 0.431, 0.404],
+ sup3: [0.289, 0.286, 0.294],
+ sub1: [0.15, 0.143, 0.2],
+ sub2: [0.247, 0.286, 0.4],
+ supDrop: [0.386, 0.353, 0.494],
+ subDrop: [0.05, 0.071, 0.1],
+ delim1: [2.39, 1.7, 1.98],
+ delim2: [1.01, 1.157, 1.42],
+ axisHeight: [0.25, 0.25, 0.25],
+ defaultRuleThickness: [0.04, 0.049, 0.049],
+ bigOpSpacing1: [0.111, 0.111, 0.111],
+ bigOpSpacing2: [0.166, 0.166, 0.166],
+ bigOpSpacing3: [0.2, 0.2, 0.2],
+ bigOpSpacing4: [0.6, 0.611, 0.611],
+ bigOpSpacing5: [0.1, 0.143, 0.143],
+ sqrtRuleThickness: [0.04, 0.04, 0.04],
+ ptPerEm: [10, 10, 10],
+ doubleRuleSep: [0.2, 0.2, 0.2],
+ arrayRuleWidth: [0.04, 0.04, 0.04],
+ fboxsep: [0.3, 0.3, 0.3],
+ fboxrule: [0.04, 0.04, 0.04]
+ }),
+ (Zz = {
+ Å: 'A',
+ Ð: 'D',
+ Þ: 'o',
+ å: 'a',
+ ð: 'd',
+ þ: 'o',
+ А: 'A',
+ Б: 'B',
+ В: 'B',
+ Г: 'F',
+ Д: 'A',
+ Е: 'E',
+ Ж: 'K',
+ З: '3',
+ И: 'N',
+ Й: 'N',
+ К: 'K',
+ Л: 'N',
+ М: 'M',
+ Н: 'H',
+ О: 'O',
+ П: 'N',
+ Р: 'P',
+ С: 'C',
+ Т: 'T',
+ У: 'y',
+ Ф: 'O',
+ Х: 'X',
+ Ц: 'U',
+ Ч: 'h',
+ Ш: 'W',
+ Щ: 'W',
+ Ъ: 'B',
+ Ы: 'X',
+ Ь: 'B',
+ Э: '3',
+ Ю: 'X',
+ Я: 'R',
+ а: 'a',
+ б: 'b',
+ в: 'a',
+ г: 'r',
+ д: 'y',
+ е: 'e',
+ ж: 'm',
+ з: 'e',
+ и: 'n',
+ й: 'n',
+ к: 'n',
+ л: 'n',
+ м: 'm',
+ н: 'n',
+ о: 'o',
+ п: 'n',
+ р: 'p',
+ с: 'c',
+ т: 'o',
+ у: 'y',
+ ф: 'b',
+ х: 'x',
+ ц: 'n',
+ ч: 'n',
+ ш: 'w',
+ щ: 'w',
+ ъ: 'a',
+ ы: 'm',
+ ь: 'a',
+ э: 'e',
+ ю: 'm',
+ я: 'r'
+ });
+ o(axe, 'setFontMetrics');
+ o(M7, 'getCharacterMetrics');
+ l7 = {};
+ o(sxe, 'getGlobalMetrics');
+ (oxe = [
+ [1, 1, 1],
+ [2, 1, 1],
+ [3, 1, 1],
+ [4, 2, 1],
+ [5, 2, 1],
+ [6, 3, 1],
+ [7, 4, 2],
+ [8, 6, 3],
+ [9, 7, 6],
+ [10, 8, 7],
+ [11, 10, 9]
+ ]),
+ (Jz = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488]),
+ (eG = o(function (e, r) {
+ return r.size < 2 ? e : oxe[e - 1][r.size - 1];
+ }, 'sizeAtStyle')),
+ (d4 = class t {
+ static {
+ o(this, 'Options');
+ }
+ constructor(e) {
+ (this.style = void 0),
+ (this.color = void 0),
+ (this.size = void 0),
+ (this.textSize = void 0),
+ (this.phantom = void 0),
+ (this.font = void 0),
+ (this.fontFamily = void 0),
+ (this.fontWeight = void 0),
+ (this.fontShape = void 0),
+ (this.sizeMultiplier = void 0),
+ (this.maxSize = void 0),
+ (this.minRuleThickness = void 0),
+ (this._fontMetrics = void 0),
+ (this.style = e.style),
+ (this.color = e.color),
+ (this.size = e.size || t.BASESIZE),
+ (this.textSize = e.textSize || this.size),
+ (this.phantom = !!e.phantom),
+ (this.font = e.font || ''),
+ (this.fontFamily = e.fontFamily || ''),
+ (this.fontWeight = e.fontWeight || ''),
+ (this.fontShape = e.fontShape || ''),
+ (this.sizeMultiplier = Jz[this.size - 1]),
+ (this.maxSize = e.maxSize),
+ (this.minRuleThickness = e.minRuleThickness),
+ (this._fontMetrics = void 0);
+ }
+ extend(e) {
+ var r = {
+ style: this.style,
+ size: this.size,
+ textSize: this.textSize,
+ color: this.color,
+ phantom: this.phantom,
+ font: this.font,
+ fontFamily: this.fontFamily,
+ fontWeight: this.fontWeight,
+ fontShape: this.fontShape,
+ maxSize: this.maxSize,
+ minRuleThickness: this.minRuleThickness
+ };
+ for (var n in e) e.hasOwnProperty(n) && (r[n] = e[n]);
+ return new t(r);
+ }
+ havingStyle(e) {
+ return this.style === e ? this : this.extend({ style: e, size: eG(this.textSize, e) });
+ }
+ havingCrampedStyle() {
+ return this.havingStyle(this.style.cramp());
+ }
+ havingSize(e) {
+ return this.size === e && this.textSize === e
+ ? this
+ : this.extend({
+ style: this.style.text(),
+ size: e,
+ textSize: e,
+ sizeMultiplier: Jz[e - 1]
+ });
+ }
+ havingBaseStyle(e) {
+ e = e || this.style.text();
+ var r = eG(t.BASESIZE, e);
+ return this.size === r && this.textSize === t.BASESIZE && this.style === e
+ ? this
+ : this.extend({ style: e, size: r });
+ }
+ havingBaseSizing() {
+ var e;
+ switch (this.style.id) {
+ case 4:
+ case 5:
+ e = 3;
+ break;
+ case 6:
+ case 7:
+ e = 1;
+ break;
+ default:
+ e = 6;
+ }
+ return this.extend({ style: this.style.text(), size: e });
+ }
+ withColor(e) {
+ return this.extend({ color: e });
+ }
+ withPhantom() {
+ return this.extend({ phantom: !0 });
+ }
+ withFont(e) {
+ return this.extend({ font: e });
+ }
+ withTextFontFamily(e) {
+ return this.extend({ fontFamily: e, font: '' });
+ }
+ withTextFontWeight(e) {
+ return this.extend({ fontWeight: e, font: '' });
+ }
+ withTextFontShape(e) {
+ return this.extend({ fontShape: e, font: '' });
+ }
+ sizingClasses(e) {
+ return e.size !== this.size ? ['sizing', 'reset-size' + e.size, 'size' + this.size] : [];
+ }
+ baseSizingClasses() {
+ return this.size !== t.BASESIZE
+ ? ['sizing', 'reset-size' + this.size, 'size' + t.BASESIZE]
+ : [];
+ }
+ fontMetrics() {
+ return this._fontMetrics || (this._fontMetrics = sxe(this.size)), this._fontMetrics;
+ }
+ getColor() {
+ return this.phantom ? 'transparent' : this.color;
+ }
+ });
+ d4.BASESIZE = 6;
+ (w7 = {
+ pt: 1,
+ mm: 7227 / 2540,
+ cm: 7227 / 254,
+ in: 72.27,
+ bp: 803 / 800,
+ pc: 12,
+ dd: 1238 / 1157,
+ cc: 14856 / 1157,
+ nd: 685 / 642,
+ nc: 1370 / 107,
+ sp: 1 / 65536,
+ px: 803 / 800
+ }),
+ (lxe = { ex: !0, em: !0, mu: !0 }),
+ (DG = o(function (e) {
+ return typeof e != 'string' && (e = e.unit), e in w7 || e in lxe || e === 'ex';
+ }, 'validUnit')),
+ (Hn = o(function (e, r) {
+ var n;
+ if (e.unit in w7) n = w7[e.unit] / r.fontMetrics().ptPerEm / r.sizeMultiplier;
+ else if (e.unit === 'mu') n = r.fontMetrics().cssEmPerMu;
+ else {
+ var i;
+ if ((r.style.isTight() ? (i = r.havingStyle(r.style.text())) : (i = r), e.unit === 'ex'))
+ n = i.fontMetrics().xHeight;
+ else if (e.unit === 'em') n = i.fontMetrics().quad;
+ else throw new nt("Invalid unit: '" + e.unit + "'");
+ i !== r && (n *= i.sizeMultiplier / r.sizeMultiplier);
+ }
+ return Math.min(e.number * n, r.maxSize);
+ }, 'calculateSize')),
+ (ct = o(function (e) {
+ return +e.toFixed(4) + 'em';
+ }, 'makeEm')),
+ (dh = o(function (e) {
+ return e.filter((r) => r).join(' ');
+ }, 'createClass')),
+ (RG = o(function (e, r, n) {
+ if (
+ ((this.classes = e || []),
+ (this.attributes = {}),
+ (this.height = 0),
+ (this.depth = 0),
+ (this.maxFontSize = 0),
+ (this.style = n || {}),
+ r)
+ ) {
+ r.style.isTight() && this.classes.push('mtight');
+ var i = r.getColor();
+ i && (this.style.color = i);
+ }
+ }, 'initNode')),
+ (NG = o(function (e) {
+ var r = document.createElement(e);
+ r.className = dh(this.classes);
+ for (var n in this.style) this.style.hasOwnProperty(n) && (r.style[n] = this.style[n]);
+ for (var i in this.attributes)
+ this.attributes.hasOwnProperty(i) && r.setAttribute(i, this.attributes[i]);
+ for (var a = 0; a < this.children.length; a++) r.appendChild(this.children[a].toNode());
+ return r;
+ }, 'toNode')),
+ (MG = o(function (e) {
+ var r = '<' + e;
+ this.classes.length && (r += ' class="' + Vt.escape(dh(this.classes)) + '"');
+ var n = '';
+ for (var i in this.style)
+ this.style.hasOwnProperty(i) && (n += Vt.hyphenate(i) + ':' + this.style[i] + ';');
+ n && (r += ' style="' + Vt.escape(n) + '"');
+ for (var a in this.attributes)
+ this.attributes.hasOwnProperty(a) &&
+ (r += ' ' + a + '="' + Vt.escape(this.attributes[a]) + '"');
+ r += '>';
+ for (var s = 0; s < this.children.length; s++) r += this.children[s].toMarkup();
+ return (r += '' + e + '>'), r;
+ }, 'toMarkup')),
+ (jf = class {
+ static {
+ o(this, 'Span');
+ }
+ constructor(e, r, n, i) {
+ (this.children = void 0),
+ (this.attributes = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.width = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ RG.call(this, e, n, i),
+ (this.children = r || []);
+ }
+ setAttribute(e, r) {
+ this.attributes[e] = r;
+ }
+ hasClass(e) {
+ return Vt.contains(this.classes, e);
+ }
+ toNode() {
+ return NG.call(this, 'span');
+ }
+ toMarkup() {
+ return MG.call(this, 'span');
+ }
+ }),
+ (iy = class {
+ static {
+ o(this, 'Anchor');
+ }
+ constructor(e, r, n, i) {
+ (this.children = void 0),
+ (this.attributes = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ RG.call(this, r, i),
+ (this.children = n || []),
+ this.setAttribute('href', e);
+ }
+ setAttribute(e, r) {
+ this.attributes[e] = r;
+ }
+ hasClass(e) {
+ return Vt.contains(this.classes, e);
+ }
+ toNode() {
+ return NG.call(this, 'a');
+ }
+ toMarkup() {
+ return MG.call(this, 'a');
+ }
+ }),
+ (T7 = class {
+ static {
+ o(this, 'Img');
+ }
+ constructor(e, r, n) {
+ (this.src = void 0),
+ (this.alt = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ (this.alt = r),
+ (this.src = e),
+ (this.classes = ['mord']),
+ (this.style = n);
+ }
+ hasClass(e) {
+ return Vt.contains(this.classes, e);
+ }
+ toNode() {
+ var e = document.createElement('img');
+ (e.src = this.src), (e.alt = this.alt), (e.className = 'mord');
+ for (var r in this.style) this.style.hasOwnProperty(r) && (e.style[r] = this.style[r]);
+ return e;
+ }
+ toMarkup() {
+ var e = '"), e;
+ }
+ }),
+ (cxe = {
+ î: '\u0131\u0302',
+ ï: '\u0131\u0308',
+ í: '\u0131\u0301',
+ ì: '\u0131\u0300'
+ }),
+ (ms = class {
+ static {
+ o(this, 'SymbolNode');
+ }
+ constructor(e, r, n, i, a, s, l, u) {
+ (this.text = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.italic = void 0),
+ (this.skew = void 0),
+ (this.width = void 0),
+ (this.maxFontSize = void 0),
+ (this.classes = void 0),
+ (this.style = void 0),
+ (this.text = e),
+ (this.height = r || 0),
+ (this.depth = n || 0),
+ (this.italic = i || 0),
+ (this.skew = a || 0),
+ (this.width = s || 0),
+ (this.classes = l || []),
+ (this.style = u || {}),
+ (this.maxFontSize = 0);
+ var h = X2e(this.text.charCodeAt(0));
+ h && this.classes.push(h + '_fallback'),
+ /[îïíì]/.test(this.text) && (this.text = cxe[this.text]);
+ }
+ hasClass(e) {
+ return Vt.contains(this.classes, e);
+ }
+ toNode() {
+ var e = document.createTextNode(this.text),
+ r = null;
+ this.italic > 0 &&
+ ((r = document.createElement('span')), (r.style.marginRight = ct(this.italic))),
+ this.classes.length > 0 &&
+ ((r = r || document.createElement('span')), (r.className = dh(this.classes)));
+ for (var n in this.style)
+ this.style.hasOwnProperty(n) &&
+ ((r = r || document.createElement('span')), (r.style[n] = this.style[n]));
+ return r ? (r.appendChild(e), r) : e;
+ }
+ toMarkup() {
+ var e = !1,
+ r = ' 0 && (n += 'margin-right:' + this.italic + 'em;');
+ for (var i in this.style)
+ this.style.hasOwnProperty(i) && (n += Vt.hyphenate(i) + ':' + this.style[i] + ';');
+ n && ((e = !0), (r += ' style="' + Vt.escape(n) + '"'));
+ var a = Vt.escape(this.text);
+ return e ? ((r += '>'), (r += a), (r += ''), r) : a;
+ }
+ }),
+ (ll = class {
+ static {
+ o(this, 'SvgNode');
+ }
+ constructor(e, r) {
+ (this.children = void 0),
+ (this.attributes = void 0),
+ (this.children = e || []),
+ (this.attributes = r || {});
+ }
+ toNode() {
+ var e = 'http://www.w3.org/2000/svg',
+ r = document.createElementNS(e, 'svg');
+ for (var n in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, n) &&
+ r.setAttribute(n, this.attributes[n]);
+ for (var i = 0; i < this.children.length; i++) r.appendChild(this.children[i].toNode());
+ return r;
+ }
+ toMarkup() {
+ var e = ''), e;
+ }
+ }),
+ (Jl = class {
+ static {
+ o(this, 'PathNode');
+ }
+ constructor(e, r) {
+ (this.pathName = void 0), (this.alternate = void 0), (this.pathName = e), (this.alternate = r);
+ }
+ toNode() {
+ var e = 'http://www.w3.org/2000/svg',
+ r = document.createElementNS(e, 'path');
+ return (
+ this.alternate
+ ? r.setAttribute('d', this.alternate)
+ : r.setAttribute('d', Qz[this.pathName]),
+ r
+ );
+ }
+ toMarkup() {
+ return this.alternate
+ ? ''
+ : '';
+ }
+ }),
+ (ay = class {
+ static {
+ o(this, 'LineNode');
+ }
+ constructor(e) {
+ (this.attributes = void 0), (this.attributes = e || {});
+ }
+ toNode() {
+ var e = 'http://www.w3.org/2000/svg',
+ r = document.createElementNS(e, 'line');
+ for (var n in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, n) &&
+ r.setAttribute(n, this.attributes[n]);
+ return r;
+ }
+ toMarkup() {
+ var e = ''), e;
+ }
+ });
+ o(tG, 'assertSymbolDomNode');
+ o(uxe, 'assertSpan');
+ (hxe = { bin: 1, close: 1, inner: 1, open: 1, punct: 1, rel: 1 }),
+ (fxe = {
+ 'accent-token': 1,
+ mathord: 1,
+ 'op-token': 1,
+ spacing: 1,
+ textord: 1
+ }),
+ (wn = { math: {}, text: {} });
+ o(G, 'defineSymbol');
+ (U = 'math'),
+ (Qe = 'text'),
+ (ee = 'main'),
+ (ve = 'ams'),
+ (Pn = 'accent-token'),
+ (bt = 'bin'),
+ (Xa = 'close'),
+ (vp = 'inner'),
+ (Ut = 'mathord'),
+ (xi = 'op-token'),
+ (js = 'open'),
+ (b4 = 'punct'),
+ (xe = 'rel'),
+ (lu = 'spacing'),
+ (Le = 'textord');
+ G(U, ee, xe, '\u2261', '\\equiv', !0);
+ G(U, ee, xe, '\u227A', '\\prec', !0);
+ G(U, ee, xe, '\u227B', '\\succ', !0);
+ G(U, ee, xe, '\u223C', '\\sim', !0);
+ G(U, ee, xe, '\u22A5', '\\perp');
+ G(U, ee, xe, '\u2AAF', '\\preceq', !0);
+ G(U, ee, xe, '\u2AB0', '\\succeq', !0);
+ G(U, ee, xe, '\u2243', '\\simeq', !0);
+ G(U, ee, xe, '\u2223', '\\mid', !0);
+ G(U, ee, xe, '\u226A', '\\ll', !0);
+ G(U, ee, xe, '\u226B', '\\gg', !0);
+ G(U, ee, xe, '\u224D', '\\asymp', !0);
+ G(U, ee, xe, '\u2225', '\\parallel');
+ G(U, ee, xe, '\u22C8', '\\bowtie', !0);
+ G(U, ee, xe, '\u2323', '\\smile', !0);
+ G(U, ee, xe, '\u2291', '\\sqsubseteq', !0);
+ G(U, ee, xe, '\u2292', '\\sqsupseteq', !0);
+ G(U, ee, xe, '\u2250', '\\doteq', !0);
+ G(U, ee, xe, '\u2322', '\\frown', !0);
+ G(U, ee, xe, '\u220B', '\\ni', !0);
+ G(U, ee, xe, '\u221D', '\\propto', !0);
+ G(U, ee, xe, '\u22A2', '\\vdash', !0);
+ G(U, ee, xe, '\u22A3', '\\dashv', !0);
+ G(U, ee, xe, '\u220B', '\\owns');
+ G(U, ee, b4, '.', '\\ldotp');
+ G(U, ee, b4, '\u22C5', '\\cdotp');
+ G(U, ee, Le, '#', '\\#');
+ G(Qe, ee, Le, '#', '\\#');
+ G(U, ee, Le, '&', '\\&');
+ G(Qe, ee, Le, '&', '\\&');
+ G(U, ee, Le, '\u2135', '\\aleph', !0);
+ G(U, ee, Le, '\u2200', '\\forall', !0);
+ G(U, ee, Le, '\u210F', '\\hbar', !0);
+ G(U, ee, Le, '\u2203', '\\exists', !0);
+ G(U, ee, Le, '\u2207', '\\nabla', !0);
+ G(U, ee, Le, '\u266D', '\\flat', !0);
+ G(U, ee, Le, '\u2113', '\\ell', !0);
+ G(U, ee, Le, '\u266E', '\\natural', !0);
+ G(U, ee, Le, '\u2663', '\\clubsuit', !0);
+ G(U, ee, Le, '\u2118', '\\wp', !0);
+ G(U, ee, Le, '\u266F', '\\sharp', !0);
+ G(U, ee, Le, '\u2662', '\\diamondsuit', !0);
+ G(U, ee, Le, '\u211C', '\\Re', !0);
+ G(U, ee, Le, '\u2661', '\\heartsuit', !0);
+ G(U, ee, Le, '\u2111', '\\Im', !0);
+ G(U, ee, Le, '\u2660', '\\spadesuit', !0);
+ G(U, ee, Le, '\xA7', '\\S', !0);
+ G(Qe, ee, Le, '\xA7', '\\S');
+ G(U, ee, Le, '\xB6', '\\P', !0);
+ G(Qe, ee, Le, '\xB6', '\\P');
+ G(U, ee, Le, '\u2020', '\\dag');
+ G(Qe, ee, Le, '\u2020', '\\dag');
+ G(Qe, ee, Le, '\u2020', '\\textdagger');
+ G(U, ee, Le, '\u2021', '\\ddag');
+ G(Qe, ee, Le, '\u2021', '\\ddag');
+ G(Qe, ee, Le, '\u2021', '\\textdaggerdbl');
+ G(U, ee, Xa, '\u23B1', '\\rmoustache', !0);
+ G(U, ee, js, '\u23B0', '\\lmoustache', !0);
+ G(U, ee, Xa, '\u27EF', '\\rgroup', !0);
+ G(U, ee, js, '\u27EE', '\\lgroup', !0);
+ G(U, ee, bt, '\u2213', '\\mp', !0);
+ G(U, ee, bt, '\u2296', '\\ominus', !0);
+ G(U, ee, bt, '\u228E', '\\uplus', !0);
+ G(U, ee, bt, '\u2293', '\\sqcap', !0);
+ G(U, ee, bt, '\u2217', '\\ast');
+ G(U, ee, bt, '\u2294', '\\sqcup', !0);
+ G(U, ee, bt, '\u25EF', '\\bigcirc', !0);
+ G(U, ee, bt, '\u2219', '\\bullet', !0);
+ G(U, ee, bt, '\u2021', '\\ddagger');
+ G(U, ee, bt, '\u2240', '\\wr', !0);
+ G(U, ee, bt, '\u2A3F', '\\amalg');
+ G(U, ee, bt, '&', '\\And');
+ G(U, ee, xe, '\u27F5', '\\longleftarrow', !0);
+ G(U, ee, xe, '\u21D0', '\\Leftarrow', !0);
+ G(U, ee, xe, '\u27F8', '\\Longleftarrow', !0);
+ G(U, ee, xe, '\u27F6', '\\longrightarrow', !0);
+ G(U, ee, xe, '\u21D2', '\\Rightarrow', !0);
+ G(U, ee, xe, '\u27F9', '\\Longrightarrow', !0);
+ G(U, ee, xe, '\u2194', '\\leftrightarrow', !0);
+ G(U, ee, xe, '\u27F7', '\\longleftrightarrow', !0);
+ G(U, ee, xe, '\u21D4', '\\Leftrightarrow', !0);
+ G(U, ee, xe, '\u27FA', '\\Longleftrightarrow', !0);
+ G(U, ee, xe, '\u21A6', '\\mapsto', !0);
+ G(U, ee, xe, '\u27FC', '\\longmapsto', !0);
+ G(U, ee, xe, '\u2197', '\\nearrow', !0);
+ G(U, ee, xe, '\u21A9', '\\hookleftarrow', !0);
+ G(U, ee, xe, '\u21AA', '\\hookrightarrow', !0);
+ G(U, ee, xe, '\u2198', '\\searrow', !0);
+ G(U, ee, xe, '\u21BC', '\\leftharpoonup', !0);
+ G(U, ee, xe, '\u21C0', '\\rightharpoonup', !0);
+ G(U, ee, xe, '\u2199', '\\swarrow', !0);
+ G(U, ee, xe, '\u21BD', '\\leftharpoondown', !0);
+ G(U, ee, xe, '\u21C1', '\\rightharpoondown', !0);
+ G(U, ee, xe, '\u2196', '\\nwarrow', !0);
+ G(U, ee, xe, '\u21CC', '\\rightleftharpoons', !0);
+ G(U, ve, xe, '\u226E', '\\nless', !0);
+ G(U, ve, xe, '\uE010', '\\@nleqslant');
+ G(U, ve, xe, '\uE011', '\\@nleqq');
+ G(U, ve, xe, '\u2A87', '\\lneq', !0);
+ G(U, ve, xe, '\u2268', '\\lneqq', !0);
+ G(U, ve, xe, '\uE00C', '\\@lvertneqq');
+ G(U, ve, xe, '\u22E6', '\\lnsim', !0);
+ G(U, ve, xe, '\u2A89', '\\lnapprox', !0);
+ G(U, ve, xe, '\u2280', '\\nprec', !0);
+ G(U, ve, xe, '\u22E0', '\\npreceq', !0);
+ G(U, ve, xe, '\u22E8', '\\precnsim', !0);
+ G(U, ve, xe, '\u2AB9', '\\precnapprox', !0);
+ G(U, ve, xe, '\u2241', '\\nsim', !0);
+ G(U, ve, xe, '\uE006', '\\@nshortmid');
+ G(U, ve, xe, '\u2224', '\\nmid', !0);
+ G(U, ve, xe, '\u22AC', '\\nvdash', !0);
+ G(U, ve, xe, '\u22AD', '\\nvDash', !0);
+ G(U, ve, xe, '\u22EA', '\\ntriangleleft');
+ G(U, ve, xe, '\u22EC', '\\ntrianglelefteq', !0);
+ G(U, ve, xe, '\u228A', '\\subsetneq', !0);
+ G(U, ve, xe, '\uE01A', '\\@varsubsetneq');
+ G(U, ve, xe, '\u2ACB', '\\subsetneqq', !0);
+ G(U, ve, xe, '\uE017', '\\@varsubsetneqq');
+ G(U, ve, xe, '\u226F', '\\ngtr', !0);
+ G(U, ve, xe, '\uE00F', '\\@ngeqslant');
+ G(U, ve, xe, '\uE00E', '\\@ngeqq');
+ G(U, ve, xe, '\u2A88', '\\gneq', !0);
+ G(U, ve, xe, '\u2269', '\\gneqq', !0);
+ G(U, ve, xe, '\uE00D', '\\@gvertneqq');
+ G(U, ve, xe, '\u22E7', '\\gnsim', !0);
+ G(U, ve, xe, '\u2A8A', '\\gnapprox', !0);
+ G(U, ve, xe, '\u2281', '\\nsucc', !0);
+ G(U, ve, xe, '\u22E1', '\\nsucceq', !0);
+ G(U, ve, xe, '\u22E9', '\\succnsim', !0);
+ G(U, ve, xe, '\u2ABA', '\\succnapprox', !0);
+ G(U, ve, xe, '\u2246', '\\ncong', !0);
+ G(U, ve, xe, '\uE007', '\\@nshortparallel');
+ G(U, ve, xe, '\u2226', '\\nparallel', !0);
+ G(U, ve, xe, '\u22AF', '\\nVDash', !0);
+ G(U, ve, xe, '\u22EB', '\\ntriangleright');
+ G(U, ve, xe, '\u22ED', '\\ntrianglerighteq', !0);
+ G(U, ve, xe, '\uE018', '\\@nsupseteqq');
+ G(U, ve, xe, '\u228B', '\\supsetneq', !0);
+ G(U, ve, xe, '\uE01B', '\\@varsupsetneq');
+ G(U, ve, xe, '\u2ACC', '\\supsetneqq', !0);
+ G(U, ve, xe, '\uE019', '\\@varsupsetneqq');
+ G(U, ve, xe, '\u22AE', '\\nVdash', !0);
+ G(U, ve, xe, '\u2AB5', '\\precneqq', !0);
+ G(U, ve, xe, '\u2AB6', '\\succneqq', !0);
+ G(U, ve, xe, '\uE016', '\\@nsubseteqq');
+ G(U, ve, bt, '\u22B4', '\\unlhd');
+ G(U, ve, bt, '\u22B5', '\\unrhd');
+ G(U, ve, xe, '\u219A', '\\nleftarrow', !0);
+ G(U, ve, xe, '\u219B', '\\nrightarrow', !0);
+ G(U, ve, xe, '\u21CD', '\\nLeftarrow', !0);
+ G(U, ve, xe, '\u21CF', '\\nRightarrow', !0);
+ G(U, ve, xe, '\u21AE', '\\nleftrightarrow', !0);
+ G(U, ve, xe, '\u21CE', '\\nLeftrightarrow', !0);
+ G(U, ve, xe, '\u25B3', '\\vartriangle');
+ G(U, ve, Le, '\u210F', '\\hslash');
+ G(U, ve, Le, '\u25BD', '\\triangledown');
+ G(U, ve, Le, '\u25CA', '\\lozenge');
+ G(U, ve, Le, '\u24C8', '\\circledS');
+ G(U, ve, Le, '\xAE', '\\circledR');
+ G(Qe, ve, Le, '\xAE', '\\circledR');
+ G(U, ve, Le, '\u2221', '\\measuredangle', !0);
+ G(U, ve, Le, '\u2204', '\\nexists');
+ G(U, ve, Le, '\u2127', '\\mho');
+ G(U, ve, Le, '\u2132', '\\Finv', !0);
+ G(U, ve, Le, '\u2141', '\\Game', !0);
+ G(U, ve, Le, '\u2035', '\\backprime');
+ G(U, ve, Le, '\u25B2', '\\blacktriangle');
+ G(U, ve, Le, '\u25BC', '\\blacktriangledown');
+ G(U, ve, Le, '\u25A0', '\\blacksquare');
+ G(U, ve, Le, '\u29EB', '\\blacklozenge');
+ G(U, ve, Le, '\u2605', '\\bigstar');
+ G(U, ve, Le, '\u2222', '\\sphericalangle', !0);
+ G(U, ve, Le, '\u2201', '\\complement', !0);
+ G(U, ve, Le, '\xF0', '\\eth', !0);
+ G(Qe, ee, Le, '\xF0', '\xF0');
+ G(U, ve, Le, '\u2571', '\\diagup');
+ G(U, ve, Le, '\u2572', '\\diagdown');
+ G(U, ve, Le, '\u25A1', '\\square');
+ G(U, ve, Le, '\u25A1', '\\Box');
+ G(U, ve, Le, '\u25CA', '\\Diamond');
+ G(U, ve, Le, '\xA5', '\\yen', !0);
+ G(Qe, ve, Le, '\xA5', '\\yen', !0);
+ G(U, ve, Le, '\u2713', '\\checkmark', !0);
+ G(Qe, ve, Le, '\u2713', '\\checkmark');
+ G(U, ve, Le, '\u2136', '\\beth', !0);
+ G(U, ve, Le, '\u2138', '\\daleth', !0);
+ G(U, ve, Le, '\u2137', '\\gimel', !0);
+ G(U, ve, Le, '\u03DD', '\\digamma', !0);
+ G(U, ve, Le, '\u03F0', '\\varkappa');
+ G(U, ve, js, '\u250C', '\\@ulcorner', !0);
+ G(U, ve, Xa, '\u2510', '\\@urcorner', !0);
+ G(U, ve, js, '\u2514', '\\@llcorner', !0);
+ G(U, ve, Xa, '\u2518', '\\@lrcorner', !0);
+ G(U, ve, xe, '\u2266', '\\leqq', !0);
+ G(U, ve, xe, '\u2A7D', '\\leqslant', !0);
+ G(U, ve, xe, '\u2A95', '\\eqslantless', !0);
+ G(U, ve, xe, '\u2272', '\\lesssim', !0);
+ G(U, ve, xe, '\u2A85', '\\lessapprox', !0);
+ G(U, ve, xe, '\u224A', '\\approxeq', !0);
+ G(U, ve, bt, '\u22D6', '\\lessdot');
+ G(U, ve, xe, '\u22D8', '\\lll', !0);
+ G(U, ve, xe, '\u2276', '\\lessgtr', !0);
+ G(U, ve, xe, '\u22DA', '\\lesseqgtr', !0);
+ G(U, ve, xe, '\u2A8B', '\\lesseqqgtr', !0);
+ G(U, ve, xe, '\u2251', '\\doteqdot');
+ G(U, ve, xe, '\u2253', '\\risingdotseq', !0);
+ G(U, ve, xe, '\u2252', '\\fallingdotseq', !0);
+ G(U, ve, xe, '\u223D', '\\backsim', !0);
+ G(U, ve, xe, '\u22CD', '\\backsimeq', !0);
+ G(U, ve, xe, '\u2AC5', '\\subseteqq', !0);
+ G(U, ve, xe, '\u22D0', '\\Subset', !0);
+ G(U, ve, xe, '\u228F', '\\sqsubset', !0);
+ G(U, ve, xe, '\u227C', '\\preccurlyeq', !0);
+ G(U, ve, xe, '\u22DE', '\\curlyeqprec', !0);
+ G(U, ve, xe, '\u227E', '\\precsim', !0);
+ G(U, ve, xe, '\u2AB7', '\\precapprox', !0);
+ G(U, ve, xe, '\u22B2', '\\vartriangleleft');
+ G(U, ve, xe, '\u22B4', '\\trianglelefteq');
+ G(U, ve, xe, '\u22A8', '\\vDash', !0);
+ G(U, ve, xe, '\u22AA', '\\Vvdash', !0);
+ G(U, ve, xe, '\u2323', '\\smallsmile');
+ G(U, ve, xe, '\u2322', '\\smallfrown');
+ G(U, ve, xe, '\u224F', '\\bumpeq', !0);
+ G(U, ve, xe, '\u224E', '\\Bumpeq', !0);
+ G(U, ve, xe, '\u2267', '\\geqq', !0);
+ G(U, ve, xe, '\u2A7E', '\\geqslant', !0);
+ G(U, ve, xe, '\u2A96', '\\eqslantgtr', !0);
+ G(U, ve, xe, '\u2273', '\\gtrsim', !0);
+ G(U, ve, xe, '\u2A86', '\\gtrapprox', !0);
+ G(U, ve, bt, '\u22D7', '\\gtrdot');
+ G(U, ve, xe, '\u22D9', '\\ggg', !0);
+ G(U, ve, xe, '\u2277', '\\gtrless', !0);
+ G(U, ve, xe, '\u22DB', '\\gtreqless', !0);
+ G(U, ve, xe, '\u2A8C', '\\gtreqqless', !0);
+ G(U, ve, xe, '\u2256', '\\eqcirc', !0);
+ G(U, ve, xe, '\u2257', '\\circeq', !0);
+ G(U, ve, xe, '\u225C', '\\triangleq', !0);
+ G(U, ve, xe, '\u223C', '\\thicksim');
+ G(U, ve, xe, '\u2248', '\\thickapprox');
+ G(U, ve, xe, '\u2AC6', '\\supseteqq', !0);
+ G(U, ve, xe, '\u22D1', '\\Supset', !0);
+ G(U, ve, xe, '\u2290', '\\sqsupset', !0);
+ G(U, ve, xe, '\u227D', '\\succcurlyeq', !0);
+ G(U, ve, xe, '\u22DF', '\\curlyeqsucc', !0);
+ G(U, ve, xe, '\u227F', '\\succsim', !0);
+ G(U, ve, xe, '\u2AB8', '\\succapprox', !0);
+ G(U, ve, xe, '\u22B3', '\\vartriangleright');
+ G(U, ve, xe, '\u22B5', '\\trianglerighteq');
+ G(U, ve, xe, '\u22A9', '\\Vdash', !0);
+ G(U, ve, xe, '\u2223', '\\shortmid');
+ G(U, ve, xe, '\u2225', '\\shortparallel');
+ G(U, ve, xe, '\u226C', '\\between', !0);
+ G(U, ve, xe, '\u22D4', '\\pitchfork', !0);
+ G(U, ve, xe, '\u221D', '\\varpropto');
+ G(U, ve, xe, '\u25C0', '\\blacktriangleleft');
+ G(U, ve, xe, '\u2234', '\\therefore', !0);
+ G(U, ve, xe, '\u220D', '\\backepsilon');
+ G(U, ve, xe, '\u25B6', '\\blacktriangleright');
+ G(U, ve, xe, '\u2235', '\\because', !0);
+ G(U, ve, xe, '\u22D8', '\\llless');
+ G(U, ve, xe, '\u22D9', '\\gggtr');
+ G(U, ve, bt, '\u22B2', '\\lhd');
+ G(U, ve, bt, '\u22B3', '\\rhd');
+ G(U, ve, xe, '\u2242', '\\eqsim', !0);
+ G(U, ee, xe, '\u22C8', '\\Join');
+ G(U, ve, xe, '\u2251', '\\Doteq', !0);
+ G(U, ve, bt, '\u2214', '\\dotplus', !0);
+ G(U, ve, bt, '\u2216', '\\smallsetminus');
+ G(U, ve, bt, '\u22D2', '\\Cap', !0);
+ G(U, ve, bt, '\u22D3', '\\Cup', !0);
+ G(U, ve, bt, '\u2A5E', '\\doublebarwedge', !0);
+ G(U, ve, bt, '\u229F', '\\boxminus', !0);
+ G(U, ve, bt, '\u229E', '\\boxplus', !0);
+ G(U, ve, bt, '\u22C7', '\\divideontimes', !0);
+ G(U, ve, bt, '\u22C9', '\\ltimes', !0);
+ G(U, ve, bt, '\u22CA', '\\rtimes', !0);
+ G(U, ve, bt, '\u22CB', '\\leftthreetimes', !0);
+ G(U, ve, bt, '\u22CC', '\\rightthreetimes', !0);
+ G(U, ve, bt, '\u22CF', '\\curlywedge', !0);
+ G(U, ve, bt, '\u22CE', '\\curlyvee', !0);
+ G(U, ve, bt, '\u229D', '\\circleddash', !0);
+ G(U, ve, bt, '\u229B', '\\circledast', !0);
+ G(U, ve, bt, '\u22C5', '\\centerdot');
+ G(U, ve, bt, '\u22BA', '\\intercal', !0);
+ G(U, ve, bt, '\u22D2', '\\doublecap');
+ G(U, ve, bt, '\u22D3', '\\doublecup');
+ G(U, ve, bt, '\u22A0', '\\boxtimes', !0);
+ G(U, ve, xe, '\u21E2', '\\dashrightarrow', !0);
+ G(U, ve, xe, '\u21E0', '\\dashleftarrow', !0);
+ G(U, ve, xe, '\u21C7', '\\leftleftarrows', !0);
+ G(U, ve, xe, '\u21C6', '\\leftrightarrows', !0);
+ G(U, ve, xe, '\u21DA', '\\Lleftarrow', !0);
+ G(U, ve, xe, '\u219E', '\\twoheadleftarrow', !0);
+ G(U, ve, xe, '\u21A2', '\\leftarrowtail', !0);
+ G(U, ve, xe, '\u21AB', '\\looparrowleft', !0);
+ G(U, ve, xe, '\u21CB', '\\leftrightharpoons', !0);
+ G(U, ve, xe, '\u21B6', '\\curvearrowleft', !0);
+ G(U, ve, xe, '\u21BA', '\\circlearrowleft', !0);
+ G(U, ve, xe, '\u21B0', '\\Lsh', !0);
+ G(U, ve, xe, '\u21C8', '\\upuparrows', !0);
+ G(U, ve, xe, '\u21BF', '\\upharpoonleft', !0);
+ G(U, ve, xe, '\u21C3', '\\downharpoonleft', !0);
+ G(U, ee, xe, '\u22B6', '\\origof', !0);
+ G(U, ee, xe, '\u22B7', '\\imageof', !0);
+ G(U, ve, xe, '\u22B8', '\\multimap', !0);
+ G(U, ve, xe, '\u21AD', '\\leftrightsquigarrow', !0);
+ G(U, ve, xe, '\u21C9', '\\rightrightarrows', !0);
+ G(U, ve, xe, '\u21C4', '\\rightleftarrows', !0);
+ G(U, ve, xe, '\u21A0', '\\twoheadrightarrow', !0);
+ G(U, ve, xe, '\u21A3', '\\rightarrowtail', !0);
+ G(U, ve, xe, '\u21AC', '\\looparrowright', !0);
+ G(U, ve, xe, '\u21B7', '\\curvearrowright', !0);
+ G(U, ve, xe, '\u21BB', '\\circlearrowright', !0);
+ G(U, ve, xe, '\u21B1', '\\Rsh', !0);
+ G(U, ve, xe, '\u21CA', '\\downdownarrows', !0);
+ G(U, ve, xe, '\u21BE', '\\upharpoonright', !0);
+ G(U, ve, xe, '\u21C2', '\\downharpoonright', !0);
+ G(U, ve, xe, '\u21DD', '\\rightsquigarrow', !0);
+ G(U, ve, xe, '\u21DD', '\\leadsto');
+ G(U, ve, xe, '\u21DB', '\\Rrightarrow', !0);
+ G(U, ve, xe, '\u21BE', '\\restriction');
+ G(U, ee, Le, '\u2018', '`');
+ G(U, ee, Le, '$', '\\$');
+ G(Qe, ee, Le, '$', '\\$');
+ G(Qe, ee, Le, '$', '\\textdollar');
+ G(U, ee, Le, '%', '\\%');
+ G(Qe, ee, Le, '%', '\\%');
+ G(U, ee, Le, '_', '\\_');
+ G(Qe, ee, Le, '_', '\\_');
+ G(Qe, ee, Le, '_', '\\textunderscore');
+ G(U, ee, Le, '\u2220', '\\angle', !0);
+ G(U, ee, Le, '\u221E', '\\infty', !0);
+ G(U, ee, Le, '\u2032', '\\prime');
+ G(U, ee, Le, '\u25B3', '\\triangle');
+ G(U, ee, Le, '\u0393', '\\Gamma', !0);
+ G(U, ee, Le, '\u0394', '\\Delta', !0);
+ G(U, ee, Le, '\u0398', '\\Theta', !0);
+ G(U, ee, Le, '\u039B', '\\Lambda', !0);
+ G(U, ee, Le, '\u039E', '\\Xi', !0);
+ G(U, ee, Le, '\u03A0', '\\Pi', !0);
+ G(U, ee, Le, '\u03A3', '\\Sigma', !0);
+ G(U, ee, Le, '\u03A5', '\\Upsilon', !0);
+ G(U, ee, Le, '\u03A6', '\\Phi', !0);
+ G(U, ee, Le, '\u03A8', '\\Psi', !0);
+ G(U, ee, Le, '\u03A9', '\\Omega', !0);
+ G(U, ee, Le, 'A', '\u0391');
+ G(U, ee, Le, 'B', '\u0392');
+ G(U, ee, Le, 'E', '\u0395');
+ G(U, ee, Le, 'Z', '\u0396');
+ G(U, ee, Le, 'H', '\u0397');
+ G(U, ee, Le, 'I', '\u0399');
+ G(U, ee, Le, 'K', '\u039A');
+ G(U, ee, Le, 'M', '\u039C');
+ G(U, ee, Le, 'N', '\u039D');
+ G(U, ee, Le, 'O', '\u039F');
+ G(U, ee, Le, 'P', '\u03A1');
+ G(U, ee, Le, 'T', '\u03A4');
+ G(U, ee, Le, 'X', '\u03A7');
+ G(U, ee, Le, '\xAC', '\\neg', !0);
+ G(U, ee, Le, '\xAC', '\\lnot');
+ G(U, ee, Le, '\u22A4', '\\top');
+ G(U, ee, Le, '\u22A5', '\\bot');
+ G(U, ee, Le, '\u2205', '\\emptyset');
+ G(U, ve, Le, '\u2205', '\\varnothing');
+ G(U, ee, Ut, '\u03B1', '\\alpha', !0);
+ G(U, ee, Ut, '\u03B2', '\\beta', !0);
+ G(U, ee, Ut, '\u03B3', '\\gamma', !0);
+ G(U, ee, Ut, '\u03B4', '\\delta', !0);
+ G(U, ee, Ut, '\u03F5', '\\epsilon', !0);
+ G(U, ee, Ut, '\u03B6', '\\zeta', !0);
+ G(U, ee, Ut, '\u03B7', '\\eta', !0);
+ G(U, ee, Ut, '\u03B8', '\\theta', !0);
+ G(U, ee, Ut, '\u03B9', '\\iota', !0);
+ G(U, ee, Ut, '\u03BA', '\\kappa', !0);
+ G(U, ee, Ut, '\u03BB', '\\lambda', !0);
+ G(U, ee, Ut, '\u03BC', '\\mu', !0);
+ G(U, ee, Ut, '\u03BD', '\\nu', !0);
+ G(U, ee, Ut, '\u03BE', '\\xi', !0);
+ G(U, ee, Ut, '\u03BF', '\\omicron', !0);
+ G(U, ee, Ut, '\u03C0', '\\pi', !0);
+ G(U, ee, Ut, '\u03C1', '\\rho', !0);
+ G(U, ee, Ut, '\u03C3', '\\sigma', !0);
+ G(U, ee, Ut, '\u03C4', '\\tau', !0);
+ G(U, ee, Ut, '\u03C5', '\\upsilon', !0);
+ G(U, ee, Ut, '\u03D5', '\\phi', !0);
+ G(U, ee, Ut, '\u03C7', '\\chi', !0);
+ G(U, ee, Ut, '\u03C8', '\\psi', !0);
+ G(U, ee, Ut, '\u03C9', '\\omega', !0);
+ G(U, ee, Ut, '\u03B5', '\\varepsilon', !0);
+ G(U, ee, Ut, '\u03D1', '\\vartheta', !0);
+ G(U, ee, Ut, '\u03D6', '\\varpi', !0);
+ G(U, ee, Ut, '\u03F1', '\\varrho', !0);
+ G(U, ee, Ut, '\u03C2', '\\varsigma', !0);
+ G(U, ee, Ut, '\u03C6', '\\varphi', !0);
+ G(U, ee, bt, '\u2217', '*', !0);
+ G(U, ee, bt, '+', '+');
+ G(U, ee, bt, '\u2212', '-', !0);
+ G(U, ee, bt, '\u22C5', '\\cdot', !0);
+ G(U, ee, bt, '\u2218', '\\circ', !0);
+ G(U, ee, bt, '\xF7', '\\div', !0);
+ G(U, ee, bt, '\xB1', '\\pm', !0);
+ G(U, ee, bt, '\xD7', '\\times', !0);
+ G(U, ee, bt, '\u2229', '\\cap', !0);
+ G(U, ee, bt, '\u222A', '\\cup', !0);
+ G(U, ee, bt, '\u2216', '\\setminus', !0);
+ G(U, ee, bt, '\u2227', '\\land');
+ G(U, ee, bt, '\u2228', '\\lor');
+ G(U, ee, bt, '\u2227', '\\wedge', !0);
+ G(U, ee, bt, '\u2228', '\\vee', !0);
+ G(U, ee, Le, '\u221A', '\\surd');
+ G(U, ee, js, '\u27E8', '\\langle', !0);
+ G(U, ee, js, '\u2223', '\\lvert');
+ G(U, ee, js, '\u2225', '\\lVert');
+ G(U, ee, Xa, '?', '?');
+ G(U, ee, Xa, '!', '!');
+ G(U, ee, Xa, '\u27E9', '\\rangle', !0);
+ G(U, ee, Xa, '\u2223', '\\rvert');
+ G(U, ee, Xa, '\u2225', '\\rVert');
+ G(U, ee, xe, '=', '=');
+ G(U, ee, xe, ':', ':');
+ G(U, ee, xe, '\u2248', '\\approx', !0);
+ G(U, ee, xe, '\u2245', '\\cong', !0);
+ G(U, ee, xe, '\u2265', '\\ge');
+ G(U, ee, xe, '\u2265', '\\geq', !0);
+ G(U, ee, xe, '\u2190', '\\gets');
+ G(U, ee, xe, '>', '\\gt', !0);
+ G(U, ee, xe, '\u2208', '\\in', !0);
+ G(U, ee, xe, '\uE020', '\\@not');
+ G(U, ee, xe, '\u2282', '\\subset', !0);
+ G(U, ee, xe, '\u2283', '\\supset', !0);
+ G(U, ee, xe, '\u2286', '\\subseteq', !0);
+ G(U, ee, xe, '\u2287', '\\supseteq', !0);
+ G(U, ve, xe, '\u2288', '\\nsubseteq', !0);
+ G(U, ve, xe, '\u2289', '\\nsupseteq', !0);
+ G(U, ee, xe, '\u22A8', '\\models');
+ G(U, ee, xe, '\u2190', '\\leftarrow', !0);
+ G(U, ee, xe, '\u2264', '\\le');
+ G(U, ee, xe, '\u2264', '\\leq', !0);
+ G(U, ee, xe, '<', '\\lt', !0);
+ G(U, ee, xe, '\u2192', '\\rightarrow', !0);
+ G(U, ee, xe, '\u2192', '\\to');
+ G(U, ve, xe, '\u2271', '\\ngeq', !0);
+ G(U, ve, xe, '\u2270', '\\nleq', !0);
+ G(U, ee, lu, '\xA0', '\\ ');
+ G(U, ee, lu, '\xA0', '\\space');
+ G(U, ee, lu, '\xA0', '\\nobreakspace');
+ G(Qe, ee, lu, '\xA0', '\\ ');
+ G(Qe, ee, lu, '\xA0', ' ');
+ G(Qe, ee, lu, '\xA0', '\\space');
+ G(Qe, ee, lu, '\xA0', '\\nobreakspace');
+ G(U, ee, lu, null, '\\nobreak');
+ G(U, ee, lu, null, '\\allowbreak');
+ G(U, ee, b4, ',', ',');
+ G(U, ee, b4, ';', ';');
+ G(U, ve, bt, '\u22BC', '\\barwedge', !0);
+ G(U, ve, bt, '\u22BB', '\\veebar', !0);
+ G(U, ee, bt, '\u2299', '\\odot', !0);
+ G(U, ee, bt, '\u2295', '\\oplus', !0);
+ G(U, ee, bt, '\u2297', '\\otimes', !0);
+ G(U, ee, Le, '\u2202', '\\partial', !0);
+ G(U, ee, bt, '\u2298', '\\oslash', !0);
+ G(U, ve, bt, '\u229A', '\\circledcirc', !0);
+ G(U, ve, bt, '\u22A1', '\\boxdot', !0);
+ G(U, ee, bt, '\u25B3', '\\bigtriangleup');
+ G(U, ee, bt, '\u25BD', '\\bigtriangledown');
+ G(U, ee, bt, '\u2020', '\\dagger');
+ G(U, ee, bt, '\u22C4', '\\diamond');
+ G(U, ee, bt, '\u22C6', '\\star');
+ G(U, ee, bt, '\u25C3', '\\triangleleft');
+ G(U, ee, bt, '\u25B9', '\\triangleright');
+ G(U, ee, js, '{', '\\{');
+ G(Qe, ee, Le, '{', '\\{');
+ G(Qe, ee, Le, '{', '\\textbraceleft');
+ G(U, ee, Xa, '}', '\\}');
+ G(Qe, ee, Le, '}', '\\}');
+ G(Qe, ee, Le, '}', '\\textbraceright');
+ G(U, ee, js, '{', '\\lbrace');
+ G(U, ee, Xa, '}', '\\rbrace');
+ G(U, ee, js, '[', '\\lbrack', !0);
+ G(Qe, ee, Le, '[', '\\lbrack', !0);
+ G(U, ee, Xa, ']', '\\rbrack', !0);
+ G(Qe, ee, Le, ']', '\\rbrack', !0);
+ G(U, ee, js, '(', '\\lparen', !0);
+ G(U, ee, Xa, ')', '\\rparen', !0);
+ G(Qe, ee, Le, '<', '\\textless', !0);
+ G(Qe, ee, Le, '>', '\\textgreater', !0);
+ G(U, ee, js, '\u230A', '\\lfloor', !0);
+ G(U, ee, Xa, '\u230B', '\\rfloor', !0);
+ G(U, ee, js, '\u2308', '\\lceil', !0);
+ G(U, ee, Xa, '\u2309', '\\rceil', !0);
+ G(U, ee, Le, '\\', '\\backslash');
+ G(U, ee, Le, '\u2223', '|');
+ G(U, ee, Le, '\u2223', '\\vert');
+ G(Qe, ee, Le, '|', '\\textbar', !0);
+ G(U, ee, Le, '\u2225', '\\|');
+ G(U, ee, Le, '\u2225', '\\Vert');
+ G(Qe, ee, Le, '\u2225', '\\textbardbl');
+ G(Qe, ee, Le, '~', '\\textasciitilde');
+ G(Qe, ee, Le, '\\', '\\textbackslash');
+ G(Qe, ee, Le, '^', '\\textasciicircum');
+ G(U, ee, xe, '\u2191', '\\uparrow', !0);
+ G(U, ee, xe, '\u21D1', '\\Uparrow', !0);
+ G(U, ee, xe, '\u2193', '\\downarrow', !0);
+ G(U, ee, xe, '\u21D3', '\\Downarrow', !0);
+ G(U, ee, xe, '\u2195', '\\updownarrow', !0);
+ G(U, ee, xe, '\u21D5', '\\Updownarrow', !0);
+ G(U, ee, xi, '\u2210', '\\coprod');
+ G(U, ee, xi, '\u22C1', '\\bigvee');
+ G(U, ee, xi, '\u22C0', '\\bigwedge');
+ G(U, ee, xi, '\u2A04', '\\biguplus');
+ G(U, ee, xi, '\u22C2', '\\bigcap');
+ G(U, ee, xi, '\u22C3', '\\bigcup');
+ G(U, ee, xi, '\u222B', '\\int');
+ G(U, ee, xi, '\u222B', '\\intop');
+ G(U, ee, xi, '\u222C', '\\iint');
+ G(U, ee, xi, '\u222D', '\\iiint');
+ G(U, ee, xi, '\u220F', '\\prod');
+ G(U, ee, xi, '\u2211', '\\sum');
+ G(U, ee, xi, '\u2A02', '\\bigotimes');
+ G(U, ee, xi, '\u2A01', '\\bigoplus');
+ G(U, ee, xi, '\u2A00', '\\bigodot');
+ G(U, ee, xi, '\u222E', '\\oint');
+ G(U, ee, xi, '\u222F', '\\oiint');
+ G(U, ee, xi, '\u2230', '\\oiiint');
+ G(U, ee, xi, '\u2A06', '\\bigsqcup');
+ G(U, ee, xi, '\u222B', '\\smallint');
+ G(Qe, ee, vp, '\u2026', '\\textellipsis');
+ G(U, ee, vp, '\u2026', '\\mathellipsis');
+ G(Qe, ee, vp, '\u2026', '\\ldots', !0);
+ G(U, ee, vp, '\u2026', '\\ldots', !0);
+ G(U, ee, vp, '\u22EF', '\\@cdots', !0);
+ G(U, ee, vp, '\u22F1', '\\ddots', !0);
+ G(U, ee, Le, '\u22EE', '\\varvdots');
+ G(U, ee, Pn, '\u02CA', '\\acute');
+ G(U, ee, Pn, '\u02CB', '\\grave');
+ G(U, ee, Pn, '\xA8', '\\ddot');
+ G(U, ee, Pn, '~', '\\tilde');
+ G(U, ee, Pn, '\u02C9', '\\bar');
+ G(U, ee, Pn, '\u02D8', '\\breve');
+ G(U, ee, Pn, '\u02C7', '\\check');
+ G(U, ee, Pn, '^', '\\hat');
+ G(U, ee, Pn, '\u20D7', '\\vec');
+ G(U, ee, Pn, '\u02D9', '\\dot');
+ G(U, ee, Pn, '\u02DA', '\\mathring');
+ G(U, ee, Ut, '\uE131', '\\@imath');
+ G(U, ee, Ut, '\uE237', '\\@jmath');
+ G(U, ee, Le, '\u0131', '\u0131');
+ G(U, ee, Le, '\u0237', '\u0237');
+ G(Qe, ee, Le, '\u0131', '\\i', !0);
+ G(Qe, ee, Le, '\u0237', '\\j', !0);
+ G(Qe, ee, Le, '\xDF', '\\ss', !0);
+ G(Qe, ee, Le, '\xE6', '\\ae', !0);
+ G(Qe, ee, Le, '\u0153', '\\oe', !0);
+ G(Qe, ee, Le, '\xF8', '\\o', !0);
+ G(Qe, ee, Le, '\xC6', '\\AE', !0);
+ G(Qe, ee, Le, '\u0152', '\\OE', !0);
+ G(Qe, ee, Le, '\xD8', '\\O', !0);
+ G(Qe, ee, Pn, '\u02CA', "\\'");
+ G(Qe, ee, Pn, '\u02CB', '\\`');
+ G(Qe, ee, Pn, '\u02C6', '\\^');
+ G(Qe, ee, Pn, '\u02DC', '\\~');
+ G(Qe, ee, Pn, '\u02C9', '\\=');
+ G(Qe, ee, Pn, '\u02D8', '\\u');
+ G(Qe, ee, Pn, '\u02D9', '\\.');
+ G(Qe, ee, Pn, '\xB8', '\\c');
+ G(Qe, ee, Pn, '\u02DA', '\\r');
+ G(Qe, ee, Pn, '\u02C7', '\\v');
+ G(Qe, ee, Pn, '\xA8', '\\"');
+ G(Qe, ee, Pn, '\u02DD', '\\H');
+ G(Qe, ee, Pn, '\u25EF', '\\textcircled');
+ IG = { '--': !0, '---': !0, '``': !0, "''": !0 };
+ G(Qe, ee, Le, '\u2013', '--', !0);
+ G(Qe, ee, Le, '\u2013', '\\textendash');
+ G(Qe, ee, Le, '\u2014', '---', !0);
+ G(Qe, ee, Le, '\u2014', '\\textemdash');
+ G(Qe, ee, Le, '\u2018', '`', !0);
+ G(Qe, ee, Le, '\u2018', '\\textquoteleft');
+ G(Qe, ee, Le, '\u2019', "'", !0);
+ G(Qe, ee, Le, '\u2019', '\\textquoteright');
+ G(Qe, ee, Le, '\u201C', '``', !0);
+ G(Qe, ee, Le, '\u201C', '\\textquotedblleft');
+ G(Qe, ee, Le, '\u201D', "''", !0);
+ G(Qe, ee, Le, '\u201D', '\\textquotedblright');
+ G(U, ee, Le, '\xB0', '\\degree', !0);
+ G(Qe, ee, Le, '\xB0', '\\degree');
+ G(Qe, ee, Le, '\xB0', '\\textdegree', !0);
+ G(U, ee, Le, '\xA3', '\\pounds');
+ G(U, ee, Le, '\xA3', '\\mathsterling', !0);
+ G(Qe, ee, Le, '\xA3', '\\pounds');
+ G(Qe, ee, Le, '\xA3', '\\textsterling', !0);
+ G(U, ve, Le, '\u2720', '\\maltese');
+ G(Qe, ve, Le, '\u2720', '\\maltese');
+ rG = '0123456789/@."';
+ for (e4 = 0; e4 < rG.length; e4++) (c7 = rG.charAt(e4)), G(U, ee, Le, c7, c7);
+ nG = '0123456789!@*()-=+";:?/.,';
+ for (t4 = 0; t4 < nG.length; t4++) (u7 = nG.charAt(t4)), G(Qe, ee, Le, u7, u7);
+ p4 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+ for (r4 = 0; r4 < p4.length; r4++) (Z1 = p4.charAt(r4)), G(U, ee, Ut, Z1, Z1), G(Qe, ee, Le, Z1, Z1);
+ G(U, ve, Le, 'C', '\u2102');
+ G(Qe, ve, Le, 'C', '\u2102');
+ G(U, ve, Le, 'H', '\u210D');
+ G(Qe, ve, Le, 'H', '\u210D');
+ G(U, ve, Le, 'N', '\u2115');
+ G(Qe, ve, Le, 'N', '\u2115');
+ G(U, ve, Le, 'P', '\u2119');
+ G(Qe, ve, Le, 'P', '\u2119');
+ G(U, ve, Le, 'Q', '\u211A');
+ G(Qe, ve, Le, 'Q', '\u211A');
+ G(U, ve, Le, 'R', '\u211D');
+ G(Qe, ve, Le, 'R', '\u211D');
+ G(U, ve, Le, 'Z', '\u2124');
+ G(Qe, ve, Le, 'Z', '\u2124');
+ G(U, ee, Ut, 'h', '\u210E');
+ G(Qe, ee, Ut, 'h', '\u210E');
+ Xt = '';
+ for (Ra = 0; Ra < p4.length; Ra++)
+ (Vn = p4.charAt(Ra)),
+ (Xt = String.fromCharCode(55349, 56320 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56372 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56424 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56580 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56684 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56736 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56788 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56840 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56944 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ Ra < 26 &&
+ ((Xt = String.fromCharCode(55349, 56632 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt),
+ (Xt = String.fromCharCode(55349, 56476 + Ra)),
+ G(U, ee, Ut, Vn, Xt),
+ G(Qe, ee, Le, Vn, Xt));
+ Xt = '\u{1D55C}';
+ G(U, ee, Ut, 'k', Xt);
+ G(Qe, ee, Le, 'k', Xt);
+ for (hh = 0; hh < 10; hh++)
+ (ru = hh.toString()),
+ (Xt = String.fromCharCode(55349, 57294 + hh)),
+ G(U, ee, Ut, ru, Xt),
+ G(Qe, ee, Le, ru, Xt),
+ (Xt = String.fromCharCode(55349, 57314 + hh)),
+ G(U, ee, Ut, ru, Xt),
+ G(Qe, ee, Le, ru, Xt),
+ (Xt = String.fromCharCode(55349, 57324 + hh)),
+ G(U, ee, Ut, ru, Xt),
+ G(Qe, ee, Le, ru, Xt),
+ (Xt = String.fromCharCode(55349, 57334 + hh)),
+ G(U, ee, Ut, ru, Xt),
+ G(Qe, ee, Le, ru, Xt);
+ k7 = '\xD0\xDE\xFE';
+ for (n4 = 0; n4 < k7.length; n4++) (J1 = k7.charAt(n4)), G(U, ee, Ut, J1, J1), G(Qe, ee, Le, J1, J1);
+ (i4 = [
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['mathnormal', 'textit', 'Math-Italic'],
+ ['mathnormal', 'textit', 'Math-Italic'],
+ ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'],
+ ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'],
+ ['mathscr', 'textscr', 'Script-Regular'],
+ ['', '', ''],
+ ['', '', ''],
+ ['', '', ''],
+ ['mathfrak', 'textfrak', 'Fraktur-Regular'],
+ ['mathfrak', 'textfrak', 'Fraktur-Regular'],
+ ['mathbb', 'textbb', 'AMS-Regular'],
+ ['mathbb', 'textbb', 'AMS-Regular'],
+ ['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'],
+ ['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathitsf', 'textitsf', 'SansSerif-Italic'],
+ ['mathitsf', 'textitsf', 'SansSerif-Italic'],
+ ['', '', ''],
+ ['', '', ''],
+ ['mathtt', 'texttt', 'Typewriter-Regular'],
+ ['mathtt', 'texttt', 'Typewriter-Regular']
+ ]),
+ (iG = [
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['', '', ''],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathtt', 'texttt', 'Typewriter-Regular']
+ ]),
+ (dxe = o(function (e, r) {
+ var n = e.charCodeAt(0),
+ i = e.charCodeAt(1),
+ a = (n - 55296) * 1024 + (i - 56320) + 65536,
+ s = r === 'math' ? 0 : 1;
+ if (119808 <= a && a < 120484) {
+ var l = Math.floor((a - 119808) / 26);
+ return [i4[l][2], i4[l][s]];
+ } else if (120782 <= a && a <= 120831) {
+ var u = Math.floor((a - 120782) / 10);
+ return [iG[u][2], iG[u][s]];
+ } else {
+ if (a === 120485 || a === 120486) return [i4[0][2], i4[0][s]];
+ if (120486 < a && a < 120782) return ['', ''];
+ throw new nt('Unsupported character: ' + e);
+ }
+ }, 'wideCharacterFont')),
+ (w4 = o(function (e, r, n) {
+ return wn[n][e] && wn[n][e].replace && (e = wn[n][e].replace), { value: e, metrics: M7(e, r, n) };
+ }, 'lookupSymbol')),
+ (ol = o(function (e, r, n, i, a) {
+ var s = w4(e, r, n),
+ l = s.metrics;
+ e = s.value;
+ var u;
+ if (l) {
+ var h = l.italic;
+ (n === 'text' || (i && i.font === 'mathit')) && (h = 0),
+ (u = new ms(e, l.height, l.depth, h, l.skew, l.width, a));
+ } else typeof console < 'u' && console.warn('No character metrics ' + ("for '" + e + "' in style '" + r + "' and mode '" + n + "'")), (u = new ms(e, 0, 0, 0, 0, 0, a));
+ if (i) {
+ (u.maxFontSize = i.sizeMultiplier), i.style.isTight() && u.classes.push('mtight');
+ var f = i.getColor();
+ f && (u.style.color = f);
+ }
+ return u;
+ }, 'makeSymbol')),
+ (pxe = o(function (e, r, n, i) {
+ return (
+ i === void 0 && (i = []),
+ n.font === 'boldsymbol' && w4(e, 'Main-Bold', r).metrics
+ ? ol(e, 'Main-Bold', r, n, i.concat(['mathbf']))
+ : e === '\\' || wn[r][e].font === 'main'
+ ? ol(e, 'Main-Regular', r, n, i)
+ : ol(e, 'AMS-Regular', r, n, i.concat(['amsrm']))
+ );
+ }, 'mathsym')),
+ (mxe = o(function (e, r, n, i, a) {
+ return a !== 'textord' && w4(e, 'Math-BoldItalic', r).metrics
+ ? { fontName: 'Math-BoldItalic', fontClass: 'boldsymbol' }
+ : { fontName: 'Main-Bold', fontClass: 'mathbf' };
+ }, 'boldsymbol')),
+ (gxe = o(function (e, r, n) {
+ var i = e.mode,
+ a = e.text,
+ s = ['mord'],
+ l = i === 'math' || (i === 'text' && r.font),
+ u = l ? r.font : r.fontFamily,
+ h = '',
+ f = '';
+ if ((a.charCodeAt(0) === 55349 && ([h, f] = dxe(a, i)), h.length > 0))
+ return ol(a, h, i, r, s.concat(f));
+ if (u) {
+ var d, p;
+ if (u === 'boldsymbol') {
+ var m = mxe(a, i, r, s, n);
+ (d = m.fontName), (p = [m.fontClass]);
+ } else
+ l
+ ? ((d = BG[u].fontName), (p = [u]))
+ : ((d = a4(u, r.fontWeight, r.fontShape)), (p = [u, r.fontWeight, r.fontShape]));
+ if (w4(a, d, i).metrics) return ol(a, d, i, r, s.concat(p));
+ if (IG.hasOwnProperty(a) && d.slice(0, 10) === 'Typewriter') {
+ for (var g = [], y = 0; y < a.length; y++) g.push(ol(a[y], d, i, r, s.concat(p)));
+ return PG(g);
+ }
+ }
+ if (n === 'mathord') return ol(a, 'Math-Italic', i, r, s.concat(['mathnormal']));
+ if (n === 'textord') {
+ var v = wn[i][a] && wn[i][a].font;
+ if (v === 'ams') {
+ var x = a4('amsrm', r.fontWeight, r.fontShape);
+ return ol(a, x, i, r, s.concat('amsrm', r.fontWeight, r.fontShape));
+ } else if (v === 'main' || !v) {
+ var b = a4('textrm', r.fontWeight, r.fontShape);
+ return ol(a, b, i, r, s.concat(r.fontWeight, r.fontShape));
+ } else {
+ var w = a4(v, r.fontWeight, r.fontShape);
+ return ol(a, w, i, r, s.concat(w, r.fontWeight, r.fontShape));
+ }
+ } else throw new Error('unexpected type: ' + n + ' in makeOrd');
+ }, 'makeOrd')),
+ (yxe = o((t, e) => {
+ if (dh(t.classes) !== dh(e.classes) || t.skew !== e.skew || t.maxFontSize !== e.maxFontSize)
+ return !1;
+ if (t.classes.length === 1) {
+ var r = t.classes[0];
+ if (r === 'mbin' || r === 'mord') return !1;
+ }
+ for (var n in t.style) if (t.style.hasOwnProperty(n) && t.style[n] !== e.style[n]) return !1;
+ for (var i in e.style) if (e.style.hasOwnProperty(i) && t.style[i] !== e.style[i]) return !1;
+ return !0;
+ }, 'canCombine')),
+ (vxe = o((t) => {
+ for (var e = 0; e < t.length - 1; e++) {
+ var r = t[e],
+ n = t[e + 1];
+ r instanceof ms &&
+ n instanceof ms &&
+ yxe(r, n) &&
+ ((r.text += n.text),
+ (r.height = Math.max(r.height, n.height)),
+ (r.depth = Math.max(r.depth, n.depth)),
+ (r.italic = n.italic),
+ t.splice(e + 1, 1),
+ e--);
+ }
+ return t;
+ }, 'tryCombineChars')),
+ (I7 = o(function (e) {
+ for (var r = 0, n = 0, i = 0, a = 0; a < e.children.length; a++) {
+ var s = e.children[a];
+ s.height > r && (r = s.height),
+ s.depth > n && (n = s.depth),
+ s.maxFontSize > i && (i = s.maxFontSize);
+ }
+ (e.height = r), (e.depth = n), (e.maxFontSize = i);
+ }, 'sizeElementFromChildren')),
+ (ds = o(function (e, r, n, i) {
+ var a = new jf(e, r, n, i);
+ return I7(a), a;
+ }, 'makeSpan')),
+ (OG = o((t, e, r, n) => new jf(t, e, r, n), 'makeSvgSpan')),
+ (xxe = o(function (e, r, n) {
+ var i = ds([e], [], r);
+ return (
+ (i.height = Math.max(n || r.fontMetrics().defaultRuleThickness, r.minRuleThickness)),
+ (i.style.borderBottomWidth = ct(i.height)),
+ (i.maxFontSize = 1),
+ i
+ );
+ }, 'makeLineSpan')),
+ (bxe = o(function (e, r, n, i) {
+ var a = new iy(e, r, n, i);
+ return I7(a), a;
+ }, 'makeAnchor')),
+ (PG = o(function (e) {
+ var r = new Xf(e);
+ return I7(r), r;
+ }, 'makeFragment')),
+ (wxe = o(function (e, r) {
+ return e instanceof Xf ? ds([], [e], r) : e;
+ }, 'wrapFragment')),
+ (Txe = o(function (e) {
+ if (e.positionType === 'individualShift') {
+ for (
+ var r = e.children, n = [r[0]], i = -r[0].shift - r[0].elem.depth, a = i, s = 1;
+ s < r.length;
+ s++
+ ) {
+ var l = -r[s].shift - a - r[s].elem.depth,
+ u = l - (r[s - 1].elem.height + r[s - 1].elem.depth);
+ (a = a + l), n.push({ type: 'kern', size: u }), n.push(r[s]);
+ }
+ return { children: n, depth: i };
+ }
+ var h;
+ if (e.positionType === 'top') {
+ for (var f = e.positionData, d = 0; d < e.children.length; d++) {
+ var p = e.children[d];
+ f -= p.type === 'kern' ? p.size : p.elem.height + p.elem.depth;
+ }
+ h = f;
+ } else if (e.positionType === 'bottom') h = -e.positionData;
+ else {
+ var m = e.children[0];
+ if (m.type !== 'elem') throw new Error('First child must have type "elem".');
+ if (e.positionType === 'shift') h = -m.elem.depth - e.positionData;
+ else if (e.positionType === 'firstBaseline') h = -m.elem.depth;
+ else throw new Error('Invalid positionType ' + e.positionType + '.');
+ }
+ return { children: e.children, depth: h };
+ }, 'getVListChildrenAndDepth')),
+ (kxe = o(function (e, r) {
+ for (var { children: n, depth: i } = Txe(e), a = 0, s = 0; s < n.length; s++) {
+ var l = n[s];
+ if (l.type === 'elem') {
+ var u = l.elem;
+ a = Math.max(a, u.maxFontSize, u.height);
+ }
+ }
+ a += 2;
+ var h = ds(['pstrut'], []);
+ h.style.height = ct(a);
+ for (var f = [], d = i, p = i, m = i, g = 0; g < n.length; g++) {
+ var y = n[g];
+ if (y.type === 'kern') m += y.size;
+ else {
+ var v = y.elem,
+ x = y.wrapperClasses || [],
+ b = y.wrapperStyle || {},
+ w = ds(x, [h, v], void 0, b);
+ (w.style.top = ct(-a - m - v.depth)),
+ y.marginLeft && (w.style.marginLeft = y.marginLeft),
+ y.marginRight && (w.style.marginRight = y.marginRight),
+ f.push(w),
+ (m += v.height + v.depth);
+ }
+ (d = Math.min(d, m)), (p = Math.max(p, m));
+ }
+ var S = ds(['vlist'], f);
+ S.style.height = ct(p);
+ var T;
+ if (d < 0) {
+ var E = ds([], []),
+ _ = ds(['vlist'], [E]);
+ _.style.height = ct(-d);
+ var A = ds(['vlist-s'], [new ms('\u200B')]);
+ T = [ds(['vlist-r'], [S, A]), ds(['vlist-r'], [_])];
+ } else T = [ds(['vlist-r'], [S])];
+ var L = ds(['vlist-t'], T);
+ return T.length === 2 && L.classes.push('vlist-t2'), (L.height = p), (L.depth = -d), L;
+ }, 'makeVList')),
+ (Exe = o((t, e) => {
+ var r = ds(['mspace'], [], e),
+ n = Hn(t, e);
+ return (r.style.marginRight = ct(n)), r;
+ }, 'makeGlue')),
+ (a4 = o(function (e, r, n) {
+ var i = '';
+ switch (e) {
+ case 'amsrm':
+ i = 'AMS';
+ break;
+ case 'textrm':
+ i = 'Main';
+ break;
+ case 'textsf':
+ i = 'SansSerif';
+ break;
+ case 'texttt':
+ i = 'Typewriter';
+ break;
+ default:
+ i = e;
+ }
+ var a;
+ return (
+ r === 'textbf' && n === 'textit'
+ ? (a = 'BoldItalic')
+ : r === 'textbf'
+ ? (a = 'Bold')
+ : r === 'textit'
+ ? (a = 'Italic')
+ : (a = 'Regular'),
+ i + '-' + a
+ );
+ }, 'retrieveTextFontName')),
+ (BG = {
+ mathbf: { variant: 'bold', fontName: 'Main-Bold' },
+ mathrm: { variant: 'normal', fontName: 'Main-Regular' },
+ textit: { variant: 'italic', fontName: 'Main-Italic' },
+ mathit: { variant: 'italic', fontName: 'Main-Italic' },
+ mathnormal: { variant: 'italic', fontName: 'Math-Italic' },
+ mathbb: { variant: 'double-struck', fontName: 'AMS-Regular' },
+ mathcal: { variant: 'script', fontName: 'Caligraphic-Regular' },
+ mathfrak: { variant: 'fraktur', fontName: 'Fraktur-Regular' },
+ mathscr: { variant: 'script', fontName: 'Script-Regular' },
+ mathsf: { variant: 'sans-serif', fontName: 'SansSerif-Regular' },
+ mathtt: { variant: 'monospace', fontName: 'Typewriter-Regular' }
+ }),
+ (FG = {
+ vec: ['vec', 0.471, 0.714],
+ oiintSize1: ['oiintSize1', 0.957, 0.499],
+ oiintSize2: ['oiintSize2', 1.472, 0.659],
+ oiiintSize1: ['oiiintSize1', 1.304, 0.499],
+ oiiintSize2: ['oiiintSize2', 1.98, 0.659]
+ }),
+ (Cxe = o(function (e, r) {
+ var [n, i, a] = FG[e],
+ s = new Jl(n),
+ l = new ll([s], {
+ width: ct(i),
+ height: ct(a),
+ style: 'width:' + ct(i),
+ viewBox: '0 0 ' + 1e3 * i + ' ' + 1e3 * a,
+ preserveAspectRatio: 'xMinYMin'
+ }),
+ u = OG(['overlay'], [l], r);
+ return (u.height = a), (u.style.height = ct(a)), (u.style.width = ct(i)), u;
+ }, 'staticSvg')),
+ (Be = {
+ fontMap: BG,
+ makeSymbol: ol,
+ mathsym: pxe,
+ makeSpan: ds,
+ makeSvgSpan: OG,
+ makeLineSpan: xxe,
+ makeAnchor: bxe,
+ makeFragment: PG,
+ wrapFragment: wxe,
+ makeVList: kxe,
+ makeOrd: gxe,
+ makeGlue: Exe,
+ staticSvg: Cxe,
+ svgData: FG,
+ tryCombineChars: vxe
+ }),
+ (Un = { number: 3, unit: 'mu' }),
+ (Wf = { number: 4, unit: 'mu' }),
+ (nu = { number: 5, unit: 'mu' }),
+ (Sxe = {
+ mord: { mop: Un, mbin: Wf, mrel: nu, minner: Un },
+ mop: { mord: Un, mop: Un, mrel: nu, minner: Un },
+ mbin: { mord: Wf, mop: Wf, mopen: Wf, minner: Wf },
+ mrel: { mord: nu, mop: nu, mopen: nu, minner: nu },
+ mopen: {},
+ mclose: { mop: Un, mbin: Wf, mrel: nu, minner: Un },
+ mpunct: {
+ mord: Un,
+ mop: Un,
+ mrel: nu,
+ mopen: Un,
+ mclose: Un,
+ mpunct: Un,
+ minner: Un
+ },
+ minner: {
+ mord: Un,
+ mop: Un,
+ mbin: Wf,
+ mrel: nu,
+ mopen: Un,
+ mpunct: Un,
+ minner: Un
+ }
+ }),
+ (Axe = {
+ mord: { mop: Un },
+ mop: { mord: Un, mop: Un },
+ mbin: {},
+ mrel: {},
+ mopen: {},
+ mclose: { mop: Un },
+ mpunct: {},
+ minner: { mop: Un }
+ }),
+ (zG = {}),
+ (m4 = {}),
+ (g4 = {});
+ o(vt, 'defineFunction');
+ o(Kf, 'defineFunctionBuilders');
+ (y4 = o(function (e) {
+ return e.type === 'ordgroup' && e.body.length === 1 ? e.body[0] : e;
+ }, 'normalizeArgument')),
+ (ui = o(function (e) {
+ return e.type === 'ordgroup' ? e.body : [e];
+ }, 'ordargument')),
+ (su = Be.makeSpan),
+ (_xe = ['leftmost', 'mbin', 'mopen', 'mrel', 'mop', 'mpunct']),
+ (Lxe = ['rightmost', 'mrel', 'mclose', 'mpunct']),
+ (Dxe = {
+ display: Ht.DISPLAY,
+ text: Ht.TEXT,
+ script: Ht.SCRIPT,
+ scriptscript: Ht.SCRIPTSCRIPT
+ }),
+ (Rxe = {
+ mord: 'mord',
+ mop: 'mop',
+ mbin: 'mbin',
+ mrel: 'mrel',
+ mopen: 'mopen',
+ mclose: 'mclose',
+ mpunct: 'mpunct',
+ minner: 'minner'
+ }),
+ (Ri = o(function (e, r, n, i) {
+ i === void 0 && (i = [null, null]);
+ for (var a = [], s = 0; s < e.length; s++) {
+ var l = Cr(e[s], r);
+ if (l instanceof Xf) {
+ var u = l.children;
+ a.push(...u);
+ } else a.push(l);
+ }
+ if ((Be.tryCombineChars(a), !n)) return a;
+ var h = r;
+ if (e.length === 1) {
+ var f = e[0];
+ f.type === 'sizing'
+ ? (h = r.havingSize(f.size))
+ : f.type === 'styling' && (h = r.havingStyle(Dxe[f.style]));
+ }
+ var d = su([i[0] || 'leftmost'], [], r),
+ p = su([i[1] || 'rightmost'], [], r),
+ m = n === 'root';
+ return (
+ aG(
+ a,
+ (g, y) => {
+ var v = y.classes[0],
+ x = g.classes[0];
+ v === 'mbin' && Vt.contains(Lxe, x)
+ ? (y.classes[0] = 'mord')
+ : x === 'mbin' && Vt.contains(_xe, v) && (g.classes[0] = 'mord');
+ },
+ { node: d },
+ p,
+ m
+ ),
+ aG(
+ a,
+ (g, y) => {
+ var v = E7(y),
+ x = E7(g),
+ b = v && x ? (g.hasClass('mtight') ? Axe[v][x] : Sxe[v][x]) : null;
+ if (b) return Be.makeGlue(b, h);
+ },
+ { node: d },
+ p,
+ m
+ ),
+ a
+ );
+ }, 'buildExpression')),
+ (aG = o(function t(e, r, n, i, a) {
+ i && e.push(i);
+ for (var s = 0; s < e.length; s++) {
+ var l = e[s],
+ u = GG(l);
+ if (u) {
+ t(u.children, r, n, null, a);
+ continue;
+ }
+ var h = !l.hasClass('mspace');
+ if (h) {
+ var f = r(l, n.node);
+ f && (n.insertAfter ? n.insertAfter(f) : (e.unshift(f), s++));
+ }
+ h ? (n.node = l) : a && l.hasClass('newline') && (n.node = su(['leftmost'])),
+ (n.insertAfter = ((d) => (p) => {
+ e.splice(d + 1, 0, p), s++;
+ })(s));
+ }
+ i && e.pop();
+ }, 'traverseNonSpaceNodes')),
+ (GG = o(function (e) {
+ return e instanceof Xf || e instanceof iy || (e instanceof jf && e.hasClass('enclosing'))
+ ? e
+ : null;
+ }, 'checkPartialGroup')),
+ (Nxe = o(function t(e, r) {
+ var n = GG(e);
+ if (n) {
+ var i = n.children;
+ if (i.length) {
+ if (r === 'right') return t(i[i.length - 1], 'right');
+ if (r === 'left') return t(i[0], 'left');
+ }
+ }
+ return e;
+ }, 'getOutermostNode')),
+ (E7 = o(function (e, r) {
+ return e ? (r && (e = Nxe(e, r)), Rxe[e.classes[0]] || null) : null;
+ }, 'getTypeOfDomTree')),
+ (sy = o(function (e, r) {
+ var n = ['nulldelimiter'].concat(e.baseSizingClasses());
+ return su(r.concat(n));
+ }, 'makeNullDelimiter')),
+ (Cr = o(function (e, r, n) {
+ if (!e) return su();
+ if (m4[e.type]) {
+ var i = m4[e.type](e, r);
+ if (n && r.size !== n.size) {
+ i = su(r.sizingClasses(n), [i], r);
+ var a = r.sizeMultiplier / n.sizeMultiplier;
+ (i.height *= a), (i.depth *= a);
+ }
+ return i;
+ } else throw new nt("Got group of unknown type: '" + e.type + "'");
+ }, 'buildGroup'));
+ o(s4, 'buildHTMLUnbreakable');
+ o(C7, 'buildHTML');
+ o($G, 'newDocumentFragment');
+ (ps = class {
+ static {
+ o(this, 'MathNode');
+ }
+ constructor(e, r, n) {
+ (this.type = void 0),
+ (this.attributes = void 0),
+ (this.children = void 0),
+ (this.classes = void 0),
+ (this.type = e),
+ (this.attributes = {}),
+ (this.children = r || []),
+ (this.classes = n || []);
+ }
+ setAttribute(e, r) {
+ this.attributes[e] = r;
+ }
+ getAttribute(e) {
+ return this.attributes[e];
+ }
+ toNode() {
+ var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', this.type);
+ for (var r in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, r) &&
+ e.setAttribute(r, this.attributes[r]);
+ this.classes.length > 0 && (e.className = dh(this.classes));
+ for (var n = 0; n < this.children.length; n++) e.appendChild(this.children[n].toNode());
+ return e;
+ }
+ toMarkup() {
+ var e = '<' + this.type;
+ for (var r in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, r) &&
+ ((e += ' ' + r + '="'), (e += Vt.escape(this.attributes[r])), (e += '"'));
+ this.classes.length > 0 && (e += ' class ="' + Vt.escape(dh(this.classes)) + '"'), (e += '>');
+ for (var n = 0; n < this.children.length; n++) e += this.children[n].toMarkup();
+ return (e += '' + this.type + '>'), e;
+ }
+ toText() {
+ return this.children.map((e) => e.toText()).join('');
+ }
+ }),
+ (qf = class {
+ static {
+ o(this, 'TextNode');
+ }
+ constructor(e) {
+ (this.text = void 0), (this.text = e);
+ }
+ toNode() {
+ return document.createTextNode(this.text);
+ }
+ toMarkup() {
+ return Vt.escape(this.toText());
+ }
+ toText() {
+ return this.text;
+ }
+ }),
+ (S7 = class {
+ static {
+ o(this, 'SpaceNode');
+ }
+ constructor(e) {
+ (this.width = void 0),
+ (this.character = void 0),
+ (this.width = e),
+ e >= 0.05555 && e <= 0.05556
+ ? (this.character = '\u200A')
+ : e >= 0.1666 && e <= 0.1667
+ ? (this.character = '\u2009')
+ : e >= 0.2222 && e <= 0.2223
+ ? (this.character = '\u2005')
+ : e >= 0.2777 && e <= 0.2778
+ ? (this.character = '\u2005\u200A')
+ : e >= -0.05556 && e <= -0.05555
+ ? (this.character = '\u200A\u2063')
+ : e >= -0.1667 && e <= -0.1666
+ ? (this.character = '\u2009\u2063')
+ : e >= -0.2223 && e <= -0.2222
+ ? (this.character = '\u205F\u2063')
+ : e >= -0.2778 && e <= -0.2777
+ ? (this.character = '\u2005\u2063')
+ : (this.character = null);
+ }
+ toNode() {
+ if (this.character) return document.createTextNode(this.character);
+ var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'mspace');
+ return e.setAttribute('width', ct(this.width)), e;
+ }
+ toMarkup() {
+ return this.character
+ ? '' + this.character + ''
+ : '';
+ }
+ toText() {
+ return this.character ? this.character : ' ';
+ }
+ }),
+ (et = {
+ MathNode: ps,
+ TextNode: qf,
+ SpaceNode: S7,
+ newDocumentFragment: $G
+ }),
+ (_o = o(function (e, r, n) {
+ return (
+ wn[r][e] &&
+ wn[r][e].replace &&
+ e.charCodeAt(0) !== 55349 &&
+ !(
+ IG.hasOwnProperty(e) &&
+ n &&
+ ((n.fontFamily && n.fontFamily.slice(4, 6) === 'tt') ||
+ (n.font && n.font.slice(4, 6) === 'tt'))
+ ) &&
+ (e = wn[r][e].replace),
+ new et.TextNode(e)
+ );
+ }, 'makeText')),
+ (O7 = o(function (e) {
+ return e.length === 1 ? e[0] : new et.MathNode('mrow', e);
+ }, 'makeRow')),
+ (P7 = o(function (e, r) {
+ if (r.fontFamily === 'texttt') return 'monospace';
+ if (r.fontFamily === 'textsf')
+ return r.fontShape === 'textit' && r.fontWeight === 'textbf'
+ ? 'sans-serif-bold-italic'
+ : r.fontShape === 'textit'
+ ? 'sans-serif-italic'
+ : r.fontWeight === 'textbf'
+ ? 'bold-sans-serif'
+ : 'sans-serif';
+ if (r.fontShape === 'textit' && r.fontWeight === 'textbf') return 'bold-italic';
+ if (r.fontShape === 'textit') return 'italic';
+ if (r.fontWeight === 'textbf') return 'bold';
+ var n = r.font;
+ if (!n || n === 'mathnormal') return null;
+ var i = e.mode;
+ if (n === 'mathit') return 'italic';
+ if (n === 'boldsymbol') return e.type === 'textord' ? 'bold' : 'bold-italic';
+ if (n === 'mathbf') return 'bold';
+ if (n === 'mathbb') return 'double-struck';
+ if (n === 'mathfrak') return 'fraktur';
+ if (n === 'mathscr' || n === 'mathcal') return 'script';
+ if (n === 'mathsf') return 'sans-serif';
+ if (n === 'mathtt') return 'monospace';
+ var a = e.text;
+ if (Vt.contains(['\\imath', '\\jmath'], a)) return null;
+ wn[i][a] && wn[i][a].replace && (a = wn[i][a].replace);
+ var s = Be.fontMap[n].fontName;
+ return M7(a, s, i) ? Be.fontMap[n].variant : null;
+ }, 'getVariant')),
+ (gs = o(function (e, r, n) {
+ if (e.length === 1) {
+ var i = fn(e[0], r);
+ return (
+ n &&
+ i instanceof ps &&
+ i.type === 'mo' &&
+ (i.setAttribute('lspace', '0em'), i.setAttribute('rspace', '0em')),
+ [i]
+ );
+ }
+ for (var a = [], s, l = 0; l < e.length; l++) {
+ var u = fn(e[l], r);
+ if (u instanceof ps && s instanceof ps) {
+ if (
+ u.type === 'mtext' &&
+ s.type === 'mtext' &&
+ u.getAttribute('mathvariant') === s.getAttribute('mathvariant')
+ ) {
+ s.children.push(...u.children);
+ continue;
+ } else if (u.type === 'mn' && s.type === 'mn') {
+ s.children.push(...u.children);
+ continue;
+ } else if (u.type === 'mi' && u.children.length === 1 && s.type === 'mn') {
+ var h = u.children[0];
+ if (h instanceof qf && h.text === '.') {
+ s.children.push(...u.children);
+ continue;
+ }
+ } else if (s.type === 'mi' && s.children.length === 1) {
+ var f = s.children[0];
+ if (
+ f instanceof qf &&
+ f.text === '\u0338' &&
+ (u.type === 'mo' || u.type === 'mi' || u.type === 'mn')
+ ) {
+ var d = u.children[0];
+ d instanceof qf &&
+ d.text.length > 0 &&
+ ((d.text = d.text.slice(0, 1) + '\u0338' + d.text.slice(1)), a.pop());
+ }
+ }
+ }
+ a.push(u), (s = u);
+ }
+ return a;
+ }, 'buildExpression')),
+ (ph = o(function (e, r, n) {
+ return O7(gs(e, r, n));
+ }, 'buildExpressionRow')),
+ (fn = o(function (e, r) {
+ if (!e) return new et.MathNode('mrow');
+ if (g4[e.type]) {
+ var n = g4[e.type](e, r);
+ return n;
+ } else throw new nt("Got group of unknown type: '" + e.type + "'");
+ }, 'buildGroup'));
+ o(sG, 'buildMathML');
+ (VG = o(function (e) {
+ return new d4({
+ style: e.displayMode ? Ht.DISPLAY : Ht.TEXT,
+ maxSize: e.maxSize,
+ minRuleThickness: e.minRuleThickness
+ });
+ }, 'optionsFromSettings')),
+ (UG = o(function (e, r) {
+ if (r.displayMode) {
+ var n = ['katex-display'];
+ r.leqno && n.push('leqno'), r.fleqn && n.push('fleqn'), (e = Be.makeSpan(n, [e]));
+ }
+ return e;
+ }, 'displayWrap')),
+ (Mxe = o(function (e, r, n) {
+ var i = VG(n),
+ a;
+ if (n.output === 'mathml') return sG(e, r, i, n.displayMode, !0);
+ if (n.output === 'html') {
+ var s = C7(e, i);
+ a = Be.makeSpan(['katex'], [s]);
+ } else {
+ var l = sG(e, r, i, n.displayMode, !1),
+ u = C7(e, i);
+ a = Be.makeSpan(['katex'], [l, u]);
+ }
+ return UG(a, n);
+ }, 'buildTree')),
+ (Ixe = o(function (e, r, n) {
+ var i = VG(n),
+ a = C7(e, i),
+ s = Be.makeSpan(['katex'], [a]);
+ return UG(s, n);
+ }, 'buildHTMLTree')),
+ (Oxe = {
+ widehat: '^',
+ widecheck: '\u02C7',
+ widetilde: '~',
+ utilde: '~',
+ overleftarrow: '\u2190',
+ underleftarrow: '\u2190',
+ xleftarrow: '\u2190',
+ overrightarrow: '\u2192',
+ underrightarrow: '\u2192',
+ xrightarrow: '\u2192',
+ underbrace: '\u23DF',
+ overbrace: '\u23DE',
+ overgroup: '\u23E0',
+ undergroup: '\u23E1',
+ overleftrightarrow: '\u2194',
+ underleftrightarrow: '\u2194',
+ xleftrightarrow: '\u2194',
+ Overrightarrow: '\u21D2',
+ xRightarrow: '\u21D2',
+ overleftharpoon: '\u21BC',
+ xleftharpoonup: '\u21BC',
+ overrightharpoon: '\u21C0',
+ xrightharpoonup: '\u21C0',
+ xLeftarrow: '\u21D0',
+ xLeftrightarrow: '\u21D4',
+ xhookleftarrow: '\u21A9',
+ xhookrightarrow: '\u21AA',
+ xmapsto: '\u21A6',
+ xrightharpoondown: '\u21C1',
+ xleftharpoondown: '\u21BD',
+ xrightleftharpoons: '\u21CC',
+ xleftrightharpoons: '\u21CB',
+ xtwoheadleftarrow: '\u219E',
+ xtwoheadrightarrow: '\u21A0',
+ xlongequal: '=',
+ xtofrom: '\u21C4',
+ xrightleftarrows: '\u21C4',
+ xrightequilibrium: '\u21CC',
+ xleftequilibrium: '\u21CB',
+ '\\cdrightarrow': '\u2192',
+ '\\cdleftarrow': '\u2190',
+ '\\cdlongequal': '='
+ }),
+ (Pxe = o(function (e) {
+ var r = new et.MathNode('mo', [new et.TextNode(Oxe[e.replace(/^\\/, '')])]);
+ return r.setAttribute('stretchy', 'true'), r;
+ }, 'mathMLnode')),
+ (Bxe = {
+ overrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
+ overleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'],
+ underrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
+ underleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'],
+ xrightarrow: [['rightarrow'], 1.469, 522, 'xMaxYMin'],
+ '\\cdrightarrow': [['rightarrow'], 3, 522, 'xMaxYMin'],
+ xleftarrow: [['leftarrow'], 1.469, 522, 'xMinYMin'],
+ '\\cdleftarrow': [['leftarrow'], 3, 522, 'xMinYMin'],
+ Overrightarrow: [['doublerightarrow'], 0.888, 560, 'xMaxYMin'],
+ xRightarrow: [['doublerightarrow'], 1.526, 560, 'xMaxYMin'],
+ xLeftarrow: [['doubleleftarrow'], 1.526, 560, 'xMinYMin'],
+ overleftharpoon: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
+ xleftharpoonup: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
+ xleftharpoondown: [['leftharpoondown'], 0.888, 522, 'xMinYMin'],
+ overrightharpoon: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
+ xrightharpoonup: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
+ xrightharpoondown: [['rightharpoondown'], 0.888, 522, 'xMaxYMin'],
+ xlongequal: [['longequal'], 0.888, 334, 'xMinYMin'],
+ '\\cdlongequal': [['longequal'], 3, 334, 'xMinYMin'],
+ xtwoheadleftarrow: [['twoheadleftarrow'], 0.888, 334, 'xMinYMin'],
+ xtwoheadrightarrow: [['twoheadrightarrow'], 0.888, 334, 'xMaxYMin'],
+ overleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522],
+ overbrace: [['leftbrace', 'midbrace', 'rightbrace'], 1.6, 548],
+ underbrace: [['leftbraceunder', 'midbraceunder', 'rightbraceunder'], 1.6, 548],
+ underleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522],
+ xleftrightarrow: [['leftarrow', 'rightarrow'], 1.75, 522],
+ xLeftrightarrow: [['doubleleftarrow', 'doublerightarrow'], 1.75, 560],
+ xrightleftharpoons: [['leftharpoondownplus', 'rightharpoonplus'], 1.75, 716],
+ xleftrightharpoons: [['leftharpoonplus', 'rightharpoondownplus'], 1.75, 716],
+ xhookleftarrow: [['leftarrow', 'righthook'], 1.08, 522],
+ xhookrightarrow: [['lefthook', 'rightarrow'], 1.08, 522],
+ overlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522],
+ underlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522],
+ overgroup: [['leftgroup', 'rightgroup'], 0.888, 342],
+ undergroup: [['leftgroupunder', 'rightgroupunder'], 0.888, 342],
+ xmapsto: [['leftmapsto', 'rightarrow'], 1.5, 522],
+ xtofrom: [['leftToFrom', 'rightToFrom'], 1.75, 528],
+ xrightleftarrows: [['baraboveleftarrow', 'rightarrowabovebar'], 1.75, 901],
+ xrightequilibrium: [['baraboveshortleftharpoon', 'rightharpoonaboveshortbar'], 1.75, 716],
+ xleftequilibrium: [['shortbaraboveleftharpoon', 'shortrightharpoonabovebar'], 1.75, 716]
+ }),
+ (Fxe = o(function (e) {
+ return e.type === 'ordgroup' ? e.body.length : 1;
+ }, 'groupLength')),
+ (zxe = o(function (e, r) {
+ function n() {
+ var l = 4e5,
+ u = e.label.slice(1);
+ if (Vt.contains(['widehat', 'widecheck', 'widetilde', 'utilde'], u)) {
+ var h = e,
+ f = Fxe(h.base),
+ d,
+ p,
+ m;
+ if (f > 5)
+ u === 'widehat' || u === 'widecheck'
+ ? ((d = 420), (l = 2364), (m = 0.42), (p = u + '4'))
+ : ((d = 312), (l = 2340), (m = 0.34), (p = 'tilde4'));
+ else {
+ var g = [1, 1, 2, 2, 3, 3][f];
+ u === 'widehat' || u === 'widecheck'
+ ? ((l = [0, 1062, 2364, 2364, 2364][g]),
+ (d = [0, 239, 300, 360, 420][g]),
+ (m = [0, 0.24, 0.3, 0.3, 0.36, 0.42][g]),
+ (p = u + g))
+ : ((l = [0, 600, 1033, 2339, 2340][g]),
+ (d = [0, 260, 286, 306, 312][g]),
+ (m = [0, 0.26, 0.286, 0.3, 0.306, 0.34][g]),
+ (p = 'tilde' + g));
+ }
+ var y = new Jl(p),
+ v = new ll([y], {
+ width: '100%',
+ height: ct(m),
+ viewBox: '0 0 ' + l + ' ' + d,
+ preserveAspectRatio: 'none'
+ });
+ return {
+ span: Be.makeSvgSpan([], [v], r),
+ minWidth: 0,
+ height: m
+ };
+ } else {
+ var x = [],
+ b = Bxe[u],
+ [w, S, T] = b,
+ E = T / 1e3,
+ _ = w.length,
+ A,
+ L;
+ if (_ === 1) {
+ var M = b[3];
+ (A = ['hide-tail']), (L = [M]);
+ } else if (_ === 2)
+ (A = ['halfarrow-left', 'halfarrow-right']), (L = ['xMinYMin', 'xMaxYMin']);
+ else if (_ === 3)
+ (A = ['brace-left', 'brace-center', 'brace-right']),
+ (L = ['xMinYMin', 'xMidYMin', 'xMaxYMin']);
+ else
+ throw new Error(
+ `Correct katexImagesData or update code here to support
+ ` +
+ _ +
+ ' children.'
+ );
+ for (var N = 0; N < _; N++) {
+ var k = new Jl(w[N]),
+ I = new ll([k], {
+ width: '400em',
+ height: ct(E),
+ viewBox: '0 0 ' + l + ' ' + T,
+ preserveAspectRatio: L[N] + ' slice'
+ }),
+ C = Be.makeSvgSpan([A[N]], [I], r);
+ if (_ === 1) return { span: C, minWidth: S, height: E };
+ (C.style.height = ct(E)), x.push(C);
+ }
+ return {
+ span: Be.makeSpan(['stretchy'], x, r),
+ minWidth: S,
+ height: E
+ };
+ }
+ }
+ o(n, 'buildSvgSpan_');
+ var { span: i, minWidth: a, height: s } = n();
+ return (i.height = s), (i.style.height = ct(s)), a > 0 && (i.style.minWidth = ct(a)), i;
+ }, 'svgSpan')),
+ (Gxe = o(function (e, r, n, i, a) {
+ var s,
+ l = e.height + e.depth + n + i;
+ if (/fbox|color|angl/.test(r)) {
+ if (((s = Be.makeSpan(['stretchy', r], [], a)), r === 'fbox')) {
+ var u = a.color && a.getColor();
+ u && (s.style.borderColor = u);
+ }
+ } else {
+ var h = [];
+ /^[bx]cancel$/.test(r) &&
+ h.push(
+ new ay({
+ x1: '0',
+ y1: '0',
+ x2: '100%',
+ y2: '100%',
+ 'stroke-width': '0.046em'
+ })
+ ),
+ /^x?cancel$/.test(r) &&
+ h.push(
+ new ay({
+ x1: '0',
+ y1: '100%',
+ x2: '100%',
+ y2: '0',
+ 'stroke-width': '0.046em'
+ })
+ );
+ var f = new ll(h, { width: '100%', height: ct(l) });
+ s = Be.makeSvgSpan([], [f], a);
+ }
+ return (s.height = l), (s.style.height = ct(l)), s;
+ }, 'encloseSpan')),
+ (ou = { encloseSpan: Gxe, mathMLnode: Pxe, svgSpan: zxe });
+ o(ir, 'assertNodeType');
+ o(B7, 'assertSymbolNodeType');
+ o(T4, 'checkSymbolNodeType');
+ (F7 = o((t, e) => {
+ var r, n, i;
+ t && t.type === 'supsub'
+ ? ((n = ir(t.base, 'accent')), (r = n.base), (t.base = r), (i = uxe(Cr(t, e))), (t.base = n))
+ : ((n = ir(t, 'accent')), (r = n.base));
+ var a = Cr(r, e.havingCrampedStyle()),
+ s = n.isShifty && Vt.isCharacterBox(r),
+ l = 0;
+ if (s) {
+ var u = Vt.getBaseElem(r),
+ h = Cr(u, e.havingCrampedStyle());
+ l = tG(h).skew;
+ }
+ var f = n.label === '\\c',
+ d = f ? a.height + a.depth : Math.min(a.height, e.fontMetrics().xHeight),
+ p;
+ if (n.isStretchy)
+ (p = ou.svgSpan(n, e)),
+ (p = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: a },
+ {
+ type: 'elem',
+ elem: p,
+ wrapperClasses: ['svg-align'],
+ wrapperStyle:
+ l > 0
+ ? {
+ width: 'calc(100% - ' + ct(2 * l) + ')',
+ marginLeft: ct(2 * l)
+ }
+ : void 0
+ }
+ ]
+ },
+ e
+ ));
+ else {
+ var m, g;
+ n.label === '\\vec'
+ ? ((m = Be.staticSvg('vec', e)), (g = Be.svgData.vec[1]))
+ : ((m = Be.makeOrd({ mode: n.mode, text: n.label }, e, 'textord')),
+ (m = tG(m)),
+ (m.italic = 0),
+ (g = m.width),
+ f && (d += m.depth)),
+ (p = Be.makeSpan(['accent-body'], [m]));
+ var y = n.label === '\\textcircled';
+ y && (p.classes.push('accent-full'), (d = a.height));
+ var v = l;
+ y || (v -= g / 2),
+ (p.style.left = ct(v)),
+ n.label === '\\textcircled' && (p.style.top = '.2em'),
+ (p = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: a },
+ { type: 'kern', size: -d },
+ { type: 'elem', elem: p }
+ ]
+ },
+ e
+ ));
+ }
+ var x = Be.makeSpan(['mord', 'accent'], [p], e);
+ return i
+ ? ((i.children[0] = x), (i.height = Math.max(x.height, i.height)), (i.classes[0] = 'mord'), i)
+ : x;
+ }, 'htmlBuilder$a')),
+ (HG = o((t, e) => {
+ var r = t.isStretchy ? ou.mathMLnode(t.label) : new et.MathNode('mo', [_o(t.label, t.mode)]),
+ n = new et.MathNode('mover', [fn(t.base, e), r]);
+ return n.setAttribute('accent', 'true'), n;
+ }, 'mathmlBuilder$9')),
+ ($xe = new RegExp(
+ [
+ '\\acute',
+ '\\grave',
+ '\\ddot',
+ '\\tilde',
+ '\\bar',
+ '\\breve',
+ '\\check',
+ '\\hat',
+ '\\vec',
+ '\\dot',
+ '\\mathring'
+ ]
+ .map((t) => '\\' + t)
+ .join('|')
+ ));
+ vt({
+ type: 'accent',
+ names: [
+ '\\acute',
+ '\\grave',
+ '\\ddot',
+ '\\tilde',
+ '\\bar',
+ '\\breve',
+ '\\check',
+ '\\hat',
+ '\\vec',
+ '\\dot',
+ '\\mathring',
+ '\\widecheck',
+ '\\widehat',
+ '\\widetilde',
+ '\\overrightarrow',
+ '\\overleftarrow',
+ '\\Overrightarrow',
+ '\\overleftrightarrow',
+ '\\overgroup',
+ '\\overlinesegment',
+ '\\overleftharpoon',
+ '\\overrightharpoon'
+ ],
+ props: { numArgs: 1 },
+ handler: o((t, e) => {
+ var r = y4(e[0]),
+ n = !$xe.test(t.funcName),
+ i =
+ !n ||
+ t.funcName === '\\widehat' ||
+ t.funcName === '\\widetilde' ||
+ t.funcName === '\\widecheck';
+ return {
+ type: 'accent',
+ mode: t.parser.mode,
+ label: t.funcName,
+ isStretchy: n,
+ isShifty: i,
+ base: r
+ };
+ }, 'handler'),
+ htmlBuilder: F7,
+ mathmlBuilder: HG
+ });
+ vt({
+ type: 'accent',
+ names: [
+ "\\'",
+ '\\`',
+ '\\^',
+ '\\~',
+ '\\=',
+ '\\u',
+ '\\.',
+ '\\"',
+ '\\c',
+ '\\r',
+ '\\H',
+ '\\v',
+ '\\textcircled'
+ ],
+ props: {
+ numArgs: 1,
+ allowedInText: !0,
+ allowedInMath: !0,
+ argTypes: ['primitive']
+ },
+ handler: o((t, e) => {
+ var r = e[0],
+ n = t.parser.mode;
+ return (
+ n === 'math' &&
+ (t.parser.settings.reportNonstrict(
+ 'mathVsTextAccents',
+ "LaTeX's accent " + t.funcName + ' works only in text mode'
+ ),
+ (n = 'text')),
+ {
+ type: 'accent',
+ mode: n,
+ label: t.funcName,
+ isStretchy: !1,
+ isShifty: !0,
+ base: r
+ }
+ );
+ }, 'handler'),
+ htmlBuilder: F7,
+ mathmlBuilder: HG
+ });
+ vt({
+ type: 'accentUnder',
+ names: [
+ '\\underleftarrow',
+ '\\underrightarrow',
+ '\\underleftrightarrow',
+ '\\undergroup',
+ '\\underlinesegment',
+ '\\utilde'
+ ],
+ props: { numArgs: 1 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return { type: 'accentUnder', mode: r.mode, label: n, base: i };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Cr(t.base, e),
+ n = ou.svgSpan(t, e),
+ i = t.label === '\\utilde' ? 0.12 : 0,
+ a = Be.makeVList(
+ {
+ positionType: 'top',
+ positionData: r.height,
+ children: [
+ { type: 'elem', elem: n, wrapperClasses: ['svg-align'] },
+ { type: 'kern', size: i },
+ { type: 'elem', elem: r }
+ ]
+ },
+ e
+ );
+ return Be.makeSpan(['mord', 'accentunder'], [a], e);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = ou.mathMLnode(t.label),
+ n = new et.MathNode('munder', [fn(t.base, e), r]);
+ return n.setAttribute('accentunder', 'true'), n;
+ }, 'mathmlBuilder')
+ });
+ o4 = o((t) => {
+ var e = new et.MathNode('mpadded', t ? [t] : []);
+ return e.setAttribute('width', '+0.6em'), e.setAttribute('lspace', '0.3em'), e;
+ }, 'paddedNode');
+ vt({
+ type: 'xArrow',
+ names: [
+ '\\xleftarrow',
+ '\\xrightarrow',
+ '\\xLeftarrow',
+ '\\xRightarrow',
+ '\\xleftrightarrow',
+ '\\xLeftrightarrow',
+ '\\xhookleftarrow',
+ '\\xhookrightarrow',
+ '\\xmapsto',
+ '\\xrightharpoondown',
+ '\\xrightharpoonup',
+ '\\xleftharpoondown',
+ '\\xleftharpoonup',
+ '\\xrightleftharpoons',
+ '\\xleftrightharpoons',
+ '\\xlongequal',
+ '\\xtwoheadrightarrow',
+ '\\xtwoheadleftarrow',
+ '\\xtofrom',
+ '\\xrightleftarrows',
+ '\\xrightequilibrium',
+ '\\xleftequilibrium',
+ '\\\\cdrightarrow',
+ '\\\\cdleftarrow',
+ '\\\\cdlongequal'
+ ],
+ props: { numArgs: 1, numOptionalArgs: 1 },
+ handler(t, e, r) {
+ var { parser: n, funcName: i } = t;
+ return {
+ type: 'xArrow',
+ mode: n.mode,
+ label: i,
+ body: e[0],
+ below: r[0]
+ };
+ },
+ htmlBuilder(t, e) {
+ var r = e.style,
+ n = e.havingStyle(r.sup()),
+ i = Be.wrapFragment(Cr(t.body, n, e), e),
+ a = t.label.slice(0, 2) === '\\x' ? 'x' : 'cd';
+ i.classes.push(a + '-arrow-pad');
+ var s;
+ t.below &&
+ ((n = e.havingStyle(r.sub())),
+ (s = Be.wrapFragment(Cr(t.below, n, e), e)),
+ s.classes.push(a + '-arrow-pad'));
+ var l = ou.svgSpan(t, e),
+ u = -e.fontMetrics().axisHeight + 0.5 * l.height,
+ h = -e.fontMetrics().axisHeight - 0.5 * l.height - 0.111;
+ (i.depth > 0.25 || t.label === '\\xleftequilibrium') && (h -= i.depth);
+ var f;
+ if (s) {
+ var d = -e.fontMetrics().axisHeight + s.height + 0.5 * l.height + 0.111;
+ f = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: i, shift: h },
+ { type: 'elem', elem: l, shift: u },
+ { type: 'elem', elem: s, shift: d }
+ ]
+ },
+ e
+ );
+ } else
+ f = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: i, shift: h },
+ { type: 'elem', elem: l, shift: u }
+ ]
+ },
+ e
+ );
+ return (
+ f.children[0].children[0].children[1].classes.push('svg-align'),
+ Be.makeSpan(['mrel', 'x-arrow'], [f], e)
+ );
+ },
+ mathmlBuilder(t, e) {
+ var r = ou.mathMLnode(t.label);
+ r.setAttribute('minsize', t.label.charAt(0) === 'x' ? '1.75em' : '3.0em');
+ var n;
+ if (t.body) {
+ var i = o4(fn(t.body, e));
+ if (t.below) {
+ var a = o4(fn(t.below, e));
+ n = new et.MathNode('munderover', [r, a, i]);
+ } else n = new et.MathNode('mover', [r, i]);
+ } else if (t.below) {
+ var s = o4(fn(t.below, e));
+ n = new et.MathNode('munder', [r, s]);
+ } else (n = o4()), (n = new et.MathNode('mover', [r, n]));
+ return n;
+ }
+ });
+ Vxe = Be.makeSpan;
+ o(YG, 'htmlBuilder$9');
+ o(WG, 'mathmlBuilder$8');
+ vt({
+ type: 'mclass',
+ names: [
+ '\\mathord',
+ '\\mathbin',
+ '\\mathrel',
+ '\\mathopen',
+ '\\mathclose',
+ '\\mathpunct',
+ '\\mathinner'
+ ],
+ props: { numArgs: 1, primitive: !0 },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return {
+ type: 'mclass',
+ mode: r.mode,
+ mclass: 'm' + n.slice(5),
+ body: ui(i),
+ isCharacterBox: Vt.isCharacterBox(i)
+ };
+ },
+ htmlBuilder: YG,
+ mathmlBuilder: WG
+ });
+ k4 = o((t) => {
+ var e = t.type === 'ordgroup' && t.body.length ? t.body[0] : t;
+ return e.type === 'atom' && (e.family === 'bin' || e.family === 'rel') ? 'm' + e.family : 'mord';
+ }, 'binrelClass');
+ vt({
+ type: 'mclass',
+ names: ['\\@binrel'],
+ props: { numArgs: 2 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return {
+ type: 'mclass',
+ mode: r.mode,
+ mclass: k4(e[0]),
+ body: ui(e[1]),
+ isCharacterBox: Vt.isCharacterBox(e[1])
+ };
+ }
+ });
+ vt({
+ type: 'mclass',
+ names: ['\\stackrel', '\\overset', '\\underset'],
+ props: { numArgs: 2 },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = e[1],
+ a = e[0],
+ s;
+ n !== '\\stackrel' ? (s = k4(i)) : (s = 'mrel');
+ var l = {
+ type: 'op',
+ mode: i.mode,
+ limits: !0,
+ alwaysHandleSupSub: !0,
+ parentIsSupSub: !1,
+ symbol: !1,
+ suppressBaseShift: n !== '\\stackrel',
+ body: ui(i)
+ },
+ u = {
+ type: 'supsub',
+ mode: a.mode,
+ base: l,
+ sup: n === '\\underset' ? null : a,
+ sub: n === '\\underset' ? a : null
+ };
+ return {
+ type: 'mclass',
+ mode: r.mode,
+ mclass: s,
+ body: [u],
+ isCharacterBox: Vt.isCharacterBox(u)
+ };
+ },
+ htmlBuilder: YG,
+ mathmlBuilder: WG
+ });
+ vt({
+ type: 'pmb',
+ names: ['\\pmb'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return {
+ type: 'pmb',
+ mode: r.mode,
+ mclass: k4(e[0]),
+ body: ui(e[0])
+ };
+ },
+ htmlBuilder(t, e) {
+ var r = Ri(t.body, e, !0),
+ n = Be.makeSpan([t.mclass], r, e);
+ return (n.style.textShadow = '0.02em 0.01em 0.04px'), n;
+ },
+ mathmlBuilder(t, e) {
+ var r = gs(t.body, e),
+ n = new et.MathNode('mstyle', r);
+ return n.setAttribute('style', 'text-shadow: 0.02em 0.01em 0.04px'), n;
+ }
+ });
+ (Uxe = {
+ '>': '\\\\cdrightarrow',
+ '<': '\\\\cdleftarrow',
+ '=': '\\\\cdlongequal',
+ A: '\\uparrow',
+ V: '\\downarrow',
+ '|': '\\Vert',
+ '.': 'no arrow'
+ }),
+ (oG = o(() => ({ type: 'styling', body: [], mode: 'math', style: 'display' }), 'newCell')),
+ (lG = o((t) => t.type === 'textord' && t.text === '@', 'isStartOfArrow')),
+ (Hxe = o((t, e) => (t.type === 'mathord' || t.type === 'atom') && t.text === e, 'isLabelEnd'));
+ o(Yxe, 'cdArrow');
+ o(Wxe, 'parseCD');
+ vt({
+ type: 'cdlabel',
+ names: ['\\\\cdleft', '\\\\cdright'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t;
+ return {
+ type: 'cdlabel',
+ mode: r.mode,
+ side: n.slice(4),
+ label: e[0]
+ };
+ },
+ htmlBuilder(t, e) {
+ var r = e.havingStyle(e.style.sup()),
+ n = Be.wrapFragment(Cr(t.label, r, e), e);
+ return (
+ n.classes.push('cd-label-' + t.side),
+ (n.style.bottom = ct(0.8 - n.depth)),
+ (n.height = 0),
+ (n.depth = 0),
+ n
+ );
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mrow', [fn(t.label, e)]);
+ return (
+ (r = new et.MathNode('mpadded', [r])),
+ r.setAttribute('width', '0'),
+ t.side === 'left' && r.setAttribute('lspace', '-1width'),
+ r.setAttribute('voffset', '0.7em'),
+ (r = new et.MathNode('mstyle', [r])),
+ r.setAttribute('displaystyle', 'false'),
+ r.setAttribute('scriptlevel', '1'),
+ r
+ );
+ }
+ });
+ vt({
+ type: 'cdlabelparent',
+ names: ['\\\\cdparent'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'cdlabelparent', mode: r.mode, fragment: e[0] };
+ },
+ htmlBuilder(t, e) {
+ var r = Be.wrapFragment(Cr(t.fragment, e), e);
+ return r.classes.push('cd-vert-arrow'), r;
+ },
+ mathmlBuilder(t, e) {
+ return new et.MathNode('mrow', [fn(t.fragment, e)]);
+ }
+ });
+ vt({
+ type: 'textord',
+ names: ['\\@char'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler(t, e) {
+ for (
+ var { parser: r } = t, n = ir(e[0], 'ordgroup'), i = n.body, a = '', s = 0;
+ s < i.length;
+ s++
+ ) {
+ var l = ir(i[s], 'textord');
+ a += l.text;
+ }
+ var u = parseInt(a),
+ h;
+ if (isNaN(u)) throw new nt('\\@char has non-numeric argument ' + a);
+ if (u < 0 || u >= 1114111) throw new nt('\\@char with invalid code point ' + a);
+ return (
+ u <= 65535
+ ? (h = String.fromCharCode(u))
+ : ((u -= 65536), (h = String.fromCharCode((u >> 10) + 55296, (u & 1023) + 56320))),
+ { type: 'textord', mode: r.mode, text: h }
+ );
+ }
+ });
+ (qG = o((t, e) => {
+ var r = Ri(t.body, e.withColor(t.color), !1);
+ return Be.makeFragment(r);
+ }, 'htmlBuilder$8')),
+ (XG = o((t, e) => {
+ var r = gs(t.body, e.withColor(t.color)),
+ n = new et.MathNode('mstyle', r);
+ return n.setAttribute('mathcolor', t.color), n;
+ }, 'mathmlBuilder$7'));
+ vt({
+ type: 'color',
+ names: ['\\textcolor'],
+ props: {
+ numArgs: 2,
+ allowedInText: !0,
+ argTypes: ['color', 'original']
+ },
+ handler(t, e) {
+ var { parser: r } = t,
+ n = ir(e[0], 'color-token').color,
+ i = e[1];
+ return { type: 'color', mode: r.mode, color: n, body: ui(i) };
+ },
+ htmlBuilder: qG,
+ mathmlBuilder: XG
+ });
+ vt({
+ type: 'color',
+ names: ['\\color'],
+ props: { numArgs: 1, allowedInText: !0, argTypes: ['color'] },
+ handler(t, e) {
+ var { parser: r, breakOnTokenText: n } = t,
+ i = ir(e[0], 'color-token').color;
+ r.gullet.macros.set('\\current@color', i);
+ var a = r.parseExpression(!0, n);
+ return { type: 'color', mode: r.mode, color: i, body: a };
+ },
+ htmlBuilder: qG,
+ mathmlBuilder: XG
+ });
+ vt({
+ type: 'cr',
+ names: ['\\\\'],
+ props: { numArgs: 0, numOptionalArgs: 0, allowedInText: !0 },
+ handler(t, e, r) {
+ var { parser: n } = t,
+ i = n.gullet.future().text === '[' ? n.parseSizeGroup(!0) : null,
+ a =
+ !n.settings.displayMode ||
+ !n.settings.useStrictBehavior(
+ 'newLineInDisplayMode',
+ 'In LaTeX, \\\\ or \\newline does nothing in display mode'
+ );
+ return {
+ type: 'cr',
+ mode: n.mode,
+ newLine: a,
+ size: i && ir(i, 'size').value
+ };
+ },
+ htmlBuilder(t, e) {
+ var r = Be.makeSpan(['mspace'], [], e);
+ return (
+ t.newLine && (r.classes.push('newline'), t.size && (r.style.marginTop = ct(Hn(t.size, e)))), r
+ );
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mspace');
+ return (
+ t.newLine &&
+ (r.setAttribute('linebreak', 'newline'),
+ t.size && r.setAttribute('height', ct(Hn(t.size, e)))),
+ r
+ );
+ }
+ });
+ (A7 = {
+ '\\global': '\\global',
+ '\\long': '\\\\globallong',
+ '\\\\globallong': '\\\\globallong',
+ '\\def': '\\gdef',
+ '\\gdef': '\\gdef',
+ '\\edef': '\\xdef',
+ '\\xdef': '\\xdef',
+ '\\let': '\\\\globallet',
+ '\\futurelet': '\\\\globalfuture'
+ }),
+ (jG = o((t) => {
+ var e = t.text;
+ if (/^(?:[\\{}$^_]|EOF)$/.test(e)) throw new nt('Expected a control sequence', t);
+ return e;
+ }, 'checkControlSequence')),
+ (qxe = o((t) => {
+ var e = t.gullet.popToken();
+ return (
+ e.text === '=' && ((e = t.gullet.popToken()), e.text === ' ' && (e = t.gullet.popToken())), e
+ );
+ }, 'getRHS')),
+ (KG = o((t, e, r, n) => {
+ var i = t.gullet.macros.get(r.text);
+ i == null &&
+ ((r.noexpand = !0),
+ (i = {
+ tokens: [r],
+ numArgs: 0,
+ unexpandable: !t.gullet.isExpandable(r.text)
+ })),
+ t.gullet.macros.set(e, i, n);
+ }, 'letCommand'));
+ vt({
+ type: 'internal',
+ names: ['\\global', '\\long', '\\\\globallong'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t;
+ e.consumeSpaces();
+ var n = e.fetch();
+ if (A7[n.text])
+ return (
+ (r === '\\global' || r === '\\\\globallong') && (n.text = A7[n.text]),
+ ir(e.parseFunction(), 'internal')
+ );
+ throw new nt('Invalid token after macro prefix', n);
+ }
+ });
+ vt({
+ type: 'internal',
+ names: ['\\def', '\\gdef', '\\edef', '\\xdef'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t,
+ n = e.gullet.popToken(),
+ i = n.text;
+ if (/^(?:[\\{}$^_]|EOF)$/.test(i)) throw new nt('Expected a control sequence', n);
+ for (var a = 0, s, l = [[]]; e.gullet.future().text !== '{'; )
+ if (((n = e.gullet.popToken()), n.text === '#')) {
+ if (e.gullet.future().text === '{') {
+ (s = e.gullet.future()), l[a].push('{');
+ break;
+ }
+ if (((n = e.gullet.popToken()), !/^[1-9]$/.test(n.text)))
+ throw new nt('Invalid argument number "' + n.text + '"');
+ if (parseInt(n.text) !== a + 1)
+ throw new nt('Argument number "' + n.text + '" out of order');
+ a++, l.push([]);
+ } else {
+ if (n.text === 'EOF') throw new nt('Expected a macro definition');
+ l[a].push(n.text);
+ }
+ var { tokens: u } = e.gullet.consumeArg();
+ return (
+ s && u.unshift(s),
+ (r === '\\edef' || r === '\\xdef') && ((u = e.gullet.expandTokens(u)), u.reverse()),
+ e.gullet.macros.set(i, { tokens: u, numArgs: a, delimiters: l }, r === A7[r]),
+ { type: 'internal', mode: e.mode }
+ );
+ }
+ });
+ vt({
+ type: 'internal',
+ names: ['\\let', '\\\\globallet'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t,
+ n = jG(e.gullet.popToken());
+ e.gullet.consumeSpaces();
+ var i = qxe(e);
+ return KG(e, n, i, r === '\\\\globallet'), { type: 'internal', mode: e.mode };
+ }
+ });
+ vt({
+ type: 'internal',
+ names: ['\\futurelet', '\\\\globalfuture'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t,
+ n = jG(e.gullet.popToken()),
+ i = e.gullet.popToken(),
+ a = e.gullet.popToken();
+ return (
+ KG(e, n, a, r === '\\\\globalfuture'),
+ e.gullet.pushToken(a),
+ e.gullet.pushToken(i),
+ { type: 'internal', mode: e.mode }
+ );
+ }
+ });
+ (ey = o(function (e, r, n) {
+ var i = wn.math[e] && wn.math[e].replace,
+ a = M7(i || e, r, n);
+ if (!a) throw new Error('Unsupported symbol ' + e + ' and font size ' + r + '.');
+ return a;
+ }, 'getMetrics')),
+ (z7 = o(function (e, r, n, i) {
+ var a = n.havingBaseStyle(r),
+ s = Be.makeSpan(i.concat(a.sizingClasses(n)), [e], n),
+ l = a.sizeMultiplier / n.sizeMultiplier;
+ return (s.height *= l), (s.depth *= l), (s.maxFontSize = a.sizeMultiplier), s;
+ }, 'styleWrap')),
+ (QG = o(function (e, r, n) {
+ var i = r.havingBaseStyle(n),
+ a = (1 - r.sizeMultiplier / i.sizeMultiplier) * r.fontMetrics().axisHeight;
+ e.classes.push('delimcenter'), (e.style.top = ct(a)), (e.height -= a), (e.depth += a);
+ }, 'centerSpan')),
+ (Xxe = o(function (e, r, n, i, a, s) {
+ var l = Be.makeSymbol(e, 'Main-Regular', a, i),
+ u = z7(l, r, i, s);
+ return n && QG(u, i, r), u;
+ }, 'makeSmallDelim')),
+ (jxe = o(function (e, r, n, i) {
+ return Be.makeSymbol(e, 'Size' + r + '-Regular', n, i);
+ }, 'mathrmSize')),
+ (ZG = o(function (e, r, n, i, a, s) {
+ var l = jxe(e, r, a, i),
+ u = z7(Be.makeSpan(['delimsizing', 'size' + r], [l], i), Ht.TEXT, i, s);
+ return n && QG(u, i, Ht.TEXT), u;
+ }, 'makeLargeDelim')),
+ (h7 = o(function (e, r, n) {
+ var i;
+ r === 'Size1-Regular' ? (i = 'delim-size1') : (i = 'delim-size4');
+ var a = Be.makeSpan(['delimsizinginner', i], [Be.makeSpan([], [Be.makeSymbol(e, r, n)])]);
+ return { type: 'elem', elem: a };
+ }, 'makeGlyphSpan')),
+ (f7 = o(function (e, r, n) {
+ var i = Zl['Size4-Regular'][e.charCodeAt(0)]
+ ? Zl['Size4-Regular'][e.charCodeAt(0)][4]
+ : Zl['Size1-Regular'][e.charCodeAt(0)][4],
+ a = new Jl('inner', nxe(e, Math.round(1e3 * r))),
+ s = new ll([a], {
+ width: ct(i),
+ height: ct(r),
+ style: 'width:' + ct(i),
+ viewBox: '0 0 ' + 1e3 * i + ' ' + Math.round(1e3 * r),
+ preserveAspectRatio: 'xMinYMin'
+ }),
+ l = Be.makeSvgSpan([], [s], n);
+ return (l.height = r), (l.style.height = ct(r)), (l.style.width = ct(i)), { type: 'elem', elem: l };
+ }, 'makeInner')),
+ (_7 = 0.008),
+ (l4 = { type: 'kern', size: -1 * _7 }),
+ (Kxe = ['|', '\\lvert', '\\rvert', '\\vert']),
+ (Qxe = ['\\|', '\\lVert', '\\rVert', '\\Vert']),
+ (JG = o(function (e, r, n, i, a, s) {
+ var l,
+ u,
+ h,
+ f,
+ d = '',
+ p = 0;
+ (l = h = f = e), (u = null);
+ var m = 'Size1-Regular';
+ e === '\\uparrow'
+ ? (h = f = '\u23D0')
+ : e === '\\Uparrow'
+ ? (h = f = '\u2016')
+ : e === '\\downarrow'
+ ? (l = h = '\u23D0')
+ : e === '\\Downarrow'
+ ? (l = h = '\u2016')
+ : e === '\\updownarrow'
+ ? ((l = '\\uparrow'), (h = '\u23D0'), (f = '\\downarrow'))
+ : e === '\\Updownarrow'
+ ? ((l = '\\Uparrow'), (h = '\u2016'), (f = '\\Downarrow'))
+ : Vt.contains(Kxe, e)
+ ? ((h = '\u2223'), (d = 'vert'), (p = 333))
+ : Vt.contains(Qxe, e)
+ ? ((h = '\u2225'), (d = 'doublevert'), (p = 556))
+ : e === '[' || e === '\\lbrack'
+ ? ((l = '\u23A1'),
+ (h = '\u23A2'),
+ (f = '\u23A3'),
+ (m = 'Size4-Regular'),
+ (d = 'lbrack'),
+ (p = 667))
+ : e === ']' || e === '\\rbrack'
+ ? ((l = '\u23A4'),
+ (h = '\u23A5'),
+ (f = '\u23A6'),
+ (m = 'Size4-Regular'),
+ (d = 'rbrack'),
+ (p = 667))
+ : e === '\\lfloor' || e === '\u230A'
+ ? ((h = l = '\u23A2'), (f = '\u23A3'), (m = 'Size4-Regular'), (d = 'lfloor'), (p = 667))
+ : e === '\\lceil' || e === '\u2308'
+ ? ((l = '\u23A1'), (h = f = '\u23A2'), (m = 'Size4-Regular'), (d = 'lceil'), (p = 667))
+ : e === '\\rfloor' || e === '\u230B'
+ ? ((h = l = '\u23A5'), (f = '\u23A6'), (m = 'Size4-Regular'), (d = 'rfloor'), (p = 667))
+ : e === '\\rceil' || e === '\u2309'
+ ? ((l = '\u23A4'), (h = f = '\u23A5'), (m = 'Size4-Regular'), (d = 'rceil'), (p = 667))
+ : e === '(' || e === '\\lparen'
+ ? ((l = '\u239B'),
+ (h = '\u239C'),
+ (f = '\u239D'),
+ (m = 'Size4-Regular'),
+ (d = 'lparen'),
+ (p = 875))
+ : e === ')' || e === '\\rparen'
+ ? ((l = '\u239E'),
+ (h = '\u239F'),
+ (f = '\u23A0'),
+ (m = 'Size4-Regular'),
+ (d = 'rparen'),
+ (p = 875))
+ : e === '\\{' || e === '\\lbrace'
+ ? ((l = '\u23A7'), (u = '\u23A8'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular'))
+ : e === '\\}' || e === '\\rbrace'
+ ? ((l = '\u23AB'), (u = '\u23AC'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular'))
+ : e === '\\lgroup' || e === '\u27EE'
+ ? ((l = '\u23A7'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular'))
+ : e === '\\rgroup' || e === '\u27EF'
+ ? ((l = '\u23AB'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular'))
+ : e === '\\lmoustache' || e === '\u23B0'
+ ? ((l = '\u23A7'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular'))
+ : (e === '\\rmoustache' || e === '\u23B1') &&
+ ((l = '\u23AB'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular'));
+ var g = ey(l, m, a),
+ y = g.height + g.depth,
+ v = ey(h, m, a),
+ x = v.height + v.depth,
+ b = ey(f, m, a),
+ w = b.height + b.depth,
+ S = 0,
+ T = 1;
+ if (u !== null) {
+ var E = ey(u, m, a);
+ (S = E.height + E.depth), (T = 2);
+ }
+ var _ = y + w + S,
+ A = Math.max(0, Math.ceil((r - _) / (T * x))),
+ L = _ + A * T * x,
+ M = i.fontMetrics().axisHeight;
+ n && (M *= i.sizeMultiplier);
+ var N = L / 2 - M,
+ k = [];
+ if (d.length > 0) {
+ var I = L - y - w,
+ C = Math.round(L * 1e3),
+ O = ixe(d, Math.round(I * 1e3)),
+ D = new Jl(d, O),
+ P = (p / 1e3).toFixed(3) + 'em',
+ F = (C / 1e3).toFixed(3) + 'em',
+ B = new ll([D], {
+ width: P,
+ height: F,
+ viewBox: '0 0 ' + p + ' ' + C
+ }),
+ $ = Be.makeSvgSpan([], [B], i);
+ ($.height = C / 1e3),
+ ($.style.width = P),
+ ($.style.height = F),
+ k.push({ type: 'elem', elem: $ });
+ } else {
+ if ((k.push(h7(f, m, a)), k.push(l4), u === null)) {
+ var z = L - y - w + 2 * _7;
+ k.push(f7(h, z, i));
+ } else {
+ var Y = (L - y - w - S) / 2 + 2 * _7;
+ k.push(f7(h, Y, i)), k.push(l4), k.push(h7(u, m, a)), k.push(l4), k.push(f7(h, Y, i));
+ }
+ k.push(l4), k.push(h7(l, m, a));
+ }
+ var Q = i.havingBaseStyle(Ht.TEXT),
+ X = Be.makeVList({ positionType: 'bottom', positionData: N, children: k }, Q);
+ return z7(Be.makeSpan(['delimsizing', 'mult'], [X], Q), Ht.TEXT, i, s);
+ }, 'makeStackedDelim')),
+ (d7 = 80),
+ (p7 = 0.08),
+ (m7 = o(function (e, r, n, i, a) {
+ var s = rxe(e, i, n),
+ l = new Jl(e, s),
+ u = new ll([l], {
+ width: '400em',
+ height: ct(r),
+ viewBox: '0 0 400000 ' + n,
+ preserveAspectRatio: 'xMinYMin slice'
+ });
+ return Be.makeSvgSpan(['hide-tail'], [u], a);
+ }, 'sqrtSvg')),
+ (Zxe = o(function (e, r) {
+ var n = r.havingBaseSizing(),
+ i = n$('\\surd', e * n.sizeMultiplier, r$, n),
+ a = n.sizeMultiplier,
+ s = Math.max(0, r.minRuleThickness - r.fontMetrics().sqrtRuleThickness),
+ l,
+ u = 0,
+ h = 0,
+ f = 0,
+ d;
+ return (
+ i.type === 'small'
+ ? ((f = 1e3 + 1e3 * s + d7),
+ e < 1 ? (a = 1) : e < 1.4 && (a = 0.7),
+ (u = (1 + s + p7) / a),
+ (h = (1 + s) / a),
+ (l = m7('sqrtMain', u, f, s, r)),
+ (l.style.minWidth = '0.853em'),
+ (d = 0.833 / a))
+ : i.type === 'large'
+ ? ((f = (1e3 + d7) * ty[i.size]),
+ (h = (ty[i.size] + s) / a),
+ (u = (ty[i.size] + s + p7) / a),
+ (l = m7('sqrtSize' + i.size, u, f, s, r)),
+ (l.style.minWidth = '1.02em'),
+ (d = 1 / a))
+ : ((u = e + s + p7),
+ (h = e + s),
+ (f = Math.floor(1e3 * e + s) + d7),
+ (l = m7('sqrtTall', u, f, s, r)),
+ (l.style.minWidth = '0.742em'),
+ (d = 1.056)),
+ (l.height = h),
+ (l.style.height = ct(u)),
+ {
+ span: l,
+ advanceWidth: d,
+ ruleWidth: (r.fontMetrics().sqrtRuleThickness + s) * a
+ }
+ );
+ }, 'makeSqrtImage')),
+ (e$ = [
+ '(',
+ '\\lparen',
+ ')',
+ '\\rparen',
+ '[',
+ '\\lbrack',
+ ']',
+ '\\rbrack',
+ '\\{',
+ '\\lbrace',
+ '\\}',
+ '\\rbrace',
+ '\\lfloor',
+ '\\rfloor',
+ '\u230A',
+ '\u230B',
+ '\\lceil',
+ '\\rceil',
+ '\u2308',
+ '\u2309',
+ '\\surd'
+ ]),
+ (Jxe = [
+ '\\uparrow',
+ '\\downarrow',
+ '\\updownarrow',
+ '\\Uparrow',
+ '\\Downarrow',
+ '\\Updownarrow',
+ '|',
+ '\\|',
+ '\\vert',
+ '\\Vert',
+ '\\lvert',
+ '\\rvert',
+ '\\lVert',
+ '\\rVert',
+ '\\lgroup',
+ '\\rgroup',
+ '\u27EE',
+ '\u27EF',
+ '\\lmoustache',
+ '\\rmoustache',
+ '\u23B0',
+ '\u23B1'
+ ]),
+ (t$ = ['<', '>', '\\langle', '\\rangle', '/', '\\backslash', '\\lt', '\\gt']),
+ (ty = [0, 1.2, 1.8, 2.4, 3]),
+ (ebe = o(function (e, r, n, i, a) {
+ if (
+ (e === '<' || e === '\\lt' || e === '\u27E8'
+ ? (e = '\\langle')
+ : (e === '>' || e === '\\gt' || e === '\u27E9') && (e = '\\rangle'),
+ Vt.contains(e$, e) || Vt.contains(t$, e))
+ )
+ return ZG(e, r, !1, n, i, a);
+ if (Vt.contains(Jxe, e)) return JG(e, ty[r], !1, n, i, a);
+ throw new nt("Illegal delimiter: '" + e + "'");
+ }, 'makeSizedDelim')),
+ (tbe = [
+ { type: 'small', style: Ht.SCRIPTSCRIPT },
+ { type: 'small', style: Ht.SCRIPT },
+ { type: 'small', style: Ht.TEXT },
+ { type: 'large', size: 1 },
+ { type: 'large', size: 2 },
+ { type: 'large', size: 3 },
+ { type: 'large', size: 4 }
+ ]),
+ (rbe = [
+ { type: 'small', style: Ht.SCRIPTSCRIPT },
+ { type: 'small', style: Ht.SCRIPT },
+ { type: 'small', style: Ht.TEXT },
+ { type: 'stack' }
+ ]),
+ (r$ = [
+ { type: 'small', style: Ht.SCRIPTSCRIPT },
+ { type: 'small', style: Ht.SCRIPT },
+ { type: 'small', style: Ht.TEXT },
+ { type: 'large', size: 1 },
+ { type: 'large', size: 2 },
+ { type: 'large', size: 3 },
+ { type: 'large', size: 4 },
+ { type: 'stack' }
+ ]),
+ (nbe = o(function (e) {
+ if (e.type === 'small') return 'Main-Regular';
+ if (e.type === 'large') return 'Size' + e.size + '-Regular';
+ if (e.type === 'stack') return 'Size4-Regular';
+ throw new Error("Add support for delim type '" + e.type + "' here.");
+ }, 'delimTypeToFont')),
+ (n$ = o(function (e, r, n, i) {
+ for (var a = Math.min(2, 3 - i.style.size), s = a; s < n.length && n[s].type !== 'stack'; s++) {
+ var l = ey(e, nbe(n[s]), 'math'),
+ u = l.height + l.depth;
+ if (n[s].type === 'small') {
+ var h = i.havingBaseStyle(n[s].style);
+ u *= h.sizeMultiplier;
+ }
+ if (u > r) return n[s];
+ }
+ return n[n.length - 1];
+ }, 'traverseSequence')),
+ (i$ = o(function (e, r, n, i, a, s) {
+ e === '<' || e === '\\lt' || e === '\u27E8'
+ ? (e = '\\langle')
+ : (e === '>' || e === '\\gt' || e === '\u27E9') && (e = '\\rangle');
+ var l;
+ Vt.contains(t$, e) ? (l = tbe) : Vt.contains(e$, e) ? (l = r$) : (l = rbe);
+ var u = n$(e, r, l, i);
+ return u.type === 'small'
+ ? Xxe(e, u.style, n, i, a, s)
+ : u.type === 'large'
+ ? ZG(e, u.size, n, i, a, s)
+ : JG(e, r, n, i, a, s);
+ }, 'makeCustomSizedDelim')),
+ (ibe = o(function (e, r, n, i, a, s) {
+ var l = i.fontMetrics().axisHeight * i.sizeMultiplier,
+ u = 901,
+ h = 5 / i.fontMetrics().ptPerEm,
+ f = Math.max(r - l, n + l),
+ d = Math.max((f / 500) * u, 2 * f - h);
+ return i$(e, d, !0, i, a, s);
+ }, 'makeLeftRightDelim')),
+ (au = {
+ sqrtImage: Zxe,
+ sizedDelim: ebe,
+ sizeToMaxHeight: ty,
+ customSizedDelim: i$,
+ leftRightDelim: ibe
+ }),
+ (cG = {
+ '\\bigl': { mclass: 'mopen', size: 1 },
+ '\\Bigl': { mclass: 'mopen', size: 2 },
+ '\\biggl': { mclass: 'mopen', size: 3 },
+ '\\Biggl': { mclass: 'mopen', size: 4 },
+ '\\bigr': { mclass: 'mclose', size: 1 },
+ '\\Bigr': { mclass: 'mclose', size: 2 },
+ '\\biggr': { mclass: 'mclose', size: 3 },
+ '\\Biggr': { mclass: 'mclose', size: 4 },
+ '\\bigm': { mclass: 'mrel', size: 1 },
+ '\\Bigm': { mclass: 'mrel', size: 2 },
+ '\\biggm': { mclass: 'mrel', size: 3 },
+ '\\Biggm': { mclass: 'mrel', size: 4 },
+ '\\big': { mclass: 'mord', size: 1 },
+ '\\Big': { mclass: 'mord', size: 2 },
+ '\\bigg': { mclass: 'mord', size: 3 },
+ '\\Bigg': { mclass: 'mord', size: 4 }
+ }),
+ (abe = [
+ '(',
+ '\\lparen',
+ ')',
+ '\\rparen',
+ '[',
+ '\\lbrack',
+ ']',
+ '\\rbrack',
+ '\\{',
+ '\\lbrace',
+ '\\}',
+ '\\rbrace',
+ '\\lfloor',
+ '\\rfloor',
+ '\u230A',
+ '\u230B',
+ '\\lceil',
+ '\\rceil',
+ '\u2308',
+ '\u2309',
+ '<',
+ '>',
+ '\\langle',
+ '\u27E8',
+ '\\rangle',
+ '\u27E9',
+ '\\lt',
+ '\\gt',
+ '\\lvert',
+ '\\rvert',
+ '\\lVert',
+ '\\rVert',
+ '\\lgroup',
+ '\\rgroup',
+ '\u27EE',
+ '\u27EF',
+ '\\lmoustache',
+ '\\rmoustache',
+ '\u23B0',
+ '\u23B1',
+ '/',
+ '\\backslash',
+ '|',
+ '\\vert',
+ '\\|',
+ '\\Vert',
+ '\\uparrow',
+ '\\Uparrow',
+ '\\downarrow',
+ '\\Downarrow',
+ '\\updownarrow',
+ '\\Updownarrow',
+ '.'
+ ]);
+ o(E4, 'checkDelimiter');
+ vt({
+ type: 'delimsizing',
+ names: [
+ '\\bigl',
+ '\\Bigl',
+ '\\biggl',
+ '\\Biggl',
+ '\\bigr',
+ '\\Bigr',
+ '\\biggr',
+ '\\Biggr',
+ '\\bigm',
+ '\\Bigm',
+ '\\biggm',
+ '\\Biggm',
+ '\\big',
+ '\\Big',
+ '\\bigg',
+ '\\Bigg'
+ ],
+ props: { numArgs: 1, argTypes: ['primitive'] },
+ handler: o((t, e) => {
+ var r = E4(e[0], t);
+ return {
+ type: 'delimsizing',
+ mode: t.parser.mode,
+ size: cG[t.funcName].size,
+ mclass: cG[t.funcName].mclass,
+ delim: r.text
+ };
+ }, 'handler'),
+ htmlBuilder: o(
+ (t, e) =>
+ t.delim === '.'
+ ? Be.makeSpan([t.mclass])
+ : au.sizedDelim(t.delim, t.size, e, t.mode, [t.mclass]),
+ 'htmlBuilder'
+ ),
+ mathmlBuilder: o((t) => {
+ var e = [];
+ t.delim !== '.' && e.push(_o(t.delim, t.mode));
+ var r = new et.MathNode('mo', e);
+ t.mclass === 'mopen' || t.mclass === 'mclose'
+ ? r.setAttribute('fence', 'true')
+ : r.setAttribute('fence', 'false'),
+ r.setAttribute('stretchy', 'true');
+ var n = ct(au.sizeToMaxHeight[t.size]);
+ return r.setAttribute('minsize', n), r.setAttribute('maxsize', n), r;
+ }, 'mathmlBuilder')
+ });
+ o(uG, 'assertParsed');
+ vt({
+ type: 'leftright-right',
+ names: ['\\right'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: o((t, e) => {
+ var r = t.parser.gullet.macros.get('\\current@color');
+ if (r && typeof r != 'string') throw new nt('\\current@color set to non-string in \\right');
+ return {
+ type: 'leftright-right',
+ mode: t.parser.mode,
+ delim: E4(e[0], t).text,
+ color: r
+ };
+ }, 'handler')
+ });
+ vt({
+ type: 'leftright',
+ names: ['\\left'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: o((t, e) => {
+ var r = E4(e[0], t),
+ n = t.parser;
+ ++n.leftrightDepth;
+ var i = n.parseExpression(!1);
+ --n.leftrightDepth, n.expect('\\right', !1);
+ var a = ir(n.parseFunction(), 'leftright-right');
+ return {
+ type: 'leftright',
+ mode: n.mode,
+ body: i,
+ left: r.text,
+ right: a.delim,
+ rightColor: a.color
+ };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ uG(t);
+ for (var r = Ri(t.body, e, !0, ['mopen', 'mclose']), n = 0, i = 0, a = !1, s = 0; s < r.length; s++)
+ r[s].isMiddle ? (a = !0) : ((n = Math.max(r[s].height, n)), (i = Math.max(r[s].depth, i)));
+ (n *= e.sizeMultiplier), (i *= e.sizeMultiplier);
+ var l;
+ if (
+ (t.left === '.'
+ ? (l = sy(e, ['mopen']))
+ : (l = au.leftRightDelim(t.left, n, i, e, t.mode, ['mopen'])),
+ r.unshift(l),
+ a)
+ )
+ for (var u = 1; u < r.length; u++) {
+ var h = r[u],
+ f = h.isMiddle;
+ f && (r[u] = au.leftRightDelim(f.delim, n, i, f.options, t.mode, []));
+ }
+ var d;
+ if (t.right === '.') d = sy(e, ['mclose']);
+ else {
+ var p = t.rightColor ? e.withColor(t.rightColor) : e;
+ d = au.leftRightDelim(t.right, n, i, p, t.mode, ['mclose']);
+ }
+ return r.push(d), Be.makeSpan(['minner'], r, e);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ uG(t);
+ var r = gs(t.body, e);
+ if (t.left !== '.') {
+ var n = new et.MathNode('mo', [_o(t.left, t.mode)]);
+ n.setAttribute('fence', 'true'), r.unshift(n);
+ }
+ if (t.right !== '.') {
+ var i = new et.MathNode('mo', [_o(t.right, t.mode)]);
+ i.setAttribute('fence', 'true'),
+ t.rightColor && i.setAttribute('mathcolor', t.rightColor),
+ r.push(i);
+ }
+ return O7(r);
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'middle',
+ names: ['\\middle'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: o((t, e) => {
+ var r = E4(e[0], t);
+ if (!t.parser.leftrightDepth) throw new nt('\\middle without preceding \\left', r);
+ return { type: 'middle', mode: t.parser.mode, delim: r.text };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r;
+ if (t.delim === '.') r = sy(e, []);
+ else {
+ r = au.sizedDelim(t.delim, 1, e, t.mode, []);
+ var n = { delim: t.delim, options: e };
+ r.isMiddle = n;
+ }
+ return r;
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = t.delim === '\\vert' || t.delim === '|' ? _o('|', 'text') : _o(t.delim, t.mode),
+ n = new et.MathNode('mo', [r]);
+ return (
+ n.setAttribute('fence', 'true'),
+ n.setAttribute('lspace', '0.05em'),
+ n.setAttribute('rspace', '0.05em'),
+ n
+ );
+ }, 'mathmlBuilder')
+ });
+ (G7 = o((t, e) => {
+ var r = Be.wrapFragment(Cr(t.body, e), e),
+ n = t.label.slice(1),
+ i = e.sizeMultiplier,
+ a,
+ s = 0,
+ l = Vt.isCharacterBox(t.body);
+ if (n === 'sout')
+ (a = Be.makeSpan(['stretchy', 'sout'])),
+ (a.height = e.fontMetrics().defaultRuleThickness / i),
+ (s = -0.5 * e.fontMetrics().xHeight);
+ else if (n === 'phase') {
+ var u = Hn({ number: 0.6, unit: 'pt' }, e),
+ h = Hn({ number: 0.35, unit: 'ex' }, e),
+ f = e.havingBaseSizing();
+ i = i / f.sizeMultiplier;
+ var d = r.height + r.depth + u + h;
+ r.style.paddingLeft = ct(d / 2 + u);
+ var p = Math.floor(1e3 * d * i),
+ m = exe(p),
+ g = new ll([new Jl('phase', m)], {
+ width: '400em',
+ height: ct(p / 1e3),
+ viewBox: '0 0 400000 ' + p,
+ preserveAspectRatio: 'xMinYMin slice'
+ });
+ (a = Be.makeSvgSpan(['hide-tail'], [g], e)), (a.style.height = ct(d)), (s = r.depth + u + h);
+ } else {
+ /cancel/.test(n)
+ ? l || r.classes.push('cancel-pad')
+ : n === 'angl'
+ ? r.classes.push('anglpad')
+ : r.classes.push('boxpad');
+ var y = 0,
+ v = 0,
+ x = 0;
+ /box/.test(n)
+ ? ((x = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness)),
+ (y = e.fontMetrics().fboxsep + (n === 'colorbox' ? 0 : x)),
+ (v = y))
+ : n === 'angl'
+ ? ((x = Math.max(e.fontMetrics().defaultRuleThickness, e.minRuleThickness)),
+ (y = 4 * x),
+ (v = Math.max(0, 0.25 - r.depth)))
+ : ((y = l ? 0.2 : 0), (v = y)),
+ (a = ou.encloseSpan(r, n, y, v, e)),
+ /fbox|boxed|fcolorbox/.test(n)
+ ? ((a.style.borderStyle = 'solid'), (a.style.borderWidth = ct(x)))
+ : n === 'angl' &&
+ x !== 0.049 &&
+ ((a.style.borderTopWidth = ct(x)), (a.style.borderRightWidth = ct(x))),
+ (s = r.depth + v),
+ t.backgroundColor &&
+ ((a.style.backgroundColor = t.backgroundColor),
+ t.borderColor && (a.style.borderColor = t.borderColor));
+ }
+ var b;
+ if (t.backgroundColor)
+ b = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: a, shift: s },
+ { type: 'elem', elem: r, shift: 0 }
+ ]
+ },
+ e
+ );
+ else {
+ var w = /cancel|phase/.test(n) ? ['svg-align'] : [];
+ b = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: r, shift: 0 },
+ { type: 'elem', elem: a, shift: s, wrapperClasses: w }
+ ]
+ },
+ e
+ );
+ }
+ return (
+ /cancel/.test(n) && ((b.height = r.height), (b.depth = r.depth)),
+ /cancel/.test(n) && !l ? Be.makeSpan(['mord', 'cancel-lap'], [b], e) : Be.makeSpan(['mord'], [b], e)
+ );
+ }, 'htmlBuilder$7')),
+ ($7 = o((t, e) => {
+ var r = 0,
+ n = new et.MathNode(t.label.indexOf('colorbox') > -1 ? 'mpadded' : 'menclose', [fn(t.body, e)]);
+ switch (t.label) {
+ case '\\cancel':
+ n.setAttribute('notation', 'updiagonalstrike');
+ break;
+ case '\\bcancel':
+ n.setAttribute('notation', 'downdiagonalstrike');
+ break;
+ case '\\phase':
+ n.setAttribute('notation', 'phasorangle');
+ break;
+ case '\\sout':
+ n.setAttribute('notation', 'horizontalstrike');
+ break;
+ case '\\fbox':
+ n.setAttribute('notation', 'box');
+ break;
+ case '\\angl':
+ n.setAttribute('notation', 'actuarial');
+ break;
+ case '\\fcolorbox':
+ case '\\colorbox':
+ if (
+ ((r = e.fontMetrics().fboxsep * e.fontMetrics().ptPerEm),
+ n.setAttribute('width', '+' + 2 * r + 'pt'),
+ n.setAttribute('height', '+' + 2 * r + 'pt'),
+ n.setAttribute('lspace', r + 'pt'),
+ n.setAttribute('voffset', r + 'pt'),
+ t.label === '\\fcolorbox')
+ ) {
+ var i = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness);
+ n.setAttribute('style', 'border: ' + i + 'em solid ' + String(t.borderColor));
+ }
+ break;
+ case '\\xcancel':
+ n.setAttribute('notation', 'updiagonalstrike downdiagonalstrike');
+ break;
+ }
+ return t.backgroundColor && n.setAttribute('mathbackground', t.backgroundColor), n;
+ }, 'mathmlBuilder$6'));
+ vt({
+ type: 'enclose',
+ names: ['\\colorbox'],
+ props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'text'] },
+ handler(t, e, r) {
+ var { parser: n, funcName: i } = t,
+ a = ir(e[0], 'color-token').color,
+ s = e[1];
+ return {
+ type: 'enclose',
+ mode: n.mode,
+ label: i,
+ backgroundColor: a,
+ body: s
+ };
+ },
+ htmlBuilder: G7,
+ mathmlBuilder: $7
+ });
+ vt({
+ type: 'enclose',
+ names: ['\\fcolorbox'],
+ props: {
+ numArgs: 3,
+ allowedInText: !0,
+ argTypes: ['color', 'color', 'text']
+ },
+ handler(t, e, r) {
+ var { parser: n, funcName: i } = t,
+ a = ir(e[0], 'color-token').color,
+ s = ir(e[1], 'color-token').color,
+ l = e[2];
+ return {
+ type: 'enclose',
+ mode: n.mode,
+ label: i,
+ backgroundColor: s,
+ borderColor: a,
+ body: l
+ };
+ },
+ htmlBuilder: G7,
+ mathmlBuilder: $7
+ });
+ vt({
+ type: 'enclose',
+ names: ['\\fbox'],
+ props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !0 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'enclose', mode: r.mode, label: '\\fbox', body: e[0] };
+ }
+ });
+ vt({
+ type: 'enclose',
+ names: ['\\cancel', '\\bcancel', '\\xcancel', '\\sout', '\\phase'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return { type: 'enclose', mode: r.mode, label: n, body: i };
+ },
+ htmlBuilder: G7,
+ mathmlBuilder: $7
+ });
+ vt({
+ type: 'enclose',
+ names: ['\\angl'],
+ props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !1 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'enclose', mode: r.mode, label: '\\angl', body: e[0] };
+ }
+ });
+ a$ = {};
+ o(ec, 'defineEnvironment');
+ s$ = {};
+ o(le, 'defineMacro');
+ o(hG, 'getHLines');
+ C4 = o((t) => {
+ var e = t.parser.settings;
+ if (!e.displayMode) throw new nt('{' + t.envName + '} can be used only in display mode.');
+ }, 'validateAmsEnvironmentContext');
+ o(V7, 'getAutoTag');
+ o(mh, 'parseArray');
+ o(U7, 'dCellStyle');
+ (tc = o(function (e, r) {
+ var n,
+ i,
+ a = e.body.length,
+ s = e.hLinesBeforeRow,
+ l = 0,
+ u = new Array(a),
+ h = [],
+ f = Math.max(r.fontMetrics().arrayRuleWidth, r.minRuleThickness),
+ d = 1 / r.fontMetrics().ptPerEm,
+ p = 5 * d;
+ if (e.colSeparationType && e.colSeparationType === 'small') {
+ var m = r.havingStyle(Ht.SCRIPT).sizeMultiplier;
+ p = 0.2778 * (m / r.sizeMultiplier);
+ }
+ var g = e.colSeparationType === 'CD' ? Hn({ number: 3, unit: 'ex' }, r) : 12 * d,
+ y = 3 * d,
+ v = e.arraystretch * g,
+ x = 0.7 * v,
+ b = 0.3 * v,
+ w = 0;
+ function S(ke) {
+ for (var Ie = 0; Ie < ke.length; ++Ie) Ie > 0 && (w += 0.25), h.push({ pos: w, isDashed: ke[Ie] });
+ }
+ for (o(S, 'setHLinePos'), S(s[0]), n = 0; n < e.body.length; ++n) {
+ var T = e.body[n],
+ E = x,
+ _ = b;
+ l < T.length && (l = T.length);
+ var A = new Array(T.length);
+ for (i = 0; i < T.length; ++i) {
+ var L = Cr(T[i], r);
+ _ < L.depth && (_ = L.depth), E < L.height && (E = L.height), (A[i] = L);
+ }
+ var M = e.rowGaps[n],
+ N = 0;
+ M && ((N = Hn(M, r)), N > 0 && ((N += b), _ < N && (_ = N), (N = 0))),
+ e.addJot && (_ += y),
+ (A.height = E),
+ (A.depth = _),
+ (w += E),
+ (A.pos = w),
+ (w += _ + N),
+ (u[n] = A),
+ S(s[n + 1]);
+ }
+ var k = w / 2 + r.fontMetrics().axisHeight,
+ I = e.cols || [],
+ C = [],
+ O,
+ D,
+ P = [];
+ if (e.tags && e.tags.some((ke) => ke))
+ for (n = 0; n < a; ++n) {
+ var F = u[n],
+ B = F.pos - k,
+ $ = e.tags[n],
+ z = void 0;
+ $ === !0
+ ? (z = Be.makeSpan(['eqn-num'], [], r))
+ : $ === !1
+ ? (z = Be.makeSpan([], [], r))
+ : (z = Be.makeSpan([], Ri($, r, !0), r)),
+ (z.depth = F.depth),
+ (z.height = F.height),
+ P.push({ type: 'elem', elem: z, shift: B });
+ }
+ for (i = 0, D = 0; i < l || D < I.length; ++i, ++D) {
+ for (var Y = I[D] || {}, Q = !0; Y.type === 'separator'; ) {
+ if (
+ (Q ||
+ ((O = Be.makeSpan(['arraycolsep'], [])),
+ (O.style.width = ct(r.fontMetrics().doubleRuleSep)),
+ C.push(O)),
+ Y.separator === '|' || Y.separator === ':')
+ ) {
+ var X = Y.separator === '|' ? 'solid' : 'dashed',
+ ie = Be.makeSpan(['vertical-separator'], [], r);
+ (ie.style.height = ct(w)),
+ (ie.style.borderRightWidth = ct(f)),
+ (ie.style.borderRightStyle = X),
+ (ie.style.margin = '0 ' + ct(-f / 2));
+ var j = w - k;
+ j && (ie.style.verticalAlign = ct(-j)), C.push(ie);
+ } else throw new nt('Invalid separator type: ' + Y.separator);
+ D++, (Y = I[D] || {}), (Q = !1);
+ }
+ if (!(i >= l)) {
+ var J = void 0;
+ (i > 0 || e.hskipBeforeAndAfter) &&
+ ((J = Vt.deflt(Y.pregap, p)),
+ J !== 0 && ((O = Be.makeSpan(['arraycolsep'], [])), (O.style.width = ct(J)), C.push(O)));
+ var Z = [];
+ for (n = 0; n < a; ++n) {
+ var H = u[n],
+ q = H[i];
+ if (q) {
+ var K = H.pos - k;
+ (q.depth = H.depth), (q.height = H.height), Z.push({ type: 'elem', elem: q, shift: K });
+ }
+ }
+ (Z = Be.makeVList({ positionType: 'individualShift', children: Z }, r)),
+ (Z = Be.makeSpan(['col-align-' + (Y.align || 'c')], [Z])),
+ C.push(Z),
+ (i < l - 1 || e.hskipBeforeAndAfter) &&
+ ((J = Vt.deflt(Y.postgap, p)),
+ J !== 0 &&
+ ((O = Be.makeSpan(['arraycolsep'], [])), (O.style.width = ct(J)), C.push(O)));
+ }
+ }
+ if (((u = Be.makeSpan(['mtable'], C)), h.length > 0)) {
+ for (
+ var se = Be.makeLineSpan('hline', r, f),
+ ce = Be.makeLineSpan('hdashline', r, f),
+ ue = [{ type: 'elem', elem: u, shift: 0 }];
+ h.length > 0;
+
+ ) {
+ var te = h.pop(),
+ De = te.pos - k;
+ te.isDashed
+ ? ue.push({ type: 'elem', elem: ce, shift: De })
+ : ue.push({ type: 'elem', elem: se, shift: De });
+ }
+ u = Be.makeVList({ positionType: 'individualShift', children: ue }, r);
+ }
+ if (P.length === 0) return Be.makeSpan(['mord'], [u], r);
+ var oe = Be.makeVList({ positionType: 'individualShift', children: P }, r);
+ return (oe = Be.makeSpan(['tag'], [oe], r)), Be.makeFragment([u, oe]);
+ }, 'htmlBuilder')),
+ (sbe = { c: 'center ', l: 'left ', r: 'right ' }),
+ (rc = o(function (e, r) {
+ for (
+ var n = [],
+ i = new et.MathNode('mtd', [], ['mtr-glue']),
+ a = new et.MathNode('mtd', [], ['mml-eqn-num']),
+ s = 0;
+ s < e.body.length;
+ s++
+ ) {
+ for (var l = e.body[s], u = [], h = 0; h < l.length; h++)
+ u.push(new et.MathNode('mtd', [fn(l[h], r)]));
+ e.tags && e.tags[s] && (u.unshift(i), u.push(i), e.leqno ? u.unshift(a) : u.push(a)),
+ n.push(new et.MathNode('mtr', u));
+ }
+ var f = new et.MathNode('mtable', n),
+ d = e.arraystretch === 0.5 ? 0.1 : 0.16 + e.arraystretch - 1 + (e.addJot ? 0.09 : 0);
+ f.setAttribute('rowspacing', ct(d));
+ var p = '',
+ m = '';
+ if (e.cols && e.cols.length > 0) {
+ var g = e.cols,
+ y = '',
+ v = !1,
+ x = 0,
+ b = g.length;
+ g[0].type === 'separator' && ((p += 'top '), (x = 1)),
+ g[g.length - 1].type === 'separator' && ((p += 'bottom '), (b -= 1));
+ for (var w = x; w < b; w++)
+ g[w].type === 'align'
+ ? ((m += sbe[g[w].align]), v && (y += 'none '), (v = !0))
+ : g[w].type === 'separator' &&
+ v &&
+ ((y += g[w].separator === '|' ? 'solid ' : 'dashed '), (v = !1));
+ f.setAttribute('columnalign', m.trim()),
+ /[sd]/.test(y) && f.setAttribute('columnlines', y.trim());
+ }
+ if (e.colSeparationType === 'align') {
+ for (var S = e.cols || [], T = '', E = 1; E < S.length; E++) T += E % 2 ? '0em ' : '1em ';
+ f.setAttribute('columnspacing', T.trim());
+ } else e.colSeparationType === 'alignat' || e.colSeparationType === 'gather' ? f.setAttribute('columnspacing', '0em') : e.colSeparationType === 'small' ? f.setAttribute('columnspacing', '0.2778em') : e.colSeparationType === 'CD' ? f.setAttribute('columnspacing', '0.5em') : f.setAttribute('columnspacing', '1em');
+ var _ = '',
+ A = e.hLinesBeforeRow;
+ (p += A[0].length > 0 ? 'left ' : ''), (p += A[A.length - 1].length > 0 ? 'right ' : '');
+ for (var L = 1; L < A.length - 1; L++)
+ _ += A[L].length === 0 ? 'none ' : A[L][0] ? 'dashed ' : 'solid ';
+ return (
+ /[sd]/.test(_) && f.setAttribute('rowlines', _.trim()),
+ p !== '' && ((f = new et.MathNode('menclose', [f])), f.setAttribute('notation', p.trim())),
+ e.arraystretch &&
+ e.arraystretch < 1 &&
+ ((f = new et.MathNode('mstyle', [f])), f.setAttribute('scriptlevel', '1')),
+ f
+ );
+ }, 'mathmlBuilder')),
+ (o$ = o(function (e, r) {
+ e.envName.indexOf('ed') === -1 && C4(e);
+ var n = [],
+ i = e.envName.indexOf('at') > -1 ? 'alignat' : 'align',
+ a = e.envName === 'split',
+ s = mh(
+ e.parser,
+ {
+ cols: n,
+ addJot: !0,
+ autoTag: a ? void 0 : V7(e.envName),
+ emptySingleRow: !0,
+ colSeparationType: i,
+ maxNumCols: a ? 2 : void 0,
+ leqno: e.parser.settings.leqno
+ },
+ 'display'
+ ),
+ l,
+ u = 0,
+ h = { type: 'ordgroup', mode: e.mode, body: [] };
+ if (r[0] && r[0].type === 'ordgroup') {
+ for (var f = '', d = 0; d < r[0].body.length; d++) {
+ var p = ir(r[0].body[d], 'textord');
+ f += p.text;
+ }
+ (l = Number(f)), (u = l * 2);
+ }
+ var m = !u;
+ s.body.forEach(function (x) {
+ for (var b = 1; b < x.length; b += 2) {
+ var w = ir(x[b], 'styling'),
+ S = ir(w.body[0], 'ordgroup');
+ S.body.unshift(h);
+ }
+ if (m) u < x.length && (u = x.length);
+ else {
+ var T = x.length / 2;
+ if (l < T)
+ throw new nt('Too many math in a row: ' + ('expected ' + l + ', but got ' + T), x[0]);
+ }
+ });
+ for (var g = 0; g < u; ++g) {
+ var y = 'r',
+ v = 0;
+ g % 2 === 1 ? (y = 'l') : g > 0 && m && (v = 1),
+ (n[g] = { type: 'align', align: y, pregap: v, postgap: 0 });
+ }
+ return (s.colSeparationType = m ? 'align' : 'alignat'), s;
+ }, 'alignedHandler'));
+ ec({
+ type: 'array',
+ names: ['array', 'darray'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var r = T4(e[0]),
+ n = r ? [e[0]] : ir(e[0], 'ordgroup').body,
+ i = n.map(function (s) {
+ var l = B7(s),
+ u = l.text;
+ if ('lcr'.indexOf(u) !== -1) return { type: 'align', align: u };
+ if (u === '|') return { type: 'separator', separator: '|' };
+ if (u === ':') return { type: 'separator', separator: ':' };
+ throw new nt('Unknown column alignment: ' + u, s);
+ }),
+ a = { cols: i, hskipBeforeAndAfter: !0, maxNumCols: i.length };
+ return mh(t.parser, a, U7(t.envName));
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: [
+ 'matrix',
+ 'pmatrix',
+ 'bmatrix',
+ 'Bmatrix',
+ 'vmatrix',
+ 'Vmatrix',
+ 'matrix*',
+ 'pmatrix*',
+ 'bmatrix*',
+ 'Bmatrix*',
+ 'vmatrix*',
+ 'Vmatrix*'
+ ],
+ props: { numArgs: 0 },
+ handler(t) {
+ var e = {
+ matrix: null,
+ pmatrix: ['(', ')'],
+ bmatrix: ['[', ']'],
+ Bmatrix: ['\\{', '\\}'],
+ vmatrix: ['|', '|'],
+ Vmatrix: ['\\Vert', '\\Vert']
+ }[t.envName.replace('*', '')],
+ r = 'c',
+ n = {
+ hskipBeforeAndAfter: !1,
+ cols: [{ type: 'align', align: r }]
+ };
+ if (t.envName.charAt(t.envName.length - 1) === '*') {
+ var i = t.parser;
+ if ((i.consumeSpaces(), i.fetch().text === '[')) {
+ if ((i.consume(), i.consumeSpaces(), (r = i.fetch().text), 'lcr'.indexOf(r) === -1))
+ throw new nt('Expected l or c or r', i.nextToken);
+ i.consume(),
+ i.consumeSpaces(),
+ i.expect(']'),
+ i.consume(),
+ (n.cols = [{ type: 'align', align: r }]);
+ }
+ }
+ var a = mh(t.parser, n, U7(t.envName)),
+ s = Math.max(0, ...a.body.map((l) => l.length));
+ return (
+ (a.cols = new Array(s).fill({ type: 'align', align: r })),
+ e
+ ? {
+ type: 'leftright',
+ mode: t.mode,
+ body: [a],
+ left: e[0],
+ right: e[1],
+ rightColor: void 0
+ }
+ : a
+ );
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['smallmatrix'],
+ props: { numArgs: 0 },
+ handler(t) {
+ var e = { arraystretch: 0.5 },
+ r = mh(t.parser, e, 'script');
+ return (r.colSeparationType = 'small'), r;
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['subarray'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var r = T4(e[0]),
+ n = r ? [e[0]] : ir(e[0], 'ordgroup').body,
+ i = n.map(function (s) {
+ var l = B7(s),
+ u = l.text;
+ if ('lc'.indexOf(u) !== -1) return { type: 'align', align: u };
+ throw new nt('Unknown column alignment: ' + u, s);
+ });
+ if (i.length > 1) throw new nt('{subarray} can contain only one column');
+ var a = { cols: i, hskipBeforeAndAfter: !1, arraystretch: 0.5 };
+ if (((a = mh(t.parser, a, 'script')), a.body.length > 0 && a.body[0].length > 1))
+ throw new nt('{subarray} can contain only one column');
+ return a;
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['cases', 'dcases', 'rcases', 'drcases'],
+ props: { numArgs: 0 },
+ handler(t) {
+ var e = {
+ arraystretch: 1.2,
+ cols: [
+ { type: 'align', align: 'l', pregap: 0, postgap: 1 },
+ { type: 'align', align: 'l', pregap: 0, postgap: 0 }
+ ]
+ },
+ r = mh(t.parser, e, U7(t.envName));
+ return {
+ type: 'leftright',
+ mode: t.mode,
+ body: [r],
+ left: t.envName.indexOf('r') > -1 ? '.' : '\\{',
+ right: t.envName.indexOf('r') > -1 ? '\\}' : '.',
+ rightColor: void 0
+ };
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['align', 'align*', 'aligned', 'split'],
+ props: { numArgs: 0 },
+ handler: o$,
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['gathered', 'gather', 'gather*'],
+ props: { numArgs: 0 },
+ handler(t) {
+ Vt.contains(['gather', 'gather*'], t.envName) && C4(t);
+ var e = {
+ cols: [{ type: 'align', align: 'c' }],
+ addJot: !0,
+ colSeparationType: 'gather',
+ autoTag: V7(t.envName),
+ emptySingleRow: !0,
+ leqno: t.parser.settings.leqno
+ };
+ return mh(t.parser, e, 'display');
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['alignat', 'alignat*', 'alignedat'],
+ props: { numArgs: 1 },
+ handler: o$,
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['equation', 'equation*'],
+ props: { numArgs: 0 },
+ handler(t) {
+ C4(t);
+ var e = {
+ autoTag: V7(t.envName),
+ emptySingleRow: !0,
+ singleRow: !0,
+ maxNumCols: 1,
+ leqno: t.parser.settings.leqno
+ };
+ return mh(t.parser, e, 'display');
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ ec({
+ type: 'array',
+ names: ['CD'],
+ props: { numArgs: 0 },
+ handler(t) {
+ return C4(t), Wxe(t.parser);
+ },
+ htmlBuilder: tc,
+ mathmlBuilder: rc
+ });
+ le('\\nonumber', '\\gdef\\@eqnsw{0}');
+ le('\\notag', '\\nonumber');
+ vt({
+ type: 'text',
+ names: ['\\hline', '\\hdashline'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 },
+ handler(t, e) {
+ throw new nt(t.funcName + ' valid only within array environment');
+ }
+ });
+ fG = a$;
+ vt({
+ type: 'environment',
+ names: ['\\begin', '\\end'],
+ props: { numArgs: 1, argTypes: ['text'] },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ if (i.type !== 'ordgroup') throw new nt('Invalid environment name', i);
+ for (var a = '', s = 0; s < i.body.length; ++s) a += ir(i.body[s], 'textord').text;
+ if (n === '\\begin') {
+ if (!fG.hasOwnProperty(a)) throw new nt('No such environment: ' + a, i);
+ var l = fG[a],
+ { args: u, optArgs: h } = r.parseArguments('\\begin{' + a + '}', l),
+ f = { mode: r.mode, envName: a, parser: r },
+ d = l.handler(f, u, h);
+ r.expect('\\end', !1);
+ var p = r.nextToken,
+ m = ir(r.parseFunction(), 'environment');
+ if (m.name !== a)
+ throw new nt('Mismatch: \\begin{' + a + '} matched by \\end{' + m.name + '}', p);
+ return d;
+ }
+ return { type: 'environment', mode: r.mode, name: a, nameGroup: i };
+ }
+ });
+ (l$ = o((t, e) => {
+ var r = t.font,
+ n = e.withFont(r);
+ return Cr(t.body, n);
+ }, 'htmlBuilder$5')),
+ (c$ = o((t, e) => {
+ var r = t.font,
+ n = e.withFont(r);
+ return fn(t.body, n);
+ }, 'mathmlBuilder$4')),
+ (dG = {
+ '\\Bbb': '\\mathbb',
+ '\\bold': '\\mathbf',
+ '\\frak': '\\mathfrak',
+ '\\bm': '\\boldsymbol'
+ });
+ vt({
+ type: 'font',
+ names: [
+ '\\mathrm',
+ '\\mathit',
+ '\\mathbf',
+ '\\mathnormal',
+ '\\mathbb',
+ '\\mathcal',
+ '\\mathfrak',
+ '\\mathscr',
+ '\\mathsf',
+ '\\mathtt',
+ '\\Bbb',
+ '\\bold',
+ '\\frak'
+ ],
+ props: { numArgs: 1, allowedInArgument: !0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = y4(e[0]),
+ a = n;
+ return a in dG && (a = dG[a]), { type: 'font', mode: r.mode, font: a.slice(1), body: i };
+ }, 'handler'),
+ htmlBuilder: l$,
+ mathmlBuilder: c$
+ });
+ vt({
+ type: 'mclass',
+ names: ['\\boldsymbol', '\\bm'],
+ props: { numArgs: 1 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[0],
+ i = Vt.isCharacterBox(n);
+ return {
+ type: 'mclass',
+ mode: r.mode,
+ mclass: k4(n),
+ body: [{ type: 'font', mode: r.mode, font: 'boldsymbol', body: n }],
+ isCharacterBox: i
+ };
+ }, 'handler')
+ });
+ vt({
+ type: 'font',
+ names: ['\\rm', '\\sf', '\\tt', '\\bf', '\\it', '\\cal'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n, breakOnTokenText: i } = t,
+ { mode: a } = r,
+ s = r.parseExpression(!0, i),
+ l = 'math' + n.slice(1);
+ return {
+ type: 'font',
+ mode: a,
+ font: l,
+ body: { type: 'ordgroup', mode: r.mode, body: s }
+ };
+ }, 'handler'),
+ htmlBuilder: l$,
+ mathmlBuilder: c$
+ });
+ (u$ = o((t, e) => {
+ var r = e;
+ return (
+ t === 'display'
+ ? (r = r.id >= Ht.SCRIPT.id ? r.text() : Ht.DISPLAY)
+ : t === 'text' && r.size === Ht.DISPLAY.size
+ ? (r = Ht.TEXT)
+ : t === 'script'
+ ? (r = Ht.SCRIPT)
+ : t === 'scriptscript' && (r = Ht.SCRIPTSCRIPT),
+ r
+ );
+ }, 'adjustStyle')),
+ (H7 = o((t, e) => {
+ var r = u$(t.size, e.style),
+ n = r.fracNum(),
+ i = r.fracDen(),
+ a;
+ a = e.havingStyle(n);
+ var s = Cr(t.numer, a, e);
+ if (t.continued) {
+ var l = 8.5 / e.fontMetrics().ptPerEm,
+ u = 3.5 / e.fontMetrics().ptPerEm;
+ (s.height = s.height < l ? l : s.height), (s.depth = s.depth < u ? u : s.depth);
+ }
+ a = e.havingStyle(i);
+ var h = Cr(t.denom, a, e),
+ f,
+ d,
+ p;
+ t.hasBarLine
+ ? (t.barSize
+ ? ((d = Hn(t.barSize, e)), (f = Be.makeLineSpan('frac-line', e, d)))
+ : (f = Be.makeLineSpan('frac-line', e)),
+ (d = f.height),
+ (p = f.height))
+ : ((f = null), (d = 0), (p = e.fontMetrics().defaultRuleThickness));
+ var m, g, y;
+ r.size === Ht.DISPLAY.size || t.size === 'display'
+ ? ((m = e.fontMetrics().num1), d > 0 ? (g = 3 * p) : (g = 7 * p), (y = e.fontMetrics().denom1))
+ : (d > 0 ? ((m = e.fontMetrics().num2), (g = p)) : ((m = e.fontMetrics().num3), (g = 3 * p)),
+ (y = e.fontMetrics().denom2));
+ var v;
+ if (f) {
+ var b = e.fontMetrics().axisHeight;
+ m - s.depth - (b + 0.5 * d) < g && (m += g - (m - s.depth - (b + 0.5 * d))),
+ b - 0.5 * d - (h.height - y) < g && (y += g - (b - 0.5 * d - (h.height - y)));
+ var w = -(b - 0.5 * d);
+ v = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: h, shift: y },
+ { type: 'elem', elem: f, shift: w },
+ { type: 'elem', elem: s, shift: -m }
+ ]
+ },
+ e
+ );
+ } else {
+ var x = m - s.depth - (h.height - y);
+ x < g && ((m += 0.5 * (g - x)), (y += 0.5 * (g - x))),
+ (v = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: h, shift: y },
+ { type: 'elem', elem: s, shift: -m }
+ ]
+ },
+ e
+ ));
+ }
+ (a = e.havingStyle(r)),
+ (v.height *= a.sizeMultiplier / e.sizeMultiplier),
+ (v.depth *= a.sizeMultiplier / e.sizeMultiplier);
+ var S;
+ r.size === Ht.DISPLAY.size
+ ? (S = e.fontMetrics().delim1)
+ : r.size === Ht.SCRIPTSCRIPT.size
+ ? (S = e.havingStyle(Ht.SCRIPT).fontMetrics().delim2)
+ : (S = e.fontMetrics().delim2);
+ var T, E;
+ return (
+ t.leftDelim == null
+ ? (T = sy(e, ['mopen']))
+ : (T = au.customSizedDelim(t.leftDelim, S, !0, e.havingStyle(r), t.mode, ['mopen'])),
+ t.continued
+ ? (E = Be.makeSpan([]))
+ : t.rightDelim == null
+ ? (E = sy(e, ['mclose']))
+ : (E = au.customSizedDelim(t.rightDelim, S, !0, e.havingStyle(r), t.mode, ['mclose'])),
+ Be.makeSpan(['mord'].concat(a.sizingClasses(e)), [T, Be.makeSpan(['mfrac'], [v]), E], e)
+ );
+ }, 'htmlBuilder$4')),
+ (Y7 = o((t, e) => {
+ var r = new et.MathNode('mfrac', [fn(t.numer, e), fn(t.denom, e)]);
+ if (!t.hasBarLine) r.setAttribute('linethickness', '0px');
+ else if (t.barSize) {
+ var n = Hn(t.barSize, e);
+ r.setAttribute('linethickness', ct(n));
+ }
+ var i = u$(t.size, e.style);
+ if (i.size !== e.style.size) {
+ r = new et.MathNode('mstyle', [r]);
+ var a = i.size === Ht.DISPLAY.size ? 'true' : 'false';
+ r.setAttribute('displaystyle', a), r.setAttribute('scriptlevel', '0');
+ }
+ if (t.leftDelim != null || t.rightDelim != null) {
+ var s = [];
+ if (t.leftDelim != null) {
+ var l = new et.MathNode('mo', [new et.TextNode(t.leftDelim.replace('\\', ''))]);
+ l.setAttribute('fence', 'true'), s.push(l);
+ }
+ if ((s.push(r), t.rightDelim != null)) {
+ var u = new et.MathNode('mo', [new et.TextNode(t.rightDelim.replace('\\', ''))]);
+ u.setAttribute('fence', 'true'), s.push(u);
+ }
+ return O7(s);
+ }
+ return r;
+ }, 'mathmlBuilder$3'));
+ vt({
+ type: 'genfrac',
+ names: [
+ '\\dfrac',
+ '\\frac',
+ '\\tfrac',
+ '\\dbinom',
+ '\\binom',
+ '\\tbinom',
+ '\\\\atopfrac',
+ '\\\\bracefrac',
+ '\\\\brackfrac'
+ ],
+ props: { numArgs: 2, allowedInArgument: !0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0],
+ a = e[1],
+ s,
+ l = null,
+ u = null,
+ h = 'auto';
+ switch (n) {
+ case '\\dfrac':
+ case '\\frac':
+ case '\\tfrac':
+ s = !0;
+ break;
+ case '\\\\atopfrac':
+ s = !1;
+ break;
+ case '\\dbinom':
+ case '\\binom':
+ case '\\tbinom':
+ (s = !1), (l = '('), (u = ')');
+ break;
+ case '\\\\bracefrac':
+ (s = !1), (l = '\\{'), (u = '\\}');
+ break;
+ case '\\\\brackfrac':
+ (s = !1), (l = '['), (u = ']');
+ break;
+ default:
+ throw new Error('Unrecognized genfrac command');
+ }
+ switch (n) {
+ case '\\dfrac':
+ case '\\dbinom':
+ h = 'display';
+ break;
+ case '\\tfrac':
+ case '\\tbinom':
+ h = 'text';
+ break;
+ }
+ return {
+ type: 'genfrac',
+ mode: r.mode,
+ continued: !1,
+ numer: i,
+ denom: a,
+ hasBarLine: s,
+ leftDelim: l,
+ rightDelim: u,
+ size: h,
+ barSize: null
+ };
+ }, 'handler'),
+ htmlBuilder: H7,
+ mathmlBuilder: Y7
+ });
+ vt({
+ type: 'genfrac',
+ names: ['\\cfrac'],
+ props: { numArgs: 2 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0],
+ a = e[1];
+ return {
+ type: 'genfrac',
+ mode: r.mode,
+ continued: !0,
+ numer: i,
+ denom: a,
+ hasBarLine: !0,
+ leftDelim: null,
+ rightDelim: null,
+ size: 'display',
+ barSize: null
+ };
+ }, 'handler')
+ });
+ vt({
+ type: 'infix',
+ names: ['\\over', '\\choose', '\\atop', '\\brace', '\\brack'],
+ props: { numArgs: 0, infix: !0 },
+ handler(t) {
+ var { parser: e, funcName: r, token: n } = t,
+ i;
+ switch (r) {
+ case '\\over':
+ i = '\\frac';
+ break;
+ case '\\choose':
+ i = '\\binom';
+ break;
+ case '\\atop':
+ i = '\\\\atopfrac';
+ break;
+ case '\\brace':
+ i = '\\\\bracefrac';
+ break;
+ case '\\brack':
+ i = '\\\\brackfrac';
+ break;
+ default:
+ throw new Error('Unrecognized infix genfrac command');
+ }
+ return { type: 'infix', mode: e.mode, replaceWith: i, token: n };
+ }
+ });
+ (pG = ['display', 'text', 'script', 'scriptscript']),
+ (mG = o(function (e) {
+ var r = null;
+ return e.length > 0 && ((r = e), (r = r === '.' ? null : r)), r;
+ }, 'delimFromValue'));
+ vt({
+ type: 'genfrac',
+ names: ['\\genfrac'],
+ props: {
+ numArgs: 6,
+ allowedInArgument: !0,
+ argTypes: ['math', 'math', 'size', 'text', 'math', 'math']
+ },
+ handler(t, e) {
+ var { parser: r } = t,
+ n = e[4],
+ i = e[5],
+ a = y4(e[0]),
+ s = a.type === 'atom' && a.family === 'open' ? mG(a.text) : null,
+ l = y4(e[1]),
+ u = l.type === 'atom' && l.family === 'close' ? mG(l.text) : null,
+ h = ir(e[2], 'size'),
+ f,
+ d = null;
+ h.isBlank ? (f = !0) : ((d = h.value), (f = d.number > 0));
+ var p = 'auto',
+ m = e[3];
+ if (m.type === 'ordgroup') {
+ if (m.body.length > 0) {
+ var g = ir(m.body[0], 'textord');
+ p = pG[Number(g.text)];
+ }
+ } else (m = ir(m, 'textord')), (p = pG[Number(m.text)]);
+ return {
+ type: 'genfrac',
+ mode: r.mode,
+ numer: n,
+ denom: i,
+ continued: !1,
+ hasBarLine: f,
+ barSize: d,
+ leftDelim: s,
+ rightDelim: u,
+ size: p
+ };
+ },
+ htmlBuilder: H7,
+ mathmlBuilder: Y7
+ });
+ vt({
+ type: 'infix',
+ names: ['\\above'],
+ props: { numArgs: 1, argTypes: ['size'], infix: !0 },
+ handler(t, e) {
+ var { parser: r, funcName: n, token: i } = t;
+ return {
+ type: 'infix',
+ mode: r.mode,
+ replaceWith: '\\\\abovefrac',
+ size: ir(e[0], 'size').value,
+ token: i
+ };
+ }
+ });
+ vt({
+ type: 'genfrac',
+ names: ['\\\\abovefrac'],
+ props: { numArgs: 3, argTypes: ['math', 'size', 'math'] },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0],
+ a = z2e(ir(e[1], 'infix').size),
+ s = e[2],
+ l = a.number > 0;
+ return {
+ type: 'genfrac',
+ mode: r.mode,
+ numer: i,
+ denom: s,
+ continued: !1,
+ hasBarLine: l,
+ barSize: a,
+ leftDelim: null,
+ rightDelim: null,
+ size: 'auto'
+ };
+ }, 'handler'),
+ htmlBuilder: H7,
+ mathmlBuilder: Y7
+ });
+ (h$ = o((t, e) => {
+ var r = e.style,
+ n,
+ i;
+ t.type === 'supsub'
+ ? ((n = t.sup ? Cr(t.sup, e.havingStyle(r.sup()), e) : Cr(t.sub, e.havingStyle(r.sub()), e)),
+ (i = ir(t.base, 'horizBrace')))
+ : (i = ir(t, 'horizBrace'));
+ var a = Cr(i.base, e.havingBaseStyle(Ht.DISPLAY)),
+ s = ou.svgSpan(i, e),
+ l;
+ if (
+ (i.isOver
+ ? ((l = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: a },
+ { type: 'kern', size: 0.1 },
+ { type: 'elem', elem: s }
+ ]
+ },
+ e
+ )),
+ l.children[0].children[0].children[1].classes.push('svg-align'))
+ : ((l = Be.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: a.depth + 0.1 + s.height,
+ children: [
+ { type: 'elem', elem: s },
+ { type: 'kern', size: 0.1 },
+ { type: 'elem', elem: a }
+ ]
+ },
+ e
+ )),
+ l.children[0].children[0].children[0].classes.push('svg-align')),
+ n)
+ ) {
+ var u = Be.makeSpan(['mord', i.isOver ? 'mover' : 'munder'], [l], e);
+ i.isOver
+ ? (l = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: u },
+ { type: 'kern', size: 0.2 },
+ { type: 'elem', elem: n }
+ ]
+ },
+ e
+ ))
+ : (l = Be.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: u.depth + 0.2 + n.height + n.depth,
+ children: [
+ { type: 'elem', elem: n },
+ { type: 'kern', size: 0.2 },
+ { type: 'elem', elem: u }
+ ]
+ },
+ e
+ ));
+ }
+ return Be.makeSpan(['mord', i.isOver ? 'mover' : 'munder'], [l], e);
+ }, 'htmlBuilder$3')),
+ (obe = o((t, e) => {
+ var r = ou.mathMLnode(t.label);
+ return new et.MathNode(t.isOver ? 'mover' : 'munder', [fn(t.base, e), r]);
+ }, 'mathmlBuilder$2'));
+ vt({
+ type: 'horizBrace',
+ names: ['\\overbrace', '\\underbrace'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t;
+ return {
+ type: 'horizBrace',
+ mode: r.mode,
+ label: n,
+ isOver: /^\\over/.test(n),
+ base: e[0]
+ };
+ },
+ htmlBuilder: h$,
+ mathmlBuilder: obe
+ });
+ vt({
+ type: 'href',
+ names: ['\\href'],
+ props: { numArgs: 2, argTypes: ['url', 'original'], allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[1],
+ i = ir(e[0], 'url').url;
+ return r.settings.isTrusted({ command: '\\href', url: i })
+ ? { type: 'href', mode: r.mode, href: i, body: ui(n) }
+ : r.formatUnsupportedCmd('\\href');
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Ri(t.body, e, !1);
+ return Be.makeAnchor(t.href, [], r, e);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = ph(t.body, e);
+ return r instanceof ps || (r = new ps('mrow', [r])), r.setAttribute('href', t.href), r;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'href',
+ names: ['\\url'],
+ props: { numArgs: 1, argTypes: ['url'], allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = ir(e[0], 'url').url;
+ if (!r.settings.isTrusted({ command: '\\url', url: n })) return r.formatUnsupportedCmd('\\url');
+ for (var i = [], a = 0; a < n.length; a++) {
+ var s = n[a];
+ s === '~' && (s = '\\textasciitilde'), i.push({ type: 'textord', mode: 'text', text: s });
+ }
+ var l = { type: 'text', mode: r.mode, font: '\\texttt', body: i };
+ return { type: 'href', mode: r.mode, href: n, body: ui(l) };
+ }, 'handler')
+ });
+ vt({
+ type: 'hbox',
+ names: ['\\hbox'],
+ props: {
+ numArgs: 1,
+ argTypes: ['text'],
+ allowedInText: !0,
+ primitive: !0
+ },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'hbox', mode: r.mode, body: ui(e[0]) };
+ },
+ htmlBuilder(t, e) {
+ var r = Ri(t.body, e, !1);
+ return Be.makeFragment(r);
+ },
+ mathmlBuilder(t, e) {
+ return new et.MathNode('mrow', gs(t.body, e));
+ }
+ });
+ vt({
+ type: 'html',
+ names: ['\\htmlClass', '\\htmlId', '\\htmlStyle', '\\htmlData'],
+ props: { numArgs: 2, argTypes: ['raw', 'original'], allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n, token: i } = t,
+ a = ir(e[0], 'raw').string,
+ s = e[1];
+ r.settings.strict &&
+ r.settings.reportNonstrict('htmlExtension', 'HTML extension is disabled on strict mode');
+ var l,
+ u = {};
+ switch (n) {
+ case '\\htmlClass':
+ (u.class = a), (l = { command: '\\htmlClass', class: a });
+ break;
+ case '\\htmlId':
+ (u.id = a), (l = { command: '\\htmlId', id: a });
+ break;
+ case '\\htmlStyle':
+ (u.style = a), (l = { command: '\\htmlStyle', style: a });
+ break;
+ case '\\htmlData': {
+ for (var h = a.split(','), f = 0; f < h.length; f++) {
+ var d = h[f].split('=');
+ if (d.length !== 2) throw new nt('Error parsing key-value for \\htmlData');
+ u['data-' + d[0].trim()] = d[1].trim();
+ }
+ l = { command: '\\htmlData', attributes: u };
+ break;
+ }
+ default:
+ throw new Error('Unrecognized html command');
+ }
+ return r.settings.isTrusted(l)
+ ? { type: 'html', mode: r.mode, attributes: u, body: ui(s) }
+ : r.formatUnsupportedCmd(n);
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Ri(t.body, e, !1),
+ n = ['enclosing'];
+ t.attributes.class && n.push(...t.attributes.class.trim().split(/\s+/));
+ var i = Be.makeSpan(n, r, e);
+ for (var a in t.attributes)
+ a !== 'class' && t.attributes.hasOwnProperty(a) && i.setAttribute(a, t.attributes[a]);
+ return i;
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => ph(t.body, e), 'mathmlBuilder')
+ });
+ vt({
+ type: 'htmlmathml',
+ names: ['\\html@mathml'],
+ props: { numArgs: 2, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t;
+ return {
+ type: 'htmlmathml',
+ mode: r.mode,
+ html: ui(e[0]),
+ mathml: ui(e[1])
+ };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Ri(t.html, e, !1);
+ return Be.makeFragment(r);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => ph(t.mathml, e), 'mathmlBuilder')
+ });
+ g7 = o(function (e) {
+ if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e)) return { number: +e, unit: 'bp' };
+ var r = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);
+ if (!r) throw new nt("Invalid size: '" + e + "' in \\includegraphics");
+ var n = { number: +(r[1] + r[2]), unit: r[3] };
+ if (!DG(n)) throw new nt("Invalid unit: '" + n.unit + "' in \\includegraphics.");
+ return n;
+ }, 'sizeData');
+ vt({
+ type: 'includegraphics',
+ names: ['\\includegraphics'],
+ props: {
+ numArgs: 1,
+ numOptionalArgs: 1,
+ argTypes: ['raw', 'url'],
+ allowedInText: !1
+ },
+ handler: o((t, e, r) => {
+ var { parser: n } = t,
+ i = { number: 0, unit: 'em' },
+ a = { number: 0.9, unit: 'em' },
+ s = { number: 0, unit: 'em' },
+ l = '';
+ if (r[0])
+ for (var u = ir(r[0], 'raw').string, h = u.split(','), f = 0; f < h.length; f++) {
+ var d = h[f].split('=');
+ if (d.length === 2) {
+ var p = d[1].trim();
+ switch (d[0].trim()) {
+ case 'alt':
+ l = p;
+ break;
+ case 'width':
+ i = g7(p);
+ break;
+ case 'height':
+ a = g7(p);
+ break;
+ case 'totalheight':
+ s = g7(p);
+ break;
+ default:
+ throw new nt("Invalid key: '" + d[0] + "' in \\includegraphics.");
+ }
+ }
+ }
+ var m = ir(e[0], 'url').url;
+ return (
+ l === '' &&
+ ((l = m), (l = l.replace(/^.*[\\/]/, '')), (l = l.substring(0, l.lastIndexOf('.')))),
+ n.settings.isTrusted({ command: '\\includegraphics', url: m })
+ ? {
+ type: 'includegraphics',
+ mode: n.mode,
+ alt: l,
+ width: i,
+ height: a,
+ totalheight: s,
+ src: m
+ }
+ : n.formatUnsupportedCmd('\\includegraphics')
+ );
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Hn(t.height, e),
+ n = 0;
+ t.totalheight.number > 0 && (n = Hn(t.totalheight, e) - r);
+ var i = 0;
+ t.width.number > 0 && (i = Hn(t.width, e));
+ var a = { height: ct(r + n) };
+ i > 0 && (a.width = ct(i)), n > 0 && (a.verticalAlign = ct(-n));
+ var s = new T7(t.src, t.alt, a);
+ return (s.height = r), (s.depth = n), s;
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = new et.MathNode('mglyph', []);
+ r.setAttribute('alt', t.alt);
+ var n = Hn(t.height, e),
+ i = 0;
+ if (
+ (t.totalheight.number > 0 && ((i = Hn(t.totalheight, e) - n), r.setAttribute('valign', ct(-i))),
+ r.setAttribute('height', ct(n + i)),
+ t.width.number > 0)
+ ) {
+ var a = Hn(t.width, e);
+ r.setAttribute('width', ct(a));
+ }
+ return r.setAttribute('src', t.src), r;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'kern',
+ names: ['\\kern', '\\mkern', '\\hskip', '\\mskip'],
+ props: {
+ numArgs: 1,
+ argTypes: ['size'],
+ primitive: !0,
+ allowedInText: !0
+ },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = ir(e[0], 'size');
+ if (r.settings.strict) {
+ var a = n[1] === 'm',
+ s = i.value.unit === 'mu';
+ a
+ ? (s ||
+ r.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + n + ' supports only mu units, ' + ('not ' + i.value.unit + ' units')
+ ),
+ r.mode !== 'math' &&
+ r.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + n + ' works only in math mode'
+ ))
+ : s &&
+ r.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + n + " doesn't support mu units"
+ );
+ }
+ return { type: 'kern', mode: r.mode, dimension: i.value };
+ },
+ htmlBuilder(t, e) {
+ return Be.makeGlue(t.dimension, e);
+ },
+ mathmlBuilder(t, e) {
+ var r = Hn(t.dimension, e);
+ return new et.SpaceNode(r);
+ }
+ });
+ vt({
+ type: 'lap',
+ names: ['\\mathllap', '\\mathrlap', '\\mathclap'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return { type: 'lap', mode: r.mode, alignment: n.slice(5), body: i };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r;
+ t.alignment === 'clap'
+ ? ((r = Be.makeSpan([], [Cr(t.body, e)])), (r = Be.makeSpan(['inner'], [r], e)))
+ : (r = Be.makeSpan(['inner'], [Cr(t.body, e)]));
+ var n = Be.makeSpan(['fix'], []),
+ i = Be.makeSpan([t.alignment], [r, n], e),
+ a = Be.makeSpan(['strut']);
+ return (
+ (a.style.height = ct(i.height + i.depth)),
+ i.depth && (a.style.verticalAlign = ct(-i.depth)),
+ i.children.unshift(a),
+ (i = Be.makeSpan(['thinbox'], [i], e)),
+ Be.makeSpan(['mord', 'vbox'], [i], e)
+ );
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = new et.MathNode('mpadded', [fn(t.body, e)]);
+ if (t.alignment !== 'rlap') {
+ var n = t.alignment === 'llap' ? '-1' : '-0.5';
+ r.setAttribute('lspace', n + 'width');
+ }
+ return r.setAttribute('width', '0px'), r;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'styling',
+ names: ['\\(', '$'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
+ handler(t, e) {
+ var { funcName: r, parser: n } = t,
+ i = n.mode;
+ n.switchMode('math');
+ var a = r === '\\(' ? '\\)' : '$',
+ s = n.parseExpression(!1, a);
+ return n.expect(a), n.switchMode(i), { type: 'styling', mode: n.mode, style: 'text', body: s };
+ }
+ });
+ vt({
+ type: 'text',
+ names: ['\\)', '\\]'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
+ handler(t, e) {
+ throw new nt('Mismatched ' + t.funcName);
+ }
+ });
+ gG = o((t, e) => {
+ switch (e.style.size) {
+ case Ht.DISPLAY.size:
+ return t.display;
+ case Ht.TEXT.size:
+ return t.text;
+ case Ht.SCRIPT.size:
+ return t.script;
+ case Ht.SCRIPTSCRIPT.size:
+ return t.scriptscript;
+ default:
+ return t.text;
+ }
+ }, 'chooseMathStyle');
+ vt({
+ type: 'mathchoice',
+ names: ['\\mathchoice'],
+ props: { numArgs: 4, primitive: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t;
+ return {
+ type: 'mathchoice',
+ mode: r.mode,
+ display: ui(e[0]),
+ text: ui(e[1]),
+ script: ui(e[2]),
+ scriptscript: ui(e[3])
+ };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = gG(t, e),
+ n = Ri(r, e, !1);
+ return Be.makeFragment(n);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = gG(t, e);
+ return ph(r, e);
+ }, 'mathmlBuilder')
+ });
+ (f$ = o((t, e, r, n, i, a, s) => {
+ t = Be.makeSpan([], [t]);
+ var l = r && Vt.isCharacterBox(r),
+ u,
+ h;
+ if (e) {
+ var f = Cr(e, n.havingStyle(i.sup()), n);
+ h = {
+ elem: f,
+ kern: Math.max(n.fontMetrics().bigOpSpacing1, n.fontMetrics().bigOpSpacing3 - f.depth)
+ };
+ }
+ if (r) {
+ var d = Cr(r, n.havingStyle(i.sub()), n);
+ u = {
+ elem: d,
+ kern: Math.max(n.fontMetrics().bigOpSpacing2, n.fontMetrics().bigOpSpacing4 - d.height)
+ };
+ }
+ var p;
+ if (h && u) {
+ var m = n.fontMetrics().bigOpSpacing5 + u.elem.height + u.elem.depth + u.kern + t.depth + s;
+ p = Be.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: m,
+ children: [
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 },
+ { type: 'elem', elem: u.elem, marginLeft: ct(-a) },
+ { type: 'kern', size: u.kern },
+ { type: 'elem', elem: t },
+ { type: 'kern', size: h.kern },
+ { type: 'elem', elem: h.elem, marginLeft: ct(a) },
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 }
+ ]
+ },
+ n
+ );
+ } else if (u) {
+ var g = t.height - s;
+ p = Be.makeVList(
+ {
+ positionType: 'top',
+ positionData: g,
+ children: [
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 },
+ { type: 'elem', elem: u.elem, marginLeft: ct(-a) },
+ { type: 'kern', size: u.kern },
+ { type: 'elem', elem: t }
+ ]
+ },
+ n
+ );
+ } else if (h) {
+ var y = t.depth + s;
+ p = Be.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: y,
+ children: [
+ { type: 'elem', elem: t },
+ { type: 'kern', size: h.kern },
+ { type: 'elem', elem: h.elem, marginLeft: ct(a) },
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 }
+ ]
+ },
+ n
+ );
+ } else return t;
+ var v = [p];
+ if (u && a !== 0 && !l) {
+ var x = Be.makeSpan(['mspace'], [], n);
+ (x.style.marginRight = ct(a)), v.unshift(x);
+ }
+ return Be.makeSpan(['mop', 'op-limits'], v, n);
+ }, 'assembleSupSub')),
+ (d$ = ['\\smallint']),
+ (xp = o((t, e) => {
+ var r,
+ n,
+ i = !1,
+ a;
+ t.type === 'supsub'
+ ? ((r = t.sup), (n = t.sub), (a = ir(t.base, 'op')), (i = !0))
+ : (a = ir(t, 'op'));
+ var s = e.style,
+ l = !1;
+ s.size === Ht.DISPLAY.size && a.symbol && !Vt.contains(d$, a.name) && (l = !0);
+ var u;
+ if (a.symbol) {
+ var h = l ? 'Size2-Regular' : 'Size1-Regular',
+ f = '';
+ if (
+ ((a.name === '\\oiint' || a.name === '\\oiiint') &&
+ ((f = a.name.slice(1)), (a.name = f === 'oiint' ? '\\iint' : '\\iiint')),
+ (u = Be.makeSymbol(a.name, h, 'math', e, [
+ 'mop',
+ 'op-symbol',
+ l ? 'large-op' : 'small-op'
+ ])),
+ f.length > 0)
+ ) {
+ var d = u.italic,
+ p = Be.staticSvg(f + 'Size' + (l ? '2' : '1'), e);
+ (u = Be.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: u, shift: 0 },
+ { type: 'elem', elem: p, shift: l ? 0.08 : 0 }
+ ]
+ },
+ e
+ )),
+ (a.name = '\\' + f),
+ u.classes.unshift('mop'),
+ (u.italic = d);
+ }
+ } else if (a.body) {
+ var m = Ri(a.body, e, !0);
+ m.length === 1 && m[0] instanceof ms
+ ? ((u = m[0]), (u.classes[0] = 'mop'))
+ : (u = Be.makeSpan(['mop'], m, e));
+ } else {
+ for (var g = [], y = 1; y < a.name.length; y++) g.push(Be.mathsym(a.name[y], a.mode, e));
+ u = Be.makeSpan(['mop'], g, e);
+ }
+ var v = 0,
+ x = 0;
+ return (
+ (u instanceof ms || a.name === '\\oiint' || a.name === '\\oiiint') &&
+ !a.suppressBaseShift &&
+ ((v = (u.height - u.depth) / 2 - e.fontMetrics().axisHeight), (x = u.italic)),
+ i ? f$(u, r, n, e, s, x, v) : (v && ((u.style.position = 'relative'), (u.style.top = ct(v))), u)
+ );
+ }, 'htmlBuilder$2')),
+ (oy = o((t, e) => {
+ var r;
+ if (t.symbol)
+ (r = new ps('mo', [_o(t.name, t.mode)])),
+ Vt.contains(d$, t.name) && r.setAttribute('largeop', 'false');
+ else if (t.body) r = new ps('mo', gs(t.body, e));
+ else {
+ r = new ps('mi', [new qf(t.name.slice(1))]);
+ var n = new ps('mo', [_o('\u2061', 'text')]);
+ t.parentIsSupSub ? (r = new ps('mrow', [r, n])) : (r = $G([r, n]));
+ }
+ return r;
+ }, 'mathmlBuilder$1')),
+ (lbe = {
+ '\u220F': '\\prod',
+ '\u2210': '\\coprod',
+ '\u2211': '\\sum',
+ '\u22C0': '\\bigwedge',
+ '\u22C1': '\\bigvee',
+ '\u22C2': '\\bigcap',
+ '\u22C3': '\\bigcup',
+ '\u2A00': '\\bigodot',
+ '\u2A01': '\\bigoplus',
+ '\u2A02': '\\bigotimes',
+ '\u2A04': '\\biguplus',
+ '\u2A06': '\\bigsqcup'
+ });
+ vt({
+ type: 'op',
+ names: [
+ '\\coprod',
+ '\\bigvee',
+ '\\bigwedge',
+ '\\biguplus',
+ '\\bigcap',
+ '\\bigcup',
+ '\\intop',
+ '\\prod',
+ '\\sum',
+ '\\bigotimes',
+ '\\bigoplus',
+ '\\bigodot',
+ '\\bigsqcup',
+ '\\smallint',
+ '\u220F',
+ '\u2210',
+ '\u2211',
+ '\u22C0',
+ '\u22C1',
+ '\u22C2',
+ '\u22C3',
+ '\u2A00',
+ '\u2A01',
+ '\u2A02',
+ '\u2A04',
+ '\u2A06'
+ ],
+ props: { numArgs: 0 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = n;
+ return (
+ i.length === 1 && (i = lbe[i]),
+ {
+ type: 'op',
+ mode: r.mode,
+ limits: !0,
+ parentIsSupSub: !1,
+ symbol: !0,
+ name: i
+ }
+ );
+ }, 'handler'),
+ htmlBuilder: xp,
+ mathmlBuilder: oy
+ });
+ vt({
+ type: 'op',
+ names: ['\\mathop'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[0];
+ return {
+ type: 'op',
+ mode: r.mode,
+ limits: !1,
+ parentIsSupSub: !1,
+ symbol: !1,
+ body: ui(n)
+ };
+ }, 'handler'),
+ htmlBuilder: xp,
+ mathmlBuilder: oy
+ });
+ cbe = {
+ '\u222B': '\\int',
+ '\u222C': '\\iint',
+ '\u222D': '\\iiint',
+ '\u222E': '\\oint',
+ '\u222F': '\\oiint',
+ '\u2230': '\\oiiint'
+ };
+ vt({
+ type: 'op',
+ names: [
+ '\\arcsin',
+ '\\arccos',
+ '\\arctan',
+ '\\arctg',
+ '\\arcctg',
+ '\\arg',
+ '\\ch',
+ '\\cos',
+ '\\cosec',
+ '\\cosh',
+ '\\cot',
+ '\\cotg',
+ '\\coth',
+ '\\csc',
+ '\\ctg',
+ '\\cth',
+ '\\deg',
+ '\\dim',
+ '\\exp',
+ '\\hom',
+ '\\ker',
+ '\\lg',
+ '\\ln',
+ '\\log',
+ '\\sec',
+ '\\sin',
+ '\\sinh',
+ '\\sh',
+ '\\tan',
+ '\\tanh',
+ '\\tg',
+ '\\th'
+ ],
+ props: { numArgs: 0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t;
+ return {
+ type: 'op',
+ mode: e.mode,
+ limits: !1,
+ parentIsSupSub: !1,
+ symbol: !1,
+ name: r
+ };
+ },
+ htmlBuilder: xp,
+ mathmlBuilder: oy
+ });
+ vt({
+ type: 'op',
+ names: ['\\det', '\\gcd', '\\inf', '\\lim', '\\max', '\\min', '\\Pr', '\\sup'],
+ props: { numArgs: 0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t;
+ return {
+ type: 'op',
+ mode: e.mode,
+ limits: !0,
+ parentIsSupSub: !1,
+ symbol: !1,
+ name: r
+ };
+ },
+ htmlBuilder: xp,
+ mathmlBuilder: oy
+ });
+ vt({
+ type: 'op',
+ names: [
+ '\\int',
+ '\\iint',
+ '\\iiint',
+ '\\oint',
+ '\\oiint',
+ '\\oiiint',
+ '\u222B',
+ '\u222C',
+ '\u222D',
+ '\u222E',
+ '\u222F',
+ '\u2230'
+ ],
+ props: { numArgs: 0 },
+ handler(t) {
+ var { parser: e, funcName: r } = t,
+ n = r;
+ return (
+ n.length === 1 && (n = cbe[n]),
+ {
+ type: 'op',
+ mode: e.mode,
+ limits: !1,
+ parentIsSupSub: !1,
+ symbol: !0,
+ name: n
+ }
+ );
+ },
+ htmlBuilder: xp,
+ mathmlBuilder: oy
+ });
+ (p$ = o((t, e) => {
+ var r,
+ n,
+ i = !1,
+ a;
+ t.type === 'supsub'
+ ? ((r = t.sup), (n = t.sub), (a = ir(t.base, 'operatorname')), (i = !0))
+ : (a = ir(t, 'operatorname'));
+ var s;
+ if (a.body.length > 0) {
+ for (
+ var l = a.body.map((d) => {
+ var p = d.text;
+ return typeof p == 'string' ? { type: 'textord', mode: d.mode, text: p } : d;
+ }),
+ u = Ri(l, e.withFont('mathrm'), !0),
+ h = 0;
+ h < u.length;
+ h++
+ ) {
+ var f = u[h];
+ f instanceof ms && (f.text = f.text.replace(/\u2212/, '-').replace(/\u2217/, '*'));
+ }
+ s = Be.makeSpan(['mop'], u, e);
+ } else s = Be.makeSpan(['mop'], [], e);
+ return i ? f$(s, r, n, e, e.style, 0, 0) : s;
+ }, 'htmlBuilder$1')),
+ (ube = o((t, e) => {
+ for (var r = gs(t.body, e.withFont('mathrm')), n = !0, i = 0; i < r.length; i++) {
+ var a = r[i];
+ if (!(a instanceof et.SpaceNode))
+ if (a instanceof et.MathNode)
+ switch (a.type) {
+ case 'mi':
+ case 'mn':
+ case 'ms':
+ case 'mspace':
+ case 'mtext':
+ break;
+ case 'mo': {
+ var s = a.children[0];
+ a.children.length === 1 && s instanceof et.TextNode
+ ? (s.text = s.text.replace(/\u2212/, '-').replace(/\u2217/, '*'))
+ : (n = !1);
+ break;
+ }
+ default:
+ n = !1;
+ }
+ else n = !1;
+ }
+ if (n) {
+ var l = r.map((f) => f.toText()).join('');
+ r = [new et.TextNode(l)];
+ }
+ var u = new et.MathNode('mi', r);
+ u.setAttribute('mathvariant', 'normal');
+ var h = new et.MathNode('mo', [_o('\u2061', 'text')]);
+ return t.parentIsSupSub ? new et.MathNode('mrow', [u, h]) : et.newDocumentFragment([u, h]);
+ }, 'mathmlBuilder'));
+ vt({
+ type: 'operatorname',
+ names: ['\\operatorname@', '\\operatornamewithlimits'],
+ props: { numArgs: 1 },
+ handler: o((t, e) => {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return {
+ type: 'operatorname',
+ mode: r.mode,
+ body: ui(i),
+ alwaysHandleSupSub: n === '\\operatornamewithlimits',
+ limits: !1,
+ parentIsSupSub: !1
+ };
+ }, 'handler'),
+ htmlBuilder: p$,
+ mathmlBuilder: ube
+ });
+ le('\\operatorname', '\\@ifstar\\operatornamewithlimits\\operatorname@');
+ Kf({
+ type: 'ordgroup',
+ htmlBuilder(t, e) {
+ return t.semisimple
+ ? Be.makeFragment(Ri(t.body, e, !1))
+ : Be.makeSpan(['mord'], Ri(t.body, e, !0), e);
+ },
+ mathmlBuilder(t, e) {
+ return ph(t.body, e, !0);
+ }
+ });
+ vt({
+ type: 'overline',
+ names: ['\\overline'],
+ props: { numArgs: 1 },
+ handler(t, e) {
+ var { parser: r } = t,
+ n = e[0];
+ return { type: 'overline', mode: r.mode, body: n };
+ },
+ htmlBuilder(t, e) {
+ var r = Cr(t.body, e.havingCrampedStyle()),
+ n = Be.makeLineSpan('overline-line', e),
+ i = e.fontMetrics().defaultRuleThickness,
+ a = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: r },
+ { type: 'kern', size: 3 * i },
+ { type: 'elem', elem: n },
+ { type: 'kern', size: i }
+ ]
+ },
+ e
+ );
+ return Be.makeSpan(['mord', 'overline'], [a], e);
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mo', [new et.TextNode('\u203E')]);
+ r.setAttribute('stretchy', 'true');
+ var n = new et.MathNode('mover', [fn(t.body, e), r]);
+ return n.setAttribute('accent', 'true'), n;
+ }
+ });
+ vt({
+ type: 'phantom',
+ names: ['\\phantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[0];
+ return { type: 'phantom', mode: r.mode, body: ui(n) };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Ri(t.body, e.withPhantom(), !1);
+ return Be.makeFragment(r);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = gs(t.body, e);
+ return new et.MathNode('mphantom', r);
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'hphantom',
+ names: ['\\hphantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[0];
+ return { type: 'hphantom', mode: r.mode, body: n };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Be.makeSpan([], [Cr(t.body, e.withPhantom())]);
+ if (((r.height = 0), (r.depth = 0), r.children))
+ for (var n = 0; n < r.children.length; n++)
+ (r.children[n].height = 0), (r.children[n].depth = 0);
+ return (
+ (r = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [{ type: 'elem', elem: r }]
+ },
+ e
+ )),
+ Be.makeSpan(['mord'], [r], e)
+ );
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = gs(ui(t.body), e),
+ n = new et.MathNode('mphantom', r),
+ i = new et.MathNode('mpadded', [n]);
+ return i.setAttribute('height', '0px'), i.setAttribute('depth', '0px'), i;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'vphantom',
+ names: ['\\vphantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { parser: r } = t,
+ n = e[0];
+ return { type: 'vphantom', mode: r.mode, body: n };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Be.makeSpan(['inner'], [Cr(t.body, e.withPhantom())]),
+ n = Be.makeSpan(['fix'], []);
+ return Be.makeSpan(['mord', 'rlap'], [r, n], e);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = gs(ui(t.body), e),
+ n = new et.MathNode('mphantom', r),
+ i = new et.MathNode('mpadded', [n]);
+ return i.setAttribute('width', '0px'), i;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'raisebox',
+ names: ['\\raisebox'],
+ props: { numArgs: 2, argTypes: ['size', 'hbox'], allowedInText: !0 },
+ handler(t, e) {
+ var { parser: r } = t,
+ n = ir(e[0], 'size').value,
+ i = e[1];
+ return { type: 'raisebox', mode: r.mode, dy: n, body: i };
+ },
+ htmlBuilder(t, e) {
+ var r = Cr(t.body, e),
+ n = Hn(t.dy, e);
+ return Be.makeVList(
+ {
+ positionType: 'shift',
+ positionData: -n,
+ children: [{ type: 'elem', elem: r }]
+ },
+ e
+ );
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mpadded', [fn(t.body, e)]),
+ n = t.dy.number + t.dy.unit;
+ return r.setAttribute('voffset', n), r;
+ }
+ });
+ vt({
+ type: 'internal',
+ names: ['\\relax'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler(t) {
+ var { parser: e } = t;
+ return { type: 'internal', mode: e.mode };
+ }
+ });
+ vt({
+ type: 'rule',
+ names: ['\\rule'],
+ props: {
+ numArgs: 2,
+ numOptionalArgs: 1,
+ argTypes: ['size', 'size', 'size']
+ },
+ handler(t, e, r) {
+ var { parser: n } = t,
+ i = r[0],
+ a = ir(e[0], 'size'),
+ s = ir(e[1], 'size');
+ return {
+ type: 'rule',
+ mode: n.mode,
+ shift: i && ir(i, 'size').value,
+ width: a.value,
+ height: s.value
+ };
+ },
+ htmlBuilder(t, e) {
+ var r = Be.makeSpan(['mord', 'rule'], [], e),
+ n = Hn(t.width, e),
+ i = Hn(t.height, e),
+ a = t.shift ? Hn(t.shift, e) : 0;
+ return (
+ (r.style.borderRightWidth = ct(n)),
+ (r.style.borderTopWidth = ct(i)),
+ (r.style.bottom = ct(a)),
+ (r.width = n),
+ (r.height = i + a),
+ (r.depth = -a),
+ (r.maxFontSize = i * 1.125 * e.sizeMultiplier),
+ r
+ );
+ },
+ mathmlBuilder(t, e) {
+ var r = Hn(t.width, e),
+ n = Hn(t.height, e),
+ i = t.shift ? Hn(t.shift, e) : 0,
+ a = (e.color && e.getColor()) || 'black',
+ s = new et.MathNode('mspace');
+ s.setAttribute('mathbackground', a),
+ s.setAttribute('width', ct(r)),
+ s.setAttribute('height', ct(n));
+ var l = new et.MathNode('mpadded', [s]);
+ return (
+ i >= 0
+ ? l.setAttribute('height', ct(i))
+ : (l.setAttribute('height', ct(i)), l.setAttribute('depth', ct(-i))),
+ l.setAttribute('voffset', ct(i)),
+ l
+ );
+ }
+ });
+ o(m$, 'sizingGroup');
+ (yG = [
+ '\\tiny',
+ '\\sixptsize',
+ '\\scriptsize',
+ '\\footnotesize',
+ '\\small',
+ '\\normalsize',
+ '\\large',
+ '\\Large',
+ '\\LARGE',
+ '\\huge',
+ '\\Huge'
+ ]),
+ (hbe = o((t, e) => {
+ var r = e.havingSize(t.size);
+ return m$(t.body, r, e);
+ }, 'htmlBuilder'));
+ vt({
+ type: 'sizing',
+ names: yG,
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: o((t, e) => {
+ var { breakOnTokenText: r, funcName: n, parser: i } = t,
+ a = i.parseExpression(!1, r);
+ return {
+ type: 'sizing',
+ mode: i.mode,
+ size: yG.indexOf(n) + 1,
+ body: a
+ };
+ }, 'handler'),
+ htmlBuilder: hbe,
+ mathmlBuilder: o((t, e) => {
+ var r = e.havingSize(t.size),
+ n = gs(t.body, r),
+ i = new et.MathNode('mstyle', n);
+ return i.setAttribute('mathsize', ct(r.sizeMultiplier)), i;
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'smash',
+ names: ['\\smash'],
+ props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 },
+ handler: o((t, e, r) => {
+ var { parser: n } = t,
+ i = !1,
+ a = !1,
+ s = r[0] && ir(r[0], 'ordgroup');
+ if (s)
+ for (var l = '', u = 0; u < s.body.length; ++u) {
+ var h = s.body[u];
+ if (((l = h.text), l === 't')) i = !0;
+ else if (l === 'b') a = !0;
+ else {
+ (i = !1), (a = !1);
+ break;
+ }
+ }
+ else (i = !0), (a = !0);
+ var f = e[0];
+ return {
+ type: 'smash',
+ mode: n.mode,
+ body: f,
+ smashHeight: i,
+ smashDepth: a
+ };
+ }, 'handler'),
+ htmlBuilder: o((t, e) => {
+ var r = Be.makeSpan([], [Cr(t.body, e)]);
+ if (!t.smashHeight && !t.smashDepth) return r;
+ if (t.smashHeight && ((r.height = 0), r.children))
+ for (var n = 0; n < r.children.length; n++) r.children[n].height = 0;
+ if (t.smashDepth && ((r.depth = 0), r.children))
+ for (var i = 0; i < r.children.length; i++) r.children[i].depth = 0;
+ var a = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [{ type: 'elem', elem: r }]
+ },
+ e
+ );
+ return Be.makeSpan(['mord'], [a], e);
+ }, 'htmlBuilder'),
+ mathmlBuilder: o((t, e) => {
+ var r = new et.MathNode('mpadded', [fn(t.body, e)]);
+ return (
+ t.smashHeight && r.setAttribute('height', '0px'),
+ t.smashDepth && r.setAttribute('depth', '0px'),
+ r
+ );
+ }, 'mathmlBuilder')
+ });
+ vt({
+ type: 'sqrt',
+ names: ['\\sqrt'],
+ props: { numArgs: 1, numOptionalArgs: 1 },
+ handler(t, e, r) {
+ var { parser: n } = t,
+ i = r[0],
+ a = e[0];
+ return { type: 'sqrt', mode: n.mode, body: a, index: i };
+ },
+ htmlBuilder(t, e) {
+ var r = Cr(t.body, e.havingCrampedStyle());
+ r.height === 0 && (r.height = e.fontMetrics().xHeight), (r = Be.wrapFragment(r, e));
+ var n = e.fontMetrics(),
+ i = n.defaultRuleThickness,
+ a = i;
+ e.style.id < Ht.TEXT.id && (a = e.fontMetrics().xHeight);
+ var s = i + a / 4,
+ l = r.height + r.depth + s + i,
+ { span: u, ruleWidth: h, advanceWidth: f } = au.sqrtImage(l, e),
+ d = u.height - h;
+ d > r.height + r.depth + s && (s = (s + d - r.height - r.depth) / 2);
+ var p = u.height - r.height - s - h;
+ r.style.paddingLeft = ct(f);
+ var m = Be.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: r, wrapperClasses: ['svg-align'] },
+ { type: 'kern', size: -(r.height + p) },
+ { type: 'elem', elem: u },
+ { type: 'kern', size: h }
+ ]
+ },
+ e
+ );
+ if (t.index) {
+ var g = e.havingStyle(Ht.SCRIPTSCRIPT),
+ y = Cr(t.index, g, e),
+ v = 0.6 * (m.height - m.depth),
+ x = Be.makeVList(
+ {
+ positionType: 'shift',
+ positionData: -v,
+ children: [{ type: 'elem', elem: y }]
+ },
+ e
+ ),
+ b = Be.makeSpan(['root'], [x]);
+ return Be.makeSpan(['mord', 'sqrt'], [b, m], e);
+ } else return Be.makeSpan(['mord', 'sqrt'], [m], e);
+ },
+ mathmlBuilder(t, e) {
+ var { body: r, index: n } = t;
+ return n ? new et.MathNode('mroot', [fn(r, e), fn(n, e)]) : new et.MathNode('msqrt', [fn(r, e)]);
+ }
+ });
+ vG = {
+ display: Ht.DISPLAY,
+ text: Ht.TEXT,
+ script: Ht.SCRIPT,
+ scriptscript: Ht.SCRIPTSCRIPT
+ };
+ vt({
+ type: 'styling',
+ names: ['\\displaystyle', '\\textstyle', '\\scriptstyle', '\\scriptscriptstyle'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(t, e) {
+ var { breakOnTokenText: r, funcName: n, parser: i } = t,
+ a = i.parseExpression(!0, r),
+ s = n.slice(1, n.length - 5);
+ return { type: 'styling', mode: i.mode, style: s, body: a };
+ },
+ htmlBuilder(t, e) {
+ var r = vG[t.style],
+ n = e.havingStyle(r).withFont('');
+ return m$(t.body, n, e);
+ },
+ mathmlBuilder(t, e) {
+ var r = vG[t.style],
+ n = e.havingStyle(r),
+ i = gs(t.body, n),
+ a = new et.MathNode('mstyle', i),
+ s = {
+ display: ['0', 'true'],
+ text: ['0', 'false'],
+ script: ['1', 'false'],
+ scriptscript: ['2', 'false']
+ },
+ l = s[t.style];
+ return a.setAttribute('scriptlevel', l[0]), a.setAttribute('displaystyle', l[1]), a;
+ }
+ });
+ fbe = o(function (e, r) {
+ var n = e.base;
+ if (n)
+ if (n.type === 'op') {
+ var i = n.limits && (r.style.size === Ht.DISPLAY.size || n.alwaysHandleSupSub);
+ return i ? xp : null;
+ } else if (n.type === 'operatorname') {
+ var a = n.alwaysHandleSupSub && (r.style.size === Ht.DISPLAY.size || n.limits);
+ return a ? p$ : null;
+ } else {
+ if (n.type === 'accent') return Vt.isCharacterBox(n.base) ? F7 : null;
+ if (n.type === 'horizBrace') {
+ var s = !e.sub;
+ return s === n.isOver ? h$ : null;
+ } else return null;
+ }
+ else return null;
+ }, 'htmlBuilderDelegate');
+ Kf({
+ type: 'supsub',
+ htmlBuilder(t, e) {
+ var r = fbe(t, e);
+ if (r) return r(t, e);
+ var { base: n, sup: i, sub: a } = t,
+ s = Cr(n, e),
+ l,
+ u,
+ h = e.fontMetrics(),
+ f = 0,
+ d = 0,
+ p = n && Vt.isCharacterBox(n);
+ if (i) {
+ var m = e.havingStyle(e.style.sup());
+ (l = Cr(i, m, e)),
+ p || (f = s.height - (m.fontMetrics().supDrop * m.sizeMultiplier) / e.sizeMultiplier);
+ }
+ if (a) {
+ var g = e.havingStyle(e.style.sub());
+ (u = Cr(a, g, e)),
+ p || (d = s.depth + (g.fontMetrics().subDrop * g.sizeMultiplier) / e.sizeMultiplier);
+ }
+ var y;
+ e.style === Ht.DISPLAY ? (y = h.sup1) : e.style.cramped ? (y = h.sup3) : (y = h.sup2);
+ var v = e.sizeMultiplier,
+ x = ct(0.5 / h.ptPerEm / v),
+ b = null;
+ if (u) {
+ var w =
+ t.base &&
+ t.base.type === 'op' &&
+ t.base.name &&
+ (t.base.name === '\\oiint' || t.base.name === '\\oiiint');
+ (s instanceof ms || w) && (b = ct(-s.italic));
+ }
+ var S;
+ if (l && u) {
+ (f = Math.max(f, y, l.depth + 0.25 * h.xHeight)), (d = Math.max(d, h.sub2));
+ var T = h.defaultRuleThickness,
+ E = 4 * T;
+ if (f - l.depth - (u.height - d) < E) {
+ d = E - (f - l.depth) + u.height;
+ var _ = 0.8 * h.xHeight - (f - l.depth);
+ _ > 0 && ((f += _), (d -= _));
+ }
+ var A = [
+ {
+ type: 'elem',
+ elem: u,
+ shift: d,
+ marginRight: x,
+ marginLeft: b
+ },
+ { type: 'elem', elem: l, shift: -f, marginRight: x }
+ ];
+ S = Be.makeVList({ positionType: 'individualShift', children: A }, e);
+ } else if (u) {
+ d = Math.max(d, h.sub1, u.height - 0.8 * h.xHeight);
+ var L = [{ type: 'elem', elem: u, marginLeft: b, marginRight: x }];
+ S = Be.makeVList({ positionType: 'shift', positionData: d, children: L }, e);
+ } else if (l)
+ (f = Math.max(f, y, l.depth + 0.25 * h.xHeight)),
+ (S = Be.makeVList(
+ {
+ positionType: 'shift',
+ positionData: -f,
+ children: [{ type: 'elem', elem: l, marginRight: x }]
+ },
+ e
+ ));
+ else throw new Error('supsub must have either sup or sub.');
+ var M = E7(s, 'right') || 'mord';
+ return Be.makeSpan([M], [s, Be.makeSpan(['msupsub'], [S])], e);
+ },
+ mathmlBuilder(t, e) {
+ var r = !1,
+ n,
+ i;
+ t.base &&
+ t.base.type === 'horizBrace' &&
+ ((i = !!t.sup), i === t.base.isOver && ((r = !0), (n = t.base.isOver))),
+ t.base &&
+ (t.base.type === 'op' || t.base.type === 'operatorname') &&
+ (t.base.parentIsSupSub = !0);
+ var a = [fn(t.base, e)];
+ t.sub && a.push(fn(t.sub, e)), t.sup && a.push(fn(t.sup, e));
+ var s;
+ if (r) s = n ? 'mover' : 'munder';
+ else if (t.sub)
+ if (t.sup) {
+ var h = t.base;
+ (h && h.type === 'op' && h.limits && e.style === Ht.DISPLAY) ||
+ (h &&
+ h.type === 'operatorname' &&
+ h.alwaysHandleSupSub &&
+ (e.style === Ht.DISPLAY || h.limits))
+ ? (s = 'munderover')
+ : (s = 'msubsup');
+ } else {
+ var u = t.base;
+ (u && u.type === 'op' && u.limits && (e.style === Ht.DISPLAY || u.alwaysHandleSupSub)) ||
+ (u &&
+ u.type === 'operatorname' &&
+ u.alwaysHandleSupSub &&
+ (u.limits || e.style === Ht.DISPLAY))
+ ? (s = 'munder')
+ : (s = 'msub');
+ }
+ else {
+ var l = t.base;
+ (l && l.type === 'op' && l.limits && (e.style === Ht.DISPLAY || l.alwaysHandleSupSub)) ||
+ (l && l.type === 'operatorname' && l.alwaysHandleSupSub && (l.limits || e.style === Ht.DISPLAY))
+ ? (s = 'mover')
+ : (s = 'msup');
+ }
+ return new et.MathNode(s, a);
+ }
+ });
+ Kf({
+ type: 'atom',
+ htmlBuilder(t, e) {
+ return Be.mathsym(t.text, t.mode, e, ['m' + t.family]);
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mo', [_o(t.text, t.mode)]);
+ if (t.family === 'bin') {
+ var n = P7(t, e);
+ n === 'bold-italic' && r.setAttribute('mathvariant', n);
+ } else
+ t.family === 'punct'
+ ? r.setAttribute('separator', 'true')
+ : (t.family === 'open' || t.family === 'close') && r.setAttribute('stretchy', 'false');
+ return r;
+ }
+ });
+ g$ = { mi: 'italic', mn: 'normal', mtext: 'normal' };
+ Kf({
+ type: 'mathord',
+ htmlBuilder(t, e) {
+ return Be.makeOrd(t, e, 'mathord');
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mi', [_o(t.text, t.mode, e)]),
+ n = P7(t, e) || 'italic';
+ return n !== g$[r.type] && r.setAttribute('mathvariant', n), r;
+ }
+ });
+ Kf({
+ type: 'textord',
+ htmlBuilder(t, e) {
+ return Be.makeOrd(t, e, 'textord');
+ },
+ mathmlBuilder(t, e) {
+ var r = _o(t.text, t.mode, e),
+ n = P7(t, e) || 'normal',
+ i;
+ return (
+ t.mode === 'text'
+ ? (i = new et.MathNode('mtext', [r]))
+ : /[0-9]/.test(t.text)
+ ? (i = new et.MathNode('mn', [r]))
+ : t.text === '\\prime'
+ ? (i = new et.MathNode('mo', [r]))
+ : (i = new et.MathNode('mi', [r])),
+ n !== g$[i.type] && i.setAttribute('mathvariant', n),
+ i
+ );
+ }
+ });
+ (y7 = { '\\nobreak': 'nobreak', '\\allowbreak': 'allowbreak' }),
+ (v7 = {
+ ' ': {},
+ '\\ ': {},
+ '~': { className: 'nobreak' },
+ '\\space': {},
+ '\\nobreakspace': { className: 'nobreak' }
+ });
+ Kf({
+ type: 'spacing',
+ htmlBuilder(t, e) {
+ if (v7.hasOwnProperty(t.text)) {
+ var r = v7[t.text].className || '';
+ if (t.mode === 'text') {
+ var n = Be.makeOrd(t, e, 'textord');
+ return n.classes.push(r), n;
+ } else return Be.makeSpan(['mspace', r], [Be.mathsym(t.text, t.mode, e)], e);
+ } else {
+ if (y7.hasOwnProperty(t.text)) return Be.makeSpan(['mspace', y7[t.text]], [], e);
+ throw new nt('Unknown type of space "' + t.text + '"');
+ }
+ },
+ mathmlBuilder(t, e) {
+ var r;
+ if (v7.hasOwnProperty(t.text)) r = new et.MathNode('mtext', [new et.TextNode('\xA0')]);
+ else {
+ if (y7.hasOwnProperty(t.text)) return new et.MathNode('mspace');
+ throw new nt('Unknown type of space "' + t.text + '"');
+ }
+ return r;
+ }
+ });
+ xG = o(() => {
+ var t = new et.MathNode('mtd', []);
+ return t.setAttribute('width', '50%'), t;
+ }, 'pad');
+ Kf({
+ type: 'tag',
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mtable', [
+ new et.MathNode('mtr', [
+ xG(),
+ new et.MathNode('mtd', [ph(t.body, e)]),
+ xG(),
+ new et.MathNode('mtd', [ph(t.tag, e)])
+ ])
+ ]);
+ return r.setAttribute('width', '100%'), r;
+ }
+ });
+ (bG = {
+ '\\text': void 0,
+ '\\textrm': 'textrm',
+ '\\textsf': 'textsf',
+ '\\texttt': 'texttt',
+ '\\textnormal': 'textrm'
+ }),
+ (wG = { '\\textbf': 'textbf', '\\textmd': 'textmd' }),
+ (dbe = { '\\textit': 'textit', '\\textup': 'textup' }),
+ (TG = o((t, e) => {
+ var r = t.font;
+ if (r) {
+ if (bG[r]) return e.withTextFontFamily(bG[r]);
+ if (wG[r]) return e.withTextFontWeight(wG[r]);
+ if (r === '\\emph')
+ return e.fontShape === 'textit'
+ ? e.withTextFontShape('textup')
+ : e.withTextFontShape('textit');
+ } else return e;
+ return e.withTextFontShape(dbe[r]);
+ }, 'optionsWithFont'));
+ vt({
+ type: 'text',
+ names: [
+ '\\text',
+ '\\textrm',
+ '\\textsf',
+ '\\texttt',
+ '\\textnormal',
+ '\\textbf',
+ '\\textmd',
+ '\\textit',
+ '\\textup',
+ '\\emph'
+ ],
+ props: {
+ numArgs: 1,
+ argTypes: ['text'],
+ allowedInArgument: !0,
+ allowedInText: !0
+ },
+ handler(t, e) {
+ var { parser: r, funcName: n } = t,
+ i = e[0];
+ return { type: 'text', mode: r.mode, body: ui(i), font: n };
+ },
+ htmlBuilder(t, e) {
+ var r = TG(t, e),
+ n = Ri(t.body, r, !0);
+ return Be.makeSpan(['mord', 'text'], n, r);
+ },
+ mathmlBuilder(t, e) {
+ var r = TG(t, e);
+ return ph(t.body, r);
+ }
+ });
+ vt({
+ type: 'underline',
+ names: ['\\underline'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'underline', mode: r.mode, body: e[0] };
+ },
+ htmlBuilder(t, e) {
+ var r = Cr(t.body, e),
+ n = Be.makeLineSpan('underline-line', e),
+ i = e.fontMetrics().defaultRuleThickness,
+ a = Be.makeVList(
+ {
+ positionType: 'top',
+ positionData: r.height,
+ children: [
+ { type: 'kern', size: i },
+ { type: 'elem', elem: n },
+ { type: 'kern', size: 3 * i },
+ { type: 'elem', elem: r }
+ ]
+ },
+ e
+ );
+ return Be.makeSpan(['mord', 'underline'], [a], e);
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.MathNode('mo', [new et.TextNode('\u203E')]);
+ r.setAttribute('stretchy', 'true');
+ var n = new et.MathNode('munder', [fn(t.body, e), r]);
+ return n.setAttribute('accentunder', 'true'), n;
+ }
+ });
+ vt({
+ type: 'vcenter',
+ names: ['\\vcenter'],
+ props: { numArgs: 1, argTypes: ['original'], allowedInText: !1 },
+ handler(t, e) {
+ var { parser: r } = t;
+ return { type: 'vcenter', mode: r.mode, body: e[0] };
+ },
+ htmlBuilder(t, e) {
+ var r = Cr(t.body, e),
+ n = e.fontMetrics().axisHeight,
+ i = 0.5 * (r.height - n - (r.depth + n));
+ return Be.makeVList(
+ {
+ positionType: 'shift',
+ positionData: i,
+ children: [{ type: 'elem', elem: r }]
+ },
+ e
+ );
+ },
+ mathmlBuilder(t, e) {
+ return new et.MathNode('mpadded', [fn(t.body, e)], ['vcenter']);
+ }
+ });
+ vt({
+ type: 'verb',
+ names: ['\\verb'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler(t, e, r) {
+ throw new nt('\\verb ended by end of line instead of matching delimiter');
+ },
+ htmlBuilder(t, e) {
+ for (var r = kG(t), n = [], i = e.havingStyle(e.style.text()), a = 0; a < r.length; a++) {
+ var s = r[a];
+ s === '~' && (s = '\\textasciitilde'),
+ n.push(Be.makeSymbol(s, 'Typewriter-Regular', t.mode, i, ['mord', 'texttt']));
+ }
+ return Be.makeSpan(['mord', 'text'].concat(i.sizingClasses(e)), Be.tryCombineChars(n), i);
+ },
+ mathmlBuilder(t, e) {
+ var r = new et.TextNode(kG(t)),
+ n = new et.MathNode('mtext', [r]);
+ return n.setAttribute('mathvariant', 'monospace'), n;
+ }
+ });
+ (kG = o((t) => t.body.replace(/ /g, t.star ? '\u2423' : '\xA0'), 'makeVerb')),
+ (fh = zG),
+ (y$ = `[ \r
+ ]`),
+ (pbe = '\\\\[a-zA-Z@]+'),
+ (mbe = '\\\\[^\uD800-\uDFFF]'),
+ (gbe = '(' + pbe + ')' + y$ + '*'),
+ (ybe = `\\\\(
+|[ \r ]+
+?)[ \r ]*`),
+ (L7 = '[\u0300-\u036F]'),
+ (vbe = new RegExp(L7 + '+$')),
+ (xbe =
+ '(' +
+ y$ +
+ '+)|' +
+ (ybe + '|') +
+ '([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]' +
+ (L7 + '*') +
+ '|[\uD800-\uDBFF][\uDC00-\uDFFF]' +
+ (L7 + '*') +
+ '|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5' +
+ ('|' + gbe) +
+ ('|' + mbe + ')')),
+ (v4 = class {
+ static {
+ o(this, 'Lexer');
+ }
+ constructor(e, r) {
+ (this.input = void 0),
+ (this.settings = void 0),
+ (this.tokenRegex = void 0),
+ (this.catcodes = void 0),
+ (this.input = e),
+ (this.settings = r),
+ (this.tokenRegex = new RegExp(xbe, 'g')),
+ (this.catcodes = { '%': 14, '~': 13 });
+ }
+ setCatcode(e, r) {
+ this.catcodes[e] = r;
+ }
+ lex() {
+ var e = this.input,
+ r = this.tokenRegex.lastIndex;
+ if (r === e.length) return new Ao('EOF', new Xs(this, r, r));
+ var n = this.tokenRegex.exec(e);
+ if (n === null || n.index !== r)
+ throw new nt("Unexpected character: '" + e[r] + "'", new Ao(e[r], new Xs(this, r, r + 1)));
+ var i = n[6] || n[3] || (n[2] ? '\\ ' : ' ');
+ if (this.catcodes[i] === 14) {
+ var a = e.indexOf(
+ `
+`,
+ this.tokenRegex.lastIndex
+ );
+ return (
+ a === -1
+ ? ((this.tokenRegex.lastIndex = e.length),
+ this.settings.reportNonstrict(
+ 'commentAtEnd',
+ '% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)'
+ ))
+ : (this.tokenRegex.lastIndex = a + 1),
+ this.lex()
+ );
+ }
+ return new Ao(i, new Xs(this, r, this.tokenRegex.lastIndex));
+ }
+ }),
+ (D7 = class {
+ static {
+ o(this, 'Namespace');
+ }
+ constructor(e, r) {
+ e === void 0 && (e = {}),
+ r === void 0 && (r = {}),
+ (this.current = void 0),
+ (this.builtins = void 0),
+ (this.undefStack = void 0),
+ (this.current = r),
+ (this.builtins = e),
+ (this.undefStack = []);
+ }
+ beginGroup() {
+ this.undefStack.push({});
+ }
+ endGroup() {
+ if (this.undefStack.length === 0)
+ throw new nt(
+ 'Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug'
+ );
+ var e = this.undefStack.pop();
+ for (var r in e)
+ e.hasOwnProperty(r) && (e[r] == null ? delete this.current[r] : (this.current[r] = e[r]));
+ }
+ endGroups() {
+ for (; this.undefStack.length > 0; ) this.endGroup();
+ }
+ has(e) {
+ return this.current.hasOwnProperty(e) || this.builtins.hasOwnProperty(e);
+ }
+ get(e) {
+ return this.current.hasOwnProperty(e) ? this.current[e] : this.builtins[e];
+ }
+ set(e, r, n) {
+ if ((n === void 0 && (n = !1), n)) {
+ for (var i = 0; i < this.undefStack.length; i++) delete this.undefStack[i][e];
+ this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][e] = r);
+ } else {
+ var a = this.undefStack[this.undefStack.length - 1];
+ a && !a.hasOwnProperty(e) && (a[e] = this.current[e]);
+ }
+ r == null ? delete this.current[e] : (this.current[e] = r);
+ }
+ }),
+ (bbe = s$);
+ le('\\noexpand', function (t) {
+ var e = t.popToken();
+ return (
+ t.isExpandable(e.text) && ((e.noexpand = !0), (e.treatAsRelax = !0)), { tokens: [e], numArgs: 0 }
+ );
+ });
+ le('\\expandafter', function (t) {
+ var e = t.popToken();
+ return t.expandOnce(!0), { tokens: [e], numArgs: 0 };
+ });
+ le('\\@firstoftwo', function (t) {
+ var e = t.consumeArgs(2);
+ return { tokens: e[0], numArgs: 0 };
+ });
+ le('\\@secondoftwo', function (t) {
+ var e = t.consumeArgs(2);
+ return { tokens: e[1], numArgs: 0 };
+ });
+ le('\\@ifnextchar', function (t) {
+ var e = t.consumeArgs(3);
+ t.consumeSpaces();
+ var r = t.future();
+ return e[0].length === 1 && e[0][0].text === r.text
+ ? { tokens: e[1], numArgs: 0 }
+ : { tokens: e[2], numArgs: 0 };
+ });
+ le('\\@ifstar', '\\@ifnextchar *{\\@firstoftwo{#1}}');
+ le('\\TextOrMath', function (t) {
+ var e = t.consumeArgs(2);
+ return t.mode === 'text' ? { tokens: e[0], numArgs: 0 } : { tokens: e[1], numArgs: 0 };
+ });
+ EG = {
+ 0: 0,
+ 1: 1,
+ 2: 2,
+ 3: 3,
+ 4: 4,
+ 5: 5,
+ 6: 6,
+ 7: 7,
+ 8: 8,
+ 9: 9,
+ a: 10,
+ A: 10,
+ b: 11,
+ B: 11,
+ c: 12,
+ C: 12,
+ d: 13,
+ D: 13,
+ e: 14,
+ E: 14,
+ f: 15,
+ F: 15
+ };
+ le('\\char', function (t) {
+ var e = t.popToken(),
+ r,
+ n = '';
+ if (e.text === "'") (r = 8), (e = t.popToken());
+ else if (e.text === '"') (r = 16), (e = t.popToken());
+ else if (e.text === '`')
+ if (((e = t.popToken()), e.text[0] === '\\')) n = e.text.charCodeAt(1);
+ else {
+ if (e.text === 'EOF') throw new nt('\\char` missing argument');
+ n = e.text.charCodeAt(0);
+ }
+ else r = 10;
+ if (r) {
+ if (((n = EG[e.text]), n == null || n >= r)) throw new nt('Invalid base-' + r + ' digit ' + e.text);
+ for (var i; (i = EG[t.future().text]) != null && i < r; ) (n *= r), (n += i), t.popToken();
+ }
+ return '\\@char{' + n + '}';
+ });
+ W7 = o((t, e, r) => {
+ var n = t.consumeArg().tokens;
+ if (n.length !== 1) throw new nt("\\newcommand's first argument must be a macro name");
+ var i = n[0].text,
+ a = t.isDefined(i);
+ if (a && !e)
+ throw new nt('\\newcommand{' + i + '} attempting to redefine ' + (i + '; use \\renewcommand'));
+ if (!a && !r)
+ throw new nt(
+ '\\renewcommand{' + i + '} when command ' + i + ' does not yet exist; use \\newcommand'
+ );
+ var s = 0;
+ if (((n = t.consumeArg().tokens), n.length === 1 && n[0].text === '[')) {
+ for (var l = '', u = t.expandNextToken(); u.text !== ']' && u.text !== 'EOF'; )
+ (l += u.text), (u = t.expandNextToken());
+ if (!l.match(/^\s*[0-9]+\s*$/)) throw new nt('Invalid number of arguments: ' + l);
+ (s = parseInt(l)), (n = t.consumeArg().tokens);
+ }
+ return t.macros.set(i, { tokens: n, numArgs: s }), '';
+ }, 'newcommand');
+ le('\\newcommand', (t) => W7(t, !1, !0));
+ le('\\renewcommand', (t) => W7(t, !0, !1));
+ le('\\providecommand', (t) => W7(t, !0, !0));
+ le('\\message', (t) => {
+ var e = t.consumeArgs(1)[0];
+ return (
+ console.log(
+ e
+ .reverse()
+ .map((r) => r.text)
+ .join('')
+ ),
+ ''
+ );
+ });
+ le('\\errmessage', (t) => {
+ var e = t.consumeArgs(1)[0];
+ return (
+ console.error(
+ e
+ .reverse()
+ .map((r) => r.text)
+ .join('')
+ ),
+ ''
+ );
+ });
+ le('\\show', (t) => {
+ var e = t.popToken(),
+ r = e.text;
+ return console.log(e, t.macros.get(r), fh[r], wn.math[r], wn.text[r]), '';
+ });
+ le('\\bgroup', '{');
+ le('\\egroup', '}');
+ le('~', '\\nobreakspace');
+ le('\\lq', '`');
+ le('\\rq', "'");
+ le('\\aa', '\\r a');
+ le('\\AA', '\\r A');
+ le('\\textcopyright', '\\html@mathml{\\textcircled{c}}{\\char`\xA9}');
+ le('\\copyright', '\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}');
+ le('\\textregistered', '\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}');
+ le('\u212C', '\\mathscr{B}');
+ le('\u2130', '\\mathscr{E}');
+ le('\u2131', '\\mathscr{F}');
+ le('\u210B', '\\mathscr{H}');
+ le('\u2110', '\\mathscr{I}');
+ le('\u2112', '\\mathscr{L}');
+ le('\u2133', '\\mathscr{M}');
+ le('\u211B', '\\mathscr{R}');
+ le('\u212D', '\\mathfrak{C}');
+ le('\u210C', '\\mathfrak{H}');
+ le('\u2128', '\\mathfrak{Z}');
+ le('\\Bbbk', '\\Bbb{k}');
+ le('\xB7', '\\cdotp');
+ le('\\llap', '\\mathllap{\\textrm{#1}}');
+ le('\\rlap', '\\mathrlap{\\textrm{#1}}');
+ le('\\clap', '\\mathclap{\\textrm{#1}}');
+ le('\\mathstrut', '\\vphantom{(}');
+ le('\\underbar', '\\underline{\\text{#1}}');
+ le('\\not', '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');
+ le('\\neq', '\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}');
+ le('\\ne', '\\neq');
+ le('\u2260', '\\neq');
+ le('\\notin', '\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}');
+ le('\u2209', '\\notin');
+ le(
+ '\u2258',
+ '\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}'
+ );
+ le('\u2259', '\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}');
+ le('\u225A', '\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}');
+ le('\u225B', '\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}');
+ le('\u225D', '\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}');
+ le('\u225E', '\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}');
+ le('\u225F', '\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}');
+ le('\u27C2', '\\perp');
+ le('\u203C', '\\mathclose{!\\mkern-0.8mu!}');
+ le('\u220C', '\\notni');
+ le('\u231C', '\\ulcorner');
+ le('\u231D', '\\urcorner');
+ le('\u231E', '\\llcorner');
+ le('\u231F', '\\lrcorner');
+ le('\xA9', '\\copyright');
+ le('\xAE', '\\textregistered');
+ le('\uFE0F', '\\textregistered');
+ le('\\ulcorner', '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');
+ le('\\urcorner', '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');
+ le('\\llcorner', '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');
+ le('\\lrcorner', '\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');
+ le('\\vdots', '\\mathord{\\varvdots\\rule{0pt}{15pt}}');
+ le('\u22EE', '\\vdots');
+ le('\\varGamma', '\\mathit{\\Gamma}');
+ le('\\varDelta', '\\mathit{\\Delta}');
+ le('\\varTheta', '\\mathit{\\Theta}');
+ le('\\varLambda', '\\mathit{\\Lambda}');
+ le('\\varXi', '\\mathit{\\Xi}');
+ le('\\varPi', '\\mathit{\\Pi}');
+ le('\\varSigma', '\\mathit{\\Sigma}');
+ le('\\varUpsilon', '\\mathit{\\Upsilon}');
+ le('\\varPhi', '\\mathit{\\Phi}');
+ le('\\varPsi', '\\mathit{\\Psi}');
+ le('\\varOmega', '\\mathit{\\Omega}');
+ le('\\substack', '\\begin{subarray}{c}#1\\end{subarray}');
+ le(
+ '\\colon',
+ '\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax'
+ );
+ le('\\boxed', '\\fbox{$\\displaystyle{#1}$}');
+ le('\\iff', '\\DOTSB\\;\\Longleftrightarrow\\;');
+ le('\\implies', '\\DOTSB\\;\\Longrightarrow\\;');
+ le('\\impliedby', '\\DOTSB\\;\\Longleftarrow\\;');
+ CG = {
+ ',': '\\dotsc',
+ '\\not': '\\dotsb',
+ '+': '\\dotsb',
+ '=': '\\dotsb',
+ '<': '\\dotsb',
+ '>': '\\dotsb',
+ '-': '\\dotsb',
+ '*': '\\dotsb',
+ ':': '\\dotsb',
+ '\\DOTSB': '\\dotsb',
+ '\\coprod': '\\dotsb',
+ '\\bigvee': '\\dotsb',
+ '\\bigwedge': '\\dotsb',
+ '\\biguplus': '\\dotsb',
+ '\\bigcap': '\\dotsb',
+ '\\bigcup': '\\dotsb',
+ '\\prod': '\\dotsb',
+ '\\sum': '\\dotsb',
+ '\\bigotimes': '\\dotsb',
+ '\\bigoplus': '\\dotsb',
+ '\\bigodot': '\\dotsb',
+ '\\bigsqcup': '\\dotsb',
+ '\\And': '\\dotsb',
+ '\\longrightarrow': '\\dotsb',
+ '\\Longrightarrow': '\\dotsb',
+ '\\longleftarrow': '\\dotsb',
+ '\\Longleftarrow': '\\dotsb',
+ '\\longleftrightarrow': '\\dotsb',
+ '\\Longleftrightarrow': '\\dotsb',
+ '\\mapsto': '\\dotsb',
+ '\\longmapsto': '\\dotsb',
+ '\\hookrightarrow': '\\dotsb',
+ '\\doteq': '\\dotsb',
+ '\\mathbin': '\\dotsb',
+ '\\mathrel': '\\dotsb',
+ '\\relbar': '\\dotsb',
+ '\\Relbar': '\\dotsb',
+ '\\xrightarrow': '\\dotsb',
+ '\\xleftarrow': '\\dotsb',
+ '\\DOTSI': '\\dotsi',
+ '\\int': '\\dotsi',
+ '\\oint': '\\dotsi',
+ '\\iint': '\\dotsi',
+ '\\iiint': '\\dotsi',
+ '\\iiiint': '\\dotsi',
+ '\\idotsint': '\\dotsi',
+ '\\DOTSX': '\\dotsx'
+ };
+ le('\\dots', function (t) {
+ var e = '\\dotso',
+ r = t.expandAfterFuture().text;
+ return (
+ r in CG
+ ? (e = CG[r])
+ : (r.slice(0, 4) === '\\not' ||
+ (r in wn.math && Vt.contains(['bin', 'rel'], wn.math[r].group))) &&
+ (e = '\\dotsb'),
+ e
+ );
+ });
+ q7 = {
+ ')': !0,
+ ']': !0,
+ '\\rbrack': !0,
+ '\\}': !0,
+ '\\rbrace': !0,
+ '\\rangle': !0,
+ '\\rceil': !0,
+ '\\rfloor': !0,
+ '\\rgroup': !0,
+ '\\rmoustache': !0,
+ '\\right': !0,
+ '\\bigr': !0,
+ '\\biggr': !0,
+ '\\Bigr': !0,
+ '\\Biggr': !0,
+ $: !0,
+ ';': !0,
+ '.': !0,
+ ',': !0
+ };
+ le('\\dotso', function (t) {
+ var e = t.future().text;
+ return e in q7 ? '\\ldots\\,' : '\\ldots';
+ });
+ le('\\dotsc', function (t) {
+ var e = t.future().text;
+ return e in q7 && e !== ',' ? '\\ldots\\,' : '\\ldots';
+ });
+ le('\\cdots', function (t) {
+ var e = t.future().text;
+ return e in q7 ? '\\@cdots\\,' : '\\@cdots';
+ });
+ le('\\dotsb', '\\cdots');
+ le('\\dotsm', '\\cdots');
+ le('\\dotsi', '\\!\\cdots');
+ le('\\dotsx', '\\ldots\\,');
+ le('\\DOTSI', '\\relax');
+ le('\\DOTSB', '\\relax');
+ le('\\DOTSX', '\\relax');
+ le('\\tmspace', '\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax');
+ le('\\,', '\\tmspace+{3mu}{.1667em}');
+ le('\\thinspace', '\\,');
+ le('\\>', '\\mskip{4mu}');
+ le('\\:', '\\tmspace+{4mu}{.2222em}');
+ le('\\medspace', '\\:');
+ le('\\;', '\\tmspace+{5mu}{.2777em}');
+ le('\\thickspace', '\\;');
+ le('\\!', '\\tmspace-{3mu}{.1667em}');
+ le('\\negthinspace', '\\!');
+ le('\\negmedspace', '\\tmspace-{4mu}{.2222em}');
+ le('\\negthickspace', '\\tmspace-{5mu}{.277em}');
+ le('\\enspace', '\\kern.5em ');
+ le('\\enskip', '\\hskip.5em\\relax');
+ le('\\quad', '\\hskip1em\\relax');
+ le('\\qquad', '\\hskip2em\\relax');
+ le('\\tag', '\\@ifstar\\tag@literal\\tag@paren');
+ le('\\tag@paren', '\\tag@literal{({#1})}');
+ le('\\tag@literal', (t) => {
+ if (t.macros.get('\\df@tag')) throw new nt('Multiple \\tag');
+ return '\\gdef\\df@tag{\\text{#1}}';
+ });
+ le(
+ '\\bmod',
+ '\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}'
+ );
+ le('\\pod', '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)');
+ le('\\pmod', '\\pod{{\\rm mod}\\mkern6mu#1}');
+ le(
+ '\\mod',
+ '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1'
+ );
+ le('\\newline', '\\\\\\relax');
+ le('\\TeX', '\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}');
+ v$ = ct(Zl['Main-Regular'][84][1] - 0.7 * Zl['Main-Regular'][65][1]);
+ le(
+ '\\LaTeX',
+ '\\textrm{\\html@mathml{' +
+ ('L\\kern-.36em\\raisebox{' + v$ + '}{\\scriptstyle A}') +
+ '\\kern-.15em\\TeX}{LaTeX}}'
+ );
+ le(
+ '\\KaTeX',
+ '\\textrm{\\html@mathml{' +
+ ('K\\kern-.17em\\raisebox{' + v$ + '}{\\scriptstyle A}') +
+ '\\kern-.15em\\TeX}{KaTeX}}'
+ );
+ le('\\hspace', '\\@ifstar\\@hspacer\\@hspace');
+ le('\\@hspace', '\\hskip #1\\relax');
+ le('\\@hspacer', '\\rule{0pt}{0pt}\\hskip #1\\relax');
+ le('\\ordinarycolon', ':');
+ le('\\vcentcolon', '\\mathrel{\\mathop\\ordinarycolon}');
+ le(
+ '\\dblcolon',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'
+ );
+ le('\\coloneqq', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');
+ le(
+ '\\Coloneqq',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'
+ );
+ le(
+ '\\coloneq',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'
+ );
+ le(
+ '\\Coloneq',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'
+ );
+ le('\\eqqcolon', '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');
+ le(
+ '\\Eqqcolon',
+ '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'
+ );
+ le(
+ '\\eqcolon',
+ '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'
+ );
+ le(
+ '\\Eqcolon',
+ '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'
+ );
+ le(
+ '\\colonapprox',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'
+ );
+ le(
+ '\\Colonapprox',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'
+ );
+ le(
+ '\\colonsim',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'
+ );
+ le(
+ '\\Colonsim',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'
+ );
+ le('\u2237', '\\dblcolon');
+ le('\u2239', '\\eqcolon');
+ le('\u2254', '\\coloneqq');
+ le('\u2255', '\\eqqcolon');
+ le('\u2A74', '\\Coloneqq');
+ le('\\ratio', '\\vcentcolon');
+ le('\\coloncolon', '\\dblcolon');
+ le('\\colonequals', '\\coloneqq');
+ le('\\coloncolonequals', '\\Coloneqq');
+ le('\\equalscolon', '\\eqqcolon');
+ le('\\equalscoloncolon', '\\Eqqcolon');
+ le('\\colonminus', '\\coloneq');
+ le('\\coloncolonminus', '\\Coloneq');
+ le('\\minuscolon', '\\eqcolon');
+ le('\\minuscoloncolon', '\\Eqcolon');
+ le('\\coloncolonapprox', '\\Colonapprox');
+ le('\\coloncolonsim', '\\Colonsim');
+ le('\\simcolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}');
+ le('\\simcoloncolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}');
+ le('\\approxcolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}');
+ le('\\approxcoloncolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}');
+ le('\\notni', '\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}');
+ le('\\limsup', '\\DOTSB\\operatorname*{lim\\,sup}');
+ le('\\liminf', '\\DOTSB\\operatorname*{lim\\,inf}');
+ le('\\injlim', '\\DOTSB\\operatorname*{inj\\,lim}');
+ le('\\projlim', '\\DOTSB\\operatorname*{proj\\,lim}');
+ le('\\varlimsup', '\\DOTSB\\operatorname*{\\overline{lim}}');
+ le('\\varliminf', '\\DOTSB\\operatorname*{\\underline{lim}}');
+ le('\\varinjlim', '\\DOTSB\\operatorname*{\\underrightarrow{lim}}');
+ le('\\varprojlim', '\\DOTSB\\operatorname*{\\underleftarrow{lim}}');
+ le('\\gvertneqq', '\\html@mathml{\\@gvertneqq}{\u2269}');
+ le('\\lvertneqq', '\\html@mathml{\\@lvertneqq}{\u2268}');
+ le('\\ngeqq', '\\html@mathml{\\@ngeqq}{\u2271}');
+ le('\\ngeqslant', '\\html@mathml{\\@ngeqslant}{\u2271}');
+ le('\\nleqq', '\\html@mathml{\\@nleqq}{\u2270}');
+ le('\\nleqslant', '\\html@mathml{\\@nleqslant}{\u2270}');
+ le('\\nshortmid', '\\html@mathml{\\@nshortmid}{\u2224}');
+ le('\\nshortparallel', '\\html@mathml{\\@nshortparallel}{\u2226}');
+ le('\\nsubseteqq', '\\html@mathml{\\@nsubseteqq}{\u2288}');
+ le('\\nsupseteqq', '\\html@mathml{\\@nsupseteqq}{\u2289}');
+ le('\\varsubsetneq', '\\html@mathml{\\@varsubsetneq}{\u228A}');
+ le('\\varsubsetneqq', '\\html@mathml{\\@varsubsetneqq}{\u2ACB}');
+ le('\\varsupsetneq', '\\html@mathml{\\@varsupsetneq}{\u228B}');
+ le('\\varsupsetneqq', '\\html@mathml{\\@varsupsetneqq}{\u2ACC}');
+ le('\\imath', '\\html@mathml{\\@imath}{\u0131}');
+ le('\\jmath', '\\html@mathml{\\@jmath}{\u0237}');
+ le('\\llbracket', '\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}');
+ le('\\rrbracket', '\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}');
+ le('\u27E6', '\\llbracket');
+ le('\u27E7', '\\rrbracket');
+ le('\\lBrace', '\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}');
+ le('\\rBrace', '\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}');
+ le('\u2983', '\\lBrace');
+ le('\u2984', '\\rBrace');
+ le(
+ '\\minuso',
+ '\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}'
+ );
+ le('\u29B5', '\\minuso');
+ le('\\darr', '\\downarrow');
+ le('\\dArr', '\\Downarrow');
+ le('\\Darr', '\\Downarrow');
+ le('\\lang', '\\langle');
+ le('\\rang', '\\rangle');
+ le('\\uarr', '\\uparrow');
+ le('\\uArr', '\\Uparrow');
+ le('\\Uarr', '\\Uparrow');
+ le('\\N', '\\mathbb{N}');
+ le('\\R', '\\mathbb{R}');
+ le('\\Z', '\\mathbb{Z}');
+ le('\\alef', '\\aleph');
+ le('\\alefsym', '\\aleph');
+ le('\\Alpha', '\\mathrm{A}');
+ le('\\Beta', '\\mathrm{B}');
+ le('\\bull', '\\bullet');
+ le('\\Chi', '\\mathrm{X}');
+ le('\\clubs', '\\clubsuit');
+ le('\\cnums', '\\mathbb{C}');
+ le('\\Complex', '\\mathbb{C}');
+ le('\\Dagger', '\\ddagger');
+ le('\\diamonds', '\\diamondsuit');
+ le('\\empty', '\\emptyset');
+ le('\\Epsilon', '\\mathrm{E}');
+ le('\\Eta', '\\mathrm{H}');
+ le('\\exist', '\\exists');
+ le('\\harr', '\\leftrightarrow');
+ le('\\hArr', '\\Leftrightarrow');
+ le('\\Harr', '\\Leftrightarrow');
+ le('\\hearts', '\\heartsuit');
+ le('\\image', '\\Im');
+ le('\\infin', '\\infty');
+ le('\\Iota', '\\mathrm{I}');
+ le('\\isin', '\\in');
+ le('\\Kappa', '\\mathrm{K}');
+ le('\\larr', '\\leftarrow');
+ le('\\lArr', '\\Leftarrow');
+ le('\\Larr', '\\Leftarrow');
+ le('\\lrarr', '\\leftrightarrow');
+ le('\\lrArr', '\\Leftrightarrow');
+ le('\\Lrarr', '\\Leftrightarrow');
+ le('\\Mu', '\\mathrm{M}');
+ le('\\natnums', '\\mathbb{N}');
+ le('\\Nu', '\\mathrm{N}');
+ le('\\Omicron', '\\mathrm{O}');
+ le('\\plusmn', '\\pm');
+ le('\\rarr', '\\rightarrow');
+ le('\\rArr', '\\Rightarrow');
+ le('\\Rarr', '\\Rightarrow');
+ le('\\real', '\\Re');
+ le('\\reals', '\\mathbb{R}');
+ le('\\Reals', '\\mathbb{R}');
+ le('\\Rho', '\\mathrm{P}');
+ le('\\sdot', '\\cdot');
+ le('\\sect', '\\S');
+ le('\\spades', '\\spadesuit');
+ le('\\sub', '\\subset');
+ le('\\sube', '\\subseteq');
+ le('\\supe', '\\supseteq');
+ le('\\Tau', '\\mathrm{T}');
+ le('\\thetasym', '\\vartheta');
+ le('\\weierp', '\\wp');
+ le('\\Zeta', '\\mathrm{Z}');
+ le('\\argmin', '\\DOTSB\\operatorname*{arg\\,min}');
+ le('\\argmax', '\\DOTSB\\operatorname*{arg\\,max}');
+ le('\\plim', '\\DOTSB\\mathop{\\operatorname{plim}}\\limits');
+ le('\\bra', '\\mathinner{\\langle{#1}|}');
+ le('\\ket', '\\mathinner{|{#1}\\rangle}');
+ le('\\braket', '\\mathinner{\\langle{#1}\\rangle}');
+ le('\\Bra', '\\left\\langle#1\\right|');
+ le('\\Ket', '\\left|#1\\right\\rangle');
+ x$ = o(
+ (t) => (e) => {
+ var r = e.consumeArg().tokens,
+ n = e.consumeArg().tokens,
+ i = e.consumeArg().tokens,
+ a = e.consumeArg().tokens,
+ s = e.macros.get('|'),
+ l = e.macros.get('\\|');
+ e.macros.beginGroup();
+ var u = o(
+ (d) => (p) => {
+ t && (p.macros.set('|', s), i.length && p.macros.set('\\|', l));
+ var m = d;
+ if (!d && i.length) {
+ var g = p.future();
+ g.text === '|' && (p.popToken(), (m = !0));
+ }
+ return { tokens: m ? i : n, numArgs: 0 };
+ },
+ 'midMacro'
+ );
+ e.macros.set('|', u(!1)), i.length && e.macros.set('\\|', u(!0));
+ var h = e.consumeArg().tokens,
+ f = e.expandTokens([...a, ...h, ...r]);
+ return e.macros.endGroup(), { tokens: f.reverse(), numArgs: 0 };
+ },
+ 'braketHelper'
+ );
+ le('\\bra@ket', x$(!1));
+ le('\\bra@set', x$(!0));
+ le('\\Braket', '\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}');
+ le('\\Set', '\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}');
+ le('\\set', '\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}');
+ le('\\angln', '{\\angl n}');
+ le('\\blue', '\\textcolor{##6495ed}{#1}');
+ le('\\orange', '\\textcolor{##ffa500}{#1}');
+ le('\\pink', '\\textcolor{##ff00af}{#1}');
+ le('\\red', '\\textcolor{##df0030}{#1}');
+ le('\\green', '\\textcolor{##28ae7b}{#1}');
+ le('\\gray', '\\textcolor{gray}{#1}');
+ le('\\purple', '\\textcolor{##9d38bd}{#1}');
+ le('\\blueA', '\\textcolor{##ccfaff}{#1}');
+ le('\\blueB', '\\textcolor{##80f6ff}{#1}');
+ le('\\blueC', '\\textcolor{##63d9ea}{#1}');
+ le('\\blueD', '\\textcolor{##11accd}{#1}');
+ le('\\blueE', '\\textcolor{##0c7f99}{#1}');
+ le('\\tealA', '\\textcolor{##94fff5}{#1}');
+ le('\\tealB', '\\textcolor{##26edd5}{#1}');
+ le('\\tealC', '\\textcolor{##01d1c1}{#1}');
+ le('\\tealD', '\\textcolor{##01a995}{#1}');
+ le('\\tealE', '\\textcolor{##208170}{#1}');
+ le('\\greenA', '\\textcolor{##b6ffb0}{#1}');
+ le('\\greenB', '\\textcolor{##8af281}{#1}');
+ le('\\greenC', '\\textcolor{##74cf70}{#1}');
+ le('\\greenD', '\\textcolor{##1fab54}{#1}');
+ le('\\greenE', '\\textcolor{##0d923f}{#1}');
+ le('\\goldA', '\\textcolor{##ffd0a9}{#1}');
+ le('\\goldB', '\\textcolor{##ffbb71}{#1}');
+ le('\\goldC', '\\textcolor{##ff9c39}{#1}');
+ le('\\goldD', '\\textcolor{##e07d10}{#1}');
+ le('\\goldE', '\\textcolor{##a75a05}{#1}');
+ le('\\redA', '\\textcolor{##fca9a9}{#1}');
+ le('\\redB', '\\textcolor{##ff8482}{#1}');
+ le('\\redC', '\\textcolor{##f9685d}{#1}');
+ le('\\redD', '\\textcolor{##e84d39}{#1}');
+ le('\\redE', '\\textcolor{##bc2612}{#1}');
+ le('\\maroonA', '\\textcolor{##ffbde0}{#1}');
+ le('\\maroonB', '\\textcolor{##ff92c6}{#1}');
+ le('\\maroonC', '\\textcolor{##ed5fa6}{#1}');
+ le('\\maroonD', '\\textcolor{##ca337c}{#1}');
+ le('\\maroonE', '\\textcolor{##9e034e}{#1}');
+ le('\\purpleA', '\\textcolor{##ddd7ff}{#1}');
+ le('\\purpleB', '\\textcolor{##c6b9fc}{#1}');
+ le('\\purpleC', '\\textcolor{##aa87ff}{#1}');
+ le('\\purpleD', '\\textcolor{##7854ab}{#1}');
+ le('\\purpleE', '\\textcolor{##543b78}{#1}');
+ le('\\mintA', '\\textcolor{##f5f9e8}{#1}');
+ le('\\mintB', '\\textcolor{##edf2df}{#1}');
+ le('\\mintC', '\\textcolor{##e0e5cc}{#1}');
+ le('\\grayA', '\\textcolor{##f6f7f7}{#1}');
+ le('\\grayB', '\\textcolor{##f0f1f2}{#1}');
+ le('\\grayC', '\\textcolor{##e3e5e6}{#1}');
+ le('\\grayD', '\\textcolor{##d6d8da}{#1}');
+ le('\\grayE', '\\textcolor{##babec2}{#1}');
+ le('\\grayF', '\\textcolor{##888d93}{#1}');
+ le('\\grayG', '\\textcolor{##626569}{#1}');
+ le('\\grayH', '\\textcolor{##3b3e40}{#1}');
+ le('\\grayI', '\\textcolor{##21242c}{#1}');
+ le('\\kaBlue', '\\textcolor{##314453}{#1}');
+ le('\\kaGreen', '\\textcolor{##71B307}{#1}');
+ (b$ = { '^': !0, _: !0, '\\limits': !0, '\\nolimits': !0 }),
+ (R7 = class {
+ static {
+ o(this, 'MacroExpander');
+ }
+ constructor(e, r, n) {
+ (this.settings = void 0),
+ (this.expansionCount = void 0),
+ (this.lexer = void 0),
+ (this.macros = void 0),
+ (this.stack = void 0),
+ (this.mode = void 0),
+ (this.settings = r),
+ (this.expansionCount = 0),
+ this.feed(e),
+ (this.macros = new D7(bbe, r.macros)),
+ (this.mode = n),
+ (this.stack = []);
+ }
+ feed(e) {
+ this.lexer = new v4(e, this.settings);
+ }
+ switchMode(e) {
+ this.mode = e;
+ }
+ beginGroup() {
+ this.macros.beginGroup();
+ }
+ endGroup() {
+ this.macros.endGroup();
+ }
+ endGroups() {
+ this.macros.endGroups();
+ }
+ future() {
+ return (
+ this.stack.length === 0 && this.pushToken(this.lexer.lex()),
+ this.stack[this.stack.length - 1]
+ );
+ }
+ popToken() {
+ return this.future(), this.stack.pop();
+ }
+ pushToken(e) {
+ this.stack.push(e);
+ }
+ pushTokens(e) {
+ this.stack.push(...e);
+ }
+ scanArgument(e) {
+ var r, n, i;
+ if (e) {
+ if ((this.consumeSpaces(), this.future().text !== '[')) return null;
+ (r = this.popToken()), ({ tokens: i, end: n } = this.consumeArg([']']));
+ } else ({ tokens: i, start: r, end: n } = this.consumeArg());
+ return this.pushToken(new Ao('EOF', n.loc)), this.pushTokens(i), r.range(n, '');
+ }
+ consumeSpaces() {
+ for (;;) {
+ var e = this.future();
+ if (e.text === ' ') this.stack.pop();
+ else break;
+ }
+ }
+ consumeArg(e) {
+ var r = [],
+ n = e && e.length > 0;
+ n || this.consumeSpaces();
+ var i = this.future(),
+ a,
+ s = 0,
+ l = 0;
+ do {
+ if (((a = this.popToken()), r.push(a), a.text === '{')) ++s;
+ else if (a.text === '}') {
+ if ((--s, s === -1)) throw new nt('Extra }', a);
+ } else if (a.text === 'EOF')
+ throw new nt(
+ "Unexpected end of input in a macro argument, expected '" +
+ (e && n ? e[l] : '}') +
+ "'",
+ a
+ );
+ if (e && n)
+ if ((s === 0 || (s === 1 && e[l] === '{')) && a.text === e[l]) {
+ if ((++l, l === e.length)) {
+ r.splice(-l, l);
+ break;
+ }
+ } else l = 0;
+ } while (s !== 0 || n);
+ return (
+ i.text === '{' && r[r.length - 1].text === '}' && (r.pop(), r.shift()),
+ r.reverse(),
+ { tokens: r, start: i, end: a }
+ );
+ }
+ consumeArgs(e, r) {
+ if (r) {
+ if (r.length !== e + 1)
+ throw new nt("The length of delimiters doesn't match the number of args!");
+ for (var n = r[0], i = 0; i < n.length; i++) {
+ var a = this.popToken();
+ if (n[i] !== a.text) throw new nt("Use of the macro doesn't match its definition", a);
+ }
+ }
+ for (var s = [], l = 0; l < e; l++) s.push(this.consumeArg(r && r[l + 1]).tokens);
+ return s;
+ }
+ countExpansion(e) {
+ if (((this.expansionCount += e), this.expansionCount > this.settings.maxExpand))
+ throw new nt('Too many expansions: infinite loop or need to increase maxExpand setting');
+ }
+ expandOnce(e) {
+ var r = this.popToken(),
+ n = r.text,
+ i = r.noexpand ? null : this._getExpansion(n);
+ if (i == null || (e && i.unexpandable)) {
+ if (e && i == null && n[0] === '\\' && !this.isDefined(n))
+ throw new nt('Undefined control sequence: ' + n);
+ return this.pushToken(r), !1;
+ }
+ this.countExpansion(1);
+ var a = i.tokens,
+ s = this.consumeArgs(i.numArgs, i.delimiters);
+ if (i.numArgs) {
+ a = a.slice();
+ for (var l = a.length - 1; l >= 0; --l) {
+ var u = a[l];
+ if (u.text === '#') {
+ if (l === 0) throw new nt('Incomplete placeholder at end of macro body', u);
+ if (((u = a[--l]), u.text === '#')) a.splice(l + 1, 1);
+ else if (/^[1-9]$/.test(u.text)) a.splice(l, 2, ...s[+u.text - 1]);
+ else throw new nt('Not a valid argument number', u);
+ }
+ }
+ }
+ return this.pushTokens(a), a.length;
+ }
+ expandAfterFuture() {
+ return this.expandOnce(), this.future();
+ }
+ expandNextToken() {
+ for (;;)
+ if (this.expandOnce() === !1) {
+ var e = this.stack.pop();
+ return e.treatAsRelax && (e.text = '\\relax'), e;
+ }
+ throw new Error();
+ }
+ expandMacro(e) {
+ return this.macros.has(e) ? this.expandTokens([new Ao(e)]) : void 0;
+ }
+ expandTokens(e) {
+ var r = [],
+ n = this.stack.length;
+ for (this.pushTokens(e); this.stack.length > n; )
+ if (this.expandOnce(!0) === !1) {
+ var i = this.stack.pop();
+ i.treatAsRelax && ((i.noexpand = !1), (i.treatAsRelax = !1)), r.push(i);
+ }
+ return this.countExpansion(r.length), r;
+ }
+ expandMacroAsText(e) {
+ var r = this.expandMacro(e);
+ return r && r.map((n) => n.text).join('');
+ }
+ _getExpansion(e) {
+ var r = this.macros.get(e);
+ if (r == null) return r;
+ if (e.length === 1) {
+ var n = this.lexer.catcodes[e];
+ if (n != null && n !== 13) return;
+ }
+ var i = typeof r == 'function' ? r(this) : r;
+ if (typeof i == 'string') {
+ var a = 0;
+ if (i.indexOf('#') !== -1)
+ for (var s = i.replace(/##/g, ''); s.indexOf('#' + (a + 1)) !== -1; ) ++a;
+ for (var l = new v4(i, this.settings), u = [], h = l.lex(); h.text !== 'EOF'; )
+ u.push(h), (h = l.lex());
+ u.reverse();
+ var f = { tokens: u, numArgs: a };
+ return f;
+ }
+ return i;
+ }
+ isDefined(e) {
+ return (
+ this.macros.has(e) ||
+ fh.hasOwnProperty(e) ||
+ wn.math.hasOwnProperty(e) ||
+ wn.text.hasOwnProperty(e) ||
+ b$.hasOwnProperty(e)
+ );
+ }
+ isExpandable(e) {
+ var r = this.macros.get(e);
+ return r != null
+ ? typeof r == 'string' || typeof r == 'function' || !r.unexpandable
+ : fh.hasOwnProperty(e) && !fh[e].primitive;
+ }
+ }),
+ (SG = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/),
+ (c4 = Object.freeze({
+ '\u208A': '+',
+ '\u208B': '-',
+ '\u208C': '=',
+ '\u208D': '(',
+ '\u208E': ')',
+ '\u2080': '0',
+ '\u2081': '1',
+ '\u2082': '2',
+ '\u2083': '3',
+ '\u2084': '4',
+ '\u2085': '5',
+ '\u2086': '6',
+ '\u2087': '7',
+ '\u2088': '8',
+ '\u2089': '9',
+ '\u2090': 'a',
+ '\u2091': 'e',
+ '\u2095': 'h',
+ '\u1D62': 'i',
+ '\u2C7C': 'j',
+ '\u2096': 'k',
+ '\u2097': 'l',
+ '\u2098': 'm',
+ '\u2099': 'n',
+ '\u2092': 'o',
+ '\u209A': 'p',
+ '\u1D63': 'r',
+ '\u209B': 's',
+ '\u209C': 't',
+ '\u1D64': 'u',
+ '\u1D65': 'v',
+ '\u2093': 'x',
+ '\u1D66': '\u03B2',
+ '\u1D67': '\u03B3',
+ '\u1D68': '\u03C1',
+ '\u1D69': '\u03D5',
+ '\u1D6A': '\u03C7',
+ '\u207A': '+',
+ '\u207B': '-',
+ '\u207C': '=',
+ '\u207D': '(',
+ '\u207E': ')',
+ '\u2070': '0',
+ '\xB9': '1',
+ '\xB2': '2',
+ '\xB3': '3',
+ '\u2074': '4',
+ '\u2075': '5',
+ '\u2076': '6',
+ '\u2077': '7',
+ '\u2078': '8',
+ '\u2079': '9',
+ '\u1D2C': 'A',
+ '\u1D2E': 'B',
+ '\u1D30': 'D',
+ '\u1D31': 'E',
+ '\u1D33': 'G',
+ '\u1D34': 'H',
+ '\u1D35': 'I',
+ '\u1D36': 'J',
+ '\u1D37': 'K',
+ '\u1D38': 'L',
+ '\u1D39': 'M',
+ '\u1D3A': 'N',
+ '\u1D3C': 'O',
+ '\u1D3E': 'P',
+ '\u1D3F': 'R',
+ '\u1D40': 'T',
+ '\u1D41': 'U',
+ '\u2C7D': 'V',
+ '\u1D42': 'W',
+ '\u1D43': 'a',
+ '\u1D47': 'b',
+ '\u1D9C': 'c',
+ '\u1D48': 'd',
+ '\u1D49': 'e',
+ '\u1DA0': 'f',
+ '\u1D4D': 'g',
+ ʰ: 'h',
+ '\u2071': 'i',
+ ʲ: 'j',
+ '\u1D4F': 'k',
+ ˡ: 'l',
+ '\u1D50': 'm',
+ ⁿ: 'n',
+ '\u1D52': 'o',
+ '\u1D56': 'p',
+ ʳ: 'r',
+ ˢ: 's',
+ '\u1D57': 't',
+ '\u1D58': 'u',
+ '\u1D5B': 'v',
+ ʷ: 'w',
+ ˣ: 'x',
+ ʸ: 'y',
+ '\u1DBB': 'z',
+ '\u1D5D': '\u03B2',
+ '\u1D5E': '\u03B3',
+ '\u1D5F': '\u03B4',
+ '\u1D60': '\u03D5',
+ '\u1D61': '\u03C7',
+ '\u1DBF': '\u03B8'
+ })),
+ (x7 = {
+ '\u0301': { text: "\\'", math: '\\acute' },
+ '\u0300': { text: '\\`', math: '\\grave' },
+ '\u0308': { text: '\\"', math: '\\ddot' },
+ '\u0303': { text: '\\~', math: '\\tilde' },
+ '\u0304': { text: '\\=', math: '\\bar' },
+ '\u0306': { text: '\\u', math: '\\breve' },
+ '\u030C': { text: '\\v', math: '\\check' },
+ '\u0302': { text: '\\^', math: '\\hat' },
+ '\u0307': { text: '\\.', math: '\\dot' },
+ '\u030A': { text: '\\r', math: '\\mathring' },
+ '\u030B': { text: '\\H' },
+ '\u0327': { text: '\\c' }
+ }),
+ (AG = {
+ á: 'a\u0301',
+ à: 'a\u0300',
+ ä: 'a\u0308',
+ ǟ: 'a\u0308\u0304',
+ ã: 'a\u0303',
+ ā: 'a\u0304',
+ ă: 'a\u0306',
+ ắ: 'a\u0306\u0301',
+ ằ: 'a\u0306\u0300',
+ ẵ: 'a\u0306\u0303',
+ ǎ: 'a\u030C',
+ â: 'a\u0302',
+ ấ: 'a\u0302\u0301',
+ ầ: 'a\u0302\u0300',
+ ẫ: 'a\u0302\u0303',
+ ȧ: 'a\u0307',
+ ǡ: 'a\u0307\u0304',
+ å: 'a\u030A',
+ ǻ: 'a\u030A\u0301',
+ ḃ: 'b\u0307',
+ ć: 'c\u0301',
+ ḉ: 'c\u0327\u0301',
+ č: 'c\u030C',
+ ĉ: 'c\u0302',
+ ċ: 'c\u0307',
+ ç: 'c\u0327',
+ ď: 'd\u030C',
+ ḋ: 'd\u0307',
+ ḑ: 'd\u0327',
+ é: 'e\u0301',
+ è: 'e\u0300',
+ ë: 'e\u0308',
+ ẽ: 'e\u0303',
+ ē: 'e\u0304',
+ ḗ: 'e\u0304\u0301',
+ ḕ: 'e\u0304\u0300',
+ ĕ: 'e\u0306',
+ ḝ: 'e\u0327\u0306',
+ ě: 'e\u030C',
+ ê: 'e\u0302',
+ ế: 'e\u0302\u0301',
+ ề: 'e\u0302\u0300',
+ ễ: 'e\u0302\u0303',
+ ė: 'e\u0307',
+ ȩ: 'e\u0327',
+ ḟ: 'f\u0307',
+ ǵ: 'g\u0301',
+ ḡ: 'g\u0304',
+ ğ: 'g\u0306',
+ ǧ: 'g\u030C',
+ ĝ: 'g\u0302',
+ ġ: 'g\u0307',
+ ģ: 'g\u0327',
+ ḧ: 'h\u0308',
+ ȟ: 'h\u030C',
+ ĥ: 'h\u0302',
+ ḣ: 'h\u0307',
+ ḩ: 'h\u0327',
+ í: 'i\u0301',
+ ì: 'i\u0300',
+ ï: 'i\u0308',
+ ḯ: 'i\u0308\u0301',
+ ĩ: 'i\u0303',
+ ī: 'i\u0304',
+ ĭ: 'i\u0306',
+ ǐ: 'i\u030C',
+ î: 'i\u0302',
+ ǰ: 'j\u030C',
+ ĵ: 'j\u0302',
+ ḱ: 'k\u0301',
+ ǩ: 'k\u030C',
+ ķ: 'k\u0327',
+ ĺ: 'l\u0301',
+ ľ: 'l\u030C',
+ ļ: 'l\u0327',
+ ḿ: 'm\u0301',
+ ṁ: 'm\u0307',
+ ń: 'n\u0301',
+ ǹ: 'n\u0300',
+ ñ: 'n\u0303',
+ ň: 'n\u030C',
+ ṅ: 'n\u0307',
+ ņ: 'n\u0327',
+ ó: 'o\u0301',
+ ò: 'o\u0300',
+ ö: 'o\u0308',
+ ȫ: 'o\u0308\u0304',
+ õ: 'o\u0303',
+ ṍ: 'o\u0303\u0301',
+ ṏ: 'o\u0303\u0308',
+ ȭ: 'o\u0303\u0304',
+ ō: 'o\u0304',
+ ṓ: 'o\u0304\u0301',
+ ṑ: 'o\u0304\u0300',
+ ŏ: 'o\u0306',
+ ǒ: 'o\u030C',
+ ô: 'o\u0302',
+ ố: 'o\u0302\u0301',
+ ồ: 'o\u0302\u0300',
+ ỗ: 'o\u0302\u0303',
+ ȯ: 'o\u0307',
+ ȱ: 'o\u0307\u0304',
+ ő: 'o\u030B',
+ ṕ: 'p\u0301',
+ ṗ: 'p\u0307',
+ ŕ: 'r\u0301',
+ ř: 'r\u030C',
+ ṙ: 'r\u0307',
+ ŗ: 'r\u0327',
+ ś: 's\u0301',
+ ṥ: 's\u0301\u0307',
+ š: 's\u030C',
+ ṧ: 's\u030C\u0307',
+ ŝ: 's\u0302',
+ ṡ: 's\u0307',
+ ş: 's\u0327',
+ ẗ: 't\u0308',
+ ť: 't\u030C',
+ ṫ: 't\u0307',
+ ţ: 't\u0327',
+ ú: 'u\u0301',
+ ù: 'u\u0300',
+ ü: 'u\u0308',
+ ǘ: 'u\u0308\u0301',
+ ǜ: 'u\u0308\u0300',
+ ǖ: 'u\u0308\u0304',
+ ǚ: 'u\u0308\u030C',
+ ũ: 'u\u0303',
+ ṹ: 'u\u0303\u0301',
+ ū: 'u\u0304',
+ ṻ: 'u\u0304\u0308',
+ ŭ: 'u\u0306',
+ ǔ: 'u\u030C',
+ û: 'u\u0302',
+ ů: 'u\u030A',
+ ű: 'u\u030B',
+ ṽ: 'v\u0303',
+ ẃ: 'w\u0301',
+ ẁ: 'w\u0300',
+ ẅ: 'w\u0308',
+ ŵ: 'w\u0302',
+ ẇ: 'w\u0307',
+ ẘ: 'w\u030A',
+ ẍ: 'x\u0308',
+ ẋ: 'x\u0307',
+ ý: 'y\u0301',
+ ỳ: 'y\u0300',
+ ÿ: 'y\u0308',
+ ỹ: 'y\u0303',
+ ȳ: 'y\u0304',
+ ŷ: 'y\u0302',
+ ẏ: 'y\u0307',
+ ẙ: 'y\u030A',
+ ź: 'z\u0301',
+ ž: 'z\u030C',
+ ẑ: 'z\u0302',
+ ż: 'z\u0307',
+ Á: 'A\u0301',
+ À: 'A\u0300',
+ Ä: 'A\u0308',
+ Ǟ: 'A\u0308\u0304',
+ Ã: 'A\u0303',
+ Ā: 'A\u0304',
+ Ă: 'A\u0306',
+ Ắ: 'A\u0306\u0301',
+ Ằ: 'A\u0306\u0300',
+ Ẵ: 'A\u0306\u0303',
+ Ǎ: 'A\u030C',
+ Â: 'A\u0302',
+ Ấ: 'A\u0302\u0301',
+ Ầ: 'A\u0302\u0300',
+ Ẫ: 'A\u0302\u0303',
+ Ȧ: 'A\u0307',
+ Ǡ: 'A\u0307\u0304',
+ Å: 'A\u030A',
+ Ǻ: 'A\u030A\u0301',
+ Ḃ: 'B\u0307',
+ Ć: 'C\u0301',
+ Ḉ: 'C\u0327\u0301',
+ Č: 'C\u030C',
+ Ĉ: 'C\u0302',
+ Ċ: 'C\u0307',
+ Ç: 'C\u0327',
+ Ď: 'D\u030C',
+ Ḋ: 'D\u0307',
+ Ḑ: 'D\u0327',
+ É: 'E\u0301',
+ È: 'E\u0300',
+ Ë: 'E\u0308',
+ Ẽ: 'E\u0303',
+ Ē: 'E\u0304',
+ Ḗ: 'E\u0304\u0301',
+ Ḕ: 'E\u0304\u0300',
+ Ĕ: 'E\u0306',
+ Ḝ: 'E\u0327\u0306',
+ Ě: 'E\u030C',
+ Ê: 'E\u0302',
+ Ế: 'E\u0302\u0301',
+ Ề: 'E\u0302\u0300',
+ Ễ: 'E\u0302\u0303',
+ Ė: 'E\u0307',
+ Ȩ: 'E\u0327',
+ Ḟ: 'F\u0307',
+ Ǵ: 'G\u0301',
+ Ḡ: 'G\u0304',
+ Ğ: 'G\u0306',
+ Ǧ: 'G\u030C',
+ Ĝ: 'G\u0302',
+ Ġ: 'G\u0307',
+ Ģ: 'G\u0327',
+ Ḧ: 'H\u0308',
+ Ȟ: 'H\u030C',
+ Ĥ: 'H\u0302',
+ Ḣ: 'H\u0307',
+ Ḩ: 'H\u0327',
+ Í: 'I\u0301',
+ Ì: 'I\u0300',
+ Ï: 'I\u0308',
+ Ḯ: 'I\u0308\u0301',
+ Ĩ: 'I\u0303',
+ Ī: 'I\u0304',
+ Ĭ: 'I\u0306',
+ Ǐ: 'I\u030C',
+ Î: 'I\u0302',
+ İ: 'I\u0307',
+ Ĵ: 'J\u0302',
+ Ḱ: 'K\u0301',
+ Ǩ: 'K\u030C',
+ Ķ: 'K\u0327',
+ Ĺ: 'L\u0301',
+ Ľ: 'L\u030C',
+ Ļ: 'L\u0327',
+ Ḿ: 'M\u0301',
+ Ṁ: 'M\u0307',
+ Ń: 'N\u0301',
+ Ǹ: 'N\u0300',
+ Ñ: 'N\u0303',
+ Ň: 'N\u030C',
+ Ṅ: 'N\u0307',
+ Ņ: 'N\u0327',
+ Ó: 'O\u0301',
+ Ò: 'O\u0300',
+ Ö: 'O\u0308',
+ Ȫ: 'O\u0308\u0304',
+ Õ: 'O\u0303',
+ Ṍ: 'O\u0303\u0301',
+ Ṏ: 'O\u0303\u0308',
+ Ȭ: 'O\u0303\u0304',
+ Ō: 'O\u0304',
+ Ṓ: 'O\u0304\u0301',
+ Ṑ: 'O\u0304\u0300',
+ Ŏ: 'O\u0306',
+ Ǒ: 'O\u030C',
+ Ô: 'O\u0302',
+ Ố: 'O\u0302\u0301',
+ Ồ: 'O\u0302\u0300',
+ Ỗ: 'O\u0302\u0303',
+ Ȯ: 'O\u0307',
+ Ȱ: 'O\u0307\u0304',
+ Ő: 'O\u030B',
+ Ṕ: 'P\u0301',
+ Ṗ: 'P\u0307',
+ Ŕ: 'R\u0301',
+ Ř: 'R\u030C',
+ Ṙ: 'R\u0307',
+ Ŗ: 'R\u0327',
+ Ś: 'S\u0301',
+ Ṥ: 'S\u0301\u0307',
+ Š: 'S\u030C',
+ Ṧ: 'S\u030C\u0307',
+ Ŝ: 'S\u0302',
+ Ṡ: 'S\u0307',
+ Ş: 'S\u0327',
+ Ť: 'T\u030C',
+ Ṫ: 'T\u0307',
+ Ţ: 'T\u0327',
+ Ú: 'U\u0301',
+ Ù: 'U\u0300',
+ Ü: 'U\u0308',
+ Ǘ: 'U\u0308\u0301',
+ Ǜ: 'U\u0308\u0300',
+ Ǖ: 'U\u0308\u0304',
+ Ǚ: 'U\u0308\u030C',
+ Ũ: 'U\u0303',
+ Ṹ: 'U\u0303\u0301',
+ Ū: 'U\u0304',
+ Ṻ: 'U\u0304\u0308',
+ Ŭ: 'U\u0306',
+ Ǔ: 'U\u030C',
+ Û: 'U\u0302',
+ Ů: 'U\u030A',
+ Ű: 'U\u030B',
+ Ṽ: 'V\u0303',
+ Ẃ: 'W\u0301',
+ Ẁ: 'W\u0300',
+ Ẅ: 'W\u0308',
+ Ŵ: 'W\u0302',
+ Ẇ: 'W\u0307',
+ Ẍ: 'X\u0308',
+ Ẋ: 'X\u0307',
+ Ý: 'Y\u0301',
+ Ỳ: 'Y\u0300',
+ Ÿ: 'Y\u0308',
+ Ỹ: 'Y\u0303',
+ Ȳ: 'Y\u0304',
+ Ŷ: 'Y\u0302',
+ Ẏ: 'Y\u0307',
+ Ź: 'Z\u0301',
+ Ž: 'Z\u030C',
+ Ẑ: 'Z\u0302',
+ Ż: 'Z\u0307',
+ ά: '\u03B1\u0301',
+ ὰ: '\u03B1\u0300',
+ ᾱ: '\u03B1\u0304',
+ ᾰ: '\u03B1\u0306',
+ έ: '\u03B5\u0301',
+ ὲ: '\u03B5\u0300',
+ ή: '\u03B7\u0301',
+ ὴ: '\u03B7\u0300',
+ ί: '\u03B9\u0301',
+ ὶ: '\u03B9\u0300',
+ ϊ: '\u03B9\u0308',
+ ΐ: '\u03B9\u0308\u0301',
+ ῒ: '\u03B9\u0308\u0300',
+ ῑ: '\u03B9\u0304',
+ ῐ: '\u03B9\u0306',
+ ό: '\u03BF\u0301',
+ ὸ: '\u03BF\u0300',
+ ύ: '\u03C5\u0301',
+ ὺ: '\u03C5\u0300',
+ ϋ: '\u03C5\u0308',
+ ΰ: '\u03C5\u0308\u0301',
+ ῢ: '\u03C5\u0308\u0300',
+ ῡ: '\u03C5\u0304',
+ ῠ: '\u03C5\u0306',
+ ώ: '\u03C9\u0301',
+ ὼ: '\u03C9\u0300',
+ Ύ: '\u03A5\u0301',
+ Ὺ: '\u03A5\u0300',
+ Ϋ: '\u03A5\u0308',
+ Ῡ: '\u03A5\u0304',
+ Ῠ: '\u03A5\u0306',
+ Ώ: '\u03A9\u0301',
+ Ὼ: '\u03A9\u0300'
+ }),
+ (x4 = class t {
+ static {
+ o(this, 'Parser');
+ }
+ constructor(e, r) {
+ (this.mode = void 0),
+ (this.gullet = void 0),
+ (this.settings = void 0),
+ (this.leftrightDepth = void 0),
+ (this.nextToken = void 0),
+ (this.mode = 'math'),
+ (this.gullet = new R7(e, r, this.mode)),
+ (this.settings = r),
+ (this.leftrightDepth = 0);
+ }
+ expect(e, r) {
+ if ((r === void 0 && (r = !0), this.fetch().text !== e))
+ throw new nt("Expected '" + e + "', got '" + this.fetch().text + "'", this.fetch());
+ r && this.consume();
+ }
+ consume() {
+ this.nextToken = null;
+ }
+ fetch() {
+ return (
+ this.nextToken == null && (this.nextToken = this.gullet.expandNextToken()), this.nextToken
+ );
+ }
+ switchMode(e) {
+ (this.mode = e), this.gullet.switchMode(e);
+ }
+ parse() {
+ this.settings.globalGroup || this.gullet.beginGroup(),
+ this.settings.colorIsTextColor && this.gullet.macros.set('\\color', '\\textcolor');
+ try {
+ var e = this.parseExpression(!1);
+ return this.expect('EOF'), this.settings.globalGroup || this.gullet.endGroup(), e;
+ } finally {
+ this.gullet.endGroups();
+ }
+ }
+ subparse(e) {
+ var r = this.nextToken;
+ this.consume(), this.gullet.pushToken(new Ao('}')), this.gullet.pushTokens(e);
+ var n = this.parseExpression(!1);
+ return this.expect('}'), (this.nextToken = r), n;
+ }
+ parseExpression(e, r) {
+ for (var n = []; ; ) {
+ this.mode === 'math' && this.consumeSpaces();
+ var i = this.fetch();
+ if (
+ t.endOfExpression.indexOf(i.text) !== -1 ||
+ (r && i.text === r) ||
+ (e && fh[i.text] && fh[i.text].infix)
+ )
+ break;
+ var a = this.parseAtom(r);
+ if (a) {
+ if (a.type === 'internal') continue;
+ } else break;
+ n.push(a);
+ }
+ return this.mode === 'text' && this.formLigatures(n), this.handleInfixNodes(n);
+ }
+ handleInfixNodes(e) {
+ for (var r = -1, n, i = 0; i < e.length; i++)
+ if (e[i].type === 'infix') {
+ if (r !== -1) throw new nt('only one infix operator per group', e[i].token);
+ (r = i), (n = e[i].replaceWith);
+ }
+ if (r !== -1 && n) {
+ var a,
+ s,
+ l = e.slice(0, r),
+ u = e.slice(r + 1);
+ l.length === 1 && l[0].type === 'ordgroup'
+ ? (a = l[0])
+ : (a = { type: 'ordgroup', mode: this.mode, body: l }),
+ u.length === 1 && u[0].type === 'ordgroup'
+ ? (s = u[0])
+ : (s = { type: 'ordgroup', mode: this.mode, body: u });
+ var h;
+ return (
+ n === '\\\\abovefrac'
+ ? (h = this.callFunction(n, [a, e[r], s], []))
+ : (h = this.callFunction(n, [a, s], [])),
+ [h]
+ );
+ } else return e;
+ }
+ handleSupSubscript(e) {
+ var r = this.fetch(),
+ n = r.text;
+ this.consume(), this.consumeSpaces();
+ var i = this.parseGroup(e);
+ if (!i) throw new nt("Expected group after '" + n + "'", r);
+ return i;
+ }
+ formatUnsupportedCmd(e) {
+ for (var r = [], n = 0; n < e.length; n++)
+ r.push({ type: 'textord', mode: 'text', text: e[n] });
+ var i = { type: 'text', mode: this.mode, body: r },
+ a = {
+ type: 'color',
+ mode: this.mode,
+ color: this.settings.errorColor,
+ body: [i]
+ };
+ return a;
+ }
+ parseAtom(e) {
+ var r = this.parseGroup('atom', e);
+ if (this.mode === 'text') return r;
+ for (var n, i; ; ) {
+ this.consumeSpaces();
+ var a = this.fetch();
+ if (a.text === '\\limits' || a.text === '\\nolimits') {
+ if (r && r.type === 'op') {
+ var s = a.text === '\\limits';
+ (r.limits = s), (r.alwaysHandleSupSub = !0);
+ } else if (r && r.type === 'operatorname')
+ r.alwaysHandleSupSub && (r.limits = a.text === '\\limits');
+ else throw new nt('Limit controls must follow a math operator', a);
+ this.consume();
+ } else if (a.text === '^') {
+ if (n) throw new nt('Double superscript', a);
+ n = this.handleSupSubscript('superscript');
+ } else if (a.text === '_') {
+ if (i) throw new nt('Double subscript', a);
+ i = this.handleSupSubscript('subscript');
+ } else if (a.text === "'") {
+ if (n) throw new nt('Double superscript', a);
+ var l = { type: 'textord', mode: this.mode, text: '\\prime' },
+ u = [l];
+ for (this.consume(); this.fetch().text === "'"; ) u.push(l), this.consume();
+ this.fetch().text === '^' && u.push(this.handleSupSubscript('superscript')),
+ (n = { type: 'ordgroup', mode: this.mode, body: u });
+ } else if (c4[a.text]) {
+ var h = SG.test(a.text),
+ f = [];
+ for (f.push(new Ao(c4[a.text])), this.consume(); ; ) {
+ var d = this.fetch().text;
+ if (!c4[d] || SG.test(d) !== h) break;
+ f.unshift(new Ao(c4[d])), this.consume();
+ }
+ var p = this.subparse(f);
+ h
+ ? (i = { type: 'ordgroup', mode: 'math', body: p })
+ : (n = { type: 'ordgroup', mode: 'math', body: p });
+ } else break;
+ }
+ return n || i ? { type: 'supsub', mode: this.mode, base: r, sup: n, sub: i } : r;
+ }
+ parseFunction(e, r) {
+ var n = this.fetch(),
+ i = n.text,
+ a = fh[i];
+ if (!a) return null;
+ if ((this.consume(), r && r !== 'atom' && !a.allowedInArgument))
+ throw new nt("Got function '" + i + "' with no arguments" + (r ? ' as ' + r : ''), n);
+ if (this.mode === 'text' && !a.allowedInText)
+ throw new nt("Can't use function '" + i + "' in text mode", n);
+ if (this.mode === 'math' && a.allowedInMath === !1)
+ throw new nt("Can't use function '" + i + "' in math mode", n);
+ var { args: s, optArgs: l } = this.parseArguments(i, a);
+ return this.callFunction(i, s, l, n, e);
+ }
+ callFunction(e, r, n, i, a) {
+ var s = {
+ funcName: e,
+ parser: this,
+ token: i,
+ breakOnTokenText: a
+ },
+ l = fh[e];
+ if (l && l.handler) return l.handler(s, r, n);
+ throw new nt('No function handler for ' + e);
+ }
+ parseArguments(e, r) {
+ var n = r.numArgs + r.numOptionalArgs;
+ if (n === 0) return { args: [], optArgs: [] };
+ for (var i = [], a = [], s = 0; s < n; s++) {
+ var l = r.argTypes && r.argTypes[s],
+ u = s < r.numOptionalArgs;
+ ((r.primitive && l == null) || (r.type === 'sqrt' && s === 1 && a[0] == null)) &&
+ (l = 'primitive');
+ var h = this.parseGroupOfType("argument to '" + e + "'", l, u);
+ if (u) a.push(h);
+ else if (h != null) i.push(h);
+ else throw new nt('Null argument, please report this as a bug');
+ }
+ return { args: i, optArgs: a };
+ }
+ parseGroupOfType(e, r, n) {
+ switch (r) {
+ case 'color':
+ return this.parseColorGroup(n);
+ case 'size':
+ return this.parseSizeGroup(n);
+ case 'url':
+ return this.parseUrlGroup(n);
+ case 'math':
+ case 'text':
+ return this.parseArgumentGroup(n, r);
+ case 'hbox': {
+ var i = this.parseArgumentGroup(n, 'text');
+ return i != null ? { type: 'styling', mode: i.mode, body: [i], style: 'text' } : null;
+ }
+ case 'raw': {
+ var a = this.parseStringGroup('raw', n);
+ return a != null ? { type: 'raw', mode: 'text', string: a.text } : null;
+ }
+ case 'primitive': {
+ if (n) throw new nt('A primitive argument cannot be optional');
+ var s = this.parseGroup(e);
+ if (s == null) throw new nt('Expected group as ' + e, this.fetch());
+ return s;
+ }
+ case 'original':
+ case null:
+ case void 0:
+ return this.parseArgumentGroup(n);
+ default:
+ throw new nt('Unknown group type as ' + e, this.fetch());
+ }
+ }
+ consumeSpaces() {
+ for (; this.fetch().text === ' '; ) this.consume();
+ }
+ parseStringGroup(e, r) {
+ var n = this.gullet.scanArgument(r);
+ if (n == null) return null;
+ for (var i = '', a; (a = this.fetch()).text !== 'EOF'; ) (i += a.text), this.consume();
+ return this.consume(), (n.text = i), n;
+ }
+ parseRegexGroup(e, r) {
+ for (
+ var n = this.fetch(), i = n, a = '', s;
+ (s = this.fetch()).text !== 'EOF' && e.test(a + s.text);
+
+ )
+ (i = s), (a += i.text), this.consume();
+ if (a === '') throw new nt('Invalid ' + r + ": '" + n.text + "'", n);
+ return n.range(i, a);
+ }
+ parseColorGroup(e) {
+ var r = this.parseStringGroup('color', e);
+ if (r == null) return null;
+ var n = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(r.text);
+ if (!n) throw new nt("Invalid color: '" + r.text + "'", r);
+ var i = n[0];
+ return (
+ /^[0-9a-f]{6}$/i.test(i) && (i = '#' + i),
+ { type: 'color-token', mode: this.mode, color: i }
+ );
+ }
+ parseSizeGroup(e) {
+ var r,
+ n = !1;
+ if (
+ (this.gullet.consumeSpaces(),
+ !e && this.gullet.future().text !== '{'
+ ? (r = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, 'size'))
+ : (r = this.parseStringGroup('size', e)),
+ !r)
+ )
+ return null;
+ !e && r.text.length === 0 && ((r.text = '0pt'), (n = !0));
+ var i = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(r.text);
+ if (!i) throw new nt("Invalid size: '" + r.text + "'", r);
+ var a = { number: +(i[1] + i[2]), unit: i[3] };
+ if (!DG(a)) throw new nt("Invalid unit: '" + a.unit + "'", r);
+ return { type: 'size', mode: this.mode, value: a, isBlank: n };
+ }
+ parseUrlGroup(e) {
+ this.gullet.lexer.setCatcode('%', 13), this.gullet.lexer.setCatcode('~', 12);
+ var r = this.parseStringGroup('url', e);
+ if ((this.gullet.lexer.setCatcode('%', 14), this.gullet.lexer.setCatcode('~', 13), r == null))
+ return null;
+ var n = r.text.replace(/\\([#$%&~_^{}])/g, '$1');
+ return { type: 'url', mode: this.mode, url: n };
+ }
+ parseArgumentGroup(e, r) {
+ var n = this.gullet.scanArgument(e);
+ if (n == null) return null;
+ var i = this.mode;
+ r && this.switchMode(r), this.gullet.beginGroup();
+ var a = this.parseExpression(!1, 'EOF');
+ this.expect('EOF'), this.gullet.endGroup();
+ var s = { type: 'ordgroup', mode: this.mode, loc: n.loc, body: a };
+ return r && this.switchMode(i), s;
+ }
+ parseGroup(e, r) {
+ var n = this.fetch(),
+ i = n.text,
+ a;
+ if (i === '{' || i === '\\begingroup') {
+ this.consume();
+ var s = i === '{' ? '}' : '\\endgroup';
+ this.gullet.beginGroup();
+ var l = this.parseExpression(!1, s),
+ u = this.fetch();
+ this.expect(s),
+ this.gullet.endGroup(),
+ (a = {
+ type: 'ordgroup',
+ mode: this.mode,
+ loc: Xs.range(n, u),
+ body: l,
+ semisimple: i === '\\begingroup' || void 0
+ });
+ } else if (
+ ((a = this.parseFunction(r, e) || this.parseSymbol()),
+ a == null && i[0] === '\\' && !b$.hasOwnProperty(i))
+ ) {
+ if (this.settings.throwOnError) throw new nt('Undefined control sequence: ' + i, n);
+ (a = this.formatUnsupportedCmd(i)), this.consume();
+ }
+ return a;
+ }
+ formLigatures(e) {
+ for (var r = e.length - 1, n = 0; n < r; ++n) {
+ var i = e[n],
+ a = i.text;
+ a === '-' &&
+ e[n + 1].text === '-' &&
+ (n + 1 < r && e[n + 2].text === '-'
+ ? (e.splice(n, 3, {
+ type: 'textord',
+ mode: 'text',
+ loc: Xs.range(i, e[n + 2]),
+ text: '---'
+ }),
+ (r -= 2))
+ : (e.splice(n, 2, {
+ type: 'textord',
+ mode: 'text',
+ loc: Xs.range(i, e[n + 1]),
+ text: '--'
+ }),
+ (r -= 1))),
+ (a === "'" || a === '`') &&
+ e[n + 1].text === a &&
+ (e.splice(n, 2, {
+ type: 'textord',
+ mode: 'text',
+ loc: Xs.range(i, e[n + 1]),
+ text: a + a
+ }),
+ (r -= 1));
+ }
+ }
+ parseSymbol() {
+ var e = this.fetch(),
+ r = e.text;
+ if (/^\\verb[^a-zA-Z]/.test(r)) {
+ this.consume();
+ var n = r.slice(5),
+ i = n.charAt(0) === '*';
+ if ((i && (n = n.slice(1)), n.length < 2 || n.charAt(0) !== n.slice(-1)))
+ throw new nt(`\\verb assertion failed --
+ please report what input caused this bug`);
+ return (n = n.slice(1, -1)), { type: 'verb', mode: 'text', body: n, star: i };
+ }
+ AG.hasOwnProperty(r[0]) &&
+ !wn[this.mode][r[0]] &&
+ (this.settings.strict &&
+ this.mode === 'math' &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Accented Unicode text character "' + r[0] + '" used in math mode',
+ e
+ ),
+ (r = AG[r[0]] + r.slice(1)));
+ var a = vbe.exec(r);
+ a && ((r = r.substring(0, a.index)), r === 'i' ? (r = '\u0131') : r === 'j' && (r = '\u0237'));
+ var s;
+ if (wn[this.mode][r]) {
+ this.settings.strict &&
+ this.mode === 'math' &&
+ k7.indexOf(r) >= 0 &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Latin-1/Unicode text character "' + r[0] + '" used in math mode',
+ e
+ );
+ var l = wn[this.mode][r].group,
+ u = Xs.range(e),
+ h;
+ if (hxe.hasOwnProperty(l)) {
+ var f = l;
+ h = {
+ type: 'atom',
+ mode: this.mode,
+ family: f,
+ loc: u,
+ text: r
+ };
+ } else h = { type: l, mode: this.mode, loc: u, text: r };
+ s = h;
+ } else if (r.charCodeAt(0) >= 128)
+ this.settings.strict &&
+ (LG(r.charCodeAt(0))
+ ? this.mode === 'math' &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Unicode text character "' + r[0] + '" used in math mode',
+ e
+ )
+ : this.settings.reportNonstrict(
+ 'unknownSymbol',
+ 'Unrecognized Unicode character "' +
+ r[0] +
+ '"' +
+ (' (' + r.charCodeAt(0) + ')'),
+ e
+ )),
+ (s = {
+ type: 'textord',
+ mode: 'text',
+ loc: Xs.range(e),
+ text: r
+ });
+ else return null;
+ if ((this.consume(), a))
+ for (var d = 0; d < a[0].length; d++) {
+ var p = a[0][d];
+ if (!x7[p]) throw new nt("Unknown accent ' " + p + "'", e);
+ var m = x7[p][this.mode] || x7[p].text;
+ if (!m) throw new nt('Accent ' + p + ' unsupported in ' + this.mode + ' mode', e);
+ s = {
+ type: 'accent',
+ mode: this.mode,
+ loc: Xs.range(e),
+ label: m,
+ isStretchy: !1,
+ isShifty: !0,
+ base: s
+ };
+ }
+ return s;
+ }
+ });
+ x4.endOfExpression = ['}', '\\endgroup', '\\end', '\\right', '&'];
+ (X7 = o(function (e, r) {
+ if (!(typeof e == 'string' || e instanceof String))
+ throw new TypeError('KaTeX can only parse string typed expression');
+ var n = new x4(e, r);
+ delete n.gullet.macros.current['\\df@tag'];
+ var i = n.parse();
+ if (
+ (delete n.gullet.macros.current['\\current@color'],
+ delete n.gullet.macros.current['\\color'],
+ n.gullet.macros.get('\\df@tag'))
+ ) {
+ if (!r.displayMode) throw new nt('\\tag works only in display equations');
+ i = [
+ {
+ type: 'tag',
+ mode: 'text',
+ body: i,
+ tag: n.subparse([new Ao('\\df@tag')])
+ }
+ ];
+ }
+ return i;
+ }, 'parseTree')),
+ (w$ = o(function (e, r, n) {
+ r.textContent = '';
+ var i = j7(e, n).toNode();
+ r.appendChild(i);
+ }, 'render'));
+ typeof document < 'u' &&
+ document.compatMode !== 'CSS1Compat' &&
+ (typeof console < 'u' &&
+ console.warn(
+ "Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."
+ ),
+ (w$ = o(function () {
+ throw new nt("KaTeX doesn't work in quirks mode.");
+ }, 'render')));
+ (wbe = o(function (e, r) {
+ var n = j7(e, r).toMarkup();
+ return n;
+ }, 'renderToString')),
+ (Tbe = o(function (e, r) {
+ var n = new ry(r);
+ return X7(e, n);
+ }, 'generateParseTree')),
+ (T$ = o(function (e, r, n) {
+ if (n.throwOnError || !(e instanceof nt)) throw e;
+ var i = Be.makeSpan(['katex-error'], [new ms(r)]);
+ return i.setAttribute('title', e.toString()), i.setAttribute('style', 'color:' + n.errorColor), i;
+ }, 'renderError')),
+ (j7 = o(function (e, r) {
+ var n = new ry(r);
+ try {
+ var i = X7(e, n);
+ return Mxe(i, e, n);
+ } catch (a) {
+ return T$(a, e, n);
+ }
+ }, 'renderToDomTree')),
+ (kbe = o(function (e, r) {
+ var n = new ry(r);
+ try {
+ var i = X7(e, n);
+ return Ixe(i, e, n);
+ } catch (a) {
+ return T$(a, e, n);
+ }
+ }, 'renderToHTMLTree')),
+ (Ebe = {
+ version: '0.16.11',
+ render: w$,
+ renderToString: wbe,
+ ParseError: nt,
+ SETTINGS_SCHEMA: u4,
+ __parse: Tbe,
+ __renderToDomTree: j7,
+ __renderToHTMLTree: kbe,
+ __setFontMetrics: axe,
+ __defineSymbol: G,
+ __defineFunction: vt,
+ __defineMacro: le,
+ __domTree: {
+ Span: jf,
+ Anchor: iy,
+ SymbolNode: ms,
+ SvgNode: ll,
+ PathNode: Jl,
+ LineNode: ay
+ }
+ });
+ });
+ function Abe() {
+ let t = 'data-temp-href-target';
+ bp.default.addHook('beforeSanitizeAttributes', (e) => {
+ e.tagName === 'A' && e.hasAttribute('target') && e.setAttribute(t, e.getAttribute('target') ?? '');
+ }),
+ bp.default.addHook('afterSanitizeAttributes', (e) => {
+ e.tagName === 'A' &&
+ e.hasAttribute(t) &&
+ (e.setAttribute('target', e.getAttribute(t) ?? ''),
+ e.removeAttribute(t),
+ e.getAttribute('target') === '_blank' && e.setAttribute('rel', 'noopener'));
+ });
+ }
+ var bp,
+ Qf,
+ Cbe,
+ Sbe,
+ A$,
+ C$,
+ qr,
+ _be,
+ Lbe,
+ Dbe,
+ Rbe,
+ _$,
+ Nbe,
+ yr,
+ Mbe,
+ Ibe,
+ gh,
+ K7,
+ Obe,
+ Pbe,
+ S$,
+ Q7,
+ Ni,
+ Zf,
+ yh,
+ We,
+ rr = R(() => {
+ 'use strict';
+ (bp = Xi(o7(), 1)),
+ (Qf = /
/gi),
+ (Cbe = o((t) => (t ? _$(t).replace(/\\n/g, '#br#').split('#br#') : ['']), 'getRows')),
+ (Sbe = (() => {
+ let t = !1;
+ return () => {
+ t || (Abe(), (t = !0));
+ };
+ })());
+ o(Abe, 'setupDompurifyHooks');
+ (A$ = o((t) => (Sbe(), bp.default.sanitize(t)), 'removeScript')),
+ (C$ = o((t, e) => {
+ if (e.flowchart?.htmlLabels !== !1) {
+ let r = e.securityLevel;
+ r === 'antiscript' || r === 'strict'
+ ? (t = A$(t))
+ : r !== 'loose' &&
+ ((t = _$(t)),
+ (t = t.replace(//g, '>')),
+ (t = t.replace(/=/g, '=')),
+ (t = Rbe(t)));
+ }
+ return t;
+ }, 'sanitizeMore')),
+ (qr = o(
+ (t, e) =>
+ t &&
+ (e.dompurifyConfig
+ ? (t = bp.default.sanitize(C$(t, e), e.dompurifyConfig).toString())
+ : (t = bp.default.sanitize(C$(t, e), { FORBID_TAGS: ['style'] }).toString()),
+ t),
+ 'sanitizeText'
+ )),
+ (_be = o(
+ (t, e) => (typeof t == 'string' ? qr(t, e) : t.flat().map((r) => qr(r, e))),
+ 'sanitizeTextOrArray'
+ )),
+ (Lbe = o((t) => Qf.test(t), 'hasBreaks')),
+ (Dbe = o((t) => t.split(Qf), 'splitBreaks')),
+ (Rbe = o((t) => t.replace(/#br#/g, '
'), 'placeholderToBreak')),
+ (_$ = o((t) => t.replace(Qf, '#br#'), 'breakToPlaceholder')),
+ (Nbe = o((t) => {
+ let e = '';
+ return (
+ t &&
+ ((e =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (e = e.replaceAll(/\(/g, '\\(')),
+ (e = e.replaceAll(/\)/g, '\\)'))),
+ e
+ );
+ }, 'getUrl')),
+ (yr = o(
+ (t) => !(t === !1 || ['false', 'null', '0'].includes(String(t).trim().toLowerCase())),
+ 'evaluate'
+ )),
+ (Mbe = o(function (...t) {
+ let e = t.filter((r) => !isNaN(r));
+ return Math.max(...e);
+ }, 'getMax')),
+ (Ibe = o(function (...t) {
+ let e = t.filter((r) => !isNaN(r));
+ return Math.min(...e);
+ }, 'getMin')),
+ (gh = o(function (t) {
+ let e = t.split(/(,)/),
+ r = [];
+ for (let n = 0; n < e.length; n++) {
+ let i = e[n];
+ if (i === ',' && n > 0 && n + 1 < e.length) {
+ let a = e[n - 1],
+ s = e[n + 1];
+ Obe(a, s) && ((i = a + ',' + s), n++, r.pop());
+ }
+ r.push(Pbe(i));
+ }
+ return r.join('');
+ }, 'parseGenericTypes')),
+ (K7 = o((t, e) => Math.max(0, t.split(e).length - 1), 'countOccurrence')),
+ (Obe = o((t, e) => {
+ let r = K7(t, '~'),
+ n = K7(e, '~');
+ return r === 1 && n === 1;
+ }, 'shouldCombineSets')),
+ (Pbe = o((t) => {
+ let e = K7(t, '~'),
+ r = !1;
+ if (e <= 1) return t;
+ e % 2 !== 0 && t.startsWith('~') && ((t = t.substring(1)), (r = !0));
+ let n = [...t],
+ i = n.indexOf('~'),
+ a = n.lastIndexOf('~');
+ for (; i !== -1 && a !== -1 && i !== a; )
+ (n[i] = '<'), (n[a] = '>'), (i = n.indexOf('~')), (a = n.lastIndexOf('~'));
+ return r && n.unshift('~'), n.join('');
+ }, 'processSet')),
+ (S$ = o(() => window.MathMLElement !== void 0, 'isMathMLSupported')),
+ (Q7 = /\$\$(.*)\$\$/g),
+ (Ni = o((t) => (t.match(Q7)?.length ?? 0) > 0, 'hasKatex')),
+ (Zf = o(async (t, e) => {
+ t = await yh(t, e);
+ let r = document.createElement('div');
+ (r.innerHTML = t),
+ (r.id = 'katex-temp'),
+ (r.style.visibility = 'hidden'),
+ (r.style.position = 'absolute'),
+ (r.style.top = '0'),
+ document.querySelector('body')?.insertAdjacentElement('beforeend', r);
+ let i = { width: r.clientWidth, height: r.clientHeight };
+ return r.remove(), i;
+ }, 'calculateMathMLDimensions')),
+ (yh = o(async (t, e) => {
+ if (!Ni(t)) return t;
+ if (!(S$() || e.legacyMathML || e.forceLegacyMathML))
+ return t.replace(Q7, 'MathML is unsupported in this environment.');
+ let { default: r } = await Promise.resolve().then(() => (E$(), k$)),
+ n = e.forceLegacyMathML || (!S$() && e.legacyMathML) ? 'htmlAndMathml' : 'mathml';
+ return t
+ .split(Qf)
+ .map((i) =>
+ Ni(i)
+ ? `${i}
`
+ : `${i}
`
+ )
+ .join('')
+ .replace(Q7, (i, a) =>
+ r
+ .renderToString(a, {
+ throwOnError: !0,
+ displayMode: !0,
+ output: n
+ })
+ .replace(/\n/g, ' ')
+ .replace(//g, '')
+ );
+ }, 'renderKatex')),
+ (We = {
+ getRows: Cbe,
+ sanitizeText: qr,
+ sanitizeTextOrArray: _be,
+ hasBreaks: Lbe,
+ splitBreaks: Dbe,
+ lineBreakRegex: Qf,
+ removeScript: A$,
+ getUrl: Nbe,
+ evaluate: yr,
+ getMax: Mbe,
+ getMin: Ibe
+ });
+ });
+ var Bbe,
+ Fbe,
+ Sr,
+ Lo,
+ Yn = R(() => {
+ 'use strict';
+ ut();
+ (Bbe = o(function (t, e) {
+ for (let r of e) t.attr(r[0], r[1]);
+ }, 'd3Attrs')),
+ (Fbe = o(function (t, e, r) {
+ let n = new Map();
+ return (
+ r
+ ? (n.set('width', '100%'), n.set('style', `max-width: ${e}px;`))
+ : (n.set('height', t), n.set('width', e)),
+ n
+ );
+ }, 'calculateSvgSizeAttrs')),
+ (Sr = o(function (t, e, r, n) {
+ let i = Fbe(e, r, n);
+ Bbe(t, i);
+ }, 'configureSvgSize')),
+ (Lo = o(function (t, e, r, n) {
+ let i = e.node().getBBox(),
+ a = i.width,
+ s = i.height;
+ V.info(`SVG bounds: ${a}x${s}`, i);
+ let l = 0,
+ u = 0;
+ V.info(`Graph bounds: ${l}x${u}`, t),
+ (l = a + r * 2),
+ (u = s + r * 2),
+ V.info(`Calculated bounds: ${l}x${u}`),
+ Sr(e, u, l, n);
+ let h = `${i.x - r} ${i.y - r} ${i.width + 2 * r} ${i.height + 2 * r}`;
+ e.attr('viewBox', h);
+ }, 'setupGraphViewbox'));
+ });
+ var S4,
+ zbe,
+ L$,
+ D$,
+ Z7 = R(() => {
+ 'use strict';
+ ut();
+ (S4 = {}),
+ (zbe = o((t, e, r) => {
+ let n = '';
+ return (
+ t in S4 && S4[t] ? (n = S4[t](r)) : V.warn(`No theme found for ${t}`),
+ ` & {
+ font-family: ${r.fontFamily};
+ font-size: ${r.fontSize};
+ fill: ${r.textColor}
+ }
+
+ /* Classes common for multiple diagrams */
+
+ & .error-icon {
+ fill: ${r.errorBkgColor};
+ }
+ & .error-text {
+ fill: ${r.errorTextColor};
+ stroke: ${r.errorTextColor};
+ }
+
+ & .edge-thickness-normal {
+ stroke-width: 1px;
+ }
+ & .edge-thickness-thick {
+ stroke-width: 3.5px
+ }
+ & .edge-pattern-solid {
+ stroke-dasharray: 0;
+ }
+ & .edge-thickness-invisible {
+ stroke-width: 0;
+ fill: none;
+ }
+ & .edge-pattern-dashed{
+ stroke-dasharray: 3;
+ }
+ .edge-pattern-dotted {
+ stroke-dasharray: 2;
+ }
+
+ & .marker {
+ fill: ${r.lineColor};
+ stroke: ${r.lineColor};
+ }
+ & .marker.cross {
+ stroke: ${r.lineColor};
+ }
+
+ & svg {
+ font-family: ${r.fontFamily};
+ font-size: ${r.fontSize};
+ }
+ & p {
+ margin: 0
+ }
+
+ ${n}
+
+ ${e}
+`
+ );
+ }, 'getStyles')),
+ (L$ = o((t, e) => {
+ e !== void 0 && (S4[t] = e);
+ }, 'addStylesForDiagram')),
+ (D$ = zbe);
+ });
+ var ly = {};
+ hr(ly, {
+ clear: () => vr,
+ getAccDescription: () => Lr,
+ getAccTitle: () => Ar,
+ getDiagramTitle: () => Xr,
+ setAccDescription: () => _r,
+ setAccTitle: () => kr,
+ setDiagramTitle: () => nn
+ });
+ var J7,
+ eS,
+ tS,
+ rS,
+ vr,
+ kr,
+ Ar,
+ _r,
+ Lr,
+ nn,
+ Xr,
+ bi = R(() => {
+ 'use strict';
+ rr();
+ qs();
+ (J7 = ''),
+ (eS = ''),
+ (tS = ''),
+ (rS = o((t) => qr(t, Or()), 'sanitizeText')),
+ (vr = o(() => {
+ (J7 = ''), (tS = ''), (eS = '');
+ }, 'clear')),
+ (kr = o((t) => {
+ J7 = rS(t).replace(/^\s+/g, '');
+ }, 'setAccTitle')),
+ (Ar = o(() => J7, 'getAccTitle')),
+ (_r = o((t) => {
+ tS = rS(t).replace(
+ /\n\s+/g,
+ `
+`
+ );
+ }, 'setAccDescription')),
+ (Lr = o(() => tS, 'getAccDescription')),
+ (nn = o((t) => {
+ eS = rS(t);
+ }, 'setDiagramTitle')),
+ (Xr = o(() => eS, 'getDiagramTitle'));
+ });
+ var R$,
+ Gbe,
+ de,
+ iS,
+ _4,
+ $be,
+ aS,
+ Vbe,
+ A4,
+ Jf,
+ cy,
+ nS,
+ _t = R(() => {
+ 'use strict';
+ Hf();
+ ut();
+ qs();
+ rr();
+ Yn();
+ Z7();
+ bi();
+ (R$ = V),
+ (Gbe = $1),
+ (de = Or),
+ (iS = Zb),
+ (_4 = uh),
+ ($be = o((t) => qr(t, de()), 'sanitizeText')),
+ (aS = Lo),
+ (Vbe = o(() => ly, 'getCommonDb')),
+ (A4 = {}),
+ (Jf = o((t, e, r) => {
+ A4[t] && R$.warn(`Diagram with id ${t} already registered. Overwriting.`),
+ (A4[t] = e),
+ r && $C(t, r),
+ L$(t, e.styles),
+ e.injectUtils?.(R$, Gbe, de, $be, aS, Vbe(), () => {});
+ }, 'registerDiagram')),
+ (cy = o((t) => {
+ if (t in A4) return A4[t];
+ throw new nS(t);
+ }, 'getDiagram')),
+ (nS = class extends Error {
+ static {
+ o(this, 'DiagramNotFoundError');
+ }
+ constructor(e) {
+ super(`Diagram ${e} not found.`);
+ }
+ });
+ });
+ var ul,
+ vh,
+ ja,
+ cl,
+ nc,
+ uy,
+ sS,
+ oS,
+ L4,
+ D4,
+ N$,
+ Ube,
+ Hbe,
+ Ybe,
+ Wbe,
+ qbe,
+ Xbe,
+ jbe,
+ Kbe,
+ Qbe,
+ Zbe,
+ Jbe,
+ e4e,
+ t4e,
+ r4e,
+ n4e,
+ i4e,
+ a4e,
+ M$,
+ s4e,
+ o4e,
+ I$,
+ l4e,
+ c4e,
+ u4e,
+ h4e,
+ xh,
+ f4e,
+ d4e,
+ p4e,
+ m4e,
+ g4e,
+ hy,
+ lS = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ bi();
+ (ul = []),
+ (vh = ['']),
+ (ja = 'global'),
+ (cl = ''),
+ (nc = [
+ {
+ alias: 'global',
+ label: { text: 'global' },
+ type: { text: 'global' },
+ tags: null,
+ link: null,
+ parentBoundary: ''
+ }
+ ]),
+ (uy = []),
+ (sS = ''),
+ (oS = !1),
+ (L4 = 4),
+ (D4 = 2),
+ (Ube = o(function () {
+ return N$;
+ }, 'getC4Type')),
+ (Hbe = o(function (t) {
+ N$ = qr(t, de());
+ }, 'setC4Type')),
+ (Ybe = o(function (t, e, r, n, i, a, s, l, u) {
+ if (
+ t == null ||
+ e === void 0 ||
+ e === null ||
+ r === void 0 ||
+ r === null ||
+ n === void 0 ||
+ n === null
+ )
+ return;
+ let h = {},
+ f = uy.find((d) => d.from === e && d.to === r);
+ if (
+ (f ? (h = f) : uy.push(h),
+ (h.type = t),
+ (h.from = e),
+ (h.to = r),
+ (h.label = { text: n }),
+ i == null)
+ )
+ h.techn = { text: '' };
+ else if (typeof i == 'object') {
+ let [d, p] = Object.entries(i)[0];
+ h[d] = { text: p };
+ } else h.techn = { text: i };
+ if (a == null) h.descr = { text: '' };
+ else if (typeof a == 'object') {
+ let [d, p] = Object.entries(a)[0];
+ h[d] = { text: p };
+ } else h.descr = { text: a };
+ if (typeof s == 'object') {
+ let [d, p] = Object.entries(s)[0];
+ h[d] = p;
+ } else h.sprite = s;
+ if (typeof l == 'object') {
+ let [d, p] = Object.entries(l)[0];
+ h[d] = p;
+ } else h.tags = l;
+ if (typeof u == 'object') {
+ let [d, p] = Object.entries(u)[0];
+ h[d] = p;
+ } else h.link = u;
+ h.wrap = xh();
+ }, 'addRel')),
+ (Wbe = o(function (t, e, r, n, i, a, s) {
+ if (e === null || r === null) return;
+ let l = {},
+ u = ul.find((h) => h.alias === e);
+ if (
+ (u && e === u.alias ? (l = u) : ((l.alias = e), ul.push(l)),
+ r == null ? (l.label = { text: '' }) : (l.label = { text: r }),
+ n == null)
+ )
+ l.descr = { text: '' };
+ else if (typeof n == 'object') {
+ let [h, f] = Object.entries(n)[0];
+ l[h] = { text: f };
+ } else l.descr = { text: n };
+ if (typeof i == 'object') {
+ let [h, f] = Object.entries(i)[0];
+ l[h] = f;
+ } else l.sprite = i;
+ if (typeof a == 'object') {
+ let [h, f] = Object.entries(a)[0];
+ l[h] = f;
+ } else l.tags = a;
+ if (typeof s == 'object') {
+ let [h, f] = Object.entries(s)[0];
+ l[h] = f;
+ } else l.link = s;
+ (l.typeC4Shape = { text: t }), (l.parentBoundary = ja), (l.wrap = xh());
+ }, 'addPersonOrSystem')),
+ (qbe = o(function (t, e, r, n, i, a, s, l) {
+ if (e === null || r === null) return;
+ let u = {},
+ h = ul.find((f) => f.alias === e);
+ if (
+ (h && e === h.alias ? (u = h) : ((u.alias = e), ul.push(u)),
+ r == null ? (u.label = { text: '' }) : (u.label = { text: r }),
+ n == null)
+ )
+ u.techn = { text: '' };
+ else if (typeof n == 'object') {
+ let [f, d] = Object.entries(n)[0];
+ u[f] = { text: d };
+ } else u.techn = { text: n };
+ if (i == null) u.descr = { text: '' };
+ else if (typeof i == 'object') {
+ let [f, d] = Object.entries(i)[0];
+ u[f] = { text: d };
+ } else u.descr = { text: i };
+ if (typeof a == 'object') {
+ let [f, d] = Object.entries(a)[0];
+ u[f] = d;
+ } else u.sprite = a;
+ if (typeof s == 'object') {
+ let [f, d] = Object.entries(s)[0];
+ u[f] = d;
+ } else u.tags = s;
+ if (typeof l == 'object') {
+ let [f, d] = Object.entries(l)[0];
+ u[f] = d;
+ } else u.link = l;
+ (u.wrap = xh()), (u.typeC4Shape = { text: t }), (u.parentBoundary = ja);
+ }, 'addContainer')),
+ (Xbe = o(function (t, e, r, n, i, a, s, l) {
+ if (e === null || r === null) return;
+ let u = {},
+ h = ul.find((f) => f.alias === e);
+ if (
+ (h && e === h.alias ? (u = h) : ((u.alias = e), ul.push(u)),
+ r == null ? (u.label = { text: '' }) : (u.label = { text: r }),
+ n == null)
+ )
+ u.techn = { text: '' };
+ else if (typeof n == 'object') {
+ let [f, d] = Object.entries(n)[0];
+ u[f] = { text: d };
+ } else u.techn = { text: n };
+ if (i == null) u.descr = { text: '' };
+ else if (typeof i == 'object') {
+ let [f, d] = Object.entries(i)[0];
+ u[f] = { text: d };
+ } else u.descr = { text: i };
+ if (typeof a == 'object') {
+ let [f, d] = Object.entries(a)[0];
+ u[f] = d;
+ } else u.sprite = a;
+ if (typeof s == 'object') {
+ let [f, d] = Object.entries(s)[0];
+ u[f] = d;
+ } else u.tags = s;
+ if (typeof l == 'object') {
+ let [f, d] = Object.entries(l)[0];
+ u[f] = d;
+ } else u.link = l;
+ (u.wrap = xh()), (u.typeC4Shape = { text: t }), (u.parentBoundary = ja);
+ }, 'addComponent')),
+ (jbe = o(function (t, e, r, n, i) {
+ if (t === null || e === null) return;
+ let a = {},
+ s = nc.find((l) => l.alias === t);
+ if (
+ (s && t === s.alias ? (a = s) : ((a.alias = t), nc.push(a)),
+ e == null ? (a.label = { text: '' }) : (a.label = { text: e }),
+ r == null)
+ )
+ a.type = { text: 'system' };
+ else if (typeof r == 'object') {
+ let [l, u] = Object.entries(r)[0];
+ a[l] = { text: u };
+ } else a.type = { text: r };
+ if (typeof n == 'object') {
+ let [l, u] = Object.entries(n)[0];
+ a[l] = u;
+ } else a.tags = n;
+ if (typeof i == 'object') {
+ let [l, u] = Object.entries(i)[0];
+ a[l] = u;
+ } else a.link = i;
+ (a.parentBoundary = ja), (a.wrap = xh()), (cl = ja), (ja = t), vh.push(cl);
+ }, 'addPersonOrSystemBoundary')),
+ (Kbe = o(function (t, e, r, n, i) {
+ if (t === null || e === null) return;
+ let a = {},
+ s = nc.find((l) => l.alias === t);
+ if (
+ (s && t === s.alias ? (a = s) : ((a.alias = t), nc.push(a)),
+ e == null ? (a.label = { text: '' }) : (a.label = { text: e }),
+ r == null)
+ )
+ a.type = { text: 'container' };
+ else if (typeof r == 'object') {
+ let [l, u] = Object.entries(r)[0];
+ a[l] = { text: u };
+ } else a.type = { text: r };
+ if (typeof n == 'object') {
+ let [l, u] = Object.entries(n)[0];
+ a[l] = u;
+ } else a.tags = n;
+ if (typeof i == 'object') {
+ let [l, u] = Object.entries(i)[0];
+ a[l] = u;
+ } else a.link = i;
+ (a.parentBoundary = ja), (a.wrap = xh()), (cl = ja), (ja = t), vh.push(cl);
+ }, 'addContainerBoundary')),
+ (Qbe = o(function (t, e, r, n, i, a, s, l) {
+ if (e === null || r === null) return;
+ let u = {},
+ h = nc.find((f) => f.alias === e);
+ if (
+ (h && e === h.alias ? (u = h) : ((u.alias = e), nc.push(u)),
+ r == null ? (u.label = { text: '' }) : (u.label = { text: r }),
+ n == null)
+ )
+ u.type = { text: 'node' };
+ else if (typeof n == 'object') {
+ let [f, d] = Object.entries(n)[0];
+ u[f] = { text: d };
+ } else u.type = { text: n };
+ if (i == null) u.descr = { text: '' };
+ else if (typeof i == 'object') {
+ let [f, d] = Object.entries(i)[0];
+ u[f] = { text: d };
+ } else u.descr = { text: i };
+ if (typeof s == 'object') {
+ let [f, d] = Object.entries(s)[0];
+ u[f] = d;
+ } else u.tags = s;
+ if (typeof l == 'object') {
+ let [f, d] = Object.entries(l)[0];
+ u[f] = d;
+ } else u.link = l;
+ (u.nodeType = t), (u.parentBoundary = ja), (u.wrap = xh()), (cl = ja), (ja = e), vh.push(cl);
+ }, 'addDeploymentNode')),
+ (Zbe = o(function () {
+ (ja = cl), vh.pop(), (cl = vh.pop()), vh.push(cl);
+ }, 'popBoundaryParseStack')),
+ (Jbe = o(function (t, e, r, n, i, a, s, l, u, h, f) {
+ let d = ul.find((p) => p.alias === e);
+ if (!(d === void 0 && ((d = nc.find((p) => p.alias === e)), d === void 0))) {
+ if (r != null)
+ if (typeof r == 'object') {
+ let [p, m] = Object.entries(r)[0];
+ d[p] = m;
+ } else d.bgColor = r;
+ if (n != null)
+ if (typeof n == 'object') {
+ let [p, m] = Object.entries(n)[0];
+ d[p] = m;
+ } else d.fontColor = n;
+ if (i != null)
+ if (typeof i == 'object') {
+ let [p, m] = Object.entries(i)[0];
+ d[p] = m;
+ } else d.borderColor = i;
+ if (a != null)
+ if (typeof a == 'object') {
+ let [p, m] = Object.entries(a)[0];
+ d[p] = m;
+ } else d.shadowing = a;
+ if (s != null)
+ if (typeof s == 'object') {
+ let [p, m] = Object.entries(s)[0];
+ d[p] = m;
+ } else d.shape = s;
+ if (l != null)
+ if (typeof l == 'object') {
+ let [p, m] = Object.entries(l)[0];
+ d[p] = m;
+ } else d.sprite = l;
+ if (u != null)
+ if (typeof u == 'object') {
+ let [p, m] = Object.entries(u)[0];
+ d[p] = m;
+ } else d.techn = u;
+ if (h != null)
+ if (typeof h == 'object') {
+ let [p, m] = Object.entries(h)[0];
+ d[p] = m;
+ } else d.legendText = h;
+ if (f != null)
+ if (typeof f == 'object') {
+ let [p, m] = Object.entries(f)[0];
+ d[p] = m;
+ } else d.legendSprite = f;
+ }
+ }, 'updateElStyle')),
+ (e4e = o(function (t, e, r, n, i, a, s) {
+ let l = uy.find((u) => u.from === e && u.to === r);
+ if (l !== void 0) {
+ if (n != null)
+ if (typeof n == 'object') {
+ let [u, h] = Object.entries(n)[0];
+ l[u] = h;
+ } else l.textColor = n;
+ if (i != null)
+ if (typeof i == 'object') {
+ let [u, h] = Object.entries(i)[0];
+ l[u] = h;
+ } else l.lineColor = i;
+ if (a != null)
+ if (typeof a == 'object') {
+ let [u, h] = Object.entries(a)[0];
+ l[u] = parseInt(h);
+ } else l.offsetX = parseInt(a);
+ if (s != null)
+ if (typeof s == 'object') {
+ let [u, h] = Object.entries(s)[0];
+ l[u] = parseInt(h);
+ } else l.offsetY = parseInt(s);
+ }
+ }, 'updateRelStyle')),
+ (t4e = o(function (t, e, r) {
+ let n = L4,
+ i = D4;
+ if (typeof e == 'object') {
+ let a = Object.values(e)[0];
+ n = parseInt(a);
+ } else n = parseInt(e);
+ if (typeof r == 'object') {
+ let a = Object.values(r)[0];
+ i = parseInt(a);
+ } else i = parseInt(r);
+ n >= 1 && (L4 = n), i >= 1 && (D4 = i);
+ }, 'updateLayoutConfig')),
+ (r4e = o(function () {
+ return L4;
+ }, 'getC4ShapeInRow')),
+ (n4e = o(function () {
+ return D4;
+ }, 'getC4BoundaryInRow')),
+ (i4e = o(function () {
+ return ja;
+ }, 'getCurrentBoundaryParse')),
+ (a4e = o(function () {
+ return cl;
+ }, 'getParentBoundaryParse')),
+ (M$ = o(function (t) {
+ return t == null ? ul : ul.filter((e) => e.parentBoundary === t);
+ }, 'getC4ShapeArray')),
+ (s4e = o(function (t) {
+ return ul.find((e) => e.alias === t);
+ }, 'getC4Shape')),
+ (o4e = o(function (t) {
+ return Object.keys(M$(t));
+ }, 'getC4ShapeKeys')),
+ (I$ = o(function (t) {
+ return t == null ? nc : nc.filter((e) => e.parentBoundary === t);
+ }, 'getBoundaries')),
+ (l4e = I$),
+ (c4e = o(function () {
+ return uy;
+ }, 'getRels')),
+ (u4e = o(function () {
+ return sS;
+ }, 'getTitle')),
+ (h4e = o(function (t) {
+ oS = t;
+ }, 'setWrap')),
+ (xh = o(function () {
+ return oS;
+ }, 'autoWrap')),
+ (f4e = o(function () {
+ (ul = []),
+ (nc = [
+ {
+ alias: 'global',
+ label: { text: 'global' },
+ type: { text: 'global' },
+ tags: null,
+ link: null,
+ parentBoundary: ''
+ }
+ ]),
+ (cl = ''),
+ (ja = 'global'),
+ (vh = ['']),
+ (uy = []),
+ (vh = ['']),
+ (sS = ''),
+ (oS = !1),
+ (L4 = 4),
+ (D4 = 2);
+ }, 'clear')),
+ (d4e = {
+ SOLID: 0,
+ DOTTED: 1,
+ NOTE: 2,
+ SOLID_CROSS: 3,
+ DOTTED_CROSS: 4,
+ SOLID_OPEN: 5,
+ DOTTED_OPEN: 6,
+ LOOP_START: 10,
+ LOOP_END: 11,
+ ALT_START: 12,
+ ALT_ELSE: 13,
+ ALT_END: 14,
+ OPT_START: 15,
+ OPT_END: 16,
+ ACTIVE_START: 17,
+ ACTIVE_END: 18,
+ PAR_START: 19,
+ PAR_AND: 20,
+ PAR_END: 21,
+ RECT_START: 22,
+ RECT_END: 23,
+ SOLID_POINT: 24,
+ DOTTED_POINT: 25
+ }),
+ (p4e = { FILLED: 0, OPEN: 1 }),
+ (m4e = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }),
+ (g4e = o(function (t) {
+ sS = qr(t, de());
+ }, 'setTitle')),
+ (hy = {
+ addPersonOrSystem: Wbe,
+ addPersonOrSystemBoundary: jbe,
+ addContainer: qbe,
+ addContainerBoundary: Kbe,
+ addComponent: Xbe,
+ addDeploymentNode: Qbe,
+ popBoundaryParseStack: Zbe,
+ addRel: Ybe,
+ updateElStyle: Jbe,
+ updateRelStyle: e4e,
+ updateLayoutConfig: t4e,
+ autoWrap: xh,
+ setWrap: h4e,
+ getC4ShapeArray: M$,
+ getC4Shape: s4e,
+ getC4ShapeKeys: o4e,
+ getBoundaries: I$,
+ getBoundarys: l4e,
+ getCurrentBoundaryParse: i4e,
+ getParentBoundaryParse: a4e,
+ getRels: c4e,
+ getTitle: u4e,
+ getC4Type: Ube,
+ getC4ShapeInRow: r4e,
+ getC4BoundaryInRow: n4e,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ getConfig: o(() => de().c4, 'getConfig'),
+ clear: f4e,
+ LINETYPE: d4e,
+ ARROWTYPE: p4e,
+ PLACEMENT: m4e,
+ setTitle: g4e,
+ setC4Type: Hbe
+ });
+ });
+ function ed(t, e) {
+ return t == null || e == null ? NaN : t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN;
+ }
+ var cS = R(() => {
+ 'use strict';
+ o(ed, 'ascending');
+ });
+ function uS(t, e) {
+ return t == null || e == null ? NaN : e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
+ }
+ var O$ = R(() => {
+ 'use strict';
+ o(uS, 'descending');
+ });
+ function td(t) {
+ let e, r, n;
+ t.length !== 2
+ ? ((e = ed), (r = o((l, u) => ed(t(l), u), 'compare2')), (n = o((l, u) => t(l) - u, 'delta')))
+ : ((e = t === ed || t === uS ? t : y4e), (r = t), (n = t));
+ function i(l, u, h = 0, f = l.length) {
+ if (h < f) {
+ if (e(u, u) !== 0) return f;
+ do {
+ let d = (h + f) >>> 1;
+ r(l[d], u) < 0 ? (h = d + 1) : (f = d);
+ } while (h < f);
+ }
+ return h;
+ }
+ o(i, 'left');
+ function a(l, u, h = 0, f = l.length) {
+ if (h < f) {
+ if (e(u, u) !== 0) return f;
+ do {
+ let d = (h + f) >>> 1;
+ r(l[d], u) <= 0 ? (h = d + 1) : (f = d);
+ } while (h < f);
+ }
+ return h;
+ }
+ o(a, 'right');
+ function s(l, u, h = 0, f = l.length) {
+ let d = i(l, u, h, f - 1);
+ return d > h && n(l[d - 1], u) > -n(l[d], u) ? d - 1 : d;
+ }
+ return o(s, 'center'), { left: i, center: s, right: a };
+ }
+ function y4e() {
+ return 0;
+ }
+ var hS = R(() => {
+ 'use strict';
+ cS();
+ O$();
+ o(td, 'bisector');
+ o(y4e, 'zero');
+ });
+ function fS(t) {
+ return t === null ? NaN : +t;
+ }
+ var P$ = R(() => {
+ 'use strict';
+ o(fS, 'number');
+ });
+ var B$,
+ F$,
+ v4e,
+ x4e,
+ dS,
+ z$ = R(() => {
+ 'use strict';
+ cS();
+ hS();
+ P$();
+ (B$ = td(ed)), (F$ = B$.right), (v4e = B$.left), (x4e = td(fS).center), (dS = F$);
+ });
+ function G$({ _intern: t, _key: e }, r) {
+ let n = e(r);
+ return t.has(n) ? t.get(n) : r;
+ }
+ function b4e({ _intern: t, _key: e }, r) {
+ let n = e(r);
+ return t.has(n) ? t.get(n) : (t.set(n, r), r);
+ }
+ function w4e({ _intern: t, _key: e }, r) {
+ let n = e(r);
+ return t.has(n) && ((r = t.get(n)), t.delete(n)), r;
+ }
+ function T4e(t) {
+ return t !== null && typeof t == 'object' ? t.valueOf() : t;
+ }
+ var wp,
+ $$ = R(() => {
+ 'use strict';
+ wp = class extends Map {
+ static {
+ o(this, 'InternMap');
+ }
+ constructor(e, r = T4e) {
+ if (
+ (super(),
+ Object.defineProperties(this, {
+ _intern: { value: new Map() },
+ _key: { value: r }
+ }),
+ e != null)
+ )
+ for (let [n, i] of e) this.set(n, i);
+ }
+ get(e) {
+ return super.get(G$(this, e));
+ }
+ has(e) {
+ return super.has(G$(this, e));
+ }
+ set(e, r) {
+ return super.set(b4e(this, e), r);
+ }
+ delete(e) {
+ return super.delete(w4e(this, e));
+ }
+ };
+ o(G$, 'intern_get');
+ o(b4e, 'intern_set');
+ o(w4e, 'intern_delete');
+ o(T4e, 'keyof');
+ });
+ function R4(t, e, r) {
+ let n = (e - t) / Math.max(0, r),
+ i = Math.floor(Math.log10(n)),
+ a = n / Math.pow(10, i),
+ s = a >= k4e ? 10 : a >= E4e ? 5 : a >= C4e ? 2 : 1,
+ l,
+ u,
+ h;
+ return (
+ i < 0
+ ? ((h = Math.pow(10, -i) / s),
+ (l = Math.round(t * h)),
+ (u = Math.round(e * h)),
+ l / h < t && ++l,
+ u / h > e && --u,
+ (h = -h))
+ : ((h = Math.pow(10, i) * s),
+ (l = Math.round(t / h)),
+ (u = Math.round(e / h)),
+ l * h < t && ++l,
+ u * h > e && --u),
+ u < l && 0.5 <= r && r < 2 ? R4(t, e, r * 2) : [l, u, h]
+ );
+ }
+ function N4(t, e, r) {
+ if (((e = +e), (t = +t), (r = +r), !(r > 0))) return [];
+ if (t === e) return [t];
+ let n = e < t,
+ [i, a, s] = n ? R4(e, t, r) : R4(t, e, r);
+ if (!(a >= i)) return [];
+ let l = a - i + 1,
+ u = new Array(l);
+ if (n)
+ if (s < 0) for (let h = 0; h < l; ++h) u[h] = (a - h) / -s;
+ else for (let h = 0; h < l; ++h) u[h] = (a - h) * s;
+ else if (s < 0) for (let h = 0; h < l; ++h) u[h] = (i + h) / -s;
+ else for (let h = 0; h < l; ++h) u[h] = (i + h) * s;
+ return u;
+ }
+ function fy(t, e, r) {
+ return (e = +e), (t = +t), (r = +r), R4(t, e, r)[2];
+ }
+ function Tp(t, e, r) {
+ (e = +e), (t = +t), (r = +r);
+ let n = e < t,
+ i = n ? fy(e, t, r) : fy(t, e, r);
+ return (n ? -1 : 1) * (i < 0 ? 1 / -i : i);
+ }
+ var k4e,
+ E4e,
+ C4e,
+ V$ = R(() => {
+ 'use strict';
+ (k4e = Math.sqrt(50)), (E4e = Math.sqrt(10)), (C4e = Math.sqrt(2));
+ o(R4, 'tickSpec');
+ o(N4, 'ticks');
+ o(fy, 'tickIncrement');
+ o(Tp, 'tickStep');
+ });
+ function M4(t, e) {
+ let r;
+ if (e === void 0) for (let n of t) n != null && (r < n || (r === void 0 && n >= n)) && (r = n);
+ else {
+ let n = -1;
+ for (let i of t) (i = e(i, ++n, t)) != null && (r < i || (r === void 0 && i >= i)) && (r = i);
+ }
+ return r;
+ }
+ var U$ = R(() => {
+ 'use strict';
+ o(M4, 'max');
+ });
+ function I4(t, e) {
+ let r;
+ if (e === void 0) for (let n of t) n != null && (r > n || (r === void 0 && n >= n)) && (r = n);
+ else {
+ let n = -1;
+ for (let i of t) (i = e(i, ++n, t)) != null && (r > i || (r === void 0 && i >= i)) && (r = i);
+ }
+ return r;
+ }
+ var H$ = R(() => {
+ 'use strict';
+ o(I4, 'min');
+ });
+ function O4(t, e, r) {
+ (t = +t), (e = +e), (r = (i = arguments.length) < 2 ? ((e = t), (t = 0), 1) : i < 3 ? 1 : +r);
+ for (var n = -1, i = Math.max(0, Math.ceil((e - t) / r)) | 0, a = new Array(i); ++n < i; ) a[n] = t + n * r;
+ return a;
+ }
+ var Y$ = R(() => {
+ 'use strict';
+ o(O4, 'range');
+ });
+ var bh = R(() => {
+ 'use strict';
+ z$();
+ hS();
+ U$();
+ H$();
+ Y$();
+ V$();
+ $$();
+ });
+ function pS(t) {
+ return t;
+ }
+ var W$ = R(() => {
+ 'use strict';
+ o(pS, 'default');
+ });
+ function S4e(t) {
+ return 'translate(' + t + ',0)';
+ }
+ function A4e(t) {
+ return 'translate(0,' + t + ')';
+ }
+ function _4e(t) {
+ return (e) => +t(e);
+ }
+ function L4e(t, e) {
+ return (e = Math.max(0, t.bandwidth() - e * 2) / 2), t.round() && (e = Math.round(e)), (r) => +t(r) + e;
+ }
+ function D4e() {
+ return !this.__axis;
+ }
+ function X$(t, e) {
+ var r = [],
+ n = null,
+ i = null,
+ a = 6,
+ s = 6,
+ l = 3,
+ u = typeof window < 'u' && window.devicePixelRatio > 1 ? 0 : 0.5,
+ h = t === B4 || t === P4 ? -1 : 1,
+ f = t === P4 || t === mS ? 'x' : 'y',
+ d = t === B4 || t === gS ? S4e : A4e;
+ function p(m) {
+ var g = n ?? (e.ticks ? e.ticks.apply(e, r) : e.domain()),
+ y = i ?? (e.tickFormat ? e.tickFormat.apply(e, r) : pS),
+ v = Math.max(a, 0) + l,
+ x = e.range(),
+ b = +x[0] + u,
+ w = +x[x.length - 1] + u,
+ S = (e.bandwidth ? L4e : _4e)(e.copy(), u),
+ T = m.selection ? m.selection() : m,
+ E = T.selectAll('.domain').data([null]),
+ _ = T.selectAll('.tick').data(g, e).order(),
+ A = _.exit(),
+ L = _.enter().append('g').attr('class', 'tick'),
+ M = _.select('line'),
+ N = _.select('text');
+ (E = E.merge(E.enter().insert('path', '.tick').attr('class', 'domain').attr('stroke', 'currentColor'))),
+ (_ = _.merge(L)),
+ (M = M.merge(
+ L.append('line')
+ .attr('stroke', 'currentColor')
+ .attr(f + '2', h * a)
+ )),
+ (N = N.merge(
+ L.append('text')
+ .attr('fill', 'currentColor')
+ .attr(f, h * v)
+ .attr('dy', t === B4 ? '0em' : t === gS ? '0.71em' : '0.32em')
+ )),
+ m !== T &&
+ ((E = E.transition(m)),
+ (_ = _.transition(m)),
+ (M = M.transition(m)),
+ (N = N.transition(m)),
+ (A = A.transition(m)
+ .attr('opacity', q$)
+ .attr('transform', function (k) {
+ return isFinite((k = S(k))) ? d(k + u) : this.getAttribute('transform');
+ })),
+ L.attr('opacity', q$).attr('transform', function (k) {
+ var I = this.parentNode.__axis;
+ return d((I && isFinite((I = I(k))) ? I : S(k)) + u);
+ })),
+ A.remove(),
+ E.attr(
+ 'd',
+ t === P4 || t === mS
+ ? s
+ ? 'M' + h * s + ',' + b + 'H' + u + 'V' + w + 'H' + h * s
+ : 'M' + u + ',' + b + 'V' + w
+ : s
+ ? 'M' + b + ',' + h * s + 'V' + u + 'H' + w + 'V' + h * s
+ : 'M' + b + ',' + u + 'H' + w
+ ),
+ _.attr('opacity', 1).attr('transform', function (k) {
+ return d(S(k) + u);
+ }),
+ M.attr(f + '2', h * a),
+ N.attr(f, h * v).text(y),
+ T.filter(D4e)
+ .attr('fill', 'none')
+ .attr('font-size', 10)
+ .attr('font-family', 'sans-serif')
+ .attr('text-anchor', t === mS ? 'start' : t === P4 ? 'end' : 'middle'),
+ T.each(function () {
+ this.__axis = S;
+ });
+ }
+ return (
+ o(p, 'axis'),
+ (p.scale = function (m) {
+ return arguments.length ? ((e = m), p) : e;
+ }),
+ (p.ticks = function () {
+ return (r = Array.from(arguments)), p;
+ }),
+ (p.tickArguments = function (m) {
+ return arguments.length ? ((r = m == null ? [] : Array.from(m)), p) : r.slice();
+ }),
+ (p.tickValues = function (m) {
+ return arguments.length ? ((n = m == null ? null : Array.from(m)), p) : n && n.slice();
+ }),
+ (p.tickFormat = function (m) {
+ return arguments.length ? ((i = m), p) : i;
+ }),
+ (p.tickSize = function (m) {
+ return arguments.length ? ((a = s = +m), p) : a;
+ }),
+ (p.tickSizeInner = function (m) {
+ return arguments.length ? ((a = +m), p) : a;
+ }),
+ (p.tickSizeOuter = function (m) {
+ return arguments.length ? ((s = +m), p) : s;
+ }),
+ (p.tickPadding = function (m) {
+ return arguments.length ? ((l = +m), p) : l;
+ }),
+ (p.offset = function (m) {
+ return arguments.length ? ((u = +m), p) : u;
+ }),
+ p
+ );
+ }
+ function yS(t) {
+ return X$(B4, t);
+ }
+ function vS(t) {
+ return X$(gS, t);
+ }
+ var B4,
+ mS,
+ gS,
+ P4,
+ q$,
+ j$ = R(() => {
+ 'use strict';
+ W$();
+ (B4 = 1), (mS = 2), (gS = 3), (P4 = 4), (q$ = 1e-6);
+ o(S4e, 'translateX');
+ o(A4e, 'translateY');
+ o(_4e, 'number');
+ o(L4e, 'center');
+ o(D4e, 'entering');
+ o(X$, 'axis');
+ o(yS, 'axisTop');
+ o(vS, 'axisBottom');
+ });
+ var K$ = R(() => {
+ 'use strict';
+ j$();
+ });
+ function Z$() {
+ for (var t = 0, e = arguments.length, r = {}, n; t < e; ++t) {
+ if (!(n = arguments[t] + '') || n in r || /[\s.]/.test(n)) throw new Error('illegal type: ' + n);
+ r[n] = [];
+ }
+ return new F4(r);
+ }
+ function F4(t) {
+ this._ = t;
+ }
+ function N4e(t, e) {
+ return t
+ .trim()
+ .split(/^|\s+/)
+ .map(function (r) {
+ var n = '',
+ i = r.indexOf('.');
+ if ((i >= 0 && ((n = r.slice(i + 1)), (r = r.slice(0, i))), r && !e.hasOwnProperty(r)))
+ throw new Error('unknown type: ' + r);
+ return { type: r, name: n };
+ });
+ }
+ function M4e(t, e) {
+ for (var r = 0, n = t.length, i; r < n; ++r) if ((i = t[r]).name === e) return i.value;
+ }
+ function Q$(t, e, r) {
+ for (var n = 0, i = t.length; n < i; ++n)
+ if (t[n].name === e) {
+ (t[n] = R4e), (t = t.slice(0, n).concat(t.slice(n + 1)));
+ break;
+ }
+ return r != null && t.push({ name: e, value: r }), t;
+ }
+ var R4e,
+ xS,
+ J$ = R(() => {
+ 'use strict';
+ R4e = { value: o(() => {}, 'value') };
+ o(Z$, 'dispatch');
+ o(F4, 'Dispatch');
+ o(N4e, 'parseTypenames');
+ F4.prototype = Z$.prototype = {
+ constructor: F4,
+ on: o(function (t, e) {
+ var r = this._,
+ n = N4e(t + '', r),
+ i,
+ a = -1,
+ s = n.length;
+ if (arguments.length < 2) {
+ for (; ++a < s; ) if ((i = (t = n[a]).type) && (i = M4e(r[i], t.name))) return i;
+ return;
+ }
+ if (e != null && typeof e != 'function') throw new Error('invalid callback: ' + e);
+ for (; ++a < s; )
+ if ((i = (t = n[a]).type)) r[i] = Q$(r[i], t.name, e);
+ else if (e == null) for (i in r) r[i] = Q$(r[i], t.name, null);
+ return this;
+ }, 'on'),
+ copy: o(function () {
+ var t = {},
+ e = this._;
+ for (var r in e) t[r] = e[r].slice();
+ return new F4(t);
+ }, 'copy'),
+ call: o(function (t, e) {
+ if ((i = arguments.length - 2) > 0)
+ for (var r = new Array(i), n = 0, i, a; n < i; ++n) r[n] = arguments[n + 2];
+ if (!this._.hasOwnProperty(t)) throw new Error('unknown type: ' + t);
+ for (a = this._[t], n = 0, i = a.length; n < i; ++n) a[n].value.apply(e, r);
+ }, 'call'),
+ apply: o(function (t, e, r) {
+ if (!this._.hasOwnProperty(t)) throw new Error('unknown type: ' + t);
+ for (var n = this._[t], i = 0, a = n.length; i < a; ++i) n[i].value.apply(e, r);
+ }, 'apply')
+ };
+ o(M4e, 'get');
+ o(Q$, 'set');
+ xS = Z$;
+ });
+ var bS = R(() => {
+ 'use strict';
+ J$();
+ });
+ var z4,
+ wS,
+ TS = R(() => {
+ 'use strict';
+ (z4 = 'http://www.w3.org/1999/xhtml'),
+ (wS = {
+ svg: 'http://www.w3.org/2000/svg',
+ xhtml: z4,
+ xlink: 'http://www.w3.org/1999/xlink',
+ xml: 'http://www.w3.org/XML/1998/namespace',
+ xmlns: 'http://www.w3.org/2000/xmlns/'
+ });
+ });
+ function ic(t) {
+ var e = (t += ''),
+ r = e.indexOf(':');
+ return (
+ r >= 0 && (e = t.slice(0, r)) !== 'xmlns' && (t = t.slice(r + 1)),
+ wS.hasOwnProperty(e) ? { space: wS[e], local: t } : t
+ );
+ }
+ var G4 = R(() => {
+ 'use strict';
+ TS();
+ o(ic, 'default');
+ });
+ function I4e(t) {
+ return function () {
+ var e = this.ownerDocument,
+ r = this.namespaceURI;
+ return r === z4 && e.documentElement.namespaceURI === z4 ? e.createElement(t) : e.createElementNS(r, t);
+ };
+ }
+ function O4e(t) {
+ return function () {
+ return this.ownerDocument.createElementNS(t.space, t.local);
+ };
+ }
+ function dy(t) {
+ var e = ic(t);
+ return (e.local ? O4e : I4e)(e);
+ }
+ var kS = R(() => {
+ 'use strict';
+ G4();
+ TS();
+ o(I4e, 'creatorInherit');
+ o(O4e, 'creatorFixed');
+ o(dy, 'default');
+ });
+ function P4e() {}
+ function wh(t) {
+ return t == null
+ ? P4e
+ : function () {
+ return this.querySelector(t);
+ };
+ }
+ var $4 = R(() => {
+ 'use strict';
+ o(P4e, 'none');
+ o(wh, 'default');
+ });
+ function ES(t) {
+ typeof t != 'function' && (t = wh(t));
+ for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i)
+ for (var a = e[i], s = a.length, l = (n[i] = new Array(s)), u, h, f = 0; f < s; ++f)
+ (u = a[f]) &&
+ (h = t.call(u, u.__data__, f, a)) &&
+ ('__data__' in u && (h.__data__ = u.__data__), (l[f] = h));
+ return new Zn(n, this._parents);
+ }
+ var eV = R(() => {
+ 'use strict';
+ hl();
+ $4();
+ o(ES, 'default');
+ });
+ function CS(t) {
+ return t == null ? [] : Array.isArray(t) ? t : Array.from(t);
+ }
+ var tV = R(() => {
+ 'use strict';
+ o(CS, 'array');
+ });
+ function B4e() {
+ return [];
+ }
+ function kp(t) {
+ return t == null
+ ? B4e
+ : function () {
+ return this.querySelectorAll(t);
+ };
+ }
+ var SS = R(() => {
+ 'use strict';
+ o(B4e, 'empty');
+ o(kp, 'default');
+ });
+ function F4e(t) {
+ return function () {
+ return CS(t.apply(this, arguments));
+ };
+ }
+ function AS(t) {
+ typeof t == 'function' ? (t = F4e(t)) : (t = kp(t));
+ for (var e = this._groups, r = e.length, n = [], i = [], a = 0; a < r; ++a)
+ for (var s = e[a], l = s.length, u, h = 0; h < l; ++h)
+ (u = s[h]) && (n.push(t.call(u, u.__data__, h, s)), i.push(u));
+ return new Zn(n, i);
+ }
+ var rV = R(() => {
+ 'use strict';
+ hl();
+ tV();
+ SS();
+ o(F4e, 'arrayAll');
+ o(AS, 'default');
+ });
+ function Ep(t) {
+ return function () {
+ return this.matches(t);
+ };
+ }
+ function V4(t) {
+ return function (e) {
+ return e.matches(t);
+ };
+ }
+ var py = R(() => {
+ 'use strict';
+ o(Ep, 'default');
+ o(V4, 'childMatcher');
+ });
+ function G4e(t) {
+ return function () {
+ return z4e.call(this.children, t);
+ };
+ }
+ function $4e() {
+ return this.firstElementChild;
+ }
+ function _S(t) {
+ return this.select(t == null ? $4e : G4e(typeof t == 'function' ? t : V4(t)));
+ }
+ var z4e,
+ nV = R(() => {
+ 'use strict';
+ py();
+ z4e = Array.prototype.find;
+ o(G4e, 'childFind');
+ o($4e, 'childFirst');
+ o(_S, 'default');
+ });
+ function U4e() {
+ return Array.from(this.children);
+ }
+ function H4e(t) {
+ return function () {
+ return V4e.call(this.children, t);
+ };
+ }
+ function LS(t) {
+ return this.selectAll(t == null ? U4e : H4e(typeof t == 'function' ? t : V4(t)));
+ }
+ var V4e,
+ iV = R(() => {
+ 'use strict';
+ py();
+ V4e = Array.prototype.filter;
+ o(U4e, 'children');
+ o(H4e, 'childrenFilter');
+ o(LS, 'default');
+ });
+ function DS(t) {
+ typeof t != 'function' && (t = Ep(t));
+ for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i)
+ for (var a = e[i], s = a.length, l = (n[i] = []), u, h = 0; h < s; ++h)
+ (u = a[h]) && t.call(u, u.__data__, h, a) && l.push(u);
+ return new Zn(n, this._parents);
+ }
+ var aV = R(() => {
+ 'use strict';
+ hl();
+ py();
+ o(DS, 'default');
+ });
+ function my(t) {
+ return new Array(t.length);
+ }
+ var RS = R(() => {
+ 'use strict';
+ o(my, 'default');
+ });
+ function NS() {
+ return new Zn(this._enter || this._groups.map(my), this._parents);
+ }
+ function gy(t, e) {
+ (this.ownerDocument = t.ownerDocument),
+ (this.namespaceURI = t.namespaceURI),
+ (this._next = null),
+ (this._parent = t),
+ (this.__data__ = e);
+ }
+ var MS = R(() => {
+ 'use strict';
+ RS();
+ hl();
+ o(NS, 'default');
+ o(gy, 'EnterNode');
+ gy.prototype = {
+ constructor: gy,
+ appendChild: o(function (t) {
+ return this._parent.insertBefore(t, this._next);
+ }, 'appendChild'),
+ insertBefore: o(function (t, e) {
+ return this._parent.insertBefore(t, e);
+ }, 'insertBefore'),
+ querySelector: o(function (t) {
+ return this._parent.querySelector(t);
+ }, 'querySelector'),
+ querySelectorAll: o(function (t) {
+ return this._parent.querySelectorAll(t);
+ }, 'querySelectorAll')
+ };
+ });
+ function IS(t) {
+ return function () {
+ return t;
+ };
+ }
+ var sV = R(() => {
+ 'use strict';
+ o(IS, 'default');
+ });
+ function Y4e(t, e, r, n, i, a) {
+ for (var s = 0, l, u = e.length, h = a.length; s < h; ++s)
+ (l = e[s]) ? ((l.__data__ = a[s]), (n[s] = l)) : (r[s] = new gy(t, a[s]));
+ for (; s < u; ++s) (l = e[s]) && (i[s] = l);
+ }
+ function W4e(t, e, r, n, i, a, s) {
+ var l,
+ u,
+ h = new Map(),
+ f = e.length,
+ d = a.length,
+ p = new Array(f),
+ m;
+ for (l = 0; l < f; ++l)
+ (u = e[l]) && ((p[l] = m = s.call(u, u.__data__, l, e) + ''), h.has(m) ? (i[l] = u) : h.set(m, u));
+ for (l = 0; l < d; ++l)
+ (m = s.call(t, a[l], l, a) + ''),
+ (u = h.get(m)) ? ((n[l] = u), (u.__data__ = a[l]), h.delete(m)) : (r[l] = new gy(t, a[l]));
+ for (l = 0; l < f; ++l) (u = e[l]) && h.get(p[l]) === u && (i[l] = u);
+ }
+ function q4e(t) {
+ return t.__data__;
+ }
+ function OS(t, e) {
+ if (!arguments.length) return Array.from(this, q4e);
+ var r = e ? W4e : Y4e,
+ n = this._parents,
+ i = this._groups;
+ typeof t != 'function' && (t = IS(t));
+ for (var a = i.length, s = new Array(a), l = new Array(a), u = new Array(a), h = 0; h < a; ++h) {
+ var f = n[h],
+ d = i[h],
+ p = d.length,
+ m = X4e(t.call(f, f && f.__data__, h, n)),
+ g = m.length,
+ y = (l[h] = new Array(g)),
+ v = (s[h] = new Array(g)),
+ x = (u[h] = new Array(p));
+ r(f, d, y, v, x, m, e);
+ for (var b = 0, w = 0, S, T; b < g; ++b)
+ if ((S = y[b])) {
+ for (b >= w && (w = b + 1); !(T = v[w]) && ++w < g; );
+ S._next = T || null;
+ }
+ }
+ return (s = new Zn(s, n)), (s._enter = l), (s._exit = u), s;
+ }
+ function X4e(t) {
+ return typeof t == 'object' && 'length' in t ? t : Array.from(t);
+ }
+ var oV = R(() => {
+ 'use strict';
+ hl();
+ MS();
+ sV();
+ o(Y4e, 'bindIndex');
+ o(W4e, 'bindKey');
+ o(q4e, 'datum');
+ o(OS, 'default');
+ o(X4e, 'arraylike');
+ });
+ function PS() {
+ return new Zn(this._exit || this._groups.map(my), this._parents);
+ }
+ var lV = R(() => {
+ 'use strict';
+ RS();
+ hl();
+ o(PS, 'default');
+ });
+ function BS(t, e, r) {
+ var n = this.enter(),
+ i = this,
+ a = this.exit();
+ return (
+ typeof t == 'function' ? ((n = t(n)), n && (n = n.selection())) : (n = n.append(t + '')),
+ e != null && ((i = e(i)), i && (i = i.selection())),
+ r == null ? a.remove() : r(a),
+ n && i ? n.merge(i).order() : i
+ );
+ }
+ var cV = R(() => {
+ 'use strict';
+ o(BS, 'default');
+ });
+ function FS(t) {
+ for (
+ var e = t.selection ? t.selection() : t,
+ r = this._groups,
+ n = e._groups,
+ i = r.length,
+ a = n.length,
+ s = Math.min(i, a),
+ l = new Array(i),
+ u = 0;
+ u < s;
+ ++u
+ )
+ for (var h = r[u], f = n[u], d = h.length, p = (l[u] = new Array(d)), m, g = 0; g < d; ++g)
+ (m = h[g] || f[g]) && (p[g] = m);
+ for (; u < i; ++u) l[u] = r[u];
+ return new Zn(l, this._parents);
+ }
+ var uV = R(() => {
+ 'use strict';
+ hl();
+ o(FS, 'default');
+ });
+ function zS() {
+ for (var t = this._groups, e = -1, r = t.length; ++e < r; )
+ for (var n = t[e], i = n.length - 1, a = n[i], s; --i >= 0; )
+ (s = n[i]) && (a && s.compareDocumentPosition(a) ^ 4 && a.parentNode.insertBefore(s, a), (a = s));
+ return this;
+ }
+ var hV = R(() => {
+ 'use strict';
+ o(zS, 'default');
+ });
+ function GS(t) {
+ t || (t = j4e);
+ function e(d, p) {
+ return d && p ? t(d.__data__, p.__data__) : !d - !p;
+ }
+ o(e, 'compareNode');
+ for (var r = this._groups, n = r.length, i = new Array(n), a = 0; a < n; ++a) {
+ for (var s = r[a], l = s.length, u = (i[a] = new Array(l)), h, f = 0; f < l; ++f) (h = s[f]) && (u[f] = h);
+ u.sort(e);
+ }
+ return new Zn(i, this._parents).order();
+ }
+ function j4e(t, e) {
+ return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN;
+ }
+ var fV = R(() => {
+ 'use strict';
+ hl();
+ o(GS, 'default');
+ o(j4e, 'ascending');
+ });
+ function $S() {
+ var t = arguments[0];
+ return (arguments[0] = this), t.apply(null, arguments), this;
+ }
+ var dV = R(() => {
+ 'use strict';
+ o($S, 'default');
+ });
+ function VS() {
+ return Array.from(this);
+ }
+ var pV = R(() => {
+ 'use strict';
+ o(VS, 'default');
+ });
+ function US() {
+ for (var t = this._groups, e = 0, r = t.length; e < r; ++e)
+ for (var n = t[e], i = 0, a = n.length; i < a; ++i) {
+ var s = n[i];
+ if (s) return s;
+ }
+ return null;
+ }
+ var mV = R(() => {
+ 'use strict';
+ o(US, 'default');
+ });
+ function HS() {
+ let t = 0;
+ for (let e of this) ++t;
+ return t;
+ }
+ var gV = R(() => {
+ 'use strict';
+ o(HS, 'default');
+ });
+ function YS() {
+ return !this.node();
+ }
+ var yV = R(() => {
+ 'use strict';
+ o(YS, 'default');
+ });
+ function WS(t) {
+ for (var e = this._groups, r = 0, n = e.length; r < n; ++r)
+ for (var i = e[r], a = 0, s = i.length, l; a < s; ++a) (l = i[a]) && t.call(l, l.__data__, a, i);
+ return this;
+ }
+ var vV = R(() => {
+ 'use strict';
+ o(WS, 'default');
+ });
+ function K4e(t) {
+ return function () {
+ this.removeAttribute(t);
+ };
+ }
+ function Q4e(t) {
+ return function () {
+ this.removeAttributeNS(t.space, t.local);
+ };
+ }
+ function Z4e(t, e) {
+ return function () {
+ this.setAttribute(t, e);
+ };
+ }
+ function J4e(t, e) {
+ return function () {
+ this.setAttributeNS(t.space, t.local, e);
+ };
+ }
+ function e3e(t, e) {
+ return function () {
+ var r = e.apply(this, arguments);
+ r == null ? this.removeAttribute(t) : this.setAttribute(t, r);
+ };
+ }
+ function t3e(t, e) {
+ return function () {
+ var r = e.apply(this, arguments);
+ r == null ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, r);
+ };
+ }
+ function qS(t, e) {
+ var r = ic(t);
+ if (arguments.length < 2) {
+ var n = this.node();
+ return r.local ? n.getAttributeNS(r.space, r.local) : n.getAttribute(r);
+ }
+ return this.each(
+ (e == null ? (r.local ? Q4e : K4e) : typeof e == 'function' ? (r.local ? t3e : e3e) : r.local ? J4e : Z4e)(
+ r,
+ e
+ )
+ );
+ }
+ var xV = R(() => {
+ 'use strict';
+ G4();
+ o(K4e, 'attrRemove');
+ o(Q4e, 'attrRemoveNS');
+ o(Z4e, 'attrConstant');
+ o(J4e, 'attrConstantNS');
+ o(e3e, 'attrFunction');
+ o(t3e, 'attrFunctionNS');
+ o(qS, 'default');
+ });
+ function yy(t) {
+ return (t.ownerDocument && t.ownerDocument.defaultView) || (t.document && t) || t.defaultView;
+ }
+ var XS = R(() => {
+ 'use strict';
+ o(yy, 'default');
+ });
+ function r3e(t) {
+ return function () {
+ this.style.removeProperty(t);
+ };
+ }
+ function n3e(t, e, r) {
+ return function () {
+ this.style.setProperty(t, e, r);
+ };
+ }
+ function i3e(t, e, r) {
+ return function () {
+ var n = e.apply(this, arguments);
+ n == null ? this.style.removeProperty(t) : this.style.setProperty(t, n, r);
+ };
+ }
+ function jS(t, e, r) {
+ return arguments.length > 1
+ ? this.each((e == null ? r3e : typeof e == 'function' ? i3e : n3e)(t, e, r ?? ''))
+ : Th(this.node(), t);
+ }
+ function Th(t, e) {
+ return t.style.getPropertyValue(e) || yy(t).getComputedStyle(t, null).getPropertyValue(e);
+ }
+ var KS = R(() => {
+ 'use strict';
+ XS();
+ o(r3e, 'styleRemove');
+ o(n3e, 'styleConstant');
+ o(i3e, 'styleFunction');
+ o(jS, 'default');
+ o(Th, 'styleValue');
+ });
+ function a3e(t) {
+ return function () {
+ delete this[t];
+ };
+ }
+ function s3e(t, e) {
+ return function () {
+ this[t] = e;
+ };
+ }
+ function o3e(t, e) {
+ return function () {
+ var r = e.apply(this, arguments);
+ r == null ? delete this[t] : (this[t] = r);
+ };
+ }
+ function QS(t, e) {
+ return arguments.length > 1
+ ? this.each((e == null ? a3e : typeof e == 'function' ? o3e : s3e)(t, e))
+ : this.node()[t];
+ }
+ var bV = R(() => {
+ 'use strict';
+ o(a3e, 'propertyRemove');
+ o(s3e, 'propertyConstant');
+ o(o3e, 'propertyFunction');
+ o(QS, 'default');
+ });
+ function wV(t) {
+ return t.trim().split(/^|\s+/);
+ }
+ function ZS(t) {
+ return t.classList || new TV(t);
+ }
+ function TV(t) {
+ (this._node = t), (this._names = wV(t.getAttribute('class') || ''));
+ }
+ function kV(t, e) {
+ for (var r = ZS(t), n = -1, i = e.length; ++n < i; ) r.add(e[n]);
+ }
+ function EV(t, e) {
+ for (var r = ZS(t), n = -1, i = e.length; ++n < i; ) r.remove(e[n]);
+ }
+ function l3e(t) {
+ return function () {
+ kV(this, t);
+ };
+ }
+ function c3e(t) {
+ return function () {
+ EV(this, t);
+ };
+ }
+ function u3e(t, e) {
+ return function () {
+ (e.apply(this, arguments) ? kV : EV)(this, t);
+ };
+ }
+ function JS(t, e) {
+ var r = wV(t + '');
+ if (arguments.length < 2) {
+ for (var n = ZS(this.node()), i = -1, a = r.length; ++i < a; ) if (!n.contains(r[i])) return !1;
+ return !0;
+ }
+ return this.each((typeof e == 'function' ? u3e : e ? l3e : c3e)(r, e));
+ }
+ var CV = R(() => {
+ 'use strict';
+ o(wV, 'classArray');
+ o(ZS, 'classList');
+ o(TV, 'ClassList');
+ TV.prototype = {
+ add: o(function (t) {
+ var e = this._names.indexOf(t);
+ e < 0 && (this._names.push(t), this._node.setAttribute('class', this._names.join(' ')));
+ }, 'add'),
+ remove: o(function (t) {
+ var e = this._names.indexOf(t);
+ e >= 0 && (this._names.splice(e, 1), this._node.setAttribute('class', this._names.join(' ')));
+ }, 'remove'),
+ contains: o(function (t) {
+ return this._names.indexOf(t) >= 0;
+ }, 'contains')
+ };
+ o(kV, 'classedAdd');
+ o(EV, 'classedRemove');
+ o(l3e, 'classedTrue');
+ o(c3e, 'classedFalse');
+ o(u3e, 'classedFunction');
+ o(JS, 'default');
+ });
+ function h3e() {
+ this.textContent = '';
+ }
+ function f3e(t) {
+ return function () {
+ this.textContent = t;
+ };
+ }
+ function d3e(t) {
+ return function () {
+ var e = t.apply(this, arguments);
+ this.textContent = e ?? '';
+ };
+ }
+ function eA(t) {
+ return arguments.length
+ ? this.each(t == null ? h3e : (typeof t == 'function' ? d3e : f3e)(t))
+ : this.node().textContent;
+ }
+ var SV = R(() => {
+ 'use strict';
+ o(h3e, 'textRemove');
+ o(f3e, 'textConstant');
+ o(d3e, 'textFunction');
+ o(eA, 'default');
+ });
+ function p3e() {
+ this.innerHTML = '';
+ }
+ function m3e(t) {
+ return function () {
+ this.innerHTML = t;
+ };
+ }
+ function g3e(t) {
+ return function () {
+ var e = t.apply(this, arguments);
+ this.innerHTML = e ?? '';
+ };
+ }
+ function tA(t) {
+ return arguments.length
+ ? this.each(t == null ? p3e : (typeof t == 'function' ? g3e : m3e)(t))
+ : this.node().innerHTML;
+ }
+ var AV = R(() => {
+ 'use strict';
+ o(p3e, 'htmlRemove');
+ o(m3e, 'htmlConstant');
+ o(g3e, 'htmlFunction');
+ o(tA, 'default');
+ });
+ function y3e() {
+ this.nextSibling && this.parentNode.appendChild(this);
+ }
+ function rA() {
+ return this.each(y3e);
+ }
+ var _V = R(() => {
+ 'use strict';
+ o(y3e, 'raise');
+ o(rA, 'default');
+ });
+ function v3e() {
+ this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild);
+ }
+ function nA() {
+ return this.each(v3e);
+ }
+ var LV = R(() => {
+ 'use strict';
+ o(v3e, 'lower');
+ o(nA, 'default');
+ });
+ function iA(t) {
+ var e = typeof t == 'function' ? t : dy(t);
+ return this.select(function () {
+ return this.appendChild(e.apply(this, arguments));
+ });
+ }
+ var DV = R(() => {
+ 'use strict';
+ kS();
+ o(iA, 'default');
+ });
+ function x3e() {
+ return null;
+ }
+ function aA(t, e) {
+ var r = typeof t == 'function' ? t : dy(t),
+ n = e == null ? x3e : typeof e == 'function' ? e : wh(e);
+ return this.select(function () {
+ return this.insertBefore(r.apply(this, arguments), n.apply(this, arguments) || null);
+ });
+ }
+ var RV = R(() => {
+ 'use strict';
+ kS();
+ $4();
+ o(x3e, 'constantNull');
+ o(aA, 'default');
+ });
+ function b3e() {
+ var t = this.parentNode;
+ t && t.removeChild(this);
+ }
+ function sA() {
+ return this.each(b3e);
+ }
+ var NV = R(() => {
+ 'use strict';
+ o(b3e, 'remove');
+ o(sA, 'default');
+ });
+ function w3e() {
+ var t = this.cloneNode(!1),
+ e = this.parentNode;
+ return e ? e.insertBefore(t, this.nextSibling) : t;
+ }
+ function T3e() {
+ var t = this.cloneNode(!0),
+ e = this.parentNode;
+ return e ? e.insertBefore(t, this.nextSibling) : t;
+ }
+ function oA(t) {
+ return this.select(t ? T3e : w3e);
+ }
+ var MV = R(() => {
+ 'use strict';
+ o(w3e, 'selection_cloneShallow');
+ o(T3e, 'selection_cloneDeep');
+ o(oA, 'default');
+ });
+ function lA(t) {
+ return arguments.length ? this.property('__data__', t) : this.node().__data__;
+ }
+ var IV = R(() => {
+ 'use strict';
+ o(lA, 'default');
+ });
+ function k3e(t) {
+ return function (e) {
+ t.call(this, e, this.__data__);
+ };
+ }
+ function E3e(t) {
+ return t
+ .trim()
+ .split(/^|\s+/)
+ .map(function (e) {
+ var r = '',
+ n = e.indexOf('.');
+ return n >= 0 && ((r = e.slice(n + 1)), (e = e.slice(0, n))), { type: e, name: r };
+ });
+ }
+ function C3e(t) {
+ return function () {
+ var e = this.__on;
+ if (e) {
+ for (var r = 0, n = -1, i = e.length, a; r < i; ++r)
+ (a = e[r]),
+ (!t.type || a.type === t.type) && a.name === t.name
+ ? this.removeEventListener(a.type, a.listener, a.options)
+ : (e[++n] = a);
+ ++n ? (e.length = n) : delete this.__on;
+ }
+ };
+ }
+ function S3e(t, e, r) {
+ return function () {
+ var n = this.__on,
+ i,
+ a = k3e(e);
+ if (n) {
+ for (var s = 0, l = n.length; s < l; ++s)
+ if ((i = n[s]).type === t.type && i.name === t.name) {
+ this.removeEventListener(i.type, i.listener, i.options),
+ this.addEventListener(i.type, (i.listener = a), (i.options = r)),
+ (i.value = e);
+ return;
+ }
+ }
+ this.addEventListener(t.type, a, r),
+ (i = { type: t.type, name: t.name, value: e, listener: a, options: r }),
+ n ? n.push(i) : (this.__on = [i]);
+ };
+ }
+ function cA(t, e, r) {
+ var n = E3e(t + ''),
+ i,
+ a = n.length,
+ s;
+ if (arguments.length < 2) {
+ var l = this.node().__on;
+ if (l) {
+ for (var u = 0, h = l.length, f; u < h; ++u)
+ for (i = 0, f = l[u]; i < a; ++i)
+ if ((s = n[i]).type === f.type && s.name === f.name) return f.value;
+ }
+ return;
+ }
+ for (l = e ? S3e : C3e, i = 0; i < a; ++i) this.each(l(n[i], e, r));
+ return this;
+ }
+ var OV = R(() => {
+ 'use strict';
+ o(k3e, 'contextListener');
+ o(E3e, 'parseTypenames');
+ o(C3e, 'onRemove');
+ o(S3e, 'onAdd');
+ o(cA, 'default');
+ });
+ function PV(t, e, r) {
+ var n = yy(t),
+ i = n.CustomEvent;
+ typeof i == 'function'
+ ? (i = new i(e, r))
+ : ((i = n.document.createEvent('Event')),
+ r ? (i.initEvent(e, r.bubbles, r.cancelable), (i.detail = r.detail)) : i.initEvent(e, !1, !1)),
+ t.dispatchEvent(i);
+ }
+ function A3e(t, e) {
+ return function () {
+ return PV(this, t, e);
+ };
+ }
+ function _3e(t, e) {
+ return function () {
+ return PV(this, t, e.apply(this, arguments));
+ };
+ }
+ function uA(t, e) {
+ return this.each((typeof e == 'function' ? _3e : A3e)(t, e));
+ }
+ var BV = R(() => {
+ 'use strict';
+ XS();
+ o(PV, 'dispatchEvent');
+ o(A3e, 'dispatchConstant');
+ o(_3e, 'dispatchFunction');
+ o(uA, 'default');
+ });
+ function* hA() {
+ for (var t = this._groups, e = 0, r = t.length; e < r; ++e)
+ for (var n = t[e], i = 0, a = n.length, s; i < a; ++i) (s = n[i]) && (yield s);
+ }
+ var FV = R(() => {
+ 'use strict';
+ o(hA, 'default');
+ });
+ function Zn(t, e) {
+ (this._groups = t), (this._parents = e);
+ }
+ function zV() {
+ return new Zn([[document.documentElement]], fA);
+ }
+ function L3e() {
+ return this;
+ }
+ var fA,
+ cu,
+ hl = R(() => {
+ 'use strict';
+ eV();
+ rV();
+ nV();
+ iV();
+ aV();
+ oV();
+ MS();
+ lV();
+ cV();
+ uV();
+ hV();
+ fV();
+ dV();
+ pV();
+ mV();
+ gV();
+ yV();
+ vV();
+ xV();
+ KS();
+ bV();
+ CV();
+ SV();
+ AV();
+ _V();
+ LV();
+ DV();
+ RV();
+ NV();
+ MV();
+ IV();
+ OV();
+ BV();
+ FV();
+ fA = [null];
+ o(Zn, 'Selection');
+ o(zV, 'selection');
+ o(L3e, 'selection_selection');
+ Zn.prototype = zV.prototype = {
+ constructor: Zn,
+ select: ES,
+ selectAll: AS,
+ selectChild: _S,
+ selectChildren: LS,
+ filter: DS,
+ data: OS,
+ enter: NS,
+ exit: PS,
+ join: BS,
+ merge: FS,
+ selection: L3e,
+ order: zS,
+ sort: GS,
+ call: $S,
+ nodes: VS,
+ node: US,
+ size: HS,
+ empty: YS,
+ each: WS,
+ attr: qS,
+ style: jS,
+ property: QS,
+ classed: JS,
+ text: eA,
+ html: tA,
+ raise: rA,
+ lower: nA,
+ append: iA,
+ insert: aA,
+ remove: sA,
+ clone: oA,
+ datum: lA,
+ on: cA,
+ dispatch: uA,
+ [Symbol.iterator]: hA
+ };
+ cu = zV;
+ });
+ function $e(t) {
+ return typeof t == 'string'
+ ? new Zn([[document.querySelector(t)]], [document.documentElement])
+ : new Zn([[t]], fA);
+ }
+ var GV = R(() => {
+ 'use strict';
+ hl();
+ o($e, 'default');
+ });
+ var fl = R(() => {
+ 'use strict';
+ py();
+ G4();
+ GV();
+ hl();
+ $4();
+ SS();
+ KS();
+ });
+ var $V = R(() => {
+ 'use strict';
+ });
+ function kh(t, e, r) {
+ (t.prototype = e.prototype = r), (r.constructor = t);
+ }
+ function Cp(t, e) {
+ var r = Object.create(t.prototype);
+ for (var n in e) r[n] = e[n];
+ return r;
+ }
+ var dA = R(() => {
+ 'use strict';
+ o(kh, 'default');
+ o(Cp, 'extend');
+ });
+ function Eh() {}
+ function UV() {
+ return this.rgb().formatHex();
+ }
+ function B3e() {
+ return this.rgb().formatHex8();
+ }
+ function F3e() {
+ return KV(this).formatHsl();
+ }
+ function HV() {
+ return this.rgb().formatRgb();
+ }
+ function pl(t) {
+ var e, r;
+ return (
+ (t = (t + '').trim().toLowerCase()),
+ (e = D3e.exec(t))
+ ? ((r = e[1].length),
+ (e = parseInt(e[1], 16)),
+ r === 6
+ ? YV(e)
+ : r === 3
+ ? new la(
+ ((e >> 8) & 15) | ((e >> 4) & 240),
+ ((e >> 4) & 15) | (e & 240),
+ ((e & 15) << 4) | (e & 15),
+ 1
+ )
+ : r === 8
+ ? U4((e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, (e & 255) / 255)
+ : r === 4
+ ? U4(
+ ((e >> 12) & 15) | ((e >> 8) & 240),
+ ((e >> 8) & 15) | ((e >> 4) & 240),
+ ((e >> 4) & 15) | (e & 240),
+ (((e & 15) << 4) | (e & 15)) / 255
+ )
+ : null)
+ : (e = R3e.exec(t))
+ ? new la(e[1], e[2], e[3], 1)
+ : (e = N3e.exec(t))
+ ? new la((e[1] * 255) / 100, (e[2] * 255) / 100, (e[3] * 255) / 100, 1)
+ : (e = M3e.exec(t))
+ ? U4(e[1], e[2], e[3], e[4])
+ : (e = I3e.exec(t))
+ ? U4((e[1] * 255) / 100, (e[2] * 255) / 100, (e[3] * 255) / 100, e[4])
+ : (e = O3e.exec(t))
+ ? XV(e[1], e[2] / 100, e[3] / 100, 1)
+ : (e = P3e.exec(t))
+ ? XV(e[1], e[2] / 100, e[3] / 100, e[4])
+ : VV.hasOwnProperty(t)
+ ? YV(VV[t])
+ : t === 'transparent'
+ ? new la(NaN, NaN, NaN, 0)
+ : null
+ );
+ }
+ function YV(t) {
+ return new la((t >> 16) & 255, (t >> 8) & 255, t & 255, 1);
+ }
+ function U4(t, e, r, n) {
+ return n <= 0 && (t = e = r = NaN), new la(t, e, r, n);
+ }
+ function mA(t) {
+ return t instanceof Eh || (t = pl(t)), t ? ((t = t.rgb()), new la(t.r, t.g, t.b, t.opacity)) : new la();
+ }
+ function Ap(t, e, r, n) {
+ return arguments.length === 1 ? mA(t) : new la(t, e, r, n ?? 1);
+ }
+ function la(t, e, r, n) {
+ (this.r = +t), (this.g = +e), (this.b = +r), (this.opacity = +n);
+ }
+ function WV() {
+ return `#${rd(this.r)}${rd(this.g)}${rd(this.b)}`;
+ }
+ function z3e() {
+ return `#${rd(this.r)}${rd(this.g)}${rd(this.b)}${rd((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
+ }
+ function qV() {
+ let t = W4(this.opacity);
+ return `${t === 1 ? 'rgb(' : 'rgba('}${nd(this.r)}, ${nd(this.g)}, ${nd(this.b)}${t === 1 ? ')' : `, ${t})`}`;
+ }
+ function W4(t) {
+ return isNaN(t) ? 1 : Math.max(0, Math.min(1, t));
+ }
+ function nd(t) {
+ return Math.max(0, Math.min(255, Math.round(t) || 0));
+ }
+ function rd(t) {
+ return (t = nd(t)), (t < 16 ? '0' : '') + t.toString(16);
+ }
+ function XV(t, e, r, n) {
+ return n <= 0 ? (t = e = r = NaN) : r <= 0 || r >= 1 ? (t = e = NaN) : e <= 0 && (t = NaN), new dl(t, e, r, n);
+ }
+ function KV(t) {
+ if (t instanceof dl) return new dl(t.h, t.s, t.l, t.opacity);
+ if ((t instanceof Eh || (t = pl(t)), !t)) return new dl();
+ if (t instanceof dl) return t;
+ t = t.rgb();
+ var e = t.r / 255,
+ r = t.g / 255,
+ n = t.b / 255,
+ i = Math.min(e, r, n),
+ a = Math.max(e, r, n),
+ s = NaN,
+ l = a - i,
+ u = (a + i) / 2;
+ return (
+ l
+ ? (e === a ? (s = (r - n) / l + (r < n) * 6) : r === a ? (s = (n - e) / l + 2) : (s = (e - r) / l + 4),
+ (l /= u < 0.5 ? a + i : 2 - a - i),
+ (s *= 60))
+ : (l = u > 0 && u < 1 ? 0 : s),
+ new dl(s, l, u, t.opacity)
+ );
+ }
+ function QV(t, e, r, n) {
+ return arguments.length === 1 ? KV(t) : new dl(t, e, r, n ?? 1);
+ }
+ function dl(t, e, r, n) {
+ (this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n);
+ }
+ function jV(t) {
+ return (t = (t || 0) % 360), t < 0 ? t + 360 : t;
+ }
+ function H4(t) {
+ return Math.max(0, Math.min(1, t || 0));
+ }
+ function pA(t, e, r) {
+ return (t < 60 ? e + ((r - e) * t) / 60 : t < 180 ? r : t < 240 ? e + ((r - e) * (240 - t)) / 60 : e) * 255;
+ }
+ var vy,
+ Y4,
+ Sp,
+ xy,
+ ac,
+ D3e,
+ R3e,
+ N3e,
+ M3e,
+ I3e,
+ O3e,
+ P3e,
+ VV,
+ gA = R(() => {
+ 'use strict';
+ dA();
+ o(Eh, 'Color');
+ (vy = 0.7),
+ (Y4 = 1 / vy),
+ (Sp = '\\s*([+-]?\\d+)\\s*'),
+ (xy = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*'),
+ (ac = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*'),
+ (D3e = /^#([0-9a-f]{3,8})$/),
+ (R3e = new RegExp(`^rgb\\(${Sp},${Sp},${Sp}\\)$`)),
+ (N3e = new RegExp(`^rgb\\(${ac},${ac},${ac}\\)$`)),
+ (M3e = new RegExp(`^rgba\\(${Sp},${Sp},${Sp},${xy}\\)$`)),
+ (I3e = new RegExp(`^rgba\\(${ac},${ac},${ac},${xy}\\)$`)),
+ (O3e = new RegExp(`^hsl\\(${xy},${ac},${ac}\\)$`)),
+ (P3e = new RegExp(`^hsla\\(${xy},${ac},${ac},${xy}\\)$`)),
+ (VV = {
+ aliceblue: 15792383,
+ antiquewhite: 16444375,
+ aqua: 65535,
+ aquamarine: 8388564,
+ azure: 15794175,
+ beige: 16119260,
+ bisque: 16770244,
+ black: 0,
+ blanchedalmond: 16772045,
+ blue: 255,
+ blueviolet: 9055202,
+ brown: 10824234,
+ burlywood: 14596231,
+ cadetblue: 6266528,
+ chartreuse: 8388352,
+ chocolate: 13789470,
+ coral: 16744272,
+ cornflowerblue: 6591981,
+ cornsilk: 16775388,
+ crimson: 14423100,
+ cyan: 65535,
+ darkblue: 139,
+ darkcyan: 35723,
+ darkgoldenrod: 12092939,
+ darkgray: 11119017,
+ darkgreen: 25600,
+ darkgrey: 11119017,
+ darkkhaki: 12433259,
+ darkmagenta: 9109643,
+ darkolivegreen: 5597999,
+ darkorange: 16747520,
+ darkorchid: 10040012,
+ darkred: 9109504,
+ darksalmon: 15308410,
+ darkseagreen: 9419919,
+ darkslateblue: 4734347,
+ darkslategray: 3100495,
+ darkslategrey: 3100495,
+ darkturquoise: 52945,
+ darkviolet: 9699539,
+ deeppink: 16716947,
+ deepskyblue: 49151,
+ dimgray: 6908265,
+ dimgrey: 6908265,
+ dodgerblue: 2003199,
+ firebrick: 11674146,
+ floralwhite: 16775920,
+ forestgreen: 2263842,
+ fuchsia: 16711935,
+ gainsboro: 14474460,
+ ghostwhite: 16316671,
+ gold: 16766720,
+ goldenrod: 14329120,
+ gray: 8421504,
+ green: 32768,
+ greenyellow: 11403055,
+ grey: 8421504,
+ honeydew: 15794160,
+ hotpink: 16738740,
+ indianred: 13458524,
+ indigo: 4915330,
+ ivory: 16777200,
+ khaki: 15787660,
+ lavender: 15132410,
+ lavenderblush: 16773365,
+ lawngreen: 8190976,
+ lemonchiffon: 16775885,
+ lightblue: 11393254,
+ lightcoral: 15761536,
+ lightcyan: 14745599,
+ lightgoldenrodyellow: 16448210,
+ lightgray: 13882323,
+ lightgreen: 9498256,
+ lightgrey: 13882323,
+ lightpink: 16758465,
+ lightsalmon: 16752762,
+ lightseagreen: 2142890,
+ lightskyblue: 8900346,
+ lightslategray: 7833753,
+ lightslategrey: 7833753,
+ lightsteelblue: 11584734,
+ lightyellow: 16777184,
+ lime: 65280,
+ limegreen: 3329330,
+ linen: 16445670,
+ magenta: 16711935,
+ maroon: 8388608,
+ mediumaquamarine: 6737322,
+ mediumblue: 205,
+ mediumorchid: 12211667,
+ mediumpurple: 9662683,
+ mediumseagreen: 3978097,
+ mediumslateblue: 8087790,
+ mediumspringgreen: 64154,
+ mediumturquoise: 4772300,
+ mediumvioletred: 13047173,
+ midnightblue: 1644912,
+ mintcream: 16121850,
+ mistyrose: 16770273,
+ moccasin: 16770229,
+ navajowhite: 16768685,
+ navy: 128,
+ oldlace: 16643558,
+ olive: 8421376,
+ olivedrab: 7048739,
+ orange: 16753920,
+ orangered: 16729344,
+ orchid: 14315734,
+ palegoldenrod: 15657130,
+ palegreen: 10025880,
+ paleturquoise: 11529966,
+ palevioletred: 14381203,
+ papayawhip: 16773077,
+ peachpuff: 16767673,
+ peru: 13468991,
+ pink: 16761035,
+ plum: 14524637,
+ powderblue: 11591910,
+ purple: 8388736,
+ rebeccapurple: 6697881,
+ red: 16711680,
+ rosybrown: 12357519,
+ royalblue: 4286945,
+ saddlebrown: 9127187,
+ salmon: 16416882,
+ sandybrown: 16032864,
+ seagreen: 3050327,
+ seashell: 16774638,
+ sienna: 10506797,
+ silver: 12632256,
+ skyblue: 8900331,
+ slateblue: 6970061,
+ slategray: 7372944,
+ slategrey: 7372944,
+ snow: 16775930,
+ springgreen: 65407,
+ steelblue: 4620980,
+ tan: 13808780,
+ teal: 32896,
+ thistle: 14204888,
+ tomato: 16737095,
+ turquoise: 4251856,
+ violet: 15631086,
+ wheat: 16113331,
+ white: 16777215,
+ whitesmoke: 16119285,
+ yellow: 16776960,
+ yellowgreen: 10145074
+ });
+ kh(Eh, pl, {
+ copy(t) {
+ return Object.assign(new this.constructor(), this, t);
+ },
+ displayable() {
+ return this.rgb().displayable();
+ },
+ hex: UV,
+ formatHex: UV,
+ formatHex8: B3e,
+ formatHsl: F3e,
+ formatRgb: HV,
+ toString: HV
+ });
+ o(UV, 'color_formatHex');
+ o(B3e, 'color_formatHex8');
+ o(F3e, 'color_formatHsl');
+ o(HV, 'color_formatRgb');
+ o(pl, 'color');
+ o(YV, 'rgbn');
+ o(U4, 'rgba');
+ o(mA, 'rgbConvert');
+ o(Ap, 'rgb');
+ o(la, 'Rgb');
+ kh(
+ la,
+ Ap,
+ Cp(Eh, {
+ brighter(t) {
+ return (
+ (t = t == null ? Y4 : Math.pow(Y4, t)),
+ new la(this.r * t, this.g * t, this.b * t, this.opacity)
+ );
+ },
+ darker(t) {
+ return (
+ (t = t == null ? vy : Math.pow(vy, t)),
+ new la(this.r * t, this.g * t, this.b * t, this.opacity)
+ );
+ },
+ rgb() {
+ return this;
+ },
+ clamp() {
+ return new la(nd(this.r), nd(this.g), nd(this.b), W4(this.opacity));
+ },
+ displayable() {
+ return (
+ -0.5 <= this.r &&
+ this.r < 255.5 &&
+ -0.5 <= this.g &&
+ this.g < 255.5 &&
+ -0.5 <= this.b &&
+ this.b < 255.5 &&
+ 0 <= this.opacity &&
+ this.opacity <= 1
+ );
+ },
+ hex: WV,
+ formatHex: WV,
+ formatHex8: z3e,
+ formatRgb: qV,
+ toString: qV
+ })
+ );
+ o(WV, 'rgb_formatHex');
+ o(z3e, 'rgb_formatHex8');
+ o(qV, 'rgb_formatRgb');
+ o(W4, 'clampa');
+ o(nd, 'clampi');
+ o(rd, 'hex');
+ o(XV, 'hsla');
+ o(KV, 'hslConvert');
+ o(QV, 'hsl');
+ o(dl, 'Hsl');
+ kh(
+ dl,
+ QV,
+ Cp(Eh, {
+ brighter(t) {
+ return (t = t == null ? Y4 : Math.pow(Y4, t)), new dl(this.h, this.s, this.l * t, this.opacity);
+ },
+ darker(t) {
+ return (t = t == null ? vy : Math.pow(vy, t)), new dl(this.h, this.s, this.l * t, this.opacity);
+ },
+ rgb() {
+ var t = (this.h % 360) + (this.h < 0) * 360,
+ e = isNaN(t) || isNaN(this.s) ? 0 : this.s,
+ r = this.l,
+ n = r + (r < 0.5 ? r : 1 - r) * e,
+ i = 2 * r - n;
+ return new la(
+ pA(t >= 240 ? t - 240 : t + 120, i, n),
+ pA(t, i, n),
+ pA(t < 120 ? t + 240 : t - 120, i, n),
+ this.opacity
+ );
+ },
+ clamp() {
+ return new dl(jV(this.h), H4(this.s), H4(this.l), W4(this.opacity));
+ },
+ displayable() {
+ return (
+ ((0 <= this.s && this.s <= 1) || isNaN(this.s)) &&
+ 0 <= this.l &&
+ this.l <= 1 &&
+ 0 <= this.opacity &&
+ this.opacity <= 1
+ );
+ },
+ formatHsl() {
+ let t = W4(this.opacity);
+ return `${t === 1 ? 'hsl(' : 'hsla('}${jV(this.h)}, ${H4(this.s) * 100}%, ${H4(this.l) * 100}%${
+ t === 1 ? ')' : `, ${t})`
+ }`;
+ }
+ })
+ );
+ o(jV, 'clamph');
+ o(H4, 'clampt');
+ o(pA, 'hsl2rgb');
+ });
+ var ZV,
+ JV,
+ eU = R(() => {
+ 'use strict';
+ (ZV = Math.PI / 180), (JV = 180 / Math.PI);
+ });
+ function sU(t) {
+ if (t instanceof sc) return new sc(t.l, t.a, t.b, t.opacity);
+ if (t instanceof uu) return oU(t);
+ t instanceof la || (t = mA(t));
+ var e = bA(t.r),
+ r = bA(t.g),
+ n = bA(t.b),
+ i = yA((0.2225045 * e + 0.7168786 * r + 0.0606169 * n) / rU),
+ a,
+ s;
+ return (
+ e === r && r === n
+ ? (a = s = i)
+ : ((a = yA((0.4360747 * e + 0.3850649 * r + 0.1430804 * n) / tU)),
+ (s = yA((0.0139322 * e + 0.0971045 * r + 0.7141733 * n) / nU))),
+ new sc(116 * i - 16, 500 * (a - i), 200 * (i - s), t.opacity)
+ );
+ }
+ function wA(t, e, r, n) {
+ return arguments.length === 1 ? sU(t) : new sc(t, e, r, n ?? 1);
+ }
+ function sc(t, e, r, n) {
+ (this.l = +t), (this.a = +e), (this.b = +r), (this.opacity = +n);
+ }
+ function yA(t) {
+ return t > G3e ? Math.pow(t, 1 / 3) : t / aU + iU;
+ }
+ function vA(t) {
+ return t > _p ? t * t * t : aU * (t - iU);
+ }
+ function xA(t) {
+ return 255 * (t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055);
+ }
+ function bA(t) {
+ return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
+ }
+ function $3e(t) {
+ if (t instanceof uu) return new uu(t.h, t.c, t.l, t.opacity);
+ if ((t instanceof sc || (t = sU(t)), t.a === 0 && t.b === 0))
+ return new uu(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity);
+ var e = Math.atan2(t.b, t.a) * JV;
+ return new uu(e < 0 ? e + 360 : e, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity);
+ }
+ function by(t, e, r, n) {
+ return arguments.length === 1 ? $3e(t) : new uu(t, e, r, n ?? 1);
+ }
+ function uu(t, e, r, n) {
+ (this.h = +t), (this.c = +e), (this.l = +r), (this.opacity = +n);
+ }
+ function oU(t) {
+ if (isNaN(t.h)) return new sc(t.l, 0, 0, t.opacity);
+ var e = t.h * ZV;
+ return new sc(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity);
+ }
+ var q4,
+ tU,
+ rU,
+ nU,
+ iU,
+ _p,
+ aU,
+ G3e,
+ lU = R(() => {
+ 'use strict';
+ dA();
+ gA();
+ eU();
+ (q4 = 18),
+ (tU = 0.96422),
+ (rU = 1),
+ (nU = 0.82521),
+ (iU = 4 / 29),
+ (_p = 6 / 29),
+ (aU = 3 * _p * _p),
+ (G3e = _p * _p * _p);
+ o(sU, 'labConvert');
+ o(wA, 'lab');
+ o(sc, 'Lab');
+ kh(
+ sc,
+ wA,
+ Cp(Eh, {
+ brighter(t) {
+ return new sc(this.l + q4 * (t ?? 1), this.a, this.b, this.opacity);
+ },
+ darker(t) {
+ return new sc(this.l - q4 * (t ?? 1), this.a, this.b, this.opacity);
+ },
+ rgb() {
+ var t = (this.l + 16) / 116,
+ e = isNaN(this.a) ? t : t + this.a / 500,
+ r = isNaN(this.b) ? t : t - this.b / 200;
+ return (
+ (e = tU * vA(e)),
+ (t = rU * vA(t)),
+ (r = nU * vA(r)),
+ new la(
+ xA(3.1338561 * e - 1.6168667 * t - 0.4906146 * r),
+ xA(-0.9787684 * e + 1.9161415 * t + 0.033454 * r),
+ xA(0.0719453 * e - 0.2289914 * t + 1.4052427 * r),
+ this.opacity
+ )
+ );
+ }
+ })
+ );
+ o(yA, 'xyz2lab');
+ o(vA, 'lab2xyz');
+ o(xA, 'lrgb2rgb');
+ o(bA, 'rgb2lrgb');
+ o($3e, 'hclConvert');
+ o(by, 'hcl');
+ o(uu, 'Hcl');
+ o(oU, 'hcl2lab');
+ kh(
+ uu,
+ by,
+ Cp(Eh, {
+ brighter(t) {
+ return new uu(this.h, this.c, this.l + q4 * (t ?? 1), this.opacity);
+ },
+ darker(t) {
+ return new uu(this.h, this.c, this.l - q4 * (t ?? 1), this.opacity);
+ },
+ rgb() {
+ return oU(this).rgb();
+ }
+ })
+ );
+ });
+ var Lp = R(() => {
+ 'use strict';
+ gA();
+ lU();
+ });
+ function TA(t, e, r, n, i) {
+ var a = t * t,
+ s = a * t;
+ return ((1 - 3 * t + 3 * a - s) * e + (4 - 6 * a + 3 * s) * r + (1 + 3 * t + 3 * a - 3 * s) * n + s * i) / 6;
+ }
+ function kA(t) {
+ var e = t.length - 1;
+ return function (r) {
+ var n = r <= 0 ? (r = 0) : r >= 1 ? ((r = 1), e - 1) : Math.floor(r * e),
+ i = t[n],
+ a = t[n + 1],
+ s = n > 0 ? t[n - 1] : 2 * i - a,
+ l = n < e - 1 ? t[n + 2] : 2 * a - i;
+ return TA((r - n / e) * e, s, i, a, l);
+ };
+ }
+ var EA = R(() => {
+ 'use strict';
+ o(TA, 'basis');
+ o(kA, 'default');
+ });
+ function CA(t) {
+ var e = t.length;
+ return function (r) {
+ var n = Math.floor(((r %= 1) < 0 ? ++r : r) * e),
+ i = t[(n + e - 1) % e],
+ a = t[n % e],
+ s = t[(n + 1) % e],
+ l = t[(n + 2) % e];
+ return TA((r - n / e) * e, i, a, s, l);
+ };
+ }
+ var cU = R(() => {
+ 'use strict';
+ EA();
+ o(CA, 'default');
+ });
+ var Dp,
+ SA = R(() => {
+ 'use strict';
+ Dp = o((t) => () => t, 'default');
+ });
+ function uU(t, e) {
+ return function (r) {
+ return t + r * e;
+ };
+ }
+ function V3e(t, e, r) {
+ return (
+ (t = Math.pow(t, r)),
+ (e = Math.pow(e, r) - t),
+ (r = 1 / r),
+ function (n) {
+ return Math.pow(t + n * e, r);
+ }
+ );
+ }
+ function hU(t, e) {
+ var r = e - t;
+ return r ? uU(t, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) : Dp(isNaN(t) ? e : t);
+ }
+ function fU(t) {
+ return (t = +t) == 1
+ ? hu
+ : function (e, r) {
+ return r - e ? V3e(e, r, t) : Dp(isNaN(e) ? r : e);
+ };
+ }
+ function hu(t, e) {
+ var r = e - t;
+ return r ? uU(t, r) : Dp(isNaN(t) ? e : t);
+ }
+ var AA = R(() => {
+ 'use strict';
+ SA();
+ o(uU, 'linear');
+ o(V3e, 'exponential');
+ o(hU, 'hue');
+ o(fU, 'gamma');
+ o(hu, 'nogamma');
+ });
+ function dU(t) {
+ return function (e) {
+ var r = e.length,
+ n = new Array(r),
+ i = new Array(r),
+ a = new Array(r),
+ s,
+ l;
+ for (s = 0; s < r; ++s) (l = Ap(e[s])), (n[s] = l.r || 0), (i[s] = l.g || 0), (a[s] = l.b || 0);
+ return (
+ (n = t(n)),
+ (i = t(i)),
+ (a = t(a)),
+ (l.opacity = 1),
+ function (u) {
+ return (l.r = n(u)), (l.g = i(u)), (l.b = a(u)), l + '';
+ }
+ );
+ };
+ }
+ var id,
+ U3e,
+ H3e,
+ _A = R(() => {
+ 'use strict';
+ Lp();
+ EA();
+ cU();
+ AA();
+ id = o(function t(e) {
+ var r = fU(e);
+ function n(i, a) {
+ var s = r((i = Ap(i)).r, (a = Ap(a)).r),
+ l = r(i.g, a.g),
+ u = r(i.b, a.b),
+ h = hu(i.opacity, a.opacity);
+ return function (f) {
+ return (i.r = s(f)), (i.g = l(f)), (i.b = u(f)), (i.opacity = h(f)), i + '';
+ };
+ }
+ return o(n, 'rgb'), (n.gamma = t), n;
+ }, 'rgbGamma')(1);
+ o(dU, 'rgbSpline');
+ (U3e = dU(kA)), (H3e = dU(CA));
+ });
+ function LA(t, e) {
+ e || (e = []);
+ var r = t ? Math.min(e.length, t.length) : 0,
+ n = e.slice(),
+ i;
+ return function (a) {
+ for (i = 0; i < r; ++i) n[i] = t[i] * (1 - a) + e[i] * a;
+ return n;
+ };
+ }
+ function pU(t) {
+ return ArrayBuffer.isView(t) && !(t instanceof DataView);
+ }
+ var mU = R(() => {
+ 'use strict';
+ o(LA, 'default');
+ o(pU, 'isNumberArray');
+ });
+ function gU(t, e) {
+ var r = e ? e.length : 0,
+ n = t ? Math.min(r, t.length) : 0,
+ i = new Array(n),
+ a = new Array(r),
+ s;
+ for (s = 0; s < n; ++s) i[s] = Ch(t[s], e[s]);
+ for (; s < r; ++s) a[s] = e[s];
+ return function (l) {
+ for (s = 0; s < n; ++s) a[s] = i[s](l);
+ return a;
+ };
+ }
+ var yU = R(() => {
+ 'use strict';
+ X4();
+ o(gU, 'genericArray');
+ });
+ function DA(t, e) {
+ var r = new Date();
+ return (
+ (t = +t),
+ (e = +e),
+ function (n) {
+ return r.setTime(t * (1 - n) + e * n), r;
+ }
+ );
+ }
+ var vU = R(() => {
+ 'use strict';
+ o(DA, 'default');
+ });
+ function ji(t, e) {
+ return (
+ (t = +t),
+ (e = +e),
+ function (r) {
+ return t * (1 - r) + e * r;
+ }
+ );
+ }
+ var wy = R(() => {
+ 'use strict';
+ o(ji, 'default');
+ });
+ function RA(t, e) {
+ var r = {},
+ n = {},
+ i;
+ (t === null || typeof t != 'object') && (t = {}), (e === null || typeof e != 'object') && (e = {});
+ for (i in e) i in t ? (r[i] = Ch(t[i], e[i])) : (n[i] = e[i]);
+ return function (a) {
+ for (i in r) n[i] = r[i](a);
+ return n;
+ };
+ }
+ var xU = R(() => {
+ 'use strict';
+ X4();
+ o(RA, 'default');
+ });
+ function Y3e(t) {
+ return function () {
+ return t;
+ };
+ }
+ function W3e(t) {
+ return function (e) {
+ return t(e) + '';
+ };
+ }
+ function Rp(t, e) {
+ var r = (MA.lastIndex = NA.lastIndex = 0),
+ n,
+ i,
+ a,
+ s = -1,
+ l = [],
+ u = [];
+ for (t = t + '', e = e + ''; (n = MA.exec(t)) && (i = NA.exec(e)); )
+ (a = i.index) > r && ((a = e.slice(r, a)), l[s] ? (l[s] += a) : (l[++s] = a)),
+ (n = n[0]) === (i = i[0])
+ ? l[s]
+ ? (l[s] += i)
+ : (l[++s] = i)
+ : ((l[++s] = null), u.push({ i: s, x: ji(n, i) })),
+ (r = NA.lastIndex);
+ return (
+ r < e.length && ((a = e.slice(r)), l[s] ? (l[s] += a) : (l[++s] = a)),
+ l.length < 2
+ ? u[0]
+ ? W3e(u[0].x)
+ : Y3e(e)
+ : ((e = u.length),
+ function (h) {
+ for (var f = 0, d; f < e; ++f) l[(d = u[f]).i] = d.x(h);
+ return l.join('');
+ })
+ );
+ }
+ var MA,
+ NA,
+ IA = R(() => {
+ 'use strict';
+ wy();
+ (MA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g), (NA = new RegExp(MA.source, 'g'));
+ o(Y3e, 'zero');
+ o(W3e, 'one');
+ o(Rp, 'default');
+ });
+ function Ch(t, e) {
+ var r = typeof e,
+ n;
+ return e == null || r === 'boolean'
+ ? Dp(e)
+ : (r === 'number'
+ ? ji
+ : r === 'string'
+ ? (n = pl(e))
+ ? ((e = n), id)
+ : Rp
+ : e instanceof pl
+ ? id
+ : e instanceof Date
+ ? DA
+ : pU(e)
+ ? LA
+ : Array.isArray(e)
+ ? gU
+ : (typeof e.valueOf != 'function' && typeof e.toString != 'function') || isNaN(e)
+ ? RA
+ : ji)(t, e);
+ }
+ var X4 = R(() => {
+ 'use strict';
+ Lp();
+ _A();
+ yU();
+ vU();
+ wy();
+ xU();
+ IA();
+ SA();
+ mU();
+ o(Ch, 'default');
+ });
+ function j4(t, e) {
+ return (
+ (t = +t),
+ (e = +e),
+ function (r) {
+ return Math.round(t * (1 - r) + e * r);
+ }
+ );
+ }
+ var bU = R(() => {
+ 'use strict';
+ o(j4, 'default');
+ });
+ function Q4(t, e, r, n, i, a) {
+ var s, l, u;
+ return (
+ (s = Math.sqrt(t * t + e * e)) && ((t /= s), (e /= s)),
+ (u = t * r + e * n) && ((r -= t * u), (n -= e * u)),
+ (l = Math.sqrt(r * r + n * n)) && ((r /= l), (n /= l), (u /= l)),
+ t * n < e * r && ((t = -t), (e = -e), (u = -u), (s = -s)),
+ {
+ translateX: i,
+ translateY: a,
+ rotate: Math.atan2(e, t) * wU,
+ skewX: Math.atan(u) * wU,
+ scaleX: s,
+ scaleY: l
+ }
+ );
+ }
+ var wU,
+ K4,
+ TU = R(() => {
+ 'use strict';
+ (wU = 180 / Math.PI),
+ (K4 = {
+ translateX: 0,
+ translateY: 0,
+ rotate: 0,
+ skewX: 0,
+ scaleX: 1,
+ scaleY: 1
+ });
+ o(Q4, 'default');
+ });
+ function kU(t) {
+ let e = new (typeof DOMMatrix == 'function' ? DOMMatrix : WebKitCSSMatrix)(t + '');
+ return e.isIdentity ? K4 : Q4(e.a, e.b, e.c, e.d, e.e, e.f);
+ }
+ function EU(t) {
+ return t == null
+ ? K4
+ : (Z4 || (Z4 = document.createElementNS('http://www.w3.org/2000/svg', 'g')),
+ Z4.setAttribute('transform', t),
+ (t = Z4.transform.baseVal.consolidate()) ? ((t = t.matrix), Q4(t.a, t.b, t.c, t.d, t.e, t.f)) : K4);
+ }
+ var Z4,
+ CU = R(() => {
+ 'use strict';
+ TU();
+ o(kU, 'parseCss');
+ o(EU, 'parseSvg');
+ });
+ function SU(t, e, r, n) {
+ function i(h) {
+ return h.length ? h.pop() + ' ' : '';
+ }
+ o(i, 'pop');
+ function a(h, f, d, p, m, g) {
+ if (h !== d || f !== p) {
+ var y = m.push('translate(', null, e, null, r);
+ g.push({ i: y - 4, x: ji(h, d) }, { i: y - 2, x: ji(f, p) });
+ } else (d || p) && m.push('translate(' + d + e + p + r);
+ }
+ o(a, 'translate');
+ function s(h, f, d, p) {
+ h !== f
+ ? (h - f > 180 ? (f += 360) : f - h > 180 && (h += 360),
+ p.push({ i: d.push(i(d) + 'rotate(', null, n) - 2, x: ji(h, f) }))
+ : f && d.push(i(d) + 'rotate(' + f + n);
+ }
+ o(s, 'rotate');
+ function l(h, f, d, p) {
+ h !== f
+ ? p.push({ i: d.push(i(d) + 'skewX(', null, n) - 2, x: ji(h, f) })
+ : f && d.push(i(d) + 'skewX(' + f + n);
+ }
+ o(l, 'skewX');
+ function u(h, f, d, p, m, g) {
+ if (h !== d || f !== p) {
+ var y = m.push(i(m) + 'scale(', null, ',', null, ')');
+ g.push({ i: y - 4, x: ji(h, d) }, { i: y - 2, x: ji(f, p) });
+ } else (d !== 1 || p !== 1) && m.push(i(m) + 'scale(' + d + ',' + p + ')');
+ }
+ return (
+ o(u, 'scale'),
+ function (h, f) {
+ var d = [],
+ p = [];
+ return (
+ (h = t(h)),
+ (f = t(f)),
+ a(h.translateX, h.translateY, f.translateX, f.translateY, d, p),
+ s(h.rotate, f.rotate, d, p),
+ l(h.skewX, f.skewX, d, p),
+ u(h.scaleX, h.scaleY, f.scaleX, f.scaleY, d, p),
+ (h = f = null),
+ function (m) {
+ for (var g = -1, y = p.length, v; ++g < y; ) d[(v = p[g]).i] = v.x(m);
+ return d.join('');
+ }
+ );
+ }
+ );
+ }
+ var OA,
+ PA,
+ AU = R(() => {
+ 'use strict';
+ wy();
+ CU();
+ o(SU, 'interpolateTransform');
+ (OA = SU(kU, 'px, ', 'px)', 'deg)')), (PA = SU(EU, ', ', ')', ')'));
+ });
+ function _U(t) {
+ return function (e, r) {
+ var n = t((e = by(e)).h, (r = by(r)).h),
+ i = hu(e.c, r.c),
+ a = hu(e.l, r.l),
+ s = hu(e.opacity, r.opacity);
+ return function (l) {
+ return (e.h = n(l)), (e.c = i(l)), (e.l = a(l)), (e.opacity = s(l)), e + '';
+ };
+ };
+ }
+ var BA,
+ q3e,
+ LU = R(() => {
+ 'use strict';
+ Lp();
+ AA();
+ o(_U, 'hcl');
+ (BA = _U(hU)), (q3e = _U(hu));
+ });
+ var Np = R(() => {
+ 'use strict';
+ X4();
+ wy();
+ bU();
+ IA();
+ AU();
+ _A();
+ LU();
+ });
+ function Ay() {
+ return ad || (NU(X3e), (ad = Cy.now() + t3));
+ }
+ function X3e() {
+ ad = 0;
+ }
+ function Sy() {
+ this._call = this._time = this._next = null;
+ }
+ function r3(t, e, r) {
+ var n = new Sy();
+ return n.restart(t, e, r), n;
+ }
+ function MU() {
+ Ay(), ++Mp;
+ for (var t = J4, e; t; ) (e = ad - t._time) >= 0 && t._call.call(void 0, e), (t = t._next);
+ --Mp;
+ }
+ function DU() {
+ (ad = (e3 = Cy.now()) + t3), (Mp = ky = 0);
+ try {
+ MU();
+ } finally {
+ (Mp = 0), K3e(), (ad = 0);
+ }
+ }
+ function j3e() {
+ var t = Cy.now(),
+ e = t - e3;
+ e > RU && ((t3 -= e), (e3 = t));
+ }
+ function K3e() {
+ for (var t, e = J4, r, n = 1 / 0; e; )
+ e._call
+ ? (n > e._time && (n = e._time), (t = e), (e = e._next))
+ : ((r = e._next), (e._next = null), (e = t ? (t._next = r) : (J4 = r)));
+ (Ey = t), FA(n);
+ }
+ function FA(t) {
+ if (!Mp) {
+ ky && (ky = clearTimeout(ky));
+ var e = t - ad;
+ e > 24
+ ? (t < 1 / 0 && (ky = setTimeout(DU, t - Cy.now() - t3)), Ty && (Ty = clearInterval(Ty)))
+ : (Ty || ((e3 = Cy.now()), (Ty = setInterval(j3e, RU))), (Mp = 1), NU(DU));
+ }
+ }
+ var Mp,
+ ky,
+ Ty,
+ RU,
+ J4,
+ Ey,
+ e3,
+ ad,
+ t3,
+ Cy,
+ NU,
+ zA = R(() => {
+ 'use strict';
+ (Mp = 0),
+ (ky = 0),
+ (Ty = 0),
+ (RU = 1e3),
+ (e3 = 0),
+ (ad = 0),
+ (t3 = 0),
+ (Cy = typeof performance == 'object' && performance.now ? performance : Date),
+ (NU =
+ typeof window == 'object' && window.requestAnimationFrame
+ ? window.requestAnimationFrame.bind(window)
+ : function (t) {
+ setTimeout(t, 17);
+ });
+ o(Ay, 'now');
+ o(X3e, 'clearNow');
+ o(Sy, 'Timer');
+ Sy.prototype = r3.prototype = {
+ constructor: Sy,
+ restart: o(function (t, e, r) {
+ if (typeof t != 'function') throw new TypeError('callback is not a function');
+ (r = (r == null ? Ay() : +r) + (e == null ? 0 : +e)),
+ !this._next && Ey !== this && (Ey ? (Ey._next = this) : (J4 = this), (Ey = this)),
+ (this._call = t),
+ (this._time = r),
+ FA();
+ }, 'restart'),
+ stop: o(function () {
+ this._call && ((this._call = null), (this._time = 1 / 0), FA());
+ }, 'stop')
+ };
+ o(r3, 'timer');
+ o(MU, 'timerFlush');
+ o(DU, 'wake');
+ o(j3e, 'poke');
+ o(K3e, 'nap');
+ o(FA, 'sleep');
+ });
+ function _y(t, e, r) {
+ var n = new Sy();
+ return (
+ (e = e == null ? 0 : +e),
+ n.restart(
+ (i) => {
+ n.stop(), t(i + e);
+ },
+ e,
+ r
+ ),
+ n
+ );
+ }
+ var IU = R(() => {
+ 'use strict';
+ zA();
+ o(_y, 'default');
+ });
+ var n3 = R(() => {
+ 'use strict';
+ zA();
+ IU();
+ });
+ function fu(t, e, r, n, i, a) {
+ var s = t.__transition;
+ if (!s) t.__transition = {};
+ else if (r in s) return;
+ J3e(t, r, {
+ name: e,
+ index: n,
+ group: i,
+ on: Q3e,
+ tween: Z3e,
+ time: a.time,
+ delay: a.delay,
+ duration: a.duration,
+ ease: a.ease,
+ timer: null,
+ state: BU
+ });
+ }
+ function Dy(t, e) {
+ var r = Mi(t, e);
+ if (r.state > BU) throw new Error('too late; already scheduled');
+ return r;
+ }
+ function ca(t, e) {
+ var r = Mi(t, e);
+ if (r.state > i3) throw new Error('too late; already running');
+ return r;
+ }
+ function Mi(t, e) {
+ var r = t.__transition;
+ if (!r || !(r = r[e])) throw new Error('transition not found');
+ return r;
+ }
+ function J3e(t, e, r) {
+ var n = t.__transition,
+ i;
+ (n[e] = r), (r.timer = r3(a, 0, r.time));
+ function a(h) {
+ (r.state = OU), r.timer.restart(s, r.delay, r.time), r.delay <= h && s(h - r.delay);
+ }
+ o(a, 'schedule');
+ function s(h) {
+ var f, d, p, m;
+ if (r.state !== OU) return u();
+ for (f in n)
+ if (((m = n[f]), m.name === r.name)) {
+ if (m.state === i3) return _y(s);
+ m.state === PU
+ ? ((m.state = Ly),
+ m.timer.stop(),
+ m.on.call('interrupt', t, t.__data__, m.index, m.group),
+ delete n[f])
+ : +f < e &&
+ ((m.state = Ly),
+ m.timer.stop(),
+ m.on.call('cancel', t, t.__data__, m.index, m.group),
+ delete n[f]);
+ }
+ if (
+ (_y(function () {
+ r.state === i3 && ((r.state = PU), r.timer.restart(l, r.delay, r.time), l(h));
+ }),
+ (r.state = a3),
+ r.on.call('start', t, t.__data__, r.index, r.group),
+ r.state === a3)
+ ) {
+ for (r.state = i3, i = new Array((p = r.tween.length)), f = 0, d = -1; f < p; ++f)
+ (m = r.tween[f].value.call(t, t.__data__, r.index, r.group)) && (i[++d] = m);
+ i.length = d + 1;
+ }
+ }
+ o(s, 'start');
+ function l(h) {
+ for (
+ var f = h < r.duration ? r.ease.call(null, h / r.duration) : (r.timer.restart(u), (r.state = s3), 1),
+ d = -1,
+ p = i.length;
+ ++d < p;
+
+ )
+ i[d].call(t, f);
+ r.state === s3 && (r.on.call('end', t, t.__data__, r.index, r.group), u());
+ }
+ o(l, 'tick');
+ function u() {
+ (r.state = Ly), r.timer.stop(), delete n[e];
+ for (var h in n) return;
+ delete t.__transition;
+ }
+ o(u, 'stop');
+ }
+ var Q3e,
+ Z3e,
+ BU,
+ OU,
+ a3,
+ i3,
+ PU,
+ s3,
+ Ly,
+ ys = R(() => {
+ 'use strict';
+ bS();
+ n3();
+ (Q3e = xS('start', 'end', 'cancel', 'interrupt')),
+ (Z3e = []),
+ (BU = 0),
+ (OU = 1),
+ (a3 = 2),
+ (i3 = 3),
+ (PU = 4),
+ (s3 = 5),
+ (Ly = 6);
+ o(fu, 'default');
+ o(Dy, 'init');
+ o(ca, 'set');
+ o(Mi, 'get');
+ o(J3e, 'create');
+ });
+ function Ry(t, e) {
+ var r = t.__transition,
+ n,
+ i,
+ a = !0,
+ s;
+ if (r) {
+ e = e == null ? null : e + '';
+ for (s in r) {
+ if ((n = r[s]).name !== e) {
+ a = !1;
+ continue;
+ }
+ (i = n.state > a3 && n.state < s3),
+ (n.state = Ly),
+ n.timer.stop(),
+ n.on.call(i ? 'interrupt' : 'cancel', t, t.__data__, n.index, n.group),
+ delete r[s];
+ }
+ a && delete t.__transition;
+ }
+ }
+ var FU = R(() => {
+ 'use strict';
+ ys();
+ o(Ry, 'default');
+ });
+ function GA(t) {
+ return this.each(function () {
+ Ry(this, t);
+ });
+ }
+ var zU = R(() => {
+ 'use strict';
+ FU();
+ o(GA, 'default');
+ });
+ function e5e(t, e) {
+ var r, n;
+ return function () {
+ var i = ca(this, t),
+ a = i.tween;
+ if (a !== r) {
+ n = r = a;
+ for (var s = 0, l = n.length; s < l; ++s)
+ if (n[s].name === e) {
+ (n = n.slice()), n.splice(s, 1);
+ break;
+ }
+ }
+ i.tween = n;
+ };
+ }
+ function t5e(t, e, r) {
+ var n, i;
+ if (typeof r != 'function') throw new Error();
+ return function () {
+ var a = ca(this, t),
+ s = a.tween;
+ if (s !== n) {
+ i = (n = s).slice();
+ for (var l = { name: e, value: r }, u = 0, h = i.length; u < h; ++u)
+ if (i[u].name === e) {
+ i[u] = l;
+ break;
+ }
+ u === h && i.push(l);
+ }
+ a.tween = i;
+ };
+ }
+ function $A(t, e) {
+ var r = this._id;
+ if (((t += ''), arguments.length < 2)) {
+ for (var n = Mi(this.node(), r).tween, i = 0, a = n.length, s; i < a; ++i)
+ if ((s = n[i]).name === t) return s.value;
+ return null;
+ }
+ return this.each((e == null ? e5e : t5e)(r, t, e));
+ }
+ function Ip(t, e, r) {
+ var n = t._id;
+ return (
+ t.each(function () {
+ var i = ca(this, n);
+ (i.value || (i.value = {}))[e] = r.apply(this, arguments);
+ }),
+ function (i) {
+ return Mi(i, n).value[e];
+ }
+ );
+ }
+ var Ny = R(() => {
+ 'use strict';
+ ys();
+ o(e5e, 'tweenRemove');
+ o(t5e, 'tweenFunction');
+ o($A, 'default');
+ o(Ip, 'tweenValue');
+ });
+ function My(t, e) {
+ var r;
+ return (typeof e == 'number' ? ji : e instanceof pl ? id : (r = pl(e)) ? ((e = r), id) : Rp)(t, e);
+ }
+ var VA = R(() => {
+ 'use strict';
+ Lp();
+ Np();
+ o(My, 'default');
+ });
+ function r5e(t) {
+ return function () {
+ this.removeAttribute(t);
+ };
+ }
+ function n5e(t) {
+ return function () {
+ this.removeAttributeNS(t.space, t.local);
+ };
+ }
+ function i5e(t, e, r) {
+ var n,
+ i = r + '',
+ a;
+ return function () {
+ var s = this.getAttribute(t);
+ return s === i ? null : s === n ? a : (a = e((n = s), r));
+ };
+ }
+ function a5e(t, e, r) {
+ var n,
+ i = r + '',
+ a;
+ return function () {
+ var s = this.getAttributeNS(t.space, t.local);
+ return s === i ? null : s === n ? a : (a = e((n = s), r));
+ };
+ }
+ function s5e(t, e, r) {
+ var n, i, a;
+ return function () {
+ var s,
+ l = r(this),
+ u;
+ return l == null
+ ? void this.removeAttribute(t)
+ : ((s = this.getAttribute(t)),
+ (u = l + ''),
+ s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l))));
+ };
+ }
+ function o5e(t, e, r) {
+ var n, i, a;
+ return function () {
+ var s,
+ l = r(this),
+ u;
+ return l == null
+ ? void this.removeAttributeNS(t.space, t.local)
+ : ((s = this.getAttributeNS(t.space, t.local)),
+ (u = l + ''),
+ s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l))));
+ };
+ }
+ function UA(t, e) {
+ var r = ic(t),
+ n = r === 'transform' ? PA : My;
+ return this.attrTween(
+ t,
+ typeof e == 'function'
+ ? (r.local ? o5e : s5e)(r, n, Ip(this, 'attr.' + t, e))
+ : e == null
+ ? (r.local ? n5e : r5e)(r)
+ : (r.local ? a5e : i5e)(r, n, e)
+ );
+ }
+ var GU = R(() => {
+ 'use strict';
+ Np();
+ fl();
+ Ny();
+ VA();
+ o(r5e, 'attrRemove');
+ o(n5e, 'attrRemoveNS');
+ o(i5e, 'attrConstant');
+ o(a5e, 'attrConstantNS');
+ o(s5e, 'attrFunction');
+ o(o5e, 'attrFunctionNS');
+ o(UA, 'default');
+ });
+ function l5e(t, e) {
+ return function (r) {
+ this.setAttribute(t, e.call(this, r));
+ };
+ }
+ function c5e(t, e) {
+ return function (r) {
+ this.setAttributeNS(t.space, t.local, e.call(this, r));
+ };
+ }
+ function u5e(t, e) {
+ var r, n;
+ function i() {
+ var a = e.apply(this, arguments);
+ return a !== n && (r = (n = a) && c5e(t, a)), r;
+ }
+ return o(i, 'tween'), (i._value = e), i;
+ }
+ function h5e(t, e) {
+ var r, n;
+ function i() {
+ var a = e.apply(this, arguments);
+ return a !== n && (r = (n = a) && l5e(t, a)), r;
+ }
+ return o(i, 'tween'), (i._value = e), i;
+ }
+ function HA(t, e) {
+ var r = 'attr.' + t;
+ if (arguments.length < 2) return (r = this.tween(r)) && r._value;
+ if (e == null) return this.tween(r, null);
+ if (typeof e != 'function') throw new Error();
+ var n = ic(t);
+ return this.tween(r, (n.local ? u5e : h5e)(n, e));
+ }
+ var $U = R(() => {
+ 'use strict';
+ fl();
+ o(l5e, 'attrInterpolate');
+ o(c5e, 'attrInterpolateNS');
+ o(u5e, 'attrTweenNS');
+ o(h5e, 'attrTween');
+ o(HA, 'default');
+ });
+ function f5e(t, e) {
+ return function () {
+ Dy(this, t).delay = +e.apply(this, arguments);
+ };
+ }
+ function d5e(t, e) {
+ return (
+ (e = +e),
+ function () {
+ Dy(this, t).delay = e;
+ }
+ );
+ }
+ function YA(t) {
+ var e = this._id;
+ return arguments.length ? this.each((typeof t == 'function' ? f5e : d5e)(e, t)) : Mi(this.node(), e).delay;
+ }
+ var VU = R(() => {
+ 'use strict';
+ ys();
+ o(f5e, 'delayFunction');
+ o(d5e, 'delayConstant');
+ o(YA, 'default');
+ });
+ function p5e(t, e) {
+ return function () {
+ ca(this, t).duration = +e.apply(this, arguments);
+ };
+ }
+ function m5e(t, e) {
+ return (
+ (e = +e),
+ function () {
+ ca(this, t).duration = e;
+ }
+ );
+ }
+ function WA(t) {
+ var e = this._id;
+ return arguments.length ? this.each((typeof t == 'function' ? p5e : m5e)(e, t)) : Mi(this.node(), e).duration;
+ }
+ var UU = R(() => {
+ 'use strict';
+ ys();
+ o(p5e, 'durationFunction');
+ o(m5e, 'durationConstant');
+ o(WA, 'default');
+ });
+ function g5e(t, e) {
+ if (typeof e != 'function') throw new Error();
+ return function () {
+ ca(this, t).ease = e;
+ };
+ }
+ function qA(t) {
+ var e = this._id;
+ return arguments.length ? this.each(g5e(e, t)) : Mi(this.node(), e).ease;
+ }
+ var HU = R(() => {
+ 'use strict';
+ ys();
+ o(g5e, 'easeConstant');
+ o(qA, 'default');
+ });
+ function y5e(t, e) {
+ return function () {
+ var r = e.apply(this, arguments);
+ if (typeof r != 'function') throw new Error();
+ ca(this, t).ease = r;
+ };
+ }
+ function XA(t) {
+ if (typeof t != 'function') throw new Error();
+ return this.each(y5e(this._id, t));
+ }
+ var YU = R(() => {
+ 'use strict';
+ ys();
+ o(y5e, 'easeVarying');
+ o(XA, 'default');
+ });
+ function jA(t) {
+ typeof t != 'function' && (t = Ep(t));
+ for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i)
+ for (var a = e[i], s = a.length, l = (n[i] = []), u, h = 0; h < s; ++h)
+ (u = a[h]) && t.call(u, u.__data__, h, a) && l.push(u);
+ return new Ka(n, this._parents, this._name, this._id);
+ }
+ var WU = R(() => {
+ 'use strict';
+ fl();
+ sd();
+ o(jA, 'default');
+ });
+ function KA(t) {
+ if (t._id !== this._id) throw new Error();
+ for (
+ var e = this._groups,
+ r = t._groups,
+ n = e.length,
+ i = r.length,
+ a = Math.min(n, i),
+ s = new Array(n),
+ l = 0;
+ l < a;
+ ++l
+ )
+ for (var u = e[l], h = r[l], f = u.length, d = (s[l] = new Array(f)), p, m = 0; m < f; ++m)
+ (p = u[m] || h[m]) && (d[m] = p);
+ for (; l < n; ++l) s[l] = e[l];
+ return new Ka(s, this._parents, this._name, this._id);
+ }
+ var qU = R(() => {
+ 'use strict';
+ sd();
+ o(KA, 'default');
+ });
+ function v5e(t) {
+ return (t + '')
+ .trim()
+ .split(/^|\s+/)
+ .every(function (e) {
+ var r = e.indexOf('.');
+ return r >= 0 && (e = e.slice(0, r)), !e || e === 'start';
+ });
+ }
+ function x5e(t, e, r) {
+ var n,
+ i,
+ a = v5e(e) ? Dy : ca;
+ return function () {
+ var s = a(this, t),
+ l = s.on;
+ l !== n && (i = (n = l).copy()).on(e, r), (s.on = i);
+ };
+ }
+ function QA(t, e) {
+ var r = this._id;
+ return arguments.length < 2 ? Mi(this.node(), r).on.on(t) : this.each(x5e(r, t, e));
+ }
+ var XU = R(() => {
+ 'use strict';
+ ys();
+ o(v5e, 'start');
+ o(x5e, 'onFunction');
+ o(QA, 'default');
+ });
+ function b5e(t) {
+ return function () {
+ var e = this.parentNode;
+ for (var r in this.__transition) if (+r !== t) return;
+ e && e.removeChild(this);
+ };
+ }
+ function ZA() {
+ return this.on('end.remove', b5e(this._id));
+ }
+ var jU = R(() => {
+ 'use strict';
+ o(b5e, 'removeFunction');
+ o(ZA, 'default');
+ });
+ function JA(t) {
+ var e = this._name,
+ r = this._id;
+ typeof t != 'function' && (t = wh(t));
+ for (var n = this._groups, i = n.length, a = new Array(i), s = 0; s < i; ++s)
+ for (var l = n[s], u = l.length, h = (a[s] = new Array(u)), f, d, p = 0; p < u; ++p)
+ (f = l[p]) &&
+ (d = t.call(f, f.__data__, p, l)) &&
+ ('__data__' in f && (d.__data__ = f.__data__), (h[p] = d), fu(h[p], e, r, p, h, Mi(f, r)));
+ return new Ka(a, this._parents, e, r);
+ }
+ var KU = R(() => {
+ 'use strict';
+ fl();
+ sd();
+ ys();
+ o(JA, 'default');
+ });
+ function e8(t) {
+ var e = this._name,
+ r = this._id;
+ typeof t != 'function' && (t = kp(t));
+ for (var n = this._groups, i = n.length, a = [], s = [], l = 0; l < i; ++l)
+ for (var u = n[l], h = u.length, f, d = 0; d < h; ++d)
+ if ((f = u[d])) {
+ for (var p = t.call(f, f.__data__, d, u), m, g = Mi(f, r), y = 0, v = p.length; y < v; ++y)
+ (m = p[y]) && fu(m, e, r, y, p, g);
+ a.push(p), s.push(f);
+ }
+ return new Ka(a, s, e, r);
+ }
+ var QU = R(() => {
+ 'use strict';
+ fl();
+ sd();
+ ys();
+ o(e8, 'default');
+ });
+ function t8() {
+ return new w5e(this._groups, this._parents);
+ }
+ var w5e,
+ ZU = R(() => {
+ 'use strict';
+ fl();
+ w5e = cu.prototype.constructor;
+ o(t8, 'default');
+ });
+ function T5e(t, e) {
+ var r, n, i;
+ return function () {
+ var a = Th(this, t),
+ s = (this.style.removeProperty(t), Th(this, t));
+ return a === s ? null : a === r && s === n ? i : (i = e((r = a), (n = s)));
+ };
+ }
+ function JU(t) {
+ return function () {
+ this.style.removeProperty(t);
+ };
+ }
+ function k5e(t, e, r) {
+ var n,
+ i = r + '',
+ a;
+ return function () {
+ var s = Th(this, t);
+ return s === i ? null : s === n ? a : (a = e((n = s), r));
+ };
+ }
+ function E5e(t, e, r) {
+ var n, i, a;
+ return function () {
+ var s = Th(this, t),
+ l = r(this),
+ u = l + '';
+ return (
+ l == null && (u = l = (this.style.removeProperty(t), Th(this, t))),
+ s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l)))
+ );
+ };
+ }
+ function C5e(t, e) {
+ var r,
+ n,
+ i,
+ a = 'style.' + e,
+ s = 'end.' + a,
+ l;
+ return function () {
+ var u = ca(this, t),
+ h = u.on,
+ f = u.value[a] == null ? l || (l = JU(e)) : void 0;
+ (h !== r || i !== f) && (n = (r = h).copy()).on(s, (i = f)), (u.on = n);
+ };
+ }
+ function r8(t, e, r) {
+ var n = (t += '') == 'transform' ? OA : My;
+ return e == null
+ ? this.styleTween(t, T5e(t, n)).on('end.style.' + t, JU(t))
+ : typeof e == 'function'
+ ? this.styleTween(t, E5e(t, n, Ip(this, 'style.' + t, e))).each(C5e(this._id, t))
+ : this.styleTween(t, k5e(t, n, e), r).on('end.style.' + t, null);
+ }
+ var eH = R(() => {
+ 'use strict';
+ Np();
+ fl();
+ ys();
+ Ny();
+ VA();
+ o(T5e, 'styleNull');
+ o(JU, 'styleRemove');
+ o(k5e, 'styleConstant');
+ o(E5e, 'styleFunction');
+ o(C5e, 'styleMaybeRemove');
+ o(r8, 'default');
+ });
+ function S5e(t, e, r) {
+ return function (n) {
+ this.style.setProperty(t, e.call(this, n), r);
+ };
+ }
+ function A5e(t, e, r) {
+ var n, i;
+ function a() {
+ var s = e.apply(this, arguments);
+ return s !== i && (n = (i = s) && S5e(t, s, r)), n;
+ }
+ return o(a, 'tween'), (a._value = e), a;
+ }
+ function n8(t, e, r) {
+ var n = 'style.' + (t += '');
+ if (arguments.length < 2) return (n = this.tween(n)) && n._value;
+ if (e == null) return this.tween(n, null);
+ if (typeof e != 'function') throw new Error();
+ return this.tween(n, A5e(t, e, r ?? ''));
+ }
+ var tH = R(() => {
+ 'use strict';
+ o(S5e, 'styleInterpolate');
+ o(A5e, 'styleTween');
+ o(n8, 'default');
+ });
+ function _5e(t) {
+ return function () {
+ this.textContent = t;
+ };
+ }
+ function L5e(t) {
+ return function () {
+ var e = t(this);
+ this.textContent = e ?? '';
+ };
+ }
+ function i8(t) {
+ return this.tween('text', typeof t == 'function' ? L5e(Ip(this, 'text', t)) : _5e(t == null ? '' : t + ''));
+ }
+ var rH = R(() => {
+ 'use strict';
+ Ny();
+ o(_5e, 'textConstant');
+ o(L5e, 'textFunction');
+ o(i8, 'default');
+ });
+ function D5e(t) {
+ return function (e) {
+ this.textContent = t.call(this, e);
+ };
+ }
+ function R5e(t) {
+ var e, r;
+ function n() {
+ var i = t.apply(this, arguments);
+ return i !== r && (e = (r = i) && D5e(i)), e;
+ }
+ return o(n, 'tween'), (n._value = t), n;
+ }
+ function a8(t) {
+ var e = 'text';
+ if (arguments.length < 1) return (e = this.tween(e)) && e._value;
+ if (t == null) return this.tween(e, null);
+ if (typeof t != 'function') throw new Error();
+ return this.tween(e, R5e(t));
+ }
+ var nH = R(() => {
+ 'use strict';
+ o(D5e, 'textInterpolate');
+ o(R5e, 'textTween');
+ o(a8, 'default');
+ });
+ function s8() {
+ for (var t = this._name, e = this._id, r = o3(), n = this._groups, i = n.length, a = 0; a < i; ++a)
+ for (var s = n[a], l = s.length, u, h = 0; h < l; ++h)
+ if ((u = s[h])) {
+ var f = Mi(u, e);
+ fu(u, t, r, h, s, {
+ time: f.time + f.delay + f.duration,
+ delay: 0,
+ duration: f.duration,
+ ease: f.ease
+ });
+ }
+ return new Ka(n, this._parents, t, r);
+ }
+ var iH = R(() => {
+ 'use strict';
+ sd();
+ ys();
+ o(s8, 'default');
+ });
+ function o8() {
+ var t,
+ e,
+ r = this,
+ n = r._id,
+ i = r.size();
+ return new Promise(function (a, s) {
+ var l = { value: s },
+ u = {
+ value: o(function () {
+ --i === 0 && a();
+ }, 'value')
+ };
+ r.each(function () {
+ var h = ca(this, n),
+ f = h.on;
+ f !== t && ((e = (t = f).copy()), e._.cancel.push(l), e._.interrupt.push(l), e._.end.push(u)),
+ (h.on = e);
+ }),
+ i === 0 && a();
+ });
+ }
+ var aH = R(() => {
+ 'use strict';
+ ys();
+ o(o8, 'default');
+ });
+ function Ka(t, e, r, n) {
+ (this._groups = t), (this._parents = e), (this._name = r), (this._id = n);
+ }
+ function sH(t) {
+ return cu().transition(t);
+ }
+ function o3() {
+ return ++N5e;
+ }
+ var N5e,
+ du,
+ sd = R(() => {
+ 'use strict';
+ fl();
+ GU();
+ $U();
+ VU();
+ UU();
+ HU();
+ YU();
+ WU();
+ qU();
+ XU();
+ jU();
+ KU();
+ QU();
+ ZU();
+ eH();
+ tH();
+ rH();
+ nH();
+ iH();
+ Ny();
+ aH();
+ N5e = 0;
+ o(Ka, 'Transition');
+ o(sH, 'transition');
+ o(o3, 'newId');
+ du = cu.prototype;
+ Ka.prototype = sH.prototype = {
+ constructor: Ka,
+ select: JA,
+ selectAll: e8,
+ selectChild: du.selectChild,
+ selectChildren: du.selectChildren,
+ filter: jA,
+ merge: KA,
+ selection: t8,
+ transition: s8,
+ call: du.call,
+ nodes: du.nodes,
+ node: du.node,
+ size: du.size,
+ empty: du.empty,
+ each: du.each,
+ on: QA,
+ attr: UA,
+ attrTween: HA,
+ style: r8,
+ styleTween: n8,
+ text: i8,
+ textTween: a8,
+ remove: ZA,
+ tween: $A,
+ delay: YA,
+ duration: WA,
+ ease: qA,
+ easeVarying: XA,
+ end: o8,
+ [Symbol.iterator]: du[Symbol.iterator]
+ };
+ });
+ function l3(t) {
+ return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;
+ }
+ var oH = R(() => {
+ 'use strict';
+ o(l3, 'cubicInOut');
+ });
+ var l8 = R(() => {
+ 'use strict';
+ oH();
+ });
+ function I5e(t, e) {
+ for (var r; !(r = t.__transition) || !(r = r[e]); )
+ if (!(t = t.parentNode)) throw new Error(`transition ${e} not found`);
+ return r;
+ }
+ function c8(t) {
+ var e, r;
+ t instanceof Ka
+ ? ((e = t._id), (t = t._name))
+ : ((e = o3()), ((r = M5e).time = Ay()), (t = t == null ? null : t + ''));
+ for (var n = this._groups, i = n.length, a = 0; a < i; ++a)
+ for (var s = n[a], l = s.length, u, h = 0; h < l; ++h) (u = s[h]) && fu(u, t, e, h, s, r || I5e(u, e));
+ return new Ka(n, this._parents, t, e);
+ }
+ var M5e,
+ lH = R(() => {
+ 'use strict';
+ sd();
+ ys();
+ l8();
+ n3();
+ M5e = { time: null, delay: 0, duration: 250, ease: l3 };
+ o(I5e, 'inherit');
+ o(c8, 'default');
+ });
+ var cH = R(() => {
+ 'use strict';
+ fl();
+ zU();
+ lH();
+ cu.prototype.interrupt = GA;
+ cu.prototype.transition = c8;
+ });
+ var c3 = R(() => {
+ 'use strict';
+ cH();
+ });
+ var uH = R(() => {
+ 'use strict';
+ });
+ var hH = R(() => {
+ 'use strict';
+ });
+ var fH = R(() => {
+ 'use strict';
+ });
+ function dH(t) {
+ return [+t[0], +t[1]];
+ }
+ function O5e(t) {
+ return [dH(t[0]), dH(t[1])];
+ }
+ function u8(t) {
+ return { type: t };
+ }
+ var Kpt,
+ Qpt,
+ Zpt,
+ Jpt,
+ emt,
+ tmt,
+ pH = R(() => {
+ 'use strict';
+ c3();
+ uH();
+ hH();
+ fH();
+ ({ abs: Kpt, max: Qpt, min: Zpt } = Math);
+ o(dH, 'number1');
+ o(O5e, 'number2');
+ (Jpt = {
+ name: 'x',
+ handles: ['w', 'e'].map(u8),
+ input: o(function (t, e) {
+ return t == null
+ ? null
+ : [
+ [+t[0], e[0][1]],
+ [+t[1], e[1][1]]
+ ];
+ }, 'input'),
+ output: o(function (t) {
+ return t && [t[0][0], t[1][0]];
+ }, 'output')
+ }),
+ (emt = {
+ name: 'y',
+ handles: ['n', 's'].map(u8),
+ input: o(function (t, e) {
+ return t == null
+ ? null
+ : [
+ [e[0][0], +t[0]],
+ [e[1][0], +t[1]]
+ ];
+ }, 'input'),
+ output: o(function (t) {
+ return t && [t[0][1], t[1][1]];
+ }, 'output')
+ }),
+ (tmt = {
+ name: 'xy',
+ handles: ['n', 'w', 'e', 's', 'nw', 'ne', 'sw', 'se'].map(u8),
+ input: o(function (t) {
+ return t == null ? null : O5e(t);
+ }, 'input'),
+ output: o(function (t) {
+ return t;
+ }, 'output')
+ });
+ o(u8, 'type');
+ });
+ var mH = R(() => {
+ 'use strict';
+ pH();
+ });
+ function gH(t) {
+ this._ += t[0];
+ for (let e = 1, r = t.length; e < r; ++e) this._ += arguments[e] + t[e];
+ }
+ function B5e(t) {
+ let e = Math.floor(t);
+ if (!(e >= 0)) throw new Error(`invalid digits: ${t}`);
+ if (e > 15) return gH;
+ let r = 10 ** e;
+ return function (n) {
+ this._ += n[0];
+ for (let i = 1, a = n.length; i < a; ++i) this._ += Math.round(arguments[i] * r) / r + n[i];
+ };
+ }
+ function yH() {
+ return new ld();
+ }
+ var h8,
+ f8,
+ od,
+ P5e,
+ ld,
+ vH = R(() => {
+ 'use strict';
+ (h8 = Math.PI), (f8 = 2 * h8), (od = 1e-6), (P5e = f8 - od);
+ o(gH, 'append');
+ o(B5e, 'appendRound');
+ ld = class {
+ static {
+ o(this, 'Path');
+ }
+ constructor(e) {
+ (this._x0 = this._y0 = this._x1 = this._y1 = null),
+ (this._ = ''),
+ (this._append = e == null ? gH : B5e(e));
+ }
+ moveTo(e, r) {
+ this._append`M${(this._x0 = this._x1 = +e)},${(this._y0 = this._y1 = +r)}`;
+ }
+ closePath() {
+ this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), this._append`Z`);
+ }
+ lineTo(e, r) {
+ this._append`L${(this._x1 = +e)},${(this._y1 = +r)}`;
+ }
+ quadraticCurveTo(e, r, n, i) {
+ this._append`Q${+e},${+r},${(this._x1 = +n)},${(this._y1 = +i)}`;
+ }
+ bezierCurveTo(e, r, n, i, a, s) {
+ this._append`C${+e},${+r},${+n},${+i},${(this._x1 = +a)},${(this._y1 = +s)}`;
+ }
+ arcTo(e, r, n, i, a) {
+ if (((e = +e), (r = +r), (n = +n), (i = +i), (a = +a), a < 0))
+ throw new Error(`negative radius: ${a}`);
+ let s = this._x1,
+ l = this._y1,
+ u = n - e,
+ h = i - r,
+ f = s - e,
+ d = l - r,
+ p = f * f + d * d;
+ if (this._x1 === null) this._append`M${(this._x1 = e)},${(this._y1 = r)}`;
+ else if (p > od)
+ if (!(Math.abs(d * u - h * f) > od) || !a) this._append`L${(this._x1 = e)},${(this._y1 = r)}`;
+ else {
+ let m = n - s,
+ g = i - l,
+ y = u * u + h * h,
+ v = m * m + g * g,
+ x = Math.sqrt(y),
+ b = Math.sqrt(p),
+ w = a * Math.tan((h8 - Math.acos((y + p - v) / (2 * x * b))) / 2),
+ S = w / b,
+ T = w / x;
+ Math.abs(S - 1) > od && this._append`L${e + S * f},${r + S * d}`,
+ this._append`A${a},${a},0,0,${+(d * m > f * g)},${(this._x1 = e + T * u)},${(this._y1 =
+ r + T * h)}`;
+ }
+ }
+ arc(e, r, n, i, a, s) {
+ if (((e = +e), (r = +r), (n = +n), (s = !!s), n < 0)) throw new Error(`negative radius: ${n}`);
+ let l = n * Math.cos(i),
+ u = n * Math.sin(i),
+ h = e + l,
+ f = r + u,
+ d = 1 ^ s,
+ p = s ? i - a : a - i;
+ this._x1 === null
+ ? this._append`M${h},${f}`
+ : (Math.abs(this._x1 - h) > od || Math.abs(this._y1 - f) > od) && this._append`L${h},${f}`,
+ n &&
+ (p < 0 && (p = (p % f8) + f8),
+ p > P5e
+ ? this._append`A${n},${n},0,1,${d},${e - l},${r - u}A${n},${n},0,1,${d},${(this._x1 =
+ h)},${(this._y1 = f)}`
+ : p > od &&
+ this._append`A${n},${n},0,${+(p >= h8)},${d},${(this._x1 =
+ e + n * Math.cos(a))},${(this._y1 = r + n * Math.sin(a))}`);
+ }
+ rect(e, r, n, i) {
+ this._append`M${(this._x0 = this._x1 = +e)},${(this._y0 = this._y1 = +r)}h${(n = +n)}v${+i}h${-n}Z`;
+ }
+ toString() {
+ return this._;
+ }
+ };
+ o(yH, 'path');
+ yH.prototype = ld.prototype;
+ });
+ var d8 = R(() => {
+ 'use strict';
+ vH();
+ });
+ var xH = R(() => {
+ 'use strict';
+ });
+ var bH = R(() => {
+ 'use strict';
+ });
+ var wH = R(() => {
+ 'use strict';
+ });
+ var TH = R(() => {
+ 'use strict';
+ });
+ var kH = R(() => {
+ 'use strict';
+ });
+ var EH = R(() => {
+ 'use strict';
+ });
+ var CH = R(() => {
+ 'use strict';
+ });
+ function p8(t) {
+ return Math.abs((t = Math.round(t))) >= 1e21 ? t.toLocaleString('en').replace(/,/g, '') : t.toString(10);
+ }
+ function cd(t, e) {
+ if ((r = (t = e ? t.toExponential(e - 1) : t.toExponential()).indexOf('e')) < 0) return null;
+ var r,
+ n = t.slice(0, r);
+ return [n.length > 1 ? n[0] + n.slice(2) : n, +t.slice(r + 1)];
+ }
+ var Iy = R(() => {
+ 'use strict';
+ o(p8, 'default');
+ o(cd, 'formatDecimalParts');
+ });
+ function ml(t) {
+ return (t = cd(Math.abs(t))), t ? t[1] : NaN;
+ }
+ var Oy = R(() => {
+ 'use strict';
+ Iy();
+ o(ml, 'default');
+ });
+ function m8(t, e) {
+ return function (r, n) {
+ for (
+ var i = r.length, a = [], s = 0, l = t[0], u = 0;
+ i > 0 &&
+ l > 0 &&
+ (u + l + 1 > n && (l = Math.max(1, n - u)), a.push(r.substring((i -= l), i + l)), !((u += l + 1) > n));
+
+ )
+ l = t[(s = (s + 1) % t.length)];
+ return a.reverse().join(e);
+ };
+ }
+ var SH = R(() => {
+ 'use strict';
+ o(m8, 'default');
+ });
+ function g8(t) {
+ return function (e) {
+ return e.replace(/[0-9]/g, function (r) {
+ return t[+r];
+ });
+ };
+ }
+ var AH = R(() => {
+ 'use strict';
+ o(g8, 'default');
+ });
+ function Sh(t) {
+ if (!(e = F5e.exec(t))) throw new Error('invalid format: ' + t);
+ var e;
+ return new u3({
+ fill: e[1],
+ align: e[2],
+ sign: e[3],
+ symbol: e[4],
+ zero: e[5],
+ width: e[6],
+ comma: e[7],
+ precision: e[8] && e[8].slice(1),
+ trim: e[9],
+ type: e[10]
+ });
+ }
+ function u3(t) {
+ (this.fill = t.fill === void 0 ? ' ' : t.fill + ''),
+ (this.align = t.align === void 0 ? '>' : t.align + ''),
+ (this.sign = t.sign === void 0 ? '-' : t.sign + ''),
+ (this.symbol = t.symbol === void 0 ? '' : t.symbol + ''),
+ (this.zero = !!t.zero),
+ (this.width = t.width === void 0 ? void 0 : +t.width),
+ (this.comma = !!t.comma),
+ (this.precision = t.precision === void 0 ? void 0 : +t.precision),
+ (this.trim = !!t.trim),
+ (this.type = t.type === void 0 ? '' : t.type + '');
+ }
+ var F5e,
+ y8 = R(() => {
+ 'use strict';
+ F5e = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
+ o(Sh, 'formatSpecifier');
+ Sh.prototype = u3.prototype;
+ o(u3, 'FormatSpecifier');
+ u3.prototype.toString = function () {
+ return (
+ this.fill +
+ this.align +
+ this.sign +
+ this.symbol +
+ (this.zero ? '0' : '') +
+ (this.width === void 0 ? '' : Math.max(1, this.width | 0)) +
+ (this.comma ? ',' : '') +
+ (this.precision === void 0 ? '' : '.' + Math.max(0, this.precision | 0)) +
+ (this.trim ? '~' : '') +
+ this.type
+ );
+ };
+ });
+ function v8(t) {
+ e: for (var e = t.length, r = 1, n = -1, i; r < e; ++r)
+ switch (t[r]) {
+ case '.':
+ n = i = r;
+ break;
+ case '0':
+ n === 0 && (n = r), (i = r);
+ break;
+ default:
+ if (!+t[r]) break e;
+ n > 0 && (n = 0);
+ break;
+ }
+ return n > 0 ? t.slice(0, n) + t.slice(i + 1) : t;
+ }
+ var _H = R(() => {
+ 'use strict';
+ o(v8, 'default');
+ });
+ function b8(t, e) {
+ var r = cd(t, e);
+ if (!r) return t + '';
+ var n = r[0],
+ i = r[1],
+ a = i - (x8 = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1,
+ s = n.length;
+ return a === s
+ ? n
+ : a > s
+ ? n + new Array(a - s + 1).join('0')
+ : a > 0
+ ? n.slice(0, a) + '.' + n.slice(a)
+ : '0.' + new Array(1 - a).join('0') + cd(t, Math.max(0, e + a - 1))[0];
+ }
+ var x8,
+ w8 = R(() => {
+ 'use strict';
+ Iy();
+ o(b8, 'default');
+ });
+ function h3(t, e) {
+ var r = cd(t, e);
+ if (!r) return t + '';
+ var n = r[0],
+ i = r[1];
+ return i < 0
+ ? '0.' + new Array(-i).join('0') + n
+ : n.length > i + 1
+ ? n.slice(0, i + 1) + '.' + n.slice(i + 1)
+ : n + new Array(i - n.length + 2).join('0');
+ }
+ var LH = R(() => {
+ 'use strict';
+ Iy();
+ o(h3, 'default');
+ });
+ var T8,
+ DH = R(() => {
+ 'use strict';
+ Iy();
+ w8();
+ LH();
+ T8 = {
+ '%': o((t, e) => (t * 100).toFixed(e), '%'),
+ b: o((t) => Math.round(t).toString(2), 'b'),
+ c: o((t) => t + '', 'c'),
+ d: p8,
+ e: o((t, e) => t.toExponential(e), 'e'),
+ f: o((t, e) => t.toFixed(e), 'f'),
+ g: o((t, e) => t.toPrecision(e), 'g'),
+ o: o((t) => Math.round(t).toString(8), 'o'),
+ p: o((t, e) => h3(t * 100, e), 'p'),
+ r: h3,
+ s: b8,
+ X: o((t) => Math.round(t).toString(16).toUpperCase(), 'X'),
+ x: o((t) => Math.round(t).toString(16), 'x')
+ };
+ });
+ function f3(t) {
+ return t;
+ }
+ var RH = R(() => {
+ 'use strict';
+ o(f3, 'default');
+ });
+ function k8(t) {
+ var e =
+ t.grouping === void 0 || t.thousands === void 0
+ ? f3
+ : m8(NH.call(t.grouping, Number), t.thousands + ''),
+ r = t.currency === void 0 ? '' : t.currency[0] + '',
+ n = t.currency === void 0 ? '' : t.currency[1] + '',
+ i = t.decimal === void 0 ? '.' : t.decimal + '',
+ a = t.numerals === void 0 ? f3 : g8(NH.call(t.numerals, String)),
+ s = t.percent === void 0 ? '%' : t.percent + '',
+ l = t.minus === void 0 ? '\u2212' : t.minus + '',
+ u = t.nan === void 0 ? 'NaN' : t.nan + '';
+ function h(d) {
+ d = Sh(d);
+ var p = d.fill,
+ m = d.align,
+ g = d.sign,
+ y = d.symbol,
+ v = d.zero,
+ x = d.width,
+ b = d.comma,
+ w = d.precision,
+ S = d.trim,
+ T = d.type;
+ T === 'n' ? ((b = !0), (T = 'g')) : T8[T] || (w === void 0 && (w = 12), (S = !0), (T = 'g')),
+ (v || (p === '0' && m === '=')) && ((v = !0), (p = '0'), (m = '='));
+ var E = y === '$' ? r : y === '#' && /[boxX]/.test(T) ? '0' + T.toLowerCase() : '',
+ _ = y === '$' ? n : /[%p]/.test(T) ? s : '',
+ A = T8[T],
+ L = /[defgprs%]/.test(T);
+ w = w === void 0 ? 6 : /[gprs]/.test(T) ? Math.max(1, Math.min(21, w)) : Math.max(0, Math.min(20, w));
+ function M(N) {
+ var k = E,
+ I = _,
+ C,
+ O,
+ D;
+ if (T === 'c') (I = A(N) + I), (N = '');
+ else {
+ N = +N;
+ var P = N < 0 || 1 / N < 0;
+ if (
+ ((N = isNaN(N) ? u : A(Math.abs(N), w)),
+ S && (N = v8(N)),
+ P && +N == 0 && g !== '+' && (P = !1),
+ (k = (P ? (g === '(' ? g : l) : g === '-' || g === '(' ? '' : g) + k),
+ (I = (T === 's' ? MH[8 + x8 / 3] : '') + I + (P && g === '(' ? ')' : '')),
+ L)
+ ) {
+ for (C = -1, O = N.length; ++C < O; )
+ if (((D = N.charCodeAt(C)), 48 > D || D > 57)) {
+ (I = (D === 46 ? i + N.slice(C + 1) : N.slice(C)) + I), (N = N.slice(0, C));
+ break;
+ }
+ }
+ }
+ b && !v && (N = e(N, 1 / 0));
+ var F = k.length + N.length + I.length,
+ B = F < x ? new Array(x - F + 1).join(p) : '';
+ switch ((b && v && ((N = e(B + N, B.length ? x - I.length : 1 / 0)), (B = '')), m)) {
+ case '<':
+ N = k + N + I + B;
+ break;
+ case '=':
+ N = k + B + N + I;
+ break;
+ case '^':
+ N = B.slice(0, (F = B.length >> 1)) + k + N + I + B.slice(F);
+ break;
+ default:
+ N = B + k + N + I;
+ break;
+ }
+ return a(N);
+ }
+ return (
+ o(M, 'format'),
+ (M.toString = function () {
+ return d + '';
+ }),
+ M
+ );
+ }
+ o(h, 'newFormat');
+ function f(d, p) {
+ var m = h(((d = Sh(d)), (d.type = 'f'), d)),
+ g = Math.max(-8, Math.min(8, Math.floor(ml(p) / 3))) * 3,
+ y = Math.pow(10, -g),
+ v = MH[8 + g / 3];
+ return function (x) {
+ return m(y * x) + v;
+ };
+ }
+ return o(f, 'formatPrefix'), { format: h, formatPrefix: f };
+ }
+ var NH,
+ MH,
+ IH = R(() => {
+ 'use strict';
+ Oy();
+ SH();
+ AH();
+ y8();
+ _H();
+ DH();
+ w8();
+ RH();
+ (NH = Array.prototype.map),
+ (MH = ['y', 'z', 'a', 'f', 'p', 'n', '\xB5', 'm', '', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']);
+ o(k8, 'default');
+ });
+ function E8(t) {
+ return (d3 = k8(t)), (p3 = d3.format), (m3 = d3.formatPrefix), d3;
+ }
+ var d3,
+ p3,
+ m3,
+ OH = R(() => {
+ 'use strict';
+ IH();
+ E8({ thousands: ',', grouping: [3], currency: ['$', ''] });
+ o(E8, 'defaultLocale');
+ });
+ function g3(t) {
+ return Math.max(0, -ml(Math.abs(t)));
+ }
+ var PH = R(() => {
+ 'use strict';
+ Oy();
+ o(g3, 'default');
+ });
+ function y3(t, e) {
+ return Math.max(0, Math.max(-8, Math.min(8, Math.floor(ml(e) / 3))) * 3 - ml(Math.abs(t)));
+ }
+ var BH = R(() => {
+ 'use strict';
+ Oy();
+ o(y3, 'default');
+ });
+ function v3(t, e) {
+ return (t = Math.abs(t)), (e = Math.abs(e) - t), Math.max(0, ml(e) - ml(t)) + 1;
+ }
+ var FH = R(() => {
+ 'use strict';
+ Oy();
+ o(v3, 'default');
+ });
+ var C8 = R(() => {
+ 'use strict';
+ OH();
+ y8();
+ PH();
+ BH();
+ FH();
+ });
+ var zH = R(() => {
+ 'use strict';
+ });
+ var GH = R(() => {
+ 'use strict';
+ });
+ var $H = R(() => {
+ 'use strict';
+ });
+ var VH = R(() => {
+ 'use strict';
+ });
+ function Ah(t, e) {
+ switch (arguments.length) {
+ case 0:
+ break;
+ case 1:
+ this.range(t);
+ break;
+ default:
+ this.range(e).domain(t);
+ break;
+ }
+ return this;
+ }
+ var Py = R(() => {
+ 'use strict';
+ o(Ah, 'initRange');
+ });
+ function pu() {
+ var t = new wp(),
+ e = [],
+ r = [],
+ n = S8;
+ function i(a) {
+ let s = t.get(a);
+ if (s === void 0) {
+ if (n !== S8) return n;
+ t.set(a, (s = e.push(a) - 1));
+ }
+ return r[s % r.length];
+ }
+ return (
+ o(i, 'scale'),
+ (i.domain = function (a) {
+ if (!arguments.length) return e.slice();
+ (e = []), (t = new wp());
+ for (let s of a) t.has(s) || t.set(s, e.push(s) - 1);
+ return i;
+ }),
+ (i.range = function (a) {
+ return arguments.length ? ((r = Array.from(a)), i) : r.slice();
+ }),
+ (i.unknown = function (a) {
+ return arguments.length ? ((n = a), i) : n;
+ }),
+ (i.copy = function () {
+ return pu(e, r).unknown(n);
+ }),
+ Ah.apply(i, arguments),
+ i
+ );
+ }
+ var S8,
+ A8 = R(() => {
+ 'use strict';
+ bh();
+ Py();
+ S8 = Symbol('implicit');
+ o(pu, 'ordinal');
+ });
+ function Op() {
+ var t = pu().unknown(void 0),
+ e = t.domain,
+ r = t.range,
+ n = 0,
+ i = 1,
+ a,
+ s,
+ l = !1,
+ u = 0,
+ h = 0,
+ f = 0.5;
+ delete t.unknown;
+ function d() {
+ var p = e().length,
+ m = i < n,
+ g = m ? i : n,
+ y = m ? n : i;
+ (a = (y - g) / Math.max(1, p - u + h * 2)),
+ l && (a = Math.floor(a)),
+ (g += (y - g - a * (p - u)) * f),
+ (s = a * (1 - u)),
+ l && ((g = Math.round(g)), (s = Math.round(s)));
+ var v = O4(p).map(function (x) {
+ return g + a * x;
+ });
+ return r(m ? v.reverse() : v);
+ }
+ return (
+ o(d, 'rescale'),
+ (t.domain = function (p) {
+ return arguments.length ? (e(p), d()) : e();
+ }),
+ (t.range = function (p) {
+ return arguments.length ? (([n, i] = p), (n = +n), (i = +i), d()) : [n, i];
+ }),
+ (t.rangeRound = function (p) {
+ return ([n, i] = p), (n = +n), (i = +i), (l = !0), d();
+ }),
+ (t.bandwidth = function () {
+ return s;
+ }),
+ (t.step = function () {
+ return a;
+ }),
+ (t.round = function (p) {
+ return arguments.length ? ((l = !!p), d()) : l;
+ }),
+ (t.padding = function (p) {
+ return arguments.length ? ((u = Math.min(1, (h = +p))), d()) : u;
+ }),
+ (t.paddingInner = function (p) {
+ return arguments.length ? ((u = Math.min(1, p)), d()) : u;
+ }),
+ (t.paddingOuter = function (p) {
+ return arguments.length ? ((h = +p), d()) : h;
+ }),
+ (t.align = function (p) {
+ return arguments.length ? ((f = Math.max(0, Math.min(1, p))), d()) : f;
+ }),
+ (t.copy = function () {
+ return Op(e(), [n, i]).round(l).paddingInner(u).paddingOuter(h).align(f);
+ }),
+ Ah.apply(d(), arguments)
+ );
+ }
+ var UH = R(() => {
+ 'use strict';
+ bh();
+ Py();
+ A8();
+ o(Op, 'band');
+ });
+ function _8(t) {
+ return function () {
+ return t;
+ };
+ }
+ var HH = R(() => {
+ 'use strict';
+ o(_8, 'constants');
+ });
+ function L8(t) {
+ return +t;
+ }
+ var YH = R(() => {
+ 'use strict';
+ o(L8, 'number');
+ });
+ function Pp(t) {
+ return t;
+ }
+ function D8(t, e) {
+ return (e -= t = +t)
+ ? function (r) {
+ return (r - t) / e;
+ }
+ : _8(isNaN(e) ? NaN : 0.5);
+ }
+ function z5e(t, e) {
+ var r;
+ return (
+ t > e && ((r = t), (t = e), (e = r)),
+ function (n) {
+ return Math.max(t, Math.min(e, n));
+ }
+ );
+ }
+ function G5e(t, e, r) {
+ var n = t[0],
+ i = t[1],
+ a = e[0],
+ s = e[1];
+ return (
+ i < n ? ((n = D8(i, n)), (a = r(s, a))) : ((n = D8(n, i)), (a = r(a, s))),
+ function (l) {
+ return a(n(l));
+ }
+ );
+ }
+ function $5e(t, e, r) {
+ var n = Math.min(t.length, e.length) - 1,
+ i = new Array(n),
+ a = new Array(n),
+ s = -1;
+ for (t[n] < t[0] && ((t = t.slice().reverse()), (e = e.slice().reverse())); ++s < n; )
+ (i[s] = D8(t[s], t[s + 1])), (a[s] = r(e[s], e[s + 1]));
+ return function (l) {
+ var u = dS(t, l, 1, n) - 1;
+ return a[u](i[u](l));
+ };
+ }
+ function x3(t, e) {
+ return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown());
+ }
+ function V5e() {
+ var t = WH,
+ e = WH,
+ r = Ch,
+ n,
+ i,
+ a,
+ s = Pp,
+ l,
+ u,
+ h;
+ function f() {
+ var p = Math.min(t.length, e.length);
+ return s !== Pp && (s = z5e(t[0], t[p - 1])), (l = p > 2 ? $5e : G5e), (u = h = null), d;
+ }
+ o(f, 'rescale');
+ function d(p) {
+ return p == null || isNaN((p = +p)) ? a : (u || (u = l(t.map(n), e, r)))(n(s(p)));
+ }
+ return (
+ o(d, 'scale'),
+ (d.invert = function (p) {
+ return s(i((h || (h = l(e, t.map(n), ji)))(p)));
+ }),
+ (d.domain = function (p) {
+ return arguments.length ? ((t = Array.from(p, L8)), f()) : t.slice();
+ }),
+ (d.range = function (p) {
+ return arguments.length ? ((e = Array.from(p)), f()) : e.slice();
+ }),
+ (d.rangeRound = function (p) {
+ return (e = Array.from(p)), (r = j4), f();
+ }),
+ (d.clamp = function (p) {
+ return arguments.length ? ((s = p ? !0 : Pp), f()) : s !== Pp;
+ }),
+ (d.interpolate = function (p) {
+ return arguments.length ? ((r = p), f()) : r;
+ }),
+ (d.unknown = function (p) {
+ return arguments.length ? ((a = p), d) : a;
+ }),
+ function (p, m) {
+ return (n = p), (i = m), f();
+ }
+ );
+ }
+ function By() {
+ return V5e()(Pp, Pp);
+ }
+ var WH,
+ R8 = R(() => {
+ 'use strict';
+ bh();
+ Np();
+ HH();
+ YH();
+ WH = [0, 1];
+ o(Pp, 'identity');
+ o(D8, 'normalize');
+ o(z5e, 'clamper');
+ o(G5e, 'bimap');
+ o($5e, 'polymap');
+ o(x3, 'copy');
+ o(V5e, 'transformer');
+ o(By, 'continuous');
+ });
+ function N8(t, e, r, n) {
+ var i = Tp(t, e, r),
+ a;
+ switch (((n = Sh(n ?? ',f')), n.type)) {
+ case 's': {
+ var s = Math.max(Math.abs(t), Math.abs(e));
+ return n.precision == null && !isNaN((a = y3(i, s))) && (n.precision = a), m3(n, s);
+ }
+ case '':
+ case 'e':
+ case 'g':
+ case 'p':
+ case 'r': {
+ n.precision == null &&
+ !isNaN((a = v3(i, Math.max(Math.abs(t), Math.abs(e))))) &&
+ (n.precision = a - (n.type === 'e'));
+ break;
+ }
+ case 'f':
+ case '%': {
+ n.precision == null && !isNaN((a = g3(i))) && (n.precision = a - (n.type === '%') * 2);
+ break;
+ }
+ }
+ return p3(n);
+ }
+ var qH = R(() => {
+ 'use strict';
+ bh();
+ C8();
+ o(N8, 'tickFormat');
+ });
+ function U5e(t) {
+ var e = t.domain;
+ return (
+ (t.ticks = function (r) {
+ var n = e();
+ return N4(n[0], n[n.length - 1], r ?? 10);
+ }),
+ (t.tickFormat = function (r, n) {
+ var i = e();
+ return N8(i[0], i[i.length - 1], r ?? 10, n);
+ }),
+ (t.nice = function (r) {
+ r == null && (r = 10);
+ var n = e(),
+ i = 0,
+ a = n.length - 1,
+ s = n[i],
+ l = n[a],
+ u,
+ h,
+ f = 10;
+ for (l < s && ((h = s), (s = l), (l = h), (h = i), (i = a), (a = h)); f-- > 0; ) {
+ if (((h = fy(s, l, r)), h === u)) return (n[i] = s), (n[a] = l), e(n);
+ if (h > 0) (s = Math.floor(s / h) * h), (l = Math.ceil(l / h) * h);
+ else if (h < 0) (s = Math.ceil(s * h) / h), (l = Math.floor(l * h) / h);
+ else break;
+ u = h;
+ }
+ return t;
+ }),
+ t
+ );
+ }
+ function gl() {
+ var t = By();
+ return (
+ (t.copy = function () {
+ return x3(t, gl());
+ }),
+ Ah.apply(t, arguments),
+ U5e(t)
+ );
+ }
+ var XH = R(() => {
+ 'use strict';
+ bh();
+ R8();
+ Py();
+ qH();
+ o(U5e, 'linearish');
+ o(gl, 'linear');
+ });
+ function M8(t, e) {
+ t = t.slice();
+ var r = 0,
+ n = t.length - 1,
+ i = t[r],
+ a = t[n],
+ s;
+ return (
+ a < i && ((s = r), (r = n), (n = s), (s = i), (i = a), (a = s)), (t[r] = e.floor(i)), (t[n] = e.ceil(a)), t
+ );
+ }
+ var jH = R(() => {
+ 'use strict';
+ o(M8, 'nice');
+ });
+ function dn(t, e, r, n) {
+ function i(a) {
+ return t((a = arguments.length === 0 ? new Date() : new Date(+a))), a;
+ }
+ return (
+ o(i, 'interval'),
+ (i.floor = (a) => (t((a = new Date(+a))), a)),
+ (i.ceil = (a) => (t((a = new Date(a - 1))), e(a, 1), t(a), a)),
+ (i.round = (a) => {
+ let s = i(a),
+ l = i.ceil(a);
+ return a - s < l - a ? s : l;
+ }),
+ (i.offset = (a, s) => (e((a = new Date(+a)), s == null ? 1 : Math.floor(s)), a)),
+ (i.range = (a, s, l) => {
+ let u = [];
+ if (((a = i.ceil(a)), (l = l == null ? 1 : Math.floor(l)), !(a < s) || !(l > 0))) return u;
+ let h;
+ do u.push((h = new Date(+a))), e(a, l), t(a);
+ while (h < a && a < s);
+ return u;
+ }),
+ (i.filter = (a) =>
+ dn(
+ (s) => {
+ if (s >= s) for (; t(s), !a(s); ) s.setTime(s - 1);
+ },
+ (s, l) => {
+ if (s >= s)
+ if (l < 0) for (; ++l <= 0; ) for (; e(s, -1), !a(s); );
+ else for (; --l >= 0; ) for (; e(s, 1), !a(s); );
+ }
+ )),
+ r &&
+ ((i.count = (a, s) => (I8.setTime(+a), O8.setTime(+s), t(I8), t(O8), Math.floor(r(I8, O8)))),
+ (i.every = (a) => (
+ (a = Math.floor(a)),
+ !isFinite(a) || !(a > 0)
+ ? null
+ : a > 1
+ ? i.filter(n ? (s) => n(s) % a === 0 : (s) => i.count(0, s) % a === 0)
+ : i
+ ))),
+ i
+ );
+ }
+ var I8,
+ O8,
+ mu = R(() => {
+ 'use strict';
+ (I8 = new Date()), (O8 = new Date());
+ o(dn, 'timeInterval');
+ });
+ var oc,
+ KH,
+ P8 = R(() => {
+ 'use strict';
+ mu();
+ oc = dn(
+ () => {},
+ (t, e) => {
+ t.setTime(+t + e);
+ },
+ (t, e) => e - t
+ );
+ oc.every = (t) => (
+ (t = Math.floor(t)),
+ !isFinite(t) || !(t > 0)
+ ? null
+ : t > 1
+ ? dn(
+ (e) => {
+ e.setTime(Math.floor(e / t) * t);
+ },
+ (e, r) => {
+ e.setTime(+e + r * t);
+ },
+ (e, r) => (r - e) / t
+ )
+ : oc
+ );
+ KH = oc.range;
+ });
+ var Ks,
+ QH,
+ B8 = R(() => {
+ 'use strict';
+ mu();
+ (Ks = dn(
+ (t) => {
+ t.setTime(t - t.getMilliseconds());
+ },
+ (t, e) => {
+ t.setTime(+t + e * 1e3);
+ },
+ (t, e) => (e - t) / 1e3,
+ (t) => t.getUTCSeconds()
+ )),
+ (QH = Ks.range);
+ });
+ var gu,
+ H5e,
+ b3,
+ Y5e,
+ F8 = R(() => {
+ 'use strict';
+ mu();
+ (gu = dn(
+ (t) => {
+ t.setTime(t - t.getMilliseconds() - t.getSeconds() * 1e3);
+ },
+ (t, e) => {
+ t.setTime(+t + e * 6e4);
+ },
+ (t, e) => (e - t) / 6e4,
+ (t) => t.getMinutes()
+ )),
+ (H5e = gu.range),
+ (b3 = dn(
+ (t) => {
+ t.setUTCSeconds(0, 0);
+ },
+ (t, e) => {
+ t.setTime(+t + e * 6e4);
+ },
+ (t, e) => (e - t) / 6e4,
+ (t) => t.getUTCMinutes()
+ )),
+ (Y5e = b3.range);
+ });
+ var yu,
+ W5e,
+ w3,
+ q5e,
+ z8 = R(() => {
+ 'use strict';
+ mu();
+ (yu = dn(
+ (t) => {
+ t.setTime(t - t.getMilliseconds() - t.getSeconds() * 1e3 - t.getMinutes() * 6e4);
+ },
+ (t, e) => {
+ t.setTime(+t + e * 36e5);
+ },
+ (t, e) => (e - t) / 36e5,
+ (t) => t.getHours()
+ )),
+ (W5e = yu.range),
+ (w3 = dn(
+ (t) => {
+ t.setUTCMinutes(0, 0, 0);
+ },
+ (t, e) => {
+ t.setTime(+t + e * 36e5);
+ },
+ (t, e) => (e - t) / 36e5,
+ (t) => t.getUTCHours()
+ )),
+ (q5e = w3.range);
+ });
+ var Do,
+ X5e,
+ zy,
+ j5e,
+ T3,
+ K5e,
+ G8 = R(() => {
+ 'use strict';
+ mu();
+ (Do = dn(
+ (t) => t.setHours(0, 0, 0, 0),
+ (t, e) => t.setDate(t.getDate() + e),
+ (t, e) => (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * 6e4) / 864e5,
+ (t) => t.getDate() - 1
+ )),
+ (X5e = Do.range),
+ (zy = dn(
+ (t) => {
+ t.setUTCHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setUTCDate(t.getUTCDate() + e);
+ },
+ (t, e) => (e - t) / 864e5,
+ (t) => t.getUTCDate() - 1
+ )),
+ (j5e = zy.range),
+ (T3 = dn(
+ (t) => {
+ t.setUTCHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setUTCDate(t.getUTCDate() + e);
+ },
+ (t, e) => (e - t) / 864e5,
+ (t) => Math.floor(t / 864e5)
+ )),
+ (K5e = T3.range);
+ });
+ function fd(t) {
+ return dn(
+ (e) => {
+ e.setDate(e.getDate() - ((e.getDay() + 7 - t) % 7)), e.setHours(0, 0, 0, 0);
+ },
+ (e, r) => {
+ e.setDate(e.getDate() + r * 7);
+ },
+ (e, r) => (r - e - (r.getTimezoneOffset() - e.getTimezoneOffset()) * 6e4) / 6048e5
+ );
+ }
+ function dd(t) {
+ return dn(
+ (e) => {
+ e.setUTCDate(e.getUTCDate() - ((e.getUTCDay() + 7 - t) % 7)), e.setUTCHours(0, 0, 0, 0);
+ },
+ (e, r) => {
+ e.setUTCDate(e.getUTCDate() + r * 7);
+ },
+ (e, r) => (r - e) / 6048e5
+ );
+ }
+ var yl,
+ _h,
+ k3,
+ E3,
+ cc,
+ C3,
+ S3,
+ JH,
+ Q5e,
+ Z5e,
+ J5e,
+ ewe,
+ twe,
+ rwe,
+ pd,
+ Bp,
+ eY,
+ tY,
+ Lh,
+ rY,
+ nY,
+ iY,
+ nwe,
+ iwe,
+ awe,
+ swe,
+ owe,
+ lwe,
+ $8 = R(() => {
+ 'use strict';
+ mu();
+ o(fd, 'timeWeekday');
+ (yl = fd(0)),
+ (_h = fd(1)),
+ (k3 = fd(2)),
+ (E3 = fd(3)),
+ (cc = fd(4)),
+ (C3 = fd(5)),
+ (S3 = fd(6)),
+ (JH = yl.range),
+ (Q5e = _h.range),
+ (Z5e = k3.range),
+ (J5e = E3.range),
+ (ewe = cc.range),
+ (twe = C3.range),
+ (rwe = S3.range);
+ o(dd, 'utcWeekday');
+ (pd = dd(0)),
+ (Bp = dd(1)),
+ (eY = dd(2)),
+ (tY = dd(3)),
+ (Lh = dd(4)),
+ (rY = dd(5)),
+ (nY = dd(6)),
+ (iY = pd.range),
+ (nwe = Bp.range),
+ (iwe = eY.range),
+ (awe = tY.range),
+ (swe = Lh.range),
+ (owe = rY.range),
+ (lwe = nY.range);
+ });
+ var vu,
+ cwe,
+ A3,
+ uwe,
+ V8 = R(() => {
+ 'use strict';
+ mu();
+ (vu = dn(
+ (t) => {
+ t.setDate(1), t.setHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setMonth(t.getMonth() + e);
+ },
+ (t, e) => e.getMonth() - t.getMonth() + (e.getFullYear() - t.getFullYear()) * 12,
+ (t) => t.getMonth()
+ )),
+ (cwe = vu.range),
+ (A3 = dn(
+ (t) => {
+ t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setUTCMonth(t.getUTCMonth() + e);
+ },
+ (t, e) => e.getUTCMonth() - t.getUTCMonth() + (e.getUTCFullYear() - t.getUTCFullYear()) * 12,
+ (t) => t.getUTCMonth()
+ )),
+ (uwe = A3.range);
+ });
+ var Qs,
+ hwe,
+ vl,
+ fwe,
+ U8 = R(() => {
+ 'use strict';
+ mu();
+ Qs = dn(
+ (t) => {
+ t.setMonth(0, 1), t.setHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setFullYear(t.getFullYear() + e);
+ },
+ (t, e) => e.getFullYear() - t.getFullYear(),
+ (t) => t.getFullYear()
+ );
+ Qs.every = (t) =>
+ !isFinite((t = Math.floor(t))) || !(t > 0)
+ ? null
+ : dn(
+ (e) => {
+ e.setFullYear(Math.floor(e.getFullYear() / t) * t),
+ e.setMonth(0, 1),
+ e.setHours(0, 0, 0, 0);
+ },
+ (e, r) => {
+ e.setFullYear(e.getFullYear() + r * t);
+ }
+ );
+ (hwe = Qs.range),
+ (vl = dn(
+ (t) => {
+ t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);
+ },
+ (t, e) => {
+ t.setUTCFullYear(t.getUTCFullYear() + e);
+ },
+ (t, e) => e.getUTCFullYear() - t.getUTCFullYear(),
+ (t) => t.getUTCFullYear()
+ ));
+ vl.every = (t) =>
+ !isFinite((t = Math.floor(t))) || !(t > 0)
+ ? null
+ : dn(
+ (e) => {
+ e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t),
+ e.setUTCMonth(0, 1),
+ e.setUTCHours(0, 0, 0, 0);
+ },
+ (e, r) => {
+ e.setUTCFullYear(e.getUTCFullYear() + r * t);
+ }
+ );
+ fwe = vl.range;
+ });
+ function sY(t, e, r, n, i, a) {
+ let s = [
+ [Ks, 1, 1e3],
+ [Ks, 5, 5 * 1e3],
+ [Ks, 15, 15 * 1e3],
+ [Ks, 30, 30 * 1e3],
+ [a, 1, 6e4],
+ [a, 5, 5 * 6e4],
+ [a, 15, 15 * 6e4],
+ [a, 30, 30 * 6e4],
+ [i, 1, 36e5],
+ [i, 3, 3 * 36e5],
+ [i, 6, 6 * 36e5],
+ [i, 12, 12 * 36e5],
+ [n, 1, 864e5],
+ [n, 2, 2 * 864e5],
+ [r, 1, 6048e5],
+ [e, 1, 2592e6],
+ [e, 3, 3 * 2592e6],
+ [t, 1, 31536e6]
+ ];
+ function l(h, f, d) {
+ let p = f < h;
+ p && ([h, f] = [f, h]);
+ let m = d && typeof d.range == 'function' ? d : u(h, f, d),
+ g = m ? m.range(h, +f + 1) : [];
+ return p ? g.reverse() : g;
+ }
+ o(l, 'ticks');
+ function u(h, f, d) {
+ let p = Math.abs(f - h) / d,
+ m = td(([, , v]) => v).right(s, p);
+ if (m === s.length) return t.every(Tp(h / 31536e6, f / 31536e6, d));
+ if (m === 0) return oc.every(Math.max(Tp(h, f, d), 1));
+ let [g, y] = s[p / s[m - 1][2] < s[m][2] / p ? m - 1 : m];
+ return g.every(y);
+ }
+ return o(u, 'tickInterval'), [l, u];
+ }
+ var pwe,
+ mwe,
+ H8,
+ Y8,
+ oY = R(() => {
+ 'use strict';
+ bh();
+ P8();
+ B8();
+ F8();
+ z8();
+ G8();
+ $8();
+ V8();
+ U8();
+ o(sY, 'ticker');
+ ([pwe, mwe] = sY(vl, A3, pd, T3, w3, b3)), ([H8, Y8] = sY(Qs, vu, yl, Do, yu, gu));
+ });
+ var _3 = R(() => {
+ 'use strict';
+ P8();
+ B8();
+ F8();
+ z8();
+ G8();
+ $8();
+ V8();
+ U8();
+ oY();
+ });
+ function W8(t) {
+ if (0 <= t.y && t.y < 100) {
+ var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L);
+ return e.setFullYear(t.y), e;
+ }
+ return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L);
+ }
+ function q8(t) {
+ if (0 <= t.y && t.y < 100) {
+ var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L));
+ return e.setUTCFullYear(t.y), e;
+ }
+ return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L));
+ }
+ function Gy(t, e, r) {
+ return { y: t, m: e, d: r, H: 0, M: 0, S: 0, L: 0 };
+ }
+ function X8(t) {
+ var e = t.dateTime,
+ r = t.date,
+ n = t.time,
+ i = t.periods,
+ a = t.days,
+ s = t.shortDays,
+ l = t.months,
+ u = t.shortMonths,
+ h = $y(i),
+ f = Vy(i),
+ d = $y(a),
+ p = Vy(a),
+ m = $y(s),
+ g = Vy(s),
+ y = $y(l),
+ v = Vy(l),
+ x = $y(u),
+ b = Vy(u),
+ w = {
+ a: P,
+ A: F,
+ b: B,
+ B: $,
+ c: null,
+ d: dY,
+ e: dY,
+ f: Fwe,
+ g: Xwe,
+ G: Kwe,
+ H: Owe,
+ I: Pwe,
+ j: Bwe,
+ L: vY,
+ m: zwe,
+ M: Gwe,
+ p: z,
+ q: Y,
+ Q: gY,
+ s: yY,
+ S: $we,
+ u: Vwe,
+ U: Uwe,
+ V: Hwe,
+ w: Ywe,
+ W: Wwe,
+ x: null,
+ X: null,
+ y: qwe,
+ Y: jwe,
+ Z: Qwe,
+ '%': mY
+ },
+ S = {
+ a: Q,
+ A: X,
+ b: ie,
+ B: j,
+ c: null,
+ d: pY,
+ e: pY,
+ f: tTe,
+ g: hTe,
+ G: dTe,
+ H: Zwe,
+ I: Jwe,
+ j: eTe,
+ L: bY,
+ m: rTe,
+ M: nTe,
+ p: J,
+ q: Z,
+ Q: gY,
+ s: yY,
+ S: iTe,
+ u: aTe,
+ U: sTe,
+ V: oTe,
+ w: lTe,
+ W: cTe,
+ x: null,
+ X: null,
+ y: uTe,
+ Y: fTe,
+ Z: pTe,
+ '%': mY
+ },
+ T = {
+ a: M,
+ A: N,
+ b: k,
+ B: I,
+ c: C,
+ d: hY,
+ e: hY,
+ f: Rwe,
+ g: uY,
+ G: cY,
+ H: fY,
+ I: fY,
+ j: Awe,
+ L: Dwe,
+ m: Swe,
+ M: _we,
+ p: L,
+ q: Cwe,
+ Q: Mwe,
+ s: Iwe,
+ S: Lwe,
+ u: bwe,
+ U: wwe,
+ V: Twe,
+ w: xwe,
+ W: kwe,
+ x: O,
+ X: D,
+ y: uY,
+ Y: cY,
+ Z: Ewe,
+ '%': Nwe
+ };
+ (w.x = E(r, w)), (w.X = E(n, w)), (w.c = E(e, w)), (S.x = E(r, S)), (S.X = E(n, S)), (S.c = E(e, S));
+ function E(H, q) {
+ return function (K) {
+ var se = [],
+ ce = -1,
+ ue = 0,
+ te = H.length,
+ De,
+ oe,
+ ke;
+ for (K instanceof Date || (K = new Date(+K)); ++ce < te; )
+ H.charCodeAt(ce) === 37 &&
+ (se.push(H.slice(ue, ce)),
+ (oe = lY[(De = H.charAt(++ce))]) != null
+ ? (De = H.charAt(++ce))
+ : (oe = De === 'e' ? ' ' : '0'),
+ (ke = q[De]) && (De = ke(K, oe)),
+ se.push(De),
+ (ue = ce + 1));
+ return se.push(H.slice(ue, ce)), se.join('');
+ };
+ }
+ o(E, 'newFormat');
+ function _(H, q) {
+ return function (K) {
+ var se = Gy(1900, void 0, 1),
+ ce = A(se, H, (K += ''), 0),
+ ue,
+ te;
+ if (ce != K.length) return null;
+ if ('Q' in se) return new Date(se.Q);
+ if ('s' in se) return new Date(se.s * 1e3 + ('L' in se ? se.L : 0));
+ if (
+ (q && !('Z' in se) && (se.Z = 0),
+ 'p' in se && (se.H = (se.H % 12) + se.p * 12),
+ se.m === void 0 && (se.m = 'q' in se ? se.q : 0),
+ 'V' in se)
+ ) {
+ if (se.V < 1 || se.V > 53) return null;
+ 'w' in se || (se.w = 1),
+ 'Z' in se
+ ? ((ue = q8(Gy(se.y, 0, 1))),
+ (te = ue.getUTCDay()),
+ (ue = te > 4 || te === 0 ? Bp.ceil(ue) : Bp(ue)),
+ (ue = zy.offset(ue, (se.V - 1) * 7)),
+ (se.y = ue.getUTCFullYear()),
+ (se.m = ue.getUTCMonth()),
+ (se.d = ue.getUTCDate() + ((se.w + 6) % 7)))
+ : ((ue = W8(Gy(se.y, 0, 1))),
+ (te = ue.getDay()),
+ (ue = te > 4 || te === 0 ? _h.ceil(ue) : _h(ue)),
+ (ue = Do.offset(ue, (se.V - 1) * 7)),
+ (se.y = ue.getFullYear()),
+ (se.m = ue.getMonth()),
+ (se.d = ue.getDate() + ((se.w + 6) % 7)));
+ } else
+ ('W' in se || 'U' in se) &&
+ ('w' in se || (se.w = 'u' in se ? se.u % 7 : 'W' in se ? 1 : 0),
+ (te = 'Z' in se ? q8(Gy(se.y, 0, 1)).getUTCDay() : W8(Gy(se.y, 0, 1)).getDay()),
+ (se.m = 0),
+ (se.d =
+ 'W' in se
+ ? ((se.w + 6) % 7) + se.W * 7 - ((te + 5) % 7)
+ : se.w + se.U * 7 - ((te + 6) % 7)));
+ return 'Z' in se ? ((se.H += (se.Z / 100) | 0), (se.M += se.Z % 100), q8(se)) : W8(se);
+ };
+ }
+ o(_, 'newParse');
+ function A(H, q, K, se) {
+ for (var ce = 0, ue = q.length, te = K.length, De, oe; ce < ue; ) {
+ if (se >= te) return -1;
+ if (((De = q.charCodeAt(ce++)), De === 37)) {
+ if (
+ ((De = q.charAt(ce++)),
+ (oe = T[De in lY ? q.charAt(ce++) : De]),
+ !oe || (se = oe(H, K, se)) < 0)
+ )
+ return -1;
+ } else if (De != K.charCodeAt(se++)) return -1;
+ }
+ return se;
+ }
+ o(A, 'parseSpecifier');
+ function L(H, q, K) {
+ var se = h.exec(q.slice(K));
+ return se ? ((H.p = f.get(se[0].toLowerCase())), K + se[0].length) : -1;
+ }
+ o(L, 'parsePeriod');
+ function M(H, q, K) {
+ var se = m.exec(q.slice(K));
+ return se ? ((H.w = g.get(se[0].toLowerCase())), K + se[0].length) : -1;
+ }
+ o(M, 'parseShortWeekday');
+ function N(H, q, K) {
+ var se = d.exec(q.slice(K));
+ return se ? ((H.w = p.get(se[0].toLowerCase())), K + se[0].length) : -1;
+ }
+ o(N, 'parseWeekday');
+ function k(H, q, K) {
+ var se = x.exec(q.slice(K));
+ return se ? ((H.m = b.get(se[0].toLowerCase())), K + se[0].length) : -1;
+ }
+ o(k, 'parseShortMonth');
+ function I(H, q, K) {
+ var se = y.exec(q.slice(K));
+ return se ? ((H.m = v.get(se[0].toLowerCase())), K + se[0].length) : -1;
+ }
+ o(I, 'parseMonth');
+ function C(H, q, K) {
+ return A(H, e, q, K);
+ }
+ o(C, 'parseLocaleDateTime');
+ function O(H, q, K) {
+ return A(H, r, q, K);
+ }
+ o(O, 'parseLocaleDate');
+ function D(H, q, K) {
+ return A(H, n, q, K);
+ }
+ o(D, 'parseLocaleTime');
+ function P(H) {
+ return s[H.getDay()];
+ }
+ o(P, 'formatShortWeekday');
+ function F(H) {
+ return a[H.getDay()];
+ }
+ o(F, 'formatWeekday');
+ function B(H) {
+ return u[H.getMonth()];
+ }
+ o(B, 'formatShortMonth');
+ function $(H) {
+ return l[H.getMonth()];
+ }
+ o($, 'formatMonth');
+ function z(H) {
+ return i[+(H.getHours() >= 12)];
+ }
+ o(z, 'formatPeriod');
+ function Y(H) {
+ return 1 + ~~(H.getMonth() / 3);
+ }
+ o(Y, 'formatQuarter');
+ function Q(H) {
+ return s[H.getUTCDay()];
+ }
+ o(Q, 'formatUTCShortWeekday');
+ function X(H) {
+ return a[H.getUTCDay()];
+ }
+ o(X, 'formatUTCWeekday');
+ function ie(H) {
+ return u[H.getUTCMonth()];
+ }
+ o(ie, 'formatUTCShortMonth');
+ function j(H) {
+ return l[H.getUTCMonth()];
+ }
+ o(j, 'formatUTCMonth');
+ function J(H) {
+ return i[+(H.getUTCHours() >= 12)];
+ }
+ o(J, 'formatUTCPeriod');
+ function Z(H) {
+ return 1 + ~~(H.getUTCMonth() / 3);
+ }
+ return (
+ o(Z, 'formatUTCQuarter'),
+ {
+ format: o(function (H) {
+ var q = E((H += ''), w);
+ return (
+ (q.toString = function () {
+ return H;
+ }),
+ q
+ );
+ }, 'format'),
+ parse: o(function (H) {
+ var q = _((H += ''), !1);
+ return (
+ (q.toString = function () {
+ return H;
+ }),
+ q
+ );
+ }, 'parse'),
+ utcFormat: o(function (H) {
+ var q = E((H += ''), S);
+ return (
+ (q.toString = function () {
+ return H;
+ }),
+ q
+ );
+ }, 'utcFormat'),
+ utcParse: o(function (H) {
+ var q = _((H += ''), !0);
+ return (
+ (q.toString = function () {
+ return H;
+ }),
+ q
+ );
+ }, 'utcParse')
+ }
+ );
+ }
+ function Pr(t, e, r) {
+ var n = t < 0 ? '-' : '',
+ i = (n ? -t : t) + '',
+ a = i.length;
+ return n + (a < r ? new Array(r - a + 1).join(e) + i : i);
+ }
+ function vwe(t) {
+ return t.replace(ywe, '\\$&');
+ }
+ function $y(t) {
+ return new RegExp('^(?:' + t.map(vwe).join('|') + ')', 'i');
+ }
+ function Vy(t) {
+ return new Map(t.map((e, r) => [e.toLowerCase(), r]));
+ }
+ function xwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 1));
+ return n ? ((t.w = +n[0]), r + n[0].length) : -1;
+ }
+ function bwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 1));
+ return n ? ((t.u = +n[0]), r + n[0].length) : -1;
+ }
+ function wwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.U = +n[0]), r + n[0].length) : -1;
+ }
+ function Twe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.V = +n[0]), r + n[0].length) : -1;
+ }
+ function kwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.W = +n[0]), r + n[0].length) : -1;
+ }
+ function cY(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 4));
+ return n ? ((t.y = +n[0]), r + n[0].length) : -1;
+ }
+ function uY(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3)), r + n[0].length) : -1;
+ }
+ function Ewe(t, e, r) {
+ var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r, r + 6));
+ return n ? ((t.Z = n[1] ? 0 : -(n[2] + (n[3] || '00'))), r + n[0].length) : -1;
+ }
+ function Cwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 1));
+ return n ? ((t.q = n[0] * 3 - 3), r + n[0].length) : -1;
+ }
+ function Swe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.m = n[0] - 1), r + n[0].length) : -1;
+ }
+ function hY(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.d = +n[0]), r + n[0].length) : -1;
+ }
+ function Awe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 3));
+ return n ? ((t.m = 0), (t.d = +n[0]), r + n[0].length) : -1;
+ }
+ function fY(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.H = +n[0]), r + n[0].length) : -1;
+ }
+ function _we(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.M = +n[0]), r + n[0].length) : -1;
+ }
+ function Lwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 2));
+ return n ? ((t.S = +n[0]), r + n[0].length) : -1;
+ }
+ function Dwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 3));
+ return n ? ((t.L = +n[0]), r + n[0].length) : -1;
+ }
+ function Rwe(t, e, r) {
+ var n = Ki.exec(e.slice(r, r + 6));
+ return n ? ((t.L = Math.floor(n[0] / 1e3)), r + n[0].length) : -1;
+ }
+ function Nwe(t, e, r) {
+ var n = gwe.exec(e.slice(r, r + 1));
+ return n ? r + n[0].length : -1;
+ }
+ function Mwe(t, e, r) {
+ var n = Ki.exec(e.slice(r));
+ return n ? ((t.Q = +n[0]), r + n[0].length) : -1;
+ }
+ function Iwe(t, e, r) {
+ var n = Ki.exec(e.slice(r));
+ return n ? ((t.s = +n[0]), r + n[0].length) : -1;
+ }
+ function dY(t, e) {
+ return Pr(t.getDate(), e, 2);
+ }
+ function Owe(t, e) {
+ return Pr(t.getHours(), e, 2);
+ }
+ function Pwe(t, e) {
+ return Pr(t.getHours() % 12 || 12, e, 2);
+ }
+ function Bwe(t, e) {
+ return Pr(1 + Do.count(Qs(t), t), e, 3);
+ }
+ function vY(t, e) {
+ return Pr(t.getMilliseconds(), e, 3);
+ }
+ function Fwe(t, e) {
+ return vY(t, e) + '000';
+ }
+ function zwe(t, e) {
+ return Pr(t.getMonth() + 1, e, 2);
+ }
+ function Gwe(t, e) {
+ return Pr(t.getMinutes(), e, 2);
+ }
+ function $we(t, e) {
+ return Pr(t.getSeconds(), e, 2);
+ }
+ function Vwe(t) {
+ var e = t.getDay();
+ return e === 0 ? 7 : e;
+ }
+ function Uwe(t, e) {
+ return Pr(yl.count(Qs(t) - 1, t), e, 2);
+ }
+ function xY(t) {
+ var e = t.getDay();
+ return e >= 4 || e === 0 ? cc(t) : cc.ceil(t);
+ }
+ function Hwe(t, e) {
+ return (t = xY(t)), Pr(cc.count(Qs(t), t) + (Qs(t).getDay() === 4), e, 2);
+ }
+ function Ywe(t) {
+ return t.getDay();
+ }
+ function Wwe(t, e) {
+ return Pr(_h.count(Qs(t) - 1, t), e, 2);
+ }
+ function qwe(t, e) {
+ return Pr(t.getFullYear() % 100, e, 2);
+ }
+ function Xwe(t, e) {
+ return (t = xY(t)), Pr(t.getFullYear() % 100, e, 2);
+ }
+ function jwe(t, e) {
+ return Pr(t.getFullYear() % 1e4, e, 4);
+ }
+ function Kwe(t, e) {
+ var r = t.getDay();
+ return (t = r >= 4 || r === 0 ? cc(t) : cc.ceil(t)), Pr(t.getFullYear() % 1e4, e, 4);
+ }
+ function Qwe(t) {
+ var e = t.getTimezoneOffset();
+ return (e > 0 ? '-' : ((e *= -1), '+')) + Pr((e / 60) | 0, '0', 2) + Pr(e % 60, '0', 2);
+ }
+ function pY(t, e) {
+ return Pr(t.getUTCDate(), e, 2);
+ }
+ function Zwe(t, e) {
+ return Pr(t.getUTCHours(), e, 2);
+ }
+ function Jwe(t, e) {
+ return Pr(t.getUTCHours() % 12 || 12, e, 2);
+ }
+ function eTe(t, e) {
+ return Pr(1 + zy.count(vl(t), t), e, 3);
+ }
+ function bY(t, e) {
+ return Pr(t.getUTCMilliseconds(), e, 3);
+ }
+ function tTe(t, e) {
+ return bY(t, e) + '000';
+ }
+ function rTe(t, e) {
+ return Pr(t.getUTCMonth() + 1, e, 2);
+ }
+ function nTe(t, e) {
+ return Pr(t.getUTCMinutes(), e, 2);
+ }
+ function iTe(t, e) {
+ return Pr(t.getUTCSeconds(), e, 2);
+ }
+ function aTe(t) {
+ var e = t.getUTCDay();
+ return e === 0 ? 7 : e;
+ }
+ function sTe(t, e) {
+ return Pr(pd.count(vl(t) - 1, t), e, 2);
+ }
+ function wY(t) {
+ var e = t.getUTCDay();
+ return e >= 4 || e === 0 ? Lh(t) : Lh.ceil(t);
+ }
+ function oTe(t, e) {
+ return (t = wY(t)), Pr(Lh.count(vl(t), t) + (vl(t).getUTCDay() === 4), e, 2);
+ }
+ function lTe(t) {
+ return t.getUTCDay();
+ }
+ function cTe(t, e) {
+ return Pr(Bp.count(vl(t) - 1, t), e, 2);
+ }
+ function uTe(t, e) {
+ return Pr(t.getUTCFullYear() % 100, e, 2);
+ }
+ function hTe(t, e) {
+ return (t = wY(t)), Pr(t.getUTCFullYear() % 100, e, 2);
+ }
+ function fTe(t, e) {
+ return Pr(t.getUTCFullYear() % 1e4, e, 4);
+ }
+ function dTe(t, e) {
+ var r = t.getUTCDay();
+ return (t = r >= 4 || r === 0 ? Lh(t) : Lh.ceil(t)), Pr(t.getUTCFullYear() % 1e4, e, 4);
+ }
+ function pTe() {
+ return '+0000';
+ }
+ function mY() {
+ return '%';
+ }
+ function gY(t) {
+ return +t;
+ }
+ function yY(t) {
+ return Math.floor(+t / 1e3);
+ }
+ var lY,
+ Ki,
+ gwe,
+ ywe,
+ TY = R(() => {
+ 'use strict';
+ _3();
+ o(W8, 'localDate');
+ o(q8, 'utcDate');
+ o(Gy, 'newDate');
+ o(X8, 'formatLocale');
+ (lY = { '-': '', _: ' ', 0: '0' }), (Ki = /^\s*\d+/), (gwe = /^%/), (ywe = /[\\^$*+?|[\]().{}]/g);
+ o(Pr, 'pad');
+ o(vwe, 'requote');
+ o($y, 'formatRe');
+ o(Vy, 'formatLookup');
+ o(xwe, 'parseWeekdayNumberSunday');
+ o(bwe, 'parseWeekdayNumberMonday');
+ o(wwe, 'parseWeekNumberSunday');
+ o(Twe, 'parseWeekNumberISO');
+ o(kwe, 'parseWeekNumberMonday');
+ o(cY, 'parseFullYear');
+ o(uY, 'parseYear');
+ o(Ewe, 'parseZone');
+ o(Cwe, 'parseQuarter');
+ o(Swe, 'parseMonthNumber');
+ o(hY, 'parseDayOfMonth');
+ o(Awe, 'parseDayOfYear');
+ o(fY, 'parseHour24');
+ o(_we, 'parseMinutes');
+ o(Lwe, 'parseSeconds');
+ o(Dwe, 'parseMilliseconds');
+ o(Rwe, 'parseMicroseconds');
+ o(Nwe, 'parseLiteralPercent');
+ o(Mwe, 'parseUnixTimestamp');
+ o(Iwe, 'parseUnixTimestampSeconds');
+ o(dY, 'formatDayOfMonth');
+ o(Owe, 'formatHour24');
+ o(Pwe, 'formatHour12');
+ o(Bwe, 'formatDayOfYear');
+ o(vY, 'formatMilliseconds');
+ o(Fwe, 'formatMicroseconds');
+ o(zwe, 'formatMonthNumber');
+ o(Gwe, 'formatMinutes');
+ o($we, 'formatSeconds');
+ o(Vwe, 'formatWeekdayNumberMonday');
+ o(Uwe, 'formatWeekNumberSunday');
+ o(xY, 'dISO');
+ o(Hwe, 'formatWeekNumberISO');
+ o(Ywe, 'formatWeekdayNumberSunday');
+ o(Wwe, 'formatWeekNumberMonday');
+ o(qwe, 'formatYear');
+ o(Xwe, 'formatYearISO');
+ o(jwe, 'formatFullYear');
+ o(Kwe, 'formatFullYearISO');
+ o(Qwe, 'formatZone');
+ o(pY, 'formatUTCDayOfMonth');
+ o(Zwe, 'formatUTCHour24');
+ o(Jwe, 'formatUTCHour12');
+ o(eTe, 'formatUTCDayOfYear');
+ o(bY, 'formatUTCMilliseconds');
+ o(tTe, 'formatUTCMicroseconds');
+ o(rTe, 'formatUTCMonthNumber');
+ o(nTe, 'formatUTCMinutes');
+ o(iTe, 'formatUTCSeconds');
+ o(aTe, 'formatUTCWeekdayNumberMonday');
+ o(sTe, 'formatUTCWeekNumberSunday');
+ o(wY, 'UTCdISO');
+ o(oTe, 'formatUTCWeekNumberISO');
+ o(lTe, 'formatUTCWeekdayNumberSunday');
+ o(cTe, 'formatUTCWeekNumberMonday');
+ o(uTe, 'formatUTCYear');
+ o(hTe, 'formatUTCYearISO');
+ o(fTe, 'formatUTCFullYear');
+ o(dTe, 'formatUTCFullYearISO');
+ o(pTe, 'formatUTCZone');
+ o(mY, 'formatLiteralPercent');
+ o(gY, 'formatUnixTimestamp');
+ o(yY, 'formatUnixTimestampSeconds');
+ });
+ function j8(t) {
+ return (Fp = X8(t)), (md = Fp.format), (kY = Fp.parse), (EY = Fp.utcFormat), (CY = Fp.utcParse), Fp;
+ }
+ var Fp,
+ md,
+ kY,
+ EY,
+ CY,
+ SY = R(() => {
+ 'use strict';
+ TY();
+ j8({
+ dateTime: '%x, %X',
+ date: '%-m/%-d/%Y',
+ time: '%-I:%M:%S %p',
+ periods: ['AM', 'PM'],
+ days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+ shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+ months: [
+ 'January',
+ 'February',
+ 'March',
+ 'April',
+ 'May',
+ 'June',
+ 'July',
+ 'August',
+ 'September',
+ 'October',
+ 'November',
+ 'December'
+ ],
+ shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
+ });
+ o(j8, 'defaultLocale');
+ });
+ var K8 = R(() => {
+ 'use strict';
+ SY();
+ });
+ function mTe(t) {
+ return new Date(t);
+ }
+ function gTe(t) {
+ return t instanceof Date ? +t : +new Date(+t);
+ }
+ function AY(t, e, r, n, i, a, s, l, u, h) {
+ var f = By(),
+ d = f.invert,
+ p = f.domain,
+ m = h('.%L'),
+ g = h(':%S'),
+ y = h('%I:%M'),
+ v = h('%I %p'),
+ x = h('%a %d'),
+ b = h('%b %d'),
+ w = h('%B'),
+ S = h('%Y');
+ function T(E) {
+ return (
+ u(E) < E
+ ? m
+ : l(E) < E
+ ? g
+ : s(E) < E
+ ? y
+ : a(E) < E
+ ? v
+ : n(E) < E
+ ? i(E) < E
+ ? x
+ : b
+ : r(E) < E
+ ? w
+ : S
+ )(E);
+ }
+ return (
+ o(T, 'tickFormat'),
+ (f.invert = function (E) {
+ return new Date(d(E));
+ }),
+ (f.domain = function (E) {
+ return arguments.length ? p(Array.from(E, gTe)) : p().map(mTe);
+ }),
+ (f.ticks = function (E) {
+ var _ = p();
+ return t(_[0], _[_.length - 1], E ?? 10);
+ }),
+ (f.tickFormat = function (E, _) {
+ return _ == null ? T : h(_);
+ }),
+ (f.nice = function (E) {
+ var _ = p();
+ return (
+ (!E || typeof E.range != 'function') && (E = e(_[0], _[_.length - 1], E ?? 10)), E ? p(M8(_, E)) : f
+ );
+ }),
+ (f.copy = function () {
+ return x3(f, AY(t, e, r, n, i, a, s, l, u, h));
+ }),
+ f
+ );
+ }
+ function L3() {
+ return Ah.apply(
+ AY(H8, Y8, Qs, vu, yl, Do, yu, gu, Ks, md).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]),
+ arguments
+ );
+ }
+ var _Y = R(() => {
+ 'use strict';
+ _3();
+ K8();
+ R8();
+ Py();
+ jH();
+ o(mTe, 'date');
+ o(gTe, 'number');
+ o(AY, 'calendar');
+ o(L3, 'time');
+ });
+ var LY = R(() => {
+ 'use strict';
+ UH();
+ XH();
+ A8();
+ _Y();
+ });
+ function Q8(t) {
+ for (var e = (t.length / 6) | 0, r = new Array(e), n = 0; n < e; ) r[n] = '#' + t.slice(n * 6, ++n * 6);
+ return r;
+ }
+ var DY = R(() => {
+ 'use strict';
+ o(Q8, 'default');
+ });
+ var Z8,
+ RY = R(() => {
+ 'use strict';
+ DY();
+ Z8 = Q8('4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab');
+ });
+ var NY = R(() => {
+ 'use strict';
+ RY();
+ });
+ function Nn(t) {
+ return o(function () {
+ return t;
+ }, 'constant');
+ }
+ var D3 = R(() => {
+ 'use strict';
+ o(Nn, 'default');
+ });
+ function IY(t) {
+ return t > 1 ? 0 : t < -1 ? zp : Math.acos(t);
+ }
+ function e_(t) {
+ return t >= 1 ? Uy : t <= -1 ? -Uy : Math.asin(t);
+ }
+ var J8,
+ ua,
+ Dh,
+ MY,
+ R3,
+ xl,
+ gd,
+ Qi,
+ zp,
+ Uy,
+ Gp,
+ N3 = R(() => {
+ 'use strict';
+ (J8 = Math.abs),
+ (ua = Math.atan2),
+ (Dh = Math.cos),
+ (MY = Math.max),
+ (R3 = Math.min),
+ (xl = Math.sin),
+ (gd = Math.sqrt),
+ (Qi = 1e-12),
+ (zp = Math.PI),
+ (Uy = zp / 2),
+ (Gp = 2 * zp);
+ o(IY, 'acos');
+ o(e_, 'asin');
+ });
+ function M3(t) {
+ let e = 3;
+ return (
+ (t.digits = function (r) {
+ if (!arguments.length) return e;
+ if (r == null) e = null;
+ else {
+ let n = Math.floor(r);
+ if (!(n >= 0)) throw new RangeError(`invalid digits: ${r}`);
+ e = n;
+ }
+ return t;
+ }),
+ () => new ld(e)
+ );
+ }
+ var t_ = R(() => {
+ 'use strict';
+ d8();
+ o(M3, 'withPath');
+ });
+ function yTe(t) {
+ return t.innerRadius;
+ }
+ function vTe(t) {
+ return t.outerRadius;
+ }
+ function xTe(t) {
+ return t.startAngle;
+ }
+ function bTe(t) {
+ return t.endAngle;
+ }
+ function wTe(t) {
+ return t && t.padAngle;
+ }
+ function TTe(t, e, r, n, i, a, s, l) {
+ var u = r - t,
+ h = n - e,
+ f = s - i,
+ d = l - a,
+ p = d * u - f * h;
+ if (!(p * p < Qi)) return (p = (f * (e - a) - d * (t - i)) / p), [t + p * u, e + p * h];
+ }
+ function I3(t, e, r, n, i, a, s) {
+ var l = t - r,
+ u = e - n,
+ h = (s ? a : -a) / gd(l * l + u * u),
+ f = h * u,
+ d = -h * l,
+ p = t + f,
+ m = e + d,
+ g = r + f,
+ y = n + d,
+ v = (p + g) / 2,
+ x = (m + y) / 2,
+ b = g - p,
+ w = y - m,
+ S = b * b + w * w,
+ T = i - a,
+ E = p * y - g * m,
+ _ = (w < 0 ? -1 : 1) * gd(MY(0, T * T * S - E * E)),
+ A = (E * w - b * _) / S,
+ L = (-E * b - w * _) / S,
+ M = (E * w + b * _) / S,
+ N = (-E * b + w * _) / S,
+ k = A - v,
+ I = L - x,
+ C = M - v,
+ O = N - x;
+ return (
+ k * k + I * I > C * C + O * O && ((A = M), (L = N)),
+ {
+ cx: A,
+ cy: L,
+ x01: -f,
+ y01: -d,
+ x11: A * (i / T - 1),
+ y11: L * (i / T - 1)
+ }
+ );
+ }
+ function bl() {
+ var t = yTe,
+ e = vTe,
+ r = Nn(0),
+ n = null,
+ i = xTe,
+ a = bTe,
+ s = wTe,
+ l = null,
+ u = M3(h);
+ function h() {
+ var f,
+ d,
+ p = +t.apply(this, arguments),
+ m = +e.apply(this, arguments),
+ g = i.apply(this, arguments) - Uy,
+ y = a.apply(this, arguments) - Uy,
+ v = J8(y - g),
+ x = y > g;
+ if ((l || (l = f = u()), m < p && ((d = m), (m = p), (p = d)), !(m > Qi))) l.moveTo(0, 0);
+ else if (v > Gp - Qi)
+ l.moveTo(m * Dh(g), m * xl(g)),
+ l.arc(0, 0, m, g, y, !x),
+ p > Qi && (l.moveTo(p * Dh(y), p * xl(y)), l.arc(0, 0, p, y, g, x));
+ else {
+ var b = g,
+ w = y,
+ S = g,
+ T = y,
+ E = v,
+ _ = v,
+ A = s.apply(this, arguments) / 2,
+ L = A > Qi && (n ? +n.apply(this, arguments) : gd(p * p + m * m)),
+ M = R3(J8(m - p) / 2, +r.apply(this, arguments)),
+ N = M,
+ k = M,
+ I,
+ C;
+ if (L > Qi) {
+ var O = e_((L / p) * xl(A)),
+ D = e_((L / m) * xl(A));
+ (E -= O * 2) > Qi ? ((O *= x ? 1 : -1), (S += O), (T -= O)) : ((E = 0), (S = T = (g + y) / 2)),
+ (_ -= D * 2) > Qi ? ((D *= x ? 1 : -1), (b += D), (w -= D)) : ((_ = 0), (b = w = (g + y) / 2));
+ }
+ var P = m * Dh(b),
+ F = m * xl(b),
+ B = p * Dh(T),
+ $ = p * xl(T);
+ if (M > Qi) {
+ var z = m * Dh(w),
+ Y = m * xl(w),
+ Q = p * Dh(S),
+ X = p * xl(S),
+ ie;
+ if (v < zp)
+ if ((ie = TTe(P, F, Q, X, z, Y, B, $))) {
+ var j = P - ie[0],
+ J = F - ie[1],
+ Z = z - ie[0],
+ H = Y - ie[1],
+ q = 1 / xl(IY((j * Z + J * H) / (gd(j * j + J * J) * gd(Z * Z + H * H))) / 2),
+ K = gd(ie[0] * ie[0] + ie[1] * ie[1]);
+ (N = R3(M, (p - K) / (q - 1))), (k = R3(M, (m - K) / (q + 1)));
+ } else N = k = 0;
+ }
+ _ > Qi
+ ? k > Qi
+ ? ((I = I3(Q, X, P, F, m, k, x)),
+ (C = I3(z, Y, B, $, m, k, x)),
+ l.moveTo(I.cx + I.x01, I.cy + I.y01),
+ k < M
+ ? l.arc(I.cx, I.cy, k, ua(I.y01, I.x01), ua(C.y01, C.x01), !x)
+ : (l.arc(I.cx, I.cy, k, ua(I.y01, I.x01), ua(I.y11, I.x11), !x),
+ l.arc(0, 0, m, ua(I.cy + I.y11, I.cx + I.x11), ua(C.cy + C.y11, C.cx + C.x11), !x),
+ l.arc(C.cx, C.cy, k, ua(C.y11, C.x11), ua(C.y01, C.x01), !x)))
+ : (l.moveTo(P, F), l.arc(0, 0, m, b, w, !x))
+ : l.moveTo(P, F),
+ !(p > Qi) || !(E > Qi)
+ ? l.lineTo(B, $)
+ : N > Qi
+ ? ((I = I3(B, $, z, Y, p, -N, x)),
+ (C = I3(P, F, Q, X, p, -N, x)),
+ l.lineTo(I.cx + I.x01, I.cy + I.y01),
+ N < M
+ ? l.arc(I.cx, I.cy, N, ua(I.y01, I.x01), ua(C.y01, C.x01), !x)
+ : (l.arc(I.cx, I.cy, N, ua(I.y01, I.x01), ua(I.y11, I.x11), !x),
+ l.arc(0, 0, p, ua(I.cy + I.y11, I.cx + I.x11), ua(C.cy + C.y11, C.cx + C.x11), x),
+ l.arc(C.cx, C.cy, N, ua(C.y11, C.x11), ua(C.y01, C.x01), !x)))
+ : l.arc(0, 0, p, T, S, x);
+ }
+ if ((l.closePath(), f)) return (l = null), f + '' || null;
+ }
+ return (
+ o(h, 'arc'),
+ (h.centroid = function () {
+ var f = (+t.apply(this, arguments) + +e.apply(this, arguments)) / 2,
+ d = (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2 - zp / 2;
+ return [Dh(d) * f, xl(d) * f];
+ }),
+ (h.innerRadius = function (f) {
+ return arguments.length ? ((t = typeof f == 'function' ? f : Nn(+f)), h) : t;
+ }),
+ (h.outerRadius = function (f) {
+ return arguments.length ? ((e = typeof f == 'function' ? f : Nn(+f)), h) : e;
+ }),
+ (h.cornerRadius = function (f) {
+ return arguments.length ? ((r = typeof f == 'function' ? f : Nn(+f)), h) : r;
+ }),
+ (h.padRadius = function (f) {
+ return arguments.length ? ((n = f == null ? null : typeof f == 'function' ? f : Nn(+f)), h) : n;
+ }),
+ (h.startAngle = function (f) {
+ return arguments.length ? ((i = typeof f == 'function' ? f : Nn(+f)), h) : i;
+ }),
+ (h.endAngle = function (f) {
+ return arguments.length ? ((a = typeof f == 'function' ? f : Nn(+f)), h) : a;
+ }),
+ (h.padAngle = function (f) {
+ return arguments.length ? ((s = typeof f == 'function' ? f : Nn(+f)), h) : s;
+ }),
+ (h.context = function (f) {
+ return arguments.length ? ((l = f ?? null), h) : l;
+ }),
+ h
+ );
+ }
+ var OY = R(() => {
+ 'use strict';
+ D3();
+ N3();
+ t_();
+ o(yTe, 'arcInnerRadius');
+ o(vTe, 'arcOuterRadius');
+ o(xTe, 'arcStartAngle');
+ o(bTe, 'arcEndAngle');
+ o(wTe, 'arcPadAngle');
+ o(TTe, 'intersect');
+ o(I3, 'cornerTangents');
+ o(bl, 'default');
+ });
+ function Hy(t) {
+ return typeof t == 'object' && 'length' in t ? t : Array.from(t);
+ }
+ var Dyt,
+ r_ = R(() => {
+ 'use strict';
+ Dyt = Array.prototype.slice;
+ o(Hy, 'default');
+ });
+ function PY(t) {
+ this._context = t;
+ }
+ function xu(t) {
+ return new PY(t);
+ }
+ var n_ = R(() => {
+ 'use strict';
+ o(PY, 'Linear');
+ PY.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ this._point = 0;
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e);
+ break;
+ case 1:
+ this._point = 2;
+ default:
+ this._context.lineTo(t, e);
+ break;
+ }
+ }, 'point')
+ };
+ o(xu, 'default');
+ });
+ function BY(t) {
+ return t[0];
+ }
+ function FY(t) {
+ return t[1];
+ }
+ var zY = R(() => {
+ 'use strict';
+ o(BY, 'x');
+ o(FY, 'y');
+ });
+ function ha(t, e) {
+ var r = Nn(!0),
+ n = null,
+ i = xu,
+ a = null,
+ s = M3(l);
+ (t = typeof t == 'function' ? t : t === void 0 ? BY : Nn(t)),
+ (e = typeof e == 'function' ? e : e === void 0 ? FY : Nn(e));
+ function l(u) {
+ var h,
+ f = (u = Hy(u)).length,
+ d,
+ p = !1,
+ m;
+ for (n == null && (a = i((m = s()))), h = 0; h <= f; ++h)
+ !(h < f && r((d = u[h]), h, u)) === p && ((p = !p) ? a.lineStart() : a.lineEnd()),
+ p && a.point(+t(d, h, u), +e(d, h, u));
+ if (m) return (a = null), m + '' || null;
+ }
+ return (
+ o(l, 'line'),
+ (l.x = function (u) {
+ return arguments.length ? ((t = typeof u == 'function' ? u : Nn(+u)), l) : t;
+ }),
+ (l.y = function (u) {
+ return arguments.length ? ((e = typeof u == 'function' ? u : Nn(+u)), l) : e;
+ }),
+ (l.defined = function (u) {
+ return arguments.length ? ((r = typeof u == 'function' ? u : Nn(!!u)), l) : r;
+ }),
+ (l.curve = function (u) {
+ return arguments.length ? ((i = u), n != null && (a = i(n)), l) : i;
+ }),
+ (l.context = function (u) {
+ return arguments.length ? (u == null ? (n = a = null) : (a = i((n = u))), l) : n;
+ }),
+ l
+ );
+ }
+ var GY = R(() => {
+ 'use strict';
+ r_();
+ D3();
+ n_();
+ t_();
+ zY();
+ o(ha, 'default');
+ });
+ function i_(t, e) {
+ return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
+ }
+ var $Y = R(() => {
+ 'use strict';
+ o(i_, 'default');
+ });
+ function a_(t) {
+ return t;
+ }
+ var VY = R(() => {
+ 'use strict';
+ o(a_, 'default');
+ });
+ function O3() {
+ var t = a_,
+ e = i_,
+ r = null,
+ n = Nn(0),
+ i = Nn(Gp),
+ a = Nn(0);
+ function s(l) {
+ var u,
+ h = (l = Hy(l)).length,
+ f,
+ d,
+ p = 0,
+ m = new Array(h),
+ g = new Array(h),
+ y = +n.apply(this, arguments),
+ v = Math.min(Gp, Math.max(-Gp, i.apply(this, arguments) - y)),
+ x,
+ b = Math.min(Math.abs(v) / h, a.apply(this, arguments)),
+ w = b * (v < 0 ? -1 : 1),
+ S;
+ for (u = 0; u < h; ++u) (S = g[(m[u] = u)] = +t(l[u], u, l)) > 0 && (p += S);
+ for (
+ e != null
+ ? m.sort(function (T, E) {
+ return e(g[T], g[E]);
+ })
+ : r != null &&
+ m.sort(function (T, E) {
+ return r(l[T], l[E]);
+ }),
+ u = 0,
+ d = p ? (v - h * w) / p : 0;
+ u < h;
+ ++u, y = x
+ )
+ (f = m[u]),
+ (S = g[f]),
+ (x = y + (S > 0 ? S * d : 0) + w),
+ (g[f] = {
+ data: l[f],
+ index: u,
+ value: S,
+ startAngle: y,
+ endAngle: x,
+ padAngle: b
+ });
+ return g;
+ }
+ return (
+ o(s, 'pie'),
+ (s.value = function (l) {
+ return arguments.length ? ((t = typeof l == 'function' ? l : Nn(+l)), s) : t;
+ }),
+ (s.sortValues = function (l) {
+ return arguments.length ? ((e = l), (r = null), s) : e;
+ }),
+ (s.sort = function (l) {
+ return arguments.length ? ((r = l), (e = null), s) : r;
+ }),
+ (s.startAngle = function (l) {
+ return arguments.length ? ((n = typeof l == 'function' ? l : Nn(+l)), s) : n;
+ }),
+ (s.endAngle = function (l) {
+ return arguments.length ? ((i = typeof l == 'function' ? l : Nn(+l)), s) : i;
+ }),
+ (s.padAngle = function (l) {
+ return arguments.length ? ((a = typeof l == 'function' ? l : Nn(+l)), s) : a;
+ }),
+ s
+ );
+ }
+ var UY = R(() => {
+ 'use strict';
+ r_();
+ D3();
+ $Y();
+ VY();
+ N3();
+ o(O3, 'default');
+ });
+ function s_(t) {
+ return new P3(t, !0);
+ }
+ function o_(t) {
+ return new P3(t, !1);
+ }
+ var P3,
+ HY = R(() => {
+ 'use strict';
+ P3 = class {
+ static {
+ o(this, 'Bump');
+ }
+ constructor(e, r) {
+ (this._context = e), (this._x = r);
+ }
+ 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, r) {
+ switch (((e = +e), (r = +r), this._point)) {
+ case 0: {
+ (this._point = 1), this._line ? this._context.lineTo(e, r) : this._context.moveTo(e, r);
+ break;
+ }
+ case 1:
+ this._point = 2;
+ default: {
+ this._x
+ ? this._context.bezierCurveTo(
+ (this._x0 = (this._x0 + e) / 2),
+ this._y0,
+ this._x0,
+ r,
+ e,
+ r
+ )
+ : this._context.bezierCurveTo(
+ this._x0,
+ (this._y0 = (this._y0 + r) / 2),
+ e,
+ this._y0,
+ e,
+ r
+ );
+ break;
+ }
+ }
+ (this._x0 = e), (this._y0 = r);
+ }
+ };
+ o(s_, 'bumpX');
+ o(o_, 'bumpY');
+ });
+ function Zs() {}
+ var Yy = R(() => {
+ 'use strict';
+ o(Zs, 'default');
+ });
+ function $p(t, e, r) {
+ t._context.bezierCurveTo(
+ (2 * t._x0 + t._x1) / 3,
+ (2 * t._y0 + t._y1) / 3,
+ (t._x0 + 2 * t._x1) / 3,
+ (t._y0 + 2 * t._y1) / 3,
+ (t._x0 + 4 * t._x1 + e) / 6,
+ (t._y0 + 4 * t._y1 + r) / 6
+ );
+ }
+ function Wy(t) {
+ this._context = t;
+ }
+ function vs(t) {
+ return new Wy(t);
+ }
+ var qy = R(() => {
+ 'use strict';
+ o($p, 'point');
+ o(Wy, 'Basis');
+ Wy.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ switch (this._point) {
+ case 3:
+ $p(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);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, 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:
+ $p(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e);
+ }, 'point')
+ };
+ o(vs, 'default');
+ });
+ function YY(t) {
+ this._context = t;
+ }
+ function B3(t) {
+ return new YY(t);
+ }
+ var WY = R(() => {
+ 'use strict';
+ Yy();
+ qy();
+ o(YY, 'BasisClosed');
+ YY.prototype = {
+ areaStart: Zs,
+ areaEnd: Zs,
+ lineStart: o(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);
+ }, 'lineStart'),
+ lineEnd: o(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;
+ }
+ }
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), (this._x2 = t), (this._y2 = e);
+ break;
+ case 1:
+ (this._point = 2), (this._x3 = t), (this._y3 = e);
+ break;
+ case 2:
+ (this._point = 3),
+ (this._x4 = t),
+ (this._y4 = e),
+ this._context.moveTo((this._x0 + 4 * this._x1 + t) / 6, (this._y0 + 4 * this._y1 + e) / 6);
+ break;
+ default:
+ $p(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e);
+ }, 'point')
+ };
+ o(B3, 'default');
+ });
+ function qY(t) {
+ this._context = t;
+ }
+ function F3(t) {
+ return new qY(t);
+ }
+ var XY = R(() => {
+ 'use strict';
+ qy();
+ o(qY, 'BasisOpen');
+ qY.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ this._point = 1;
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3;
+ var r = (this._x0 + 4 * this._x1 + t) / 6,
+ n = (this._y0 + 4 * this._y1 + e) / 6;
+ this._line ? this._context.lineTo(r, n) : this._context.moveTo(r, n);
+ break;
+ case 3:
+ this._point = 4;
+ default:
+ $p(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e);
+ }, 'point')
+ };
+ o(F3, 'default');
+ });
+ function jY(t, e) {
+ (this._basis = new Wy(t)), (this._beta = e);
+ }
+ var l_,
+ KY = R(() => {
+ 'use strict';
+ qy();
+ o(jY, 'Bundle');
+ jY.prototype = {
+ lineStart: o(function () {
+ (this._x = []), (this._y = []), this._basis.lineStart();
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ var t = this._x,
+ e = this._y,
+ r = t.length - 1;
+ if (r > 0)
+ for (var n = t[0], i = e[0], a = t[r] - n, s = e[r] - i, l = -1, u; ++l <= r; )
+ (u = l / r),
+ this._basis.point(
+ this._beta * t[l] + (1 - this._beta) * (n + u * a),
+ this._beta * e[l] + (1 - this._beta) * (i + u * s)
+ );
+ (this._x = this._y = null), this._basis.lineEnd();
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ this._x.push(+t), this._y.push(+e);
+ }, 'point')
+ };
+ l_ = o(function t(e) {
+ function r(n) {
+ return e === 1 ? new Wy(n) : new jY(n, e);
+ }
+ return (
+ o(r, 'bundle'),
+ (r.beta = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0.85);
+ });
+ function Vp(t, e, r) {
+ t._context.bezierCurveTo(
+ t._x1 + t._k * (t._x2 - t._x0),
+ t._y1 + t._k * (t._y2 - t._y0),
+ t._x2 + t._k * (t._x1 - e),
+ t._y2 + t._k * (t._y1 - r),
+ t._x2,
+ t._y2
+ );
+ }
+ function z3(t, e) {
+ (this._context = t), (this._k = (1 - e) / 6);
+ }
+ var c_,
+ Xy = R(() => {
+ 'use strict';
+ o(Vp, 'point');
+ o(z3, 'Cardinal');
+ z3.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ switch (this._point) {
+ case 2:
+ this._context.lineTo(this._x2, this._y2);
+ break;
+ case 3:
+ Vp(this, this._x1, this._y1);
+ break;
+ }
+ (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e);
+ break;
+ case 1:
+ (this._point = 2), (this._x1 = t), (this._y1 = e);
+ break;
+ case 2:
+ this._point = 3;
+ default:
+ Vp(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1),
+ (this._x1 = this._x2),
+ (this._x2 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ c_ = o(function t(e) {
+ function r(n) {
+ return new z3(n, e);
+ }
+ return (
+ o(r, 'cardinal'),
+ (r.tension = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0);
+ });
+ function G3(t, e) {
+ (this._context = t), (this._k = (1 - e) / 6);
+ }
+ var u_,
+ h_ = R(() => {
+ 'use strict';
+ Yy();
+ Xy();
+ o(G3, 'CardinalClosed');
+ G3.prototype = {
+ areaStart: Zs,
+ areaEnd: Zs,
+ lineStart: o(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);
+ }, 'lineStart'),
+ lineEnd: o(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;
+ }
+ }
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), (this._x3 = t), (this._y3 = e);
+ break;
+ case 1:
+ (this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = e));
+ break;
+ case 2:
+ (this._point = 3), (this._x5 = t), (this._y5 = e);
+ break;
+ default:
+ Vp(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1),
+ (this._x1 = this._x2),
+ (this._x2 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ u_ = o(function t(e) {
+ function r(n) {
+ return new G3(n, e);
+ }
+ return (
+ o(r, 'cardinal'),
+ (r.tension = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0);
+ });
+ function $3(t, e) {
+ (this._context = t), (this._k = (1 - e) / 6);
+ }
+ var f_,
+ d_ = R(() => {
+ 'use strict';
+ Xy();
+ o($3, 'CardinalOpen');
+ $3.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (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:
+ Vp(this, t, e);
+ break;
+ }
+ (this._x0 = this._x1),
+ (this._x1 = this._x2),
+ (this._x2 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ f_ = o(function t(e) {
+ function r(n) {
+ return new $3(n, e);
+ }
+ return (
+ o(r, 'cardinal'),
+ (r.tension = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0);
+ });
+ function jy(t, e, r) {
+ var n = t._x1,
+ i = t._y1,
+ a = t._x2,
+ s = t._y2;
+ if (t._l01_a > Qi) {
+ var l = 2 * t._l01_2a + 3 * t._l01_a * t._l12_a + t._l12_2a,
+ u = 3 * t._l01_a * (t._l01_a + t._l12_a);
+ (n = (n * l - t._x0 * t._l12_2a + t._x2 * t._l01_2a) / u),
+ (i = (i * l - t._y0 * t._l12_2a + t._y2 * t._l01_2a) / u);
+ }
+ if (t._l23_a > Qi) {
+ var h = 2 * t._l23_2a + 3 * t._l23_a * t._l12_a + t._l12_2a,
+ f = 3 * t._l23_a * (t._l23_a + t._l12_a);
+ (a = (a * h + t._x1 * t._l23_2a - e * t._l12_2a) / f),
+ (s = (s * h + t._y1 * t._l23_2a - r * t._l12_2a) / f);
+ }
+ t._context.bezierCurveTo(n, i, a, s, t._x2, t._y2);
+ }
+ function QY(t, e) {
+ (this._context = t), (this._alpha = e);
+ }
+ var p_,
+ V3 = R(() => {
+ 'use strict';
+ N3();
+ Xy();
+ o(jy, 'point');
+ o(QY, 'CatmullRom');
+ QY.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(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);
+ }, 'lineStart'),
+ lineEnd: o(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);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ if (((t = +t), (e = +e), this._point)) {
+ var r = this._x2 - t,
+ n = this._y2 - e;
+ this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha)));
+ }
+ switch (this._point) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e);
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3;
+ default:
+ jy(this, t, 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 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ p_ = o(function t(e) {
+ function r(n) {
+ return e ? new QY(n, e) : new z3(n, 0);
+ }
+ return (
+ o(r, 'catmullRom'),
+ (r.alpha = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0.5);
+ });
+ function ZY(t, e) {
+ (this._context = t), (this._alpha = e);
+ }
+ var m_,
+ JY = R(() => {
+ 'use strict';
+ h_();
+ Yy();
+ V3();
+ o(ZY, 'CatmullRomClosed');
+ ZY.prototype = {
+ areaStart: Zs,
+ areaEnd: Zs,
+ lineStart: o(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);
+ }, 'lineStart'),
+ lineEnd: o(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;
+ }
+ }
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ if (((t = +t), (e = +e), this._point)) {
+ var r = this._x2 - t,
+ n = this._y2 - e;
+ this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha)));
+ }
+ switch (this._point) {
+ case 0:
+ (this._point = 1), (this._x3 = t), (this._y3 = e);
+ break;
+ case 1:
+ (this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = e));
+ break;
+ case 2:
+ (this._point = 3), (this._x5 = t), (this._y5 = e);
+ break;
+ default:
+ jy(this, t, 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 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ m_ = o(function t(e) {
+ function r(n) {
+ return e ? new ZY(n, e) : new G3(n, 0);
+ }
+ return (
+ o(r, 'catmullRom'),
+ (r.alpha = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0.5);
+ });
+ function eW(t, e) {
+ (this._context = t), (this._alpha = e);
+ }
+ var g_,
+ tW = R(() => {
+ 'use strict';
+ d_();
+ V3();
+ o(eW, 'CatmullRomOpen');
+ eW.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(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);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ if (((t = +t), (e = +e), this._point)) {
+ var r = this._x2 - t,
+ n = this._y2 - e;
+ this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, 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:
+ jy(this, t, 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 = t),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = e);
+ }, 'point')
+ };
+ g_ = o(function t(e) {
+ function r(n) {
+ return e ? new eW(n, e) : new $3(n, 0);
+ }
+ return (
+ o(r, 'catmullRom'),
+ (r.alpha = function (n) {
+ return t(+n);
+ }),
+ r
+ );
+ }, 'custom')(0.5);
+ });
+ function rW(t) {
+ this._context = t;
+ }
+ function U3(t) {
+ return new rW(t);
+ }
+ var nW = R(() => {
+ 'use strict';
+ Yy();
+ o(rW, 'LinearClosed');
+ rW.prototype = {
+ areaStart: Zs,
+ areaEnd: Zs,
+ lineStart: o(function () {
+ this._point = 0;
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ this._point && this._context.closePath();
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ (t = +t),
+ (e = +e),
+ this._point ? this._context.lineTo(t, e) : ((this._point = 1), this._context.moveTo(t, e));
+ }, 'point')
+ };
+ o(U3, 'default');
+ });
+ function iW(t) {
+ return t < 0 ? -1 : 1;
+ }
+ function aW(t, e, r) {
+ var n = t._x1 - t._x0,
+ i = e - t._x1,
+ a = (t._y1 - t._y0) / (n || (i < 0 && -0)),
+ s = (r - t._y1) / (i || (n < 0 && -0)),
+ l = (a * i + s * n) / (n + i);
+ return (iW(a) + iW(s)) * Math.min(Math.abs(a), Math.abs(s), 0.5 * Math.abs(l)) || 0;
+ }
+ function sW(t, e) {
+ var r = t._x1 - t._x0;
+ return r ? ((3 * (t._y1 - t._y0)) / r - e) / 2 : e;
+ }
+ function y_(t, e, r) {
+ var n = t._x0,
+ i = t._y0,
+ a = t._x1,
+ s = t._y1,
+ l = (a - n) / 3;
+ t._context.bezierCurveTo(n + l, i + l * e, a - l, s - l * r, a, s);
+ }
+ function H3(t) {
+ this._context = t;
+ }
+ function oW(t) {
+ this._context = new lW(t);
+ }
+ function lW(t) {
+ this._context = t;
+ }
+ function v_(t) {
+ return new H3(t);
+ }
+ function x_(t) {
+ return new oW(t);
+ }
+ var cW = R(() => {
+ 'use strict';
+ o(iW, 'sign');
+ o(aW, 'slope3');
+ o(sW, 'slope2');
+ o(y_, 'point');
+ o(H3, 'MonotoneX');
+ H3.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ switch (this._point) {
+ case 2:
+ this._context.lineTo(this._x1, this._y1);
+ break;
+ case 3:
+ y_(this, this._t0, sW(this, this._t0));
+ break;
+ }
+ (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ var r = NaN;
+ if (((t = +t), (e = +e), !(t === this._x1 && e === this._y1))) {
+ switch (this._point) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e);
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ (this._point = 3), y_(this, sW(this, (r = aW(this, t, e))), r);
+ break;
+ default:
+ y_(this, this._t0, (r = aW(this, t, e)));
+ break;
+ }
+ (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e), (this._t0 = r);
+ }
+ }, 'point')
+ };
+ o(oW, 'MonotoneY');
+ (oW.prototype = Object.create(H3.prototype)).point = function (t, e) {
+ H3.prototype.point.call(this, e, t);
+ };
+ o(lW, 'ReflectContext');
+ lW.prototype = {
+ moveTo: o(function (t, e) {
+ this._context.moveTo(e, t);
+ }, 'moveTo'),
+ closePath: o(function () {
+ this._context.closePath();
+ }, 'closePath'),
+ lineTo: o(function (t, e) {
+ this._context.lineTo(e, t);
+ }, 'lineTo'),
+ bezierCurveTo: o(function (t, e, r, n, i, a) {
+ this._context.bezierCurveTo(e, t, n, r, a, i);
+ }, 'bezierCurveTo')
+ };
+ o(v_, 'monotoneX');
+ o(x_, 'monotoneY');
+ });
+ function hW(t) {
+ this._context = t;
+ }
+ function uW(t) {
+ var e,
+ r = t.length - 1,
+ n,
+ i = new Array(r),
+ a = new Array(r),
+ s = new Array(r);
+ for (i[0] = 0, a[0] = 2, s[0] = t[0] + 2 * t[1], e = 1; e < r - 1; ++e)
+ (i[e] = 1), (a[e] = 4), (s[e] = 4 * t[e] + 2 * t[e + 1]);
+ for (i[r - 1] = 2, a[r - 1] = 7, s[r - 1] = 8 * t[r - 1] + t[r], e = 1; e < r; ++e)
+ (n = i[e] / a[e - 1]), (a[e] -= n), (s[e] -= n * s[e - 1]);
+ for (i[r - 1] = s[r - 1] / a[r - 1], e = r - 2; e >= 0; --e) i[e] = (s[e] - i[e + 1]) / a[e];
+ for (a[r - 1] = (t[r] + i[r - 1]) / 2, e = 0; e < r - 1; ++e) a[e] = 2 * t[e + 1] - i[e + 1];
+ return [i, a];
+ }
+ function Y3(t) {
+ return new hW(t);
+ }
+ var fW = R(() => {
+ 'use strict';
+ o(hW, 'Natural');
+ hW.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x = []), (this._y = []);
+ }, 'lineStart'),
+ lineEnd: o(function () {
+ var t = this._x,
+ e = this._y,
+ r = t.length;
+ if (r)
+ if ((this._line ? this._context.lineTo(t[0], e[0]) : this._context.moveTo(t[0], e[0]), r === 2))
+ this._context.lineTo(t[1], e[1]);
+ else
+ for (var n = uW(t), i = uW(e), a = 0, s = 1; s < r; ++a, ++s)
+ this._context.bezierCurveTo(n[0][a], i[0][a], n[1][a], i[1][a], t[s], e[s]);
+ (this._line || (this._line !== 0 && r === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line),
+ (this._x = this._y = null);
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ this._x.push(+t), this._y.push(+e);
+ }, 'point')
+ };
+ o(uW, 'controlPoints');
+ o(Y3, 'default');
+ });
+ function W3(t, e) {
+ (this._context = t), (this._t = e);
+ }
+ function q3(t) {
+ return new W3(t, 0.5);
+ }
+ function b_(t) {
+ return new W3(t, 0);
+ }
+ function w_(t) {
+ return new W3(t, 1);
+ }
+ var dW = R(() => {
+ 'use strict';
+ o(W3, 'Step');
+ W3.prototype = {
+ areaStart: o(function () {
+ this._line = 0;
+ }, 'areaStart'),
+ areaEnd: o(function () {
+ this._line = NaN;
+ }, 'areaEnd'),
+ lineStart: o(function () {
+ (this._x = this._y = NaN), (this._point = 0);
+ }, 'lineStart'),
+ lineEnd: o(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));
+ }, 'lineEnd'),
+ point: o(function (t, e) {
+ switch (((t = +t), (e = +e), this._point)) {
+ case 0:
+ (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e);
+ break;
+ case 1:
+ this._point = 2;
+ default: {
+ if (this._t <= 0) this._context.lineTo(this._x, e), this._context.lineTo(t, e);
+ else {
+ var r = this._x * (1 - this._t) + t * this._t;
+ this._context.lineTo(r, this._y), this._context.lineTo(r, e);
+ }
+ break;
+ }
+ }
+ (this._x = t), (this._y = e);
+ }, 'point')
+ };
+ o(q3, 'default');
+ o(b_, 'stepBefore');
+ o(w_, 'stepAfter');
+ });
+ var pW = R(() => {
+ 'use strict';
+ OY();
+ GY();
+ UY();
+ WY();
+ XY();
+ qy();
+ HY();
+ KY();
+ h_();
+ d_();
+ Xy();
+ JY();
+ tW();
+ V3();
+ nW();
+ n_();
+ cW();
+ fW();
+ dW();
+ });
+ var mW = R(() => {
+ 'use strict';
+ });
+ var gW = R(() => {
+ 'use strict';
+ });
+ function Rh(t, e, r) {
+ (this.k = t), (this.x = e), (this.y = r);
+ }
+ function k_(t) {
+ for (; !t.__zoom; ) if (!(t = t.parentNode)) return T_;
+ return t.__zoom;
+ }
+ var T_,
+ E_ = R(() => {
+ 'use strict';
+ o(Rh, 'Transform');
+ Rh.prototype = {
+ constructor: Rh,
+ scale: o(function (t) {
+ return t === 1 ? this : new Rh(this.k * t, this.x, this.y);
+ }, 'scale'),
+ translate: o(function (t, e) {
+ return (t === 0) & (e === 0) ? this : new Rh(this.k, this.x + this.k * t, this.y + this.k * e);
+ }, 'translate'),
+ apply: o(function (t) {
+ return [t[0] * this.k + this.x, t[1] * this.k + this.y];
+ }, 'apply'),
+ applyX: o(function (t) {
+ return t * this.k + this.x;
+ }, 'applyX'),
+ applyY: o(function (t) {
+ return t * this.k + this.y;
+ }, 'applyY'),
+ invert: o(function (t) {
+ return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k];
+ }, 'invert'),
+ invertX: o(function (t) {
+ return (t - this.x) / this.k;
+ }, 'invertX'),
+ invertY: o(function (t) {
+ return (t - this.y) / this.k;
+ }, 'invertY'),
+ rescaleX: o(function (t) {
+ return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t));
+ }, 'rescaleX'),
+ rescaleY: o(function (t) {
+ return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t));
+ }, 'rescaleY'),
+ toString: o(function () {
+ return 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')';
+ }, 'toString')
+ };
+ T_ = new Rh(1, 0, 0);
+ k_.prototype = Rh.prototype;
+ o(k_, 'transform');
+ });
+ var yW = R(() => {
+ 'use strict';
+ });
+ var vW = R(() => {
+ 'use strict';
+ c3();
+ mW();
+ gW();
+ E_();
+ yW();
+ });
+ var xW = R(() => {
+ 'use strict';
+ vW();
+ E_();
+ });
+ var Zt = R(() => {
+ 'use strict';
+ bh();
+ K$();
+ mH();
+ xH();
+ Lp();
+ bH();
+ wH();
+ bS();
+ $V();
+ TH();
+ l8();
+ kH();
+ CH();
+ C8();
+ zH();
+ GH();
+ Np();
+ d8();
+ $H();
+ EH();
+ VH();
+ LY();
+ NY();
+ fl();
+ pW();
+ _3();
+ K8();
+ n3();
+ c3();
+ xW();
+ });
+ var bW = gi((Zi) => {
+ 'use strict';
+ Object.defineProperty(Zi, '__esModule', { value: !0 });
+ Zi.BLANK_URL =
+ Zi.relativeFirstCharacters =
+ Zi.whitespaceEscapeCharsRegex =
+ Zi.urlSchemeRegex =
+ Zi.ctrlCharactersRegex =
+ Zi.htmlCtrlEntityRegex =
+ Zi.htmlEntitiesRegex =
+ Zi.invalidProtocolRegex =
+ void 0;
+ Zi.invalidProtocolRegex = /^([^\w]*)(javascript|data|vbscript)/im;
+ Zi.htmlEntitiesRegex = /(\w+)(^\w|;)?/g;
+ Zi.htmlCtrlEntityRegex = /&(newline|tab);/gi;
+ Zi.ctrlCharactersRegex = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;
+ Zi.urlSchemeRegex = /^.+(:|:)/gim;
+ Zi.whitespaceEscapeCharsRegex = /(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;
+ Zi.relativeFirstCharacters = ['.', '/'];
+ Zi.BLANK_URL = 'about:blank';
+ });
+ var Up = gi((X3) => {
+ 'use strict';
+ Object.defineProperty(X3, '__esModule', { value: !0 });
+ X3.sanitizeUrl = void 0;
+ var Na = bW();
+ function kTe(t) {
+ return Na.relativeFirstCharacters.indexOf(t[0]) > -1;
+ }
+ o(kTe, 'isRelativeUrlWithoutProtocol');
+ function ETe(t) {
+ var e = t.replace(Na.ctrlCharactersRegex, '');
+ return e.replace(Na.htmlEntitiesRegex, function (r, n) {
+ return String.fromCharCode(n);
+ });
+ }
+ o(ETe, 'decodeHtmlCharacters');
+ function CTe(t) {
+ return URL.canParse(t);
+ }
+ o(CTe, 'isValidUrl');
+ function wW(t) {
+ try {
+ return decodeURIComponent(t);
+ } catch {
+ return t;
+ }
+ }
+ o(wW, 'decodeURI');
+ function STe(t) {
+ if (!t) return Na.BLANK_URL;
+ var e,
+ r = wW(t.trim());
+ do
+ (r = ETe(r)
+ .replace(Na.htmlCtrlEntityRegex, '')
+ .replace(Na.ctrlCharactersRegex, '')
+ .replace(Na.whitespaceEscapeCharsRegex, '')
+ .trim()),
+ (r = wW(r)),
+ (e =
+ r.match(Na.ctrlCharactersRegex) ||
+ r.match(Na.htmlEntitiesRegex) ||
+ r.match(Na.htmlCtrlEntityRegex) ||
+ r.match(Na.whitespaceEscapeCharsRegex));
+ while (e && e.length > 0);
+ var n = r;
+ if (!n) return Na.BLANK_URL;
+ if (kTe(n)) return n;
+ var i = n.trimStart(),
+ a = i.match(Na.urlSchemeRegex);
+ if (!a) return n;
+ var s = a[0].toLowerCase().trim();
+ if (Na.invalidProtocolRegex.test(s)) return Na.BLANK_URL;
+ var l = i.replace(/\\/g, '/');
+ if (s === 'mailto:' || s.includes('://')) return l;
+ if (s === 'http:' || s === 'https:') {
+ if (!CTe(l)) return Na.BLANK_URL;
+ var u = new URL(l);
+ return (u.protocol = u.protocol.toLowerCase()), (u.hostname = u.hostname.toLowerCase()), u.toString();
+ }
+ return l;
+ }
+ o(STe, 'sanitizeUrl');
+ X3.sanitizeUrl = STe;
+ });
+ var C_,
+ yd,
+ j3,
+ TW,
+ kW,
+ EW,
+ wl,
+ Ky,
+ Qy = R(() => {
+ 'use strict';
+ C_ = Xi(Up(), 1);
+ rr();
+ (yd = o((t, e) => {
+ let r = t.append('rect');
+ if (
+ (r.attr('x', e.x),
+ r.attr('y', e.y),
+ r.attr('fill', e.fill),
+ r.attr('stroke', e.stroke),
+ r.attr('width', e.width),
+ r.attr('height', e.height),
+ e.name && r.attr('name', e.name),
+ e.rx && r.attr('rx', e.rx),
+ e.ry && r.attr('ry', e.ry),
+ e.attrs !== void 0)
+ )
+ for (let n in e.attrs) r.attr(n, e.attrs[n]);
+ return e.class && r.attr('class', e.class), r;
+ }, 'drawRect')),
+ (j3 = o((t, e) => {
+ let r = {
+ x: e.startx,
+ y: e.starty,
+ width: e.stopx - e.startx,
+ height: e.stopy - e.starty,
+ fill: e.fill,
+ stroke: e.stroke,
+ class: 'rect'
+ };
+ yd(t, r).lower();
+ }, 'drawBackgroundRect')),
+ (TW = o((t, e) => {
+ let r = e.text.replace(Qf, ' '),
+ n = t.append('text');
+ n.attr('x', e.x),
+ n.attr('y', e.y),
+ n.attr('class', 'legend'),
+ n.style('text-anchor', e.anchor),
+ e.class && n.attr('class', e.class);
+ let i = n.append('tspan');
+ return i.attr('x', e.x + e.textMargin * 2), i.text(r), n;
+ }, 'drawText')),
+ (kW = o((t, e, r, n) => {
+ let i = t.append('image');
+ i.attr('x', e), i.attr('y', r);
+ let a = (0, C_.sanitizeUrl)(n);
+ i.attr('xlink:href', a);
+ }, 'drawImage')),
+ (EW = o((t, e, r, n) => {
+ let i = t.append('use');
+ i.attr('x', e), i.attr('y', r);
+ let a = (0, C_.sanitizeUrl)(n);
+ i.attr('xlink:href', `#${a}`);
+ }, 'drawEmbeddedImage')),
+ (wl = o(
+ () => ({
+ x: 0,
+ y: 0,
+ width: 100,
+ height: 100,
+ fill: '#EDF2AE',
+ stroke: '#666',
+ anchor: 'start',
+ rx: 0,
+ ry: 0
+ }),
+ 'getNoteRect'
+ )),
+ (Ky = o(
+ () => ({
+ x: 0,
+ y: 0,
+ width: 100,
+ height: 100,
+ 'text-anchor': 'start',
+ style: '#666',
+ textMargin: 0,
+ rx: 0,
+ ry: 0,
+ tspan: !0
+ }),
+ 'getTextObj'
+ ));
+ });
+ var CW,
+ S_,
+ SW,
+ ATe,
+ _Te,
+ LTe,
+ DTe,
+ RTe,
+ NTe,
+ MTe,
+ ITe,
+ OTe,
+ PTe,
+ BTe,
+ FTe,
+ bu,
+ Tl,
+ AW = R(() => {
+ 'use strict';
+ rr();
+ Qy();
+ (CW = Xi(Up(), 1)),
+ (S_ = o(function (t, e) {
+ return yd(t, e);
+ }, 'drawRect')),
+ (SW = o(function (t, e, r, n, i, a) {
+ let s = t.append('image');
+ s.attr('width', e), s.attr('height', r), s.attr('x', n), s.attr('y', i);
+ let l = a.startsWith('data:image/png;base64') ? a : (0, CW.sanitizeUrl)(a);
+ s.attr('xlink:href', l);
+ }, 'drawImage')),
+ (ATe = o((t, e, r) => {
+ let n = t.append('g'),
+ i = 0;
+ for (let a of e) {
+ let s = a.textColor ? a.textColor : '#444444',
+ l = a.lineColor ? a.lineColor : '#444444',
+ u = a.offsetX ? parseInt(a.offsetX) : 0,
+ h = a.offsetY ? parseInt(a.offsetY) : 0,
+ f = '';
+ if (i === 0) {
+ let p = n.append('line');
+ p.attr('x1', a.startPoint.x),
+ p.attr('y1', a.startPoint.y),
+ p.attr('x2', a.endPoint.x),
+ p.attr('y2', a.endPoint.y),
+ p.attr('stroke-width', '1'),
+ p.attr('stroke', l),
+ p.style('fill', 'none'),
+ a.type !== 'rel_b' && p.attr('marker-end', 'url(' + f + '#arrowhead)'),
+ (a.type === 'birel' || a.type === 'rel_b') &&
+ p.attr('marker-start', 'url(' + f + '#arrowend)'),
+ (i = -1);
+ } else {
+ let p = n.append('path');
+ p
+ .attr('fill', 'none')
+ .attr('stroke-width', '1')
+ .attr('stroke', l)
+ .attr(
+ 'd',
+ 'Mstartx,starty Qcontrolx,controly stopx,stopy '
+ .replaceAll('startx', a.startPoint.x)
+ .replaceAll('starty', a.startPoint.y)
+ .replaceAll(
+ 'controlx',
+ a.startPoint.x +
+ (a.endPoint.x - a.startPoint.x) / 2 -
+ (a.endPoint.x - a.startPoint.x) / 4
+ )
+ .replaceAll('controly', a.startPoint.y + (a.endPoint.y - a.startPoint.y) / 2)
+ .replaceAll('stopx', a.endPoint.x)
+ .replaceAll('stopy', a.endPoint.y)
+ ),
+ a.type !== 'rel_b' && p.attr('marker-end', 'url(' + f + '#arrowhead)'),
+ (a.type === 'birel' || a.type === 'rel_b') &&
+ p.attr('marker-start', 'url(' + f + '#arrowend)');
+ }
+ let d = r.messageFont();
+ bu(r)(
+ a.label.text,
+ n,
+ Math.min(a.startPoint.x, a.endPoint.x) + Math.abs(a.endPoint.x - a.startPoint.x) / 2 + u,
+ Math.min(a.startPoint.y, a.endPoint.y) + Math.abs(a.endPoint.y - a.startPoint.y) / 2 + h,
+ a.label.width,
+ a.label.height,
+ { fill: s },
+ d
+ ),
+ a.techn &&
+ a.techn.text !== '' &&
+ ((d = r.messageFont()),
+ bu(r)(
+ '[' + a.techn.text + ']',
+ n,
+ Math.min(a.startPoint.x, a.endPoint.x) +
+ Math.abs(a.endPoint.x - a.startPoint.x) / 2 +
+ u,
+ Math.min(a.startPoint.y, a.endPoint.y) +
+ Math.abs(a.endPoint.y - a.startPoint.y) / 2 +
+ r.messageFontSize +
+ 5 +
+ h,
+ Math.max(a.label.width, a.techn.width),
+ a.techn.height,
+ { fill: s, 'font-style': 'italic' },
+ d
+ ));
+ }
+ }, 'drawRels')),
+ (_Te = o(function (t, e, r) {
+ let n = t.append('g'),
+ i = e.bgColor ? e.bgColor : 'none',
+ a = e.borderColor ? e.borderColor : '#444444',
+ s = e.fontColor ? e.fontColor : 'black',
+ l = { 'stroke-width': 1, 'stroke-dasharray': '7.0,7.0' };
+ e.nodeType && (l = { 'stroke-width': 1 });
+ let u = {
+ x: e.x,
+ y: e.y,
+ fill: i,
+ stroke: a,
+ width: e.width,
+ height: e.height,
+ rx: 2.5,
+ ry: 2.5,
+ attrs: l
+ };
+ S_(n, u);
+ let h = r.boundaryFont();
+ (h.fontWeight = 'bold'),
+ (h.fontSize = h.fontSize + 2),
+ (h.fontColor = s),
+ bu(r)(e.label.text, n, e.x, e.y + e.label.Y, e.width, e.height, { fill: '#444444' }, h),
+ e.type &&
+ e.type.text !== '' &&
+ ((h = r.boundaryFont()),
+ (h.fontColor = s),
+ bu(r)(e.type.text, n, e.x, e.y + e.type.Y, e.width, e.height, { fill: '#444444' }, h)),
+ e.descr &&
+ e.descr.text !== '' &&
+ ((h = r.boundaryFont()),
+ (h.fontSize = h.fontSize - 2),
+ (h.fontColor = s),
+ bu(r)(e.descr.text, n, e.x, e.y + e.descr.Y, e.width, e.height, { fill: '#444444' }, h));
+ }, 'drawBoundary')),
+ (LTe = o(function (t, e, r) {
+ let n = e.bgColor ? e.bgColor : r[e.typeC4Shape.text + '_bg_color'],
+ i = e.borderColor ? e.borderColor : r[e.typeC4Shape.text + '_border_color'],
+ a = e.fontColor ? e.fontColor : '#FFFFFF',
+ s =
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=';
+ switch (e.typeC4Shape.text) {
+ case 'person':
+ s =
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=';
+ break;
+ case 'external_person':
+ s =
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=';
+ break;
+ }
+ let l = t.append('g');
+ l.attr('class', 'person-man');
+ let u = wl();
+ switch (e.typeC4Shape.text) {
+ case 'person':
+ case 'external_person':
+ case 'system':
+ case 'external_system':
+ case 'container':
+ case 'external_container':
+ case 'component':
+ case 'external_component':
+ (u.x = e.x),
+ (u.y = e.y),
+ (u.fill = n),
+ (u.width = e.width),
+ (u.height = e.height),
+ (u.stroke = i),
+ (u.rx = 2.5),
+ (u.ry = 2.5),
+ (u.attrs = { 'stroke-width': 0.5 }),
+ S_(l, u);
+ break;
+ case 'system_db':
+ case 'external_system_db':
+ case 'container_db':
+ case 'external_container_db':
+ case 'component_db':
+ case 'external_component_db':
+ l
+ .append('path')
+ .attr('fill', n)
+ .attr('stroke-width', '0.5')
+ .attr('stroke', i)
+ .attr(
+ 'd',
+ 'Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height'
+ .replaceAll('startx', e.x)
+ .replaceAll('starty', e.y)
+ .replaceAll('half', e.width / 2)
+ .replaceAll('height', e.height)
+ ),
+ l
+ .append('path')
+ .attr('fill', 'none')
+ .attr('stroke-width', '0.5')
+ .attr('stroke', i)
+ .attr(
+ 'd',
+ 'Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10'
+ .replaceAll('startx', e.x)
+ .replaceAll('starty', e.y)
+ .replaceAll('half', e.width / 2)
+ );
+ break;
+ case 'system_queue':
+ case 'external_system_queue':
+ case 'container_queue':
+ case 'external_container_queue':
+ case 'component_queue':
+ case 'external_component_queue':
+ l
+ .append('path')
+ .attr('fill', n)
+ .attr('stroke-width', '0.5')
+ .attr('stroke', i)
+ .attr(
+ 'd',
+ 'Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half'
+ .replaceAll('startx', e.x)
+ .replaceAll('starty', e.y)
+ .replaceAll('width', e.width)
+ .replaceAll('half', e.height / 2)
+ ),
+ l
+ .append('path')
+ .attr('fill', 'none')
+ .attr('stroke-width', '0.5')
+ .attr('stroke', i)
+ .attr(
+ 'd',
+ 'Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half'
+ .replaceAll('startx', e.x + e.width)
+ .replaceAll('starty', e.y)
+ .replaceAll('half', e.height / 2)
+ );
+ break;
+ }
+ let h = FTe(r, e.typeC4Shape.text);
+ switch (
+ (l
+ .append('text')
+ .attr('fill', a)
+ .attr('font-family', h.fontFamily)
+ .attr('font-size', h.fontSize - 2)
+ .attr('font-style', 'italic')
+ .attr('lengthAdjust', 'spacing')
+ .attr('textLength', e.typeC4Shape.width)
+ .attr('x', e.x + e.width / 2 - e.typeC4Shape.width / 2)
+ .attr('y', e.y + e.typeC4Shape.Y)
+ .text('<<' + e.typeC4Shape.text + '>>'),
+ e.typeC4Shape.text)
+ ) {
+ case 'person':
+ case 'external_person':
+ SW(l, 48, 48, e.x + e.width / 2 - 24, e.y + e.image.Y, s);
+ break;
+ }
+ let f = r[e.typeC4Shape.text + 'Font']();
+ return (
+ (f.fontWeight = 'bold'),
+ (f.fontSize = f.fontSize + 2),
+ (f.fontColor = a),
+ bu(r)(e.label.text, l, e.x, e.y + e.label.Y, e.width, e.height, { fill: a }, f),
+ (f = r[e.typeC4Shape.text + 'Font']()),
+ (f.fontColor = a),
+ e.techn && e.techn?.text !== ''
+ ? bu(r)(
+ e.techn.text,
+ l,
+ e.x,
+ e.y + e.techn.Y,
+ e.width,
+ e.height,
+ { fill: a, 'font-style': 'italic' },
+ f
+ )
+ : e.type &&
+ e.type.text !== '' &&
+ bu(r)(
+ e.type.text,
+ l,
+ e.x,
+ e.y + e.type.Y,
+ e.width,
+ e.height,
+ { fill: a, 'font-style': 'italic' },
+ f
+ ),
+ e.descr &&
+ e.descr.text !== '' &&
+ ((f = r.personFont()),
+ (f.fontColor = a),
+ bu(r)(e.descr.text, l, e.x, e.y + e.descr.Y, e.width, e.height, { fill: a }, f)),
+ e.height
+ );
+ }, 'drawC4Shape')),
+ (DTe = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'database')
+ .attr('fill-rule', 'evenodd')
+ .attr('clip-rule', 'evenodd')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z'
+ );
+ }, 'insertDatabaseIcon')),
+ (RTe = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'computer')
+ .attr('width', '24')
+ .attr('height', '24')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z'
+ );
+ }, 'insertComputerIcon')),
+ (NTe = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'clock')
+ .attr('width', '24')
+ .attr('height', '24')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z'
+ );
+ }, 'insertClockIcon')),
+ (MTe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'arrowhead')
+ .attr('refX', 9)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 0 L 10 5 L 0 10 z');
+ }, 'insertArrowHead')),
+ (ITe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'arrowend')
+ .attr('refX', 1)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 10 0 L 0 5 L 10 10 z');
+ }, 'insertArrowEnd')),
+ (OTe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'filled-head')
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');
+ }, 'insertArrowFilledHead')),
+ (PTe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'sequencenumber')
+ .attr('refX', 15)
+ .attr('refY', 15)
+ .attr('markerWidth', 60)
+ .attr('markerHeight', 40)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', 15)
+ .attr('cy', 15)
+ .attr('r', 6);
+ }, 'insertDynamicNumber')),
+ (BTe = o(function (t) {
+ let r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'crosshead')
+ .attr('markerWidth', 15)
+ .attr('markerHeight', 8)
+ .attr('orient', 'auto')
+ .attr('refX', 16)
+ .attr('refY', 4);
+ r
+ .append('path')
+ .attr('fill', 'black')
+ .attr('stroke', '#000000')
+ .style('stroke-dasharray', '0, 0')
+ .attr('stroke-width', '1px')
+ .attr('d', 'M 9,2 V 6 L16,4 Z'),
+ r
+ .append('path')
+ .attr('fill', 'none')
+ .attr('stroke', '#000000')
+ .style('stroke-dasharray', '0, 0')
+ .attr('stroke-width', '1px')
+ .attr('d', 'M 0,1 L 6,7 M 6,1 L 0,7');
+ }, 'insertArrowCrossHead')),
+ (FTe = o(
+ (t, e) => ({
+ fontFamily: t[e + 'FontFamily'],
+ fontSize: t[e + 'FontSize'],
+ fontWeight: t[e + 'FontWeight']
+ }),
+ 'getC4ShapeFont'
+ )),
+ (bu = (function () {
+ function t(i, a, s, l, u, h, f) {
+ let d = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l + h / 2 + 5)
+ .style('text-anchor', 'middle')
+ .text(i);
+ n(d, f);
+ }
+ o(t, 'byText');
+ function e(i, a, s, l, u, h, f, d) {
+ let { fontSize: p, fontFamily: m, fontWeight: g } = d,
+ y = i.split(We.lineBreakRegex);
+ for (let v = 0; v < y.length; v++) {
+ let x = v * p - (p * (y.length - 1)) / 2,
+ b = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l)
+ .style('text-anchor', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .style('font-size', p)
+ .style('font-weight', g)
+ .style('font-family', m);
+ b.append('tspan').attr('dy', x).text(y[v]).attr('alignment-baseline', 'mathematical'),
+ n(b, f);
+ }
+ }
+ o(e, 'byTspan');
+ function r(i, a, s, l, u, h, f, d) {
+ let p = a.append('switch'),
+ g = p
+ .append('foreignObject')
+ .attr('x', s)
+ .attr('y', l)
+ .attr('width', u)
+ .attr('height', h)
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ g
+ .append('div')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(i),
+ e(i, p, s, l, u, h, f, d),
+ n(g, f);
+ }
+ o(r, 'byFo');
+ function n(i, a) {
+ for (let s in a) a.hasOwnProperty(s) && i.attr(s, a[s]);
+ }
+ return (
+ o(n, '_setTextAttrs'),
+ function (i) {
+ return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e;
+ }
+ );
+ })()),
+ (Tl = {
+ drawRect: S_,
+ drawBoundary: _Te,
+ drawC4Shape: LTe,
+ drawRels: ATe,
+ drawImage: SW,
+ insertArrowHead: MTe,
+ insertArrowEnd: ITe,
+ insertArrowFilledHead: OTe,
+ insertDynamicNumber: PTe,
+ insertArrowCrossHead: BTe,
+ insertDatabaseIcon: DTe,
+ insertComputerIcon: RTe,
+ insertClockIcon: NTe
+ });
+ });
+ var zTe,
+ Q3,
+ A_ = R(() => {
+ 'use strict';
+ (zTe = typeof global == 'object' && global && global.Object === Object && global), (Q3 = zTe);
+ });
+ var GTe,
+ $Te,
+ Jn,
+ Ro = R(() => {
+ 'use strict';
+ A_();
+ (GTe = typeof self == 'object' && self && self.Object === Object && self),
+ ($Te = Q3 || GTe || Function('return this')()),
+ (Jn = $Te);
+ });
+ var VTe,
+ Ji,
+ vd = R(() => {
+ 'use strict';
+ Ro();
+ (VTe = Jn.Symbol), (Ji = VTe);
+ });
+ function YTe(t) {
+ var e = UTe.call(t, Zy),
+ r = t[Zy];
+ try {
+ t[Zy] = void 0;
+ var n = !0;
+ } catch {}
+ var i = HTe.call(t);
+ return n && (e ? (t[Zy] = r) : delete t[Zy]), i;
+ }
+ var _W,
+ UTe,
+ HTe,
+ Zy,
+ LW,
+ DW = R(() => {
+ 'use strict';
+ vd();
+ (_W = Object.prototype),
+ (UTe = _W.hasOwnProperty),
+ (HTe = _W.toString),
+ (Zy = Ji ? Ji.toStringTag : void 0);
+ o(YTe, 'getRawTag');
+ LW = YTe;
+ });
+ function XTe(t) {
+ return qTe.call(t);
+ }
+ var WTe,
+ qTe,
+ RW,
+ NW = R(() => {
+ 'use strict';
+ (WTe = Object.prototype), (qTe = WTe.toString);
+ o(XTe, 'objectToString');
+ RW = XTe;
+ });
+ function QTe(t) {
+ return t == null ? (t === void 0 ? KTe : jTe) : MW && MW in Object(t) ? LW(t) : RW(t);
+ }
+ var jTe,
+ KTe,
+ MW,
+ fa,
+ wu = R(() => {
+ 'use strict';
+ vd();
+ DW();
+ NW();
+ (jTe = '[object Null]'), (KTe = '[object Undefined]'), (MW = Ji ? Ji.toStringTag : void 0);
+ o(QTe, 'baseGetTag');
+ fa = QTe;
+ });
+ function ZTe(t) {
+ var e = typeof t;
+ return t != null && (e == 'object' || e == 'function');
+ }
+ var pn,
+ Js = R(() => {
+ 'use strict';
+ o(ZTe, 'isObject');
+ pn = ZTe;
+ });
+ function nke(t) {
+ if (!pn(t)) return !1;
+ var e = fa(t);
+ return e == eke || e == tke || e == JTe || e == rke;
+ }
+ var JTe,
+ eke,
+ tke,
+ rke,
+ wi,
+ Jy = R(() => {
+ 'use strict';
+ wu();
+ Js();
+ (JTe = '[object AsyncFunction]'),
+ (eke = '[object Function]'),
+ (tke = '[object GeneratorFunction]'),
+ (rke = '[object Proxy]');
+ o(nke, 'isFunction');
+ wi = nke;
+ });
+ var ike,
+ Z3,
+ IW = R(() => {
+ 'use strict';
+ Ro();
+ (ike = Jn['__core-js_shared__']), (Z3 = ike);
+ });
+ function ake(t) {
+ return !!OW && OW in t;
+ }
+ var OW,
+ PW,
+ BW = R(() => {
+ 'use strict';
+ IW();
+ OW = (function () {
+ var t = /[^.]+$/.exec((Z3 && Z3.keys && Z3.keys.IE_PROTO) || '');
+ return t ? 'Symbol(src)_1.' + t : '';
+ })();
+ o(ake, 'isMasked');
+ PW = ake;
+ });
+ function lke(t) {
+ if (t != null) {
+ try {
+ return oke.call(t);
+ } catch {}
+ try {
+ return t + '';
+ } catch {}
+ }
+ return '';
+ }
+ var ske,
+ oke,
+ Tu,
+ __ = R(() => {
+ 'use strict';
+ (ske = Function.prototype), (oke = ske.toString);
+ o(lke, 'toSource');
+ Tu = lke;
+ });
+ function gke(t) {
+ if (!pn(t) || PW(t)) return !1;
+ var e = wi(t) ? mke : uke;
+ return e.test(Tu(t));
+ }
+ var cke,
+ uke,
+ hke,
+ fke,
+ dke,
+ pke,
+ mke,
+ FW,
+ zW = R(() => {
+ 'use strict';
+ Jy();
+ BW();
+ Js();
+ __();
+ (cke = /[\\^$.*+?()[\]{}|]/g),
+ (uke = /^\[object .+?Constructor\]$/),
+ (hke = Function.prototype),
+ (fke = Object.prototype),
+ (dke = hke.toString),
+ (pke = fke.hasOwnProperty),
+ (mke = RegExp(
+ '^' +
+ dke
+ .call(pke)
+ .replace(cke, '\\$&')
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') +
+ '$'
+ ));
+ o(gke, 'baseIsNative');
+ FW = gke;
+ });
+ function yke(t, e) {
+ return t?.[e];
+ }
+ var GW,
+ $W = R(() => {
+ 'use strict';
+ o(yke, 'getValue');
+ GW = yke;
+ });
+ function vke(t, e) {
+ var r = GW(t, e);
+ return FW(r) ? r : void 0;
+ }
+ var xs,
+ Nh = R(() => {
+ 'use strict';
+ zW();
+ $W();
+ o(vke, 'getNative');
+ xs = vke;
+ });
+ var xke,
+ ku,
+ ev = R(() => {
+ 'use strict';
+ Nh();
+ (xke = xs(Object, 'create')), (ku = xke);
+ });
+ function bke() {
+ (this.__data__ = ku ? ku(null) : {}), (this.size = 0);
+ }
+ var VW,
+ UW = R(() => {
+ 'use strict';
+ ev();
+ o(bke, 'hashClear');
+ VW = bke;
+ });
+ function wke(t) {
+ var e = this.has(t) && delete this.__data__[t];
+ return (this.size -= e ? 1 : 0), e;
+ }
+ var HW,
+ YW = R(() => {
+ 'use strict';
+ o(wke, 'hashDelete');
+ HW = wke;
+ });
+ function Cke(t) {
+ var e = this.__data__;
+ if (ku) {
+ var r = e[t];
+ return r === Tke ? void 0 : r;
+ }
+ return Eke.call(e, t) ? e[t] : void 0;
+ }
+ var Tke,
+ kke,
+ Eke,
+ WW,
+ qW = R(() => {
+ 'use strict';
+ ev();
+ (Tke = '__lodash_hash_undefined__'), (kke = Object.prototype), (Eke = kke.hasOwnProperty);
+ o(Cke, 'hashGet');
+ WW = Cke;
+ });
+ function _ke(t) {
+ var e = this.__data__;
+ return ku ? e[t] !== void 0 : Ake.call(e, t);
+ }
+ var Ske,
+ Ake,
+ XW,
+ jW = R(() => {
+ 'use strict';
+ ev();
+ (Ske = Object.prototype), (Ake = Ske.hasOwnProperty);
+ o(_ke, 'hashHas');
+ XW = _ke;
+ });
+ function Dke(t, e) {
+ var r = this.__data__;
+ return (this.size += this.has(t) ? 0 : 1), (r[t] = ku && e === void 0 ? Lke : e), this;
+ }
+ var Lke,
+ KW,
+ QW = R(() => {
+ 'use strict';
+ ev();
+ Lke = '__lodash_hash_undefined__';
+ o(Dke, 'hashSet');
+ KW = Dke;
+ });
+ function Hp(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ var L_,
+ ZW = R(() => {
+ 'use strict';
+ UW();
+ YW();
+ qW();
+ jW();
+ QW();
+ o(Hp, 'Hash');
+ Hp.prototype.clear = VW;
+ Hp.prototype.delete = HW;
+ Hp.prototype.get = WW;
+ Hp.prototype.has = XW;
+ Hp.prototype.set = KW;
+ L_ = Hp;
+ });
+ function Rke() {
+ (this.__data__ = []), (this.size = 0);
+ }
+ var JW,
+ eq = R(() => {
+ 'use strict';
+ o(Rke, 'listCacheClear');
+ JW = Rke;
+ });
+ function Nke(t, e) {
+ return t === e || (t !== t && e !== e);
+ }
+ var No,
+ xd = R(() => {
+ 'use strict';
+ o(Nke, 'eq');
+ No = Nke;
+ });
+ function Mke(t, e) {
+ for (var r = t.length; r--; ) if (No(t[r][0], e)) return r;
+ return -1;
+ }
+ var Mh,
+ tv = R(() => {
+ 'use strict';
+ xd();
+ o(Mke, 'assocIndexOf');
+ Mh = Mke;
+ });
+ function Pke(t) {
+ var e = this.__data__,
+ r = Mh(e, t);
+ if (r < 0) return !1;
+ var n = e.length - 1;
+ return r == n ? e.pop() : Oke.call(e, r, 1), --this.size, !0;
+ }
+ var Ike,
+ Oke,
+ tq,
+ rq = R(() => {
+ 'use strict';
+ tv();
+ (Ike = Array.prototype), (Oke = Ike.splice);
+ o(Pke, 'listCacheDelete');
+ tq = Pke;
+ });
+ function Bke(t) {
+ var e = this.__data__,
+ r = Mh(e, t);
+ return r < 0 ? void 0 : e[r][1];
+ }
+ var nq,
+ iq = R(() => {
+ 'use strict';
+ tv();
+ o(Bke, 'listCacheGet');
+ nq = Bke;
+ });
+ function Fke(t) {
+ return Mh(this.__data__, t) > -1;
+ }
+ var aq,
+ sq = R(() => {
+ 'use strict';
+ tv();
+ o(Fke, 'listCacheHas');
+ aq = Fke;
+ });
+ function zke(t, e) {
+ var r = this.__data__,
+ n = Mh(r, t);
+ return n < 0 ? (++this.size, r.push([t, e])) : (r[n][1] = e), this;
+ }
+ var oq,
+ lq = R(() => {
+ 'use strict';
+ tv();
+ o(zke, 'listCacheSet');
+ oq = zke;
+ });
+ function Yp(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ var Ih,
+ rv = R(() => {
+ 'use strict';
+ eq();
+ rq();
+ iq();
+ sq();
+ lq();
+ o(Yp, 'ListCache');
+ Yp.prototype.clear = JW;
+ Yp.prototype.delete = tq;
+ Yp.prototype.get = nq;
+ Yp.prototype.has = aq;
+ Yp.prototype.set = oq;
+ Ih = Yp;
+ });
+ var Gke,
+ Oh,
+ J3 = R(() => {
+ 'use strict';
+ Nh();
+ Ro();
+ (Gke = xs(Jn, 'Map')), (Oh = Gke);
+ });
+ function $ke() {
+ (this.size = 0),
+ (this.__data__ = {
+ hash: new L_(),
+ map: new (Oh || Ih)(),
+ string: new L_()
+ });
+ }
+ var cq,
+ uq = R(() => {
+ 'use strict';
+ ZW();
+ rv();
+ J3();
+ o($ke, 'mapCacheClear');
+ cq = $ke;
+ });
+ function Vke(t) {
+ var e = typeof t;
+ return e == 'string' || e == 'number' || e == 'symbol' || e == 'boolean' ? t !== '__proto__' : t === null;
+ }
+ var hq,
+ fq = R(() => {
+ 'use strict';
+ o(Vke, 'isKeyable');
+ hq = Vke;
+ });
+ function Uke(t, e) {
+ var r = t.__data__;
+ return hq(e) ? r[typeof e == 'string' ? 'string' : 'hash'] : r.map;
+ }
+ var Ph,
+ nv = R(() => {
+ 'use strict';
+ fq();
+ o(Uke, 'getMapData');
+ Ph = Uke;
+ });
+ function Hke(t) {
+ var e = Ph(this, t).delete(t);
+ return (this.size -= e ? 1 : 0), e;
+ }
+ var dq,
+ pq = R(() => {
+ 'use strict';
+ nv();
+ o(Hke, 'mapCacheDelete');
+ dq = Hke;
+ });
+ function Yke(t) {
+ return Ph(this, t).get(t);
+ }
+ var mq,
+ gq = R(() => {
+ 'use strict';
+ nv();
+ o(Yke, 'mapCacheGet');
+ mq = Yke;
+ });
+ function Wke(t) {
+ return Ph(this, t).has(t);
+ }
+ var yq,
+ vq = R(() => {
+ 'use strict';
+ nv();
+ o(Wke, 'mapCacheHas');
+ yq = Wke;
+ });
+ function qke(t, e) {
+ var r = Ph(this, t),
+ n = r.size;
+ return r.set(t, e), (this.size += r.size == n ? 0 : 1), this;
+ }
+ var xq,
+ bq = R(() => {
+ 'use strict';
+ nv();
+ o(qke, 'mapCacheSet');
+ xq = qke;
+ });
+ function Wp(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ var bd,
+ e5 = R(() => {
+ 'use strict';
+ uq();
+ pq();
+ gq();
+ vq();
+ bq();
+ o(Wp, 'MapCache');
+ Wp.prototype.clear = cq;
+ Wp.prototype.delete = dq;
+ Wp.prototype.get = mq;
+ Wp.prototype.has = yq;
+ Wp.prototype.set = xq;
+ bd = Wp;
+ });
+ function D_(t, e) {
+ if (typeof t != 'function' || (e != null && typeof e != 'function')) throw new TypeError(Xke);
+ var r = o(function () {
+ var n = arguments,
+ i = e ? e.apply(this, n) : n[0],
+ a = r.cache;
+ if (a.has(i)) return a.get(i);
+ var s = t.apply(this, n);
+ return (r.cache = a.set(i, s) || a), s;
+ }, 'memoized');
+ return (r.cache = new (D_.Cache || bd)()), r;
+ }
+ var Xke,
+ qp,
+ R_ = R(() => {
+ 'use strict';
+ e5();
+ Xke = 'Expected a function';
+ o(D_, 'memoize');
+ D_.Cache = bd;
+ qp = D_;
+ });
+ function jke() {
+ (this.__data__ = new Ih()), (this.size = 0);
+ }
+ var wq,
+ Tq = R(() => {
+ 'use strict';
+ rv();
+ o(jke, 'stackClear');
+ wq = jke;
+ });
+ function Kke(t) {
+ var e = this.__data__,
+ r = e.delete(t);
+ return (this.size = e.size), r;
+ }
+ var kq,
+ Eq = R(() => {
+ 'use strict';
+ o(Kke, 'stackDelete');
+ kq = Kke;
+ });
+ function Qke(t) {
+ return this.__data__.get(t);
+ }
+ var Cq,
+ Sq = R(() => {
+ 'use strict';
+ o(Qke, 'stackGet');
+ Cq = Qke;
+ });
+ function Zke(t) {
+ return this.__data__.has(t);
+ }
+ var Aq,
+ _q = R(() => {
+ 'use strict';
+ o(Zke, 'stackHas');
+ Aq = Zke;
+ });
+ function eEe(t, e) {
+ var r = this.__data__;
+ if (r instanceof Ih) {
+ var n = r.__data__;
+ if (!Oh || n.length < Jke - 1) return n.push([t, e]), (this.size = ++r.size), this;
+ r = this.__data__ = new bd(n);
+ }
+ return r.set(t, e), (this.size = r.size), this;
+ }
+ var Jke,
+ Lq,
+ Dq = R(() => {
+ 'use strict';
+ rv();
+ J3();
+ e5();
+ Jke = 200;
+ o(eEe, 'stackSet');
+ Lq = eEe;
+ });
+ function Xp(t) {
+ var e = (this.__data__ = new Ih(t));
+ this.size = e.size;
+ }
+ var uc,
+ iv = R(() => {
+ 'use strict';
+ rv();
+ Tq();
+ Eq();
+ Sq();
+ _q();
+ Dq();
+ o(Xp, 'Stack');
+ Xp.prototype.clear = wq;
+ Xp.prototype.delete = kq;
+ Xp.prototype.get = Cq;
+ Xp.prototype.has = Aq;
+ Xp.prototype.set = Lq;
+ uc = Xp;
+ });
+ var tEe,
+ jp,
+ N_ = R(() => {
+ 'use strict';
+ Nh();
+ (tEe = (function () {
+ try {
+ var t = xs(Object, 'defineProperty');
+ return t({}, '', {}), t;
+ } catch {}
+ })()),
+ (jp = tEe);
+ });
+ function rEe(t, e, r) {
+ e == '__proto__' && jp ? jp(t, e, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (t[e] = r);
+ }
+ var hc,
+ Kp = R(() => {
+ 'use strict';
+ N_();
+ o(rEe, 'baseAssignValue');
+ hc = rEe;
+ });
+ function nEe(t, e, r) {
+ ((r !== void 0 && !No(t[e], r)) || (r === void 0 && !(e in t))) && hc(t, e, r);
+ }
+ var av,
+ M_ = R(() => {
+ 'use strict';
+ Kp();
+ xd();
+ o(nEe, 'assignMergeValue');
+ av = nEe;
+ });
+ function iEe(t) {
+ return function (e, r, n) {
+ for (var i = -1, a = Object(e), s = n(e), l = s.length; l--; ) {
+ var u = s[t ? l : ++i];
+ if (r(a[u], u, a) === !1) break;
+ }
+ return e;
+ };
+ }
+ var Rq,
+ Nq = R(() => {
+ 'use strict';
+ o(iEe, 'createBaseFor');
+ Rq = iEe;
+ });
+ var aEe,
+ Qp,
+ t5 = R(() => {
+ 'use strict';
+ Nq();
+ (aEe = Rq()), (Qp = aEe);
+ });
+ function oEe(t, e) {
+ if (e) return t.slice();
+ var r = t.length,
+ n = Oq ? Oq(r) : new t.constructor(r);
+ return t.copy(n), n;
+ }
+ var Pq,
+ Mq,
+ sEe,
+ Iq,
+ Oq,
+ r5,
+ I_ = R(() => {
+ 'use strict';
+ Ro();
+ (Pq = typeof exports == 'object' && exports && !exports.nodeType && exports),
+ (Mq = Pq && typeof module == 'object' && module && !module.nodeType && module),
+ (sEe = Mq && Mq.exports === Pq),
+ (Iq = sEe ? Jn.Buffer : void 0),
+ (Oq = Iq ? Iq.allocUnsafe : void 0);
+ o(oEe, 'cloneBuffer');
+ r5 = oEe;
+ });
+ var lEe,
+ Zp,
+ O_ = R(() => {
+ 'use strict';
+ Ro();
+ (lEe = Jn.Uint8Array), (Zp = lEe);
+ });
+ function cEe(t) {
+ var e = new t.constructor(t.byteLength);
+ return new Zp(e).set(new Zp(t)), e;
+ }
+ var Jp,
+ n5 = R(() => {
+ 'use strict';
+ O_();
+ o(cEe, 'cloneArrayBuffer');
+ Jp = cEe;
+ });
+ function uEe(t, e) {
+ var r = e ? Jp(t.buffer) : t.buffer;
+ return new t.constructor(r, t.byteOffset, t.length);
+ }
+ var i5,
+ P_ = R(() => {
+ 'use strict';
+ n5();
+ o(uEe, 'cloneTypedArray');
+ i5 = uEe;
+ });
+ function hEe(t, e) {
+ var r = -1,
+ n = t.length;
+ for (e || (e = Array(n)); ++r < n; ) e[r] = t[r];
+ return e;
+ }
+ var a5,
+ B_ = R(() => {
+ 'use strict';
+ o(hEe, 'copyArray');
+ a5 = hEe;
+ });
+ var Bq,
+ fEe,
+ Fq,
+ zq = R(() => {
+ 'use strict';
+ Js();
+ (Bq = Object.create),
+ (fEe = (function () {
+ function t() {}
+ return (
+ o(t, 'object'),
+ function (e) {
+ if (!pn(e)) return {};
+ if (Bq) return Bq(e);
+ t.prototype = e;
+ var r = new t();
+ return (t.prototype = void 0), r;
+ }
+ );
+ })()),
+ (Fq = fEe);
+ });
+ function dEe(t, e) {
+ return function (r) {
+ return t(e(r));
+ };
+ }
+ var s5,
+ F_ = R(() => {
+ 'use strict';
+ o(dEe, 'overArg');
+ s5 = dEe;
+ });
+ var pEe,
+ em,
+ o5 = R(() => {
+ 'use strict';
+ F_();
+ (pEe = s5(Object.getPrototypeOf, Object)), (em = pEe);
+ });
+ function gEe(t) {
+ var e = t && t.constructor,
+ r = (typeof e == 'function' && e.prototype) || mEe;
+ return t === r;
+ }
+ var mEe,
+ fc,
+ tm = R(() => {
+ 'use strict';
+ mEe = Object.prototype;
+ o(gEe, 'isPrototype');
+ fc = gEe;
+ });
+ function yEe(t) {
+ return typeof t.constructor == 'function' && !fc(t) ? Fq(em(t)) : {};
+ }
+ var l5,
+ z_ = R(() => {
+ 'use strict';
+ zq();
+ o5();
+ tm();
+ o(yEe, 'initCloneObject');
+ l5 = yEe;
+ });
+ function vEe(t) {
+ return t != null && typeof t == 'object';
+ }
+ var Wn,
+ Mo = R(() => {
+ 'use strict';
+ o(vEe, 'isObjectLike');
+ Wn = vEe;
+ });
+ function bEe(t) {
+ return Wn(t) && fa(t) == xEe;
+ }
+ var xEe,
+ G_,
+ Gq = R(() => {
+ 'use strict';
+ wu();
+ Mo();
+ xEe = '[object Arguments]';
+ o(bEe, 'baseIsArguments');
+ G_ = bEe;
+ });
+ var $q,
+ wEe,
+ TEe,
+ kEe,
+ kl,
+ rm = R(() => {
+ 'use strict';
+ Gq();
+ Mo();
+ ($q = Object.prototype),
+ (wEe = $q.hasOwnProperty),
+ (TEe = $q.propertyIsEnumerable),
+ (kEe = G_(
+ (function () {
+ return arguments;
+ })()
+ )
+ ? G_
+ : function (t) {
+ return Wn(t) && wEe.call(t, 'callee') && !TEe.call(t, 'callee');
+ }),
+ (kl = kEe);
+ });
+ var EEe,
+ wt,
+ Bn = R(() => {
+ 'use strict';
+ (EEe = Array.isArray), (wt = EEe);
+ });
+ function SEe(t) {
+ return typeof t == 'number' && t > -1 && t % 1 == 0 && t <= CEe;
+ }
+ var CEe,
+ nm,
+ c5 = R(() => {
+ 'use strict';
+ CEe = 9007199254740991;
+ o(SEe, 'isLength');
+ nm = SEe;
+ });
+ function AEe(t) {
+ return t != null && nm(t.length) && !wi(t);
+ }
+ var ei,
+ Io = R(() => {
+ 'use strict';
+ Jy();
+ c5();
+ o(AEe, 'isArrayLike');
+ ei = AEe;
+ });
+ function _Ee(t) {
+ return Wn(t) && ei(t);
+ }
+ var wd,
+ u5 = R(() => {
+ 'use strict';
+ Io();
+ Mo();
+ o(_Ee, 'isArrayLikeObject');
+ wd = _Ee;
+ });
+ function LEe() {
+ return !1;
+ }
+ var Vq,
+ Uq = R(() => {
+ 'use strict';
+ o(LEe, 'stubFalse');
+ Vq = LEe;
+ });
+ var Wq,
+ Hq,
+ DEe,
+ Yq,
+ REe,
+ NEe,
+ El,
+ im = R(() => {
+ 'use strict';
+ Ro();
+ Uq();
+ (Wq = typeof exports == 'object' && exports && !exports.nodeType && exports),
+ (Hq = Wq && typeof module == 'object' && module && !module.nodeType && module),
+ (DEe = Hq && Hq.exports === Wq),
+ (Yq = DEe ? Jn.Buffer : void 0),
+ (REe = Yq ? Yq.isBuffer : void 0),
+ (NEe = REe || Vq),
+ (El = NEe);
+ });
+ function FEe(t) {
+ if (!Wn(t) || fa(t) != MEe) return !1;
+ var e = em(t);
+ if (e === null) return !0;
+ var r = PEe.call(e, 'constructor') && e.constructor;
+ return typeof r == 'function' && r instanceof r && qq.call(r) == BEe;
+ }
+ var MEe,
+ IEe,
+ OEe,
+ qq,
+ PEe,
+ BEe,
+ Xq,
+ jq = R(() => {
+ 'use strict';
+ wu();
+ o5();
+ Mo();
+ (MEe = '[object Object]'),
+ (IEe = Function.prototype),
+ (OEe = Object.prototype),
+ (qq = IEe.toString),
+ (PEe = OEe.hasOwnProperty),
+ (BEe = qq.call(Object));
+ o(FEe, 'isPlainObject');
+ Xq = FEe;
+ });
+ function c6e(t) {
+ return Wn(t) && nm(t.length) && !!Mn[fa(t)];
+ }
+ var zEe,
+ GEe,
+ $Ee,
+ VEe,
+ UEe,
+ HEe,
+ YEe,
+ WEe,
+ qEe,
+ XEe,
+ jEe,
+ KEe,
+ QEe,
+ ZEe,
+ JEe,
+ e6e,
+ t6e,
+ r6e,
+ n6e,
+ i6e,
+ a6e,
+ s6e,
+ o6e,
+ l6e,
+ Mn,
+ Kq,
+ Qq = R(() => {
+ 'use strict';
+ wu();
+ c5();
+ Mo();
+ (zEe = '[object Arguments]'),
+ (GEe = '[object Array]'),
+ ($Ee = '[object Boolean]'),
+ (VEe = '[object Date]'),
+ (UEe = '[object Error]'),
+ (HEe = '[object Function]'),
+ (YEe = '[object Map]'),
+ (WEe = '[object Number]'),
+ (qEe = '[object Object]'),
+ (XEe = '[object RegExp]'),
+ (jEe = '[object Set]'),
+ (KEe = '[object String]'),
+ (QEe = '[object WeakMap]'),
+ (ZEe = '[object ArrayBuffer]'),
+ (JEe = '[object DataView]'),
+ (e6e = '[object Float32Array]'),
+ (t6e = '[object Float64Array]'),
+ (r6e = '[object Int8Array]'),
+ (n6e = '[object Int16Array]'),
+ (i6e = '[object Int32Array]'),
+ (a6e = '[object Uint8Array]'),
+ (s6e = '[object Uint8ClampedArray]'),
+ (o6e = '[object Uint16Array]'),
+ (l6e = '[object Uint32Array]'),
+ (Mn = {});
+ Mn[e6e] = Mn[t6e] = Mn[r6e] = Mn[n6e] = Mn[i6e] = Mn[a6e] = Mn[s6e] = Mn[o6e] = Mn[l6e] = !0;
+ Mn[zEe] =
+ Mn[GEe] =
+ Mn[ZEe] =
+ Mn[$Ee] =
+ Mn[JEe] =
+ Mn[VEe] =
+ Mn[UEe] =
+ Mn[HEe] =
+ Mn[YEe] =
+ Mn[WEe] =
+ Mn[qEe] =
+ Mn[XEe] =
+ Mn[jEe] =
+ Mn[KEe] =
+ Mn[QEe] =
+ !1;
+ o(c6e, 'baseIsTypedArray');
+ Kq = c6e;
+ });
+ function u6e(t) {
+ return function (e) {
+ return t(e);
+ };
+ }
+ var Oo,
+ Td = R(() => {
+ 'use strict';
+ o(u6e, 'baseUnary');
+ Oo = u6e;
+ });
+ var Zq,
+ sv,
+ h6e,
+ $_,
+ f6e,
+ Po,
+ ov = R(() => {
+ 'use strict';
+ A_();
+ (Zq = typeof exports == 'object' && exports && !exports.nodeType && exports),
+ (sv = Zq && typeof module == 'object' && module && !module.nodeType && module),
+ (h6e = sv && sv.exports === Zq),
+ ($_ = h6e && Q3.process),
+ (f6e = (function () {
+ try {
+ var t = sv && sv.require && sv.require('util').types;
+ return t || ($_ && $_.binding && $_.binding('util'));
+ } catch {}
+ })()),
+ (Po = f6e);
+ });
+ var Jq,
+ d6e,
+ Bh,
+ lv = R(() => {
+ 'use strict';
+ Qq();
+ Td();
+ ov();
+ (Jq = Po && Po.isTypedArray), (d6e = Jq ? Oo(Jq) : Kq), (Bh = d6e);
+ });
+ function p6e(t, e) {
+ if (!(e === 'constructor' && typeof t[e] == 'function') && e != '__proto__') return t[e];
+ }
+ var cv,
+ V_ = R(() => {
+ 'use strict';
+ o(p6e, 'safeGet');
+ cv = p6e;
+ });
+ function y6e(t, e, r) {
+ var n = t[e];
+ (!(g6e.call(t, e) && No(n, r)) || (r === void 0 && !(e in t))) && hc(t, e, r);
+ }
+ var m6e,
+ g6e,
+ dc,
+ am = R(() => {
+ 'use strict';
+ Kp();
+ xd();
+ (m6e = Object.prototype), (g6e = m6e.hasOwnProperty);
+ o(y6e, 'assignValue');
+ dc = y6e;
+ });
+ function v6e(t, e, r, n) {
+ var i = !r;
+ r || (r = {});
+ for (var a = -1, s = e.length; ++a < s; ) {
+ var l = e[a],
+ u = n ? n(r[l], t[l], l, r, t) : void 0;
+ u === void 0 && (u = t[l]), i ? hc(r, l, u) : dc(r, l, u);
+ }
+ return r;
+ }
+ var Bo,
+ kd = R(() => {
+ 'use strict';
+ am();
+ Kp();
+ o(v6e, 'copyObject');
+ Bo = v6e;
+ });
+ function x6e(t, e) {
+ for (var r = -1, n = Array(t); ++r < t; ) n[r] = e(r);
+ return n;
+ }
+ var eX,
+ tX = R(() => {
+ 'use strict';
+ o(x6e, 'baseTimes');
+ eX = x6e;
+ });
+ function T6e(t, e) {
+ var r = typeof t;
+ return (
+ (e = e ?? b6e), !!e && (r == 'number' || (r != 'symbol' && w6e.test(t))) && t > -1 && t % 1 == 0 && t < e
+ );
+ }
+ var b6e,
+ w6e,
+ Fh,
+ uv = R(() => {
+ 'use strict';
+ (b6e = 9007199254740991), (w6e = /^(?:0|[1-9]\d*)$/);
+ o(T6e, 'isIndex');
+ Fh = T6e;
+ });
+ function C6e(t, e) {
+ var r = wt(t),
+ n = !r && kl(t),
+ i = !r && !n && El(t),
+ a = !r && !n && !i && Bh(t),
+ s = r || n || i || a,
+ l = s ? eX(t.length, String) : [],
+ u = l.length;
+ for (var h in t)
+ (e || E6e.call(t, h)) &&
+ !(
+ s &&
+ (h == 'length' ||
+ (i && (h == 'offset' || h == 'parent')) ||
+ (a && (h == 'buffer' || h == 'byteLength' || h == 'byteOffset')) ||
+ Fh(h, u))
+ ) &&
+ l.push(h);
+ return l;
+ }
+ var k6e,
+ E6e,
+ h5,
+ U_ = R(() => {
+ 'use strict';
+ tX();
+ rm();
+ Bn();
+ im();
+ uv();
+ lv();
+ (k6e = Object.prototype), (E6e = k6e.hasOwnProperty);
+ o(C6e, 'arrayLikeKeys');
+ h5 = C6e;
+ });
+ function S6e(t) {
+ var e = [];
+ if (t != null) for (var r in Object(t)) e.push(r);
+ return e;
+ }
+ var rX,
+ nX = R(() => {
+ 'use strict';
+ o(S6e, 'nativeKeysIn');
+ rX = S6e;
+ });
+ function L6e(t) {
+ if (!pn(t)) return rX(t);
+ var e = fc(t),
+ r = [];
+ for (var n in t) (n == 'constructor' && (e || !_6e.call(t, n))) || r.push(n);
+ return r;
+ }
+ var A6e,
+ _6e,
+ iX,
+ aX = R(() => {
+ 'use strict';
+ Js();
+ tm();
+ nX();
+ (A6e = Object.prototype), (_6e = A6e.hasOwnProperty);
+ o(L6e, 'baseKeysIn');
+ iX = L6e;
+ });
+ function D6e(t) {
+ return ei(t) ? h5(t, !0) : iX(t);
+ }
+ var bs,
+ zh = R(() => {
+ 'use strict';
+ U_();
+ aX();
+ Io();
+ o(D6e, 'keysIn');
+ bs = D6e;
+ });
+ function R6e(t) {
+ return Bo(t, bs(t));
+ }
+ var sX,
+ oX = R(() => {
+ 'use strict';
+ kd();
+ zh();
+ o(R6e, 'toPlainObject');
+ sX = R6e;
+ });
+ function N6e(t, e, r, n, i, a, s) {
+ var l = cv(t, r),
+ u = cv(e, r),
+ h = s.get(u);
+ if (h) {
+ av(t, r, h);
+ return;
+ }
+ var f = a ? a(l, u, r + '', t, e, s) : void 0,
+ d = f === void 0;
+ if (d) {
+ var p = wt(u),
+ m = !p && El(u),
+ g = !p && !m && Bh(u);
+ (f = u),
+ p || m || g
+ ? wt(l)
+ ? (f = l)
+ : wd(l)
+ ? (f = a5(l))
+ : m
+ ? ((d = !1), (f = r5(u, !0)))
+ : g
+ ? ((d = !1), (f = i5(u, !0)))
+ : (f = [])
+ : Xq(u) || kl(u)
+ ? ((f = l), kl(l) ? (f = sX(l)) : (!pn(l) || wi(l)) && (f = l5(u)))
+ : (d = !1);
+ }
+ d && (s.set(u, f), i(f, u, n, a, s), s.delete(u)), av(t, r, f);
+ }
+ var lX,
+ cX = R(() => {
+ 'use strict';
+ M_();
+ I_();
+ P_();
+ B_();
+ z_();
+ rm();
+ Bn();
+ u5();
+ im();
+ Jy();
+ Js();
+ jq();
+ lv();
+ V_();
+ oX();
+ o(N6e, 'baseMergeDeep');
+ lX = N6e;
+ });
+ function uX(t, e, r, n, i) {
+ t !== e &&
+ Qp(
+ e,
+ function (a, s) {
+ if ((i || (i = new uc()), pn(a))) lX(t, e, s, r, uX, n, i);
+ else {
+ var l = n ? n(cv(t, s), a, s + '', t, e, i) : void 0;
+ l === void 0 && (l = a), av(t, s, l);
+ }
+ },
+ bs
+ );
+ }
+ var hX,
+ fX = R(() => {
+ 'use strict';
+ iv();
+ M_();
+ t5();
+ cX();
+ Js();
+ zh();
+ V_();
+ o(uX, 'baseMerge');
+ hX = uX;
+ });
+ function M6e(t) {
+ return t;
+ }
+ var ea,
+ Eu = R(() => {
+ 'use strict';
+ o(M6e, 'identity');
+ ea = M6e;
+ });
+ function I6e(t, e, r) {
+ switch (r.length) {
+ case 0:
+ return t.call(e);
+ case 1:
+ return t.call(e, r[0]);
+ case 2:
+ return t.call(e, r[0], r[1]);
+ case 3:
+ return t.call(e, r[0], r[1], r[2]);
+ }
+ return t.apply(e, r);
+ }
+ var dX,
+ pX = R(() => {
+ 'use strict';
+ o(I6e, 'apply');
+ dX = I6e;
+ });
+ function O6e(t, e, r) {
+ return (
+ (e = mX(e === void 0 ? t.length - 1 : e, 0)),
+ function () {
+ for (var n = arguments, i = -1, a = mX(n.length - e, 0), s = Array(a); ++i < a; ) s[i] = n[e + i];
+ i = -1;
+ for (var l = Array(e + 1); ++i < e; ) l[i] = n[i];
+ return (l[e] = r(s)), dX(t, this, l);
+ }
+ );
+ }
+ var mX,
+ f5,
+ H_ = R(() => {
+ 'use strict';
+ pX();
+ mX = Math.max;
+ o(O6e, 'overRest');
+ f5 = O6e;
+ });
+ function P6e(t) {
+ return function () {
+ return t;
+ };
+ }
+ var ws,
+ Y_ = R(() => {
+ 'use strict';
+ o(P6e, 'constant');
+ ws = P6e;
+ });
+ var B6e,
+ gX,
+ yX = R(() => {
+ 'use strict';
+ Y_();
+ N_();
+ Eu();
+ (B6e = jp
+ ? function (t, e) {
+ return jp(t, 'toString', {
+ configurable: !0,
+ enumerable: !1,
+ value: ws(e),
+ writable: !0
+ });
+ }
+ : ea),
+ (gX = B6e);
+ });
+ function $6e(t) {
+ var e = 0,
+ r = 0;
+ return function () {
+ var n = G6e(),
+ i = z6e - (n - r);
+ if (((r = n), i > 0)) {
+ if (++e >= F6e) return arguments[0];
+ } else e = 0;
+ return t.apply(void 0, arguments);
+ };
+ }
+ var F6e,
+ z6e,
+ G6e,
+ vX,
+ xX = R(() => {
+ 'use strict';
+ (F6e = 800), (z6e = 16), (G6e = Date.now);
+ o($6e, 'shortOut');
+ vX = $6e;
+ });
+ var V6e,
+ d5,
+ W_ = R(() => {
+ 'use strict';
+ yX();
+ xX();
+ (V6e = vX(gX)), (d5 = V6e);
+ });
+ function U6e(t, e) {
+ return d5(f5(t, e, ea), t + '');
+ }
+ var pc,
+ sm = R(() => {
+ 'use strict';
+ Eu();
+ H_();
+ W_();
+ o(U6e, 'baseRest');
+ pc = U6e;
+ });
+ function H6e(t, e, r) {
+ if (!pn(r)) return !1;
+ var n = typeof e;
+ return (n == 'number' ? ei(r) && Fh(e, r.length) : n == 'string' && e in r) ? No(r[e], t) : !1;
+ }
+ var eo,
+ Ed = R(() => {
+ 'use strict';
+ xd();
+ Io();
+ uv();
+ Js();
+ o(H6e, 'isIterateeCall');
+ eo = H6e;
+ });
+ function Y6e(t) {
+ return pc(function (e, r) {
+ var n = -1,
+ i = r.length,
+ a = i > 1 ? r[i - 1] : void 0,
+ s = i > 2 ? r[2] : void 0;
+ for (
+ a = t.length > 3 && typeof a == 'function' ? (i--, a) : void 0,
+ s && eo(r[0], r[1], s) && ((a = i < 3 ? void 0 : a), (i = 1)),
+ e = Object(e);
+ ++n < i;
+
+ ) {
+ var l = r[n];
+ l && t(e, l, n, a);
+ }
+ return e;
+ });
+ }
+ var p5,
+ q_ = R(() => {
+ 'use strict';
+ sm();
+ Ed();
+ o(Y6e, 'createAssigner');
+ p5 = Y6e;
+ });
+ var W6e,
+ Gh,
+ X_ = R(() => {
+ 'use strict';
+ fX();
+ q_();
+ (W6e = p5(function (t, e, r) {
+ hX(t, e, r);
+ })),
+ (Gh = W6e);
+ });
+ function om(t, e) {
+ if (!t) return e;
+ let r = `curve${t.charAt(0).toUpperCase() + t.slice(1)}`;
+ return q6e[r] ?? e;
+ }
+ function Q6e(t, e) {
+ let r = t.trim();
+ if (r) return e.securityLevel !== 'loose' ? (0, TX.sanitizeUrl)(r) : r;
+ }
+ function CX(t, e) {
+ return !t || !e ? 0 : Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2));
+ }
+ function J6e(t) {
+ let e,
+ r = 0;
+ t.forEach((i) => {
+ (r += CX(i, e)), (e = i);
+ });
+ let n = r / 2;
+ return Q_(t, n);
+ }
+ function eCe(t) {
+ return t.length === 1 ? t[0] : J6e(t);
+ }
+ function rCe(t, e, r) {
+ let n = structuredClone(r);
+ V.info('our points', n), e !== 'start_left' && e !== 'start_right' && n.reverse();
+ let i = 25 + t,
+ a = Q_(n, i),
+ s = 10 + t * 0.5,
+ l = Math.atan2(n[0].y - a.y, n[0].x - a.x),
+ u = { x: 0, y: 0 };
+ return (
+ e === 'start_left'
+ ? ((u.x = Math.sin(l + Math.PI) * s + (n[0].x + a.x) / 2),
+ (u.y = -Math.cos(l + Math.PI) * s + (n[0].y + a.y) / 2))
+ : e === 'end_right'
+ ? ((u.x = Math.sin(l - Math.PI) * s + (n[0].x + a.x) / 2 - 5),
+ (u.y = -Math.cos(l - Math.PI) * s + (n[0].y + a.y) / 2 - 5))
+ : e === 'end_left'
+ ? ((u.x = Math.sin(l) * s + (n[0].x + a.x) / 2 - 5), (u.y = -Math.cos(l) * s + (n[0].y + a.y) / 2 - 5))
+ : ((u.x = Math.sin(l) * s + (n[0].x + a.x) / 2), (u.y = -Math.cos(l) * s + (n[0].y + a.y) / 2)),
+ u
+ );
+ }
+ function lm(t) {
+ let e = '',
+ r = '';
+ for (let n of t)
+ n !== void 0 &&
+ (n.startsWith('color:') || n.startsWith('text-align:') ? (r = r + n + ';') : (e = e + n + ';'));
+ return { style: e, labelStyle: r };
+ }
+ function nCe(t) {
+ let e = '',
+ r = '0123456789abcdef',
+ n = r.length;
+ for (let i = 0; i < t; i++) e += r.charAt(Math.floor(Math.random() * n));
+ return e;
+ }
+ function g5(t, e) {
+ return t9(t, e).height;
+ }
+ function Cl(t, e) {
+ return t9(t, e).width;
+ }
+ function r9(t) {
+ return 'str' in t;
+ }
+ function Ts(t, e) {
+ return Gh({}, t, e);
+ }
+ var TX,
+ K_,
+ q6e,
+ X6e,
+ j6e,
+ kX,
+ EX,
+ K6e,
+ Z6e,
+ bX,
+ Q_,
+ tCe,
+ wX,
+ Z_,
+ J_,
+ iCe,
+ aCe,
+ e9,
+ sCe,
+ t9,
+ j_,
+ m5,
+ oCe,
+ lCe,
+ mc,
+ Lt,
+ SX,
+ to,
+ y5,
+ xr = R(() => {
+ 'use strict';
+ TX = Xi(Up(), 1);
+ Zt();
+ rr();
+ r7();
+ ut();
+ Hf();
+ cp();
+ R_();
+ X_();
+ Vb();
+ (K_ = '\u200B'),
+ (q6e = {
+ curveBasis: vs,
+ curveBasisClosed: B3,
+ curveBasisOpen: F3,
+ curveBumpX: s_,
+ curveBumpY: o_,
+ curveBundle: l_,
+ curveCardinalClosed: u_,
+ curveCardinalOpen: f_,
+ curveCardinal: c_,
+ curveCatmullRomClosed: m_,
+ curveCatmullRomOpen: g_,
+ curveCatmullRom: p_,
+ curveLinear: xu,
+ curveLinearClosed: U3,
+ curveMonotoneX: v_,
+ curveMonotoneY: x_,
+ curveNatural: Y3,
+ curveStep: q3,
+ curveStepAfter: w_,
+ curveStepBefore: b_
+ }),
+ (X6e = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi),
+ (j6e = o(function (t, e) {
+ let r = kX(t, /(?:init\b)|(?:initialize\b)/),
+ n = {};
+ if (Array.isArray(r)) {
+ let s = r.map((l) => l.args);
+ fp(s), (n = On(n, [...s]));
+ } else n = r.args;
+ if (!n) return;
+ let i = lp(t, e),
+ a = 'config';
+ return (
+ n[a] !== void 0 && (i === 'flowchart-v2' && (i = 'flowchart'), (n[i] = n[a]), delete n[a]), n
+ );
+ }, 'detectInit')),
+ (kX = o(function (t, e = null) {
+ try {
+ let r = new RegExp(
+ `[%]{2}(?![{]${X6e.source})(?=[}][%]{2}).*
+`,
+ 'ig'
+ );
+ (t = t.trim().replace(r, '').replace(/'/gm, '"')),
+ V.debug(
+ `Detecting diagram directive${e !== null ? ' type:' + e : ''} based on the text:${t}`
+ );
+ let n,
+ i = [];
+ for (; (n = Vf.exec(t)) !== null; )
+ if (
+ (n.index === Vf.lastIndex && Vf.lastIndex++,
+ (n && !e) || (e && n[1]?.match(e)) || (e && n[2]?.match(e)))
+ ) {
+ let a = n[1] ? n[1] : n[2],
+ s = n[3] ? n[3].trim() : n[4] ? JSON.parse(n[4].trim()) : null;
+ i.push({ type: a, args: s });
+ }
+ return i.length === 0 ? { type: t, args: null } : i.length === 1 ? i[0] : i;
+ } catch (r) {
+ return (
+ V.error(
+ `ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`
+ ),
+ { type: void 0, args: null }
+ );
+ }
+ }, 'detectDirective')),
+ (EX = o(function (t) {
+ return t.replace(Vf, '');
+ }, 'removeDirectives')),
+ (K6e = o(function (t, e) {
+ for (let [r, n] of e.entries()) if (n.match(t)) return r;
+ return -1;
+ }, 'isSubstringInArray'));
+ o(om, 'interpolateToCurve');
+ o(Q6e, 'formatUrl');
+ Z6e = o((t, ...e) => {
+ let r = t.split('.'),
+ n = r.length - 1,
+ i = r[n],
+ a = window;
+ for (let s = 0; s < n; s++)
+ if (((a = a[r[s]]), !a)) {
+ V.error(`Function name: ${t} not found in window`);
+ return;
+ }
+ a[i](...e);
+ }, 'runFunc');
+ o(CX, 'distance');
+ o(J6e, 'traverseEdge');
+ o(eCe, 'calcLabelPosition');
+ (bX = o((t, e = 2) => {
+ let r = Math.pow(10, e);
+ return Math.round(t * r) / r;
+ }, 'roundNumber')),
+ (Q_ = o((t, e) => {
+ let r,
+ n = e;
+ for (let i of t) {
+ if (r) {
+ let a = CX(i, r);
+ if (a < n) n -= a;
+ else {
+ let s = n / a;
+ if (s <= 0) return r;
+ if (s >= 1) return { x: i.x, y: i.y };
+ if (s > 0 && s < 1)
+ return {
+ x: bX((1 - s) * r.x + s * i.x, 5),
+ y: bX((1 - s) * r.y + s * i.y, 5)
+ };
+ }
+ }
+ r = i;
+ }
+ throw new Error('Could not find a suitable point for the given distance');
+ }, 'calculatePoint')),
+ (tCe = o((t, e, r) => {
+ V.info(`our points ${JSON.stringify(e)}`), e[0] !== r && (e = e.reverse());
+ let i = Q_(e, 25),
+ a = t ? 10 : 5,
+ s = Math.atan2(e[0].y - i.y, e[0].x - i.x),
+ l = { x: 0, y: 0 };
+ return (
+ (l.x = Math.sin(s) * a + (e[0].x + i.x) / 2), (l.y = -Math.cos(s) * a + (e[0].y + i.y) / 2), l
+ );
+ }, 'calcCardinalityPosition'));
+ o(rCe, 'calcTerminalLabelPosition');
+ o(lm, 'getStylesFromArray');
+ (wX = 0), (Z_ = o(() => (wX++, 'id-' + Math.random().toString(36).substr(2, 12) + '-' + wX), 'generateId'));
+ o(nCe, 'makeRandomHex');
+ (J_ = o((t) => nCe(t.length), 'random')),
+ (iCe = o(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,
+ text: ''
+ };
+ }, 'getTextObj')),
+ (aCe = o(function (t, e) {
+ let r = e.text.replace(We.lineBreakRegex, ' '),
+ [, n] = mc(e.fontSize),
+ i = t.append('text');
+ i.attr('x', e.x),
+ i.attr('y', e.y),
+ i.style('text-anchor', e.anchor),
+ i.style('font-family', e.fontFamily),
+ i.style('font-size', n),
+ i.style('font-weight', e.fontWeight),
+ i.attr('fill', e.fill),
+ e.class !== void 0 && i.attr('class', e.class);
+ let a = i.append('tspan');
+ return a.attr('x', e.x + e.textMargin * 2), a.attr('fill', e.fill), a.text(r), i;
+ }, 'drawSimpleText')),
+ (e9 = qp(
+ (t, e, r) => {
+ if (
+ !t ||
+ ((r = Object.assign(
+ {
+ fontSize: 12,
+ fontWeight: 400,
+ fontFamily: 'Arial',
+ joinWith: '
'
+ },
+ r
+ )),
+ We.lineBreakRegex.test(t))
+ )
+ return t;
+ let n = t.split(' ').filter(Boolean),
+ i = [],
+ a = '';
+ return (
+ n.forEach((s, l) => {
+ let u = Cl(`${s} `, r),
+ h = Cl(a, r);
+ if (u > e) {
+ let { hyphenatedStrings: p, remainingWord: m } = sCe(s, e, '-', r);
+ i.push(a, ...p), (a = m);
+ } else h + u >= e ? (i.push(a), (a = s)) : (a = [a, s].filter(Boolean).join(' '));
+ l + 1 === n.length && i.push(a);
+ }),
+ i.filter((s) => s !== '').join(r.joinWith)
+ );
+ },
+ (t, e, r) => `${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`
+ )),
+ (sCe = qp(
+ (t, e, r = '-', n) => {
+ n = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: 'Arial', margin: 0 }, n);
+ let i = [...t],
+ a = [],
+ s = '';
+ return (
+ i.forEach((l, u) => {
+ let h = `${s}${l}`;
+ if (Cl(h, n) >= e) {
+ let d = u + 1,
+ p = i.length === d,
+ m = `${h}${r}`;
+ a.push(p ? h : m), (s = '');
+ } else s = h;
+ }),
+ { hyphenatedStrings: a, remainingWord: s }
+ );
+ },
+ (t, e, r = '-', n) => `${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`
+ ));
+ o(g5, 'calculateTextHeight');
+ o(Cl, 'calculateTextWidth');
+ (t9 = qp(
+ (t, e) => {
+ let { fontSize: r = 12, fontFamily: n = 'Arial', fontWeight: i = 400 } = e;
+ if (!t) return { width: 0, height: 0 };
+ let [, a] = mc(r),
+ s = ['sans-serif', n],
+ l = t.split(We.lineBreakRegex),
+ u = [],
+ h = $e('body');
+ if (!h.remove) return { width: 0, height: 0, lineHeight: 0 };
+ let f = h.append('svg');
+ for (let p of s) {
+ let m = 0,
+ g = { width: 0, height: 0, lineHeight: 0 };
+ for (let y of l) {
+ let v = iCe();
+ v.text = y || K_;
+ let x = aCe(f, v).style('font-size', a).style('font-weight', i).style('font-family', p),
+ b = (x._groups || x)[0][0].getBBox();
+ if (b.width === 0 && b.height === 0) throw new Error('svg element not in render tree');
+ (g.width = Math.round(Math.max(g.width, b.width))),
+ (m = Math.round(b.height)),
+ (g.height += m),
+ (g.lineHeight = Math.round(Math.max(g.lineHeight, m)));
+ }
+ u.push(g);
+ }
+ f.remove();
+ let d =
+ isNaN(u[1].height) ||
+ isNaN(u[1].width) ||
+ isNaN(u[1].lineHeight) ||
+ (u[0].height > u[1].height && u[0].width > u[1].width && u[0].lineHeight > u[1].lineHeight)
+ ? 0
+ : 1;
+ return u[d];
+ },
+ (t, e) => `${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`
+ )),
+ (j_ = class {
+ constructor(e = !1, r) {
+ this.count = 0;
+ (this.count = r ? r.length : 0), (this.next = e ? () => this.count++ : () => Date.now());
+ }
+ static {
+ o(this, 'InitIDGenerator');
+ }
+ }),
+ (oCe = o(function (t) {
+ return (
+ (m5 = m5 || document.createElement('div')),
+ (t = escape(t).replace(/%26/g, '&').replace(/%23/g, '#').replace(/%3B/g, ';')),
+ (m5.innerHTML = t),
+ unescape(m5.textContent)
+ );
+ }, 'entityDecode'));
+ o(r9, 'isDetailedError');
+ (lCe = o((t, e, r, n) => {
+ if (!n) return;
+ let i = t.node()?.getBBox();
+ i &&
+ t
+ .append('text')
+ .text(n)
+ .attr('x', i.x + i.width / 2)
+ .attr('y', -r)
+ .attr('class', e);
+ }, 'insertTitle')),
+ (mc = o((t) => {
+ if (typeof t == 'number') return [t, t + 'px'];
+ let e = parseInt(t ?? '', 10);
+ return Number.isNaN(e) ? [void 0, void 0] : t === String(e) ? [e, t + 'px'] : [e, t];
+ }, 'parseFontSize'));
+ o(Ts, 'cleanAndMerge');
+ (Lt = {
+ assignWithDepth: On,
+ wrapLabel: e9,
+ calculateTextHeight: g5,
+ calculateTextWidth: Cl,
+ calculateTextDimensions: t9,
+ cleanAndMerge: Ts,
+ detectInit: j6e,
+ detectDirective: kX,
+ isSubstringInArray: K6e,
+ interpolateToCurve: om,
+ calcLabelPosition: eCe,
+ calcCardinalityPosition: tCe,
+ calcTerminalLabelPosition: rCe,
+ formatUrl: Q6e,
+ getStylesFromArray: lm,
+ generateId: Z_,
+ random: J_,
+ runFunc: Z6e,
+ entityDecode: oCe,
+ insertTitle: lCe,
+ parseFontSize: mc,
+ InitIDGenerator: j_
+ }),
+ (SX = o(function (t) {
+ let e = t;
+ return (
+ (e = e.replace(/style.*:\S*#.*;/g, function (r) {
+ return r.substring(0, r.length - 1);
+ })),
+ (e = e.replace(/classDef.*:\S*#.*;/g, function (r) {
+ return r.substring(0, r.length - 1);
+ })),
+ (e = e.replace(/#\w+;/g, function (r) {
+ let n = r.substring(1, r.length - 1);
+ return /^\+?\d+$/.test(n)
+ ? '\uFB02\xB0\xB0' + n + '\xB6\xDF'
+ : '\uFB02\xB0' + n + '\xB6\xDF';
+ })),
+ e
+ );
+ }, 'encodeEntities')),
+ (to = o(function (t) {
+ return t.replace(/fl°°/g, '').replace(/fl°/g, '&').replace(/¶ß/g, ';');
+ }, 'decodeEntities')),
+ (y5 = o(
+ (t, e, { counter: r = 0, prefix: n, suffix: i }) =>
+ `${n ? `${n}_` : ''}${t}_${e}_${r}${i ? `_${i}` : ''}`,
+ 'getEdgeId'
+ ));
+ });
+ function Sl(t, e, r, n, i) {
+ if (!e[t].width)
+ if (r)
+ (e[t].text = e9(e[t].text, i, n)),
+ (e[t].textLines = e[t].text.split(We.lineBreakRegex).length),
+ (e[t].width = i),
+ (e[t].height = g5(e[t].text, n));
+ else {
+ let a = e[t].text.split(We.lineBreakRegex);
+ e[t].textLines = a.length;
+ let s = 0;
+ (e[t].height = 0), (e[t].width = 0);
+ for (let l of a)
+ (e[t].width = Math.max(Cl(l, n), e[t].width)), (s = g5(l, n)), (e[t].height = e[t].height + s);
+ }
+ }
+ function RX(t, e, r, n, i) {
+ let a = new w5(i);
+ a.data.widthLimit = r.data.widthLimit / Math.min(n9, n.length);
+ for (let [s, l] of n.entries()) {
+ let u = 0;
+ (l.image = { width: 0, height: 0, Y: 0 }),
+ l.sprite &&
+ ((l.image.width = 48), (l.image.height = 48), (l.image.Y = u), (u = l.image.Y + l.image.height));
+ let h = l.wrap && Nt.wrap,
+ f = v5(Nt);
+ if (
+ ((f.fontSize = f.fontSize + 2),
+ (f.fontWeight = 'bold'),
+ Sl('label', l, h, f, a.data.widthLimit),
+ (l.label.Y = u + 8),
+ (u = l.label.Y + l.label.height),
+ l.type && l.type.text !== '')
+ ) {
+ l.type.text = '[' + l.type.text + ']';
+ let g = v5(Nt);
+ Sl('type', l, h, g, a.data.widthLimit), (l.type.Y = u + 5), (u = l.type.Y + l.type.height);
+ }
+ if (l.descr && l.descr.text !== '') {
+ let g = v5(Nt);
+ (g.fontSize = g.fontSize - 2),
+ Sl('descr', l, h, g, a.data.widthLimit),
+ (l.descr.Y = u + 20),
+ (u = l.descr.Y + l.descr.height);
+ }
+ if (s == 0 || s % n9 === 0) {
+ let g = r.data.startx + Nt.diagramMarginX,
+ y = r.data.stopy + Nt.diagramMarginY + u;
+ a.setData(g, g, y, y);
+ } else {
+ let g = a.data.stopx !== a.data.startx ? a.data.stopx + Nt.diagramMarginX : a.data.startx,
+ y = a.data.starty;
+ a.setData(g, g, y, y);
+ }
+ a.name = l.alias;
+ let d = i.db.getC4ShapeArray(l.alias),
+ p = i.db.getC4ShapeKeys(l.alias);
+ p.length > 0 && DX(a, t, d, p), (e = l.alias);
+ let m = i.db.getBoundarys(e);
+ m.length > 0 && RX(t, e, a, m, i),
+ l.alias !== 'global' && LX(t, l, a),
+ (r.data.stopy = Math.max(a.data.stopy + Nt.c4ShapeMargin, r.data.stopy)),
+ (r.data.stopx = Math.max(a.data.stopx + Nt.c4ShapeMargin, r.data.stopx)),
+ (x5 = Math.max(x5, r.data.stopx)),
+ (b5 = Math.max(b5, r.data.stopy));
+ }
+ }
+ var x5,
+ b5,
+ _X,
+ n9,
+ Nt,
+ w5,
+ i9,
+ hv,
+ v5,
+ cCe,
+ LX,
+ DX,
+ ks,
+ AX,
+ uCe,
+ hCe,
+ fCe,
+ a9,
+ NX = R(() => {
+ 'use strict';
+ Zt();
+ AW();
+ ut();
+ VC();
+ rr();
+ lS();
+ _t();
+ cp();
+ xr();
+ Yn();
+ (x5 = 0), (b5 = 0), (_X = 4), (n9 = 2);
+ U1.yy = hy;
+ (Nt = {}),
+ (w5 = class {
+ static {
+ o(this, 'Bounds');
+ }
+ constructor(e) {
+ (this.name = ''),
+ (this.data = {}),
+ (this.data.startx = void 0),
+ (this.data.stopx = void 0),
+ (this.data.starty = void 0),
+ (this.data.stopy = void 0),
+ (this.data.widthLimit = void 0),
+ (this.nextData = {}),
+ (this.nextData.startx = void 0),
+ (this.nextData.stopx = void 0),
+ (this.nextData.starty = void 0),
+ (this.nextData.stopy = void 0),
+ (this.nextData.cnt = 0),
+ i9(e.db.getConfig());
+ }
+ setData(e, r, n, i) {
+ (this.nextData.startx = this.data.startx = e),
+ (this.nextData.stopx = this.data.stopx = r),
+ (this.nextData.starty = this.data.starty = n),
+ (this.nextData.stopy = this.data.stopy = i);
+ }
+ updateVal(e, r, n, i) {
+ e[r] === void 0 ? (e[r] = n) : (e[r] = i(n, e[r]));
+ }
+ insert(e) {
+ this.nextData.cnt = this.nextData.cnt + 1;
+ let r =
+ this.nextData.startx === this.nextData.stopx
+ ? this.nextData.stopx + e.margin
+ : this.nextData.stopx + e.margin * 2,
+ n = r + e.width,
+ i = this.nextData.starty + e.margin * 2,
+ a = i + e.height;
+ (r >= this.data.widthLimit || n >= this.data.widthLimit || this.nextData.cnt > _X) &&
+ ((r = this.nextData.startx + e.margin + Nt.nextLinePaddingX),
+ (i = this.nextData.stopy + e.margin * 2),
+ (this.nextData.stopx = n = r + e.width),
+ (this.nextData.starty = this.nextData.stopy),
+ (this.nextData.stopy = a = i + e.height),
+ (this.nextData.cnt = 1)),
+ (e.x = r),
+ (e.y = i),
+ this.updateVal(this.data, 'startx', r, Math.min),
+ this.updateVal(this.data, 'starty', i, Math.min),
+ this.updateVal(this.data, 'stopx', n, Math.max),
+ this.updateVal(this.data, 'stopy', a, Math.max),
+ this.updateVal(this.nextData, 'startx', r, Math.min),
+ this.updateVal(this.nextData, 'starty', i, Math.min),
+ this.updateVal(this.nextData, 'stopx', n, Math.max),
+ this.updateVal(this.nextData, 'stopy', a, Math.max);
+ }
+ init(e) {
+ (this.name = ''),
+ (this.data = {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0,
+ widthLimit: void 0
+ }),
+ (this.nextData = {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0,
+ cnt: 0
+ }),
+ i9(e.db.getConfig());
+ }
+ bumpLastMargin(e) {
+ (this.data.stopx += e), (this.data.stopy += e);
+ }
+ }),
+ (i9 = o(function (t) {
+ On(Nt, t),
+ t.fontFamily &&
+ (Nt.personFontFamily = Nt.systemFontFamily = Nt.messageFontFamily = t.fontFamily),
+ t.fontSize && (Nt.personFontSize = Nt.systemFontSize = Nt.messageFontSize = t.fontSize),
+ t.fontWeight &&
+ (Nt.personFontWeight = Nt.systemFontWeight = Nt.messageFontWeight = t.fontWeight);
+ }, 'setConf')),
+ (hv = o(
+ (t, e) => ({
+ fontFamily: t[e + 'FontFamily'],
+ fontSize: t[e + 'FontSize'],
+ fontWeight: t[e + 'FontWeight']
+ }),
+ 'c4ShapeFont'
+ )),
+ (v5 = o(
+ (t) => ({
+ fontFamily: t.boundaryFontFamily,
+ fontSize: t.boundaryFontSize,
+ fontWeight: t.boundaryFontWeight
+ }),
+ 'boundaryFont'
+ )),
+ (cCe = o(
+ (t) => ({
+ fontFamily: t.messageFontFamily,
+ fontSize: t.messageFontSize,
+ fontWeight: t.messageFontWeight
+ }),
+ 'messageFont'
+ ));
+ o(Sl, 'calcC4ShapeTextWH');
+ (LX = o(function (t, e, r) {
+ (e.x = r.data.startx),
+ (e.y = r.data.starty),
+ (e.width = r.data.stopx - r.data.startx),
+ (e.height = r.data.stopy - r.data.starty),
+ (e.label.y = Nt.c4ShapeMargin - 35);
+ let n = e.wrap && Nt.wrap,
+ i = v5(Nt);
+ (i.fontSize = i.fontSize + 2), (i.fontWeight = 'bold');
+ let a = Cl(e.label.text, i);
+ Sl('label', e, n, i, a), Tl.drawBoundary(t, e, Nt);
+ }, 'drawBoundary')),
+ (DX = o(function (t, e, r, n) {
+ let i = 0;
+ for (let a of n) {
+ i = 0;
+ let s = r[a],
+ l = hv(Nt, s.typeC4Shape.text);
+ switch (
+ ((l.fontSize = l.fontSize - 2),
+ (s.typeC4Shape.width = Cl('\xAB' + s.typeC4Shape.text + '\xBB', l)),
+ (s.typeC4Shape.height = l.fontSize + 2),
+ (s.typeC4Shape.Y = Nt.c4ShapePadding),
+ (i = s.typeC4Shape.Y + s.typeC4Shape.height - 4),
+ (s.image = { width: 0, height: 0, Y: 0 }),
+ s.typeC4Shape.text)
+ ) {
+ case 'person':
+ case 'external_person':
+ (s.image.width = 48),
+ (s.image.height = 48),
+ (s.image.Y = i),
+ (i = s.image.Y + s.image.height);
+ break;
+ }
+ s.sprite &&
+ ((s.image.width = 48),
+ (s.image.height = 48),
+ (s.image.Y = i),
+ (i = s.image.Y + s.image.height));
+ let u = s.wrap && Nt.wrap,
+ h = Nt.width - Nt.c4ShapePadding * 2,
+ f = hv(Nt, s.typeC4Shape.text);
+ if (
+ ((f.fontSize = f.fontSize + 2),
+ (f.fontWeight = 'bold'),
+ Sl('label', s, u, f, h),
+ (s.label.Y = i + 8),
+ (i = s.label.Y + s.label.height),
+ s.type && s.type.text !== '')
+ ) {
+ s.type.text = '[' + s.type.text + ']';
+ let m = hv(Nt, s.typeC4Shape.text);
+ Sl('type', s, u, m, h), (s.type.Y = i + 5), (i = s.type.Y + s.type.height);
+ } else if (s.techn && s.techn.text !== '') {
+ s.techn.text = '[' + s.techn.text + ']';
+ let m = hv(Nt, s.techn.text);
+ Sl('techn', s, u, m, h), (s.techn.Y = i + 5), (i = s.techn.Y + s.techn.height);
+ }
+ let d = i,
+ p = s.label.width;
+ if (s.descr && s.descr.text !== '') {
+ let m = hv(Nt, s.typeC4Shape.text);
+ Sl('descr', s, u, m, h),
+ (s.descr.Y = i + 20),
+ (i = s.descr.Y + s.descr.height),
+ (p = Math.max(s.label.width, s.descr.width)),
+ (d = i - s.descr.textLines * 5);
+ }
+ (p = p + Nt.c4ShapePadding),
+ (s.width = Math.max(s.width || Nt.width, p, Nt.width)),
+ (s.height = Math.max(s.height || Nt.height, d, Nt.height)),
+ (s.margin = s.margin || Nt.c4ShapeMargin),
+ t.insert(s),
+ Tl.drawC4Shape(e, s, Nt);
+ }
+ t.bumpLastMargin(Nt.c4ShapeMargin);
+ }, 'drawC4ShapeArray')),
+ (ks = class {
+ static {
+ o(this, 'Point');
+ }
+ constructor(e, r) {
+ (this.x = e), (this.y = r);
+ }
+ }),
+ (AX = o(function (t, e) {
+ let r = t.x,
+ n = t.y,
+ i = e.x,
+ a = e.y,
+ s = r + t.width / 2,
+ l = n + t.height / 2,
+ u = Math.abs(r - i),
+ h = Math.abs(n - a),
+ f = h / u,
+ d = t.height / t.width,
+ p = null;
+ return (
+ n == a && r < i
+ ? (p = new ks(r + t.width, l))
+ : n == a && r > i
+ ? (p = new ks(r, l))
+ : r == i && n < a
+ ? (p = new ks(s, n + t.height))
+ : r == i && n > a && (p = new ks(s, n)),
+ r > i && n < a
+ ? d >= f
+ ? (p = new ks(r, l + (f * t.width) / 2))
+ : (p = new ks(s - ((u / h) * t.height) / 2, n + t.height))
+ : r < i && n < a
+ ? d >= f
+ ? (p = new ks(r + t.width, l + (f * t.width) / 2))
+ : (p = new ks(s + ((u / h) * t.height) / 2, n + t.height))
+ : r < i && n > a
+ ? d >= f
+ ? (p = new ks(r + t.width, l - (f * t.width) / 2))
+ : (p = new ks(s + ((t.height / 2) * u) / h, n))
+ : r > i &&
+ n > a &&
+ (d >= f
+ ? (p = new ks(r, l - (t.width / 2) * f))
+ : (p = new ks(s - ((t.height / 2) * u) / h, n))),
+ p
+ );
+ }, 'getIntersectPoint')),
+ (uCe = o(function (t, e) {
+ let r = { x: 0, y: 0 };
+ (r.x = e.x + e.width / 2), (r.y = e.y + e.height / 2);
+ let n = AX(t, r);
+ (r.x = t.x + t.width / 2), (r.y = t.y + t.height / 2);
+ let i = AX(e, r);
+ return { startPoint: n, endPoint: i };
+ }, 'getIntersectPoints')),
+ (hCe = o(function (t, e, r, n) {
+ let i = 0;
+ for (let a of e) {
+ i = i + 1;
+ let s = a.wrap && Nt.wrap,
+ l = cCe(Nt);
+ n.db.getC4Type() === 'C4Dynamic' && (a.label.text = i + ': ' + a.label.text);
+ let h = Cl(a.label.text, l);
+ Sl('label', a, s, l, h),
+ a.techn && a.techn.text !== '' && ((h = Cl(a.techn.text, l)), Sl('techn', a, s, l, h)),
+ a.descr && a.descr.text !== '' && ((h = Cl(a.descr.text, l)), Sl('descr', a, s, l, h));
+ let f = r(a.from),
+ d = r(a.to),
+ p = uCe(f, d);
+ (a.startPoint = p.startPoint), (a.endPoint = p.endPoint);
+ }
+ Tl.drawRels(t, e, Nt);
+ }, 'drawRels'));
+ o(RX, 'drawInsideBoundary');
+ (fCe = o(function (t, e, r, n) {
+ Nt = de().c4;
+ let i = de().securityLevel,
+ a;
+ i === 'sandbox' && (a = $e('#i' + e));
+ let s = i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body'),
+ l = n.db;
+ n.db.setWrap(Nt.wrap),
+ (_X = l.getC4ShapeInRow()),
+ (n9 = l.getC4BoundaryInRow()),
+ V.debug(`C:${JSON.stringify(Nt, null, 2)}`);
+ let u = i === 'sandbox' ? s.select(`[id="${e}"]`) : $e(`[id="${e}"]`);
+ Tl.insertComputerIcon(u), Tl.insertDatabaseIcon(u), Tl.insertClockIcon(u);
+ let h = new w5(n);
+ h.setData(Nt.diagramMarginX, Nt.diagramMarginX, Nt.diagramMarginY, Nt.diagramMarginY),
+ (h.data.widthLimit = screen.availWidth),
+ (x5 = Nt.diagramMarginX),
+ (b5 = Nt.diagramMarginY);
+ let f = n.db.getTitle(),
+ d = n.db.getBoundarys('');
+ RX(u, '', h, d, n),
+ Tl.insertArrowHead(u),
+ Tl.insertArrowEnd(u),
+ Tl.insertArrowCrossHead(u),
+ Tl.insertArrowFilledHead(u),
+ hCe(u, n.db.getRels(), n.db.getC4Shape, n),
+ (h.data.stopx = x5),
+ (h.data.stopy = b5);
+ let p = h.data,
+ g = p.stopy - p.starty + 2 * Nt.diagramMarginY,
+ v = p.stopx - p.startx + 2 * Nt.diagramMarginX;
+ f &&
+ u
+ .append('text')
+ .text(f)
+ .attr('x', (p.stopx - p.startx) / 2 - 4 * Nt.diagramMarginX)
+ .attr('y', p.starty + Nt.diagramMarginY),
+ Sr(u, g, v, Nt.useMaxWidth);
+ let x = f ? 60 : 0;
+ u.attr(
+ 'viewBox',
+ p.startx - Nt.diagramMarginX + ' -' + (Nt.diagramMarginY + x) + ' ' + v + ' ' + (g + x)
+ ),
+ V.debug('models:', p);
+ }, 'draw')),
+ (a9 = {
+ drawPersonOrSystemArray: DX,
+ drawBoundary: LX,
+ setConf: i9,
+ draw: fCe
+ });
+ });
+ var dCe,
+ MX,
+ IX = R(() => {
+ 'use strict';
+ (dCe = o(
+ (t) => `.person {
+ stroke: ${t.personBorder};
+ fill: ${t.personBkg};
+ }
+`,
+ 'getStyles'
+ )),
+ (MX = dCe);
+ });
+ var OX = {};
+ hr(OX, { diagram: () => pCe });
+ var pCe,
+ PX = R(() => {
+ 'use strict';
+ VC();
+ lS();
+ NX();
+ IX();
+ pCe = {
+ parser: rz,
+ db: hy,
+ renderer: a9,
+ styles: MX,
+ init: o(({ c4: t, wrap: e }) => {
+ a9.setConf(t), hy.setWrap(e);
+ }, 'init')
+ };
+ });
+ function o9(t) {
+ let e = [];
+ for (let r of t) {
+ let n = dv.get(r);
+ n?.styles && (e = [...e, ...(n.styles ?? [])].map((i) => i.trim())),
+ n?.textStyles && (e = [...e, ...(n.textStyles ?? [])].map((i) => i.trim()));
+ }
+ return e;
+ }
+ var vCe,
+ zX,
+ cm,
+ $h,
+ Es,
+ dv,
+ Cu,
+ l9,
+ c9,
+ T5,
+ s9,
+ Fo,
+ k5,
+ E5,
+ C5,
+ S5,
+ xCe,
+ bCe,
+ wCe,
+ TCe,
+ kCe,
+ ECe,
+ CCe,
+ u9,
+ SCe,
+ ACe,
+ _Ce,
+ GX,
+ LCe,
+ DCe,
+ h9,
+ $X,
+ VX,
+ RCe,
+ UX,
+ NCe,
+ MCe,
+ ICe,
+ OCe,
+ PCe,
+ fv,
+ HX,
+ YX,
+ BCe,
+ FCe,
+ WX,
+ zCe,
+ GCe,
+ $Ce,
+ VCe,
+ UCe,
+ qX,
+ XX,
+ HCe,
+ YCe,
+ WCe,
+ qCe,
+ XCe,
+ jCe,
+ A5,
+ f9 = R(() => {
+ 'use strict';
+ Zt();
+ xr();
+ _t();
+ rr();
+ ut();
+ bi();
+ (vCe = 'flowchart-'),
+ (zX = 0),
+ (cm = de()),
+ ($h = new Map()),
+ (Es = []),
+ (dv = new Map()),
+ (Cu = []),
+ (l9 = new Map()),
+ (c9 = new Map()),
+ (T5 = 0),
+ (s9 = !0),
+ (E5 = []),
+ (C5 = o((t) => We.sanitizeText(t, cm), 'sanitizeText')),
+ (S5 = o(function (t) {
+ for (let e of $h.values()) if (e.id === t) return e.domId;
+ return t;
+ }, 'lookUpDomId')),
+ (xCe = o(function (t, e, r, n, i, a, s = {}) {
+ if (!t || t.trim().length === 0) return;
+ let l,
+ u = $h.get(t);
+ u === void 0 &&
+ ((u = {
+ id: t,
+ labelType: 'text',
+ domId: vCe + t + '-' + zX,
+ styles: [],
+ classes: []
+ }),
+ $h.set(t, u)),
+ zX++,
+ e !== void 0
+ ? ((cm = de()),
+ (l = C5(e.text.trim())),
+ (u.labelType = e.type),
+ l.startsWith('"') && l.endsWith('"') && (l = l.substring(1, l.length - 1)),
+ (u.text = l))
+ : u.text === void 0 && (u.text = t),
+ r !== void 0 && (u.type = r),
+ n?.forEach(function (h) {
+ u.styles.push(h);
+ }),
+ i?.forEach(function (h) {
+ u.classes.push(h);
+ }),
+ a !== void 0 && (u.dir = a),
+ u.props === void 0 ? (u.props = s) : s !== void 0 && Object.assign(u.props, s);
+ }, 'addVertex')),
+ (bCe = o(function (t, e, r) {
+ let a = {
+ start: t,
+ end: e,
+ type: void 0,
+ text: '',
+ labelType: 'text'
+ };
+ V.info('abc78 Got edge...', a);
+ let s = r.text;
+ if (
+ (s !== void 0 &&
+ ((a.text = C5(s.text.trim())),
+ a.text.startsWith('"') &&
+ a.text.endsWith('"') &&
+ (a.text = a.text.substring(1, a.text.length - 1)),
+ (a.labelType = s.type)),
+ r !== void 0 &&
+ ((a.type = r.type), (a.stroke = r.stroke), (a.length = r.length > 10 ? 10 : r.length)),
+ Es.length < (cm.maxEdges ?? 500))
+ )
+ V.info('Pushing edge...'), Es.push(a);
+ else
+ throw new Error(`Edge limit exceeded. ${Es.length} edges found, but the limit is ${cm.maxEdges}.
+
+Initialize mermaid with maxEdges set to a higher number to allow more edges.
+You cannot set this config via configuration inside the diagram as it is a secure config.
+You have to call mermaid.initialize.`);
+ }, 'addSingleLink')),
+ (wCe = o(function (t, e, r) {
+ V.info('addLink', t, e, r);
+ for (let n of t) for (let i of e) bCe(n, i, r);
+ }, 'addLink')),
+ (TCe = o(function (t, e) {
+ t.forEach(function (r) {
+ r === 'default' ? (Es.defaultInterpolate = e) : (Es[r].interpolate = e);
+ });
+ }, 'updateLinkInterpolate')),
+ (kCe = o(function (t, e) {
+ t.forEach(function (r) {
+ if (typeof r == 'number' && r >= Es.length)
+ throw new Error(
+ `The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${
+ Es.length - 1
+ }. (Help: Ensure that the index is within the range of existing edges.)`
+ );
+ r === 'default'
+ ? (Es.defaultStyle = e)
+ : ((Es[r].style = e),
+ (Es[r]?.style?.length ?? 0) > 0 &&
+ !Es[r]?.style?.some((n) => n?.startsWith('fill')) &&
+ Es[r]?.style?.push('fill:none'));
+ });
+ }, 'updateLink')),
+ (ECe = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ let n = dv.get(r);
+ n === void 0 && ((n = { id: r, styles: [], textStyles: [] }), dv.set(r, n)),
+ e?.forEach(function (i) {
+ if (/color/.exec(i)) {
+ let a = i.replace('fill', 'bgFill');
+ n.textStyles.push(a);
+ }
+ n.styles.push(i);
+ });
+ });
+ }, 'addClass')),
+ (CCe = o(function (t) {
+ (Fo = t),
+ /.*/.exec(Fo) && (Fo = 'LR'),
+ /.*v/.exec(Fo) && (Fo = 'TB'),
+ Fo === 'TD' && (Fo = 'TB');
+ }, 'setDirection')),
+ (u9 = o(function (t, e) {
+ for (let r of t.split(',')) {
+ let n = $h.get(r);
+ n && n.classes.push(e);
+ let i = l9.get(r);
+ i && i.classes.push(e);
+ }
+ }, 'setClass')),
+ (SCe = o(function (t, e) {
+ if (e !== void 0) {
+ e = C5(e);
+ for (let r of t.split(',')) c9.set(k5 === 'gen-1' ? S5(r) : r, e);
+ }
+ }, 'setTooltip')),
+ (ACe = o(function (t, e, r) {
+ let n = S5(t);
+ if (de().securityLevel !== 'loose' || e === void 0) return;
+ let i = [];
+ if (typeof r == 'string') {
+ i = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
+ for (let s = 0; s < i.length; s++) {
+ let l = i[s].trim();
+ l.startsWith('"') && l.endsWith('"') && (l = l.substr(1, l.length - 2)), (i[s] = l);
+ }
+ }
+ i.length === 0 && i.push(t);
+ let a = $h.get(t);
+ a &&
+ ((a.haveCallback = !0),
+ E5.push(function () {
+ let s = document.querySelector(`[id="${n}"]`);
+ s !== null &&
+ s.addEventListener(
+ 'click',
+ function () {
+ Lt.runFunc(e, ...i);
+ },
+ !1
+ );
+ }));
+ }, 'setClickFun')),
+ (_Ce = o(function (t, e, r) {
+ t.split(',').forEach(function (n) {
+ let i = $h.get(n);
+ i !== void 0 && ((i.link = Lt.formatUrl(e, cm)), (i.linkTarget = r));
+ }),
+ u9(t, 'clickable');
+ }, 'setLink')),
+ (GX = o(function (t) {
+ return c9.get(t);
+ }, 'getTooltip')),
+ (LCe = o(function (t, e, r) {
+ t.split(',').forEach(function (n) {
+ ACe(n, e, r);
+ }),
+ u9(t, 'clickable');
+ }, 'setClickEvent')),
+ (DCe = o(function (t) {
+ E5.forEach(function (e) {
+ e(t);
+ });
+ }, 'bindFunctions')),
+ (h9 = o(function () {
+ return Fo.trim();
+ }, 'getDirection')),
+ ($X = o(function () {
+ return $h;
+ }, 'getVertices')),
+ (VX = o(function () {
+ return Es;
+ }, 'getEdges')),
+ (RCe = o(function () {
+ return dv;
+ }, 'getClasses')),
+ (UX = o(function (t) {
+ let e = $e('.mermaidTooltip');
+ (e._groups || e)[0][0] === null &&
+ (e = $e('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0)),
+ $e(t)
+ .select('svg')
+ .selectAll('g.node')
+ .on('mouseover', function () {
+ let i = $e(this);
+ if (i.attr('title') === null) return;
+ let s = this?.getBoundingClientRect();
+ e.transition().duration(200).style('opacity', '.9'),
+ e
+ .text(i.attr('title'))
+ .style('left', window.scrollX + s.left + (s.right - s.left) / 2 + 'px')
+ .style('top', window.scrollY + s.bottom + 'px'),
+ e.html(e.html().replace(/<br\/>/g, '
')),
+ i.classed('hover', !0);
+ })
+ .on('mouseout', function () {
+ e.transition().duration(500).style('opacity', 0), $e(this).classed('hover', !1);
+ });
+ }, 'setupToolTips'));
+ E5.push(UX);
+ (NCe = o(function (t = 'gen-1') {
+ ($h = new Map()),
+ (dv = new Map()),
+ (Es = []),
+ (E5 = [UX]),
+ (Cu = []),
+ (l9 = new Map()),
+ (T5 = 0),
+ (c9 = new Map()),
+ (s9 = !0),
+ (k5 = t),
+ (cm = de()),
+ vr();
+ }, 'clear')),
+ (MCe = o((t) => {
+ k5 = t || 'gen-2';
+ }, 'setGen')),
+ (ICe = o(function () {
+ return 'fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;';
+ }, 'defaultStyle')),
+ (OCe = o(function (t, e, r) {
+ let n = t.text.trim(),
+ i = r.text;
+ t === r && /\s/.exec(r.text) && (n = void 0);
+ function a(h) {
+ let f = { boolean: {}, number: {}, string: {} },
+ d = [],
+ p;
+ return {
+ nodeList: h.filter(function (g) {
+ let y = typeof g;
+ return g.stmt && g.stmt === 'dir'
+ ? ((p = g.value), !1)
+ : g.trim() === ''
+ ? !1
+ : y in f
+ ? f[y].hasOwnProperty(g)
+ ? !1
+ : (f[y][g] = !0)
+ : d.includes(g)
+ ? !1
+ : d.push(g);
+ }),
+ dir: p
+ };
+ }
+ o(a, 'uniq');
+ let { nodeList: s, dir: l } = a(e.flat());
+ if (k5 === 'gen-1') for (let h = 0; h < s.length; h++) s[h] = S5(s[h]);
+ (n = n ?? 'subGraph' + T5), (i = i || ''), (i = C5(i)), (T5 = T5 + 1);
+ let u = {
+ id: n,
+ nodes: s,
+ title: i.trim(),
+ classes: [],
+ dir: l,
+ labelType: r.type
+ };
+ return (
+ V.info('Adding', u.id, u.nodes, u.dir), (u.nodes = XX(u, Cu).nodes), Cu.push(u), l9.set(n, u), n
+ );
+ }, 'addSubGraph')),
+ (PCe = o(function (t) {
+ for (let [e, r] of Cu.entries()) if (r.id === t) return e;
+ return -1;
+ }, 'getPosForId')),
+ (fv = -1),
+ (HX = []),
+ (YX = o(function (t, e) {
+ let r = Cu[e].nodes;
+ if (((fv = fv + 1), fv > 2e3)) return { result: !1, count: 0 };
+ if (((HX[fv] = e), Cu[e].id === t)) return { result: !0, count: 0 };
+ let n = 0,
+ i = 1;
+ for (; n < r.length; ) {
+ let a = PCe(r[n]);
+ if (a >= 0) {
+ let s = YX(t, a);
+ if (s.result) return { result: !0, count: i + s.count };
+ i = i + s.count;
+ }
+ n = n + 1;
+ }
+ return { result: !1, count: i };
+ }, 'indexNodes2')),
+ (BCe = o(function (t) {
+ return HX[t];
+ }, 'getDepthFirstPos')),
+ (FCe = o(function () {
+ (fv = -1), Cu.length > 0 && YX('none', Cu.length - 1);
+ }, 'indexNodes')),
+ (WX = o(function () {
+ return Cu;
+ }, 'getSubGraphs')),
+ (zCe = o(() => (s9 ? ((s9 = !1), !0) : !1), 'firstGraph')),
+ (GCe = o((t) => {
+ let e = t.trim(),
+ r = 'arrow_open';
+ switch (e[0]) {
+ case '<':
+ (r = 'arrow_point'), (e = e.slice(1));
+ break;
+ case 'x':
+ (r = 'arrow_cross'), (e = e.slice(1));
+ break;
+ case 'o':
+ (r = 'arrow_circle'), (e = e.slice(1));
+ break;
+ }
+ let n = 'normal';
+ return e.includes('=') && (n = 'thick'), e.includes('.') && (n = 'dotted'), { type: r, stroke: n };
+ }, 'destructStartLink')),
+ ($Ce = o((t, e) => {
+ let r = e.length,
+ n = 0;
+ for (let i = 0; i < r; ++i) e[i] === t && ++n;
+ return n;
+ }, 'countChar')),
+ (VCe = o((t) => {
+ let e = t.trim(),
+ r = e.slice(0, -1),
+ n = 'arrow_open';
+ switch (e.slice(-1)) {
+ case 'x':
+ (n = 'arrow_cross'), e.startsWith('x') && ((n = 'double_' + n), (r = r.slice(1)));
+ break;
+ case '>':
+ (n = 'arrow_point'), e.startsWith('<') && ((n = 'double_' + n), (r = r.slice(1)));
+ break;
+ case 'o':
+ (n = 'arrow_circle'), e.startsWith('o') && ((n = 'double_' + n), (r = r.slice(1)));
+ break;
+ }
+ let i = 'normal',
+ a = r.length - 1;
+ r.startsWith('=') && (i = 'thick'), r.startsWith('~') && (i = 'invisible');
+ let s = $Ce('.', r);
+ return s && ((i = 'dotted'), (a = s)), { type: n, stroke: i, length: a };
+ }, 'destructEndLink')),
+ (UCe = o((t, e) => {
+ let r = VCe(t),
+ n;
+ if (e) {
+ if (((n = GCe(e)), n.stroke !== r.stroke)) return { type: 'INVALID', stroke: 'INVALID' };
+ if (n.type === 'arrow_open') n.type = r.type;
+ else {
+ if (n.type !== r.type) return { type: 'INVALID', stroke: 'INVALID' };
+ n.type = 'double_' + n.type;
+ }
+ return n.type === 'double_arrow' && (n.type = 'double_arrow_point'), (n.length = r.length), n;
+ }
+ return r;
+ }, 'destructLink')),
+ (qX = o((t, e) => {
+ for (let r of t) if (r.nodes.includes(e)) return !0;
+ return !1;
+ }, 'exists')),
+ (XX = o((t, e) => {
+ let r = [];
+ return (
+ t.nodes.forEach((n, i) => {
+ qX(e, n) || r.push(t.nodes[i]);
+ }),
+ { nodes: r }
+ );
+ }, 'makeUniq')),
+ (HCe = { firstGraph: zCe }),
+ (YCe = o(
+ (t) =>
+ t.type === 'square'
+ ? 'squareRect'
+ : t.type === 'round'
+ ? 'roundedRect'
+ : t.type ?? 'squareRect',
+ 'getTypeFromVertex'
+ )),
+ (WCe = o((t, e) => t.find((r) => r.id === e), 'findNode')),
+ (qCe = o((t) => {
+ let e = 'none',
+ r = 'arrow_point';
+ switch (t) {
+ case 'arrow_point':
+ case 'arrow_circle':
+ case 'arrow_cross':
+ r = t;
+ break;
+ case 'double_arrow_point':
+ case 'double_arrow_circle':
+ case 'double_arrow_cross':
+ (e = t.replace('double_', '')), (r = e);
+ break;
+ }
+ return { arrowTypeStart: e, arrowTypeEnd: r };
+ }, 'destructEdgeType')),
+ (XCe = o((t, e, r, n, i, a) => {
+ let s = r.get(t.id),
+ l = n.get(t.id) ?? !1,
+ u = WCe(e, t.id);
+ u
+ ? ((u.cssStyles = t.styles),
+ (u.cssCompiledStyles = o9(t.classes)),
+ (u.cssClasses = t.classes.join(' ')))
+ : e.push({
+ id: t.id,
+ label: t.text,
+ labelStyle: '',
+ parentId: s,
+ padding: i.flowchart?.padding || 8,
+ cssStyles: t.styles,
+ cssCompiledStyles: o9(['default', 'node', ...t.classes]),
+ cssClasses: 'default ' + t.classes.join(' '),
+ shape: YCe(t),
+ dir: t.dir,
+ domId: t.domId,
+ isGroup: l,
+ look: a,
+ link: t.link,
+ linkTarget: t.linkTarget,
+ tooltip: GX(t.id)
+ });
+ }, 'addNodeFromVertex'));
+ o(o9, 'getCompiledStyles');
+ (jCe = o(() => {
+ let t = de(),
+ e = [],
+ r = [],
+ n = WX(),
+ i = new Map(),
+ a = new Map();
+ for (let u = n.length - 1; u >= 0; u--) {
+ let h = n[u];
+ h.nodes.length > 0 && a.set(h.id, !0);
+ for (let f of h.nodes) i.set(f, h.id);
+ }
+ for (let u = n.length - 1; u >= 0; u--) {
+ let h = n[u];
+ e.push({
+ id: h.id,
+ label: h.title,
+ labelStyle: '',
+ parentId: i.get(h.id),
+ padding: 8,
+ cssCompiledStyles: o9(h.classes),
+ cssClasses: h.classes.join(' '),
+ shape: 'rect',
+ dir: h.dir,
+ isGroup: !0,
+ look: t.look
+ });
+ }
+ $X().forEach((u) => {
+ XCe(u, e, i, a, t, t.look || 'classic');
+ });
+ let l = VX();
+ return (
+ l.forEach((u, h) => {
+ let { arrowTypeStart: f, arrowTypeEnd: d } = qCe(u.type),
+ p = [...(l.defaultStyle ?? [])];
+ u.style && p.push(...u.style);
+ let m = {
+ id: y5(u.start, u.end, { counter: h, prefix: 'L' }),
+ start: u.start,
+ end: u.end,
+ type: u.type ?? 'normal',
+ label: u.text,
+ labelpos: 'c',
+ thickness: u.stroke,
+ minlen: u.length,
+ classes:
+ u?.stroke === 'invisible'
+ ? ''
+ : 'edge-thickness-normal edge-pattern-solid flowchart-link',
+ arrowTypeStart: u?.stroke === 'invisible' ? 'none' : f,
+ arrowTypeEnd: u?.stroke === 'invisible' ? 'none' : d,
+ arrowheadStyle: 'fill: #333',
+ labelStyle: p,
+ style: p,
+ pattern: u.stroke,
+ look: t.look
+ };
+ r.push(m);
+ }),
+ { nodes: e, edges: r, other: {}, config: t }
+ );
+ }, 'getData')),
+ (A5 = {
+ defaultConfig: o(() => _4.flowchart, 'defaultConfig'),
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ getAccDescription: Lr,
+ getData: jCe,
+ setAccDescription: _r,
+ addVertex: xCe,
+ lookUpDomId: S5,
+ addLink: wCe,
+ updateLinkInterpolate: TCe,
+ updateLink: kCe,
+ addClass: ECe,
+ setDirection: CCe,
+ setClass: u9,
+ setTooltip: SCe,
+ getTooltip: GX,
+ setClickEvent: LCe,
+ setLink: _Ce,
+ bindFunctions: DCe,
+ getDirection: h9,
+ getVertices: $X,
+ getEdges: VX,
+ getClasses: RCe,
+ clear: NCe,
+ setGen: MCe,
+ defaultStyle: ICe,
+ addSubGraph: OCe,
+ getDepthFirstPos: BCe,
+ indexNodes: FCe,
+ getSubGraphs: WX,
+ destructLink: UCe,
+ lex: HCe,
+ exists: qX,
+ makeUniq: XX,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr
+ });
+ });
+ var KCe,
+ jX,
+ KX = R(() => {
+ 'use strict';
+ (KCe = o((t) => {
+ let e = new Set();
+ for (let r of t)
+ switch (r) {
+ case 'x':
+ e.add('right'), e.add('left');
+ break;
+ case 'y':
+ e.add('up'), e.add('down');
+ break;
+ default:
+ e.add(r);
+ break;
+ }
+ return e;
+ }, 'expandAndDeduplicateDirections')),
+ (jX = o((t, e, r) => {
+ let n = KCe(t),
+ i = 2,
+ a = e.height + 2 * r.padding,
+ s = a / i,
+ l = e.width + 2 * s + r.padding,
+ u = r.padding / 2;
+ return n.has('right') && n.has('left') && n.has('up') && n.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: s, y: 0 },
+ { x: l / 2, y: 2 * u },
+ { x: l - s, y: 0 },
+ { x: l, y: 0 },
+ { x: l, y: -a / 3 },
+ { x: l + 2 * u, y: -a / 2 },
+ { x: l, y: (-2 * a) / 3 },
+ { x: l, y: -a },
+ { x: l - s, y: -a },
+ { x: l / 2, y: -a - 2 * u },
+ { x: s, y: -a },
+ { x: 0, y: -a },
+ { x: 0, y: (-2 * a) / 3 },
+ { x: -2 * u, y: -a / 2 },
+ { x: 0, y: -a / 3 }
+ ]
+ : n.has('right') && n.has('left') && n.has('up')
+ ? [
+ { x: s, y: 0 },
+ { x: l - s, y: 0 },
+ { x: l, y: -a / 2 },
+ { x: l - s, y: -a },
+ { x: s, y: -a },
+ { x: 0, y: -a / 2 }
+ ]
+ : n.has('right') && n.has('left') && n.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: s, y: -a },
+ { x: l - s, y: -a },
+ { x: l, y: 0 }
+ ]
+ : n.has('right') && n.has('up') && n.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: l, y: -s },
+ { x: l, y: -a + s },
+ { x: 0, y: -a }
+ ]
+ : n.has('left') && n.has('up') && n.has('down')
+ ? [
+ { x: l, y: 0 },
+ { x: 0, y: -s },
+ { x: 0, y: -a + s },
+ { x: l, y: -a }
+ ]
+ : n.has('right') && n.has('left')
+ ? [
+ { x: s, y: 0 },
+ { x: s, y: -u },
+ { x: l - s, y: -u },
+ { x: l - s, y: 0 },
+ { x: l, y: -a / 2 },
+ { x: l - s, y: -a },
+ { x: l - s, y: -a + u },
+ { x: s, y: -a + u },
+ { x: s, y: -a },
+ { x: 0, y: -a / 2 }
+ ]
+ : n.has('up') && n.has('down')
+ ? [
+ { x: l / 2, y: 0 },
+ { x: 0, y: -u },
+ { x: s, y: -u },
+ { x: s, y: -a + u },
+ { x: 0, y: -a + u },
+ { x: l / 2, y: -a },
+ { x: l, y: -a + u },
+ { x: l - s, y: -a + u },
+ { x: l - s, y: -u },
+ { x: l, y: -u }
+ ]
+ : n.has('right') && n.has('up')
+ ? [
+ { x: 0, y: 0 },
+ { x: l, y: -s },
+ { x: 0, y: -a }
+ ]
+ : n.has('right') && n.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: l, y: 0 },
+ { x: 0, y: -a }
+ ]
+ : n.has('left') && n.has('up')
+ ? [
+ { x: l, y: 0 },
+ { x: 0, y: -s },
+ { x: l, y: -a }
+ ]
+ : n.has('left') && n.has('down')
+ ? [
+ { x: l, y: 0 },
+ { x: 0, y: 0 },
+ { x: l, y: -a }
+ ]
+ : n.has('right')
+ ? [
+ { x: s, y: -u },
+ { x: s, y: -u },
+ { x: l - s, y: -u },
+ { x: l - s, y: 0 },
+ { x: l, y: -a / 2 },
+ { x: l - s, y: -a },
+ { x: l - s, y: -a + u },
+ { x: s, y: -a + u },
+ { x: s, y: -a + u }
+ ]
+ : n.has('left')
+ ? [
+ { x: s, y: 0 },
+ { x: s, y: -u },
+ { x: l - s, y: -u },
+ { x: l - s, y: -a + u },
+ { x: s, y: -a + u },
+ { x: s, y: -a },
+ { x: 0, y: -a / 2 }
+ ]
+ : n.has('up')
+ ? [
+ { x: s, y: -u },
+ { x: s, y: -a + u },
+ { x: 0, y: -a + u },
+ { x: l / 2, y: -a },
+ { x: l, y: -a + u },
+ { x: l - s, y: -a + u },
+ { x: l - s, y: -u }
+ ]
+ : n.has('down')
+ ? [
+ { x: l / 2, y: 0 },
+ { x: 0, y: -u },
+ { x: s, y: -u },
+ { x: s, y: -a + u },
+ { x: l - s, y: -a + u },
+ { x: l - s, y: -u },
+ { x: l, y: -u }
+ ]
+ : [{ x: 0, y: 0 }];
+ }, 'getArrowPoints'));
+ });
+ function m9() {
+ return {
+ async: !1,
+ breaks: !1,
+ extensions: null,
+ gfm: !0,
+ hooks: null,
+ pedantic: !1,
+ renderer: null,
+ silent: !1,
+ tokenizer: null,
+ walkTokens: null
+ };
+ }
+ function rj(t) {
+ Sd = t;
+ }
+ function ro(t, e) {
+ if (e) {
+ if (nj.test(t)) return t.replace(QCe, QX);
+ } else if (ij.test(t)) return t.replace(ZCe, QX);
+ return t;
+ }
+ function t7e(t) {
+ return t.replace(
+ e7e,
+ (e, r) => (
+ (r = r.toLowerCase()),
+ r === 'colon'
+ ? ':'
+ : r.charAt(0) === '#'
+ ? r.charAt(1) === 'x'
+ ? String.fromCharCode(parseInt(r.substring(2), 16))
+ : String.fromCharCode(+r.substring(1))
+ : ''
+ )
+ );
+ }
+ function ln(t, e) {
+ let r = typeof t == 'string' ? t : t.source;
+ e = e || '';
+ let n = {
+ replace: o((i, a) => {
+ let s = typeof a == 'string' ? a : a.source;
+ return (s = s.replace(r7e, '$1')), (r = r.replace(i, s)), n;
+ }, 'replace'),
+ getRegex: o(() => new RegExp(r, e), 'getRegex')
+ };
+ return n;
+ }
+ function ZX(t) {
+ try {
+ t = encodeURI(t).replace(/%25/g, '%');
+ } catch {
+ return null;
+ }
+ return t;
+ }
+ function JX(t, e) {
+ let r = t.replace(/\|/g, (a, s, l) => {
+ let u = !1,
+ h = s;
+ for (; --h >= 0 && l[h] === '\\'; ) u = !u;
+ return u ? '|' : ' |';
+ }),
+ n = r.split(/ \|/),
+ i = 0;
+ if ((n[0].trim() || n.shift(), n.length > 0 && !n[n.length - 1].trim() && n.pop(), e))
+ if (n.length > e) n.splice(e);
+ else for (; n.length < e; ) n.push('');
+ for (; i < n.length; i++) n[i] = n[i].trim().replace(/\\\|/g, '|');
+ return n;
+ }
+ function pv(t, e, r) {
+ let n = t.length;
+ if (n === 0) return '';
+ let i = 0;
+ for (; i < n; ) {
+ let a = t.charAt(n - i - 1);
+ if (a === e && !r) i++;
+ else if (a !== e && r) i++;
+ else break;
+ }
+ return t.slice(0, n - i);
+ }
+ function n7e(t, e) {
+ if (t.indexOf(e[1]) === -1) return -1;
+ let r = 0;
+ for (let n = 0; n < t.length; n++)
+ if (t[n] === '\\') n++;
+ else if (t[n] === e[0]) r++;
+ else if (t[n] === e[1] && (r--, r < 0)) return n;
+ return -1;
+ }
+ function ej(t, e, r, n) {
+ let i = e.href,
+ a = e.title ? ro(e.title) : null,
+ s = t[1].replace(/\\([\[\]])/g, '$1');
+ if (t[0].charAt(0) !== '!') {
+ n.state.inLink = !0;
+ let l = {
+ type: 'link',
+ raw: r,
+ href: i,
+ title: a,
+ text: s,
+ tokens: n.inlineTokens(s)
+ };
+ return (n.state.inLink = !1), l;
+ }
+ return { type: 'image', raw: r, href: i, title: a, text: ro(s) };
+ }
+ function i7e(t, e) {
+ let r = t.match(/^(\s+)(?:```)/);
+ if (r === null) return e;
+ let n = r[1];
+ return e
+ .split(
+ `
+`
+ )
+ .map((i) => {
+ let a = i.match(/^\s+/);
+ if (a === null) return i;
+ let [s] = a;
+ return s.length >= n.length ? i.slice(n.length) : i;
+ }).join(`
+`);
+ }
+ function jr(t, e) {
+ return Cd.parse(t, e);
+ }
+ var Sd,
+ nj,
+ QCe,
+ ij,
+ ZCe,
+ JCe,
+ QX,
+ e7e,
+ r7e,
+ gv,
+ hm,
+ a7e,
+ s7e,
+ o7e,
+ vv,
+ l7e,
+ aj,
+ sj,
+ g9,
+ c7e,
+ y9,
+ u7e,
+ h7e,
+ D5,
+ v9,
+ f7e,
+ oj,
+ d7e,
+ x9,
+ tj,
+ p7e,
+ m7e,
+ lj,
+ g7e,
+ cj,
+ y7e,
+ xv,
+ v7e,
+ x7e,
+ b7e,
+ w7e,
+ T7e,
+ k7e,
+ E7e,
+ C7e,
+ S7e,
+ L5,
+ A7e,
+ uj,
+ hj,
+ _7e,
+ b9,
+ L7e,
+ d9,
+ D7e,
+ _5,
+ mv,
+ Su,
+ fm,
+ yv,
+ Au,
+ um,
+ p9,
+ Cd,
+ mkt,
+ gkt,
+ ykt,
+ vkt,
+ xkt,
+ bkt,
+ wkt,
+ fj = R(() => {
+ 'use strict';
+ o(m9, '_getDefaults');
+ Sd = m9();
+ o(rj, 'changeDefaults');
+ (nj = /[&<>"']/),
+ (QCe = new RegExp(nj.source, 'g')),
+ (ij = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/),
+ (ZCe = new RegExp(ij.source, 'g')),
+ (JCe = {
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ "'": '''
+ }),
+ (QX = o((t) => JCe[t], 'getEscapeReplacement'));
+ o(ro, 'escape$1');
+ e7e = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;
+ o(t7e, 'unescape');
+ r7e = /(^|[^\[])\^/g;
+ o(ln, 'edit');
+ o(ZX, 'cleanUrl');
+ gv = { exec: o(() => null, 'exec') };
+ o(JX, 'splitCells');
+ o(pv, 'rtrim');
+ o(n7e, 'findClosingBracket');
+ o(ej, 'outputLink');
+ o(i7e, 'indentCodeCompensation');
+ (hm = class {
+ static {
+ o(this, '_Tokenizer');
+ }
+ options;
+ rules;
+ lexer;
+ constructor(e) {
+ this.options = e || Sd;
+ }
+ space(e) {
+ let r = this.rules.block.newline.exec(e);
+ if (r && r[0].length > 0) return { type: 'space', raw: r[0] };
+ }
+ code(e) {
+ let r = this.rules.block.code.exec(e);
+ if (r) {
+ let n = r[0].replace(/^ {1,4}/gm, '');
+ return {
+ type: 'code',
+ raw: r[0],
+ codeBlockStyle: 'indented',
+ text: this.options.pedantic
+ ? n
+ : pv(
+ n,
+ `
+`
+ )
+ };
+ }
+ }
+ fences(e) {
+ let r = this.rules.block.fences.exec(e);
+ if (r) {
+ let n = r[0],
+ i = i7e(n, r[3] || '');
+ return {
+ type: 'code',
+ raw: n,
+ lang: r[2] ? r[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : r[2],
+ text: i
+ };
+ }
+ }
+ heading(e) {
+ let r = this.rules.block.heading.exec(e);
+ if (r) {
+ let n = r[2].trim();
+ if (/#$/.test(n)) {
+ let i = pv(n, '#');
+ (this.options.pedantic || !i || / $/.test(i)) && (n = i.trim());
+ }
+ return {
+ type: 'heading',
+ raw: r[0],
+ depth: r[1].length,
+ text: n,
+ tokens: this.lexer.inline(n)
+ };
+ }
+ }
+ hr(e) {
+ let r = this.rules.block.hr.exec(e);
+ if (r)
+ return {
+ type: 'hr',
+ raw: pv(
+ r[0],
+ `
+`
+ )
+ };
+ }
+ blockquote(e) {
+ let r = this.rules.block.blockquote.exec(e);
+ if (r) {
+ let n = pv(
+ r[0],
+ `
+`
+ ).split(`
+`),
+ i = '',
+ a = '',
+ s = [];
+ for (; n.length > 0; ) {
+ let l = !1,
+ u = [],
+ h;
+ for (h = 0; h < n.length; h++)
+ if (/^ {0,3}>/.test(n[h])) u.push(n[h]), (l = !0);
+ else if (!l) u.push(n[h]);
+ else break;
+ n = n.slice(h);
+ let f = u.join(`
+`),
+ d = f
+ .replace(
+ /\n {0,3}((?:=+|-+) *)(?=\n|$)/g,
+ `
+ $1`
+ )
+ .replace(/^ {0,3}>[ \t]?/gm, '');
+ (i = i
+ ? `${i}
+${f}`
+ : f),
+ (a = a
+ ? `${a}
+${d}`
+ : d);
+ let p = this.lexer.state.top;
+ if (
+ ((this.lexer.state.top = !0),
+ this.lexer.blockTokens(d, s, !0),
+ (this.lexer.state.top = p),
+ n.length === 0)
+ )
+ break;
+ let m = s[s.length - 1];
+ if (m?.type === 'code') break;
+ if (m?.type === 'blockquote') {
+ let g = m,
+ y =
+ g.raw +
+ `
+` +
+ n.join(`
+`),
+ v = this.blockquote(y);
+ (s[s.length - 1] = v),
+ (i = i.substring(0, i.length - g.raw.length) + v.raw),
+ (a = a.substring(0, a.length - g.text.length) + v.text);
+ break;
+ } else if (m?.type === 'list') {
+ let g = m,
+ y =
+ g.raw +
+ `
+` +
+ n.join(`
+`),
+ v = this.list(y);
+ (s[s.length - 1] = v),
+ (i = i.substring(0, i.length - m.raw.length) + v.raw),
+ (a = a.substring(0, a.length - g.raw.length) + v.raw),
+ (n = y.substring(s[s.length - 1].raw.length).split(`
+`));
+ continue;
+ }
+ }
+ return { type: 'blockquote', raw: i, tokens: s, text: a };
+ }
+ }
+ list(e) {
+ let r = this.rules.block.list.exec(e);
+ if (r) {
+ let n = r[1].trim(),
+ i = n.length > 1,
+ a = {
+ type: 'list',
+ raw: '',
+ ordered: i,
+ start: i ? +n.slice(0, -1) : '',
+ loose: !1,
+ items: []
+ };
+ (n = i ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`), this.options.pedantic && (n = i ? n : '[*+-]');
+ let s = new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),
+ l = !1;
+ for (; e; ) {
+ let u = !1,
+ h = '',
+ f = '';
+ if (!(r = s.exec(e)) || this.rules.block.hr.test(e)) break;
+ (h = r[0]), (e = e.substring(h.length));
+ let d = r[2]
+ .split(
+ `
+`,
+ 1
+ )[0]
+ .replace(/^\t+/, (x) => ' '.repeat(3 * x.length)),
+ p = e.split(
+ `
+`,
+ 1
+ )[0],
+ m = !d.trim(),
+ g = 0;
+ if (
+ (this.options.pedantic
+ ? ((g = 2), (f = d.trimStart()))
+ : m
+ ? (g = r[1].length + 1)
+ : ((g = r[2].search(/[^ ]/)),
+ (g = g > 4 ? 1 : g),
+ (f = d.slice(g)),
+ (g += r[1].length)),
+ m &&
+ /^ *$/.test(p) &&
+ ((h +=
+ p +
+ `
+`),
+ (e = e.substring(p.length + 1)),
+ (u = !0)),
+ !u)
+ ) {
+ let x = new RegExp(
+ `^ {0,${Math.min(3, g - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`
+ ),
+ b = new RegExp(
+ `^ {0,${Math.min(3, g - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`
+ ),
+ w = new RegExp(`^ {0,${Math.min(3, g - 1)}}(?:\`\`\`|~~~)`),
+ S = new RegExp(`^ {0,${Math.min(3, g - 1)}}#`);
+ for (; e; ) {
+ let T = e.split(
+ `
+`,
+ 1
+ )[0];
+ if (
+ ((p = T),
+ this.options.pedantic && (p = p.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ')),
+ w.test(p) || S.test(p) || x.test(p) || b.test(e))
+ )
+ break;
+ if (p.search(/[^ ]/) >= g || !p.trim())
+ f +=
+ `
+` + p.slice(g);
+ else {
+ if (m || d.search(/[^ ]/) >= 4 || w.test(d) || S.test(d) || b.test(d)) break;
+ f +=
+ `
+` + p;
+ }
+ !m && !p.trim() && (m = !0),
+ (h +=
+ T +
+ `
+`),
+ (e = e.substring(T.length + 1)),
+ (d = p.slice(g));
+ }
+ }
+ a.loose || (l ? (a.loose = !0) : /\n *\n *$/.test(h) && (l = !0));
+ let y = null,
+ v;
+ this.options.gfm &&
+ ((y = /^\[[ xX]\] /.exec(f)),
+ y && ((v = y[0] !== '[ ] '), (f = f.replace(/^\[[ xX]\] +/, '')))),
+ a.items.push({
+ type: 'list_item',
+ raw: h,
+ task: !!y,
+ checked: v,
+ loose: !1,
+ text: f,
+ tokens: []
+ }),
+ (a.raw += h);
+ }
+ (a.items[a.items.length - 1].raw = a.items[a.items.length - 1].raw.trimEnd()),
+ (a.items[a.items.length - 1].text = a.items[a.items.length - 1].text.trimEnd()),
+ (a.raw = a.raw.trimEnd());
+ for (let u = 0; u < a.items.length; u++)
+ if (
+ ((this.lexer.state.top = !1),
+ (a.items[u].tokens = this.lexer.blockTokens(a.items[u].text, [])),
+ !a.loose)
+ ) {
+ let h = a.items[u].tokens.filter((d) => d.type === 'space'),
+ f = h.length > 0 && h.some((d) => /\n.*\n/.test(d.raw));
+ a.loose = f;
+ }
+ if (a.loose) for (let u = 0; u < a.items.length; u++) a.items[u].loose = !0;
+ return a;
+ }
+ }
+ html(e) {
+ let r = this.rules.block.html.exec(e);
+ if (r)
+ return {
+ type: 'html',
+ block: !0,
+ raw: r[0],
+ pre: r[1] === 'pre' || r[1] === 'script' || r[1] === 'style',
+ text: r[0]
+ };
+ }
+ def(e) {
+ let r = this.rules.block.def.exec(e);
+ if (r) {
+ let n = r[1].toLowerCase().replace(/\s+/g, ' '),
+ i = r[2]
+ ? r[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1')
+ : '',
+ a = r[3]
+ ? r[3].substring(1, r[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1')
+ : r[3];
+ return { type: 'def', tag: n, raw: r[0], href: i, title: a };
+ }
+ }
+ table(e) {
+ let r = this.rules.block.table.exec(e);
+ if (!r || !/[:|]/.test(r[2])) return;
+ let n = JX(r[1]),
+ i = r[2].replace(/^\||\| *$/g, '').split('|'),
+ a =
+ r[3] && r[3].trim()
+ ? r[3].replace(/\n[ \t]*$/, '').split(`
+`)
+ : [],
+ s = { type: 'table', raw: r[0], header: [], align: [], rows: [] };
+ if (n.length === i.length) {
+ for (let l of i)
+ /^ *-+: *$/.test(l)
+ ? s.align.push('right')
+ : /^ *:-+: *$/.test(l)
+ ? s.align.push('center')
+ : /^ *:-+ *$/.test(l)
+ ? s.align.push('left')
+ : s.align.push(null);
+ for (let l = 0; l < n.length; l++)
+ s.header.push({
+ text: n[l],
+ tokens: this.lexer.inline(n[l]),
+ header: !0,
+ align: s.align[l]
+ });
+ for (let l of a)
+ s.rows.push(
+ JX(l, s.header.length).map((u, h) => ({
+ text: u,
+ tokens: this.lexer.inline(u),
+ header: !1,
+ align: s.align[h]
+ }))
+ );
+ return s;
+ }
+ }
+ lheading(e) {
+ let r = this.rules.block.lheading.exec(e);
+ if (r)
+ return {
+ type: 'heading',
+ raw: r[0],
+ depth: r[2].charAt(0) === '=' ? 1 : 2,
+ text: r[1],
+ tokens: this.lexer.inline(r[1])
+ };
+ }
+ paragraph(e) {
+ let r = this.rules.block.paragraph.exec(e);
+ if (r) {
+ let n =
+ r[1].charAt(r[1].length - 1) ===
+ `
+`
+ ? r[1].slice(0, -1)
+ : r[1];
+ return {
+ type: 'paragraph',
+ raw: r[0],
+ text: n,
+ tokens: this.lexer.inline(n)
+ };
+ }
+ }
+ text(e) {
+ let r = this.rules.block.text.exec(e);
+ if (r)
+ return {
+ type: 'text',
+ raw: r[0],
+ text: r[0],
+ tokens: this.lexer.inline(r[0])
+ };
+ }
+ escape(e) {
+ let r = this.rules.inline.escape.exec(e);
+ if (r) return { type: 'escape', raw: r[0], text: ro(r[1]) };
+ }
+ tag(e) {
+ let r = this.rules.inline.tag.exec(e);
+ if (r)
+ return (
+ !this.lexer.state.inLink && /^/i.test(r[0]) && (this.lexer.state.inLink = !1),
+ !this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(r[0])
+ ? (this.lexer.state.inRawBlock = !0)
+ : this.lexer.state.inRawBlock &&
+ /^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0]) &&
+ (this.lexer.state.inRawBlock = !1),
+ {
+ type: 'html',
+ raw: r[0],
+ inLink: this.lexer.state.inLink,
+ inRawBlock: this.lexer.state.inRawBlock,
+ block: !1,
+ text: r[0]
+ }
+ );
+ }
+ link(e) {
+ let r = this.rules.inline.link.exec(e);
+ if (r) {
+ let n = r[2].trim();
+ if (!this.options.pedantic && /^$/.test(n)) return;
+ let s = pv(n.slice(0, -1), '\\');
+ if ((n.length - s.length) % 2 === 0) return;
+ } else {
+ let s = n7e(r[2], '()');
+ if (s > -1) {
+ let u = (r[0].indexOf('!') === 0 ? 5 : 4) + r[1].length + s;
+ (r[2] = r[2].substring(0, s)), (r[0] = r[0].substring(0, u).trim()), (r[3] = '');
+ }
+ }
+ let i = r[2],
+ a = '';
+ if (this.options.pedantic) {
+ let s = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);
+ s && ((i = s[1]), (a = s[3]));
+ } else a = r[3] ? r[3].slice(1, -1) : '';
+ return (
+ (i = i.trim()),
+ /^$/.test(n) ? (i = i.slice(1)) : (i = i.slice(1, -1))),
+ ej(
+ r,
+ {
+ href: i && i.replace(this.rules.inline.anyPunctuation, '$1'),
+ title: a && a.replace(this.rules.inline.anyPunctuation, '$1')
+ },
+ r[0],
+ this.lexer
+ )
+ );
+ }
+ }
+ reflink(e, r) {
+ let n;
+ if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) {
+ let i = (n[2] || n[1]).replace(/\s+/g, ' '),
+ a = r[i.toLowerCase()];
+ if (!a) {
+ let s = n[0].charAt(0);
+ return { type: 'text', raw: s, text: s };
+ }
+ return ej(n, a, n[0], this.lexer);
+ }
+ }
+ emStrong(e, r, n = '') {
+ let i = this.rules.inline.emStrongLDelim.exec(e);
+ if (!i || (i[3] && n.match(/[\p{L}\p{N}]/u))) return;
+ if (!(i[1] || i[2] || '') || !n || this.rules.inline.punctuation.exec(n)) {
+ let s = [...i[0]].length - 1,
+ l,
+ u,
+ h = s,
+ f = 0,
+ d =
+ i[0][0] === '*'
+ ? this.rules.inline.emStrongRDelimAst
+ : this.rules.inline.emStrongRDelimUnd;
+ for (d.lastIndex = 0, r = r.slice(-1 * e.length + s); (i = d.exec(r)) != null; ) {
+ if (((l = i[1] || i[2] || i[3] || i[4] || i[5] || i[6]), !l)) continue;
+ if (((u = [...l].length), i[3] || i[4])) {
+ h += u;
+ continue;
+ } else if ((i[5] || i[6]) && s % 3 && !((s + u) % 3)) {
+ f += u;
+ continue;
+ }
+ if (((h -= u), h > 0)) continue;
+ u = Math.min(u, u + h + f);
+ let p = [...i[0]][0].length,
+ m = e.slice(0, s + i.index + p + u);
+ if (Math.min(s, u) % 2) {
+ let y = m.slice(1, -1);
+ return {
+ type: 'em',
+ raw: m,
+ text: y,
+ tokens: this.lexer.inlineTokens(y)
+ };
+ }
+ let g = m.slice(2, -2);
+ return {
+ type: 'strong',
+ raw: m,
+ text: g,
+ tokens: this.lexer.inlineTokens(g)
+ };
+ }
+ }
+ }
+ codespan(e) {
+ let r = this.rules.inline.code.exec(e);
+ if (r) {
+ let n = r[2].replace(/\n/g, ' '),
+ i = /[^ ]/.test(n),
+ a = /^ /.test(n) && / $/.test(n);
+ return (
+ i && a && (n = n.substring(1, n.length - 1)),
+ (n = ro(n, !0)),
+ { type: 'codespan', raw: r[0], text: n }
+ );
+ }
+ }
+ br(e) {
+ let r = this.rules.inline.br.exec(e);
+ if (r) return { type: 'br', raw: r[0] };
+ }
+ del(e) {
+ let r = this.rules.inline.del.exec(e);
+ if (r)
+ return {
+ type: 'del',
+ raw: r[0],
+ text: r[2],
+ tokens: this.lexer.inlineTokens(r[2])
+ };
+ }
+ autolink(e) {
+ let r = this.rules.inline.autolink.exec(e);
+ if (r) {
+ let n, i;
+ return (
+ r[2] === '@' ? ((n = ro(r[1])), (i = 'mailto:' + n)) : ((n = ro(r[1])), (i = n)),
+ {
+ type: 'link',
+ raw: r[0],
+ text: n,
+ href: i,
+ tokens: [{ type: 'text', raw: n, text: n }]
+ }
+ );
+ }
+ }
+ url(e) {
+ let r;
+ if ((r = this.rules.inline.url.exec(e))) {
+ let n, i;
+ if (r[2] === '@') (n = ro(r[0])), (i = 'mailto:' + n);
+ else {
+ let a;
+ do (a = r[0]), (r[0] = this.rules.inline._backpedal.exec(r[0])?.[0] ?? '');
+ while (a !== r[0]);
+ (n = ro(r[0])), r[1] === 'www.' ? (i = 'http://' + r[0]) : (i = r[0]);
+ }
+ return {
+ type: 'link',
+ raw: r[0],
+ text: n,
+ href: i,
+ tokens: [{ type: 'text', raw: n, text: n }]
+ };
+ }
+ }
+ inlineText(e) {
+ let r = this.rules.inline.text.exec(e);
+ if (r) {
+ let n;
+ return (
+ this.lexer.state.inRawBlock ? (n = r[0]) : (n = ro(r[0])),
+ { type: 'text', raw: r[0], text: n }
+ );
+ }
+ }
+ }),
+ (a7e = /^(?: *(?:\n|$))+/),
+ (s7e = /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/),
+ (o7e =
+ /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/),
+ (vv = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/),
+ (l7e = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/),
+ (aj = /(?:[*+-]|\d{1,9}[.)])/),
+ (sj = ln(
+ /^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/
+ )
+ .replace(/bull/g, aj)
+ .replace(/blockCode/g, / {4}/)
+ .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/)
+ .replace(/blockquote/g, / {0,3}>/)
+ .replace(/heading/g, / {0,3}#{1,6}/)
+ .replace(/html/g, / {0,3}<[^\n>]+>\n/)
+ .getRegex()),
+ (g9 = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/),
+ (c7e = /^[^\n]+/),
+ (y9 = /(?!\s*\])(?:\\.|[^\[\]\\])+/),
+ (u7e = ln(
+ /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/
+ )
+ .replace('label', y9)
+ .replace('title', /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/)
+ .getRegex()),
+ (h7e = ln(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/)
+ .replace(/bull/g, aj)
+ .getRegex()),
+ (D5 =
+ 'address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul'),
+ (v9 = /|$))/),
+ (f7e = ln(
+ '^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))',
+ 'i'
+ )
+ .replace('comment', v9)
+ .replace('tag', D5)
+ .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/)
+ .getRegex()),
+ (oj = ln(g9)
+ .replace('hr', vv)
+ .replace('heading', ' {0,3}#{1,6}(?:\\s|$)')
+ .replace('|lheading', '')
+ .replace('|table', '')
+ .replace('blockquote', ' {0,3}>')
+ .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
+ .replace('list', ' {0,3}(?:[*+-]|1[.)]) ')
+ .replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)')
+ .replace('tag', D5)
+ .getRegex()),
+ (d7e = ln(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/)
+ .replace('paragraph', oj)
+ .getRegex()),
+ (x9 = {
+ blockquote: d7e,
+ code: s7e,
+ def: u7e,
+ fences: o7e,
+ heading: l7e,
+ hr: vv,
+ html: f7e,
+ lheading: sj,
+ list: h7e,
+ newline: a7e,
+ paragraph: oj,
+ table: gv,
+ text: c7e
+ }),
+ (tj = ln(
+ '^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)'
+ )
+ .replace('hr', vv)
+ .replace('heading', ' {0,3}#{1,6}(?:\\s|$)')
+ .replace('blockquote', ' {0,3}>')
+ .replace('code', ' {4}[^\\n]')
+ .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
+ .replace('list', ' {0,3}(?:[*+-]|1[.)]) ')
+ .replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)')
+ .replace('tag', D5)
+ .getRegex()),
+ (p7e = {
+ ...x9,
+ table: tj,
+ paragraph: ln(g9)
+ .replace('hr', vv)
+ .replace('heading', ' {0,3}#{1,6}(?:\\s|$)')
+ .replace('|lheading', '')
+ .replace('table', tj)
+ .replace('blockquote', ' {0,3}>')
+ .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
+ .replace('list', ' {0,3}(?:[*+-]|1[.)]) ')
+ .replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)')
+ .replace('tag', D5)
+ .getRegex()
+ }),
+ (m7e = {
+ ...x9,
+ html: ln(
+ `^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`
+ )
+ .replace('comment', v9)
+ .replace(
+ /tag/g,
+ '(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b'
+ )
+ .getRegex(),
+ def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
+ heading: /^(#{1,6})(.*)(?:\n+|$)/,
+ fences: gv,
+ lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
+ paragraph: ln(g9)
+ .replace('hr', vv)
+ .replace(
+ 'heading',
+ ` *#{1,6} *[^
+]`
+ )
+ .replace('lheading', sj)
+ .replace('|table', '')
+ .replace('blockquote', ' {0,3}>')
+ .replace('|fences', '')
+ .replace('|list', '')
+ .replace('|html', '')
+ .replace('|tag', '')
+ .getRegex()
+ }),
+ (lj = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/),
+ (g7e = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/),
+ (cj = /^( {2,}|\\)\n(?!\s*$)/),
+ (y7e = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g),
+ (b7e = ln(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/, 'u')
+ .replace(/punct/g, xv)
+ .getRegex()),
+ (w7e = ln(
+ '^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])',
+ 'gu'
+ )
+ .replace(/punct/g, xv)
+ .getRegex()),
+ (T7e = ln(
+ '^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])',
+ 'gu'
+ )
+ .replace(/punct/g, xv)
+ .getRegex()),
+ (k7e = ln(/\\([punct])/, 'gu')
+ .replace(/punct/g, xv)
+ .getRegex()),
+ (E7e = ln(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/)
+ .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)
+ .replace(
+ 'email',
+ /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/
+ )
+ .getRegex()),
+ (C7e = ln(v9).replace('(?:-->|$)', '-->').getRegex()),
+ (S7e = ln(
+ '^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^'
+ )
+ .replace('comment', C7e)
+ .replace('attribute', /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/)
+ .getRegex()),
+ (L5 = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/),
+ (A7e = ln(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/)
+ .replace('label', L5)
+ .replace('href', /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/)
+ .replace('title', /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/)
+ .getRegex()),
+ (uj = ln(/^!?\[(label)\]\[(ref)\]/)
+ .replace('label', L5)
+ .replace('ref', y9)
+ .getRegex()),
+ (hj = ln(/^!?\[(ref)\](?:\[\])?/)
+ .replace('ref', y9)
+ .getRegex()),
+ (_7e = ln('reflink|nolink(?!\\()', 'g').replace('reflink', uj).replace('nolink', hj).getRegex()),
+ (b9 = {
+ _backpedal: gv,
+ anyPunctuation: k7e,
+ autolink: E7e,
+ blockSkip: x7e,
+ br: cj,
+ code: g7e,
+ del: gv,
+ emStrongLDelim: b7e,
+ emStrongRDelimAst: w7e,
+ emStrongRDelimUnd: T7e,
+ escape: lj,
+ link: A7e,
+ nolink: hj,
+ punctuation: v7e,
+ reflink: uj,
+ reflinkSearch: _7e,
+ tag: S7e,
+ text: y7e,
+ url: gv
+ }),
+ (L7e = {
+ ...b9,
+ link: ln(/^!?\[(label)\]\((.*?)\)/)
+ .replace('label', L5)
+ .getRegex(),
+ reflink: ln(/^!?\[(label)\]\s*\[([^\]]*)\]/)
+ .replace('label', L5)
+ .getRegex()
+ }),
+ (d9 = {
+ ...b9,
+ escape: ln(lj).replace('])', '~|])').getRegex(),
+ url: ln(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, 'i')
+ .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)
+ .getRegex(),
+ _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
+ del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
+ text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ u + ' '.repeat(h.length)));
+ let i, a, s;
+ for (; e; )
+ if (
+ !(
+ this.options.extensions &&
+ this.options.extensions.block &&
+ this.options.extensions.block.some((l) =>
+ (i = l.call({ lexer: this }, e, r))
+ ? ((e = e.substring(i.raw.length)), r.push(i), !0)
+ : !1
+ )
+ )
+ ) {
+ if ((i = this.tokenizer.space(e))) {
+ (e = e.substring(i.raw.length)),
+ i.raw.length === 1 && r.length > 0
+ ? (r[r.length - 1].raw += `
+`)
+ : r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.code(e))) {
+ (e = e.substring(i.raw.length)),
+ (a = r[r.length - 1]),
+ a && (a.type === 'paragraph' || a.type === 'text')
+ ? ((a.raw +=
+ `
+` + i.raw),
+ (a.text +=
+ `
+` + i.text),
+ (this.inlineQueue[this.inlineQueue.length - 1].src = a.text))
+ : r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.fences(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.heading(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.hr(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.blockquote(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.list(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.html(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.def(e))) {
+ (e = e.substring(i.raw.length)),
+ (a = r[r.length - 1]),
+ a && (a.type === 'paragraph' || a.type === 'text')
+ ? ((a.raw +=
+ `
+` + i.raw),
+ (a.text +=
+ `
+` + i.raw),
+ (this.inlineQueue[this.inlineQueue.length - 1].src = a.text))
+ : this.tokens.links[i.tag] ||
+ (this.tokens.links[i.tag] = {
+ href: i.href,
+ title: i.title
+ });
+ continue;
+ }
+ if ((i = this.tokenizer.table(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if ((i = this.tokenizer.lheading(e))) {
+ (e = e.substring(i.raw.length)), r.push(i);
+ continue;
+ }
+ if (((s = e), this.options.extensions && this.options.extensions.startBlock)) {
+ let l = 1 / 0,
+ u = e.slice(1),
+ h;
+ this.options.extensions.startBlock.forEach((f) => {
+ (h = f.call({ lexer: this }, u)),
+ typeof h == 'number' && h >= 0 && (l = Math.min(l, h));
+ }),
+ l < 1 / 0 && l >= 0 && (s = e.substring(0, l + 1));
+ }
+ if (this.state.top && (i = this.tokenizer.paragraph(s))) {
+ (a = r[r.length - 1]),
+ n && a?.type === 'paragraph'
+ ? ((a.raw +=
+ `
+` + i.raw),
+ (a.text +=
+ `
+` + i.text),
+ this.inlineQueue.pop(),
+ (this.inlineQueue[this.inlineQueue.length - 1].src = a.text))
+ : r.push(i),
+ (n = s.length !== e.length),
+ (e = e.substring(i.raw.length));
+ continue;
+ }
+ if ((i = this.tokenizer.text(e))) {
+ (e = e.substring(i.raw.length)),
+ (a = r[r.length - 1]),
+ a && a.type === 'text'
+ ? ((a.raw +=
+ `
+` + i.raw),
+ (a.text +=
+ `
+` + i.text),
+ this.inlineQueue.pop(),
+ (this.inlineQueue[this.inlineQueue.length - 1].src = a.text))
+ : r.push(i);
+ continue;
+ }
+ if (e) {
+ let l = 'Infinite loop on byte: ' + e.charCodeAt(0);
+ if (this.options.silent) {
+ console.error(l);
+ break;
+ } else throw new Error(l);
+ }
+ }
+ return (this.state.top = !0), r;
+ }
+ inline(e, r = []) {
+ return this.inlineQueue.push({ src: e, tokens: r }), r;
+ }
+ inlineTokens(e, r = []) {
+ let n,
+ i,
+ a,
+ s = e,
+ l,
+ u,
+ h;
+ if (this.tokens.links) {
+ let f = Object.keys(this.tokens.links);
+ if (f.length > 0)
+ for (; (l = this.tokenizer.rules.inline.reflinkSearch.exec(s)) != null; )
+ f.includes(l[0].slice(l[0].lastIndexOf('[') + 1, -1)) &&
+ (s =
+ s.slice(0, l.index) +
+ '[' +
+ 'a'.repeat(l[0].length - 2) +
+ ']' +
+ s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));
+ }
+ for (; (l = this.tokenizer.rules.inline.blockSkip.exec(s)) != null; )
+ s =
+ s.slice(0, l.index) +
+ '[' +
+ 'a'.repeat(l[0].length - 2) +
+ ']' +
+ s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
+ for (; (l = this.tokenizer.rules.inline.anyPunctuation.exec(s)) != null; )
+ s =
+ s.slice(0, l.index) +
+ '++' +
+ s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
+ for (; e; )
+ if (
+ (u || (h = ''),
+ (u = !1),
+ !(
+ this.options.extensions &&
+ this.options.extensions.inline &&
+ this.options.extensions.inline.some((f) =>
+ (n = f.call({ lexer: this }, e, r))
+ ? ((e = e.substring(n.raw.length)), r.push(n), !0)
+ : !1
+ )
+ ))
+ ) {
+ if ((n = this.tokenizer.escape(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.tag(e))) {
+ (e = e.substring(n.raw.length)),
+ (i = r[r.length - 1]),
+ i && n.type === 'text' && i.type === 'text'
+ ? ((i.raw += n.raw), (i.text += n.text))
+ : r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.link(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.reflink(e, this.tokens.links))) {
+ (e = e.substring(n.raw.length)),
+ (i = r[r.length - 1]),
+ i && n.type === 'text' && i.type === 'text'
+ ? ((i.raw += n.raw), (i.text += n.text))
+ : r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.emStrong(e, s, h))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.codespan(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.br(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.del(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if ((n = this.tokenizer.autolink(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if (!this.state.inLink && (n = this.tokenizer.url(e))) {
+ (e = e.substring(n.raw.length)), r.push(n);
+ continue;
+ }
+ if (((a = e), this.options.extensions && this.options.extensions.startInline)) {
+ let f = 1 / 0,
+ d = e.slice(1),
+ p;
+ this.options.extensions.startInline.forEach((m) => {
+ (p = m.call({ lexer: this }, d)),
+ typeof p == 'number' && p >= 0 && (f = Math.min(f, p));
+ }),
+ f < 1 / 0 && f >= 0 && (a = e.substring(0, f + 1));
+ }
+ if ((n = this.tokenizer.inlineText(a))) {
+ (e = e.substring(n.raw.length)),
+ n.raw.slice(-1) !== '_' && (h = n.raw.slice(-1)),
+ (u = !0),
+ (i = r[r.length - 1]),
+ i && i.type === 'text' ? ((i.raw += n.raw), (i.text += n.text)) : r.push(n);
+ continue;
+ }
+ if (e) {
+ let f = 'Infinite loop on byte: ' + e.charCodeAt(0);
+ if (this.options.silent) {
+ console.error(f);
+ break;
+ } else throw new Error(f);
+ }
+ }
+ return r;
+ }
+ }),
+ (fm = class {
+ static {
+ o(this, '_Renderer');
+ }
+ options;
+ parser;
+ constructor(e) {
+ this.options = e || Sd;
+ }
+ space(e) {
+ return '';
+ }
+ code({ text: e, lang: r, escaped: n }) {
+ let i = (r || '').match(/^\S*/)?.[0],
+ a =
+ e.replace(/\n$/, '') +
+ `
+`;
+ return i
+ ? '' +
+ (n ? a : ro(a, !0)) +
+ `
+`
+ : '' +
+ (n ? a : ro(a, !0)) +
+ `
+`;
+ }
+ blockquote({ tokens: e }) {
+ return `
+${this.parser.parse(e)}
+`;
+ }
+ html({ text: e }) {
+ return e;
+ }
+ heading({ tokens: e, depth: r }) {
+ return `${this.parser.parseInline(e)}
+`;
+ }
+ hr(e) {
+ return `
+`;
+ }
+ list(e) {
+ let r = e.ordered,
+ n = e.start,
+ i = '';
+ for (let l = 0; l < e.items.length; l++) {
+ let u = e.items[l];
+ i += this.listitem(u);
+ }
+ let a = r ? 'ol' : 'ul',
+ s = r && n !== 1 ? ' start="' + n + '"' : '';
+ return (
+ '<' +
+ a +
+ s +
+ `>
+` +
+ i +
+ '' +
+ a +
+ `>
+`
+ );
+ }
+ listitem(e) {
+ let r = '';
+ if (e.task) {
+ let n = this.checkbox({ checked: !!e.checked });
+ e.loose
+ ? e.tokens.length > 0 && e.tokens[0].type === 'paragraph'
+ ? ((e.tokens[0].text = n + ' ' + e.tokens[0].text),
+ e.tokens[0].tokens &&
+ e.tokens[0].tokens.length > 0 &&
+ e.tokens[0].tokens[0].type === 'text' &&
+ (e.tokens[0].tokens[0].text = n + ' ' + e.tokens[0].tokens[0].text))
+ : e.tokens.unshift({
+ type: 'text',
+ raw: n + ' ',
+ text: n + ' '
+ })
+ : (r += n + ' ');
+ }
+ return (
+ (r += this.parser.parse(e.tokens, !!e.loose)),
+ `${r}
+`
+ );
+ }
+ checkbox({ checked: e }) {
+ return '';
+ }
+ paragraph({ tokens: e }) {
+ return `${this.parser.parseInline(e)}
+`;
+ }
+ table(e) {
+ let r = '',
+ n = '';
+ for (let a = 0; a < e.header.length; a++) n += this.tablecell(e.header[a]);
+ r += this.tablerow({ text: n });
+ let i = '';
+ for (let a = 0; a < e.rows.length; a++) {
+ let s = e.rows[a];
+ n = '';
+ for (let l = 0; l < s.length; l++) n += this.tablecell(s[l]);
+ i += this.tablerow({ text: n });
+ }
+ return (
+ i && (i = `${i}`),
+ `
+
+` +
+ r +
+ `
+` +
+ i +
+ `
+`
+ );
+ }
+ tablerow({ text: e }) {
+ return `
+${e}
+`;
+ }
+ tablecell(e) {
+ let r = this.parser.parseInline(e.tokens),
+ n = e.header ? 'th' : 'td';
+ return (
+ (e.align ? `<${n} align="${e.align}">` : `<${n}>`) +
+ r +
+ `${n}>
+`
+ );
+ }
+ strong({ tokens: e }) {
+ return `${this.parser.parseInline(e)}`;
+ }
+ em({ tokens: e }) {
+ return `${this.parser.parseInline(e)}`;
+ }
+ codespan({ text: e }) {
+ return `${e}
`;
+ }
+ br(e) {
+ return '
';
+ }
+ del({ tokens: e }) {
+ return `${this.parser.parseInline(e)}`;
+ }
+ link({ href: e, title: r, tokens: n }) {
+ let i = this.parser.parseInline(n),
+ a = ZX(e);
+ if (a === null) return i;
+ e = a;
+ let s = '' + i + ''), s;
+ }
+ image({ href: e, title: r, text: n }) {
+ let i = ZX(e);
+ if (i === null) return n;
+ e = i;
+ let a = `'), a;
+ }
+ text(e) {
+ return 'tokens' in e && e.tokens ? this.parser.parseInline(e.tokens) : e.text;
+ }
+ }),
+ (yv = class {
+ static {
+ o(this, '_TextRenderer');
+ }
+ strong({ text: e }) {
+ return e;
+ }
+ em({ text: e }) {
+ return e;
+ }
+ codespan({ text: e }) {
+ return e;
+ }
+ del({ text: e }) {
+ return e;
+ }
+ html({ text: e }) {
+ return e;
+ }
+ text({ text: e }) {
+ return e;
+ }
+ link({ text: e }) {
+ return '' + e;
+ }
+ image({ text: e }) {
+ return '' + e;
+ }
+ br() {
+ return '';
+ }
+ }),
+ (Au = class t {
+ static {
+ o(this, '_Parser');
+ }
+ options;
+ renderer;
+ textRenderer;
+ constructor(e) {
+ (this.options = e || Sd),
+ (this.options.renderer = this.options.renderer || new fm()),
+ (this.renderer = this.options.renderer),
+ (this.renderer.options = this.options),
+ (this.renderer.parser = this),
+ (this.textRenderer = new yv());
+ }
+ static parse(e, r) {
+ return new t(r).parse(e);
+ }
+ static parseInline(e, r) {
+ return new t(r).parseInline(e);
+ }
+ parse(e, r = !0) {
+ let n = '';
+ for (let i = 0; i < e.length; i++) {
+ let a = e[i];
+ if (
+ this.options.extensions &&
+ this.options.extensions.renderers &&
+ this.options.extensions.renderers[a.type]
+ ) {
+ let l = a,
+ u = this.options.extensions.renderers[l.type].call({ parser: this }, l);
+ if (
+ u !== !1 ||
+ ![
+ 'space',
+ 'hr',
+ 'heading',
+ 'code',
+ 'table',
+ 'blockquote',
+ 'list',
+ 'html',
+ 'paragraph',
+ 'text'
+ ].includes(l.type)
+ ) {
+ n += u || '';
+ continue;
+ }
+ }
+ let s = a;
+ switch (s.type) {
+ case 'space': {
+ n += this.renderer.space(s);
+ continue;
+ }
+ case 'hr': {
+ n += this.renderer.hr(s);
+ continue;
+ }
+ case 'heading': {
+ n += this.renderer.heading(s);
+ continue;
+ }
+ case 'code': {
+ n += this.renderer.code(s);
+ continue;
+ }
+ case 'table': {
+ n += this.renderer.table(s);
+ continue;
+ }
+ case 'blockquote': {
+ n += this.renderer.blockquote(s);
+ continue;
+ }
+ case 'list': {
+ n += this.renderer.list(s);
+ continue;
+ }
+ case 'html': {
+ n += this.renderer.html(s);
+ continue;
+ }
+ case 'paragraph': {
+ n += this.renderer.paragraph(s);
+ continue;
+ }
+ case 'text': {
+ let l = s,
+ u = this.renderer.text(l);
+ for (; i + 1 < e.length && e[i + 1].type === 'text'; )
+ (l = e[++i]),
+ (u +=
+ `
+` + this.renderer.text(l));
+ r
+ ? (n += this.renderer.paragraph({
+ type: 'paragraph',
+ raw: u,
+ text: u,
+ tokens: [{ type: 'text', raw: u, text: u }]
+ }))
+ : (n += u);
+ continue;
+ }
+ default: {
+ let l = 'Token with "' + s.type + '" type was not found.';
+ if (this.options.silent) return console.error(l), '';
+ throw new Error(l);
+ }
+ }
+ }
+ return n;
+ }
+ parseInline(e, r) {
+ r = r || this.renderer;
+ let n = '';
+ for (let i = 0; i < e.length; i++) {
+ let a = e[i];
+ if (
+ this.options.extensions &&
+ this.options.extensions.renderers &&
+ this.options.extensions.renderers[a.type]
+ ) {
+ let l = this.options.extensions.renderers[a.type].call({ parser: this }, a);
+ if (
+ l !== !1 ||
+ ![
+ 'escape',
+ 'html',
+ 'link',
+ 'image',
+ 'strong',
+ 'em',
+ 'codespan',
+ 'br',
+ 'del',
+ 'text'
+ ].includes(a.type)
+ ) {
+ n += l || '';
+ continue;
+ }
+ }
+ let s = a;
+ switch (s.type) {
+ case 'escape': {
+ n += r.text(s);
+ break;
+ }
+ case 'html': {
+ n += r.html(s);
+ break;
+ }
+ case 'link': {
+ n += r.link(s);
+ break;
+ }
+ case 'image': {
+ n += r.image(s);
+ break;
+ }
+ case 'strong': {
+ n += r.strong(s);
+ break;
+ }
+ case 'em': {
+ n += r.em(s);
+ break;
+ }
+ case 'codespan': {
+ n += r.codespan(s);
+ break;
+ }
+ case 'br': {
+ n += r.br(s);
+ break;
+ }
+ case 'del': {
+ n += r.del(s);
+ break;
+ }
+ case 'text': {
+ n += r.text(s);
+ break;
+ }
+ default: {
+ let l = 'Token with "' + s.type + '" type was not found.';
+ if (this.options.silent) return console.error(l), '';
+ throw new Error(l);
+ }
+ }
+ }
+ return n;
+ }
+ }),
+ (um = class {
+ static {
+ o(this, '_Hooks');
+ }
+ options;
+ constructor(e) {
+ this.options = e || Sd;
+ }
+ static passThroughHooks = new Set(['preprocess', 'postprocess', 'processAllTokens']);
+ preprocess(e) {
+ return e;
+ }
+ postprocess(e) {
+ return e;
+ }
+ processAllTokens(e) {
+ return e;
+ }
+ }),
+ (p9 = class {
+ static {
+ o(this, 'Marked');
+ }
+ defaults = m9();
+ options = this.setOptions;
+ parse = this.#e(Su.lex, Au.parse);
+ parseInline = this.#e(Su.lexInline, Au.parseInline);
+ Parser = Au;
+ Renderer = fm;
+ TextRenderer = yv;
+ Lexer = Su;
+ Tokenizer = hm;
+ Hooks = um;
+ constructor(...e) {
+ this.use(...e);
+ }
+ walkTokens(e, r) {
+ let n = [];
+ for (let i of e)
+ switch (((n = n.concat(r.call(this, i))), i.type)) {
+ case 'table': {
+ let a = i;
+ for (let s of a.header) n = n.concat(this.walkTokens(s.tokens, r));
+ for (let s of a.rows) for (let l of s) n = n.concat(this.walkTokens(l.tokens, r));
+ break;
+ }
+ case 'list': {
+ let a = i;
+ n = n.concat(this.walkTokens(a.items, r));
+ break;
+ }
+ default: {
+ let a = i;
+ this.defaults.extensions?.childTokens?.[a.type]
+ ? this.defaults.extensions.childTokens[a.type].forEach((s) => {
+ let l = a[s].flat(1 / 0);
+ n = n.concat(this.walkTokens(l, r));
+ })
+ : a.tokens && (n = n.concat(this.walkTokens(a.tokens, r)));
+ }
+ }
+ return n;
+ }
+ use(...e) {
+ let r = this.defaults.extensions || {
+ renderers: {},
+ childTokens: {}
+ };
+ return (
+ e.forEach((n) => {
+ let i = { ...n };
+ if (
+ ((i.async = this.defaults.async || i.async || !1),
+ n.extensions &&
+ (n.extensions.forEach((a) => {
+ if (!a.name) throw new Error('extension name required');
+ if ('renderer' in a) {
+ let s = r.renderers[a.name];
+ s
+ ? (r.renderers[a.name] = function (...l) {
+ let u = a.renderer.apply(this, l);
+ return u === !1 && (u = s.apply(this, l)), u;
+ })
+ : (r.renderers[a.name] = a.renderer);
+ }
+ if ('tokenizer' in a) {
+ if (!a.level || (a.level !== 'block' && a.level !== 'inline'))
+ throw new Error("extension level must be 'block' or 'inline'");
+ let s = r[a.level];
+ s ? s.unshift(a.tokenizer) : (r[a.level] = [a.tokenizer]),
+ a.start &&
+ (a.level === 'block'
+ ? r.startBlock
+ ? r.startBlock.push(a.start)
+ : (r.startBlock = [a.start])
+ : a.level === 'inline' &&
+ (r.startInline
+ ? r.startInline.push(a.start)
+ : (r.startInline = [a.start])));
+ }
+ 'childTokens' in a &&
+ a.childTokens &&
+ (r.childTokens[a.name] = a.childTokens);
+ }),
+ (i.extensions = r)),
+ n.renderer)
+ ) {
+ let a = this.defaults.renderer || new fm(this.defaults);
+ for (let s in n.renderer) {
+ if (!(s in a)) throw new Error(`renderer '${s}' does not exist`);
+ if (['options', 'parser'].includes(s)) continue;
+ let l = s,
+ u = n.renderer[l];
+ n.useNewRenderer || (u = this.#t(u, l, a));
+ let h = a[l];
+ a[l] = (...f) => {
+ let d = u.apply(a, f);
+ return d === !1 && (d = h.apply(a, f)), d || '';
+ };
+ }
+ i.renderer = a;
+ }
+ if (n.tokenizer) {
+ let a = this.defaults.tokenizer || new hm(this.defaults);
+ for (let s in n.tokenizer) {
+ if (!(s in a)) throw new Error(`tokenizer '${s}' does not exist`);
+ if (['options', 'rules', 'lexer'].includes(s)) continue;
+ let l = s,
+ u = n.tokenizer[l],
+ h = a[l];
+ a[l] = (...f) => {
+ let d = u.apply(a, f);
+ return d === !1 && (d = h.apply(a, f)), d;
+ };
+ }
+ i.tokenizer = a;
+ }
+ if (n.hooks) {
+ let a = this.defaults.hooks || new um();
+ for (let s in n.hooks) {
+ if (!(s in a)) throw new Error(`hook '${s}' does not exist`);
+ if (s === 'options') continue;
+ let l = s,
+ u = n.hooks[l],
+ h = a[l];
+ um.passThroughHooks.has(s)
+ ? (a[l] = (f) => {
+ if (this.defaults.async)
+ return Promise.resolve(u.call(a, f)).then((p) => h.call(a, p));
+ let d = u.call(a, f);
+ return h.call(a, d);
+ })
+ : (a[l] = (...f) => {
+ let d = u.apply(a, f);
+ return d === !1 && (d = h.apply(a, f)), d;
+ });
+ }
+ i.hooks = a;
+ }
+ if (n.walkTokens) {
+ let a = this.defaults.walkTokens,
+ s = n.walkTokens;
+ i.walkTokens = function (l) {
+ let u = [];
+ return u.push(s.call(this, l)), a && (u = u.concat(a.call(this, l))), u;
+ };
+ }
+ this.defaults = { ...this.defaults, ...i };
+ }),
+ this
+ );
+ }
+ #t(e, r, n) {
+ switch (r) {
+ case 'heading':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(
+ this,
+ n.parser.parseInline(i.tokens),
+ i.depth,
+ t7e(n.parser.parseInline(i.tokens, n.parser.textRenderer))
+ );
+ };
+ case 'code':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, i.text, i.lang, !!i.escaped);
+ };
+ case 'table':
+ return function (i) {
+ if (!i.type || i.type !== r) return e.apply(this, arguments);
+ let a = '',
+ s = '';
+ for (let u = 0; u < i.header.length; u++)
+ s += this.tablecell({
+ text: i.header[u].text,
+ tokens: i.header[u].tokens,
+ header: !0,
+ align: i.align[u]
+ });
+ a += this.tablerow({ text: s });
+ let l = '';
+ for (let u = 0; u < i.rows.length; u++) {
+ let h = i.rows[u];
+ s = '';
+ for (let f = 0; f < h.length; f++)
+ s += this.tablecell({
+ text: h[f].text,
+ tokens: h[f].tokens,
+ header: !1,
+ align: i.align[f]
+ });
+ l += this.tablerow({ text: s });
+ }
+ return e.call(this, a, l);
+ };
+ case 'blockquote':
+ return function (i) {
+ if (!i.type || i.type !== r) return e.apply(this, arguments);
+ let a = this.parser.parse(i.tokens);
+ return e.call(this, a);
+ };
+ case 'list':
+ return function (i) {
+ if (!i.type || i.type !== r) return e.apply(this, arguments);
+ let a = i.ordered,
+ s = i.start,
+ l = i.loose,
+ u = '';
+ for (let h = 0; h < i.items.length; h++) {
+ let f = i.items[h],
+ d = f.checked,
+ p = f.task,
+ m = '';
+ if (f.task) {
+ let g = this.checkbox({ checked: !!d });
+ l
+ ? f.tokens.length > 0 && f.tokens[0].type === 'paragraph'
+ ? ((f.tokens[0].text = g + ' ' + f.tokens[0].text),
+ f.tokens[0].tokens &&
+ f.tokens[0].tokens.length > 0 &&
+ f.tokens[0].tokens[0].type === 'text' &&
+ (f.tokens[0].tokens[0].text =
+ g + ' ' + f.tokens[0].tokens[0].text))
+ : f.tokens.unshift({ type: 'text', text: g + ' ' })
+ : (m += g + ' ');
+ }
+ (m += this.parser.parse(f.tokens, l)),
+ (u += this.listitem({
+ type: 'list_item',
+ raw: m,
+ text: m,
+ task: p,
+ checked: !!d,
+ loose: l,
+ tokens: f.tokens
+ }));
+ }
+ return e.call(this, u, a, s);
+ };
+ case 'html':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, i.text, i.block);
+ };
+ case 'paragraph':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, this.parser.parseInline(i.tokens));
+ };
+ case 'escape':
+ return function (i) {
+ return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text);
+ };
+ case 'link':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, i.href, i.title, this.parser.parseInline(i.tokens));
+ };
+ case 'image':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, i.href, i.title, i.text);
+ };
+ case 'strong':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, this.parser.parseInline(i.tokens));
+ };
+ case 'em':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, this.parser.parseInline(i.tokens));
+ };
+ case 'codespan':
+ return function (i) {
+ return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text);
+ };
+ case 'del':
+ return function (i) {
+ return !i.type || i.type !== r
+ ? e.apply(this, arguments)
+ : e.call(this, this.parser.parseInline(i.tokens));
+ };
+ case 'text':
+ return function (i) {
+ return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text);
+ };
+ }
+ return e;
+ }
+ setOptions(e) {
+ return (this.defaults = { ...this.defaults, ...e }), this;
+ }
+ lexer(e, r) {
+ return Su.lex(e, r ?? this.defaults);
+ }
+ parser(e, r) {
+ return Au.parse(e, r ?? this.defaults);
+ }
+ #e(e, r) {
+ return (n, i) => {
+ let a = { ...i },
+ s = { ...this.defaults, ...a };
+ this.defaults.async === !0 &&
+ a.async === !1 &&
+ (s.silent ||
+ console.warn(
+ 'marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.'
+ ),
+ (s.async = !0));
+ let l = this.#r(!!s.silent, !!s.async);
+ if (typeof n > 'u' || n === null)
+ return l(new Error('marked(): input parameter is undefined or null'));
+ if (typeof n != 'string')
+ return l(
+ new Error(
+ 'marked(): input parameter is of type ' +
+ Object.prototype.toString.call(n) +
+ ', string expected'
+ )
+ );
+ if ((s.hooks && (s.hooks.options = s), s.async))
+ return Promise.resolve(s.hooks ? s.hooks.preprocess(n) : n)
+ .then((u) => e(u, s))
+ .then((u) => (s.hooks ? s.hooks.processAllTokens(u) : u))
+ .then((u) =>
+ s.walkTokens ? Promise.all(this.walkTokens(u, s.walkTokens)).then(() => u) : u
+ )
+ .then((u) => r(u, s))
+ .then((u) => (s.hooks ? s.hooks.postprocess(u) : u))
+ .catch(l);
+ try {
+ s.hooks && (n = s.hooks.preprocess(n));
+ let u = e(n, s);
+ s.hooks && (u = s.hooks.processAllTokens(u)),
+ s.walkTokens && this.walkTokens(u, s.walkTokens);
+ let h = r(u, s);
+ return s.hooks && (h = s.hooks.postprocess(h)), h;
+ } catch (u) {
+ return l(u);
+ }
+ };
+ }
+ #r(e, r) {
+ return (n) => {
+ if (
+ ((n.message += `
+Please report this to https://github.com/markedjs/marked.`),
+ e)
+ ) {
+ let i = 'An error occurred:
' + ro(n.message + '', !0) + '
';
+ return r ? Promise.resolve(i) : i;
+ }
+ if (r) return Promise.reject(n);
+ throw n;
+ };
+ }
+ }),
+ (Cd = new p9());
+ o(jr, 'marked');
+ jr.options = jr.setOptions = function (t) {
+ return Cd.setOptions(t), (jr.defaults = Cd.defaults), rj(jr.defaults), jr;
+ };
+ jr.getDefaults = m9;
+ jr.defaults = Sd;
+ jr.use = function (...t) {
+ return Cd.use(...t), (jr.defaults = Cd.defaults), rj(jr.defaults), jr;
+ };
+ jr.walkTokens = function (t, e) {
+ return Cd.walkTokens(t, e);
+ };
+ jr.parseInline = Cd.parseInline;
+ jr.Parser = Au;
+ jr.parser = Au.parse;
+ jr.Renderer = fm;
+ jr.TextRenderer = yv;
+ jr.Lexer = Su;
+ jr.lexer = Su.lex;
+ jr.Tokenizer = hm;
+ jr.Hooks = um;
+ jr.parse = jr;
+ (mkt = jr.options),
+ (gkt = jr.setOptions),
+ (ykt = jr.use),
+ (vkt = jr.walkTokens),
+ (xkt = jr.parseInline),
+ (bkt = Au.parse),
+ (wkt = Su.lex);
+ });
+ function R7e(t, { markdownAutoWrap: e }) {
+ let n = t
+ .replace(
+ /
/g,
+ `
+`
+ )
+ .replace(
+ /\n{2,}/g,
+ `
+`
+ ),
+ i = Gb(n);
+ return e === !1 ? i.replace(/ /g, ' ') : i;
+ }
+ function dj(t, e = {}) {
+ let r = R7e(t, e),
+ n = jr.lexer(r),
+ i = [[]],
+ a = 0;
+ function s(l, u = 'normal') {
+ l.type === 'text'
+ ? l.text
+ .split(
+ `
+`
+ )
+ .forEach((f, d) => {
+ d !== 0 && (a++, i.push([])),
+ f.split(' ').forEach((p) => {
+ p && i[a].push({ content: p, type: u });
+ });
+ })
+ : l.type === 'strong' || l.type === 'em'
+ ? l.tokens.forEach((h) => {
+ s(h, l.type);
+ })
+ : l.type === 'html' && i[a].push({ content: l.text, type: 'normal' });
+ }
+ return (
+ o(s, 'processNode'),
+ n.forEach((l) => {
+ l.type === 'paragraph'
+ ? l.tokens?.forEach((u) => {
+ s(u);
+ })
+ : l.type === 'html' && i[a].push({ content: l.text, type: 'normal' });
+ }),
+ i
+ );
+ }
+ function pj(t, { markdownAutoWrap: e } = {}) {
+ let r = jr.lexer(t);
+ function n(i) {
+ return i.type === 'text'
+ ? e === !1
+ ? i.text.replace(/\n */g, '
').replace(/ /g, ' ')
+ : i.text.replace(/\n */g, '
')
+ : i.type === 'strong'
+ ? `${i.tokens?.map(n).join('')}`
+ : i.type === 'em'
+ ? `${i.tokens?.map(n).join('')}`
+ : i.type === 'paragraph'
+ ? `${i.tokens?.map(n).join('')}
`
+ : i.type === 'space'
+ ? ''
+ : i.type === 'html'
+ ? `${i.text}`
+ : `Unsupported markdown: ${i.type}`;
+ }
+ return o(n, 'output'), r.map(n).join('');
+ }
+ var mj = R(() => {
+ 'use strict';
+ fj();
+ zC();
+ o(R7e, 'preprocessMarkdown');
+ o(dj, 'markdownToLines');
+ o(pj, 'markdownToHTML');
+ });
+ function N7e(t) {
+ return Intl.Segmenter ? [...new Intl.Segmenter().segment(t)].map((e) => e.segment) : [...t];
+ }
+ function M7e(t, e) {
+ let r = N7e(e.content);
+ return gj(t, [], r, e.type);
+ }
+ function gj(t, e, r, n) {
+ if (r.length === 0)
+ return [
+ { content: e.join(''), type: n },
+ { content: '', type: n }
+ ];
+ let [i, ...a] = r,
+ s = [...e, i];
+ return t([{ content: s.join(''), type: n }])
+ ? gj(t, s, a, n)
+ : (e.length === 0 && i && (e.push(i), r.shift()),
+ [
+ { content: e.join(''), type: n },
+ { content: r.join(''), type: n }
+ ]);
+ }
+ function yj(t, e) {
+ if (
+ t.some(({ content: r }) =>
+ r.includes(`
+`)
+ )
+ )
+ throw new Error('splitLineToFitWidth does not support newlines in the line');
+ return w9(t, e);
+ }
+ function w9(t, e, r = [], n = []) {
+ if (t.length === 0) return n.length > 0 && r.push(n), r.length > 0 ? r : [];
+ let i = '';
+ t[0].content === ' ' && ((i = ' '), t.shift());
+ let a = t.shift() ?? { content: ' ', type: 'normal' },
+ s = [...n];
+ if ((i !== '' && s.push({ content: i, type: 'normal' }), s.push(a), e(s))) return w9(t, e, r, s);
+ if (n.length > 0) r.push(n), t.unshift(a);
+ else if (a.content) {
+ let [l, u] = M7e(e, a);
+ r.push([l]), u.content && t.unshift(u);
+ }
+ return w9(t, e, r);
+ }
+ var vj = R(() => {
+ 'use strict';
+ o(N7e, 'splitTextToChars');
+ o(M7e, 'splitWordToFitWidth');
+ o(gj, 'splitWordToFitWidthRecursion');
+ o(yj, 'splitLineToFitWidth');
+ o(w9, 'splitLineToFitWidthRecursion');
+ });
+ function xj(t, e) {
+ e && t.attr('style', e);
+ }
+ async function I7e(t, e, r, n, i = !1) {
+ let a = t.append('foreignObject'),
+ s = a.append('xhtml:div'),
+ l = e.label;
+ e.label &&
+ Ni(e.label) &&
+ (l = await yh(
+ e.label.replace(
+ We.lineBreakRegex,
+ `
+`
+ ),
+ de()
+ ));
+ let u = e.isNode ? 'nodeLabel' : 'edgeLabel',
+ h = s.append('span');
+ h.html(l),
+ xj(h, e.labelStyle),
+ h.attr('class', `${u} ${n}`),
+ xj(s, e.labelStyle),
+ s.style('display', 'table-cell'),
+ s.style('white-space', 'nowrap'),
+ s.style('line-height', '1.5'),
+ s.style('max-width', r + 'px'),
+ s.style('text-align', 'center'),
+ s.attr('xmlns', 'http://www.w3.org/1999/xhtml'),
+ i && s.attr('class', 'labelBkg');
+ let f = s.node().getBoundingClientRect();
+ return (
+ f.width === r &&
+ (s.style('display', 'table'),
+ s.style('white-space', 'break-spaces'),
+ s.style('width', r + 'px'),
+ (f = s.node().getBoundingClientRect())),
+ a.node()
+ );
+ }
+ function T9(t, e, r) {
+ return t
+ .append('tspan')
+ .attr('class', 'text-outer-tspan')
+ .attr('x', 0)
+ .attr('y', e * r - 0.1 + 'em')
+ .attr('dy', r + 'em');
+ }
+ function O7e(t, e, r) {
+ let n = t.append('text'),
+ i = T9(n, 1, e);
+ k9(i, r);
+ let a = i.node().getComputedTextLength();
+ return n.remove(), a;
+ }
+ function bj(t, e, r) {
+ let n = t.append('text'),
+ i = T9(n, 1, e);
+ k9(i, [{ content: r, type: 'normal' }]);
+ let a = i.node()?.getBoundingClientRect();
+ return a && n.remove(), a;
+ }
+ function P7e(t, e, r, n = !1) {
+ let a = e.append('g'),
+ s = a.insert('rect').attr('class', 'background').attr('style', 'stroke: none'),
+ l = a.append('text').attr('y', '-10.1'),
+ u = 0;
+ for (let h of r) {
+ let f = o((p) => O7e(a, 1.1, p) <= t, 'checkWidth'),
+ d = f(h) ? [h] : yj(h, f);
+ for (let p of d) {
+ let m = T9(l, u, 1.1);
+ k9(m, p), u++;
+ }
+ }
+ if (n) {
+ let h = l.node().getBBox(),
+ f = 2;
+ return (
+ s
+ .attr('x', -f)
+ .attr('y', -f)
+ .attr('width', h.width + 2 * f)
+ .attr('height', h.height + 2 * f),
+ a.node()
+ );
+ } else return l.node();
+ }
+ function k9(t, e) {
+ t.text(''),
+ e.forEach((r, n) => {
+ let i = t
+ .append('tspan')
+ .attr('font-style', r.type === 'em' ? 'italic' : 'normal')
+ .attr('class', 'text-inner-tspan')
+ .attr('font-weight', r.type === 'strong' ? 'bold' : 'normal');
+ n === 0 ? i.text(r.content) : i.text(' ' + r.content);
+ });
+ }
+ function E9(t) {
+ return t.replace(/fa[bklrs]?:fa-[\w-]+/g, (e) => ``);
+ }
+ var ta,
+ Al = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ Zt();
+ ut();
+ mj();
+ xr();
+ vj();
+ o(xj, 'applyStyle');
+ o(I7e, 'addHtmlSpan');
+ o(T9, 'createTspan');
+ o(O7e, 'computeWidthOfText');
+ o(bj, 'computeDimensionOfText');
+ o(P7e, 'createFormattedText');
+ o(k9, 'updateTextContentAndStyles');
+ o(E9, 'replaceIconSubstring');
+ ta = o(
+ async (
+ t,
+ e = '',
+ {
+ style: r = '',
+ isTitle: n = !1,
+ classes: i = '',
+ useHtmlLabels: a = !0,
+ isNode: s = !0,
+ width: l = 200,
+ addSvgBackground: u = !1
+ } = {},
+ h
+ ) => {
+ if ((V.info('XYZ createText', e, r, n, i, a, s, 'addSvgBackground: ', u), a)) {
+ let f = pj(e, h),
+ d = E9(to(f)),
+ p = e.replace(/\\\\/g, '\\'),
+ m = {
+ isNode: s,
+ label: Ni(e) ? p : d,
+ labelStyle: r.replace('fill:', 'color:')
+ };
+ return await I7e(t, m, l, i, u);
+ } else {
+ let f = e.replace(/
/g, '
'),
+ d = dj(f.replace('
', '
'), h),
+ p = P7e(l, t, d, e ? u : !1);
+ if (s) {
+ /stroke:/.exec(r) && (r = r.replace('stroke:', 'lineColor:'));
+ let m = r
+ .replace(/stroke:[^;]+;?/g, '')
+ .replace(/stroke-width:[^;]+;?/g, '')
+ .replace(/fill:[^;]+;?/g, '')
+ .replace(/color:/g, 'fill:');
+ $e(p).attr('style', m);
+ } else {
+ let m = r
+ .replace(/stroke:[^;]+;?/g, '')
+ .replace(/stroke-width:[^;]+;?/g, '')
+ .replace(/fill:[^;]+;?/g, '')
+ .replace(/background:/g, 'fill:');
+ $e(p)
+ .select('rect')
+ .attr('style', m.replace(/background:/g, 'fill:'));
+ let g = r
+ .replace(/stroke:[^;]+;?/g, '')
+ .replace(/stroke-width:[^;]+;?/g, '')
+ .replace(/fill:[^;]+;?/g, '')
+ .replace(/color:/g, 'fill:');
+ $e(p).select('text').attr('style', g);
+ }
+ return p;
+ }
+ },
+ 'createText'
+ );
+ });
+ function wj(t, e) {
+ e && t.attr('style', e);
+ }
+ function B7e(t) {
+ let e = $e(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')),
+ r = e.append('xhtml:div'),
+ n = t.label,
+ i = t.isNode ? 'nodeLabel' : 'edgeLabel',
+ a = r.append('span');
+ return (
+ a.html(n),
+ wj(a, t.labelStyle),
+ a.attr('class', i),
+ wj(r, t.labelStyle),
+ r.style('display', 'inline-block'),
+ r.style('white-space', 'nowrap'),
+ r.attr('xmlns', 'http://www.w3.org/1999/xhtml'),
+ e.node()
+ );
+ }
+ var F7e,
+ ra,
+ bv = R(() => {
+ 'use strict';
+ Zt();
+ ut();
+ _t();
+ rr();
+ xr();
+ Al();
+ o(wj, 'applyStyle');
+ o(B7e, 'addHtmlLabel');
+ (F7e = o((t, e, r, n) => {
+ let i = t || '';
+ if ((typeof i == 'object' && (i = i[0]), yr(de().flowchart.htmlLabels))) {
+ (i = i.replace(/\\n|\n/g, '
')), V.debug('vertexText' + i);
+ let a = {
+ isNode: n,
+ label: E9(to(i)),
+ labelStyle: e.replace('fill:', 'color:')
+ };
+ return B7e(a);
+ } else {
+ let a = document.createElementNS('http://www.w3.org/2000/svg', 'text');
+ a.setAttribute('style', e.replace('color:', 'fill:'));
+ let s = [];
+ typeof i == 'string' ? (s = i.split(/\\n|\n|
/gi)) : Array.isArray(i) ? (s = i) : (s = []);
+ for (let l of s) {
+ let u = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ u.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'),
+ u.setAttribute('dy', '1em'),
+ u.setAttribute('x', '0'),
+ r ? u.setAttribute('class', 'title-row') : u.setAttribute('class', 'row'),
+ (u.textContent = l.trim()),
+ a.appendChild(u);
+ }
+ return a;
+ }
+ }, 'createLabel')),
+ (ra = F7e);
+ });
+ function z7e(t, e) {
+ return t.intersect(e);
+ }
+ var Tj,
+ kj = R(() => {
+ 'use strict';
+ o(z7e, 'intersectNode');
+ Tj = z7e;
+ });
+ function G7e(t, e, r, n) {
+ var i = t.x,
+ a = t.y,
+ s = i - n.x,
+ l = a - n.y,
+ u = Math.sqrt(e * e * l * l + r * r * s * s),
+ h = Math.abs((e * r * s) / u);
+ n.x < i && (h = -h);
+ var f = Math.abs((e * r * l) / u);
+ return n.y < a && (f = -f), { x: i + h, y: a + f };
+ }
+ var R5,
+ C9 = R(() => {
+ 'use strict';
+ o(G7e, 'intersectEllipse');
+ R5 = G7e;
+ });
+ function $7e(t, e, r) {
+ return R5(t, e, e, r);
+ }
+ var Ej,
+ Cj = R(() => {
+ 'use strict';
+ C9();
+ o($7e, 'intersectCircle');
+ Ej = $7e;
+ });
+ function V7e(t, e, r, n) {
+ var i, a, s, l, u, h, f, d, p, m, g, y, v, x, b;
+ if (
+ ((i = e.y - t.y),
+ (s = t.x - e.x),
+ (u = e.x * t.y - t.x * e.y),
+ (p = i * r.x + s * r.y + u),
+ (m = i * n.x + s * n.y + u),
+ !(p !== 0 && m !== 0 && Sj(p, m)) &&
+ ((a = n.y - r.y),
+ (l = r.x - n.x),
+ (h = n.x * r.y - r.x * n.y),
+ (f = a * t.x + l * t.y + h),
+ (d = a * e.x + l * e.y + h),
+ !(f !== 0 && d !== 0 && Sj(f, d)) && ((g = i * l - a * s), g !== 0)))
+ )
+ return (
+ (y = Math.abs(g / 2)),
+ (v = s * h - l * u),
+ (x = v < 0 ? (v - y) / g : (v + y) / g),
+ (v = a * u - i * h),
+ (b = v < 0 ? (v - y) / g : (v + y) / g),
+ { x, y: b }
+ );
+ }
+ function Sj(t, e) {
+ return t * e > 0;
+ }
+ var Aj,
+ _j = R(() => {
+ 'use strict';
+ o(V7e, 'intersectLine');
+ o(Sj, 'sameSign');
+ Aj = V7e;
+ });
+ function U7e(t, e, r) {
+ var n = t.x,
+ i = t.y,
+ a = [],
+ s = Number.POSITIVE_INFINITY,
+ l = Number.POSITIVE_INFINITY;
+ typeof e.forEach == 'function'
+ ? e.forEach(function (g) {
+ (s = Math.min(s, g.x)), (l = Math.min(l, g.y));
+ })
+ : ((s = Math.min(s, e.x)), (l = Math.min(l, e.y)));
+ for (var u = n - t.width / 2 - s, h = i - t.height / 2 - l, f = 0; f < e.length; f++) {
+ var d = e[f],
+ p = e[f < e.length - 1 ? f + 1 : 0],
+ m = Aj(t, r, { x: u + d.x, y: h + d.y }, { x: u + p.x, y: h + p.y });
+ m && a.push(m);
+ }
+ return a.length
+ ? (a.length > 1 &&
+ a.sort(function (g, y) {
+ var v = g.x - r.x,
+ x = g.y - r.y,
+ b = Math.sqrt(v * v + x * x),
+ w = y.x - r.x,
+ S = y.y - r.y,
+ T = Math.sqrt(w * w + S * S);
+ return b < T ? -1 : b === T ? 0 : 1;
+ }),
+ a[0])
+ : t;
+ }
+ var Lj,
+ Dj = R(() => {
+ 'use strict';
+ _j();
+ Lj = U7e;
+ o(U7e, 'intersectPolygon');
+ });
+ var H7e,
+ Ad,
+ S9 = R(() => {
+ 'use strict';
+ (H7e = o((t, e) => {
+ var r = t.x,
+ n = t.y,
+ i = e.x - r,
+ a = e.y - n,
+ s = t.width / 2,
+ l = t.height / 2,
+ u,
+ h;
+ return (
+ Math.abs(a) * s > Math.abs(i) * l
+ ? (a < 0 && (l = -l), (u = a === 0 ? 0 : (l * i) / a), (h = l))
+ : (i < 0 && (s = -s), (u = s), (h = i === 0 ? 0 : (s * a) / i)),
+ { x: r + u, y: n + h }
+ );
+ }, 'intersectRect')),
+ (Ad = H7e);
+ });
+ var Tn,
+ A9 = R(() => {
+ 'use strict';
+ kj();
+ Cj();
+ C9();
+ Dj();
+ S9();
+ Tn = { node: Tj, circle: Ej, ellipse: R5, polygon: Lj, rect: Ad };
+ });
+ function _l(t, e, r, n) {
+ return t
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ n
+ .map(function (i) {
+ return i.x + ',' + i.y;
+ })
+ .join(' ')
+ )
+ .attr('class', 'label-container')
+ .attr('transform', 'translate(' + -e / 2 + ',' + r / 2 + ')');
+ }
+ var Ti,
+ kn,
+ N5 = R(() => {
+ 'use strict';
+ bv();
+ Al();
+ _t();
+ Zt();
+ rr();
+ xr();
+ (Ti = o(async (t, e, r, n) => {
+ let i = de(),
+ a,
+ s = e.useHtmlLabels || yr(i.flowchart.htmlLabels);
+ r ? (a = r) : (a = 'node default');
+ let l = t
+ .insert('g')
+ .attr('class', a)
+ .attr('id', e.domId || e.id),
+ u = l.insert('g').attr('class', 'label').attr('style', e.labelStyle),
+ h;
+ e.labelText === void 0 ? (h = '') : (h = typeof e.labelText == 'string' ? e.labelText : e.labelText[0]);
+ let f = u.node(),
+ d;
+ e.labelType === 'markdown'
+ ? (d = ta(
+ u,
+ qr(to(h), i),
+ {
+ useHtmlLabels: s,
+ width: e.width || i.flowchart.wrappingWidth,
+ classes: 'markdown-node-label'
+ },
+ i
+ ))
+ : (d = f.appendChild(ra(qr(to(h), i), e.labelStyle, !1, n)));
+ let p = d.getBBox(),
+ m = e.padding / 2;
+ if (yr(i.flowchart.htmlLabels)) {
+ let g = d.children[0],
+ y = $e(d),
+ v = g.getElementsByTagName('img');
+ if (v) {
+ let x = h.replace(/]*>/g, '').trim() === '';
+ await Promise.all(
+ [...v].map(
+ (b) =>
+ new Promise((w) => {
+ function S() {
+ if (((b.style.display = 'flex'), (b.style.flexDirection = 'column'), x)) {
+ let T = i.fontSize
+ ? i.fontSize
+ : window.getComputedStyle(document.body).fontSize,
+ _ = parseInt(T, 10) * 5 + 'px';
+ (b.style.minWidth = _), (b.style.maxWidth = _);
+ } else b.style.width = '100%';
+ w(b);
+ }
+ o(S, 'setupImage'),
+ setTimeout(() => {
+ b.complete && S();
+ }),
+ b.addEventListener('error', S),
+ b.addEventListener('load', S);
+ })
+ )
+ );
+ }
+ (p = g.getBoundingClientRect()), y.attr('width', p.width), y.attr('height', p.height);
+ }
+ return (
+ s
+ ? u.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')')
+ : u.attr('transform', 'translate(0, ' + -p.height / 2 + ')'),
+ e.centerLabel && u.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'),
+ u.insert('rect', ':first-child'),
+ { shapeSvg: l, bbox: p, halfPadding: m, label: u }
+ );
+ }, 'labelHelper')),
+ (kn = o((t, e) => {
+ let r = e.node().getBBox();
+ (t.width = r.width), (t.height = r.height);
+ }, 'updateNodeBounds'));
+ o(_l, 'insertPolygonShape');
+ });
+ var Y7e,
+ Rj,
+ Nj = R(() => {
+ 'use strict';
+ N5();
+ ut();
+ _t();
+ A9();
+ (Y7e = o(async (t, e) => {
+ e.useHtmlLabels || de().flowchart.htmlLabels || (e.centerLabel = !0);
+ let { shapeSvg: n, bbox: i, halfPadding: a } = await Ti(t, e, 'node ' + e.classes, !0);
+ V.info('Classes = ', e.classes);
+ let s = n.insert('rect', ':first-child');
+ return (
+ s
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', -i.width / 2 - a)
+ .attr('y', -i.height / 2 - a)
+ .attr('width', i.width + e.padding)
+ .attr('height', i.height + e.padding),
+ kn(e, s),
+ (e.intersect = function (l) {
+ return Tn.rect(e, l);
+ }),
+ n
+ );
+ }, 'note')),
+ (Rj = Y7e);
+ });
+ function _9(t, e, r, n) {
+ let i = [],
+ a = o((l) => {
+ i.push(l, 0);
+ }, 'addBorder'),
+ s = o((l) => {
+ i.push(0, l);
+ }, 'skipBorder');
+ e.includes('t') ? (V.debug('add top border'), a(r)) : s(r),
+ e.includes('r') ? (V.debug('add right border'), a(n)) : s(n),
+ e.includes('b') ? (V.debug('add bottom border'), a(r)) : s(r),
+ e.includes('l') ? (V.debug('add left border'), a(n)) : s(n),
+ t.attr('stroke-dasharray', i.join(' '));
+ }
+ var Mj,
+ no,
+ Ij,
+ W7e,
+ q7e,
+ X7e,
+ j7e,
+ K7e,
+ Q7e,
+ Z7e,
+ J7e,
+ eSe,
+ tSe,
+ rSe,
+ nSe,
+ iSe,
+ aSe,
+ sSe,
+ oSe,
+ lSe,
+ cSe,
+ uSe,
+ Oj,
+ hSe,
+ fSe,
+ Pj,
+ dm,
+ pm,
+ Bj,
+ Fj,
+ wv,
+ M5 = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ rr();
+ ut();
+ KX();
+ bv();
+ A9();
+ Nj();
+ N5();
+ (Mj = o((t) => (t ? ' ' + t : ''), 'formatClass')),
+ (no = o((t, e) => `${e || 'node default'}${Mj(t.classes)} ${Mj(t.class)}`, 'getClassesFromNode')),
+ (Ij = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = i + a,
+ l = [
+ { x: s / 2, y: 0 },
+ { x: s, y: -s / 2 },
+ { x: s / 2, y: -s },
+ { x: 0, y: -s / 2 }
+ ];
+ V.info('Question main (Circle)');
+ let u = _l(r, s, s, l);
+ return (
+ u.attr('style', e.style),
+ kn(e, u),
+ (e.intersect = function (h) {
+ return V.warn('Intersect called'), Tn.polygon(e, l, h);
+ }),
+ r
+ );
+ }, 'question')),
+ (W7e = o((t, e) => {
+ let r = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ n = 28,
+ i = [
+ { x: 0, y: n / 2 },
+ { x: n / 2, y: 0 },
+ { x: 0, y: -n / 2 },
+ { x: -n / 2, y: 0 }
+ ];
+ return (
+ r
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ i
+ .map(function (s) {
+ return s.x + ',' + s.y;
+ })
+ .join(' ')
+ )
+ .attr('class', 'state-start')
+ .attr('r', 7)
+ .attr('width', 28)
+ .attr('height', 28),
+ (e.width = 28),
+ (e.height = 28),
+ (e.intersect = function (s) {
+ return Tn.circle(e, 14, s);
+ }),
+ r
+ );
+ }, 'choice')),
+ (q7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = 4,
+ a = n.height + e.padding,
+ s = a / i,
+ l = n.width + 2 * s + e.padding,
+ u = [
+ { x: s, y: 0 },
+ { x: l - s, y: 0 },
+ { x: l, y: -a / 2 },
+ { x: l - s, y: -a },
+ { x: s, y: -a },
+ { x: 0, y: -a / 2 }
+ ],
+ h = _l(r, l, a, u);
+ return (
+ h.attr('style', e.style),
+ kn(e, h),
+ (e.intersect = function (f) {
+ return Tn.polygon(e, u, f);
+ }),
+ r
+ );
+ }, 'hexagon')),
+ (X7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, void 0, !0),
+ i = 2,
+ a = n.height + 2 * e.padding,
+ s = a / i,
+ l = n.width + 2 * s + e.padding,
+ u = jX(e.directions, n, e),
+ h = _l(r, l, a, u);
+ return (
+ h.attr('style', e.style),
+ kn(e, h),
+ (e.intersect = function (f) {
+ return Tn.polygon(e, u, f);
+ }),
+ r
+ );
+ }, 'block_arrow')),
+ (j7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: -a / 2, y: 0 },
+ { x: i, y: 0 },
+ { x: i, y: -a },
+ { x: -a / 2, y: -a },
+ { x: 0, y: -a / 2 }
+ ];
+ return (
+ _l(r, i, a, s).attr('style', e.style),
+ (e.width = i + a),
+ (e.height = a),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'rect_left_inv_arrow')),
+ (K7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: (-2 * a) / 6, y: 0 },
+ { x: i - a / 6, y: 0 },
+ { x: i + (2 * a) / 6, y: -a },
+ { x: a / 6, y: -a }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'lean_right')),
+ (Q7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: (2 * a) / 6, y: 0 },
+ { x: i + a / 6, y: 0 },
+ { x: i - (2 * a) / 6, y: -a },
+ { x: -a / 6, y: -a }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'lean_left')),
+ (Z7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: (-2 * a) / 6, y: 0 },
+ { x: i + (2 * a) / 6, y: 0 },
+ { x: i - a / 6, y: -a },
+ { x: a / 6, y: -a }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'trapezoid')),
+ (J7e = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: a / 6, y: 0 },
+ { x: i - a / 6, y: 0 },
+ { x: i + (2 * a) / 6, y: -a },
+ { x: (-2 * a) / 6, y: -a }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'inv_trapezoid')),
+ (eSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: 0, y: 0 },
+ { x: i + a / 2, y: 0 },
+ { x: i, y: -a / 2 },
+ { x: i + a / 2, y: -a },
+ { x: 0, y: -a }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'rect_right_inv_arrow')),
+ (tSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = i / 2,
+ s = a / (2.5 + i / 50),
+ l = n.height + s + e.padding,
+ u =
+ 'M 0,' +
+ s +
+ ' a ' +
+ a +
+ ',' +
+ s +
+ ' 0,0,0 ' +
+ i +
+ ' 0 a ' +
+ a +
+ ',' +
+ s +
+ ' 0,0,0 ' +
+ -i +
+ ' 0 l 0,' +
+ l +
+ ' a ' +
+ a +
+ ',' +
+ s +
+ ' 0,0,0 ' +
+ i +
+ ' 0 l 0,' +
+ -l,
+ h = r
+ .attr('label-offset-y', s)
+ .insert('path', ':first-child')
+ .attr('style', e.style)
+ .attr('d', u)
+ .attr('transform', 'translate(' + -i / 2 + ',' + -(l / 2 + s) + ')');
+ return (
+ kn(e, h),
+ (e.intersect = function (f) {
+ let d = Tn.rect(e, f),
+ p = d.x - e.x;
+ if (
+ a != 0 &&
+ (Math.abs(p) < e.width / 2 ||
+ (Math.abs(p) == e.width / 2 && Math.abs(d.y - e.y) > e.height / 2 - s))
+ ) {
+ let m = s * s * (1 - (p * p) / (a * a));
+ m != 0 && (m = Math.sqrt(m)), (m = s - m), f.y - e.y > 0 && (m = -m), (d.y += m);
+ }
+ return d;
+ }),
+ r
+ );
+ }, 'cylinder')),
+ (rSe = o(async (t, e) => {
+ let {
+ shapeSvg: r,
+ bbox: n,
+ halfPadding: i
+ } = await Ti(t, e, 'node ' + e.classes + ' ' + e.class, !0),
+ a = r.insert('rect', ':first-child'),
+ s = e.positioned ? e.width : n.width + e.padding,
+ l = e.positioned ? e.height : n.height + e.padding,
+ u = e.positioned ? -s / 2 : -n.width / 2 - i,
+ h = e.positioned ? -l / 2 : -n.height / 2 - i;
+ if (
+ (a
+ .attr('class', 'basic label-container')
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', u)
+ .attr('y', h)
+ .attr('width', s)
+ .attr('height', l),
+ e.props)
+ ) {
+ let f = new Set(Object.keys(e.props));
+ e.props.borders && (_9(a, e.props.borders, s, l), f.delete('borders')),
+ f.forEach((d) => {
+ V.warn(`Unknown node property ${d}`);
+ });
+ }
+ return (
+ kn(e, a),
+ (e.intersect = function (f) {
+ return Tn.rect(e, f);
+ }),
+ r
+ );
+ }, 'rect')),
+ (nSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, 'node ' + e.classes, !0),
+ a = r.insert('rect', ':first-child'),
+ s = e.positioned ? e.width : n.width + e.padding,
+ l = e.positioned ? e.height : n.height + e.padding,
+ u = e.positioned ? -s / 2 : -n.width / 2 - i,
+ h = e.positioned ? -l / 2 : -n.height / 2 - i;
+ if (
+ (a
+ .attr('class', 'basic cluster composite label-container')
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', u)
+ .attr('y', h)
+ .attr('width', s)
+ .attr('height', l),
+ e.props)
+ ) {
+ let f = new Set(Object.keys(e.props));
+ e.props.borders && (_9(a, e.props.borders, s, l), f.delete('borders')),
+ f.forEach((d) => {
+ V.warn(`Unknown node property ${d}`);
+ });
+ }
+ return (
+ kn(e, a),
+ (e.intersect = function (f) {
+ return Tn.rect(e, f);
+ }),
+ r
+ );
+ }, 'composite')),
+ (iSe = o(async (t, e) => {
+ let { shapeSvg: r } = await Ti(t, e, 'label', !0);
+ V.trace('Classes = ', e.class);
+ let n = r.insert('rect', ':first-child'),
+ i = 0,
+ a = 0;
+ if ((n.attr('width', i).attr('height', a), r.attr('class', 'label edgeLabel'), e.props)) {
+ let s = new Set(Object.keys(e.props));
+ e.props.borders && (_9(n, e.props.borders, i, a), s.delete('borders')),
+ s.forEach((l) => {
+ V.warn(`Unknown node property ${l}`);
+ });
+ }
+ return (
+ kn(e, n),
+ (e.intersect = function (s) {
+ return Tn.rect(e, s);
+ }),
+ r
+ );
+ }, 'labelRect'));
+ o(_9, 'applyNodePropertyBorders');
+ (aSe = o((t, e) => {
+ let r;
+ e.classes ? (r = 'node ' + e.classes) : (r = 'node default');
+ let n = t
+ .insert('g')
+ .attr('class', r)
+ .attr('id', e.domId || e.id),
+ i = n.insert('rect', ':first-child'),
+ a = n.insert('line'),
+ s = n.insert('g').attr('class', 'label'),
+ l = e.labelText.flat ? e.labelText.flat() : e.labelText,
+ u = '';
+ typeof l == 'object' ? (u = l[0]) : (u = l), V.info('Label text abc79', u, l, typeof l == 'object');
+ let h = s.node().appendChild(ra(u, e.labelStyle, !0, !0)),
+ f = { width: 0, height: 0 };
+ if (yr(de().flowchart.htmlLabels)) {
+ let y = h.children[0],
+ v = $e(h);
+ (f = y.getBoundingClientRect()), v.attr('width', f.width), v.attr('height', f.height);
+ }
+ V.info('Text 2', l);
+ let d = l.slice(1, l.length),
+ p = h.getBBox(),
+ m = s.node().appendChild(ra(d.join ? d.join('
') : d, e.labelStyle, !0, !0));
+ if (yr(de().flowchart.htmlLabels)) {
+ let y = m.children[0],
+ v = $e(m);
+ (f = y.getBoundingClientRect()), v.attr('width', f.width), v.attr('height', f.height);
+ }
+ let g = e.padding / 2;
+ return (
+ $e(m).attr(
+ 'transform',
+ 'translate( ' +
+ (f.width > p.width ? 0 : (p.width - f.width) / 2) +
+ ', ' +
+ (p.height + g + 5) +
+ ')'
+ ),
+ $e(h).attr(
+ 'transform',
+ 'translate( ' + (f.width < p.width ? 0 : -(p.width - f.width) / 2) + ', 0)'
+ ),
+ (f = s.node().getBBox()),
+ s.attr('transform', 'translate(' + -f.width / 2 + ', ' + (-f.height / 2 - g + 3) + ')'),
+ i
+ .attr('class', 'outer title-state')
+ .attr('x', -f.width / 2 - g)
+ .attr('y', -f.height / 2 - g)
+ .attr('width', f.width + e.padding)
+ .attr('height', f.height + e.padding),
+ a
+ .attr('class', 'divider')
+ .attr('x1', -f.width / 2 - g)
+ .attr('x2', f.width / 2 + g)
+ .attr('y1', -f.height / 2 - g + p.height + g)
+ .attr('y2', -f.height / 2 - g + p.height + g),
+ kn(e, i),
+ (e.intersect = function (y) {
+ return Tn.rect(e, y);
+ }),
+ n
+ );
+ }, 'rectWithTitle')),
+ (sSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.height + e.padding,
+ a = n.width + i / 4 + e.padding,
+ s = r
+ .insert('rect', ':first-child')
+ .attr('style', e.style)
+ .attr('rx', i / 2)
+ .attr('ry', i / 2)
+ .attr('x', -a / 2)
+ .attr('y', -i / 2)
+ .attr('width', a)
+ .attr('height', i);
+ return (
+ kn(e, s),
+ (e.intersect = function (l) {
+ return Tn.rect(e, l);
+ }),
+ r
+ );
+ }, 'stadium')),
+ (oSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, no(e, void 0), !0),
+ a = r.insert('circle', ':first-child');
+ return (
+ a
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('r', n.width / 2 + i)
+ .attr('width', n.width + e.padding)
+ .attr('height', n.height + e.padding),
+ V.info('Circle main'),
+ kn(e, a),
+ (e.intersect = function (s) {
+ return V.info('Circle intersect', e, n.width / 2 + i, s), Tn.circle(e, n.width / 2 + i, s);
+ }),
+ r
+ );
+ }, 'circle')),
+ (lSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, no(e, void 0), !0),
+ a = 5,
+ s = r.insert('g', ':first-child'),
+ l = s.insert('circle'),
+ u = s.insert('circle');
+ return (
+ s.attr('class', e.class),
+ l
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('r', n.width / 2 + i + a)
+ .attr('width', n.width + e.padding + a * 2)
+ .attr('height', n.height + e.padding + a * 2),
+ u
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('r', n.width / 2 + i)
+ .attr('width', n.width + e.padding)
+ .attr('height', n.height + e.padding),
+ V.info('DoubleCircle main'),
+ kn(e, l),
+ (e.intersect = function (h) {
+ return (
+ V.info('DoubleCircle intersect', e, n.width / 2 + i + a, h),
+ Tn.circle(e, n.width / 2 + i + a, h)
+ );
+ }),
+ r
+ );
+ }, 'doublecircle')),
+ (cSe = o(async (t, e) => {
+ let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0),
+ i = n.width + e.padding,
+ a = n.height + e.padding,
+ s = [
+ { x: 0, y: 0 },
+ { x: i, y: 0 },
+ { x: i, y: -a },
+ { x: 0, y: -a },
+ { x: 0, y: 0 },
+ { x: -8, y: 0 },
+ { x: i + 8, y: 0 },
+ { x: i + 8, y: -a },
+ { x: -8, y: -a },
+ { x: -8, y: 0 }
+ ],
+ l = _l(r, i, a, s);
+ return (
+ l.attr('style', e.style),
+ kn(e, l),
+ (e.intersect = function (u) {
+ return Tn.polygon(e, s, u);
+ }),
+ r
+ );
+ }, 'subroutine')),
+ (uSe = o((t, e) => {
+ let r = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ n = r.insert('circle', ':first-child');
+ return (
+ n.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14),
+ kn(e, n),
+ (e.intersect = function (i) {
+ return Tn.circle(e, 7, i);
+ }),
+ r
+ );
+ }, 'start')),
+ (Oj = o((t, e, r) => {
+ let n = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ i = 70,
+ a = 10;
+ r === 'LR' && ((i = 10), (a = 70));
+ let s = n
+ .append('rect')
+ .attr('x', (-1 * i) / 2)
+ .attr('y', (-1 * a) / 2)
+ .attr('width', i)
+ .attr('height', a)
+ .attr('class', 'fork-join');
+ return (
+ kn(e, s),
+ (e.height = e.height + e.padding / 2),
+ (e.width = e.width + e.padding / 2),
+ (e.intersect = function (l) {
+ return Tn.rect(e, l);
+ }),
+ n
+ );
+ }, 'forkJoin')),
+ (hSe = o((t, e) => {
+ let r = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ n = r.insert('circle', ':first-child'),
+ i = r.insert('circle', ':first-child');
+ return (
+ i.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14),
+ n.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10),
+ kn(e, i),
+ (e.intersect = function (a) {
+ return Tn.circle(e, 7, a);
+ }),
+ r
+ );
+ }, 'end')),
+ (fSe = o((t, e) => {
+ let r = e.padding / 2,
+ n = 4,
+ i = 8,
+ a;
+ e.classes ? (a = 'node ' + e.classes) : (a = 'node default');
+ let s = t
+ .insert('g')
+ .attr('class', a)
+ .attr('id', e.domId || e.id),
+ l = s.insert('rect', ':first-child'),
+ u = s.insert('line'),
+ h = s.insert('line'),
+ f = 0,
+ d = n,
+ p = s.insert('g').attr('class', 'label'),
+ m = 0,
+ g = e.classData.annotations?.[0],
+ y = e.classData.annotations[0] ? '\xAB' + e.classData.annotations[0] + '\xBB' : '',
+ v = p.node().appendChild(ra(y, e.labelStyle, !0, !0)),
+ x = v.getBBox();
+ if (yr(de().flowchart.htmlLabels)) {
+ let A = v.children[0],
+ L = $e(v);
+ (x = A.getBoundingClientRect()), L.attr('width', x.width), L.attr('height', x.height);
+ }
+ e.classData.annotations[0] && ((d += x.height + n), (f += x.width));
+ let b = e.classData.label;
+ e.classData.type !== void 0 &&
+ e.classData.type !== '' &&
+ (de().flowchart.htmlLabels
+ ? (b += '<' + e.classData.type + '>')
+ : (b += '<' + e.classData.type + '>'));
+ let w = p.node().appendChild(ra(b, e.labelStyle, !0, !0));
+ $e(w).attr('class', 'classTitle');
+ let S = w.getBBox();
+ if (yr(de().flowchart.htmlLabels)) {
+ let A = w.children[0],
+ L = $e(w);
+ (S = A.getBoundingClientRect()), L.attr('width', S.width), L.attr('height', S.height);
+ }
+ (d += S.height + n), S.width > f && (f = S.width);
+ let T = [];
+ e.classData.members.forEach((A) => {
+ let L = A.getDisplayDetails(),
+ M = L.displayText;
+ de().flowchart.htmlLabels && (M = M.replace(//g, '>'));
+ let N = p.node().appendChild(ra(M, L.cssStyle ? L.cssStyle : e.labelStyle, !0, !0)),
+ k = N.getBBox();
+ if (yr(de().flowchart.htmlLabels)) {
+ let I = N.children[0],
+ C = $e(N);
+ (k = I.getBoundingClientRect()), C.attr('width', k.width), C.attr('height', k.height);
+ }
+ k.width > f && (f = k.width), (d += k.height + n), T.push(N);
+ }),
+ (d += i);
+ let E = [];
+ if (
+ (e.classData.methods.forEach((A) => {
+ let L = A.getDisplayDetails(),
+ M = L.displayText;
+ de().flowchart.htmlLabels && (M = M.replace(//g, '>'));
+ let N = p.node().appendChild(ra(M, L.cssStyle ? L.cssStyle : e.labelStyle, !0, !0)),
+ k = N.getBBox();
+ if (yr(de().flowchart.htmlLabels)) {
+ let I = N.children[0],
+ C = $e(N);
+ (k = I.getBoundingClientRect()), C.attr('width', k.width), C.attr('height', k.height);
+ }
+ k.width > f && (f = k.width), (d += k.height + n), E.push(N);
+ }),
+ (d += i),
+ g)
+ ) {
+ let A = (f - x.width) / 2;
+ $e(v).attr('transform', 'translate( ' + ((-1 * f) / 2 + A) + ', ' + (-1 * d) / 2 + ')'),
+ (m = x.height + n);
+ }
+ let _ = (f - S.width) / 2;
+ return (
+ $e(w).attr('transform', 'translate( ' + ((-1 * f) / 2 + _) + ', ' + ((-1 * d) / 2 + m) + ')'),
+ (m += S.height + n),
+ u
+ .attr('class', 'divider')
+ .attr('x1', -f / 2 - r)
+ .attr('x2', f / 2 + r)
+ .attr('y1', -d / 2 - r + i + m)
+ .attr('y2', -d / 2 - r + i + m),
+ (m += i),
+ T.forEach((A) => {
+ $e(A).attr('transform', 'translate( ' + -f / 2 + ', ' + ((-1 * d) / 2 + m + i / 2) + ')');
+ let L = A?.getBBox();
+ m += (L?.height ?? 0) + n;
+ }),
+ (m += i),
+ h
+ .attr('class', 'divider')
+ .attr('x1', -f / 2 - r)
+ .attr('x2', f / 2 + r)
+ .attr('y1', -d / 2 - r + i + m)
+ .attr('y2', -d / 2 - r + i + m),
+ (m += i),
+ E.forEach((A) => {
+ $e(A).attr('transform', 'translate( ' + -f / 2 + ', ' + ((-1 * d) / 2 + m) + ')');
+ let L = A?.getBBox();
+ m += (L?.height ?? 0) + n;
+ }),
+ l
+ .attr('style', e.style)
+ .attr('class', 'outer title-state')
+ .attr('x', -f / 2 - r)
+ .attr('y', -(d / 2) - r)
+ .attr('width', f + e.padding)
+ .attr('height', d + e.padding),
+ kn(e, l),
+ (e.intersect = function (A) {
+ return Tn.rect(e, A);
+ }),
+ s
+ );
+ }, 'class_box')),
+ (Pj = {
+ rhombus: Ij,
+ composite: nSe,
+ question: Ij,
+ rect: rSe,
+ labelRect: iSe,
+ rectWithTitle: aSe,
+ choice: W7e,
+ circle: oSe,
+ doublecircle: lSe,
+ stadium: sSe,
+ hexagon: q7e,
+ block_arrow: X7e,
+ rect_left_inv_arrow: j7e,
+ lean_right: K7e,
+ lean_left: Q7e,
+ trapezoid: Z7e,
+ inv_trapezoid: J7e,
+ rect_right_inv_arrow: eSe,
+ cylinder: tSe,
+ start: uSe,
+ end: hSe,
+ note: Rj,
+ subroutine: cSe,
+ fork: Oj,
+ join: Oj,
+ class_box: fSe
+ }),
+ (dm = {}),
+ (pm = o(async (t, e, r) => {
+ let n, i;
+ if (e.link) {
+ let a;
+ de().securityLevel === 'sandbox'
+ ? (a = '_top')
+ : e.linkTarget && (a = e.linkTarget || '_blank'),
+ (n = t.insert('svg:a').attr('xlink:href', e.link).attr('target', a)),
+ (i = await Pj[e.shape](n, e, r));
+ } else (i = await Pj[e.shape](t, e, r)), (n = i);
+ return (
+ e.tooltip && i.attr('title', e.tooltip),
+ e.class && i.attr('class', 'node default ' + e.class),
+ (dm[e.id] = n),
+ e.haveCallback && dm[e.id].attr('class', dm[e.id].attr('class') + ' clickable'),
+ n
+ );
+ }, 'insertNode')),
+ (Bj = o((t, e) => {
+ dm[e.id] = t;
+ }, 'setNodeElem')),
+ (Fj = o(() => {
+ dm = {};
+ }, 'clear')),
+ (wv = o((t) => {
+ let e = dm[t.id];
+ V.trace(
+ 'Transforming node',
+ t.diff,
+ t,
+ 'translate(' + (t.x - t.width / 2 - 5) + ', ' + t.width / 2 + ')'
+ );
+ let r = 8,
+ n = t.diff || 0;
+ return (
+ t.clusterNode
+ ? e.attr(
+ 'transform',
+ 'translate(' + (t.x + n - t.width / 2) + ', ' + (t.y - t.height / 2 - r) + ')'
+ )
+ : e.attr('transform', 'translate(' + t.x + ', ' + t.y + ')'),
+ n
+ );
+ }, 'positionNode'));
+ });
+ var I5,
+ L9 = R(() => {
+ 'use strict';
+ Zt();
+ M5();
+ I5 = o((t, e) => {
+ let r;
+ return (
+ e === 'sandbox' && (r = $e('#i' + t)),
+ (e === 'sandbox' ? $e(r.nodes()[0].contentDocument.body) : $e('body')).select(`[id="${t}"]`)
+ );
+ }, 'getDiagramElement');
+ });
+ var io,
+ _d = R(() => {
+ 'use strict';
+ io = o(({ flowchart: t }) => {
+ let e = t?.subGraphTitleMargin?.top ?? 0,
+ r = t?.subGraphTitleMargin?.bottom ?? 0,
+ n = e + r;
+ return {
+ subGraphTitleTopMargin: e,
+ subGraphTitleBottomMargin: r,
+ subGraphTitleTotalMargin: n
+ };
+ }, 'getSubGraphTitleMargins');
+ });
+ function D9(t, e, r) {
+ if (t && t.length) {
+ let [n, i] = e,
+ a = (Math.PI / 180) * r,
+ s = Math.cos(a),
+ l = Math.sin(a);
+ for (let u of t) {
+ let [h, f] = u;
+ (u[0] = (h - n) * s - (f - i) * l + n), (u[1] = (h - n) * l + (f - i) * s + i);
+ }
+ }
+ }
+ function dSe(t, e) {
+ return t[0] === e[0] && t[1] === e[1];
+ }
+ function pSe(t, e, r, n = 1) {
+ let i = r,
+ a = Math.max(e, 0.1),
+ s = t[0] && t[0][0] && typeof t[0][0] == 'number' ? [t] : t,
+ l = [0, 0];
+ if (i) for (let h of s) D9(h, l, i);
+ let u = (function (h, f, d) {
+ let p = [];
+ for (let b of h) {
+ let w = [...b];
+ dSe(w[0], w[w.length - 1]) || w.push([w[0][0], w[0][1]]), w.length > 2 && p.push(w);
+ }
+ let m = [];
+ f = Math.max(f, 0.1);
+ let g = [];
+ for (let b of p)
+ for (let w = 0; w < b.length - 1; w++) {
+ let S = b[w],
+ T = b[w + 1];
+ if (S[1] !== T[1]) {
+ let E = Math.min(S[1], T[1]);
+ g.push({
+ ymin: E,
+ ymax: Math.max(S[1], T[1]),
+ x: E === S[1] ? S[0] : T[0],
+ islope: (T[0] - S[0]) / (T[1] - S[1])
+ });
+ }
+ }
+ if (
+ (g.sort((b, w) =>
+ b.ymin < w.ymin
+ ? -1
+ : b.ymin > w.ymin
+ ? 1
+ : b.x < w.x
+ ? -1
+ : b.x > w.x
+ ? 1
+ : b.ymax === w.ymax
+ ? 0
+ : (b.ymax - w.ymax) / Math.abs(b.ymax - w.ymax)
+ ),
+ !g.length)
+ )
+ return m;
+ let y = [],
+ v = g[0].ymin,
+ x = 0;
+ for (; y.length || g.length; ) {
+ if (g.length) {
+ let b = -1;
+ for (let w = 0; w < g.length && !(g[w].ymin > v); w++) b = w;
+ g.splice(0, b + 1).forEach((w) => {
+ y.push({ s: v, edge: w });
+ });
+ }
+ if (
+ ((y = y.filter((b) => !(b.edge.ymax <= v))),
+ y.sort((b, w) =>
+ b.edge.x === w.edge.x ? 0 : (b.edge.x - w.edge.x) / Math.abs(b.edge.x - w.edge.x)
+ ),
+ (d !== 1 || x % f == 0) && y.length > 1)
+ )
+ for (let b = 0; b < y.length; b += 2) {
+ let w = b + 1;
+ if (w >= y.length) break;
+ let S = y[b].edge,
+ T = y[w].edge;
+ m.push([
+ [Math.round(S.x), v],
+ [Math.round(T.x), v]
+ ]);
+ }
+ (v += d),
+ y.forEach((b) => {
+ b.edge.x = b.edge.x + d * b.edge.islope;
+ }),
+ x++;
+ }
+ return m;
+ })(s, a, n);
+ if (i) {
+ for (let h of s) D9(h, l, -i);
+ (function (h, f, d) {
+ let p = [];
+ h.forEach((m) => p.push(...m)), D9(p, f, d);
+ })(u, l, -i);
+ }
+ return u;
+ }
+ function Cv(t, e) {
+ var r;
+ let n = e.hachureAngle + 90,
+ i = e.hachureGap;
+ i < 0 && (i = 4 * e.strokeWidth), (i = Math.round(Math.max(i, 0.1)));
+ let a = 1;
+ return (
+ e.roughness >= 1 &&
+ (((r = e.randomizer) === null || r === void 0 ? void 0 : r.next()) || Math.random()) > 0.7 &&
+ (a = i),
+ pSe(t, i, n, a || 1)
+ );
+ }
+ function U5(t) {
+ let e = t[0],
+ r = t[1];
+ return Math.sqrt(Math.pow(e[0] - r[0], 2) + Math.pow(e[1] - r[1], 2));
+ }
+ function N9(t, e) {
+ return t.type === e;
+ }
+ function W9(t) {
+ let e = [],
+ r = (function (s) {
+ let l = new Array();
+ for (; s !== ''; )
+ if (s.match(/^([ \t\r\n,]+)/)) s = s.substr(RegExp.$1.length);
+ else if (s.match(/^([aAcChHlLmMqQsStTvVzZ])/))
+ (l[l.length] = { type: mSe, text: RegExp.$1 }), (s = s.substr(RegExp.$1.length));
+ else {
+ if (!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/)) return [];
+ (l[l.length] = { type: R9, text: `${parseFloat(RegExp.$1)}` }),
+ (s = s.substr(RegExp.$1.length));
+ }
+ return (l[l.length] = { type: zj, text: '' }), l;
+ })(t),
+ n = 'BOD',
+ i = 0,
+ a = r[i];
+ for (; !N9(a, zj); ) {
+ let s = 0,
+ l = [];
+ if (n === 'BOD') {
+ if (a.text !== 'M' && a.text !== 'm') return W9('M0,0' + t);
+ i++, (s = O5[a.text]), (n = a.text);
+ } else N9(a, R9) ? (s = O5[n]) : (i++, (s = O5[a.text]), (n = a.text));
+ if (!(i + s < r.length)) throw new Error('Path data ended short');
+ for (let u = i; u < i + s; u++) {
+ let h = r[u];
+ if (!N9(h, R9)) throw new Error('Param not a number: ' + n + ',' + h.text);
+ l[l.length] = +h.text;
+ }
+ if (typeof O5[n] != 'number') throw new Error('Bad segment: ' + n);
+ {
+ let u = { key: n, data: l };
+ e.push(u), (i += s), (a = r[i]), n === 'M' && (n = 'L'), n === 'm' && (n = 'l');
+ }
+ }
+ return e;
+ }
+ function qj(t) {
+ let e = 0,
+ r = 0,
+ n = 0,
+ i = 0,
+ a = [];
+ for (let { key: s, data: l } of t)
+ switch (s) {
+ case 'M':
+ a.push({ key: 'M', data: [...l] }), ([e, r] = l), ([n, i] = l);
+ break;
+ case 'm':
+ (e += l[0]), (r += l[1]), a.push({ key: 'M', data: [e, r] }), (n = e), (i = r);
+ break;
+ case 'L':
+ a.push({ key: 'L', data: [...l] }), ([e, r] = l);
+ break;
+ case 'l':
+ (e += l[0]), (r += l[1]), a.push({ key: 'L', data: [e, r] });
+ break;
+ case 'C':
+ a.push({ key: 'C', data: [...l] }), (e = l[4]), (r = l[5]);
+ break;
+ case 'c': {
+ let u = l.map((h, f) => (f % 2 ? h + r : h + e));
+ a.push({ key: 'C', data: u }), (e = u[4]), (r = u[5]);
+ break;
+ }
+ case 'Q':
+ a.push({ key: 'Q', data: [...l] }), (e = l[2]), (r = l[3]);
+ break;
+ case 'q': {
+ let u = l.map((h, f) => (f % 2 ? h + r : h + e));
+ a.push({ key: 'Q', data: u }), (e = u[2]), (r = u[3]);
+ break;
+ }
+ case 'A':
+ a.push({ key: 'A', data: [...l] }), (e = l[5]), (r = l[6]);
+ break;
+ case 'a':
+ (e += l[5]), (r += l[6]), a.push({ key: 'A', data: [l[0], l[1], l[2], l[3], l[4], e, r] });
+ break;
+ case 'H':
+ a.push({ key: 'H', data: [...l] }), (e = l[0]);
+ break;
+ case 'h':
+ (e += l[0]), a.push({ key: 'H', data: [e] });
+ break;
+ case 'V':
+ a.push({ key: 'V', data: [...l] }), (r = l[0]);
+ break;
+ case 'v':
+ (r += l[0]), a.push({ key: 'V', data: [r] });
+ break;
+ case 'S':
+ a.push({ key: 'S', data: [...l] }), (e = l[2]), (r = l[3]);
+ break;
+ case 's': {
+ let u = l.map((h, f) => (f % 2 ? h + r : h + e));
+ a.push({ key: 'S', data: u }), (e = u[2]), (r = u[3]);
+ break;
+ }
+ case 'T':
+ a.push({ key: 'T', data: [...l] }), (e = l[0]), (r = l[1]);
+ break;
+ case 't':
+ (e += l[0]), (r += l[1]), a.push({ key: 'T', data: [e, r] });
+ break;
+ case 'Z':
+ case 'z':
+ a.push({ key: 'Z', data: [] }), (e = n), (r = i);
+ }
+ return a;
+ }
+ function Xj(t) {
+ let e = [],
+ r = '',
+ n = 0,
+ i = 0,
+ a = 0,
+ s = 0,
+ l = 0,
+ u = 0;
+ for (let { key: h, data: f } of t) {
+ switch (h) {
+ case 'M':
+ e.push({ key: 'M', data: [...f] }), ([n, i] = f), ([a, s] = f);
+ break;
+ case 'C':
+ e.push({ key: 'C', data: [...f] }), (n = f[4]), (i = f[5]), (l = f[2]), (u = f[3]);
+ break;
+ case 'L':
+ e.push({ key: 'L', data: [...f] }), ([n, i] = f);
+ break;
+ case 'H':
+ (n = f[0]), e.push({ key: 'L', data: [n, i] });
+ break;
+ case 'V':
+ (i = f[0]), e.push({ key: 'L', data: [n, i] });
+ break;
+ case 'S': {
+ let d = 0,
+ p = 0;
+ r === 'C' || r === 'S' ? ((d = n + (n - l)), (p = i + (i - u))) : ((d = n), (p = i)),
+ e.push({ key: 'C', data: [d, p, ...f] }),
+ (l = f[0]),
+ (u = f[1]),
+ (n = f[2]),
+ (i = f[3]);
+ break;
+ }
+ case 'T': {
+ let [d, p] = f,
+ m = 0,
+ g = 0;
+ r === 'Q' || r === 'T' ? ((m = n + (n - l)), (g = i + (i - u))) : ((m = n), (g = i));
+ let y = n + (2 * (m - n)) / 3,
+ v = i + (2 * (g - i)) / 3,
+ x = d + (2 * (m - d)) / 3,
+ b = p + (2 * (g - p)) / 3;
+ e.push({ key: 'C', data: [y, v, x, b, d, p] }), (l = m), (u = g), (n = d), (i = p);
+ break;
+ }
+ case 'Q': {
+ let [d, p, m, g] = f,
+ y = n + (2 * (d - n)) / 3,
+ v = i + (2 * (p - i)) / 3,
+ x = m + (2 * (d - m)) / 3,
+ b = g + (2 * (p - g)) / 3;
+ e.push({ key: 'C', data: [y, v, x, b, m, g] }), (l = d), (u = p), (n = m), (i = g);
+ break;
+ }
+ case 'A': {
+ let d = Math.abs(f[0]),
+ p = Math.abs(f[1]),
+ m = f[2],
+ g = f[3],
+ y = f[4],
+ v = f[5],
+ x = f[6];
+ d === 0 || p === 0
+ ? (e.push({ key: 'C', data: [n, i, v, x, v, x] }), (n = v), (i = x))
+ : (n !== v || i !== x) &&
+ (jj(n, i, v, x, d, p, m, g, y).forEach(function (b) {
+ e.push({ key: 'C', data: b });
+ }),
+ (n = v),
+ (i = x));
+ break;
+ }
+ case 'Z':
+ e.push({ key: 'Z', data: [] }), (n = a), (i = s);
+ }
+ r = h;
+ }
+ return e;
+ }
+ function Tv(t, e, r) {
+ return [t * Math.cos(r) - e * Math.sin(r), t * Math.sin(r) + e * Math.cos(r)];
+ }
+ function jj(t, e, r, n, i, a, s, l, u, h) {
+ let f = ((d = s), (Math.PI * d) / 180);
+ var d;
+ let p = [],
+ m = 0,
+ g = 0,
+ y = 0,
+ v = 0;
+ if (h) [m, g, y, v] = h;
+ else {
+ ([t, e] = Tv(t, e, -f)), ([r, n] = Tv(r, n, -f));
+ let I = (t - r) / 2,
+ C = (e - n) / 2,
+ O = (I * I) / (i * i) + (C * C) / (a * a);
+ O > 1 && ((O = Math.sqrt(O)), (i *= O), (a *= O));
+ let D = i * i,
+ P = a * a,
+ F = D * P - D * C * C - P * I * I,
+ B = D * C * C + P * I * I,
+ $ = (l === u ? -1 : 1) * Math.sqrt(Math.abs(F / B));
+ (y = ($ * i * C) / a + (t + r) / 2),
+ (v = ($ * -a * I) / i + (e + n) / 2),
+ (m = Math.asin(parseFloat(((e - v) / a).toFixed(9)))),
+ (g = Math.asin(parseFloat(((n - v) / a).toFixed(9)))),
+ t < y && (m = Math.PI - m),
+ r < y && (g = Math.PI - g),
+ m < 0 && (m = 2 * Math.PI + m),
+ g < 0 && (g = 2 * Math.PI + g),
+ u && m > g && (m -= 2 * Math.PI),
+ !u && g > m && (g -= 2 * Math.PI);
+ }
+ let x = g - m;
+ if (Math.abs(x) > (120 * Math.PI) / 180) {
+ let I = g,
+ C = r,
+ O = n;
+ (g = u && g > m ? m + ((120 * Math.PI) / 180) * 1 : m + ((120 * Math.PI) / 180) * -1),
+ (p = jj((r = y + i * Math.cos(g)), (n = v + a * Math.sin(g)), C, O, i, a, s, 0, u, [g, I, y, v]));
+ }
+ x = g - m;
+ let b = Math.cos(m),
+ w = Math.sin(m),
+ S = Math.cos(g),
+ T = Math.sin(g),
+ E = Math.tan(x / 4),
+ _ = (4 / 3) * i * E,
+ A = (4 / 3) * a * E,
+ L = [t, e],
+ M = [t + _ * w, e - A * b],
+ N = [r + _ * T, n - A * S],
+ k = [r, n];
+ if (((M[0] = 2 * L[0] - M[0]), (M[1] = 2 * L[1] - M[1]), h)) return [M, N, k].concat(p);
+ {
+ p = [M, N, k].concat(p);
+ let I = [];
+ for (let C = 0; C < p.length; C += 3) {
+ let O = Tv(p[C][0], p[C][1], f),
+ D = Tv(p[C + 1][0], p[C + 1][1], f),
+ P = Tv(p[C + 2][0], p[C + 2][1], f);
+ I.push([O[0], O[1], D[0], D[1], P[0], P[1]]);
+ }
+ return I;
+ }
+ }
+ function Kj(t, e, r, n, i) {
+ return { type: 'path', ops: Vh(t, e, r, n, i) };
+ }
+ function F5(t, e, r) {
+ let n = (t || []).length;
+ if (n > 2) {
+ let i = [];
+ for (let a = 0; a < n - 1; a++) i.push(...Vh(t[a][0], t[a][1], t[a + 1][0], t[a + 1][1], r));
+ return e && i.push(...Vh(t[n - 1][0], t[n - 1][1], t[0][0], t[0][1], r)), { type: 'path', ops: i };
+ }
+ return n === 2 ? Kj(t[0][0], t[0][1], t[1][0], t[1][1], r) : { type: 'path', ops: [] };
+ }
+ function ySe(t, e, r, n, i) {
+ return (function (a, s) {
+ return F5(a, !0, s);
+ })(
+ [
+ [t, e],
+ [t + r, e],
+ [t + r, e + n],
+ [t, e + n]
+ ],
+ i
+ );
+ }
+ function Gj(t, e) {
+ if (t.length) {
+ let r = typeof t[0][0] == 'number' ? [t] : t,
+ n = P5(r[0], 1 * (1 + 0.2 * e.roughness), e),
+ i = e.disableMultiStroke ? [] : P5(r[0], 1.5 * (1 + 0.22 * e.roughness), Uj(e));
+ for (let a = 1; a < r.length; a++) {
+ let s = r[a];
+ if (s.length) {
+ let l = P5(s, 1 * (1 + 0.2 * e.roughness), e),
+ u = e.disableMultiStroke ? [] : P5(s, 1.5 * (1 + 0.22 * e.roughness), Uj(e));
+ for (let h of l) h.op !== 'move' && n.push(h);
+ for (let h of u) h.op !== 'move' && i.push(h);
+ }
+ }
+ return { type: 'path', ops: n.concat(i) };
+ }
+ return { type: 'path', ops: [] };
+ }
+ function Qj(t, e, r) {
+ let n = Math.sqrt(2 * Math.PI * Math.sqrt((Math.pow(t / 2, 2) + Math.pow(e / 2, 2)) / 2)),
+ i = Math.ceil(Math.max(r.curveStepCount, (r.curveStepCount / Math.sqrt(200)) * n)),
+ a = (2 * Math.PI) / i,
+ s = Math.abs(t / 2),
+ l = Math.abs(e / 2),
+ u = 1 - r.curveFitting;
+ return (s += Yt(s * u, r)), (l += Yt(l * u, r)), { increment: a, rx: s, ry: l };
+ }
+ function $9(t, e, r, n) {
+ let [i, a] = Hj(n.increment, t, e, n.rx, n.ry, 1, n.increment * G5(0.1, G5(0.4, 1, r), r), r),
+ s = $5(i, null, r);
+ if (!r.disableMultiStroke && r.roughness !== 0) {
+ let [l] = Hj(n.increment, t, e, n.rx, n.ry, 1.5, 0, r),
+ u = $5(l, null, r);
+ s = s.concat(u);
+ }
+ return { estimatedPoints: a, opset: { type: 'path', ops: s } };
+ }
+ function $j(t, e, r, n, i, a, s, l, u) {
+ let h = t,
+ f = e,
+ d = Math.abs(r / 2),
+ p = Math.abs(n / 2);
+ (d += Yt(0.01 * d, u)), (p += Yt(0.01 * p, u));
+ let m = i,
+ g = a;
+ for (; m < 0; ) (m += 2 * Math.PI), (g += 2 * Math.PI);
+ g - m > 2 * Math.PI && ((m = 0), (g = 2 * Math.PI));
+ let y = (2 * Math.PI) / u.curveStepCount,
+ v = Math.min(y / 2, (g - m) / 2),
+ x = Yj(v, h, f, d, p, m, g, 1, u);
+ if (!u.disableMultiStroke) {
+ let b = Yj(v, h, f, d, p, m, g, 1.5, u);
+ x.push(...b);
+ }
+ return (
+ s &&
+ (l
+ ? x.push(
+ ...Vh(h, f, h + d * Math.cos(m), f + p * Math.sin(m), u),
+ ...Vh(h, f, h + d * Math.cos(g), f + p * Math.sin(g), u)
+ )
+ : x.push(
+ { op: 'lineTo', data: [h, f] },
+ {
+ op: 'lineTo',
+ data: [h + d * Math.cos(m), f + p * Math.sin(m)]
+ }
+ )),
+ { type: 'path', ops: x }
+ );
+ }
+ function Vj(t, e) {
+ let r = Xj(qj(W9(t))),
+ n = [],
+ i = [0, 0],
+ a = [0, 0];
+ for (let { key: s, data: l } of r)
+ switch (s) {
+ case 'M':
+ (a = [l[0], l[1]]), (i = [l[0], l[1]]);
+ break;
+ case 'L':
+ n.push(...Vh(a[0], a[1], l[0], l[1], e)), (a = [l[0], l[1]]);
+ break;
+ case 'C': {
+ let [u, h, f, d, p, m] = l;
+ n.push(...vSe(u, h, f, d, p, m, a, e)), (a = [p, m]);
+ break;
+ }
+ case 'Z':
+ n.push(...Vh(a[0], a[1], i[0], i[1], e)), (a = [i[0], i[1]]);
+ }
+ return { type: 'path', ops: n };
+ }
+ function M9(t, e) {
+ let r = [];
+ for (let n of t)
+ if (n.length) {
+ let i = e.maxRandomnessOffset || 0,
+ a = n.length;
+ if (a > 2) {
+ r.push({
+ op: 'move',
+ data: [n[0][0] + Yt(i, e), n[0][1] + Yt(i, e)]
+ });
+ for (let s = 1; s < a; s++)
+ r.push({
+ op: 'lineTo',
+ data: [n[s][0] + Yt(i, e), n[s][1] + Yt(i, e)]
+ });
+ }
+ }
+ return { type: 'fillPath', ops: r };
+ }
+ function mm(t, e) {
+ return (function (r, n) {
+ let i = r.fillStyle || 'hachure';
+ if (!Cs[i])
+ switch (i) {
+ case 'zigzag':
+ Cs[i] || (Cs[i] = new O9(n));
+ break;
+ case 'cross-hatch':
+ Cs[i] || (Cs[i] = new P9(n));
+ break;
+ case 'dots':
+ Cs[i] || (Cs[i] = new B9(n));
+ break;
+ case 'dashed':
+ Cs[i] || (Cs[i] = new F9(n));
+ break;
+ case 'zigzag-line':
+ Cs[i] || (Cs[i] = new z9(n));
+ break;
+ default:
+ (i = 'hachure'), Cs[i] || (Cs[i] = new Ev(n));
+ }
+ return Cs[i];
+ })(e, gSe).fillPolygons(t, e);
+ }
+ function Uj(t) {
+ let e = Object.assign({}, t);
+ return (e.randomizer = void 0), t.seed && (e.seed = t.seed + 1), e;
+ }
+ function Zj(t) {
+ return t.randomizer || (t.randomizer = new G9(t.seed || 0)), t.randomizer.next();
+ }
+ function G5(t, e, r, n = 1) {
+ return r.roughness * n * (Zj(r) * (e - t) + t);
+ }
+ function Yt(t, e, r = 1) {
+ return G5(-t, t, e, r);
+ }
+ function Vh(t, e, r, n, i, a = !1) {
+ let s = a ? i.disableMultiStrokeFill : i.disableMultiStroke,
+ l = V9(t, e, r, n, i, !0, !1);
+ if (s) return l;
+ let u = V9(t, e, r, n, i, !0, !0);
+ return l.concat(u);
+ }
+ function V9(t, e, r, n, i, a, s) {
+ let l = Math.pow(t - r, 2) + Math.pow(e - n, 2),
+ u = Math.sqrt(l),
+ h = 1;
+ h = u < 200 ? 1 : u > 500 ? 0.4 : -0.0016668 * u + 1.233334;
+ let f = i.maxRandomnessOffset || 0;
+ f * f * 100 > l && (f = u / 10);
+ let d = f / 2,
+ p = 0.2 + 0.2 * Zj(i),
+ m = (i.bowing * i.maxRandomnessOffset * (n - e)) / 200,
+ g = (i.bowing * i.maxRandomnessOffset * (t - r)) / 200;
+ (m = Yt(m, i, h)), (g = Yt(g, i, h));
+ let y = [],
+ v = o(() => Yt(d, i, h), 'M'),
+ x = o(() => Yt(f, i, h), 'k'),
+ b = i.preserveVertices;
+ return (
+ a &&
+ (s
+ ? y.push({ op: 'move', data: [t + (b ? 0 : v()), e + (b ? 0 : v())] })
+ : y.push({
+ op: 'move',
+ data: [t + (b ? 0 : Yt(f, i, h)), e + (b ? 0 : Yt(f, i, h))]
+ })),
+ s
+ ? y.push({
+ op: 'bcurveTo',
+ data: [
+ m + t + (r - t) * p + v(),
+ g + e + (n - e) * p + v(),
+ m + t + 2 * (r - t) * p + v(),
+ g + e + 2 * (n - e) * p + v(),
+ r + (b ? 0 : v()),
+ n + (b ? 0 : v())
+ ]
+ })
+ : y.push({
+ op: 'bcurveTo',
+ data: [
+ m + t + (r - t) * p + x(),
+ g + e + (n - e) * p + x(),
+ m + t + 2 * (r - t) * p + x(),
+ g + e + 2 * (n - e) * p + x(),
+ r + (b ? 0 : x()),
+ n + (b ? 0 : x())
+ ]
+ }),
+ y
+ );
+ }
+ function P5(t, e, r) {
+ if (!t.length) return [];
+ let n = [];
+ n.push([t[0][0] + Yt(e, r), t[0][1] + Yt(e, r)]), n.push([t[0][0] + Yt(e, r), t[0][1] + Yt(e, r)]);
+ for (let i = 1; i < t.length; i++)
+ n.push([t[i][0] + Yt(e, r), t[i][1] + Yt(e, r)]),
+ i === t.length - 1 && n.push([t[i][0] + Yt(e, r), t[i][1] + Yt(e, r)]);
+ return $5(n, null, r);
+ }
+ function $5(t, e, r) {
+ let n = t.length,
+ i = [];
+ if (n > 3) {
+ let a = [],
+ s = 1 - r.curveTightness;
+ i.push({ op: 'move', data: [t[1][0], t[1][1]] });
+ for (let l = 1; l + 2 < n; l++) {
+ let u = t[l];
+ (a[0] = [u[0], u[1]]),
+ (a[1] = [
+ u[0] + (s * t[l + 1][0] - s * t[l - 1][0]) / 6,
+ u[1] + (s * t[l + 1][1] - s * t[l - 1][1]) / 6
+ ]),
+ (a[2] = [
+ t[l + 1][0] + (s * t[l][0] - s * t[l + 2][0]) / 6,
+ t[l + 1][1] + (s * t[l][1] - s * t[l + 2][1]) / 6
+ ]),
+ (a[3] = [t[l + 1][0], t[l + 1][1]]),
+ i.push({
+ op: 'bcurveTo',
+ data: [a[1][0], a[1][1], a[2][0], a[2][1], a[3][0], a[3][1]]
+ });
+ }
+ if (e && e.length === 2) {
+ let l = r.maxRandomnessOffset;
+ i.push({ op: 'lineTo', data: [e[0] + Yt(l, r), e[1] + Yt(l, r)] });
+ }
+ } else
+ n === 3
+ ? (i.push({ op: 'move', data: [t[1][0], t[1][1]] }),
+ i.push({
+ op: 'bcurveTo',
+ data: [t[1][0], t[1][1], t[2][0], t[2][1], t[2][0], t[2][1]]
+ }))
+ : n === 2 && i.push(...V9(t[0][0], t[0][1], t[1][0], t[1][1], r, !0, !0));
+ return i;
+ }
+ function Hj(t, e, r, n, i, a, s, l) {
+ let u = [],
+ h = [];
+ if (l.roughness === 0) {
+ (t /= 4), h.push([e + n * Math.cos(-t), r + i * Math.sin(-t)]);
+ for (let f = 0; f <= 2 * Math.PI; f += t) {
+ let d = [e + n * Math.cos(f), r + i * Math.sin(f)];
+ u.push(d), h.push(d);
+ }
+ h.push([e + n * Math.cos(0), r + i * Math.sin(0)]), h.push([e + n * Math.cos(t), r + i * Math.sin(t)]);
+ } else {
+ let f = Yt(0.5, l) - Math.PI / 2;
+ h.push([Yt(a, l) + e + 0.9 * n * Math.cos(f - t), Yt(a, l) + r + 0.9 * i * Math.sin(f - t)]);
+ let d = 2 * Math.PI + f - 0.01;
+ for (let p = f; p < d; p += t) {
+ let m = [Yt(a, l) + e + n * Math.cos(p), Yt(a, l) + r + i * Math.sin(p)];
+ u.push(m), h.push(m);
+ }
+ h.push([
+ Yt(a, l) + e + n * Math.cos(f + 2 * Math.PI + 0.5 * s),
+ Yt(a, l) + r + i * Math.sin(f + 2 * Math.PI + 0.5 * s)
+ ]),
+ h.push([Yt(a, l) + e + 0.98 * n * Math.cos(f + s), Yt(a, l) + r + 0.98 * i * Math.sin(f + s)]),
+ h.push([
+ Yt(a, l) + e + 0.9 * n * Math.cos(f + 0.5 * s),
+ Yt(a, l) + r + 0.9 * i * Math.sin(f + 0.5 * s)
+ ]);
+ }
+ return [h, u];
+ }
+ function Yj(t, e, r, n, i, a, s, l, u) {
+ let h = a + Yt(0.1, u),
+ f = [];
+ f.push([Yt(l, u) + e + 0.9 * n * Math.cos(h - t), Yt(l, u) + r + 0.9 * i * Math.sin(h - t)]);
+ for (let d = h; d <= s; d += t) f.push([Yt(l, u) + e + n * Math.cos(d), Yt(l, u) + r + i * Math.sin(d)]);
+ return (
+ f.push([e + n * Math.cos(s), r + i * Math.sin(s)]),
+ f.push([e + n * Math.cos(s), r + i * Math.sin(s)]),
+ $5(f, null, u)
+ );
+ }
+ function vSe(t, e, r, n, i, a, s, l) {
+ let u = [],
+ h = [l.maxRandomnessOffset || 1, (l.maxRandomnessOffset || 1) + 0.3],
+ f = [0, 0],
+ d = l.disableMultiStroke ? 1 : 2,
+ p = l.preserveVertices;
+ for (let m = 0; m < d; m++)
+ m === 0
+ ? u.push({ op: 'move', data: [s[0], s[1]] })
+ : u.push({
+ op: 'move',
+ data: [s[0] + (p ? 0 : Yt(h[0], l)), s[1] + (p ? 0 : Yt(h[0], l))]
+ }),
+ (f = p ? [i, a] : [i + Yt(h[m], l), a + Yt(h[m], l)]),
+ u.push({
+ op: 'bcurveTo',
+ data: [t + Yt(h[m], l), e + Yt(h[m], l), r + Yt(h[m], l), n + Yt(h[m], l), f[0], f[1]]
+ });
+ return u;
+ }
+ function kv(t) {
+ return [...t];
+ }
+ function Wj(t, e = 0) {
+ let r = t.length;
+ if (r < 3) throw new Error('A curve must have at least three points.');
+ let n = [];
+ if (r === 3) n.push(kv(t[0]), kv(t[1]), kv(t[2]), kv(t[2]));
+ else {
+ let i = [];
+ i.push(t[0], t[0]);
+ for (let l = 1; l < t.length; l++) i.push(t[l]), l === t.length - 1 && i.push(t[l]);
+ let a = [],
+ s = 1 - e;
+ n.push(kv(i[0]));
+ for (let l = 1; l + 2 < i.length; l++) {
+ let u = i[l];
+ (a[0] = [u[0], u[1]]),
+ (a[1] = [
+ u[0] + (s * i[l + 1][0] - s * i[l - 1][0]) / 6,
+ u[1] + (s * i[l + 1][1] - s * i[l - 1][1]) / 6
+ ]),
+ (a[2] = [
+ i[l + 1][0] + (s * i[l][0] - s * i[l + 2][0]) / 6,
+ i[l + 1][1] + (s * i[l][1] - s * i[l + 2][1]) / 6
+ ]),
+ (a[3] = [i[l + 1][0], i[l + 1][1]]),
+ n.push(a[1], a[2], a[3]);
+ }
+ }
+ return n;
+ }
+ function z5(t, e) {
+ return Math.pow(t[0] - e[0], 2) + Math.pow(t[1] - e[1], 2);
+ }
+ function xSe(t, e, r) {
+ let n = z5(e, r);
+ if (n === 0) return z5(t, e);
+ let i = ((t[0] - e[0]) * (r[0] - e[0]) + (t[1] - e[1]) * (r[1] - e[1])) / n;
+ return (i = Math.max(0, Math.min(1, i))), z5(t, Ld(e, r, i));
+ }
+ function Ld(t, e, r) {
+ return [t[0] + (e[0] - t[0]) * r, t[1] + (e[1] - t[1]) * r];
+ }
+ function U9(t, e, r, n) {
+ let i = n || [];
+ if (
+ (function (l, u) {
+ let h = l[u + 0],
+ f = l[u + 1],
+ d = l[u + 2],
+ p = l[u + 3],
+ m = 3 * f[0] - 2 * h[0] - p[0];
+ m *= m;
+ let g = 3 * f[1] - 2 * h[1] - p[1];
+ g *= g;
+ let y = 3 * d[0] - 2 * p[0] - h[0];
+ y *= y;
+ let v = 3 * d[1] - 2 * p[1] - h[1];
+ return (v *= v), m < y && (m = y), g < v && (g = v), m + g;
+ })(t, e) < r
+ ) {
+ let l = t[e + 0];
+ i.length ? ((a = i[i.length - 1]), (s = l), Math.sqrt(z5(a, s)) > 1 && i.push(l)) : i.push(l),
+ i.push(t[e + 3]);
+ } else {
+ let u = t[e + 0],
+ h = t[e + 1],
+ f = t[e + 2],
+ d = t[e + 3],
+ p = Ld(u, h, 0.5),
+ m = Ld(h, f, 0.5),
+ g = Ld(f, d, 0.5),
+ y = Ld(p, m, 0.5),
+ v = Ld(m, g, 0.5),
+ x = Ld(y, v, 0.5);
+ U9([u, p, y, x], 0, r, i), U9([x, v, g, d], 0, r, i);
+ }
+ var a, s;
+ return i;
+ }
+ function bSe(t, e) {
+ return V5(t, 0, t.length, e);
+ }
+ function V5(t, e, r, n, i) {
+ let a = i || [],
+ s = t[e],
+ l = t[r - 1],
+ u = 0,
+ h = 1;
+ for (let f = e + 1; f < r - 1; ++f) {
+ let d = xSe(t[f], s, l);
+ d > u && ((u = d), (h = f));
+ }
+ return Math.sqrt(u) > n ? (V5(t, e, h + 1, n, a), V5(t, h, r, n, a)) : (a.length || a.push(s), a.push(l)), a;
+ }
+ function I9(t, e = 0.15, r) {
+ let n = [],
+ i = (t.length - 1) / 3;
+ for (let a = 0; a < i; a++) U9(t, 3 * a, e, n);
+ return r && r > 0 ? V5(n, 0, n.length, r) : n;
+ }
+ var Ev,
+ O9,
+ P9,
+ B9,
+ F9,
+ z9,
+ Cs,
+ G9,
+ mSe,
+ R9,
+ zj,
+ O5,
+ gSe,
+ ao,
+ gm,
+ H9,
+ B5,
+ Y9,
+ Jt,
+ ti = R(() => {
+ 'use strict';
+ o(D9, 't');
+ o(dSe, 'e');
+ o(pSe, 's');
+ o(Cv, 'n');
+ Ev = class {
+ static {
+ o(this, 'o');
+ }
+ constructor(e) {
+ this.helper = e;
+ }
+ fillPolygons(e, r) {
+ return this._fillPolygons(e, r);
+ }
+ _fillPolygons(e, r) {
+ let n = Cv(e, r);
+ return { type: 'fillSketch', ops: this.renderLines(n, r) };
+ }
+ renderLines(e, r) {
+ let n = [];
+ for (let i of e) n.push(...this.helper.doubleLineOps(i[0][0], i[0][1], i[1][0], i[1][1], r));
+ return n;
+ }
+ };
+ o(U5, 'a');
+ (O9 = class extends Ev {
+ static {
+ o(this, 'h');
+ }
+ fillPolygons(e, r) {
+ let n = r.hachureGap;
+ n < 0 && (n = 4 * r.strokeWidth), (n = Math.max(n, 0.1));
+ let i = Cv(e, Object.assign({}, r, { hachureGap: n })),
+ a = (Math.PI / 180) * r.hachureAngle,
+ s = [],
+ l = 0.5 * n * Math.cos(a),
+ u = 0.5 * n * Math.sin(a);
+ for (let [h, f] of i)
+ U5([h, f]) && s.push([[h[0] - l, h[1] + u], [...f]], [[h[0] + l, h[1] - u], [...f]]);
+ return { type: 'fillSketch', ops: this.renderLines(s, r) };
+ }
+ }),
+ (P9 = class extends Ev {
+ static {
+ o(this, 'r');
+ }
+ fillPolygons(e, r) {
+ let n = this._fillPolygons(e, r),
+ i = Object.assign({}, r, { hachureAngle: r.hachureAngle + 90 }),
+ a = this._fillPolygons(e, i);
+ return (n.ops = n.ops.concat(a.ops)), n;
+ }
+ }),
+ (B9 = class {
+ static {
+ o(this, 'i');
+ }
+ constructor(e) {
+ this.helper = e;
+ }
+ fillPolygons(e, r) {
+ let n = Cv(e, (r = Object.assign({}, r, { hachureAngle: 0 })));
+ return this.dotsOnLines(n, r);
+ }
+ dotsOnLines(e, r) {
+ let n = [],
+ i = r.hachureGap;
+ i < 0 && (i = 4 * r.strokeWidth), (i = Math.max(i, 0.1));
+ let a = r.fillWeight;
+ a < 0 && (a = r.strokeWidth / 2);
+ let s = i / 4;
+ for (let l of e) {
+ let u = U5(l),
+ h = u / i,
+ f = Math.ceil(h) - 1,
+ d = u - f * i,
+ p = (l[0][0] + l[1][0]) / 2 - i / 4,
+ m = Math.min(l[0][1], l[1][1]);
+ for (let g = 0; g < f; g++) {
+ let y = m + d + g * i,
+ v = p - s + 2 * Math.random() * s,
+ x = y - s + 2 * Math.random() * s,
+ b = this.helper.ellipse(v, x, a, a, r);
+ n.push(...b.ops);
+ }
+ }
+ return { type: 'fillSketch', ops: n };
+ }
+ }),
+ (F9 = class {
+ static {
+ o(this, 'c');
+ }
+ constructor(e) {
+ this.helper = e;
+ }
+ fillPolygons(e, r) {
+ let n = Cv(e, r);
+ return { type: 'fillSketch', ops: this.dashedLine(n, r) };
+ }
+ dashedLine(e, r) {
+ let n = r.dashOffset < 0 ? (r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap) : r.dashOffset,
+ i = r.dashGap < 0 ? (r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap) : r.dashGap,
+ a = [];
+ return (
+ e.forEach((s) => {
+ let l = U5(s),
+ u = Math.floor(l / (n + i)),
+ h = (l + i - u * (n + i)) / 2,
+ f = s[0],
+ d = s[1];
+ f[0] > d[0] && ((f = s[1]), (d = s[0]));
+ let p = Math.atan((d[1] - f[1]) / (d[0] - f[0]));
+ for (let m = 0; m < u; m++) {
+ let g = m * (n + i),
+ y = g + n,
+ v = [
+ f[0] + g * Math.cos(p) + h * Math.cos(p),
+ f[1] + g * Math.sin(p) + h * Math.sin(p)
+ ],
+ x = [
+ f[0] + y * Math.cos(p) + h * Math.cos(p),
+ f[1] + y * Math.sin(p) + h * Math.sin(p)
+ ];
+ a.push(...this.helper.doubleLineOps(v[0], v[1], x[0], x[1], r));
+ }
+ }),
+ a
+ );
+ }
+ }),
+ (z9 = class {
+ static {
+ o(this, 'l');
+ }
+ constructor(e) {
+ this.helper = e;
+ }
+ fillPolygons(e, r) {
+ let n = r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap,
+ i = r.zigzagOffset < 0 ? n : r.zigzagOffset,
+ a = Cv(e, (r = Object.assign({}, r, { hachureGap: n + i })));
+ return { type: 'fillSketch', ops: this.zigzagLines(a, i, r) };
+ }
+ zigzagLines(e, r, n) {
+ let i = [];
+ return (
+ e.forEach((a) => {
+ let s = U5(a),
+ l = Math.round(s / (2 * r)),
+ u = a[0],
+ h = a[1];
+ u[0] > h[0] && ((u = a[1]), (h = a[0]));
+ let f = Math.atan((h[1] - u[1]) / (h[0] - u[0]));
+ for (let d = 0; d < l; d++) {
+ let p = 2 * d * r,
+ m = 2 * (d + 1) * r,
+ g = Math.sqrt(2 * Math.pow(r, 2)),
+ y = [u[0] + p * Math.cos(f), u[1] + p * Math.sin(f)],
+ v = [u[0] + m * Math.cos(f), u[1] + m * Math.sin(f)],
+ x = [
+ y[0] + g * Math.cos(f + Math.PI / 4),
+ y[1] + g * Math.sin(f + Math.PI / 4)
+ ];
+ i.push(
+ ...this.helper.doubleLineOps(y[0], y[1], x[0], x[1], n),
+ ...this.helper.doubleLineOps(x[0], x[1], v[0], v[1], n)
+ );
+ }
+ }),
+ i
+ );
+ }
+ }),
+ (Cs = {}),
+ (G9 = class {
+ static {
+ o(this, 'p');
+ }
+ constructor(e) {
+ this.seed = e;
+ }
+ next() {
+ return this.seed
+ ? ((2 ** 31 - 1) & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31
+ : Math.random();
+ }
+ }),
+ (mSe = 0),
+ (R9 = 1),
+ (zj = 2),
+ (O5 = {
+ A: 7,
+ a: 7,
+ C: 6,
+ c: 6,
+ H: 1,
+ h: 1,
+ L: 2,
+ l: 2,
+ M: 2,
+ m: 2,
+ Q: 4,
+ q: 4,
+ S: 4,
+ s: 4,
+ T: 2,
+ t: 2,
+ V: 1,
+ v: 1,
+ Z: 0,
+ z: 0
+ });
+ o(N9, 'k');
+ o(W9, 'b');
+ o(qj, 'y');
+ o(Xj, 'm');
+ o(Tv, 'w');
+ o(jj, 'x');
+ gSe = {
+ randOffset: o(function (t, e) {
+ return Yt(t, e);
+ }, 'randOffset'),
+ randOffsetWithRange: o(function (t, e, r) {
+ return G5(t, e, r);
+ }, 'randOffsetWithRange'),
+ ellipse: o(function (t, e, r, n, i) {
+ let a = Qj(r, n, i);
+ return $9(t, e, i, a).opset;
+ }, 'ellipse'),
+ doubleLineOps: o(function (t, e, r, n, i) {
+ return Vh(t, e, r, n, i, !0);
+ }, 'doubleLineOps')
+ };
+ o(Kj, 'v');
+ o(F5, 'S');
+ o(ySe, 'O');
+ o(Gj, 'L');
+ o(Qj, 'T');
+ o($9, 'D');
+ o($j, 'A');
+ o(Vj, '_');
+ o(M9, 'I');
+ o(mm, 'C');
+ o(Uj, 'z');
+ o(Zj, 'W');
+ o(G5, 'E');
+ o(Yt, 'G');
+ o(Vh, '$');
+ o(V9, 'R');
+ o(P5, 'j');
+ o($5, 'q');
+ o(Hj, 'F');
+ o(Yj, 'V');
+ o(vSe, 'Z');
+ o(kv, 'Q');
+ o(Wj, 'H');
+ o(z5, 'N');
+ o(xSe, 'B');
+ o(Ld, 'J');
+ o(U9, 'K');
+ o(bSe, 'U');
+ o(V5, 'X');
+ o(I9, 'Y');
+ (ao = 'none'),
+ (gm = class {
+ static {
+ o(this, 'et');
+ }
+ constructor(e) {
+ (this.defaultOptions = {
+ maxRandomnessOffset: 2,
+ roughness: 1,
+ bowing: 1,
+ stroke: '#000',
+ strokeWidth: 1,
+ curveTightness: 0,
+ curveFitting: 0.95,
+ curveStepCount: 9,
+ fillStyle: 'hachure',
+ fillWeight: -1,
+ hachureAngle: -41,
+ hachureGap: -1,
+ dashOffset: -1,
+ dashGap: -1,
+ zigzagOffset: -1,
+ seed: 0,
+ disableMultiStroke: !1,
+ disableMultiStrokeFill: !1,
+ preserveVertices: !1,
+ fillShapeRoughnessGain: 0.8
+ }),
+ (this.config = e || {}),
+ this.config.options && (this.defaultOptions = this._o(this.config.options));
+ }
+ static newSeed() {
+ return Math.floor(Math.random() * 2 ** 31);
+ }
+ _o(e) {
+ return e ? Object.assign({}, this.defaultOptions, e) : this.defaultOptions;
+ }
+ _d(e, r, n) {
+ return {
+ shape: e,
+ sets: r || [],
+ options: n || this.defaultOptions
+ };
+ }
+ line(e, r, n, i, a) {
+ let s = this._o(a);
+ return this._d('line', [Kj(e, r, n, i, s)], s);
+ }
+ rectangle(e, r, n, i, a) {
+ let s = this._o(a),
+ l = [],
+ u = ySe(e, r, n, i, s);
+ if (s.fill) {
+ let h = [
+ [e, r],
+ [e + n, r],
+ [e + n, r + i],
+ [e, r + i]
+ ];
+ s.fillStyle === 'solid' ? l.push(M9([h], s)) : l.push(mm([h], s));
+ }
+ return s.stroke !== ao && l.push(u), this._d('rectangle', l, s);
+ }
+ ellipse(e, r, n, i, a) {
+ let s = this._o(a),
+ l = [],
+ u = Qj(n, i, s),
+ h = $9(e, r, s, u);
+ if (s.fill)
+ if (s.fillStyle === 'solid') {
+ let f = $9(e, r, s, u).opset;
+ (f.type = 'fillPath'), l.push(f);
+ } else l.push(mm([h.estimatedPoints], s));
+ return s.stroke !== ao && l.push(h.opset), this._d('ellipse', l, s);
+ }
+ circle(e, r, n, i) {
+ let a = this.ellipse(e, r, n, n, i);
+ return (a.shape = 'circle'), a;
+ }
+ linearPath(e, r) {
+ let n = this._o(r);
+ return this._d('linearPath', [F5(e, !1, n)], n);
+ }
+ arc(e, r, n, i, a, s, l = !1, u) {
+ let h = this._o(u),
+ f = [],
+ d = $j(e, r, n, i, a, s, l, !0, h);
+ if (l && h.fill)
+ if (h.fillStyle === 'solid') {
+ let p = Object.assign({}, h);
+ p.disableMultiStroke = !0;
+ let m = $j(e, r, n, i, a, s, !0, !1, p);
+ (m.type = 'fillPath'), f.push(m);
+ } else
+ f.push(
+ (function (p, m, g, y, v, x, b) {
+ let w = p,
+ S = m,
+ T = Math.abs(g / 2),
+ E = Math.abs(y / 2);
+ (T += Yt(0.01 * T, b)), (E += Yt(0.01 * E, b));
+ let _ = v,
+ A = x;
+ for (; _ < 0; ) (_ += 2 * Math.PI), (A += 2 * Math.PI);
+ A - _ > 2 * Math.PI && ((_ = 0), (A = 2 * Math.PI));
+ let L = (A - _) / b.curveStepCount,
+ M = [];
+ for (let N = _; N <= A; N += L)
+ M.push([w + T * Math.cos(N), S + E * Math.sin(N)]);
+ return (
+ M.push([w + T * Math.cos(A), S + E * Math.sin(A)]),
+ M.push([w, S]),
+ mm([M], b)
+ );
+ })(e, r, n, i, a, s, h)
+ );
+ return h.stroke !== ao && f.push(d), this._d('arc', f, h);
+ }
+ curve(e, r) {
+ let n = this._o(r),
+ i = [],
+ a = Gj(e, n);
+ if (n.fill && n.fill !== ao)
+ if (n.fillStyle === 'solid') {
+ let s = Gj(
+ e,
+ Object.assign(Object.assign({}, n), {
+ disableMultiStroke: !0,
+ roughness: n.roughness ? n.roughness + n.fillShapeRoughnessGain : 0
+ })
+ );
+ i.push({ type: 'fillPath', ops: this._mergedShape(s.ops) });
+ } else {
+ let s = [],
+ l = e;
+ if (l.length) {
+ let u = typeof l[0][0] == 'number' ? [l] : l;
+ for (let h of u)
+ h.length < 3
+ ? s.push(...h)
+ : h.length === 3
+ ? s.push(...I9(Wj([h[0], h[0], h[1], h[2]]), 10, (1 + n.roughness) / 2))
+ : s.push(...I9(Wj(h), 10, (1 + n.roughness) / 2));
+ }
+ s.length && i.push(mm([s], n));
+ }
+ return n.stroke !== ao && i.push(a), this._d('curve', i, n);
+ }
+ polygon(e, r) {
+ let n = this._o(r),
+ i = [],
+ a = F5(e, !0, n);
+ return (
+ n.fill && (n.fillStyle === 'solid' ? i.push(M9([e], n)) : i.push(mm([e], n))),
+ n.stroke !== ao && i.push(a),
+ this._d('polygon', i, n)
+ );
+ }
+ path(e, r) {
+ let n = this._o(r),
+ i = [];
+ if (!e) return this._d('path', i, n);
+ e = (e || '').replace(/\n/g, ' ').replace(/(-\s)/g, '-').replace('/(ss)/g', ' ');
+ let a = n.fill && n.fill !== 'transparent' && n.fill !== ao,
+ s = n.stroke !== ao,
+ l = !!(n.simplification && n.simplification < 1),
+ u = (function (f, d, p) {
+ let m = Xj(qj(W9(f))),
+ g = [],
+ y = [],
+ v = [0, 0],
+ x = [],
+ b = o(() => {
+ x.length >= 4 && y.push(...I9(x, d)), (x = []);
+ }, 'i'),
+ w = o(() => {
+ b(), y.length && (g.push(y), (y = []));
+ }, 'c');
+ for (let { key: T, data: E } of m)
+ switch (T) {
+ case 'M':
+ w(), (v = [E[0], E[1]]), y.push(v);
+ break;
+ case 'L':
+ b(), y.push([E[0], E[1]]);
+ break;
+ case 'C':
+ if (!x.length) {
+ let _ = y.length ? y[y.length - 1] : v;
+ x.push([_[0], _[1]]);
+ }
+ x.push([E[0], E[1]]), x.push([E[2], E[3]]), x.push([E[4], E[5]]);
+ break;
+ case 'Z':
+ b(), y.push([v[0], v[1]]);
+ }
+ if ((w(), !p)) return g;
+ let S = [];
+ for (let T of g) {
+ let E = bSe(T, p);
+ E.length && S.push(E);
+ }
+ return S;
+ })(e, 1, l ? 4 - 4 * (n.simplification || 1) : (1 + n.roughness) / 2),
+ h = Vj(e, n);
+ if (a)
+ if (n.fillStyle === 'solid')
+ if (u.length === 1) {
+ let f = Vj(
+ e,
+ Object.assign(Object.assign({}, n), {
+ disableMultiStroke: !0,
+ roughness: n.roughness ? n.roughness + n.fillShapeRoughnessGain : 0
+ })
+ );
+ i.push({ type: 'fillPath', ops: this._mergedShape(f.ops) });
+ } else i.push(M9(u, n));
+ else i.push(mm(u, n));
+ return (
+ s &&
+ (l
+ ? u.forEach((f) => {
+ i.push(F5(f, !1, n));
+ })
+ : i.push(h)),
+ this._d('path', i, n)
+ );
+ }
+ opsToPath(e, r) {
+ let n = '';
+ for (let i of e.ops) {
+ let a = typeof r == 'number' && r >= 0 ? i.data.map((s) => +s.toFixed(r)) : i.data;
+ switch (i.op) {
+ case 'move':
+ n += `M${a[0]} ${a[1]} `;
+ break;
+ case 'bcurveTo':
+ n += `C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;
+ break;
+ case 'lineTo':
+ n += `L${a[0]} ${a[1]} `;
+ }
+ }
+ return n.trim();
+ }
+ toPaths(e) {
+ let r = e.sets || [],
+ n = e.options || this.defaultOptions,
+ i = [];
+ for (let a of r) {
+ let s = null;
+ switch (a.type) {
+ case 'path':
+ s = {
+ d: this.opsToPath(a),
+ stroke: n.stroke,
+ strokeWidth: n.strokeWidth,
+ fill: ao
+ };
+ break;
+ case 'fillPath':
+ s = {
+ d: this.opsToPath(a),
+ stroke: ao,
+ strokeWidth: 0,
+ fill: n.fill || ao
+ };
+ break;
+ case 'fillSketch':
+ s = this.fillSketch(a, n);
+ }
+ s && i.push(s);
+ }
+ return i;
+ }
+ fillSketch(e, r) {
+ let n = r.fillWeight;
+ return (
+ n < 0 && (n = r.strokeWidth / 2),
+ {
+ d: this.opsToPath(e),
+ stroke: r.fill || ao,
+ strokeWidth: n,
+ fill: ao
+ }
+ );
+ }
+ _mergedShape(e) {
+ return e.filter((r, n) => n === 0 || r.op !== 'move');
+ }
+ }),
+ (H9 = class {
+ static {
+ o(this, 'st');
+ }
+ constructor(e, r) {
+ (this.canvas = e), (this.ctx = this.canvas.getContext('2d')), (this.gen = new gm(r));
+ }
+ draw(e) {
+ let r = e.sets || [],
+ n = e.options || this.getDefaultOptions(),
+ i = this.ctx,
+ a = e.options.fixedDecimalPlaceDigits;
+ for (let s of r)
+ switch (s.type) {
+ case 'path':
+ i.save(),
+ (i.strokeStyle = n.stroke === 'none' ? 'transparent' : n.stroke),
+ (i.lineWidth = n.strokeWidth),
+ n.strokeLineDash && i.setLineDash(n.strokeLineDash),
+ n.strokeLineDashOffset && (i.lineDashOffset = n.strokeLineDashOffset),
+ this._drawToContext(i, s, a),
+ i.restore();
+ break;
+ case 'fillPath': {
+ i.save(), (i.fillStyle = n.fill || '');
+ let l =
+ e.shape === 'curve' || e.shape === 'polygon' || e.shape === 'path'
+ ? 'evenodd'
+ : 'nonzero';
+ this._drawToContext(i, s, a, l), i.restore();
+ break;
+ }
+ case 'fillSketch':
+ this.fillSketch(i, s, n);
+ }
+ }
+ fillSketch(e, r, n) {
+ let i = n.fillWeight;
+ i < 0 && (i = n.strokeWidth / 2),
+ e.save(),
+ n.fillLineDash && e.setLineDash(n.fillLineDash),
+ n.fillLineDashOffset && (e.lineDashOffset = n.fillLineDashOffset),
+ (e.strokeStyle = n.fill || ''),
+ (e.lineWidth = i),
+ this._drawToContext(e, r, n.fixedDecimalPlaceDigits),
+ e.restore();
+ }
+ _drawToContext(e, r, n, i = 'nonzero') {
+ e.beginPath();
+ for (let a of r.ops) {
+ let s = typeof n == 'number' && n >= 0 ? a.data.map((l) => +l.toFixed(n)) : a.data;
+ switch (a.op) {
+ case 'move':
+ e.moveTo(s[0], s[1]);
+ break;
+ case 'bcurveTo':
+ e.bezierCurveTo(s[0], s[1], s[2], s[3], s[4], s[5]);
+ break;
+ case 'lineTo':
+ e.lineTo(s[0], s[1]);
+ }
+ }
+ r.type === 'fillPath' ? e.fill(i) : e.stroke();
+ }
+ get generator() {
+ return this.gen;
+ }
+ getDefaultOptions() {
+ return this.gen.defaultOptions;
+ }
+ line(e, r, n, i, a) {
+ let s = this.gen.line(e, r, n, i, a);
+ return this.draw(s), s;
+ }
+ rectangle(e, r, n, i, a) {
+ let s = this.gen.rectangle(e, r, n, i, a);
+ return this.draw(s), s;
+ }
+ ellipse(e, r, n, i, a) {
+ let s = this.gen.ellipse(e, r, n, i, a);
+ return this.draw(s), s;
+ }
+ circle(e, r, n, i) {
+ let a = this.gen.circle(e, r, n, i);
+ return this.draw(a), a;
+ }
+ linearPath(e, r) {
+ let n = this.gen.linearPath(e, r);
+ return this.draw(n), n;
+ }
+ polygon(e, r) {
+ let n = this.gen.polygon(e, r);
+ return this.draw(n), n;
+ }
+ arc(e, r, n, i, a, s, l = !1, u) {
+ let h = this.gen.arc(e, r, n, i, a, s, l, u);
+ return this.draw(h), h;
+ }
+ curve(e, r) {
+ let n = this.gen.curve(e, r);
+ return this.draw(n), n;
+ }
+ path(e, r) {
+ let n = this.gen.path(e, r);
+ return this.draw(n), n;
+ }
+ }),
+ (B5 = 'http://www.w3.org/2000/svg'),
+ (Y9 = class {
+ static {
+ o(this, 'ot');
+ }
+ constructor(e, r) {
+ (this.svg = e), (this.gen = new gm(r));
+ }
+ draw(e) {
+ let r = e.sets || [],
+ n = e.options || this.getDefaultOptions(),
+ i = this.svg.ownerDocument || window.document,
+ a = i.createElementNS(B5, 'g'),
+ s = e.options.fixedDecimalPlaceDigits;
+ for (let l of r) {
+ let u = null;
+ switch (l.type) {
+ case 'path':
+ (u = i.createElementNS(B5, 'path')),
+ u.setAttribute('d', this.opsToPath(l, s)),
+ u.setAttribute('stroke', n.stroke),
+ u.setAttribute('stroke-width', n.strokeWidth + ''),
+ u.setAttribute('fill', 'none'),
+ n.strokeLineDash &&
+ u.setAttribute('stroke-dasharray', n.strokeLineDash.join(' ').trim()),
+ n.strokeLineDashOffset &&
+ u.setAttribute('stroke-dashoffset', `${n.strokeLineDashOffset}`);
+ break;
+ case 'fillPath':
+ (u = i.createElementNS(B5, 'path')),
+ u.setAttribute('d', this.opsToPath(l, s)),
+ u.setAttribute('stroke', 'none'),
+ u.setAttribute('stroke-width', '0'),
+ u.setAttribute('fill', n.fill || ''),
+ (e.shape !== 'curve' && e.shape !== 'polygon') ||
+ u.setAttribute('fill-rule', 'evenodd');
+ break;
+ case 'fillSketch':
+ u = this.fillSketch(i, l, n);
+ }
+ u && a.appendChild(u);
+ }
+ return a;
+ }
+ fillSketch(e, r, n) {
+ let i = n.fillWeight;
+ i < 0 && (i = n.strokeWidth / 2);
+ let a = e.createElementNS(B5, 'path');
+ return (
+ a.setAttribute('d', this.opsToPath(r, n.fixedDecimalPlaceDigits)),
+ a.setAttribute('stroke', n.fill || ''),
+ a.setAttribute('stroke-width', i + ''),
+ a.setAttribute('fill', 'none'),
+ n.fillLineDash && a.setAttribute('stroke-dasharray', n.fillLineDash.join(' ').trim()),
+ n.fillLineDashOffset && a.setAttribute('stroke-dashoffset', `${n.fillLineDashOffset}`),
+ a
+ );
+ }
+ get generator() {
+ return this.gen;
+ }
+ getDefaultOptions() {
+ return this.gen.defaultOptions;
+ }
+ opsToPath(e, r) {
+ return this.gen.opsToPath(e, r);
+ }
+ line(e, r, n, i, a) {
+ let s = this.gen.line(e, r, n, i, a);
+ return this.draw(s);
+ }
+ rectangle(e, r, n, i, a) {
+ let s = this.gen.rectangle(e, r, n, i, a);
+ return this.draw(s);
+ }
+ ellipse(e, r, n, i, a) {
+ let s = this.gen.ellipse(e, r, n, i, a);
+ return this.draw(s);
+ }
+ circle(e, r, n, i) {
+ let a = this.gen.circle(e, r, n, i);
+ return this.draw(a);
+ }
+ linearPath(e, r) {
+ let n = this.gen.linearPath(e, r);
+ return this.draw(n);
+ }
+ polygon(e, r) {
+ let n = this.gen.polygon(e, r);
+ return this.draw(n);
+ }
+ arc(e, r, n, i, a, s, l = !1, u) {
+ let h = this.gen.arc(e, r, n, i, a, s, l, u);
+ return this.draw(h);
+ }
+ curve(e, r) {
+ let n = this.gen.curve(e, r);
+ return this.draw(n);
+ }
+ path(e, r) {
+ let n = this.gen.path(e, r);
+ return this.draw(n);
+ }
+ }),
+ (Jt = {
+ canvas: o((t, e) => new H9(t, e), 'canvas'),
+ svg: o((t, e) => new Y9(t, e), 'svg'),
+ generator: o((t) => new gm(t), 'generator'),
+ newSeed: o(() => gm.newSeed(), 'newSeed')
+ });
+ });
+ var wSe,
+ Dd,
+ q9 = R(() => {
+ 'use strict';
+ (wSe = o((t, e) => {
+ var r = t.x,
+ n = t.y,
+ i = e.x - r,
+ a = e.y - n,
+ s = t.width / 2,
+ l = t.height / 2,
+ u,
+ h;
+ return (
+ Math.abs(a) * s > Math.abs(i) * l
+ ? (a < 0 && (l = -l), (u = a === 0 ? 0 : (l * i) / a), (h = l))
+ : (i < 0 && (s = -s), (u = s), (h = i === 0 ? 0 : (s * a) / i)),
+ { x: r + u, y: n + h }
+ );
+ }, 'intersectRect')),
+ (Dd = wSe);
+ });
+ function TSe(t, e) {
+ e && t.attr('style', e);
+ }
+ async function kSe(t) {
+ let e = $e(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')),
+ r = e.append('xhtml:div'),
+ n = t.label;
+ t.label &&
+ Ni(t.label) &&
+ (n = await yh(
+ t.label.replace(
+ We.lineBreakRegex,
+ `
+`
+ ),
+ de()
+ ));
+ let i = t.isNode ? 'nodeLabel' : 'edgeLabel';
+ return (
+ r.html(
+ '' + n + ''
+ ),
+ TSe(r, t.labelStyle),
+ r.style('display', 'inline-block'),
+ r.style('padding-right', '1px'),
+ r.style('white-space', 'nowrap'),
+ r.attr('xmlns', 'http://www.w3.org/1999/xhtml'),
+ e.node()
+ );
+ }
+ var ESe,
+ gc,
+ H5 = R(() => {
+ 'use strict';
+ Zt();
+ ut();
+ _t();
+ rr();
+ xr();
+ o(TSe, 'applyStyle');
+ o(kSe, 'addHtmlLabel');
+ (ESe = o(async (t, e, r, n) => {
+ let i = t || '';
+ if ((typeof i == 'object' && (i = i[0]), yr(de().flowchart.htmlLabels))) {
+ (i = i.replace(/\\n|\n/g, '
')), V.info('vertexText' + i);
+ let a = {
+ isNode: n,
+ label: to(i).replace(/fa[blrs]?:fa-[\w-]+/g, (l) => ``),
+ labelStyle: e && e.replace('fill:', 'color:')
+ };
+ return await kSe(a);
+ } else {
+ let a = document.createElementNS('http://www.w3.org/2000/svg', 'text');
+ a.setAttribute('style', e.replace('color:', 'fill:'));
+ let s = [];
+ typeof i == 'string' ? (s = i.split(/\\n|\n|
/gi)) : Array.isArray(i) ? (s = i) : (s = []);
+ for (let l of s) {
+ let u = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ u.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'),
+ u.setAttribute('dy', '1em'),
+ u.setAttribute('x', '0'),
+ r ? u.setAttribute('class', 'title-row') : u.setAttribute('class', 'row'),
+ (u.textContent = l.trim()),
+ a.appendChild(u);
+ }
+ return a;
+ }
+ }, 'createLabel')),
+ (gc = ESe);
+ });
+ var _u,
+ Sv = R(() => {
+ 'use strict';
+ _u = o(
+ (t, e, r, n, i) =>
+ [
+ 'M',
+ t + i,
+ e,
+ 'H',
+ t + r - i,
+ 'A',
+ i,
+ i,
+ 0,
+ 0,
+ 1,
+ t + r,
+ e + i,
+ 'V',
+ e + n - i,
+ 'A',
+ i,
+ i,
+ 0,
+ 0,
+ 1,
+ t + r - i,
+ e + n,
+ 'H',
+ t + i,
+ 'A',
+ i,
+ i,
+ 0,
+ 0,
+ 1,
+ t,
+ e + n - i,
+ 'V',
+ e + i,
+ 'A',
+ i,
+ i,
+ 0,
+ 0,
+ 1,
+ t + i,
+ e,
+ 'Z'
+ ].join(' '),
+ 'createRoundedRectPathD'
+ );
+ });
+ var Lu,
+ Jj,
+ CSe,
+ Br,
+ Fr,
+ ki = R(() => {
+ 'use strict';
+ _t();
+ (Lu = o((t) => {
+ let { handDrawnSeed: e } = de();
+ return {
+ fill: t,
+ hachureAngle: 120,
+ hachureGap: 4,
+ fillWeight: 2,
+ roughness: 0.7,
+ stroke: t,
+ seed: e
+ };
+ }, 'solidStateFill')),
+ (Jj = o((t) => {
+ let e = CSe([...(t.cssCompiledStyles || []), ...(t.cssStyles || [])]);
+ return { stylesMap: e, stylesArray: [...e] };
+ }, 'compileStyles')),
+ (CSe = o((t) => {
+ let e = new Map();
+ return (
+ t.forEach((r) => {
+ let [n, i] = r.split(':');
+ e.set(n.trim(), i?.trim());
+ }),
+ e
+ );
+ }, 'styles2Map')),
+ (Br = o((t) => {
+ let { stylesArray: e } = Jj(t),
+ r = [],
+ n = [],
+ i = [],
+ a = [];
+ return (
+ e.forEach((s) => {
+ let l = s[0];
+ l === 'color' ||
+ l === 'font-size' ||
+ l === 'font-family' ||
+ l === 'font-weight' ||
+ l === 'font-style' ||
+ l === 'text-decoration' ||
+ l === 'text-align' ||
+ l === 'text-transform' ||
+ l === 'line-height' ||
+ l === 'letter-spacing' ||
+ l === 'word-spacing' ||
+ l === 'text-shadow' ||
+ l === 'text-overflow' ||
+ l === 'white-space' ||
+ l === 'word-wrap' ||
+ l === 'word-break' ||
+ l === 'overflow-wrap' ||
+ l === 'hyphens'
+ ? r.push(s.join(':') + ' !important')
+ : (n.push(s.join(':') + ' !important'),
+ l.includes('stroke') && i.push(s.join(':') + ' !important'),
+ l === 'fill' && a.push(s.join(':') + ' !important'));
+ }),
+ {
+ labelStyles: r.join(';'),
+ nodeStyles: n.join(';'),
+ stylesArray: e,
+ borderStyles: i,
+ backgroundStyles: a
+ }
+ );
+ }, 'styles2String')),
+ (Fr = o((t, e) => {
+ let { themeVariables: r, handDrawnSeed: n } = de(),
+ { nodeBorder: i, mainBkg: a } = r,
+ { stylesMap: s } = Jj(t);
+ return Object.assign(
+ {
+ roughness: 0.7,
+ fill: s.get('fill') || a,
+ fillStyle: 'hachure',
+ fillWeight: 4,
+ stroke: s.get('stroke') || i,
+ seed: n,
+ strokeWidth: 1.3
+ },
+ e
+ );
+ }, 'userNodeOverrides'));
+ });
+ var eK,
+ SSe,
+ ASe,
+ _Se,
+ LSe,
+ DSe,
+ tK,
+ Y5,
+ rK,
+ X9 = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ ut();
+ _d();
+ Zt();
+ ti();
+ Al();
+ q9();
+ H5();
+ Sv();
+ ki();
+ (eK = o(async (t, e) => {
+ V.info('Creating subgraph rect for ', e.id, e);
+ let r = de(),
+ { themeVariables: n, handDrawnSeed: i } = r,
+ { clusterBkg: a, clusterBorder: s } = n,
+ { labelStyles: l, nodeStyles: u, borderStyles: h, backgroundStyles: f } = Br(e),
+ d = t
+ .insert('g')
+ .attr('class', 'cluster ' + e.cssClasses)
+ .attr('id', e.id)
+ .attr('data-look', e.look),
+ p = yr(r.flowchart.htmlLabels),
+ m = d.insert('g').attr('class', 'cluster-label '),
+ g = await ta(m, e.label, {
+ style: e.labelStyle,
+ useHtmlLabels: p,
+ isNode: !0
+ }),
+ y = g.getBBox();
+ if (yr(r.flowchart.htmlLabels)) {
+ let _ = g.children[0],
+ A = $e(g);
+ (y = _.getBoundingClientRect()), A.attr('width', y.width), A.attr('height', y.height);
+ }
+ let v = e.width <= y.width + e.padding ? y.width + e.padding : e.width;
+ e.width <= y.width + e.padding ? (e.diff = (v - e.width) / 2 - e.padding) : (e.diff = -e.padding);
+ let x = e.height,
+ b = e.x - v / 2,
+ w = e.y - x / 2;
+ V.trace('Data ', e, JSON.stringify(e));
+ let S;
+ if (e.look === 'handDrawn') {
+ let _ = Jt.svg(d),
+ A = Fr(e, {
+ roughness: 0.7,
+ fill: a,
+ stroke: s,
+ fillWeight: 3,
+ seed: i
+ }),
+ L = _.path(_u(b, w, v, x, 0), A);
+ (S = d.insert(() => (V.debug('Rough node insert CXC', L), L), ':first-child')),
+ S.select('path:nth-child(2)').attr('style', h.join(';')),
+ S.select('path').attr('style', f.join(';').replace('fill', 'stroke'));
+ } else
+ (S = d.insert('rect', ':first-child')),
+ S.attr('style', u)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', b)
+ .attr('y', w)
+ .attr('width', v)
+ .attr('height', x);
+ let { subGraphTitleTopMargin: T } = io(r);
+ if ((m.attr('transform', `translate(${e.x - y.width / 2}, ${e.y - e.height / 2 + T})`), l)) {
+ let _ = m.select('span');
+ _ && _.attr('style', l);
+ }
+ let E = S.node().getBBox();
+ return (
+ (e.offsetX = 0),
+ (e.width = E.width),
+ (e.height = E.height),
+ (e.offsetY = y.height - e.padding / 2),
+ (e.intersect = function (_) {
+ return Dd(e, _);
+ }),
+ { cluster: d, labelBBox: y }
+ );
+ }, 'rect')),
+ (SSe = o((t, e) => {
+ let r = t.insert('g').attr('class', 'note-cluster').attr('id', e.id),
+ n = r.insert('rect', ':first-child'),
+ i = 0 * e.padding,
+ a = i / 2;
+ n.attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', e.x - e.width / 2 - a)
+ .attr('y', e.y - e.height / 2 - a)
+ .attr('width', e.width + i)
+ .attr('height', e.height + i)
+ .attr('fill', 'none');
+ let s = n.node().getBBox();
+ return (
+ (e.width = s.width),
+ (e.height = s.height),
+ (e.intersect = function (l) {
+ return Dd(e, l);
+ }),
+ { cluster: r, labelBBox: { width: 0, height: 0 } }
+ );
+ }, 'noteGroup')),
+ (ASe = o(async (t, e) => {
+ let r = de(),
+ { themeVariables: n, handDrawnSeed: i } = r,
+ { altBackground: a, compositeBackground: s, compositeTitleBackground: l, nodeBorder: u } = n,
+ h = t
+ .insert('g')
+ .attr('class', e.cssClasses)
+ .attr('id', e.id)
+ .attr('data-id', e.id)
+ .attr('data-look', e.look),
+ f = h.insert('g', ':first-child'),
+ d = h.insert('g').attr('class', 'cluster-label'),
+ p = h.append('rect'),
+ m = d.node().appendChild(await gc(e.label, e.labelStyle, void 0, !0)),
+ g = m.getBBox();
+ if (yr(r.flowchart.htmlLabels)) {
+ let L = m.children[0],
+ M = $e(m);
+ (g = L.getBoundingClientRect()), M.attr('width', g.width), M.attr('height', g.height);
+ }
+ let y = 0 * e.padding,
+ v = y / 2,
+ x = (e.width <= g.width + e.padding ? g.width + e.padding : e.width) + y;
+ e.width <= g.width + e.padding ? (e.diff = (x - e.width) / 2 - e.padding) : (e.diff = -e.padding);
+ let b = e.height + y,
+ w = e.height + y - g.height - 6,
+ S = e.x - x / 2,
+ T = e.y - b / 2;
+ e.width = x;
+ let E = e.y - e.height / 2 - v + g.height + 2,
+ _;
+ if (e.look === 'handDrawn') {
+ let L = e.cssClasses.includes('statediagram-cluster-alt'),
+ M = Jt.svg(h),
+ N =
+ e.rx || e.ry
+ ? M.path(_u(S, T, x, b, 10), {
+ roughness: 0.7,
+ fill: l,
+ fillStyle: 'solid',
+ stroke: u,
+ seed: i
+ })
+ : M.rectangle(S, T, x, b, { seed: i });
+ _ = h.insert(() => N, ':first-child');
+ let k = M.rectangle(S, E, x, w, {
+ fill: L ? a : s,
+ fillStyle: L ? 'hachure' : 'solid',
+ stroke: u,
+ seed: i
+ });
+ (_ = h.insert(() => N, ':first-child')), (p = h.insert(() => k));
+ } else
+ (_ = f.insert('rect', ':first-child')),
+ _.attr('class', 'outer')
+ .attr('x', S)
+ .attr('y', T)
+ .attr('width', x)
+ .attr('height', b)
+ .attr('data-look', e.look),
+ p.attr('class', 'inner').attr('x', S).attr('y', E).attr('width', x).attr('height', w);
+ d.attr(
+ 'transform',
+ `translate(${e.x - g.width / 2}, ${T + 1 - (yr(r.flowchart.htmlLabels) ? 0 : 3)})`
+ );
+ let A = _.node().getBBox();
+ return (
+ (e.height = A.height),
+ (e.offsetX = 0),
+ (e.offsetY = g.height - e.padding / 2),
+ (e.labelBBox = g),
+ (e.intersect = function (L) {
+ return Dd(e, L);
+ }),
+ { cluster: h, labelBBox: g }
+ );
+ }, 'roundedWithTitle')),
+ (_Se = o((t, e) => {
+ let r = de(),
+ { themeVariables: n, handDrawnSeed: i } = r,
+ { nodeBorder: a } = n,
+ s = t.insert('g').attr('class', e.cssClasses).attr('id', e.id).attr('data-look', e.look),
+ l = s.insert('g', ':first-child'),
+ u = 0 * e.padding,
+ h = e.width + u;
+ e.diff = -e.padding;
+ let f = e.height + u,
+ d = e.x - h / 2,
+ p = e.y - f / 2;
+ e.width = h;
+ let m;
+ if (e.look === 'handDrawn') {
+ let v = Jt.svg(s).rectangle(d, p, h, f, {
+ fill: 'lightgrey',
+ roughness: 0.5,
+ strokeLineDash: [5],
+ stroke: a,
+ seed: i
+ });
+ m = s.insert(() => v, ':first-child');
+ } else
+ (m = l.insert('rect', ':first-child')),
+ m
+ .attr('class', 'divider')
+ .attr('x', d)
+ .attr('y', p)
+ .attr('width', h)
+ .attr('height', f)
+ .attr('data-look', e.look);
+ let g = m.node().getBBox();
+ return (
+ (e.height = g.height),
+ (e.offsetX = 0),
+ (e.offsetY = 0),
+ (e.intersect = function (y) {
+ return Dd(e, y);
+ }),
+ { cluster: s, labelBBox: {} }
+ );
+ }, 'divider')),
+ (LSe = eK),
+ (DSe = {
+ rect: eK,
+ squareRect: LSe,
+ roundedWithTitle: ASe,
+ noteGroup: SSe,
+ divider: _Se
+ }),
+ (tK = new Map()),
+ (Y5 = o(async (t, e) => {
+ let r = e.shape || 'rect',
+ n = await DSe[r](t, e);
+ return tK.set(e.id, n), n;
+ }, 'insertCluster')),
+ (rK = o(() => {
+ tK = new Map();
+ }, 'clear'));
+ });
+ function W5(t, e) {
+ if (t === void 0 || e === void 0) return { angle: 0, deltaX: 0, deltaY: 0 };
+ (t = q5(t)), (e = q5(e));
+ let [r, n] = [t.x, t.y],
+ [i, a] = [e.x, e.y],
+ s = i - r,
+ l = a - n;
+ return { angle: Math.atan(l / s), deltaX: s, deltaY: l };
+ }
+ var Uh,
+ q5,
+ X5,
+ j9 = R(() => {
+ 'use strict';
+ Uh = {
+ aggregation: 18,
+ extension: 18,
+ composition: 18,
+ dependency: 6,
+ lollipop: 13.5,
+ arrow_point: 4
+ };
+ o(W5, 'calculateDeltaAndAngle');
+ (q5 = o((t) => (Array.isArray(t) ? { x: t[0], y: t[1] } : t), 'pointTransformer')),
+ (X5 = o(
+ (t) => ({
+ x: o(function (e, r, n) {
+ let i = 0;
+ if (r === 0 && Object.hasOwn(Uh, t.arrowTypeStart)) {
+ let { angle: a, deltaX: s } = W5(n[0], n[1]);
+ i = Uh[t.arrowTypeStart] * Math.cos(a) * (s >= 0 ? 1 : -1);
+ } else if (r === n.length - 1 && Object.hasOwn(Uh, t.arrowTypeEnd)) {
+ let { angle: a, deltaX: s } = W5(n[n.length - 1], n[n.length - 2]);
+ i = Uh[t.arrowTypeEnd] * Math.cos(a) * (s >= 0 ? 1 : -1);
+ }
+ return q5(e).x + i;
+ }, 'x'),
+ y: o(function (e, r, n) {
+ let i = 0;
+ if (r === 0 && Object.hasOwn(Uh, t.arrowTypeStart)) {
+ let { angle: a, deltaY: s } = W5(n[0], n[1]);
+ i = Uh[t.arrowTypeStart] * Math.abs(Math.sin(a)) * (s >= 0 ? 1 : -1);
+ } else if (r === n.length - 1 && Object.hasOwn(Uh, t.arrowTypeEnd)) {
+ let { angle: a, deltaY: s } = W5(n[n.length - 1], n[n.length - 2]);
+ i = Uh[t.arrowTypeEnd] * Math.abs(Math.sin(a)) * (s >= 0 ? 1 : -1);
+ }
+ return q5(e).y + i;
+ }, 'y')
+ }),
+ 'getLineFunctionsWithOffset'
+ ));
+ });
+ var iK,
+ RSe,
+ nK,
+ aK = R(() => {
+ 'use strict';
+ ut();
+ (iK = o((t, e, r, n, i) => {
+ e.arrowTypeStart && nK(t, 'start', e.arrowTypeStart, r, n, i),
+ e.arrowTypeEnd && nK(t, 'end', e.arrowTypeEnd, r, n, i);
+ }, 'addEdgeMarkers')),
+ (RSe = {
+ arrow_cross: 'cross',
+ arrow_point: 'point',
+ arrow_barb: 'barb',
+ arrow_circle: 'circle',
+ aggregation: 'aggregation',
+ extension: 'extension',
+ composition: 'composition',
+ dependency: 'dependency',
+ lollipop: 'lollipop'
+ }),
+ (nK = o((t, e, r, n, i, a) => {
+ let s = RSe[r];
+ if (!s) {
+ V.warn(`Unknown arrow type: ${r}`);
+ return;
+ }
+ let l = e === 'start' ? 'Start' : 'End';
+ t.attr(`marker-${e}`, `url(${n}#${i}_${a}-${s}${l})`);
+ }, 'addEdgeMarker'));
+ });
+ function j5(t, e) {
+ de().flowchart.htmlLabels && t && ((t.style.width = e.length * 9 + 'px'), (t.style.height = '12px'));
+ }
+ function ISe(t) {
+ let e = [],
+ r = [];
+ for (let n = 1; n < t.length - 1; n++) {
+ let i = t[n - 1],
+ a = t[n],
+ s = t[n + 1];
+ ((i.x === a.x && a.y === s.y && Math.abs(a.x - s.x) > 5 && Math.abs(a.y - i.y) > 5) ||
+ (i.y === a.y && a.x === s.x && Math.abs(a.x - i.x) > 5 && Math.abs(a.y - s.y) > 5)) &&
+ (e.push(a), r.push(n));
+ }
+ return { cornerPoints: e, cornerPointPositions: r };
+ }
+ var K5,
+ da,
+ lK,
+ Av,
+ Q5,
+ Z5,
+ NSe,
+ MSe,
+ sK,
+ oK,
+ OSe,
+ J5,
+ K9 = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ ut();
+ Al();
+ xr();
+ j9();
+ _d();
+ Zt();
+ ti();
+ H5();
+ aK();
+ (K5 = new Map()),
+ (da = new Map()),
+ (lK = o(() => {
+ K5.clear(), da.clear();
+ }, 'clear')),
+ (Av = o((t) => (t ? t.reduce((r, n) => r + ';' + n, '') : ''), 'getLabelStyles')),
+ (Q5 = o(async (t, e) => {
+ let r = yr(de().flowchart.htmlLabels),
+ n = await ta(t, e.label, {
+ style: Av(e.labelStyle),
+ useHtmlLabels: r,
+ addSvgBackground: !0,
+ isNode: !1
+ });
+ V.info('abc82', e, e.labelType);
+ let i = t.insert('g').attr('class', 'edgeLabel'),
+ a = i.insert('g').attr('class', 'label');
+ a.node().appendChild(n);
+ let s = n.getBBox();
+ if (r) {
+ let u = n.children[0],
+ h = $e(n);
+ (s = u.getBoundingClientRect()), h.attr('width', s.width), h.attr('height', s.height);
+ }
+ a.attr('transform', 'translate(' + -s.width / 2 + ', ' + -s.height / 2 + ')'),
+ K5.set(e.id, i),
+ (e.width = s.width),
+ (e.height = s.height);
+ let l;
+ if (e.startLabelLeft) {
+ let u = await gc(e.startLabelLeft, Av(e.labelStyle)),
+ h = t.insert('g').attr('class', 'edgeTerminals'),
+ f = h.insert('g').attr('class', 'inner');
+ l = f.node().appendChild(u);
+ let d = u.getBBox();
+ f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'),
+ da.get(e.id) || da.set(e.id, {}),
+ (da.get(e.id).startLeft = h),
+ j5(l, e.startLabelLeft);
+ }
+ if (e.startLabelRight) {
+ let u = await gc(e.startLabelRight, Av(e.labelStyle)),
+ h = t.insert('g').attr('class', 'edgeTerminals'),
+ f = h.insert('g').attr('class', 'inner');
+ (l = h.node().appendChild(u)), f.node().appendChild(u);
+ let d = u.getBBox();
+ f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'),
+ da.get(e.id) || da.set(e.id, {}),
+ (da.get(e.id).startRight = h),
+ j5(l, e.startLabelRight);
+ }
+ if (e.endLabelLeft) {
+ let u = await gc(e.endLabelLeft, Av(e.labelStyle)),
+ h = t.insert('g').attr('class', 'edgeTerminals'),
+ f = h.insert('g').attr('class', 'inner');
+ l = f.node().appendChild(u);
+ let d = u.getBBox();
+ f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'),
+ h.node().appendChild(u),
+ da.get(e.id) || da.set(e.id, {}),
+ (da.get(e.id).endLeft = h),
+ j5(l, e.endLabelLeft);
+ }
+ if (e.endLabelRight) {
+ let u = await gc(e.endLabelRight, Av(e.labelStyle)),
+ h = t.insert('g').attr('class', 'edgeTerminals'),
+ f = h.insert('g').attr('class', 'inner');
+ l = f.node().appendChild(u);
+ let d = u.getBBox();
+ f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'),
+ h.node().appendChild(u),
+ da.get(e.id) || da.set(e.id, {}),
+ (da.get(e.id).endRight = h),
+ j5(l, e.endLabelRight);
+ }
+ return n;
+ }, 'insertEdgeLabel'));
+ o(j5, 'setTerminalWidth');
+ (Z5 = o((t, e) => {
+ V.debug('Moving label abc88 ', t.id, t.label, K5.get(t.id), e);
+ let r = e.updatedPath ? e.updatedPath : e.originalPath,
+ n = de(),
+ { subGraphTitleTotalMargin: i } = io(n);
+ if (t.label) {
+ let a = K5.get(t.id),
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcLabelPosition(r);
+ V.debug('Moving label ' + t.label + ' from (', s, ',', l, ') to (', u.x, ',', u.y, ') abc88'),
+ e.updatedPath && ((s = u.x), (l = u.y));
+ }
+ a.attr('transform', `translate(${s}, ${l + i / 2})`);
+ }
+ if (t.startLabelLeft) {
+ let a = da.get(t.id).startLeft,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_left', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.startLabelRight) {
+ let a = da.get(t.id).startRight,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_right', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.endLabelLeft) {
+ let a = da.get(t.id).endLeft,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_left', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.endLabelRight) {
+ let a = da.get(t.id).endRight,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_right', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ }, 'positionEdgeLabel')),
+ (NSe = o((t, e) => {
+ let r = t.x,
+ n = t.y,
+ i = Math.abs(e.x - r),
+ a = Math.abs(e.y - n),
+ s = t.width / 2,
+ l = t.height / 2;
+ return i >= s || a >= l;
+ }, 'outsideNode')),
+ (MSe = o((t, e, r) => {
+ V.debug(`intersection calc abc89:
+ outsidePoint: ${JSON.stringify(e)}
+ insidePoint : ${JSON.stringify(r)}
+ node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);
+ let n = t.x,
+ i = t.y,
+ a = Math.abs(n - r.x),
+ s = t.width / 2,
+ l = r.x < e.x ? s - a : s + a,
+ u = t.height / 2,
+ h = Math.abs(e.y - r.y),
+ f = Math.abs(e.x - r.x);
+ if (Math.abs(i - e.y) * s > Math.abs(n - e.x) * u) {
+ let d = r.y < e.y ? e.y - u - i : i - u - e.y;
+ l = (f * d) / h;
+ let p = {
+ x: r.x < e.x ? r.x + l : r.x - f + l,
+ y: r.y < e.y ? r.y + h - d : r.y - h + d
+ };
+ return (
+ l === 0 && ((p.x = e.x), (p.y = e.y)),
+ f === 0 && (p.x = e.x),
+ h === 0 && (p.y = e.y),
+ V.debug(`abc89 top/bottom calc, Q ${h}, q ${d}, R ${f}, r ${l}`, p),
+ p
+ );
+ } else {
+ r.x < e.x ? (l = e.x - s - n) : (l = n - s - e.x);
+ let d = (h * l) / f,
+ p = r.x < e.x ? r.x + f - l : r.x - f + l,
+ m = r.y < e.y ? r.y + d : r.y - d;
+ return (
+ V.debug(`sides calc abc89, Q ${h}, q ${d}, R ${f}, r ${l}`, {
+ _x: p,
+ _y: m
+ }),
+ l === 0 && ((p = e.x), (m = e.y)),
+ f === 0 && (p = e.x),
+ h === 0 && (m = e.y),
+ { x: p, y: m }
+ );
+ }
+ }, 'intersection')),
+ (sK = o((t, e) => {
+ V.warn('abc88 cutPathAtIntersect', t, e);
+ let r = [],
+ n = t[0],
+ i = !1;
+ return (
+ t.forEach((a) => {
+ if ((V.info('abc88 checking point', a, e), !NSe(e, a) && !i)) {
+ let s = MSe(e, n, a);
+ V.debug('abc88 inside', a, n, s), V.debug('abc88 intersection', s, e);
+ let l = !1;
+ r.forEach((u) => {
+ l = l || (u.x === s.x && u.y === s.y);
+ }),
+ r.some((u) => u.x === s.x && u.y === s.y)
+ ? V.warn('abc88 no intersect', s, r)
+ : r.push(s),
+ (i = !0);
+ } else V.warn('abc88 outside', a, n), (n = a), i || r.push(a);
+ }),
+ V.debug('returning points', r),
+ r
+ );
+ }, 'cutPathAtIntersect'));
+ o(ISe, 'extractCornerPoints');
+ (oK = o(function (t, e, r) {
+ let n = e.x - t.x,
+ i = e.y - t.y,
+ a = Math.sqrt(n * n + i * i),
+ s = r / a;
+ return { x: e.x - s * n, y: e.y - s * i };
+ }, 'findAdjacentPoint')),
+ (OSe = o(function (t) {
+ let { cornerPointPositions: e } = ISe(t),
+ r = [];
+ for (let n = 0; n < t.length; n++)
+ if (e.includes(n)) {
+ let i = t[n - 1],
+ a = t[n + 1],
+ s = t[n],
+ l = oK(i, s, 5),
+ u = oK(a, s, 5),
+ h = u.x - l.x,
+ f = u.y - l.y;
+ r.push(l);
+ let d = Math.sqrt(2) * 2,
+ p = { x: s.x, y: s.y };
+ if (Math.abs(a.x - i.x) > 10 && Math.abs(a.y - i.y) >= 10) {
+ V.debug('Corner point fixing', Math.abs(a.x - i.x), Math.abs(a.y - i.y));
+ let m = 5;
+ s.x === l.x
+ ? (p = {
+ x: h < 0 ? l.x - m + d : l.x + m - d,
+ y: f < 0 ? l.y - d : l.y + d
+ })
+ : (p = {
+ x: h < 0 ? l.x - d : l.x + d,
+ y: f < 0 ? l.y - m + d : l.y + m - d
+ });
+ } else V.debug('Corner point skipping fixing', Math.abs(a.x - i.x), Math.abs(a.y - i.y));
+ r.push(p, u);
+ } else r.push(t[n]);
+ return r;
+ }, 'fixCorners')),
+ (J5 = o(function (t, e, r, n, i, a, s) {
+ let { handDrawnSeed: l } = de(),
+ u = e.points,
+ h = !1,
+ f = i;
+ var d = a;
+ d.intersect &&
+ f.intersect &&
+ ((u = u.slice(1, e.points.length - 1)),
+ u.unshift(f.intersect(u[0])),
+ V.debug(
+ 'Last point APA12',
+ e.start,
+ '-->',
+ e.end,
+ u[u.length - 1],
+ d,
+ d.intersect(u[u.length - 1])
+ ),
+ u.push(d.intersect(u[u.length - 1]))),
+ e.toCluster &&
+ (V.info('to cluster abc88', r.get(e.toCluster)),
+ (u = sK(e.points, r.get(e.toCluster).node)),
+ (h = !0)),
+ e.fromCluster &&
+ (V.debug('from cluster abc88', r.get(e.fromCluster), JSON.stringify(u, null, 2)),
+ (u = sK(u.reverse(), r.get(e.fromCluster).node).reverse()),
+ (h = !0));
+ let p = u.filter((A) => !Number.isNaN(A.y));
+ p = OSe(p);
+ let m = p[p.length - 1];
+ if (p.length > 1) {
+ m = p[p.length - 1];
+ let A = p[p.length - 2],
+ L = (m.x - A.x) / 2,
+ M = (m.y - A.y) / 2,
+ N = { x: A.x + L, y: A.y + M };
+ p.splice(-1, 0, N);
+ }
+ let g = vs;
+ e.curve && (g = e.curve);
+ let { x: y, y: v } = X5(e),
+ x = ha().x(y).y(v).curve(g),
+ b;
+ switch (e.thickness) {
+ case 'normal':
+ b = 'edge-thickness-normal';
+ break;
+ case 'thick':
+ b = 'edge-thickness-thick';
+ break;
+ case 'invisible':
+ b = 'edge-thickness-invisible';
+ break;
+ default:
+ b = 'edge-thickness-normal';
+ }
+ switch (e.pattern) {
+ case 'solid':
+ b += ' edge-pattern-solid';
+ break;
+ case 'dotted':
+ b += ' edge-pattern-dotted';
+ break;
+ case 'dashed':
+ b += ' edge-pattern-dashed';
+ break;
+ default:
+ b += ' edge-pattern-solid';
+ }
+ let w,
+ S = x(p),
+ T = Array.isArray(e.style) ? e.style : [e.style];
+ if (e.look === 'handDrawn') {
+ let A = Jt.svg(t);
+ Object.assign([], p);
+ let L = A.path(S, { roughness: 0.3, seed: l });
+ (b += ' transition'),
+ (w = $e(L)
+ .select('path')
+ .attr('id', e.id)
+ .attr('class', ' ' + b + (e.classes ? ' ' + e.classes : ''))
+ .attr('style', T ? T.reduce((N, k) => N + ';' + k, '') : ''));
+ let M = w.attr('d');
+ w.attr('d', M), t.node().appendChild(w.node());
+ } else
+ w = t
+ .append('path')
+ .attr('d', S)
+ .attr('id', e.id)
+ .attr('class', ' ' + b + (e.classes ? ' ' + e.classes : ''))
+ .attr('style', T ? T.reduce((A, L) => A + ';' + L, '') : '');
+ let E = '';
+ (de().flowchart.arrowMarkerAbsolute || de().state.arrowMarkerAbsolute) &&
+ ((E =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (E = E.replace(/\(/g, '\\(').replace(/\)/g, '\\)'))),
+ V.info('arrowTypeStart', e.arrowTypeStart),
+ V.info('arrowTypeEnd', e.arrowTypeEnd),
+ iK(w, e, E, s, n);
+ let _ = {};
+ return h && (_.updatedPath = u), (_.originalPath = e.points), _;
+ }, 'insertEdge'));
+ });
+ var PSe,
+ BSe,
+ FSe,
+ zSe,
+ GSe,
+ $Se,
+ VSe,
+ USe,
+ HSe,
+ YSe,
+ WSe,
+ ew,
+ Q9 = R(() => {
+ 'use strict';
+ ut();
+ (PSe = o((t, e, r, n) => {
+ e.forEach((i) => {
+ WSe[i](t, r, n);
+ });
+ }, 'insertMarkers')),
+ (BSe = o((t, e, r) => {
+ V.trace('Making markers for ', r),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-extensionStart')
+ .attr('class', 'marker extension ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,7 L18,13 V 1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-extensionEnd')
+ .attr('class', 'marker extension ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 V 13 L18,7 Z');
+ }, 'extension')),
+ (FSe = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-compositionStart')
+ .attr('class', 'marker composition ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-compositionEnd')
+ .attr('class', 'marker composition ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');
+ }, 'composition')),
+ (zSe = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-aggregationStart')
+ .attr('class', 'marker aggregation ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-aggregationEnd')
+ .attr('class', 'marker aggregation ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');
+ }, 'aggregation')),
+ (GSe = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-dependencyStart')
+ .attr('class', 'marker dependency ' + e)
+ .attr('refX', 6)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-dependencyEnd')
+ .attr('class', 'marker dependency ' + e)
+ .attr('refX', 13)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');
+ }, 'dependency')),
+ ($Se = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-lollipopStart')
+ .attr('class', 'marker lollipop ' + e)
+ .attr('refX', 13)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('stroke', 'black')
+ .attr('fill', 'transparent')
+ .attr('cx', 7)
+ .attr('cy', 7)
+ .attr('r', 6),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-lollipopEnd')
+ .attr('class', 'marker lollipop ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('stroke', 'black')
+ .attr('fill', 'transparent')
+ .attr('cx', 7)
+ .attr('cy', 7)
+ .attr('r', 6);
+ }, 'lollipop')),
+ (VSe = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-pointEnd')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 5)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 8)
+ .attr('markerHeight', 8)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 0 L 10 5 L 0 10 z')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-pointStart')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 4.5)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 8)
+ .attr('markerHeight', 8)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 5 L 10 10 L 10 0 z')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ }, 'point')),
+ (USe = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-circleEnd')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 11)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', '5')
+ .attr('cy', '5')
+ .attr('r', '5')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-circleStart')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', -1)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', '5')
+ .attr('cy', '5')
+ .attr('r', '5')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ }, 'circle')),
+ (HSe = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-crossEnd')
+ .attr('class', 'marker cross ' + e)
+ .attr('viewBox', '0 0 11 11')
+ .attr('refX', 12)
+ .attr('refY', 5.2)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 2)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-crossStart')
+ .attr('class', 'marker cross ' + e)
+ .attr('viewBox', '0 0 11 11')
+ .attr('refX', -1)
+ .attr('refY', 5.2)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 2)
+ .style('stroke-dasharray', '1,0');
+ }, 'cross')),
+ (YSe = o((t, e, r) => {
+ t.append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-barbEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 14)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z');
+ }, 'barb')),
+ (WSe = {
+ extension: BSe,
+ composition: FSe,
+ aggregation: zSe,
+ dependency: GSe,
+ lollipop: $Se,
+ point: VSe,
+ circle: USe,
+ cross: HSe,
+ barb: YSe
+ }),
+ (ew = PSe);
+ });
+ var zr,
+ ar,
+ En,
+ ri = R(() => {
+ 'use strict';
+ Al();
+ _t();
+ Zt();
+ rr();
+ xr();
+ (zr = o(async (t, e, r) => {
+ let n,
+ i = e.useHtmlLabels || yr(de().flowchart.htmlLabels);
+ r ? (n = r) : (n = 'node default');
+ let a = t
+ .insert('g')
+ .attr('class', n)
+ .attr('id', e.domId || e.id),
+ s = a.insert('g').attr('class', 'label').attr('style', e.labelStyle),
+ l;
+ e.label === void 0 ? (l = '') : (l = typeof e.label == 'string' ? e.label : e.label[0]);
+ let u;
+ u = await ta(s, qr(to(l), de()), {
+ useHtmlLabels: i,
+ width: e.width || de().flowchart.wrappingWidth,
+ cssClasses: 'markdown-node-label',
+ style: e.labelStyle
+ });
+ let h = u.getBBox(),
+ f = e.padding / 2;
+ if (yr(de().flowchart.htmlLabels)) {
+ let d = u.children[0],
+ p = $e(u),
+ m = d.getElementsByTagName('img');
+ if (m) {
+ let g = l.replace(/]*>/g, '').trim() === '';
+ await Promise.all(
+ [...m].map(
+ (y) =>
+ new Promise((v) => {
+ function x() {
+ if (((y.style.display = 'flex'), (y.style.flexDirection = 'column'), g)) {
+ let b = de().fontSize
+ ? de().fontSize
+ : window.getComputedStyle(document.body).fontSize,
+ S = parseInt(b, 10) * 5 + 'px';
+ (y.style.minWidth = S), (y.style.maxWidth = S);
+ } else y.style.width = '100%';
+ v(y);
+ }
+ o(x, 'setupImage'),
+ setTimeout(() => {
+ y.complete && x();
+ }),
+ y.addEventListener('error', x),
+ y.addEventListener('load', x);
+ })
+ )
+ );
+ }
+ (h = d.getBoundingClientRect()), p.attr('width', h.width), p.attr('height', h.height);
+ }
+ return (
+ i
+ ? s.attr('transform', 'translate(' + -h.width / 2 + ', ' + -h.height / 2 + ')')
+ : s.attr('transform', 'translate(0, ' + -h.height / 2 + ')'),
+ e.centerLabel && s.attr('transform', 'translate(' + -h.width / 2 + ', ' + -h.height / 2 + ')'),
+ s.insert('rect', ':first-child'),
+ { shapeSvg: a, bbox: h, halfPadding: f, label: s }
+ );
+ }, 'labelHelper')),
+ (ar = o((t, e) => {
+ let r = e.node().getBBox();
+ (t.width = r.width), (t.height = r.height);
+ }, 'updateNodeBounds')),
+ (En = o(
+ (t, e) => (t.look === 'handDrawn' ? 'rough-node' : 'node') + ' ' + t.cssClasses + ' ' + (e || ''),
+ 'getNodeClasses'
+ ));
+ });
+ function qSe(t, e) {
+ return t.intersect(e);
+ }
+ var cK,
+ uK = R(() => {
+ 'use strict';
+ o(qSe, 'intersectNode');
+ cK = qSe;
+ });
+ function XSe(t, e, r, n) {
+ var i = t.x,
+ a = t.y,
+ s = i - n.x,
+ l = a - n.y,
+ u = Math.sqrt(e * e * l * l + r * r * s * s),
+ h = Math.abs((e * r * s) / u);
+ n.x < i && (h = -h);
+ var f = Math.abs((e * r * l) / u);
+ return n.y < a && (f = -f), { x: i + h, y: a + f };
+ }
+ var tw,
+ Z9 = R(() => {
+ 'use strict';
+ o(XSe, 'intersectEllipse');
+ tw = XSe;
+ });
+ function jSe(t, e, r) {
+ return tw(t, e, e, r);
+ }
+ var hK,
+ fK = R(() => {
+ 'use strict';
+ Z9();
+ o(jSe, 'intersectCircle');
+ hK = jSe;
+ });
+ function KSe(t, e, r, n) {
+ var i, a, s, l, u, h, f, d, p, m, g, y, v, x, b;
+ if (
+ ((i = e.y - t.y),
+ (s = t.x - e.x),
+ (u = e.x * t.y - t.x * e.y),
+ (p = i * r.x + s * r.y + u),
+ (m = i * n.x + s * n.y + u),
+ !(p !== 0 && m !== 0 && dK(p, m)) &&
+ ((a = n.y - r.y),
+ (l = r.x - n.x),
+ (h = n.x * r.y - r.x * n.y),
+ (f = a * t.x + l * t.y + h),
+ (d = a * e.x + l * e.y + h),
+ !(f !== 0 && d !== 0 && dK(f, d)) && ((g = i * l - a * s), g !== 0)))
+ )
+ return (
+ (y = Math.abs(g / 2)),
+ (v = s * h - l * u),
+ (x = v < 0 ? (v - y) / g : (v + y) / g),
+ (v = a * u - i * h),
+ (b = v < 0 ? (v - y) / g : (v + y) / g),
+ { x, y: b }
+ );
+ }
+ function dK(t, e) {
+ return t * e > 0;
+ }
+ var pK,
+ mK = R(() => {
+ 'use strict';
+ o(KSe, 'intersectLine');
+ o(dK, 'sameSign');
+ pK = KSe;
+ });
+ function QSe(t, e, r) {
+ let n = t.x,
+ i = t.y,
+ a = [],
+ s = Number.POSITIVE_INFINITY,
+ l = Number.POSITIVE_INFINITY;
+ typeof e.forEach == 'function'
+ ? e.forEach(function (f) {
+ (s = Math.min(s, f.x)), (l = Math.min(l, f.y));
+ })
+ : ((s = Math.min(s, e.x)), (l = Math.min(l, e.y)));
+ let u = n - t.width / 2 - s,
+ h = i - t.height / 2 - l;
+ for (let f = 0; f < e.length; f++) {
+ let d = e[f],
+ p = e[f < e.length - 1 ? f + 1 : 0],
+ m = pK(t, r, { x: u + d.x, y: h + d.y }, { x: u + p.x, y: h + p.y });
+ m && a.push(m);
+ }
+ return a.length
+ ? (a.length > 1 &&
+ a.sort(function (f, d) {
+ let p = f.x - r.x,
+ m = f.y - r.y,
+ g = Math.sqrt(p * p + m * m),
+ y = d.x - r.x,
+ v = d.y - r.y,
+ x = Math.sqrt(y * y + v * v);
+ return g < x ? -1 : g === x ? 0 : 1;
+ }),
+ a[0])
+ : t;
+ }
+ var gK,
+ yK = R(() => {
+ 'use strict';
+ mK();
+ o(QSe, 'intersectPolygon');
+ gK = QSe;
+ });
+ var sr,
+ hi = R(() => {
+ 'use strict';
+ uK();
+ fK();
+ Z9();
+ yK();
+ q9();
+ sr = { node: cK, circle: hK, ellipse: tw, polygon: gK, rect: Dd };
+ });
+ var Rd,
+ _v = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ Sv();
+ ki();
+ ti();
+ Rd = o(async (t, e, r) => {
+ let { labelStyles: n, nodeStyles: i } = Br(e);
+ e.labelStyle = n;
+ let { shapeSvg: a, bbox: s } = await zr(t, e, En(e)),
+ l = Math.max(s.width + r.labelPaddingX * 2, e?.width || 0),
+ u = Math.max(s.height + r.labelPaddingY * 2, e?.height || 0),
+ h = -l / 2,
+ f = -u / 2,
+ d,
+ { rx: p, ry: m } = e,
+ { cssStyles: g } = e;
+ if ((r?.rx && r.ry && ((p = r.rx), (m = r.ry)), e.look === 'handDrawn')) {
+ let y = Jt.svg(a),
+ v = Fr(e, {}),
+ x = p || m ? y.path(_u(h, f, l, u, p || 0), v) : y.rectangle(h, f, l, u, v);
+ (d = a.insert(() => x, ':first-child')), d.attr('class', 'basic label-container').attr('style', g);
+ } else
+ (d = a.insert('rect', ':first-child')),
+ d
+ .attr('class', 'basic label-container')
+ .attr('style', i)
+ .attr('rx', p)
+ .attr('data-id', 'abc')
+ .attr('data-et', 'node')
+ .attr('ry', m)
+ .attr('x', h)
+ .attr('y', f)
+ .attr('width', l)
+ .attr('height', u);
+ return (
+ ar(e, d),
+ (e.intersect = function (y) {
+ return sr.rect(e, y);
+ }),
+ a
+ );
+ }, 'drawRect');
+ });
+ var vK,
+ xK = R(() => {
+ 'use strict';
+ _v();
+ vK = o(async (t, e) => Rd(t, e, { rx: 5, ry: 5, classes: 'flowchart-node' }), 'state');
+ });
+ var bK,
+ wK = R(() => {
+ 'use strict';
+ _v();
+ bK = o(async (t, e) => {
+ let r = {
+ rx: 5,
+ ry: 5,
+ classes: '',
+ labelPaddingX: (e?.padding || 0) * 1,
+ labelPaddingY: (e?.padding || 0) * 1
+ };
+ return Rd(t, e, r);
+ }, 'roundedRect');
+ });
+ var TK,
+ kK = R(() => {
+ 'use strict';
+ _v();
+ TK = o(async (t, e) => {
+ let r = {
+ rx: 0,
+ ry: 0,
+ classes: '',
+ labelPaddingX: (e?.padding || 0) * 2,
+ labelPaddingY: (e?.padding || 0) * 1
+ };
+ return Rd(t, e, r);
+ }, 'squareRect');
+ });
+ var EK,
+ CK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ti();
+ ki();
+ _t();
+ EK = o((t, e) => {
+ let { themeVariables: r } = de(),
+ { lineColor: n } = r,
+ i = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ a;
+ if (e.look === 'handDrawn') {
+ let l = Jt.svg(i).circle(0, 0, 14, Lu(n));
+ a = i.insert(() => l);
+ } else a = i.insert('circle', ':first-child');
+ return (
+ a.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14),
+ ar(e, a),
+ (e.intersect = function (s) {
+ return sr.circle(e, 7, s);
+ }),
+ i
+ );
+ }, 'stateStart');
+ });
+ var SK,
+ AK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ti();
+ ki();
+ _t();
+ SK = o((t, e) => {
+ let { themeVariables: r } = de(),
+ { lineColor: n } = r,
+ i = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ a,
+ s;
+ if (e.look === 'handDrawn') {
+ let l = Jt.svg(i),
+ u = l.circle(0, 0, 14, { ...Lu(n), roughness: 0.5 }),
+ h = l.circle(0, 0, 5, { ...Lu(n), fillStyle: 'solid' });
+ (a = i.insert(() => u)), (s = i.insert(() => h));
+ } else
+ (s = i.insert('circle', ':first-child')),
+ (a = i.insert('circle', ':first-child')),
+ a.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14),
+ s.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10);
+ return (
+ ar(e, a),
+ (e.intersect = function (l) {
+ return sr.circle(e, 7, l);
+ }),
+ i
+ );
+ }, 'stateEnd');
+ });
+ var J9,
+ _K = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ti();
+ ki();
+ _t();
+ J9 = o((t, e, r) => {
+ let { themeVariables: n } = de(),
+ { lineColor: i } = n,
+ a = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ s = 70,
+ l = 10;
+ r === 'LR' && ((s = 10), (l = 70));
+ let u = (-1 * s) / 2,
+ h = (-1 * l) / 2,
+ f;
+ if (e.look === 'handDrawn') {
+ let y = Jt.svg(a).rectangle(u, h, s, l, Lu(i));
+ f = a.insert(() => y);
+ } else
+ f = a
+ .append('rect')
+ .attr('x', u)
+ .attr('y', h)
+ .attr('width', s)
+ .attr('height', l)
+ .attr('class', 'fork-join');
+ ar(e, f);
+ let d = 0,
+ p = 0,
+ m = 10;
+ return (
+ e.height && (d = e.height),
+ e.width && (p = e.width),
+ e.padding && (m = e.padding),
+ (e.height = d + m / 2),
+ (e.width = p + m / 2),
+ (e.intersect = function (g) {
+ return sr.rect(e, g);
+ }),
+ a
+ );
+ }, 'forkJoin');
+ });
+ var LK,
+ DK = R(() => {
+ 'use strict';
+ hi();
+ ti();
+ ki();
+ _t();
+ LK = o((t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { themeVariables: i } = de(),
+ { lineColor: a } = i,
+ s = t
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', e.domId || e.id),
+ l = 28,
+ u = [
+ { x: 0, y: l / 2 },
+ { x: l / 2, y: 0 },
+ { x: 0, y: -l / 2 },
+ { x: -l / 2, y: 0 }
+ ],
+ h;
+ if (e.look === 'handDrawn') {
+ let f = Jt.svg(s),
+ d = u.map(function (m) {
+ return [m.x, m.y];
+ }),
+ p = f.polygon(d, Lu(a));
+ h = s.insert(() => p);
+ } else
+ h = s.insert('polygon', ':first-child').attr(
+ 'points',
+ u
+ .map(function (f) {
+ return f.x + ',' + f.y;
+ })
+ .join(' ')
+ );
+ return (
+ h.attr('class', 'state-start').attr('r', 7).attr('width', 28).attr('height', 28).attr('style', n),
+ (e.width = 28),
+ (e.height = 28),
+ (e.intersect = function (f) {
+ return sr.circle(e, 14, f);
+ }),
+ s
+ );
+ }, 'choice');
+ });
+ var RK,
+ NK = R(() => {
+ 'use strict';
+ ut();
+ ri();
+ hi();
+ _t();
+ ti();
+ RK = o(async (t, e) => {
+ let { themeVariables: r, handDrawnSeed: n } = de(),
+ { noteBorderColor: i, noteBkgColor: a } = r;
+ e.useHtmlLabels || (e.centerLabel = !0);
+ let { shapeSvg: l, bbox: u } = await zr(t, e, 'node ' + e.cssClasses);
+ V.info('Classes = ', e.cssClasses);
+ let { cssStyles: h } = e,
+ f,
+ d = u.width + e.padding,
+ p = u.height + e.padding,
+ m = -d / 2,
+ g = -p / 2;
+ if (e.look === 'handDrawn') {
+ let v = Jt.svg(l).rectangle(m, g, d, p, {
+ roughness: 0.7,
+ fill: a,
+ fillWeight: 3,
+ seed: n,
+ stroke: i
+ });
+ (f = l.insert(() => v, ':first-child')), f.attr('class', 'basic label-container').attr('style', h);
+ } else
+ (f = l.insert('rect', ':first-child')),
+ f
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', m)
+ .attr('y', g)
+ .attr('width', d)
+ .attr('height', p);
+ return (
+ ar(e, f),
+ (e.intersect = function (y) {
+ return sr.rect(e, y);
+ }),
+ l
+ );
+ }, 'note');
+ });
+ var MK,
+ IK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Sv();
+ MK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.height + e.padding,
+ l = a.width + s / 4 + e.padding,
+ u,
+ { cssStyles: h } = e;
+ if (e.look === 'handDrawn') {
+ let f = Jt.svg(i),
+ d = Fr(e, {}),
+ p = _u(-l / 2, -s / 2, l, s, s / 2),
+ m = f.path(p, d);
+ (u = i.insert(() => m, ':first-child')), u.attr('class', 'basic label-container').attr('style', h);
+ } else
+ (u = i.insert('rect', ':first-child')),
+ u
+ .attr('class', 'basic label-container')
+ .attr('style', n)
+ .attr('rx', s / 2)
+ .attr('ry', s / 2)
+ .attr('x', -l / 2)
+ .attr('y', -s / 2)
+ .attr('width', l)
+ .attr('height', s);
+ return (
+ ar(e, u),
+ (e.intersect = function (f) {
+ return sr.rect(e, f);
+ }),
+ i
+ );
+ }, 'stadium');
+ });
+ var OK,
+ PK = R(() => {
+ 'use strict';
+ Zt();
+ rr();
+ ri();
+ H5();
+ hi();
+ ki();
+ ti();
+ _t();
+ Sv();
+ ut();
+ OK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let i;
+ e.cssClasses ? (i = 'node ' + e.cssClasses) : (i = 'node default');
+ let a = t
+ .insert('g')
+ .attr('class', i)
+ .attr('id', e.domId || e.id),
+ s = a.insert('g'),
+ l = a.insert('g').attr('class', 'label').attr('style', n),
+ u = e.description,
+ h = e.label,
+ f = l.node().appendChild(await gc(h, e.labelStyle, !0, !0)),
+ d = { width: 0, height: 0 };
+ if (yr(de()?.flowchart?.htmlLabels)) {
+ let A = f.children[0],
+ L = $e(f);
+ (d = A.getBoundingClientRect()), L.attr('width', d.width), L.attr('height', d.height);
+ }
+ V.info('Text 2', u);
+ let p = u || [],
+ m = f.getBBox(),
+ g = l.node().appendChild(await gc(p.join ? p.join('
') : p, e.labelStyle, !0, !0)),
+ y = g.children[0],
+ v = $e(g);
+ (d = y.getBoundingClientRect()), v.attr('width', d.width), v.attr('height', d.height);
+ let x = (e.padding || 0) / 2;
+ $e(g).attr(
+ 'transform',
+ 'translate( ' + (d.width > m.width ? 0 : (m.width - d.width) / 2) + ', ' + (m.height + x + 5) + ')'
+ ),
+ $e(f).attr(
+ 'transform',
+ 'translate( ' + (d.width < m.width ? 0 : -(m.width - d.width) / 2) + ', 0)'
+ ),
+ (d = l.node().getBBox()),
+ l.attr('transform', 'translate(' + -d.width / 2 + ', ' + (-d.height / 2 - x + 3) + ')');
+ let b = d.width + (e.padding || 0),
+ w = d.height + (e.padding || 0),
+ S = -d.width / 2 - x,
+ T = -d.height / 2 - x,
+ E,
+ _;
+ if (e.look === 'handDrawn') {
+ let A = Jt.svg(a),
+ L = Fr(e, {}),
+ M = A.path(_u(S, T, b, w, e.rx || 0), L),
+ N = A.line(
+ -d.width / 2 - x,
+ -d.height / 2 - x + m.height + x,
+ d.width / 2 + x,
+ -d.height / 2 - x + m.height + x,
+ L
+ );
+ (_ = a.insert(() => (V.debug('Rough node insert CXC', M), N), ':first-child')),
+ (E = a.insert(() => (V.debug('Rough node insert CXC', M), M), ':first-child'));
+ } else
+ (E = s.insert('rect', ':first-child')),
+ (_ = s.insert('line')),
+ E.attr('class', 'outer title-state')
+ .attr('style', n)
+ .attr('x', -d.width / 2 - x)
+ .attr('y', -d.height / 2 - x)
+ .attr('width', d.width + (e.padding || 0))
+ .attr('height', d.height + (e.padding || 0)),
+ _.attr('class', 'divider')
+ .attr('x1', -d.width / 2 - x)
+ .attr('x2', d.width / 2 + x)
+ .attr('y1', -d.height / 2 - x + m.height + x)
+ .attr('y2', -d.height / 2 - x + m.height + x);
+ return (
+ ar(e, E),
+ (e.intersect = function (A) {
+ return sr.rect(e, A);
+ }),
+ a
+ );
+ }, 'rectWithTitle');
+ });
+ function Ma(t, e, r, n) {
+ return t
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ n
+ .map(function (i) {
+ return i.x + ',' + i.y;
+ })
+ .join(' ')
+ )
+ .attr('class', 'label-container')
+ .attr('transform', 'translate(' + -e / 2 + ',' + r / 2 + ')');
+ }
+ var Du = R(() => {
+ 'use strict';
+ o(Ma, 'insertPolygonShape');
+ });
+ var BK,
+ FK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ BK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = (e?.padding || 0) / 2,
+ l = a.width + e.padding,
+ u = a.height + e.padding,
+ h = -a.width / 2 - s,
+ f = -a.height / 2 - s,
+ d = [
+ { x: 0, y: 0 },
+ { x: l, y: 0 },
+ { x: l, y: -u },
+ { x: 0, y: -u },
+ { x: 0, y: 0 },
+ { x: -8, y: 0 },
+ { x: l + 8, y: 0 },
+ { x: l + 8, y: -u },
+ { x: -8, y: -u },
+ { x: -8, y: 0 }
+ ];
+ if (e.look === 'handDrawn') {
+ let p = Jt.svg(i),
+ m = Fr(e, {}),
+ g = p.rectangle(h - 8, f, l + 16, u, m),
+ y = p.line(h, f, h, f + u, m),
+ v = p.line(h + l, f, h + l, f + u, m);
+ i.insert(() => y, ':first-child'), i.insert(() => v, ':first-child');
+ let x = i.insert(() => g, ':first-child'),
+ { cssStyles: b } = e;
+ x.attr('class', 'basic label-container').attr('style', b), ar(e, x);
+ } else {
+ let p = Ma(i, l, u, d);
+ n && p.attr('style', n), ar(e, p);
+ }
+ return (
+ (e.intersect = function (p) {
+ return sr.polygon(e, d, p);
+ }),
+ i
+ );
+ }, 'subroutine');
+ });
+ var ZSe,
+ JSe,
+ eAe,
+ zK,
+ GK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ (ZSe = o(
+ (t, e, r, n, i, a) =>
+ [
+ `M${t},${e + a}`,
+ `a${i},${a} 0,0,0 ${r},0`,
+ `a${i},${a} 0,0,0 ${-r},0`,
+ `l0,${n}`,
+ `a${i},${a} 0,0,0 ${r},0`,
+ `l0,${-n}`
+ ].join(' '),
+ 'createCylinderPathD'
+ )),
+ (JSe = o(
+ (t, e, r, n, i, a) =>
+ [
+ `M${t},${e + a}`,
+ `M${t + r},${e + a}`,
+ `a${i},${a} 0,0,0 ${-r},0`,
+ `l0,${n}`,
+ `a${i},${a} 0,0,0 ${r},0`,
+ `l0,${-n}`
+ ].join(' '),
+ 'createOuterCylinderPathD'
+ )),
+ (eAe = o(
+ (t, e, r, n, i, a) => [`M${t - r / 2},${-n / 2}`, `a${i},${a} 0,0,0 ${r},0`].join(' '),
+ 'createInnerCylinderPathD'
+ )),
+ (zK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = s / 2,
+ u = l / (2.5 + s / 50),
+ h = a.height + u + e.padding,
+ f,
+ { cssStyles: d } = e;
+ if (e.look === 'handDrawn') {
+ let p = Jt.svg(i),
+ m = JSe(0, 0, s, h, l, u),
+ g = eAe(0, u, s, h, l, u),
+ y = p.path(m, Fr(e, {})),
+ v = p.path(g, Fr(e, { fill: 'none' }));
+ (f = i.insert(() => v, ':first-child')),
+ (f = i.insert(() => y, ':first-child')),
+ f.attr('class', 'basic label-container'),
+ d && f.attr('style', d);
+ } else {
+ let p = ZSe(0, 0, s, h, l, u);
+ f = i
+ .insert('path', ':first-child')
+ .attr('d', p)
+ .attr('class', 'basic label-container')
+ .attr('style', d)
+ .attr('style', n);
+ }
+ return (
+ f.attr('label-offset-y', u),
+ f.attr('transform', `translate(${-s / 2}, ${-(h / 2 + u)})`),
+ ar(e, f),
+ (e.intersect = function (p) {
+ let m = sr.rect(e, p),
+ g = m.x - (e.x ?? 0);
+ if (
+ l != 0 &&
+ (Math.abs(g) < (e.width ?? 0) / 2 ||
+ (Math.abs(g) == (e.width ?? 0) / 2 &&
+ Math.abs(m.y - (e.y ?? 0)) > (e.height ?? 0) / 2 - u))
+ ) {
+ let y = u * u * (1 - (g * g) / (l * l));
+ y > 0 && (y = Math.sqrt(y)), (y = u - y), p.y - (e.y ?? 0) > 0 && (y = -y), (m.y += y);
+ }
+ return m;
+ }),
+ i
+ );
+ }, 'cylinder'));
+ });
+ var $K,
+ VK = R(() => {
+ 'use strict';
+ ut();
+ ri();
+ hi();
+ ki();
+ ti();
+ $K = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a, halfPadding: s } = await zr(t, e, En(e)),
+ l = a.width / 2 + s,
+ u,
+ { cssStyles: h } = e;
+ if (e.look === 'handDrawn') {
+ let f = Jt.svg(i),
+ d = Fr(e, {}),
+ p = f.circle(0, 0, l * 2, d);
+ (u = i.insert(() => p, ':first-child')), u.attr('class', 'basic label-container').attr('style', h);
+ } else
+ u = i
+ .insert('circle', ':first-child')
+ .attr('class', 'basic label-container')
+ .attr('style', n)
+ .attr('r', l)
+ .attr('cx', 0)
+ .attr('cy', 0);
+ return (
+ ar(e, u),
+ (e.intersect = function (f) {
+ return V.info('Circle intersect', e, l, f), sr.circle(e, l, f);
+ }),
+ i
+ );
+ }, 'circle');
+ });
+ var UK,
+ HK = R(() => {
+ 'use strict';
+ ut();
+ ri();
+ hi();
+ ki();
+ ti();
+ UK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a, halfPadding: s } = await zr(t, e, En(e)),
+ u = a.width / 2 + s + 5,
+ h = a.width / 2 + s,
+ f,
+ { cssStyles: d } = e;
+ if (e.look === 'handDrawn') {
+ let p = Jt.svg(i),
+ m = Fr(e, { roughness: 0.2, strokeWidth: 2.5 }),
+ g = Fr(e, { roughness: 0.2, strokeWidth: 1.5 }),
+ y = p.circle(0, 0, u * 2, m),
+ v = p.circle(0, 0, h * 2, g);
+ (f = i.insert('g', ':first-child')),
+ f.attr('class', e.cssClasses).attr('style', d),
+ f.node()?.appendChild(y),
+ f.node()?.appendChild(v);
+ } else {
+ f = i.insert('g', ':first-child');
+ let p = f.insert('circle', ':first-child'),
+ m = f.insert('circle');
+ f.attr('class', 'basic label-container').attr('style', n),
+ p.attr('class', 'outer-circle').attr('style', n).attr('r', u).attr('cx', 0).attr('cy', 0),
+ m.attr('class', 'inner-circle').attr('style', n).attr('r', h).attr('cx', 0).attr('cy', 0);
+ }
+ return (
+ ar(e, f),
+ (e.intersect = function (p) {
+ return V.info('DoubleCircle intersect', e, u, p), sr.circle(e, u, p);
+ }),
+ i
+ );
+ }, 'doublecircle');
+ });
+ var tAe,
+ YK,
+ WK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (tAe = o(
+ (t, e, r, n) =>
+ [
+ `M${t - n / 2},${e}`,
+ `L${t + r},${e}`,
+ `L${t + r},${e - n}`,
+ `L${t - n / 2},${e - n}`,
+ `L${t},${e - n / 2}`,
+ 'Z'
+ ].join(' '),
+ 'createPolygonPathD'
+ )),
+ (YK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = [
+ { x: -l / 2, y: 0 },
+ { x: s, y: 0 },
+ { x: s, y: -l },
+ { x: -l / 2, y: -l },
+ { x: 0, y: -l / 2 }
+ ],
+ h,
+ { cssStyles: f } = e;
+ if (e.look === 'handDrawn') {
+ let d = Jt.svg(i),
+ p = Fr(e, {}),
+ m = tAe(0, 0, s, l),
+ g = d.path(m, p);
+ (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)),
+ f && h.attr('style', f);
+ } else h = Ma(i, s, l, u);
+ return (
+ n && h.attr('style', n),
+ (e.width = s + l),
+ (e.height = l),
+ ar(e, h),
+ (e.intersect = function (d) {
+ return sr.polygon(e, u, d);
+ }),
+ i
+ );
+ }, 'rect_left_inv_arrow'));
+ });
+ var rAe,
+ qK,
+ XK = R(() => {
+ 'use strict';
+ ut();
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (rAe = o(
+ (t, e, r) =>
+ [
+ `M${t + r / 2},${e}`,
+ `L${t + r},${e - r / 2}`,
+ `L${t + r / 2},${e - r}`,
+ `L${t},${e - r / 2}`,
+ 'Z'
+ ].join(' '),
+ 'createDecisionBoxPathD'
+ )),
+ (qK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = s + l,
+ h = [
+ { x: u / 2, y: 0 },
+ { x: u, y: -u / 2 },
+ { x: u / 2, y: -u },
+ { x: 0, y: -u / 2 }
+ ],
+ f,
+ { cssStyles: d } = e;
+ if (e.look === 'handDrawn') {
+ let p = Jt.svg(i),
+ m = Fr(e, {}),
+ g = rAe(0, 0, u),
+ y = p.path(g, m);
+ (f = i.insert(() => y, ':first-child').attr('transform', `translate(${-u / 2}, ${u / 2})`)),
+ d && f.attr('style', d);
+ } else f = Ma(i, u, u, h);
+ return (
+ n && f.attr('style', n),
+ ar(e, f),
+ (e.intersect = function (p) {
+ return (
+ V.debug(
+ `APA12 Intersect called SPLIT
+point:`,
+ p,
+ `
+node:
+`,
+ e,
+ `
+res:`,
+ sr.polygon(e, h, p)
+ ),
+ sr.polygon(e, h, p)
+ );
+ }),
+ i
+ );
+ }, 'question'));
+ });
+ var nAe,
+ jK,
+ KK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (nAe = o(
+ (t, e, r, n, i) =>
+ [
+ `M${t + i},${e}`,
+ `L${t + r - i},${e}`,
+ `L${t + r},${e - n / 2}`,
+ `L${t + r - i},${e - n}`,
+ `L${t + i},${e - n}`,
+ `L${t},${e - n / 2}`,
+ 'Z'
+ ].join(' '),
+ 'createHexagonPathD'
+ )),
+ (jK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = 4,
+ l = a.height + e.padding,
+ u = l / s,
+ h = a.width + 2 * u + e.padding,
+ f = [
+ { x: u, y: 0 },
+ { x: h - u, y: 0 },
+ { x: h, y: -l / 2 },
+ { x: h - u, y: -l },
+ { x: u, y: -l },
+ { x: 0, y: -l / 2 }
+ ],
+ d,
+ { cssStyles: p } = e;
+ if (e.look === 'handDrawn') {
+ let m = Jt.svg(i),
+ g = Fr(e, {}),
+ y = nAe(0, 0, h, l, u),
+ v = m.path(y, g);
+ (d = i.insert(() => v, ':first-child').attr('transform', `translate(${-h / 2}, ${l / 2})`)),
+ p && d.attr('style', p);
+ } else d = Ma(i, h, l, f);
+ return (
+ n && d.attr('style', n),
+ (e.width = h),
+ (e.height = l),
+ ar(e, d),
+ (e.intersect = function (m) {
+ return sr.polygon(e, f, m);
+ }),
+ i
+ );
+ }, 'hexagon'));
+ });
+ var iAe,
+ QK,
+ ZK = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (iAe = o(
+ (t, e, r, n) =>
+ [
+ `M${t - (2 * n) / 6},${e}`,
+ `L${t + r - n / 6},${e}`,
+ `L${t + r + (2 * n) / 6},${e - n}`,
+ `L${t + n / 6},${e - n}`,
+ 'Z'
+ ].join(' '),
+ 'createLeanRightPathD'
+ )),
+ (QK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = [
+ { x: (-2 * l) / 6, y: 0 },
+ { x: s - l / 6, y: 0 },
+ { x: s + (2 * l) / 6, y: -l },
+ { x: l / 6, y: -l }
+ ],
+ h,
+ { cssStyles: f } = e;
+ if (e.look === 'handDrawn') {
+ let d = Jt.svg(i),
+ p = Fr(e, {}),
+ m = iAe(0, 0, s, l),
+ g = d.path(m, p);
+ (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)),
+ f && h.attr('style', f);
+ } else h = Ma(i, s, l, u);
+ return (
+ n && h.attr('style', n),
+ (e.width = s),
+ (e.height = l),
+ ar(e, h),
+ (e.intersect = function (d) {
+ return sr.polygon(e, u, d);
+ }),
+ i
+ );
+ }, 'lean_right'));
+ });
+ var aAe,
+ JK,
+ eQ = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (aAe = o(
+ (t, e, r, n) =>
+ [
+ `M${t + (2 * n) / 6},${e}`,
+ `L${t + r + n / 6},${e}`,
+ `L${t + r - (2 * n) / 6},${e - n}`,
+ `L${t - n / 6},${e - n}`,
+ 'Z'
+ ].join(' '),
+ 'createLeanLeftPathD'
+ )),
+ (JK = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = [
+ { x: (2 * l) / 6, y: 0 },
+ { x: s + l / 6, y: 0 },
+ { x: s - (2 * l) / 6, y: -l },
+ { x: -l / 6, y: -l }
+ ],
+ h,
+ { cssStyles: f } = e;
+ if (e.look === 'handDrawn') {
+ let d = Jt.svg(i),
+ p = Fr(e, {}),
+ m = aAe(0, 0, s, l),
+ g = d.path(m, p);
+ (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)),
+ f && h.attr('style', f);
+ } else h = Ma(i, s, l, u);
+ return (
+ n && h.attr('style', n),
+ (e.width = s),
+ (e.height = l),
+ ar(e, h),
+ (e.intersect = function (d) {
+ return sr.polygon(e, u, d);
+ }),
+ i
+ );
+ }, 'lean_left'));
+ });
+ var sAe,
+ tQ,
+ rQ = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (sAe = o(
+ (t, e, r, n) =>
+ [
+ `M${t - (2 * n) / 6},${e}`,
+ `L${t + r + (2 * n) / 6},${e}`,
+ `L${t + r - n / 6},${e - n}`,
+ `L${t + n / 6},${e - n}`,
+ 'Z'
+ ].join(' '),
+ 'createTrapezoidPathD'
+ )),
+ (tQ = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = [
+ { x: (-2 * l) / 6, y: 0 },
+ { x: s + (2 * l) / 6, y: 0 },
+ { x: s - l / 6, y: -l },
+ { x: l / 6, y: -l }
+ ],
+ h,
+ { cssStyles: f } = e;
+ if (e.look === 'handDrawn') {
+ let d = Jt.svg(i),
+ p = Fr(e, {}),
+ m = sAe(0, 0, s, l),
+ g = d.path(m, p);
+ (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)),
+ f && h.attr('style', f);
+ } else h = Ma(i, s, l, u);
+ return (
+ n && h.attr('style', n),
+ (e.width = s),
+ (e.height = l),
+ ar(e, h),
+ (e.intersect = function (d) {
+ return sr.polygon(e, u, d);
+ }),
+ i
+ );
+ }, 'trapezoid'));
+ });
+ var oAe,
+ nQ,
+ iQ = R(() => {
+ 'use strict';
+ ri();
+ hi();
+ ki();
+ ti();
+ Du();
+ (oAe = o(
+ (t, e, r, n) =>
+ [
+ `M${t + n / 6},${e}`,
+ `L${t + r - n / 6},${e}`,
+ `L${t + r + (2 * n) / 6},${e - n}`,
+ `L${t - (2 * n) / 6},${e - n}`,
+ 'Z'
+ ].join(' '),
+ 'createInvertedTrapezoidPathD'
+ )),
+ (nQ = o(async (t, e) => {
+ let { labelStyles: r, nodeStyles: n } = Br(e);
+ e.labelStyle = r;
+ let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)),
+ s = a.width + e.padding,
+ l = a.height + e.padding,
+ u = [
+ { x: l / 6, y: 0 },
+ { x: s - l / 6, y: 0 },
+ { x: s + (2 * l) / 6, y: -l },
+ { x: (-2 * l) / 6, y: -l }
+ ],
+ h,
+ { cssStyles: f } = e;
+ if (e.look === 'handDrawn') {
+ let d = Jt.svg(i),
+ p = Fr(e, {}),
+ m = oAe(0, 0, s, l),
+ g = d.path(m, p);
+ (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)),
+ f && h.attr('style', f);
+ } else h = Ma(i, s, l, u);
+ return (
+ n && h.attr('style', n),
+ (e.width = s),
+ (e.height = l),
+ ar(e, h),
+ (e.intersect = function (d) {
+ return sr.polygon(e, u, d);
+ }),
+ i
+ );
+ }, 'inv_trapezoid'));
+ });
+ var aQ,
+ sQ = R(() => {
+ 'use strict';
+ _v();
+ ri();
+ hi();
+ aQ = o(async (t, e) => {
+ let { shapeSvg: r } = await zr(t, e, 'label'),
+ n = r.insert('rect', ':first-child');
+ return (
+ n.attr('width', 0.1).attr('height', 0.1),
+ r.attr('class', 'label edgeLabel'),
+ ar(e, n),
+ (e.intersect = function (s) {
+ return sr.rect(e, s);
+ }),
+ r
+ );
+ }, 'labelRect');
+ });
+ var oQ,
+ ym,
+ rw,
+ lQ,
+ cQ,
+ eL,
+ tL = R(() => {
+ 'use strict';
+ ut();
+ xK();
+ wK();
+ kK();
+ CK();
+ AK();
+ _K();
+ DK();
+ NK();
+ IK();
+ PK();
+ _t();
+ FK();
+ GK();
+ VK();
+ HK();
+ WK();
+ XK();
+ KK();
+ ZK();
+ eQ();
+ rQ();
+ iQ();
+ sQ();
+ (oQ = {
+ state: vK,
+ stateStart: EK,
+ stateEnd: SK,
+ fork: J9,
+ join: J9,
+ choice: LK,
+ note: RK,
+ roundedRect: bK,
+ rectWithTitle: OK,
+ squareRect: TK,
+ stadium: MK,
+ subroutine: BK,
+ cylinder: zK,
+ circle: $K,
+ doublecircle: UK,
+ odd: YK,
+ diamond: qK,
+ hexagon: jK,
+ lean_right: QK,
+ lean_left: JK,
+ trapezoid: tQ,
+ inv_trapezoid: nQ,
+ labelRect: aQ
+ }),
+ (ym = new Map()),
+ (rw = o(async (t, e, r) => {
+ let n, i;
+ if (
+ (e.shape === 'rect' && (e.rx && e.ry ? (e.shape = 'roundedRect') : (e.shape = 'squareRect')),
+ e.link)
+ ) {
+ let a;
+ de().securityLevel === 'sandbox'
+ ? (a = '_top')
+ : e.linkTarget && (a = e.linkTarget || '_blank'),
+ (n = t.insert('svg:a').attr('xlink:href', e.link).attr('target', a)),
+ (i = await oQ[e.shape](n, e, r));
+ } else (i = await oQ[e.shape](t, e, r)), (n = i);
+ return (
+ e.tooltip && i.attr('title', e.tooltip),
+ ym.set(e.id, n),
+ e.haveCallback && ym.get(e.id).attr('class', ym.get(e.id).attr('class') + ' clickable'),
+ n
+ );
+ }, 'insertNode')),
+ (lQ = o((t, e) => {
+ ym.set(e.id, t);
+ }, 'setNodeElem')),
+ (cQ = o(() => {
+ ym.clear();
+ }, 'clear')),
+ (eL = o((t) => {
+ let e = ym.get(t.id);
+ V.trace(
+ 'Transforming node',
+ t.diff,
+ t,
+ 'translate(' + (t.x - t.width / 2 - 5) + ', ' + t.width / 2 + ')'
+ );
+ let r = 8,
+ n = t.diff || 0;
+ return (
+ t.clusterNode
+ ? e.attr(
+ 'transform',
+ 'translate(' + (t.x + n - t.width / 2) + ', ' + (t.y - t.height / 2 - r) + ')'
+ )
+ : e.attr('transform', 'translate(' + t.x + ', ' + t.y + ')'),
+ n
+ );
+ }, 'positionNode'));
+ });
+ var uQ,
+ hQ = R(() => {
+ 'use strict';
+ qs();
+ rr();
+ ut();
+ X9();
+ K9();
+ Q9();
+ tL();
+ ri();
+ xr();
+ uQ = {
+ common: We,
+ getConfig: Or,
+ insertCluster: Y5,
+ insertEdge: J5,
+ insertEdgeLabel: Q5,
+ insertMarkers: ew,
+ insertNode: rw,
+ interpolateToCurve: om,
+ labelHelper: zr,
+ log: V,
+ positionEdgeLabel: Z5
+ };
+ });
+ function cAe(t) {
+ return typeof t == 'symbol' || (Wn(t) && fa(t) == lAe);
+ }
+ var lAe,
+ so,
+ Nd = R(() => {
+ 'use strict';
+ wu();
+ Mo();
+ lAe = '[object Symbol]';
+ o(cAe, 'isSymbol');
+ so = cAe;
+ });
+ function uAe(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length, i = Array(n); ++r < n; ) i[r] = e(t[r], r, t);
+ return i;
+ }
+ var Ss,
+ Md = R(() => {
+ 'use strict';
+ o(uAe, 'arrayMap');
+ Ss = uAe;
+ });
+ function pQ(t) {
+ if (typeof t == 'string') return t;
+ if (wt(t)) return Ss(t, pQ) + '';
+ if (so(t)) return dQ ? dQ.call(t) : '';
+ var e = t + '';
+ return e == '0' && 1 / t == -hAe ? '-0' : e;
+ }
+ var hAe,
+ fQ,
+ dQ,
+ mQ,
+ gQ = R(() => {
+ 'use strict';
+ vd();
+ Md();
+ Bn();
+ Nd();
+ (hAe = 1 / 0), (fQ = Ji ? Ji.prototype : void 0), (dQ = fQ ? fQ.toString : void 0);
+ o(pQ, 'baseToString');
+ mQ = pQ;
+ });
+ function dAe(t) {
+ for (var e = t.length; e-- && fAe.test(t.charAt(e)); );
+ return e;
+ }
+ var fAe,
+ yQ,
+ vQ = R(() => {
+ 'use strict';
+ fAe = /\s/;
+ o(dAe, 'trimmedEndIndex');
+ yQ = dAe;
+ });
+ function mAe(t) {
+ return t && t.slice(0, yQ(t) + 1).replace(pAe, '');
+ }
+ var pAe,
+ xQ,
+ bQ = R(() => {
+ 'use strict';
+ vQ();
+ pAe = /^\s+/;
+ o(mAe, 'baseTrim');
+ xQ = mAe;
+ });
+ function bAe(t) {
+ if (typeof t == 'number') return t;
+ if (so(t)) return wQ;
+ if (pn(t)) {
+ var e = typeof t.valueOf == 'function' ? t.valueOf() : t;
+ t = pn(e) ? e + '' : e;
+ }
+ if (typeof t != 'string') return t === 0 ? t : +t;
+ t = xQ(t);
+ var r = yAe.test(t);
+ return r || vAe.test(t) ? xAe(t.slice(2), r ? 2 : 8) : gAe.test(t) ? wQ : +t;
+ }
+ var wQ,
+ gAe,
+ yAe,
+ vAe,
+ xAe,
+ TQ,
+ kQ = R(() => {
+ 'use strict';
+ bQ();
+ Js();
+ Nd();
+ (wQ = NaN), (gAe = /^[-+]0x[0-9a-f]+$/i), (yAe = /^0b[01]+$/i), (vAe = /^0o[0-7]+$/i), (xAe = parseInt);
+ o(bAe, 'toNumber');
+ TQ = bAe;
+ });
+ function TAe(t) {
+ if (!t) return t === 0 ? t : 0;
+ if (((t = TQ(t)), t === EQ || t === -EQ)) {
+ var e = t < 0 ? -1 : 1;
+ return e * wAe;
+ }
+ return t === t ? t : 0;
+ }
+ var EQ,
+ wAe,
+ vm,
+ rL = R(() => {
+ 'use strict';
+ kQ();
+ (EQ = 1 / 0), (wAe = 17976931348623157e292);
+ o(TAe, 'toFinite');
+ vm = TAe;
+ });
+ function kAe(t) {
+ var e = vm(t),
+ r = e % 1;
+ return e === e ? (r ? e - r : e) : 0;
+ }
+ var yc,
+ xm = R(() => {
+ 'use strict';
+ rL();
+ o(kAe, 'toInteger');
+ yc = kAe;
+ });
+ var EAe,
+ nw,
+ CQ = R(() => {
+ 'use strict';
+ Nh();
+ Ro();
+ (EAe = xs(Jn, 'WeakMap')), (nw = EAe);
+ });
+ function CAe() {}
+ var qn,
+ nL = R(() => {
+ 'use strict';
+ o(CAe, 'noop');
+ qn = CAe;
+ });
+ function SAe(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length; ++r < n && e(t[r], r, t) !== !1; );
+ return t;
+ }
+ var iw,
+ iL = R(() => {
+ 'use strict';
+ o(SAe, 'arrayEach');
+ iw = SAe;
+ });
+ function AAe(t, e, r, n) {
+ for (var i = t.length, a = r + (n ? 1 : -1); n ? a-- : ++a < i; ) if (e(t[a], a, t)) return a;
+ return -1;
+ }
+ var aw,
+ aL = R(() => {
+ 'use strict';
+ o(AAe, 'baseFindIndex');
+ aw = AAe;
+ });
+ function _Ae(t) {
+ return t !== t;
+ }
+ var SQ,
+ AQ = R(() => {
+ 'use strict';
+ o(_Ae, 'baseIsNaN');
+ SQ = _Ae;
+ });
+ function LAe(t, e, r) {
+ for (var n = r - 1, i = t.length; ++n < i; ) if (t[n] === e) return n;
+ return -1;
+ }
+ var _Q,
+ LQ = R(() => {
+ 'use strict';
+ o(LAe, 'strictIndexOf');
+ _Q = LAe;
+ });
+ function DAe(t, e, r) {
+ return e === e ? _Q(t, e, r) : aw(t, SQ, r);
+ }
+ var bm,
+ sw = R(() => {
+ 'use strict';
+ aL();
+ AQ();
+ LQ();
+ o(DAe, 'baseIndexOf');
+ bm = DAe;
+ });
+ function RAe(t, e) {
+ var r = t == null ? 0 : t.length;
+ return !!r && bm(t, e, 0) > -1;
+ }
+ var ow,
+ sL = R(() => {
+ 'use strict';
+ sw();
+ o(RAe, 'arrayIncludes');
+ ow = RAe;
+ });
+ var NAe,
+ DQ,
+ RQ = R(() => {
+ 'use strict';
+ F_();
+ (NAe = s5(Object.keys, Object)), (DQ = NAe);
+ });
+ function OAe(t) {
+ if (!fc(t)) return DQ(t);
+ var e = [];
+ for (var r in Object(t)) IAe.call(t, r) && r != 'constructor' && e.push(r);
+ return e;
+ }
+ var MAe,
+ IAe,
+ wm,
+ lw = R(() => {
+ 'use strict';
+ tm();
+ RQ();
+ (MAe = Object.prototype), (IAe = MAe.hasOwnProperty);
+ o(OAe, 'baseKeys');
+ wm = OAe;
+ });
+ function PAe(t) {
+ return ei(t) ? h5(t) : wm(t);
+ }
+ var Dr,
+ vc = R(() => {
+ 'use strict';
+ U_();
+ lw();
+ Io();
+ o(PAe, 'keys');
+ Dr = PAe;
+ });
+ var BAe,
+ FAe,
+ zAe,
+ pa,
+ NQ = R(() => {
+ 'use strict';
+ am();
+ kd();
+ q_();
+ Io();
+ tm();
+ vc();
+ (BAe = Object.prototype),
+ (FAe = BAe.hasOwnProperty),
+ (zAe = p5(function (t, e) {
+ if (fc(e) || ei(e)) {
+ Bo(e, Dr(e), t);
+ return;
+ }
+ for (var r in e) FAe.call(e, r) && dc(t, r, e[r]);
+ })),
+ (pa = zAe);
+ });
+ function VAe(t, e) {
+ if (wt(t)) return !1;
+ var r = typeof t;
+ return r == 'number' || r == 'symbol' || r == 'boolean' || t == null || so(t)
+ ? !0
+ : $Ae.test(t) || !GAe.test(t) || (e != null && t in Object(e));
+ }
+ var GAe,
+ $Ae,
+ Tm,
+ cw = R(() => {
+ 'use strict';
+ Bn();
+ Nd();
+ (GAe = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/), ($Ae = /^\w*$/);
+ o(VAe, 'isKey');
+ Tm = VAe;
+ });
+ function HAe(t) {
+ var e = qp(t, function (n) {
+ return r.size === UAe && r.clear(), n;
+ }),
+ r = e.cache;
+ return e;
+ }
+ var UAe,
+ MQ,
+ IQ = R(() => {
+ 'use strict';
+ R_();
+ UAe = 500;
+ o(HAe, 'memoizeCapped');
+ MQ = HAe;
+ });
+ var YAe,
+ WAe,
+ qAe,
+ OQ,
+ PQ = R(() => {
+ 'use strict';
+ IQ();
+ (YAe = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g),
+ (WAe = /\\(\\)?/g),
+ (qAe = MQ(function (t) {
+ var e = [];
+ return (
+ t.charCodeAt(0) === 46 && e.push(''),
+ t.replace(YAe, function (r, n, i, a) {
+ e.push(i ? a.replace(WAe, '$1') : n || r);
+ }),
+ e
+ );
+ })),
+ (OQ = qAe);
+ });
+ function XAe(t) {
+ return t == null ? '' : mQ(t);
+ }
+ var uw,
+ oL = R(() => {
+ 'use strict';
+ gQ();
+ o(XAe, 'toString');
+ uw = XAe;
+ });
+ function jAe(t, e) {
+ return wt(t) ? t : Tm(t, e) ? [t] : OQ(uw(t));
+ }
+ var Hh,
+ Lv = R(() => {
+ 'use strict';
+ Bn();
+ cw();
+ PQ();
+ oL();
+ o(jAe, 'castPath');
+ Hh = jAe;
+ });
+ function QAe(t) {
+ if (typeof t == 'string' || so(t)) return t;
+ var e = t + '';
+ return e == '0' && 1 / t == -KAe ? '-0' : e;
+ }
+ var KAe,
+ xc,
+ km = R(() => {
+ 'use strict';
+ Nd();
+ KAe = 1 / 0;
+ o(QAe, 'toKey');
+ xc = QAe;
+ });
+ function ZAe(t, e) {
+ e = Hh(e, t);
+ for (var r = 0, n = e.length; t != null && r < n; ) t = t[xc(e[r++])];
+ return r && r == n ? t : void 0;
+ }
+ var Yh,
+ Dv = R(() => {
+ 'use strict';
+ Lv();
+ km();
+ o(ZAe, 'baseGet');
+ Yh = ZAe;
+ });
+ function JAe(t, e, r) {
+ var n = t == null ? void 0 : Yh(t, e);
+ return n === void 0 ? r : n;
+ }
+ var BQ,
+ FQ = R(() => {
+ 'use strict';
+ Dv();
+ o(JAe, 'get');
+ BQ = JAe;
+ });
+ function e8e(t, e) {
+ for (var r = -1, n = e.length, i = t.length; ++r < n; ) t[i + r] = e[r];
+ return t;
+ }
+ var Em,
+ hw = R(() => {
+ 'use strict';
+ o(e8e, 'arrayPush');
+ Em = e8e;
+ });
+ function t8e(t) {
+ return wt(t) || kl(t) || !!(zQ && t && t[zQ]);
+ }
+ var zQ,
+ GQ,
+ $Q = R(() => {
+ 'use strict';
+ vd();
+ rm();
+ Bn();
+ zQ = Ji ? Ji.isConcatSpreadable : void 0;
+ o(t8e, 'isFlattenable');
+ GQ = t8e;
+ });
+ function VQ(t, e, r, n, i) {
+ var a = -1,
+ s = t.length;
+ for (r || (r = GQ), i || (i = []); ++a < s; ) {
+ var l = t[a];
+ e > 0 && r(l) ? (e > 1 ? VQ(l, e - 1, r, n, i) : Em(i, l)) : n || (i[i.length] = l);
+ }
+ return i;
+ }
+ var bc,
+ Cm = R(() => {
+ 'use strict';
+ hw();
+ $Q();
+ o(VQ, 'baseFlatten');
+ bc = VQ;
+ });
+ function r8e(t) {
+ var e = t == null ? 0 : t.length;
+ return e ? bc(t, 1) : [];
+ }
+ var Gr,
+ fw = R(() => {
+ 'use strict';
+ Cm();
+ o(r8e, 'flatten');
+ Gr = r8e;
+ });
+ function n8e(t) {
+ return d5(f5(t, void 0, Gr), t + '');
+ }
+ var UQ,
+ HQ = R(() => {
+ 'use strict';
+ fw();
+ H_();
+ W_();
+ o(n8e, 'flatRest');
+ UQ = n8e;
+ });
+ function i8e(t, e, r) {
+ var n = -1,
+ i = t.length;
+ e < 0 && (e = -e > i ? 0 : i + e),
+ (r = r > i ? i : r),
+ r < 0 && (r += i),
+ (i = e > r ? 0 : (r - e) >>> 0),
+ (e >>>= 0);
+ for (var a = Array(i); ++n < i; ) a[n] = t[n + e];
+ return a;
+ }
+ var dw,
+ lL = R(() => {
+ 'use strict';
+ o(i8e, 'baseSlice');
+ dw = i8e;
+ });
+ function d8e(t) {
+ return f8e.test(t);
+ }
+ var a8e,
+ s8e,
+ o8e,
+ l8e,
+ c8e,
+ u8e,
+ h8e,
+ f8e,
+ YQ,
+ WQ = R(() => {
+ 'use strict';
+ (a8e = '\\ud800-\\udfff'),
+ (s8e = '\\u0300-\\u036f'),
+ (o8e = '\\ufe20-\\ufe2f'),
+ (l8e = '\\u20d0-\\u20ff'),
+ (c8e = s8e + o8e + l8e),
+ (u8e = '\\ufe0e\\ufe0f'),
+ (h8e = '\\u200d'),
+ (f8e = RegExp('[' + h8e + a8e + c8e + u8e + ']'));
+ o(d8e, 'hasUnicode');
+ YQ = d8e;
+ });
+ function p8e(t, e, r, n) {
+ var i = -1,
+ a = t == null ? 0 : t.length;
+ for (n && a && (r = t[++i]); ++i < a; ) r = e(r, t[i], i, t);
+ return r;
+ }
+ var qQ,
+ XQ = R(() => {
+ 'use strict';
+ o(p8e, 'arrayReduce');
+ qQ = p8e;
+ });
+ function m8e(t, e) {
+ return t && Bo(e, Dr(e), t);
+ }
+ var jQ,
+ KQ = R(() => {
+ 'use strict';
+ kd();
+ vc();
+ o(m8e, 'baseAssign');
+ jQ = m8e;
+ });
+ function g8e(t, e) {
+ return t && Bo(e, bs(e), t);
+ }
+ var QQ,
+ ZQ = R(() => {
+ 'use strict';
+ kd();
+ zh();
+ o(g8e, 'baseAssignIn');
+ QQ = g8e;
+ });
+ function y8e(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length, i = 0, a = []; ++r < n; ) {
+ var s = t[r];
+ e(s, r, t) && (a[i++] = s);
+ }
+ return a;
+ }
+ var Sm,
+ pw = R(() => {
+ 'use strict';
+ o(y8e, 'arrayFilter');
+ Sm = y8e;
+ });
+ function v8e() {
+ return [];
+ }
+ var mw,
+ cL = R(() => {
+ 'use strict';
+ o(v8e, 'stubArray');
+ mw = v8e;
+ });
+ var x8e,
+ b8e,
+ JQ,
+ w8e,
+ Am,
+ gw = R(() => {
+ 'use strict';
+ pw();
+ cL();
+ (x8e = Object.prototype),
+ (b8e = x8e.propertyIsEnumerable),
+ (JQ = Object.getOwnPropertySymbols),
+ (w8e = JQ
+ ? function (t) {
+ return t == null
+ ? []
+ : ((t = Object(t)),
+ Sm(JQ(t), function (e) {
+ return b8e.call(t, e);
+ }));
+ }
+ : mw),
+ (Am = w8e);
+ });
+ function T8e(t, e) {
+ return Bo(t, Am(t), e);
+ }
+ var eZ,
+ tZ = R(() => {
+ 'use strict';
+ kd();
+ gw();
+ o(T8e, 'copySymbols');
+ eZ = T8e;
+ });
+ var k8e,
+ E8e,
+ yw,
+ uL = R(() => {
+ 'use strict';
+ hw();
+ o5();
+ gw();
+ cL();
+ (k8e = Object.getOwnPropertySymbols),
+ (E8e = k8e
+ ? function (t) {
+ for (var e = []; t; ) Em(e, Am(t)), (t = em(t));
+ return e;
+ }
+ : mw),
+ (yw = E8e);
+ });
+ function C8e(t, e) {
+ return Bo(t, yw(t), e);
+ }
+ var rZ,
+ nZ = R(() => {
+ 'use strict';
+ kd();
+ uL();
+ o(C8e, 'copySymbolsIn');
+ rZ = C8e;
+ });
+ function S8e(t, e, r) {
+ var n = e(t);
+ return wt(t) ? n : Em(n, r(t));
+ }
+ var vw,
+ hL = R(() => {
+ 'use strict';
+ hw();
+ Bn();
+ o(S8e, 'baseGetAllKeys');
+ vw = S8e;
+ });
+ function A8e(t) {
+ return vw(t, Dr, Am);
+ }
+ var Rv,
+ fL = R(() => {
+ 'use strict';
+ hL();
+ gw();
+ vc();
+ o(A8e, 'getAllKeys');
+ Rv = A8e;
+ });
+ function _8e(t) {
+ return vw(t, bs, yw);
+ }
+ var xw,
+ dL = R(() => {
+ 'use strict';
+ hL();
+ uL();
+ zh();
+ o(_8e, 'getAllKeysIn');
+ xw = _8e;
+ });
+ var L8e,
+ bw,
+ iZ = R(() => {
+ 'use strict';
+ Nh();
+ Ro();
+ (L8e = xs(Jn, 'DataView')), (bw = L8e);
+ });
+ var D8e,
+ ww,
+ aZ = R(() => {
+ 'use strict';
+ Nh();
+ Ro();
+ (D8e = xs(Jn, 'Promise')), (ww = D8e);
+ });
+ var R8e,
+ Wh,
+ pL = R(() => {
+ 'use strict';
+ Nh();
+ Ro();
+ (R8e = xs(Jn, 'Set')), (Wh = R8e);
+ });
+ var sZ,
+ N8e,
+ oZ,
+ lZ,
+ cZ,
+ uZ,
+ M8e,
+ I8e,
+ O8e,
+ P8e,
+ B8e,
+ Id,
+ oo,
+ Od = R(() => {
+ 'use strict';
+ iZ();
+ J3();
+ aZ();
+ pL();
+ CQ();
+ wu();
+ __();
+ (sZ = '[object Map]'),
+ (N8e = '[object Object]'),
+ (oZ = '[object Promise]'),
+ (lZ = '[object Set]'),
+ (cZ = '[object WeakMap]'),
+ (uZ = '[object DataView]'),
+ (M8e = Tu(bw)),
+ (I8e = Tu(Oh)),
+ (O8e = Tu(ww)),
+ (P8e = Tu(Wh)),
+ (B8e = Tu(nw)),
+ (Id = fa);
+ ((bw && Id(new bw(new ArrayBuffer(1))) != uZ) ||
+ (Oh && Id(new Oh()) != sZ) ||
+ (ww && Id(ww.resolve()) != oZ) ||
+ (Wh && Id(new Wh()) != lZ) ||
+ (nw && Id(new nw()) != cZ)) &&
+ (Id = o(function (t) {
+ var e = fa(t),
+ r = e == N8e ? t.constructor : void 0,
+ n = r ? Tu(r) : '';
+ if (n)
+ switch (n) {
+ case M8e:
+ return uZ;
+ case I8e:
+ return sZ;
+ case O8e:
+ return oZ;
+ case P8e:
+ return lZ;
+ case B8e:
+ return cZ;
+ }
+ return e;
+ }, 'getTag'));
+ oo = Id;
+ });
+ function G8e(t) {
+ var e = t.length,
+ r = new t.constructor(e);
+ return e && typeof t[0] == 'string' && z8e.call(t, 'index') && ((r.index = t.index), (r.input = t.input)), r;
+ }
+ var F8e,
+ z8e,
+ hZ,
+ fZ = R(() => {
+ 'use strict';
+ (F8e = Object.prototype), (z8e = F8e.hasOwnProperty);
+ o(G8e, 'initCloneArray');
+ hZ = G8e;
+ });
+ function $8e(t, e) {
+ var r = e ? Jp(t.buffer) : t.buffer;
+ return new t.constructor(r, t.byteOffset, t.byteLength);
+ }
+ var dZ,
+ pZ = R(() => {
+ 'use strict';
+ n5();
+ o($8e, 'cloneDataView');
+ dZ = $8e;
+ });
+ function U8e(t) {
+ var e = new t.constructor(t.source, V8e.exec(t));
+ return (e.lastIndex = t.lastIndex), e;
+ }
+ var V8e,
+ mZ,
+ gZ = R(() => {
+ 'use strict';
+ V8e = /\w*$/;
+ o(U8e, 'cloneRegExp');
+ mZ = U8e;
+ });
+ function H8e(t) {
+ return vZ ? Object(vZ.call(t)) : {};
+ }
+ var yZ,
+ vZ,
+ xZ,
+ bZ = R(() => {
+ 'use strict';
+ vd();
+ (yZ = Ji ? Ji.prototype : void 0), (vZ = yZ ? yZ.valueOf : void 0);
+ o(H8e, 'cloneSymbol');
+ xZ = H8e;
+ });
+ function u_e(t, e, r) {
+ var n = t.constructor;
+ switch (e) {
+ case J8e:
+ return Jp(t);
+ case Y8e:
+ case W8e:
+ return new n(+t);
+ case e_e:
+ return dZ(t, r);
+ case t_e:
+ case r_e:
+ case n_e:
+ case i_e:
+ case a_e:
+ case s_e:
+ case o_e:
+ case l_e:
+ case c_e:
+ return i5(t, r);
+ case q8e:
+ return new n();
+ case X8e:
+ case Q8e:
+ return new n(t);
+ case j8e:
+ return mZ(t);
+ case K8e:
+ return new n();
+ case Z8e:
+ return xZ(t);
+ }
+ }
+ var Y8e,
+ W8e,
+ q8e,
+ X8e,
+ j8e,
+ K8e,
+ Q8e,
+ Z8e,
+ J8e,
+ e_e,
+ t_e,
+ r_e,
+ n_e,
+ i_e,
+ a_e,
+ s_e,
+ o_e,
+ l_e,
+ c_e,
+ wZ,
+ TZ = R(() => {
+ 'use strict';
+ n5();
+ pZ();
+ gZ();
+ bZ();
+ P_();
+ (Y8e = '[object Boolean]'),
+ (W8e = '[object Date]'),
+ (q8e = '[object Map]'),
+ (X8e = '[object Number]'),
+ (j8e = '[object RegExp]'),
+ (K8e = '[object Set]'),
+ (Q8e = '[object String]'),
+ (Z8e = '[object Symbol]'),
+ (J8e = '[object ArrayBuffer]'),
+ (e_e = '[object DataView]'),
+ (t_e = '[object Float32Array]'),
+ (r_e = '[object Float64Array]'),
+ (n_e = '[object Int8Array]'),
+ (i_e = '[object Int16Array]'),
+ (a_e = '[object Int32Array]'),
+ (s_e = '[object Uint8Array]'),
+ (o_e = '[object Uint8ClampedArray]'),
+ (l_e = '[object Uint16Array]'),
+ (c_e = '[object Uint32Array]');
+ o(u_e, 'initCloneByTag');
+ wZ = u_e;
+ });
+ function f_e(t) {
+ return Wn(t) && oo(t) == h_e;
+ }
+ var h_e,
+ kZ,
+ EZ = R(() => {
+ 'use strict';
+ Od();
+ Mo();
+ h_e = '[object Map]';
+ o(f_e, 'baseIsMap');
+ kZ = f_e;
+ });
+ var CZ,
+ d_e,
+ SZ,
+ AZ = R(() => {
+ 'use strict';
+ EZ();
+ Td();
+ ov();
+ (CZ = Po && Po.isMap), (d_e = CZ ? Oo(CZ) : kZ), (SZ = d_e);
+ });
+ function m_e(t) {
+ return Wn(t) && oo(t) == p_e;
+ }
+ var p_e,
+ _Z,
+ LZ = R(() => {
+ 'use strict';
+ Od();
+ Mo();
+ p_e = '[object Set]';
+ o(m_e, 'baseIsSet');
+ _Z = m_e;
+ });
+ var DZ,
+ g_e,
+ RZ,
+ NZ = R(() => {
+ 'use strict';
+ LZ();
+ Td();
+ ov();
+ (DZ = Po && Po.isSet), (g_e = DZ ? Oo(DZ) : _Z), (RZ = g_e);
+ });
+ function Tw(t, e, r, n, i, a) {
+ var s,
+ l = e & y_e,
+ u = e & v_e,
+ h = e & x_e;
+ if ((r && (s = i ? r(t, n, i, a) : r(t)), s !== void 0)) return s;
+ if (!pn(t)) return t;
+ var f = wt(t);
+ if (f) {
+ if (((s = hZ(t)), !l)) return a5(t, s);
+ } else {
+ var d = oo(t),
+ p = d == IZ || d == E_e;
+ if (El(t)) return r5(t, l);
+ if (d == OZ || d == MZ || (p && !i)) {
+ if (((s = u || p ? {} : l5(t)), !l)) return u ? rZ(t, QQ(s, t)) : eZ(t, jQ(s, t));
+ } else {
+ if (!Cn[d]) return i ? t : {};
+ s = wZ(t, d, l);
+ }
+ }
+ a || (a = new uc());
+ var m = a.get(t);
+ if (m) return m;
+ a.set(t, s),
+ RZ(t)
+ ? t.forEach(function (v) {
+ s.add(Tw(v, e, r, v, t, a));
+ })
+ : SZ(t) &&
+ t.forEach(function (v, x) {
+ s.set(x, Tw(v, e, r, x, t, a));
+ });
+ var g = h ? (u ? xw : Rv) : u ? bs : Dr,
+ y = f ? void 0 : g(t);
+ return (
+ iw(y || t, function (v, x) {
+ y && ((x = v), (v = t[x])), dc(s, x, Tw(v, e, r, x, t, a));
+ }),
+ s
+ );
+ }
+ var y_e,
+ v_e,
+ x_e,
+ MZ,
+ b_e,
+ w_e,
+ T_e,
+ k_e,
+ IZ,
+ E_e,
+ C_e,
+ S_e,
+ OZ,
+ A_e,
+ __e,
+ L_e,
+ D_e,
+ R_e,
+ N_e,
+ M_e,
+ I_e,
+ O_e,
+ P_e,
+ B_e,
+ F_e,
+ z_e,
+ G_e,
+ $_e,
+ V_e,
+ Cn,
+ kw,
+ mL = R(() => {
+ 'use strict';
+ iv();
+ iL();
+ am();
+ KQ();
+ ZQ();
+ I_();
+ B_();
+ tZ();
+ nZ();
+ fL();
+ dL();
+ Od();
+ fZ();
+ TZ();
+ z_();
+ Bn();
+ im();
+ AZ();
+ Js();
+ NZ();
+ vc();
+ zh();
+ (y_e = 1),
+ (v_e = 2),
+ (x_e = 4),
+ (MZ = '[object Arguments]'),
+ (b_e = '[object Array]'),
+ (w_e = '[object Boolean]'),
+ (T_e = '[object Date]'),
+ (k_e = '[object Error]'),
+ (IZ = '[object Function]'),
+ (E_e = '[object GeneratorFunction]'),
+ (C_e = '[object Map]'),
+ (S_e = '[object Number]'),
+ (OZ = '[object Object]'),
+ (A_e = '[object RegExp]'),
+ (__e = '[object Set]'),
+ (L_e = '[object String]'),
+ (D_e = '[object Symbol]'),
+ (R_e = '[object WeakMap]'),
+ (N_e = '[object ArrayBuffer]'),
+ (M_e = '[object DataView]'),
+ (I_e = '[object Float32Array]'),
+ (O_e = '[object Float64Array]'),
+ (P_e = '[object Int8Array]'),
+ (B_e = '[object Int16Array]'),
+ (F_e = '[object Int32Array]'),
+ (z_e = '[object Uint8Array]'),
+ (G_e = '[object Uint8ClampedArray]'),
+ ($_e = '[object Uint16Array]'),
+ (V_e = '[object Uint32Array]'),
+ (Cn = {});
+ Cn[MZ] =
+ Cn[b_e] =
+ Cn[N_e] =
+ Cn[M_e] =
+ Cn[w_e] =
+ Cn[T_e] =
+ Cn[I_e] =
+ Cn[O_e] =
+ Cn[P_e] =
+ Cn[B_e] =
+ Cn[F_e] =
+ Cn[C_e] =
+ Cn[S_e] =
+ Cn[OZ] =
+ Cn[A_e] =
+ Cn[__e] =
+ Cn[L_e] =
+ Cn[D_e] =
+ Cn[z_e] =
+ Cn[G_e] =
+ Cn[$_e] =
+ Cn[V_e] =
+ !0;
+ Cn[k_e] = Cn[IZ] = Cn[R_e] = !1;
+ o(Tw, 'baseClone');
+ kw = Tw;
+ });
+ function H_e(t) {
+ return kw(t, U_e);
+ }
+ var U_e,
+ Qr,
+ gL = R(() => {
+ 'use strict';
+ mL();
+ U_e = 4;
+ o(H_e, 'clone');
+ Qr = H_e;
+ });
+ function q_e(t) {
+ return kw(t, Y_e | W_e);
+ }
+ var Y_e,
+ W_e,
+ yL,
+ PZ = R(() => {
+ 'use strict';
+ mL();
+ (Y_e = 1), (W_e = 4);
+ o(q_e, 'cloneDeep');
+ yL = q_e;
+ });
+ function X_e(t) {
+ for (var e = -1, r = t == null ? 0 : t.length, n = 0, i = []; ++e < r; ) {
+ var a = t[e];
+ a && (i[n++] = a);
+ }
+ return i;
+ }
+ var wc,
+ BZ = R(() => {
+ 'use strict';
+ o(X_e, 'compact');
+ wc = X_e;
+ });
+ function K_e(t) {
+ return this.__data__.set(t, j_e), this;
+ }
+ var j_e,
+ FZ,
+ zZ = R(() => {
+ 'use strict';
+ j_e = '__lodash_hash_undefined__';
+ o(K_e, 'setCacheAdd');
+ FZ = K_e;
+ });
+ function Q_e(t) {
+ return this.__data__.has(t);
+ }
+ var GZ,
+ $Z = R(() => {
+ 'use strict';
+ o(Q_e, 'setCacheHas');
+ GZ = Q_e;
+ });
+ function Ew(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.__data__ = new bd(); ++e < r; ) this.add(t[e]);
+ }
+ var _m,
+ Cw = R(() => {
+ 'use strict';
+ e5();
+ zZ();
+ $Z();
+ o(Ew, 'SetCache');
+ Ew.prototype.add = Ew.prototype.push = FZ;
+ Ew.prototype.has = GZ;
+ _m = Ew;
+ });
+ function Z_e(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length; ++r < n; ) if (e(t[r], r, t)) return !0;
+ return !1;
+ }
+ var Sw,
+ vL = R(() => {
+ 'use strict';
+ o(Z_e, 'arraySome');
+ Sw = Z_e;
+ });
+ function J_e(t, e) {
+ return t.has(e);
+ }
+ var Lm,
+ Aw = R(() => {
+ 'use strict';
+ o(J_e, 'cacheHas');
+ Lm = J_e;
+ });
+ function r9e(t, e, r, n, i, a) {
+ var s = r & e9e,
+ l = t.length,
+ u = e.length;
+ if (l != u && !(s && u > l)) return !1;
+ var h = a.get(t),
+ f = a.get(e);
+ if (h && f) return h == e && f == t;
+ var d = -1,
+ p = !0,
+ m = r & t9e ? new _m() : void 0;
+ for (a.set(t, e), a.set(e, t); ++d < l; ) {
+ var g = t[d],
+ y = e[d];
+ if (n) var v = s ? n(y, g, d, e, t, a) : n(g, y, d, t, e, a);
+ if (v !== void 0) {
+ if (v) continue;
+ p = !1;
+ break;
+ }
+ if (m) {
+ if (
+ !Sw(e, function (x, b) {
+ if (!Lm(m, b) && (g === x || i(g, x, r, n, a))) return m.push(b);
+ })
+ ) {
+ p = !1;
+ break;
+ }
+ } else if (!(g === y || i(g, y, r, n, a))) {
+ p = !1;
+ break;
+ }
+ }
+ return a.delete(t), a.delete(e), p;
+ }
+ var e9e,
+ t9e,
+ _w,
+ xL = R(() => {
+ 'use strict';
+ Cw();
+ vL();
+ Aw();
+ (e9e = 1), (t9e = 2);
+ o(r9e, 'equalArrays');
+ _w = r9e;
+ });
+ function n9e(t) {
+ var e = -1,
+ r = Array(t.size);
+ return (
+ t.forEach(function (n, i) {
+ r[++e] = [i, n];
+ }),
+ r
+ );
+ }
+ var VZ,
+ UZ = R(() => {
+ 'use strict';
+ o(n9e, 'mapToArray');
+ VZ = n9e;
+ });
+ function i9e(t) {
+ var e = -1,
+ r = Array(t.size);
+ return (
+ t.forEach(function (n) {
+ r[++e] = n;
+ }),
+ r
+ );
+ }
+ var Dm,
+ Lw = R(() => {
+ 'use strict';
+ o(i9e, 'setToArray');
+ Dm = i9e;
+ });
+ function v9e(t, e, r, n, i, a, s) {
+ switch (r) {
+ case y9e:
+ if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1;
+ (t = t.buffer), (e = e.buffer);
+ case g9e:
+ return !(t.byteLength != e.byteLength || !a(new Zp(t), new Zp(e)));
+ case o9e:
+ case l9e:
+ case h9e:
+ return No(+t, +e);
+ case c9e:
+ return t.name == e.name && t.message == e.message;
+ case f9e:
+ case p9e:
+ return t == e + '';
+ case u9e:
+ var l = VZ;
+ case d9e:
+ var u = n & a9e;
+ if ((l || (l = Dm), t.size != e.size && !u)) return !1;
+ var h = s.get(t);
+ if (h) return h == e;
+ (n |= s9e), s.set(t, e);
+ var f = _w(l(t), l(e), n, i, a, s);
+ return s.delete(t), f;
+ case m9e:
+ if (bL) return bL.call(t) == bL.call(e);
+ }
+ return !1;
+ }
+ var a9e,
+ s9e,
+ o9e,
+ l9e,
+ c9e,
+ u9e,
+ h9e,
+ f9e,
+ d9e,
+ p9e,
+ m9e,
+ g9e,
+ y9e,
+ HZ,
+ bL,
+ YZ,
+ WZ = R(() => {
+ 'use strict';
+ vd();
+ O_();
+ xd();
+ xL();
+ UZ();
+ Lw();
+ (a9e = 1),
+ (s9e = 2),
+ (o9e = '[object Boolean]'),
+ (l9e = '[object Date]'),
+ (c9e = '[object Error]'),
+ (u9e = '[object Map]'),
+ (h9e = '[object Number]'),
+ (f9e = '[object RegExp]'),
+ (d9e = '[object Set]'),
+ (p9e = '[object String]'),
+ (m9e = '[object Symbol]'),
+ (g9e = '[object ArrayBuffer]'),
+ (y9e = '[object DataView]'),
+ (HZ = Ji ? Ji.prototype : void 0),
+ (bL = HZ ? HZ.valueOf : void 0);
+ o(v9e, 'equalByTag');
+ YZ = v9e;
+ });
+ function T9e(t, e, r, n, i, a) {
+ var s = r & x9e,
+ l = Rv(t),
+ u = l.length,
+ h = Rv(e),
+ f = h.length;
+ if (u != f && !s) return !1;
+ for (var d = u; d--; ) {
+ var p = l[d];
+ if (!(s ? p in e : w9e.call(e, p))) return !1;
+ }
+ var m = a.get(t),
+ g = a.get(e);
+ if (m && g) return m == e && g == t;
+ var y = !0;
+ a.set(t, e), a.set(e, t);
+ for (var v = s; ++d < u; ) {
+ p = l[d];
+ var x = t[p],
+ b = e[p];
+ if (n) var w = s ? n(b, x, p, e, t, a) : n(x, b, p, t, e, a);
+ if (!(w === void 0 ? x === b || i(x, b, r, n, a) : w)) {
+ y = !1;
+ break;
+ }
+ v || (v = p == 'constructor');
+ }
+ if (y && !v) {
+ var S = t.constructor,
+ T = e.constructor;
+ S != T &&
+ 'constructor' in t &&
+ 'constructor' in e &&
+ !(typeof S == 'function' && S instanceof S && typeof T == 'function' && T instanceof T) &&
+ (y = !1);
+ }
+ return a.delete(t), a.delete(e), y;
+ }
+ var x9e,
+ b9e,
+ w9e,
+ qZ,
+ XZ = R(() => {
+ 'use strict';
+ fL();
+ (x9e = 1), (b9e = Object.prototype), (w9e = b9e.hasOwnProperty);
+ o(T9e, 'equalObjects');
+ qZ = T9e;
+ });
+ function C9e(t, e, r, n, i, a) {
+ var s = wt(t),
+ l = wt(e),
+ u = s ? KZ : oo(t),
+ h = l ? KZ : oo(e);
+ (u = u == jZ ? Dw : u), (h = h == jZ ? Dw : h);
+ var f = u == Dw,
+ d = h == Dw,
+ p = u == h;
+ if (p && El(t)) {
+ if (!El(e)) return !1;
+ (s = !0), (f = !1);
+ }
+ if (p && !f) return a || (a = new uc()), s || Bh(t) ? _w(t, e, r, n, i, a) : YZ(t, e, u, r, n, i, a);
+ if (!(r & k9e)) {
+ var m = f && QZ.call(t, '__wrapped__'),
+ g = d && QZ.call(e, '__wrapped__');
+ if (m || g) {
+ var y = m ? t.value() : t,
+ v = g ? e.value() : e;
+ return a || (a = new uc()), i(y, v, r, n, a);
+ }
+ }
+ return p ? (a || (a = new uc()), qZ(t, e, r, n, i, a)) : !1;
+ }
+ var k9e,
+ jZ,
+ KZ,
+ Dw,
+ E9e,
+ QZ,
+ ZZ,
+ JZ = R(() => {
+ 'use strict';
+ iv();
+ xL();
+ WZ();
+ XZ();
+ Od();
+ Bn();
+ im();
+ lv();
+ (k9e = 1),
+ (jZ = '[object Arguments]'),
+ (KZ = '[object Array]'),
+ (Dw = '[object Object]'),
+ (E9e = Object.prototype),
+ (QZ = E9e.hasOwnProperty);
+ o(C9e, 'baseIsEqualDeep');
+ ZZ = C9e;
+ });
+ function eJ(t, e, r, n, i) {
+ return t === e ? !0 : t == null || e == null || (!Wn(t) && !Wn(e)) ? t !== t && e !== e : ZZ(t, e, r, n, eJ, i);
+ }
+ var Rw,
+ wL = R(() => {
+ 'use strict';
+ JZ();
+ Mo();
+ o(eJ, 'baseIsEqual');
+ Rw = eJ;
+ });
+ function _9e(t, e, r, n) {
+ var i = r.length,
+ a = i,
+ s = !n;
+ if (t == null) return !a;
+ for (t = Object(t); i--; ) {
+ var l = r[i];
+ if (s && l[2] ? l[1] !== t[l[0]] : !(l[0] in t)) return !1;
+ }
+ for (; ++i < a; ) {
+ l = r[i];
+ var u = l[0],
+ h = t[u],
+ f = l[1];
+ if (s && l[2]) {
+ if (h === void 0 && !(u in t)) return !1;
+ } else {
+ var d = new uc();
+ if (n) var p = n(h, f, u, t, e, d);
+ if (!(p === void 0 ? Rw(f, h, S9e | A9e, n, d) : p)) return !1;
+ }
+ }
+ return !0;
+ }
+ var S9e,
+ A9e,
+ tJ,
+ rJ = R(() => {
+ 'use strict';
+ iv();
+ wL();
+ (S9e = 1), (A9e = 2);
+ o(_9e, 'baseIsMatch');
+ tJ = _9e;
+ });
+ function L9e(t) {
+ return t === t && !pn(t);
+ }
+ var Nw,
+ TL = R(() => {
+ 'use strict';
+ Js();
+ o(L9e, 'isStrictComparable');
+ Nw = L9e;
+ });
+ function D9e(t) {
+ for (var e = Dr(t), r = e.length; r--; ) {
+ var n = e[r],
+ i = t[n];
+ e[r] = [n, i, Nw(i)];
+ }
+ return e;
+ }
+ var nJ,
+ iJ = R(() => {
+ 'use strict';
+ TL();
+ vc();
+ o(D9e, 'getMatchData');
+ nJ = D9e;
+ });
+ function R9e(t, e) {
+ return function (r) {
+ return r == null ? !1 : r[t] === e && (e !== void 0 || t in Object(r));
+ };
+ }
+ var Mw,
+ kL = R(() => {
+ 'use strict';
+ o(R9e, 'matchesStrictComparable');
+ Mw = R9e;
+ });
+ function N9e(t) {
+ var e = nJ(t);
+ return e.length == 1 && e[0][2]
+ ? Mw(e[0][0], e[0][1])
+ : function (r) {
+ return r === t || tJ(r, t, e);
+ };
+ }
+ var aJ,
+ sJ = R(() => {
+ 'use strict';
+ rJ();
+ iJ();
+ kL();
+ o(N9e, 'baseMatches');
+ aJ = N9e;
+ });
+ function M9e(t, e) {
+ return t != null && e in Object(t);
+ }
+ var oJ,
+ lJ = R(() => {
+ 'use strict';
+ o(M9e, 'baseHasIn');
+ oJ = M9e;
+ });
+ function I9e(t, e, r) {
+ e = Hh(e, t);
+ for (var n = -1, i = e.length, a = !1; ++n < i; ) {
+ var s = xc(e[n]);
+ if (!(a = t != null && r(t, s))) break;
+ t = t[s];
+ }
+ return a || ++n != i ? a : ((i = t == null ? 0 : t.length), !!i && nm(i) && Fh(s, i) && (wt(t) || kl(t)));
+ }
+ var Iw,
+ EL = R(() => {
+ 'use strict';
+ Lv();
+ rm();
+ Bn();
+ uv();
+ c5();
+ km();
+ o(I9e, 'hasPath');
+ Iw = I9e;
+ });
+ function O9e(t, e) {
+ return t != null && Iw(t, e, oJ);
+ }
+ var Ow,
+ CL = R(() => {
+ 'use strict';
+ lJ();
+ EL();
+ o(O9e, 'hasIn');
+ Ow = O9e;
+ });
+ function F9e(t, e) {
+ return Tm(t) && Nw(e)
+ ? Mw(xc(t), e)
+ : function (r) {
+ var n = BQ(r, t);
+ return n === void 0 && n === e ? Ow(r, t) : Rw(e, n, P9e | B9e);
+ };
+ }
+ var P9e,
+ B9e,
+ cJ,
+ uJ = R(() => {
+ 'use strict';
+ wL();
+ FQ();
+ CL();
+ cw();
+ TL();
+ kL();
+ km();
+ (P9e = 1), (B9e = 2);
+ o(F9e, 'baseMatchesProperty');
+ cJ = F9e;
+ });
+ function z9e(t) {
+ return function (e) {
+ return e?.[t];
+ };
+ }
+ var Pw,
+ SL = R(() => {
+ 'use strict';
+ o(z9e, 'baseProperty');
+ Pw = z9e;
+ });
+ function G9e(t) {
+ return function (e) {
+ return Yh(e, t);
+ };
+ }
+ var hJ,
+ fJ = R(() => {
+ 'use strict';
+ Dv();
+ o(G9e, 'basePropertyDeep');
+ hJ = G9e;
+ });
+ function $9e(t) {
+ return Tm(t) ? Pw(xc(t)) : hJ(t);
+ }
+ var dJ,
+ pJ = R(() => {
+ 'use strict';
+ SL();
+ fJ();
+ cw();
+ km();
+ o($9e, 'property');
+ dJ = $9e;
+ });
+ function V9e(t) {
+ return typeof t == 'function'
+ ? t
+ : t == null
+ ? ea
+ : typeof t == 'object'
+ ? wt(t)
+ ? cJ(t[0], t[1])
+ : aJ(t)
+ : dJ(t);
+ }
+ var cn,
+ Qa = R(() => {
+ 'use strict';
+ sJ();
+ uJ();
+ Eu();
+ Bn();
+ pJ();
+ o(V9e, 'baseIteratee');
+ cn = V9e;
+ });
+ function U9e(t, e, r, n) {
+ for (var i = -1, a = t == null ? 0 : t.length; ++i < a; ) {
+ var s = t[i];
+ e(n, s, r(s), t);
+ }
+ return n;
+ }
+ var mJ,
+ gJ = R(() => {
+ 'use strict';
+ o(U9e, 'arrayAggregator');
+ mJ = U9e;
+ });
+ function H9e(t, e) {
+ return t && Qp(t, e, Dr);
+ }
+ var Rm,
+ Bw = R(() => {
+ 'use strict';
+ t5();
+ vc();
+ o(H9e, 'baseForOwn');
+ Rm = H9e;
+ });
+ function Y9e(t, e) {
+ return function (r, n) {
+ if (r == null) return r;
+ if (!ei(r)) return t(r, n);
+ for (var i = r.length, a = e ? i : -1, s = Object(r); (e ? a-- : ++a < i) && n(s[a], a, s) !== !1; );
+ return r;
+ };
+ }
+ var yJ,
+ vJ = R(() => {
+ 'use strict';
+ Io();
+ o(Y9e, 'createBaseEach');
+ yJ = Y9e;
+ });
+ var W9e,
+ As,
+ qh = R(() => {
+ 'use strict';
+ Bw();
+ vJ();
+ (W9e = yJ(Rm)), (As = W9e);
+ });
+ function q9e(t, e, r, n) {
+ return (
+ As(t, function (i, a, s) {
+ e(n, i, r(i), s);
+ }),
+ n
+ );
+ }
+ var xJ,
+ bJ = R(() => {
+ 'use strict';
+ qh();
+ o(q9e, 'baseAggregator');
+ xJ = q9e;
+ });
+ function X9e(t, e) {
+ return function (r, n) {
+ var i = wt(r) ? mJ : xJ,
+ a = e ? e() : {};
+ return i(r, t, cn(n, 2), a);
+ };
+ }
+ var wJ,
+ TJ = R(() => {
+ 'use strict';
+ gJ();
+ bJ();
+ Qa();
+ Bn();
+ o(X9e, 'createAggregator');
+ wJ = X9e;
+ });
+ var j9e,
+ Fw,
+ kJ = R(() => {
+ 'use strict';
+ Ro();
+ (j9e = o(function () {
+ return Jn.Date.now();
+ }, 'now')),
+ (Fw = j9e);
+ });
+ var EJ,
+ K9e,
+ Q9e,
+ Xh,
+ CJ = R(() => {
+ 'use strict';
+ sm();
+ xd();
+ Ed();
+ zh();
+ (EJ = Object.prototype),
+ (K9e = EJ.hasOwnProperty),
+ (Q9e = pc(function (t, e) {
+ t = Object(t);
+ var r = -1,
+ n = e.length,
+ i = n > 2 ? e[2] : void 0;
+ for (i && eo(e[0], e[1], i) && (n = 1); ++r < n; )
+ for (var a = e[r], s = bs(a), l = -1, u = s.length; ++l < u; ) {
+ var h = s[l],
+ f = t[h];
+ (f === void 0 || (No(f, EJ[h]) && !K9e.call(t, h))) && (t[h] = a[h]);
+ }
+ return t;
+ })),
+ (Xh = Q9e);
+ });
+ function Z9e(t, e, r) {
+ for (var n = -1, i = t == null ? 0 : t.length; ++n < i; ) if (r(e, t[n])) return !0;
+ return !1;
+ }
+ var zw,
+ AL = R(() => {
+ 'use strict';
+ o(Z9e, 'arrayIncludesWith');
+ zw = Z9e;
+ });
+ function eLe(t, e, r, n) {
+ var i = -1,
+ a = ow,
+ s = !0,
+ l = t.length,
+ u = [],
+ h = e.length;
+ if (!l) return u;
+ r && (e = Ss(e, Oo(r))), n ? ((a = zw), (s = !1)) : e.length >= J9e && ((a = Lm), (s = !1), (e = new _m(e)));
+ e: for (; ++i < l; ) {
+ var f = t[i],
+ d = r == null ? f : r(f);
+ if (((f = n || f !== 0 ? f : 0), s && d === d)) {
+ for (var p = h; p--; ) if (e[p] === d) continue e;
+ u.push(f);
+ } else a(e, d, n) || u.push(f);
+ }
+ return u;
+ }
+ var J9e,
+ SJ,
+ AJ = R(() => {
+ 'use strict';
+ Cw();
+ sL();
+ AL();
+ Md();
+ Td();
+ Aw();
+ J9e = 200;
+ o(eLe, 'baseDifference');
+ SJ = eLe;
+ });
+ var tLe,
+ jh,
+ _J = R(() => {
+ 'use strict';
+ AJ();
+ Cm();
+ sm();
+ u5();
+ (tLe = pc(function (t, e) {
+ return wd(t) ? SJ(t, bc(e, 1, wd, !0)) : [];
+ })),
+ (jh = tLe);
+ });
+ function rLe(t) {
+ var e = t == null ? 0 : t.length;
+ return e ? t[e - 1] : void 0;
+ }
+ var ma,
+ LJ = R(() => {
+ 'use strict';
+ o(rLe, 'last');
+ ma = rLe;
+ });
+ function nLe(t, e, r) {
+ var n = t == null ? 0 : t.length;
+ return n ? ((e = r || e === void 0 ? 1 : yc(e)), dw(t, e < 0 ? 0 : e, n)) : [];
+ }
+ var fi,
+ DJ = R(() => {
+ 'use strict';
+ lL();
+ xm();
+ o(nLe, 'drop');
+ fi = nLe;
+ });
+ function iLe(t, e, r) {
+ var n = t == null ? 0 : t.length;
+ return n ? ((e = r || e === void 0 ? 1 : yc(e)), (e = n - e), dw(t, 0, e < 0 ? 0 : e)) : [];
+ }
+ var Ru,
+ RJ = R(() => {
+ 'use strict';
+ lL();
+ xm();
+ o(iLe, 'dropRight');
+ Ru = iLe;
+ });
+ function aLe(t) {
+ return typeof t == 'function' ? t : ea;
+ }
+ var Nm,
+ Gw = R(() => {
+ 'use strict';
+ Eu();
+ o(aLe, 'castFunction');
+ Nm = aLe;
+ });
+ function sLe(t, e) {
+ var r = wt(t) ? iw : As;
+ return r(t, Nm(e));
+ }
+ var Ee,
+ $w = R(() => {
+ 'use strict';
+ iL();
+ qh();
+ Gw();
+ Bn();
+ o(sLe, 'forEach');
+ Ee = sLe;
+ });
+ var NJ = R(() => {
+ 'use strict';
+ $w();
+ });
+ function oLe(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length; ++r < n; ) if (!e(t[r], r, t)) return !1;
+ return !0;
+ }
+ var MJ,
+ IJ = R(() => {
+ 'use strict';
+ o(oLe, 'arrayEvery');
+ MJ = oLe;
+ });
+ function lLe(t, e) {
+ var r = !0;
+ return (
+ As(t, function (n, i, a) {
+ return (r = !!e(n, i, a)), r;
+ }),
+ r
+ );
+ }
+ var OJ,
+ PJ = R(() => {
+ 'use strict';
+ qh();
+ o(lLe, 'baseEvery');
+ OJ = lLe;
+ });
+ function cLe(t, e, r) {
+ var n = wt(t) ? MJ : OJ;
+ return r && eo(t, e, r) && (e = void 0), n(t, cn(e, 3));
+ }
+ var Ia,
+ BJ = R(() => {
+ 'use strict';
+ IJ();
+ PJ();
+ Qa();
+ Bn();
+ Ed();
+ o(cLe, 'every');
+ Ia = cLe;
+ });
+ function uLe(t, e) {
+ var r = [];
+ return (
+ As(t, function (n, i, a) {
+ e(n, i, a) && r.push(n);
+ }),
+ r
+ );
+ }
+ var Vw,
+ _L = R(() => {
+ 'use strict';
+ qh();
+ o(uLe, 'baseFilter');
+ Vw = uLe;
+ });
+ function hLe(t, e) {
+ var r = wt(t) ? Sm : Vw;
+ return r(t, cn(e, 3));
+ }
+ var $r,
+ LL = R(() => {
+ 'use strict';
+ pw();
+ _L();
+ Qa();
+ Bn();
+ o(hLe, 'filter');
+ $r = hLe;
+ });
+ function fLe(t) {
+ return function (e, r, n) {
+ var i = Object(e);
+ if (!ei(e)) {
+ var a = cn(r, 3);
+ (e = Dr(e)),
+ (r = o(function (l) {
+ return a(i[l], l, i);
+ }, 'predicate'));
+ }
+ var s = t(e, r, n);
+ return s > -1 ? i[a ? e[s] : s] : void 0;
+ };
+ }
+ var FJ,
+ zJ = R(() => {
+ 'use strict';
+ Qa();
+ Io();
+ vc();
+ o(fLe, 'createFind');
+ FJ = fLe;
+ });
+ function pLe(t, e, r) {
+ var n = t == null ? 0 : t.length;
+ if (!n) return -1;
+ var i = r == null ? 0 : yc(r);
+ return i < 0 && (i = dLe(n + i, 0)), aw(t, cn(e, 3), i);
+ }
+ var dLe,
+ GJ,
+ $J = R(() => {
+ 'use strict';
+ aL();
+ Qa();
+ xm();
+ dLe = Math.max;
+ o(pLe, 'findIndex');
+ GJ = pLe;
+ });
+ var mLe,
+ Za,
+ VJ = R(() => {
+ 'use strict';
+ zJ();
+ $J();
+ (mLe = FJ(GJ)), (Za = mLe);
+ });
+ function gLe(t) {
+ return t && t.length ? t[0] : void 0;
+ }
+ var na,
+ UJ = R(() => {
+ 'use strict';
+ o(gLe, 'head');
+ na = gLe;
+ });
+ var HJ = R(() => {
+ 'use strict';
+ UJ();
+ });
+ function yLe(t, e) {
+ var r = -1,
+ n = ei(t) ? Array(t.length) : [];
+ return (
+ As(t, function (i, a, s) {
+ n[++r] = e(i, a, s);
+ }),
+ n
+ );
+ }
+ var Uw,
+ DL = R(() => {
+ 'use strict';
+ qh();
+ Io();
+ o(yLe, 'baseMap');
+ Uw = yLe;
+ });
+ function vLe(t, e) {
+ var r = wt(t) ? Ss : Uw;
+ return r(t, cn(e, 3));
+ }
+ var qe,
+ Mm = R(() => {
+ 'use strict';
+ Md();
+ Qa();
+ DL();
+ Bn();
+ o(vLe, 'map');
+ qe = vLe;
+ });
+ function xLe(t, e) {
+ return bc(qe(t, e), 1);
+ }
+ var ga,
+ RL = R(() => {
+ 'use strict';
+ Cm();
+ Mm();
+ o(xLe, 'flatMap');
+ ga = xLe;
+ });
+ function bLe(t, e) {
+ return t == null ? t : Qp(t, Nm(e), bs);
+ }
+ var NL,
+ YJ = R(() => {
+ 'use strict';
+ t5();
+ Gw();
+ zh();
+ o(bLe, 'forIn');
+ NL = bLe;
+ });
+ function wLe(t, e) {
+ return t && Rm(t, Nm(e));
+ }
+ var ML,
+ WJ = R(() => {
+ 'use strict';
+ Bw();
+ Gw();
+ o(wLe, 'forOwn');
+ ML = wLe;
+ });
+ var TLe,
+ kLe,
+ ELe,
+ IL,
+ qJ = R(() => {
+ 'use strict';
+ Kp();
+ TJ();
+ (TLe = Object.prototype),
+ (kLe = TLe.hasOwnProperty),
+ (ELe = wJ(function (t, e, r) {
+ kLe.call(t, r) ? t[r].push(e) : hc(t, r, [e]);
+ })),
+ (IL = ELe);
+ });
+ function CLe(t, e) {
+ return t > e;
+ }
+ var XJ,
+ jJ = R(() => {
+ 'use strict';
+ o(CLe, 'baseGt');
+ XJ = CLe;
+ });
+ function _Le(t, e) {
+ return t != null && ALe.call(t, e);
+ }
+ var SLe,
+ ALe,
+ KJ,
+ QJ = R(() => {
+ 'use strict';
+ (SLe = Object.prototype), (ALe = SLe.hasOwnProperty);
+ o(_Le, 'baseHas');
+ KJ = _Le;
+ });
+ function LLe(t, e) {
+ return t != null && Iw(t, e, KJ);
+ }
+ var Xe,
+ ZJ = R(() => {
+ 'use strict';
+ QJ();
+ EL();
+ o(LLe, 'has');
+ Xe = LLe;
+ });
+ function RLe(t) {
+ return typeof t == 'string' || (!wt(t) && Wn(t) && fa(t) == DLe);
+ }
+ var DLe,
+ di,
+ Hw = R(() => {
+ 'use strict';
+ wu();
+ Bn();
+ Mo();
+ DLe = '[object String]';
+ o(RLe, 'isString');
+ di = RLe;
+ });
+ function NLe(t, e) {
+ return Ss(e, function (r) {
+ return t[r];
+ });
+ }
+ var JJ,
+ eee = R(() => {
+ 'use strict';
+ Md();
+ o(NLe, 'baseValues');
+ JJ = NLe;
+ });
+ function MLe(t) {
+ return t == null ? [] : JJ(t, Dr(t));
+ }
+ var or,
+ OL = R(() => {
+ 'use strict';
+ eee();
+ vc();
+ o(MLe, 'values');
+ or = MLe;
+ });
+ function OLe(t, e, r, n) {
+ (t = ei(t) ? t : or(t)), (r = r && !n ? yc(r) : 0);
+ var i = t.length;
+ return r < 0 && (r = ILe(i + r, 0)), di(t) ? r <= i && t.indexOf(e, r) > -1 : !!i && bm(t, e, r) > -1;
+ }
+ var ILe,
+ Fn,
+ tee = R(() => {
+ 'use strict';
+ sw();
+ Io();
+ Hw();
+ xm();
+ OL();
+ ILe = Math.max;
+ o(OLe, 'includes');
+ Fn = OLe;
+ });
+ function BLe(t, e, r) {
+ var n = t == null ? 0 : t.length;
+ if (!n) return -1;
+ var i = r == null ? 0 : yc(r);
+ return i < 0 && (i = PLe(n + i, 0)), bm(t, e, i);
+ }
+ var PLe,
+ Yw,
+ ree = R(() => {
+ 'use strict';
+ sw();
+ xm();
+ PLe = Math.max;
+ o(BLe, 'indexOf');
+ Yw = BLe;
+ });
+ function VLe(t) {
+ if (t == null) return !0;
+ if (ei(t) && (wt(t) || typeof t == 'string' || typeof t.splice == 'function' || El(t) || Bh(t) || kl(t)))
+ return !t.length;
+ var e = oo(t);
+ if (e == FLe || e == zLe) return !t.size;
+ if (fc(t)) return !wm(t).length;
+ for (var r in t) if ($Le.call(t, r)) return !1;
+ return !0;
+ }
+ var FLe,
+ zLe,
+ GLe,
+ $Le,
+ Qt,
+ Ww = R(() => {
+ 'use strict';
+ lw();
+ Od();
+ rm();
+ Bn();
+ Io();
+ im();
+ tm();
+ lv();
+ (FLe = '[object Map]'), (zLe = '[object Set]'), (GLe = Object.prototype), ($Le = GLe.hasOwnProperty);
+ o(VLe, 'isEmpty');
+ Qt = VLe;
+ });
+ function HLe(t) {
+ return Wn(t) && fa(t) == ULe;
+ }
+ var ULe,
+ nee,
+ iee = R(() => {
+ 'use strict';
+ wu();
+ Mo();
+ ULe = '[object RegExp]';
+ o(HLe, 'baseIsRegExp');
+ nee = HLe;
+ });
+ var aee,
+ YLe,
+ zo,
+ see = R(() => {
+ 'use strict';
+ iee();
+ Td();
+ ov();
+ (aee = Po && Po.isRegExp), (YLe = aee ? Oo(aee) : nee), (zo = YLe);
+ });
+ function WLe(t) {
+ return t === void 0;
+ }
+ var er,
+ oee = R(() => {
+ 'use strict';
+ o(WLe, 'isUndefined');
+ er = WLe;
+ });
+ function qLe(t, e) {
+ return t < e;
+ }
+ var qw,
+ PL = R(() => {
+ 'use strict';
+ o(qLe, 'baseLt');
+ qw = qLe;
+ });
+ function XLe(t, e) {
+ var r = {};
+ return (
+ (e = cn(e, 3)),
+ Rm(t, function (n, i, a) {
+ hc(r, i, e(n, i, a));
+ }),
+ r
+ );
+ }
+ var Pd,
+ lee = R(() => {
+ 'use strict';
+ Kp();
+ Bw();
+ Qa();
+ o(XLe, 'mapValues');
+ Pd = XLe;
+ });
+ function jLe(t, e, r) {
+ for (var n = -1, i = t.length; ++n < i; ) {
+ var a = t[n],
+ s = e(a);
+ if (s != null && (l === void 0 ? s === s && !so(s) : r(s, l)))
+ var l = s,
+ u = a;
+ }
+ return u;
+ }
+ var Im,
+ Xw = R(() => {
+ 'use strict';
+ Nd();
+ o(jLe, 'baseExtremum');
+ Im = jLe;
+ });
+ function KLe(t) {
+ return t && t.length ? Im(t, ea, XJ) : void 0;
+ }
+ var _s,
+ cee = R(() => {
+ 'use strict';
+ Xw();
+ jJ();
+ Eu();
+ o(KLe, 'max');
+ _s = KLe;
+ });
+ function QLe(t) {
+ return t && t.length ? Im(t, ea, qw) : void 0;
+ }
+ var Ll,
+ BL = R(() => {
+ 'use strict';
+ Xw();
+ PL();
+ Eu();
+ o(QLe, 'min');
+ Ll = QLe;
+ });
+ function ZLe(t, e) {
+ return t && t.length ? Im(t, cn(e, 2), qw) : void 0;
+ }
+ var Bd,
+ uee = R(() => {
+ 'use strict';
+ Xw();
+ Qa();
+ PL();
+ o(ZLe, 'minBy');
+ Bd = ZLe;
+ });
+ function eDe(t) {
+ if (typeof t != 'function') throw new TypeError(JLe);
+ return function () {
+ var e = arguments;
+ switch (e.length) {
+ case 0:
+ return !t.call(this);
+ case 1:
+ return !t.call(this, e[0]);
+ case 2:
+ return !t.call(this, e[0], e[1]);
+ case 3:
+ return !t.call(this, e[0], e[1], e[2]);
+ }
+ return !t.apply(this, e);
+ };
+ }
+ var JLe,
+ hee,
+ fee = R(() => {
+ 'use strict';
+ JLe = 'Expected a function';
+ o(eDe, 'negate');
+ hee = eDe;
+ });
+ function tDe(t, e, r, n) {
+ if (!pn(t)) return t;
+ e = Hh(e, t);
+ for (var i = -1, a = e.length, s = a - 1, l = t; l != null && ++i < a; ) {
+ var u = xc(e[i]),
+ h = r;
+ if (u === '__proto__' || u === 'constructor' || u === 'prototype') return t;
+ if (i != s) {
+ var f = l[u];
+ (h = n ? n(f, u, l) : void 0), h === void 0 && (h = pn(f) ? f : Fh(e[i + 1]) ? [] : {});
+ }
+ dc(l, u, h), (l = l[u]);
+ }
+ return t;
+ }
+ var dee,
+ pee = R(() => {
+ 'use strict';
+ am();
+ Lv();
+ uv();
+ Js();
+ km();
+ o(tDe, 'baseSet');
+ dee = tDe;
+ });
+ function rDe(t, e, r) {
+ for (var n = -1, i = e.length, a = {}; ++n < i; ) {
+ var s = e[n],
+ l = Yh(t, s);
+ r(l, s) && dee(a, Hh(s, t), l);
+ }
+ return a;
+ }
+ var jw,
+ FL = R(() => {
+ 'use strict';
+ Dv();
+ pee();
+ Lv();
+ o(rDe, 'basePickBy');
+ jw = rDe;
+ });
+ function nDe(t, e) {
+ if (t == null) return {};
+ var r = Ss(xw(t), function (n) {
+ return [n];
+ });
+ return (
+ (e = cn(e)),
+ jw(t, r, function (n, i) {
+ return e(n, i[0]);
+ })
+ );
+ }
+ var Ls,
+ mee = R(() => {
+ 'use strict';
+ Md();
+ Qa();
+ FL();
+ dL();
+ o(nDe, 'pickBy');
+ Ls = nDe;
+ });
+ function iDe(t, e) {
+ var r = t.length;
+ for (t.sort(e); r--; ) t[r] = t[r].value;
+ return t;
+ }
+ var gee,
+ yee = R(() => {
+ 'use strict';
+ o(iDe, 'baseSortBy');
+ gee = iDe;
+ });
+ function aDe(t, e) {
+ if (t !== e) {
+ var r = t !== void 0,
+ n = t === null,
+ i = t === t,
+ a = so(t),
+ s = e !== void 0,
+ l = e === null,
+ u = e === e,
+ h = so(e);
+ if ((!l && !h && !a && t > e) || (a && s && u && !l && !h) || (n && s && u) || (!r && u) || !i) return 1;
+ if ((!n && !a && !h && t < e) || (h && r && i && !n && !a) || (l && r && i) || (!s && i) || !u) return -1;
+ }
+ return 0;
+ }
+ var vee,
+ xee = R(() => {
+ 'use strict';
+ Nd();
+ o(aDe, 'compareAscending');
+ vee = aDe;
+ });
+ function sDe(t, e, r) {
+ for (var n = -1, i = t.criteria, a = e.criteria, s = i.length, l = r.length; ++n < s; ) {
+ var u = vee(i[n], a[n]);
+ if (u) {
+ if (n >= l) return u;
+ var h = r[n];
+ return u * (h == 'desc' ? -1 : 1);
+ }
+ }
+ return t.index - e.index;
+ }
+ var bee,
+ wee = R(() => {
+ 'use strict';
+ xee();
+ o(sDe, 'compareMultiple');
+ bee = sDe;
+ });
+ function oDe(t, e, r) {
+ e.length
+ ? (e = Ss(e, function (a) {
+ return wt(a)
+ ? function (s) {
+ return Yh(s, a.length === 1 ? a[0] : a);
+ }
+ : a;
+ }))
+ : (e = [ea]);
+ var n = -1;
+ e = Ss(e, Oo(cn));
+ var i = Uw(t, function (a, s, l) {
+ var u = Ss(e, function (h) {
+ return h(a);
+ });
+ return { criteria: u, index: ++n, value: a };
+ });
+ return gee(i, function (a, s) {
+ return bee(a, s, r);
+ });
+ }
+ var Tee,
+ kee = R(() => {
+ 'use strict';
+ Md();
+ Dv();
+ Qa();
+ DL();
+ yee();
+ Td();
+ wee();
+ Eu();
+ Bn();
+ o(oDe, 'baseOrderBy');
+ Tee = oDe;
+ });
+ var lDe,
+ Eee,
+ Cee = R(() => {
+ 'use strict';
+ SL();
+ (lDe = Pw('length')), (Eee = lDe);
+ });
+ function bDe(t) {
+ for (var e = (See.lastIndex = 0); See.test(t); ) ++e;
+ return e;
+ }
+ var Aee,
+ cDe,
+ uDe,
+ hDe,
+ fDe,
+ dDe,
+ pDe,
+ zL,
+ GL,
+ mDe,
+ _ee,
+ Lee,
+ Dee,
+ gDe,
+ Ree,
+ Nee,
+ yDe,
+ vDe,
+ xDe,
+ See,
+ Mee,
+ Iee = R(() => {
+ 'use strict';
+ (Aee = '\\ud800-\\udfff'),
+ (cDe = '\\u0300-\\u036f'),
+ (uDe = '\\ufe20-\\ufe2f'),
+ (hDe = '\\u20d0-\\u20ff'),
+ (fDe = cDe + uDe + hDe),
+ (dDe = '\\ufe0e\\ufe0f'),
+ (pDe = '[' + Aee + ']'),
+ (zL = '[' + fDe + ']'),
+ (GL = '\\ud83c[\\udffb-\\udfff]'),
+ (mDe = '(?:' + zL + '|' + GL + ')'),
+ (_ee = '[^' + Aee + ']'),
+ (Lee = '(?:\\ud83c[\\udde6-\\uddff]){2}'),
+ (Dee = '[\\ud800-\\udbff][\\udc00-\\udfff]'),
+ (gDe = '\\u200d'),
+ (Ree = mDe + '?'),
+ (Nee = '[' + dDe + ']?'),
+ (yDe = '(?:' + gDe + '(?:' + [_ee, Lee, Dee].join('|') + ')' + Nee + Ree + ')*'),
+ (vDe = Nee + Ree + yDe),
+ (xDe = '(?:' + [_ee + zL + '?', zL, Lee, Dee, pDe].join('|') + ')'),
+ (See = RegExp(GL + '(?=' + GL + ')|' + xDe + vDe, 'g'));
+ o(bDe, 'unicodeSize');
+ Mee = bDe;
+ });
+ function wDe(t) {
+ return YQ(t) ? Mee(t) : Eee(t);
+ }
+ var Oee,
+ Pee = R(() => {
+ 'use strict';
+ Cee();
+ WQ();
+ Iee();
+ o(wDe, 'stringSize');
+ Oee = wDe;
+ });
+ function TDe(t, e) {
+ return jw(t, e, function (r, n) {
+ return Ow(t, n);
+ });
+ }
+ var Bee,
+ Fee = R(() => {
+ 'use strict';
+ FL();
+ CL();
+ o(TDe, 'basePick');
+ Bee = TDe;
+ });
+ var kDe,
+ Fd,
+ zee = R(() => {
+ 'use strict';
+ Fee();
+ HQ();
+ (kDe = UQ(function (t, e) {
+ return t == null ? {} : Bee(t, e);
+ })),
+ (Fd = kDe);
+ });
+ function SDe(t, e, r, n) {
+ for (var i = -1, a = CDe(EDe((e - t) / (r || 1)), 0), s = Array(a); a--; ) (s[n ? a : ++i] = t), (t += r);
+ return s;
+ }
+ var EDe,
+ CDe,
+ Gee,
+ $ee = R(() => {
+ 'use strict';
+ (EDe = Math.ceil), (CDe = Math.max);
+ o(SDe, 'baseRange');
+ Gee = SDe;
+ });
+ function ADe(t) {
+ return function (e, r, n) {
+ return (
+ n && typeof n != 'number' && eo(e, r, n) && (r = n = void 0),
+ (e = vm(e)),
+ r === void 0 ? ((r = e), (e = 0)) : (r = vm(r)),
+ (n = n === void 0 ? (e < r ? 1 : -1) : vm(n)),
+ Gee(e, r, n, t)
+ );
+ };
+ }
+ var Vee,
+ Uee = R(() => {
+ 'use strict';
+ $ee();
+ Ed();
+ rL();
+ o(ADe, 'createRange');
+ Vee = ADe;
+ });
+ var _De,
+ Go,
+ Hee = R(() => {
+ 'use strict';
+ Uee();
+ (_De = Vee()), (Go = _De);
+ });
+ function LDe(t, e, r, n, i) {
+ return (
+ i(t, function (a, s, l) {
+ r = n ? ((n = !1), a) : e(r, a, s, l);
+ }),
+ r
+ );
+ }
+ var Yee,
+ Wee = R(() => {
+ 'use strict';
+ o(LDe, 'baseReduce');
+ Yee = LDe;
+ });
+ function DDe(t, e, r) {
+ var n = wt(t) ? qQ : Yee,
+ i = arguments.length < 3;
+ return n(t, cn(e, 4), r, i, As);
+ }
+ var Vr,
+ $L = R(() => {
+ 'use strict';
+ XQ();
+ qh();
+ Qa();
+ Wee();
+ Bn();
+ o(DDe, 'reduce');
+ Vr = DDe;
+ });
+ function RDe(t, e) {
+ var r = wt(t) ? Sm : Vw;
+ return r(t, hee(cn(e, 3)));
+ }
+ var Kh,
+ qee = R(() => {
+ 'use strict';
+ pw();
+ _L();
+ Qa();
+ Bn();
+ fee();
+ o(RDe, 'reject');
+ Kh = RDe;
+ });
+ function IDe(t) {
+ if (t == null) return 0;
+ if (ei(t)) return di(t) ? Oee(t) : t.length;
+ var e = oo(t);
+ return e == NDe || e == MDe ? t.size : wm(t).length;
+ }
+ var NDe,
+ MDe,
+ VL,
+ Xee = R(() => {
+ 'use strict';
+ lw();
+ Od();
+ Io();
+ Hw();
+ Pee();
+ (NDe = '[object Map]'), (MDe = '[object Set]');
+ o(IDe, 'size');
+ VL = IDe;
+ });
+ function ODe(t, e) {
+ var r;
+ return (
+ As(t, function (n, i, a) {
+ return (r = e(n, i, a)), !r;
+ }),
+ !!r
+ );
+ }
+ var jee,
+ Kee = R(() => {
+ 'use strict';
+ qh();
+ o(ODe, 'baseSome');
+ jee = ODe;
+ });
+ function PDe(t, e, r) {
+ var n = wt(t) ? Sw : jee;
+ return r && eo(t, e, r) && (e = void 0), n(t, cn(e, 3));
+ }
+ var Nv,
+ Qee = R(() => {
+ 'use strict';
+ vL();
+ Qa();
+ Kee();
+ Bn();
+ Ed();
+ o(PDe, 'some');
+ Nv = PDe;
+ });
+ var BDe,
+ Tc,
+ Zee = R(() => {
+ 'use strict';
+ Cm();
+ kee();
+ sm();
+ Ed();
+ (BDe = pc(function (t, e) {
+ if (t == null) return [];
+ var r = e.length;
+ return (
+ r > 1 && eo(t, e[0], e[1]) ? (e = []) : r > 2 && eo(e[0], e[1], e[2]) && (e = [e[0]]),
+ Tee(t, bc(e, 1), [])
+ );
+ })),
+ (Tc = BDe);
+ });
+ var FDe,
+ zDe,
+ Jee,
+ ete = R(() => {
+ 'use strict';
+ pL();
+ nL();
+ Lw();
+ (FDe = 1 / 0),
+ (zDe =
+ Wh && 1 / Dm(new Wh([, -0]))[1] == FDe
+ ? function (t) {
+ return new Wh(t);
+ }
+ : qn),
+ (Jee = zDe);
+ });
+ function $De(t, e, r) {
+ var n = -1,
+ i = ow,
+ a = t.length,
+ s = !0,
+ l = [],
+ u = l;
+ if (r) (s = !1), (i = zw);
+ else if (a >= GDe) {
+ var h = e ? null : Jee(t);
+ if (h) return Dm(h);
+ (s = !1), (i = Lm), (u = new _m());
+ } else u = e ? [] : l;
+ e: for (; ++n < a; ) {
+ var f = t[n],
+ d = e ? e(f) : f;
+ if (((f = r || f !== 0 ? f : 0), s && d === d)) {
+ for (var p = u.length; p--; ) if (u[p] === d) continue e;
+ e && u.push(d), l.push(f);
+ } else i(u, d, r) || (u !== l && u.push(d), l.push(f));
+ }
+ return l;
+ }
+ var GDe,
+ Om,
+ Kw = R(() => {
+ 'use strict';
+ Cw();
+ sL();
+ AL();
+ Aw();
+ ete();
+ Lw();
+ GDe = 200;
+ o($De, 'baseUniq');
+ Om = $De;
+ });
+ var VDe,
+ UL,
+ tte = R(() => {
+ 'use strict';
+ Cm();
+ sm();
+ Kw();
+ u5();
+ (VDe = pc(function (t) {
+ return Om(bc(t, 1, wd, !0));
+ })),
+ (UL = VDe);
+ });
+ function UDe(t) {
+ return t && t.length ? Om(t) : [];
+ }
+ var Pm,
+ rte = R(() => {
+ 'use strict';
+ Kw();
+ o(UDe, 'uniq');
+ Pm = UDe;
+ });
+ function HDe(t, e) {
+ return t && t.length ? Om(t, cn(e, 2)) : [];
+ }
+ var nte,
+ ite = R(() => {
+ 'use strict';
+ Qa();
+ Kw();
+ o(HDe, 'uniqBy');
+ nte = HDe;
+ });
+ function WDe(t) {
+ var e = ++YDe;
+ return uw(t) + e;
+ }
+ var YDe,
+ zd,
+ ate = R(() => {
+ 'use strict';
+ oL();
+ YDe = 0;
+ o(WDe, 'uniqueId');
+ zd = WDe;
+ });
+ function qDe(t, e, r) {
+ for (var n = -1, i = t.length, a = e.length, s = {}; ++n < i; ) {
+ var l = n < a ? e[n] : void 0;
+ r(s, t[n], l);
+ }
+ return s;
+ }
+ var ste,
+ ote = R(() => {
+ 'use strict';
+ o(qDe, 'baseZipObject');
+ ste = qDe;
+ });
+ function XDe(t, e) {
+ return ste(t || [], e || [], dc);
+ }
+ var Qw,
+ lte = R(() => {
+ 'use strict';
+ am();
+ ote();
+ o(XDe, 'zipObject');
+ Qw = XDe;
+ });
+ var Pt = R(() => {
+ 'use strict';
+ NQ();
+ gL();
+ PZ();
+ BZ();
+ Y_();
+ CJ();
+ _J();
+ DJ();
+ RJ();
+ NJ();
+ BJ();
+ LL();
+ VJ();
+ HJ();
+ RL();
+ fw();
+ $w();
+ YJ();
+ WJ();
+ qJ();
+ ZJ();
+ Eu();
+ tee();
+ ree();
+ Bn();
+ Ww();
+ Jy();
+ Js();
+ see();
+ Hw();
+ oee();
+ vc();
+ LJ();
+ Mm();
+ lee();
+ cee();
+ X_();
+ BL();
+ uee();
+ nL();
+ kJ();
+ zee();
+ mee();
+ Hee();
+ $L();
+ qee();
+ Xee();
+ Qee();
+ Zee();
+ tte();
+ rte();
+ ate();
+ OL();
+ lte();
+ });
+ function ute(t, e) {
+ t[e] ? t[e]++ : (t[e] = 1);
+ }
+ function hte(t, e) {
+ --t[e] || delete t[e];
+ }
+ function Mv(t, e, r, n) {
+ var i = '' + e,
+ a = '' + r;
+ if (!t && i > a) {
+ var s = i;
+ (i = a), (a = s);
+ }
+ return i + cte + a + cte + (er(n) ? jDe : n);
+ }
+ function KDe(t, e, r, n) {
+ var i = '' + e,
+ a = '' + r;
+ if (!t && i > a) {
+ var s = i;
+ (i = a), (a = s);
+ }
+ var l = { v: i, w: a };
+ return n && (l.name = n), l;
+ }
+ function HL(t, e) {
+ return Mv(t, e.v, e.w, e.name);
+ }
+ var jDe,
+ Gd,
+ cte,
+ lr,
+ Zw = R(() => {
+ 'use strict';
+ Pt();
+ (jDe = '\0'),
+ (Gd = '\0'),
+ (cte = ''),
+ (lr = class {
+ static {
+ o(this, 'Graph');
+ }
+ constructor(e = {}) {
+ (this._isDirected = Xe(e, 'directed') ? e.directed : !0),
+ (this._isMultigraph = Xe(e, 'multigraph') ? e.multigraph : !1),
+ (this._isCompound = Xe(e, 'compound') ? e.compound : !1),
+ (this._label = void 0),
+ (this._defaultNodeLabelFn = ws(void 0)),
+ (this._defaultEdgeLabelFn = ws(void 0)),
+ (this._nodes = {}),
+ this._isCompound && ((this._parent = {}), (this._children = {}), (this._children[Gd] = {})),
+ (this._in = {}),
+ (this._preds = {}),
+ (this._out = {}),
+ (this._sucs = {}),
+ (this._edgeObjs = {}),
+ (this._edgeLabels = {});
+ }
+ isDirected() {
+ return this._isDirected;
+ }
+ isMultigraph() {
+ return this._isMultigraph;
+ }
+ isCompound() {
+ return this._isCompound;
+ }
+ setGraph(e) {
+ return (this._label = e), this;
+ }
+ graph() {
+ return this._label;
+ }
+ setDefaultNodeLabel(e) {
+ return wi(e) || (e = ws(e)), (this._defaultNodeLabelFn = e), this;
+ }
+ nodeCount() {
+ return this._nodeCount;
+ }
+ nodes() {
+ return Dr(this._nodes);
+ }
+ sources() {
+ var e = this;
+ return $r(this.nodes(), function (r) {
+ return Qt(e._in[r]);
+ });
+ }
+ sinks() {
+ var e = this;
+ return $r(this.nodes(), function (r) {
+ return Qt(e._out[r]);
+ });
+ }
+ setNodes(e, r) {
+ var n = arguments,
+ i = this;
+ return (
+ Ee(e, function (a) {
+ n.length > 1 ? i.setNode(a, r) : i.setNode(a);
+ }),
+ this
+ );
+ }
+ setNode(e, r) {
+ return Xe(this._nodes, e)
+ ? (arguments.length > 1 && (this._nodes[e] = r), this)
+ : ((this._nodes[e] = arguments.length > 1 ? r : this._defaultNodeLabelFn(e)),
+ this._isCompound &&
+ ((this._parent[e] = Gd), (this._children[e] = {}), (this._children[Gd][e] = !0)),
+ (this._in[e] = {}),
+ (this._preds[e] = {}),
+ (this._out[e] = {}),
+ (this._sucs[e] = {}),
+ ++this._nodeCount,
+ this);
+ }
+ node(e) {
+ return this._nodes[e];
+ }
+ hasNode(e) {
+ return Xe(this._nodes, e);
+ }
+ removeNode(e) {
+ var r = this;
+ if (Xe(this._nodes, e)) {
+ var n = o(function (i) {
+ r.removeEdge(r._edgeObjs[i]);
+ }, 'removeEdge');
+ delete this._nodes[e],
+ this._isCompound &&
+ (this._removeFromParentsChildList(e),
+ delete this._parent[e],
+ Ee(this.children(e), function (i) {
+ r.setParent(i);
+ }),
+ delete this._children[e]),
+ Ee(Dr(this._in[e]), n),
+ delete this._in[e],
+ delete this._preds[e],
+ Ee(Dr(this._out[e]), n),
+ delete this._out[e],
+ delete this._sucs[e],
+ --this._nodeCount;
+ }
+ return this;
+ }
+ setParent(e, r) {
+ if (!this._isCompound) throw new Error('Cannot set parent in a non-compound graph');
+ if (er(r)) r = Gd;
+ else {
+ r += '';
+ for (var n = r; !er(n); n = this.parent(n))
+ if (n === e)
+ throw new Error('Setting ' + r + ' as parent of ' + e + ' would create a cycle');
+ this.setNode(r);
+ }
+ return (
+ this.setNode(e),
+ this._removeFromParentsChildList(e),
+ (this._parent[e] = r),
+ (this._children[r][e] = !0),
+ this
+ );
+ }
+ _removeFromParentsChildList(e) {
+ delete this._children[this._parent[e]][e];
+ }
+ parent(e) {
+ if (this._isCompound) {
+ var r = this._parent[e];
+ if (r !== Gd) return r;
+ }
+ }
+ children(e) {
+ if ((er(e) && (e = Gd), this._isCompound)) {
+ var r = this._children[e];
+ if (r) return Dr(r);
+ } else {
+ if (e === Gd) return this.nodes();
+ if (this.hasNode(e)) return [];
+ }
+ }
+ predecessors(e) {
+ var r = this._preds[e];
+ if (r) return Dr(r);
+ }
+ successors(e) {
+ var r = this._sucs[e];
+ if (r) return Dr(r);
+ }
+ neighbors(e) {
+ var r = this.predecessors(e);
+ if (r) return UL(r, this.successors(e));
+ }
+ isLeaf(e) {
+ var r;
+ return this.isDirected() ? (r = this.successors(e)) : (r = this.neighbors(e)), r.length === 0;
+ }
+ filterNodes(e) {
+ var r = new this.constructor({
+ directed: this._isDirected,
+ multigraph: this._isMultigraph,
+ compound: this._isCompound
+ });
+ r.setGraph(this.graph());
+ var n = this;
+ Ee(this._nodes, function (s, l) {
+ e(l) && r.setNode(l, s);
+ }),
+ Ee(this._edgeObjs, function (s) {
+ r.hasNode(s.v) && r.hasNode(s.w) && r.setEdge(s, n.edge(s));
+ });
+ var i = {};
+ function a(s) {
+ var l = n.parent(s);
+ return l === void 0 || r.hasNode(l) ? ((i[s] = l), l) : l in i ? i[l] : a(l);
+ }
+ return (
+ o(a, 'findParent'),
+ this._isCompound &&
+ Ee(r.nodes(), function (s) {
+ r.setParent(s, a(s));
+ }),
+ r
+ );
+ }
+ setDefaultEdgeLabel(e) {
+ return wi(e) || (e = ws(e)), (this._defaultEdgeLabelFn = e), this;
+ }
+ edgeCount() {
+ return this._edgeCount;
+ }
+ edges() {
+ return or(this._edgeObjs);
+ }
+ setPath(e, r) {
+ var n = this,
+ i = arguments;
+ return (
+ Vr(e, function (a, s) {
+ return i.length > 1 ? n.setEdge(a, s, r) : n.setEdge(a, s), s;
+ }),
+ this
+ );
+ }
+ setEdge() {
+ var e,
+ r,
+ n,
+ i,
+ a = !1,
+ s = arguments[0];
+ typeof s == 'object' && s !== null && 'v' in s
+ ? ((e = s.v),
+ (r = s.w),
+ (n = s.name),
+ arguments.length === 2 && ((i = arguments[1]), (a = !0)))
+ : ((e = s),
+ (r = arguments[1]),
+ (n = arguments[3]),
+ arguments.length > 2 && ((i = arguments[2]), (a = !0))),
+ (e = '' + e),
+ (r = '' + r),
+ er(n) || (n = '' + n);
+ var l = Mv(this._isDirected, e, r, n);
+ if (Xe(this._edgeLabels, l)) return a && (this._edgeLabels[l] = i), this;
+ if (!er(n) && !this._isMultigraph)
+ throw new Error('Cannot set a named edge when isMultigraph = false');
+ this.setNode(e),
+ this.setNode(r),
+ (this._edgeLabels[l] = a ? i : this._defaultEdgeLabelFn(e, r, n));
+ var u = KDe(this._isDirected, e, r, n);
+ return (
+ (e = u.v),
+ (r = u.w),
+ Object.freeze(u),
+ (this._edgeObjs[l] = u),
+ ute(this._preds[r], e),
+ ute(this._sucs[e], r),
+ (this._in[r][l] = u),
+ (this._out[e][l] = u),
+ this._edgeCount++,
+ this
+ );
+ }
+ edge(e, r, n) {
+ var i =
+ arguments.length === 1 ? HL(this._isDirected, arguments[0]) : Mv(this._isDirected, e, r, n);
+ return this._edgeLabels[i];
+ }
+ hasEdge(e, r, n) {
+ var i =
+ arguments.length === 1 ? HL(this._isDirected, arguments[0]) : Mv(this._isDirected, e, r, n);
+ return Xe(this._edgeLabels, i);
+ }
+ removeEdge(e, r, n) {
+ var i =
+ arguments.length === 1
+ ? HL(this._isDirected, arguments[0])
+ : Mv(this._isDirected, e, r, n),
+ a = this._edgeObjs[i];
+ return (
+ a &&
+ ((e = a.v),
+ (r = a.w),
+ delete this._edgeLabels[i],
+ delete this._edgeObjs[i],
+ hte(this._preds[r], e),
+ hte(this._sucs[e], r),
+ delete this._in[r][i],
+ delete this._out[e][i],
+ this._edgeCount--),
+ this
+ );
+ }
+ inEdges(e, r) {
+ var n = this._in[e];
+ if (n) {
+ var i = or(n);
+ return r
+ ? $r(i, function (a) {
+ return a.v === r;
+ })
+ : i;
+ }
+ }
+ outEdges(e, r) {
+ var n = this._out[e];
+ if (n) {
+ var i = or(n);
+ return r
+ ? $r(i, function (a) {
+ return a.w === r;
+ })
+ : i;
+ }
+ }
+ nodeEdges(e, r) {
+ var n = this.inEdges(e, r);
+ if (n) return n.concat(this.outEdges(e, r));
+ }
+ });
+ lr.prototype._nodeCount = 0;
+ lr.prototype._edgeCount = 0;
+ o(ute, 'incrementOrInitEntry');
+ o(hte, 'decrementOrRemoveEntry');
+ o(Mv, 'edgeArgsToId');
+ o(KDe, 'edgeArgsToObj');
+ o(HL, 'edgeObjToId');
+ });
+ var ya = R(() => {
+ 'use strict';
+ Zw();
+ });
+ function fte(t) {
+ (t._prev._next = t._next), (t._next._prev = t._prev), delete t._next, delete t._prev;
+ }
+ function QDe(t, e) {
+ if (t !== '_next' && t !== '_prev') return e;
+ }
+ var Jw,
+ dte = R(() => {
+ 'use strict';
+ Jw = class {
+ static {
+ o(this, 'List');
+ }
+ constructor() {
+ var e = {};
+ (e._next = e._prev = e), (this._sentinel = e);
+ }
+ dequeue() {
+ var e = this._sentinel,
+ r = e._prev;
+ if (r !== e) return fte(r), r;
+ }
+ enqueue(e) {
+ var r = this._sentinel;
+ e._prev && e._next && fte(e),
+ (e._next = r._next),
+ (r._next._prev = e),
+ (r._next = e),
+ (e._prev = r);
+ }
+ toString() {
+ for (var e = [], r = this._sentinel, n = r._prev; n !== r; )
+ e.push(JSON.stringify(n, QDe)), (n = n._prev);
+ return '[' + e.join(', ') + ']';
+ }
+ };
+ o(fte, 'unlink');
+ o(QDe, 'filterOutLinks');
+ });
+ function pte(t, e) {
+ if (t.nodeCount() <= 1) return [];
+ var r = eRe(t, e || ZDe),
+ n = JDe(r.graph, r.buckets, r.zeroIdx);
+ return Gr(
+ qe(n, function (i) {
+ return t.outEdges(i.v, i.w);
+ })
+ );
+ }
+ function JDe(t, e, r) {
+ for (var n = [], i = e[e.length - 1], a = e[0], s; t.nodeCount(); ) {
+ for (; (s = a.dequeue()); ) YL(t, e, r, s);
+ for (; (s = i.dequeue()); ) YL(t, e, r, s);
+ if (t.nodeCount()) {
+ for (var l = e.length - 2; l > 0; --l)
+ if (((s = e[l].dequeue()), s)) {
+ n = n.concat(YL(t, e, r, s, !0));
+ break;
+ }
+ }
+ }
+ return n;
+ }
+ function YL(t, e, r, n, i) {
+ var a = i ? [] : void 0;
+ return (
+ Ee(t.inEdges(n.v), function (s) {
+ var l = t.edge(s),
+ u = t.node(s.v);
+ i && a.push({ v: s.v, w: s.w }), (u.out -= l), WL(e, r, u);
+ }),
+ Ee(t.outEdges(n.v), function (s) {
+ var l = t.edge(s),
+ u = s.w,
+ h = t.node(u);
+ (h.in -= l), WL(e, r, h);
+ }),
+ t.removeNode(n.v),
+ a
+ );
+ }
+ function eRe(t, e) {
+ var r = new lr(),
+ n = 0,
+ i = 0;
+ Ee(t.nodes(), function (l) {
+ r.setNode(l, { v: l, in: 0, out: 0 });
+ }),
+ Ee(t.edges(), function (l) {
+ var u = r.edge(l.v, l.w) || 0,
+ h = e(l),
+ f = u + h;
+ r.setEdge(l.v, l.w, f),
+ (i = Math.max(i, (r.node(l.v).out += h))),
+ (n = Math.max(n, (r.node(l.w).in += h)));
+ });
+ var a = Go(i + n + 3).map(function () {
+ return new Jw();
+ }),
+ s = n + 1;
+ return (
+ Ee(r.nodes(), function (l) {
+ WL(a, s, r.node(l));
+ }),
+ { graph: r, buckets: a, zeroIdx: s }
+ );
+ }
+ function WL(t, e, r) {
+ r.out ? (r.in ? t[r.out - r.in + e].enqueue(r) : t[t.length - 1].enqueue(r)) : t[0].enqueue(r);
+ }
+ var ZDe,
+ mte = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ dte();
+ ZDe = ws(1);
+ o(pte, 'greedyFAS');
+ o(JDe, 'doGreedyFAS');
+ o(YL, 'removeNode');
+ o(eRe, 'buildState');
+ o(WL, 'assignBucket');
+ });
+ function gte(t) {
+ var e = t.graph().acyclicer === 'greedy' ? pte(t, r(t)) : tRe(t);
+ Ee(e, function (n) {
+ var i = t.edge(n);
+ t.removeEdge(n), (i.forwardName = n.name), (i.reversed = !0), t.setEdge(n.w, n.v, i, zd('rev'));
+ });
+ function r(n) {
+ return function (i) {
+ return n.edge(i).weight;
+ };
+ }
+ o(r, 'weightFn');
+ }
+ function tRe(t) {
+ var e = [],
+ r = {},
+ n = {};
+ function i(a) {
+ Xe(n, a) ||
+ ((n[a] = !0),
+ (r[a] = !0),
+ Ee(t.outEdges(a), function (s) {
+ Xe(r, s.w) ? e.push(s) : i(s.w);
+ }),
+ delete r[a]);
+ }
+ return o(i, 'dfs'), Ee(t.nodes(), i), e;
+ }
+ function yte(t) {
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ if (r.reversed) {
+ t.removeEdge(e);
+ var n = r.forwardName;
+ delete r.reversed, delete r.forwardName, t.setEdge(e.w, e.v, r, n);
+ }
+ });
+ }
+ var qL = R(() => {
+ 'use strict';
+ Pt();
+ mte();
+ o(gte, 'run');
+ o(tRe, 'dfsFAS');
+ o(yte, 'undo');
+ });
+ function kc(t, e, r, n) {
+ var i;
+ do i = zd(n);
+ while (t.hasNode(i));
+ return (r.dummy = e), t.setNode(i, r), i;
+ }
+ function xte(t) {
+ var e = new lr().setGraph(t.graph());
+ return (
+ Ee(t.nodes(), function (r) {
+ e.setNode(r, t.node(r));
+ }),
+ Ee(t.edges(), function (r) {
+ var n = e.edge(r.v, r.w) || { weight: 0, minlen: 1 },
+ i = t.edge(r);
+ e.setEdge(r.v, r.w, {
+ weight: n.weight + i.weight,
+ minlen: Math.max(n.minlen, i.minlen)
+ });
+ }),
+ e
+ );
+ }
+ function eT(t) {
+ var e = new lr({ multigraph: t.isMultigraph() }).setGraph(t.graph());
+ return (
+ Ee(t.nodes(), function (r) {
+ t.children(r).length || e.setNode(r, t.node(r));
+ }),
+ Ee(t.edges(), function (r) {
+ e.setEdge(r, t.edge(r));
+ }),
+ e
+ );
+ }
+ function XL(t, e) {
+ var r = t.x,
+ n = t.y,
+ i = e.x - r,
+ a = e.y - n,
+ s = t.width / 2,
+ l = t.height / 2;
+ if (!i && !a) throw new Error('Not possible to find intersection inside of the rectangle');
+ var u, h;
+ return (
+ Math.abs(a) * s > Math.abs(i) * l
+ ? (a < 0 && (l = -l), (u = (l * i) / a), (h = l))
+ : (i < 0 && (s = -s), (u = s), (h = (s * a) / i)),
+ { x: r + u, y: n + h }
+ );
+ }
+ function Qh(t) {
+ var e = qe(Go(KL(t) + 1), function () {
+ return [];
+ });
+ return (
+ Ee(t.nodes(), function (r) {
+ var n = t.node(r),
+ i = n.rank;
+ er(i) || (e[i][n.order] = r);
+ }),
+ e
+ );
+ }
+ function bte(t) {
+ var e = Ll(
+ qe(t.nodes(), function (r) {
+ return t.node(r).rank;
+ })
+ );
+ Ee(t.nodes(), function (r) {
+ var n = t.node(r);
+ Xe(n, 'rank') && (n.rank -= e);
+ });
+ }
+ function wte(t) {
+ var e = Ll(
+ qe(t.nodes(), function (a) {
+ return t.node(a).rank;
+ })
+ ),
+ r = [];
+ Ee(t.nodes(), function (a) {
+ var s = t.node(a).rank - e;
+ r[s] || (r[s] = []), r[s].push(a);
+ });
+ var n = 0,
+ i = t.graph().nodeRankFactor;
+ Ee(r, function (a, s) {
+ er(a) && s % i !== 0
+ ? --n
+ : n &&
+ Ee(a, function (l) {
+ t.node(l).rank += n;
+ });
+ });
+ }
+ function jL(t, e, r, n) {
+ var i = { width: 0, height: 0 };
+ return arguments.length >= 4 && ((i.rank = r), (i.order = n)), kc(t, 'border', i, e);
+ }
+ function KL(t) {
+ return _s(
+ qe(t.nodes(), function (e) {
+ var r = t.node(e).rank;
+ if (!er(r)) return r;
+ })
+ );
+ }
+ function Tte(t, e) {
+ var r = { lhs: [], rhs: [] };
+ return (
+ Ee(t, function (n) {
+ e(n) ? r.lhs.push(n) : r.rhs.push(n);
+ }),
+ r
+ );
+ }
+ function kte(t, e) {
+ var r = Fw();
+ try {
+ return e();
+ } finally {
+ console.log(t + ' time: ' + (Fw() - r) + 'ms');
+ }
+ }
+ function Ete(t, e) {
+ return e();
+ }
+ var Ec = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ o(kc, 'addDummyNode');
+ o(xte, 'simplify');
+ o(eT, 'asNonCompoundGraph');
+ o(XL, 'intersectRect');
+ o(Qh, 'buildLayerMatrix');
+ o(bte, 'normalizeRanks');
+ o(wte, 'removeEmptyRanks');
+ o(jL, 'addBorderNode');
+ o(KL, 'maxRank');
+ o(Tte, 'partition');
+ o(kte, 'time');
+ o(Ete, 'notime');
+ });
+ function Ste(t) {
+ function e(r) {
+ var n = t.children(r),
+ i = t.node(r);
+ if ((n.length && Ee(n, e), Xe(i, 'minRank'))) {
+ (i.borderLeft = []), (i.borderRight = []);
+ for (var a = i.minRank, s = i.maxRank + 1; a < s; ++a)
+ Cte(t, 'borderLeft', '_bl', r, i, a), Cte(t, 'borderRight', '_br', r, i, a);
+ }
+ }
+ o(e, 'dfs'), Ee(t.children(), e);
+ }
+ function Cte(t, e, r, n, i, a) {
+ var s = { width: 0, height: 0, rank: a, borderType: e },
+ l = i[e][a - 1],
+ u = kc(t, 'border', s, r);
+ (i[e][a] = u), t.setParent(u, n), l && t.setEdge(l, u, { weight: 1 });
+ }
+ var Ate = R(() => {
+ 'use strict';
+ Pt();
+ Ec();
+ o(Ste, 'addBorderSegments');
+ o(Cte, 'addBorderNode');
+ });
+ function Lte(t) {
+ var e = t.graph().rankdir.toLowerCase();
+ (e === 'lr' || e === 'rl') && Rte(t);
+ }
+ function Dte(t) {
+ var e = t.graph().rankdir.toLowerCase();
+ (e === 'bt' || e === 'rl') && rRe(t), (e === 'lr' || e === 'rl') && (nRe(t), Rte(t));
+ }
+ function Rte(t) {
+ Ee(t.nodes(), function (e) {
+ _te(t.node(e));
+ }),
+ Ee(t.edges(), function (e) {
+ _te(t.edge(e));
+ });
+ }
+ function _te(t) {
+ var e = t.width;
+ (t.width = t.height), (t.height = e);
+ }
+ function rRe(t) {
+ Ee(t.nodes(), function (e) {
+ QL(t.node(e));
+ }),
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ Ee(r.points, QL), Xe(r, 'y') && QL(r);
+ });
+ }
+ function QL(t) {
+ t.y = -t.y;
+ }
+ function nRe(t) {
+ Ee(t.nodes(), function (e) {
+ ZL(t.node(e));
+ }),
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ Ee(r.points, ZL), Xe(r, 'x') && ZL(r);
+ });
+ }
+ function ZL(t) {
+ var e = t.x;
+ (t.x = t.y), (t.y = e);
+ }
+ var Nte = R(() => {
+ 'use strict';
+ Pt();
+ o(Lte, 'adjust');
+ o(Dte, 'undo');
+ o(Rte, 'swapWidthHeight');
+ o(_te, 'swapWidthHeightOne');
+ o(rRe, 'reverseY');
+ o(QL, 'reverseYOne');
+ o(nRe, 'swapXY');
+ o(ZL, 'swapXYOne');
+ });
+ function Mte(t) {
+ (t.graph().dummyChains = []),
+ Ee(t.edges(), function (e) {
+ aRe(t, e);
+ });
+ }
+ function aRe(t, e) {
+ var r = e.v,
+ n = t.node(r).rank,
+ i = e.w,
+ a = t.node(i).rank,
+ s = e.name,
+ l = t.edge(e),
+ u = l.labelRank;
+ if (a !== n + 1) {
+ t.removeEdge(e);
+ var h, f, d;
+ for (d = 0, ++n; n < a; ++d, ++n)
+ (l.points = []),
+ (f = { width: 0, height: 0, edgeLabel: l, edgeObj: e, rank: n }),
+ (h = kc(t, 'edge', f, '_d')),
+ n === u &&
+ ((f.width = l.width),
+ (f.height = l.height),
+ (f.dummy = 'edge-label'),
+ (f.labelpos = l.labelpos)),
+ t.setEdge(r, h, { weight: l.weight }, s),
+ d === 0 && t.graph().dummyChains.push(h),
+ (r = h);
+ t.setEdge(r, i, { weight: l.weight }, s);
+ }
+ }
+ function Ite(t) {
+ Ee(t.graph().dummyChains, function (e) {
+ var r = t.node(e),
+ n = r.edgeLabel,
+ i;
+ for (t.setEdge(r.edgeObj, n); r.dummy; )
+ (i = t.successors(e)[0]),
+ t.removeNode(e),
+ n.points.push({ x: r.x, y: r.y }),
+ r.dummy === 'edge-label' && ((n.x = r.x), (n.y = r.y), (n.width = r.width), (n.height = r.height)),
+ (e = i),
+ (r = t.node(e));
+ });
+ }
+ var JL = R(() => {
+ 'use strict';
+ Pt();
+ Ec();
+ o(Mte, 'run');
+ o(aRe, 'normalizeEdge');
+ o(Ite, 'undo');
+ });
+ function Iv(t) {
+ var e = {};
+ function r(n) {
+ var i = t.node(n);
+ if (Xe(e, n)) return i.rank;
+ e[n] = !0;
+ var a = Ll(
+ qe(t.outEdges(n), function (s) {
+ return r(s.w) - t.edge(s).minlen;
+ })
+ );
+ return (a === Number.POSITIVE_INFINITY || a === void 0 || a === null) && (a = 0), (i.rank = a);
+ }
+ o(r, 'dfs'), Ee(t.sources(), r);
+ }
+ function $d(t, e) {
+ return t.node(e.w).rank - t.node(e.v).rank - t.edge(e).minlen;
+ }
+ var tT = R(() => {
+ 'use strict';
+ Pt();
+ o(Iv, 'longestPath');
+ o($d, 'slack');
+ });
+ function rT(t) {
+ var e = new lr({ directed: !1 }),
+ r = t.nodes()[0],
+ n = t.nodeCount();
+ e.setNode(r, {});
+ for (var i, a; sRe(e, t) < n; ) (i = oRe(e, t)), (a = e.hasNode(i.v) ? $d(t, i) : -$d(t, i)), lRe(e, t, a);
+ return e;
+ }
+ function sRe(t, e) {
+ function r(n) {
+ Ee(e.nodeEdges(n), function (i) {
+ var a = i.v,
+ s = n === a ? i.w : a;
+ !t.hasNode(s) && !$d(e, i) && (t.setNode(s, {}), t.setEdge(n, s, {}), r(s));
+ });
+ }
+ return o(r, 'dfs'), Ee(t.nodes(), r), t.nodeCount();
+ }
+ function oRe(t, e) {
+ return Bd(e.edges(), function (r) {
+ if (t.hasNode(r.v) !== t.hasNode(r.w)) return $d(e, r);
+ });
+ }
+ function lRe(t, e, r) {
+ Ee(t.nodes(), function (n) {
+ e.node(n).rank += r;
+ });
+ }
+ var eD = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ tT();
+ o(rT, 'feasibleTree');
+ o(sRe, 'tightTree');
+ o(oRe, 'findMinSlackEdge');
+ o(lRe, 'shiftRanks');
+ });
+ var Pte = R(() => {
+ 'use strict';
+ });
+ var tD = R(() => {
+ 'use strict';
+ });
+ var tGt,
+ rD = R(() => {
+ 'use strict';
+ Pt();
+ tD();
+ tGt = ws(1);
+ });
+ var Bte = R(() => {
+ 'use strict';
+ rD();
+ });
+ var nD = R(() => {
+ 'use strict';
+ });
+ var Fte = R(() => {
+ 'use strict';
+ nD();
+ });
+ var fGt,
+ zte = R(() => {
+ 'use strict';
+ Pt();
+ fGt = ws(1);
+ });
+ function iD(t) {
+ var e = {},
+ r = {},
+ n = [];
+ function i(a) {
+ if (Xe(r, a)) throw new Ov();
+ Xe(e, a) || ((r[a] = !0), (e[a] = !0), Ee(t.predecessors(a), i), delete r[a], n.push(a));
+ }
+ if ((o(i, 'visit'), Ee(t.sinks(), i), VL(e) !== t.nodeCount())) throw new Ov();
+ return n;
+ }
+ function Ov() {}
+ var aD = R(() => {
+ 'use strict';
+ Pt();
+ iD.CycleException = Ov;
+ o(iD, 'topsort');
+ o(Ov, 'CycleException');
+ Ov.prototype = new Error();
+ });
+ var Gte = R(() => {
+ 'use strict';
+ aD();
+ });
+ function nT(t, e, r) {
+ wt(e) || (e = [e]);
+ var n = (t.isDirected() ? t.successors : t.neighbors).bind(t),
+ i = [],
+ a = {};
+ return (
+ Ee(e, function (s) {
+ if (!t.hasNode(s)) throw new Error('Graph does not have node: ' + s);
+ $te(t, s, r === 'post', a, n, i);
+ }),
+ i
+ );
+ }
+ function $te(t, e, r, n, i, a) {
+ Xe(n, e) ||
+ ((n[e] = !0),
+ r || a.push(e),
+ Ee(i(e), function (s) {
+ $te(t, s, r, n, i, a);
+ }),
+ r && a.push(e));
+ }
+ var sD = R(() => {
+ 'use strict';
+ Pt();
+ o(nT, 'dfs');
+ o($te, 'doDfs');
+ });
+ function oD(t, e) {
+ return nT(t, e, 'post');
+ }
+ var Vte = R(() => {
+ 'use strict';
+ sD();
+ o(oD, 'postorder');
+ });
+ function lD(t, e) {
+ return nT(t, e, 'pre');
+ }
+ var Ute = R(() => {
+ 'use strict';
+ sD();
+ o(lD, 'preorder');
+ });
+ var Hte = R(() => {
+ 'use strict';
+ tD();
+ Zw();
+ });
+ var Yte = R(() => {
+ 'use strict';
+ Pte();
+ rD();
+ Bte();
+ Fte();
+ zte();
+ Gte();
+ Vte();
+ Ute();
+ Hte();
+ nD();
+ aD();
+ });
+ function Jh(t) {
+ (t = xte(t)), Iv(t);
+ var e = rT(t);
+ uD(e), cD(e, t);
+ for (var r, n; (r = jte(e)); ) (n = Kte(e, t, r)), Qte(e, t, r, n);
+ }
+ function cD(t, e) {
+ var r = oD(t, t.nodes());
+ (r = r.slice(0, r.length - 1)),
+ Ee(r, function (n) {
+ dRe(t, e, n);
+ });
+ }
+ function dRe(t, e, r) {
+ var n = t.node(r),
+ i = n.parent;
+ t.edge(r, i).cutvalue = qte(t, e, r);
+ }
+ function qte(t, e, r) {
+ var n = t.node(r),
+ i = n.parent,
+ a = !0,
+ s = e.edge(r, i),
+ l = 0;
+ return (
+ s || ((a = !1), (s = e.edge(i, r))),
+ (l = s.weight),
+ Ee(e.nodeEdges(r), function (u) {
+ var h = u.v === r,
+ f = h ? u.w : u.v;
+ if (f !== i) {
+ var d = h === a,
+ p = e.edge(u).weight;
+ if (((l += d ? p : -p), mRe(t, r, f))) {
+ var m = t.edge(r, f).cutvalue;
+ l += d ? -m : m;
+ }
+ }
+ }),
+ l
+ );
+ }
+ function uD(t, e) {
+ arguments.length < 2 && (e = t.nodes()[0]), Xte(t, {}, 1, e);
+ }
+ function Xte(t, e, r, n, i) {
+ var a = r,
+ s = t.node(n);
+ return (
+ (e[n] = !0),
+ Ee(t.neighbors(n), function (l) {
+ Xe(e, l) || (r = Xte(t, e, r, l, n));
+ }),
+ (s.low = a),
+ (s.lim = r++),
+ i ? (s.parent = i) : delete s.parent,
+ r
+ );
+ }
+ function jte(t) {
+ return Za(t.edges(), function (e) {
+ return t.edge(e).cutvalue < 0;
+ });
+ }
+ function Kte(t, e, r) {
+ var n = r.v,
+ i = r.w;
+ e.hasEdge(n, i) || ((n = r.w), (i = r.v));
+ var a = t.node(n),
+ s = t.node(i),
+ l = a,
+ u = !1;
+ a.lim > s.lim && ((l = s), (u = !0));
+ var h = $r(e.edges(), function (f) {
+ return u === Wte(t, t.node(f.v), l) && u !== Wte(t, t.node(f.w), l);
+ });
+ return Bd(h, function (f) {
+ return $d(e, f);
+ });
+ }
+ function Qte(t, e, r, n) {
+ var i = r.v,
+ a = r.w;
+ t.removeEdge(i, a), t.setEdge(n.v, n.w, {}), uD(t), cD(t, e), pRe(t, e);
+ }
+ function pRe(t, e) {
+ var r = Za(t.nodes(), function (i) {
+ return !e.node(i).parent;
+ }),
+ n = lD(t, r);
+ (n = n.slice(1)),
+ Ee(n, function (i) {
+ var a = t.node(i).parent,
+ s = e.edge(i, a),
+ l = !1;
+ s || ((s = e.edge(a, i)), (l = !0)), (e.node(i).rank = e.node(a).rank + (l ? s.minlen : -s.minlen));
+ });
+ }
+ function mRe(t, e, r) {
+ return t.hasEdge(e, r);
+ }
+ function Wte(t, e, r) {
+ return r.low <= e.lim && e.lim <= r.lim;
+ }
+ var Zte = R(() => {
+ 'use strict';
+ Pt();
+ Yte();
+ Ec();
+ eD();
+ tT();
+ Jh.initLowLimValues = uD;
+ Jh.initCutValues = cD;
+ Jh.calcCutValue = qte;
+ Jh.leaveEdge = jte;
+ Jh.enterEdge = Kte;
+ Jh.exchangeEdges = Qte;
+ o(Jh, 'networkSimplex');
+ o(cD, 'initCutValues');
+ o(dRe, 'assignCutValue');
+ o(qte, 'calcCutValue');
+ o(uD, 'initLowLimValues');
+ o(Xte, 'dfsAssignLowLim');
+ o(jte, 'leaveEdge');
+ o(Kte, 'enterEdge');
+ o(Qte, 'exchangeEdges');
+ o(pRe, 'updateRanks');
+ o(mRe, 'isTreeEdge');
+ o(Wte, 'isDescendant');
+ });
+ function hD(t) {
+ switch (t.graph().ranker) {
+ case 'network-simplex':
+ Jte(t);
+ break;
+ case 'tight-tree':
+ yRe(t);
+ break;
+ case 'longest-path':
+ gRe(t);
+ break;
+ default:
+ Jte(t);
+ }
+ }
+ function yRe(t) {
+ Iv(t), rT(t);
+ }
+ function Jte(t) {
+ Jh(t);
+ }
+ var gRe,
+ fD = R(() => {
+ 'use strict';
+ eD();
+ Zte();
+ tT();
+ o(hD, 'rank');
+ gRe = Iv;
+ o(yRe, 'tightTreeRanker');
+ o(Jte, 'networkSimplexRanker');
+ });
+ function ere(t) {
+ var e = kc(t, 'root', {}, '_root'),
+ r = vRe(t),
+ n = _s(or(r)) - 1,
+ i = 2 * n + 1;
+ (t.graph().nestingRoot = e),
+ Ee(t.edges(), function (s) {
+ t.edge(s).minlen *= i;
+ });
+ var a = xRe(t) + 1;
+ Ee(t.children(), function (s) {
+ tre(t, e, i, a, n, r, s);
+ }),
+ (t.graph().nodeRankFactor = i);
+ }
+ function tre(t, e, r, n, i, a, s) {
+ var l = t.children(s);
+ if (!l.length) {
+ s !== e && t.setEdge(e, s, { weight: 0, minlen: r });
+ return;
+ }
+ var u = jL(t, '_bt'),
+ h = jL(t, '_bb'),
+ f = t.node(s);
+ t.setParent(u, s),
+ (f.borderTop = u),
+ t.setParent(h, s),
+ (f.borderBottom = h),
+ Ee(l, function (d) {
+ tre(t, e, r, n, i, a, d);
+ var p = t.node(d),
+ m = p.borderTop ? p.borderTop : d,
+ g = p.borderBottom ? p.borderBottom : d,
+ y = p.borderTop ? n : 2 * n,
+ v = m !== g ? 1 : i - a[s] + 1;
+ t.setEdge(u, m, { weight: y, minlen: v, nestingEdge: !0 }),
+ t.setEdge(g, h, { weight: y, minlen: v, nestingEdge: !0 });
+ }),
+ t.parent(s) || t.setEdge(e, u, { weight: 0, minlen: i + a[s] });
+ }
+ function vRe(t) {
+ var e = {};
+ function r(n, i) {
+ var a = t.children(n);
+ a &&
+ a.length &&
+ Ee(a, function (s) {
+ r(s, i + 1);
+ }),
+ (e[n] = i);
+ }
+ return (
+ o(r, 'dfs'),
+ Ee(t.children(), function (n) {
+ r(n, 1);
+ }),
+ e
+ );
+ }
+ function xRe(t) {
+ return Vr(
+ t.edges(),
+ function (e, r) {
+ return e + t.edge(r).weight;
+ },
+ 0
+ );
+ }
+ function rre(t) {
+ var e = t.graph();
+ t.removeNode(e.nestingRoot),
+ delete e.nestingRoot,
+ Ee(t.edges(), function (r) {
+ var n = t.edge(r);
+ n.nestingEdge && t.removeEdge(r);
+ });
+ }
+ var nre = R(() => {
+ 'use strict';
+ Pt();
+ Ec();
+ o(ere, 'run');
+ o(tre, 'dfs');
+ o(vRe, 'treeDepths');
+ o(xRe, 'sumWeights');
+ o(rre, 'cleanup');
+ });
+ function ire(t, e, r) {
+ var n = {},
+ i;
+ Ee(r, function (a) {
+ for (var s = t.parent(a), l, u; s; ) {
+ if (((l = t.parent(s)), l ? ((u = n[l]), (n[l] = s)) : ((u = i), (i = s)), u && u !== s)) {
+ e.setEdge(u, s);
+ return;
+ }
+ s = l;
+ }
+ });
+ }
+ var are = R(() => {
+ 'use strict';
+ Pt();
+ o(ire, 'addSubgraphConstraints');
+ });
+ function sre(t, e, r) {
+ var n = wRe(t),
+ i = new lr({ compound: !0 }).setGraph({ root: n }).setDefaultNodeLabel(function (a) {
+ return t.node(a);
+ });
+ return (
+ Ee(t.nodes(), function (a) {
+ var s = t.node(a),
+ l = t.parent(a);
+ (s.rank === e || (s.minRank <= e && e <= s.maxRank)) &&
+ (i.setNode(a),
+ i.setParent(a, l || n),
+ Ee(t[r](a), function (u) {
+ var h = u.v === a ? u.w : u.v,
+ f = i.edge(h, a),
+ d = er(f) ? 0 : f.weight;
+ i.setEdge(h, a, { weight: t.edge(u).weight + d });
+ }),
+ Xe(s, 'minRank') &&
+ i.setNode(a, {
+ borderLeft: s.borderLeft[e],
+ borderRight: s.borderRight[e]
+ }));
+ }),
+ i
+ );
+ }
+ function wRe(t) {
+ for (var e; t.hasNode((e = zd('_root'))); );
+ return e;
+ }
+ var ore = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ o(sre, 'buildLayerGraph');
+ o(wRe, 'createRootNode');
+ });
+ function lre(t, e) {
+ for (var r = 0, n = 1; n < e.length; ++n) r += TRe(t, e[n - 1], e[n]);
+ return r;
+ }
+ function TRe(t, e, r) {
+ for (
+ var n = Qw(
+ r,
+ qe(r, function (h, f) {
+ return f;
+ })
+ ),
+ i = Gr(
+ qe(e, function (h) {
+ return Tc(
+ qe(t.outEdges(h), function (f) {
+ return { pos: n[f.w], weight: t.edge(f).weight };
+ }),
+ 'pos'
+ );
+ })
+ ),
+ a = 1;
+ a < r.length;
+
+ )
+ a <<= 1;
+ var s = 2 * a - 1;
+ a -= 1;
+ var l = qe(new Array(s), function () {
+ return 0;
+ }),
+ u = 0;
+ return (
+ Ee(
+ i.forEach(function (h) {
+ var f = h.pos + a;
+ l[f] += h.weight;
+ for (var d = 0; f > 0; ) f % 2 && (d += l[f + 1]), (f = (f - 1) >> 1), (l[f] += h.weight);
+ u += h.weight * d;
+ })
+ ),
+ u
+ );
+ }
+ var cre = R(() => {
+ 'use strict';
+ Pt();
+ o(lre, 'crossCount');
+ o(TRe, 'twoLayerCrossCount');
+ });
+ function ure(t) {
+ var e = {},
+ r = $r(t.nodes(), function (l) {
+ return !t.children(l).length;
+ }),
+ n = _s(
+ qe(r, function (l) {
+ return t.node(l).rank;
+ })
+ ),
+ i = qe(Go(n + 1), function () {
+ return [];
+ });
+ function a(l) {
+ if (!Xe(e, l)) {
+ e[l] = !0;
+ var u = t.node(l);
+ i[u.rank].push(l), Ee(t.successors(l), a);
+ }
+ }
+ o(a, 'dfs');
+ var s = Tc(r, function (l) {
+ return t.node(l).rank;
+ });
+ return Ee(s, a), i;
+ }
+ var hre = R(() => {
+ 'use strict';
+ Pt();
+ o(ure, 'initOrder');
+ });
+ function fre(t, e) {
+ return qe(e, function (r) {
+ var n = t.inEdges(r);
+ if (n.length) {
+ var i = Vr(
+ n,
+ function (a, s) {
+ var l = t.edge(s),
+ u = t.node(s.v);
+ return {
+ sum: a.sum + l.weight * u.order,
+ weight: a.weight + l.weight
+ };
+ },
+ { sum: 0, weight: 0 }
+ );
+ return { v: r, barycenter: i.sum / i.weight, weight: i.weight };
+ } else return { v: r };
+ });
+ }
+ var dre = R(() => {
+ 'use strict';
+ Pt();
+ o(fre, 'barycenter');
+ });
+ function pre(t, e) {
+ var r = {};
+ Ee(t, function (i, a) {
+ var s = (r[i.v] = { indegree: 0, in: [], out: [], vs: [i.v], i: a });
+ er(i.barycenter) || ((s.barycenter = i.barycenter), (s.weight = i.weight));
+ }),
+ Ee(e.edges(), function (i) {
+ var a = r[i.v],
+ s = r[i.w];
+ !er(a) && !er(s) && (s.indegree++, a.out.push(r[i.w]));
+ });
+ var n = $r(r, function (i) {
+ return !i.indegree;
+ });
+ return kRe(n);
+ }
+ function kRe(t) {
+ var e = [];
+ function r(a) {
+ return function (s) {
+ s.merged || ((er(s.barycenter) || er(a.barycenter) || s.barycenter >= a.barycenter) && ERe(a, s));
+ };
+ }
+ o(r, 'handleIn');
+ function n(a) {
+ return function (s) {
+ s.in.push(a), --s.indegree === 0 && t.push(s);
+ };
+ }
+ for (o(n, 'handleOut'); t.length; ) {
+ var i = t.pop();
+ e.push(i), Ee(i.in.reverse(), r(i)), Ee(i.out, n(i));
+ }
+ return qe(
+ $r(e, function (a) {
+ return !a.merged;
+ }),
+ function (a) {
+ return Fd(a, ['vs', 'i', 'barycenter', 'weight']);
+ }
+ );
+ }
+ function ERe(t, e) {
+ var r = 0,
+ n = 0;
+ t.weight && ((r += t.barycenter * t.weight), (n += t.weight)),
+ e.weight && ((r += e.barycenter * e.weight), (n += e.weight)),
+ (t.vs = e.vs.concat(t.vs)),
+ (t.barycenter = r / n),
+ (t.weight = n),
+ (t.i = Math.min(e.i, t.i)),
+ (e.merged = !0);
+ }
+ var mre = R(() => {
+ 'use strict';
+ Pt();
+ o(pre, 'resolveConflicts');
+ o(kRe, 'doResolveConflicts');
+ o(ERe, 'mergeEntries');
+ });
+ function yre(t, e) {
+ var r = Tte(t, function (f) {
+ return Xe(f, 'barycenter');
+ }),
+ n = r.lhs,
+ i = Tc(r.rhs, function (f) {
+ return -f.i;
+ }),
+ a = [],
+ s = 0,
+ l = 0,
+ u = 0;
+ n.sort(CRe(!!e)),
+ (u = gre(a, i, u)),
+ Ee(n, function (f) {
+ (u += f.vs.length), a.push(f.vs), (s += f.barycenter * f.weight), (l += f.weight), (u = gre(a, i, u));
+ });
+ var h = { vs: Gr(a) };
+ return l && ((h.barycenter = s / l), (h.weight = l)), h;
+ }
+ function gre(t, e, r) {
+ for (var n; e.length && (n = ma(e)).i <= r; ) e.pop(), t.push(n.vs), r++;
+ return r;
+ }
+ function CRe(t) {
+ return function (e, r) {
+ return e.barycenter < r.barycenter ? -1 : e.barycenter > r.barycenter ? 1 : t ? r.i - e.i : e.i - r.i;
+ };
+ }
+ var vre = R(() => {
+ 'use strict';
+ Pt();
+ Ec();
+ o(yre, 'sort');
+ o(gre, 'consumeUnsortable');
+ o(CRe, 'compareWithBias');
+ });
+ function dD(t, e, r, n) {
+ var i = t.children(e),
+ a = t.node(e),
+ s = a ? a.borderLeft : void 0,
+ l = a ? a.borderRight : void 0,
+ u = {};
+ s &&
+ (i = $r(i, function (g) {
+ return g !== s && g !== l;
+ }));
+ var h = fre(t, i);
+ Ee(h, function (g) {
+ if (t.children(g.v).length) {
+ var y = dD(t, g.v, r, n);
+ (u[g.v] = y), Xe(y, 'barycenter') && ARe(g, y);
+ }
+ });
+ var f = pre(h, r);
+ SRe(f, u);
+ var d = yre(f, n);
+ if (s && ((d.vs = Gr([s, d.vs, l])), t.predecessors(s).length)) {
+ var p = t.node(t.predecessors(s)[0]),
+ m = t.node(t.predecessors(l)[0]);
+ Xe(d, 'barycenter') || ((d.barycenter = 0), (d.weight = 0)),
+ (d.barycenter = (d.barycenter * d.weight + p.order + m.order) / (d.weight + 2)),
+ (d.weight += 2);
+ }
+ return d;
+ }
+ function SRe(t, e) {
+ Ee(t, function (r) {
+ r.vs = Gr(
+ r.vs.map(function (n) {
+ return e[n] ? e[n].vs : n;
+ })
+ );
+ });
+ }
+ function ARe(t, e) {
+ er(t.barycenter)
+ ? ((t.barycenter = e.barycenter), (t.weight = e.weight))
+ : ((t.barycenter = (t.barycenter * t.weight + e.barycenter * e.weight) / (t.weight + e.weight)),
+ (t.weight += e.weight));
+ }
+ var xre = R(() => {
+ 'use strict';
+ Pt();
+ dre();
+ mre();
+ vre();
+ o(dD, 'sortSubgraph');
+ o(SRe, 'expandSubgraphs');
+ o(ARe, 'mergeBarycenters');
+ });
+ function Tre(t) {
+ var e = KL(t),
+ r = bre(t, Go(1, e + 1), 'inEdges'),
+ n = bre(t, Go(e - 1, -1, -1), 'outEdges'),
+ i = ure(t);
+ wre(t, i);
+ for (var a = Number.POSITIVE_INFINITY, s, l = 0, u = 0; u < 4; ++l, ++u) {
+ _Re(l % 2 ? r : n, l % 4 >= 2), (i = Qh(t));
+ var h = lre(t, i);
+ h < a && ((u = 0), (s = yL(i)), (a = h));
+ }
+ wre(t, s);
+ }
+ function bre(t, e, r) {
+ return qe(e, function (n) {
+ return sre(t, n, r);
+ });
+ }
+ function _Re(t, e) {
+ var r = new lr();
+ Ee(t, function (n) {
+ var i = n.graph().root,
+ a = dD(n, i, r, e);
+ Ee(a.vs, function (s, l) {
+ n.node(s).order = l;
+ }),
+ ire(n, r, a.vs);
+ });
+ }
+ function wre(t, e) {
+ Ee(e, function (r) {
+ Ee(r, function (n, i) {
+ t.node(n).order = i;
+ });
+ });
+ }
+ var kre = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ Ec();
+ are();
+ ore();
+ cre();
+ hre();
+ xre();
+ o(Tre, 'order');
+ o(bre, 'buildLayerGraphs');
+ o(_Re, 'sweepLayerGraphs');
+ o(wre, 'assignOrder');
+ });
+ function Ere(t) {
+ var e = DRe(t);
+ Ee(t.graph().dummyChains, function (r) {
+ for (
+ var n = t.node(r),
+ i = n.edgeObj,
+ a = LRe(t, e, i.v, i.w),
+ s = a.path,
+ l = a.lca,
+ u = 0,
+ h = s[u],
+ f = !0;
+ r !== i.w;
+
+ ) {
+ if (((n = t.node(r)), f)) {
+ for (; (h = s[u]) !== l && t.node(h).maxRank < n.rank; ) u++;
+ h === l && (f = !1);
+ }
+ if (!f) {
+ for (; u < s.length - 1 && t.node((h = s[u + 1])).minRank <= n.rank; ) u++;
+ h = s[u];
+ }
+ t.setParent(r, h), (r = t.successors(r)[0]);
+ }
+ });
+ }
+ function LRe(t, e, r, n) {
+ var i = [],
+ a = [],
+ s = Math.min(e[r].low, e[n].low),
+ l = Math.max(e[r].lim, e[n].lim),
+ u,
+ h;
+ u = r;
+ do (u = t.parent(u)), i.push(u);
+ while (u && (e[u].low > s || l > e[u].lim));
+ for (h = u, u = n; (u = t.parent(u)) !== h; ) a.push(u);
+ return { path: i.concat(a.reverse()), lca: h };
+ }
+ function DRe(t) {
+ var e = {},
+ r = 0;
+ function n(i) {
+ var a = r;
+ Ee(t.children(i), n), (e[i] = { low: a, lim: r++ });
+ }
+ return o(n, 'dfs'), Ee(t.children(), n), e;
+ }
+ var Cre = R(() => {
+ 'use strict';
+ Pt();
+ o(Ere, 'parentDummyChains');
+ o(LRe, 'findPath');
+ o(DRe, 'postorder');
+ });
+ function RRe(t, e) {
+ var r = {};
+ function n(i, a) {
+ var s = 0,
+ l = 0,
+ u = i.length,
+ h = ma(a);
+ return (
+ Ee(a, function (f, d) {
+ var p = MRe(t, f),
+ m = p ? t.node(p).order : u;
+ (p || f === h) &&
+ (Ee(a.slice(l, d + 1), function (g) {
+ Ee(t.predecessors(g), function (y) {
+ var v = t.node(y),
+ x = v.order;
+ (x < s || m < x) && !(v.dummy && t.node(g).dummy) && Sre(r, y, g);
+ });
+ }),
+ (l = d + 1),
+ (s = m));
+ }),
+ a
+ );
+ }
+ return o(n, 'visitLayer'), Vr(e, n), r;
+ }
+ function NRe(t, e) {
+ var r = {};
+ function n(a, s, l, u, h) {
+ var f;
+ Ee(Go(s, l), function (d) {
+ (f = a[d]),
+ t.node(f).dummy &&
+ Ee(t.predecessors(f), function (p) {
+ var m = t.node(p);
+ m.dummy && (m.order < u || m.order > h) && Sre(r, p, f);
+ });
+ });
+ }
+ o(n, 'scan');
+ function i(a, s) {
+ var l = -1,
+ u,
+ h = 0;
+ return (
+ Ee(s, function (f, d) {
+ if (t.node(f).dummy === 'border') {
+ var p = t.predecessors(f);
+ p.length && ((u = t.node(p[0]).order), n(s, h, d, l, u), (h = d), (l = u));
+ }
+ n(s, h, s.length, u, a.length);
+ }),
+ s
+ );
+ }
+ return o(i, 'visitLayer'), Vr(e, i), r;
+ }
+ function MRe(t, e) {
+ if (t.node(e).dummy)
+ return Za(t.predecessors(e), function (r) {
+ return t.node(r).dummy;
+ });
+ }
+ function Sre(t, e, r) {
+ if (e > r) {
+ var n = e;
+ (e = r), (r = n);
+ }
+ var i = t[e];
+ i || (t[e] = i = {}), (i[r] = !0);
+ }
+ function IRe(t, e, r) {
+ if (e > r) {
+ var n = e;
+ (e = r), (r = n);
+ }
+ return Xe(t[e], r);
+ }
+ function ORe(t, e, r, n) {
+ var i = {},
+ a = {},
+ s = {};
+ return (
+ Ee(e, function (l) {
+ Ee(l, function (u, h) {
+ (i[u] = u), (a[u] = u), (s[u] = h);
+ });
+ }),
+ Ee(e, function (l) {
+ var u = -1;
+ Ee(l, function (h) {
+ var f = n(h);
+ if (f.length) {
+ f = Tc(f, function (y) {
+ return s[y];
+ });
+ for (var d = (f.length - 1) / 2, p = Math.floor(d), m = Math.ceil(d); p <= m; ++p) {
+ var g = f[p];
+ a[h] === h && u < s[g] && !IRe(r, h, g) && ((a[g] = h), (a[h] = i[h] = i[g]), (u = s[g]));
+ }
+ }
+ });
+ }),
+ { root: i, align: a }
+ );
+ }
+ function PRe(t, e, r, n, i) {
+ var a = {},
+ s = BRe(t, e, r, i),
+ l = i ? 'borderLeft' : 'borderRight';
+ function u(d, p) {
+ for (var m = s.nodes(), g = m.pop(), y = {}; g; )
+ y[g] ? d(g) : ((y[g] = !0), m.push(g), (m = m.concat(p(g)))), (g = m.pop());
+ }
+ o(u, 'iterate');
+ function h(d) {
+ a[d] = s.inEdges(d).reduce(function (p, m) {
+ return Math.max(p, a[m.v] + s.edge(m));
+ }, 0);
+ }
+ o(h, 'pass1');
+ function f(d) {
+ var p = s.outEdges(d).reduce(function (g, y) {
+ return Math.min(g, a[y.w] - s.edge(y));
+ }, Number.POSITIVE_INFINITY),
+ m = t.node(d);
+ p !== Number.POSITIVE_INFINITY && m.borderType !== l && (a[d] = Math.max(a[d], p));
+ }
+ return (
+ o(f, 'pass2'),
+ u(h, s.predecessors.bind(s)),
+ u(f, s.successors.bind(s)),
+ Ee(n, function (d) {
+ a[d] = a[r[d]];
+ }),
+ a
+ );
+ }
+ function BRe(t, e, r, n) {
+ var i = new lr(),
+ a = t.graph(),
+ s = $Re(a.nodesep, a.edgesep, n);
+ return (
+ Ee(e, function (l) {
+ var u;
+ Ee(l, function (h) {
+ var f = r[h];
+ if ((i.setNode(f), u)) {
+ var d = r[u],
+ p = i.edge(d, f);
+ i.setEdge(d, f, Math.max(s(t, h, u), p || 0));
+ }
+ u = h;
+ });
+ }),
+ i
+ );
+ }
+ function FRe(t, e) {
+ return Bd(or(e), function (r) {
+ var n = Number.NEGATIVE_INFINITY,
+ i = Number.POSITIVE_INFINITY;
+ return (
+ NL(r, function (a, s) {
+ var l = VRe(t, s) / 2;
+ (n = Math.max(a + l, n)), (i = Math.min(a - l, i));
+ }),
+ n - i
+ );
+ });
+ }
+ function zRe(t, e) {
+ var r = or(e),
+ n = Ll(r),
+ i = _s(r);
+ Ee(['u', 'd'], function (a) {
+ Ee(['l', 'r'], function (s) {
+ var l = a + s,
+ u = t[l],
+ h;
+ if (u !== e) {
+ var f = or(u);
+ (h = s === 'l' ? n - Ll(f) : i - _s(f)),
+ h &&
+ (t[l] = Pd(u, function (d) {
+ return d + h;
+ }));
+ }
+ });
+ });
+ }
+ function GRe(t, e) {
+ return Pd(t.ul, function (r, n) {
+ if (e) return t[e.toLowerCase()][n];
+ var i = Tc(qe(t, n));
+ return (i[1] + i[2]) / 2;
+ });
+ }
+ function Are(t) {
+ var e = Qh(t),
+ r = Gh(RRe(t, e), NRe(t, e)),
+ n = {},
+ i;
+ Ee(['u', 'd'], function (s) {
+ (i = s === 'u' ? e : or(e).reverse()),
+ Ee(['l', 'r'], function (l) {
+ l === 'r' &&
+ (i = qe(i, function (d) {
+ return or(d).reverse();
+ }));
+ var u = (s === 'u' ? t.predecessors : t.successors).bind(t),
+ h = ORe(t, i, r, u),
+ f = PRe(t, i, h.root, h.align, l === 'r');
+ l === 'r' &&
+ (f = Pd(f, function (d) {
+ return -d;
+ })),
+ (n[s + l] = f);
+ });
+ });
+ var a = FRe(t, n);
+ return zRe(n, a), GRe(n, t.graph().align);
+ }
+ function $Re(t, e, r) {
+ return function (n, i, a) {
+ var s = n.node(i),
+ l = n.node(a),
+ u = 0,
+ h;
+ if (((u += s.width / 2), Xe(s, 'labelpos')))
+ switch (s.labelpos.toLowerCase()) {
+ case 'l':
+ h = -s.width / 2;
+ break;
+ case 'r':
+ h = s.width / 2;
+ break;
+ }
+ if (
+ (h && (u += r ? h : -h),
+ (h = 0),
+ (u += (s.dummy ? e : t) / 2),
+ (u += (l.dummy ? e : t) / 2),
+ (u += l.width / 2),
+ Xe(l, 'labelpos'))
+ )
+ switch (l.labelpos.toLowerCase()) {
+ case 'l':
+ h = l.width / 2;
+ break;
+ case 'r':
+ h = -l.width / 2;
+ break;
+ }
+ return h && (u += r ? h : -h), (h = 0), u;
+ };
+ }
+ function VRe(t, e) {
+ return t.node(e).width;
+ }
+ var _re = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ Ec();
+ o(RRe, 'findType1Conflicts');
+ o(NRe, 'findType2Conflicts');
+ o(MRe, 'findOtherInnerSegmentNode');
+ o(Sre, 'addConflict');
+ o(IRe, 'hasConflict');
+ o(ORe, 'verticalAlignment');
+ o(PRe, 'horizontalCompaction');
+ o(BRe, 'buildBlockGraph');
+ o(FRe, 'findSmallestWidthAlignment');
+ o(zRe, 'alignCoordinates');
+ o(GRe, 'balance');
+ o(Are, 'positionX');
+ o($Re, 'sep');
+ o(VRe, 'width');
+ });
+ function Lre(t) {
+ (t = eT(t)),
+ URe(t),
+ ML(Are(t), function (e, r) {
+ t.node(r).x = e;
+ });
+ }
+ function URe(t) {
+ var e = Qh(t),
+ r = t.graph().ranksep,
+ n = 0;
+ Ee(e, function (i) {
+ var a = _s(
+ qe(i, function (s) {
+ return t.node(s).height;
+ })
+ );
+ Ee(i, function (s) {
+ t.node(s).y = n + a / 2;
+ }),
+ (n += a + r);
+ });
+ }
+ var Dre = R(() => {
+ 'use strict';
+ Pt();
+ Ec();
+ _re();
+ o(Lre, 'position');
+ o(URe, 'positionY');
+ });
+ function lo(t, e) {
+ var r = e && e.debugTiming ? kte : Ete;
+ r('layout', function () {
+ var n = r(' buildLayoutGraph', function () {
+ return eNe(t);
+ });
+ r(' runLayout', function () {
+ HRe(n, r);
+ }),
+ r(' updateInputGraph', function () {
+ YRe(t, n);
+ });
+ });
+ }
+ function HRe(t, e) {
+ e(' makeSpaceForEdgeLabels', function () {
+ tNe(t);
+ }),
+ e(' removeSelfEdges', function () {
+ uNe(t);
+ }),
+ e(' acyclic', function () {
+ gte(t);
+ }),
+ e(' nestingGraph.run', function () {
+ ere(t);
+ }),
+ e(' rank', function () {
+ hD(eT(t));
+ }),
+ e(' injectEdgeLabelProxies', function () {
+ rNe(t);
+ }),
+ e(' removeEmptyRanks', function () {
+ wte(t);
+ }),
+ e(' nestingGraph.cleanup', function () {
+ rre(t);
+ }),
+ e(' normalizeRanks', function () {
+ bte(t);
+ }),
+ e(' assignRankMinMax', function () {
+ nNe(t);
+ }),
+ e(' removeEdgeLabelProxies', function () {
+ iNe(t);
+ }),
+ e(' normalize.run', function () {
+ Mte(t);
+ }),
+ e(' parentDummyChains', function () {
+ Ere(t);
+ }),
+ e(' addBorderSegments', function () {
+ Ste(t);
+ }),
+ e(' order', function () {
+ Tre(t);
+ }),
+ e(' insertSelfEdges', function () {
+ hNe(t);
+ }),
+ e(' adjustCoordinateSystem', function () {
+ Lte(t);
+ }),
+ e(' position', function () {
+ Lre(t);
+ }),
+ e(' positionSelfEdges', function () {
+ fNe(t);
+ }),
+ e(' removeBorderNodes', function () {
+ cNe(t);
+ }),
+ e(' normalize.undo', function () {
+ Ite(t);
+ }),
+ e(' fixupEdgeLabelCoords', function () {
+ oNe(t);
+ }),
+ e(' undoCoordinateSystem', function () {
+ Dte(t);
+ }),
+ e(' translateGraph', function () {
+ aNe(t);
+ }),
+ e(' assignNodeIntersects', function () {
+ sNe(t);
+ }),
+ e(' reversePoints', function () {
+ lNe(t);
+ }),
+ e(' acyclic.undo', function () {
+ yte(t);
+ });
+ }
+ function YRe(t, e) {
+ Ee(t.nodes(), function (r) {
+ var n = t.node(r),
+ i = e.node(r);
+ n && ((n.x = i.x), (n.y = i.y), e.children(r).length && ((n.width = i.width), (n.height = i.height)));
+ }),
+ Ee(t.edges(), function (r) {
+ var n = t.edge(r),
+ i = e.edge(r);
+ (n.points = i.points), Xe(i, 'x') && ((n.x = i.x), (n.y = i.y));
+ }),
+ (t.graph().width = e.graph().width),
+ (t.graph().height = e.graph().height);
+ }
+ function eNe(t) {
+ var e = new lr({ multigraph: !0, compound: !0 }),
+ r = mD(t.graph());
+ return (
+ e.setGraph(Gh({}, qRe, pD(r, WRe), Fd(r, XRe))),
+ Ee(t.nodes(), function (n) {
+ var i = mD(t.node(n));
+ e.setNode(n, Xh(pD(i, jRe), KRe)), e.setParent(n, t.parent(n));
+ }),
+ Ee(t.edges(), function (n) {
+ var i = mD(t.edge(n));
+ e.setEdge(n, Gh({}, ZRe, pD(i, QRe), Fd(i, JRe)));
+ }),
+ e
+ );
+ }
+ function tNe(t) {
+ var e = t.graph();
+ (e.ranksep /= 2),
+ Ee(t.edges(), function (r) {
+ var n = t.edge(r);
+ (n.minlen *= 2),
+ n.labelpos.toLowerCase() !== 'c' &&
+ (e.rankdir === 'TB' || e.rankdir === 'BT'
+ ? (n.width += n.labeloffset)
+ : (n.height += n.labeloffset));
+ });
+ }
+ function rNe(t) {
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ if (r.width && r.height) {
+ var n = t.node(e.v),
+ i = t.node(e.w),
+ a = { rank: (i.rank - n.rank) / 2 + n.rank, e };
+ kc(t, 'edge-proxy', a, '_ep');
+ }
+ });
+ }
+ function nNe(t) {
+ var e = 0;
+ Ee(t.nodes(), function (r) {
+ var n = t.node(r);
+ n.borderTop &&
+ ((n.minRank = t.node(n.borderTop).rank),
+ (n.maxRank = t.node(n.borderBottom).rank),
+ (e = _s(e, n.maxRank)));
+ }),
+ (t.graph().maxRank = e);
+ }
+ function iNe(t) {
+ Ee(t.nodes(), function (e) {
+ var r = t.node(e);
+ r.dummy === 'edge-proxy' && ((t.edge(r.e).labelRank = r.rank), t.removeNode(e));
+ });
+ }
+ function aNe(t) {
+ var e = Number.POSITIVE_INFINITY,
+ r = 0,
+ n = Number.POSITIVE_INFINITY,
+ i = 0,
+ a = t.graph(),
+ s = a.marginx || 0,
+ l = a.marginy || 0;
+ function u(h) {
+ var f = h.x,
+ d = h.y,
+ p = h.width,
+ m = h.height;
+ (e = Math.min(e, f - p / 2)),
+ (r = Math.max(r, f + p / 2)),
+ (n = Math.min(n, d - m / 2)),
+ (i = Math.max(i, d + m / 2));
+ }
+ o(u, 'getExtremes'),
+ Ee(t.nodes(), function (h) {
+ u(t.node(h));
+ }),
+ Ee(t.edges(), function (h) {
+ var f = t.edge(h);
+ Xe(f, 'x') && u(f);
+ }),
+ (e -= s),
+ (n -= l),
+ Ee(t.nodes(), function (h) {
+ var f = t.node(h);
+ (f.x -= e), (f.y -= n);
+ }),
+ Ee(t.edges(), function (h) {
+ var f = t.edge(h);
+ Ee(f.points, function (d) {
+ (d.x -= e), (d.y -= n);
+ }),
+ Xe(f, 'x') && (f.x -= e),
+ Xe(f, 'y') && (f.y -= n);
+ }),
+ (a.width = r - e + s),
+ (a.height = i - n + l);
+ }
+ function sNe(t) {
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e),
+ n = t.node(e.v),
+ i = t.node(e.w),
+ a,
+ s;
+ r.points ? ((a = r.points[0]), (s = r.points[r.points.length - 1])) : ((r.points = []), (a = i), (s = n)),
+ r.points.unshift(XL(n, a)),
+ r.points.push(XL(i, s));
+ });
+ }
+ function oNe(t) {
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ if (Xe(r, 'x'))
+ switch (((r.labelpos === 'l' || r.labelpos === 'r') && (r.width -= r.labeloffset), r.labelpos)) {
+ case 'l':
+ r.x -= r.width / 2 + r.labeloffset;
+ break;
+ case 'r':
+ r.x += r.width / 2 + r.labeloffset;
+ break;
+ }
+ });
+ }
+ function lNe(t) {
+ Ee(t.edges(), function (e) {
+ var r = t.edge(e);
+ r.reversed && r.points.reverse();
+ });
+ }
+ function cNe(t) {
+ Ee(t.nodes(), function (e) {
+ if (t.children(e).length) {
+ var r = t.node(e),
+ n = t.node(r.borderTop),
+ i = t.node(r.borderBottom),
+ a = t.node(ma(r.borderLeft)),
+ s = t.node(ma(r.borderRight));
+ (r.width = Math.abs(s.x - a.x)),
+ (r.height = Math.abs(i.y - n.y)),
+ (r.x = a.x + r.width / 2),
+ (r.y = n.y + r.height / 2);
+ }
+ }),
+ Ee(t.nodes(), function (e) {
+ t.node(e).dummy === 'border' && t.removeNode(e);
+ });
+ }
+ function uNe(t) {
+ Ee(t.edges(), function (e) {
+ if (e.v === e.w) {
+ var r = t.node(e.v);
+ r.selfEdges || (r.selfEdges = []), r.selfEdges.push({ e, label: t.edge(e) }), t.removeEdge(e);
+ }
+ });
+ }
+ function hNe(t) {
+ var e = Qh(t);
+ Ee(e, function (r) {
+ var n = 0;
+ Ee(r, function (i, a) {
+ var s = t.node(i);
+ (s.order = a + n),
+ Ee(s.selfEdges, function (l) {
+ kc(
+ t,
+ 'selfedge',
+ {
+ width: l.label.width,
+ height: l.label.height,
+ rank: s.rank,
+ order: a + ++n,
+ e: l.e,
+ label: l.label
+ },
+ '_se'
+ );
+ }),
+ delete s.selfEdges;
+ });
+ });
+ }
+ function fNe(t) {
+ Ee(t.nodes(), function (e) {
+ var r = t.node(e);
+ if (r.dummy === 'selfedge') {
+ var n = t.node(r.e.v),
+ i = n.x + n.width / 2,
+ a = n.y,
+ s = r.x - i,
+ l = n.height / 2;
+ t.setEdge(r.e, r.label),
+ t.removeNode(e),
+ (r.label.points = [
+ { x: i + (2 * s) / 3, y: a - l },
+ { x: i + (5 * s) / 6, y: a - l },
+ { x: i + s, y: a },
+ { x: i + (5 * s) / 6, y: a + l },
+ { x: i + (2 * s) / 3, y: a + l }
+ ]),
+ (r.label.x = r.x),
+ (r.label.y = r.y);
+ }
+ });
+ }
+ function pD(t, e) {
+ return Pd(Fd(t, e), Number);
+ }
+ function mD(t) {
+ var e = {};
+ return (
+ Ee(t, function (r, n) {
+ e[n.toLowerCase()] = r;
+ }),
+ e
+ );
+ }
+ var WRe,
+ qRe,
+ XRe,
+ jRe,
+ KRe,
+ QRe,
+ ZRe,
+ JRe,
+ Rre = R(() => {
+ 'use strict';
+ Pt();
+ ya();
+ Ate();
+ Nte();
+ qL();
+ JL();
+ fD();
+ nre();
+ kre();
+ Cre();
+ Dre();
+ Ec();
+ o(lo, 'layout');
+ o(HRe, 'runLayout');
+ o(YRe, 'updateInputGraph');
+ (WRe = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy']),
+ (qRe = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' }),
+ (XRe = ['acyclicer', 'ranker', 'rankdir', 'align']),
+ (jRe = ['width', 'height']),
+ (KRe = { width: 0, height: 0 }),
+ (QRe = ['minlen', 'weight', 'width', 'height', 'labeloffset']),
+ (ZRe = {
+ minlen: 1,
+ weight: 1,
+ width: 0,
+ height: 0,
+ labeloffset: 10,
+ labelpos: 'r'
+ }),
+ (JRe = ['labelpos']);
+ o(eNe, 'buildLayoutGraph');
+ o(tNe, 'makeSpaceForEdgeLabels');
+ o(rNe, 'injectEdgeLabelProxies');
+ o(nNe, 'assignRankMinMax');
+ o(iNe, 'removeEdgeLabelProxies');
+ o(aNe, 'translateGraph');
+ o(sNe, 'assignNodeIntersects');
+ o(oNe, 'fixupEdgeLabelCoords');
+ o(lNe, 'reversePointsForReversedEdges');
+ o(cNe, 'removeBorderNodes');
+ o(uNe, 'removeSelfEdges');
+ o(hNe, 'insertSelfEdges');
+ o(fNe, 'positionSelfEdges');
+ o(pD, 'selectNumberAttrs');
+ o(mD, 'canonicalize');
+ });
+ var Vd = R(() => {
+ 'use strict';
+ qL();
+ Rre();
+ JL();
+ fD();
+ });
+ function zn(t) {
+ var e = {
+ options: {
+ directed: t.isDirected(),
+ multigraph: t.isMultigraph(),
+ compound: t.isCompound()
+ },
+ nodes: dNe(t),
+ edges: pNe(t)
+ };
+ return er(t.graph()) || (e.value = Qr(t.graph())), e;
+ }
+ function dNe(t) {
+ return qe(t.nodes(), function (e) {
+ var r = t.node(e),
+ n = t.parent(e),
+ i = { v: e };
+ return er(r) || (i.value = r), er(n) || (i.parent = n), i;
+ });
+ }
+ function pNe(t) {
+ return qe(t.edges(), function (e) {
+ var r = t.edge(e),
+ n = { v: e.v, w: e.w };
+ return er(e.name) || (n.name = e.name), er(r) || (n.value = r), n;
+ });
+ }
+ var Pv = R(() => {
+ 'use strict';
+ Pt();
+ Zw();
+ o(zn, 'write');
+ o(dNe, 'writeNodes');
+ o(pNe, 'writeEdges');
+ });
+ var cr,
+ Ud,
+ Mre,
+ Ire,
+ aT,
+ mNe,
+ Ore,
+ Pre,
+ gNe,
+ Bm,
+ Nre,
+ Bre,
+ Fre,
+ zre,
+ Gre,
+ $re = R(() => {
+ 'use strict';
+ ut();
+ ya();
+ Pv();
+ (cr = new Map()),
+ (Ud = new Map()),
+ (Mre = new Map()),
+ (Ire = o(() => {
+ Ud.clear(), Mre.clear(), cr.clear();
+ }, 'clear')),
+ (aT = o((t, e) => {
+ let r = Ud.get(e) || [];
+ return V.trace('In isDescendant', e, ' ', t, ' = ', r.includes(t)), r.includes(t);
+ }, 'isDescendant')),
+ (mNe = o((t, e) => {
+ let r = Ud.get(e) || [];
+ return (
+ V.info('Descendants of ', e, ' is ', r),
+ V.info('Edge is ', t),
+ t.v === e || t.w === e
+ ? !1
+ : r
+ ? r.includes(t.v) || aT(t.v, e) || aT(t.w, e) || r.includes(t.w)
+ : (V.debug('Tilt, ', e, ',not in descendants'), !1)
+ );
+ }, 'edgeInCluster')),
+ (Ore = o((t, e, r, n) => {
+ V.warn('Copying children of ', t, 'root', n, 'data', e.node(t), n);
+ let i = e.children(t) || [];
+ t !== n && i.push(t),
+ V.warn('Copying (nodes) clusterId', t, 'nodes', i),
+ i.forEach((a) => {
+ if (e.children(a).length > 0) Ore(a, e, r, n);
+ else {
+ let s = e.node(a);
+ V.info('cp ', a, ' to ', n, ' with parent ', t),
+ r.setNode(a, s),
+ n !== e.parent(a) &&
+ (V.warn('Setting parent', a, e.parent(a)), r.setParent(a, e.parent(a))),
+ t !== n && a !== t
+ ? (V.debug('Setting parent', a, t), r.setParent(a, t))
+ : (V.info('In copy ', t, 'root', n, 'data', e.node(t), n),
+ V.debug(
+ 'Not Setting parent for node=',
+ a,
+ 'cluster!==rootId',
+ t !== n,
+ 'node!==clusterId',
+ a !== t
+ ));
+ let l = e.edges(a);
+ V.debug('Copying Edges', l),
+ l.forEach((u) => {
+ V.info('Edge', u);
+ let h = e.edge(u.v, u.w, u.name);
+ V.info('Edge data', h, n);
+ try {
+ mNe(u, n)
+ ? (V.info('Copying as ', u.v, u.w, h, u.name),
+ r.setEdge(u.v, u.w, h, u.name),
+ V.info('newGraph edges ', r.edges(), r.edge(r.edges()[0])))
+ : V.info(
+ 'Skipping copy of edge ',
+ u.v,
+ '-->',
+ u.w,
+ ' rootId: ',
+ n,
+ ' clusterId:',
+ t
+ );
+ } catch (f) {
+ V.error(f);
+ }
+ });
+ }
+ V.debug('Removing node', a), e.removeNode(a);
+ });
+ }, 'copy')),
+ (Pre = o((t, e) => {
+ let r = e.children(t),
+ n = [...r];
+ for (let i of r) Mre.set(i, t), (n = [...n, ...Pre(i, e)]);
+ return n;
+ }, 'extractDescendants')),
+ (gNe = o((t, e, r) => {
+ let n = t.edges().filter((u) => u.v === e || u.w === e),
+ i = t.edges().filter((u) => u.v === r || u.w === r),
+ a = n.map((u) => ({
+ v: u.v === e ? r : u.v,
+ w: u.w === e ? e : u.w
+ })),
+ s = i.map((u) => ({ v: u.v, w: u.w }));
+ return a.filter((u) => s.some((h) => u.v === h.v && u.w === h.w));
+ }, 'findCommonEdges')),
+ (Bm = o((t, e, r) => {
+ let n = e.children(t);
+ if ((V.trace('Searching children of id ', t, n), n.length < 1)) return t;
+ let i;
+ for (let a of n) {
+ let s = Bm(a, e, r),
+ l = gNe(e, r, s);
+ if (s)
+ if (l.length > 0) i = s;
+ else return s;
+ }
+ return i;
+ }, 'findNonClusterChild')),
+ (Nre = o(
+ (t) => (!cr.has(t) || !cr.get(t).externalConnections ? t : cr.has(t) ? cr.get(t).id : t),
+ 'getAnchorId'
+ )),
+ (Bre = o((t, e) => {
+ if (!t || e > 10) {
+ V.debug('Opting out, no graph ');
+ return;
+ } else V.debug('Opting in, graph ');
+ t.nodes().forEach(function (r) {
+ t.children(r).length > 0 &&
+ (V.warn('Cluster identified', r, ' Replacement id in edges: ', Bm(r, t, r)),
+ Ud.set(r, Pre(r, t)),
+ cr.set(r, { id: Bm(r, t, r), clusterData: t.node(r) }));
+ }),
+ t.nodes().forEach(function (r) {
+ let n = t.children(r),
+ i = t.edges();
+ n.length > 0
+ ? (V.debug('Cluster identified', r, Ud),
+ i.forEach((a) => {
+ let s = aT(a.v, r),
+ l = aT(a.w, r);
+ s ^ l &&
+ (V.warn('Edge: ', a, ' leaves cluster ', r),
+ V.warn('Descendants of XXX ', r, ': ', Ud.get(r)),
+ (cr.get(r).externalConnections = !0));
+ }))
+ : V.debug('Not a cluster ', r, Ud);
+ });
+ for (let r of cr.keys()) {
+ let n = cr.get(r).id,
+ i = t.parent(n);
+ i !== r && cr.has(i) && !cr.get(i).externalConnections && (cr.get(r).id = i);
+ }
+ t.edges().forEach(function (r) {
+ let n = t.edge(r);
+ V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(r)),
+ V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(t.edge(r)));
+ let i = r.v,
+ a = r.w;
+ if (
+ (V.warn(
+ 'Fix XXX',
+ cr,
+ 'ids:',
+ r.v,
+ r.w,
+ 'Translating: ',
+ cr.get(r.v),
+ ' --- ',
+ cr.get(r.w)
+ ),
+ cr.get(r.v) || cr.get(r.w))
+ ) {
+ if (
+ (V.warn('Fixing and trying - removing XXX', r.v, r.w, r.name),
+ (i = Nre(r.v)),
+ (a = Nre(r.w)),
+ t.removeEdge(r.v, r.w, r.name),
+ i !== r.v)
+ ) {
+ let s = t.parent(i);
+ (cr.get(s).externalConnections = !0), (n.fromCluster = r.v);
+ }
+ if (a !== r.w) {
+ let s = t.parent(a);
+ (cr.get(s).externalConnections = !0), (n.toCluster = r.w);
+ }
+ V.warn('Fix Replacing with XXX', i, a, r.name), t.setEdge(i, a, n, r.name);
+ }
+ }),
+ V.warn('Adjusted Graph', zn(t)),
+ Fre(t, 0),
+ V.trace(cr);
+ }, 'adjustClustersAndEdges')),
+ (Fre = o((t, e) => {
+ if ((V.warn('extractor - ', e, zn(t), t.children('D')), e > 10)) {
+ V.error('Bailing out');
+ return;
+ }
+ let r = t.nodes(),
+ n = !1;
+ for (let i of r) {
+ let a = t.children(i);
+ n = n || a.length > 0;
+ }
+ if (!n) {
+ V.debug('Done, no node has children', t.nodes());
+ return;
+ }
+ V.debug('Nodes = ', r, e);
+ for (let i of r)
+ if (
+ (V.debug(
+ 'Extracting node',
+ i,
+ cr,
+ cr.has(i) && !cr.get(i).externalConnections,
+ !t.parent(i),
+ t.node(i),
+ t.children('D'),
+ ' Depth ',
+ e
+ ),
+ !cr.has(i))
+ )
+ V.debug('Not a cluster', i, e);
+ else if (!cr.get(i).externalConnections && t.children(i) && t.children(i).length > 0) {
+ V.warn('Cluster without external connections, without a parent and with children', i, e);
+ let s = t.graph().rankdir === 'TB' ? 'LR' : 'TB';
+ cr.get(i)?.clusterData?.dir &&
+ ((s = cr.get(i).clusterData.dir), V.warn('Fixing dir', cr.get(i).clusterData.dir, s));
+ let l = new lr({ multigraph: !0, compound: !0 })
+ .setGraph({
+ rankdir: s,
+ nodesep: 50,
+ ranksep: 50,
+ marginx: 8,
+ marginy: 8
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ V.warn('Old graph before copy', zn(t)),
+ Ore(i, t, l, i),
+ t.setNode(i, {
+ clusterNode: !0,
+ id: i,
+ clusterData: cr.get(i).clusterData,
+ label: cr.get(i).label,
+ graph: l
+ }),
+ V.warn('New graph after copy node: (', i, ')', zn(l)),
+ V.debug('Old graph after copy', zn(t));
+ } else
+ V.warn(
+ 'Cluster ** ',
+ i,
+ ' **not meeting the criteria !externalConnections:',
+ !cr.get(i).externalConnections,
+ ' no parent: ',
+ !t.parent(i),
+ ' children ',
+ t.children(i) && t.children(i).length > 0,
+ t.children('D'),
+ e
+ ),
+ V.debug(cr);
+ (r = t.nodes()), V.warn('New list of nodes', r);
+ for (let i of r) {
+ let a = t.node(i);
+ V.warn(' Now next level', i, a), a?.clusterNode && Fre(a.graph, e + 1);
+ }
+ }, 'extractor')),
+ (zre = o((t, e) => {
+ if (e.length === 0) return [];
+ let r = Object.assign([], e);
+ return (
+ e.forEach((n) => {
+ let i = t.children(n),
+ a = zre(t, i);
+ r = [...r, ...a];
+ }),
+ r
+ );
+ }, 'sorter')),
+ (Gre = o((t) => zre(t, t.children()), 'sortNodesByHierarchy'));
+ });
+ var Ure = {};
+ hr(Ure, { render: () => yNe });
+ var Vre,
+ yNe,
+ Hre = R(() => {
+ 'use strict';
+ Vd();
+ Pv();
+ ya();
+ Q9();
+ ri();
+ $re();
+ tL();
+ X9();
+ K9();
+ ut();
+ _d();
+ _t();
+ (Vre = o(async (t, e, r, n, i, a) => {
+ V.warn('Graph in recursive render:XAX', zn(e), i);
+ let s = e.graph().rankdir;
+ V.trace('Dir in recursive render - dir:', s);
+ let l = t.insert('g').attr('class', 'root');
+ e.nodes() ? V.info('Recursive render XXX', e.nodes()) : V.info('No nodes found for', e),
+ e.edges().length > 0 && V.info('Recursive edges', e.edge(e.edges()[0]));
+ let u = l.insert('g').attr('class', 'clusters'),
+ h = l.insert('g').attr('class', 'edgePaths'),
+ f = l.insert('g').attr('class', 'edgeLabels'),
+ d = l.insert('g').attr('class', 'nodes');
+ await Promise.all(
+ e.nodes().map(async function (y) {
+ let v = e.node(y);
+ if (i !== void 0) {
+ let x = JSON.parse(JSON.stringify(i.clusterData));
+ V.trace(
+ `Setting data for parent cluster XXX
+ Node.id = `,
+ y,
+ `
+ data=`,
+ x.height,
+ `
+Parent cluster`,
+ i.height
+ ),
+ e.setNode(i.id, x),
+ e.parent(y) || (V.trace('Setting parent', y, i.id), e.setParent(y, i.id, x));
+ }
+ if ((V.info('(Insert) Node XXX' + y + ': ' + JSON.stringify(e.node(y))), v?.clusterNode)) {
+ V.info('Cluster identified XBX', y, v.width, e.node(y));
+ let { ranksep: x, nodesep: b } = e.graph();
+ v.graph.setGraph({
+ ...v.graph.graph(),
+ ranksep: x + 25,
+ nodesep: b
+ });
+ let w = await Vre(d, v.graph, r, n, e.node(y), a),
+ S = w.elem;
+ ar(v, S),
+ (v.diff = w.diff || 0),
+ V.info(
+ 'New compound node after recursive render XAX',
+ y,
+ 'width',
+ v.width,
+ 'height',
+ v.height
+ ),
+ lQ(S, v);
+ } else e.children(y).length > 0 ? (V.trace('Cluster - the non recursive path XBX', y, v.id, v, v.width, 'Graph:', e), V.trace(Bm(v.id, e)), cr.set(v.id, { id: Bm(v.id, e), node: v })) : (V.trace('Node - the non recursive path XAX', y, d, e.node(y), s), await rw(d, e.node(y), s));
+ })
+ ),
+ await o(async () => {
+ let y = e.edges().map(async function (v) {
+ let x = e.edge(v.v, v.w, v.name);
+ V.info('Edge ' + v.v + ' -> ' + v.w + ': ' + JSON.stringify(v)),
+ V.info('Edge ' + v.v + ' -> ' + v.w + ': ', v, ' ', JSON.stringify(e.edge(v))),
+ V.info('Fix', cr, 'ids:', v.v, v.w, 'Translating: ', cr.get(v.v), cr.get(v.w)),
+ await Q5(f, x);
+ });
+ await Promise.all(y);
+ }, 'processEdges')(),
+ V.info('Graph before layout:', JSON.stringify(zn(e))),
+ V.info('############################################# XXX'),
+ V.info('### Layout ### XXX'),
+ V.info('############################################# XXX'),
+ lo(e),
+ V.info('Graph after layout:', JSON.stringify(zn(e)));
+ let m = 0,
+ { subGraphTitleTotalMargin: g } = io(a);
+ return (
+ await Promise.all(
+ Gre(e).map(async function (y) {
+ let v = e.node(y);
+ if (
+ (V.info(
+ 'Position XBX => ' + y + ': (' + v.x,
+ ',' + v.y,
+ ') width: ',
+ v.width,
+ ' height: ',
+ v.height
+ ),
+ v?.clusterNode)
+ )
+ (v.y += g),
+ V.info(
+ 'A tainted cluster node XBX1',
+ y,
+ v.id,
+ v.width,
+ v.height,
+ v.x,
+ v.y,
+ e.parent(y)
+ ),
+ (cr.get(v.id).node = v),
+ eL(v);
+ else if (e.children(y).length > 0) {
+ V.info('A pure cluster node XBX1', y, v.id, v.x, v.y, v.width, v.height, e.parent(y)),
+ (v.height += g),
+ e.node(v.parentId);
+ let x = v?.padding / 2 || 0,
+ b = v?.labelBBox?.height || 0,
+ w = b - x || 0;
+ V.debug('OffsetY', w, 'labelHeight', b, 'halfPadding', x),
+ await Y5(u, v),
+ (cr.get(v.id).node = v);
+ } else {
+ let x = e.node(v.parentId);
+ (v.y += g / 2),
+ V.info(
+ 'A regular node XBX1 - using the padding',
+ v.id,
+ 'parent',
+ v.parentId,
+ v.width,
+ v.height,
+ v.x,
+ v.y,
+ 'offsetY',
+ v.offsetY,
+ 'parent',
+ x,
+ x?.offsetY,
+ v
+ ),
+ eL(v);
+ }
+ })
+ ),
+ e.edges().forEach(function (y) {
+ let v = e.edge(y);
+ V.info('Edge ' + y.v + ' -> ' + y.w + ': ' + JSON.stringify(v), v),
+ v.points.forEach((S) => (S.y += g / 2));
+ let x = e.node(y.v);
+ var b = e.node(y.w);
+ let w = J5(h, v, cr, r, x, b, n);
+ Z5(v, w);
+ }),
+ e.nodes().forEach(function (y) {
+ let v = e.node(y);
+ V.info(y, v.type, v.diff), v.isGroup && (m = v.diff);
+ }),
+ V.warn('Returning from recursive render XAX', l, m),
+ { elem: l, diff: m }
+ );
+ }, 'recursiveRender')),
+ (yNe = o(async (t, e) => {
+ let r = new lr({ multigraph: !0, compound: !0 })
+ .setGraph({
+ rankdir: t.direction,
+ nodesep: t.config?.nodeSpacing || t.config?.flowchart?.nodeSpacing || t.nodeSpacing,
+ ranksep: t.config?.rankSpacing || t.config?.flowchart?.rankSpacing || t.rankSpacing,
+ marginx: 8,
+ marginy: 8
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ }),
+ n = e.select('g');
+ ew(n, t.markers, t.type, t.diagramId),
+ cQ(),
+ lK(),
+ rK(),
+ Ire(),
+ t.nodes.forEach((a) => {
+ r.setNode(a.id, { ...a }), a.parentId && r.setParent(a.id, a.parentId);
+ }),
+ V.debug('Edges:', t.edges),
+ t.edges.forEach((a) => {
+ if (a.start === a.end) {
+ let s = a.start,
+ l = s + '---' + s + '---1',
+ u = s + '---' + s + '---2',
+ h = r.node(s);
+ r.setNode(l, {
+ domId: l,
+ id: l,
+ parentId: h.parentId,
+ labelStyle: '',
+ label: '',
+ padding: 0,
+ shape: 'labelRect',
+ style: '',
+ width: 10,
+ height: 10
+ }),
+ r.setParent(l, h.parentId),
+ r.setNode(u, {
+ domId: u,
+ id: u,
+ parentId: h.parentId,
+ labelStyle: '',
+ padding: 0,
+ shape: 'labelRect',
+ label: '',
+ style: '',
+ width: 10,
+ height: 10
+ }),
+ r.setParent(u, h.parentId);
+ let f = structuredClone(a),
+ d = structuredClone(a),
+ p = structuredClone(a);
+ (f.label = ''),
+ (f.arrowTypeEnd = 'none'),
+ (f.id = s + '-cyclic-special-1'),
+ (d.arrowTypeEnd = 'none'),
+ (d.id = s + '-cyclic-special-mid'),
+ (p.label = ''),
+ h.isGroup && ((f.fromCluster = s), (p.toCluster = s)),
+ (p.id = s + '-cyclic-special-2'),
+ r.setEdge(s, l, f, s + '-cyclic-special-0'),
+ r.setEdge(l, u, d, s + '-cyclic-special-1'),
+ r.setEdge(u, s, p, s + '-cyc {
+ 'use strict';
+ hQ();
+ ut();
+ (Bv = {}),
+ (gD = o((t) => {
+ for (let e of t) Bv[e.name] = e;
+ }, 'registerLayoutLoaders')),
+ (vNe = o(() => {
+ gD([
+ {
+ name: 'dagre',
+ loader: o(async () => await Promise.resolve().then(() => (Hre(), Ure)), 'loader')
+ }
+ ]);
+ }, 'registerDefaultLayoutLoaders'));
+ vNe();
+ (sT = o(async (t, e) => {
+ if (!(t.layoutAlgorithm in Bv)) throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);
+ let r = Bv[t.layoutAlgorithm];
+ return (await r.loader()).render(t, e, uQ, { algorithm: r.algorithm });
+ }, 'render')),
+ (Yre = o((t = '', { fallback: e = 'dagre' } = {}) => {
+ if (t in Bv) return t;
+ if (e in Bv) return V.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`), e;
+ throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`);
+ }, 'getRegisteredLayoutAlgorithm'));
+ });
+ var lT,
+ xNe,
+ bNe,
+ yD = R(() => {
+ 'use strict';
+ Yn();
+ ut();
+ (lT = o((t, e, r, n) => {
+ t.attr('class', r);
+ let { width: i, height: a, x: s, y: l } = xNe(t, e);
+ Sr(t, a, i, n);
+ let u = bNe(s, l, i, a, e);
+ t.attr('viewBox', u), V.debug(`viewBox configured: ${u} with padding: ${e}`);
+ }, 'setupViewPortForSVG')),
+ (xNe = o((t, e) => {
+ let r = t.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 };
+ return {
+ width: r.width + e * 2,
+ height: r.height + e * 2,
+ x: r.x,
+ y: r.y
+ };
+ }, 'calculateDimensionsWithPadding')),
+ (bNe = o((t, e, r, n, i) => `${t - i} ${e - i} ${r} ${n}`, 'createViewBox'));
+ });
+ var wNe,
+ TNe,
+ Wre,
+ qre = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ ut();
+ L9();
+ oT();
+ yD();
+ xr();
+ f9();
+ (wNe = o(function (t, e) {
+ return e.db.getClasses();
+ }, 'getClasses')),
+ (TNe = o(async function (t, e, r, n) {
+ V.info('REF0:'), V.info('Drawing state diagram (v2)', e);
+ let { securityLevel: i, flowchart: a, layout: s } = de(),
+ l;
+ i === 'sandbox' && (l = $e('#i' + e));
+ let u = i === 'sandbox' ? l.nodes()[0].contentDocument : document;
+ V.debug('Before getData: ');
+ let h = n.db.getData();
+ V.debug('Data: ', h);
+ let f = I5(e, i),
+ d = h9();
+ (h.type = n.type),
+ (h.layoutAlgorithm = Yre(s)),
+ h.layoutAlgorithm === 'dagre' &&
+ s === 'elk' &&
+ V.warn(
+ 'flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback.'
+ ),
+ (h.direction = d),
+ (h.nodeSpacing = a?.nodeSpacing || 50),
+ (h.rankSpacing = a?.rankSpacing || 50),
+ (h.markers = ['point', 'circle', 'cross']),
+ (h.diagramId = e),
+ V.debug('REF1:', h),
+ await sT(h, f);
+ let p = h.config.flowchart?.diagramPadding ?? 8;
+ Lt.insertTitle(f, 'flowchartTitleText', a?.titleTopMargin || 0, n.db.getDiagramTitle()),
+ lT(f, p, 'flowchart', a?.useMaxWidth || !1);
+ for (let m of h.nodes) {
+ let g = $e(`#${e} [id="${m.id}"]`);
+ if (!g || !m.link) continue;
+ let y = u.createElementNS('http://www.w3.org/2000/svg', 'a');
+ y.setAttributeNS('http://www.w3.org/2000/svg', 'class', m.cssClasses),
+ y.setAttributeNS('http://www.w3.org/2000/svg', 'rel', 'noopener'),
+ i === 'sandbox'
+ ? y.setAttributeNS('http://www.w3.org/2000/svg', 'target', '_top')
+ : m.linkTarget &&
+ y.setAttributeNS('http://www.w3.org/2000/svg', 'target', m.linkTarget);
+ let v = g.insert(function () {
+ return y;
+ }, ':first-child'),
+ x = g.select('.label-container');
+ x &&
+ v.append(function () {
+ return x.node();
+ });
+ let b = g.select('.label');
+ b &&
+ v.append(function () {
+ return b.node();
+ });
+ }
+ }, 'draw')),
+ (Wre = { getClasses: wNe, draw: TNe });
+ });
+ var vD,
+ Xre,
+ jre = R(() => {
+ 'use strict';
+ vD = (function () {
+ var t = o(function (qi, ht, At, $t) {
+ for (At = At || {}, $t = qi.length; $t--; At[qi[$t]] = ht);
+ return At;
+ }, 'o'),
+ e = [1, 4],
+ r = [1, 3],
+ n = [1, 5],
+ i = [
+ 1, 8, 9, 10, 11, 27, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111,
+ 112, 113, 118, 119, 120, 121
+ ],
+ a = [2, 2],
+ s = [1, 13],
+ l = [1, 14],
+ u = [1, 15],
+ h = [1, 16],
+ f = [1, 23],
+ d = [1, 25],
+ p = [1, 26],
+ m = [1, 27],
+ g = [1, 49],
+ y = [1, 48],
+ v = [1, 29],
+ x = [1, 30],
+ b = [1, 31],
+ w = [1, 32],
+ S = [1, 33],
+ T = [1, 44],
+ E = [1, 46],
+ _ = [1, 42],
+ A = [1, 47],
+ L = [1, 43],
+ M = [1, 50],
+ N = [1, 45],
+ k = [1, 51],
+ I = [1, 52],
+ C = [1, 34],
+ O = [1, 35],
+ D = [1, 36],
+ P = [1, 37],
+ F = [1, 57],
+ B = [
+ 1, 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108,
+ 111, 112, 113, 118, 119, 120, 121
+ ],
+ $ = [1, 61],
+ z = [1, 60],
+ Y = [1, 62],
+ Q = [8, 9, 11, 73, 75],
+ X = [1, 88],
+ ie = [1, 93],
+ j = [1, 92],
+ J = [1, 89],
+ Z = [1, 85],
+ H = [1, 91],
+ q = [1, 87],
+ K = [1, 94],
+ se = [1, 90],
+ ce = [1, 95],
+ ue = [1, 86],
+ te = [8, 9, 10, 11, 73, 75],
+ De = [8, 9, 10, 11, 44, 73, 75],
+ oe = [
+ 8, 9, 10, 11, 29, 42, 44, 46, 48, 50, 52, 54, 56, 58, 61, 63, 65, 66, 68, 73, 75, 86, 99, 102,
+ 103, 106, 108, 111, 112, 113
+ ],
+ ke = [8, 9, 11, 42, 58, 73, 75, 86, 99, 102, 103, 106, 108, 111, 112, 113],
+ Ie = [42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113],
+ Se = [1, 121],
+ Ue = [1, 120],
+ Pe = [1, 128],
+ _e = [1, 142],
+ me = [1, 143],
+ W = [1, 144],
+ fe = [1, 145],
+ ge = [1, 130],
+ re = [1, 132],
+ he = [1, 136],
+ ne = [1, 137],
+ ae = [1, 138],
+ we = [1, 139],
+ Te = [1, 140],
+ Ce = [1, 141],
+ Ae = [1, 146],
+ Ge = [1, 147],
+ Me = [1, 126],
+ ye = [1, 127],
+ He = [1, 134],
+ ze = [1, 129],
+ Ze = [1, 133],
+ gt = [1, 131],
+ yt = [
+ 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111,
+ 112, 113, 118, 119, 120, 121
+ ],
+ tt = [1, 149],
+ Ye = [8, 9, 11],
+ Je = [8, 9, 10, 11, 14, 42, 58, 86, 102, 103, 106, 108, 111, 112, 113],
+ Ve = [1, 169],
+ je = [1, 165],
+ kt = [1, 166],
+ at = [1, 170],
+ xt = [1, 167],
+ it = [1, 168],
+ dt = [75, 113, 116],
+ lt = [
+ 8, 9, 10, 11, 12, 14, 27, 29, 32, 42, 58, 73, 81, 82, 83, 84, 85, 86, 87, 102, 106, 108, 111,
+ 112, 113
+ ],
+ It = [10, 103],
+ mt = [31, 47, 49, 51, 53, 55, 60, 62, 64, 65, 67, 69, 113, 114, 115],
+ St = [1, 235],
+ gr = [1, 233],
+ xn = [1, 237],
+ jt = [1, 231],
+ rn = [1, 232],
+ Er = [1, 234],
+ Kn = [1, 236],
+ hn = [1, 238],
+ Qn = [1, 255],
+ on = [8, 9, 11, 103],
+ Rn = [8, 9, 10, 11, 58, 81, 102, 103, 106, 107, 108, 109],
+ Ha = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ graphConfig: 4,
+ document: 5,
+ line: 6,
+ statement: 7,
+ SEMI: 8,
+ NEWLINE: 9,
+ SPACE: 10,
+ EOF: 11,
+ GRAPH: 12,
+ NODIR: 13,
+ DIR: 14,
+ FirstStmtSeparator: 15,
+ ending: 16,
+ endToken: 17,
+ spaceList: 18,
+ spaceListNewline: 19,
+ vertexStatement: 20,
+ separator: 21,
+ styleStatement: 22,
+ linkStyleStatement: 23,
+ classDefStatement: 24,
+ classStatement: 25,
+ clickStatement: 26,
+ subgraph: 27,
+ textNoTags: 28,
+ SQS: 29,
+ text: 30,
+ SQE: 31,
+ end: 32,
+ direction: 33,
+ acc_title: 34,
+ acc_title_value: 35,
+ acc_descr: 36,
+ acc_descr_value: 37,
+ acc_descr_multiline_value: 38,
+ link: 39,
+ node: 40,
+ styledVertex: 41,
+ AMP: 42,
+ vertex: 43,
+ STYLE_SEPARATOR: 44,
+ idString: 45,
+ DOUBLECIRCLESTART: 46,
+ DOUBLECIRCLEEND: 47,
+ PS: 48,
+ PE: 49,
+ '(-': 50,
+ '-)': 51,
+ STADIUMSTART: 52,
+ STADIUMEND: 53,
+ SUBROUTINESTART: 54,
+ SUBROUTINEEND: 55,
+ VERTEX_WITH_PROPS_START: 56,
+ 'NODE_STRING[field]': 57,
+ COLON: 58,
+ 'NODE_STRING[value]': 59,
+ PIPE: 60,
+ CYLINDERSTART: 61,
+ CYLINDEREND: 62,
+ DIAMOND_START: 63,
+ DIAMOND_STOP: 64,
+ TAGEND: 65,
+ TRAPSTART: 66,
+ TRAPEND: 67,
+ INVTRAPSTART: 68,
+ INVTRAPEND: 69,
+ linkStatement: 70,
+ arrowText: 71,
+ TESTSTR: 72,
+ START_LINK: 73,
+ edgeText: 74,
+ LINK: 75,
+ edgeTextToken: 76,
+ STR: 77,
+ MD_STR: 78,
+ textToken: 79,
+ keywords: 80,
+ STYLE: 81,
+ LINKSTYLE: 82,
+ CLASSDEF: 83,
+ CLASS: 84,
+ CLICK: 85,
+ DOWN: 86,
+ UP: 87,
+ textNoTagsToken: 88,
+ stylesOpt: 89,
+ 'idString[vertex]': 90,
+ 'idString[class]': 91,
+ CALLBACKNAME: 92,
+ CALLBACKARGS: 93,
+ HREF: 94,
+ LINK_TARGET: 95,
+ 'STR[link]': 96,
+ 'STR[tooltip]': 97,
+ alphaNum: 98,
+ DEFAULT: 99,
+ numList: 100,
+ INTERPOLATE: 101,
+ NUM: 102,
+ COMMA: 103,
+ style: 104,
+ styleComponent: 105,
+ NODE_STRING: 106,
+ UNIT: 107,
+ BRKT: 108,
+ PCT: 109,
+ idStringToken: 110,
+ MINUS: 111,
+ MULT: 112,
+ UNICODE_TEXT: 113,
+ TEXT: 114,
+ TAGSTART: 115,
+ EDGE_TEXT: 116,
+ alphaNumToken: 117,
+ direction_tb: 118,
+ direction_bt: 119,
+ direction_rl: 120,
+ direction_lr: 121,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 8: 'SEMI',
+ 9: 'NEWLINE',
+ 10: 'SPACE',
+ 11: 'EOF',
+ 12: 'GRAPH',
+ 13: 'NODIR',
+ 14: 'DIR',
+ 27: 'subgraph',
+ 29: 'SQS',
+ 31: 'SQE',
+ 32: 'end',
+ 34: 'acc_title',
+ 35: 'acc_title_value',
+ 36: 'acc_descr',
+ 37: 'acc_descr_value',
+ 38: 'acc_descr_multiline_value',
+ 42: 'AMP',
+ 44: 'STYLE_SEPARATOR',
+ 46: 'DOUBLECIRCLESTART',
+ 47: 'DOUBLECIRCLEEND',
+ 48: 'PS',
+ 49: 'PE',
+ 50: '(-',
+ 51: '-)',
+ 52: 'STADIUMSTART',
+ 53: 'STADIUMEND',
+ 54: 'SUBROUTINESTART',
+ 55: 'SUBROUTINEEND',
+ 56: 'VERTEX_WITH_PROPS_START',
+ 57: 'NODE_STRING[field]',
+ 58: 'COLON',
+ 59: 'NODE_STRING[value]',
+ 60: 'PIPE',
+ 61: 'CYLINDERSTART',
+ 62: 'CYLINDEREND',
+ 63: 'DIAMOND_START',
+ 64: 'DIAMOND_STOP',
+ 65: 'TAGEND',
+ 66: 'TRAPSTART',
+ 67: 'TRAPEND',
+ 68: 'INVTRAPSTART',
+ 69: 'INVTRAPEND',
+ 72: 'TESTSTR',
+ 73: 'START_LINK',
+ 75: 'LINK',
+ 77: 'STR',
+ 78: 'MD_STR',
+ 81: 'STYLE',
+ 82: 'LINKSTYLE',
+ 83: 'CLASSDEF',
+ 84: 'CLASS',
+ 85: 'CLICK',
+ 86: 'DOWN',
+ 87: 'UP',
+ 90: 'idString[vertex]',
+ 91: 'idString[class]',
+ 92: 'CALLBACKNAME',
+ 93: 'CALLBACKARGS',
+ 94: 'HREF',
+ 95: 'LINK_TARGET',
+ 96: 'STR[link]',
+ 97: 'STR[tooltip]',
+ 99: 'DEFAULT',
+ 101: 'INTERPOLATE',
+ 102: 'NUM',
+ 103: 'COMMA',
+ 106: 'NODE_STRING',
+ 107: 'UNIT',
+ 108: 'BRKT',
+ 109: 'PCT',
+ 111: 'MINUS',
+ 112: 'MULT',
+ 113: 'UNICODE_TEXT',
+ 114: 'TEXT',
+ 115: 'TAGSTART',
+ 116: 'EDGE_TEXT',
+ 118: 'direction_tb',
+ 119: 'direction_bt',
+ 120: 'direction_rl',
+ 121: 'direction_lr'
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [5, 0],
+ [5, 2],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 3],
+ [16, 2],
+ [16, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [15, 1],
+ [15, 1],
+ [15, 2],
+ [19, 2],
+ [19, 2],
+ [19, 1],
+ [19, 1],
+ [18, 2],
+ [18, 1],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 9],
+ [7, 6],
+ [7, 4],
+ [7, 1],
+ [7, 2],
+ [7, 2],
+ [7, 1],
+ [21, 1],
+ [21, 1],
+ [21, 1],
+ [20, 3],
+ [20, 4],
+ [20, 2],
+ [20, 1],
+ [40, 1],
+ [40, 5],
+ [41, 1],
+ [41, 3],
+ [43, 4],
+ [43, 4],
+ [43, 6],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 8],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 6],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 1],
+ [39, 2],
+ [39, 3],
+ [39, 3],
+ [39, 1],
+ [39, 3],
+ [74, 1],
+ [74, 2],
+ [74, 1],
+ [74, 1],
+ [70, 1],
+ [71, 3],
+ [30, 1],
+ [30, 2],
+ [30, 1],
+ [30, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [28, 1],
+ [28, 2],
+ [28, 1],
+ [28, 1],
+ [24, 5],
+ [25, 5],
+ [26, 2],
+ [26, 4],
+ [26, 3],
+ [26, 5],
+ [26, 3],
+ [26, 5],
+ [26, 5],
+ [26, 7],
+ [26, 2],
+ [26, 4],
+ [26, 2],
+ [26, 4],
+ [26, 4],
+ [26, 6],
+ [22, 5],
+ [23, 5],
+ [23, 5],
+ [23, 9],
+ [23, 9],
+ [23, 7],
+ [23, 7],
+ [100, 1],
+ [100, 3],
+ [89, 1],
+ [89, 3],
+ [104, 1],
+ [104, 2],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [76, 1],
+ [76, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [45, 1],
+ [45, 2],
+ [98, 1],
+ [98, 2],
+ [33, 1],
+ [33, 1],
+ [33, 1],
+ [33, 1]
+ ],
+ performAction: o(function (ht, At, $t, rt, Ot, pe, ur) {
+ var be = pe.length - 1;
+ switch (Ot) {
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ (!Array.isArray(pe[be]) || pe[be].length > 0) && pe[be - 1].push(pe[be]),
+ (this.$ = pe[be - 1]);
+ break;
+ case 4:
+ case 176:
+ this.$ = pe[be];
+ break;
+ case 11:
+ rt.setDirection('TB'), (this.$ = 'TB');
+ break;
+ case 12:
+ rt.setDirection(pe[be - 1]), (this.$ = pe[be - 1]);
+ break;
+ case 27:
+ this.$ = pe[be - 1].nodes;
+ break;
+ case 28:
+ case 29:
+ case 30:
+ case 31:
+ case 32:
+ this.$ = [];
+ break;
+ case 33:
+ this.$ = rt.addSubGraph(pe[be - 6], pe[be - 1], pe[be - 4]);
+ break;
+ case 34:
+ this.$ = rt.addSubGraph(pe[be - 3], pe[be - 1], pe[be - 3]);
+ break;
+ case 35:
+ this.$ = rt.addSubGraph(void 0, pe[be - 1], void 0);
+ break;
+ case 37:
+ (this.$ = pe[be].trim()), rt.setAccTitle(this.$);
+ break;
+ case 38:
+ case 39:
+ (this.$ = pe[be].trim()), rt.setAccDescription(this.$);
+ break;
+ case 43:
+ rt.addLink(pe[be - 2].stmt, pe[be], pe[be - 1]),
+ (this.$ = {
+ stmt: pe[be],
+ nodes: pe[be].concat(pe[be - 2].nodes)
+ });
+ break;
+ case 44:
+ rt.addLink(pe[be - 3].stmt, pe[be - 1], pe[be - 2]),
+ (this.$ = {
+ stmt: pe[be - 1],
+ nodes: pe[be - 1].concat(pe[be - 3].nodes)
+ });
+ break;
+ case 45:
+ this.$ = { stmt: pe[be - 1], nodes: pe[be - 1] };
+ break;
+ case 46:
+ this.$ = { stmt: pe[be], nodes: pe[be] };
+ break;
+ case 47:
+ this.$ = [pe[be]];
+ break;
+ case 48:
+ this.$ = pe[be - 4].concat(pe[be]);
+ break;
+ case 49:
+ this.$ = pe[be];
+ break;
+ case 50:
+ (this.$ = pe[be - 2]), rt.setClass(pe[be - 2], pe[be]);
+ break;
+ case 51:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'square');
+ break;
+ case 52:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'doublecircle');
+ break;
+ case 53:
+ (this.$ = pe[be - 5]), rt.addVertex(pe[be - 5], pe[be - 2], 'circle');
+ break;
+ case 54:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'ellipse');
+ break;
+ case 55:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'stadium');
+ break;
+ case 56:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'subroutine');
+ break;
+ case 57:
+ (this.$ = pe[be - 7]),
+ rt.addVertex(
+ pe[be - 7],
+ pe[be - 1],
+ 'rect',
+ void 0,
+ void 0,
+ void 0,
+ Object.fromEntries([[pe[be - 5], pe[be - 3]]])
+ );
+ break;
+ case 58:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'cylinder');
+ break;
+ case 59:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'round');
+ break;
+ case 60:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'diamond');
+ break;
+ case 61:
+ (this.$ = pe[be - 5]), rt.addVertex(pe[be - 5], pe[be - 2], 'hexagon');
+ break;
+ case 62:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'odd');
+ break;
+ case 63:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'trapezoid');
+ break;
+ case 64:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'inv_trapezoid');
+ break;
+ case 65:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'lean_right');
+ break;
+ case 66:
+ (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'lean_left');
+ break;
+ case 67:
+ (this.$ = pe[be]), rt.addVertex(pe[be]);
+ break;
+ case 68:
+ (pe[be - 1].text = pe[be]), (this.$ = pe[be - 1]);
+ break;
+ case 69:
+ case 70:
+ (pe[be - 2].text = pe[be - 1]), (this.$ = pe[be - 2]);
+ break;
+ case 71:
+ this.$ = pe[be];
+ break;
+ case 72:
+ var Ir = rt.destructLink(pe[be], pe[be - 2]);
+ this.$ = {
+ type: Ir.type,
+ stroke: Ir.stroke,
+ length: Ir.length,
+ text: pe[be - 1]
+ };
+ break;
+ case 73:
+ this.$ = { text: pe[be], type: 'text' };
+ break;
+ case 74:
+ this.$ = {
+ text: pe[be - 1].text + '' + pe[be],
+ type: pe[be - 1].type
+ };
+ break;
+ case 75:
+ this.$ = { text: pe[be], type: 'string' };
+ break;
+ case 76:
+ this.$ = { text: pe[be], type: 'markdown' };
+ break;
+ case 77:
+ var Ir = rt.destructLink(pe[be]);
+ this.$ = {
+ type: Ir.type,
+ stroke: Ir.stroke,
+ length: Ir.length
+ };
+ break;
+ case 78:
+ this.$ = pe[be - 1];
+ break;
+ case 79:
+ this.$ = { text: pe[be], type: 'text' };
+ break;
+ case 80:
+ this.$ = {
+ text: pe[be - 1].text + '' + pe[be],
+ type: pe[be - 1].type
+ };
+ break;
+ case 81:
+ this.$ = { text: pe[be], type: 'string' };
+ break;
+ case 82:
+ case 97:
+ this.$ = { text: pe[be], type: 'markdown' };
+ break;
+ case 94:
+ this.$ = { text: pe[be], type: 'text' };
+ break;
+ case 95:
+ this.$ = {
+ text: pe[be - 1].text + '' + pe[be],
+ type: pe[be - 1].type
+ };
+ break;
+ case 96:
+ this.$ = { text: pe[be], type: 'text' };
+ break;
+ case 98:
+ (this.$ = pe[be - 4]), rt.addClass(pe[be - 2], pe[be]);
+ break;
+ case 99:
+ (this.$ = pe[be - 4]), rt.setClass(pe[be - 2], pe[be]);
+ break;
+ case 100:
+ case 108:
+ (this.$ = pe[be - 1]), rt.setClickEvent(pe[be - 1], pe[be]);
+ break;
+ case 101:
+ case 109:
+ (this.$ = pe[be - 3]),
+ rt.setClickEvent(pe[be - 3], pe[be - 2]),
+ rt.setTooltip(pe[be - 3], pe[be]);
+ break;
+ case 102:
+ (this.$ = pe[be - 2]), rt.setClickEvent(pe[be - 2], pe[be - 1], pe[be]);
+ break;
+ case 103:
+ (this.$ = pe[be - 4]),
+ rt.setClickEvent(pe[be - 4], pe[be - 3], pe[be - 2]),
+ rt.setTooltip(pe[be - 4], pe[be]);
+ break;
+ case 104:
+ (this.$ = pe[be - 2]), rt.setLink(pe[be - 2], pe[be]);
+ break;
+ case 105:
+ (this.$ = pe[be - 4]),
+ rt.setLink(pe[be - 4], pe[be - 2]),
+ rt.setTooltip(pe[be - 4], pe[be]);
+ break;
+ case 106:
+ (this.$ = pe[be - 4]), rt.setLink(pe[be - 4], pe[be - 2], pe[be]);
+ break;
+ case 107:
+ (this.$ = pe[be - 6]),
+ rt.setLink(pe[be - 6], pe[be - 4], pe[be]),
+ rt.setTooltip(pe[be - 6], pe[be - 2]);
+ break;
+ case 110:
+ (this.$ = pe[be - 1]), rt.setLink(pe[be - 1], pe[be]);
+ break;
+ case 111:
+ (this.$ = pe[be - 3]),
+ rt.setLink(pe[be - 3], pe[be - 2]),
+ rt.setTooltip(pe[be - 3], pe[be]);
+ break;
+ case 112:
+ (this.$ = pe[be - 3]), rt.setLink(pe[be - 3], pe[be - 2], pe[be]);
+ break;
+ case 113:
+ (this.$ = pe[be - 5]),
+ rt.setLink(pe[be - 5], pe[be - 4], pe[be]),
+ rt.setTooltip(pe[be - 5], pe[be - 2]);
+ break;
+ case 114:
+ (this.$ = pe[be - 4]), rt.addVertex(pe[be - 2], void 0, void 0, pe[be]);
+ break;
+ case 115:
+ (this.$ = pe[be - 4]), rt.updateLink([pe[be - 2]], pe[be]);
+ break;
+ case 116:
+ (this.$ = pe[be - 4]), rt.updateLink(pe[be - 2], pe[be]);
+ break;
+ case 117:
+ (this.$ = pe[be - 8]),
+ rt.updateLinkInterpolate([pe[be - 6]], pe[be - 2]),
+ rt.updateLink([pe[be - 6]], pe[be]);
+ break;
+ case 118:
+ (this.$ = pe[be - 8]),
+ rt.updateLinkInterpolate(pe[be - 6], pe[be - 2]),
+ rt.updateLink(pe[be - 6], pe[be]);
+ break;
+ case 119:
+ (this.$ = pe[be - 6]), rt.updateLinkInterpolate([pe[be - 4]], pe[be]);
+ break;
+ case 120:
+ (this.$ = pe[be - 6]), rt.updateLinkInterpolate(pe[be - 4], pe[be]);
+ break;
+ case 121:
+ case 123:
+ this.$ = [pe[be]];
+ break;
+ case 122:
+ case 124:
+ pe[be - 2].push(pe[be]), (this.$ = pe[be - 2]);
+ break;
+ case 126:
+ this.$ = pe[be - 1] + pe[be];
+ break;
+ case 174:
+ this.$ = pe[be];
+ break;
+ case 175:
+ this.$ = pe[be - 1] + '' + pe[be];
+ break;
+ case 177:
+ this.$ = pe[be - 1] + '' + pe[be];
+ break;
+ case 178:
+ this.$ = { stmt: 'dir', value: 'TB' };
+ break;
+ case 179:
+ this.$ = { stmt: 'dir', value: 'BT' };
+ break;
+ case 180:
+ this.$ = { stmt: 'dir', value: 'RL' };
+ break;
+ case 181:
+ this.$ = { stmt: 'dir', value: 'LR' };
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: 2, 9: e, 10: r, 12: n },
+ { 1: [3] },
+ t(i, a, { 5: 6 }),
+ { 4: 7, 9: e, 10: r, 12: n },
+ { 4: 8, 9: e, 10: r, 12: n },
+ { 13: [1, 9], 14: [1, 10] },
+ {
+ 1: [2, 1],
+ 6: 11,
+ 7: 12,
+ 8: s,
+ 9: l,
+ 10: u,
+ 11: h,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: f,
+ 33: 24,
+ 34: d,
+ 36: p,
+ 38: m,
+ 40: 28,
+ 41: 38,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 81: v,
+ 82: x,
+ 83: b,
+ 84: w,
+ 85: S,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I,
+ 118: C,
+ 119: O,
+ 120: D,
+ 121: P
+ },
+ t(i, [2, 9]),
+ t(i, [2, 10]),
+ t(i, [2, 11]),
+ { 8: [1, 54], 9: [1, 55], 10: F, 15: 53, 18: 56 },
+ t(B, [2, 3]),
+ t(B, [2, 4]),
+ t(B, [2, 5]),
+ t(B, [2, 6]),
+ t(B, [2, 7]),
+ t(B, [2, 8]),
+ {
+ 8: $,
+ 9: z,
+ 11: Y,
+ 21: 58,
+ 39: 59,
+ 70: 63,
+ 73: [1, 64],
+ 75: [1, 65]
+ },
+ { 8: $, 9: z, 11: Y, 21: 66 },
+ { 8: $, 9: z, 11: Y, 21: 67 },
+ { 8: $, 9: z, 11: Y, 21: 68 },
+ { 8: $, 9: z, 11: Y, 21: 69 },
+ { 8: $, 9: z, 11: Y, 21: 70 },
+ { 8: $, 9: z, 10: [1, 71], 11: Y, 21: 72 },
+ t(B, [2, 36]),
+ { 35: [1, 73] },
+ { 37: [1, 74] },
+ t(B, [2, 39]),
+ t(Q, [2, 46], { 18: 75, 10: F }),
+ { 10: [1, 76] },
+ { 10: [1, 77] },
+ { 10: [1, 78] },
+ { 10: [1, 79] },
+ {
+ 14: X,
+ 42: ie,
+ 58: j,
+ 77: [1, 83],
+ 86: J,
+ 92: [1, 80],
+ 94: [1, 81],
+ 98: 82,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue,
+ 117: 84
+ },
+ t(B, [2, 178]),
+ t(B, [2, 179]),
+ t(B, [2, 180]),
+ t(B, [2, 181]),
+ t(te, [2, 47]),
+ t(te, [2, 49], { 44: [1, 96] }),
+ t(De, [2, 67], {
+ 110: 109,
+ 29: [1, 97],
+ 42: g,
+ 46: [1, 98],
+ 48: [1, 99],
+ 50: [1, 100],
+ 52: [1, 101],
+ 54: [1, 102],
+ 56: [1, 103],
+ 58: y,
+ 61: [1, 104],
+ 63: [1, 105],
+ 65: [1, 106],
+ 66: [1, 107],
+ 68: [1, 108],
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 111: N,
+ 112: k,
+ 113: I
+ }),
+ t(oe, [2, 174]),
+ t(oe, [2, 135]),
+ t(oe, [2, 136]),
+ t(oe, [2, 137]),
+ t(oe, [2, 138]),
+ t(oe, [2, 139]),
+ t(oe, [2, 140]),
+ t(oe, [2, 141]),
+ t(oe, [2, 142]),
+ t(oe, [2, 143]),
+ t(oe, [2, 144]),
+ t(oe, [2, 145]),
+ t(i, [2, 12]),
+ t(i, [2, 18]),
+ t(i, [2, 19]),
+ { 9: [1, 110] },
+ t(ke, [2, 26], { 18: 111, 10: F }),
+ t(B, [2, 27]),
+ {
+ 40: 112,
+ 41: 38,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ t(B, [2, 40]),
+ t(B, [2, 41]),
+ t(B, [2, 42]),
+ t(Ie, [2, 71], { 71: 113, 60: [1, 115], 72: [1, 114] }),
+ {
+ 74: 116,
+ 76: 117,
+ 77: [1, 118],
+ 78: [1, 119],
+ 113: Se,
+ 116: Ue
+ },
+ t([42, 58, 60, 72, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 77]),
+ t(B, [2, 28]),
+ t(B, [2, 29]),
+ t(B, [2, 30]),
+ t(B, [2, 31]),
+ t(B, [2, 32]),
+ {
+ 10: Pe,
+ 12: _e,
+ 14: me,
+ 27: W,
+ 28: 122,
+ 32: fe,
+ 42: ge,
+ 58: re,
+ 73: he,
+ 77: [1, 124],
+ 78: [1, 125],
+ 80: 135,
+ 81: ne,
+ 82: ae,
+ 83: we,
+ 84: Te,
+ 85: Ce,
+ 86: Ae,
+ 87: Ge,
+ 88: 123,
+ 102: Me,
+ 106: ye,
+ 108: He,
+ 111: ze,
+ 112: Ze,
+ 113: gt
+ },
+ t(yt, a, { 5: 148 }),
+ t(B, [2, 37]),
+ t(B, [2, 38]),
+ t(Q, [2, 45], { 42: tt }),
+ {
+ 42: g,
+ 45: 150,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ { 99: [1, 151], 100: 152, 102: [1, 153] },
+ {
+ 42: g,
+ 45: 154,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ {
+ 42: g,
+ 45: 155,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ t(Ye, [2, 100], { 10: [1, 156], 93: [1, 157] }),
+ { 77: [1, 158] },
+ t(Ye, [2, 108], {
+ 117: 160,
+ 10: [1, 159],
+ 14: X,
+ 42: ie,
+ 58: j,
+ 86: J,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue
+ }),
+ t(Ye, [2, 110], { 10: [1, 161] }),
+ t(Je, [2, 176]),
+ t(Je, [2, 163]),
+ t(Je, [2, 164]),
+ t(Je, [2, 165]),
+ t(Je, [2, 166]),
+ t(Je, [2, 167]),
+ t(Je, [2, 168]),
+ t(Je, [2, 169]),
+ t(Je, [2, 170]),
+ t(Je, [2, 171]),
+ t(Je, [2, 172]),
+ t(Je, [2, 173]),
+ {
+ 42: g,
+ 45: 162,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ {
+ 30: 163,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 171,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 173,
+ 48: [1, 172],
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 174,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 175,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 176,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ { 106: [1, 177] },
+ {
+ 30: 178,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 179,
+ 63: [1, 180],
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 181,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 182,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 30: 183,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ t(oe, [2, 175]),
+ t(i, [2, 20]),
+ t(ke, [2, 25]),
+ t(Q, [2, 43], { 18: 184, 10: F }),
+ t(Ie, [2, 68], { 10: [1, 185] }),
+ { 10: [1, 186] },
+ {
+ 30: 187,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ { 75: [1, 188], 76: 189, 113: Se, 116: Ue },
+ t(dt, [2, 73]),
+ t(dt, [2, 75]),
+ t(dt, [2, 76]),
+ t(dt, [2, 161]),
+ t(dt, [2, 162]),
+ {
+ 8: $,
+ 9: z,
+ 10: Pe,
+ 11: Y,
+ 12: _e,
+ 14: me,
+ 21: 191,
+ 27: W,
+ 29: [1, 190],
+ 32: fe,
+ 42: ge,
+ 58: re,
+ 73: he,
+ 80: 135,
+ 81: ne,
+ 82: ae,
+ 83: we,
+ 84: Te,
+ 85: Ce,
+ 86: Ae,
+ 87: Ge,
+ 88: 192,
+ 102: Me,
+ 106: ye,
+ 108: He,
+ 111: ze,
+ 112: Ze,
+ 113: gt
+ },
+ t(lt, [2, 94]),
+ t(lt, [2, 96]),
+ t(lt, [2, 97]),
+ t(lt, [2, 150]),
+ t(lt, [2, 151]),
+ t(lt, [2, 152]),
+ t(lt, [2, 153]),
+ t(lt, [2, 154]),
+ t(lt, [2, 155]),
+ t(lt, [2, 156]),
+ t(lt, [2, 157]),
+ t(lt, [2, 158]),
+ t(lt, [2, 159]),
+ t(lt, [2, 160]),
+ t(lt, [2, 83]),
+ t(lt, [2, 84]),
+ t(lt, [2, 85]),
+ t(lt, [2, 86]),
+ t(lt, [2, 87]),
+ t(lt, [2, 88]),
+ t(lt, [2, 89]),
+ t(lt, [2, 90]),
+ t(lt, [2, 91]),
+ t(lt, [2, 92]),
+ t(lt, [2, 93]),
+ {
+ 6: 11,
+ 7: 12,
+ 8: s,
+ 9: l,
+ 10: u,
+ 11: h,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: f,
+ 32: [1, 193],
+ 33: 24,
+ 34: d,
+ 36: p,
+ 38: m,
+ 40: 28,
+ 41: 38,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 81: v,
+ 82: x,
+ 83: b,
+ 84: w,
+ 85: S,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I,
+ 118: C,
+ 119: O,
+ 120: D,
+ 121: P
+ },
+ { 10: F, 18: 194 },
+ {
+ 10: [1, 195],
+ 42: g,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 109,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ { 10: [1, 196] },
+ { 10: [1, 197], 103: [1, 198] },
+ t(It, [2, 121]),
+ {
+ 10: [1, 199],
+ 42: g,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 109,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ {
+ 10: [1, 200],
+ 42: g,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 109,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ { 77: [1, 201] },
+ t(Ye, [2, 102], { 10: [1, 202] }),
+ t(Ye, [2, 104], { 10: [1, 203] }),
+ { 77: [1, 204] },
+ t(Je, [2, 177]),
+ { 77: [1, 205], 95: [1, 206] },
+ t(te, [2, 50], {
+ 110: 109,
+ 42: g,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 111: N,
+ 112: k,
+ 113: I
+ }),
+ { 31: [1, 207], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ t(mt, [2, 79]),
+ t(mt, [2, 81]),
+ t(mt, [2, 82]),
+ t(mt, [2, 146]),
+ t(mt, [2, 147]),
+ t(mt, [2, 148]),
+ t(mt, [2, 149]),
+ { 47: [1, 209], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ {
+ 30: 210,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ { 49: [1, 211], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ { 51: [1, 212], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ { 53: [1, 213], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ { 55: [1, 214], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ { 58: [1, 215] },
+ { 62: [1, 216], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ { 64: [1, 217], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ {
+ 30: 218,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ { 31: [1, 219], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ {
+ 65: Ve,
+ 67: [1, 220],
+ 69: [1, 221],
+ 79: 208,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ {
+ 65: Ve,
+ 67: [1, 223],
+ 69: [1, 222],
+ 79: 208,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ t(Q, [2, 44], { 42: tt }),
+ t(Ie, [2, 70]),
+ t(Ie, [2, 69]),
+ { 60: [1, 224], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ t(Ie, [2, 72]),
+ t(dt, [2, 74]),
+ {
+ 30: 225,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ t(yt, a, { 5: 226 }),
+ t(lt, [2, 95]),
+ t(B, [2, 35]),
+ {
+ 41: 227,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 228,
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 239,
+ 101: [1, 240],
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 241,
+ 101: [1, 242],
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ { 102: [1, 243] },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 244,
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ {
+ 42: g,
+ 45: 245,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I
+ },
+ t(Ye, [2, 101]),
+ { 77: [1, 246] },
+ { 77: [1, 247], 95: [1, 248] },
+ t(Ye, [2, 109]),
+ t(Ye, [2, 111], { 10: [1, 249] }),
+ t(Ye, [2, 112]),
+ t(De, [2, 51]),
+ t(mt, [2, 80]),
+ t(De, [2, 52]),
+ { 49: [1, 250], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ t(De, [2, 59]),
+ t(De, [2, 54]),
+ t(De, [2, 55]),
+ t(De, [2, 56]),
+ { 106: [1, 251] },
+ t(De, [2, 58]),
+ t(De, [2, 60]),
+ { 64: [1, 252], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ t(De, [2, 62]),
+ t(De, [2, 63]),
+ t(De, [2, 65]),
+ t(De, [2, 64]),
+ t(De, [2, 66]),
+ t([10, 42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 78]),
+ { 31: [1, 253], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ {
+ 6: 11,
+ 7: 12,
+ 8: s,
+ 9: l,
+ 10: u,
+ 11: h,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: f,
+ 32: [1, 254],
+ 33: 24,
+ 34: d,
+ 36: p,
+ 38: m,
+ 40: 28,
+ 41: 38,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 81: v,
+ 82: x,
+ 83: b,
+ 84: w,
+ 85: S,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I,
+ 118: C,
+ 119: O,
+ 120: D,
+ 121: P
+ },
+ t(te, [2, 48]),
+ t(Ye, [2, 114], { 103: Qn }),
+ t(on, [2, 123], {
+ 105: 256,
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 102: jt,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ }),
+ t(Rn, [2, 125]),
+ t(Rn, [2, 127]),
+ t(Rn, [2, 128]),
+ t(Rn, [2, 129]),
+ t(Rn, [2, 130]),
+ t(Rn, [2, 131]),
+ t(Rn, [2, 132]),
+ t(Rn, [2, 133]),
+ t(Rn, [2, 134]),
+ t(Ye, [2, 115], { 103: Qn }),
+ { 10: [1, 257] },
+ t(Ye, [2, 116], { 103: Qn }),
+ { 10: [1, 258] },
+ t(It, [2, 122]),
+ t(Ye, [2, 98], { 103: Qn }),
+ t(Ye, [2, 99], {
+ 110: 109,
+ 42: g,
+ 58: y,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 111: N,
+ 112: k,
+ 113: I
+ }),
+ t(Ye, [2, 103]),
+ t(Ye, [2, 105], { 10: [1, 259] }),
+ t(Ye, [2, 106]),
+ { 95: [1, 260] },
+ { 49: [1, 261] },
+ { 60: [1, 262] },
+ { 64: [1, 263] },
+ { 8: $, 9: z, 11: Y, 21: 264 },
+ t(B, [2, 34]),
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 102: jt,
+ 104: 265,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ t(Rn, [2, 126]),
+ {
+ 14: X,
+ 42: ie,
+ 58: j,
+ 86: J,
+ 98: 266,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue,
+ 117: 84
+ },
+ {
+ 14: X,
+ 42: ie,
+ 58: j,
+ 86: J,
+ 98: 267,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue,
+ 117: 84
+ },
+ { 95: [1, 268] },
+ t(Ye, [2, 113]),
+ t(De, [2, 53]),
+ {
+ 30: 269,
+ 65: Ve,
+ 77: je,
+ 78: kt,
+ 79: 164,
+ 113: at,
+ 114: xt,
+ 115: it
+ },
+ t(De, [2, 61]),
+ t(yt, a, { 5: 270 }),
+ t(on, [2, 124], {
+ 105: 256,
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 102: jt,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ }),
+ t(Ye, [2, 119], {
+ 117: 160,
+ 10: [1, 271],
+ 14: X,
+ 42: ie,
+ 58: j,
+ 86: J,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue
+ }),
+ t(Ye, [2, 120], {
+ 117: 160,
+ 10: [1, 272],
+ 14: X,
+ 42: ie,
+ 58: j,
+ 86: J,
+ 102: Z,
+ 103: H,
+ 106: q,
+ 108: K,
+ 111: se,
+ 112: ce,
+ 113: ue
+ }),
+ t(Ye, [2, 107]),
+ { 31: [1, 273], 65: Ve, 79: 208, 113: at, 114: xt, 115: it },
+ {
+ 6: 11,
+ 7: 12,
+ 8: s,
+ 9: l,
+ 10: u,
+ 11: h,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: f,
+ 32: [1, 274],
+ 33: 24,
+ 34: d,
+ 36: p,
+ 38: m,
+ 40: 28,
+ 41: 38,
+ 42: g,
+ 43: 39,
+ 45: 40,
+ 58: y,
+ 81: v,
+ 82: x,
+ 83: b,
+ 84: w,
+ 85: S,
+ 86: T,
+ 99: E,
+ 102: _,
+ 103: A,
+ 106: L,
+ 108: M,
+ 110: 41,
+ 111: N,
+ 112: k,
+ 113: I,
+ 118: C,
+ 119: O,
+ 120: D,
+ 121: P
+ },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 275,
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ {
+ 10: St,
+ 58: gr,
+ 81: xn,
+ 89: 276,
+ 102: jt,
+ 104: 229,
+ 105: 230,
+ 106: rn,
+ 107: Er,
+ 108: Kn,
+ 109: hn
+ },
+ t(De, [2, 57]),
+ t(B, [2, 33]),
+ t(Ye, [2, 117], { 103: Qn }),
+ t(Ye, [2, 118], { 103: Qn })
+ ],
+ defaultActions: {},
+ parseError: o(function (ht, At) {
+ if (At.recoverable) this.trace(ht);
+ else {
+ var $t = new Error(ht);
+ throw (($t.hash = At), $t);
+ }
+ }, 'parseError'),
+ parse: o(function (ht) {
+ var At = this,
+ $t = [0],
+ rt = [],
+ Ot = [null],
+ pe = [],
+ ur = this.table,
+ be = '',
+ Ir = 0,
+ Xc = 0,
+ M1 = 0,
+ _b = 2,
+ I1 = 1,
+ O1 = pe.slice.call(arguments, 1),
+ ci = Object.create(this.lexer),
+ ko = { yy: {} };
+ for (var ih in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, ih) && (ko.yy[ih] = this.yy[ih]);
+ ci.setInput(ht, ko.yy),
+ (ko.yy.lexer = ci),
+ (ko.yy.parser = this),
+ typeof ci.yylloc > 'u' && (ci.yylloc = {});
+ var Us = ci.yylloc;
+ pe.push(Us);
+ var ah = ci.options && ci.options.ranges;
+ typeof ko.yy.parseError == 'function'
+ ? (this.parseError = ko.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Lb(La) {
+ ($t.length = $t.length - 2 * La),
+ (Ot.length = Ot.length - La),
+ (pe.length = pe.length - La);
+ }
+ o(Lb, 'popStack');
+ function P1() {
+ var La;
+ return (
+ (La = rt.pop() || ci.lex() || I1),
+ typeof La != 'number' &&
+ (La instanceof Array && ((rt = La), (La = rt.pop())),
+ (La = At.symbols_[La] || La)),
+ La
+ );
+ }
+ o(P1, 'lex');
+ for (var sa, jc, Kc, us, _i, Wl, sh = {}, zf, Hs, B1, Gf; ; ) {
+ if (
+ ((Kc = $t[$t.length - 1]),
+ this.defaultActions[Kc]
+ ? (us = this.defaultActions[Kc])
+ : ((sa === null || typeof sa > 'u') && (sa = P1()),
+ (us = ur[Kc] && ur[Kc][sa])),
+ typeof us > 'u' || !us.length || !us[0])
+ ) {
+ var F1 = '';
+ Gf = [];
+ for (zf in ur[Kc])
+ this.terminals_[zf] && zf > _b && Gf.push("'" + this.terminals_[zf] + "'");
+ ci.showPosition
+ ? (F1 =
+ 'Parse error on line ' +
+ (Ir + 1) +
+ `:
+` +
+ ci.showPosition() +
+ `
+Expecting ` +
+ Gf.join(', ') +
+ ", got '" +
+ (this.terminals_[sa] || sa) +
+ "'")
+ : (F1 =
+ 'Parse error on line ' +
+ (Ir + 1) +
+ ': Unexpected ' +
+ (sa == I1 ? 'end of input' : "'" + (this.terminals_[sa] || sa) + "'")),
+ this.parseError(F1, {
+ text: ci.match,
+ token: this.terminals_[sa] || sa,
+ line: ci.yylineno,
+ loc: Us,
+ expected: Gf
+ });
+ }
+ if (us[0] instanceof Array && us.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Kc + ', token: ' + sa
+ );
+ switch (us[0]) {
+ case 1:
+ $t.push(sa),
+ Ot.push(ci.yytext),
+ pe.push(ci.yylloc),
+ $t.push(us[1]),
+ (sa = null),
+ jc
+ ? ((sa = jc), (jc = null))
+ : ((Xc = ci.yyleng),
+ (be = ci.yytext),
+ (Ir = ci.yylineno),
+ (Us = ci.yylloc),
+ M1 > 0 && M1--);
+ break;
+ case 2:
+ if (
+ ((Hs = this.productions_[us[1]][1]),
+ (sh.$ = Ot[Ot.length - Hs]),
+ (sh._$ = {
+ first_line: pe[pe.length - (Hs || 1)].first_line,
+ last_line: pe[pe.length - 1].last_line,
+ first_column: pe[pe.length - (Hs || 1)].first_column,
+ last_column: pe[pe.length - 1].last_column
+ }),
+ ah &&
+ (sh._$.range = [
+ pe[pe.length - (Hs || 1)].range[0],
+ pe[pe.length - 1].range[1]
+ ]),
+ (Wl = this.performAction.apply(
+ sh,
+ [be, Xc, Ir, ko.yy, us[1], Ot, pe].concat(O1)
+ )),
+ typeof Wl < 'u')
+ )
+ return Wl;
+ Hs &&
+ (($t = $t.slice(0, -1 * Hs * 2)),
+ (Ot = Ot.slice(0, -1 * Hs)),
+ (pe = pe.slice(0, -1 * Hs))),
+ $t.push(this.productions_[us[1]][0]),
+ Ot.push(sh.$),
+ pe.push(sh._$),
+ (B1 = ur[$t[$t.length - 2]][$t[$t.length - 1]]),
+ $t.push(B1);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ _a = (function () {
+ var qi = {
+ EOF: 1,
+ parseError: o(function (At, $t) {
+ if (this.yy.parser) this.yy.parser.parseError(At, $t);
+ else throw new Error(At);
+ }, 'parseError'),
+ setInput: o(function (ht, At) {
+ return (
+ (this.yy = At || this.yy || {}),
+ (this._input = ht),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var ht = this._input[0];
+ (this.yytext += ht),
+ this.yyleng++,
+ this.offset++,
+ (this.match += ht),
+ (this.matched += ht);
+ var At = ht.match(/(?:\r\n?|\n).*/g);
+ return (
+ At ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ ht
+ );
+ }, 'input'),
+ unput: o(function (ht) {
+ var At = ht.length,
+ $t = ht.split(/(?:\r\n?|\n)/g);
+ (this._input = ht + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - At)),
+ (this.offset -= At);
+ var rt = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ $t.length - 1 && (this.yylineno -= $t.length - 1);
+ var Ot = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: $t
+ ? ($t.length === rt.length ? this.yylloc.first_column : 0) +
+ rt[rt.length - $t.length].length -
+ $t[0].length
+ : this.yylloc.first_column - At
+ }),
+ this.options.ranges && (this.yylloc.range = [Ot[0], Ot[0] + this.yyleng - At]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (ht) {
+ this.unput(this.match.slice(ht));
+ }, 'less'),
+ pastInput: o(function () {
+ var ht = this.matched.substr(0, this.matched.length - this.match.length);
+ return (ht.length > 20 ? '...' : '') + ht.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var ht = this.match;
+ return (
+ ht.length < 20 && (ht += this._input.substr(0, 20 - ht.length)),
+ (ht.substr(0, 20) + (ht.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var ht = this.pastInput(),
+ At = new Array(ht.length + 1).join('-');
+ return (
+ ht +
+ this.upcomingInput() +
+ `
+` +
+ At +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (ht, At) {
+ var $t, rt, Ot;
+ if (
+ (this.options.backtrack_lexer &&
+ ((Ot = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (Ot.yylloc.range = this.yylloc.range.slice(0))),
+ (rt = ht[0].match(/(?:\r\n?|\n).*/g)),
+ rt && (this.yylineno += rt.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: rt
+ ? rt[rt.length - 1].length - rt[rt.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + ht[0].length
+ }),
+ (this.yytext += ht[0]),
+ (this.match += ht[0]),
+ (this.matches = ht),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(ht[0].length)),
+ (this.matched += ht[0]),
+ ($t = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ At,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ $t)
+ )
+ return $t;
+ if (this._backtrack) {
+ for (var pe in Ot) this[pe] = Ot[pe];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var ht, At, $t, rt;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var Ot = this._currentRules(), pe = 0; pe < Ot.length; pe++)
+ if (
+ (($t = this._input.match(this.rules[Ot[pe]])),
+ $t && (!At || $t[0].length > At[0].length))
+ ) {
+ if (((At = $t), (rt = pe), this.options.backtrack_lexer)) {
+ if (((ht = this.test_match($t, Ot[pe])), ht !== !1)) return ht;
+ if (this._backtrack) {
+ At = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return At
+ ? ((ht = this.test_match(At, Ot[rt])), ht !== !1 ? ht : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var At = this.next();
+ return At || this.lex();
+ }, 'lex'),
+ begin: o(function (At) {
+ this.conditionStack.push(At);
+ }, 'begin'),
+ popState: o(function () {
+ var At = this.conditionStack.length - 1;
+ return At > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (At) {
+ return (
+ (At = this.conditionStack.length - 1 - Math.abs(At || 0)),
+ At >= 0 ? this.conditionStack[At] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (At) {
+ this.begin(At);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: {},
+ performAction: o(function (At, $t, rt, Ot) {
+ var pe = Ot;
+ switch (rt) {
+ case 0:
+ return this.begin('acc_title'), 34;
+ break;
+ case 1:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 2:
+ return this.begin('acc_descr'), 36;
+ break;
+ case 3:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 4:
+ this.begin('acc_descr_multiline');
+ break;
+ case 5:
+ this.popState();
+ break;
+ case 6:
+ return 'acc_descr_multiline_value';
+ case 7:
+ this.begin('callbackname');
+ break;
+ case 8:
+ this.popState();
+ break;
+ case 9:
+ this.popState(), this.begin('callbackargs');
+ break;
+ case 10:
+ return 92;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 93;
+ case 13:
+ return 'MD_STR';
+ case 14:
+ this.popState();
+ break;
+ case 15:
+ this.begin('md_string');
+ break;
+ case 16:
+ return 'STR';
+ case 17:
+ this.popState();
+ break;
+ case 18:
+ this.pushState('string');
+ break;
+ case 19:
+ return 81;
+ case 20:
+ return 99;
+ case 21:
+ return 82;
+ case 22:
+ return 101;
+ case 23:
+ return 83;
+ case 24:
+ return 84;
+ case 25:
+ return 94;
+ case 26:
+ this.begin('click');
+ break;
+ case 27:
+ this.popState();
+ break;
+ case 28:
+ return 85;
+ case 29:
+ return At.lex.firstGraph() && this.begin('dir'), 12;
+ break;
+ case 30:
+ return At.lex.firstGraph() && this.begin('dir'), 12;
+ break;
+ case 31:
+ return At.lex.firstGraph() && this.begin('dir'), 12;
+ break;
+ case 32:
+ return 27;
+ case 33:
+ return 32;
+ case 34:
+ return 95;
+ case 35:
+ return 95;
+ case 36:
+ return 95;
+ case 37:
+ return 95;
+ case 38:
+ return this.popState(), 13;
+ break;
+ case 39:
+ return this.popState(), 14;
+ break;
+ case 40:
+ return this.popState(), 14;
+ break;
+ case 41:
+ return this.popState(), 14;
+ break;
+ case 42:
+ return this.popState(), 14;
+ break;
+ case 43:
+ return this.popState(), 14;
+ break;
+ case 44:
+ return this.popState(), 14;
+ break;
+ case 45:
+ return this.popState(), 14;
+ break;
+ case 46:
+ return this.popState(), 14;
+ break;
+ case 47:
+ return this.popState(), 14;
+ break;
+ case 48:
+ return this.popState(), 14;
+ break;
+ case 49:
+ return 118;
+ case 50:
+ return 119;
+ case 51:
+ return 120;
+ case 52:
+ return 121;
+ case 53:
+ return 102;
+ case 54:
+ return 108;
+ case 55:
+ return 44;
+ case 56:
+ return 58;
+ case 57:
+ return 42;
+ case 58:
+ return 8;
+ case 59:
+ return 103;
+ case 60:
+ return 112;
+ case 61:
+ return this.popState(), 75;
+ break;
+ case 62:
+ return this.pushState('edgeText'), 73;
+ break;
+ case 63:
+ return 116;
+ case 64:
+ return this.popState(), 75;
+ break;
+ case 65:
+ return this.pushState('thickEdgeText'), 73;
+ break;
+ case 66:
+ return 116;
+ case 67:
+ return this.popState(), 75;
+ break;
+ case 68:
+ return this.pushState('dottedEdgeText'), 73;
+ break;
+ case 69:
+ return 116;
+ case 70:
+ return 75;
+ case 71:
+ return this.popState(), 51;
+ break;
+ case 72:
+ return 'TEXT';
+ case 73:
+ return this.pushState('ellipseText'), 50;
+ break;
+ case 74:
+ return this.popState(), 53;
+ break;
+ case 75:
+ return this.pushState('text'), 52;
+ break;
+ case 76:
+ return this.popState(), 55;
+ break;
+ case 77:
+ return this.pushState('text'), 54;
+ break;
+ case 78:
+ return 56;
+ case 79:
+ return this.pushState('text'), 65;
+ break;
+ case 80:
+ return this.popState(), 62;
+ break;
+ case 81:
+ return this.pushState('text'), 61;
+ break;
+ case 82:
+ return this.popState(), 47;
+ break;
+ case 83:
+ return this.pushState('text'), 46;
+ break;
+ case 84:
+ return this.popState(), 67;
+ break;
+ case 85:
+ return this.popState(), 69;
+ break;
+ case 86:
+ return 114;
+ case 87:
+ return this.pushState('trapText'), 66;
+ break;
+ case 88:
+ return this.pushState('trapText'), 68;
+ break;
+ case 89:
+ return 115;
+ case 90:
+ return 65;
+ case 91:
+ return 87;
+ case 92:
+ return 'SEP';
+ case 93:
+ return 86;
+ case 94:
+ return 112;
+ case 95:
+ return 108;
+ case 96:
+ return 42;
+ case 97:
+ return 106;
+ case 98:
+ return 111;
+ case 99:
+ return 113;
+ case 100:
+ return this.popState(), 60;
+ break;
+ case 101:
+ return this.pushState('text'), 60;
+ break;
+ case 102:
+ return this.popState(), 49;
+ break;
+ case 103:
+ return this.pushState('text'), 48;
+ break;
+ case 104:
+ return this.popState(), 31;
+ break;
+ case 105:
+ return this.pushState('text'), 29;
+ break;
+ case 106:
+ return this.popState(), 64;
+ break;
+ case 107:
+ return this.pushState('text'), 63;
+ break;
+ case 108:
+ return 'TEXT';
+ case 109:
+ return 'QUOTE';
+ case 110:
+ return 9;
+ case 111:
+ return 10;
+ case 112:
+ return 11;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:call[\s]+)/,
+ /^(?:\([\s]*\))/,
+ /^(?:\()/,
+ /^(?:[^(]*)/,
+ /^(?:\))/,
+ /^(?:[^)]*)/,
+ /^(?:[^`"]+)/,
+ /^(?:[`]["])/,
+ /^(?:["][`])/,
+ /^(?:[^"]+)/,
+ /^(?:["])/,
+ /^(?:["])/,
+ /^(?:style\b)/,
+ /^(?:default\b)/,
+ /^(?:linkStyle\b)/,
+ /^(?:interpolate\b)/,
+ /^(?:classDef\b)/,
+ /^(?:class\b)/,
+ /^(?:href[\s])/,
+ /^(?:click[\s]+)/,
+ /^(?:[\s\n])/,
+ /^(?:[^\s\n]*)/,
+ /^(?:flowchart-elk\b)/,
+ /^(?:graph\b)/,
+ /^(?:flowchart\b)/,
+ /^(?:subgraph\b)/,
+ /^(?:end\b\s*)/,
+ /^(?:_self\b)/,
+ /^(?:_blank\b)/,
+ /^(?:_parent\b)/,
+ /^(?:_top\b)/,
+ /^(?:(\r?\n)*\s*\n)/,
+ /^(?:\s*LR\b)/,
+ /^(?:\s*RL\b)/,
+ /^(?:\s*TB\b)/,
+ /^(?:\s*BT\b)/,
+ /^(?:\s*TD\b)/,
+ /^(?:\s*BR\b)/,
+ /^(?:\s*<)/,
+ /^(?:\s*>)/,
+ /^(?:\s*\^)/,
+ /^(?:\s*v\b)/,
+ /^(?:.*direction\s+TB[^\n]*)/,
+ /^(?:.*direction\s+BT[^\n]*)/,
+ /^(?:.*direction\s+RL[^\n]*)/,
+ /^(?:.*direction\s+LR[^\n]*)/,
+ /^(?:[0-9]+)/,
+ /^(?:#)/,
+ /^(?::::)/,
+ /^(?::)/,
+ /^(?:&)/,
+ /^(?:;)/,
+ /^(?:,)/,
+ /^(?:\*)/,
+ /^(?:\s*[xo<]?--+[-xo>]\s*)/,
+ /^(?:\s*[xo<]?--\s*)/,
+ /^(?:[^-]|-(?!-)+)/,
+ /^(?:\s*[xo<]?==+[=xo>]\s*)/,
+ /^(?:\s*[xo<]?==\s*)/,
+ /^(?:[^=]|=(?!))/,
+ /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,
+ /^(?:\s*[xo<]?-\.\s*)/,
+ /^(?:[^\.]|\.(?!))/,
+ /^(?:\s*~~[\~]+\s*)/,
+ /^(?:[-/\)][\)])/,
+ /^(?:[^\(\)\[\]\{\}]|!\)+)/,
+ /^(?:\(-)/,
+ /^(?:\]\))/,
+ /^(?:\(\[)/,
+ /^(?:\]\])/,
+ /^(?:\[\[)/,
+ /^(?:\[\|)/,
+ /^(?:>)/,
+ /^(?:\)\])/,
+ /^(?:\[\()/,
+ /^(?:\)\)\))/,
+ /^(?:\(\(\()/,
+ /^(?:[\\(?=\])][\]])/,
+ /^(?:\/(?=\])\])/,
+ /^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,
+ /^(?:\[\/)/,
+ /^(?:\[\\)/,
+ /^(?:<)/,
+ /^(?:>)/,
+ /^(?:\^)/,
+ /^(?:\\\|)/,
+ /^(?:v\b)/,
+ /^(?:\*)/,
+ /^(?:#)/,
+ /^(?:&)/,
+ /^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,
+ /^(?:-)/,
+ /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,
+ /^(?:\|)/,
+ /^(?:\|)/,
+ /^(?:\))/,
+ /^(?:\()/,
+ /^(?:\])/,
+ /^(?:\[)/,
+ /^(?:(\}))/,
+ /^(?:\{)/,
+ /^(?:[^\[\]\(\)\{\}\|\"]+)/,
+ /^(?:")/,
+ /^(?:(\r?\n)+)/,
+ /^(?:\s)/,
+ /^(?:$)/
+ ],
+ conditions: {
+ callbackargs: {
+ rules: [11, 12, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ callbackname: {
+ rules: [8, 9, 10, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ href: {
+ rules: [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ click: {
+ rules: [15, 18, 27, 28, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ dottedEdgeText: {
+ rules: [15, 18, 67, 69, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ thickEdgeText: {
+ rules: [15, 18, 64, 66, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ edgeText: {
+ rules: [15, 18, 61, 63, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ trapText: {
+ rules: [15, 18, 70, 73, 75, 77, 81, 83, 84, 85, 86, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ ellipseText: {
+ rules: [15, 18, 70, 71, 72, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ text: {
+ rules: [
+ 15, 18, 70, 73, 74, 75, 76, 77, 80, 81, 82, 83, 87, 88, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108
+ ],
+ inclusive: !1
+ },
+ vertex: {
+ rules: [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ dir: {
+ rules: [
+ 15, 18, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 70, 73, 75, 77, 81, 83, 87,
+ 88, 101, 103, 105, 107
+ ],
+ inclusive: !1
+ },
+ acc_descr_multiline: {
+ rules: [5, 6, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ acc_descr: {
+ rules: [3, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ acc_title: {
+ rules: [1, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ md_string: {
+ rules: [13, 14, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ string: {
+ rules: [15, 16, 17, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1
+ },
+ INITIAL: {
+ rules: [
+ 0, 2, 4, 7, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 67, 68,
+ 70, 73, 75, 77, 78, 79, 81, 83, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 101, 103, 105, 107, 109, 110, 111, 112
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return qi;
+ })();
+ Ha.lexer = _a;
+ function To() {
+ this.yy = {};
+ }
+ return o(To, 'Parser'), (To.prototype = Ha), (Ha.Parser = To), new To();
+ })();
+ vD.parser = vD;
+ Xre = vD;
+ });
+ var kNe,
+ ENe,
+ Kre,
+ Qre = R(() => {
+ 'use strict';
+ al();
+ (kNe = o((t, e) => {
+ let r = X1,
+ n = r(t, 'r'),
+ i = r(t, 'g'),
+ a = r(t, 'b');
+ return Ws(n, i, a, e);
+ }, 'fade')),
+ (ENe = o(
+ (t) => `.label {
+ font-family: ${t.fontFamily};
+ color: ${t.nodeTextColor || t.textColor};
+ }
+ .cluster-label text {
+ fill: ${t.titleColor};
+ }
+ .cluster-label span {
+ color: ${t.titleColor};
+ }
+ .cluster-label span p {
+ background-color: transparent;
+ }
+
+ .label text,span {
+ fill: ${t.nodeTextColor || t.textColor};
+ color: ${t.nodeTextColor || t.textColor};
+ }
+
+ .node rect,
+ .node circle,
+ .node ellipse,
+ .node polygon,
+ .node path {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+ stroke-width: 1px;
+ }
+ .rough-node .label text , .node .label text {
+ text-anchor: middle;
+ }
+ // .flowchart-label .text-outer-tspan {
+ // text-anchor: middle;
+ // }
+ // .flowchart-label .text-inner-tspan {
+ // text-anchor: start;
+ // }
+
+ .node .katex path {
+ fill: #000;
+ stroke: #000;
+ stroke-width: 1px;
+ }
+
+ .node .label {
+ text-align: center;
+ }
+ .node.clickable {
+ cursor: pointer;
+ }
+
+ .arrowheadPath {
+ fill: ${t.arrowheadColor};
+ }
+
+ .edgePath .path {
+ stroke: ${t.lineColor};
+ stroke-width: 2.0px;
+ }
+
+ .flowchart-link {
+ stroke: ${t.lineColor};
+ fill: none;
+ }
+
+ .edgeLabel {
+ background-color: ${t.edgeLabelBackground};
+ p {
+ background-color: ${t.edgeLabelBackground};
+ }
+ rect {
+ opacity: 0.5;
+ background-color: ${t.edgeLabelBackground};
+ fill: ${t.edgeLabelBackground};
+ }
+ text-align: center;
+ }
+
+ /* For html labels only */
+ .labelBkg {
+ background-color: ${kNe(t.edgeLabelBackground, 0.5)};
+ // background-color:
+ }
+
+ .cluster rect {
+ fill: ${t.clusterBkg};
+ stroke: ${t.clusterBorder};
+ stroke-width: 1px;
+ }
+
+ .cluster text {
+ fill: ${t.titleColor};
+ }
+
+ .cluster span {
+ color: ${t.titleColor};
+ }
+ /* .cluster div {
+ color: ${t.titleColor};
+ } */
+
+ div.mermaidTooltip {
+ position: absolute;
+ text-align: center;
+ max-width: 200px;
+ padding: 2px;
+ font-family: ${t.fontFamily};
+ font-size: 12px;
+ background: ${t.tertiaryColor};
+ border: 1px solid ${t.border2};
+ border-radius: 2px;
+ pointer-events: none;
+ z-index: 100;
+ }
+
+ .flowchartTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+ }
+`,
+ 'getStyles'
+ )),
+ (Kre = ENe);
+ });
+ var cT = {};
+ hr(cT, { diagram: () => CNe });
+ var CNe,
+ uT = R(() => {
+ 'use strict';
+ _t();
+ f9();
+ qre();
+ jre();
+ Qre();
+ CNe = {
+ parser: Xre,
+ db: A5,
+ renderer: Wre,
+ styles: Kre,
+ init: o((t) => {
+ t.flowchart || (t.flowchart = {}),
+ t.layout && iS({ layout: t.layout }),
+ (t.flowchart.arrowMarkerAbsolute = t.arrowMarkerAbsolute),
+ iS({ flowchart: { arrowMarkerAbsolute: t.arrowMarkerAbsolute } }),
+ A5.clear(),
+ A5.setGen('gen-2');
+ }, 'init')
+ };
+ });
+ var xD,
+ rne,
+ nne = R(() => {
+ 'use strict';
+ xD = (function () {
+ var t = o(function (A, L, M, N) {
+ for (M = M || {}, N = A.length; N--; M[A[N]] = L);
+ return M;
+ }, 'o'),
+ e = [6, 8, 10, 20, 22, 24, 26, 27, 28],
+ r = [1, 10],
+ n = [1, 11],
+ i = [1, 12],
+ a = [1, 13],
+ s = [1, 14],
+ l = [1, 15],
+ u = [1, 21],
+ h = [1, 22],
+ f = [1, 23],
+ d = [1, 24],
+ p = [1, 25],
+ m = [6, 8, 10, 13, 15, 18, 19, 20, 22, 24, 26, 27, 28, 41, 42, 43, 44, 45],
+ g = [1, 34],
+ y = [27, 28, 46, 47],
+ v = [41, 42, 43, 44, 45],
+ x = [17, 34],
+ b = [1, 54],
+ w = [1, 53],
+ S = [17, 34, 36, 38],
+ T = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ ER_DIAGRAM: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NEWLINE: 10,
+ entityName: 11,
+ relSpec: 12,
+ ':': 13,
+ role: 14,
+ BLOCK_START: 15,
+ attributes: 16,
+ BLOCK_STOP: 17,
+ SQS: 18,
+ SQE: 19,
+ title: 20,
+ title_value: 21,
+ acc_title: 22,
+ acc_title_value: 23,
+ acc_descr: 24,
+ acc_descr_value: 25,
+ acc_descr_multiline_value: 26,
+ ALPHANUM: 27,
+ ENTITY_NAME: 28,
+ attribute: 29,
+ attributeType: 30,
+ attributeName: 31,
+ attributeKeyTypeList: 32,
+ attributeComment: 33,
+ ATTRIBUTE_WORD: 34,
+ attributeKeyType: 35,
+ COMMA: 36,
+ ATTRIBUTE_KEY: 37,
+ COMMENT: 38,
+ cardinality: 39,
+ relType: 40,
+ ZERO_OR_ONE: 41,
+ ZERO_OR_MORE: 42,
+ ONE_OR_MORE: 43,
+ ONLY_ONE: 44,
+ MD_PARENT: 45,
+ NON_IDENTIFYING: 46,
+ IDENTIFYING: 47,
+ WORD: 48,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'ER_DIAGRAM',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NEWLINE',
+ 13: ':',
+ 15: 'BLOCK_START',
+ 17: 'BLOCK_STOP',
+ 18: 'SQS',
+ 19: 'SQE',
+ 20: 'title',
+ 21: 'title_value',
+ 22: 'acc_title',
+ 23: 'acc_title_value',
+ 24: 'acc_descr',
+ 25: 'acc_descr_value',
+ 26: 'acc_descr_multiline_value',
+ 27: 'ALPHANUM',
+ 28: 'ENTITY_NAME',
+ 34: 'ATTRIBUTE_WORD',
+ 36: 'COMMA',
+ 37: 'ATTRIBUTE_KEY',
+ 38: 'COMMENT',
+ 41: 'ZERO_OR_ONE',
+ 42: 'ZERO_OR_MORE',
+ 43: 'ONE_OR_MORE',
+ 44: 'ONLY_ONE',
+ 45: 'MD_PARENT',
+ 46: 'NON_IDENTIFYING',
+ 47: 'IDENTIFYING',
+ 48: 'WORD'
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [9, 5],
+ [9, 4],
+ [9, 3],
+ [9, 1],
+ [9, 7],
+ [9, 6],
+ [9, 4],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [11, 1],
+ [11, 1],
+ [16, 1],
+ [16, 2],
+ [29, 2],
+ [29, 3],
+ [29, 3],
+ [29, 4],
+ [30, 1],
+ [31, 1],
+ [32, 1],
+ [32, 3],
+ [35, 1],
+ [33, 1],
+ [12, 3],
+ [39, 1],
+ [39, 1],
+ [39, 1],
+ [39, 1],
+ [39, 1],
+ [40, 1],
+ [40, 1],
+ [14, 1],
+ [14, 1],
+ [14, 1]
+ ],
+ performAction: o(function (L, M, N, k, I, C, O) {
+ var D = C.length - 1;
+ switch (I) {
+ case 1:
+ break;
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ C[D - 1].push(C[D]), (this.$ = C[D - 1]);
+ break;
+ case 4:
+ case 5:
+ this.$ = C[D];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ k.addEntity(C[D - 4]),
+ k.addEntity(C[D - 2]),
+ k.addRelationship(C[D - 4], C[D], C[D - 2], C[D - 3]);
+ break;
+ case 9:
+ k.addEntity(C[D - 3]), k.addAttributes(C[D - 3], C[D - 1]);
+ break;
+ case 10:
+ k.addEntity(C[D - 2]);
+ break;
+ case 11:
+ k.addEntity(C[D]);
+ break;
+ case 12:
+ k.addEntity(C[D - 6], C[D - 4]), k.addAttributes(C[D - 6], C[D - 1]);
+ break;
+ case 13:
+ k.addEntity(C[D - 5], C[D - 3]);
+ break;
+ case 14:
+ k.addEntity(C[D - 3], C[D - 1]);
+ break;
+ case 15:
+ case 16:
+ (this.$ = C[D].trim()), k.setAccTitle(this.$);
+ break;
+ case 17:
+ case 18:
+ (this.$ = C[D].trim()), k.setAccDescription(this.$);
+ break;
+ case 19:
+ case 43:
+ this.$ = C[D];
+ break;
+ case 20:
+ case 41:
+ case 42:
+ this.$ = C[D].replace(/"/g, '');
+ break;
+ case 21:
+ case 29:
+ this.$ = [C[D]];
+ break;
+ case 22:
+ C[D].push(C[D - 1]), (this.$ = C[D]);
+ break;
+ case 23:
+ this.$ = { attributeType: C[D - 1], attributeName: C[D] };
+ break;
+ case 24:
+ this.$ = {
+ attributeType: C[D - 2],
+ attributeName: C[D - 1],
+ attributeKeyTypeList: C[D]
+ };
+ break;
+ case 25:
+ this.$ = {
+ attributeType: C[D - 2],
+ attributeName: C[D - 1],
+ attributeComment: C[D]
+ };
+ break;
+ case 26:
+ this.$ = {
+ attributeType: C[D - 3],
+ attributeName: C[D - 2],
+ attributeKeyTypeList: C[D - 1],
+ attributeComment: C[D]
+ };
+ break;
+ case 27:
+ case 28:
+ case 31:
+ this.$ = C[D];
+ break;
+ case 30:
+ C[D - 2].push(C[D]), (this.$ = C[D - 2]);
+ break;
+ case 32:
+ this.$ = C[D].replace(/"/g, '');
+ break;
+ case 33:
+ this.$ = { cardA: C[D], relType: C[D - 1], cardB: C[D - 2] };
+ break;
+ case 34:
+ this.$ = k.Cardinality.ZERO_OR_ONE;
+ break;
+ case 35:
+ this.$ = k.Cardinality.ZERO_OR_MORE;
+ break;
+ case 36:
+ this.$ = k.Cardinality.ONE_OR_MORE;
+ break;
+ case 37:
+ this.$ = k.Cardinality.ONLY_ONE;
+ break;
+ case 38:
+ this.$ = k.Cardinality.MD_PARENT;
+ break;
+ case 39:
+ this.$ = k.Identification.NON_IDENTIFYING;
+ break;
+ case 40:
+ this.$ = k.Identification.IDENTIFYING;
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ t(e, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: 9,
+ 20: r,
+ 22: n,
+ 24: i,
+ 26: a,
+ 27: s,
+ 28: l
+ },
+ t(e, [2, 7], { 1: [2, 1] }),
+ t(e, [2, 3]),
+ { 9: 16, 11: 9, 20: r, 22: n, 24: i, 26: a, 27: s, 28: l },
+ t(e, [2, 5]),
+ t(e, [2, 6]),
+ t(e, [2, 11], {
+ 12: 17,
+ 39: 20,
+ 15: [1, 18],
+ 18: [1, 19],
+ 41: u,
+ 42: h,
+ 43: f,
+ 44: d,
+ 45: p
+ }),
+ { 21: [1, 26] },
+ { 23: [1, 27] },
+ { 25: [1, 28] },
+ t(e, [2, 18]),
+ t(m, [2, 19]),
+ t(m, [2, 20]),
+ t(e, [2, 4]),
+ { 11: 29, 27: s, 28: l },
+ { 16: 30, 17: [1, 31], 29: 32, 30: 33, 34: g },
+ { 11: 35, 27: s, 28: l },
+ { 40: 36, 46: [1, 37], 47: [1, 38] },
+ t(y, [2, 34]),
+ t(y, [2, 35]),
+ t(y, [2, 36]),
+ t(y, [2, 37]),
+ t(y, [2, 38]),
+ t(e, [2, 15]),
+ t(e, [2, 16]),
+ t(e, [2, 17]),
+ { 13: [1, 39] },
+ { 17: [1, 40] },
+ t(e, [2, 10]),
+ { 16: 41, 17: [2, 21], 29: 32, 30: 33, 34: g },
+ { 31: 42, 34: [1, 43] },
+ { 34: [2, 27] },
+ { 19: [1, 44] },
+ { 39: 45, 41: u, 42: h, 43: f, 44: d, 45: p },
+ t(v, [2, 39]),
+ t(v, [2, 40]),
+ { 14: 46, 27: [1, 49], 28: [1, 48], 48: [1, 47] },
+ t(e, [2, 9]),
+ { 17: [2, 22] },
+ t(x, [2, 23], { 32: 50, 33: 51, 35: 52, 37: b, 38: w }),
+ t([17, 34, 37, 38], [2, 28]),
+ t(e, [2, 14], { 15: [1, 55] }),
+ t([27, 28], [2, 33]),
+ t(e, [2, 8]),
+ t(e, [2, 41]),
+ t(e, [2, 42]),
+ t(e, [2, 43]),
+ t(x, [2, 24], { 33: 56, 36: [1, 57], 38: w }),
+ t(x, [2, 25]),
+ t(S, [2, 29]),
+ t(x, [2, 32]),
+ t(S, [2, 31]),
+ { 16: 58, 17: [1, 59], 29: 32, 30: 33, 34: g },
+ t(x, [2, 26]),
+ { 35: 60, 37: b },
+ { 17: [1, 61] },
+ t(e, [2, 13]),
+ t(S, [2, 30]),
+ t(e, [2, 12])
+ ],
+ defaultActions: { 34: [2, 27], 41: [2, 22] },
+ parseError: o(function (L, M) {
+ if (M.recoverable) this.trace(L);
+ else {
+ var N = new Error(L);
+ throw ((N.hash = M), N);
+ }
+ }, 'parseError'),
+ parse: o(function (L) {
+ var M = this,
+ N = [0],
+ k = [],
+ I = [null],
+ C = [],
+ O = this.table,
+ D = '',
+ P = 0,
+ F = 0,
+ B = 0,
+ $ = 2,
+ z = 1,
+ Y = C.slice.call(arguments, 1),
+ Q = Object.create(this.lexer),
+ X = { yy: {} };
+ for (var ie in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, ie) && (X.yy[ie] = this.yy[ie]);
+ Q.setInput(L, X.yy),
+ (X.yy.lexer = Q),
+ (X.yy.parser = this),
+ typeof Q.yylloc > 'u' && (Q.yylloc = {});
+ var j = Q.yylloc;
+ C.push(j);
+ var J = Q.options && Q.options.ranges;
+ typeof X.yy.parseError == 'function'
+ ? (this.parseError = X.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Z(Pe) {
+ (N.length = N.length - 2 * Pe), (I.length = I.length - Pe), (C.length = C.length - Pe);
+ }
+ o(Z, 'popStack');
+ function H() {
+ var Pe;
+ return (
+ (Pe = k.pop() || Q.lex() || z),
+ typeof Pe != 'number' &&
+ (Pe instanceof Array && ((k = Pe), (Pe = k.pop())),
+ (Pe = M.symbols_[Pe] || Pe)),
+ Pe
+ );
+ }
+ o(H, 'lex');
+ for (var q, K, se, ce, ue, te, De = {}, oe, ke, Ie, Se; ; ) {
+ if (
+ ((se = N[N.length - 1]),
+ this.defaultActions[se]
+ ? (ce = this.defaultActions[se])
+ : ((q === null || typeof q > 'u') && (q = H()), (ce = O[se] && O[se][q])),
+ typeof ce > 'u' || !ce.length || !ce[0])
+ ) {
+ var Ue = '';
+ Se = [];
+ for (oe in O[se])
+ this.terminals_[oe] && oe > $ && Se.push("'" + this.terminals_[oe] + "'");
+ Q.showPosition
+ ? (Ue =
+ 'Parse error on line ' +
+ (P + 1) +
+ `:
+` +
+ Q.showPosition() +
+ `
+Expecting ` +
+ Se.join(', ') +
+ ", got '" +
+ (this.terminals_[q] || q) +
+ "'")
+ : (Ue =
+ 'Parse error on line ' +
+ (P + 1) +
+ ': Unexpected ' +
+ (q == z ? 'end of input' : "'" + (this.terminals_[q] || q) + "'")),
+ this.parseError(Ue, {
+ text: Q.match,
+ token: this.terminals_[q] || q,
+ line: Q.yylineno,
+ loc: j,
+ expected: Se
+ });
+ }
+ if (ce[0] instanceof Array && ce.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + se + ', token: ' + q
+ );
+ switch (ce[0]) {
+ case 1:
+ N.push(q),
+ I.push(Q.yytext),
+ C.push(Q.yylloc),
+ N.push(ce[1]),
+ (q = null),
+ K
+ ? ((q = K), (K = null))
+ : ((F = Q.yyleng),
+ (D = Q.yytext),
+ (P = Q.yylineno),
+ (j = Q.yylloc),
+ B > 0 && B--);
+ break;
+ case 2:
+ if (
+ ((ke = this.productions_[ce[1]][1]),
+ (De.$ = I[I.length - ke]),
+ (De._$ = {
+ first_line: C[C.length - (ke || 1)].first_line,
+ last_line: C[C.length - 1].last_line,
+ first_column: C[C.length - (ke || 1)].first_column,
+ last_column: C[C.length - 1].last_column
+ }),
+ J &&
+ (De._$.range = [
+ C[C.length - (ke || 1)].range[0],
+ C[C.length - 1].range[1]
+ ]),
+ (te = this.performAction.apply(De, [D, F, P, X.yy, ce[1], I, C].concat(Y))),
+ typeof te < 'u')
+ )
+ return te;
+ ke &&
+ ((N = N.slice(0, -1 * ke * 2)),
+ (I = I.slice(0, -1 * ke)),
+ (C = C.slice(0, -1 * ke))),
+ N.push(this.productions_[ce[1]][0]),
+ I.push(De.$),
+ C.push(De._$),
+ (Ie = O[N[N.length - 2]][N[N.length - 1]]),
+ N.push(Ie);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ E = (function () {
+ var A = {
+ EOF: 1,
+ parseError: o(function (M, N) {
+ if (this.yy.parser) this.yy.parser.parseError(M, N);
+ else throw new Error(M);
+ }, 'parseError'),
+ setInput: o(function (L, M) {
+ return (
+ (this.yy = M || this.yy || {}),
+ (this._input = L),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var L = this._input[0];
+ (this.yytext += L),
+ this.yyleng++,
+ this.offset++,
+ (this.match += L),
+ (this.matched += L);
+ var M = L.match(/(?:\r\n?|\n).*/g);
+ return (
+ M ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ L
+ );
+ }, 'input'),
+ unput: o(function (L) {
+ var M = L.length,
+ N = L.split(/(?:\r\n?|\n)/g);
+ (this._input = L + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - M)),
+ (this.offset -= M);
+ var k = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ N.length - 1 && (this.yylineno -= N.length - 1);
+ var I = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: N
+ ? (N.length === k.length ? this.yylloc.first_column : 0) +
+ k[k.length - N.length].length -
+ N[0].length
+ : this.yylloc.first_column - M
+ }),
+ this.options.ranges && (this.yylloc.range = [I[0], I[0] + this.yyleng - M]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (L) {
+ this.unput(this.match.slice(L));
+ }, 'less'),
+ pastInput: o(function () {
+ var L = this.matched.substr(0, this.matched.length - this.match.length);
+ return (L.length > 20 ? '...' : '') + L.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var L = this.match;
+ return (
+ L.length < 20 && (L += this._input.substr(0, 20 - L.length)),
+ (L.substr(0, 20) + (L.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var L = this.pastInput(),
+ M = new Array(L.length + 1).join('-');
+ return (
+ L +
+ this.upcomingInput() +
+ `
+` +
+ M +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (L, M) {
+ var N, k, I;
+ if (
+ (this.options.backtrack_lexer &&
+ ((I = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (I.yylloc.range = this.yylloc.range.slice(0))),
+ (k = L[0].match(/(?:\r\n?|\n).*/g)),
+ k && (this.yylineno += k.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: k
+ ? k[k.length - 1].length - k[k.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + L[0].length
+ }),
+ (this.yytext += L[0]),
+ (this.match += L[0]),
+ (this.matches = L),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(L[0].length)),
+ (this.matched += L[0]),
+ (N = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ M,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ N)
+ )
+ return N;
+ if (this._backtrack) {
+ for (var C in I) this[C] = I[C];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var L, M, N, k;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var I = this._currentRules(), C = 0; C < I.length; C++)
+ if (
+ ((N = this._input.match(this.rules[I[C]])),
+ N && (!M || N[0].length > M[0].length))
+ ) {
+ if (((M = N), (k = C), this.options.backtrack_lexer)) {
+ if (((L = this.test_match(N, I[C])), L !== !1)) return L;
+ if (this._backtrack) {
+ M = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return M
+ ? ((L = this.test_match(M, I[k])), L !== !1 ? L : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var M = this.next();
+ return M || this.lex();
+ }, 'lex'),
+ begin: o(function (M) {
+ this.conditionStack.push(M);
+ }, 'begin'),
+ popState: o(function () {
+ var M = this.conditionStack.length - 1;
+ return M > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (M) {
+ return (
+ (M = this.conditionStack.length - 1 - Math.abs(M || 0)),
+ M >= 0 ? this.conditionStack[M] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (M) {
+ this.begin(M);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (M, N, k, I) {
+ var C = I;
+ switch (k) {
+ case 0:
+ return this.begin('acc_title'), 22;
+ break;
+ case 1:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 2:
+ return this.begin('acc_descr'), 24;
+ break;
+ case 3:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 4:
+ this.begin('acc_descr_multiline');
+ break;
+ case 5:
+ this.popState();
+ break;
+ case 6:
+ return 'acc_descr_multiline_value';
+ case 7:
+ return 10;
+ case 8:
+ break;
+ case 9:
+ return 8;
+ case 10:
+ return 28;
+ case 11:
+ return 48;
+ case 12:
+ return 4;
+ case 13:
+ return this.begin('block'), 15;
+ break;
+ case 14:
+ return 36;
+ case 15:
+ break;
+ case 16:
+ return 37;
+ case 17:
+ return 34;
+ case 18:
+ return 34;
+ case 19:
+ return 38;
+ case 20:
+ break;
+ case 21:
+ return this.popState(), 17;
+ break;
+ case 22:
+ return N.yytext[0];
+ case 23:
+ return 18;
+ case 24:
+ return 19;
+ case 25:
+ return 41;
+ case 26:
+ return 43;
+ case 27:
+ return 43;
+ case 28:
+ return 43;
+ case 29:
+ return 41;
+ case 30:
+ return 41;
+ case 31:
+ return 42;
+ case 32:
+ return 42;
+ case 33:
+ return 42;
+ case 34:
+ return 42;
+ case 35:
+ return 42;
+ case 36:
+ return 43;
+ case 37:
+ return 42;
+ case 38:
+ return 43;
+ case 39:
+ return 44;
+ case 40:
+ return 44;
+ case 41:
+ return 44;
+ case 42:
+ return 44;
+ case 43:
+ return 41;
+ case 44:
+ return 42;
+ case 45:
+ return 43;
+ case 46:
+ return 45;
+ case 47:
+ return 46;
+ case 48:
+ return 47;
+ case 49:
+ return 47;
+ case 50:
+ return 46;
+ case 51:
+ return 46;
+ case 52:
+ return 46;
+ case 53:
+ return 27;
+ case 54:
+ return N.yytext[0];
+ case 55:
+ return 6;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:[\s]+)/i,
+ /^(?:"[^"%\r\n\v\b\\]+")/i,
+ /^(?:"[^"]*")/i,
+ /^(?:erDiagram\b)/i,
+ /^(?:\{)/i,
+ /^(?:,)/i,
+ /^(?:\s+)/i,
+ /^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,
+ /^(?:(.*?)[~](.*?)*[~])/i,
+ /^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,
+ /^(?:"[^"]*")/i,
+ /^(?:[\n]+)/i,
+ /^(?:\})/i,
+ /^(?:.)/i,
+ /^(?:\[)/i,
+ /^(?:\])/i,
+ /^(?:one or zero\b)/i,
+ /^(?:one or more\b)/i,
+ /^(?:one or many\b)/i,
+ /^(?:1\+)/i,
+ /^(?:\|o\b)/i,
+ /^(?:zero or one\b)/i,
+ /^(?:zero or more\b)/i,
+ /^(?:zero or many\b)/i,
+ /^(?:0\+)/i,
+ /^(?:\}o\b)/i,
+ /^(?:many\(0\))/i,
+ /^(?:many\(1\))/i,
+ /^(?:many\b)/i,
+ /^(?:\}\|)/i,
+ /^(?:one\b)/i,
+ /^(?:only one\b)/i,
+ /^(?:1\b)/i,
+ /^(?:\|\|)/i,
+ /^(?:o\|)/i,
+ /^(?:o\{)/i,
+ /^(?:\|\{)/i,
+ /^(?:\s*u\b)/i,
+ /^(?:\.\.)/i,
+ /^(?:--)/i,
+ /^(?:to\b)/i,
+ /^(?:optionally to\b)/i,
+ /^(?:\.-)/i,
+ /^(?:-\.)/i,
+ /^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,
+ /^(?:.)/i,
+ /^(?:$)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [5, 6], inclusive: !1 },
+ acc_descr: { rules: [3], inclusive: !1 },
+ acc_title: { rules: [1], inclusive: !1 },
+ block: {
+ rules: [14, 15, 16, 17, 18, 19, 20, 21, 22],
+ inclusive: !1
+ },
+ INITIAL: {
+ rules: [
+ 0, 2, 4, 7, 8, 9, 10, 11, 12, 13, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return A;
+ })();
+ T.lexer = E;
+ function _() {
+ this.yy = {};
+ }
+ return o(_, 'Parser'), (_.prototype = T), (T.Parser = _), new _();
+ })();
+ xD.parser = xD;
+ rne = xD;
+ });
+ var Hd,
+ bD,
+ NNe,
+ MNe,
+ ine,
+ INe,
+ ONe,
+ PNe,
+ BNe,
+ FNe,
+ ane,
+ sne = R(() => {
+ 'use strict';
+ ut();
+ _t();
+ bi();
+ (Hd = new Map()),
+ (bD = []),
+ (NNe = {
+ ZERO_OR_ONE: 'ZERO_OR_ONE',
+ ZERO_OR_MORE: 'ZERO_OR_MORE',
+ ONE_OR_MORE: 'ONE_OR_MORE',
+ ONLY_ONE: 'ONLY_ONE',
+ MD_PARENT: 'MD_PARENT'
+ }),
+ (MNe = {
+ NON_IDENTIFYING: 'NON_IDENTIFYING',
+ IDENTIFYING: 'IDENTIFYING'
+ }),
+ (ine = o(function (t, e = void 0) {
+ return (
+ Hd.has(t)
+ ? !Hd.get(t).alias &&
+ e &&
+ ((Hd.get(t).alias = e), V.info(`Add alias '${e}' to entity '${t}'`))
+ : (Hd.set(t, { attributes: [], alias: e }), V.info('Added new entity :', t)),
+ Hd.get(t)
+ );
+ }, 'addEntity')),
+ (INe = o(() => Hd, 'getEntities')),
+ (ONe = o(function (t, e) {
+ let r = ine(t),
+ n;
+ for (n = e.length - 1; n >= 0; n--)
+ r.attributes.push(e[n]), V.debug('Added attribute ', e[n].attributeName);
+ }, 'addAttributes')),
+ (PNe = o(function (t, e, r, n) {
+ let i = { entityA: t, roleA: e, entityB: r, relSpec: n };
+ bD.push(i), V.debug('Added new relationship :', i);
+ }, 'addRelationship')),
+ (BNe = o(() => bD, 'getRelationships')),
+ (FNe = o(function () {
+ (Hd = new Map()), (bD = []), vr();
+ }, 'clear')),
+ (ane = {
+ Cardinality: NNe,
+ Identification: MNe,
+ getConfig: o(() => de().er, 'getConfig'),
+ addEntity: ine,
+ addAttributes: ONe,
+ getEntities: INe,
+ addRelationship: PNe,
+ getRelationships: BNe,
+ clear: FNe,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr
+ });
+ });
+ var Dl,
+ zNe,
+ $o,
+ one = R(() => {
+ 'use strict';
+ (Dl = {
+ ONLY_ONE_START: 'ONLY_ONE_START',
+ ONLY_ONE_END: 'ONLY_ONE_END',
+ ZERO_OR_ONE_START: 'ZERO_OR_ONE_START',
+ ZERO_OR_ONE_END: 'ZERO_OR_ONE_END',
+ ONE_OR_MORE_START: 'ONE_OR_MORE_START',
+ ONE_OR_MORE_END: 'ONE_OR_MORE_END',
+ ZERO_OR_MORE_START: 'ZERO_OR_MORE_START',
+ ZERO_OR_MORE_END: 'ZERO_OR_MORE_END',
+ MD_PARENT_END: 'MD_PARENT_END',
+ MD_PARENT_START: 'MD_PARENT_START'
+ }),
+ (zNe = o(function (t, e) {
+ let r;
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.MD_PARENT_START)
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.MD_PARENT_END)
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ONLY_ONE_START)
+ .attr('refX', 0)
+ .attr('refY', 9)
+ .attr('markerWidth', 18)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M9,0 L9,18 M15,0 L15,18'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ONLY_ONE_END)
+ .attr('refX', 18)
+ .attr('refY', 9)
+ .attr('markerWidth', 18)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M3,0 L3,18 M9,0 L9,18'),
+ (r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ZERO_OR_ONE_START)
+ .attr('refX', 0)
+ .attr('refY', 9)
+ .attr('markerWidth', 30)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')),
+ r
+ .append('circle')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 21)
+ .attr('cy', 9)
+ .attr('r', 6),
+ r.append('path').attr('stroke', e.stroke).attr('fill', 'none').attr('d', 'M9,0 L9,18'),
+ (r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ZERO_OR_ONE_END)
+ .attr('refX', 30)
+ .attr('refY', 9)
+ .attr('markerWidth', 30)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')),
+ r
+ .append('circle')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 9)
+ .attr('cy', 9)
+ .attr('r', 6),
+ r.append('path').attr('stroke', e.stroke).attr('fill', 'none').attr('d', 'M21,0 L21,18'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ONE_OR_MORE_START)
+ .attr('refX', 18)
+ .attr('refY', 18)
+ .attr('markerWidth', 45)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ONE_OR_MORE_END)
+ .attr('refX', 27)
+ .attr('refY', 18)
+ .attr('markerWidth', 45)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18'),
+ (r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ZERO_OR_MORE_START)
+ .attr('refX', 18)
+ .attr('refY', 18)
+ .attr('markerWidth', 57)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')),
+ r
+ .append('circle')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 48)
+ .attr('cy', 18)
+ .attr('r', 6),
+ r
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M0,18 Q18,0 36,18 Q18,36 0,18'),
+ (r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', Dl.ZERO_OR_MORE_END)
+ .attr('refX', 39)
+ .attr('refY', 18)
+ .attr('markerWidth', 57)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')),
+ r
+ .append('circle')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 9)
+ .attr('cy', 18)
+ .attr('r', 6),
+ r
+ .append('path')
+ .attr('stroke', e.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M21,18 Q39,0 57,18 Q39,36 21,18');
+ }, 'insertMarkers')),
+ ($o = { ERMarkers: Dl, insertMarkers: zNe });
+ });
+ var lne,
+ cne = R(() => {
+ 'use strict';
+ lne =
+ /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
+ });
+ function GNe(t) {
+ return typeof t == 'string' && lne.test(t);
+ }
+ var une,
+ hne = R(() => {
+ 'use strict';
+ cne();
+ o(GNe, 'validate');
+ une = GNe;
+ });
+ function fne(t, e = 0) {
+ return (
+ va[t[e + 0]] +
+ va[t[e + 1]] +
+ va[t[e + 2]] +
+ va[t[e + 3]] +
+ '-' +
+ va[t[e + 4]] +
+ va[t[e + 5]] +
+ '-' +
+ va[t[e + 6]] +
+ va[t[e + 7]] +
+ '-' +
+ va[t[e + 8]] +
+ va[t[e + 9]] +
+ '-' +
+ va[t[e + 10]] +
+ va[t[e + 11]] +
+ va[t[e + 12]] +
+ va[t[e + 13]] +
+ va[t[e + 14]] +
+ va[t[e + 15]]
+ );
+ }
+ var va,
+ dne = R(() => {
+ 'use strict';
+ va = [];
+ for (let t = 0; t < 256; ++t) va.push((t + 256).toString(16).slice(1));
+ o(fne, 'unsafeStringify');
+ });
+ function $Ne(t) {
+ if (!une(t)) throw TypeError('Invalid UUID');
+ let e,
+ r = new Uint8Array(16);
+ return (
+ (r[0] = (e = parseInt(t.slice(0, 8), 16)) >>> 24),
+ (r[1] = (e >>> 16) & 255),
+ (r[2] = (e >>> 8) & 255),
+ (r[3] = e & 255),
+ (r[4] = (e = parseInt(t.slice(9, 13), 16)) >>> 8),
+ (r[5] = e & 255),
+ (r[6] = (e = parseInt(t.slice(14, 18), 16)) >>> 8),
+ (r[7] = e & 255),
+ (r[8] = (e = parseInt(t.slice(19, 23), 16)) >>> 8),
+ (r[9] = e & 255),
+ (r[10] = ((e = parseInt(t.slice(24, 36), 16)) / 1099511627776) & 255),
+ (r[11] = (e / 4294967296) & 255),
+ (r[12] = (e >>> 24) & 255),
+ (r[13] = (e >>> 16) & 255),
+ (r[14] = (e >>> 8) & 255),
+ (r[15] = e & 255),
+ r
+ );
+ }
+ var pne,
+ mne = R(() => {
+ 'use strict';
+ hne();
+ o($Ne, 'parse');
+ pne = $Ne;
+ });
+ function VNe(t) {
+ t = unescape(encodeURIComponent(t));
+ let e = [];
+ for (let r = 0; r < t.length; ++r) e.push(t.charCodeAt(r));
+ return e;
+ }
+ function wD(t, e, r) {
+ function n(i, a, s, l) {
+ var u;
+ if (
+ (typeof i == 'string' && (i = VNe(i)),
+ typeof a == 'string' && (a = pne(a)),
+ ((u = a) === null || u === void 0 ? void 0 : u.length) !== 16)
+ )
+ throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');
+ let h = new Uint8Array(16 + i.length);
+ if ((h.set(a), h.set(i, a.length), (h = r(h)), (h[6] = (h[6] & 15) | e), (h[8] = (h[8] & 63) | 128), s)) {
+ l = l || 0;
+ for (let f = 0; f < 16; ++f) s[l + f] = h[f];
+ return s;
+ }
+ return fne(h);
+ }
+ o(n, 'generateUUID');
+ try {
+ n.name = t;
+ } catch {}
+ return (n.DNS = UNe), (n.URL = HNe), n;
+ }
+ var UNe,
+ HNe,
+ gne = R(() => {
+ 'use strict';
+ dne();
+ mne();
+ o(VNe, 'stringToBytes');
+ (UNe = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'), (HNe = '6ba7b811-9dad-11d1-80b4-00c04fd430c8');
+ o(wD, 'v35');
+ });
+ function YNe(t, e, r, n) {
+ switch (t) {
+ case 0:
+ return (e & r) ^ (~e & n);
+ case 1:
+ return e ^ r ^ n;
+ case 2:
+ return (e & r) ^ (e & n) ^ (r & n);
+ case 3:
+ return e ^ r ^ n;
+ }
+ }
+ function TD(t, e) {
+ return (t << e) | (t >>> (32 - e));
+ }
+ function WNe(t) {
+ let e = [1518500249, 1859775393, 2400959708, 3395469782],
+ r = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];
+ if (typeof t == 'string') {
+ let s = unescape(encodeURIComponent(t));
+ t = [];
+ for (let l = 0; l < s.length; ++l) t.push(s.charCodeAt(l));
+ } else Array.isArray(t) || (t = Array.prototype.slice.call(t));
+ t.push(128);
+ let n = t.length / 4 + 2,
+ i = Math.ceil(n / 16),
+ a = new Array(i);
+ for (let s = 0; s < i; ++s) {
+ let l = new Uint32Array(16);
+ for (let u = 0; u < 16; ++u)
+ l[u] =
+ (t[s * 64 + u * 4] << 24) |
+ (t[s * 64 + u * 4 + 1] << 16) |
+ (t[s * 64 + u * 4 + 2] << 8) |
+ t[s * 64 + u * 4 + 3];
+ a[s] = l;
+ }
+ (a[i - 1][14] = ((t.length - 1) * 8) / Math.pow(2, 32)),
+ (a[i - 1][14] = Math.floor(a[i - 1][14])),
+ (a[i - 1][15] = ((t.length - 1) * 8) & 4294967295);
+ for (let s = 0; s < i; ++s) {
+ let l = new Uint32Array(80);
+ for (let m = 0; m < 16; ++m) l[m] = a[s][m];
+ for (let m = 16; m < 80; ++m) l[m] = TD(l[m - 3] ^ l[m - 8] ^ l[m - 14] ^ l[m - 16], 1);
+ let u = r[0],
+ h = r[1],
+ f = r[2],
+ d = r[3],
+ p = r[4];
+ for (let m = 0; m < 80; ++m) {
+ let g = Math.floor(m / 20),
+ y = (TD(u, 5) + YNe(g, h, f, d) + p + e[g] + l[m]) >>> 0;
+ (p = d), (d = f), (f = TD(h, 30) >>> 0), (h = u), (u = y);
+ }
+ (r[0] = (r[0] + u) >>> 0),
+ (r[1] = (r[1] + h) >>> 0),
+ (r[2] = (r[2] + f) >>> 0),
+ (r[3] = (r[3] + d) >>> 0),
+ (r[4] = (r[4] + p) >>> 0);
+ }
+ return [
+ (r[0] >> 24) & 255,
+ (r[0] >> 16) & 255,
+ (r[0] >> 8) & 255,
+ r[0] & 255,
+ (r[1] >> 24) & 255,
+ (r[1] >> 16) & 255,
+ (r[1] >> 8) & 255,
+ r[1] & 255,
+ (r[2] >> 24) & 255,
+ (r[2] >> 16) & 255,
+ (r[2] >> 8) & 255,
+ r[2] & 255,
+ (r[3] >> 24) & 255,
+ (r[3] >> 16) & 255,
+ (r[3] >> 8) & 255,
+ r[3] & 255,
+ (r[4] >> 24) & 255,
+ (r[4] >> 16) & 255,
+ (r[4] >> 8) & 255,
+ r[4] & 255
+ ];
+ }
+ var yne,
+ vne = R(() => {
+ 'use strict';
+ o(YNe, 'f');
+ o(TD, 'ROTL');
+ o(WNe, 'sha1');
+ yne = WNe;
+ });
+ var qNe,
+ kD,
+ xne = R(() => {
+ 'use strict';
+ gne();
+ vne();
+ (qNe = wD('v5', 80, yne)), (kD = qNe);
+ });
+ var bne = R(() => {
+ 'use strict';
+ xne();
+ });
+ function nMe(t = '', e = '') {
+ let r = t.replace(XNe, '');
+ return `${Tne(e)}${Tne(r)}${kD(t, rMe)}`;
+ }
+ function Tne(t = '') {
+ return t.length > 0 ? `${t}-` : '';
+ }
+ var XNe,
+ Ii,
+ Fv,
+ jNe,
+ KNe,
+ QNe,
+ ZNe,
+ kne,
+ JNe,
+ wne,
+ eMe,
+ tMe,
+ rMe,
+ Ene,
+ Cne = R(() => {
+ 'use strict';
+ ya();
+ Zt();
+ Vd();
+ _t();
+ ut();
+ xr();
+ one();
+ Yn();
+ rr();
+ bne();
+ (XNe = /[^\dA-Za-z](\W)*/g),
+ (Ii = {}),
+ (Fv = new Map()),
+ (jNe = o(function (t) {
+ let e = Object.keys(t);
+ for (let r of e) Ii[r] = t[r];
+ }, 'setConf')),
+ (KNe = o((t, e, r) => {
+ let n = Ii.entityPadding / 3,
+ i = Ii.entityPadding / 3,
+ a = Ii.fontSize * 0.85,
+ s = e.node().getBBox(),
+ l = [],
+ u = !1,
+ h = !1,
+ f = 0,
+ d = 0,
+ p = 0,
+ m = 0,
+ g = s.height + n * 2,
+ y = 1;
+ r.forEach((w) => {
+ w.attributeKeyTypeList !== void 0 && w.attributeKeyTypeList.length > 0 && (u = !0),
+ w.attributeComment !== void 0 && (h = !0);
+ }),
+ r.forEach((w) => {
+ let S = `${e.node().id}-attr-${y}`,
+ T = 0,
+ E = gh(w.attributeType),
+ _ = t
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${S}-type`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', de().fontFamily)
+ .style('font-size', a + 'px')
+ .text(E),
+ A = t
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${S}-name`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', de().fontFamily)
+ .style('font-size', a + 'px')
+ .text(w.attributeName),
+ L = {};
+ (L.tn = _), (L.nn = A);
+ let M = _.node().getBBox(),
+ N = A.node().getBBox();
+ if (
+ ((f = Math.max(f, M.width)),
+ (d = Math.max(d, N.width)),
+ (T = Math.max(M.height, N.height)),
+ u)
+ ) {
+ let k = w.attributeKeyTypeList !== void 0 ? w.attributeKeyTypeList.join(',') : '',
+ I = t
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${S}-key`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', de().fontFamily)
+ .style('font-size', a + 'px')
+ .text(k);
+ L.kn = I;
+ let C = I.node().getBBox();
+ (p = Math.max(p, C.width)), (T = Math.max(T, C.height));
+ }
+ if (h) {
+ let k = t
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${S}-comment`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', de().fontFamily)
+ .style('font-size', a + 'px')
+ .text(w.attributeComment || '');
+ L.cn = k;
+ let I = k.node().getBBox();
+ (m = Math.max(m, I.width)), (T = Math.max(T, I.height));
+ }
+ (L.height = T), l.push(L), (g += T + n * 2), (y += 1);
+ });
+ let v = 4;
+ u && (v += 2), h && (v += 2);
+ let x = f + d + p + m,
+ b = {
+ width: Math.max(Ii.minEntityWidth, Math.max(s.width + Ii.entityPadding * 2, x + i * v)),
+ height: r.length > 0 ? g : Math.max(Ii.minEntityHeight, s.height + Ii.entityPadding * 2)
+ };
+ if (r.length > 0) {
+ let w = Math.max(0, (b.width - x - i * v) / (v / 2));
+ e.attr('transform', 'translate(' + b.width / 2 + ',' + (n + s.height / 2) + ')');
+ let S = s.height + n * 2,
+ T = 'attributeBoxOdd';
+ l.forEach((E) => {
+ let _ = S + n + E.height / 2;
+ E.tn.attr('transform', 'translate(' + i + ',' + _ + ')');
+ let A = t
+ .insert('rect', '#' + E.tn.node().id)
+ .classed(`er ${T}`, !0)
+ .attr('x', 0)
+ .attr('y', S)
+ .attr('width', f + i * 2 + w)
+ .attr('height', E.height + n * 2),
+ L = parseFloat(A.attr('x')) + parseFloat(A.attr('width'));
+ E.nn.attr('transform', 'translate(' + (L + i) + ',' + _ + ')');
+ let M = t
+ .insert('rect', '#' + E.nn.node().id)
+ .classed(`er ${T}`, !0)
+ .attr('x', L)
+ .attr('y', S)
+ .attr('width', d + i * 2 + w)
+ .attr('height', E.height + n * 2),
+ N = parseFloat(M.attr('x')) + parseFloat(M.attr('width'));
+ if (u) {
+ E.kn.attr('transform', 'translate(' + (N + i) + ',' + _ + ')');
+ let k = t
+ .insert('rect', '#' + E.kn.node().id)
+ .classed(`er ${T}`, !0)
+ .attr('x', N)
+ .attr('y', S)
+ .attr('width', p + i * 2 + w)
+ .attr('height', E.height + n * 2);
+ N = parseFloat(k.attr('x')) + parseFloat(k.attr('width'));
+ }
+ h &&
+ (E.cn.attr('transform', 'translate(' + (N + i) + ',' + _ + ')'),
+ t
+ .insert('rect', '#' + E.cn.node().id)
+ .classed(`er ${T}`, 'true')
+ .attr('x', N)
+ .attr('y', S)
+ .attr('width', m + i * 2 + w)
+ .attr('height', E.height + n * 2)),
+ (S += E.height + n * 2),
+ (T = T === 'attributeBoxOdd' ? 'attributeBoxEven' : 'attributeBoxOdd');
+ });
+ } else
+ (b.height = Math.max(Ii.minEntityHeight, g)),
+ e.attr('transform', 'translate(' + b.width / 2 + ',' + b.height / 2 + ')');
+ return b;
+ }, 'drawAttributes')),
+ (QNe = o(function (t, e, r) {
+ let n = [...e.keys()],
+ i;
+ return (
+ n.forEach(function (a) {
+ let s = nMe(a, 'entity');
+ Fv.set(a, s);
+ let l = t.append('g').attr('id', s);
+ i = i === void 0 ? s : i;
+ let u = 'text-' + s,
+ h = l
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', u)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'middle')
+ .style('font-family', de().fontFamily)
+ .style('font-size', Ii.fontSize + 'px')
+ .text(e.get(a).alias ?? a),
+ { width: f, height: d } = KNe(l, h, e.get(a).attributes),
+ m = l
+ .insert('rect', '#' + u)
+ .classed('er entityBox', !0)
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', f)
+ .attr('height', d)
+ .node()
+ .getBBox();
+ r.setNode(s, {
+ width: m.width,
+ height: m.height,
+ shape: 'rect',
+ id: s
+ });
+ }),
+ i
+ );
+ }, 'drawEntities')),
+ (ZNe = o(function (t, e) {
+ e.nodes().forEach(function (r) {
+ r !== void 0 &&
+ e.node(r) !== void 0 &&
+ t
+ .select('#' + r)
+ .attr(
+ 'transform',
+ 'translate(' +
+ (e.node(r).x - e.node(r).width / 2) +
+ ',' +
+ (e.node(r).y - e.node(r).height / 2) +
+ ' )'
+ );
+ });
+ }, 'adjustEntities')),
+ (kne = o(function (t) {
+ return (t.entityA + t.roleA + t.entityB).replace(/\s/g, '');
+ }, 'getEdgeName')),
+ (JNe = o(function (t, e) {
+ return (
+ t.forEach(function (r) {
+ e.setEdge(Fv.get(r.entityA), Fv.get(r.entityB), { relationship: r }, kne(r));
+ }),
+ t
+ );
+ }, 'addRelationships')),
+ (wne = 0),
+ (eMe = o(function (t, e, r, n, i) {
+ wne++;
+ let a = r.edge(Fv.get(e.entityA), Fv.get(e.entityB), kne(e)),
+ s = ha()
+ .x(function (y) {
+ return y.x;
+ })
+ .y(function (y) {
+ return y.y;
+ })
+ .curve(vs),
+ l = t
+ .insert('path', '#' + n)
+ .classed('er relationshipLine', !0)
+ .attr('d', s(a.points))
+ .style('stroke', Ii.stroke)
+ .style('fill', 'none');
+ e.relSpec.relType === i.db.Identification.NON_IDENTIFYING && l.attr('stroke-dasharray', '8,8');
+ let u = '';
+ switch (
+ (Ii.arrowMarkerAbsolute &&
+ ((u =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (u = u.replace(/\(/g, '\\(')),
+ (u = u.replace(/\)/g, '\\)'))),
+ e.relSpec.cardA)
+ ) {
+ case i.db.Cardinality.ZERO_OR_ONE:
+ l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_ONE_END + ')');
+ break;
+ case i.db.Cardinality.ZERO_OR_MORE:
+ l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_MORE_END + ')');
+ break;
+ case i.db.Cardinality.ONE_OR_MORE:
+ l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ONE_OR_MORE_END + ')');
+ break;
+ case i.db.Cardinality.ONLY_ONE:
+ l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ONLY_ONE_END + ')');
+ break;
+ case i.db.Cardinality.MD_PARENT:
+ l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.MD_PARENT_END + ')');
+ break;
+ }
+ switch (e.relSpec.cardB) {
+ case i.db.Cardinality.ZERO_OR_ONE:
+ l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_ONE_START + ')');
+ break;
+ case i.db.Cardinality.ZERO_OR_MORE:
+ l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_MORE_START + ')');
+ break;
+ case i.db.Cardinality.ONE_OR_MORE:
+ l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ONE_OR_MORE_START + ')');
+ break;
+ case i.db.Cardinality.ONLY_ONE:
+ l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ONLY_ONE_START + ')');
+ break;
+ case i.db.Cardinality.MD_PARENT:
+ l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.MD_PARENT_START + ')');
+ break;
+ }
+ let h = l.node().getTotalLength(),
+ f = l.node().getPointAtLength(h * 0.5),
+ d = 'rel' + wne,
+ p = e.roleA.split(/
/g),
+ m = t
+ .append('text')
+ .classed('er relationshipLabel', !0)
+ .attr('id', d)
+ .attr('x', f.x)
+ .attr('y', f.y)
+ .style('text-anchor', 'middle')
+ .style('dominant-baseline', 'middle')
+ .style('font-family', de().fontFamily)
+ .style('font-size', Ii.fontSize + 'px');
+ if (p.length == 1) m.text(e.roleA);
+ else {
+ let y = -(p.length - 1) * 0.5;
+ p.forEach((v, x) => {
+ m.append('tspan')
+ .attr('x', f.x)
+ .attr('dy', `${x === 0 ? y : 1}em`)
+ .text(v);
+ });
+ }
+ let g = m.node().getBBox();
+ t.insert('rect', '#' + d)
+ .classed('er relationshipLabelBox', !0)
+ .attr('x', f.x - g.width / 2)
+ .attr('y', f.y - g.height / 2)
+ .attr('width', g.width)
+ .attr('height', g.height);
+ }, 'drawRelationshipFromLayout')),
+ (tMe = o(function (t, e, r, n) {
+ (Ii = de().er), V.info('Drawing ER diagram');
+ let i = de().securityLevel,
+ a;
+ i === 'sandbox' && (a = $e('#i' + e));
+ let l = (i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body')).select(
+ `[id='${e}']`
+ );
+ $o.insertMarkers(l, Ii);
+ let u;
+ u = new lr({ multigraph: !0, directed: !0, compound: !1 })
+ .setGraph({
+ rankdir: Ii.layoutDirection,
+ marginx: 20,
+ marginy: 20,
+ nodesep: 100,
+ edgesep: 100,
+ ranksep: 100
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ let h = QNe(l, n.db.getEntities(), u),
+ f = JNe(n.db.getRelationships(), u);
+ lo(u),
+ ZNe(l, u),
+ f.forEach(function (y) {
+ eMe(l, y, u, h, n);
+ });
+ let d = Ii.diagramPadding;
+ Lt.insertTitle(l, 'entityTitleText', Ii.titleTopMargin, n.db.getDiagramTitle());
+ let p = l.node().getBBox(),
+ m = p.width + d * 2,
+ g = p.height + d * 2;
+ Sr(l, g, m, Ii.useMaxWidth), l.attr('viewBox', `${p.x - d} ${p.y - d} ${m} ${g}`);
+ }, 'draw')),
+ (rMe = '28e9f9db-3c8d-5aa5-9faf-44286ae5937c');
+ o(nMe, 'generateId');
+ o(Tne, 'strWithHyphen');
+ Ene = { setConf: jNe, draw: tMe };
+ });
+ var iMe,
+ Sne,
+ Ane = R(() => {
+ 'use strict';
+ (iMe = o(
+ (t) => `
+ .entityBox {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+ }
+
+ .attributeBoxOdd {
+ fill: ${t.attributeBackgroundColorOdd};
+ stroke: ${t.nodeBorder};
+ }
+
+ .attributeBoxEven {
+ fill: ${t.attributeBackgroundColorEven};
+ stroke: ${t.nodeBorder};
+ }
+
+ .relationshipLabelBox {
+ fill: ${t.tertiaryColor};
+ opacity: 0.7;
+ background-color: ${t.tertiaryColor};
+ rect {
+ opacity: 0.5;
+ }
+ }
+
+ .relationshipLine {
+ stroke: ${t.lineColor};
+ }
+
+ .entityTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+ }
+ #MD_PARENT_START {
+ fill: #f5f5f5 !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+ }
+ #MD_PARENT_END {
+ fill: #f5f5f5 !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+ }
+
+`,
+ 'getStyles'
+ )),
+ (Sne = iMe);
+ });
+ var _ne = {};
+ hr(_ne, { diagram: () => aMe });
+ var aMe,
+ Lne = R(() => {
+ 'use strict';
+ nne();
+ sne();
+ Cne();
+ Ane();
+ aMe = { parser: rne, db: ane, renderer: Ene, styles: Sne };
+ });
+ function Xn(t) {
+ return typeof t == 'object' && t !== null && typeof t.$type == 'string';
+ }
+ function xa(t) {
+ return typeof t == 'object' && t !== null && typeof t.$refText == 'string';
+ }
+ function ED(t) {
+ return (
+ typeof t == 'object' &&
+ t !== null &&
+ typeof t.name == 'string' &&
+ typeof t.type == 'string' &&
+ typeof t.path == 'string'
+ );
+ }
+ function Wd(t) {
+ return typeof t == 'object' && t !== null && Xn(t.container) && xa(t.reference) && typeof t.message == 'string';
+ }
+ function co(t) {
+ return typeof t == 'object' && t !== null && Array.isArray(t.content);
+ }
+ function ef(t) {
+ return typeof t == 'object' && t !== null && typeof t.tokenType == 'object';
+ }
+ function zv(t) {
+ return co(t) && typeof t.fullText == 'string';
+ }
+ var Yd,
+ Vo = R(() => {
+ 'use strict';
+ o(Xn, 'isAstNode');
+ o(xa, 'isReference');
+ o(ED, 'isAstNodeDescription');
+ o(Wd, 'isLinkingError');
+ Yd = class {
+ static {
+ o(this, 'AbstractAstReflection');
+ }
+ constructor() {
+ (this.subtypes = {}), (this.allSubtypes = {});
+ }
+ isInstance(e, r) {
+ return Xn(e) && this.isSubtype(e.$type, r);
+ }
+ isSubtype(e, r) {
+ if (e === r) return !0;
+ let n = this.subtypes[e];
+ n || (n = this.subtypes[e] = {});
+ let i = n[r];
+ if (i !== void 0) return i;
+ {
+ let a = this.computeIsSubtype(e, r);
+ return (n[r] = a), a;
+ }
+ }
+ getAllSubTypes(e) {
+ let r = this.allSubtypes[e];
+ if (r) return r;
+ {
+ let n = this.getAllTypes(),
+ i = [];
+ for (let a of n) this.isSubtype(a, e) && i.push(a);
+ return (this.allSubtypes[e] = i), i;
+ }
+ }
+ };
+ o(co, 'isCompositeCstNode');
+ o(ef, 'isLeafCstNode');
+ o(zv, 'isRootCstNode');
+ });
+ function cMe(t) {
+ return typeof t == 'string'
+ ? t
+ : typeof t > 'u'
+ ? 'undefined'
+ : typeof t.toString == 'function'
+ ? t.toString()
+ : Object.prototype.toString.call(t);
+ }
+ function hT(t) {
+ return !!t && typeof t[Symbol.iterator] == 'function';
+ }
+ function Kr(...t) {
+ if (t.length === 1) {
+ let e = t[0];
+ if (e instanceof uo) return e;
+ if (hT(e))
+ return new uo(
+ () => e[Symbol.iterator](),
+ (r) => r.next()
+ );
+ if (typeof e.length == 'number')
+ return new uo(
+ () => ({ index: 0 }),
+ (r) => (r.index < e.length ? { done: !1, value: e[r.index++] } : Ja)
+ );
+ }
+ return t.length > 1
+ ? new uo(
+ () => ({ collIndex: 0, arrIndex: 0 }),
+ (e) => {
+ do {
+ if (e.iterator) {
+ let r = e.iterator.next();
+ if (!r.done) return r;
+ e.iterator = void 0;
+ }
+ if (e.array) {
+ if (e.arrIndex < e.array.length) return { done: !1, value: e.array[e.arrIndex++] };
+ (e.array = void 0), (e.arrIndex = 0);
+ }
+ if (e.collIndex < t.length) {
+ let r = t[e.collIndex++];
+ hT(r)
+ ? (e.iterator = r[Symbol.iterator]())
+ : r && typeof r.length == 'number' && (e.array = r);
+ }
+ } while (e.iterator || e.array || e.collIndex < t.length);
+ return Ja;
+ }
+ )
+ : Gv;
+ }
+ var uo,
+ Gv,
+ Ja,
+ Cc,
+ Fm,
+ Ds = R(() => {
+ 'use strict';
+ uo = class t {
+ static {
+ o(this, 'StreamImpl');
+ }
+ constructor(e, r) {
+ (this.startFn = e), (this.nextFn = r);
+ }
+ iterator() {
+ let e = {
+ state: this.startFn(),
+ next: o(() => this.nextFn(e.state), 'next'),
+ [Symbol.iterator]: () => e
+ };
+ return e;
+ }
+ [Symbol.iterator]() {
+ return this.iterator();
+ }
+ isEmpty() {
+ return !!this.iterator().next().done;
+ }
+ count() {
+ let e = this.iterator(),
+ r = 0,
+ n = e.next();
+ for (; !n.done; ) r++, (n = e.next());
+ return r;
+ }
+ toArray() {
+ let e = [],
+ r = this.iterator(),
+ n;
+ do (n = r.next()), n.value !== void 0 && e.push(n.value);
+ while (!n.done);
+ return e;
+ }
+ toSet() {
+ return new Set(this);
+ }
+ toMap(e, r) {
+ let n = this.map((i) => [e ? e(i) : i, r ? r(i) : i]);
+ return new Map(n);
+ }
+ toString() {
+ return this.join();
+ }
+ concat(e) {
+ let r = e[Symbol.iterator]();
+ return new t(
+ () => ({ first: this.startFn(), firstDone: !1 }),
+ (n) => {
+ let i;
+ if (!n.firstDone) {
+ do if (((i = this.nextFn(n.first)), !i.done)) return i;
+ while (!i.done);
+ n.firstDone = !0;
+ }
+ do if (((i = r.next()), !i.done)) return i;
+ while (!i.done);
+ return Ja;
+ }
+ );
+ }
+ join(e = ',') {
+ let r = this.iterator(),
+ n = '',
+ i,
+ a = !1;
+ do (i = r.next()), i.done || (a && (n += e), (n += cMe(i.value))), (a = !0);
+ while (!i.done);
+ return n;
+ }
+ indexOf(e, r = 0) {
+ let n = this.iterator(),
+ i = 0,
+ a = n.next();
+ for (; !a.done; ) {
+ if (i >= r && a.value === e) return i;
+ (a = n.next()), i++;
+ }
+ return -1;
+ }
+ every(e) {
+ let r = this.iterator(),
+ n = r.next();
+ for (; !n.done; ) {
+ if (!e(n.value)) return !1;
+ n = r.next();
+ }
+ return !0;
+ }
+ some(e) {
+ let r = this.iterator(),
+ n = r.next();
+ for (; !n.done; ) {
+ if (e(n.value)) return !0;
+ n = r.next();
+ }
+ return !1;
+ }
+ forEach(e) {
+ let r = this.iterator(),
+ n = 0,
+ i = r.next();
+ for (; !i.done; ) e(i.value, n), (i = r.next()), n++;
+ }
+ map(e) {
+ return new t(this.startFn, (r) => {
+ let { done: n, value: i } = this.nextFn(r);
+ return n ? Ja : { done: !1, value: e(i) };
+ });
+ }
+ filter(e) {
+ return new t(this.startFn, (r) => {
+ let n;
+ do if (((n = this.nextFn(r)), !n.done && e(n.value))) return n;
+ while (!n.done);
+ return Ja;
+ });
+ }
+ nonNullable() {
+ return this.filter((e) => e != null);
+ }
+ reduce(e, r) {
+ let n = this.iterator(),
+ i = r,
+ a = n.next();
+ for (; !a.done; ) i === void 0 ? (i = a.value) : (i = e(i, a.value)), (a = n.next());
+ return i;
+ }
+ reduceRight(e, r) {
+ return this.recursiveReduce(this.iterator(), e, r);
+ }
+ recursiveReduce(e, r, n) {
+ let i = e.next();
+ if (i.done) return n;
+ let a = this.recursiveReduce(e, r, n);
+ return a === void 0 ? i.value : r(a, i.value);
+ }
+ find(e) {
+ let r = this.iterator(),
+ n = r.next();
+ for (; !n.done; ) {
+ if (e(n.value)) return n.value;
+ n = r.next();
+ }
+ }
+ findIndex(e) {
+ let r = this.iterator(),
+ n = 0,
+ i = r.next();
+ for (; !i.done; ) {
+ if (e(i.value)) return n;
+ (i = r.next()), n++;
+ }
+ return -1;
+ }
+ includes(e) {
+ let r = this.iterator(),
+ n = r.next();
+ for (; !n.done; ) {
+ if (n.value === e) return !0;
+ n = r.next();
+ }
+ return !1;
+ }
+ flatMap(e) {
+ return new t(
+ () => ({ this: this.startFn() }),
+ (r) => {
+ do {
+ if (r.iterator) {
+ let a = r.iterator.next();
+ if (a.done) r.iterator = void 0;
+ else return a;
+ }
+ let { done: n, value: i } = this.nextFn(r.this);
+ if (!n) {
+ let a = e(i);
+ if (hT(a)) r.iterator = a[Symbol.iterator]();
+ else return { done: !1, value: a };
+ }
+ } while (r.iterator);
+ return Ja;
+ }
+ );
+ }
+ flat(e) {
+ if ((e === void 0 && (e = 1), e <= 0)) return this;
+ let r = e > 1 ? this.flat(e - 1) : this;
+ return new t(
+ () => ({ this: r.startFn() }),
+ (n) => {
+ do {
+ if (n.iterator) {
+ let s = n.iterator.next();
+ if (s.done) n.iterator = void 0;
+ else return s;
+ }
+ let { done: i, value: a } = r.nextFn(n.this);
+ if (!i)
+ if (hT(a)) n.iterator = a[Symbol.iterator]();
+ else return { done: !1, value: a };
+ } while (n.iterator);
+ return Ja;
+ }
+ );
+ }
+ head() {
+ let r = this.iterator().next();
+ if (!r.done) return r.value;
+ }
+ tail(e = 1) {
+ return new t(() => {
+ let r = this.startFn();
+ for (let n = 0; n < e; n++) if (this.nextFn(r).done) return r;
+ return r;
+ }, this.nextFn);
+ }
+ limit(e) {
+ return new t(
+ () => ({ size: 0, state: this.startFn() }),
+ (r) => (r.size++, r.size > e ? Ja : this.nextFn(r.state))
+ );
+ }
+ distinct(e) {
+ let r = new Set();
+ return this.filter((n) => {
+ let i = e ? e(n) : n;
+ return r.has(i) ? !1 : (r.add(i), !0);
+ });
+ }
+ exclude(e, r) {
+ let n = new Set();
+ for (let i of e) {
+ let a = r ? r(i) : i;
+ n.add(a);
+ }
+ return this.filter((i) => {
+ let a = r ? r(i) : i;
+ return !n.has(a);
+ });
+ }
+ };
+ o(cMe, 'toString');
+ o(hT, 'isIterable');
+ (Gv = new uo(
+ () => {},
+ () => Ja
+ )),
+ (Ja = Object.freeze({ done: !0, value: void 0 }));
+ o(Kr, 'stream');
+ Cc = class extends uo {
+ static {
+ o(this, 'TreeStreamImpl');
+ }
+ constructor(e, r, n) {
+ super(
+ () => ({
+ iterators: n?.includeRoot ? [[e][Symbol.iterator]()] : [r(e)[Symbol.iterator]()],
+ pruned: !1
+ }),
+ (i) => {
+ for (i.pruned && (i.iterators.pop(), (i.pruned = !1)); i.iterators.length > 0; ) {
+ let s = i.iterators[i.iterators.length - 1].next();
+ if (s.done) i.iterators.pop();
+ else return i.iterators.push(r(s.value)[Symbol.iterator]()), s;
+ }
+ return Ja;
+ }
+ );
+ }
+ iterator() {
+ let e = {
+ state: this.startFn(),
+ next: o(() => this.nextFn(e.state), 'next'),
+ prune: o(() => {
+ e.state.pruned = !0;
+ }, 'prune'),
+ [Symbol.iterator]: () => e
+ };
+ return e;
+ }
+ };
+ (function (t) {
+ function e(a) {
+ return a.reduce((s, l) => s + l, 0);
+ }
+ o(e, 'sum'), (t.sum = e);
+ function r(a) {
+ return a.reduce((s, l) => s * l, 0);
+ }
+ o(r, 'product'), (t.product = r);
+ function n(a) {
+ return a.reduce((s, l) => Math.min(s, l));
+ }
+ o(n, 'min'), (t.min = n);
+ function i(a) {
+ return a.reduce((s, l) => Math.max(s, l));
+ }
+ o(i, 'max'), (t.max = i);
+ })(Fm || (Fm = {}));
+ });
+ var dT = {};
+ hr(dT, {
+ DefaultNameRegexp: () => fT,
+ RangeComparison: () => Mu,
+ compareRange: () => Mne,
+ findCommentNode: () => _D,
+ findDeclarationNodeAtOffset: () => hMe,
+ findLeafNodeAtOffset: () => LD,
+ findLeafNodeBeforeOffset: () => Ine,
+ flattenCst: () => uMe,
+ getInteriorNodes: () => pMe,
+ getNextNode: () => fMe,
+ getPreviousNode: () => Pne,
+ getStartlineNode: () => dMe,
+ inRange: () => AD,
+ isChildNode: () => SD,
+ isCommentNode: () => CD,
+ streamCst: () => qd,
+ toDocumentSegment: () => Xd,
+ tokenToRange: () => zm
+ });
+ function qd(t) {
+ return new Cc(t, (e) => (co(e) ? e.content : []), { includeRoot: !0 });
+ }
+ function uMe(t) {
+ return qd(t).filter(ef);
+ }
+ function SD(t, e) {
+ for (; t.container; ) if (((t = t.container), t === e)) return !0;
+ return !1;
+ }
+ function zm(t) {
+ return {
+ start: { character: t.startColumn - 1, line: t.startLine - 1 },
+ end: { character: t.endColumn, line: t.endLine - 1 }
+ };
+ }
+ function Xd(t) {
+ if (!t) return;
+ let { offset: e, end: r, range: n } = t;
+ return { range: n, offset: e, end: r, length: r - e };
+ }
+ function Mne(t, e) {
+ if (t.end.line < e.start.line || (t.end.line === e.start.line && t.end.character < t.start.character))
+ return Mu.Before;
+ if (t.start.line > e.end.line || (t.start.line === e.end.line && t.start.character > e.end.character))
+ return Mu.After;
+ let r =
+ t.start.line > e.start.line ||
+ (t.start.line === e.start.line && t.start.character >= e.start.character),
+ n = t.end.line < e.end.line || (t.end.line === e.end.line && t.end.character <= e.end.character);
+ return r && n ? Mu.Inside : r ? Mu.OverlapBack : Mu.OverlapFront;
+ }
+ function AD(t, e) {
+ return Mne(t, e) > Mu.After;
+ }
+ function hMe(t, e, r = fT) {
+ if (t) {
+ if (e > 0) {
+ let n = e - t.offset,
+ i = t.text.charAt(n);
+ r.test(i) || e--;
+ }
+ return LD(t, e);
+ }
+ }
+ function _D(t, e) {
+ if (t) {
+ let r = Pne(t, !0);
+ if (r && CD(r, e)) return r;
+ if (zv(t)) {
+ let n = t.content.findIndex((i) => !i.hidden);
+ for (let i = n - 1; i >= 0; i--) {
+ let a = t.content[i];
+ if (CD(a, e)) return a;
+ }
+ }
+ }
+ }
+ function CD(t, e) {
+ return ef(t) && e.includes(t.tokenType.name);
+ }
+ function LD(t, e) {
+ if (ef(t)) return t;
+ if (co(t)) {
+ let r = One(t, e, !1);
+ if (r) return LD(r, e);
+ }
+ }
+ function Ine(t, e) {
+ if (ef(t)) return t;
+ if (co(t)) {
+ let r = One(t, e, !0);
+ if (r) return Ine(r, e);
+ }
+ }
+ function One(t, e, r) {
+ let n = 0,
+ i = t.content.length - 1,
+ a;
+ for (; n <= i; ) {
+ let s = Math.floor((n + i) / 2),
+ l = t.content[s];
+ if (l.offset <= e && l.end > e) return l;
+ l.end <= e ? ((a = r ? l : void 0), (n = s + 1)) : (i = s - 1);
+ }
+ return a;
+ }
+ function Pne(t, e = !0) {
+ for (; t.container; ) {
+ let r = t.container,
+ n = r.content.indexOf(t);
+ for (; n > 0; ) {
+ n--;
+ let i = r.content[n];
+ if (e || !i.hidden) return i;
+ }
+ t = r;
+ }
+ }
+ function fMe(t, e = !0) {
+ for (; t.container; ) {
+ let r = t.container,
+ n = r.content.indexOf(t),
+ i = r.content.length - 1;
+ for (; n < i; ) {
+ n++;
+ let a = r.content[n];
+ if (e || !a.hidden) return a;
+ }
+ t = r;
+ }
+ }
+ function dMe(t) {
+ if (t.range.start.character === 0) return t;
+ let e = t.range.start.line,
+ r = t,
+ n;
+ for (; t.container; ) {
+ let i = t.container,
+ a = n ?? i.content.indexOf(t);
+ if ((a === 0 ? ((t = i), (n = void 0)) : ((n = a - 1), (t = i.content[n])), t.range.start.line !== e))
+ break;
+ r = t;
+ }
+ return r;
+ }
+ function pMe(t, e) {
+ let r = mMe(t, e);
+ return r ? r.parent.content.slice(r.a + 1, r.b) : [];
+ }
+ function mMe(t, e) {
+ let r = Nne(t),
+ n = Nne(e),
+ i;
+ for (let a = 0; a < r.length && a < n.length; a++) {
+ let s = r[a],
+ l = n[a];
+ if (s.parent === l.parent) i = { parent: s.parent, a: s.index, b: l.index };
+ else break;
+ }
+ return i;
+ }
+ function Nne(t) {
+ let e = [];
+ for (; t.container; ) {
+ let r = t.container,
+ n = r.content.indexOf(t);
+ e.push({ parent: r, index: n }), (t = r);
+ }
+ return e.reverse();
+ }
+ var Mu,
+ fT,
+ Rl = R(() => {
+ 'use strict';
+ Vo();
+ Ds();
+ o(qd, 'streamCst');
+ o(uMe, 'flattenCst');
+ o(SD, 'isChildNode');
+ o(zm, 'tokenToRange');
+ o(Xd, 'toDocumentSegment');
+ (function (t) {
+ (t[(t.Before = 0)] = 'Before'),
+ (t[(t.After = 1)] = 'After'),
+ (t[(t.OverlapFront = 2)] = 'OverlapFront'),
+ (t[(t.OverlapBack = 3)] = 'OverlapBack'),
+ (t[(t.Inside = 4)] = 'Inside');
+ })(Mu || (Mu = {}));
+ o(Mne, 'compareRange');
+ o(AD, 'inRange');
+ fT = /^[\w\p{L}]$/u;
+ o(hMe, 'findDeclarationNodeAtOffset');
+ o(_D, 'findCommentNode');
+ o(CD, 'isCommentNode');
+ o(LD, 'findLeafNodeAtOffset');
+ o(Ine, 'findLeafNodeBeforeOffset');
+ o(One, 'binarySearch');
+ o(Pne, 'getPreviousNode');
+ o(fMe, 'getNextNode');
+ o(dMe, 'getStartlineNode');
+ o(pMe, 'getInteriorNodes');
+ o(mMe, 'getCommonParent');
+ o(Nne, 'getParentChain');
+ });
+ function tf(t) {
+ throw new Error('Error! The input value was not handled.');
+ }
+ var jd,
+ pT = R(() => {
+ 'use strict';
+ jd = class extends Error {
+ static {
+ o(this, 'ErrorWithLocation');
+ }
+ constructor(e, r) {
+ super(e ? `${r} at ${e.range.start.line}:${e.range.start.character}` : r);
+ }
+ };
+ o(tf, 'assertUnreachable');
+ });
+ var Yv = {};
+ hr(Yv, {
+ AbstractElement: () => RD,
+ AbstractRule: () => $v,
+ AbstractType: () => Vv,
+ Action: () => aR,
+ Alternatives: () => sR,
+ ArrayLiteral: () => ND,
+ ArrayType: () => MD,
+ Assignment: () => oR,
+ BooleanLiteral: () => OD,
+ CharacterRange: () => lR,
+ Condition: () => mT,
+ Conjunction: () => BD,
+ CrossReference: () => uR,
+ Disjunction: () => zD,
+ EndOfFile: () => hR,
+ Grammar: () => $D,
+ GrammarImport: () => Fne,
+ Group: () => dR,
+ InferredType: () => VD,
+ Interface: () => UD,
+ Keyword: () => pR,
+ LangiumGrammarAstReflection: () => Gm,
+ LangiumGrammarTerminals: () => gMe,
+ NamedArgument: () => zne,
+ NegatedToken: () => mR,
+ Negation: () => HD,
+ NumberLiteral: () => WD,
+ Parameter: () => qD,
+ ParameterReference: () => XD,
+ ParserRule: () => KD,
+ ReferenceType: () => QD,
+ RegexToken: () => yR,
+ ReturnType: () => Gne,
+ RuleCall: () => xR,
+ SimpleType: () => eR,
+ StringLiteral: () => tR,
+ TerminalAlternatives: () => bR,
+ TerminalGroup: () => TR,
+ TerminalRule: () => yT,
+ TerminalRuleCall: () => ER,
+ Type: () => rR,
+ TypeAttribute: () => $ne,
+ TypeDefinition: () => DD,
+ UnionType: () => nR,
+ UnorderedGroup: () => CR,
+ UntilToken: () => SR,
+ ValueLiteral: () => gT,
+ Wildcard: () => _R,
+ isAbstractElement: () => Uv,
+ isAbstractRule: () => yMe,
+ isAbstractType: () => vMe,
+ isAction: () => Iu,
+ isAlternatives: () => wT,
+ isArrayLiteral: () => kMe,
+ isArrayType: () => ID,
+ isAssignment: () => Nl,
+ isBooleanLiteral: () => PD,
+ isCharacterRange: () => cR,
+ isCondition: () => xMe,
+ isConjunction: () => FD,
+ isCrossReference: () => Kd,
+ isDisjunction: () => GD,
+ isEndOfFile: () => fR,
+ isFeatureName: () => bMe,
+ isGrammar: () => EMe,
+ isGrammarImport: () => CMe,
+ isGroup: () => rf,
+ isInferredType: () => vT,
+ isInterface: () => xT,
+ isKeyword: () => Ho,
+ isNamedArgument: () => SMe,
+ isNegatedToken: () => gR,
+ isNegation: () => YD,
+ isNumberLiteral: () => AMe,
+ isParameter: () => _Me,
+ isParameterReference: () => jD,
+ isParserRule: () => Oa,
+ isPrimitiveType: () => Bne,
+ isReferenceType: () => ZD,
+ isRegexToken: () => vR,
+ isReturnType: () => JD,
+ isRuleCall: () => Ml,
+ isSimpleType: () => bT,
+ isStringLiteral: () => LMe,
+ isTerminalAlternatives: () => wR,
+ isTerminalGroup: () => kR,
+ isTerminalRule: () => Uo,
+ isTerminalRuleCall: () => TT,
+ isType: () => Hv,
+ isTypeAttribute: () => DMe,
+ isTypeDefinition: () => wMe,
+ isUnionType: () => iR,
+ isUnorderedGroup: () => kT,
+ isUntilToken: () => AR,
+ isValueLiteral: () => TMe,
+ isWildcard: () => LR,
+ reflection: () => Kt
+ });
+ function yMe(t) {
+ return Kt.isInstance(t, $v);
+ }
+ function vMe(t) {
+ return Kt.isInstance(t, Vv);
+ }
+ function xMe(t) {
+ return Kt.isInstance(t, mT);
+ }
+ function bMe(t) {
+ return (
+ Bne(t) ||
+ t === 'current' ||
+ t === 'entry' ||
+ t === 'extends' ||
+ t === 'false' ||
+ t === 'fragment' ||
+ t === 'grammar' ||
+ t === 'hidden' ||
+ t === 'import' ||
+ t === 'interface' ||
+ t === 'returns' ||
+ t === 'terminal' ||
+ t === 'true' ||
+ t === 'type' ||
+ t === 'infer' ||
+ t === 'infers' ||
+ t === 'with' ||
+ (typeof t == 'string' && /\^?[_a-zA-Z][\w_]*/.test(t))
+ );
+ }
+ function Bne(t) {
+ return t === 'string' || t === 'number' || t === 'boolean' || t === 'Date' || t === 'bigint';
+ }
+ function wMe(t) {
+ return Kt.isInstance(t, DD);
+ }
+ function TMe(t) {
+ return Kt.isInstance(t, gT);
+ }
+ function Uv(t) {
+ return Kt.isInstance(t, RD);
+ }
+ function kMe(t) {
+ return Kt.isInstance(t, ND);
+ }
+ function ID(t) {
+ return Kt.isInstance(t, MD);
+ }
+ function PD(t) {
+ return Kt.isInstance(t, OD);
+ }
+ function FD(t) {
+ return Kt.isInstance(t, BD);
+ }
+ function GD(t) {
+ return Kt.isInstance(t, zD);
+ }
+ function EMe(t) {
+ return Kt.isInstance(t, $D);
+ }
+ function CMe(t) {
+ return Kt.isInstance(t, Fne);
+ }
+ function vT(t) {
+ return Kt.isInstance(t, VD);
+ }
+ function xT(t) {
+ return Kt.isInstance(t, UD);
+ }
+ function SMe(t) {
+ return Kt.isInstance(t, zne);
+ }
+ function YD(t) {
+ return Kt.isInstance(t, HD);
+ }
+ function AMe(t) {
+ return Kt.isInstance(t, WD);
+ }
+ function _Me(t) {
+ return Kt.isInstance(t, qD);
+ }
+ function jD(t) {
+ return Kt.isInstance(t, XD);
+ }
+ function Oa(t) {
+ return Kt.isInstance(t, KD);
+ }
+ function ZD(t) {
+ return Kt.isInstance(t, QD);
+ }
+ function JD(t) {
+ return Kt.isInstance(t, Gne);
+ }
+ function bT(t) {
+ return Kt.isInstance(t, eR);
+ }
+ function LMe(t) {
+ return Kt.isInstance(t, tR);
+ }
+ function Uo(t) {
+ return Kt.isInstance(t, yT);
+ }
+ function Hv(t) {
+ return Kt.isInstance(t, rR);
+ }
+ function DMe(t) {
+ return Kt.isInstance(t, $ne);
+ }
+ function iR(t) {
+ return Kt.isInstance(t, nR);
+ }
+ function Iu(t) {
+ return Kt.isInstance(t, aR);
+ }
+ function wT(t) {
+ return Kt.isInstance(t, sR);
+ }
+ function Nl(t) {
+ return Kt.isInstance(t, oR);
+ }
+ function cR(t) {
+ return Kt.isInstance(t, lR);
+ }
+ function Kd(t) {
+ return Kt.isInstance(t, uR);
+ }
+ function fR(t) {
+ return Kt.isInstance(t, hR);
+ }
+ function rf(t) {
+ return Kt.isInstance(t, dR);
+ }
+ function Ho(t) {
+ return Kt.isInstance(t, pR);
+ }
+ function gR(t) {
+ return Kt.isInstance(t, mR);
+ }
+ function vR(t) {
+ return Kt.isInstance(t, yR);
+ }
+ function Ml(t) {
+ return Kt.isInstance(t, xR);
+ }
+ function wR(t) {
+ return Kt.isInstance(t, bR);
+ }
+ function kR(t) {
+ return Kt.isInstance(t, TR);
+ }
+ function TT(t) {
+ return Kt.isInstance(t, ER);
+ }
+ function kT(t) {
+ return Kt.isInstance(t, CR);
+ }
+ function AR(t) {
+ return Kt.isInstance(t, SR);
+ }
+ function LR(t) {
+ return Kt.isInstance(t, _R);
+ }
+ var gMe,
+ $v,
+ Vv,
+ mT,
+ DD,
+ gT,
+ RD,
+ ND,
+ MD,
+ OD,
+ BD,
+ zD,
+ $D,
+ Fne,
+ VD,
+ UD,
+ zne,
+ HD,
+ WD,
+ qD,
+ XD,
+ KD,
+ QD,
+ Gne,
+ eR,
+ tR,
+ yT,
+ rR,
+ $ne,
+ nR,
+ aR,
+ sR,
+ oR,
+ lR,
+ uR,
+ hR,
+ dR,
+ pR,
+ mR,
+ yR,
+ xR,
+ bR,
+ TR,
+ ER,
+ CR,
+ SR,
+ _R,
+ Gm,
+ Kt,
+ Sc = R(() => {
+ 'use strict';
+ Vo();
+ (gMe = {
+ ID: /\^?[_a-zA-Z][\w_]*/,
+ STRING: /"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,
+ NUMBER: /NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,
+ RegexLiteral: /\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,
+ WS: /\s+/,
+ ML_COMMENT: /\/\*[\s\S]*?\*\//,
+ SL_COMMENT: /\/\/[^\n\r]*/
+ }),
+ ($v = 'AbstractRule');
+ o(yMe, 'isAbstractRule');
+ Vv = 'AbstractType';
+ o(vMe, 'isAbstractType');
+ mT = 'Condition';
+ o(xMe, 'isCondition');
+ o(bMe, 'isFeatureName');
+ o(Bne, 'isPrimitiveType');
+ DD = 'TypeDefinition';
+ o(wMe, 'isTypeDefinition');
+ gT = 'ValueLiteral';
+ o(TMe, 'isValueLiteral');
+ RD = 'AbstractElement';
+ o(Uv, 'isAbstractElement');
+ ND = 'ArrayLiteral';
+ o(kMe, 'isArrayLiteral');
+ MD = 'ArrayType';
+ o(ID, 'isArrayType');
+ OD = 'BooleanLiteral';
+ o(PD, 'isBooleanLiteral');
+ BD = 'Conjunction';
+ o(FD, 'isConjunction');
+ zD = 'Disjunction';
+ o(GD, 'isDisjunction');
+ $D = 'Grammar';
+ o(EMe, 'isGrammar');
+ Fne = 'GrammarImport';
+ o(CMe, 'isGrammarImport');
+ VD = 'InferredType';
+ o(vT, 'isInferredType');
+ UD = 'Interface';
+ o(xT, 'isInterface');
+ zne = 'NamedArgument';
+ o(SMe, 'isNamedArgument');
+ HD = 'Negation';
+ o(YD, 'isNegation');
+ WD = 'NumberLiteral';
+ o(AMe, 'isNumberLiteral');
+ qD = 'Parameter';
+ o(_Me, 'isParameter');
+ XD = 'ParameterReference';
+ o(jD, 'isParameterReference');
+ KD = 'ParserRule';
+ o(Oa, 'isParserRule');
+ QD = 'ReferenceType';
+ o(ZD, 'isReferenceType');
+ Gne = 'ReturnType';
+ o(JD, 'isReturnType');
+ eR = 'SimpleType';
+ o(bT, 'isSimpleType');
+ tR = 'StringLiteral';
+ o(LMe, 'isStringLiteral');
+ yT = 'TerminalRule';
+ o(Uo, 'isTerminalRule');
+ rR = 'Type';
+ o(Hv, 'isType');
+ $ne = 'TypeAttribute';
+ o(DMe, 'isTypeAttribute');
+ nR = 'UnionType';
+ o(iR, 'isUnionType');
+ aR = 'Action';
+ o(Iu, 'isAction');
+ sR = 'Alternatives';
+ o(wT, 'isAlternatives');
+ oR = 'Assignment';
+ o(Nl, 'isAssignment');
+ lR = 'CharacterRange';
+ o(cR, 'isCharacterRange');
+ uR = 'CrossReference';
+ o(Kd, 'isCrossReference');
+ hR = 'EndOfFile';
+ o(fR, 'isEndOfFile');
+ dR = 'Group';
+ o(rf, 'isGroup');
+ pR = 'Keyword';
+ o(Ho, 'isKeyword');
+ mR = 'NegatedToken';
+ o(gR, 'isNegatedToken');
+ yR = 'RegexToken';
+ o(vR, 'isRegexToken');
+ xR = 'RuleCall';
+ o(Ml, 'isRuleCall');
+ bR = 'TerminalAlternatives';
+ o(wR, 'isTerminalAlternatives');
+ TR = 'TerminalGroup';
+ o(kR, 'isTerminalGroup');
+ ER = 'TerminalRuleCall';
+ o(TT, 'isTerminalRuleCall');
+ CR = 'UnorderedGroup';
+ o(kT, 'isUnorderedGroup');
+ SR = 'UntilToken';
+ o(AR, 'isUntilToken');
+ _R = 'Wildcard';
+ o(LR, 'isWildcard');
+ (Gm = class extends Yd {
+ static {
+ o(this, 'LangiumGrammarAstReflection');
+ }
+ getAllTypes() {
+ return [
+ 'AbstractElement',
+ 'AbstractRule',
+ 'AbstractType',
+ 'Action',
+ 'Alternatives',
+ 'ArrayLiteral',
+ 'ArrayType',
+ 'Assignment',
+ 'BooleanLiteral',
+ 'CharacterRange',
+ 'Condition',
+ 'Conjunction',
+ 'CrossReference',
+ 'Disjunction',
+ 'EndOfFile',
+ 'Grammar',
+ 'GrammarImport',
+ 'Group',
+ 'InferredType',
+ 'Interface',
+ 'Keyword',
+ 'NamedArgument',
+ 'NegatedToken',
+ 'Negation',
+ 'NumberLiteral',
+ 'Parameter',
+ 'ParameterReference',
+ 'ParserRule',
+ 'ReferenceType',
+ 'RegexToken',
+ 'ReturnType',
+ 'RuleCall',
+ 'SimpleType',
+ 'StringLiteral',
+ 'TerminalAlternatives',
+ 'TerminalGroup',
+ 'TerminalRule',
+ 'TerminalRuleCall',
+ 'Type',
+ 'TypeAttribute',
+ 'TypeDefinition',
+ 'UnionType',
+ 'UnorderedGroup',
+ 'UntilToken',
+ 'ValueLiteral',
+ 'Wildcard'
+ ];
+ }
+ computeIsSubtype(e, r) {
+ switch (e) {
+ case aR:
+ case sR:
+ case oR:
+ case lR:
+ case uR:
+ case hR:
+ case dR:
+ case pR:
+ case mR:
+ case yR:
+ case xR:
+ case bR:
+ case TR:
+ case ER:
+ case CR:
+ case SR:
+ case _R:
+ return this.isSubtype(RD, r);
+ case ND:
+ case WD:
+ case tR:
+ return this.isSubtype(gT, r);
+ case MD:
+ case QD:
+ case eR:
+ case nR:
+ return this.isSubtype(DD, r);
+ case OD:
+ return this.isSubtype(mT, r) || this.isSubtype(gT, r);
+ case BD:
+ case zD:
+ case HD:
+ case XD:
+ return this.isSubtype(mT, r);
+ case VD:
+ case UD:
+ case rR:
+ return this.isSubtype(Vv, r);
+ case KD:
+ return this.isSubtype($v, r) || this.isSubtype(Vv, r);
+ case yT:
+ return this.isSubtype($v, r);
+ default:
+ return !1;
+ }
+ }
+ getReferenceType(e) {
+ let r = `${e.container.$type}:${e.property}`;
+ switch (r) {
+ case 'Action:type':
+ case 'CrossReference:type':
+ case 'Interface:superTypes':
+ case 'ParserRule:returnType':
+ case 'SimpleType:typeRef':
+ return Vv;
+ case 'Grammar:hiddenTokens':
+ case 'ParserRule:hiddenTokens':
+ case 'RuleCall:rule':
+ return $v;
+ case 'Grammar:usedGrammars':
+ return $D;
+ case 'NamedArgument:parameter':
+ case 'ParameterReference:parameter':
+ return qD;
+ case 'TerminalRuleCall:rule':
+ return yT;
+ default:
+ throw new Error(`${r} is not a valid reference id.`);
+ }
+ }
+ getTypeMetaData(e) {
+ switch (e) {
+ case 'AbstractElement':
+ return {
+ name: 'AbstractElement',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }]
+ };
+ case 'ArrayLiteral':
+ return {
+ name: 'ArrayLiteral',
+ properties: [{ name: 'elements', defaultValue: [] }]
+ };
+ case 'ArrayType':
+ return {
+ name: 'ArrayType',
+ properties: [{ name: 'elementType' }]
+ };
+ case 'BooleanLiteral':
+ return {
+ name: 'BooleanLiteral',
+ properties: [{ name: 'true', defaultValue: !1 }]
+ };
+ case 'Conjunction':
+ return {
+ name: 'Conjunction',
+ properties: [{ name: 'left' }, { name: 'right' }]
+ };
+ case 'Disjunction':
+ return {
+ name: 'Disjunction',
+ properties: [{ name: 'left' }, { name: 'right' }]
+ };
+ case 'Grammar':
+ return {
+ name: 'Grammar',
+ properties: [
+ { name: 'definesHiddenTokens', defaultValue: !1 },
+ { name: 'hiddenTokens', defaultValue: [] },
+ { name: 'imports', defaultValue: [] },
+ { name: 'interfaces', defaultValue: [] },
+ { name: 'isDeclared', defaultValue: !1 },
+ { name: 'name' },
+ { name: 'rules', defaultValue: [] },
+ { name: 'types', defaultValue: [] },
+ { name: 'usedGrammars', defaultValue: [] }
+ ]
+ };
+ case 'GrammarImport':
+ return { name: 'GrammarImport', properties: [{ name: 'path' }] };
+ case 'InferredType':
+ return { name: 'InferredType', properties: [{ name: 'name' }] };
+ case 'Interface':
+ return {
+ name: 'Interface',
+ properties: [
+ { name: 'attributes', defaultValue: [] },
+ { name: 'name' },
+ { name: 'superTypes', defaultValue: [] }
+ ]
+ };
+ case 'NamedArgument':
+ return {
+ name: 'NamedArgument',
+ properties: [
+ { name: 'calledByName', defaultValue: !1 },
+ { name: 'parameter' },
+ { name: 'value' }
+ ]
+ };
+ case 'Negation':
+ return { name: 'Negation', properties: [{ name: 'value' }] };
+ case 'NumberLiteral':
+ return { name: 'NumberLiteral', properties: [{ name: 'value' }] };
+ case 'Parameter':
+ return { name: 'Parameter', properties: [{ name: 'name' }] };
+ case 'ParameterReference':
+ return {
+ name: 'ParameterReference',
+ properties: [{ name: 'parameter' }]
+ };
+ case 'ParserRule':
+ return {
+ name: 'ParserRule',
+ properties: [
+ { name: 'dataType' },
+ { name: 'definesHiddenTokens', defaultValue: !1 },
+ { name: 'definition' },
+ { name: 'entry', defaultValue: !1 },
+ { name: 'fragment', defaultValue: !1 },
+ { name: 'hiddenTokens', defaultValue: [] },
+ { name: 'inferredType' },
+ { name: 'name' },
+ { name: 'parameters', defaultValue: [] },
+ { name: 'returnType' },
+ { name: 'wildcard', defaultValue: !1 }
+ ]
+ };
+ case 'ReferenceType':
+ return {
+ name: 'ReferenceType',
+ properties: [{ name: 'referenceType' }]
+ };
+ case 'ReturnType':
+ return { name: 'ReturnType', properties: [{ name: 'name' }] };
+ case 'SimpleType':
+ return {
+ name: 'SimpleType',
+ properties: [{ name: 'primitiveType' }, { name: 'stringType' }, { name: 'typeRef' }]
+ };
+ case 'StringLiteral':
+ return { name: 'StringLiteral', properties: [{ name: 'value' }] };
+ case 'TerminalRule':
+ return {
+ name: 'TerminalRule',
+ properties: [
+ { name: 'definition' },
+ { name: 'fragment', defaultValue: !1 },
+ { name: 'hidden', defaultValue: !1 },
+ { name: 'name' },
+ { name: 'type' }
+ ]
+ };
+ case 'Type':
+ return {
+ name: 'Type',
+ properties: [{ name: 'name' }, { name: 'type' }]
+ };
+ case 'TypeAttribute':
+ return {
+ name: 'TypeAttribute',
+ properties: [
+ { name: 'defaultValue' },
+ { name: 'isOptional', defaultValue: !1 },
+ { name: 'name' },
+ { name: 'type' }
+ ]
+ };
+ case 'UnionType':
+ return {
+ name: 'UnionType',
+ properties: [{ name: 'types', defaultValue: [] }]
+ };
+ case 'Action':
+ return {
+ name: 'Action',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'feature' },
+ { name: 'inferredType' },
+ { name: 'lookahead' },
+ { name: 'operator' },
+ { name: 'type' }
+ ]
+ };
+ case 'Alternatives':
+ return {
+ name: 'Alternatives',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'elements', defaultValue: [] },
+ { name: 'lookahead' }
+ ]
+ };
+ case 'Assignment':
+ return {
+ name: 'Assignment',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'feature' },
+ { name: 'lookahead' },
+ { name: 'operator' },
+ { name: 'terminal' }
+ ]
+ };
+ case 'CharacterRange':
+ return {
+ name: 'CharacterRange',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'left' },
+ { name: 'lookahead' },
+ { name: 'right' }
+ ]
+ };
+ case 'CrossReference':
+ return {
+ name: 'CrossReference',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'deprecatedSyntax', defaultValue: !1 },
+ { name: 'lookahead' },
+ { name: 'terminal' },
+ { name: 'type' }
+ ]
+ };
+ case 'EndOfFile':
+ return {
+ name: 'EndOfFile',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }]
+ };
+ case 'Group':
+ return {
+ name: 'Group',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'elements', defaultValue: [] },
+ { name: 'guardCondition' },
+ { name: 'lookahead' }
+ ]
+ };
+ case 'Keyword':
+ return {
+ name: 'Keyword',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'value' }]
+ };
+ case 'NegatedToken':
+ return {
+ name: 'NegatedToken',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'terminal' }]
+ };
+ case 'RegexToken':
+ return {
+ name: 'RegexToken',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'regex' }]
+ };
+ case 'RuleCall':
+ return {
+ name: 'RuleCall',
+ properties: [
+ { name: 'arguments', defaultValue: [] },
+ { name: 'cardinality' },
+ { name: 'lookahead' },
+ { name: 'rule' }
+ ]
+ };
+ case 'TerminalAlternatives':
+ return {
+ name: 'TerminalAlternatives',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'elements', defaultValue: [] },
+ { name: 'lookahead' }
+ ]
+ };
+ case 'TerminalGroup':
+ return {
+ name: 'TerminalGroup',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'elements', defaultValue: [] },
+ { name: 'lookahead' }
+ ]
+ };
+ case 'TerminalRuleCall':
+ return {
+ name: 'TerminalRuleCall',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'rule' }]
+ };
+ case 'UnorderedGroup':
+ return {
+ name: 'UnorderedGroup',
+ properties: [
+ { name: 'cardinality' },
+ { name: 'elements', defaultValue: [] },
+ { name: 'lookahead' }
+ ]
+ };
+ case 'UntilToken':
+ return {
+ name: 'UntilToken',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'terminal' }]
+ };
+ case 'Wildcard':
+ return {
+ name: 'Wildcard',
+ properties: [{ name: 'cardinality' }, { name: 'lookahead' }]
+ };
+ default:
+ return { name: e, properties: [] };
+ }
+ }
+ }),
+ (Kt = new Gm());
+ });
+ var CT = {};
+ hr(CT, {
+ assignMandatoryProperties: () => NR,
+ copyAstNode: () => RR,
+ findLocalReferences: () => NMe,
+ findRootNode: () => Vne,
+ getContainerOfType: () => Qd,
+ getDocument: () => Oi,
+ hasContainerOfType: () => RMe,
+ linkContentToContainer: () => ET,
+ streamAllContents: () => Ac,
+ streamAst: () => Yo,
+ streamContents: () => Wv,
+ streamReferences: () => $m
+ });
+ function ET(t) {
+ for (let [e, r] of Object.entries(t))
+ e.startsWith('$') ||
+ (Array.isArray(r)
+ ? r.forEach((n, i) => {
+ Xn(n) && ((n.$container = t), (n.$containerProperty = e), (n.$containerIndex = i));
+ })
+ : Xn(r) && ((r.$container = t), (r.$containerProperty = e)));
+ }
+ function Qd(t, e) {
+ let r = t;
+ for (; r; ) {
+ if (e(r)) return r;
+ r = r.$container;
+ }
+ }
+ function RMe(t, e) {
+ let r = t;
+ for (; r; ) {
+ if (e(r)) return !0;
+ r = r.$container;
+ }
+ return !1;
+ }
+ function Oi(t) {
+ let r = Vne(t).$document;
+ if (!r) throw new Error('AST node has no document.');
+ return r;
+ }
+ function Vne(t) {
+ for (; t.$container; ) t = t.$container;
+ return t;
+ }
+ function Wv(t, e) {
+ if (!t) throw new Error('Node must be an AstNode.');
+ let r = e?.range;
+ return new uo(
+ () => ({ keys: Object.keys(t), keyIndex: 0, arrayIndex: 0 }),
+ (n) => {
+ for (; n.keyIndex < n.keys.length; ) {
+ let i = n.keys[n.keyIndex];
+ if (!i.startsWith('$')) {
+ let a = t[i];
+ if (Xn(a)) {
+ if ((n.keyIndex++, DR(a, r))) return { done: !1, value: a };
+ } else if (Array.isArray(a)) {
+ for (; n.arrayIndex < a.length; ) {
+ let s = n.arrayIndex++,
+ l = a[s];
+ if (Xn(l) && DR(l, r)) return { done: !1, value: l };
+ }
+ n.arrayIndex = 0;
+ }
+ }
+ n.keyIndex++;
+ }
+ return Ja;
+ }
+ );
+ }
+ function Ac(t, e) {
+ if (!t) throw new Error('Root node must be an AstNode.');
+ return new Cc(t, (r) => Wv(r, e));
+ }
+ function Yo(t, e) {
+ if (t) {
+ if (e?.range && !DR(t, e.range)) return new Cc(t, () => []);
+ } else throw new Error('Root node must be an AstNode.');
+ return new Cc(t, (r) => Wv(r, e), { includeRoot: !0 });
+ }
+ function DR(t, e) {
+ var r;
+ if (!e) return !0;
+ let n = (r = t.$cstNode) === null || r === void 0 ? void 0 : r.range;
+ return n ? AD(n, e) : !1;
+ }
+ function $m(t) {
+ return new uo(
+ () => ({ keys: Object.keys(t), keyIndex: 0, arrayIndex: 0 }),
+ (e) => {
+ for (; e.keyIndex < e.keys.length; ) {
+ let r = e.keys[e.keyIndex];
+ if (!r.startsWith('$')) {
+ let n = t[r];
+ if (xa(n))
+ return e.keyIndex++, { done: !1, value: { reference: n, container: t, property: r } };
+ if (Array.isArray(n)) {
+ for (; e.arrayIndex < n.length; ) {
+ let i = e.arrayIndex++,
+ a = n[i];
+ if (xa(a))
+ return {
+ done: !1,
+ value: {
+ reference: a,
+ container: t,
+ property: r,
+ index: i
+ }
+ };
+ }
+ e.arrayIndex = 0;
+ }
+ }
+ e.keyIndex++;
+ }
+ return Ja;
+ }
+ );
+ }
+ function NMe(t, e = Oi(t).parseResult.value) {
+ let r = [];
+ return (
+ Yo(e).forEach((n) => {
+ $m(n).forEach((i) => {
+ i.reference.ref === t && r.push(i.reference);
+ });
+ }),
+ Kr(r)
+ );
+ }
+ function NR(t, e) {
+ let r = t.getTypeMetaData(e.$type),
+ n = e;
+ for (let i of r.properties)
+ i.defaultValue !== void 0 && n[i.name] === void 0 && (n[i.name] = Une(i.defaultValue));
+ }
+ function Une(t) {
+ return Array.isArray(t) ? [...t.map(Une)] : t;
+ }
+ function RR(t, e) {
+ let r = { $type: t.$type };
+ for (let [n, i] of Object.entries(t))
+ if (!n.startsWith('$'))
+ if (Xn(i)) r[n] = RR(i, e);
+ else if (xa(i)) r[n] = e(r, n, i.$refNode, i.$refText);
+ else if (Array.isArray(i)) {
+ let a = [];
+ for (let s of i)
+ Xn(s) ? a.push(RR(s, e)) : xa(s) ? a.push(e(r, n, s.$refNode, s.$refText)) : a.push(s);
+ r[n] = a;
+ } else r[n] = i;
+ return ET(r), r;
+ }
+ var es = R(() => {
+ 'use strict';
+ Vo();
+ Ds();
+ Rl();
+ o(ET, 'linkContentToContainer');
+ o(Qd, 'getContainerOfType');
+ o(RMe, 'hasContainerOfType');
+ o(Oi, 'getDocument');
+ o(Vne, 'findRootNode');
+ o(Wv, 'streamContents');
+ o(Ac, 'streamAllContents');
+ o(Yo, 'streamAst');
+ o(DR, 'isAstNodeInRange');
+ o($m, 'streamReferences');
+ o(NMe, 'findLocalReferences');
+ o(NR, 'assignMandatoryProperties');
+ o(Une, 'copyDefaultValue');
+ o(RR, 'copyAstNode');
+ });
+ function qt(t) {
+ return t.charCodeAt(0);
+ }
+ function ST(t, e) {
+ Array.isArray(t)
+ ? t.forEach(function (r) {
+ e.push(r);
+ })
+ : e.push(t);
+ }
+ function Vm(t, e) {
+ if (t[e] === !0) throw 'duplicate flag ' + e;
+ let r = t[e];
+ t[e] = !0;
+ }
+ function Zd(t) {
+ if (t === void 0) throw Error('Internal Error - Should never get here!');
+ return !0;
+ }
+ function qv() {
+ throw Error('Internal Error - Should never get here!');
+ }
+ function MR(t) {
+ return t.type === 'Character';
+ }
+ var IR = R(() => {
+ 'use strict';
+ o(qt, 'cc');
+ o(ST, 'insertToSet');
+ o(Vm, 'addFlag');
+ o(Zd, 'ASSERT_EXISTS');
+ o(qv, 'ASSERT_NEVER_REACH_HERE');
+ o(MR, 'isCharacter');
+ });
+ var Xv,
+ jv,
+ OR,
+ Hne = R(() => {
+ 'use strict';
+ IR();
+ Xv = [];
+ for (let t = qt('0'); t <= qt('9'); t++) Xv.push(t);
+ jv = [qt('_')].concat(Xv);
+ for (let t = qt('a'); t <= qt('z'); t++) jv.push(t);
+ for (let t = qt('A'); t <= qt('Z'); t++) jv.push(t);
+ OR = [
+ qt(' '),
+ qt('\f'),
+ qt(`
+`),
+ qt('\r'),
+ qt(' '),
+ qt('\v'),
+ qt(' '),
+ qt('\xA0'),
+ qt('\u1680'),
+ qt('\u2000'),
+ qt('\u2001'),
+ qt('\u2002'),
+ qt('\u2003'),
+ qt('\u2004'),
+ qt('\u2005'),
+ qt('\u2006'),
+ qt('\u2007'),
+ qt('\u2008'),
+ qt('\u2009'),
+ qt('\u200A'),
+ qt('\u2028'),
+ qt('\u2029'),
+ qt('\u202F'),
+ qt('\u205F'),
+ qt('\u3000'),
+ qt('\uFEFF')
+ ];
+ });
+ var MMe,
+ AT,
+ IMe,
+ Jd,
+ Yne = R(() => {
+ 'use strict';
+ IR();
+ Hne();
+ (MMe = /[0-9a-fA-F]/),
+ (AT = /[0-9]/),
+ (IMe = /[1-9]/),
+ (Jd = class {
+ static {
+ o(this, 'RegExpParser');
+ }
+ constructor() {
+ (this.idx = 0), (this.input = ''), (this.groupIdx = 0);
+ }
+ saveState() {
+ return {
+ idx: this.idx,
+ input: this.input,
+ groupIdx: this.groupIdx
+ };
+ }
+ restoreState(e) {
+ (this.idx = e.idx), (this.input = e.input), (this.groupIdx = e.groupIdx);
+ }
+ pattern(e) {
+ (this.idx = 0), (this.input = e), (this.groupIdx = 0), this.consumeChar('/');
+ let r = this.disjunction();
+ this.consumeChar('/');
+ let n = {
+ type: 'Flags',
+ loc: { begin: this.idx, end: e.length },
+ global: !1,
+ ignoreCase: !1,
+ multiLine: !1,
+ unicode: !1,
+ sticky: !1
+ };
+ for (; this.isRegExpFlag(); )
+ switch (this.popChar()) {
+ case 'g':
+ Vm(n, 'global');
+ break;
+ case 'i':
+ Vm(n, 'ignoreCase');
+ break;
+ case 'm':
+ Vm(n, 'multiLine');
+ break;
+ case 'u':
+ Vm(n, 'unicode');
+ break;
+ case 'y':
+ Vm(n, 'sticky');
+ break;
+ }
+ if (this.idx !== this.input.length)
+ throw Error('Redundant input: ' + this.input.substring(this.idx));
+ return { type: 'Pattern', flags: n, value: r, loc: this.loc(0) };
+ }
+ disjunction() {
+ let e = [],
+ r = this.idx;
+ for (e.push(this.alternative()); this.peekChar() === '|'; )
+ this.consumeChar('|'), e.push(this.alternative());
+ return { type: 'Disjunction', value: e, loc: this.loc(r) };
+ }
+ alternative() {
+ let e = [],
+ r = this.idx;
+ for (; this.isTerm(); ) e.push(this.term());
+ return { type: 'Alternative', value: e, loc: this.loc(r) };
+ }
+ term() {
+ return this.isAssertion() ? this.assertion() : this.atom();
+ }
+ assertion() {
+ let e = this.idx;
+ switch (this.popChar()) {
+ case '^':
+ return { type: 'StartAnchor', loc: this.loc(e) };
+ case '$':
+ return { type: 'EndAnchor', loc: this.loc(e) };
+ case '\\':
+ switch (this.popChar()) {
+ case 'b':
+ return { type: 'WordBoundary', loc: this.loc(e) };
+ case 'B':
+ return { type: 'NonWordBoundary', loc: this.loc(e) };
+ }
+ throw Error('Invalid Assertion Escape');
+ case '(':
+ this.consumeChar('?');
+ let r;
+ switch (this.popChar()) {
+ case '=':
+ r = 'Lookahead';
+ break;
+ case '!':
+ r = 'NegativeLookahead';
+ break;
+ }
+ Zd(r);
+ let n = this.disjunction();
+ return this.consumeChar(')'), { type: r, value: n, loc: this.loc(e) };
+ }
+ return qv();
+ }
+ quantifier(e = !1) {
+ let r,
+ n = this.idx;
+ switch (this.popChar()) {
+ case '*':
+ r = { atLeast: 0, atMost: 1 / 0 };
+ break;
+ case '+':
+ r = { atLeast: 1, atMost: 1 / 0 };
+ break;
+ case '?':
+ r = { atLeast: 0, atMost: 1 };
+ break;
+ case '{':
+ let i = this.integerIncludingZero();
+ switch (this.popChar()) {
+ case '}':
+ r = { atLeast: i, atMost: i };
+ break;
+ case ',':
+ let a;
+ this.isDigit()
+ ? ((a = this.integerIncludingZero()), (r = { atLeast: i, atMost: a }))
+ : (r = { atLeast: i, atMost: 1 / 0 }),
+ this.consumeChar('}');
+ break;
+ }
+ if (e === !0 && r === void 0) return;
+ Zd(r);
+ break;
+ }
+ if (!(e === !0 && r === void 0) && Zd(r))
+ return (
+ this.peekChar(0) === '?' ? (this.consumeChar('?'), (r.greedy = !1)) : (r.greedy = !0),
+ (r.type = 'Quantifier'),
+ (r.loc = this.loc(n)),
+ r
+ );
+ }
+ atom() {
+ let e,
+ r = this.idx;
+ switch (this.peekChar()) {
+ case '.':
+ e = this.dotAll();
+ break;
+ case '\\':
+ e = this.atomEscape();
+ break;
+ case '[':
+ e = this.characterClass();
+ break;
+ case '(':
+ e = this.group();
+ break;
+ }
+ return (
+ e === void 0 && this.isPatternCharacter() && (e = this.patternCharacter()),
+ Zd(e)
+ ? ((e.loc = this.loc(r)), this.isQuantifier() && (e.quantifier = this.quantifier()), e)
+ : qv()
+ );
+ }
+ dotAll() {
+ return (
+ this.consumeChar('.'),
+ {
+ type: 'Set',
+ complement: !0,
+ value: [
+ qt(`
+`),
+ qt('\r'),
+ qt('\u2028'),
+ qt('\u2029')
+ ]
+ }
+ );
+ }
+ atomEscape() {
+ switch ((this.consumeChar('\\'), this.peekChar())) {
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ return this.decimalEscapeAtom();
+ case 'd':
+ case 'D':
+ case 's':
+ case 'S':
+ case 'w':
+ case 'W':
+ return this.characterClassEscape();
+ case 'f':
+ case 'n':
+ case 'r':
+ case 't':
+ case 'v':
+ return this.controlEscapeAtom();
+ case 'c':
+ return this.controlLetterEscapeAtom();
+ case '0':
+ return this.nulCharacterAtom();
+ case 'x':
+ return this.hexEscapeSequenceAtom();
+ case 'u':
+ return this.regExpUnicodeEscapeSequenceAtom();
+ default:
+ return this.identityEscapeAtom();
+ }
+ }
+ decimalEscapeAtom() {
+ return {
+ type: 'GroupBackReference',
+ value: this.positiveInteger()
+ };
+ }
+ characterClassEscape() {
+ let e,
+ r = !1;
+ switch (this.popChar()) {
+ case 'd':
+ e = Xv;
+ break;
+ case 'D':
+ (e = Xv), (r = !0);
+ break;
+ case 's':
+ e = OR;
+ break;
+ case 'S':
+ (e = OR), (r = !0);
+ break;
+ case 'w':
+ e = jv;
+ break;
+ case 'W':
+ (e = jv), (r = !0);
+ break;
+ }
+ return Zd(e) ? { type: 'Set', value: e, complement: r } : qv();
+ }
+ controlEscapeAtom() {
+ let e;
+ switch (this.popChar()) {
+ case 'f':
+ e = qt('\f');
+ break;
+ case 'n':
+ e = qt(`
+`);
+ break;
+ case 'r':
+ e = qt('\r');
+ break;
+ case 't':
+ e = qt(' ');
+ break;
+ case 'v':
+ e = qt('\v');
+ break;
+ }
+ return Zd(e) ? { type: 'Character', value: e } : qv();
+ }
+ controlLetterEscapeAtom() {
+ this.consumeChar('c');
+ let e = this.popChar();
+ if (/[a-zA-Z]/.test(e) === !1) throw Error('Invalid ');
+ return {
+ type: 'Character',
+ value: e.toUpperCase().charCodeAt(0) - 64
+ };
+ }
+ nulCharacterAtom() {
+ return this.consumeChar('0'), { type: 'Character', value: qt('\0') };
+ }
+ hexEscapeSequenceAtom() {
+ return this.consumeChar('x'), this.parseHexDigits(2);
+ }
+ regExpUnicodeEscapeSequenceAtom() {
+ return this.consumeChar('u'), this.parseHexDigits(4);
+ }
+ identityEscapeAtom() {
+ let e = this.popChar();
+ return { type: 'Character', value: qt(e) };
+ }
+ classPatternCharacterAtom() {
+ switch (this.peekChar()) {
+ case `
+`:
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ case '\\':
+ case ']':
+ throw Error('TBD');
+ default:
+ let e = this.popChar();
+ return { type: 'Character', value: qt(e) };
+ }
+ }
+ characterClass() {
+ let e = [],
+ r = !1;
+ for (
+ this.consumeChar('['), this.peekChar(0) === '^' && (this.consumeChar('^'), (r = !0));
+ this.isClassAtom();
+
+ ) {
+ let n = this.classAtom(),
+ i = n.type === 'Character';
+ if (MR(n) && this.isRangeDash()) {
+ this.consumeChar('-');
+ let a = this.classAtom(),
+ s = a.type === 'Character';
+ if (MR(a)) {
+ if (a.value < n.value) throw Error('Range out of order in character class');
+ e.push({ from: n.value, to: a.value });
+ } else ST(n.value, e), e.push(qt('-')), ST(a.value, e);
+ } else ST(n.value, e);
+ }
+ return this.consumeChar(']'), { type: 'Set', complement: r, value: e };
+ }
+ classAtom() {
+ switch (this.peekChar()) {
+ case ']':
+ case `
+`:
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ throw Error('TBD');
+ case '\\':
+ return this.classEscape();
+ default:
+ return this.classPatternCharacterAtom();
+ }
+ }
+ classEscape() {
+ switch ((this.consumeChar('\\'), this.peekChar())) {
+ case 'b':
+ return this.consumeChar('b'), { type: 'Character', value: qt('\b') };
+ case 'd':
+ case 'D':
+ case 's':
+ case 'S':
+ case 'w':
+ case 'W':
+ return this.characterClassEscape();
+ case 'f':
+ case 'n':
+ case 'r':
+ case 't':
+ case 'v':
+ return this.controlEscapeAtom();
+ case 'c':
+ return this.controlLetterEscapeAtom();
+ case '0':
+ return this.nulCharacterAtom();
+ case 'x':
+ return this.hexEscapeSequenceAtom();
+ case 'u':
+ return this.regExpUnicodeEscapeSequenceAtom();
+ default:
+ return this.identityEscapeAtom();
+ }
+ }
+ group() {
+ let e = !0;
+ switch ((this.consumeChar('('), this.peekChar(0))) {
+ case '?':
+ this.consumeChar('?'), this.consumeChar(':'), (e = !1);
+ break;
+ default:
+ this.groupIdx++;
+ break;
+ }
+ let r = this.disjunction();
+ this.consumeChar(')');
+ let n = { type: 'Group', capturing: e, value: r };
+ return e && (n.idx = this.groupIdx), n;
+ }
+ positiveInteger() {
+ let e = this.popChar();
+ if (IMe.test(e) === !1) throw Error('Expecting a positive integer');
+ for (; AT.test(this.peekChar(0)); ) e += this.popChar();
+ return parseInt(e, 10);
+ }
+ integerIncludingZero() {
+ let e = this.popChar();
+ if (AT.test(e) === !1) throw Error('Expecting an integer');
+ for (; AT.test(this.peekChar(0)); ) e += this.popChar();
+ return parseInt(e, 10);
+ }
+ patternCharacter() {
+ let e = this.popChar();
+ switch (e) {
+ case `
+`:
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ case '^':
+ case '$':
+ case '\\':
+ case '.':
+ case '*':
+ case '+':
+ case '?':
+ case '(':
+ case ')':
+ case '[':
+ case '|':
+ throw Error('TBD');
+ default:
+ return { type: 'Character', value: qt(e) };
+ }
+ }
+ isRegExpFlag() {
+ switch (this.peekChar(0)) {
+ case 'g':
+ case 'i':
+ case 'm':
+ case 'u':
+ case 'y':
+ return !0;
+ default:
+ return !1;
+ }
+ }
+ isRangeDash() {
+ return this.peekChar() === '-' && this.isClassAtom(1);
+ }
+ isDigit() {
+ return AT.test(this.peekChar(0));
+ }
+ isClassAtom(e = 0) {
+ switch (this.peekChar(e)) {
+ case ']':
+ case `
+`:
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ return !1;
+ default:
+ return !0;
+ }
+ }
+ isTerm() {
+ return this.isAtom() || this.isAssertion();
+ }
+ isAtom() {
+ if (this.isPatternCharacter()) return !0;
+ switch (this.peekChar(0)) {
+ case '.':
+ case '\\':
+ case '[':
+ case '(':
+ return !0;
+ default:
+ return !1;
+ }
+ }
+ isAssertion() {
+ switch (this.peekChar(0)) {
+ case '^':
+ case '$':
+ return !0;
+ case '\\':
+ switch (this.peekChar(1)) {
+ case 'b':
+ case 'B':
+ return !0;
+ default:
+ return !1;
+ }
+ case '(':
+ return (
+ this.peekChar(1) === '?' && (this.peekChar(2) === '=' || this.peekChar(2) === '!')
+ );
+ default:
+ return !1;
+ }
+ }
+ isQuantifier() {
+ let e = this.saveState();
+ try {
+ return this.quantifier(!0) !== void 0;
+ } catch {
+ return !1;
+ } finally {
+ this.restoreState(e);
+ }
+ }
+ isPatternCharacter() {
+ switch (this.peekChar()) {
+ case '^':
+ case '$':
+ case '\\':
+ case '.':
+ case '*':
+ case '+':
+ case '?':
+ case '(':
+ case ')':
+ case '[':
+ case '|':
+ case '/':
+ case `
+`:
+ case '\r':
+ case '\u2028':
+ case '\u2029':
+ return !1;
+ default:
+ return !0;
+ }
+ }
+ parseHexDigits(e) {
+ let r = '';
+ for (let i = 0; i < e; i++) {
+ let a = this.popChar();
+ if (MMe.test(a) === !1) throw Error('Expecting a HexDecimal digits');
+ r += a;
+ }
+ return { type: 'Character', value: parseInt(r, 16) };
+ }
+ peekChar(e = 0) {
+ return this.input[this.idx + e];
+ }
+ popChar() {
+ let e = this.peekChar(0);
+ return this.consumeChar(void 0), e;
+ }
+ consumeChar(e) {
+ if (e !== void 0 && this.input[this.idx] !== e)
+ throw Error(
+ "Expected: '" + e + "' but found: '" + this.input[this.idx] + "' at offset: " + this.idx
+ );
+ if (this.idx >= this.input.length) throw Error('Unexpected end of input');
+ this.idx++;
+ }
+ loc(e) {
+ return { begin: e, end: this.idx };
+ }
+ });
+ });
+ var _c,
+ Wne = R(() => {
+ 'use strict';
+ _c = class {
+ static {
+ o(this, 'BaseRegExpVisitor');
+ }
+ visitChildren(e) {
+ for (let r in e) {
+ let n = e[r];
+ e.hasOwnProperty(r) &&
+ (n.type !== void 0
+ ? this.visit(n)
+ : Array.isArray(n) &&
+ n.forEach((i) => {
+ this.visit(i);
+ }, this));
+ }
+ }
+ visit(e) {
+ switch (e.type) {
+ case 'Pattern':
+ this.visitPattern(e);
+ break;
+ case 'Flags':
+ this.visitFlags(e);
+ break;
+ case 'Disjunction':
+ this.visitDisjunction(e);
+ break;
+ case 'Alternative':
+ this.visitAlternative(e);
+ break;
+ case 'StartAnchor':
+ this.visitStartAnchor(e);
+ break;
+ case 'EndAnchor':
+ this.visitEndAnchor(e);
+ break;
+ case 'WordBoundary':
+ this.visitWordBoundary(e);
+ break;
+ case 'NonWordBoundary':
+ this.visitNonWordBoundary(e);
+ break;
+ case 'Lookahead':
+ this.visitLookahead(e);
+ break;
+ case 'NegativeLookahead':
+ this.visitNegativeLookahead(e);
+ break;
+ case 'Character':
+ this.visitCharacter(e);
+ break;
+ case 'Set':
+ this.visitSet(e);
+ break;
+ case 'Group':
+ this.visitGroup(e);
+ break;
+ case 'GroupBackReference':
+ this.visitGroupBackReference(e);
+ break;
+ case 'Quantifier':
+ this.visitQuantifier(e);
+ break;
+ }
+ this.visitChildren(e);
+ }
+ visitPattern(e) {}
+ visitFlags(e) {}
+ visitDisjunction(e) {}
+ visitAlternative(e) {}
+ visitStartAnchor(e) {}
+ visitEndAnchor(e) {}
+ visitWordBoundary(e) {}
+ visitNonWordBoundary(e) {}
+ visitLookahead(e) {}
+ visitNegativeLookahead(e) {}
+ visitCharacter(e) {}
+ visitSet(e) {}
+ visitGroup(e) {}
+ visitGroupBackReference(e) {}
+ visitQuantifier(e) {}
+ };
+ });
+ var Kv = R(() => {
+ 'use strict';
+ Yne();
+ Wne();
+ });
+ var LT = {};
+ hr(LT, {
+ NEWLINE_REGEXP: () => BR,
+ escapeRegExp: () => t0,
+ getCaseInsensitivePattern: () => zR,
+ getTerminalParts: () => OMe,
+ isMultilineComment: () => FR,
+ isWhitespace: () => _T,
+ partialMatches: () => GR,
+ partialRegExp: () => Xne
+ });
+ function OMe(t) {
+ try {
+ typeof t != 'string' && (t = t.source), (t = `/${t}/`);
+ let e = qne.pattern(t),
+ r = [];
+ for (let n of e.value.value) e0.reset(t), e0.visit(n), r.push({ start: e0.startRegexp, end: e0.endRegex });
+ return r;
+ } catch {
+ return [];
+ }
+ }
+ function FR(t) {
+ try {
+ return (
+ typeof t == 'string' && (t = new RegExp(t)),
+ (t = t.toString()),
+ e0.reset(t),
+ e0.visit(qne.pattern(t)),
+ e0.multiline
+ );
+ } catch {
+ return !1;
+ }
+ }
+ function _T(t) {
+ return (typeof t == 'string' ? new RegExp(t) : t).test(' ');
+ }
+ function t0(t) {
+ return t.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
+ }
+ function zR(t) {
+ return Array.prototype.map
+ .call(t, (e) => (/\w/.test(e) ? `[${e.toLowerCase()}${e.toUpperCase()}]` : t0(e)))
+ .join('');
+ }
+ function GR(t, e) {
+ let r = Xne(t),
+ n = e.match(r);
+ return !!n && n[0].length > 0;
+ }
+ function Xne(t) {
+ typeof t == 'string' && (t = new RegExp(t));
+ let e = t,
+ r = t.source,
+ n = 0;
+ function i() {
+ let a = '',
+ s;
+ function l(h) {
+ (a += r.substr(n, h)), (n += h);
+ }
+ o(l, 'appendRaw');
+ function u(h) {
+ (a += '(?:' + r.substr(n, h) + '|$)'), (n += h);
+ }
+ for (o(u, 'appendOptional'); n < r.length; )
+ switch (r[n]) {
+ case '\\':
+ switch (r[n + 1]) {
+ case 'c':
+ u(3);
+ break;
+ case 'x':
+ u(4);
+ break;
+ case 'u':
+ e.unicode ? (r[n + 2] === '{' ? u(r.indexOf('}', n) - n + 1) : u(6)) : u(2);
+ break;
+ case 'p':
+ case 'P':
+ e.unicode ? u(r.indexOf('}', n) - n + 1) : u(2);
+ break;
+ case 'k':
+ u(r.indexOf('>', n) - n + 1);
+ break;
+ default:
+ u(2);
+ break;
+ }
+ break;
+ case '[':
+ (s = /\[(?:\\.|.)*?\]/g), (s.lastIndex = n), (s = s.exec(r) || []), u(s[0].length);
+ break;
+ case '|':
+ case '^':
+ case '$':
+ case '*':
+ case '+':
+ case '?':
+ l(1);
+ break;
+ case '{':
+ (s = /\{\d+,?\d*\}/g), (s.lastIndex = n), (s = s.exec(r)), s ? l(s[0].length) : u(1);
+ break;
+ case '(':
+ if (r[n + 1] === '?')
+ switch (r[n + 2]) {
+ case ':':
+ (a += '(?:'), (n += 3), (a += i() + '|$)');
+ break;
+ case '=':
+ (a += '(?='), (n += 3), (a += i() + ')');
+ break;
+ case '!':
+ (s = n), (n += 3), i(), (a += r.substr(s, n - s));
+ break;
+ case '<':
+ switch (r[n + 3]) {
+ case '=':
+ case '!':
+ (s = n), (n += 4), i(), (a += r.substr(s, n - s));
+ break;
+ default:
+ l(r.indexOf('>', n) - n + 1), (a += i() + '|$)');
+ break;
+ }
+ break;
+ }
+ else l(1), (a += i() + '|$)');
+ break;
+ case ')':
+ return ++n, a;
+ default:
+ u(1);
+ break;
+ }
+ return a;
+ }
+ return o(i, 'process'), new RegExp(i(), t.flags);
+ }
+ var BR,
+ qne,
+ PR,
+ e0,
+ Um = R(() => {
+ 'use strict';
+ Kv();
+ (BR = /\r?\n/gm),
+ (qne = new Jd()),
+ (PR = class extends _c {
+ static {
+ o(this, 'TerminalRegExpVisitor');
+ }
+ constructor() {
+ super(...arguments), (this.isStarting = !0), (this.endRegexpStack = []), (this.multiline = !1);
+ }
+ get endRegex() {
+ return this.endRegexpStack.join('');
+ }
+ reset(e) {
+ (this.multiline = !1),
+ (this.regex = e),
+ (this.startRegexp = ''),
+ (this.isStarting = !0),
+ (this.endRegexpStack = []);
+ }
+ visitGroup(e) {
+ e.quantifier && ((this.isStarting = !1), (this.endRegexpStack = []));
+ }
+ visitCharacter(e) {
+ let r = String.fromCharCode(e.value);
+ if (
+ (!this.multiline &&
+ r ===
+ `
+` &&
+ (this.multiline = !0),
+ e.quantifier)
+ )
+ (this.isStarting = !1), (this.endRegexpStack = []);
+ else {
+ let n = t0(r);
+ this.endRegexpStack.push(n), this.isStarting && (this.startRegexp += n);
+ }
+ }
+ visitSet(e) {
+ if (!this.multiline) {
+ let r = this.regex.substring(e.loc.begin, e.loc.end),
+ n = new RegExp(r);
+ this.multiline = !!`
+`.match(n);
+ }
+ if (e.quantifier) (this.isStarting = !1), (this.endRegexpStack = []);
+ else {
+ let r = this.regex.substring(e.loc.begin, e.loc.end);
+ this.endRegexpStack.push(r), this.isStarting && (this.startRegexp += r);
+ }
+ }
+ visitChildren(e) {
+ (e.type === 'Group' && e.quantifier) || super.visitChildren(e);
+ }
+ }),
+ (e0 = new PR());
+ o(OMe, 'getTerminalParts');
+ o(FR, 'isMultilineComment');
+ o(_T, 'isWhitespace');
+ o(t0, 'escapeRegExp');
+ o(zR, 'getCaseInsensitivePattern');
+ o(GR, 'partialMatches');
+ o(Xne, 'partialRegExp');
+ });
+ var RT = {};
+ hr(RT, {
+ findAssignment: () => jR,
+ findNameAssignment: () => DT,
+ findNodeForKeyword: () => qR,
+ findNodeForProperty: () => Zv,
+ findNodesForKeyword: () => PMe,
+ findNodesForKeywordInternal: () => XR,
+ findNodesForProperty: () => YR,
+ getActionAtElement: () => Jne,
+ getActionType: () => tie,
+ getAllReachableRules: () => Qv,
+ getCrossReferenceTerminal: () => UR,
+ getEntryRule: () => jne,
+ getExplicitRuleType: () => KR,
+ getHiddenRules: () => Kne,
+ getRuleType: () => QR,
+ getTypeName: () => r0,
+ isArrayCardinality: () => FMe,
+ isArrayOperator: () => zMe,
+ isCommentTerminal: () => HR,
+ isDataType: () => GMe,
+ isDataTypeRule: () => Jv,
+ isOptionalCardinality: () => BMe,
+ terminalRegex: () => Hm
+ });
+ function jne(t) {
+ return t.rules.find((e) => Oa(e) && e.entry);
+ }
+ function Kne(t) {
+ return t.rules.filter((e) => Uo(e) && e.hidden);
+ }
+ function Qv(t, e) {
+ let r = new Set(),
+ n = jne(t);
+ if (!n) return new Set(t.rules);
+ let i = [n].concat(Kne(t));
+ for (let s of i) Qne(s, r, e);
+ let a = new Set();
+ for (let s of t.rules) (r.has(s.name) || (Uo(s) && s.hidden)) && a.add(s);
+ return a;
+ }
+ function Qne(t, e, r) {
+ e.add(t.name),
+ Ac(t).forEach((n) => {
+ if (Ml(n) || (r && TT(n))) {
+ let i = n.rule.ref;
+ i && !e.has(i.name) && Qne(i, e, r);
+ }
+ });
+ }
+ function UR(t) {
+ if (t.terminal) return t.terminal;
+ if (t.type.ref) {
+ let e = DT(t.type.ref);
+ return e?.terminal;
+ }
+ }
+ function HR(t) {
+ return t.hidden && !Hm(t).test(' ');
+ }
+ function YR(t, e) {
+ return !t || !e ? [] : WR(t, e, t.astNode, !0);
+ }
+ function Zv(t, e, r) {
+ if (!t || !e) return;
+ let n = WR(t, e, t.astNode, !0);
+ if (n.length !== 0) return r !== void 0 ? (r = Math.max(0, Math.min(r, n.length - 1))) : (r = 0), n[r];
+ }
+ function WR(t, e, r, n) {
+ if (!n) {
+ let i = Qd(t.grammarSource, Nl);
+ if (i && i.feature === e) return [t];
+ }
+ return co(t) && t.astNode === r ? t.content.flatMap((i) => WR(i, e, r, !1)) : [];
+ }
+ function PMe(t, e) {
+ return t ? XR(t, e, t?.astNode) : [];
+ }
+ function qR(t, e, r) {
+ if (!t) return;
+ let n = XR(t, e, t?.astNode);
+ if (n.length !== 0) return r !== void 0 ? (r = Math.max(0, Math.min(r, n.length - 1))) : (r = 0), n[r];
+ }
+ function XR(t, e, r) {
+ if (t.astNode !== r) return [];
+ if (Ho(t.grammarSource) && t.grammarSource.value === e) return [t];
+ let n = qd(t).iterator(),
+ i,
+ a = [];
+ do
+ if (((i = n.next()), !i.done)) {
+ let s = i.value;
+ s.astNode === r ? Ho(s.grammarSource) && s.grammarSource.value === e && a.push(s) : n.prune();
+ }
+ while (!i.done);
+ return a;
+ }
+ function jR(t) {
+ var e;
+ let r = t.astNode;
+ for (; r === ((e = t.container) === null || e === void 0 ? void 0 : e.astNode); ) {
+ let n = Qd(t.grammarSource, Nl);
+ if (n) return n;
+ t = t.container;
+ }
+ }
+ function DT(t) {
+ let e = t;
+ return (
+ vT(e) &&
+ (Iu(e.$container)
+ ? (e = e.$container.$container)
+ : Oa(e.$container)
+ ? (e = e.$container)
+ : tf(e.$container)),
+ Zne(t, e, new Map())
+ );
+ }
+ function Zne(t, e, r) {
+ var n;
+ function i(a, s) {
+ let l;
+ return Qd(a, Nl) || (l = Zne(s, s, r)), r.set(t, l), l;
+ }
+ if ((o(i, 'go'), r.has(t))) return r.get(t);
+ r.set(t, void 0);
+ for (let a of Ac(e)) {
+ if (Nl(a) && a.feature.toLowerCase() === 'name') return r.set(t, a), a;
+ if (Ml(a) && Oa(a.rule.ref)) return i(a, a.rule.ref);
+ if (bT(a) && !((n = a.typeRef) === null || n === void 0) && n.ref) return i(a, a.typeRef.ref);
+ }
+ }
+ function Jne(t) {
+ let e = t.$container;
+ if (rf(e)) {
+ let r = e.elements,
+ n = r.indexOf(t);
+ for (let i = n - 1; i >= 0; i--) {
+ let a = r[i];
+ if (Iu(a)) return a;
+ {
+ let s = Ac(r[i]).find(Iu);
+ if (s) return s;
+ }
+ }
+ }
+ if (Uv(e)) return Jne(e);
+ }
+ function BMe(t, e) {
+ return t === '?' || t === '*' || (rf(e) && !!e.guardCondition);
+ }
+ function FMe(t) {
+ return t === '*' || t === '+';
+ }
+ function zMe(t) {
+ return t === '+=';
+ }
+ function Jv(t) {
+ return eie(t, new Set());
+ }
+ function eie(t, e) {
+ if (e.has(t)) return !0;
+ e.add(t);
+ for (let r of Ac(t))
+ if (Ml(r)) {
+ if (!r.rule.ref || (Oa(r.rule.ref) && !eie(r.rule.ref, e))) return !1;
+ } else {
+ if (Nl(r)) return !1;
+ if (Iu(r)) return !1;
+ }
+ return !!t.definition;
+ }
+ function GMe(t) {
+ return VR(t.type, new Set());
+ }
+ function VR(t, e) {
+ if (e.has(t)) return !0;
+ if ((e.add(t), ID(t))) return !1;
+ if (ZD(t)) return !1;
+ if (iR(t)) return t.types.every((r) => VR(r, e));
+ if (bT(t)) {
+ if (t.primitiveType !== void 0) return !0;
+ if (t.stringType !== void 0) return !0;
+ if (t.typeRef !== void 0) {
+ let r = t.typeRef.ref;
+ return Hv(r) ? VR(r.type, e) : !1;
+ } else return !1;
+ } else return !1;
+ }
+ function KR(t) {
+ if (t.inferredType) return t.inferredType.name;
+ if (t.dataType) return t.dataType;
+ if (t.returnType) {
+ let e = t.returnType.ref;
+ if (e) {
+ if (Oa(e)) return e.name;
+ if (xT(e) || Hv(e)) return e.name;
+ }
+ }
+ }
+ function r0(t) {
+ var e;
+ if (Oa(t)) return Jv(t) ? t.name : (e = KR(t)) !== null && e !== void 0 ? e : t.name;
+ if (xT(t) || Hv(t) || JD(t)) return t.name;
+ if (Iu(t)) {
+ let r = tie(t);
+ if (r) return r;
+ } else if (vT(t)) return t.name;
+ throw new Error('Cannot get name of Unknown Type');
+ }
+ function tie(t) {
+ var e;
+ if (t.inferredType) return t.inferredType.name;
+ if (!((e = t.type) === null || e === void 0) && e.ref) return r0(t.type.ref);
+ }
+ function QR(t) {
+ var e, r, n;
+ return Uo(t)
+ ? (r = (e = t.type) === null || e === void 0 ? void 0 : e.name) !== null && r !== void 0
+ ? r
+ : 'string'
+ : Jv(t)
+ ? t.name
+ : (n = KR(t)) !== null && n !== void 0
+ ? n
+ : t.name;
+ }
+ function Hm(t) {
+ let e = { s: !1, i: !1, u: !1 },
+ r = Ym(t.definition, e),
+ n = Object.entries(e)
+ .filter(([, i]) => i)
+ .map(([i]) => i)
+ .join('');
+ return new RegExp(r, n);
+ }
+ function Ym(t, e) {
+ if (wR(t)) return $Me(t);
+ if (kR(t)) return VMe(t);
+ if (cR(t)) return YMe(t);
+ if (TT(t)) {
+ let r = t.rule.ref;
+ if (!r) throw new Error('Missing rule reference.');
+ return Ou(Ym(r.definition), {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead
+ });
+ } else {
+ if (gR(t)) return HMe(t);
+ if (AR(t)) return UMe(t);
+ if (vR(t)) {
+ let r = t.regex.lastIndexOf('/'),
+ n = t.regex.substring(1, r),
+ i = t.regex.substring(r + 1);
+ return (
+ e && ((e.i = i.includes('i')), (e.s = i.includes('s')), (e.u = i.includes('u'))),
+ Ou(n, {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead,
+ wrap: !1
+ })
+ );
+ } else {
+ if (LR(t)) return Ou(ZR, { cardinality: t.cardinality, lookahead: t.lookahead });
+ throw new Error(`Invalid terminal element: ${t?.$type}`);
+ }
+ }
+ }
+ function $Me(t) {
+ return Ou(t.elements.map((e) => Ym(e)).join('|'), {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead
+ });
+ }
+ function VMe(t) {
+ return Ou(t.elements.map((e) => Ym(e)).join(''), {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead
+ });
+ }
+ function UMe(t) {
+ return Ou(`${ZR}*?${Ym(t.terminal)}`, {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead
+ });
+ }
+ function HMe(t) {
+ return Ou(`(?!${Ym(t.terminal)})${ZR}*?`, {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead
+ });
+ }
+ function YMe(t) {
+ return t.right
+ ? Ou(`[${$R(t.left)}-${$R(t.right)}]`, {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead,
+ wrap: !1
+ })
+ : Ou($R(t.left), {
+ cardinality: t.cardinality,
+ lookahead: t.lookahead,
+ wrap: !1
+ });
+ }
+ function $R(t) {
+ return t0(t.value);
+ }
+ function Ou(t, e) {
+ var r;
+ return (
+ (e.wrap !== !1 || e.lookahead) && (t = `(${(r = e.lookahead) !== null && r !== void 0 ? r : ''}${t})`),
+ e.cardinality ? `${t}${e.cardinality}` : t
+ );
+ }
+ var ZR,
+ Il = R(() => {
+ 'use strict';
+ pT();
+ Sc();
+ Vo();
+ es();
+ Rl();
+ Um();
+ o(jne, 'getEntryRule');
+ o(Kne, 'getHiddenRules');
+ o(Qv, 'getAllReachableRules');
+ o(Qne, 'ruleDfs');
+ o(UR, 'getCrossReferenceTerminal');
+ o(HR, 'isCommentTerminal');
+ o(YR, 'findNodesForProperty');
+ o(Zv, 'findNodeForProperty');
+ o(WR, 'findNodesForPropertyInternal');
+ o(PMe, 'findNodesForKeyword');
+ o(qR, 'findNodeForKeyword');
+ o(XR, 'findNodesForKeywordInternal');
+ o(jR, 'findAssignment');
+ o(DT, 'findNameAssignment');
+ o(Zne, 'findNameAssignmentInternal');
+ o(Jne, 'getActionAtElement');
+ o(BMe, 'isOptionalCardinality');
+ o(FMe, 'isArrayCardinality');
+ o(zMe, 'isArrayOperator');
+ o(Jv, 'isDataTypeRule');
+ o(eie, 'isDataTypeRuleInternal');
+ o(GMe, 'isDataType');
+ o(VR, 'isDataTypeInternal');
+ o(KR, 'getExplicitRuleType');
+ o(r0, 'getTypeName');
+ o(tie, 'getActionType');
+ o(QR, 'getRuleType');
+ o(Hm, 'terminalRegex');
+ ZR = /[\s\S]/.source;
+ o(Ym, 'abstractElementToRegex');
+ o($Me, 'terminalAlternativesToRegex');
+ o(VMe, 'terminalGroupToRegex');
+ o(UMe, 'untilTokenToRegex');
+ o(HMe, 'negateTokenToRegex');
+ o(YMe, 'characterRangeToRegex');
+ o($R, 'keywordToRegex');
+ o(Ou, 'withCardinality');
+ });
+ function JR(t) {
+ let e = [],
+ r = t.Grammar;
+ for (let n of r.rules) Uo(n) && HR(n) && FR(Hm(n)) && e.push(n.name);
+ return { multilineCommentRules: e, nameRegexp: fT };
+ }
+ var eN = R(() => {
+ 'use strict';
+ Rl();
+ Il();
+ Um();
+ Sc();
+ o(JR, 'createGrammarConfig');
+ });
+ var tN = R(() => {
+ 'use strict';
+ });
+ function Wm(t) {
+ console && console.error && console.error(`Error: ${t}`);
+ }
+ function e2(t) {
+ console && console.warn && console.warn(`Warning: ${t}`);
+ }
+ var rie = R(() => {
+ 'use strict';
+ o(Wm, 'PRINT_ERROR');
+ o(e2, 'PRINT_WARNING');
+ });
+ function t2(t) {
+ let e = new Date().getTime(),
+ r = t();
+ return { time: new Date().getTime() - e, value: r };
+ }
+ var nie = R(() => {
+ 'use strict';
+ o(t2, 'timer');
+ });
+ function r2(t) {
+ function e() {}
+ o(e, 'FakeConstructor'), (e.prototype = t);
+ let r = new e();
+ function n() {
+ return typeof r.bar;
+ }
+ return o(n, 'fakeAccess'), n(), n(), t;
+ (0, eval)(t);
+ }
+ var iie = R(() => {
+ 'use strict';
+ o(r2, 'toFastProperties');
+ });
+ var qm = R(() => {
+ 'use strict';
+ rie();
+ nie();
+ iie();
+ });
+ function WMe(t) {
+ return qMe(t) ? t.LABEL : t.name;
+ }
+ function qMe(t) {
+ return di(t.LABEL) && t.LABEL !== '';
+ }
+ function NT(t) {
+ return qe(t, Xm);
+ }
+ function Xm(t) {
+ function e(r) {
+ return qe(r, Xm);
+ }
+ if ((o(e, 'convertDefinition'), t instanceof Zr)) {
+ let r = { type: 'NonTerminal', name: t.nonTerminalName, idx: t.idx };
+ return di(t.label) && (r.label = t.label), r;
+ } else {
+ if (t instanceof Sn) return { type: 'Alternative', definition: e(t.definition) };
+ if (t instanceof Jr) return { type: 'Option', idx: t.idx, definition: e(t.definition) };
+ if (t instanceof An)
+ return {
+ type: 'RepetitionMandatory',
+ idx: t.idx,
+ definition: e(t.definition)
+ };
+ if (t instanceof _n)
+ return {
+ type: 'RepetitionMandatoryWithSeparator',
+ idx: t.idx,
+ separator: Xm(new fr({ terminalType: t.separator })),
+ definition: e(t.definition)
+ };
+ if (t instanceof mn)
+ return {
+ type: 'RepetitionWithSeparator',
+ idx: t.idx,
+ separator: Xm(new fr({ terminalType: t.separator })),
+ definition: e(t.definition)
+ };
+ if (t instanceof br) return { type: 'Repetition', idx: t.idx, definition: e(t.definition) };
+ if (t instanceof gn) return { type: 'Alternation', idx: t.idx, definition: e(t.definition) };
+ if (t instanceof fr) {
+ let r = {
+ type: 'Terminal',
+ name: t.terminalType.name,
+ label: WMe(t.terminalType),
+ idx: t.idx
+ };
+ di(t.label) && (r.terminalLabel = t.label);
+ let n = t.terminalType.PATTERN;
+ return t.terminalType.PATTERN && (r.pattern = zo(n) ? n.source : n), r;
+ } else {
+ if (t instanceof ts)
+ return {
+ type: 'Rule',
+ name: t.name,
+ orgText: t.orgText,
+ definition: e(t.definition)
+ };
+ throw Error('non exhaustive match');
+ }
+ }
+ }
+ var ho,
+ Zr,
+ ts,
+ Sn,
+ Jr,
+ An,
+ _n,
+ br,
+ mn,
+ gn,
+ fr,
+ MT = R(() => {
+ 'use strict';
+ Pt();
+ o(WMe, 'tokenLabel');
+ o(qMe, 'hasTokenLabel');
+ (ho = class {
+ static {
+ o(this, 'AbstractProduction');
+ }
+ get definition() {
+ return this._definition;
+ }
+ set definition(e) {
+ this._definition = e;
+ }
+ constructor(e) {
+ this._definition = e;
+ }
+ accept(e) {
+ e.visit(this),
+ Ee(this.definition, (r) => {
+ r.accept(e);
+ });
+ }
+ }),
+ (Zr = class extends ho {
+ static {
+ o(this, 'NonTerminal');
+ }
+ constructor(e) {
+ super([]),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ set definition(e) {}
+ get definition() {
+ return this.referencedRule !== void 0 ? this.referencedRule.definition : [];
+ }
+ accept(e) {
+ e.visit(this);
+ }
+ }),
+ (ts = class extends ho {
+ static {
+ o(this, 'Rule');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.orgText = ''),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (Sn = class extends ho {
+ static {
+ o(this, 'Alternative');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.ignoreAmbiguities = !1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (Jr = class extends ho {
+ static {
+ o(this, 'Option');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (An = class extends ho {
+ static {
+ o(this, 'RepetitionMandatory');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (_n = class extends ho {
+ static {
+ o(this, 'RepetitionMandatoryWithSeparator');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (br = class extends ho {
+ static {
+ o(this, 'Repetition');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (mn = class extends ho {
+ static {
+ o(this, 'RepetitionWithSeparator');
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (gn = class extends ho {
+ static {
+ o(this, 'Alternation');
+ }
+ get definition() {
+ return this._definition;
+ }
+ set definition(e) {
+ this._definition = e;
+ }
+ constructor(e) {
+ super(e.definition),
+ (this.idx = 1),
+ (this.ignoreAmbiguities = !1),
+ (this.hasPredicates = !1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ }),
+ (fr = class {
+ static {
+ o(this, 'Terminal');
+ }
+ constructor(e) {
+ (this.idx = 1),
+ pa(
+ this,
+ Ls(e, (r) => r !== void 0)
+ );
+ }
+ accept(e) {
+ e.visit(this);
+ }
+ });
+ o(NT, 'serializeGrammar');
+ o(Xm, 'serializeProduction');
+ });
+ var rs,
+ aie = R(() => {
+ 'use strict';
+ MT();
+ rs = class {
+ static {
+ o(this, 'GAstVisitor');
+ }
+ visit(e) {
+ let r = e;
+ switch (r.constructor) {
+ case Zr:
+ return this.visitNonTerminal(r);
+ case Sn:
+ return this.visitAlternative(r);
+ case Jr:
+ return this.visitOption(r);
+ case An:
+ return this.visitRepetitionMandatory(r);
+ case _n:
+ return this.visitRepetitionMandatoryWithSeparator(r);
+ case mn:
+ return this.visitRepetitionWithSeparator(r);
+ case br:
+ return this.visitRepetition(r);
+ case gn:
+ return this.visitAlternation(r);
+ case fr:
+ return this.visitTerminal(r);
+ case ts:
+ return this.visitRule(r);
+ default:
+ throw Error('non exhaustive match');
+ }
+ }
+ visitNonTerminal(e) {}
+ visitAlternative(e) {}
+ visitOption(e) {}
+ visitRepetition(e) {}
+ visitRepetitionMandatory(e) {}
+ visitRepetitionMandatoryWithSeparator(e) {}
+ visitRepetitionWithSeparator(e) {}
+ visitAlternation(e) {}
+ visitTerminal(e) {}
+ visitRule(e) {}
+ };
+ });
+ function rN(t) {
+ return (
+ t instanceof Sn ||
+ t instanceof Jr ||
+ t instanceof br ||
+ t instanceof An ||
+ t instanceof _n ||
+ t instanceof mn ||
+ t instanceof fr ||
+ t instanceof ts
+ );
+ }
+ function n0(t, e = []) {
+ return t instanceof Jr || t instanceof br || t instanceof mn
+ ? !0
+ : t instanceof gn
+ ? Nv(t.definition, (n) => n0(n, e))
+ : t instanceof Zr && Fn(e, t)
+ ? !1
+ : t instanceof ho
+ ? (t instanceof Zr && e.push(t), Ia(t.definition, (n) => n0(n, e)))
+ : !1;
+ }
+ function nN(t) {
+ return t instanceof gn;
+ }
+ function Rs(t) {
+ if (t instanceof Zr) return 'SUBRULE';
+ if (t instanceof Jr) return 'OPTION';
+ if (t instanceof gn) return 'OR';
+ if (t instanceof An) return 'AT_LEAST_ONE';
+ if (t instanceof _n) return 'AT_LEAST_ONE_SEP';
+ if (t instanceof mn) return 'MANY_SEP';
+ if (t instanceof br) return 'MANY';
+ if (t instanceof fr) return 'CONSUME';
+ throw Error('non exhaustive match');
+ }
+ var sie = R(() => {
+ 'use strict';
+ Pt();
+ MT();
+ o(rN, 'isSequenceProd');
+ o(n0, 'isOptionalProd');
+ o(nN, 'isBranchingProd');
+ o(Rs, 'getProductionDslName');
+ });
+ var ns = R(() => {
+ 'use strict';
+ MT();
+ aie();
+ sie();
+ });
+ function oie(t, e, r) {
+ return [
+ new Jr({
+ definition: [new fr({ terminalType: t.separator })].concat(t.definition)
+ })
+ ].concat(e, r);
+ }
+ var Pu,
+ IT = R(() => {
+ 'use strict';
+ Pt();
+ ns();
+ Pu = class {
+ static {
+ o(this, 'RestWalker');
+ }
+ walk(e, r = []) {
+ Ee(e.definition, (n, i) => {
+ let a = fi(e.definition, i + 1);
+ if (n instanceof Zr) this.walkProdRef(n, a, r);
+ else if (n instanceof fr) this.walkTerminal(n, a, r);
+ else if (n instanceof Sn) this.walkFlat(n, a, r);
+ else if (n instanceof Jr) this.walkOption(n, a, r);
+ else if (n instanceof An) this.walkAtLeastOne(n, a, r);
+ else if (n instanceof _n) this.walkAtLeastOneSep(n, a, r);
+ else if (n instanceof mn) this.walkManySep(n, a, r);
+ else if (n instanceof br) this.walkMany(n, a, r);
+ else if (n instanceof gn) this.walkOr(n, a, r);
+ else throw Error('non exhaustive match');
+ });
+ }
+ walkTerminal(e, r, n) {}
+ walkProdRef(e, r, n) {}
+ walkFlat(e, r, n) {
+ let i = r.concat(n);
+ this.walk(e, i);
+ }
+ walkOption(e, r, n) {
+ let i = r.concat(n);
+ this.walk(e, i);
+ }
+ walkAtLeastOne(e, r, n) {
+ let i = [new Jr({ definition: e.definition })].concat(r, n);
+ this.walk(e, i);
+ }
+ walkAtLeastOneSep(e, r, n) {
+ let i = oie(e, r, n);
+ this.walk(e, i);
+ }
+ walkMany(e, r, n) {
+ let i = [new Jr({ definition: e.definition })].concat(r, n);
+ this.walk(e, i);
+ }
+ walkManySep(e, r, n) {
+ let i = oie(e, r, n);
+ this.walk(e, i);
+ }
+ walkOr(e, r, n) {
+ let i = r.concat(n);
+ Ee(e.definition, (a) => {
+ let s = new Sn({ definition: [a] });
+ this.walk(s, i);
+ });
+ }
+ };
+ o(oie, 'restForRepetitionWithSeparator');
+ });
+ function i0(t) {
+ if (t instanceof Zr) return i0(t.referencedRule);
+ if (t instanceof fr) return KMe(t);
+ if (rN(t)) return XMe(t);
+ if (nN(t)) return jMe(t);
+ throw Error('non exhaustive match');
+ }
+ function XMe(t) {
+ let e = [],
+ r = t.definition,
+ n = 0,
+ i = r.length > n,
+ a,
+ s = !0;
+ for (; i && s; ) (a = r[n]), (s = n0(a)), (e = e.concat(i0(a))), (n = n + 1), (i = r.length > n);
+ return Pm(e);
+ }
+ function jMe(t) {
+ let e = qe(t.definition, (r) => i0(r));
+ return Pm(Gr(e));
+ }
+ function KMe(t) {
+ return [t.terminalType];
+ }
+ var iN = R(() => {
+ 'use strict';
+ Pt();
+ ns();
+ o(i0, 'first');
+ o(XMe, 'firstForSequence');
+ o(jMe, 'firstForBranching');
+ o(KMe, 'firstForTerminal');
+ });
+ var OT,
+ aN = R(() => {
+ 'use strict';
+ OT = '_~IN~_';
+ });
+ function lie(t) {
+ let e = {};
+ return (
+ Ee(t, (r) => {
+ let n = new sN(r).startWalking();
+ pa(e, n);
+ }),
+ e
+ );
+ }
+ function QMe(t, e) {
+ return t.name + e + OT;
+ }
+ var sN,
+ cie = R(() => {
+ 'use strict';
+ IT();
+ iN();
+ Pt();
+ aN();
+ ns();
+ sN = class extends Pu {
+ static {
+ o(this, 'ResyncFollowsWalker');
+ }
+ constructor(e) {
+ super(), (this.topProd = e), (this.follows = {});
+ }
+ startWalking() {
+ return this.walk(this.topProd), this.follows;
+ }
+ walkTerminal(e, r, n) {}
+ walkProdRef(e, r, n) {
+ let i = QMe(e.referencedRule, e.idx) + this.topProd.name,
+ a = r.concat(n),
+ s = new Sn({ definition: a }),
+ l = i0(s);
+ this.follows[i] = l;
+ }
+ };
+ o(lie, 'computeAllProdsFollows');
+ o(QMe, 'buildBetweenProdsFollowPrefix');
+ });
+ function jm(t) {
+ let e = t.toString();
+ if (PT.hasOwnProperty(e)) return PT[e];
+ {
+ let r = ZMe.pattern(e);
+ return (PT[e] = r), r;
+ }
+ }
+ function uie() {
+ PT = {};
+ }
+ var PT,
+ ZMe,
+ BT = R(() => {
+ 'use strict';
+ Kv();
+ (PT = {}), (ZMe = new Jd());
+ o(jm, 'getRegExpAst');
+ o(uie, 'clearRegExpParserCache');
+ });
+ function die(t, e = !1) {
+ try {
+ let r = jm(t);
+ return oN(r.value, {}, r.flags.ignoreCase);
+ } catch (r) {
+ if (r.message === fie)
+ e &&
+ e2(`${n2} Unable to optimize: < ${t.toString()} >
+ Complement Sets cannot be automatically optimized.
+ This will disable the lexer's first char optimizations.
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);
+ else {
+ let n = '';
+ e &&
+ (n = `
+ This will disable the lexer's first char optimizations.
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),
+ Wm(
+ `${n2}
+ Failed parsing: < ${t.toString()} >
+ Using the @chevrotain/regexp-to-ast library
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues` + n
+ );
+ }
+ }
+ return [];
+ }
+ function oN(t, e, r) {
+ switch (t.type) {
+ case 'Disjunction':
+ for (let i = 0; i < t.value.length; i++) oN(t.value[i], e, r);
+ break;
+ case 'Alternative':
+ let n = t.value;
+ for (let i = 0; i < n.length; i++) {
+ let a = n[i];
+ switch (a.type) {
+ case 'EndAnchor':
+ case 'GroupBackReference':
+ case 'Lookahead':
+ case 'NegativeLookahead':
+ case 'StartAnchor':
+ case 'WordBoundary':
+ case 'NonWordBoundary':
+ continue;
+ }
+ let s = a;
+ switch (s.type) {
+ case 'Character':
+ FT(s.value, e, r);
+ break;
+ case 'Set':
+ if (s.complement === !0) throw Error(fie);
+ Ee(s.value, (u) => {
+ if (typeof u == 'number') FT(u, e, r);
+ else {
+ let h = u;
+ if (r === !0) for (let f = h.from; f <= h.to; f++) FT(f, e, r);
+ else {
+ for (let f = h.from; f <= h.to && f < Km; f++) FT(f, e, r);
+ if (h.to >= Km) {
+ let f = h.from >= Km ? h.from : Km,
+ d = h.to,
+ p = Lc(f),
+ m = Lc(d);
+ for (let g = p; g <= m; g++) e[g] = g;
+ }
+ }
+ }
+ });
+ break;
+ case 'Group':
+ oN(s.value, e, r);
+ break;
+ default:
+ throw Error('Non Exhaustive Match');
+ }
+ let l = s.quantifier !== void 0 && s.quantifier.atLeast === 0;
+ if ((s.type === 'Group' && lN(s) === !1) || (s.type !== 'Group' && l === !1)) break;
+ }
+ break;
+ default:
+ throw Error('non exhaustive match!');
+ }
+ return or(e);
+ }
+ function FT(t, e, r) {
+ let n = Lc(t);
+ (e[n] = n), r === !0 && JMe(t, e);
+ }
+ function JMe(t, e) {
+ let r = String.fromCharCode(t),
+ n = r.toUpperCase();
+ if (n !== r) {
+ let i = Lc(n.charCodeAt(0));
+ e[i] = i;
+ } else {
+ let i = r.toLowerCase();
+ if (i !== r) {
+ let a = Lc(i.charCodeAt(0));
+ e[a] = a;
+ }
+ }
+ }
+ function hie(t, e) {
+ return Za(t.value, (r) => {
+ if (typeof r == 'number') return Fn(e, r);
+ {
+ let n = r;
+ return Za(e, (i) => n.from <= i && i <= n.to) !== void 0;
+ }
+ });
+ }
+ function lN(t) {
+ let e = t.quantifier;
+ return e && e.atLeast === 0 ? !0 : t.value ? (wt(t.value) ? Ia(t.value, lN) : lN(t.value)) : !1;
+ }
+ function zT(t, e) {
+ if (e instanceof RegExp) {
+ let r = jm(e),
+ n = new cN(t);
+ return n.visit(r), n.found;
+ } else return Za(e, (r) => Fn(t, r.charCodeAt(0))) !== void 0;
+ }
+ var fie,
+ n2,
+ cN,
+ pie = R(() => {
+ 'use strict';
+ Kv();
+ Pt();
+ qm();
+ BT();
+ uN();
+ (fie = 'Complement Sets are not supported for first char optimization'),
+ (n2 = `Unable to use "first char" lexer optimizations:
+`);
+ o(die, 'getOptimizedStartCodesIndices');
+ o(oN, 'firstCharOptimizedIndices');
+ o(FT, 'addOptimizedIdxToResult');
+ o(JMe, 'handleIgnoreCase');
+ o(hie, 'findCode');
+ o(lN, 'isWholeOptional');
+ cN = class extends _c {
+ static {
+ o(this, 'CharCodeFinder');
+ }
+ constructor(e) {
+ super(), (this.targetCharCodes = e), (this.found = !1);
+ }
+ visitChildren(e) {
+ if (this.found !== !0) {
+ switch (e.type) {
+ case 'Lookahead':
+ this.visitLookahead(e);
+ return;
+ case 'NegativeLookahead':
+ this.visitNegativeLookahead(e);
+ return;
+ }
+ super.visitChildren(e);
+ }
+ }
+ visitCharacter(e) {
+ Fn(this.targetCharCodes, e.value) && (this.found = !0);
+ }
+ visitSet(e) {
+ e.complement
+ ? hie(e, this.targetCharCodes) === void 0 && (this.found = !0)
+ : hie(e, this.targetCharCodes) !== void 0 && (this.found = !0);
+ }
+ };
+ o(zT, 'canMatchCharCode');
+ });
+ function yie(t, e) {
+ e = Xh(e, {
+ useSticky: fN,
+ debug: !1,
+ safeMode: !1,
+ positionTracking: 'full',
+ lineTerminatorCharacters: [
+ '\r',
+ `
+`
+ ],
+ tracer: o((b, w) => w(), 'tracer')
+ });
+ let r = e.tracer;
+ r('initCharCodeToOptimizedIndexMap', () => {
+ yIe();
+ });
+ let n;
+ r('Reject Lexer.NA', () => {
+ n = Kh(t, (b) => b[a0] === ni.NA);
+ });
+ let i = !1,
+ a;
+ r('Transform Patterns', () => {
+ (i = !1),
+ (a = qe(n, (b) => {
+ let w = b[a0];
+ if (zo(w)) {
+ let S = w.source;
+ return S.length === 1 && S !== '^' && S !== '$' && S !== '.' && !w.ignoreCase
+ ? S
+ : S.length === 2 &&
+ S[0] === '\\' &&
+ !Fn(
+ ['d', 'D', 's', 'S', 't', 'r', 'n', 't', '0', 'c', 'b', 'B', 'f', 'v', 'w', 'W'],
+ S[1]
+ )
+ ? S[1]
+ : e.useSticky
+ ? gie(w)
+ : mie(w);
+ } else {
+ if (wi(w)) return (i = !0), { exec: w };
+ if (typeof w == 'object') return (i = !0), w;
+ if (typeof w == 'string') {
+ if (w.length === 1) return w;
+ {
+ let S = w.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&'),
+ T = new RegExp(S);
+ return e.useSticky ? gie(T) : mie(T);
+ }
+ } else throw Error('non exhaustive match');
+ }
+ }));
+ });
+ let s, l, u, h, f;
+ r('misc mapping', () => {
+ (s = qe(n, (b) => b.tokenTypeIdx)),
+ (l = qe(n, (b) => {
+ let w = b.GROUP;
+ if (w !== ni.SKIPPED) {
+ if (di(w)) return w;
+ if (er(w)) return !1;
+ throw Error('non exhaustive match');
+ }
+ })),
+ (u = qe(n, (b) => {
+ let w = b.LONGER_ALT;
+ if (w) return wt(w) ? qe(w, (T) => Yw(n, T)) : [Yw(n, w)];
+ })),
+ (h = qe(n, (b) => b.PUSH_MODE)),
+ (f = qe(n, (b) => Xe(b, 'POP_MODE')));
+ });
+ let d;
+ r('Line Terminator Handling', () => {
+ let b = Cie(e.lineTerminatorCharacters);
+ (d = qe(n, (w) => !1)),
+ e.positionTracking !== 'onlyOffset' &&
+ (d = qe(n, (w) => (Xe(w, 'LINE_BREAKS') ? !!w.LINE_BREAKS : Eie(w, b) === !1 && zT(b, w.PATTERN))));
+ });
+ let p, m, g, y;
+ r('Misc Mapping #2', () => {
+ (p = qe(n, Tie)),
+ (m = qe(a, mIe)),
+ (g = Vr(
+ n,
+ (b, w) => {
+ let S = w.GROUP;
+ return di(S) && S !== ni.SKIPPED && (b[S] = []), b;
+ },
+ {}
+ )),
+ (y = qe(a, (b, w) => ({
+ pattern: a[w],
+ longerAlt: u[w],
+ canLineTerminator: d[w],
+ isCustom: p[w],
+ short: m[w],
+ group: l[w],
+ push: h[w],
+ pop: f[w],
+ tokenTypeIdx: s[w],
+ tokenType: n[w]
+ })));
+ });
+ let v = !0,
+ x = [];
+ return (
+ e.safeMode ||
+ r('First Char Optimization', () => {
+ x = Vr(
+ n,
+ (b, w, S) => {
+ if (typeof w.PATTERN == 'string') {
+ let T = w.PATTERN.charCodeAt(0),
+ E = Lc(T);
+ hN(b, E, y[S]);
+ } else if (wt(w.START_CHARS_HINT)) {
+ let T;
+ Ee(w.START_CHARS_HINT, (E) => {
+ let _ = typeof E == 'string' ? E.charCodeAt(0) : E,
+ A = Lc(_);
+ T !== A && ((T = A), hN(b, A, y[S]));
+ });
+ } else if (zo(w.PATTERN))
+ if (w.PATTERN.unicode)
+ (v = !1),
+ e.ensureOptimizations &&
+ Wm(`${n2} Unable to analyze < ${w.PATTERN.toString()} > pattern.
+ The regexp unicode flag is not currently supported by the regexp-to-ast library.
+ This will disable the lexer's first char optimizations.
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);
+ else {
+ let T = die(w.PATTERN, e.ensureOptimizations);
+ Qt(T) && (v = !1),
+ Ee(T, (E) => {
+ hN(b, E, y[S]);
+ });
+ }
+ else
+ e.ensureOptimizations &&
+ Wm(`${n2} TokenType: <${w.name}> is using a custom token pattern without providing parameter.
+ This will disable the lexer's first char optimizations.
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),
+ (v = !1);
+ return b;
+ },
+ []
+ );
+ }),
+ {
+ emptyGroups: g,
+ patternIdxToConfig: y,
+ charCodeToPatternIdxToConfig: x,
+ hasCustom: i,
+ canBeOptimized: v
+ }
+ );
+ }
+ function vie(t, e) {
+ let r = [],
+ n = tIe(t);
+ r = r.concat(n.errors);
+ let i = rIe(n.valid),
+ a = i.valid;
+ return (
+ (r = r.concat(i.errors)),
+ (r = r.concat(eIe(a))),
+ (r = r.concat(uIe(a))),
+ (r = r.concat(hIe(a, e))),
+ (r = r.concat(fIe(a))),
+ r
+ );
+ }
+ function eIe(t) {
+ let e = [],
+ r = $r(t, (n) => zo(n[a0]));
+ return (
+ (e = e.concat(iIe(r))),
+ (e = e.concat(oIe(r))),
+ (e = e.concat(lIe(r))),
+ (e = e.concat(cIe(r))),
+ (e = e.concat(aIe(r))),
+ e
+ );
+ }
+ function tIe(t) {
+ let e = $r(t, (i) => !Xe(i, a0)),
+ r = qe(e, (i) => ({
+ message: 'Token Type: ->' + i.name + "<- missing static 'PATTERN' property",
+ type: Gn.MISSING_PATTERN,
+ tokenTypes: [i]
+ })),
+ n = jh(t, e);
+ return { errors: r, valid: n };
+ }
+ function rIe(t) {
+ let e = $r(t, (i) => {
+ let a = i[a0];
+ return !zo(a) && !wi(a) && !Xe(a, 'exec') && !di(a);
+ }),
+ r = qe(e, (i) => ({
+ message:
+ 'Token Type: ->' +
+ i.name +
+ "<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",
+ type: Gn.INVALID_PATTERN,
+ tokenTypes: [i]
+ })),
+ n = jh(t, e);
+ return { errors: r, valid: n };
+ }
+ function iIe(t) {
+ class e extends _c {
+ static {
+ o(this, 'EndAnchorFinder');
+ }
+ constructor() {
+ super(...arguments), (this.found = !1);
+ }
+ visitEndAnchor(a) {
+ this.found = !0;
+ }
+ }
+ let r = $r(t, (i) => {
+ let a = i.PATTERN;
+ try {
+ let s = jm(a),
+ l = new e();
+ return l.visit(s), l.found;
+ } catch {
+ return nIe.test(a.source);
+ }
+ });
+ return qe(r, (i) => ({
+ message:
+ `Unexpected RegExp Anchor Error:
+ Token Type: ->` +
+ i.name +
+ `<- static 'PATTERN' cannot contain end of input anchor '$'
+ See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,
+ type: Gn.EOI_ANCHOR_FOUND,
+ tokenTypes: [i]
+ }));
+ }
+ function aIe(t) {
+ let e = $r(t, (n) => n.PATTERN.test(''));
+ return qe(e, (n) => ({
+ message: 'Token Type: ->' + n.name + "<- static 'PATTERN' must not match an empty string",
+ type: Gn.EMPTY_MATCH_PATTERN,
+ tokenTypes: [n]
+ }));
+ }
+ function oIe(t) {
+ class e extends _c {
+ static {
+ o(this, 'StartAnchorFinder');
+ }
+ constructor() {
+ super(...arguments), (this.found = !1);
+ }
+ visitStartAnchor(a) {
+ this.found = !0;
+ }
+ }
+ let r = $r(t, (i) => {
+ let a = i.PATTERN;
+ try {
+ let s = jm(a),
+ l = new e();
+ return l.visit(s), l.found;
+ } catch {
+ return sIe.test(a.source);
+ }
+ });
+ return qe(r, (i) => ({
+ message:
+ `Unexpected RegExp Anchor Error:
+ Token Type: ->` +
+ i.name +
+ `<- static 'PATTERN' cannot contain start of input anchor '^'
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,
+ type: Gn.SOI_ANCHOR_FOUND,
+ tokenTypes: [i]
+ }));
+ }
+ function lIe(t) {
+ let e = $r(t, (n) => {
+ let i = n[a0];
+ return i instanceof RegExp && (i.multiline || i.global);
+ });
+ return qe(e, (n) => ({
+ message: 'Token Type: ->' + n.name + "<- static 'PATTERN' may NOT contain global('g') or multiline('m')",
+ type: Gn.UNSUPPORTED_FLAGS_FOUND,
+ tokenTypes: [n]
+ }));
+ }
+ function cIe(t) {
+ let e = [],
+ r = qe(t, (a) =>
+ Vr(
+ t,
+ (s, l) => (
+ a.PATTERN.source === l.PATTERN.source &&
+ !Fn(e, l) &&
+ l.PATTERN !== ni.NA &&
+ (e.push(l), s.push(l)),
+ s
+ ),
+ []
+ )
+ );
+ r = wc(r);
+ let n = $r(r, (a) => a.length > 1);
+ return qe(n, (a) => {
+ let s = qe(a, (u) => u.name);
+ return {
+ message: `The same RegExp pattern ->${
+ na(a).PATTERN
+ }<-has been used in all of the following Token Types: ${s.join(', ')} <-`,
+ type: Gn.DUPLICATE_PATTERNS_FOUND,
+ tokenTypes: a
+ };
+ });
+ }
+ function uIe(t) {
+ let e = $r(t, (n) => {
+ if (!Xe(n, 'GROUP')) return !1;
+ let i = n.GROUP;
+ return i !== ni.SKIPPED && i !== ni.NA && !di(i);
+ });
+ return qe(e, (n) => ({
+ message: 'Token Type: ->' + n.name + "<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",
+ type: Gn.INVALID_GROUP_TYPE_FOUND,
+ tokenTypes: [n]
+ }));
+ }
+ function hIe(t, e) {
+ let r = $r(t, (i) => i.PUSH_MODE !== void 0 && !Fn(e, i.PUSH_MODE));
+ return qe(r, (i) => ({
+ message: `Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,
+ type: Gn.PUSH_MODE_DOES_NOT_EXIST,
+ tokenTypes: [i]
+ }));
+ }
+ function fIe(t) {
+ let e = [],
+ r = Vr(
+ t,
+ (n, i, a) => {
+ let s = i.PATTERN;
+ return (
+ s === ni.NA ||
+ (di(s)
+ ? n.push({ str: s, idx: a, tokenType: i })
+ : zo(s) && pIe(s) && n.push({ str: s.source, idx: a, tokenType: i })),
+ n
+ );
+ },
+ []
+ );
+ return (
+ Ee(t, (n, i) => {
+ Ee(r, ({ str: a, idx: s, tokenType: l }) => {
+ if (i < s && dIe(a, n.PATTERN)) {
+ let u = `Token: ->${l.name}<- can never be matched.
+Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
+See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;
+ e.push({
+ message: u,
+ type: Gn.UNREACHABLE_PATTERN,
+ tokenTypes: [n, l]
+ });
+ }
+ });
+ }),
+ e
+ );
+ }
+ function dIe(t, e) {
+ if (zo(e)) {
+ let r = e.exec(t);
+ return r !== null && r.index === 0;
+ } else {
+ if (wi(e)) return e(t, 0, [], {});
+ if (Xe(e, 'exec')) return e.exec(t, 0, [], {});
+ if (typeof e == 'string') return e === t;
+ throw Error('non exhaustive match');
+ }
+ }
+ function pIe(t) {
+ return (
+ Za(
+ ['.', '\\', '[', ']', '|', '^', '$', '(', ')', '?', '*', '+', '{'],
+ (r) => t.source.indexOf(r) !== -1
+ ) === void 0
+ );
+ }
+ function mie(t) {
+ let e = t.ignoreCase ? 'i' : '';
+ return new RegExp(`^(?:${t.source})`, e);
+ }
+ function gie(t) {
+ let e = t.ignoreCase ? 'iy' : 'y';
+ return new RegExp(`${t.source}`, e);
+ }
+ function xie(t, e, r) {
+ let n = [];
+ return (
+ Xe(t, Qm) ||
+ n.push({
+ message:
+ 'A MultiMode Lexer cannot be initialized without a <' +
+ Qm +
+ `> property in its definition
+`,
+ type: Gn.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE
+ }),
+ Xe(t, GT) ||
+ n.push({
+ message:
+ 'A MultiMode Lexer cannot be initialized without a <' +
+ GT +
+ `> property in its definition
+`,
+ type: Gn.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY
+ }),
+ Xe(t, GT) &&
+ Xe(t, Qm) &&
+ !Xe(t.modes, t.defaultMode) &&
+ n.push({
+ message: `A MultiMode Lexer cannot be initialized with a ${Qm}: <${t.defaultMode}>which does not exist
+`,
+ type: Gn.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST
+ }),
+ Xe(t, GT) &&
+ Ee(t.modes, (i, a) => {
+ Ee(i, (s, l) => {
+ if (er(s))
+ n.push({
+ message: `A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}>
+`,
+ type: Gn.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED
+ });
+ else if (Xe(s, 'LONGER_ALT')) {
+ let u = wt(s.LONGER_ALT) ? s.LONGER_ALT : [s.LONGER_ALT];
+ Ee(u, (h) => {
+ !er(h) &&
+ !Fn(i, h) &&
+ n.push({
+ message: `A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}>
+`,
+ type: Gn.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE
+ });
+ });
+ }
+ });
+ }),
+ n
+ );
+ }
+ function bie(t, e, r) {
+ let n = [],
+ i = !1,
+ a = wc(Gr(or(t.modes))),
+ s = Kh(a, (u) => u[a0] === ni.NA),
+ l = Cie(r);
+ return (
+ e &&
+ Ee(s, (u) => {
+ let h = Eie(u, l);
+ if (h !== !1) {
+ let d = { message: gIe(u, h), type: h.issue, tokenType: u };
+ n.push(d);
+ } else Xe(u, 'LINE_BREAKS') ? u.LINE_BREAKS === !0 && (i = !0) : zT(l, u.PATTERN) && (i = !0);
+ }),
+ e &&
+ !i &&
+ n.push({
+ message: `Warning: No LINE_BREAKS Found.
+ This Lexer has been defined to track line and column information,
+ But none of the Token Types can be identified as matching a line terminator.
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
+ for details.`,
+ type: Gn.NO_LINE_BREAKS_FLAGS
+ }),
+ n
+ );
+ }
+ function wie(t) {
+ let e = {},
+ r = Dr(t);
+ return (
+ Ee(r, (n) => {
+ let i = t[n];
+ if (wt(i)) e[n] = [];
+ else throw Error('non exhaustive match');
+ }),
+ e
+ );
+ }
+ function Tie(t) {
+ let e = t.PATTERN;
+ if (zo(e)) return !1;
+ if (wi(e)) return !0;
+ if (Xe(e, 'exec')) return !0;
+ if (di(e)) return !1;
+ throw Error('non exhaustive match');
+ }
+ function mIe(t) {
+ return di(t) && t.length === 1 ? t.charCodeAt(0) : !1;
+ }
+ function Eie(t, e) {
+ if (Xe(t, 'LINE_BREAKS')) return !1;
+ if (zo(t.PATTERN)) {
+ try {
+ zT(e, t.PATTERN);
+ } catch (r) {
+ return { issue: Gn.IDENTIFY_TERMINATOR, errMsg: r.message };
+ }
+ return !1;
+ } else {
+ if (di(t.PATTERN)) return !1;
+ if (Tie(t)) return { issue: Gn.CUSTOM_LINE_BREAK };
+ throw Error('non exhaustive match');
+ }
+ }
+ function gIe(t, e) {
+ if (e.issue === Gn.IDENTIFY_TERMINATOR)
+ return `Warning: unable to identify line terminator usage in pattern.
+ The problem is in the <${t.name}> Token Type
+ Root cause: ${e.errMsg}.
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;
+ if (e.issue === Gn.CUSTOM_LINE_BREAK)
+ return `Warning: A Custom Token Pattern should specify the option.
+ The problem is in the <${t.name}> Token Type
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;
+ throw Error('non exhaustive match');
+ }
+ function Cie(t) {
+ return qe(t, (r) => (di(r) ? r.charCodeAt(0) : r));
+ }
+ function hN(t, e, r) {
+ t[e] === void 0 ? (t[e] = [r]) : t[e].push(r);
+ }
+ function Lc(t) {
+ return t < Km ? t : $T[t];
+ }
+ function yIe() {
+ if (Qt($T)) {
+ $T = new Array(65536);
+ for (let t = 0; t < 65536; t++) $T[t] = t > 255 ? 255 + ~~(t / 255) : t;
+ }
+ }
+ var a0,
+ Qm,
+ GT,
+ fN,
+ nIe,
+ sIe,
+ kie,
+ Km,
+ $T,
+ uN = R(() => {
+ 'use strict';
+ Kv();
+ i2();
+ Pt();
+ qm();
+ pie();
+ BT();
+ (a0 = 'PATTERN'),
+ (Qm = 'defaultMode'),
+ (GT = 'modes'),
+ (fN = typeof new RegExp('(?:)').sticky == 'boolean');
+ o(yie, 'analyzeTokenTypes');
+ o(vie, 'validatePatterns');
+ o(eIe, 'validateRegExpPattern');
+ o(tIe, 'findMissingPatterns');
+ o(rIe, 'findInvalidPatterns');
+ nIe = /[^\\][$]/;
+ o(iIe, 'findEndOfInputAnchor');
+ o(aIe, 'findEmptyMatchRegExps');
+ sIe = /[^\\[][\^]|^\^/;
+ o(oIe, 'findStartOfInputAnchor');
+ o(lIe, 'findUnsupportedFlags');
+ o(cIe, 'findDuplicatePatterns');
+ o(uIe, 'findInvalidGroupType');
+ o(hIe, 'findModesThatDoNotExist');
+ o(fIe, 'findUnreachablePatterns');
+ o(dIe, 'testTokenType');
+ o(pIe, 'noMetaChar');
+ o(mie, 'addStartOfInput');
+ o(gie, 'addStickyFlag');
+ o(xie, 'performRuntimeChecks');
+ o(bie, 'performWarningRuntimeChecks');
+ o(wie, 'cloneEmptyGroups');
+ o(Tie, 'isCustomPattern');
+ o(mIe, 'isShortPattern');
+ kie = {
+ test: o(function (t) {
+ let e = t.length;
+ for (let r = this.lastIndex; r < e; r++) {
+ let n = t.charCodeAt(r);
+ if (n === 10) return (this.lastIndex = r + 1), !0;
+ if (n === 13)
+ return t.charCodeAt(r + 1) === 10 ? (this.lastIndex = r + 2) : (this.lastIndex = r + 1), !0;
+ }
+ return !1;
+ }, 'test'),
+ lastIndex: 0
+ };
+ o(Eie, 'checkLineBreaksIssues');
+ o(gIe, 'buildLineBreakIssueMessage');
+ o(Cie, 'getCharCodes');
+ o(hN, 'addToMapOfArrays');
+ (Km = 256), ($T = []);
+ o(Lc, 'charCodeToOptimizedIndex');
+ o(yIe, 'initCharCodeToOptimizedIndexMap');
+ });
+ function Bu(t, e) {
+ let r = t.tokenTypeIdx;
+ return r === e.tokenTypeIdx ? !0 : e.isParent === !0 && e.categoryMatchesMap[r] === !0;
+ }
+ function Zm(t, e) {
+ return t.tokenTypeIdx === e.tokenTypeIdx;
+ }
+ function Fu(t) {
+ let e = vIe(t);
+ xIe(e),
+ wIe(e),
+ bIe(e),
+ Ee(e, (r) => {
+ r.isParent = r.categoryMatches.length > 0;
+ });
+ }
+ function vIe(t) {
+ let e = Qr(t),
+ r = t,
+ n = !0;
+ for (; n; ) {
+ r = wc(Gr(qe(r, (a) => a.CATEGORIES)));
+ let i = jh(r, e);
+ (e = e.concat(i)), Qt(i) ? (n = !1) : (r = i);
+ }
+ return e;
+ }
+ function xIe(t) {
+ Ee(t, (e) => {
+ dN(e) || ((_ie[Sie] = e), (e.tokenTypeIdx = Sie++)),
+ Aie(e) && !wt(e.CATEGORIES) && (e.CATEGORIES = [e.CATEGORIES]),
+ Aie(e) || (e.CATEGORIES = []),
+ TIe(e) || (e.categoryMatches = []),
+ kIe(e) || (e.categoryMatchesMap = {});
+ });
+ }
+ function bIe(t) {
+ Ee(t, (e) => {
+ (e.categoryMatches = []),
+ Ee(e.categoryMatchesMap, (r, n) => {
+ e.categoryMatches.push(_ie[n].tokenTypeIdx);
+ });
+ });
+ }
+ function wIe(t) {
+ Ee(t, (e) => {
+ Lie([], e);
+ });
+ }
+ function Lie(t, e) {
+ Ee(t, (r) => {
+ e.categoryMatchesMap[r.tokenTypeIdx] = !0;
+ }),
+ Ee(e.CATEGORIES, (r) => {
+ let n = t.concat(e);
+ Fn(n, r) || Lie(n, r);
+ });
+ }
+ function dN(t) {
+ return Xe(t, 'tokenTypeIdx');
+ }
+ function Aie(t) {
+ return Xe(t, 'CATEGORIES');
+ }
+ function TIe(t) {
+ return Xe(t, 'categoryMatches');
+ }
+ function kIe(t) {
+ return Xe(t, 'categoryMatchesMap');
+ }
+ function Die(t) {
+ return Xe(t, 'tokenTypeIdx');
+ }
+ var Sie,
+ _ie,
+ s0 = R(() => {
+ 'use strict';
+ Pt();
+ o(Bu, 'tokenStructuredMatcher');
+ o(Zm, 'tokenStructuredMatcherNoCategories');
+ (Sie = 1), (_ie = {});
+ o(Fu, 'augmentTokenTypes');
+ o(vIe, 'expandCategories');
+ o(xIe, 'assignTokenDefaultProps');
+ o(bIe, 'assignCategoriesTokensProp');
+ o(wIe, 'assignCategoriesMapProp');
+ o(Lie, 'singleAssignCategoriesToksMap');
+ o(dN, 'hasShortKeyProperty');
+ o(Aie, 'hasCategoriesProperty');
+ o(TIe, 'hasExtendingTokensTypesProperty');
+ o(kIe, 'hasExtendingTokensTypesMapProperty');
+ o(Die, 'isTokenType');
+ });
+ var pN,
+ mN = R(() => {
+ 'use strict';
+ pN = {
+ buildUnableToPopLexerModeMessage(t) {
+ return `Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`;
+ },
+ buildUnexpectedCharactersMessage(t, e, r, n, i) {
+ return `unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`;
+ }
+ };
+ });
+ var Gn,
+ a2,
+ ni,
+ i2 = R(() => {
+ 'use strict';
+ uN();
+ Pt();
+ qm();
+ s0();
+ mN();
+ BT();
+ (function (t) {
+ (t[(t.MISSING_PATTERN = 0)] = 'MISSING_PATTERN'),
+ (t[(t.INVALID_PATTERN = 1)] = 'INVALID_PATTERN'),
+ (t[(t.EOI_ANCHOR_FOUND = 2)] = 'EOI_ANCHOR_FOUND'),
+ (t[(t.UNSUPPORTED_FLAGS_FOUND = 3)] = 'UNSUPPORTED_FLAGS_FOUND'),
+ (t[(t.DUPLICATE_PATTERNS_FOUND = 4)] = 'DUPLICATE_PATTERNS_FOUND'),
+ (t[(t.INVALID_GROUP_TYPE_FOUND = 5)] = 'INVALID_GROUP_TYPE_FOUND'),
+ (t[(t.PUSH_MODE_DOES_NOT_EXIST = 6)] = 'PUSH_MODE_DOES_NOT_EXIST'),
+ (t[(t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE = 7)] = 'MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE'),
+ (t[(t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY = 8)] = 'MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY'),
+ (t[(t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST = 9)] =
+ 'MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST'),
+ (t[(t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED = 10)] =
+ 'LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED'),
+ (t[(t.SOI_ANCHOR_FOUND = 11)] = 'SOI_ANCHOR_FOUND'),
+ (t[(t.EMPTY_MATCH_PATTERN = 12)] = 'EMPTY_MATCH_PATTERN'),
+ (t[(t.NO_LINE_BREAKS_FLAGS = 13)] = 'NO_LINE_BREAKS_FLAGS'),
+ (t[(t.UNREACHABLE_PATTERN = 14)] = 'UNREACHABLE_PATTERN'),
+ (t[(t.IDENTIFY_TERMINATOR = 15)] = 'IDENTIFY_TERMINATOR'),
+ (t[(t.CUSTOM_LINE_BREAK = 16)] = 'CUSTOM_LINE_BREAK'),
+ (t[(t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE = 17)] =
+ 'MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE');
+ })(Gn || (Gn = {}));
+ a2 = {
+ deferDefinitionErrorsHandling: !1,
+ positionTracking: 'full',
+ lineTerminatorsPattern: /\n|\r\n?/g,
+ lineTerminatorCharacters: [
+ `
+`,
+ '\r'
+ ],
+ ensureOptimizations: !1,
+ safeMode: !1,
+ errorMessageProvider: pN,
+ traceInitPerf: !1,
+ skipValidations: !1,
+ recoveryEnabled: !0
+ };
+ Object.freeze(a2);
+ ni = class {
+ static {
+ o(this, 'Lexer');
+ }
+ constructor(e, r = a2) {
+ if (
+ ((this.lexerDefinition = e),
+ (this.lexerDefinitionErrors = []),
+ (this.lexerDefinitionWarning = []),
+ (this.patternIdxToConfig = {}),
+ (this.charCodeToPatternIdxToConfig = {}),
+ (this.modes = []),
+ (this.emptyGroups = {}),
+ (this.trackStartLines = !0),
+ (this.trackEndLines = !0),
+ (this.hasCustom = !1),
+ (this.canModeBeOptimized = {}),
+ (this.TRACE_INIT = (i, a) => {
+ if (this.traceInitPerf === !0) {
+ this.traceInitIndent++;
+ let s = new Array(this.traceInitIndent + 1).join(' ');
+ this.traceInitIndent < this.traceInitMaxIdent && console.log(`${s}--> <${i}>`);
+ let { time: l, value: u } = t2(a),
+ h = l > 10 ? console.warn : console.log;
+ return (
+ this.traceInitIndent < this.traceInitMaxIdent && h(`${s}<-- <${i}> time: ${l}ms`),
+ this.traceInitIndent--,
+ u
+ );
+ } else return a();
+ }),
+ typeof r == 'boolean')
+ )
+ throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
+a boolean 2nd argument is no longer supported`);
+ this.config = pa({}, a2, r);
+ let n = this.config.traceInitPerf;
+ n === !0
+ ? ((this.traceInitMaxIdent = 1 / 0), (this.traceInitPerf = !0))
+ : typeof n == 'number' && ((this.traceInitMaxIdent = n), (this.traceInitPerf = !0)),
+ (this.traceInitIndent = -1),
+ this.TRACE_INIT('Lexer Constructor', () => {
+ let i,
+ a = !0;
+ this.TRACE_INIT('Lexer Config handling', () => {
+ if (this.config.lineTerminatorsPattern === a2.lineTerminatorsPattern)
+ this.config.lineTerminatorsPattern = kie;
+ else if (this.config.lineTerminatorCharacters === a2.lineTerminatorCharacters)
+ throw Error(`Error: Missing property on the Lexer config.
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);
+ if (r.safeMode && r.ensureOptimizations)
+ throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');
+ (this.trackStartLines = /full|onlyStart/i.test(this.config.positionTracking)),
+ (this.trackEndLines = /full/i.test(this.config.positionTracking)),
+ wt(e)
+ ? (i = { modes: { defaultMode: Qr(e) }, defaultMode: Qm })
+ : ((a = !1), (i = Qr(e)));
+ }),
+ this.config.skipValidations === !1 &&
+ (this.TRACE_INIT('performRuntimeChecks', () => {
+ this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat(
+ xie(i, this.trackStartLines, this.config.lineTerminatorCharacters)
+ );
+ }),
+ this.TRACE_INIT('performWarningRuntimeChecks', () => {
+ this.lexerDefinitionWarning = this.lexerDefinitionWarning.concat(
+ bie(i, this.trackStartLines, this.config.lineTerminatorCharacters)
+ );
+ })),
+ (i.modes = i.modes ? i.modes : {}),
+ Ee(i.modes, (l, u) => {
+ i.modes[u] = Kh(l, (h) => er(h));
+ });
+ let s = Dr(i.modes);
+ if (
+ (Ee(i.modes, (l, u) => {
+ this.TRACE_INIT(`Mode: <${u}> processing`, () => {
+ if (
+ (this.modes.push(u),
+ this.config.skipValidations === !1 &&
+ this.TRACE_INIT('validatePatterns', () => {
+ this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat(
+ vie(l, s)
+ );
+ }),
+ Qt(this.lexerDefinitionErrors))
+ ) {
+ Fu(l);
+ let h;
+ this.TRACE_INIT('analyzeTokenTypes', () => {
+ h = yie(l, {
+ lineTerminatorCharacters: this.config.lineTerminatorCharacters,
+ positionTracking: r.positionTracking,
+ ensureOptimizations: r.ensureOptimizations,
+ safeMode: r.safeMode,
+ tracer: this.TRACE_INIT
+ });
+ }),
+ (this.patternIdxToConfig[u] = h.patternIdxToConfig),
+ (this.charCodeToPatternIdxToConfig[u] = h.charCodeToPatternIdxToConfig),
+ (this.emptyGroups = pa({}, this.emptyGroups, h.emptyGroups)),
+ (this.hasCustom = h.hasCustom || this.hasCustom),
+ (this.canModeBeOptimized[u] = h.canBeOptimized);
+ }
+ });
+ }),
+ (this.defaultMode = i.defaultMode),
+ !Qt(this.lexerDefinitionErrors) && !this.config.deferDefinitionErrorsHandling)
+ ) {
+ let u = qe(this.lexerDefinitionErrors, (h) => h.message).join(`-----------------------
+`);
+ throw new Error(
+ `Errors detected in definition of Lexer:
+` + u
+ );
+ }
+ Ee(this.lexerDefinitionWarning, (l) => {
+ e2(l.message);
+ }),
+ this.TRACE_INIT('Choosing sub-methods implementations', () => {
+ if (
+ (fN
+ ? ((this.chopInput = ea), (this.match = this.matchWithTest))
+ : ((this.updateLastIndex = qn), (this.match = this.matchWithExec)),
+ a && (this.handleModes = qn),
+ this.trackStartLines === !1 && (this.computeNewColumn = ea),
+ this.trackEndLines === !1 && (this.updateTokenEndLineColumnLocation = qn),
+ /full/i.test(this.config.positionTracking))
+ )
+ this.createTokenInstance = this.createFullToken;
+ else if (/onlyStart/i.test(this.config.positionTracking))
+ this.createTokenInstance = this.createStartOnlyToken;
+ else if (/onlyOffset/i.test(this.config.positionTracking))
+ this.createTokenInstance = this.createOffsetOnlyToken;
+ else
+ throw Error(
+ `Invalid config option: "${this.config.positionTracking}"`
+ );
+ this.hasCustom
+ ? ((this.addToken = this.addTokenUsingPush),
+ (this.handlePayload = this.handlePayloadWithCustom))
+ : ((this.addToken = this.addTokenUsingMemberAccess),
+ (this.handlePayload = this.handlePayloadNoCustom));
+ }),
+ this.TRACE_INIT('Failed Optimization Warnings', () => {
+ let l = Vr(this.canModeBeOptimized, (u, h, f) => (h === !1 && u.push(f), u), []);
+ if (r.ensureOptimizations && !Qt(l))
+ throw Error(`Lexer Modes: < ${l.join(', ')} > cannot be optimized.
+ Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
+ Or inspect the console log for details on how to resolve these issues.`);
+ }),
+ this.TRACE_INIT('clearRegExpParserCache', () => {
+ uie();
+ }),
+ this.TRACE_INIT('toFastProperties', () => {
+ r2(this);
+ });
+ });
+ }
+ tokenize(e, r = this.defaultMode) {
+ if (!Qt(this.lexerDefinitionErrors)) {
+ let i = qe(this.lexerDefinitionErrors, (a) => a.message).join(`-----------------------
+`);
+ throw new Error(
+ `Unable to Tokenize because Errors detected in definition of Lexer:
+` + i
+ );
+ }
+ return this.tokenizeInternal(e, r);
+ }
+ tokenizeInternal(e, r) {
+ let n,
+ i,
+ a,
+ s,
+ l,
+ u,
+ h,
+ f,
+ d,
+ p,
+ m,
+ g,
+ y,
+ v,
+ x,
+ b,
+ w = e,
+ S = w.length,
+ T = 0,
+ E = 0,
+ _ = this.hasCustom ? 0 : Math.floor(e.length / 10),
+ A = new Array(_),
+ L = [],
+ M = this.trackStartLines ? 1 : void 0,
+ N = this.trackStartLines ? 1 : void 0,
+ k = wie(this.emptyGroups),
+ I = this.trackStartLines,
+ C = this.config.lineTerminatorsPattern,
+ O = 0,
+ D = [],
+ P = [],
+ F = [],
+ B = [];
+ Object.freeze(B);
+ let $;
+ function z() {
+ return D;
+ }
+ o(z, 'getPossiblePatternsSlow');
+ function Y(J) {
+ let Z = Lc(J),
+ H = P[Z];
+ return H === void 0 ? B : H;
+ }
+ o(Y, 'getPossiblePatternsOptimized');
+ let Q = o((J) => {
+ if (F.length === 1 && J.tokenType.PUSH_MODE === void 0) {
+ let Z = this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(J);
+ L.push({
+ offset: J.startOffset,
+ line: J.startLine,
+ column: J.startColumn,
+ length: J.image.length,
+ message: Z
+ });
+ } else {
+ F.pop();
+ let Z = ma(F);
+ (D = this.patternIdxToConfig[Z]),
+ (P = this.charCodeToPatternIdxToConfig[Z]),
+ (O = D.length);
+ let H = this.canModeBeOptimized[Z] && this.config.safeMode === !1;
+ P && H ? ($ = Y) : ($ = z);
+ }
+ }, 'pop_mode');
+ function X(J) {
+ F.push(J),
+ (P = this.charCodeToPatternIdxToConfig[J]),
+ (D = this.patternIdxToConfig[J]),
+ (O = D.length),
+ (O = D.length);
+ let Z = this.canModeBeOptimized[J] && this.config.safeMode === !1;
+ P && Z ? ($ = Y) : ($ = z);
+ }
+ o(X, 'push_mode'), X.call(this, r);
+ let ie,
+ j = this.config.recoveryEnabled;
+ for (; T < S; ) {
+ u = null;
+ let J = w.charCodeAt(T),
+ Z = $(J),
+ H = Z.length;
+ for (n = 0; n < H; n++) {
+ ie = Z[n];
+ let q = ie.pattern;
+ h = null;
+ let K = ie.short;
+ if (
+ (K !== !1
+ ? J === K && (u = q)
+ : ie.isCustom === !0
+ ? ((b = q.exec(w, T, A, k)),
+ b !== null ? ((u = b[0]), b.payload !== void 0 && (h = b.payload)) : (u = null))
+ : (this.updateLastIndex(q, T), (u = this.match(q, e, T))),
+ u !== null)
+ ) {
+ if (((l = ie.longerAlt), l !== void 0)) {
+ let se = l.length;
+ for (a = 0; a < se; a++) {
+ let ce = D[l[a]],
+ ue = ce.pattern;
+ if (
+ ((f = null),
+ ce.isCustom === !0
+ ? ((b = ue.exec(w, T, A, k)),
+ b !== null
+ ? ((s = b[0]), b.payload !== void 0 && (f = b.payload))
+ : (s = null))
+ : (this.updateLastIndex(ue, T), (s = this.match(ue, e, T))),
+ s && s.length > u.length)
+ ) {
+ (u = s), (h = f), (ie = ce);
+ break;
+ }
+ }
+ }
+ break;
+ }
+ }
+ if (u !== null) {
+ if (
+ ((d = u.length),
+ (p = ie.group),
+ p !== void 0 &&
+ ((m = ie.tokenTypeIdx),
+ (g = this.createTokenInstance(u, T, m, ie.tokenType, M, N, d)),
+ this.handlePayload(g, h),
+ p === !1 ? (E = this.addToken(A, E, g)) : k[p].push(g)),
+ (e = this.chopInput(e, d)),
+ (T = T + d),
+ (N = this.computeNewColumn(N, d)),
+ I === !0 && ie.canLineTerminator === !0)
+ ) {
+ let q = 0,
+ K,
+ se;
+ C.lastIndex = 0;
+ do (K = C.test(u)), K === !0 && ((se = C.lastIndex - 1), q++);
+ while (K === !0);
+ q !== 0 &&
+ ((M = M + q),
+ (N = d - se),
+ this.updateTokenEndLineColumnLocation(g, p, se, q, M, N, d));
+ }
+ this.handleModes(ie, Q, X, g);
+ } else {
+ let q = T,
+ K = M,
+ se = N,
+ ce = j === !1;
+ for (; ce === !1 && T < S; )
+ for (e = this.chopInput(e, 1), T++, i = 0; i < O; i++) {
+ let ue = D[i],
+ te = ue.pattern,
+ De = ue.short;
+ if (
+ (De !== !1
+ ? w.charCodeAt(T) === De && (ce = !0)
+ : ue.isCustom === !0
+ ? (ce = te.exec(w, T, A, k) !== null)
+ : (this.updateLastIndex(te, T), (ce = te.exec(e) !== null)),
+ ce === !0)
+ )
+ break;
+ }
+ if (
+ ((y = T - q),
+ (N = this.computeNewColumn(N, y)),
+ (x = this.config.errorMessageProvider.buildUnexpectedCharactersMessage(w, q, y, K, se)),
+ L.push({
+ offset: q,
+ line: K,
+ column: se,
+ length: y,
+ message: x
+ }),
+ j === !1)
+ )
+ break;
+ }
+ }
+ return this.hasCustom || (A.length = E), { tokens: A, groups: k, errors: L };
+ }
+ handleModes(e, r, n, i) {
+ if (e.pop === !0) {
+ let a = e.push;
+ r(i), a !== void 0 && n.call(this, a);
+ } else e.push !== void 0 && n.call(this, e.push);
+ }
+ chopInput(e, r) {
+ return e.substring(r);
+ }
+ updateLastIndex(e, r) {
+ e.lastIndex = r;
+ }
+ updateTokenEndLineColumnLocation(e, r, n, i, a, s, l) {
+ let u, h;
+ r !== void 0 &&
+ ((u = n === l - 1),
+ (h = u ? -1 : 0),
+ (i === 1 && u === !0) || ((e.endLine = a + h), (e.endColumn = s - 1 + -h)));
+ }
+ computeNewColumn(e, r) {
+ return e + r;
+ }
+ createOffsetOnlyToken(e, r, n, i) {
+ return { image: e, startOffset: r, tokenTypeIdx: n, tokenType: i };
+ }
+ createStartOnlyToken(e, r, n, i, a, s) {
+ return {
+ image: e,
+ startOffset: r,
+ startLine: a,
+ startColumn: s,
+ tokenTypeIdx: n,
+ tokenType: i
+ };
+ }
+ createFullToken(e, r, n, i, a, s, l) {
+ return {
+ image: e,
+ startOffset: r,
+ endOffset: r + l - 1,
+ startLine: a,
+ endLine: a,
+ startColumn: s,
+ endColumn: s + l - 1,
+ tokenTypeIdx: n,
+ tokenType: i
+ };
+ }
+ addTokenUsingPush(e, r, n) {
+ return e.push(n), r;
+ }
+ addTokenUsingMemberAccess(e, r, n) {
+ return (e[r] = n), r++, r;
+ }
+ handlePayloadNoCustom(e, r) {}
+ handlePayloadWithCustom(e, r) {
+ r !== null && (e.payload = r);
+ }
+ matchWithTest(e, r, n) {
+ return e.test(r) === !0 ? r.substring(n, e.lastIndex) : null;
+ }
+ matchWithExec(e, r) {
+ let n = e.exec(r);
+ return n !== null ? n[0] : null;
+ }
+ };
+ ni.SKIPPED =
+ 'This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.';
+ ni.NA = /NOT_APPLICABLE/;
+ });
+ function zu(t) {
+ return gN(t) ? t.LABEL : t.name;
+ }
+ function gN(t) {
+ return di(t.LABEL) && t.LABEL !== '';
+ }
+ function VT(t) {
+ return CIe(t);
+ }
+ function CIe(t) {
+ let e = t.pattern,
+ r = {};
+ if (((r.name = t.name), er(e) || (r.PATTERN = e), Xe(t, EIe)))
+ throw `The parent property is no longer supported.
+See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;
+ return (
+ Xe(t, Rie) && (r.CATEGORIES = t[Rie]),
+ Fu([r]),
+ Xe(t, Nie) && (r.LABEL = t[Nie]),
+ Xe(t, Mie) && (r.GROUP = t[Mie]),
+ Xe(t, Oie) && (r.POP_MODE = t[Oie]),
+ Xe(t, Iie) && (r.PUSH_MODE = t[Iie]),
+ Xe(t, Pie) && (r.LONGER_ALT = t[Pie]),
+ Xe(t, Bie) && (r.LINE_BREAKS = t[Bie]),
+ Xe(t, Fie) && (r.START_CHARS_HINT = t[Fie]),
+ r
+ );
+ }
+ function o0(t, e, r, n, i, a, s, l) {
+ return {
+ image: e,
+ startOffset: r,
+ endOffset: n,
+ startLine: i,
+ endLine: a,
+ startColumn: s,
+ endColumn: l,
+ tokenTypeIdx: t.tokenTypeIdx,
+ tokenType: t
+ };
+ }
+ function s2(t, e) {
+ return Bu(t, e);
+ }
+ var EIe,
+ Rie,
+ Nie,
+ Mie,
+ Iie,
+ Oie,
+ Pie,
+ Bie,
+ Fie,
+ fo,
+ l0 = R(() => {
+ 'use strict';
+ Pt();
+ i2();
+ s0();
+ o(zu, 'tokenLabel');
+ o(gN, 'hasTokenLabel');
+ (EIe = 'parent'),
+ (Rie = 'categories'),
+ (Nie = 'label'),
+ (Mie = 'group'),
+ (Iie = 'push_mode'),
+ (Oie = 'pop_mode'),
+ (Pie = 'longer_alt'),
+ (Bie = 'line_breaks'),
+ (Fie = 'start_chars_hint');
+ o(VT, 'createToken');
+ o(CIe, 'createTokenInternal');
+ fo = VT({ name: 'EOF', pattern: ni.NA });
+ Fu([fo]);
+ o(o0, 'createTokenInstance');
+ o(s2, 'tokenMatcher');
+ });
+ var Gu,
+ zie,
+ Ol,
+ Jm = R(() => {
+ 'use strict';
+ l0();
+ Pt();
+ ns();
+ Gu = {
+ buildMismatchTokenMessage({ expected: t, actual: e, previous: r, ruleName: n }) {
+ return `Expecting ${
+ gN(t) ? `--> ${zu(t)} <--` : `token of type --> ${t.name} <--`
+ } but found --> '${e.image}' <--`;
+ },
+ buildNotAllInputParsedMessage({ firstRedundant: t, ruleName: e }) {
+ return 'Redundant input, expecting EOF but found: ' + t.image;
+ },
+ buildNoViableAltMessage({
+ expectedPathsPerAlt: t,
+ actual: e,
+ previous: r,
+ customUserDescription: n,
+ ruleName: i
+ }) {
+ let a = 'Expecting: ',
+ l =
+ `
+but found: '` +
+ na(e).image +
+ "'";
+ if (n) return a + n + l;
+ {
+ let u = Vr(t, (p, m) => p.concat(m), []),
+ h = qe(u, (p) => `[${qe(p, (m) => zu(m)).join(', ')}]`),
+ d = `one of these possible Token sequences:
+${qe(h, (p, m) => ` ${m + 1}. ${p}`).join(`
+`)}`;
+ return a + d + l;
+ }
+ },
+ buildEarlyExitMessage({ expectedIterationPaths: t, actual: e, customUserDescription: r, ruleName: n }) {
+ let i = 'Expecting: ',
+ s =
+ `
+but found: '` +
+ na(e).image +
+ "'";
+ if (r) return i + r + s;
+ {
+ let u = `expecting at least one iteration which starts with one of these possible Token sequences::
+ <${qe(t, (h) => `[${qe(h, (f) => zu(f)).join(',')}]`).join(' ,')}>`;
+ return i + u + s;
+ }
+ }
+ };
+ Object.freeze(Gu);
+ (zie = {
+ buildRuleNotFoundError(t, e) {
+ return (
+ 'Invalid grammar, reference to a rule which is not defined: ->' +
+ e.nonTerminalName +
+ `<-
+inside top level rule: ->` +
+ t.name +
+ '<-'
+ );
+ }
+ }),
+ (Ol = {
+ buildDuplicateFoundError(t, e) {
+ function r(f) {
+ return f instanceof fr ? f.terminalType.name : f instanceof Zr ? f.nonTerminalName : '';
+ }
+ o(r, 'getExtraProductionArgument');
+ let n = t.name,
+ i = na(e),
+ a = i.idx,
+ s = Rs(i),
+ l = r(i),
+ u = a > 0,
+ h = `->${s}${u ? a : ''}<- ${l ? `with argument: ->${l}<-` : ''}
+ appears more than once (${e.length} times) in the top level rule: ->${n}<-.
+ For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
+ `;
+ return (
+ (h = h.replace(/[ \t]+/g, ' ')),
+ (h = h.replace(
+ /\s\s+/g,
+ `
+`
+ )),
+ h
+ );
+ },
+ buildNamespaceConflictError(t) {
+ return `Namespace conflict found in grammar.
+The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
+To resolve this make sure each Terminal and Non-Terminal names are unique
+This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
+and Non-Terminal names start with a lower case letter.`;
+ },
+ buildAlternationPrefixAmbiguityError(t) {
+ let e = qe(t.prefixPath, (i) => zu(i)).join(', '),
+ r = t.alternation.idx === 0 ? '' : t.alternation.idx;
+ return `Ambiguous alternatives: <${t.ambiguityIndices.join(
+ ' ,'
+ )}> due to common lookahead prefix
+in inside <${t.topLevelRule.name}> Rule,
+<${e}> may appears as a prefix path in all these alternatives.
+See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
+For Further details.`;
+ },
+ buildAlternationAmbiguityError(t) {
+ let e = qe(t.prefixPath, (i) => zu(i)).join(', '),
+ r = t.alternation.idx === 0 ? '' : t.alternation.idx,
+ n = `Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(
+ ' ,'
+ )}> in inside <${t.topLevelRule.name}> Rule,
+<${e}> may appears as a prefix path in all these alternatives.
+`;
+ return (
+ (n =
+ n +
+ `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
+For Further details.`),
+ n
+ );
+ },
+ buildEmptyRepetitionError(t) {
+ let e = Rs(t.repetition);
+ return (
+ t.repetition.idx !== 0 && (e += t.repetition.idx),
+ `The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
+This could lead to an infinite loop.`
+ );
+ },
+ buildTokenNameError(t) {
+ return 'deprecated';
+ },
+ buildEmptyAlternationError(t) {
+ return `Ambiguous empty alternative: <${t.emptyChoiceIdx + 1}> in inside <${t.topLevelRule.name}> Rule.
+Only the last alternative may be an empty alternative.`;
+ },
+ buildTooManyAlternativesError(t) {
+ return `An Alternation cannot have more than 256 alternatives:
+ inside <${t.topLevelRule.name}> Rule.
+ has ${t.alternation.definition.length + 1} alternatives.`;
+ },
+ buildLeftRecursionError(t) {
+ let e = t.topLevelRule.name,
+ r = qe(t.leftRecursionPath, (a) => a.name),
+ n = `${e} --> ${r.concat([e]).join(' --> ')}`;
+ return `Left Recursion found in grammar.
+rule: <${e}> can be invoked from itself (directly or indirectly)
+without consuming any Tokens. The grammar path that causes this is:
+ ${n}
+ To fix this refactor your grammar to remove the left recursion.
+see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`;
+ },
+ buildInvalidRuleNameError(t) {
+ return 'deprecated';
+ },
+ buildDuplicateRuleNameError(t) {
+ let e;
+ return (
+ t.topLevelRule instanceof ts ? (e = t.topLevelRule.name) : (e = t.topLevelRule),
+ `Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`
+ );
+ }
+ });
+ });
+ function Gie(t, e) {
+ let r = new yN(t, e);
+ return r.resolveRefs(), r.errors;
+ }
+ var yN,
+ $ie = R(() => {
+ 'use strict';
+ Ns();
+ Pt();
+ ns();
+ o(Gie, 'resolveGrammar');
+ yN = class extends rs {
+ static {
+ o(this, 'GastRefResolverVisitor');
+ }
+ constructor(e, r) {
+ super(), (this.nameToTopRule = e), (this.errMsgProvider = r), (this.errors = []);
+ }
+ resolveRefs() {
+ Ee(or(this.nameToTopRule), (e) => {
+ (this.currTopLevel = e), e.accept(this);
+ });
+ }
+ visitNonTerminal(e) {
+ let r = this.nameToTopRule[e.nonTerminalName];
+ if (r) e.referencedRule = r;
+ else {
+ let n = this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel, e);
+ this.errors.push({
+ message: n,
+ type: Pi.UNRESOLVED_SUBRULE_REF,
+ ruleName: this.currTopLevel.name,
+ unresolvedRefName: e.nonTerminalName
+ });
+ }
+ }
+ };
+ });
+ function WT(t, e, r = []) {
+ r = Qr(r);
+ let n = [],
+ i = 0;
+ function a(l) {
+ return l.concat(fi(t, i + 1));
+ }
+ o(a, 'remainingPathWith');
+ function s(l) {
+ let u = WT(a(l), e, r);
+ return n.concat(u);
+ }
+ for (o(s, 'getAlternativesForProd'); r.length < e && i < t.length; ) {
+ let l = t[i];
+ if (l instanceof Sn) return s(l.definition);
+ if (l instanceof Zr) return s(l.definition);
+ if (l instanceof Jr) n = s(l.definition);
+ else if (l instanceof An) {
+ let u = l.definition.concat([new br({ definition: l.definition })]);
+ return s(u);
+ } else if (l instanceof _n) {
+ let u = [
+ new Sn({ definition: l.definition }),
+ new br({
+ definition: [new fr({ terminalType: l.separator })].concat(l.definition)
+ })
+ ];
+ return s(u);
+ } else if (l instanceof mn) {
+ let u = l.definition.concat([
+ new br({
+ definition: [new fr({ terminalType: l.separator })].concat(l.definition)
+ })
+ ]);
+ n = s(u);
+ } else if (l instanceof br) {
+ let u = l.definition.concat([new br({ definition: l.definition })]);
+ n = s(u);
+ } else {
+ if (l instanceof gn)
+ return (
+ Ee(l.definition, (u) => {
+ Qt(u.definition) === !1 && (n = s(u.definition));
+ }),
+ n
+ );
+ if (l instanceof fr) r.push(l.terminalType);
+ else throw Error('non exhaustive match');
+ }
+ i++;
+ }
+ return n.push({ partialPath: r, suffixDef: fi(t, i) }), n;
+ }
+ function qT(t, e, r, n) {
+ let i = 'EXIT_NONE_TERMINAL',
+ a = [i],
+ s = 'EXIT_ALTERNATIVE',
+ l = !1,
+ u = e.length,
+ h = u - n - 1,
+ f = [],
+ d = [];
+ for (d.push({ idx: -1, def: t, ruleStack: [], occurrenceStack: [] }); !Qt(d); ) {
+ let p = d.pop();
+ if (p === s) {
+ l && ma(d).idx <= h && d.pop();
+ continue;
+ }
+ let m = p.def,
+ g = p.idx,
+ y = p.ruleStack,
+ v = p.occurrenceStack;
+ if (Qt(m)) continue;
+ let x = m[0];
+ if (x === i) {
+ let b = {
+ idx: g,
+ def: fi(m),
+ ruleStack: Ru(y),
+ occurrenceStack: Ru(v)
+ };
+ d.push(b);
+ } else if (x instanceof fr)
+ if (g < u - 1) {
+ let b = g + 1,
+ w = e[b];
+ if (r(w, x.terminalType)) {
+ let S = { idx: b, def: fi(m), ruleStack: y, occurrenceStack: v };
+ d.push(S);
+ }
+ } else if (g === u - 1)
+ f.push({
+ nextTokenType: x.terminalType,
+ nextTokenOccurrence: x.idx,
+ ruleStack: y,
+ occurrenceStack: v
+ }),
+ (l = !0);
+ else throw Error('non exhaustive match');
+ else if (x instanceof Zr) {
+ let b = Qr(y);
+ b.push(x.nonTerminalName);
+ let w = Qr(v);
+ w.push(x.idx);
+ let S = {
+ idx: g,
+ def: x.definition.concat(a, fi(m)),
+ ruleStack: b,
+ occurrenceStack: w
+ };
+ d.push(S);
+ } else if (x instanceof Jr) {
+ let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v };
+ d.push(b), d.push(s);
+ let w = {
+ idx: g,
+ def: x.definition.concat(fi(m)),
+ ruleStack: y,
+ occurrenceStack: v
+ };
+ d.push(w);
+ } else if (x instanceof An) {
+ let b = new br({ definition: x.definition, idx: x.idx }),
+ w = x.definition.concat([b], fi(m)),
+ S = { idx: g, def: w, ruleStack: y, occurrenceStack: v };
+ d.push(S);
+ } else if (x instanceof _n) {
+ let b = new fr({ terminalType: x.separator }),
+ w = new br({ definition: [b].concat(x.definition), idx: x.idx }),
+ S = x.definition.concat([w], fi(m)),
+ T = { idx: g, def: S, ruleStack: y, occurrenceStack: v };
+ d.push(T);
+ } else if (x instanceof mn) {
+ let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v };
+ d.push(b), d.push(s);
+ let w = new fr({ terminalType: x.separator }),
+ S = new br({ definition: [w].concat(x.definition), idx: x.idx }),
+ T = x.definition.concat([S], fi(m)),
+ E = { idx: g, def: T, ruleStack: y, occurrenceStack: v };
+ d.push(E);
+ } else if (x instanceof br) {
+ let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v };
+ d.push(b), d.push(s);
+ let w = new br({ definition: x.definition, idx: x.idx }),
+ S = x.definition.concat([w], fi(m)),
+ T = { idx: g, def: S, ruleStack: y, occurrenceStack: v };
+ d.push(T);
+ } else if (x instanceof gn)
+ for (let b = x.definition.length - 1; b >= 0; b--) {
+ let w = x.definition[b],
+ S = {
+ idx: g,
+ def: w.definition.concat(fi(m)),
+ ruleStack: y,
+ occurrenceStack: v
+ };
+ d.push(S), d.push(s);
+ }
+ else if (x instanceof Sn)
+ d.push({
+ idx: g,
+ def: x.definition.concat(fi(m)),
+ ruleStack: y,
+ occurrenceStack: v
+ });
+ else if (x instanceof ts) d.push(SIe(x, g, y, v));
+ else throw Error('non exhaustive match');
+ }
+ return f;
+ }
+ function SIe(t, e, r, n) {
+ let i = Qr(r);
+ i.push(t.name);
+ let a = Qr(n);
+ return a.push(1), { idx: e, def: t.definition, ruleStack: i, occurrenceStack: a };
+ }
+ var vN,
+ UT,
+ eg,
+ HT,
+ o2,
+ YT,
+ l2,
+ c2 = R(() => {
+ 'use strict';
+ Pt();
+ iN();
+ IT();
+ ns();
+ (vN = class extends Pu {
+ static {
+ o(this, 'AbstractNextPossibleTokensWalker');
+ }
+ constructor(e, r) {
+ super(),
+ (this.topProd = e),
+ (this.path = r),
+ (this.possibleTokTypes = []),
+ (this.nextProductionName = ''),
+ (this.nextProductionOccurrence = 0),
+ (this.found = !1),
+ (this.isAtEndOfPath = !1);
+ }
+ startWalking() {
+ if (((this.found = !1), this.path.ruleStack[0] !== this.topProd.name))
+ throw Error("The path does not start with the walker's top Rule!");
+ return (
+ (this.ruleStack = Qr(this.path.ruleStack).reverse()),
+ (this.occurrenceStack = Qr(this.path.occurrenceStack).reverse()),
+ this.ruleStack.pop(),
+ this.occurrenceStack.pop(),
+ this.updateExpectedNext(),
+ this.walk(this.topProd),
+ this.possibleTokTypes
+ );
+ }
+ walk(e, r = []) {
+ this.found || super.walk(e, r);
+ }
+ walkProdRef(e, r, n) {
+ if (e.referencedRule.name === this.nextProductionName && e.idx === this.nextProductionOccurrence) {
+ let i = r.concat(n);
+ this.updateExpectedNext(), this.walk(e.referencedRule, i);
+ }
+ }
+ updateExpectedNext() {
+ Qt(this.ruleStack)
+ ? ((this.nextProductionName = ''),
+ (this.nextProductionOccurrence = 0),
+ (this.isAtEndOfPath = !0))
+ : ((this.nextProductionName = this.ruleStack.pop()),
+ (this.nextProductionOccurrence = this.occurrenceStack.pop()));
+ }
+ }),
+ (UT = class extends vN {
+ static {
+ o(this, 'NextAfterTokenWalker');
+ }
+ constructor(e, r) {
+ super(e, r),
+ (this.path = r),
+ (this.nextTerminalName = ''),
+ (this.nextTerminalOccurrence = 0),
+ (this.nextTerminalName = this.path.lastTok.name),
+ (this.nextTerminalOccurrence = this.path.lastTokOccurrence);
+ }
+ walkTerminal(e, r, n) {
+ if (
+ this.isAtEndOfPath &&
+ e.terminalType.name === this.nextTerminalName &&
+ e.idx === this.nextTerminalOccurrence &&
+ !this.found
+ ) {
+ let i = r.concat(n),
+ a = new Sn({ definition: i });
+ (this.possibleTokTypes = i0(a)), (this.found = !0);
+ }
+ }
+ }),
+ (eg = class extends Pu {
+ static {
+ o(this, 'AbstractNextTerminalAfterProductionWalker');
+ }
+ constructor(e, r) {
+ super(),
+ (this.topRule = e),
+ (this.occurrence = r),
+ (this.result = {
+ token: void 0,
+ occurrence: void 0,
+ isEndOfRule: void 0
+ });
+ }
+ startWalking() {
+ return this.walk(this.topRule), this.result;
+ }
+ }),
+ (HT = class extends eg {
+ static {
+ o(this, 'NextTerminalAfterManyWalker');
+ }
+ walkMany(e, r, n) {
+ if (e.idx === this.occurrence) {
+ let i = na(r.concat(n));
+ (this.result.isEndOfRule = i === void 0),
+ i instanceof fr &&
+ ((this.result.token = i.terminalType), (this.result.occurrence = i.idx));
+ } else super.walkMany(e, r, n);
+ }
+ }),
+ (o2 = class extends eg {
+ static {
+ o(this, 'NextTerminalAfterManySepWalker');
+ }
+ walkManySep(e, r, n) {
+ if (e.idx === this.occurrence) {
+ let i = na(r.concat(n));
+ (this.result.isEndOfRule = i === void 0),
+ i instanceof fr &&
+ ((this.result.token = i.terminalType), (this.result.occurrence = i.idx));
+ } else super.walkManySep(e, r, n);
+ }
+ }),
+ (YT = class extends eg {
+ static {
+ o(this, 'NextTerminalAfterAtLeastOneWalker');
+ }
+ walkAtLeastOne(e, r, n) {
+ if (e.idx === this.occurrence) {
+ let i = na(r.concat(n));
+ (this.result.isEndOfRule = i === void 0),
+ i instanceof fr &&
+ ((this.result.token = i.terminalType), (this.result.occurrence = i.idx));
+ } else super.walkAtLeastOne(e, r, n);
+ }
+ }),
+ (l2 = class extends eg {
+ static {
+ o(this, 'NextTerminalAfterAtLeastOneSepWalker');
+ }
+ walkAtLeastOneSep(e, r, n) {
+ if (e.idx === this.occurrence) {
+ let i = na(r.concat(n));
+ (this.result.isEndOfRule = i === void 0),
+ i instanceof fr &&
+ ((this.result.token = i.terminalType), (this.result.occurrence = i.idx));
+ } else super.walkAtLeastOneSep(e, r, n);
+ }
+ });
+ o(WT, 'possiblePathsFrom');
+ o(qT, 'nextPossibleTokensAfter');
+ o(SIe, 'expandTopLevelRule');
+ });
+ function u2(t) {
+ if (t instanceof Jr || t === 'Option') return $n.OPTION;
+ if (t instanceof br || t === 'Repetition') return $n.REPETITION;
+ if (t instanceof An || t === 'RepetitionMandatory') return $n.REPETITION_MANDATORY;
+ if (t instanceof _n || t === 'RepetitionMandatoryWithSeparator') return $n.REPETITION_MANDATORY_WITH_SEPARATOR;
+ if (t instanceof mn || t === 'RepetitionWithSeparator') return $n.REPETITION_WITH_SEPARATOR;
+ if (t instanceof gn || t === 'Alternation') return $n.ALTERNATION;
+ throw Error('non exhaustive match');
+ }
+ function jT(t) {
+ let { occurrence: e, rule: r, prodType: n, maxLookahead: i } = t,
+ a = u2(n);
+ return a === $n.ALTERNATION ? tg(e, r, i) : rg(e, r, a, i);
+ }
+ function Uie(t, e, r, n, i, a) {
+ let s = tg(t, e, r),
+ l = jie(s) ? Zm : Bu;
+ return a(s, n, l, i);
+ }
+ function Hie(t, e, r, n, i, a) {
+ let s = rg(t, e, i, r),
+ l = jie(s) ? Zm : Bu;
+ return a(s[0], l, n);
+ }
+ function Yie(t, e, r, n) {
+ let i = t.length,
+ a = Ia(t, (s) => Ia(s, (l) => l.length === 1));
+ if (e)
+ return function (s) {
+ let l = qe(s, (u) => u.GATE);
+ for (let u = 0; u < i; u++) {
+ let h = t[u],
+ f = h.length,
+ d = l[u];
+ if (!(d !== void 0 && d.call(this) === !1))
+ e: for (let p = 0; p < f; p++) {
+ let m = h[p],
+ g = m.length;
+ for (let y = 0; y < g; y++) {
+ let v = this.LA(y + 1);
+ if (r(v, m[y]) === !1) continue e;
+ }
+ return u;
+ }
+ }
+ };
+ if (a && !n) {
+ let s = qe(t, (u) => Gr(u)),
+ l = Vr(
+ s,
+ (u, h, f) => (
+ Ee(h, (d) => {
+ Xe(u, d.tokenTypeIdx) || (u[d.tokenTypeIdx] = f),
+ Ee(d.categoryMatches, (p) => {
+ Xe(u, p) || (u[p] = f);
+ });
+ }),
+ u
+ ),
+ {}
+ );
+ return function () {
+ let u = this.LA(1);
+ return l[u.tokenTypeIdx];
+ };
+ } else
+ return function () {
+ for (let s = 0; s < i; s++) {
+ let l = t[s],
+ u = l.length;
+ e: for (let h = 0; h < u; h++) {
+ let f = l[h],
+ d = f.length;
+ for (let p = 0; p < d; p++) {
+ let m = this.LA(p + 1);
+ if (r(m, f[p]) === !1) continue e;
+ }
+ return s;
+ }
+ }
+ };
+ }
+ function Wie(t, e, r) {
+ let n = Ia(t, (a) => a.length === 1),
+ i = t.length;
+ if (n && !r) {
+ let a = Gr(t);
+ if (a.length === 1 && Qt(a[0].categoryMatches)) {
+ let l = a[0].tokenTypeIdx;
+ return function () {
+ return this.LA(1).tokenTypeIdx === l;
+ };
+ } else {
+ let s = Vr(
+ a,
+ (l, u, h) => (
+ (l[u.tokenTypeIdx] = !0),
+ Ee(u.categoryMatches, (f) => {
+ l[f] = !0;
+ }),
+ l
+ ),
+ []
+ );
+ return function () {
+ let l = this.LA(1);
+ return s[l.tokenTypeIdx] === !0;
+ };
+ }
+ } else
+ return function () {
+ e: for (let a = 0; a < i; a++) {
+ let s = t[a],
+ l = s.length;
+ for (let u = 0; u < l; u++) {
+ let h = this.LA(u + 1);
+ if (e(h, s[u]) === !1) continue e;
+ }
+ return !0;
+ }
+ return !1;
+ };
+ }
+ function Vie(t) {
+ let e = new Array(t);
+ for (let r = 0; r < t; r++) e[r] = [];
+ return e;
+ }
+ function xN(t) {
+ let e = [''];
+ for (let r = 0; r < t.length; r++) {
+ let n = t[r],
+ i = [];
+ for (let a = 0; a < e.length; a++) {
+ let s = e[a];
+ i.push(s + '_' + n.tokenTypeIdx);
+ for (let l = 0; l < n.categoryMatches.length; l++) {
+ let u = '_' + n.categoryMatches[l];
+ i.push(s + u);
+ }
+ }
+ e = i;
+ }
+ return e;
+ }
+ function AIe(t, e, r) {
+ for (let n = 0; n < t.length; n++) {
+ if (n === r) continue;
+ let i = t[n];
+ for (let a = 0; a < e.length; a++) {
+ let s = e[a];
+ if (i[s] === !0) return !1;
+ }
+ }
+ return !0;
+ }
+ function qie(t, e) {
+ let r = qe(t, (s) => WT([s], 1)),
+ n = Vie(r.length),
+ i = qe(r, (s) => {
+ let l = {};
+ return (
+ Ee(s, (u) => {
+ let h = xN(u.partialPath);
+ Ee(h, (f) => {
+ l[f] = !0;
+ });
+ }),
+ l
+ );
+ }),
+ a = r;
+ for (let s = 1; s <= e; s++) {
+ let l = a;
+ a = Vie(l.length);
+ for (let u = 0; u < l.length; u++) {
+ let h = l[u];
+ for (let f = 0; f < h.length; f++) {
+ let d = h[f].partialPath,
+ p = h[f].suffixDef,
+ m = xN(d);
+ if (AIe(i, m, u) || Qt(p) || d.length === e) {
+ let y = n[u];
+ if (KT(y, d) === !1) {
+ y.push(d);
+ for (let v = 0; v < m.length; v++) {
+ let x = m[v];
+ i[u][x] = !0;
+ }
+ }
+ } else {
+ let y = WT(p, s + 1, d);
+ (a[u] = a[u].concat(y)),
+ Ee(y, (v) => {
+ let x = xN(v.partialPath);
+ Ee(x, (b) => {
+ i[u][b] = !0;
+ });
+ });
+ }
+ }
+ }
+ }
+ return n;
+ }
+ function tg(t, e, r, n) {
+ let i = new XT(t, $n.ALTERNATION, n);
+ return e.accept(i), qie(i.result, r);
+ }
+ function rg(t, e, r, n) {
+ let i = new XT(t, r);
+ e.accept(i);
+ let a = i.result,
+ l = new bN(e, t, r).startWalking(),
+ u = new Sn({ definition: a }),
+ h = new Sn({ definition: l });
+ return qie([u, h], n);
+ }
+ function KT(t, e) {
+ e: for (let r = 0; r < t.length; r++) {
+ let n = t[r];
+ if (n.length === e.length) {
+ for (let i = 0; i < n.length; i++) {
+ let a = e[i],
+ s = n[i];
+ if ((a === s || s.categoryMatchesMap[a.tokenTypeIdx] !== void 0) === !1) continue e;
+ }
+ return !0;
+ }
+ }
+ return !1;
+ }
+ function Xie(t, e) {
+ return (
+ t.length < e.length &&
+ Ia(t, (r, n) => {
+ let i = e[n];
+ return r === i || i.categoryMatchesMap[r.tokenTypeIdx];
+ })
+ );
+ }
+ function jie(t) {
+ return Ia(t, (e) => Ia(e, (r) => Ia(r, (n) => Qt(n.categoryMatches))));
+ }
+ var $n,
+ bN,
+ XT,
+ ng = R(() => {
+ 'use strict';
+ Pt();
+ c2();
+ IT();
+ s0();
+ ns();
+ (function (t) {
+ (t[(t.OPTION = 0)] = 'OPTION'),
+ (t[(t.REPETITION = 1)] = 'REPETITION'),
+ (t[(t.REPETITION_MANDATORY = 2)] = 'REPETITION_MANDATORY'),
+ (t[(t.REPETITION_MANDATORY_WITH_SEPARATOR = 3)] = 'REPETITION_MANDATORY_WITH_SEPARATOR'),
+ (t[(t.REPETITION_WITH_SEPARATOR = 4)] = 'REPETITION_WITH_SEPARATOR'),
+ (t[(t.ALTERNATION = 5)] = 'ALTERNATION');
+ })($n || ($n = {}));
+ o(u2, 'getProdType');
+ o(jT, 'getLookaheadPaths');
+ o(Uie, 'buildLookaheadFuncForOr');
+ o(Hie, 'buildLookaheadFuncForOptionalProd');
+ o(Yie, 'buildAlternativesLookAheadFunc');
+ o(Wie, 'buildSingleAlternativeLookaheadFunction');
+ (bN = class extends Pu {
+ static {
+ o(this, 'RestDefinitionFinderWalker');
+ }
+ constructor(e, r, n) {
+ super(), (this.topProd = e), (this.targetOccurrence = r), (this.targetProdType = n);
+ }
+ startWalking() {
+ return this.walk(this.topProd), this.restDef;
+ }
+ checkIsTarget(e, r, n, i) {
+ return e.idx === this.targetOccurrence && this.targetProdType === r
+ ? ((this.restDef = n.concat(i)), !0)
+ : !1;
+ }
+ walkOption(e, r, n) {
+ this.checkIsTarget(e, $n.OPTION, r, n) || super.walkOption(e, r, n);
+ }
+ walkAtLeastOne(e, r, n) {
+ this.checkIsTarget(e, $n.REPETITION_MANDATORY, r, n) || super.walkOption(e, r, n);
+ }
+ walkAtLeastOneSep(e, r, n) {
+ this.checkIsTarget(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR, r, n) || super.walkOption(e, r, n);
+ }
+ walkMany(e, r, n) {
+ this.checkIsTarget(e, $n.REPETITION, r, n) || super.walkOption(e, r, n);
+ }
+ walkManySep(e, r, n) {
+ this.checkIsTarget(e, $n.REPETITION_WITH_SEPARATOR, r, n) || super.walkOption(e, r, n);
+ }
+ }),
+ (XT = class extends rs {
+ static {
+ o(this, 'InsideDefinitionFinderVisitor');
+ }
+ constructor(e, r, n) {
+ super(),
+ (this.targetOccurrence = e),
+ (this.targetProdType = r),
+ (this.targetRef = n),
+ (this.result = []);
+ }
+ checkIsTarget(e, r) {
+ e.idx === this.targetOccurrence &&
+ this.targetProdType === r &&
+ (this.targetRef === void 0 || e === this.targetRef) &&
+ (this.result = e.definition);
+ }
+ visitOption(e) {
+ this.checkIsTarget(e, $n.OPTION);
+ }
+ visitRepetition(e) {
+ this.checkIsTarget(e, $n.REPETITION);
+ }
+ visitRepetitionMandatory(e) {
+ this.checkIsTarget(e, $n.REPETITION_MANDATORY);
+ }
+ visitRepetitionMandatoryWithSeparator(e) {
+ this.checkIsTarget(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR);
+ }
+ visitRepetitionWithSeparator(e) {
+ this.checkIsTarget(e, $n.REPETITION_WITH_SEPARATOR);
+ }
+ visitAlternation(e) {
+ this.checkIsTarget(e, $n.ALTERNATION);
+ }
+ });
+ o(Vie, 'initializeArrayOfArrays');
+ o(xN, 'pathToHashKeys');
+ o(AIe, 'isUniquePrefixHash');
+ o(qie, 'lookAheadSequenceFromAlternatives');
+ o(tg, 'getLookaheadPathsForOr');
+ o(rg, 'getLookaheadPathsForOptionalProd');
+ o(KT, 'containsPath');
+ o(Xie, 'isStrictPrefixOfPath');
+ o(jie, 'areTokenCategoriesNotUsed');
+ });
+ function Kie(t) {
+ let e = t.lookaheadStrategy.validate({
+ rules: t.rules,
+ tokenTypes: t.tokenTypes,
+ grammarName: t.grammarName
+ });
+ return qe(e, (r) => Object.assign({ type: Pi.CUSTOM_LOOKAHEAD_VALIDATION }, r));
+ }
+ function Qie(t, e, r, n) {
+ let i = ga(t, (u) => _Ie(u, r)),
+ a = IIe(t, e, r),
+ s = ga(t, (u) => RIe(u, r)),
+ l = ga(t, (u) => DIe(u, t, n, r));
+ return i.concat(a, s, l);
+ }
+ function _Ie(t, e) {
+ let r = new wN();
+ t.accept(r);
+ let n = r.allProductions,
+ i = IL(n, LIe),
+ a = Ls(i, (l) => l.length > 1);
+ return qe(or(a), (l) => {
+ let u = na(l),
+ h = e.buildDuplicateFoundError(t, l),
+ f = Rs(u),
+ d = {
+ message: h,
+ type: Pi.DUPLICATE_PRODUCTIONS,
+ ruleName: t.name,
+ dslName: f,
+ occurrence: u.idx
+ },
+ p = Zie(u);
+ return p && (d.parameter = p), d;
+ });
+ }
+ function LIe(t) {
+ return `${Rs(t)}_#_${t.idx}_#_${Zie(t)}`;
+ }
+ function Zie(t) {
+ return t instanceof fr ? t.terminalType.name : t instanceof Zr ? t.nonTerminalName : '';
+ }
+ function DIe(t, e, r, n) {
+ let i = [];
+ if (Vr(e, (s, l) => (l.name === t.name ? s + 1 : s), 0) > 1) {
+ let s = n.buildDuplicateRuleNameError({
+ topLevelRule: t,
+ grammarName: r
+ });
+ i.push({ message: s, type: Pi.DUPLICATE_RULE_NAME, ruleName: t.name });
+ }
+ return i;
+ }
+ function Jie(t, e, r) {
+ let n = [],
+ i;
+ return (
+ Fn(e, t) ||
+ ((i = `Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `),
+ n.push({ message: i, type: Pi.INVALID_RULE_OVERRIDE, ruleName: t })),
+ n
+ );
+ }
+ function kN(t, e, r, n = []) {
+ let i = [],
+ a = QT(e.definition);
+ if (Qt(a)) return [];
+ {
+ let s = t.name;
+ Fn(a, t) &&
+ i.push({
+ message: r.buildLeftRecursionError({
+ topLevelRule: t,
+ leftRecursionPath: n
+ }),
+ type: Pi.LEFT_RECURSION,
+ ruleName: s
+ });
+ let u = jh(a, n.concat([t])),
+ h = ga(u, (f) => {
+ let d = Qr(n);
+ return d.push(f), kN(t, f, r, d);
+ });
+ return i.concat(h);
+ }
+ }
+ function QT(t) {
+ let e = [];
+ if (Qt(t)) return e;
+ let r = na(t);
+ if (r instanceof Zr) e.push(r.referencedRule);
+ else if (
+ r instanceof Sn ||
+ r instanceof Jr ||
+ r instanceof An ||
+ r instanceof _n ||
+ r instanceof mn ||
+ r instanceof br
+ )
+ e = e.concat(QT(r.definition));
+ else if (r instanceof gn) e = Gr(qe(r.definition, (a) => QT(a.definition)));
+ else if (!(r instanceof fr)) throw Error('non exhaustive match');
+ let n = n0(r),
+ i = t.length > 1;
+ if (n && i) {
+ let a = fi(t);
+ return e.concat(QT(a));
+ } else return e;
+ }
+ function eae(t, e) {
+ let r = new h2();
+ t.accept(r);
+ let n = r.alternations;
+ return ga(n, (a) => {
+ let s = Ru(a.definition);
+ return ga(s, (l, u) => {
+ let h = qT([l], [], Bu, 1);
+ return Qt(h)
+ ? [
+ {
+ message: e.buildEmptyAlternationError({
+ topLevelRule: t,
+ alternation: a,
+ emptyChoiceIdx: u
+ }),
+ type: Pi.NONE_LAST_EMPTY_ALT,
+ ruleName: t.name,
+ occurrence: a.idx,
+ alternative: u + 1
+ }
+ ]
+ : [];
+ });
+ });
+ }
+ function tae(t, e, r) {
+ let n = new h2();
+ t.accept(n);
+ let i = n.alternations;
+ return (
+ (i = Kh(i, (s) => s.ignoreAmbiguities === !0)),
+ ga(i, (s) => {
+ let l = s.idx,
+ u = s.maxLookahead || e,
+ h = tg(l, t, u, s),
+ f = NIe(h, s, t, r),
+ d = MIe(h, s, t, r);
+ return f.concat(d);
+ })
+ );
+ }
+ function RIe(t, e) {
+ let r = new h2();
+ t.accept(r);
+ let n = r.alternations;
+ return ga(n, (a) =>
+ a.definition.length > 255
+ ? [
+ {
+ message: e.buildTooManyAlternativesError({
+ topLevelRule: t,
+ alternation: a
+ }),
+ type: Pi.TOO_MANY_ALTS,
+ ruleName: t.name,
+ occurrence: a.idx
+ }
+ ]
+ : []
+ );
+ }
+ function rae(t, e, r) {
+ let n = [];
+ return (
+ Ee(t, (i) => {
+ let a = new TN();
+ i.accept(a);
+ let s = a.allProductions;
+ Ee(s, (l) => {
+ let u = u2(l),
+ h = l.maxLookahead || e,
+ f = l.idx,
+ p = rg(f, i, u, h)[0];
+ if (Qt(Gr(p))) {
+ let m = r.buildEmptyRepetitionError({
+ topLevelRule: i,
+ repetition: l
+ });
+ n.push({
+ message: m,
+ type: Pi.NO_NON_EMPTY_LOOKAHEAD,
+ ruleName: i.name
+ });
+ }
+ });
+ }),
+ n
+ );
+ }
+ function NIe(t, e, r, n) {
+ let i = [],
+ a = Vr(
+ t,
+ (l, u, h) => (
+ e.definition[h].ignoreAmbiguities === !0 ||
+ Ee(u, (f) => {
+ let d = [h];
+ Ee(t, (p, m) => {
+ h !== m && KT(p, f) && e.definition[m].ignoreAmbiguities !== !0 && d.push(m);
+ }),
+ d.length > 1 && !KT(i, f) && (i.push(f), l.push({ alts: d, path: f }));
+ }),
+ l
+ ),
+ []
+ );
+ return qe(a, (l) => {
+ let u = qe(l.alts, (f) => f + 1);
+ return {
+ message: n.buildAlternationAmbiguityError({
+ topLevelRule: r,
+ alternation: e,
+ ambiguityIndices: u,
+ prefixPath: l.path
+ }),
+ type: Pi.AMBIGUOUS_ALTS,
+ ruleName: r.name,
+ occurrence: e.idx,
+ alternatives: l.alts
+ };
+ });
+ }
+ function MIe(t, e, r, n) {
+ let i = Vr(
+ t,
+ (s, l, u) => {
+ let h = qe(l, (f) => ({ idx: u, path: f }));
+ return s.concat(h);
+ },
+ []
+ );
+ return wc(
+ ga(i, (s) => {
+ if (e.definition[s.idx].ignoreAmbiguities === !0) return [];
+ let u = s.idx,
+ h = s.path,
+ f = $r(i, (p) => e.definition[p.idx].ignoreAmbiguities !== !0 && p.idx < u && Xie(p.path, h));
+ return qe(f, (p) => {
+ let m = [p.idx + 1, u + 1],
+ g = e.idx === 0 ? '' : e.idx;
+ return {
+ message: n.buildAlternationPrefixAmbiguityError({
+ topLevelRule: r,
+ alternation: e,
+ ambiguityIndices: m,
+ prefixPath: p.path
+ }),
+ type: Pi.AMBIGUOUS_PREFIX_ALTS,
+ ruleName: r.name,
+ occurrence: g,
+ alternatives: m
+ };
+ });
+ })
+ );
+ }
+ function IIe(t, e, r) {
+ let n = [],
+ i = qe(e, (a) => a.name);
+ return (
+ Ee(t, (a) => {
+ let s = a.name;
+ if (Fn(i, s)) {
+ let l = r.buildNamespaceConflictError(a);
+ n.push({
+ message: l,
+ type: Pi.CONFLICT_TOKENS_RULES_NAMESPACE,
+ ruleName: s
+ });
+ }
+ }),
+ n
+ );
+ }
+ var wN,
+ h2,
+ TN,
+ f2 = R(() => {
+ 'use strict';
+ Pt();
+ Ns();
+ ns();
+ ng();
+ c2();
+ s0();
+ o(Kie, 'validateLookahead');
+ o(Qie, 'validateGrammar');
+ o(_Ie, 'validateDuplicateProductions');
+ o(LIe, 'identifyProductionForDuplicates');
+ o(Zie, 'getExtraProductionArgument');
+ wN = class extends rs {
+ static {
+ o(this, 'OccurrenceValidationCollector');
+ }
+ constructor() {
+ super(...arguments), (this.allProductions = []);
+ }
+ visitNonTerminal(e) {
+ this.allProductions.push(e);
+ }
+ visitOption(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetitionWithSeparator(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetitionMandatory(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetitionMandatoryWithSeparator(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetition(e) {
+ this.allProductions.push(e);
+ }
+ visitAlternation(e) {
+ this.allProductions.push(e);
+ }
+ visitTerminal(e) {
+ this.allProductions.push(e);
+ }
+ };
+ o(DIe, 'validateRuleDoesNotAlreadyExist');
+ o(Jie, 'validateRuleIsOverridden');
+ o(kN, 'validateNoLeftRecursion');
+ o(QT, 'getFirstNoneTerminal');
+ h2 = class extends rs {
+ static {
+ o(this, 'OrCollector');
+ }
+ constructor() {
+ super(...arguments), (this.alternations = []);
+ }
+ visitAlternation(e) {
+ this.alternations.push(e);
+ }
+ };
+ o(eae, 'validateEmptyOrAlternative');
+ o(tae, 'validateAmbiguousAlternationAlternatives');
+ TN = class extends rs {
+ static {
+ o(this, 'RepetitionCollector');
+ }
+ constructor() {
+ super(...arguments), (this.allProductions = []);
+ }
+ visitRepetitionWithSeparator(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetitionMandatory(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetitionMandatoryWithSeparator(e) {
+ this.allProductions.push(e);
+ }
+ visitRepetition(e) {
+ this.allProductions.push(e);
+ }
+ };
+ o(RIe, 'validateTooManyAlts');
+ o(rae, 'validateSomeNonEmptyLookaheadPath');
+ o(NIe, 'checkAlternativesAmbiguities');
+ o(MIe, 'checkPrefixAlternativesAmbiguities');
+ o(IIe, 'checkTerminalAndNoneTerminalsNameSpace');
+ });
+ function nae(t) {
+ let e = Xh(t, { errMsgProvider: zie }),
+ r = {};
+ return (
+ Ee(t.rules, (n) => {
+ r[n.name] = n;
+ }),
+ Gie(r, e.errMsgProvider)
+ );
+ }
+ function iae(t) {
+ return (t = Xh(t, { errMsgProvider: Ol })), Qie(t.rules, t.tokenTypes, t.errMsgProvider, t.grammarName);
+ }
+ var aae = R(() => {
+ 'use strict';
+ Pt();
+ $ie();
+ f2();
+ Jm();
+ o(nae, 'resolveGrammar');
+ o(iae, 'validateGrammar');
+ });
+ function nf(t) {
+ return Fn(uae, t.name);
+ }
+ var sae,
+ oae,
+ lae,
+ cae,
+ uae,
+ ig,
+ c0,
+ d2,
+ p2,
+ m2,
+ ag = R(() => {
+ 'use strict';
+ Pt();
+ (sae = 'MismatchedTokenException'),
+ (oae = 'NoViableAltException'),
+ (lae = 'EarlyExitException'),
+ (cae = 'NotAllInputParsedException'),
+ (uae = [sae, oae, lae, cae]);
+ Object.freeze(uae);
+ o(nf, 'isRecognitionException');
+ (ig = class extends Error {
+ static {
+ o(this, 'RecognitionException');
+ }
+ constructor(e, r) {
+ super(e),
+ (this.token = r),
+ (this.resyncedTokens = []),
+ Object.setPrototypeOf(this, new.target.prototype),
+ Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
+ }
+ }),
+ (c0 = class extends ig {
+ static {
+ o(this, 'MismatchedTokenException');
+ }
+ constructor(e, r, n) {
+ super(e, r), (this.previousToken = n), (this.name = sae);
+ }
+ }),
+ (d2 = class extends ig {
+ static {
+ o(this, 'NoViableAltException');
+ }
+ constructor(e, r, n) {
+ super(e, r), (this.previousToken = n), (this.name = oae);
+ }
+ }),
+ (p2 = class extends ig {
+ static {
+ o(this, 'NotAllInputParsedException');
+ }
+ constructor(e, r) {
+ super(e, r), (this.name = cae);
+ }
+ }),
+ (m2 = class extends ig {
+ static {
+ o(this, 'EarlyExitException');
+ }
+ constructor(e, r, n) {
+ super(e, r), (this.previousToken = n), (this.name = lae);
+ }
+ });
+ });
+ function OIe(t, e, r, n, i, a, s) {
+ let l = this.getKeyForAutomaticLookahead(n, i),
+ u = this.firstAfterRepMap[l];
+ if (u === void 0) {
+ let p = this.getCurrRuleFullName(),
+ m = this.getGAstProductions()[p];
+ (u = new a(m, i).startWalking()), (this.firstAfterRepMap[l] = u);
+ }
+ let h = u.token,
+ f = u.occurrence,
+ d = u.isEndOfRule;
+ this.RULE_STACK.length === 1 && d && h === void 0 && ((h = fo), (f = 1)),
+ !(h === void 0 || f === void 0) &&
+ this.shouldInRepetitionRecoveryBeTried(h, f, s) &&
+ this.tryInRepetitionRecovery(t, e, r, h);
+ }
+ var EN,
+ SN,
+ CN,
+ ZT,
+ AN = R(() => {
+ 'use strict';
+ l0();
+ Pt();
+ ag();
+ aN();
+ Ns();
+ (EN = {}),
+ (SN = 'InRuleRecoveryException'),
+ (CN = class extends Error {
+ static {
+ o(this, 'InRuleRecoveryException');
+ }
+ constructor(e) {
+ super(e), (this.name = SN);
+ }
+ }),
+ (ZT = class {
+ static {
+ o(this, 'Recoverable');
+ }
+ initRecoverable(e) {
+ (this.firstAfterRepMap = {}),
+ (this.resyncFollows = {}),
+ (this.recoveryEnabled = Xe(e, 'recoveryEnabled') ? e.recoveryEnabled : is.recoveryEnabled),
+ this.recoveryEnabled && (this.attemptInRepetitionRecovery = OIe);
+ }
+ getTokenToInsert(e) {
+ let r = o0(e, '', NaN, NaN, NaN, NaN, NaN, NaN);
+ return (r.isInsertedInRecovery = !0), r;
+ }
+ canTokenTypeBeInsertedInRecovery(e) {
+ return !0;
+ }
+ canTokenTypeBeDeletedInRecovery(e) {
+ return !0;
+ }
+ tryInRepetitionRecovery(e, r, n, i) {
+ let a = this.findReSyncTokenType(),
+ s = this.exportLexerState(),
+ l = [],
+ u = !1,
+ h = this.LA(1),
+ f = this.LA(1),
+ d = o(() => {
+ let p = this.LA(0),
+ m = this.errorMessageProvider.buildMismatchTokenMessage({
+ expected: i,
+ actual: h,
+ previous: p,
+ ruleName: this.getCurrRuleFullName()
+ }),
+ g = new c0(m, h, this.LA(0));
+ (g.resyncedTokens = Ru(l)), this.SAVE_ERROR(g);
+ }, 'generateErrorMessage');
+ for (; !u; )
+ if (this.tokenMatcher(f, i)) {
+ d();
+ return;
+ } else if (n.call(this)) {
+ d(), e.apply(this, r);
+ return;
+ } else
+ this.tokenMatcher(f, a)
+ ? (u = !0)
+ : ((f = this.SKIP_TOKEN()), this.addToResyncTokens(f, l));
+ this.importLexerState(s);
+ }
+ shouldInRepetitionRecoveryBeTried(e, r, n) {
+ return !(
+ n === !1 ||
+ this.tokenMatcher(this.LA(1), e) ||
+ this.isBackTracking() ||
+ this.canPerformInRuleRecovery(e, this.getFollowsForInRuleRecovery(e, r))
+ );
+ }
+ getFollowsForInRuleRecovery(e, r) {
+ let n = this.getCurrentGrammarPath(e, r);
+ return this.getNextPossibleTokenTypes(n);
+ }
+ tryInRuleRecovery(e, r) {
+ if (this.canRecoverWithSingleTokenInsertion(e, r)) return this.getTokenToInsert(e);
+ if (this.canRecoverWithSingleTokenDeletion(e)) {
+ let n = this.SKIP_TOKEN();
+ return this.consumeToken(), n;
+ }
+ throw new CN('sad sad panda');
+ }
+ canPerformInRuleRecovery(e, r) {
+ return (
+ this.canRecoverWithSingleTokenInsertion(e, r) || this.canRecoverWithSingleTokenDeletion(e)
+ );
+ }
+ canRecoverWithSingleTokenInsertion(e, r) {
+ if (!this.canTokenTypeBeInsertedInRecovery(e) || Qt(r)) return !1;
+ let n = this.LA(1);
+ return Za(r, (a) => this.tokenMatcher(n, a)) !== void 0;
+ }
+ canRecoverWithSingleTokenDeletion(e) {
+ return this.canTokenTypeBeDeletedInRecovery(e) ? this.tokenMatcher(this.LA(2), e) : !1;
+ }
+ isInCurrentRuleReSyncSet(e) {
+ let r = this.getCurrFollowKey(),
+ n = this.getFollowSetFromFollowKey(r);
+ return Fn(n, e);
+ }
+ findReSyncTokenType() {
+ let e = this.flattenFollowSet(),
+ r = this.LA(1),
+ n = 2;
+ for (;;) {
+ let i = Za(e, (a) => s2(r, a));
+ if (i !== void 0) return i;
+ (r = this.LA(n)), n++;
+ }
+ }
+ getCurrFollowKey() {
+ if (this.RULE_STACK.length === 1) return EN;
+ let e = this.getLastExplicitRuleShortName(),
+ r = this.getLastExplicitRuleOccurrenceIndex(),
+ n = this.getPreviousExplicitRuleShortName();
+ return {
+ ruleName: this.shortRuleNameToFullName(e),
+ idxInCallingRule: r,
+ inRule: this.shortRuleNameToFullName(n)
+ };
+ }
+ buildFullFollowKeyStack() {
+ let e = this.RULE_STACK,
+ r = this.RULE_OCCURRENCE_STACK;
+ return qe(e, (n, i) =>
+ i === 0
+ ? EN
+ : {
+ ruleName: this.shortRuleNameToFullName(n),
+ idxInCallingRule: r[i],
+ inRule: this.shortRuleNameToFullName(e[i - 1])
+ }
+ );
+ }
+ flattenFollowSet() {
+ let e = qe(this.buildFullFollowKeyStack(), (r) => this.getFollowSetFromFollowKey(r));
+ return Gr(e);
+ }
+ getFollowSetFromFollowKey(e) {
+ if (e === EN) return [fo];
+ let r = e.ruleName + e.idxInCallingRule + OT + e.inRule;
+ return this.resyncFollows[r];
+ }
+ addToResyncTokens(e, r) {
+ return this.tokenMatcher(e, fo) || r.push(e), r;
+ }
+ reSyncTo(e) {
+ let r = [],
+ n = this.LA(1);
+ for (; this.tokenMatcher(n, e) === !1; ) (n = this.SKIP_TOKEN()), this.addToResyncTokens(n, r);
+ return Ru(r);
+ }
+ attemptInRepetitionRecovery(e, r, n, i, a, s, l) {}
+ getCurrentGrammarPath(e, r) {
+ let n = this.getHumanReadableRuleStack(),
+ i = Qr(this.RULE_OCCURRENCE_STACK);
+ return {
+ ruleStack: n,
+ occurrenceStack: i,
+ lastTok: e,
+ lastTokOccurrence: r
+ };
+ }
+ getHumanReadableRuleStack() {
+ return qe(this.RULE_STACK, (e) => this.shortRuleNameToFullName(e));
+ }
+ });
+ o(OIe, 'attemptInRepetitionRecovery');
+ });
+ function JT(t, e, r) {
+ return r | e | t;
+ }
+ var ek = R(() => {
+ 'use strict';
+ o(JT, 'getKeyForAutomaticLookahead');
+ });
+ var $u,
+ _N = R(() => {
+ 'use strict';
+ Pt();
+ Jm();
+ Ns();
+ f2();
+ ng();
+ $u = class {
+ static {
+ o(this, 'LLkLookaheadStrategy');
+ }
+ constructor(e) {
+ var r;
+ this.maxLookahead = (r = e?.maxLookahead) !== null && r !== void 0 ? r : is.maxLookahead;
+ }
+ validate(e) {
+ let r = this.validateNoLeftRecursion(e.rules);
+ if (Qt(r)) {
+ let n = this.validateEmptyOrAlternatives(e.rules),
+ i = this.validateAmbiguousAlternationAlternatives(e.rules, this.maxLookahead),
+ a = this.validateSomeNonEmptyLookaheadPath(e.rules, this.maxLookahead);
+ return [...r, ...n, ...i, ...a];
+ }
+ return r;
+ }
+ validateNoLeftRecursion(e) {
+ return ga(e, (r) => kN(r, r, Ol));
+ }
+ validateEmptyOrAlternatives(e) {
+ return ga(e, (r) => eae(r, Ol));
+ }
+ validateAmbiguousAlternationAlternatives(e, r) {
+ return ga(e, (n) => tae(n, r, Ol));
+ }
+ validateSomeNonEmptyLookaheadPath(e, r) {
+ return rae(e, r, Ol);
+ }
+ buildLookaheadForAlternation(e) {
+ return Uie(e.prodOccurrence, e.rule, e.maxLookahead, e.hasPredicates, e.dynamicTokensEnabled, Yie);
+ }
+ buildLookaheadForOptional(e) {
+ return Hie(e.prodOccurrence, e.rule, e.maxLookahead, e.dynamicTokensEnabled, u2(e.prodType), Wie);
+ }
+ };
+ });
+ function PIe(t) {
+ tk.reset(), t.accept(tk);
+ let e = tk.dslMethods;
+ return tk.reset(), e;
+ }
+ var rk,
+ LN,
+ tk,
+ hae = R(() => {
+ 'use strict';
+ Pt();
+ Ns();
+ ek();
+ ns();
+ _N();
+ (rk = class {
+ static {
+ o(this, 'LooksAhead');
+ }
+ initLooksAhead(e) {
+ (this.dynamicTokensEnabled = Xe(e, 'dynamicTokensEnabled')
+ ? e.dynamicTokensEnabled
+ : is.dynamicTokensEnabled),
+ (this.maxLookahead = Xe(e, 'maxLookahead') ? e.maxLookahead : is.maxLookahead),
+ (this.lookaheadStrategy = Xe(e, 'lookaheadStrategy')
+ ? e.lookaheadStrategy
+ : new $u({ maxLookahead: this.maxLookahead })),
+ (this.lookAheadFuncsCache = new Map());
+ }
+ preComputeLookaheadFunctions(e) {
+ Ee(e, (r) => {
+ this.TRACE_INIT(`${r.name} Rule Lookahead`, () => {
+ let {
+ alternation: n,
+ repetition: i,
+ option: a,
+ repetitionMandatory: s,
+ repetitionMandatoryWithSeparator: l,
+ repetitionWithSeparator: u
+ } = PIe(r);
+ Ee(n, (h) => {
+ let f = h.idx === 0 ? '' : h.idx;
+ this.TRACE_INIT(`${Rs(h)}${f}`, () => {
+ let d = this.lookaheadStrategy.buildLookaheadForAlternation({
+ prodOccurrence: h.idx,
+ rule: r,
+ maxLookahead: h.maxLookahead || this.maxLookahead,
+ hasPredicates: h.hasPredicates,
+ dynamicTokensEnabled: this.dynamicTokensEnabled
+ }),
+ p = JT(this.fullRuleNameToShort[r.name], 256, h.idx);
+ this.setLaFuncCache(p, d);
+ });
+ }),
+ Ee(i, (h) => {
+ this.computeLookaheadFunc(r, h.idx, 768, 'Repetition', h.maxLookahead, Rs(h));
+ }),
+ Ee(a, (h) => {
+ this.computeLookaheadFunc(r, h.idx, 512, 'Option', h.maxLookahead, Rs(h));
+ }),
+ Ee(s, (h) => {
+ this.computeLookaheadFunc(
+ r,
+ h.idx,
+ 1024,
+ 'RepetitionMandatory',
+ h.maxLookahead,
+ Rs(h)
+ );
+ }),
+ Ee(l, (h) => {
+ this.computeLookaheadFunc(
+ r,
+ h.idx,
+ 1536,
+ 'RepetitionMandatoryWithSeparator',
+ h.maxLookahead,
+ Rs(h)
+ );
+ }),
+ Ee(u, (h) => {
+ this.computeLookaheadFunc(
+ r,
+ h.idx,
+ 1280,
+ 'RepetitionWithSeparator',
+ h.maxLookahead,
+ Rs(h)
+ );
+ });
+ });
+ });
+ }
+ computeLookaheadFunc(e, r, n, i, a, s) {
+ this.TRACE_INIT(`${s}${r === 0 ? '' : r}`, () => {
+ let l = this.lookaheadStrategy.buildLookaheadForOptional({
+ prodOccurrence: r,
+ rule: e,
+ maxLookahead: a || this.maxLookahead,
+ dynamicTokensEnabled: this.dynamicTokensEnabled,
+ prodType: i
+ }),
+ u = JT(this.fullRuleNameToShort[e.name], n, r);
+ this.setLaFuncCache(u, l);
+ });
+ }
+ getKeyForAutomaticLookahead(e, r) {
+ let n = this.getLastExplicitRuleShortName();
+ return JT(n, e, r);
+ }
+ getLaFuncFromCache(e) {
+ return this.lookAheadFuncsCache.get(e);
+ }
+ setLaFuncCache(e, r) {
+ this.lookAheadFuncsCache.set(e, r);
+ }
+ }),
+ (LN = class extends rs {
+ static {
+ o(this, 'DslMethodsCollectorVisitor');
+ }
+ constructor() {
+ super(...arguments),
+ (this.dslMethods = {
+ option: [],
+ alternation: [],
+ repetition: [],
+ repetitionWithSeparator: [],
+ repetitionMandatory: [],
+ repetitionMandatoryWithSeparator: []
+ });
+ }
+ reset() {
+ this.dslMethods = {
+ option: [],
+ alternation: [],
+ repetition: [],
+ repetitionWithSeparator: [],
+ repetitionMandatory: [],
+ repetitionMandatoryWithSeparator: []
+ };
+ }
+ visitOption(e) {
+ this.dslMethods.option.push(e);
+ }
+ visitRepetitionWithSeparator(e) {
+ this.dslMethods.repetitionWithSeparator.push(e);
+ }
+ visitRepetitionMandatory(e) {
+ this.dslMethods.repetitionMandatory.push(e);
+ }
+ visitRepetitionMandatoryWithSeparator(e) {
+ this.dslMethods.repetitionMandatoryWithSeparator.push(e);
+ }
+ visitRepetition(e) {
+ this.dslMethods.repetition.push(e);
+ }
+ visitAlternation(e) {
+ this.dslMethods.alternation.push(e);
+ }
+ }),
+ (tk = new LN());
+ o(PIe, 'collectMethods');
+ });
+ function NN(t, e) {
+ isNaN(t.startOffset) === !0
+ ? ((t.startOffset = e.startOffset), (t.endOffset = e.endOffset))
+ : t.endOffset < e.endOffset && (t.endOffset = e.endOffset);
+ }
+ function MN(t, e) {
+ isNaN(t.startOffset) === !0
+ ? ((t.startOffset = e.startOffset),
+ (t.startColumn = e.startColumn),
+ (t.startLine = e.startLine),
+ (t.endOffset = e.endOffset),
+ (t.endColumn = e.endColumn),
+ (t.endLine = e.endLine))
+ : t.endOffset < e.endOffset &&
+ ((t.endOffset = e.endOffset), (t.endColumn = e.endColumn), (t.endLine = e.endLine));
+ }
+ function fae(t, e, r) {
+ t.children[r] === void 0 ? (t.children[r] = [e]) : t.children[r].push(e);
+ }
+ function dae(t, e, r) {
+ t.children[e] === void 0 ? (t.children[e] = [r]) : t.children[e].push(r);
+ }
+ var pae = R(() => {
+ 'use strict';
+ o(NN, 'setNodeLocationOnlyOffset');
+ o(MN, 'setNodeLocationFull');
+ o(fae, 'addTerminalToCst');
+ o(dae, 'addNoneTerminalToCst');
+ });
+ function IN(t, e) {
+ Object.defineProperty(t, BIe, {
+ enumerable: !1,
+ configurable: !0,
+ writable: !1,
+ value: e
+ });
+ }
+ var BIe,
+ mae = R(() => {
+ 'use strict';
+ BIe = 'name';
+ o(IN, 'defineNameProp');
+ });
+ function FIe(t, e) {
+ let r = Dr(t),
+ n = r.length;
+ for (let i = 0; i < n; i++) {
+ let a = r[i],
+ s = t[a],
+ l = s.length;
+ for (let u = 0; u < l; u++) {
+ let h = s[u];
+ h.tokenTypeIdx === void 0 && this[h.name](h.children, e);
+ }
+ }
+ }
+ function gae(t, e) {
+ let r = o(function () {}, 'derivedConstructor');
+ IN(r, t + 'BaseSemantics');
+ let n = {
+ visit: o(function (i, a) {
+ if ((wt(i) && (i = i[0]), !er(i))) return this[i.name](i.children, a);
+ }, 'visit'),
+ validateVisitor: o(function () {
+ let i = zIe(this, e);
+ if (!Qt(i)) {
+ let a = qe(i, (s) => s.msg);
+ throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
+ ${a
+ .join(
+ `
+
+`
+ )
+ .replace(
+ /\n/g,
+ `
+ `
+ )}`);
+ }
+ }, 'validateVisitor')
+ };
+ return (r.prototype = n), (r.prototype.constructor = r), (r._RULE_NAMES = e), r;
+ }
+ function yae(t, e, r) {
+ let n = o(function () {}, 'derivedConstructor');
+ IN(n, t + 'BaseSemanticsWithDefaults');
+ let i = Object.create(r.prototype);
+ return (
+ Ee(e, (a) => {
+ i[a] = FIe;
+ }),
+ (n.prototype = i),
+ (n.prototype.constructor = n),
+ n
+ );
+ }
+ function zIe(t, e) {
+ return GIe(t, e);
+ }
+ function GIe(t, e) {
+ let r = $r(e, (i) => wi(t[i]) === !1),
+ n = qe(r, (i) => ({
+ msg: `Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,
+ type: ON.MISSING_METHOD,
+ methodName: i
+ }));
+ return wc(n);
+ }
+ var ON,
+ vae = R(() => {
+ 'use strict';
+ Pt();
+ mae();
+ o(FIe, 'defaultVisit');
+ o(gae, 'createBaseSemanticVisitorConstructor');
+ o(yae, 'createBaseVisitorConstructorWithDefaults');
+ (function (t) {
+ (t[(t.REDUNDANT_METHOD = 0)] = 'REDUNDANT_METHOD'), (t[(t.MISSING_METHOD = 1)] = 'MISSING_METHOD');
+ })(ON || (ON = {}));
+ o(zIe, 'validateVisitor');
+ o(GIe, 'validateMissingCstMethods');
+ });
+ var sk,
+ xae = R(() => {
+ 'use strict';
+ pae();
+ Pt();
+ vae();
+ Ns();
+ sk = class {
+ static {
+ o(this, 'TreeBuilder');
+ }
+ initTreeBuilder(e) {
+ if (
+ ((this.CST_STACK = []),
+ (this.outputCst = e.outputCst),
+ (this.nodeLocationTracking = Xe(e, 'nodeLocationTracking')
+ ? e.nodeLocationTracking
+ : is.nodeLocationTracking),
+ !this.outputCst)
+ )
+ (this.cstInvocationStateUpdate = qn),
+ (this.cstFinallyStateUpdate = qn),
+ (this.cstPostTerminal = qn),
+ (this.cstPostNonTerminal = qn),
+ (this.cstPostRule = qn);
+ else if (/full/i.test(this.nodeLocationTracking))
+ this.recoveryEnabled
+ ? ((this.setNodeLocationFromToken = MN),
+ (this.setNodeLocationFromNode = MN),
+ (this.cstPostRule = qn),
+ (this.setInitialNodeLocation = this.setInitialNodeLocationFullRecovery))
+ : ((this.setNodeLocationFromToken = qn),
+ (this.setNodeLocationFromNode = qn),
+ (this.cstPostRule = this.cstPostRuleFull),
+ (this.setInitialNodeLocation = this.setInitialNodeLocationFullRegular));
+ else if (/onlyOffset/i.test(this.nodeLocationTracking))
+ this.recoveryEnabled
+ ? ((this.setNodeLocationFromToken = NN),
+ (this.setNodeLocationFromNode = NN),
+ (this.cstPostRule = qn),
+ (this.setInitialNodeLocation = this.setInitialNodeLocationOnlyOffsetRecovery))
+ : ((this.setNodeLocationFromToken = qn),
+ (this.setNodeLocationFromNode = qn),
+ (this.cstPostRule = this.cstPostRuleOnlyOffset),
+ (this.setInitialNodeLocation = this.setInitialNodeLocationOnlyOffsetRegular));
+ else if (/none/i.test(this.nodeLocationTracking))
+ (this.setNodeLocationFromToken = qn),
+ (this.setNodeLocationFromNode = qn),
+ (this.cstPostRule = qn),
+ (this.setInitialNodeLocation = qn);
+ else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`);
+ }
+ setInitialNodeLocationOnlyOffsetRecovery(e) {
+ e.location = { startOffset: NaN, endOffset: NaN };
+ }
+ setInitialNodeLocationOnlyOffsetRegular(e) {
+ e.location = { startOffset: this.LA(1).startOffset, endOffset: NaN };
+ }
+ setInitialNodeLocationFullRecovery(e) {
+ e.location = {
+ startOffset: NaN,
+ startLine: NaN,
+ startColumn: NaN,
+ endOffset: NaN,
+ endLine: NaN,
+ endColumn: NaN
+ };
+ }
+ setInitialNodeLocationFullRegular(e) {
+ let r = this.LA(1);
+ e.location = {
+ startOffset: r.startOffset,
+ startLine: r.startLine,
+ startColumn: r.startColumn,
+ endOffset: NaN,
+ endLine: NaN,
+ endColumn: NaN
+ };
+ }
+ cstInvocationStateUpdate(e) {
+ let r = { name: e, children: Object.create(null) };
+ this.setInitialNodeLocation(r), this.CST_STACK.push(r);
+ }
+ cstFinallyStateUpdate() {
+ this.CST_STACK.pop();
+ }
+ cstPostRuleFull(e) {
+ let r = this.LA(0),
+ n = e.location;
+ n.startOffset <= r.startOffset
+ ? ((n.endOffset = r.endOffset), (n.endLine = r.endLine), (n.endColumn = r.endColumn))
+ : ((n.startOffset = NaN), (n.startLine = NaN), (n.startColumn = NaN));
+ }
+ cstPostRuleOnlyOffset(e) {
+ let r = this.LA(0),
+ n = e.location;
+ n.startOffset <= r.startOffset ? (n.endOffset = r.endOffset) : (n.startOffset = NaN);
+ }
+ cstPostTerminal(e, r) {
+ let n = this.CST_STACK[this.CST_STACK.length - 1];
+ fae(n, r, e), this.setNodeLocationFromToken(n.location, r);
+ }
+ cstPostNonTerminal(e, r) {
+ let n = this.CST_STACK[this.CST_STACK.length - 1];
+ dae(n, r, e), this.setNodeLocationFromNode(n.location, e.location);
+ }
+ getBaseCstVisitorConstructor() {
+ if (er(this.baseCstVisitorConstructor)) {
+ let e = gae(this.className, Dr(this.gastProductionsCache));
+ return (this.baseCstVisitorConstructor = e), e;
+ }
+ return this.baseCstVisitorConstructor;
+ }
+ getBaseCstVisitorConstructorWithDefaults() {
+ if (er(this.baseCstVisitorWithDefaultsConstructor)) {
+ let e = yae(this.className, Dr(this.gastProductionsCache), this.getBaseCstVisitorConstructor());
+ return (this.baseCstVisitorWithDefaultsConstructor = e), e;
+ }
+ return this.baseCstVisitorWithDefaultsConstructor;
+ }
+ getLastExplicitRuleShortName() {
+ let e = this.RULE_STACK;
+ return e[e.length - 1];
+ }
+ getPreviousExplicitRuleShortName() {
+ let e = this.RULE_STACK;
+ return e[e.length - 2];
+ }
+ getLastExplicitRuleOccurrenceIndex() {
+ let e = this.RULE_OCCURRENCE_STACK;
+ return e[e.length - 1];
+ }
+ };
+ });
+ var ok,
+ bae = R(() => {
+ 'use strict';
+ Ns();
+ ok = class {
+ static {
+ o(this, 'LexerAdapter');
+ }
+ initLexerAdapter() {
+ (this.tokVector = []), (this.tokVectorLength = 0), (this.currIdx = -1);
+ }
+ set input(e) {
+ if (this.selfAnalysisDone !== !0)
+ throw Error("Missing invocation at the end of the Parser's constructor.");
+ this.reset(), (this.tokVector = e), (this.tokVectorLength = e.length);
+ }
+ get input() {
+ return this.tokVector;
+ }
+ SKIP_TOKEN() {
+ return this.currIdx <= this.tokVector.length - 2 ? (this.consumeToken(), this.LA(1)) : sg;
+ }
+ LA(e) {
+ let r = this.currIdx + e;
+ return r < 0 || this.tokVectorLength <= r ? sg : this.tokVector[r];
+ }
+ consumeToken() {
+ this.currIdx++;
+ }
+ exportLexerState() {
+ return this.currIdx;
+ }
+ importLexerState(e) {
+ this.currIdx = e;
+ }
+ resetLexerState() {
+ this.currIdx = -1;
+ }
+ moveToTerminatedState() {
+ this.currIdx = this.tokVector.length - 1;
+ }
+ getLexerPosition() {
+ return this.exportLexerState();
+ }
+ };
+ });
+ var lk,
+ wae = R(() => {
+ 'use strict';
+ Pt();
+ ag();
+ Ns();
+ Jm();
+ f2();
+ ns();
+ lk = class {
+ static {
+ o(this, 'RecognizerApi');
+ }
+ ACTION(e) {
+ return e.call(this);
+ }
+ consume(e, r, n) {
+ return this.consumeInternal(r, e, n);
+ }
+ subrule(e, r, n) {
+ return this.subruleInternal(r, e, n);
+ }
+ option(e, r) {
+ return this.optionInternal(r, e);
+ }
+ or(e, r) {
+ return this.orInternal(r, e);
+ }
+ many(e, r) {
+ return this.manyInternal(e, r);
+ }
+ atLeastOne(e, r) {
+ return this.atLeastOneInternal(e, r);
+ }
+ CONSUME(e, r) {
+ return this.consumeInternal(e, 0, r);
+ }
+ CONSUME1(e, r) {
+ return this.consumeInternal(e, 1, r);
+ }
+ CONSUME2(e, r) {
+ return this.consumeInternal(e, 2, r);
+ }
+ CONSUME3(e, r) {
+ return this.consumeInternal(e, 3, r);
+ }
+ CONSUME4(e, r) {
+ return this.consumeInternal(e, 4, r);
+ }
+ CONSUME5(e, r) {
+ return this.consumeInternal(e, 5, r);
+ }
+ CONSUME6(e, r) {
+ return this.consumeInternal(e, 6, r);
+ }
+ CONSUME7(e, r) {
+ return this.consumeInternal(e, 7, r);
+ }
+ CONSUME8(e, r) {
+ return this.consumeInternal(e, 8, r);
+ }
+ CONSUME9(e, r) {
+ return this.consumeInternal(e, 9, r);
+ }
+ SUBRULE(e, r) {
+ return this.subruleInternal(e, 0, r);
+ }
+ SUBRULE1(e, r) {
+ return this.subruleInternal(e, 1, r);
+ }
+ SUBRULE2(e, r) {
+ return this.subruleInternal(e, 2, r);
+ }
+ SUBRULE3(e, r) {
+ return this.subruleInternal(e, 3, r);
+ }
+ SUBRULE4(e, r) {
+ return this.subruleInternal(e, 4, r);
+ }
+ SUBRULE5(e, r) {
+ return this.subruleInternal(e, 5, r);
+ }
+ SUBRULE6(e, r) {
+ return this.subruleInternal(e, 6, r);
+ }
+ SUBRULE7(e, r) {
+ return this.subruleInternal(e, 7, r);
+ }
+ SUBRULE8(e, r) {
+ return this.subruleInternal(e, 8, r);
+ }
+ SUBRULE9(e, r) {
+ return this.subruleInternal(e, 9, r);
+ }
+ OPTION(e) {
+ return this.optionInternal(e, 0);
+ }
+ OPTION1(e) {
+ return this.optionInternal(e, 1);
+ }
+ OPTION2(e) {
+ return this.optionInternal(e, 2);
+ }
+ OPTION3(e) {
+ return this.optionInternal(e, 3);
+ }
+ OPTION4(e) {
+ return this.optionInternal(e, 4);
+ }
+ OPTION5(e) {
+ return this.optionInternal(e, 5);
+ }
+ OPTION6(e) {
+ return this.optionInternal(e, 6);
+ }
+ OPTION7(e) {
+ return this.optionInternal(e, 7);
+ }
+ OPTION8(e) {
+ return this.optionInternal(e, 8);
+ }
+ OPTION9(e) {
+ return this.optionInternal(e, 9);
+ }
+ OR(e) {
+ return this.orInternal(e, 0);
+ }
+ OR1(e) {
+ return this.orInternal(e, 1);
+ }
+ OR2(e) {
+ return this.orInternal(e, 2);
+ }
+ OR3(e) {
+ return this.orInternal(e, 3);
+ }
+ OR4(e) {
+ return this.orInternal(e, 4);
+ }
+ OR5(e) {
+ return this.orInternal(e, 5);
+ }
+ OR6(e) {
+ return this.orInternal(e, 6);
+ }
+ OR7(e) {
+ return this.orInternal(e, 7);
+ }
+ OR8(e) {
+ return this.orInternal(e, 8);
+ }
+ OR9(e) {
+ return this.orInternal(e, 9);
+ }
+ MANY(e) {
+ this.manyInternal(0, e);
+ }
+ MANY1(e) {
+ this.manyInternal(1, e);
+ }
+ MANY2(e) {
+ this.manyInternal(2, e);
+ }
+ MANY3(e) {
+ this.manyInternal(3, e);
+ }
+ MANY4(e) {
+ this.manyInternal(4, e);
+ }
+ MANY5(e) {
+ this.manyInternal(5, e);
+ }
+ MANY6(e) {
+ this.manyInternal(6, e);
+ }
+ MANY7(e) {
+ this.manyInternal(7, e);
+ }
+ MANY8(e) {
+ this.manyInternal(8, e);
+ }
+ MANY9(e) {
+ this.manyInternal(9, e);
+ }
+ MANY_SEP(e) {
+ this.manySepFirstInternal(0, e);
+ }
+ MANY_SEP1(e) {
+ this.manySepFirstInternal(1, e);
+ }
+ MANY_SEP2(e) {
+ this.manySepFirstInternal(2, e);
+ }
+ MANY_SEP3(e) {
+ this.manySepFirstInternal(3, e);
+ }
+ MANY_SEP4(e) {
+ this.manySepFirstInternal(4, e);
+ }
+ MANY_SEP5(e) {
+ this.manySepFirstInternal(5, e);
+ }
+ MANY_SEP6(e) {
+ this.manySepFirstInternal(6, e);
+ }
+ MANY_SEP7(e) {
+ this.manySepFirstInternal(7, e);
+ }
+ MANY_SEP8(e) {
+ this.manySepFirstInternal(8, e);
+ }
+ MANY_SEP9(e) {
+ this.manySepFirstInternal(9, e);
+ }
+ AT_LEAST_ONE(e) {
+ this.atLeastOneInternal(0, e);
+ }
+ AT_LEAST_ONE1(e) {
+ return this.atLeastOneInternal(1, e);
+ }
+ AT_LEAST_ONE2(e) {
+ this.atLeastOneInternal(2, e);
+ }
+ AT_LEAST_ONE3(e) {
+ this.atLeastOneInternal(3, e);
+ }
+ AT_LEAST_ONE4(e) {
+ this.atLeastOneInternal(4, e);
+ }
+ AT_LEAST_ONE5(e) {
+ this.atLeastOneInternal(5, e);
+ }
+ AT_LEAST_ONE6(e) {
+ this.atLeastOneInternal(6, e);
+ }
+ AT_LEAST_ONE7(e) {
+ this.atLeastOneInternal(7, e);
+ }
+ AT_LEAST_ONE8(e) {
+ this.atLeastOneInternal(8, e);
+ }
+ AT_LEAST_ONE9(e) {
+ this.atLeastOneInternal(9, e);
+ }
+ AT_LEAST_ONE_SEP(e) {
+ this.atLeastOneSepFirstInternal(0, e);
+ }
+ AT_LEAST_ONE_SEP1(e) {
+ this.atLeastOneSepFirstInternal(1, e);
+ }
+ AT_LEAST_ONE_SEP2(e) {
+ this.atLeastOneSepFirstInternal(2, e);
+ }
+ AT_LEAST_ONE_SEP3(e) {
+ this.atLeastOneSepFirstInternal(3, e);
+ }
+ AT_LEAST_ONE_SEP4(e) {
+ this.atLeastOneSepFirstInternal(4, e);
+ }
+ AT_LEAST_ONE_SEP5(e) {
+ this.atLeastOneSepFirstInternal(5, e);
+ }
+ AT_LEAST_ONE_SEP6(e) {
+ this.atLeastOneSepFirstInternal(6, e);
+ }
+ AT_LEAST_ONE_SEP7(e) {
+ this.atLeastOneSepFirstInternal(7, e);
+ }
+ AT_LEAST_ONE_SEP8(e) {
+ this.atLeastOneSepFirstInternal(8, e);
+ }
+ AT_LEAST_ONE_SEP9(e) {
+ this.atLeastOneSepFirstInternal(9, e);
+ }
+ RULE(e, r, n = og) {
+ if (Fn(this.definedRulesNames, e)) {
+ let s = {
+ message: Ol.buildDuplicateRuleNameError({
+ topLevelRule: e,
+ grammarName: this.className
+ }),
+ type: Pi.DUPLICATE_RULE_NAME,
+ ruleName: e
+ };
+ this.definitionErrors.push(s);
+ }
+ this.definedRulesNames.push(e);
+ let i = this.defineRule(e, r, n);
+ return (this[e] = i), i;
+ }
+ OVERRIDE_RULE(e, r, n = og) {
+ let i = Jie(e, this.definedRulesNames, this.className);
+ this.definitionErrors = this.definitionErrors.concat(i);
+ let a = this.defineRule(e, r, n);
+ return (this[e] = a), a;
+ }
+ BACKTRACK(e, r) {
+ return function () {
+ this.isBackTrackingStack.push(1);
+ let n = this.saveRecogState();
+ try {
+ return e.apply(this, r), !0;
+ } catch (i) {
+ if (nf(i)) return !1;
+ throw i;
+ } finally {
+ this.reloadRecogState(n), this.isBackTrackingStack.pop();
+ }
+ };
+ }
+ getGAstProductions() {
+ return this.gastProductionsCache;
+ }
+ getSerializedGastProductions() {
+ return NT(or(this.gastProductionsCache));
+ }
+ };
+ });
+ var ck,
+ Tae = R(() => {
+ 'use strict';
+ Pt();
+ ek();
+ ag();
+ ng();
+ c2();
+ Ns();
+ AN();
+ l0();
+ s0();
+ ck = class {
+ static {
+ o(this, 'RecognizerEngine');
+ }
+ initRecognizerEngine(e, r) {
+ if (
+ ((this.className = this.constructor.name),
+ (this.shortRuleNameToFull = {}),
+ (this.fullRuleNameToShort = {}),
+ (this.ruleShortNameIdx = 256),
+ (this.tokenMatcher = Zm),
+ (this.subruleIdx = 0),
+ (this.definedRulesNames = []),
+ (this.tokensMap = {}),
+ (this.isBackTrackingStack = []),
+ (this.RULE_STACK = []),
+ (this.RULE_OCCURRENCE_STACK = []),
+ (this.gastProductionsCache = {}),
+ Xe(r, 'serializedGrammar'))
+ )
+ throw Error(`The Parser's configuration can no longer contain a property.
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
+ For Further details.`);
+ if (wt(e)) {
+ if (Qt(e))
+ throw Error(`A Token Vocabulary cannot be empty.
+ Note that the first argument for the parser constructor
+ is no longer a Token vector (since v4.0).`);
+ if (typeof e[0].startOffset == 'number')
+ throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
+ For Further details.`);
+ }
+ if (wt(e)) this.tokensMap = Vr(e, (a, s) => ((a[s.name] = s), a), {});
+ else if (Xe(e, 'modes') && Ia(Gr(or(e.modes)), Die)) {
+ let a = Gr(or(e.modes)),
+ s = Pm(a);
+ this.tokensMap = Vr(s, (l, u) => ((l[u.name] = u), l), {});
+ } else if (pn(e)) this.tokensMap = Qr(e);
+ else
+ throw new Error(
+ ' argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition'
+ );
+ this.tokensMap.EOF = fo;
+ let n = Xe(e, 'modes') ? Gr(or(e.modes)) : or(e),
+ i = Ia(n, (a) => Qt(a.categoryMatches));
+ (this.tokenMatcher = i ? Zm : Bu), Fu(or(this.tokensMap));
+ }
+ defineRule(e, r, n) {
+ if (this.selfAnalysisDone)
+ throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
+Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);
+ let i = Xe(n, 'resyncEnabled') ? n.resyncEnabled : og.resyncEnabled,
+ a = Xe(n, 'recoveryValueFunc') ? n.recoveryValueFunc : og.recoveryValueFunc,
+ s = this.ruleShortNameIdx << 12;
+ this.ruleShortNameIdx++, (this.shortRuleNameToFull[s] = e), (this.fullRuleNameToShort[e] = s);
+ let l;
+ return (
+ this.outputCst === !0
+ ? (l = o(function (...f) {
+ try {
+ this.ruleInvocationStateUpdate(s, e, this.subruleIdx), r.apply(this, f);
+ let d = this.CST_STACK[this.CST_STACK.length - 1];
+ return this.cstPostRule(d), d;
+ } catch (d) {
+ return this.invokeRuleCatch(d, i, a);
+ } finally {
+ this.ruleFinallyStateUpdate();
+ }
+ }, 'invokeRuleWithTry'))
+ : (l = o(function (...f) {
+ try {
+ return this.ruleInvocationStateUpdate(s, e, this.subruleIdx), r.apply(this, f);
+ } catch (d) {
+ return this.invokeRuleCatch(d, i, a);
+ } finally {
+ this.ruleFinallyStateUpdate();
+ }
+ }, 'invokeRuleWithTryCst')),
+ Object.assign(l, { ruleName: e, originalGrammarAction: r })
+ );
+ }
+ invokeRuleCatch(e, r, n) {
+ let i = this.RULE_STACK.length === 1,
+ a = r && !this.isBackTracking() && this.recoveryEnabled;
+ if (nf(e)) {
+ let s = e;
+ if (a) {
+ let l = this.findReSyncTokenType();
+ if (this.isInCurrentRuleReSyncSet(l))
+ if (((s.resyncedTokens = this.reSyncTo(l)), this.outputCst)) {
+ let u = this.CST_STACK[this.CST_STACK.length - 1];
+ return (u.recoveredNode = !0), u;
+ } else return n(e);
+ else {
+ if (this.outputCst) {
+ let u = this.CST_STACK[this.CST_STACK.length - 1];
+ (u.recoveredNode = !0), (s.partialCstResult = u);
+ }
+ throw s;
+ }
+ } else {
+ if (i) return this.moveToTerminatedState(), n(e);
+ throw s;
+ }
+ } else throw e;
+ }
+ optionInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(512, r);
+ return this.optionInternalLogic(e, r, n);
+ }
+ optionInternalLogic(e, r, n) {
+ let i = this.getLaFuncFromCache(n),
+ a;
+ if (typeof e != 'function') {
+ a = e.DEF;
+ let s = e.GATE;
+ if (s !== void 0) {
+ let l = i;
+ i = o(() => s.call(this) && l.call(this), 'lookAheadFunc');
+ }
+ } else a = e;
+ if (i.call(this) === !0) return a.call(this);
+ }
+ atLeastOneInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(1024, e);
+ return this.atLeastOneInternalLogic(e, r, n);
+ }
+ atLeastOneInternalLogic(e, r, n) {
+ let i = this.getLaFuncFromCache(n),
+ a;
+ if (typeof r != 'function') {
+ a = r.DEF;
+ let s = r.GATE;
+ if (s !== void 0) {
+ let l = i;
+ i = o(() => s.call(this) && l.call(this), 'lookAheadFunc');
+ }
+ } else a = r;
+ if (i.call(this) === !0) {
+ let s = this.doSingleRepetition(a);
+ for (; i.call(this) === !0 && s === !0; ) s = this.doSingleRepetition(a);
+ } else throw this.raiseEarlyExitException(e, $n.REPETITION_MANDATORY, r.ERR_MSG);
+ this.attemptInRepetitionRecovery(this.atLeastOneInternal, [e, r], i, 1024, e, YT);
+ }
+ atLeastOneSepFirstInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(1536, e);
+ this.atLeastOneSepFirstInternalLogic(e, r, n);
+ }
+ atLeastOneSepFirstInternalLogic(e, r, n) {
+ let i = r.DEF,
+ a = r.SEP;
+ if (this.getLaFuncFromCache(n).call(this) === !0) {
+ i.call(this);
+ let l = o(() => this.tokenMatcher(this.LA(1), a), 'separatorLookAheadFunc');
+ for (; this.tokenMatcher(this.LA(1), a) === !0; ) this.CONSUME(a), i.call(this);
+ this.attemptInRepetitionRecovery(
+ this.repetitionSepSecondInternal,
+ [e, a, l, i, l2],
+ l,
+ 1536,
+ e,
+ l2
+ );
+ } else throw this.raiseEarlyExitException(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR, r.ERR_MSG);
+ }
+ manyInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(768, e);
+ return this.manyInternalLogic(e, r, n);
+ }
+ manyInternalLogic(e, r, n) {
+ let i = this.getLaFuncFromCache(n),
+ a;
+ if (typeof r != 'function') {
+ a = r.DEF;
+ let l = r.GATE;
+ if (l !== void 0) {
+ let u = i;
+ i = o(() => l.call(this) && u.call(this), 'lookaheadFunction');
+ }
+ } else a = r;
+ let s = !0;
+ for (; i.call(this) === !0 && s === !0; ) s = this.doSingleRepetition(a);
+ this.attemptInRepetitionRecovery(this.manyInternal, [e, r], i, 768, e, HT, s);
+ }
+ manySepFirstInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(1280, e);
+ this.manySepFirstInternalLogic(e, r, n);
+ }
+ manySepFirstInternalLogic(e, r, n) {
+ let i = r.DEF,
+ a = r.SEP;
+ if (this.getLaFuncFromCache(n).call(this) === !0) {
+ i.call(this);
+ let l = o(() => this.tokenMatcher(this.LA(1), a), 'separatorLookAheadFunc');
+ for (; this.tokenMatcher(this.LA(1), a) === !0; ) this.CONSUME(a), i.call(this);
+ this.attemptInRepetitionRecovery(
+ this.repetitionSepSecondInternal,
+ [e, a, l, i, o2],
+ l,
+ 1280,
+ e,
+ o2
+ );
+ }
+ }
+ repetitionSepSecondInternal(e, r, n, i, a) {
+ for (; n(); ) this.CONSUME(r), i.call(this);
+ this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal, [e, r, n, i, a], n, 1536, e, a);
+ }
+ doSingleRepetition(e) {
+ let r = this.getLexerPosition();
+ return e.call(this), this.getLexerPosition() > r;
+ }
+ orInternal(e, r) {
+ let n = this.getKeyForAutomaticLookahead(256, r),
+ i = wt(e) ? e : e.DEF,
+ s = this.getLaFuncFromCache(n).call(this, i);
+ if (s !== void 0) return i[s].ALT.call(this);
+ this.raiseNoAltException(r, e.ERR_MSG);
+ }
+ ruleFinallyStateUpdate() {
+ if (
+ (this.RULE_STACK.pop(),
+ this.RULE_OCCURRENCE_STACK.pop(),
+ this.cstFinallyStateUpdate(),
+ this.RULE_STACK.length === 0 && this.isAtEndOfInput() === !1)
+ ) {
+ let e = this.LA(1),
+ r = this.errorMessageProvider.buildNotAllInputParsedMessage({
+ firstRedundant: e,
+ ruleName: this.getCurrRuleFullName()
+ });
+ this.SAVE_ERROR(new p2(r, e));
+ }
+ }
+ subruleInternal(e, r, n) {
+ let i;
+ try {
+ let a = n !== void 0 ? n.ARGS : void 0;
+ return (
+ (this.subruleIdx = r),
+ (i = e.apply(this, a)),
+ this.cstPostNonTerminal(i, n !== void 0 && n.LABEL !== void 0 ? n.LABEL : e.ruleName),
+ i
+ );
+ } catch (a) {
+ throw this.subruleInternalError(a, n, e.ruleName);
+ }
+ }
+ subruleInternalError(e, r, n) {
+ throw (
+ (nf(e) &&
+ e.partialCstResult !== void 0 &&
+ (this.cstPostNonTerminal(
+ e.partialCstResult,
+ r !== void 0 && r.LABEL !== void 0 ? r.LABEL : n
+ ),
+ delete e.partialCstResult),
+ e)
+ );
+ }
+ consumeInternal(e, r, n) {
+ let i;
+ try {
+ let a = this.LA(1);
+ this.tokenMatcher(a, e) === !0
+ ? (this.consumeToken(), (i = a))
+ : this.consumeInternalError(e, a, n);
+ } catch (a) {
+ i = this.consumeInternalRecovery(e, r, a);
+ }
+ return this.cstPostTerminal(n !== void 0 && n.LABEL !== void 0 ? n.LABEL : e.name, i), i;
+ }
+ consumeInternalError(e, r, n) {
+ let i,
+ a = this.LA(0);
+ throw (
+ (n !== void 0 && n.ERR_MSG
+ ? (i = n.ERR_MSG)
+ : (i = this.errorMessageProvider.buildMismatchTokenMessage({
+ expected: e,
+ actual: r,
+ previous: a,
+ ruleName: this.getCurrRuleFullName()
+ })),
+ this.SAVE_ERROR(new c0(i, r, a)))
+ );
+ }
+ consumeInternalRecovery(e, r, n) {
+ if (this.recoveryEnabled && n.name === 'MismatchedTokenException' && !this.isBackTracking()) {
+ let i = this.getFollowsForInRuleRecovery(e, r);
+ try {
+ return this.tryInRuleRecovery(e, i);
+ } catch (a) {
+ throw a.name === SN ? n : a;
+ }
+ } else throw n;
+ }
+ saveRecogState() {
+ let e = this.errors,
+ r = Qr(this.RULE_STACK);
+ return {
+ errors: e,
+ lexerState: this.exportLexerState(),
+ RULE_STACK: r,
+ CST_STACK: this.CST_STACK
+ };
+ }
+ reloadRecogState(e) {
+ (this.errors = e.errors), this.importLexerState(e.lexerState), (this.RULE_STACK = e.RULE_STACK);
+ }
+ ruleInvocationStateUpdate(e, r, n) {
+ this.RULE_OCCURRENCE_STACK.push(n), this.RULE_STACK.push(e), this.cstInvocationStateUpdate(r);
+ }
+ isBackTracking() {
+ return this.isBackTrackingStack.length !== 0;
+ }
+ getCurrRuleFullName() {
+ let e = this.getLastExplicitRuleShortName();
+ return this.shortRuleNameToFull[e];
+ }
+ shortRuleNameToFullName(e) {
+ return this.shortRuleNameToFull[e];
+ }
+ isAtEndOfInput() {
+ return this.tokenMatcher(this.LA(1), fo);
+ }
+ reset() {
+ this.resetLexerState(),
+ (this.subruleIdx = 0),
+ (this.isBackTrackingStack = []),
+ (this.errors = []),
+ (this.RULE_STACK = []),
+ (this.CST_STACK = []),
+ (this.RULE_OCCURRENCE_STACK = []);
+ }
+ };
+ });
+ var uk,
+ kae = R(() => {
+ 'use strict';
+ ag();
+ Pt();
+ ng();
+ Ns();
+ uk = class {
+ static {
+ o(this, 'ErrorHandler');
+ }
+ initErrorHandler(e) {
+ (this._errors = []),
+ (this.errorMessageProvider = Xe(e, 'errorMessageProvider')
+ ? e.errorMessageProvider
+ : is.errorMessageProvider);
+ }
+ SAVE_ERROR(e) {
+ if (nf(e))
+ return (
+ (e.context = {
+ ruleStack: this.getHumanReadableRuleStack(),
+ ruleOccurrenceStack: Qr(this.RULE_OCCURRENCE_STACK)
+ }),
+ this._errors.push(e),
+ e
+ );
+ throw Error('Trying to save an Error which is not a RecognitionException');
+ }
+ get errors() {
+ return Qr(this._errors);
+ }
+ set errors(e) {
+ this._errors = e;
+ }
+ raiseEarlyExitException(e, r, n) {
+ let i = this.getCurrRuleFullName(),
+ a = this.getGAstProductions()[i],
+ l = rg(e, a, r, this.maxLookahead)[0],
+ u = [];
+ for (let f = 1; f <= this.maxLookahead; f++) u.push(this.LA(f));
+ let h = this.errorMessageProvider.buildEarlyExitMessage({
+ expectedIterationPaths: l,
+ actual: u,
+ previous: this.LA(0),
+ customUserDescription: n,
+ ruleName: i
+ });
+ throw this.SAVE_ERROR(new m2(h, this.LA(1), this.LA(0)));
+ }
+ raiseNoAltException(e, r) {
+ let n = this.getCurrRuleFullName(),
+ i = this.getGAstProductions()[n],
+ a = tg(e, i, this.maxLookahead),
+ s = [];
+ for (let h = 1; h <= this.maxLookahead; h++) s.push(this.LA(h));
+ let l = this.LA(0),
+ u = this.errorMessageProvider.buildNoViableAltMessage({
+ expectedPathsPerAlt: a,
+ actual: s,
+ previous: l,
+ customUserDescription: r,
+ ruleName: this.getCurrRuleFullName()
+ });
+ throw this.SAVE_ERROR(new d2(u, this.LA(1), l));
+ }
+ };
+ });
+ var hk,
+ Eae = R(() => {
+ 'use strict';
+ c2();
+ Pt();
+ hk = class {
+ static {
+ o(this, 'ContentAssist');
+ }
+ initContentAssist() {}
+ computeContentAssist(e, r) {
+ let n = this.gastProductionsCache[e];
+ if (er(n)) throw Error(`Rule ->${e}<- does not exist in this grammar.`);
+ return qT([n], r, this.tokenMatcher, this.maxLookahead);
+ }
+ getNextPossibleTokenTypes(e) {
+ let r = na(e.ruleStack),
+ i = this.getGAstProductions()[r];
+ return new UT(i, e).startWalking();
+ }
+ };
+ });
+ function y2(t, e, r, n = !1) {
+ dk(r);
+ let i = ma(this.recordingProdStack),
+ a = wi(e) ? e : e.DEF,
+ s = new t({ definition: [], idx: r });
+ return (
+ n && (s.separator = e.SEP),
+ Xe(e, 'MAX_LOOKAHEAD') && (s.maxLookahead = e.MAX_LOOKAHEAD),
+ this.recordingProdStack.push(s),
+ a.call(this),
+ i.definition.push(s),
+ this.recordingProdStack.pop(),
+ pk
+ );
+ }
+ function UIe(t, e) {
+ dk(e);
+ let r = ma(this.recordingProdStack),
+ n = wt(t) === !1,
+ i = n === !1 ? t : t.DEF,
+ a = new gn({
+ definition: [],
+ idx: e,
+ ignoreAmbiguities: n && t.IGNORE_AMBIGUITIES === !0
+ });
+ Xe(t, 'MAX_LOOKAHEAD') && (a.maxLookahead = t.MAX_LOOKAHEAD);
+ let s = Nv(i, (l) => wi(l.GATE));
+ return (
+ (a.hasPredicates = s),
+ r.definition.push(a),
+ Ee(i, (l) => {
+ let u = new Sn({ definition: [] });
+ a.definition.push(u),
+ Xe(l, 'IGNORE_AMBIGUITIES')
+ ? (u.ignoreAmbiguities = l.IGNORE_AMBIGUITIES)
+ : Xe(l, 'GATE') && (u.ignoreAmbiguities = !0),
+ this.recordingProdStack.push(u),
+ l.ALT.call(this),
+ this.recordingProdStack.pop();
+ }),
+ pk
+ );
+ }
+ function Aae(t) {
+ return t === 0 ? '' : `${t}`;
+ }
+ function dk(t) {
+ if (t < 0 || t > Sae) {
+ let e = new Error(`Invalid DSL Method idx value: <${t}>
+ Idx value must be a none negative value smaller than ${Sae + 1}`);
+ throw ((e.KNOWN_RECORDER_ERROR = !0), e);
+ }
+ }
+ var pk,
+ Cae,
+ Sae,
+ _ae,
+ Lae,
+ VIe,
+ fk,
+ Dae = R(() => {
+ 'use strict';
+ Pt();
+ ns();
+ i2();
+ s0();
+ l0();
+ Ns();
+ ek();
+ pk = {
+ description: 'This Object indicates the Parser is during Recording Phase'
+ };
+ Object.freeze(pk);
+ (Cae = !0), (Sae = Math.pow(2, 8) - 1), (_ae = VT({ name: 'RECORDING_PHASE_TOKEN', pattern: ni.NA }));
+ Fu([_ae]);
+ Lae = o0(
+ _ae,
+ `This IToken indicates the Parser is in Recording Phase
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ );
+ Object.freeze(Lae);
+ (VIe = {
+ name: `This CSTNode indicates the Parser is in Recording Phase
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,
+ children: {}
+ }),
+ (fk = class {
+ static {
+ o(this, 'GastRecorder');
+ }
+ initGastRecorder(e) {
+ (this.recordingProdStack = []), (this.RECORDING_PHASE = !1);
+ }
+ enableRecording() {
+ (this.RECORDING_PHASE = !0),
+ this.TRACE_INIT('Enable Recording', () => {
+ for (let e = 0; e < 10; e++) {
+ let r = e > 0 ? e : '';
+ (this[`CONSUME${r}`] = function (n, i) {
+ return this.consumeInternalRecord(n, e, i);
+ }),
+ (this[`SUBRULE${r}`] = function (n, i) {
+ return this.subruleInternalRecord(n, e, i);
+ }),
+ (this[`OPTION${r}`] = function (n) {
+ return this.optionInternalRecord(n, e);
+ }),
+ (this[`OR${r}`] = function (n) {
+ return this.orInternalRecord(n, e);
+ }),
+ (this[`MANY${r}`] = function (n) {
+ this.manyInternalRecord(e, n);
+ }),
+ (this[`MANY_SEP${r}`] = function (n) {
+ this.manySepFirstInternalRecord(e, n);
+ }),
+ (this[`AT_LEAST_ONE${r}`] = function (n) {
+ this.atLeastOneInternalRecord(e, n);
+ }),
+ (this[`AT_LEAST_ONE_SEP${r}`] = function (n) {
+ this.atLeastOneSepFirstInternalRecord(e, n);
+ });
+ }
+ (this.consume = function (e, r, n) {
+ return this.consumeInternalRecord(r, e, n);
+ }),
+ (this.subrule = function (e, r, n) {
+ return this.subruleInternalRecord(r, e, n);
+ }),
+ (this.option = function (e, r) {
+ return this.optionInternalRecord(r, e);
+ }),
+ (this.or = function (e, r) {
+ return this.orInternalRecord(r, e);
+ }),
+ (this.many = function (e, r) {
+ this.manyInternalRecord(e, r);
+ }),
+ (this.atLeastOne = function (e, r) {
+ this.atLeastOneInternalRecord(e, r);
+ }),
+ (this.ACTION = this.ACTION_RECORD),
+ (this.BACKTRACK = this.BACKTRACK_RECORD),
+ (this.LA = this.LA_RECORD);
+ });
+ }
+ disableRecording() {
+ (this.RECORDING_PHASE = !1),
+ this.TRACE_INIT('Deleting Recording methods', () => {
+ let e = this;
+ for (let r = 0; r < 10; r++) {
+ let n = r > 0 ? r : '';
+ delete e[`CONSUME${n}`],
+ delete e[`SUBRULE${n}`],
+ delete e[`OPTION${n}`],
+ delete e[`OR${n}`],
+ delete e[`MANY${n}`],
+ delete e[`MANY_SEP${n}`],
+ delete e[`AT_LEAST_ONE${n}`],
+ delete e[`AT_LEAST_ONE_SEP${n}`];
+ }
+ delete e.consume,
+ delete e.subrule,
+ delete e.option,
+ delete e.or,
+ delete e.many,
+ delete e.atLeastOne,
+ delete e.ACTION,
+ delete e.BACKTRACK,
+ delete e.LA;
+ });
+ }
+ ACTION_RECORD(e) {}
+ BACKTRACK_RECORD(e, r) {
+ return () => !0;
+ }
+ LA_RECORD(e) {
+ return sg;
+ }
+ topLevelRuleRecord(e, r) {
+ try {
+ let n = new ts({ definition: [], name: e });
+ return (
+ (n.name = e),
+ this.recordingProdStack.push(n),
+ r.call(this),
+ this.recordingProdStack.pop(),
+ n
+ );
+ } catch (n) {
+ if (n.KNOWN_RECORDER_ERROR !== !0)
+ try {
+ n.message =
+ n.message +
+ `
+ This error was thrown during the "grammar recording phase" For more info see:
+ https://chevrotain.io/docs/guide/internals.html#grammar-recording`;
+ } catch {
+ throw n;
+ }
+ throw n;
+ }
+ }
+ optionInternalRecord(e, r) {
+ return y2.call(this, Jr, e, r);
+ }
+ atLeastOneInternalRecord(e, r) {
+ y2.call(this, An, r, e);
+ }
+ atLeastOneSepFirstInternalRecord(e, r) {
+ y2.call(this, _n, r, e, Cae);
+ }
+ manyInternalRecord(e, r) {
+ y2.call(this, br, r, e);
+ }
+ manySepFirstInternalRecord(e, r) {
+ y2.call(this, mn, r, e, Cae);
+ }
+ orInternalRecord(e, r) {
+ return UIe.call(this, e, r);
+ }
+ subruleInternalRecord(e, r, n) {
+ if ((dk(r), !e || Xe(e, 'ruleName') === !1)) {
+ let l = new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
+ inside top level rule: <${this.recordingProdStack[0].name}>`);
+ throw ((l.KNOWN_RECORDER_ERROR = !0), l);
+ }
+ let i = ma(this.recordingProdStack),
+ a = e.ruleName,
+ s = new Zr({
+ idx: r,
+ nonTerminalName: a,
+ label: n?.LABEL,
+ referencedRule: void 0
+ });
+ return i.definition.push(s), this.outputCst ? VIe : pk;
+ }
+ consumeInternalRecord(e, r, n) {
+ if ((dk(r), !dN(e))) {
+ let s = new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
+ inside top level rule: <${this.recordingProdStack[0].name}>`);
+ throw ((s.KNOWN_RECORDER_ERROR = !0), s);
+ }
+ let i = ma(this.recordingProdStack),
+ a = new fr({ idx: r, terminalType: e, label: n?.LABEL });
+ return i.definition.push(a), Lae;
+ }
+ });
+ o(y2, 'recordProd');
+ o(UIe, 'recordOrProd');
+ o(Aae, 'getIdxSuffix');
+ o(dk, 'assertMethodIdxIsValid');
+ });
+ var mk,
+ Rae = R(() => {
+ 'use strict';
+ Pt();
+ qm();
+ Ns();
+ mk = class {
+ static {
+ o(this, 'PerformanceTracer');
+ }
+ initPerformanceTracer(e) {
+ if (Xe(e, 'traceInitPerf')) {
+ let r = e.traceInitPerf,
+ n = typeof r == 'number';
+ (this.traceInitMaxIdent = n ? r : 1 / 0), (this.traceInitPerf = n ? r > 0 : r);
+ } else (this.traceInitMaxIdent = 0), (this.traceInitPerf = is.traceInitPerf);
+ this.traceInitIndent = -1;
+ }
+ TRACE_INIT(e, r) {
+ if (this.traceInitPerf === !0) {
+ this.traceInitIndent++;
+ let n = new Array(this.traceInitIndent + 1).join(' ');
+ this.traceInitIndent < this.traceInitMaxIdent && console.log(`${n}--> <${e}>`);
+ let { time: i, value: a } = t2(r),
+ s = i > 10 ? console.warn : console.log;
+ return (
+ this.traceInitIndent < this.traceInitMaxIdent && s(`${n}<-- <${e}> time: ${i}ms`),
+ this.traceInitIndent--,
+ a
+ );
+ } else return r();
+ }
+ };
+ });
+ function Nae(t, e) {
+ e.forEach((r) => {
+ let n = r.prototype;
+ Object.getOwnPropertyNames(n).forEach((i) => {
+ if (i === 'constructor') return;
+ let a = Object.getOwnPropertyDescriptor(n, i);
+ a && (a.get || a.set) ? Object.defineProperty(t.prototype, i, a) : (t.prototype[i] = r.prototype[i]);
+ });
+ });
+ }
+ var Mae = R(() => {
+ 'use strict';
+ o(Nae, 'applyMixins');
+ });
+ function gk(t = void 0) {
+ return function () {
+ return t;
+ };
+ }
+ var sg,
+ is,
+ og,
+ Pi,
+ v2,
+ x2,
+ Ns = R(() => {
+ 'use strict';
+ Pt();
+ qm();
+ cie();
+ l0();
+ Jm();
+ aae();
+ AN();
+ hae();
+ xae();
+ bae();
+ wae();
+ Tae();
+ kae();
+ Eae();
+ Dae();
+ Rae();
+ Mae();
+ f2();
+ sg = o0(fo, '', NaN, NaN, NaN, NaN, NaN, NaN);
+ Object.freeze(sg);
+ (is = Object.freeze({
+ recoveryEnabled: !1,
+ maxLookahead: 3,
+ dynamicTokensEnabled: !1,
+ outputCst: !0,
+ errorMessageProvider: Gu,
+ nodeLocationTracking: 'none',
+ traceInitPerf: !1,
+ skipValidations: !1
+ })),
+ (og = Object.freeze({
+ recoveryValueFunc: o(() => {}, 'recoveryValueFunc'),
+ resyncEnabled: !0
+ }));
+ (function (t) {
+ (t[(t.INVALID_RULE_NAME = 0)] = 'INVALID_RULE_NAME'),
+ (t[(t.DUPLICATE_RULE_NAME = 1)] = 'DUPLICATE_RULE_NAME'),
+ (t[(t.INVALID_RULE_OVERRIDE = 2)] = 'INVALID_RULE_OVERRIDE'),
+ (t[(t.DUPLICATE_PRODUCTIONS = 3)] = 'DUPLICATE_PRODUCTIONS'),
+ (t[(t.UNRESOLVED_SUBRULE_REF = 4)] = 'UNRESOLVED_SUBRULE_REF'),
+ (t[(t.LEFT_RECURSION = 5)] = 'LEFT_RECURSION'),
+ (t[(t.NONE_LAST_EMPTY_ALT = 6)] = 'NONE_LAST_EMPTY_ALT'),
+ (t[(t.AMBIGUOUS_ALTS = 7)] = 'AMBIGUOUS_ALTS'),
+ (t[(t.CONFLICT_TOKENS_RULES_NAMESPACE = 8)] = 'CONFLICT_TOKENS_RULES_NAMESPACE'),
+ (t[(t.INVALID_TOKEN_NAME = 9)] = 'INVALID_TOKEN_NAME'),
+ (t[(t.NO_NON_EMPTY_LOOKAHEAD = 10)] = 'NO_NON_EMPTY_LOOKAHEAD'),
+ (t[(t.AMBIGUOUS_PREFIX_ALTS = 11)] = 'AMBIGUOUS_PREFIX_ALTS'),
+ (t[(t.TOO_MANY_ALTS = 12)] = 'TOO_MANY_ALTS'),
+ (t[(t.CUSTOM_LOOKAHEAD_VALIDATION = 13)] = 'CUSTOM_LOOKAHEAD_VALIDATION');
+ })(Pi || (Pi = {}));
+ o(gk, 'EMPTY_ALT');
+ v2 = class t {
+ static {
+ o(this, 'Parser');
+ }
+ static performSelfAnalysis(e) {
+ throw Error(
+ 'The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.'
+ );
+ }
+ performSelfAnalysis() {
+ this.TRACE_INIT('performSelfAnalysis', () => {
+ let e;
+ this.selfAnalysisDone = !0;
+ let r = this.className;
+ this.TRACE_INIT('toFastProps', () => {
+ r2(this);
+ }),
+ this.TRACE_INIT('Grammar Recording', () => {
+ try {
+ this.enableRecording(),
+ Ee(this.definedRulesNames, (i) => {
+ let s = this[i].originalGrammarAction,
+ l;
+ this.TRACE_INIT(`${i} Rule`, () => {
+ l = this.topLevelRuleRecord(i, s);
+ }),
+ (this.gastProductionsCache[i] = l);
+ });
+ } finally {
+ this.disableRecording();
+ }
+ });
+ let n = [];
+ if (
+ (this.TRACE_INIT('Grammar Resolving', () => {
+ (n = nae({ rules: or(this.gastProductionsCache) })),
+ (this.definitionErrors = this.definitionErrors.concat(n));
+ }),
+ this.TRACE_INIT('Grammar Validations', () => {
+ if (Qt(n) && this.skipValidations === !1) {
+ let i = iae({
+ rules: or(this.gastProductionsCache),
+ tokenTypes: or(this.tokensMap),
+ errMsgProvider: Ol,
+ grammarName: r
+ }),
+ a = Kie({
+ lookaheadStrategy: this.lookaheadStrategy,
+ rules: or(this.gastProductionsCache),
+ tokenTypes: or(this.tokensMap),
+ grammarName: r
+ });
+ this.definitionErrors = this.definitionErrors.concat(i, a);
+ }
+ }),
+ Qt(this.definitionErrors) &&
+ (this.recoveryEnabled &&
+ this.TRACE_INIT('computeAllProdsFollows', () => {
+ let i = lie(or(this.gastProductionsCache));
+ this.resyncFollows = i;
+ }),
+ this.TRACE_INIT('ComputeLookaheadFunctions', () => {
+ var i, a;
+ (a = (i = this.lookaheadStrategy).initialize) === null ||
+ a === void 0 ||
+ a.call(i, { rules: or(this.gastProductionsCache) }),
+ this.preComputeLookaheadFunctions(or(this.gastProductionsCache));
+ })),
+ !t.DEFER_DEFINITION_ERRORS_HANDLING && !Qt(this.definitionErrors))
+ )
+ throw (
+ ((e = qe(this.definitionErrors, (i) => i.message)),
+ new Error(`Parser Definition Errors detected:
+ ${e.join(`
+-------------------------------
+`)}`))
+ );
+ });
+ }
+ constructor(e, r) {
+ (this.definitionErrors = []), (this.selfAnalysisDone = !1);
+ let n = this;
+ if (
+ (n.initErrorHandler(r),
+ n.initLexerAdapter(),
+ n.initLooksAhead(r),
+ n.initRecognizerEngine(e, r),
+ n.initRecoverable(r),
+ n.initTreeBuilder(r),
+ n.initContentAssist(),
+ n.initGastRecorder(r),
+ n.initPerformanceTracer(r),
+ Xe(r, 'ignoredIssues'))
+ )
+ throw new Error(`The IParserConfig property has been deprecated.
+ Please use the flag on the relevant DSL method instead.
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
+ For further details.`);
+ this.skipValidations = Xe(r, 'skipValidations') ? r.skipValidations : is.skipValidations;
+ }
+ };
+ v2.DEFER_DEFINITION_ERRORS_HANDLING = !1;
+ Nae(v2, [ZT, rk, sk, ok, ck, lk, uk, hk, fk, mk]);
+ x2 = class extends v2 {
+ static {
+ o(this, 'EmbeddedActionsParser');
+ }
+ constructor(e, r = is) {
+ let n = Qr(r);
+ (n.outputCst = !1), super(e, n);
+ }
+ };
+ });
+ var Iae = R(() => {
+ 'use strict';
+ ns();
+ });
+ var Oae = R(() => {
+ 'use strict';
+ });
+ var Pae = R(() => {
+ 'use strict';
+ Iae();
+ Oae();
+ });
+ var Bae = R(() => {
+ 'use strict';
+ tN();
+ });
+ var u0 = R(() => {
+ 'use strict';
+ tN();
+ Ns();
+ i2();
+ l0();
+ ng();
+ _N();
+ Jm();
+ ag();
+ mN();
+ ns();
+ ns();
+ Pae();
+ Bae();
+ });
+ function h0(t, e, r) {
+ return `${t.name}_${e}_${r}`;
+ }
+ function $ae(t) {
+ let e = {
+ decisionMap: {},
+ decisionStates: [],
+ ruleToStartState: new Map(),
+ ruleToStopState: new Map(),
+ states: []
+ };
+ KIe(e, t);
+ let r = t.length;
+ for (let n = 0; n < r; n++) {
+ let i = t[n],
+ a = f0(e, i, i);
+ a !== void 0 && oOe(e, i, a);
+ }
+ return e;
+ }
+ function KIe(t, e) {
+ let r = e.length;
+ for (let n = 0; n < r; n++) {
+ let i = e[n],
+ a = ia(t, i, void 0, { type: YIe }),
+ s = ia(t, i, void 0, { type: ug });
+ (a.stop = s), t.ruleToStartState.set(i, a), t.ruleToStopState.set(i, s);
+ }
+ }
+ function Vae(t, e, r) {
+ return r instanceof fr
+ ? BN(t, e, r.terminalType, r)
+ : r instanceof Zr
+ ? sOe(t, e, r)
+ : r instanceof gn
+ ? tOe(t, e, r)
+ : r instanceof Jr
+ ? rOe(t, e, r)
+ : r instanceof br
+ ? QIe(t, e, r)
+ : r instanceof mn
+ ? ZIe(t, e, r)
+ : r instanceof An
+ ? JIe(t, e, r)
+ : r instanceof _n
+ ? eOe(t, e, r)
+ : f0(t, e, r);
+ }
+ function QIe(t, e, r) {
+ let n = ia(t, e, r, { type: zae });
+ sf(t, n);
+ let i = hg(t, e, n, r, f0(t, e, r));
+ return Hae(t, e, r, i);
+ }
+ function ZIe(t, e, r) {
+ let n = ia(t, e, r, { type: zae });
+ sf(t, n);
+ let i = hg(t, e, n, r, f0(t, e, r)),
+ a = BN(t, e, r.separator, r);
+ return Hae(t, e, r, i, a);
+ }
+ function JIe(t, e, r) {
+ let n = ia(t, e, r, { type: Fae });
+ sf(t, n);
+ let i = hg(t, e, n, r, f0(t, e, r));
+ return Uae(t, e, r, i);
+ }
+ function eOe(t, e, r) {
+ let n = ia(t, e, r, { type: Fae });
+ sf(t, n);
+ let i = hg(t, e, n, r, f0(t, e, r)),
+ a = BN(t, e, r.separator, r);
+ return Uae(t, e, r, i, a);
+ }
+ function tOe(t, e, r) {
+ let n = ia(t, e, r, { type: af });
+ sf(t, n);
+ let i = qe(r.definition, (s) => Vae(t, e, s));
+ return hg(t, e, n, r, ...i);
+ }
+ function rOe(t, e, r) {
+ let n = ia(t, e, r, { type: af });
+ sf(t, n);
+ let i = hg(t, e, n, r, f0(t, e, r));
+ return nOe(t, e, r, i);
+ }
+ function f0(t, e, r) {
+ let n = $r(
+ qe(r.definition, (i) => Vae(t, e, i)),
+ (i) => i !== void 0
+ );
+ return n.length === 1 ? n[0] : n.length === 0 ? void 0 : aOe(t, n);
+ }
+ function Uae(t, e, r, n, i) {
+ let a = n.left,
+ s = n.right,
+ l = ia(t, e, r, { type: jIe });
+ sf(t, l);
+ let u = ia(t, e, r, { type: Gae });
+ return (
+ (a.loopback = l),
+ (u.loopback = l),
+ (t.decisionMap[h0(e, i ? 'RepetitionMandatoryWithSeparator' : 'RepetitionMandatory', r.idx)] = l),
+ Ei(s, l),
+ i === void 0 ? (Ei(l, a), Ei(l, u)) : (Ei(l, u), Ei(l, i.left), Ei(i.right, a)),
+ { left: a, right: u }
+ );
+ }
+ function Hae(t, e, r, n, i) {
+ let a = n.left,
+ s = n.right,
+ l = ia(t, e, r, { type: XIe });
+ sf(t, l);
+ let u = ia(t, e, r, { type: Gae }),
+ h = ia(t, e, r, { type: qIe });
+ return (
+ (l.loopback = h),
+ (u.loopback = h),
+ Ei(l, a),
+ Ei(l, u),
+ Ei(s, h),
+ i !== void 0 ? (Ei(h, u), Ei(h, i.left), Ei(i.right, a)) : Ei(h, l),
+ (t.decisionMap[h0(e, i ? 'RepetitionWithSeparator' : 'Repetition', r.idx)] = l),
+ { left: l, right: u }
+ );
+ }
+ function nOe(t, e, r, n) {
+ let i = n.left,
+ a = n.right;
+ return Ei(i, a), (t.decisionMap[h0(e, 'Option', r.idx)] = i), n;
+ }
+ function sf(t, e) {
+ return t.decisionStates.push(e), (e.decision = t.decisionStates.length - 1), e.decision;
+ }
+ function hg(t, e, r, n, ...i) {
+ let a = ia(t, e, n, { type: WIe, start: r });
+ r.end = a;
+ for (let l of i) l !== void 0 ? (Ei(r, l.left), Ei(l.right, a)) : Ei(r, a);
+ let s = { left: r, right: a };
+ return (t.decisionMap[h0(e, iOe(n), n.idx)] = r), s;
+ }
+ function iOe(t) {
+ if (t instanceof gn) return 'Alternation';
+ if (t instanceof Jr) return 'Option';
+ if (t instanceof br) return 'Repetition';
+ if (t instanceof mn) return 'RepetitionWithSeparator';
+ if (t instanceof An) return 'RepetitionMandatory';
+ if (t instanceof _n) return 'RepetitionMandatoryWithSeparator';
+ throw new Error('Invalid production type encountered');
+ }
+ function aOe(t, e) {
+ let r = e.length;
+ for (let a = 0; a < r - 1; a++) {
+ let s = e[a],
+ l;
+ s.left.transitions.length === 1 && (l = s.left.transitions[0]);
+ let u = l instanceof cg,
+ h = l,
+ f = e[a + 1].left;
+ s.left.type === af &&
+ s.right.type === af &&
+ l !== void 0 &&
+ ((u && h.followState === s.right) || l.target === s.right)
+ ? (u ? (h.followState = f) : (l.target = f), lOe(t, s.right))
+ : Ei(s.right, f);
+ }
+ let n = e[0],
+ i = e[r - 1];
+ return { left: n.left, right: i.right };
+ }
+ function BN(t, e, r, n) {
+ let i = ia(t, e, n, { type: af }),
+ a = ia(t, e, n, { type: af });
+ return FN(i, new lg(a, r)), { left: i, right: a };
+ }
+ function sOe(t, e, r) {
+ let n = r.referencedRule,
+ i = t.ruleToStartState.get(n),
+ a = ia(t, e, r, { type: af }),
+ s = ia(t, e, r, { type: af }),
+ l = new cg(i, n, s);
+ return FN(a, l), { left: a, right: s };
+ }
+ function oOe(t, e, r) {
+ let n = t.ruleToStartState.get(e);
+ Ei(n, r.left);
+ let i = t.ruleToStopState.get(e);
+ return Ei(r.right, i), { left: n, right: i };
+ }
+ function Ei(t, e) {
+ let r = new w2(e);
+ FN(t, r);
+ }
+ function ia(t, e, r, n) {
+ let i = Object.assign(
+ {
+ atn: t,
+ production: r,
+ epsilonOnlyTransitions: !1,
+ rule: e,
+ transitions: [],
+ nextTokenWithinRule: [],
+ stateNumber: t.states.length
+ },
+ n
+ );
+ return t.states.push(i), i;
+ }
+ function FN(t, e) {
+ t.transitions.length === 0 && (t.epsilonOnlyTransitions = e.isEpsilon()), t.transitions.push(e);
+ }
+ function lOe(t, e) {
+ t.states.splice(t.states.indexOf(e), 1);
+ }
+ var af,
+ YIe,
+ Fae,
+ zae,
+ ug,
+ WIe,
+ qIe,
+ XIe,
+ jIe,
+ Gae,
+ b2,
+ lg,
+ w2,
+ cg,
+ Yae = R(() => {
+ 'use strict';
+ Mm();
+ LL();
+ u0();
+ o(h0, 'buildATNKey');
+ (af = 1),
+ (YIe = 2),
+ (Fae = 4),
+ (zae = 5),
+ (ug = 7),
+ (WIe = 8),
+ (qIe = 9),
+ (XIe = 10),
+ (jIe = 11),
+ (Gae = 12),
+ (b2 = class {
+ static {
+ o(this, 'AbstractTransition');
+ }
+ constructor(e) {
+ this.target = e;
+ }
+ isEpsilon() {
+ return !1;
+ }
+ }),
+ (lg = class extends b2 {
+ static {
+ o(this, 'AtomTransition');
+ }
+ constructor(e, r) {
+ super(e), (this.tokenType = r);
+ }
+ }),
+ (w2 = class extends b2 {
+ static {
+ o(this, 'EpsilonTransition');
+ }
+ constructor(e) {
+ super(e);
+ }
+ isEpsilon() {
+ return !0;
+ }
+ }),
+ (cg = class extends b2 {
+ static {
+ o(this, 'RuleTransition');
+ }
+ constructor(e, r, n) {
+ super(e), (this.rule = r), (this.followState = n);
+ }
+ isEpsilon() {
+ return !0;
+ }
+ });
+ o($ae, 'createATN');
+ o(KIe, 'createRuleStartAndStopATNStates');
+ o(Vae, 'atom');
+ o(QIe, 'repetition');
+ o(ZIe, 'repetitionSep');
+ o(JIe, 'repetitionMandatory');
+ o(eOe, 'repetitionMandatorySep');
+ o(tOe, 'alternation');
+ o(rOe, 'option');
+ o(f0, 'block');
+ o(Uae, 'plus');
+ o(Hae, 'star');
+ o(nOe, 'optional');
+ o(sf, 'defineDecisionState');
+ o(hg, 'makeAlts');
+ o(iOe, 'getProdType');
+ o(aOe, 'makeBlock');
+ o(BN, 'tokenRef');
+ o(sOe, 'ruleRef');
+ o(oOe, 'buildRuleHandle');
+ o(Ei, 'epsilon');
+ o(ia, 'newState');
+ o(FN, 'addTransition');
+ o(lOe, 'removeState');
+ });
+ function zN(t, e = !0) {
+ return `${e ? `a${t.alt}` : ''}s${t.state.stateNumber}:${t.stack
+ .map((r) => r.stateNumber.toString())
+ .join('_')}`;
+ }
+ var T2,
+ fg,
+ Wae = R(() => {
+ 'use strict';
+ Mm();
+ (T2 = {}),
+ (fg = class {
+ static {
+ o(this, 'ATNConfigSet');
+ }
+ constructor() {
+ (this.map = {}), (this.configs = []);
+ }
+ get size() {
+ return this.configs.length;
+ }
+ finalize() {
+ this.map = {};
+ }
+ add(e) {
+ let r = zN(e);
+ r in this.map || ((this.map[r] = this.configs.length), this.configs.push(e));
+ }
+ get elements() {
+ return this.configs;
+ }
+ get alts() {
+ return qe(this.configs, (e) => e.alt);
+ }
+ get key() {
+ let e = '';
+ for (let r in this.map) e += r + ':';
+ return e;
+ }
+ });
+ o(zN, 'getATNConfigKey');
+ });
+ function cOe(t, e) {
+ let r = {};
+ return (n) => {
+ let i = n.toString(),
+ a = r[i];
+ return a !== void 0 || ((a = { atnStartState: t, decision: e, states: {} }), (r[i] = a)), a;
+ };
+ }
+ function Xae(t, e = !0) {
+ let r = new Set();
+ for (let n of t) {
+ let i = new Set();
+ for (let a of n) {
+ if (a === void 0) {
+ if (e) break;
+ return !1;
+ }
+ let s = [a.tokenTypeIdx].concat(a.categoryMatches);
+ for (let l of s)
+ if (r.has(l)) {
+ if (!i.has(l)) return !1;
+ } else r.add(l), i.add(l);
+ }
+ }
+ return !0;
+ }
+ function uOe(t) {
+ let e = t.decisionStates.length,
+ r = Array(e);
+ for (let n = 0; n < e; n++) r[n] = cOe(t.decisionStates[n], n);
+ return r;
+ }
+ function GN(t, e, r, n) {
+ let i = t[e](r),
+ a = i.start;
+ if (a === void 0) {
+ let l = wOe(i.atnStartState);
+ (a = Qae(i, Kae(l))), (i.start = a);
+ }
+ return hOe.apply(this, [i, a, r, n]);
+ }
+ function hOe(t, e, r, n) {
+ let i = e,
+ a = 1,
+ s = [],
+ l = this.LA(a++);
+ for (;;) {
+ let u = yOe(i, l);
+ if ((u === void 0 && (u = fOe.apply(this, [t, i, l, a, r, n])), u === T2)) return gOe(s, i, l);
+ if (u.isAcceptState === !0) return u.prediction;
+ (i = u), s.push(l), (l = this.LA(a++));
+ }
+ }
+ function fOe(t, e, r, n, i, a) {
+ let s = vOe(e.configs, r, i);
+ if (s.size === 0) return jae(t, e, r, T2), T2;
+ let l = Kae(s),
+ u = bOe(s, i);
+ if (u !== void 0) (l.isAcceptState = !0), (l.prediction = u), (l.configs.uniqueAlt = u);
+ else if (COe(s)) {
+ let h = Ll(s.alts);
+ (l.isAcceptState = !0), (l.prediction = h), (l.configs.uniqueAlt = h), dOe.apply(this, [t, n, s.alts, a]);
+ }
+ return (l = jae(t, e, r, l)), l;
+ }
+ function dOe(t, e, r, n) {
+ let i = [];
+ for (let h = 1; h <= e; h++) i.push(this.LA(h).tokenType);
+ let a = t.atnStartState,
+ s = a.rule,
+ l = a.production,
+ u = pOe({
+ topLevelRule: s,
+ ambiguityIndices: r,
+ production: l,
+ prefixPath: i
+ });
+ n(u);
+ }
+ function pOe(t) {
+ let e = qe(t.prefixPath, (i) => zu(i)).join(', '),
+ r = t.production.idx === 0 ? '' : t.production.idx,
+ n = `Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(', ')}> in <${mOe(
+ t.production
+ )}${r}> inside <${t.topLevelRule.name}> Rule,
+<${e}> may appears as a prefix path in all these alternatives.
+`;
+ return (
+ (n =
+ n +
+ `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
+For Further details.`),
+ n
+ );
+ }
+ function mOe(t) {
+ if (t instanceof Zr) return 'SUBRULE';
+ if (t instanceof Jr) return 'OPTION';
+ if (t instanceof gn) return 'OR';
+ if (t instanceof An) return 'AT_LEAST_ONE';
+ if (t instanceof _n) return 'AT_LEAST_ONE_SEP';
+ if (t instanceof mn) return 'MANY_SEP';
+ if (t instanceof br) return 'MANY';
+ if (t instanceof fr) return 'CONSUME';
+ throw Error('non exhaustive match');
+ }
+ function gOe(t, e, r) {
+ let n = ga(e.configs.elements, (a) => a.state.transitions),
+ i = nte(
+ n.filter((a) => a instanceof lg).map((a) => a.tokenType),
+ (a) => a.tokenTypeIdx
+ );
+ return { actualToken: r, possibleTokenTypes: i, tokenPath: t };
+ }
+ function yOe(t, e) {
+ return t.edges[e.tokenTypeIdx];
+ }
+ function vOe(t, e, r) {
+ let n = new fg(),
+ i = [];
+ for (let s of t.elements) {
+ if (r.is(s.alt) === !1) continue;
+ if (s.state.type === ug) {
+ i.push(s);
+ continue;
+ }
+ let l = s.state.transitions.length;
+ for (let u = 0; u < l; u++) {
+ let h = s.state.transitions[u],
+ f = xOe(h, e);
+ f !== void 0 && n.add({ state: f, alt: s.alt, stack: s.stack });
+ }
+ }
+ let a;
+ if ((i.length === 0 && n.size === 1 && (a = n), a === void 0)) {
+ a = new fg();
+ for (let s of n.elements) vk(s, a);
+ }
+ if (i.length > 0 && !kOe(a)) for (let s of i) a.add(s);
+ return a;
+ }
+ function xOe(t, e) {
+ if (t instanceof lg && s2(e, t.tokenType)) return t.target;
+ }
+ function bOe(t, e) {
+ let r;
+ for (let n of t.elements)
+ if (e.is(n.alt) === !0) {
+ if (r === void 0) r = n.alt;
+ else if (r !== n.alt) return;
+ }
+ return r;
+ }
+ function Kae(t) {
+ return { configs: t, edges: {}, isAcceptState: !1, prediction: -1 };
+ }
+ function jae(t, e, r, n) {
+ return (n = Qae(t, n)), (e.edges[r.tokenTypeIdx] = n), n;
+ }
+ function Qae(t, e) {
+ if (e === T2) return e;
+ let r = e.configs.key,
+ n = t.states[r];
+ return n !== void 0 ? n : (e.configs.finalize(), (t.states[r] = e), e);
+ }
+ function wOe(t) {
+ let e = new fg(),
+ r = t.transitions.length;
+ for (let n = 0; n < r; n++) {
+ let a = { state: t.transitions[n].target, alt: n, stack: [] };
+ vk(a, e);
+ }
+ return e;
+ }
+ function vk(t, e) {
+ let r = t.state;
+ if (r.type === ug) {
+ if (t.stack.length > 0) {
+ let i = [...t.stack],
+ s = { state: i.pop(), alt: t.alt, stack: i };
+ vk(s, e);
+ } else e.add(t);
+ return;
+ }
+ r.epsilonOnlyTransitions || e.add(t);
+ let n = r.transitions.length;
+ for (let i = 0; i < n; i++) {
+ let a = r.transitions[i],
+ s = TOe(t, a);
+ s !== void 0 && vk(s, e);
+ }
+ }
+ function TOe(t, e) {
+ if (e instanceof w2) return { state: e.target, alt: t.alt, stack: t.stack };
+ if (e instanceof cg) {
+ let r = [...t.stack, e.followState];
+ return { state: e.target, alt: t.alt, stack: r };
+ }
+ }
+ function kOe(t) {
+ for (let e of t.elements) if (e.state.type === ug) return !0;
+ return !1;
+ }
+ function EOe(t) {
+ for (let e of t.elements) if (e.state.type !== ug) return !1;
+ return !0;
+ }
+ function COe(t) {
+ if (EOe(t)) return !0;
+ let e = SOe(t.elements);
+ return AOe(e) && !_Oe(e);
+ }
+ function SOe(t) {
+ let e = new Map();
+ for (let r of t) {
+ let n = zN(r, !1),
+ i = e.get(n);
+ i === void 0 && ((i = {}), e.set(n, i)), (i[r.alt] = !0);
+ }
+ return e;
+ }
+ function AOe(t) {
+ for (let e of Array.from(t.values())) if (Object.keys(e).length > 1) return !0;
+ return !1;
+ }
+ function _Oe(t) {
+ for (let e of Array.from(t.values())) if (Object.keys(e).length === 1) return !0;
+ return !1;
+ }
+ var yk,
+ qae,
+ k2,
+ Zae = R(() => {
+ 'use strict';
+ u0();
+ Yae();
+ Wae();
+ BL();
+ RL();
+ ite();
+ Mm();
+ fw();
+ $w();
+ Ww();
+ $L();
+ o(cOe, 'createDFACache');
+ (yk = class {
+ static {
+ o(this, 'PredicateSet');
+ }
+ constructor() {
+ this.predicates = [];
+ }
+ is(e) {
+ return e >= this.predicates.length || this.predicates[e];
+ }
+ set(e, r) {
+ this.predicates[e] = r;
+ }
+ toString() {
+ let e = '',
+ r = this.predicates.length;
+ for (let n = 0; n < r; n++) e += this.predicates[n] === !0 ? '1' : '0';
+ return e;
+ }
+ }),
+ (qae = new yk()),
+ (k2 = class extends $u {
+ static {
+ o(this, 'LLStarLookaheadStrategy');
+ }
+ constructor(e) {
+ var r;
+ super(), (this.logging = (r = e?.logging) !== null && r !== void 0 ? r : (n) => console.log(n));
+ }
+ initialize(e) {
+ (this.atn = $ae(e.rules)), (this.dfas = uOe(this.atn));
+ }
+ validateAmbiguousAlternationAlternatives() {
+ return [];
+ }
+ validateEmptyOrAlternatives() {
+ return [];
+ }
+ buildLookaheadForAlternation(e) {
+ let { prodOccurrence: r, rule: n, hasPredicates: i, dynamicTokensEnabled: a } = e,
+ s = this.dfas,
+ l = this.logging,
+ u = h0(n, 'Alternation', r),
+ f = this.atn.decisionMap[u].decision,
+ d = qe(
+ jT({
+ maxLookahead: 1,
+ occurrence: r,
+ prodType: 'Alternation',
+ rule: n
+ }),
+ (p) => qe(p, (m) => m[0])
+ );
+ if (Xae(d, !1) && !a) {
+ let p = Vr(
+ d,
+ (m, g, y) => (
+ Ee(g, (v) => {
+ v &&
+ ((m[v.tokenTypeIdx] = y),
+ Ee(v.categoryMatches, (x) => {
+ m[x] = y;
+ }));
+ }),
+ m
+ ),
+ {}
+ );
+ return i
+ ? function (m) {
+ var g;
+ let y = this.LA(1),
+ v = p[y.tokenTypeIdx];
+ if (m !== void 0 && v !== void 0) {
+ let x = (g = m[v]) === null || g === void 0 ? void 0 : g.GATE;
+ if (x !== void 0 && x.call(this) === !1) return;
+ }
+ return v;
+ }
+ : function () {
+ let m = this.LA(1);
+ return p[m.tokenTypeIdx];
+ };
+ } else
+ return i
+ ? function (p) {
+ let m = new yk(),
+ g = p === void 0 ? 0 : p.length;
+ for (let v = 0; v < g; v++) {
+ let x = p?.[v].GATE;
+ m.set(v, x === void 0 || x.call(this));
+ }
+ let y = GN.call(this, s, f, m, l);
+ return typeof y == 'number' ? y : void 0;
+ }
+ : function () {
+ let p = GN.call(this, s, f, qae, l);
+ return typeof p == 'number' ? p : void 0;
+ };
+ }
+ buildLookaheadForOptional(e) {
+ let { prodOccurrence: r, rule: n, prodType: i, dynamicTokensEnabled: a } = e,
+ s = this.dfas,
+ l = this.logging,
+ u = h0(n, i, r),
+ f = this.atn.decisionMap[u].decision,
+ d = qe(jT({ maxLookahead: 1, occurrence: r, prodType: i, rule: n }), (p) =>
+ qe(p, (m) => m[0])
+ );
+ if (Xae(d) && d[0][0] && !a) {
+ let p = d[0],
+ m = Gr(p);
+ if (m.length === 1 && Qt(m[0].categoryMatches)) {
+ let y = m[0].tokenTypeIdx;
+ return function () {
+ return this.LA(1).tokenTypeIdx === y;
+ };
+ } else {
+ let g = Vr(
+ m,
+ (y, v) => (
+ v !== void 0 &&
+ ((y[v.tokenTypeIdx] = !0),
+ Ee(v.categoryMatches, (x) => {
+ y[x] = !0;
+ })),
+ y
+ ),
+ {}
+ );
+ return function () {
+ let y = this.LA(1);
+ return g[y.tokenTypeIdx] === !0;
+ };
+ }
+ }
+ return function () {
+ let p = GN.call(this, s, f, qae, l);
+ return typeof p == 'object' ? !1 : p === 0;
+ };
+ }
+ });
+ o(Xae, 'isLL1Sequence');
+ o(uOe, 'initATNSimulator');
+ o(GN, 'adaptivePredict');
+ o(hOe, 'performLookahead');
+ o(fOe, 'computeLookaheadTarget');
+ o(dOe, 'reportLookaheadAmbiguity');
+ o(pOe, 'buildAmbiguityError');
+ o(mOe, 'getProductionDslName');
+ o(gOe, 'buildAdaptivePredictError');
+ o(yOe, 'getExistingTargetState');
+ o(vOe, 'computeReachSet');
+ o(xOe, 'getReachableTarget');
+ o(bOe, 'getUniqueAlt');
+ o(Kae, 'newDFAState');
+ o(jae, 'addDFAEdge');
+ o(Qae, 'addDFAState');
+ o(wOe, 'computeStartState');
+ o(vk, 'closure');
+ o(TOe, 'getEpsilonTarget');
+ o(kOe, 'hasConfigInRuleStopState');
+ o(EOe, 'allConfigsInRuleStopStates');
+ o(COe, 'hasConflictTerminatingPrediction');
+ o(SOe, 'getConflictingAltSets');
+ o(AOe, 'hasConflictingAltSet');
+ o(_Oe, 'hasStateAssociatedWithOneAlt');
+ });
+ var Jae = R(() => {
+ 'use strict';
+ Zae();
+ });
+ var ese,
+ $N,
+ tse,
+ xk,
+ Ur,
+ wr,
+ bk,
+ rse,
+ VN,
+ nse,
+ ise,
+ ase,
+ sse,
+ UN,
+ ose,
+ lse,
+ cse,
+ wk,
+ dg,
+ pg,
+ HN,
+ mg,
+ use,
+ YN,
+ WN,
+ qN,
+ XN,
+ jN,
+ hse,
+ fse,
+ KN,
+ dse,
+ QN,
+ E2,
+ pse,
+ mse,
+ gse,
+ yse,
+ vse,
+ xse,
+ bse,
+ wse,
+ Tk,
+ Tse,
+ kse,
+ Ese,
+ Cse,
+ Sse,
+ Ase,
+ _se,
+ Lse,
+ Dse,
+ Rse,
+ Nse,
+ kk,
+ Mse,
+ Ise,
+ Ose,
+ Pse,
+ Bse,
+ Fse,
+ zse,
+ Gse,
+ $se,
+ Vse,
+ Use,
+ Hse,
+ Yse,
+ ZN,
+ JN,
+ Wse,
+ qse,
+ Xse,
+ jse,
+ Kse,
+ Qse,
+ Zse,
+ Jse,
+ eoe,
+ eM,
+ Fe,
+ tM = R(() => {
+ 'use strict';
+ (function (t) {
+ function e(r) {
+ return typeof r == 'string';
+ }
+ o(e, 'is'), (t.is = e);
+ })(ese || (ese = {}));
+ (function (t) {
+ function e(r) {
+ return typeof r == 'string';
+ }
+ o(e, 'is'), (t.is = e);
+ })($N || ($N = {}));
+ (function (t) {
+ (t.MIN_VALUE = -2147483648), (t.MAX_VALUE = 2147483647);
+ function e(r) {
+ return typeof r == 'number' && t.MIN_VALUE <= r && r <= t.MAX_VALUE;
+ }
+ o(e, 'is'), (t.is = e);
+ })(tse || (tse = {}));
+ (function (t) {
+ (t.MIN_VALUE = 0), (t.MAX_VALUE = 2147483647);
+ function e(r) {
+ return typeof r == 'number' && t.MIN_VALUE <= r && r <= t.MAX_VALUE;
+ }
+ o(e, 'is'), (t.is = e);
+ })(xk || (xk = {}));
+ (function (t) {
+ function e(n, i) {
+ return (
+ n === Number.MAX_VALUE && (n = xk.MAX_VALUE),
+ i === Number.MAX_VALUE && (i = xk.MAX_VALUE),
+ { line: n, character: i }
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.objectLiteral(i) && Fe.uinteger(i.line) && Fe.uinteger(i.character);
+ }
+ o(r, 'is'), (t.is = r);
+ })(Ur || (Ur = {}));
+ (function (t) {
+ function e(n, i, a, s) {
+ if (Fe.uinteger(n) && Fe.uinteger(i) && Fe.uinteger(a) && Fe.uinteger(s))
+ return { start: Ur.create(n, i), end: Ur.create(a, s) };
+ if (Ur.is(n) && Ur.is(i)) return { start: n, end: i };
+ throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`);
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.objectLiteral(i) && Ur.is(i.start) && Ur.is(i.end);
+ }
+ o(r, 'is'), (t.is = r);
+ })(wr || (wr = {}));
+ (function (t) {
+ function e(n, i) {
+ return { uri: n, range: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.objectLiteral(i) && wr.is(i.range) && (Fe.string(i.uri) || Fe.undefined(i.uri));
+ }
+ o(r, 'is'), (t.is = r);
+ })(bk || (bk = {}));
+ (function (t) {
+ function e(n, i, a, s) {
+ return {
+ targetUri: n,
+ targetRange: i,
+ targetSelectionRange: a,
+ originSelectionRange: s
+ };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ wr.is(i.targetRange) &&
+ Fe.string(i.targetUri) &&
+ wr.is(i.targetSelectionRange) &&
+ (wr.is(i.originSelectionRange) || Fe.undefined(i.originSelectionRange))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(rse || (rse = {}));
+ (function (t) {
+ function e(n, i, a, s) {
+ return { red: n, green: i, blue: a, alpha: s };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ Fe.numberRange(i.red, 0, 1) &&
+ Fe.numberRange(i.green, 0, 1) &&
+ Fe.numberRange(i.blue, 0, 1) &&
+ Fe.numberRange(i.alpha, 0, 1)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(VN || (VN = {}));
+ (function (t) {
+ function e(n, i) {
+ return { range: n, color: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.objectLiteral(i) && wr.is(i.range) && VN.is(i.color);
+ }
+ o(r, 'is'), (t.is = r);
+ })(nse || (nse = {}));
+ (function (t) {
+ function e(n, i, a) {
+ return { label: n, textEdit: i, additionalTextEdits: a };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ Fe.string(i.label) &&
+ (Fe.undefined(i.textEdit) || pg.is(i)) &&
+ (Fe.undefined(i.additionalTextEdits) || Fe.typedArray(i.additionalTextEdits, pg.is))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(ise || (ise = {}));
+ (function (t) {
+ (t.Comment = 'comment'), (t.Imports = 'imports'), (t.Region = 'region');
+ })(ase || (ase = {}));
+ (function (t) {
+ function e(n, i, a, s, l, u) {
+ let h = { startLine: n, endLine: i };
+ return (
+ Fe.defined(a) && (h.startCharacter = a),
+ Fe.defined(s) && (h.endCharacter = s),
+ Fe.defined(l) && (h.kind = l),
+ Fe.defined(u) && (h.collapsedText = u),
+ h
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ Fe.uinteger(i.startLine) &&
+ Fe.uinteger(i.startLine) &&
+ (Fe.undefined(i.startCharacter) || Fe.uinteger(i.startCharacter)) &&
+ (Fe.undefined(i.endCharacter) || Fe.uinteger(i.endCharacter)) &&
+ (Fe.undefined(i.kind) || Fe.string(i.kind))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(sse || (sse = {}));
+ (function (t) {
+ function e(n, i) {
+ return { location: n, message: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && bk.is(i.location) && Fe.string(i.message);
+ }
+ o(r, 'is'), (t.is = r);
+ })(UN || (UN = {}));
+ (function (t) {
+ (t.Error = 1), (t.Warning = 2), (t.Information = 3), (t.Hint = 4);
+ })(ose || (ose = {}));
+ (function (t) {
+ (t.Unnecessary = 1), (t.Deprecated = 2);
+ })(lse || (lse = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return Fe.objectLiteral(n) && Fe.string(n.href);
+ }
+ o(e, 'is'), (t.is = e);
+ })(cse || (cse = {}));
+ (function (t) {
+ function e(n, i, a, s, l, u) {
+ let h = { range: n, message: i };
+ return (
+ Fe.defined(a) && (h.severity = a),
+ Fe.defined(s) && (h.code = s),
+ Fe.defined(l) && (h.source = l),
+ Fe.defined(u) && (h.relatedInformation = u),
+ h
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ var i;
+ let a = n;
+ return (
+ Fe.defined(a) &&
+ wr.is(a.range) &&
+ Fe.string(a.message) &&
+ (Fe.number(a.severity) || Fe.undefined(a.severity)) &&
+ (Fe.integer(a.code) || Fe.string(a.code) || Fe.undefined(a.code)) &&
+ (Fe.undefined(a.codeDescription) ||
+ Fe.string((i = a.codeDescription) === null || i === void 0 ? void 0 : i.href)) &&
+ (Fe.string(a.source) || Fe.undefined(a.source)) &&
+ (Fe.undefined(a.relatedInformation) || Fe.typedArray(a.relatedInformation, UN.is))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(wk || (wk = {}));
+ (function (t) {
+ function e(n, i, ...a) {
+ let s = { title: n, command: i };
+ return Fe.defined(a) && a.length > 0 && (s.arguments = a), s;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && Fe.string(i.title) && Fe.string(i.command);
+ }
+ o(r, 'is'), (t.is = r);
+ })(dg || (dg = {}));
+ (function (t) {
+ function e(a, s) {
+ return { range: a, newText: s };
+ }
+ o(e, 'replace'), (t.replace = e);
+ function r(a, s) {
+ return { range: { start: a, end: a }, newText: s };
+ }
+ o(r, 'insert'), (t.insert = r);
+ function n(a) {
+ return { range: a, newText: '' };
+ }
+ o(n, 'del'), (t.del = n);
+ function i(a) {
+ let s = a;
+ return Fe.objectLiteral(s) && Fe.string(s.newText) && wr.is(s.range);
+ }
+ o(i, 'is'), (t.is = i);
+ })(pg || (pg = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { label: n };
+ return i !== void 0 && (s.needsConfirmation = i), a !== void 0 && (s.description = a), s;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ Fe.string(i.label) &&
+ (Fe.boolean(i.needsConfirmation) || i.needsConfirmation === void 0) &&
+ (Fe.string(i.description) || i.description === void 0)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(HN || (HN = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return Fe.string(n);
+ }
+ o(e, 'is'), (t.is = e);
+ })(mg || (mg = {}));
+ (function (t) {
+ function e(a, s, l) {
+ return { range: a, newText: s, annotationId: l };
+ }
+ o(e, 'replace'), (t.replace = e);
+ function r(a, s, l) {
+ return { range: { start: a, end: a }, newText: s, annotationId: l };
+ }
+ o(r, 'insert'), (t.insert = r);
+ function n(a, s) {
+ return { range: a, newText: '', annotationId: s };
+ }
+ o(n, 'del'), (t.del = n);
+ function i(a) {
+ let s = a;
+ return pg.is(s) && (HN.is(s.annotationId) || mg.is(s.annotationId));
+ }
+ o(i, 'is'), (t.is = i);
+ })(use || (use = {}));
+ (function (t) {
+ function e(n, i) {
+ return { textDocument: n, edits: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && KN.is(i.textDocument) && Array.isArray(i.edits);
+ }
+ o(r, 'is'), (t.is = r);
+ })(YN || (YN = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { kind: 'create', uri: n };
+ return (
+ i !== void 0 && (i.overwrite !== void 0 || i.ignoreIfExists !== void 0) && (s.options = i),
+ a !== void 0 && (s.annotationId = a),
+ s
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i &&
+ i.kind === 'create' &&
+ Fe.string(i.uri) &&
+ (i.options === void 0 ||
+ ((i.options.overwrite === void 0 || Fe.boolean(i.options.overwrite)) &&
+ (i.options.ignoreIfExists === void 0 || Fe.boolean(i.options.ignoreIfExists)))) &&
+ (i.annotationId === void 0 || mg.is(i.annotationId))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(WN || (WN = {}));
+ (function (t) {
+ function e(n, i, a, s) {
+ let l = { kind: 'rename', oldUri: n, newUri: i };
+ return (
+ a !== void 0 && (a.overwrite !== void 0 || a.ignoreIfExists !== void 0) && (l.options = a),
+ s !== void 0 && (l.annotationId = s),
+ l
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i &&
+ i.kind === 'rename' &&
+ Fe.string(i.oldUri) &&
+ Fe.string(i.newUri) &&
+ (i.options === void 0 ||
+ ((i.options.overwrite === void 0 || Fe.boolean(i.options.overwrite)) &&
+ (i.options.ignoreIfExists === void 0 || Fe.boolean(i.options.ignoreIfExists)))) &&
+ (i.annotationId === void 0 || mg.is(i.annotationId))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(qN || (qN = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { kind: 'delete', uri: n };
+ return (
+ i !== void 0 && (i.recursive !== void 0 || i.ignoreIfNotExists !== void 0) && (s.options = i),
+ a !== void 0 && (s.annotationId = a),
+ s
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i &&
+ i.kind === 'delete' &&
+ Fe.string(i.uri) &&
+ (i.options === void 0 ||
+ ((i.options.recursive === void 0 || Fe.boolean(i.options.recursive)) &&
+ (i.options.ignoreIfNotExists === void 0 || Fe.boolean(i.options.ignoreIfNotExists)))) &&
+ (i.annotationId === void 0 || mg.is(i.annotationId))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(XN || (XN = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return (
+ n &&
+ (n.changes !== void 0 || n.documentChanges !== void 0) &&
+ (n.documentChanges === void 0 ||
+ n.documentChanges.every((i) =>
+ Fe.string(i.kind) ? WN.is(i) || qN.is(i) || XN.is(i) : YN.is(i)
+ ))
+ );
+ }
+ o(e, 'is'), (t.is = e);
+ })(jN || (jN = {}));
+ (function (t) {
+ function e(n) {
+ return { uri: n };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && Fe.string(i.uri);
+ }
+ o(r, 'is'), (t.is = r);
+ })(hse || (hse = {}));
+ (function (t) {
+ function e(n, i) {
+ return { uri: n, version: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && Fe.string(i.uri) && Fe.integer(i.version);
+ }
+ o(r, 'is'), (t.is = r);
+ })(fse || (fse = {}));
+ (function (t) {
+ function e(n, i) {
+ return { uri: n, version: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && Fe.string(i.uri) && (i.version === null || Fe.integer(i.version));
+ }
+ o(r, 'is'), (t.is = r);
+ })(KN || (KN = {}));
+ (function (t) {
+ function e(n, i, a, s) {
+ return { uri: n, languageId: i, version: a, text: s };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.defined(i) &&
+ Fe.string(i.uri) &&
+ Fe.string(i.languageId) &&
+ Fe.integer(i.version) &&
+ Fe.string(i.text)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(dse || (dse = {}));
+ (function (t) {
+ (t.PlainText = 'plaintext'), (t.Markdown = 'markdown');
+ function e(r) {
+ let n = r;
+ return n === t.PlainText || n === t.Markdown;
+ }
+ o(e, 'is'), (t.is = e);
+ })(QN || (QN = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return Fe.objectLiteral(r) && QN.is(n.kind) && Fe.string(n.value);
+ }
+ o(e, 'is'), (t.is = e);
+ })(E2 || (E2 = {}));
+ (function (t) {
+ (t.Text = 1),
+ (t.Method = 2),
+ (t.Function = 3),
+ (t.Constructor = 4),
+ (t.Field = 5),
+ (t.Variable = 6),
+ (t.Class = 7),
+ (t.Interface = 8),
+ (t.Module = 9),
+ (t.Property = 10),
+ (t.Unit = 11),
+ (t.Value = 12),
+ (t.Enum = 13),
+ (t.Keyword = 14),
+ (t.Snippet = 15),
+ (t.Color = 16),
+ (t.File = 17),
+ (t.Reference = 18),
+ (t.Folder = 19),
+ (t.EnumMember = 20),
+ (t.Constant = 21),
+ (t.Struct = 22),
+ (t.Event = 23),
+ (t.Operator = 24),
+ (t.TypeParameter = 25);
+ })(pse || (pse = {}));
+ (function (t) {
+ (t.PlainText = 1), (t.Snippet = 2);
+ })(mse || (mse = {}));
+ (function (t) {
+ t.Deprecated = 1;
+ })(gse || (gse = {}));
+ (function (t) {
+ function e(n, i, a) {
+ return { newText: n, insert: i, replace: a };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return i && Fe.string(i.newText) && wr.is(i.insert) && wr.is(i.replace);
+ }
+ o(r, 'is'), (t.is = r);
+ })(yse || (yse = {}));
+ (function (t) {
+ (t.asIs = 1), (t.adjustIndentation = 2);
+ })(vse || (vse = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return (
+ n &&
+ (Fe.string(n.detail) || n.detail === void 0) &&
+ (Fe.string(n.description) || n.description === void 0)
+ );
+ }
+ o(e, 'is'), (t.is = e);
+ })(xse || (xse = {}));
+ (function (t) {
+ function e(r) {
+ return { label: r };
+ }
+ o(e, 'create'), (t.create = e);
+ })(bse || (bse = {}));
+ (function (t) {
+ function e(r, n) {
+ return { items: r || [], isIncomplete: !!n };
+ }
+ o(e, 'create'), (t.create = e);
+ })(wse || (wse = {}));
+ (function (t) {
+ function e(n) {
+ return n.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&');
+ }
+ o(e, 'fromPlainText'), (t.fromPlainText = e);
+ function r(n) {
+ let i = n;
+ return Fe.string(i) || (Fe.objectLiteral(i) && Fe.string(i.language) && Fe.string(i.value));
+ }
+ o(r, 'is'), (t.is = r);
+ })(Tk || (Tk = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return (
+ !!n &&
+ Fe.objectLiteral(n) &&
+ (E2.is(n.contents) || Tk.is(n.contents) || Fe.typedArray(n.contents, Tk.is)) &&
+ (r.range === void 0 || wr.is(r.range))
+ );
+ }
+ o(e, 'is'), (t.is = e);
+ })(Tse || (Tse = {}));
+ (function (t) {
+ function e(r, n) {
+ return n ? { label: r, documentation: n } : { label: r };
+ }
+ o(e, 'create'), (t.create = e);
+ })(kse || (kse = {}));
+ (function (t) {
+ function e(r, n, ...i) {
+ let a = { label: r };
+ return (
+ Fe.defined(n) && (a.documentation = n),
+ Fe.defined(i) ? (a.parameters = i) : (a.parameters = []),
+ a
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ })(Ese || (Ese = {}));
+ (function (t) {
+ (t.Text = 1), (t.Read = 2), (t.Write = 3);
+ })(Cse || (Cse = {}));
+ (function (t) {
+ function e(r, n) {
+ let i = { range: r };
+ return Fe.number(n) && (i.kind = n), i;
+ }
+ o(e, 'create'), (t.create = e);
+ })(Sse || (Sse = {}));
+ (function (t) {
+ (t.File = 1),
+ (t.Module = 2),
+ (t.Namespace = 3),
+ (t.Package = 4),
+ (t.Class = 5),
+ (t.Method = 6),
+ (t.Property = 7),
+ (t.Field = 8),
+ (t.Constructor = 9),
+ (t.Enum = 10),
+ (t.Interface = 11),
+ (t.Function = 12),
+ (t.Variable = 13),
+ (t.Constant = 14),
+ (t.String = 15),
+ (t.Number = 16),
+ (t.Boolean = 17),
+ (t.Array = 18),
+ (t.Object = 19),
+ (t.Key = 20),
+ (t.Null = 21),
+ (t.EnumMember = 22),
+ (t.Struct = 23),
+ (t.Event = 24),
+ (t.Operator = 25),
+ (t.TypeParameter = 26);
+ })(Ase || (Ase = {}));
+ (function (t) {
+ t.Deprecated = 1;
+ })(_se || (_se = {}));
+ (function (t) {
+ function e(r, n, i, a, s) {
+ let l = { name: r, kind: n, location: { uri: a, range: i } };
+ return s && (l.containerName = s), l;
+ }
+ o(e, 'create'), (t.create = e);
+ })(Lse || (Lse = {}));
+ (function (t) {
+ function e(r, n, i, a) {
+ return a !== void 0
+ ? { name: r, kind: n, location: { uri: i, range: a } }
+ : { name: r, kind: n, location: { uri: i } };
+ }
+ o(e, 'create'), (t.create = e);
+ })(Dse || (Dse = {}));
+ (function (t) {
+ function e(n, i, a, s, l, u) {
+ let h = { name: n, detail: i, kind: a, range: s, selectionRange: l };
+ return u !== void 0 && (h.children = u), h;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i &&
+ Fe.string(i.name) &&
+ Fe.number(i.kind) &&
+ wr.is(i.range) &&
+ wr.is(i.selectionRange) &&
+ (i.detail === void 0 || Fe.string(i.detail)) &&
+ (i.deprecated === void 0 || Fe.boolean(i.deprecated)) &&
+ (i.children === void 0 || Array.isArray(i.children)) &&
+ (i.tags === void 0 || Array.isArray(i.tags))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(Rse || (Rse = {}));
+ (function (t) {
+ (t.Empty = ''),
+ (t.QuickFix = 'quickfix'),
+ (t.Refactor = 'refactor'),
+ (t.RefactorExtract = 'refactor.extract'),
+ (t.RefactorInline = 'refactor.inline'),
+ (t.RefactorRewrite = 'refactor.rewrite'),
+ (t.Source = 'source'),
+ (t.SourceOrganizeImports = 'source.organizeImports'),
+ (t.SourceFixAll = 'source.fixAll');
+ })(Nse || (Nse = {}));
+ (function (t) {
+ (t.Invoked = 1), (t.Automatic = 2);
+ })(kk || (kk = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { diagnostics: n };
+ return i != null && (s.only = i), a != null && (s.triggerKind = a), s;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.defined(i) &&
+ Fe.typedArray(i.diagnostics, wk.is) &&
+ (i.only === void 0 || Fe.typedArray(i.only, Fe.string)) &&
+ (i.triggerKind === void 0 || i.triggerKind === kk.Invoked || i.triggerKind === kk.Automatic)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(Mse || (Mse = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { title: n },
+ l = !0;
+ return (
+ typeof i == 'string' ? ((l = !1), (s.kind = i)) : dg.is(i) ? (s.command = i) : (s.edit = i),
+ l && a !== void 0 && (s.kind = a),
+ s
+ );
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i &&
+ Fe.string(i.title) &&
+ (i.diagnostics === void 0 || Fe.typedArray(i.diagnostics, wk.is)) &&
+ (i.kind === void 0 || Fe.string(i.kind)) &&
+ (i.edit !== void 0 || i.command !== void 0) &&
+ (i.command === void 0 || dg.is(i.command)) &&
+ (i.isPreferred === void 0 || Fe.boolean(i.isPreferred)) &&
+ (i.edit === void 0 || jN.is(i.edit))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(Ise || (Ise = {}));
+ (function (t) {
+ function e(n, i) {
+ let a = { range: n };
+ return Fe.defined(i) && (a.data = i), a;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && wr.is(i.range) && (Fe.undefined(i.command) || dg.is(i.command));
+ }
+ o(r, 'is'), (t.is = r);
+ })(Ose || (Ose = {}));
+ (function (t) {
+ function e(n, i) {
+ return { tabSize: n, insertSpaces: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && Fe.uinteger(i.tabSize) && Fe.boolean(i.insertSpaces);
+ }
+ o(r, 'is'), (t.is = r);
+ })(Pse || (Pse = {}));
+ (function (t) {
+ function e(n, i, a) {
+ return { range: n, target: i, data: a };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && wr.is(i.range) && (Fe.undefined(i.target) || Fe.string(i.target));
+ }
+ o(r, 'is'), (t.is = r);
+ })(Bse || (Bse = {}));
+ (function (t) {
+ function e(n, i) {
+ return { range: n, parent: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.objectLiteral(i) && wr.is(i.range) && (i.parent === void 0 || t.is(i.parent));
+ }
+ o(r, 'is'), (t.is = r);
+ })(Fse || (Fse = {}));
+ (function (t) {
+ (t.namespace = 'namespace'),
+ (t.type = 'type'),
+ (t.class = 'class'),
+ (t.enum = 'enum'),
+ (t.interface = 'interface'),
+ (t.struct = 'struct'),
+ (t.typeParameter = 'typeParameter'),
+ (t.parameter = 'parameter'),
+ (t.variable = 'variable'),
+ (t.property = 'property'),
+ (t.enumMember = 'enumMember'),
+ (t.event = 'event'),
+ (t.function = 'function'),
+ (t.method = 'method'),
+ (t.macro = 'macro'),
+ (t.keyword = 'keyword'),
+ (t.modifier = 'modifier'),
+ (t.comment = 'comment'),
+ (t.string = 'string'),
+ (t.number = 'number'),
+ (t.regexp = 'regexp'),
+ (t.operator = 'operator'),
+ (t.decorator = 'decorator');
+ })(zse || (zse = {}));
+ (function (t) {
+ (t.declaration = 'declaration'),
+ (t.definition = 'definition'),
+ (t.readonly = 'readonly'),
+ (t.static = 'static'),
+ (t.deprecated = 'deprecated'),
+ (t.abstract = 'abstract'),
+ (t.async = 'async'),
+ (t.modification = 'modification'),
+ (t.documentation = 'documentation'),
+ (t.defaultLibrary = 'defaultLibrary');
+ })(Gse || (Gse = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return (
+ Fe.objectLiteral(n) &&
+ (n.resultId === void 0 || typeof n.resultId == 'string') &&
+ Array.isArray(n.data) &&
+ (n.data.length === 0 || typeof n.data[0] == 'number')
+ );
+ }
+ o(e, 'is'), (t.is = e);
+ })($se || ($se = {}));
+ (function (t) {
+ function e(n, i) {
+ return { range: n, text: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return i != null && wr.is(i.range) && Fe.string(i.text);
+ }
+ o(r, 'is'), (t.is = r);
+ })(Vse || (Vse = {}));
+ (function (t) {
+ function e(n, i, a) {
+ return { range: n, variableName: i, caseSensitiveLookup: a };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ i != null &&
+ wr.is(i.range) &&
+ Fe.boolean(i.caseSensitiveLookup) &&
+ (Fe.string(i.variableName) || i.variableName === void 0)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(Use || (Use = {}));
+ (function (t) {
+ function e(n, i) {
+ return { range: n, expression: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return i != null && wr.is(i.range) && (Fe.string(i.expression) || i.expression === void 0);
+ }
+ o(r, 'is'), (t.is = r);
+ })(Hse || (Hse = {}));
+ (function (t) {
+ function e(n, i) {
+ return { frameId: n, stoppedLocation: i };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return Fe.defined(i) && wr.is(n.stoppedLocation);
+ }
+ o(r, 'is'), (t.is = r);
+ })(Yse || (Yse = {}));
+ (function (t) {
+ (t.Type = 1), (t.Parameter = 2);
+ function e(r) {
+ return r === 1 || r === 2;
+ }
+ o(e, 'is'), (t.is = e);
+ })(ZN || (ZN = {}));
+ (function (t) {
+ function e(n) {
+ return { value: n };
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ Fe.objectLiteral(i) &&
+ (i.tooltip === void 0 || Fe.string(i.tooltip) || E2.is(i.tooltip)) &&
+ (i.location === void 0 || bk.is(i.location)) &&
+ (i.command === void 0 || dg.is(i.command))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(JN || (JN = {}));
+ (function (t) {
+ function e(n, i, a) {
+ let s = { position: n, label: i };
+ return a !== void 0 && (s.kind = a), s;
+ }
+ o(e, 'create'), (t.create = e);
+ function r(n) {
+ let i = n;
+ return (
+ (Fe.objectLiteral(i) &&
+ Ur.is(i.position) &&
+ (Fe.string(i.label) || Fe.typedArray(i.label, JN.is)) &&
+ (i.kind === void 0 || ZN.is(i.kind)) &&
+ i.textEdits === void 0) ||
+ (Fe.typedArray(i.textEdits, pg.is) &&
+ (i.tooltip === void 0 || Fe.string(i.tooltip) || E2.is(i.tooltip)) &&
+ (i.paddingLeft === void 0 || Fe.boolean(i.paddingLeft)) &&
+ (i.paddingRight === void 0 || Fe.boolean(i.paddingRight)))
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ })(Wse || (Wse = {}));
+ (function (t) {
+ function e(r) {
+ return { kind: 'snippet', value: r };
+ }
+ o(e, 'createSnippet'), (t.createSnippet = e);
+ })(qse || (qse = {}));
+ (function (t) {
+ function e(r, n, i, a) {
+ return { insertText: r, filterText: n, range: i, command: a };
+ }
+ o(e, 'create'), (t.create = e);
+ })(Xse || (Xse = {}));
+ (function (t) {
+ function e(r) {
+ return { items: r };
+ }
+ o(e, 'create'), (t.create = e);
+ })(jse || (jse = {}));
+ (function (t) {
+ (t.Invoked = 0), (t.Automatic = 1);
+ })(Kse || (Kse = {}));
+ (function (t) {
+ function e(r, n) {
+ return { range: r, text: n };
+ }
+ o(e, 'create'), (t.create = e);
+ })(Qse || (Qse = {}));
+ (function (t) {
+ function e(r, n) {
+ return { triggerKind: r, selectedCompletionInfo: n };
+ }
+ o(e, 'create'), (t.create = e);
+ })(Zse || (Zse = {}));
+ (function (t) {
+ function e(r) {
+ let n = r;
+ return Fe.objectLiteral(n) && $N.is(n.uri) && Fe.string(n.name);
+ }
+ o(e, 'is'), (t.is = e);
+ })(Jse || (Jse = {}));
+ (function (t) {
+ function e(a, s, l, u) {
+ return new eM(a, s, l, u);
+ }
+ o(e, 'create'), (t.create = e);
+ function r(a) {
+ let s = a;
+ return !!(
+ Fe.defined(s) &&
+ Fe.string(s.uri) &&
+ (Fe.undefined(s.languageId) || Fe.string(s.languageId)) &&
+ Fe.uinteger(s.lineCount) &&
+ Fe.func(s.getText) &&
+ Fe.func(s.positionAt) &&
+ Fe.func(s.offsetAt)
+ );
+ }
+ o(r, 'is'), (t.is = r);
+ function n(a, s) {
+ let l = a.getText(),
+ u = i(s, (f, d) => {
+ let p = f.range.start.line - d.range.start.line;
+ return p === 0 ? f.range.start.character - d.range.start.character : p;
+ }),
+ h = l.length;
+ for (let f = u.length - 1; f >= 0; f--) {
+ let d = u[f],
+ p = a.offsetAt(d.range.start),
+ m = a.offsetAt(d.range.end);
+ if (m <= h) l = l.substring(0, p) + d.newText + l.substring(m, l.length);
+ else throw new Error('Overlapping edit');
+ h = p;
+ }
+ return l;
+ }
+ o(n, 'applyEdits'), (t.applyEdits = n);
+ function i(a, s) {
+ if (a.length <= 1) return a;
+ let l = (a.length / 2) | 0,
+ u = a.slice(0, l),
+ h = a.slice(l);
+ i(u, s), i(h, s);
+ let f = 0,
+ d = 0,
+ p = 0;
+ for (; f < u.length && d < h.length; ) s(u[f], h[d]) <= 0 ? (a[p++] = u[f++]) : (a[p++] = h[d++]);
+ for (; f < u.length; ) a[p++] = u[f++];
+ for (; d < h.length; ) a[p++] = h[d++];
+ return a;
+ }
+ o(i, 'mergeSort');
+ })(eoe || (eoe = {}));
+ eM = class {
+ static {
+ o(this, 'FullTextDocument');
+ }
+ constructor(e, r, n, i) {
+ (this._uri = e),
+ (this._languageId = r),
+ (this._version = n),
+ (this._content = i),
+ (this._lineOffsets = void 0);
+ }
+ get uri() {
+ return this._uri;
+ }
+ get languageId() {
+ return this._languageId;
+ }
+ get version() {
+ return this._version;
+ }
+ getText(e) {
+ if (e) {
+ let r = this.offsetAt(e.start),
+ n = this.offsetAt(e.end);
+ return this._content.substring(r, n);
+ }
+ return this._content;
+ }
+ update(e, r) {
+ (this._content = e.text), (this._version = r), (this._lineOffsets = void 0);
+ }
+ getLineOffsets() {
+ if (this._lineOffsets === void 0) {
+ let e = [],
+ r = this._content,
+ n = !0;
+ for (let i = 0; i < r.length; i++) {
+ n && (e.push(i), (n = !1));
+ let a = r.charAt(i);
+ (n =
+ a === '\r' ||
+ a ===
+ `
+`),
+ a === '\r' &&
+ i + 1 < r.length &&
+ r.charAt(i + 1) ===
+ `
+` &&
+ i++;
+ }
+ n && r.length > 0 && e.push(r.length), (this._lineOffsets = e);
+ }
+ return this._lineOffsets;
+ }
+ positionAt(e) {
+ e = Math.max(Math.min(e, this._content.length), 0);
+ let r = this.getLineOffsets(),
+ n = 0,
+ i = r.length;
+ if (i === 0) return Ur.create(0, e);
+ for (; n < i; ) {
+ let s = Math.floor((n + i) / 2);
+ r[s] > e ? (i = s) : (n = s + 1);
+ }
+ let a = n - 1;
+ return Ur.create(a, e - r[a]);
+ }
+ offsetAt(e) {
+ let r = this.getLineOffsets();
+ if (e.line >= r.length) return this._content.length;
+ if (e.line < 0) return 0;
+ let n = r[e.line],
+ i = e.line + 1 < r.length ? r[e.line + 1] : this._content.length;
+ return Math.max(Math.min(n + e.character, i), n);
+ }
+ get lineCount() {
+ return this.getLineOffsets().length;
+ }
+ };
+ (function (t) {
+ let e = Object.prototype.toString;
+ function r(m) {
+ return typeof m < 'u';
+ }
+ o(r, 'defined'), (t.defined = r);
+ function n(m) {
+ return typeof m > 'u';
+ }
+ o(n, 'undefined'), (t.undefined = n);
+ function i(m) {
+ return m === !0 || m === !1;
+ }
+ o(i, 'boolean'), (t.boolean = i);
+ function a(m) {
+ return e.call(m) === '[object String]';
+ }
+ o(a, 'string'), (t.string = a);
+ function s(m) {
+ return e.call(m) === '[object Number]';
+ }
+ o(s, 'number'), (t.number = s);
+ function l(m, g, y) {
+ return e.call(m) === '[object Number]' && g <= m && m <= y;
+ }
+ o(l, 'numberRange'), (t.numberRange = l);
+ function u(m) {
+ return e.call(m) === '[object Number]' && -2147483648 <= m && m <= 2147483647;
+ }
+ o(u, 'integer'), (t.integer = u);
+ function h(m) {
+ return e.call(m) === '[object Number]' && 0 <= m && m <= 2147483647;
+ }
+ o(h, 'uinteger'), (t.uinteger = h);
+ function f(m) {
+ return e.call(m) === '[object Function]';
+ }
+ o(f, 'func'), (t.func = f);
+ function d(m) {
+ return m !== null && typeof m == 'object';
+ }
+ o(d, 'objectLiteral'), (t.objectLiteral = d);
+ function p(m, g) {
+ return Array.isArray(m) && m.every(g);
+ }
+ o(p, 'typedArray'), (t.typedArray = p);
+ })(Fe || (Fe = {}));
+ });
+ var C2,
+ S2,
+ d0,
+ p0,
+ rM,
+ gg,
+ Ek = R(() => {
+ 'use strict';
+ tM();
+ Vo();
+ Rl();
+ (C2 = class {
+ static {
+ o(this, 'CstNodeBuilder');
+ }
+ constructor() {
+ this.nodeStack = [];
+ }
+ get current() {
+ return this.nodeStack[this.nodeStack.length - 1];
+ }
+ buildRootNode(e) {
+ return (
+ (this.rootNode = new gg(e)),
+ (this.rootNode.root = this.rootNode),
+ (this.nodeStack = [this.rootNode]),
+ this.rootNode
+ );
+ }
+ buildCompositeNode(e) {
+ let r = new p0();
+ return (
+ (r.grammarSource = e),
+ (r.root = this.rootNode),
+ this.current.content.push(r),
+ this.nodeStack.push(r),
+ r
+ );
+ }
+ buildLeafNode(e, r) {
+ let n = new d0(e.startOffset, e.image.length, zm(e), e.tokenType, !1);
+ return (n.grammarSource = r), (n.root = this.rootNode), this.current.content.push(n), n;
+ }
+ removeNode(e) {
+ let r = e.container;
+ if (r) {
+ let n = r.content.indexOf(e);
+ n >= 0 && r.content.splice(n, 1);
+ }
+ }
+ construct(e) {
+ let r = this.current;
+ typeof e.$type == 'string' && (this.current.astNode = e), (e.$cstNode = r);
+ let n = this.nodeStack.pop();
+ n?.content.length === 0 && this.removeNode(n);
+ }
+ addHiddenTokens(e) {
+ for (let r of e) {
+ let n = new d0(r.startOffset, r.image.length, zm(r), r.tokenType, !0);
+ (n.root = this.rootNode), this.addHiddenToken(this.rootNode, n);
+ }
+ }
+ addHiddenToken(e, r) {
+ let { offset: n, end: i } = r;
+ for (let a = 0; a < e.content.length; a++) {
+ let s = e.content[a],
+ { offset: l, end: u } = s;
+ if (co(s) && n > l && i < u) {
+ this.addHiddenToken(s, r);
+ return;
+ } else if (i <= l) {
+ e.content.splice(a, 0, r);
+ return;
+ }
+ }
+ e.content.push(r);
+ }
+ }),
+ (S2 = class {
+ static {
+ o(this, 'AbstractCstNode');
+ }
+ get parent() {
+ return this.container;
+ }
+ get feature() {
+ return this.grammarSource;
+ }
+ get hidden() {
+ return !1;
+ }
+ get astNode() {
+ var e, r;
+ let n =
+ typeof ((e = this._astNode) === null || e === void 0 ? void 0 : e.$type) == 'string'
+ ? this._astNode
+ : (r = this.container) === null || r === void 0
+ ? void 0
+ : r.astNode;
+ if (!n) throw new Error('This node has no associated AST element');
+ return n;
+ }
+ set astNode(e) {
+ this._astNode = e;
+ }
+ get element() {
+ return this.astNode;
+ }
+ get text() {
+ return this.root.fullText.substring(this.offset, this.end);
+ }
+ }),
+ (d0 = class extends S2 {
+ static {
+ o(this, 'LeafCstNodeImpl');
+ }
+ get offset() {
+ return this._offset;
+ }
+ get length() {
+ return this._length;
+ }
+ get end() {
+ return this._offset + this._length;
+ }
+ get hidden() {
+ return this._hidden;
+ }
+ get tokenType() {
+ return this._tokenType;
+ }
+ get range() {
+ return this._range;
+ }
+ constructor(e, r, n, i, a = !1) {
+ super(),
+ (this._hidden = a),
+ (this._offset = e),
+ (this._tokenType = i),
+ (this._length = r),
+ (this._range = n);
+ }
+ }),
+ (p0 = class extends S2 {
+ static {
+ o(this, 'CompositeCstNodeImpl');
+ }
+ constructor() {
+ super(...arguments), (this.content = new rM(this));
+ }
+ get children() {
+ return this.content;
+ }
+ get offset() {
+ var e, r;
+ return (r = (e = this.firstNonHiddenNode) === null || e === void 0 ? void 0 : e.offset) !==
+ null && r !== void 0
+ ? r
+ : 0;
+ }
+ get length() {
+ return this.end - this.offset;
+ }
+ get end() {
+ var e, r;
+ return (r = (e = this.lastNonHiddenNode) === null || e === void 0 ? void 0 : e.end) !== null &&
+ r !== void 0
+ ? r
+ : 0;
+ }
+ get range() {
+ let e = this.firstNonHiddenNode,
+ r = this.lastNonHiddenNode;
+ if (e && r) {
+ if (this._rangeCache === void 0) {
+ let { range: n } = e,
+ { range: i } = r;
+ this._rangeCache = {
+ start: n.start,
+ end: i.end.line < n.start.line ? n.start : i.end
+ };
+ }
+ return this._rangeCache;
+ } else return { start: Ur.create(0, 0), end: Ur.create(0, 0) };
+ }
+ get firstNonHiddenNode() {
+ for (let e of this.content) if (!e.hidden) return e;
+ return this.content[0];
+ }
+ get lastNonHiddenNode() {
+ for (let e = this.content.length - 1; e >= 0; e--) {
+ let r = this.content[e];
+ if (!r.hidden) return r;
+ }
+ return this.content[this.content.length - 1];
+ }
+ }),
+ (rM = class t extends Array {
+ static {
+ o(this, 'CstNodeContainer');
+ }
+ constructor(e) {
+ super(), (this.parent = e), Object.setPrototypeOf(this, t.prototype);
+ }
+ push(...e) {
+ return this.addParents(e), super.push(...e);
+ }
+ unshift(...e) {
+ return this.addParents(e), super.unshift(...e);
+ }
+ splice(e, r, ...n) {
+ return this.addParents(n), super.splice(e, r, ...n);
+ }
+ addParents(e) {
+ for (let r of e) r.container = this.parent;
+ }
+ }),
+ (gg = class extends p0 {
+ static {
+ o(this, 'RootCstNodeImpl');
+ }
+ get text() {
+ return this._text.substring(this.offset, this.end);
+ }
+ get fullText() {
+ return this._text;
+ }
+ constructor(e) {
+ super(), (this._text = ''), (this._text = e ?? '');
+ }
+ });
+ });
+ function nM(t) {
+ return t.$type === Ck;
+ }
+ var Ck,
+ toe,
+ roe,
+ A2,
+ _2,
+ Sk,
+ yg,
+ L2,
+ LOe,
+ iM,
+ D2 = R(() => {
+ 'use strict';
+ u0();
+ Jae();
+ Sc();
+ Il();
+ es();
+ Ek();
+ Ck = Symbol('Datatype');
+ o(nM, 'isDataTypeNode');
+ (toe = '\u200B'),
+ (roe = o((t) => (t.endsWith(toe) ? t : t + toe), 'withRuleSuffix')),
+ (A2 = class {
+ static {
+ o(this, 'AbstractLangiumParser');
+ }
+ constructor(e) {
+ (this._unorderedGroups = new Map()), (this.lexer = e.parser.Lexer);
+ let r = this.lexer.definition;
+ this.wrapper = new iM(
+ r,
+ Object.assign(Object.assign({}, e.parser.ParserConfig), {
+ errorMessageProvider: e.parser.ParserErrorMessageProvider
+ })
+ );
+ }
+ alternatives(e, r) {
+ this.wrapper.wrapOr(e, r);
+ }
+ optional(e, r) {
+ this.wrapper.wrapOption(e, r);
+ }
+ many(e, r) {
+ this.wrapper.wrapMany(e, r);
+ }
+ atLeastOne(e, r) {
+ this.wrapper.wrapAtLeastOne(e, r);
+ }
+ isRecording() {
+ return this.wrapper.IS_RECORDING;
+ }
+ get unorderedGroups() {
+ return this._unorderedGroups;
+ }
+ getRuleStack() {
+ return this.wrapper.RULE_STACK;
+ }
+ finalize() {
+ this.wrapper.wrapSelfAnalysis();
+ }
+ }),
+ (_2 = class extends A2 {
+ static {
+ o(this, 'LangiumParser');
+ }
+ get current() {
+ return this.stack[this.stack.length - 1];
+ }
+ constructor(e) {
+ super(e),
+ (this.nodeBuilder = new C2()),
+ (this.stack = []),
+ (this.assignmentMap = new Map()),
+ (this.linker = e.references.Linker),
+ (this.converter = e.parser.ValueConverter),
+ (this.astReflection = e.shared.AstReflection);
+ }
+ rule(e, r) {
+ let n = e.fragment ? void 0 : Jv(e) ? Ck : r0(e),
+ i = this.wrapper.DEFINE_RULE(roe(e.name), this.startImplementation(n, r).bind(this));
+ return e.entry && (this.mainRule = i), i;
+ }
+ parse(e) {
+ this.nodeBuilder.buildRootNode(e);
+ let r = this.lexer.tokenize(e);
+ this.wrapper.input = r.tokens;
+ let n = this.mainRule.call(this.wrapper, {});
+ return (
+ this.nodeBuilder.addHiddenTokens(r.hidden),
+ this.unorderedGroups.clear(),
+ {
+ value: n,
+ lexerErrors: r.errors,
+ parserErrors: this.wrapper.errors
+ }
+ );
+ }
+ startImplementation(e, r) {
+ return (n) => {
+ if (!this.isRecording()) {
+ let a = { $type: e };
+ this.stack.push(a), e === Ck && (a.value = '');
+ }
+ let i;
+ try {
+ i = r(n);
+ } catch {
+ i = void 0;
+ }
+ return !this.isRecording() && i === void 0 && (i = this.construct()), i;
+ };
+ }
+ consume(e, r, n) {
+ let i = this.wrapper.wrapConsume(e, r);
+ if (!this.isRecording() && this.isValidToken(i)) {
+ let a = this.nodeBuilder.buildLeafNode(i, n),
+ { assignment: s, isCrossRef: l } = this.getAssignment(n),
+ u = this.current;
+ if (s) {
+ let h = Ho(n) ? i.image : this.converter.convert(i.image, a);
+ this.assign(s.operator, s.feature, h, a, l);
+ } else if (nM(u)) {
+ let h = i.image;
+ Ho(n) || (h = this.converter.convert(h, a).toString()), (u.value += h);
+ }
+ }
+ }
+ isValidToken(e) {
+ return (
+ !e.isInsertedInRecovery &&
+ !isNaN(e.startOffset) &&
+ typeof e.endOffset == 'number' &&
+ !isNaN(e.endOffset)
+ );
+ }
+ subrule(e, r, n, i) {
+ let a;
+ this.isRecording() || (a = this.nodeBuilder.buildCompositeNode(n));
+ let s = this.wrapper.wrapSubrule(e, r, i);
+ !this.isRecording() && a && a.length > 0 && this.performSubruleAssignment(s, n, a);
+ }
+ performSubruleAssignment(e, r, n) {
+ let { assignment: i, isCrossRef: a } = this.getAssignment(r);
+ if (i) this.assign(i.operator, i.feature, e, n, a);
+ else if (!i) {
+ let s = this.current;
+ if (nM(s)) s.value += e.toString();
+ else if (typeof e == 'object' && e) {
+ let l = e.$type,
+ u = this.assignWithoutOverride(e, s);
+ l && (u.$type = l);
+ let h = u;
+ this.stack.pop(), this.stack.push(h);
+ }
+ }
+ }
+ action(e, r) {
+ if (!this.isRecording()) {
+ let n = this.current;
+ if (!n.$cstNode && r.feature && r.operator) {
+ n = this.construct(!1);
+ let a = n.$cstNode.feature;
+ this.nodeBuilder.buildCompositeNode(a);
+ }
+ let i = { $type: e };
+ this.stack.pop(),
+ this.stack.push(i),
+ r.feature && r.operator && this.assign(r.operator, r.feature, n, n.$cstNode, !1);
+ }
+ }
+ construct(e = !0) {
+ if (this.isRecording()) return;
+ let r = this.current;
+ return (
+ ET(r),
+ this.nodeBuilder.construct(r),
+ e && this.stack.pop(),
+ nM(r) ? this.converter.convert(r.value, r.$cstNode) : (NR(this.astReflection, r), r)
+ );
+ }
+ getAssignment(e) {
+ if (!this.assignmentMap.has(e)) {
+ let r = Qd(e, Nl);
+ this.assignmentMap.set(e, {
+ assignment: r,
+ isCrossRef: r ? Kd(r.terminal) : !1
+ });
+ }
+ return this.assignmentMap.get(e);
+ }
+ assign(e, r, n, i, a) {
+ let s = this.current,
+ l;
+ switch (
+ (a && typeof n == 'string' ? (l = this.linker.buildReference(s, r, i, n)) : (l = n), e)
+ ) {
+ case '=': {
+ s[r] = l;
+ break;
+ }
+ case '?=': {
+ s[r] = !0;
+ break;
+ }
+ case '+=':
+ Array.isArray(s[r]) || (s[r] = []), s[r].push(l);
+ }
+ }
+ assignWithoutOverride(e, r) {
+ for (let [n, i] of Object.entries(r)) {
+ let a = e[n];
+ a === void 0
+ ? (e[n] = i)
+ : Array.isArray(a) && Array.isArray(i) && (i.push(...a), (e[n] = i));
+ }
+ return e;
+ }
+ get definitionErrors() {
+ return this.wrapper.definitionErrors;
+ }
+ }),
+ (Sk = class {
+ static {
+ o(this, 'AbstractParserErrorMessageProvider');
+ }
+ buildMismatchTokenMessage(e) {
+ return Gu.buildMismatchTokenMessage(e);
+ }
+ buildNotAllInputParsedMessage(e) {
+ return Gu.buildNotAllInputParsedMessage(e);
+ }
+ buildNoViableAltMessage(e) {
+ return Gu.buildNoViableAltMessage(e);
+ }
+ buildEarlyExitMessage(e) {
+ return Gu.buildEarlyExitMessage(e);
+ }
+ }),
+ (yg = class extends Sk {
+ static {
+ o(this, 'LangiumParserErrorMessageProvider');
+ }
+ buildMismatchTokenMessage({ expected: e, actual: r }) {
+ return `Expecting ${
+ e.LABEL
+ ? '`' + e.LABEL + '`'
+ : e.name.endsWith(':KW')
+ ? `keyword '${e.name.substring(0, e.name.length - 3)}'`
+ : `token of type '${e.name}'`
+ } but found \`${r.image}\`.`;
+ }
+ buildNotAllInputParsedMessage({ firstRedundant: e }) {
+ return `Expecting end of file but found \`${e.image}\`.`;
+ }
+ }),
+ (L2 = class extends A2 {
+ static {
+ o(this, 'LangiumCompletionParser');
+ }
+ constructor() {
+ super(...arguments),
+ (this.tokens = []),
+ (this.elementStack = []),
+ (this.lastElementStack = []),
+ (this.nextTokenIndex = 0),
+ (this.stackSize = 0);
+ }
+ action() {}
+ construct() {}
+ parse(e) {
+ this.resetState();
+ let r = this.lexer.tokenize(e);
+ return (
+ (this.tokens = r.tokens),
+ (this.wrapper.input = [...this.tokens]),
+ this.mainRule.call(this.wrapper, {}),
+ this.unorderedGroups.clear(),
+ {
+ tokens: this.tokens,
+ elementStack: [...this.lastElementStack],
+ tokenIndex: this.nextTokenIndex
+ }
+ );
+ }
+ rule(e, r) {
+ let n = this.wrapper.DEFINE_RULE(roe(e.name), this.startImplementation(r).bind(this));
+ return e.entry && (this.mainRule = n), n;
+ }
+ resetState() {
+ (this.elementStack = []),
+ (this.lastElementStack = []),
+ (this.nextTokenIndex = 0),
+ (this.stackSize = 0);
+ }
+ startImplementation(e) {
+ return (r) => {
+ let n = this.keepStackSize();
+ try {
+ e(r);
+ } finally {
+ this.resetStackSize(n);
+ }
+ };
+ }
+ removeUnexpectedElements() {
+ this.elementStack.splice(this.stackSize);
+ }
+ keepStackSize() {
+ let e = this.elementStack.length;
+ return (this.stackSize = e), e;
+ }
+ resetStackSize(e) {
+ this.removeUnexpectedElements(), (this.stackSize = e);
+ }
+ consume(e, r, n) {
+ this.wrapper.wrapConsume(e, r),
+ this.isRecording() ||
+ ((this.lastElementStack = [...this.elementStack, n]),
+ (this.nextTokenIndex = this.currIdx + 1));
+ }
+ subrule(e, r, n, i) {
+ this.before(n), this.wrapper.wrapSubrule(e, r, i), this.after(n);
+ }
+ before(e) {
+ this.isRecording() || this.elementStack.push(e);
+ }
+ after(e) {
+ if (!this.isRecording()) {
+ let r = this.elementStack.lastIndexOf(e);
+ r >= 0 && this.elementStack.splice(r);
+ }
+ }
+ get currIdx() {
+ return this.wrapper.currIdx;
+ }
+ }),
+ (LOe = {
+ recoveryEnabled: !0,
+ nodeLocationTracking: 'full',
+ skipValidations: !0,
+ errorMessageProvider: new yg()
+ }),
+ (iM = class extends x2 {
+ static {
+ o(this, 'ChevrotainWrapper');
+ }
+ constructor(e, r) {
+ let n = r && 'maxLookahead' in r;
+ super(
+ e,
+ Object.assign(
+ Object.assign(Object.assign({}, LOe), {
+ lookaheadStrategy: n ? new $u({ maxLookahead: r.maxLookahead }) : new k2()
+ }),
+ r
+ )
+ );
+ }
+ get IS_RECORDING() {
+ return this.RECORDING_PHASE;
+ }
+ DEFINE_RULE(e, r) {
+ return this.RULE(e, r);
+ }
+ wrapSelfAnalysis() {
+ this.performSelfAnalysis();
+ }
+ wrapConsume(e, r) {
+ return this.consume(e, r);
+ }
+ wrapSubrule(e, r, n) {
+ return this.subrule(e, r, { ARGS: [n] });
+ }
+ wrapOr(e, r) {
+ this.or(e, r);
+ }
+ wrapOption(e, r) {
+ this.option(e, r);
+ }
+ wrapMany(e, r) {
+ this.many(e, r);
+ }
+ wrapAtLeastOne(e, r) {
+ this.atLeastOne(e, r);
+ }
+ });
+ });
+ function _k(t, e, r) {
+ return DOe({ parser: e, tokens: r, rules: new Map(), ruleNames: new Map() }, t), e;
+ }
+ function DOe(t, e) {
+ let r = Qv(e, !1),
+ n = Kr(e.rules)
+ .filter(Oa)
+ .filter((i) => r.has(i));
+ for (let i of n) {
+ let a = Object.assign(Object.assign({}, t), {
+ consume: 1,
+ optional: 1,
+ subrule: 1,
+ many: 1,
+ or: 1
+ });
+ a.rules.set(i.name, t.parser.rule(i, m0(a, i.definition)));
+ }
+ }
+ function m0(t, e, r = !1) {
+ let n;
+ if (Ho(e)) n = BOe(t, e);
+ else if (Iu(e)) n = ROe(t, e);
+ else if (Nl(e)) n = m0(t, e.terminal);
+ else if (Kd(e)) n = noe(t, e);
+ else if (Ml(e)) n = NOe(t, e);
+ else if (wT(e)) n = IOe(t, e);
+ else if (kT(e)) n = OOe(t, e);
+ else if (rf(e)) n = POe(t, e);
+ else if (fR(e)) {
+ let i = t.consume++;
+ n = o(() => t.parser.consume(i, fo, e), 'method');
+ } else throw new jd(e.$cstNode, `Unexpected element type: ${e.$type}`);
+ return ioe(t, r ? void 0 : Ak(e), n, e.cardinality);
+ }
+ function ROe(t, e) {
+ let r = r0(e);
+ return () => t.parser.action(r, e);
+ }
+ function NOe(t, e) {
+ let r = e.rule.ref;
+ if (Oa(r)) {
+ let n = t.subrule++,
+ i = e.arguments.length > 0 ? MOe(r, e.arguments) : () => ({});
+ return (a) => t.parser.subrule(n, aoe(t, r), e, i(a));
+ } else if (Uo(r)) {
+ let n = t.consume++,
+ i = aM(t, r.name);
+ return () => t.parser.consume(n, i, e);
+ } else if (r) tf(r);
+ else throw new jd(e.$cstNode, `Undefined rule type: ${e.$type}`);
+ }
+ function MOe(t, e) {
+ let r = e.map((n) => Vu(n.value));
+ return (n) => {
+ let i = {};
+ for (let a = 0; a < r.length; a++) {
+ let s = t.parameters[a],
+ l = r[a];
+ i[s.name] = l(n);
+ }
+ return i;
+ };
+ }
+ function Vu(t) {
+ if (GD(t)) {
+ let e = Vu(t.left),
+ r = Vu(t.right);
+ return (n) => e(n) || r(n);
+ } else if (FD(t)) {
+ let e = Vu(t.left),
+ r = Vu(t.right);
+ return (n) => e(n) && r(n);
+ } else if (YD(t)) {
+ let e = Vu(t.value);
+ return (r) => !e(r);
+ } else if (jD(t)) {
+ let e = t.parameter.ref.name;
+ return (r) => r !== void 0 && r[e] === !0;
+ } else if (PD(t)) {
+ let e = !!t.true;
+ return () => e;
+ }
+ tf(t);
+ }
+ function IOe(t, e) {
+ if (e.elements.length === 1) return m0(t, e.elements[0]);
+ {
+ let r = [];
+ for (let i of e.elements) {
+ let a = { ALT: m0(t, i, !0) },
+ s = Ak(i);
+ s && (a.GATE = Vu(s)), r.push(a);
+ }
+ let n = t.or++;
+ return (i) =>
+ t.parser.alternatives(
+ n,
+ r.map((a) => {
+ let s = { ALT: o(() => a.ALT(i), 'ALT') },
+ l = a.GATE;
+ return l && (s.GATE = () => l(i)), s;
+ })
+ );
+ }
+ }
+ function OOe(t, e) {
+ if (e.elements.length === 1) return m0(t, e.elements[0]);
+ let r = [];
+ for (let l of e.elements) {
+ let u = { ALT: m0(t, l, !0) },
+ h = Ak(l);
+ h && (u.GATE = Vu(h)), r.push(u);
+ }
+ let n = t.or++,
+ i = o((l, u) => {
+ let h = u.getRuleStack().join('-');
+ return `uGroup_${l}_${h}`;
+ }, 'idFunc'),
+ a = o(
+ (l) =>
+ t.parser.alternatives(
+ n,
+ r.map((u, h) => {
+ let f = { ALT: o(() => !0, 'ALT') },
+ d = t.parser;
+ f.ALT = () => {
+ if ((u.ALT(l), !d.isRecording())) {
+ let m = i(n, d);
+ d.unorderedGroups.get(m) || d.unorderedGroups.set(m, []);
+ let g = d.unorderedGroups.get(m);
+ typeof g?.[h] > 'u' && (g[h] = !0);
+ }
+ };
+ let p = u.GATE;
+ return (
+ p
+ ? (f.GATE = () => p(l))
+ : (f.GATE = () => {
+ let m = d.unorderedGroups.get(i(n, d));
+ return !m?.[h];
+ }),
+ f
+ );
+ })
+ ),
+ 'alternatives'
+ ),
+ s = ioe(t, Ak(e), a, '*');
+ return (l) => {
+ s(l), t.parser.isRecording() || t.parser.unorderedGroups.delete(i(n, t.parser));
+ };
+ }
+ function POe(t, e) {
+ let r = e.elements.map((n) => m0(t, n));
+ return (n) => r.forEach((i) => i(n));
+ }
+ function Ak(t) {
+ if (rf(t)) return t.guardCondition;
+ }
+ function noe(t, e, r = e.terminal) {
+ if (r)
+ if (Ml(r) && Oa(r.rule.ref)) {
+ let n = t.subrule++;
+ return (i) => t.parser.subrule(n, aoe(t, r.rule.ref), e, i);
+ } else if (Ml(r) && Uo(r.rule.ref)) {
+ let n = t.consume++,
+ i = aM(t, r.rule.ref.name);
+ return () => t.parser.consume(n, i, e);
+ } else if (Ho(r)) {
+ let n = t.consume++,
+ i = aM(t, r.value);
+ return () => t.parser.consume(n, i, e);
+ } else throw new Error('Could not build cross reference parser');
+ else {
+ if (!e.type.ref) throw new Error('Could not resolve reference to type: ' + e.type.$refText);
+ let n = DT(e.type.ref),
+ i = n?.terminal;
+ if (!i) throw new Error('Could not find name assignment for type: ' + r0(e.type.ref));
+ return noe(t, e, i);
+ }
+ }
+ function BOe(t, e) {
+ let r = t.consume++,
+ n = t.tokens[e.value];
+ if (!n) throw new Error('Could not find token for keyword: ' + e.value);
+ return () => t.parser.consume(r, n, e);
+ }
+ function ioe(t, e, r, n) {
+ let i = e && Vu(e);
+ if (!n)
+ if (i) {
+ let a = t.or++;
+ return (s) =>
+ t.parser.alternatives(a, [
+ { ALT: o(() => r(s), 'ALT'), GATE: o(() => i(s), 'GATE') },
+ { ALT: gk(), GATE: o(() => !i(s), 'GATE') }
+ ]);
+ } else return r;
+ if (n === '*') {
+ let a = t.many++;
+ return (s) =>
+ t.parser.many(a, {
+ DEF: o(() => r(s), 'DEF'),
+ GATE: i ? () => i(s) : void 0
+ });
+ } else if (n === '+') {
+ let a = t.many++;
+ if (i) {
+ let s = t.or++;
+ return (l) =>
+ t.parser.alternatives(s, [
+ {
+ ALT: o(() => t.parser.atLeastOne(a, { DEF: o(() => r(l), 'DEF') }), 'ALT'),
+ GATE: o(() => i(l), 'GATE')
+ },
+ { ALT: gk(), GATE: o(() => !i(l), 'GATE') }
+ ]);
+ } else return (s) => t.parser.atLeastOne(a, { DEF: o(() => r(s), 'DEF') });
+ } else if (n === '?') {
+ let a = t.optional++;
+ return (s) =>
+ t.parser.optional(a, {
+ DEF: o(() => r(s), 'DEF'),
+ GATE: i ? () => i(s) : void 0
+ });
+ } else tf(n);
+ }
+ function aoe(t, e) {
+ let r = FOe(t, e),
+ n = t.rules.get(r);
+ if (!n) throw new Error(`Rule "${r}" not found."`);
+ return n;
+ }
+ function FOe(t, e) {
+ if (Oa(e)) return e.name;
+ if (t.ruleNames.has(e)) return t.ruleNames.get(e);
+ {
+ let r = e,
+ n = r.$container,
+ i = e.$type;
+ for (; !Oa(n); )
+ (rf(n) || wT(n) || kT(n)) && (i = n.elements.indexOf(r).toString() + ':' + i),
+ (r = n),
+ (n = n.$container);
+ return (i = n.name + ':' + i), t.ruleNames.set(e, i), i;
+ }
+ }
+ function aM(t, e) {
+ let r = t.tokens[e];
+ if (!r) throw new Error(`Token "${e}" not found."`);
+ return r;
+ }
+ var sM = R(() => {
+ 'use strict';
+ u0();
+ Sc();
+ pT();
+ Ds();
+ Il();
+ o(_k, 'createParser');
+ o(DOe, 'buildRules');
+ o(m0, 'buildElement');
+ o(ROe, 'buildAction');
+ o(NOe, 'buildRuleCall');
+ o(MOe, 'buildRuleCallPredicate');
+ o(Vu, 'buildPredicate');
+ o(IOe, 'buildAlternatives');
+ o(OOe, 'buildUnorderedGroup');
+ o(POe, 'buildGroup');
+ o(Ak, 'getGuardCondition');
+ o(noe, 'buildCrossReference');
+ o(BOe, 'buildKeyword');
+ o(ioe, 'wrap');
+ o(aoe, 'getRule');
+ o(FOe, 'getRuleName');
+ o(aM, 'getToken');
+ });
+ function oM(t) {
+ let e = t.Grammar,
+ r = t.parser.Lexer,
+ n = new L2(t);
+ return _k(e, n, r.definition), n.finalize(), n;
+ }
+ var lM = R(() => {
+ 'use strict';
+ D2();
+ sM();
+ o(oM, 'createCompletionParser');
+ });
+ function cM(t) {
+ let e = soe(t);
+ return e.finalize(), e;
+ }
+ function soe(t) {
+ let e = t.Grammar,
+ r = t.parser.Lexer,
+ n = new _2(t);
+ return _k(e, n, r.definition);
+ }
+ var uM = R(() => {
+ 'use strict';
+ D2();
+ sM();
+ o(cM, 'createLangiumParser');
+ o(soe, 'prepareLangiumParser');
+ });
+ var g0,
+ hM = R(() => {
+ 'use strict';
+ u0();
+ Sc();
+ es();
+ Il();
+ Um();
+ Ds();
+ g0 = class {
+ static {
+ o(this, 'DefaultTokenBuilder');
+ }
+ buildTokens(e, r) {
+ let n = Kr(Qv(e, !1)),
+ i = this.buildTerminalTokens(n),
+ a = this.buildKeywordTokens(n, i, r);
+ return (
+ i.forEach((s) => {
+ let l = s.PATTERN;
+ typeof l == 'object' && l && 'test' in l && _T(l) ? a.unshift(s) : a.push(s);
+ }),
+ a
+ );
+ }
+ buildTerminalTokens(e) {
+ return e
+ .filter(Uo)
+ .filter((r) => !r.fragment)
+ .map((r) => this.buildTerminalToken(r))
+ .toArray();
+ }
+ buildTerminalToken(e) {
+ let r = Hm(e),
+ n = this.requiresCustomPattern(r) ? this.regexPatternFunction(r) : r,
+ i = { name: e.name, PATTERN: n, LINE_BREAKS: !0 };
+ return e.hidden && (i.GROUP = _T(r) ? ni.SKIPPED : 'hidden'), i;
+ }
+ requiresCustomPattern(e) {
+ return e.flags.includes('u') ? !0 : !!(e.source.includes('?<=') || e.source.includes('? ((r.lastIndex = i), r.exec(n));
+ }
+ buildKeywordTokens(e, r, n) {
+ return e
+ .filter(Oa)
+ .flatMap((i) => Ac(i).filter(Ho))
+ .distinct((i) => i.value)
+ .toArray()
+ .sort((i, a) => a.value.length - i.value.length)
+ .map((i) => this.buildKeywordToken(i, r, !!n?.caseInsensitive));
+ }
+ buildKeywordToken(e, r, n) {
+ return {
+ name: e.value,
+ PATTERN: this.buildKeywordPattern(e, n),
+ LONGER_ALT: this.findLongerAlt(e, r)
+ };
+ }
+ buildKeywordPattern(e, r) {
+ return r ? new RegExp(zR(e.value)) : e.value;
+ }
+ findLongerAlt(e, r) {
+ return r.reduce((n, i) => {
+ let a = i?.PATTERN;
+ return a?.source && GR('^' + a.source + '$', e.value) && n.push(i), n;
+ }, []);
+ }
+ };
+ });
+ var y0,
+ Dc,
+ fM = R(() => {
+ 'use strict';
+ Sc();
+ Il();
+ y0 = class {
+ static {
+ o(this, 'DefaultValueConverter');
+ }
+ convert(e, r) {
+ let n = r.grammarSource;
+ if ((Kd(n) && (n = UR(n)), Ml(n))) {
+ let i = n.rule.ref;
+ if (!i) throw new Error('This cst node was not parsed by a rule.');
+ return this.runConverter(i, e, r);
+ }
+ return e;
+ }
+ runConverter(e, r, n) {
+ var i;
+ switch (e.name.toUpperCase()) {
+ case 'INT':
+ return Dc.convertInt(r);
+ case 'STRING':
+ return Dc.convertString(r);
+ case 'ID':
+ return Dc.convertID(r);
+ }
+ switch ((i = QR(e)) === null || i === void 0 ? void 0 : i.toLowerCase()) {
+ case 'number':
+ return Dc.convertNumber(r);
+ case 'boolean':
+ return Dc.convertBoolean(r);
+ case 'bigint':
+ return Dc.convertBigint(r);
+ case 'date':
+ return Dc.convertDate(r);
+ default:
+ return r;
+ }
+ }
+ };
+ (function (t) {
+ function e(h) {
+ let f = '';
+ for (let d = 1; d < h.length - 1; d++) {
+ let p = h.charAt(d);
+ if (p === '\\') {
+ let m = h.charAt(++d);
+ f += r(m);
+ } else f += p;
+ }
+ return f;
+ }
+ o(e, 'convertString'), (t.convertString = e);
+ function r(h) {
+ switch (h) {
+ case 'b':
+ return '\b';
+ case 'f':
+ return '\f';
+ case 'n':
+ return `
+`;
+ case 'r':
+ return '\r';
+ case 't':
+ return ' ';
+ case 'v':
+ return '\v';
+ case '0':
+ return '\0';
+ default:
+ return h;
+ }
+ }
+ o(r, 'convertEscapeCharacter');
+ function n(h) {
+ return h.charAt(0) === '^' ? h.substring(1) : h;
+ }
+ o(n, 'convertID'), (t.convertID = n);
+ function i(h) {
+ return parseInt(h);
+ }
+ o(i, 'convertInt'), (t.convertInt = i);
+ function a(h) {
+ return BigInt(h);
+ }
+ o(a, 'convertBigint'), (t.convertBigint = a);
+ function s(h) {
+ return new Date(h);
+ }
+ o(s, 'convertDate'), (t.convertDate = s);
+ function l(h) {
+ return Number(h);
+ }
+ o(l, 'convertNumber'), (t.convertNumber = l);
+ function u(h) {
+ return h.toLowerCase() === 'true';
+ }
+ o(u, 'convertBoolean'), (t.convertBoolean = u);
+ })(Dc || (Dc = {}));
+ });
+ var gM = gi((mM) => {
+ 'use strict';
+ Object.defineProperty(mM, '__esModule', { value: !0 });
+ var dM;
+ function pM() {
+ if (dM === void 0) throw new Error('No runtime abstraction layer installed');
+ return dM;
+ }
+ o(pM, 'RAL');
+ (function (t) {
+ function e(r) {
+ if (r === void 0) throw new Error('No runtime abstraction layer provided');
+ dM = r;
+ }
+ o(e, 'install'), (t.install = e);
+ })(pM || (pM = {}));
+ mM.default = pM;
+ });
+ var coe = gi((Pa) => {
+ 'use strict';
+ Object.defineProperty(Pa, '__esModule', { value: !0 });
+ Pa.stringArray = Pa.array = Pa.func = Pa.error = Pa.number = Pa.string = Pa.boolean = void 0;
+ function zOe(t) {
+ return t === !0 || t === !1;
+ }
+ o(zOe, 'boolean');
+ Pa.boolean = zOe;
+ function ooe(t) {
+ return typeof t == 'string' || t instanceof String;
+ }
+ o(ooe, 'string');
+ Pa.string = ooe;
+ function GOe(t) {
+ return typeof t == 'number' || t instanceof Number;
+ }
+ o(GOe, 'number');
+ Pa.number = GOe;
+ function $Oe(t) {
+ return t instanceof Error;
+ }
+ o($Oe, 'error');
+ Pa.error = $Oe;
+ function VOe(t) {
+ return typeof t == 'function';
+ }
+ o(VOe, 'func');
+ Pa.func = VOe;
+ function loe(t) {
+ return Array.isArray(t);
+ }
+ o(loe, 'array');
+ Pa.array = loe;
+ function UOe(t) {
+ return loe(t) && t.every((e) => ooe(e));
+ }
+ o(UOe, 'stringArray');
+ Pa.stringArray = UOe;
+ });
+ var vM = gi((vg) => {
+ 'use strict';
+ Object.defineProperty(vg, '__esModule', { value: !0 });
+ vg.Emitter = vg.Event = void 0;
+ var HOe = gM(),
+ uoe;
+ (function (t) {
+ let e = { dispose() {} };
+ t.None = function () {
+ return e;
+ };
+ })(uoe || (vg.Event = uoe = {}));
+ var yM = class {
+ static {
+ o(this, 'CallbackList');
+ }
+ add(e, r = null, n) {
+ this._callbacks || ((this._callbacks = []), (this._contexts = [])),
+ this._callbacks.push(e),
+ this._contexts.push(r),
+ Array.isArray(n) && n.push({ dispose: o(() => this.remove(e, r), 'dispose') });
+ }
+ remove(e, r = null) {
+ if (!this._callbacks) return;
+ let n = !1;
+ for (let i = 0, a = this._callbacks.length; i < a; i++)
+ if (this._callbacks[i] === e)
+ if (this._contexts[i] === r) {
+ this._callbacks.splice(i, 1), this._contexts.splice(i, 1);
+ return;
+ } else n = !0;
+ if (n)
+ throw new Error(
+ 'When adding a listener with a context, you should remove it with the same context'
+ );
+ }
+ invoke(...e) {
+ if (!this._callbacks) return [];
+ let r = [],
+ n = this._callbacks.slice(0),
+ i = this._contexts.slice(0);
+ for (let a = 0, s = n.length; a < s; a++)
+ try {
+ r.push(n[a].apply(i[a], e));
+ } catch (l) {
+ (0, HOe.default)().console.error(l);
+ }
+ return r;
+ }
+ isEmpty() {
+ return !this._callbacks || this._callbacks.length === 0;
+ }
+ dispose() {
+ (this._callbacks = void 0), (this._contexts = void 0);
+ }
+ },
+ Lk = class t {
+ static {
+ o(this, 'Emitter');
+ }
+ constructor(e) {
+ this._options = e;
+ }
+ get event() {
+ return (
+ this._event ||
+ (this._event = (e, r, n) => {
+ this._callbacks || (this._callbacks = new yM()),
+ this._options &&
+ this._options.onFirstListenerAdd &&
+ this._callbacks.isEmpty() &&
+ this._options.onFirstListenerAdd(this),
+ this._callbacks.add(e, r);
+ let i = {
+ dispose: o(() => {
+ this._callbacks &&
+ (this._callbacks.remove(e, r),
+ (i.dispose = t._noop),
+ this._options &&
+ this._options.onLastListenerRemove &&
+ this._callbacks.isEmpty() &&
+ this._options.onLastListenerRemove(this));
+ }, 'dispose')
+ };
+ return Array.isArray(n) && n.push(i), i;
+ }),
+ this._event
+ );
+ }
+ fire(e) {
+ this._callbacks && this._callbacks.invoke.call(this._callbacks, e);
+ }
+ dispose() {
+ this._callbacks && (this._callbacks.dispose(), (this._callbacks = void 0));
+ }
+ };
+ vg.Emitter = Lk;
+ Lk._noop = function () {};
+ });
+ var hoe = gi((xg) => {
+ 'use strict';
+ Object.defineProperty(xg, '__esModule', { value: !0 });
+ xg.CancellationTokenSource = xg.CancellationToken = void 0;
+ var YOe = gM(),
+ WOe = coe(),
+ xM = vM(),
+ Dk;
+ (function (t) {
+ (t.None = Object.freeze({
+ isCancellationRequested: !1,
+ onCancellationRequested: xM.Event.None
+ })),
+ (t.Cancelled = Object.freeze({
+ isCancellationRequested: !0,
+ onCancellationRequested: xM.Event.None
+ }));
+ function e(r) {
+ let n = r;
+ return (
+ n &&
+ (n === t.None ||
+ n === t.Cancelled ||
+ (WOe.boolean(n.isCancellationRequested) && !!n.onCancellationRequested))
+ );
+ }
+ o(e, 'is'), (t.is = e);
+ })(Dk || (xg.CancellationToken = Dk = {}));
+ var qOe = Object.freeze(function (t, e) {
+ let r = (0, YOe.default)().timer.setTimeout(t.bind(e), 0);
+ return {
+ dispose() {
+ r.dispose();
+ }
+ };
+ }),
+ Rk = class {
+ static {
+ o(this, 'MutableToken');
+ }
+ constructor() {
+ this._isCancelled = !1;
+ }
+ cancel() {
+ this._isCancelled ||
+ ((this._isCancelled = !0), this._emitter && (this._emitter.fire(void 0), this.dispose()));
+ }
+ get isCancellationRequested() {
+ return this._isCancelled;
+ }
+ get onCancellationRequested() {
+ return this._isCancelled
+ ? qOe
+ : (this._emitter || (this._emitter = new xM.Emitter()), this._emitter.event);
+ }
+ dispose() {
+ this._emitter && (this._emitter.dispose(), (this._emitter = void 0));
+ }
+ },
+ bM = class {
+ static {
+ o(this, 'CancellationTokenSource');
+ }
+ get token() {
+ return this._token || (this._token = new Rk()), this._token;
+ }
+ cancel() {
+ this._token ? this._token.cancel() : (this._token = Dk.Cancelled);
+ }
+ dispose() {
+ this._token ? this._token instanceof Rk && this._token.dispose() : (this._token = Dk.None);
+ }
+ };
+ xg.CancellationTokenSource = bM;
+ });
+ var pr = {};
+ var Wo = R(() => {
+ 'use strict';
+ dr(pr, Xi(hoe(), 1));
+ });
+ function TM() {
+ return new Promise((t) => {
+ typeof setImmediate > 'u' ? setTimeout(t, 0) : setImmediate(t);
+ });
+ }
+ function doe() {
+ return (wM = Date.now()), new pr.CancellationTokenSource();
+ }
+ function poe(t) {
+ foe = t;
+ }
+ function of(t) {
+ return t === Rc;
+ }
+ async function Bi(t) {
+ if (t === pr.CancellationToken.None) return;
+ let e = Date.now();
+ if ((e - wM >= foe && ((wM = e), await TM()), t.isCancellationRequested)) throw Rc;
+ }
+ var wM,
+ foe,
+ Rc,
+ as,
+ qo = R(() => {
+ 'use strict';
+ Wo();
+ o(TM, 'delayNextTick');
+ (wM = 0), (foe = 10);
+ o(doe, 'startCancelableOperation');
+ o(poe, 'setInterruptionPeriod');
+ Rc = Symbol('OperationCancelled');
+ o(of, 'isOperationCancelled');
+ o(Bi, 'interruptAndCheck');
+ as = class {
+ static {
+ o(this, 'Deferred');
+ }
+ constructor() {
+ this.promise = new Promise((e, r) => {
+ (this.resolve = (n) => (e(n), this)), (this.reject = (n) => (r(n), this));
+ });
+ }
+ };
+ });
+ function kM(t, e) {
+ if (t.length <= 1) return t;
+ let r = (t.length / 2) | 0,
+ n = t.slice(0, r),
+ i = t.slice(r);
+ kM(n, e), kM(i, e);
+ let a = 0,
+ s = 0,
+ l = 0;
+ for (; a < n.length && s < i.length; ) e(n[a], i[s]) <= 0 ? (t[l++] = n[a++]) : (t[l++] = i[s++]);
+ for (; a < n.length; ) t[l++] = n[a++];
+ for (; s < i.length; ) t[l++] = i[s++];
+ return t;
+ }
+ function moe(t, e, r = 0) {
+ let n = e ? [r] : [];
+ for (let i = 0; i < t.length; i++) {
+ let a = t.charCodeAt(i);
+ goe(a) && (a === 13 && i + 1 < t.length && t.charCodeAt(i + 1) === 10 && i++, n.push(r + i + 1));
+ }
+ return n;
+ }
+ function goe(t) {
+ return t === 13 || t === 10;
+ }
+ function yoe(t) {
+ let e = t.start,
+ r = t.end;
+ return e.line > r.line || (e.line === r.line && e.character > r.character) ? { start: r, end: e } : t;
+ }
+ function XOe(t) {
+ let e = yoe(t.range);
+ return e !== t.range ? { newText: t.newText, range: e } : t;
+ }
+ var Nk,
+ bg,
+ voe = R(() => {
+ 'use strict';
+ Nk = class t {
+ static {
+ o(this, 'FullTextDocument');
+ }
+ constructor(e, r, n, i) {
+ (this._uri = e),
+ (this._languageId = r),
+ (this._version = n),
+ (this._content = i),
+ (this._lineOffsets = void 0);
+ }
+ get uri() {
+ return this._uri;
+ }
+ get languageId() {
+ return this._languageId;
+ }
+ get version() {
+ return this._version;
+ }
+ getText(e) {
+ if (e) {
+ let r = this.offsetAt(e.start),
+ n = this.offsetAt(e.end);
+ return this._content.substring(r, n);
+ }
+ return this._content;
+ }
+ update(e, r) {
+ for (let n of e)
+ if (t.isIncremental(n)) {
+ let i = yoe(n.range),
+ a = this.offsetAt(i.start),
+ s = this.offsetAt(i.end);
+ this._content =
+ this._content.substring(0, a) +
+ n.text +
+ this._content.substring(s, this._content.length);
+ let l = Math.max(i.start.line, 0),
+ u = Math.max(i.end.line, 0),
+ h = this._lineOffsets,
+ f = moe(n.text, !1, a);
+ if (u - l === f.length) for (let p = 0, m = f.length; p < m; p++) h[p + l + 1] = f[p];
+ else
+ f.length < 1e4
+ ? h.splice(l + 1, u - l, ...f)
+ : (this._lineOffsets = h = h.slice(0, l + 1).concat(f, h.slice(u + 1)));
+ let d = n.text.length - (s - a);
+ if (d !== 0) for (let p = l + 1 + f.length, m = h.length; p < m; p++) h[p] = h[p] + d;
+ } else if (t.isFull(n)) (this._content = n.text), (this._lineOffsets = void 0);
+ else throw new Error('Unknown change event received');
+ this._version = r;
+ }
+ getLineOffsets() {
+ return (
+ this._lineOffsets === void 0 && (this._lineOffsets = moe(this._content, !0)), this._lineOffsets
+ );
+ }
+ positionAt(e) {
+ e = Math.max(Math.min(e, this._content.length), 0);
+ let r = this.getLineOffsets(),
+ n = 0,
+ i = r.length;
+ if (i === 0) return { line: 0, character: e };
+ for (; n < i; ) {
+ let s = Math.floor((n + i) / 2);
+ r[s] > e ? (i = s) : (n = s + 1);
+ }
+ let a = n - 1;
+ return (e = this.ensureBeforeEOL(e, r[a])), { line: a, character: e - r[a] };
+ }
+ offsetAt(e) {
+ let r = this.getLineOffsets();
+ if (e.line >= r.length) return this._content.length;
+ if (e.line < 0) return 0;
+ let n = r[e.line];
+ if (e.character <= 0) return n;
+ let i = e.line + 1 < r.length ? r[e.line + 1] : this._content.length,
+ a = Math.min(n + e.character, i);
+ return this.ensureBeforeEOL(a, n);
+ }
+ ensureBeforeEOL(e, r) {
+ for (; e > r && goe(this._content.charCodeAt(e - 1)); ) e--;
+ return e;
+ }
+ get lineCount() {
+ return this.getLineOffsets().length;
+ }
+ static isIncremental(e) {
+ let r = e;
+ return (
+ r != null &&
+ typeof r.text == 'string' &&
+ r.range !== void 0 &&
+ (r.rangeLength === void 0 || typeof r.rangeLength == 'number')
+ );
+ }
+ static isFull(e) {
+ let r = e;
+ return r != null && typeof r.text == 'string' && r.range === void 0 && r.rangeLength === void 0;
+ }
+ };
+ (function (t) {
+ function e(i, a, s, l) {
+ return new Nk(i, a, s, l);
+ }
+ o(e, 'create'), (t.create = e);
+ function r(i, a, s) {
+ if (i instanceof Nk) return i.update(a, s), i;
+ throw new Error('TextDocument.update: document must be created by TextDocument.create');
+ }
+ o(r, 'update'), (t.update = r);
+ function n(i, a) {
+ let s = i.getText(),
+ l = kM(a.map(XOe), (f, d) => {
+ let p = f.range.start.line - d.range.start.line;
+ return p === 0 ? f.range.start.character - d.range.start.character : p;
+ }),
+ u = 0,
+ h = [];
+ for (let f of l) {
+ let d = i.offsetAt(f.range.start);
+ if (d < u) throw new Error('Overlapping edit');
+ d > u && h.push(s.substring(u, d)),
+ f.newText.length && h.push(f.newText),
+ (u = i.offsetAt(f.range.end));
+ }
+ return h.push(s.substr(u)), h.join('');
+ }
+ o(n, 'applyEdits'), (t.applyEdits = n);
+ })(bg || (bg = {}));
+ o(kM, 'mergeSort');
+ o(moe, 'computeLineOffsets');
+ o(goe, 'isEOL');
+ o(yoe, 'getWellformedRange');
+ o(XOe, 'getWellformedEdit');
+ });
+ var xoe,
+ Ms,
+ wg,
+ EM = R(() => {
+ 'use strict';
+ (() => {
+ 'use strict';
+ var t = {
+ 470: (i) => {
+ function a(u) {
+ if (typeof u != 'string')
+ throw new TypeError('Path must be a string. Received ' + JSON.stringify(u));
+ }
+ o(a, 'e');
+ function s(u, h) {
+ for (var f, d = '', p = 0, m = -1, g = 0, y = 0; y <= u.length; ++y) {
+ if (y < u.length) f = u.charCodeAt(y);
+ else {
+ if (f === 47) break;
+ f = 47;
+ }
+ if (f === 47) {
+ if (!(m === y - 1 || g === 1))
+ if (m !== y - 1 && g === 2) {
+ if (
+ d.length < 2 ||
+ p !== 2 ||
+ d.charCodeAt(d.length - 1) !== 46 ||
+ d.charCodeAt(d.length - 2) !== 46
+ ) {
+ if (d.length > 2) {
+ var v = d.lastIndexOf('/');
+ if (v !== d.length - 1) {
+ v === -1
+ ? ((d = ''), (p = 0))
+ : (p =
+ (d = d.slice(0, v)).length -
+ 1 -
+ d.lastIndexOf('/')),
+ (m = y),
+ (g = 0);
+ continue;
+ }
+ } else if (d.length === 2 || d.length === 1) {
+ (d = ''), (p = 0), (m = y), (g = 0);
+ continue;
+ }
+ }
+ h && (d.length > 0 ? (d += '/..') : (d = '..'), (p = 2));
+ } else
+ d.length > 0 ? (d += '/' + u.slice(m + 1, y)) : (d = u.slice(m + 1, y)),
+ (p = y - m - 1);
+ (m = y), (g = 0);
+ } else f === 46 && g !== -1 ? ++g : (g = -1);
+ }
+ return d;
+ }
+ o(s, 'r');
+ var l = {
+ resolve: o(function () {
+ for (var u, h = '', f = !1, d = arguments.length - 1; d >= -1 && !f; d--) {
+ var p;
+ d >= 0 ? (p = arguments[d]) : (u === void 0 && (u = process.cwd()), (p = u)),
+ a(p),
+ p.length !== 0 && ((h = p + '/' + h), (f = p.charCodeAt(0) === 47));
+ }
+ return (h = s(h, !f)), f ? (h.length > 0 ? '/' + h : '/') : h.length > 0 ? h : '.';
+ }, 'resolve'),
+ normalize: o(function (u) {
+ if ((a(u), u.length === 0)) return '.';
+ var h = u.charCodeAt(0) === 47,
+ f = u.charCodeAt(u.length - 1) === 47;
+ return (
+ (u = s(u, !h)).length !== 0 || h || (u = '.'),
+ u.length > 0 && f && (u += '/'),
+ h ? '/' + u : u
+ );
+ }, 'normalize'),
+ isAbsolute: o(function (u) {
+ return a(u), u.length > 0 && u.charCodeAt(0) === 47;
+ }, 'isAbsolute'),
+ join: o(function () {
+ if (arguments.length === 0) return '.';
+ for (var u, h = 0; h < arguments.length; ++h) {
+ var f = arguments[h];
+ a(f), f.length > 0 && (u === void 0 ? (u = f) : (u += '/' + f));
+ }
+ return u === void 0 ? '.' : l.normalize(u);
+ }, 'join'),
+ relative: o(function (u, h) {
+ if ((a(u), a(h), u === h || (u = l.resolve(u)) === (h = l.resolve(h)))) return '';
+ for (var f = 1; f < u.length && u.charCodeAt(f) === 47; ++f);
+ for (
+ var d = u.length, p = d - f, m = 1;
+ m < h.length && h.charCodeAt(m) === 47;
+ ++m
+ );
+ for (var g = h.length - m, y = p < g ? p : g, v = -1, x = 0; x <= y; ++x) {
+ if (x === y) {
+ if (g > y) {
+ if (h.charCodeAt(m + x) === 47) return h.slice(m + x + 1);
+ if (x === 0) return h.slice(m + x);
+ } else p > y && (u.charCodeAt(f + x) === 47 ? (v = x) : x === 0 && (v = 0));
+ break;
+ }
+ var b = u.charCodeAt(f + x);
+ if (b !== h.charCodeAt(m + x)) break;
+ b === 47 && (v = x);
+ }
+ var w = '';
+ for (x = f + v + 1; x <= d; ++x)
+ (x !== d && u.charCodeAt(x) !== 47) ||
+ (w.length === 0 ? (w += '..') : (w += '/..'));
+ return w.length > 0
+ ? w + h.slice(m + v)
+ : ((m += v), h.charCodeAt(m) === 47 && ++m, h.slice(m));
+ }, 'relative'),
+ _makeLong: o(function (u) {
+ return u;
+ }, '_makeLong'),
+ dirname: o(function (u) {
+ if ((a(u), u.length === 0)) return '.';
+ for (
+ var h = u.charCodeAt(0), f = h === 47, d = -1, p = !0, m = u.length - 1;
+ m >= 1;
+ --m
+ )
+ if ((h = u.charCodeAt(m)) === 47) {
+ if (!p) {
+ d = m;
+ break;
+ }
+ } else p = !1;
+ return d === -1 ? (f ? '/' : '.') : f && d === 1 ? '//' : u.slice(0, d);
+ }, 'dirname'),
+ basename: o(function (u, h) {
+ if (h !== void 0 && typeof h != 'string')
+ throw new TypeError('"ext" argument must be a string');
+ a(u);
+ var f,
+ d = 0,
+ p = -1,
+ m = !0;
+ if (h !== void 0 && h.length > 0 && h.length <= u.length) {
+ if (h.length === u.length && h === u) return '';
+ var g = h.length - 1,
+ y = -1;
+ for (f = u.length - 1; f >= 0; --f) {
+ var v = u.charCodeAt(f);
+ if (v === 47) {
+ if (!m) {
+ d = f + 1;
+ break;
+ }
+ } else
+ y === -1 && ((m = !1), (y = f + 1)),
+ g >= 0 &&
+ (v === h.charCodeAt(g)
+ ? --g == -1 && (p = f)
+ : ((g = -1), (p = y)));
+ }
+ return d === p ? (p = y) : p === -1 && (p = u.length), u.slice(d, p);
+ }
+ for (f = u.length - 1; f >= 0; --f)
+ if (u.charCodeAt(f) === 47) {
+ if (!m) {
+ d = f + 1;
+ break;
+ }
+ } else p === -1 && ((m = !1), (p = f + 1));
+ return p === -1 ? '' : u.slice(d, p);
+ }, 'basename'),
+ extname: o(function (u) {
+ a(u);
+ for (var h = -1, f = 0, d = -1, p = !0, m = 0, g = u.length - 1; g >= 0; --g) {
+ var y = u.charCodeAt(g);
+ if (y !== 47)
+ d === -1 && ((p = !1), (d = g + 1)),
+ y === 46
+ ? h === -1
+ ? (h = g)
+ : m !== 1 && (m = 1)
+ : h !== -1 && (m = -1);
+ else if (!p) {
+ f = g + 1;
+ break;
+ }
+ }
+ return h === -1 || d === -1 || m === 0 || (m === 1 && h === d - 1 && h === f + 1)
+ ? ''
+ : u.slice(h, d);
+ }, 'extname'),
+ format: o(function (u) {
+ if (u === null || typeof u != 'object')
+ throw new TypeError(
+ 'The "pathObject" argument must be of type Object. Received type ' +
+ typeof u
+ );
+ return (function (h, f) {
+ var d = f.dir || f.root,
+ p = f.base || (f.name || '') + (f.ext || '');
+ return d ? (d === f.root ? d + p : d + '/' + p) : p;
+ })(0, u);
+ }, 'format'),
+ parse: o(function (u) {
+ a(u);
+ var h = { root: '', dir: '', base: '', ext: '', name: '' };
+ if (u.length === 0) return h;
+ var f,
+ d = u.charCodeAt(0),
+ p = d === 47;
+ p ? ((h.root = '/'), (f = 1)) : (f = 0);
+ for (var m = -1, g = 0, y = -1, v = !0, x = u.length - 1, b = 0; x >= f; --x)
+ if ((d = u.charCodeAt(x)) !== 47)
+ y === -1 && ((v = !1), (y = x + 1)),
+ d === 46
+ ? m === -1
+ ? (m = x)
+ : b !== 1 && (b = 1)
+ : m !== -1 && (b = -1);
+ else if (!v) {
+ g = x + 1;
+ break;
+ }
+ return (
+ m === -1 || y === -1 || b === 0 || (b === 1 && m === y - 1 && m === g + 1)
+ ? y !== -1 &&
+ (h.base = h.name = g === 0 && p ? u.slice(1, y) : u.slice(g, y))
+ : (g === 0 && p
+ ? ((h.name = u.slice(1, m)), (h.base = u.slice(1, y)))
+ : ((h.name = u.slice(g, m)), (h.base = u.slice(g, y))),
+ (h.ext = u.slice(m, y))),
+ g > 0 ? (h.dir = u.slice(0, g - 1)) : p && (h.dir = '/'),
+ h
+ );
+ }, 'parse'),
+ sep: '/',
+ delimiter: ':',
+ win32: null,
+ posix: null
+ };
+ (l.posix = l), (i.exports = l);
+ }
+ },
+ e = {};
+ function r(i) {
+ var a = e[i];
+ if (a !== void 0) return a.exports;
+ var s = (e[i] = { exports: {} });
+ return t[i](s, s.exports, r), s.exports;
+ }
+ o(r, 'r'),
+ (r.d = (i, a) => {
+ for (var s in a)
+ r.o(a, s) && !r.o(i, s) && Object.defineProperty(i, s, { enumerable: !0, get: a[s] });
+ }),
+ (r.o = (i, a) => Object.prototype.hasOwnProperty.call(i, a)),
+ (r.r = (i) => {
+ typeof Symbol < 'u' &&
+ Symbol.toStringTag &&
+ Object.defineProperty(i, Symbol.toStringTag, { value: 'Module' }),
+ Object.defineProperty(i, '__esModule', { value: !0 });
+ });
+ var n = {};
+ (() => {
+ let i;
+ r.r(n),
+ r.d(n, { URI: o(() => p, 'URI'), Utils: o(() => M, 'Utils') }),
+ typeof process == 'object'
+ ? (i = process.platform === 'win32')
+ : typeof navigator == 'object' && (i = navigator.userAgent.indexOf('Windows') >= 0);
+ let a = /^\w[\w\d+.-]*$/,
+ s = /^\//,
+ l = /^\/\//;
+ function u(N, k) {
+ if (!N.scheme && k)
+ throw new Error(
+ `[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}`
+ );
+ if (N.scheme && !a.test(N.scheme))
+ throw new Error('[UriError]: Scheme contains illegal characters.');
+ if (N.path) {
+ if (N.authority) {
+ if (!s.test(N.path))
+ throw new Error(
+ '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character'
+ );
+ } else if (l.test(N.path))
+ throw new Error(
+ '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")'
+ );
+ }
+ }
+ o(u, 's');
+ let h = '',
+ f = '/',
+ d = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;
+ class p {
+ static {
+ o(this, 'f');
+ }
+ static isUri(k) {
+ return (
+ k instanceof p ||
+ (!!k &&
+ typeof k.authority == 'string' &&
+ typeof k.fragment == 'string' &&
+ typeof k.path == 'string' &&
+ typeof k.query == 'string' &&
+ typeof k.scheme == 'string' &&
+ typeof k.fsPath == 'string' &&
+ typeof k.with == 'function' &&
+ typeof k.toString == 'function')
+ );
+ }
+ scheme;
+ authority;
+ path;
+ query;
+ fragment;
+ constructor(k, I, C, O, D, P = !1) {
+ typeof k == 'object'
+ ? ((this.scheme = k.scheme || h),
+ (this.authority = k.authority || h),
+ (this.path = k.path || h),
+ (this.query = k.query || h),
+ (this.fragment = k.fragment || h))
+ : ((this.scheme = (function (F, B) {
+ return F || B ? F : 'file';
+ })(k, P)),
+ (this.authority = I || h),
+ (this.path = (function (F, B) {
+ switch (F) {
+ case 'https':
+ case 'http':
+ case 'file':
+ B ? B[0] !== f && (B = f + B) : (B = f);
+ }
+ return B;
+ })(this.scheme, C || h)),
+ (this.query = O || h),
+ (this.fragment = D || h),
+ u(this, P));
+ }
+ get fsPath() {
+ return b(this, !1);
+ }
+ with(k) {
+ if (!k) return this;
+ let { scheme: I, authority: C, path: O, query: D, fragment: P } = k;
+ return (
+ I === void 0 ? (I = this.scheme) : I === null && (I = h),
+ C === void 0 ? (C = this.authority) : C === null && (C = h),
+ O === void 0 ? (O = this.path) : O === null && (O = h),
+ D === void 0 ? (D = this.query) : D === null && (D = h),
+ P === void 0 ? (P = this.fragment) : P === null && (P = h),
+ I === this.scheme &&
+ C === this.authority &&
+ O === this.path &&
+ D === this.query &&
+ P === this.fragment
+ ? this
+ : new g(I, C, O, D, P)
+ );
+ }
+ static parse(k, I = !1) {
+ let C = d.exec(k);
+ return C
+ ? new g(C[2] || h, E(C[4] || h), E(C[5] || h), E(C[7] || h), E(C[9] || h), I)
+ : new g(h, h, h, h, h);
+ }
+ static file(k) {
+ let I = h;
+ if ((i && (k = k.replace(/\\/g, f)), k[0] === f && k[1] === f)) {
+ let C = k.indexOf(f, 2);
+ C === -1
+ ? ((I = k.substring(2)), (k = f))
+ : ((I = k.substring(2, C)), (k = k.substring(C) || f));
+ }
+ return new g('file', I, k, h, h);
+ }
+ static from(k) {
+ let I = new g(k.scheme, k.authority, k.path, k.query, k.fragment);
+ return u(I, !0), I;
+ }
+ toString(k = !1) {
+ return w(this, k);
+ }
+ toJSON() {
+ return this;
+ }
+ static revive(k) {
+ if (k) {
+ if (k instanceof p) return k;
+ {
+ let I = new g(k);
+ return (I._formatted = k.external), (I._fsPath = k._sep === m ? k.fsPath : null), I;
+ }
+ }
+ return k;
+ }
+ }
+ let m = i ? 1 : void 0;
+ class g extends p {
+ static {
+ o(this, 'l');
+ }
+ _formatted = null;
+ _fsPath = null;
+ get fsPath() {
+ return this._fsPath || (this._fsPath = b(this, !1)), this._fsPath;
+ }
+ toString(k = !1) {
+ return k
+ ? w(this, !0)
+ : (this._formatted || (this._formatted = w(this, !1)), this._formatted);
+ }
+ toJSON() {
+ let k = { $mid: 1 };
+ return (
+ this._fsPath && ((k.fsPath = this._fsPath), (k._sep = m)),
+ this._formatted && (k.external = this._formatted),
+ this.path && (k.path = this.path),
+ this.scheme && (k.scheme = this.scheme),
+ this.authority && (k.authority = this.authority),
+ this.query && (k.query = this.query),
+ this.fragment && (k.fragment = this.fragment),
+ k
+ );
+ }
+ }
+ let y = {
+ 58: '%3A',
+ 47: '%2F',
+ 63: '%3F',
+ 35: '%23',
+ 91: '%5B',
+ 93: '%5D',
+ 64: '%40',
+ 33: '%21',
+ 36: '%24',
+ 38: '%26',
+ 39: '%27',
+ 40: '%28',
+ 41: '%29',
+ 42: '%2A',
+ 43: '%2B',
+ 44: '%2C',
+ 59: '%3B',
+ 61: '%3D',
+ 32: '%20'
+ };
+ function v(N, k, I) {
+ let C,
+ O = -1;
+ for (let D = 0; D < N.length; D++) {
+ let P = N.charCodeAt(D);
+ if (
+ (P >= 97 && P <= 122) ||
+ (P >= 65 && P <= 90) ||
+ (P >= 48 && P <= 57) ||
+ P === 45 ||
+ P === 46 ||
+ P === 95 ||
+ P === 126 ||
+ (k && P === 47) ||
+ (I && P === 91) ||
+ (I && P === 93) ||
+ (I && P === 58)
+ )
+ O !== -1 && ((C += encodeURIComponent(N.substring(O, D))), (O = -1)),
+ C !== void 0 && (C += N.charAt(D));
+ else {
+ C === void 0 && (C = N.substr(0, D));
+ let F = y[P];
+ F !== void 0
+ ? (O !== -1 && ((C += encodeURIComponent(N.substring(O, D))), (O = -1)), (C += F))
+ : O === -1 && (O = D);
+ }
+ }
+ return O !== -1 && (C += encodeURIComponent(N.substring(O))), C !== void 0 ? C : N;
+ }
+ o(v, 'd');
+ function x(N) {
+ let k;
+ for (let I = 0; I < N.length; I++) {
+ let C = N.charCodeAt(I);
+ C === 35 || C === 63
+ ? (k === void 0 && (k = N.substr(0, I)), (k += y[C]))
+ : k !== void 0 && (k += N[I]);
+ }
+ return k !== void 0 ? k : N;
+ }
+ o(x, 'p');
+ function b(N, k) {
+ let I;
+ return (
+ (I =
+ N.authority && N.path.length > 1 && N.scheme === 'file'
+ ? `//${N.authority}${N.path}`
+ : N.path.charCodeAt(0) === 47 &&
+ ((N.path.charCodeAt(1) >= 65 && N.path.charCodeAt(1) <= 90) ||
+ (N.path.charCodeAt(1) >= 97 && N.path.charCodeAt(1) <= 122)) &&
+ N.path.charCodeAt(2) === 58
+ ? k
+ ? N.path.substr(1)
+ : N.path[1].toLowerCase() + N.path.substr(2)
+ : N.path),
+ i && (I = I.replace(/\//g, '\\')),
+ I
+ );
+ }
+ o(b, 'm');
+ function w(N, k) {
+ let I = k ? x : v,
+ C = '',
+ { scheme: O, authority: D, path: P, query: F, fragment: B } = N;
+ if ((O && ((C += O), (C += ':')), (D || O === 'file') && ((C += f), (C += f)), D)) {
+ let $ = D.indexOf('@');
+ if ($ !== -1) {
+ let z = D.substr(0, $);
+ (D = D.substr($ + 1)),
+ ($ = z.lastIndexOf(':')),
+ $ === -1
+ ? (C += I(z, !1, !1))
+ : ((C += I(z.substr(0, $), !1, !1)),
+ (C += ':'),
+ (C += I(z.substr($ + 1), !1, !0))),
+ (C += '@');
+ }
+ (D = D.toLowerCase()),
+ ($ = D.lastIndexOf(':')),
+ $ === -1 ? (C += I(D, !1, !0)) : ((C += I(D.substr(0, $), !1, !0)), (C += D.substr($)));
+ }
+ if (P) {
+ if (P.length >= 3 && P.charCodeAt(0) === 47 && P.charCodeAt(2) === 58) {
+ let $ = P.charCodeAt(1);
+ $ >= 65 && $ <= 90 && (P = `/${String.fromCharCode($ + 32)}:${P.substr(3)}`);
+ } else if (P.length >= 2 && P.charCodeAt(1) === 58) {
+ let $ = P.charCodeAt(0);
+ $ >= 65 && $ <= 90 && (P = `${String.fromCharCode($ + 32)}:${P.substr(2)}`);
+ }
+ C += I(P, !0, !1);
+ }
+ return (
+ F && ((C += '?'), (C += I(F, !1, !1))), B && ((C += '#'), (C += k ? B : v(B, !1, !1))), C
+ );
+ }
+ o(w, 'y');
+ function S(N) {
+ try {
+ return decodeURIComponent(N);
+ } catch {
+ return N.length > 3 ? N.substr(0, 3) + S(N.substr(3)) : N;
+ }
+ }
+ o(S, 'v');
+ let T = /(%[0-9A-Za-z][0-9A-Za-z])+/g;
+ function E(N) {
+ return N.match(T) ? N.replace(T, (k) => S(k)) : N;
+ }
+ o(E, 'C');
+ var _ = r(470);
+ let A = _.posix || _,
+ L = '/';
+ var M;
+ (function (N) {
+ (N.joinPath = function (k, ...I) {
+ return k.with({ path: A.join(k.path, ...I) });
+ }),
+ (N.resolvePath = function (k, ...I) {
+ let C = k.path,
+ O = !1;
+ C[0] !== L && ((C = L + C), (O = !0));
+ let D = A.resolve(C, ...I);
+ return O && D[0] === L && !k.authority && (D = D.substring(1)), k.with({ path: D });
+ }),
+ (N.dirname = function (k) {
+ if (k.path.length === 0 || k.path === L) return k;
+ let I = A.dirname(k.path);
+ return I.length === 1 && I.charCodeAt(0) === 46 && (I = ''), k.with({ path: I });
+ }),
+ (N.basename = function (k) {
+ return A.basename(k.path);
+ }),
+ (N.extname = function (k) {
+ return A.extname(k.path);
+ });
+ })(M || (M = {}));
+ })(),
+ (xoe = n);
+ })();
+ ({ URI: Ms, Utils: wg } = xoe);
+ });
+ var ss,
+ Nc = R(() => {
+ 'use strict';
+ EM();
+ (function (t) {
+ (t.basename = wg.basename),
+ (t.dirname = wg.dirname),
+ (t.extname = wg.extname),
+ (t.joinPath = wg.joinPath),
+ (t.resolvePath = wg.resolvePath);
+ function e(n, i) {
+ return n?.toString() === i?.toString();
+ }
+ o(e, 'equals'), (t.equals = e);
+ function r(n, i) {
+ let a = typeof n == 'string' ? n : n.path,
+ s = typeof i == 'string' ? i : i.path,
+ l = a.split('/').filter((p) => p.length > 0),
+ u = s.split('/').filter((p) => p.length > 0),
+ h = 0;
+ for (; h < l.length && l[h] === u[h]; h++);
+ let f = '../'.repeat(l.length - h),
+ d = u.slice(h).join('/');
+ return f + d;
+ }
+ o(r, 'relative'), (t.relative = r);
+ })(ss || (ss = {}));
+ });
+ var yn,
+ R2,
+ N2,
+ Tg = R(() => {
+ 'use strict';
+ voe();
+ Tg();
+ Wo();
+ Ds();
+ Nc();
+ (function (t) {
+ (t[(t.Changed = 0)] = 'Changed'),
+ (t[(t.Parsed = 1)] = 'Parsed'),
+ (t[(t.IndexedContent = 2)] = 'IndexedContent'),
+ (t[(t.ComputedScopes = 3)] = 'ComputedScopes'),
+ (t[(t.Linked = 4)] = 'Linked'),
+ (t[(t.IndexedReferences = 5)] = 'IndexedReferences'),
+ (t[(t.Validated = 6)] = 'Validated');
+ })(yn || (yn = {}));
+ (R2 = class {
+ static {
+ o(this, 'DefaultLangiumDocumentFactory');
+ }
+ constructor(e) {
+ (this.serviceRegistry = e.ServiceRegistry),
+ (this.textDocuments = e.workspace.TextDocuments),
+ (this.fileSystemProvider = e.workspace.FileSystemProvider);
+ }
+ async fromUri(e, r = pr.CancellationToken.None) {
+ let n = await this.fileSystemProvider.readFile(e);
+ return this.createAsync(e, n, r);
+ }
+ fromTextDocument(e, r, n) {
+ return (r = r ?? Ms.parse(e.uri)), n ? this.createAsync(r, e, n) : this.create(r, e);
+ }
+ fromString(e, r, n) {
+ return n ? this.createAsync(r, e, n) : this.create(r, e);
+ }
+ fromModel(e, r) {
+ return this.create(r, { $model: e });
+ }
+ create(e, r) {
+ if (typeof r == 'string') {
+ let n = this.parse(e, r);
+ return this.createLangiumDocument(n, e, void 0, r);
+ } else if ('$model' in r) {
+ let n = { value: r.$model, parserErrors: [], lexerErrors: [] };
+ return this.createLangiumDocument(n, e);
+ } else {
+ let n = this.parse(e, r.getText());
+ return this.createLangiumDocument(n, e, r);
+ }
+ }
+ async createAsync(e, r, n) {
+ if (typeof r == 'string') {
+ let i = await this.parseAsync(e, r, n);
+ return this.createLangiumDocument(i, e, void 0, r);
+ } else {
+ let i = await this.parseAsync(e, r.getText(), n);
+ return this.createLangiumDocument(i, e, r);
+ }
+ }
+ createLangiumDocument(e, r, n, i) {
+ let a;
+ if (n)
+ a = {
+ parseResult: e,
+ uri: r,
+ state: yn.Parsed,
+ references: [],
+ textDocument: n
+ };
+ else {
+ let s = this.createTextDocumentGetter(r, i);
+ a = {
+ parseResult: e,
+ uri: r,
+ state: yn.Parsed,
+ references: [],
+ get textDocument() {
+ return s();
+ }
+ };
+ }
+ return (e.value.$document = a), a;
+ }
+ async update(e, r) {
+ var n, i;
+ let a = (n = e.parseResult.value.$cstNode) === null || n === void 0 ? void 0 : n.root.fullText,
+ s = (i = this.textDocuments) === null || i === void 0 ? void 0 : i.get(e.uri.toString()),
+ l = s ? s.getText() : await this.fileSystemProvider.readFile(e.uri);
+ if (s) Object.defineProperty(e, 'textDocument', { value: s });
+ else {
+ let u = this.createTextDocumentGetter(e.uri, l);
+ Object.defineProperty(e, 'textDocument', { get: u });
+ }
+ return (
+ a !== l &&
+ ((e.parseResult = await this.parseAsync(e.uri, l, r)), (e.parseResult.value.$document = e)),
+ (e.state = yn.Parsed),
+ e
+ );
+ }
+ parse(e, r) {
+ return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r);
+ }
+ parseAsync(e, r, n) {
+ return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r, n);
+ }
+ createTextDocumentGetter(e, r) {
+ let n = this.serviceRegistry,
+ i;
+ return () =>
+ i ?? (i = bg.create(e.toString(), n.getServices(e).LanguageMetaData.languageId, 0, r ?? ''));
+ }
+ }),
+ (N2 = class {
+ static {
+ o(this, 'DefaultLangiumDocuments');
+ }
+ constructor(e) {
+ (this.documentMap = new Map()),
+ (this.langiumDocumentFactory = e.workspace.LangiumDocumentFactory);
+ }
+ get all() {
+ return Kr(this.documentMap.values());
+ }
+ addDocument(e) {
+ let r = e.uri.toString();
+ if (this.documentMap.has(r))
+ throw new Error(`A document with the URI '${r}' is already present.`);
+ this.documentMap.set(r, e);
+ }
+ getDocument(e) {
+ let r = e.toString();
+ return this.documentMap.get(r);
+ }
+ async getOrCreateDocument(e, r) {
+ let n = this.getDocument(e);
+ return n || ((n = await this.langiumDocumentFactory.fromUri(e, r)), this.addDocument(n), n);
+ }
+ createDocument(e, r, n) {
+ if (n)
+ return this.langiumDocumentFactory
+ .fromString(r, e, n)
+ .then((i) => (this.addDocument(i), i));
+ {
+ let i = this.langiumDocumentFactory.fromString(r, e);
+ return this.addDocument(i), i;
+ }
+ }
+ hasDocument(e) {
+ return this.documentMap.has(e.toString());
+ }
+ invalidateDocument(e) {
+ let r = e.toString(),
+ n = this.documentMap.get(r);
+ return (
+ n &&
+ ((n.state = yn.Changed),
+ (n.precomputedScopes = void 0),
+ (n.references = []),
+ (n.diagnostics = void 0)),
+ n
+ );
+ }
+ deleteDocument(e) {
+ let r = e.toString(),
+ n = this.documentMap.get(r);
+ return n && ((n.state = yn.Changed), this.documentMap.delete(r)), n;
+ }
+ });
+ });
+ var M2,
+ CM = R(() => {
+ 'use strict';
+ Wo();
+ Vo();
+ es();
+ qo();
+ Tg();
+ M2 = class {
+ static {
+ o(this, 'DefaultLinker');
+ }
+ constructor(e) {
+ (this.reflection = e.shared.AstReflection),
+ (this.langiumDocuments = () => e.shared.workspace.LangiumDocuments),
+ (this.scopeProvider = e.references.ScopeProvider),
+ (this.astNodeLocator = e.workspace.AstNodeLocator);
+ }
+ async link(e, r = pr.CancellationToken.None) {
+ for (let n of Yo(e.parseResult.value)) await Bi(r), $m(n).forEach((i) => this.doLink(i, e));
+ }
+ doLink(e, r) {
+ let n = e.reference;
+ if (n._ref === void 0)
+ try {
+ let i = this.getCandidate(e);
+ if (Wd(i)) n._ref = i;
+ else if (((n._nodeDescription = i), this.langiumDocuments().hasDocument(i.documentUri))) {
+ let a = this.loadAstNode(i);
+ n._ref = a ?? this.createLinkingError(e, i);
+ }
+ } catch (i) {
+ n._ref = Object.assign(Object.assign({}, e), {
+ message: `An error occurred while resolving reference to '${n.$refText}': ${i}`
+ });
+ }
+ r.references.push(n);
+ }
+ unlink(e) {
+ for (let r of e.references) delete r._ref, delete r._nodeDescription;
+ e.references = [];
+ }
+ getCandidate(e) {
+ let n = this.scopeProvider.getScope(e).getElement(e.reference.$refText);
+ return n ?? this.createLinkingError(e);
+ }
+ buildReference(e, r, n, i) {
+ let a = this,
+ s = {
+ $refNode: n,
+ $refText: i,
+ get ref() {
+ var l;
+ if (Xn(this._ref)) return this._ref;
+ if (ED(this._nodeDescription)) {
+ let u = a.loadAstNode(this._nodeDescription);
+ this._ref =
+ u ??
+ a.createLinkingError(
+ { reference: s, container: e, property: r },
+ this._nodeDescription
+ );
+ } else if (this._ref === void 0) {
+ let u = a.getLinkedNode({
+ reference: s,
+ container: e,
+ property: r
+ });
+ if (u.error && Oi(e).state < yn.ComputedScopes) return;
+ (this._ref = (l = u.node) !== null && l !== void 0 ? l : u.error),
+ (this._nodeDescription = u.descr);
+ }
+ return Xn(this._ref) ? this._ref : void 0;
+ },
+ get $nodeDescription() {
+ return this._nodeDescription;
+ },
+ get error() {
+ return Wd(this._ref) ? this._ref : void 0;
+ }
+ };
+ return s;
+ }
+ getLinkedNode(e) {
+ try {
+ let r = this.getCandidate(e);
+ if (Wd(r)) return { error: r };
+ let n = this.loadAstNode(r);
+ return n ? { node: n, descr: r } : { descr: r, error: this.createLinkingError(e, r) };
+ } catch (r) {
+ return {
+ error: Object.assign(Object.assign({}, e), {
+ message: `An error occurred while resolving reference to '${e.reference.$refText}': ${r}`
+ })
+ };
+ }
+ }
+ loadAstNode(e) {
+ if (e.node) return e.node;
+ let r = this.langiumDocuments().getDocument(e.documentUri);
+ if (r) return this.astNodeLocator.getAstNode(r.parseResult.value, e.path);
+ }
+ createLinkingError(e, r) {
+ let n = Oi(e.container);
+ n.state < yn.ComputedScopes &&
+ console.warn(
+ `Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`
+ );
+ let i = this.reflection.getReferenceType(e);
+ return Object.assign(Object.assign({}, e), {
+ message: `Could not resolve reference to ${i} named '${e.reference.$refText}'.`,
+ targetDescription: r
+ });
+ }
+ };
+ });
+ function boe(t) {
+ return typeof t.name == 'string';
+ }
+ var I2,
+ SM = R(() => {
+ 'use strict';
+ Il();
+ o(boe, 'isNamed');
+ I2 = class {
+ static {
+ o(this, 'DefaultNameProvider');
+ }
+ getName(e) {
+ if (boe(e)) return e.name;
+ }
+ getNameNode(e) {
+ return Zv(e.$cstNode, 'name');
+ }
+ };
+ });
+ var O2,
+ AM = R(() => {
+ 'use strict';
+ Il();
+ Vo();
+ es();
+ Rl();
+ Ds();
+ Nc();
+ O2 = class {
+ static {
+ o(this, 'DefaultReferences');
+ }
+ constructor(e) {
+ (this.nameProvider = e.references.NameProvider),
+ (this.index = e.shared.workspace.IndexManager),
+ (this.nodeLocator = e.workspace.AstNodeLocator);
+ }
+ findDeclaration(e) {
+ if (e) {
+ let r = jR(e),
+ n = e.astNode;
+ if (r && n) {
+ let i = n[r.feature];
+ if (xa(i)) return i.ref;
+ if (Array.isArray(i)) {
+ for (let a of i)
+ if (xa(a) && a.$refNode && a.$refNode.offset <= e.offset && a.$refNode.end >= e.end)
+ return a.ref;
+ }
+ }
+ if (n) {
+ let i = this.nameProvider.getNameNode(n);
+ if (i && (i === e || SD(e, i))) return n;
+ }
+ }
+ }
+ findDeclarationNode(e) {
+ let r = this.findDeclaration(e);
+ if (r?.$cstNode) {
+ let n = this.nameProvider.getNameNode(r);
+ return n ?? r.$cstNode;
+ }
+ }
+ findReferences(e, r) {
+ let n = [];
+ if (r.includeDeclaration) {
+ let a = this.getReferenceToSelf(e);
+ a && n.push(a);
+ }
+ let i = this.index.findAllReferences(e, this.nodeLocator.getAstNodePath(e));
+ return (
+ r.documentUri && (i = i.filter((a) => ss.equals(a.sourceUri, r.documentUri))),
+ n.push(...i),
+ Kr(n)
+ );
+ }
+ getReferenceToSelf(e) {
+ let r = this.nameProvider.getNameNode(e);
+ if (r) {
+ let n = Oi(e),
+ i = this.nodeLocator.getAstNodePath(e);
+ return {
+ sourceUri: n.uri,
+ sourcePath: i,
+ targetUri: n.uri,
+ targetPath: i,
+ segment: Xd(r),
+ local: !0
+ };
+ }
+ }
+ };
+ });
+ var Mc,
+ v0,
+ kg = R(() => {
+ 'use strict';
+ Ds();
+ (Mc = class {
+ static {
+ o(this, 'MultiMap');
+ }
+ constructor(e) {
+ if (((this.map = new Map()), e)) for (let [r, n] of e) this.add(r, n);
+ }
+ get size() {
+ return Fm.sum(Kr(this.map.values()).map((e) => e.length));
+ }
+ clear() {
+ this.map.clear();
+ }
+ delete(e, r) {
+ if (r === void 0) return this.map.delete(e);
+ {
+ let n = this.map.get(e);
+ if (n) {
+ let i = n.indexOf(r);
+ if (i >= 0) return n.length === 1 ? this.map.delete(e) : n.splice(i, 1), !0;
+ }
+ return !1;
+ }
+ }
+ get(e) {
+ var r;
+ return (r = this.map.get(e)) !== null && r !== void 0 ? r : [];
+ }
+ has(e, r) {
+ if (r === void 0) return this.map.has(e);
+ {
+ let n = this.map.get(e);
+ return n ? n.indexOf(r) >= 0 : !1;
+ }
+ }
+ add(e, r) {
+ return this.map.has(e) ? this.map.get(e).push(r) : this.map.set(e, [r]), this;
+ }
+ addAll(e, r) {
+ return this.map.has(e) ? this.map.get(e).push(...r) : this.map.set(e, Array.from(r)), this;
+ }
+ forEach(e) {
+ this.map.forEach((r, n) => r.forEach((i) => e(i, n, this)));
+ }
+ [Symbol.iterator]() {
+ return this.entries().iterator();
+ }
+ entries() {
+ return Kr(this.map.entries()).flatMap(([e, r]) => r.map((n) => [e, n]));
+ }
+ keys() {
+ return Kr(this.map.keys());
+ }
+ values() {
+ return Kr(this.map.values()).flat();
+ }
+ entriesGroupedByKey() {
+ return Kr(this.map.entries());
+ }
+ }),
+ (v0 = class {
+ static {
+ o(this, 'BiMap');
+ }
+ get size() {
+ return this.map.size;
+ }
+ constructor(e) {
+ if (((this.map = new Map()), (this.inverse = new Map()), e))
+ for (let [r, n] of e) this.set(r, n);
+ }
+ clear() {
+ this.map.clear(), this.inverse.clear();
+ }
+ set(e, r) {
+ return this.map.set(e, r), this.inverse.set(r, e), this;
+ }
+ get(e) {
+ return this.map.get(e);
+ }
+ getKey(e) {
+ return this.inverse.get(e);
+ }
+ delete(e) {
+ let r = this.map.get(e);
+ return r !== void 0 ? (this.map.delete(e), this.inverse.delete(r), !0) : !1;
+ }
+ });
+ });
+ var P2,
+ _M = R(() => {
+ 'use strict';
+ Wo();
+ es();
+ kg();
+ qo();
+ P2 = class {
+ static {
+ o(this, 'DefaultScopeComputation');
+ }
+ constructor(e) {
+ (this.nameProvider = e.references.NameProvider),
+ (this.descriptions = e.workspace.AstNodeDescriptionProvider);
+ }
+ async computeExports(e, r = pr.CancellationToken.None) {
+ return this.computeExportsForNode(e.parseResult.value, e, void 0, r);
+ }
+ async computeExportsForNode(e, r, n = Wv, i = pr.CancellationToken.None) {
+ let a = [];
+ this.exportNode(e, a, r);
+ for (let s of n(e)) await Bi(i), this.exportNode(s, a, r);
+ return a;
+ }
+ exportNode(e, r, n) {
+ let i = this.nameProvider.getName(e);
+ i && r.push(this.descriptions.createDescription(e, i, n));
+ }
+ async computeLocalScopes(e, r = pr.CancellationToken.None) {
+ let n = e.parseResult.value,
+ i = new Mc();
+ for (let a of Ac(n)) await Bi(r), this.processNode(a, e, i);
+ return i;
+ }
+ processNode(e, r, n) {
+ let i = e.$container;
+ if (i) {
+ let a = this.nameProvider.getName(e);
+ a && n.add(i, this.descriptions.createDescription(e, a, r));
+ }
+ }
+ };
+ });
+ var Eg,
+ B2,
+ jOe,
+ LM = R(() => {
+ 'use strict';
+ Ds();
+ (Eg = class {
+ static {
+ o(this, 'StreamScope');
+ }
+ constructor(e, r, n) {
+ var i;
+ (this.elements = e),
+ (this.outerScope = r),
+ (this.caseInsensitive = (i = n?.caseInsensitive) !== null && i !== void 0 ? i : !1);
+ }
+ getAllElements() {
+ return this.outerScope ? this.elements.concat(this.outerScope.getAllElements()) : this.elements;
+ }
+ getElement(e) {
+ let r = this.caseInsensitive
+ ? this.elements.find((n) => n.name.toLowerCase() === e.toLowerCase())
+ : this.elements.find((n) => n.name === e);
+ if (r) return r;
+ if (this.outerScope) return this.outerScope.getElement(e);
+ }
+ }),
+ (B2 = class {
+ static {
+ o(this, 'MapScope');
+ }
+ constructor(e, r, n) {
+ var i;
+ (this.elements = new Map()),
+ (this.caseInsensitive = (i = n?.caseInsensitive) !== null && i !== void 0 ? i : !1);
+ for (let a of e) {
+ let s = this.caseInsensitive ? a.name.toLowerCase() : a.name;
+ this.elements.set(s, a);
+ }
+ this.outerScope = r;
+ }
+ getElement(e) {
+ let r = this.caseInsensitive ? e.toLowerCase() : e,
+ n = this.elements.get(r);
+ if (n) return n;
+ if (this.outerScope) return this.outerScope.getElement(e);
+ }
+ getAllElements() {
+ let e = Kr(this.elements.values());
+ return this.outerScope && (e = e.concat(this.outerScope.getAllElements())), e;
+ }
+ }),
+ (jOe = {
+ getElement() {},
+ getAllElements() {
+ return Gv;
+ }
+ });
+ });
+ var Cg,
+ F2,
+ x0,
+ Mk,
+ Sg,
+ Ik = R(() => {
+ 'use strict';
+ (Cg = class {
+ static {
+ o(this, 'DisposableCache');
+ }
+ constructor() {
+ (this.toDispose = []), (this.isDisposed = !1);
+ }
+ onDispose(e) {
+ this.toDispose.push(e);
+ }
+ dispose() {
+ this.throwIfDisposed(),
+ this.clear(),
+ (this.isDisposed = !0),
+ this.toDispose.forEach((e) => e.dispose());
+ }
+ throwIfDisposed() {
+ if (this.isDisposed) throw new Error('This cache has already been disposed');
+ }
+ }),
+ (F2 = class extends Cg {
+ static {
+ o(this, 'SimpleCache');
+ }
+ constructor() {
+ super(...arguments), (this.cache = new Map());
+ }
+ has(e) {
+ return this.throwIfDisposed(), this.cache.has(e);
+ }
+ set(e, r) {
+ this.throwIfDisposed(), this.cache.set(e, r);
+ }
+ get(e, r) {
+ if ((this.throwIfDisposed(), this.cache.has(e))) return this.cache.get(e);
+ if (r) {
+ let n = r();
+ return this.cache.set(e, n), n;
+ } else return;
+ }
+ delete(e) {
+ return this.throwIfDisposed(), this.cache.delete(e);
+ }
+ clear() {
+ this.throwIfDisposed(), this.cache.clear();
+ }
+ }),
+ (x0 = class extends Cg {
+ static {
+ o(this, 'ContextCache');
+ }
+ constructor(e) {
+ super(), (this.cache = new Map()), (this.converter = e ?? ((r) => r));
+ }
+ has(e, r) {
+ return this.throwIfDisposed(), this.cacheForContext(e).has(r);
+ }
+ set(e, r, n) {
+ this.throwIfDisposed(), this.cacheForContext(e).set(r, n);
+ }
+ get(e, r, n) {
+ this.throwIfDisposed();
+ let i = this.cacheForContext(e);
+ if (i.has(r)) return i.get(r);
+ if (n) {
+ let a = n();
+ return i.set(r, a), a;
+ } else return;
+ }
+ delete(e, r) {
+ return this.throwIfDisposed(), this.cacheForContext(e).delete(r);
+ }
+ clear(e) {
+ if ((this.throwIfDisposed(), e)) {
+ let r = this.converter(e);
+ this.cache.delete(r);
+ } else this.cache.clear();
+ }
+ cacheForContext(e) {
+ let r = this.converter(e),
+ n = this.cache.get(r);
+ return n || ((n = new Map()), this.cache.set(r, n)), n;
+ }
+ }),
+ (Mk = class extends x0 {
+ static {
+ o(this, 'DocumentCache');
+ }
+ constructor(e) {
+ super((r) => r.toString()),
+ this.onDispose(
+ e.workspace.DocumentBuilder.onUpdate((r, n) => {
+ let i = r.concat(n);
+ for (let a of i) this.clear(a);
+ })
+ );
+ }
+ }),
+ (Sg = class extends F2 {
+ static {
+ o(this, 'WorkspaceCache');
+ }
+ constructor(e) {
+ super(),
+ this.onDispose(
+ e.workspace.DocumentBuilder.onUpdate(() => {
+ this.clear();
+ })
+ );
+ }
+ });
+ });
+ var z2,
+ DM = R(() => {
+ 'use strict';
+ LM();
+ es();
+ Ds();
+ Ik();
+ z2 = class {
+ static {
+ o(this, 'DefaultScopeProvider');
+ }
+ constructor(e) {
+ (this.reflection = e.shared.AstReflection),
+ (this.nameProvider = e.references.NameProvider),
+ (this.descriptions = e.workspace.AstNodeDescriptionProvider),
+ (this.indexManager = e.shared.workspace.IndexManager),
+ (this.globalScopeCache = new Sg(e.shared));
+ }
+ getScope(e) {
+ let r = [],
+ n = this.reflection.getReferenceType(e),
+ i = Oi(e.container).precomputedScopes;
+ if (i) {
+ let s = e.container;
+ do {
+ let l = i.get(s);
+ l.length > 0 && r.push(Kr(l).filter((u) => this.reflection.isSubtype(u.type, n))),
+ (s = s.$container);
+ } while (s);
+ }
+ let a = this.getGlobalScope(n, e);
+ for (let s = r.length - 1; s >= 0; s--) a = this.createScope(r[s], a);
+ return a;
+ }
+ createScope(e, r, n) {
+ return new Eg(Kr(e), r, n);
+ }
+ createScopeForNodes(e, r, n) {
+ let i = Kr(e)
+ .map((a) => {
+ let s = this.nameProvider.getName(a);
+ if (s) return this.descriptions.createDescription(a, s);
+ })
+ .nonNullable();
+ return new Eg(i, r, n);
+ }
+ getGlobalScope(e, r) {
+ return this.globalScopeCache.get(e, () => new B2(this.indexManager.allElements(e)));
+ }
+ };
+ });
+ function RM(t) {
+ return typeof t.$comment == 'string';
+ }
+ function woe(t) {
+ return typeof t == 'object' && !!t && ('$ref' in t || '$error' in t);
+ }
+ var G2,
+ Ok = R(() => {
+ 'use strict';
+ EM();
+ Vo();
+ es();
+ Il();
+ o(RM, 'isAstNodeWithComment');
+ o(woe, 'isIntermediateReference');
+ G2 = class {
+ static {
+ o(this, 'DefaultJsonSerializer');
+ }
+ constructor(e) {
+ (this.ignoreProperties = new Set([
+ '$container',
+ '$containerProperty',
+ '$containerIndex',
+ '$document',
+ '$cstNode'
+ ])),
+ (this.langiumDocuments = e.shared.workspace.LangiumDocuments),
+ (this.astNodeLocator = e.workspace.AstNodeLocator),
+ (this.nameProvider = e.references.NameProvider),
+ (this.commentProvider = e.documentation.CommentProvider);
+ }
+ serialize(e, r = {}) {
+ let n = r?.replacer,
+ i = o((s, l) => this.replacer(s, l, r), 'defaultReplacer'),
+ a = n ? (s, l) => n(s, l, i) : i;
+ try {
+ return (this.currentDocument = Oi(e)), JSON.stringify(e, a, r?.space);
+ } finally {
+ this.currentDocument = void 0;
+ }
+ }
+ deserialize(e, r = {}) {
+ let n = JSON.parse(e);
+ return this.linkNode(n, n, r), n;
+ }
+ replacer(e, r, { refText: n, sourceText: i, textRegions: a, comments: s, uriConverter: l }) {
+ var u, h, f, d;
+ if (!this.ignoreProperties.has(e))
+ if (xa(r)) {
+ let p = r.ref,
+ m = n ? r.$refText : void 0;
+ if (p) {
+ let g = Oi(p),
+ y = '';
+ this.currentDocument &&
+ this.currentDocument !== g &&
+ (l ? (y = l(g.uri, r)) : (y = g.uri.toString()));
+ let v = this.astNodeLocator.getAstNodePath(p);
+ return { $ref: `${y}#${v}`, $refText: m };
+ } else
+ return {
+ $error:
+ (h = (u = r.error) === null || u === void 0 ? void 0 : u.message) !== null &&
+ h !== void 0
+ ? h
+ : 'Could not resolve reference',
+ $refText: m
+ };
+ } else if (Xn(r)) {
+ let p;
+ if (
+ (a &&
+ ((p = this.addAstNodeRegionWithAssignmentsTo(Object.assign({}, r))),
+ (!e || r.$document) &&
+ p?.$textRegion &&
+ (p.$textRegion.documentURI =
+ (f = this.currentDocument) === null || f === void 0
+ ? void 0
+ : f.uri.toString())),
+ i &&
+ !e &&
+ (p ?? (p = Object.assign({}, r)),
+ (p.$sourceText = (d = r.$cstNode) === null || d === void 0 ? void 0 : d.text)),
+ s)
+ ) {
+ p ?? (p = Object.assign({}, r));
+ let m = this.commentProvider.getComment(r);
+ m && (p.$comment = m.replace(/\r/g, ''));
+ }
+ return p ?? r;
+ } else return r;
+ }
+ addAstNodeRegionWithAssignmentsTo(e) {
+ let r = o(
+ (n) => ({
+ offset: n.offset,
+ end: n.end,
+ length: n.length,
+ range: n.range
+ }),
+ 'createDocumentSegment'
+ );
+ if (e.$cstNode) {
+ let n = (e.$textRegion = r(e.$cstNode)),
+ i = (n.assignments = {});
+ return (
+ Object.keys(e)
+ .filter((a) => !a.startsWith('$'))
+ .forEach((a) => {
+ let s = YR(e.$cstNode, a).map(r);
+ s.length !== 0 && (i[a] = s);
+ }),
+ e
+ );
+ }
+ }
+ linkNode(e, r, n, i, a, s) {
+ for (let [u, h] of Object.entries(e))
+ if (Array.isArray(h))
+ for (let f = 0; f < h.length; f++) {
+ let d = h[f];
+ woe(d)
+ ? (h[f] = this.reviveReference(e, u, r, d, n))
+ : Xn(d) && this.linkNode(d, r, n, e, u, f);
+ }
+ else
+ woe(h)
+ ? (e[u] = this.reviveReference(e, u, r, h, n))
+ : Xn(h) && this.linkNode(h, r, n, e, u);
+ let l = e;
+ (l.$container = i), (l.$containerProperty = a), (l.$containerIndex = s);
+ }
+ reviveReference(e, r, n, i, a) {
+ let s = i.$refText,
+ l = i.$error;
+ if (i.$ref) {
+ let u = this.getRefNode(n, i.$ref, a.uriConverter);
+ if (Xn(u)) return s || (s = this.nameProvider.getName(u)), { $refText: s ?? '', ref: u };
+ l = u;
+ }
+ if (l) {
+ let u = { $refText: s ?? '' };
+ return (
+ (u.error = {
+ container: e,
+ property: r,
+ message: l,
+ reference: u
+ }),
+ u
+ );
+ } else return;
+ }
+ getRefNode(e, r, n) {
+ try {
+ let i = r.indexOf('#');
+ if (i === 0) {
+ let u = this.astNodeLocator.getAstNode(e, r.substring(1));
+ return u || 'Could not resolve path: ' + r;
+ }
+ if (i < 0) {
+ let u = n ? n(r) : Ms.parse(r),
+ h = this.langiumDocuments.getDocument(u);
+ return h ? h.parseResult.value : 'Could not find document for URI: ' + r;
+ }
+ let a = n ? n(r.substring(0, i)) : Ms.parse(r.substring(0, i)),
+ s = this.langiumDocuments.getDocument(a);
+ if (!s) return 'Could not find document for URI: ' + r;
+ if (i === r.length - 1) return s.parseResult.value;
+ let l = this.astNodeLocator.getAstNode(s.parseResult.value, r.substring(i + 1));
+ return l || 'Could not resolve URI: ' + r;
+ } catch (i) {
+ return String(i);
+ }
+ }
+ };
+ });
+ var $2,
+ NM = R(() => {
+ 'use strict';
+ Nc();
+ $2 = class {
+ static {
+ o(this, 'DefaultServiceRegistry');
+ }
+ register(e) {
+ if (!this.singleton && !this.map) {
+ this.singleton = e;
+ return;
+ }
+ if (!this.map && ((this.map = {}), this.singleton)) {
+ for (let r of this.singleton.LanguageMetaData.fileExtensions) this.map[r] = this.singleton;
+ this.singleton = void 0;
+ }
+ for (let r of e.LanguageMetaData.fileExtensions)
+ this.map[r] !== void 0 &&
+ this.map[r] !== e &&
+ console.warn(
+ `The file extension ${r} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.`
+ ),
+ (this.map[r] = e);
+ }
+ getServices(e) {
+ if (this.singleton !== void 0) return this.singleton;
+ if (this.map === void 0)
+ throw new Error(
+ 'The service registry is empty. Use `register` to register the services of a language.'
+ );
+ let r = ss.extname(e),
+ n = this.map[r];
+ if (!n) throw new Error(`The service registry contains no services for the extension '${r}'.`);
+ return n;
+ }
+ get all() {
+ return this.singleton !== void 0
+ ? [this.singleton]
+ : this.map !== void 0
+ ? Object.values(this.map)
+ : [];
+ }
+ };
+ });
+ function Pk(t) {
+ return { code: t };
+ }
+ var Ag,
+ V2,
+ U2 = R(() => {
+ 'use strict';
+ kg();
+ qo();
+ Ds();
+ o(Pk, 'diagnosticData');
+ (function (t) {
+ t.all = ['fast', 'slow', 'built-in'];
+ })(Ag || (Ag = {}));
+ V2 = class {
+ static {
+ o(this, 'ValidationRegistry');
+ }
+ constructor(e) {
+ (this.entries = new Mc()), (this.reflection = e.shared.AstReflection);
+ }
+ register(e, r = this, n = 'fast') {
+ if (n === 'built-in')
+ throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");
+ for (let [i, a] of Object.entries(e)) {
+ let s = a;
+ if (Array.isArray(s))
+ for (let l of s) {
+ let u = {
+ check: this.wrapValidationException(l, r),
+ category: n
+ };
+ this.addEntry(i, u);
+ }
+ else if (typeof s == 'function') {
+ let l = {
+ check: this.wrapValidationException(s, r),
+ category: n
+ };
+ this.addEntry(i, l);
+ }
+ }
+ }
+ wrapValidationException(e, r) {
+ return async (n, i, a) => {
+ try {
+ await e.call(r, n, i, a);
+ } catch (s) {
+ if (of(s)) throw s;
+ console.error('An error occurred during validation:', s);
+ let l = s instanceof Error ? s.message : String(s);
+ s instanceof Error && s.stack && console.error(s.stack),
+ i('error', 'An error occurred during validation: ' + l, {
+ node: n
+ });
+ }
+ };
+ }
+ addEntry(e, r) {
+ if (e === 'AstNode') {
+ this.entries.add('AstNode', r);
+ return;
+ }
+ for (let n of this.reflection.getAllSubTypes(e)) this.entries.add(n, r);
+ }
+ getChecks(e, r) {
+ let n = Kr(this.entries.get(e)).concat(this.entries.get('AstNode'));
+ return r && (n = n.filter((i) => r.includes(i.category))), n.map((i) => i.check);
+ }
+ };
+ });
+ function Toe(t) {
+ if (t.range) return t.range;
+ let e;
+ return (
+ typeof t.property == 'string'
+ ? (e = Zv(t.node.$cstNode, t.property, t.index))
+ : typeof t.keyword == 'string' && (e = qR(t.node.$cstNode, t.keyword, t.index)),
+ e ?? (e = t.node.$cstNode),
+ e ? e.range : { start: { line: 0, character: 0 }, end: { line: 0, character: 0 } }
+ );
+ }
+ function Bk(t) {
+ switch (t) {
+ case 'error':
+ return 1;
+ case 'warning':
+ return 2;
+ case 'info':
+ return 3;
+ case 'hint':
+ return 4;
+ default:
+ throw new Error('Invalid diagnostic severity: ' + t);
+ }
+ }
+ var H2,
+ Uu,
+ MM = R(() => {
+ 'use strict';
+ Wo();
+ Il();
+ es();
+ Rl();
+ qo();
+ U2();
+ H2 = class {
+ static {
+ o(this, 'DefaultDocumentValidator');
+ }
+ constructor(e) {
+ (this.validationRegistry = e.validation.ValidationRegistry), (this.metadata = e.LanguageMetaData);
+ }
+ async validateDocument(e, r = {}, n = pr.CancellationToken.None) {
+ let i = e.parseResult,
+ a = [];
+ if (
+ (await Bi(n),
+ (!r.categories || r.categories.includes('built-in')) &&
+ (this.processLexingErrors(i, a, r),
+ (r.stopAfterLexingErrors &&
+ a.some((s) => {
+ var l;
+ return ((l = s.data) === null || l === void 0 ? void 0 : l.code) === Uu.LexingError;
+ })) ||
+ (this.processParsingErrors(i, a, r),
+ r.stopAfterParsingErrors &&
+ a.some((s) => {
+ var l;
+ return (
+ ((l = s.data) === null || l === void 0 ? void 0 : l.code) ===
+ Uu.ParsingError
+ );
+ })) ||
+ (this.processLinkingErrors(e, a, r),
+ r.stopAfterLinkingErrors &&
+ a.some((s) => {
+ var l;
+ return (
+ ((l = s.data) === null || l === void 0 ? void 0 : l.code) ===
+ Uu.LinkingError
+ );
+ }))))
+ )
+ return a;
+ try {
+ a.push(...(await this.validateAst(i.value, r, n)));
+ } catch (s) {
+ if (of(s)) throw s;
+ console.error('An error occurred during validation:', s);
+ }
+ return await Bi(n), a;
+ }
+ processLexingErrors(e, r, n) {
+ for (let i of e.lexerErrors) {
+ let a = {
+ severity: Bk('error'),
+ range: {
+ start: { line: i.line - 1, character: i.column - 1 },
+ end: { line: i.line - 1, character: i.column + i.length - 1 }
+ },
+ message: i.message,
+ data: Pk(Uu.LexingError),
+ source: this.getSource()
+ };
+ r.push(a);
+ }
+ }
+ processParsingErrors(e, r, n) {
+ for (let i of e.parserErrors) {
+ let a;
+ if (isNaN(i.token.startOffset)) {
+ if ('previousToken' in i) {
+ let s = i.previousToken;
+ if (isNaN(s.startOffset)) {
+ let l = { line: 0, character: 0 };
+ a = { start: l, end: l };
+ } else {
+ let l = { line: s.endLine - 1, character: s.endColumn };
+ a = { start: l, end: l };
+ }
+ }
+ } else a = zm(i.token);
+ if (a) {
+ let s = {
+ severity: Bk('error'),
+ range: a,
+ message: i.message,
+ data: Pk(Uu.ParsingError),
+ source: this.getSource()
+ };
+ r.push(s);
+ }
+ }
+ }
+ processLinkingErrors(e, r, n) {
+ for (let i of e.references) {
+ let a = i.error;
+ if (a) {
+ let s = {
+ node: a.container,
+ property: a.property,
+ index: a.index,
+ data: {
+ code: Uu.LinkingError,
+ containerType: a.container.$type,
+ property: a.property,
+ refText: a.reference.$refText
+ }
+ };
+ r.push(this.toDiagnostic('error', a.message, s));
+ }
+ }
+ }
+ async validateAst(e, r, n = pr.CancellationToken.None) {
+ let i = [],
+ a = o((s, l, u) => {
+ i.push(this.toDiagnostic(s, l, u));
+ }, 'acceptor');
+ return (
+ await Promise.all(
+ Yo(e).map(async (s) => {
+ await Bi(n);
+ let l = this.validationRegistry.getChecks(s.$type, r.categories);
+ for (let u of l) await u(s, a, n);
+ })
+ ),
+ i
+ );
+ }
+ toDiagnostic(e, r, n) {
+ return {
+ message: r,
+ range: Toe(n),
+ severity: Bk(e),
+ code: n.code,
+ codeDescription: n.codeDescription,
+ tags: n.tags,
+ relatedInformation: n.relatedInformation,
+ data: n.data,
+ source: this.getSource()
+ };
+ }
+ getSource() {
+ return this.metadata.languageId;
+ }
+ };
+ o(Toe, 'getDiagnosticRange');
+ o(Bk, 'toDiagnosticSeverity');
+ (function (t) {
+ (t.LexingError = 'lexing-error'),
+ (t.ParsingError = 'parsing-error'),
+ (t.LinkingError = 'linking-error');
+ })(Uu || (Uu = {}));
+ });
+ var Y2,
+ W2,
+ IM = R(() => {
+ 'use strict';
+ Wo();
+ Vo();
+ es();
+ Rl();
+ qo();
+ Nc();
+ (Y2 = class {
+ static {
+ o(this, 'DefaultAstNodeDescriptionProvider');
+ }
+ constructor(e) {
+ (this.astNodeLocator = e.workspace.AstNodeLocator), (this.nameProvider = e.references.NameProvider);
+ }
+ createDescription(e, r, n = Oi(e)) {
+ r ?? (r = this.nameProvider.getName(e));
+ let i = this.astNodeLocator.getAstNodePath(e);
+ if (!r) throw new Error(`Node at path ${i} has no name.`);
+ let a,
+ s = o(() => {
+ var l;
+ return (
+ a ??
+ (a = Xd(
+ (l = this.nameProvider.getNameNode(e)) !== null && l !== void 0 ? l : e.$cstNode
+ ))
+ );
+ }, 'nameSegmentGetter');
+ return {
+ node: e,
+ name: r,
+ get nameSegment() {
+ return s();
+ },
+ selectionSegment: Xd(e.$cstNode),
+ type: e.$type,
+ documentUri: n.uri,
+ path: i
+ };
+ }
+ }),
+ (W2 = class {
+ static {
+ o(this, 'DefaultReferenceDescriptionProvider');
+ }
+ constructor(e) {
+ this.nodeLocator = e.workspace.AstNodeLocator;
+ }
+ async createDescriptions(e, r = pr.CancellationToken.None) {
+ let n = [],
+ i = e.parseResult.value;
+ for (let a of Yo(i))
+ await Bi(r),
+ $m(a)
+ .filter((s) => !Wd(s))
+ .forEach((s) => {
+ let l = this.createDescription(s);
+ l && n.push(l);
+ });
+ return n;
+ }
+ createDescription(e) {
+ let r = e.reference.$nodeDescription,
+ n = e.reference.$refNode;
+ if (!r || !n) return;
+ let i = Oi(e.container).uri;
+ return {
+ sourceUri: i,
+ sourcePath: this.nodeLocator.getAstNodePath(e.container),
+ targetUri: r.documentUri,
+ targetPath: r.path,
+ segment: Xd(n),
+ local: ss.equals(r.documentUri, i)
+ };
+ }
+ });
+ });
+ var q2,
+ OM = R(() => {
+ 'use strict';
+ q2 = class {
+ static {
+ o(this, 'DefaultAstNodeLocator');
+ }
+ constructor() {
+ (this.segmentSeparator = '/'), (this.indexSeparator = '@');
+ }
+ getAstNodePath(e) {
+ if (e.$container) {
+ let r = this.getAstNodePath(e.$container),
+ n = this.getPathSegment(e);
+ return r + this.segmentSeparator + n;
+ }
+ return '';
+ }
+ getPathSegment({ $containerProperty: e, $containerIndex: r }) {
+ if (!e) throw new Error("Missing '$containerProperty' in AST node.");
+ return r !== void 0 ? e + this.indexSeparator + r : e;
+ }
+ getAstNode(e, r) {
+ return r.split(this.segmentSeparator).reduce((i, a) => {
+ if (!i || a.length === 0) return i;
+ let s = a.indexOf(this.indexSeparator);
+ if (s > 0) {
+ let l = a.substring(0, s),
+ u = parseInt(a.substring(s + 1)),
+ h = i[l];
+ return h?.[u];
+ }
+ return i[a];
+ }, e);
+ }
+ };
+ });
+ var X2,
+ PM = R(() => {
+ 'use strict';
+ qo();
+ X2 = class {
+ static {
+ o(this, 'DefaultConfigurationProvider');
+ }
+ constructor(e) {
+ (this._ready = new as()),
+ (this.settings = {}),
+ (this.workspaceConfig = !1),
+ (this.serviceRegistry = e.ServiceRegistry);
+ }
+ get ready() {
+ return this._ready.promise;
+ }
+ initialize(e) {
+ var r, n;
+ this.workspaceConfig =
+ (n = (r = e.capabilities.workspace) === null || r === void 0 ? void 0 : r.configuration) !==
+ null && n !== void 0
+ ? n
+ : !1;
+ }
+ async initialized(e) {
+ if (this.workspaceConfig) {
+ if (e.register) {
+ let r = this.serviceRegistry.all;
+ e.register({
+ section: r.map((n) => this.toSectionName(n.LanguageMetaData.languageId))
+ });
+ }
+ if (e.fetchConfiguration) {
+ let r = this.serviceRegistry.all.map((i) => ({
+ section: this.toSectionName(i.LanguageMetaData.languageId)
+ })),
+ n = await e.fetchConfiguration(r);
+ r.forEach((i, a) => {
+ this.updateSectionConfiguration(i.section, n[a]);
+ });
+ }
+ }
+ this._ready.resolve();
+ }
+ updateConfiguration(e) {
+ e.settings &&
+ Object.keys(e.settings).forEach((r) => {
+ this.updateSectionConfiguration(r, e.settings[r]);
+ });
+ }
+ updateSectionConfiguration(e, r) {
+ this.settings[e] = r;
+ }
+ async getConfiguration(e, r) {
+ await this.ready;
+ let n = this.toSectionName(e);
+ if (this.settings[n]) return this.settings[n][r];
+ }
+ toSectionName(e) {
+ return `${e}`;
+ }
+ };
+ });
+ var b0,
+ BM = R(() => {
+ 'use strict';
+ (function (t) {
+ function e(r) {
+ return { dispose: o(async () => await r(), 'dispose') };
+ }
+ o(e, 'create'), (t.create = e);
+ })(b0 || (b0 = {}));
+ });
+ var j2,
+ FM = R(() => {
+ 'use strict';
+ Wo();
+ BM();
+ kg();
+ qo();
+ Ds();
+ U2();
+ Tg();
+ j2 = class {
+ static {
+ o(this, 'DefaultDocumentBuilder');
+ }
+ constructor(e) {
+ (this.updateBuildOptions = {
+ validation: { categories: ['built-in', 'fast'] }
+ }),
+ (this.updateListeners = []),
+ (this.buildPhaseListeners = new Mc()),
+ (this.buildState = new Map()),
+ (this.documentBuildWaiters = new Map()),
+ (this.currentState = yn.Changed),
+ (this.langiumDocuments = e.workspace.LangiumDocuments),
+ (this.langiumDocumentFactory = e.workspace.LangiumDocumentFactory),
+ (this.indexManager = e.workspace.IndexManager),
+ (this.serviceRegistry = e.ServiceRegistry);
+ }
+ async build(e, r = {}, n = pr.CancellationToken.None) {
+ var i, a;
+ for (let s of e) {
+ let l = s.uri.toString();
+ if (s.state === yn.Validated) {
+ if (typeof r.validation == 'boolean' && r.validation)
+ (s.state = yn.IndexedReferences), (s.diagnostics = void 0), this.buildState.delete(l);
+ else if (typeof r.validation == 'object') {
+ let u = this.buildState.get(l),
+ h = (i = u?.result) === null || i === void 0 ? void 0 : i.validationChecks;
+ if (h) {
+ let d = (
+ (a = r.validation.categories) !== null && a !== void 0 ? a : Ag.all
+ ).filter((p) => !h.includes(p));
+ d.length > 0 &&
+ (this.buildState.set(l, {
+ completed: !1,
+ options: {
+ validation: Object.assign(Object.assign({}, r.validation), {
+ categories: d
+ })
+ },
+ result: u.result
+ }),
+ (s.state = yn.IndexedReferences));
+ }
+ }
+ } else this.buildState.delete(l);
+ }
+ (this.currentState = yn.Changed),
+ await this.emitUpdate(
+ e.map((s) => s.uri),
+ []
+ ),
+ await this.buildDocuments(e, r, n);
+ }
+ async update(e, r, n = pr.CancellationToken.None) {
+ this.currentState = yn.Changed;
+ for (let s of r)
+ this.langiumDocuments.deleteDocument(s),
+ this.buildState.delete(s.toString()),
+ this.indexManager.remove(s);
+ for (let s of e) {
+ if (!this.langiumDocuments.invalidateDocument(s)) {
+ let u = this.langiumDocumentFactory.fromModel({ $type: 'INVALID' }, s);
+ (u.state = yn.Changed), this.langiumDocuments.addDocument(u);
+ }
+ this.buildState.delete(s.toString());
+ }
+ let i = Kr(e)
+ .concat(r)
+ .map((s) => s.toString())
+ .toSet();
+ this.langiumDocuments.all
+ .filter((s) => !i.has(s.uri.toString()) && this.shouldRelink(s, i))
+ .forEach((s) => {
+ this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s),
+ (s.state = Math.min(s.state, yn.ComputedScopes)),
+ (s.diagnostics = void 0);
+ }),
+ await this.emitUpdate(e, r),
+ await Bi(n);
+ let a = this.langiumDocuments.all
+ .filter((s) => {
+ var l;
+ return (
+ s.state < yn.Linked ||
+ !(
+ !((l = this.buildState.get(s.uri.toString())) === null || l === void 0) &&
+ l.completed
+ )
+ );
+ })
+ .toArray();
+ await this.buildDocuments(a, this.updateBuildOptions, n);
+ }
+ async emitUpdate(e, r) {
+ await Promise.all(this.updateListeners.map((n) => n(e, r)));
+ }
+ shouldRelink(e, r) {
+ return e.references.some((n) => n.error !== void 0) ? !0 : this.indexManager.isAffected(e, r);
+ }
+ onUpdate(e) {
+ return (
+ this.updateListeners.push(e),
+ b0.create(() => {
+ let r = this.updateListeners.indexOf(e);
+ r >= 0 && this.updateListeners.splice(r, 1);
+ })
+ );
+ }
+ async buildDocuments(e, r, n) {
+ this.prepareBuild(e, r),
+ await this.runCancelable(e, yn.Parsed, n, (a) => this.langiumDocumentFactory.update(a, n)),
+ await this.runCancelable(e, yn.IndexedContent, n, (a) => this.indexManager.updateContent(a, n)),
+ await this.runCancelable(e, yn.ComputedScopes, n, async (a) => {
+ let s = this.serviceRegistry.getServices(a.uri).references.ScopeComputation;
+ a.precomputedScopes = await s.computeLocalScopes(a, n);
+ }),
+ await this.runCancelable(e, yn.Linked, n, (a) =>
+ this.serviceRegistry.getServices(a.uri).references.Linker.link(a, n)
+ ),
+ await this.runCancelable(e, yn.IndexedReferences, n, (a) =>
+ this.indexManager.updateReferences(a, n)
+ );
+ let i = e.filter((a) => this.shouldValidate(a));
+ await this.runCancelable(i, yn.Validated, n, (a) => this.validate(a, n));
+ for (let a of e) {
+ let s = this.buildState.get(a.uri.toString());
+ s && (s.completed = !0);
+ }
+ }
+ prepareBuild(e, r) {
+ for (let n of e) {
+ let i = n.uri.toString(),
+ a = this.buildState.get(i);
+ (!a || a.completed) &&
+ this.buildState.set(i, {
+ completed: !1,
+ options: r,
+ result: a?.result
+ });
+ }
+ }
+ async runCancelable(e, r, n, i) {
+ let a = e.filter((s) => s.state < r);
+ for (let s of a) await Bi(n), await i(s), (s.state = r);
+ await this.notifyBuildPhase(a, r, n), (this.currentState = r);
+ }
+ onBuildPhase(e, r) {
+ return (
+ this.buildPhaseListeners.add(e, r),
+ b0.create(() => {
+ this.buildPhaseListeners.delete(e, r);
+ })
+ );
+ }
+ waitUntil(e, r, n) {
+ let i;
+ if ((r && 'path' in r ? (i = r) : (n = r), n ?? (n = pr.CancellationToken.None), i)) {
+ let a = this.langiumDocuments.getDocument(i);
+ if (a && a.state > e) return Promise.resolve(i);
+ }
+ return this.currentState >= e
+ ? Promise.resolve(void 0)
+ : n.isCancellationRequested
+ ? Promise.reject(Rc)
+ : new Promise((a, s) => {
+ let l = this.onBuildPhase(e, () => {
+ if ((l.dispose(), u.dispose(), i)) {
+ let h = this.langiumDocuments.getDocument(i);
+ a(h?.uri);
+ } else a(void 0);
+ }),
+ u = n.onCancellationRequested(() => {
+ l.dispose(), u.dispose(), s(Rc);
+ });
+ });
+ }
+ async notifyBuildPhase(e, r, n) {
+ if (e.length === 0) return;
+ let i = this.buildPhaseListeners.get(r);
+ for (let a of i) await Bi(n), await a(e, n);
+ }
+ shouldValidate(e) {
+ return !!this.getBuildOptions(e).validation;
+ }
+ async validate(e, r) {
+ var n, i;
+ let a = this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,
+ s = this.getBuildOptions(e).validation,
+ l = typeof s == 'object' ? s : void 0,
+ u = await a.validateDocument(e, l, r);
+ e.diagnostics ? e.diagnostics.push(...u) : (e.diagnostics = u);
+ let h = this.buildState.get(e.uri.toString());
+ if (h) {
+ ((n = h.result) !== null && n !== void 0) || (h.result = {});
+ let f = (i = l?.categories) !== null && i !== void 0 ? i : Ag.all;
+ h.result.validationChecks
+ ? h.result.validationChecks.push(...f)
+ : (h.result.validationChecks = [...f]);
+ }
+ }
+ getBuildOptions(e) {
+ var r, n;
+ return (n =
+ (r = this.buildState.get(e.uri.toString())) === null || r === void 0 ? void 0 : r.options) !==
+ null && n !== void 0
+ ? n
+ : {};
+ }
+ };
+ });
+ var K2,
+ zM = R(() => {
+ 'use strict';
+ es();
+ Ik();
+ Wo();
+ Ds();
+ Nc();
+ K2 = class {
+ static {
+ o(this, 'DefaultIndexManager');
+ }
+ constructor(e) {
+ (this.symbolIndex = new Map()),
+ (this.symbolByTypeIndex = new x0()),
+ (this.referenceIndex = new Map()),
+ (this.documents = e.workspace.LangiumDocuments),
+ (this.serviceRegistry = e.ServiceRegistry),
+ (this.astReflection = e.AstReflection);
+ }
+ findAllReferences(e, r) {
+ let n = Oi(e).uri,
+ i = [];
+ return (
+ this.referenceIndex.forEach((a) => {
+ a.forEach((s) => {
+ ss.equals(s.targetUri, n) && s.targetPath === r && i.push(s);
+ });
+ }),
+ Kr(i)
+ );
+ }
+ allElements(e, r) {
+ let n = Kr(this.symbolIndex.keys());
+ return (
+ r && (n = n.filter((i) => !r || r.has(i))), n.map((i) => this.getFileDescriptions(i, e)).flat()
+ );
+ }
+ getFileDescriptions(e, r) {
+ var n;
+ return r
+ ? this.symbolByTypeIndex.get(e, r, () => {
+ var a;
+ return ((a = this.symbolIndex.get(e)) !== null && a !== void 0 ? a : []).filter((l) =>
+ this.astReflection.isSubtype(l.type, r)
+ );
+ })
+ : (n = this.symbolIndex.get(e)) !== null && n !== void 0
+ ? n
+ : [];
+ }
+ remove(e) {
+ let r = e.toString();
+ this.symbolIndex.delete(r), this.symbolByTypeIndex.clear(r), this.referenceIndex.delete(r);
+ }
+ async updateContent(e, r = pr.CancellationToken.None) {
+ let i = await this.serviceRegistry
+ .getServices(e.uri)
+ .references.ScopeComputation.computeExports(e, r),
+ a = e.uri.toString();
+ this.symbolIndex.set(a, i), this.symbolByTypeIndex.clear(a);
+ }
+ async updateReferences(e, r = pr.CancellationToken.None) {
+ let i = await this.serviceRegistry
+ .getServices(e.uri)
+ .workspace.ReferenceDescriptionProvider.createDescriptions(e, r);
+ this.referenceIndex.set(e.uri.toString(), i);
+ }
+ isAffected(e, r) {
+ let n = this.referenceIndex.get(e.uri.toString());
+ return n ? n.some((i) => !i.local && r.has(i.targetUri.toString())) : !1;
+ }
+ };
+ });
+ var Q2,
+ GM = R(() => {
+ 'use strict';
+ Wo();
+ qo();
+ Nc();
+ Q2 = class {
+ static {
+ o(this, 'DefaultWorkspaceManager');
+ }
+ constructor(e) {
+ (this.initialBuildOptions = {}),
+ (this._ready = new as()),
+ (this.serviceRegistry = e.ServiceRegistry),
+ (this.langiumDocuments = e.workspace.LangiumDocuments),
+ (this.documentBuilder = e.workspace.DocumentBuilder),
+ (this.fileSystemProvider = e.workspace.FileSystemProvider),
+ (this.mutex = e.workspace.WorkspaceLock);
+ }
+ get ready() {
+ return this._ready.promise;
+ }
+ initialize(e) {
+ var r;
+ this.folders = (r = e.workspaceFolders) !== null && r !== void 0 ? r : void 0;
+ }
+ initialized(e) {
+ return this.mutex.write((r) => {
+ var n;
+ return this.initializeWorkspace((n = this.folders) !== null && n !== void 0 ? n : [], r);
+ });
+ }
+ async initializeWorkspace(e, r = pr.CancellationToken.None) {
+ let n = await this.performStartup(e);
+ await Bi(r), await this.documentBuilder.build(n, this.initialBuildOptions, r);
+ }
+ async performStartup(e) {
+ let r = this.serviceRegistry.all.flatMap((a) => a.LanguageMetaData.fileExtensions),
+ n = [],
+ i = o((a) => {
+ n.push(a), this.langiumDocuments.hasDocument(a.uri) || this.langiumDocuments.addDocument(a);
+ }, 'collector');
+ return (
+ await this.loadAdditionalDocuments(e, i),
+ await Promise.all(
+ e.map((a) => [a, this.getRootFolder(a)]).map(async (a) => this.traverseFolder(...a, r, i))
+ ),
+ this._ready.resolve(),
+ n
+ );
+ }
+ loadAdditionalDocuments(e, r) {
+ return Promise.resolve();
+ }
+ getRootFolder(e) {
+ return Ms.parse(e.uri);
+ }
+ async traverseFolder(e, r, n, i) {
+ let a = await this.fileSystemProvider.readDirectory(r);
+ await Promise.all(
+ a.map(async (s) => {
+ if (this.includeEntry(e, s, n)) {
+ if (s.isDirectory) await this.traverseFolder(e, s.uri, n, i);
+ else if (s.isFile) {
+ let l = await this.langiumDocuments.getOrCreateDocument(s.uri);
+ i(l);
+ }
+ }
+ })
+ );
+ }
+ includeEntry(e, r, n) {
+ let i = ss.basename(r.uri);
+ if (i.startsWith('.')) return !1;
+ if (r.isDirectory) return i !== 'node_modules' && i !== 'out';
+ if (r.isFile) {
+ let a = ss.extname(r.uri);
+ return n.includes(a);
+ }
+ return !1;
+ }
+ };
+ });
+ function koe(t) {
+ return Array.isArray(t) && (t.length === 0 || 'name' in t[0]);
+ }
+ function VM(t) {
+ return t && 'modes' in t && 'defaultMode' in t;
+ }
+ function $M(t) {
+ return !koe(t) && !VM(t);
+ }
+ var Z2,
+ UM = R(() => {
+ 'use strict';
+ u0();
+ Z2 = class {
+ static {
+ o(this, 'DefaultLexer');
+ }
+ constructor(e) {
+ let r = e.parser.TokenBuilder.buildTokens(e.Grammar, {
+ caseInsensitive: e.LanguageMetaData.caseInsensitive
+ });
+ this.tokenTypes = this.toTokenTypeDictionary(r);
+ let n = $M(r) ? Object.values(r) : r;
+ this.chevrotainLexer = new ni(n, { positionTracking: 'full' });
+ }
+ get definition() {
+ return this.tokenTypes;
+ }
+ tokenize(e) {
+ var r;
+ let n = this.chevrotainLexer.tokenize(e);
+ return {
+ tokens: n.tokens,
+ errors: n.errors,
+ hidden: (r = n.groups.hidden) !== null && r !== void 0 ? r : []
+ };
+ }
+ toTokenTypeDictionary(e) {
+ if ($M(e)) return e;
+ let r = VM(e) ? Object.values(e.modes).flat() : e,
+ n = {};
+ return r.forEach((i) => (n[i.name] = i)), n;
+ }
+ };
+ o(koe, 'isTokenTypeArray');
+ o(VM, 'isIMultiModeLexerDefinition');
+ o($M, 'isTokenTypeDictionary');
+ });
+ function WM(t, e, r) {
+ let n, i;
+ typeof t == 'string' ? ((i = e), (n = r)) : ((i = t.range.start), (n = e)), i || (i = Ur.create(0, 0));
+ let a = Soe(t),
+ s = XM(n),
+ l = QOe({ lines: a, position: i, options: s });
+ return rPe({ index: 0, tokens: l, position: i });
+ }
+ function qM(t, e) {
+ let r = XM(e),
+ n = Soe(t);
+ if (n.length === 0) return !1;
+ let i = n[0],
+ a = n[n.length - 1],
+ s = r.start,
+ l = r.end;
+ return !!s?.exec(i) && !!l?.exec(a);
+ }
+ function Soe(t) {
+ let e = '';
+ return typeof t == 'string' ? (e = t) : (e = t.text), e.split(BR);
+ }
+ function QOe(t) {
+ var e, r, n;
+ let i = [],
+ a = t.position.line,
+ s = t.position.character;
+ for (let l = 0; l < t.lines.length; l++) {
+ let u = l === 0,
+ h = l === t.lines.length - 1,
+ f = t.lines[l],
+ d = 0;
+ if (u && t.options.start) {
+ let m = (e = t.options.start) === null || e === void 0 ? void 0 : e.exec(f);
+ m && (d = m.index + m[0].length);
+ } else {
+ let m = (r = t.options.line) === null || r === void 0 ? void 0 : r.exec(f);
+ m && (d = m.index + m[0].length);
+ }
+ if (h) {
+ let m = (n = t.options.end) === null || n === void 0 ? void 0 : n.exec(f);
+ m && (f = f.substring(0, m.index));
+ }
+ if (((f = f.substring(0, tPe(f))), YM(f, d) >= f.length)) {
+ if (i.length > 0) {
+ let m = Ur.create(a, s);
+ i.push({ type: 'break', content: '', range: wr.create(m, m) });
+ }
+ } else {
+ Eoe.lastIndex = d;
+ let m = Eoe.exec(f);
+ if (m) {
+ let g = m[0],
+ y = m[1],
+ v = Ur.create(a, s + d),
+ x = Ur.create(a, s + d + g.length);
+ i.push({ type: 'tag', content: y, range: wr.create(v, x) }), (d += g.length), (d = YM(f, d));
+ }
+ if (d < f.length) {
+ let g = f.substring(d),
+ y = Array.from(g.matchAll(KOe));
+ i.push(...ZOe(y, g, a, s + d));
+ }
+ }
+ a++, (s = 0);
+ }
+ return i.length > 0 && i[i.length - 1].type === 'break' ? i.slice(0, -1) : i;
+ }
+ function ZOe(t, e, r, n) {
+ let i = [];
+ if (t.length === 0) {
+ let a = Ur.create(r, n),
+ s = Ur.create(r, n + e.length);
+ i.push({ type: 'text', content: e, range: wr.create(a, s) });
+ } else {
+ let a = 0;
+ for (let l of t) {
+ let u = l.index,
+ h = e.substring(a, u);
+ h.length > 0 &&
+ i.push({
+ type: 'text',
+ content: e.substring(a, u),
+ range: wr.create(Ur.create(r, a + n), Ur.create(r, u + n))
+ });
+ let f = h.length + 1,
+ d = l[1];
+ if (
+ (i.push({
+ type: 'inline-tag',
+ content: d,
+ range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + d.length + n))
+ }),
+ (f += d.length),
+ l.length === 4)
+ ) {
+ f += l[2].length;
+ let p = l[3];
+ i.push({
+ type: 'text',
+ content: p,
+ range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + p.length + n))
+ });
+ } else
+ i.push({
+ type: 'text',
+ content: '',
+ range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + n))
+ });
+ a = u + l[0].length;
+ }
+ let s = e.substring(a);
+ s.length > 0 &&
+ i.push({
+ type: 'text',
+ content: s,
+ range: wr.create(Ur.create(r, a + n), Ur.create(r, a + n + s.length))
+ });
+ }
+ return i;
+ }
+ function YM(t, e) {
+ let r = t.substring(e).match(JOe);
+ return r ? e + r.index : t.length;
+ }
+ function tPe(t) {
+ let e = t.match(ePe);
+ if (e && typeof e.index == 'number') return e.index;
+ }
+ function rPe(t) {
+ var e, r, n, i;
+ let a = Ur.create(t.position.line, t.position.character);
+ if (t.tokens.length === 0) return new Fk([], wr.create(a, a));
+ let s = [];
+ for (; t.index < t.tokens.length; ) {
+ let h = nPe(t, s[s.length - 1]);
+ h && s.push(h);
+ }
+ let l = (r = (e = s[0]) === null || e === void 0 ? void 0 : e.range.start) !== null && r !== void 0 ? r : a,
+ u =
+ (i = (n = s[s.length - 1]) === null || n === void 0 ? void 0 : n.range.end) !== null && i !== void 0
+ ? i
+ : a;
+ return new Fk(s, wr.create(l, u));
+ }
+ function nPe(t, e) {
+ let r = t.tokens[t.index];
+ if (r.type === 'tag') return _oe(t, !1);
+ if (r.type === 'text' || r.type === 'inline-tag') return Aoe(t);
+ iPe(r, e), t.index++;
+ }
+ function iPe(t, e) {
+ if (e) {
+ let r = new zk('', t.range);
+ 'inlines' in e ? e.inlines.push(r) : e.content.inlines.push(r);
+ }
+ }
+ function Aoe(t) {
+ let e = t.tokens[t.index],
+ r = e,
+ n = e,
+ i = [];
+ for (; e && e.type !== 'break' && e.type !== 'tag'; ) i.push(aPe(t)), (n = e), (e = t.tokens[t.index]);
+ return new ex(i, wr.create(r.range.start, n.range.end));
+ }
+ function aPe(t) {
+ return t.tokens[t.index].type === 'inline-tag' ? _oe(t, !0) : Loe(t);
+ }
+ function _oe(t, e) {
+ let r = t.tokens[t.index++],
+ n = r.content.substring(1),
+ i = t.tokens[t.index];
+ if (i?.type === 'text')
+ if (e) {
+ let a = Loe(t);
+ return new J2(n, new ex([a], a.range), e, wr.create(r.range.start, a.range.end));
+ } else {
+ let a = Aoe(t);
+ return new J2(n, a, e, wr.create(r.range.start, a.range.end));
+ }
+ else {
+ let a = r.range;
+ return new J2(n, new ex([], a), e, a);
+ }
+ }
+ function Loe(t) {
+ let e = t.tokens[t.index++];
+ return new zk(e.content, e.range);
+ }
+ function XM(t) {
+ if (!t) return XM({ start: '/**', end: '*/', line: '*' });
+ let { start: e, end: r, line: n } = t;
+ return { start: HM(e, !0), end: HM(r, !1), line: HM(n, !0) };
+ }
+ function HM(t, e) {
+ if (typeof t == 'string' || typeof t == 'object') {
+ let r = typeof t == 'string' ? t0(t) : t.source;
+ return e ? new RegExp(`^\\s*${r}`) : new RegExp(`\\s*${r}\\s*$`);
+ } else return t;
+ }
+ function sPe(t, e, r) {
+ var n, i;
+ if (t === 'linkplain' || t === 'linkcode' || t === 'link') {
+ let a = e.indexOf(' '),
+ s = e;
+ if (a > 0) {
+ let u = YM(e, a);
+ (s = e.substring(u)), (e = e.substring(0, a));
+ }
+ return (
+ (t === 'linkcode' || (t === 'link' && r.link === 'code')) && (s = `\`${s}\``),
+ (i = (n = r.renderLink) === null || n === void 0 ? void 0 : n.call(r, e, s)) !== null && i !== void 0
+ ? i
+ : oPe(e, s)
+ );
+ }
+ }
+ function oPe(t, e) {
+ try {
+ return Ms.parse(t, !0), `[${e}](${t})`;
+ } catch {
+ return t;
+ }
+ }
+ function Coe(t) {
+ return t.endsWith(`
+`)
+ ? `
+`
+ : `
+
+`;
+ }
+ var Eoe,
+ KOe,
+ JOe,
+ ePe,
+ Fk,
+ J2,
+ ex,
+ zk,
+ jM = R(() => {
+ 'use strict';
+ tM();
+ Um();
+ Nc();
+ o(WM, 'parseJSDoc');
+ o(qM, 'isJSDoc');
+ o(Soe, 'getLines');
+ (Eoe = /\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy), (KOe = /\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu);
+ o(QOe, 'tokenize');
+ o(ZOe, 'buildInlineTokens');
+ (JOe = /\S/), (ePe = /\s*$/);
+ o(YM, 'skipWhitespace');
+ o(tPe, 'lastCharacter');
+ o(rPe, 'parseJSDocComment');
+ o(nPe, 'parseJSDocElement');
+ o(iPe, 'appendEmptyLine');
+ o(Aoe, 'parseJSDocText');
+ o(aPe, 'parseJSDocInline');
+ o(_oe, 'parseJSDocTag');
+ o(Loe, 'parseJSDocLine');
+ o(XM, 'normalizeOptions');
+ o(HM, 'normalizeOption');
+ (Fk = class {
+ static {
+ o(this, 'JSDocCommentImpl');
+ }
+ constructor(e, r) {
+ (this.elements = e), (this.range = r);
+ }
+ getTag(e) {
+ return this.getAllTags().find((r) => r.name === e);
+ }
+ getTags(e) {
+ return this.getAllTags().filter((r) => r.name === e);
+ }
+ getAllTags() {
+ return this.elements.filter((e) => 'name' in e);
+ }
+ toString() {
+ let e = '';
+ for (let r of this.elements)
+ if (e.length === 0) e = r.toString();
+ else {
+ let n = r.toString();
+ e += Coe(e) + n;
+ }
+ return e.trim();
+ }
+ toMarkdown(e) {
+ let r = '';
+ for (let n of this.elements)
+ if (r.length === 0) r = n.toMarkdown(e);
+ else {
+ let i = n.toMarkdown(e);
+ r += Coe(r) + i;
+ }
+ return r.trim();
+ }
+ }),
+ (J2 = class {
+ static {
+ o(this, 'JSDocTagImpl');
+ }
+ constructor(e, r, n, i) {
+ (this.name = e), (this.content = r), (this.inline = n), (this.range = i);
+ }
+ toString() {
+ let e = `@${this.name}`,
+ r = this.content.toString();
+ return (
+ this.content.inlines.length === 1
+ ? (e = `${e} ${r}`)
+ : this.content.inlines.length > 1 &&
+ (e = `${e}
+${r}`),
+ this.inline ? `{${e}}` : e
+ );
+ }
+ toMarkdown(e) {
+ var r, n;
+ return (n = (r = e?.renderTag) === null || r === void 0 ? void 0 : r.call(e, this)) !== null &&
+ n !== void 0
+ ? n
+ : this.toMarkdownDefault(e);
+ }
+ toMarkdownDefault(e) {
+ let r = this.content.toMarkdown(e);
+ if (this.inline) {
+ let a = sPe(this.name, r, e ?? {});
+ if (typeof a == 'string') return a;
+ }
+ let n = '';
+ e?.tag === 'italic' || e?.tag === void 0
+ ? (n = '*')
+ : e?.tag === 'bold'
+ ? (n = '**')
+ : e?.tag === 'bold-italic' && (n = '***');
+ let i = `${n}@${this.name}${n}`;
+ return (
+ this.content.inlines.length === 1
+ ? (i = `${i} \u2014 ${r}`)
+ : this.content.inlines.length > 1 &&
+ (i = `${i}
+${r}`),
+ this.inline ? `{${i}}` : i
+ );
+ }
+ });
+ o(sPe, 'renderInlineTag');
+ o(oPe, 'renderLinkDefault');
+ (ex = class {
+ static {
+ o(this, 'JSDocTextImpl');
+ }
+ constructor(e, r) {
+ (this.inlines = e), (this.range = r);
+ }
+ toString() {
+ let e = '';
+ for (let r = 0; r < this.inlines.length; r++) {
+ let n = this.inlines[r],
+ i = this.inlines[r + 1];
+ (e += n.toString()),
+ i &&
+ i.range.start.line > n.range.start.line &&
+ (e += `
+`);
+ }
+ return e;
+ }
+ toMarkdown(e) {
+ let r = '';
+ for (let n = 0; n < this.inlines.length; n++) {
+ let i = this.inlines[n],
+ a = this.inlines[n + 1];
+ (r += i.toMarkdown(e)),
+ a &&
+ a.range.start.line > i.range.start.line &&
+ (r += `
+`);
+ }
+ return r;
+ }
+ }),
+ (zk = class {
+ static {
+ o(this, 'JSDocLineImpl');
+ }
+ constructor(e, r) {
+ (this.text = e), (this.range = r);
+ }
+ toString() {
+ return this.text;
+ }
+ toMarkdown() {
+ return this.text;
+ }
+ });
+ o(Coe, 'fillNewlines');
+ });
+ var tx,
+ KM = R(() => {
+ 'use strict';
+ es();
+ jM();
+ tx = class {
+ static {
+ o(this, 'JSDocDocumentationProvider');
+ }
+ constructor(e) {
+ (this.indexManager = e.shared.workspace.IndexManager),
+ (this.commentProvider = e.documentation.CommentProvider);
+ }
+ getDocumentation(e) {
+ let r = this.commentProvider.getComment(e);
+ if (r && qM(r))
+ return WM(r).toMarkdown({
+ renderLink: o((i, a) => this.documentationLinkRenderer(e, i, a), 'renderLink'),
+ renderTag: o((i) => this.documentationTagRenderer(e, i), 'renderTag')
+ });
+ }
+ documentationLinkRenderer(e, r, n) {
+ var i;
+ let a =
+ (i = this.findNameInPrecomputedScopes(e, r)) !== null && i !== void 0
+ ? i
+ : this.findNameInGlobalScope(e, r);
+ if (a && a.nameSegment) {
+ let s = a.nameSegment.range.start.line + 1,
+ l = a.nameSegment.range.start.character + 1,
+ u = a.documentUri.with({ fragment: `L${s},${l}` });
+ return `[${n}](${u.toString()})`;
+ } else return;
+ }
+ documentationTagRenderer(e, r) {}
+ findNameInPrecomputedScopes(e, r) {
+ let i = Oi(e).precomputedScopes;
+ if (!i) return;
+ let a = e;
+ do {
+ let l = i.get(a).find((u) => u.name === r);
+ if (l) return l;
+ a = a.$container;
+ } while (a);
+ }
+ findNameInGlobalScope(e, r) {
+ return this.indexManager.allElements().find((i) => i.name === r);
+ }
+ };
+ });
+ var rx,
+ QM = R(() => {
+ 'use strict';
+ Ok();
+ Rl();
+ rx = class {
+ static {
+ o(this, 'DefaultCommentProvider');
+ }
+ constructor(e) {
+ this.grammarConfig = () => e.parser.GrammarConfig;
+ }
+ getComment(e) {
+ var r;
+ return RM(e)
+ ? e.$comment
+ : (r = _D(e.$cstNode, this.grammarConfig().multilineCommentRules)) === null || r === void 0
+ ? void 0
+ : r.text;
+ }
+ };
+ });
+ var ii = {};
+ var ZM = R(() => {
+ 'use strict';
+ dr(ii, Xi(vM(), 1));
+ });
+ var nx,
+ JM,
+ eI,
+ tI = R(() => {
+ 'use strict';
+ qo();
+ ZM();
+ (nx = class {
+ static {
+ o(this, 'DefaultAsyncParser');
+ }
+ constructor(e) {
+ this.syncParser = e.parser.LangiumParser;
+ }
+ parse(e) {
+ return Promise.resolve(this.syncParser.parse(e));
+ }
+ }),
+ (JM = class {
+ static {
+ o(this, 'AbstractThreadedAsyncParser');
+ }
+ constructor(e) {
+ (this.threadCount = 8),
+ (this.terminationDelay = 200),
+ (this.workerPool = []),
+ (this.queue = []),
+ (this.hydrator = e.serializer.Hydrator);
+ }
+ initializeWorkers() {
+ for (; this.workerPool.length < this.threadCount; ) {
+ let e = this.createWorker();
+ e.onReady(() => {
+ if (this.queue.length > 0) {
+ let r = this.queue.shift();
+ r && (e.lock(), r.resolve(e));
+ }
+ }),
+ this.workerPool.push(e);
+ }
+ }
+ async parse(e, r) {
+ let n = await this.acquireParserWorker(r),
+ i = new as(),
+ a,
+ s = r.onCancellationRequested(() => {
+ a = setTimeout(() => {
+ this.terminateWorker(n);
+ }, this.terminationDelay);
+ });
+ return (
+ n
+ .parse(e)
+ .then((l) => {
+ let u = this.hydrator.hydrate(l);
+ i.resolve(u);
+ })
+ .catch((l) => {
+ i.reject(l);
+ })
+ .finally(() => {
+ s.dispose(), clearTimeout(a);
+ }),
+ i.promise
+ );
+ }
+ terminateWorker(e) {
+ e.terminate();
+ let r = this.workerPool.indexOf(e);
+ r >= 0 && this.workerPool.splice(r, 1);
+ }
+ async acquireParserWorker(e) {
+ this.initializeWorkers();
+ for (let n of this.workerPool) if (n.ready) return n.lock(), n;
+ let r = new as();
+ return (
+ e.onCancellationRequested(() => {
+ let n = this.queue.indexOf(r);
+ n >= 0 && this.queue.splice(n, 1), r.reject(Rc);
+ }),
+ this.queue.push(r),
+ r.promise
+ );
+ }
+ }),
+ (eI = class {
+ static {
+ o(this, 'ParserWorker');
+ }
+ get ready() {
+ return this._ready;
+ }
+ get onReady() {
+ return this.onReadyEmitter.event;
+ }
+ constructor(e, r, n, i) {
+ (this.onReadyEmitter = new ii.Emitter()),
+ (this.deferred = new as()),
+ (this._ready = !0),
+ (this._parsing = !1),
+ (this.sendMessage = e),
+ (this._terminate = i),
+ r((a) => {
+ let s = a;
+ this.deferred.resolve(s), this.unlock();
+ }),
+ n((a) => {
+ this.deferred.reject(a), this.unlock();
+ });
+ }
+ terminate() {
+ this.deferred.reject(Rc), this._terminate();
+ }
+ lock() {
+ this._ready = !1;
+ }
+ unlock() {
+ (this._parsing = !1), (this._ready = !0), this.onReadyEmitter.fire();
+ }
+ parse(e) {
+ if (this._parsing) throw new Error('Parser worker is busy');
+ return (
+ (this._parsing = !0), (this.deferred = new as()), this.sendMessage(e), this.deferred.promise
+ );
+ }
+ });
+ });
+ var ix,
+ rI = R(() => {
+ 'use strict';
+ Wo();
+ qo();
+ ix = class {
+ static {
+ o(this, 'DefaultWorkspaceLock');
+ }
+ constructor() {
+ (this.previousTokenSource = new pr.CancellationTokenSource()),
+ (this.writeQueue = []),
+ (this.readQueue = []),
+ (this.done = !0);
+ }
+ write(e) {
+ this.cancelWrite();
+ let r = new pr.CancellationTokenSource();
+ return (this.previousTokenSource = r), this.enqueue(this.writeQueue, e, r.token);
+ }
+ read(e) {
+ return this.enqueue(this.readQueue, e);
+ }
+ enqueue(e, r, n) {
+ let i = new as(),
+ a = {
+ action: r,
+ deferred: i,
+ cancellationToken: n ?? pr.CancellationToken.None
+ };
+ return e.push(a), this.performNextOperation(), i.promise;
+ }
+ async performNextOperation() {
+ if (!this.done) return;
+ let e = [];
+ if (this.writeQueue.length > 0) e.push(this.writeQueue.shift());
+ else if (this.readQueue.length > 0) e.push(...this.readQueue.splice(0, this.readQueue.length));
+ else return;
+ (this.done = !1),
+ await Promise.all(
+ e.map(async ({ action: r, deferred: n, cancellationToken: i }) => {
+ try {
+ let a = await Promise.resolve().then(() => r(i));
+ n.resolve(a);
+ } catch (a) {
+ of(a) ? n.resolve(void 0) : n.reject(a);
+ }
+ })
+ ),
+ (this.done = !0),
+ this.performNextOperation();
+ }
+ cancelWrite() {
+ this.previousTokenSource.cancel();
+ }
+ };
+ });
+ var ax,
+ nI = R(() => {
+ 'use strict';
+ Ek();
+ Sc();
+ Vo();
+ es();
+ kg();
+ Rl();
+ ax = class {
+ static {
+ o(this, 'DefaultHydrator');
+ }
+ constructor(e) {
+ (this.grammarElementIdMap = new v0()),
+ (this.tokenTypeIdMap = new v0()),
+ (this.grammar = e.Grammar),
+ (this.lexer = e.parser.Lexer),
+ (this.linker = e.references.Linker);
+ }
+ dehydrate(e) {
+ return {
+ lexerErrors: e.lexerErrors.map((r) => Object.assign({}, r)),
+ parserErrors: e.parserErrors.map((r) => Object.assign({}, r)),
+ value: this.dehydrateAstNode(e.value, this.createDehyrationContext(e.value))
+ };
+ }
+ createDehyrationContext(e) {
+ let r = new Map(),
+ n = new Map();
+ for (let i of Yo(e)) r.set(i, {});
+ if (e.$cstNode) for (let i of qd(e.$cstNode)) n.set(i, {});
+ return { astNodes: r, cstNodes: n };
+ }
+ dehydrateAstNode(e, r) {
+ let n = r.astNodes.get(e);
+ (n.$type = e.$type),
+ (n.$containerIndex = e.$containerIndex),
+ (n.$containerProperty = e.$containerProperty),
+ e.$cstNode !== void 0 && (n.$cstNode = this.dehydrateCstNode(e.$cstNode, r));
+ for (let [i, a] of Object.entries(e))
+ if (!i.startsWith('$'))
+ if (Array.isArray(a)) {
+ let s = [];
+ n[i] = s;
+ for (let l of a)
+ Xn(l)
+ ? s.push(this.dehydrateAstNode(l, r))
+ : xa(l)
+ ? s.push(this.dehydrateReference(l, r))
+ : s.push(l);
+ } else
+ Xn(a)
+ ? (n[i] = this.dehydrateAstNode(a, r))
+ : xa(a)
+ ? (n[i] = this.dehydrateReference(a, r))
+ : a !== void 0 && (n[i] = a);
+ return n;
+ }
+ dehydrateReference(e, r) {
+ let n = {};
+ return (n.$refText = e.$refText), e.$refNode && (n.$refNode = r.cstNodes.get(e.$refNode)), n;
+ }
+ dehydrateCstNode(e, r) {
+ let n = r.cstNodes.get(e);
+ return (
+ zv(e)
+ ? (n.fullText = e.fullText)
+ : (n.grammarSource = this.getGrammarElementId(e.grammarSource)),
+ (n.hidden = e.hidden),
+ (n.astNode = r.astNodes.get(e.astNode)),
+ co(e)
+ ? (n.content = e.content.map((i) => this.dehydrateCstNode(i, r)))
+ : ef(e) &&
+ ((n.tokenType = e.tokenType.name),
+ (n.offset = e.offset),
+ (n.length = e.length),
+ (n.startLine = e.range.start.line),
+ (n.startColumn = e.range.start.character),
+ (n.endLine = e.range.end.line),
+ (n.endColumn = e.range.end.character)),
+ n
+ );
+ }
+ hydrate(e) {
+ let r = e.value,
+ n = this.createHydrationContext(r);
+ return (
+ '$cstNode' in r && this.hydrateCstNode(r.$cstNode, n),
+ {
+ lexerErrors: e.lexerErrors,
+ parserErrors: e.parserErrors,
+ value: this.hydrateAstNode(r, n)
+ }
+ );
+ }
+ createHydrationContext(e) {
+ let r = new Map(),
+ n = new Map();
+ for (let a of Yo(e)) r.set(a, {});
+ let i;
+ if (e.$cstNode)
+ for (let a of qd(e.$cstNode)) {
+ let s;
+ 'fullText' in a
+ ? ((s = new gg(a.fullText)), (i = s))
+ : 'content' in a
+ ? (s = new p0())
+ : 'tokenType' in a && (s = this.hydrateCstLeafNode(a)),
+ s && (n.set(a, s), (s.root = i));
+ }
+ return { astNodes: r, cstNodes: n };
+ }
+ hydrateAstNode(e, r) {
+ let n = r.astNodes.get(e);
+ (n.$type = e.$type),
+ (n.$containerIndex = e.$containerIndex),
+ (n.$containerProperty = e.$containerProperty),
+ e.$cstNode && (n.$cstNode = r.cstNodes.get(e.$cstNode));
+ for (let [i, a] of Object.entries(e))
+ if (!i.startsWith('$'))
+ if (Array.isArray(a)) {
+ let s = [];
+ n[i] = s;
+ for (let l of a)
+ Xn(l)
+ ? s.push(this.setParent(this.hydrateAstNode(l, r), n))
+ : xa(l)
+ ? s.push(this.hydrateReference(l, n, i, r))
+ : s.push(l);
+ } else
+ Xn(a)
+ ? (n[i] = this.setParent(this.hydrateAstNode(a, r), n))
+ : xa(a)
+ ? (n[i] = this.hydrateReference(a, n, i, r))
+ : a !== void 0 && (n[i] = a);
+ return n;
+ }
+ setParent(e, r) {
+ return (e.$container = r), e;
+ }
+ hydrateReference(e, r, n, i) {
+ return this.linker.buildReference(r, n, i.cstNodes.get(e.$refNode), e.$refText);
+ }
+ hydrateCstNode(e, r, n = 0) {
+ let i = r.cstNodes.get(e);
+ if (
+ (typeof e.grammarSource == 'number' &&
+ (i.grammarSource = this.getGrammarElement(e.grammarSource)),
+ (i.astNode = r.astNodes.get(e.astNode)),
+ co(i))
+ )
+ for (let a of e.content) {
+ let s = this.hydrateCstNode(a, r, n++);
+ i.content.push(s);
+ }
+ return i;
+ }
+ hydrateCstLeafNode(e) {
+ let r = this.getTokenType(e.tokenType),
+ n = e.offset,
+ i = e.length,
+ a = e.startLine,
+ s = e.startColumn,
+ l = e.endLine,
+ u = e.endColumn,
+ h = e.hidden;
+ return new d0(
+ n,
+ i,
+ {
+ start: { line: a, character: s },
+ end: { line: l, character: u }
+ },
+ r,
+ h
+ );
+ }
+ getTokenType(e) {
+ return this.lexer.definition[e];
+ }
+ getGrammarElementId(e) {
+ return (
+ this.grammarElementIdMap.size === 0 && this.createGrammarElementIdMap(),
+ this.grammarElementIdMap.get(e)
+ );
+ }
+ getGrammarElement(e) {
+ this.grammarElementIdMap.size === 0 && this.createGrammarElementIdMap();
+ let r = this.grammarElementIdMap.getKey(e);
+ if (r) return r;
+ throw new Error('Invalid grammar element id: ' + e);
+ }
+ createGrammarElementIdMap() {
+ let e = 0;
+ for (let r of Yo(this.grammar)) Uv(r) && this.grammarElementIdMap.set(r, e++);
+ }
+ };
+ });
+ function po(t) {
+ return {
+ documentation: {
+ CommentProvider: o((e) => new rx(e), 'CommentProvider'),
+ DocumentationProvider: o((e) => new tx(e), 'DocumentationProvider')
+ },
+ parser: {
+ AsyncParser: o((e) => new nx(e), 'AsyncParser'),
+ GrammarConfig: o((e) => JR(e), 'GrammarConfig'),
+ LangiumParser: o((e) => cM(e), 'LangiumParser'),
+ CompletionParser: o((e) => oM(e), 'CompletionParser'),
+ ValueConverter: o(() => new y0(), 'ValueConverter'),
+ TokenBuilder: o(() => new g0(), 'TokenBuilder'),
+ Lexer: o((e) => new Z2(e), 'Lexer'),
+ ParserErrorMessageProvider: o(() => new yg(), 'ParserErrorMessageProvider')
+ },
+ workspace: {
+ AstNodeLocator: o(() => new q2(), 'AstNodeLocator'),
+ AstNodeDescriptionProvider: o((e) => new Y2(e), 'AstNodeDescriptionProvider'),
+ ReferenceDescriptionProvider: o((e) => new W2(e), 'ReferenceDescriptionProvider')
+ },
+ references: {
+ Linker: o((e) => new M2(e), 'Linker'),
+ NameProvider: o(() => new I2(), 'NameProvider'),
+ ScopeProvider: o((e) => new z2(e), 'ScopeProvider'),
+ ScopeComputation: o((e) => new P2(e), 'ScopeComputation'),
+ References: o((e) => new O2(e), 'References')
+ },
+ serializer: {
+ Hydrator: o((e) => new ax(e), 'Hydrator'),
+ JsonSerializer: o((e) => new G2(e), 'JsonSerializer')
+ },
+ validation: {
+ DocumentValidator: o((e) => new H2(e), 'DocumentValidator'),
+ ValidationRegistry: o((e) => new V2(e), 'ValidationRegistry')
+ },
+ shared: o(() => t.shared, 'shared')
+ };
+ }
+ function mo(t) {
+ return {
+ ServiceRegistry: o(() => new $2(), 'ServiceRegistry'),
+ workspace: {
+ LangiumDocuments: o((e) => new N2(e), 'LangiumDocuments'),
+ LangiumDocumentFactory: o((e) => new R2(e), 'LangiumDocumentFactory'),
+ DocumentBuilder: o((e) => new j2(e), 'DocumentBuilder'),
+ IndexManager: o((e) => new K2(e), 'IndexManager'),
+ WorkspaceManager: o((e) => new Q2(e), 'WorkspaceManager'),
+ FileSystemProvider: o((e) => t.fileSystemProvider(e), 'FileSystemProvider'),
+ WorkspaceLock: o(() => new ix(), 'WorkspaceLock'),
+ ConfigurationProvider: o((e) => new X2(e), 'ConfigurationProvider')
+ }
+ };
+ }
+ var iI = R(() => {
+ 'use strict';
+ eN();
+ lM();
+ uM();
+ hM();
+ fM();
+ CM();
+ SM();
+ AM();
+ _M();
+ DM();
+ Ok();
+ NM();
+ MM();
+ U2();
+ IM();
+ OM();
+ PM();
+ FM();
+ Tg();
+ zM();
+ GM();
+ UM();
+ KM();
+ QM();
+ D2();
+ tI();
+ rI();
+ nI();
+ o(po, 'createDefaultCoreModule');
+ o(mo, 'createDefaultSharedCoreModule');
+ });
+ function Fi(t, e, r, n, i, a, s, l, u) {
+ let h = [t, e, r, n, i, a, s, l, u].reduce(Gk, {});
+ return Moe(h);
+ }
+ function Noe(t) {
+ if (t && t[sI]) for (let e of Object.values(t)) Noe(e);
+ return t;
+ }
+ function Moe(t, e) {
+ let r = new Proxy(
+ {},
+ {
+ deleteProperty: o(() => !1, 'deleteProperty'),
+ get: o((n, i) => Roe(n, i, t, e || r), 'get'),
+ getOwnPropertyDescriptor: o(
+ (n, i) => (Roe(n, i, t, e || r), Object.getOwnPropertyDescriptor(n, i)),
+ 'getOwnPropertyDescriptor'
+ ),
+ has: o((n, i) => i in t, 'has'),
+ ownKeys: o(() => [...Reflect.ownKeys(t), sI], 'ownKeys')
+ }
+ );
+ return (r[sI] = !0), r;
+ }
+ function Roe(t, e, r, n) {
+ if (e in t) {
+ if (t[e] instanceof Error)
+ throw new Error('Construction failure. Please make sure that your dependencies are constructable.', {
+ cause: t[e]
+ });
+ if (t[e] === Doe)
+ throw new Error(
+ 'Cycle detected. Please make "' +
+ String(e) +
+ '" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies'
+ );
+ return t[e];
+ } else if (e in r) {
+ let i = r[e];
+ t[e] = Doe;
+ try {
+ t[e] = typeof i == 'function' ? i(n) : Moe(i, n);
+ } catch (a) {
+ throw ((t[e] = a instanceof Error ? a : void 0), a);
+ }
+ return t[e];
+ } else return;
+ }
+ function Gk(t, e) {
+ if (e) {
+ for (let [r, n] of Object.entries(e))
+ if (n !== void 0) {
+ let i = t[r];
+ i !== null && n !== null && typeof i == 'object' && typeof n == 'object'
+ ? (t[r] = Gk(i, n))
+ : (t[r] = n);
+ }
+ }
+ return t;
+ }
+ var aI,
+ sI,
+ Doe,
+ oI = R(() => {
+ 'use strict';
+ (function (t) {
+ t.merge = (e, r) => Gk(Gk({}, e), r);
+ })(aI || (aI = {}));
+ o(Fi, 'inject');
+ sI = Symbol('isProxy');
+ o(Noe, 'eagerLoad');
+ o(Moe, '_inject');
+ Doe = Symbol();
+ o(Roe, '_resolve');
+ o(Gk, '_merge');
+ });
+ var Ioe = R(() => {
+ 'use strict';
+ });
+ var Ooe = R(() => {
+ 'use strict';
+ QM();
+ KM();
+ jM();
+ });
+ var Poe = R(() => {
+ 'use strict';
+ });
+ var Boe = R(() => {
+ 'use strict';
+ eN();
+ Poe();
+ });
+ var Foe = R(() => {
+ 'use strict';
+ });
+ var zoe = R(() => {
+ 'use strict';
+ tI();
+ lM();
+ Ek();
+ uM();
+ D2();
+ UM();
+ Foe();
+ hM();
+ fM();
+ });
+ var Goe = R(() => {
+ 'use strict';
+ CM();
+ SM();
+ AM();
+ LM();
+ _M();
+ DM();
+ });
+ var $oe = R(() => {
+ 'use strict';
+ nI();
+ Ok();
+ });
+ var $k,
+ go,
+ lI = R(() => {
+ 'use strict';
+ ($k = class {
+ static {
+ o(this, 'EmptyFileSystemProvider');
+ }
+ readFile() {
+ throw new Error('No file system is available.');
+ }
+ async readDirectory() {
+ return [];
+ }
+ }),
+ (go = { fileSystemProvider: o(() => new $k(), 'fileSystemProvider') });
+ });
+ function uPe() {
+ let t = Fi(mo(go), cPe),
+ e = Fi(po({ shared: t }), lPe);
+ return t.ServiceRegistry.register(e), e;
+ }
+ function lf(t) {
+ var e;
+ let r = uPe(),
+ n = r.serializer.JsonSerializer.deserialize(t);
+ return (
+ r.shared.workspace.LangiumDocumentFactory.fromModel(
+ n,
+ Ms.parse(`memory://${(e = n.name) !== null && e !== void 0 ? e : 'grammar'}.langium`)
+ ),
+ n
+ );
+ }
+ var lPe,
+ cPe,
+ Voe = R(() => {
+ 'use strict';
+ iI();
+ oI();
+ Sc();
+ lI();
+ Nc();
+ (lPe = {
+ Grammar: o(() => {}, 'Grammar'),
+ LanguageMetaData: o(
+ () => ({
+ caseInsensitive: !1,
+ fileExtensions: ['.langium'],
+ languageId: 'langium'
+ }),
+ 'LanguageMetaData'
+ )
+ }),
+ (cPe = { AstReflection: o(() => new Gm(), 'AstReflection') });
+ o(uPe, 'createMinimalGrammarServices');
+ o(lf, 'loadGrammarFromJson');
+ });
+ var Rr = {};
+ hr(Rr, {
+ AstUtils: () => CT,
+ BiMap: () => v0,
+ Cancellation: () => pr,
+ ContextCache: () => x0,
+ CstUtils: () => dT,
+ DONE_RESULT: () => Ja,
+ Deferred: () => as,
+ Disposable: () => b0,
+ DisposableCache: () => Cg,
+ DocumentCache: () => Mk,
+ EMPTY_STREAM: () => Gv,
+ ErrorWithLocation: () => jd,
+ GrammarUtils: () => RT,
+ MultiMap: () => Mc,
+ OperationCancelled: () => Rc,
+ Reduction: () => Fm,
+ RegExpUtils: () => LT,
+ SimpleCache: () => F2,
+ StreamImpl: () => uo,
+ TreeStreamImpl: () => Cc,
+ URI: () => Ms,
+ UriUtils: () => ss,
+ WorkspaceCache: () => Sg,
+ assertUnreachable: () => tf,
+ delayNextTick: () => TM,
+ interruptAndCheck: () => Bi,
+ isOperationCancelled: () => of,
+ loadGrammarFromJson: () => lf,
+ setInterruptionPeriod: () => poe,
+ startCancelableOperation: () => doe,
+ stream: () => Kr
+ });
+ var Uoe = R(() => {
+ 'use strict';
+ Ik();
+ ZM();
+ dr(Rr, ii);
+ kg();
+ BM();
+ pT();
+ Voe();
+ qo();
+ Ds();
+ Nc();
+ es();
+ Wo();
+ Rl();
+ Il();
+ Um();
+ });
+ var Hoe = R(() => {
+ 'use strict';
+ MM();
+ U2();
+ });
+ var Yoe = R(() => {
+ 'use strict';
+ IM();
+ OM();
+ PM();
+ FM();
+ Tg();
+ lI();
+ zM();
+ rI();
+ GM();
+ });
+ var ba = {};
+ hr(ba, {
+ AbstractAstReflection: () => Yd,
+ AbstractCstNode: () => S2,
+ AbstractLangiumParser: () => A2,
+ AbstractParserErrorMessageProvider: () => Sk,
+ AbstractThreadedAsyncParser: () => JM,
+ AstUtils: () => CT,
+ BiMap: () => v0,
+ Cancellation: () => pr,
+ CompositeCstNodeImpl: () => p0,
+ ContextCache: () => x0,
+ CstNodeBuilder: () => C2,
+ CstUtils: () => dT,
+ DONE_RESULT: () => Ja,
+ DatatypeSymbol: () => Ck,
+ DefaultAstNodeDescriptionProvider: () => Y2,
+ DefaultAstNodeLocator: () => q2,
+ DefaultAsyncParser: () => nx,
+ DefaultCommentProvider: () => rx,
+ DefaultConfigurationProvider: () => X2,
+ DefaultDocumentBuilder: () => j2,
+ DefaultDocumentValidator: () => H2,
+ DefaultHydrator: () => ax,
+ DefaultIndexManager: () => K2,
+ DefaultJsonSerializer: () => G2,
+ DefaultLangiumDocumentFactory: () => R2,
+ DefaultLangiumDocuments: () => N2,
+ DefaultLexer: () => Z2,
+ DefaultLinker: () => M2,
+ DefaultNameProvider: () => I2,
+ DefaultReferenceDescriptionProvider: () => W2,
+ DefaultReferences: () => O2,
+ DefaultScopeComputation: () => P2,
+ DefaultScopeProvider: () => z2,
+ DefaultServiceRegistry: () => $2,
+ DefaultTokenBuilder: () => g0,
+ DefaultValueConverter: () => y0,
+ DefaultWorkspaceLock: () => ix,
+ DefaultWorkspaceManager: () => Q2,
+ Deferred: () => as,
+ Disposable: () => b0,
+ DisposableCache: () => Cg,
+ DocumentCache: () => Mk,
+ DocumentState: () => yn,
+ DocumentValidator: () => Uu,
+ EMPTY_SCOPE: () => jOe,
+ EMPTY_STREAM: () => Gv,
+ EmptyFileSystem: () => go,
+ EmptyFileSystemProvider: () => $k,
+ ErrorWithLocation: () => jd,
+ GrammarAST: () => Yv,
+ GrammarUtils: () => RT,
+ JSDocDocumentationProvider: () => tx,
+ LangiumCompletionParser: () => L2,
+ LangiumParser: () => _2,
+ LangiumParserErrorMessageProvider: () => yg,
+ LeafCstNodeImpl: () => d0,
+ MapScope: () => B2,
+ Module: () => aI,
+ MultiMap: () => Mc,
+ OperationCancelled: () => Rc,
+ ParserWorker: () => eI,
+ Reduction: () => Fm,
+ RegExpUtils: () => LT,
+ RootCstNodeImpl: () => gg,
+ SimpleCache: () => F2,
+ StreamImpl: () => uo,
+ StreamScope: () => Eg,
+ TextDocument: () => bg,
+ TreeStreamImpl: () => Cc,
+ URI: () => Ms,
+ UriUtils: () => ss,
+ ValidationCategory: () => Ag,
+ ValidationRegistry: () => V2,
+ ValueConverter: () => Dc,
+ WorkspaceCache: () => Sg,
+ assertUnreachable: () => tf,
+ createCompletionParser: () => oM,
+ createDefaultCoreModule: () => po,
+ createDefaultSharedCoreModule: () => mo,
+ createGrammarConfig: () => JR,
+ createLangiumParser: () => cM,
+ delayNextTick: () => TM,
+ diagnosticData: () => Pk,
+ eagerLoad: () => Noe,
+ getDiagnosticRange: () => Toe,
+ inject: () => Fi,
+ interruptAndCheck: () => Bi,
+ isAstNode: () => Xn,
+ isAstNodeDescription: () => ED,
+ isAstNodeWithComment: () => RM,
+ isCompositeCstNode: () => co,
+ isIMultiModeLexerDefinition: () => VM,
+ isJSDoc: () => qM,
+ isLeafCstNode: () => ef,
+ isLinkingError: () => Wd,
+ isNamed: () => boe,
+ isOperationCancelled: () => of,
+ isReference: () => xa,
+ isRootCstNode: () => zv,
+ isTokenTypeArray: () => koe,
+ isTokenTypeDictionary: () => $M,
+ loadGrammarFromJson: () => lf,
+ parseJSDoc: () => WM,
+ prepareLangiumParser: () => soe,
+ setInterruptionPeriod: () => poe,
+ startCancelableOperation: () => doe,
+ stream: () => Kr,
+ toDiagnosticSeverity: () => Bk
+ });
+ var Ic = R(() => {
+ 'use strict';
+ iI();
+ oI();
+ NM();
+ Ioe();
+ Vo();
+ Ooe();
+ Boe();
+ zoe();
+ Goe();
+ $oe();
+ Uoe();
+ dr(ba, Rr);
+ Hoe();
+ Yoe();
+ Sc();
+ });
+ function Joe(t) {
+ return Pl.isInstance(t, Zoe);
+ }
+ function ele(t) {
+ return Pl.isInstance(t, cI);
+ }
+ function tle(t) {
+ return Pl.isInstance(t, uI);
+ }
+ function rle(t) {
+ return Pl.isInstance(t, pPe);
+ }
+ function nle(t) {
+ return Pl.isInstance(t, hI);
+ }
+ function ale(t) {
+ return Pl.isInstance(t, ile);
+ }
+ function sle(t) {
+ return Pl.isInstance(t, fI);
+ }
+ function lle(t) {
+ return Pl.isInstance(t, ole);
+ }
+ function ule(t) {
+ return Pl.isInstance(t, cle);
+ }
+ function fle(t) {
+ return Pl.isInstance(t, hle);
+ }
+ function ple(t) {
+ return Pl.isInstance(t, dle);
+ }
+ var hPe,
+ Tt,
+ Qoe,
+ Zoe,
+ cI,
+ fPe,
+ dPe,
+ uI,
+ pPe,
+ hI,
+ ile,
+ fI,
+ ole,
+ cle,
+ hle,
+ dle,
+ mPe,
+ mle,
+ Pl,
+ Woe,
+ gPe,
+ qoe,
+ yPe,
+ Xoe,
+ vPe,
+ joe,
+ xPe,
+ Koe,
+ bPe,
+ wPe,
+ TPe,
+ kPe,
+ EPe,
+ CPe,
+ Bl,
+ dI,
+ pI,
+ mI,
+ gI,
+ yI,
+ SPe,
+ APe,
+ _Pe,
+ LPe,
+ _g,
+ w0,
+ Xo,
+ DPe,
+ jo = R(() => {
+ 'use strict';
+ Ic();
+ Ic();
+ Ic();
+ Ic();
+ (hPe = Object.defineProperty),
+ (Tt = o((t, e) => hPe(t, 'name', { value: e, configurable: !0 }), '__name')),
+ (Qoe = 'Statement'),
+ (Zoe = 'Architecture');
+ o(Joe, 'isArchitecture');
+ Tt(Joe, 'isArchitecture');
+ cI = 'Branch';
+ o(ele, 'isBranch');
+ Tt(ele, 'isBranch');
+ (fPe = 'Checkout'), (dPe = 'CherryPicking'), (uI = 'Commit');
+ o(tle, 'isCommit');
+ Tt(tle, 'isCommit');
+ pPe = 'Common';
+ o(rle, 'isCommon');
+ Tt(rle, 'isCommon');
+ hI = 'GitGraph';
+ o(nle, 'isGitGraph');
+ Tt(nle, 'isGitGraph');
+ ile = 'Info';
+ o(ale, 'isInfo');
+ Tt(ale, 'isInfo');
+ fI = 'Merge';
+ o(sle, 'isMerge');
+ Tt(sle, 'isMerge');
+ ole = 'Packet';
+ o(lle, 'isPacket');
+ Tt(lle, 'isPacket');
+ cle = 'PacketBlock';
+ o(ule, 'isPacketBlock');
+ Tt(ule, 'isPacketBlock');
+ hle = 'Pie';
+ o(fle, 'isPie');
+ Tt(fle, 'isPie');
+ dle = 'PieSection';
+ o(ple, 'isPieSection');
+ Tt(ple, 'isPieSection');
+ (mPe = 'Direction'),
+ (mle = class extends Yd {
+ static {
+ o(this, 'MermaidAstReflection');
+ }
+ static {
+ Tt(this, 'MermaidAstReflection');
+ }
+ getAllTypes() {
+ return [
+ 'Architecture',
+ 'Branch',
+ 'Checkout',
+ 'CherryPicking',
+ 'Commit',
+ 'Common',
+ 'Direction',
+ 'Edge',
+ 'GitGraph',
+ 'Group',
+ 'Info',
+ 'Junction',
+ 'Merge',
+ 'Packet',
+ 'PacketBlock',
+ 'Pie',
+ 'PieSection',
+ 'Service',
+ 'Statement'
+ ];
+ }
+ computeIsSubtype(t, e) {
+ switch (t) {
+ case cI:
+ case fPe:
+ case dPe:
+ case uI:
+ case fI:
+ return this.isSubtype(Qoe, e);
+ case mPe:
+ return this.isSubtype(hI, e);
+ default:
+ return !1;
+ }
+ }
+ getReferenceType(t) {
+ let e = `${t.container.$type}:${t.property}`;
+ switch (e) {
+ default:
+ throw new Error(`${e} is not a valid reference id.`);
+ }
+ }
+ getTypeMetaData(t) {
+ switch (t) {
+ case 'Architecture':
+ return {
+ name: 'Architecture',
+ properties: [
+ { name: 'accDescr' },
+ { name: 'accTitle' },
+ { name: 'edges', defaultValue: [] },
+ { name: 'groups', defaultValue: [] },
+ { name: 'junctions', defaultValue: [] },
+ { name: 'services', defaultValue: [] },
+ { name: 'title' }
+ ]
+ };
+ case 'Branch':
+ return {
+ name: 'Branch',
+ properties: [{ name: 'name' }, { name: 'order' }]
+ };
+ case 'Checkout':
+ return { name: 'Checkout', properties: [{ name: 'branch' }] };
+ case 'CherryPicking':
+ return {
+ name: 'CherryPicking',
+ properties: [{ name: 'id' }, { name: 'parent' }, { name: 'tags', defaultValue: [] }]
+ };
+ case 'Commit':
+ return {
+ name: 'Commit',
+ properties: [
+ { name: 'id' },
+ { name: 'message' },
+ { name: 'tags', defaultValue: [] },
+ { name: 'type' }
+ ]
+ };
+ case 'Common':
+ return {
+ name: 'Common',
+ properties: [{ name: 'accDescr' }, { name: 'accTitle' }, { name: 'title' }]
+ };
+ case 'Edge':
+ return {
+ name: 'Edge',
+ properties: [
+ { name: 'lhsDir' },
+ { name: 'lhsGroup', defaultValue: !1 },
+ { name: 'lhsId' },
+ { name: 'lhsInto', defaultValue: !1 },
+ { name: 'rhsDir' },
+ { name: 'rhsGroup', defaultValue: !1 },
+ { name: 'rhsId' },
+ { name: 'rhsInto', defaultValue: !1 },
+ { name: 'title' }
+ ]
+ };
+ case 'GitGraph':
+ return {
+ name: 'GitGraph',
+ properties: [
+ { name: 'accDescr' },
+ { name: 'accTitle' },
+ { name: 'statements', defaultValue: [] },
+ { name: 'title' }
+ ]
+ };
+ case 'Group':
+ return {
+ name: 'Group',
+ properties: [{ name: 'icon' }, { name: 'id' }, { name: 'in' }, { name: 'title' }]
+ };
+ case 'Info':
+ return {
+ name: 'Info',
+ properties: [{ name: 'accDescr' }, { name: 'accTitle' }, { name: 'title' }]
+ };
+ case 'Junction':
+ return {
+ name: 'Junction',
+ properties: [{ name: 'id' }, { name: 'in' }]
+ };
+ case 'Merge':
+ return {
+ name: 'Merge',
+ properties: [
+ { name: 'branch' },
+ { name: 'id' },
+ { name: 'tags', defaultValue: [] },
+ { name: 'type' }
+ ]
+ };
+ case 'Packet':
+ return {
+ name: 'Packet',
+ properties: [
+ { name: 'accDescr' },
+ { name: 'accTitle' },
+ { name: 'blocks', defaultValue: [] },
+ { name: 'title' }
+ ]
+ };
+ case 'PacketBlock':
+ return {
+ name: 'PacketBlock',
+ properties: [{ name: 'end' }, { name: 'label' }, { name: 'start' }]
+ };
+ case 'Pie':
+ return {
+ name: 'Pie',
+ properties: [
+ { name: 'accDescr' },
+ { name: 'accTitle' },
+ { name: 'sections', defaultValue: [] },
+ { name: 'showData', defaultValue: !1 },
+ { name: 'title' }
+ ]
+ };
+ case 'PieSection':
+ return {
+ name: 'PieSection',
+ properties: [{ name: 'label' }, { name: 'value' }]
+ };
+ case 'Service':
+ return {
+ name: 'Service',
+ properties: [
+ { name: 'icon' },
+ { name: 'iconText' },
+ { name: 'id' },
+ { name: 'in' },
+ { name: 'title' }
+ ]
+ };
+ case 'Direction':
+ return {
+ name: 'Direction',
+ properties: [
+ { name: 'accDescr' },
+ { name: 'accTitle' },
+ { name: 'dir' },
+ { name: 'statements', defaultValue: [] },
+ { name: 'title' }
+ ]
+ };
+ default:
+ return { name: t, properties: [] };
+ }
+ }
+ }),
+ (Pl = new mle()),
+ (gPe = Tt(
+ () =>
+ Woe ??
+ (Woe = lf(
+ '{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'
+ )),
+ 'InfoGrammar'
+ )),
+ (yPe = Tt(
+ () =>
+ qoe ??
+ (qoe = lf(
+ `{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}`
+ )),
+ 'PacketGrammar'
+ )),
+ (vPe = Tt(
+ () =>
+ Xoe ??
+ (Xoe = lf(
+ '{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'
+ )),
+ 'PieGrammar'
+ )),
+ (xPe = Tt(
+ () =>
+ joe ??
+ (joe = lf(
+ '{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","name":"Architecture","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LeftPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RightPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Arrow","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'
+ )),
+ 'ArchitectureGrammar'
+ )),
+ (bPe = Tt(
+ () =>
+ Koe ??
+ (Koe = lf(
+ `{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`
+ )),
+ 'GitGraphGrammar'
+ )),
+ (wPe = {
+ languageId: 'info',
+ fileExtensions: ['.mmd', '.mermaid'],
+ caseInsensitive: !1
+ }),
+ (TPe = {
+ languageId: 'packet',
+ fileExtensions: ['.mmd', '.mermaid'],
+ caseInsensitive: !1
+ }),
+ (kPe = {
+ languageId: 'pie',
+ fileExtensions: ['.mmd', '.mermaid'],
+ caseInsensitive: !1
+ }),
+ (EPe = {
+ languageId: 'architecture',
+ fileExtensions: ['.mmd', '.mermaid'],
+ caseInsensitive: !1
+ }),
+ (CPe = {
+ languageId: 'gitGraph',
+ fileExtensions: ['.mmd', '.mermaid'],
+ caseInsensitive: !1
+ }),
+ (Bl = { AstReflection: Tt(() => new mle(), 'AstReflection') }),
+ (dI = {
+ Grammar: Tt(() => gPe(), 'Grammar'),
+ LanguageMetaData: Tt(() => wPe, 'LanguageMetaData'),
+ parser: {}
+ }),
+ (pI = {
+ Grammar: Tt(() => yPe(), 'Grammar'),
+ LanguageMetaData: Tt(() => TPe, 'LanguageMetaData'),
+ parser: {}
+ }),
+ (mI = {
+ Grammar: Tt(() => vPe(), 'Grammar'),
+ LanguageMetaData: Tt(() => kPe, 'LanguageMetaData'),
+ parser: {}
+ }),
+ (gI = {
+ Grammar: Tt(() => xPe(), 'Grammar'),
+ LanguageMetaData: Tt(() => EPe, 'LanguageMetaData'),
+ parser: {}
+ }),
+ (yI = {
+ Grammar: Tt(() => bPe(), 'Grammar'),
+ LanguageMetaData: Tt(() => CPe, 'LanguageMetaData'),
+ parser: {}
+ }),
+ (SPe = /accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/),
+ (APe = /accTitle[\t ]*:([^\n\r]*)/),
+ (_Pe = /title([\t ][^\n\r]*|)/),
+ (LPe = { ACC_DESCR: SPe, ACC_TITLE: APe, TITLE: _Pe }),
+ (_g = class extends y0 {
+ static {
+ o(this, 'AbstractMermaidValueConverter');
+ }
+ static {
+ Tt(this, 'AbstractMermaidValueConverter');
+ }
+ runConverter(t, e, r) {
+ let n = this.runCommonConverter(t, e, r);
+ return (
+ n === void 0 && (n = this.runCustomConverter(t, e, r)),
+ n === void 0 ? super.runConverter(t, e, r) : n
+ );
+ }
+ runCommonConverter(t, e, r) {
+ let n = LPe[t.name];
+ if (n === void 0) return;
+ let i = n.exec(e);
+ if (i !== null) {
+ if (i[1] !== void 0) return i[1].trim().replace(/[\t ]{2,}/gm, ' ');
+ if (i[2] !== void 0)
+ return i[2]
+ .replace(/^\s*/gm, '')
+ .replace(/\s+$/gm, '')
+ .replace(/[\t ]{2,}/gm, ' ')
+ .replace(
+ /[\n\r]{2,}/gm,
+ `
+`
+ );
+ }
+ }
+ }),
+ (w0 = class extends _g {
+ static {
+ o(this, 'CommonValueConverter');
+ }
+ static {
+ Tt(this, 'CommonValueConverter');
+ }
+ runCustomConverter(t, e, r) {}
+ }),
+ (Xo = class extends g0 {
+ static {
+ o(this, 'AbstractMermaidTokenBuilder');
+ }
+ static {
+ Tt(this, 'AbstractMermaidTokenBuilder');
+ }
+ constructor(t) {
+ super(), (this.keywords = new Set(t));
+ }
+ buildKeywordTokens(t, e, r) {
+ let n = super.buildKeywordTokens(t, e, r);
+ return (
+ n.forEach((i) => {
+ this.keywords.has(i.name) &&
+ i.PATTERN !== void 0 &&
+ (i.PATTERN = new RegExp(i.PATTERN.toString() + '(?:(?=%%)|(?!\\S))'));
+ }),
+ n
+ );
+ }
+ }),
+ (DPe = class extends Xo {
+ static {
+ o(this, 'CommonTokenBuilder');
+ }
+ static {
+ Tt(this, 'CommonTokenBuilder');
+ }
+ });
+ });
+ function Uk(t = go) {
+ let e = Fi(mo(t), Bl),
+ r = Fi(po({ shared: e }), yI, Vk);
+ return e.ServiceRegistry.register(r), { shared: e, GitGraph: r };
+ }
+ var RPe,
+ Vk,
+ vI = R(() => {
+ 'use strict';
+ jo();
+ Ic();
+ (RPe = class extends Xo {
+ static {
+ o(this, 'GitGraphTokenBuilder');
+ }
+ static {
+ Tt(this, 'GitGraphTokenBuilder');
+ }
+ constructor() {
+ super(['gitGraph']);
+ }
+ }),
+ (Vk = {
+ parser: {
+ TokenBuilder: Tt(() => new RPe(), 'TokenBuilder'),
+ ValueConverter: Tt(() => new w0(), 'ValueConverter')
+ }
+ });
+ o(Uk, 'createGitGraphServices');
+ Tt(Uk, 'createGitGraphServices');
+ });
+ function Yk(t = go) {
+ let e = Fi(mo(t), Bl),
+ r = Fi(po({ shared: e }), dI, Hk);
+ return e.ServiceRegistry.register(r), { shared: e, Info: r };
+ }
+ var NPe,
+ Hk,
+ xI = R(() => {
+ 'use strict';
+ jo();
+ Ic();
+ (NPe = class extends Xo {
+ static {
+ o(this, 'InfoTokenBuilder');
+ }
+ static {
+ Tt(this, 'InfoTokenBuilder');
+ }
+ constructor() {
+ super(['info', 'showInfo']);
+ }
+ }),
+ (Hk = {
+ parser: {
+ TokenBuilder: Tt(() => new NPe(), 'TokenBuilder'),
+ ValueConverter: Tt(() => new w0(), 'ValueConverter')
+ }
+ });
+ o(Yk, 'createInfoServices');
+ Tt(Yk, 'createInfoServices');
+ });
+ function qk(t = go) {
+ let e = Fi(mo(t), Bl),
+ r = Fi(po({ shared: e }), pI, Wk);
+ return e.ServiceRegistry.register(r), { shared: e, Packet: r };
+ }
+ var MPe,
+ Wk,
+ bI = R(() => {
+ 'use strict';
+ jo();
+ Ic();
+ (MPe = class extends Xo {
+ static {
+ o(this, 'PacketTokenBuilder');
+ }
+ static {
+ Tt(this, 'PacketTokenBuilder');
+ }
+ constructor() {
+ super(['packet-beta']);
+ }
+ }),
+ (Wk = {
+ parser: {
+ TokenBuilder: Tt(() => new MPe(), 'TokenBuilder'),
+ ValueConverter: Tt(() => new w0(), 'ValueConverter')
+ }
+ });
+ o(qk, 'createPacketServices');
+ Tt(qk, 'createPacketServices');
+ });
+ function jk(t = go) {
+ let e = Fi(mo(t), Bl),
+ r = Fi(po({ shared: e }), mI, Xk);
+ return e.ServiceRegistry.register(r), { shared: e, Pie: r };
+ }
+ var IPe,
+ OPe,
+ Xk,
+ wI = R(() => {
+ 'use strict';
+ jo();
+ Ic();
+ (IPe = class extends Xo {
+ static {
+ o(this, 'PieTokenBuilder');
+ }
+ static {
+ Tt(this, 'PieTokenBuilder');
+ }
+ constructor() {
+ super(['pie', 'showData']);
+ }
+ }),
+ (OPe = class extends _g {
+ static {
+ o(this, 'PieValueConverter');
+ }
+ static {
+ Tt(this, 'PieValueConverter');
+ }
+ runCustomConverter(t, e, r) {
+ if (t.name === 'PIE_SECTION_LABEL') return e.replace(/"/g, '').trim();
+ }
+ }),
+ (Xk = {
+ parser: {
+ TokenBuilder: Tt(() => new IPe(), 'TokenBuilder'),
+ ValueConverter: Tt(() => new OPe(), 'ValueConverter')
+ }
+ });
+ o(jk, 'createPieServices');
+ Tt(jk, 'createPieServices');
+ });
+ function Qk(t = go) {
+ let e = Fi(mo(t), Bl),
+ r = Fi(po({ shared: e }), gI, Kk);
+ return e.ServiceRegistry.register(r), { shared: e, Architecture: r };
+ }
+ var PPe,
+ BPe,
+ Kk,
+ TI = R(() => {
+ 'use strict';
+ jo();
+ Ic();
+ (PPe = class extends Xo {
+ static {
+ o(this, 'ArchitectureTokenBuilder');
+ }
+ static {
+ Tt(this, 'ArchitectureTokenBuilder');
+ }
+ constructor() {
+ super(['architecture']);
+ }
+ }),
+ (BPe = class extends _g {
+ static {
+ o(this, 'ArchitectureValueConverter');
+ }
+ static {
+ Tt(this, 'ArchitectureValueConverter');
+ }
+ runCustomConverter(t, e, r) {
+ if (t.name === 'ARCH_ICON') return e.replace(/[()]/g, '').trim();
+ if (t.name === 'ARCH_TEXT_ICON') return e.replace(/["()]/g, '');
+ if (t.name === 'ARCH_TITLE') return e.replace(/[[\]]/g, '').trim();
+ }
+ }),
+ (Kk = {
+ parser: {
+ TokenBuilder: Tt(() => new PPe(), 'TokenBuilder'),
+ ValueConverter: Tt(() => new BPe(), 'ValueConverter')
+ }
+ });
+ o(Qk, 'createArchitectureServices');
+ Tt(Qk, 'createArchitectureServices');
+ });
+ var gle = {};
+ hr(gle, { InfoModule: () => Hk, createInfoServices: () => Yk });
+ var yle = R(() => {
+ 'use strict';
+ xI();
+ jo();
+ });
+ var vle = {};
+ hr(vle, { PacketModule: () => Wk, createPacketServices: () => qk });
+ var xle = R(() => {
+ 'use strict';
+ bI();
+ jo();
+ });
+ var ble = {};
+ hr(ble, { PieModule: () => Xk, createPieServices: () => jk });
+ var wle = R(() => {
+ 'use strict';
+ wI();
+ jo();
+ });
+ var Tle = {};
+ hr(Tle, {
+ ArchitectureModule: () => Kk,
+ createArchitectureServices: () => Qk
+ });
+ var kle = R(() => {
+ 'use strict';
+ TI();
+ jo();
+ });
+ var Ele = {};
+ hr(Ele, { GitGraphModule: () => Vk, createGitGraphServices: () => Uk });
+ var Cle = R(() => {
+ 'use strict';
+ vI();
+ jo();
+ });
+ async function Fl(t, e) {
+ let r = FPe[t];
+ if (!r) throw new Error(`Unknown diagram type: ${t}`);
+ T0[t] || (await r());
+ let i = T0[t].parse(e);
+ if (i.lexerErrors.length > 0 || i.parserErrors.length > 0) throw new zPe(i);
+ return i.value;
+ }
+ var T0,
+ FPe,
+ zPe,
+ Lg = R(() => {
+ 'use strict';
+ vI();
+ xI();
+ bI();
+ wI();
+ TI();
+ jo();
+ (T0 = {}),
+ (FPe = {
+ info: Tt(async () => {
+ let { createInfoServices: t } = await Promise.resolve().then(() => (yle(), gle)),
+ e = t().Info.parser.LangiumParser;
+ T0.info = e;
+ }, 'info'),
+ packet: Tt(async () => {
+ let { createPacketServices: t } = await Promise.resolve().then(() => (xle(), vle)),
+ e = t().Packet.parser.LangiumParser;
+ T0.packet = e;
+ }, 'packet'),
+ pie: Tt(async () => {
+ let { createPieServices: t } = await Promise.resolve().then(() => (wle(), ble)),
+ e = t().Pie.parser.LangiumParser;
+ T0.pie = e;
+ }, 'pie'),
+ architecture: Tt(async () => {
+ let { createArchitectureServices: t } = await Promise.resolve().then(() => (kle(), Tle)),
+ e = t().Architecture.parser.LangiumParser;
+ T0.architecture = e;
+ }, 'architecture'),
+ gitGraph: Tt(async () => {
+ let { createGitGraphServices: t } = await Promise.resolve().then(() => (Cle(), Ele)),
+ e = t().GitGraph.parser.LangiumParser;
+ T0.gitGraph = e;
+ }, 'gitGraph')
+ });
+ o(Fl, 'parse');
+ Tt(Fl, 'parse');
+ zPe = class extends Error {
+ static {
+ o(this, 'MermaidParseError');
+ }
+ constructor(t) {
+ let e = t.lexerErrors.map((n) => n.message).join(`
+`),
+ r = t.parserErrors.map((n) => n.message).join(`
+`);
+ super(`Parsing failed: ${e} ${r}`), (this.result = t);
+ }
+ static {
+ Tt(this, 'MermaidParseError');
+ }
+ };
+ });
+ function cf(t, e) {
+ t.accDescr && e.setAccDescription?.(t.accDescr),
+ t.accTitle && e.setAccTitle?.(t.accTitle),
+ t.title && e.setDiagramTitle?.(t.title);
+ }
+ var sx = R(() => {
+ 'use strict';
+ o(cf, 'populateCommonDb');
+ });
+ var Hr,
+ Zk = R(() => {
+ 'use strict';
+ Hr = { NORMAL: 0, REVERSE: 1, HIGHLIGHT: 2, MERGE: 3, CHERRY_PICK: 4 };
+ });
+ var uf,
+ Jk = R(() => {
+ 'use strict';
+ uf = class {
+ constructor(e) {
+ this.init = e;
+ this.records = this.init();
+ }
+ static {
+ o(this, 'ImperativeState');
+ }
+ reset() {
+ this.records = this.init();
+ }
+ };
+ });
+ function kI() {
+ return J_({ length: 7 });
+ }
+ function $Pe(t, e) {
+ let r = Object.create(null);
+ return t.reduce((n, i) => {
+ let a = e(i);
+ return r[a] || ((r[a] = !0), n.push(i)), n;
+ }, []);
+ }
+ function Sle(t, e, r) {
+ let n = t.indexOf(e);
+ n === -1 ? t.push(r) : t.splice(n, 1, r);
+ }
+ function _le(t) {
+ let e = t.reduce((i, a) => (i.seq > a.seq ? i : a), t[0]),
+ r = '';
+ t.forEach(function (i) {
+ i === e ? (r += ' *') : (r += ' |');
+ });
+ let n = [r, e.id, e.seq];
+ for (let i in pt.records.branches) pt.records.branches.get(i) === e.id && n.push(i);
+ if ((V.debug(n.join(' ')), e.parents && e.parents.length == 2 && e.parents[0] && e.parents[1])) {
+ let i = pt.records.commits.get(e.parents[0]);
+ Sle(t, e, i), e.parents[1] && t.push(pt.records.commits.get(e.parents[1]));
+ } else {
+ if (e.parents.length == 0) return;
+ if (e.parents[0]) {
+ let i = pt.records.commits.get(e.parents[0]);
+ Sle(t, e, i);
+ }
+ }
+ (t = $Pe(t, (i) => i.id)), _le(t);
+ }
+ var GPe,
+ k0,
+ pt,
+ VPe,
+ UPe,
+ HPe,
+ YPe,
+ WPe,
+ qPe,
+ XPe,
+ Ale,
+ jPe,
+ KPe,
+ QPe,
+ ZPe,
+ JPe,
+ Lle,
+ eBe,
+ tBe,
+ rBe,
+ eE,
+ EI = R(() => {
+ 'use strict';
+ ut();
+ xr();
+ qs();
+ rr();
+ bi();
+ Zk();
+ Jk();
+ sl();
+ (GPe = mr.gitGraph),
+ (k0 = o(() => Ts({ ...GPe, ...Or().gitGraph }), 'getConfig')),
+ (pt = new uf(() => {
+ let t = k0(),
+ e = t.mainBranchName,
+ r = t.mainBranchOrder;
+ return {
+ mainBranchName: e,
+ commits: new Map(),
+ head: null,
+ branchConfig: new Map([[e, { name: e, order: r }]]),
+ branches: new Map([[e, null]]),
+ currBranch: e,
+ direction: 'LR',
+ seq: 0,
+ options: {}
+ };
+ }));
+ o(kI, 'getID');
+ o($Pe, 'uniqBy');
+ (VPe = o(function (t) {
+ pt.records.direction = t;
+ }, 'setDirection')),
+ (UPe = o(function (t) {
+ V.debug('options str', t), (t = t?.trim()), (t = t || '{}');
+ try {
+ pt.records.options = JSON.parse(t);
+ } catch (e) {
+ V.error('error while parsing gitGraph options', e.message);
+ }
+ }, 'setOptions')),
+ (HPe = o(function () {
+ return pt.records.options;
+ }, 'getOptions')),
+ (YPe = o(function (t) {
+ let e = t.msg,
+ r = t.id,
+ n = t.type,
+ i = t.tags;
+ V.info('commit', e, r, n, i), V.debug('Entering commit:', e, r, n, i);
+ let a = k0();
+ (r = We.sanitizeText(r, a)),
+ (e = We.sanitizeText(e, a)),
+ (i = i?.map((l) => We.sanitizeText(l, a)));
+ let s = {
+ id: r || pt.records.seq + '-' + kI(),
+ message: e,
+ seq: pt.records.seq++,
+ type: n ?? Hr.NORMAL,
+ tags: i ?? [],
+ parents: pt.records.head == null ? [] : [pt.records.head.id],
+ branch: pt.records.currBranch
+ };
+ (pt.records.head = s),
+ V.info('main branch', a.mainBranchName),
+ pt.records.commits.set(s.id, s),
+ pt.records.branches.set(pt.records.currBranch, s.id),
+ V.debug('in pushCommit ' + s.id);
+ }, 'commit')),
+ (WPe = o(function (t) {
+ let e = t.name,
+ r = t.order;
+ if (((e = We.sanitizeText(e, k0())), pt.records.branches.has(e)))
+ throw new Error(
+ `Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`
+ );
+ pt.records.branches.set(e, pt.records.head != null ? pt.records.head.id : null),
+ pt.records.branchConfig.set(e, { name: e, order: r }),
+ Ale(e),
+ V.debug('in createBranch');
+ }, 'branch')),
+ (qPe = o((t) => {
+ let e = t.branch,
+ r = t.id,
+ n = t.type,
+ i = t.tags,
+ a = k0();
+ (e = We.sanitizeText(e, a)), r && (r = We.sanitizeText(r, a));
+ let s = pt.records.branches.get(pt.records.currBranch),
+ l = pt.records.branches.get(e),
+ u = s ? pt.records.commits.get(s) : void 0,
+ h = l ? pt.records.commits.get(l) : void 0;
+ if (u && h && u.branch === e) throw new Error(`Cannot merge branch '${e}' into itself.`);
+ if (pt.records.currBranch === e) {
+ let p = new Error('Incorrect usage of "merge". Cannot merge a branch to itself');
+ throw (
+ ((p.hash = {
+ text: `merge ${e}`,
+ token: `merge ${e}`,
+ expected: ['branch abc']
+ }),
+ p)
+ );
+ }
+ if (u === void 0 || !u) {
+ let p = new Error(
+ `Incorrect usage of "merge". Current branch (${pt.records.currBranch})has no commits`
+ );
+ throw (
+ ((p.hash = {
+ text: `merge ${e}`,
+ token: `merge ${e}`,
+ expected: ['commit']
+ }),
+ p)
+ );
+ }
+ if (!pt.records.branches.has(e)) {
+ let p = new Error('Incorrect usage of "merge". Branch to be merged (' + e + ') does not exist');
+ throw (
+ ((p.hash = {
+ text: `merge ${e}`,
+ token: `merge ${e}`,
+ expected: [`branch ${e}`]
+ }),
+ p)
+ );
+ }
+ if (h === void 0 || !h) {
+ let p = new Error('Incorrect usage of "merge". Branch to be merged (' + e + ') has no commits');
+ throw (
+ ((p.hash = {
+ text: `merge ${e}`,
+ token: `merge ${e}`,
+ expected: ['"commit"']
+ }),
+ p)
+ );
+ }
+ if (u === h) {
+ let p = new Error('Incorrect usage of "merge". Both branches have same head');
+ throw (
+ ((p.hash = {
+ text: `merge ${e}`,
+ token: `merge ${e}`,
+ expected: ['branch abc']
+ }),
+ p)
+ );
+ }
+ if (r && pt.records.commits.has(r)) {
+ let p = new Error(
+ 'Incorrect usage of "merge". Commit with id:' +
+ r +
+ ' already exists, use different custom Id'
+ );
+ throw (
+ ((p.hash = {
+ text: `merge ${e} ${r} ${n} ${i?.join(' ')}`,
+ token: `merge ${e} ${r} ${n} ${i?.join(' ')}`,
+ expected: [`merge ${e} ${r}_UNIQUE ${n} ${i?.join(' ')}`]
+ }),
+ p)
+ );
+ }
+ let f = l || '',
+ d = {
+ id: r || `${pt.records.seq}-${kI()}`,
+ message: `merged branch ${e} into ${pt.records.currBranch}`,
+ seq: pt.records.seq++,
+ parents: pt.records.head == null ? [] : [pt.records.head.id, f],
+ branch: pt.records.currBranch,
+ type: Hr.MERGE,
+ customType: n,
+ customId: !!r,
+ tags: i ?? []
+ };
+ (pt.records.head = d),
+ pt.records.commits.set(d.id, d),
+ pt.records.branches.set(pt.records.currBranch, d.id),
+ V.debug(pt.records.branches),
+ V.debug('in mergeBranch');
+ }, 'merge')),
+ (XPe = o(function (t) {
+ let e = t.id,
+ r = t.targetId,
+ n = t.tags,
+ i = t.parent;
+ V.debug('Entering cherryPick:', e, r, n);
+ let a = k0();
+ if (
+ ((e = We.sanitizeText(e, a)),
+ (r = We.sanitizeText(r, a)),
+ (n = n?.map((u) => We.sanitizeText(u, a))),
+ (i = We.sanitizeText(i, a)),
+ !e || !pt.records.commits.has(e))
+ ) {
+ let u = new Error(
+ 'Incorrect usage of "cherryPick". Source commit id should exist and provided'
+ );
+ throw (
+ ((u.hash = {
+ text: `cherryPick ${e} ${r}`,
+ token: `cherryPick ${e} ${r}`,
+ expected: ['cherry-pick abc']
+ }),
+ u)
+ );
+ }
+ let s = pt.records.commits.get(e);
+ if (s === void 0 || !s)
+ throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');
+ if (i && !(Array.isArray(s.parents) && s.parents.includes(i)))
+ throw new Error(
+ 'Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.'
+ );
+ let l = s.branch;
+ if (s.type === Hr.MERGE && !i)
+ throw new Error(
+ 'Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.'
+ );
+ if (!r || !pt.records.commits.has(r)) {
+ if (l === pt.records.currBranch) {
+ let d = new Error(
+ 'Incorrect usage of "cherryPick". Source commit is already on current branch'
+ );
+ throw (
+ ((d.hash = {
+ text: `cherryPick ${e} ${r}`,
+ token: `cherryPick ${e} ${r}`,
+ expected: ['cherry-pick abc']
+ }),
+ d)
+ );
+ }
+ let u = pt.records.branches.get(pt.records.currBranch);
+ if (u === void 0 || !u) {
+ let d = new Error(
+ `Incorrect usage of "cherry-pick". Current branch (${pt.records.currBranch})has no commits`
+ );
+ throw (
+ ((d.hash = {
+ text: `cherryPick ${e} ${r}`,
+ token: `cherryPick ${e} ${r}`,
+ expected: ['cherry-pick abc']
+ }),
+ d)
+ );
+ }
+ let h = pt.records.commits.get(u);
+ if (h === void 0 || !h) {
+ let d = new Error(
+ `Incorrect usage of "cherry-pick". Current branch (${pt.records.currBranch})has no commits`
+ );
+ throw (
+ ((d.hash = {
+ text: `cherryPick ${e} ${r}`,
+ token: `cherryPick ${e} ${r}`,
+ expected: ['cherry-pick abc']
+ }),
+ d)
+ );
+ }
+ let f = {
+ id: pt.records.seq + '-' + kI(),
+ message: `cherry-picked ${s?.message} into ${pt.records.currBranch}`,
+ seq: pt.records.seq++,
+ parents: pt.records.head == null ? [] : [pt.records.head.id, s.id],
+ branch: pt.records.currBranch,
+ type: Hr.CHERRY_PICK,
+ tags: n
+ ? n.filter(Boolean)
+ : [`cherry-pick:${s.id}${s.type === Hr.MERGE ? `|parent:${i}` : ''}`]
+ };
+ (pt.records.head = f),
+ pt.records.commits.set(f.id, f),
+ pt.records.branches.set(pt.records.currBranch, f.id),
+ V.debug(pt.records.branches),
+ V.debug('in cherryPick');
+ }
+ }, 'cherryPick')),
+ (Ale = o(function (t) {
+ if (((t = We.sanitizeText(t, k0())), pt.records.branches.has(t))) {
+ pt.records.currBranch = t;
+ let e = pt.records.branches.get(pt.records.currBranch);
+ e === void 0 || !e
+ ? (pt.records.head = null)
+ : (pt.records.head = pt.records.commits.get(e) ?? null);
+ } else {
+ let e = new Error(
+ `Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`
+ );
+ throw (
+ ((e.hash = {
+ text: `checkout ${t}`,
+ token: `checkout ${t}`,
+ expected: [`branch ${t}`]
+ }),
+ e)
+ );
+ }
+ }, 'checkout'));
+ o(Sle, 'upsert');
+ o(_le, 'prettyPrintCommitHistory');
+ (jPe = o(function () {
+ V.debug(pt.records.commits);
+ let t = Lle()[0];
+ _le([t]);
+ }, 'prettyPrint')),
+ (KPe = o(function () {
+ pt.reset(), vr();
+ }, 'clear')),
+ (QPe = o(function () {
+ return [...pt.records.branchConfig.values()]
+ .map((e, r) =>
+ e.order !== null && e.order !== void 0 ? e : { ...e, order: parseFloat(`0.${r}`) }
+ )
+ .sort((e, r) => (e.order ?? 0) - (r.order ?? 0))
+ .map(({ name: e }) => ({ name: e }));
+ }, 'getBranchesAsObjArray')),
+ (ZPe = o(function () {
+ return pt.records.branches;
+ }, 'getBranches')),
+ (JPe = o(function () {
+ return pt.records.commits;
+ }, 'getCommits')),
+ (Lle = o(function () {
+ let t = [...pt.records.commits.values()];
+ return (
+ t.forEach(function (e) {
+ V.debug(e.id);
+ }),
+ t.sort((e, r) => e.seq - r.seq),
+ t
+ );
+ }, 'getCommitsArray')),
+ (eBe = o(function () {
+ return pt.records.currBranch;
+ }, 'getCurrentBranch')),
+ (tBe = o(function () {
+ return pt.records.direction;
+ }, 'getDirection')),
+ (rBe = o(function () {
+ return pt.records.head;
+ }, 'getHead')),
+ (eE = {
+ commitType: Hr,
+ getConfig: k0,
+ setDirection: VPe,
+ setOptions: UPe,
+ getOptions: HPe,
+ commit: YPe,
+ branch: WPe,
+ merge: qPe,
+ cherryPick: XPe,
+ checkout: Ale,
+ prettyPrint: jPe,
+ clear: KPe,
+ getBranchesAsObjArray: QPe,
+ getBranches: ZPe,
+ getCommits: JPe,
+ getCommitsArray: Lle,
+ getCurrentBranch: eBe,
+ getDirection: tBe,
+ getHead: rBe,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr
+ });
+ });
+ var nBe,
+ iBe,
+ aBe,
+ sBe,
+ oBe,
+ lBe,
+ cBe,
+ Dle,
+ Rle = R(() => {
+ 'use strict';
+ Lg();
+ ut();
+ sx();
+ EI();
+ Zk();
+ (nBe = o((t, e) => {
+ cf(t, e), t.dir && e.setDirection(t.dir);
+ for (let r of t.statements) iBe(r, e);
+ }, 'populate')),
+ (iBe = o((t, e) => {
+ let n = {
+ Commit: o((i) => e.commit(aBe(i)), 'Commit'),
+ Branch: o((i) => e.branch(sBe(i)), 'Branch'),
+ Merge: o((i) => e.merge(oBe(i)), 'Merge'),
+ Checkout: o((i) => e.checkout(lBe(i)), 'Checkout'),
+ CherryPicking: o((i) => e.cherryPick(cBe(i)), 'CherryPicking')
+ }[t.$type];
+ n ? n(t) : V.error(`Unknown statement type: ${t.$type}`);
+ }, 'parseStatement')),
+ (aBe = o(
+ (t) => ({
+ id: t.id,
+ msg: t.message ?? '',
+ type: t.type !== void 0 ? Hr[t.type] : Hr.NORMAL,
+ tags: t.tags ?? void 0
+ }),
+ 'parseCommit'
+ )),
+ (sBe = o((t) => ({ name: t.name, order: t.order ?? 0 }), 'parseBranch')),
+ (oBe = o(
+ (t) => ({
+ branch: t.branch,
+ id: t.id ?? '',
+ type: t.type !== void 0 ? Hr[t.type] : void 0,
+ tags: t.tags ?? void 0
+ }),
+ 'parseMerge'
+ )),
+ (lBe = o((t) => t.branch, 'parseCheckout')),
+ (cBe = o(
+ (t) => ({
+ id: t.id,
+ targetId: '',
+ tags: t.tags?.length === 0 ? void 0 : t.tags,
+ parent: t.parent
+ }),
+ 'parseCherryPicking'
+ )),
+ (Dle = {
+ parse: o(async (t) => {
+ let e = await Fl('gitGraph', t);
+ V.debug(e), nBe(e, eE);
+ }, 'parse')
+ });
+ });
+ var uBe,
+ Ko,
+ ff,
+ df,
+ Oc,
+ Hu,
+ E0,
+ Is,
+ Os,
+ tE,
+ ox,
+ rE,
+ hf,
+ Tr,
+ hBe,
+ Mle,
+ Ile,
+ fBe,
+ dBe,
+ pBe,
+ mBe,
+ gBe,
+ yBe,
+ vBe,
+ xBe,
+ bBe,
+ wBe,
+ TBe,
+ kBe,
+ Nle,
+ EBe,
+ lx,
+ CBe,
+ SBe,
+ ABe,
+ _Be,
+ LBe,
+ Ole,
+ Ple = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ ut();
+ xr();
+ Zk();
+ (uBe = de()),
+ (Ko = uBe?.gitGraph),
+ (ff = 10),
+ (df = 40),
+ (Oc = 4),
+ (Hu = 2),
+ (E0 = 8),
+ (Is = new Map()),
+ (Os = new Map()),
+ (tE = 30),
+ (ox = new Map()),
+ (rE = []),
+ (hf = 0),
+ (Tr = 'LR'),
+ (hBe = o(() => {
+ Is.clear(), Os.clear(), ox.clear(), (hf = 0), (rE = []), (Tr = 'LR');
+ }, 'clear')),
+ (Mle = o((t) => {
+ let e = document.createElementNS('http://www.w3.org/2000/svg', 'text');
+ return (
+ (typeof t == 'string' ? t.split(/\\n|\n|
/gi) : t).forEach((n) => {
+ let i = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ i.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'),
+ i.setAttribute('dy', '1em'),
+ i.setAttribute('x', '0'),
+ i.setAttribute('class', 'row'),
+ (i.textContent = n.trim()),
+ e.appendChild(i);
+ }),
+ e
+ );
+ }, 'drawText')),
+ (Ile = o((t) => {
+ let e, r, n;
+ return (
+ Tr === 'BT'
+ ? ((r = o((i, a) => i <= a, 'comparisonFunc')), (n = 1 / 0))
+ : ((r = o((i, a) => i >= a, 'comparisonFunc')), (n = 0)),
+ t.forEach((i) => {
+ let a = Tr === 'TB' || Tr == 'BT' ? Os.get(i)?.y : Os.get(i)?.x;
+ a !== void 0 && r(a, n) && ((e = i), (n = a));
+ }),
+ e
+ );
+ }, 'findClosestParent')),
+ (fBe = o((t) => {
+ let e = '',
+ r = 1 / 0;
+ return (
+ t.forEach((n) => {
+ let i = Os.get(n).y;
+ i <= r && ((e = n), (r = i));
+ }),
+ e || void 0
+ );
+ }, 'findClosestParentBT')),
+ (dBe = o((t, e, r) => {
+ let n = r,
+ i = r,
+ a = [];
+ t.forEach((s) => {
+ let l = e.get(s);
+ if (!l) throw new Error(`Commit not found for key ${s}`);
+ l.parents.length ? ((n = mBe(l)), (i = Math.max(n, i))) : a.push(l), gBe(l, n);
+ }),
+ (n = i),
+ a.forEach((s) => {
+ yBe(s, n, r);
+ }),
+ t.forEach((s) => {
+ let l = e.get(s);
+ if (l?.parents.length) {
+ let u = fBe(l.parents);
+ (n = Os.get(u).y - df), n <= i && (i = n);
+ let h = Is.get(l.branch).pos,
+ f = n - ff;
+ Os.set(l.id, { x: h, y: f });
+ }
+ });
+ }, 'setParallelBTPos')),
+ (pBe = o((t) => {
+ let e = Ile(t.parents.filter((n) => n !== null));
+ if (!e) throw new Error(`Closest parent not found for commit ${t.id}`);
+ let r = Os.get(e)?.y;
+ if (r === void 0) throw new Error(`Closest parent position not found for commit ${t.id}`);
+ return r;
+ }, 'findClosestParentPos')),
+ (mBe = o((t) => pBe(t) + df, 'calculateCommitPosition')),
+ (gBe = o((t, e) => {
+ let r = Is.get(t.branch);
+ if (!r) throw new Error(`Branch not found for commit ${t.id}`);
+ let n = r.pos,
+ i = e + ff;
+ return Os.set(t.id, { x: n, y: i }), { x: n, y: i };
+ }, 'setCommitPosition')),
+ (yBe = o((t, e, r) => {
+ let n = Is.get(t.branch);
+ if (!n) throw new Error(`Branch not found for commit ${t.id}`);
+ let i = e + r,
+ a = n.pos;
+ Os.set(t.id, { x: a, y: i });
+ }, 'setRootPosition')),
+ (vBe = o((t, e, r, n, i, a) => {
+ if (a === Hr.HIGHLIGHT)
+ t
+ .append('rect')
+ .attr('x', r.x - 10)
+ .attr('y', r.y - 10)
+ .attr('width', 20)
+ .attr('height', 20)
+ .attr('class', `commit ${e.id} commit-highlight${i % E0} ${n}-outer`),
+ t
+ .append('rect')
+ .attr('x', r.x - 6)
+ .attr('y', r.y - 6)
+ .attr('width', 12)
+ .attr('height', 12)
+ .attr('class', `commit ${e.id} commit${i % E0} ${n}-inner`);
+ else if (a === Hr.CHERRY_PICK)
+ t
+ .append('circle')
+ .attr('cx', r.x)
+ .attr('cy', r.y)
+ .attr('r', 10)
+ .attr('class', `commit ${e.id} ${n}`),
+ t
+ .append('circle')
+ .attr('cx', r.x - 3)
+ .attr('cy', r.y + 2)
+ .attr('r', 2.75)
+ .attr('fill', '#fff')
+ .attr('class', `commit ${e.id} ${n}`),
+ t
+ .append('circle')
+ .attr('cx', r.x + 3)
+ .attr('cy', r.y + 2)
+ .attr('r', 2.75)
+ .attr('fill', '#fff')
+ .attr('class', `commit ${e.id} ${n}`),
+ t
+ .append('line')
+ .attr('x1', r.x + 3)
+ .attr('y1', r.y + 1)
+ .attr('x2', r.x)
+ .attr('y2', r.y - 5)
+ .attr('stroke', '#fff')
+ .attr('class', `commit ${e.id} ${n}`),
+ t
+ .append('line')
+ .attr('x1', r.x - 3)
+ .attr('y1', r.y + 1)
+ .attr('x2', r.x)
+ .attr('y2', r.y - 5)
+ .attr('stroke', '#fff')
+ .attr('class', `commit ${e.id} ${n}`);
+ else {
+ let s = t.append('circle');
+ if (
+ (s.attr('cx', r.x),
+ s.attr('cy', r.y),
+ s.attr('r', e.type === Hr.MERGE ? 9 : 10),
+ s.attr('class', `commit ${e.id} commit${i % E0}`),
+ a === Hr.MERGE)
+ ) {
+ let l = t.append('circle');
+ l.attr('cx', r.x),
+ l.attr('cy', r.y),
+ l.attr('r', 6),
+ l.attr('class', `commit ${n} ${e.id} commit${i % E0}`);
+ }
+ a === Hr.REVERSE &&
+ t
+ .append('path')
+ .attr(
+ 'd',
+ `M ${r.x - 5},${r.y - 5}L${r.x + 5},${r.y + 5}M${r.x - 5},${r.y + 5}L${r.x + 5},${
+ r.y - 5
+ }`
+ )
+ .attr('class', `commit ${n} ${e.id} commit${i % E0}`);
+ }
+ }, 'drawCommitBullet')),
+ (xBe = o((t, e, r, n) => {
+ if (
+ e.type !== Hr.CHERRY_PICK &&
+ ((e.customId && e.type === Hr.MERGE) || e.type !== Hr.MERGE) &&
+ Ko?.showCommitLabel
+ ) {
+ let i = t.append('g'),
+ a = i.insert('rect').attr('class', 'commit-label-bkg'),
+ s = i
+ .append('text')
+ .attr('x', n)
+ .attr('y', r.y + 25)
+ .attr('class', 'commit-label')
+ .text(e.id),
+ l = s.node()?.getBBox();
+ if (
+ l &&
+ (a
+ .attr('x', r.posWithOffset - l.width / 2 - Hu)
+ .attr('y', r.y + 13.5)
+ .attr('width', l.width + 2 * Hu)
+ .attr('height', l.height + 2 * Hu),
+ Tr === 'TB' || Tr === 'BT'
+ ? (a.attr('x', r.x - (l.width + 4 * Oc + 5)).attr('y', r.y - 12),
+ s.attr('x', r.x - (l.width + 4 * Oc)).attr('y', r.y + l.height - 12))
+ : s.attr('x', r.posWithOffset - l.width / 2),
+ Ko.rotateCommitLabel)
+ )
+ if (Tr === 'TB' || Tr === 'BT')
+ s.attr('transform', 'rotate(-45, ' + r.x + ', ' + r.y + ')'),
+ a.attr('transform', 'rotate(-45, ' + r.x + ', ' + r.y + ')');
+ else {
+ let u = -7.5 - ((l.width + 10) / 25) * 9.5,
+ h = 10 + (l.width / 25) * 8.5;
+ i.attr(
+ 'transform',
+ 'translate(' + u + ', ' + h + ') rotate(-45, ' + n + ', ' + r.y + ')'
+ );
+ }
+ }
+ }, 'drawCommitLabel')),
+ (bBe = o((t, e, r, n) => {
+ if (e.tags.length > 0) {
+ let i = 0,
+ a = 0,
+ s = 0,
+ l = [];
+ for (let u of e.tags.reverse()) {
+ let h = t.insert('polygon'),
+ f = t.append('circle'),
+ d = t
+ .append('text')
+ .attr('y', r.y - 16 - i)
+ .attr('class', 'tag-label')
+ .text(u),
+ p = d.node()?.getBBox();
+ if (!p) throw new Error('Tag bbox not found');
+ (a = Math.max(a, p.width)),
+ (s = Math.max(s, p.height)),
+ d.attr('x', r.posWithOffset - p.width / 2),
+ l.push({ tag: d, hole: f, rect: h, yOffset: i }),
+ (i += 20);
+ }
+ for (let { tag: u, hole: h, rect: f, yOffset: d } of l) {
+ let p = s / 2,
+ m = r.y - 19.2 - d;
+ if (
+ (f.attr('class', 'tag-label-bkg').attr(
+ 'points',
+ `
+ ${n - a / 2 - Oc / 2},${m + Hu}
+ ${n - a / 2 - Oc / 2},${m - Hu}
+ ${r.posWithOffset - a / 2 - Oc},${m - p - Hu}
+ ${r.posWithOffset + a / 2 + Oc},${m - p - Hu}
+ ${r.posWithOffset + a / 2 + Oc},${m + p + Hu}
+ ${r.posWithOffset - a / 2 - Oc},${m + p + Hu}`
+ ),
+ h
+ .attr('cy', m)
+ .attr('cx', n - a / 2 + Oc / 2)
+ .attr('r', 1.5)
+ .attr('class', 'tag-hole'),
+ Tr === 'TB' || Tr === 'BT')
+ ) {
+ let g = n + d;
+ f
+ .attr('class', 'tag-label-bkg')
+ .attr(
+ 'points',
+ `
+ ${r.x},${g + 2}
+ ${r.x},${g - 2}
+ ${r.x + ff},${g - p - 2}
+ ${r.x + ff + a + 4},${g - p - 2}
+ ${r.x + ff + a + 4},${g + p + 2}
+ ${r.x + ff},${g + p + 2}`
+ )
+ .attr('transform', 'translate(12,12) rotate(45, ' + r.x + ',' + n + ')'),
+ h
+ .attr('cx', r.x + Oc / 2)
+ .attr('cy', g)
+ .attr('transform', 'translate(12,12) rotate(45, ' + r.x + ',' + n + ')'),
+ u
+ .attr('x', r.x + 5)
+ .attr('y', g + 3)
+ .attr('transform', 'translate(14,14) rotate(45, ' + r.x + ',' + n + ')');
+ }
+ }
+ }
+ }, 'drawCommitTags')),
+ (wBe = o((t) => {
+ switch (t.customType ?? t.type) {
+ case Hr.NORMAL:
+ return 'commit-normal';
+ case Hr.REVERSE:
+ return 'commit-reverse';
+ case Hr.HIGHLIGHT:
+ return 'commit-highlight';
+ case Hr.MERGE:
+ return 'commit-merge';
+ case Hr.CHERRY_PICK:
+ return 'commit-cherry-pick';
+ default:
+ return 'commit-normal';
+ }
+ }, 'getCommitClassType')),
+ (TBe = o((t, e, r, n) => {
+ let i = { x: 0, y: 0 };
+ if (t.parents.length > 0) {
+ let a = Ile(t.parents);
+ if (a) {
+ let s = n.get(a) ?? i;
+ return e === 'TB' ? s.y + df : e === 'BT' ? (n.get(t.id) ?? i).y - df : s.x + df;
+ }
+ } else return e === 'TB' ? tE : e === 'BT' ? (n.get(t.id) ?? i).y - df : 0;
+ return 0;
+ }, 'calculatePosition')),
+ (kBe = o((t, e, r) => {
+ let n = Tr === 'BT' && r ? e : e + ff,
+ i = Tr === 'TB' || Tr === 'BT' ? n : Is.get(t.branch)?.pos,
+ a = Tr === 'TB' || Tr === 'BT' ? Is.get(t.branch)?.pos : n;
+ if (a === void 0 || i === void 0) throw new Error(`Position were undefined for commit ${t.id}`);
+ return { x: a, y: i, posWithOffset: n };
+ }, 'getCommitPosition')),
+ (Nle = o((t, e, r) => {
+ if (!Ko) throw new Error('GitGraph config not found');
+ let n = t.append('g').attr('class', 'commit-bullets'),
+ i = t.append('g').attr('class', 'commit-labels'),
+ a = Tr === 'TB' || Tr === 'BT' ? tE : 0,
+ s = [...e.keys()],
+ l = Ko?.parallelCommits ?? !1,
+ u = o((f, d) => {
+ let p = e.get(f)?.seq,
+ m = e.get(d)?.seq;
+ return p !== void 0 && m !== void 0 ? p - m : 0;
+ }, 'sortKeys'),
+ h = s.sort(u);
+ Tr === 'BT' && (l && dBe(h, e, a), (h = h.reverse())),
+ h.forEach((f) => {
+ let d = e.get(f);
+ if (!d) throw new Error(`Commit not found for key ${f}`);
+ l && (a = TBe(d, Tr, a, Os));
+ let p = kBe(d, a, l);
+ if (r) {
+ let m = wBe(d),
+ g = d.customType ?? d.type,
+ y = Is.get(d.branch)?.index ?? 0;
+ vBe(n, d, p, m, y, g), xBe(i, d, p, a), bBe(i, d, p, a);
+ }
+ Tr === 'TB' || Tr === 'BT'
+ ? Os.set(d.id, { x: p.x, y: p.posWithOffset })
+ : Os.set(d.id, { x: p.posWithOffset, y: p.y }),
+ (a = Tr === 'BT' && l ? a + df : a + df + ff),
+ a > hf && (hf = a);
+ });
+ }, 'drawCommits')),
+ (EBe = o((t, e, r, n, i) => {
+ let s = (Tr === 'TB' || Tr === 'BT' ? r.x < n.x : r.y < n.y) ? e.branch : t.branch,
+ l = o((h) => h.branch === s, 'isOnBranchToGetCurve'),
+ u = o((h) => h.seq > t.seq && h.seq < e.seq, 'isBetweenCommits');
+ return [...i.values()].some((h) => u(h) && l(h));
+ }, 'shouldRerouteArrow')),
+ (lx = o((t, e, r = 0) => {
+ let n = t + Math.abs(t - e) / 2;
+ if (r > 5) return n;
+ if (rE.every((s) => Math.abs(s - n) >= 10)) return rE.push(n), n;
+ let a = Math.abs(t - e);
+ return lx(t, e - a / 5, r + 1);
+ }, 'findLane')),
+ (CBe = o((t, e, r, n) => {
+ let i = Os.get(e.id),
+ a = Os.get(r.id);
+ if (i === void 0 || a === void 0)
+ throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);
+ let s = EBe(e, r, i, a, n),
+ l = '',
+ u = '',
+ h = 0,
+ f = 0,
+ d = Is.get(r.branch)?.index;
+ r.type === Hr.MERGE && e.id !== r.parents[0] && (d = Is.get(e.branch)?.index);
+ let p;
+ if (s) {
+ (l = 'A 10 10, 0, 0, 0,'), (u = 'A 10 10, 0, 0, 1,'), (h = 10), (f = 10);
+ let m = i.y < a.y ? lx(i.y, a.y) : lx(a.y, i.y),
+ g = i.x < a.x ? lx(i.x, a.x) : lx(a.x, i.x);
+ Tr === 'TB'
+ ? i.x < a.x
+ ? (p = `M ${i.x} ${i.y} L ${g - h} ${i.y} ${u} ${g} ${i.y + f} L ${g} ${a.y - h} ${l} ${
+ g + f
+ } ${a.y} L ${a.x} ${a.y}`)
+ : ((d = Is.get(e.branch)?.index),
+ (p = `M ${i.x} ${i.y} L ${g + h} ${i.y} ${l} ${g} ${i.y + f} L ${g} ${a.y - h} ${u} ${
+ g - f
+ } ${a.y} L ${a.x} ${a.y}`))
+ : Tr === 'BT'
+ ? i.x < a.x
+ ? (p = `M ${i.x} ${i.y} L ${g - h} ${i.y} ${l} ${g} ${i.y - f} L ${g} ${a.y + h} ${u} ${
+ g + f
+ } ${a.y} L ${a.x} ${a.y}`)
+ : ((d = Is.get(e.branch)?.index),
+ (p = `M ${i.x} ${i.y} L ${g + h} ${i.y} ${u} ${g} ${i.y - f} L ${g} ${a.y + h} ${l} ${
+ g - f
+ } ${a.y} L ${a.x} ${a.y}`))
+ : i.y < a.y
+ ? (p = `M ${i.x} ${i.y} L ${i.x} ${m - h} ${l} ${i.x + f} ${m} L ${a.x - h} ${m} ${u} ${
+ a.x
+ } ${m + f} L ${a.x} ${a.y}`)
+ : ((d = Is.get(e.branch)?.index),
+ (p = `M ${i.x} ${i.y} L ${i.x} ${m + h} ${u} ${i.x + f} ${m} L ${a.x - h} ${m} ${l} ${
+ a.x
+ } ${m - f} L ${a.x} ${a.y}`));
+ } else
+ (l = 'A 20 20, 0, 0, 0,'),
+ (u = 'A 20 20, 0, 0, 1,'),
+ (h = 20),
+ (f = 20),
+ Tr === 'TB'
+ ? (i.x < a.x &&
+ (r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${l} ${i.x + f} ${a.y} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${u} ${a.x} ${i.y + f} L ${a.x} ${
+ a.y
+ }`)),
+ i.x > a.x &&
+ ((l = 'A 20 20, 0, 0, 0,'),
+ (u = 'A 20 20, 0, 0, 1,'),
+ (h = 20),
+ (f = 20),
+ r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${u} ${i.x - f} ${a.y} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${a.x + h} ${i.y} ${l} ${a.x} ${i.y + f} L ${a.x} ${
+ a.y
+ }`)),
+ i.x === a.x && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`))
+ : Tr === 'BT'
+ ? (i.x < a.x &&
+ (r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${u} ${i.x + f} ${a.y} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${
+ a.y
+ }`)),
+ i.x > a.x &&
+ ((l = 'A 20 20, 0, 0, 0,'),
+ (u = 'A 20 20, 0, 0, 1,'),
+ (h = 20),
+ (f = 20),
+ r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${l} ${i.x - f} ${a.y} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${
+ a.y
+ }`)),
+ i.x === a.x && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`))
+ : (i.y < a.y &&
+ (r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${u} ${a.x} ${i.y + f} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${l} ${i.x + f} ${a.y} L ${a.x} ${
+ a.y
+ }`)),
+ i.y > a.y &&
+ (r.type === Hr.MERGE && e.id !== r.parents[0]
+ ? (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${
+ a.y
+ }`)
+ : (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${u} ${i.x + f} ${a.y} L ${a.x} ${
+ a.y
+ }`)),
+ i.y === a.y && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`));
+ if (p === void 0) throw new Error('Line definition not found');
+ t.append('path')
+ .attr('d', p)
+ .attr('class', 'arrow arrow' + (d % E0));
+ }, 'drawArrow')),
+ (SBe = o((t, e) => {
+ let r = t.append('g').attr('class', 'commit-arrows');
+ [...e.keys()].forEach((n) => {
+ let i = e.get(n);
+ i.parents &&
+ i.parents.length > 0 &&
+ i.parents.forEach((a) => {
+ CBe(r, e.get(a), i, e);
+ });
+ });
+ }, 'drawArrows')),
+ (ABe = o((t, e) => {
+ let r = t.append('g');
+ e.forEach((n, i) => {
+ let a = i % E0,
+ s = Is.get(n.name)?.pos;
+ if (s === void 0) throw new Error(`Position not found for branch ${n.name}`);
+ let l = r.append('line');
+ l.attr('x1', 0),
+ l.attr('y1', s),
+ l.attr('x2', hf),
+ l.attr('y2', s),
+ l.attr('class', 'branch branch' + a),
+ Tr === 'TB'
+ ? (l.attr('y1', tE), l.attr('x1', s), l.attr('y2', hf), l.attr('x2', s))
+ : Tr === 'BT' && (l.attr('y1', hf), l.attr('x1', s), l.attr('y2', tE), l.attr('x2', s)),
+ rE.push(s);
+ let u = n.name,
+ h = Mle(u),
+ f = r.insert('rect'),
+ p = r
+ .insert('g')
+ .attr('class', 'branchLabel')
+ .insert('g')
+ .attr('class', 'label branch-label' + a);
+ p.node().appendChild(h);
+ let m = h.getBBox();
+ f
+ .attr('class', 'branchLabelBkg label' + a)
+ .attr('rx', 4)
+ .attr('ry', 4)
+ .attr('x', -m.width - 4 - (Ko?.rotateCommitLabel === !0 ? 30 : 0))
+ .attr('y', -m.height / 2 + 8)
+ .attr('width', m.width + 18)
+ .attr('height', m.height + 4),
+ p.attr(
+ 'transform',
+ 'translate(' +
+ (-m.width - 14 - (Ko?.rotateCommitLabel === !0 ? 30 : 0)) +
+ ', ' +
+ (s - m.height / 2 - 1) +
+ ')'
+ ),
+ Tr === 'TB'
+ ? (f.attr('x', s - m.width / 2 - 10).attr('y', 0),
+ p.attr('transform', 'translate(' + (s - m.width / 2 - 5) + ', 0)'))
+ : Tr === 'BT'
+ ? (f.attr('x', s - m.width / 2 - 10).attr('y', hf),
+ p.attr('transform', 'translate(' + (s - m.width / 2 - 5) + ', ' + hf + ')'))
+ : f.attr('transform', 'translate(-19, ' + (s - m.height / 2) + ')');
+ });
+ }, 'drawBranches')),
+ (_Be = o(function (t, e, r, n, i) {
+ return (
+ Is.set(t, { pos: e, index: r }),
+ (e += 50 + (i ? 40 : 0) + (Tr === 'TB' || Tr === 'BT' ? n.width / 2 : 0)),
+ e
+ );
+ }, 'setBranchPosition')),
+ (LBe = o(function (t, e, r, n) {
+ if (
+ (hBe(),
+ V.debug(
+ 'in gitgraph renderer',
+ t +
+ `
+`,
+ 'id:',
+ e,
+ r
+ ),
+ !Ko)
+ )
+ throw new Error('GitGraph config not found');
+ let i = Ko.rotateCommitLabel ?? !1,
+ a = n.db;
+ ox = a.getCommits();
+ let s = a.getBranchesAsObjArray();
+ Tr = a.getDirection();
+ let l = $e(`[id="${e}"]`),
+ u = 0;
+ s.forEach((h, f) => {
+ let d = Mle(h.name),
+ p = l.append('g'),
+ m = p.insert('g').attr('class', 'branchLabel'),
+ g = m.insert('g').attr('class', 'label branch-label');
+ g.node()?.appendChild(d);
+ let y = d.getBBox();
+ (u = _Be(h.name, u, f, y, i)), g.remove(), m.remove(), p.remove();
+ }),
+ Nle(l, ox, !1),
+ Ko.showBranches && ABe(l, s),
+ SBe(l, ox),
+ Nle(l, ox, !0),
+ Lt.insertTitle(l, 'gitTitleText', Ko.titleTopMargin ?? 0, a.getDiagramTitle()),
+ aS(void 0, l, Ko.diagramPadding, Ko.useMaxWidth);
+ }, 'draw')),
+ (Ole = { draw: LBe });
+ });
+ var DBe,
+ Ble,
+ Fle = R(() => {
+ 'use strict';
+ (DBe = o(
+ (t) => `
+ .commit-id,
+ .commit-msg,
+ .branch-label {
+ fill: lightgrey;
+ color: lightgrey;
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
+ font-family: var(--mermaid-font-family);
+ }
+ ${[0, 1, 2, 3, 4, 5, 6, 7].map(
+ (e) => `
+ .branch-label${e} { fill: ${t['gitBranchLabel' + e]}; }
+ .commit${e} { stroke: ${t['git' + e]}; fill: ${t['git' + e]}; }
+ .commit-highlight${e} { stroke: ${t['gitInv' + e]}; fill: ${t['gitInv' + e]}; }
+ .label${e} { fill: ${t['git' + e]}; }
+ .arrow${e} { stroke: ${t['git' + e]}; }
+ `
+ ).join(`
+`)}
+
+ .branch {
+ stroke-width: 1;
+ stroke: ${t.lineColor};
+ stroke-dasharray: 2;
+ }
+ .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}
+ .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }
+ .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
+ .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }
+ .tag-hole { fill: ${t.textColor}; }
+
+ .commit-merge {
+ stroke: ${t.primaryColor};
+ fill: ${t.primaryColor};
+ }
+ .commit-reverse {
+ stroke: ${t.primaryColor};
+ fill: ${t.primaryColor};
+ stroke-width: 3;
+ }
+ .commit-highlight-outer {
+ }
+ .commit-highlight-inner {
+ stroke: ${t.primaryColor};
+ fill: ${t.primaryColor};
+ }
+
+ .arrow { stroke-width: 8; stroke-linecap: round; fill: none}
+ .gitTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+ }
+`,
+ 'getStyles'
+ )),
+ (Ble = DBe);
+ });
+ var zle = {};
+ hr(zle, { diagram: () => RBe });
+ var RBe,
+ Gle = R(() => {
+ 'use strict';
+ Rle();
+ EI();
+ Ple();
+ Fle();
+ RBe = { parser: Dle, db: eE, renderer: Ole, styles: Ble };
+ });
+ var CI,
+ Ule,
+ Hle = R(() => {
+ 'use strict';
+ CI = (function () {
+ var t = o(function (I, C, O, D) {
+ for (O = O || {}, D = I.length; D--; O[I[D]] = C);
+ return O;
+ }, 'o'),
+ e = [
+ 6, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35,
+ 36, 38, 40
+ ],
+ r = [1, 26],
+ n = [1, 27],
+ i = [1, 28],
+ a = [1, 29],
+ s = [1, 30],
+ l = [1, 31],
+ u = [1, 32],
+ h = [1, 33],
+ f = [1, 34],
+ d = [1, 9],
+ p = [1, 10],
+ m = [1, 11],
+ g = [1, 12],
+ y = [1, 13],
+ v = [1, 14],
+ x = [1, 15],
+ b = [1, 16],
+ w = [1, 19],
+ S = [1, 20],
+ T = [1, 21],
+ E = [1, 22],
+ _ = [1, 23],
+ A = [1, 25],
+ L = [1, 35],
+ M = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ gantt: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NL: 10,
+ weekday: 11,
+ weekday_monday: 12,
+ weekday_tuesday: 13,
+ weekday_wednesday: 14,
+ weekday_thursday: 15,
+ weekday_friday: 16,
+ weekday_saturday: 17,
+ weekday_sunday: 18,
+ weekend: 19,
+ weekend_friday: 20,
+ weekend_saturday: 21,
+ dateFormat: 22,
+ inclusiveEndDates: 23,
+ topAxis: 24,
+ axisFormat: 25,
+ tickInterval: 26,
+ excludes: 27,
+ includes: 28,
+ todayMarker: 29,
+ title: 30,
+ acc_title: 31,
+ acc_title_value: 32,
+ acc_descr: 33,
+ acc_descr_value: 34,
+ acc_descr_multiline_value: 35,
+ section: 36,
+ clickStatement: 37,
+ taskTxt: 38,
+ taskData: 39,
+ click: 40,
+ callbackname: 41,
+ callbackargs: 42,
+ href: 43,
+ clickStatementDebug: 44,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'gantt',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NL',
+ 12: 'weekday_monday',
+ 13: 'weekday_tuesday',
+ 14: 'weekday_wednesday',
+ 15: 'weekday_thursday',
+ 16: 'weekday_friday',
+ 17: 'weekday_saturday',
+ 18: 'weekday_sunday',
+ 20: 'weekend_friday',
+ 21: 'weekend_saturday',
+ 22: 'dateFormat',
+ 23: 'inclusiveEndDates',
+ 24: 'topAxis',
+ 25: 'axisFormat',
+ 26: 'tickInterval',
+ 27: 'excludes',
+ 28: 'includes',
+ 29: 'todayMarker',
+ 30: 'title',
+ 31: 'acc_title',
+ 32: 'acc_title_value',
+ 33: 'acc_descr',
+ 34: 'acc_descr_value',
+ 35: 'acc_descr_multiline_value',
+ 36: 'section',
+ 38: 'taskTxt',
+ 39: 'taskData',
+ 40: 'click',
+ 41: 'callbackname',
+ 42: 'callbackargs',
+ 43: 'href'
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [19, 1],
+ [19, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [37, 2],
+ [37, 3],
+ [37, 3],
+ [37, 4],
+ [37, 3],
+ [37, 4],
+ [37, 2],
+ [44, 2],
+ [44, 3],
+ [44, 3],
+ [44, 4],
+ [44, 3],
+ [44, 4],
+ [44, 2]
+ ],
+ performAction: o(function (C, O, D, P, F, B, $) {
+ var z = B.length - 1;
+ switch (F) {
+ case 1:
+ return B[z - 1];
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ B[z - 1].push(B[z]), (this.$ = B[z - 1]);
+ break;
+ case 4:
+ case 5:
+ this.$ = B[z];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ P.setWeekday('monday');
+ break;
+ case 9:
+ P.setWeekday('tuesday');
+ break;
+ case 10:
+ P.setWeekday('wednesday');
+ break;
+ case 11:
+ P.setWeekday('thursday');
+ break;
+ case 12:
+ P.setWeekday('friday');
+ break;
+ case 13:
+ P.setWeekday('saturday');
+ break;
+ case 14:
+ P.setWeekday('sunday');
+ break;
+ case 15:
+ P.setWeekend('friday');
+ break;
+ case 16:
+ P.setWeekend('saturday');
+ break;
+ case 17:
+ P.setDateFormat(B[z].substr(11)), (this.$ = B[z].substr(11));
+ break;
+ case 18:
+ P.enableInclusiveEndDates(), (this.$ = B[z].substr(18));
+ break;
+ case 19:
+ P.TopAxis(), (this.$ = B[z].substr(8));
+ break;
+ case 20:
+ P.setAxisFormat(B[z].substr(11)), (this.$ = B[z].substr(11));
+ break;
+ case 21:
+ P.setTickInterval(B[z].substr(13)), (this.$ = B[z].substr(13));
+ break;
+ case 22:
+ P.setExcludes(B[z].substr(9)), (this.$ = B[z].substr(9));
+ break;
+ case 23:
+ P.setIncludes(B[z].substr(9)), (this.$ = B[z].substr(9));
+ break;
+ case 24:
+ P.setTodayMarker(B[z].substr(12)), (this.$ = B[z].substr(12));
+ break;
+ case 27:
+ P.setDiagramTitle(B[z].substr(6)), (this.$ = B[z].substr(6));
+ break;
+ case 28:
+ (this.$ = B[z].trim()), P.setAccTitle(this.$);
+ break;
+ case 29:
+ case 30:
+ (this.$ = B[z].trim()), P.setAccDescription(this.$);
+ break;
+ case 31:
+ P.addSection(B[z].substr(8)), (this.$ = B[z].substr(8));
+ break;
+ case 33:
+ P.addTask(B[z - 1], B[z]), (this.$ = 'task');
+ break;
+ case 34:
+ (this.$ = B[z - 1]), P.setClickEvent(B[z - 1], B[z], null);
+ break;
+ case 35:
+ (this.$ = B[z - 2]), P.setClickEvent(B[z - 2], B[z - 1], B[z]);
+ break;
+ case 36:
+ (this.$ = B[z - 2]),
+ P.setClickEvent(B[z - 2], B[z - 1], null),
+ P.setLink(B[z - 2], B[z]);
+ break;
+ case 37:
+ (this.$ = B[z - 3]),
+ P.setClickEvent(B[z - 3], B[z - 2], B[z - 1]),
+ P.setLink(B[z - 3], B[z]);
+ break;
+ case 38:
+ (this.$ = B[z - 2]),
+ P.setClickEvent(B[z - 2], B[z], null),
+ P.setLink(B[z - 2], B[z - 1]);
+ break;
+ case 39:
+ (this.$ = B[z - 3]),
+ P.setClickEvent(B[z - 3], B[z - 1], B[z]),
+ P.setLink(B[z - 3], B[z - 2]);
+ break;
+ case 40:
+ (this.$ = B[z - 1]), P.setLink(B[z - 1], B[z]);
+ break;
+ case 41:
+ case 47:
+ this.$ = B[z - 1] + ' ' + B[z];
+ break;
+ case 42:
+ case 43:
+ case 45:
+ this.$ = B[z - 2] + ' ' + B[z - 1] + ' ' + B[z];
+ break;
+ case 44:
+ case 46:
+ this.$ = B[z - 3] + ' ' + B[z - 2] + ' ' + B[z - 1] + ' ' + B[z];
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ t(e, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: 17,
+ 12: r,
+ 13: n,
+ 14: i,
+ 15: a,
+ 16: s,
+ 17: l,
+ 18: u,
+ 19: 18,
+ 20: h,
+ 21: f,
+ 22: d,
+ 23: p,
+ 24: m,
+ 25: g,
+ 26: y,
+ 27: v,
+ 28: x,
+ 29: b,
+ 30: w,
+ 31: S,
+ 33: T,
+ 35: E,
+ 36: _,
+ 37: 24,
+ 38: A,
+ 40: L
+ },
+ t(e, [2, 7], { 1: [2, 1] }),
+ t(e, [2, 3]),
+ {
+ 9: 36,
+ 11: 17,
+ 12: r,
+ 13: n,
+ 14: i,
+ 15: a,
+ 16: s,
+ 17: l,
+ 18: u,
+ 19: 18,
+ 20: h,
+ 21: f,
+ 22: d,
+ 23: p,
+ 24: m,
+ 25: g,
+ 26: y,
+ 27: v,
+ 28: x,
+ 29: b,
+ 30: w,
+ 31: S,
+ 33: T,
+ 35: E,
+ 36: _,
+ 37: 24,
+ 38: A,
+ 40: L
+ },
+ t(e, [2, 5]),
+ t(e, [2, 6]),
+ t(e, [2, 17]),
+ t(e, [2, 18]),
+ t(e, [2, 19]),
+ t(e, [2, 20]),
+ t(e, [2, 21]),
+ t(e, [2, 22]),
+ t(e, [2, 23]),
+ t(e, [2, 24]),
+ t(e, [2, 25]),
+ t(e, [2, 26]),
+ t(e, [2, 27]),
+ { 32: [1, 37] },
+ { 34: [1, 38] },
+ t(e, [2, 30]),
+ t(e, [2, 31]),
+ t(e, [2, 32]),
+ { 39: [1, 39] },
+ t(e, [2, 8]),
+ t(e, [2, 9]),
+ t(e, [2, 10]),
+ t(e, [2, 11]),
+ t(e, [2, 12]),
+ t(e, [2, 13]),
+ t(e, [2, 14]),
+ t(e, [2, 15]),
+ t(e, [2, 16]),
+ { 41: [1, 40], 43: [1, 41] },
+ t(e, [2, 4]),
+ t(e, [2, 28]),
+ t(e, [2, 29]),
+ t(e, [2, 33]),
+ t(e, [2, 34], { 42: [1, 42], 43: [1, 43] }),
+ t(e, [2, 40], { 41: [1, 44] }),
+ t(e, [2, 35], { 43: [1, 45] }),
+ t(e, [2, 36]),
+ t(e, [2, 38], { 42: [1, 46] }),
+ t(e, [2, 37]),
+ t(e, [2, 39])
+ ],
+ defaultActions: {},
+ parseError: o(function (C, O) {
+ if (O.recoverable) this.trace(C);
+ else {
+ var D = new Error(C);
+ throw ((D.hash = O), D);
+ }
+ }, 'parseError'),
+ parse: o(function (C) {
+ var O = this,
+ D = [0],
+ P = [],
+ F = [null],
+ B = [],
+ $ = this.table,
+ z = '',
+ Y = 0,
+ Q = 0,
+ X = 0,
+ ie = 2,
+ j = 1,
+ J = B.slice.call(arguments, 1),
+ Z = Object.create(this.lexer),
+ H = { yy: {} };
+ for (var q in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, q) && (H.yy[q] = this.yy[q]);
+ Z.setInput(C, H.yy),
+ (H.yy.lexer = Z),
+ (H.yy.parser = this),
+ typeof Z.yylloc > 'u' && (Z.yylloc = {});
+ var K = Z.yylloc;
+ B.push(K);
+ var se = Z.options && Z.options.ranges;
+ typeof H.yy.parseError == 'function'
+ ? (this.parseError = H.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function ce(ge) {
+ (D.length = D.length - 2 * ge), (F.length = F.length - ge), (B.length = B.length - ge);
+ }
+ o(ce, 'popStack');
+ function ue() {
+ var ge;
+ return (
+ (ge = P.pop() || Z.lex() || j),
+ typeof ge != 'number' &&
+ (ge instanceof Array && ((P = ge), (ge = P.pop())),
+ (ge = O.symbols_[ge] || ge)),
+ ge
+ );
+ }
+ o(ue, 'lex');
+ for (var te, De, oe, ke, Ie, Se, Ue = {}, Pe, _e, me, W; ; ) {
+ if (
+ ((oe = D[D.length - 1]),
+ this.defaultActions[oe]
+ ? (ke = this.defaultActions[oe])
+ : ((te === null || typeof te > 'u') && (te = ue()), (ke = $[oe] && $[oe][te])),
+ typeof ke > 'u' || !ke.length || !ke[0])
+ ) {
+ var fe = '';
+ W = [];
+ for (Pe in $[oe])
+ this.terminals_[Pe] && Pe > ie && W.push("'" + this.terminals_[Pe] + "'");
+ Z.showPosition
+ ? (fe =
+ 'Parse error on line ' +
+ (Y + 1) +
+ `:
+` +
+ Z.showPosition() +
+ `
+Expecting ` +
+ W.join(', ') +
+ ", got '" +
+ (this.terminals_[te] || te) +
+ "'")
+ : (fe =
+ 'Parse error on line ' +
+ (Y + 1) +
+ ': Unexpected ' +
+ (te == j ? 'end of input' : "'" + (this.terminals_[te] || te) + "'")),
+ this.parseError(fe, {
+ text: Z.match,
+ token: this.terminals_[te] || te,
+ line: Z.yylineno,
+ loc: K,
+ expected: W
+ });
+ }
+ if (ke[0] instanceof Array && ke.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + oe + ', token: ' + te
+ );
+ switch (ke[0]) {
+ case 1:
+ D.push(te),
+ F.push(Z.yytext),
+ B.push(Z.yylloc),
+ D.push(ke[1]),
+ (te = null),
+ De
+ ? ((te = De), (De = null))
+ : ((Q = Z.yyleng),
+ (z = Z.yytext),
+ (Y = Z.yylineno),
+ (K = Z.yylloc),
+ X > 0 && X--);
+ break;
+ case 2:
+ if (
+ ((_e = this.productions_[ke[1]][1]),
+ (Ue.$ = F[F.length - _e]),
+ (Ue._$ = {
+ first_line: B[B.length - (_e || 1)].first_line,
+ last_line: B[B.length - 1].last_line,
+ first_column: B[B.length - (_e || 1)].first_column,
+ last_column: B[B.length - 1].last_column
+ }),
+ se &&
+ (Ue._$.range = [
+ B[B.length - (_e || 1)].range[0],
+ B[B.length - 1].range[1]
+ ]),
+ (Se = this.performAction.apply(Ue, [z, Q, Y, H.yy, ke[1], F, B].concat(J))),
+ typeof Se < 'u')
+ )
+ return Se;
+ _e &&
+ ((D = D.slice(0, -1 * _e * 2)),
+ (F = F.slice(0, -1 * _e)),
+ (B = B.slice(0, -1 * _e))),
+ D.push(this.productions_[ke[1]][0]),
+ F.push(Ue.$),
+ B.push(Ue._$),
+ (me = $[D[D.length - 2]][D[D.length - 1]]),
+ D.push(me);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ N = (function () {
+ var I = {
+ EOF: 1,
+ parseError: o(function (O, D) {
+ if (this.yy.parser) this.yy.parser.parseError(O, D);
+ else throw new Error(O);
+ }, 'parseError'),
+ setInput: o(function (C, O) {
+ return (
+ (this.yy = O || this.yy || {}),
+ (this._input = C),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var C = this._input[0];
+ (this.yytext += C),
+ this.yyleng++,
+ this.offset++,
+ (this.match += C),
+ (this.matched += C);
+ var O = C.match(/(?:\r\n?|\n).*/g);
+ return (
+ O ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ C
+ );
+ }, 'input'),
+ unput: o(function (C) {
+ var O = C.length,
+ D = C.split(/(?:\r\n?|\n)/g);
+ (this._input = C + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - O)),
+ (this.offset -= O);
+ var P = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ D.length - 1 && (this.yylineno -= D.length - 1);
+ var F = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: D
+ ? (D.length === P.length ? this.yylloc.first_column : 0) +
+ P[P.length - D.length].length -
+ D[0].length
+ : this.yylloc.first_column - O
+ }),
+ this.options.ranges && (this.yylloc.range = [F[0], F[0] + this.yyleng - O]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (C) {
+ this.unput(this.match.slice(C));
+ }, 'less'),
+ pastInput: o(function () {
+ var C = this.matched.substr(0, this.matched.length - this.match.length);
+ return (C.length > 20 ? '...' : '') + C.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var C = this.match;
+ return (
+ C.length < 20 && (C += this._input.substr(0, 20 - C.length)),
+ (C.substr(0, 20) + (C.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var C = this.pastInput(),
+ O = new Array(C.length + 1).join('-');
+ return (
+ C +
+ this.upcomingInput() +
+ `
+` +
+ O +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (C, O) {
+ var D, P, F;
+ if (
+ (this.options.backtrack_lexer &&
+ ((F = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (F.yylloc.range = this.yylloc.range.slice(0))),
+ (P = C[0].match(/(?:\r\n?|\n).*/g)),
+ P && (this.yylineno += P.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: P
+ ? P[P.length - 1].length - P[P.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + C[0].length
+ }),
+ (this.yytext += C[0]),
+ (this.match += C[0]),
+ (this.matches = C),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(C[0].length)),
+ (this.matched += C[0]),
+ (D = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ O,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ D)
+ )
+ return D;
+ if (this._backtrack) {
+ for (var B in F) this[B] = F[B];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var C, O, D, P;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var F = this._currentRules(), B = 0; B < F.length; B++)
+ if (
+ ((D = this._input.match(this.rules[F[B]])),
+ D && (!O || D[0].length > O[0].length))
+ ) {
+ if (((O = D), (P = B), this.options.backtrack_lexer)) {
+ if (((C = this.test_match(D, F[B])), C !== !1)) return C;
+ if (this._backtrack) {
+ O = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return O
+ ? ((C = this.test_match(O, F[P])), C !== !1 ? C : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var O = this.next();
+ return O || this.lex();
+ }, 'lex'),
+ begin: o(function (O) {
+ this.conditionStack.push(O);
+ }, 'begin'),
+ popState: o(function () {
+ var O = this.conditionStack.length - 1;
+ return O > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (O) {
+ return (
+ (O = this.conditionStack.length - 1 - Math.abs(O || 0)),
+ O >= 0 ? this.conditionStack[O] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (O) {
+ this.begin(O);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (O, D, P, F) {
+ var B = F;
+ switch (P) {
+ case 0:
+ return this.begin('open_directive'), 'open_directive';
+ break;
+ case 1:
+ return this.begin('acc_title'), 31;
+ break;
+ case 2:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 3:
+ return this.begin('acc_descr'), 33;
+ break;
+ case 4:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 5:
+ this.begin('acc_descr_multiline');
+ break;
+ case 6:
+ this.popState();
+ break;
+ case 7:
+ return 'acc_descr_multiline_value';
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ return 10;
+ case 12:
+ break;
+ case 13:
+ break;
+ case 14:
+ this.begin('href');
+ break;
+ case 15:
+ this.popState();
+ break;
+ case 16:
+ return 43;
+ case 17:
+ this.begin('callbackname');
+ break;
+ case 18:
+ this.popState();
+ break;
+ case 19:
+ this.popState(), this.begin('callbackargs');
+ break;
+ case 20:
+ return 41;
+ case 21:
+ this.popState();
+ break;
+ case 22:
+ return 42;
+ case 23:
+ this.begin('click');
+ break;
+ case 24:
+ this.popState();
+ break;
+ case 25:
+ return 40;
+ case 26:
+ return 4;
+ case 27:
+ return 22;
+ case 28:
+ return 23;
+ case 29:
+ return 24;
+ case 30:
+ return 25;
+ case 31:
+ return 26;
+ case 32:
+ return 28;
+ case 33:
+ return 27;
+ case 34:
+ return 29;
+ case 35:
+ return 12;
+ case 36:
+ return 13;
+ case 37:
+ return 14;
+ case 38:
+ return 15;
+ case 39:
+ return 16;
+ case 40:
+ return 17;
+ case 41:
+ return 18;
+ case 42:
+ return 20;
+ case 43:
+ return 21;
+ case 44:
+ return 'date';
+ case 45:
+ return 30;
+ case 46:
+ return 'accDescription';
+ case 47:
+ return 36;
+ case 48:
+ return 38;
+ case 49:
+ return 39;
+ case 50:
+ return ':';
+ case 51:
+ return 6;
+ case 52:
+ return 'INVALID';
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:%%\{)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:%%(?!\{)*[^\n]*)/i,
+ /^(?:[^\}]%%*[^\n]*)/i,
+ /^(?:%%*[^\n]*[\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:%[^\n]*)/i,
+ /^(?:href[\s]+["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:call[\s]+)/i,
+ /^(?:\([\s]*\))/i,
+ /^(?:\()/i,
+ /^(?:[^(]*)/i,
+ /^(?:\))/i,
+ /^(?:[^)]*)/i,
+ /^(?:click[\s]+)/i,
+ /^(?:[\s\n])/i,
+ /^(?:[^\s\n]*)/i,
+ /^(?:gantt\b)/i,
+ /^(?:dateFormat\s[^#\n;]+)/i,
+ /^(?:inclusiveEndDates\b)/i,
+ /^(?:topAxis\b)/i,
+ /^(?:axisFormat\s[^#\n;]+)/i,
+ /^(?:tickInterval\s[^#\n;]+)/i,
+ /^(?:includes\s[^#\n;]+)/i,
+ /^(?:excludes\s[^#\n;]+)/i,
+ /^(?:todayMarker\s[^\n;]+)/i,
+ /^(?:weekday\s+monday\b)/i,
+ /^(?:weekday\s+tuesday\b)/i,
+ /^(?:weekday\s+wednesday\b)/i,
+ /^(?:weekday\s+thursday\b)/i,
+ /^(?:weekday\s+friday\b)/i,
+ /^(?:weekday\s+saturday\b)/i,
+ /^(?:weekday\s+sunday\b)/i,
+ /^(?:weekend\s+friday\b)/i,
+ /^(?:weekend\s+saturday\b)/i,
+ /^(?:\d\d\d\d-\d\d-\d\d\b)/i,
+ /^(?:title\s[^\n]+)/i,
+ /^(?:accDescription\s[^#\n;]+)/i,
+ /^(?:section\s[^\n]+)/i,
+ /^(?:[^:\n]+)/i,
+ /^(?::[^#\n;]+)/i,
+ /^(?::)/i,
+ /^(?:$)/i,
+ /^(?:.)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [6, 7], inclusive: !1 },
+ acc_descr: { rules: [4], inclusive: !1 },
+ acc_title: { rules: [2], inclusive: !1 },
+ callbackargs: { rules: [21, 22], inclusive: !1 },
+ callbackname: { rules: [18, 19, 20], inclusive: !1 },
+ href: { rules: [15, 16], inclusive: !1 },
+ click: { rules: [24, 25], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 17, 23, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return I;
+ })();
+ M.lexer = N;
+ function k() {
+ this.yy = {};
+ }
+ return o(k, 'Parser'), (k.prototype = M), (M.Parser = k), new k();
+ })();
+ CI.parser = CI;
+ Ule = CI;
+ });
+ var Yle = gi((SI, AI) => {
+ 'use strict';
+ (function (t, e) {
+ typeof SI == 'object' && typeof AI < 'u'
+ ? (AI.exports = e())
+ : typeof define == 'function' && define.amd
+ ? define(e)
+ : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_isoWeek = e());
+ })(SI, function () {
+ 'use strict';
+ var t = 'day';
+ return function (e, r, n) {
+ var i = o(function (l) {
+ return l.add(4 - l.isoWeekday(), t);
+ }, 'a'),
+ a = r.prototype;
+ (a.isoWeekYear = function () {
+ return i(this).year();
+ }),
+ (a.isoWeek = function (l) {
+ if (!this.$utils().u(l)) return this.add(7 * (l - this.isoWeek()), t);
+ var u,
+ h,
+ f,
+ d,
+ p = i(this),
+ m =
+ ((u = this.isoWeekYear()),
+ (h = this.$u),
+ (f = (h ? n.utc : n)().year(u).startOf('year')),
+ (d = 4 - f.isoWeekday()),
+ f.isoWeekday() > 4 && (d += 7),
+ f.add(d, t));
+ return p.diff(m, 'week') + 1;
+ }),
+ (a.isoWeekday = function (l) {
+ return this.$utils().u(l) ? this.day() || 7 : this.day(this.day() % 7 ? l : l - 7);
+ });
+ var s = a.startOf;
+ a.startOf = function (l, u) {
+ var h = this.$utils(),
+ f = !!h.u(u) || u;
+ return h.p(l) === 'isoweek'
+ ? f
+ ? this.date(this.date() - (this.isoWeekday() - 1)).startOf('day')
+ : this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf('day')
+ : s.bind(this)(l, u);
+ };
+ };
+ });
+ });
+ var Wle = gi((_I, LI) => {
+ 'use strict';
+ (function (t, e) {
+ typeof _I == 'object' && typeof LI < 'u'
+ ? (LI.exports = e())
+ : typeof define == 'function' && define.amd
+ ? define(e)
+ : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_customParseFormat = e());
+ })(_I, function () {
+ 'use strict';
+ var t = {
+ LTS: 'h:mm:ss A',
+ LT: 'h:mm A',
+ L: 'MM/DD/YYYY',
+ LL: 'MMMM D, YYYY',
+ LLL: 'MMMM D, YYYY h:mm A',
+ LLLL: 'dddd, MMMM D, YYYY h:mm A'
+ },
+ e = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,
+ r = /\d/,
+ n = /\d\d/,
+ i = /\d\d?/,
+ a = /\d*[^-_:/,()\s\d]+/,
+ s = {},
+ l = o(function (g) {
+ return (g = +g) + (g > 68 ? 1900 : 2e3);
+ }, 'a'),
+ u = o(function (g) {
+ return function (y) {
+ this[g] = +y;
+ };
+ }, 'f'),
+ h = [
+ /[+-]\d\d:?(\d\d)?|Z/,
+ function (g) {
+ (this.zone || (this.zone = {})).offset = (function (y) {
+ if (!y || y === 'Z') return 0;
+ var v = y.match(/([+-]|\d\d)/g),
+ x = 60 * v[1] + (+v[2] || 0);
+ return x === 0 ? 0 : v[0] === '+' ? -x : x;
+ })(g);
+ }
+ ],
+ f = o(function (g) {
+ var y = s[g];
+ return y && (y.indexOf ? y : y.s.concat(y.f));
+ }, 'u'),
+ d = o(function (g, y) {
+ var v,
+ x = s.meridiem;
+ if (x) {
+ for (var b = 1; b <= 24; b += 1)
+ if (g.indexOf(x(b, 0, y)) > -1) {
+ v = b > 12;
+ break;
+ }
+ } else v = g === (y ? 'pm' : 'PM');
+ return v;
+ }, 'd'),
+ p = {
+ A: [
+ a,
+ function (g) {
+ this.afternoon = d(g, !1);
+ }
+ ],
+ a: [
+ a,
+ function (g) {
+ this.afternoon = d(g, !0);
+ }
+ ],
+ Q: [
+ r,
+ function (g) {
+ this.month = 3 * (g - 1) + 1;
+ }
+ ],
+ S: [
+ r,
+ function (g) {
+ this.milliseconds = 100 * +g;
+ }
+ ],
+ SS: [
+ n,
+ function (g) {
+ this.milliseconds = 10 * +g;
+ }
+ ],
+ SSS: [
+ /\d{3}/,
+ function (g) {
+ this.milliseconds = +g;
+ }
+ ],
+ s: [i, u('seconds')],
+ ss: [i, u('seconds')],
+ m: [i, u('minutes')],
+ mm: [i, u('minutes')],
+ H: [i, u('hours')],
+ h: [i, u('hours')],
+ HH: [i, u('hours')],
+ hh: [i, u('hours')],
+ D: [i, u('day')],
+ DD: [n, u('day')],
+ Do: [
+ a,
+ function (g) {
+ var y = s.ordinal,
+ v = g.match(/\d+/);
+ if (((this.day = v[0]), y))
+ for (var x = 1; x <= 31; x += 1) y(x).replace(/\[|\]/g, '') === g && (this.day = x);
+ }
+ ],
+ w: [i, u('week')],
+ ww: [n, u('week')],
+ M: [i, u('month')],
+ MM: [n, u('month')],
+ MMM: [
+ a,
+ function (g) {
+ var y = f('months'),
+ v =
+ (
+ f('monthsShort') ||
+ y.map(function (x) {
+ return x.slice(0, 3);
+ })
+ ).indexOf(g) + 1;
+ if (v < 1) throw new Error();
+ this.month = v % 12 || v;
+ }
+ ],
+ MMMM: [
+ a,
+ function (g) {
+ var y = f('months').indexOf(g) + 1;
+ if (y < 1) throw new Error();
+ this.month = y % 12 || y;
+ }
+ ],
+ Y: [/[+-]?\d+/, u('year')],
+ YY: [
+ n,
+ function (g) {
+ this.year = l(g);
+ }
+ ],
+ YYYY: [/\d{4}/, u('year')],
+ Z: h,
+ ZZ: h
+ };
+ function m(g) {
+ var y, v;
+ (y = g), (v = s && s.formats);
+ for (
+ var x = (g = y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (A, L, M) {
+ var N = M && M.toUpperCase();
+ return (
+ L ||
+ v[M] ||
+ t[M] ||
+ v[N].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (k, I, C) {
+ return I || C.slice(1);
+ })
+ );
+ })).match(e),
+ b = x.length,
+ w = 0;
+ w < b;
+ w += 1
+ ) {
+ var S = x[w],
+ T = p[S],
+ E = T && T[0],
+ _ = T && T[1];
+ x[w] = _ ? { regex: E, parser: _ } : S.replace(/^\[|\]$/g, '');
+ }
+ return function (A) {
+ for (var L = {}, M = 0, N = 0; M < b; M += 1) {
+ var k = x[M];
+ if (typeof k == 'string') N += k.length;
+ else {
+ var I = k.regex,
+ C = k.parser,
+ O = A.slice(N),
+ D = I.exec(O)[0];
+ C.call(L, D), (A = A.replace(D, ''));
+ }
+ }
+ return (
+ (function (P) {
+ var F = P.afternoon;
+ if (F !== void 0) {
+ var B = P.hours;
+ F ? B < 12 && (P.hours += 12) : B === 12 && (P.hours = 0), delete P.afternoon;
+ }
+ })(L),
+ L
+ );
+ };
+ }
+ return (
+ o(m, 'l'),
+ function (g, y, v) {
+ (v.p.customParseFormat = !0), g && g.parseTwoDigitYear && (l = g.parseTwoDigitYear);
+ var x = y.prototype,
+ b = x.parse;
+ x.parse = function (w) {
+ var S = w.date,
+ T = w.utc,
+ E = w.args;
+ this.$u = T;
+ var _ = E[1];
+ if (typeof _ == 'string') {
+ var A = E[2] === !0,
+ L = E[3] === !0,
+ M = A || L,
+ N = E[2];
+ L && (N = E[2]),
+ (s = this.$locale()),
+ !A && N && (s = v.Ls[N]),
+ (this.$d = (function (O, D, P, F) {
+ try {
+ if (['x', 'X'].indexOf(D) > -1) return new Date((D === 'X' ? 1e3 : 1) * O);
+ var B = m(D)(O),
+ $ = B.year,
+ z = B.month,
+ Y = B.day,
+ Q = B.hours,
+ X = B.minutes,
+ ie = B.seconds,
+ j = B.milliseconds,
+ J = B.zone,
+ Z = B.week,
+ H = new Date(),
+ q = Y || ($ || z ? 1 : H.getDate()),
+ K = $ || H.getFullYear(),
+ se = 0;
+ ($ && !z) || (se = z > 0 ? z - 1 : H.getMonth());
+ var ce,
+ ue = Q || 0,
+ te = X || 0,
+ De = ie || 0,
+ oe = j || 0;
+ return J
+ ? new Date(Date.UTC(K, se, q, ue, te, De, oe + 60 * J.offset * 1e3))
+ : P
+ ? new Date(Date.UTC(K, se, q, ue, te, De, oe))
+ : ((ce = new Date(K, se, q, ue, te, De, oe)),
+ Z && (ce = F(ce).week(Z).toDate()),
+ ce);
+ } catch {
+ return new Date('');
+ }
+ })(S, _, T, v)),
+ this.init(),
+ N && N !== !0 && (this.$L = this.locale(N).$L),
+ M && S != this.format(_) && (this.$d = new Date('')),
+ (s = {});
+ } else if (_ instanceof Array)
+ for (var k = _.length, I = 1; I <= k; I += 1) {
+ E[1] = _[I - 1];
+ var C = v.apply(this, E);
+ if (C.isValid()) {
+ (this.$d = C.$d), (this.$L = C.$L), this.init();
+ break;
+ }
+ I === k && (this.$d = new Date(''));
+ }
+ else b.call(this, w);
+ };
+ }
+ );
+ });
+ });
+ var qle = gi((DI, RI) => {
+ 'use strict';
+ (function (t, e) {
+ typeof DI == 'object' && typeof RI < 'u'
+ ? (RI.exports = e())
+ : typeof define == 'function' && define.amd
+ ? define(e)
+ : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_advancedFormat = e());
+ })(DI, function () {
+ 'use strict';
+ return function (t, e) {
+ var r = e.prototype,
+ n = r.format;
+ r.format = function (i) {
+ var a = this,
+ s = this.$locale();
+ if (!this.isValid()) return n.bind(this)(i);
+ var l = this.$utils(),
+ u = (i || 'YYYY-MM-DDTHH:mm:ssZ').replace(
+ /\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,
+ function (h) {
+ switch (h) {
+ case 'Q':
+ return Math.ceil((a.$M + 1) / 3);
+ case 'Do':
+ return s.ordinal(a.$D);
+ case 'gggg':
+ return a.weekYear();
+ case 'GGGG':
+ return a.isoWeekYear();
+ case 'wo':
+ return s.ordinal(a.week(), 'W');
+ case 'w':
+ case 'ww':
+ return l.s(a.week(), h === 'w' ? 1 : 2, '0');
+ case 'W':
+ case 'WW':
+ return l.s(a.isoWeek(), h === 'W' ? 1 : 2, '0');
+ case 'k':
+ case 'kk':
+ return l.s(String(a.$H === 0 ? 24 : a.$H), h === 'k' ? 1 : 2, '0');
+ case 'X':
+ return Math.floor(a.$d.getTime() / 1e3);
+ case 'x':
+ return a.$d.getTime();
+ case 'z':
+ return '[' + a.offsetName() + ']';
+ case 'zzz':
+ return '[' + a.offsetName('long') + ']';
+ default:
+ return h;
+ }
+ }
+ );
+ return n.bind(this)(u);
+ };
+ };
+ });
+ });
+ function cce(t, e, r) {
+ let n = !0;
+ for (; n; )
+ (n = !1),
+ r.forEach(function (i) {
+ let a = '^\\s*' + i + '\\s*$',
+ s = new RegExp(a);
+ t[0].match(s) && ((e[i] = !0), t.shift(1), (n = !0));
+ });
+ }
+ var Kle,
+ yo,
+ Qle,
+ Zle,
+ Jle,
+ Xle,
+ Pc,
+ OI,
+ PI,
+ BI,
+ cx,
+ ux,
+ FI,
+ zI,
+ aE,
+ Rg,
+ GI,
+ ece,
+ $I,
+ hx,
+ VI,
+ UI,
+ sE,
+ NI,
+ OBe,
+ PBe,
+ BBe,
+ FBe,
+ zBe,
+ GBe,
+ $Be,
+ VBe,
+ UBe,
+ HBe,
+ YBe,
+ WBe,
+ qBe,
+ XBe,
+ jBe,
+ KBe,
+ QBe,
+ ZBe,
+ JBe,
+ eFe,
+ tFe,
+ rFe,
+ nFe,
+ tce,
+ iFe,
+ aFe,
+ sFe,
+ rce,
+ oFe,
+ MI,
+ nce,
+ ice,
+ nE,
+ Dg,
+ lFe,
+ cFe,
+ II,
+ iE,
+ zi,
+ ace,
+ uFe,
+ C0,
+ hFe,
+ jle,
+ fFe,
+ sce,
+ dFe,
+ oce,
+ pFe,
+ mFe,
+ lce,
+ uce = R(() => {
+ 'use strict';
+ (Kle = Xi(Up(), 1)), (yo = Xi(Nb(), 1)), (Qle = Xi(Yle(), 1)), (Zle = Xi(Wle(), 1)), (Jle = Xi(qle(), 1));
+ ut();
+ _t();
+ xr();
+ bi();
+ yo.default.extend(Qle.default);
+ yo.default.extend(Zle.default);
+ yo.default.extend(Jle.default);
+ (Xle = { friday: 5, saturday: 6 }),
+ (Pc = ''),
+ (OI = ''),
+ (BI = ''),
+ (cx = []),
+ (ux = []),
+ (FI = new Map()),
+ (zI = []),
+ (aE = []),
+ (Rg = ''),
+ (GI = ''),
+ (ece = ['active', 'done', 'crit', 'milestone']),
+ ($I = []),
+ (hx = !1),
+ (VI = !1),
+ (UI = 'sunday'),
+ (sE = 'saturday'),
+ (NI = 0),
+ (OBe = o(function () {
+ (zI = []),
+ (aE = []),
+ (Rg = ''),
+ ($I = []),
+ (nE = 0),
+ (II = void 0),
+ (iE = void 0),
+ (zi = []),
+ (Pc = ''),
+ (OI = ''),
+ (GI = ''),
+ (PI = void 0),
+ (BI = ''),
+ (cx = []),
+ (ux = []),
+ (hx = !1),
+ (VI = !1),
+ (NI = 0),
+ (FI = new Map()),
+ vr(),
+ (UI = 'sunday'),
+ (sE = 'saturday');
+ }, 'clear')),
+ (PBe = o(function (t) {
+ OI = t;
+ }, 'setAxisFormat')),
+ (BBe = o(function () {
+ return OI;
+ }, 'getAxisFormat')),
+ (FBe = o(function (t) {
+ PI = t;
+ }, 'setTickInterval')),
+ (zBe = o(function () {
+ return PI;
+ }, 'getTickInterval')),
+ (GBe = o(function (t) {
+ BI = t;
+ }, 'setTodayMarker')),
+ ($Be = o(function () {
+ return BI;
+ }, 'getTodayMarker')),
+ (VBe = o(function (t) {
+ Pc = t;
+ }, 'setDateFormat')),
+ (UBe = o(function () {
+ hx = !0;
+ }, 'enableInclusiveEndDates')),
+ (HBe = o(function () {
+ return hx;
+ }, 'endDatesAreInclusive')),
+ (YBe = o(function () {
+ VI = !0;
+ }, 'enableTopAxis')),
+ (WBe = o(function () {
+ return VI;
+ }, 'topAxisEnabled')),
+ (qBe = o(function (t) {
+ GI = t;
+ }, 'setDisplayMode')),
+ (XBe = o(function () {
+ return GI;
+ }, 'getDisplayMode')),
+ (jBe = o(function () {
+ return Pc;
+ }, 'getDateFormat')),
+ (KBe = o(function (t) {
+ cx = t.toLowerCase().split(/[\s,]+/);
+ }, 'setIncludes')),
+ (QBe = o(function () {
+ return cx;
+ }, 'getIncludes')),
+ (ZBe = o(function (t) {
+ ux = t.toLowerCase().split(/[\s,]+/);
+ }, 'setExcludes')),
+ (JBe = o(function () {
+ return ux;
+ }, 'getExcludes')),
+ (eFe = o(function () {
+ return FI;
+ }, 'getLinks')),
+ (tFe = o(function (t) {
+ (Rg = t), zI.push(t);
+ }, 'addSection')),
+ (rFe = o(function () {
+ return zI;
+ }, 'getSections')),
+ (nFe = o(function () {
+ let t = jle(),
+ e = 10,
+ r = 0;
+ for (; !t && r < e; ) (t = jle()), r++;
+ return (aE = zi), aE;
+ }, 'getTasks')),
+ (tce = o(function (t, e, r, n) {
+ return n.includes(t.format(e.trim()))
+ ? !1
+ : (r.includes('weekends') && (t.isoWeekday() === Xle[sE] || t.isoWeekday() === Xle[sE] + 1)) ||
+ r.includes(t.format('dddd').toLowerCase())
+ ? !0
+ : r.includes(t.format(e.trim()));
+ }, 'isInvalidDate')),
+ (iFe = o(function (t) {
+ UI = t;
+ }, 'setWeekday')),
+ (aFe = o(function () {
+ return UI;
+ }, 'getWeekday')),
+ (sFe = o(function (t) {
+ sE = t;
+ }, 'setWeekend')),
+ (rce = o(function (t, e, r, n) {
+ if (!r.length || t.manualEndTime) return;
+ let i;
+ t.startTime instanceof Date
+ ? (i = (0, yo.default)(t.startTime))
+ : (i = (0, yo.default)(t.startTime, e, !0)),
+ (i = i.add(1, 'd'));
+ let a;
+ t.endTime instanceof Date
+ ? (a = (0, yo.default)(t.endTime))
+ : (a = (0, yo.default)(t.endTime, e, !0));
+ let [s, l] = oFe(i, a, e, r, n);
+ (t.endTime = s.toDate()), (t.renderEndTime = l);
+ }, 'checkTaskDates')),
+ (oFe = o(function (t, e, r, n, i) {
+ let a = !1,
+ s = null;
+ for (; t <= e; )
+ a || (s = e.toDate()), (a = tce(t, r, n, i)), a && (e = e.add(1, 'd')), (t = t.add(1, 'd'));
+ return [e, s];
+ }, 'fixTaskDates')),
+ (MI = o(function (t, e, r) {
+ r = r.trim();
+ let i = /^after\s+(?[\d\w- ]+)/.exec(r);
+ if (i !== null) {
+ let s = null;
+ for (let u of i.groups.ids.split(' ')) {
+ let h = C0(u);
+ h !== void 0 && (!s || h.endTime > s.endTime) && (s = h);
+ }
+ if (s) return s.endTime;
+ let l = new Date();
+ return l.setHours(0, 0, 0, 0), l;
+ }
+ let a = (0, yo.default)(r, e.trim(), !0);
+ if (a.isValid()) return a.toDate();
+ {
+ V.debug('Invalid date:' + r), V.debug('With date format:' + e.trim());
+ let s = new Date(r);
+ if (s === void 0 || isNaN(s.getTime()) || s.getFullYear() < -1e4 || s.getFullYear() > 1e4)
+ throw new Error('Invalid date:' + r);
+ return s;
+ }
+ }, 'getStartDate')),
+ (nce = o(function (t) {
+ let e = /^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());
+ return e !== null ? [Number.parseFloat(e[1]), e[2]] : [NaN, 'ms'];
+ }, 'parseDuration')),
+ (ice = o(function (t, e, r, n = !1) {
+ r = r.trim();
+ let a = /^until\s+(?[\d\w- ]+)/.exec(r);
+ if (a !== null) {
+ let f = null;
+ for (let p of a.groups.ids.split(' ')) {
+ let m = C0(p);
+ m !== void 0 && (!f || m.startTime < f.startTime) && (f = m);
+ }
+ if (f) return f.startTime;
+ let d = new Date();
+ return d.setHours(0, 0, 0, 0), d;
+ }
+ let s = (0, yo.default)(r, e.trim(), !0);
+ if (s.isValid()) return n && (s = s.add(1, 'd')), s.toDate();
+ let l = (0, yo.default)(t),
+ [u, h] = nce(r);
+ if (!Number.isNaN(u)) {
+ let f = l.add(u, h);
+ f.isValid() && (l = f);
+ }
+ return l.toDate();
+ }, 'getEndDate')),
+ (nE = 0),
+ (Dg = o(function (t) {
+ return t === void 0 ? ((nE = nE + 1), 'task' + nE) : t;
+ }, 'parseId')),
+ (lFe = o(function (t, e) {
+ let r;
+ e.substr(0, 1) === ':' ? (r = e.substr(1, e.length)) : (r = e);
+ let n = r.split(','),
+ i = {};
+ cce(n, i, ece);
+ for (let s = 0; s < n.length; s++) n[s] = n[s].trim();
+ let a = '';
+ switch (n.length) {
+ case 1:
+ (i.id = Dg()), (i.startTime = t.endTime), (a = n[0]);
+ break;
+ case 2:
+ (i.id = Dg()), (i.startTime = MI(void 0, Pc, n[0])), (a = n[1]);
+ break;
+ case 3:
+ (i.id = Dg(n[0])), (i.startTime = MI(void 0, Pc, n[1])), (a = n[2]);
+ break;
+ default:
+ }
+ return (
+ a &&
+ ((i.endTime = ice(i.startTime, Pc, a, hx)),
+ (i.manualEndTime = (0, yo.default)(a, 'YYYY-MM-DD', !0).isValid()),
+ rce(i, Pc, ux, cx)),
+ i
+ );
+ }, 'compileData')),
+ (cFe = o(function (t, e) {
+ let r;
+ e.substr(0, 1) === ':' ? (r = e.substr(1, e.length)) : (r = e);
+ let n = r.split(','),
+ i = {};
+ cce(n, i, ece);
+ for (let a = 0; a < n.length; a++) n[a] = n[a].trim();
+ switch (n.length) {
+ case 1:
+ (i.id = Dg()), (i.startTime = { type: 'prevTaskEnd', id: t }), (i.endTime = { data: n[0] });
+ break;
+ case 2:
+ (i.id = Dg()),
+ (i.startTime = { type: 'getStartDate', startData: n[0] }),
+ (i.endTime = { data: n[1] });
+ break;
+ case 3:
+ (i.id = Dg(n[0])),
+ (i.startTime = { type: 'getStartDate', startData: n[1] }),
+ (i.endTime = { data: n[2] });
+ break;
+ default:
+ }
+ return i;
+ }, 'parseData')),
+ (zi = []),
+ (ace = {}),
+ (uFe = o(function (t, e) {
+ let r = {
+ section: Rg,
+ type: Rg,
+ processed: !1,
+ manualEndTime: !1,
+ renderEndTime: null,
+ raw: { data: e },
+ task: t,
+ classes: []
+ },
+ n = cFe(iE, e);
+ (r.raw.startTime = n.startTime),
+ (r.raw.endTime = n.endTime),
+ (r.id = n.id),
+ (r.prevTaskId = iE),
+ (r.active = n.active),
+ (r.done = n.done),
+ (r.crit = n.crit),
+ (r.milestone = n.milestone),
+ (r.order = NI),
+ NI++;
+ let i = zi.push(r);
+ (iE = r.id), (ace[r.id] = i - 1);
+ }, 'addTask')),
+ (C0 = o(function (t) {
+ let e = ace[t];
+ return zi[e];
+ }, 'findTaskById')),
+ (hFe = o(function (t, e) {
+ let r = {
+ section: Rg,
+ type: Rg,
+ description: t,
+ task: t,
+ classes: []
+ },
+ n = lFe(II, e);
+ (r.startTime = n.startTime),
+ (r.endTime = n.endTime),
+ (r.id = n.id),
+ (r.active = n.active),
+ (r.done = n.done),
+ (r.crit = n.crit),
+ (r.milestone = n.milestone),
+ (II = r),
+ aE.push(r);
+ }, 'addTaskOrg')),
+ (jle = o(function () {
+ let t = o(function (r) {
+ let n = zi[r],
+ i = '';
+ switch (zi[r].raw.startTime.type) {
+ case 'prevTaskEnd': {
+ let a = C0(n.prevTaskId);
+ n.startTime = a.endTime;
+ break;
+ }
+ case 'getStartDate':
+ (i = MI(void 0, Pc, zi[r].raw.startTime.startData)), i && (zi[r].startTime = i);
+ break;
+ }
+ return (
+ zi[r].startTime &&
+ ((zi[r].endTime = ice(zi[r].startTime, Pc, zi[r].raw.endTime.data, hx)),
+ zi[r].endTime &&
+ ((zi[r].processed = !0),
+ (zi[r].manualEndTime = (0, yo.default)(
+ zi[r].raw.endTime.data,
+ 'YYYY-MM-DD',
+ !0
+ ).isValid()),
+ rce(zi[r], Pc, ux, cx))),
+ zi[r].processed
+ );
+ }, 'compileTask'),
+ e = !0;
+ for (let [r, n] of zi.entries()) t(r), (e = e && n.processed);
+ return e;
+ }, 'compileTasks')),
+ (fFe = o(function (t, e) {
+ let r = e;
+ de().securityLevel !== 'loose' && (r = (0, Kle.sanitizeUrl)(e)),
+ t.split(',').forEach(function (n) {
+ C0(n) !== void 0 &&
+ (oce(n, () => {
+ window.open(r, '_self');
+ }),
+ FI.set(n, r));
+ }),
+ sce(t, 'clickable');
+ }, 'setLink')),
+ (sce = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ let n = C0(r);
+ n !== void 0 && n.classes.push(e);
+ });
+ }, 'setClass')),
+ (dFe = o(function (t, e, r) {
+ if (de().securityLevel !== 'loose' || e === void 0) return;
+ let n = [];
+ if (typeof r == 'string') {
+ n = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
+ for (let a = 0; a < n.length; a++) {
+ let s = n[a].trim();
+ s.startsWith('"') && s.endsWith('"') && (s = s.substr(1, s.length - 2)), (n[a] = s);
+ }
+ }
+ n.length === 0 && n.push(t),
+ C0(t) !== void 0 &&
+ oce(t, () => {
+ Lt.runFunc(e, ...n);
+ });
+ }, 'setClickFun')),
+ (oce = o(function (t, e) {
+ $I.push(
+ function () {
+ let r = document.querySelector(`[id="${t}"]`);
+ r !== null &&
+ r.addEventListener('click', function () {
+ e();
+ });
+ },
+ function () {
+ let r = document.querySelector(`[id="${t}-text"]`);
+ r !== null &&
+ r.addEventListener('click', function () {
+ e();
+ });
+ }
+ );
+ }, 'pushFun')),
+ (pFe = o(function (t, e, r) {
+ t.split(',').forEach(function (n) {
+ dFe(n, e, r);
+ }),
+ sce(t, 'clickable');
+ }, 'setClickEvent')),
+ (mFe = o(function (t) {
+ $I.forEach(function (e) {
+ e(t);
+ });
+ }, 'bindFunctions')),
+ (lce = {
+ getConfig: o(() => de().gantt, 'getConfig'),
+ clear: OBe,
+ setDateFormat: VBe,
+ getDateFormat: jBe,
+ enableInclusiveEndDates: UBe,
+ endDatesAreInclusive: HBe,
+ enableTopAxis: YBe,
+ topAxisEnabled: WBe,
+ setAxisFormat: PBe,
+ getAxisFormat: BBe,
+ setTickInterval: FBe,
+ getTickInterval: zBe,
+ setTodayMarker: GBe,
+ getTodayMarker: $Be,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ setDisplayMode: qBe,
+ getDisplayMode: XBe,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ addSection: tFe,
+ getSections: rFe,
+ getTasks: nFe,
+ addTask: uFe,
+ findTaskById: C0,
+ addTaskOrg: hFe,
+ setIncludes: KBe,
+ getIncludes: QBe,
+ setExcludes: ZBe,
+ getExcludes: JBe,
+ setClickEvent: pFe,
+ setLink: fFe,
+ getLinks: eFe,
+ bindFunctions: mFe,
+ parseDuration: nce,
+ isInvalidDate: tce,
+ setWeekday: iFe,
+ getWeekday: aFe,
+ setWeekend: sFe
+ });
+ o(cce, 'getTaskTags');
+ });
+ var oE,
+ gFe,
+ hce,
+ yFe,
+ Yu,
+ vFe,
+ fce,
+ dce = R(() => {
+ 'use strict';
+ oE = Xi(Nb(), 1);
+ ut();
+ Zt();
+ rr();
+ _t();
+ Yn();
+ (gFe = o(function () {
+ V.debug('Something is calling, setConf, remove the call');
+ }, 'setConf')),
+ (hce = {
+ monday: _h,
+ tuesday: k3,
+ wednesday: E3,
+ thursday: cc,
+ friday: C3,
+ saturday: S3,
+ sunday: yl
+ }),
+ (yFe = o((t, e) => {
+ let r = [...t].map(() => -1 / 0),
+ n = [...t].sort((a, s) => a.startTime - s.startTime || a.order - s.order),
+ i = 0;
+ for (let a of n)
+ for (let s = 0; s < r.length; s++)
+ if (a.startTime >= r[s]) {
+ (r[s] = a.endTime), (a.order = s + e), s > i && (i = s);
+ break;
+ }
+ return i;
+ }, 'getMaxIntersections')),
+ (vFe = o(function (t, e, r, n) {
+ let i = de().gantt,
+ a = de().securityLevel,
+ s;
+ a === 'sandbox' && (s = $e('#i' + e));
+ let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'),
+ u = a === 'sandbox' ? s.nodes()[0].contentDocument : document,
+ h = u.getElementById(e);
+ (Yu = h.parentElement.offsetWidth),
+ Yu === void 0 && (Yu = 1200),
+ i.useWidth !== void 0 && (Yu = i.useWidth);
+ let f = n.db.getTasks(),
+ d = [];
+ for (let A of f) d.push(A.type);
+ d = _(d);
+ let p = {},
+ m = 2 * i.topPadding;
+ if (n.db.getDisplayMode() === 'compact' || i.displayMode === 'compact') {
+ let A = {};
+ for (let M of f) A[M.section] === void 0 ? (A[M.section] = [M]) : A[M.section].push(M);
+ let L = 0;
+ for (let M of Object.keys(A)) {
+ let N = yFe(A[M], L) + 1;
+ (L += N), (m += N * (i.barHeight + i.barGap)), (p[M] = N);
+ }
+ } else {
+ m += f.length * (i.barHeight + i.barGap);
+ for (let A of d) p[A] = f.filter((L) => L.type === A).length;
+ }
+ h.setAttribute('viewBox', '0 0 ' + Yu + ' ' + m);
+ let g = l.select(`[id="${e}"]`),
+ y = L3()
+ .domain([
+ I4(f, function (A) {
+ return A.startTime;
+ }),
+ M4(f, function (A) {
+ return A.endTime;
+ })
+ ])
+ .rangeRound([0, Yu - i.leftPadding - i.rightPadding]);
+ function v(A, L) {
+ let M = A.startTime,
+ N = L.startTime,
+ k = 0;
+ return M > N ? (k = 1) : M < N && (k = -1), k;
+ }
+ o(v, 'taskCompare'),
+ f.sort(v),
+ x(f, Yu, m),
+ Sr(g, m, Yu, i.useMaxWidth),
+ g
+ .append('text')
+ .text(n.db.getDiagramTitle())
+ .attr('x', Yu / 2)
+ .attr('y', i.titleTopMargin)
+ .attr('class', 'titleText');
+ function x(A, L, M) {
+ let N = i.barHeight,
+ k = N + i.barGap,
+ I = i.topPadding,
+ C = i.leftPadding,
+ O = gl().domain([0, d.length]).range(['#00B9FA', '#F95002']).interpolate(BA);
+ w(k, I, C, L, M, A, n.db.getExcludes(), n.db.getIncludes()),
+ S(C, I, L, M),
+ b(A, k, I, C, N, O, L, M),
+ T(k, I, C, N, O),
+ E(C, I, L, M);
+ }
+ o(x, 'makeGantt');
+ function b(A, L, M, N, k, I, C) {
+ let D = [...new Set(A.map(($) => $.order))].map(($) => A.find((z) => z.order === $));
+ g.append('g')
+ .selectAll('rect')
+ .data(D)
+ .enter()
+ .append('rect')
+ .attr('x', 0)
+ .attr('y', function ($, z) {
+ return (z = $.order), z * L + M - 2;
+ })
+ .attr('width', function () {
+ return C - i.rightPadding / 2;
+ })
+ .attr('height', L)
+ .attr('class', function ($) {
+ for (let [z, Y] of d.entries())
+ if ($.type === Y) return 'section section' + (z % i.numberSectionStyles);
+ return 'section section0';
+ });
+ let P = g.append('g').selectAll('rect').data(A).enter(),
+ F = n.db.getLinks();
+ if (
+ (P.append('rect')
+ .attr('id', function ($) {
+ return $.id;
+ })
+ .attr('rx', 3)
+ .attr('ry', 3)
+ .attr('x', function ($) {
+ return $.milestone
+ ? y($.startTime) + N + 0.5 * (y($.endTime) - y($.startTime)) - 0.5 * k
+ : y($.startTime) + N;
+ })
+ .attr('y', function ($, z) {
+ return (z = $.order), z * L + M;
+ })
+ .attr('width', function ($) {
+ return $.milestone ? k : y($.renderEndTime || $.endTime) - y($.startTime);
+ })
+ .attr('height', k)
+ .attr('transform-origin', function ($, z) {
+ return (
+ (z = $.order),
+ (y($.startTime) + N + 0.5 * (y($.endTime) - y($.startTime))).toString() +
+ 'px ' +
+ (z * L + M + 0.5 * k).toString() +
+ 'px'
+ );
+ })
+ .attr('class', function ($) {
+ let z = 'task',
+ Y = '';
+ $.classes.length > 0 && (Y = $.classes.join(' '));
+ let Q = 0;
+ for (let [ie, j] of d.entries()) $.type === j && (Q = ie % i.numberSectionStyles);
+ let X = '';
+ return (
+ $.active
+ ? $.crit
+ ? (X += ' activeCrit')
+ : (X = ' active')
+ : $.done
+ ? $.crit
+ ? (X = ' doneCrit')
+ : (X = ' done')
+ : $.crit && (X += ' crit'),
+ X.length === 0 && (X = ' task'),
+ $.milestone && (X = ' milestone ' + X),
+ (X += Q),
+ (X += ' ' + Y),
+ z + X
+ );
+ }),
+ P.append('text')
+ .attr('id', function ($) {
+ return $.id + '-text';
+ })
+ .text(function ($) {
+ return $.task;
+ })
+ .attr('font-size', i.fontSize)
+ .attr('x', function ($) {
+ let z = y($.startTime),
+ Y = y($.renderEndTime || $.endTime);
+ $.milestone && (z += 0.5 * (y($.endTime) - y($.startTime)) - 0.5 * k),
+ $.milestone && (Y = z + k);
+ let Q = this.getBBox().width;
+ return Q > Y - z
+ ? Y + Q + 1.5 * i.leftPadding > C
+ ? z + N - 5
+ : Y + N + 5
+ : (Y - z) / 2 + z + N;
+ })
+ .attr('y', function ($, z) {
+ return (z = $.order), z * L + i.barHeight / 2 + (i.fontSize / 2 - 2) + M;
+ })
+ .attr('text-height', k)
+ .attr('class', function ($) {
+ let z = y($.startTime),
+ Y = y($.endTime);
+ $.milestone && (Y = z + k);
+ let Q = this.getBBox().width,
+ X = '';
+ $.classes.length > 0 && (X = $.classes.join(' '));
+ let ie = 0;
+ for (let [J, Z] of d.entries()) $.type === Z && (ie = J % i.numberSectionStyles);
+ let j = '';
+ return (
+ $.active && ($.crit ? (j = 'activeCritText' + ie) : (j = 'activeText' + ie)),
+ $.done
+ ? $.crit
+ ? (j = j + ' doneCritText' + ie)
+ : (j = j + ' doneText' + ie)
+ : $.crit && (j = j + ' critText' + ie),
+ $.milestone && (j += ' milestoneText'),
+ Q > Y - z
+ ? Y + Q + 1.5 * i.leftPadding > C
+ ? X + ' taskTextOutsideLeft taskTextOutside' + ie + ' ' + j
+ : X +
+ ' taskTextOutsideRight taskTextOutside' +
+ ie +
+ ' ' +
+ j +
+ ' width-' +
+ Q
+ : X + ' taskText taskText' + ie + ' ' + j + ' width-' + Q
+ );
+ }),
+ de().securityLevel === 'sandbox')
+ ) {
+ let $;
+ $ = $e('#i' + e);
+ let z = $.nodes()[0].contentDocument;
+ P.filter(function (Y) {
+ return F.has(Y.id);
+ }).each(function (Y) {
+ var Q = z.querySelector('#' + Y.id),
+ X = z.querySelector('#' + Y.id + '-text');
+ let ie = Q.parentNode;
+ var j = z.createElement('a');
+ j.setAttribute('xlink:href', F.get(Y.id)),
+ j.setAttribute('target', '_top'),
+ ie.appendChild(j),
+ j.appendChild(Q),
+ j.appendChild(X);
+ });
+ }
+ }
+ o(b, 'drawRects');
+ function w(A, L, M, N, k, I, C, O) {
+ if (C.length === 0 && O.length === 0) return;
+ let D, P;
+ for (let { startTime: Q, endTime: X } of I)
+ (D === void 0 || Q < D) && (D = Q), (P === void 0 || X > P) && (P = X);
+ if (!D || !P) return;
+ if ((0, oE.default)(P).diff((0, oE.default)(D), 'year') > 5) {
+ V.warn(
+ 'The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.'
+ );
+ return;
+ }
+ let F = n.db.getDateFormat(),
+ B = [],
+ $ = null,
+ z = (0, oE.default)(D);
+ for (; z.valueOf() <= P; )
+ n.db.isInvalidDate(z, F, C, O)
+ ? $
+ ? ($.end = z)
+ : ($ = { start: z, end: z })
+ : $ && (B.push($), ($ = null)),
+ (z = z.add(1, 'd'));
+ g.append('g')
+ .selectAll('rect')
+ .data(B)
+ .enter()
+ .append('rect')
+ .attr('id', function (Q) {
+ return 'exclude-' + Q.start.format('YYYY-MM-DD');
+ })
+ .attr('x', function (Q) {
+ return y(Q.start) + M;
+ })
+ .attr('y', i.gridLineStartPadding)
+ .attr('width', function (Q) {
+ let X = Q.end.add(1, 'day');
+ return y(X) - y(Q.start);
+ })
+ .attr('height', k - L - i.gridLineStartPadding)
+ .attr('transform-origin', function (Q, X) {
+ return (
+ (y(Q.start) + M + 0.5 * (y(Q.end) - y(Q.start))).toString() +
+ 'px ' +
+ (X * A + 0.5 * k).toString() +
+ 'px'
+ );
+ })
+ .attr('class', 'exclude-range');
+ }
+ o(w, 'drawExcludeDays');
+ function S(A, L, M, N) {
+ let k = vS(y)
+ .tickSize(-N + L + i.gridLineStartPadding)
+ .tickFormat(md(n.db.getAxisFormat() || i.axisFormat || '%Y-%m-%d')),
+ C = /^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(
+ n.db.getTickInterval() || i.tickInterval
+ );
+ if (C !== null) {
+ let O = C[1],
+ D = C[2],
+ P = n.db.getWeekday() || i.weekday;
+ switch (D) {
+ case 'millisecond':
+ k.ticks(oc.every(O));
+ break;
+ case 'second':
+ k.ticks(Ks.every(O));
+ break;
+ case 'minute':
+ k.ticks(gu.every(O));
+ break;
+ case 'hour':
+ k.ticks(yu.every(O));
+ break;
+ case 'day':
+ k.ticks(Do.every(O));
+ break;
+ case 'week':
+ k.ticks(hce[P].every(O));
+ break;
+ case 'month':
+ k.ticks(vu.every(O));
+ break;
+ }
+ }
+ if (
+ (g
+ .append('g')
+ .attr('class', 'grid')
+ .attr('transform', 'translate(' + A + ', ' + (N - 50) + ')')
+ .call(k)
+ .selectAll('text')
+ .style('text-anchor', 'middle')
+ .attr('fill', '#000')
+ .attr('stroke', 'none')
+ .attr('font-size', 10)
+ .attr('dy', '1em'),
+ n.db.topAxisEnabled() || i.topAxis)
+ ) {
+ let O = yS(y)
+ .tickSize(-N + L + i.gridLineStartPadding)
+ .tickFormat(md(n.db.getAxisFormat() || i.axisFormat || '%Y-%m-%d'));
+ if (C !== null) {
+ let D = C[1],
+ P = C[2],
+ F = n.db.getWeekday() || i.weekday;
+ switch (P) {
+ case 'millisecond':
+ O.ticks(oc.every(D));
+ break;
+ case 'second':
+ O.ticks(Ks.every(D));
+ break;
+ case 'minute':
+ O.ticks(gu.every(D));
+ break;
+ case 'hour':
+ O.ticks(yu.every(D));
+ break;
+ case 'day':
+ O.ticks(Do.every(D));
+ break;
+ case 'week':
+ O.ticks(hce[F].every(D));
+ break;
+ case 'month':
+ O.ticks(vu.every(D));
+ break;
+ }
+ }
+ g.append('g')
+ .attr('class', 'grid')
+ .attr('transform', 'translate(' + A + ', ' + L + ')')
+ .call(O)
+ .selectAll('text')
+ .style('text-anchor', 'middle')
+ .attr('fill', '#000')
+ .attr('stroke', 'none')
+ .attr('font-size', 10);
+ }
+ }
+ o(S, 'makeGrid');
+ function T(A, L) {
+ let M = 0,
+ N = Object.keys(p).map((k) => [k, p[k]]);
+ g.append('g')
+ .selectAll('text')
+ .data(N)
+ .enter()
+ .append(function (k) {
+ let I = k[0].split(We.lineBreakRegex),
+ C = -(I.length - 1) / 2,
+ O = u.createElementNS('http://www.w3.org/2000/svg', 'text');
+ O.setAttribute('dy', C + 'em');
+ for (let [D, P] of I.entries()) {
+ let F = u.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ F.setAttribute('alignment-baseline', 'central'),
+ F.setAttribute('x', '10'),
+ D > 0 && F.setAttribute('dy', '1em'),
+ (F.textContent = P),
+ O.appendChild(F);
+ }
+ return O;
+ })
+ .attr('x', 10)
+ .attr('y', function (k, I) {
+ if (I > 0)
+ for (let C = 0; C < I; C++) return (M += N[I - 1][1]), (k[1] * A) / 2 + M * A + L;
+ else return (k[1] * A) / 2 + L;
+ })
+ .attr('font-size', i.sectionFontSize)
+ .attr('class', function (k) {
+ for (let [I, C] of d.entries())
+ if (k[0] === C) return 'sectionTitle sectionTitle' + (I % i.numberSectionStyles);
+ return 'sectionTitle';
+ });
+ }
+ o(T, 'vertLabels');
+ function E(A, L, M, N) {
+ let k = n.db.getTodayMarker();
+ if (k === 'off') return;
+ let I = g.append('g').attr('class', 'today'),
+ C = new Date(),
+ O = I.append('line');
+ O.attr('x1', y(C) + A)
+ .attr('x2', y(C) + A)
+ .attr('y1', i.titleTopMargin)
+ .attr('y2', N - i.titleTopMargin)
+ .attr('class', 'today'),
+ k !== '' && O.attr('style', k.replace(/,/g, ';'));
+ }
+ o(E, 'drawToday');
+ function _(A) {
+ let L = {},
+ M = [];
+ for (let N = 0, k = A.length; N < k; ++N)
+ Object.prototype.hasOwnProperty.call(L, A[N]) || ((L[A[N]] = !0), M.push(A[N]));
+ return M;
+ }
+ o(_, 'checkUnique');
+ }, 'draw')),
+ (fce = { setConf: gFe, draw: vFe });
+ });
+ var xFe,
+ pce,
+ mce = R(() => {
+ 'use strict';
+ (xFe = o(
+ (t) => `
+ .mermaid-main-font {
+ font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
+ }
+
+ .exclude-range {
+ fill: ${t.excludeBkgColor};
+ }
+
+ .section {
+ stroke: none;
+ opacity: 0.2;
+ }
+
+ .section0 {
+ fill: ${t.sectionBkgColor};
+ }
+
+ .section2 {
+ fill: ${t.sectionBkgColor2};
+ }
+
+ .section1,
+ .section3 {
+ fill: ${t.altSectionBkgColor};
+ opacity: 0.2;
+ }
+
+ .sectionTitle0 {
+ fill: ${t.titleColor};
+ }
+
+ .sectionTitle1 {
+ fill: ${t.titleColor};
+ }
+
+ .sectionTitle2 {
+ fill: ${t.titleColor};
+ }
+
+ .sectionTitle3 {
+ fill: ${t.titleColor};
+ }
+
+ .sectionTitle {
+ text-anchor: start;
+ font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
+ }
+
+
+ /* Grid and axis */
+
+ .grid .tick {
+ stroke: ${t.gridColor};
+ opacity: 0.8;
+ shape-rendering: crispEdges;
+ }
+
+ .grid .tick text {
+ font-family: ${t.fontFamily};
+ fill: ${t.textColor};
+ }
+
+ .grid path {
+ stroke-width: 0;
+ }
+
+
+ /* Today line */
+
+ .today {
+ fill: none;
+ stroke: ${t.todayLineColor};
+ stroke-width: 2px;
+ }
+
+
+ /* Task styling */
+
+ /* Default task */
+
+ .task {
+ stroke-width: 2;
+ }
+
+ .taskText {
+ text-anchor: middle;
+ font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
+ }
+
+ .taskTextOutsideRight {
+ fill: ${t.taskTextDarkColor};
+ text-anchor: start;
+ font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
+ }
+
+ .taskTextOutsideLeft {
+ fill: ${t.taskTextDarkColor};
+ text-anchor: end;
+ }
+
+
+ /* Special case clickable */
+
+ .task.clickable {
+ cursor: pointer;
+ }
+
+ .taskText.clickable {
+ cursor: pointer;
+ fill: ${t.taskTextClickableColor} !important;
+ font-weight: bold;
+ }
+
+ .taskTextOutsideLeft.clickable {
+ cursor: pointer;
+ fill: ${t.taskTextClickableColor} !important;
+ font-weight: bold;
+ }
+
+ .taskTextOutsideRight.clickable {
+ cursor: pointer;
+ fill: ${t.taskTextClickableColor} !important;
+ font-weight: bold;
+ }
+
+
+ /* Specific task settings for the sections*/
+
+ .taskText0,
+ .taskText1,
+ .taskText2,
+ .taskText3 {
+ fill: ${t.taskTextColor};
+ }
+
+ .task0,
+ .task1,
+ .task2,
+ .task3 {
+ fill: ${t.taskBkgColor};
+ stroke: ${t.taskBorderColor};
+ }
+
+ .taskTextOutside0,
+ .taskTextOutside2
+ {
+ fill: ${t.taskTextOutsideColor};
+ }
+
+ .taskTextOutside1,
+ .taskTextOutside3 {
+ fill: ${t.taskTextOutsideColor};
+ }
+
+
+ /* Active task */
+
+ .active0,
+ .active1,
+ .active2,
+ .active3 {
+ fill: ${t.activeTaskBkgColor};
+ stroke: ${t.activeTaskBorderColor};
+ }
+
+ .activeText0,
+ .activeText1,
+ .activeText2,
+ .activeText3 {
+ fill: ${t.taskTextDarkColor} !important;
+ }
+
+
+ /* Completed task */
+
+ .done0,
+ .done1,
+ .done2,
+ .done3 {
+ stroke: ${t.doneTaskBorderColor};
+ fill: ${t.doneTaskBkgColor};
+ stroke-width: 2;
+ }
+
+ .doneText0,
+ .doneText1,
+ .doneText2,
+ .doneText3 {
+ fill: ${t.taskTextDarkColor} !important;
+ }
+
+
+ /* Tasks on the critical line */
+
+ .crit0,
+ .crit1,
+ .crit2,
+ .crit3 {
+ stroke: ${t.critBorderColor};
+ fill: ${t.critBkgColor};
+ stroke-width: 2;
+ }
+
+ .activeCrit0,
+ .activeCrit1,
+ .activeCrit2,
+ .activeCrit3 {
+ stroke: ${t.critBorderColor};
+ fill: ${t.activeTaskBkgColor};
+ stroke-width: 2;
+ }
+
+ .doneCrit0,
+ .doneCrit1,
+ .doneCrit2,
+ .doneCrit3 {
+ stroke: ${t.critBorderColor};
+ fill: ${t.doneTaskBkgColor};
+ stroke-width: 2;
+ cursor: pointer;
+ shape-rendering: crispEdges;
+ }
+
+ .milestone {
+ transform: rotate(45deg) scale(0.8,0.8);
+ }
+
+ .milestoneText {
+ font-style: italic;
+ }
+ .doneCritText0,
+ .doneCritText1,
+ .doneCritText2,
+ .doneCritText3 {
+ fill: ${t.taskTextDarkColor} !important;
+ }
+
+ .activeCritText0,
+ .activeCritText1,
+ .activeCritText2,
+ .activeCritText3 {
+ fill: ${t.taskTextDarkColor} !important;
+ }
+
+ .titleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.titleColor || t.textColor};
+ font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
+ }
+`,
+ 'getStyles'
+ )),
+ (pce = xFe);
+ });
+ var gce = {};
+ hr(gce, { diagram: () => bFe });
+ var bFe,
+ yce = R(() => {
+ 'use strict';
+ Hle();
+ uce();
+ dce();
+ mce();
+ bFe = { parser: Ule, db: lce, renderer: fce, styles: pce };
+ });
+ var bce,
+ wce = R(() => {
+ 'use strict';
+ Lg();
+ ut();
+ bce = {
+ parse: o(async (t) => {
+ let e = await Fl('info', t);
+ V.debug(e);
+ }, 'parse')
+ };
+ });
+ var fx,
+ HI = R(() => {
+ fx = '11.2.0';
+ });
+ var CFe,
+ SFe,
+ Tce,
+ kce = R(() => {
+ 'use strict';
+ HI();
+ (CFe = { version: fx }), (SFe = o(() => CFe.version, 'getVersion')), (Tce = { getVersion: SFe });
+ });
+ var Ps,
+ pf = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ Ps = o((t) => {
+ let { securityLevel: e } = de(),
+ r = $e('body');
+ if (e === 'sandbox') {
+ let a = $e(`#i${t}`).node()?.contentDocument ?? document;
+ r = $e(a.body);
+ }
+ return r.select(`#${t}`);
+ }, 'selectSvgElement');
+ });
+ var AFe,
+ Ece,
+ Cce = R(() => {
+ 'use strict';
+ ut();
+ pf();
+ Yn();
+ (AFe = o((t, e, r) => {
+ V.debug(
+ `rendering info diagram
+` + t
+ );
+ let n = Ps(e);
+ Sr(n, 100, 400, !0),
+ n
+ .append('g')
+ .append('text')
+ .attr('x', 100)
+ .attr('y', 40)
+ .attr('class', 'version')
+ .attr('font-size', 32)
+ .style('text-anchor', 'middle')
+ .text(`v${r}`);
+ }, 'draw')),
+ (Ece = { draw: AFe });
+ });
+ var Sce = {};
+ hr(Sce, { diagram: () => _Fe });
+ var _Fe,
+ Ace = R(() => {
+ 'use strict';
+ wce();
+ kce();
+ Cce();
+ _Fe = { parser: bce, db: Tce, renderer: Ece };
+ });
+ var Dce,
+ YI,
+ lE,
+ WI,
+ RFe,
+ NFe,
+ MFe,
+ IFe,
+ OFe,
+ PFe,
+ BFe,
+ cE,
+ qI = R(() => {
+ 'use strict';
+ ut();
+ bi();
+ sl();
+ (Dce = mr.pie),
+ (YI = { sections: new Map(), showData: !1, config: Dce }),
+ (lE = YI.sections),
+ (WI = YI.showData),
+ (RFe = structuredClone(Dce)),
+ (NFe = o(() => structuredClone(RFe), 'getConfig')),
+ (MFe = o(() => {
+ (lE = new Map()), (WI = YI.showData), vr();
+ }, 'clear')),
+ (IFe = o(({ label: t, value: e }) => {
+ lE.has(t) || (lE.set(t, e), V.debug(`added new section: ${t}, with value: ${e}`));
+ }, 'addSection')),
+ (OFe = o(() => lE, 'getSections')),
+ (PFe = o((t) => {
+ WI = t;
+ }, 'setShowData')),
+ (BFe = o(() => WI, 'getShowData')),
+ (cE = {
+ getConfig: NFe,
+ clear: MFe,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ addSection: IFe,
+ getSections: OFe,
+ setShowData: PFe,
+ getShowData: BFe
+ });
+ });
+ var FFe,
+ Rce,
+ Nce = R(() => {
+ 'use strict';
+ Lg();
+ ut();
+ sx();
+ qI();
+ (FFe = o((t, e) => {
+ cf(t, e), e.setShowData(t.showData), t.sections.map(e.addSection);
+ }, 'populateDb')),
+ (Rce = {
+ parse: o(async (t) => {
+ let e = await Fl('pie', t);
+ V.debug(e), FFe(e, cE);
+ }, 'parse')
+ });
+ });
+ var zFe,
+ Mce,
+ Ice = R(() => {
+ 'use strict';
+ (zFe = o(
+ (t) => `
+ .pieCircle{
+ stroke: ${t.pieStrokeColor};
+ stroke-width : ${t.pieStrokeWidth};
+ opacity : ${t.pieOpacity};
+ }
+ .pieOuterCircle{
+ stroke: ${t.pieOuterStrokeColor};
+ stroke-width: ${t.pieOuterStrokeWidth};
+ fill: none;
+ }
+ .pieTitleText {
+ text-anchor: middle;
+ font-size: ${t.pieTitleTextSize};
+ fill: ${t.pieTitleTextColor};
+ font-family: ${t.fontFamily};
+ }
+ .slice {
+ font-family: ${t.fontFamily};
+ fill: ${t.pieSectionTextColor};
+ font-size:${t.pieSectionTextSize};
+ // fill: white;
+ }
+ .legend text {
+ fill: ${t.pieLegendTextColor};
+ font-family: ${t.fontFamily};
+ font-size: ${t.pieLegendTextSize};
+ }
+`,
+ 'getStyles'
+ )),
+ (Mce = zFe);
+ });
+ var GFe,
+ $Fe,
+ Oce,
+ Pce = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ ut();
+ pf();
+ Yn();
+ xr();
+ (GFe = o((t) => {
+ let e = [...t.entries()].map((n) => ({ label: n[0], value: n[1] })).sort((n, i) => i.value - n.value);
+ return O3().value((n) => n.value)(e);
+ }, 'createPieArcs')),
+ ($Fe = o((t, e, r, n) => {
+ V.debug(
+ `rendering pie chart
+` + t
+ );
+ let i = n.db,
+ a = de(),
+ s = Ts(i.getConfig(), a.pie),
+ l = 40,
+ u = 18,
+ h = 4,
+ f = 450,
+ d = f,
+ p = Ps(e),
+ m = p.append('g');
+ m.attr('transform', 'translate(' + d / 2 + ',' + f / 2 + ')');
+ let { themeVariables: g } = a,
+ [y] = mc(g.pieOuterStrokeWidth);
+ y ??= 2;
+ let v = s.textPosition,
+ x = Math.min(d, f) / 2 - l,
+ b = bl().innerRadius(0).outerRadius(x),
+ w = bl()
+ .innerRadius(x * v)
+ .outerRadius(x * v);
+ m.append('circle')
+ .attr('cx', 0)
+ .attr('cy', 0)
+ .attr('r', x + y / 2)
+ .attr('class', 'pieOuterCircle');
+ let S = i.getSections(),
+ T = GFe(S),
+ E = [
+ g.pie1,
+ g.pie2,
+ g.pie3,
+ g.pie4,
+ g.pie5,
+ g.pie6,
+ g.pie7,
+ g.pie8,
+ g.pie9,
+ g.pie10,
+ g.pie11,
+ g.pie12
+ ],
+ _ = pu(E);
+ m.selectAll('mySlices')
+ .data(T)
+ .enter()
+ .append('path')
+ .attr('d', b)
+ .attr('fill', (k) => _(k.data.label))
+ .attr('class', 'pieCircle');
+ let A = 0;
+ S.forEach((k) => {
+ A += k;
+ }),
+ m
+ .selectAll('mySlices')
+ .data(T)
+ .enter()
+ .append('text')
+ .text((k) => ((k.data.value / A) * 100).toFixed(0) + '%')
+ .attr('transform', (k) => 'translate(' + w.centroid(k) + ')')
+ .style('text-anchor', 'middle')
+ .attr('class', 'slice'),
+ m
+ .append('text')
+ .text(i.getDiagramTitle())
+ .attr('x', 0)
+ .attr('y', -(f - 50) / 2)
+ .attr('class', 'pieTitleText');
+ let L = m
+ .selectAll('.legend')
+ .data(_.domain())
+ .enter()
+ .append('g')
+ .attr('class', 'legend')
+ .attr('transform', (k, I) => {
+ let C = u + h,
+ O = (C * _.domain().length) / 2,
+ D = 12 * u,
+ P = I * C - O;
+ return 'translate(' + D + ',' + P + ')';
+ });
+ L.append('rect').attr('width', u).attr('height', u).style('fill', _).style('stroke', _),
+ L.data(T)
+ .append('text')
+ .attr('x', u + h)
+ .attr('y', u - h)
+ .text((k) => {
+ let { label: I, value: C } = k.data;
+ return i.getShowData() ? `${I} [${C}]` : I;
+ });
+ let M = Math.max(
+ ...L.selectAll('text')
+ .nodes()
+ .map((k) => k?.getBoundingClientRect().width ?? 0)
+ ),
+ N = d + l + u + h + M;
+ p.attr('viewBox', `0 0 ${N} ${f}`), Sr(p, f, N, s.useMaxWidth);
+ }, 'draw')),
+ (Oce = { draw: $Fe });
+ });
+ var Bce = {};
+ hr(Bce, { diagram: () => VFe });
+ var VFe,
+ Fce = R(() => {
+ 'use strict';
+ Nce();
+ qI();
+ Ice();
+ Pce();
+ VFe = { parser: Rce, db: cE, renderer: Oce, styles: Mce };
+ });
+ var XI,
+ $ce,
+ Vce = R(() => {
+ 'use strict';
+ XI = (function () {
+ var t = o(function (we, Te, Ce, Ae) {
+ for (Ce = Ce || {}, Ae = we.length; Ae--; Ce[we[Ae]] = Te);
+ return Ce;
+ }, 'o'),
+ e = [1, 3],
+ r = [1, 4],
+ n = [1, 5],
+ i = [1, 6],
+ a = [1, 7],
+ s = [
+ 1, 4, 5, 10, 12, 13, 14, 18, 25, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61,
+ 63, 64, 65, 66, 67
+ ],
+ l = [
+ 1, 4, 5, 10, 12, 13, 14, 18, 25, 28, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60,
+ 61, 63, 64, 65, 66, 67
+ ],
+ u = [55, 56, 57],
+ h = [2, 36],
+ f = [1, 37],
+ d = [1, 36],
+ p = [1, 38],
+ m = [1, 35],
+ g = [1, 43],
+ y = [1, 41],
+ v = [1, 14],
+ x = [1, 23],
+ b = [1, 18],
+ w = [1, 19],
+ S = [1, 20],
+ T = [1, 21],
+ E = [1, 22],
+ _ = [1, 24],
+ A = [1, 25],
+ L = [1, 26],
+ M = [1, 27],
+ N = [1, 28],
+ k = [1, 29],
+ I = [1, 32],
+ C = [1, 33],
+ O = [1, 34],
+ D = [1, 39],
+ P = [1, 40],
+ F = [1, 42],
+ B = [1, 44],
+ $ = [1, 62],
+ z = [1, 61],
+ Y = [4, 5, 8, 10, 12, 13, 14, 18, 44, 47, 49, 55, 56, 57, 63, 64, 65, 66, 67],
+ Q = [1, 65],
+ X = [1, 66],
+ ie = [1, 67],
+ j = [1, 68],
+ J = [1, 69],
+ Z = [1, 70],
+ H = [1, 71],
+ q = [1, 72],
+ K = [1, 73],
+ se = [1, 74],
+ ce = [1, 75],
+ ue = [1, 76],
+ te = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18],
+ De = [1, 90],
+ oe = [1, 91],
+ ke = [1, 92],
+ Ie = [1, 99],
+ Se = [1, 93],
+ Ue = [1, 96],
+ Pe = [1, 94],
+ _e = [1, 95],
+ me = [1, 97],
+ W = [1, 98],
+ fe = [1, 102],
+ ge = [10, 55, 56, 57],
+ re = [4, 5, 6, 8, 10, 11, 13, 17, 18, 19, 20, 55, 56, 57],
+ he = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ idStringToken: 3,
+ ALPHA: 4,
+ NUM: 5,
+ NODE_STRING: 6,
+ DOWN: 7,
+ MINUS: 8,
+ DEFAULT: 9,
+ COMMA: 10,
+ COLON: 11,
+ AMP: 12,
+ BRKT: 13,
+ MULT: 14,
+ UNICODE_TEXT: 15,
+ styleComponent: 16,
+ UNIT: 17,
+ SPACE: 18,
+ STYLE: 19,
+ PCT: 20,
+ idString: 21,
+ style: 22,
+ stylesOpt: 23,
+ classDefStatement: 24,
+ CLASSDEF: 25,
+ start: 26,
+ eol: 27,
+ QUADRANT: 28,
+ document: 29,
+ line: 30,
+ statement: 31,
+ axisDetails: 32,
+ quadrantDetails: 33,
+ points: 34,
+ title: 35,
+ title_value: 36,
+ acc_title: 37,
+ acc_title_value: 38,
+ acc_descr: 39,
+ acc_descr_value: 40,
+ acc_descr_multiline_value: 41,
+ section: 42,
+ text: 43,
+ point_start: 44,
+ point_x: 45,
+ point_y: 46,
+ class_name: 47,
+ 'X-AXIS': 48,
+ 'AXIS-TEXT-DELIMITER': 49,
+ 'Y-AXIS': 50,
+ QUADRANT_1: 51,
+ QUADRANT_2: 52,
+ QUADRANT_3: 53,
+ QUADRANT_4: 54,
+ NEWLINE: 55,
+ SEMI: 56,
+ EOF: 57,
+ alphaNumToken: 58,
+ textNoTagsToken: 59,
+ STR: 60,
+ MD_STR: 61,
+ alphaNum: 62,
+ PUNCTUATION: 63,
+ PLUS: 64,
+ EQUALS: 65,
+ DOT: 66,
+ UNDERSCORE: 67,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'ALPHA',
+ 5: 'NUM',
+ 6: 'NODE_STRING',
+ 7: 'DOWN',
+ 8: 'MINUS',
+ 9: 'DEFAULT',
+ 10: 'COMMA',
+ 11: 'COLON',
+ 12: 'AMP',
+ 13: 'BRKT',
+ 14: 'MULT',
+ 15: 'UNICODE_TEXT',
+ 17: 'UNIT',
+ 18: 'SPACE',
+ 19: 'STYLE',
+ 20: 'PCT',
+ 25: 'CLASSDEF',
+ 28: 'QUADRANT',
+ 35: 'title',
+ 36: 'title_value',
+ 37: 'acc_title',
+ 38: 'acc_title_value',
+ 39: 'acc_descr',
+ 40: 'acc_descr_value',
+ 41: 'acc_descr_multiline_value',
+ 42: 'section',
+ 44: 'point_start',
+ 45: 'point_x',
+ 46: 'point_y',
+ 47: 'class_name',
+ 48: 'X-AXIS',
+ 49: 'AXIS-TEXT-DELIMITER',
+ 50: 'Y-AXIS',
+ 51: 'QUADRANT_1',
+ 52: 'QUADRANT_2',
+ 53: 'QUADRANT_3',
+ 54: 'QUADRANT_4',
+ 55: 'NEWLINE',
+ 56: 'SEMI',
+ 57: 'EOF',
+ 60: 'STR',
+ 61: 'MD_STR',
+ 63: 'PUNCTUATION',
+ 64: 'PLUS',
+ 65: 'EQUALS',
+ 66: 'DOT',
+ 67: 'UNDERSCORE'
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [3, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [21, 1],
+ [21, 2],
+ [22, 1],
+ [22, 2],
+ [23, 1],
+ [23, 3],
+ [24, 5],
+ [26, 2],
+ [26, 2],
+ [26, 2],
+ [29, 0],
+ [29, 2],
+ [30, 2],
+ [31, 0],
+ [31, 1],
+ [31, 2],
+ [31, 1],
+ [31, 1],
+ [31, 1],
+ [31, 2],
+ [31, 2],
+ [31, 2],
+ [31, 1],
+ [31, 1],
+ [34, 4],
+ [34, 5],
+ [34, 5],
+ [34, 6],
+ [32, 4],
+ [32, 3],
+ [32, 2],
+ [32, 4],
+ [32, 3],
+ [32, 2],
+ [33, 2],
+ [33, 2],
+ [33, 2],
+ [33, 2],
+ [27, 1],
+ [27, 1],
+ [27, 1],
+ [43, 1],
+ [43, 2],
+ [43, 1],
+ [43, 1],
+ [62, 1],
+ [62, 2],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [58, 1],
+ [59, 1],
+ [59, 1],
+ [59, 1]
+ ],
+ performAction: o(function (Te, Ce, Ae, Ge, Me, ye, He) {
+ var ze = ye.length - 1;
+ switch (Me) {
+ case 23:
+ this.$ = ye[ze];
+ break;
+ case 24:
+ this.$ = ye[ze - 1] + '' + ye[ze];
+ break;
+ case 26:
+ this.$ = ye[ze - 1] + ye[ze];
+ break;
+ case 27:
+ this.$ = [ye[ze].trim()];
+ break;
+ case 28:
+ ye[ze - 2].push(ye[ze].trim()), (this.$ = ye[ze - 2]);
+ break;
+ case 29:
+ (this.$ = ye[ze - 4]), Ge.addClass(ye[ze - 2], ye[ze]);
+ break;
+ case 37:
+ this.$ = [];
+ break;
+ case 42:
+ (this.$ = ye[ze].trim()), Ge.setDiagramTitle(this.$);
+ break;
+ case 43:
+ (this.$ = ye[ze].trim()), Ge.setAccTitle(this.$);
+ break;
+ case 44:
+ case 45:
+ (this.$ = ye[ze].trim()), Ge.setAccDescription(this.$);
+ break;
+ case 46:
+ Ge.addSection(ye[ze].substr(8)), (this.$ = ye[ze].substr(8));
+ break;
+ case 47:
+ Ge.addPoint(ye[ze - 3], '', ye[ze - 1], ye[ze], []);
+ break;
+ case 48:
+ Ge.addPoint(ye[ze - 4], ye[ze - 3], ye[ze - 1], ye[ze], []);
+ break;
+ case 49:
+ Ge.addPoint(ye[ze - 4], '', ye[ze - 2], ye[ze - 1], ye[ze]);
+ break;
+ case 50:
+ Ge.addPoint(ye[ze - 5], ye[ze - 4], ye[ze - 2], ye[ze - 1], ye[ze]);
+ break;
+ case 51:
+ Ge.setXAxisLeftText(ye[ze - 2]), Ge.setXAxisRightText(ye[ze]);
+ break;
+ case 52:
+ (ye[ze - 1].text += ' \u27F6 '), Ge.setXAxisLeftText(ye[ze - 1]);
+ break;
+ case 53:
+ Ge.setXAxisLeftText(ye[ze]);
+ break;
+ case 54:
+ Ge.setYAxisBottomText(ye[ze - 2]), Ge.setYAxisTopText(ye[ze]);
+ break;
+ case 55:
+ (ye[ze - 1].text += ' \u27F6 '), Ge.setYAxisBottomText(ye[ze - 1]);
+ break;
+ case 56:
+ Ge.setYAxisBottomText(ye[ze]);
+ break;
+ case 57:
+ Ge.setQuadrant1Text(ye[ze]);
+ break;
+ case 58:
+ Ge.setQuadrant2Text(ye[ze]);
+ break;
+ case 59:
+ Ge.setQuadrant3Text(ye[ze]);
+ break;
+ case 60:
+ Ge.setQuadrant4Text(ye[ze]);
+ break;
+ case 64:
+ this.$ = { text: ye[ze], type: 'text' };
+ break;
+ case 65:
+ this.$ = {
+ text: ye[ze - 1].text + '' + ye[ze],
+ type: ye[ze - 1].type
+ };
+ break;
+ case 66:
+ this.$ = { text: ye[ze], type: 'text' };
+ break;
+ case 67:
+ this.$ = { text: ye[ze], type: 'markdown' };
+ break;
+ case 68:
+ this.$ = ye[ze];
+ break;
+ case 69:
+ this.$ = ye[ze - 1] + '' + ye[ze];
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 18: e, 26: 1, 27: 2, 28: r, 55: n, 56: i, 57: a },
+ { 1: [3] },
+ { 18: e, 26: 8, 27: 2, 28: r, 55: n, 56: i, 57: a },
+ { 18: e, 26: 9, 27: 2, 28: r, 55: n, 56: i, 57: a },
+ t(s, [2, 33], { 29: 10 }),
+ t(l, [2, 61]),
+ t(l, [2, 62]),
+ t(l, [2, 63]),
+ { 1: [2, 30] },
+ { 1: [2, 31] },
+ t(u, h, {
+ 30: 11,
+ 31: 12,
+ 24: 13,
+ 32: 15,
+ 33: 16,
+ 34: 17,
+ 43: 30,
+ 58: 31,
+ 1: [2, 32],
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: v,
+ 25: x,
+ 35: b,
+ 37: w,
+ 39: S,
+ 41: T,
+ 42: E,
+ 48: _,
+ 50: A,
+ 51: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(s, [2, 34]),
+ { 27: 45, 55: n, 56: i, 57: a },
+ t(u, [2, 37]),
+ t(u, h, {
+ 24: 13,
+ 32: 15,
+ 33: 16,
+ 34: 17,
+ 43: 30,
+ 58: 31,
+ 31: 46,
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: v,
+ 25: x,
+ 35: b,
+ 37: w,
+ 39: S,
+ 41: T,
+ 42: E,
+ 48: _,
+ 50: A,
+ 51: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 39]),
+ t(u, [2, 40]),
+ t(u, [2, 41]),
+ { 36: [1, 47] },
+ { 38: [1, 48] },
+ { 40: [1, 49] },
+ t(u, [2, 45]),
+ t(u, [2, 46]),
+ { 18: [1, 50] },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 51,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 52,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 53,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 54,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 55,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 43: 56,
+ 58: 31,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ {
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 44: [1, 57],
+ 47: [1, 58],
+ 58: 60,
+ 59: 59,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ },
+ t(Y, [2, 64]),
+ t(Y, [2, 66]),
+ t(Y, [2, 67]),
+ t(Y, [2, 70]),
+ t(Y, [2, 71]),
+ t(Y, [2, 72]),
+ t(Y, [2, 73]),
+ t(Y, [2, 74]),
+ t(Y, [2, 75]),
+ t(Y, [2, 76]),
+ t(Y, [2, 77]),
+ t(Y, [2, 78]),
+ t(Y, [2, 79]),
+ t(Y, [2, 80]),
+ t(s, [2, 35]),
+ t(u, [2, 38]),
+ t(u, [2, 42]),
+ t(u, [2, 43]),
+ t(u, [2, 44]),
+ {
+ 3: 64,
+ 4: Q,
+ 5: X,
+ 6: ie,
+ 7: j,
+ 8: J,
+ 9: Z,
+ 10: H,
+ 11: q,
+ 12: K,
+ 13: se,
+ 14: ce,
+ 15: ue,
+ 21: 63
+ },
+ t(u, [2, 53], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 49: [1, 77],
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 56], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 49: [1, 78],
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 57], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 58], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 59], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 60], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ { 45: [1, 79] },
+ { 44: [1, 80] },
+ t(Y, [2, 65]),
+ t(Y, [2, 81]),
+ t(Y, [2, 82]),
+ t(Y, [2, 83]),
+ {
+ 3: 82,
+ 4: Q,
+ 5: X,
+ 6: ie,
+ 7: j,
+ 8: J,
+ 9: Z,
+ 10: H,
+ 11: q,
+ 12: K,
+ 13: se,
+ 14: ce,
+ 15: ue,
+ 18: [1, 81]
+ },
+ t(te, [2, 23]),
+ t(te, [2, 1]),
+ t(te, [2, 2]),
+ t(te, [2, 3]),
+ t(te, [2, 4]),
+ t(te, [2, 5]),
+ t(te, [2, 6]),
+ t(te, [2, 7]),
+ t(te, [2, 8]),
+ t(te, [2, 9]),
+ t(te, [2, 10]),
+ t(te, [2, 11]),
+ t(te, [2, 12]),
+ t(u, [2, 52], {
+ 58: 31,
+ 43: 83,
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 55], {
+ 58: 31,
+ 43: 84,
+ 4: f,
+ 5: d,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 60: I,
+ 61: C,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ { 46: [1, 85] },
+ { 45: [1, 86] },
+ {
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 16: 89,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W,
+ 22: 88,
+ 23: 87
+ },
+ t(te, [2, 24]),
+ t(u, [2, 51], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 54], {
+ 59: 59,
+ 58: 60,
+ 4: f,
+ 5: d,
+ 8: $,
+ 10: p,
+ 12: m,
+ 13: g,
+ 14: y,
+ 18: z,
+ 63: O,
+ 64: D,
+ 65: P,
+ 66: F,
+ 67: B
+ }),
+ t(u, [2, 47], {
+ 22: 88,
+ 16: 89,
+ 23: 100,
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W
+ }),
+ { 46: [1, 101] },
+ t(u, [2, 29], { 10: fe }),
+ t(ge, [2, 27], {
+ 16: 103,
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W
+ }),
+ t(re, [2, 25]),
+ t(re, [2, 13]),
+ t(re, [2, 14]),
+ t(re, [2, 15]),
+ t(re, [2, 16]),
+ t(re, [2, 17]),
+ t(re, [2, 18]),
+ t(re, [2, 19]),
+ t(re, [2, 20]),
+ t(re, [2, 21]),
+ t(re, [2, 22]),
+ t(u, [2, 49], { 10: fe }),
+ t(u, [2, 48], {
+ 22: 88,
+ 16: 89,
+ 23: 104,
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W
+ }),
+ {
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 16: 89,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W,
+ 22: 105
+ },
+ t(re, [2, 26]),
+ t(u, [2, 50], { 10: fe }),
+ t(ge, [2, 28], {
+ 16: 103,
+ 4: De,
+ 5: oe,
+ 6: ke,
+ 8: Ie,
+ 11: Se,
+ 13: Ue,
+ 17: Pe,
+ 18: _e,
+ 19: me,
+ 20: W
+ })
+ ],
+ defaultActions: { 8: [2, 30], 9: [2, 31] },
+ parseError: o(function (Te, Ce) {
+ if (Ce.recoverable) this.trace(Te);
+ else {
+ var Ae = new Error(Te);
+ throw ((Ae.hash = Ce), Ae);
+ }
+ }, 'parseError'),
+ parse: o(function (Te) {
+ var Ce = this,
+ Ae = [0],
+ Ge = [],
+ Me = [null],
+ ye = [],
+ He = this.table,
+ ze = '',
+ Ze = 0,
+ gt = 0,
+ yt = 0,
+ tt = 2,
+ Ye = 1,
+ Je = ye.slice.call(arguments, 1),
+ Ve = Object.create(this.lexer),
+ je = { yy: {} };
+ for (var kt in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, kt) && (je.yy[kt] = this.yy[kt]);
+ Ve.setInput(Te, je.yy),
+ (je.yy.lexer = Ve),
+ (je.yy.parser = this),
+ typeof Ve.yylloc > 'u' && (Ve.yylloc = {});
+ var at = Ve.yylloc;
+ ye.push(at);
+ var xt = Ve.options && Ve.options.ranges;
+ typeof je.yy.parseError == 'function'
+ ? (this.parseError = je.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function it(on) {
+ (Ae.length = Ae.length - 2 * on),
+ (Me.length = Me.length - on),
+ (ye.length = ye.length - on);
+ }
+ o(it, 'popStack');
+ function dt() {
+ var on;
+ return (
+ (on = Ge.pop() || Ve.lex() || Ye),
+ typeof on != 'number' &&
+ (on instanceof Array && ((Ge = on), (on = Ge.pop())),
+ (on = Ce.symbols_[on] || on)),
+ on
+ );
+ }
+ o(dt, 'lex');
+ for (var lt, It, mt, St, gr, xn, jt = {}, rn, Er, Kn, hn; ; ) {
+ if (
+ ((mt = Ae[Ae.length - 1]),
+ this.defaultActions[mt]
+ ? (St = this.defaultActions[mt])
+ : ((lt === null || typeof lt > 'u') && (lt = dt()),
+ (St = He[mt] && He[mt][lt])),
+ typeof St > 'u' || !St.length || !St[0])
+ ) {
+ var Qn = '';
+ hn = [];
+ for (rn in He[mt])
+ this.terminals_[rn] && rn > tt && hn.push("'" + this.terminals_[rn] + "'");
+ Ve.showPosition
+ ? (Qn =
+ 'Parse error on line ' +
+ (Ze + 1) +
+ `:
+` +
+ Ve.showPosition() +
+ `
+Expecting ` +
+ hn.join(', ') +
+ ", got '" +
+ (this.terminals_[lt] || lt) +
+ "'")
+ : (Qn =
+ 'Parse error on line ' +
+ (Ze + 1) +
+ ': Unexpected ' +
+ (lt == Ye ? 'end of input' : "'" + (this.terminals_[lt] || lt) + "'")),
+ this.parseError(Qn, {
+ text: Ve.match,
+ token: this.terminals_[lt] || lt,
+ line: Ve.yylineno,
+ loc: at,
+ expected: hn
+ });
+ }
+ if (St[0] instanceof Array && St.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + mt + ', token: ' + lt
+ );
+ switch (St[0]) {
+ case 1:
+ Ae.push(lt),
+ Me.push(Ve.yytext),
+ ye.push(Ve.yylloc),
+ Ae.push(St[1]),
+ (lt = null),
+ It
+ ? ((lt = It), (It = null))
+ : ((gt = Ve.yyleng),
+ (ze = Ve.yytext),
+ (Ze = Ve.yylineno),
+ (at = Ve.yylloc),
+ yt > 0 && yt--);
+ break;
+ case 2:
+ if (
+ ((Er = this.productions_[St[1]][1]),
+ (jt.$ = Me[Me.length - Er]),
+ (jt._$ = {
+ first_line: ye[ye.length - (Er || 1)].first_line,
+ last_line: ye[ye.length - 1].last_line,
+ first_column: ye[ye.length - (Er || 1)].first_column,
+ last_column: ye[ye.length - 1].last_column
+ }),
+ xt &&
+ (jt._$.range = [
+ ye[ye.length - (Er || 1)].range[0],
+ ye[ye.length - 1].range[1]
+ ]),
+ (xn = this.performAction.apply(
+ jt,
+ [ze, gt, Ze, je.yy, St[1], Me, ye].concat(Je)
+ )),
+ typeof xn < 'u')
+ )
+ return xn;
+ Er &&
+ ((Ae = Ae.slice(0, -1 * Er * 2)),
+ (Me = Me.slice(0, -1 * Er)),
+ (ye = ye.slice(0, -1 * Er))),
+ Ae.push(this.productions_[St[1]][0]),
+ Me.push(jt.$),
+ ye.push(jt._$),
+ (Kn = He[Ae[Ae.length - 2]][Ae[Ae.length - 1]]),
+ Ae.push(Kn);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ ne = (function () {
+ var we = {
+ EOF: 1,
+ parseError: o(function (Ce, Ae) {
+ if (this.yy.parser) this.yy.parser.parseError(Ce, Ae);
+ else throw new Error(Ce);
+ }, 'parseError'),
+ setInput: o(function (Te, Ce) {
+ return (
+ (this.yy = Ce || this.yy || {}),
+ (this._input = Te),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var Te = this._input[0];
+ (this.yytext += Te),
+ this.yyleng++,
+ this.offset++,
+ (this.match += Te),
+ (this.matched += Te);
+ var Ce = Te.match(/(?:\r\n?|\n).*/g);
+ return (
+ Ce ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ Te
+ );
+ }, 'input'),
+ unput: o(function (Te) {
+ var Ce = Te.length,
+ Ae = Te.split(/(?:\r\n?|\n)/g);
+ (this._input = Te + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - Ce)),
+ (this.offset -= Ce);
+ var Ge = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ Ae.length - 1 && (this.yylineno -= Ae.length - 1);
+ var Me = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: Ae
+ ? (Ae.length === Ge.length ? this.yylloc.first_column : 0) +
+ Ge[Ge.length - Ae.length].length -
+ Ae[0].length
+ : this.yylloc.first_column - Ce
+ }),
+ this.options.ranges && (this.yylloc.range = [Me[0], Me[0] + this.yyleng - Ce]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (Te) {
+ this.unput(this.match.slice(Te));
+ }, 'less'),
+ pastInput: o(function () {
+ var Te = this.matched.substr(0, this.matched.length - this.match.length);
+ return (Te.length > 20 ? '...' : '') + Te.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var Te = this.match;
+ return (
+ Te.length < 20 && (Te += this._input.substr(0, 20 - Te.length)),
+ (Te.substr(0, 20) + (Te.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var Te = this.pastInput(),
+ Ce = new Array(Te.length + 1).join('-');
+ return (
+ Te +
+ this.upcomingInput() +
+ `
+` +
+ Ce +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (Te, Ce) {
+ var Ae, Ge, Me;
+ if (
+ (this.options.backtrack_lexer &&
+ ((Me = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (Me.yylloc.range = this.yylloc.range.slice(0))),
+ (Ge = Te[0].match(/(?:\r\n?|\n).*/g)),
+ Ge && (this.yylineno += Ge.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: Ge
+ ? Ge[Ge.length - 1].length - Ge[Ge.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + Te[0].length
+ }),
+ (this.yytext += Te[0]),
+ (this.match += Te[0]),
+ (this.matches = Te),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(Te[0].length)),
+ (this.matched += Te[0]),
+ (Ae = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ Ce,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ Ae)
+ )
+ return Ae;
+ if (this._backtrack) {
+ for (var ye in Me) this[ye] = Me[ye];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var Te, Ce, Ae, Ge;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var Me = this._currentRules(), ye = 0; ye < Me.length; ye++)
+ if (
+ ((Ae = this._input.match(this.rules[Me[ye]])),
+ Ae && (!Ce || Ae[0].length > Ce[0].length))
+ ) {
+ if (((Ce = Ae), (Ge = ye), this.options.backtrack_lexer)) {
+ if (((Te = this.test_match(Ae, Me[ye])), Te !== !1)) return Te;
+ if (this._backtrack) {
+ Ce = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return Ce
+ ? ((Te = this.test_match(Ce, Me[Ge])), Te !== !1 ? Te : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var Ce = this.next();
+ return Ce || this.lex();
+ }, 'lex'),
+ begin: o(function (Ce) {
+ this.conditionStack.push(Ce);
+ }, 'begin'),
+ popState: o(function () {
+ var Ce = this.conditionStack.length - 1;
+ return Ce > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (Ce) {
+ return (
+ (Ce = this.conditionStack.length - 1 - Math.abs(Ce || 0)),
+ Ce >= 0 ? this.conditionStack[Ce] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (Ce) {
+ this.begin(Ce);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (Ce, Ae, Ge, Me) {
+ var ye = Me;
+ switch (Ge) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return 55;
+ case 3:
+ break;
+ case 4:
+ return this.begin('title'), 35;
+ break;
+ case 5:
+ return this.popState(), 'title_value';
+ break;
+ case 6:
+ return this.begin('acc_title'), 37;
+ break;
+ case 7:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 8:
+ return this.begin('acc_descr'), 39;
+ break;
+ case 9:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 10:
+ this.begin('acc_descr_multiline');
+ break;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 'acc_descr_multiline_value';
+ case 13:
+ return 48;
+ case 14:
+ return 50;
+ case 15:
+ return 49;
+ case 16:
+ return 51;
+ case 17:
+ return 52;
+ case 18:
+ return 53;
+ case 19:
+ return 54;
+ case 20:
+ return 25;
+ case 21:
+ this.begin('md_string');
+ break;
+ case 22:
+ return 'MD_STR';
+ case 23:
+ this.popState();
+ break;
+ case 24:
+ this.begin('string');
+ break;
+ case 25:
+ this.popState();
+ break;
+ case 26:
+ return 'STR';
+ case 27:
+ this.begin('class_name');
+ break;
+ case 28:
+ return this.popState(), 47;
+ break;
+ case 29:
+ return this.begin('point_start'), 44;
+ break;
+ case 30:
+ return this.begin('point_x'), 45;
+ break;
+ case 31:
+ this.popState();
+ break;
+ case 32:
+ this.popState(), this.begin('point_y');
+ break;
+ case 33:
+ return this.popState(), 46;
+ break;
+ case 34:
+ return 28;
+ case 35:
+ return 4;
+ case 36:
+ return 11;
+ case 37:
+ return 64;
+ case 38:
+ return 10;
+ case 39:
+ return 65;
+ case 40:
+ return 65;
+ case 41:
+ return 14;
+ case 42:
+ return 13;
+ case 43:
+ return 67;
+ case 44:
+ return 66;
+ case 45:
+ return 12;
+ case 46:
+ return 8;
+ case 47:
+ return 5;
+ case 48:
+ return 18;
+ case 49:
+ return 56;
+ case 50:
+ return 63;
+ case 51:
+ return 57;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n\r]+)/i,
+ /^(?:%%[^\n]*)/i,
+ /^(?:title\b)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?: *x-axis *)/i,
+ /^(?: *y-axis *)/i,
+ /^(?: *--+> *)/i,
+ /^(?: *quadrant-1 *)/i,
+ /^(?: *quadrant-2 *)/i,
+ /^(?: *quadrant-3 *)/i,
+ /^(?: *quadrant-4 *)/i,
+ /^(?:classDef\b)/i,
+ /^(?:["][`])/i,
+ /^(?:[^`"]+)/i,
+ /^(?:[`]["])/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?::::)/i,
+ /^(?:^\w+)/i,
+ /^(?:\s*:\s*\[\s*)/i,
+ /^(?:(1)|(0(.\d+)?))/i,
+ /^(?:\s*\] *)/i,
+ /^(?:\s*,\s*)/i,
+ /^(?:(1)|(0(.\d+)?))/i,
+ /^(?: *quadrantChart *)/i,
+ /^(?:[A-Za-z]+)/i,
+ /^(?::)/i,
+ /^(?:\+)/i,
+ /^(?:,)/i,
+ /^(?:=)/i,
+ /^(?:=)/i,
+ /^(?:\*)/i,
+ /^(?:#)/i,
+ /^(?:[\_])/i,
+ /^(?:\.)/i,
+ /^(?:&)/i,
+ /^(?:-)/i,
+ /^(?:[0-9]+)/i,
+ /^(?:\s)/i,
+ /^(?:;)/i,
+ /^(?:[!"#$%&'*+,-.`?\\_/])/i,
+ /^(?:$)/i
+ ],
+ conditions: {
+ class_name: { rules: [28], inclusive: !1 },
+ point_y: { rules: [33], inclusive: !1 },
+ point_x: { rules: [32], inclusive: !1 },
+ point_start: { rules: [30, 31], inclusive: !1 },
+ acc_descr_multiline: { rules: [11, 12], inclusive: !1 },
+ acc_descr: { rules: [9], inclusive: !1 },
+ acc_title: { rules: [7], inclusive: !1 },
+ title: { rules: [5], inclusive: !1 },
+ md_string: { rules: [22, 23], inclusive: !1 },
+ string: { rules: [25, 26], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 29, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return we;
+ })();
+ he.lexer = ne;
+ function ae() {
+ this.yy = {};
+ }
+ return o(ae, 'Parser'), (ae.prototype = he), (he.Parser = ae), new ae();
+ })();
+ XI.parser = XI;
+ $ce = XI;
+ });
+ var os,
+ uE,
+ Uce = R(() => {
+ 'use strict';
+ Zt();
+ sl();
+ ut();
+ jb();
+ (os = hp()),
+ (uE = class {
+ constructor() {
+ this.classes = new Map();
+ (this.config = this.getDefaultConfig()),
+ (this.themeConfig = this.getDefaultThemeConfig()),
+ (this.data = this.getDefaultData());
+ }
+ static {
+ o(this, 'QuadrantBuilder');
+ }
+ getDefaultData() {
+ return {
+ titleText: '',
+ quadrant1Text: '',
+ quadrant2Text: '',
+ quadrant3Text: '',
+ quadrant4Text: '',
+ xAxisLeftText: '',
+ xAxisRightText: '',
+ yAxisBottomText: '',
+ yAxisTopText: '',
+ points: []
+ };
+ }
+ getDefaultConfig() {
+ return {
+ showXAxis: !0,
+ showYAxis: !0,
+ showTitle: !0,
+ chartHeight: mr.quadrantChart?.chartWidth || 500,
+ chartWidth: mr.quadrantChart?.chartHeight || 500,
+ titlePadding: mr.quadrantChart?.titlePadding || 10,
+ titleFontSize: mr.quadrantChart?.titleFontSize || 20,
+ quadrantPadding: mr.quadrantChart?.quadrantPadding || 5,
+ xAxisLabelPadding: mr.quadrantChart?.xAxisLabelPadding || 5,
+ yAxisLabelPadding: mr.quadrantChart?.yAxisLabelPadding || 5,
+ xAxisLabelFontSize: mr.quadrantChart?.xAxisLabelFontSize || 16,
+ yAxisLabelFontSize: mr.quadrantChart?.yAxisLabelFontSize || 16,
+ quadrantLabelFontSize: mr.quadrantChart?.quadrantLabelFontSize || 16,
+ quadrantTextTopPadding: mr.quadrantChart?.quadrantTextTopPadding || 5,
+ pointTextPadding: mr.quadrantChart?.pointTextPadding || 5,
+ pointLabelFontSize: mr.quadrantChart?.pointLabelFontSize || 12,
+ pointRadius: mr.quadrantChart?.pointRadius || 5,
+ xAxisPosition: mr.quadrantChart?.xAxisPosition || 'top',
+ yAxisPosition: mr.quadrantChart?.yAxisPosition || 'left',
+ quadrantInternalBorderStrokeWidth: mr.quadrantChart?.quadrantInternalBorderStrokeWidth || 1,
+ quadrantExternalBorderStrokeWidth: mr.quadrantChart?.quadrantExternalBorderStrokeWidth || 2
+ };
+ }
+ getDefaultThemeConfig() {
+ return {
+ quadrant1Fill: os.quadrant1Fill,
+ quadrant2Fill: os.quadrant2Fill,
+ quadrant3Fill: os.quadrant3Fill,
+ quadrant4Fill: os.quadrant4Fill,
+ quadrant1TextFill: os.quadrant1TextFill,
+ quadrant2TextFill: os.quadrant2TextFill,
+ quadrant3TextFill: os.quadrant3TextFill,
+ quadrant4TextFill: os.quadrant4TextFill,
+ quadrantPointFill: os.quadrantPointFill,
+ quadrantPointTextFill: os.quadrantPointTextFill,
+ quadrantXAxisTextFill: os.quadrantXAxisTextFill,
+ quadrantYAxisTextFill: os.quadrantYAxisTextFill,
+ quadrantTitleFill: os.quadrantTitleFill,
+ quadrantInternalBorderStrokeFill: os.quadrantInternalBorderStrokeFill,
+ quadrantExternalBorderStrokeFill: os.quadrantExternalBorderStrokeFill
+ };
+ }
+ clear() {
+ (this.config = this.getDefaultConfig()),
+ (this.themeConfig = this.getDefaultThemeConfig()),
+ (this.data = this.getDefaultData()),
+ (this.classes = new Map()),
+ V.info('clear called');
+ }
+ setData(e) {
+ this.data = { ...this.data, ...e };
+ }
+ addPoints(e) {
+ this.data.points = [...e, ...this.data.points];
+ }
+ addClass(e, r) {
+ this.classes.set(e, r);
+ }
+ setConfig(e) {
+ V.trace('setConfig called with: ', e), (this.config = { ...this.config, ...e });
+ }
+ setThemeConfig(e) {
+ V.trace('setThemeConfig called with: ', e), (this.themeConfig = { ...this.themeConfig, ...e });
+ }
+ calculateSpace(e, r, n, i) {
+ let a = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize,
+ s = {
+ top: e === 'top' && r ? a : 0,
+ bottom: e === 'bottom' && r ? a : 0
+ },
+ l = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize,
+ u = {
+ left: this.config.yAxisPosition === 'left' && n ? l : 0,
+ right: this.config.yAxisPosition === 'right' && n ? l : 0
+ },
+ h = this.config.titleFontSize + this.config.titlePadding * 2,
+ f = { top: i ? h : 0 },
+ d = this.config.quadrantPadding + u.left,
+ p = this.config.quadrantPadding + s.top + f.top,
+ m = this.config.chartWidth - this.config.quadrantPadding * 2 - u.left - u.right,
+ g = this.config.chartHeight - this.config.quadrantPadding * 2 - s.top - s.bottom - f.top,
+ y = m / 2,
+ v = g / 2;
+ return {
+ xAxisSpace: s,
+ yAxisSpace: u,
+ titleSpace: f,
+ quadrantSpace: {
+ quadrantLeft: d,
+ quadrantTop: p,
+ quadrantWidth: m,
+ quadrantHalfWidth: y,
+ quadrantHeight: g,
+ quadrantHalfHeight: v
+ }
+ };
+ }
+ getAxisLabels(e, r, n, i) {
+ let { quadrantSpace: a, titleSpace: s } = i,
+ {
+ quadrantHalfHeight: l,
+ quadrantHeight: u,
+ quadrantLeft: h,
+ quadrantHalfWidth: f,
+ quadrantTop: d,
+ quadrantWidth: p
+ } = a,
+ m = !!this.data.xAxisRightText,
+ g = !!this.data.yAxisTopText,
+ y = [];
+ return (
+ this.data.xAxisLeftText &&
+ r &&
+ y.push({
+ text: this.data.xAxisLeftText,
+ fill: this.themeConfig.quadrantXAxisTextFill,
+ x: h + (m ? f / 2 : 0),
+ y:
+ e === 'top'
+ ? this.config.xAxisLabelPadding + s.top
+ : this.config.xAxisLabelPadding + d + u + this.config.quadrantPadding,
+ fontSize: this.config.xAxisLabelFontSize,
+ verticalPos: m ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: 0
+ }),
+ this.data.xAxisRightText &&
+ r &&
+ y.push({
+ text: this.data.xAxisRightText,
+ fill: this.themeConfig.quadrantXAxisTextFill,
+ x: h + f + (m ? f / 2 : 0),
+ y:
+ e === 'top'
+ ? this.config.xAxisLabelPadding + s.top
+ : this.config.xAxisLabelPadding + d + u + this.config.quadrantPadding,
+ fontSize: this.config.xAxisLabelFontSize,
+ verticalPos: m ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: 0
+ }),
+ this.data.yAxisBottomText &&
+ n &&
+ y.push({
+ text: this.data.yAxisBottomText,
+ fill: this.themeConfig.quadrantYAxisTextFill,
+ x:
+ this.config.yAxisPosition === 'left'
+ ? this.config.yAxisLabelPadding
+ : this.config.yAxisLabelPadding + h + p + this.config.quadrantPadding,
+ y: d + u - (g ? l / 2 : 0),
+ fontSize: this.config.yAxisLabelFontSize,
+ verticalPos: g ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: -90
+ }),
+ this.data.yAxisTopText &&
+ n &&
+ y.push({
+ text: this.data.yAxisTopText,
+ fill: this.themeConfig.quadrantYAxisTextFill,
+ x:
+ this.config.yAxisPosition === 'left'
+ ? this.config.yAxisLabelPadding
+ : this.config.yAxisLabelPadding + h + p + this.config.quadrantPadding,
+ y: d + l - (g ? l / 2 : 0),
+ fontSize: this.config.yAxisLabelFontSize,
+ verticalPos: g ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: -90
+ }),
+ y
+ );
+ }
+ getQuadrants(e) {
+ let { quadrantSpace: r } = e,
+ { quadrantHalfHeight: n, quadrantLeft: i, quadrantHalfWidth: a, quadrantTop: s } = r,
+ l = [
+ {
+ text: {
+ text: this.data.quadrant1Text,
+ fill: this.themeConfig.quadrant1TextFill,
+ x: 0,
+ y: 0,
+ fontSize: this.config.quadrantLabelFontSize,
+ verticalPos: 'center',
+ horizontalPos: 'middle',
+ rotation: 0
+ },
+ x: i + a,
+ y: s,
+ width: a,
+ height: n,
+ fill: this.themeConfig.quadrant1Fill
+ },
+ {
+ text: {
+ text: this.data.quadrant2Text,
+ fill: this.themeConfig.quadrant2TextFill,
+ x: 0,
+ y: 0,
+ fontSize: this.config.quadrantLabelFontSize,
+ verticalPos: 'center',
+ horizontalPos: 'middle',
+ rotation: 0
+ },
+ x: i,
+ y: s,
+ width: a,
+ height: n,
+ fill: this.themeConfig.quadrant2Fill
+ },
+ {
+ text: {
+ text: this.data.quadrant3Text,
+ fill: this.themeConfig.quadrant3TextFill,
+ x: 0,
+ y: 0,
+ fontSize: this.config.quadrantLabelFontSize,
+ verticalPos: 'center',
+ horizontalPos: 'middle',
+ rotation: 0
+ },
+ x: i,
+ y: s + n,
+ width: a,
+ height: n,
+ fill: this.themeConfig.quadrant3Fill
+ },
+ {
+ text: {
+ text: this.data.quadrant4Text,
+ fill: this.themeConfig.quadrant4TextFill,
+ x: 0,
+ y: 0,
+ fontSize: this.config.quadrantLabelFontSize,
+ verticalPos: 'center',
+ horizontalPos: 'middle',
+ rotation: 0
+ },
+ x: i + a,
+ y: s + n,
+ width: a,
+ height: n,
+ fill: this.themeConfig.quadrant4Fill
+ }
+ ];
+ for (let u of l)
+ (u.text.x = u.x + u.width / 2),
+ this.data.points.length === 0
+ ? ((u.text.y = u.y + u.height / 2), (u.text.horizontalPos = 'middle'))
+ : ((u.text.y = u.y + this.config.quadrantTextTopPadding),
+ (u.text.horizontalPos = 'top'));
+ return l;
+ }
+ getQuadrantPoints(e) {
+ let { quadrantSpace: r } = e,
+ { quadrantHeight: n, quadrantLeft: i, quadrantTop: a, quadrantWidth: s } = r,
+ l = gl()
+ .domain([0, 1])
+ .range([i, s + i]),
+ u = gl()
+ .domain([0, 1])
+ .range([n + a, a]);
+ return this.data.points.map((f) => {
+ let d = this.classes.get(f.className);
+ return (
+ d && (f = { ...d, ...f }),
+ {
+ x: l(f.x),
+ y: u(f.y),
+ fill: f.color ?? this.themeConfig.quadrantPointFill,
+ radius: f.radius ?? this.config.pointRadius,
+ text: {
+ text: f.text,
+ fill: this.themeConfig.quadrantPointTextFill,
+ x: l(f.x),
+ y: u(f.y) + this.config.pointTextPadding,
+ verticalPos: 'center',
+ horizontalPos: 'top',
+ fontSize: this.config.pointLabelFontSize,
+ rotation: 0
+ },
+ strokeColor: f.strokeColor ?? this.themeConfig.quadrantPointFill,
+ strokeWidth: f.strokeWidth ?? '0px'
+ }
+ );
+ });
+ }
+ getBorders(e) {
+ let r = this.config.quadrantExternalBorderStrokeWidth / 2,
+ { quadrantSpace: n } = e,
+ {
+ quadrantHalfHeight: i,
+ quadrantHeight: a,
+ quadrantLeft: s,
+ quadrantHalfWidth: l,
+ quadrantTop: u,
+ quadrantWidth: h
+ } = n;
+ return [
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: s - r,
+ y1: u,
+ x2: s + h + r,
+ y2: u
+ },
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: s + h,
+ y1: u + r,
+ x2: s + h,
+ y2: u + a - r
+ },
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: s - r,
+ y1: u + a,
+ x2: s + h + r,
+ y2: u + a
+ },
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: s,
+ y1: u + r,
+ x2: s,
+ y2: u + a - r
+ },
+ {
+ strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
+ x1: s + l,
+ y1: u + r,
+ x2: s + l,
+ y2: u + a - r
+ },
+ {
+ strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
+ x1: s + r,
+ y1: u + i,
+ x2: s + h - r,
+ y2: u + i
+ }
+ ];
+ }
+ getTitle(e) {
+ if (e)
+ return {
+ text: this.data.titleText,
+ fill: this.themeConfig.quadrantTitleFill,
+ fontSize: this.config.titleFontSize,
+ horizontalPos: 'top',
+ verticalPos: 'center',
+ rotation: 0,
+ y: this.config.titlePadding,
+ x: this.config.chartWidth / 2
+ };
+ }
+ build() {
+ let e = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText),
+ r = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText),
+ n = this.config.showTitle && !!this.data.titleText,
+ i = this.data.points.length > 0 ? 'bottom' : this.config.xAxisPosition,
+ a = this.calculateSpace(i, e, r, n);
+ return {
+ points: this.getQuadrantPoints(a),
+ quadrants: this.getQuadrants(a),
+ axisLabels: this.getAxisLabels(i, e, r, a),
+ borderLines: this.getBorders(a),
+ title: this.getTitle(n)
+ };
+ }
+ });
+ });
+ function jI(t) {
+ return !/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t);
+ }
+ function Hce(t) {
+ return !/^\d+$/.test(t);
+ }
+ function Yce(t) {
+ return !/^\d+px$/.test(t);
+ }
+ var S0,
+ Wce = R(() => {
+ 'use strict';
+ S0 = class extends Error {
+ static {
+ o(this, 'InvalidStyleError');
+ }
+ constructor(e, r, n) {
+ super(`value for ${e} ${r} is invalid, please use a valid ${n}`), (this.name = 'InvalidStyleError');
+ }
+ };
+ o(jI, 'validateHexCode');
+ o(Hce, 'validateNumber');
+ o(Yce, 'validateSizeInPixels');
+ });
+ function Wu(t) {
+ return qr(t.trim(), YFe);
+ }
+ function WFe(t) {
+ wa.setData({ quadrant1Text: Wu(t.text) });
+ }
+ function qFe(t) {
+ wa.setData({ quadrant2Text: Wu(t.text) });
+ }
+ function XFe(t) {
+ wa.setData({ quadrant3Text: Wu(t.text) });
+ }
+ function jFe(t) {
+ wa.setData({ quadrant4Text: Wu(t.text) });
+ }
+ function KFe(t) {
+ wa.setData({ xAxisLeftText: Wu(t.text) });
+ }
+ function QFe(t) {
+ wa.setData({ xAxisRightText: Wu(t.text) });
+ }
+ function ZFe(t) {
+ wa.setData({ yAxisTopText: Wu(t.text) });
+ }
+ function JFe(t) {
+ wa.setData({ yAxisBottomText: Wu(t.text) });
+ }
+ function KI(t) {
+ let e = {};
+ for (let r of t) {
+ let [n, i] = r.trim().split(/\s*:\s*/);
+ if (n === 'radius') {
+ if (Hce(i)) throw new S0(n, i, 'number');
+ e.radius = parseInt(i);
+ } else if (n === 'color') {
+ if (jI(i)) throw new S0(n, i, 'hex code');
+ e.color = i;
+ } else if (n === 'stroke-color') {
+ if (jI(i)) throw new S0(n, i, 'hex code');
+ e.strokeColor = i;
+ } else if (n === 'stroke-width') {
+ if (Yce(i)) throw new S0(n, i, 'number of pixels (eg. 10px)');
+ e.strokeWidth = i;
+ } else throw new Error(`style named ${n} is not supported.`);
+ }
+ return e;
+ }
+ function eze(t, e, r, n, i) {
+ let a = KI(i);
+ wa.addPoints([{ x: r, y: n, text: Wu(t.text), className: e, ...a }]);
+ }
+ function tze(t, e) {
+ wa.addClass(t, KI(e));
+ }
+ function rze(t) {
+ wa.setConfig({ chartWidth: t });
+ }
+ function nze(t) {
+ wa.setConfig({ chartHeight: t });
+ }
+ function ize() {
+ let t = de(),
+ { themeVariables: e, quadrantChart: r } = t;
+ return (
+ r && wa.setConfig(r),
+ wa.setThemeConfig({
+ quadrant1Fill: e.quadrant1Fill,
+ quadrant2Fill: e.quadrant2Fill,
+ quadrant3Fill: e.quadrant3Fill,
+ quadrant4Fill: e.quadrant4Fill,
+ quadrant1TextFill: e.quadrant1TextFill,
+ quadrant2TextFill: e.quadrant2TextFill,
+ quadrant3TextFill: e.quadrant3TextFill,
+ quadrant4TextFill: e.quadrant4TextFill,
+ quadrantPointFill: e.quadrantPointFill,
+ quadrantPointTextFill: e.quadrantPointTextFill,
+ quadrantXAxisTextFill: e.quadrantXAxisTextFill,
+ quadrantYAxisTextFill: e.quadrantYAxisTextFill,
+ quadrantExternalBorderStrokeFill: e.quadrantExternalBorderStrokeFill,
+ quadrantInternalBorderStrokeFill: e.quadrantInternalBorderStrokeFill,
+ quadrantTitleFill: e.quadrantTitleFill
+ }),
+ wa.setData({ titleText: Xr() }),
+ wa.build()
+ );
+ }
+ var YFe,
+ wa,
+ aze,
+ qce,
+ Xce = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ bi();
+ Uce();
+ Wce();
+ YFe = de();
+ o(Wu, 'textSanitizer');
+ wa = new uE();
+ o(WFe, 'setQuadrant1Text');
+ o(qFe, 'setQuadrant2Text');
+ o(XFe, 'setQuadrant3Text');
+ o(jFe, 'setQuadrant4Text');
+ o(KFe, 'setXAxisLeftText');
+ o(QFe, 'setXAxisRightText');
+ o(ZFe, 'setYAxisTopText');
+ o(JFe, 'setYAxisBottomText');
+ o(KI, 'parseStyles');
+ o(eze, 'addPoint');
+ o(tze, 'addClass');
+ o(rze, 'setWidth');
+ o(nze, 'setHeight');
+ o(ize, 'getQuadrantData');
+ (aze = o(function () {
+ wa.clear(), vr();
+ }, 'clear')),
+ (qce = {
+ setWidth: rze,
+ setHeight: nze,
+ setQuadrant1Text: WFe,
+ setQuadrant2Text: qFe,
+ setQuadrant3Text: XFe,
+ setQuadrant4Text: jFe,
+ setXAxisLeftText: KFe,
+ setXAxisRightText: QFe,
+ setYAxisTopText: ZFe,
+ setYAxisBottomText: JFe,
+ parseStyles: KI,
+ addPoint: eze,
+ addClass: tze,
+ getQuadrantData: ize,
+ clear: aze,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ getAccDescription: Lr,
+ setAccDescription: _r
+ });
+ });
+ var sze,
+ jce,
+ Kce = R(() => {
+ 'use strict';
+ Zt();
+ _t();
+ ut();
+ Yn();
+ (sze = o((t, e, r, n) => {
+ function i(A) {
+ return A === 'top' ? 'hanging' : 'middle';
+ }
+ o(i, 'getDominantBaseLine');
+ function a(A) {
+ return A === 'left' ? 'start' : 'middle';
+ }
+ o(a, 'getTextAnchor');
+ function s(A) {
+ return `translate(${A.x}, ${A.y}) rotate(${A.rotation || 0})`;
+ }
+ o(s, 'getTransformation');
+ let l = de();
+ V.debug(
+ `Rendering quadrant chart
+` + t
+ );
+ let u = l.securityLevel,
+ h;
+ u === 'sandbox' && (h = $e('#i' + e));
+ let d = (u === 'sandbox' ? $e(h.nodes()[0].contentDocument.body) : $e('body')).select(`[id="${e}"]`),
+ p = d.append('g').attr('class', 'main'),
+ m = l.quadrantChart?.chartWidth ?? 500,
+ g = l.quadrantChart?.chartHeight ?? 500;
+ Sr(d, g, m, l.quadrantChart?.useMaxWidth ?? !0),
+ d.attr('viewBox', '0 0 ' + m + ' ' + g),
+ n.db.setHeight(g),
+ n.db.setWidth(m);
+ let y = n.db.getQuadrantData(),
+ v = p.append('g').attr('class', 'quadrants'),
+ x = p.append('g').attr('class', 'border'),
+ b = p.append('g').attr('class', 'data-points'),
+ w = p.append('g').attr('class', 'labels'),
+ S = p.append('g').attr('class', 'title');
+ y.title &&
+ S.append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('fill', y.title.fill)
+ .attr('font-size', y.title.fontSize)
+ .attr('dominant-baseline', i(y.title.horizontalPos))
+ .attr('text-anchor', a(y.title.verticalPos))
+ .attr('transform', s(y.title))
+ .text(y.title.text),
+ y.borderLines &&
+ x
+ .selectAll('line')
+ .data(y.borderLines)
+ .enter()
+ .append('line')
+ .attr('x1', (A) => A.x1)
+ .attr('y1', (A) => A.y1)
+ .attr('x2', (A) => A.x2)
+ .attr('y2', (A) => A.y2)
+ .style('stroke', (A) => A.strokeFill)
+ .style('stroke-width', (A) => A.strokeWidth);
+ let T = v.selectAll('g.quadrant').data(y.quadrants).enter().append('g').attr('class', 'quadrant');
+ T.append('rect')
+ .attr('x', (A) => A.x)
+ .attr('y', (A) => A.y)
+ .attr('width', (A) => A.width)
+ .attr('height', (A) => A.height)
+ .attr('fill', (A) => A.fill),
+ T.append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('fill', (A) => A.text.fill)
+ .attr('font-size', (A) => A.text.fontSize)
+ .attr('dominant-baseline', (A) => i(A.text.horizontalPos))
+ .attr('text-anchor', (A) => a(A.text.verticalPos))
+ .attr('transform', (A) => s(A.text))
+ .text((A) => A.text.text),
+ w
+ .selectAll('g.label')
+ .data(y.axisLabels)
+ .enter()
+ .append('g')
+ .attr('class', 'label')
+ .append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .text((A) => A.text)
+ .attr('fill', (A) => A.fill)
+ .attr('font-size', (A) => A.fontSize)
+ .attr('dominant-baseline', (A) => i(A.horizontalPos))
+ .attr('text-anchor', (A) => a(A.verticalPos))
+ .attr('transform', (A) => s(A));
+ let _ = b.selectAll('g.data-point').data(y.points).enter().append('g').attr('class', 'data-point');
+ _.append('circle')
+ .attr('cx', (A) => A.x)
+ .attr('cy', (A) => A.y)
+ .attr('r', (A) => A.radius)
+ .attr('fill', (A) => A.fill)
+ .attr('stroke', (A) => A.strokeColor)
+ .attr('stroke-width', (A) => A.strokeWidth),
+ _.append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .text((A) => A.text.text)
+ .attr('fill', (A) => A.text.fill)
+ .attr('font-size', (A) => A.text.fontSize)
+ .attr('dominant-baseline', (A) => i(A.text.horizontalPos))
+ .attr('text-anchor', (A) => a(A.text.verticalPos))
+ .attr('transform', (A) => s(A.text));
+ }, 'draw')),
+ (jce = { draw: sze });
+ });
+ var Qce = {};
+ hr(Qce, { diagram: () => oze });
+ var oze,
+ Zce = R(() => {
+ 'use strict';
+ Vce();
+ Xce();
+ Kce();
+ oze = {
+ parser: $ce,
+ db: qce,
+ renderer: jce,
+ styles: o(() => '', 'styles')
+ };
+ });
+ var QI,
+ tue,
+ rue = R(() => {
+ 'use strict';
+ QI = (function () {
+ var t = o(function (O, D, P, F) {
+ for (P = P || {}, F = O.length; F--; P[O[F]] = D);
+ return P;
+ }, 'o'),
+ e = [1, 10, 12, 14, 16, 18, 19, 21, 23],
+ r = [2, 6],
+ n = [1, 3],
+ i = [1, 5],
+ a = [1, 6],
+ s = [1, 7],
+ l = [1, 5, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36],
+ u = [1, 25],
+ h = [1, 26],
+ f = [1, 28],
+ d = [1, 29],
+ p = [1, 30],
+ m = [1, 31],
+ g = [1, 32],
+ y = [1, 33],
+ v = [1, 34],
+ x = [1, 35],
+ b = [1, 36],
+ w = [1, 37],
+ S = [1, 43],
+ T = [1, 42],
+ E = [1, 47],
+ _ = [1, 50],
+ A = [1, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36],
+ L = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36],
+ M = [
+ 1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50
+ ],
+ N = [1, 64],
+ k = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ eol: 4,
+ XYCHART: 5,
+ chartConfig: 6,
+ document: 7,
+ CHART_ORIENTATION: 8,
+ statement: 9,
+ title: 10,
+ text: 11,
+ X_AXIS: 12,
+ parseXAxis: 13,
+ Y_AXIS: 14,
+ parseYAxis: 15,
+ LINE: 16,
+ plotData: 17,
+ BAR: 18,
+ acc_title: 19,
+ acc_title_value: 20,
+ acc_descr: 21,
+ acc_descr_value: 22,
+ acc_descr_multiline_value: 23,
+ SQUARE_BRACES_START: 24,
+ commaSeparatedNumbers: 25,
+ SQUARE_BRACES_END: 26,
+ NUMBER_WITH_DECIMAL: 27,
+ COMMA: 28,
+ xAxisData: 29,
+ bandData: 30,
+ ARROW_DELIMITER: 31,
+ commaSeparatedTexts: 32,
+ yAxisData: 33,
+ NEWLINE: 34,
+ SEMI: 35,
+ EOF: 36,
+ alphaNum: 37,
+ STR: 38,
+ MD_STR: 39,
+ alphaNumToken: 40,
+ AMP: 41,
+ NUM: 42,
+ ALPHA: 43,
+ PLUS: 44,
+ EQUALS: 45,
+ MULT: 46,
+ DOT: 47,
+ BRKT: 48,
+ MINUS: 49,
+ UNDERSCORE: 50,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 5: 'XYCHART',
+ 8: 'CHART_ORIENTATION',
+ 10: 'title',
+ 12: 'X_AXIS',
+ 14: 'Y_AXIS',
+ 16: 'LINE',
+ 18: 'BAR',
+ 19: 'acc_title',
+ 20: 'acc_title_value',
+ 21: 'acc_descr',
+ 22: 'acc_descr_value',
+ 23: 'acc_descr_multiline_value',
+ 24: 'SQUARE_BRACES_START',
+ 26: 'SQUARE_BRACES_END',
+ 27: 'NUMBER_WITH_DECIMAL',
+ 28: 'COMMA',
+ 31: 'ARROW_DELIMITER',
+ 34: 'NEWLINE',
+ 35: 'SEMI',
+ 36: 'EOF',
+ 38: 'STR',
+ 39: 'MD_STR',
+ 41: 'AMP',
+ 42: 'NUM',
+ 43: 'ALPHA',
+ 44: 'PLUS',
+ 45: 'EQUALS',
+ 46: 'MULT',
+ 47: 'DOT',
+ 48: 'BRKT',
+ 49: 'MINUS',
+ 50: 'UNDERSCORE'
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 3],
+ [3, 2],
+ [3, 1],
+ [6, 1],
+ [7, 0],
+ [7, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 3],
+ [9, 2],
+ [9, 3],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [17, 3],
+ [25, 3],
+ [25, 1],
+ [13, 1],
+ [13, 2],
+ [13, 1],
+ [29, 1],
+ [29, 3],
+ [30, 3],
+ [32, 3],
+ [32, 1],
+ [15, 1],
+ [15, 2],
+ [15, 1],
+ [33, 3],
+ [4, 1],
+ [4, 1],
+ [4, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [37, 1],
+ [37, 2],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1],
+ [40, 1]
+ ],
+ performAction: o(function (D, P, F, B, $, z, Y) {
+ var Q = z.length - 1;
+ switch ($) {
+ case 5:
+ B.setOrientation(z[Q]);
+ break;
+ case 9:
+ B.setDiagramTitle(z[Q].text.trim());
+ break;
+ case 12:
+ B.setLineData({ text: '', type: 'text' }, z[Q]);
+ break;
+ case 13:
+ B.setLineData(z[Q - 1], z[Q]);
+ break;
+ case 14:
+ B.setBarData({ text: '', type: 'text' }, z[Q]);
+ break;
+ case 15:
+ B.setBarData(z[Q - 1], z[Q]);
+ break;
+ case 16:
+ (this.$ = z[Q].trim()), B.setAccTitle(this.$);
+ break;
+ case 17:
+ case 18:
+ (this.$ = z[Q].trim()), B.setAccDescription(this.$);
+ break;
+ case 19:
+ this.$ = z[Q - 1];
+ break;
+ case 20:
+ this.$ = [Number(z[Q - 2]), ...z[Q]];
+ break;
+ case 21:
+ this.$ = [Number(z[Q])];
+ break;
+ case 22:
+ B.setXAxisTitle(z[Q]);
+ break;
+ case 23:
+ B.setXAxisTitle(z[Q - 1]);
+ break;
+ case 24:
+ B.setXAxisTitle({ type: 'text', text: '' });
+ break;
+ case 25:
+ B.setXAxisBand(z[Q]);
+ break;
+ case 26:
+ B.setXAxisRangeData(Number(z[Q - 2]), Number(z[Q]));
+ break;
+ case 27:
+ this.$ = z[Q - 1];
+ break;
+ case 28:
+ this.$ = [z[Q - 2], ...z[Q]];
+ break;
+ case 29:
+ this.$ = [z[Q]];
+ break;
+ case 30:
+ B.setYAxisTitle(z[Q]);
+ break;
+ case 31:
+ B.setYAxisTitle(z[Q - 1]);
+ break;
+ case 32:
+ B.setYAxisTitle({ type: 'text', text: '' });
+ break;
+ case 33:
+ B.setYAxisRangeData(Number(z[Q - 2]), Number(z[Q]));
+ break;
+ case 37:
+ this.$ = { text: z[Q], type: 'text' };
+ break;
+ case 38:
+ this.$ = { text: z[Q], type: 'text' };
+ break;
+ case 39:
+ this.$ = { text: z[Q], type: 'markdown' };
+ break;
+ case 40:
+ this.$ = z[Q];
+ break;
+ case 41:
+ this.$ = z[Q - 1] + '' + z[Q];
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ t(e, r, { 3: 1, 4: 2, 7: 4, 5: n, 34: i, 35: a, 36: s }),
+ { 1: [3] },
+ t(e, r, { 4: 2, 7: 4, 3: 8, 5: n, 34: i, 35: a, 36: s }),
+ t(e, r, {
+ 4: 2,
+ 7: 4,
+ 6: 9,
+ 3: 10,
+ 5: n,
+ 8: [1, 11],
+ 34: i,
+ 35: a,
+ 36: s
+ }),
+ {
+ 1: [2, 4],
+ 9: 12,
+ 10: [1, 13],
+ 12: [1, 14],
+ 14: [1, 15],
+ 16: [1, 16],
+ 18: [1, 17],
+ 19: [1, 18],
+ 21: [1, 19],
+ 23: [1, 20]
+ },
+ t(l, [2, 34]),
+ t(l, [2, 35]),
+ t(l, [2, 36]),
+ { 1: [2, 1] },
+ t(e, r, { 4: 2, 7: 4, 3: 21, 5: n, 34: i, 35: a, 36: s }),
+ { 1: [2, 3] },
+ t(l, [2, 5]),
+ t(e, [2, 7], { 4: 22, 34: i, 35: a, 36: s }),
+ {
+ 11: 23,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ {
+ 11: 39,
+ 13: 38,
+ 24: S,
+ 27: T,
+ 29: 40,
+ 30: 41,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ {
+ 11: 45,
+ 15: 44,
+ 27: E,
+ 33: 46,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ {
+ 11: 49,
+ 17: 48,
+ 24: _,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ {
+ 11: 52,
+ 17: 51,
+ 24: _,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ { 20: [1, 53] },
+ { 22: [1, 54] },
+ t(A, [2, 18]),
+ { 1: [2, 2] },
+ t(A, [2, 8]),
+ t(A, [2, 9]),
+ t(L, [2, 37], {
+ 40: 55,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ }),
+ t(L, [2, 38]),
+ t(L, [2, 39]),
+ t(M, [2, 40]),
+ t(M, [2, 42]),
+ t(M, [2, 43]),
+ t(M, [2, 44]),
+ t(M, [2, 45]),
+ t(M, [2, 46]),
+ t(M, [2, 47]),
+ t(M, [2, 48]),
+ t(M, [2, 49]),
+ t(M, [2, 50]),
+ t(M, [2, 51]),
+ t(A, [2, 10]),
+ t(A, [2, 22], { 30: 41, 29: 56, 24: S, 27: T }),
+ t(A, [2, 24]),
+ t(A, [2, 25]),
+ { 31: [1, 57] },
+ {
+ 11: 59,
+ 32: 58,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ t(A, [2, 11]),
+ t(A, [2, 30], { 33: 60, 27: E }),
+ t(A, [2, 32]),
+ { 31: [1, 61] },
+ t(A, [2, 12]),
+ { 17: 62, 24: _ },
+ { 25: 63, 27: N },
+ t(A, [2, 14]),
+ { 17: 65, 24: _ },
+ t(A, [2, 16]),
+ t(A, [2, 17]),
+ t(M, [2, 41]),
+ t(A, [2, 23]),
+ { 27: [1, 66] },
+ { 26: [1, 67] },
+ { 26: [2, 29], 28: [1, 68] },
+ t(A, [2, 31]),
+ { 27: [1, 69] },
+ t(A, [2, 13]),
+ { 26: [1, 70] },
+ { 26: [2, 21], 28: [1, 71] },
+ t(A, [2, 15]),
+ t(A, [2, 26]),
+ t(A, [2, 27]),
+ {
+ 11: 59,
+ 32: 72,
+ 37: 24,
+ 38: u,
+ 39: h,
+ 40: 27,
+ 41: f,
+ 42: d,
+ 43: p,
+ 44: m,
+ 45: g,
+ 46: y,
+ 47: v,
+ 48: x,
+ 49: b,
+ 50: w
+ },
+ t(A, [2, 33]),
+ t(A, [2, 19]),
+ { 25: 73, 27: N },
+ { 26: [2, 28] },
+ { 26: [2, 20] }
+ ],
+ defaultActions: {
+ 8: [2, 1],
+ 10: [2, 3],
+ 21: [2, 2],
+ 72: [2, 28],
+ 73: [2, 20]
+ },
+ parseError: o(function (D, P) {
+ if (P.recoverable) this.trace(D);
+ else {
+ var F = new Error(D);
+ throw ((F.hash = P), F);
+ }
+ }, 'parseError'),
+ parse: o(function (D) {
+ var P = this,
+ F = [0],
+ B = [],
+ $ = [null],
+ z = [],
+ Y = this.table,
+ Q = '',
+ X = 0,
+ ie = 0,
+ j = 0,
+ J = 2,
+ Z = 1,
+ H = z.slice.call(arguments, 1),
+ q = Object.create(this.lexer),
+ K = { yy: {} };
+ for (var se in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, se) && (K.yy[se] = this.yy[se]);
+ q.setInput(D, K.yy),
+ (K.yy.lexer = q),
+ (K.yy.parser = this),
+ typeof q.yylloc > 'u' && (q.yylloc = {});
+ var ce = q.yylloc;
+ z.push(ce);
+ var ue = q.options && q.options.ranges;
+ typeof K.yy.parseError == 'function'
+ ? (this.parseError = K.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function te(he) {
+ (F.length = F.length - 2 * he), ($.length = $.length - he), (z.length = z.length - he);
+ }
+ o(te, 'popStack');
+ function De() {
+ var he;
+ return (
+ (he = B.pop() || q.lex() || Z),
+ typeof he != 'number' &&
+ (he instanceof Array && ((B = he), (he = B.pop())),
+ (he = P.symbols_[he] || he)),
+ he
+ );
+ }
+ o(De, 'lex');
+ for (var oe, ke, Ie, Se, Ue, Pe, _e = {}, me, W, fe, ge; ; ) {
+ if (
+ ((Ie = F[F.length - 1]),
+ this.defaultActions[Ie]
+ ? (Se = this.defaultActions[Ie])
+ : ((oe === null || typeof oe > 'u') && (oe = De()), (Se = Y[Ie] && Y[Ie][oe])),
+ typeof Se > 'u' || !Se.length || !Se[0])
+ ) {
+ var re = '';
+ ge = [];
+ for (me in Y[Ie])
+ this.terminals_[me] && me > J && ge.push("'" + this.terminals_[me] + "'");
+ q.showPosition
+ ? (re =
+ 'Parse error on line ' +
+ (X + 1) +
+ `:
+` +
+ q.showPosition() +
+ `
+Expecting ` +
+ ge.join(', ') +
+ ", got '" +
+ (this.terminals_[oe] || oe) +
+ "'")
+ : (re =
+ 'Parse error on line ' +
+ (X + 1) +
+ ': Unexpected ' +
+ (oe == Z ? 'end of input' : "'" + (this.terminals_[oe] || oe) + "'")),
+ this.parseError(re, {
+ text: q.match,
+ token: this.terminals_[oe] || oe,
+ line: q.yylineno,
+ loc: ce,
+ expected: ge
+ });
+ }
+ if (Se[0] instanceof Array && Se.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Ie + ', token: ' + oe
+ );
+ switch (Se[0]) {
+ case 1:
+ F.push(oe),
+ $.push(q.yytext),
+ z.push(q.yylloc),
+ F.push(Se[1]),
+ (oe = null),
+ ke
+ ? ((oe = ke), (ke = null))
+ : ((ie = q.yyleng),
+ (Q = q.yytext),
+ (X = q.yylineno),
+ (ce = q.yylloc),
+ j > 0 && j--);
+ break;
+ case 2:
+ if (
+ ((W = this.productions_[Se[1]][1]),
+ (_e.$ = $[$.length - W]),
+ (_e._$ = {
+ first_line: z[z.length - (W || 1)].first_line,
+ last_line: z[z.length - 1].last_line,
+ first_column: z[z.length - (W || 1)].first_column,
+ last_column: z[z.length - 1].last_column
+ }),
+ ue &&
+ (_e._$.range = [
+ z[z.length - (W || 1)].range[0],
+ z[z.length - 1].range[1]
+ ]),
+ (Pe = this.performAction.apply(
+ _e,
+ [Q, ie, X, K.yy, Se[1], $, z].concat(H)
+ )),
+ typeof Pe < 'u')
+ )
+ return Pe;
+ W &&
+ ((F = F.slice(0, -1 * W * 2)),
+ ($ = $.slice(0, -1 * W)),
+ (z = z.slice(0, -1 * W))),
+ F.push(this.productions_[Se[1]][0]),
+ $.push(_e.$),
+ z.push(_e._$),
+ (fe = Y[F[F.length - 2]][F[F.length - 1]]),
+ F.push(fe);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ I = (function () {
+ var O = {
+ EOF: 1,
+ parseError: o(function (P, F) {
+ if (this.yy.parser) this.yy.parser.parseError(P, F);
+ else throw new Error(P);
+ }, 'parseError'),
+ setInput: o(function (D, P) {
+ return (
+ (this.yy = P || this.yy || {}),
+ (this._input = D),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var D = this._input[0];
+ (this.yytext += D),
+ this.yyleng++,
+ this.offset++,
+ (this.match += D),
+ (this.matched += D);
+ var P = D.match(/(?:\r\n?|\n).*/g);
+ return (
+ P ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ D
+ );
+ }, 'input'),
+ unput: o(function (D) {
+ var P = D.length,
+ F = D.split(/(?:\r\n?|\n)/g);
+ (this._input = D + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - P)),
+ (this.offset -= P);
+ var B = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ F.length - 1 && (this.yylineno -= F.length - 1);
+ var $ = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: F
+ ? (F.length === B.length ? this.yylloc.first_column : 0) +
+ B[B.length - F.length].length -
+ F[0].length
+ : this.yylloc.first_column - P
+ }),
+ this.options.ranges && (this.yylloc.range = [$[0], $[0] + this.yyleng - P]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (D) {
+ this.unput(this.match.slice(D));
+ }, 'less'),
+ pastInput: o(function () {
+ var D = this.matched.substr(0, this.matched.length - this.match.length);
+ return (D.length > 20 ? '...' : '') + D.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var D = this.match;
+ return (
+ D.length < 20 && (D += this._input.substr(0, 20 - D.length)),
+ (D.substr(0, 20) + (D.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var D = this.pastInput(),
+ P = new Array(D.length + 1).join('-');
+ return (
+ D +
+ this.upcomingInput() +
+ `
+` +
+ P +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (D, P) {
+ var F, B, $;
+ if (
+ (this.options.backtrack_lexer &&
+ (($ = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && ($.yylloc.range = this.yylloc.range.slice(0))),
+ (B = D[0].match(/(?:\r\n?|\n).*/g)),
+ B && (this.yylineno += B.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: B
+ ? B[B.length - 1].length - B[B.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + D[0].length
+ }),
+ (this.yytext += D[0]),
+ (this.match += D[0]),
+ (this.matches = D),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(D[0].length)),
+ (this.matched += D[0]),
+ (F = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ P,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ F)
+ )
+ return F;
+ if (this._backtrack) {
+ for (var z in $) this[z] = $[z];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var D, P, F, B;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var $ = this._currentRules(), z = 0; z < $.length; z++)
+ if (
+ ((F = this._input.match(this.rules[$[z]])),
+ F && (!P || F[0].length > P[0].length))
+ ) {
+ if (((P = F), (B = z), this.options.backtrack_lexer)) {
+ if (((D = this.test_match(F, $[z])), D !== !1)) return D;
+ if (this._backtrack) {
+ P = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return P
+ ? ((D = this.test_match(P, $[B])), D !== !1 ? D : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var P = this.next();
+ return P || this.lex();
+ }, 'lex'),
+ begin: o(function (P) {
+ this.conditionStack.push(P);
+ }, 'begin'),
+ popState: o(function () {
+ var P = this.conditionStack.length - 1;
+ return P > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (P) {
+ return (
+ (P = this.conditionStack.length - 1 - Math.abs(P || 0)),
+ P >= 0 ? this.conditionStack[P] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (P) {
+ this.begin(P);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (P, F, B, $) {
+ var z = $;
+ switch (B) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return this.popState(), 34;
+ break;
+ case 3:
+ return this.popState(), 34;
+ break;
+ case 4:
+ return 34;
+ case 5:
+ break;
+ case 6:
+ return 10;
+ case 7:
+ return this.pushState('acc_title'), 19;
+ break;
+ case 8:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 9:
+ return this.pushState('acc_descr'), 21;
+ break;
+ case 10:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 11:
+ this.pushState('acc_descr_multiline');
+ break;
+ case 12:
+ this.popState();
+ break;
+ case 13:
+ return 'acc_descr_multiline_value';
+ case 14:
+ return 5;
+ case 15:
+ return 8;
+ case 16:
+ return this.pushState('axis_data'), 'X_AXIS';
+ break;
+ case 17:
+ return this.pushState('axis_data'), 'Y_AXIS';
+ break;
+ case 18:
+ return this.pushState('axis_band_data'), 24;
+ break;
+ case 19:
+ return 31;
+ case 20:
+ return this.pushState('data'), 16;
+ break;
+ case 21:
+ return this.pushState('data'), 18;
+ break;
+ case 22:
+ return this.pushState('data_inner'), 24;
+ break;
+ case 23:
+ return 27;
+ case 24:
+ return this.popState(), 26;
+ break;
+ case 25:
+ this.popState();
+ break;
+ case 26:
+ this.pushState('string');
+ break;
+ case 27:
+ this.popState();
+ break;
+ case 28:
+ return 'STR';
+ case 29:
+ return 24;
+ case 30:
+ return 26;
+ case 31:
+ return 43;
+ case 32:
+ return 'COLON';
+ case 33:
+ return 44;
+ case 34:
+ return 28;
+ case 35:
+ return 45;
+ case 36:
+ return 46;
+ case 37:
+ return 48;
+ case 38:
+ return 50;
+ case 39:
+ return 47;
+ case 40:
+ return 41;
+ case 41:
+ return 49;
+ case 42:
+ return 42;
+ case 43:
+ break;
+ case 44:
+ return 35;
+ case 45:
+ return 36;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:(\r?\n))/i,
+ /^(?:(\r?\n))/i,
+ /^(?:[\n\r]+)/i,
+ /^(?:%%[^\n]*)/i,
+ /^(?:title\b)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:\{)/i,
+ /^(?:[^\}]*)/i,
+ /^(?:xychart-beta\b)/i,
+ /^(?:(?:vertical|horizontal))/i,
+ /^(?:x-axis\b)/i,
+ /^(?:y-axis\b)/i,
+ /^(?:\[)/i,
+ /^(?:-->)/i,
+ /^(?:line\b)/i,
+ /^(?:bar\b)/i,
+ /^(?:\[)/i,
+ /^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,
+ /^(?:\])/i,
+ /^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:\[)/i,
+ /^(?:\])/i,
+ /^(?:[A-Za-z]+)/i,
+ /^(?::)/i,
+ /^(?:\+)/i,
+ /^(?:,)/i,
+ /^(?:=)/i,
+ /^(?:\*)/i,
+ /^(?:#)/i,
+ /^(?:[\_])/i,
+ /^(?:\.)/i,
+ /^(?:&)/i,
+ /^(?:-)/i,
+ /^(?:[0-9]+)/i,
+ /^(?:\s+)/i,
+ /^(?:;)/i,
+ /^(?:$)/i
+ ],
+ conditions: {
+ data_inner: {
+ rules: [
+ 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
+ ],
+ inclusive: !0
+ },
+ data: {
+ rules: [
+ 0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
+ ],
+ inclusive: !0
+ },
+ axis_band_data: {
+ rules: [
+ 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
+ ],
+ inclusive: !0
+ },
+ axis_data: {
+ rules: [
+ 0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
+ ],
+ inclusive: !0
+ },
+ acc_descr_multiline: { rules: [12, 13], inclusive: !1 },
+ acc_descr: { rules: [10], inclusive: !1 },
+ acc_title: { rules: [8], inclusive: !1 },
+ title: { rules: [], inclusive: !1 },
+ md_string: { rules: [], inclusive: !1 },
+ string: { rules: [27, 28], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 25, 26, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return O;
+ })();
+ k.lexer = I;
+ function C() {
+ this.yy = {};
+ }
+ return o(C, 'Parser'), (C.prototype = k), (k.Parser = C), new C();
+ })();
+ QI.parser = QI;
+ tue = QI;
+ });
+ function ZI(t) {
+ return t.type === 'bar';
+ }
+ function hE(t) {
+ return t.type === 'band';
+ }
+ function Ng(t) {
+ return t.type === 'linear';
+ }
+ var fE = R(() => {
+ 'use strict';
+ o(ZI, 'isBarPlot');
+ o(hE, 'isBandAxisData');
+ o(Ng, 'isLinearAxisData');
+ });
+ var Mg,
+ JI = R(() => {
+ 'use strict';
+ Al();
+ Mg = class {
+ constructor(e) {
+ this.parentGroup = e;
+ }
+ static {
+ o(this, 'TextDimensionCalculatorWithFont');
+ }
+ getMaxDimension(e, r) {
+ if (!this.parentGroup)
+ return {
+ width: e.reduce((a, s) => Math.max(s.length, a), 0) * r,
+ height: r
+ };
+ let n = { width: 0, height: 0 },
+ i = this.parentGroup.append('g').attr('visibility', 'hidden').attr('font-size', r);
+ for (let a of e) {
+ let s = bj(i, 1, a),
+ l = s ? s.width : a.length * r,
+ u = s ? s.height : r;
+ (n.width = Math.max(n.width, l)), (n.height = Math.max(n.height, u));
+ }
+ return i.remove(), n;
+ }
+ };
+ });
+ var Ig,
+ eO = R(() => {
+ 'use strict';
+ Ig = class {
+ constructor(e, r, n, i) {
+ this.axisConfig = e;
+ this.title = r;
+ this.textDimensionCalculator = n;
+ this.axisThemeConfig = i;
+ this.boundingRect = { x: 0, y: 0, width: 0, height: 0 };
+ this.axisPosition = 'left';
+ this.showTitle = !1;
+ this.showLabel = !1;
+ this.showTick = !1;
+ this.showAxisLine = !1;
+ this.outerPadding = 0;
+ this.titleTextHeight = 0;
+ this.labelTextHeight = 0;
+ (this.range = [0, 10]),
+ (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }),
+ (this.axisPosition = 'left');
+ }
+ static {
+ o(this, 'BaseAxis');
+ }
+ setRange(e) {
+ (this.range = e),
+ this.axisPosition === 'left' || this.axisPosition === 'right'
+ ? (this.boundingRect.height = e[1] - e[0])
+ : (this.boundingRect.width = e[1] - e[0]),
+ this.recalculateScale();
+ }
+ getRange() {
+ return [this.range[0] + this.outerPadding, this.range[1] - this.outerPadding];
+ }
+ setAxisPosition(e) {
+ (this.axisPosition = e), this.setRange(this.range);
+ }
+ getTickDistance() {
+ let e = this.getRange();
+ return Math.abs(e[0] - e[1]) / this.getTickValues().length;
+ }
+ getAxisOuterPadding() {
+ return this.outerPadding;
+ }
+ getLabelDimension() {
+ return this.textDimensionCalculator.getMaxDimension(
+ this.getTickValues().map((e) => e.toString()),
+ this.axisConfig.labelFontSize
+ );
+ }
+ recalculateOuterPaddingToDrawBar() {
+ 0.7 * this.getTickDistance() > this.outerPadding * 2 &&
+ (this.outerPadding = Math.floor((0.7 * this.getTickDistance()) / 2)),
+ this.recalculateScale();
+ }
+ calculateSpaceIfDrawnHorizontally(e) {
+ let r = e.height;
+ if (
+ (this.axisConfig.showAxisLine &&
+ r > this.axisConfig.axisLineWidth &&
+ ((r -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)),
+ this.axisConfig.showLabel)
+ ) {
+ let n = this.getLabelDimension(),
+ i = 0.2 * e.width;
+ this.outerPadding = Math.min(n.width / 2, i);
+ let a = n.height + this.axisConfig.labelPadding * 2;
+ (this.labelTextHeight = n.height), a <= r && ((r -= a), (this.showLabel = !0));
+ }
+ if (
+ (this.axisConfig.showTick &&
+ r >= this.axisConfig.tickLength &&
+ ((this.showTick = !0), (r -= this.axisConfig.tickLength)),
+ this.axisConfig.showTitle && this.title)
+ ) {
+ let n = this.textDimensionCalculator.getMaxDimension(
+ [this.title],
+ this.axisConfig.titleFontSize
+ ),
+ i = n.height + this.axisConfig.titlePadding * 2;
+ (this.titleTextHeight = n.height), i <= r && ((r -= i), (this.showTitle = !0));
+ }
+ (this.boundingRect.width = e.width), (this.boundingRect.height = e.height - r);
+ }
+ calculateSpaceIfDrawnVertical(e) {
+ let r = e.width;
+ if (
+ (this.axisConfig.showAxisLine &&
+ r > this.axisConfig.axisLineWidth &&
+ ((r -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)),
+ this.axisConfig.showLabel)
+ ) {
+ let n = this.getLabelDimension(),
+ i = 0.2 * e.height;
+ this.outerPadding = Math.min(n.height / 2, i);
+ let a = n.width + this.axisConfig.labelPadding * 2;
+ a <= r && ((r -= a), (this.showLabel = !0));
+ }
+ if (
+ (this.axisConfig.showTick &&
+ r >= this.axisConfig.tickLength &&
+ ((this.showTick = !0), (r -= this.axisConfig.tickLength)),
+ this.axisConfig.showTitle && this.title)
+ ) {
+ let n = this.textDimensionCalculator.getMaxDimension(
+ [this.title],
+ this.axisConfig.titleFontSize
+ ),
+ i = n.height + this.axisConfig.titlePadding * 2;
+ (this.titleTextHeight = n.height), i <= r && ((r -= i), (this.showTitle = !0));
+ }
+ (this.boundingRect.width = e.width - r), (this.boundingRect.height = e.height);
+ }
+ calculateSpace(e) {
+ return (
+ this.axisPosition === 'left' || this.axisPosition === 'right'
+ ? this.calculateSpaceIfDrawnVertical(e)
+ : this.calculateSpaceIfDrawnHorizontally(e),
+ this.recalculateScale(),
+ { width: this.boundingRect.width, height: this.boundingRect.height }
+ );
+ }
+ setBoundingBoxXY(e) {
+ (this.boundingRect.x = e.x), (this.boundingRect.y = e.y);
+ }
+ getDrawableElementsForLeftAxis() {
+ let e = [];
+ if (this.showAxisLine) {
+ let r = this.boundingRect.x + this.boundingRect.width - this.axisConfig.axisLineWidth / 2;
+ e.push({
+ type: 'path',
+ groupTexts: ['left-axis', 'axisl-line'],
+ data: [
+ {
+ path: `M ${r},${this.boundingRect.y} L ${r},${
+ this.boundingRect.y + this.boundingRect.height
+ } `,
+ strokeFill: this.axisThemeConfig.axisLineColor,
+ strokeWidth: this.axisConfig.axisLineWidth
+ }
+ ]
+ });
+ }
+ if (
+ (this.showLabel &&
+ e.push({
+ type: 'text',
+ groupTexts: ['left-axis', 'label'],
+ data: this.getTickValues().map((r) => ({
+ text: r.toString(),
+ x:
+ this.boundingRect.x +
+ this.boundingRect.width -
+ (this.showLabel ? this.axisConfig.labelPadding : 0) -
+ (this.showTick ? this.axisConfig.tickLength : 0) -
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),
+ y: this.getScaleValue(r),
+ fill: this.axisThemeConfig.labelColor,
+ fontSize: this.axisConfig.labelFontSize,
+ rotation: 0,
+ verticalPos: 'middle',
+ horizontalPos: 'right'
+ }))
+ }),
+ this.showTick)
+ ) {
+ let r =
+ this.boundingRect.x +
+ this.boundingRect.width -
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);
+ e.push({
+ type: 'path',
+ groupTexts: ['left-axis', 'ticks'],
+ data: this.getTickValues().map((n) => ({
+ path: `M ${r},${this.getScaleValue(n)} L ${
+ r - this.axisConfig.tickLength
+ },${this.getScaleValue(n)}`,
+ strokeFill: this.axisThemeConfig.tickColor,
+ strokeWidth: this.axisConfig.tickWidth
+ }))
+ });
+ }
+ return (
+ this.showTitle &&
+ e.push({
+ type: 'text',
+ groupTexts: ['left-axis', 'title'],
+ data: [
+ {
+ text: this.title,
+ x: this.boundingRect.x + this.axisConfig.titlePadding,
+ y: this.boundingRect.y + this.boundingRect.height / 2,
+ fill: this.axisThemeConfig.titleColor,
+ fontSize: this.axisConfig.titleFontSize,
+ rotation: 270,
+ verticalPos: 'top',
+ horizontalPos: 'center'
+ }
+ ]
+ }),
+ e
+ );
+ }
+ getDrawableElementsForBottomAxis() {
+ let e = [];
+ if (this.showAxisLine) {
+ let r = this.boundingRect.y + this.axisConfig.axisLineWidth / 2;
+ e.push({
+ type: 'path',
+ groupTexts: ['bottom-axis', 'axis-line'],
+ data: [
+ {
+ path: `M ${this.boundingRect.x},${r} L ${
+ this.boundingRect.x + this.boundingRect.width
+ },${r}`,
+ strokeFill: this.axisThemeConfig.axisLineColor,
+ strokeWidth: this.axisConfig.axisLineWidth
+ }
+ ]
+ });
+ }
+ if (
+ (this.showLabel &&
+ e.push({
+ type: 'text',
+ groupTexts: ['bottom-axis', 'label'],
+ data: this.getTickValues().map((r) => ({
+ text: r.toString(),
+ x: this.getScaleValue(r),
+ y:
+ this.boundingRect.y +
+ this.axisConfig.labelPadding +
+ (this.showTick ? this.axisConfig.tickLength : 0) +
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),
+ fill: this.axisThemeConfig.labelColor,
+ fontSize: this.axisConfig.labelFontSize,
+ rotation: 0,
+ verticalPos: 'top',
+ horizontalPos: 'center'
+ }))
+ }),
+ this.showTick)
+ ) {
+ let r = this.boundingRect.y + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);
+ e.push({
+ type: 'path',
+ groupTexts: ['bottom-axis', 'ticks'],
+ data: this.getTickValues().map((n) => ({
+ path: `M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${
+ r + this.axisConfig.tickLength
+ }`,
+ strokeFill: this.axisThemeConfig.tickColor,
+ strokeWidth: this.axisConfig.tickWidth
+ }))
+ });
+ }
+ return (
+ this.showTitle &&
+ e.push({
+ type: 'text',
+ groupTexts: ['bottom-axis', 'title'],
+ data: [
+ {
+ text: this.title,
+ x: this.range[0] + (this.range[1] - this.range[0]) / 2,
+ y:
+ this.boundingRect.y +
+ this.boundingRect.height -
+ this.axisConfig.titlePadding -
+ this.titleTextHeight,
+ fill: this.axisThemeConfig.titleColor,
+ fontSize: this.axisConfig.titleFontSize,
+ rotation: 0,
+ verticalPos: 'top',
+ horizontalPos: 'center'
+ }
+ ]
+ }),
+ e
+ );
+ }
+ getDrawableElementsForTopAxis() {
+ let e = [];
+ if (this.showAxisLine) {
+ let r = this.boundingRect.y + this.boundingRect.height - this.axisConfig.axisLineWidth / 2;
+ e.push({
+ type: 'path',
+ groupTexts: ['top-axis', 'axis-line'],
+ data: [
+ {
+ path: `M ${this.boundingRect.x},${r} L ${
+ this.boundingRect.x + this.boundingRect.width
+ },${r}`,
+ strokeFill: this.axisThemeConfig.axisLineColor,
+ strokeWidth: this.axisConfig.axisLineWidth
+ }
+ ]
+ });
+ }
+ if (
+ (this.showLabel &&
+ e.push({
+ type: 'text',
+ groupTexts: ['top-axis', 'label'],
+ data: this.getTickValues().map((r) => ({
+ text: r.toString(),
+ x: this.getScaleValue(r),
+ y:
+ this.boundingRect.y +
+ (this.showTitle ? this.titleTextHeight + this.axisConfig.titlePadding * 2 : 0) +
+ this.axisConfig.labelPadding,
+ fill: this.axisThemeConfig.labelColor,
+ fontSize: this.axisConfig.labelFontSize,
+ rotation: 0,
+ verticalPos: 'top',
+ horizontalPos: 'center'
+ }))
+ }),
+ this.showTick)
+ ) {
+ let r = this.boundingRect.y;
+ e.push({
+ type: 'path',
+ groupTexts: ['top-axis', 'ticks'],
+ data: this.getTickValues().map((n) => ({
+ path: `M ${this.getScaleValue(n)},${
+ r +
+ this.boundingRect.height -
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)
+ } L ${this.getScaleValue(n)},${
+ r +
+ this.boundingRect.height -
+ this.axisConfig.tickLength -
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)
+ }`,
+ strokeFill: this.axisThemeConfig.tickColor,
+ strokeWidth: this.axisConfig.tickWidth
+ }))
+ });
+ }
+ return (
+ this.showTitle &&
+ e.push({
+ type: 'text',
+ groupTexts: ['top-axis', 'title'],
+ data: [
+ {
+ text: this.title,
+ x: this.boundingRect.x + this.boundingRect.width / 2,
+ y: this.boundingRect.y + this.axisConfig.titlePadding,
+ fill: this.axisThemeConfig.titleColor,
+ fontSize: this.axisConfig.titleFontSize,
+ rotation: 0,
+ verticalPos: 'top',
+ horizontalPos: 'center'
+ }
+ ]
+ }),
+ e
+ );
+ }
+ getDrawableElements() {
+ if (this.axisPosition === 'left') return this.getDrawableElementsForLeftAxis();
+ if (this.axisPosition === 'right') throw Error('Drawing of right axis is not implemented');
+ return this.axisPosition === 'bottom'
+ ? this.getDrawableElementsForBottomAxis()
+ : this.axisPosition === 'top'
+ ? this.getDrawableElementsForTopAxis()
+ : [];
+ }
+ };
+ });
+ var dE,
+ nue = R(() => {
+ 'use strict';
+ Zt();
+ ut();
+ eO();
+ dE = class extends Ig {
+ static {
+ o(this, 'BandAxis');
+ }
+ constructor(e, r, n, i, a) {
+ super(e, i, a, r),
+ (this.categories = n),
+ (this.scale = Op().domain(this.categories).range(this.getRange()));
+ }
+ setRange(e) {
+ super.setRange(e);
+ }
+ recalculateScale() {
+ (this.scale = Op()
+ .domain(this.categories)
+ .range(this.getRange())
+ .paddingInner(1)
+ .paddingOuter(0)
+ .align(0.5)),
+ V.trace('BandAxis axis final categories, range: ', this.categories, this.getRange());
+ }
+ getTickValues() {
+ return this.categories;
+ }
+ getScaleValue(e) {
+ return this.scale(e) ?? this.getRange()[0];
+ }
+ };
+ });
+ var pE,
+ iue = R(() => {
+ 'use strict';
+ Zt();
+ eO();
+ pE = class extends Ig {
+ static {
+ o(this, 'LinearAxis');
+ }
+ constructor(e, r, n, i, a) {
+ super(e, i, a, r),
+ (this.domain = n),
+ (this.scale = gl().domain(this.domain).range(this.getRange()));
+ }
+ getTickValues() {
+ return this.scale.ticks();
+ }
+ recalculateScale() {
+ let e = [...this.domain];
+ this.axisPosition === 'left' && e.reverse(), (this.scale = gl().domain(e).range(this.getRange()));
+ }
+ getScaleValue(e) {
+ return this.scale(e);
+ }
+ };
+ });
+ function tO(t, e, r, n) {
+ let i = new Mg(n);
+ return hE(t) ? new dE(e, r, t.categories, t.title, i) : new pE(e, r, [t.min, t.max], t.title, i);
+ }
+ var aue = R(() => {
+ 'use strict';
+ fE();
+ JI();
+ nue();
+ iue();
+ o(tO, 'getAxis');
+ });
+ function sue(t, e, r, n) {
+ let i = new Mg(n);
+ return new rO(i, t, e, r);
+ }
+ var rO,
+ oue = R(() => {
+ 'use strict';
+ JI();
+ rO = class {
+ constructor(e, r, n, i) {
+ this.textDimensionCalculator = e;
+ this.chartConfig = r;
+ this.chartData = n;
+ this.chartThemeConfig = i;
+ (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }), (this.showChartTitle = !1);
+ }
+ static {
+ o(this, 'ChartTitle');
+ }
+ setBoundingBoxXY(e) {
+ (this.boundingRect.x = e.x), (this.boundingRect.y = e.y);
+ }
+ calculateSpace(e) {
+ let r = this.textDimensionCalculator.getMaxDimension(
+ [this.chartData.title],
+ this.chartConfig.titleFontSize
+ ),
+ n = Math.max(r.width, e.width),
+ i = r.height + 2 * this.chartConfig.titlePadding;
+ return (
+ r.width <= n &&
+ r.height <= i &&
+ this.chartConfig.showTitle &&
+ this.chartData.title &&
+ ((this.boundingRect.width = n), (this.boundingRect.height = i), (this.showChartTitle = !0)),
+ { width: this.boundingRect.width, height: this.boundingRect.height }
+ );
+ }
+ getDrawableElements() {
+ let e = [];
+ return (
+ this.showChartTitle &&
+ e.push({
+ groupTexts: ['chart-title'],
+ type: 'text',
+ data: [
+ {
+ fontSize: this.chartConfig.titleFontSize,
+ text: this.chartData.title,
+ verticalPos: 'middle',
+ horizontalPos: 'center',
+ x: this.boundingRect.x + this.boundingRect.width / 2,
+ y: this.boundingRect.y + this.boundingRect.height / 2,
+ fill: this.chartThemeConfig.titleColor,
+ rotation: 0
+ }
+ ]
+ }),
+ e
+ );
+ }
+ };
+ o(sue, 'getChartTitleComponent');
+ });
+ var mE,
+ lue = R(() => {
+ 'use strict';
+ Zt();
+ mE = class {
+ constructor(e, r, n, i, a) {
+ this.plotData = e;
+ this.xAxis = r;
+ this.yAxis = n;
+ this.orientation = i;
+ this.plotIndex = a;
+ }
+ static {
+ o(this, 'LinePlot');
+ }
+ getDrawableElement() {
+ let e = this.plotData.data.map((n) => [
+ this.xAxis.getScaleValue(n[0]),
+ this.yAxis.getScaleValue(n[1])
+ ]),
+ r;
+ return (
+ this.orientation === 'horizontal'
+ ? (r = ha()
+ .y((n) => n[0])
+ .x((n) => n[1])(e))
+ : (r = ha()
+ .x((n) => n[0])
+ .y((n) => n[1])(e)),
+ r
+ ? [
+ {
+ groupTexts: ['plot', `line-plot-${this.plotIndex}`],
+ type: 'path',
+ data: [
+ {
+ path: r,
+ strokeFill: this.plotData.strokeFill,
+ strokeWidth: this.plotData.strokeWidth
+ }
+ ]
+ }
+ ]
+ : []
+ );
+ }
+ };
+ });
+ var gE,
+ cue = R(() => {
+ 'use strict';
+ gE = class {
+ constructor(e, r, n, i, a, s) {
+ this.barData = e;
+ this.boundingRect = r;
+ this.xAxis = n;
+ this.yAxis = i;
+ this.orientation = a;
+ this.plotIndex = s;
+ }
+ static {
+ o(this, 'BarPlot');
+ }
+ getDrawableElement() {
+ let e = this.barData.data.map((a) => [
+ this.xAxis.getScaleValue(a[0]),
+ this.yAxis.getScaleValue(a[1])
+ ]),
+ n = Math.min(this.xAxis.getAxisOuterPadding() * 2, this.xAxis.getTickDistance()) * (1 - 0.05),
+ i = n / 2;
+ return this.orientation === 'horizontal'
+ ? [
+ {
+ groupTexts: ['plot', `bar-plot-${this.plotIndex}`],
+ type: 'rect',
+ data: e.map((a) => ({
+ x: this.boundingRect.x,
+ y: a[0] - i,
+ height: n,
+ width: a[1] - this.boundingRect.x,
+ fill: this.barData.fill,
+ strokeWidth: 0,
+ strokeFill: this.barData.fill
+ }))
+ }
+ ]
+ : [
+ {
+ groupTexts: ['plot', `bar-plot-${this.plotIndex}`],
+ type: 'rect',
+ data: e.map((a) => ({
+ x: a[0] - i,
+ y: a[1],
+ width: n,
+ height: this.boundingRect.y + this.boundingRect.height - a[1],
+ fill: this.barData.fill,
+ strokeWidth: 0,
+ strokeFill: this.barData.fill
+ }))
+ }
+ ];
+ }
+ };
+ });
+ function uue(t, e, r) {
+ return new nO(t, e, r);
+ }
+ var nO,
+ hue = R(() => {
+ 'use strict';
+ lue();
+ cue();
+ nO = class {
+ constructor(e, r, n) {
+ this.chartConfig = e;
+ this.chartData = r;
+ this.chartThemeConfig = n;
+ this.boundingRect = { x: 0, y: 0, width: 0, height: 0 };
+ }
+ static {
+ o(this, 'BasePlot');
+ }
+ setAxes(e, r) {
+ (this.xAxis = e), (this.yAxis = r);
+ }
+ setBoundingBoxXY(e) {
+ (this.boundingRect.x = e.x), (this.boundingRect.y = e.y);
+ }
+ calculateSpace(e) {
+ return (
+ (this.boundingRect.width = e.width),
+ (this.boundingRect.height = e.height),
+ { width: this.boundingRect.width, height: this.boundingRect.height }
+ );
+ }
+ getDrawableElements() {
+ if (!(this.xAxis && this.yAxis)) throw Error('Axes must be passed to render Plots');
+ let e = [];
+ for (let [r, n] of this.chartData.plots.entries())
+ switch (n.type) {
+ case 'line':
+ {
+ let i = new mE(n, this.xAxis, this.yAxis, this.chartConfig.chartOrientation, r);
+ e.push(...i.getDrawableElement());
+ }
+ break;
+ case 'bar':
+ {
+ let i = new gE(
+ n,
+ this.boundingRect,
+ this.xAxis,
+ this.yAxis,
+ this.chartConfig.chartOrientation,
+ r
+ );
+ e.push(...i.getDrawableElement());
+ }
+ break;
+ }
+ return e;
+ }
+ };
+ o(uue, 'getPlotComponent');
+ });
+ var yE,
+ fue = R(() => {
+ 'use strict';
+ aue();
+ oue();
+ hue();
+ fE();
+ yE = class {
+ constructor(e, r, n, i) {
+ this.chartConfig = e;
+ this.chartData = r;
+ this.componentStore = {
+ title: sue(e, r, n, i),
+ plot: uue(e, r, n),
+ xAxis: tO(
+ r.xAxis,
+ e.xAxis,
+ {
+ titleColor: n.xAxisTitleColor,
+ labelColor: n.xAxisLabelColor,
+ tickColor: n.xAxisTickColor,
+ axisLineColor: n.xAxisLineColor
+ },
+ i
+ ),
+ yAxis: tO(
+ r.yAxis,
+ e.yAxis,
+ {
+ titleColor: n.yAxisTitleColor,
+ labelColor: n.yAxisLabelColor,
+ tickColor: n.yAxisTickColor,
+ axisLineColor: n.yAxisLineColor
+ },
+ i
+ )
+ };
+ }
+ static {
+ o(this, 'Orchestrator');
+ }
+ calculateVerticalSpace() {
+ let e = this.chartConfig.width,
+ r = this.chartConfig.height,
+ n = 0,
+ i = 0,
+ a = Math.floor((e * this.chartConfig.plotReservedSpacePercent) / 100),
+ s = Math.floor((r * this.chartConfig.plotReservedSpacePercent) / 100),
+ l = this.componentStore.plot.calculateSpace({
+ width: a,
+ height: s
+ });
+ (e -= l.width),
+ (r -= l.height),
+ (l = this.componentStore.title.calculateSpace({
+ width: this.chartConfig.width,
+ height: r
+ })),
+ (i = l.height),
+ (r -= l.height),
+ this.componentStore.xAxis.setAxisPosition('bottom'),
+ (l = this.componentStore.xAxis.calculateSpace({
+ width: e,
+ height: r
+ })),
+ (r -= l.height),
+ this.componentStore.yAxis.setAxisPosition('left'),
+ (l = this.componentStore.yAxis.calculateSpace({
+ width: e,
+ height: r
+ })),
+ (n = l.width),
+ (e -= l.width),
+ e > 0 && ((a += e), (e = 0)),
+ r > 0 && ((s += r), (r = 0)),
+ this.componentStore.plot.calculateSpace({ width: a, height: s }),
+ this.componentStore.plot.setBoundingBoxXY({ x: n, y: i }),
+ this.componentStore.xAxis.setRange([n, n + a]),
+ this.componentStore.xAxis.setBoundingBoxXY({ x: n, y: i + s }),
+ this.componentStore.yAxis.setRange([i, i + s]),
+ this.componentStore.yAxis.setBoundingBoxXY({ x: 0, y: i }),
+ this.chartData.plots.some((u) => ZI(u)) &&
+ this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();
+ }
+ calculateHorizontalSpace() {
+ let e = this.chartConfig.width,
+ r = this.chartConfig.height,
+ n = 0,
+ i = 0,
+ a = 0,
+ s = Math.floor((e * this.chartConfig.plotReservedSpacePercent) / 100),
+ l = Math.floor((r * this.chartConfig.plotReservedSpacePercent) / 100),
+ u = this.componentStore.plot.calculateSpace({
+ width: s,
+ height: l
+ });
+ (e -= u.width),
+ (r -= u.height),
+ (u = this.componentStore.title.calculateSpace({
+ width: this.chartConfig.width,
+ height: r
+ })),
+ (n = u.height),
+ (r -= u.height),
+ this.componentStore.xAxis.setAxisPosition('left'),
+ (u = this.componentStore.xAxis.calculateSpace({
+ width: e,
+ height: r
+ })),
+ (e -= u.width),
+ (i = u.width),
+ this.componentStore.yAxis.setAxisPosition('top'),
+ (u = this.componentStore.yAxis.calculateSpace({
+ width: e,
+ height: r
+ })),
+ (r -= u.height),
+ (a = n + u.height),
+ e > 0 && ((s += e), (e = 0)),
+ r > 0 && ((l += r), (r = 0)),
+ this.componentStore.plot.calculateSpace({ width: s, height: l }),
+ this.componentStore.plot.setBoundingBoxXY({ x: i, y: a }),
+ this.componentStore.yAxis.setRange([i, i + s]),
+ this.componentStore.yAxis.setBoundingBoxXY({ x: i, y: n }),
+ this.componentStore.xAxis.setRange([a, a + l]),
+ this.componentStore.xAxis.setBoundingBoxXY({ x: 0, y: a }),
+ this.chartData.plots.some((h) => ZI(h)) &&
+ this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();
+ }
+ calculateSpace() {
+ this.chartConfig.chartOrientation === 'horizontal'
+ ? this.calculateHorizontalSpace()
+ : this.calculateVerticalSpace();
+ }
+ getDrawableElement() {
+ this.calculateSpace();
+ let e = [];
+ this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis);
+ for (let r of Object.values(this.componentStore)) e.push(...r.getDrawableElements());
+ return e;
+ }
+ };
+ });
+ var vE,
+ due = R(() => {
+ 'use strict';
+ fue();
+ vE = class {
+ static {
+ o(this, 'XYChartBuilder');
+ }
+ static build(e, r, n, i) {
+ return new yE(e, r, n, i).getDrawableElement();
+ }
+ };
+ });
+ function mue() {
+ let t = hp(),
+ e = Or();
+ return Ts(t.xyChart, e.themeVariables.xyChart);
+ }
+ function gue() {
+ let t = Or();
+ return Ts(mr.xyChart, t.xyChart);
+ }
+ function yue() {
+ return {
+ yAxis: { type: 'linear', title: '', min: 1 / 0, max: -1 / 0 },
+ xAxis: { type: 'band', title: '', categories: [] },
+ title: '',
+ plots: []
+ };
+ }
+ function sO(t) {
+ let e = Or();
+ return qr(t.trim(), e);
+ }
+ function hze(t) {
+ pue = t;
+ }
+ function fze(t) {
+ t === 'horizontal' ? (px.chartOrientation = 'horizontal') : (px.chartOrientation = 'vertical');
+ }
+ function dze(t) {
+ sn.xAxis.title = sO(t.text);
+ }
+ function vue(t, e) {
+ (sn.xAxis = { type: 'linear', title: sn.xAxis.title, min: t, max: e }), (xE = !0);
+ }
+ function pze(t) {
+ (sn.xAxis = {
+ type: 'band',
+ title: sn.xAxis.title,
+ categories: t.map((e) => sO(e.text))
+ }),
+ (xE = !0);
+ }
+ function mze(t) {
+ sn.yAxis.title = sO(t.text);
+ }
+ function gze(t, e) {
+ (sn.yAxis = { type: 'linear', title: sn.yAxis.title, min: t, max: e }), (aO = !0);
+ }
+ function yze(t) {
+ let e = Math.min(...t),
+ r = Math.max(...t),
+ n = Ng(sn.yAxis) ? sn.yAxis.min : 1 / 0,
+ i = Ng(sn.yAxis) ? sn.yAxis.max : -1 / 0;
+ sn.yAxis = {
+ type: 'linear',
+ title: sn.yAxis.title,
+ min: Math.min(n, e),
+ max: Math.max(i, r)
+ };
+ }
+ function xue(t) {
+ let e = [];
+ if (t.length === 0) return e;
+ if (!xE) {
+ let r = Ng(sn.xAxis) ? sn.xAxis.min : 1 / 0,
+ n = Ng(sn.xAxis) ? sn.xAxis.max : -1 / 0;
+ vue(Math.min(r, 1), Math.max(n, t.length));
+ }
+ if ((aO || yze(t), hE(sn.xAxis) && (e = sn.xAxis.categories.map((r, n) => [r, t[n]])), Ng(sn.xAxis))) {
+ let r = sn.xAxis.min,
+ n = sn.xAxis.max,
+ i = (n - r) / (t.length - 1),
+ a = [];
+ for (let s = r; s <= n; s += i) a.push(`${s}`);
+ e = a.map((s, l) => [s, t[l]]);
+ }
+ return e;
+ }
+ function bue(t) {
+ return iO[t === 0 ? 0 : t % iO.length];
+ }
+ function vze(t, e) {
+ let r = xue(e);
+ sn.plots.push({
+ type: 'line',
+ strokeFill: bue(dx),
+ strokeWidth: 2,
+ data: r
+ }),
+ dx++;
+ }
+ function xze(t, e) {
+ let r = xue(e);
+ sn.plots.push({ type: 'bar', fill: bue(dx), data: r }), dx++;
+ }
+ function bze() {
+ if (sn.plots.length === 0) throw Error('No Plot to render, please provide a plot with some data');
+ return (sn.title = Xr()), vE.build(px, sn, mx, pue);
+ }
+ function wze() {
+ return mx;
+ }
+ function Tze() {
+ return px;
+ }
+ var dx,
+ pue,
+ px,
+ mx,
+ sn,
+ iO,
+ xE,
+ aO,
+ kze,
+ wue,
+ Tue = R(() => {
+ 'use strict';
+ qs();
+ sl();
+ jb();
+ xr();
+ rr();
+ bi();
+ due();
+ fE();
+ (dx = 0),
+ (px = gue()),
+ (mx = mue()),
+ (sn = yue()),
+ (iO = mx.plotColorPalette.split(',').map((t) => t.trim())),
+ (xE = !1),
+ (aO = !1);
+ o(mue, 'getChartDefaultThemeConfig');
+ o(gue, 'getChartDefaultConfig');
+ o(yue, 'getChartDefaultData');
+ o(sO, 'textSanitizer');
+ o(hze, 'setTmpSVGG');
+ o(fze, 'setOrientation');
+ o(dze, 'setXAxisTitle');
+ o(vue, 'setXAxisRangeData');
+ o(pze, 'setXAxisBand');
+ o(mze, 'setYAxisTitle');
+ o(gze, 'setYAxisRangeData');
+ o(yze, 'setYAxisRangeFromPlotData');
+ o(xue, 'transformDataWithoutCategory');
+ o(bue, 'getPlotColorFromPalette');
+ o(vze, 'setLineData');
+ o(xze, 'setBarData');
+ o(bze, 'getDrawableElem');
+ o(wze, 'getChartThemeConfig');
+ o(Tze, 'getChartConfig');
+ (kze = o(function () {
+ vr(),
+ (dx = 0),
+ (px = gue()),
+ (sn = yue()),
+ (mx = mue()),
+ (iO = mx.plotColorPalette.split(',').map((t) => t.trim())),
+ (xE = !1),
+ (aO = !1);
+ }, 'clear')),
+ (wue = {
+ getDrawableElem: bze,
+ clear: kze,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ setOrientation: fze,
+ setXAxisTitle: dze,
+ setXAxisRangeData: vue,
+ setXAxisBand: pze,
+ setYAxisTitle: mze,
+ setYAxisRangeData: gze,
+ setLineData: vze,
+ setBarData: xze,
+ setTmpSVGG: hze,
+ getChartThemeConfig: wze,
+ getChartConfig: Tze
+ });
+ });
+ var Eze,
+ kue,
+ Eue = R(() => {
+ 'use strict';
+ ut();
+ pf();
+ Yn();
+ (Eze = o((t, e, r, n) => {
+ let i = n.db,
+ a = i.getChartThemeConfig(),
+ s = i.getChartConfig();
+ function l(v) {
+ return v === 'top' ? 'text-before-edge' : 'middle';
+ }
+ o(l, 'getDominantBaseLine');
+ function u(v) {
+ return v === 'left' ? 'start' : v === 'right' ? 'end' : 'middle';
+ }
+ o(u, 'getTextAnchor');
+ function h(v) {
+ return `translate(${v.x}, ${v.y}) rotate(${v.rotation || 0})`;
+ }
+ o(h, 'getTextTransformation'),
+ V.debug(
+ `Rendering xychart chart
+` + t
+ );
+ let f = Ps(e),
+ d = f.append('g').attr('class', 'main'),
+ p = d.append('rect').attr('width', s.width).attr('height', s.height).attr('class', 'background');
+ Sr(f, s.height, s.width, !0),
+ f.attr('viewBox', `0 0 ${s.width} ${s.height}`),
+ p.attr('fill', a.backgroundColor),
+ i.setTmpSVGG(f.append('g').attr('class', 'mermaid-tmp-group'));
+ let m = i.getDrawableElem(),
+ g = {};
+ function y(v) {
+ let x = d,
+ b = '';
+ for (let [w] of v.entries()) {
+ let S = d;
+ w > 0 && g[b] && (S = g[b]),
+ (b += v[w]),
+ (x = g[b]),
+ x || (x = g[b] = S.append('g').attr('class', v[w]));
+ }
+ return x;
+ }
+ o(y, 'getGroup');
+ for (let v of m) {
+ if (v.data.length === 0) continue;
+ let x = y(v.groupTexts);
+ switch (v.type) {
+ case 'rect':
+ x.selectAll('rect')
+ .data(v.data)
+ .enter()
+ .append('rect')
+ .attr('x', (b) => b.x)
+ .attr('y', (b) => b.y)
+ .attr('width', (b) => b.width)
+ .attr('height', (b) => b.height)
+ .attr('fill', (b) => b.fill)
+ .attr('stroke', (b) => b.strokeFill)
+ .attr('stroke-width', (b) => b.strokeWidth);
+ break;
+ case 'text':
+ x.selectAll('text')
+ .data(v.data)
+ .enter()
+ .append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('fill', (b) => b.fill)
+ .attr('font-size', (b) => b.fontSize)
+ .attr('dominant-baseline', (b) => l(b.verticalPos))
+ .attr('text-anchor', (b) => u(b.horizontalPos))
+ .attr('transform', (b) => h(b))
+ .text((b) => b.text);
+ break;
+ case 'path':
+ x.selectAll('path')
+ .data(v.data)
+ .enter()
+ .append('path')
+ .attr('d', (b) => b.path)
+ .attr('fill', (b) => (b.fill ? b.fill : 'none'))
+ .attr('stroke', (b) => b.strokeFill)
+ .attr('stroke-width', (b) => b.strokeWidth);
+ break;
+ }
+ }
+ }, 'draw')),
+ (kue = { draw: Eze });
+ });
+ var Cue = {};
+ hr(Cue, { diagram: () => Cze });
+ var Cze,
+ Sue = R(() => {
+ 'use strict';
+ rue();
+ Tue();
+ Eue();
+ Cze = { parser: tue, db: wue, renderer: kue };
+ });
+ var oO,
+ Lue,
+ Due = R(() => {
+ 'use strict';
+ oO = (function () {
+ var t = o(function (ie, j, J, Z) {
+ for (J = J || {}, Z = ie.length; Z--; J[ie[Z]] = j);
+ return J;
+ }, 'o'),
+ e = [1, 3],
+ r = [1, 4],
+ n = [1, 5],
+ i = [1, 6],
+ a = [5, 6, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63],
+ s = [1, 18],
+ l = [2, 7],
+ u = [1, 22],
+ h = [1, 23],
+ f = [1, 24],
+ d = [1, 25],
+ p = [1, 26],
+ m = [1, 27],
+ g = [1, 20],
+ y = [1, 28],
+ v = [1, 29],
+ x = [62, 63],
+ b = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 51, 53, 62, 63],
+ w = [1, 47],
+ S = [1, 48],
+ T = [1, 49],
+ E = [1, 50],
+ _ = [1, 51],
+ A = [1, 52],
+ L = [1, 53],
+ M = [53, 54],
+ N = [1, 64],
+ k = [1, 60],
+ I = [1, 61],
+ C = [1, 62],
+ O = [1, 63],
+ D = [1, 65],
+ P = [1, 69],
+ F = [1, 70],
+ B = [1, 67],
+ $ = [1, 68],
+ z = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63],
+ Y = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ directive: 4,
+ NEWLINE: 5,
+ RD: 6,
+ diagram: 7,
+ EOF: 8,
+ acc_title: 9,
+ acc_title_value: 10,
+ acc_descr: 11,
+ acc_descr_value: 12,
+ acc_descr_multiline_value: 13,
+ requirementDef: 14,
+ elementDef: 15,
+ relationshipDef: 16,
+ requirementType: 17,
+ requirementName: 18,
+ STRUCT_START: 19,
+ requirementBody: 20,
+ ID: 21,
+ COLONSEP: 22,
+ id: 23,
+ TEXT: 24,
+ text: 25,
+ RISK: 26,
+ riskLevel: 27,
+ VERIFYMTHD: 28,
+ verifyType: 29,
+ STRUCT_STOP: 30,
+ REQUIREMENT: 31,
+ FUNCTIONAL_REQUIREMENT: 32,
+ INTERFACE_REQUIREMENT: 33,
+ PERFORMANCE_REQUIREMENT: 34,
+ PHYSICAL_REQUIREMENT: 35,
+ DESIGN_CONSTRAINT: 36,
+ LOW_RISK: 37,
+ MED_RISK: 38,
+ HIGH_RISK: 39,
+ VERIFY_ANALYSIS: 40,
+ VERIFY_DEMONSTRATION: 41,
+ VERIFY_INSPECTION: 42,
+ VERIFY_TEST: 43,
+ ELEMENT: 44,
+ elementName: 45,
+ elementBody: 46,
+ TYPE: 47,
+ type: 48,
+ DOCREF: 49,
+ ref: 50,
+ END_ARROW_L: 51,
+ relationship: 52,
+ LINE: 53,
+ END_ARROW_R: 54,
+ CONTAINS: 55,
+ COPIES: 56,
+ DERIVES: 57,
+ SATISFIES: 58,
+ VERIFIES: 59,
+ REFINES: 60,
+ TRACES: 61,
+ unqString: 62,
+ qString: 63,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 5: 'NEWLINE',
+ 6: 'RD',
+ 8: 'EOF',
+ 9: 'acc_title',
+ 10: 'acc_title_value',
+ 11: 'acc_descr',
+ 12: 'acc_descr_value',
+ 13: 'acc_descr_multiline_value',
+ 19: 'STRUCT_START',
+ 21: 'ID',
+ 22: 'COLONSEP',
+ 24: 'TEXT',
+ 26: 'RISK',
+ 28: 'VERIFYMTHD',
+ 30: 'STRUCT_STOP',
+ 31: 'REQUIREMENT',
+ 32: 'FUNCTIONAL_REQUIREMENT',
+ 33: 'INTERFACE_REQUIREMENT',
+ 34: 'PERFORMANCE_REQUIREMENT',
+ 35: 'PHYSICAL_REQUIREMENT',
+ 36: 'DESIGN_CONSTRAINT',
+ 37: 'LOW_RISK',
+ 38: 'MED_RISK',
+ 39: 'HIGH_RISK',
+ 40: 'VERIFY_ANALYSIS',
+ 41: 'VERIFY_DEMONSTRATION',
+ 42: 'VERIFY_INSPECTION',
+ 43: 'VERIFY_TEST',
+ 44: 'ELEMENT',
+ 47: 'TYPE',
+ 49: 'DOCREF',
+ 51: 'END_ARROW_L',
+ 53: 'LINE',
+ 54: 'END_ARROW_R',
+ 55: 'CONTAINS',
+ 56: 'COPIES',
+ 57: 'DERIVES',
+ 58: 'SATISFIES',
+ 59: 'VERIFIES',
+ 60: 'REFINES',
+ 61: 'TRACES',
+ 62: 'unqString',
+ 63: 'qString'
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [3, 2],
+ [3, 4],
+ [4, 2],
+ [4, 2],
+ [4, 1],
+ [7, 0],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [14, 5],
+ [20, 5],
+ [20, 5],
+ [20, 5],
+ [20, 5],
+ [20, 2],
+ [20, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [27, 1],
+ [27, 1],
+ [27, 1],
+ [29, 1],
+ [29, 1],
+ [29, 1],
+ [29, 1],
+ [15, 5],
+ [46, 5],
+ [46, 5],
+ [46, 2],
+ [46, 1],
+ [16, 5],
+ [16, 5],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [18, 1],
+ [18, 1],
+ [23, 1],
+ [23, 1],
+ [25, 1],
+ [25, 1],
+ [45, 1],
+ [45, 1],
+ [48, 1],
+ [48, 1],
+ [50, 1],
+ [50, 1]
+ ],
+ performAction: o(function (j, J, Z, H, q, K, se) {
+ var ce = K.length - 1;
+ switch (q) {
+ case 4:
+ (this.$ = K[ce].trim()), H.setAccTitle(this.$);
+ break;
+ case 5:
+ case 6:
+ (this.$ = K[ce].trim()), H.setAccDescription(this.$);
+ break;
+ case 7:
+ this.$ = [];
+ break;
+ case 13:
+ H.addRequirement(K[ce - 3], K[ce - 4]);
+ break;
+ case 14:
+ H.setNewReqId(K[ce - 2]);
+ break;
+ case 15:
+ H.setNewReqText(K[ce - 2]);
+ break;
+ case 16:
+ H.setNewReqRisk(K[ce - 2]);
+ break;
+ case 17:
+ H.setNewReqVerifyMethod(K[ce - 2]);
+ break;
+ case 20:
+ this.$ = H.RequirementType.REQUIREMENT;
+ break;
+ case 21:
+ this.$ = H.RequirementType.FUNCTIONAL_REQUIREMENT;
+ break;
+ case 22:
+ this.$ = H.RequirementType.INTERFACE_REQUIREMENT;
+ break;
+ case 23:
+ this.$ = H.RequirementType.PERFORMANCE_REQUIREMENT;
+ break;
+ case 24:
+ this.$ = H.RequirementType.PHYSICAL_REQUIREMENT;
+ break;
+ case 25:
+ this.$ = H.RequirementType.DESIGN_CONSTRAINT;
+ break;
+ case 26:
+ this.$ = H.RiskLevel.LOW_RISK;
+ break;
+ case 27:
+ this.$ = H.RiskLevel.MED_RISK;
+ break;
+ case 28:
+ this.$ = H.RiskLevel.HIGH_RISK;
+ break;
+ case 29:
+ this.$ = H.VerifyType.VERIFY_ANALYSIS;
+ break;
+ case 30:
+ this.$ = H.VerifyType.VERIFY_DEMONSTRATION;
+ break;
+ case 31:
+ this.$ = H.VerifyType.VERIFY_INSPECTION;
+ break;
+ case 32:
+ this.$ = H.VerifyType.VERIFY_TEST;
+ break;
+ case 33:
+ H.addElement(K[ce - 3]);
+ break;
+ case 34:
+ H.setNewElementType(K[ce - 2]);
+ break;
+ case 35:
+ H.setNewElementDocRef(K[ce - 2]);
+ break;
+ case 38:
+ H.addRelationship(K[ce - 2], K[ce], K[ce - 4]);
+ break;
+ case 39:
+ H.addRelationship(K[ce - 2], K[ce - 4], K[ce]);
+ break;
+ case 40:
+ this.$ = H.Relationships.CONTAINS;
+ break;
+ case 41:
+ this.$ = H.Relationships.COPIES;
+ break;
+ case 42:
+ this.$ = H.Relationships.DERIVES;
+ break;
+ case 43:
+ this.$ = H.Relationships.SATISFIES;
+ break;
+ case 44:
+ this.$ = H.Relationships.VERIFIES;
+ break;
+ case 45:
+ this.$ = H.Relationships.REFINES;
+ break;
+ case 46:
+ this.$ = H.Relationships.TRACES;
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: 2, 6: e, 9: r, 11: n, 13: i },
+ { 1: [3] },
+ { 3: 8, 4: 2, 5: [1, 7], 6: e, 9: r, 11: n, 13: i },
+ { 5: [1, 9] },
+ { 10: [1, 10] },
+ { 12: [1, 11] },
+ t(a, [2, 6]),
+ { 3: 12, 4: 2, 6: e, 9: r, 11: n, 13: i },
+ { 1: [2, 2] },
+ {
+ 4: 17,
+ 5: s,
+ 7: 13,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ t(a, [2, 4]),
+ t(a, [2, 5]),
+ { 1: [2, 1] },
+ { 8: [1, 30] },
+ {
+ 4: 17,
+ 5: s,
+ 7: 31,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ {
+ 4: 17,
+ 5: s,
+ 7: 32,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ {
+ 4: 17,
+ 5: s,
+ 7: 33,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ {
+ 4: 17,
+ 5: s,
+ 7: 34,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ {
+ 4: 17,
+ 5: s,
+ 7: 35,
+ 8: l,
+ 9: r,
+ 11: n,
+ 13: i,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: u,
+ 32: h,
+ 33: f,
+ 34: d,
+ 35: p,
+ 36: m,
+ 44: g,
+ 62: y,
+ 63: v
+ },
+ { 18: 36, 62: [1, 37], 63: [1, 38] },
+ { 45: 39, 62: [1, 40], 63: [1, 41] },
+ { 51: [1, 42], 53: [1, 43] },
+ t(x, [2, 20]),
+ t(x, [2, 21]),
+ t(x, [2, 22]),
+ t(x, [2, 23]),
+ t(x, [2, 24]),
+ t(x, [2, 25]),
+ t(b, [2, 49]),
+ t(b, [2, 50]),
+ { 1: [2, 3] },
+ { 8: [2, 8] },
+ { 8: [2, 9] },
+ { 8: [2, 10] },
+ { 8: [2, 11] },
+ { 8: [2, 12] },
+ { 19: [1, 44] },
+ { 19: [2, 47] },
+ { 19: [2, 48] },
+ { 19: [1, 45] },
+ { 19: [2, 53] },
+ { 19: [2, 54] },
+ { 52: 46, 55: w, 56: S, 57: T, 58: E, 59: _, 60: A, 61: L },
+ { 52: 54, 55: w, 56: S, 57: T, 58: E, 59: _, 60: A, 61: L },
+ { 5: [1, 55] },
+ { 5: [1, 56] },
+ { 53: [1, 57] },
+ t(M, [2, 40]),
+ t(M, [2, 41]),
+ t(M, [2, 42]),
+ t(M, [2, 43]),
+ t(M, [2, 44]),
+ t(M, [2, 45]),
+ t(M, [2, 46]),
+ { 54: [1, 58] },
+ { 5: N, 20: 59, 21: k, 24: I, 26: C, 28: O, 30: D },
+ { 5: P, 30: F, 46: 66, 47: B, 49: $ },
+ { 23: 71, 62: y, 63: v },
+ { 23: 72, 62: y, 63: v },
+ t(z, [2, 13]),
+ { 22: [1, 73] },
+ { 22: [1, 74] },
+ { 22: [1, 75] },
+ { 22: [1, 76] },
+ { 5: N, 20: 77, 21: k, 24: I, 26: C, 28: O, 30: D },
+ t(z, [2, 19]),
+ t(z, [2, 33]),
+ { 22: [1, 78] },
+ { 22: [1, 79] },
+ { 5: P, 30: F, 46: 80, 47: B, 49: $ },
+ t(z, [2, 37]),
+ t(z, [2, 38]),
+ t(z, [2, 39]),
+ { 23: 81, 62: y, 63: v },
+ { 25: 82, 62: [1, 83], 63: [1, 84] },
+ { 27: 85, 37: [1, 86], 38: [1, 87], 39: [1, 88] },
+ { 29: 89, 40: [1, 90], 41: [1, 91], 42: [1, 92], 43: [1, 93] },
+ t(z, [2, 18]),
+ { 48: 94, 62: [1, 95], 63: [1, 96] },
+ { 50: 97, 62: [1, 98], 63: [1, 99] },
+ t(z, [2, 36]),
+ { 5: [1, 100] },
+ { 5: [1, 101] },
+ { 5: [2, 51] },
+ { 5: [2, 52] },
+ { 5: [1, 102] },
+ { 5: [2, 26] },
+ { 5: [2, 27] },
+ { 5: [2, 28] },
+ { 5: [1, 103] },
+ { 5: [2, 29] },
+ { 5: [2, 30] },
+ { 5: [2, 31] },
+ { 5: [2, 32] },
+ { 5: [1, 104] },
+ { 5: [2, 55] },
+ { 5: [2, 56] },
+ { 5: [1, 105] },
+ { 5: [2, 57] },
+ { 5: [2, 58] },
+ { 5: N, 20: 106, 21: k, 24: I, 26: C, 28: O, 30: D },
+ { 5: N, 20: 107, 21: k, 24: I, 26: C, 28: O, 30: D },
+ { 5: N, 20: 108, 21: k, 24: I, 26: C, 28: O, 30: D },
+ { 5: N, 20: 109, 21: k, 24: I, 26: C, 28: O, 30: D },
+ { 5: P, 30: F, 46: 110, 47: B, 49: $ },
+ { 5: P, 30: F, 46: 111, 47: B, 49: $ },
+ t(z, [2, 14]),
+ t(z, [2, 15]),
+ t(z, [2, 16]),
+ t(z, [2, 17]),
+ t(z, [2, 34]),
+ t(z, [2, 35])
+ ],
+ defaultActions: {
+ 8: [2, 2],
+ 12: [2, 1],
+ 30: [2, 3],
+ 31: [2, 8],
+ 32: [2, 9],
+ 33: [2, 10],
+ 34: [2, 11],
+ 35: [2, 12],
+ 37: [2, 47],
+ 38: [2, 48],
+ 40: [2, 53],
+ 41: [2, 54],
+ 83: [2, 51],
+ 84: [2, 52],
+ 86: [2, 26],
+ 87: [2, 27],
+ 88: [2, 28],
+ 90: [2, 29],
+ 91: [2, 30],
+ 92: [2, 31],
+ 93: [2, 32],
+ 95: [2, 55],
+ 96: [2, 56],
+ 98: [2, 57],
+ 99: [2, 58]
+ },
+ parseError: o(function (j, J) {
+ if (J.recoverable) this.trace(j);
+ else {
+ var Z = new Error(j);
+ throw ((Z.hash = J), Z);
+ }
+ }, 'parseError'),
+ parse: o(function (j) {
+ var J = this,
+ Z = [0],
+ H = [],
+ q = [null],
+ K = [],
+ se = this.table,
+ ce = '',
+ ue = 0,
+ te = 0,
+ De = 0,
+ oe = 2,
+ ke = 1,
+ Ie = K.slice.call(arguments, 1),
+ Se = Object.create(this.lexer),
+ Ue = { yy: {} };
+ for (var Pe in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, Pe) && (Ue.yy[Pe] = this.yy[Pe]);
+ Se.setInput(j, Ue.yy),
+ (Ue.yy.lexer = Se),
+ (Ue.yy.parser = this),
+ typeof Se.yylloc > 'u' && (Se.yylloc = {});
+ var _e = Se.yylloc;
+ K.push(_e);
+ var me = Se.options && Se.options.ranges;
+ typeof Ue.yy.parseError == 'function'
+ ? (this.parseError = Ue.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function W(He) {
+ (Z.length = Z.length - 2 * He), (q.length = q.length - He), (K.length = K.length - He);
+ }
+ o(W, 'popStack');
+ function fe() {
+ var He;
+ return (
+ (He = H.pop() || Se.lex() || ke),
+ typeof He != 'number' &&
+ (He instanceof Array && ((H = He), (He = H.pop())),
+ (He = J.symbols_[He] || He)),
+ He
+ );
+ }
+ o(fe, 'lex');
+ for (var ge, re, he, ne, ae, we, Te = {}, Ce, Ae, Ge, Me; ; ) {
+ if (
+ ((he = Z[Z.length - 1]),
+ this.defaultActions[he]
+ ? (ne = this.defaultActions[he])
+ : ((ge === null || typeof ge > 'u') && (ge = fe()),
+ (ne = se[he] && se[he][ge])),
+ typeof ne > 'u' || !ne.length || !ne[0])
+ ) {
+ var ye = '';
+ Me = [];
+ for (Ce in se[he])
+ this.terminals_[Ce] && Ce > oe && Me.push("'" + this.terminals_[Ce] + "'");
+ Se.showPosition
+ ? (ye =
+ 'Parse error on line ' +
+ (ue + 1) +
+ `:
+` +
+ Se.showPosition() +
+ `
+Expecting ` +
+ Me.join(', ') +
+ ", got '" +
+ (this.terminals_[ge] || ge) +
+ "'")
+ : (ye =
+ 'Parse error on line ' +
+ (ue + 1) +
+ ': Unexpected ' +
+ (ge == ke ? 'end of input' : "'" + (this.terminals_[ge] || ge) + "'")),
+ this.parseError(ye, {
+ text: Se.match,
+ token: this.terminals_[ge] || ge,
+ line: Se.yylineno,
+ loc: _e,
+ expected: Me
+ });
+ }
+ if (ne[0] instanceof Array && ne.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + he + ', token: ' + ge
+ );
+ switch (ne[0]) {
+ case 1:
+ Z.push(ge),
+ q.push(Se.yytext),
+ K.push(Se.yylloc),
+ Z.push(ne[1]),
+ (ge = null),
+ re
+ ? ((ge = re), (re = null))
+ : ((te = Se.yyleng),
+ (ce = Se.yytext),
+ (ue = Se.yylineno),
+ (_e = Se.yylloc),
+ De > 0 && De--);
+ break;
+ case 2:
+ if (
+ ((Ae = this.productions_[ne[1]][1]),
+ (Te.$ = q[q.length - Ae]),
+ (Te._$ = {
+ first_line: K[K.length - (Ae || 1)].first_line,
+ last_line: K[K.length - 1].last_line,
+ first_column: K[K.length - (Ae || 1)].first_column,
+ last_column: K[K.length - 1].last_column
+ }),
+ me &&
+ (Te._$.range = [
+ K[K.length - (Ae || 1)].range[0],
+ K[K.length - 1].range[1]
+ ]),
+ (we = this.performAction.apply(
+ Te,
+ [ce, te, ue, Ue.yy, ne[1], q, K].concat(Ie)
+ )),
+ typeof we < 'u')
+ )
+ return we;
+ Ae &&
+ ((Z = Z.slice(0, -1 * Ae * 2)),
+ (q = q.slice(0, -1 * Ae)),
+ (K = K.slice(0, -1 * Ae))),
+ Z.push(this.productions_[ne[1]][0]),
+ q.push(Te.$),
+ K.push(Te._$),
+ (Ge = se[Z[Z.length - 2]][Z[Z.length - 1]]),
+ Z.push(Ge);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ Q = (function () {
+ var ie = {
+ EOF: 1,
+ parseError: o(function (J, Z) {
+ if (this.yy.parser) this.yy.parser.parseError(J, Z);
+ else throw new Error(J);
+ }, 'parseError'),
+ setInput: o(function (j, J) {
+ return (
+ (this.yy = J || this.yy || {}),
+ (this._input = j),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var j = this._input[0];
+ (this.yytext += j),
+ this.yyleng++,
+ this.offset++,
+ (this.match += j),
+ (this.matched += j);
+ var J = j.match(/(?:\r\n?|\n).*/g);
+ return (
+ J ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ j
+ );
+ }, 'input'),
+ unput: o(function (j) {
+ var J = j.length,
+ Z = j.split(/(?:\r\n?|\n)/g);
+ (this._input = j + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - J)),
+ (this.offset -= J);
+ var H = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ Z.length - 1 && (this.yylineno -= Z.length - 1);
+ var q = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: Z
+ ? (Z.length === H.length ? this.yylloc.first_column : 0) +
+ H[H.length - Z.length].length -
+ Z[0].length
+ : this.yylloc.first_column - J
+ }),
+ this.options.ranges && (this.yylloc.range = [q[0], q[0] + this.yyleng - J]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (j) {
+ this.unput(this.match.slice(j));
+ }, 'less'),
+ pastInput: o(function () {
+ var j = this.matched.substr(0, this.matched.length - this.match.length);
+ return (j.length > 20 ? '...' : '') + j.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var j = this.match;
+ return (
+ j.length < 20 && (j += this._input.substr(0, 20 - j.length)),
+ (j.substr(0, 20) + (j.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var j = this.pastInput(),
+ J = new Array(j.length + 1).join('-');
+ return (
+ j +
+ this.upcomingInput() +
+ `
+` +
+ J +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (j, J) {
+ var Z, H, q;
+ if (
+ (this.options.backtrack_lexer &&
+ ((q = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (q.yylloc.range = this.yylloc.range.slice(0))),
+ (H = j[0].match(/(?:\r\n?|\n).*/g)),
+ H && (this.yylineno += H.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: H
+ ? H[H.length - 1].length - H[H.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + j[0].length
+ }),
+ (this.yytext += j[0]),
+ (this.match += j[0]),
+ (this.matches = j),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(j[0].length)),
+ (this.matched += j[0]),
+ (Z = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ J,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ Z)
+ )
+ return Z;
+ if (this._backtrack) {
+ for (var K in q) this[K] = q[K];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var j, J, Z, H;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var q = this._currentRules(), K = 0; K < q.length; K++)
+ if (
+ ((Z = this._input.match(this.rules[q[K]])),
+ Z && (!J || Z[0].length > J[0].length))
+ ) {
+ if (((J = Z), (H = K), this.options.backtrack_lexer)) {
+ if (((j = this.test_match(Z, q[K])), j !== !1)) return j;
+ if (this._backtrack) {
+ J = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return J
+ ? ((j = this.test_match(J, q[H])), j !== !1 ? j : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var J = this.next();
+ return J || this.lex();
+ }, 'lex'),
+ begin: o(function (J) {
+ this.conditionStack.push(J);
+ }, 'begin'),
+ popState: o(function () {
+ var J = this.conditionStack.length - 1;
+ return J > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (J) {
+ return (
+ (J = this.conditionStack.length - 1 - Math.abs(J || 0)),
+ J >= 0 ? this.conditionStack[J] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (J) {
+ this.begin(J);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (J, Z, H, q) {
+ var K = q;
+ switch (H) {
+ case 0:
+ return 'title';
+ case 1:
+ return this.begin('acc_title'), 9;
+ break;
+ case 2:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 3:
+ return this.begin('acc_descr'), 11;
+ break;
+ case 4:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 5:
+ this.begin('acc_descr_multiline');
+ break;
+ case 6:
+ this.popState();
+ break;
+ case 7:
+ return 'acc_descr_multiline_value';
+ case 8:
+ return 5;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ break;
+ case 12:
+ return 8;
+ case 13:
+ return 6;
+ case 14:
+ return 19;
+ case 15:
+ return 30;
+ case 16:
+ return 22;
+ case 17:
+ return 21;
+ case 18:
+ return 24;
+ case 19:
+ return 26;
+ case 20:
+ return 28;
+ case 21:
+ return 31;
+ case 22:
+ return 32;
+ case 23:
+ return 33;
+ case 24:
+ return 34;
+ case 25:
+ return 35;
+ case 26:
+ return 36;
+ case 27:
+ return 37;
+ case 28:
+ return 38;
+ case 29:
+ return 39;
+ case 30:
+ return 40;
+ case 31:
+ return 41;
+ case 32:
+ return 42;
+ case 33:
+ return 43;
+ case 34:
+ return 44;
+ case 35:
+ return 55;
+ case 36:
+ return 56;
+ case 37:
+ return 57;
+ case 38:
+ return 58;
+ case 39:
+ return 59;
+ case 40:
+ return 60;
+ case 41:
+ return 61;
+ case 42:
+ return 47;
+ case 43:
+ return 49;
+ case 44:
+ return 51;
+ case 45:
+ return 54;
+ case 46:
+ return 53;
+ case 47:
+ this.begin('string');
+ break;
+ case 48:
+ this.popState();
+ break;
+ case 49:
+ return 'qString';
+ case 50:
+ return (Z.yytext = Z.yytext.trim()), 62;
+ break;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:title\s[^#\n;]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:(\r?\n)+)/i,
+ /^(?:\s+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:%[^\n]*)/i,
+ /^(?:$)/i,
+ /^(?:requirementDiagram\b)/i,
+ /^(?:\{)/i,
+ /^(?:\})/i,
+ /^(?::)/i,
+ /^(?:id\b)/i,
+ /^(?:text\b)/i,
+ /^(?:risk\b)/i,
+ /^(?:verifyMethod\b)/i,
+ /^(?:requirement\b)/i,
+ /^(?:functionalRequirement\b)/i,
+ /^(?:interfaceRequirement\b)/i,
+ /^(?:performanceRequirement\b)/i,
+ /^(?:physicalRequirement\b)/i,
+ /^(?:designConstraint\b)/i,
+ /^(?:low\b)/i,
+ /^(?:medium\b)/i,
+ /^(?:high\b)/i,
+ /^(?:analysis\b)/i,
+ /^(?:demonstration\b)/i,
+ /^(?:inspection\b)/i,
+ /^(?:test\b)/i,
+ /^(?:element\b)/i,
+ /^(?:contains\b)/i,
+ /^(?:copies\b)/i,
+ /^(?:derives\b)/i,
+ /^(?:satisfies\b)/i,
+ /^(?:verifies\b)/i,
+ /^(?:refines\b)/i,
+ /^(?:traces\b)/i,
+ /^(?:type\b)/i,
+ /^(?:docref\b)/i,
+ /^(?:<-)/i,
+ /^(?:->)/i,
+ /^(?:-)/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:[\w][^\r\n\{\<\>\-\=]*)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [6, 7], inclusive: !1 },
+ acc_descr: { rules: [4], inclusive: !1 },
+ acc_title: { rules: [2], inclusive: !1 },
+ unqString: { rules: [], inclusive: !1 },
+ token: { rules: [], inclusive: !1 },
+ string: { rules: [48, 49], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 50
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return ie;
+ })();
+ Y.lexer = Q;
+ function X() {
+ this.yy = {};
+ }
+ return o(X, 'Parser'), (X.prototype = Y), (Y.Parser = X), new X();
+ })();
+ oO.parser = oO;
+ Lue = oO;
+ });
+ var lO,
+ Bs,
+ gx,
+ mf,
+ yx,
+ Lze,
+ Dze,
+ Rze,
+ Nze,
+ Mze,
+ Ize,
+ Oze,
+ Pze,
+ Bze,
+ Fze,
+ zze,
+ Gze,
+ $ze,
+ Vze,
+ Uze,
+ Hze,
+ Yze,
+ Rue,
+ Nue = R(() => {
+ 'use strict';
+ _t();
+ ut();
+ bi();
+ (lO = []),
+ (Bs = {}),
+ (gx = new Map()),
+ (mf = {}),
+ (yx = new Map()),
+ (Lze = {
+ REQUIREMENT: 'Requirement',
+ FUNCTIONAL_REQUIREMENT: 'Functional Requirement',
+ INTERFACE_REQUIREMENT: 'Interface Requirement',
+ PERFORMANCE_REQUIREMENT: 'Performance Requirement',
+ PHYSICAL_REQUIREMENT: 'Physical Requirement',
+ DESIGN_CONSTRAINT: 'Design Constraint'
+ }),
+ (Dze = { LOW_RISK: 'Low', MED_RISK: 'Medium', HIGH_RISK: 'High' }),
+ (Rze = {
+ VERIFY_ANALYSIS: 'Analysis',
+ VERIFY_DEMONSTRATION: 'Demonstration',
+ VERIFY_INSPECTION: 'Inspection',
+ VERIFY_TEST: 'Test'
+ }),
+ (Nze = {
+ CONTAINS: 'contains',
+ COPIES: 'copies',
+ DERIVES: 'derives',
+ SATISFIES: 'satisfies',
+ VERIFIES: 'verifies',
+ REFINES: 'refines',
+ TRACES: 'traces'
+ }),
+ (Mze = o(
+ (t, e) => (
+ gx.has(t) ||
+ gx.set(t, {
+ name: t,
+ type: e,
+ id: Bs.id,
+ text: Bs.text,
+ risk: Bs.risk,
+ verifyMethod: Bs.verifyMethod
+ }),
+ (Bs = {}),
+ gx.get(t)
+ ),
+ 'addRequirement'
+ )),
+ (Ize = o(() => gx, 'getRequirements')),
+ (Oze = o((t) => {
+ Bs !== void 0 && (Bs.id = t);
+ }, 'setNewReqId')),
+ (Pze = o((t) => {
+ Bs !== void 0 && (Bs.text = t);
+ }, 'setNewReqText')),
+ (Bze = o((t) => {
+ Bs !== void 0 && (Bs.risk = t);
+ }, 'setNewReqRisk')),
+ (Fze = o((t) => {
+ Bs !== void 0 && (Bs.verifyMethod = t);
+ }, 'setNewReqVerifyMethod')),
+ (zze = o(
+ (t) => (
+ yx.has(t) ||
+ (yx.set(t, { name: t, type: mf.type, docRef: mf.docRef }),
+ V.info('Added new requirement: ', t)),
+ (mf = {}),
+ yx.get(t)
+ ),
+ 'addElement'
+ )),
+ (Gze = o(() => yx, 'getElements')),
+ ($ze = o((t) => {
+ mf !== void 0 && (mf.type = t);
+ }, 'setNewElementType')),
+ (Vze = o((t) => {
+ mf !== void 0 && (mf.docRef = t);
+ }, 'setNewElementDocRef')),
+ (Uze = o((t, e, r) => {
+ lO.push({ type: t, src: e, dst: r });
+ }, 'addRelationship')),
+ (Hze = o(() => lO, 'getRelationships')),
+ (Yze = o(() => {
+ (lO = []), (Bs = {}), (gx = new Map()), (mf = {}), (yx = new Map()), vr();
+ }, 'clear')),
+ (Rue = {
+ RequirementType: Lze,
+ RiskLevel: Dze,
+ VerifyType: Rze,
+ Relationships: Nze,
+ getConfig: o(() => de().req, 'getConfig'),
+ addRequirement: Mze,
+ getRequirements: Ize,
+ setNewReqId: Oze,
+ setNewReqText: Pze,
+ setNewReqRisk: Bze,
+ setNewReqVerifyMethod: Fze,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ addElement: zze,
+ getElements: Gze,
+ setNewElementType: $ze,
+ setNewElementDocRef: Vze,
+ addRelationship: Uze,
+ getRelationships: Hze,
+ clear: Yze
+ });
+ });
+ var Wze,
+ Mue,
+ Iue = R(() => {
+ 'use strict';
+ (Wze = o(
+ (t) => `
+
+ marker {
+ fill: ${t.relationColor};
+ stroke: ${t.relationColor};
+ }
+
+ marker.cross {
+ stroke: ${t.lineColor};
+ }
+
+ svg {
+ font-family: ${t.fontFamily};
+ font-size: ${t.fontSize};
+ }
+
+ .reqBox {
+ fill: ${t.requirementBackground};
+ fill-opacity: 1.0;
+ stroke: ${t.requirementBorderColor};
+ stroke-width: ${t.requirementBorderSize};
+ }
+
+ .reqTitle, .reqLabel{
+ fill: ${t.requirementTextColor};
+ }
+ .reqLabelBox {
+ fill: ${t.relationLabelBackground};
+ fill-opacity: 1.0;
+ }
+
+ .req-title-line {
+ stroke: ${t.requirementBorderColor};
+ stroke-width: ${t.requirementBorderSize};
+ }
+ .relationshipLine {
+ stroke: ${t.relationColor};
+ stroke-width: 1;
+ }
+ .relationshipLabel {
+ fill: ${t.relationLabelColor};
+ }
+
+`,
+ 'getStyles'
+ )),
+ (Mue = Wze);
+ });
+ var cO,
+ qze,
+ uO,
+ Oue = R(() => {
+ 'use strict';
+ (cO = { CONTAINS: 'contains', ARROW: 'arrow' }),
+ (qze = o((t, e) => {
+ let r = t
+ .append('defs')
+ .append('marker')
+ .attr('id', cO.CONTAINS + '_line_ending')
+ .attr('refX', 0)
+ .attr('refY', e.line_height / 2)
+ .attr('markerWidth', e.line_height)
+ .attr('markerHeight', e.line_height)
+ .attr('orient', 'auto')
+ .append('g');
+ r
+ .append('circle')
+ .attr('cx', e.line_height / 2)
+ .attr('cy', e.line_height / 2)
+ .attr('r', e.line_height / 2)
+ .attr('fill', 'none'),
+ r
+ .append('line')
+ .attr('x1', 0)
+ .attr('x2', e.line_height)
+ .attr('y1', e.line_height / 2)
+ .attr('y2', e.line_height / 2)
+ .attr('stroke-width', 1),
+ r
+ .append('line')
+ .attr('y1', 0)
+ .attr('y2', e.line_height)
+ .attr('x1', e.line_height / 2)
+ .attr('x2', e.line_height / 2)
+ .attr('stroke-width', 1),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', cO.ARROW + '_line_ending')
+ .attr('refX', e.line_height)
+ .attr('refY', 0.5 * e.line_height)
+ .attr('markerWidth', e.line_height)
+ .attr('markerHeight', e.line_height)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr(
+ 'd',
+ `M0,0
+ L${e.line_height},${e.line_height / 2}
+ M${e.line_height},${e.line_height / 2}
+ L0,${e.line_height}`
+ )
+ .attr('stroke-width', 1);
+ }, 'insertLineEndings')),
+ (uO = { ReqMarkers: cO, insertLineEndings: qze });
+ });
+ var ai,
+ Pue,
+ Bue,
+ Fue,
+ zue,
+ Xze,
+ jze,
+ Kze,
+ Qze,
+ Zze,
+ Jze,
+ Og,
+ eGe,
+ Gue,
+ $ue = R(() => {
+ 'use strict';
+ Zt();
+ Vd();
+ ya();
+ _t();
+ ut();
+ Yn();
+ rr();
+ Oue();
+ (ai = {}),
+ (Pue = 0),
+ (Bue = o(
+ (t, e) =>
+ t
+ .insert('rect', '#' + e)
+ .attr('class', 'req reqBox')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', ai.rect_min_width + 'px')
+ .attr('height', ai.rect_min_height + 'px'),
+ 'newRectNode'
+ )),
+ (Fue = o((t, e, r) => {
+ let n = ai.rect_min_width / 2,
+ i = t
+ .append('text')
+ .attr('class', 'req reqLabel reqTitle')
+ .attr('id', e)
+ .attr('x', n)
+ .attr('y', ai.rect_padding)
+ .attr('dominant-baseline', 'hanging'),
+ a = 0;
+ r.forEach((h) => {
+ a == 0
+ ? i
+ .append('tspan')
+ .attr('text-anchor', 'middle')
+ .attr('x', ai.rect_min_width / 2)
+ .attr('dy', 0)
+ .text(h)
+ : i
+ .append('tspan')
+ .attr('text-anchor', 'middle')
+ .attr('x', ai.rect_min_width / 2)
+ .attr('dy', ai.line_height * 0.75)
+ .text(h),
+ a++;
+ });
+ let s = 1.5 * ai.rect_padding,
+ l = a * ai.line_height * 0.75,
+ u = s + l;
+ return (
+ t
+ .append('line')
+ .attr('class', 'req-title-line')
+ .attr('x1', '0')
+ .attr('x2', ai.rect_min_width)
+ .attr('y1', u)
+ .attr('y2', u),
+ { titleNode: i, y: u }
+ );
+ }, 'newTitleNode')),
+ (zue = o((t, e, r, n) => {
+ let i = t
+ .append('text')
+ .attr('class', 'req reqLabel')
+ .attr('id', e)
+ .attr('x', ai.rect_padding)
+ .attr('y', n)
+ .attr('dominant-baseline', 'hanging'),
+ a = 0,
+ s = 30,
+ l = [];
+ return (
+ r.forEach((u) => {
+ let h = u.length;
+ for (; h > s && a < 3; ) {
+ let f = u.substring(0, s);
+ (u = u.substring(s, u.length)), (h = u.length), (l[l.length] = f), a++;
+ }
+ if (a == 3) {
+ let f = l[l.length - 1];
+ l[l.length - 1] = f.substring(0, f.length - 4) + '...';
+ } else l[l.length] = u;
+ a = 0;
+ }),
+ l.forEach((u) => {
+ i.append('tspan').attr('x', ai.rect_padding).attr('dy', ai.line_height).text(u);
+ }),
+ i
+ );
+ }, 'newBodyNode')),
+ (Xze = o((t, e, r, n) => {
+ let i = e.node().getTotalLength(),
+ a = e.node().getPointAtLength(i * 0.5),
+ s = 'rel' + Pue;
+ Pue++;
+ let u = t
+ .append('text')
+ .attr('class', 'req relationshipLabel')
+ .attr('id', s)
+ .attr('x', a.x)
+ .attr('y', a.y)
+ .attr('text-anchor', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .text(n)
+ .node()
+ .getBBox();
+ t.insert('rect', '#' + s)
+ .attr('class', 'req reqLabelBox')
+ .attr('x', a.x - u.width / 2)
+ .attr('y', a.y - u.height / 2)
+ .attr('width', u.width)
+ .attr('height', u.height)
+ .attr('fill', 'white')
+ .attr('fill-opacity', '85%');
+ }, 'addEdgeLabel')),
+ (jze = o(function (t, e, r, n, i) {
+ let a = r.edge(Og(e.src), Og(e.dst)),
+ s = ha()
+ .x(function (u) {
+ return u.x;
+ })
+ .y(function (u) {
+ return u.y;
+ }),
+ l = t
+ .insert('path', '#' + n)
+ .attr('class', 'er relationshipLine')
+ .attr('d', s(a.points))
+ .attr('fill', 'none');
+ e.type == i.db.Relationships.CONTAINS
+ ? l.attr(
+ 'marker-start',
+ 'url(' + We.getUrl(ai.arrowMarkerAbsolute) + '#' + e.type + '_line_ending)'
+ )
+ : (l.attr('stroke-dasharray', '10,7'),
+ l.attr(
+ 'marker-end',
+ 'url(' + We.getUrl(ai.arrowMarkerAbsolute) + '#' + uO.ReqMarkers.ARROW + '_line_ending)'
+ )),
+ Xze(t, l, ai, `<<${e.type}>>`);
+ }, 'drawRelationshipFromLayout')),
+ (Kze = o((t, e, r) => {
+ t.forEach((n, i) => {
+ (i = Og(i)), V.info('Added new requirement: ', i);
+ let a = r.append('g').attr('id', i),
+ s = 'req-' + i,
+ l = Bue(a, s),
+ u = [],
+ h = Fue(a, i + '_title', [`<<${n.type}>>`, `${n.name}`]);
+ u.push(h.titleNode);
+ let f = zue(
+ a,
+ i + '_body',
+ [`Id: ${n.id}`, `Text: ${n.text}`, `Risk: ${n.risk}`, `Verification: ${n.verifyMethod}`],
+ h.y
+ );
+ u.push(f);
+ let d = l.node().getBBox();
+ e.setNode(i, {
+ width: d.width,
+ height: d.height,
+ shape: 'rect',
+ id: i
+ });
+ });
+ }, 'drawReqs')),
+ (Qze = o((t, e, r) => {
+ t.forEach((n, i) => {
+ let a = Og(i),
+ s = r.append('g').attr('id', a),
+ l = 'element-' + a,
+ u = Bue(s, l),
+ h = [],
+ f = Fue(s, l + '_title', ['<>', `${i}`]);
+ h.push(f.titleNode);
+ let d = zue(
+ s,
+ l + '_body',
+ [`Type: ${n.type || 'Not Specified'}`, `Doc Ref: ${n.docRef || 'None'}`],
+ f.y
+ );
+ h.push(d);
+ let p = u.node().getBBox();
+ e.setNode(a, {
+ width: p.width,
+ height: p.height,
+ shape: 'rect',
+ id: a
+ });
+ });
+ }, 'drawElements')),
+ (Zze = o(
+ (t, e) => (
+ t.forEach(function (r) {
+ let n = Og(r.src),
+ i = Og(r.dst);
+ e.setEdge(n, i, { relationship: r });
+ }),
+ t
+ ),
+ 'addRelationships'
+ )),
+ (Jze = o(function (t, e) {
+ e.nodes().forEach(function (r) {
+ r !== void 0 &&
+ e.node(r) !== void 0 &&
+ (t.select('#' + r),
+ t
+ .select('#' + r)
+ .attr(
+ 'transform',
+ 'translate(' +
+ (e.node(r).x - e.node(r).width / 2) +
+ ',' +
+ (e.node(r).y - e.node(r).height / 2) +
+ ' )'
+ ));
+ });
+ }, 'adjustEntities')),
+ (Og = o((t) => t.replace(/\s/g, '').replace(/\./g, '_'), 'elementString')),
+ (eGe = o((t, e, r, n) => {
+ ai = de().requirement;
+ let i = ai.securityLevel,
+ a;
+ i === 'sandbox' && (a = $e('#i' + e));
+ let l = (i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body')).select(
+ `[id='${e}']`
+ );
+ uO.insertLineEndings(l, ai);
+ let u = new lr({ multigraph: !1, compound: !1, directed: !0 })
+ .setGraph({
+ rankdir: ai.layoutDirection,
+ marginx: 20,
+ marginy: 20,
+ nodesep: 100,
+ edgesep: 100,
+ ranksep: 100
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ }),
+ h = n.db.getRequirements(),
+ f = n.db.getElements(),
+ d = n.db.getRelationships();
+ Kze(h, u, l),
+ Qze(f, u, l),
+ Zze(d, u),
+ lo(u),
+ Jze(l, u),
+ d.forEach(function (v) {
+ jze(l, v, u, e, n);
+ });
+ let p = ai.rect_padding,
+ m = l.node().getBBox(),
+ g = m.width + p * 2,
+ y = m.height + p * 2;
+ Sr(l, y, g, ai.useMaxWidth), l.attr('viewBox', `${m.x - p} ${m.y - p} ${g} ${y}`);
+ }, 'draw')),
+ (Gue = { draw: eGe });
+ });
+ var Vue = {};
+ hr(Vue, { diagram: () => tGe });
+ var tGe,
+ Uue = R(() => {
+ 'use strict';
+ Due();
+ Nue();
+ Iue();
+ $ue();
+ tGe = { parser: Lue, db: Rue, renderer: Gue, styles: Mue };
+ });
+ var hO,
+ Wue,
+ que = R(() => {
+ 'use strict';
+ hO = (function () {
+ var t = o(function (H, q, K, se) {
+ for (K = K || {}, se = H.length; se--; K[H[se]] = q);
+ return K;
+ }, 'o'),
+ e = [1, 2],
+ r = [1, 3],
+ n = [1, 4],
+ i = [2, 4],
+ a = [1, 9],
+ s = [1, 11],
+ l = [1, 13],
+ u = [1, 14],
+ h = [1, 16],
+ f = [1, 17],
+ d = [1, 18],
+ p = [1, 24],
+ m = [1, 25],
+ g = [1, 26],
+ y = [1, 27],
+ v = [1, 28],
+ x = [1, 29],
+ b = [1, 30],
+ w = [1, 31],
+ S = [1, 32],
+ T = [1, 33],
+ E = [1, 34],
+ _ = [1, 35],
+ A = [1, 36],
+ L = [1, 37],
+ M = [1, 38],
+ N = [1, 39],
+ k = [1, 41],
+ I = [1, 42],
+ C = [1, 43],
+ O = [1, 44],
+ D = [1, 45],
+ P = [1, 46],
+ F = [
+ 1, 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 48, 49,
+ 50, 52, 53, 54, 59, 60, 61, 62, 70
+ ],
+ B = [4, 5, 16, 50, 52, 53],
+ $ = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, 52, 53,
+ 54, 59, 60, 61, 62, 70
+ ],
+ z = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 49, 50, 52,
+ 53, 54, 59, 60, 61, 62, 70
+ ],
+ Y = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 50, 52,
+ 53, 54, 59, 60, 61, 62, 70
+ ],
+ Q = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 50, 52,
+ 53, 54, 59, 60, 61, 62, 70
+ ],
+ X = [68, 69, 70],
+ ie = [1, 122],
+ j = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ SPACE: 4,
+ NEWLINE: 5,
+ SD: 6,
+ document: 7,
+ line: 8,
+ statement: 9,
+ box_section: 10,
+ box_line: 11,
+ participant_statement: 12,
+ create: 13,
+ box: 14,
+ restOfLine: 15,
+ end: 16,
+ signal: 17,
+ autonumber: 18,
+ NUM: 19,
+ off: 20,
+ activate: 21,
+ actor: 22,
+ deactivate: 23,
+ note_statement: 24,
+ links_statement: 25,
+ link_statement: 26,
+ properties_statement: 27,
+ details_statement: 28,
+ title: 29,
+ legacy_title: 30,
+ acc_title: 31,
+ acc_title_value: 32,
+ acc_descr: 33,
+ acc_descr_value: 34,
+ acc_descr_multiline_value: 35,
+ loop: 36,
+ rect: 37,
+ opt: 38,
+ alt: 39,
+ else_sections: 40,
+ par: 41,
+ par_sections: 42,
+ par_over: 43,
+ critical: 44,
+ option_sections: 45,
+ break: 46,
+ option: 47,
+ and: 48,
+ else: 49,
+ participant: 50,
+ AS: 51,
+ participant_actor: 52,
+ destroy: 53,
+ note: 54,
+ placement: 55,
+ text2: 56,
+ over: 57,
+ actor_pair: 58,
+ links: 59,
+ link: 60,
+ properties: 61,
+ details: 62,
+ spaceList: 63,
+ ',': 64,
+ left_of: 65,
+ right_of: 66,
+ signaltype: 67,
+ '+': 68,
+ '-': 69,
+ ACTOR: 70,
+ SOLID_OPEN_ARROW: 71,
+ DOTTED_OPEN_ARROW: 72,
+ SOLID_ARROW: 73,
+ BIDIRECTIONAL_SOLID_ARROW: 74,
+ DOTTED_ARROW: 75,
+ BIDIRECTIONAL_DOTTED_ARROW: 76,
+ SOLID_CROSS: 77,
+ DOTTED_CROSS: 78,
+ SOLID_POINT: 79,
+ DOTTED_POINT: 80,
+ TXT: 81,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'SPACE',
+ 5: 'NEWLINE',
+ 6: 'SD',
+ 13: 'create',
+ 14: 'box',
+ 15: 'restOfLine',
+ 16: 'end',
+ 18: 'autonumber',
+ 19: 'NUM',
+ 20: 'off',
+ 21: 'activate',
+ 23: 'deactivate',
+ 29: 'title',
+ 30: 'legacy_title',
+ 31: 'acc_title',
+ 32: 'acc_title_value',
+ 33: 'acc_descr',
+ 34: 'acc_descr_value',
+ 35: 'acc_descr_multiline_value',
+ 36: 'loop',
+ 37: 'rect',
+ 38: 'opt',
+ 39: 'alt',
+ 41: 'par',
+ 43: 'par_over',
+ 44: 'critical',
+ 46: 'break',
+ 47: 'option',
+ 48: 'and',
+ 49: 'else',
+ 50: 'participant',
+ 51: 'AS',
+ 52: 'participant_actor',
+ 53: 'destroy',
+ 54: 'note',
+ 57: 'over',
+ 59: 'links',
+ 60: 'link',
+ 61: 'properties',
+ 62: 'details',
+ 64: ',',
+ 65: 'left_of',
+ 66: 'right_of',
+ 68: '+',
+ 69: '-',
+ 70: 'ACTOR',
+ 71: 'SOLID_OPEN_ARROW',
+ 72: 'DOTTED_OPEN_ARROW',
+ 73: 'SOLID_ARROW',
+ 74: 'BIDIRECTIONAL_SOLID_ARROW',
+ 75: 'DOTTED_ARROW',
+ 76: 'BIDIRECTIONAL_DOTTED_ARROW',
+ 77: 'SOLID_CROSS',
+ 78: 'DOTTED_CROSS',
+ 79: 'SOLID_POINT',
+ 80: 'DOTTED_POINT',
+ 81: 'TXT'
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 2],
+ [3, 2],
+ [7, 0],
+ [7, 2],
+ [8, 2],
+ [8, 1],
+ [8, 1],
+ [10, 0],
+ [10, 2],
+ [11, 2],
+ [11, 1],
+ [11, 1],
+ [9, 1],
+ [9, 2],
+ [9, 4],
+ [9, 2],
+ [9, 4],
+ [9, 3],
+ [9, 3],
+ [9, 2],
+ [9, 3],
+ [9, 3],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [45, 1],
+ [45, 4],
+ [42, 1],
+ [42, 4],
+ [40, 1],
+ [40, 4],
+ [12, 5],
+ [12, 3],
+ [12, 5],
+ [12, 3],
+ [12, 3],
+ [24, 4],
+ [24, 4],
+ [25, 3],
+ [26, 3],
+ [27, 3],
+ [28, 3],
+ [63, 2],
+ [63, 1],
+ [58, 3],
+ [58, 1],
+ [55, 1],
+ [55, 1],
+ [17, 5],
+ [17, 5],
+ [17, 4],
+ [22, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [56, 1]
+ ],
+ performAction: o(function (q, K, se, ce, ue, te, De) {
+ var oe = te.length - 1;
+ switch (ue) {
+ case 3:
+ return ce.apply(te[oe]), te[oe];
+ break;
+ case 4:
+ case 9:
+ this.$ = [];
+ break;
+ case 5:
+ case 10:
+ te[oe - 1].push(te[oe]), (this.$ = te[oe - 1]);
+ break;
+ case 6:
+ case 7:
+ case 11:
+ case 12:
+ this.$ = te[oe];
+ break;
+ case 8:
+ case 13:
+ this.$ = [];
+ break;
+ case 15:
+ (te[oe].type = 'createParticipant'), (this.$ = te[oe]);
+ break;
+ case 16:
+ te[oe - 1].unshift({
+ type: 'boxStart',
+ boxData: ce.parseBoxData(te[oe - 2])
+ }),
+ te[oe - 1].push({ type: 'boxEnd', boxText: te[oe - 2] }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 18:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceIndex: Number(te[oe - 2]),
+ sequenceIndexStep: Number(te[oe - 1]),
+ sequenceVisible: !0,
+ signalType: ce.LINETYPE.AUTONUMBER
+ };
+ break;
+ case 19:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceIndex: Number(te[oe - 1]),
+ sequenceIndexStep: 1,
+ sequenceVisible: !0,
+ signalType: ce.LINETYPE.AUTONUMBER
+ };
+ break;
+ case 20:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceVisible: !1,
+ signalType: ce.LINETYPE.AUTONUMBER
+ };
+ break;
+ case 21:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceVisible: !0,
+ signalType: ce.LINETYPE.AUTONUMBER
+ };
+ break;
+ case 22:
+ this.$ = {
+ type: 'activeStart',
+ signalType: ce.LINETYPE.ACTIVE_START,
+ actor: te[oe - 1].actor
+ };
+ break;
+ case 23:
+ this.$ = {
+ type: 'activeEnd',
+ signalType: ce.LINETYPE.ACTIVE_END,
+ actor: te[oe - 1].actor
+ };
+ break;
+ case 29:
+ ce.setDiagramTitle(te[oe].substring(6)), (this.$ = te[oe].substring(6));
+ break;
+ case 30:
+ ce.setDiagramTitle(te[oe].substring(7)), (this.$ = te[oe].substring(7));
+ break;
+ case 31:
+ (this.$ = te[oe].trim()), ce.setAccTitle(this.$);
+ break;
+ case 32:
+ case 33:
+ (this.$ = te[oe].trim()), ce.setAccDescription(this.$);
+ break;
+ case 34:
+ te[oe - 1].unshift({
+ type: 'loopStart',
+ loopText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.LOOP_START
+ }),
+ te[oe - 1].push({
+ type: 'loopEnd',
+ loopText: te[oe - 2],
+ signalType: ce.LINETYPE.LOOP_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 35:
+ te[oe - 1].unshift({
+ type: 'rectStart',
+ color: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.RECT_START
+ }),
+ te[oe - 1].push({
+ type: 'rectEnd',
+ color: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.RECT_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 36:
+ te[oe - 1].unshift({
+ type: 'optStart',
+ optText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.OPT_START
+ }),
+ te[oe - 1].push({
+ type: 'optEnd',
+ optText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.OPT_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 37:
+ te[oe - 1].unshift({
+ type: 'altStart',
+ altText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.ALT_START
+ }),
+ te[oe - 1].push({
+ type: 'altEnd',
+ signalType: ce.LINETYPE.ALT_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 38:
+ te[oe - 1].unshift({
+ type: 'parStart',
+ parText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.PAR_START
+ }),
+ te[oe - 1].push({
+ type: 'parEnd',
+ signalType: ce.LINETYPE.PAR_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 39:
+ te[oe - 1].unshift({
+ type: 'parStart',
+ parText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.PAR_OVER_START
+ }),
+ te[oe - 1].push({
+ type: 'parEnd',
+ signalType: ce.LINETYPE.PAR_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 40:
+ te[oe - 1].unshift({
+ type: 'criticalStart',
+ criticalText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.CRITICAL_START
+ }),
+ te[oe - 1].push({
+ type: 'criticalEnd',
+ signalType: ce.LINETYPE.CRITICAL_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 41:
+ te[oe - 1].unshift({
+ type: 'breakStart',
+ breakText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.BREAK_START
+ }),
+ te[oe - 1].push({
+ type: 'breakEnd',
+ optText: ce.parseMessage(te[oe - 2]),
+ signalType: ce.LINETYPE.BREAK_END
+ }),
+ (this.$ = te[oe - 1]);
+ break;
+ case 43:
+ this.$ = te[oe - 3].concat([
+ {
+ type: 'option',
+ optionText: ce.parseMessage(te[oe - 1]),
+ signalType: ce.LINETYPE.CRITICAL_OPTION
+ },
+ te[oe]
+ ]);
+ break;
+ case 45:
+ this.$ = te[oe - 3].concat([
+ {
+ type: 'and',
+ parText: ce.parseMessage(te[oe - 1]),
+ signalType: ce.LINETYPE.PAR_AND
+ },
+ te[oe]
+ ]);
+ break;
+ case 47:
+ this.$ = te[oe - 3].concat([
+ {
+ type: 'else',
+ altText: ce.parseMessage(te[oe - 1]),
+ signalType: ce.LINETYPE.ALT_ELSE
+ },
+ te[oe]
+ ]);
+ break;
+ case 48:
+ (te[oe - 3].draw = 'participant'),
+ (te[oe - 3].type = 'addParticipant'),
+ (te[oe - 3].description = ce.parseMessage(te[oe - 1])),
+ (this.$ = te[oe - 3]);
+ break;
+ case 49:
+ (te[oe - 1].draw = 'participant'),
+ (te[oe - 1].type = 'addParticipant'),
+ (this.$ = te[oe - 1]);
+ break;
+ case 50:
+ (te[oe - 3].draw = 'actor'),
+ (te[oe - 3].type = 'addParticipant'),
+ (te[oe - 3].description = ce.parseMessage(te[oe - 1])),
+ (this.$ = te[oe - 3]);
+ break;
+ case 51:
+ (te[oe - 1].draw = 'actor'),
+ (te[oe - 1].type = 'addParticipant'),
+ (this.$ = te[oe - 1]);
+ break;
+ case 52:
+ (te[oe - 1].type = 'destroyParticipant'), (this.$ = te[oe - 1]);
+ break;
+ case 53:
+ this.$ = [
+ te[oe - 1],
+ {
+ type: 'addNote',
+ placement: te[oe - 2],
+ actor: te[oe - 1].actor,
+ text: te[oe]
+ }
+ ];
+ break;
+ case 54:
+ (te[oe - 2] = [].concat(te[oe - 1], te[oe - 1]).slice(0, 2)),
+ (te[oe - 2][0] = te[oe - 2][0].actor),
+ (te[oe - 2][1] = te[oe - 2][1].actor),
+ (this.$ = [
+ te[oe - 1],
+ {
+ type: 'addNote',
+ placement: ce.PLACEMENT.OVER,
+ actor: te[oe - 2].slice(0, 2),
+ text: te[oe]
+ }
+ ]);
+ break;
+ case 55:
+ this.$ = [te[oe - 1], { type: 'addLinks', actor: te[oe - 1].actor, text: te[oe] }];
+ break;
+ case 56:
+ this.$ = [te[oe - 1], { type: 'addALink', actor: te[oe - 1].actor, text: te[oe] }];
+ break;
+ case 57:
+ this.$ = [
+ te[oe - 1],
+ {
+ type: 'addProperties',
+ actor: te[oe - 1].actor,
+ text: te[oe]
+ }
+ ];
+ break;
+ case 58:
+ this.$ = [
+ te[oe - 1],
+ {
+ type: 'addDetails',
+ actor: te[oe - 1].actor,
+ text: te[oe]
+ }
+ ];
+ break;
+ case 61:
+ this.$ = [te[oe - 2], te[oe]];
+ break;
+ case 62:
+ this.$ = te[oe];
+ break;
+ case 63:
+ this.$ = ce.PLACEMENT.LEFTOF;
+ break;
+ case 64:
+ this.$ = ce.PLACEMENT.RIGHTOF;
+ break;
+ case 65:
+ this.$ = [
+ te[oe - 4],
+ te[oe - 1],
+ {
+ type: 'addMessage',
+ from: te[oe - 4].actor,
+ to: te[oe - 1].actor,
+ signalType: te[oe - 3],
+ msg: te[oe],
+ activate: !0
+ },
+ {
+ type: 'activeStart',
+ signalType: ce.LINETYPE.ACTIVE_START,
+ actor: te[oe - 1].actor
+ }
+ ];
+ break;
+ case 66:
+ this.$ = [
+ te[oe - 4],
+ te[oe - 1],
+ {
+ type: 'addMessage',
+ from: te[oe - 4].actor,
+ to: te[oe - 1].actor,
+ signalType: te[oe - 3],
+ msg: te[oe]
+ },
+ {
+ type: 'activeEnd',
+ signalType: ce.LINETYPE.ACTIVE_END,
+ actor: te[oe - 4].actor
+ }
+ ];
+ break;
+ case 67:
+ this.$ = [
+ te[oe - 3],
+ te[oe - 1],
+ {
+ type: 'addMessage',
+ from: te[oe - 3].actor,
+ to: te[oe - 1].actor,
+ signalType: te[oe - 2],
+ msg: te[oe]
+ }
+ ];
+ break;
+ case 68:
+ this.$ = { type: 'addParticipant', actor: te[oe] };
+ break;
+ case 69:
+ this.$ = ce.LINETYPE.SOLID_OPEN;
+ break;
+ case 70:
+ this.$ = ce.LINETYPE.DOTTED_OPEN;
+ break;
+ case 71:
+ this.$ = ce.LINETYPE.SOLID;
+ break;
+ case 72:
+ this.$ = ce.LINETYPE.BIDIRECTIONAL_SOLID;
+ break;
+ case 73:
+ this.$ = ce.LINETYPE.DOTTED;
+ break;
+ case 74:
+ this.$ = ce.LINETYPE.BIDIRECTIONAL_DOTTED;
+ break;
+ case 75:
+ this.$ = ce.LINETYPE.SOLID_CROSS;
+ break;
+ case 76:
+ this.$ = ce.LINETYPE.DOTTED_CROSS;
+ break;
+ case 77:
+ this.$ = ce.LINETYPE.SOLID_POINT;
+ break;
+ case 78:
+ this.$ = ce.LINETYPE.DOTTED_POINT;
+ break;
+ case 79:
+ this.$ = ce.parseMessage(te[oe].trim().substring(1));
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: e, 5: r, 6: n },
+ { 1: [3] },
+ { 3: 5, 4: e, 5: r, 6: n },
+ { 3: 6, 4: e, 5: r, 6: n },
+ t(
+ [
+ 1, 4, 5, 13, 14, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50,
+ 52, 53, 54, 59, 60, 61, 62, 70
+ ],
+ i,
+ { 7: 7 }
+ ),
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ {
+ 1: [2, 3],
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ t(F, [2, 5]),
+ {
+ 9: 47,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ t(F, [2, 7]),
+ t(F, [2, 8]),
+ t(F, [2, 14]),
+ { 12: 48, 50: L, 52: M, 53: N },
+ { 15: [1, 49] },
+ { 5: [1, 50] },
+ { 5: [1, 53], 19: [1, 51], 20: [1, 52] },
+ { 22: 54, 70: P },
+ { 22: 55, 70: P },
+ { 5: [1, 56] },
+ { 5: [1, 57] },
+ { 5: [1, 58] },
+ { 5: [1, 59] },
+ { 5: [1, 60] },
+ t(F, [2, 29]),
+ t(F, [2, 30]),
+ { 32: [1, 61] },
+ { 34: [1, 62] },
+ t(F, [2, 33]),
+ { 15: [1, 63] },
+ { 15: [1, 64] },
+ { 15: [1, 65] },
+ { 15: [1, 66] },
+ { 15: [1, 67] },
+ { 15: [1, 68] },
+ { 15: [1, 69] },
+ { 15: [1, 70] },
+ { 22: 71, 70: P },
+ { 22: 72, 70: P },
+ { 22: 73, 70: P },
+ {
+ 67: 74,
+ 71: [1, 75],
+ 72: [1, 76],
+ 73: [1, 77],
+ 74: [1, 78],
+ 75: [1, 79],
+ 76: [1, 80],
+ 77: [1, 81],
+ 78: [1, 82],
+ 79: [1, 83],
+ 80: [1, 84]
+ },
+ { 55: 85, 57: [1, 86], 65: [1, 87], 66: [1, 88] },
+ { 22: 89, 70: P },
+ { 22: 90, 70: P },
+ { 22: 91, 70: P },
+ { 22: 92, 70: P },
+ t([5, 51, 64, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], [2, 68]),
+ t(F, [2, 6]),
+ t(F, [2, 15]),
+ t(B, [2, 9], { 10: 93 }),
+ t(F, [2, 17]),
+ { 5: [1, 95], 19: [1, 94] },
+ { 5: [1, 96] },
+ t(F, [2, 21]),
+ { 5: [1, 97] },
+ { 5: [1, 98] },
+ t(F, [2, 24]),
+ t(F, [2, 25]),
+ t(F, [2, 26]),
+ t(F, [2, 27]),
+ t(F, [2, 28]),
+ t(F, [2, 31]),
+ t(F, [2, 32]),
+ t($, i, { 7: 99 }),
+ t($, i, { 7: 100 }),
+ t($, i, { 7: 101 }),
+ t(z, i, { 40: 102, 7: 103 }),
+ t(Y, i, { 42: 104, 7: 105 }),
+ t(Y, i, { 7: 105, 42: 106 }),
+ t(Q, i, { 45: 107, 7: 108 }),
+ t($, i, { 7: 109 }),
+ { 5: [1, 111], 51: [1, 110] },
+ { 5: [1, 113], 51: [1, 112] },
+ { 5: [1, 114] },
+ { 22: 117, 68: [1, 115], 69: [1, 116], 70: P },
+ t(X, [2, 69]),
+ t(X, [2, 70]),
+ t(X, [2, 71]),
+ t(X, [2, 72]),
+ t(X, [2, 73]),
+ t(X, [2, 74]),
+ t(X, [2, 75]),
+ t(X, [2, 76]),
+ t(X, [2, 77]),
+ t(X, [2, 78]),
+ { 22: 118, 70: P },
+ { 22: 120, 58: 119, 70: P },
+ { 70: [2, 63] },
+ { 70: [2, 64] },
+ { 56: 121, 81: ie },
+ { 56: 123, 81: ie },
+ { 56: 124, 81: ie },
+ { 56: 125, 81: ie },
+ {
+ 4: [1, 128],
+ 5: [1, 130],
+ 11: 127,
+ 12: 129,
+ 16: [1, 126],
+ 50: L,
+ 52: M,
+ 53: N
+ },
+ { 5: [1, 131] },
+ t(F, [2, 19]),
+ t(F, [2, 20]),
+ t(F, [2, 22]),
+ t(F, [2, 23]),
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [1, 132],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [1, 133],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [1, 134],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ { 16: [1, 135] },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [2, 46],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 49: [1, 136],
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ { 16: [1, 137] },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [2, 44],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 48: [1, 138],
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ { 16: [1, 139] },
+ { 16: [1, 140] },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [2, 42],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 47: [1, 141],
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: l,
+ 14: u,
+ 16: [1, 142],
+ 17: 15,
+ 18: h,
+ 21: f,
+ 22: 40,
+ 23: d,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: p,
+ 30: m,
+ 31: g,
+ 33: y,
+ 35: v,
+ 36: x,
+ 37: b,
+ 38: w,
+ 39: S,
+ 41: T,
+ 43: E,
+ 44: _,
+ 46: A,
+ 50: L,
+ 52: M,
+ 53: N,
+ 54: k,
+ 59: I,
+ 60: C,
+ 61: O,
+ 62: D,
+ 70: P
+ },
+ { 15: [1, 143] },
+ t(F, [2, 49]),
+ { 15: [1, 144] },
+ t(F, [2, 51]),
+ t(F, [2, 52]),
+ { 22: 145, 70: P },
+ { 22: 146, 70: P },
+ { 56: 147, 81: ie },
+ { 56: 148, 81: ie },
+ { 56: 149, 81: ie },
+ { 64: [1, 150], 81: [2, 62] },
+ { 5: [2, 55] },
+ { 5: [2, 79] },
+ { 5: [2, 56] },
+ { 5: [2, 57] },
+ { 5: [2, 58] },
+ t(F, [2, 16]),
+ t(B, [2, 10]),
+ { 12: 151, 50: L, 52: M, 53: N },
+ t(B, [2, 12]),
+ t(B, [2, 13]),
+ t(F, [2, 18]),
+ t(F, [2, 34]),
+ t(F, [2, 35]),
+ t(F, [2, 36]),
+ t(F, [2, 37]),
+ { 15: [1, 152] },
+ t(F, [2, 38]),
+ { 15: [1, 153] },
+ t(F, [2, 39]),
+ t(F, [2, 40]),
+ { 15: [1, 154] },
+ t(F, [2, 41]),
+ { 5: [1, 155] },
+ { 5: [1, 156] },
+ { 56: 157, 81: ie },
+ { 56: 158, 81: ie },
+ { 5: [2, 67] },
+ { 5: [2, 53] },
+ { 5: [2, 54] },
+ { 22: 159, 70: P },
+ t(B, [2, 11]),
+ t(z, i, { 7: 103, 40: 160 }),
+ t(Y, i, { 7: 105, 42: 161 }),
+ t(Q, i, { 7: 108, 45: 162 }),
+ t(F, [2, 48]),
+ t(F, [2, 50]),
+ { 5: [2, 65] },
+ { 5: [2, 66] },
+ { 81: [2, 61] },
+ { 16: [2, 47] },
+ { 16: [2, 45] },
+ { 16: [2, 43] }
+ ],
+ defaultActions: {
+ 5: [2, 1],
+ 6: [2, 2],
+ 87: [2, 63],
+ 88: [2, 64],
+ 121: [2, 55],
+ 122: [2, 79],
+ 123: [2, 56],
+ 124: [2, 57],
+ 125: [2, 58],
+ 147: [2, 67],
+ 148: [2, 53],
+ 149: [2, 54],
+ 157: [2, 65],
+ 158: [2, 66],
+ 159: [2, 61],
+ 160: [2, 47],
+ 161: [2, 45],
+ 162: [2, 43]
+ },
+ parseError: o(function (q, K) {
+ if (K.recoverable) this.trace(q);
+ else {
+ var se = new Error(q);
+ throw ((se.hash = K), se);
+ }
+ }, 'parseError'),
+ parse: o(function (q) {
+ var K = this,
+ se = [0],
+ ce = [],
+ ue = [null],
+ te = [],
+ De = this.table,
+ oe = '',
+ ke = 0,
+ Ie = 0,
+ Se = 0,
+ Ue = 2,
+ Pe = 1,
+ _e = te.slice.call(arguments, 1),
+ me = Object.create(this.lexer),
+ W = { yy: {} };
+ for (var fe in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, fe) && (W.yy[fe] = this.yy[fe]);
+ me.setInput(q, W.yy),
+ (W.yy.lexer = me),
+ (W.yy.parser = this),
+ typeof me.yylloc > 'u' && (me.yylloc = {});
+ var ge = me.yylloc;
+ te.push(ge);
+ var re = me.options && me.options.ranges;
+ typeof W.yy.parseError == 'function'
+ ? (this.parseError = W.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function he(yt) {
+ (se.length = se.length - 2 * yt),
+ (ue.length = ue.length - yt),
+ (te.length = te.length - yt);
+ }
+ o(he, 'popStack');
+ function ne() {
+ var yt;
+ return (
+ (yt = ce.pop() || me.lex() || Pe),
+ typeof yt != 'number' &&
+ (yt instanceof Array && ((ce = yt), (yt = ce.pop())),
+ (yt = K.symbols_[yt] || yt)),
+ yt
+ );
+ }
+ o(ne, 'lex');
+ for (var ae, we, Te, Ce, Ae, Ge, Me = {}, ye, He, ze, Ze; ; ) {
+ if (
+ ((Te = se[se.length - 1]),
+ this.defaultActions[Te]
+ ? (Ce = this.defaultActions[Te])
+ : ((ae === null || typeof ae > 'u') && (ae = ne()),
+ (Ce = De[Te] && De[Te][ae])),
+ typeof Ce > 'u' || !Ce.length || !Ce[0])
+ ) {
+ var gt = '';
+ Ze = [];
+ for (ye in De[Te])
+ this.terminals_[ye] && ye > Ue && Ze.push("'" + this.terminals_[ye] + "'");
+ me.showPosition
+ ? (gt =
+ 'Parse error on line ' +
+ (ke + 1) +
+ `:
+` +
+ me.showPosition() +
+ `
+Expecting ` +
+ Ze.join(', ') +
+ ", got '" +
+ (this.terminals_[ae] || ae) +
+ "'")
+ : (gt =
+ 'Parse error on line ' +
+ (ke + 1) +
+ ': Unexpected ' +
+ (ae == Pe ? 'end of input' : "'" + (this.terminals_[ae] || ae) + "'")),
+ this.parseError(gt, {
+ text: me.match,
+ token: this.terminals_[ae] || ae,
+ line: me.yylineno,
+ loc: ge,
+ expected: Ze
+ });
+ }
+ if (Ce[0] instanceof Array && Ce.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Te + ', token: ' + ae
+ );
+ switch (Ce[0]) {
+ case 1:
+ se.push(ae),
+ ue.push(me.yytext),
+ te.push(me.yylloc),
+ se.push(Ce[1]),
+ (ae = null),
+ we
+ ? ((ae = we), (we = null))
+ : ((Ie = me.yyleng),
+ (oe = me.yytext),
+ (ke = me.yylineno),
+ (ge = me.yylloc),
+ Se > 0 && Se--);
+ break;
+ case 2:
+ if (
+ ((He = this.productions_[Ce[1]][1]),
+ (Me.$ = ue[ue.length - He]),
+ (Me._$ = {
+ first_line: te[te.length - (He || 1)].first_line,
+ last_line: te[te.length - 1].last_line,
+ first_column: te[te.length - (He || 1)].first_column,
+ last_column: te[te.length - 1].last_column
+ }),
+ re &&
+ (Me._$.range = [
+ te[te.length - (He || 1)].range[0],
+ te[te.length - 1].range[1]
+ ]),
+ (Ge = this.performAction.apply(
+ Me,
+ [oe, Ie, ke, W.yy, Ce[1], ue, te].concat(_e)
+ )),
+ typeof Ge < 'u')
+ )
+ return Ge;
+ He &&
+ ((se = se.slice(0, -1 * He * 2)),
+ (ue = ue.slice(0, -1 * He)),
+ (te = te.slice(0, -1 * He))),
+ se.push(this.productions_[Ce[1]][0]),
+ ue.push(Me.$),
+ te.push(Me._$),
+ (ze = De[se[se.length - 2]][se[se.length - 1]]),
+ se.push(ze);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ J = (function () {
+ var H = {
+ EOF: 1,
+ parseError: o(function (K, se) {
+ if (this.yy.parser) this.yy.parser.parseError(K, se);
+ else throw new Error(K);
+ }, 'parseError'),
+ setInput: o(function (q, K) {
+ return (
+ (this.yy = K || this.yy || {}),
+ (this._input = q),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var q = this._input[0];
+ (this.yytext += q),
+ this.yyleng++,
+ this.offset++,
+ (this.match += q),
+ (this.matched += q);
+ var K = q.match(/(?:\r\n?|\n).*/g);
+ return (
+ K ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ q
+ );
+ }, 'input'),
+ unput: o(function (q) {
+ var K = q.length,
+ se = q.split(/(?:\r\n?|\n)/g);
+ (this._input = q + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - K)),
+ (this.offset -= K);
+ var ce = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ se.length - 1 && (this.yylineno -= se.length - 1);
+ var ue = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: se
+ ? (se.length === ce.length ? this.yylloc.first_column : 0) +
+ ce[ce.length - se.length].length -
+ se[0].length
+ : this.yylloc.first_column - K
+ }),
+ this.options.ranges && (this.yylloc.range = [ue[0], ue[0] + this.yyleng - K]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (q) {
+ this.unput(this.match.slice(q));
+ }, 'less'),
+ pastInput: o(function () {
+ var q = this.matched.substr(0, this.matched.length - this.match.length);
+ return (q.length > 20 ? '...' : '') + q.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var q = this.match;
+ return (
+ q.length < 20 && (q += this._input.substr(0, 20 - q.length)),
+ (q.substr(0, 20) + (q.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var q = this.pastInput(),
+ K = new Array(q.length + 1).join('-');
+ return (
+ q +
+ this.upcomingInput() +
+ `
+` +
+ K +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (q, K) {
+ var se, ce, ue;
+ if (
+ (this.options.backtrack_lexer &&
+ ((ue = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (ue.yylloc.range = this.yylloc.range.slice(0))),
+ (ce = q[0].match(/(?:\r\n?|\n).*/g)),
+ ce && (this.yylineno += ce.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: ce
+ ? ce[ce.length - 1].length - ce[ce.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + q[0].length
+ }),
+ (this.yytext += q[0]),
+ (this.match += q[0]),
+ (this.matches = q),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(q[0].length)),
+ (this.matched += q[0]),
+ (se = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ K,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ se)
+ )
+ return se;
+ if (this._backtrack) {
+ for (var te in ue) this[te] = ue[te];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var q, K, se, ce;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var ue = this._currentRules(), te = 0; te < ue.length; te++)
+ if (
+ ((se = this._input.match(this.rules[ue[te]])),
+ se && (!K || se[0].length > K[0].length))
+ ) {
+ if (((K = se), (ce = te), this.options.backtrack_lexer)) {
+ if (((q = this.test_match(se, ue[te])), q !== !1)) return q;
+ if (this._backtrack) {
+ K = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return K
+ ? ((q = this.test_match(K, ue[ce])), q !== !1 ? q : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var K = this.next();
+ return K || this.lex();
+ }, 'lex'),
+ begin: o(function (K) {
+ this.conditionStack.push(K);
+ }, 'begin'),
+ popState: o(function () {
+ var K = this.conditionStack.length - 1;
+ return K > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (K) {
+ return (
+ (K = this.conditionStack.length - 1 - Math.abs(K || 0)),
+ K >= 0 ? this.conditionStack[K] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (K) {
+ this.begin(K);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (K, se, ce, ue) {
+ var te = ue;
+ switch (ce) {
+ case 0:
+ return 5;
+ case 1:
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ break;
+ case 6:
+ return 19;
+ case 7:
+ return this.begin('LINE'), 14;
+ break;
+ case 8:
+ return this.begin('ID'), 50;
+ break;
+ case 9:
+ return this.begin('ID'), 52;
+ break;
+ case 10:
+ return 13;
+ case 11:
+ return this.begin('ID'), 53;
+ break;
+ case 12:
+ return (se.yytext = se.yytext.trim()), this.begin('ALIAS'), 70;
+ break;
+ case 13:
+ return this.popState(), this.popState(), this.begin('LINE'), 51;
+ break;
+ case 14:
+ return this.popState(), this.popState(), 5;
+ break;
+ case 15:
+ return this.begin('LINE'), 36;
+ break;
+ case 16:
+ return this.begin('LINE'), 37;
+ break;
+ case 17:
+ return this.begin('LINE'), 38;
+ break;
+ case 18:
+ return this.begin('LINE'), 39;
+ break;
+ case 19:
+ return this.begin('LINE'), 49;
+ break;
+ case 20:
+ return this.begin('LINE'), 41;
+ break;
+ case 21:
+ return this.begin('LINE'), 43;
+ break;
+ case 22:
+ return this.begin('LINE'), 48;
+ break;
+ case 23:
+ return this.begin('LINE'), 44;
+ break;
+ case 24:
+ return this.begin('LINE'), 47;
+ break;
+ case 25:
+ return this.begin('LINE'), 46;
+ break;
+ case 26:
+ return this.popState(), 15;
+ break;
+ case 27:
+ return 16;
+ case 28:
+ return 65;
+ case 29:
+ return 66;
+ case 30:
+ return 59;
+ case 31:
+ return 60;
+ case 32:
+ return 61;
+ case 33:
+ return 62;
+ case 34:
+ return 57;
+ case 35:
+ return 54;
+ case 36:
+ return this.begin('ID'), 21;
+ break;
+ case 37:
+ return this.begin('ID'), 23;
+ break;
+ case 38:
+ return 29;
+ case 39:
+ return 30;
+ case 40:
+ return this.begin('acc_title'), 31;
+ break;
+ case 41:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 42:
+ return this.begin('acc_descr'), 33;
+ break;
+ case 43:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 44:
+ this.begin('acc_descr_multiline');
+ break;
+ case 45:
+ this.popState();
+ break;
+ case 46:
+ return 'acc_descr_multiline_value';
+ case 47:
+ return 6;
+ case 48:
+ return 18;
+ case 49:
+ return 20;
+ case 50:
+ return 64;
+ case 51:
+ return 5;
+ case 52:
+ return (se.yytext = se.yytext.trim()), 70;
+ break;
+ case 53:
+ return 73;
+ case 54:
+ return 74;
+ case 55:
+ return 75;
+ case 56:
+ return 76;
+ case 57:
+ return 71;
+ case 58:
+ return 72;
+ case 59:
+ return 77;
+ case 60:
+ return 78;
+ case 61:
+ return 79;
+ case 62:
+ return 80;
+ case 63:
+ return 81;
+ case 64:
+ return 68;
+ case 65:
+ return 69;
+ case 66:
+ return 5;
+ case 67:
+ return 'INVALID';
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:((?!\n)\s)+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[0-9]+(?=[ \n]+))/i,
+ /^(?:box\b)/i,
+ /^(?:participant\b)/i,
+ /^(?:actor\b)/i,
+ /^(?:create\b)/i,
+ /^(?:destroy\b)/i,
+ /^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,
+ /^(?:as\b)/i,
+ /^(?:(?:))/i,
+ /^(?:loop\b)/i,
+ /^(?:rect\b)/i,
+ /^(?:opt\b)/i,
+ /^(?:alt\b)/i,
+ /^(?:else\b)/i,
+ /^(?:par\b)/i,
+ /^(?:par_over\b)/i,
+ /^(?:and\b)/i,
+ /^(?:critical\b)/i,
+ /^(?:option\b)/i,
+ /^(?:break\b)/i,
+ /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,
+ /^(?:end\b)/i,
+ /^(?:left of\b)/i,
+ /^(?:right of\b)/i,
+ /^(?:links\b)/i,
+ /^(?:link\b)/i,
+ /^(?:properties\b)/i,
+ /^(?:details\b)/i,
+ /^(?:over\b)/i,
+ /^(?:note\b)/i,
+ /^(?:activate\b)/i,
+ /^(?:deactivate\b)/i,
+ /^(?:title\s[^#\n;]+)/i,
+ /^(?:title:\s[^#\n;]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:sequenceDiagram\b)/i,
+ /^(?:autonumber\b)/i,
+ /^(?:off\b)/i,
+ /^(?:,)/i,
+ /^(?:;)/i,
+ /^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,
+ /^(?:->>)/i,
+ /^(?:<<->>)/i,
+ /^(?:-->>)/i,
+ /^(?:<<-->>)/i,
+ /^(?:->)/i,
+ /^(?:-->)/i,
+ /^(?:-[x])/i,
+ /^(?:--[x])/i,
+ /^(?:-[\)])/i,
+ /^(?:--[\)])/i,
+ /^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,
+ /^(?:\+)/i,
+ /^(?:-)/i,
+ /^(?:$)/i,
+ /^(?:.)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [45, 46], inclusive: !1 },
+ acc_descr: { rules: [43], inclusive: !1 },
+ acc_title: { rules: [41], inclusive: !1 },
+ ID: { rules: [2, 3, 12], inclusive: !1 },
+ ALIAS: { rules: [2, 3, 13, 14], inclusive: !1 },
+ LINE: { rules: [2, 3, 26], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return H;
+ })();
+ j.lexer = J;
+ function Z() {
+ this.yy = {};
+ }
+ return o(Z, 'Parser'), (Z.prototype = j), (j.Parser = Z), new Z();
+ })();
+ hO.parser = hO;
+ Wue = hO;
+ });
+ function dO(t, e) {
+ if (t.links == null) t.links = e;
+ else for (let r in e) t.links[r] = e[r];
+ }
+ function Zue(t, e) {
+ if (t.properties == null) t.properties = e;
+ else for (let r in e) t.properties[r] = e[r];
+ }
+ function SGe() {
+ Mt.records.currentBox = void 0;
+ }
+ var Mt,
+ aGe,
+ fO,
+ sGe,
+ oGe,
+ pi,
+ lGe,
+ cGe,
+ uGe,
+ hGe,
+ fGe,
+ dGe,
+ pGe,
+ xx,
+ mGe,
+ gGe,
+ yGe,
+ vGe,
+ xGe,
+ Xue,
+ A0,
+ bGe,
+ wGe,
+ TGe,
+ vx,
+ kGe,
+ EGe,
+ jue,
+ Kue,
+ CGe,
+ Que,
+ Jue,
+ AGe,
+ ehe,
+ pO,
+ the = R(() => {
+ 'use strict';
+ _t();
+ ut();
+ Jk();
+ rr();
+ bi();
+ (Mt = new uf(() => ({
+ prevActor: void 0,
+ actors: new Map(),
+ createdActors: new Map(),
+ destroyedActors: new Map(),
+ boxes: [],
+ messages: [],
+ notes: [],
+ sequenceNumbersEnabled: !1,
+ wrapEnabled: void 0,
+ currentBox: void 0,
+ lastCreated: void 0,
+ lastDestroyed: void 0
+ }))),
+ (aGe = o(function (t) {
+ Mt.records.boxes.push({
+ name: t.text,
+ wrap: t.wrap ?? A0(),
+ fill: t.color,
+ actorKeys: []
+ }),
+ (Mt.records.currentBox = Mt.records.boxes.slice(-1)[0]);
+ }, 'addBox')),
+ (fO = o(function (t, e, r, n) {
+ let i = Mt.records.currentBox,
+ a = Mt.records.actors.get(t);
+ if (a) {
+ if (Mt.records.currentBox && a.box && Mt.records.currentBox !== a.box)
+ throw new Error(
+ `A same participant should only be defined in one Box: ${a.name} can't be in '${a.box.name}' and in '${Mt.records.currentBox.name}' at the same time.`
+ );
+ if (((i = a.box ? a.box : Mt.records.currentBox), (a.box = i), a && e === a.name && r == null))
+ return;
+ }
+ if (
+ (r?.text == null && (r = { text: e, type: n }),
+ (n == null || r.text == null) && (r = { text: e, type: n }),
+ Mt.records.actors.set(t, {
+ box: i,
+ name: e,
+ description: r.text,
+ wrap: r.wrap ?? A0(),
+ prevActor: Mt.records.prevActor,
+ links: {},
+ properties: {},
+ actorCnt: null,
+ rectData: null,
+ type: n ?? 'participant'
+ }),
+ Mt.records.prevActor)
+ ) {
+ let s = Mt.records.actors.get(Mt.records.prevActor);
+ s && (s.nextActor = t);
+ }
+ Mt.records.currentBox && Mt.records.currentBox.actorKeys.push(t), (Mt.records.prevActor = t);
+ }, 'addActor')),
+ (sGe = o((t) => {
+ let e,
+ r = 0;
+ if (!t) return 0;
+ for (e = 0; e < Mt.records.messages.length; e++)
+ Mt.records.messages[e].type === vx.ACTIVE_START && Mt.records.messages[e].from === t && r++,
+ Mt.records.messages[e].type === vx.ACTIVE_END && Mt.records.messages[e].from === t && r--;
+ return r;
+ }, 'activationCount')),
+ (oGe = o(function (t, e, r, n) {
+ Mt.records.messages.push({
+ from: t,
+ to: e,
+ message: r.text,
+ wrap: r.wrap ?? A0(),
+ answer: n
+ });
+ }, 'addMessage')),
+ (pi = o(function (t, e, r, n, i = !1) {
+ if (n === vx.ACTIVE_END && sGe(t ?? '') < 1) {
+ let s = new Error('Trying to inactivate an inactive participant (' + t + ')');
+ throw (
+ ((s.hash = {
+ text: '->>-',
+ token: '->>-',
+ line: '1',
+ loc: {
+ first_line: 1,
+ last_line: 1,
+ first_column: 1,
+ last_column: 1
+ },
+ expected: ["'ACTIVE_PARTICIPANT'"]
+ }),
+ s)
+ );
+ }
+ return (
+ Mt.records.messages.push({
+ from: t,
+ to: e,
+ message: r?.text ?? '',
+ wrap: r?.wrap ?? A0(),
+ type: n,
+ activate: i
+ }),
+ !0
+ );
+ }, 'addSignal')),
+ (lGe = o(function () {
+ return Mt.records.boxes.length > 0;
+ }, 'hasAtLeastOneBox')),
+ (cGe = o(function () {
+ return Mt.records.boxes.some((t) => t.name);
+ }, 'hasAtLeastOneBoxWithTitle')),
+ (uGe = o(function () {
+ return Mt.records.messages;
+ }, 'getMessages')),
+ (hGe = o(function () {
+ return Mt.records.boxes;
+ }, 'getBoxes')),
+ (fGe = o(function () {
+ return Mt.records.actors;
+ }, 'getActors')),
+ (dGe = o(function () {
+ return Mt.records.createdActors;
+ }, 'getCreatedActors')),
+ (pGe = o(function () {
+ return Mt.records.destroyedActors;
+ }, 'getDestroyedActors')),
+ (xx = o(function (t) {
+ return Mt.records.actors.get(t);
+ }, 'getActor')),
+ (mGe = o(function () {
+ return [...Mt.records.actors.keys()];
+ }, 'getActorKeys')),
+ (gGe = o(function () {
+ Mt.records.sequenceNumbersEnabled = !0;
+ }, 'enableSequenceNumbers')),
+ (yGe = o(function () {
+ Mt.records.sequenceNumbersEnabled = !1;
+ }, 'disableSequenceNumbers')),
+ (vGe = o(() => Mt.records.sequenceNumbersEnabled, 'showSequenceNumbers')),
+ (xGe = o(function (t) {
+ Mt.records.wrapEnabled = t;
+ }, 'setWrap')),
+ (Xue = o((t) => {
+ if (t === void 0) return {};
+ t = t.trim();
+ let e = /^:?wrap:/.exec(t) !== null ? !0 : /^:?nowrap:/.exec(t) !== null ? !1 : void 0;
+ return {
+ cleanedText: (e === void 0 ? t : t.replace(/^:?(?:no)?wrap:/, '')).trim(),
+ wrap: e
+ };
+ }, 'extractWrap')),
+ (A0 = o(
+ () => (Mt.records.wrapEnabled !== void 0 ? Mt.records.wrapEnabled : de().sequence?.wrap ?? !1),
+ 'autoWrap'
+ )),
+ (bGe = o(function () {
+ Mt.reset(), vr();
+ }, 'clear')),
+ (wGe = o(function (t) {
+ let e = t.trim(),
+ { wrap: r, cleanedText: n } = Xue(e),
+ i = { text: n, wrap: r };
+ return V.debug(`parseMessage: ${JSON.stringify(i)}`), i;
+ }, 'parseMessage')),
+ (TGe = o(function (t) {
+ let e = /^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),
+ r = e?.[1] ? e[1].trim() : 'transparent',
+ n = e?.[2] ? e[2].trim() : void 0;
+ if (window?.CSS) window.CSS.supports('color', r) || ((r = 'transparent'), (n = t.trim()));
+ else {
+ let s = new Option().style;
+ (s.color = r), s.color !== r && ((r = 'transparent'), (n = t.trim()));
+ }
+ let { wrap: i, cleanedText: a } = Xue(n);
+ return { text: a ? qr(a, de()) : void 0, color: r, wrap: i };
+ }, 'parseBoxData')),
+ (vx = {
+ SOLID: 0,
+ DOTTED: 1,
+ NOTE: 2,
+ SOLID_CROSS: 3,
+ DOTTED_CROSS: 4,
+ SOLID_OPEN: 5,
+ DOTTED_OPEN: 6,
+ LOOP_START: 10,
+ LOOP_END: 11,
+ ALT_START: 12,
+ ALT_ELSE: 13,
+ ALT_END: 14,
+ OPT_START: 15,
+ OPT_END: 16,
+ ACTIVE_START: 17,
+ ACTIVE_END: 18,
+ PAR_START: 19,
+ PAR_AND: 20,
+ PAR_END: 21,
+ RECT_START: 22,
+ RECT_END: 23,
+ SOLID_POINT: 24,
+ DOTTED_POINT: 25,
+ AUTONUMBER: 26,
+ CRITICAL_START: 27,
+ CRITICAL_OPTION: 28,
+ CRITICAL_END: 29,
+ BREAK_START: 30,
+ BREAK_END: 31,
+ PAR_OVER_START: 32,
+ BIDIRECTIONAL_SOLID: 33,
+ BIDIRECTIONAL_DOTTED: 34
+ }),
+ (kGe = { FILLED: 0, OPEN: 1 }),
+ (EGe = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }),
+ (jue = o(function (t, e, r) {
+ let n = {
+ actor: t,
+ placement: e,
+ message: r.text,
+ wrap: r.wrap ?? A0()
+ },
+ i = [].concat(t, t);
+ Mt.records.notes.push(n),
+ Mt.records.messages.push({
+ from: i[0],
+ to: i[1],
+ message: r.text,
+ wrap: r.wrap ?? A0(),
+ type: vx.NOTE,
+ placement: e
+ });
+ }, 'addNote')),
+ (Kue = o(function (t, e) {
+ let r = xx(t);
+ try {
+ let n = qr(e.text, de());
+ (n = n.replace(/&/g, '&')), (n = n.replace(/=/g, '='));
+ let i = JSON.parse(n);
+ dO(r, i);
+ } catch (n) {
+ V.error('error while parsing actor link text', n);
+ }
+ }, 'addLinks')),
+ (CGe = o(function (t, e) {
+ let r = xx(t);
+ try {
+ let n = {},
+ i = qr(e.text, de()),
+ a = i.indexOf('@');
+ (i = i.replace(/&/g, '&')), (i = i.replace(/=/g, '='));
+ let s = i.slice(0, a - 1).trim(),
+ l = i.slice(a + 1).trim();
+ (n[s] = l), dO(r, n);
+ } catch (n) {
+ V.error('error while parsing actor link text', n);
+ }
+ }, 'addALink'));
+ o(dO, 'insertLinks');
+ Que = o(function (t, e) {
+ let r = xx(t);
+ try {
+ let n = qr(e.text, de()),
+ i = JSON.parse(n);
+ Zue(r, i);
+ } catch (n) {
+ V.error('error while parsing actor properties text', n);
+ }
+ }, 'addProperties');
+ o(Zue, 'insertProperties');
+ o(SGe, 'boxEnd');
+ (Jue = o(function (t, e) {
+ let r = xx(t),
+ n = document.getElementById(e.text);
+ try {
+ let i = n.innerHTML,
+ a = JSON.parse(i);
+ a.properties && Zue(r, a.properties), a.links && dO(r, a.links);
+ } catch (i) {
+ V.error('error while parsing actor details text', i);
+ }
+ }, 'addDetails')),
+ (AGe = o(function (t, e) {
+ if (t?.properties !== void 0) return t.properties[e];
+ }, 'getActorProperty')),
+ (ehe = o(function (t) {
+ if (Array.isArray(t))
+ t.forEach(function (e) {
+ ehe(e);
+ });
+ else
+ switch (t.type) {
+ case 'sequenceIndex':
+ Mt.records.messages.push({
+ from: void 0,
+ to: void 0,
+ message: {
+ start: t.sequenceIndex,
+ step: t.sequenceIndexStep,
+ visible: t.sequenceVisible
+ },
+ wrap: !1,
+ type: t.signalType
+ });
+ break;
+ case 'addParticipant':
+ fO(t.actor, t.actor, t.description, t.draw);
+ break;
+ case 'createParticipant':
+ if (Mt.records.actors.has(t.actor))
+ throw new Error(
+ "It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior"
+ );
+ (Mt.records.lastCreated = t.actor),
+ fO(t.actor, t.actor, t.description, t.draw),
+ Mt.records.createdActors.set(t.actor, Mt.records.messages.length);
+ break;
+ case 'destroyParticipant':
+ (Mt.records.lastDestroyed = t.actor),
+ Mt.records.destroyedActors.set(t.actor, Mt.records.messages.length);
+ break;
+ case 'activeStart':
+ pi(t.actor, void 0, void 0, t.signalType);
+ break;
+ case 'activeEnd':
+ pi(t.actor, void 0, void 0, t.signalType);
+ break;
+ case 'addNote':
+ jue(t.actor, t.placement, t.text);
+ break;
+ case 'addLinks':
+ Kue(t.actor, t.text);
+ break;
+ case 'addALink':
+ CGe(t.actor, t.text);
+ break;
+ case 'addProperties':
+ Que(t.actor, t.text);
+ break;
+ case 'addDetails':
+ Jue(t.actor, t.text);
+ break;
+ case 'addMessage':
+ if (Mt.records.lastCreated) {
+ if (t.to !== Mt.records.lastCreated)
+ throw new Error(
+ 'The created participant ' +
+ Mt.records.lastCreated.name +
+ ' does not have an associated creating message after its declaration. Please check the sequence diagram.'
+ );
+ Mt.records.lastCreated = void 0;
+ } else if (Mt.records.lastDestroyed) {
+ if (t.to !== Mt.records.lastDestroyed && t.from !== Mt.records.lastDestroyed)
+ throw new Error(
+ 'The destroyed participant ' +
+ Mt.records.lastDestroyed.name +
+ ' does not have an associated destroying message after its declaration. Please check the sequence diagram.'
+ );
+ Mt.records.lastDestroyed = void 0;
+ }
+ pi(t.from, t.to, t.msg, t.signalType, t.activate);
+ break;
+ case 'boxStart':
+ aGe(t.boxData);
+ break;
+ case 'boxEnd':
+ SGe();
+ break;
+ case 'loopStart':
+ pi(void 0, void 0, t.loopText, t.signalType);
+ break;
+ case 'loopEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'rectStart':
+ pi(void 0, void 0, t.color, t.signalType);
+ break;
+ case 'rectEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'optStart':
+ pi(void 0, void 0, t.optText, t.signalType);
+ break;
+ case 'optEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'altStart':
+ pi(void 0, void 0, t.altText, t.signalType);
+ break;
+ case 'else':
+ pi(void 0, void 0, t.altText, t.signalType);
+ break;
+ case 'altEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'setAccTitle':
+ kr(t.text);
+ break;
+ case 'parStart':
+ pi(void 0, void 0, t.parText, t.signalType);
+ break;
+ case 'and':
+ pi(void 0, void 0, t.parText, t.signalType);
+ break;
+ case 'parEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'criticalStart':
+ pi(void 0, void 0, t.criticalText, t.signalType);
+ break;
+ case 'option':
+ pi(void 0, void 0, t.optionText, t.signalType);
+ break;
+ case 'criticalEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ case 'breakStart':
+ pi(void 0, void 0, t.breakText, t.signalType);
+ break;
+ case 'breakEnd':
+ pi(void 0, void 0, void 0, t.signalType);
+ break;
+ }
+ }, 'apply')),
+ (pO = {
+ addActor: fO,
+ addMessage: oGe,
+ addSignal: pi,
+ addLinks: Kue,
+ addDetails: Jue,
+ addProperties: Que,
+ autoWrap: A0,
+ setWrap: xGe,
+ enableSequenceNumbers: gGe,
+ disableSequenceNumbers: yGe,
+ showSequenceNumbers: vGe,
+ getMessages: uGe,
+ getActors: fGe,
+ getCreatedActors: dGe,
+ getDestroyedActors: pGe,
+ getActor: xx,
+ getActorKeys: mGe,
+ getActorProperty: AGe,
+ getAccTitle: Ar,
+ getBoxes: hGe,
+ getDiagramTitle: Xr,
+ setDiagramTitle: nn,
+ getConfig: o(() => de().sequence, 'getConfig'),
+ clear: bGe,
+ parseMessage: wGe,
+ parseBoxData: TGe,
+ LINETYPE: vx,
+ ARROWTYPE: kGe,
+ PLACEMENT: EGe,
+ addNote: jue,
+ setAccTitle: kr,
+ apply: ehe,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ hasAtLeastOneBox: lGe,
+ hasAtLeastOneBoxWithTitle: cGe
+ });
+ });
+ var _Ge,
+ rhe,
+ nhe = R(() => {
+ 'use strict';
+ (_Ge = o(
+ (t) => `.actor {
+ stroke: ${t.actorBorder};
+ fill: ${t.actorBkg};
+ }
+
+ text.actor > tspan {
+ fill: ${t.actorTextColor};
+ stroke: none;
+ }
+
+ .actor-line {
+ stroke: ${t.actorLineColor};
+ }
+
+ .messageLine0 {
+ stroke-width: 1.5;
+ stroke-dasharray: none;
+ stroke: ${t.signalColor};
+ }
+
+ .messageLine1 {
+ stroke-width: 1.5;
+ stroke-dasharray: 2, 2;
+ stroke: ${t.signalColor};
+ }
+
+ #arrowhead path {
+ fill: ${t.signalColor};
+ stroke: ${t.signalColor};
+ }
+
+ .sequenceNumber {
+ fill: ${t.sequenceNumberColor};
+ }
+
+ #sequencenumber {
+ fill: ${t.signalColor};
+ }
+
+ #crosshead path {
+ fill: ${t.signalColor};
+ stroke: ${t.signalColor};
+ }
+
+ .messageText {
+ fill: ${t.signalTextColor};
+ stroke: none;
+ }
+
+ .labelBox {
+ stroke: ${t.labelBoxBorderColor};
+ fill: ${t.labelBoxBkgColor};
+ }
+
+ .labelText, .labelText > tspan {
+ fill: ${t.labelTextColor};
+ stroke: none;
+ }
+
+ .loopText, .loopText > tspan {
+ fill: ${t.loopTextColor};
+ stroke: none;
+ }
+
+ .loopLine {
+ stroke-width: 2px;
+ stroke-dasharray: 2, 2;
+ stroke: ${t.labelBoxBorderColor};
+ fill: ${t.labelBoxBorderColor};
+ }
+
+ .note {
+ //stroke: #decc93;
+ stroke: ${t.noteBorderColor};
+ fill: ${t.noteBkgColor};
+ }
+
+ .noteText, .noteText > tspan {
+ fill: ${t.noteTextColor};
+ stroke: none;
+ }
+
+ .activation0 {
+ fill: ${t.activationBkgColor};
+ stroke: ${t.activationBorderColor};
+ }
+
+ .activation1 {
+ fill: ${t.activationBkgColor};
+ stroke: ${t.activationBorderColor};
+ }
+
+ .activation2 {
+ fill: ${t.activationBkgColor};
+ stroke: ${t.activationBorderColor};
+ }
+
+ .actorPopupMenu {
+ position: absolute;
+ }
+
+ .actorPopupMenuPanel {
+ position: absolute;
+ fill: ${t.actorBkg};
+ box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
+ filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
+}
+ .actor-man line {
+ stroke: ${t.actorBorder};
+ fill: ${t.actorBkg};
+ }
+ .actor-man circle, line {
+ stroke: ${t.actorBorder};
+ fill: ${t.actorBkg};
+ stroke-width: 2px;
+ }
+`,
+ 'getStyles'
+ )),
+ (rhe = _Ge);
+ });
+ var mO,
+ gf,
+ ahe,
+ she,
+ LGe,
+ ihe,
+ gO,
+ DGe,
+ RGe,
+ bx,
+ _0,
+ ohe,
+ Bc,
+ yO,
+ NGe,
+ MGe,
+ IGe,
+ OGe,
+ PGe,
+ BGe,
+ FGe,
+ lhe,
+ zGe,
+ GGe,
+ $Ge,
+ VGe,
+ UGe,
+ HGe,
+ YGe,
+ che,
+ WGe,
+ vO,
+ qGe,
+ si,
+ uhe = R(() => {
+ 'use strict';
+ rr();
+ Qy();
+ xr();
+ mO = Xi(Up(), 1);
+ qs();
+ (gf = 18 * 2),
+ (ahe = 'actor-top'),
+ (she = 'actor-bottom'),
+ (LGe = 'actor-box'),
+ (ihe = 'actor-man'),
+ (gO = o(function (t, e) {
+ return yd(t, e);
+ }, 'drawRect')),
+ (DGe = o(function (t, e, r, n, i) {
+ if (e.links === void 0 || e.links === null || Object.keys(e.links).length === 0)
+ return { height: 0, width: 0 };
+ let a = e.links,
+ s = e.actorCnt,
+ l = e.rectData;
+ var u = 'none';
+ i && (u = 'block !important');
+ let h = t.append('g');
+ h.attr('id', 'actor' + s + '_popup'), h.attr('class', 'actorPopupMenu'), h.attr('display', u);
+ var f = '';
+ l.class !== void 0 && (f = ' ' + l.class);
+ let d = l.width > r ? l.width : r,
+ p = h.append('rect');
+ if (
+ (p.attr('class', 'actorPopupMenuPanel' + f),
+ p.attr('x', l.x),
+ p.attr('y', l.height),
+ p.attr('fill', l.fill),
+ p.attr('stroke', l.stroke),
+ p.attr('width', d),
+ p.attr('height', l.height),
+ p.attr('rx', l.rx),
+ p.attr('ry', l.ry),
+ a != null)
+ ) {
+ var m = 20;
+ for (let v in a) {
+ var g = h.append('a'),
+ y = (0, mO.sanitizeUrl)(a[v]);
+ g.attr('xlink:href', y),
+ g.attr('target', '_blank'),
+ qGe(n)(v, g, l.x + 10, l.height + m, d, 20, { class: 'actor' }, n),
+ (m += 30);
+ }
+ }
+ return p.attr('height', m), { height: l.height + m, width: d };
+ }, 'drawPopup')),
+ (RGe = o(function (t) {
+ return (
+ "var pu = document.getElementById('" +
+ t +
+ "'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"
+ );
+ }, 'popupMenuToggle')),
+ (bx = o(async function (t, e, r = null) {
+ let n = t.append('foreignObject'),
+ i = await yh(e.text, Or()),
+ s = n
+ .append('xhtml:div')
+ .attr('style', 'width: fit-content;')
+ .attr('xmlns', 'http://www.w3.org/1999/xhtml')
+ .html(i)
+ .node()
+ .getBoundingClientRect();
+ if (
+ (n.attr('height', Math.round(s.height)).attr('width', Math.round(s.width)),
+ e.class === 'noteText')
+ ) {
+ let l = t.node().firstChild;
+ l.setAttribute('height', s.height + 2 * e.textMargin);
+ let u = l.getBBox();
+ n.attr('x', Math.round(u.x + u.width / 2 - s.width / 2)).attr(
+ 'y',
+ Math.round(u.y + u.height / 2 - s.height / 2)
+ );
+ } else if (r) {
+ let { startx: l, stopx: u, starty: h } = r;
+ if (l > u) {
+ let f = l;
+ (l = u), (u = f);
+ }
+ n.attr('x', Math.round(l + Math.abs(l - u) / 2 - s.width / 2)),
+ e.class === 'loopText' ? n.attr('y', Math.round(h)) : n.attr('y', Math.round(h - s.height));
+ }
+ return [n];
+ }, 'drawKatex')),
+ (_0 = o(function (t, e) {
+ let r = 0,
+ n = 0,
+ i = e.text.split(We.lineBreakRegex),
+ [a, s] = mc(e.fontSize),
+ l = [],
+ u = 0,
+ h = o(() => e.y, 'yfunc');
+ if (e.valign !== void 0 && e.textMargin !== void 0 && e.textMargin > 0)
+ switch (e.valign) {
+ case 'top':
+ case 'start':
+ h = o(() => Math.round(e.y + e.textMargin), 'yfunc');
+ break;
+ case 'middle':
+ case 'center':
+ h = o(() => Math.round(e.y + (r + n + e.textMargin) / 2), 'yfunc');
+ break;
+ case 'bottom':
+ case 'end':
+ h = o(() => Math.round(e.y + (r + n + 2 * e.textMargin) - e.textMargin), 'yfunc');
+ break;
+ }
+ if (e.anchor !== void 0 && e.textMargin !== void 0 && e.width !== void 0)
+ switch (e.anchor) {
+ case 'left':
+ case 'start':
+ (e.x = Math.round(e.x + e.textMargin)),
+ (e.anchor = 'start'),
+ (e.dominantBaseline = 'middle'),
+ (e.alignmentBaseline = 'middle');
+ break;
+ case 'middle':
+ case 'center':
+ (e.x = Math.round(e.x + e.width / 2)),
+ (e.anchor = 'middle'),
+ (e.dominantBaseline = 'middle'),
+ (e.alignmentBaseline = 'middle');
+ break;
+ case 'right':
+ case 'end':
+ (e.x = Math.round(e.x + e.width - e.textMargin)),
+ (e.anchor = 'end'),
+ (e.dominantBaseline = 'middle'),
+ (e.alignmentBaseline = 'middle');
+ break;
+ }
+ for (let [f, d] of i.entries()) {
+ e.textMargin !== void 0 && e.textMargin === 0 && a !== void 0 && (u = f * a);
+ let p = t.append('text');
+ p.attr('x', e.x),
+ p.attr('y', h()),
+ e.anchor !== void 0 &&
+ p
+ .attr('text-anchor', e.anchor)
+ .attr('dominant-baseline', e.dominantBaseline)
+ .attr('alignment-baseline', e.alignmentBaseline),
+ e.fontFamily !== void 0 && p.style('font-family', e.fontFamily),
+ s !== void 0 && p.style('font-size', s),
+ e.fontWeight !== void 0 && p.style('font-weight', e.fontWeight),
+ e.fill !== void 0 && p.attr('fill', e.fill),
+ e.class !== void 0 && p.attr('class', e.class),
+ e.dy !== void 0 ? p.attr('dy', e.dy) : u !== 0 && p.attr('dy', u);
+ let m = d || K_;
+ if (e.tspan) {
+ let g = p.append('tspan');
+ g.attr('x', e.x), e.fill !== void 0 && g.attr('fill', e.fill), g.text(m);
+ } else p.text(m);
+ e.valign !== void 0 &&
+ e.textMargin !== void 0 &&
+ e.textMargin > 0 &&
+ ((n += (p._groups || p)[0][0].getBBox().height), (r = n)),
+ l.push(p);
+ }
+ return l;
+ }, 'drawText')),
+ (ohe = o(function (t, e) {
+ function r(i, a, s, l, u) {
+ return (
+ i +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ (a + l - u) +
+ ' ' +
+ (i + s - u * 1.2) +
+ ',' +
+ (a + l) +
+ ' ' +
+ i +
+ ',' +
+ (a + l)
+ );
+ }
+ o(r, 'genPoints');
+ let n = t.append('polygon');
+ return (
+ n.attr('points', r(e.x, e.y, e.width, e.height, 7)),
+ n.attr('class', 'labelBox'),
+ (e.y = e.y + e.height / 2),
+ _0(t, e),
+ n
+ );
+ }, 'drawLabel')),
+ (Bc = -1),
+ (yO = o((t, e, r, n) => {
+ t.select &&
+ r.forEach((i) => {
+ let a = e.get(i),
+ s = t.select('#actor' + a.actorCnt);
+ !n.mirrorActors && a.stopy
+ ? s.attr('y2', a.stopy + a.height / 2)
+ : n.mirrorActors && s.attr('y2', a.stopy);
+ });
+ }, 'fixLifeLineHeights')),
+ (NGe = o(function (t, e, r, n) {
+ let i = n ? e.stopy : e.starty,
+ a = e.x + e.width / 2,
+ s = i + 5,
+ l = t.append('g').lower();
+ var u = l;
+ n ||
+ (Bc++,
+ Object.keys(e.links || {}).length &&
+ !r.forceMenus &&
+ u.attr('onclick', RGe(`actor${Bc}_popup`)).attr('cursor', 'pointer'),
+ u
+ .append('line')
+ .attr('id', 'actor' + Bc)
+ .attr('x1', a)
+ .attr('y1', s)
+ .attr('x2', a)
+ .attr('y2', 2e3)
+ .attr('class', 'actor-line 200')
+ .attr('stroke-width', '0.5px')
+ .attr('stroke', '#999')
+ .attr('name', e.name),
+ (u = l.append('g')),
+ (e.actorCnt = Bc),
+ e.links != null && u.attr('id', 'root-' + Bc));
+ let h = wl();
+ var f = 'actor';
+ e.properties?.class ? (f = e.properties.class) : (h.fill = '#eaeaea'),
+ n ? (f += ` ${she}`) : (f += ` ${ahe}`),
+ (h.x = e.x),
+ (h.y = i),
+ (h.width = e.width),
+ (h.height = e.height),
+ (h.class = f),
+ (h.rx = 3),
+ (h.ry = 3),
+ (h.name = e.name);
+ let d = gO(u, h);
+ if (((e.rectData = h), e.properties?.icon)) {
+ let m = e.properties.icon.trim();
+ m.charAt(0) === '@'
+ ? EW(u, h.x + h.width - 20, h.y + 10, m.substr(1))
+ : kW(u, h.x + h.width - 20, h.y + 10, m);
+ }
+ vO(r, Ni(e.description))(
+ e.description,
+ u,
+ h.x,
+ h.y,
+ h.width,
+ h.height,
+ { class: `actor ${LGe}` },
+ r
+ );
+ let p = e.height;
+ if (d.node) {
+ let m = d.node().getBBox();
+ (e.height = m.height), (p = m.height);
+ }
+ return p;
+ }, 'drawActorTypeParticipant')),
+ (MGe = o(function (t, e, r, n) {
+ let i = n ? e.stopy : e.starty,
+ a = e.x + e.width / 2,
+ s = i + 80,
+ l = t.append('g').lower();
+ n ||
+ (Bc++,
+ l
+ .append('line')
+ .attr('id', 'actor' + Bc)
+ .attr('x1', a)
+ .attr('y1', s)
+ .attr('x2', a)
+ .attr('y2', 2e3)
+ .attr('class', 'actor-line 200')
+ .attr('stroke-width', '0.5px')
+ .attr('stroke', '#999')
+ .attr('name', e.name),
+ (e.actorCnt = Bc));
+ let u = t.append('g'),
+ h = ihe;
+ n ? (h += ` ${she}`) : (h += ` ${ahe}`), u.attr('class', h), u.attr('name', e.name);
+ let f = wl();
+ (f.x = e.x),
+ (f.y = i),
+ (f.fill = '#eaeaea'),
+ (f.width = e.width),
+ (f.height = e.height),
+ (f.class = 'actor'),
+ (f.rx = 3),
+ (f.ry = 3),
+ u
+ .append('line')
+ .attr('id', 'actor-man-torso' + Bc)
+ .attr('x1', a)
+ .attr('y1', i + 25)
+ .attr('x2', a)
+ .attr('y2', i + 45),
+ u
+ .append('line')
+ .attr('id', 'actor-man-arms' + Bc)
+ .attr('x1', a - gf / 2)
+ .attr('y1', i + 33)
+ .attr('x2', a + gf / 2)
+ .attr('y2', i + 33),
+ u
+ .append('line')
+ .attr('x1', a - gf / 2)
+ .attr('y1', i + 60)
+ .attr('x2', a)
+ .attr('y2', i + 45),
+ u
+ .append('line')
+ .attr('x1', a)
+ .attr('y1', i + 45)
+ .attr('x2', a + gf / 2 - 2)
+ .attr('y2', i + 60);
+ let d = u.append('circle');
+ d.attr('cx', e.x + e.width / 2),
+ d.attr('cy', i + 10),
+ d.attr('r', 15),
+ d.attr('width', e.width),
+ d.attr('height', e.height);
+ let p = u.node().getBBox();
+ return (
+ (e.height = p.height),
+ vO(r, Ni(e.description))(
+ e.description,
+ u,
+ f.x,
+ f.y + 35,
+ f.width,
+ f.height,
+ { class: `actor ${ihe}` },
+ r
+ ),
+ e.height
+ );
+ }, 'drawActorTypeActor')),
+ (IGe = o(async function (t, e, r, n) {
+ switch (e.type) {
+ case 'actor':
+ return await MGe(t, e, r, n);
+ case 'participant':
+ return await NGe(t, e, r, n);
+ }
+ }, 'drawActor')),
+ (OGe = o(function (t, e, r) {
+ let i = t.append('g');
+ lhe(i, e),
+ e.name &&
+ vO(r)(e.name, i, e.x, e.y + (e.textMaxHeight || 0) / 2, e.width, 0, { class: 'text' }, r),
+ i.lower();
+ }, 'drawBox')),
+ (PGe = o(function (t) {
+ return t.append('g');
+ }, 'anchorElement')),
+ (BGe = o(function (t, e, r, n, i) {
+ let a = wl(),
+ s = e.anchored;
+ (a.x = e.startx),
+ (a.y = e.starty),
+ (a.class = 'activation' + (i % 3)),
+ (a.width = e.stopx - e.startx),
+ (a.height = r - e.starty),
+ gO(s, a);
+ }, 'drawActivation')),
+ (FGe = o(async function (t, e, r, n) {
+ let {
+ boxMargin: i,
+ boxTextMargin: a,
+ labelBoxHeight: s,
+ labelBoxWidth: l,
+ messageFontFamily: u,
+ messageFontSize: h,
+ messageFontWeight: f
+ } = n,
+ d = t.append('g'),
+ p = o(function (y, v, x, b) {
+ return d
+ .append('line')
+ .attr('x1', y)
+ .attr('y1', v)
+ .attr('x2', x)
+ .attr('y2', b)
+ .attr('class', 'loopLine');
+ }, 'drawLoopLine');
+ p(e.startx, e.starty, e.stopx, e.starty),
+ p(e.stopx, e.starty, e.stopx, e.stopy),
+ p(e.startx, e.stopy, e.stopx, e.stopy),
+ p(e.startx, e.starty, e.startx, e.stopy),
+ e.sections !== void 0 &&
+ e.sections.forEach(function (y) {
+ p(e.startx, y.y, e.stopx, y.y).style('stroke-dasharray', '3, 3');
+ });
+ let m = Ky();
+ (m.text = r),
+ (m.x = e.startx),
+ (m.y = e.starty),
+ (m.fontFamily = u),
+ (m.fontSize = h),
+ (m.fontWeight = f),
+ (m.anchor = 'middle'),
+ (m.valign = 'middle'),
+ (m.tspan = !1),
+ (m.width = l || 50),
+ (m.height = s || 20),
+ (m.textMargin = a),
+ (m.class = 'labelText'),
+ ohe(d, m),
+ (m = che()),
+ (m.text = e.title),
+ (m.x = e.startx + l / 2 + (e.stopx - e.startx) / 2),
+ (m.y = e.starty + i + a),
+ (m.anchor = 'middle'),
+ (m.valign = 'middle'),
+ (m.textMargin = a),
+ (m.class = 'loopText'),
+ (m.fontFamily = u),
+ (m.fontSize = h),
+ (m.fontWeight = f),
+ (m.wrap = !0);
+ let g = Ni(m.text) ? await bx(d, m, e) : _0(d, m);
+ if (e.sectionTitles !== void 0) {
+ for (let [y, v] of Object.entries(e.sectionTitles))
+ if (v.message) {
+ (m.text = v.message),
+ (m.x = e.startx + (e.stopx - e.startx) / 2),
+ (m.y = e.sections[y].y + i + a),
+ (m.class = 'loopText'),
+ (m.anchor = 'middle'),
+ (m.valign = 'middle'),
+ (m.tspan = !1),
+ (m.fontFamily = u),
+ (m.fontSize = h),
+ (m.fontWeight = f),
+ (m.wrap = e.wrap),
+ Ni(m.text) ? ((e.starty = e.sections[y].y), await bx(d, m, e)) : _0(d, m);
+ let x = Math.round(
+ g.map((b) => (b._groups || b)[0][0].getBBox().height).reduce((b, w) => b + w)
+ );
+ e.sections[y].height += x - (i + a);
+ }
+ }
+ return (e.height = Math.round(e.stopy - e.starty)), d;
+ }, 'drawLoop')),
+ (lhe = o(function (t, e) {
+ j3(t, e);
+ }, 'drawBackgroundRect')),
+ (zGe = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'database')
+ .attr('fill-rule', 'evenodd')
+ .attr('clip-rule', 'evenodd')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z'
+ );
+ }, 'insertDatabaseIcon')),
+ (GGe = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'computer')
+ .attr('width', '24')
+ .attr('height', '24')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z'
+ );
+ }, 'insertComputerIcon')),
+ ($Ge = o(function (t) {
+ t.append('defs')
+ .append('symbol')
+ .attr('id', 'clock')
+ .attr('width', '24')
+ .attr('height', '24')
+ .append('path')
+ .attr('transform', 'scale(.5)')
+ .attr(
+ 'd',
+ 'M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z'
+ );
+ }, 'insertClockIcon')),
+ (VGe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'arrowhead')
+ .attr('refX', 7.9)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto-start-reverse')
+ .append('path')
+ .attr('d', 'M -1 0 L 10 5 L 0 10 z');
+ }, 'insertArrowHead')),
+ (UGe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'filled-head')
+ .attr('refX', 15.5)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');
+ }, 'insertArrowFilledHead')),
+ (HGe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'sequencenumber')
+ .attr('refX', 15)
+ .attr('refY', 15)
+ .attr('markerWidth', 60)
+ .attr('markerHeight', 40)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', 15)
+ .attr('cy', 15)
+ .attr('r', 6);
+ }, 'insertSequenceNumber')),
+ (YGe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'crosshead')
+ .attr('markerWidth', 15)
+ .attr('markerHeight', 8)
+ .attr('orient', 'auto')
+ .attr('refX', 4)
+ .attr('refY', 4.5)
+ .append('path')
+ .attr('fill', 'none')
+ .attr('stroke', '#000000')
+ .style('stroke-dasharray', '0, 0')
+ .attr('stroke-width', '1pt')
+ .attr('d', 'M 1,2 L 6,7 M 6,2 L 1,7');
+ }, 'insertArrowCrossHead')),
+ (che = o(function () {
+ return {
+ x: 0,
+ y: 0,
+ fill: void 0,
+ anchor: void 0,
+ style: '#666',
+ width: void 0,
+ height: void 0,
+ textMargin: 0,
+ rx: 0,
+ ry: 0,
+ tspan: !0,
+ valign: void 0
+ };
+ }, 'getTextObj')),
+ (WGe = o(function () {
+ return {
+ x: 0,
+ y: 0,
+ fill: '#EDF2AE',
+ stroke: '#666',
+ width: 100,
+ anchor: 'start',
+ height: 100,
+ rx: 0,
+ ry: 0
+ };
+ }, 'getNoteRect')),
+ (vO = (function () {
+ function t(a, s, l, u, h, f, d) {
+ let p = s
+ .append('text')
+ .attr('x', l + h / 2)
+ .attr('y', u + f / 2 + 5)
+ .style('text-anchor', 'middle')
+ .text(a);
+ i(p, d);
+ }
+ o(t, 'byText');
+ function e(a, s, l, u, h, f, d, p) {
+ let { actorFontSize: m, actorFontFamily: g, actorFontWeight: y } = p,
+ [v, x] = mc(m),
+ b = a.split(We.lineBreakRegex);
+ for (let w = 0; w < b.length; w++) {
+ let S = w * v - (v * (b.length - 1)) / 2,
+ T = s
+ .append('text')
+ .attr('x', l + h / 2)
+ .attr('y', u)
+ .style('text-anchor', 'middle')
+ .style('font-size', x)
+ .style('font-weight', y)
+ .style('font-family', g);
+ T.append('tspan')
+ .attr('x', l + h / 2)
+ .attr('dy', S)
+ .text(b[w]),
+ T.attr('y', u + f / 2)
+ .attr('dominant-baseline', 'central')
+ .attr('alignment-baseline', 'central'),
+ i(T, d);
+ }
+ }
+ o(e, 'byTspan');
+ function r(a, s, l, u, h, f, d, p) {
+ let m = s.append('switch'),
+ y = m
+ .append('foreignObject')
+ .attr('x', l)
+ .attr('y', u)
+ .attr('width', h)
+ .attr('height', f)
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ y
+ .append('div')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(a),
+ e(a, m, l, u, h, f, d, p),
+ i(y, d);
+ }
+ o(r, 'byFo');
+ async function n(a, s, l, u, h, f, d, p) {
+ let m = await Zf(a, Or()),
+ g = s.append('switch'),
+ v = g
+ .append('foreignObject')
+ .attr('x', l + h / 2 - m.width / 2)
+ .attr('y', u + f / 2 - m.height / 2)
+ .attr('width', m.width)
+ .attr('height', m.height)
+ .append('xhtml:div')
+ .style('height', '100%')
+ .style('width', '100%');
+ v
+ .append('div')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .html(await yh(a, Or())),
+ e(a, g, l, u, h, f, d, p),
+ i(v, d);
+ }
+ o(n, 'byKatex');
+ function i(a, s) {
+ for (let l in s) s.hasOwnProperty(l) && a.attr(l, s[l]);
+ }
+ return (
+ o(i, '_setTextAttrs'),
+ function (a, s = !1) {
+ return s ? n : a.textPlacement === 'fo' ? r : a.textPlacement === 'old' ? t : e;
+ }
+ );
+ })()),
+ (qGe = (function () {
+ function t(i, a, s, l, u, h, f) {
+ let d = a.append('text').attr('x', s).attr('y', l).style('text-anchor', 'start').text(i);
+ n(d, f);
+ }
+ o(t, 'byText');
+ function e(i, a, s, l, u, h, f, d) {
+ let { actorFontSize: p, actorFontFamily: m, actorFontWeight: g } = d,
+ y = i.split(We.lineBreakRegex);
+ for (let v = 0; v < y.length; v++) {
+ let x = v * p - (p * (y.length - 1)) / 2,
+ b = a
+ .append('text')
+ .attr('x', s)
+ .attr('y', l)
+ .style('text-anchor', 'start')
+ .style('font-size', p)
+ .style('font-weight', g)
+ .style('font-family', m);
+ b.append('tspan').attr('x', s).attr('dy', x).text(y[v]),
+ b
+ .attr('y', l + h / 2)
+ .attr('dominant-baseline', 'central')
+ .attr('alignment-baseline', 'central'),
+ n(b, f);
+ }
+ }
+ o(e, 'byTspan');
+ function r(i, a, s, l, u, h, f, d) {
+ let p = a.append('switch'),
+ g = p
+ .append('foreignObject')
+ .attr('x', s)
+ .attr('y', l)
+ .attr('width', u)
+ .attr('height', h)
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ g
+ .append('div')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(i),
+ e(i, p, s, l, u, h, f, d),
+ n(g, f);
+ }
+ o(r, 'byFo');
+ function n(i, a) {
+ for (let s in a) a.hasOwnProperty(s) && i.attr(s, a[s]);
+ }
+ return (
+ o(n, '_setTextAttrs'),
+ function (i) {
+ return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e;
+ }
+ );
+ })()),
+ (si = {
+ drawRect: gO,
+ drawText: _0,
+ drawLabel: ohe,
+ drawActor: IGe,
+ drawBox: OGe,
+ drawPopup: DGe,
+ anchorElement: PGe,
+ drawActivation: BGe,
+ drawLoop: FGe,
+ drawBackgroundRect: lhe,
+ insertArrowHead: VGe,
+ insertArrowFilledHead: UGe,
+ insertSequenceNumber: HGe,
+ insertArrowCrossHead: YGe,
+ insertDatabaseIcon: zGe,
+ insertComputerIcon: GGe,
+ insertClockIcon: $Ge,
+ getTextObj: che,
+ getNoteRect: WGe,
+ fixLifeLineHeights: yO,
+ sanitizeUrl: mO.sanitizeUrl
+ });
+ });
+ async function jGe(t, e) {
+ Ke.bumpVerticalPos(10);
+ let { startx: r, stopx: n, message: i } = e,
+ a = We.splitBreaks(i).length,
+ s = Ni(i),
+ l = s ? await Zf(i, de()) : Lt.calculateTextDimensions(i, L0(Ne));
+ if (!s) {
+ let d = l.height / a;
+ (e.height += d), Ke.bumpVerticalPos(d);
+ }
+ let u,
+ h = l.height - 10,
+ f = l.width;
+ if (r === n) {
+ (u = Ke.getVerticalPos() + h),
+ Ne.rightAngles || ((h += Ne.boxMargin), (u = Ke.getVerticalPos() + h)),
+ (h += 30);
+ let d = We.getMax(f / 2, Ne.width / 2);
+ Ke.insert(r - d, Ke.getVerticalPos() - 10 + h, n + d, Ke.getVerticalPos() + 30 + h);
+ } else (h += Ne.boxMargin), (u = Ke.getVerticalPos() + h), Ke.insert(r, u - 10, n, u);
+ return (
+ Ke.bumpVerticalPos(h),
+ (e.height += h),
+ (e.stopy = e.starty + e.height),
+ Ke.insert(e.fromBounds, e.starty, e.toBounds, e.stopy),
+ u
+ );
+ }
+ function Fc(t, e, r, n, i) {
+ Ke.bumpVerticalPos(r);
+ let a = n;
+ if (e.id && e.message && t[e.id]) {
+ let s = t[e.id].width,
+ l = L0(Ne);
+ (e.message = Lt.wrapLabel(`[${e.message}]`, s - 2 * Ne.wrapPadding, l)), (e.width = s), (e.wrap = !0);
+ let u = Lt.calculateTextDimensions(e.message, l),
+ h = We.getMax(u.height, Ne.labelBoxHeight);
+ (a = n + h), V.debug(`${h} - ${e.message}`);
+ }
+ i(e), Ke.bumpVerticalPos(a);
+ }
+ function ZGe(t, e, r, n, i, a, s) {
+ function l(h, f) {
+ h.x < i.get(t.from).x
+ ? (Ke.insert(e.stopx - f, e.starty, e.startx, e.stopy + h.height / 2 + Ne.noteMargin),
+ (e.stopx = e.stopx + f))
+ : (Ke.insert(e.startx, e.starty, e.stopx + f, e.stopy + h.height / 2 + Ne.noteMargin),
+ (e.stopx = e.stopx - f));
+ }
+ o(l, 'receiverAdjustment');
+ function u(h, f) {
+ h.x < i.get(t.to).x
+ ? (Ke.insert(e.startx - f, e.starty, e.stopx, e.stopy + h.height / 2 + Ne.noteMargin),
+ (e.startx = e.startx + f))
+ : (Ke.insert(e.stopx, e.starty, e.startx + f, e.stopy + h.height / 2 + Ne.noteMargin),
+ (e.startx = e.startx - f));
+ }
+ if ((o(u, 'senderAdjustment'), a.get(t.to) == n)) {
+ let h = i.get(t.to),
+ f = h.type == 'actor' ? gf / 2 + 3 : h.width / 2 + 3;
+ l(h, f), (h.starty = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2);
+ } else if (s.get(t.from) == n) {
+ let h = i.get(t.from);
+ if (Ne.mirrorActors) {
+ let f = h.type == 'actor' ? gf / 2 : h.width / 2;
+ u(h, f);
+ }
+ (h.stopy = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2);
+ } else if (s.get(t.to) == n) {
+ let h = i.get(t.to);
+ if (Ne.mirrorActors) {
+ let f = h.type == 'actor' ? gf / 2 + 3 : h.width / 2 + 3;
+ l(h, f);
+ }
+ (h.stopy = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2);
+ }
+ }
+ async function e$e(t, e, r) {
+ let n = {};
+ for (let i of e)
+ if (t.get(i.to) && t.get(i.from)) {
+ let a = t.get(i.to);
+ if (
+ (i.placement === r.db.PLACEMENT.LEFTOF && !a.prevActor) ||
+ (i.placement === r.db.PLACEMENT.RIGHTOF && !a.nextActor)
+ )
+ continue;
+ let s = i.placement !== void 0,
+ l = !s,
+ u = s ? Pg(Ne) : L0(Ne),
+ h = i.wrap ? Lt.wrapLabel(i.message, Ne.width - 2 * Ne.wrapPadding, u) : i.message,
+ d =
+ (Ni(h) ? await Zf(i.message, de()) : Lt.calculateTextDimensions(h, u)).width +
+ 2 * Ne.wrapPadding;
+ l && i.from === a.nextActor
+ ? (n[i.to] = We.getMax(n[i.to] || 0, d))
+ : l && i.from === a.prevActor
+ ? (n[i.from] = We.getMax(n[i.from] || 0, d))
+ : l && i.from === i.to
+ ? ((n[i.from] = We.getMax(n[i.from] || 0, d / 2)), (n[i.to] = We.getMax(n[i.to] || 0, d / 2)))
+ : i.placement === r.db.PLACEMENT.RIGHTOF
+ ? (n[i.from] = We.getMax(n[i.from] || 0, d))
+ : i.placement === r.db.PLACEMENT.LEFTOF
+ ? (n[a.prevActor] = We.getMax(n[a.prevActor] || 0, d))
+ : i.placement === r.db.PLACEMENT.OVER &&
+ (a.prevActor && (n[a.prevActor] = We.getMax(n[a.prevActor] || 0, d / 2)),
+ a.nextActor && (n[i.from] = We.getMax(n[i.from] || 0, d / 2)));
+ }
+ return V.debug('maxMessageWidthPerActor:', n), n;
+ }
+ async function r$e(t, e, r) {
+ let n = 0;
+ for (let a of t.keys()) {
+ let s = t.get(a);
+ s.wrap && (s.description = Lt.wrapLabel(s.description, Ne.width - 2 * Ne.wrapPadding, xO(Ne)));
+ let l = Ni(s.description)
+ ? await Zf(s.description, de())
+ : Lt.calculateTextDimensions(s.description, xO(Ne));
+ (s.width = s.wrap ? Ne.width : We.getMax(Ne.width, l.width + 2 * Ne.wrapPadding)),
+ (s.height = s.wrap ? We.getMax(l.height, Ne.height) : Ne.height),
+ (n = We.getMax(n, s.height));
+ }
+ for (let a in e) {
+ let s = t.get(a);
+ if (!s) continue;
+ let l = t.get(s.nextActor);
+ if (!l) {
+ let d = e[a] + Ne.actorMargin - s.width / 2;
+ s.margin = We.getMax(d, Ne.actorMargin);
+ continue;
+ }
+ let h = e[a] + Ne.actorMargin - s.width / 2 - l.width / 2;
+ s.margin = We.getMax(h, Ne.actorMargin);
+ }
+ let i = 0;
+ return (
+ r.forEach((a) => {
+ let s = L0(Ne),
+ l = a.actorKeys.reduce((f, d) => (f += t.get(d).width + (t.get(d).margin || 0)), 0);
+ (l -= 2 * Ne.boxTextMargin), a.wrap && (a.name = Lt.wrapLabel(a.name, l - 2 * Ne.wrapPadding, s));
+ let u = Lt.calculateTextDimensions(a.name, s);
+ i = We.getMax(u.height, i);
+ let h = We.getMax(l, u.width + 2 * Ne.wrapPadding);
+ if (((a.margin = Ne.boxTextMargin), l < h)) {
+ let f = (h - l) / 2;
+ a.margin += f;
+ }
+ }),
+ r.forEach((a) => (a.textMaxHeight = i)),
+ We.getMax(n, Ne.height)
+ );
+ }
+ var Ne,
+ Ke,
+ XGe,
+ L0,
+ Pg,
+ xO,
+ KGe,
+ QGe,
+ bO,
+ fhe,
+ dhe,
+ bE,
+ hhe,
+ JGe,
+ t$e,
+ n$e,
+ i$e,
+ a$e,
+ phe,
+ mhe = R(() => {
+ 'use strict';
+ Zt();
+ uhe();
+ ut();
+ rr();
+ Qy();
+ _t();
+ cp();
+ xr();
+ Yn();
+ (Ne = {}),
+ (Ke = {
+ data: {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0
+ },
+ verticalPos: 0,
+ sequenceItems: [],
+ activations: [],
+ models: {
+ getHeight: o(function () {
+ return (
+ Math.max.apply(
+ null,
+ this.actors.length === 0 ? [0] : this.actors.map((t) => t.height || 0)
+ ) +
+ (this.loops.length === 0
+ ? 0
+ : this.loops.map((t) => t.height || 0).reduce((t, e) => t + e)) +
+ (this.messages.length === 0
+ ? 0
+ : this.messages.map((t) => t.height || 0).reduce((t, e) => t + e)) +
+ (this.notes.length === 0
+ ? 0
+ : this.notes.map((t) => t.height || 0).reduce((t, e) => t + e))
+ );
+ }, 'getHeight'),
+ clear: o(function () {
+ (this.actors = []),
+ (this.boxes = []),
+ (this.loops = []),
+ (this.messages = []),
+ (this.notes = []);
+ }, 'clear'),
+ addBox: o(function (t) {
+ this.boxes.push(t);
+ }, 'addBox'),
+ addActor: o(function (t) {
+ this.actors.push(t);
+ }, 'addActor'),
+ addLoop: o(function (t) {
+ this.loops.push(t);
+ }, 'addLoop'),
+ addMessage: o(function (t) {
+ this.messages.push(t);
+ }, 'addMessage'),
+ addNote: o(function (t) {
+ this.notes.push(t);
+ }, 'addNote'),
+ lastActor: o(function () {
+ return this.actors[this.actors.length - 1];
+ }, 'lastActor'),
+ lastLoop: o(function () {
+ return this.loops[this.loops.length - 1];
+ }, 'lastLoop'),
+ lastMessage: o(function () {
+ return this.messages[this.messages.length - 1];
+ }, 'lastMessage'),
+ lastNote: o(function () {
+ return this.notes[this.notes.length - 1];
+ }, 'lastNote'),
+ actors: [],
+ boxes: [],
+ loops: [],
+ messages: [],
+ notes: []
+ },
+ init: o(function () {
+ (this.sequenceItems = []),
+ (this.activations = []),
+ this.models.clear(),
+ (this.data = {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0
+ }),
+ (this.verticalPos = 0),
+ dhe(de());
+ }, 'init'),
+ updateVal: o(function (t, e, r, n) {
+ t[e] === void 0 ? (t[e] = r) : (t[e] = n(r, t[e]));
+ }, 'updateVal'),
+ updateBounds: o(function (t, e, r, n) {
+ let i = this,
+ a = 0;
+ function s(l) {
+ return o(function (h) {
+ a++;
+ let f = i.sequenceItems.length - a + 1;
+ i.updateVal(h, 'starty', e - f * Ne.boxMargin, Math.min),
+ i.updateVal(h, 'stopy', n + f * Ne.boxMargin, Math.max),
+ i.updateVal(Ke.data, 'startx', t - f * Ne.boxMargin, Math.min),
+ i.updateVal(Ke.data, 'stopx', r + f * Ne.boxMargin, Math.max),
+ l !== 'activation' &&
+ (i.updateVal(h, 'startx', t - f * Ne.boxMargin, Math.min),
+ i.updateVal(h, 'stopx', r + f * Ne.boxMargin, Math.max),
+ i.updateVal(Ke.data, 'starty', e - f * Ne.boxMargin, Math.min),
+ i.updateVal(Ke.data, 'stopy', n + f * Ne.boxMargin, Math.max));
+ }, 'updateItemBounds');
+ }
+ o(s, 'updateFn'), this.sequenceItems.forEach(s()), this.activations.forEach(s('activation'));
+ }, 'updateBounds'),
+ insert: o(function (t, e, r, n) {
+ let i = We.getMin(t, r),
+ a = We.getMax(t, r),
+ s = We.getMin(e, n),
+ l = We.getMax(e, n);
+ this.updateVal(Ke.data, 'startx', i, Math.min),
+ this.updateVal(Ke.data, 'starty', s, Math.min),
+ this.updateVal(Ke.data, 'stopx', a, Math.max),
+ this.updateVal(Ke.data, 'stopy', l, Math.max),
+ this.updateBounds(i, s, a, l);
+ }, 'insert'),
+ newActivation: o(function (t, e, r) {
+ let n = r.get(t.from),
+ i = bE(t.from).length || 0,
+ a = n.x + n.width / 2 + ((i - 1) * Ne.activationWidth) / 2;
+ this.activations.push({
+ startx: a,
+ starty: this.verticalPos + 2,
+ stopx: a + Ne.activationWidth,
+ stopy: void 0,
+ actor: t.from,
+ anchored: si.anchorElement(e)
+ });
+ }, 'newActivation'),
+ endActivation: o(function (t) {
+ let e = this.activations
+ .map(function (r) {
+ return r.actor;
+ })
+ .lastIndexOf(t.from);
+ return this.activations.splice(e, 1)[0];
+ }, 'endActivation'),
+ createLoop: o(function (t = { message: void 0, wrap: !1, width: void 0 }, e) {
+ return {
+ startx: void 0,
+ starty: this.verticalPos,
+ stopx: void 0,
+ stopy: void 0,
+ title: t.message,
+ wrap: t.wrap,
+ width: t.width,
+ height: 0,
+ fill: e
+ };
+ }, 'createLoop'),
+ newLoop: o(function (t = { message: void 0, wrap: !1, width: void 0 }, e) {
+ this.sequenceItems.push(this.createLoop(t, e));
+ }, 'newLoop'),
+ endLoop: o(function () {
+ return this.sequenceItems.pop();
+ }, 'endLoop'),
+ isLoopOverlap: o(function () {
+ return this.sequenceItems.length
+ ? this.sequenceItems[this.sequenceItems.length - 1].overlap
+ : !1;
+ }, 'isLoopOverlap'),
+ addSectionToLoop: o(function (t) {
+ let e = this.sequenceItems.pop();
+ (e.sections = e.sections || []),
+ (e.sectionTitles = e.sectionTitles || []),
+ e.sections.push({ y: Ke.getVerticalPos(), height: 0 }),
+ e.sectionTitles.push(t),
+ this.sequenceItems.push(e);
+ }, 'addSectionToLoop'),
+ saveVerticalPos: o(function () {
+ this.isLoopOverlap() && (this.savedVerticalPos = this.verticalPos);
+ }, 'saveVerticalPos'),
+ resetVerticalPos: o(function () {
+ this.isLoopOverlap() && (this.verticalPos = this.savedVerticalPos);
+ }, 'resetVerticalPos'),
+ bumpVerticalPos: o(function (t) {
+ (this.verticalPos = this.verticalPos + t),
+ (this.data.stopy = We.getMax(this.data.stopy, this.verticalPos));
+ }, 'bumpVerticalPos'),
+ getVerticalPos: o(function () {
+ return this.verticalPos;
+ }, 'getVerticalPos'),
+ getBounds: o(function () {
+ return { bounds: this.data, models: this.models };
+ }, 'getBounds')
+ }),
+ (XGe = o(async function (t, e) {
+ Ke.bumpVerticalPos(Ne.boxMargin), (e.height = Ne.boxMargin), (e.starty = Ke.getVerticalPos());
+ let r = wl();
+ (r.x = e.startx), (r.y = e.starty), (r.width = e.width || Ne.width), (r.class = 'note');
+ let n = t.append('g'),
+ i = si.drawRect(n, r),
+ a = Ky();
+ (a.x = e.startx),
+ (a.y = e.starty),
+ (a.width = r.width),
+ (a.dy = '1em'),
+ (a.text = e.message),
+ (a.class = 'noteText'),
+ (a.fontFamily = Ne.noteFontFamily),
+ (a.fontSize = Ne.noteFontSize),
+ (a.fontWeight = Ne.noteFontWeight),
+ (a.anchor = Ne.noteAlign),
+ (a.textMargin = Ne.noteMargin),
+ (a.valign = 'center');
+ let s = Ni(a.text) ? await bx(n, a) : _0(n, a),
+ l = Math.round(s.map((u) => (u._groups || u)[0][0].getBBox().height).reduce((u, h) => u + h));
+ i.attr('height', l + 2 * Ne.noteMargin),
+ (e.height += l + 2 * Ne.noteMargin),
+ Ke.bumpVerticalPos(l + 2 * Ne.noteMargin),
+ (e.stopy = e.starty + l + 2 * Ne.noteMargin),
+ (e.stopx = e.startx + r.width),
+ Ke.insert(e.startx, e.starty, e.stopx, e.stopy),
+ Ke.models.addNote(e);
+ }, 'drawNote')),
+ (L0 = o(
+ (t) => ({
+ fontFamily: t.messageFontFamily,
+ fontSize: t.messageFontSize,
+ fontWeight: t.messageFontWeight
+ }),
+ 'messageFont'
+ )),
+ (Pg = o(
+ (t) => ({
+ fontFamily: t.noteFontFamily,
+ fontSize: t.noteFontSize,
+ fontWeight: t.noteFontWeight
+ }),
+ 'noteFont'
+ )),
+ (xO = o(
+ (t) => ({
+ fontFamily: t.actorFontFamily,
+ fontSize: t.actorFontSize,
+ fontWeight: t.actorFontWeight
+ }),
+ 'actorFont'
+ ));
+ o(jGe, 'boundMessage');
+ (KGe = o(async function (t, e, r, n) {
+ let { startx: i, stopx: a, starty: s, message: l, type: u, sequenceIndex: h, sequenceVisible: f } = e,
+ d = Lt.calculateTextDimensions(l, L0(Ne)),
+ p = Ky();
+ (p.x = i),
+ (p.y = s + 10),
+ (p.width = a - i),
+ (p.class = 'messageText'),
+ (p.dy = '1em'),
+ (p.text = l),
+ (p.fontFamily = Ne.messageFontFamily),
+ (p.fontSize = Ne.messageFontSize),
+ (p.fontWeight = Ne.messageFontWeight),
+ (p.anchor = Ne.messageAlign),
+ (p.valign = 'center'),
+ (p.textMargin = Ne.wrapPadding),
+ (p.tspan = !1),
+ Ni(p.text) ? await bx(t, p, { startx: i, stopx: a, starty: r }) : _0(t, p);
+ let m = d.width,
+ g;
+ i === a
+ ? Ne.rightAngles
+ ? (g = t
+ .append('path')
+ .attr('d', `M ${i},${r} H ${i + We.getMax(Ne.width / 2, m / 2)} V ${r + 25} H ${i}`))
+ : (g = t
+ .append('path')
+ .attr(
+ 'd',
+ 'M ' +
+ i +
+ ',' +
+ r +
+ ' C ' +
+ (i + 60) +
+ ',' +
+ (r - 10) +
+ ' ' +
+ (i + 60) +
+ ',' +
+ (r + 30) +
+ ' ' +
+ i +
+ ',' +
+ (r + 20)
+ ))
+ : ((g = t.append('line')), g.attr('x1', i), g.attr('y1', r), g.attr('x2', a), g.attr('y2', r)),
+ u === n.db.LINETYPE.DOTTED ||
+ u === n.db.LINETYPE.DOTTED_CROSS ||
+ u === n.db.LINETYPE.DOTTED_POINT ||
+ u === n.db.LINETYPE.DOTTED_OPEN ||
+ u === n.db.LINETYPE.BIDIRECTIONAL_DOTTED
+ ? (g.style('stroke-dasharray', '3, 3'), g.attr('class', 'messageLine1'))
+ : g.attr('class', 'messageLine0');
+ let y = '';
+ Ne.arrowMarkerAbsolute &&
+ ((y =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (y = y.replace(/\(/g, '\\(')),
+ (y = y.replace(/\)/g, '\\)'))),
+ g.attr('stroke-width', 2),
+ g.attr('stroke', 'none'),
+ g.style('fill', 'none'),
+ (u === n.db.LINETYPE.SOLID || u === n.db.LINETYPE.DOTTED) &&
+ g.attr('marker-end', 'url(' + y + '#arrowhead)'),
+ (u === n.db.LINETYPE.BIDIRECTIONAL_SOLID || u === n.db.LINETYPE.BIDIRECTIONAL_DOTTED) &&
+ (g.attr('marker-start', 'url(' + y + '#arrowhead)'),
+ g.attr('marker-end', 'url(' + y + '#arrowhead)')),
+ (u === n.db.LINETYPE.SOLID_POINT || u === n.db.LINETYPE.DOTTED_POINT) &&
+ g.attr('marker-end', 'url(' + y + '#filled-head)'),
+ (u === n.db.LINETYPE.SOLID_CROSS || u === n.db.LINETYPE.DOTTED_CROSS) &&
+ g.attr('marker-end', 'url(' + y + '#crosshead)'),
+ (f || Ne.showSequenceNumbers) &&
+ (g.attr('marker-start', 'url(' + y + '#sequencenumber)'),
+ t
+ .append('text')
+ .attr('x', i)
+ .attr('y', r + 4)
+ .attr('font-family', 'sans-serif')
+ .attr('font-size', '12px')
+ .attr('text-anchor', 'middle')
+ .attr('class', 'sequenceNumber')
+ .text(h));
+ }, 'drawMessage')),
+ (QGe = o(function (t, e, r, n, i, a, s) {
+ let l = 0,
+ u = 0,
+ h,
+ f = 0;
+ for (let d of n) {
+ let p = e.get(d),
+ m = p.box;
+ h && h != m && (s || Ke.models.addBox(h), (u += Ne.boxMargin + h.margin)),
+ m && m != h && (s || ((m.x = l + u), (m.y = i)), (u += m.margin)),
+ (p.width = p.width || Ne.width),
+ (p.height = We.getMax(p.height || Ne.height, Ne.height)),
+ (p.margin = p.margin || Ne.actorMargin),
+ (f = We.getMax(f, p.height)),
+ r.get(p.name) && (u += p.width / 2),
+ (p.x = l + u),
+ (p.starty = Ke.getVerticalPos()),
+ Ke.insert(p.x, i, p.x + p.width, p.height),
+ (l += p.width + u),
+ p.box && (p.box.width = l + m.margin - p.box.x),
+ (u = p.margin),
+ (h = p.box),
+ Ke.models.addActor(p);
+ }
+ h && !s && Ke.models.addBox(h), Ke.bumpVerticalPos(f);
+ }, 'addActorRenderingData')),
+ (bO = o(async function (t, e, r, n) {
+ if (n) {
+ let i = 0;
+ Ke.bumpVerticalPos(Ne.boxMargin * 2);
+ for (let a of r) {
+ let s = e.get(a);
+ s.stopy || (s.stopy = Ke.getVerticalPos());
+ let l = await si.drawActor(t, s, Ne, !0);
+ i = We.getMax(i, l);
+ }
+ Ke.bumpVerticalPos(i + Ne.boxMargin);
+ } else
+ for (let i of r) {
+ let a = e.get(i);
+ await si.drawActor(t, a, Ne, !1);
+ }
+ }, 'drawActors')),
+ (fhe = o(function (t, e, r, n) {
+ let i = 0,
+ a = 0;
+ for (let s of r) {
+ let l = e.get(s),
+ u = t$e(l),
+ h = si.drawPopup(t, l, u, Ne, Ne.forceMenus, n);
+ h.height > i && (i = h.height), h.width + l.x > a && (a = h.width + l.x);
+ }
+ return { maxHeight: i, maxWidth: a };
+ }, 'drawActorsPopup')),
+ (dhe = o(function (t) {
+ On(Ne, t),
+ t.fontFamily && (Ne.actorFontFamily = Ne.noteFontFamily = Ne.messageFontFamily = t.fontFamily),
+ t.fontSize && (Ne.actorFontSize = Ne.noteFontSize = Ne.messageFontSize = t.fontSize),
+ t.fontWeight && (Ne.actorFontWeight = Ne.noteFontWeight = Ne.messageFontWeight = t.fontWeight);
+ }, 'setConf')),
+ (bE = o(function (t) {
+ return Ke.activations.filter(function (e) {
+ return e.actor === t;
+ });
+ }, 'actorActivations')),
+ (hhe = o(function (t, e) {
+ let r = e.get(t),
+ n = bE(t),
+ i = n.reduce(function (s, l) {
+ return We.getMin(s, l.startx);
+ }, r.x + r.width / 2 - 1),
+ a = n.reduce(function (s, l) {
+ return We.getMax(s, l.stopx);
+ }, r.x + r.width / 2 + 1);
+ return [i, a];
+ }, 'activationBounds'));
+ o(Fc, 'adjustLoopHeightForWrap');
+ o(ZGe, 'adjustCreatedDestroyedData');
+ JGe = o(async function (t, e, r, n) {
+ let { securityLevel: i, sequence: a } = de();
+ Ne = a;
+ let s;
+ i === 'sandbox' && (s = $e('#i' + e));
+ let l = i === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'),
+ u = i === 'sandbox' ? s.nodes()[0].contentDocument : document;
+ Ke.init(), V.debug(n.db);
+ let h = i === 'sandbox' ? l.select(`[id="${e}"]`) : $e(`[id="${e}"]`),
+ f = n.db.getActors(),
+ d = n.db.getCreatedActors(),
+ p = n.db.getDestroyedActors(),
+ m = n.db.getBoxes(),
+ g = n.db.getActorKeys(),
+ y = n.db.getMessages(),
+ v = n.db.getDiagramTitle(),
+ x = n.db.hasAtLeastOneBox(),
+ b = n.db.hasAtLeastOneBoxWithTitle(),
+ w = await e$e(f, y, n);
+ if (
+ ((Ne.height = await r$e(f, w, m)),
+ si.insertComputerIcon(h),
+ si.insertDatabaseIcon(h),
+ si.insertClockIcon(h),
+ x && (Ke.bumpVerticalPos(Ne.boxMargin), b && Ke.bumpVerticalPos(m[0].textMaxHeight)),
+ Ne.hideUnusedParticipants === !0)
+ ) {
+ let F = new Set();
+ y.forEach((B) => {
+ F.add(B.from), F.add(B.to);
+ }),
+ (g = g.filter((B) => F.has(B)));
+ }
+ QGe(h, f, d, g, 0, y, !1);
+ let S = await a$e(y, f, w, n);
+ si.insertArrowHead(h),
+ si.insertArrowCrossHead(h),
+ si.insertArrowFilledHead(h),
+ si.insertSequenceNumber(h);
+ function T(F, B) {
+ let $ = Ke.endActivation(F);
+ $.starty + 18 > B && (($.starty = B - 6), (B += 12)),
+ si.drawActivation(h, $, B, Ne, bE(F.from).length),
+ Ke.insert($.startx, B - 10, $.stopx, B);
+ }
+ o(T, 'activeEnd');
+ let E = 1,
+ _ = 1,
+ A = [],
+ L = [],
+ M = 0;
+ for (let F of y) {
+ let B, $, z;
+ switch (F.type) {
+ case n.db.LINETYPE.NOTE:
+ Ke.resetVerticalPos(), ($ = F.noteModel), await XGe(h, $);
+ break;
+ case n.db.LINETYPE.ACTIVE_START:
+ Ke.newActivation(F, h, f);
+ break;
+ case n.db.LINETYPE.ACTIVE_END:
+ T(F, Ke.getVerticalPos());
+ break;
+ case n.db.LINETYPE.LOOP_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y));
+ break;
+ case n.db.LINETYPE.LOOP_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'loop', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ case n.db.LINETYPE.RECT_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin, (Y) => Ke.newLoop(void 0, Y.message));
+ break;
+ case n.db.LINETYPE.RECT_END:
+ (B = Ke.endLoop()),
+ L.push(B),
+ Ke.models.addLoop(B),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos());
+ break;
+ case n.db.LINETYPE.OPT_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y));
+ break;
+ case n.db.LINETYPE.OPT_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'opt', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ case n.db.LINETYPE.ALT_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y));
+ break;
+ case n.db.LINETYPE.ALT_ELSE:
+ Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y));
+ break;
+ case n.db.LINETYPE.ALT_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'alt', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ case n.db.LINETYPE.PAR_START:
+ case n.db.LINETYPE.PAR_OVER_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)),
+ Ke.saveVerticalPos();
+ break;
+ case n.db.LINETYPE.PAR_AND:
+ Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y));
+ break;
+ case n.db.LINETYPE.PAR_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'par', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ case n.db.LINETYPE.AUTONUMBER:
+ (E = F.message.start || E),
+ (_ = F.message.step || _),
+ F.message.visible ? n.db.enableSequenceNumbers() : n.db.disableSequenceNumbers();
+ break;
+ case n.db.LINETYPE.CRITICAL_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y));
+ break;
+ case n.db.LINETYPE.CRITICAL_OPTION:
+ Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y));
+ break;
+ case n.db.LINETYPE.CRITICAL_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'critical', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ case n.db.LINETYPE.BREAK_START:
+ Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y));
+ break;
+ case n.db.LINETYPE.BREAK_END:
+ (B = Ke.endLoop()),
+ await si.drawLoop(h, B, 'break', Ne),
+ Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()),
+ Ke.models.addLoop(B);
+ break;
+ default:
+ try {
+ (z = F.msgModel),
+ (z.starty = Ke.getVerticalPos()),
+ (z.sequenceIndex = E),
+ (z.sequenceVisible = n.db.showSequenceNumbers());
+ let Y = await jGe(h, z);
+ ZGe(F, z, Y, M, f, d, p),
+ A.push({ messageModel: z, lineStartY: Y }),
+ Ke.models.addMessage(z);
+ } catch (Y) {
+ V.error('error while drawing message', Y);
+ }
+ }
+ [
+ n.db.LINETYPE.SOLID_OPEN,
+ n.db.LINETYPE.DOTTED_OPEN,
+ n.db.LINETYPE.SOLID,
+ n.db.LINETYPE.DOTTED,
+ n.db.LINETYPE.SOLID_CROSS,
+ n.db.LINETYPE.DOTTED_CROSS,
+ n.db.LINETYPE.SOLID_POINT,
+ n.db.LINETYPE.DOTTED_POINT,
+ n.db.LINETYPE.BIDIRECTIONAL_SOLID,
+ n.db.LINETYPE.BIDIRECTIONAL_DOTTED
+ ].includes(F.type) && (E = E + _),
+ M++;
+ }
+ V.debug('createdActors', d), V.debug('destroyedActors', p), await bO(h, f, g, !1);
+ for (let F of A) await KGe(h, F.messageModel, F.lineStartY, n);
+ Ne.mirrorActors && (await bO(h, f, g, !0)),
+ L.forEach((F) => si.drawBackgroundRect(h, F)),
+ yO(h, f, g, Ne);
+ for (let F of Ke.models.boxes)
+ (F.height = Ke.getVerticalPos() - F.y),
+ Ke.insert(F.x, F.y, F.x + F.width, F.height),
+ (F.startx = F.x),
+ (F.starty = F.y),
+ (F.stopx = F.startx + F.width),
+ (F.stopy = F.starty + F.height),
+ (F.stroke = 'rgb(0,0,0, 0.5)'),
+ si.drawBox(h, F, Ne);
+ x && Ke.bumpVerticalPos(Ne.boxMargin);
+ let N = fhe(h, f, g, u),
+ { bounds: k } = Ke.getBounds();
+ k.startx === void 0 && (k.startx = 0),
+ k.starty === void 0 && (k.starty = 0),
+ k.stopx === void 0 && (k.stopx = 0),
+ k.stopy === void 0 && (k.stopy = 0);
+ let I = k.stopy - k.starty;
+ I < N.maxHeight && (I = N.maxHeight);
+ let C = I + 2 * Ne.diagramMarginY;
+ Ne.mirrorActors && (C = C - Ne.boxMargin + Ne.bottomMarginAdj);
+ let O = k.stopx - k.startx;
+ O < N.maxWidth && (O = N.maxWidth);
+ let D = O + 2 * Ne.diagramMarginX;
+ v &&
+ h
+ .append('text')
+ .text(v)
+ .attr('x', (k.stopx - k.startx) / 2 - 2 * Ne.diagramMarginX)
+ .attr('y', -25),
+ Sr(h, C, D, Ne.useMaxWidth);
+ let P = v ? 40 : 0;
+ h.attr(
+ 'viewBox',
+ k.startx - Ne.diagramMarginX + ' -' + (Ne.diagramMarginY + P) + ' ' + D + ' ' + (C + P)
+ ),
+ V.debug('models:', Ke.models);
+ }, 'draw');
+ o(e$e, 'getMaxMessageWidthPerActor');
+ t$e = o(function (t) {
+ let e = 0,
+ r = xO(Ne);
+ for (let n in t.links) {
+ let a = Lt.calculateTextDimensions(n, r).width + 2 * Ne.wrapPadding + 2 * Ne.boxMargin;
+ e < a && (e = a);
+ }
+ return e;
+ }, 'getRequiredPopupWidth');
+ o(r$e, 'calculateActorMargins');
+ (n$e = o(async function (t, e, r) {
+ let n = e.get(t.from),
+ i = e.get(t.to),
+ a = n.x,
+ s = i.x,
+ l = t.wrap && t.message,
+ u = Ni(t.message)
+ ? await Zf(t.message, de())
+ : Lt.calculateTextDimensions(l ? Lt.wrapLabel(t.message, Ne.width, Pg(Ne)) : t.message, Pg(Ne)),
+ h = {
+ width: l ? Ne.width : We.getMax(Ne.width, u.width + 2 * Ne.noteMargin),
+ height: 0,
+ startx: n.x,
+ stopx: 0,
+ starty: 0,
+ stopy: 0,
+ message: t.message
+ };
+ return (
+ t.placement === r.db.PLACEMENT.RIGHTOF
+ ? ((h.width = l
+ ? We.getMax(Ne.width, u.width)
+ : We.getMax(n.width / 2 + i.width / 2, u.width + 2 * Ne.noteMargin)),
+ (h.startx = a + (n.width + Ne.actorMargin) / 2))
+ : t.placement === r.db.PLACEMENT.LEFTOF
+ ? ((h.width = l
+ ? We.getMax(Ne.width, u.width + 2 * Ne.noteMargin)
+ : We.getMax(n.width / 2 + i.width / 2, u.width + 2 * Ne.noteMargin)),
+ (h.startx = a - h.width + (n.width - Ne.actorMargin) / 2))
+ : t.to === t.from
+ ? ((u = Lt.calculateTextDimensions(
+ l ? Lt.wrapLabel(t.message, We.getMax(Ne.width, n.width), Pg(Ne)) : t.message,
+ Pg(Ne)
+ )),
+ (h.width = l
+ ? We.getMax(Ne.width, n.width)
+ : We.getMax(n.width, Ne.width, u.width + 2 * Ne.noteMargin)),
+ (h.startx = a + (n.width - h.width) / 2))
+ : ((h.width = Math.abs(a + n.width / 2 - (s + i.width / 2)) + Ne.actorMargin),
+ (h.startx =
+ a < s ? a + n.width / 2 - Ne.actorMargin / 2 : s + i.width / 2 - Ne.actorMargin / 2)),
+ l && (h.message = Lt.wrapLabel(t.message, h.width - 2 * Ne.wrapPadding, Pg(Ne))),
+ V.debug(`NM:[${h.startx},${h.stopx},${h.starty},${h.stopy}:${h.width},${h.height}=${t.message}]`),
+ h
+ );
+ }, 'buildNoteModel')),
+ (i$e = o(function (t, e, r) {
+ if (
+ ![
+ r.db.LINETYPE.SOLID_OPEN,
+ r.db.LINETYPE.DOTTED_OPEN,
+ r.db.LINETYPE.SOLID,
+ r.db.LINETYPE.DOTTED,
+ r.db.LINETYPE.SOLID_CROSS,
+ r.db.LINETYPE.DOTTED_CROSS,
+ r.db.LINETYPE.SOLID_POINT,
+ r.db.LINETYPE.DOTTED_POINT,
+ r.db.LINETYPE.BIDIRECTIONAL_SOLID,
+ r.db.LINETYPE.BIDIRECTIONAL_DOTTED
+ ].includes(t.type)
+ )
+ return {};
+ let [n, i] = hhe(t.from, e),
+ [a, s] = hhe(t.to, e),
+ l = n <= a,
+ u = l ? i : n,
+ h = l ? a : s,
+ f = Math.abs(a - s) > 2,
+ d = o((y) => (l ? -y : y), 'adjustValue');
+ t.from === t.to
+ ? (h = u)
+ : (t.activate && !f && (h += d(Ne.activationWidth / 2 - 1)),
+ [r.db.LINETYPE.SOLID_OPEN, r.db.LINETYPE.DOTTED_OPEN].includes(t.type) || (h += d(3)),
+ [r.db.LINETYPE.BIDIRECTIONAL_SOLID, r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type) &&
+ (u -= d(3)));
+ let p = [n, i, a, s],
+ m = Math.abs(u - h);
+ t.wrap &&
+ t.message &&
+ (t.message = Lt.wrapLabel(t.message, We.getMax(m + 2 * Ne.wrapPadding, Ne.width), L0(Ne)));
+ let g = Lt.calculateTextDimensions(t.message, L0(Ne));
+ return {
+ width: We.getMax(t.wrap ? 0 : g.width + 2 * Ne.wrapPadding, m + 2 * Ne.wrapPadding, Ne.width),
+ height: 0,
+ startx: u,
+ stopx: h,
+ starty: 0,
+ stopy: 0,
+ message: t.message,
+ type: t.type,
+ wrap: t.wrap,
+ fromBounds: Math.min.apply(null, p),
+ toBounds: Math.max.apply(null, p)
+ };
+ }, 'buildMessageModel')),
+ (a$e = o(async function (t, e, r, n) {
+ let i = {},
+ a = [],
+ s,
+ l,
+ u;
+ for (let h of t) {
+ switch (((h.id = Lt.random({ length: 10 })), h.type)) {
+ case n.db.LINETYPE.LOOP_START:
+ case n.db.LINETYPE.ALT_START:
+ case n.db.LINETYPE.OPT_START:
+ case n.db.LINETYPE.PAR_START:
+ case n.db.LINETYPE.PAR_OVER_START:
+ case n.db.LINETYPE.CRITICAL_START:
+ case n.db.LINETYPE.BREAK_START:
+ a.push({
+ id: h.id,
+ msg: h.message,
+ from: Number.MAX_SAFE_INTEGER,
+ to: Number.MIN_SAFE_INTEGER,
+ width: 0
+ });
+ break;
+ case n.db.LINETYPE.ALT_ELSE:
+ case n.db.LINETYPE.PAR_AND:
+ case n.db.LINETYPE.CRITICAL_OPTION:
+ h.message && ((s = a.pop()), (i[s.id] = s), (i[h.id] = s), a.push(s));
+ break;
+ case n.db.LINETYPE.LOOP_END:
+ case n.db.LINETYPE.ALT_END:
+ case n.db.LINETYPE.OPT_END:
+ case n.db.LINETYPE.PAR_END:
+ case n.db.LINETYPE.CRITICAL_END:
+ case n.db.LINETYPE.BREAK_END:
+ (s = a.pop()), (i[s.id] = s);
+ break;
+ case n.db.LINETYPE.ACTIVE_START:
+ {
+ let d = e.get(h.from ? h.from : h.to.actor),
+ p = bE(h.from ? h.from : h.to.actor).length,
+ m = d.x + d.width / 2 + ((p - 1) * Ne.activationWidth) / 2,
+ g = {
+ startx: m,
+ stopx: m + Ne.activationWidth,
+ actor: h.from,
+ enabled: !0
+ };
+ Ke.activations.push(g);
+ }
+ break;
+ case n.db.LINETYPE.ACTIVE_END:
+ {
+ let d = Ke.activations.map((p) => p.actor).lastIndexOf(h.from);
+ Ke.activations.splice(d, 1).splice(0, 1);
+ }
+ break;
+ }
+ h.placement !== void 0
+ ? ((l = await n$e(h, e, n)),
+ (h.noteModel = l),
+ a.forEach((d) => {
+ (s = d),
+ (s.from = We.getMin(s.from, l.startx)),
+ (s.to = We.getMax(s.to, l.startx + l.width)),
+ (s.width = We.getMax(s.width, Math.abs(s.from - s.to)) - Ne.labelBoxWidth);
+ }))
+ : ((u = i$e(h, e, n)),
+ (h.msgModel = u),
+ u.startx &&
+ u.stopx &&
+ a.length > 0 &&
+ a.forEach((d) => {
+ if (((s = d), u.startx === u.stopx)) {
+ let p = e.get(h.from),
+ m = e.get(h.to);
+ (s.from = We.getMin(p.x - u.width / 2, p.x - p.width / 2, s.from)),
+ (s.to = We.getMax(m.x + u.width / 2, m.x + p.width / 2, s.to)),
+ (s.width =
+ We.getMax(s.width, Math.abs(s.to - s.from)) - Ne.labelBoxWidth);
+ } else
+ (s.from = We.getMin(u.startx, s.from)),
+ (s.to = We.getMax(u.stopx, s.to)),
+ (s.width = We.getMax(s.width, u.width) - Ne.labelBoxWidth);
+ }));
+ }
+ return (Ke.activations = []), V.debug('Loop type widths:', i), i;
+ }, 'calculateLoopBounds')),
+ (phe = {
+ bounds: Ke,
+ drawActors: bO,
+ drawActorsPopup: fhe,
+ setConf: dhe,
+ draw: JGe
+ });
+ });
+ var ghe = {};
+ hr(ghe, { diagram: () => s$e });
+ var s$e,
+ yhe = R(() => {
+ 'use strict';
+ que();
+ the();
+ nhe();
+ mhe();
+ s$e = {
+ parser: Wue,
+ db: pO,
+ renderer: phe,
+ styles: rhe,
+ init: o(({ wrap: t }) => {
+ pO.setWrap(t);
+ }, 'init')
+ };
+ });
+ var wO,
+ wE,
+ TO = R(() => {
+ 'use strict';
+ wO = (function () {
+ var t = o(function (Pe, _e, me, W) {
+ for (me = me || {}, W = Pe.length; W--; me[Pe[W]] = _e);
+ return me;
+ }, 'o'),
+ e = [1, 17],
+ r = [1, 18],
+ n = [1, 19],
+ i = [1, 39],
+ a = [1, 40],
+ s = [1, 25],
+ l = [1, 23],
+ u = [1, 24],
+ h = [1, 31],
+ f = [1, 32],
+ d = [1, 33],
+ p = [1, 34],
+ m = [1, 35],
+ g = [1, 36],
+ y = [1, 26],
+ v = [1, 27],
+ x = [1, 28],
+ b = [1, 29],
+ w = [1, 43],
+ S = [1, 30],
+ T = [1, 42],
+ E = [1, 44],
+ _ = [1, 41],
+ A = [1, 45],
+ L = [1, 9],
+ M = [1, 8, 9],
+ N = [1, 56],
+ k = [1, 57],
+ I = [1, 58],
+ C = [1, 59],
+ O = [1, 60],
+ D = [1, 61],
+ P = [1, 62],
+ F = [1, 8, 9, 39],
+ B = [1, 74],
+ $ = [1, 8, 9, 12, 13, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72],
+ z = [
+ 1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 46, 59, 60, 61, 62, 63, 64, 65, 70, 72, 74, 80, 95, 97, 98
+ ],
+ Y = [13, 74, 80, 95, 97, 98],
+ Q = [13, 64, 65, 74, 80, 95, 97, 98],
+ X = [13, 59, 60, 61, 62, 63, 74, 80, 95, 97, 98],
+ ie = [1, 93],
+ j = [1, 110],
+ J = [1, 108],
+ Z = [1, 102],
+ H = [1, 103],
+ q = [1, 104],
+ K = [1, 105],
+ se = [1, 106],
+ ce = [1, 107],
+ ue = [1, 109],
+ te = [1, 8, 9, 37, 39, 42],
+ De = [1, 8, 9, 21],
+ oe = [1, 8, 9, 78],
+ ke = [1, 8, 9, 21, 73, 74, 78, 80, 81, 82, 83, 84, 85],
+ Ie = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ mermaidDoc: 4,
+ statements: 5,
+ graphConfig: 6,
+ CLASS_DIAGRAM: 7,
+ NEWLINE: 8,
+ EOF: 9,
+ statement: 10,
+ classLabel: 11,
+ SQS: 12,
+ STR: 13,
+ SQE: 14,
+ namespaceName: 15,
+ alphaNumToken: 16,
+ className: 17,
+ classLiteralName: 18,
+ GENERICTYPE: 19,
+ relationStatement: 20,
+ LABEL: 21,
+ namespaceStatement: 22,
+ classStatement: 23,
+ memberStatement: 24,
+ annotationStatement: 25,
+ clickStatement: 26,
+ styleStatement: 27,
+ cssClassStatement: 28,
+ noteStatement: 29,
+ direction: 30,
+ acc_title: 31,
+ acc_title_value: 32,
+ acc_descr: 33,
+ acc_descr_value: 34,
+ acc_descr_multiline_value: 35,
+ namespaceIdentifier: 36,
+ STRUCT_START: 37,
+ classStatements: 38,
+ STRUCT_STOP: 39,
+ NAMESPACE: 40,
+ classIdentifier: 41,
+ STYLE_SEPARATOR: 42,
+ members: 43,
+ CLASS: 44,
+ ANNOTATION_START: 45,
+ ANNOTATION_END: 46,
+ MEMBER: 47,
+ SEPARATOR: 48,
+ relation: 49,
+ NOTE_FOR: 50,
+ noteText: 51,
+ NOTE: 52,
+ direction_tb: 53,
+ direction_bt: 54,
+ direction_rl: 55,
+ direction_lr: 56,
+ relationType: 57,
+ lineType: 58,
+ AGGREGATION: 59,
+ EXTENSION: 60,
+ COMPOSITION: 61,
+ DEPENDENCY: 62,
+ LOLLIPOP: 63,
+ LINE: 64,
+ DOTTED_LINE: 65,
+ CALLBACK: 66,
+ LINK: 67,
+ LINK_TARGET: 68,
+ CLICK: 69,
+ CALLBACK_NAME: 70,
+ CALLBACK_ARGS: 71,
+ HREF: 72,
+ STYLE: 73,
+ ALPHA: 74,
+ stylesOpt: 75,
+ CSSCLASS: 76,
+ style: 77,
+ COMMA: 78,
+ styleComponent: 79,
+ NUM: 80,
+ COLON: 81,
+ UNIT: 82,
+ SPACE: 83,
+ BRKT: 84,
+ PCT: 85,
+ commentToken: 86,
+ textToken: 87,
+ graphCodeTokens: 88,
+ textNoTagsToken: 89,
+ TAGSTART: 90,
+ TAGEND: 91,
+ '==': 92,
+ '--': 93,
+ DEFAULT: 94,
+ MINUS: 95,
+ keywords: 96,
+ UNICODE_TEXT: 97,
+ BQUOTE_STR: 98,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 7: 'CLASS_DIAGRAM',
+ 8: 'NEWLINE',
+ 9: 'EOF',
+ 12: 'SQS',
+ 13: 'STR',
+ 14: 'SQE',
+ 19: 'GENERICTYPE',
+ 21: 'LABEL',
+ 31: 'acc_title',
+ 32: 'acc_title_value',
+ 33: 'acc_descr',
+ 34: 'acc_descr_value',
+ 35: 'acc_descr_multiline_value',
+ 37: 'STRUCT_START',
+ 39: 'STRUCT_STOP',
+ 40: 'NAMESPACE',
+ 42: 'STYLE_SEPARATOR',
+ 44: 'CLASS',
+ 45: 'ANNOTATION_START',
+ 46: 'ANNOTATION_END',
+ 47: 'MEMBER',
+ 48: 'SEPARATOR',
+ 50: 'NOTE_FOR',
+ 52: 'NOTE',
+ 53: 'direction_tb',
+ 54: 'direction_bt',
+ 55: 'direction_rl',
+ 56: 'direction_lr',
+ 59: 'AGGREGATION',
+ 60: 'EXTENSION',
+ 61: 'COMPOSITION',
+ 62: 'DEPENDENCY',
+ 63: 'LOLLIPOP',
+ 64: 'LINE',
+ 65: 'DOTTED_LINE',
+ 66: 'CALLBACK',
+ 67: 'LINK',
+ 68: 'LINK_TARGET',
+ 69: 'CLICK',
+ 70: 'CALLBACK_NAME',
+ 71: 'CALLBACK_ARGS',
+ 72: 'HREF',
+ 73: 'STYLE',
+ 74: 'ALPHA',
+ 76: 'CSSCLASS',
+ 78: 'COMMA',
+ 80: 'NUM',
+ 81: 'COLON',
+ 82: 'UNIT',
+ 83: 'SPACE',
+ 84: 'BRKT',
+ 85: 'PCT',
+ 88: 'graphCodeTokens',
+ 90: 'TAGSTART',
+ 91: 'TAGEND',
+ 92: '==',
+ 93: '--',
+ 94: 'DEFAULT',
+ 95: 'MINUS',
+ 96: 'keywords',
+ 97: 'UNICODE_TEXT',
+ 98: 'BQUOTE_STR'
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 1],
+ [4, 1],
+ [6, 4],
+ [5, 1],
+ [5, 2],
+ [5, 3],
+ [11, 3],
+ [15, 1],
+ [15, 2],
+ [17, 1],
+ [17, 1],
+ [17, 2],
+ [17, 2],
+ [17, 2],
+ [10, 1],
+ [10, 2],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 2],
+ [10, 2],
+ [10, 1],
+ [22, 4],
+ [22, 5],
+ [36, 2],
+ [38, 1],
+ [38, 2],
+ [38, 3],
+ [23, 1],
+ [23, 3],
+ [23, 4],
+ [23, 6],
+ [41, 2],
+ [41, 3],
+ [25, 4],
+ [43, 1],
+ [43, 2],
+ [24, 1],
+ [24, 2],
+ [24, 1],
+ [24, 1],
+ [20, 3],
+ [20, 4],
+ [20, 4],
+ [20, 5],
+ [29, 3],
+ [29, 2],
+ [30, 1],
+ [30, 1],
+ [30, 1],
+ [30, 1],
+ [49, 3],
+ [49, 2],
+ [49, 2],
+ [49, 1],
+ [57, 1],
+ [57, 1],
+ [57, 1],
+ [57, 1],
+ [57, 1],
+ [58, 1],
+ [58, 1],
+ [26, 3],
+ [26, 4],
+ [26, 3],
+ [26, 4],
+ [26, 4],
+ [26, 5],
+ [26, 3],
+ [26, 4],
+ [26, 4],
+ [26, 5],
+ [26, 4],
+ [26, 5],
+ [26, 5],
+ [26, 6],
+ [27, 3],
+ [28, 3],
+ [75, 1],
+ [75, 3],
+ [77, 1],
+ [77, 2],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [86, 1],
+ [86, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [89, 1],
+ [89, 1],
+ [89, 1],
+ [89, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [18, 1],
+ [51, 1]
+ ],
+ performAction: o(function (_e, me, W, fe, ge, re, he) {
+ var ne = re.length - 1;
+ switch (ge) {
+ case 8:
+ this.$ = re[ne - 1];
+ break;
+ case 9:
+ case 11:
+ case 12:
+ this.$ = re[ne];
+ break;
+ case 10:
+ case 13:
+ this.$ = re[ne - 1] + re[ne];
+ break;
+ case 14:
+ case 15:
+ this.$ = re[ne - 1] + '~' + re[ne] + '~';
+ break;
+ case 16:
+ fe.addRelation(re[ne]);
+ break;
+ case 17:
+ (re[ne - 1].title = fe.cleanupLabel(re[ne])), fe.addRelation(re[ne - 1]);
+ break;
+ case 27:
+ (this.$ = re[ne].trim()), fe.setAccTitle(this.$);
+ break;
+ case 28:
+ case 29:
+ (this.$ = re[ne].trim()), fe.setAccDescription(this.$);
+ break;
+ case 30:
+ fe.addClassesToNamespace(re[ne - 3], re[ne - 1]);
+ break;
+ case 31:
+ fe.addClassesToNamespace(re[ne - 4], re[ne - 1]);
+ break;
+ case 32:
+ (this.$ = re[ne]), fe.addNamespace(re[ne]);
+ break;
+ case 33:
+ this.$ = [re[ne]];
+ break;
+ case 34:
+ this.$ = [re[ne - 1]];
+ break;
+ case 35:
+ re[ne].unshift(re[ne - 2]), (this.$ = re[ne]);
+ break;
+ case 37:
+ fe.setCssClass(re[ne - 2], re[ne]);
+ break;
+ case 38:
+ fe.addMembers(re[ne - 3], re[ne - 1]);
+ break;
+ case 39:
+ fe.setCssClass(re[ne - 5], re[ne - 3]), fe.addMembers(re[ne - 5], re[ne - 1]);
+ break;
+ case 40:
+ (this.$ = re[ne]), fe.addClass(re[ne]);
+ break;
+ case 41:
+ (this.$ = re[ne - 1]),
+ fe.addClass(re[ne - 1]),
+ fe.setClassLabel(re[ne - 1], re[ne]);
+ break;
+ case 42:
+ fe.addAnnotation(re[ne], re[ne - 2]);
+ break;
+ case 43:
+ this.$ = [re[ne]];
+ break;
+ case 44:
+ re[ne].push(re[ne - 1]), (this.$ = re[ne]);
+ break;
+ case 45:
+ break;
+ case 46:
+ fe.addMember(re[ne - 1], fe.cleanupLabel(re[ne]));
+ break;
+ case 47:
+ break;
+ case 48:
+ break;
+ case 49:
+ this.$ = {
+ id1: re[ne - 2],
+ id2: re[ne],
+ relation: re[ne - 1],
+ relationTitle1: 'none',
+ relationTitle2: 'none'
+ };
+ break;
+ case 50:
+ this.$ = {
+ id1: re[ne - 3],
+ id2: re[ne],
+ relation: re[ne - 1],
+ relationTitle1: re[ne - 2],
+ relationTitle2: 'none'
+ };
+ break;
+ case 51:
+ this.$ = {
+ id1: re[ne - 3],
+ id2: re[ne],
+ relation: re[ne - 2],
+ relationTitle1: 'none',
+ relationTitle2: re[ne - 1]
+ };
+ break;
+ case 52:
+ this.$ = {
+ id1: re[ne - 4],
+ id2: re[ne],
+ relation: re[ne - 2],
+ relationTitle1: re[ne - 3],
+ relationTitle2: re[ne - 1]
+ };
+ break;
+ case 53:
+ fe.addNote(re[ne], re[ne - 1]);
+ break;
+ case 54:
+ fe.addNote(re[ne]);
+ break;
+ case 55:
+ fe.setDirection('TB');
+ break;
+ case 56:
+ fe.setDirection('BT');
+ break;
+ case 57:
+ fe.setDirection('RL');
+ break;
+ case 58:
+ fe.setDirection('LR');
+ break;
+ case 59:
+ this.$ = {
+ type1: re[ne - 2],
+ type2: re[ne],
+ lineType: re[ne - 1]
+ };
+ break;
+ case 60:
+ this.$ = {
+ type1: 'none',
+ type2: re[ne],
+ lineType: re[ne - 1]
+ };
+ break;
+ case 61:
+ this.$ = {
+ type1: re[ne - 1],
+ type2: 'none',
+ lineType: re[ne]
+ };
+ break;
+ case 62:
+ this.$ = { type1: 'none', type2: 'none', lineType: re[ne] };
+ break;
+ case 63:
+ this.$ = fe.relationType.AGGREGATION;
+ break;
+ case 64:
+ this.$ = fe.relationType.EXTENSION;
+ break;
+ case 65:
+ this.$ = fe.relationType.COMPOSITION;
+ break;
+ case 66:
+ this.$ = fe.relationType.DEPENDENCY;
+ break;
+ case 67:
+ this.$ = fe.relationType.LOLLIPOP;
+ break;
+ case 68:
+ this.$ = fe.lineType.LINE;
+ break;
+ case 69:
+ this.$ = fe.lineType.DOTTED_LINE;
+ break;
+ case 70:
+ case 76:
+ (this.$ = re[ne - 2]), fe.setClickEvent(re[ne - 1], re[ne]);
+ break;
+ case 71:
+ case 77:
+ (this.$ = re[ne - 3]),
+ fe.setClickEvent(re[ne - 2], re[ne - 1]),
+ fe.setTooltip(re[ne - 2], re[ne]);
+ break;
+ case 72:
+ (this.$ = re[ne - 2]), fe.setLink(re[ne - 1], re[ne]);
+ break;
+ case 73:
+ (this.$ = re[ne - 3]), fe.setLink(re[ne - 2], re[ne - 1], re[ne]);
+ break;
+ case 74:
+ (this.$ = re[ne - 3]),
+ fe.setLink(re[ne - 2], re[ne - 1]),
+ fe.setTooltip(re[ne - 2], re[ne]);
+ break;
+ case 75:
+ (this.$ = re[ne - 4]),
+ fe.setLink(re[ne - 3], re[ne - 2], re[ne]),
+ fe.setTooltip(re[ne - 3], re[ne - 1]);
+ break;
+ case 78:
+ (this.$ = re[ne - 3]), fe.setClickEvent(re[ne - 2], re[ne - 1], re[ne]);
+ break;
+ case 79:
+ (this.$ = re[ne - 4]),
+ fe.setClickEvent(re[ne - 3], re[ne - 2], re[ne - 1]),
+ fe.setTooltip(re[ne - 3], re[ne]);
+ break;
+ case 80:
+ (this.$ = re[ne - 3]), fe.setLink(re[ne - 2], re[ne]);
+ break;
+ case 81:
+ (this.$ = re[ne - 4]), fe.setLink(re[ne - 3], re[ne - 1], re[ne]);
+ break;
+ case 82:
+ (this.$ = re[ne - 4]),
+ fe.setLink(re[ne - 3], re[ne - 1]),
+ fe.setTooltip(re[ne - 3], re[ne]);
+ break;
+ case 83:
+ (this.$ = re[ne - 5]),
+ fe.setLink(re[ne - 4], re[ne - 2], re[ne]),
+ fe.setTooltip(re[ne - 4], re[ne - 1]);
+ break;
+ case 84:
+ (this.$ = re[ne - 2]), fe.setCssStyle(re[ne - 1], re[ne]);
+ break;
+ case 85:
+ fe.setCssClass(re[ne - 1], re[ne]);
+ break;
+ case 86:
+ this.$ = [re[ne]];
+ break;
+ case 87:
+ re[ne - 2].push(re[ne]), (this.$ = re[ne - 2]);
+ break;
+ case 89:
+ this.$ = re[ne - 1] + re[ne];
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ {
+ 3: 1,
+ 4: 2,
+ 5: 3,
+ 6: 4,
+ 7: [1, 6],
+ 10: 5,
+ 16: 37,
+ 17: 20,
+ 18: 38,
+ 20: 7,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 27: 13,
+ 28: 14,
+ 29: 15,
+ 30: 16,
+ 31: e,
+ 33: r,
+ 35: n,
+ 36: 21,
+ 40: i,
+ 41: 22,
+ 44: a,
+ 45: s,
+ 47: l,
+ 48: u,
+ 50: h,
+ 52: f,
+ 53: d,
+ 54: p,
+ 55: m,
+ 56: g,
+ 66: y,
+ 67: v,
+ 69: x,
+ 73: b,
+ 74: w,
+ 76: S,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ },
+ { 1: [3] },
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ { 1: [2, 3] },
+ t(L, [2, 5], { 8: [1, 46] }),
+ { 8: [1, 47] },
+ t(M, [2, 16], { 21: [1, 48] }),
+ t(M, [2, 18]),
+ t(M, [2, 19]),
+ t(M, [2, 20]),
+ t(M, [2, 21]),
+ t(M, [2, 22]),
+ t(M, [2, 23]),
+ t(M, [2, 24]),
+ t(M, [2, 25]),
+ t(M, [2, 26]),
+ { 32: [1, 49] },
+ { 34: [1, 50] },
+ t(M, [2, 29]),
+ t(M, [2, 45], {
+ 49: 51,
+ 57: 54,
+ 58: 55,
+ 13: [1, 52],
+ 21: [1, 53],
+ 59: N,
+ 60: k,
+ 61: I,
+ 62: C,
+ 63: O,
+ 64: D,
+ 65: P
+ }),
+ { 37: [1, 63] },
+ t(F, [2, 36], { 37: [1, 65], 42: [1, 64] }),
+ t(M, [2, 47]),
+ t(M, [2, 48]),
+ { 16: 66, 74: w, 80: T, 95: E, 97: _ },
+ { 16: 37, 17: 67, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ { 16: 37, 17: 68, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ { 16: 37, 17: 69, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ { 74: [1, 70] },
+ { 13: [1, 71] },
+ { 16: 37, 17: 72, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ { 13: B, 51: 73 },
+ t(M, [2, 55]),
+ t(M, [2, 56]),
+ t(M, [2, 57]),
+ t(M, [2, 58]),
+ t($, [2, 11], {
+ 16: 37,
+ 18: 38,
+ 17: 75,
+ 19: [1, 76],
+ 74: w,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ }),
+ t($, [2, 12], { 19: [1, 77] }),
+ { 15: 78, 16: 79, 74: w, 80: T, 95: E, 97: _ },
+ { 16: 37, 17: 80, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ t(z, [2, 112]),
+ t(z, [2, 113]),
+ t(z, [2, 114]),
+ t(z, [2, 115]),
+ t([1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72], [2, 116]),
+ t(L, [2, 6], {
+ 10: 5,
+ 20: 7,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 27: 13,
+ 28: 14,
+ 29: 15,
+ 30: 16,
+ 17: 20,
+ 36: 21,
+ 41: 22,
+ 16: 37,
+ 18: 38,
+ 5: 81,
+ 31: e,
+ 33: r,
+ 35: n,
+ 40: i,
+ 44: a,
+ 45: s,
+ 47: l,
+ 48: u,
+ 50: h,
+ 52: f,
+ 53: d,
+ 54: p,
+ 55: m,
+ 56: g,
+ 66: y,
+ 67: v,
+ 69: x,
+ 73: b,
+ 74: w,
+ 76: S,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ }),
+ {
+ 5: 82,
+ 10: 5,
+ 16: 37,
+ 17: 20,
+ 18: 38,
+ 20: 7,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 27: 13,
+ 28: 14,
+ 29: 15,
+ 30: 16,
+ 31: e,
+ 33: r,
+ 35: n,
+ 36: 21,
+ 40: i,
+ 41: 22,
+ 44: a,
+ 45: s,
+ 47: l,
+ 48: u,
+ 50: h,
+ 52: f,
+ 53: d,
+ 54: p,
+ 55: m,
+ 56: g,
+ 66: y,
+ 67: v,
+ 69: x,
+ 73: b,
+ 74: w,
+ 76: S,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ },
+ t(M, [2, 17]),
+ t(M, [2, 27]),
+ t(M, [2, 28]),
+ {
+ 13: [1, 84],
+ 16: 37,
+ 17: 83,
+ 18: 38,
+ 74: w,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ },
+ {
+ 49: 85,
+ 57: 54,
+ 58: 55,
+ 59: N,
+ 60: k,
+ 61: I,
+ 62: C,
+ 63: O,
+ 64: D,
+ 65: P
+ },
+ t(M, [2, 46]),
+ { 58: 86, 64: D, 65: P },
+ t(Y, [2, 62], { 57: 87, 59: N, 60: k, 61: I, 62: C, 63: O }),
+ t(Q, [2, 63]),
+ t(Q, [2, 64]),
+ t(Q, [2, 65]),
+ t(Q, [2, 66]),
+ t(Q, [2, 67]),
+ t(X, [2, 68]),
+ t(X, [2, 69]),
+ { 8: [1, 89], 23: 90, 38: 88, 41: 22, 44: a },
+ { 16: 91, 74: w, 80: T, 95: E, 97: _ },
+ { 43: 92, 47: ie },
+ { 46: [1, 94] },
+ { 13: [1, 95] },
+ { 13: [1, 96] },
+ { 70: [1, 97], 72: [1, 98] },
+ {
+ 21: j,
+ 73: J,
+ 74: Z,
+ 75: 99,
+ 77: 100,
+ 79: 101,
+ 80: H,
+ 81: q,
+ 82: K,
+ 83: se,
+ 84: ce,
+ 85: ue
+ },
+ { 74: [1, 111] },
+ { 13: B, 51: 112 },
+ t(M, [2, 54]),
+ t(M, [2, 117]),
+ t($, [2, 13]),
+ t($, [2, 14]),
+ t($, [2, 15]),
+ { 37: [2, 32] },
+ { 15: 113, 16: 79, 37: [2, 9], 74: w, 80: T, 95: E, 97: _ },
+ t(te, [2, 40], { 11: 114, 12: [1, 115] }),
+ t(L, [2, 7]),
+ { 9: [1, 116] },
+ t(De, [2, 49]),
+ { 16: 37, 17: 117, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ {
+ 13: [1, 119],
+ 16: 37,
+ 17: 118,
+ 18: 38,
+ 74: w,
+ 80: T,
+ 95: E,
+ 97: _,
+ 98: A
+ },
+ t(Y, [2, 61], { 57: 120, 59: N, 60: k, 61: I, 62: C, 63: O }),
+ t(Y, [2, 60]),
+ { 39: [1, 121] },
+ { 23: 90, 38: 122, 41: 22, 44: a },
+ { 8: [1, 123], 39: [2, 33] },
+ t(F, [2, 37], { 37: [1, 124] }),
+ { 39: [1, 125] },
+ { 39: [2, 43], 43: 126, 47: ie },
+ { 16: 37, 17: 127, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ t(M, [2, 70], { 13: [1, 128] }),
+ t(M, [2, 72], { 13: [1, 130], 68: [1, 129] }),
+ t(M, [2, 76], { 13: [1, 131], 71: [1, 132] }),
+ { 13: [1, 133] },
+ t(M, [2, 84], { 78: [1, 134] }),
+ t(oe, [2, 86], {
+ 79: 135,
+ 21: j,
+ 73: J,
+ 74: Z,
+ 80: H,
+ 81: q,
+ 82: K,
+ 83: se,
+ 84: ce,
+ 85: ue
+ }),
+ t(ke, [2, 88]),
+ t(ke, [2, 90]),
+ t(ke, [2, 91]),
+ t(ke, [2, 92]),
+ t(ke, [2, 93]),
+ t(ke, [2, 94]),
+ t(ke, [2, 95]),
+ t(ke, [2, 96]),
+ t(ke, [2, 97]),
+ t(ke, [2, 98]),
+ t(M, [2, 85]),
+ t(M, [2, 53]),
+ { 37: [2, 10] },
+ t(te, [2, 41]),
+ { 13: [1, 136] },
+ { 1: [2, 4] },
+ t(De, [2, 51]),
+ t(De, [2, 50]),
+ { 16: 37, 17: 137, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A },
+ t(Y, [2, 59]),
+ t(M, [2, 30]),
+ { 39: [1, 138] },
+ { 23: 90, 38: 139, 39: [2, 34], 41: 22, 44: a },
+ { 43: 140, 47: ie },
+ t(F, [2, 38]),
+ { 39: [2, 44] },
+ t(M, [2, 42]),
+ t(M, [2, 71]),
+ t(M, [2, 73]),
+ t(M, [2, 74], { 68: [1, 141] }),
+ t(M, [2, 77]),
+ t(M, [2, 78], { 13: [1, 142] }),
+ t(M, [2, 80], { 13: [1, 144], 68: [1, 143] }),
+ {
+ 21: j,
+ 73: J,
+ 74: Z,
+ 77: 145,
+ 79: 101,
+ 80: H,
+ 81: q,
+ 82: K,
+ 83: se,
+ 84: ce,
+ 85: ue
+ },
+ t(ke, [2, 89]),
+ { 14: [1, 146] },
+ t(De, [2, 52]),
+ t(M, [2, 31]),
+ { 39: [2, 35] },
+ { 39: [1, 147] },
+ t(M, [2, 75]),
+ t(M, [2, 79]),
+ t(M, [2, 81]),
+ t(M, [2, 82], { 68: [1, 148] }),
+ t(oe, [2, 87], {
+ 79: 135,
+ 21: j,
+ 73: J,
+ 74: Z,
+ 80: H,
+ 81: q,
+ 82: K,
+ 83: se,
+ 84: ce,
+ 85: ue
+ }),
+ t(te, [2, 8]),
+ t(F, [2, 39]),
+ t(M, [2, 83])
+ ],
+ defaultActions: {
+ 2: [2, 1],
+ 3: [2, 2],
+ 4: [2, 3],
+ 78: [2, 32],
+ 113: [2, 10],
+ 116: [2, 4],
+ 126: [2, 44],
+ 139: [2, 35]
+ },
+ parseError: o(function (_e, me) {
+ if (me.recoverable) this.trace(_e);
+ else {
+ var W = new Error(_e);
+ throw ((W.hash = me), W);
+ }
+ }, 'parseError'),
+ parse: o(function (_e) {
+ var me = this,
+ W = [0],
+ fe = [],
+ ge = [null],
+ re = [],
+ he = this.table,
+ ne = '',
+ ae = 0,
+ we = 0,
+ Te = 0,
+ Ce = 2,
+ Ae = 1,
+ Ge = re.slice.call(arguments, 1),
+ Me = Object.create(this.lexer),
+ ye = { yy: {} };
+ for (var He in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, He) && (ye.yy[He] = this.yy[He]);
+ Me.setInput(_e, ye.yy),
+ (ye.yy.lexer = Me),
+ (ye.yy.parser = this),
+ typeof Me.yylloc > 'u' && (Me.yylloc = {});
+ var ze = Me.yylloc;
+ re.push(ze);
+ var Ze = Me.options && Me.options.ranges;
+ typeof ye.yy.parseError == 'function'
+ ? (this.parseError = ye.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function gt(mt) {
+ (W.length = W.length - 2 * mt),
+ (ge.length = ge.length - mt),
+ (re.length = re.length - mt);
+ }
+ o(gt, 'popStack');
+ function yt() {
+ var mt;
+ return (
+ (mt = fe.pop() || Me.lex() || Ae),
+ typeof mt != 'number' &&
+ (mt instanceof Array && ((fe = mt), (mt = fe.pop())),
+ (mt = me.symbols_[mt] || mt)),
+ mt
+ );
+ }
+ o(yt, 'lex');
+ for (var tt, Ye, Je, Ve, je, kt, at = {}, xt, it, dt, lt; ; ) {
+ if (
+ ((Je = W[W.length - 1]),
+ this.defaultActions[Je]
+ ? (Ve = this.defaultActions[Je])
+ : ((tt === null || typeof tt > 'u') && (tt = yt()),
+ (Ve = he[Je] && he[Je][tt])),
+ typeof Ve > 'u' || !Ve.length || !Ve[0])
+ ) {
+ var It = '';
+ lt = [];
+ for (xt in he[Je])
+ this.terminals_[xt] && xt > Ce && lt.push("'" + this.terminals_[xt] + "'");
+ Me.showPosition
+ ? (It =
+ 'Parse error on line ' +
+ (ae + 1) +
+ `:
+` +
+ Me.showPosition() +
+ `
+Expecting ` +
+ lt.join(', ') +
+ ", got '" +
+ (this.terminals_[tt] || tt) +
+ "'")
+ : (It =
+ 'Parse error on line ' +
+ (ae + 1) +
+ ': Unexpected ' +
+ (tt == Ae ? 'end of input' : "'" + (this.terminals_[tt] || tt) + "'")),
+ this.parseError(It, {
+ text: Me.match,
+ token: this.terminals_[tt] || tt,
+ line: Me.yylineno,
+ loc: ze,
+ expected: lt
+ });
+ }
+ if (Ve[0] instanceof Array && Ve.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Je + ', token: ' + tt
+ );
+ switch (Ve[0]) {
+ case 1:
+ W.push(tt),
+ ge.push(Me.yytext),
+ re.push(Me.yylloc),
+ W.push(Ve[1]),
+ (tt = null),
+ Ye
+ ? ((tt = Ye), (Ye = null))
+ : ((we = Me.yyleng),
+ (ne = Me.yytext),
+ (ae = Me.yylineno),
+ (ze = Me.yylloc),
+ Te > 0 && Te--);
+ break;
+ case 2:
+ if (
+ ((it = this.productions_[Ve[1]][1]),
+ (at.$ = ge[ge.length - it]),
+ (at._$ = {
+ first_line: re[re.length - (it || 1)].first_line,
+ last_line: re[re.length - 1].last_line,
+ first_column: re[re.length - (it || 1)].first_column,
+ last_column: re[re.length - 1].last_column
+ }),
+ Ze &&
+ (at._$.range = [
+ re[re.length - (it || 1)].range[0],
+ re[re.length - 1].range[1]
+ ]),
+ (kt = this.performAction.apply(
+ at,
+ [ne, we, ae, ye.yy, Ve[1], ge, re].concat(Ge)
+ )),
+ typeof kt < 'u')
+ )
+ return kt;
+ it &&
+ ((W = W.slice(0, -1 * it * 2)),
+ (ge = ge.slice(0, -1 * it)),
+ (re = re.slice(0, -1 * it))),
+ W.push(this.productions_[Ve[1]][0]),
+ ge.push(at.$),
+ re.push(at._$),
+ (dt = he[W[W.length - 2]][W[W.length - 1]]),
+ W.push(dt);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ Se = (function () {
+ var Pe = {
+ EOF: 1,
+ parseError: o(function (me, W) {
+ if (this.yy.parser) this.yy.parser.parseError(me, W);
+ else throw new Error(me);
+ }, 'parseError'),
+ setInput: o(function (_e, me) {
+ return (
+ (this.yy = me || this.yy || {}),
+ (this._input = _e),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var _e = this._input[0];
+ (this.yytext += _e),
+ this.yyleng++,
+ this.offset++,
+ (this.match += _e),
+ (this.matched += _e);
+ var me = _e.match(/(?:\r\n?|\n).*/g);
+ return (
+ me ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ _e
+ );
+ }, 'input'),
+ unput: o(function (_e) {
+ var me = _e.length,
+ W = _e.split(/(?:\r\n?|\n)/g);
+ (this._input = _e + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - me)),
+ (this.offset -= me);
+ var fe = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ W.length - 1 && (this.yylineno -= W.length - 1);
+ var ge = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: W
+ ? (W.length === fe.length ? this.yylloc.first_column : 0) +
+ fe[fe.length - W.length].length -
+ W[0].length
+ : this.yylloc.first_column - me
+ }),
+ this.options.ranges && (this.yylloc.range = [ge[0], ge[0] + this.yyleng - me]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (_e) {
+ this.unput(this.match.slice(_e));
+ }, 'less'),
+ pastInput: o(function () {
+ var _e = this.matched.substr(0, this.matched.length - this.match.length);
+ return (_e.length > 20 ? '...' : '') + _e.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var _e = this.match;
+ return (
+ _e.length < 20 && (_e += this._input.substr(0, 20 - _e.length)),
+ (_e.substr(0, 20) + (_e.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var _e = this.pastInput(),
+ me = new Array(_e.length + 1).join('-');
+ return (
+ _e +
+ this.upcomingInput() +
+ `
+` +
+ me +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (_e, me) {
+ var W, fe, ge;
+ if (
+ (this.options.backtrack_lexer &&
+ ((ge = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (ge.yylloc.range = this.yylloc.range.slice(0))),
+ (fe = _e[0].match(/(?:\r\n?|\n).*/g)),
+ fe && (this.yylineno += fe.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: fe
+ ? fe[fe.length - 1].length - fe[fe.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + _e[0].length
+ }),
+ (this.yytext += _e[0]),
+ (this.match += _e[0]),
+ (this.matches = _e),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(_e[0].length)),
+ (this.matched += _e[0]),
+ (W = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ me,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ W)
+ )
+ return W;
+ if (this._backtrack) {
+ for (var re in ge) this[re] = ge[re];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var _e, me, W, fe;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var ge = this._currentRules(), re = 0; re < ge.length; re++)
+ if (
+ ((W = this._input.match(this.rules[ge[re]])),
+ W && (!me || W[0].length > me[0].length))
+ ) {
+ if (((me = W), (fe = re), this.options.backtrack_lexer)) {
+ if (((_e = this.test_match(W, ge[re])), _e !== !1)) return _e;
+ if (this._backtrack) {
+ me = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return me
+ ? ((_e = this.test_match(me, ge[fe])), _e !== !1 ? _e : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var me = this.next();
+ return me || this.lex();
+ }, 'lex'),
+ begin: o(function (me) {
+ this.conditionStack.push(me);
+ }, 'begin'),
+ popState: o(function () {
+ var me = this.conditionStack.length - 1;
+ return me > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (me) {
+ return (
+ (me = this.conditionStack.length - 1 - Math.abs(me || 0)),
+ me >= 0 ? this.conditionStack[me] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (me) {
+ this.begin(me);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: {},
+ performAction: o(function (me, W, fe, ge) {
+ var re = ge;
+ switch (fe) {
+ case 0:
+ return 53;
+ case 1:
+ return 54;
+ case 2:
+ return 55;
+ case 3:
+ return 56;
+ case 4:
+ break;
+ case 5:
+ break;
+ case 6:
+ return this.begin('acc_title'), 31;
+ break;
+ case 7:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 8:
+ return this.begin('acc_descr'), 33;
+ break;
+ case 9:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 10:
+ this.begin('acc_descr_multiline');
+ break;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 'acc_descr_multiline_value';
+ case 13:
+ return 8;
+ case 14:
+ break;
+ case 15:
+ return 7;
+ case 16:
+ return 7;
+ case 17:
+ return 'EDGE_STATE';
+ case 18:
+ this.begin('callback_name');
+ break;
+ case 19:
+ this.popState();
+ break;
+ case 20:
+ this.popState(), this.begin('callback_args');
+ break;
+ case 21:
+ return 70;
+ case 22:
+ this.popState();
+ break;
+ case 23:
+ return 71;
+ case 24:
+ this.popState();
+ break;
+ case 25:
+ return 'STR';
+ case 26:
+ this.begin('string');
+ break;
+ case 27:
+ return 73;
+ case 28:
+ return this.begin('namespace'), 40;
+ break;
+ case 29:
+ return this.popState(), 8;
+ break;
+ case 30:
+ break;
+ case 31:
+ return this.begin('namespace-body'), 37;
+ break;
+ case 32:
+ return this.popState(), 39;
+ break;
+ case 33:
+ return 'EOF_IN_STRUCT';
+ case 34:
+ return 8;
+ case 35:
+ break;
+ case 36:
+ return 'EDGE_STATE';
+ case 37:
+ return this.begin('class'), 44;
+ break;
+ case 38:
+ return this.popState(), 8;
+ break;
+ case 39:
+ break;
+ case 40:
+ return this.popState(), this.popState(), 39;
+ break;
+ case 41:
+ return this.begin('class-body'), 37;
+ break;
+ case 42:
+ return this.popState(), 39;
+ break;
+ case 43:
+ return 'EOF_IN_STRUCT';
+ case 44:
+ return 'EDGE_STATE';
+ case 45:
+ return 'OPEN_IN_STRUCT';
+ case 46:
+ break;
+ case 47:
+ return 'MEMBER';
+ case 48:
+ return 76;
+ case 49:
+ return 66;
+ case 50:
+ return 67;
+ case 51:
+ return 69;
+ case 52:
+ return 50;
+ case 53:
+ return 52;
+ case 54:
+ return 45;
+ case 55:
+ return 46;
+ case 56:
+ return 72;
+ case 57:
+ this.popState();
+ break;
+ case 58:
+ return 'GENERICTYPE';
+ case 59:
+ this.begin('generic');
+ break;
+ case 60:
+ this.popState();
+ break;
+ case 61:
+ return 'BQUOTE_STR';
+ case 62:
+ this.begin('bqstring');
+ break;
+ case 63:
+ return 68;
+ case 64:
+ return 68;
+ case 65:
+ return 68;
+ case 66:
+ return 68;
+ case 67:
+ return 60;
+ case 68:
+ return 60;
+ case 69:
+ return 62;
+ case 70:
+ return 62;
+ case 71:
+ return 61;
+ case 72:
+ return 59;
+ case 73:
+ return 63;
+ case 74:
+ return 64;
+ case 75:
+ return 65;
+ case 76:
+ return 21;
+ case 77:
+ return 42;
+ case 78:
+ return 95;
+ case 79:
+ return 'DOT';
+ case 80:
+ return 'PLUS';
+ case 81:
+ return 81;
+ case 82:
+ return 78;
+ case 83:
+ return 84;
+ case 84:
+ return 84;
+ case 85:
+ return 85;
+ case 86:
+ return 'EQUALS';
+ case 87:
+ return 'EQUALS';
+ case 88:
+ return 74;
+ case 89:
+ return 12;
+ case 90:
+ return 14;
+ case 91:
+ return 'PUNCTUATION';
+ case 92:
+ return 80;
+ case 93:
+ return 97;
+ case 94:
+ return 83;
+ case 95:
+ return 83;
+ case 96:
+ return 9;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:.*direction\s+TB[^\n]*)/,
+ /^(?:.*direction\s+BT[^\n]*)/,
+ /^(?:.*direction\s+RL[^\n]*)/,
+ /^(?:.*direction\s+LR[^\n]*)/,
+ /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,
+ /^(?:%%[^\n]*(\r?\n)*)/,
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:classDiagram-v2\b)/,
+ /^(?:classDiagram\b)/,
+ /^(?:\[\*\])/,
+ /^(?:call[\s]+)/,
+ /^(?:\([\s]*\))/,
+ /^(?:\()/,
+ /^(?:[^(]*)/,
+ /^(?:\))/,
+ /^(?:[^)]*)/,
+ /^(?:["])/,
+ /^(?:[^"]*)/,
+ /^(?:["])/,
+ /^(?:style\b)/,
+ /^(?:namespace\b)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:[{])/,
+ /^(?:[}])/,
+ /^(?:$)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:\[\*\])/,
+ /^(?:class\b)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:[}])/,
+ /^(?:[{])/,
+ /^(?:[}])/,
+ /^(?:$)/,
+ /^(?:\[\*\])/,
+ /^(?:[{])/,
+ /^(?:[\n])/,
+ /^(?:[^{}\n]*)/,
+ /^(?:cssClass\b)/,
+ /^(?:callback\b)/,
+ /^(?:link\b)/,
+ /^(?:click\b)/,
+ /^(?:note for\b)/,
+ /^(?:note\b)/,
+ /^(?:<<)/,
+ /^(?:>>)/,
+ /^(?:href\b)/,
+ /^(?:[~])/,
+ /^(?:[^~]*)/,
+ /^(?:~)/,
+ /^(?:[`])/,
+ /^(?:[^`]+)/,
+ /^(?:[`])/,
+ /^(?:_self\b)/,
+ /^(?:_blank\b)/,
+ /^(?:_parent\b)/,
+ /^(?:_top\b)/,
+ /^(?:\s*<\|)/,
+ /^(?:\s*\|>)/,
+ /^(?:\s*>)/,
+ /^(?:\s*<)/,
+ /^(?:\s*\*)/,
+ /^(?:\s*o\b)/,
+ /^(?:\s*\(\))/,
+ /^(?:--)/,
+ /^(?:\.\.)/,
+ /^(?::{1}[^:\n;]+)/,
+ /^(?::{3})/,
+ /^(?:-)/,
+ /^(?:\.)/,
+ /^(?:\+)/,
+ /^(?::)/,
+ /^(?:,)/,
+ /^(?:#)/,
+ /^(?:#)/,
+ /^(?:%)/,
+ /^(?:=)/,
+ /^(?:=)/,
+ /^(?:\w+)/,
+ /^(?:\[)/,
+ /^(?:\])/,
+ /^(?:[!"#$%&'*+,-.`?\\/])/,
+ /^(?:[0-9]+)/,
+ /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,
+ /^(?:\s)/,
+ /^(?:\s)/,
+ /^(?:$)/
+ ],
+ conditions: {
+ 'namespace-body': {
+ rules: [
+ 26, 32, 33, 34, 35, 36, 37, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ namespace: {
+ rules: [
+ 26, 28, 29, 30, 31, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ 'class-body': {
+ rules: [
+ 26, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ class: {
+ rules: [
+ 26, 38, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ acc_descr_multiline: {
+ rules: [
+ 11, 12, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ acc_descr: {
+ rules: [
+ 9, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 96
+ ],
+ inclusive: !1
+ },
+ acc_title: {
+ rules: [
+ 7, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 96
+ ],
+ inclusive: !1
+ },
+ callback_args: {
+ rules: [
+ 22, 23, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ callback_name: {
+ rules: [
+ 19, 20, 21, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ href: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 96
+ ],
+ inclusive: !1
+ },
+ struct: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 96
+ ],
+ inclusive: !1
+ },
+ generic: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ bqstring: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ string: {
+ rules: [
+ 24, 25, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96
+ ],
+ inclusive: !1
+ },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 26, 27, 28, 37, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return Pe;
+ })();
+ Ie.lexer = Se;
+ function Ue() {
+ this.yy = {};
+ }
+ return o(Ue, 'Parser'), (Ue.prototype = Ie), (Ie.Parser = Ue), new Ue();
+ })();
+ wO.parser = wO;
+ wE = wO;
+ });
+ var bhe,
+ wx,
+ whe = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ (bhe = ['#', '+', '~', '-', '']),
+ (wx = class {
+ static {
+ o(this, 'ClassMember');
+ }
+ constructor(e, r) {
+ (this.memberType = r), (this.visibility = ''), (this.classifier = '');
+ let n = qr(e, de());
+ this.parseMember(n);
+ }
+ getDisplayDetails() {
+ let e = this.visibility + gh(this.id);
+ this.memberType === 'method' &&
+ ((e += `(${gh(this.parameters.trim())})`),
+ this.returnType && (e += ' : ' + gh(this.returnType))),
+ (e = e.trim());
+ let r = this.parseClassifier();
+ return { displayText: e, cssStyle: r };
+ }
+ parseMember(e) {
+ let r = '';
+ if (this.memberType === 'method') {
+ let i = /([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);
+ if (i) {
+ let a = i[1] ? i[1].trim() : '';
+ if (
+ (bhe.includes(a) && (this.visibility = a),
+ (this.id = i[2].trim()),
+ (this.parameters = i[3] ? i[3].trim() : ''),
+ (r = i[4] ? i[4].trim() : ''),
+ (this.returnType = i[5] ? i[5].trim() : ''),
+ r === '')
+ ) {
+ let s = this.returnType.substring(this.returnType.length - 1);
+ /[$*]/.exec(s) &&
+ ((r = s),
+ (this.returnType = this.returnType.substring(0, this.returnType.length - 1)));
+ }
+ }
+ } else {
+ let n = e.length,
+ i = e.substring(0, 1),
+ a = e.substring(n - 1);
+ bhe.includes(i) && (this.visibility = i),
+ /[$*]/.exec(a) && (r = a),
+ (this.id = e.substring(this.visibility === '' ? 0 : 1, r === '' ? n : n - 1));
+ }
+ this.classifier = r;
+ }
+ parseClassifier() {
+ switch (this.classifier) {
+ case '*':
+ return 'font-style:italic;';
+ case '$':
+ return 'text-decoration:underline;';
+ default:
+ return '';
+ }
+ }
+ });
+ });
+ var EE,
+ EO,
+ Gi,
+ TE,
+ The,
+ qu,
+ kO,
+ Tx,
+ D0,
+ R0,
+ u$e,
+ kE,
+ khe,
+ h$e,
+ f$e,
+ d$e,
+ p$e,
+ m$e,
+ g$e,
+ y$e,
+ Ehe,
+ v$e,
+ x$e,
+ b$e,
+ CO,
+ w$e,
+ T$e,
+ k$e,
+ E$e,
+ C$e,
+ S$e,
+ A$e,
+ _$e,
+ Che,
+ SO,
+ L$e,
+ D$e,
+ R$e,
+ N$e,
+ M$e,
+ I$e,
+ O$e,
+ Bg,
+ AO = R(() => {
+ 'use strict';
+ Zt();
+ ut();
+ _t();
+ rr();
+ xr();
+ bi();
+ whe();
+ (EE = 'classId-'),
+ (EO = []),
+ (Gi = new Map()),
+ (TE = []),
+ (The = 0),
+ (qu = new Map()),
+ (kO = 0),
+ (Tx = []),
+ (D0 = o((t) => We.sanitizeText(t, de()), 'sanitizeText')),
+ (R0 = o(function (t) {
+ let e = We.sanitizeText(t, de()),
+ r = '',
+ n = e;
+ if (e.indexOf('~') > 0) {
+ let i = e.split('~');
+ (n = D0(i[0])), (r = D0(i[1]));
+ }
+ return { className: n, type: r };
+ }, 'splitClassNameAndType')),
+ (u$e = o(function (t, e) {
+ let r = We.sanitizeText(t, de());
+ e && (e = D0(e));
+ let { className: n } = R0(r);
+ Gi.get(n).label = e;
+ }, 'setClassLabel')),
+ (kE = o(function (t) {
+ let e = We.sanitizeText(t, de()),
+ { className: r, type: n } = R0(e);
+ if (Gi.has(r)) return;
+ let i = We.sanitizeText(r, de());
+ Gi.set(i, {
+ id: i,
+ type: n,
+ label: i,
+ cssClasses: [],
+ methods: [],
+ members: [],
+ annotations: [],
+ styles: [],
+ domId: EE + i + '-' + The
+ }),
+ The++;
+ }, 'addClass')),
+ (khe = o(function (t) {
+ let e = We.sanitizeText(t, de());
+ if (Gi.has(e)) return Gi.get(e).domId;
+ throw new Error('Class not found: ' + e);
+ }, 'lookUpDomId')),
+ (h$e = o(function () {
+ (EO = []),
+ (Gi = new Map()),
+ (TE = []),
+ (Tx = []),
+ Tx.push(Che),
+ (qu = new Map()),
+ (kO = 0),
+ (SO = 'TB'),
+ vr();
+ }, 'clear')),
+ (f$e = o(function (t) {
+ return Gi.get(t);
+ }, 'getClass')),
+ (d$e = o(function () {
+ return Gi;
+ }, 'getClasses')),
+ (p$e = o(function () {
+ return EO;
+ }, 'getRelations')),
+ (m$e = o(function () {
+ return TE;
+ }, 'getNotes')),
+ (g$e = o(function (t) {
+ V.debug('Adding relation: ' + JSON.stringify(t)),
+ kE(t.id1),
+ kE(t.id2),
+ (t.id1 = R0(t.id1).className),
+ (t.id2 = R0(t.id2).className),
+ (t.relationTitle1 = We.sanitizeText(t.relationTitle1.trim(), de())),
+ (t.relationTitle2 = We.sanitizeText(t.relationTitle2.trim(), de())),
+ EO.push(t);
+ }, 'addRelation')),
+ (y$e = o(function (t, e) {
+ let r = R0(t).className;
+ Gi.get(r).annotations.push(e);
+ }, 'addAnnotation')),
+ (Ehe = o(function (t, e) {
+ kE(t);
+ let r = R0(t).className,
+ n = Gi.get(r);
+ if (typeof e == 'string') {
+ let i = e.trim();
+ i.startsWith('<<') && i.endsWith('>>')
+ ? n.annotations.push(D0(i.substring(2, i.length - 2)))
+ : i.indexOf(')') > 0
+ ? n.methods.push(new wx(i, 'method'))
+ : i && n.members.push(new wx(i, 'attribute'));
+ }
+ }, 'addMember')),
+ (v$e = o(function (t, e) {
+ Array.isArray(e) && (e.reverse(), e.forEach((r) => Ehe(t, r)));
+ }, 'addMembers')),
+ (x$e = o(function (t, e) {
+ let r = { id: `note${TE.length}`, class: e, text: t };
+ TE.push(r);
+ }, 'addNote')),
+ (b$e = o(function (t) {
+ return t.startsWith(':') && (t = t.substring(1)), D0(t.trim());
+ }, 'cleanupLabel')),
+ (CO = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ let n = r;
+ /\d/.exec(r[0]) && (n = EE + n);
+ let i = Gi.get(n);
+ i && i.cssClasses.push(e);
+ });
+ }, 'setCssClass')),
+ (w$e = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ e !== void 0 && (Gi.get(r).tooltip = D0(e));
+ });
+ }, 'setTooltip')),
+ (T$e = o(function (t, e) {
+ return e && qu.has(e) ? qu.get(e).classes.get(t).tooltip : Gi.get(t).tooltip;
+ }, 'getTooltip')),
+ (k$e = o(function (t, e, r) {
+ let n = de();
+ t.split(',').forEach(function (i) {
+ let a = i;
+ /\d/.exec(i[0]) && (a = EE + a);
+ let s = Gi.get(a);
+ s &&
+ ((s.link = Lt.formatUrl(e, n)),
+ n.securityLevel === 'sandbox'
+ ? (s.linkTarget = '_top')
+ : typeof r == 'string'
+ ? (s.linkTarget = D0(r))
+ : (s.linkTarget = '_blank'));
+ }),
+ CO(t, 'clickable');
+ }, 'setLink')),
+ (E$e = o(function (t, e, r) {
+ t.split(',').forEach(function (n) {
+ C$e(n, e, r), (Gi.get(n).haveCallback = !0);
+ }),
+ CO(t, 'clickable');
+ }, 'setClickEvent')),
+ (C$e = o(function (t, e, r) {
+ let n = We.sanitizeText(t, de());
+ if (de().securityLevel !== 'loose' || e === void 0) return;
+ let a = n;
+ if (Gi.has(a)) {
+ let s = khe(a),
+ l = [];
+ if (typeof r == 'string') {
+ l = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
+ for (let u = 0; u < l.length; u++) {
+ let h = l[u].trim();
+ h.startsWith('"') && h.endsWith('"') && (h = h.substr(1, h.length - 2)), (l[u] = h);
+ }
+ }
+ l.length === 0 && l.push(s),
+ Tx.push(function () {
+ let u = document.querySelector(`[id="${s}"]`);
+ u !== null &&
+ u.addEventListener(
+ 'click',
+ function () {
+ Lt.runFunc(e, ...l);
+ },
+ !1
+ );
+ });
+ }
+ }, 'setClickFunc')),
+ (S$e = o(function (t) {
+ Tx.forEach(function (e) {
+ e(t);
+ });
+ }, 'bindFunctions')),
+ (A$e = { LINE: 0, DOTTED_LINE: 1 }),
+ (_$e = {
+ AGGREGATION: 0,
+ EXTENSION: 1,
+ COMPOSITION: 2,
+ DEPENDENCY: 3,
+ LOLLIPOP: 4
+ }),
+ (Che = o(function (t) {
+ let e = $e('.mermaidTooltip');
+ (e._groups || e)[0][0] === null &&
+ (e = $e('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0)),
+ $e(t)
+ .select('svg')
+ .selectAll('g.node')
+ .on('mouseover', function () {
+ let i = $e(this);
+ if (i.attr('title') === null) return;
+ let s = this.getBoundingClientRect();
+ e.transition().duration(200).style('opacity', '.9'),
+ e
+ .text(i.attr('title'))
+ .style('left', window.scrollX + s.left + (s.right - s.left) / 2 + 'px')
+ .style('top', window.scrollY + s.top - 14 + document.body.scrollTop + 'px'),
+ e.html(e.html().replace(/<br\/>/g, '
')),
+ i.classed('hover', !0);
+ })
+ .on('mouseout', function () {
+ e.transition().duration(500).style('opacity', 0), $e(this).classed('hover', !1);
+ });
+ }, 'setupToolTips'));
+ Tx.push(Che);
+ (SO = 'TB'),
+ (L$e = o(() => SO, 'getDirection')),
+ (D$e = o((t) => {
+ SO = t;
+ }, 'setDirection')),
+ (R$e = o(function (t) {
+ qu.has(t) ||
+ (qu.set(t, {
+ id: t,
+ classes: new Map(),
+ children: {},
+ domId: EE + t + '-' + kO
+ }),
+ kO++);
+ }, 'addNamespace')),
+ (N$e = o(function (t) {
+ return qu.get(t);
+ }, 'getNamespace')),
+ (M$e = o(function () {
+ return qu;
+ }, 'getNamespaces')),
+ (I$e = o(function (t, e) {
+ if (qu.has(t))
+ for (let r of e) {
+ let { className: n } = R0(r);
+ (Gi.get(n).parent = t), qu.get(t).classes.set(n, Gi.get(n));
+ }
+ }, 'addClassesToNamespace')),
+ (O$e = o(function (t, e) {
+ let r = Gi.get(t);
+ if (!(!e || !r))
+ for (let n of e) n.includes(',') ? r.styles.push(...n.split(',')) : r.styles.push(n);
+ }, 'setCssStyle')),
+ (Bg = {
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ getConfig: o(() => de().class, 'getConfig'),
+ addClass: kE,
+ bindFunctions: S$e,
+ clear: h$e,
+ getClass: f$e,
+ getClasses: d$e,
+ getNotes: m$e,
+ addAnnotation: y$e,
+ addNote: x$e,
+ getRelations: p$e,
+ addRelation: g$e,
+ getDirection: L$e,
+ setDirection: D$e,
+ addMember: Ehe,
+ addMembers: v$e,
+ cleanupLabel: b$e,
+ lineType: A$e,
+ relationType: _$e,
+ setClickEvent: E$e,
+ setCssClass: CO,
+ setLink: k$e,
+ getTooltip: T$e,
+ setTooltip: w$e,
+ lookUpDomId: khe,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ setClassLabel: u$e,
+ addNamespace: R$e,
+ addClassesToNamespace: I$e,
+ getNamespace: N$e,
+ getNamespaces: M$e,
+ setCssStyle: O$e
+ });
+ });
+ var P$e,
+ CE,
+ _O = R(() => {
+ 'use strict';
+ (P$e = o(
+ (t) => `g.classGroup text {
+ fill: ${t.nodeBorder || t.classText};
+ stroke: none;
+ font-family: ${t.fontFamily};
+ font-size: 10px;
+
+ .title {
+ font-weight: bolder;
+ }
+
+}
+
+.nodeLabel, .edgeLabel {
+ color: ${t.classText};
+}
+.edgeLabel .label rect {
+ fill: ${t.mainBkg};
+}
+.label text {
+ fill: ${t.classText};
+}
+.edgeLabel .label span {
+ background: ${t.mainBkg};
+}
+
+.classTitle {
+ font-weight: bolder;
+}
+.node rect,
+ .node circle,
+ .node ellipse,
+ .node polygon,
+ .node path {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+ stroke-width: 1px;
+ }
+
+
+.divider {
+ stroke: ${t.nodeBorder};
+ stroke-width: 1;
+}
+
+g.clickable {
+ cursor: pointer;
+}
+
+g.classGroup rect {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+}
+
+g.classGroup line {
+ stroke: ${t.nodeBorder};
+ stroke-width: 1;
+}
+
+.classLabel .box {
+ stroke: none;
+ stroke-width: 0;
+ fill: ${t.mainBkg};
+ opacity: 0.5;
+}
+
+.classLabel .label {
+ fill: ${t.nodeBorder};
+ font-size: 10px;
+}
+
+.relation {
+ stroke: ${t.lineColor};
+ stroke-width: 1;
+ fill: none;
+}
+
+.dashed-line{
+ stroke-dasharray: 3;
+}
+
+.dotted-line{
+ stroke-dasharray: 1 2;
+}
+
+#compositionStart, .composition {
+ fill: ${t.lineColor} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#compositionEnd, .composition {
+ fill: ${t.lineColor} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#dependencyStart, .dependency {
+ fill: ${t.lineColor} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#dependencyStart, .dependency {
+ fill: ${t.lineColor} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#extensionStart, .extension {
+ fill: transparent !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#extensionEnd, .extension {
+ fill: transparent !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#aggregationStart, .aggregation {
+ fill: transparent !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#aggregationEnd, .aggregation {
+ fill: transparent !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#lollipopStart, .lollipop {
+ fill: ${t.mainBkg} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+#lollipopEnd, .lollipop {
+ fill: ${t.mainBkg} !important;
+ stroke: ${t.lineColor} !important;
+ stroke-width: 1;
+}
+
+.edgeTerminals {
+ font-size: 11px;
+ line-height: initial;
+}
+
+.classTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+}
+`,
+ 'getStyles'
+ )),
+ (CE = P$e);
+ });
+ var She,
+ B$e,
+ F$e,
+ _he,
+ z$e,
+ Ahe,
+ SE,
+ Lhe = R(() => {
+ 'use strict';
+ Zt();
+ xr();
+ ut();
+ rr();
+ (She = 0),
+ (B$e = o(function (t, e, r, n, i) {
+ let a = o(function (b) {
+ switch (b) {
+ case i.db.relationType.AGGREGATION:
+ return 'aggregation';
+ case i.db.relationType.EXTENSION:
+ return 'extension';
+ case i.db.relationType.COMPOSITION:
+ return 'composition';
+ case i.db.relationType.DEPENDENCY:
+ return 'dependency';
+ case i.db.relationType.LOLLIPOP:
+ return 'lollipop';
+ }
+ }, 'getRelationType');
+ e.points = e.points.filter((b) => !Number.isNaN(b.y));
+ let s = e.points,
+ l = ha()
+ .x(function (b) {
+ return b.x;
+ })
+ .y(function (b) {
+ return b.y;
+ })
+ .curve(vs),
+ u = t
+ .append('path')
+ .attr('d', l(s))
+ .attr('id', 'edge' + She)
+ .attr('class', 'relation'),
+ h = '';
+ n.arrowMarkerAbsolute &&
+ ((h =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (h = h.replace(/\(/g, '\\(')),
+ (h = h.replace(/\)/g, '\\)'))),
+ r.relation.lineType == 1 && u.attr('class', 'relation dashed-line'),
+ r.relation.lineType == 10 && u.attr('class', 'relation dotted-line'),
+ r.relation.type1 !== 'none' &&
+ u.attr('marker-start', 'url(' + h + '#' + a(r.relation.type1) + 'Start)'),
+ r.relation.type2 !== 'none' &&
+ u.attr('marker-end', 'url(' + h + '#' + a(r.relation.type2) + 'End)');
+ let f,
+ d,
+ p = e.points.length,
+ m = Lt.calcLabelPosition(e.points);
+ (f = m.x), (d = m.y);
+ let g, y, v, x;
+ if (p % 2 !== 0 && p > 1) {
+ let b = Lt.calcCardinalityPosition(r.relation.type1 !== 'none', e.points, e.points[0]),
+ w = Lt.calcCardinalityPosition(r.relation.type2 !== 'none', e.points, e.points[p - 1]);
+ V.debug('cardinality_1_point ' + JSON.stringify(b)),
+ V.debug('cardinality_2_point ' + JSON.stringify(w)),
+ (g = b.x),
+ (y = b.y),
+ (v = w.x),
+ (x = w.y);
+ }
+ if (r.title !== void 0) {
+ let b = t.append('g').attr('class', 'classLabel'),
+ w = b
+ .append('text')
+ .attr('class', 'label')
+ .attr('x', f)
+ .attr('y', d)
+ .attr('fill', 'red')
+ .attr('text-anchor', 'middle')
+ .text(r.title);
+ window.label = w;
+ let S = w.node().getBBox();
+ b.insert('rect', ':first-child')
+ .attr('class', 'box')
+ .attr('x', S.x - n.padding / 2)
+ .attr('y', S.y - n.padding / 2)
+ .attr('width', S.width + n.padding)
+ .attr('height', S.height + n.padding);
+ }
+ V.info('Rendering relation ' + JSON.stringify(r)),
+ r.relationTitle1 !== void 0 &&
+ r.relationTitle1 !== 'none' &&
+ t
+ .append('g')
+ .attr('class', 'cardinality')
+ .append('text')
+ .attr('class', 'type1')
+ .attr('x', g)
+ .attr('y', y)
+ .attr('fill', 'black')
+ .attr('font-size', '6')
+ .text(r.relationTitle1),
+ r.relationTitle2 !== void 0 &&
+ r.relationTitle2 !== 'none' &&
+ t
+ .append('g')
+ .attr('class', 'cardinality')
+ .append('text')
+ .attr('class', 'type2')
+ .attr('x', v)
+ .attr('y', x)
+ .attr('fill', 'black')
+ .attr('font-size', '6')
+ .text(r.relationTitle2),
+ She++;
+ }, 'drawEdge')),
+ (F$e = o(function (t, e, r, n) {
+ V.debug('Rendering class ', e, r);
+ let i = e.id,
+ a = { id: i, label: e.id, width: 0, height: 0 },
+ s = t.append('g').attr('id', n.db.lookUpDomId(i)).attr('class', 'classGroup'),
+ l;
+ e.link
+ ? (l = s
+ .append('svg:a')
+ .attr('xlink:href', e.link)
+ .attr('target', e.linkTarget)
+ .append('text')
+ .attr('y', r.textHeight + r.padding)
+ .attr('x', 0))
+ : (l = s
+ .append('text')
+ .attr('y', r.textHeight + r.padding)
+ .attr('x', 0));
+ let u = !0;
+ e.annotations.forEach(function (w) {
+ let S = l.append('tspan').text('\xAB' + w + '\xBB');
+ u || S.attr('dy', r.textHeight), (u = !1);
+ });
+ let h = _he(e),
+ f = l.append('tspan').text(h).attr('class', 'title');
+ u || f.attr('dy', r.textHeight);
+ let d = l.node().getBBox().height,
+ p,
+ m,
+ g;
+ if (e.members.length > 0) {
+ p = s
+ .append('line')
+ .attr('x1', 0)
+ .attr('y1', r.padding + d + r.dividerMargin / 2)
+ .attr('y2', r.padding + d + r.dividerMargin / 2);
+ let w = s
+ .append('text')
+ .attr('x', r.padding)
+ .attr('y', d + r.dividerMargin + r.textHeight)
+ .attr('fill', 'white')
+ .attr('class', 'classText');
+ (u = !0),
+ e.members.forEach(function (S) {
+ Ahe(w, S, u, r), (u = !1);
+ }),
+ (m = w.node().getBBox());
+ }
+ if (e.methods.length > 0) {
+ g = s
+ .append('line')
+ .attr('x1', 0)
+ .attr('y1', r.padding + d + r.dividerMargin + m.height)
+ .attr('y2', r.padding + d + r.dividerMargin + m.height);
+ let w = s
+ .append('text')
+ .attr('x', r.padding)
+ .attr('y', d + 2 * r.dividerMargin + m.height + r.textHeight)
+ .attr('fill', 'white')
+ .attr('class', 'classText');
+ (u = !0),
+ e.methods.forEach(function (S) {
+ Ahe(w, S, u, r), (u = !1);
+ });
+ }
+ let y = s.node().getBBox();
+ var v = ' ';
+ e.cssClasses.length > 0 && (v = v + e.cssClasses.join(' '));
+ let b = s
+ .insert('rect', ':first-child')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', y.width + 2 * r.padding)
+ .attr('height', y.height + r.padding + 0.5 * r.dividerMargin)
+ .attr('class', v)
+ .node()
+ .getBBox().width;
+ return (
+ l.node().childNodes.forEach(function (w) {
+ w.setAttribute('x', (b - w.getBBox().width) / 2);
+ }),
+ e.tooltip && l.insert('title').text(e.tooltip),
+ p && p.attr('x2', b),
+ g && g.attr('x2', b),
+ (a.width = b),
+ (a.height = y.height + r.padding + 0.5 * r.dividerMargin),
+ a
+ );
+ }, 'drawClass')),
+ (_he = o(function (t) {
+ let e = t.id;
+ return t.type && (e += '<' + gh(t.type) + '>'), e;
+ }, 'getClassTitleString')),
+ (z$e = o(function (t, e, r, n) {
+ V.debug('Rendering note ', e, r);
+ let i = e.id,
+ a = { id: i, text: e.text, width: 0, height: 0 },
+ s = t.append('g').attr('id', i).attr('class', 'classGroup'),
+ l = s
+ .append('text')
+ .attr('y', r.textHeight + r.padding)
+ .attr('x', 0),
+ u = JSON.parse(`"${e.text}"`).split(`
+`);
+ u.forEach(function (p) {
+ V.debug(`Adding line: ${p}`),
+ l.append('tspan').text(p).attr('class', 'title').attr('dy', r.textHeight);
+ });
+ let h = s.node().getBBox(),
+ d = s
+ .insert('rect', ':first-child')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', h.width + 2 * r.padding)
+ .attr('height', h.height + u.length * r.textHeight + r.padding + 0.5 * r.dividerMargin)
+ .node()
+ .getBBox().width;
+ return (
+ l.node().childNodes.forEach(function (p) {
+ p.setAttribute('x', (d - p.getBBox().width) / 2);
+ }),
+ (a.width = d),
+ (a.height = h.height + u.length * r.textHeight + r.padding + 0.5 * r.dividerMargin),
+ a
+ );
+ }, 'drawNote')),
+ (Ahe = o(function (t, e, r, n) {
+ let { displayText: i, cssStyle: a } = e.getDisplayDetails(),
+ s = t.append('tspan').attr('x', n.padding).text(i);
+ a !== '' && s.attr('style', e.cssStyle), r || s.attr('dy', n.textHeight);
+ }, 'addTspan')),
+ (SE = {
+ getClassTitleString: _he,
+ drawClass: F$e,
+ drawEdge: B$e,
+ drawNote: z$e
+ });
+ });
+ var _E,
+ AE,
+ kx,
+ G$e,
+ $$e,
+ Dhe,
+ Rhe = R(() => {
+ 'use strict';
+ Zt();
+ Vd();
+ ya();
+ ut();
+ Lhe();
+ Yn();
+ _t();
+ (_E = {}),
+ (AE = 20),
+ (kx = o(function (t) {
+ let e = Object.entries(_E).find((r) => r[1].label === t);
+ if (e) return e[0];
+ }, 'getGraphId')),
+ (G$e = o(function (t) {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'extensionStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,7 L18,13 V 1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'extensionEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 V 13 L18,7 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'compositionStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'compositionEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'aggregationStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'aggregationEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'dependencyStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', 'dependencyEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');
+ }, 'insertMarkers')),
+ ($$e = o(function (t, e, r, n) {
+ let i = de().class;
+ (_E = {}), V.info('Rendering diagram ' + t);
+ let a = de().securityLevel,
+ s;
+ a === 'sandbox' && (s = $e('#i' + e));
+ let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'),
+ u = l.select(`[id='${e}']`);
+ G$e(u);
+ let h = new lr({ multigraph: !0 });
+ h.setGraph({ isMultiGraph: !0 }),
+ h.setDefaultEdgeLabel(function () {
+ return {};
+ });
+ let f = n.db.getClasses(),
+ d = [...f.keys()];
+ for (let b of d) {
+ let w = f.get(b),
+ S = SE.drawClass(u, w, i, n);
+ (_E[S.id] = S), h.setNode(S.id, S), V.info('Org height: ' + S.height);
+ }
+ n.db.getRelations().forEach(function (b) {
+ V.info('tjoho' + kx(b.id1) + kx(b.id2) + JSON.stringify(b)),
+ h.setEdge(kx(b.id1), kx(b.id2), { relation: b }, b.title || 'DEFAULT');
+ }),
+ n.db.getNotes().forEach(function (b) {
+ V.debug(`Adding note: ${JSON.stringify(b)}`);
+ let w = SE.drawNote(u, b, i, n);
+ (_E[w.id] = w),
+ h.setNode(w.id, w),
+ b.class &&
+ f.has(b.class) &&
+ h.setEdge(
+ b.id,
+ kx(b.class),
+ {
+ relation: {
+ id1: b.id,
+ id2: b.class,
+ relation: {
+ type1: 'none',
+ type2: 'none',
+ lineType: 10
+ }
+ }
+ },
+ 'DEFAULT'
+ );
+ }),
+ lo(h),
+ h.nodes().forEach(function (b) {
+ b !== void 0 &&
+ h.node(b) !== void 0 &&
+ (V.debug('Node ' + b + ': ' + JSON.stringify(h.node(b))),
+ l
+ .select('#' + (n.db.lookUpDomId(b) || b))
+ .attr(
+ 'transform',
+ 'translate(' +
+ (h.node(b).x - h.node(b).width / 2) +
+ ',' +
+ (h.node(b).y - h.node(b).height / 2) +
+ ' )'
+ ));
+ }),
+ h.edges().forEach(function (b) {
+ b !== void 0 &&
+ h.edge(b) !== void 0 &&
+ (V.debug('Edge ' + b.v + ' -> ' + b.w + ': ' + JSON.stringify(h.edge(b))),
+ SE.drawEdge(u, h.edge(b), h.edge(b).relation, i, n));
+ });
+ let g = u.node().getBBox(),
+ y = g.width + AE * 2,
+ v = g.height + AE * 2;
+ Sr(u, v, y, i.useMaxWidth);
+ let x = `${g.x - AE} ${g.y - AE} ${y} ${v}`;
+ V.debug(`viewBox ${x}`), u.attr('viewBox', x);
+ }, 'draw')),
+ (Dhe = { draw: $$e });
+ });
+ var Nhe = {};
+ hr(Nhe, { diagram: () => V$e });
+ var V$e,
+ Mhe = R(() => {
+ 'use strict';
+ TO();
+ AO();
+ _O();
+ Rhe();
+ V$e = {
+ parser: wE,
+ db: Bg,
+ renderer: Dhe,
+ styles: CE,
+ init: o((t) => {
+ t.class || (t.class = {}), (t.class.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Bg.clear();
+ }, 'init')
+ };
+ });
+ var W$e,
+ q$e,
+ X$e,
+ j$e,
+ K$e,
+ Q$e,
+ Z$e,
+ J$e,
+ eVe,
+ tVe,
+ rVe,
+ LE,
+ LO = R(() => {
+ 'use strict';
+ ut();
+ (W$e = o((t, e, r, n) => {
+ e.forEach((i) => {
+ rVe[i](t, r, n);
+ });
+ }, 'insertMarkers')),
+ (q$e = o((t, e, r) => {
+ V.trace('Making markers for ', r),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-extensionStart')
+ .attr('class', 'marker extension ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,7 L18,13 V 1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-extensionEnd')
+ .attr('class', 'marker extension ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 V 13 L18,7 Z');
+ }, 'extension')),
+ (X$e = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-compositionStart')
+ .attr('class', 'marker composition ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-compositionEnd')
+ .attr('class', 'marker composition ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');
+ }, 'composition')),
+ (j$e = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-aggregationStart')
+ .attr('class', 'marker aggregation ' + e)
+ .attr('refX', 18)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-aggregationEnd')
+ .attr('class', 'marker aggregation ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');
+ }, 'aggregation')),
+ (K$e = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-dependencyStart')
+ .attr('class', 'marker dependency ' + e)
+ .attr('refX', 6)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-dependencyEnd')
+ .attr('class', 'marker dependency ' + e)
+ .attr('refX', 13)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');
+ }, 'dependency')),
+ (Q$e = o((t, e, r) => {
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-lollipopStart')
+ .attr('class', 'marker lollipop ' + e)
+ .attr('refX', 13)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('stroke', 'black')
+ .attr('fill', 'transparent')
+ .attr('cx', 7)
+ .attr('cy', 7)
+ .attr('r', 6),
+ t
+ .append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-lollipopEnd')
+ .attr('class', 'marker lollipop ' + e)
+ .attr('refX', 1)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('stroke', 'black')
+ .attr('fill', 'transparent')
+ .attr('cx', 7)
+ .attr('cy', 7)
+ .attr('r', 6);
+ }, 'lollipop')),
+ (Z$e = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-pointEnd')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 6)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 0 L 10 5 L 0 10 z')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-pointStart')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 4.5)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 5 L 10 10 L 10 0 z')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ }, 'point')),
+ (J$e = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-circleEnd')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 11)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', '5')
+ .attr('cy', '5')
+ .attr('r', '5')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-circleStart')
+ .attr('class', 'marker ' + e)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', -1)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('circle')
+ .attr('cx', '5')
+ .attr('cy', '5')
+ .attr('r', '5')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ }, 'circle')),
+ (eVe = o((t, e, r) => {
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-crossEnd')
+ .attr('class', 'marker cross ' + e)
+ .attr('viewBox', '0 0 11 11')
+ .attr('refX', 12)
+ .attr('refY', 5.2)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 2)
+ .style('stroke-dasharray', '1,0'),
+ t
+ .append('marker')
+ .attr('id', r + '_' + e + '-crossStart')
+ .attr('class', 'marker cross ' + e)
+ .attr('viewBox', '0 0 11 11')
+ .attr('refX', -1)
+ .attr('refY', 5.2)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 11)
+ .attr('markerHeight', 11)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')
+ .attr('class', 'arrowMarkerPath')
+ .style('stroke-width', 2)
+ .style('stroke-dasharray', '1,0');
+ }, 'cross')),
+ (tVe = o((t, e, r) => {
+ t.append('defs')
+ .append('marker')
+ .attr('id', r + '_' + e + '-barbEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 14)
+ .attr('markerUnits', 'strokeWidth')
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z');
+ }, 'barb')),
+ (rVe = {
+ extension: q$e,
+ composition: X$e,
+ aggregation: j$e,
+ dependency: K$e,
+ lollipop: Q$e,
+ point: Z$e,
+ circle: J$e,
+ cross: eVe,
+ barb: tVe
+ }),
+ (LE = W$e);
+ });
+ var tr,
+ zl,
+ Phe,
+ Bhe,
+ RE,
+ nVe,
+ Fhe,
+ zhe,
+ Fg,
+ DE,
+ Ghe,
+ $he,
+ Vhe,
+ Uhe,
+ Hhe = R(() => {
+ 'use strict';
+ ut();
+ Pv();
+ ya();
+ (tr = {}),
+ (zl = {}),
+ (Phe = {}),
+ (Bhe = o(() => {
+ (zl = {}), (Phe = {}), (tr = {});
+ }, 'clear')),
+ (RE = o(
+ (t, e) => (V.trace('In isDescendant', e, ' ', t, ' = ', zl[e].includes(t)), !!zl[e].includes(t)),
+ 'isDescendant'
+ )),
+ (nVe = o(
+ (t, e) => (
+ V.info('Descendants of ', e, ' is ', zl[e]),
+ V.info('Edge is ', t),
+ t.v === e || t.w === e
+ ? !1
+ : zl[e]
+ ? zl[e].includes(t.v) || RE(t.v, e) || RE(t.w, e) || zl[e].includes(t.w)
+ : (V.debug('Tilt, ', e, ',not in descendants'), !1)
+ ),
+ 'edgeInCluster'
+ )),
+ (Fhe = o((t, e, r, n) => {
+ V.warn('Copying children of ', t, 'root', n, 'data', e.node(t), n);
+ let i = e.children(t) || [];
+ t !== n && i.push(t),
+ V.warn('Copying (nodes) clusterId', t, 'nodes', i),
+ i.forEach((a) => {
+ if (e.children(a).length > 0) Fhe(a, e, r, n);
+ else {
+ let s = e.node(a);
+ V.info('cp ', a, ' to ', n, ' with parent ', t),
+ r.setNode(a, s),
+ n !== e.parent(a) &&
+ (V.warn('Setting parent', a, e.parent(a)), r.setParent(a, e.parent(a))),
+ t !== n && a !== t
+ ? (V.debug('Setting parent', a, t), r.setParent(a, t))
+ : (V.info('In copy ', t, 'root', n, 'data', e.node(t), n),
+ V.debug(
+ 'Not Setting parent for node=',
+ a,
+ 'cluster!==rootId',
+ t !== n,
+ 'node!==clusterId',
+ a !== t
+ ));
+ let l = e.edges(a);
+ V.debug('Copying Edges', l),
+ l.forEach((u) => {
+ V.info('Edge', u);
+ let h = e.edge(u.v, u.w, u.name);
+ V.info('Edge data', h, n);
+ try {
+ nVe(u, n)
+ ? (V.info('Copying as ', u.v, u.w, h, u.name),
+ r.setEdge(u.v, u.w, h, u.name),
+ V.info('newGraph edges ', r.edges(), r.edge(r.edges()[0])))
+ : V.info(
+ 'Skipping copy of edge ',
+ u.v,
+ '-->',
+ u.w,
+ ' rootId: ',
+ n,
+ ' clusterId:',
+ t
+ );
+ } catch (f) {
+ V.error(f);
+ }
+ });
+ }
+ V.debug('Removing node', a), e.removeNode(a);
+ });
+ }, 'copy')),
+ (zhe = o((t, e) => {
+ let r = e.children(t),
+ n = [...r];
+ for (let i of r) (Phe[i] = t), (n = [...n, ...zhe(i, e)]);
+ return n;
+ }, 'extractDescendants')),
+ (Fg = o((t, e) => {
+ V.trace('Searching', t);
+ let r = e.children(t);
+ if ((V.trace('Searching children of id ', t, r), r.length < 1))
+ return V.trace('This is a valid node', t), t;
+ for (let n of r) {
+ let i = Fg(n, e);
+ if (i) return V.trace('Found replacement for', t, ' => ', i), i;
+ }
+ }, 'findNonClusterChild')),
+ (DE = o((t) => (!tr[t] || !tr[t].externalConnections ? t : tr[t] ? tr[t].id : t), 'getAnchorId')),
+ (Ghe = o((t, e) => {
+ if (!t || e > 10) {
+ V.debug('Opting out, no graph ');
+ return;
+ } else V.debug('Opting in, graph ');
+ t.nodes().forEach(function (r) {
+ t.children(r).length > 0 &&
+ (V.warn('Cluster identified', r, ' Replacement id in edges: ', Fg(r, t)),
+ (zl[r] = zhe(r, t)),
+ (tr[r] = { id: Fg(r, t), clusterData: t.node(r) }));
+ }),
+ t.nodes().forEach(function (r) {
+ let n = t.children(r),
+ i = t.edges();
+ n.length > 0
+ ? (V.debug('Cluster identified', r, zl),
+ i.forEach((a) => {
+ if (a.v !== r && a.w !== r) {
+ let s = RE(a.v, r),
+ l = RE(a.w, r);
+ s ^ l &&
+ (V.warn('Edge: ', a, ' leaves cluster ', r),
+ V.warn('Descendants of XXX ', r, ': ', zl[r]),
+ (tr[r].externalConnections = !0));
+ }
+ }))
+ : V.debug('Not a cluster ', r, zl);
+ });
+ for (let r of Object.keys(tr)) {
+ let n = tr[r].id,
+ i = t.parent(n);
+ i !== r && tr[i] && !tr[i].externalConnections && (tr[r].id = i);
+ }
+ t.edges().forEach(function (r) {
+ let n = t.edge(r);
+ V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(r)),
+ V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(t.edge(r)));
+ let i = r.v,
+ a = r.w;
+ if (
+ (V.warn('Fix XXX', tr, 'ids:', r.v, r.w, 'Translating: ', tr[r.v], ' --- ', tr[r.w]),
+ tr[r.v] && tr[r.w] && tr[r.v] === tr[r.w])
+ ) {
+ V.warn('Fixing and trixing link to self - removing XXX', r.v, r.w, r.name),
+ V.warn('Fixing and trixing - removing XXX', r.v, r.w, r.name),
+ (i = DE(r.v)),
+ (a = DE(r.w)),
+ t.removeEdge(r.v, r.w, r.name);
+ let s = r.w + '---' + r.v;
+ t.setNode(s, {
+ domId: s,
+ id: s,
+ labelStyle: '',
+ labelText: n.label,
+ padding: 0,
+ shape: 'labelRect',
+ style: ''
+ });
+ let l = structuredClone(n),
+ u = structuredClone(n);
+ (l.label = ''),
+ (l.arrowTypeEnd = 'none'),
+ (u.label = ''),
+ (l.fromCluster = r.v),
+ (u.toCluster = r.v),
+ t.setEdge(i, s, l, r.name + '-cyclic-special'),
+ t.setEdge(s, a, u, r.name + '-cyclic-special');
+ } else if (tr[r.v] || tr[r.w]) {
+ if (
+ (V.warn('Fixing and trixing - removing XXX', r.v, r.w, r.name),
+ (i = DE(r.v)),
+ (a = DE(r.w)),
+ t.removeEdge(r.v, r.w, r.name),
+ i !== r.v)
+ ) {
+ let s = t.parent(i);
+ (tr[s].externalConnections = !0), (n.fromCluster = r.v);
+ }
+ if (a !== r.w) {
+ let s = t.parent(a);
+ (tr[s].externalConnections = !0), (n.toCluster = r.w);
+ }
+ V.warn('Fix Replacing with XXX', i, a, r.name), t.setEdge(i, a, n, r.name);
+ }
+ }),
+ V.warn('Adjusted Graph', zn(t)),
+ $he(t, 0),
+ V.trace(tr);
+ }, 'adjustClustersAndEdges')),
+ ($he = o((t, e) => {
+ if ((V.warn('extractor - ', e, zn(t), t.children('D')), e > 10)) {
+ V.error('Bailing out');
+ return;
+ }
+ let r = t.nodes(),
+ n = !1;
+ for (let i of r) {
+ let a = t.children(i);
+ n = n || a.length > 0;
+ }
+ if (!n) {
+ V.debug('Done, no node has children', t.nodes());
+ return;
+ }
+ V.debug('Nodes = ', r, e);
+ for (let i of r)
+ if (
+ (V.debug(
+ 'Extracting node',
+ i,
+ tr,
+ tr[i] && !tr[i].externalConnections,
+ !t.parent(i),
+ t.node(i),
+ t.children('D'),
+ ' Depth ',
+ e
+ ),
+ !tr[i])
+ )
+ V.debug('Not a cluster', i, e);
+ else if (!tr[i].externalConnections && t.children(i) && t.children(i).length > 0) {
+ V.warn('Cluster without external connections, without a parent and with children', i, e);
+ let s = t.graph().rankdir === 'TB' ? 'LR' : 'TB';
+ tr[i]?.clusterData?.dir &&
+ ((s = tr[i].clusterData.dir), V.warn('Fixing dir', tr[i].clusterData.dir, s));
+ let l = new lr({ multigraph: !0, compound: !0 })
+ .setGraph({
+ rankdir: s,
+ nodesep: 50,
+ ranksep: 50,
+ marginx: 8,
+ marginy: 8
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ V.warn('Old graph before copy', zn(t)),
+ Fhe(i, t, l, i),
+ t.setNode(i, {
+ clusterNode: !0,
+ id: i,
+ clusterData: tr[i].clusterData,
+ labelText: tr[i].labelText,
+ graph: l
+ }),
+ V.warn('New graph after copy node: (', i, ')', zn(l)),
+ V.debug('Old graph after copy', zn(t));
+ } else
+ V.warn(
+ 'Cluster ** ',
+ i,
+ ' **not meeting the criteria !externalConnections:',
+ !tr[i].externalConnections,
+ ' no parent: ',
+ !t.parent(i),
+ ' children ',
+ t.children(i) && t.children(i).length > 0,
+ t.children('D'),
+ e
+ ),
+ V.debug(tr);
+ (r = t.nodes()), V.warn('New list of nodes', r);
+ for (let i of r) {
+ let a = t.node(i);
+ V.warn(' Now next level', i, a), a.clusterNode && $he(a.graph, e + 1);
+ }
+ }, 'extractor')),
+ (Vhe = o((t, e) => {
+ if (e.length === 0) return [];
+ let r = Object.assign(e);
+ return (
+ e.forEach((n) => {
+ let i = t.children(n),
+ a = Vhe(t, i);
+ r = [...r, ...a];
+ }),
+ r
+ );
+ }, 'sorter')),
+ (Uhe = o((t) => Vhe(t, t.children()), 'sortNodesByHierarchy'));
+ });
+ var iVe,
+ aVe,
+ sVe,
+ oVe,
+ lVe,
+ Yhe,
+ Whe,
+ qhe,
+ Xhe = R(() => {
+ 'use strict';
+ S9();
+ ut();
+ bv();
+ Al();
+ Zt();
+ _t();
+ rr();
+ _d();
+ (iVe = o((t, e) => {
+ V.info('Creating subgraph rect for ', e.id, e);
+ let r = de(),
+ n = t
+ .insert('g')
+ .attr('class', 'cluster' + (e.class ? ' ' + e.class : ''))
+ .attr('id', e.id),
+ i = n.insert('rect', ':first-child'),
+ a = yr(r.flowchart.htmlLabels),
+ s = n.insert('g').attr('class', 'cluster-label'),
+ l =
+ e.labelType === 'markdown'
+ ? ta(s, e.labelText, { style: e.labelStyle, useHtmlLabels: a }, r)
+ : s.node().appendChild(ra(e.labelText, e.labelStyle, void 0, !0)),
+ u = l.getBBox();
+ if (yr(r.flowchart.htmlLabels)) {
+ let g = l.children[0],
+ y = $e(l);
+ (u = g.getBoundingClientRect()), y.attr('width', u.width), y.attr('height', u.height);
+ }
+ let h = 0 * e.padding,
+ f = h / 2,
+ d = e.width <= u.width + h ? u.width + h : e.width;
+ e.width <= u.width + h ? (e.diff = (u.width - e.width) / 2 - e.padding / 2) : (e.diff = -e.padding / 2),
+ V.trace('Data ', e, JSON.stringify(e)),
+ i
+ .attr('style', e.style)
+ .attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', e.x - d / 2)
+ .attr('y', e.y - e.height / 2 - f)
+ .attr('width', d)
+ .attr('height', e.height + h);
+ let { subGraphTitleTopMargin: p } = io(r);
+ a
+ ? s.attr('transform', `translate(${e.x - u.width / 2}, ${e.y - e.height / 2 + p})`)
+ : s.attr('transform', `translate(${e.x}, ${e.y - e.height / 2 + p})`);
+ let m = i.node().getBBox();
+ return (
+ (e.width = m.width),
+ (e.height = m.height),
+ (e.intersect = function (g) {
+ return Ad(e, g);
+ }),
+ n
+ );
+ }, 'rect')),
+ (aVe = o((t, e) => {
+ let r = t.insert('g').attr('class', 'note-cluster').attr('id', e.id),
+ n = r.insert('rect', ':first-child'),
+ i = 0 * e.padding,
+ a = i / 2;
+ n.attr('rx', e.rx)
+ .attr('ry', e.ry)
+ .attr('x', e.x - e.width / 2 - a)
+ .attr('y', e.y - e.height / 2 - a)
+ .attr('width', e.width + i)
+ .attr('height', e.height + i)
+ .attr('fill', 'none');
+ let s = n.node().getBBox();
+ return (
+ (e.width = s.width),
+ (e.height = s.height),
+ (e.intersect = function (l) {
+ return Ad(e, l);
+ }),
+ r
+ );
+ }, 'noteGroup')),
+ (sVe = o((t, e) => {
+ let r = de(),
+ n = t.insert('g').attr('class', e.classes).attr('id', e.id),
+ i = n.insert('rect', ':first-child'),
+ a = n.insert('g').attr('class', 'cluster-label'),
+ s = n.append('rect'),
+ l = a.node().appendChild(ra(e.labelText, e.labelStyle, void 0, !0)),
+ u = l.getBBox();
+ if (yr(r.flowchart.htmlLabels)) {
+ let g = l.children[0],
+ y = $e(l);
+ (u = g.getBoundingClientRect()), y.attr('width', u.width), y.attr('height', u.height);
+ }
+ u = l.getBBox();
+ let h = 0 * e.padding,
+ f = h / 2,
+ d = e.width <= u.width + e.padding ? u.width + e.padding : e.width;
+ e.width <= u.width + e.padding
+ ? (e.diff = (u.width + e.padding * 0 - e.width) / 2)
+ : (e.diff = -e.padding / 2),
+ i
+ .attr('class', 'outer')
+ .attr('x', e.x - d / 2 - f)
+ .attr('y', e.y - e.height / 2 - f)
+ .attr('width', d + h)
+ .attr('height', e.height + h),
+ s
+ .attr('class', 'inner')
+ .attr('x', e.x - d / 2 - f)
+ .attr('y', e.y - e.height / 2 - f + u.height - 1)
+ .attr('width', d + h)
+ .attr('height', e.height + h - u.height - 3);
+ let { subGraphTitleTopMargin: p } = io(r);
+ a.attr(
+ 'transform',
+ `translate(${e.x - u.width / 2}, ${
+ e.y - e.height / 2 - e.padding / 3 + (yr(r.flowchart.htmlLabels) ? 5 : 3) + p
+ })`
+ );
+ let m = i.node().getBBox();
+ return (
+ (e.height = m.height),
+ (e.intersect = function (g) {
+ return Ad(e, g);
+ }),
+ n
+ );
+ }, 'roundedWithTitle')),
+ (oVe = o((t, e) => {
+ let r = t.insert('g').attr('class', e.classes).attr('id', e.id),
+ n = r.insert('rect', ':first-child'),
+ i = 0 * e.padding,
+ a = i / 2;
+ n.attr('class', 'divider')
+ .attr('x', e.x - e.width / 2 - a)
+ .attr('y', e.y - e.height / 2)
+ .attr('width', e.width + i)
+ .attr('height', e.height + i);
+ let s = n.node().getBBox();
+ return (
+ (e.width = s.width),
+ (e.height = s.height),
+ (e.diff = -e.padding / 2),
+ (e.intersect = function (l) {
+ return Ad(e, l);
+ }),
+ r
+ );
+ }, 'divider')),
+ (lVe = {
+ rect: iVe,
+ roundedWithTitle: sVe,
+ noteGroup: aVe,
+ divider: oVe
+ }),
+ (Yhe = {}),
+ (Whe = o((t, e) => {
+ V.trace('Inserting cluster');
+ let r = e.shape || 'rect';
+ Yhe[e.id] = lVe[r](t, e);
+ }, 'insertCluster')),
+ (qhe = o(() => {
+ Yhe = {};
+ }, 'clear'));
+ });
+ var Khe,
+ cVe,
+ jhe,
+ Qhe = R(() => {
+ 'use strict';
+ ut();
+ (Khe = o((t, e, r, n, i) => {
+ e.arrowTypeStart && jhe(t, 'start', e.arrowTypeStart, r, n, i),
+ e.arrowTypeEnd && jhe(t, 'end', e.arrowTypeEnd, r, n, i);
+ }, 'addEdgeMarkers')),
+ (cVe = {
+ arrow_cross: 'cross',
+ arrow_point: 'point',
+ arrow_barb: 'barb',
+ arrow_circle: 'circle',
+ aggregation: 'aggregation',
+ extension: 'extension',
+ composition: 'composition',
+ dependency: 'dependency',
+ lollipop: 'lollipop'
+ }),
+ (jhe = o((t, e, r, n, i, a) => {
+ let s = cVe[r];
+ if (!s) {
+ V.warn(`Unknown arrow type: ${r}`);
+ return;
+ }
+ let l = e === 'start' ? 'Start' : 'End';
+ t.attr(`marker-${e}`, `url(${n}#${i}_${a}-${s}${l})`);
+ }, 'addEdgeMarker'));
+ });
+ function NE(t, e) {
+ de().flowchart.htmlLabels && t && ((t.style.width = e.length * 9 + 'px'), (t.style.height = '12px'));
+ }
+ var ME,
+ Ta,
+ Jhe,
+ IE,
+ OE,
+ uVe,
+ hVe,
+ Zhe,
+ PE,
+ DO = R(() => {
+ 'use strict';
+ ut();
+ bv();
+ Al();
+ Zt();
+ _t();
+ xr();
+ rr();
+ j9();
+ _d();
+ Qhe();
+ (ME = {}),
+ (Ta = {}),
+ (Jhe = o(() => {
+ (ME = {}), (Ta = {});
+ }, 'clear')),
+ (IE = o((t, e) => {
+ let r = de(),
+ n = yr(r.flowchart.htmlLabels),
+ i =
+ e.labelType === 'markdown'
+ ? ta(
+ t,
+ e.label,
+ {
+ style: e.labelStyle,
+ useHtmlLabels: n,
+ addSvgBackground: !0
+ },
+ r
+ )
+ : ra(e.label, e.labelStyle),
+ a = t.insert('g').attr('class', 'edgeLabel'),
+ s = a.insert('g').attr('class', 'label');
+ s.node().appendChild(i);
+ let l = i.getBBox();
+ if (n) {
+ let h = i.children[0],
+ f = $e(i);
+ (l = h.getBoundingClientRect()), f.attr('width', l.width), f.attr('height', l.height);
+ }
+ s.attr('transform', 'translate(' + -l.width / 2 + ', ' + -l.height / 2 + ')'),
+ (ME[e.id] = a),
+ (e.width = l.width),
+ (e.height = l.height);
+ let u;
+ if (e.startLabelLeft) {
+ let h = ra(e.startLabelLeft, e.labelStyle),
+ f = t.insert('g').attr('class', 'edgeTerminals'),
+ d = f.insert('g').attr('class', 'inner');
+ u = d.node().appendChild(h);
+ let p = h.getBBox();
+ d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'),
+ Ta[e.id] || (Ta[e.id] = {}),
+ (Ta[e.id].startLeft = f),
+ NE(u, e.startLabelLeft);
+ }
+ if (e.startLabelRight) {
+ let h = ra(e.startLabelRight, e.labelStyle),
+ f = t.insert('g').attr('class', 'edgeTerminals'),
+ d = f.insert('g').attr('class', 'inner');
+ (u = f.node().appendChild(h)), d.node().appendChild(h);
+ let p = h.getBBox();
+ d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'),
+ Ta[e.id] || (Ta[e.id] = {}),
+ (Ta[e.id].startRight = f),
+ NE(u, e.startLabelRight);
+ }
+ if (e.endLabelLeft) {
+ let h = ra(e.endLabelLeft, e.labelStyle),
+ f = t.insert('g').attr('class', 'edgeTerminals'),
+ d = f.insert('g').attr('class', 'inner');
+ u = d.node().appendChild(h);
+ let p = h.getBBox();
+ d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'),
+ f.node().appendChild(h),
+ Ta[e.id] || (Ta[e.id] = {}),
+ (Ta[e.id].endLeft = f),
+ NE(u, e.endLabelLeft);
+ }
+ if (e.endLabelRight) {
+ let h = ra(e.endLabelRight, e.labelStyle),
+ f = t.insert('g').attr('class', 'edgeTerminals'),
+ d = f.insert('g').attr('class', 'inner');
+ u = d.node().appendChild(h);
+ let p = h.getBBox();
+ d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'),
+ f.node().appendChild(h),
+ Ta[e.id] || (Ta[e.id] = {}),
+ (Ta[e.id].endRight = f),
+ NE(u, e.endLabelRight);
+ }
+ return i;
+ }, 'insertEdgeLabel'));
+ o(NE, 'setTerminalWidth');
+ (OE = o((t, e) => {
+ V.debug('Moving label abc88 ', t.id, t.label, ME[t.id], e);
+ let r = e.updatedPath ? e.updatedPath : e.originalPath,
+ n = de(),
+ { subGraphTitleTotalMargin: i } = io(n);
+ if (t.label) {
+ let a = ME[t.id],
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcLabelPosition(r);
+ V.debug('Moving label ' + t.label + ' from (', s, ',', l, ') to (', u.x, ',', u.y, ') abc88'),
+ e.updatedPath && ((s = u.x), (l = u.y));
+ }
+ a.attr('transform', `translate(${s}, ${l + i / 2})`);
+ }
+ if (t.startLabelLeft) {
+ let a = Ta[t.id].startLeft,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_left', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.startLabelRight) {
+ let a = Ta[t.id].startRight,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_right', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.endLabelLeft) {
+ let a = Ta[t.id].endLeft,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_left', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ if (t.endLabelRight) {
+ let a = Ta[t.id].endRight,
+ s = t.x,
+ l = t.y;
+ if (r) {
+ let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_right', r);
+ (s = u.x), (l = u.y);
+ }
+ a.attr('transform', `translate(${s}, ${l})`);
+ }
+ }, 'positionEdgeLabel')),
+ (uVe = o((t, e) => {
+ let r = t.x,
+ n = t.y,
+ i = Math.abs(e.x - r),
+ a = Math.abs(e.y - n),
+ s = t.width / 2,
+ l = t.height / 2;
+ return i >= s || a >= l;
+ }, 'outsideNode')),
+ (hVe = o((t, e, r) => {
+ V.debug(`intersection calc abc89:
+ outsidePoint: ${JSON.stringify(e)}
+ insidePoint : ${JSON.stringify(r)}
+ node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);
+ let n = t.x,
+ i = t.y,
+ a = Math.abs(n - r.x),
+ s = t.width / 2,
+ l = r.x < e.x ? s - a : s + a,
+ u = t.height / 2,
+ h = Math.abs(e.y - r.y),
+ f = Math.abs(e.x - r.x);
+ if (Math.abs(i - e.y) * s > Math.abs(n - e.x) * u) {
+ let d = r.y < e.y ? e.y - u - i : i - u - e.y;
+ l = (f * d) / h;
+ let p = {
+ x: r.x < e.x ? r.x + l : r.x - f + l,
+ y: r.y < e.y ? r.y + h - d : r.y - h + d
+ };
+ return (
+ l === 0 && ((p.x = e.x), (p.y = e.y)),
+ f === 0 && (p.x = e.x),
+ h === 0 && (p.y = e.y),
+ V.debug(`abc89 topp/bott calc, Q ${h}, q ${d}, R ${f}, r ${l}`, p),
+ p
+ );
+ } else {
+ r.x < e.x ? (l = e.x - s - n) : (l = n - s - e.x);
+ let d = (h * l) / f,
+ p = r.x < e.x ? r.x + f - l : r.x - f + l,
+ m = r.y < e.y ? r.y + d : r.y - d;
+ return (
+ V.debug(`sides calc abc89, Q ${h}, q ${d}, R ${f}, r ${l}`, {
+ _x: p,
+ _y: m
+ }),
+ l === 0 && ((p = e.x), (m = e.y)),
+ f === 0 && (p = e.x),
+ h === 0 && (m = e.y),
+ { x: p, y: m }
+ );
+ }
+ }, 'intersection')),
+ (Zhe = o((t, e) => {
+ V.debug('abc88 cutPathAtIntersect', t, e);
+ let r = [],
+ n = t[0],
+ i = !1;
+ return (
+ t.forEach((a) => {
+ if (!uVe(e, a) && !i) {
+ let s = hVe(e, n, a),
+ l = !1;
+ r.forEach((u) => {
+ l = l || (u.x === s.x && u.y === s.y);
+ }),
+ r.some((u) => u.x === s.x && u.y === s.y) || r.push(s),
+ (i = !0);
+ } else (n = a), i || r.push(a);
+ }),
+ r
+ );
+ }, 'cutPathAtIntersect')),
+ (PE = o(function (t, e, r, n, i, a, s) {
+ let l = r.points;
+ V.debug('abc88 InsertEdge: edge=', r, 'e=', e);
+ let u = !1,
+ h = a.node(e.v);
+ var f = a.node(e.w);
+ f?.intersect &&
+ h?.intersect &&
+ ((l = l.slice(1, r.points.length - 1)),
+ l.unshift(h.intersect(l[0])),
+ l.push(f.intersect(l[l.length - 1]))),
+ r.toCluster &&
+ (V.debug('to cluster abc88', n[r.toCluster]),
+ (l = Zhe(r.points, n[r.toCluster].node)),
+ (u = !0)),
+ r.fromCluster &&
+ (V.debug('from cluster abc88', n[r.fromCluster]),
+ (l = Zhe(l.reverse(), n[r.fromCluster].node).reverse()),
+ (u = !0));
+ let d = l.filter((S) => !Number.isNaN(S.y)),
+ p = vs;
+ r.curve && (i === 'graph' || i === 'flowchart') && (p = r.curve);
+ let { x: m, y: g } = X5(r),
+ y = ha().x(m).y(g).curve(p),
+ v;
+ switch (r.thickness) {
+ case 'normal':
+ v = 'edge-thickness-normal';
+ break;
+ case 'thick':
+ v = 'edge-thickness-thick';
+ break;
+ case 'invisible':
+ v = 'edge-thickness-thick';
+ break;
+ default:
+ v = '';
+ }
+ switch (r.pattern) {
+ case 'solid':
+ v += ' edge-pattern-solid';
+ break;
+ case 'dotted':
+ v += ' edge-pattern-dotted';
+ break;
+ case 'dashed':
+ v += ' edge-pattern-dashed';
+ break;
+ }
+ let x = t
+ .append('path')
+ .attr('d', y(d))
+ .attr('id', r.id)
+ .attr('class', ' ' + v + (r.classes ? ' ' + r.classes : ''))
+ .attr('style', r.style),
+ b = '';
+ (de().flowchart.arrowMarkerAbsolute || de().state.arrowMarkerAbsolute) &&
+ ((b =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (b = b.replace(/\(/g, '\\(')),
+ (b = b.replace(/\)/g, '\\)'))),
+ Khe(x, r, b, s, i);
+ let w = {};
+ return u && (w.updatedPath = l), (w.originalPath = r.points), w;
+ }, 'insertEdge'));
+ });
+ var efe,
+ tfe,
+ rfe = R(() => {
+ 'use strict';
+ Vd();
+ Pv();
+ LO();
+ N5();
+ Hhe();
+ M5();
+ Xhe();
+ DO();
+ ut();
+ _d();
+ _t();
+ (efe = o(async (t, e, r, n, i, a) => {
+ V.info('Graph in recursive render: XXX', zn(e), i);
+ let s = e.graph().rankdir;
+ V.trace('Dir in recursive render - dir:', s);
+ let l = t.insert('g').attr('class', 'root');
+ e.nodes() ? V.info('Recursive render XXX', e.nodes()) : V.info('No nodes found for', e),
+ e.edges().length > 0 && V.trace('Recursive edges', e.edge(e.edges()[0]));
+ let u = l.insert('g').attr('class', 'clusters'),
+ h = l.insert('g').attr('class', 'edgePaths'),
+ f = l.insert('g').attr('class', 'edgeLabels'),
+ d = l.insert('g').attr('class', 'nodes');
+ await Promise.all(
+ e.nodes().map(async function (g) {
+ let y = e.node(g);
+ if (i !== void 0) {
+ let v = JSON.parse(JSON.stringify(i.clusterData));
+ V.info('Setting data for cluster XXX (', g, ') ', v, i),
+ e.setNode(i.id, v),
+ e.parent(g) || (V.trace('Setting parent', g, i.id), e.setParent(g, i.id, v));
+ }
+ if ((V.info('(Insert) Node XXX' + g + ': ' + JSON.stringify(e.node(g))), y?.clusterNode)) {
+ V.info('Cluster identified', g, y.width, e.node(g));
+ let { ranksep: v, nodesep: x } = e.graph();
+ y.graph.setGraph({ ...y.graph.graph(), ranksep: v, nodesep: x });
+ let b = await efe(d, y.graph, r, n, e.node(g), a),
+ w = b.elem;
+ kn(y, w),
+ (y.diff = b.diff || 0),
+ V.info('Node bounds (abc123)', g, y, y.width, y.x, y.y),
+ Bj(w, y),
+ V.warn('Recursive render complete ', w, y);
+ } else e.children(g).length > 0 ? (V.info('Cluster - the non recursive path XXX', g, y.id, y, e), V.info(Fg(y.id, e)), (tr[y.id] = { id: Fg(y.id, e), node: y })) : (V.info('Node - the non recursive path', g, y.id, y), await pm(d, e.node(g), s));
+ })
+ ),
+ e.edges().forEach(async function (g) {
+ let y = e.edge(g.v, g.w, g.name);
+ V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(g)),
+ V.info('Edge ' + g.v + ' -> ' + g.w + ': ', g, ' ', JSON.stringify(e.edge(g))),
+ V.info('Fix', tr, 'ids:', g.v, g.w, 'Translating: ', tr[g.v], tr[g.w]),
+ await IE(f, y);
+ }),
+ e.edges().forEach(function (g) {
+ V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(g));
+ }),
+ V.info('Graph before layout:', JSON.stringify(zn(e))),
+ V.info('#############################################'),
+ V.info('### Layout ###'),
+ V.info('#############################################'),
+ V.info(e),
+ lo(e),
+ V.info('Graph after layout:', JSON.stringify(zn(e)));
+ let p = 0,
+ { subGraphTitleTotalMargin: m } = io(a);
+ return (
+ Uhe(e).forEach(function (g) {
+ let y = e.node(g);
+ V.info('Position ' + g + ': ' + JSON.stringify(e.node(g))),
+ V.info(
+ 'Position ' + g + ': (' + y.x,
+ ',' + y.y,
+ ') width: ',
+ y.width,
+ ' height: ',
+ y.height
+ ),
+ y?.clusterNode
+ ? ((y.y += m), wv(y))
+ : e.children(g).length > 0
+ ? ((y.height += m), Whe(u, y), (tr[y.id].node = y))
+ : ((y.y += m / 2), wv(y));
+ }),
+ e.edges().forEach(function (g) {
+ let y = e.edge(g);
+ V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(y), y),
+ y.points.forEach((x) => (x.y += m / 2));
+ let v = PE(h, g, y, tr, r, e, n);
+ OE(y, v);
+ }),
+ e.nodes().forEach(function (g) {
+ let y = e.node(g);
+ V.info(g, y.type, y.diff), y.type === 'group' && (p = y.diff);
+ }),
+ { elem: l, diff: p }
+ );
+ }, 'recursiveRender')),
+ (tfe = o(async (t, e, r, n, i) => {
+ LE(t, r, n, i),
+ Fj(),
+ Jhe(),
+ qhe(),
+ Bhe(),
+ V.warn('Graph at first:', JSON.stringify(zn(e))),
+ Ghe(e),
+ V.warn('Graph after:', JSON.stringify(zn(e)));
+ let a = de();
+ await efe(t, e, n, i, void 0, a);
+ }, 'render'));
+ });
+ function nfe(t) {
+ let e;
+ switch (t) {
+ case 0:
+ e = 'aggregation';
+ break;
+ case 1:
+ e = 'extension';
+ break;
+ case 2:
+ e = 'composition';
+ break;
+ case 3:
+ e = 'dependency';
+ break;
+ case 4:
+ e = 'lollipop';
+ break;
+ default:
+ e = 'none';
+ }
+ return e;
+ }
+ var NO,
+ RO,
+ fVe,
+ ife,
+ dVe,
+ pVe,
+ mVe,
+ gVe,
+ afe,
+ sfe = R(() => {
+ 'use strict';
+ Zt();
+ ya();
+ ut();
+ _t();
+ rfe();
+ xr();
+ xr();
+ Yn();
+ rr();
+ (NO = o((t) => We.sanitizeText(t, de()), 'sanitizeText')),
+ (RO = { dividerMargin: 10, padding: 5, textHeight: 10, curve: void 0 }),
+ (fVe = o(function (t, e, r, n) {
+ V.info('keys:', [...t.keys()]),
+ V.info(t),
+ t.forEach(function (i) {
+ let s = {
+ shape: 'rect',
+ id: i.id,
+ domId: i.domId,
+ labelText: NO(i.id),
+ labelStyle: '',
+ style: 'fill: none; stroke: black',
+ padding: de().flowchart?.padding ?? de().class?.padding
+ };
+ e.setNode(i.id, s), ife(i.classes, e, r, n, i.id), V.info('setNode', s);
+ });
+ }, 'addNamespaces')),
+ (ife = o(function (t, e, r, n, i) {
+ V.info('keys:', [...t.keys()]),
+ V.info(t),
+ [...t.values()]
+ .filter((a) => a.parent === i)
+ .forEach(function (a) {
+ let s = a.cssClasses.join(' '),
+ l = lm(a.styles),
+ u = a.label ?? a.id,
+ h = 0,
+ d = {
+ labelStyle: l.labelStyle,
+ shape: 'class_box',
+ labelText: NO(u),
+ classData: a,
+ rx: h,
+ ry: h,
+ class: s,
+ style: l.style,
+ id: a.id,
+ domId: a.domId,
+ tooltip: n.db.getTooltip(a.id, i) || '',
+ haveCallback: a.haveCallback,
+ link: a.link,
+ width: a.type === 'group' ? 500 : void 0,
+ type: a.type,
+ padding: de().flowchart?.padding ?? de().class?.padding
+ };
+ e.setNode(a.id, d), i && e.setParent(a.id, i), V.info('setNode', d);
+ });
+ }, 'addClasses')),
+ (dVe = o(function (t, e, r, n) {
+ V.info(t),
+ t.forEach(function (i, a) {
+ let s = i,
+ l = '',
+ u = { labelStyle: '', style: '' },
+ h = s.text,
+ f = 0,
+ p = {
+ labelStyle: u.labelStyle,
+ shape: 'note',
+ labelText: NO(h),
+ noteData: s,
+ rx: f,
+ ry: f,
+ class: l,
+ style: u.style,
+ id: s.id,
+ domId: s.id,
+ tooltip: '',
+ type: 'note',
+ padding: de().flowchart?.padding ?? de().class?.padding
+ };
+ if ((e.setNode(s.id, p), V.info('setNode', p), !s.class || !n.has(s.class))) return;
+ let m = r + a,
+ g = {
+ id: `edgeNote${m}`,
+ classes: 'relation',
+ pattern: 'dotted',
+ arrowhead: 'none',
+ startLabelRight: '',
+ endLabelLeft: '',
+ arrowTypeStart: 'none',
+ arrowTypeEnd: 'none',
+ style: 'fill:none',
+ labelStyle: '',
+ curve: om(RO.curve, xu)
+ };
+ e.setEdge(s.id, s.class, g, m);
+ });
+ }, 'addNotes')),
+ (pVe = o(function (t, e) {
+ let r = de().flowchart,
+ n = 0;
+ t.forEach(function (i) {
+ n++;
+ let a = {
+ classes: 'relation',
+ pattern: i.relation.lineType == 1 ? 'dashed' : 'solid',
+ id: y5(i.id1, i.id2, { prefix: 'id', counter: n }),
+ arrowhead: i.type === 'arrow_open' ? 'none' : 'normal',
+ startLabelRight: i.relationTitle1 === 'none' ? '' : i.relationTitle1,
+ endLabelLeft: i.relationTitle2 === 'none' ? '' : i.relationTitle2,
+ arrowTypeStart: nfe(i.relation.type1),
+ arrowTypeEnd: nfe(i.relation.type2),
+ style: 'fill:none',
+ labelStyle: '',
+ curve: om(r?.curve, xu)
+ };
+ if ((V.info(a, i), i.style !== void 0)) {
+ let s = lm(i.style);
+ (a.style = s.style), (a.labelStyle = s.labelStyle);
+ }
+ (i.text = i.title),
+ i.text === void 0
+ ? i.style !== void 0 && (a.arrowheadStyle = 'fill: #333')
+ : ((a.arrowheadStyle = 'fill: #333'),
+ (a.labelpos = 'c'),
+ de().flowchart?.htmlLabels ?? de().htmlLabels
+ ? ((a.labelType = 'html'),
+ (a.label = '' + i.text + ''))
+ : ((a.labelType = 'text'),
+ (a.label = i.text.replace(
+ We.lineBreakRegex,
+ `
+`
+ )),
+ i.style === void 0 &&
+ (a.style = a.style || 'stroke: #333; stroke-width: 1.5px;fill:none'),
+ (a.labelStyle = a.labelStyle.replace('color:', 'fill:')))),
+ e.setEdge(i.id1, i.id2, a, n);
+ });
+ }, 'addRelations')),
+ (mVe = o(function (t) {
+ RO = { ...RO, ...t };
+ }, 'setConf')),
+ (gVe = o(async function (t, e, r, n) {
+ V.info('Drawing class - ', e);
+ let i = de().flowchart ?? de().class,
+ a = de().securityLevel;
+ V.info('config:', i);
+ let s = i?.nodeSpacing ?? 50,
+ l = i?.rankSpacing ?? 50,
+ u = new lr({ multigraph: !0, compound: !0 })
+ .setGraph({
+ rankdir: n.db.getDirection(),
+ nodesep: s,
+ ranksep: l,
+ marginx: 8,
+ marginy: 8
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ }),
+ h = n.db.getNamespaces(),
+ f = n.db.getClasses(),
+ d = n.db.getRelations(),
+ p = n.db.getNotes();
+ V.info(d), fVe(h, u, e, n), ife(f, u, e, n), pVe(d, u), dVe(p, u, d.length + 1, f);
+ let m;
+ a === 'sandbox' && (m = $e('#i' + e));
+ let g = a === 'sandbox' ? $e(m.nodes()[0].contentDocument.body) : $e('body'),
+ y = g.select(`[id="${e}"]`),
+ v = g.select('#' + e + ' g');
+ if (
+ (await tfe(
+ v,
+ u,
+ ['aggregation', 'extension', 'composition', 'dependency', 'lollipop'],
+ 'classDiagram',
+ e
+ ),
+ Lt.insertTitle(y, 'classTitleText', i?.titleTopMargin ?? 5, n.db.getDiagramTitle()),
+ Lo(u, y, i?.diagramPadding, i?.useMaxWidth),
+ !i?.htmlLabels)
+ ) {
+ let x = a === 'sandbox' ? m.nodes()[0].contentDocument : document,
+ b = x.querySelectorAll('[id="' + e + '"] .edgeLabel .label');
+ for (let w of b) {
+ let S = w.getBBox(),
+ T = x.createElementNS('http://www.w3.org/2000/svg', 'rect');
+ T.setAttribute('rx', 0),
+ T.setAttribute('ry', 0),
+ T.setAttribute('width', S.width),
+ T.setAttribute('height', S.height),
+ w.insertBefore(T, w.firstChild);
+ }
+ }
+ }, 'draw'));
+ o(nfe, 'getArrowMarker');
+ afe = { setConf: mVe, draw: gVe };
+ });
+ var ofe = {};
+ hr(ofe, { diagram: () => yVe });
+ var yVe,
+ lfe = R(() => {
+ 'use strict';
+ TO();
+ AO();
+ _O();
+ sfe();
+ yVe = {
+ parser: wE,
+ db: Bg,
+ renderer: afe,
+ styles: CE,
+ init: o((t) => {
+ t.class || (t.class = {}), (t.class.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Bg.clear();
+ }, 'init')
+ };
+ });
+ var MO,
+ BE,
+ IO = R(() => {
+ 'use strict';
+ MO = (function () {
+ var t = o(function (F, B, $, z) {
+ for ($ = $ || {}, z = F.length; z--; $[F[z]] = B);
+ return $;
+ }, 'o'),
+ e = [1, 2],
+ r = [1, 3],
+ n = [1, 4],
+ i = [2, 4],
+ a = [1, 9],
+ s = [1, 11],
+ l = [1, 16],
+ u = [1, 17],
+ h = [1, 18],
+ f = [1, 19],
+ d = [1, 32],
+ p = [1, 20],
+ m = [1, 21],
+ g = [1, 22],
+ y = [1, 23],
+ v = [1, 24],
+ x = [1, 26],
+ b = [1, 27],
+ w = [1, 28],
+ S = [1, 29],
+ T = [1, 30],
+ E = [1, 31],
+ _ = [1, 34],
+ A = [1, 35],
+ L = [1, 36],
+ M = [1, 37],
+ N = [1, 33],
+ k = [
+ 1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54
+ ],
+ I = [
+ 1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50,
+ 51, 54
+ ],
+ C = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54],
+ O = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ SPACE: 4,
+ NL: 5,
+ SD: 6,
+ document: 7,
+ line: 8,
+ statement: 9,
+ classDefStatement: 10,
+ styleStatement: 11,
+ cssClassStatement: 12,
+ idStatement: 13,
+ DESCR: 14,
+ '-->': 15,
+ HIDE_EMPTY: 16,
+ scale: 17,
+ WIDTH: 18,
+ COMPOSIT_STATE: 19,
+ STRUCT_START: 20,
+ STRUCT_STOP: 21,
+ STATE_DESCR: 22,
+ AS: 23,
+ ID: 24,
+ FORK: 25,
+ JOIN: 26,
+ CHOICE: 27,
+ CONCURRENT: 28,
+ note: 29,
+ notePosition: 30,
+ NOTE_TEXT: 31,
+ direction: 32,
+ acc_title: 33,
+ acc_title_value: 34,
+ acc_descr: 35,
+ acc_descr_value: 36,
+ acc_descr_multiline_value: 37,
+ classDef: 38,
+ CLASSDEF_ID: 39,
+ CLASSDEF_STYLEOPTS: 40,
+ DEFAULT: 41,
+ style: 42,
+ STYLE_IDS: 43,
+ STYLEDEF_STYLEOPTS: 44,
+ class: 45,
+ CLASSENTITY_IDS: 46,
+ STYLECLASS: 47,
+ direction_tb: 48,
+ direction_bt: 49,
+ direction_rl: 50,
+ direction_lr: 51,
+ eol: 52,
+ ';': 53,
+ EDGE_STATE: 54,
+ STYLE_SEPARATOR: 55,
+ left_of: 56,
+ right_of: 57,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'SPACE',
+ 5: 'NL',
+ 6: 'SD',
+ 14: 'DESCR',
+ 15: '-->',
+ 16: 'HIDE_EMPTY',
+ 17: 'scale',
+ 18: 'WIDTH',
+ 19: 'COMPOSIT_STATE',
+ 20: 'STRUCT_START',
+ 21: 'STRUCT_STOP',
+ 22: 'STATE_DESCR',
+ 23: 'AS',
+ 24: 'ID',
+ 25: 'FORK',
+ 26: 'JOIN',
+ 27: 'CHOICE',
+ 28: 'CONCURRENT',
+ 29: 'note',
+ 31: 'NOTE_TEXT',
+ 33: 'acc_title',
+ 34: 'acc_title_value',
+ 35: 'acc_descr',
+ 36: 'acc_descr_value',
+ 37: 'acc_descr_multiline_value',
+ 38: 'classDef',
+ 39: 'CLASSDEF_ID',
+ 40: 'CLASSDEF_STYLEOPTS',
+ 41: 'DEFAULT',
+ 42: 'style',
+ 43: 'STYLE_IDS',
+ 44: 'STYLEDEF_STYLEOPTS',
+ 45: 'class',
+ 46: 'CLASSENTITY_IDS',
+ 47: 'STYLECLASS',
+ 48: 'direction_tb',
+ 49: 'direction_bt',
+ 50: 'direction_rl',
+ 51: 'direction_lr',
+ 53: ';',
+ 54: 'EDGE_STATE',
+ 55: 'STYLE_SEPARATOR',
+ 56: 'left_of',
+ 57: 'right_of'
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 2],
+ [3, 2],
+ [7, 0],
+ [7, 2],
+ [8, 2],
+ [8, 1],
+ [8, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [9, 3],
+ [9, 4],
+ [9, 1],
+ [9, 2],
+ [9, 1],
+ [9, 4],
+ [9, 3],
+ [9, 6],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 4],
+ [9, 4],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [10, 3],
+ [10, 3],
+ [11, 3],
+ [12, 3],
+ [32, 1],
+ [32, 1],
+ [32, 1],
+ [32, 1],
+ [52, 1],
+ [52, 1],
+ [13, 1],
+ [13, 1],
+ [13, 3],
+ [13, 3],
+ [30, 1],
+ [30, 1]
+ ],
+ performAction: o(function (B, $, z, Y, Q, X, ie) {
+ var j = X.length - 1;
+ switch (Q) {
+ case 3:
+ return Y.setRootDoc(X[j]), X[j];
+ break;
+ case 4:
+ this.$ = [];
+ break;
+ case 5:
+ X[j] != 'nl' && (X[j - 1].push(X[j]), (this.$ = X[j - 1]));
+ break;
+ case 6:
+ case 7:
+ this.$ = X[j];
+ break;
+ case 8:
+ this.$ = 'nl';
+ break;
+ case 12:
+ this.$ = X[j];
+ break;
+ case 13:
+ let q = X[j - 1];
+ (q.description = Y.trimColon(X[j])), (this.$ = q);
+ break;
+ case 14:
+ this.$ = { stmt: 'relation', state1: X[j - 2], state2: X[j] };
+ break;
+ case 15:
+ let K = Y.trimColon(X[j]);
+ this.$ = {
+ stmt: 'relation',
+ state1: X[j - 3],
+ state2: X[j - 1],
+ description: K
+ };
+ break;
+ case 19:
+ this.$ = {
+ stmt: 'state',
+ id: X[j - 3],
+ type: 'default',
+ description: '',
+ doc: X[j - 1]
+ };
+ break;
+ case 20:
+ var J = X[j],
+ Z = X[j - 2].trim();
+ if (X[j].match(':')) {
+ var H = X[j].split(':');
+ (J = H[0]), (Z = [Z, H[1]]);
+ }
+ this.$ = {
+ stmt: 'state',
+ id: J,
+ type: 'default',
+ description: Z
+ };
+ break;
+ case 21:
+ this.$ = {
+ stmt: 'state',
+ id: X[j - 3],
+ type: 'default',
+ description: X[j - 5],
+ doc: X[j - 1]
+ };
+ break;
+ case 22:
+ this.$ = { stmt: 'state', id: X[j], type: 'fork' };
+ break;
+ case 23:
+ this.$ = { stmt: 'state', id: X[j], type: 'join' };
+ break;
+ case 24:
+ this.$ = { stmt: 'state', id: X[j], type: 'choice' };
+ break;
+ case 25:
+ this.$ = {
+ stmt: 'state',
+ id: Y.getDividerId(),
+ type: 'divider'
+ };
+ break;
+ case 26:
+ this.$ = {
+ stmt: 'state',
+ id: X[j - 1].trim(),
+ note: { position: X[j - 2].trim(), text: X[j].trim() }
+ };
+ break;
+ case 29:
+ (this.$ = X[j].trim()), Y.setAccTitle(this.$);
+ break;
+ case 30:
+ case 31:
+ (this.$ = X[j].trim()), Y.setAccDescription(this.$);
+ break;
+ case 32:
+ case 33:
+ this.$ = {
+ stmt: 'classDef',
+ id: X[j - 1].trim(),
+ classes: X[j].trim()
+ };
+ break;
+ case 34:
+ this.$ = {
+ stmt: 'style',
+ id: X[j - 1].trim(),
+ styleClass: X[j].trim()
+ };
+ break;
+ case 35:
+ this.$ = {
+ stmt: 'applyClass',
+ id: X[j - 1].trim(),
+ styleClass: X[j].trim()
+ };
+ break;
+ case 36:
+ Y.setDirection('TB'), (this.$ = { stmt: 'dir', value: 'TB' });
+ break;
+ case 37:
+ Y.setDirection('BT'), (this.$ = { stmt: 'dir', value: 'BT' });
+ break;
+ case 38:
+ Y.setDirection('RL'), (this.$ = { stmt: 'dir', value: 'RL' });
+ break;
+ case 39:
+ Y.setDirection('LR'), (this.$ = { stmt: 'dir', value: 'LR' });
+ break;
+ case 42:
+ case 43:
+ this.$ = {
+ stmt: 'state',
+ id: X[j].trim(),
+ type: 'default',
+ description: ''
+ };
+ break;
+ case 44:
+ this.$ = {
+ stmt: 'state',
+ id: X[j - 2].trim(),
+ classes: [X[j].trim()],
+ type: 'default',
+ description: ''
+ };
+ break;
+ case 45:
+ this.$ = {
+ stmt: 'state',
+ id: X[j - 2].trim(),
+ classes: [X[j].trim()],
+ type: 'default',
+ description: ''
+ };
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: e, 5: r, 6: n },
+ { 1: [3] },
+ { 3: 5, 4: e, 5: r, 6: n },
+ { 3: 6, 4: e, 5: r, 6: n },
+ t(
+ [
+ 1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50,
+ 51, 54
+ ],
+ i,
+ { 7: 7 }
+ ),
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ {
+ 1: [2, 3],
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 13: 15,
+ 16: l,
+ 17: u,
+ 19: h,
+ 22: f,
+ 24: d,
+ 25: p,
+ 26: m,
+ 27: g,
+ 28: y,
+ 29: v,
+ 32: 25,
+ 33: x,
+ 35: b,
+ 37: w,
+ 38: S,
+ 42: T,
+ 45: E,
+ 48: _,
+ 49: A,
+ 50: L,
+ 51: M,
+ 54: N
+ },
+ t(k, [2, 5]),
+ {
+ 9: 38,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 13: 15,
+ 16: l,
+ 17: u,
+ 19: h,
+ 22: f,
+ 24: d,
+ 25: p,
+ 26: m,
+ 27: g,
+ 28: y,
+ 29: v,
+ 32: 25,
+ 33: x,
+ 35: b,
+ 37: w,
+ 38: S,
+ 42: T,
+ 45: E,
+ 48: _,
+ 49: A,
+ 50: L,
+ 51: M,
+ 54: N
+ },
+ t(k, [2, 7]),
+ t(k, [2, 8]),
+ t(k, [2, 9]),
+ t(k, [2, 10]),
+ t(k, [2, 11]),
+ t(k, [2, 12], { 14: [1, 39], 15: [1, 40] }),
+ t(k, [2, 16]),
+ { 18: [1, 41] },
+ t(k, [2, 18], { 20: [1, 42] }),
+ { 23: [1, 43] },
+ t(k, [2, 22]),
+ t(k, [2, 23]),
+ t(k, [2, 24]),
+ t(k, [2, 25]),
+ { 30: 44, 31: [1, 45], 56: [1, 46], 57: [1, 47] },
+ t(k, [2, 28]),
+ { 34: [1, 48] },
+ { 36: [1, 49] },
+ t(k, [2, 31]),
+ { 39: [1, 50], 41: [1, 51] },
+ { 43: [1, 52] },
+ { 46: [1, 53] },
+ t(I, [2, 42], { 55: [1, 54] }),
+ t(I, [2, 43], { 55: [1, 55] }),
+ t(k, [2, 36]),
+ t(k, [2, 37]),
+ t(k, [2, 38]),
+ t(k, [2, 39]),
+ t(k, [2, 6]),
+ t(k, [2, 13]),
+ { 13: 56, 24: d, 54: N },
+ t(k, [2, 17]),
+ t(C, i, { 7: 57 }),
+ { 24: [1, 58] },
+ { 24: [1, 59] },
+ { 23: [1, 60] },
+ { 24: [2, 46] },
+ { 24: [2, 47] },
+ t(k, [2, 29]),
+ t(k, [2, 30]),
+ { 40: [1, 61] },
+ { 40: [1, 62] },
+ { 44: [1, 63] },
+ { 47: [1, 64] },
+ { 24: [1, 65] },
+ { 24: [1, 66] },
+ t(k, [2, 14], { 14: [1, 67] }),
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 13: 15,
+ 16: l,
+ 17: u,
+ 19: h,
+ 21: [1, 68],
+ 22: f,
+ 24: d,
+ 25: p,
+ 26: m,
+ 27: g,
+ 28: y,
+ 29: v,
+ 32: 25,
+ 33: x,
+ 35: b,
+ 37: w,
+ 38: S,
+ 42: T,
+ 45: E,
+ 48: _,
+ 49: A,
+ 50: L,
+ 51: M,
+ 54: N
+ },
+ t(k, [2, 20], { 20: [1, 69] }),
+ { 31: [1, 70] },
+ { 24: [1, 71] },
+ t(k, [2, 32]),
+ t(k, [2, 33]),
+ t(k, [2, 34]),
+ t(k, [2, 35]),
+ t(I, [2, 44]),
+ t(I, [2, 45]),
+ t(k, [2, 15]),
+ t(k, [2, 19]),
+ t(C, i, { 7: 72 }),
+ t(k, [2, 26]),
+ t(k, [2, 27]),
+ {
+ 4: a,
+ 5: s,
+ 8: 8,
+ 9: 10,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 13: 15,
+ 16: l,
+ 17: u,
+ 19: h,
+ 21: [1, 73],
+ 22: f,
+ 24: d,
+ 25: p,
+ 26: m,
+ 27: g,
+ 28: y,
+ 29: v,
+ 32: 25,
+ 33: x,
+ 35: b,
+ 37: w,
+ 38: S,
+ 42: T,
+ 45: E,
+ 48: _,
+ 49: A,
+ 50: L,
+ 51: M,
+ 54: N
+ },
+ t(k, [2, 21])
+ ],
+ defaultActions: { 5: [2, 1], 6: [2, 2], 46: [2, 46], 47: [2, 47] },
+ parseError: o(function (B, $) {
+ if ($.recoverable) this.trace(B);
+ else {
+ var z = new Error(B);
+ throw ((z.hash = $), z);
+ }
+ }, 'parseError'),
+ parse: o(function (B) {
+ var $ = this,
+ z = [0],
+ Y = [],
+ Q = [null],
+ X = [],
+ ie = this.table,
+ j = '',
+ J = 0,
+ Z = 0,
+ H = 0,
+ q = 2,
+ K = 1,
+ se = X.slice.call(arguments, 1),
+ ce = Object.create(this.lexer),
+ ue = { yy: {} };
+ for (var te in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, te) && (ue.yy[te] = this.yy[te]);
+ ce.setInput(B, ue.yy),
+ (ue.yy.lexer = ce),
+ (ue.yy.parser = this),
+ typeof ce.yylloc > 'u' && (ce.yylloc = {});
+ var De = ce.yylloc;
+ X.push(De);
+ var oe = ce.options && ce.options.ranges;
+ typeof ue.yy.parseError == 'function'
+ ? (this.parseError = ue.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function ke(we) {
+ (z.length = z.length - 2 * we), (Q.length = Q.length - we), (X.length = X.length - we);
+ }
+ o(ke, 'popStack');
+ function Ie() {
+ var we;
+ return (
+ (we = Y.pop() || ce.lex() || K),
+ typeof we != 'number' &&
+ (we instanceof Array && ((Y = we), (we = Y.pop())),
+ (we = $.symbols_[we] || we)),
+ we
+ );
+ }
+ o(Ie, 'lex');
+ for (var Se, Ue, Pe, _e, me, W, fe = {}, ge, re, he, ne; ; ) {
+ if (
+ ((Pe = z[z.length - 1]),
+ this.defaultActions[Pe]
+ ? (_e = this.defaultActions[Pe])
+ : ((Se === null || typeof Se > 'u') && (Se = Ie()),
+ (_e = ie[Pe] && ie[Pe][Se])),
+ typeof _e > 'u' || !_e.length || !_e[0])
+ ) {
+ var ae = '';
+ ne = [];
+ for (ge in ie[Pe])
+ this.terminals_[ge] && ge > q && ne.push("'" + this.terminals_[ge] + "'");
+ ce.showPosition
+ ? (ae =
+ 'Parse error on line ' +
+ (J + 1) +
+ `:
+` +
+ ce.showPosition() +
+ `
+Expecting ` +
+ ne.join(', ') +
+ ", got '" +
+ (this.terminals_[Se] || Se) +
+ "'")
+ : (ae =
+ 'Parse error on line ' +
+ (J + 1) +
+ ': Unexpected ' +
+ (Se == K ? 'end of input' : "'" + (this.terminals_[Se] || Se) + "'")),
+ this.parseError(ae, {
+ text: ce.match,
+ token: this.terminals_[Se] || Se,
+ line: ce.yylineno,
+ loc: De,
+ expected: ne
+ });
+ }
+ if (_e[0] instanceof Array && _e.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Pe + ', token: ' + Se
+ );
+ switch (_e[0]) {
+ case 1:
+ z.push(Se),
+ Q.push(ce.yytext),
+ X.push(ce.yylloc),
+ z.push(_e[1]),
+ (Se = null),
+ Ue
+ ? ((Se = Ue), (Ue = null))
+ : ((Z = ce.yyleng),
+ (j = ce.yytext),
+ (J = ce.yylineno),
+ (De = ce.yylloc),
+ H > 0 && H--);
+ break;
+ case 2:
+ if (
+ ((re = this.productions_[_e[1]][1]),
+ (fe.$ = Q[Q.length - re]),
+ (fe._$ = {
+ first_line: X[X.length - (re || 1)].first_line,
+ last_line: X[X.length - 1].last_line,
+ first_column: X[X.length - (re || 1)].first_column,
+ last_column: X[X.length - 1].last_column
+ }),
+ oe &&
+ (fe._$.range = [
+ X[X.length - (re || 1)].range[0],
+ X[X.length - 1].range[1]
+ ]),
+ (W = this.performAction.apply(
+ fe,
+ [j, Z, J, ue.yy, _e[1], Q, X].concat(se)
+ )),
+ typeof W < 'u')
+ )
+ return W;
+ re &&
+ ((z = z.slice(0, -1 * re * 2)),
+ (Q = Q.slice(0, -1 * re)),
+ (X = X.slice(0, -1 * re))),
+ z.push(this.productions_[_e[1]][0]),
+ Q.push(fe.$),
+ X.push(fe._$),
+ (he = ie[z[z.length - 2]][z[z.length - 1]]),
+ z.push(he);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ D = (function () {
+ var F = {
+ EOF: 1,
+ parseError: o(function ($, z) {
+ if (this.yy.parser) this.yy.parser.parseError($, z);
+ else throw new Error($);
+ }, 'parseError'),
+ setInput: o(function (B, $) {
+ return (
+ (this.yy = $ || this.yy || {}),
+ (this._input = B),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var B = this._input[0];
+ (this.yytext += B),
+ this.yyleng++,
+ this.offset++,
+ (this.match += B),
+ (this.matched += B);
+ var $ = B.match(/(?:\r\n?|\n).*/g);
+ return (
+ $ ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ B
+ );
+ }, 'input'),
+ unput: o(function (B) {
+ var $ = B.length,
+ z = B.split(/(?:\r\n?|\n)/g);
+ (this._input = B + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - $)),
+ (this.offset -= $);
+ var Y = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ z.length - 1 && (this.yylineno -= z.length - 1);
+ var Q = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: z
+ ? (z.length === Y.length ? this.yylloc.first_column : 0) +
+ Y[Y.length - z.length].length -
+ z[0].length
+ : this.yylloc.first_column - $
+ }),
+ this.options.ranges && (this.yylloc.range = [Q[0], Q[0] + this.yyleng - $]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (B) {
+ this.unput(this.match.slice(B));
+ }, 'less'),
+ pastInput: o(function () {
+ var B = this.matched.substr(0, this.matched.length - this.match.length);
+ return (B.length > 20 ? '...' : '') + B.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var B = this.match;
+ return (
+ B.length < 20 && (B += this._input.substr(0, 20 - B.length)),
+ (B.substr(0, 20) + (B.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var B = this.pastInput(),
+ $ = new Array(B.length + 1).join('-');
+ return (
+ B +
+ this.upcomingInput() +
+ `
+` +
+ $ +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (B, $) {
+ var z, Y, Q;
+ if (
+ (this.options.backtrack_lexer &&
+ ((Q = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (Q.yylloc.range = this.yylloc.range.slice(0))),
+ (Y = B[0].match(/(?:\r\n?|\n).*/g)),
+ Y && (this.yylineno += Y.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: Y
+ ? Y[Y.length - 1].length - Y[Y.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + B[0].length
+ }),
+ (this.yytext += B[0]),
+ (this.match += B[0]),
+ (this.matches = B),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(B[0].length)),
+ (this.matched += B[0]),
+ (z = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ $,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ z)
+ )
+ return z;
+ if (this._backtrack) {
+ for (var X in Q) this[X] = Q[X];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var B, $, z, Y;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var Q = this._currentRules(), X = 0; X < Q.length; X++)
+ if (
+ ((z = this._input.match(this.rules[Q[X]])),
+ z && (!$ || z[0].length > $[0].length))
+ ) {
+ if ((($ = z), (Y = X), this.options.backtrack_lexer)) {
+ if (((B = this.test_match(z, Q[X])), B !== !1)) return B;
+ if (this._backtrack) {
+ $ = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return $
+ ? ((B = this.test_match($, Q[Y])), B !== !1 ? B : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var $ = this.next();
+ return $ || this.lex();
+ }, 'lex'),
+ begin: o(function ($) {
+ this.conditionStack.push($);
+ }, 'begin'),
+ popState: o(function () {
+ var $ = this.conditionStack.length - 1;
+ return $ > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function ($) {
+ return (
+ ($ = this.conditionStack.length - 1 - Math.abs($ || 0)),
+ $ >= 0 ? this.conditionStack[$] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function ($) {
+ this.begin($);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function ($, z, Y, Q) {
+ var X = Q;
+ switch (Y) {
+ case 0:
+ return 41;
+ case 1:
+ return 48;
+ case 2:
+ return 49;
+ case 3:
+ return 50;
+ case 4:
+ return 51;
+ case 5:
+ break;
+ case 6:
+ break;
+ case 7:
+ return 5;
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ break;
+ case 12:
+ return this.pushState('SCALE'), 17;
+ break;
+ case 13:
+ return 18;
+ case 14:
+ this.popState();
+ break;
+ case 15:
+ return this.begin('acc_title'), 33;
+ break;
+ case 16:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 17:
+ return this.begin('acc_descr'), 35;
+ break;
+ case 18:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 19:
+ this.begin('acc_descr_multiline');
+ break;
+ case 20:
+ this.popState();
+ break;
+ case 21:
+ return 'acc_descr_multiline_value';
+ case 22:
+ return this.pushState('CLASSDEF'), 38;
+ break;
+ case 23:
+ return this.popState(), this.pushState('CLASSDEFID'), 'DEFAULT_CLASSDEF_ID';
+ break;
+ case 24:
+ return this.popState(), this.pushState('CLASSDEFID'), 39;
+ break;
+ case 25:
+ return this.popState(), 40;
+ break;
+ case 26:
+ return this.pushState('CLASS'), 45;
+ break;
+ case 27:
+ return this.popState(), this.pushState('CLASS_STYLE'), 46;
+ break;
+ case 28:
+ return this.popState(), 47;
+ break;
+ case 29:
+ return this.pushState('STYLE'), 42;
+ break;
+ case 30:
+ return this.popState(), this.pushState('STYLEDEF_STYLES'), 43;
+ break;
+ case 31:
+ return this.popState(), 44;
+ break;
+ case 32:
+ return this.pushState('SCALE'), 17;
+ break;
+ case 33:
+ return 18;
+ case 34:
+ this.popState();
+ break;
+ case 35:
+ this.pushState('STATE');
+ break;
+ case 36:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 25;
+ break;
+ case 37:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 26;
+ break;
+ case 38:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -10).trim()), 27;
+ break;
+ case 39:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 25;
+ break;
+ case 40:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 26;
+ break;
+ case 41:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -10).trim()), 27;
+ break;
+ case 42:
+ return 48;
+ case 43:
+ return 49;
+ case 44:
+ return 50;
+ case 45:
+ return 51;
+ case 46:
+ this.pushState('STATE_STRING');
+ break;
+ case 47:
+ return this.pushState('STATE_ID'), 'AS';
+ break;
+ case 48:
+ return this.popState(), 'ID';
+ break;
+ case 49:
+ this.popState();
+ break;
+ case 50:
+ return 'STATE_DESCR';
+ case 51:
+ return 19;
+ case 52:
+ this.popState();
+ break;
+ case 53:
+ return this.popState(), this.pushState('struct'), 20;
+ break;
+ case 54:
+ break;
+ case 55:
+ return this.popState(), 21;
+ break;
+ case 56:
+ break;
+ case 57:
+ return this.begin('NOTE'), 29;
+ break;
+ case 58:
+ return this.popState(), this.pushState('NOTE_ID'), 56;
+ break;
+ case 59:
+ return this.popState(), this.pushState('NOTE_ID'), 57;
+ break;
+ case 60:
+ this.popState(), this.pushState('FLOATING_NOTE');
+ break;
+ case 61:
+ return this.popState(), this.pushState('FLOATING_NOTE_ID'), 'AS';
+ break;
+ case 62:
+ break;
+ case 63:
+ return 'NOTE_TEXT';
+ case 64:
+ return this.popState(), 'ID';
+ break;
+ case 65:
+ return this.popState(), this.pushState('NOTE_TEXT'), 24;
+ break;
+ case 66:
+ return this.popState(), (z.yytext = z.yytext.substr(2).trim()), 31;
+ break;
+ case 67:
+ return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 31;
+ break;
+ case 68:
+ return 6;
+ case 69:
+ return 6;
+ case 70:
+ return 16;
+ case 71:
+ return 54;
+ case 72:
+ return 24;
+ case 73:
+ return (z.yytext = z.yytext.trim()), 14;
+ break;
+ case 74:
+ return 15;
+ case 75:
+ return 28;
+ case 76:
+ return 55;
+ case 77:
+ return 5;
+ case 78:
+ return 'INVALID';
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:default\b)/i,
+ /^(?:.*direction\s+TB[^\n]*)/i,
+ /^(?:.*direction\s+BT[^\n]*)/i,
+ /^(?:.*direction\s+RL[^\n]*)/i,
+ /^(?:.*direction\s+LR[^\n]*)/i,
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:[\s]+)/i,
+ /^(?:((?!\n)\s)+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:%[^\n]*)/i,
+ /^(?:scale\s+)/i,
+ /^(?:\d+)/i,
+ /^(?:\s+width\b)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:classDef\s+)/i,
+ /^(?:DEFAULT\s+)/i,
+ /^(?:\w+\s+)/i,
+ /^(?:[^\n]*)/i,
+ /^(?:class\s+)/i,
+ /^(?:(\w+)+((,\s*\w+)*))/i,
+ /^(?:[^\n]*)/i,
+ /^(?:style\s+)/i,
+ /^(?:[\w,]+\s+)/i,
+ /^(?:[^\n]*)/i,
+ /^(?:scale\s+)/i,
+ /^(?:\d+)/i,
+ /^(?:\s+width\b)/i,
+ /^(?:state\s+)/i,
+ /^(?:.*<>)/i,
+ /^(?:.*<>)/i,
+ /^(?:.*<>)/i,
+ /^(?:.*\[\[fork\]\])/i,
+ /^(?:.*\[\[join\]\])/i,
+ /^(?:.*\[\[choice\]\])/i,
+ /^(?:.*direction\s+TB[^\n]*)/i,
+ /^(?:.*direction\s+BT[^\n]*)/i,
+ /^(?:.*direction\s+RL[^\n]*)/i,
+ /^(?:.*direction\s+LR[^\n]*)/i,
+ /^(?:["])/i,
+ /^(?:\s*as\s+)/i,
+ /^(?:[^\n\{]*)/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:[^\n\s\{]+)/i,
+ /^(?:\n)/i,
+ /^(?:\{)/i,
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:\})/i,
+ /^(?:[\n])/i,
+ /^(?:note\s+)/i,
+ /^(?:left of\b)/i,
+ /^(?:right of\b)/i,
+ /^(?:")/i,
+ /^(?:\s*as\s*)/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:[^\n]*)/i,
+ /^(?:\s*[^:\n\s\-]+)/i,
+ /^(?:\s*:[^:\n;]+)/i,
+ /^(?:[\s\S]*?end note\b)/i,
+ /^(?:stateDiagram\s+)/i,
+ /^(?:stateDiagram-v2\s+)/i,
+ /^(?:hide empty description\b)/i,
+ /^(?:\[\*\])/i,
+ /^(?:[^:\n\s\-\{]+)/i,
+ /^(?:\s*:[^:\n;]+)/i,
+ /^(?:-->)/i,
+ /^(?:--)/i,
+ /^(?::::)/i,
+ /^(?:$)/i,
+ /^(?:.)/i
+ ],
+ conditions: {
+ LINE: { rules: [9, 10], inclusive: !1 },
+ struct: {
+ rules: [9, 10, 22, 26, 29, 35, 42, 43, 44, 45, 54, 55, 56, 57, 71, 72, 73, 74, 75],
+ inclusive: !1
+ },
+ FLOATING_NOTE_ID: { rules: [64], inclusive: !1 },
+ FLOATING_NOTE: { rules: [61, 62, 63], inclusive: !1 },
+ NOTE_TEXT: { rules: [66, 67], inclusive: !1 },
+ NOTE_ID: { rules: [65], inclusive: !1 },
+ NOTE: { rules: [58, 59, 60], inclusive: !1 },
+ STYLEDEF_STYLEOPTS: { rules: [], inclusive: !1 },
+ STYLEDEF_STYLES: { rules: [31], inclusive: !1 },
+ STYLE_IDS: { rules: [], inclusive: !1 },
+ STYLE: { rules: [30], inclusive: !1 },
+ CLASS_STYLE: { rules: [28], inclusive: !1 },
+ CLASS: { rules: [27], inclusive: !1 },
+ CLASSDEFID: { rules: [25], inclusive: !1 },
+ CLASSDEF: { rules: [23, 24], inclusive: !1 },
+ acc_descr_multiline: { rules: [20, 21], inclusive: !1 },
+ acc_descr: { rules: [18], inclusive: !1 },
+ acc_title: { rules: [16], inclusive: !1 },
+ SCALE: { rules: [13, 14, 33, 34], inclusive: !1 },
+ ALIAS: { rules: [], inclusive: !1 },
+ STATE_ID: { rules: [48], inclusive: !1 },
+ STATE_STRING: { rules: [49, 50], inclusive: !1 },
+ FORK_STATE: { rules: [], inclusive: !1 },
+ STATE: {
+ rules: [9, 10, 36, 37, 38, 39, 40, 41, 46, 47, 51, 52, 53],
+ inclusive: !1
+ },
+ ID: { rules: [9, 10], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 35, 53, 57,
+ 68, 69, 70, 71, 72, 73, 74, 76, 77, 78
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return F;
+ })();
+ O.lexer = D;
+ function P() {
+ this.yy = {};
+ }
+ return o(P, 'Parser'), (P.prototype = O), (O.Parser = P), new P();
+ })();
+ MO.parser = MO;
+ BE = MO;
+ });
+ var hfe,
+ FE,
+ zg,
+ Ex,
+ ffe,
+ dfe,
+ pfe,
+ N0,
+ zE,
+ OO,
+ PO,
+ BO,
+ FO,
+ zO,
+ GE,
+ $E,
+ mfe,
+ gfe,
+ GO,
+ $O,
+ yfe,
+ vfe,
+ Gg,
+ wVe,
+ xfe,
+ VO,
+ TVe,
+ kVe,
+ bfe,
+ wfe,
+ EVe,
+ Tfe,
+ CVe,
+ kfe,
+ UO,
+ HO,
+ Efe,
+ VE,
+ Cfe,
+ YO,
+ UE = R(() => {
+ 'use strict';
+ (hfe = 'LR'),
+ (FE = 'TB'),
+ (zg = 'state'),
+ (Ex = 'relation'),
+ (ffe = 'classDef'),
+ (dfe = 'style'),
+ (pfe = 'applyClass'),
+ (N0 = 'default'),
+ (zE = 'divider'),
+ (OO = 'fill:none'),
+ (PO = 'fill: #333'),
+ (BO = 'c'),
+ (FO = 'text'),
+ (zO = 'normal'),
+ (GE = 'rect'),
+ ($E = 'rectWithTitle'),
+ (mfe = 'stateStart'),
+ (gfe = 'stateEnd'),
+ (GO = 'divider'),
+ ($O = 'roundedWithTitle'),
+ (yfe = 'note'),
+ (vfe = 'noteGroup'),
+ (Gg = 'statediagram'),
+ (wVe = 'state'),
+ (xfe = `${Gg}-${wVe}`),
+ (VO = 'transition'),
+ (TVe = 'note'),
+ (kVe = 'note-edge'),
+ (bfe = `${VO} ${kVe}`),
+ (wfe = `${Gg}-${TVe}`),
+ (EVe = 'cluster'),
+ (Tfe = `${Gg}-${EVe}`),
+ (CVe = 'cluster-alt'),
+ (kfe = `${Gg}-${CVe}`),
+ (UO = 'parent'),
+ (HO = 'note'),
+ (Efe = 'state'),
+ (VE = '----'),
+ (Cfe = `${VE}${HO}`),
+ (YO = `${VE}${UO}`);
+ });
+ function WO(t = '', e = 0, r = '', n = VE) {
+ let i = r !== null && r.length > 0 ? `${n}${r}` : '';
+ return `${Efe}-${t}${i}-${e}`;
+ }
+ function HE(t, e, r) {
+ if (!e.id || e.id === '' || e.id === '') return;
+ e.cssClasses &&
+ (Array.isArray(e.cssCompiledStyles) || (e.cssCompiledStyles = []),
+ e.cssClasses.split(' ').forEach((i) => {
+ if (r.get(i)) {
+ let a = r.get(i);
+ e.cssCompiledStyles = [...e.cssCompiledStyles, ...a.styles];
+ }
+ }));
+ let n = t.find((i) => i.id === e.id);
+ n ? Object.assign(n, e) : t.push(e);
+ }
+ function AVe(t) {
+ return t?.classes?.join(' ') ?? '';
+ }
+ function _Ve(t) {
+ return t?.styles ?? [];
+ }
+ var YE,
+ yf,
+ SVe,
+ Sfe,
+ $g,
+ Afe,
+ _fe = R(() => {
+ 'use strict';
+ _t();
+ ut();
+ rr();
+ UE();
+ (YE = new Map()), (yf = 0);
+ o(WO, 'stateDomId');
+ (SVe = o((t, e, r, n, i, a, s, l) => {
+ V.trace('items', e),
+ e.forEach((u) => {
+ switch (u.stmt) {
+ case zg:
+ $g(t, u, r, n, i, a, s, l);
+ break;
+ case N0:
+ $g(t, u, r, n, i, a, s, l);
+ break;
+ case Ex:
+ {
+ $g(t, u.state1, r, n, i, a, s, l), $g(t, u.state2, r, n, i, a, s, l);
+ let h = {
+ id: 'edge' + yf,
+ start: u.state1.id,
+ end: u.state2.id,
+ arrowhead: 'normal',
+ arrowTypeEnd: 'arrow_barb',
+ style: OO,
+ labelStyle: '',
+ label: We.sanitizeText(u.description, de()),
+ arrowheadStyle: PO,
+ labelpos: BO,
+ labelType: FO,
+ thickness: zO,
+ classes: VO,
+ look: s
+ };
+ i.push(h), yf++;
+ }
+ break;
+ }
+ });
+ }, 'setupDoc')),
+ (Sfe = o((t, e = FE) => {
+ let r = e;
+ if (t.doc) for (let n of t.doc) n.stmt === 'dir' && (r = n.value);
+ return r;
+ }, 'getDir'));
+ o(HE, 'insertOrUpdateNode');
+ o(AVe, 'getClassesFromDbInfo');
+ o(_Ve, 'getStylesFromDbInfo');
+ ($g = o((t, e, r, n, i, a, s, l) => {
+ let u = e.id,
+ h = r.get(u),
+ f = AVe(h),
+ d = _Ve(h);
+ if ((V.info('dataFetcher parsedItem', e, h, d), u !== 'root')) {
+ let p = GE;
+ e.start === !0 ? (p = mfe) : e.start === !1 && (p = gfe),
+ e.type !== N0 && (p = e.type),
+ YE.get(u) ||
+ YE.set(u, {
+ id: u,
+ shape: p,
+ description: We.sanitizeText(u, de()),
+ cssClasses: `${f} ${xfe}`,
+ cssStyles: d
+ });
+ let m = YE.get(u);
+ e.description &&
+ (Array.isArray(m.description)
+ ? ((m.shape = $E), m.description.push(e.description))
+ : m.description?.length > 0
+ ? ((m.shape = $E),
+ m.description === u
+ ? (m.description = [e.description])
+ : (m.description = [m.description, e.description]))
+ : ((m.shape = GE), (m.description = e.description)),
+ (m.description = We.sanitizeTextOrArray(m.description, de()))),
+ m.description?.length === 1 &&
+ m.shape === $E &&
+ (m.type === 'group' ? (m.shape = $O) : (m.shape = GE)),
+ !m.type &&
+ e.doc &&
+ (V.info('Setting cluster for XCX', u, Sfe(e)),
+ (m.type = 'group'),
+ (m.isGroup = !0),
+ (m.dir = Sfe(e)),
+ (m.shape = e.type === zE ? GO : $O),
+ (m.cssClasses = `${m.cssClasses} ${Tfe} ${a ? kfe : ''}`));
+ let g = {
+ labelStyle: '',
+ shape: m.shape,
+ label: m.description,
+ cssClasses: m.cssClasses,
+ cssCompiledStyles: [],
+ cssStyles: m.cssStyles,
+ id: u,
+ dir: m.dir,
+ domId: WO(u, yf),
+ type: m.type,
+ isGroup: m.type === 'group',
+ padding: 8,
+ rx: 10,
+ ry: 10,
+ look: s
+ };
+ if (
+ (g.shape === GO && (g.label = ''),
+ t &&
+ t.id !== 'root' &&
+ (V.trace('Setting node ', u, ' to be child of its parent ', t.id), (g.parentId = t.id)),
+ (g.centerLabel = !0),
+ e.note)
+ ) {
+ let y = {
+ labelStyle: '',
+ shape: yfe,
+ label: e.note.text,
+ cssClasses: wfe,
+ cssStyles: [],
+ cssCompilesStyles: [],
+ id: u + Cfe + '-' + yf,
+ domId: WO(u, yf, HO),
+ type: m.type,
+ isGroup: m.type === 'group',
+ padding: de().flowchart.padding,
+ look: s,
+ position: e.note.position
+ },
+ v = u + YO,
+ x = {
+ labelStyle: '',
+ shape: vfe,
+ label: e.note.text,
+ cssClasses: m.cssClasses,
+ cssStyles: [],
+ id: u + YO,
+ domId: WO(u, yf, UO),
+ type: 'group',
+ isGroup: !0,
+ padding: 16,
+ look: s,
+ position: e.note.position
+ };
+ yf++, (x.id = v), (y.parentId = v), HE(n, x, l), HE(n, y, l), HE(n, g, l);
+ let b = u,
+ w = y.id;
+ e.note.position === 'left of' && ((b = y.id), (w = u)),
+ i.push({
+ id: b + '-' + w,
+ start: b,
+ end: w,
+ arrowhead: 'none',
+ arrowTypeEnd: '',
+ style: OO,
+ labelStyle: '',
+ classes: bfe,
+ arrowheadStyle: PO,
+ labelpos: BO,
+ labelType: FO,
+ thickness: zO,
+ look: s
+ });
+ } else HE(n, g, l);
+ }
+ e.doc && (V.trace('Adding nodes children '), SVe(e, e.doc, r, n, i, !a, s, l));
+ }, 'dataFetcher')),
+ (Afe = o(() => {
+ YE.clear(), (yf = 0);
+ }, 'reset'));
+ });
+ var qO,
+ LVe,
+ DVe,
+ Lfe,
+ XO = R(() => {
+ 'use strict';
+ _t();
+ ut();
+ L9();
+ oT();
+ yD();
+ xr();
+ UE();
+ (qO = o((t, e = FE) => {
+ if (!t.doc) return e;
+ let r = e;
+ for (let n of t.doc) n.stmt === 'dir' && (r = n.value);
+ return r;
+ }, 'getDir')),
+ (LVe = o(function (t, e) {
+ return e.db.extract(e.db.getRootDocV2()), e.db.getClasses();
+ }, 'getClasses')),
+ (DVe = o(async function (t, e, r, n) {
+ V.info('REF0:'), V.info('Drawing state diagram (v2)', e);
+ let { securityLevel: i, state: a, layout: s } = de();
+ n.db.extract(n.db.getRootDocV2());
+ let l = n.db.getData(),
+ u = I5(e, i);
+ (l.type = n.type),
+ (l.layoutAlgorithm = s),
+ (l.nodeSpacing = a?.nodeSpacing || 50),
+ (l.rankSpacing = a?.rankSpacing || 50),
+ (l.markers = ['barb']),
+ (l.diagramId = e),
+ await sT(l, u);
+ let h = 8;
+ Lt.insertTitle(u, 'statediagramTitleText', a?.titleTopMargin ?? 25, n.db.getDiagramTitle()),
+ lT(u, h, Gg, a?.useMaxWidth ?? !0);
+ }, 'draw')),
+ (Lfe = { getClasses: LVe, draw: DVe, getDir: qO });
+ });
+ function Pfe() {
+ return new Map();
+ }
+ function jO(t = '') {
+ let e = t;
+ return t === ZO && (Cx++, (e = `${Mfe}${Cx}`)), e;
+ }
+ function KO(t = '', e = N0) {
+ return t === ZO ? Mfe : e;
+ }
+ function GVe(t = '') {
+ let e = t;
+ return t === Ife && (Cx++, (e = `${Ofe}${Cx}`)), e;
+ }
+ function $Ve(t = '', e = N0) {
+ return t === Ife ? Ofe : e;
+ }
+ function VVe(t, e, r) {
+ let n = jO(t.id.trim()),
+ i = KO(t.id.trim(), t.type),
+ a = jO(e.id.trim()),
+ s = KO(e.id.trim(), e.type);
+ vf(n, i, t.doc, t.description, t.note, t.classes, t.styles, t.textStyles),
+ vf(a, s, e.doc, e.description, e.note, e.classes, e.styles, e.textStyles),
+ Fs.relations.push({
+ id1: n,
+ id2: a,
+ relationTitle: We.sanitizeText(r, de())
+ });
+ }
+ var ZO,
+ Mfe,
+ Ife,
+ Ofe,
+ Dfe,
+ Rfe,
+ RVe,
+ NVe,
+ XE,
+ JO,
+ Bfe,
+ jE,
+ Vg,
+ Ffe,
+ KE,
+ Fs,
+ Cx,
+ Nfe,
+ MVe,
+ IVe,
+ WE,
+ OVe,
+ PVe,
+ qE,
+ eP,
+ BVe,
+ vf,
+ zfe,
+ M0,
+ Gfe,
+ FVe,
+ zVe,
+ $fe,
+ QO,
+ UVe,
+ HVe,
+ Vfe,
+ YVe,
+ tP,
+ WVe,
+ qVe,
+ XVe,
+ jVe,
+ KVe,
+ QVe,
+ Qo,
+ QE = R(() => {
+ 'use strict';
+ ut();
+ xr();
+ rr();
+ _t();
+ bi();
+ _fe();
+ XO();
+ UE();
+ (ZO = '[*]'),
+ (Mfe = 'start'),
+ (Ife = ZO),
+ (Ofe = 'end'),
+ (Dfe = 'color'),
+ (Rfe = 'fill'),
+ (RVe = 'bgFill'),
+ (NVe = ',');
+ o(Pfe, 'newClassesList');
+ (XE = []),
+ (JO = []),
+ (Bfe = hfe),
+ (jE = []),
+ (Vg = Pfe()),
+ (Ffe = o(() => ({ relations: [], states: new Map(), documents: {} }), 'newDoc')),
+ (KE = { root: Ffe() }),
+ (Fs = KE.root),
+ (Cx = 0),
+ (Nfe = 0),
+ (MVe = { LINE: 0, DOTTED_LINE: 1 }),
+ (IVe = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3 }),
+ (WE = o((t) => JSON.parse(JSON.stringify(t)), 'clone')),
+ (OVe = o((t) => {
+ V.info('Setting root doc', t), (jE = t);
+ }, 'setRootDoc')),
+ (PVe = o(() => jE, 'getRootDoc')),
+ (qE = o((t, e, r) => {
+ if (e.stmt === Ex) qE(t, e.state1, !0), qE(t, e.state2, !1);
+ else if (
+ (e.stmt === zg &&
+ (e.id === '[*]'
+ ? ((e.id = r ? t.id + '_start' : t.id + '_end'), (e.start = r))
+ : (e.id = e.id.trim())),
+ e.doc)
+ ) {
+ let n = [],
+ i = [],
+ a;
+ for (a = 0; a < e.doc.length; a++)
+ if (e.doc[a].type === zE) {
+ let s = WE(e.doc[a]);
+ (s.doc = WE(i)), n.push(s), (i = []);
+ } else i.push(e.doc[a]);
+ if (n.length > 0 && i.length > 0) {
+ let s = { stmt: zg, id: Z_(), type: 'divider', doc: WE(i) };
+ n.push(WE(s)), (e.doc = n);
+ }
+ e.doc.forEach((s) => qE(e, s, !0));
+ }
+ }, 'docTranslator')),
+ (eP = o(
+ () => (qE({ id: 'root' }, { id: 'root', doc: jE }, !0), { id: 'root', doc: jE }),
+ 'getRootDocV2'
+ )),
+ (BVe = o((t) => {
+ let e;
+ t.doc ? (e = t.doc) : (e = t),
+ V.info(e),
+ zfe(!0),
+ V.info('Extract initial document:', e),
+ e.forEach((a) => {
+ switch ((V.warn('Statement', a.stmt), a.stmt)) {
+ case zg:
+ vf(
+ a.id.trim(),
+ a.type,
+ a.doc,
+ a.description,
+ a.note,
+ a.classes,
+ a.styles,
+ a.textStyles
+ );
+ break;
+ case Ex:
+ $fe(a.state1, a.state2, a.description);
+ break;
+ case ffe:
+ Vfe(a.id.trim(), a.classes);
+ break;
+ case dfe:
+ {
+ let s = a.id.trim().split(','),
+ l = a.styleClass.split(',');
+ s.forEach((u) => {
+ let h = M0(u);
+ if (h === void 0) {
+ let f = u.trim();
+ vf(f), (h = M0(f));
+ }
+ h.styles = l.map((f) => f.replace(/;/g, '')?.trim());
+ });
+ }
+ break;
+ case pfe:
+ tP(a.id.trim(), a.styleClass);
+ break;
+ }
+ });
+ let r = Gfe(),
+ i = de().look;
+ Afe(),
+ $g(void 0, eP(), r, XE, JO, !0, i, Vg),
+ XE.forEach((a) => {
+ if (Array.isArray(a.label)) {
+ if (((a.description = a.label.slice(1)), a.isGroup && a.description.length > 0))
+ throw new Error(
+ 'Group nodes can only have label. Remove the additional description for node [' +
+ a.id +
+ ']'
+ );
+ a.label = a.label[0];
+ }
+ });
+ }, 'extract')),
+ (vf = o(function (t, e = N0, r = null, n = null, i = null, a = null, s = null, l = null) {
+ let u = t?.trim();
+ if (
+ (Fs.states.has(u)
+ ? (Fs.states.get(u).doc || (Fs.states.get(u).doc = r),
+ Fs.states.get(u).type || (Fs.states.get(u).type = e))
+ : (V.info('Adding state ', u, n),
+ Fs.states.set(u, {
+ id: u,
+ descriptions: [],
+ type: e,
+ doc: r,
+ note: i,
+ classes: [],
+ styles: [],
+ textStyles: []
+ })),
+ n &&
+ (V.info('Setting state description', u, n),
+ typeof n == 'string' && QO(u, n.trim()),
+ typeof n == 'object' && n.forEach((h) => QO(u, h.trim()))),
+ i)
+ ) {
+ let h = Fs.states.get(u);
+ (h.note = i), (h.note.text = We.sanitizeText(h.note.text, de()));
+ }
+ a &&
+ (V.info('Setting state classes', u, a),
+ (typeof a == 'string' ? [a] : a).forEach((f) => tP(u, f.trim()))),
+ s &&
+ (V.info('Setting state styles', u, s),
+ (typeof s == 'string' ? [s] : s).forEach((f) => WVe(u, f.trim()))),
+ l &&
+ (V.info('Setting state styles', u, s),
+ (typeof l == 'string' ? [l] : l).forEach((f) => qVe(u, f.trim())));
+ }, 'addState')),
+ (zfe = o(function (t) {
+ (XE = []), (JO = []), (KE = { root: Ffe() }), (Fs = KE.root), (Cx = 0), (Vg = Pfe()), t || vr();
+ }, 'clear')),
+ (M0 = o(function (t) {
+ return Fs.states.get(t);
+ }, 'getState')),
+ (Gfe = o(function () {
+ return Fs.states;
+ }, 'getStates')),
+ (FVe = o(function () {
+ V.info('Documents = ', KE);
+ }, 'logDocuments')),
+ (zVe = o(function () {
+ return Fs.relations;
+ }, 'getRelations'));
+ o(jO, 'startIdIfNeeded');
+ o(KO, 'startTypeIfNeeded');
+ o(GVe, 'endIdIfNeeded');
+ o($Ve, 'endTypeIfNeeded');
+ o(VVe, 'addRelationObjs');
+ ($fe = o(function (t, e, r) {
+ if (typeof t == 'object') VVe(t, e, r);
+ else {
+ let n = jO(t.trim()),
+ i = KO(t),
+ a = GVe(e.trim()),
+ s = $Ve(e);
+ vf(n, i),
+ vf(a, s),
+ Fs.relations.push({
+ id1: n,
+ id2: a,
+ title: We.sanitizeText(r, de())
+ });
+ }
+ }, 'addRelation')),
+ (QO = o(function (t, e) {
+ let r = Fs.states.get(t),
+ n = e.startsWith(':') ? e.replace(':', '').trim() : e;
+ r.descriptions.push(We.sanitizeText(n, de()));
+ }, 'addDescription')),
+ (UVe = o(function (t) {
+ return t.substring(0, 1) === ':' ? t.substr(2).trim() : t.trim();
+ }, 'cleanupLabel')),
+ (HVe = o(() => (Nfe++, 'divider-id-' + Nfe), 'getDividerId')),
+ (Vfe = o(function (t, e = '') {
+ Vg.has(t) || Vg.set(t, { id: t, styles: [], textStyles: [] });
+ let r = Vg.get(t);
+ e?.split(NVe).forEach((n) => {
+ let i = n.replace(/([^;]*);/, '$1').trim();
+ if (RegExp(Dfe).exec(n)) {
+ let s = i.replace(Rfe, RVe).replace(Dfe, Rfe);
+ r.textStyles.push(s);
+ }
+ r.styles.push(i);
+ });
+ }, 'addStyleClass')),
+ (YVe = o(function () {
+ return Vg;
+ }, 'getClasses')),
+ (tP = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ let n = M0(r);
+ if (n === void 0) {
+ let i = r.trim();
+ vf(i), (n = M0(i));
+ }
+ n.classes.push(e);
+ });
+ }, 'setCssClass')),
+ (WVe = o(function (t, e) {
+ let r = M0(t);
+ r !== void 0 && r.styles.push(e);
+ }, 'setStyle')),
+ (qVe = o(function (t, e) {
+ let r = M0(t);
+ r !== void 0 && r.textStyles.push(e);
+ }, 'setTextStyle')),
+ (XVe = o(() => Bfe, 'getDirection')),
+ (jVe = o((t) => {
+ Bfe = t;
+ }, 'setDirection')),
+ (KVe = o((t) => (t && t[0] === ':' ? t.substr(1).trim() : t.trim()), 'trimColon')),
+ (QVe = o(() => {
+ let t = de();
+ return {
+ nodes: XE,
+ edges: JO,
+ other: {},
+ config: t,
+ direction: qO(eP())
+ };
+ }, 'getData')),
+ (Qo = {
+ getConfig: o(() => de().state, 'getConfig'),
+ getData: QVe,
+ addState: vf,
+ clear: zfe,
+ getState: M0,
+ getStates: Gfe,
+ getRelations: zVe,
+ getClasses: YVe,
+ getDirection: XVe,
+ addRelation: $fe,
+ getDividerId: HVe,
+ setDirection: jVe,
+ cleanupLabel: UVe,
+ lineType: MVe,
+ relationType: IVe,
+ logDocuments: FVe,
+ getRootDoc: PVe,
+ setRootDoc: OVe,
+ getRootDocV2: eP,
+ extract: BVe,
+ trimColon: KVe,
+ getAccTitle: Ar,
+ setAccTitle: kr,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ addStyleClass: Vfe,
+ setCssClass: tP,
+ addDescription: QO,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr
+ });
+ });
+ var ZVe,
+ ZE,
+ rP = R(() => {
+ 'use strict';
+ (ZVe = o(
+ (t) => `
+defs #statediagram-barbEnd {
+ fill: ${t.transitionColor};
+ stroke: ${t.transitionColor};
+ }
+g.stateGroup text {
+ fill: ${t.nodeBorder};
+ stroke: none;
+ font-size: 10px;
+}
+g.stateGroup text {
+ fill: ${t.textColor};
+ stroke: none;
+ font-size: 10px;
+
+}
+g.stateGroup .state-title {
+ font-weight: bolder;
+ fill: ${t.stateLabelColor};
+}
+
+g.stateGroup rect {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+}
+
+g.stateGroup line {
+ stroke: ${t.lineColor};
+ stroke-width: 1;
+}
+
+.transition {
+ stroke: ${t.transitionColor};
+ stroke-width: 1;
+ fill: none;
+}
+
+.stateGroup .composit {
+ fill: ${t.background};
+ border-bottom: 1px
+}
+
+.stateGroup .alt-composit {
+ fill: #e0e0e0;
+ border-bottom: 1px
+}
+
+.state-note {
+ stroke: ${t.noteBorderColor};
+ fill: ${t.noteBkgColor};
+
+ text {
+ fill: ${t.noteTextColor};
+ stroke: none;
+ font-size: 10px;
+ }
+}
+
+.stateLabel .box {
+ stroke: none;
+ stroke-width: 0;
+ fill: ${t.mainBkg};
+ opacity: 0.5;
+}
+
+.edgeLabel .label rect {
+ fill: ${t.labelBackgroundColor};
+ opacity: 0.5;
+}
+.edgeLabel {
+ background-color: ${t.edgeLabelBackground};
+ p {
+ background-color: ${t.edgeLabelBackground};
+ }
+ rect {
+ opacity: 0.5;
+ background-color: ${t.edgeLabelBackground};
+ fill: ${t.edgeLabelBackground};
+ }
+ text-align: center;
+}
+.edgeLabel .label text {
+ fill: ${t.transitionLabelColor || t.tertiaryTextColor};
+}
+.label div .edgeLabel {
+ color: ${t.transitionLabelColor || t.tertiaryTextColor};
+}
+
+.stateLabel text {
+ fill: ${t.stateLabelColor};
+ font-size: 10px;
+ font-weight: bold;
+}
+
+.node circle.state-start {
+ fill: ${t.specialStateColor};
+ stroke: ${t.specialStateColor};
+}
+
+.node .fork-join {
+ fill: ${t.specialStateColor};
+ stroke: ${t.specialStateColor};
+}
+
+.node circle.state-end {
+ fill: ${t.innerEndBackground};
+ stroke: ${t.background};
+ stroke-width: 1.5
+}
+.end-state-inner {
+ fill: ${t.compositeBackground || t.background};
+ // stroke: ${t.background};
+ stroke-width: 1.5
+}
+
+.node rect {
+ fill: ${t.stateBkg || t.mainBkg};
+ stroke: ${t.stateBorder || t.nodeBorder};
+ stroke-width: 1px;
+}
+.node polygon {
+ fill: ${t.mainBkg};
+ stroke: ${t.stateBorder || t.nodeBorder};;
+ stroke-width: 1px;
+}
+#statediagram-barbEnd {
+ fill: ${t.lineColor};
+}
+
+.statediagram-cluster rect {
+ fill: ${t.compositeTitleBackground};
+ stroke: ${t.stateBorder || t.nodeBorder};
+ stroke-width: 1px;
+}
+
+.cluster-label, .nodeLabel {
+ color: ${t.stateLabelColor};
+ // line-height: 1;
+}
+
+.statediagram-cluster rect.outer {
+ rx: 5px;
+ ry: 5px;
+}
+.statediagram-state .divider {
+ stroke: ${t.stateBorder || t.nodeBorder};
+}
+
+.statediagram-state .title-state {
+ rx: 5px;
+ ry: 5px;
+}
+.statediagram-cluster.statediagram-cluster .inner {
+ fill: ${t.compositeBackground || t.background};
+}
+.statediagram-cluster.statediagram-cluster-alt .inner {
+ fill: ${t.altBackground ? t.altBackground : '#efefef'};
+}
+
+.statediagram-cluster .inner {
+ rx:0;
+ ry:0;
+}
+
+.statediagram-state rect.basic {
+ rx: 5px;
+ ry: 5px;
+}
+.statediagram-state rect.divider {
+ stroke-dasharray: 10,10;
+ fill: ${t.altBackground ? t.altBackground : '#efefef'};
+}
+
+.note-edge {
+ stroke-dasharray: 5;
+}
+
+.statediagram-note rect {
+ fill: ${t.noteBkgColor};
+ stroke: ${t.noteBorderColor};
+ stroke-width: 1px;
+ rx: 0;
+ ry: 0;
+}
+.statediagram-note rect {
+ fill: ${t.noteBkgColor};
+ stroke: ${t.noteBorderColor};
+ stroke-width: 1px;
+ rx: 0;
+ ry: 0;
+}
+
+.statediagram-note text {
+ fill: ${t.noteTextColor};
+}
+
+.statediagram-note .nodeLabel {
+ color: ${t.noteTextColor};
+}
+.statediagram .edgeLabel {
+ color: red; // ${t.noteTextColor};
+}
+
+#dependencyStart, #dependencyEnd {
+ fill: ${t.lineColor};
+ stroke: ${t.lineColor};
+ stroke-width: 1;
+}
+
+.statediagramTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+}
+`,
+ 'getStyles'
+ )),
+ (ZE = ZVe);
+ });
+ var nP,
+ JVe,
+ eUe,
+ Ufe,
+ tUe,
+ Hfe,
+ Yfe = R(() => {
+ 'use strict';
+ (nP = {}),
+ (JVe = o((t, e) => {
+ nP[t] = e;
+ }, 'set')),
+ (eUe = o((t) => nP[t], 'get')),
+ (Ufe = o(() => Object.keys(nP), 'keys')),
+ (tUe = o(() => Ufe().length, 'size')),
+ (Hfe = { get: eUe, set: JVe, keys: Ufe, size: tUe });
+ });
+ var rUe,
+ nUe,
+ iUe,
+ aUe,
+ qfe,
+ sUe,
+ oUe,
+ lUe,
+ cUe,
+ iP,
+ Wfe,
+ Xfe,
+ jfe = R(() => {
+ 'use strict';
+ Zt();
+ Yfe();
+ QE();
+ xr();
+ rr();
+ _t();
+ ut();
+ (rUe = o(
+ (t) =>
+ t
+ .append('circle')
+ .attr('class', 'start-state')
+ .attr('r', de().state.sizeUnit)
+ .attr('cx', de().state.padding + de().state.sizeUnit)
+ .attr('cy', de().state.padding + de().state.sizeUnit),
+ 'drawStartState'
+ )),
+ (nUe = o(
+ (t) =>
+ t
+ .append('line')
+ .style('stroke', 'grey')
+ .style('stroke-dasharray', '3')
+ .attr('x1', de().state.textHeight)
+ .attr('class', 'divider')
+ .attr('x2', de().state.textHeight * 2)
+ .attr('y1', 0)
+ .attr('y2', 0),
+ 'drawDivider'
+ )),
+ (iUe = o((t, e) => {
+ let r = t
+ .append('text')
+ .attr('x', 2 * de().state.padding)
+ .attr('y', de().state.textHeight + 2 * de().state.padding)
+ .attr('font-size', de().state.fontSize)
+ .attr('class', 'state-title')
+ .text(e.id),
+ n = r.node().getBBox();
+ return (
+ t
+ .insert('rect', ':first-child')
+ .attr('x', de().state.padding)
+ .attr('y', de().state.padding)
+ .attr('width', n.width + 2 * de().state.padding)
+ .attr('height', n.height + 2 * de().state.padding)
+ .attr('rx', de().state.radius),
+ r
+ );
+ }, 'drawSimpleState')),
+ (aUe = o((t, e) => {
+ let r = o(function (p, m, g) {
+ let y = p
+ .append('tspan')
+ .attr('x', 2 * de().state.padding)
+ .text(m);
+ g || y.attr('dy', de().state.textHeight);
+ }, 'addTspan'),
+ i = t
+ .append('text')
+ .attr('x', 2 * de().state.padding)
+ .attr('y', de().state.textHeight + 1.3 * de().state.padding)
+ .attr('font-size', de().state.fontSize)
+ .attr('class', 'state-title')
+ .text(e.descriptions[0])
+ .node()
+ .getBBox(),
+ a = i.height,
+ s = t
+ .append('text')
+ .attr('x', de().state.padding)
+ .attr('y', a + de().state.padding * 0.4 + de().state.dividerMargin + de().state.textHeight)
+ .attr('class', 'state-description'),
+ l = !0,
+ u = !0;
+ e.descriptions.forEach(function (p) {
+ l || (r(s, p, u), (u = !1)), (l = !1);
+ });
+ let h = t
+ .append('line')
+ .attr('x1', de().state.padding)
+ .attr('y1', de().state.padding + a + de().state.dividerMargin / 2)
+ .attr('y2', de().state.padding + a + de().state.dividerMargin / 2)
+ .attr('class', 'descr-divider'),
+ f = s.node().getBBox(),
+ d = Math.max(f.width, i.width);
+ return (
+ h.attr('x2', d + 3 * de().state.padding),
+ t
+ .insert('rect', ':first-child')
+ .attr('x', de().state.padding)
+ .attr('y', de().state.padding)
+ .attr('width', d + 2 * de().state.padding)
+ .attr('height', f.height + a + 2 * de().state.padding)
+ .attr('rx', de().state.radius),
+ t
+ );
+ }, 'drawDescrState')),
+ (qfe = o((t, e, r) => {
+ let n = de().state.padding,
+ i = 2 * de().state.padding,
+ a = t.node().getBBox(),
+ s = a.width,
+ l = a.x,
+ u = t
+ .append('text')
+ .attr('x', 0)
+ .attr('y', de().state.titleShift)
+ .attr('font-size', de().state.fontSize)
+ .attr('class', 'state-title')
+ .text(e.id),
+ f = u.node().getBBox().width + i,
+ d = Math.max(f, s);
+ d === s && (d = d + i);
+ let p,
+ m = t.node().getBBox();
+ e.doc,
+ (p = l - n),
+ f > s && (p = (s - d) / 2 + n),
+ Math.abs(l - m.x) < n && f > s && (p = l - (f - s) / 2);
+ let g = 1 - de().state.textHeight;
+ return (
+ t
+ .insert('rect', ':first-child')
+ .attr('x', p)
+ .attr('y', g)
+ .attr('class', r ? 'alt-composit' : 'composit')
+ .attr('width', d)
+ .attr('height', m.height + de().state.textHeight + de().state.titleShift + 1)
+ .attr('rx', '0'),
+ u.attr('x', p + n),
+ f <= s && u.attr('x', l + (d - i) / 2 - f / 2 + n),
+ t
+ .insert('rect', ':first-child')
+ .attr('x', p)
+ .attr('y', de().state.titleShift - de().state.textHeight - de().state.padding)
+ .attr('width', d)
+ .attr('height', de().state.textHeight * 3)
+ .attr('rx', de().state.radius),
+ t
+ .insert('rect', ':first-child')
+ .attr('x', p)
+ .attr('y', de().state.titleShift - de().state.textHeight - de().state.padding)
+ .attr('width', d)
+ .attr('height', m.height + 3 + 2 * de().state.textHeight)
+ .attr('rx', de().state.radius),
+ t
+ );
+ }, 'addTitleAndBox')),
+ (sUe = o(
+ (t) => (
+ t
+ .append('circle')
+ .attr('class', 'end-state-outer')
+ .attr('r', de().state.sizeUnit + de().state.miniPadding)
+ .attr('cx', de().state.padding + de().state.sizeUnit + de().state.miniPadding)
+ .attr('cy', de().state.padding + de().state.sizeUnit + de().state.miniPadding),
+ t
+ .append('circle')
+ .attr('class', 'end-state-inner')
+ .attr('r', de().state.sizeUnit)
+ .attr('cx', de().state.padding + de().state.sizeUnit + 2)
+ .attr('cy', de().state.padding + de().state.sizeUnit + 2)
+ ),
+ 'drawEndState'
+ )),
+ (oUe = o((t, e) => {
+ let r = de().state.forkWidth,
+ n = de().state.forkHeight;
+ if (e.parentId) {
+ let i = r;
+ (r = n), (n = i);
+ }
+ return t
+ .append('rect')
+ .style('stroke', 'black')
+ .style('fill', 'black')
+ .attr('width', r)
+ .attr('height', n)
+ .attr('x', de().state.padding)
+ .attr('y', de().state.padding);
+ }, 'drawForkJoinState')),
+ (lUe = o((t, e, r, n) => {
+ let i = 0,
+ a = n.append('text');
+ a.style('text-anchor', 'start'), a.attr('class', 'noteText');
+ let s = t.replace(/\r\n/g, '
');
+ s = s.replace(/\n/g, '
');
+ let l = s.split(We.lineBreakRegex),
+ u = 1.25 * de().state.noteMargin;
+ for (let h of l) {
+ let f = h.trim();
+ if (f.length > 0) {
+ let d = a.append('tspan');
+ if ((d.text(f), u === 0)) {
+ let p = d.node().getBBox();
+ u += p.height;
+ }
+ (i += u),
+ d.attr('x', e + de().state.noteMargin),
+ d.attr('y', r + i + 1.25 * de().state.noteMargin);
+ }
+ }
+ return { textWidth: a.node().getBBox().width, textHeight: i };
+ }, '_drawLongText')),
+ (cUe = o((t, e) => {
+ e.attr('class', 'state-note');
+ let r = e.append('rect').attr('x', 0).attr('y', de().state.padding),
+ n = e.append('g'),
+ { textWidth: i, textHeight: a } = lUe(t, 0, 0, n);
+ return (
+ r.attr('height', a + 2 * de().state.noteMargin),
+ r.attr('width', i + de().state.noteMargin * 2),
+ r
+ );
+ }, 'drawNote')),
+ (iP = o(function (t, e) {
+ let r = e.id,
+ n = { id: r, label: e.id, width: 0, height: 0 },
+ i = t.append('g').attr('id', r).attr('class', 'stateGroup');
+ e.type === 'start' && rUe(i),
+ e.type === 'end' && sUe(i),
+ (e.type === 'fork' || e.type === 'join') && oUe(i, e),
+ e.type === 'note' && cUe(e.note.text, i),
+ e.type === 'divider' && nUe(i),
+ e.type === 'default' && e.descriptions.length === 0 && iUe(i, e),
+ e.type === 'default' && e.descriptions.length > 0 && aUe(i, e);
+ let a = i.node().getBBox();
+ return (
+ (n.width = a.width + 2 * de().state.padding),
+ (n.height = a.height + 2 * de().state.padding),
+ Hfe.set(r, n),
+ n
+ );
+ }, 'drawState')),
+ (Wfe = 0),
+ (Xfe = o(function (t, e, r) {
+ let n = o(function (u) {
+ switch (u) {
+ case Qo.relationType.AGGREGATION:
+ return 'aggregation';
+ case Qo.relationType.EXTENSION:
+ return 'extension';
+ case Qo.relationType.COMPOSITION:
+ return 'composition';
+ case Qo.relationType.DEPENDENCY:
+ return 'dependency';
+ }
+ }, 'getRelationType');
+ e.points = e.points.filter((u) => !Number.isNaN(u.y));
+ let i = e.points,
+ a = ha()
+ .x(function (u) {
+ return u.x;
+ })
+ .y(function (u) {
+ return u.y;
+ })
+ .curve(vs),
+ s = t
+ .append('path')
+ .attr('d', a(i))
+ .attr('id', 'edge' + Wfe)
+ .attr('class', 'transition'),
+ l = '';
+ if (
+ (de().state.arrowMarkerAbsolute &&
+ ((l =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (l = l.replace(/\(/g, '\\(')),
+ (l = l.replace(/\)/g, '\\)'))),
+ s.attr('marker-end', 'url(' + l + '#' + n(Qo.relationType.DEPENDENCY) + 'End)'),
+ r.title !== void 0)
+ ) {
+ let u = t.append('g').attr('class', 'stateLabel'),
+ { x: h, y: f } = Lt.calcLabelPosition(e.points),
+ d = We.getRows(r.title),
+ p = 0,
+ m = [],
+ g = 0,
+ y = 0;
+ for (let b = 0; b <= d.length; b++) {
+ let w = u
+ .append('text')
+ .attr('text-anchor', 'middle')
+ .text(d[b])
+ .attr('x', h)
+ .attr('y', f + p),
+ S = w.node().getBBox();
+ (g = Math.max(g, S.width)),
+ (y = Math.min(y, S.x)),
+ V.info(S.x, h, f + p),
+ p === 0 && ((p = w.node().getBBox().height), V.info('Title height', p, f)),
+ m.push(w);
+ }
+ let v = p * d.length;
+ if (d.length > 1) {
+ let b = (d.length - 1) * p * 0.5;
+ m.forEach((w, S) => w.attr('y', f + S * p - b)), (v = p * d.length);
+ }
+ let x = u.node().getBBox();
+ u
+ .insert('rect', ':first-child')
+ .attr('class', 'box')
+ .attr('x', h - g / 2 - de().state.padding / 2)
+ .attr('y', f - v / 2 - de().state.padding / 2 - 3.5)
+ .attr('width', g + de().state.padding)
+ .attr('height', v + de().state.padding),
+ V.info(x);
+ }
+ Wfe++;
+ }, 'drawEdge'));
+ });
+ var vo,
+ aP,
+ uUe,
+ hUe,
+ fUe,
+ dUe,
+ Kfe,
+ Qfe,
+ Zfe = R(() => {
+ 'use strict';
+ Zt();
+ Vd();
+ ya();
+ ut();
+ rr();
+ jfe();
+ _t();
+ Yn();
+ (aP = {}),
+ (uUe = o(function () {}, 'setConf')),
+ (hUe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'dependencyEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z');
+ }, 'insertMarkers')),
+ (fUe = o(function (t, e, r, n) {
+ vo = de().state;
+ let i = de().securityLevel,
+ a;
+ i === 'sandbox' && (a = $e('#i' + e));
+ let s = i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body'),
+ l = i === 'sandbox' ? a.nodes()[0].contentDocument : document;
+ V.debug('Rendering diagram ' + t);
+ let u = s.select(`[id='${e}']`);
+ hUe(u);
+ let h = n.db.getRootDoc();
+ Kfe(h, u, void 0, !1, s, l, n);
+ let f = vo.padding,
+ d = u.node().getBBox(),
+ p = d.width + f * 2,
+ m = d.height + f * 2,
+ g = p * 1.75;
+ Sr(u, m, g, vo.useMaxWidth),
+ u.attr('viewBox', `${d.x - vo.padding} ${d.y - vo.padding} ` + p + ' ' + m);
+ }, 'draw')),
+ (dUe = o((t) => (t ? t.length * vo.fontSizeFactor : 1), 'getLabelWidth')),
+ (Kfe = o((t, e, r, n, i, a, s) => {
+ let l = new lr({ compound: !0, multigraph: !0 }),
+ u,
+ h = !0;
+ for (u = 0; u < t.length; u++)
+ if (t[u].stmt === 'relation') {
+ h = !1;
+ break;
+ }
+ r
+ ? l.setGraph({
+ rankdir: 'LR',
+ multigraph: !0,
+ compound: !0,
+ ranker: 'tight-tree',
+ ranksep: h ? 1 : vo.edgeLengthFactor,
+ nodeSep: h ? 1 : 50,
+ isMultiGraph: !0
+ })
+ : l.setGraph({
+ rankdir: 'TB',
+ multigraph: !0,
+ compound: !0,
+ ranksep: h ? 1 : vo.edgeLengthFactor,
+ nodeSep: h ? 1 : 50,
+ ranker: 'tight-tree',
+ isMultiGraph: !0
+ }),
+ l.setDefaultEdgeLabel(function () {
+ return {};
+ }),
+ s.db.extract(t);
+ let f = s.db.getStates(),
+ d = s.db.getRelations(),
+ p = Object.keys(f),
+ m = !0;
+ for (let b of p) {
+ let w = f[b];
+ r && (w.parentId = r);
+ let S;
+ if (w.doc) {
+ let T = e.append('g').attr('id', w.id).attr('class', 'stateGroup');
+ if (((S = Kfe(w.doc, T, w.id, !n, i, a, s)), m)) {
+ T = qfe(T, w, n);
+ let E = T.node().getBBox();
+ (S.width = E.width),
+ (S.height = E.height + vo.padding / 2),
+ (aP[w.id] = { y: vo.compositTitleSize });
+ } else {
+ let E = T.node().getBBox();
+ (S.width = E.width), (S.height = E.height);
+ }
+ } else S = iP(e, w, l);
+ if (w.note) {
+ let T = {
+ descriptions: [],
+ id: w.id + '-note',
+ note: w.note,
+ type: 'note'
+ },
+ E = iP(e, T, l);
+ w.note.position === 'left of'
+ ? (l.setNode(S.id + '-note', E), l.setNode(S.id, S))
+ : (l.setNode(S.id, S), l.setNode(S.id + '-note', E)),
+ l.setParent(S.id, S.id + '-group'),
+ l.setParent(S.id + '-note', S.id + '-group');
+ } else l.setNode(S.id, S);
+ }
+ V.debug('Count=', l.nodeCount(), l);
+ let g = 0;
+ d.forEach(function (b) {
+ g++,
+ V.debug('Setting edge', b),
+ l.setEdge(
+ b.id1,
+ b.id2,
+ {
+ relation: b,
+ width: dUe(b.title),
+ height: vo.labelHeight * We.getRows(b.title).length,
+ labelpos: 'c'
+ },
+ 'id' + g
+ );
+ }),
+ lo(l),
+ V.debug('Graph after layout', l.nodes());
+ let y = e.node();
+ l.nodes().forEach(function (b) {
+ b !== void 0 && l.node(b) !== void 0
+ ? (V.warn('Node ' + b + ': ' + JSON.stringify(l.node(b))),
+ i
+ .select('#' + y.id + ' #' + b)
+ .attr(
+ 'transform',
+ 'translate(' +
+ (l.node(b).x - l.node(b).width / 2) +
+ ',' +
+ (l.node(b).y + (aP[b] ? aP[b].y : 0) - l.node(b).height / 2) +
+ ' )'
+ ),
+ i.select('#' + y.id + ' #' + b).attr('data-x-shift', l.node(b).x - l.node(b).width / 2),
+ a.querySelectorAll('#' + y.id + ' #' + b + ' .divider').forEach((S) => {
+ let T = S.parentElement,
+ E = 0,
+ _ = 0;
+ T &&
+ (T.parentElement && (E = T.parentElement.getBBox().width),
+ (_ = parseInt(T.getAttribute('data-x-shift'), 10)),
+ Number.isNaN(_) && (_ = 0)),
+ S.setAttribute('x1', 0 - _ + 8),
+ S.setAttribute('x2', E - _ - 8);
+ }))
+ : V.debug('No Node ' + b + ': ' + JSON.stringify(l.node(b)));
+ });
+ let v = y.getBBox();
+ l.edges().forEach(function (b) {
+ b !== void 0 &&
+ l.edge(b) !== void 0 &&
+ (V.debug('Edge ' + b.v + ' -> ' + b.w + ': ' + JSON.stringify(l.edge(b))),
+ Xfe(e, l.edge(b), l.edge(b).relation));
+ }),
+ (v = y.getBBox());
+ let x = { id: r || 'root', label: r || 'root', width: 0, height: 0 };
+ return (
+ (x.width = v.width + 2 * vo.padding),
+ (x.height = v.height + 2 * vo.padding),
+ V.debug('Doc rendered', x, l),
+ x
+ );
+ }, 'renderDoc')),
+ (Qfe = { setConf: uUe, draw: fUe });
+ });
+ var Jfe = {};
+ hr(Jfe, { diagram: () => pUe });
+ var pUe,
+ ede = R(() => {
+ 'use strict';
+ IO();
+ QE();
+ rP();
+ Zfe();
+ pUe = {
+ parser: BE,
+ db: Qo,
+ renderer: Qfe,
+ styles: ZE,
+ init: o((t) => {
+ t.state || (t.state = {}), (t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Qo.clear();
+ }, 'init')
+ };
+ });
+ var nde = {};
+ hr(nde, { diagram: () => vUe });
+ var vUe,
+ ide = R(() => {
+ 'use strict';
+ IO();
+ QE();
+ rP();
+ XO();
+ vUe = {
+ parser: BE,
+ db: Qo,
+ renderer: Lfe,
+ styles: ZE,
+ init: o((t) => {
+ t.state || (t.state = {}), (t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Qo.clear();
+ }, 'init')
+ };
+ });
+ var sP,
+ ode,
+ lde = R(() => {
+ 'use strict';
+ sP = (function () {
+ var t = o(function (d, p, m, g) {
+ for (m = m || {}, g = d.length; g--; m[d[g]] = p);
+ return m;
+ }, 'o'),
+ e = [6, 8, 10, 11, 12, 14, 16, 17, 18],
+ r = [1, 9],
+ n = [1, 10],
+ i = [1, 11],
+ a = [1, 12],
+ s = [1, 13],
+ l = [1, 14],
+ u = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ journey: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NEWLINE: 10,
+ title: 11,
+ acc_title: 12,
+ acc_title_value: 13,
+ acc_descr: 14,
+ acc_descr_value: 15,
+ acc_descr_multiline_value: 16,
+ section: 17,
+ taskName: 18,
+ taskData: 19,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'journey',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NEWLINE',
+ 11: 'title',
+ 12: 'acc_title',
+ 13: 'acc_title_value',
+ 14: 'acc_descr',
+ 15: 'acc_descr_value',
+ 16: 'acc_descr_multiline_value',
+ 17: 'section',
+ 18: 'taskName',
+ 19: 'taskData'
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 2]
+ ],
+ performAction: o(function (p, m, g, y, v, x, b) {
+ var w = x.length - 1;
+ switch (v) {
+ case 1:
+ return x[w - 1];
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ x[w - 1].push(x[w]), (this.$ = x[w - 1]);
+ break;
+ case 4:
+ case 5:
+ this.$ = x[w];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ y.setDiagramTitle(x[w].substr(6)), (this.$ = x[w].substr(6));
+ break;
+ case 9:
+ (this.$ = x[w].trim()), y.setAccTitle(this.$);
+ break;
+ case 10:
+ case 11:
+ (this.$ = x[w].trim()), y.setAccDescription(this.$);
+ break;
+ case 12:
+ y.addSection(x[w].substr(8)), (this.$ = x[w].substr(8));
+ break;
+ case 13:
+ y.addTask(x[w - 1], x[w]), (this.$ = 'task');
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ t(e, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: r,
+ 12: n,
+ 14: i,
+ 16: a,
+ 17: s,
+ 18: l
+ },
+ t(e, [2, 7], { 1: [2, 1] }),
+ t(e, [2, 3]),
+ { 9: 15, 11: r, 12: n, 14: i, 16: a, 17: s, 18: l },
+ t(e, [2, 5]),
+ t(e, [2, 6]),
+ t(e, [2, 8]),
+ { 13: [1, 16] },
+ { 15: [1, 17] },
+ t(e, [2, 11]),
+ t(e, [2, 12]),
+ { 19: [1, 18] },
+ t(e, [2, 4]),
+ t(e, [2, 9]),
+ t(e, [2, 10]),
+ t(e, [2, 13])
+ ],
+ defaultActions: {},
+ parseError: o(function (p, m) {
+ if (m.recoverable) this.trace(p);
+ else {
+ var g = new Error(p);
+ throw ((g.hash = m), g);
+ }
+ }, 'parseError'),
+ parse: o(function (p) {
+ var m = this,
+ g = [0],
+ y = [],
+ v = [null],
+ x = [],
+ b = this.table,
+ w = '',
+ S = 0,
+ T = 0,
+ E = 0,
+ _ = 2,
+ A = 1,
+ L = x.slice.call(arguments, 1),
+ M = Object.create(this.lexer),
+ N = { yy: {} };
+ for (var k in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, k) && (N.yy[k] = this.yy[k]);
+ M.setInput(p, N.yy),
+ (N.yy.lexer = M),
+ (N.yy.parser = this),
+ typeof M.yylloc > 'u' && (M.yylloc = {});
+ var I = M.yylloc;
+ x.push(I);
+ var C = M.options && M.options.ranges;
+ typeof N.yy.parseError == 'function'
+ ? (this.parseError = N.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function O(H) {
+ (g.length = g.length - 2 * H), (v.length = v.length - H), (x.length = x.length - H);
+ }
+ o(O, 'popStack');
+ function D() {
+ var H;
+ return (
+ (H = y.pop() || M.lex() || A),
+ typeof H != 'number' &&
+ (H instanceof Array && ((y = H), (H = y.pop())), (H = m.symbols_[H] || H)),
+ H
+ );
+ }
+ o(D, 'lex');
+ for (var P, F, B, $, z, Y, Q = {}, X, ie, j, J; ; ) {
+ if (
+ ((B = g[g.length - 1]),
+ this.defaultActions[B]
+ ? ($ = this.defaultActions[B])
+ : ((P === null || typeof P > 'u') && (P = D()), ($ = b[B] && b[B][P])),
+ typeof $ > 'u' || !$.length || !$[0])
+ ) {
+ var Z = '';
+ J = [];
+ for (X in b[B])
+ this.terminals_[X] && X > _ && J.push("'" + this.terminals_[X] + "'");
+ M.showPosition
+ ? (Z =
+ 'Parse error on line ' +
+ (S + 1) +
+ `:
+` +
+ M.showPosition() +
+ `
+Expecting ` +
+ J.join(', ') +
+ ", got '" +
+ (this.terminals_[P] || P) +
+ "'")
+ : (Z =
+ 'Parse error on line ' +
+ (S + 1) +
+ ': Unexpected ' +
+ (P == A ? 'end of input' : "'" + (this.terminals_[P] || P) + "'")),
+ this.parseError(Z, {
+ text: M.match,
+ token: this.terminals_[P] || P,
+ line: M.yylineno,
+ loc: I,
+ expected: J
+ });
+ }
+ if ($[0] instanceof Array && $.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + B + ', token: ' + P
+ );
+ switch ($[0]) {
+ case 1:
+ g.push(P),
+ v.push(M.yytext),
+ x.push(M.yylloc),
+ g.push($[1]),
+ (P = null),
+ F
+ ? ((P = F), (F = null))
+ : ((T = M.yyleng),
+ (w = M.yytext),
+ (S = M.yylineno),
+ (I = M.yylloc),
+ E > 0 && E--);
+ break;
+ case 2:
+ if (
+ ((ie = this.productions_[$[1]][1]),
+ (Q.$ = v[v.length - ie]),
+ (Q._$ = {
+ first_line: x[x.length - (ie || 1)].first_line,
+ last_line: x[x.length - 1].last_line,
+ first_column: x[x.length - (ie || 1)].first_column,
+ last_column: x[x.length - 1].last_column
+ }),
+ C &&
+ (Q._$.range = [
+ x[x.length - (ie || 1)].range[0],
+ x[x.length - 1].range[1]
+ ]),
+ (Y = this.performAction.apply(Q, [w, T, S, N.yy, $[1], v, x].concat(L))),
+ typeof Y < 'u')
+ )
+ return Y;
+ ie &&
+ ((g = g.slice(0, -1 * ie * 2)),
+ (v = v.slice(0, -1 * ie)),
+ (x = x.slice(0, -1 * ie))),
+ g.push(this.productions_[$[1]][0]),
+ v.push(Q.$),
+ x.push(Q._$),
+ (j = b[g[g.length - 2]][g[g.length - 1]]),
+ g.push(j);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ h = (function () {
+ var d = {
+ EOF: 1,
+ parseError: o(function (m, g) {
+ if (this.yy.parser) this.yy.parser.parseError(m, g);
+ else throw new Error(m);
+ }, 'parseError'),
+ setInput: o(function (p, m) {
+ return (
+ (this.yy = m || this.yy || {}),
+ (this._input = p),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var p = this._input[0];
+ (this.yytext += p),
+ this.yyleng++,
+ this.offset++,
+ (this.match += p),
+ (this.matched += p);
+ var m = p.match(/(?:\r\n?|\n).*/g);
+ return (
+ m ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ p
+ );
+ }, 'input'),
+ unput: o(function (p) {
+ var m = p.length,
+ g = p.split(/(?:\r\n?|\n)/g);
+ (this._input = p + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - m)),
+ (this.offset -= m);
+ var y = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ g.length - 1 && (this.yylineno -= g.length - 1);
+ var v = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: g
+ ? (g.length === y.length ? this.yylloc.first_column : 0) +
+ y[y.length - g.length].length -
+ g[0].length
+ : this.yylloc.first_column - m
+ }),
+ this.options.ranges && (this.yylloc.range = [v[0], v[0] + this.yyleng - m]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (p) {
+ this.unput(this.match.slice(p));
+ }, 'less'),
+ pastInput: o(function () {
+ var p = this.matched.substr(0, this.matched.length - this.match.length);
+ return (p.length > 20 ? '...' : '') + p.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var p = this.match;
+ return (
+ p.length < 20 && (p += this._input.substr(0, 20 - p.length)),
+ (p.substr(0, 20) + (p.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var p = this.pastInput(),
+ m = new Array(p.length + 1).join('-');
+ return (
+ p +
+ this.upcomingInput() +
+ `
+` +
+ m +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (p, m) {
+ var g, y, v;
+ if (
+ (this.options.backtrack_lexer &&
+ ((v = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (v.yylloc.range = this.yylloc.range.slice(0))),
+ (y = p[0].match(/(?:\r\n?|\n).*/g)),
+ y && (this.yylineno += y.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: y
+ ? y[y.length - 1].length - y[y.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + p[0].length
+ }),
+ (this.yytext += p[0]),
+ (this.match += p[0]),
+ (this.matches = p),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(p[0].length)),
+ (this.matched += p[0]),
+ (g = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ m,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ g)
+ )
+ return g;
+ if (this._backtrack) {
+ for (var x in v) this[x] = v[x];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var p, m, g, y;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var v = this._currentRules(), x = 0; x < v.length; x++)
+ if (
+ ((g = this._input.match(this.rules[v[x]])),
+ g && (!m || g[0].length > m[0].length))
+ ) {
+ if (((m = g), (y = x), this.options.backtrack_lexer)) {
+ if (((p = this.test_match(g, v[x])), p !== !1)) return p;
+ if (this._backtrack) {
+ m = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return m
+ ? ((p = this.test_match(m, v[y])), p !== !1 ? p : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var m = this.next();
+ return m || this.lex();
+ }, 'lex'),
+ begin: o(function (m) {
+ this.conditionStack.push(m);
+ }, 'begin'),
+ popState: o(function () {
+ var m = this.conditionStack.length - 1;
+ return m > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (m) {
+ return (
+ (m = this.conditionStack.length - 1 - Math.abs(m || 0)),
+ m >= 0 ? this.conditionStack[m] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (m) {
+ this.begin(m);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (m, g, y, v) {
+ var x = v;
+ switch (y) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return 10;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ return 4;
+ case 6:
+ return 11;
+ case 7:
+ return this.begin('acc_title'), 12;
+ break;
+ case 8:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 9:
+ return this.begin('acc_descr'), 14;
+ break;
+ case 10:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 11:
+ this.begin('acc_descr_multiline');
+ break;
+ case 12:
+ this.popState();
+ break;
+ case 13:
+ return 'acc_descr_multiline_value';
+ case 14:
+ return 17;
+ case 15:
+ return 18;
+ case 16:
+ return 19;
+ case 17:
+ return ':';
+ case 18:
+ return 6;
+ case 19:
+ return 'INVALID';
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:journey\b)/i,
+ /^(?:title\s[^#\n;]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:section\s[^#:\n;]+)/i,
+ /^(?:[^#:\n;]+)/i,
+ /^(?::[^#\n;]+)/i,
+ /^(?::)/i,
+ /^(?:$)/i,
+ /^(?:.)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [12, 13], inclusive: !1 },
+ acc_descr: { rules: [10], inclusive: !1 },
+ acc_title: { rules: [8], inclusive: !1 },
+ INITIAL: {
+ rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19],
+ inclusive: !0
+ }
+ }
+ };
+ return d;
+ })();
+ u.lexer = h;
+ function f() {
+ this.yy = {};
+ }
+ return o(f, 'Parser'), (f.prototype = u), (u.Parser = f), new f();
+ })();
+ sP.parser = sP;
+ ode = sP;
+ });
+ var Ug,
+ oP,
+ Sx,
+ Ax,
+ TUe,
+ kUe,
+ EUe,
+ CUe,
+ SUe,
+ AUe,
+ _Ue,
+ cde,
+ LUe,
+ lP,
+ ude = R(() => {
+ 'use strict';
+ _t();
+ bi();
+ (Ug = ''),
+ (oP = []),
+ (Sx = []),
+ (Ax = []),
+ (TUe = o(function () {
+ (oP.length = 0), (Sx.length = 0), (Ug = ''), (Ax.length = 0), vr();
+ }, 'clear')),
+ (kUe = o(function (t) {
+ (Ug = t), oP.push(t);
+ }, 'addSection')),
+ (EUe = o(function () {
+ return oP;
+ }, 'getSections')),
+ (CUe = o(function () {
+ let t = cde(),
+ e = 100,
+ r = 0;
+ for (; !t && r < e; ) (t = cde()), r++;
+ return Sx.push(...Ax), Sx;
+ }, 'getTasks')),
+ (SUe = o(function () {
+ let t = [];
+ return (
+ Sx.forEach((r) => {
+ r.people && t.push(...r.people);
+ }),
+ [...new Set(t)].sort()
+ );
+ }, 'updateActors')),
+ (AUe = o(function (t, e) {
+ let r = e.substr(1).split(':'),
+ n = 0,
+ i = [];
+ r.length === 1 ? ((n = Number(r[0])), (i = [])) : ((n = Number(r[0])), (i = r[1].split(',')));
+ let a = i.map((l) => l.trim()),
+ s = { section: Ug, type: Ug, people: a, task: t, score: n };
+ Ax.push(s);
+ }, 'addTask')),
+ (_Ue = o(function (t) {
+ let e = {
+ section: Ug,
+ type: Ug,
+ description: t,
+ task: t,
+ classes: []
+ };
+ Sx.push(e);
+ }, 'addTaskOrg')),
+ (cde = o(function () {
+ let t = o(function (r) {
+ return Ax[r].processed;
+ }, 'compileTask'),
+ e = !0;
+ for (let [r, n] of Ax.entries()) t(r), (e = e && n.processed);
+ return e;
+ }, 'compileTasks')),
+ (LUe = o(function () {
+ return SUe();
+ }, 'getActors')),
+ (lP = {
+ getConfig: o(() => de().journey, 'getConfig'),
+ clear: TUe,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ addSection: kUe,
+ getSections: EUe,
+ getTasks: CUe,
+ addTask: AUe,
+ addTaskOrg: _Ue,
+ getActors: LUe
+ });
+ });
+ var DUe,
+ hde,
+ fde = R(() => {
+ 'use strict';
+ (DUe = o(
+ (t) => `.label {
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
+ font-family: var(--mermaid-font-family);
+ color: ${t.textColor};
+ }
+ .mouth {
+ stroke: #666;
+ }
+
+ line {
+ stroke: ${t.textColor}
+ }
+
+ .legend {
+ fill: ${t.textColor};
+ }
+
+ .label text {
+ fill: #333;
+ }
+ .label {
+ color: ${t.textColor}
+ }
+
+ .face {
+ ${t.faceColor ? `fill: ${t.faceColor}` : 'fill: #FFF8DC'};
+ stroke: #999;
+ }
+
+ .node rect,
+ .node circle,
+ .node ellipse,
+ .node polygon,
+ .node path {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+ stroke-width: 1px;
+ }
+
+ .node .label {
+ text-align: center;
+ }
+ .node.clickable {
+ cursor: pointer;
+ }
+
+ .arrowheadPath {
+ fill: ${t.arrowheadColor};
+ }
+
+ .edgePath .path {
+ stroke: ${t.lineColor};
+ stroke-width: 1.5px;
+ }
+
+ .flowchart-link {
+ stroke: ${t.lineColor};
+ fill: none;
+ }
+
+ .edgeLabel {
+ background-color: ${t.edgeLabelBackground};
+ rect {
+ opacity: 0.5;
+ }
+ text-align: center;
+ }
+
+ .cluster rect {
+ }
+
+ .cluster text {
+ fill: ${t.titleColor};
+ }
+
+ div.mermaidTooltip {
+ position: absolute;
+ text-align: center;
+ max-width: 200px;
+ padding: 2px;
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
+ font-family: var(--mermaid-font-family);
+ font-size: 12px;
+ background: ${t.tertiaryColor};
+ border: 1px solid ${t.border2};
+ border-radius: 2px;
+ pointer-events: none;
+ z-index: 100;
+ }
+
+ .task-type-0, .section-type-0 {
+ ${t.fillType0 ? `fill: ${t.fillType0}` : ''};
+ }
+ .task-type-1, .section-type-1 {
+ ${t.fillType0 ? `fill: ${t.fillType1}` : ''};
+ }
+ .task-type-2, .section-type-2 {
+ ${t.fillType0 ? `fill: ${t.fillType2}` : ''};
+ }
+ .task-type-3, .section-type-3 {
+ ${t.fillType0 ? `fill: ${t.fillType3}` : ''};
+ }
+ .task-type-4, .section-type-4 {
+ ${t.fillType0 ? `fill: ${t.fillType4}` : ''};
+ }
+ .task-type-5, .section-type-5 {
+ ${t.fillType0 ? `fill: ${t.fillType5}` : ''};
+ }
+ .task-type-6, .section-type-6 {
+ ${t.fillType0 ? `fill: ${t.fillType6}` : ''};
+ }
+ .task-type-7, .section-type-7 {
+ ${t.fillType0 ? `fill: ${t.fillType7}` : ''};
+ }
+
+ .actor-0 {
+ ${t.actor0 ? `fill: ${t.actor0}` : ''};
+ }
+ .actor-1 {
+ ${t.actor1 ? `fill: ${t.actor1}` : ''};
+ }
+ .actor-2 {
+ ${t.actor2 ? `fill: ${t.actor2}` : ''};
+ }
+ .actor-3 {
+ ${t.actor3 ? `fill: ${t.actor3}` : ''};
+ }
+ .actor-4 {
+ ${t.actor4 ? `fill: ${t.actor4}` : ''};
+ }
+ .actor-5 {
+ ${t.actor5 ? `fill: ${t.actor5}` : ''};
+ }
+`,
+ 'getStyles'
+ )),
+ (hde = DUe);
+ });
+ var cP,
+ RUe,
+ pde,
+ mde,
+ NUe,
+ MUe,
+ dde,
+ IUe,
+ OUe,
+ gde,
+ PUe,
+ Hg,
+ yde = R(() => {
+ 'use strict';
+ Zt();
+ Qy();
+ (cP = o(function (t, e) {
+ return yd(t, e);
+ }, 'drawRect')),
+ (RUe = o(function (t, e) {
+ let n = t
+ .append('circle')
+ .attr('cx', e.cx)
+ .attr('cy', e.cy)
+ .attr('class', 'face')
+ .attr('r', 15)
+ .attr('stroke-width', 2)
+ .attr('overflow', 'visible'),
+ i = t.append('g');
+ i
+ .append('circle')
+ .attr('cx', e.cx - 15 / 3)
+ .attr('cy', e.cy - 15 / 3)
+ .attr('r', 1.5)
+ .attr('stroke-width', 2)
+ .attr('fill', '#666')
+ .attr('stroke', '#666'),
+ i
+ .append('circle')
+ .attr('cx', e.cx + 15 / 3)
+ .attr('cy', e.cy - 15 / 3)
+ .attr('r', 1.5)
+ .attr('stroke-width', 2)
+ .attr('fill', '#666')
+ .attr('stroke', '#666');
+ function a(u) {
+ let h = bl()
+ .startAngle(Math.PI / 2)
+ .endAngle(3 * (Math.PI / 2))
+ .innerRadius(7.5)
+ .outerRadius(6.8181818181818175);
+ u.append('path')
+ .attr('class', 'mouth')
+ .attr('d', h)
+ .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 2) + ')');
+ }
+ o(a, 'smile');
+ function s(u) {
+ let h = bl()
+ .startAngle((3 * Math.PI) / 2)
+ .endAngle(5 * (Math.PI / 2))
+ .innerRadius(7.5)
+ .outerRadius(6.8181818181818175);
+ u.append('path')
+ .attr('class', 'mouth')
+ .attr('d', h)
+ .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 7) + ')');
+ }
+ o(s, 'sad');
+ function l(u) {
+ u.append('line')
+ .attr('class', 'mouth')
+ .attr('stroke', 2)
+ .attr('x1', e.cx - 5)
+ .attr('y1', e.cy + 7)
+ .attr('x2', e.cx + 5)
+ .attr('y2', e.cy + 7)
+ .attr('class', 'mouth')
+ .attr('stroke-width', '1px')
+ .attr('stroke', '#666');
+ }
+ return o(l, 'ambivalent'), e.score > 3 ? a(i) : e.score < 3 ? s(i) : l(i), n;
+ }, 'drawFace')),
+ (pde = o(function (t, e) {
+ let r = t.append('circle');
+ return (
+ r.attr('cx', e.cx),
+ r.attr('cy', e.cy),
+ r.attr('class', 'actor-' + e.pos),
+ r.attr('fill', e.fill),
+ r.attr('stroke', e.stroke),
+ r.attr('r', e.r),
+ r.class !== void 0 && r.attr('class', r.class),
+ e.title !== void 0 && r.append('title').text(e.title),
+ r
+ );
+ }, 'drawCircle')),
+ (mde = o(function (t, e) {
+ return TW(t, e);
+ }, 'drawText')),
+ (NUe = o(function (t, e) {
+ function r(i, a, s, l, u) {
+ return (
+ i +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ (a + l - u) +
+ ' ' +
+ (i + s - u * 1.2) +
+ ',' +
+ (a + l) +
+ ' ' +
+ i +
+ ',' +
+ (a + l)
+ );
+ }
+ o(r, 'genPoints');
+ let n = t.append('polygon');
+ n.attr('points', r(e.x, e.y, 50, 20, 7)),
+ n.attr('class', 'labelBox'),
+ (e.y = e.y + e.labelMargin),
+ (e.x = e.x + 0.5 * e.labelMargin),
+ mde(t, e);
+ }, 'drawLabel')),
+ (MUe = o(function (t, e, r) {
+ let n = t.append('g'),
+ i = wl();
+ (i.x = e.x),
+ (i.y = e.y),
+ (i.fill = e.fill),
+ (i.width = r.width * e.taskCount + r.diagramMarginX * (e.taskCount - 1)),
+ (i.height = r.height),
+ (i.class = 'journey-section section-type-' + e.num),
+ (i.rx = 3),
+ (i.ry = 3),
+ cP(n, i),
+ gde(r)(
+ e.text,
+ n,
+ i.x,
+ i.y,
+ i.width,
+ i.height,
+ { class: 'journey-section section-type-' + e.num },
+ r,
+ e.colour
+ );
+ }, 'drawSection')),
+ (dde = -1),
+ (IUe = o(function (t, e, r) {
+ let n = e.x + r.width / 2,
+ i = t.append('g');
+ dde++;
+ let a = 300 + 5 * 30;
+ i
+ .append('line')
+ .attr('id', 'task' + dde)
+ .attr('x1', n)
+ .attr('y1', e.y)
+ .attr('x2', n)
+ .attr('y2', a)
+ .attr('class', 'task-line')
+ .attr('stroke-width', '1px')
+ .attr('stroke-dasharray', '4 2')
+ .attr('stroke', '#666'),
+ RUe(i, { cx: n, cy: 300 + (5 - e.score) * 30, score: e.score });
+ let s = wl();
+ (s.x = e.x),
+ (s.y = e.y),
+ (s.fill = e.fill),
+ (s.width = r.width),
+ (s.height = r.height),
+ (s.class = 'task task-type-' + e.num),
+ (s.rx = 3),
+ (s.ry = 3),
+ cP(i, s);
+ let l = e.x + 14;
+ e.people.forEach((u) => {
+ let h = e.actors[u].color,
+ f = {
+ cx: l,
+ cy: e.y,
+ r: 7,
+ fill: h,
+ stroke: '#000',
+ title: u,
+ pos: e.actors[u].position
+ };
+ pde(i, f), (l += 10);
+ }),
+ gde(r)(e.task, i, s.x, s.y, s.width, s.height, { class: 'task' }, r, e.colour);
+ }, 'drawTask')),
+ (OUe = o(function (t, e) {
+ j3(t, e);
+ }, 'drawBackgroundRect')),
+ (gde = (function () {
+ function t(i, a, s, l, u, h, f, d) {
+ let p = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l + h / 2 + 5)
+ .style('font-color', d)
+ .style('text-anchor', 'middle')
+ .text(i);
+ n(p, f);
+ }
+ o(t, 'byText');
+ function e(i, a, s, l, u, h, f, d, p) {
+ let { taskFontSize: m, taskFontFamily: g } = d,
+ y = i.split(/
/gi);
+ for (let v = 0; v < y.length; v++) {
+ let x = v * m - (m * (y.length - 1)) / 2,
+ b = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l)
+ .attr('fill', p)
+ .style('text-anchor', 'middle')
+ .style('font-size', m)
+ .style('font-family', g);
+ b
+ .append('tspan')
+ .attr('x', s + u / 2)
+ .attr('dy', x)
+ .text(y[v]),
+ b
+ .attr('y', l + h / 2)
+ .attr('dominant-baseline', 'central')
+ .attr('alignment-baseline', 'central'),
+ n(b, f);
+ }
+ }
+ o(e, 'byTspan');
+ function r(i, a, s, l, u, h, f, d) {
+ let p = a.append('switch'),
+ g = p
+ .append('foreignObject')
+ .attr('x', s)
+ .attr('y', l)
+ .attr('width', u)
+ .attr('height', h)
+ .attr('position', 'fixed')
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ g
+ .append('div')
+ .attr('class', 'label')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(i),
+ e(i, p, s, l, u, h, f, d),
+ n(g, f);
+ }
+ o(r, 'byFo');
+ function n(i, a) {
+ for (let s in a) s in a && i.attr(s, a[s]);
+ }
+ return (
+ o(n, '_setTextAttrs'),
+ function (i) {
+ return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e;
+ }
+ );
+ })()),
+ (PUe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'arrowhead')
+ .attr('refX', 5)
+ .attr('refY', 2)
+ .attr('markerWidth', 6)
+ .attr('markerHeight', 4)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0,0 V 4 L6,2 Z');
+ }, 'initGraphics')),
+ (Hg = {
+ drawRect: cP,
+ drawCircle: pde,
+ drawSection: MUe,
+ drawText: mde,
+ drawLabel: NUe,
+ drawTask: IUe,
+ drawBackgroundRect: OUe,
+ initGraphics: PUe
+ });
+ });
+ function FUe(t) {
+ let e = de().journey,
+ r = 60;
+ Object.keys(Xu).forEach((n) => {
+ let i = Xu[n].color,
+ a = {
+ cx: 20,
+ cy: r,
+ r: 7,
+ fill: i,
+ stroke: '#000',
+ pos: Xu[n].position
+ };
+ Hg.drawCircle(t, a);
+ let s = {
+ x: 40,
+ y: r + 7,
+ fill: '#666',
+ text: n,
+ textMargin: e.boxTextMargin | 5
+ };
+ Hg.drawText(t, s), (r += 20);
+ });
+ }
+ var BUe,
+ Xu,
+ JE,
+ I0,
+ zUe,
+ Zo,
+ uP,
+ vde,
+ GUe,
+ hP,
+ xde = R(() => {
+ 'use strict';
+ Zt();
+ yde();
+ _t();
+ Yn();
+ (BUe = o(function (t) {
+ Object.keys(t).forEach(function (r) {
+ JE[r] = t[r];
+ });
+ }, 'setConf')),
+ (Xu = {});
+ o(FUe, 'drawActorLegend');
+ (JE = de().journey),
+ (I0 = JE.leftMargin),
+ (zUe = o(function (t, e, r, n) {
+ let i = de().journey,
+ a = de().securityLevel,
+ s;
+ a === 'sandbox' && (s = $e('#i' + e));
+ let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body');
+ Zo.init();
+ let u = l.select('#' + e);
+ Hg.initGraphics(u);
+ let h = n.db.getTasks(),
+ f = n.db.getDiagramTitle(),
+ d = n.db.getActors();
+ for (let x in Xu) delete Xu[x];
+ let p = 0;
+ d.forEach((x) => {
+ (Xu[x] = {
+ color: i.actorColours[p % i.actorColours.length],
+ position: p
+ }),
+ p++;
+ }),
+ FUe(u),
+ Zo.insert(0, 0, I0, Object.keys(Xu).length * 50),
+ GUe(u, h, 0);
+ let m = Zo.getBounds();
+ f &&
+ u
+ .append('text')
+ .text(f)
+ .attr('x', I0)
+ .attr('font-size', '4ex')
+ .attr('font-weight', 'bold')
+ .attr('y', 25);
+ let g = m.stopy - m.starty + 2 * i.diagramMarginY,
+ y = I0 + m.stopx + 2 * i.diagramMarginX;
+ Sr(u, g, y, i.useMaxWidth),
+ u
+ .append('line')
+ .attr('x1', I0)
+ .attr('y1', i.height * 4)
+ .attr('x2', y - I0 - 4)
+ .attr('y2', i.height * 4)
+ .attr('stroke-width', 4)
+ .attr('stroke', 'black')
+ .attr('marker-end', 'url(#arrowhead)');
+ let v = f ? 70 : 0;
+ u.attr('viewBox', `${m.startx} -25 ${y} ${g + v}`),
+ u.attr('preserveAspectRatio', 'xMinYMin meet'),
+ u.attr('height', g + v + 25);
+ }, 'draw')),
+ (Zo = {
+ data: {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0
+ },
+ verticalPos: 0,
+ sequenceItems: [],
+ init: o(function () {
+ (this.sequenceItems = []),
+ (this.data = {
+ startx: void 0,
+ stopx: void 0,
+ starty: void 0,
+ stopy: void 0
+ }),
+ (this.verticalPos = 0);
+ }, 'init'),
+ updateVal: o(function (t, e, r, n) {
+ t[e] === void 0 ? (t[e] = r) : (t[e] = n(r, t[e]));
+ }, 'updateVal'),
+ updateBounds: o(function (t, e, r, n) {
+ let i = de().journey,
+ a = this,
+ s = 0;
+ function l(u) {
+ return o(function (f) {
+ s++;
+ let d = a.sequenceItems.length - s + 1;
+ a.updateVal(f, 'starty', e - d * i.boxMargin, Math.min),
+ a.updateVal(f, 'stopy', n + d * i.boxMargin, Math.max),
+ a.updateVal(Zo.data, 'startx', t - d * i.boxMargin, Math.min),
+ a.updateVal(Zo.data, 'stopx', r + d * i.boxMargin, Math.max),
+ u !== 'activation' &&
+ (a.updateVal(f, 'startx', t - d * i.boxMargin, Math.min),
+ a.updateVal(f, 'stopx', r + d * i.boxMargin, Math.max),
+ a.updateVal(Zo.data, 'starty', e - d * i.boxMargin, Math.min),
+ a.updateVal(Zo.data, 'stopy', n + d * i.boxMargin, Math.max));
+ }, 'updateItemBounds');
+ }
+ o(l, 'updateFn'), this.sequenceItems.forEach(l());
+ }, 'updateBounds'),
+ insert: o(function (t, e, r, n) {
+ let i = Math.min(t, r),
+ a = Math.max(t, r),
+ s = Math.min(e, n),
+ l = Math.max(e, n);
+ this.updateVal(Zo.data, 'startx', i, Math.min),
+ this.updateVal(Zo.data, 'starty', s, Math.min),
+ this.updateVal(Zo.data, 'stopx', a, Math.max),
+ this.updateVal(Zo.data, 'stopy', l, Math.max),
+ this.updateBounds(i, s, a, l);
+ }, 'insert'),
+ bumpVerticalPos: o(function (t) {
+ (this.verticalPos = this.verticalPos + t), (this.data.stopy = this.verticalPos);
+ }, 'bumpVerticalPos'),
+ getVerticalPos: o(function () {
+ return this.verticalPos;
+ }, 'getVerticalPos'),
+ getBounds: o(function () {
+ return this.data;
+ }, 'getBounds')
+ }),
+ (uP = JE.sectionFills),
+ (vde = JE.sectionColours),
+ (GUe = o(function (t, e, r) {
+ let n = de().journey,
+ i = '',
+ a = n.height * 2 + n.diagramMarginY,
+ s = r + a,
+ l = 0,
+ u = '#CCC',
+ h = 'black',
+ f = 0;
+ for (let [d, p] of e.entries()) {
+ if (i !== p.section) {
+ (u = uP[l % uP.length]), (f = l % uP.length), (h = vde[l % vde.length]);
+ let g = 0,
+ y = p.section;
+ for (let x = d; x < e.length && e[x].section == y; x++) g = g + 1;
+ let v = {
+ x: d * n.taskMargin + d * n.width + I0,
+ y: 50,
+ text: p.section,
+ fill: u,
+ num: f,
+ colour: h,
+ taskCount: g
+ };
+ Hg.drawSection(t, v, n), (i = p.section), l++;
+ }
+ let m = p.people.reduce((g, y) => (Xu[y] && (g[y] = Xu[y]), g), {});
+ (p.x = d * n.taskMargin + d * n.width + I0),
+ (p.y = s),
+ (p.width = n.diagramMarginX),
+ (p.height = n.diagramMarginY),
+ (p.colour = h),
+ (p.fill = u),
+ (p.num = f),
+ (p.actors = m),
+ Hg.drawTask(t, p, n),
+ Zo.insert(p.x, p.y, p.x + p.width + n.taskMargin, 300 + 5 * 30);
+ }
+ }, 'drawTasks')),
+ (hP = { setConf: BUe, draw: zUe });
+ });
+ var bde = {};
+ hr(bde, { diagram: () => $Ue });
+ var $Ue,
+ wde = R(() => {
+ 'use strict';
+ lde();
+ ude();
+ fde();
+ xde();
+ $Ue = {
+ parser: ode,
+ db: lP,
+ renderer: hP,
+ styles: hde,
+ init: o((t) => {
+ hP.setConf(t.journey), lP.clear();
+ }, 'init')
+ };
+ });
+ var dP,
+ _de,
+ Lde = R(() => {
+ 'use strict';
+ dP = (function () {
+ var t = o(function (p, m, g, y) {
+ for (g = g || {}, y = p.length; y--; g[p[y]] = m);
+ return g;
+ }, 'o'),
+ e = [6, 8, 10, 11, 12, 14, 16, 17, 20, 21],
+ r = [1, 9],
+ n = [1, 10],
+ i = [1, 11],
+ a = [1, 12],
+ s = [1, 13],
+ l = [1, 16],
+ u = [1, 17],
+ h = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ timeline: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NEWLINE: 10,
+ title: 11,
+ acc_title: 12,
+ acc_title_value: 13,
+ acc_descr: 14,
+ acc_descr_value: 15,
+ acc_descr_multiline_value: 16,
+ section: 17,
+ period_statement: 18,
+ event_statement: 19,
+ period: 20,
+ event: 21,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'timeline',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NEWLINE',
+ 11: 'title',
+ 12: 'acc_title',
+ 13: 'acc_title_value',
+ 14: 'acc_descr',
+ 15: 'acc_descr_value',
+ 16: 'acc_descr_multiline_value',
+ 17: 'section',
+ 20: 'period',
+ 21: 'event'
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [18, 1],
+ [19, 1]
+ ],
+ performAction: o(function (m, g, y, v, x, b, w) {
+ var S = b.length - 1;
+ switch (x) {
+ case 1:
+ return b[S - 1];
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ b[S - 1].push(b[S]), (this.$ = b[S - 1]);
+ break;
+ case 4:
+ case 5:
+ this.$ = b[S];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ v.getCommonDb().setDiagramTitle(b[S].substr(6)), (this.$ = b[S].substr(6));
+ break;
+ case 9:
+ (this.$ = b[S].trim()), v.getCommonDb().setAccTitle(this.$);
+ break;
+ case 10:
+ case 11:
+ (this.$ = b[S].trim()), v.getCommonDb().setAccDescription(this.$);
+ break;
+ case 12:
+ v.addSection(b[S].substr(8)), (this.$ = b[S].substr(8));
+ break;
+ case 15:
+ v.addTask(b[S], 0, ''), (this.$ = b[S]);
+ break;
+ case 16:
+ v.addEvent(b[S].substr(2)), (this.$ = b[S]);
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ t(e, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: r,
+ 12: n,
+ 14: i,
+ 16: a,
+ 17: s,
+ 18: 14,
+ 19: 15,
+ 20: l,
+ 21: u
+ },
+ t(e, [2, 7], { 1: [2, 1] }),
+ t(e, [2, 3]),
+ {
+ 9: 18,
+ 11: r,
+ 12: n,
+ 14: i,
+ 16: a,
+ 17: s,
+ 18: 14,
+ 19: 15,
+ 20: l,
+ 21: u
+ },
+ t(e, [2, 5]),
+ t(e, [2, 6]),
+ t(e, [2, 8]),
+ { 13: [1, 19] },
+ { 15: [1, 20] },
+ t(e, [2, 11]),
+ t(e, [2, 12]),
+ t(e, [2, 13]),
+ t(e, [2, 14]),
+ t(e, [2, 15]),
+ t(e, [2, 16]),
+ t(e, [2, 4]),
+ t(e, [2, 9]),
+ t(e, [2, 10])
+ ],
+ defaultActions: {},
+ parseError: o(function (m, g) {
+ if (g.recoverable) this.trace(m);
+ else {
+ var y = new Error(m);
+ throw ((y.hash = g), y);
+ }
+ }, 'parseError'),
+ parse: o(function (m) {
+ var g = this,
+ y = [0],
+ v = [],
+ x = [null],
+ b = [],
+ w = this.table,
+ S = '',
+ T = 0,
+ E = 0,
+ _ = 0,
+ A = 2,
+ L = 1,
+ M = b.slice.call(arguments, 1),
+ N = Object.create(this.lexer),
+ k = { yy: {} };
+ for (var I in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, I) && (k.yy[I] = this.yy[I]);
+ N.setInput(m, k.yy),
+ (k.yy.lexer = N),
+ (k.yy.parser = this),
+ typeof N.yylloc > 'u' && (N.yylloc = {});
+ var C = N.yylloc;
+ b.push(C);
+ var O = N.options && N.options.ranges;
+ typeof k.yy.parseError == 'function'
+ ? (this.parseError = k.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function D(q) {
+ (y.length = y.length - 2 * q), (x.length = x.length - q), (b.length = b.length - q);
+ }
+ o(D, 'popStack');
+ function P() {
+ var q;
+ return (
+ (q = v.pop() || N.lex() || L),
+ typeof q != 'number' &&
+ (q instanceof Array && ((v = q), (q = v.pop())), (q = g.symbols_[q] || q)),
+ q
+ );
+ }
+ o(P, 'lex');
+ for (var F, B, $, z, Y, Q, X = {}, ie, j, J, Z; ; ) {
+ if (
+ (($ = y[y.length - 1]),
+ this.defaultActions[$]
+ ? (z = this.defaultActions[$])
+ : ((F === null || typeof F > 'u') && (F = P()), (z = w[$] && w[$][F])),
+ typeof z > 'u' || !z.length || !z[0])
+ ) {
+ var H = '';
+ Z = [];
+ for (ie in w[$])
+ this.terminals_[ie] && ie > A && Z.push("'" + this.terminals_[ie] + "'");
+ N.showPosition
+ ? (H =
+ 'Parse error on line ' +
+ (T + 1) +
+ `:
+` +
+ N.showPosition() +
+ `
+Expecting ` +
+ Z.join(', ') +
+ ", got '" +
+ (this.terminals_[F] || F) +
+ "'")
+ : (H =
+ 'Parse error on line ' +
+ (T + 1) +
+ ': Unexpected ' +
+ (F == L ? 'end of input' : "'" + (this.terminals_[F] || F) + "'")),
+ this.parseError(H, {
+ text: N.match,
+ token: this.terminals_[F] || F,
+ line: N.yylineno,
+ loc: C,
+ expected: Z
+ });
+ }
+ if (z[0] instanceof Array && z.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + $ + ', token: ' + F
+ );
+ switch (z[0]) {
+ case 1:
+ y.push(F),
+ x.push(N.yytext),
+ b.push(N.yylloc),
+ y.push(z[1]),
+ (F = null),
+ B
+ ? ((F = B), (B = null))
+ : ((E = N.yyleng),
+ (S = N.yytext),
+ (T = N.yylineno),
+ (C = N.yylloc),
+ _ > 0 && _--);
+ break;
+ case 2:
+ if (
+ ((j = this.productions_[z[1]][1]),
+ (X.$ = x[x.length - j]),
+ (X._$ = {
+ first_line: b[b.length - (j || 1)].first_line,
+ last_line: b[b.length - 1].last_line,
+ first_column: b[b.length - (j || 1)].first_column,
+ last_column: b[b.length - 1].last_column
+ }),
+ O &&
+ (X._$.range = [
+ b[b.length - (j || 1)].range[0],
+ b[b.length - 1].range[1]
+ ]),
+ (Q = this.performAction.apply(X, [S, E, T, k.yy, z[1], x, b].concat(M))),
+ typeof Q < 'u')
+ )
+ return Q;
+ j &&
+ ((y = y.slice(0, -1 * j * 2)),
+ (x = x.slice(0, -1 * j)),
+ (b = b.slice(0, -1 * j))),
+ y.push(this.productions_[z[1]][0]),
+ x.push(X.$),
+ b.push(X._$),
+ (J = w[y[y.length - 2]][y[y.length - 1]]),
+ y.push(J);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ f = (function () {
+ var p = {
+ EOF: 1,
+ parseError: o(function (g, y) {
+ if (this.yy.parser) this.yy.parser.parseError(g, y);
+ else throw new Error(g);
+ }, 'parseError'),
+ setInput: o(function (m, g) {
+ return (
+ (this.yy = g || this.yy || {}),
+ (this._input = m),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var m = this._input[0];
+ (this.yytext += m),
+ this.yyleng++,
+ this.offset++,
+ (this.match += m),
+ (this.matched += m);
+ var g = m.match(/(?:\r\n?|\n).*/g);
+ return (
+ g ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ m
+ );
+ }, 'input'),
+ unput: o(function (m) {
+ var g = m.length,
+ y = m.split(/(?:\r\n?|\n)/g);
+ (this._input = m + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - g)),
+ (this.offset -= g);
+ var v = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ y.length - 1 && (this.yylineno -= y.length - 1);
+ var x = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: y
+ ? (y.length === v.length ? this.yylloc.first_column : 0) +
+ v[v.length - y.length].length -
+ y[0].length
+ : this.yylloc.first_column - g
+ }),
+ this.options.ranges && (this.yylloc.range = [x[0], x[0] + this.yyleng - g]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (m) {
+ this.unput(this.match.slice(m));
+ }, 'less'),
+ pastInput: o(function () {
+ var m = this.matched.substr(0, this.matched.length - this.match.length);
+ return (m.length > 20 ? '...' : '') + m.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var m = this.match;
+ return (
+ m.length < 20 && (m += this._input.substr(0, 20 - m.length)),
+ (m.substr(0, 20) + (m.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var m = this.pastInput(),
+ g = new Array(m.length + 1).join('-');
+ return (
+ m +
+ this.upcomingInput() +
+ `
+` +
+ g +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (m, g) {
+ var y, v, x;
+ if (
+ (this.options.backtrack_lexer &&
+ ((x = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (x.yylloc.range = this.yylloc.range.slice(0))),
+ (v = m[0].match(/(?:\r\n?|\n).*/g)),
+ v && (this.yylineno += v.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: v
+ ? v[v.length - 1].length - v[v.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + m[0].length
+ }),
+ (this.yytext += m[0]),
+ (this.match += m[0]),
+ (this.matches = m),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(m[0].length)),
+ (this.matched += m[0]),
+ (y = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ g,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ y)
+ )
+ return y;
+ if (this._backtrack) {
+ for (var b in x) this[b] = x[b];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var m, g, y, v;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var x = this._currentRules(), b = 0; b < x.length; b++)
+ if (
+ ((y = this._input.match(this.rules[x[b]])),
+ y && (!g || y[0].length > g[0].length))
+ ) {
+ if (((g = y), (v = b), this.options.backtrack_lexer)) {
+ if (((m = this.test_match(y, x[b])), m !== !1)) return m;
+ if (this._backtrack) {
+ g = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return g
+ ? ((m = this.test_match(g, x[v])), m !== !1 ? m : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var g = this.next();
+ return g || this.lex();
+ }, 'lex'),
+ begin: o(function (g) {
+ this.conditionStack.push(g);
+ }, 'begin'),
+ popState: o(function () {
+ var g = this.conditionStack.length - 1;
+ return g > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (g) {
+ return (
+ (g = this.conditionStack.length - 1 - Math.abs(g || 0)),
+ g >= 0 ? this.conditionStack[g] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (g) {
+ this.begin(g);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (g, y, v, x) {
+ var b = x;
+ switch (v) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return 10;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ return 4;
+ case 6:
+ return 11;
+ case 7:
+ return this.begin('acc_title'), 12;
+ break;
+ case 8:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 9:
+ return this.begin('acc_descr'), 14;
+ break;
+ case 10:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 11:
+ this.begin('acc_descr_multiline');
+ break;
+ case 12:
+ this.popState();
+ break;
+ case 13:
+ return 'acc_descr_multiline_value';
+ case 14:
+ return 17;
+ case 15:
+ return 21;
+ case 16:
+ return 20;
+ case 17:
+ return 6;
+ case 18:
+ return 'INVALID';
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:timeline\b)/i,
+ /^(?:title\s[^\n]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:section\s[^:\n]+)/i,
+ /^(?::\s[^:\n]+)/i,
+ /^(?:[^#:\n]+)/i,
+ /^(?:$)/i,
+ /^(?:.)/i
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [12, 13], inclusive: !1 },
+ acc_descr: { rules: [10], inclusive: !1 },
+ acc_title: { rules: [8], inclusive: !1 },
+ INITIAL: {
+ rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18],
+ inclusive: !0
+ }
+ }
+ };
+ return p;
+ })();
+ h.lexer = f;
+ function d() {
+ this.yy = {};
+ }
+ return o(d, 'Parser'), (d.prototype = h), (h.Parser = d), new d();
+ })();
+ dP.parser = dP;
+ _de = dP;
+ });
+ var mP = {};
+ hr(mP, {
+ addEvent: () => Fde,
+ addSection: () => Ide,
+ addTask: () => Bde,
+ addTaskOrg: () => zde,
+ clear: () => Mde,
+ default: () => KUe,
+ getCommonDb: () => Nde,
+ getSections: () => Ode,
+ getTasks: () => Pde
+ });
+ var Yg,
+ Rde,
+ pP,
+ e6,
+ Wg,
+ Nde,
+ Mde,
+ Ide,
+ Ode,
+ Pde,
+ Bde,
+ Fde,
+ zde,
+ Dde,
+ KUe,
+ Gde = R(() => {
+ 'use strict';
+ bi();
+ (Yg = ''),
+ (Rde = 0),
+ (pP = []),
+ (e6 = []),
+ (Wg = []),
+ (Nde = o(() => ly, 'getCommonDb')),
+ (Mde = o(function () {
+ (pP.length = 0), (e6.length = 0), (Yg = ''), (Wg.length = 0), vr();
+ }, 'clear')),
+ (Ide = o(function (t) {
+ (Yg = t), pP.push(t);
+ }, 'addSection')),
+ (Ode = o(function () {
+ return pP;
+ }, 'getSections')),
+ (Pde = o(function () {
+ let t = Dde(),
+ e = 100,
+ r = 0;
+ for (; !t && r < e; ) (t = Dde()), r++;
+ return e6.push(...Wg), e6;
+ }, 'getTasks')),
+ (Bde = o(function (t, e, r) {
+ let n = {
+ id: Rde++,
+ section: Yg,
+ type: Yg,
+ task: t,
+ score: e || 0,
+ events: r ? [r] : []
+ };
+ Wg.push(n);
+ }, 'addTask')),
+ (Fde = o(function (t) {
+ Wg.find((r) => r.id === Rde - 1).events.push(t);
+ }, 'addEvent')),
+ (zde = o(function (t) {
+ let e = {
+ section: Yg,
+ type: Yg,
+ description: t,
+ task: t,
+ classes: []
+ };
+ e6.push(e);
+ }, 'addTaskOrg')),
+ (Dde = o(function () {
+ let t = o(function (r) {
+ return Wg[r].processed;
+ }, 'compileTask'),
+ e = !0;
+ for (let [r, n] of Wg.entries()) t(r), (e = e && n.processed);
+ return e;
+ }, 'compileTasks')),
+ (KUe = {
+ clear: Mde,
+ getCommonDb: Nde,
+ addSection: Ide,
+ getSections: Ode,
+ getTasks: Pde,
+ addTask: Bde,
+ addTaskOrg: zde,
+ addEvent: Fde
+ });
+ });
+ function Hde(t, e) {
+ t.each(function () {
+ var r = $e(this),
+ n = r
+ .text()
+ .split(/(\s+|
)/)
+ .reverse(),
+ i,
+ a = [],
+ s = 1.1,
+ l = r.attr('y'),
+ u = parseFloat(r.attr('dy')),
+ h = r
+ .text(null)
+ .append('tspan')
+ .attr('x', 0)
+ .attr('y', l)
+ .attr('dy', u + 'em');
+ for (let f = 0; f < n.length; f++)
+ (i = n[n.length - 1 - f]),
+ a.push(i),
+ h.text(a.join(' ').trim()),
+ (h.node().getComputedTextLength() > e || i === '
') &&
+ (a.pop(),
+ h.text(a.join(' ').trim()),
+ i === '
' ? (a = ['']) : (a = [i]),
+ (h = r
+ .append('tspan')
+ .attr('x', 0)
+ .attr('y', l)
+ .attr('dy', s + 'em')
+ .text(i)));
+ });
+ }
+ var QUe,
+ t6,
+ ZUe,
+ JUe,
+ Vde,
+ eHe,
+ tHe,
+ $de,
+ rHe,
+ nHe,
+ iHe,
+ gP,
+ Ude,
+ aHe,
+ sHe,
+ oHe,
+ lHe,
+ xf,
+ Yde = R(() => {
+ 'use strict';
+ Zt();
+ (QUe = 12),
+ (t6 = o(function (t, e) {
+ let r = t.append('rect');
+ return (
+ r.attr('x', e.x),
+ r.attr('y', e.y),
+ r.attr('fill', e.fill),
+ r.attr('stroke', e.stroke),
+ r.attr('width', e.width),
+ r.attr('height', e.height),
+ r.attr('rx', e.rx),
+ r.attr('ry', e.ry),
+ e.class !== void 0 && r.attr('class', e.class),
+ r
+ );
+ }, 'drawRect')),
+ (ZUe = o(function (t, e) {
+ let n = t
+ .append('circle')
+ .attr('cx', e.cx)
+ .attr('cy', e.cy)
+ .attr('class', 'face')
+ .attr('r', 15)
+ .attr('stroke-width', 2)
+ .attr('overflow', 'visible'),
+ i = t.append('g');
+ i
+ .append('circle')
+ .attr('cx', e.cx - 15 / 3)
+ .attr('cy', e.cy - 15 / 3)
+ .attr('r', 1.5)
+ .attr('stroke-width', 2)
+ .attr('fill', '#666')
+ .attr('stroke', '#666'),
+ i
+ .append('circle')
+ .attr('cx', e.cx + 15 / 3)
+ .attr('cy', e.cy - 15 / 3)
+ .attr('r', 1.5)
+ .attr('stroke-width', 2)
+ .attr('fill', '#666')
+ .attr('stroke', '#666');
+ function a(u) {
+ let h = bl()
+ .startAngle(Math.PI / 2)
+ .endAngle(3 * (Math.PI / 2))
+ .innerRadius(7.5)
+ .outerRadius(6.8181818181818175);
+ u.append('path')
+ .attr('class', 'mouth')
+ .attr('d', h)
+ .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 2) + ')');
+ }
+ o(a, 'smile');
+ function s(u) {
+ let h = bl()
+ .startAngle((3 * Math.PI) / 2)
+ .endAngle(5 * (Math.PI / 2))
+ .innerRadius(7.5)
+ .outerRadius(6.8181818181818175);
+ u.append('path')
+ .attr('class', 'mouth')
+ .attr('d', h)
+ .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 7) + ')');
+ }
+ o(s, 'sad');
+ function l(u) {
+ u.append('line')
+ .attr('class', 'mouth')
+ .attr('stroke', 2)
+ .attr('x1', e.cx - 5)
+ .attr('y1', e.cy + 7)
+ .attr('x2', e.cx + 5)
+ .attr('y2', e.cy + 7)
+ .attr('class', 'mouth')
+ .attr('stroke-width', '1px')
+ .attr('stroke', '#666');
+ }
+ return o(l, 'ambivalent'), e.score > 3 ? a(i) : e.score < 3 ? s(i) : l(i), n;
+ }, 'drawFace')),
+ (JUe = o(function (t, e) {
+ let r = t.append('circle');
+ return (
+ r.attr('cx', e.cx),
+ r.attr('cy', e.cy),
+ r.attr('class', 'actor-' + e.pos),
+ r.attr('fill', e.fill),
+ r.attr('stroke', e.stroke),
+ r.attr('r', e.r),
+ r.class !== void 0 && r.attr('class', r.class),
+ e.title !== void 0 && r.append('title').text(e.title),
+ r
+ );
+ }, 'drawCircle')),
+ (Vde = o(function (t, e) {
+ let r = e.text.replace(/
/gi, ' '),
+ n = t.append('text');
+ n.attr('x', e.x),
+ n.attr('y', e.y),
+ n.attr('class', 'legend'),
+ n.style('text-anchor', e.anchor),
+ e.class !== void 0 && n.attr('class', e.class);
+ let i = n.append('tspan');
+ return i.attr('x', e.x + e.textMargin * 2), i.text(r), n;
+ }, 'drawText')),
+ (eHe = o(function (t, e) {
+ function r(i, a, s, l, u) {
+ return (
+ i +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ a +
+ ' ' +
+ (i + s) +
+ ',' +
+ (a + l - u) +
+ ' ' +
+ (i + s - u * 1.2) +
+ ',' +
+ (a + l) +
+ ' ' +
+ i +
+ ',' +
+ (a + l)
+ );
+ }
+ o(r, 'genPoints');
+ let n = t.append('polygon');
+ n.attr('points', r(e.x, e.y, 50, 20, 7)),
+ n.attr('class', 'labelBox'),
+ (e.y = e.y + e.labelMargin),
+ (e.x = e.x + 0.5 * e.labelMargin),
+ Vde(t, e);
+ }, 'drawLabel')),
+ (tHe = o(function (t, e, r) {
+ let n = t.append('g'),
+ i = gP();
+ (i.x = e.x),
+ (i.y = e.y),
+ (i.fill = e.fill),
+ (i.width = r.width),
+ (i.height = r.height),
+ (i.class = 'journey-section section-type-' + e.num),
+ (i.rx = 3),
+ (i.ry = 3),
+ t6(n, i),
+ Ude(r)(
+ e.text,
+ n,
+ i.x,
+ i.y,
+ i.width,
+ i.height,
+ { class: 'journey-section section-type-' + e.num },
+ r,
+ e.colour
+ );
+ }, 'drawSection')),
+ ($de = -1),
+ (rHe = o(function (t, e, r) {
+ let n = e.x + r.width / 2,
+ i = t.append('g');
+ $de++;
+ let a = 300 + 5 * 30;
+ i
+ .append('line')
+ .attr('id', 'task' + $de)
+ .attr('x1', n)
+ .attr('y1', e.y)
+ .attr('x2', n)
+ .attr('y2', a)
+ .attr('class', 'task-line')
+ .attr('stroke-width', '1px')
+ .attr('stroke-dasharray', '4 2')
+ .attr('stroke', '#666'),
+ ZUe(i, { cx: n, cy: 300 + (5 - e.score) * 30, score: e.score });
+ let s = gP();
+ (s.x = e.x),
+ (s.y = e.y),
+ (s.fill = e.fill),
+ (s.width = r.width),
+ (s.height = r.height),
+ (s.class = 'task task-type-' + e.num),
+ (s.rx = 3),
+ (s.ry = 3),
+ t6(i, s),
+ Ude(r)(e.task, i, s.x, s.y, s.width, s.height, { class: 'task' }, r, e.colour);
+ }, 'drawTask')),
+ (nHe = o(function (t, e) {
+ t6(t, {
+ x: e.startx,
+ y: e.starty,
+ width: e.stopx - e.startx,
+ height: e.stopy - e.starty,
+ fill: e.fill,
+ class: 'rect'
+ }).lower();
+ }, 'drawBackgroundRect')),
+ (iHe = o(function () {
+ return {
+ x: 0,
+ y: 0,
+ fill: void 0,
+ 'text-anchor': 'start',
+ width: 100,
+ height: 100,
+ textMargin: 0,
+ rx: 0,
+ ry: 0
+ };
+ }, 'getTextObj')),
+ (gP = o(function () {
+ return {
+ x: 0,
+ y: 0,
+ width: 100,
+ anchor: 'start',
+ height: 100,
+ rx: 0,
+ ry: 0
+ };
+ }, 'getNoteRect')),
+ (Ude = (function () {
+ function t(i, a, s, l, u, h, f, d) {
+ let p = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l + h / 2 + 5)
+ .style('font-color', d)
+ .style('text-anchor', 'middle')
+ .text(i);
+ n(p, f);
+ }
+ o(t, 'byText');
+ function e(i, a, s, l, u, h, f, d, p) {
+ let { taskFontSize: m, taskFontFamily: g } = d,
+ y = i.split(/
/gi);
+ for (let v = 0; v < y.length; v++) {
+ let x = v * m - (m * (y.length - 1)) / 2,
+ b = a
+ .append('text')
+ .attr('x', s + u / 2)
+ .attr('y', l)
+ .attr('fill', p)
+ .style('text-anchor', 'middle')
+ .style('font-size', m)
+ .style('font-family', g);
+ b
+ .append('tspan')
+ .attr('x', s + u / 2)
+ .attr('dy', x)
+ .text(y[v]),
+ b
+ .attr('y', l + h / 2)
+ .attr('dominant-baseline', 'central')
+ .attr('alignment-baseline', 'central'),
+ n(b, f);
+ }
+ }
+ o(e, 'byTspan');
+ function r(i, a, s, l, u, h, f, d) {
+ let p = a.append('switch'),
+ g = p
+ .append('foreignObject')
+ .attr('x', s)
+ .attr('y', l)
+ .attr('width', u)
+ .attr('height', h)
+ .attr('position', 'fixed')
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ g
+ .append('div')
+ .attr('class', 'label')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(i),
+ e(i, p, s, l, u, h, f, d),
+ n(g, f);
+ }
+ o(r, 'byFo');
+ function n(i, a) {
+ for (let s in a) s in a && i.attr(s, a[s]);
+ }
+ return (
+ o(n, '_setTextAttrs'),
+ function (i) {
+ return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e;
+ }
+ );
+ })()),
+ (aHe = o(function (t) {
+ t.append('defs')
+ .append('marker')
+ .attr('id', 'arrowhead')
+ .attr('refX', 5)
+ .attr('refY', 2)
+ .attr('markerWidth', 6)
+ .attr('markerHeight', 4)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0,0 V 4 L6,2 Z');
+ }, 'initGraphics'));
+ o(Hde, 'wrap');
+ (sHe = o(function (t, e, r, n) {
+ let i = (r % QUe) - 1,
+ a = t.append('g');
+ (e.section = i), a.attr('class', (e.class ? e.class + ' ' : '') + 'timeline-node ' + ('section-' + i));
+ let s = a.append('g'),
+ l = a.append('g'),
+ h = l
+ .append('text')
+ .text(e.descr)
+ .attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle')
+ .call(Hde, e.width)
+ .node()
+ .getBBox(),
+ f = n.fontSize?.replace ? n.fontSize.replace('px', '') : n.fontSize;
+ return (
+ (e.height = h.height + f * 1.1 * 0.5 + e.padding),
+ (e.height = Math.max(e.height, e.maxHeight)),
+ (e.width = e.width + 2 * e.padding),
+ l.attr('transform', 'translate(' + e.width / 2 + ', ' + e.padding / 2 + ')'),
+ lHe(s, e, i, n),
+ e
+ );
+ }, 'drawNode')),
+ (oHe = o(function (t, e, r) {
+ let n = t.append('g'),
+ a = n
+ .append('text')
+ .text(e.descr)
+ .attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle')
+ .call(Hde, e.width)
+ .node()
+ .getBBox(),
+ s = r.fontSize?.replace ? r.fontSize.replace('px', '') : r.fontSize;
+ return n.remove(), a.height + s * 1.1 * 0.5 + e.padding;
+ }, 'getVirtualNodeHeight')),
+ (lHe = o(function (t, e, r) {
+ t
+ .append('path')
+ .attr('id', 'node-' + e.id)
+ .attr('class', 'node-bkg node-' + e.type)
+ .attr(
+ 'd',
+ `M0 ${e.height - 5} v${-e.height + 2 * 5} q0,-5 5,-5 h${e.width - 2 * 5} q5,0 5,5 v${
+ e.height - 5
+ } H0 Z`
+ ),
+ t
+ .append('line')
+ .attr('class', 'node-line-' + r)
+ .attr('x1', 0)
+ .attr('y1', e.height)
+ .attr('x2', e.width)
+ .attr('y2', e.height);
+ }, 'defaultBkg')),
+ (xf = {
+ drawRect: t6,
+ drawCircle: JUe,
+ drawSection: tHe,
+ drawText: Vde,
+ drawLabel: eHe,
+ drawTask: rHe,
+ drawBackgroundRect: nHe,
+ getTextObj: iHe,
+ getNoteRect: gP,
+ initGraphics: aHe,
+ drawNode: sHe,
+ getVirtualNodeHeight: oHe
+ });
+ });
+ var cHe,
+ Wde,
+ uHe,
+ qde,
+ Xde = R(() => {
+ 'use strict';
+ Zt();
+ Yde();
+ ut();
+ _t();
+ Yn();
+ (cHe = o(function (t, e, r, n) {
+ let i = de(),
+ a = i.leftMargin ?? 50;
+ V.debug('timeline', n.db);
+ let s = i.securityLevel,
+ l;
+ s === 'sandbox' && (l = $e('#i' + e));
+ let h = (s === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body')).select('#' + e);
+ h.append('g');
+ let f = n.db.getTasks(),
+ d = n.db.getCommonDb().getDiagramTitle();
+ V.debug('task', f), xf.initGraphics(h);
+ let p = n.db.getSections();
+ V.debug('sections', p);
+ let m = 0,
+ g = 0,
+ y = 0,
+ v = 0,
+ x = 50 + a,
+ b = 50;
+ v = 50;
+ let w = 0,
+ S = !0;
+ p.forEach(function (L) {
+ let M = {
+ number: w,
+ descr: L,
+ section: w,
+ width: 150,
+ padding: 20,
+ maxHeight: m
+ },
+ N = xf.getVirtualNodeHeight(h, M, i);
+ V.debug('sectionHeight before draw', N), (m = Math.max(m, N + 20));
+ });
+ let T = 0,
+ E = 0;
+ V.debug('tasks.length', f.length);
+ for (let [L, M] of f.entries()) {
+ let N = {
+ number: L,
+ descr: M,
+ section: M.section,
+ width: 150,
+ padding: 20,
+ maxHeight: g
+ },
+ k = xf.getVirtualNodeHeight(h, N, i);
+ V.debug('taskHeight before draw', k), (g = Math.max(g, k + 20)), (T = Math.max(T, M.events.length));
+ let I = 0;
+ for (let C of M.events) {
+ let O = {
+ descr: C,
+ section: M.section,
+ number: M.section,
+ width: 150,
+ padding: 20,
+ maxHeight: 50
+ };
+ I += xf.getVirtualNodeHeight(h, O, i);
+ }
+ E = Math.max(E, I);
+ }
+ V.debug('maxSectionHeight before draw', m),
+ V.debug('maxTaskHeight before draw', g),
+ p && p.length > 0
+ ? p.forEach((L) => {
+ let M = f.filter((C) => C.section === L),
+ N = {
+ number: w,
+ descr: L,
+ section: w,
+ width: 200 * Math.max(M.length, 1) - 50,
+ padding: 20,
+ maxHeight: m
+ };
+ V.debug('sectionNode', N);
+ let k = h.append('g'),
+ I = xf.drawNode(k, N, w, i);
+ V.debug('sectionNode output', I),
+ k.attr('transform', `translate(${x}, ${v})`),
+ (b += m + 50),
+ M.length > 0 && Wde(h, M, w, x, b, g, i, T, E, m, !1),
+ (x += 200 * Math.max(M.length, 1)),
+ (b = v),
+ w++;
+ })
+ : ((S = !1), Wde(h, f, w, x, b, g, i, T, E, m, !0));
+ let _ = h.node().getBBox();
+ V.debug('bounds', _),
+ d &&
+ h
+ .append('text')
+ .text(d)
+ .attr('x', _.width / 2 - a)
+ .attr('font-size', '4ex')
+ .attr('font-weight', 'bold')
+ .attr('y', 20),
+ (y = S ? m + g + 150 : g + 100),
+ h
+ .append('g')
+ .attr('class', 'lineWrapper')
+ .append('line')
+ .attr('x1', a)
+ .attr('y1', y)
+ .attr('x2', _.width + 3 * a)
+ .attr('y2', y)
+ .attr('stroke-width', 4)
+ .attr('stroke', 'black')
+ .attr('marker-end', 'url(#arrowhead)'),
+ Lo(void 0, h, i.timeline?.padding ?? 50, i.timeline?.useMaxWidth ?? !1);
+ }, 'draw')),
+ (Wde = o(function (t, e, r, n, i, a, s, l, u, h, f) {
+ for (let d of e) {
+ let p = {
+ descr: d.task,
+ section: r,
+ number: r,
+ width: 150,
+ padding: 20,
+ maxHeight: a
+ };
+ V.debug('taskNode', p);
+ let m = t.append('g').attr('class', 'taskWrapper'),
+ y = xf.drawNode(m, p, r, s).height;
+ if (
+ (V.debug('taskHeight after draw', y),
+ m.attr('transform', `translate(${n}, ${i})`),
+ (a = Math.max(a, y)),
+ d.events)
+ ) {
+ let v = t.append('g').attr('class', 'lineWrapper'),
+ x = a;
+ (i += 100),
+ (x = x + uHe(t, d.events, r, n, i, s)),
+ (i -= 100),
+ v
+ .append('line')
+ .attr('x1', n + 190 / 2)
+ .attr('y1', i + a)
+ .attr('x2', n + 190 / 2)
+ .attr('y2', i + a + (f ? a : h) + u + 120)
+ .attr('stroke-width', 2)
+ .attr('stroke', 'black')
+ .attr('marker-end', 'url(#arrowhead)')
+ .attr('stroke-dasharray', '5,5');
+ }
+ (n = n + 200), f && !s.timeline?.disableMulticolor && r++;
+ }
+ i = i - 10;
+ }, 'drawTasks')),
+ (uHe = o(function (t, e, r, n, i, a) {
+ let s = 0,
+ l = i;
+ i = i + 100;
+ for (let u of e) {
+ let h = {
+ descr: u,
+ section: r,
+ number: r,
+ width: 150,
+ padding: 20,
+ maxHeight: 50
+ };
+ V.debug('eventNode', h);
+ let f = t.append('g').attr('class', 'eventWrapper'),
+ p = xf.drawNode(f, h, r, a).height;
+ (s = s + p), f.attr('transform', `translate(${n}, ${i})`), (i = i + 10 + p);
+ }
+ return (i = l), s;
+ }, 'drawEvents')),
+ (qde = { setConf: o(() => {}, 'setConf'), draw: cHe });
+ });
+ var hHe,
+ fHe,
+ jde,
+ Kde = R(() => {
+ 'use strict';
+ al();
+ (hHe = o((t) => {
+ let e = '';
+ for (let r = 0; r < t.THEME_COLOR_LIMIT; r++)
+ (t['lineColor' + r] = t['lineColor' + r] || t['cScaleInv' + r]),
+ Wa(t['lineColor' + r])
+ ? (t['lineColor' + r] = Et(t['lineColor' + r], 20))
+ : (t['lineColor' + r] = Dt(t['lineColor' + r], 20));
+ for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) {
+ let n = '' + (17 - 3 * r);
+ e += `
+ .section-${r - 1} rect, .section-${r - 1} path, .section-${r - 1} circle, .section-${r - 1} path {
+ fill: ${t['cScale' + r]};
+ }
+ .section-${r - 1} text {
+ fill: ${t['cScaleLabel' + r]};
+ }
+ .node-icon-${r - 1} {
+ font-size: 40px;
+ color: ${t['cScaleLabel' + r]};
+ }
+ .section-edge-${r - 1}{
+ stroke: ${t['cScale' + r]};
+ }
+ .edge-depth-${r - 1}{
+ stroke-width: ${n};
+ }
+ .section-${r - 1} line {
+ stroke: ${t['cScaleInv' + r]} ;
+ stroke-width: 3;
+ }
+
+ .lineWrapper line{
+ stroke: ${t['cScaleLabel' + r]} ;
+ }
+
+ .disabled, .disabled circle, .disabled text {
+ fill: lightgray;
+ }
+ .disabled text {
+ fill: #efefef;
+ }
+ `;
+ }
+ return e;
+ }, 'genSections')),
+ (fHe = o(
+ (t) => `
+ .edge {
+ stroke-width: 3;
+ }
+ ${hHe(t)}
+ .section-root rect, .section-root path, .section-root circle {
+ fill: ${t.git0};
+ }
+ .section-root text {
+ fill: ${t.gitBranchLabel0};
+ }
+ .icon-container {
+ height:100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ .edge {
+ fill: none;
+ }
+ .eventWrapper {
+ filter: brightness(120%);
+ }
+`,
+ 'getStyles'
+ )),
+ (jde = fHe);
+ });
+ var Qde = {};
+ hr(Qde, { diagram: () => dHe });
+ var dHe,
+ Zde = R(() => {
+ 'use strict';
+ Lde();
+ Gde();
+ Xde();
+ Kde();
+ dHe = { db: mP, renderer: qde, parser: _de, styles: jde };
+ });
+ var yP,
+ t0e,
+ r0e = R(() => {
+ 'use strict';
+ yP = (function () {
+ var t = o(function (S, T, E, _) {
+ for (E = E || {}, _ = S.length; _--; E[S[_]] = T);
+ return E;
+ }, 'o'),
+ e = [1, 4],
+ r = [1, 13],
+ n = [1, 12],
+ i = [1, 15],
+ a = [1, 16],
+ s = [1, 20],
+ l = [1, 19],
+ u = [6, 7, 8],
+ h = [1, 26],
+ f = [1, 24],
+ d = [1, 25],
+ p = [6, 7, 11],
+ m = [1, 6, 13, 15, 16, 19, 22],
+ g = [1, 33],
+ y = [1, 34],
+ v = [1, 6, 7, 11, 13, 15, 16, 19, 22],
+ x = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ mindMap: 4,
+ spaceLines: 5,
+ SPACELINE: 6,
+ NL: 7,
+ MINDMAP: 8,
+ document: 9,
+ stop: 10,
+ EOF: 11,
+ statement: 12,
+ SPACELIST: 13,
+ node: 14,
+ ICON: 15,
+ CLASS: 16,
+ nodeWithId: 17,
+ nodeWithoutId: 18,
+ NODE_DSTART: 19,
+ NODE_DESCR: 20,
+ NODE_DEND: 21,
+ NODE_ID: 22,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 6: 'SPACELINE',
+ 7: 'NL',
+ 8: 'MINDMAP',
+ 11: 'EOF',
+ 13: 'SPACELIST',
+ 15: 'ICON',
+ 16: 'CLASS',
+ 19: 'NODE_DSTART',
+ 20: 'NODE_DESCR',
+ 21: 'NODE_DEND',
+ 22: 'NODE_ID'
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 2],
+ [5, 1],
+ [5, 2],
+ [5, 2],
+ [4, 2],
+ [4, 3],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 2],
+ [10, 2],
+ [9, 3],
+ [9, 2],
+ [12, 2],
+ [12, 2],
+ [12, 2],
+ [12, 1],
+ [12, 1],
+ [12, 1],
+ [12, 1],
+ [12, 1],
+ [14, 1],
+ [14, 1],
+ [18, 3],
+ [17, 1],
+ [17, 4]
+ ],
+ performAction: o(function (T, E, _, A, L, M, N) {
+ var k = M.length - 1;
+ switch (L) {
+ case 6:
+ case 7:
+ return A;
+ case 8:
+ A.getLogger().trace('Stop NL ');
+ break;
+ case 9:
+ A.getLogger().trace('Stop EOF ');
+ break;
+ case 11:
+ A.getLogger().trace('Stop NL2 ');
+ break;
+ case 12:
+ A.getLogger().trace('Stop EOF2 ');
+ break;
+ case 15:
+ A.getLogger().info('Node: ', M[k].id),
+ A.addNode(M[k - 1].length, M[k].id, M[k].descr, M[k].type);
+ break;
+ case 16:
+ A.getLogger().trace('Icon: ', M[k]), A.decorateNode({ icon: M[k] });
+ break;
+ case 17:
+ case 21:
+ A.decorateNode({ class: M[k] });
+ break;
+ case 18:
+ A.getLogger().trace('SPACELIST');
+ break;
+ case 19:
+ A.getLogger().trace('Node: ', M[k].id),
+ A.addNode(0, M[k].id, M[k].descr, M[k].type);
+ break;
+ case 20:
+ A.decorateNode({ icon: M[k] });
+ break;
+ case 25:
+ A.getLogger().trace('node found ..', M[k - 2]),
+ (this.$ = {
+ id: M[k - 1],
+ descr: M[k - 1],
+ type: A.getType(M[k - 2], M[k])
+ });
+ break;
+ case 26:
+ this.$ = { id: M[k], descr: M[k], type: A.nodeType.DEFAULT };
+ break;
+ case 27:
+ A.getLogger().trace('node found ..', M[k - 3]),
+ (this.$ = {
+ id: M[k - 3],
+ descr: M[k - 1],
+ type: A.getType(M[k - 2], M[k])
+ });
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: e },
+ { 1: [3] },
+ { 1: [2, 1] },
+ { 4: 6, 6: [1, 7], 7: [1, 8], 8: e },
+ {
+ 6: r,
+ 7: [1, 10],
+ 9: 9,
+ 12: 11,
+ 13: n,
+ 14: 14,
+ 15: i,
+ 16: a,
+ 17: 17,
+ 18: 18,
+ 19: s,
+ 22: l
+ },
+ t(u, [2, 3]),
+ { 1: [2, 2] },
+ t(u, [2, 4]),
+ t(u, [2, 5]),
+ {
+ 1: [2, 6],
+ 6: r,
+ 12: 21,
+ 13: n,
+ 14: 14,
+ 15: i,
+ 16: a,
+ 17: 17,
+ 18: 18,
+ 19: s,
+ 22: l
+ },
+ {
+ 6: r,
+ 9: 22,
+ 12: 11,
+ 13: n,
+ 14: 14,
+ 15: i,
+ 16: a,
+ 17: 17,
+ 18: 18,
+ 19: s,
+ 22: l
+ },
+ { 6: h, 7: f, 10: 23, 11: d },
+ t(p, [2, 22], {
+ 17: 17,
+ 18: 18,
+ 14: 27,
+ 15: [1, 28],
+ 16: [1, 29],
+ 19: s,
+ 22: l
+ }),
+ t(p, [2, 18]),
+ t(p, [2, 19]),
+ t(p, [2, 20]),
+ t(p, [2, 21]),
+ t(p, [2, 23]),
+ t(p, [2, 24]),
+ t(p, [2, 26], { 19: [1, 30] }),
+ { 20: [1, 31] },
+ { 6: h, 7: f, 10: 32, 11: d },
+ {
+ 1: [2, 7],
+ 6: r,
+ 12: 21,
+ 13: n,
+ 14: 14,
+ 15: i,
+ 16: a,
+ 17: 17,
+ 18: 18,
+ 19: s,
+ 22: l
+ },
+ t(m, [2, 14], { 7: g, 11: y }),
+ t(v, [2, 8]),
+ t(v, [2, 9]),
+ t(v, [2, 10]),
+ t(p, [2, 15]),
+ t(p, [2, 16]),
+ t(p, [2, 17]),
+ { 20: [1, 35] },
+ { 21: [1, 36] },
+ t(m, [2, 13], { 7: g, 11: y }),
+ t(v, [2, 11]),
+ t(v, [2, 12]),
+ { 21: [1, 37] },
+ t(p, [2, 25]),
+ t(p, [2, 27])
+ ],
+ defaultActions: { 2: [2, 1], 6: [2, 2] },
+ parseError: o(function (T, E) {
+ if (E.recoverable) this.trace(T);
+ else {
+ var _ = new Error(T);
+ throw ((_.hash = E), _);
+ }
+ }, 'parseError'),
+ parse: o(function (T) {
+ var E = this,
+ _ = [0],
+ A = [],
+ L = [null],
+ M = [],
+ N = this.table,
+ k = '',
+ I = 0,
+ C = 0,
+ O = 0,
+ D = 2,
+ P = 1,
+ F = M.slice.call(arguments, 1),
+ B = Object.create(this.lexer),
+ $ = { yy: {} };
+ for (var z in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, z) && ($.yy[z] = this.yy[z]);
+ B.setInput(T, $.yy),
+ ($.yy.lexer = B),
+ ($.yy.parser = this),
+ typeof B.yylloc > 'u' && (B.yylloc = {});
+ var Y = B.yylloc;
+ M.push(Y);
+ var Q = B.options && B.options.ranges;
+ typeof $.yy.parseError == 'function'
+ ? (this.parseError = $.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function X(ke) {
+ (_.length = _.length - 2 * ke), (L.length = L.length - ke), (M.length = M.length - ke);
+ }
+ o(X, 'popStack');
+ function ie() {
+ var ke;
+ return (
+ (ke = A.pop() || B.lex() || P),
+ typeof ke != 'number' &&
+ (ke instanceof Array && ((A = ke), (ke = A.pop())),
+ (ke = E.symbols_[ke] || ke)),
+ ke
+ );
+ }
+ o(ie, 'lex');
+ for (var j, J, Z, H, q, K, se = {}, ce, ue, te, De; ; ) {
+ if (
+ ((Z = _[_.length - 1]),
+ this.defaultActions[Z]
+ ? (H = this.defaultActions[Z])
+ : ((j === null || typeof j > 'u') && (j = ie()), (H = N[Z] && N[Z][j])),
+ typeof H > 'u' || !H.length || !H[0])
+ ) {
+ var oe = '';
+ De = [];
+ for (ce in N[Z])
+ this.terminals_[ce] && ce > D && De.push("'" + this.terminals_[ce] + "'");
+ B.showPosition
+ ? (oe =
+ 'Parse error on line ' +
+ (I + 1) +
+ `:
+` +
+ B.showPosition() +
+ `
+Expecting ` +
+ De.join(', ') +
+ ", got '" +
+ (this.terminals_[j] || j) +
+ "'")
+ : (oe =
+ 'Parse error on line ' +
+ (I + 1) +
+ ': Unexpected ' +
+ (j == P ? 'end of input' : "'" + (this.terminals_[j] || j) + "'")),
+ this.parseError(oe, {
+ text: B.match,
+ token: this.terminals_[j] || j,
+ line: B.yylineno,
+ loc: Y,
+ expected: De
+ });
+ }
+ if (H[0] instanceof Array && H.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Z + ', token: ' + j
+ );
+ switch (H[0]) {
+ case 1:
+ _.push(j),
+ L.push(B.yytext),
+ M.push(B.yylloc),
+ _.push(H[1]),
+ (j = null),
+ J
+ ? ((j = J), (J = null))
+ : ((C = B.yyleng),
+ (k = B.yytext),
+ (I = B.yylineno),
+ (Y = B.yylloc),
+ O > 0 && O--);
+ break;
+ case 2:
+ if (
+ ((ue = this.productions_[H[1]][1]),
+ (se.$ = L[L.length - ue]),
+ (se._$ = {
+ first_line: M[M.length - (ue || 1)].first_line,
+ last_line: M[M.length - 1].last_line,
+ first_column: M[M.length - (ue || 1)].first_column,
+ last_column: M[M.length - 1].last_column
+ }),
+ Q &&
+ (se._$.range = [
+ M[M.length - (ue || 1)].range[0],
+ M[M.length - 1].range[1]
+ ]),
+ (K = this.performAction.apply(se, [k, C, I, $.yy, H[1], L, M].concat(F))),
+ typeof K < 'u')
+ )
+ return K;
+ ue &&
+ ((_ = _.slice(0, -1 * ue * 2)),
+ (L = L.slice(0, -1 * ue)),
+ (M = M.slice(0, -1 * ue))),
+ _.push(this.productions_[H[1]][0]),
+ L.push(se.$),
+ M.push(se._$),
+ (te = N[_[_.length - 2]][_[_.length - 1]]),
+ _.push(te);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ b = (function () {
+ var S = {
+ EOF: 1,
+ parseError: o(function (E, _) {
+ if (this.yy.parser) this.yy.parser.parseError(E, _);
+ else throw new Error(E);
+ }, 'parseError'),
+ setInput: o(function (T, E) {
+ return (
+ (this.yy = E || this.yy || {}),
+ (this._input = T),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var T = this._input[0];
+ (this.yytext += T),
+ this.yyleng++,
+ this.offset++,
+ (this.match += T),
+ (this.matched += T);
+ var E = T.match(/(?:\r\n?|\n).*/g);
+ return (
+ E ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ T
+ );
+ }, 'input'),
+ unput: o(function (T) {
+ var E = T.length,
+ _ = T.split(/(?:\r\n?|\n)/g);
+ (this._input = T + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - E)),
+ (this.offset -= E);
+ var A = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ _.length - 1 && (this.yylineno -= _.length - 1);
+ var L = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: _
+ ? (_.length === A.length ? this.yylloc.first_column : 0) +
+ A[A.length - _.length].length -
+ _[0].length
+ : this.yylloc.first_column - E
+ }),
+ this.options.ranges && (this.yylloc.range = [L[0], L[0] + this.yyleng - E]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (T) {
+ this.unput(this.match.slice(T));
+ }, 'less'),
+ pastInput: o(function () {
+ var T = this.matched.substr(0, this.matched.length - this.match.length);
+ return (T.length > 20 ? '...' : '') + T.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var T = this.match;
+ return (
+ T.length < 20 && (T += this._input.substr(0, 20 - T.length)),
+ (T.substr(0, 20) + (T.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var T = this.pastInput(),
+ E = new Array(T.length + 1).join('-');
+ return (
+ T +
+ this.upcomingInput() +
+ `
+` +
+ E +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (T, E) {
+ var _, A, L;
+ if (
+ (this.options.backtrack_lexer &&
+ ((L = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (L.yylloc.range = this.yylloc.range.slice(0))),
+ (A = T[0].match(/(?:\r\n?|\n).*/g)),
+ A && (this.yylineno += A.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: A
+ ? A[A.length - 1].length - A[A.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + T[0].length
+ }),
+ (this.yytext += T[0]),
+ (this.match += T[0]),
+ (this.matches = T),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(T[0].length)),
+ (this.matched += T[0]),
+ (_ = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ E,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ _)
+ )
+ return _;
+ if (this._backtrack) {
+ for (var M in L) this[M] = L[M];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var T, E, _, A;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var L = this._currentRules(), M = 0; M < L.length; M++)
+ if (
+ ((_ = this._input.match(this.rules[L[M]])),
+ _ && (!E || _[0].length > E[0].length))
+ ) {
+ if (((E = _), (A = M), this.options.backtrack_lexer)) {
+ if (((T = this.test_match(_, L[M])), T !== !1)) return T;
+ if (this._backtrack) {
+ E = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return E
+ ? ((T = this.test_match(E, L[A])), T !== !1 ? T : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var E = this.next();
+ return E || this.lex();
+ }, 'lex'),
+ begin: o(function (E) {
+ this.conditionStack.push(E);
+ }, 'begin'),
+ popState: o(function () {
+ var E = this.conditionStack.length - 1;
+ return E > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (E) {
+ return (
+ (E = this.conditionStack.length - 1 - Math.abs(E || 0)),
+ E >= 0 ? this.conditionStack[E] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (E) {
+ this.begin(E);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (E, _, A, L) {
+ var M = L;
+ switch (A) {
+ case 0:
+ return E.getLogger().trace('Found comment', _.yytext), 6;
+ break;
+ case 1:
+ return 8;
+ case 2:
+ this.begin('CLASS');
+ break;
+ case 3:
+ return this.popState(), 16;
+ break;
+ case 4:
+ this.popState();
+ break;
+ case 5:
+ E.getLogger().trace('Begin icon'), this.begin('ICON');
+ break;
+ case 6:
+ return E.getLogger().trace('SPACELINE'), 6;
+ break;
+ case 7:
+ return 7;
+ case 8:
+ return 15;
+ case 9:
+ E.getLogger().trace('end icon'), this.popState();
+ break;
+ case 10:
+ return E.getLogger().trace('Exploding node'), this.begin('NODE'), 19;
+ break;
+ case 11:
+ return E.getLogger().trace('Cloud'), this.begin('NODE'), 19;
+ break;
+ case 12:
+ return E.getLogger().trace('Explosion Bang'), this.begin('NODE'), 19;
+ break;
+ case 13:
+ return E.getLogger().trace('Cloud Bang'), this.begin('NODE'), 19;
+ break;
+ case 14:
+ return this.begin('NODE'), 19;
+ break;
+ case 15:
+ return this.begin('NODE'), 19;
+ break;
+ case 16:
+ return this.begin('NODE'), 19;
+ break;
+ case 17:
+ return this.begin('NODE'), 19;
+ break;
+ case 18:
+ return 13;
+ case 19:
+ return 22;
+ case 20:
+ return 11;
+ case 21:
+ this.begin('NSTR2');
+ break;
+ case 22:
+ return 'NODE_DESCR';
+ case 23:
+ this.popState();
+ break;
+ case 24:
+ E.getLogger().trace('Starting NSTR'), this.begin('NSTR');
+ break;
+ case 25:
+ return E.getLogger().trace('description:', _.yytext), 'NODE_DESCR';
+ break;
+ case 26:
+ this.popState();
+ break;
+ case 27:
+ return this.popState(), E.getLogger().trace('node end ))'), 'NODE_DEND';
+ break;
+ case 28:
+ return this.popState(), E.getLogger().trace('node end )'), 'NODE_DEND';
+ break;
+ case 29:
+ return (
+ this.popState(), E.getLogger().trace('node end ...', _.yytext), 'NODE_DEND'
+ );
+ break;
+ case 30:
+ return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND';
+ break;
+ case 31:
+ return this.popState(), E.getLogger().trace('node end (-'), 'NODE_DEND';
+ break;
+ case 32:
+ return this.popState(), E.getLogger().trace('node end (-'), 'NODE_DEND';
+ break;
+ case 33:
+ return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND';
+ break;
+ case 34:
+ return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND';
+ break;
+ case 35:
+ return E.getLogger().trace('Long description:', _.yytext), 20;
+ break;
+ case 36:
+ return E.getLogger().trace('Long description:', _.yytext), 20;
+ break;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:\s*%%.*)/i,
+ /^(?:mindmap\b)/i,
+ /^(?::::)/i,
+ /^(?:.+)/i,
+ /^(?:\n)/i,
+ /^(?:::icon\()/i,
+ /^(?:[\s]+[\n])/i,
+ /^(?:[\n]+)/i,
+ /^(?:[^\)]+)/i,
+ /^(?:\))/i,
+ /^(?:-\))/i,
+ /^(?:\(-)/i,
+ /^(?:\)\))/i,
+ /^(?:\))/i,
+ /^(?:\(\()/i,
+ /^(?:\{\{)/i,
+ /^(?:\()/i,
+ /^(?:\[)/i,
+ /^(?:[\s]+)/i,
+ /^(?:[^\(\[\n\)\{\}]+)/i,
+ /^(?:$)/i,
+ /^(?:["][`])/i,
+ /^(?:[^`"]+)/i,
+ /^(?:[`]["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]+)/i,
+ /^(?:["])/i,
+ /^(?:[\)]\))/i,
+ /^(?:[\)])/i,
+ /^(?:[\]])/i,
+ /^(?:\}\})/i,
+ /^(?:\(-)/i,
+ /^(?:-\))/i,
+ /^(?:\(\()/i,
+ /^(?:\()/i,
+ /^(?:[^\)\]\(\}]+)/i,
+ /^(?:.+(?!\(\())/i
+ ],
+ conditions: {
+ CLASS: { rules: [3, 4], inclusive: !1 },
+ ICON: { rules: [8, 9], inclusive: !1 },
+ NSTR2: { rules: [22, 23], inclusive: !1 },
+ NSTR: { rules: [25, 26], inclusive: !1 },
+ NODE: {
+ rules: [21, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36],
+ inclusive: !1
+ },
+ INITIAL: {
+ rules: [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
+ inclusive: !0
+ }
+ }
+ };
+ return S;
+ })();
+ x.lexer = b;
+ function w() {
+ this.yy = {};
+ }
+ return o(w, 'Parser'), (w.prototype = x), (x.Parser = w), new w();
+ })();
+ yP.parser = yP;
+ t0e = yP;
+ });
+ var Gl,
+ n0e,
+ vP,
+ yHe,
+ vHe,
+ xHe,
+ bHe,
+ $i,
+ wHe,
+ THe,
+ kHe,
+ EHe,
+ CHe,
+ SHe,
+ AHe,
+ i0e,
+ a0e = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ ut();
+ sl();
+ (Gl = []),
+ (n0e = 0),
+ (vP = {}),
+ (yHe = o(() => {
+ (Gl = []), (n0e = 0), (vP = {});
+ }, 'clear')),
+ (vHe = o(function (t) {
+ for (let e = Gl.length - 1; e >= 0; e--) if (Gl[e].level < t) return Gl[e];
+ return null;
+ }, 'getParent')),
+ (xHe = o(() => (Gl.length > 0 ? Gl[0] : null), 'getMindmap')),
+ (bHe = o((t, e, r, n) => {
+ V.info('addNode', t, e, r, n);
+ let i = de(),
+ a = i.mindmap?.padding ?? mr.mindmap.padding;
+ switch (n) {
+ case $i.ROUNDED_RECT:
+ case $i.RECT:
+ case $i.HEXAGON:
+ a *= 2;
+ }
+ let s = {
+ id: n0e++,
+ nodeId: qr(e, i),
+ level: t,
+ descr: qr(r, i),
+ type: n,
+ children: [],
+ width: i.mindmap?.maxNodeWidth ?? mr.mindmap.maxNodeWidth,
+ padding: a
+ },
+ l = vHe(t);
+ if (l) l.children.push(s), Gl.push(s);
+ else if (Gl.length === 0) Gl.push(s);
+ else
+ throw new Error('There can be only one root. No parent could be found for ("' + s.descr + '")');
+ }, 'addNode')),
+ ($i = {
+ DEFAULT: 0,
+ NO_BORDER: 0,
+ ROUNDED_RECT: 1,
+ RECT: 2,
+ CIRCLE: 3,
+ CLOUD: 4,
+ BANG: 5,
+ HEXAGON: 6
+ }),
+ (wHe = o((t, e) => {
+ switch ((V.debug('In get type', t, e), t)) {
+ case '[':
+ return $i.RECT;
+ case '(':
+ return e === ')' ? $i.ROUNDED_RECT : $i.CLOUD;
+ case '((':
+ return $i.CIRCLE;
+ case ')':
+ return $i.CLOUD;
+ case '))':
+ return $i.BANG;
+ case '{{':
+ return $i.HEXAGON;
+ default:
+ return $i.DEFAULT;
+ }
+ }, 'getType')),
+ (THe = o((t, e) => {
+ vP[t] = e;
+ }, 'setElementForId')),
+ (kHe = o((t) => {
+ if (!t) return;
+ let e = de(),
+ r = Gl[Gl.length - 1];
+ t.icon && (r.icon = qr(t.icon, e)), t.class && (r.class = qr(t.class, e));
+ }, 'decorateNode')),
+ (EHe = o((t) => {
+ switch (t) {
+ case $i.DEFAULT:
+ return 'no-border';
+ case $i.RECT:
+ return 'rect';
+ case $i.ROUNDED_RECT:
+ return 'rounded-rect';
+ case $i.CIRCLE:
+ return 'circle';
+ case $i.CLOUD:
+ return 'cloud';
+ case $i.BANG:
+ return 'bang';
+ case $i.HEXAGON:
+ return 'hexgon';
+ default:
+ return 'no-border';
+ }
+ }, 'type2Str')),
+ (CHe = o(() => V, 'getLogger')),
+ (SHe = o((t) => vP[t], 'getElementById')),
+ (AHe = {
+ clear: yHe,
+ addNode: bHe,
+ getMindmap: xHe,
+ nodeType: $i,
+ getType: wHe,
+ setElementForId: THe,
+ decorateNode: kHe,
+ type2Str: EHe,
+ getLogger: CHe,
+ getElementById: SHe
+ }),
+ (i0e = AHe);
+ });
+ function Hi(t) {
+ '@babel/helpers - typeof';
+ return (
+ (Hi =
+ typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol'
+ ? function (e) {
+ return typeof e;
+ }
+ : function (e) {
+ return e && typeof Symbol == 'function' && e.constructor === Symbol && e !== Symbol.prototype
+ ? 'symbol'
+ : typeof e;
+ }),
+ Hi(t)
+ );
+ }
+ function XP(t, e) {
+ if (!(t instanceof e)) throw new TypeError('Cannot call a class as a function');
+ }
+ function s0e(t, e) {
+ for (var r = 0; r < e.length; r++) {
+ var n = e[r];
+ (n.enumerable = n.enumerable || !1),
+ (n.configurable = !0),
+ 'value' in n && (n.writable = !0),
+ Object.defineProperty(t, n.key, n);
+ }
+ }
+ function jP(t, e, r) {
+ return e && s0e(t.prototype, e), r && s0e(t, r), Object.defineProperty(t, 'prototype', { writable: !1 }), t;
+ }
+ function bpe(t, e, r) {
+ return (
+ e in t
+ ? Object.defineProperty(t, e, {
+ value: r,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ })
+ : (t[e] = r),
+ t
+ );
+ }
+ function $l(t, e) {
+ return _He(t) || LHe(t, e) || wpe(t, e) || DHe();
+ }
+ function _He(t) {
+ if (Array.isArray(t)) return t;
+ }
+ function LHe(t, e) {
+ var r = t == null ? null : (typeof Symbol < 'u' && t[Symbol.iterator]) || t['@@iterator'];
+ if (r != null) {
+ var n = [],
+ i = !0,
+ a = !1,
+ s,
+ l;
+ try {
+ for (r = r.call(t); !(i = (s = r.next()).done) && (n.push(s.value), !(e && n.length === e)); i = !0);
+ } catch (u) {
+ (a = !0), (l = u);
+ } finally {
+ try {
+ !i && r.return != null && r.return();
+ } finally {
+ if (a) throw l;
+ }
+ }
+ return n;
+ }
+ }
+ function wpe(t, e) {
+ if (t) {
+ if (typeof t == 'string') return o0e(t, e);
+ var r = Object.prototype.toString.call(t).slice(8, -1);
+ if ((r === 'Object' && t.constructor && (r = t.constructor.name), r === 'Map' || r === 'Set'))
+ return Array.from(t);
+ if (r === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return o0e(t, e);
+ }
+ }
+ function o0e(t, e) {
+ (e == null || e > t.length) && (e = t.length);
+ for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r];
+ return n;
+ }
+ function DHe() {
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
+ }
+ function Tpe(t, e) {
+ var r = (typeof Symbol < 'u' && t[Symbol.iterator]) || t['@@iterator'];
+ if (!r) {
+ if (Array.isArray(t) || (r = wpe(t)) || (e && t && typeof t.length == 'number')) {
+ r && (t = r);
+ var n = 0,
+ i = o(function () {}, 'F');
+ return {
+ s: i,
+ n: o(function () {
+ return n >= t.length ? { done: !0 } : { done: !1, value: t[n++] };
+ }, 'n'),
+ e: o(function (u) {
+ throw u;
+ }, 'e'),
+ f: i
+ };
+ }
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
+ }
+ var a = !0,
+ s = !1,
+ l;
+ return {
+ s: o(function () {
+ r = r.call(t);
+ }, 's'),
+ n: o(function () {
+ var u = r.next();
+ return (a = u.done), u;
+ }, 'n'),
+ e: o(function (u) {
+ (s = !0), (l = u);
+ }, 'e'),
+ f: o(function () {
+ try {
+ !a && r.return != null && r.return();
+ } finally {
+ if (s) throw l;
+ }
+ }, 'f')
+ };
+ }
+ function eYe(t) {
+ var e = typeof t;
+ return t != null && (e == 'object' || e == 'function');
+ }
+ function tYe(t, e) {
+ return (e = { exports: {} }), t(e, e.exports), e.exports;
+ }
+ function lYe(t) {
+ for (var e = t.length; e-- && oYe.test(t.charAt(e)); );
+ return e;
+ }
+ function hYe(t) {
+ return t && t.slice(0, cYe(t) + 1).replace(uYe, '');
+ }
+ function gYe(t) {
+ var e = pYe.call(t, _x),
+ r = t[_x];
+ try {
+ t[_x] = void 0;
+ var n = !0;
+ } catch {}
+ var i = mYe.call(t);
+ return n && (e ? (t[_x] = r) : delete t[_x]), i;
+ }
+ function bYe(t) {
+ return xYe.call(t);
+ }
+ function EYe(t) {
+ return t == null ? (t === void 0 ? kYe : TYe) : u0e && u0e in Object(t) ? yYe(t) : wYe(t);
+ }
+ function CYe(t) {
+ return t != null && typeof t == 'object';
+ }
+ function _Ye(t) {
+ return typeof t == 'symbol' || (SYe(t) && Rpe(t) == AYe);
+ }
+ function MYe(t) {
+ if (typeof t == 'number') return t;
+ if (Jx(t)) return h0e;
+ if (V0(t)) {
+ var e = typeof t.valueOf == 'function' ? t.valueOf() : t;
+ t = V0(e) ? e + '' : e;
+ }
+ if (typeof t != 'string') return t === 0 ? t : +t;
+ t = fYe(t);
+ var r = DYe.test(t);
+ return r || RYe.test(t) ? NYe(t.slice(2), r ? 2 : 8) : LYe.test(t) ? h0e : +t;
+ }
+ function BYe(t, e, r) {
+ var n,
+ i,
+ a,
+ s,
+ l,
+ u,
+ h = 0,
+ f = !1,
+ d = !1,
+ p = !0;
+ if (typeof t != 'function') throw new TypeError(IYe);
+ (e = f0e(e) || 0),
+ V0(r) &&
+ ((f = !!r.leading),
+ (d = 'maxWait' in r),
+ (a = d ? OYe(f0e(r.maxWait) || 0, e) : a),
+ (p = 'trailing' in r ? !!r.trailing : p));
+ function m(E) {
+ var _ = n,
+ A = i;
+ return (n = i = void 0), (h = E), (s = t.apply(A, _)), s;
+ }
+ o(m, 'invokeFunc');
+ function g(E) {
+ return (h = E), (l = setTimeout(x, e)), f ? m(E) : s;
+ }
+ o(g, 'leadingEdge');
+ function y(E) {
+ var _ = E - u,
+ A = E - h,
+ L = e - _;
+ return d ? PYe(L, a - A) : L;
+ }
+ o(y, 'remainingWait');
+ function v(E) {
+ var _ = E - u,
+ A = E - h;
+ return u === void 0 || _ >= e || _ < 0 || (d && A >= a);
+ }
+ o(v, 'shouldInvoke');
+ function x() {
+ var E = xP();
+ if (v(E)) return b(E);
+ l = setTimeout(x, y(E));
+ }
+ o(x, 'timerExpired');
+ function b(E) {
+ return (l = void 0), p && n ? m(E) : ((n = i = void 0), s);
+ }
+ o(b, 'trailingEdge');
+ function w() {
+ l !== void 0 && clearTimeout(l), (h = 0), (n = u = i = l = void 0);
+ }
+ o(w, 'cancel');
+ function S() {
+ return l === void 0 ? s : b(xP());
+ }
+ o(S, 'flush');
+ function T() {
+ var E = xP(),
+ _ = v(E);
+ if (((n = arguments), (i = this), (u = E), _)) {
+ if (l === void 0) return g(u);
+ if (d) return clearTimeout(l), (l = setTimeout(x, e)), m(u);
+ }
+ return l === void 0 && (l = setTimeout(x, e)), s;
+ }
+ return o(T, 'debounced'), (T.cancel = w), (T.flush = S), T;
+ }
+ function z6(t, e, r, n, i, a) {
+ var s;
+ return jn(t) ? (s = t) : (s = o1[t] || o1.euclidean), e === 0 && jn(t) ? s(i, a) : s(e, r, n, i, a);
+ }
+ function Lqe(t, e) {
+ if (G6(t)) return !1;
+ var r = typeof t;
+ return r == 'number' || r == 'symbol' || r == 'boolean' || t == null || Jx(t)
+ ? !0
+ : _qe.test(t) || !Aqe.test(t) || (e != null && t in Object(e));
+ }
+ function Oqe(t) {
+ if (!V0(t)) return !1;
+ var e = Rpe(t);
+ return e == Nqe || e == Mqe || e == Rqe || e == Iqe;
+ }
+ function Fqe(t) {
+ return !!N0e && N0e in t;
+ }
+ function Vqe(t) {
+ if (t != null) {
+ try {
+ return $qe.call(t);
+ } catch {}
+ try {
+ return t + '';
+ } catch {}
+ }
+ return '';
+ }
+ function Qqe(t) {
+ if (!V0(t) || zqe(t)) return !1;
+ var e = Pqe(t) ? Kqe : Yqe;
+ return e.test(Uqe(t));
+ }
+ function Jqe(t, e) {
+ return t?.[e];
+ }
+ function tXe(t, e) {
+ var r = eXe(t, e);
+ return Zqe(r) ? r : void 0;
+ }
+ function nXe() {
+ (this.__data__ = Wx ? Wx(null) : {}), (this.size = 0);
+ }
+ function aXe(t) {
+ var e = this.has(t) && delete this.__data__[t];
+ return (this.size -= e ? 1 : 0), e;
+ }
+ function uXe(t) {
+ var e = this.__data__;
+ if (Wx) {
+ var r = e[t];
+ return r === oXe ? void 0 : r;
+ }
+ return cXe.call(e, t) ? e[t] : void 0;
+ }
+ function pXe(t) {
+ var e = this.__data__;
+ return Wx ? e[t] !== void 0 : dXe.call(e, t);
+ }
+ function yXe(t, e) {
+ var r = this.__data__;
+ return (this.size += this.has(t) ? 0 : 1), (r[t] = Wx && e === void 0 ? gXe : e), this;
+ }
+ function h1(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ function xXe() {
+ (this.__data__ = []), (this.size = 0);
+ }
+ function wXe(t, e) {
+ return t === e || (t !== t && e !== e);
+ }
+ function TXe(t, e) {
+ for (var r = t.length; r--; ) if (rme(t[r][0], e)) return r;
+ return -1;
+ }
+ function CXe(t) {
+ var e = this.__data__,
+ r = $6(e, t);
+ if (r < 0) return !1;
+ var n = e.length - 1;
+ return r == n ? e.pop() : EXe.call(e, r, 1), --this.size, !0;
+ }
+ function AXe(t) {
+ var e = this.__data__,
+ r = $6(e, t);
+ return r < 0 ? void 0 : e[r][1];
+ }
+ function LXe(t) {
+ return $6(this.__data__, t) > -1;
+ }
+ function RXe(t, e) {
+ var r = this.__data__,
+ n = $6(r, t);
+ return n < 0 ? (++this.size, r.push([t, e])) : (r[n][1] = e), this;
+ }
+ function f1(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ function PXe() {
+ (this.size = 0),
+ (this.__data__ = {
+ hash: new M0e(),
+ map: new (OXe || MXe)(),
+ string: new M0e()
+ });
+ }
+ function FXe(t) {
+ var e = typeof t;
+ return e == 'string' || e == 'number' || e == 'symbol' || e == 'boolean' ? t !== '__proto__' : t === null;
+ }
+ function GXe(t, e) {
+ var r = t.__data__;
+ return zXe(e) ? r[typeof e == 'string' ? 'string' : 'hash'] : r.map;
+ }
+ function $Xe(t) {
+ var e = V6(this, t).delete(t);
+ return (this.size -= e ? 1 : 0), e;
+ }
+ function UXe(t) {
+ return V6(this, t).get(t);
+ }
+ function YXe(t) {
+ return V6(this, t).has(t);
+ }
+ function qXe(t, e) {
+ var r = V6(this, t),
+ n = r.size;
+ return r.set(t, e), (this.size += r.size == n ? 0 : 1), this;
+ }
+ function d1(t) {
+ var e = -1,
+ r = t == null ? 0 : t.length;
+ for (this.clear(); ++e < r; ) {
+ var n = t[e];
+ this.set(n[0], n[1]);
+ }
+ }
+ function sB(t, e) {
+ if (typeof t != 'function' || (e != null && typeof e != 'function')) throw new TypeError(jXe);
+ var r = o(function () {
+ var n = arguments,
+ i = e ? e.apply(this, n) : n[0],
+ a = r.cache;
+ if (a.has(i)) return a.get(i);
+ var s = t.apply(this, n);
+ return (r.cache = a.set(i, s) || a), s;
+ }, 'memoized');
+ return (r.cache = new (sB.Cache || nme)()), r;
+ }
+ function ZXe(t) {
+ var e = KXe(t, function (n) {
+ return r.size === QXe && r.clear(), n;
+ }),
+ r = e.cache;
+ return e;
+ }
+ function nje(t, e) {
+ for (var r = -1, n = t == null ? 0 : t.length, i = Array(n); ++r < n; ) i[r] = e(t[r], r, t);
+ return i;
+ }
+ function sme(t) {
+ if (typeof t == 'string') return t;
+ if (G6(t)) return ame(t, sme) + '';
+ if (Jx(t)) return O0e ? O0e.call(t) : '';
+ var e = t + '';
+ return e == '0' && 1 / t == -ije ? '-0' : e;
+ }
+ function sje(t) {
+ return t == null ? '' : aje(t);
+ }
+ function oje(t, e) {
+ return G6(t) ? t : Dqe(t, e) ? [t] : ime(ome(t));
+ }
+ function cje(t) {
+ if (typeof t == 'string' || Jx(t)) return t;
+ var e = t + '';
+ return e == '0' && 1 / t == -lje ? '-0' : e;
+ }
+ function uje(t, e) {
+ e = lme(e, t);
+ for (var r = 0, n = e.length; t != null && r < n; ) t = t[oB(e[r++])];
+ return r && r == n ? t : void 0;
+ }
+ function fje(t, e, r) {
+ var n = t == null ? void 0 : hje(t, e);
+ return n === void 0 ? r : n;
+ }
+ function mje(t, e, r) {
+ e == '__proto__' && P0e ? P0e(t, e, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (t[e] = r);
+ }
+ function xje(t, e, r) {
+ var n = t[e];
+ (!(vje.call(t, e) && rme(n, r)) || (r === void 0 && !(e in t))) && gje(t, e, r);
+ }
+ function kje(t, e) {
+ var r = typeof t;
+ return (
+ (e = e ?? wje), !!e && (r == 'number' || (r != 'symbol' && Tje.test(t))) && t > -1 && t % 1 == 0 && t < e
+ );
+ }
+ function Cje(t, e, r, n) {
+ if (!V0(t)) return t;
+ e = lme(e, t);
+ for (var i = -1, a = e.length, s = a - 1, l = t; l != null && ++i < a; ) {
+ var u = oB(e[i]),
+ h = r;
+ if (u === '__proto__' || u === 'constructor' || u === 'prototype') return t;
+ if (i != s) {
+ var f = l[u];
+ (h = n ? n(f, u, l) : void 0), h === void 0 && (h = V0(f) ? f : Eje(e[i + 1]) ? [] : {});
+ }
+ bje(l, u, h), (l = l[u]);
+ }
+ return t;
+ }
+ function Aje(t, e, r) {
+ return t == null ? t : Sje(t, e, r);
+ }
+ function Lje(t, e) {
+ var r = -1,
+ n = t.length;
+ for (e || (e = Array(n)); ++r < n; ) e[r] = t[r];
+ return e;
+ }
+ function Rje(t) {
+ return G6(t) ? ame(t, oB) : Jx(t) ? [t] : Dje(ime(ome(t)));
+ }
+ function cB(t, e, r, n) {
+ for (var i = [], a = new c1(), s = t.cy(), l = s.hasCompoundNodes(), u = 0; u < t.length; u++) {
+ var h = t[u];
+ r ? i.push(h) : l && n(i, a, h);
+ }
+ for (; i.length > 0; ) {
+ var f = i.shift();
+ e(f), a.add(f.id()), l && n(i, a, f);
+ }
+ return t;
+ }
+ function ume(t, e, r) {
+ if (r.isParent())
+ for (var n = r._private.children, i = 0; i < n.length; i++) {
+ var a = n[i];
+ e.has(a.id()) || t.push(a);
+ }
+ }
+ function hme(t, e, r) {
+ if (r.isChild()) {
+ var n = r._private.parent;
+ e.has(n.id()) || t.push(n);
+ }
+ }
+ function Kje(t, e, r) {
+ hme(t, e, r), ume(t, e, r);
+ }
+ function CP(t) {
+ return function (e) {
+ var r = this;
+ if ((e === void 0 && (e = !0), r.length !== 0))
+ if (r.isNode() && !r.removed()) {
+ for (var n = 0, i = r[0], a = i._private.edges, s = 0; s < a.length; s++) {
+ var l = a[s];
+ (!e && l.isLoop()) || (n += t(i, l));
+ }
+ return n;
+ } else return;
+ };
+ }
+ function Xg(t, e) {
+ return function (r) {
+ for (var n, i = this.nodes(), a = 0; a < i.length; a++) {
+ var s = i[a],
+ l = s[t](r);
+ l !== void 0 && (n === void 0 || e(l, n)) && (n = l);
+ }
+ return n;
+ };
+ }
+ function Rx() {
+ return !1;
+ }
+ function c6() {
+ return !0;
+ }
+ function H6() {
+ for (
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : mKe,
+ e = arguments.length > 1 ? arguments[1] : void 0,
+ r = 0;
+ r < V0e.length;
+ r++
+ ) {
+ var n = V0e[r];
+ this[n] = t[n] || bme[n];
+ }
+ (this.context = e || this.context), (this.listeners = []), (this.emitting = 0);
+ }
+ function Cme(t, e, r) {
+ var n = r._private,
+ i = (n.styleCache = n.styleCache || []),
+ a;
+ return (a = i[t]) != null || (a = i[t] = e(r)), a;
+ }
+ function Y6(t, e) {
+ return (
+ (t = U0(t)),
+ o(function (n) {
+ return Cme(t, e, n);
+ }, 'cachedStyleFunction')
+ );
+ }
+ function W6(t, e) {
+ t = U0(t);
+ var r = o(function (i) {
+ return e.call(i);
+ }, 'selfFn');
+ return o(function () {
+ var i = this[0];
+ if (i) return Cme(t, r, i);
+ }, 'cachedPrototypeStyleFunction');
+ }
+ function AP(t, e) {
+ var r = t._private,
+ n = r.data.parent ? t.parents() : null;
+ if (n)
+ for (var i = 0; i < n.length; i++) {
+ var a = n[i];
+ if (!e(a)) return !1;
+ }
+ return !0;
+ }
+ function uB(t) {
+ var e = t.ok,
+ r = t.edgeOkViaNode || t.ok,
+ n = t.parentOk || t.ok;
+ return function () {
+ var i = this.cy();
+ if (!i.styleEnabled()) return !0;
+ var a = this[0],
+ s = i.hasCompoundNodes();
+ if (a) {
+ var l = a._private;
+ if (!e(a)) return !1;
+ if (a.isNode()) return !s || AP(a, n);
+ var u = l.source,
+ h = l.target;
+ return r(u) && (!s || AP(u, r)) && (u === h || (r(h) && (!s || AP(h, r))));
+ }
+ };
+ }
+ function H0e(t) {
+ return function () {
+ var e = arguments,
+ r = [];
+ if (e.length === 2) {
+ var n = e[0],
+ i = e[1];
+ this.on(t.event, n, i);
+ } else if (e.length === 1 && jn(e[0])) {
+ var a = e[0];
+ this.on(t.event, a);
+ } else if (e.length === 0 || (e.length === 1 && vn(e[0]))) {
+ for (var s = e.length === 1 ? e[0] : null, l = 0; l < this.length; l++) {
+ var u = this[l],
+ h = !t.ableField || u._private[t.ableField],
+ f = u._private[t.field] != t.value;
+ if (t.overrideAble) {
+ var d = t.overrideAble(u);
+ if (d !== void 0 && ((h = d), !d)) return this;
+ }
+ h && ((u._private[t.field] = t.value), f && r.push(u));
+ }
+ var p = this.spawn(r);
+ p.updateStyle(), p.emit(t.event), s && p.emit(s);
+ }
+ return this;
+ };
+ }
+ function m1(t) {
+ (Cf[t.field] = function () {
+ var e = this[0];
+ if (e) {
+ if (t.overrideField) {
+ var r = t.overrideField(e);
+ if (r !== void 0) return r;
+ }
+ return e._private[t.field];
+ }
+ }),
+ (Cf[t.on] = H0e({
+ event: t.on,
+ field: t.field,
+ ableField: t.ableField,
+ overrideAble: t.overrideAble,
+ value: !0
+ })),
+ (Cf[t.off] = H0e({
+ event: t.off,
+ field: t.field,
+ ableField: t.ableField,
+ overrideAble: t.overrideAble,
+ value: !1
+ }));
+ }
+ function X0e(t) {
+ return o(function (r) {
+ for (var n = [], i = 0; i < this.length; i++) {
+ var a = this[i],
+ s = a._private[t.attr];
+ s && n.push(s);
+ }
+ return this.spawn(n, !0).filter(r);
+ }, 'sourceImpl');
+ }
+ function j0e(t) {
+ return o(function (r) {
+ var n = [],
+ i = this._private.cy,
+ a = t || {};
+ zt(r) && (r = i.$(r));
+ for (var s = 0; s < r.length; s++)
+ for (var l = r[s]._private.edges, u = 0; u < l.length; u++) {
+ var h = l[u],
+ f = h._private.data,
+ d = this.hasElementWithId(f.source) && r.hasElementWithId(f.target),
+ p = r.hasElementWithId(f.source) && this.hasElementWithId(f.target),
+ m = d || p;
+ m && (((a.thisIsSrc || a.thisIsTgt) && ((a.thisIsSrc && !d) || (a.thisIsTgt && !p))) || n.push(h));
+ }
+ return this.spawn(n, !0);
+ }, 'edgesWithImpl');
+ }
+ function K0e(t) {
+ var e = { codirected: !1 };
+ return (
+ (t = Wt({}, e, t)),
+ o(function (n) {
+ for (var i = [], a = this.edges(), s = t, l = 0; l < a.length; l++)
+ for (
+ var u = a[l],
+ h = u._private,
+ f = h.source,
+ d = f._private.data.id,
+ p = h.data.target,
+ m = f._private.edges,
+ g = 0;
+ g < m.length;
+ g++
+ ) {
+ var y = m[g],
+ v = y._private.data,
+ x = v.target,
+ b = v.source,
+ w = x === p && b === d,
+ S = d === x && p === b;
+ ((s.codirected && w) || (!s.codirected && (w || S))) && i.push(y);
+ }
+ return this.spawn(i, !0).filter(n);
+ }, 'parallelEdgesImpl')
+ );
+ }
+ function SKe(t, e, r, n) {
+ var i = 4,
+ a = 0.001,
+ s = 1e-7,
+ l = 10,
+ u = 11,
+ h = 1 / (u - 1),
+ f = typeof Float32Array < 'u';
+ if (arguments.length !== 4) return !1;
+ for (var d = 0; d < 4; ++d)
+ if (typeof arguments[d] != 'number' || isNaN(arguments[d]) || !isFinite(arguments[d])) return !1;
+ (t = Math.min(t, 1)), (r = Math.min(r, 1)), (t = Math.max(t, 0)), (r = Math.max(r, 0));
+ var p = f ? new Float32Array(u) : new Array(u);
+ function m(M, N) {
+ return 1 - 3 * N + 3 * M;
+ }
+ o(m, 'A');
+ function g(M, N) {
+ return 3 * N - 6 * M;
+ }
+ o(g, 'B');
+ function y(M) {
+ return 3 * M;
+ }
+ o(y, 'C');
+ function v(M, N, k) {
+ return ((m(N, k) * M + g(N, k)) * M + y(N)) * M;
+ }
+ o(v, 'calcBezier');
+ function x(M, N, k) {
+ return 3 * m(N, k) * M * M + 2 * g(N, k) * M + y(N);
+ }
+ o(x, 'getSlope');
+ function b(M, N) {
+ for (var k = 0; k < i; ++k) {
+ var I = x(N, t, r);
+ if (I === 0) return N;
+ var C = v(N, t, r) - M;
+ N -= C / I;
+ }
+ return N;
+ }
+ o(b, 'newtonRaphsonIterate');
+ function w() {
+ for (var M = 0; M < u; ++M) p[M] = v(M * h, t, r);
+ }
+ o(w, 'calcSampleValues');
+ function S(M, N, k) {
+ var I,
+ C,
+ O = 0;
+ do (C = N + (k - N) / 2), (I = v(C, t, r) - M), I > 0 ? (k = C) : (N = C);
+ while (Math.abs(I) > s && ++O < l);
+ return C;
+ }
+ o(S, 'binarySubdivide');
+ function T(M) {
+ for (var N = 0, k = 1, I = u - 1; k !== I && p[k] <= M; ++k) N += h;
+ --k;
+ var C = (M - p[k]) / (p[k + 1] - p[k]),
+ O = N + C * h,
+ D = x(O, t, r);
+ return D >= a ? b(M, O) : D === 0 ? O : S(M, N, N + h);
+ }
+ o(T, 'getTForX');
+ var E = !1;
+ function _() {
+ (E = !0), (t !== e || r !== n) && w();
+ }
+ o(_, 'precompute');
+ var A = o(function (N) {
+ return E || _(), t === e && r === n ? N : N === 0 ? 0 : N === 1 ? 1 : v(T(N), e, n);
+ }, 'f');
+ A.getControlPoints = function () {
+ return [
+ { x: t, y: e },
+ { x: r, y: n }
+ ];
+ };
+ var L = 'generateBezier(' + [t, e, r, n] + ')';
+ return (
+ (A.toString = function () {
+ return L;
+ }),
+ A
+ );
+ }
+ function Q0e(t, e, r, n, i) {
+ if (n === 1 || e === r) return r;
+ var a = i(e, r, n);
+ return (
+ t == null ||
+ ((t.roundValue || t.color) && (a = Math.round(a)),
+ t.min !== void 0 && (a = Math.max(a, t.min)),
+ t.max !== void 0 && (a = Math.min(a, t.max))),
+ a
+ );
+ }
+ function Z0e(t, e) {
+ return t.pfValue != null || t.value != null
+ ? t.pfValue != null && (e == null || e.type.units !== '%')
+ ? t.pfValue
+ : t.value
+ : t;
+ }
+ function jg(t, e, r, n, i) {
+ var a = i != null ? i.type : null;
+ r < 0 ? (r = 0) : r > 1 && (r = 1);
+ var s = Z0e(t, i),
+ l = Z0e(e, i);
+ if (ft(s) && ft(l)) return Q0e(a, s, l, r, n);
+ if (vn(s) && vn(l)) {
+ for (var u = [], h = 0; h < l.length; h++) {
+ var f = s[h],
+ d = l[h];
+ if (f != null && d != null) {
+ var p = Q0e(a, f, d, r, n);
+ u.push(p);
+ } else u.push(d);
+ }
+ return u;
+ }
+ }
+ function _Ke(t, e, r, n) {
+ var i = !n,
+ a = t._private,
+ s = e._private,
+ l = s.easing,
+ u = s.startTime,
+ h = n ? t : t.cy(),
+ f = h.style();
+ if (!s.easingImpl)
+ if (l == null) s.easingImpl = v6.linear;
+ else {
+ var d;
+ if (zt(l)) {
+ var p = f.parse('transition-timing-function', l);
+ d = p.value;
+ } else d = l;
+ var m, g;
+ zt(d)
+ ? ((m = d), (g = []))
+ : ((m = d[1]),
+ (g = d.slice(2).map(function (B) {
+ return +B;
+ }))),
+ g.length > 0
+ ? (m === 'spring' && g.push(s.duration), (s.easingImpl = v6[m].apply(null, g)))
+ : (s.easingImpl = v6[m]);
+ }
+ var y = s.easingImpl,
+ v;
+ if (
+ (s.duration === 0 ? (v = 1) : (v = (r - u) / s.duration),
+ s.applying && (v = s.progress),
+ v < 0 ? (v = 0) : v > 1 && (v = 1),
+ s.delay == null)
+ ) {
+ var x = s.startPosition,
+ b = s.position;
+ if (b && i && !t.locked()) {
+ var w = {};
+ Nx(x.x, b.x) && (w.x = jg(x.x, b.x, v, y)), Nx(x.y, b.y) && (w.y = jg(x.y, b.y, v, y)), t.position(w);
+ }
+ var S = s.startPan,
+ T = s.pan,
+ E = a.pan,
+ _ = T != null && n;
+ _ &&
+ (Nx(S.x, T.x) && (E.x = jg(S.x, T.x, v, y)), Nx(S.y, T.y) && (E.y = jg(S.y, T.y, v, y)), t.emit('pan'));
+ var A = s.startZoom,
+ L = s.zoom,
+ M = L != null && n;
+ M && (Nx(A, L) && (a.zoom = Hx(a.minZoom, jg(A, L, v, y), a.maxZoom)), t.emit('zoom')),
+ (_ || M) && t.emit('viewport');
+ var N = s.style;
+ if (N && N.length > 0 && i) {
+ for (var k = 0; k < N.length; k++) {
+ var I = N[k],
+ C = I.name,
+ O = I,
+ D = s.startStyle[C],
+ P = f.properties[D.name],
+ F = jg(D, O, v, y, P);
+ f.overrideBypass(t, C, F);
+ }
+ t.emit('style');
+ }
+ }
+ return (s.progress = v), v;
+ }
+ function Nx(t, e) {
+ return t == null || e == null ? !1 : ft(t) && ft(e) ? !0 : !!(t && e);
+ }
+ function LKe(t, e, r, n) {
+ var i = e._private;
+ (i.started = !0), (i.startTime = r - i.progress * i.duration);
+ }
+ function J0e(t, e) {
+ var r = e._private.aniEles,
+ n = [];
+ function i(f, d) {
+ var p = f._private,
+ m = p.animation.current,
+ g = p.animation.queue,
+ y = !1;
+ if (m.length === 0) {
+ var v = g.shift();
+ v && m.push(v);
+ }
+ for (
+ var x = o(function (E) {
+ for (var _ = E.length - 1; _ >= 0; _--) {
+ var A = E[_];
+ A();
+ }
+ E.splice(0, E.length);
+ }, 'callbacks'),
+ b = m.length - 1;
+ b >= 0;
+ b--
+ ) {
+ var w = m[b],
+ S = w._private;
+ if (S.stopped) {
+ m.splice(b, 1), (S.hooked = !1), (S.playing = !1), (S.started = !1), x(S.frames);
+ continue;
+ }
+ (!S.playing && !S.applying) ||
+ (S.playing && S.applying && (S.applying = !1),
+ S.started || LKe(f, w, t),
+ _Ke(f, w, t, d),
+ S.applying && (S.applying = !1),
+ x(S.frames),
+ S.step != null && S.step(t),
+ w.completed() &&
+ (m.splice(b, 1), (S.hooked = !1), (S.playing = !1), (S.started = !1), x(S.completes)),
+ (y = !0));
+ }
+ return !d && m.length === 0 && g.length === 0 && n.push(f), y;
+ }
+ o(i, 'stepOne');
+ for (var a = !1, s = 0; s < r.length; s++) {
+ var l = r[s],
+ u = i(l);
+ a = a || u;
+ }
+ var h = i(e, !0);
+ (a || h) && (r.length > 0 ? e.notify('draw', r) : e.notify('draw')), r.unmerge(n), e.emit('step');
+ }
+ function Ame(t) {
+ this.options = Wt({}, BKe, FKe, t);
+ }
+ function _me(t) {
+ this.options = Wt({}, zKe, t);
+ }
+ function Lme(t) {
+ this.options = Wt({}, GKe, t);
+ }
+ function j6(t) {
+ (this.options = Wt({}, $Ke, t)), (this.options.layout = this);
+ var e = this.options.eles.nodes(),
+ r = this.options.eles.edges(),
+ n = r.filter(function (i) {
+ var a = i.source().data('id'),
+ s = i.target().data('id'),
+ l = e.some(function (h) {
+ return h.data('id') === a;
+ }),
+ u = e.some(function (h) {
+ return h.data('id') === s;
+ });
+ return !l || !u;
+ });
+ this.options.eles = this.options.eles.not(n);
+ }
+ function Rme(t) {
+ this.options = Wt({}, iQe, t);
+ }
+ function dB(t) {
+ this.options = Wt({}, aQe, t);
+ }
+ function Nme(t) {
+ this.options = Wt({}, sQe, t);
+ }
+ function Mme(t) {
+ this.options = Wt({}, oQe, t);
+ }
+ function Ime(t) {
+ (this.options = t), (this.notifications = 0);
+ }
+ function Bme(t, e) {
+ e.radius === 0
+ ? t.lineTo(e.cx, e.cy)
+ : t.arc(e.cx, e.cy, e.radius, e.startAngle, e.endAngle, e.counterClockwise);
+ }
+ function mB(t, e, r, n) {
+ var i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0;
+ return n === 0 || e.radius === 0
+ ? {
+ cx: e.x,
+ cy: e.y,
+ radius: 0,
+ startX: e.x,
+ startY: e.y,
+ stopX: e.x,
+ stopY: e.y,
+ startAngle: void 0,
+ endAngle: void 0,
+ counterClockwise: void 0
+ }
+ : (uQe(t, e, r, n, i),
+ {
+ cx: GP,
+ cy: $P,
+ radius: z0,
+ startX: Ome,
+ startY: Pme,
+ stopX: VP,
+ stopY: UP,
+ startAngle: Gc.ang + (Math.PI / 2) * G0,
+ endAngle: Jo.ang - (Math.PI / 2) * G0,
+ counterClockwise: w6
+ });
+ }
+ function Fme(t) {
+ var e = [];
+ if (t != null) {
+ for (var r = 0; r < t.length; r += 2) {
+ var n = t[r],
+ i = t[r + 1];
+ e.push({ x: n, y: i });
+ }
+ return e;
+ }
+ }
+ function hQe(t, e, r) {
+ for (
+ var n = o(function (h, f, d, p) {
+ return aa(h, f, d, p);
+ }, 'qbezierAt$1'),
+ i = e._private,
+ a = i.rstyle.bezierPts,
+ s = 0;
+ s < t.bezierProjPcts.length;
+ s++
+ ) {
+ var l = t.bezierProjPcts[s];
+ a.push({ x: n(r[0], r[2], r[4], l), y: n(r[1], r[3], r[5], l) });
+ }
+ }
+ function VQe(t, e) {
+ for (var r = 0; r < e.length; r++) {
+ var n = e[r];
+ t.lineTo(n.x, n.y);
+ }
+ }
+ function UQe(t, e, r) {
+ for (var n, i = 0; i < e.length; i++) {
+ var a = e[i];
+ i === 0 && (n = a), t.lineTo(a.x, a.y);
+ }
+ t.quadraticCurveTo(r.x, r.y, n.x, n.y);
+ }
+ function gpe(t, e, r) {
+ t.beginPath && t.beginPath();
+ for (var n = e, i = 0; i < n.length; i++) {
+ var a = n[i];
+ t.lineTo(a.x, a.y);
+ }
+ var s = r,
+ l = r[0];
+ t.moveTo(l.x, l.y);
+ for (var i = 1; i < s.length; i++) {
+ var a = s[i];
+ t.lineTo(a.x, a.y);
+ }
+ t.closePath && t.closePath();
+ }
+ function HQe(t, e, r, n, i) {
+ t.beginPath && t.beginPath(), t.arc(r, n, i, 0, Math.PI * 2, !1);
+ var a = e,
+ s = a[0];
+ t.moveTo(s.x, s.y);
+ for (var l = 0; l < a.length; l++) {
+ var u = a[l];
+ t.lineTo(u.x, u.y);
+ }
+ t.closePath && t.closePath();
+ }
+ function YQe(t, e, r, n) {
+ t.arc(e, r, n, 0, Math.PI * 2, !1);
+ }
+ function RP(t, e, r, n, i) {
+ var a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 5,
+ s = arguments.length > 6 ? arguments[6] : void 0;
+ t.beginPath(),
+ t.moveTo(e + a, r),
+ t.lineTo(e + n - a, r),
+ t.quadraticCurveTo(e + n, r, e + n, r + a),
+ t.lineTo(e + n, r + i - a),
+ t.quadraticCurveTo(e + n, r + i, e + n - a, r + i),
+ t.lineTo(e + a, r + i),
+ t.quadraticCurveTo(e, r + i, e, r + i - a),
+ t.lineTo(e, r + a),
+ t.quadraticCurveTo(e, r, e + a, r),
+ t.closePath(),
+ s ? t.stroke() : t.fill();
+ }
+ function ZQe(t, e) {
+ for (var r = atob(t), n = new ArrayBuffer(r.length), i = new Uint8Array(n), a = 0; a < r.length; a++)
+ i[a] = r.charCodeAt(a);
+ return new Blob([n], { type: e });
+ }
+ function xpe(t) {
+ var e = t.indexOf(',');
+ return t.substr(e + 1);
+ }
+ function Qme(t, e, r) {
+ var n = o(function () {
+ return e.toDataURL(r, t.quality);
+ }, 'getB64Uri');
+ switch (t.output) {
+ case 'blob-promise':
+ return new u1(function (i, a) {
+ try {
+ e.toBlob(
+ function (s) {
+ s != null ? i(s) : a(new Error('`canvas.toBlob()` sent a null value in its callback'));
+ },
+ r,
+ t.quality
+ );
+ } catch (s) {
+ a(s);
+ }
+ });
+ case 'blob':
+ return ZQe(xpe(n()), r);
+ case 'base64':
+ return xpe(n());
+ case 'base64uri':
+ default:
+ return n();
+ }
+ }
+ function Jme(t) {
+ var e = this,
+ r = e.cy.window(),
+ n = r.document;
+ e.data = {
+ canvases: new Array(Yr.CANVAS_LAYERS),
+ contexts: new Array(Yr.CANVAS_LAYERS),
+ canvasNeedsRedraw: new Array(Yr.CANVAS_LAYERS),
+ bufferCanvases: new Array(Yr.BUFFER_COUNT),
+ bufferContexts: new Array(Yr.CANVAS_LAYERS)
+ };
+ var i = '-webkit-tap-highlight-color',
+ a = 'rgba(0,0,0,0)';
+ e.data.canvasContainer = n.createElement('div');
+ var s = e.data.canvasContainer.style;
+ (e.data.canvasContainer.style[i] = a), (s.position = 'relative'), (s.zIndex = '0'), (s.overflow = 'hidden');
+ var l = t.cy.container();
+ l.appendChild(e.data.canvasContainer), (l.style[i] = a);
+ var u = {
+ '-webkit-user-select': 'none',
+ '-moz-user-select': '-moz-none',
+ 'user-select': 'none',
+ '-webkit-tap-highlight-color': 'rgba(0,0,0,0)',
+ 'outline-style': 'none'
+ };
+ GHe() && ((u['-ms-touch-action'] = 'none'), (u['touch-action'] = 'none'));
+ for (var h = 0; h < Yr.CANVAS_LAYERS; h++) {
+ var f = (e.data.canvases[h] = n.createElement('canvas'));
+ (e.data.contexts[h] = f.getContext('2d')),
+ Object.keys(u).forEach(function (Z) {
+ f.style[Z] = u[Z];
+ }),
+ (f.style.position = 'absolute'),
+ f.setAttribute('data-id', 'layer' + h),
+ (f.style.zIndex = String(Yr.CANVAS_LAYERS - h)),
+ e.data.canvasContainer.appendChild(f),
+ (e.data.canvasNeedsRedraw[h] = !1);
+ }
+ (e.data.topCanvas = e.data.canvases[0]),
+ e.data.canvases[Yr.NODE].setAttribute('data-id', 'layer' + Yr.NODE + '-node'),
+ e.data.canvases[Yr.SELECT_BOX].setAttribute('data-id', 'layer' + Yr.SELECT_BOX + '-selectbox'),
+ e.data.canvases[Yr.DRAG].setAttribute('data-id', 'layer' + Yr.DRAG + '-drag');
+ for (var h = 0; h < Yr.BUFFER_COUNT; h++)
+ (e.data.bufferCanvases[h] = n.createElement('canvas')),
+ (e.data.bufferContexts[h] = e.data.bufferCanvases[h].getContext('2d')),
+ (e.data.bufferCanvases[h].style.position = 'absolute'),
+ e.data.bufferCanvases[h].setAttribute('data-id', 'buffer' + h),
+ (e.data.bufferCanvases[h].style.zIndex = String(-h - 1)),
+ (e.data.bufferCanvases[h].style.visibility = 'hidden');
+ e.pathsEnabled = !0;
+ var d = Gs(),
+ p = o(function (H) {
+ return { x: (H.x1 + H.x2) / 2, y: (H.y1 + H.y2) / 2 };
+ }, 'getBoxCenter'),
+ m = o(function (H) {
+ return { x: -H.w / 2, y: -H.h / 2 };
+ }, 'getCenterOffset'),
+ g = o(function (H) {
+ var q = H[0]._private,
+ K = q.oldBackgroundTimestamp === q.backgroundTimestamp;
+ return !K;
+ }, 'backgroundTimestampHasChanged'),
+ y = o(function (H) {
+ return H[0]._private.nodeKey;
+ }, 'getStyleKey'),
+ v = o(function (H) {
+ return H[0]._private.labelStyleKey;
+ }, 'getLabelKey'),
+ x = o(function (H) {
+ return H[0]._private.sourceLabelStyleKey;
+ }, 'getSourceLabelKey'),
+ b = o(function (H) {
+ return H[0]._private.targetLabelStyleKey;
+ }, 'getTargetLabelKey'),
+ w = o(function (H, q, K, se, ce) {
+ return e.drawElement(H, q, K, !1, !1, ce);
+ }, 'drawElement'),
+ S = o(function (H, q, K, se, ce) {
+ return e.drawElementText(H, q, K, se, 'main', ce);
+ }, 'drawLabel'),
+ T = o(function (H, q, K, se, ce) {
+ return e.drawElementText(H, q, K, se, 'source', ce);
+ }, 'drawSourceLabel'),
+ E = o(function (H, q, K, se, ce) {
+ return e.drawElementText(H, q, K, se, 'target', ce);
+ }, 'drawTargetLabel'),
+ _ = o(function (H) {
+ return H.boundingBox(), H[0]._private.bodyBounds;
+ }, 'getElementBox'),
+ A = o(function (H) {
+ return H.boundingBox(), H[0]._private.labelBounds.main || d;
+ }, 'getLabelBox'),
+ L = o(function (H) {
+ return H.boundingBox(), H[0]._private.labelBounds.source || d;
+ }, 'getSourceLabelBox'),
+ M = o(function (H) {
+ return H.boundingBox(), H[0]._private.labelBounds.target || d;
+ }, 'getTargetLabelBox'),
+ N = o(function (H, q) {
+ return q;
+ }, 'isLabelVisibleAtScale'),
+ k = o(function (H) {
+ return p(_(H));
+ }, 'getElementRotationPoint'),
+ I = o(function (H, q, K) {
+ var se = H ? H + '-' : '';
+ return {
+ x: q.x + K.pstyle(se + 'text-margin-x').pfValue,
+ y: q.y + K.pstyle(se + 'text-margin-y').pfValue
+ };
+ }, 'addTextMargin'),
+ C = o(function (H, q, K) {
+ var se = H[0]._private.rscratch;
+ return { x: se[q], y: se[K] };
+ }, 'getRsPt'),
+ O = o(function (H) {
+ return I('', C(H, 'labelX', 'labelY'), H);
+ }, 'getLabelRotationPoint'),
+ D = o(function (H) {
+ return I('source', C(H, 'sourceLabelX', 'sourceLabelY'), H);
+ }, 'getSourceLabelRotationPoint'),
+ P = o(function (H) {
+ return I('target', C(H, 'targetLabelX', 'targetLabelY'), H);
+ }, 'getTargetLabelRotationPoint'),
+ F = o(function (H) {
+ return m(_(H));
+ }, 'getElementRotationOffset'),
+ B = o(function (H) {
+ return m(L(H));
+ }, 'getSourceLabelRotationOffset'),
+ $ = o(function (H) {
+ return m(M(H));
+ }, 'getTargetLabelRotationOffset'),
+ z = o(function (H) {
+ var q = A(H),
+ K = m(A(H));
+ if (H.isNode()) {
+ switch (H.pstyle('text-halign').value) {
+ case 'left':
+ K.x = -q.w;
+ break;
+ case 'right':
+ K.x = 0;
+ break;
+ }
+ switch (H.pstyle('text-valign').value) {
+ case 'top':
+ K.y = -q.h;
+ break;
+ case 'bottom':
+ K.y = 0;
+ break;
+ }
+ }
+ return K;
+ }, 'getLabelRotationOffset'),
+ Y = (e.data.eleTxrCache = new Bx(e, {
+ getKey: y,
+ doesEleInvalidateKey: g,
+ drawElement: w,
+ getBoundingBox: _,
+ getRotationPoint: k,
+ getRotationOffset: F,
+ allowEdgeTxrCaching: !1,
+ allowParentTxrCaching: !1
+ })),
+ Q = (e.data.lblTxrCache = new Bx(e, {
+ getKey: v,
+ drawElement: S,
+ getBoundingBox: A,
+ getRotationPoint: O,
+ getRotationOffset: z,
+ isVisible: N
+ })),
+ X = (e.data.slbTxrCache = new Bx(e, {
+ getKey: x,
+ drawElement: T,
+ getBoundingBox: L,
+ getRotationPoint: D,
+ getRotationOffset: B,
+ isVisible: N
+ })),
+ ie = (e.data.tlbTxrCache = new Bx(e, {
+ getKey: b,
+ drawElement: E,
+ getBoundingBox: M,
+ getRotationPoint: P,
+ getRotationOffset: $,
+ isVisible: N
+ })),
+ j = (e.data.lyrTxrCache = new Wme(e));
+ e.onUpdateEleCalcs(
+ o(function (H, q) {
+ Y.invalidateElements(q),
+ Q.invalidateElements(q),
+ X.invalidateElements(q),
+ ie.invalidateElements(q),
+ j.invalidateElements(q);
+ for (var K = 0; K < q.length; K++) {
+ var se = q[K]._private;
+ se.oldBackgroundTimestamp = se.backgroundTimestamp;
+ }
+ }, 'invalidateTextureCaches')
+ );
+ var J = o(function (H) {
+ for (var q = 0; q < H.length; q++) j.enqueueElementRefinement(H[q].ele);
+ }, 'refineInLayers');
+ Y.onDequeue(J), Q.onDequeue(J), X.onDequeue(J), ie.onDequeue(J);
+ }
+ function rge(t, e, r) {
+ var n = r,
+ i = o(function (A) {
+ tn(
+ 'Can not register `' +
+ e +
+ '` for `' +
+ t +
+ '` since `' +
+ A +
+ '` already exists in the prototype and can not be overridden'
+ );
+ }, 'overrideErr');
+ if (t === 'core') {
+ if (Kx.prototype[e]) return i(e);
+ Kx.prototype[e] = r;
+ } else if (t === 'collection') {
+ if (Ca.prototype[e]) return i(e);
+ Ca.prototype[e] = r;
+ } else if (t === 'layout') {
+ for (
+ var a = o(function (A) {
+ (this.options = A),
+ r.call(this, A),
+ Mr(this._private) || (this._private = {}),
+ (this._private.cy = A.cy),
+ (this._private.listeners = []),
+ this.createEmitter();
+ }, 'Layout'),
+ s = (a.prototype = Object.create(r.prototype)),
+ l = [],
+ u = 0;
+ u < l.length;
+ u++
+ ) {
+ var h = l[u];
+ s[h] =
+ s[h] ||
+ function () {
+ return this;
+ };
+ }
+ s.start && !s.run
+ ? (s.run = function () {
+ return this.start(), this;
+ })
+ : !s.start &&
+ s.run &&
+ (s.start = function () {
+ return this.run(), this;
+ });
+ var f = r.prototype.stop;
+ (s.stop = function () {
+ var _ = this.options;
+ if (_ && _.animate) {
+ var A = this.animations;
+ if (A) for (var L = 0; L < A.length; L++) A[L].stop();
+ }
+ return f ? f.call(this) : this.emit('layoutstop'), this;
+ }),
+ s.destroy ||
+ (s.destroy = function () {
+ return this;
+ }),
+ (s.cy = function () {
+ return this._private.cy;
+ });
+ var d = o(function (A) {
+ return A._private.cy;
+ }, 'getCy'),
+ p = {
+ addEventFields: o(function (A, L) {
+ (L.layout = A), (L.cy = d(A)), (L.target = A);
+ }, 'addEventFields'),
+ bubble: o(function () {
+ return !0;
+ }, 'bubble'),
+ parent: o(function (A) {
+ return d(A);
+ }, 'parent')
+ };
+ Wt(s, {
+ createEmitter: o(function () {
+ return (this._private.emitter = new H6(p, this)), this;
+ }, 'createEmitter'),
+ emitter: o(function () {
+ return this._private.emitter;
+ }, 'emitter'),
+ on: o(function (A, L) {
+ return this.emitter().on(A, L), this;
+ }, 'on'),
+ one: o(function (A, L) {
+ return this.emitter().one(A, L), this;
+ }, 'one'),
+ once: o(function (A, L) {
+ return this.emitter().one(A, L), this;
+ }, 'once'),
+ removeListener: o(function (A, L) {
+ return this.emitter().removeListener(A, L), this;
+ }, 'removeListener'),
+ removeAllListeners: o(function () {
+ return this.emitter().removeAllListeners(), this;
+ }, 'removeAllListeners'),
+ emit: o(function (A, L) {
+ return this.emitter().emit(A, L), this;
+ }, 'emit')
+ }),
+ en.eventAliasesOn(s),
+ (n = a);
+ } else if (t === 'renderer' && e !== 'null' && e !== 'base') {
+ var m = nge('renderer', 'base'),
+ g = m.prototype,
+ y = r,
+ v = r.prototype,
+ x = o(function () {
+ m.apply(this, arguments), y.apply(this, arguments);
+ }, 'Renderer'),
+ b = x.prototype;
+ for (var w in g) {
+ var S = g[w],
+ T = v[w] != null;
+ if (T) return i(w);
+ b[w] = S;
+ }
+ for (var E in v) b[E] = v[E];
+ g.clientFunctions.forEach(function (_) {
+ b[_] =
+ b[_] ||
+ function () {
+ oi('Renderer does not implement `renderer.' + _ + '()` on its prototype');
+ };
+ }),
+ (n = x);
+ } else if (t === '__proto__' || t === 'constructor' || t === 'prototype')
+ return oi(t + ' is an illegal type to be registered, possibly lead to prototype pollutions');
+ return _pe({ map: ege, keys: [t, e], value: n });
+ }
+ function nge(t, e) {
+ return Lpe({ map: ege, keys: [t, e] });
+ }
+ function nZe(t, e, r, n, i) {
+ return _pe({ map: tge, keys: [t, e, r, n], value: i });
+ }
+ function iZe(t, e, r, n) {
+ return Lpe({ map: tge, keys: [t, e, r, n] });
+ }
+ var Vi,
+ l0e,
+ RHe,
+ kpe,
+ NHe,
+ MHe,
+ Qx,
+ zt,
+ jn,
+ vn,
+ Mr,
+ IHe,
+ ft,
+ OHe,
+ k6,
+ xo,
+ Zx,
+ Epe,
+ KP,
+ Cpe,
+ PHe,
+ Sf,
+ BHe,
+ FHe,
+ zHe,
+ GHe,
+ Gx,
+ QP,
+ I6,
+ Spe,
+ c0e,
+ Ui,
+ $He,
+ VHe,
+ UHe,
+ HHe,
+ YHe,
+ WHe,
+ Ape,
+ qHe,
+ Wt,
+ XHe,
+ jHe,
+ KHe,
+ QHe,
+ ZHe,
+ JHe,
+ _pe,
+ Lpe,
+ V0,
+ Mx,
+ rYe,
+ nYe,
+ iYe,
+ aYe,
+ O6,
+ sYe,
+ xP,
+ oYe,
+ cYe,
+ uYe,
+ fYe,
+ dYe,
+ a1,
+ Dpe,
+ pYe,
+ mYe,
+ _x,
+ yYe,
+ vYe,
+ xYe,
+ wYe,
+ TYe,
+ kYe,
+ u0e,
+ Rpe,
+ SYe,
+ AYe,
+ Jx,
+ h0e,
+ LYe,
+ DYe,
+ RYe,
+ NYe,
+ f0e,
+ IYe,
+ OYe,
+ PYe,
+ P6,
+ bP,
+ Npe,
+ FYe,
+ E6,
+ Ku,
+ Zg,
+ Mpe,
+ Ix,
+ Ipe,
+ $x,
+ Vx,
+ zYe,
+ bf,
+ r6,
+ GYe,
+ U0,
+ Ope,
+ $Ye,
+ d0e,
+ VYe,
+ UYe,
+ ZP,
+ Ppe,
+ C6,
+ p0e,
+ JP,
+ oi,
+ Bpe,
+ tn,
+ HYe,
+ $c,
+ YYe,
+ Fpe,
+ WYe,
+ zpe,
+ Sa,
+ Af,
+ eB,
+ qYe,
+ Ul,
+ Tf,
+ XYe,
+ Vc,
+ jYe,
+ KYe,
+ c1,
+ B6,
+ m0e,
+ Ux,
+ QYe,
+ eb,
+ ZYe,
+ JYe,
+ eWe,
+ tWe,
+ rWe,
+ nWe,
+ iWe,
+ aWe,
+ sWe,
+ oWe,
+ lWe,
+ wP,
+ cWe,
+ uWe,
+ F6,
+ Gpe,
+ Jg,
+ hWe,
+ fWe,
+ dWe,
+ pWe,
+ mWe,
+ n6,
+ tB,
+ $pe,
+ H0,
+ B0,
+ gWe,
+ aa,
+ t1,
+ yWe,
+ Hx,
+ Gs,
+ vWe,
+ xWe,
+ bWe,
+ Vpe,
+ wWe,
+ p6,
+ m6,
+ g0e,
+ rB,
+ s1,
+ TWe,
+ Upe,
+ Hpe,
+ kWe,
+ EWe,
+ CWe,
+ SWe,
+ AWe,
+ _We,
+ zs,
+ Qu,
+ LWe,
+ S6,
+ A6,
+ DWe,
+ $0,
+ Ox,
+ TP,
+ kf,
+ Yx,
+ RWe,
+ i6,
+ ls,
+ Ype,
+ NP,
+ Y0,
+ Wpe,
+ nB,
+ NWe,
+ MP,
+ MWe,
+ IWe,
+ y0e,
+ r1,
+ v0e,
+ n1,
+ OWe,
+ IP,
+ PWe,
+ BWe,
+ FWe,
+ zWe,
+ qpe,
+ GWe,
+ $We,
+ VWe,
+ UWe,
+ HWe,
+ YWe,
+ WWe,
+ x0e,
+ qWe,
+ XWe,
+ Xpe,
+ b0e,
+ w0e,
+ jWe,
+ KWe,
+ Lx,
+ o1,
+ QWe,
+ iB,
+ _6,
+ kP,
+ jpe,
+ Kpe,
+ ZWe,
+ JWe,
+ eqe,
+ T0e,
+ k0e,
+ tqe,
+ rqe,
+ nqe,
+ iqe,
+ aqe,
+ E0e,
+ sqe,
+ oqe,
+ lqe,
+ cqe,
+ C0e,
+ a6,
+ uqe,
+ hqe,
+ S0e,
+ fqe,
+ dqe,
+ pqe,
+ mqe,
+ gqe,
+ yqe,
+ A0e,
+ vqe,
+ _0e,
+ xqe,
+ bqe,
+ wqe,
+ s6,
+ Tqe,
+ o6,
+ kqe,
+ Qpe,
+ Zpe,
+ Jpe,
+ eme,
+ Zu,
+ L0e,
+ tme,
+ D0e,
+ R0e,
+ Eqe,
+ u1,
+ OP,
+ W0,
+ Cqe,
+ Sqe,
+ G6,
+ Aqe,
+ _qe,
+ Dqe,
+ Rqe,
+ Nqe,
+ Mqe,
+ Iqe,
+ Pqe,
+ Bqe,
+ EP,
+ N0e,
+ zqe,
+ Gqe,
+ $qe,
+ Uqe,
+ Hqe,
+ Yqe,
+ Wqe,
+ qqe,
+ Xqe,
+ jqe,
+ Kqe,
+ Zqe,
+ eXe,
+ aB,
+ rXe,
+ Wx,
+ iXe,
+ sXe,
+ oXe,
+ lXe,
+ cXe,
+ hXe,
+ fXe,
+ dXe,
+ mXe,
+ gXe,
+ vXe,
+ M0e,
+ bXe,
+ rme,
+ $6,
+ kXe,
+ EXe,
+ SXe,
+ _Xe,
+ DXe,
+ NXe,
+ MXe,
+ IXe,
+ OXe,
+ BXe,
+ zXe,
+ V6,
+ VXe,
+ HXe,
+ WXe,
+ XXe,
+ nme,
+ jXe,
+ KXe,
+ QXe,
+ JXe,
+ eje,
+ tje,
+ rje,
+ ime,
+ ame,
+ ije,
+ I0e,
+ O0e,
+ aje,
+ ome,
+ lme,
+ lje,
+ oB,
+ hje,
+ dje,
+ pje,
+ P0e,
+ gje,
+ yje,
+ vje,
+ bje,
+ wje,
+ Tje,
+ Eje,
+ Sje,
+ _je,
+ Dje,
+ Nje,
+ Mje,
+ Ije,
+ en,
+ Oje,
+ g6,
+ Nr,
+ un,
+ Ct,
+ PP,
+ Pje,
+ Bje,
+ Fje,
+ qg,
+ wf,
+ BP,
+ zje,
+ Gje,
+ $je,
+ Vje,
+ Uje,
+ cme,
+ Hje,
+ Yje,
+ lB,
+ Wje,
+ li,
+ In,
+ qje,
+ Xje,
+ jje,
+ _f,
+ Lf,
+ Ef,
+ tl,
+ l1,
+ qx,
+ fme,
+ Qje,
+ U6,
+ Hl,
+ dme,
+ pme,
+ B0e,
+ Zje,
+ i1,
+ Rf,
+ el,
+ Vl,
+ F0,
+ Dx,
+ l6,
+ SP,
+ Jje,
+ eKe,
+ mme,
+ gme,
+ F0e,
+ Xx,
+ z0e,
+ G0e,
+ tKe,
+ Px,
+ tb,
+ yme,
+ rKe,
+ nKe,
+ iKe,
+ aKe,
+ sKe,
+ oKe,
+ lKe,
+ cKe,
+ uKe,
+ $0e,
+ hKe,
+ fKe,
+ dKe,
+ vme,
+ xme,
+ pKe,
+ bme,
+ V0e,
+ mKe,
+ Df,
+ wme,
+ U0e,
+ gKe,
+ yKe,
+ u6,
+ Tme,
+ kme,
+ Wr,
+ vKe,
+ Eme,
+ L6,
+ xKe,
+ bKe,
+ y6,
+ Ea,
+ p1,
+ wKe,
+ TKe,
+ kKe,
+ EKe,
+ Cf,
+ Fa,
+ Y0e,
+ W0e,
+ q0e,
+ Ca,
+ Dn,
+ CKe,
+ AKe,
+ Ln,
+ v6,
+ DKe,
+ RKe,
+ h6,
+ Sme,
+ FP,
+ x6,
+ NKe,
+ MKe,
+ zP,
+ b6,
+ Ga,
+ Fx,
+ IKe,
+ rb,
+ hB,
+ Uc,
+ q6,
+ fB,
+ ka,
+ X6,
+ Ba,
+ za,
+ OKe,
+ PKe,
+ q0,
+ jx,
+ Kx,
+ D6,
+ BKe,
+ FKe,
+ Kg,
+ epe,
+ zKe,
+ GKe,
+ _P,
+ $Ke,
+ VKe,
+ UKe,
+ HKe,
+ YKe,
+ WKe,
+ Dme,
+ qKe,
+ XKe,
+ jKe,
+ tpe,
+ KKe,
+ QKe,
+ R6,
+ ZKe,
+ JKe,
+ eQe,
+ tQe,
+ rQe,
+ nQe,
+ rpe,
+ iQe,
+ aQe,
+ sQe,
+ oQe,
+ lQe,
+ npe,
+ ipe,
+ pB,
+ j0,
+ N6,
+ GP,
+ $P,
+ Gc,
+ Jo,
+ ape,
+ spe,
+ G0,
+ w6,
+ ju,
+ O0,
+ z0,
+ zc,
+ Qg,
+ f6,
+ Ome,
+ Pme,
+ VP,
+ UP,
+ ope,
+ lpe,
+ cQe,
+ uQe,
+ $a,
+ nb,
+ gB,
+ Hc,
+ zme,
+ Gme,
+ fQe,
+ $me,
+ cpe,
+ upe,
+ K6,
+ Q6,
+ Vme,
+ Ume,
+ g1,
+ Ju,
+ ib,
+ hpe,
+ dQe,
+ Hme,
+ y1,
+ LP,
+ Yme,
+ pQe,
+ fpe,
+ d6,
+ T6,
+ HP,
+ mQe,
+ gQe,
+ yQe,
+ vQe,
+ xQe,
+ bQe,
+ wQe,
+ TQe,
+ kQe,
+ EQe,
+ CQe,
+ SQe,
+ AQe,
+ _Qe,
+ e1,
+ LQe,
+ Bx,
+ Yi,
+ DQe,
+ zx,
+ M6,
+ RQe,
+ NQe,
+ MQe,
+ IQe,
+ OQe,
+ PQe,
+ BQe,
+ FQe,
+ dpe,
+ zQe,
+ GQe,
+ Wme,
+ Aa,
+ ppe,
+ $Qe,
+ qme,
+ mpe,
+ Yc,
+ WQe,
+ qQe,
+ XQe,
+ jQe,
+ KQe,
+ DP,
+ eh,
+ Xme,
+ yB,
+ K0,
+ v1,
+ jme,
+ bo,
+ QQe,
+ Nf,
+ ype,
+ vpe,
+ YP,
+ WP,
+ Kme,
+ P0,
+ ab,
+ Zme,
+ JQe,
+ Yr,
+ eZe,
+ tZe,
+ rZe,
+ ege,
+ tge,
+ qP,
+ ige,
+ X0,
+ aZe,
+ rl,
+ vB = R(() => {
+ 'use strict';
+ o(Hi, '_typeof');
+ o(XP, '_classCallCheck');
+ o(s0e, '_defineProperties');
+ o(jP, '_createClass');
+ o(bpe, '_defineProperty$1');
+ o($l, '_slicedToArray');
+ o(_He, '_arrayWithHoles');
+ o(LHe, '_iterableToArrayLimit');
+ o(wpe, '_unsupportedIterableToArray');
+ o(o0e, '_arrayLikeToArray');
+ o(DHe, '_nonIterableRest');
+ o(Tpe, '_createForOfIteratorHelper');
+ (Vi = typeof window > 'u' ? null : window), (l0e = Vi ? Vi.navigator : null);
+ Vi && Vi.document;
+ (RHe = Hi('')),
+ (kpe = Hi({})),
+ (NHe = Hi(function () {})),
+ (MHe = typeof HTMLElement > 'u' ? 'undefined' : Hi(HTMLElement)),
+ (Qx = o(function (e) {
+ return e && e.instanceString && jn(e.instanceString) ? e.instanceString() : null;
+ }, 'instanceStr')),
+ (zt = o(function (e) {
+ return e != null && Hi(e) == RHe;
+ }, 'string')),
+ (jn = o(function (e) {
+ return e != null && Hi(e) === NHe;
+ }, 'fn')),
+ (vn = o(function (e) {
+ return !xo(e) && (Array.isArray ? Array.isArray(e) : e != null && e instanceof Array);
+ }, 'array')),
+ (Mr = o(function (e) {
+ return e != null && Hi(e) === kpe && !vn(e) && e.constructor === Object;
+ }, 'plainObject')),
+ (IHe = o(function (e) {
+ return e != null && Hi(e) === kpe;
+ }, 'object')),
+ (ft = o(function (e) {
+ return e != null && Hi(e) === Hi(1) && !isNaN(e);
+ }, 'number')),
+ (OHe = o(function (e) {
+ return ft(e) && Math.floor(e) === e;
+ }, 'integer')),
+ (k6 = o(function (e) {
+ if (MHe !== 'undefined') return e != null && e instanceof HTMLElement;
+ }, 'htmlElement')),
+ (xo = o(function (e) {
+ return Zx(e) || Epe(e);
+ }, 'elementOrCollection')),
+ (Zx = o(function (e) {
+ return Qx(e) === 'collection' && e._private.single;
+ }, 'element')),
+ (Epe = o(function (e) {
+ return Qx(e) === 'collection' && !e._private.single;
+ }, 'collection')),
+ (KP = o(function (e) {
+ return Qx(e) === 'core';
+ }, 'core')),
+ (Cpe = o(function (e) {
+ return Qx(e) === 'stylesheet';
+ }, 'stylesheet')),
+ (PHe = o(function (e) {
+ return Qx(e) === 'event';
+ }, 'event')),
+ (Sf = o(function (e) {
+ return e == null ? !0 : !!(e === '' || e.match(/^\s+$/));
+ }, 'emptyString')),
+ (BHe = o(function (e) {
+ return typeof HTMLElement > 'u' ? !1 : e instanceof HTMLElement;
+ }, 'domElement')),
+ (FHe = o(function (e) {
+ return Mr(e) && ft(e.x1) && ft(e.x2) && ft(e.y1) && ft(e.y2);
+ }, 'boundingBox')),
+ (zHe = o(function (e) {
+ return IHe(e) && jn(e.then);
+ }, 'promise')),
+ (GHe = o(function () {
+ return l0e && l0e.userAgent.match(/msie|trident|edge/i);
+ }, 'ms')),
+ (Gx = o(function (e, r) {
+ r ||
+ (r = o(function () {
+ if (arguments.length === 1) return arguments[0];
+ if (arguments.length === 0) return 'undefined';
+ for (var a = [], s = 0; s < arguments.length; s++) a.push(arguments[s]);
+ return a.join('$');
+ }, 'keyFn'));
+ var n = o(function i() {
+ var a = this,
+ s = arguments,
+ l,
+ u = r.apply(a, s),
+ h = i.cache;
+ return (l = h[u]) || (l = h[u] = e.apply(a, s)), l;
+ }, 'memoizedFn');
+ return (n.cache = {}), n;
+ }, 'memoize')),
+ (QP = Gx(function (t) {
+ return t.replace(/([A-Z])/g, function (e) {
+ return '-' + e.toLowerCase();
+ });
+ })),
+ (I6 = Gx(function (t) {
+ return t.replace(/(-\w)/g, function (e) {
+ return e[1].toUpperCase();
+ });
+ })),
+ (Spe = Gx(
+ function (t, e) {
+ return t + e[0].toUpperCase() + e.substring(1);
+ },
+ function (t, e) {
+ return t + '$' + e;
+ }
+ )),
+ (c0e = o(function (e) {
+ return Sf(e) ? e : e.charAt(0).toUpperCase() + e.substring(1);
+ }, 'capitalize')),
+ (Ui = '(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))'),
+ ($He =
+ 'rgb[a]?\\((' +
+ Ui +
+ '[%]?)\\s*,\\s*(' +
+ Ui +
+ '[%]?)\\s*,\\s*(' +
+ Ui +
+ '[%]?)(?:\\s*,\\s*(' +
+ Ui +
+ '))?\\)'),
+ (VHe =
+ 'rgb[a]?\\((?:' +
+ Ui +
+ '[%]?)\\s*,\\s*(?:' +
+ Ui +
+ '[%]?)\\s*,\\s*(?:' +
+ Ui +
+ '[%]?)(?:\\s*,\\s*(?:' +
+ Ui +
+ '))?\\)'),
+ (UHe =
+ 'hsl[a]?\\((' +
+ Ui +
+ ')\\s*,\\s*(' +
+ Ui +
+ '[%])\\s*,\\s*(' +
+ Ui +
+ '[%])(?:\\s*,\\s*(' +
+ Ui +
+ '))?\\)'),
+ (HHe =
+ 'hsl[a]?\\((?:' +
+ Ui +
+ ')\\s*,\\s*(?:' +
+ Ui +
+ '[%])\\s*,\\s*(?:' +
+ Ui +
+ '[%])(?:\\s*,\\s*(?:' +
+ Ui +
+ '))?\\)'),
+ (YHe = '\\#[0-9a-fA-F]{3}'),
+ (WHe = '\\#[0-9a-fA-F]{6}'),
+ (Ape = o(function (e, r) {
+ return e < r ? -1 : e > r ? 1 : 0;
+ }, 'ascending')),
+ (qHe = o(function (e, r) {
+ return -1 * Ape(e, r);
+ }, 'descending')),
+ (Wt =
+ Object.assign != null
+ ? Object.assign.bind(Object)
+ : function (t) {
+ for (var e = arguments, r = 1; r < e.length; r++) {
+ var n = e[r];
+ if (n != null)
+ for (var i = Object.keys(n), a = 0; a < i.length; a++) {
+ var s = i[a];
+ t[s] = n[s];
+ }
+ }
+ return t;
+ }),
+ (XHe = o(function (e) {
+ if (!(!(e.length === 4 || e.length === 7) || e[0] !== '#')) {
+ var r = e.length === 4,
+ n,
+ i,
+ a,
+ s = 16;
+ return (
+ r
+ ? ((n = parseInt(e[1] + e[1], s)),
+ (i = parseInt(e[2] + e[2], s)),
+ (a = parseInt(e[3] + e[3], s)))
+ : ((n = parseInt(e[1] + e[2], s)),
+ (i = parseInt(e[3] + e[4], s)),
+ (a = parseInt(e[5] + e[6], s))),
+ [n, i, a]
+ );
+ }
+ }, 'hex2tuple')),
+ (jHe = o(function (e) {
+ var r, n, i, a, s, l, u, h;
+ function f(g, y, v) {
+ return (
+ v < 0 && (v += 1),
+ v > 1 && (v -= 1),
+ v < 1 / 6
+ ? g + (y - g) * 6 * v
+ : v < 1 / 2
+ ? y
+ : v < 2 / 3
+ ? g + (y - g) * (2 / 3 - v) * 6
+ : g
+ );
+ }
+ o(f, 'hue2rgb');
+ var d = new RegExp('^' + UHe + '$').exec(e);
+ if (d) {
+ if (
+ ((n = parseInt(d[1])),
+ n < 0 ? (n = (360 - ((-1 * n) % 360)) % 360) : n > 360 && (n = n % 360),
+ (n /= 360),
+ (i = parseFloat(d[2])),
+ i < 0 ||
+ i > 100 ||
+ ((i = i / 100), (a = parseFloat(d[3])), a < 0 || a > 100) ||
+ ((a = a / 100), (s = d[4]), s !== void 0 && ((s = parseFloat(s)), s < 0 || s > 1)))
+ )
+ return;
+ if (i === 0) l = u = h = Math.round(a * 255);
+ else {
+ var p = a < 0.5 ? a * (1 + i) : a + i - a * i,
+ m = 2 * a - p;
+ (l = Math.round(255 * f(m, p, n + 1 / 3))),
+ (u = Math.round(255 * f(m, p, n))),
+ (h = Math.round(255 * f(m, p, n - 1 / 3)));
+ }
+ r = [l, u, h, s];
+ }
+ return r;
+ }, 'hsl2tuple')),
+ (KHe = o(function (e) {
+ var r,
+ n = new RegExp('^' + $He + '$').exec(e);
+ if (n) {
+ r = [];
+ for (var i = [], a = 1; a <= 3; a++) {
+ var s = n[a];
+ if (
+ (s[s.length - 1] === '%' && (i[a] = !0),
+ (s = parseFloat(s)),
+ i[a] && (s = (s / 100) * 255),
+ s < 0 || s > 255)
+ )
+ return;
+ r.push(Math.floor(s));
+ }
+ var l = i[1] || i[2] || i[3],
+ u = i[1] && i[2] && i[3];
+ if (l && !u) return;
+ var h = n[4];
+ if (h !== void 0) {
+ if (((h = parseFloat(h)), h < 0 || h > 1)) return;
+ r.push(h);
+ }
+ }
+ return r;
+ }, 'rgb2tuple')),
+ (QHe = o(function (e) {
+ return JHe[e.toLowerCase()];
+ }, 'colorname2tuple')),
+ (ZHe = o(function (e) {
+ return (vn(e) ? e : null) || QHe(e) || XHe(e) || KHe(e) || jHe(e);
+ }, 'color2tuple')),
+ (JHe = {
+ transparent: [0, 0, 0, 0],
+ aliceblue: [240, 248, 255],
+ antiquewhite: [250, 235, 215],
+ aqua: [0, 255, 255],
+ aquamarine: [127, 255, 212],
+ azure: [240, 255, 255],
+ beige: [245, 245, 220],
+ bisque: [255, 228, 196],
+ black: [0, 0, 0],
+ blanchedalmond: [255, 235, 205],
+ blue: [0, 0, 255],
+ blueviolet: [138, 43, 226],
+ brown: [165, 42, 42],
+ burlywood: [222, 184, 135],
+ cadetblue: [95, 158, 160],
+ chartreuse: [127, 255, 0],
+ chocolate: [210, 105, 30],
+ coral: [255, 127, 80],
+ cornflowerblue: [100, 149, 237],
+ cornsilk: [255, 248, 220],
+ crimson: [220, 20, 60],
+ cyan: [0, 255, 255],
+ darkblue: [0, 0, 139],
+ darkcyan: [0, 139, 139],
+ darkgoldenrod: [184, 134, 11],
+ darkgray: [169, 169, 169],
+ darkgreen: [0, 100, 0],
+ darkgrey: [169, 169, 169],
+ darkkhaki: [189, 183, 107],
+ darkmagenta: [139, 0, 139],
+ darkolivegreen: [85, 107, 47],
+ darkorange: [255, 140, 0],
+ darkorchid: [153, 50, 204],
+ darkred: [139, 0, 0],
+ darksalmon: [233, 150, 122],
+ darkseagreen: [143, 188, 143],
+ darkslateblue: [72, 61, 139],
+ darkslategray: [47, 79, 79],
+ darkslategrey: [47, 79, 79],
+ darkturquoise: [0, 206, 209],
+ darkviolet: [148, 0, 211],
+ deeppink: [255, 20, 147],
+ deepskyblue: [0, 191, 255],
+ dimgray: [105, 105, 105],
+ dimgrey: [105, 105, 105],
+ dodgerblue: [30, 144, 255],
+ firebrick: [178, 34, 34],
+ floralwhite: [255, 250, 240],
+ forestgreen: [34, 139, 34],
+ fuchsia: [255, 0, 255],
+ gainsboro: [220, 220, 220],
+ ghostwhite: [248, 248, 255],
+ gold: [255, 215, 0],
+ goldenrod: [218, 165, 32],
+ gray: [128, 128, 128],
+ grey: [128, 128, 128],
+ green: [0, 128, 0],
+ greenyellow: [173, 255, 47],
+ honeydew: [240, 255, 240],
+ hotpink: [255, 105, 180],
+ indianred: [205, 92, 92],
+ indigo: [75, 0, 130],
+ ivory: [255, 255, 240],
+ khaki: [240, 230, 140],
+ lavender: [230, 230, 250],
+ lavenderblush: [255, 240, 245],
+ lawngreen: [124, 252, 0],
+ lemonchiffon: [255, 250, 205],
+ lightblue: [173, 216, 230],
+ lightcoral: [240, 128, 128],
+ lightcyan: [224, 255, 255],
+ lightgoldenrodyellow: [250, 250, 210],
+ lightgray: [211, 211, 211],
+ lightgreen: [144, 238, 144],
+ lightgrey: [211, 211, 211],
+ lightpink: [255, 182, 193],
+ lightsalmon: [255, 160, 122],
+ lightseagreen: [32, 178, 170],
+ lightskyblue: [135, 206, 250],
+ lightslategray: [119, 136, 153],
+ lightslategrey: [119, 136, 153],
+ lightsteelblue: [176, 196, 222],
+ lightyellow: [255, 255, 224],
+ lime: [0, 255, 0],
+ limegreen: [50, 205, 50],
+ linen: [250, 240, 230],
+ magenta: [255, 0, 255],
+ maroon: [128, 0, 0],
+ mediumaquamarine: [102, 205, 170],
+ mediumblue: [0, 0, 205],
+ mediumorchid: [186, 85, 211],
+ mediumpurple: [147, 112, 219],
+ mediumseagreen: [60, 179, 113],
+ mediumslateblue: [123, 104, 238],
+ mediumspringgreen: [0, 250, 154],
+ mediumturquoise: [72, 209, 204],
+ mediumvioletred: [199, 21, 133],
+ midnightblue: [25, 25, 112],
+ mintcream: [245, 255, 250],
+ mistyrose: [255, 228, 225],
+ moccasin: [255, 228, 181],
+ navajowhite: [255, 222, 173],
+ navy: [0, 0, 128],
+ oldlace: [253, 245, 230],
+ olive: [128, 128, 0],
+ olivedrab: [107, 142, 35],
+ orange: [255, 165, 0],
+ orangered: [255, 69, 0],
+ orchid: [218, 112, 214],
+ palegoldenrod: [238, 232, 170],
+ palegreen: [152, 251, 152],
+ paleturquoise: [175, 238, 238],
+ palevioletred: [219, 112, 147],
+ papayawhip: [255, 239, 213],
+ peachpuff: [255, 218, 185],
+ peru: [205, 133, 63],
+ pink: [255, 192, 203],
+ plum: [221, 160, 221],
+ powderblue: [176, 224, 230],
+ purple: [128, 0, 128],
+ red: [255, 0, 0],
+ rosybrown: [188, 143, 143],
+ royalblue: [65, 105, 225],
+ saddlebrown: [139, 69, 19],
+ salmon: [250, 128, 114],
+ sandybrown: [244, 164, 96],
+ seagreen: [46, 139, 87],
+ seashell: [255, 245, 238],
+ sienna: [160, 82, 45],
+ silver: [192, 192, 192],
+ skyblue: [135, 206, 235],
+ slateblue: [106, 90, 205],
+ slategray: [112, 128, 144],
+ slategrey: [112, 128, 144],
+ snow: [255, 250, 250],
+ springgreen: [0, 255, 127],
+ steelblue: [70, 130, 180],
+ tan: [210, 180, 140],
+ teal: [0, 128, 128],
+ thistle: [216, 191, 216],
+ tomato: [255, 99, 71],
+ turquoise: [64, 224, 208],
+ violet: [238, 130, 238],
+ wheat: [245, 222, 179],
+ white: [255, 255, 255],
+ whitesmoke: [245, 245, 245],
+ yellow: [255, 255, 0],
+ yellowgreen: [154, 205, 50]
+ }),
+ (_pe = o(function (e) {
+ for (var r = e.map, n = e.keys, i = n.length, a = 0; a < i; a++) {
+ var s = n[a];
+ if (Mr(s)) throw Error('Tried to set map with object key');
+ a < n.length - 1 ? (r[s] == null && (r[s] = {}), (r = r[s])) : (r[s] = e.value);
+ }
+ }, 'setMap')),
+ (Lpe = o(function (e) {
+ for (var r = e.map, n = e.keys, i = n.length, a = 0; a < i; a++) {
+ var s = n[a];
+ if (Mr(s)) throw Error('Tried to get map with object key');
+ if (((r = r[s]), r == null)) return r;
+ }
+ return r;
+ }, 'getMap'));
+ o(eYe, 'isObject');
+ (V0 = eYe),
+ (Mx =
+ typeof globalThis < 'u'
+ ? globalThis
+ : typeof window < 'u'
+ ? window
+ : typeof global < 'u'
+ ? global
+ : typeof self < 'u'
+ ? self
+ : {});
+ o(tYe, 'createCommonjsModule');
+ (rYe = typeof Mx == 'object' && Mx && Mx.Object === Object && Mx),
+ (nYe = rYe),
+ (iYe = typeof self == 'object' && self && self.Object === Object && self),
+ (aYe = nYe || iYe || Function('return this')()),
+ (O6 = aYe),
+ (sYe = o(function () {
+ return O6.Date.now();
+ }, 'now')),
+ (xP = sYe),
+ (oYe = /\s/);
+ o(lYe, 'trimmedEndIndex');
+ (cYe = lYe), (uYe = /^\s+/);
+ o(hYe, 'baseTrim');
+ (fYe = hYe),
+ (dYe = O6.Symbol),
+ (a1 = dYe),
+ (Dpe = Object.prototype),
+ (pYe = Dpe.hasOwnProperty),
+ (mYe = Dpe.toString),
+ (_x = a1 ? a1.toStringTag : void 0);
+ o(gYe, 'getRawTag');
+ (yYe = gYe), (vYe = Object.prototype), (xYe = vYe.toString);
+ o(bYe, 'objectToString');
+ (wYe = bYe), (TYe = '[object Null]'), (kYe = '[object Undefined]'), (u0e = a1 ? a1.toStringTag : void 0);
+ o(EYe, 'baseGetTag');
+ Rpe = EYe;
+ o(CYe, 'isObjectLike');
+ (SYe = CYe), (AYe = '[object Symbol]');
+ o(_Ye, 'isSymbol');
+ (Jx = _Ye),
+ (h0e = NaN),
+ (LYe = /^[-+]0x[0-9a-f]+$/i),
+ (DYe = /^0b[01]+$/i),
+ (RYe = /^0o[0-7]+$/i),
+ (NYe = parseInt);
+ o(MYe, 'toNumber');
+ (f0e = MYe), (IYe = 'Expected a function'), (OYe = Math.max), (PYe = Math.min);
+ o(BYe, 'debounce');
+ (P6 = BYe),
+ (bP = Vi ? Vi.performance : null),
+ (Npe =
+ bP && bP.now
+ ? function () {
+ return bP.now();
+ }
+ : function () {
+ return Date.now();
+ }),
+ (FYe = (function () {
+ if (Vi) {
+ if (Vi.requestAnimationFrame)
+ return function (t) {
+ Vi.requestAnimationFrame(t);
+ };
+ if (Vi.mozRequestAnimationFrame)
+ return function (t) {
+ Vi.mozRequestAnimationFrame(t);
+ };
+ if (Vi.webkitRequestAnimationFrame)
+ return function (t) {
+ Vi.webkitRequestAnimationFrame(t);
+ };
+ if (Vi.msRequestAnimationFrame)
+ return function (t) {
+ Vi.msRequestAnimationFrame(t);
+ };
+ }
+ return function (t) {
+ t &&
+ setTimeout(function () {
+ t(Npe());
+ }, 1e3 / 60);
+ };
+ })()),
+ (E6 = o(function (e) {
+ return FYe(e);
+ }, 'requestAnimationFrame')),
+ (Ku = Npe),
+ (Zg = 9261),
+ (Mpe = 65599),
+ (Ix = 5381),
+ (Ipe = o(function (e) {
+ for (
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Zg, n = r, i;
+ (i = e.next()), !i.done;
+
+ )
+ n = (n * Mpe + i.value) | 0;
+ return n;
+ }, 'hashIterableInts')),
+ ($x = o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Zg;
+ return (r * Mpe + e) | 0;
+ }, 'hashInt')),
+ (Vx = o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ix;
+ return ((r << 5) + r + e) | 0;
+ }, 'hashIntAlt')),
+ (zYe = o(function (e, r) {
+ return e * 2097152 + r;
+ }, 'combineHashes')),
+ (bf = o(function (e) {
+ return e[0] * 2097152 + e[1];
+ }, 'combineHashesArray')),
+ (r6 = o(function (e, r) {
+ return [$x(e[0], r[0]), Vx(e[1], r[1])];
+ }, 'hashArrays')),
+ (GYe = o(function (e, r) {
+ var n = { value: 0, done: !1 },
+ i = 0,
+ a = e.length,
+ s = {
+ next: o(function () {
+ return i < a ? (n.value = e[i++]) : (n.done = !0), n;
+ }, 'next')
+ };
+ return Ipe(s, r);
+ }, 'hashIntsArray')),
+ (U0 = o(function (e, r) {
+ var n = { value: 0, done: !1 },
+ i = 0,
+ a = e.length,
+ s = {
+ next: o(function () {
+ return i < a ? (n.value = e.charCodeAt(i++)) : (n.done = !0), n;
+ }, 'next')
+ };
+ return Ipe(s, r);
+ }, 'hashString')),
+ (Ope = o(function () {
+ return $Ye(arguments);
+ }, 'hashStrings')),
+ ($Ye = o(function (e) {
+ for (var r, n = 0; n < e.length; n++) {
+ var i = e[n];
+ n === 0 ? (r = U0(i)) : (r = U0(i, r));
+ }
+ return r;
+ }, 'hashStringsArray')),
+ (d0e = !0),
+ (VYe = console.warn != null),
+ (UYe = console.trace != null),
+ (ZP = Number.MAX_SAFE_INTEGER || 9007199254740991),
+ (Ppe = o(function () {
+ return !0;
+ }, 'trueify')),
+ (C6 = o(function () {
+ return !1;
+ }, 'falsify')),
+ (p0e = o(function () {
+ return 0;
+ }, 'zeroify')),
+ (JP = o(function () {}, 'noop')),
+ (oi = o(function (e) {
+ throw new Error(e);
+ }, 'error')),
+ (Bpe = o(function (e) {
+ if (e !== void 0) d0e = !!e;
+ else return d0e;
+ }, 'warnings')),
+ (tn = o(function (e) {
+ Bpe() && (VYe ? console.warn(e) : (console.log(e), UYe && console.trace()));
+ }, 'warn')),
+ (HYe = o(function (e) {
+ return Wt({}, e);
+ }, 'clone')),
+ ($c = o(function (e) {
+ return e == null ? e : vn(e) ? e.slice() : Mr(e) ? HYe(e) : e;
+ }, 'copy')),
+ (YYe = o(function (e) {
+ return e.slice();
+ }, 'copyArray')),
+ (Fpe = o(function (e, r) {
+ for (
+ r = e = '';
+ e++ < 36;
+ r += (e * 51) & 52 ? (e ^ 15 ? 8 ^ (Math.random() * (e ^ 20 ? 16 : 4)) : 4).toString(16) : '-'
+ );
+ return r;
+ }, 'uuid')),
+ (WYe = {}),
+ (zpe = o(function () {
+ return WYe;
+ }, 'staticEmptyObject')),
+ (Sa = o(function (e) {
+ var r = Object.keys(e);
+ return function (n) {
+ for (var i = {}, a = 0; a < r.length; a++) {
+ var s = r[a],
+ l = n?.[s];
+ i[s] = l === void 0 ? e[s] : l;
+ }
+ return i;
+ };
+ }, 'defaults')),
+ (Af = o(function (e, r, n) {
+ for (var i = e.length - 1; i >= 0 && !(e[i] === r && (e.splice(i, 1), n)); i--);
+ }, 'removeFromArray')),
+ (eB = o(function (e) {
+ e.splice(0, e.length);
+ }, 'clearArray')),
+ (qYe = o(function (e, r) {
+ for (var n = 0; n < r.length; n++) {
+ var i = r[n];
+ e.push(i);
+ }
+ }, 'push')),
+ (Ul = o(function (e, r, n) {
+ return n && (r = Spe(n, r)), e[r];
+ }, 'getPrefixedProperty')),
+ (Tf = o(function (e, r, n, i) {
+ n && (r = Spe(n, r)), (e[r] = i);
+ }, 'setPrefixedProperty')),
+ (XYe = (function () {
+ function t() {
+ XP(this, t), (this._obj = {});
+ }
+ return (
+ o(t, 'ObjectMap'),
+ jP(t, [
+ {
+ key: 'set',
+ value: o(function (r, n) {
+ return (this._obj[r] = n), this;
+ }, 'set')
+ },
+ {
+ key: 'delete',
+ value: o(function (r) {
+ return (this._obj[r] = void 0), this;
+ }, '_delete')
+ },
+ {
+ key: 'clear',
+ value: o(function () {
+ this._obj = {};
+ }, 'clear')
+ },
+ {
+ key: 'has',
+ value: o(function (r) {
+ return this._obj[r] !== void 0;
+ }, 'has')
+ },
+ {
+ key: 'get',
+ value: o(function (r) {
+ return this._obj[r];
+ }, 'get')
+ }
+ ]),
+ t
+ );
+ })()),
+ (Vc = typeof Map < 'u' ? Map : XYe),
+ (jYe = 'undefined'),
+ (KYe = (function () {
+ function t(e) {
+ if ((XP(this, t), (this._obj = Object.create(null)), (this.size = 0), e != null)) {
+ var r;
+ e.instanceString != null && e.instanceString() === this.instanceString()
+ ? (r = e.toArray())
+ : (r = e);
+ for (var n = 0; n < r.length; n++) this.add(r[n]);
+ }
+ }
+ return (
+ o(t, 'ObjectSet'),
+ jP(t, [
+ {
+ key: 'instanceString',
+ value: o(function () {
+ return 'set';
+ }, 'instanceString')
+ },
+ {
+ key: 'add',
+ value: o(function (r) {
+ var n = this._obj;
+ n[r] !== 1 && ((n[r] = 1), this.size++);
+ }, 'add')
+ },
+ {
+ key: 'delete',
+ value: o(function (r) {
+ var n = this._obj;
+ n[r] === 1 && ((n[r] = 0), this.size--);
+ }, '_delete')
+ },
+ {
+ key: 'clear',
+ value: o(function () {
+ this._obj = Object.create(null);
+ }, 'clear')
+ },
+ {
+ key: 'has',
+ value: o(function (r) {
+ return this._obj[r] === 1;
+ }, 'has')
+ },
+ {
+ key: 'toArray',
+ value: o(function () {
+ var r = this;
+ return Object.keys(this._obj).filter(function (n) {
+ return r.has(n);
+ });
+ }, 'toArray')
+ },
+ {
+ key: 'forEach',
+ value: o(function (r, n) {
+ return this.toArray().forEach(r, n);
+ }, 'forEach')
+ }
+ ]),
+ t
+ );
+ })()),
+ (c1 = (typeof Set > 'u' ? 'undefined' : Hi(Set)) !== jYe ? Set : KYe),
+ (B6 = o(function (e, r) {
+ var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
+ if (e === void 0 || r === void 0 || !KP(e)) {
+ oi('An element must have a core reference and parameters set');
+ return;
+ }
+ var i = r.group;
+ if (
+ (i == null &&
+ (r.data && r.data.source != null && r.data.target != null ? (i = 'edges') : (i = 'nodes')),
+ i !== 'nodes' && i !== 'edges')
+ ) {
+ oi('An element must be of type `nodes` or `edges`; you specified `' + i + '`');
+ return;
+ }
+ (this.length = 1), (this[0] = this);
+ var a = (this._private = {
+ cy: e,
+ single: !0,
+ data: r.data || {},
+ position: r.position || { x: 0, y: 0 },
+ autoWidth: void 0,
+ autoHeight: void 0,
+ autoPadding: void 0,
+ compoundBoundsClean: !1,
+ listeners: [],
+ group: i,
+ style: {},
+ rstyle: {},
+ styleCxts: [],
+ styleKeys: {},
+ removed: !0,
+ selected: !!r.selected,
+ selectable: r.selectable === void 0 ? !0 : !!r.selectable,
+ locked: !!r.locked,
+ grabbed: !1,
+ grabbable: r.grabbable === void 0 ? !0 : !!r.grabbable,
+ pannable: r.pannable === void 0 ? i === 'edges' : !!r.pannable,
+ active: !1,
+ classes: new c1(),
+ animation: { current: [], queue: [] },
+ rscratch: {},
+ scratch: r.scratch || {},
+ edges: [],
+ children: [],
+ parent: r.parent && r.parent.isNode() ? r.parent : null,
+ traversalCache: {},
+ backgrounding: !1,
+ bbCache: null,
+ bbCacheShift: { x: 0, y: 0 },
+ bodyBounds: null,
+ overlayBounds: null,
+ labelBounds: { all: null, source: null, target: null, main: null },
+ arrowBounds: {
+ source: null,
+ target: null,
+ 'mid-source': null,
+ 'mid-target': null
+ }
+ });
+ if (
+ (a.position.x == null && (a.position.x = 0),
+ a.position.y == null && (a.position.y = 0),
+ r.renderedPosition)
+ ) {
+ var s = r.renderedPosition,
+ l = e.pan(),
+ u = e.zoom();
+ a.position = { x: (s.x - l.x) / u, y: (s.y - l.y) / u };
+ }
+ var h = [];
+ vn(r.classes) ? (h = r.classes) : zt(r.classes) && (h = r.classes.split(/\s+/));
+ for (var f = 0, d = h.length; f < d; f++) {
+ var p = h[f];
+ !p || p === '' || a.classes.add(p);
+ }
+ this.createEmitter();
+ var m = r.style || r.css;
+ m &&
+ (tn(
+ 'Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead.'
+ ),
+ this.style(m)),
+ (n === void 0 || n) && this.restore();
+ }, 'Element')),
+ (m0e = o(function (e) {
+ return (
+ (e = { bfs: e.bfs || !e.dfs, dfs: e.dfs || !e.bfs }),
+ o(function (n, i, a) {
+ var s;
+ Mr(n) && !xo(n) && ((s = n), (n = s.roots || s.root), (i = s.visit), (a = s.directed)),
+ (a = arguments.length === 2 && !jn(i) ? i : a),
+ (i = jn(i) ? i : function () {});
+ for (
+ var l = this._private.cy,
+ u = (n = zt(n) ? this.filter(n) : n),
+ h = [],
+ f = [],
+ d = {},
+ p = {},
+ m = {},
+ g = 0,
+ y,
+ v = this.byGroup(),
+ x = v.nodes,
+ b = v.edges,
+ w = 0;
+ w < u.length;
+ w++
+ ) {
+ var S = u[w],
+ T = S.id();
+ S.isNode() && (h.unshift(S), e.bfs && ((m[T] = !0), f.push(S)), (p[T] = 0));
+ }
+ for (
+ var E = o(function () {
+ var I = e.bfs ? h.shift() : h.pop(),
+ C = I.id();
+ if (e.dfs) {
+ if (m[C]) return 'continue';
+ (m[C] = !0), f.push(I);
+ }
+ var O = p[C],
+ D = d[C],
+ P = D != null ? D.source() : null,
+ F = D != null ? D.target() : null,
+ B = D == null ? void 0 : I.same(P) ? F[0] : P[0],
+ $ = void 0;
+ if ((($ = i(I, D, B, g++, O)), $ === !0)) return (y = I), 'break';
+ if ($ === !1) return 'break';
+ for (
+ var z = I.connectedEdges().filter(function (j) {
+ return (!a || j.source().same(I)) && b.has(j);
+ }),
+ Y = 0;
+ Y < z.length;
+ Y++
+ ) {
+ var Q = z[Y],
+ X = Q.connectedNodes().filter(function (j) {
+ return !j.same(I) && x.has(j);
+ }),
+ ie = X.id();
+ X.length !== 0 &&
+ !m[ie] &&
+ ((X = X[0]),
+ h.push(X),
+ e.bfs && ((m[ie] = !0), f.push(X)),
+ (d[ie] = Q),
+ (p[ie] = p[C] + 1));
+ }
+ }, '_loop');
+ h.length !== 0;
+
+ ) {
+ var _ = E();
+ if (_ !== 'continue' && _ === 'break') break;
+ }
+ for (var A = l.collection(), L = 0; L < f.length; L++) {
+ var M = f[L],
+ N = d[M.id()];
+ N != null && A.push(N), A.push(M);
+ }
+ return { path: l.collection(A), found: l.collection(y) };
+ }, 'searchFn')
+ );
+ }, 'defineSearch')),
+ (Ux = {
+ breadthFirstSearch: m0e({ bfs: !0 }),
+ depthFirstSearch: m0e({ dfs: !0 })
+ });
+ Ux.bfs = Ux.breadthFirstSearch;
+ Ux.dfs = Ux.depthFirstSearch;
+ (QYe = tYe(function (t, e) {
+ (function () {
+ var r, n, i, a, s, l, u, h, f, d, p, m, g, y, v;
+ (i = Math.floor),
+ (d = Math.min),
+ (n = o(function (x, b) {
+ return x < b ? -1 : x > b ? 1 : 0;
+ }, 'defaultCmp')),
+ (f = o(function (x, b, w, S, T) {
+ var E;
+ if ((w == null && (w = 0), T == null && (T = n), w < 0))
+ throw new Error('lo must be non-negative');
+ for (S == null && (S = x.length); w < S; )
+ (E = i((w + S) / 2)), T(b, x[E]) < 0 ? (S = E) : (w = E + 1);
+ return [].splice.apply(x, [w, w - w].concat(b)), b;
+ }, 'insort')),
+ (l = o(function (x, b, w) {
+ return w == null && (w = n), x.push(b), y(x, 0, x.length - 1, w);
+ }, 'heappush')),
+ (s = o(function (x, b) {
+ var w, S;
+ return (
+ b == null && (b = n),
+ (w = x.pop()),
+ x.length ? ((S = x[0]), (x[0] = w), v(x, 0, b)) : (S = w),
+ S
+ );
+ }, 'heappop')),
+ (h = o(function (x, b, w) {
+ var S;
+ return w == null && (w = n), (S = x[0]), (x[0] = b), v(x, 0, w), S;
+ }, 'heapreplace')),
+ (u = o(function (x, b, w) {
+ var S;
+ return (
+ w == null && (w = n),
+ x.length && w(x[0], b) < 0 && ((S = [x[0], b]), (b = S[0]), (x[0] = S[1]), v(x, 0, w)),
+ b
+ );
+ }, 'heappushpop')),
+ (a = o(function (x, b) {
+ var w, S, T, E, _, A;
+ for (
+ b == null && (b = n),
+ E = function () {
+ A = [];
+ for (var L = 0, M = i(x.length / 2); 0 <= M ? L < M : L > M; 0 <= M ? L++ : L--)
+ A.push(L);
+ return A;
+ }
+ .apply(this)
+ .reverse(),
+ _ = [],
+ S = 0,
+ T = E.length;
+ S < T;
+ S++
+ )
+ (w = E[S]), _.push(v(x, w, b));
+ return _;
+ }, 'heapify')),
+ (g = o(function (x, b, w) {
+ var S;
+ if ((w == null && (w = n), (S = x.indexOf(b)), S !== -1)) return y(x, 0, S, w), v(x, S, w);
+ }, 'updateItem')),
+ (p = o(function (x, b, w) {
+ var S, T, E, _, A;
+ if ((w == null && (w = n), (T = x.slice(0, b)), !T.length)) return T;
+ for (a(T, w), A = x.slice(b), E = 0, _ = A.length; E < _; E++) (S = A[E]), u(T, S, w);
+ return T.sort(w).reverse();
+ }, 'nlargest')),
+ (m = o(function (x, b, w) {
+ var S, T, E, _, A, L, M, N, k;
+ if ((w == null && (w = n), b * 10 <= x.length)) {
+ if (((E = x.slice(0, b).sort(w)), !E.length)) return E;
+ for (T = E[E.length - 1], M = x.slice(b), _ = 0, L = M.length; _ < L; _++)
+ (S = M[_]), w(S, T) < 0 && (f(E, S, 0, null, w), E.pop(), (T = E[E.length - 1]));
+ return E;
+ }
+ for (a(x, w), k = [], A = 0, N = d(b, x.length); 0 <= N ? A < N : A > N; 0 <= N ? ++A : --A)
+ k.push(s(x, w));
+ return k;
+ }, 'nsmallest')),
+ (y = o(function (x, b, w, S) {
+ var T, E, _;
+ for (S == null && (S = n), T = x[w]; w > b; ) {
+ if (((_ = (w - 1) >> 1), (E = x[_]), S(T, E) < 0)) {
+ (x[w] = E), (w = _);
+ continue;
+ }
+ break;
+ }
+ return (x[w] = T);
+ }, '_siftdown')),
+ (v = o(function (x, b, w) {
+ var S, T, E, _, A;
+ for (w == null && (w = n), T = x.length, A = b, E = x[b], S = 2 * b + 1; S < T; )
+ (_ = S + 1),
+ _ < T && !(w(x[S], x[_]) < 0) && (S = _),
+ (x[b] = x[S]),
+ (b = S),
+ (S = 2 * b + 1);
+ return (x[b] = E), y(x, A, b, w);
+ }, '_siftup')),
+ (r = (function () {
+ (x.push = l),
+ (x.pop = s),
+ (x.replace = h),
+ (x.pushpop = u),
+ (x.heapify = a),
+ (x.updateItem = g),
+ (x.nlargest = p),
+ (x.nsmallest = m);
+ function x(b) {
+ (this.cmp = b ?? n), (this.nodes = []);
+ }
+ return (
+ o(x, 'Heap'),
+ (x.prototype.push = function (b) {
+ return l(this.nodes, b, this.cmp);
+ }),
+ (x.prototype.pop = function () {
+ return s(this.nodes, this.cmp);
+ }),
+ (x.prototype.peek = function () {
+ return this.nodes[0];
+ }),
+ (x.prototype.contains = function (b) {
+ return this.nodes.indexOf(b) !== -1;
+ }),
+ (x.prototype.replace = function (b) {
+ return h(this.nodes, b, this.cmp);
+ }),
+ (x.prototype.pushpop = function (b) {
+ return u(this.nodes, b, this.cmp);
+ }),
+ (x.prototype.heapify = function () {
+ return a(this.nodes, this.cmp);
+ }),
+ (x.prototype.updateItem = function (b) {
+ return g(this.nodes, b, this.cmp);
+ }),
+ (x.prototype.clear = function () {
+ return (this.nodes = []);
+ }),
+ (x.prototype.empty = function () {
+ return this.nodes.length === 0;
+ }),
+ (x.prototype.size = function () {
+ return this.nodes.length;
+ }),
+ (x.prototype.clone = function () {
+ var b;
+ return (b = new x()), (b.nodes = this.nodes.slice(0)), b;
+ }),
+ (x.prototype.toArray = function () {
+ return this.nodes.slice(0);
+ }),
+ (x.prototype.insert = x.prototype.push),
+ (x.prototype.top = x.prototype.peek),
+ (x.prototype.front = x.prototype.peek),
+ (x.prototype.has = x.prototype.contains),
+ (x.prototype.copy = x.prototype.clone),
+ x
+ );
+ })()),
+ (function (x, b) {
+ return (t.exports = b());
+ })(this, function () {
+ return r;
+ });
+ }).call(Mx);
+ })),
+ (eb = QYe),
+ (ZYe = Sa({
+ root: null,
+ weight: o(function (e) {
+ return 1;
+ }, 'weight'),
+ directed: !1
+ })),
+ (JYe = {
+ dijkstra: o(function (e) {
+ if (!Mr(e)) {
+ var r = arguments;
+ e = { root: r[0], weight: r[1], directed: r[2] };
+ }
+ var n = ZYe(e),
+ i = n.root,
+ a = n.weight,
+ s = n.directed,
+ l = this,
+ u = a,
+ h = zt(i) ? this.filter(i)[0] : i[0],
+ f = {},
+ d = {},
+ p = {},
+ m = this.byGroup(),
+ g = m.nodes,
+ y = m.edges;
+ y.unmergeBy(function (O) {
+ return O.isLoop();
+ });
+ for (
+ var v = o(function (D) {
+ return f[D.id()];
+ }, 'getDist'),
+ x = o(function (D, P) {
+ (f[D.id()] = P), b.updateItem(D);
+ }, 'setDist'),
+ b = new eb(function (O, D) {
+ return v(O) - v(D);
+ }),
+ w = 0;
+ w < g.length;
+ w++
+ ) {
+ var S = g[w];
+ (f[S.id()] = S.same(h) ? 0 : 1 / 0), b.push(S);
+ }
+ for (
+ var T = o(function (D, P) {
+ for (
+ var F = (s ? D.edgesTo(P) : D.edgesWith(P)).intersect(y), B = 1 / 0, $, z = 0;
+ z < F.length;
+ z++
+ ) {
+ var Y = F[z],
+ Q = u(Y);
+ (Q < B || !$) && ((B = Q), ($ = Y));
+ }
+ return { edge: $, dist: B };
+ }, 'distBetween');
+ b.size() > 0;
+
+ ) {
+ var E = b.pop(),
+ _ = v(E),
+ A = E.id();
+ if (((p[A] = _), _ !== 1 / 0))
+ for (var L = E.neighborhood().intersect(g), M = 0; M < L.length; M++) {
+ var N = L[M],
+ k = N.id(),
+ I = T(E, N),
+ C = _ + I.dist;
+ C < v(N) && (x(N, C), (d[k] = { node: E, edge: I.edge }));
+ }
+ }
+ return {
+ distanceTo: o(function (D) {
+ var P = zt(D) ? g.filter(D)[0] : D[0];
+ return p[P.id()];
+ }, 'distanceTo'),
+ pathTo: o(function (D) {
+ var P = zt(D) ? g.filter(D)[0] : D[0],
+ F = [],
+ B = P,
+ $ = B.id();
+ if (P.length > 0)
+ for (F.unshift(P); d[$]; ) {
+ var z = d[$];
+ F.unshift(z.edge), F.unshift(z.node), (B = z.node), ($ = B.id());
+ }
+ return l.spawn(F);
+ }, 'pathTo')
+ };
+ }, 'dijkstra')
+ }),
+ (eWe = {
+ kruskal: o(function (e) {
+ e =
+ e ||
+ function (w) {
+ return 1;
+ };
+ for (
+ var r = this.byGroup(),
+ n = r.nodes,
+ i = r.edges,
+ a = n.length,
+ s = new Array(a),
+ l = n,
+ u = o(function (S) {
+ for (var T = 0; T < s.length; T++) {
+ var E = s[T];
+ if (E.has(S)) return T;
+ }
+ }, 'findSetIndex'),
+ h = 0;
+ h < a;
+ h++
+ )
+ s[h] = this.spawn(n[h]);
+ for (
+ var f = i.sort(function (w, S) {
+ return e(w) - e(S);
+ }),
+ d = 0;
+ d < f.length;
+ d++
+ ) {
+ var p = f[d],
+ m = p.source()[0],
+ g = p.target()[0],
+ y = u(m),
+ v = u(g),
+ x = s[y],
+ b = s[v];
+ y !== v && (l.merge(p), x.merge(b), s.splice(v, 1));
+ }
+ return l;
+ }, 'kruskal')
+ }),
+ (tWe = Sa({
+ root: null,
+ goal: null,
+ weight: o(function (e) {
+ return 1;
+ }, 'weight'),
+ heuristic: o(function (e) {
+ return 0;
+ }, 'heuristic'),
+ directed: !1
+ })),
+ (rWe = {
+ aStar: o(function (e) {
+ var r = this.cy(),
+ n = tWe(e),
+ i = n.root,
+ a = n.goal,
+ s = n.heuristic,
+ l = n.directed,
+ u = n.weight;
+ (i = r.collection(i)[0]), (a = r.collection(a)[0]);
+ var h = i.id(),
+ f = a.id(),
+ d = {},
+ p = {},
+ m = {},
+ g = new eb(function ($, z) {
+ return p[$.id()] - p[z.id()];
+ }),
+ y = new c1(),
+ v = {},
+ x = {},
+ b = o(function (z, Y) {
+ g.push(z), y.add(Y);
+ }, 'addToOpenSet'),
+ w,
+ S,
+ T = o(function () {
+ (w = g.pop()), (S = w.id()), y.delete(S);
+ }, 'popFromOpenSet'),
+ E = o(function (z) {
+ return y.has(z);
+ }, 'isInOpenSet');
+ b(i, h), (d[h] = 0), (p[h] = s(i));
+ for (var _ = 0; g.size() > 0; ) {
+ if ((T(), _++, S === f)) {
+ for (
+ var A = [], L = a, M = f, N = x[M];
+ A.unshift(L), N != null && A.unshift(N), (L = v[M]), L != null;
+
+ )
+ (M = L.id()), (N = x[M]);
+ return {
+ found: !0,
+ distance: d[S],
+ path: this.spawn(A),
+ steps: _
+ };
+ }
+ m[S] = !0;
+ for (var k = w._private.edges, I = 0; I < k.length; I++) {
+ var C = k[I];
+ if (this.hasElementWithId(C.id()) && !(l && C.data('source') !== S)) {
+ var O = C.source(),
+ D = C.target(),
+ P = O.id() !== S ? O : D,
+ F = P.id();
+ if (this.hasElementWithId(F) && !m[F]) {
+ var B = d[S] + u(C);
+ if (!E(F)) {
+ (d[F] = B), (p[F] = B + s(P)), b(P, F), (v[F] = w), (x[F] = C);
+ continue;
+ }
+ B < d[F] && ((d[F] = B), (p[F] = B + s(P)), (v[F] = w), (x[F] = C));
+ }
+ }
+ }
+ }
+ return { found: !1, distance: void 0, path: void 0, steps: _ };
+ }, 'aStar')
+ }),
+ (nWe = Sa({
+ weight: o(function (e) {
+ return 1;
+ }, 'weight'),
+ directed: !1
+ })),
+ (iWe = {
+ floydWarshall: o(function (e) {
+ for (
+ var r = this.cy(),
+ n = nWe(e),
+ i = n.weight,
+ a = n.directed,
+ s = i,
+ l = this.byGroup(),
+ u = l.nodes,
+ h = l.edges,
+ f = u.length,
+ d = f * f,
+ p = o(function (Q) {
+ return u.indexOf(Q);
+ }, 'indexOf'),
+ m = o(function (Q) {
+ return u[Q];
+ }, 'atIndex'),
+ g = new Array(d),
+ y = 0;
+ y < d;
+ y++
+ ) {
+ var v = y % f,
+ x = (y - v) / f;
+ x === v ? (g[y] = 0) : (g[y] = 1 / 0);
+ }
+ for (var b = new Array(d), w = new Array(d), S = 0; S < h.length; S++) {
+ var T = h[S],
+ E = T.source()[0],
+ _ = T.target()[0];
+ if (E !== _) {
+ var A = p(E),
+ L = p(_),
+ M = A * f + L,
+ N = s(T);
+ if ((g[M] > N && ((g[M] = N), (b[M] = L), (w[M] = T)), !a)) {
+ var k = L * f + A;
+ !a && g[k] > N && ((g[k] = N), (b[k] = A), (w[k] = T));
+ }
+ }
+ }
+ for (var I = 0; I < f; I++)
+ for (var C = 0; C < f; C++)
+ for (var O = C * f + I, D = 0; D < f; D++) {
+ var P = C * f + D,
+ F = I * f + D;
+ g[O] + g[F] < g[P] && ((g[P] = g[O] + g[F]), (b[P] = b[O]));
+ }
+ var B = o(function (Q) {
+ return (zt(Q) ? r.filter(Q) : Q)[0];
+ }, 'getArgEle'),
+ $ = o(function (Q) {
+ return p(B(Q));
+ }, 'indexOfArgEle'),
+ z = {
+ distance: o(function (Q, X) {
+ var ie = $(Q),
+ j = $(X);
+ return g[ie * f + j];
+ }, 'distance'),
+ path: o(function (Q, X) {
+ var ie = $(Q),
+ j = $(X),
+ J = m(ie);
+ if (ie === j) return J.collection();
+ if (b[ie * f + j] == null) return r.collection();
+ var Z = r.collection(),
+ H = ie,
+ q;
+ for (Z.merge(J); ie !== j; )
+ (H = ie), (ie = b[ie * f + j]), (q = w[H * f + ie]), Z.merge(q), Z.merge(m(ie));
+ return Z;
+ }, 'path')
+ };
+ return z;
+ }, 'floydWarshall')
+ }),
+ (aWe = Sa({
+ weight: o(function (e) {
+ return 1;
+ }, 'weight'),
+ directed: !1,
+ root: null
+ })),
+ (sWe = {
+ bellmanFord: o(function (e) {
+ var r = this,
+ n = aWe(e),
+ i = n.weight,
+ a = n.directed,
+ s = n.root,
+ l = i,
+ u = this,
+ h = this.cy(),
+ f = this.byGroup(),
+ d = f.edges,
+ p = f.nodes,
+ m = p.length,
+ g = new Vc(),
+ y = !1,
+ v = [];
+ (s = h.collection(s)[0]),
+ d.unmergeBy(function (oe) {
+ return oe.isLoop();
+ });
+ for (
+ var x = d.length,
+ b = o(function (ke) {
+ var Ie = g.get(ke.id());
+ return Ie || ((Ie = {}), g.set(ke.id(), Ie)), Ie;
+ }, 'getInfo'),
+ w = o(function (ke) {
+ return (zt(ke) ? h.$(ke) : ke)[0];
+ }, 'getNodeFromTo'),
+ S = o(function (ke) {
+ return b(w(ke)).dist;
+ }, 'distanceTo'),
+ T = o(function (ke) {
+ for (
+ var Ie = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : s,
+ Se = w(ke),
+ Ue = [],
+ Pe = Se;
+ ;
+
+ ) {
+ if (Pe == null) return r.spawn();
+ var _e = b(Pe),
+ me = _e.edge,
+ W = _e.pred;
+ if ((Ue.unshift(Pe[0]), Pe.same(Ie) && Ue.length > 0)) break;
+ me != null && Ue.unshift(me), (Pe = W);
+ }
+ return u.spawn(Ue);
+ }, 'pathTo'),
+ E = 0;
+ E < m;
+ E++
+ ) {
+ var _ = p[E],
+ A = b(_);
+ _.same(s) ? (A.dist = 0) : (A.dist = 1 / 0), (A.pred = null), (A.edge = null);
+ }
+ for (
+ var L = !1,
+ M = o(function (ke, Ie, Se, Ue, Pe, _e) {
+ var me = Ue.dist + _e;
+ me < Pe.dist &&
+ !Se.same(Ue.edge) &&
+ ((Pe.dist = me), (Pe.pred = ke), (Pe.edge = Se), (L = !0));
+ }, 'checkForEdgeReplacement'),
+ N = 1;
+ N < m;
+ N++
+ ) {
+ L = !1;
+ for (var k = 0; k < x; k++) {
+ var I = d[k],
+ C = I.source(),
+ O = I.target(),
+ D = l(I),
+ P = b(C),
+ F = b(O);
+ M(C, O, I, P, F, D), a || M(O, C, I, F, P, D);
+ }
+ if (!L) break;
+ }
+ if (L)
+ for (var B = [], $ = 0; $ < x; $++) {
+ var z = d[$],
+ Y = z.source(),
+ Q = z.target(),
+ X = l(z),
+ ie = b(Y).dist,
+ j = b(Q).dist;
+ if (ie + X < j || (!a && j + X < ie))
+ if (
+ (y || (tn('Graph contains a negative weight cycle for Bellman-Ford'), (y = !0)),
+ e.findNegativeWeightCycles !== !1)
+ ) {
+ var J = [];
+ ie + X < j && J.push(Y), !a && j + X < ie && J.push(Q);
+ for (var Z = J.length, H = 0; H < Z; H++) {
+ var q = J[H],
+ K = [q];
+ K.push(b(q).edge);
+ for (var se = b(q).pred; K.indexOf(se) === -1; )
+ K.push(se), K.push(b(se).edge), (se = b(se).pred);
+ K = K.slice(K.indexOf(se));
+ for (var ce = K[0].id(), ue = 0, te = 2; te < K.length; te += 2)
+ K[te].id() < ce && ((ce = K[te].id()), (ue = te));
+ (K = K.slice(ue).concat(K.slice(0, ue))), K.push(K[0]);
+ var De = K.map(function (oe) {
+ return oe.id();
+ }).join(',');
+ B.indexOf(De) === -1 && (v.push(u.spawn(K)), B.push(De));
+ }
+ } else break;
+ }
+ return {
+ distanceTo: S,
+ pathTo: T,
+ hasNegativeWeightCycle: y,
+ negativeWeightCycles: v
+ };
+ }, 'bellmanFord')
+ }),
+ (oWe = Math.sqrt(2)),
+ (lWe = o(function (e, r, n) {
+ n.length === 0 && oi('Karger-Stein must be run on a connected (sub)graph');
+ for (var i = n[e], a = i[1], s = i[2], l = r[a], u = r[s], h = n, f = h.length - 1; f >= 0; f--) {
+ var d = h[f],
+ p = d[1],
+ m = d[2];
+ ((r[p] === l && r[m] === u) || (r[p] === u && r[m] === l)) && h.splice(f, 1);
+ }
+ for (var g = 0; g < h.length; g++) {
+ var y = h[g];
+ y[1] === u
+ ? ((h[g] = y.slice()), (h[g][1] = l))
+ : y[2] === u && ((h[g] = y.slice()), (h[g][2] = l));
+ }
+ for (var v = 0; v < r.length; v++) r[v] === u && (r[v] = l);
+ return h;
+ }, 'collapse')),
+ (wP = o(function (e, r, n, i) {
+ for (; n > i; ) {
+ var a = Math.floor(Math.random() * r.length);
+ (r = lWe(a, e, r)), n--;
+ }
+ return r;
+ }, 'contractUntil')),
+ (cWe = {
+ kargerStein: o(function () {
+ var e = this,
+ r = this.byGroup(),
+ n = r.nodes,
+ i = r.edges;
+ i.unmergeBy(function (F) {
+ return F.isLoop();
+ });
+ var a = n.length,
+ s = i.length,
+ l = Math.ceil(Math.pow(Math.log(a) / Math.LN2, 2)),
+ u = Math.floor(a / oWe);
+ if (a < 2) {
+ oi('At least 2 nodes are required for Karger-Stein algorithm');
+ return;
+ }
+ for (var h = [], f = 0; f < s; f++) {
+ var d = i[f];
+ h.push([f, n.indexOf(d.source()), n.indexOf(d.target())]);
+ }
+ for (
+ var p = 1 / 0,
+ m = [],
+ g = new Array(a),
+ y = new Array(a),
+ v = new Array(a),
+ x = o(function (B, $) {
+ for (var z = 0; z < a; z++) $[z] = B[z];
+ }, 'copyNodesMap'),
+ b = 0;
+ b <= l;
+ b++
+ ) {
+ for (var w = 0; w < a; w++) y[w] = w;
+ var S = wP(y, h.slice(), a, u),
+ T = S.slice();
+ x(y, v);
+ var E = wP(y, S, u, 2),
+ _ = wP(v, T, u, 2);
+ E.length <= _.length && E.length < p
+ ? ((p = E.length), (m = E), x(y, g))
+ : _.length <= E.length && _.length < p && ((p = _.length), (m = _), x(v, g));
+ }
+ for (
+ var A = this.spawn(
+ m.map(function (F) {
+ return i[F[0]];
+ })
+ ),
+ L = this.spawn(),
+ M = this.spawn(),
+ N = g[0],
+ k = 0;
+ k < g.length;
+ k++
+ ) {
+ var I = g[k],
+ C = n[k];
+ I === N ? L.merge(C) : M.merge(C);
+ }
+ var O = o(function (B) {
+ var $ = e.spawn();
+ return (
+ B.forEach(function (z) {
+ $.merge(z),
+ z.connectedEdges().forEach(function (Y) {
+ e.contains(Y) && !A.contains(Y) && $.merge(Y);
+ });
+ }),
+ $
+ );
+ }, 'constructComponent'),
+ D = [O(L), O(M)],
+ P = { cut: A, components: D, partition1: L, partition2: M };
+ return P;
+ }, 'kargerStein')
+ }),
+ (uWe = o(function (e) {
+ return { x: e.x, y: e.y };
+ }, 'copyPosition')),
+ (F6 = o(function (e, r, n) {
+ return { x: e.x * r + n.x, y: e.y * r + n.y };
+ }, 'modelToRenderedPosition')),
+ (Gpe = o(function (e, r, n) {
+ return { x: (e.x - n.x) / r, y: (e.y - n.y) / r };
+ }, 'renderedToModelPosition')),
+ (Jg = o(function (e) {
+ return { x: e[0], y: e[1] };
+ }, 'array2point')),
+ (hWe = o(function (e) {
+ for (
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
+ n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length,
+ i = 1 / 0,
+ a = r;
+ a < n;
+ a++
+ ) {
+ var s = e[a];
+ isFinite(s) && (i = Math.min(s, i));
+ }
+ return i;
+ }, 'min')),
+ (fWe = o(function (e) {
+ for (
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
+ n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length,
+ i = -1 / 0,
+ a = r;
+ a < n;
+ a++
+ ) {
+ var s = e[a];
+ isFinite(s) && (i = Math.max(s, i));
+ }
+ return i;
+ }, 'max')),
+ (dWe = o(function (e) {
+ for (
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
+ n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length,
+ i = 0,
+ a = 0,
+ s = r;
+ s < n;
+ s++
+ ) {
+ var l = e[s];
+ isFinite(l) && ((i += l), a++);
+ }
+ return i / a;
+ }, 'mean')),
+ (pWe = o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
+ n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length,
+ i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0,
+ a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0,
+ s = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0;
+ i ? (e = e.slice(r, n)) : (n < e.length && e.splice(n, e.length - n), r > 0 && e.splice(0, r));
+ for (var l = 0, u = e.length - 1; u >= 0; u--) {
+ var h = e[u];
+ s ? isFinite(h) || ((e[u] = -1 / 0), l++) : e.splice(u, 1);
+ }
+ a &&
+ e.sort(function (p, m) {
+ return p - m;
+ });
+ var f = e.length,
+ d = Math.floor(f / 2);
+ return f % 2 !== 0 ? e[d + 1 + l] : (e[d - 1 + l] + e[d + l]) / 2;
+ }, 'median')),
+ (mWe = o(function (e) {
+ return (Math.PI * e) / 180;
+ }, 'deg2rad')),
+ (n6 = o(function (e, r) {
+ return Math.atan2(r, e) - Math.PI / 2;
+ }, 'getAngleFromDisp')),
+ (tB =
+ Math.log2 ||
+ function (t) {
+ return Math.log(t) / Math.log(2);
+ }),
+ ($pe = o(function (e) {
+ return e > 0 ? 1 : e < 0 ? -1 : 0;
+ }, 'signum')),
+ (H0 = o(function (e, r) {
+ return Math.sqrt(B0(e, r));
+ }, 'dist')),
+ (B0 = o(function (e, r) {
+ var n = r.x - e.x,
+ i = r.y - e.y;
+ return n * n + i * i;
+ }, 'sqdist')),
+ (gWe = o(function (e) {
+ for (var r = e.length, n = 0, i = 0; i < r; i++) n += e[i];
+ for (var a = 0; a < r; a++) e[a] = e[a] / n;
+ return e;
+ }, 'inPlaceSumNormalize')),
+ (aa = o(function (e, r, n, i) {
+ return (1 - i) * (1 - i) * e + 2 * (1 - i) * i * r + i * i * n;
+ }, 'qbezierAt')),
+ (t1 = o(function (e, r, n, i) {
+ return { x: aa(e.x, r.x, n.x, i), y: aa(e.y, r.y, n.y, i) };
+ }, 'qbezierPtAt')),
+ (yWe = o(function (e, r, n, i) {
+ var a = { x: r.x - e.x, y: r.y - e.y },
+ s = H0(e, r),
+ l = { x: a.x / s, y: a.y / s };
+ return (n = n ?? 0), (i = i ?? n * s), { x: e.x + l.x * i, y: e.y + l.y * i };
+ }, 'lineAt')),
+ (Hx = o(function (e, r, n) {
+ return Math.max(e, Math.min(n, r));
+ }, 'bound')),
+ (Gs = o(function (e) {
+ if (e == null) return { x1: 1 / 0, y1: 1 / 0, x2: -1 / 0, y2: -1 / 0, w: 0, h: 0 };
+ if (e.x1 != null && e.y1 != null) {
+ if (e.x2 != null && e.y2 != null && e.x2 >= e.x1 && e.y2 >= e.y1)
+ return {
+ x1: e.x1,
+ y1: e.y1,
+ x2: e.x2,
+ y2: e.y2,
+ w: e.x2 - e.x1,
+ h: e.y2 - e.y1
+ };
+ if (e.w != null && e.h != null && e.w >= 0 && e.h >= 0)
+ return {
+ x1: e.x1,
+ y1: e.y1,
+ x2: e.x1 + e.w,
+ y2: e.y1 + e.h,
+ w: e.w,
+ h: e.h
+ };
+ }
+ }, 'makeBoundingBox')),
+ (vWe = o(function (e) {
+ return { x1: e.x1, x2: e.x2, w: e.w, y1: e.y1, y2: e.y2, h: e.h };
+ }, 'copyBoundingBox')),
+ (xWe = o(function (e) {
+ (e.x1 = 1 / 0), (e.y1 = 1 / 0), (e.x2 = -1 / 0), (e.y2 = -1 / 0), (e.w = 0), (e.h = 0);
+ }, 'clearBoundingBox')),
+ (bWe = o(function (e, r, n) {
+ return {
+ x1: e.x1 + r,
+ x2: e.x2 + r,
+ y1: e.y1 + n,
+ y2: e.y2 + n,
+ w: e.w,
+ h: e.h
+ };
+ }, 'shiftBoundingBox')),
+ (Vpe = o(function (e, r) {
+ (e.x1 = Math.min(e.x1, r.x1)),
+ (e.x2 = Math.max(e.x2, r.x2)),
+ (e.w = e.x2 - e.x1),
+ (e.y1 = Math.min(e.y1, r.y1)),
+ (e.y2 = Math.max(e.y2, r.y2)),
+ (e.h = e.y2 - e.y1);
+ }, 'updateBoundingBox')),
+ (wWe = o(function (e, r, n) {
+ (e.x1 = Math.min(e.x1, r)),
+ (e.x2 = Math.max(e.x2, r)),
+ (e.w = e.x2 - e.x1),
+ (e.y1 = Math.min(e.y1, n)),
+ (e.y2 = Math.max(e.y2, n)),
+ (e.h = e.y2 - e.y1);
+ }, 'expandBoundingBoxByPoint')),
+ (p6 = o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
+ return (
+ (e.x1 -= r), (e.x2 += r), (e.y1 -= r), (e.y2 += r), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1), e
+ );
+ }, 'expandBoundingBox')),
+ (m6 = o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [0],
+ n,
+ i,
+ a,
+ s;
+ if (r.length === 1) n = i = a = s = r[0];
+ else if (r.length === 2) (n = a = r[0]), (s = i = r[1]);
+ else if (r.length === 4) {
+ var l = $l(r, 4);
+ (n = l[0]), (i = l[1]), (a = l[2]), (s = l[3]);
+ }
+ return (
+ (e.x1 -= s), (e.x2 += i), (e.y1 -= n), (e.y2 += a), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1), e
+ );
+ }, 'expandBoundingBoxSides')),
+ (g0e = o(function (e, r) {
+ (e.x1 = r.x1),
+ (e.y1 = r.y1),
+ (e.x2 = r.x2),
+ (e.y2 = r.y2),
+ (e.w = e.x2 - e.x1),
+ (e.h = e.y2 - e.y1);
+ }, 'assignBoundingBox')),
+ (rB = o(function (e, r) {
+ return !(
+ e.x1 > r.x2 ||
+ r.x1 > e.x2 ||
+ e.x2 < r.x1 ||
+ r.x2 < e.x1 ||
+ e.y2 < r.y1 ||
+ r.y2 < e.y1 ||
+ e.y1 > r.y2 ||
+ r.y1 > e.y2
+ );
+ }, 'boundingBoxesIntersect')),
+ (s1 = o(function (e, r, n) {
+ return e.x1 <= r && r <= e.x2 && e.y1 <= n && n <= e.y2;
+ }, 'inBoundingBox')),
+ (TWe = o(function (e, r) {
+ return s1(e, r.x, r.y);
+ }, 'pointInBoundingBox')),
+ (Upe = o(function (e, r) {
+ return s1(e, r.x1, r.y1) && s1(e, r.x2, r.y2);
+ }, 'boundingBoxInBoundingBox')),
+ (Hpe = o(function (e, r, n, i, a, s, l) {
+ var u = arguments.length > 7 && arguments[7] !== void 0 ? arguments[7] : 'auto',
+ h = u === 'auto' ? Y0(a, s) : u,
+ f = a / 2,
+ d = s / 2;
+ h = Math.min(h, f, d);
+ var p = h !== f,
+ m = h !== d,
+ g;
+ if (p) {
+ var y = n - f + h - l,
+ v = i - d - l,
+ x = n + f - h + l,
+ b = v;
+ if (((g = kf(e, r, n, i, y, v, x, b, !1)), g.length > 0)) return g;
+ }
+ if (m) {
+ var w = n + f + l,
+ S = i - d + h - l,
+ T = w,
+ E = i + d - h + l;
+ if (((g = kf(e, r, n, i, w, S, T, E, !1)), g.length > 0)) return g;
+ }
+ if (p) {
+ var _ = n - f + h - l,
+ A = i + d + l,
+ L = n + f - h + l,
+ M = A;
+ if (((g = kf(e, r, n, i, _, A, L, M, !1)), g.length > 0)) return g;
+ }
+ if (m) {
+ var N = n - f - l,
+ k = i - d + h - l,
+ I = N,
+ C = i + d - h + l;
+ if (((g = kf(e, r, n, i, N, k, I, C, !1)), g.length > 0)) return g;
+ }
+ var O;
+ {
+ var D = n - f + h,
+ P = i - d + h;
+ if (((O = Ox(e, r, n, i, D, P, h + l)), O.length > 0 && O[0] <= D && O[1] <= P))
+ return [O[0], O[1]];
+ }
+ {
+ var F = n + f - h,
+ B = i - d + h;
+ if (((O = Ox(e, r, n, i, F, B, h + l)), O.length > 0 && O[0] >= F && O[1] <= B))
+ return [O[0], O[1]];
+ }
+ {
+ var $ = n + f - h,
+ z = i + d - h;
+ if (((O = Ox(e, r, n, i, $, z, h + l)), O.length > 0 && O[0] >= $ && O[1] >= z))
+ return [O[0], O[1]];
+ }
+ {
+ var Y = n - f + h,
+ Q = i + d - h;
+ if (((O = Ox(e, r, n, i, Y, Q, h + l)), O.length > 0 && O[0] <= Y && O[1] >= Q))
+ return [O[0], O[1]];
+ }
+ return [];
+ }, 'roundRectangleIntersectLine')),
+ (kWe = o(function (e, r, n, i, a, s, l) {
+ var u = l,
+ h = Math.min(n, a),
+ f = Math.max(n, a),
+ d = Math.min(i, s),
+ p = Math.max(i, s);
+ return h - u <= e && e <= f + u && d - u <= r && r <= p + u;
+ }, 'inLineVicinity')),
+ (EWe = o(function (e, r, n, i, a, s, l, u, h) {
+ var f = {
+ x1: Math.min(n, l, a) - h,
+ x2: Math.max(n, l, a) + h,
+ y1: Math.min(i, u, s) - h,
+ y2: Math.max(i, u, s) + h
+ };
+ return !(e < f.x1 || e > f.x2 || r < f.y1 || r > f.y2);
+ }, 'inBezierVicinity')),
+ (CWe = o(function (e, r, n, i) {
+ n -= i;
+ var a = r * r - 4 * e * n;
+ if (a < 0) return [];
+ var s = Math.sqrt(a),
+ l = 2 * e,
+ u = (-r + s) / l,
+ h = (-r - s) / l;
+ return [u, h];
+ }, 'solveQuadratic')),
+ (SWe = o(function (e, r, n, i, a) {
+ var s = 1e-5;
+ e === 0 && (e = s), (r /= e), (n /= e), (i /= e);
+ var l, u, h, f, d, p, m, g;
+ if (
+ ((u = (3 * n - r * r) / 9),
+ (h = -(27 * i) + r * (9 * n - 2 * (r * r))),
+ (h /= 54),
+ (l = u * u * u + h * h),
+ (a[1] = 0),
+ (m = r / 3),
+ l > 0)
+ ) {
+ (d = h + Math.sqrt(l)),
+ (d = d < 0 ? -Math.pow(-d, 1 / 3) : Math.pow(d, 1 / 3)),
+ (p = h - Math.sqrt(l)),
+ (p = p < 0 ? -Math.pow(-p, 1 / 3) : Math.pow(p, 1 / 3)),
+ (a[0] = -m + d + p),
+ (m += (d + p) / 2),
+ (a[4] = a[2] = -m),
+ (m = (Math.sqrt(3) * (-p + d)) / 2),
+ (a[3] = m),
+ (a[5] = -m);
+ return;
+ }
+ if (((a[5] = a[3] = 0), l === 0)) {
+ (g = h < 0 ? -Math.pow(-h, 1 / 3) : Math.pow(h, 1 / 3)),
+ (a[0] = -m + 2 * g),
+ (a[4] = a[2] = -(g + m));
+ return;
+ }
+ (u = -u),
+ (f = u * u * u),
+ (f = Math.acos(h / Math.sqrt(f))),
+ (g = 2 * Math.sqrt(u)),
+ (a[0] = -m + g * Math.cos(f / 3)),
+ (a[2] = -m + g * Math.cos((f + 2 * Math.PI) / 3)),
+ (a[4] = -m + g * Math.cos((f + 4 * Math.PI) / 3));
+ }, 'solveCubic')),
+ (AWe = o(function (e, r, n, i, a, s, l, u) {
+ var h =
+ 1 * n * n -
+ 4 * n * a +
+ 2 * n * l +
+ 4 * a * a -
+ 4 * a * l +
+ l * l +
+ i * i -
+ 4 * i * s +
+ 2 * i * u +
+ 4 * s * s -
+ 4 * s * u +
+ u * u,
+ f =
+ 1 * 9 * n * a -
+ 3 * n * n -
+ 3 * n * l -
+ 6 * a * a +
+ 3 * a * l +
+ 9 * i * s -
+ 3 * i * i -
+ 3 * i * u -
+ 6 * s * s +
+ 3 * s * u,
+ d =
+ 1 * 3 * n * n -
+ 6 * n * a +
+ n * l -
+ n * e +
+ 2 * a * a +
+ 2 * a * e -
+ l * e +
+ 3 * i * i -
+ 6 * i * s +
+ i * u -
+ i * r +
+ 2 * s * s +
+ 2 * s * r -
+ u * r,
+ p = 1 * n * a - n * n + n * e - a * e + i * s - i * i + i * r - s * r,
+ m = [];
+ SWe(h, f, d, p, m);
+ for (var g = 1e-7, y = [], v = 0; v < 6; v += 2)
+ Math.abs(m[v + 1]) < g && m[v] >= 0 && m[v] <= 1 && y.push(m[v]);
+ y.push(1), y.push(0);
+ for (var x = -1, b, w, S, T = 0; T < y.length; T++)
+ (b = Math.pow(1 - y[T], 2) * n + 2 * (1 - y[T]) * y[T] * a + y[T] * y[T] * l),
+ (w = Math.pow(1 - y[T], 2) * i + 2 * (1 - y[T]) * y[T] * s + y[T] * y[T] * u),
+ (S = Math.pow(b - e, 2) + Math.pow(w - r, 2)),
+ x >= 0 ? S < x && (x = S) : (x = S);
+ return x;
+ }, 'sqdistToQuadraticBezier')),
+ (_We = o(function (e, r, n, i, a, s) {
+ var l = [e - n, r - i],
+ u = [a - n, s - i],
+ h = u[0] * u[0] + u[1] * u[1],
+ f = l[0] * l[0] + l[1] * l[1],
+ d = l[0] * u[0] + l[1] * u[1],
+ p = (d * d) / h;
+ return d < 0 ? f : p > h ? (e - a) * (e - a) + (r - s) * (r - s) : f - p;
+ }, 'sqdistToFiniteLine')),
+ (zs = o(function (e, r, n) {
+ for (var i, a, s, l, u, h = 0, f = 0; f < n.length / 2; f++)
+ if (
+ ((i = n[f * 2]),
+ (a = n[f * 2 + 1]),
+ f + 1 < n.length / 2
+ ? ((s = n[(f + 1) * 2]), (l = n[(f + 1) * 2 + 1]))
+ : ((s = n[(f + 1 - n.length / 2) * 2]), (l = n[(f + 1 - n.length / 2) * 2 + 1])),
+ !(i == e && s == e))
+ )
+ if ((i >= e && e >= s) || (i <= e && e <= s))
+ (u = ((e - i) / (s - i)) * (l - a) + a), u > r && h++;
+ else continue;
+ return h % 2 !== 0;
+ }, 'pointInsidePolygonPoints')),
+ (Qu = o(function (e, r, n, i, a, s, l, u, h) {
+ var f = new Array(n.length),
+ d;
+ u[0] != null
+ ? ((d = Math.atan(u[1] / u[0])), u[0] < 0 ? (d = d + Math.PI / 2) : (d = -d - Math.PI / 2))
+ : (d = u);
+ for (var p = Math.cos(-d), m = Math.sin(-d), g = 0; g < f.length / 2; g++)
+ (f[g * 2] = (s / 2) * (n[g * 2] * p - n[g * 2 + 1] * m)),
+ (f[g * 2 + 1] = (l / 2) * (n[g * 2 + 1] * p + n[g * 2] * m)),
+ (f[g * 2] += i),
+ (f[g * 2 + 1] += a);
+ var y;
+ if (h > 0) {
+ var v = A6(f, -h);
+ y = S6(v);
+ } else y = f;
+ return zs(e, r, y);
+ }, 'pointInsidePolygon')),
+ (LWe = o(function (e, r, n, i, a, s, l, u) {
+ for (var h = new Array(n.length * 2), f = 0; f < u.length; f++) {
+ var d = u[f];
+ (h[f * 4 + 0] = d.startX),
+ (h[f * 4 + 1] = d.startY),
+ (h[f * 4 + 2] = d.stopX),
+ (h[f * 4 + 3] = d.stopY);
+ var p = Math.pow(d.cx - e, 2) + Math.pow(d.cy - r, 2);
+ if (p <= Math.pow(d.radius, 2)) return !0;
+ }
+ return zs(e, r, h);
+ }, 'pointInsideRoundPolygon')),
+ (S6 = o(function (e) {
+ for (var r = new Array(e.length / 2), n, i, a, s, l, u, h, f, d = 0; d < e.length / 4; d++) {
+ (n = e[d * 4]),
+ (i = e[d * 4 + 1]),
+ (a = e[d * 4 + 2]),
+ (s = e[d * 4 + 3]),
+ d < e.length / 4 - 1
+ ? ((l = e[(d + 1) * 4]),
+ (u = e[(d + 1) * 4 + 1]),
+ (h = e[(d + 1) * 4 + 2]),
+ (f = e[(d + 1) * 4 + 3]))
+ : ((l = e[0]), (u = e[1]), (h = e[2]), (f = e[3]));
+ var p = kf(n, i, a, s, l, u, h, f, !0);
+ (r[d * 2] = p[0]), (r[d * 2 + 1] = p[1]);
+ }
+ return r;
+ }, 'joinLines')),
+ (A6 = o(function (e, r) {
+ for (var n = new Array(e.length * 2), i, a, s, l, u = 0; u < e.length / 2; u++) {
+ (i = e[u * 2]),
+ (a = e[u * 2 + 1]),
+ u < e.length / 2 - 1
+ ? ((s = e[(u + 1) * 2]), (l = e[(u + 1) * 2 + 1]))
+ : ((s = e[0]), (l = e[1]));
+ var h = l - a,
+ f = -(s - i),
+ d = Math.sqrt(h * h + f * f),
+ p = h / d,
+ m = f / d;
+ (n[u * 4] = i + p * r),
+ (n[u * 4 + 1] = a + m * r),
+ (n[u * 4 + 2] = s + p * r),
+ (n[u * 4 + 3] = l + m * r);
+ }
+ return n;
+ }, 'expandPolygon')),
+ (DWe = o(function (e, r, n, i, a, s) {
+ var l = n - e,
+ u = i - r;
+ (l /= a), (u /= s);
+ var h = Math.sqrt(l * l + u * u),
+ f = h - 1;
+ if (f < 0) return [];
+ var d = f / h;
+ return [(n - e) * d + e, (i - r) * d + r];
+ }, 'intersectLineEllipse')),
+ ($0 = o(function (e, r, n, i, a, s, l) {
+ return (e -= a), (r -= s), (e /= n / 2 + l), (r /= i / 2 + l), e * e + r * r <= 1;
+ }, 'checkInEllipse')),
+ (Ox = o(function (e, r, n, i, a, s, l) {
+ var u = [n - e, i - r],
+ h = [e - a, r - s],
+ f = u[0] * u[0] + u[1] * u[1],
+ d = 2 * (h[0] * u[0] + h[1] * u[1]),
+ p = h[0] * h[0] + h[1] * h[1] - l * l,
+ m = d * d - 4 * f * p;
+ if (m < 0) return [];
+ var g = (-d + Math.sqrt(m)) / (2 * f),
+ y = (-d - Math.sqrt(m)) / (2 * f),
+ v = Math.min(g, y),
+ x = Math.max(g, y),
+ b = [];
+ if ((v >= 0 && v <= 1 && b.push(v), x >= 0 && x <= 1 && b.push(x), b.length === 0)) return [];
+ var w = b[0] * u[0] + e,
+ S = b[0] * u[1] + r;
+ if (b.length > 1) {
+ if (b[0] == b[1]) return [w, S];
+ var T = b[1] * u[0] + e,
+ E = b[1] * u[1] + r;
+ return [w, S, T, E];
+ } else return [w, S];
+ }, 'intersectLineCircle')),
+ (TP = o(function (e, r, n) {
+ return (r <= e && e <= n) || (n <= e && e <= r)
+ ? e
+ : (e <= r && r <= n) || (n <= r && r <= e)
+ ? r
+ : n;
+ }, 'midOfThree')),
+ (kf = o(function (e, r, n, i, a, s, l, u, h) {
+ var f = e - a,
+ d = n - e,
+ p = l - a,
+ m = r - s,
+ g = i - r,
+ y = u - s,
+ v = p * m - y * f,
+ x = d * m - g * f,
+ b = y * d - p * g;
+ if (b !== 0) {
+ var w = v / b,
+ S = x / b,
+ T = 0.001,
+ E = 0 - T,
+ _ = 1 + T;
+ return E <= w && w <= _ && E <= S && S <= _
+ ? [e + w * d, r + w * g]
+ : h
+ ? [e + w * d, r + w * g]
+ : [];
+ } else return v === 0 || x === 0 ? (TP(e, n, l) === l ? [l, u] : TP(e, n, a) === a ? [a, s] : TP(a, l, n) === n ? [n, i] : []) : [];
+ }, 'finiteLinesIntersect')),
+ (Yx = o(function (e, r, n, i, a, s, l, u) {
+ var h = [],
+ f,
+ d = new Array(n.length),
+ p = !0;
+ s == null && (p = !1);
+ var m;
+ if (p) {
+ for (var g = 0; g < d.length / 2; g++)
+ (d[g * 2] = n[g * 2] * s + i), (d[g * 2 + 1] = n[g * 2 + 1] * l + a);
+ if (u > 0) {
+ var y = A6(d, -u);
+ m = S6(y);
+ } else m = d;
+ } else m = n;
+ for (var v, x, b, w, S = 0; S < m.length / 2; S++)
+ (v = m[S * 2]),
+ (x = m[S * 2 + 1]),
+ S < m.length / 2 - 1
+ ? ((b = m[(S + 1) * 2]), (w = m[(S + 1) * 2 + 1]))
+ : ((b = m[0]), (w = m[1])),
+ (f = kf(e, r, i, a, v, x, b, w)),
+ f.length !== 0 && h.push(f[0], f[1]);
+ return h;
+ }, 'polygonIntersectLine')),
+ (RWe = o(function (e, r, n, i, a, s, l, u, h) {
+ var f = [],
+ d,
+ p = new Array(n.length * 2);
+ h.forEach(function (b, w) {
+ w === 0
+ ? ((p[p.length - 2] = b.startX), (p[p.length - 1] = b.startY))
+ : ((p[w * 4 - 2] = b.startX), (p[w * 4 - 1] = b.startY)),
+ (p[w * 4] = b.stopX),
+ (p[w * 4 + 1] = b.stopY),
+ (d = Ox(e, r, i, a, b.cx, b.cy, b.radius)),
+ d.length !== 0 && f.push(d[0], d[1]);
+ });
+ for (var m = 0; m < p.length / 4; m++)
+ (d = kf(e, r, i, a, p[m * 4], p[m * 4 + 1], p[m * 4 + 2], p[m * 4 + 3], !1)),
+ d.length !== 0 && f.push(d[0], d[1]);
+ if (f.length > 2) {
+ for (
+ var g = [f[0], f[1]], y = Math.pow(g[0] - e, 2) + Math.pow(g[1] - r, 2), v = 1;
+ v < f.length / 2;
+ v++
+ ) {
+ var x = Math.pow(f[v * 2] - e, 2) + Math.pow(f[v * 2 + 1] - r, 2);
+ x <= y && ((g[0] = f[v * 2]), (g[1] = f[v * 2 + 1]), (y = x));
+ }
+ return g;
+ }
+ return f;
+ }, 'roundPolygonIntersectLine')),
+ (i6 = o(function (e, r, n) {
+ var i = [e[0] - r[0], e[1] - r[1]],
+ a = Math.sqrt(i[0] * i[0] + i[1] * i[1]),
+ s = (a - n) / a;
+ return s < 0 && (s = 1e-5), [r[0] + s * i[0], r[1] + s * i[1]];
+ }, 'shortenIntersection')),
+ (ls = o(function (e, r) {
+ var n = NP(e, r);
+ return (n = Ype(n)), n;
+ }, 'generateUnitNgonPointsFitToSquare')),
+ (Ype = o(function (e) {
+ for (var r, n, i = e.length / 2, a = 1 / 0, s = 1 / 0, l = -1 / 0, u = -1 / 0, h = 0; h < i; h++)
+ (r = e[2 * h]),
+ (n = e[2 * h + 1]),
+ (a = Math.min(a, r)),
+ (l = Math.max(l, r)),
+ (s = Math.min(s, n)),
+ (u = Math.max(u, n));
+ for (var f = 2 / (l - a), d = 2 / (u - s), p = 0; p < i; p++)
+ (r = e[2 * p] = e[2 * p] * f),
+ (n = e[2 * p + 1] = e[2 * p + 1] * d),
+ (a = Math.min(a, r)),
+ (l = Math.max(l, r)),
+ (s = Math.min(s, n)),
+ (u = Math.max(u, n));
+ if (s < -1) for (var m = 0; m < i; m++) n = e[2 * m + 1] = e[2 * m + 1] + (-1 - s);
+ return e;
+ }, 'fitPolygonToSquare')),
+ (NP = o(function (e, r) {
+ var n = (1 / e) * 2 * Math.PI,
+ i = e % 2 === 0 ? Math.PI / 2 + n / 2 : Math.PI / 2;
+ i += r;
+ for (var a = new Array(e * 2), s, l = 0; l < e; l++)
+ (s = l * n + i), (a[2 * l] = Math.cos(s)), (a[2 * l + 1] = Math.sin(-s));
+ return a;
+ }, 'generateUnitNgonPoints')),
+ (Y0 = o(function (e, r) {
+ return Math.min(e / 4, r / 4, 8);
+ }, 'getRoundRectangleRadius')),
+ (Wpe = o(function (e, r) {
+ return Math.min(e / 10, r / 10, 8);
+ }, 'getRoundPolygonRadius')),
+ (nB = o(function () {
+ return 8;
+ }, 'getCutRectangleCornerLength')),
+ (NWe = o(function (e, r, n) {
+ return [e - 2 * r + n, 2 * (r - e), e];
+ }, 'bezierPtsToQuadCoeff')),
+ (MP = o(function (e, r) {
+ return {
+ heightOffset: Math.min(15, 0.05 * r),
+ widthOffset: Math.min(100, 0.25 * e),
+ ctrlPtOffsetPct: 0.05
+ };
+ }, 'getBarrelCurveConstants')),
+ (MWe = Sa({
+ dampingFactor: 0.8,
+ precision: 1e-6,
+ iterations: 200,
+ weight: o(function (e) {
+ return 1;
+ }, 'weight')
+ })),
+ (IWe = {
+ pageRank: o(function (e) {
+ for (
+ var r = MWe(e),
+ n = r.dampingFactor,
+ i = r.precision,
+ a = r.iterations,
+ s = r.weight,
+ l = this._private.cy,
+ u = this.byGroup(),
+ h = u.nodes,
+ f = u.edges,
+ d = h.length,
+ p = d * d,
+ m = f.length,
+ g = new Array(p),
+ y = new Array(d),
+ v = (1 - n) / d,
+ x = 0;
+ x < d;
+ x++
+ ) {
+ for (var b = 0; b < d; b++) {
+ var w = x * d + b;
+ g[w] = 0;
+ }
+ y[x] = 0;
+ }
+ for (var S = 0; S < m; S++) {
+ var T = f[S],
+ E = T.data('source'),
+ _ = T.data('target');
+ if (E !== _) {
+ var A = h.indexOfId(E),
+ L = h.indexOfId(_),
+ M = s(T),
+ N = L * d + A;
+ (g[N] += M), (y[A] += M);
+ }
+ }
+ for (var k = 1 / d + v, I = 0; I < d; I++)
+ if (y[I] === 0)
+ for (var C = 0; C < d; C++) {
+ var O = C * d + I;
+ g[O] = k;
+ }
+ else
+ for (var D = 0; D < d; D++) {
+ var P = D * d + I;
+ g[P] = g[P] / y[I] + v;
+ }
+ for (var F = new Array(d), B = new Array(d), $, z = 0; z < d; z++) F[z] = 1;
+ for (var Y = 0; Y < a; Y++) {
+ for (var Q = 0; Q < d; Q++) B[Q] = 0;
+ for (var X = 0; X < d; X++)
+ for (var ie = 0; ie < d; ie++) {
+ var j = X * d + ie;
+ B[X] += g[j] * F[ie];
+ }
+ gWe(B), ($ = F), (F = B), (B = $);
+ for (var J = 0, Z = 0; Z < d; Z++) {
+ var H = $[Z] - F[Z];
+ J += H * H;
+ }
+ if (J < i) break;
+ }
+ var q = {
+ rank: o(function (se) {
+ return (se = l.collection(se)[0]), F[h.indexOf(se)];
+ }, 'rank')
+ };
+ return q;
+ }, 'pageRank')
+ }),
+ (y0e = Sa({
+ root: null,
+ weight: o(function (e) {
+ return 1;
+ }, 'weight'),
+ directed: !1,
+ alpha: 0
+ })),
+ (r1 = {
+ degreeCentralityNormalized: o(function (e) {
+ e = y0e(e);
+ var r = this.cy(),
+ n = this.nodes(),
+ i = n.length;
+ if (e.directed) {
+ for (var f = {}, d = {}, p = 0, m = 0, g = 0; g < i; g++) {
+ var y = n[g],
+ v = y.id();
+ e.root = y;
+ var x = this.degreeCentrality(e);
+ p < x.indegree && (p = x.indegree),
+ m < x.outdegree && (m = x.outdegree),
+ (f[v] = x.indegree),
+ (d[v] = x.outdegree);
+ }
+ return {
+ indegree: o(function (w) {
+ return p == 0 ? 0 : (zt(w) && (w = r.filter(w)), f[w.id()] / p);
+ }, 'indegree'),
+ outdegree: o(function (w) {
+ return m === 0 ? 0 : (zt(w) && (w = r.filter(w)), d[w.id()] / m);
+ }, 'outdegree')
+ };
+ } else {
+ for (var a = {}, s = 0, l = 0; l < i; l++) {
+ var u = n[l];
+ e.root = u;
+ var h = this.degreeCentrality(e);
+ s < h.degree && (s = h.degree), (a[u.id()] = h.degree);
+ }
+ return {
+ degree: o(function (w) {
+ return s === 0 ? 0 : (zt(w) && (w = r.filter(w)), a[w.id()] / s);
+ }, 'degree')
+ };
+ }
+ }, 'degreeCentralityNormalized'),
+ degreeCentrality: o(function (e) {
+ e = y0e(e);
+ var r = this.cy(),
+ n = this,
+ i = e,
+ a = i.root,
+ s = i.weight,
+ l = i.directed,
+ u = i.alpha;
+ if (((a = r.collection(a)[0]), l)) {
+ for (
+ var m = a.connectedEdges(),
+ g = m.filter(function (E) {
+ return E.target().same(a) && n.has(E);
+ }),
+ y = m.filter(function (E) {
+ return E.source().same(a) && n.has(E);
+ }),
+ v = g.length,
+ x = y.length,
+ b = 0,
+ w = 0,
+ S = 0;
+ S < g.length;
+ S++
+ )
+ b += s(g[S]);
+ for (var T = 0; T < y.length; T++) w += s(y[T]);
+ return {
+ indegree: Math.pow(v, 1 - u) * Math.pow(b, u),
+ outdegree: Math.pow(x, 1 - u) * Math.pow(w, u)
+ };
+ } else {
+ for (
+ var h = a.connectedEdges().intersection(n), f = h.length, d = 0, p = 0;
+ p < h.length;
+ p++
+ )
+ d += s(h[p]);
+ return { degree: Math.pow(f, 1 - u) * Math.pow(d, u) };
+ }
+ }, 'degreeCentrality')
+ });
+ r1.dc = r1.degreeCentrality;
+ r1.dcn = r1.degreeCentralityNormalised = r1.degreeCentralityNormalized;
+ (v0e = Sa({
+ harmonic: !0,
+ weight: o(function () {
+ return 1;
+ }, 'weight'),
+ directed: !1,
+ root: null
+ })),
+ (n1 = {
+ closenessCentralityNormalized: o(function (e) {
+ for (
+ var r = v0e(e),
+ n = r.harmonic,
+ i = r.weight,
+ a = r.directed,
+ s = this.cy(),
+ l = {},
+ u = 0,
+ h = this.nodes(),
+ f = this.floydWarshall({ weight: i, directed: a }),
+ d = 0;
+ d < h.length;
+ d++
+ ) {
+ for (var p = 0, m = h[d], g = 0; g < h.length; g++)
+ if (d !== g) {
+ var y = f.distance(m, h[g]);
+ n ? (p += 1 / y) : (p += y);
+ }
+ n || (p = 1 / p), u < p && (u = p), (l[m.id()] = p);
+ }
+ return {
+ closeness: o(function (x) {
+ return u == 0 ? 0 : (zt(x) ? (x = s.filter(x)[0].id()) : (x = x.id()), l[x] / u);
+ }, 'closeness')
+ };
+ }, 'closenessCentralityNormalized'),
+ closenessCentrality: o(function (e) {
+ var r = v0e(e),
+ n = r.root,
+ i = r.weight,
+ a = r.directed,
+ s = r.harmonic;
+ n = this.filter(n)[0];
+ for (
+ var l = this.dijkstra({ root: n, weight: i, directed: a }), u = 0, h = this.nodes(), f = 0;
+ f < h.length;
+ f++
+ ) {
+ var d = h[f];
+ if (!d.same(n)) {
+ var p = l.distanceTo(d);
+ s ? (u += 1 / p) : (u += p);
+ }
+ }
+ return s ? u : 1 / u;
+ }, 'closenessCentrality')
+ });
+ n1.cc = n1.closenessCentrality;
+ n1.ccn = n1.closenessCentralityNormalised = n1.closenessCentralityNormalized;
+ (OWe = Sa({ weight: null, directed: !1 })),
+ (IP = {
+ betweennessCentrality: o(function (e) {
+ for (
+ var r = OWe(e),
+ n = r.directed,
+ i = r.weight,
+ a = i != null,
+ s = this.cy(),
+ l = this.nodes(),
+ u = {},
+ h = {},
+ f = 0,
+ d = {
+ set: o(function (w, S) {
+ (h[w] = S), S > f && (f = S);
+ }, 'set'),
+ get: o(function (w) {
+ return h[w];
+ }, 'get')
+ },
+ p = 0;
+ p < l.length;
+ p++
+ ) {
+ var m = l[p],
+ g = m.id();
+ n ? (u[g] = m.outgoers().nodes()) : (u[g] = m.openNeighborhood().nodes()), d.set(g, 0);
+ }
+ for (
+ var y = o(function (w) {
+ for (
+ var S = l[w].id(),
+ T = [],
+ E = {},
+ _ = {},
+ A = {},
+ L = new eb(function (ie, j) {
+ return A[ie] - A[j];
+ }),
+ M = 0;
+ M < l.length;
+ M++
+ ) {
+ var N = l[M].id();
+ (E[N] = []), (_[N] = 0), (A[N] = 1 / 0);
+ }
+ for (_[S] = 1, A[S] = 0, L.push(S); !L.empty(); ) {
+ var k = L.pop();
+ if ((T.push(k), a))
+ for (var I = 0; I < u[k].length; I++) {
+ var C = u[k][I],
+ O = s.getElementById(k),
+ D = void 0;
+ O.edgesTo(C).length > 0 ? (D = O.edgesTo(C)[0]) : (D = C.edgesTo(O)[0]);
+ var P = i(D);
+ (C = C.id()),
+ A[C] > A[k] + P &&
+ ((A[C] = A[k] + P),
+ L.nodes.indexOf(C) < 0 ? L.push(C) : L.updateItem(C),
+ (_[C] = 0),
+ (E[C] = [])),
+ A[C] == A[k] + P && ((_[C] = _[C] + _[k]), E[C].push(k));
+ }
+ else
+ for (var F = 0; F < u[k].length; F++) {
+ var B = u[k][F].id();
+ A[B] == 1 / 0 && (L.push(B), (A[B] = A[k] + 1)),
+ A[B] == A[k] + 1 && ((_[B] = _[B] + _[k]), E[B].push(k));
+ }
+ }
+ for (var $ = {}, z = 0; z < l.length; z++) $[l[z].id()] = 0;
+ for (; T.length > 0; ) {
+ for (var Y = T.pop(), Q = 0; Q < E[Y].length; Q++) {
+ var X = E[Y][Q];
+ $[X] = $[X] + (_[X] / _[Y]) * (1 + $[Y]);
+ }
+ Y != l[w].id() && d.set(Y, d.get(Y) + $[Y]);
+ }
+ }, '_loop'),
+ v = 0;
+ v < l.length;
+ v++
+ )
+ y(v);
+ var x = {
+ betweenness: o(function (w) {
+ var S = s.collection(w).id();
+ return d.get(S);
+ }, 'betweenness'),
+ betweennessNormalized: o(function (w) {
+ if (f == 0) return 0;
+ var S = s.collection(w).id();
+ return d.get(S) / f;
+ }, 'betweennessNormalized')
+ };
+ return (x.betweennessNormalised = x.betweennessNormalized), x;
+ }, 'betweennessCentrality')
+ });
+ IP.bc = IP.betweennessCentrality;
+ (PWe = Sa({
+ expandFactor: 2,
+ inflateFactor: 2,
+ multFactor: 1,
+ maxIterations: 20,
+ attributes: [
+ function (t) {
+ return 1;
+ }
+ ]
+ })),
+ (BWe = o(function (e) {
+ return PWe(e);
+ }, 'setOptions')),
+ (FWe = o(function (e, r) {
+ for (var n = 0, i = 0; i < r.length; i++) n += r[i](e);
+ return n;
+ }, 'getSimilarity')),
+ (zWe = o(function (e, r, n) {
+ for (var i = 0; i < r; i++) e[i * r + i] = n;
+ }, 'addLoops')),
+ (qpe = o(function (e, r) {
+ for (var n, i = 0; i < r; i++) {
+ n = 0;
+ for (var a = 0; a < r; a++) n += e[a * r + i];
+ for (var s = 0; s < r; s++) e[s * r + i] = e[s * r + i] / n;
+ }
+ }, 'normalize')),
+ (GWe = o(function (e, r, n) {
+ for (var i = new Array(n * n), a = 0; a < n; a++) {
+ for (var s = 0; s < n; s++) i[a * n + s] = 0;
+ for (var l = 0; l < n; l++)
+ for (var u = 0; u < n; u++) i[a * n + u] += e[a * n + l] * r[l * n + u];
+ }
+ return i;
+ }, 'mmult')),
+ ($We = o(function (e, r, n) {
+ for (var i = e.slice(0), a = 1; a < n; a++) e = GWe(e, i, r);
+ return e;
+ }, 'expand')),
+ (VWe = o(function (e, r, n) {
+ for (var i = new Array(r * r), a = 0; a < r * r; a++) i[a] = Math.pow(e[a], n);
+ return qpe(i, r), i;
+ }, 'inflate')),
+ (UWe = o(function (e, r, n, i) {
+ for (var a = 0; a < n; a++) {
+ var s = Math.round(e[a] * Math.pow(10, i)) / Math.pow(10, i),
+ l = Math.round(r[a] * Math.pow(10, i)) / Math.pow(10, i);
+ if (s !== l) return !1;
+ }
+ return !0;
+ }, 'hasConverged')),
+ (HWe = o(function (e, r, n, i) {
+ for (var a = [], s = 0; s < r; s++) {
+ for (var l = [], u = 0; u < r; u++) Math.round(e[s * r + u] * 1e3) / 1e3 > 0 && l.push(n[u]);
+ l.length !== 0 && a.push(i.collection(l));
+ }
+ return a;
+ }, 'assign')),
+ (YWe = o(function (e, r) {
+ for (var n = 0; n < e.length; n++) if (!r[n] || e[n].id() !== r[n].id()) return !1;
+ return !0;
+ }, 'isDuplicate')),
+ (WWe = o(function (e) {
+ for (var r = 0; r < e.length; r++)
+ for (var n = 0; n < e.length; n++) r != n && YWe(e[r], e[n]) && e.splice(n, 1);
+ return e;
+ }, 'removeDuplicates')),
+ (x0e = o(function (e) {
+ for (
+ var r = this.nodes(), n = this.edges(), i = this.cy(), a = BWe(e), s = {}, l = 0;
+ l < r.length;
+ l++
+ )
+ s[r[l].id()] = l;
+ for (var u = r.length, h = u * u, f = new Array(h), d, p = 0; p < h; p++) f[p] = 0;
+ for (var m = 0; m < n.length; m++) {
+ var g = n[m],
+ y = s[g.source().id()],
+ v = s[g.target().id()],
+ x = FWe(g, a.attributes);
+ (f[y * u + v] += x), (f[v * u + y] += x);
+ }
+ zWe(f, u, a.multFactor), qpe(f, u);
+ for (var b = !0, w = 0; b && w < a.maxIterations; )
+ (b = !1),
+ (d = $We(f, u, a.expandFactor)),
+ (f = VWe(d, u, a.inflateFactor)),
+ UWe(f, d, h, 4) || (b = !0),
+ w++;
+ var S = HWe(f, u, r, i);
+ return (S = WWe(S)), S;
+ }, 'markovClustering')),
+ (qWe = { markovClustering: x0e, mcl: x0e }),
+ (XWe = o(function (e) {
+ return e;
+ }, 'identity')),
+ (Xpe = o(function (e, r) {
+ return Math.abs(r - e);
+ }, 'absDiff')),
+ (b0e = o(function (e, r, n) {
+ return e + Xpe(r, n);
+ }, 'addAbsDiff')),
+ (w0e = o(function (e, r, n) {
+ return e + Math.pow(n - r, 2);
+ }, 'addSquaredDiff')),
+ (jWe = o(function (e) {
+ return Math.sqrt(e);
+ }, 'sqrt')),
+ (KWe = o(function (e, r, n) {
+ return Math.max(e, Xpe(r, n));
+ }, 'maxAbsDiff')),
+ (Lx = o(function (e, r, n, i, a) {
+ for (
+ var s = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : XWe,
+ l = i,
+ u,
+ h,
+ f = 0;
+ f < e;
+ f++
+ )
+ (u = r(f)), (h = n(f)), (l = a(l, u, h));
+ return s(l);
+ }, 'getDistance')),
+ (o1 = {
+ euclidean: o(function (e, r, n) {
+ return e >= 2 ? Lx(e, r, n, 0, w0e, jWe) : Lx(e, r, n, 0, b0e);
+ }, 'euclidean'),
+ squaredEuclidean: o(function (e, r, n) {
+ return Lx(e, r, n, 0, w0e);
+ }, 'squaredEuclidean'),
+ manhattan: o(function (e, r, n) {
+ return Lx(e, r, n, 0, b0e);
+ }, 'manhattan'),
+ max: o(function (e, r, n) {
+ return Lx(e, r, n, -1 / 0, KWe);
+ }, 'max')
+ });
+ o1['squared-euclidean'] = o1.squaredEuclidean;
+ o1.squaredeuclidean = o1.squaredEuclidean;
+ o(z6, 'clusteringDistance');
+ (QWe = Sa({
+ k: 2,
+ m: 2,
+ sensitivityThreshold: 1e-4,
+ distance: 'euclidean',
+ maxIterations: 10,
+ attributes: [],
+ testMode: !1,
+ testCentroids: null
+ })),
+ (iB = o(function (e) {
+ return QWe(e);
+ }, 'setOptions')),
+ (_6 = o(function (e, r, n, i, a) {
+ var s = a !== 'kMedoids',
+ l = s
+ ? function (d) {
+ return n[d];
+ }
+ : function (d) {
+ return i[d](n);
+ },
+ u = o(function (p) {
+ return i[p](r);
+ }, 'getQ'),
+ h = n,
+ f = r;
+ return z6(e, i.length, l, u, h, f);
+ }, 'getDist')),
+ (kP = o(function (e, r, n) {
+ for (
+ var i = n.length, a = new Array(i), s = new Array(i), l = new Array(r), u = null, h = 0;
+ h < i;
+ h++
+ )
+ (a[h] = e.min(n[h]).value), (s[h] = e.max(n[h]).value);
+ for (var f = 0; f < r; f++) {
+ u = [];
+ for (var d = 0; d < i; d++) u[d] = Math.random() * (s[d] - a[d]) + a[d];
+ l[f] = u;
+ }
+ return l;
+ }, 'randomCentroids')),
+ (jpe = o(function (e, r, n, i, a) {
+ for (var s = 1 / 0, l = 0, u = 0; u < r.length; u++) {
+ var h = _6(n, e, r[u], i, a);
+ h < s && ((s = h), (l = u));
+ }
+ return l;
+ }, 'classify')),
+ (Kpe = o(function (e, r, n) {
+ for (var i = [], a = null, s = 0; s < r.length; s++) (a = r[s]), n[a.id()] === e && i.push(a);
+ return i;
+ }, 'buildCluster')),
+ (ZWe = o(function (e, r, n) {
+ return Math.abs(r - e) <= n;
+ }, 'haveValuesConverged')),
+ (JWe = o(function (e, r, n) {
+ for (var i = 0; i < e.length; i++)
+ for (var a = 0; a < e[i].length; a++) {
+ var s = Math.abs(e[i][a] - r[i][a]);
+ if (s > n) return !1;
+ }
+ return !0;
+ }, 'haveMatricesConverged')),
+ (eqe = o(function (e, r, n) {
+ for (var i = 0; i < n; i++) if (e === r[i]) return !0;
+ return !1;
+ }, 'seenBefore')),
+ (T0e = o(function (e, r) {
+ var n = new Array(r);
+ if (e.length < 50)
+ for (var i = 0; i < r; i++) {
+ for (var a = e[Math.floor(Math.random() * e.length)]; eqe(a, n, i); )
+ a = e[Math.floor(Math.random() * e.length)];
+ n[i] = a;
+ }
+ else for (var s = 0; s < r; s++) n[s] = e[Math.floor(Math.random() * e.length)];
+ return n;
+ }, 'randomMedoids')),
+ (k0e = o(function (e, r, n) {
+ for (var i = 0, a = 0; a < r.length; a++) i += _6('manhattan', r[a], e, n, 'kMedoids');
+ return i;
+ }, 'findCost')),
+ (tqe = o(function (e) {
+ var r = this.cy(),
+ n = this.nodes(),
+ i = null,
+ a = iB(e),
+ s = new Array(a.k),
+ l = {},
+ u;
+ a.testMode
+ ? typeof a.testCentroids == 'number'
+ ? (a.testCentroids, (u = kP(n, a.k, a.attributes)))
+ : Hi(a.testCentroids) === 'object'
+ ? (u = a.testCentroids)
+ : (u = kP(n, a.k, a.attributes))
+ : (u = kP(n, a.k, a.attributes));
+ for (var h = !0, f = 0; h && f < a.maxIterations; ) {
+ for (var d = 0; d < n.length; d++)
+ (i = n[d]), (l[i.id()] = jpe(i, u, a.distance, a.attributes, 'kMeans'));
+ h = !1;
+ for (var p = 0; p < a.k; p++) {
+ var m = Kpe(p, n, l);
+ if (m.length !== 0) {
+ for (
+ var g = a.attributes.length, y = u[p], v = new Array(g), x = new Array(g), b = 0;
+ b < g;
+ b++
+ ) {
+ x[b] = 0;
+ for (var w = 0; w < m.length; w++) (i = m[w]), (x[b] += a.attributes[b](i));
+ (v[b] = x[b] / m.length), ZWe(v[b], y[b], a.sensitivityThreshold) || (h = !0);
+ }
+ (u[p] = v), (s[p] = r.collection(m));
+ }
+ }
+ f++;
+ }
+ return s;
+ }, 'kMeans')),
+ (rqe = o(function (e) {
+ var r = this.cy(),
+ n = this.nodes(),
+ i = null,
+ a = iB(e),
+ s = new Array(a.k),
+ l,
+ u = {},
+ h,
+ f = new Array(a.k);
+ a.testMode
+ ? typeof a.testCentroids == 'number' ||
+ (Hi(a.testCentroids) === 'object' ? (l = a.testCentroids) : (l = T0e(n, a.k)))
+ : (l = T0e(n, a.k));
+ for (var d = !0, p = 0; d && p < a.maxIterations; ) {
+ for (var m = 0; m < n.length; m++)
+ (i = n[m]), (u[i.id()] = jpe(i, l, a.distance, a.attributes, 'kMedoids'));
+ d = !1;
+ for (var g = 0; g < l.length; g++) {
+ var y = Kpe(g, n, u);
+ if (y.length !== 0) {
+ f[g] = k0e(l[g], y, a.attributes);
+ for (var v = 0; v < y.length; v++)
+ (h = k0e(y[v], y, a.attributes)), h < f[g] && ((f[g] = h), (l[g] = y[v]), (d = !0));
+ s[g] = r.collection(y);
+ }
+ }
+ p++;
+ }
+ return s;
+ }, 'kMedoids')),
+ (nqe = o(function (e, r, n, i, a) {
+ for (var s, l, u = 0; u < r.length; u++)
+ for (var h = 0; h < e.length; h++) i[u][h] = Math.pow(n[u][h], a.m);
+ for (var f = 0; f < e.length; f++)
+ for (var d = 0; d < a.attributes.length; d++) {
+ (s = 0), (l = 0);
+ for (var p = 0; p < r.length; p++) (s += i[p][f] * a.attributes[d](r[p])), (l += i[p][f]);
+ e[f][d] = s / l;
+ }
+ }, 'updateCentroids')),
+ (iqe = o(function (e, r, n, i, a) {
+ for (var s = 0; s < e.length; s++) r[s] = e[s].slice();
+ for (var l, u, h, f = 2 / (a.m - 1), d = 0; d < n.length; d++)
+ for (var p = 0; p < i.length; p++) {
+ l = 0;
+ for (var m = 0; m < n.length; m++)
+ (u = _6(a.distance, i[p], n[d], a.attributes, 'cmeans')),
+ (h = _6(a.distance, i[p], n[m], a.attributes, 'cmeans')),
+ (l += Math.pow(u / h, f));
+ e[p][d] = 1 / l;
+ }
+ }, 'updateMembership')),
+ (aqe = o(function (e, r, n, i) {
+ for (var a = new Array(n.k), s = 0; s < a.length; s++) a[s] = [];
+ for (var l, u, h = 0; h < r.length; h++) {
+ (l = -1 / 0), (u = -1);
+ for (var f = 0; f < r[0].length; f++) r[h][f] > l && ((l = r[h][f]), (u = f));
+ a[u].push(e[h]);
+ }
+ for (var d = 0; d < a.length; d++) a[d] = i.collection(a[d]);
+ return a;
+ }, 'assign')),
+ (E0e = o(function (e) {
+ var r = this.cy(),
+ n = this.nodes(),
+ i = iB(e),
+ a,
+ s,
+ l,
+ u,
+ h;
+ u = new Array(n.length);
+ for (var f = 0; f < n.length; f++) u[f] = new Array(i.k);
+ l = new Array(n.length);
+ for (var d = 0; d < n.length; d++) l[d] = new Array(i.k);
+ for (var p = 0; p < n.length; p++) {
+ for (var m = 0, g = 0; g < i.k; g++) (l[p][g] = Math.random()), (m += l[p][g]);
+ for (var y = 0; y < i.k; y++) l[p][y] = l[p][y] / m;
+ }
+ s = new Array(i.k);
+ for (var v = 0; v < i.k; v++) s[v] = new Array(i.attributes.length);
+ h = new Array(n.length);
+ for (var x = 0; x < n.length; x++) h[x] = new Array(i.k);
+ for (var b = !0, w = 0; b && w < i.maxIterations; )
+ (b = !1),
+ nqe(s, n, l, h, i),
+ iqe(l, u, s, n, i),
+ JWe(l, u, i.sensitivityThreshold) || (b = !0),
+ w++;
+ return (a = aqe(n, l, i, r)), { clusters: a, degreeOfMembership: l };
+ }, 'fuzzyCMeans')),
+ (sqe = { kMeans: tqe, kMedoids: rqe, fuzzyCMeans: E0e, fcm: E0e }),
+ (oqe = Sa({
+ distance: 'euclidean',
+ linkage: 'min',
+ mode: 'threshold',
+ threshold: 1 / 0,
+ addDendrogram: !1,
+ dendrogramDepth: 0,
+ attributes: []
+ })),
+ (lqe = { single: 'min', complete: 'max' }),
+ (cqe = o(function (e) {
+ var r = oqe(e),
+ n = lqe[r.linkage];
+ return n != null && (r.linkage = n), r;
+ }, 'setOptions')),
+ (C0e = o(function (e, r, n, i, a) {
+ for (
+ var s = 0,
+ l = 1 / 0,
+ u,
+ h = a.attributes,
+ f = o(function (L, M) {
+ return z6(
+ a.distance,
+ h.length,
+ function (N) {
+ return h[N](L);
+ },
+ function (N) {
+ return h[N](M);
+ },
+ L,
+ M
+ );
+ }, 'getDist'),
+ d = 0;
+ d < e.length;
+ d++
+ ) {
+ var p = e[d].key,
+ m = n[p][i[p]];
+ m < l && ((s = p), (l = m));
+ }
+ if ((a.mode === 'threshold' && l >= a.threshold) || (a.mode === 'dendrogram' && e.length === 1))
+ return !1;
+ var g = r[s],
+ y = r[i[s]],
+ v;
+ a.mode === 'dendrogram'
+ ? (v = { left: g, right: y, key: g.key })
+ : (v = { value: g.value.concat(y.value), key: g.key }),
+ (e[g.index] = v),
+ e.splice(y.index, 1),
+ (r[g.key] = v);
+ for (var x = 0; x < e.length; x++) {
+ var b = e[x];
+ g.key === b.key
+ ? (u = 1 / 0)
+ : a.linkage === 'min'
+ ? ((u = n[g.key][b.key]), n[g.key][b.key] > n[y.key][b.key] && (u = n[y.key][b.key]))
+ : a.linkage === 'max'
+ ? ((u = n[g.key][b.key]), n[g.key][b.key] < n[y.key][b.key] && (u = n[y.key][b.key]))
+ : a.linkage === 'mean'
+ ? (u = (n[g.key][b.key] * g.size + n[y.key][b.key] * y.size) / (g.size + y.size))
+ : a.mode === 'dendrogram'
+ ? (u = f(b.value, g.value))
+ : (u = f(b.value[0], g.value[0])),
+ (n[g.key][b.key] = n[b.key][g.key] = u);
+ }
+ for (var w = 0; w < e.length; w++) {
+ var S = e[w].key;
+ if (i[S] === g.key || i[S] === y.key) {
+ for (var T = S, E = 0; E < e.length; E++) {
+ var _ = e[E].key;
+ n[S][_] < n[S][T] && (T = _);
+ }
+ i[S] = T;
+ }
+ e[w].index = w;
+ }
+ return (g.key = y.key = g.index = y.index = null), !0;
+ }, 'mergeClosest')),
+ (a6 = o(function t(e, r, n) {
+ e && (e.value ? r.push(e.value) : (e.left && t(e.left, r), e.right && t(e.right, r)));
+ }, 'getAllChildren')),
+ (uqe = o(function t(e, r) {
+ if (!e) return '';
+ if (e.left && e.right) {
+ var n = t(e.left, r),
+ i = t(e.right, r),
+ a = r.add({ group: 'nodes', data: { id: n + ',' + i } });
+ return (
+ r.add({ group: 'edges', data: { source: n, target: a.id() } }),
+ r.add({ group: 'edges', data: { source: i, target: a.id() } }),
+ a.id()
+ );
+ } else if (e.value) return e.value.id();
+ }, 'buildDendrogram')),
+ (hqe = o(function t(e, r, n) {
+ if (!e) return [];
+ var i = [],
+ a = [],
+ s = [];
+ return r === 0
+ ? (e.left && a6(e.left, i), e.right && a6(e.right, a), (s = i.concat(a)), [n.collection(s)])
+ : r === 1
+ ? e.value
+ ? [n.collection(e.value)]
+ : (e.left && a6(e.left, i), e.right && a6(e.right, a), [n.collection(i), n.collection(a)])
+ : e.value
+ ? [n.collection(e.value)]
+ : (e.left && (i = t(e.left, r - 1, n)), e.right && (a = t(e.right, r - 1, n)), i.concat(a));
+ }, 'buildClustersFromTree')),
+ (S0e = o(function (e) {
+ for (
+ var r = this.cy(),
+ n = this.nodes(),
+ i = cqe(e),
+ a = i.attributes,
+ s = o(function (w, S) {
+ return z6(
+ i.distance,
+ a.length,
+ function (T) {
+ return a[T](w);
+ },
+ function (T) {
+ return a[T](S);
+ },
+ w,
+ S
+ );
+ }, 'getDist'),
+ l = [],
+ u = [],
+ h = [],
+ f = [],
+ d = 0;
+ d < n.length;
+ d++
+ ) {
+ var p = {
+ value: i.mode === 'dendrogram' ? n[d] : [n[d]],
+ key: d,
+ index: d
+ };
+ (l[d] = p), (f[d] = p), (u[d] = []), (h[d] = 0);
+ }
+ for (var m = 0; m < l.length; m++)
+ for (var g = 0; g <= m; g++) {
+ var y = void 0;
+ i.mode === 'dendrogram'
+ ? (y = m === g ? 1 / 0 : s(l[m].value, l[g].value))
+ : (y = m === g ? 1 / 0 : s(l[m].value[0], l[g].value[0])),
+ (u[m][g] = y),
+ (u[g][m] = y),
+ y < u[m][h[m]] && (h[m] = g);
+ }
+ for (var v = C0e(l, f, u, h, i); v; ) v = C0e(l, f, u, h, i);
+ var x;
+ return (
+ i.mode === 'dendrogram'
+ ? ((x = hqe(l[0], i.dendrogramDepth, r)), i.addDendrogram && uqe(l[0], r))
+ : ((x = new Array(l.length)),
+ l.forEach(function (b, w) {
+ (b.key = b.index = null), (x[w] = r.collection(b.value));
+ })),
+ x
+ );
+ }, 'hierarchicalClustering')),
+ (fqe = { hierarchicalClustering: S0e, hca: S0e }),
+ (dqe = Sa({
+ distance: 'euclidean',
+ preference: 'median',
+ damping: 0.8,
+ maxIterations: 1e3,
+ minIterations: 100,
+ attributes: []
+ })),
+ (pqe = o(function (e) {
+ var r = e.damping,
+ n = e.preference;
+ (0.5 <= r && r < 1) || oi('Damping must range on [0.5, 1). Got: '.concat(r));
+ var i = ['median', 'mean', 'min', 'max'];
+ return (
+ i.some(function (a) {
+ return a === n;
+ }) ||
+ ft(n) ||
+ oi(
+ 'Preference must be one of ['
+ .concat(
+ i
+ .map(function (a) {
+ return "'".concat(a, "'");
+ })
+ .join(', '),
+ '] or a number. Got: '
+ )
+ .concat(n)
+ ),
+ dqe(e)
+ );
+ }, 'setOptions')),
+ (mqe = o(function (e, r, n, i) {
+ var a = o(function (l, u) {
+ return i[u](l);
+ }, 'attr');
+ return -z6(
+ e,
+ i.length,
+ function (s) {
+ return a(r, s);
+ },
+ function (s) {
+ return a(n, s);
+ },
+ r,
+ n
+ );
+ }, 'getSimilarity')),
+ (gqe = o(function (e, r) {
+ var n = null;
+ return (
+ r === 'median'
+ ? (n = pWe(e))
+ : r === 'mean'
+ ? (n = dWe(e))
+ : r === 'min'
+ ? (n = hWe(e))
+ : r === 'max'
+ ? (n = fWe(e))
+ : (n = r),
+ n
+ );
+ }, 'getPreference')),
+ (yqe = o(function (e, r, n) {
+ for (var i = [], a = 0; a < e; a++) r[a * e + a] + n[a * e + a] > 0 && i.push(a);
+ return i;
+ }, 'findExemplars')),
+ (A0e = o(function (e, r, n) {
+ for (var i = [], a = 0; a < e; a++) {
+ for (var s = -1, l = -1 / 0, u = 0; u < n.length; u++) {
+ var h = n[u];
+ r[a * e + h] > l && ((s = h), (l = r[a * e + h]));
+ }
+ s > 0 && i.push(s);
+ }
+ for (var f = 0; f < n.length; f++) i[n[f]] = n[f];
+ return i;
+ }, 'assignClusters')),
+ (vqe = o(function (e, r, n) {
+ for (var i = A0e(e, r, n), a = 0; a < n.length; a++) {
+ for (var s = [], l = 0; l < i.length; l++) i[l] === n[a] && s.push(l);
+ for (var u = -1, h = -1 / 0, f = 0; f < s.length; f++) {
+ for (var d = 0, p = 0; p < s.length; p++) d += r[s[p] * e + s[f]];
+ d > h && ((u = f), (h = d));
+ }
+ n[a] = s[u];
+ }
+ return (i = A0e(e, r, n)), i;
+ }, 'assign')),
+ (_0e = o(function (e) {
+ for (var r = this.cy(), n = this.nodes(), i = pqe(e), a = {}, s = 0; s < n.length; s++)
+ a[n[s].id()] = s;
+ var l, u, h, f, d, p;
+ (l = n.length), (u = l * l), (h = new Array(u));
+ for (var m = 0; m < u; m++) h[m] = -1 / 0;
+ for (var g = 0; g < l; g++)
+ for (var y = 0; y < l; y++)
+ g !== y && (h[g * l + y] = mqe(i.distance, n[g], n[y], i.attributes));
+ f = gqe(h, i.preference);
+ for (var v = 0; v < l; v++) h[v * l + v] = f;
+ d = new Array(u);
+ for (var x = 0; x < u; x++) d[x] = 0;
+ p = new Array(u);
+ for (var b = 0; b < u; b++) p[b] = 0;
+ for (var w = new Array(l), S = new Array(l), T = new Array(l), E = 0; E < l; E++)
+ (w[E] = 0), (S[E] = 0), (T[E] = 0);
+ for (var _ = new Array(l * i.minIterations), A = 0; A < _.length; A++) _[A] = 0;
+ var L;
+ for (L = 0; L < i.maxIterations; L++) {
+ for (var M = 0; M < l; M++) {
+ for (var N = -1 / 0, k = -1 / 0, I = -1, C = 0, O = 0; O < l; O++)
+ (w[O] = d[M * l + O]),
+ (C = p[M * l + O] + h[M * l + O]),
+ C >= N ? ((k = N), (N = C), (I = O)) : C > k && (k = C);
+ for (var D = 0; D < l; D++)
+ d[M * l + D] = (1 - i.damping) * (h[M * l + D] - N) + i.damping * w[D];
+ d[M * l + I] = (1 - i.damping) * (h[M * l + I] - k) + i.damping * w[I];
+ }
+ for (var P = 0; P < l; P++) {
+ for (var F = 0, B = 0; B < l; B++)
+ (w[B] = p[B * l + P]), (S[B] = Math.max(0, d[B * l + P])), (F += S[B]);
+ (F -= S[P]), (S[P] = d[P * l + P]), (F += S[P]);
+ for (var $ = 0; $ < l; $++)
+ p[$ * l + P] = (1 - i.damping) * Math.min(0, F - S[$]) + i.damping * w[$];
+ p[P * l + P] = (1 - i.damping) * (F - S[P]) + i.damping * w[P];
+ }
+ for (var z = 0, Y = 0; Y < l; Y++) {
+ var Q = p[Y * l + Y] + d[Y * l + Y] > 0 ? 1 : 0;
+ (_[(L % i.minIterations) * l + Y] = Q), (z += Q);
+ }
+ if (z > 0 && (L >= i.minIterations - 1 || L == i.maxIterations - 1)) {
+ for (var X = 0, ie = 0; ie < l; ie++) {
+ T[ie] = 0;
+ for (var j = 0; j < i.minIterations; j++) T[ie] += _[j * l + ie];
+ (T[ie] === 0 || T[ie] === i.minIterations) && X++;
+ }
+ if (X === l) break;
+ }
+ }
+ for (var J = yqe(l, d, p), Z = vqe(l, h, J), H = {}, q = 0; q < J.length; q++) H[J[q]] = [];
+ for (var K = 0; K < n.length; K++) {
+ var se = a[n[K].id()],
+ ce = Z[se];
+ ce != null && H[ce].push(n[K]);
+ }
+ for (var ue = new Array(J.length), te = 0; te < J.length; te++) ue[te] = r.collection(H[J[te]]);
+ return ue;
+ }, 'affinityPropagation')),
+ (xqe = { affinityPropagation: _0e, ap: _0e }),
+ (bqe = Sa({ root: void 0, directed: !1 })),
+ (wqe = {
+ hierholzer: o(function (e) {
+ if (!Mr(e)) {
+ var r = arguments;
+ e = { root: r[0], directed: r[1] };
+ }
+ var n = bqe(e),
+ i = n.root,
+ a = n.directed,
+ s = this,
+ l = !1,
+ u,
+ h,
+ f;
+ i && (f = zt(i) ? this.filter(i)[0].id() : i[0].id());
+ var d = {},
+ p = {};
+ a
+ ? s.forEach(function (b) {
+ var w = b.id();
+ if (b.isNode()) {
+ var S = b.indegree(!0),
+ T = b.outdegree(!0),
+ E = S - T,
+ _ = T - S;
+ E == 1
+ ? u
+ ? (l = !0)
+ : (u = w)
+ : _ == 1
+ ? h
+ ? (l = !0)
+ : (h = w)
+ : (_ > 1 || E > 1) && (l = !0),
+ (d[w] = []),
+ b.outgoers().forEach(function (A) {
+ A.isEdge() && d[w].push(A.id());
+ });
+ } else p[w] = [void 0, b.target().id()];
+ })
+ : s.forEach(function (b) {
+ var w = b.id();
+ if (b.isNode()) {
+ var S = b.degree(!0);
+ S % 2 && (u ? (h ? (l = !0) : (h = w)) : (u = w)),
+ (d[w] = []),
+ b.connectedEdges().forEach(function (T) {
+ return d[w].push(T.id());
+ });
+ } else p[w] = [b.source().id(), b.target().id()];
+ });
+ var m = { found: !1, trail: void 0 };
+ if (l) return m;
+ if (h && u)
+ if (a) {
+ if (f && h != f) return m;
+ f = h;
+ } else {
+ if (f && h != f && u != f) return m;
+ f || (f = h);
+ }
+ else f || (f = s[0].id());
+ var g = o(function (w) {
+ for (var S = w, T = [w], E, _, A; d[S].length; )
+ (E = d[S].shift()),
+ (_ = p[E][0]),
+ (A = p[E][1]),
+ S != A
+ ? ((d[A] = d[A].filter(function (L) {
+ return L != E;
+ })),
+ (S = A))
+ : !a &&
+ S != _ &&
+ ((d[_] = d[_].filter(function (L) {
+ return L != E;
+ })),
+ (S = _)),
+ T.unshift(E),
+ T.unshift(S);
+ return T;
+ }, 'walk'),
+ y = [],
+ v = [];
+ for (v = g(f); v.length != 1; )
+ d[v[0]].length == 0
+ ? (y.unshift(s.getElementById(v.shift())), y.unshift(s.getElementById(v.shift())))
+ : (v = g(v.shift()).concat(v));
+ y.unshift(s.getElementById(v.shift()));
+ for (var x in d) if (d[x].length) return m;
+ return (m.found = !0), (m.trail = this.spawn(y, !0)), m;
+ }, 'hierholzer')
+ }),
+ (s6 = o(function () {
+ var e = this,
+ r = {},
+ n = 0,
+ i = 0,
+ a = [],
+ s = [],
+ l = {},
+ u = o(function (p, m) {
+ for (var g = s.length - 1, y = [], v = e.spawn(); s[g].x != p || s[g].y != m; )
+ y.push(s.pop().edge), g--;
+ y.push(s.pop().edge),
+ y.forEach(function (x) {
+ var b = x.connectedNodes().intersection(e);
+ v.merge(x),
+ b.forEach(function (w) {
+ var S = w.id(),
+ T = w.connectedEdges().intersection(e);
+ v.merge(w),
+ r[S].cutVertex
+ ? v.merge(
+ T.filter(function (E) {
+ return E.isLoop();
+ })
+ )
+ : v.merge(T);
+ });
+ }),
+ a.push(v);
+ }, 'buildComponent'),
+ h = o(function d(p, m, g) {
+ p === g && (i += 1), (r[m] = { id: n, low: n++, cutVertex: !1 });
+ var y = e.getElementById(m).connectedEdges().intersection(e);
+ if (y.size() === 0) a.push(e.spawn(e.getElementById(m)));
+ else {
+ var v, x, b, w;
+ y.forEach(function (S) {
+ (v = S.source().id()),
+ (x = S.target().id()),
+ (b = v === m ? x : v),
+ b !== g &&
+ ((w = S.id()),
+ l[w] || ((l[w] = !0), s.push({ x: m, y: b, edge: S })),
+ b in r
+ ? (r[m].low = Math.min(r[m].low, r[b].id))
+ : (d(p, b, m),
+ (r[m].low = Math.min(r[m].low, r[b].low)),
+ r[m].id <= r[b].low && ((r[m].cutVertex = !0), u(m, b))));
+ });
+ }
+ }, 'biconnectedSearch');
+ e.forEach(function (d) {
+ if (d.isNode()) {
+ var p = d.id();
+ p in r || ((i = 0), h(p, p), (r[p].cutVertex = i > 1));
+ }
+ });
+ var f = Object.keys(r)
+ .filter(function (d) {
+ return r[d].cutVertex;
+ })
+ .map(function (d) {
+ return e.getElementById(d);
+ });
+ return { cut: e.spawn(f), components: a };
+ }, 'hopcroftTarjanBiconnected')),
+ (Tqe = {
+ hopcroftTarjanBiconnected: s6,
+ htbc: s6,
+ htb: s6,
+ hopcroftTarjanBiconnectedComponents: s6
+ }),
+ (o6 = o(function () {
+ var e = this,
+ r = {},
+ n = 0,
+ i = [],
+ a = [],
+ s = e.spawn(e),
+ l = o(function u(h) {
+ a.push(h), (r[h] = { index: n, low: n++, explored: !1 });
+ var f = e.getElementById(h).connectedEdges().intersection(e);
+ if (
+ (f.forEach(function (y) {
+ var v = y.target().id();
+ v !== h &&
+ (v in r || u(v), r[v].explored || (r[h].low = Math.min(r[h].low, r[v].low)));
+ }),
+ r[h].index === r[h].low)
+ ) {
+ for (var d = e.spawn(); ; ) {
+ var p = a.pop();
+ if (
+ (d.merge(e.getElementById(p)),
+ (r[p].low = r[h].index),
+ (r[p].explored = !0),
+ p === h)
+ )
+ break;
+ }
+ var m = d.edgesWith(d),
+ g = d.merge(m);
+ i.push(g), (s = s.difference(g));
+ }
+ }, 'stronglyConnectedSearch');
+ return (
+ e.forEach(function (u) {
+ if (u.isNode()) {
+ var h = u.id();
+ h in r || l(h);
+ }
+ }),
+ { cut: s, components: i }
+ );
+ }, 'tarjanStronglyConnected')),
+ (kqe = {
+ tarjanStronglyConnected: o6,
+ tsc: o6,
+ tscc: o6,
+ tarjanStronglyConnectedComponents: o6
+ }),
+ (Qpe = {});
+ [Ux, JYe, eWe, rWe, iWe, sWe, cWe, IWe, r1, n1, IP, qWe, sqe, fqe, xqe, wqe, Tqe, kqe].forEach(function (
+ t
+ ) {
+ Wt(Qpe, t);
+ });
+ (Zpe = 0),
+ (Jpe = 1),
+ (eme = 2),
+ (Zu = o(function t(e) {
+ if (!(this instanceof t)) return new t(e);
+ (this.id = 'Thenable/1.0.7'),
+ (this.state = Zpe),
+ (this.fulfillValue = void 0),
+ (this.rejectReason = void 0),
+ (this.onFulfilled = []),
+ (this.onRejected = []),
+ (this.proxy = { then: this.then.bind(this) }),
+ typeof e == 'function' && e.call(this, this.fulfill.bind(this), this.reject.bind(this));
+ }, 'api'));
+ Zu.prototype = {
+ fulfill: o(function (e) {
+ return L0e(this, Jpe, 'fulfillValue', e);
+ }, 'fulfill'),
+ reject: o(function (e) {
+ return L0e(this, eme, 'rejectReason', e);
+ }, 'reject'),
+ then: o(function (e, r) {
+ var n = this,
+ i = new Zu();
+ return (
+ n.onFulfilled.push(R0e(e, i, 'fulfill')),
+ n.onRejected.push(R0e(r, i, 'reject')),
+ tme(n),
+ i.proxy
+ );
+ }, 'then')
+ };
+ (L0e = o(function (e, r, n, i) {
+ return e.state === Zpe && ((e.state = r), (e[n] = i), tme(e)), e;
+ }, 'deliver')),
+ (tme = o(function (e) {
+ e.state === Jpe
+ ? D0e(e, 'onFulfilled', e.fulfillValue)
+ : e.state === eme && D0e(e, 'onRejected', e.rejectReason);
+ }, 'execute')),
+ (D0e = o(function (e, r, n) {
+ if (e[r].length !== 0) {
+ var i = e[r];
+ e[r] = [];
+ var a = o(function () {
+ for (var l = 0; l < i.length; l++) i[l](n);
+ }, 'func');
+ typeof setImmediate == 'function' ? setImmediate(a) : setTimeout(a, 0);
+ }
+ }, 'execute_handlers')),
+ (R0e = o(function (e, r, n) {
+ return function (i) {
+ if (typeof e != 'function') r[n].call(r, i);
+ else {
+ var a;
+ try {
+ a = e(i);
+ } catch (s) {
+ r.reject(s);
+ return;
+ }
+ Eqe(r, a);
+ }
+ };
+ }, 'resolver')),
+ (Eqe = o(function t(e, r) {
+ if (e === r || e.proxy === r) {
+ e.reject(new TypeError('cannot resolve promise with itself'));
+ return;
+ }
+ var n;
+ if ((Hi(r) === 'object' && r !== null) || typeof r == 'function')
+ try {
+ n = r.then;
+ } catch (a) {
+ e.reject(a);
+ return;
+ }
+ if (typeof n == 'function') {
+ var i = !1;
+ try {
+ n.call(
+ r,
+ function (a) {
+ i ||
+ ((i = !0),
+ a === r ? e.reject(new TypeError('circular thenable chain')) : t(e, a));
+ },
+ function (a) {
+ i || ((i = !0), e.reject(a));
+ }
+ );
+ } catch (a) {
+ i || e.reject(a);
+ }
+ return;
+ }
+ e.fulfill(r);
+ }, 'resolve'));
+ Zu.all = function (t) {
+ return new Zu(function (e, r) {
+ for (
+ var n = new Array(t.length),
+ i = 0,
+ a = o(function (u, h) {
+ (n[u] = h), i++, i === t.length && e(n);
+ }, 'fulfill'),
+ s = 0;
+ s < t.length;
+ s++
+ )
+ (function (l) {
+ var u = t[l],
+ h = u != null && u.then != null;
+ if (h)
+ u.then(
+ function (d) {
+ a(l, d);
+ },
+ function (d) {
+ r(d);
+ }
+ );
+ else {
+ var f = u;
+ a(l, f);
+ }
+ })(s);
+ });
+ };
+ Zu.resolve = function (t) {
+ return new Zu(function (e, r) {
+ e(t);
+ });
+ };
+ Zu.reject = function (t) {
+ return new Zu(function (e, r) {
+ r(t);
+ });
+ };
+ (u1 = typeof Promise < 'u' ? Promise : Zu),
+ (OP = o(function (e, r, n) {
+ var i = KP(e),
+ a = !i,
+ s = (this._private = Wt({ duration: 1e3 }, r, n));
+ if (
+ ((s.target = e),
+ (s.style = s.style || s.css),
+ (s.started = !1),
+ (s.playing = !1),
+ (s.hooked = !1),
+ (s.applying = !1),
+ (s.progress = 0),
+ (s.completes = []),
+ (s.frames = []),
+ s.complete && jn(s.complete) && s.completes.push(s.complete),
+ a)
+ ) {
+ var l = e.position();
+ (s.startPosition = s.startPosition || { x: l.x, y: l.y }),
+ (s.startStyle = s.startStyle || e.cy().style().getAnimationStartStyle(e, s.style));
+ }
+ if (i) {
+ var u = e.pan();
+ (s.startPan = { x: u.x, y: u.y }), (s.startZoom = e.zoom());
+ }
+ (this.length = 1), (this[0] = this);
+ }, 'Animation')),
+ (W0 = OP.prototype);
+ Wt(W0, {
+ instanceString: o(function () {
+ return 'animation';
+ }, 'instanceString'),
+ hook: o(function () {
+ var e = this._private;
+ if (!e.hooked) {
+ var r,
+ n = e.target._private.animation;
+ e.queue ? (r = n.queue) : (r = n.current),
+ r.push(this),
+ xo(e.target) && e.target.cy().addToAnimationPool(e.target),
+ (e.hooked = !0);
+ }
+ return this;
+ }, 'hook'),
+ play: o(function () {
+ var e = this._private;
+ return (
+ e.progress === 1 && (e.progress = 0),
+ (e.playing = !0),
+ (e.started = !1),
+ (e.stopped = !1),
+ this.hook(),
+ this
+ );
+ }, 'play'),
+ playing: o(function () {
+ return this._private.playing;
+ }, 'playing'),
+ apply: o(function () {
+ var e = this._private;
+ return (e.applying = !0), (e.started = !1), (e.stopped = !1), this.hook(), this;
+ }, 'apply'),
+ applying: o(function () {
+ return this._private.applying;
+ }, 'applying'),
+ pause: o(function () {
+ var e = this._private;
+ return (e.playing = !1), (e.started = !1), this;
+ }, 'pause'),
+ stop: o(function () {
+ var e = this._private;
+ return (e.playing = !1), (e.started = !1), (e.stopped = !0), this;
+ }, 'stop'),
+ rewind: o(function () {
+ return this.progress(0);
+ }, 'rewind'),
+ fastforward: o(function () {
+ return this.progress(1);
+ }, 'fastforward'),
+ time: o(function (e) {
+ var r = this._private;
+ return e === void 0 ? r.progress * r.duration : this.progress(e / r.duration);
+ }, 'time'),
+ progress: o(function (e) {
+ var r = this._private,
+ n = r.playing;
+ return e === void 0
+ ? r.progress
+ : (n && this.pause(), (r.progress = e), (r.started = !1), n && this.play(), this);
+ }, 'progress'),
+ completed: o(function () {
+ return this._private.progress === 1;
+ }, 'completed'),
+ reverse: o(function () {
+ var e = this._private,
+ r = e.playing;
+ r && this.pause(), (e.progress = 1 - e.progress), (e.started = !1);
+ var n = o(function (h, f) {
+ var d = e[h];
+ d != null && ((e[h] = e[f]), (e[f] = d));
+ }, 'swap');
+ if ((n('zoom', 'startZoom'), n('pan', 'startPan'), n('position', 'startPosition'), e.style))
+ for (var i = 0; i < e.style.length; i++) {
+ var a = e.style[i],
+ s = a.name,
+ l = e.startStyle[s];
+ (e.startStyle[s] = a), (e.style[i] = l);
+ }
+ return r && this.play(), this;
+ }, 'reverse'),
+ promise: o(function (e) {
+ var r = this._private,
+ n;
+ switch (e) {
+ case 'frame':
+ n = r.frames;
+ break;
+ default:
+ case 'complete':
+ case 'completed':
+ n = r.completes;
+ }
+ return new u1(function (i, a) {
+ n.push(function () {
+ i();
+ });
+ });
+ }, 'promise')
+ });
+ W0.complete = W0.completed;
+ W0.run = W0.play;
+ W0.running = W0.playing;
+ (Cqe = {
+ animated: o(function () {
+ return o(function () {
+ var r = this,
+ n = r.length !== void 0,
+ i = n ? r : [r],
+ a = this._private.cy || this;
+ if (!a.styleEnabled()) return !1;
+ var s = i[0];
+ if (s) return s._private.animation.current.length > 0;
+ }, 'animatedImpl');
+ }, 'animated'),
+ clearQueue: o(function () {
+ return o(function () {
+ var r = this,
+ n = r.length !== void 0,
+ i = n ? r : [r],
+ a = this._private.cy || this;
+ if (!a.styleEnabled()) return this;
+ for (var s = 0; s < i.length; s++) {
+ var l = i[s];
+ l._private.animation.queue = [];
+ }
+ return this;
+ }, 'clearQueueImpl');
+ }, 'clearQueue'),
+ delay: o(function () {
+ return o(function (r, n) {
+ var i = this._private.cy || this;
+ return i.styleEnabled() ? this.animate({ delay: r, duration: r, complete: n }) : this;
+ }, 'delayImpl');
+ }, 'delay'),
+ delayAnimation: o(function () {
+ return o(function (r, n) {
+ var i = this._private.cy || this;
+ return i.styleEnabled() ? this.animation({ delay: r, duration: r, complete: n }) : this;
+ }, 'delayAnimationImpl');
+ }, 'delayAnimation'),
+ animation: o(function () {
+ return o(function (r, n) {
+ var i = this,
+ a = i.length !== void 0,
+ s = a ? i : [i],
+ l = this._private.cy || this,
+ u = !a,
+ h = !u;
+ if (!l.styleEnabled()) return this;
+ var f = l.style();
+ r = Wt({}, r, n);
+ var d = Object.keys(r).length === 0;
+ if (d) return new OP(s[0], r);
+ switch ((r.duration === void 0 && (r.duration = 400), r.duration)) {
+ case 'slow':
+ r.duration = 600;
+ break;
+ case 'fast':
+ r.duration = 200;
+ break;
+ }
+ if (
+ (h && ((r.style = f.getPropsList(r.style || r.css)), (r.css = void 0)),
+ h && r.renderedPosition != null)
+ ) {
+ var p = r.renderedPosition,
+ m = l.pan(),
+ g = l.zoom();
+ r.position = Gpe(p, g, m);
+ }
+ if (u && r.panBy != null) {
+ var y = r.panBy,
+ v = l.pan();
+ r.pan = { x: v.x + y.x, y: v.y + y.y };
+ }
+ var x = r.center || r.centre;
+ if (u && x != null) {
+ var b = l.getCenterPan(x.eles, r.zoom);
+ b != null && (r.pan = b);
+ }
+ if (u && r.fit != null) {
+ var w = r.fit,
+ S = l.getFitViewport(w.eles || w.boundingBox, w.padding);
+ S != null && ((r.pan = S.pan), (r.zoom = S.zoom));
+ }
+ if (u && Mr(r.zoom)) {
+ var T = l.getZoomedViewport(r.zoom);
+ T != null ? (T.zoomed && (r.zoom = T.zoom), T.panned && (r.pan = T.pan)) : (r.zoom = null);
+ }
+ return new OP(s[0], r);
+ }, 'animationImpl');
+ }, 'animation'),
+ animate: o(function () {
+ return o(function (r, n) {
+ var i = this,
+ a = i.length !== void 0,
+ s = a ? i : [i],
+ l = this._private.cy || this;
+ if (!l.styleEnabled()) return this;
+ n && (r = Wt({}, r, n));
+ for (var u = 0; u < s.length; u++) {
+ var h = s[u],
+ f = h.animated() && (r.queue === void 0 || r.queue),
+ d = h.animation(r, f ? { queue: !0 } : void 0);
+ d.play();
+ }
+ return this;
+ }, 'animateImpl');
+ }, 'animate'),
+ stop: o(function () {
+ return o(function (r, n) {
+ var i = this,
+ a = i.length !== void 0,
+ s = a ? i : [i],
+ l = this._private.cy || this;
+ if (!l.styleEnabled()) return this;
+ for (var u = 0; u < s.length; u++) {
+ for (var h = s[u], f = h._private, d = f.animation.current, p = 0; p < d.length; p++) {
+ var m = d[p],
+ g = m._private;
+ n && (g.duration = 0);
+ }
+ r && (f.animation.queue = []), n || (f.animation.current = []);
+ }
+ return l.notify('draw'), this;
+ }, 'stopImpl');
+ }, 'stop')
+ }),
+ (Sqe = Array.isArray),
+ (G6 = Sqe),
+ (Aqe = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/),
+ (_qe = /^\w*$/);
+ o(Lqe, 'isKey');
+ (Dqe = Lqe),
+ (Rqe = '[object AsyncFunction]'),
+ (Nqe = '[object Function]'),
+ (Mqe = '[object GeneratorFunction]'),
+ (Iqe = '[object Proxy]');
+ o(Oqe, 'isFunction');
+ (Pqe = Oqe),
+ (Bqe = O6['__core-js_shared__']),
+ (EP = Bqe),
+ (N0e = (function () {
+ var t = /[^.]+$/.exec((EP && EP.keys && EP.keys.IE_PROTO) || '');
+ return t ? 'Symbol(src)_1.' + t : '';
+ })());
+ o(Fqe, 'isMasked');
+ (zqe = Fqe), (Gqe = Function.prototype), ($qe = Gqe.toString);
+ o(Vqe, 'toSource');
+ (Uqe = Vqe),
+ (Hqe = /[\\^$.*+?()[\]{}|]/g),
+ (Yqe = /^\[object .+?Constructor\]$/),
+ (Wqe = Function.prototype),
+ (qqe = Object.prototype),
+ (Xqe = Wqe.toString),
+ (jqe = qqe.hasOwnProperty),
+ (Kqe = RegExp(
+ '^' +
+ Xqe.call(jqe)
+ .replace(Hqe, '\\$&')
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') +
+ '$'
+ ));
+ o(Qqe, 'baseIsNative');
+ Zqe = Qqe;
+ o(Jqe, 'getValue$1');
+ eXe = Jqe;
+ o(tXe, 'getNative');
+ (aB = tXe), (rXe = aB(Object, 'create')), (Wx = rXe);
+ o(nXe, 'hashClear');
+ iXe = nXe;
+ o(aXe, 'hashDelete');
+ (sXe = aXe), (oXe = '__lodash_hash_undefined__'), (lXe = Object.prototype), (cXe = lXe.hasOwnProperty);
+ o(uXe, 'hashGet');
+ (hXe = uXe), (fXe = Object.prototype), (dXe = fXe.hasOwnProperty);
+ o(pXe, 'hashHas');
+ (mXe = pXe), (gXe = '__lodash_hash_undefined__');
+ o(yXe, 'hashSet');
+ vXe = yXe;
+ o(h1, 'Hash');
+ h1.prototype.clear = iXe;
+ h1.prototype.delete = sXe;
+ h1.prototype.get = hXe;
+ h1.prototype.has = mXe;
+ h1.prototype.set = vXe;
+ M0e = h1;
+ o(xXe, 'listCacheClear');
+ bXe = xXe;
+ o(wXe, 'eq');
+ rme = wXe;
+ o(TXe, 'assocIndexOf');
+ ($6 = TXe), (kXe = Array.prototype), (EXe = kXe.splice);
+ o(CXe, 'listCacheDelete');
+ SXe = CXe;
+ o(AXe, 'listCacheGet');
+ _Xe = AXe;
+ o(LXe, 'listCacheHas');
+ DXe = LXe;
+ o(RXe, 'listCacheSet');
+ NXe = RXe;
+ o(f1, 'ListCache');
+ f1.prototype.clear = bXe;
+ f1.prototype.delete = SXe;
+ f1.prototype.get = _Xe;
+ f1.prototype.has = DXe;
+ f1.prototype.set = NXe;
+ (MXe = f1), (IXe = aB(O6, 'Map')), (OXe = IXe);
+ o(PXe, 'mapCacheClear');
+ BXe = PXe;
+ o(FXe, 'isKeyable');
+ zXe = FXe;
+ o(GXe, 'getMapData');
+ V6 = GXe;
+ o($Xe, 'mapCacheDelete');
+ VXe = $Xe;
+ o(UXe, 'mapCacheGet');
+ HXe = UXe;
+ o(YXe, 'mapCacheHas');
+ WXe = YXe;
+ o(qXe, 'mapCacheSet');
+ XXe = qXe;
+ o(d1, 'MapCache');
+ d1.prototype.clear = BXe;
+ d1.prototype.delete = VXe;
+ d1.prototype.get = HXe;
+ d1.prototype.has = WXe;
+ d1.prototype.set = XXe;
+ (nme = d1), (jXe = 'Expected a function');
+ o(sB, 'memoize');
+ sB.Cache = nme;
+ (KXe = sB), (QXe = 500);
+ o(ZXe, 'memoizeCapped');
+ (JXe = ZXe),
+ (eje =
+ /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g),
+ (tje = /\\(\\)?/g),
+ (rje = JXe(function (t) {
+ var e = [];
+ return (
+ t.charCodeAt(0) === 46 && e.push(''),
+ t.replace(eje, function (r, n, i, a) {
+ e.push(i ? a.replace(tje, '$1') : n || r);
+ }),
+ e
+ );
+ })),
+ (ime = rje);
+ o(nje, 'arrayMap');
+ (ame = nje), (ije = 1 / 0), (I0e = a1 ? a1.prototype : void 0), (O0e = I0e ? I0e.toString : void 0);
+ o(sme, 'baseToString');
+ aje = sme;
+ o(sje, 'toString$1');
+ ome = sje;
+ o(oje, 'castPath');
+ (lme = oje), (lje = 1 / 0);
+ o(cje, 'toKey');
+ oB = cje;
+ o(uje, 'baseGet');
+ hje = uje;
+ o(fje, 'get');
+ (dje = fje),
+ (pje = (function () {
+ try {
+ var t = aB(Object, 'defineProperty');
+ return t({}, '', {}), t;
+ } catch {}
+ })()),
+ (P0e = pje);
+ o(mje, 'baseAssignValue');
+ (gje = mje), (yje = Object.prototype), (vje = yje.hasOwnProperty);
+ o(xje, 'assignValue');
+ (bje = xje), (wje = 9007199254740991), (Tje = /^(?:0|[1-9]\d*)$/);
+ o(kje, 'isIndex');
+ Eje = kje;
+ o(Cje, 'baseSet');
+ Sje = Cje;
+ o(Aje, 'set');
+ _je = Aje;
+ o(Lje, 'copyArray');
+ Dje = Lje;
+ o(Rje, 'toPath');
+ (Nje = Rje),
+ (Mje = {
+ data: o(function (e) {
+ var r = {
+ field: 'data',
+ bindingEvent: 'data',
+ allowBinding: !1,
+ allowSetting: !1,
+ allowGetting: !1,
+ settingEvent: 'data',
+ settingTriggersEvent: !1,
+ triggerFnName: 'trigger',
+ immutableKeys: {},
+ updateStyle: !1,
+ beforeGet: o(function (i) {}, 'beforeGet'),
+ beforeSet: o(function (i, a) {}, 'beforeSet'),
+ onSet: o(function (i) {}, 'onSet'),
+ canSet: o(function (i) {
+ return !0;
+ }, 'canSet')
+ };
+ return (
+ (e = Wt({}, r, e)),
+ o(function (i, a) {
+ var s = e,
+ l = this,
+ u = l.length !== void 0,
+ h = u ? l : [l],
+ f = u ? l[0] : l;
+ if (zt(i)) {
+ var d = i.indexOf('.') !== -1,
+ p = d && Nje(i);
+ if (s.allowGetting && a === void 0) {
+ var m;
+ return (
+ f &&
+ (s.beforeGet(f),
+ p && f._private[s.field][i] === void 0
+ ? (m = dje(f._private[s.field], p))
+ : (m = f._private[s.field][i])),
+ m
+ );
+ } else if (s.allowSetting && a !== void 0) {
+ var g = !s.immutableKeys[i];
+ if (g) {
+ var y = bpe({}, i, a);
+ s.beforeSet(l, y);
+ for (var v = 0, x = h.length; v < x; v++) {
+ var b = h[v];
+ s.canSet(b) &&
+ (p && f._private[s.field][i] === void 0
+ ? _je(b._private[s.field], p, a)
+ : (b._private[s.field][i] = a));
+ }
+ s.updateStyle && l.updateStyle(),
+ s.onSet(l),
+ s.settingTriggersEvent && l[s.triggerFnName](s.settingEvent);
+ }
+ }
+ } else if (s.allowSetting && Mr(i)) {
+ var w = i,
+ S,
+ T,
+ E = Object.keys(w);
+ s.beforeSet(l, w);
+ for (var _ = 0; _ < E.length; _++) {
+ (S = E[_]), (T = w[S]);
+ var A = !s.immutableKeys[S];
+ if (A)
+ for (var L = 0; L < h.length; L++) {
+ var M = h[L];
+ s.canSet(M) && (M._private[s.field][S] = T);
+ }
+ }
+ s.updateStyle && l.updateStyle(),
+ s.onSet(l),
+ s.settingTriggersEvent && l[s.triggerFnName](s.settingEvent);
+ } else if (s.allowBinding && jn(i)) {
+ var N = i;
+ l.on(s.bindingEvent, N);
+ } else if (s.allowGetting && i === void 0) {
+ var k;
+ return f && (s.beforeGet(f), (k = f._private[s.field])), k;
+ }
+ return l;
+ }, 'dataImpl')
+ );
+ }, 'data'),
+ removeData: o(function (e) {
+ var r = {
+ field: 'data',
+ event: 'data',
+ triggerFnName: 'trigger',
+ triggerEvent: !1,
+ immutableKeys: {}
+ };
+ return (
+ (e = Wt({}, r, e)),
+ o(function (i) {
+ var a = e,
+ s = this,
+ l = s.length !== void 0,
+ u = l ? s : [s];
+ if (zt(i)) {
+ for (var h = i.split(/\s+/), f = h.length, d = 0; d < f; d++) {
+ var p = h[d];
+ if (!Sf(p)) {
+ var m = !a.immutableKeys[p];
+ if (m)
+ for (var g = 0, y = u.length; g < y; g++)
+ u[g]._private[a.field][p] = void 0;
+ }
+ }
+ a.triggerEvent && s[a.triggerFnName](a.event);
+ } else if (i === void 0) {
+ for (var v = 0, x = u.length; v < x; v++)
+ for (
+ var b = u[v]._private[a.field], w = Object.keys(b), S = 0;
+ S < w.length;
+ S++
+ ) {
+ var T = w[S],
+ E = !a.immutableKeys[T];
+ E && (b[T] = void 0);
+ }
+ a.triggerEvent && s[a.triggerFnName](a.event);
+ }
+ return s;
+ }, 'removeDataImpl')
+ );
+ }, 'removeData')
+ }),
+ (Ije = {
+ eventAliasesOn: o(function (e) {
+ var r = e;
+ (r.addListener = r.listen = r.bind = r.on),
+ (r.unlisten = r.unbind = r.off = r.removeListener),
+ (r.trigger = r.emit),
+ (r.pon = r.promiseOn =
+ function (n, i) {
+ var a = this,
+ s = Array.prototype.slice.call(arguments, 0);
+ return new u1(function (l, u) {
+ var h = o(function (m) {
+ a.off.apply(a, d), l(m);
+ }, 'callback'),
+ f = s.concat([h]),
+ d = f.concat([]);
+ a.on.apply(a, f);
+ });
+ });
+ }, 'eventAliasesOn')
+ }),
+ (en = {});
+ [Cqe, Mje, Ije].forEach(function (t) {
+ Wt(en, t);
+ });
+ (Oje = {
+ animate: en.animate(),
+ animation: en.animation(),
+ animated: en.animated(),
+ clearQueue: en.clearQueue(),
+ delay: en.delay(),
+ delayAnimation: en.delayAnimation(),
+ stop: en.stop()
+ }),
+ (g6 = {
+ classes: o(function (e) {
+ var r = this;
+ if (e === void 0) {
+ var n = [];
+ return (
+ r[0]._private.classes.forEach(function (g) {
+ return n.push(g);
+ }),
+ n
+ );
+ } else vn(e) || (e = (e || '').match(/\S+/g) || []);
+ for (var i = [], a = new c1(e), s = 0; s < r.length; s++) {
+ for (var l = r[s], u = l._private, h = u.classes, f = !1, d = 0; d < e.length; d++) {
+ var p = e[d],
+ m = h.has(p);
+ if (!m) {
+ f = !0;
+ break;
+ }
+ }
+ f || (f = h.size !== e.length), f && ((u.classes = a), i.push(l));
+ }
+ return i.length > 0 && this.spawn(i).updateStyle().emit('class'), r;
+ }, 'classes'),
+ addClass: o(function (e) {
+ return this.toggleClass(e, !0);
+ }, 'addClass'),
+ hasClass: o(function (e) {
+ var r = this[0];
+ return r != null && r._private.classes.has(e);
+ }, 'hasClass'),
+ toggleClass: o(function (e, r) {
+ vn(e) || (e = e.match(/\S+/g) || []);
+ for (var n = this, i = r === void 0, a = [], s = 0, l = n.length; s < l; s++)
+ for (var u = n[s], h = u._private.classes, f = !1, d = 0; d < e.length; d++) {
+ var p = e[d],
+ m = h.has(p),
+ g = !1;
+ r || (i && !m) ? (h.add(p), (g = !0)) : (!r || (i && m)) && (h.delete(p), (g = !0)),
+ !f && g && (a.push(u), (f = !0));
+ }
+ return a.length > 0 && this.spawn(a).updateStyle().emit('class'), n;
+ }, 'toggleClass'),
+ removeClass: o(function (e) {
+ return this.toggleClass(e, !1);
+ }, 'removeClass'),
+ flashClass: o(function (e, r) {
+ var n = this;
+ if (r == null) r = 250;
+ else if (r === 0) return n;
+ return (
+ n.addClass(e),
+ setTimeout(function () {
+ n.removeClass(e);
+ }, r),
+ n
+ );
+ }, 'flashClass')
+ });
+ g6.className = g6.classNames = g6.classes;
+ Nr = {
+ metaChar: '[\\!\\"\\#\\$\\%\\&\\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]',
+ comparatorOp: '=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=',
+ boolOp: '\\?|\\!|\\^',
+ string: `"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,
+ number: Ui,
+ meta: 'degree|indegree|outdegree',
+ separator: '\\s*,\\s*',
+ descendant: '\\s+',
+ child: '\\s+>\\s+',
+ subject: '\\$',
+ group: 'node|edge|\\*',
+ directedEdge: '\\s+->\\s+',
+ undirectedEdge: '\\s+<->\\s+'
+ };
+ Nr.variable = '(?:[\\w-.]|(?:\\\\' + Nr.metaChar + '))+';
+ Nr.className = '(?:[\\w-]|(?:\\\\' + Nr.metaChar + '))+';
+ Nr.value = Nr.string + '|' + Nr.number;
+ Nr.id = Nr.variable;
+ (function () {
+ var t, e, r;
+ for (t = Nr.comparatorOp.split('|'), r = 0; r < t.length; r++)
+ (e = t[r]), (Nr.comparatorOp += '|@' + e);
+ for (t = Nr.comparatorOp.split('|'), r = 0; r < t.length; r++)
+ (e = t[r]), !(e.indexOf('!') >= 0) && e !== '=' && (Nr.comparatorOp += '|\\!' + e);
+ })();
+ (un = o(function () {
+ return { checks: [] };
+ }, 'newQuery')),
+ (Ct = {
+ GROUP: 0,
+ COLLECTION: 1,
+ FILTER: 2,
+ DATA_COMPARE: 3,
+ DATA_EXIST: 4,
+ DATA_BOOL: 5,
+ META_COMPARE: 6,
+ STATE: 7,
+ ID: 8,
+ CLASS: 9,
+ UNDIRECTED_EDGE: 10,
+ DIRECTED_EDGE: 11,
+ NODE_SOURCE: 12,
+ NODE_TARGET: 13,
+ NODE_NEIGHBOR: 14,
+ CHILD: 15,
+ DESCENDANT: 16,
+ PARENT: 17,
+ ANCESTOR: 18,
+ COMPOUND_SPLIT: 19,
+ TRUE: 20
+ }),
+ (PP = [
+ {
+ selector: ':selected',
+ matches: o(function (e) {
+ return e.selected();
+ }, 'matches')
+ },
+ {
+ selector: ':unselected',
+ matches: o(function (e) {
+ return !e.selected();
+ }, 'matches')
+ },
+ {
+ selector: ':selectable',
+ matches: o(function (e) {
+ return e.selectable();
+ }, 'matches')
+ },
+ {
+ selector: ':unselectable',
+ matches: o(function (e) {
+ return !e.selectable();
+ }, 'matches')
+ },
+ {
+ selector: ':locked',
+ matches: o(function (e) {
+ return e.locked();
+ }, 'matches')
+ },
+ {
+ selector: ':unlocked',
+ matches: o(function (e) {
+ return !e.locked();
+ }, 'matches')
+ },
+ {
+ selector: ':visible',
+ matches: o(function (e) {
+ return e.visible();
+ }, 'matches')
+ },
+ {
+ selector: ':hidden',
+ matches: o(function (e) {
+ return !e.visible();
+ }, 'matches')
+ },
+ {
+ selector: ':transparent',
+ matches: o(function (e) {
+ return e.transparent();
+ }, 'matches')
+ },
+ {
+ selector: ':grabbed',
+ matches: o(function (e) {
+ return e.grabbed();
+ }, 'matches')
+ },
+ {
+ selector: ':free',
+ matches: o(function (e) {
+ return !e.grabbed();
+ }, 'matches')
+ },
+ {
+ selector: ':removed',
+ matches: o(function (e) {
+ return e.removed();
+ }, 'matches')
+ },
+ {
+ selector: ':inside',
+ matches: o(function (e) {
+ return !e.removed();
+ }, 'matches')
+ },
+ {
+ selector: ':grabbable',
+ matches: o(function (e) {
+ return e.grabbable();
+ }, 'matches')
+ },
+ {
+ selector: ':ungrabbable',
+ matches: o(function (e) {
+ return !e.grabbable();
+ }, 'matches')
+ },
+ {
+ selector: ':animated',
+ matches: o(function (e) {
+ return e.animated();
+ }, 'matches')
+ },
+ {
+ selector: ':unanimated',
+ matches: o(function (e) {
+ return !e.animated();
+ }, 'matches')
+ },
+ {
+ selector: ':parent',
+ matches: o(function (e) {
+ return e.isParent();
+ }, 'matches')
+ },
+ {
+ selector: ':childless',
+ matches: o(function (e) {
+ return e.isChildless();
+ }, 'matches')
+ },
+ {
+ selector: ':child',
+ matches: o(function (e) {
+ return e.isChild();
+ }, 'matches')
+ },
+ {
+ selector: ':orphan',
+ matches: o(function (e) {
+ return e.isOrphan();
+ }, 'matches')
+ },
+ {
+ selector: ':nonorphan',
+ matches: o(function (e) {
+ return e.isChild();
+ }, 'matches')
+ },
+ {
+ selector: ':compound',
+ matches: o(function (e) {
+ return e.isNode() ? e.isParent() : e.source().isParent() || e.target().isParent();
+ }, 'matches')
+ },
+ {
+ selector: ':loop',
+ matches: o(function (e) {
+ return e.isLoop();
+ }, 'matches')
+ },
+ {
+ selector: ':simple',
+ matches: o(function (e) {
+ return e.isSimple();
+ }, 'matches')
+ },
+ {
+ selector: ':active',
+ matches: o(function (e) {
+ return e.active();
+ }, 'matches')
+ },
+ {
+ selector: ':inactive',
+ matches: o(function (e) {
+ return !e.active();
+ }, 'matches')
+ },
+ {
+ selector: ':backgrounding',
+ matches: o(function (e) {
+ return e.backgrounding();
+ }, 'matches')
+ },
+ {
+ selector: ':nonbackgrounding',
+ matches: o(function (e) {
+ return !e.backgrounding();
+ }, 'matches')
+ }
+ ].sort(function (t, e) {
+ return qHe(t.selector, e.selector);
+ })),
+ (Pje = (function () {
+ for (var t = {}, e, r = 0; r < PP.length; r++) (e = PP[r]), (t[e.selector] = e.matches);
+ return t;
+ })()),
+ (Bje = o(function (e, r) {
+ return Pje[e](r);
+ }, 'stateSelectorMatches')),
+ (Fje =
+ '(' +
+ PP.map(function (t) {
+ return t.selector;
+ }).join('|') +
+ ')'),
+ (qg = o(function (e) {
+ return e.replace(new RegExp('\\\\(' + Nr.metaChar + ')', 'g'), function (r, n) {
+ return n;
+ });
+ }, 'cleanMetaChars')),
+ (wf = o(function (e, r, n) {
+ e[e.length - 1] = n;
+ }, 'replaceLastQuery')),
+ (BP = [
+ {
+ name: 'group',
+ query: !0,
+ regex: '(' + Nr.group + ')',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 1),
+ a = i[0];
+ r.checks.push({ type: Ct.GROUP, value: a === '*' ? a : a + 's' });
+ }, 'populate')
+ },
+ {
+ name: 'state',
+ query: !0,
+ regex: Fje,
+ populate: o(function (e, r, n) {
+ var i = $l(n, 1),
+ a = i[0];
+ r.checks.push({ type: Ct.STATE, value: a });
+ }, 'populate')
+ },
+ {
+ name: 'id',
+ query: !0,
+ regex: '\\#(' + Nr.id + ')',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 1),
+ a = i[0];
+ r.checks.push({ type: Ct.ID, value: qg(a) });
+ }, 'populate')
+ },
+ {
+ name: 'className',
+ query: !0,
+ regex: '\\.(' + Nr.className + ')',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 1),
+ a = i[0];
+ r.checks.push({ type: Ct.CLASS, value: qg(a) });
+ }, 'populate')
+ },
+ {
+ name: 'dataExists',
+ query: !0,
+ regex: '\\[\\s*(' + Nr.variable + ')\\s*\\]',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 1),
+ a = i[0];
+ r.checks.push({ type: Ct.DATA_EXIST, field: qg(a) });
+ }, 'populate')
+ },
+ {
+ name: 'dataCompare',
+ query: !0,
+ regex: '\\[\\s*(' + Nr.variable + ')\\s*(' + Nr.comparatorOp + ')\\s*(' + Nr.value + ')\\s*\\]',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 3),
+ a = i[0],
+ s = i[1],
+ l = i[2],
+ u = new RegExp('^' + Nr.string + '$').exec(l) != null;
+ u ? (l = l.substring(1, l.length - 1)) : (l = parseFloat(l)),
+ r.checks.push({
+ type: Ct.DATA_COMPARE,
+ field: qg(a),
+ operator: s,
+ value: l
+ });
+ }, 'populate')
+ },
+ {
+ name: 'dataBool',
+ query: !0,
+ regex: '\\[\\s*(' + Nr.boolOp + ')\\s*(' + Nr.variable + ')\\s*\\]',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 2),
+ a = i[0],
+ s = i[1];
+ r.checks.push({ type: Ct.DATA_BOOL, field: qg(s), operator: a });
+ }, 'populate')
+ },
+ {
+ name: 'metaCompare',
+ query: !0,
+ regex:
+ '\\[\\[\\s*(' + Nr.meta + ')\\s*(' + Nr.comparatorOp + ')\\s*(' + Nr.number + ')\\s*\\]\\]',
+ populate: o(function (e, r, n) {
+ var i = $l(n, 3),
+ a = i[0],
+ s = i[1],
+ l = i[2];
+ r.checks.push({
+ type: Ct.META_COMPARE,
+ field: qg(a),
+ operator: s,
+ value: parseFloat(l)
+ });
+ }, 'populate')
+ },
+ {
+ name: 'nextQuery',
+ separator: !0,
+ regex: Nr.separator,
+ populate: o(function (e, r) {
+ var n = e.currentSubject,
+ i = e.edgeCount,
+ a = e.compoundCount,
+ s = e[e.length - 1];
+ n != null && ((s.subject = n), (e.currentSubject = null)),
+ (s.edgeCount = i),
+ (s.compoundCount = a),
+ (e.edgeCount = 0),
+ (e.compoundCount = 0);
+ var l = (e[e.length++] = un());
+ return l;
+ }, 'populate')
+ },
+ {
+ name: 'directedEdge',
+ separator: !0,
+ regex: Nr.directedEdge,
+ populate: o(function (e, r) {
+ if (e.currentSubject == null) {
+ var n = un(),
+ i = r,
+ a = un();
+ return (
+ n.checks.push({
+ type: Ct.DIRECTED_EDGE,
+ source: i,
+ target: a
+ }),
+ wf(e, r, n),
+ e.edgeCount++,
+ a
+ );
+ } else {
+ var s = un(),
+ l = r,
+ u = un();
+ return (
+ s.checks.push({ type: Ct.NODE_SOURCE, source: l, target: u }),
+ wf(e, r, s),
+ e.edgeCount++,
+ u
+ );
+ }
+ }, 'populate')
+ },
+ {
+ name: 'undirectedEdge',
+ separator: !0,
+ regex: Nr.undirectedEdge,
+ populate: o(function (e, r) {
+ if (e.currentSubject == null) {
+ var n = un(),
+ i = r,
+ a = un();
+ return (
+ n.checks.push({ type: Ct.UNDIRECTED_EDGE, nodes: [i, a] }),
+ wf(e, r, n),
+ e.edgeCount++,
+ a
+ );
+ } else {
+ var s = un(),
+ l = r,
+ u = un();
+ return (
+ s.checks.push({
+ type: Ct.NODE_NEIGHBOR,
+ node: l,
+ neighbor: u
+ }),
+ wf(e, r, s),
+ u
+ );
+ }
+ }, 'populate')
+ },
+ {
+ name: 'child',
+ separator: !0,
+ regex: Nr.child,
+ populate: o(function (e, r) {
+ if (e.currentSubject == null) {
+ var n = un(),
+ i = un(),
+ a = e[e.length - 1];
+ return (
+ n.checks.push({ type: Ct.CHILD, parent: a, child: i }),
+ wf(e, r, n),
+ e.compoundCount++,
+ i
+ );
+ } else if (e.currentSubject === r) {
+ var s = un(),
+ l = e[e.length - 1],
+ u = un(),
+ h = un(),
+ f = un(),
+ d = un();
+ return (
+ s.checks.push({
+ type: Ct.COMPOUND_SPLIT,
+ left: l,
+ right: u,
+ subject: h
+ }),
+ (h.checks = r.checks),
+ (r.checks = [{ type: Ct.TRUE }]),
+ d.checks.push({ type: Ct.TRUE }),
+ u.checks.push({ type: Ct.PARENT, parent: d, child: f }),
+ wf(e, l, s),
+ (e.currentSubject = h),
+ e.compoundCount++,
+ f
+ );
+ } else {
+ var p = un(),
+ m = un(),
+ g = [{ type: Ct.PARENT, parent: p, child: m }];
+ return (p.checks = r.checks), (r.checks = g), e.compoundCount++, m;
+ }
+ }, 'populate')
+ },
+ {
+ name: 'descendant',
+ separator: !0,
+ regex: Nr.descendant,
+ populate: o(function (e, r) {
+ if (e.currentSubject == null) {
+ var n = un(),
+ i = un(),
+ a = e[e.length - 1];
+ return (
+ n.checks.push({
+ type: Ct.DESCENDANT,
+ ancestor: a,
+ descendant: i
+ }),
+ wf(e, r, n),
+ e.compoundCount++,
+ i
+ );
+ } else if (e.currentSubject === r) {
+ var s = un(),
+ l = e[e.length - 1],
+ u = un(),
+ h = un(),
+ f = un(),
+ d = un();
+ return (
+ s.checks.push({
+ type: Ct.COMPOUND_SPLIT,
+ left: l,
+ right: u,
+ subject: h
+ }),
+ (h.checks = r.checks),
+ (r.checks = [{ type: Ct.TRUE }]),
+ d.checks.push({ type: Ct.TRUE }),
+ u.checks.push({
+ type: Ct.ANCESTOR,
+ ancestor: d,
+ descendant: f
+ }),
+ wf(e, l, s),
+ (e.currentSubject = h),
+ e.compoundCount++,
+ f
+ );
+ } else {
+ var p = un(),
+ m = un(),
+ g = [{ type: Ct.ANCESTOR, ancestor: p, descendant: m }];
+ return (p.checks = r.checks), (r.checks = g), e.compoundCount++, m;
+ }
+ }, 'populate')
+ },
+ {
+ name: 'subject',
+ modifier: !0,
+ regex: Nr.subject,
+ populate: o(function (e, r) {
+ if (e.currentSubject != null && e.currentSubject !== r)
+ return tn('Redefinition of subject in selector `' + e.toString() + '`'), !1;
+ e.currentSubject = r;
+ var n = e[e.length - 1],
+ i = n.checks[0],
+ a = i == null ? null : i.type;
+ a === Ct.DIRECTED_EDGE
+ ? (i.type = Ct.NODE_TARGET)
+ : a === Ct.UNDIRECTED_EDGE &&
+ ((i.type = Ct.NODE_NEIGHBOR),
+ (i.node = i.nodes[1]),
+ (i.neighbor = i.nodes[0]),
+ (i.nodes = null));
+ }, 'populate')
+ }
+ ]);
+ BP.forEach(function (t) {
+ return (t.regexObj = new RegExp('^' + t.regex));
+ });
+ (zje = o(function (e) {
+ for (var r, n, i, a = 0; a < BP.length; a++) {
+ var s = BP[a],
+ l = s.name,
+ u = e.match(s.regexObj);
+ if (u != null) {
+ (n = u), (r = s), (i = l);
+ var h = u[0];
+ e = e.substring(h.length);
+ break;
+ }
+ }
+ return { expr: r, match: n, name: i, remaining: e };
+ }, 'consumeExpr')),
+ (Gje = o(function (e) {
+ var r = e.match(/^\s+/);
+ if (r) {
+ var n = r[0];
+ e = e.substring(n.length);
+ }
+ return e;
+ }, 'consumeWhitespace')),
+ ($je = o(function (e) {
+ var r = this,
+ n = (r.inputText = e),
+ i = (r[0] = un());
+ for (r.length = 1, n = Gje(n); ; ) {
+ var a = zje(n);
+ if (a.expr == null) return tn('The selector `' + e + '`is invalid'), !1;
+ var s = a.match.slice(1),
+ l = a.expr.populate(r, i, s);
+ if (l === !1) return !1;
+ if ((l != null && (i = l), (n = a.remaining), n.match(/^\s*$/))) break;
+ }
+ var u = r[r.length - 1];
+ r.currentSubject != null && (u.subject = r.currentSubject),
+ (u.edgeCount = r.edgeCount),
+ (u.compoundCount = r.compoundCount);
+ for (var h = 0; h < r.length; h++) {
+ var f = r[h];
+ if (f.compoundCount > 0 && f.edgeCount > 0)
+ return (
+ tn(
+ 'The selector `' +
+ e +
+ '` is invalid because it uses both a compound selector and an edge selector'
+ ),
+ !1
+ );
+ if (f.edgeCount > 1)
+ return (
+ tn('The selector `' + e + '` is invalid because it uses multiple edge selectors'), !1
+ );
+ f.edgeCount === 1 &&
+ tn(
+ 'The selector `' +
+ e +
+ '` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.'
+ );
+ }
+ return !0;
+ }, 'parse')),
+ (Vje = o(function () {
+ if (this.toStringCache != null) return this.toStringCache;
+ for (
+ var e = o(function (f) {
+ return f ?? '';
+ }, 'clean'),
+ r = o(function (f) {
+ return zt(f) ? '"' + f + '"' : e(f);
+ }, 'cleanVal'),
+ n = o(function (f) {
+ return ' ' + f + ' ';
+ }, 'space'),
+ i = o(function (f, d) {
+ var p = f.type,
+ m = f.value;
+ switch (p) {
+ case Ct.GROUP: {
+ var g = e(m);
+ return g.substring(0, g.length - 1);
+ }
+ case Ct.DATA_COMPARE: {
+ var y = f.field,
+ v = f.operator;
+ return '[' + y + n(e(v)) + r(m) + ']';
+ }
+ case Ct.DATA_BOOL: {
+ var x = f.operator,
+ b = f.field;
+ return '[' + e(x) + b + ']';
+ }
+ case Ct.DATA_EXIST: {
+ var w = f.field;
+ return '[' + w + ']';
+ }
+ case Ct.META_COMPARE: {
+ var S = f.operator,
+ T = f.field;
+ return '[[' + T + n(e(S)) + r(m) + ']]';
+ }
+ case Ct.STATE:
+ return m;
+ case Ct.ID:
+ return '#' + m;
+ case Ct.CLASS:
+ return '.' + m;
+ case Ct.PARENT:
+ case Ct.CHILD:
+ return a(f.parent, d) + n('>') + a(f.child, d);
+ case Ct.ANCESTOR:
+ case Ct.DESCENDANT:
+ return a(f.ancestor, d) + ' ' + a(f.descendant, d);
+ case Ct.COMPOUND_SPLIT: {
+ var E = a(f.left, d),
+ _ = a(f.subject, d),
+ A = a(f.right, d);
+ return E + (E.length > 0 ? ' ' : '') + _ + A;
+ }
+ case Ct.TRUE:
+ return '';
+ }
+ }, 'checkToString'),
+ a = o(function (f, d) {
+ return f.checks.reduce(function (p, m, g) {
+ return p + (d === f && g === 0 ? '$' : '') + i(m, d);
+ }, '');
+ }, 'queryToString'),
+ s = '',
+ l = 0;
+ l < this.length;
+ l++
+ ) {
+ var u = this[l];
+ (s += a(u, u.subject)), this.length > 1 && l < this.length - 1 && (s += ', ');
+ }
+ return (this.toStringCache = s), s;
+ }, 'toString')),
+ (Uje = { parse: $je, toString: Vje }),
+ (cme = o(function (e, r, n) {
+ var i,
+ a = zt(e),
+ s = ft(e),
+ l = zt(n),
+ u,
+ h,
+ f = !1,
+ d = !1,
+ p = !1;
+ switch (
+ (r.indexOf('!') >= 0 && ((r = r.replace('!', '')), (d = !0)),
+ r.indexOf('@') >= 0 && ((r = r.replace('@', '')), (f = !0)),
+ (a || l || f) && ((u = !a && !s ? '' : '' + e), (h = '' + n)),
+ f && ((e = u = u.toLowerCase()), (n = h = h.toLowerCase())),
+ r)
+ ) {
+ case '*=':
+ i = u.indexOf(h) >= 0;
+ break;
+ case '$=':
+ i = u.indexOf(h, u.length - h.length) >= 0;
+ break;
+ case '^=':
+ i = u.indexOf(h) === 0;
+ break;
+ case '=':
+ i = e === n;
+ break;
+ case '>':
+ (p = !0), (i = e > n);
+ break;
+ case '>=':
+ (p = !0), (i = e >= n);
+ break;
+ case '<':
+ (p = !0), (i = e < n);
+ break;
+ case '<=':
+ (p = !0), (i = e <= n);
+ break;
+ default:
+ i = !1;
+ break;
+ }
+ return d && (e != null || !p) && (i = !i), i;
+ }, 'valCmp')),
+ (Hje = o(function (e, r) {
+ switch (r) {
+ case '?':
+ return !!e;
+ case '!':
+ return !e;
+ case '^':
+ return e === void 0;
+ }
+ }, 'boolCmp')),
+ (Yje = o(function (e) {
+ return e !== void 0;
+ }, 'existCmp')),
+ (lB = o(function (e, r) {
+ return e.data(r);
+ }, 'data')),
+ (Wje = o(function (e, r) {
+ return e[r]();
+ }, 'meta')),
+ (li = []),
+ (In = o(function (e, r) {
+ return e.checks.every(function (n) {
+ return li[n.type](n, r);
+ });
+ }, 'matches'));
+ li[Ct.GROUP] = function (t, e) {
+ var r = t.value;
+ return r === '*' || r === e.group();
+ };
+ li[Ct.STATE] = function (t, e) {
+ var r = t.value;
+ return Bje(r, e);
+ };
+ li[Ct.ID] = function (t, e) {
+ var r = t.value;
+ return e.id() === r;
+ };
+ li[Ct.CLASS] = function (t, e) {
+ var r = t.value;
+ return e.hasClass(r);
+ };
+ li[Ct.META_COMPARE] = function (t, e) {
+ var r = t.field,
+ n = t.operator,
+ i = t.value;
+ return cme(Wje(e, r), n, i);
+ };
+ li[Ct.DATA_COMPARE] = function (t, e) {
+ var r = t.field,
+ n = t.operator,
+ i = t.value;
+ return cme(lB(e, r), n, i);
+ };
+ li[Ct.DATA_BOOL] = function (t, e) {
+ var r = t.field,
+ n = t.operator;
+ return Hje(lB(e, r), n);
+ };
+ li[Ct.DATA_EXIST] = function (t, e) {
+ var r = t.field;
+ return t.operator, Yje(lB(e, r));
+ };
+ li[Ct.UNDIRECTED_EDGE] = function (t, e) {
+ var r = t.nodes[0],
+ n = t.nodes[1],
+ i = e.source(),
+ a = e.target();
+ return (In(r, i) && In(n, a)) || (In(n, i) && In(r, a));
+ };
+ li[Ct.NODE_NEIGHBOR] = function (t, e) {
+ return (
+ In(t.node, e) &&
+ e.neighborhood().some(function (r) {
+ return r.isNode() && In(t.neighbor, r);
+ })
+ );
+ };
+ li[Ct.DIRECTED_EDGE] = function (t, e) {
+ return In(t.source, e.source()) && In(t.target, e.target());
+ };
+ li[Ct.NODE_SOURCE] = function (t, e) {
+ return (
+ In(t.source, e) &&
+ e.outgoers().some(function (r) {
+ return r.isNode() && In(t.target, r);
+ })
+ );
+ };
+ li[Ct.NODE_TARGET] = function (t, e) {
+ return (
+ In(t.target, e) &&
+ e.incomers().some(function (r) {
+ return r.isNode() && In(t.source, r);
+ })
+ );
+ };
+ li[Ct.CHILD] = function (t, e) {
+ return In(t.child, e) && In(t.parent, e.parent());
+ };
+ li[Ct.PARENT] = function (t, e) {
+ return (
+ In(t.parent, e) &&
+ e.children().some(function (r) {
+ return In(t.child, r);
+ })
+ );
+ };
+ li[Ct.DESCENDANT] = function (t, e) {
+ return (
+ In(t.descendant, e) &&
+ e.ancestors().some(function (r) {
+ return In(t.ancestor, r);
+ })
+ );
+ };
+ li[Ct.ANCESTOR] = function (t, e) {
+ return (
+ In(t.ancestor, e) &&
+ e.descendants().some(function (r) {
+ return In(t.descendant, r);
+ })
+ );
+ };
+ li[Ct.COMPOUND_SPLIT] = function (t, e) {
+ return In(t.subject, e) && In(t.left, e) && In(t.right, e);
+ };
+ li[Ct.TRUE] = function () {
+ return !0;
+ };
+ li[Ct.COLLECTION] = function (t, e) {
+ var r = t.value;
+ return r.has(e);
+ };
+ li[Ct.FILTER] = function (t, e) {
+ var r = t.value;
+ return r(e);
+ };
+ (qje = o(function (e) {
+ var r = this;
+ if (r.length === 1 && r[0].checks.length === 1 && r[0].checks[0].type === Ct.ID)
+ return e.getElementById(r[0].checks[0].value).collection();
+ var n = o(function (a) {
+ for (var s = 0; s < r.length; s++) {
+ var l = r[s];
+ if (In(l, a)) return !0;
+ }
+ return !1;
+ }, 'selectorFunction');
+ return (
+ r.text() == null &&
+ (n = o(function () {
+ return !0;
+ }, 'selectorFunction')),
+ e.filter(n)
+ );
+ }, 'filter')),
+ (Xje = o(function (e) {
+ for (var r = this, n = 0; n < r.length; n++) {
+ var i = r[n];
+ if (In(i, e)) return !0;
+ }
+ return !1;
+ }, 'matches')),
+ (jje = { matches: Xje, filter: qje }),
+ (_f = o(function (e) {
+ (this.inputText = e),
+ (this.currentSubject = null),
+ (this.compoundCount = 0),
+ (this.edgeCount = 0),
+ (this.length = 0),
+ e == null ||
+ (zt(e) && e.match(/^\s*$/)) ||
+ (xo(e)
+ ? this.addQuery({
+ checks: [{ type: Ct.COLLECTION, value: e.collection() }]
+ })
+ : jn(e)
+ ? this.addQuery({ checks: [{ type: Ct.FILTER, value: e }] })
+ : zt(e)
+ ? this.parse(e) || (this.invalid = !0)
+ : oi('A selector must be created from a string; found '));
+ }, 'Selector')),
+ (Lf = _f.prototype);
+ [Uje, jje].forEach(function (t) {
+ return Wt(Lf, t);
+ });
+ Lf.text = function () {
+ return this.inputText;
+ };
+ Lf.size = function () {
+ return this.length;
+ };
+ Lf.eq = function (t) {
+ return this[t];
+ };
+ Lf.sameText = function (t) {
+ return !this.invalid && !t.invalid && this.text() === t.text();
+ };
+ Lf.addQuery = function (t) {
+ this[this.length++] = t;
+ };
+ Lf.selector = Lf.toString;
+ Ef = {
+ allAre: o(function (e) {
+ var r = new _f(e);
+ return this.every(function (n) {
+ return r.matches(n);
+ });
+ }, 'allAre'),
+ is: o(function (e) {
+ var r = new _f(e);
+ return this.some(function (n) {
+ return r.matches(n);
+ });
+ }, 'is'),
+ some: o(function (e, r) {
+ for (var n = 0; n < this.length; n++) {
+ var i = r ? e.apply(r, [this[n], n, this]) : e(this[n], n, this);
+ if (i) return !0;
+ }
+ return !1;
+ }, 'some'),
+ every: o(function (e, r) {
+ for (var n = 0; n < this.length; n++) {
+ var i = r ? e.apply(r, [this[n], n, this]) : e(this[n], n, this);
+ if (!i) return !1;
+ }
+ return !0;
+ }, 'every'),
+ same: o(function (e) {
+ if (this === e) return !0;
+ e = this.cy().collection(e);
+ var r = this.length,
+ n = e.length;
+ return r !== n
+ ? !1
+ : r === 1
+ ? this[0] === e[0]
+ : this.every(function (i) {
+ return e.hasElementWithId(i.id());
+ });
+ }, 'same'),
+ anySame: o(function (e) {
+ return (
+ (e = this.cy().collection(e)),
+ this.some(function (r) {
+ return e.hasElementWithId(r.id());
+ })
+ );
+ }, 'anySame'),
+ allAreNeighbors: o(function (e) {
+ e = this.cy().collection(e);
+ var r = this.neighborhood();
+ return e.every(function (n) {
+ return r.hasElementWithId(n.id());
+ });
+ }, 'allAreNeighbors'),
+ contains: o(function (e) {
+ e = this.cy().collection(e);
+ var r = this;
+ return e.every(function (n) {
+ return r.hasElementWithId(n.id());
+ });
+ }, 'contains')
+ };
+ Ef.allAreNeighbours = Ef.allAreNeighbors;
+ Ef.has = Ef.contains;
+ Ef.equal = Ef.equals = Ef.same;
+ (tl = o(function (e, r) {
+ return o(function (i, a, s, l) {
+ var u = i,
+ h = this,
+ f;
+ if ((u == null ? (f = '') : xo(u) && u.length === 1 && (f = u.id()), h.length === 1 && f)) {
+ var d = h[0]._private,
+ p = (d.traversalCache = d.traversalCache || {}),
+ m = (p[r] = p[r] || []),
+ g = U0(f),
+ y = m[g];
+ return y || (m[g] = e.call(h, i, a, s, l));
+ } else return e.call(h, i, a, s, l);
+ }, 'traversalCache');
+ }, 'cache')),
+ (l1 = {
+ parent: o(function (e) {
+ var r = [];
+ if (this.length === 1) {
+ var n = this[0]._private.parent;
+ if (n) return n;
+ }
+ for (var i = 0; i < this.length; i++) {
+ var a = this[i],
+ s = a._private.parent;
+ s && r.push(s);
+ }
+ return this.spawn(r, !0).filter(e);
+ }, 'parent'),
+ parents: o(function (e) {
+ for (var r = [], n = this.parent(); n.nonempty(); ) {
+ for (var i = 0; i < n.length; i++) {
+ var a = n[i];
+ r.push(a);
+ }
+ n = n.parent();
+ }
+ return this.spawn(r, !0).filter(e);
+ }, 'parents'),
+ commonAncestors: o(function (e) {
+ for (var r, n = 0; n < this.length; n++) {
+ var i = this[n],
+ a = i.parents();
+ (r = r || a), (r = r.intersect(a));
+ }
+ return r.filter(e);
+ }, 'commonAncestors'),
+ orphans: o(function (e) {
+ return this.stdFilter(function (r) {
+ return r.isOrphan();
+ }).filter(e);
+ }, 'orphans'),
+ nonorphans: o(function (e) {
+ return this.stdFilter(function (r) {
+ return r.isChild();
+ }).filter(e);
+ }, 'nonorphans'),
+ children: tl(function (t) {
+ for (var e = [], r = 0; r < this.length; r++)
+ for (var n = this[r], i = n._private.children, a = 0; a < i.length; a++) e.push(i[a]);
+ return this.spawn(e, !0).filter(t);
+ }, 'children'),
+ siblings: o(function (e) {
+ return this.parent().children().not(this).filter(e);
+ }, 'siblings'),
+ isParent: o(function () {
+ var e = this[0];
+ if (e) return e.isNode() && e._private.children.length !== 0;
+ }, 'isParent'),
+ isChildless: o(function () {
+ var e = this[0];
+ if (e) return e.isNode() && e._private.children.length === 0;
+ }, 'isChildless'),
+ isChild: o(function () {
+ var e = this[0];
+ if (e) return e.isNode() && e._private.parent != null;
+ }, 'isChild'),
+ isOrphan: o(function () {
+ var e = this[0];
+ if (e) return e.isNode() && e._private.parent == null;
+ }, 'isOrphan'),
+ descendants: o(function (e) {
+ var r = [];
+ function n(i) {
+ for (var a = 0; a < i.length; a++) {
+ var s = i[a];
+ r.push(s), s.children().nonempty() && n(s.children());
+ }
+ }
+ return o(n, 'add'), n(this.children()), this.spawn(r, !0).filter(e);
+ }, 'descendants')
+ });
+ o(cB, 'forEachCompound');
+ o(ume, 'addChildren');
+ l1.forEachDown = function (t) {
+ var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
+ return cB(this, t, e, ume);
+ };
+ o(hme, 'addParent');
+ l1.forEachUp = function (t) {
+ var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
+ return cB(this, t, e, hme);
+ };
+ o(Kje, 'addParentAndChildren');
+ l1.forEachUpAndDown = function (t) {
+ var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
+ return cB(this, t, e, Kje);
+ };
+ l1.ancestors = l1.parents;
+ qx = fme = {
+ data: en.data({
+ field: 'data',
+ bindingEvent: 'data',
+ allowBinding: !0,
+ allowSetting: !0,
+ settingEvent: 'data',
+ settingTriggersEvent: !0,
+ triggerFnName: 'trigger',
+ allowGetting: !0,
+ immutableKeys: { id: !0, source: !0, target: !0, parent: !0 },
+ updateStyle: !0
+ }),
+ removeData: en.removeData({
+ field: 'data',
+ event: 'data',
+ triggerFnName: 'trigger',
+ triggerEvent: !0,
+ immutableKeys: { id: !0, source: !0, target: !0, parent: !0 },
+ updateStyle: !0
+ }),
+ scratch: en.data({
+ field: 'scratch',
+ bindingEvent: 'scratch',
+ allowBinding: !0,
+ allowSetting: !0,
+ settingEvent: 'scratch',
+ settingTriggersEvent: !0,
+ triggerFnName: 'trigger',
+ allowGetting: !0,
+ updateStyle: !0
+ }),
+ removeScratch: en.removeData({
+ field: 'scratch',
+ event: 'scratch',
+ triggerFnName: 'trigger',
+ triggerEvent: !0,
+ updateStyle: !0
+ }),
+ rscratch: en.data({
+ field: 'rscratch',
+ allowBinding: !1,
+ allowSetting: !0,
+ settingTriggersEvent: !1,
+ allowGetting: !0
+ }),
+ removeRscratch: en.removeData({ field: 'rscratch', triggerEvent: !1 }),
+ id: o(function () {
+ var e = this[0];
+ if (e) return e._private.data.id;
+ }, 'id')
+ };
+ qx.attr = qx.data;
+ qx.removeAttr = qx.removeData;
+ (Qje = fme), (U6 = {});
+ o(CP, 'defineDegreeFunction');
+ Wt(U6, {
+ degree: CP(function (t, e) {
+ return e.source().same(e.target()) ? 2 : 1;
+ }),
+ indegree: CP(function (t, e) {
+ return e.target().same(t) ? 1 : 0;
+ }),
+ outdegree: CP(function (t, e) {
+ return e.source().same(t) ? 1 : 0;
+ })
+ });
+ o(Xg, 'defineDegreeBoundsFunction');
+ Wt(U6, {
+ minDegree: Xg('degree', function (t, e) {
+ return t < e;
+ }),
+ maxDegree: Xg('degree', function (t, e) {
+ return t > e;
+ }),
+ minIndegree: Xg('indegree', function (t, e) {
+ return t < e;
+ }),
+ maxIndegree: Xg('indegree', function (t, e) {
+ return t > e;
+ }),
+ minOutdegree: Xg('outdegree', function (t, e) {
+ return t < e;
+ }),
+ maxOutdegree: Xg('outdegree', function (t, e) {
+ return t > e;
+ })
+ });
+ Wt(U6, {
+ totalDegree: o(function (e) {
+ for (var r = 0, n = this.nodes(), i = 0; i < n.length; i++) r += n[i].degree(e);
+ return r;
+ }, 'totalDegree')
+ });
+ (pme = o(function (e, r, n) {
+ for (var i = 0; i < e.length; i++) {
+ var a = e[i];
+ if (!a.locked()) {
+ var s = a._private.position,
+ l = {
+ x: r.x != null ? r.x - s.x : 0,
+ y: r.y != null ? r.y - s.y : 0
+ };
+ a.isParent() && !(l.x === 0 && l.y === 0) && a.children().shift(l, n),
+ a.dirtyBoundingBoxCache();
+ }
+ }
+ }, 'beforePositionSet')),
+ (B0e = {
+ field: 'position',
+ bindingEvent: 'position',
+ allowBinding: !0,
+ allowSetting: !0,
+ settingEvent: 'position',
+ settingTriggersEvent: !0,
+ triggerFnName: 'emitAndNotify',
+ allowGetting: !0,
+ validKeys: ['x', 'y'],
+ beforeGet: o(function (e) {
+ e.updateCompoundBounds();
+ }, 'beforeGet'),
+ beforeSet: o(function (e, r) {
+ pme(e, r, !1);
+ }, 'beforeSet'),
+ onSet: o(function (e) {
+ e.dirtyCompoundBoundsCache();
+ }, 'onSet'),
+ canSet: o(function (e) {
+ return !e.locked();
+ }, 'canSet')
+ });
+ Hl = dme = {
+ position: en.data(B0e),
+ silentPosition: en.data(
+ Wt({}, B0e, {
+ allowBinding: !1,
+ allowSetting: !0,
+ settingTriggersEvent: !1,
+ allowGetting: !1,
+ beforeSet: o(function (e, r) {
+ pme(e, r, !0);
+ }, 'beforeSet'),
+ onSet: o(function (e) {
+ e.dirtyCompoundBoundsCache();
+ }, 'onSet')
+ })
+ ),
+ positions: o(function (e, r) {
+ if (Mr(e)) r ? this.silentPosition(e) : this.position(e);
+ else if (jn(e)) {
+ var n = e,
+ i = this.cy();
+ i.startBatch();
+ for (var a = 0; a < this.length; a++) {
+ var s = this[a],
+ l = void 0;
+ (l = n(s, a)) && (r ? s.silentPosition(l) : s.position(l));
+ }
+ i.endBatch();
+ }
+ return this;
+ }, 'positions'),
+ silentPositions: o(function (e) {
+ return this.positions(e, !0);
+ }, 'silentPositions'),
+ shift: o(function (e, r, n) {
+ var i;
+ if (
+ (Mr(e)
+ ? ((i = { x: ft(e.x) ? e.x : 0, y: ft(e.y) ? e.y : 0 }), (n = r))
+ : zt(e) && ft(r) && ((i = { x: 0, y: 0 }), (i[e] = r)),
+ i != null)
+ ) {
+ var a = this.cy();
+ a.startBatch();
+ for (var s = 0; s < this.length; s++) {
+ var l = this[s];
+ if (!(a.hasCompoundNodes() && l.isChild() && l.ancestors().anySame(this))) {
+ var u = l.position(),
+ h = { x: u.x + i.x, y: u.y + i.y };
+ n ? l.silentPosition(h) : l.position(h);
+ }
+ }
+ a.endBatch();
+ }
+ return this;
+ }, 'shift'),
+ silentShift: o(function (e, r) {
+ return Mr(e) ? this.shift(e, !0) : zt(e) && ft(r) && this.shift(e, r, !0), this;
+ }, 'silentShift'),
+ renderedPosition: o(function (e, r) {
+ var n = this[0],
+ i = this.cy(),
+ a = i.zoom(),
+ s = i.pan(),
+ l = Mr(e) ? e : void 0,
+ u = l !== void 0 || (r !== void 0 && zt(e));
+ if (n && n.isNode())
+ if (u)
+ for (var h = 0; h < this.length; h++) {
+ var f = this[h];
+ r !== void 0 ? f.position(e, (r - s[e]) / a) : l !== void 0 && f.position(Gpe(l, a, s));
+ }
+ else {
+ var d = n.position();
+ return (l = F6(d, a, s)), e === void 0 ? l : l[e];
+ }
+ else if (!u) return;
+ return this;
+ }, 'renderedPosition'),
+ relativePosition: o(function (e, r) {
+ var n = this[0],
+ i = this.cy(),
+ a = Mr(e) ? e : void 0,
+ s = a !== void 0 || (r !== void 0 && zt(e)),
+ l = i.hasCompoundNodes();
+ if (n && n.isNode())
+ if (s)
+ for (var u = 0; u < this.length; u++) {
+ var h = this[u],
+ f = l ? h.parent() : null,
+ d = f && f.length > 0,
+ p = d;
+ d && (f = f[0]);
+ var m = p ? f.position() : { x: 0, y: 0 };
+ r !== void 0
+ ? h.position(e, r + m[e])
+ : a !== void 0 && h.position({ x: a.x + m.x, y: a.y + m.y });
+ }
+ else {
+ var g = n.position(),
+ y = l ? n.parent() : null,
+ v = y && y.length > 0,
+ x = v;
+ v && (y = y[0]);
+ var b = x ? y.position() : { x: 0, y: 0 };
+ return (a = { x: g.x - b.x, y: g.y - b.y }), e === void 0 ? a : a[e];
+ }
+ else if (!s) return;
+ return this;
+ }, 'relativePosition')
+ };
+ Hl.modelPosition = Hl.point = Hl.position;
+ Hl.modelPositions = Hl.points = Hl.positions;
+ Hl.renderedPoint = Hl.renderedPosition;
+ Hl.relativePoint = Hl.relativePosition;
+ Zje = dme;
+ i1 = Rf = {};
+ Rf.renderedBoundingBox = function (t) {
+ var e = this.boundingBox(t),
+ r = this.cy(),
+ n = r.zoom(),
+ i = r.pan(),
+ a = e.x1 * n + i.x,
+ s = e.x2 * n + i.x,
+ l = e.y1 * n + i.y,
+ u = e.y2 * n + i.y;
+ return { x1: a, x2: s, y1: l, y2: u, w: s - a, h: u - l };
+ };
+ Rf.dirtyCompoundBoundsCache = function () {
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1,
+ e = this.cy();
+ return !e.styleEnabled() || !e.hasCompoundNodes()
+ ? this
+ : (this.forEachUp(function (r) {
+ if (r.isParent()) {
+ var n = r._private;
+ (n.compoundBoundsClean = !1), (n.bbCache = null), t || r.emitAndNotify('bounds');
+ }
+ }),
+ this);
+ };
+ Rf.updateCompoundBounds = function () {
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1,
+ e = this.cy();
+ if (!e.styleEnabled() || !e.hasCompoundNodes()) return this;
+ if (!t && e.batching()) return this;
+ function r(s) {
+ if (!s.isParent()) return;
+ var l = s._private,
+ u = s.children(),
+ h = s.pstyle('compound-sizing-wrt-labels').value === 'include',
+ f = {
+ width: {
+ val: s.pstyle('min-width').pfValue,
+ left: s.pstyle('min-width-bias-left'),
+ right: s.pstyle('min-width-bias-right')
+ },
+ height: {
+ val: s.pstyle('min-height').pfValue,
+ top: s.pstyle('min-height-bias-top'),
+ bottom: s.pstyle('min-height-bias-bottom')
+ }
+ },
+ d = u.boundingBox({
+ includeLabels: h,
+ includeOverlays: !1,
+ useCache: !1
+ }),
+ p = l.position;
+ (d.w === 0 || d.h === 0) &&
+ ((d = {
+ w: s.pstyle('width').pfValue,
+ h: s.pstyle('height').pfValue
+ }),
+ (d.x1 = p.x - d.w / 2),
+ (d.x2 = p.x + d.w / 2),
+ (d.y1 = p.y - d.h / 2),
+ (d.y2 = p.y + d.h / 2));
+ function m(L, M, N) {
+ var k = 0,
+ I = 0,
+ C = M + N;
+ return (
+ L > 0 && C > 0 && ((k = (M / C) * L), (I = (N / C) * L)),
+ { biasDiff: k, biasComplementDiff: I }
+ );
+ }
+ o(m, 'computeBiasValues');
+ function g(L, M, N, k) {
+ if (N.units === '%')
+ switch (k) {
+ case 'width':
+ return L > 0 ? N.pfValue * L : 0;
+ case 'height':
+ return M > 0 ? N.pfValue * M : 0;
+ case 'average':
+ return L > 0 && M > 0 ? (N.pfValue * (L + M)) / 2 : 0;
+ case 'min':
+ return L > 0 && M > 0 ? (L > M ? N.pfValue * M : N.pfValue * L) : 0;
+ case 'max':
+ return L > 0 && M > 0 ? (L > M ? N.pfValue * L : N.pfValue * M) : 0;
+ default:
+ return 0;
+ }
+ else return N.units === 'px' ? N.pfValue : 0;
+ }
+ o(g, 'computePaddingValues');
+ var y = f.width.left.value;
+ f.width.left.units === 'px' && f.width.val > 0 && (y = (y * 100) / f.width.val);
+ var v = f.width.right.value;
+ f.width.right.units === 'px' && f.width.val > 0 && (v = (v * 100) / f.width.val);
+ var x = f.height.top.value;
+ f.height.top.units === 'px' && f.height.val > 0 && (x = (x * 100) / f.height.val);
+ var b = f.height.bottom.value;
+ f.height.bottom.units === 'px' && f.height.val > 0 && (b = (b * 100) / f.height.val);
+ var w = m(f.width.val - d.w, y, v),
+ S = w.biasDiff,
+ T = w.biasComplementDiff,
+ E = m(f.height.val - d.h, x, b),
+ _ = E.biasDiff,
+ A = E.biasComplementDiff;
+ (l.autoPadding = g(d.w, d.h, s.pstyle('padding'), s.pstyle('padding-relative-to').value)),
+ (l.autoWidth = Math.max(d.w, f.width.val)),
+ (p.x = (-S + d.x1 + d.x2 + T) / 2),
+ (l.autoHeight = Math.max(d.h, f.height.val)),
+ (p.y = (-_ + d.y1 + d.y2 + A) / 2);
+ }
+ o(r, 'update');
+ for (var n = 0; n < this.length; n++) {
+ var i = this[n],
+ a = i._private;
+ (!a.compoundBoundsClean || t) && (r(i), e.batching() || (a.compoundBoundsClean = !0));
+ }
+ return this;
+ };
+ (el = o(function (e) {
+ return e === 1 / 0 || e === -1 / 0 ? 0 : e;
+ }, 'noninf')),
+ (Vl = o(function (e, r, n, i, a) {
+ i - r === 0 ||
+ a - n === 0 ||
+ r == null ||
+ n == null ||
+ i == null ||
+ a == null ||
+ ((e.x1 = r < e.x1 ? r : e.x1),
+ (e.x2 = i > e.x2 ? i : e.x2),
+ (e.y1 = n < e.y1 ? n : e.y1),
+ (e.y2 = a > e.y2 ? a : e.y2),
+ (e.w = e.x2 - e.x1),
+ (e.h = e.y2 - e.y1));
+ }, 'updateBounds')),
+ (F0 = o(function (e, r) {
+ return r == null ? e : Vl(e, r.x1, r.y1, r.x2, r.y2);
+ }, 'updateBoundsFromBox')),
+ (Dx = o(function (e, r, n) {
+ return Ul(e, r, n);
+ }, 'prefixedProperty')),
+ (l6 = o(function (e, r, n) {
+ if (!r.cy().headless()) {
+ var i = r._private,
+ a = i.rstyle,
+ s = a.arrowWidth / 2,
+ l = r.pstyle(n + '-arrow-shape').value,
+ u,
+ h;
+ if (l !== 'none') {
+ n === 'source'
+ ? ((u = a.srcX), (h = a.srcY))
+ : n === 'target'
+ ? ((u = a.tgtX), (h = a.tgtY))
+ : ((u = a.midX), (h = a.midY));
+ var f = (i.arrowBounds = i.arrowBounds || {}),
+ d = (f[n] = f[n] || {});
+ (d.x1 = u - s),
+ (d.y1 = h - s),
+ (d.x2 = u + s),
+ (d.y2 = h + s),
+ (d.w = d.x2 - d.x1),
+ (d.h = d.y2 - d.y1),
+ p6(d, 1),
+ Vl(e, d.x1, d.y1, d.x2, d.y2);
+ }
+ }
+ }, 'updateBoundsFromArrow')),
+ (SP = o(function (e, r, n) {
+ if (!r.cy().headless()) {
+ var i;
+ n ? (i = n + '-') : (i = '');
+ var a = r._private,
+ s = a.rstyle,
+ l = r.pstyle(i + 'label').strValue;
+ if (l) {
+ var u = r.pstyle('text-halign'),
+ h = r.pstyle('text-valign'),
+ f = Dx(s, 'labelWidth', n),
+ d = Dx(s, 'labelHeight', n),
+ p = Dx(s, 'labelX', n),
+ m = Dx(s, 'labelY', n),
+ g = r.pstyle(i + 'text-margin-x').pfValue,
+ y = r.pstyle(i + 'text-margin-y').pfValue,
+ v = r.isEdge(),
+ x = r.pstyle(i + 'text-rotation'),
+ b = r.pstyle('text-outline-width').pfValue,
+ w = r.pstyle('text-border-width').pfValue,
+ S = w / 2,
+ T = r.pstyle('text-background-padding').pfValue,
+ E = 2,
+ _ = d,
+ A = f,
+ L = A / 2,
+ M = _ / 2,
+ N,
+ k,
+ I,
+ C;
+ if (v) (N = p - L), (k = p + L), (I = m - M), (C = m + M);
+ else {
+ switch (u.value) {
+ case 'left':
+ (N = p - A), (k = p);
+ break;
+ case 'center':
+ (N = p - L), (k = p + L);
+ break;
+ case 'right':
+ (N = p), (k = p + A);
+ break;
+ }
+ switch (h.value) {
+ case 'top':
+ (I = m - _), (C = m);
+ break;
+ case 'center':
+ (I = m - M), (C = m + M);
+ break;
+ case 'bottom':
+ (I = m), (C = m + _);
+ break;
+ }
+ }
+ (N += g - Math.max(b, S) - T - E),
+ (k += g + Math.max(b, S) + T + E),
+ (I += y - Math.max(b, S) - T - E),
+ (C += y + Math.max(b, S) + T + E);
+ var O = n || 'main',
+ D = a.labelBounds,
+ P = (D[O] = D[O] || {});
+ (P.x1 = N), (P.y1 = I), (P.x2 = k), (P.y2 = C), (P.w = k - N), (P.h = C - I);
+ var F = v && x.strValue === 'autorotate',
+ B = x.pfValue != null && x.pfValue !== 0;
+ if (F || B) {
+ var $ = F ? Dx(a.rstyle, 'labelAngle', n) : x.pfValue,
+ z = Math.cos($),
+ Y = Math.sin($),
+ Q = (N + k) / 2,
+ X = (I + C) / 2;
+ if (!v) {
+ switch (u.value) {
+ case 'left':
+ Q = k;
+ break;
+ case 'right':
+ Q = N;
+ break;
+ }
+ switch (h.value) {
+ case 'top':
+ X = C;
+ break;
+ case 'bottom':
+ X = I;
+ break;
+ }
+ }
+ var ie = o(function (ce, ue) {
+ return (
+ (ce = ce - Q),
+ (ue = ue - X),
+ { x: ce * z - ue * Y + Q, y: ce * Y + ue * z + X }
+ );
+ }, 'rotate'),
+ j = ie(N, I),
+ J = ie(N, C),
+ Z = ie(k, I),
+ H = ie(k, C);
+ (N = Math.min(j.x, J.x, Z.x, H.x)),
+ (k = Math.max(j.x, J.x, Z.x, H.x)),
+ (I = Math.min(j.y, J.y, Z.y, H.y)),
+ (C = Math.max(j.y, J.y, Z.y, H.y));
+ }
+ var q = O + 'Rot',
+ K = (D[q] = D[q] || {});
+ (K.x1 = N),
+ (K.y1 = I),
+ (K.x2 = k),
+ (K.y2 = C),
+ (K.w = k - N),
+ (K.h = C - I),
+ Vl(e, N, I, k, C),
+ Vl(a.labelBounds.all, N, I, k, C);
+ }
+ return e;
+ }
+ }, 'updateBoundsFromLabel')),
+ (Jje = o(function (e, r) {
+ if (!r.cy().headless()) {
+ var n = r.pstyle('outline-opacity').value,
+ i = r.pstyle('outline-width').value;
+ if (n > 0 && i > 0) {
+ var a = r.pstyle('outline-offset').value,
+ s = r.pstyle('shape').value,
+ l = i + a,
+ u = (e.w + l * 2) / e.w,
+ h = (e.h + l * 2) / e.h,
+ f = 0,
+ d = 0;
+ ['diamond', 'pentagon', 'round-triangle'].includes(s)
+ ? ((u = (e.w + l * 2.4) / e.w), (d = -l / 3.6))
+ : ['concave-hexagon', 'rhomboid', 'right-rhomboid'].includes(s)
+ ? (u = (e.w + l * 2.4) / e.w)
+ : s === 'star'
+ ? ((u = (e.w + l * 2.8) / e.w), (h = (e.h + l * 2.6) / e.h), (d = -l / 3.8))
+ : s === 'triangle'
+ ? ((u = (e.w + l * 2.8) / e.w), (h = (e.h + l * 2.4) / e.h), (d = -l / 1.4))
+ : s === 'vee' &&
+ ((u = (e.w + l * 4.4) / e.w), (h = (e.h + l * 3.8) / e.h), (d = -l * 0.5));
+ var p = e.h * h - e.h,
+ m = e.w * u - e.w;
+ if ((m6(e, [Math.ceil(p / 2), Math.ceil(m / 2)]), f != 0 || d !== 0)) {
+ var g = bWe(e, f, d);
+ Vpe(e, g);
+ }
+ }
+ }
+ }, 'updateBoundsFromOutline')),
+ (eKe = o(function (e, r) {
+ var n = e._private.cy,
+ i = n.styleEnabled(),
+ a = n.headless(),
+ s = Gs(),
+ l = e._private,
+ u = e.isNode(),
+ h = e.isEdge(),
+ f,
+ d,
+ p,
+ m,
+ g,
+ y,
+ v = l.rstyle,
+ x = u && i ? e.pstyle('bounds-expansion').pfValue : [0],
+ b = o(function (De) {
+ return De.pstyle('display').value !== 'none';
+ }, 'isDisplayed'),
+ w = !i || (b(e) && (!h || (b(e.source()) && b(e.target()))));
+ if (w) {
+ var S = 0,
+ T = 0;
+ i &&
+ r.includeOverlays &&
+ ((S = e.pstyle('overlay-opacity').value),
+ S !== 0 && (T = e.pstyle('overlay-padding').value));
+ var E = 0,
+ _ = 0;
+ i &&
+ r.includeUnderlays &&
+ ((E = e.pstyle('underlay-opacity').value),
+ E !== 0 && (_ = e.pstyle('underlay-padding').value));
+ var A = Math.max(T, _),
+ L = 0,
+ M = 0;
+ if ((i && ((L = e.pstyle('width').pfValue), (M = L / 2)), u && r.includeNodes)) {
+ var N = e.position();
+ (g = N.x), (y = N.y);
+ var k = e.outerWidth(),
+ I = k / 2,
+ C = e.outerHeight(),
+ O = C / 2;
+ (f = g - I),
+ (d = g + I),
+ (p = y - O),
+ (m = y + O),
+ Vl(s, f, p, d, m),
+ i && r.includeOutlines && Jje(s, e);
+ } else if (h && r.includeEdges)
+ if (i && !a) {
+ var D = e.pstyle('curve-style').strValue;
+ if (
+ ((f = Math.min(v.srcX, v.midX, v.tgtX)),
+ (d = Math.max(v.srcX, v.midX, v.tgtX)),
+ (p = Math.min(v.srcY, v.midY, v.tgtY)),
+ (m = Math.max(v.srcY, v.midY, v.tgtY)),
+ (f -= M),
+ (d += M),
+ (p -= M),
+ (m += M),
+ Vl(s, f, p, d, m),
+ D === 'haystack')
+ ) {
+ var P = v.haystackPts;
+ if (P && P.length === 2) {
+ if (((f = P[0].x), (p = P[0].y), (d = P[1].x), (m = P[1].y), f > d)) {
+ var F = f;
+ (f = d), (d = F);
+ }
+ if (p > m) {
+ var B = p;
+ (p = m), (m = B);
+ }
+ Vl(s, f - M, p - M, d + M, m + M);
+ }
+ } else if (
+ D === 'bezier' ||
+ D === 'unbundled-bezier' ||
+ D.endsWith('segments') ||
+ D.endsWith('taxi')
+ ) {
+ var $;
+ switch (D) {
+ case 'bezier':
+ case 'unbundled-bezier':
+ $ = v.bezierPts;
+ break;
+ case 'segments':
+ case 'taxi':
+ case 'round-segments':
+ case 'round-taxi':
+ $ = v.linePts;
+ break;
+ }
+ if ($ != null)
+ for (var z = 0; z < $.length; z++) {
+ var Y = $[z];
+ (f = Y.x - M),
+ (d = Y.x + M),
+ (p = Y.y - M),
+ (m = Y.y + M),
+ Vl(s, f, p, d, m);
+ }
+ }
+ } else {
+ var Q = e.source(),
+ X = Q.position(),
+ ie = e.target(),
+ j = ie.position();
+ if (((f = X.x), (d = j.x), (p = X.y), (m = j.y), f > d)) {
+ var J = f;
+ (f = d), (d = J);
+ }
+ if (p > m) {
+ var Z = p;
+ (p = m), (m = Z);
+ }
+ (f -= M), (d += M), (p -= M), (m += M), Vl(s, f, p, d, m);
+ }
+ if (
+ (i &&
+ r.includeEdges &&
+ h &&
+ (l6(s, e, 'mid-source'),
+ l6(s, e, 'mid-target'),
+ l6(s, e, 'source'),
+ l6(s, e, 'target')),
+ i)
+ ) {
+ var H = e.pstyle('ghost').value === 'yes';
+ if (H) {
+ var q = e.pstyle('ghost-offset-x').pfValue,
+ K = e.pstyle('ghost-offset-y').pfValue;
+ Vl(s, s.x1 + q, s.y1 + K, s.x2 + q, s.y2 + K);
+ }
+ }
+ var se = (l.bodyBounds = l.bodyBounds || {});
+ g0e(se, s),
+ m6(se, x),
+ p6(se, 1),
+ i && ((f = s.x1), (d = s.x2), (p = s.y1), (m = s.y2), Vl(s, f - A, p - A, d + A, m + A));
+ var ce = (l.overlayBounds = l.overlayBounds || {});
+ g0e(ce, s), m6(ce, x), p6(ce, 1);
+ var ue = (l.labelBounds = l.labelBounds || {});
+ ue.all != null ? xWe(ue.all) : (ue.all = Gs()),
+ i &&
+ r.includeLabels &&
+ (r.includeMainLabels && SP(s, e, null),
+ h &&
+ (r.includeSourceLabels && SP(s, e, 'source'),
+ r.includeTargetLabels && SP(s, e, 'target')));
+ }
+ return (
+ (s.x1 = el(s.x1)),
+ (s.y1 = el(s.y1)),
+ (s.x2 = el(s.x2)),
+ (s.y2 = el(s.y2)),
+ (s.w = el(s.x2 - s.x1)),
+ (s.h = el(s.y2 - s.y1)),
+ s.w > 0 && s.h > 0 && w && (m6(s, x), p6(s, 1)),
+ s
+ );
+ }, 'boundingBoxImpl')),
+ (mme = o(function (e) {
+ var r = 0,
+ n = o(function (s) {
+ return (s ? 1 : 0) << r++;
+ }, 'tf'),
+ i = 0;
+ return (
+ (i += n(e.incudeNodes)),
+ (i += n(e.includeEdges)),
+ (i += n(e.includeLabels)),
+ (i += n(e.includeMainLabels)),
+ (i += n(e.includeSourceLabels)),
+ (i += n(e.includeTargetLabels)),
+ (i += n(e.includeOverlays)),
+ (i += n(e.includeOutlines)),
+ i
+ );
+ }, 'getKey')),
+ (gme = o(function (e) {
+ if (e.isEdge()) {
+ var r = e.source().position(),
+ n = e.target().position(),
+ i = o(function (s) {
+ return Math.round(s);
+ }, 'r');
+ return GYe([i(r.x), i(r.y), i(n.x), i(n.y)]);
+ } else return 0;
+ }, 'getBoundingBoxPosKey')),
+ (F0e = o(function (e, r) {
+ var n = e._private,
+ i,
+ a = e.isEdge(),
+ s = r == null ? z0e : mme(r),
+ l = s === z0e,
+ u = gme(e),
+ h = n.bbCachePosKey === u,
+ f = r.useCache && h,
+ d = o(function (y) {
+ return y._private.bbCache == null || y._private.styleDirty;
+ }, 'isDirty'),
+ p = !f || d(e) || (a && d(e.source())) || d(e.target());
+ if (
+ (p
+ ? (h || e.recalculateRenderedStyle(f),
+ (i = eKe(e, Xx)),
+ (n.bbCache = i),
+ (n.bbCachePosKey = u))
+ : (i = n.bbCache),
+ !l)
+ ) {
+ var m = e.isNode();
+ (i = Gs()),
+ ((r.includeNodes && m) || (r.includeEdges && !m)) &&
+ (r.includeOverlays ? F0(i, n.overlayBounds) : F0(i, n.bodyBounds)),
+ r.includeLabels &&
+ (r.includeMainLabels && (!a || (r.includeSourceLabels && r.includeTargetLabels))
+ ? F0(i, n.labelBounds.all)
+ : (r.includeMainLabels && F0(i, n.labelBounds.mainRot),
+ r.includeSourceLabels && F0(i, n.labelBounds.sourceRot),
+ r.includeTargetLabels && F0(i, n.labelBounds.targetRot))),
+ (i.w = i.x2 - i.x1),
+ (i.h = i.y2 - i.y1);
+ }
+ return i;
+ }, 'cachedBoundingBoxImpl')),
+ (Xx = {
+ includeNodes: !0,
+ includeEdges: !0,
+ includeLabels: !0,
+ includeMainLabels: !0,
+ includeSourceLabels: !0,
+ includeTargetLabels: !0,
+ includeOverlays: !0,
+ includeUnderlays: !0,
+ includeOutlines: !0,
+ useCache: !0
+ }),
+ (z0e = mme(Xx)),
+ (G0e = Sa(Xx));
+ Rf.boundingBox = function (t) {
+ var e;
+ if (
+ this.length === 1 &&
+ this[0]._private.bbCache != null &&
+ !this[0]._private.styleDirty &&
+ (t === void 0 || t.useCache === void 0 || t.useCache === !0)
+ )
+ t === void 0 ? (t = Xx) : (t = G0e(t)), (e = F0e(this[0], t));
+ else {
+ (e = Gs()), (t = t || Xx);
+ var r = G0e(t),
+ n = this,
+ i = n.cy(),
+ a = i.styleEnabled();
+ if (a)
+ for (var s = 0; s < n.length; s++) {
+ var l = n[s],
+ u = l._private,
+ h = gme(l),
+ f = u.bbCachePosKey === h,
+ d = r.useCache && f && !u.styleDirty;
+ l.recalculateRenderedStyle(d);
+ }
+ this.updateCompoundBounds(!t.useCache);
+ for (var p = 0; p < n.length; p++) {
+ var m = n[p];
+ F0(e, F0e(m, r));
+ }
+ }
+ return (
+ (e.x1 = el(e.x1)),
+ (e.y1 = el(e.y1)),
+ (e.x2 = el(e.x2)),
+ (e.y2 = el(e.y2)),
+ (e.w = el(e.x2 - e.x1)),
+ (e.h = el(e.y2 - e.y1)),
+ e
+ );
+ };
+ Rf.dirtyBoundingBoxCache = function () {
+ for (var t = 0; t < this.length; t++) {
+ var e = this[t]._private;
+ (e.bbCache = null),
+ (e.bbCachePosKey = null),
+ (e.bodyBounds = null),
+ (e.overlayBounds = null),
+ (e.labelBounds.all = null),
+ (e.labelBounds.source = null),
+ (e.labelBounds.target = null),
+ (e.labelBounds.main = null),
+ (e.labelBounds.sourceRot = null),
+ (e.labelBounds.targetRot = null),
+ (e.labelBounds.mainRot = null),
+ (e.arrowBounds.source = null),
+ (e.arrowBounds.target = null),
+ (e.arrowBounds['mid-source'] = null),
+ (e.arrowBounds['mid-target'] = null);
+ }
+ return this.emitAndNotify('bounds'), this;
+ };
+ Rf.boundingBoxAt = function (t) {
+ var e = this.nodes(),
+ r = this.cy(),
+ n = r.hasCompoundNodes(),
+ i = r.collection();
+ if (
+ (n &&
+ ((i = e.filter(function (h) {
+ return h.isParent();
+ })),
+ (e = e.not(i))),
+ Mr(t))
+ ) {
+ var a = t;
+ t = o(function () {
+ return a;
+ }, 'fn');
+ }
+ var s = o(function (f, d) {
+ return (f._private.bbAtOldPos = t(f, d));
+ }, 'storeOldPos'),
+ l = o(function (f) {
+ return f._private.bbAtOldPos;
+ }, 'getOldPos');
+ r.startBatch(),
+ e.forEach(s).silentPositions(t),
+ n && (i.dirtyCompoundBoundsCache(), i.dirtyBoundingBoxCache(), i.updateCompoundBounds(!0));
+ var u = vWe(this.boundingBox({ useCache: !1 }));
+ return (
+ e.silentPositions(l),
+ n && (i.dirtyCompoundBoundsCache(), i.dirtyBoundingBoxCache(), i.updateCompoundBounds(!0)),
+ r.endBatch(),
+ u
+ );
+ };
+ i1.boundingbox = i1.bb = i1.boundingBox;
+ i1.renderedBoundingbox = i1.renderedBoundingBox;
+ tKe = Rf;
+ Px = tb = {};
+ yme = o(function (e) {
+ (e.uppercaseName = c0e(e.name)),
+ (e.autoName = 'auto' + e.uppercaseName),
+ (e.labelName = 'label' + e.uppercaseName),
+ (e.outerName = 'outer' + e.uppercaseName),
+ (e.uppercaseOuterName = c0e(e.outerName)),
+ (Px[e.name] = o(function () {
+ var n = this[0],
+ i = n._private,
+ a = i.cy,
+ s = a._private.styleEnabled;
+ if (n)
+ if (s) {
+ if (n.isParent()) return n.updateCompoundBounds(), i[e.autoName] || 0;
+ var l = n.pstyle(e.name);
+ switch (l.strValue) {
+ case 'label':
+ return n.recalculateRenderedStyle(), i.rstyle[e.labelName] || 0;
+ default:
+ return l.pfValue;
+ }
+ } else return 1;
+ }, 'dimImpl')),
+ (Px['outer' + e.uppercaseName] = o(function () {
+ var n = this[0],
+ i = n._private,
+ a = i.cy,
+ s = a._private.styleEnabled;
+ if (n)
+ if (s) {
+ var l = n[e.name](),
+ u = n.pstyle('border-width').pfValue,
+ h = 2 * n.padding();
+ return l + u + h;
+ } else return 1;
+ }, 'outerDimImpl')),
+ (Px['rendered' + e.uppercaseName] = o(function () {
+ var n = this[0];
+ if (n) {
+ var i = n[e.name]();
+ return i * this.cy().zoom();
+ }
+ }, 'renderedDimImpl')),
+ (Px['rendered' + e.uppercaseOuterName] = o(function () {
+ var n = this[0];
+ if (n) {
+ var i = n[e.outerName]();
+ return i * this.cy().zoom();
+ }
+ }, 'renderedOuterDimImpl'));
+ }, 'defineDimFns');
+ yme({ name: 'width' });
+ yme({ name: 'height' });
+ tb.padding = function () {
+ var t = this[0],
+ e = t._private;
+ return t.isParent()
+ ? (t.updateCompoundBounds(), e.autoPadding !== void 0 ? e.autoPadding : t.pstyle('padding').pfValue)
+ : t.pstyle('padding').pfValue;
+ };
+ tb.paddedHeight = function () {
+ var t = this[0];
+ return t.height() + 2 * t.padding();
+ };
+ tb.paddedWidth = function () {
+ var t = this[0];
+ return t.width() + 2 * t.padding();
+ };
+ (rKe = tb),
+ (nKe = o(function (e, r) {
+ if (e.isEdge()) return r(e);
+ }, 'ifEdge')),
+ (iKe = o(function (e, r) {
+ if (e.isEdge()) {
+ var n = e.cy();
+ return F6(r(e), n.zoom(), n.pan());
+ }
+ }, 'ifEdgeRenderedPosition')),
+ (aKe = o(function (e, r) {
+ if (e.isEdge()) {
+ var n = e.cy(),
+ i = n.pan(),
+ a = n.zoom();
+ return r(e).map(function (s) {
+ return F6(s, a, i);
+ });
+ }
+ }, 'ifEdgeRenderedPositions')),
+ (sKe = o(function (e) {
+ return e.renderer().getControlPoints(e);
+ }, 'controlPoints')),
+ (oKe = o(function (e) {
+ return e.renderer().getSegmentPoints(e);
+ }, 'segmentPoints')),
+ (lKe = o(function (e) {
+ return e.renderer().getSourceEndpoint(e);
+ }, 'sourceEndpoint')),
+ (cKe = o(function (e) {
+ return e.renderer().getTargetEndpoint(e);
+ }, 'targetEndpoint')),
+ (uKe = o(function (e) {
+ return e.renderer().getEdgeMidpoint(e);
+ }, 'midpoint')),
+ ($0e = {
+ controlPoints: { get: sKe, mult: !0 },
+ segmentPoints: { get: oKe, mult: !0 },
+ sourceEndpoint: { get: lKe },
+ targetEndpoint: { get: cKe },
+ midpoint: { get: uKe }
+ }),
+ (hKe = o(function (e) {
+ return 'rendered' + e[0].toUpperCase() + e.substr(1);
+ }, 'renderedName')),
+ (fKe = Object.keys($0e).reduce(function (t, e) {
+ var r = $0e[e],
+ n = hKe(e);
+ return (
+ (t[e] = function () {
+ return nKe(this, r.get);
+ }),
+ r.mult
+ ? (t[n] = function () {
+ return aKe(this, r.get);
+ })
+ : (t[n] = function () {
+ return iKe(this, r.get);
+ }),
+ t
+ );
+ }, {})),
+ (dKe = Wt({}, Zje, tKe, rKe, fKe));
+ vme = o(function (e, r) {
+ this.recycle(e, r);
+ }, 'Event');
+ o(Rx, 'returnFalse');
+ o(c6, 'returnTrue');
+ vme.prototype = {
+ instanceString: o(function () {
+ return 'event';
+ }, 'instanceString'),
+ recycle: o(function (e, r) {
+ if (
+ ((this.isImmediatePropagationStopped =
+ this.isPropagationStopped =
+ this.isDefaultPrevented =
+ Rx),
+ e != null && e.preventDefault
+ ? ((this.type = e.type), (this.isDefaultPrevented = e.defaultPrevented ? c6 : Rx))
+ : e != null && e.type
+ ? (r = e)
+ : (this.type = e),
+ r != null &&
+ ((this.originalEvent = r.originalEvent),
+ (this.type = r.type != null ? r.type : this.type),
+ (this.cy = r.cy),
+ (this.target = r.target),
+ (this.position = r.position),
+ (this.renderedPosition = r.renderedPosition),
+ (this.namespace = r.namespace),
+ (this.layout = r.layout)),
+ this.cy != null && this.position != null && this.renderedPosition == null)
+ ) {
+ var n = this.position,
+ i = this.cy.zoom(),
+ a = this.cy.pan();
+ this.renderedPosition = { x: n.x * i + a.x, y: n.y * i + a.y };
+ }
+ this.timeStamp = (e && e.timeStamp) || Date.now();
+ }, 'recycle'),
+ preventDefault: o(function () {
+ this.isDefaultPrevented = c6;
+ var e = this.originalEvent;
+ e && e.preventDefault && e.preventDefault();
+ }, 'preventDefault'),
+ stopPropagation: o(function () {
+ this.isPropagationStopped = c6;
+ var e = this.originalEvent;
+ e && e.stopPropagation && e.stopPropagation();
+ }, 'stopPropagation'),
+ stopImmediatePropagation: o(function () {
+ (this.isImmediatePropagationStopped = c6), this.stopPropagation();
+ }, 'stopImmediatePropagation'),
+ isDefaultPrevented: Rx,
+ isPropagationStopped: Rx,
+ isImmediatePropagationStopped: Rx
+ };
+ (xme = /^([^.]+)(\.(?:[^.]+))?$/),
+ (pKe = '.*'),
+ (bme = {
+ qualifierCompare: o(function (e, r) {
+ return e === r;
+ }, 'qualifierCompare'),
+ eventMatches: o(function () {
+ return !0;
+ }, 'eventMatches'),
+ addEventFields: o(function () {}, 'addEventFields'),
+ callbackContext: o(function (e) {
+ return e;
+ }, 'callbackContext'),
+ beforeEmit: o(function () {}, 'beforeEmit'),
+ afterEmit: o(function () {}, 'afterEmit'),
+ bubble: o(function () {
+ return !1;
+ }, 'bubble'),
+ parent: o(function () {
+ return null;
+ }, 'parent'),
+ context: null
+ }),
+ (V0e = Object.keys(bme)),
+ (mKe = {});
+ o(H6, 'Emitter');
+ (Df = H6.prototype),
+ (wme = o(function (e, r, n, i, a, s, l) {
+ jn(i) && ((a = i), (i = null)), l && (s == null ? (s = l) : (s = Wt({}, s, l)));
+ for (var u = vn(n) ? n : n.split(/\s+/), h = 0; h < u.length; h++) {
+ var f = u[h];
+ if (!Sf(f)) {
+ var d = f.match(xme);
+ if (d) {
+ var p = d[1],
+ m = d[2] ? d[2] : null,
+ g = r(e, f, p, m, i, a, s);
+ if (g === !1) break;
+ }
+ }
+ }
+ }, 'forEachEvent')),
+ (U0e = o(function (e, r) {
+ return e.addEventFields(e.context, r), new vme(r.type, r);
+ }, 'makeEventObj')),
+ (gKe = o(function (e, r, n) {
+ if (PHe(n)) {
+ r(e, n);
+ return;
+ } else if (Mr(n)) {
+ r(e, U0e(e, n));
+ return;
+ }
+ for (var i = vn(n) ? n : n.split(/\s+/), a = 0; a < i.length; a++) {
+ var s = i[a];
+ if (!Sf(s)) {
+ var l = s.match(xme);
+ if (l) {
+ var u = l[1],
+ h = l[2] ? l[2] : null,
+ f = U0e(e, { type: u, namespace: h, target: e.context });
+ r(e, f);
+ }
+ }
+ }
+ }, 'forEachEventObj'));
+ Df.on = Df.addListener = function (t, e, r, n, i) {
+ return (
+ wme(
+ this,
+ function (a, s, l, u, h, f, d) {
+ jn(f) &&
+ a.listeners.push({
+ event: s,
+ callback: f,
+ type: l,
+ namespace: u,
+ qualifier: h,
+ conf: d
+ });
+ },
+ t,
+ e,
+ r,
+ n,
+ i
+ ),
+ this
+ );
+ };
+ Df.one = function (t, e, r, n) {
+ return this.on(t, e, r, n, { one: !0 });
+ };
+ Df.removeListener = Df.off = function (t, e, r, n) {
+ var i = this;
+ this.emitting !== 0 && (this.listeners = YYe(this.listeners));
+ for (
+ var a = this.listeners,
+ s = o(function (h) {
+ var f = a[h];
+ wme(
+ i,
+ function (d, p, m, g, y, v) {
+ if (
+ (f.type === m || t === '*') &&
+ ((!g && f.namespace !== '.*') || f.namespace === g) &&
+ (!y || d.qualifierCompare(f.qualifier, y)) &&
+ (!v || f.callback === v)
+ )
+ return a.splice(h, 1), !1;
+ },
+ t,
+ e,
+ r,
+ n
+ );
+ }, '_loop'),
+ l = a.length - 1;
+ l >= 0;
+ l--
+ )
+ s(l);
+ return this;
+ };
+ Df.removeAllListeners = function () {
+ return this.removeListener('*');
+ };
+ Df.emit = Df.trigger = function (t, e, r) {
+ var n = this.listeners,
+ i = n.length;
+ return (
+ this.emitting++,
+ vn(e) || (e = [e]),
+ gKe(
+ this,
+ function (a, s) {
+ r != null &&
+ ((n = [
+ {
+ event: s.event,
+ type: s.type,
+ namespace: s.namespace,
+ callback: r
+ }
+ ]),
+ (i = n.length));
+ for (
+ var l = o(function (f) {
+ var d = n[f];
+ if (
+ d.type === s.type &&
+ (!d.namespace || d.namespace === s.namespace || d.namespace === pKe) &&
+ a.eventMatches(a.context, d, s)
+ ) {
+ var p = [s];
+ e != null && qYe(p, e),
+ a.beforeEmit(a.context, d, s),
+ d.conf &&
+ d.conf.one &&
+ (a.listeners = a.listeners.filter(function (y) {
+ return y !== d;
+ }));
+ var m = a.callbackContext(a.context, d, s),
+ g = d.callback.apply(m, p);
+ a.afterEmit(a.context, d, s),
+ g === !1 && (s.stopPropagation(), s.preventDefault());
+ }
+ }, '_loop2'),
+ u = 0;
+ u < i;
+ u++
+ )
+ l(u);
+ a.bubble(a.context) && !s.isPropagationStopped() && a.parent(a.context).emit(s, e);
+ },
+ t
+ ),
+ this.emitting--,
+ this
+ );
+ };
+ (yKe = {
+ qualifierCompare: o(function (e, r) {
+ return e == null || r == null ? e == null && r == null : e.sameText(r);
+ }, 'qualifierCompare'),
+ eventMatches: o(function (e, r, n) {
+ var i = r.qualifier;
+ return i != null ? e !== n.target && Zx(n.target) && i.matches(n.target) : !0;
+ }, 'eventMatches'),
+ addEventFields: o(function (e, r) {
+ (r.cy = e.cy()), (r.target = e);
+ }, 'addEventFields'),
+ callbackContext: o(function (e, r, n) {
+ return r.qualifier != null ? n.target : e;
+ }, 'callbackContext'),
+ beforeEmit: o(function (e, r) {
+ r.conf && r.conf.once && r.conf.onceCollection.removeListener(r.event, r.qualifier, r.callback);
+ }, 'beforeEmit'),
+ bubble: o(function () {
+ return !0;
+ }, 'bubble'),
+ parent: o(function (e) {
+ return e.isChild() ? e.parent() : e.cy();
+ }, 'parent')
+ }),
+ (u6 = o(function (e) {
+ return zt(e) ? new _f(e) : e;
+ }, 'argSelector')),
+ (Tme = {
+ createEmitter: o(function () {
+ for (var e = 0; e < this.length; e++) {
+ var r = this[e],
+ n = r._private;
+ n.emitter || (n.emitter = new H6(yKe, r));
+ }
+ return this;
+ }, 'createEmitter'),
+ emitter: o(function () {
+ return this._private.emitter;
+ }, 'emitter'),
+ on: o(function (e, r, n) {
+ for (var i = u6(r), a = 0; a < this.length; a++) {
+ var s = this[a];
+ s.emitter().on(e, i, n);
+ }
+ return this;
+ }, 'on'),
+ removeListener: o(function (e, r, n) {
+ for (var i = u6(r), a = 0; a < this.length; a++) {
+ var s = this[a];
+ s.emitter().removeListener(e, i, n);
+ }
+ return this;
+ }, 'removeListener'),
+ removeAllListeners: o(function () {
+ for (var e = 0; e < this.length; e++) {
+ var r = this[e];
+ r.emitter().removeAllListeners();
+ }
+ return this;
+ }, 'removeAllListeners'),
+ one: o(function (e, r, n) {
+ for (var i = u6(r), a = 0; a < this.length; a++) {
+ var s = this[a];
+ s.emitter().one(e, i, n);
+ }
+ return this;
+ }, 'one'),
+ once: o(function (e, r, n) {
+ for (var i = u6(r), a = 0; a < this.length; a++) {
+ var s = this[a];
+ s.emitter().on(e, i, n, { once: !0, onceCollection: this });
+ }
+ }, 'once'),
+ emit: o(function (e, r) {
+ for (var n = 0; n < this.length; n++) {
+ var i = this[n];
+ i.emitter().emit(e, r);
+ }
+ return this;
+ }, 'emit'),
+ emitAndNotify: o(function (e, r) {
+ if (this.length !== 0) return this.cy().notify(e, this), this.emit(e, r), this;
+ }, 'emitAndNotify')
+ });
+ en.eventAliasesOn(Tme);
+ (kme = {
+ nodes: o(function (e) {
+ return this.filter(function (r) {
+ return r.isNode();
+ }).filter(e);
+ }, 'nodes'),
+ edges: o(function (e) {
+ return this.filter(function (r) {
+ return r.isEdge();
+ }).filter(e);
+ }, 'edges'),
+ byGroup: o(function () {
+ for (var e = this.spawn(), r = this.spawn(), n = 0; n < this.length; n++) {
+ var i = this[n];
+ i.isNode() ? e.push(i) : r.push(i);
+ }
+ return { nodes: e, edges: r };
+ }, 'byGroup'),
+ filter: o(function (e, r) {
+ if (e === void 0) return this;
+ if (zt(e) || xo(e)) return new _f(e).filter(this);
+ if (jn(e)) {
+ for (var n = this.spawn(), i = this, a = 0; a < i.length; a++) {
+ var s = i[a],
+ l = r ? e.apply(r, [s, a, i]) : e(s, a, i);
+ l && n.push(s);
+ }
+ return n;
+ }
+ return this.spawn();
+ }, 'filter'),
+ not: o(function (e) {
+ if (e) {
+ zt(e) && (e = this.filter(e));
+ for (var r = this.spawn(), n = 0; n < this.length; n++) {
+ var i = this[n],
+ a = e.has(i);
+ a || r.push(i);
+ }
+ return r;
+ } else return this;
+ }, 'not'),
+ absoluteComplement: o(function () {
+ var e = this.cy();
+ return e.mutableElements().not(this);
+ }, 'absoluteComplement'),
+ intersect: o(function (e) {
+ if (zt(e)) {
+ var r = e;
+ return this.filter(r);
+ }
+ for (
+ var n = this.spawn(),
+ i = this,
+ a = e,
+ s = this.length < e.length,
+ l = s ? i : a,
+ u = s ? a : i,
+ h = 0;
+ h < l.length;
+ h++
+ ) {
+ var f = l[h];
+ u.has(f) && n.push(f);
+ }
+ return n;
+ }, 'intersect'),
+ xor: o(function (e) {
+ var r = this._private.cy;
+ zt(e) && (e = r.$(e));
+ var n = this.spawn(),
+ i = this,
+ a = e,
+ s = o(function (u, h) {
+ for (var f = 0; f < u.length; f++) {
+ var d = u[f],
+ p = d._private.data.id,
+ m = h.hasElementWithId(p);
+ m || n.push(d);
+ }
+ }, 'add');
+ return s(i, a), s(a, i), n;
+ }, 'xor'),
+ diff: o(function (e) {
+ var r = this._private.cy;
+ zt(e) && (e = r.$(e));
+ var n = this.spawn(),
+ i = this.spawn(),
+ a = this.spawn(),
+ s = this,
+ l = e,
+ u = o(function (f, d, p) {
+ for (var m = 0; m < f.length; m++) {
+ var g = f[m],
+ y = g._private.data.id,
+ v = d.hasElementWithId(y);
+ v ? a.merge(g) : p.push(g);
+ }
+ }, 'add');
+ return u(s, l, n), u(l, s, i), { left: n, right: i, both: a };
+ }, 'diff'),
+ add: o(function (e) {
+ var r = this._private.cy;
+ if (!e) return this;
+ if (zt(e)) {
+ var n = e;
+ e = r.mutableElements().filter(n);
+ }
+ for (var i = this.spawnSelf(), a = 0; a < e.length; a++) {
+ var s = e[a],
+ l = !this.has(s);
+ l && i.push(s);
+ }
+ return i;
+ }, 'add'),
+ merge: o(function (e) {
+ var r = this._private,
+ n = r.cy;
+ if (!e) return this;
+ if (e && zt(e)) {
+ var i = e;
+ e = n.mutableElements().filter(i);
+ }
+ for (var a = r.map, s = 0; s < e.length; s++) {
+ var l = e[s],
+ u = l._private.data.id,
+ h = !a.has(u);
+ if (h) {
+ var f = this.length++;
+ (this[f] = l), a.set(u, { ele: l, index: f });
+ }
+ }
+ return this;
+ }, 'merge'),
+ unmergeAt: o(function (e) {
+ var r = this[e],
+ n = r.id(),
+ i = this._private,
+ a = i.map;
+ (this[e] = void 0), a.delete(n);
+ var s = e === this.length - 1;
+ if (this.length > 1 && !s) {
+ var l = this.length - 1,
+ u = this[l],
+ h = u._private.data.id;
+ (this[l] = void 0), (this[e] = u), a.set(h, { ele: u, index: e });
+ }
+ return this.length--, this;
+ }, 'unmergeAt'),
+ unmergeOne: o(function (e) {
+ e = e[0];
+ var r = this._private,
+ n = e._private.data.id,
+ i = r.map,
+ a = i.get(n);
+ if (!a) return this;
+ var s = a.index;
+ return this.unmergeAt(s), this;
+ }, 'unmergeOne'),
+ unmerge: o(function (e) {
+ var r = this._private.cy;
+ if (!e) return this;
+ if (e && zt(e)) {
+ var n = e;
+ e = r.mutableElements().filter(n);
+ }
+ for (var i = 0; i < e.length; i++) this.unmergeOne(e[i]);
+ return this;
+ }, 'unmerge'),
+ unmergeBy: o(function (e) {
+ for (var r = this.length - 1; r >= 0; r--) {
+ var n = this[r];
+ e(n) && this.unmergeAt(r);
+ }
+ return this;
+ }, 'unmergeBy'),
+ map: o(function (e, r) {
+ for (var n = [], i = this, a = 0; a < i.length; a++) {
+ var s = i[a],
+ l = r ? e.apply(r, [s, a, i]) : e(s, a, i);
+ n.push(l);
+ }
+ return n;
+ }, 'map'),
+ reduce: o(function (e, r) {
+ for (var n = r, i = this, a = 0; a < i.length; a++) n = e(n, i[a], a, i);
+ return n;
+ }, 'reduce'),
+ max: o(function (e, r) {
+ for (var n = -1 / 0, i, a = this, s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = r ? e.apply(r, [l, s, a]) : e(l, s, a);
+ u > n && ((n = u), (i = l));
+ }
+ return { value: n, ele: i };
+ }, 'max'),
+ min: o(function (e, r) {
+ for (var n = 1 / 0, i, a = this, s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = r ? e.apply(r, [l, s, a]) : e(l, s, a);
+ u < n && ((n = u), (i = l));
+ }
+ return { value: n, ele: i };
+ }, 'min')
+ }),
+ (Wr = kme);
+ Wr.u = Wr['|'] = Wr['+'] = Wr.union = Wr.or = Wr.add;
+ Wr['\\'] = Wr['!'] = Wr['-'] = Wr.difference = Wr.relativeComplement = Wr.subtract = Wr.not;
+ Wr.n = Wr['&'] = Wr['.'] = Wr.and = Wr.intersection = Wr.intersect;
+ Wr['^'] = Wr['(+)'] = Wr['(-)'] = Wr.symmetricDifference = Wr.symdiff = Wr.xor;
+ Wr.fnFilter = Wr.filterFn = Wr.stdFilter = Wr.filter;
+ Wr.complement = Wr.abscomp = Wr.absoluteComplement;
+ (vKe = {
+ isNode: o(function () {
+ return this.group() === 'nodes';
+ }, 'isNode'),
+ isEdge: o(function () {
+ return this.group() === 'edges';
+ }, 'isEdge'),
+ isLoop: o(function () {
+ return this.isEdge() && this.source()[0] === this.target()[0];
+ }, 'isLoop'),
+ isSimple: o(function () {
+ return this.isEdge() && this.source()[0] !== this.target()[0];
+ }, 'isSimple'),
+ group: o(function () {
+ var e = this[0];
+ if (e) return e._private.group;
+ }, 'group')
+ }),
+ (Eme = o(function (e, r) {
+ var n = e.cy(),
+ i = n.hasCompoundNodes();
+ function a(f) {
+ var d = f.pstyle('z-compound-depth');
+ return d.value === 'auto'
+ ? i
+ ? f.zDepth()
+ : 0
+ : d.value === 'bottom'
+ ? -1
+ : d.value === 'top'
+ ? ZP
+ : 0;
+ }
+ o(a, 'getDepth');
+ var s = a(e) - a(r);
+ if (s !== 0) return s;
+ function l(f) {
+ var d = f.pstyle('z-index-compare');
+ return d.value === 'auto' && f.isNode() ? 1 : 0;
+ }
+ o(l, 'getEleDepth');
+ var u = l(e) - l(r);
+ if (u !== 0) return u;
+ var h = e.pstyle('z-index').value - r.pstyle('z-index').value;
+ return h !== 0 ? h : e.poolIndex() - r.poolIndex();
+ }, 'zIndexSort')),
+ (L6 = {
+ forEach: o(function (e, r) {
+ if (jn(e))
+ for (var n = this.length, i = 0; i < n; i++) {
+ var a = this[i],
+ s = r ? e.apply(r, [a, i, this]) : e(a, i, this);
+ if (s === !1) break;
+ }
+ return this;
+ }, 'forEach'),
+ toArray: o(function () {
+ for (var e = [], r = 0; r < this.length; r++) e.push(this[r]);
+ return e;
+ }, 'toArray'),
+ slice: o(function (e, r) {
+ var n = [],
+ i = this.length;
+ r == null && (r = i), e == null && (e = 0), e < 0 && (e = i + e), r < 0 && (r = i + r);
+ for (var a = e; a >= 0 && a < r && a < i; a++) n.push(this[a]);
+ return this.spawn(n);
+ }, 'slice'),
+ size: o(function () {
+ return this.length;
+ }, 'size'),
+ eq: o(function (e) {
+ return this[e] || this.spawn();
+ }, 'eq'),
+ first: o(function () {
+ return this[0] || this.spawn();
+ }, 'first'),
+ last: o(function () {
+ return this[this.length - 1] || this.spawn();
+ }, 'last'),
+ empty: o(function () {
+ return this.length === 0;
+ }, 'empty'),
+ nonempty: o(function () {
+ return !this.empty();
+ }, 'nonempty'),
+ sort: o(function (e) {
+ if (!jn(e)) return this;
+ var r = this.toArray().sort(e);
+ return this.spawn(r);
+ }, 'sort'),
+ sortByZIndex: o(function () {
+ return this.sort(Eme);
+ }, 'sortByZIndex'),
+ zDepth: o(function () {
+ var e = this[0];
+ if (e) {
+ var r = e._private,
+ n = r.group;
+ if (n === 'nodes') {
+ var i = r.data.parent ? e.parents().size() : 0;
+ return e.isParent() ? i : ZP - 1;
+ } else {
+ var a = r.source,
+ s = r.target,
+ l = a.zDepth(),
+ u = s.zDepth();
+ return Math.max(l, u, 0);
+ }
+ }
+ }, 'zDepth')
+ });
+ L6.each = L6.forEach;
+ xKe = o(function () {
+ var e = 'undefined',
+ r = (typeof Symbol > 'u' ? 'undefined' : Hi(Symbol)) != e && Hi(Symbol.iterator) != e;
+ r &&
+ (L6[Symbol.iterator] = function () {
+ var n = this,
+ i = { value: void 0, done: !1 },
+ a = 0,
+ s = this.length;
+ return bpe(
+ {
+ next: o(function () {
+ return a < s ? (i.value = n[a++]) : ((i.value = void 0), (i.done = !0)), i;
+ }, 'next')
+ },
+ Symbol.iterator,
+ function () {
+ return this;
+ }
+ );
+ });
+ }, 'defineSymbolIterator');
+ xKe();
+ (bKe = Sa({ nodeDimensionsIncludeLabels: !1 })),
+ (y6 = {
+ layoutDimensions: o(function (e) {
+ e = bKe(e);
+ var r;
+ if (!this.takesUpSpace()) r = { w: 0, h: 0 };
+ else if (e.nodeDimensionsIncludeLabels) {
+ var n = this.boundingBox();
+ r = { w: n.w, h: n.h };
+ } else r = { w: this.outerWidth(), h: this.outerHeight() };
+ return (r.w === 0 || r.h === 0) && (r.w = r.h = 1), r;
+ }, 'layoutDimensions'),
+ layoutPositions: o(function (e, r, n) {
+ var i = this.nodes().filter(function (T) {
+ return !T.isParent();
+ }),
+ a = this.cy(),
+ s = r.eles,
+ l = o(function (E) {
+ return E.id();
+ }, 'getMemoizeKey'),
+ u = Gx(n, l);
+ e.emit({ type: 'layoutstart', layout: e }), (e.animations = []);
+ var h = o(function (E, _, A) {
+ var L = { x: _.x1 + _.w / 2, y: _.y1 + _.h / 2 },
+ M = { x: (A.x - L.x) * E, y: (A.y - L.y) * E };
+ return { x: L.x + M.x, y: L.y + M.y };
+ }, 'calculateSpacing'),
+ f = r.spacingFactor && r.spacingFactor !== 1,
+ d = o(function () {
+ if (!f) return null;
+ for (var E = Gs(), _ = 0; _ < i.length; _++) {
+ var A = i[_],
+ L = u(A, _);
+ wWe(E, L.x, L.y);
+ }
+ return E;
+ }, 'spacingBb'),
+ p = d(),
+ m = Gx(function (T, E) {
+ var _ = u(T, E);
+ if (f) {
+ var A = Math.abs(r.spacingFactor);
+ _ = h(A, p, _);
+ }
+ return r.transform != null && (_ = r.transform(T, _)), _;
+ }, l);
+ if (r.animate) {
+ for (var g = 0; g < i.length; g++) {
+ var y = i[g],
+ v = m(y, g),
+ x = r.animateFilter == null || r.animateFilter(y, g);
+ if (x) {
+ var b = y.animation({
+ position: v,
+ duration: r.animationDuration,
+ easing: r.animationEasing
+ });
+ e.animations.push(b);
+ } else y.position(v);
+ }
+ if (r.fit) {
+ var w = a.animation({
+ fit: { boundingBox: s.boundingBoxAt(m), padding: r.padding },
+ duration: r.animationDuration,
+ easing: r.animationEasing
+ });
+ e.animations.push(w);
+ } else if (r.zoom !== void 0 && r.pan !== void 0) {
+ var S = a.animation({
+ zoom: r.zoom,
+ pan: r.pan,
+ duration: r.animationDuration,
+ easing: r.animationEasing
+ });
+ e.animations.push(S);
+ }
+ e.animations.forEach(function (T) {
+ return T.play();
+ }),
+ e.one('layoutready', r.ready),
+ e.emit({ type: 'layoutready', layout: e }),
+ u1
+ .all(
+ e.animations.map(function (T) {
+ return T.promise();
+ })
+ )
+ .then(function () {
+ e.one('layoutstop', r.stop), e.emit({ type: 'layoutstop', layout: e });
+ });
+ } else
+ i.positions(m),
+ r.fit && a.fit(r.eles, r.padding),
+ r.zoom != null && a.zoom(r.zoom),
+ r.pan && a.pan(r.pan),
+ e.one('layoutready', r.ready),
+ e.emit({ type: 'layoutready', layout: e }),
+ e.one('layoutstop', r.stop),
+ e.emit({ type: 'layoutstop', layout: e });
+ return this;
+ }, 'layoutPositions'),
+ layout: o(function (e) {
+ var r = this.cy();
+ return r.makeLayout(Wt({}, e, { eles: this }));
+ }, 'layout')
+ });
+ y6.createLayout = y6.makeLayout = y6.layout;
+ o(Cme, 'styleCache');
+ o(Y6, 'cacheStyleFunction');
+ o(W6, 'cachePrototypeStyleFunction');
+ Ea = {
+ recalculateRenderedStyle: o(function (e) {
+ var r = this.cy(),
+ n = r.renderer(),
+ i = r.styleEnabled();
+ return n && i && n.recalculateRenderedStyle(this, e), this;
+ }, 'recalculateRenderedStyle'),
+ dirtyStyleCache: o(function () {
+ var e = this.cy(),
+ r = o(function (a) {
+ return (a._private.styleCache = null);
+ }, 'dirty');
+ if (e.hasCompoundNodes()) {
+ var n;
+ (n = this.spawnSelf().merge(this.descendants()).merge(this.parents())),
+ n.merge(n.connectedEdges()),
+ n.forEach(r);
+ } else
+ this.forEach(function (i) {
+ r(i), i.connectedEdges().forEach(r);
+ });
+ return this;
+ }, 'dirtyStyleCache'),
+ updateStyle: o(function (e) {
+ var r = this._private.cy;
+ if (!r.styleEnabled()) return this;
+ if (r.batching()) {
+ var n = r._private.batchStyleEles;
+ return n.merge(this), this;
+ }
+ var i = r.hasCompoundNodes(),
+ a = this;
+ (e = !!(e || e === void 0)),
+ i && (a = this.spawnSelf().merge(this.descendants()).merge(this.parents()));
+ var s = a;
+ return (
+ e ? s.emitAndNotify('style') : s.emit('style'),
+ a.forEach(function (l) {
+ return (l._private.styleDirty = !0);
+ }),
+ this
+ );
+ }, 'updateStyle'),
+ cleanStyle: o(function () {
+ var e = this.cy();
+ if (e.styleEnabled())
+ for (var r = 0; r < this.length; r++) {
+ var n = this[r];
+ n._private.styleDirty && ((n._private.styleDirty = !1), e.style().apply(n));
+ }
+ }, 'cleanStyle'),
+ parsedStyle: o(function (e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
+ n = this[0],
+ i = n.cy();
+ if (i.styleEnabled() && n) {
+ this.cleanStyle();
+ var a = n._private.style[e];
+ return a ?? (r ? i.style().getDefaultProperty(e) : null);
+ }
+ }, 'parsedStyle'),
+ numericStyle: o(function (e) {
+ var r = this[0];
+ if (r.cy().styleEnabled() && r) {
+ var n = r.pstyle(e);
+ return n.pfValue !== void 0 ? n.pfValue : n.value;
+ }
+ }, 'numericStyle'),
+ numericStyleUnits: o(function (e) {
+ var r = this[0];
+ if (r.cy().styleEnabled() && r) return r.pstyle(e).units;
+ }, 'numericStyleUnits'),
+ renderedStyle: o(function (e) {
+ var r = this.cy();
+ if (!r.styleEnabled()) return this;
+ var n = this[0];
+ if (n) return r.style().getRenderedStyle(n, e);
+ }, 'renderedStyle'),
+ style: o(function (e, r) {
+ var n = this.cy();
+ if (!n.styleEnabled()) return this;
+ var i = !1,
+ a = n.style();
+ if (Mr(e)) {
+ var s = e;
+ a.applyBypass(this, s, i), this.emitAndNotify('style');
+ } else if (zt(e))
+ if (r === void 0) {
+ var l = this[0];
+ return l ? a.getStylePropertyValue(l, e) : void 0;
+ } else a.applyBypass(this, e, r, i), this.emitAndNotify('style');
+ else if (e === void 0) {
+ var u = this[0];
+ return u ? a.getRawStyle(u) : void 0;
+ }
+ return this;
+ }, 'style'),
+ removeStyle: o(function (e) {
+ var r = this.cy();
+ if (!r.styleEnabled()) return this;
+ var n = !1,
+ i = r.style(),
+ a = this;
+ if (e === void 0)
+ for (var s = 0; s < a.length; s++) {
+ var l = a[s];
+ i.removeAllBypasses(l, n);
+ }
+ else {
+ e = e.split(/\s+/);
+ for (var u = 0; u < a.length; u++) {
+ var h = a[u];
+ i.removeBypasses(h, e, n);
+ }
+ }
+ return this.emitAndNotify('style'), this;
+ }, 'removeStyle'),
+ show: o(function () {
+ return this.css('display', 'element'), this;
+ }, 'show'),
+ hide: o(function () {
+ return this.css('display', 'none'), this;
+ }, 'hide'),
+ effectiveOpacity: o(function () {
+ var e = this.cy();
+ if (!e.styleEnabled()) return 1;
+ var r = e.hasCompoundNodes(),
+ n = this[0];
+ if (n) {
+ var i = n._private,
+ a = n.pstyle('opacity').value;
+ if (!r) return a;
+ var s = i.data.parent ? n.parents() : null;
+ if (s)
+ for (var l = 0; l < s.length; l++) {
+ var u = s[l],
+ h = u.pstyle('opacity').value;
+ a = h * a;
+ }
+ return a;
+ }
+ }, 'effectiveOpacity'),
+ transparent: o(function () {
+ var e = this.cy();
+ if (!e.styleEnabled()) return !1;
+ var r = this[0],
+ n = r.cy().hasCompoundNodes();
+ if (r) return n ? r.effectiveOpacity() === 0 : r.pstyle('opacity').value === 0;
+ }, 'transparent'),
+ backgrounding: o(function () {
+ var e = this.cy();
+ if (!e.styleEnabled()) return !1;
+ var r = this[0];
+ return !!r._private.backgrounding;
+ }, 'backgrounding')
+ };
+ o(AP, 'checkCompound');
+ o(uB, 'defineDerivedStateFunction');
+ p1 = Y6('eleTakesUpSpace', function (t) {
+ return (
+ t.pstyle('display').value === 'element' && t.width() !== 0 && (t.isNode() ? t.height() !== 0 : !0)
+ );
+ });
+ Ea.takesUpSpace = W6('takesUpSpace', uB({ ok: p1 }));
+ (wKe = Y6('eleInteractive', function (t) {
+ return t.pstyle('events').value === 'yes' && t.pstyle('visibility').value === 'visible' && p1(t);
+ })),
+ (TKe = Y6('parentInteractive', function (t) {
+ return t.pstyle('visibility').value === 'visible' && p1(t);
+ }));
+ Ea.interactive = W6('interactive', uB({ ok: wKe, parentOk: TKe, edgeOkViaNode: p1 }));
+ Ea.noninteractive = function () {
+ var t = this[0];
+ if (t) return !t.interactive();
+ };
+ (kKe = Y6('eleVisible', function (t) {
+ return t.pstyle('visibility').value === 'visible' && t.pstyle('opacity').pfValue !== 0 && p1(t);
+ })),
+ (EKe = p1);
+ Ea.visible = W6('visible', uB({ ok: kKe, edgeOkViaNode: EKe }));
+ Ea.hidden = function () {
+ var t = this[0];
+ if (t) return !t.visible();
+ };
+ Ea.isBundledBezier = W6('isBundledBezier', function () {
+ return this.cy().styleEnabled()
+ ? !this.removed() && this.pstyle('curve-style').value === 'bezier' && this.takesUpSpace()
+ : !1;
+ });
+ Ea.bypass = Ea.css = Ea.style;
+ Ea.renderedCss = Ea.renderedStyle;
+ Ea.removeBypass = Ea.removeCss = Ea.removeStyle;
+ Ea.pstyle = Ea.parsedStyle;
+ Cf = {};
+ o(H0e, 'defineSwitchFunction');
+ o(m1, 'defineSwitchSet');
+ m1({
+ field: 'locked',
+ overrideField: o(function (e) {
+ return e.cy().autolock() ? !0 : void 0;
+ }, 'overrideField'),
+ on: 'lock',
+ off: 'unlock'
+ });
+ m1({
+ field: 'grabbable',
+ overrideField: o(function (e) {
+ return e.cy().autoungrabify() || e.pannable() ? !1 : void 0;
+ }, 'overrideField'),
+ on: 'grabify',
+ off: 'ungrabify'
+ });
+ m1({
+ field: 'selected',
+ ableField: 'selectable',
+ overrideAble: o(function (e) {
+ return e.cy().autounselectify() ? !1 : void 0;
+ }, 'overrideAble'),
+ on: 'select',
+ off: 'unselect'
+ });
+ m1({
+ field: 'selectable',
+ overrideField: o(function (e) {
+ return e.cy().autounselectify() ? !1 : void 0;
+ }, 'overrideField'),
+ on: 'selectify',
+ off: 'unselectify'
+ });
+ Cf.deselect = Cf.unselect;
+ Cf.grabbed = function () {
+ var t = this[0];
+ if (t) return t._private.grabbed;
+ };
+ m1({ field: 'active', on: 'activate', off: 'unactivate' });
+ m1({ field: 'pannable', on: 'panify', off: 'unpanify' });
+ Cf.inactive = function () {
+ var t = this[0];
+ if (t) return !t._private.active;
+ };
+ (Fa = {}),
+ (Y0e = o(function (e) {
+ return o(function (n) {
+ for (var i = this, a = [], s = 0; s < i.length; s++) {
+ var l = i[s];
+ if (l.isNode()) {
+ for (var u = !1, h = l.connectedEdges(), f = 0; f < h.length; f++) {
+ var d = h[f],
+ p = d.source(),
+ m = d.target();
+ if (
+ (e.noIncomingEdges && m === l && p !== l) ||
+ (e.noOutgoingEdges && p === l && m !== l)
+ ) {
+ u = !0;
+ break;
+ }
+ }
+ u || a.push(l);
+ }
+ }
+ return this.spawn(a, !0).filter(n);
+ }, 'dagExtremityImpl');
+ }, 'defineDagExtremity')),
+ (W0e = o(function (e) {
+ return function (r) {
+ for (var n = this, i = [], a = 0; a < n.length; a++) {
+ var s = n[a];
+ if (s.isNode())
+ for (var l = s.connectedEdges(), u = 0; u < l.length; u++) {
+ var h = l[u],
+ f = h.source(),
+ d = h.target();
+ e.outgoing && f === s
+ ? (i.push(h), i.push(d))
+ : e.incoming && d === s && (i.push(h), i.push(f));
+ }
+ }
+ return this.spawn(i, !0).filter(r);
+ };
+ }, 'defineDagOneHop')),
+ (q0e = o(function (e) {
+ return function (r) {
+ for (var n = this, i = [], a = {}; ; ) {
+ var s = e.outgoing ? n.outgoers() : n.incomers();
+ if (s.length === 0) break;
+ for (var l = !1, u = 0; u < s.length; u++) {
+ var h = s[u],
+ f = h.id();
+ a[f] || ((a[f] = !0), i.push(h), (l = !0));
+ }
+ if (!l) break;
+ n = s;
+ }
+ return this.spawn(i, !0).filter(r);
+ };
+ }, 'defineDagAllHops'));
+ Fa.clearTraversalCache = function () {
+ for (var t = 0; t < this.length; t++) this[t]._private.traversalCache = null;
+ };
+ Wt(Fa, {
+ roots: Y0e({ noIncomingEdges: !0 }),
+ leaves: Y0e({ noOutgoingEdges: !0 }),
+ outgoers: tl(W0e({ outgoing: !0 }), 'outgoers'),
+ successors: q0e({ outgoing: !0 }),
+ incomers: tl(W0e({ incoming: !0 }), 'incomers'),
+ predecessors: q0e({ incoming: !0 })
+ });
+ Wt(Fa, {
+ neighborhood: tl(function (t) {
+ for (var e = [], r = this.nodes(), n = 0; n < r.length; n++)
+ for (var i = r[n], a = i.connectedEdges(), s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = l.source(),
+ h = l.target(),
+ f = i === u ? h : u;
+ f.length > 0 && e.push(f[0]), e.push(l[0]);
+ }
+ return this.spawn(e, !0).filter(t);
+ }, 'neighborhood'),
+ closedNeighborhood: o(function (e) {
+ return this.neighborhood().add(this).filter(e);
+ }, 'closedNeighborhood'),
+ openNeighborhood: o(function (e) {
+ return this.neighborhood(e);
+ }, 'openNeighborhood')
+ });
+ Fa.neighbourhood = Fa.neighborhood;
+ Fa.closedNeighbourhood = Fa.closedNeighborhood;
+ Fa.openNeighbourhood = Fa.openNeighborhood;
+ Wt(Fa, {
+ source: tl(
+ o(function (e) {
+ var r = this[0],
+ n;
+ return r && (n = r._private.source || r.cy().collection()), n && e ? n.filter(e) : n;
+ }, 'sourceImpl'),
+ 'source'
+ ),
+ target: tl(
+ o(function (e) {
+ var r = this[0],
+ n;
+ return r && (n = r._private.target || r.cy().collection()), n && e ? n.filter(e) : n;
+ }, 'targetImpl'),
+ 'target'
+ ),
+ sources: X0e({ attr: 'source' }),
+ targets: X0e({ attr: 'target' })
+ });
+ o(X0e, 'defineSourceFunction');
+ Wt(Fa, {
+ edgesWith: tl(j0e(), 'edgesWith'),
+ edgesTo: tl(j0e({ thisIsSrc: !0 }), 'edgesTo')
+ });
+ o(j0e, 'defineEdgesWithFunction');
+ Wt(Fa, {
+ connectedEdges: tl(function (t) {
+ for (var e = [], r = this, n = 0; n < r.length; n++) {
+ var i = r[n];
+ if (i.isNode())
+ for (var a = i._private.edges, s = 0; s < a.length; s++) {
+ var l = a[s];
+ e.push(l);
+ }
+ }
+ return this.spawn(e, !0).filter(t);
+ }, 'connectedEdges'),
+ connectedNodes: tl(function (t) {
+ for (var e = [], r = this, n = 0; n < r.length; n++) {
+ var i = r[n];
+ i.isEdge() && (e.push(i.source()[0]), e.push(i.target()[0]));
+ }
+ return this.spawn(e, !0).filter(t);
+ }, 'connectedNodes'),
+ parallelEdges: tl(K0e(), 'parallelEdges'),
+ codirectedEdges: tl(K0e({ codirected: !0 }), 'codirectedEdges')
+ });
+ o(K0e, 'defineParallelEdgesFunction');
+ Wt(Fa, {
+ components: o(function (e) {
+ var r = this,
+ n = r.cy(),
+ i = n.collection(),
+ a = e == null ? r.nodes() : e.nodes(),
+ s = [];
+ e != null && a.empty() && (a = e.sources());
+ var l = o(function (f, d) {
+ i.merge(f), a.unmerge(f), d.merge(f);
+ }, 'visitInComponent');
+ if (a.empty()) return r.spawn();
+ var u = o(function () {
+ var f = n.collection();
+ s.push(f);
+ var d = a[0];
+ l(d, f),
+ r.bfs({
+ directed: !1,
+ roots: d,
+ visit: o(function (m) {
+ return l(m, f);
+ }, 'visit')
+ }),
+ f.forEach(function (p) {
+ p.connectedEdges().forEach(function (m) {
+ r.has(m) && f.has(m.source()) && f.has(m.target()) && f.merge(m);
+ });
+ });
+ }, '_loop');
+ do u();
+ while (a.length > 0);
+ return s;
+ }, 'components'),
+ component: o(function () {
+ var e = this[0];
+ return e.cy().mutableElements().components(e)[0];
+ }, 'component')
+ });
+ Fa.componentsOf = Fa.components;
+ (Ca = o(function (e, r) {
+ var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1,
+ i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1;
+ if (e === void 0) {
+ oi('A collection must have a reference to the core');
+ return;
+ }
+ var a = new Vc(),
+ s = !1;
+ if (!r) r = [];
+ else if (r.length > 0 && Mr(r[0]) && !Zx(r[0])) {
+ s = !0;
+ for (var l = [], u = new c1(), h = 0, f = r.length; h < f; h++) {
+ var d = r[h];
+ d.data == null && (d.data = {});
+ var p = d.data;
+ if (p.id == null) p.id = Fpe();
+ else if (e.hasElementWithId(p.id) || u.has(p.id)) continue;
+ var m = new B6(e, d, !1);
+ l.push(m), u.add(p.id);
+ }
+ r = l;
+ }
+ this.length = 0;
+ for (var g = 0, y = r.length; g < y; g++) {
+ var v = r[g][0];
+ if (v != null) {
+ var x = v._private.data.id;
+ (!n || !a.has(x)) &&
+ (n && a.set(x, { index: this.length, ele: v }), (this[this.length] = v), this.length++);
+ }
+ }
+ (this._private = {
+ eles: this,
+ cy: e,
+ get map() {
+ return this.lazyMap == null && this.rebuildMap(), this.lazyMap;
+ },
+ set map(b) {
+ this.lazyMap = b;
+ },
+ rebuildMap: o(function () {
+ for (var w = (this.lazyMap = new Vc()), S = this.eles, T = 0; T < S.length; T++) {
+ var E = S[T];
+ w.set(E.id(), { index: T, ele: E });
+ }
+ }, 'rebuildMap')
+ }),
+ n && (this._private.map = a),
+ s && !i && this.restore();
+ }, 'Collection')),
+ (Dn = B6.prototype = Ca.prototype = Object.create(Array.prototype));
+ Dn.instanceString = function () {
+ return 'collection';
+ };
+ Dn.spawn = function (t, e) {
+ return new Ca(this.cy(), t, e);
+ };
+ Dn.spawnSelf = function () {
+ return this.spawn(this);
+ };
+ Dn.cy = function () {
+ return this._private.cy;
+ };
+ Dn.renderer = function () {
+ return this._private.cy.renderer();
+ };
+ Dn.element = function () {
+ return this[0];
+ };
+ Dn.collection = function () {
+ return Epe(this) ? this : new Ca(this._private.cy, [this]);
+ };
+ Dn.unique = function () {
+ return new Ca(this._private.cy, this, !0);
+ };
+ Dn.hasElementWithId = function (t) {
+ return (t = '' + t), this._private.map.has(t);
+ };
+ Dn.getElementById = function (t) {
+ t = '' + t;
+ var e = this._private.cy,
+ r = this._private.map.get(t);
+ return r ? r.ele : new Ca(e);
+ };
+ Dn.$id = Dn.getElementById;
+ Dn.poolIndex = function () {
+ var t = this._private.cy,
+ e = t._private.elements,
+ r = this[0]._private.data.id;
+ return e._private.map.get(r).index;
+ };
+ Dn.indexOf = function (t) {
+ var e = t[0]._private.data.id;
+ return this._private.map.get(e).index;
+ };
+ Dn.indexOfId = function (t) {
+ return (t = '' + t), this._private.map.get(t).index;
+ };
+ Dn.json = function (t) {
+ var e = this.element(),
+ r = this.cy();
+ if (e == null && t) return this;
+ if (e != null) {
+ var n = e._private;
+ if (Mr(t)) {
+ if ((r.startBatch(), t.data)) {
+ e.data(t.data);
+ var i = n.data;
+ if (e.isEdge()) {
+ var a = !1,
+ s = {},
+ l = t.data.source,
+ u = t.data.target;
+ l != null && l != i.source && ((s.source = '' + l), (a = !0)),
+ u != null && u != i.target && ((s.target = '' + u), (a = !0)),
+ a && (e = e.move(s));
+ } else {
+ var h = 'parent' in t.data,
+ f = t.data.parent;
+ h &&
+ (f != null || i.parent != null) &&
+ f != i.parent &&
+ (f === void 0 && (f = null),
+ f != null && (f = '' + f),
+ (e = e.move({ parent: f })));
+ }
+ }
+ t.position && e.position(t.position);
+ var d = o(function (y, v, x) {
+ var b = t[y];
+ b != null && b !== n[y] && (b ? e[v]() : e[x]());
+ }, 'checkSwitch');
+ return (
+ d('removed', 'remove', 'restore'),
+ d('selected', 'select', 'unselect'),
+ d('selectable', 'selectify', 'unselectify'),
+ d('locked', 'lock', 'unlock'),
+ d('grabbable', 'grabify', 'ungrabify'),
+ d('pannable', 'panify', 'unpanify'),
+ t.classes != null && e.classes(t.classes),
+ r.endBatch(),
+ this
+ );
+ } else if (t === void 0) {
+ var p = {
+ data: $c(n.data),
+ position: $c(n.position),
+ group: n.group,
+ removed: n.removed,
+ selected: n.selected,
+ selectable: n.selectable,
+ locked: n.locked,
+ grabbable: n.grabbable,
+ pannable: n.pannable,
+ classes: null
+ };
+ p.classes = '';
+ var m = 0;
+ return (
+ n.classes.forEach(function (g) {
+ return (p.classes += m++ === 0 ? g : ' ' + g);
+ }),
+ p
+ );
+ }
+ }
+ };
+ Dn.jsons = function () {
+ for (var t = [], e = 0; e < this.length; e++) {
+ var r = this[e],
+ n = r.json();
+ t.push(n);
+ }
+ return t;
+ };
+ Dn.clone = function () {
+ for (var t = this.cy(), e = [], r = 0; r < this.length; r++) {
+ var n = this[r],
+ i = n.json(),
+ a = new B6(t, i, !1);
+ e.push(a);
+ }
+ return new Ca(t, e);
+ };
+ Dn.copy = Dn.clone;
+ Dn.restore = function () {
+ for (
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0,
+ e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
+ r = this,
+ n = r.cy(),
+ i = n._private,
+ a = [],
+ s = [],
+ l,
+ u = 0,
+ h = r.length;
+ u < h;
+ u++
+ ) {
+ var f = r[u];
+ (e && !f.removed()) || (f.isNode() ? a.push(f) : s.push(f));
+ }
+ l = a.concat(s);
+ var d,
+ p = o(function () {
+ l.splice(d, 1), d--;
+ }, 'removeFromElements');
+ for (d = 0; d < l.length; d++) {
+ var m = l[d],
+ g = m._private,
+ y = g.data;
+ if ((m.clearTraversalCache(), !(!e && !g.removed))) {
+ if (y.id === void 0) y.id = Fpe();
+ else if (ft(y.id)) y.id = '' + y.id;
+ else if (Sf(y.id) || !zt(y.id)) {
+ oi('Can not create element with invalid string ID `' + y.id + '`'), p();
+ continue;
+ } else if (n.hasElementWithId(y.id)) {
+ oi('Can not create second element with ID `' + y.id + '`'), p();
+ continue;
+ }
+ }
+ var v = y.id;
+ if (m.isNode()) {
+ var x = g.position;
+ x.x == null && (x.x = 0), x.y == null && (x.y = 0);
+ }
+ if (m.isEdge()) {
+ for (var b = m, w = ['source', 'target'], S = w.length, T = !1, E = 0; E < S; E++) {
+ var _ = w[E],
+ A = y[_];
+ ft(A) && (A = y[_] = '' + y[_]),
+ A == null || A === ''
+ ? (oi('Can not create edge `' + v + '` with unspecified ' + _), (T = !0))
+ : n.hasElementWithId(A) ||
+ (oi('Can not create edge `' + v + '` with nonexistant ' + _ + ' `' + A + '`'),
+ (T = !0));
+ }
+ if (T) {
+ p();
+ continue;
+ }
+ var L = n.getElementById(y.source),
+ M = n.getElementById(y.target);
+ L.same(M) ? L._private.edges.push(b) : (L._private.edges.push(b), M._private.edges.push(b)),
+ (b._private.source = L),
+ (b._private.target = M);
+ }
+ (g.map = new Vc()), g.map.set(v, { ele: m, index: 0 }), (g.removed = !1), e && n.addToPool(m);
+ }
+ for (var N = 0; N < a.length; N++) {
+ var k = a[N],
+ I = k._private.data;
+ ft(I.parent) && (I.parent = '' + I.parent);
+ var C = I.parent,
+ O = C != null;
+ if (O || k._private.parent) {
+ var D = k._private.parent ? n.collection().merge(k._private.parent) : n.getElementById(C);
+ if (D.empty()) I.parent = void 0;
+ else if (D[0].removed())
+ tn('Node added with missing parent, reference to parent removed'),
+ (I.parent = void 0),
+ (k._private.parent = null);
+ else {
+ for (var P = !1, F = D; !F.empty(); ) {
+ if (k.same(F)) {
+ (P = !0), (I.parent = void 0);
+ break;
+ }
+ F = F.parent();
+ }
+ P ||
+ (D[0]._private.children.push(k), (k._private.parent = D[0]), (i.hasCompoundNodes = !0));
+ }
+ }
+ }
+ if (l.length > 0) {
+ for (var B = l.length === r.length ? r : new Ca(n, l), $ = 0; $ < B.length; $++) {
+ var z = B[$];
+ z.isNode() ||
+ (z.parallelEdges().clearTraversalCache(),
+ z.source().clearTraversalCache(),
+ z.target().clearTraversalCache());
+ }
+ var Y;
+ i.hasCompoundNodes
+ ? (Y = n.collection().merge(B).merge(B.connectedNodes()).merge(B.parent()))
+ : (Y = B),
+ Y.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(t),
+ t ? B.emitAndNotify('add') : e && B.emit('add');
+ }
+ return r;
+ };
+ Dn.removed = function () {
+ var t = this[0];
+ return t && t._private.removed;
+ };
+ Dn.inside = function () {
+ var t = this[0];
+ return t && !t._private.removed;
+ };
+ Dn.remove = function () {
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0,
+ e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
+ r = this,
+ n = [],
+ i = {},
+ a = r._private.cy;
+ function s(C) {
+ for (var O = C._private.edges, D = 0; D < O.length; D++) u(O[D]);
+ }
+ o(s, 'addConnectedEdges');
+ function l(C) {
+ for (var O = C._private.children, D = 0; D < O.length; D++) u(O[D]);
+ }
+ o(l, 'addChildren');
+ function u(C) {
+ var O = i[C.id()];
+ (e && C.removed()) || O || ((i[C.id()] = !0), C.isNode() ? (n.push(C), s(C), l(C)) : n.unshift(C));
+ }
+ o(u, 'add');
+ for (var h = 0, f = r.length; h < f; h++) {
+ var d = r[h];
+ u(d);
+ }
+ function p(C, O) {
+ var D = C._private.edges;
+ Af(D, O), C.clearTraversalCache();
+ }
+ o(p, 'removeEdgeRef');
+ function m(C) {
+ C.clearTraversalCache();
+ }
+ o(m, 'removeParallelRef');
+ var g = [];
+ g.ids = {};
+ function y(C, O) {
+ (O = O[0]), (C = C[0]);
+ var D = C._private.children,
+ P = C.id();
+ Af(D, O), (O._private.parent = null), g.ids[P] || ((g.ids[P] = !0), g.push(C));
+ }
+ o(y, 'removeChildRef'), r.dirtyCompoundBoundsCache(), e && a.removeFromPool(n);
+ for (var v = 0; v < n.length; v++) {
+ var x = n[v];
+ if (x.isEdge()) {
+ var b = x.source()[0],
+ w = x.target()[0];
+ p(b, x), p(w, x);
+ for (var S = x.parallelEdges(), T = 0; T < S.length; T++) {
+ var E = S[T];
+ m(E), E.isBundledBezier() && E.dirtyBoundingBoxCache();
+ }
+ } else {
+ var _ = x.parent();
+ _.length !== 0 && y(_, x);
+ }
+ e && (x._private.removed = !0);
+ }
+ var A = a._private.elements;
+ a._private.hasCompoundNodes = !1;
+ for (var L = 0; L < A.length; L++) {
+ var M = A[L];
+ if (M.isParent()) {
+ a._private.hasCompoundNodes = !0;
+ break;
+ }
+ }
+ var N = new Ca(this.cy(), n);
+ N.size() > 0 && (t ? N.emitAndNotify('remove') : e && N.emit('remove'));
+ for (var k = 0; k < g.length; k++) {
+ var I = g[k];
+ (!e || !I.removed()) && I.updateStyle();
+ }
+ return N;
+ };
+ Dn.move = function (t) {
+ var e = this._private.cy,
+ r = this,
+ n = !1,
+ i = !1,
+ a = o(function (g) {
+ return g == null ? g : '' + g;
+ }, 'toString');
+ if (t.source !== void 0 || t.target !== void 0) {
+ var s = a(t.source),
+ l = a(t.target),
+ u = s != null && e.hasElementWithId(s),
+ h = l != null && e.hasElementWithId(l);
+ (u || h) &&
+ (e.batch(function () {
+ r.remove(n, i), r.emitAndNotify('moveout');
+ for (var m = 0; m < r.length; m++) {
+ var g = r[m],
+ y = g._private.data;
+ g.isEdge() && (u && (y.source = s), h && (y.target = l));
+ }
+ r.restore(n, i);
+ }),
+ r.emitAndNotify('move'));
+ } else if (t.parent !== void 0) {
+ var f = a(t.parent),
+ d = f === null || e.hasElementWithId(f);
+ if (d) {
+ var p = f === null ? void 0 : f;
+ e.batch(function () {
+ var m = r.remove(n, i);
+ m.emitAndNotify('moveout');
+ for (var g = 0; g < r.length; g++) {
+ var y = r[g],
+ v = y._private.data;
+ y.isNode() && (v.parent = p);
+ }
+ m.restore(n, i);
+ }),
+ r.emitAndNotify('move');
+ }
+ }
+ return this;
+ };
+ [Qpe, Oje, g6, Ef, l1, Qje, U6, dKe, Tme, kme, vKe, L6, y6, Ea, Cf, Fa].forEach(function (t) {
+ Wt(Dn, t);
+ });
+ CKe = {
+ add: o(function (e) {
+ var r,
+ n = this;
+ if (xo(e)) {
+ var i = e;
+ if (i._private.cy === n) r = i.restore();
+ else {
+ for (var a = [], s = 0; s < i.length; s++) {
+ var l = i[s];
+ a.push(l.json());
+ }
+ r = new Ca(n, a);
+ }
+ } else if (vn(e)) {
+ var u = e;
+ r = new Ca(n, u);
+ } else if (Mr(e) && (vn(e.nodes) || vn(e.edges))) {
+ for (var h = e, f = [], d = ['nodes', 'edges'], p = 0, m = d.length; p < m; p++) {
+ var g = d[p],
+ y = h[g];
+ if (vn(y))
+ for (var v = 0, x = y.length; v < x; v++) {
+ var b = Wt({ group: g }, y[v]);
+ f.push(b);
+ }
+ }
+ r = new Ca(n, f);
+ } else {
+ var w = e;
+ r = new B6(n, w).collection();
+ }
+ return r;
+ }, 'add'),
+ remove: o(function (e) {
+ if (!xo(e)) {
+ if (zt(e)) {
+ var r = e;
+ e = this.$(r);
+ }
+ }
+ return e.remove();
+ }, 'remove')
+ };
+ o(SKe, 'generateCubicBezier');
+ (AKe = (function () {
+ function t(n) {
+ return -n.tension * n.x - n.friction * n.v;
+ }
+ o(t, 'springAccelerationForState');
+ function e(n, i, a) {
+ var s = {
+ x: n.x + a.dx * i,
+ v: n.v + a.dv * i,
+ tension: n.tension,
+ friction: n.friction
+ };
+ return { dx: s.v, dv: t(s) };
+ }
+ o(e, 'springEvaluateStateWithDerivative');
+ function r(n, i) {
+ var a = { dx: n.v, dv: t(n) },
+ s = e(n, i * 0.5, a),
+ l = e(n, i * 0.5, s),
+ u = e(n, i, l),
+ h = (1 / 6) * (a.dx + 2 * (s.dx + l.dx) + u.dx),
+ f = (1 / 6) * (a.dv + 2 * (s.dv + l.dv) + u.dv);
+ return (n.x = n.x + h * i), (n.v = n.v + f * i), n;
+ }
+ return (
+ o(r, 'springIntegrateState'),
+ o(function n(i, a, s) {
+ var l = { x: -1, v: 0, tension: null, friction: null },
+ u = [0],
+ h = 0,
+ f = 1 / 1e4,
+ d = 16 / 1e3,
+ p,
+ m,
+ g;
+ for (
+ i = parseFloat(i) || 500,
+ a = parseFloat(a) || 20,
+ s = s || null,
+ l.tension = i,
+ l.friction = a,
+ p = s !== null,
+ p ? ((h = n(i, a)), (m = (h / s) * d)) : (m = d);
+ (g = r(g || l, m)), u.push(1 + g.x), (h += 16), Math.abs(g.x) > f && Math.abs(g.v) > f;
+
+ );
+ return p
+ ? function (y) {
+ return u[(y * (u.length - 1)) | 0];
+ }
+ : h;
+ }, 'springRK4Factory')
+ );
+ })()),
+ (Ln = o(function (e, r, n, i) {
+ var a = SKe(e, r, n, i);
+ return function (s, l, u) {
+ return s + (l - s) * a(u);
+ };
+ }, 'cubicBezier')),
+ (v6 = {
+ linear: o(function (e, r, n) {
+ return e + (r - e) * n;
+ }, 'linear'),
+ ease: Ln(0.25, 0.1, 0.25, 1),
+ 'ease-in': Ln(0.42, 0, 1, 1),
+ 'ease-out': Ln(0, 0, 0.58, 1),
+ 'ease-in-out': Ln(0.42, 0, 0.58, 1),
+ 'ease-in-sine': Ln(0.47, 0, 0.745, 0.715),
+ 'ease-out-sine': Ln(0.39, 0.575, 0.565, 1),
+ 'ease-in-out-sine': Ln(0.445, 0.05, 0.55, 0.95),
+ 'ease-in-quad': Ln(0.55, 0.085, 0.68, 0.53),
+ 'ease-out-quad': Ln(0.25, 0.46, 0.45, 0.94),
+ 'ease-in-out-quad': Ln(0.455, 0.03, 0.515, 0.955),
+ 'ease-in-cubic': Ln(0.55, 0.055, 0.675, 0.19),
+ 'ease-out-cubic': Ln(0.215, 0.61, 0.355, 1),
+ 'ease-in-out-cubic': Ln(0.645, 0.045, 0.355, 1),
+ 'ease-in-quart': Ln(0.895, 0.03, 0.685, 0.22),
+ 'ease-out-quart': Ln(0.165, 0.84, 0.44, 1),
+ 'ease-in-out-quart': Ln(0.77, 0, 0.175, 1),
+ 'ease-in-quint': Ln(0.755, 0.05, 0.855, 0.06),
+ 'ease-out-quint': Ln(0.23, 1, 0.32, 1),
+ 'ease-in-out-quint': Ln(0.86, 0, 0.07, 1),
+ 'ease-in-expo': Ln(0.95, 0.05, 0.795, 0.035),
+ 'ease-out-expo': Ln(0.19, 1, 0.22, 1),
+ 'ease-in-out-expo': Ln(1, 0, 0, 1),
+ 'ease-in-circ': Ln(0.6, 0.04, 0.98, 0.335),
+ 'ease-out-circ': Ln(0.075, 0.82, 0.165, 1),
+ 'ease-in-out-circ': Ln(0.785, 0.135, 0.15, 0.86),
+ spring: o(function (e, r, n) {
+ if (n === 0) return v6.linear;
+ var i = AKe(e, r, n);
+ return function (a, s, l) {
+ return a + (s - a) * i(l);
+ };
+ }, 'spring'),
+ 'cubic-bezier': Ln
+ });
+ o(Q0e, 'getEasedValue');
+ o(Z0e, 'getValue');
+ o(jg, 'ease');
+ o(_Ke, 'step$1');
+ o(Nx, 'valid');
+ o(LKe, 'startAnimation');
+ o(J0e, 'stepAll');
+ (DKe = {
+ animate: en.animate(),
+ animation: en.animation(),
+ animated: en.animated(),
+ clearQueue: en.clearQueue(),
+ delay: en.delay(),
+ delayAnimation: en.delayAnimation(),
+ stop: en.stop(),
+ addToAnimationPool: o(function (e) {
+ var r = this;
+ r.styleEnabled() && r._private.aniEles.merge(e);
+ }, 'addToAnimationPool'),
+ stopAnimationLoop: o(function () {
+ this._private.animationsRunning = !1;
+ }, 'stopAnimationLoop'),
+ startAnimationLoop: o(function () {
+ var e = this;
+ if (((e._private.animationsRunning = !0), !e.styleEnabled())) return;
+ function r() {
+ e._private.animationsRunning &&
+ E6(
+ o(function (a) {
+ J0e(a, e), r();
+ }, 'animationStep')
+ );
+ }
+ o(r, 'headlessStep');
+ var n = e.renderer();
+ n && n.beforeRender
+ ? n.beforeRender(
+ o(function (a, s) {
+ J0e(s, e);
+ }, 'rendererAnimationStep'),
+ n.beforeRenderPriorities.animations
+ )
+ : r();
+ }, 'startAnimationLoop')
+ }),
+ (RKe = {
+ qualifierCompare: o(function (e, r) {
+ return e == null || r == null ? e == null && r == null : e.sameText(r);
+ }, 'qualifierCompare'),
+ eventMatches: o(function (e, r, n) {
+ var i = r.qualifier;
+ return i != null ? e !== n.target && Zx(n.target) && i.matches(n.target) : !0;
+ }, 'eventMatches'),
+ addEventFields: o(function (e, r) {
+ (r.cy = e), (r.target = e);
+ }, 'addEventFields'),
+ callbackContext: o(function (e, r, n) {
+ return r.qualifier != null ? n.target : e;
+ }, 'callbackContext')
+ }),
+ (h6 = o(function (e) {
+ return zt(e) ? new _f(e) : e;
+ }, 'argSelector')),
+ (Sme = {
+ createEmitter: o(function () {
+ var e = this._private;
+ return e.emitter || (e.emitter = new H6(RKe, this)), this;
+ }, 'createEmitter'),
+ emitter: o(function () {
+ return this._private.emitter;
+ }, 'emitter'),
+ on: o(function (e, r, n) {
+ return this.emitter().on(e, h6(r), n), this;
+ }, 'on'),
+ removeListener: o(function (e, r, n) {
+ return this.emitter().removeListener(e, h6(r), n), this;
+ }, 'removeListener'),
+ removeAllListeners: o(function () {
+ return this.emitter().removeAllListeners(), this;
+ }, 'removeAllListeners'),
+ one: o(function (e, r, n) {
+ return this.emitter().one(e, h6(r), n), this;
+ }, 'one'),
+ once: o(function (e, r, n) {
+ return this.emitter().one(e, h6(r), n), this;
+ }, 'once'),
+ emit: o(function (e, r) {
+ return this.emitter().emit(e, r), this;
+ }, 'emit'),
+ emitAndNotify: o(function (e, r) {
+ return this.emit(e), this.notify(e, r), this;
+ }, 'emitAndNotify')
+ });
+ en.eventAliasesOn(Sme);
+ FP = {
+ png: o(function (e) {
+ var r = this._private.renderer;
+ return (e = e || {}), r.png(e);
+ }, 'png'),
+ jpg: o(function (e) {
+ var r = this._private.renderer;
+ return (e = e || {}), (e.bg = e.bg || '#fff'), r.jpg(e);
+ }, 'jpg')
+ };
+ FP.jpeg = FP.jpg;
+ x6 = {
+ layout: o(function (e) {
+ var r = this;
+ if (e == null) {
+ oi('Layout options must be specified to make a layout');
+ return;
+ }
+ if (e.name == null) {
+ oi('A `name` must be specified to make a layout');
+ return;
+ }
+ var n = e.name,
+ i = r.extension('layout', n);
+ if (i == null) {
+ oi('No such layout `' + n + '` found. Did you forget to import it and `cytoscape.use()` it?');
+ return;
+ }
+ var a;
+ zt(e.eles) ? (a = r.$(e.eles)) : (a = e.eles != null ? e.eles : r.$());
+ var s = new i(Wt({}, e, { cy: r, eles: a }));
+ return s;
+ }, 'layout')
+ };
+ x6.createLayout = x6.makeLayout = x6.layout;
+ (NKe = {
+ notify: o(function (e, r) {
+ var n = this._private;
+ if (this.batching()) {
+ n.batchNotifications = n.batchNotifications || {};
+ var i = (n.batchNotifications[e] = n.batchNotifications[e] || this.collection());
+ r != null && i.merge(r);
+ return;
+ }
+ if (n.notificationsEnabled) {
+ var a = this.renderer();
+ this.destroyed() || !a || a.notify(e, r);
+ }
+ }, 'notify'),
+ notifications: o(function (e) {
+ var r = this._private;
+ return e === void 0 ? r.notificationsEnabled : ((r.notificationsEnabled = !!e), this);
+ }, 'notifications'),
+ noNotifications: o(function (e) {
+ this.notifications(!1), e(), this.notifications(!0);
+ }, 'noNotifications'),
+ batching: o(function () {
+ return this._private.batchCount > 0;
+ }, 'batching'),
+ startBatch: o(function () {
+ var e = this._private;
+ return (
+ e.batchCount == null && (e.batchCount = 0),
+ e.batchCount === 0 && ((e.batchStyleEles = this.collection()), (e.batchNotifications = {})),
+ e.batchCount++,
+ this
+ );
+ }, 'startBatch'),
+ endBatch: o(function () {
+ var e = this._private;
+ if (e.batchCount === 0) return this;
+ if ((e.batchCount--, e.batchCount === 0)) {
+ e.batchStyleEles.updateStyle();
+ var r = this.renderer();
+ Object.keys(e.batchNotifications).forEach(function (n) {
+ var i = e.batchNotifications[n];
+ i.empty() ? r.notify(n) : r.notify(n, i);
+ });
+ }
+ return this;
+ }, 'endBatch'),
+ batch: o(function (e) {
+ return this.startBatch(), e(), this.endBatch(), this;
+ }, 'batch'),
+ batchData: o(function (e) {
+ var r = this;
+ return this.batch(function () {
+ for (var n = Object.keys(e), i = 0; i < n.length; i++) {
+ var a = n[i],
+ s = e[a],
+ l = r.getElementById(a);
+ l.data(s);
+ }
+ });
+ }, 'batchData')
+ }),
+ (MKe = Sa({
+ hideEdgesOnViewport: !1,
+ textureOnViewport: !1,
+ motionBlur: !1,
+ motionBlurOpacity: 0.05,
+ pixelRatio: void 0,
+ desktopTapThreshold: 4,
+ touchTapThreshold: 8,
+ wheelSensitivity: 1,
+ debug: !1,
+ showFps: !1
+ })),
+ (zP = {
+ renderTo: o(function (e, r, n, i) {
+ var a = this._private.renderer;
+ return a.renderTo(e, r, n, i), this;
+ }, 'renderTo'),
+ renderer: o(function () {
+ return this._private.renderer;
+ }, 'renderer'),
+ forceRender: o(function () {
+ return this.notify('draw'), this;
+ }, 'forceRender'),
+ resize: o(function () {
+ return this.invalidateSize(), this.emitAndNotify('resize'), this;
+ }, 'resize'),
+ initRenderer: o(function (e) {
+ var r = this,
+ n = r.extension('renderer', e.name);
+ if (n == null) {
+ oi(
+ 'Can not initialise: No such renderer `'.concat(
+ e.name,
+ '` found. Did you forget to import it and `cytoscape.use()` it?'
+ )
+ );
+ return;
+ }
+ e.wheelSensitivity !== void 0 &&
+ tn(
+ 'You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.'
+ );
+ var i = MKe(e);
+ (i.cy = r), (r._private.renderer = new n(i)), this.notify('init');
+ }, 'initRenderer'),
+ destroyRenderer: o(function () {
+ var e = this;
+ e.notify('destroy');
+ var r = e.container();
+ if (r) for (r._cyreg = null; r.childNodes.length > 0; ) r.removeChild(r.childNodes[0]);
+ (e._private.renderer = null),
+ e.mutableElements().forEach(function (n) {
+ var i = n._private;
+ (i.rscratch = {}),
+ (i.rstyle = {}),
+ (i.animation.current = []),
+ (i.animation.queue = []);
+ });
+ }, 'destroyRenderer'),
+ onRender: o(function (e) {
+ return this.on('render', e);
+ }, 'onRender'),
+ offRender: o(function (e) {
+ return this.off('render', e);
+ }, 'offRender')
+ });
+ zP.invalidateDimensions = zP.resize;
+ b6 = {
+ collection: o(function (e, r) {
+ return zt(e)
+ ? this.$(e)
+ : xo(e)
+ ? e.collection()
+ : vn(e)
+ ? (r || (r = {}), new Ca(this, e, r.unique, r.removed))
+ : new Ca(this);
+ }, 'collection'),
+ nodes: o(function (e) {
+ var r = this.$(function (n) {
+ return n.isNode();
+ });
+ return e ? r.filter(e) : r;
+ }, 'nodes'),
+ edges: o(function (e) {
+ var r = this.$(function (n) {
+ return n.isEdge();
+ });
+ return e ? r.filter(e) : r;
+ }, 'edges'),
+ $: o(function (e) {
+ var r = this._private.elements;
+ return e ? r.filter(e) : r.spawnSelf();
+ }, '$'),
+ mutableElements: o(function () {
+ return this._private.elements;
+ }, 'mutableElements')
+ };
+ b6.elements = b6.filter = b6.$;
+ (Ga = {}), (Fx = 't'), (IKe = 'f');
+ Ga.apply = function (t) {
+ for (var e = this, r = e._private, n = r.cy, i = n.collection(), a = 0; a < t.length; a++) {
+ var s = t[a],
+ l = e.getContextMeta(s);
+ if (!l.empty) {
+ var u = e.getContextStyle(l),
+ h = e.applyContextStyle(l, u, s);
+ s._private.appliedInitStyle
+ ? e.updateTransitions(s, h.diffProps)
+ : (s._private.appliedInitStyle = !0);
+ var f = e.updateStyleHints(s);
+ f && i.push(s);
+ }
+ }
+ return i;
+ };
+ Ga.getPropertiesDiff = function (t, e) {
+ var r = this,
+ n = (r._private.propDiffs = r._private.propDiffs || {}),
+ i = t + '-' + e,
+ a = n[i];
+ if (a) return a;
+ for (var s = [], l = {}, u = 0; u < r.length; u++) {
+ var h = r[u],
+ f = t[u] === Fx,
+ d = e[u] === Fx,
+ p = f !== d,
+ m = h.mappedProperties.length > 0;
+ if (p || (d && m)) {
+ var g = void 0;
+ (p && m) || p ? (g = h.properties) : m && (g = h.mappedProperties);
+ for (var y = 0; y < g.length; y++) {
+ for (var v = g[y], x = v.name, b = !1, w = u + 1; w < r.length; w++) {
+ var S = r[w],
+ T = e[w] === Fx;
+ if (T && ((b = S.properties[v.name] != null), b)) break;
+ }
+ !l[x] && !b && ((l[x] = !0), s.push(x));
+ }
+ }
+ }
+ return (n[i] = s), s;
+ };
+ Ga.getContextMeta = function (t) {
+ for (var e = this, r = '', n, i = t._private.styleCxtKey || '', a = 0; a < e.length; a++) {
+ var s = e[a],
+ l = s.selector && s.selector.matches(t);
+ l ? (r += Fx) : (r += IKe);
+ }
+ return (
+ (n = e.getPropertiesDiff(i, r)),
+ (t._private.styleCxtKey = r),
+ { key: r, diffPropNames: n, empty: n.length === 0 }
+ );
+ };
+ Ga.getContextStyle = function (t) {
+ var e = t.key,
+ r = this,
+ n = (this._private.contextStyles = this._private.contextStyles || {});
+ if (n[e]) return n[e];
+ for (var i = { _private: { key: e } }, a = 0; a < r.length; a++) {
+ var s = r[a],
+ l = e[a] === Fx;
+ if (l)
+ for (var u = 0; u < s.properties.length; u++) {
+ var h = s.properties[u];
+ i[h.name] = h;
+ }
+ }
+ return (n[e] = i), i;
+ };
+ Ga.applyContextStyle = function (t, e, r) {
+ for (var n = this, i = t.diffPropNames, a = {}, s = n.types, l = 0; l < i.length; l++) {
+ var u = i[l],
+ h = e[u],
+ f = r.pstyle(u);
+ if (!h)
+ if (f) f.bypass ? (h = { name: u, deleteBypassed: !0 }) : (h = { name: u, delete: !0 });
+ else continue;
+ if (f !== h) {
+ if (h.mapped === s.fn && f != null && f.mapping != null && f.mapping.value === h.value) {
+ var d = f.mapping,
+ p = (d.fnValue = h.value(r));
+ if (p === d.prevFnValue) continue;
+ }
+ var m = (a[u] = { prev: f });
+ n.applyParsedProperty(r, h),
+ (m.next = r.pstyle(u)),
+ m.next && m.next.bypass && (m.next = m.next.bypassed);
+ }
+ }
+ return { diffProps: a };
+ };
+ Ga.updateStyleHints = function (t) {
+ var e = t._private,
+ r = this,
+ n = r.propertyGroupNames,
+ i = r.propertyGroupKeys,
+ a = o(function (K, se, ce) {
+ return r.getPropertiesHash(K, se, ce);
+ }, 'propHash'),
+ s = e.styleKey;
+ if (t.removed()) return !1;
+ var l = e.group === 'nodes',
+ u = t._private.style;
+ n = Object.keys(u);
+ for (var h = 0; h < i.length; h++) {
+ var f = i[h];
+ e.styleKeys[f] = [Zg, Ix];
+ }
+ for (
+ var d = o(function (K, se) {
+ return (e.styleKeys[se][0] = $x(K, e.styleKeys[se][0]));
+ }, 'updateGrKey1'),
+ p = o(function (K, se) {
+ return (e.styleKeys[se][1] = Vx(K, e.styleKeys[se][1]));
+ }, 'updateGrKey2'),
+ m = o(function (K, se) {
+ d(K, se), p(K, se);
+ }, 'updateGrKey'),
+ g = o(function (K, se) {
+ for (var ce = 0; ce < K.length; ce++) {
+ var ue = K.charCodeAt(ce);
+ d(ue, se), p(ue, se);
+ }
+ }, 'updateGrKeyWStr'),
+ y = 2e9,
+ v = o(function (K) {
+ return -128 < K && K < 128 && Math.floor(K) !== K ? y - ((K * 1024) | 0) : K;
+ }, 'cleanNum'),
+ x = 0;
+ x < n.length;
+ x++
+ ) {
+ var b = n[x],
+ w = u[b];
+ if (w != null) {
+ var S = this.properties[b],
+ T = S.type,
+ E = S.groupKey,
+ _ = void 0;
+ S.hashOverride != null ? (_ = S.hashOverride(t, w)) : w.pfValue != null && (_ = w.pfValue);
+ var A = S.enums == null ? w.value : null,
+ L = _ != null,
+ M = A != null,
+ N = L || M,
+ k = w.units;
+ if (T.number && N && !T.multiple) {
+ var I = L ? _ : A;
+ m(v(I), E), !L && k != null && g(k, E);
+ } else g(w.strValue, E);
+ }
+ }
+ for (var C = [Zg, Ix], O = 0; O < i.length; O++) {
+ var D = i[O],
+ P = e.styleKeys[D];
+ (C[0] = $x(P[0], C[0])), (C[1] = Vx(P[1], C[1]));
+ }
+ e.styleKey = zYe(C[0], C[1]);
+ var F = e.styleKeys;
+ e.labelDimsKey = bf(F.labelDimensions);
+ var B = a(t, ['label'], F.labelDimensions);
+ if (((e.labelKey = bf(B)), (e.labelStyleKey = bf(r6(F.commonLabel, B))), !l)) {
+ var $ = a(t, ['source-label'], F.labelDimensions);
+ (e.sourceLabelKey = bf($)), (e.sourceLabelStyleKey = bf(r6(F.commonLabel, $)));
+ var z = a(t, ['target-label'], F.labelDimensions);
+ (e.targetLabelKey = bf(z)), (e.targetLabelStyleKey = bf(r6(F.commonLabel, z)));
+ }
+ if (l) {
+ var Y = e.styleKeys,
+ Q = Y.nodeBody,
+ X = Y.nodeBorder,
+ ie = Y.nodeOutline,
+ j = Y.backgroundImage,
+ J = Y.compound,
+ Z = Y.pie,
+ H = [Q, X, ie, j, J, Z]
+ .filter(function (q) {
+ return q != null;
+ })
+ .reduce(r6, [Zg, Ix]);
+ (e.nodeKey = bf(H)), (e.hasPie = Z != null && Z[0] !== Zg && Z[1] !== Ix);
+ }
+ return s !== e.styleKey;
+ };
+ Ga.clearStyleHints = function (t) {
+ var e = t._private;
+ (e.styleCxtKey = ''),
+ (e.styleKeys = {}),
+ (e.styleKey = null),
+ (e.labelKey = null),
+ (e.labelStyleKey = null),
+ (e.sourceLabelKey = null),
+ (e.sourceLabelStyleKey = null),
+ (e.targetLabelKey = null),
+ (e.targetLabelStyleKey = null),
+ (e.nodeKey = null),
+ (e.hasPie = null);
+ };
+ Ga.applyParsedProperty = function (t, e) {
+ var r = this,
+ n = e,
+ i = t._private.style,
+ a,
+ s = r.types,
+ l = r.properties[n.name].type,
+ u = n.bypass,
+ h = i[n.name],
+ f = h && h.bypass,
+ d = t._private,
+ p = 'mapping',
+ m = o(function (Q) {
+ return Q == null ? null : Q.pfValue != null ? Q.pfValue : Q.value;
+ }, 'getVal'),
+ g = o(function () {
+ var Q = m(h),
+ X = m(n);
+ r.checkTriggers(t, n.name, Q, X);
+ }, 'checkTriggers');
+ if (
+ (e.name === 'curve-style' &&
+ t.isEdge() &&
+ ((e.value !== 'bezier' && t.isLoop()) ||
+ (e.value === 'haystack' && (t.source().isParent() || t.target().isParent()))) &&
+ (n = e = this.parse(e.name, 'bezier', u)),
+ n.delete)
+ )
+ return (i[n.name] = void 0), g(), !0;
+ if (n.deleteBypassed) return h ? (h.bypass ? ((h.bypassed = void 0), g(), !0) : !1) : (g(), !0);
+ if (n.deleteBypass) return h ? (h.bypass ? ((i[n.name] = h.bypassed), g(), !0) : !1) : (g(), !0);
+ var y = o(function () {
+ tn(
+ 'Do not assign mappings to elements without corresponding data (i.e. ele `' +
+ t.id() +
+ '` has no mapping for property `' +
+ n.name +
+ '` with data field `' +
+ n.field +
+ '`); try a `[' +
+ n.field +
+ ']` selector to limit scope to elements with `' +
+ n.field +
+ '` defined'
+ );
+ }, 'printMappingErr');
+ switch (n.mapped) {
+ case s.mapData: {
+ for (var v = n.field.split('.'), x = d.data, b = 0; b < v.length && x; b++) {
+ var w = v[b];
+ x = x[w];
+ }
+ if (x == null) return y(), !1;
+ var S;
+ if (ft(x)) {
+ var T = n.fieldMax - n.fieldMin;
+ T === 0 ? (S = 0) : (S = (x - n.fieldMin) / T);
+ } else
+ return (
+ tn(
+ 'Do not use continuous mappers without specifying numeric data (i.e. `' +
+ n.field +
+ ': ' +
+ x +
+ '` for `' +
+ t.id() +
+ '` is non-numeric)'
+ ),
+ !1
+ );
+ if ((S < 0 ? (S = 0) : S > 1 && (S = 1), l.color)) {
+ var E = n.valueMin[0],
+ _ = n.valueMax[0],
+ A = n.valueMin[1],
+ L = n.valueMax[1],
+ M = n.valueMin[2],
+ N = n.valueMax[2],
+ k = n.valueMin[3] == null ? 1 : n.valueMin[3],
+ I = n.valueMax[3] == null ? 1 : n.valueMax[3],
+ C = [
+ Math.round(E + (_ - E) * S),
+ Math.round(A + (L - A) * S),
+ Math.round(M + (N - M) * S),
+ Math.round(k + (I - k) * S)
+ ];
+ a = {
+ bypass: n.bypass,
+ name: n.name,
+ value: C,
+ strValue: 'rgb(' + C[0] + ', ' + C[1] + ', ' + C[2] + ')'
+ };
+ } else if (l.number) {
+ var O = n.valueMin + (n.valueMax - n.valueMin) * S;
+ a = this.parse(n.name, O, n.bypass, p);
+ } else return !1;
+ if (!a) return y(), !1;
+ (a.mapping = n), (n = a);
+ break;
+ }
+ case s.data: {
+ for (var D = n.field.split('.'), P = d.data, F = 0; F < D.length && P; F++) {
+ var B = D[F];
+ P = P[B];
+ }
+ if ((P != null && (a = this.parse(n.name, P, n.bypass, p)), !a)) return y(), !1;
+ (a.mapping = n), (n = a);
+ break;
+ }
+ case s.fn: {
+ var $ = n.value,
+ z = n.fnValue != null ? n.fnValue : $(t);
+ if (((n.prevFnValue = z), z == null))
+ return (
+ tn(
+ 'Custom function mappers may not return null (i.e. `' +
+ n.name +
+ '` for ele `' +
+ t.id() +
+ '` is null)'
+ ),
+ !1
+ );
+ if (((a = this.parse(n.name, z, n.bypass, p)), !a))
+ return (
+ tn(
+ 'Custom function mappers may not return invalid values for the property type (i.e. `' +
+ n.name +
+ '` for ele `' +
+ t.id() +
+ '` is invalid)'
+ ),
+ !1
+ );
+ (a.mapping = $c(n)), (n = a);
+ break;
+ }
+ case void 0:
+ break;
+ default:
+ return !1;
+ }
+ return (
+ u
+ ? (f ? (n.bypassed = h.bypassed) : (n.bypassed = h), (i[n.name] = n))
+ : f
+ ? (h.bypassed = n)
+ : (i[n.name] = n),
+ g(),
+ !0
+ );
+ };
+ Ga.cleanElements = function (t, e) {
+ for (var r = 0; r < t.length; r++) {
+ var n = t[r];
+ if ((this.clearStyleHints(n), n.dirtyCompoundBoundsCache(), n.dirtyBoundingBoxCache(), !e))
+ n._private.style = {};
+ else
+ for (var i = n._private.style, a = Object.keys(i), s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = i[l];
+ u != null && (u.bypass ? (u.bypassed = null) : (i[l] = null));
+ }
+ }
+ };
+ Ga.update = function () {
+ var t = this._private.cy,
+ e = t.mutableElements();
+ e.updateStyle();
+ };
+ Ga.updateTransitions = function (t, e) {
+ var r = this,
+ n = t._private,
+ i = t.pstyle('transition-property').value,
+ a = t.pstyle('transition-duration').pfValue,
+ s = t.pstyle('transition-delay').pfValue;
+ if (i.length > 0 && a > 0) {
+ for (var l = {}, u = !1, h = 0; h < i.length; h++) {
+ var f = i[h],
+ d = t.pstyle(f),
+ p = e[f];
+ if (p) {
+ var m = p.prev,
+ g = m,
+ y = p.next != null ? p.next : d,
+ v = !1,
+ x = void 0,
+ b = 1e-6;
+ g &&
+ (ft(g.pfValue) && ft(y.pfValue)
+ ? ((v = y.pfValue - g.pfValue), (x = g.pfValue + b * v))
+ : ft(g.value) && ft(y.value)
+ ? ((v = y.value - g.value), (x = g.value + b * v))
+ : vn(g.value) &&
+ vn(y.value) &&
+ ((v =
+ g.value[0] !== y.value[0] ||
+ g.value[1] !== y.value[1] ||
+ g.value[2] !== y.value[2]),
+ (x = g.strValue)),
+ v && ((l[f] = y.strValue), this.applyBypass(t, f, x), (u = !0)));
+ }
+ }
+ if (!u) return;
+ (n.transitioning = !0),
+ new u1(function (w) {
+ s > 0 ? t.delayAnimation(s).play().promise().then(w) : w();
+ })
+ .then(function () {
+ return t
+ .animation({
+ style: l,
+ duration: a,
+ easing: t.pstyle('transition-timing-function').value,
+ queue: !1
+ })
+ .play()
+ .promise();
+ })
+ .then(function () {
+ r.removeBypasses(t, i), t.emitAndNotify('style'), (n.transitioning = !1);
+ });
+ } else n.transitioning && (this.removeBypasses(t, i), t.emitAndNotify('style'), (n.transitioning = !1));
+ };
+ Ga.checkTrigger = function (t, e, r, n, i, a) {
+ var s = this.properties[e],
+ l = i(s);
+ l != null && l(r, n) && a(s);
+ };
+ Ga.checkZOrderTrigger = function (t, e, r, n) {
+ var i = this;
+ this.checkTrigger(
+ t,
+ e,
+ r,
+ n,
+ function (a) {
+ return a.triggersZOrder;
+ },
+ function () {
+ i._private.cy.notify('zorder', t);
+ }
+ );
+ };
+ Ga.checkBoundsTrigger = function (t, e, r, n) {
+ this.checkTrigger(
+ t,
+ e,
+ r,
+ n,
+ function (i) {
+ return i.triggersBounds;
+ },
+ function (i) {
+ t.dirtyCompoundBoundsCache(),
+ t.dirtyBoundingBoxCache(),
+ i.triggersBoundsOfParallelBeziers &&
+ e === 'curve-style' &&
+ (r === 'bezier' || n === 'bezier') &&
+ t.parallelEdges().forEach(function (a) {
+ a.isBundledBezier() && a.dirtyBoundingBoxCache();
+ }),
+ i.triggersBoundsOfConnectedEdges &&
+ e === 'display' &&
+ (r === 'none' || n === 'none') &&
+ t.connectedEdges().forEach(function (a) {
+ a.dirtyBoundingBoxCache();
+ });
+ }
+ );
+ };
+ Ga.checkTriggers = function (t, e, r, n) {
+ t.dirtyStyleCache(), this.checkZOrderTrigger(t, e, r, n), this.checkBoundsTrigger(t, e, r, n);
+ };
+ rb = {};
+ rb.applyBypass = function (t, e, r, n) {
+ var i = this,
+ a = [],
+ s = !0;
+ if (e === '*' || e === '**') {
+ if (r !== void 0)
+ for (var l = 0; l < i.properties.length; l++) {
+ var u = i.properties[l],
+ h = u.name,
+ f = this.parse(h, r, !0);
+ f && a.push(f);
+ }
+ } else if (zt(e)) {
+ var d = this.parse(e, r, !0);
+ d && a.push(d);
+ } else if (Mr(e)) {
+ var p = e;
+ n = r;
+ for (var m = Object.keys(p), g = 0; g < m.length; g++) {
+ var y = m[g],
+ v = p[y];
+ if ((v === void 0 && (v = p[I6(y)]), v !== void 0)) {
+ var x = this.parse(y, v, !0);
+ x && a.push(x);
+ }
+ }
+ } else return !1;
+ if (a.length === 0) return !1;
+ for (var b = !1, w = 0; w < t.length; w++) {
+ for (var S = t[w], T = {}, E = void 0, _ = 0; _ < a.length; _++) {
+ var A = a[_];
+ if (n) {
+ var L = S.pstyle(A.name);
+ E = T[A.name] = { prev: L };
+ }
+ (b = this.applyParsedProperty(S, $c(A)) || b), n && (E.next = S.pstyle(A.name));
+ }
+ b && this.updateStyleHints(S), n && this.updateTransitions(S, T, s);
+ }
+ return b;
+ };
+ rb.overrideBypass = function (t, e, r) {
+ e = QP(e);
+ for (var n = 0; n < t.length; n++) {
+ var i = t[n],
+ a = i._private.style[e],
+ s = this.properties[e].type,
+ l = s.color,
+ u = s.mutiple,
+ h = a ? (a.pfValue != null ? a.pfValue : a.value) : null;
+ !a || !a.bypass
+ ? this.applyBypass(i, e, r)
+ : ((a.value = r),
+ a.pfValue != null && (a.pfValue = r),
+ l
+ ? (a.strValue = 'rgb(' + r.join(',') + ')')
+ : u
+ ? (a.strValue = r.join(' '))
+ : (a.strValue = '' + r),
+ this.updateStyleHints(i)),
+ this.checkTriggers(i, e, h, r);
+ }
+ };
+ rb.removeAllBypasses = function (t, e) {
+ return this.removeBypasses(t, this.propertyNames, e);
+ };
+ rb.removeBypasses = function (t, e, r) {
+ for (var n = !0, i = 0; i < t.length; i++) {
+ for (var a = t[i], s = {}, l = 0; l < e.length; l++) {
+ var u = e[l],
+ h = this.properties[u],
+ f = a.pstyle(h.name);
+ if (!(!f || !f.bypass)) {
+ var d = '',
+ p = this.parse(u, d, !0),
+ m = (s[h.name] = { prev: f });
+ this.applyParsedProperty(a, p), (m.next = a.pstyle(h.name));
+ }
+ }
+ this.updateStyleHints(a), r && this.updateTransitions(a, s, n);
+ }
+ };
+ hB = {};
+ hB.getEmSizeInPixels = function () {
+ var t = this.containerCss('font-size');
+ return t != null ? parseFloat(t) : 1;
+ };
+ hB.containerCss = function (t) {
+ var e = this._private.cy,
+ r = e.container(),
+ n = e.window();
+ if (n && r && n.getComputedStyle) return n.getComputedStyle(r).getPropertyValue(t);
+ };
+ Uc = {};
+ Uc.getRenderedStyle = function (t, e) {
+ return e ? this.getStylePropertyValue(t, e, !0) : this.getRawStyle(t, !0);
+ };
+ Uc.getRawStyle = function (t, e) {
+ var r = this;
+ if (((t = t[0]), t)) {
+ for (var n = {}, i = 0; i < r.properties.length; i++) {
+ var a = r.properties[i],
+ s = r.getStylePropertyValue(t, a.name, e);
+ s != null && ((n[a.name] = s), (n[I6(a.name)] = s));
+ }
+ return n;
+ }
+ };
+ Uc.getIndexedStyle = function (t, e, r, n) {
+ var i = t.pstyle(e)[r][n];
+ return i ?? t.cy().style().getDefaultProperty(e)[r][0];
+ };
+ Uc.getStylePropertyValue = function (t, e, r) {
+ var n = this;
+ if (((t = t[0]), t)) {
+ var i = n.properties[e];
+ i.alias && (i = i.pointsTo);
+ var a = i.type,
+ s = t.pstyle(i.name);
+ if (s) {
+ var l = s.value,
+ u = s.units,
+ h = s.strValue;
+ if (r && a.number && l != null && ft(l)) {
+ var f = t.cy().zoom(),
+ d = o(function (v) {
+ return v * f;
+ }, 'getRenderedValue'),
+ p = o(function (v, x) {
+ return d(v) + x;
+ }, 'getValueStringWithUnits'),
+ m = vn(l),
+ g = m
+ ? u.every(function (y) {
+ return y != null;
+ })
+ : u != null;
+ return g
+ ? m
+ ? l
+ .map(function (y, v) {
+ return p(y, u[v]);
+ })
+ .join(' ')
+ : p(l, u)
+ : m
+ ? l
+ .map(function (y) {
+ return zt(y) ? y : '' + d(y);
+ })
+ .join(' ')
+ : '' + d(l);
+ } else if (h != null) return h;
+ }
+ return null;
+ }
+ };
+ Uc.getAnimationStartStyle = function (t, e) {
+ for (var r = {}, n = 0; n < e.length; n++) {
+ var i = e[n],
+ a = i.name,
+ s = t.pstyle(a);
+ s !== void 0 && (Mr(s) ? (s = this.parse(a, s.strValue)) : (s = this.parse(a, s))), s && (r[a] = s);
+ }
+ return r;
+ };
+ Uc.getPropsList = function (t) {
+ var e = this,
+ r = [],
+ n = t,
+ i = e.properties;
+ if (n)
+ for (var a = Object.keys(n), s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = n[l],
+ h = i[l] || i[QP(l)],
+ f = this.parse(h.name, u);
+ f && r.push(f);
+ }
+ return r;
+ };
+ Uc.getNonDefaultPropertiesHash = function (t, e, r) {
+ var n = r.slice(),
+ i,
+ a,
+ s,
+ l,
+ u,
+ h;
+ for (u = 0; u < e.length; u++)
+ if (((i = e[u]), (a = t.pstyle(i, !1)), a != null))
+ if (a.pfValue != null) (n[0] = $x(l, n[0])), (n[1] = Vx(l, n[1]));
+ else
+ for (s = a.strValue, h = 0; h < s.length; h++)
+ (l = s.charCodeAt(h)), (n[0] = $x(l, n[0])), (n[1] = Vx(l, n[1]));
+ return n;
+ };
+ Uc.getPropertiesHash = Uc.getNonDefaultPropertiesHash;
+ q6 = {};
+ q6.appendFromJson = function (t) {
+ for (var e = this, r = 0; r < t.length; r++) {
+ var n = t[r],
+ i = n.selector,
+ a = n.style || n.css,
+ s = Object.keys(a);
+ e.selector(i);
+ for (var l = 0; l < s.length; l++) {
+ var u = s[l],
+ h = a[u];
+ e.css(u, h);
+ }
+ }
+ return e;
+ };
+ q6.fromJson = function (t) {
+ var e = this;
+ return e.resetToDefault(), e.appendFromJson(t), e;
+ };
+ q6.json = function () {
+ for (var t = [], e = this.defaultLength; e < this.length; e++) {
+ for (var r = this[e], n = r.selector, i = r.properties, a = {}, s = 0; s < i.length; s++) {
+ var l = i[s];
+ a[l.name] = l.strValue;
+ }
+ t.push({ selector: n ? n.toString() : 'core', style: a });
+ }
+ return t;
+ };
+ fB = {};
+ fB.appendFromString = function (t) {
+ var e = this,
+ r = this,
+ n = '' + t,
+ i,
+ a,
+ s;
+ n = n.replace(/[/][*](\s|.)+?[*][/]/g, '');
+ function l() {
+ n.length > i.length ? (n = n.substr(i.length)) : (n = '');
+ }
+ o(l, 'removeSelAndBlockFromRemaining');
+ function u() {
+ a.length > s.length ? (a = a.substr(s.length)) : (a = '');
+ }
+ for (o(u, 'removePropAndValFromRem'); ; ) {
+ var h = n.match(/^\s*$/);
+ if (h) break;
+ var f = n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);
+ if (!f) {
+ tn(
+ 'Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: ' +
+ n
+ );
+ break;
+ }
+ i = f[0];
+ var d = f[1];
+ if (d !== 'core') {
+ var p = new _f(d);
+ if (p.invalid) {
+ tn('Skipping parsing of block: Invalid selector found in string stylesheet: ' + d), l();
+ continue;
+ }
+ }
+ var m = f[2],
+ g = !1;
+ a = m;
+ for (var y = []; ; ) {
+ var v = a.match(/^\s*$/);
+ if (v) break;
+ var x = a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);
+ if (!x) {
+ tn(
+ 'Skipping parsing of block: Invalid formatting of style property and value definitions found in:' +
+ m
+ ),
+ (g = !0);
+ break;
+ }
+ s = x[0];
+ var b = x[1],
+ w = x[2],
+ S = e.properties[b];
+ if (!S) {
+ tn('Skipping property: Invalid property name in: ' + s), u();
+ continue;
+ }
+ var T = r.parse(b, w);
+ if (!T) {
+ tn('Skipping property: Invalid property definition in: ' + s), u();
+ continue;
+ }
+ y.push({ name: b, val: w }), u();
+ }
+ if (g) {
+ l();
+ break;
+ }
+ r.selector(d);
+ for (var E = 0; E < y.length; E++) {
+ var _ = y[E];
+ r.css(_.name, _.val);
+ }
+ l();
+ }
+ return r;
+ };
+ fB.fromString = function (t) {
+ var e = this;
+ return e.resetToDefault(), e.appendFromString(t), e;
+ };
+ ka = {};
+ (function () {
+ var t = Ui,
+ e = VHe,
+ r = HHe,
+ n = YHe,
+ i = WHe,
+ a = o(function (H) {
+ return '^' + H + '\\s*\\(\\s*([\\w\\.]+)\\s*\\)$';
+ }, 'data'),
+ s = o(function (H) {
+ var q = t + '|\\w+|' + e + '|' + r + '|' + n + '|' + i;
+ return (
+ '^' +
+ H +
+ '\\s*\\(([\\w\\.]+)\\s*\\,\\s*(' +
+ t +
+ ')\\s*\\,\\s*(' +
+ t +
+ ')\\s*,\\s*(' +
+ q +
+ ')\\s*\\,\\s*(' +
+ q +
+ ')\\)$'
+ );
+ }, 'mapData'),
+ l = [`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`, '^(none)$', '^(.+)$'];
+ ka.types = {
+ time: { number: !0, min: 0, units: 's|ms', implicitUnits: 'ms' },
+ percent: {
+ number: !0,
+ min: 0,
+ max: 100,
+ units: '%',
+ implicitUnits: '%'
+ },
+ percentages: {
+ number: !0,
+ min: 0,
+ max: 100,
+ units: '%',
+ implicitUnits: '%',
+ multiple: !0
+ },
+ zeroOneNumber: { number: !0, min: 0, max: 1, unitless: !0 },
+ zeroOneNumbers: {
+ number: !0,
+ min: 0,
+ max: 1,
+ unitless: !0,
+ multiple: !0
+ },
+ nOneOneNumber: { number: !0, min: -1, max: 1, unitless: !0 },
+ nonNegativeInt: { number: !0, min: 0, integer: !0, unitless: !0 },
+ nonNegativeNumber: { number: !0, min: 0, unitless: !0 },
+ position: { enums: ['parent', 'origin'] },
+ nodeSize: { number: !0, min: 0, enums: ['label'] },
+ number: { number: !0, unitless: !0 },
+ numbers: { number: !0, unitless: !0, multiple: !0 },
+ positiveNumber: { number: !0, unitless: !0, min: 0, strictMin: !0 },
+ size: { number: !0, min: 0 },
+ bidirectionalSize: { number: !0 },
+ bidirectionalSizeMaybePercent: { number: !0, allowPercent: !0 },
+ bidirectionalSizes: { number: !0, multiple: !0 },
+ sizeMaybePercent: { number: !0, min: 0, allowPercent: !0 },
+ axisDirection: {
+ enums: ['horizontal', 'leftward', 'rightward', 'vertical', 'upward', 'downward', 'auto']
+ },
+ paddingRelativeTo: {
+ enums: ['width', 'height', 'average', 'min', 'max']
+ },
+ bgWH: {
+ number: !0,
+ min: 0,
+ allowPercent: !0,
+ enums: ['auto'],
+ multiple: !0
+ },
+ bgPos: { number: !0, allowPercent: !0, multiple: !0 },
+ bgRelativeTo: { enums: ['inner', 'include-padding'], multiple: !0 },
+ bgRepeat: {
+ enums: ['repeat', 'repeat-x', 'repeat-y', 'no-repeat'],
+ multiple: !0
+ },
+ bgFit: { enums: ['none', 'contain', 'cover'], multiple: !0 },
+ bgCrossOrigin: {
+ enums: ['anonymous', 'use-credentials', 'null'],
+ multiple: !0
+ },
+ bgClip: { enums: ['none', 'node'], multiple: !0 },
+ bgContainment: { enums: ['inside', 'over'], multiple: !0 },
+ color: { color: !0 },
+ colors: { color: !0, multiple: !0 },
+ fill: { enums: ['solid', 'linear-gradient', 'radial-gradient'] },
+ bool: { enums: ['yes', 'no'] },
+ bools: { enums: ['yes', 'no'], multiple: !0 },
+ lineStyle: { enums: ['solid', 'dotted', 'dashed'] },
+ lineCap: { enums: ['butt', 'round', 'square'] },
+ linePosition: { enums: ['center', 'inside', 'outside'] },
+ lineJoin: { enums: ['round', 'bevel', 'miter'] },
+ borderStyle: { enums: ['solid', 'dotted', 'dashed', 'double'] },
+ curveStyle: {
+ enums: [
+ 'bezier',
+ 'unbundled-bezier',
+ 'haystack',
+ 'segments',
+ 'straight',
+ 'straight-triangle',
+ 'taxi',
+ 'round-segments',
+ 'round-taxi'
+ ]
+ },
+ radiusType: {
+ enums: ['arc-radius', 'influence-radius'],
+ multiple: !0
+ },
+ fontFamily: { regex: '^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$' },
+ fontStyle: { enums: ['italic', 'normal', 'oblique'] },
+ fontWeight: {
+ enums: [
+ 'normal',
+ 'bold',
+ 'bolder',
+ 'lighter',
+ '100',
+ '200',
+ '300',
+ '400',
+ '500',
+ '600',
+ '800',
+ '900',
+ 100,
+ 200,
+ 300,
+ 400,
+ 500,
+ 600,
+ 700,
+ 800,
+ 900
+ ]
+ },
+ textDecoration: {
+ enums: ['none', 'underline', 'overline', 'line-through']
+ },
+ textTransform: { enums: ['none', 'uppercase', 'lowercase'] },
+ textWrap: { enums: ['none', 'wrap', 'ellipsis'] },
+ textOverflowWrap: { enums: ['whitespace', 'anywhere'] },
+ textBackgroundShape: {
+ enums: ['rectangle', 'roundrectangle', 'round-rectangle']
+ },
+ nodeShape: {
+ enums: [
+ 'rectangle',
+ 'roundrectangle',
+ 'round-rectangle',
+ 'cutrectangle',
+ 'cut-rectangle',
+ 'bottomroundrectangle',
+ 'bottom-round-rectangle',
+ 'barrel',
+ 'ellipse',
+ 'triangle',
+ 'round-triangle',
+ 'square',
+ 'pentagon',
+ 'round-pentagon',
+ 'hexagon',
+ 'round-hexagon',
+ 'concavehexagon',
+ 'concave-hexagon',
+ 'heptagon',
+ 'round-heptagon',
+ 'octagon',
+ 'round-octagon',
+ 'tag',
+ 'round-tag',
+ 'star',
+ 'diamond',
+ 'round-diamond',
+ 'vee',
+ 'rhomboid',
+ 'right-rhomboid',
+ 'polygon'
+ ]
+ },
+ overlayShape: {
+ enums: ['roundrectangle', 'round-rectangle', 'ellipse']
+ },
+ cornerRadius: {
+ number: !0,
+ min: 0,
+ units: 'px|em',
+ implicitUnits: 'px',
+ enums: ['auto']
+ },
+ compoundIncludeLabels: { enums: ['include', 'exclude'] },
+ arrowShape: {
+ enums: [
+ 'tee',
+ 'triangle',
+ 'triangle-tee',
+ 'circle-triangle',
+ 'triangle-cross',
+ 'triangle-backcurve',
+ 'vee',
+ 'square',
+ 'circle',
+ 'diamond',
+ 'chevron',
+ 'none'
+ ]
+ },
+ arrowFill: { enums: ['filled', 'hollow'] },
+ arrowWidth: {
+ number: !0,
+ units: '%|px|em',
+ implicitUnits: 'px',
+ enums: ['match-line']
+ },
+ display: { enums: ['element', 'none'] },
+ visibility: { enums: ['hidden', 'visible'] },
+ zCompoundDepth: { enums: ['bottom', 'orphan', 'auto', 'top'] },
+ zIndexCompare: { enums: ['auto', 'manual'] },
+ valign: { enums: ['top', 'center', 'bottom'] },
+ halign: { enums: ['left', 'center', 'right'] },
+ justification: { enums: ['left', 'center', 'right', 'auto'] },
+ text: { string: !0 },
+ data: { mapping: !0, regex: a('data') },
+ layoutData: { mapping: !0, regex: a('layoutData') },
+ scratch: { mapping: !0, regex: a('scratch') },
+ mapData: { mapping: !0, regex: s('mapData') },
+ mapLayoutData: { mapping: !0, regex: s('mapLayoutData') },
+ mapScratch: { mapping: !0, regex: s('mapScratch') },
+ fn: { mapping: !0, fn: !0 },
+ url: { regexes: l, singleRegexMatchValue: !0 },
+ urls: { regexes: l, singleRegexMatchValue: !0, multiple: !0 },
+ propList: { propList: !0 },
+ angle: { number: !0, units: 'deg|rad', implicitUnits: 'rad' },
+ textRotation: {
+ number: !0,
+ units: 'deg|rad',
+ implicitUnits: 'rad',
+ enums: ['none', 'autorotate']
+ },
+ polygonPointList: {
+ number: !0,
+ multiple: !0,
+ evenMultiple: !0,
+ min: -1,
+ max: 1,
+ unitless: !0
+ },
+ edgeDistances: {
+ enums: ['intersection', 'node-position', 'endpoints']
+ },
+ edgeEndpoint: {
+ number: !0,
+ multiple: !0,
+ units: '%|px|em|deg|rad',
+ implicitUnits: 'px',
+ enums: [
+ 'inside-to-node',
+ 'outside-to-node',
+ 'outside-to-node-or-label',
+ 'outside-to-line',
+ 'outside-to-line-or-label'
+ ],
+ singleEnum: !0,
+ validate: o(function (H, q) {
+ switch (H.length) {
+ case 2:
+ return q[0] !== 'deg' && q[0] !== 'rad' && q[1] !== 'deg' && q[1] !== 'rad';
+ case 1:
+ return zt(H[0]) || q[0] === 'deg' || q[0] === 'rad';
+ default:
+ return !1;
+ }
+ }, 'validate')
+ },
+ easing: {
+ regexes: [
+ '^(spring)\\s*\\(\\s*(' + t + ')\\s*,\\s*(' + t + ')\\s*\\)$',
+ '^(cubic-bezier)\\s*\\(\\s*(' +
+ t +
+ ')\\s*,\\s*(' +
+ t +
+ ')\\s*,\\s*(' +
+ t +
+ ')\\s*,\\s*(' +
+ t +
+ ')\\s*\\)$'
+ ],
+ enums: [
+ 'linear',
+ 'ease',
+ 'ease-in',
+ 'ease-out',
+ 'ease-in-out',
+ 'ease-in-sine',
+ 'ease-out-sine',
+ 'ease-in-out-sine',
+ 'ease-in-quad',
+ 'ease-out-quad',
+ 'ease-in-out-quad',
+ 'ease-in-cubic',
+ 'ease-out-cubic',
+ 'ease-in-out-cubic',
+ 'ease-in-quart',
+ 'ease-out-quart',
+ 'ease-in-out-quart',
+ 'ease-in-quint',
+ 'ease-out-quint',
+ 'ease-in-out-quint',
+ 'ease-in-expo',
+ 'ease-out-expo',
+ 'ease-in-out-expo',
+ 'ease-in-circ',
+ 'ease-out-circ',
+ 'ease-in-out-circ'
+ ]
+ },
+ gradientDirection: {
+ enums: [
+ 'to-bottom',
+ 'to-top',
+ 'to-left',
+ 'to-right',
+ 'to-bottom-right',
+ 'to-bottom-left',
+ 'to-top-right',
+ 'to-top-left',
+ 'to-right-bottom',
+ 'to-left-bottom',
+ 'to-right-top',
+ 'to-left-top'
+ ]
+ },
+ boundsExpansion: {
+ number: !0,
+ multiple: !0,
+ min: 0,
+ validate: o(function (H) {
+ var q = H.length;
+ return q === 1 || q === 2 || q === 4;
+ }, 'validate')
+ }
+ };
+ var u = {
+ zeroNonZero: o(function (H, q) {
+ return ((H == null || q == null) && H !== q) || (H == 0 && q != 0) ? !0 : H != 0 && q == 0;
+ }, 'zeroNonZero'),
+ any: o(function (H, q) {
+ return H != q;
+ }, 'any'),
+ emptyNonEmpty: o(function (H, q) {
+ var K = Sf(H),
+ se = Sf(q);
+ return (K && !se) || (!K && se);
+ }, 'emptyNonEmpty')
+ },
+ h = ka.types,
+ f = [
+ {
+ name: 'label',
+ type: h.text,
+ triggersBounds: u.any,
+ triggersZOrder: u.emptyNonEmpty
+ },
+ {
+ name: 'text-rotation',
+ type: h.textRotation,
+ triggersBounds: u.any
+ },
+ {
+ name: 'text-margin-x',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ {
+ name: 'text-margin-y',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ }
+ ],
+ d = [
+ { name: 'source-label', type: h.text, triggersBounds: u.any },
+ {
+ name: 'source-text-rotation',
+ type: h.textRotation,
+ triggersBounds: u.any
+ },
+ {
+ name: 'source-text-margin-x',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ {
+ name: 'source-text-margin-y',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ { name: 'source-text-offset', type: h.size, triggersBounds: u.any }
+ ],
+ p = [
+ { name: 'target-label', type: h.text, triggersBounds: u.any },
+ {
+ name: 'target-text-rotation',
+ type: h.textRotation,
+ triggersBounds: u.any
+ },
+ {
+ name: 'target-text-margin-x',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ {
+ name: 'target-text-margin-y',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ { name: 'target-text-offset', type: h.size, triggersBounds: u.any }
+ ],
+ m = [
+ { name: 'font-family', type: h.fontFamily, triggersBounds: u.any },
+ { name: 'font-style', type: h.fontStyle, triggersBounds: u.any },
+ { name: 'font-weight', type: h.fontWeight, triggersBounds: u.any },
+ { name: 'font-size', type: h.size, triggersBounds: u.any },
+ {
+ name: 'text-transform',
+ type: h.textTransform,
+ triggersBounds: u.any
+ },
+ { name: 'text-wrap', type: h.textWrap, triggersBounds: u.any },
+ {
+ name: 'text-overflow-wrap',
+ type: h.textOverflowWrap,
+ triggersBounds: u.any
+ },
+ { name: 'text-max-width', type: h.size, triggersBounds: u.any },
+ { name: 'text-outline-width', type: h.size, triggersBounds: u.any },
+ {
+ name: 'line-height',
+ type: h.positiveNumber,
+ triggersBounds: u.any
+ }
+ ],
+ g = [
+ { name: 'text-valign', type: h.valign, triggersBounds: u.any },
+ { name: 'text-halign', type: h.halign, triggersBounds: u.any },
+ { name: 'color', type: h.color },
+ { name: 'text-outline-color', type: h.color },
+ { name: 'text-outline-opacity', type: h.zeroOneNumber },
+ { name: 'text-background-color', type: h.color },
+ { name: 'text-background-opacity', type: h.zeroOneNumber },
+ {
+ name: 'text-background-padding',
+ type: h.size,
+ triggersBounds: u.any
+ },
+ { name: 'text-border-opacity', type: h.zeroOneNumber },
+ { name: 'text-border-color', type: h.color },
+ { name: 'text-border-width', type: h.size, triggersBounds: u.any },
+ {
+ name: 'text-border-style',
+ type: h.borderStyle,
+ triggersBounds: u.any
+ },
+ {
+ name: 'text-background-shape',
+ type: h.textBackgroundShape,
+ triggersBounds: u.any
+ },
+ { name: 'text-justification', type: h.justification }
+ ],
+ y = [
+ { name: 'events', type: h.bool, triggersZOrder: u.any },
+ { name: 'text-events', type: h.bool, triggersZOrder: u.any }
+ ],
+ v = [
+ {
+ name: 'display',
+ type: h.display,
+ triggersZOrder: u.any,
+ triggersBounds: u.any,
+ triggersBoundsOfConnectedEdges: !0
+ },
+ { name: 'visibility', type: h.visibility, triggersZOrder: u.any },
+ {
+ name: 'opacity',
+ type: h.zeroOneNumber,
+ triggersZOrder: u.zeroNonZero
+ },
+ { name: 'text-opacity', type: h.zeroOneNumber },
+ { name: 'min-zoomed-font-size', type: h.size },
+ {
+ name: 'z-compound-depth',
+ type: h.zCompoundDepth,
+ triggersZOrder: u.any
+ },
+ {
+ name: 'z-index-compare',
+ type: h.zIndexCompare,
+ triggersZOrder: u.any
+ },
+ { name: 'z-index', type: h.number, triggersZOrder: u.any }
+ ],
+ x = [
+ { name: 'overlay-padding', type: h.size, triggersBounds: u.any },
+ { name: 'overlay-color', type: h.color },
+ {
+ name: 'overlay-opacity',
+ type: h.zeroOneNumber,
+ triggersBounds: u.zeroNonZero
+ },
+ {
+ name: 'overlay-shape',
+ type: h.overlayShape,
+ triggersBounds: u.any
+ },
+ { name: 'overlay-corner-radius', type: h.cornerRadius }
+ ],
+ b = [
+ { name: 'underlay-padding', type: h.size, triggersBounds: u.any },
+ { name: 'underlay-color', type: h.color },
+ {
+ name: 'underlay-opacity',
+ type: h.zeroOneNumber,
+ triggersBounds: u.zeroNonZero
+ },
+ {
+ name: 'underlay-shape',
+ type: h.overlayShape,
+ triggersBounds: u.any
+ },
+ { name: 'underlay-corner-radius', type: h.cornerRadius }
+ ],
+ w = [
+ { name: 'transition-property', type: h.propList },
+ { name: 'transition-duration', type: h.time },
+ { name: 'transition-delay', type: h.time },
+ { name: 'transition-timing-function', type: h.easing }
+ ],
+ S = o(function (H, q) {
+ return q.value === 'label' ? -H.poolIndex() : q.pfValue;
+ }, 'nodeSizeHashOverride'),
+ T = [
+ {
+ name: 'height',
+ type: h.nodeSize,
+ triggersBounds: u.any,
+ hashOverride: S
+ },
+ {
+ name: 'width',
+ type: h.nodeSize,
+ triggersBounds: u.any,
+ hashOverride: S
+ },
+ { name: 'shape', type: h.nodeShape, triggersBounds: u.any },
+ {
+ name: 'shape-polygon-points',
+ type: h.polygonPointList,
+ triggersBounds: u.any
+ },
+ { name: 'corner-radius', type: h.cornerRadius },
+ { name: 'background-color', type: h.color },
+ { name: 'background-fill', type: h.fill },
+ { name: 'background-opacity', type: h.zeroOneNumber },
+ { name: 'background-blacken', type: h.nOneOneNumber },
+ { name: 'background-gradient-stop-colors', type: h.colors },
+ { name: 'background-gradient-stop-positions', type: h.percentages },
+ {
+ name: 'background-gradient-direction',
+ type: h.gradientDirection
+ },
+ {
+ name: 'padding',
+ type: h.sizeMaybePercent,
+ triggersBounds: u.any
+ },
+ {
+ name: 'padding-relative-to',
+ type: h.paddingRelativeTo,
+ triggersBounds: u.any
+ },
+ {
+ name: 'bounds-expansion',
+ type: h.boundsExpansion,
+ triggersBounds: u.any
+ }
+ ],
+ E = [
+ { name: 'border-color', type: h.color },
+ { name: 'border-opacity', type: h.zeroOneNumber },
+ { name: 'border-width', type: h.size, triggersBounds: u.any },
+ { name: 'border-style', type: h.borderStyle },
+ { name: 'border-cap', type: h.lineCap },
+ { name: 'border-join', type: h.lineJoin },
+ { name: 'border-dash-pattern', type: h.numbers },
+ { name: 'border-dash-offset', type: h.number },
+ { name: 'border-position', type: h.linePosition }
+ ],
+ _ = [
+ { name: 'outline-color', type: h.color },
+ { name: 'outline-opacity', type: h.zeroOneNumber },
+ { name: 'outline-width', type: h.size, triggersBounds: u.any },
+ { name: 'outline-style', type: h.borderStyle },
+ { name: 'outline-offset', type: h.size, triggersBounds: u.any }
+ ],
+ A = [
+ { name: 'background-image', type: h.urls },
+ { name: 'background-image-crossorigin', type: h.bgCrossOrigin },
+ { name: 'background-image-opacity', type: h.zeroOneNumbers },
+ { name: 'background-image-containment', type: h.bgContainment },
+ { name: 'background-image-smoothing', type: h.bools },
+ { name: 'background-position-x', type: h.bgPos },
+ { name: 'background-position-y', type: h.bgPos },
+ { name: 'background-width-relative-to', type: h.bgRelativeTo },
+ { name: 'background-height-relative-to', type: h.bgRelativeTo },
+ { name: 'background-repeat', type: h.bgRepeat },
+ { name: 'background-fit', type: h.bgFit },
+ { name: 'background-clip', type: h.bgClip },
+ { name: 'background-width', type: h.bgWH },
+ { name: 'background-height', type: h.bgWH },
+ { name: 'background-offset-x', type: h.bgPos },
+ { name: 'background-offset-y', type: h.bgPos }
+ ],
+ L = [
+ { name: 'position', type: h.position, triggersBounds: u.any },
+ {
+ name: 'compound-sizing-wrt-labels',
+ type: h.compoundIncludeLabels,
+ triggersBounds: u.any
+ },
+ { name: 'min-width', type: h.size, triggersBounds: u.any },
+ {
+ name: 'min-width-bias-left',
+ type: h.sizeMaybePercent,
+ triggersBounds: u.any
+ },
+ {
+ name: 'min-width-bias-right',
+ type: h.sizeMaybePercent,
+ triggersBounds: u.any
+ },
+ { name: 'min-height', type: h.size, triggersBounds: u.any },
+ {
+ name: 'min-height-bias-top',
+ type: h.sizeMaybePercent,
+ triggersBounds: u.any
+ },
+ {
+ name: 'min-height-bias-bottom',
+ type: h.sizeMaybePercent,
+ triggersBounds: u.any
+ }
+ ],
+ M = [
+ { name: 'line-style', type: h.lineStyle },
+ { name: 'line-color', type: h.color },
+ { name: 'line-fill', type: h.fill },
+ { name: 'line-cap', type: h.lineCap },
+ { name: 'line-opacity', type: h.zeroOneNumber },
+ { name: 'line-dash-pattern', type: h.numbers },
+ { name: 'line-dash-offset', type: h.number },
+ { name: 'line-outline-width', type: h.size },
+ { name: 'line-outline-color', type: h.color },
+ { name: 'line-gradient-stop-colors', type: h.colors },
+ { name: 'line-gradient-stop-positions', type: h.percentages },
+ {
+ name: 'curve-style',
+ type: h.curveStyle,
+ triggersBounds: u.any,
+ triggersBoundsOfParallelBeziers: !0
+ },
+ {
+ name: 'haystack-radius',
+ type: h.zeroOneNumber,
+ triggersBounds: u.any
+ },
+ {
+ name: 'source-endpoint',
+ type: h.edgeEndpoint,
+ triggersBounds: u.any
+ },
+ {
+ name: 'target-endpoint',
+ type: h.edgeEndpoint,
+ triggersBounds: u.any
+ },
+ {
+ name: 'control-point-step-size',
+ type: h.size,
+ triggersBounds: u.any
+ },
+ {
+ name: 'control-point-distances',
+ type: h.bidirectionalSizes,
+ triggersBounds: u.any
+ },
+ {
+ name: 'control-point-weights',
+ type: h.numbers,
+ triggersBounds: u.any
+ },
+ {
+ name: 'segment-distances',
+ type: h.bidirectionalSizes,
+ triggersBounds: u.any
+ },
+ { name: 'segment-weights', type: h.numbers, triggersBounds: u.any },
+ { name: 'segment-radii', type: h.numbers, triggersBounds: u.any },
+ { name: 'radius-type', type: h.radiusType, triggersBounds: u.any },
+ {
+ name: 'taxi-turn',
+ type: h.bidirectionalSizeMaybePercent,
+ triggersBounds: u.any
+ },
+ {
+ name: 'taxi-turn-min-distance',
+ type: h.size,
+ triggersBounds: u.any
+ },
+ {
+ name: 'taxi-direction',
+ type: h.axisDirection,
+ triggersBounds: u.any
+ },
+ { name: 'taxi-radius', type: h.number, triggersBounds: u.any },
+ {
+ name: 'edge-distances',
+ type: h.edgeDistances,
+ triggersBounds: u.any
+ },
+ {
+ name: 'arrow-scale',
+ type: h.positiveNumber,
+ triggersBounds: u.any
+ },
+ { name: 'loop-direction', type: h.angle, triggersBounds: u.any },
+ { name: 'loop-sweep', type: h.angle, triggersBounds: u.any },
+ {
+ name: 'source-distance-from-node',
+ type: h.size,
+ triggersBounds: u.any
+ },
+ {
+ name: 'target-distance-from-node',
+ type: h.size,
+ triggersBounds: u.any
+ }
+ ],
+ N = [
+ { name: 'ghost', type: h.bool, triggersBounds: u.any },
+ {
+ name: 'ghost-offset-x',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ {
+ name: 'ghost-offset-y',
+ type: h.bidirectionalSize,
+ triggersBounds: u.any
+ },
+ { name: 'ghost-opacity', type: h.zeroOneNumber }
+ ],
+ k = [
+ { name: 'selection-box-color', type: h.color },
+ { name: 'selection-box-opacity', type: h.zeroOneNumber },
+ { name: 'selection-box-border-color', type: h.color },
+ { name: 'selection-box-border-width', type: h.size },
+ { name: 'active-bg-color', type: h.color },
+ { name: 'active-bg-opacity', type: h.zeroOneNumber },
+ { name: 'active-bg-size', type: h.size },
+ { name: 'outside-texture-bg-color', type: h.color },
+ { name: 'outside-texture-bg-opacity', type: h.zeroOneNumber }
+ ],
+ I = [];
+ (ka.pieBackgroundN = 16), I.push({ name: 'pie-size', type: h.sizeMaybePercent });
+ for (var C = 1; C <= ka.pieBackgroundN; C++)
+ I.push({ name: 'pie-' + C + '-background-color', type: h.color }),
+ I.push({ name: 'pie-' + C + '-background-size', type: h.percent }),
+ I.push({
+ name: 'pie-' + C + '-background-opacity',
+ type: h.zeroOneNumber
+ });
+ var O = [],
+ D = (ka.arrowPrefixes = ['source', 'mid-source', 'target', 'mid-target']);
+ [
+ { name: 'arrow-shape', type: h.arrowShape, triggersBounds: u.any },
+ { name: 'arrow-color', type: h.color },
+ { name: 'arrow-fill', type: h.arrowFill },
+ { name: 'arrow-width', type: h.arrowWidth }
+ ].forEach(function (Z) {
+ D.forEach(function (H) {
+ var q = H + '-' + Z.name,
+ K = Z.type,
+ se = Z.triggersBounds;
+ O.push({ name: q, type: K, triggersBounds: se });
+ });
+ }, {});
+ var P = (ka.properties = [].concat(y, w, v, x, b, N, g, m, f, d, p, T, E, _, A, I, L, M, O, k)),
+ F = (ka.propertyGroups = {
+ behavior: y,
+ transition: w,
+ visibility: v,
+ overlay: x,
+ underlay: b,
+ ghost: N,
+ commonLabel: g,
+ labelDimensions: m,
+ mainLabel: f,
+ sourceLabel: d,
+ targetLabel: p,
+ nodeBody: T,
+ nodeBorder: E,
+ nodeOutline: _,
+ backgroundImage: A,
+ pie: I,
+ compound: L,
+ edgeLine: M,
+ edgeArrow: O,
+ core: k
+ }),
+ B = (ka.propertyGroupNames = {}),
+ $ = (ka.propertyGroupKeys = Object.keys(F));
+ $.forEach(function (Z) {
+ (B[Z] = F[Z].map(function (H) {
+ return H.name;
+ })),
+ F[Z].forEach(function (H) {
+ return (H.groupKey = Z);
+ });
+ });
+ var z = (ka.aliases = [
+ { name: 'content', pointsTo: 'label' },
+ {
+ name: 'control-point-distance',
+ pointsTo: 'control-point-distances'
+ },
+ { name: 'control-point-weight', pointsTo: 'control-point-weights' },
+ { name: 'segment-distance', pointsTo: 'segment-distances' },
+ { name: 'segment-weight', pointsTo: 'segment-weights' },
+ { name: 'segment-radius', pointsTo: 'segment-radii' },
+ { name: 'edge-text-rotation', pointsTo: 'text-rotation' },
+ { name: 'padding-left', pointsTo: 'padding' },
+ { name: 'padding-right', pointsTo: 'padding' },
+ { name: 'padding-top', pointsTo: 'padding' },
+ { name: 'padding-bottom', pointsTo: 'padding' }
+ ]);
+ ka.propertyNames = P.map(function (Z) {
+ return Z.name;
+ });
+ for (var Y = 0; Y < P.length; Y++) {
+ var Q = P[Y];
+ P[Q.name] = Q;
+ }
+ for (var X = 0; X < z.length; X++) {
+ var ie = z[X],
+ j = P[ie.pointsTo],
+ J = { name: ie.name, alias: !0, pointsTo: j };
+ P.push(J), (P[ie.name] = J);
+ }
+ })();
+ ka.getDefaultProperty = function (t) {
+ return this.getDefaultProperties()[t];
+ };
+ ka.getDefaultProperties = function () {
+ var t = this._private;
+ if (t.defaultProperties != null) return t.defaultProperties;
+ for (
+ var e = Wt(
+ {
+ 'selection-box-color': '#ddd',
+ 'selection-box-opacity': 0.65,
+ 'selection-box-border-color': '#aaa',
+ 'selection-box-border-width': 1,
+ 'active-bg-color': 'black',
+ 'active-bg-opacity': 0.15,
+ 'active-bg-size': 30,
+ 'outside-texture-bg-color': '#000',
+ 'outside-texture-bg-opacity': 0.125,
+ events: 'yes',
+ 'text-events': 'no',
+ 'text-valign': 'top',
+ 'text-halign': 'center',
+ 'text-justification': 'auto',
+ 'line-height': 1,
+ color: '#000',
+ 'text-outline-color': '#000',
+ 'text-outline-width': 0,
+ 'text-outline-opacity': 1,
+ 'text-opacity': 1,
+ 'text-decoration': 'none',
+ 'text-transform': 'none',
+ 'text-wrap': 'none',
+ 'text-overflow-wrap': 'whitespace',
+ 'text-max-width': 9999,
+ 'text-background-color': '#000',
+ 'text-background-opacity': 0,
+ 'text-background-shape': 'rectangle',
+ 'text-background-padding': 0,
+ 'text-border-opacity': 0,
+ 'text-border-width': 0,
+ 'text-border-style': 'solid',
+ 'text-border-color': '#000',
+ 'font-family': 'Helvetica Neue, Helvetica, sans-serif',
+ 'font-style': 'normal',
+ 'font-weight': 'normal',
+ 'font-size': 16,
+ 'min-zoomed-font-size': 0,
+ 'text-rotation': 'none',
+ 'source-text-rotation': 'none',
+ 'target-text-rotation': 'none',
+ visibility: 'visible',
+ display: 'element',
+ opacity: 1,
+ 'z-compound-depth': 'auto',
+ 'z-index-compare': 'auto',
+ 'z-index': 0,
+ label: '',
+ 'text-margin-x': 0,
+ 'text-margin-y': 0,
+ 'source-label': '',
+ 'source-text-offset': 0,
+ 'source-text-margin-x': 0,
+ 'source-text-margin-y': 0,
+ 'target-label': '',
+ 'target-text-offset': 0,
+ 'target-text-margin-x': 0,
+ 'target-text-margin-y': 0,
+ 'overlay-opacity': 0,
+ 'overlay-color': '#000',
+ 'overlay-padding': 10,
+ 'overlay-shape': 'round-rectangle',
+ 'overlay-corner-radius': 'auto',
+ 'underlay-opacity': 0,
+ 'underlay-color': '#000',
+ 'underlay-padding': 10,
+ 'underlay-shape': 'round-rectangle',
+ 'underlay-corner-radius': 'auto',
+ 'transition-property': 'none',
+ 'transition-duration': 0,
+ 'transition-delay': 0,
+ 'transition-timing-function': 'linear',
+ 'background-blacken': 0,
+ 'background-color': '#999',
+ 'background-fill': 'solid',
+ 'background-opacity': 1,
+ 'background-image': 'none',
+ 'background-image-crossorigin': 'anonymous',
+ 'background-image-opacity': 1,
+ 'background-image-containment': 'inside',
+ 'background-image-smoothing': 'yes',
+ 'background-position-x': '50%',
+ 'background-position-y': '50%',
+ 'background-offset-x': 0,
+ 'background-offset-y': 0,
+ 'background-width-relative-to': 'include-padding',
+ 'background-height-relative-to': 'include-padding',
+ 'background-repeat': 'no-repeat',
+ 'background-fit': 'none',
+ 'background-clip': 'node',
+ 'background-width': 'auto',
+ 'background-height': 'auto',
+ 'border-color': '#000',
+ 'border-opacity': 1,
+ 'border-width': 0,
+ 'border-style': 'solid',
+ 'border-dash-pattern': [4, 2],
+ 'border-dash-offset': 0,
+ 'border-cap': 'butt',
+ 'border-join': 'miter',
+ 'border-position': 'center',
+ 'outline-color': '#999',
+ 'outline-opacity': 1,
+ 'outline-width': 0,
+ 'outline-offset': 0,
+ 'outline-style': 'solid',
+ height: 30,
+ width: 30,
+ shape: 'ellipse',
+ 'shape-polygon-points': '-1, -1, 1, -1, 1, 1, -1, 1',
+ 'corner-radius': 'auto',
+ 'bounds-expansion': 0,
+ 'background-gradient-direction': 'to-bottom',
+ 'background-gradient-stop-colors': '#999',
+ 'background-gradient-stop-positions': '0%',
+ ghost: 'no',
+ 'ghost-offset-y': 0,
+ 'ghost-offset-x': 0,
+ 'ghost-opacity': 0,
+ padding: 0,
+ 'padding-relative-to': 'width',
+ position: 'origin',
+ 'compound-sizing-wrt-labels': 'include',
+ 'min-width': 0,
+ 'min-width-bias-left': 0,
+ 'min-width-bias-right': 0,
+ 'min-height': 0,
+ 'min-height-bias-top': 0,
+ 'min-height-bias-bottom': 0
+ },
+ { 'pie-size': '100%' },
+ [
+ { name: 'pie-{{i}}-background-color', value: 'black' },
+ { name: 'pie-{{i}}-background-size', value: '0%' },
+ { name: 'pie-{{i}}-background-opacity', value: 1 }
+ ].reduce(function (u, h) {
+ for (var f = 1; f <= ka.pieBackgroundN; f++) {
+ var d = h.name.replace('{{i}}', f),
+ p = h.value;
+ u[d] = p;
+ }
+ return u;
+ }, {}),
+ {
+ 'line-style': 'solid',
+ 'line-color': '#999',
+ 'line-fill': 'solid',
+ 'line-cap': 'butt',
+ 'line-opacity': 1,
+ 'line-outline-width': 0,
+ 'line-outline-color': '#000',
+ 'line-gradient-stop-colors': '#999',
+ 'line-gradient-stop-positions': '0%',
+ 'control-point-step-size': 40,
+ 'control-point-weights': 0.5,
+ 'segment-weights': 0.5,
+ 'segment-distances': 20,
+ 'segment-radii': 15,
+ 'radius-type': 'arc-radius',
+ 'taxi-turn': '50%',
+ 'taxi-radius': 15,
+ 'taxi-turn-min-distance': 10,
+ 'taxi-direction': 'auto',
+ 'edge-distances': 'intersection',
+ 'curve-style': 'haystack',
+ 'haystack-radius': 0,
+ 'arrow-scale': 1,
+ 'loop-direction': '-45deg',
+ 'loop-sweep': '-90deg',
+ 'source-distance-from-node': 0,
+ 'target-distance-from-node': 0,
+ 'source-endpoint': 'outside-to-node',
+ 'target-endpoint': 'outside-to-node',
+ 'line-dash-pattern': [6, 3],
+ 'line-dash-offset': 0
+ },
+ [
+ { name: 'arrow-shape', value: 'none' },
+ { name: 'arrow-color', value: '#999' },
+ { name: 'arrow-fill', value: 'filled' },
+ { name: 'arrow-width', value: 1 }
+ ].reduce(function (u, h) {
+ return (
+ ka.arrowPrefixes.forEach(function (f) {
+ var d = f + '-' + h.name,
+ p = h.value;
+ u[d] = p;
+ }),
+ u
+ );
+ }, {})
+ ),
+ r = {},
+ n = 0;
+ n < this.properties.length;
+ n++
+ ) {
+ var i = this.properties[n];
+ if (!i.pointsTo) {
+ var a = i.name,
+ s = e[a],
+ l = this.parse(a, s);
+ r[a] = l;
+ }
+ }
+ return (t.defaultProperties = r), t.defaultProperties;
+ };
+ ka.addDefaultStylesheet = function () {
+ this.selector(':parent')
+ .css({
+ shape: 'rectangle',
+ padding: 10,
+ 'background-color': '#eee',
+ 'border-color': '#ccc',
+ 'border-width': 1
+ })
+ .selector('edge')
+ .css({ width: 3 })
+ .selector(':loop')
+ .css({ 'curve-style': 'bezier' })
+ .selector('edge:compound')
+ .css({
+ 'curve-style': 'bezier',
+ 'source-endpoint': 'outside-to-line',
+ 'target-endpoint': 'outside-to-line'
+ })
+ .selector(':selected')
+ .css({
+ 'background-color': '#0169D9',
+ 'line-color': '#0169D9',
+ 'source-arrow-color': '#0169D9',
+ 'target-arrow-color': '#0169D9',
+ 'mid-source-arrow-color': '#0169D9',
+ 'mid-target-arrow-color': '#0169D9'
+ })
+ .selector(':parent:selected')
+ .css({ 'background-color': '#CCE1F9', 'border-color': '#aec8e5' })
+ .selector(':active')
+ .css({
+ 'overlay-color': 'black',
+ 'overlay-padding': 10,
+ 'overlay-opacity': 0.25
+ }),
+ (this.defaultLength = this.length);
+ };
+ X6 = {};
+ X6.parse = function (t, e, r, n) {
+ var i = this;
+ if (jn(e)) return i.parseImplWarn(t, e, r, n);
+ var a = n === 'mapping' || n === !0 || n === !1 || n == null ? 'dontcare' : n,
+ s = r ? 't' : 'f',
+ l = '' + e,
+ u = Ope(t, l, s, a),
+ h = (i.propCache = i.propCache || []),
+ f;
+ return (
+ (f = h[u]) || (f = h[u] = i.parseImplWarn(t, e, r, n)),
+ (r || n === 'mapping') && ((f = $c(f)), f && (f.value = $c(f.value))),
+ f
+ );
+ };
+ X6.parseImplWarn = function (t, e, r, n) {
+ var i = this.parseImpl(t, e, r, n);
+ return (
+ !i && e != null && tn('The style property `'.concat(t, ': ').concat(e, '` is invalid')),
+ i &&
+ (i.name === 'width' || i.name === 'height') &&
+ e === 'label' &&
+ tn('The style value of `label` is deprecated for `' + i.name + '`'),
+ i
+ );
+ };
+ X6.parseImpl = function (t, e, r, n) {
+ var i = this;
+ t = QP(t);
+ var a = i.properties[t],
+ s = e,
+ l = i.types;
+ if (!a || e === void 0) return null;
+ a.alias && ((a = a.pointsTo), (t = a.name));
+ var u = zt(e);
+ u && (e = e.trim());
+ var h = a.type;
+ if (!h) return null;
+ if (r && (e === '' || e === null)) return { name: t, value: e, bypass: !0, deleteBypass: !0 };
+ if (jn(e)) return { name: t, value: e, strValue: 'fn', mapped: l.fn, bypass: r };
+ var f, d;
+ if (!(!u || n || e.length < 7 || e[1] !== 'a')) {
+ if (e.length >= 7 && e[0] === 'd' && (f = new RegExp(l.data.regex).exec(e))) {
+ if (r) return !1;
+ var p = l.data;
+ return {
+ name: t,
+ value: f,
+ strValue: '' + e,
+ mapped: p,
+ field: f[1],
+ bypass: r
+ };
+ } else if (e.length >= 10 && e[0] === 'm' && (d = new RegExp(l.mapData.regex).exec(e))) {
+ if (r || h.multiple) return !1;
+ var m = l.mapData;
+ if (!(h.color || h.number)) return !1;
+ var g = this.parse(t, d[4]);
+ if (!g || g.mapped) return !1;
+ var y = this.parse(t, d[5]);
+ if (!y || y.mapped) return !1;
+ if (g.pfValue === y.pfValue || g.strValue === y.strValue)
+ return (
+ tn(
+ '`' +
+ t +
+ ': ' +
+ e +
+ '` is not a valid mapper because the output range is zero; converting to `' +
+ t +
+ ': ' +
+ g.strValue +
+ '`'
+ ),
+ this.parse(t, g.strValue)
+ );
+ if (h.color) {
+ var v = g.value,
+ x = y.value,
+ b =
+ v[0] === x[0] &&
+ v[1] === x[1] &&
+ v[2] === x[2] &&
+ (v[3] === x[3] || ((v[3] == null || v[3] === 1) && (x[3] == null || x[3] === 1)));
+ if (b) return !1;
+ }
+ return {
+ name: t,
+ value: d,
+ strValue: '' + e,
+ mapped: m,
+ field: d[1],
+ fieldMin: parseFloat(d[2]),
+ fieldMax: parseFloat(d[3]),
+ valueMin: g.value,
+ valueMax: y.value,
+ bypass: r
+ };
+ }
+ }
+ if (h.multiple && n !== 'multiple') {
+ var w;
+ if ((u ? (w = e.split(/\s+/)) : vn(e) ? (w = e) : (w = [e]), h.evenMultiple && w.length % 2 !== 0))
+ return null;
+ for (var S = [], T = [], E = [], _ = '', A = !1, L = 0; L < w.length; L++) {
+ var M = i.parse(t, w[L], r, 'multiple');
+ (A = A || zt(M.value)),
+ S.push(M.value),
+ E.push(M.pfValue != null ? M.pfValue : M.value),
+ T.push(M.units),
+ (_ += (L > 0 ? ' ' : '') + M.strValue);
+ }
+ return h.validate && !h.validate(S, T)
+ ? null
+ : h.singleEnum && A
+ ? S.length === 1 && zt(S[0])
+ ? { name: t, value: S[0], strValue: S[0], bypass: r }
+ : null
+ : {
+ name: t,
+ value: S,
+ pfValue: E,
+ strValue: _,
+ bypass: r,
+ units: T
+ };
+ }
+ var N = o(function () {
+ for (var H = 0; H < h.enums.length; H++) {
+ var q = h.enums[H];
+ if (q === e) return { name: t, value: e, strValue: '' + e, bypass: r };
+ }
+ return null;
+ }, 'checkEnums');
+ if (h.number) {
+ var k,
+ I = 'px';
+ if ((h.units && (k = h.units), h.implicitUnits && (I = h.implicitUnits), !h.unitless))
+ if (u) {
+ var C = 'px|em' + (h.allowPercent ? '|\\%' : '');
+ k && (C = k);
+ var O = e.match('^(' + Ui + ')(' + C + ')?$');
+ O && ((e = O[1]), (k = O[2] || I));
+ } else (!k || h.implicitUnits) && (k = I);
+ if (((e = parseFloat(e)), isNaN(e) && h.enums === void 0)) return null;
+ if (isNaN(e) && h.enums !== void 0) return (e = s), N();
+ if (
+ (h.integer && !OHe(e)) ||
+ (h.min !== void 0 && (e < h.min || (h.strictMin && e === h.min))) ||
+ (h.max !== void 0 && (e > h.max || (h.strictMax && e === h.max)))
+ )
+ return null;
+ var D = {
+ name: t,
+ value: e,
+ strValue: '' + e + (k || ''),
+ units: k,
+ bypass: r
+ };
+ return (
+ h.unitless || (k !== 'px' && k !== 'em')
+ ? (D.pfValue = e)
+ : (D.pfValue = k === 'px' || !k ? e : this.getEmSizeInPixels() * e),
+ (k === 'ms' || k === 's') && (D.pfValue = k === 'ms' ? e : 1e3 * e),
+ (k === 'deg' || k === 'rad') && (D.pfValue = k === 'rad' ? e : mWe(e)),
+ k === '%' && (D.pfValue = e / 100),
+ D
+ );
+ } else if (h.propList) {
+ var P = [],
+ F = '' + e;
+ if (F !== 'none') {
+ for (var B = F.split(/\s*,\s*|\s+/), $ = 0; $ < B.length; $++) {
+ var z = B[$].trim();
+ i.properties[z] ? P.push(z) : tn('`' + z + '` is not a valid property name');
+ }
+ if (P.length === 0) return null;
+ }
+ return {
+ name: t,
+ value: P,
+ strValue: P.length === 0 ? 'none' : P.join(' '),
+ bypass: r
+ };
+ } else if (h.color) {
+ var Y = ZHe(e);
+ return Y
+ ? {
+ name: t,
+ value: Y,
+ pfValue: Y,
+ strValue: 'rgb(' + Y[0] + ',' + Y[1] + ',' + Y[2] + ')',
+ bypass: r
+ }
+ : null;
+ } else if (h.regex || h.regexes) {
+ if (h.enums) {
+ var Q = N();
+ if (Q) return Q;
+ }
+ for (var X = h.regexes ? h.regexes : [h.regex], ie = 0; ie < X.length; ie++) {
+ var j = new RegExp(X[ie]),
+ J = j.exec(e);
+ if (J)
+ return {
+ name: t,
+ value: h.singleRegexMatchValue ? J[1] : J,
+ strValue: '' + e,
+ bypass: r
+ };
+ }
+ return null;
+ } else return h.string ? { name: t, value: '' + e, strValue: '' + e, bypass: r } : h.enums ? N() : null;
+ };
+ (Ba = o(function t(e) {
+ if (!(this instanceof t)) return new t(e);
+ if (!KP(e)) {
+ oi('A style must have a core reference');
+ return;
+ }
+ (this._private = { cy: e, coreStyle: {} }), (this.length = 0), this.resetToDefault();
+ }, 'Style')),
+ (za = Ba.prototype);
+ za.instanceString = function () {
+ return 'style';
+ };
+ za.clear = function () {
+ for (var t = this._private, e = t.cy, r = e.elements(), n = 0; n < this.length; n++) this[n] = void 0;
+ return (
+ (this.length = 0),
+ (t.contextStyles = {}),
+ (t.propDiffs = {}),
+ this.cleanElements(r, !0),
+ r.forEach(function (i) {
+ var a = i[0]._private;
+ (a.styleDirty = !0), (a.appliedInitStyle = !1);
+ }),
+ this
+ );
+ };
+ za.resetToDefault = function () {
+ return this.clear(), this.addDefaultStylesheet(), this;
+ };
+ za.core = function (t) {
+ return this._private.coreStyle[t] || this.getDefaultProperty(t);
+ };
+ za.selector = function (t) {
+ var e = t === 'core' ? null : new _f(t),
+ r = this.length++;
+ return (
+ (this[r] = {
+ selector: e,
+ properties: [],
+ mappedProperties: [],
+ index: r
+ }),
+ this
+ );
+ };
+ za.css = function () {
+ var t = this,
+ e = arguments;
+ if (e.length === 1)
+ for (var r = e[0], n = 0; n < t.properties.length; n++) {
+ var i = t.properties[n],
+ a = r[i.name];
+ a === void 0 && (a = r[I6(i.name)]), a !== void 0 && this.cssRule(i.name, a);
+ }
+ else e.length === 2 && this.cssRule(e[0], e[1]);
+ return this;
+ };
+ za.style = za.css;
+ za.cssRule = function (t, e) {
+ var r = this.parse(t, e);
+ if (r) {
+ var n = this.length - 1;
+ this[n].properties.push(r),
+ (this[n].properties[r.name] = r),
+ r.name.match(/pie-(\d+)-background-size/) && r.value && (this._private.hasPie = !0),
+ r.mapped && this[n].mappedProperties.push(r);
+ var i = !this[n].selector;
+ i && (this._private.coreStyle[r.name] = r);
+ }
+ return this;
+ };
+ za.append = function (t) {
+ return (
+ Cpe(t) ? t.appendToStyle(this) : vn(t) ? this.appendFromJson(t) : zt(t) && this.appendFromString(t),
+ this
+ );
+ };
+ Ba.fromJson = function (t, e) {
+ var r = new Ba(t);
+ return r.fromJson(e), r;
+ };
+ Ba.fromString = function (t, e) {
+ return new Ba(t).fromString(e);
+ };
+ [Ga, rb, hB, Uc, q6, fB, ka, X6].forEach(function (t) {
+ Wt(za, t);
+ });
+ Ba.types = za.types;
+ Ba.properties = za.properties;
+ Ba.propertyGroups = za.propertyGroups;
+ Ba.propertyGroupNames = za.propertyGroupNames;
+ Ba.propertyGroupKeys = za.propertyGroupKeys;
+ (OKe = {
+ style: o(function (e) {
+ if (e) {
+ var r = this.setStyle(e);
+ r.update();
+ }
+ return this._private.style;
+ }, 'style'),
+ setStyle: o(function (e) {
+ var r = this._private;
+ return (
+ Cpe(e)
+ ? (r.style = e.generateStyle(this))
+ : vn(e)
+ ? (r.style = Ba.fromJson(this, e))
+ : zt(e)
+ ? (r.style = Ba.fromString(this, e))
+ : (r.style = Ba(this)),
+ r.style
+ );
+ }, 'setStyle'),
+ updateStyle: o(function () {
+ this.mutableElements().updateStyle();
+ }, 'updateStyle')
+ }),
+ (PKe = 'single'),
+ (q0 = {
+ autolock: o(function (e) {
+ if (e !== void 0) this._private.autolock = !!e;
+ else return this._private.autolock;
+ return this;
+ }, 'autolock'),
+ autoungrabify: o(function (e) {
+ if (e !== void 0) this._private.autoungrabify = !!e;
+ else return this._private.autoungrabify;
+ return this;
+ }, 'autoungrabify'),
+ autounselectify: o(function (e) {
+ if (e !== void 0) this._private.autounselectify = !!e;
+ else return this._private.autounselectify;
+ return this;
+ }, 'autounselectify'),
+ selectionType: o(function (e) {
+ var r = this._private;
+ if ((r.selectionType == null && (r.selectionType = PKe), e !== void 0))
+ (e === 'additive' || e === 'single') && (r.selectionType = e);
+ else return r.selectionType;
+ return this;
+ }, 'selectionType'),
+ panningEnabled: o(function (e) {
+ if (e !== void 0) this._private.panningEnabled = !!e;
+ else return this._private.panningEnabled;
+ return this;
+ }, 'panningEnabled'),
+ userPanningEnabled: o(function (e) {
+ if (e !== void 0) this._private.userPanningEnabled = !!e;
+ else return this._private.userPanningEnabled;
+ return this;
+ }, 'userPanningEnabled'),
+ zoomingEnabled: o(function (e) {
+ if (e !== void 0) this._private.zoomingEnabled = !!e;
+ else return this._private.zoomingEnabled;
+ return this;
+ }, 'zoomingEnabled'),
+ userZoomingEnabled: o(function (e) {
+ if (e !== void 0) this._private.userZoomingEnabled = !!e;
+ else return this._private.userZoomingEnabled;
+ return this;
+ }, 'userZoomingEnabled'),
+ boxSelectionEnabled: o(function (e) {
+ if (e !== void 0) this._private.boxSelectionEnabled = !!e;
+ else return this._private.boxSelectionEnabled;
+ return this;
+ }, 'boxSelectionEnabled'),
+ pan: o(function () {
+ var e = arguments,
+ r = this._private.pan,
+ n,
+ i,
+ a,
+ s,
+ l;
+ switch (e.length) {
+ case 0:
+ return r;
+ case 1:
+ if (zt(e[0])) return (n = e[0]), r[n];
+ if (Mr(e[0])) {
+ if (!this._private.panningEnabled) return this;
+ (a = e[0]),
+ (s = a.x),
+ (l = a.y),
+ ft(s) && (r.x = s),
+ ft(l) && (r.y = l),
+ this.emit('pan viewport');
+ }
+ break;
+ case 2:
+ if (!this._private.panningEnabled) return this;
+ (n = e[0]),
+ (i = e[1]),
+ (n === 'x' || n === 'y') && ft(i) && (r[n] = i),
+ this.emit('pan viewport');
+ break;
+ }
+ return this.notify('viewport'), this;
+ }, 'pan'),
+ panBy: o(function (e, r) {
+ var n = arguments,
+ i = this._private.pan,
+ a,
+ s,
+ l,
+ u,
+ h;
+ if (!this._private.panningEnabled) return this;
+ switch (n.length) {
+ case 1:
+ Mr(e) &&
+ ((l = n[0]),
+ (u = l.x),
+ (h = l.y),
+ ft(u) && (i.x += u),
+ ft(h) && (i.y += h),
+ this.emit('pan viewport'));
+ break;
+ case 2:
+ (a = e),
+ (s = r),
+ (a === 'x' || a === 'y') && ft(s) && (i[a] += s),
+ this.emit('pan viewport');
+ break;
+ }
+ return this.notify('viewport'), this;
+ }, 'panBy'),
+ fit: o(function (e, r) {
+ var n = this.getFitViewport(e, r);
+ if (n) {
+ var i = this._private;
+ (i.zoom = n.zoom), (i.pan = n.pan), this.emit('pan zoom viewport'), this.notify('viewport');
+ }
+ return this;
+ }, 'fit'),
+ getFitViewport: o(function (e, r) {
+ if (
+ (ft(e) && r === void 0 && ((r = e), (e = void 0)),
+ !(!this._private.panningEnabled || !this._private.zoomingEnabled))
+ ) {
+ var n;
+ if (zt(e)) {
+ var i = e;
+ e = this.$(i);
+ } else if (FHe(e)) {
+ var a = e;
+ (n = { x1: a.x1, y1: a.y1, x2: a.x2, y2: a.y2 }),
+ (n.w = n.x2 - n.x1),
+ (n.h = n.y2 - n.y1);
+ } else xo(e) || (e = this.mutableElements());
+ if (!(xo(e) && e.empty())) {
+ n = n || e.boundingBox();
+ var s = this.width(),
+ l = this.height(),
+ u;
+ if (
+ ((r = ft(r) ? r : 0),
+ !isNaN(s) &&
+ !isNaN(l) &&
+ s > 0 &&
+ l > 0 &&
+ !isNaN(n.w) &&
+ !isNaN(n.h) &&
+ n.w > 0 &&
+ n.h > 0)
+ ) {
+ (u = Math.min((s - 2 * r) / n.w, (l - 2 * r) / n.h)),
+ (u = u > this._private.maxZoom ? this._private.maxZoom : u),
+ (u = u < this._private.minZoom ? this._private.minZoom : u);
+ var h = {
+ x: (s - u * (n.x1 + n.x2)) / 2,
+ y: (l - u * (n.y1 + n.y2)) / 2
+ };
+ return { zoom: u, pan: h };
+ }
+ }
+ }
+ }, 'getFitViewport'),
+ zoomRange: o(function (e, r) {
+ var n = this._private;
+ if (r == null) {
+ var i = e;
+ (e = i.min), (r = i.max);
+ }
+ return (
+ ft(e) && ft(r) && e <= r
+ ? ((n.minZoom = e), (n.maxZoom = r))
+ : ft(e) && r === void 0 && e <= n.maxZoom
+ ? (n.minZoom = e)
+ : ft(r) && e === void 0 && r >= n.minZoom && (n.maxZoom = r),
+ this
+ );
+ }, 'zoomRange'),
+ minZoom: o(function (e) {
+ return e === void 0 ? this._private.minZoom : this.zoomRange({ min: e });
+ }, 'minZoom'),
+ maxZoom: o(function (e) {
+ return e === void 0 ? this._private.maxZoom : this.zoomRange({ max: e });
+ }, 'maxZoom'),
+ getZoomedViewport: o(function (e) {
+ var r = this._private,
+ n = r.pan,
+ i = r.zoom,
+ a,
+ s,
+ l = !1;
+ if (
+ (r.zoomingEnabled || (l = !0),
+ ft(e)
+ ? (s = e)
+ : Mr(e) &&
+ ((s = e.level),
+ e.position != null
+ ? (a = F6(e.position, i, n))
+ : e.renderedPosition != null && (a = e.renderedPosition),
+ a != null && !r.panningEnabled && (l = !0)),
+ (s = s > r.maxZoom ? r.maxZoom : s),
+ (s = s < r.minZoom ? r.minZoom : s),
+ l || !ft(s) || s === i || (a != null && (!ft(a.x) || !ft(a.y))))
+ )
+ return null;
+ if (a != null) {
+ var u = n,
+ h = i,
+ f = s,
+ d = {
+ x: (-f / h) * (a.x - u.x) + a.x,
+ y: (-f / h) * (a.y - u.y) + a.y
+ };
+ return { zoomed: !0, panned: !0, zoom: f, pan: d };
+ } else return { zoomed: !0, panned: !1, zoom: s, pan: n };
+ }, 'getZoomedViewport'),
+ zoom: o(function (e) {
+ if (e === void 0) return this._private.zoom;
+ var r = this.getZoomedViewport(e),
+ n = this._private;
+ return r == null || !r.zoomed
+ ? this
+ : ((n.zoom = r.zoom),
+ r.panned && ((n.pan.x = r.pan.x), (n.pan.y = r.pan.y)),
+ this.emit('zoom' + (r.panned ? ' pan' : '') + ' viewport'),
+ this.notify('viewport'),
+ this);
+ }, 'zoom'),
+ viewport: o(function (e) {
+ var r = this._private,
+ n = !0,
+ i = !0,
+ a = [],
+ s = !1,
+ l = !1;
+ if (!e) return this;
+ if ((ft(e.zoom) || (n = !1), Mr(e.pan) || (i = !1), !n && !i)) return this;
+ if (n) {
+ var u = e.zoom;
+ u < r.minZoom || u > r.maxZoom || !r.zoomingEnabled
+ ? (s = !0)
+ : ((r.zoom = u), a.push('zoom'));
+ }
+ if (i && (!s || !e.cancelOnFailedZoom) && r.panningEnabled) {
+ var h = e.pan;
+ ft(h.x) && ((r.pan.x = h.x), (l = !1)),
+ ft(h.y) && ((r.pan.y = h.y), (l = !1)),
+ l || a.push('pan');
+ }
+ return (
+ a.length > 0 && (a.push('viewport'), this.emit(a.join(' ')), this.notify('viewport')), this
+ );
+ }, 'viewport'),
+ center: o(function (e) {
+ var r = this.getCenterPan(e);
+ return r && ((this._private.pan = r), this.emit('pan viewport'), this.notify('viewport')), this;
+ }, 'center'),
+ getCenterPan: o(function (e, r) {
+ if (this._private.panningEnabled) {
+ if (zt(e)) {
+ var n = e;
+ e = this.mutableElements().filter(n);
+ } else xo(e) || (e = this.mutableElements());
+ if (e.length !== 0) {
+ var i = e.boundingBox(),
+ a = this.width(),
+ s = this.height();
+ r = r === void 0 ? this._private.zoom : r;
+ var l = {
+ x: (a - r * (i.x1 + i.x2)) / 2,
+ y: (s - r * (i.y1 + i.y2)) / 2
+ };
+ return l;
+ }
+ }
+ }, 'getCenterPan'),
+ reset: o(function () {
+ return !this._private.panningEnabled || !this._private.zoomingEnabled
+ ? this
+ : (this.viewport({ pan: { x: 0, y: 0 }, zoom: 1 }), this);
+ }, 'reset'),
+ invalidateSize: o(function () {
+ this._private.sizeCache = null;
+ }, 'invalidateSize'),
+ size: o(function () {
+ var e = this._private,
+ r = e.container,
+ n = this;
+ return (e.sizeCache =
+ e.sizeCache ||
+ (r
+ ? (function () {
+ var i = n.window().getComputedStyle(r),
+ a = o(function (l) {
+ return parseFloat(i.getPropertyValue(l));
+ }, 'val');
+ return {
+ width: r.clientWidth - a('padding-left') - a('padding-right'),
+ height: r.clientHeight - a('padding-top') - a('padding-bottom')
+ };
+ })()
+ : { width: 1, height: 1 }));
+ }, 'size'),
+ width: o(function () {
+ return this.size().width;
+ }, 'width'),
+ height: o(function () {
+ return this.size().height;
+ }, 'height'),
+ extent: o(function () {
+ var e = this._private.pan,
+ r = this._private.zoom,
+ n = this.renderedExtent(),
+ i = {
+ x1: (n.x1 - e.x) / r,
+ x2: (n.x2 - e.x) / r,
+ y1: (n.y1 - e.y) / r,
+ y2: (n.y2 - e.y) / r
+ };
+ return (i.w = i.x2 - i.x1), (i.h = i.y2 - i.y1), i;
+ }, 'extent'),
+ renderedExtent: o(function () {
+ var e = this.width(),
+ r = this.height();
+ return { x1: 0, y1: 0, x2: e, y2: r, w: e, h: r };
+ }, 'renderedExtent'),
+ multiClickDebounceTime: o(function (e) {
+ if (e) this._private.multiClickDebounceTime = e;
+ else return this._private.multiClickDebounceTime;
+ return this;
+ }, 'multiClickDebounceTime')
+ });
+ q0.centre = q0.center;
+ q0.autolockNodes = q0.autolock;
+ q0.autoungrabifyNodes = q0.autoungrabify;
+ jx = {
+ data: en.data({
+ field: 'data',
+ bindingEvent: 'data',
+ allowBinding: !0,
+ allowSetting: !0,
+ settingEvent: 'data',
+ settingTriggersEvent: !0,
+ triggerFnName: 'trigger',
+ allowGetting: !0,
+ updateStyle: !0
+ }),
+ removeData: en.removeData({
+ field: 'data',
+ event: 'data',
+ triggerFnName: 'trigger',
+ triggerEvent: !0,
+ updateStyle: !0
+ }),
+ scratch: en.data({
+ field: 'scratch',
+ bindingEvent: 'scratch',
+ allowBinding: !0,
+ allowSetting: !0,
+ settingEvent: 'scratch',
+ settingTriggersEvent: !0,
+ triggerFnName: 'trigger',
+ allowGetting: !0,
+ updateStyle: !0
+ }),
+ removeScratch: en.removeData({
+ field: 'scratch',
+ event: 'scratch',
+ triggerFnName: 'trigger',
+ triggerEvent: !0,
+ updateStyle: !0
+ })
+ };
+ jx.attr = jx.data;
+ jx.removeAttr = jx.removeData;
+ (Kx = o(function (e) {
+ var r = this;
+ e = Wt({}, e);
+ var n = e.container;
+ n && !k6(n) && k6(n[0]) && (n = n[0]);
+ var i = n ? n._cyreg : null;
+ (i = i || {}), i && i.cy && (i.cy.destroy(), (i = {}));
+ var a = (i.readies = i.readies || []);
+ n && (n._cyreg = i), (i.cy = r);
+ var s = Vi !== void 0 && n !== void 0 && !e.headless,
+ l = e;
+ (l.layout = Wt({ name: s ? 'grid' : 'null' }, l.layout)),
+ (l.renderer = Wt({ name: s ? 'canvas' : 'null' }, l.renderer));
+ var u = o(function (g, y, v) {
+ return y !== void 0 ? y : v !== void 0 ? v : g;
+ }, 'defVal'),
+ h = (this._private = {
+ container: n,
+ ready: !1,
+ options: l,
+ elements: new Ca(this),
+ listeners: [],
+ aniEles: new Ca(this),
+ data: l.data || {},
+ scratch: {},
+ layout: null,
+ renderer: null,
+ destroyed: !1,
+ notificationsEnabled: !0,
+ minZoom: 1e-50,
+ maxZoom: 1e50,
+ zoomingEnabled: u(!0, l.zoomingEnabled),
+ userZoomingEnabled: u(!0, l.userZoomingEnabled),
+ panningEnabled: u(!0, l.panningEnabled),
+ userPanningEnabled: u(!0, l.userPanningEnabled),
+ boxSelectionEnabled: u(!0, l.boxSelectionEnabled),
+ autolock: u(!1, l.autolock, l.autolockNodes),
+ autoungrabify: u(!1, l.autoungrabify, l.autoungrabifyNodes),
+ autounselectify: u(!1, l.autounselectify),
+ styleEnabled: l.styleEnabled === void 0 ? s : l.styleEnabled,
+ zoom: ft(l.zoom) ? l.zoom : 1,
+ pan: {
+ x: Mr(l.pan) && ft(l.pan.x) ? l.pan.x : 0,
+ y: Mr(l.pan) && ft(l.pan.y) ? l.pan.y : 0
+ },
+ animation: { current: [], queue: [] },
+ hasCompoundNodes: !1,
+ multiClickDebounceTime: u(250, l.multiClickDebounceTime)
+ });
+ this.createEmitter(),
+ this.selectionType(l.selectionType),
+ this.zoomRange({ min: l.minZoom, max: l.maxZoom });
+ var f = o(function (g, y) {
+ var v = g.some(zHe);
+ if (v) return u1.all(g).then(y);
+ y(g);
+ }, 'loadExtData');
+ h.styleEnabled && r.setStyle([]);
+ var d = Wt({}, l, l.renderer);
+ r.initRenderer(d);
+ var p = o(function (g, y, v) {
+ r.notifications(!1);
+ var x = r.mutableElements();
+ x.length > 0 && x.remove(),
+ g != null && (Mr(g) || vn(g)) && r.add(g),
+ r
+ .one('layoutready', function (w) {
+ r.notifications(!0), r.emit(w), r.one('load', y), r.emitAndNotify('load');
+ })
+ .one('layoutstop', function () {
+ r.one('done', v), r.emit('done');
+ });
+ var b = Wt({}, r._private.options.layout);
+ (b.eles = r.elements()), r.layout(b).run();
+ }, 'setElesAndLayout');
+ f([l.style, l.elements], function (m) {
+ var g = m[0],
+ y = m[1];
+ h.styleEnabled && r.style().append(g),
+ p(
+ y,
+ function () {
+ r.startAnimationLoop(), (h.ready = !0), jn(l.ready) && r.on('ready', l.ready);
+ for (var v = 0; v < a.length; v++) {
+ var x = a[v];
+ r.on('ready', x);
+ }
+ i && (i.readies = []), r.emit('ready');
+ },
+ l.done
+ );
+ });
+ }, 'Core')),
+ (D6 = Kx.prototype);
+ Wt(D6, {
+ instanceString: o(function () {
+ return 'core';
+ }, 'instanceString'),
+ isReady: o(function () {
+ return this._private.ready;
+ }, 'isReady'),
+ destroyed: o(function () {
+ return this._private.destroyed;
+ }, 'destroyed'),
+ ready: o(function (e) {
+ return this.isReady() ? this.emitter().emit('ready', [], e) : this.on('ready', e), this;
+ }, 'ready'),
+ destroy: o(function () {
+ var e = this;
+ if (!e.destroyed())
+ return (
+ e.stopAnimationLoop(),
+ e.destroyRenderer(),
+ this.emit('destroy'),
+ (e._private.destroyed = !0),
+ e
+ );
+ }, 'destroy'),
+ hasElementWithId: o(function (e) {
+ return this._private.elements.hasElementWithId(e);
+ }, 'hasElementWithId'),
+ getElementById: o(function (e) {
+ return this._private.elements.getElementById(e);
+ }, 'getElementById'),
+ hasCompoundNodes: o(function () {
+ return this._private.hasCompoundNodes;
+ }, 'hasCompoundNodes'),
+ headless: o(function () {
+ return this._private.renderer.isHeadless();
+ }, 'headless'),
+ styleEnabled: o(function () {
+ return this._private.styleEnabled;
+ }, 'styleEnabled'),
+ addToPool: o(function (e) {
+ return this._private.elements.merge(e), this;
+ }, 'addToPool'),
+ removeFromPool: o(function (e) {
+ return this._private.elements.unmerge(e), this;
+ }, 'removeFromPool'),
+ container: o(function () {
+ return this._private.container || null;
+ }, 'container'),
+ window: o(function () {
+ var e = this._private.container;
+ if (e == null) return Vi;
+ var r = this._private.container.ownerDocument;
+ return r === void 0 || r == null ? Vi : r.defaultView || Vi;
+ }, 'window'),
+ mount: o(function (e) {
+ if (e != null) {
+ var r = this,
+ n = r._private,
+ i = n.options;
+ return (
+ !k6(e) && k6(e[0]) && (e = e[0]),
+ r.stopAnimationLoop(),
+ r.destroyRenderer(),
+ (n.container = e),
+ (n.styleEnabled = !0),
+ r.invalidateSize(),
+ r.initRenderer(
+ Wt({}, i, i.renderer, {
+ name: i.renderer.name === 'null' ? 'canvas' : i.renderer.name
+ })
+ ),
+ r.startAnimationLoop(),
+ r.style(i.style),
+ r.emit('mount'),
+ r
+ );
+ }
+ }, 'mount'),
+ unmount: o(function () {
+ var e = this;
+ return (
+ e.stopAnimationLoop(),
+ e.destroyRenderer(),
+ e.initRenderer({ name: 'null' }),
+ e.emit('unmount'),
+ e
+ );
+ }, 'unmount'),
+ options: o(function () {
+ return $c(this._private.options);
+ }, 'options'),
+ json: o(function (e) {
+ var r = this,
+ n = r._private,
+ i = r.mutableElements(),
+ a = o(function (S) {
+ return r.getElementById(S.id());
+ }, 'getFreshRef');
+ if (Mr(e)) {
+ if ((r.startBatch(), e.elements)) {
+ var s = {},
+ l = o(function (S, T) {
+ for (var E = [], _ = [], A = 0; A < S.length; A++) {
+ var L = S[A];
+ if (!L.data.id) {
+ tn('cy.json() cannot handle elements without an ID attribute');
+ continue;
+ }
+ var M = '' + L.data.id,
+ N = r.getElementById(M);
+ (s[M] = !0),
+ N.length !== 0
+ ? _.push({ ele: N, json: L })
+ : (T && (L.group = T), E.push(L));
+ }
+ r.add(E);
+ for (var k = 0; k < _.length; k++) {
+ var I = _[k],
+ C = I.ele,
+ O = I.json;
+ C.json(O);
+ }
+ }, 'updateEles');
+ if (vn(e.elements)) l(e.elements);
+ else
+ for (var u = ['nodes', 'edges'], h = 0; h < u.length; h++) {
+ var f = u[h],
+ d = e.elements[f];
+ vn(d) && l(d, f);
+ }
+ var p = r.collection();
+ i
+ .filter(function (w) {
+ return !s[w.id()];
+ })
+ .forEach(function (w) {
+ w.isParent() ? p.merge(w) : w.remove();
+ }),
+ p.forEach(function (w) {
+ return w.children().move({ parent: null });
+ }),
+ p.forEach(function (w) {
+ return a(w).remove();
+ });
+ }
+ e.style && r.style(e.style),
+ e.zoom != null && e.zoom !== n.zoom && r.zoom(e.zoom),
+ e.pan && (e.pan.x !== n.pan.x || e.pan.y !== n.pan.y) && r.pan(e.pan),
+ e.data && r.data(e.data);
+ for (
+ var m = [
+ 'minZoom',
+ 'maxZoom',
+ 'zoomingEnabled',
+ 'userZoomingEnabled',
+ 'panningEnabled',
+ 'userPanningEnabled',
+ 'boxSelectionEnabled',
+ 'autolock',
+ 'autoungrabify',
+ 'autounselectify',
+ 'multiClickDebounceTime'
+ ],
+ g = 0;
+ g < m.length;
+ g++
+ ) {
+ var y = m[g];
+ e[y] != null && r[y](e[y]);
+ }
+ return r.endBatch(), this;
+ } else {
+ var v = !!e,
+ x = {};
+ v
+ ? (x.elements = this.elements().map(function (w) {
+ return w.json();
+ }))
+ : ((x.elements = {}),
+ i.forEach(function (w) {
+ var S = w.group();
+ x.elements[S] || (x.elements[S] = []), x.elements[S].push(w.json());
+ })),
+ this._private.styleEnabled && (x.style = r.style().json()),
+ (x.data = $c(r.data()));
+ var b = n.options;
+ return (
+ (x.zoomingEnabled = n.zoomingEnabled),
+ (x.userZoomingEnabled = n.userZoomingEnabled),
+ (x.zoom = n.zoom),
+ (x.minZoom = n.minZoom),
+ (x.maxZoom = n.maxZoom),
+ (x.panningEnabled = n.panningEnabled),
+ (x.userPanningEnabled = n.userPanningEnabled),
+ (x.pan = $c(n.pan)),
+ (x.boxSelectionEnabled = n.boxSelectionEnabled),
+ (x.renderer = $c(b.renderer)),
+ (x.hideEdgesOnViewport = b.hideEdgesOnViewport),
+ (x.textureOnViewport = b.textureOnViewport),
+ (x.wheelSensitivity = b.wheelSensitivity),
+ (x.motionBlur = b.motionBlur),
+ (x.multiClickDebounceTime = b.multiClickDebounceTime),
+ x
+ );
+ }
+ }, 'json')
+ });
+ D6.$id = D6.getElementById;
+ [CKe, DKe, Sme, FP, x6, NKe, zP, b6, OKe, q0, jx].forEach(function (t) {
+ Wt(D6, t);
+ });
+ (BKe = {
+ fit: !0,
+ directed: !1,
+ padding: 30,
+ circle: !1,
+ grid: !1,
+ spacingFactor: 1.75,
+ boundingBox: void 0,
+ avoidOverlap: !0,
+ nodeDimensionsIncludeLabels: !1,
+ roots: void 0,
+ depthSort: void 0,
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ }),
+ (FKe = { maximal: !1, acyclic: !1 }),
+ (Kg = o(function (e) {
+ return e.scratch('breadthfirst');
+ }, 'getInfo')),
+ (epe = o(function (e, r) {
+ return e.scratch('breadthfirst', r);
+ }, 'setInfo'));
+ o(Ame, 'BreadthFirstLayout');
+ Ame.prototype.run = function () {
+ var t = this.options,
+ e = t,
+ r = t.cy,
+ n = e.eles,
+ i = n.nodes().filter(function (ue) {
+ return !ue.isParent();
+ }),
+ a = n,
+ s = e.directed,
+ l = e.acyclic || e.maximal || e.maximalAdjustments > 0,
+ u = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }),
+ h;
+ if (xo(e.roots)) h = e.roots;
+ else if (vn(e.roots)) {
+ for (var f = [], d = 0; d < e.roots.length; d++) {
+ var p = e.roots[d],
+ m = r.getElementById(p);
+ f.push(m);
+ }
+ h = r.collection(f);
+ } else if (zt(e.roots)) h = r.$(e.roots);
+ else if (s) h = i.roots();
+ else {
+ var g = n.components();
+ h = r.collection();
+ for (
+ var y = o(function (te) {
+ var De = g[te],
+ oe = De.maxDegree(!1),
+ ke = De.filter(function (Ie) {
+ return Ie.degree(!1) === oe;
+ });
+ h = h.add(ke);
+ }, '_loop'),
+ v = 0;
+ v < g.length;
+ v++
+ )
+ y(v);
+ }
+ var x = [],
+ b = {},
+ w = o(function (te, De) {
+ x[De] == null && (x[De] = []);
+ var oe = x[De].length;
+ x[De].push(te), epe(te, { index: oe, depth: De });
+ }, 'addToDepth'),
+ S = o(function (te, De) {
+ var oe = Kg(te),
+ ke = oe.depth,
+ Ie = oe.index;
+ (x[ke][Ie] = null), w(te, De);
+ }, 'changeDepth');
+ a.bfs({
+ roots: h,
+ directed: e.directed,
+ visit: o(function (te, De, oe, ke, Ie) {
+ var Se = te[0],
+ Ue = Se.id();
+ w(Se, Ie), (b[Ue] = !0);
+ }, 'visit')
+ });
+ for (var T = [], E = 0; E < i.length; E++) {
+ var _ = i[E];
+ b[_.id()] || T.push(_);
+ }
+ var A = o(function (te) {
+ for (var De = x[te], oe = 0; oe < De.length; oe++) {
+ var ke = De[oe];
+ if (ke == null) {
+ De.splice(oe, 1), oe--;
+ continue;
+ }
+ epe(ke, { depth: te, index: oe });
+ }
+ }, 'assignDepthsAt'),
+ L = o(function () {
+ for (var te = 0; te < x.length; te++) A(te);
+ }, 'assignDepths'),
+ M = o(function (te, De) {
+ for (
+ var oe = Kg(te),
+ ke = te.incomers().filter(function (W) {
+ return W.isNode() && n.has(W);
+ }),
+ Ie = -1,
+ Se = te.id(),
+ Ue = 0;
+ Ue < ke.length;
+ Ue++
+ ) {
+ var Pe = ke[Ue],
+ _e = Kg(Pe);
+ Ie = Math.max(Ie, _e.depth);
+ }
+ if (oe.depth <= Ie) {
+ if (!e.acyclic && De[Se]) return null;
+ var me = Ie + 1;
+ return S(te, me), (De[Se] = me), !0;
+ }
+ return !1;
+ }, 'adjustMaximally');
+ if (s && l) {
+ var N = [],
+ k = {},
+ I = o(function (te) {
+ return N.push(te);
+ }, 'enqueue'),
+ C = o(function () {
+ return N.shift();
+ }, 'dequeue');
+ for (
+ i.forEach(function (ue) {
+ return N.push(ue);
+ });
+ N.length > 0;
+
+ ) {
+ var O = C(),
+ D = M(O, k);
+ if (D)
+ O.outgoers()
+ .filter(function (ue) {
+ return ue.isNode() && n.has(ue);
+ })
+ .forEach(I);
+ else if (D === null) {
+ tn(
+ 'Detected double maximal shift for node `' +
+ O.id() +
+ '`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.'
+ );
+ break;
+ }
+ }
+ }
+ L();
+ var P = 0;
+ if (e.avoidOverlap)
+ for (var F = 0; F < i.length; F++) {
+ var B = i[F],
+ $ = B.layoutDimensions(e),
+ z = $.w,
+ Y = $.h;
+ P = Math.max(P, z, Y);
+ }
+ var Q = {},
+ X = o(function (te) {
+ if (Q[te.id()]) return Q[te.id()];
+ for (
+ var De = Kg(te).depth, oe = te.neighborhood(), ke = 0, Ie = 0, Se = 0;
+ Se < oe.length;
+ Se++
+ ) {
+ var Ue = oe[Se];
+ if (!(Ue.isEdge() || Ue.isParent() || !i.has(Ue))) {
+ var Pe = Kg(Ue);
+ if (Pe != null) {
+ var _e = Pe.index,
+ me = Pe.depth;
+ if (!(_e == null || me == null)) {
+ var W = x[me].length;
+ me < De && ((ke += _e / W), Ie++);
+ }
+ }
+ }
+ }
+ return (Ie = Math.max(1, Ie)), (ke = ke / Ie), Ie === 0 && (ke = 0), (Q[te.id()] = ke), ke;
+ }, 'getWeightedPercent'),
+ ie = o(function (te, De) {
+ var oe = X(te),
+ ke = X(De),
+ Ie = oe - ke;
+ return Ie === 0 ? Ape(te.id(), De.id()) : Ie;
+ }, 'sortFn');
+ e.depthSort !== void 0 && (ie = e.depthSort);
+ for (var j = 0; j < x.length; j++) x[j].sort(ie), A(j);
+ for (var J = [], Z = 0; Z < T.length; Z++) J.push(T[Z]);
+ x.unshift(J), L();
+ for (var H = 0, q = 0; q < x.length; q++) H = Math.max(x[q].length, H);
+ var K = { x: u.x1 + u.w / 2, y: u.x1 + u.h / 2 },
+ se = x.reduce(function (ue, te) {
+ return Math.max(ue, te.length);
+ }, 0),
+ ce = o(function (te) {
+ var De = Kg(te),
+ oe = De.depth,
+ ke = De.index,
+ Ie = x[oe].length,
+ Se = Math.max(u.w / ((e.grid ? se : Ie) + 1), P),
+ Ue = Math.max(u.h / (x.length + 1), P),
+ Pe = Math.min(u.w / 2 / x.length, u.h / 2 / x.length);
+ if (((Pe = Math.max(Pe, P)), e.circle)) {
+ var me = Pe * oe + Pe - (x.length > 0 && x[0].length <= 3 ? Pe / 2 : 0),
+ W = ((2 * Math.PI) / x[oe].length) * ke;
+ return (
+ oe === 0 && x[0].length === 1 && (me = 1),
+ { x: K.x + me * Math.cos(W), y: K.y + me * Math.sin(W) }
+ );
+ } else {
+ var _e = {
+ x: K.x + (ke + 1 - (Ie + 1) / 2) * Se,
+ y: (oe + 1) * Ue
+ };
+ return _e;
+ }
+ }, 'getPosition');
+ return n.nodes().layoutPositions(this, e, ce), this;
+ };
+ zKe = {
+ fit: !0,
+ padding: 30,
+ boundingBox: void 0,
+ avoidOverlap: !0,
+ nodeDimensionsIncludeLabels: !1,
+ spacingFactor: void 0,
+ radius: void 0,
+ startAngle: (3 / 2) * Math.PI,
+ sweep: void 0,
+ clockwise: !0,
+ sort: void 0,
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ };
+ o(_me, 'CircleLayout');
+ _me.prototype.run = function () {
+ var t = this.options,
+ e = t,
+ r = t.cy,
+ n = e.eles,
+ i = e.counterclockwise !== void 0 ? !e.counterclockwise : e.clockwise,
+ a = n.nodes().not(':parent');
+ e.sort && (a = a.sort(e.sort));
+ for (
+ var s = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }),
+ l = { x: s.x1 + s.w / 2, y: s.y1 + s.h / 2 },
+ u = e.sweep === void 0 ? 2 * Math.PI - (2 * Math.PI) / a.length : e.sweep,
+ h = u / Math.max(1, a.length - 1),
+ f,
+ d = 0,
+ p = 0;
+ p < a.length;
+ p++
+ ) {
+ var m = a[p],
+ g = m.layoutDimensions(e),
+ y = g.w,
+ v = g.h;
+ d = Math.max(d, y, v);
+ }
+ if (
+ (ft(e.radius) ? (f = e.radius) : a.length <= 1 ? (f = 0) : (f = Math.min(s.h, s.w) / 2 - d),
+ a.length > 1 && e.avoidOverlap)
+ ) {
+ d *= 1.75;
+ var x = Math.cos(h) - Math.cos(0),
+ b = Math.sin(h) - Math.sin(0),
+ w = Math.sqrt((d * d) / (x * x + b * b));
+ f = Math.max(w, f);
+ }
+ var S = o(function (E, _) {
+ var A = e.startAngle + _ * h * (i ? 1 : -1),
+ L = f * Math.cos(A),
+ M = f * Math.sin(A),
+ N = { x: l.x + L, y: l.y + M };
+ return N;
+ }, 'getPos');
+ return n.nodes().layoutPositions(this, e, S), this;
+ };
+ GKe = {
+ fit: !0,
+ padding: 30,
+ startAngle: (3 / 2) * Math.PI,
+ sweep: void 0,
+ clockwise: !0,
+ equidistant: !1,
+ minNodeSpacing: 10,
+ boundingBox: void 0,
+ avoidOverlap: !0,
+ nodeDimensionsIncludeLabels: !1,
+ height: void 0,
+ width: void 0,
+ spacingFactor: void 0,
+ concentric: o(function (e) {
+ return e.degree();
+ }, 'concentric'),
+ levelWidth: o(function (e) {
+ return e.maxDegree() / 4;
+ }, 'levelWidth'),
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ };
+ o(Lme, 'ConcentricLayout');
+ Lme.prototype.run = function () {
+ for (
+ var t = this.options,
+ e = t,
+ r = e.counterclockwise !== void 0 ? !e.counterclockwise : e.clockwise,
+ n = t.cy,
+ i = e.eles,
+ a = i.nodes().not(':parent'),
+ s = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: n.width(), h: n.height() }),
+ l = { x: s.x1 + s.w / 2, y: s.y1 + s.h / 2 },
+ u = [],
+ h = 0,
+ f = 0;
+ f < a.length;
+ f++
+ ) {
+ var d = a[f],
+ p = void 0;
+ (p = e.concentric(d)), u.push({ value: p, node: d }), (d._private.scratch.concentric = p);
+ }
+ a.updateStyle();
+ for (var m = 0; m < a.length; m++) {
+ var g = a[m],
+ y = g.layoutDimensions(e);
+ h = Math.max(h, y.w, y.h);
+ }
+ u.sort(function (ue, te) {
+ return te.value - ue.value;
+ });
+ for (var v = e.levelWidth(a), x = [[]], b = x[0], w = 0; w < u.length; w++) {
+ var S = u[w];
+ if (b.length > 0) {
+ var T = Math.abs(b[0].value - S.value);
+ T >= v && ((b = []), x.push(b));
+ }
+ b.push(S);
+ }
+ var E = h + e.minNodeSpacing;
+ if (!e.avoidOverlap) {
+ var _ = x.length > 0 && x[0].length > 1,
+ A = Math.min(s.w, s.h) / 2 - E,
+ L = A / (x.length + _ ? 1 : 0);
+ E = Math.min(E, L);
+ }
+ for (var M = 0, N = 0; N < x.length; N++) {
+ var k = x[N],
+ I = e.sweep === void 0 ? 2 * Math.PI - (2 * Math.PI) / k.length : e.sweep,
+ C = (k.dTheta = I / Math.max(1, k.length - 1));
+ if (k.length > 1 && e.avoidOverlap) {
+ var O = Math.cos(C) - Math.cos(0),
+ D = Math.sin(C) - Math.sin(0),
+ P = Math.sqrt((E * E) / (O * O + D * D));
+ M = Math.max(P, M);
+ }
+ (k.r = M), (M += E);
+ }
+ if (e.equidistant) {
+ for (var F = 0, B = 0, $ = 0; $ < x.length; $++) {
+ var z = x[$],
+ Y = z.r - B;
+ F = Math.max(F, Y);
+ }
+ B = 0;
+ for (var Q = 0; Q < x.length; Q++) {
+ var X = x[Q];
+ Q === 0 && (B = X.r), (X.r = B), (B += F);
+ }
+ }
+ for (var ie = {}, j = 0; j < x.length; j++)
+ for (var J = x[j], Z = J.dTheta, H = J.r, q = 0; q < J.length; q++) {
+ var K = J[q],
+ se = e.startAngle + (r ? 1 : -1) * Z * q,
+ ce = { x: l.x + H * Math.cos(se), y: l.y + H * Math.sin(se) };
+ ie[K.node.id()] = ce;
+ }
+ return (
+ i.nodes().layoutPositions(this, e, function (ue) {
+ var te = ue.id();
+ return ie[te];
+ }),
+ this
+ );
+ };
+ $Ke = {
+ ready: o(function () {}, 'ready'),
+ stop: o(function () {}, 'stop'),
+ animate: !0,
+ animationEasing: void 0,
+ animationDuration: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ animationThreshold: 250,
+ refresh: 20,
+ fit: !0,
+ padding: 30,
+ boundingBox: void 0,
+ nodeDimensionsIncludeLabels: !1,
+ randomize: !1,
+ componentSpacing: 40,
+ nodeRepulsion: o(function (e) {
+ return 2048;
+ }, 'nodeRepulsion'),
+ nodeOverlap: 4,
+ idealEdgeLength: o(function (e) {
+ return 32;
+ }, 'idealEdgeLength'),
+ edgeElasticity: o(function (e) {
+ return 32;
+ }, 'edgeElasticity'),
+ nestingFactor: 1.2,
+ gravity: 1,
+ numIter: 1e3,
+ initialTemp: 1e3,
+ coolingFactor: 0.99,
+ minTemp: 1
+ };
+ o(j6, 'CoseLayout');
+ j6.prototype.run = function () {
+ var t = this.options,
+ e = t.cy,
+ r = this;
+ (r.stopped = !1),
+ (t.animate === !0 || t.animate === !1) && r.emit({ type: 'layoutstart', layout: r }),
+ t.debug === !0 ? (_P = !0) : (_P = !1);
+ var n = VKe(e, r, t);
+ _P && YKe(n), t.randomize && WKe(n);
+ var i = Ku(),
+ a = o(function () {
+ qKe(n, e, t), t.fit === !0 && e.fit(t.padding);
+ }, 'refresh'),
+ s = o(function (p) {
+ return !(
+ r.stopped ||
+ p >= t.numIter ||
+ (XKe(n, t), (n.temperature = n.temperature * t.coolingFactor), n.temperature < t.minTemp)
+ );
+ }, 'mainLoop'),
+ l = o(function () {
+ if (t.animate === !0 || t.animate === !1)
+ a(), r.one('layoutstop', t.stop), r.emit({ type: 'layoutstop', layout: r });
+ else {
+ var p = t.eles.nodes(),
+ m = Dme(n, t, p);
+ p.layoutPositions(r, t, m);
+ }
+ }, 'done'),
+ u = 0,
+ h = !0;
+ if (t.animate === !0) {
+ var f = o(function d() {
+ for (var p = 0; h && p < t.refresh; ) (h = s(u)), u++, p++;
+ if (!h) rpe(n, t), l();
+ else {
+ var m = Ku();
+ m - i >= t.animationThreshold && a(), E6(d);
+ }
+ }, 'frame');
+ f();
+ } else {
+ for (; h; ) (h = s(u)), u++;
+ rpe(n, t), l();
+ }
+ return this;
+ };
+ j6.prototype.stop = function () {
+ return (this.stopped = !0), this.thread && this.thread.stop(), this.emit('layoutstop'), this;
+ };
+ j6.prototype.destroy = function () {
+ return this.thread && this.thread.stop(), this;
+ };
+ (VKe = o(function (e, r, n) {
+ for (
+ var i = n.eles.edges(),
+ a = n.eles.nodes(),
+ s = Gs(n.boundingBox ? n.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }),
+ l = {
+ isCompound: e.hasCompoundNodes(),
+ layoutNodes: [],
+ idToIndex: {},
+ nodeSize: a.size(),
+ graphSet: [],
+ indexToGraph: [],
+ layoutEdges: [],
+ edgeSize: i.size(),
+ temperature: n.initialTemp,
+ clientWidth: s.w,
+ clientHeight: s.h,
+ boundingBox: s
+ },
+ u = n.eles.components(),
+ h = {},
+ f = 0;
+ f < u.length;
+ f++
+ )
+ for (var d = u[f], p = 0; p < d.length; p++) {
+ var m = d[p];
+ h[m.id()] = f;
+ }
+ for (var f = 0; f < l.nodeSize; f++) {
+ var g = a[f],
+ y = g.layoutDimensions(n),
+ v = {};
+ (v.isLocked = g.locked()),
+ (v.id = g.data('id')),
+ (v.parentId = g.data('parent')),
+ (v.cmptId = h[g.id()]),
+ (v.children = []),
+ (v.positionX = g.position('x')),
+ (v.positionY = g.position('y')),
+ (v.offsetX = 0),
+ (v.offsetY = 0),
+ (v.height = y.w),
+ (v.width = y.h),
+ (v.maxX = v.positionX + v.width / 2),
+ (v.minX = v.positionX - v.width / 2),
+ (v.maxY = v.positionY + v.height / 2),
+ (v.minY = v.positionY - v.height / 2),
+ (v.padLeft = parseFloat(g.style('padding'))),
+ (v.padRight = parseFloat(g.style('padding'))),
+ (v.padTop = parseFloat(g.style('padding'))),
+ (v.padBottom = parseFloat(g.style('padding'))),
+ (v.nodeRepulsion = jn(n.nodeRepulsion) ? n.nodeRepulsion(g) : n.nodeRepulsion),
+ l.layoutNodes.push(v),
+ (l.idToIndex[v.id] = f);
+ }
+ for (var x = [], b = 0, w = -1, S = [], f = 0; f < l.nodeSize; f++) {
+ var g = l.layoutNodes[f],
+ T = g.parentId;
+ T != null ? l.layoutNodes[l.idToIndex[T]].children.push(g.id) : ((x[++w] = g.id), S.push(g.id));
+ }
+ for (l.graphSet.push(S); b <= w; ) {
+ var E = x[b++],
+ _ = l.idToIndex[E],
+ m = l.layoutNodes[_],
+ A = m.children;
+ if (A.length > 0) {
+ l.graphSet.push(A);
+ for (var f = 0; f < A.length; f++) x[++w] = A[f];
+ }
+ }
+ for (var f = 0; f < l.graphSet.length; f++)
+ for (var L = l.graphSet[f], p = 0; p < L.length; p++) {
+ var M = l.idToIndex[L[p]];
+ l.indexToGraph[M] = f;
+ }
+ for (var f = 0; f < l.edgeSize; f++) {
+ var N = i[f],
+ k = {};
+ (k.id = N.data('id')), (k.sourceId = N.data('source')), (k.targetId = N.data('target'));
+ var I = jn(n.idealEdgeLength) ? n.idealEdgeLength(N) : n.idealEdgeLength,
+ C = jn(n.edgeElasticity) ? n.edgeElasticity(N) : n.edgeElasticity,
+ O = l.idToIndex[k.sourceId],
+ D = l.idToIndex[k.targetId],
+ P = l.indexToGraph[O],
+ F = l.indexToGraph[D];
+ if (P != F) {
+ for (
+ var B = UKe(k.sourceId, k.targetId, l), $ = l.graphSet[B], z = 0, v = l.layoutNodes[O];
+ $.indexOf(v.id) === -1;
+
+ )
+ (v = l.layoutNodes[l.idToIndex[v.parentId]]), z++;
+ for (v = l.layoutNodes[D]; $.indexOf(v.id) === -1; )
+ (v = l.layoutNodes[l.idToIndex[v.parentId]]), z++;
+ I *= z * n.nestingFactor;
+ }
+ (k.idealLength = I), (k.elasticity = C), l.layoutEdges.push(k);
+ }
+ return l;
+ }, 'createLayoutInfo')),
+ (UKe = o(function (e, r, n) {
+ var i = HKe(e, r, 0, n);
+ return 2 > i.count ? 0 : i.graph;
+ }, 'findLCA')),
+ (HKe = o(function t(e, r, n, i) {
+ var a = i.graphSet[n];
+ if (-1 < a.indexOf(e) && -1 < a.indexOf(r)) return { count: 2, graph: n };
+ for (var s = 0, l = 0; l < a.length; l++) {
+ var u = a[l],
+ h = i.idToIndex[u],
+ f = i.layoutNodes[h].children;
+ if (f.length !== 0) {
+ var d = i.indexToGraph[i.idToIndex[f[0]]],
+ p = t(e, r, d, i);
+ if (p.count !== 0)
+ if (p.count === 1) {
+ if ((s++, s === 2)) break;
+ } else return p;
+ }
+ }
+ return { count: s, graph: n };
+ }, 'findLCA_aux')),
+ (WKe = o(function (e, r) {
+ for (var n = e.clientWidth, i = e.clientHeight, a = 0; a < e.nodeSize; a++) {
+ var s = e.layoutNodes[a];
+ s.children.length === 0 &&
+ !s.isLocked &&
+ ((s.positionX = Math.random() * n), (s.positionY = Math.random() * i));
+ }
+ }, 'randomizePositions')),
+ (Dme = o(function (e, r, n) {
+ var i = e.boundingBox,
+ a = { x1: 1 / 0, x2: -1 / 0, y1: 1 / 0, y2: -1 / 0 };
+ return (
+ r.boundingBox &&
+ (n.forEach(function (s) {
+ var l = e.layoutNodes[e.idToIndex[s.data('id')]];
+ (a.x1 = Math.min(a.x1, l.positionX)),
+ (a.x2 = Math.max(a.x2, l.positionX)),
+ (a.y1 = Math.min(a.y1, l.positionY)),
+ (a.y2 = Math.max(a.y2, l.positionY));
+ }),
+ (a.w = a.x2 - a.x1),
+ (a.h = a.y2 - a.y1)),
+ function (s, l) {
+ var u = e.layoutNodes[e.idToIndex[s.data('id')]];
+ if (r.boundingBox) {
+ var h = (u.positionX - a.x1) / a.w,
+ f = (u.positionY - a.y1) / a.h;
+ return { x: i.x1 + h * i.w, y: i.y1 + f * i.h };
+ } else return { x: u.positionX, y: u.positionY };
+ }
+ );
+ }, 'getScaleInBoundsFn')),
+ (qKe = o(function (e, r, n) {
+ var i = n.layout,
+ a = n.eles.nodes(),
+ s = Dme(e, n, a);
+ a.positions(s),
+ e.ready !== !0 &&
+ ((e.ready = !0),
+ i.one('layoutready', n.ready),
+ i.emit({ type: 'layoutready', layout: this }));
+ }, 'refreshPositions')),
+ (XKe = o(function (e, r, n) {
+ jKe(e, r), ZKe(e), JKe(e, r), eQe(e), tQe(e);
+ }, 'step')),
+ (jKe = o(function (e, r) {
+ for (var n = 0; n < e.graphSet.length; n++)
+ for (var i = e.graphSet[n], a = i.length, s = 0; s < a; s++)
+ for (var l = e.layoutNodes[e.idToIndex[i[s]]], u = s + 1; u < a; u++) {
+ var h = e.layoutNodes[e.idToIndex[i[u]]];
+ KKe(l, h, e, r);
+ }
+ }, 'calculateNodeForces')),
+ (tpe = o(function (e) {
+ return -e + 2 * e * Math.random();
+ }, 'randomDistance')),
+ (KKe = o(function (e, r, n, i) {
+ var a = e.cmptId,
+ s = r.cmptId;
+ if (!(a !== s && !n.isCompound)) {
+ var l = r.positionX - e.positionX,
+ u = r.positionY - e.positionY,
+ h = 1;
+ l === 0 && u === 0 && ((l = tpe(h)), (u = tpe(h)));
+ var f = QKe(e, r, l, u);
+ if (f > 0)
+ var d = i.nodeOverlap * f,
+ p = Math.sqrt(l * l + u * u),
+ m = (d * l) / p,
+ g = (d * u) / p;
+ else
+ var y = R6(e, l, u),
+ v = R6(r, -1 * l, -1 * u),
+ x = v.x - y.x,
+ b = v.y - y.y,
+ w = x * x + b * b,
+ p = Math.sqrt(w),
+ d = (e.nodeRepulsion + r.nodeRepulsion) / w,
+ m = (d * x) / p,
+ g = (d * b) / p;
+ e.isLocked || ((e.offsetX -= m), (e.offsetY -= g)),
+ r.isLocked || ((r.offsetX += m), (r.offsetY += g));
+ }
+ }, 'nodeRepulsion')),
+ (QKe = o(function (e, r, n, i) {
+ if (n > 0) var a = e.maxX - r.minX;
+ else var a = r.maxX - e.minX;
+ if (i > 0) var s = e.maxY - r.minY;
+ else var s = r.maxY - e.minY;
+ return a >= 0 && s >= 0 ? Math.sqrt(a * a + s * s) : 0;
+ }, 'nodesOverlap')),
+ (R6 = o(function (e, r, n) {
+ var i = e.positionX,
+ a = e.positionY,
+ s = e.height || 1,
+ l = e.width || 1,
+ u = n / r,
+ h = s / l,
+ f = {};
+ return (r === 0 && 0 < n) || (r === 0 && 0 > n)
+ ? ((f.x = i), (f.y = a + s / 2), f)
+ : 0 < r && -1 * h <= u && u <= h
+ ? ((f.x = i + l / 2), (f.y = a + (l * n) / 2 / r), f)
+ : 0 > r && -1 * h <= u && u <= h
+ ? ((f.x = i - l / 2), (f.y = a - (l * n) / 2 / r), f)
+ : 0 < n && (u <= -1 * h || u >= h)
+ ? ((f.x = i + (s * r) / 2 / n), (f.y = a + s / 2), f)
+ : (0 > n && (u <= -1 * h || u >= h) && ((f.x = i - (s * r) / 2 / n), (f.y = a - s / 2)), f);
+ }, 'findClippingPoint')),
+ (ZKe = o(function (e, r) {
+ for (var n = 0; n < e.edgeSize; n++) {
+ var i = e.layoutEdges[n],
+ a = e.idToIndex[i.sourceId],
+ s = e.layoutNodes[a],
+ l = e.idToIndex[i.targetId],
+ u = e.layoutNodes[l],
+ h = u.positionX - s.positionX,
+ f = u.positionY - s.positionY;
+ if (!(h === 0 && f === 0)) {
+ var d = R6(s, h, f),
+ p = R6(u, -1 * h, -1 * f),
+ m = p.x - d.x,
+ g = p.y - d.y,
+ y = Math.sqrt(m * m + g * g),
+ v = Math.pow(i.idealLength - y, 2) / i.elasticity;
+ if (y !== 0)
+ var x = (v * m) / y,
+ b = (v * g) / y;
+ else
+ var x = 0,
+ b = 0;
+ s.isLocked || ((s.offsetX += x), (s.offsetY += b)),
+ u.isLocked || ((u.offsetX -= x), (u.offsetY -= b));
+ }
+ }
+ }, 'calculateEdgeForces')),
+ (JKe = o(function (e, r) {
+ if (r.gravity !== 0)
+ for (var n = 1, i = 0; i < e.graphSet.length; i++) {
+ var a = e.graphSet[i],
+ s = a.length;
+ if (i === 0)
+ var l = e.clientHeight / 2,
+ u = e.clientWidth / 2;
+ else
+ var h = e.layoutNodes[e.idToIndex[a[0]]],
+ f = e.layoutNodes[e.idToIndex[h.parentId]],
+ l = f.positionX,
+ u = f.positionY;
+ for (var d = 0; d < s; d++) {
+ var p = e.layoutNodes[e.idToIndex[a[d]]];
+ if (!p.isLocked) {
+ var m = l - p.positionX,
+ g = u - p.positionY,
+ y = Math.sqrt(m * m + g * g);
+ if (y > n) {
+ var v = (r.gravity * m) / y,
+ x = (r.gravity * g) / y;
+ (p.offsetX += v), (p.offsetY += x);
+ }
+ }
+ }
+ }
+ }, 'calculateGravityForces')),
+ (eQe = o(function (e, r) {
+ var n = [],
+ i = 0,
+ a = -1;
+ for (n.push.apply(n, e.graphSet[0]), a += e.graphSet[0].length; i <= a; ) {
+ var s = n[i++],
+ l = e.idToIndex[s],
+ u = e.layoutNodes[l],
+ h = u.children;
+ if (0 < h.length && !u.isLocked) {
+ for (var f = u.offsetX, d = u.offsetY, p = 0; p < h.length; p++) {
+ var m = e.layoutNodes[e.idToIndex[h[p]]];
+ (m.offsetX += f), (m.offsetY += d), (n[++a] = h[p]);
+ }
+ (u.offsetX = 0), (u.offsetY = 0);
+ }
+ }
+ }, 'propagateForces')),
+ (tQe = o(function (e, r) {
+ for (var n = 0; n < e.nodeSize; n++) {
+ var i = e.layoutNodes[n];
+ 0 < i.children.length &&
+ ((i.maxX = void 0), (i.minX = void 0), (i.maxY = void 0), (i.minY = void 0));
+ }
+ for (var n = 0; n < e.nodeSize; n++) {
+ var i = e.layoutNodes[n];
+ if (!(0 < i.children.length || i.isLocked)) {
+ var a = rQe(i.offsetX, i.offsetY, e.temperature);
+ (i.positionX += a.x),
+ (i.positionY += a.y),
+ (i.offsetX = 0),
+ (i.offsetY = 0),
+ (i.minX = i.positionX - i.width),
+ (i.maxX = i.positionX + i.width),
+ (i.minY = i.positionY - i.height),
+ (i.maxY = i.positionY + i.height),
+ nQe(i, e);
+ }
+ }
+ for (var n = 0; n < e.nodeSize; n++) {
+ var i = e.layoutNodes[n];
+ 0 < i.children.length &&
+ !i.isLocked &&
+ ((i.positionX = (i.maxX + i.minX) / 2),
+ (i.positionY = (i.maxY + i.minY) / 2),
+ (i.width = i.maxX - i.minX),
+ (i.height = i.maxY - i.minY));
+ }
+ }, 'updatePositions')),
+ (rQe = o(function (e, r, n) {
+ var i = Math.sqrt(e * e + r * r);
+ if (i > n) var a = { x: (n * e) / i, y: (n * r) / i };
+ else var a = { x: e, y: r };
+ return a;
+ }, 'limitForce')),
+ (nQe = o(function t(e, r) {
+ var n = e.parentId;
+ if (n != null) {
+ var i = r.layoutNodes[r.idToIndex[n]],
+ a = !1;
+ if (
+ ((i.maxX == null || e.maxX + i.padRight > i.maxX) &&
+ ((i.maxX = e.maxX + i.padRight), (a = !0)),
+ (i.minX == null || e.minX - i.padLeft < i.minX) &&
+ ((i.minX = e.minX - i.padLeft), (a = !0)),
+ (i.maxY == null || e.maxY + i.padBottom > i.maxY) &&
+ ((i.maxY = e.maxY + i.padBottom), (a = !0)),
+ (i.minY == null || e.minY - i.padTop < i.minY) && ((i.minY = e.minY - i.padTop), (a = !0)),
+ a)
+ )
+ return t(i, r);
+ }
+ }, 'updateAncestryBoundaries')),
+ (rpe = o(function (e, r) {
+ for (var n = e.layoutNodes, i = [], a = 0; a < n.length; a++) {
+ var s = n[a],
+ l = s.cmptId,
+ u = (i[l] = i[l] || []);
+ u.push(s);
+ }
+ for (var h = 0, a = 0; a < i.length; a++) {
+ var f = i[a];
+ if (f) {
+ (f.x1 = 1 / 0), (f.x2 = -1 / 0), (f.y1 = 1 / 0), (f.y2 = -1 / 0);
+ for (var d = 0; d < f.length; d++) {
+ var p = f[d];
+ (f.x1 = Math.min(f.x1, p.positionX - p.width / 2)),
+ (f.x2 = Math.max(f.x2, p.positionX + p.width / 2)),
+ (f.y1 = Math.min(f.y1, p.positionY - p.height / 2)),
+ (f.y2 = Math.max(f.y2, p.positionY + p.height / 2));
+ }
+ (f.w = f.x2 - f.x1), (f.h = f.y2 - f.y1), (h += f.w * f.h);
+ }
+ }
+ i.sort(function (b, w) {
+ return w.w * w.h - b.w * b.h;
+ });
+ for (
+ var m = 0, g = 0, y = 0, v = 0, x = (Math.sqrt(h) * e.clientWidth) / e.clientHeight, a = 0;
+ a < i.length;
+ a++
+ ) {
+ var f = i[a];
+ if (f) {
+ for (var d = 0; d < f.length; d++) {
+ var p = f[d];
+ p.isLocked || ((p.positionX += m - f.x1), (p.positionY += g - f.y1));
+ }
+ (m += f.w + r.componentSpacing),
+ (y += f.w + r.componentSpacing),
+ (v = Math.max(v, f.h)),
+ y > x && ((g += v + r.componentSpacing), (m = 0), (y = 0), (v = 0));
+ }
+ }
+ }, 'separateComponents')),
+ (iQe = {
+ fit: !0,
+ padding: 30,
+ boundingBox: void 0,
+ avoidOverlap: !0,
+ avoidOverlapPadding: 10,
+ nodeDimensionsIncludeLabels: !1,
+ spacingFactor: void 0,
+ condense: !1,
+ rows: void 0,
+ cols: void 0,
+ position: o(function (e) {}, 'position'),
+ sort: void 0,
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ });
+ o(Rme, 'GridLayout');
+ Rme.prototype.run = function () {
+ var t = this.options,
+ e = t,
+ r = t.cy,
+ n = e.eles,
+ i = n.nodes().not(':parent');
+ e.sort && (i = i.sort(e.sort));
+ var a = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() });
+ if (a.h === 0 || a.w === 0)
+ n.nodes().layoutPositions(this, e, function (Q) {
+ return { x: a.x1, y: a.y1 };
+ });
+ else {
+ var s = i.size(),
+ l = Math.sqrt((s * a.h) / a.w),
+ u = Math.round(l),
+ h = Math.round((a.w / a.h) * l),
+ f = o(function (X) {
+ if (X == null) return Math.min(u, h);
+ var ie = Math.min(u, h);
+ ie == u ? (u = X) : (h = X);
+ }, 'small'),
+ d = o(function (X) {
+ if (X == null) return Math.max(u, h);
+ var ie = Math.max(u, h);
+ ie == u ? (u = X) : (h = X);
+ }, 'large'),
+ p = e.rows,
+ m = e.cols != null ? e.cols : e.columns;
+ if (p != null && m != null) (u = p), (h = m);
+ else if (p != null && m == null) (u = p), (h = Math.ceil(s / u));
+ else if (p == null && m != null) (h = m), (u = Math.ceil(s / h));
+ else if (h * u > s) {
+ var g = f(),
+ y = d();
+ (g - 1) * y >= s ? f(g - 1) : (y - 1) * g >= s && d(y - 1);
+ } else
+ for (; h * u < s; ) {
+ var v = f(),
+ x = d();
+ (x + 1) * v >= s ? d(x + 1) : f(v + 1);
+ }
+ var b = a.w / h,
+ w = a.h / u;
+ if ((e.condense && ((b = 0), (w = 0)), e.avoidOverlap))
+ for (var S = 0; S < i.length; S++) {
+ var T = i[S],
+ E = T._private.position;
+ (E.x == null || E.y == null) && ((E.x = 0), (E.y = 0));
+ var _ = T.layoutDimensions(e),
+ A = e.avoidOverlapPadding,
+ L = _.w + A,
+ M = _.h + A;
+ (b = Math.max(b, L)), (w = Math.max(w, M));
+ }
+ for (
+ var N = {},
+ k = o(function (X, ie) {
+ return !!N['c-' + X + '-' + ie];
+ }, 'used'),
+ I = o(function (X, ie) {
+ N['c-' + X + '-' + ie] = !0;
+ }, 'use'),
+ C = 0,
+ O = 0,
+ D = o(function () {
+ O++, O >= h && ((O = 0), C++);
+ }, 'moveToNextCell'),
+ P = {},
+ F = 0;
+ F < i.length;
+ F++
+ ) {
+ var B = i[F],
+ $ = e.position(B);
+ if ($ && ($.row !== void 0 || $.col !== void 0)) {
+ var z = { row: $.row, col: $.col };
+ if (z.col === void 0) for (z.col = 0; k(z.row, z.col); ) z.col++;
+ else if (z.row === void 0) for (z.row = 0; k(z.row, z.col); ) z.row++;
+ (P[B.id()] = z), I(z.row, z.col);
+ }
+ }
+ var Y = o(function (X, ie) {
+ var j, J;
+ if (X.locked() || X.isParent()) return !1;
+ var Z = P[X.id()];
+ if (Z) (j = Z.col * b + b / 2 + a.x1), (J = Z.row * w + w / 2 + a.y1);
+ else {
+ for (; k(C, O); ) D();
+ (j = O * b + b / 2 + a.x1), (J = C * w + w / 2 + a.y1), I(C, O), D();
+ }
+ return { x: j, y: J };
+ }, 'getPos');
+ i.layoutPositions(this, e, Y);
+ }
+ return this;
+ };
+ aQe = {
+ ready: o(function () {}, 'ready'),
+ stop: o(function () {}, 'stop')
+ };
+ o(dB, 'NullLayout');
+ dB.prototype.run = function () {
+ var t = this.options,
+ e = t.eles,
+ r = this;
+ return (
+ t.cy,
+ r.emit('layoutstart'),
+ e.nodes().positions(function () {
+ return { x: 0, y: 0 };
+ }),
+ r.one('layoutready', t.ready),
+ r.emit('layoutready'),
+ r.one('layoutstop', t.stop),
+ r.emit('layoutstop'),
+ this
+ );
+ };
+ dB.prototype.stop = function () {
+ return this;
+ };
+ sQe = {
+ positions: void 0,
+ zoom: void 0,
+ pan: void 0,
+ fit: !0,
+ padding: 30,
+ spacingFactor: void 0,
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ };
+ o(Nme, 'PresetLayout');
+ Nme.prototype.run = function () {
+ var t = this.options,
+ e = t.eles,
+ r = e.nodes(),
+ n = jn(t.positions);
+ function i(a) {
+ if (t.positions == null) return uWe(a.position());
+ if (n) return t.positions(a);
+ var s = t.positions[a._private.data.id];
+ return s ?? null;
+ }
+ return (
+ o(i, 'getPosition'),
+ r.layoutPositions(this, t, function (a, s) {
+ var l = i(a);
+ return a.locked() || l == null ? !1 : l;
+ }),
+ this
+ );
+ };
+ oQe = {
+ fit: !0,
+ padding: 30,
+ boundingBox: void 0,
+ animate: !1,
+ animationDuration: 500,
+ animationEasing: void 0,
+ animateFilter: o(function (e, r) {
+ return !0;
+ }, 'animateFilter'),
+ ready: void 0,
+ stop: void 0,
+ transform: o(function (e, r) {
+ return r;
+ }, 'transform')
+ };
+ o(Mme, 'RandomLayout');
+ Mme.prototype.run = function () {
+ var t = this.options,
+ e = t.cy,
+ r = t.eles,
+ n = Gs(t.boundingBox ? t.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }),
+ i = o(function (s, l) {
+ return {
+ x: n.x1 + Math.round(Math.random() * n.w),
+ y: n.y1 + Math.round(Math.random() * n.h)
+ };
+ }, 'getPos');
+ return r.nodes().layoutPositions(this, t, i), this;
+ };
+ lQe = [
+ { name: 'breadthfirst', impl: Ame },
+ { name: 'circle', impl: _me },
+ { name: 'concentric', impl: Lme },
+ { name: 'cose', impl: j6 },
+ { name: 'grid', impl: Rme },
+ { name: 'null', impl: dB },
+ { name: 'preset', impl: Nme },
+ { name: 'random', impl: Mme }
+ ];
+ o(Ime, 'NullRenderer');
+ (npe = o(function () {}, 'noop')),
+ (ipe = o(function () {
+ throw new Error('A headless instance can not render images');
+ }, 'throwImgErr'));
+ Ime.prototype = {
+ recalculateRenderedStyle: npe,
+ notify: o(function () {
+ this.notifications++;
+ }, 'notify'),
+ init: npe,
+ isHeadless: o(function () {
+ return !0;
+ }, 'isHeadless'),
+ png: ipe,
+ jpg: ipe
+ };
+ pB = {};
+ pB.arrowShapeWidth = 0.3;
+ pB.registerArrowShapes = function () {
+ var t = (this.arrowShapes = {}),
+ e = this,
+ r = o(function (h, f, d, p, m, g, y) {
+ var v = m.x - d / 2 - y,
+ x = m.x + d / 2 + y,
+ b = m.y - d / 2 - y,
+ w = m.y + d / 2 + y,
+ S = v <= h && h <= x && b <= f && f <= w;
+ return S;
+ }, 'bbCollide'),
+ n = o(function (h, f, d, p, m) {
+ var g = h * Math.cos(p) - f * Math.sin(p),
+ y = h * Math.sin(p) + f * Math.cos(p),
+ v = g * d,
+ x = y * d,
+ b = v + m.x,
+ w = x + m.y;
+ return { x: b, y: w };
+ }, 'transform'),
+ i = o(function (h, f, d, p) {
+ for (var m = [], g = 0; g < h.length; g += 2) {
+ var y = h[g],
+ v = h[g + 1];
+ m.push(n(y, v, f, d, p));
+ }
+ return m;
+ }, 'transformPoints'),
+ a = o(function (h) {
+ for (var f = [], d = 0; d < h.length; d++) {
+ var p = h[d];
+ f.push(p.x, p.y);
+ }
+ return f;
+ }, 'pointsToArr'),
+ s = o(function (h) {
+ return h.pstyle('width').pfValue * h.pstyle('arrow-scale').pfValue * 2;
+ }, 'standardGap'),
+ l = o(function (h, f) {
+ zt(f) && (f = t[f]),
+ (t[h] = Wt(
+ {
+ name: h,
+ points: [-0.15, -0.3, 0.15, -0.3, 0.15, 0.3, -0.15, 0.3],
+ collide: o(function (p, m, g, y, v, x) {
+ var b = a(i(this.points, g + 2 * x, y, v)),
+ w = zs(p, m, b);
+ return w;
+ }, 'collide'),
+ roughCollide: r,
+ draw: o(function (p, m, g, y) {
+ var v = i(this.points, m, g, y);
+ e.arrowShapeImpl('polygon')(p, v);
+ }, 'draw'),
+ spacing: o(function (p) {
+ return 0;
+ }, 'spacing'),
+ gap: s
+ },
+ f
+ ));
+ }, 'defineArrowShape');
+ l('none', {
+ collide: C6,
+ roughCollide: C6,
+ draw: JP,
+ spacing: p0e,
+ gap: p0e
+ }),
+ l('triangle', { points: [-0.15, -0.3, 0, 0, 0.15, -0.3] }),
+ l('arrow', 'triangle'),
+ l('triangle-backcurve', {
+ points: t.triangle.points,
+ controlPoint: [0, -0.15],
+ roughCollide: r,
+ draw: o(function (h, f, d, p, m) {
+ var g = i(this.points, f, d, p),
+ y = this.controlPoint,
+ v = n(y[0], y[1], f, d, p);
+ e.arrowShapeImpl(this.name)(h, g, v);
+ }, 'draw'),
+ gap: o(function (h) {
+ return s(h) * 0.8;
+ }, 'gap')
+ }),
+ l('triangle-tee', {
+ points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0],
+ pointsTee: [-0.15, -0.4, -0.15, -0.5, 0.15, -0.5, 0.15, -0.4],
+ collide: o(function (h, f, d, p, m, g, y) {
+ var v = a(i(this.points, d + 2 * y, p, m)),
+ x = a(i(this.pointsTee, d + 2 * y, p, m)),
+ b = zs(h, f, v) || zs(h, f, x);
+ return b;
+ }, 'collide'),
+ draw: o(function (h, f, d, p, m) {
+ var g = i(this.points, f, d, p),
+ y = i(this.pointsTee, f, d, p);
+ e.arrowShapeImpl(this.name)(h, g, y);
+ }, 'draw')
+ }),
+ l('circle-triangle', {
+ radius: 0.15,
+ pointsTr: [0, -0.15, 0.15, -0.45, -0.15, -0.45, 0, -0.15],
+ collide: o(function (h, f, d, p, m, g, y) {
+ var v = m,
+ x =
+ Math.pow(v.x - h, 2) + Math.pow(v.y - f, 2) <=
+ Math.pow((d + 2 * y) * this.radius, 2),
+ b = a(i(this.points, d + 2 * y, p, m));
+ return zs(h, f, b) || x;
+ }, 'collide'),
+ draw: o(function (h, f, d, p, m) {
+ var g = i(this.pointsTr, f, d, p);
+ e.arrowShapeImpl(this.name)(h, g, p.x, p.y, this.radius * f);
+ }, 'draw'),
+ spacing: o(function (h) {
+ return (
+ e.getArrowWidth(h.pstyle('width').pfValue, h.pstyle('arrow-scale').value) * this.radius
+ );
+ }, 'spacing')
+ }),
+ l('triangle-cross', {
+ points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0],
+ baseCrossLinePts: [-0.15, -0.4, -0.15, -0.4, 0.15, -0.4, 0.15, -0.4],
+ crossLinePts: o(function (h, f) {
+ var d = this.baseCrossLinePts.slice(),
+ p = f / h,
+ m = 3,
+ g = 5;
+ return (d[m] = d[m] - p), (d[g] = d[g] - p), d;
+ }, 'crossLinePts'),
+ collide: o(function (h, f, d, p, m, g, y) {
+ var v = a(i(this.points, d + 2 * y, p, m)),
+ x = a(i(this.crossLinePts(d, g), d + 2 * y, p, m)),
+ b = zs(h, f, v) || zs(h, f, x);
+ return b;
+ }, 'collide'),
+ draw: o(function (h, f, d, p, m) {
+ var g = i(this.points, f, d, p),
+ y = i(this.crossLinePts(f, m), f, d, p);
+ e.arrowShapeImpl(this.name)(h, g, y);
+ }, 'draw')
+ }),
+ l('vee', {
+ points: [-0.15, -0.3, 0, 0, 0.15, -0.3, 0, -0.15],
+ gap: o(function (h) {
+ return s(h) * 0.525;
+ }, 'gap')
+ }),
+ l('circle', {
+ radius: 0.15,
+ collide: o(function (h, f, d, p, m, g, y) {
+ var v = m,
+ x =
+ Math.pow(v.x - h, 2) + Math.pow(v.y - f, 2) <=
+ Math.pow((d + 2 * y) * this.radius, 2);
+ return x;
+ }, 'collide'),
+ draw: o(function (h, f, d, p, m) {
+ e.arrowShapeImpl(this.name)(h, p.x, p.y, this.radius * f);
+ }, 'draw'),
+ spacing: o(function (h) {
+ return (
+ e.getArrowWidth(h.pstyle('width').pfValue, h.pstyle('arrow-scale').value) * this.radius
+ );
+ }, 'spacing')
+ }),
+ l('tee', {
+ points: [-0.15, 0, -0.15, -0.1, 0.15, -0.1, 0.15, 0],
+ spacing: o(function (h) {
+ return 1;
+ }, 'spacing'),
+ gap: o(function (h) {
+ return 1;
+ }, 'gap')
+ }),
+ l('square', { points: [-0.15, 0, 0.15, 0, 0.15, -0.3, -0.15, -0.3] }),
+ l('diamond', {
+ points: [-0.15, -0.15, 0, -0.3, 0.15, -0.15, 0, 0],
+ gap: o(function (h) {
+ return h.pstyle('width').pfValue * h.pstyle('arrow-scale').value;
+ }, 'gap')
+ }),
+ l('chevron', {
+ points: [0, 0, -0.15, -0.15, -0.1, -0.2, 0, -0.1, 0.1, -0.2, 0.15, -0.15],
+ gap: o(function (h) {
+ return 0.95 * h.pstyle('width').pfValue * h.pstyle('arrow-scale').value;
+ }, 'gap')
+ });
+ };
+ j0 = {};
+ j0.projectIntoViewport = function (t, e) {
+ var r = this.cy,
+ n = this.findContainerClientCoords(),
+ i = n[0],
+ a = n[1],
+ s = n[4],
+ l = r.pan(),
+ u = r.zoom(),
+ h = ((t - i) / s - l.x) / u,
+ f = ((e - a) / s - l.y) / u;
+ return [h, f];
+ };
+ j0.findContainerClientCoords = function () {
+ if (this.containerBB) return this.containerBB;
+ var t = this.container,
+ e = t.getBoundingClientRect(),
+ r = this.cy.window().getComputedStyle(t),
+ n = o(function (x) {
+ return parseFloat(r.getPropertyValue(x));
+ }, 'styleValue'),
+ i = {
+ left: n('padding-left'),
+ right: n('padding-right'),
+ top: n('padding-top'),
+ bottom: n('padding-bottom')
+ },
+ a = {
+ left: n('border-left-width'),
+ right: n('border-right-width'),
+ top: n('border-top-width'),
+ bottom: n('border-bottom-width')
+ },
+ s = t.clientWidth,
+ l = t.clientHeight,
+ u = i.left + i.right,
+ h = i.top + i.bottom,
+ f = a.left + a.right,
+ d = e.width / (s + f),
+ p = s - u,
+ m = l - h,
+ g = e.left + i.left + a.left,
+ y = e.top + i.top + a.top;
+ return (this.containerBB = [g, y, p, m, d]);
+ };
+ j0.invalidateContainerClientCoordsCache = function () {
+ this.containerBB = null;
+ };
+ j0.findNearestElement = function (t, e, r, n) {
+ return this.findNearestElements(t, e, r, n)[0];
+ };
+ j0.findNearestElements = function (t, e, r, n) {
+ var i = this,
+ a = this,
+ s = a.getCachedZSortedEles(),
+ l = [],
+ u = a.cy.zoom(),
+ h = a.cy.hasCompoundNodes(),
+ f = (n ? 24 : 8) / u,
+ d = (n ? 8 : 2) / u,
+ p = (n ? 8 : 2) / u,
+ m = 1 / 0,
+ g,
+ y;
+ r && (s = s.interactive);
+ function v(_, A) {
+ if (_.isNode()) {
+ if (y) return;
+ (y = _), l.push(_);
+ }
+ if (_.isEdge() && (A == null || A < m))
+ if (g) {
+ if (
+ g.pstyle('z-compound-depth').value === _.pstyle('z-compound-depth').value &&
+ g.pstyle('z-compound-depth').value === _.pstyle('z-compound-depth').value
+ ) {
+ for (var L = 0; L < l.length; L++)
+ if (l[L].isEdge()) {
+ (l[L] = _), (g = _), (m = A ?? m);
+ break;
+ }
+ }
+ } else l.push(_), (g = _), (m = A ?? m);
+ }
+ o(v, 'addEle');
+ function x(_) {
+ var A = _.outerWidth() + 2 * d,
+ L = _.outerHeight() + 2 * d,
+ M = A / 2,
+ N = L / 2,
+ k = _.position(),
+ I = _.pstyle('corner-radius').value === 'auto' ? 'auto' : _.pstyle('corner-radius').pfValue,
+ C = _._private.rscratch;
+ if (k.x - M <= t && t <= k.x + M && k.y - N <= e && e <= k.y + N) {
+ var O = a.nodeShapes[i.getNodeShape(_)];
+ if (O.checkPoint(t, e, 0, A, L, k.x, k.y, I, C)) return v(_, 0), !0;
+ }
+ }
+ o(x, 'checkNode');
+ function b(_) {
+ var A = _._private,
+ L = A.rscratch,
+ M = _.pstyle('width').pfValue,
+ N = _.pstyle('arrow-scale').value,
+ k = M / 2 + f,
+ I = k * k,
+ C = k * 2,
+ F = A.source,
+ B = A.target,
+ O;
+ if (L.edgeType === 'segments' || L.edgeType === 'straight' || L.edgeType === 'haystack') {
+ for (var D = L.allpts, P = 0; P + 3 < D.length; P += 2)
+ if (
+ kWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], C) &&
+ I > (O = _We(t, e, D[P], D[P + 1], D[P + 2], D[P + 3]))
+ )
+ return v(_, O), !0;
+ } else if (
+ L.edgeType === 'bezier' ||
+ L.edgeType === 'multibezier' ||
+ L.edgeType === 'self' ||
+ L.edgeType === 'compound'
+ ) {
+ for (var D = L.allpts, P = 0; P + 5 < L.allpts.length; P += 4)
+ if (
+ EWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], D[P + 4], D[P + 5], C) &&
+ I > (O = AWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], D[P + 4], D[P + 5]))
+ )
+ return v(_, O), !0;
+ }
+ for (
+ var F = F || A.source,
+ B = B || A.target,
+ $ = i.getArrowWidth(M, N),
+ z = [
+ {
+ name: 'source',
+ x: L.arrowStartX,
+ y: L.arrowStartY,
+ angle: L.srcArrowAngle
+ },
+ {
+ name: 'target',
+ x: L.arrowEndX,
+ y: L.arrowEndY,
+ angle: L.tgtArrowAngle
+ },
+ {
+ name: 'mid-source',
+ x: L.midX,
+ y: L.midY,
+ angle: L.midsrcArrowAngle
+ },
+ {
+ name: 'mid-target',
+ x: L.midX,
+ y: L.midY,
+ angle: L.midtgtArrowAngle
+ }
+ ],
+ P = 0;
+ P < z.length;
+ P++
+ ) {
+ var Y = z[P],
+ Q = a.arrowShapes[_.pstyle(Y.name + '-arrow-shape').value],
+ X = _.pstyle('width').pfValue;
+ if (
+ Q.roughCollide(t, e, $, Y.angle, { x: Y.x, y: Y.y }, X, f) &&
+ Q.collide(t, e, $, Y.angle, { x: Y.x, y: Y.y }, X, f)
+ )
+ return v(_), !0;
+ }
+ h && l.length > 0 && (x(F), x(B));
+ }
+ o(b, 'checkEdge');
+ function w(_, A, L) {
+ return Ul(_, A, L);
+ }
+ o(w, 'preprop');
+ function S(_, A) {
+ var L = _._private,
+ M = p,
+ N;
+ A ? (N = A + '-') : (N = ''), _.boundingBox();
+ var k = L.labelBounds[A || 'main'],
+ I = _.pstyle(N + 'label').value,
+ C = _.pstyle('text-events').strValue === 'yes';
+ if (!(!C || !I)) {
+ var O = w(L.rscratch, 'labelX', A),
+ D = w(L.rscratch, 'labelY', A),
+ P = w(L.rscratch, 'labelAngle', A),
+ F = _.pstyle(N + 'text-margin-x').pfValue,
+ B = _.pstyle(N + 'text-margin-y').pfValue,
+ $ = k.x1 - M - F,
+ z = k.x2 + M - F,
+ Y = k.y1 - M - B,
+ Q = k.y2 + M - B;
+ if (P) {
+ var X = Math.cos(P),
+ ie = Math.sin(P),
+ j = o(function (ce, ue) {
+ return (
+ (ce = ce - O),
+ (ue = ue - D),
+ { x: ce * X - ue * ie + O, y: ce * ie + ue * X + D }
+ );
+ }, 'rotate'),
+ J = j($, Y),
+ Z = j($, Q),
+ H = j(z, Y),
+ q = j(z, Q),
+ K = [J.x + F, J.y + B, H.x + F, H.y + B, q.x + F, q.y + B, Z.x + F, Z.y + B];
+ if (zs(t, e, K)) return v(_), !0;
+ } else if (s1(k, t, e)) return v(_), !0;
+ }
+ }
+ o(S, 'checkLabel');
+ for (var T = s.length - 1; T >= 0; T--) {
+ var E = s[T];
+ E.isNode() ? x(E) || S(E) : b(E) || S(E) || S(E, 'source') || S(E, 'target');
+ }
+ return l;
+ };
+ j0.getAllInBox = function (t, e, r, n) {
+ var i = this.getCachedZSortedEles().interactive,
+ a = [],
+ s = Math.min(t, r),
+ l = Math.max(t, r),
+ u = Math.min(e, n),
+ h = Math.max(e, n);
+ (t = s), (r = l), (e = u), (n = h);
+ for (var f = Gs({ x1: t, y1: e, x2: r, y2: n }), d = 0; d < i.length; d++) {
+ var p = i[d];
+ if (p.isNode()) {
+ var m = p,
+ g = m.boundingBox({
+ includeNodes: !0,
+ includeEdges: !1,
+ includeLabels: !1
+ });
+ rB(f, g) && !Upe(g, f) && a.push(m);
+ } else {
+ var y = p,
+ v = y._private,
+ x = v.rscratch;
+ if (
+ (x.startX != null && x.startY != null && !s1(f, x.startX, x.startY)) ||
+ (x.endX != null && x.endY != null && !s1(f, x.endX, x.endY))
+ )
+ continue;
+ if (
+ x.edgeType === 'bezier' ||
+ x.edgeType === 'multibezier' ||
+ x.edgeType === 'self' ||
+ x.edgeType === 'compound' ||
+ x.edgeType === 'segments' ||
+ x.edgeType === 'haystack'
+ ) {
+ for (
+ var b = v.rstyle.bezierPts || v.rstyle.linePts || v.rstyle.haystackPts, w = !0, S = 0;
+ S < b.length;
+ S++
+ )
+ if (!TWe(f, b[S])) {
+ w = !1;
+ break;
+ }
+ w && a.push(y);
+ } else (x.edgeType === 'haystack' || x.edgeType === 'straight') && a.push(y);
+ }
+ }
+ return a;
+ };
+ N6 = {};
+ N6.calculateArrowAngles = function (t) {
+ var e = t._private.rscratch,
+ r = e.edgeType === 'haystack',
+ n = e.edgeType === 'bezier',
+ i = e.edgeType === 'multibezier',
+ a = e.edgeType === 'segments',
+ s = e.edgeType === 'compound',
+ l = e.edgeType === 'self',
+ u,
+ h,
+ f,
+ d,
+ p,
+ m,
+ x,
+ b;
+ if (
+ (r
+ ? ((f = e.haystackPts[0]),
+ (d = e.haystackPts[1]),
+ (p = e.haystackPts[2]),
+ (m = e.haystackPts[3]))
+ : ((f = e.arrowStartX), (d = e.arrowStartY), (p = e.arrowEndX), (m = e.arrowEndY)),
+ (x = e.midX),
+ (b = e.midY),
+ a)
+ )
+ (u = f - e.segpts[0]), (h = d - e.segpts[1]);
+ else if (i || s || l || n) {
+ var g = e.allpts,
+ y = aa(g[0], g[2], g[4], 0.1),
+ v = aa(g[1], g[3], g[5], 0.1);
+ (u = f - y), (h = d - v);
+ } else (u = f - x), (h = d - b);
+ e.srcArrowAngle = n6(u, h);
+ var x = e.midX,
+ b = e.midY;
+ if ((r && ((x = (f + p) / 2), (b = (d + m) / 2)), (u = p - f), (h = m - d), a)) {
+ var g = e.allpts;
+ if ((g.length / 2) % 2 === 0) {
+ var w = g.length / 2,
+ S = w - 2;
+ (u = g[w] - g[S]), (h = g[w + 1] - g[S + 1]);
+ } else if (e.isRound) (u = e.midVector[1]), (h = -e.midVector[0]);
+ else {
+ var w = g.length / 2 - 1,
+ S = w - 2;
+ (u = g[w] - g[S]), (h = g[w + 1] - g[S + 1]);
+ }
+ } else if (i || s || l) {
+ var g = e.allpts,
+ T = e.ctrlpts,
+ E,
+ _,
+ A,
+ L;
+ if ((T.length / 2) % 2 === 0) {
+ var M = g.length / 2 - 1,
+ N = M + 2,
+ k = N + 2;
+ (E = aa(g[M], g[N], g[k], 0)),
+ (_ = aa(g[M + 1], g[N + 1], g[k + 1], 0)),
+ (A = aa(g[M], g[N], g[k], 1e-4)),
+ (L = aa(g[M + 1], g[N + 1], g[k + 1], 1e-4));
+ } else {
+ var N = g.length / 2 - 1,
+ M = N - 2,
+ k = N + 2;
+ (E = aa(g[M], g[N], g[k], 0.4999)),
+ (_ = aa(g[M + 1], g[N + 1], g[k + 1], 0.4999)),
+ (A = aa(g[M], g[N], g[k], 0.5)),
+ (L = aa(g[M + 1], g[N + 1], g[k + 1], 0.5));
+ }
+ (u = A - E), (h = L - _);
+ }
+ if (((e.midtgtArrowAngle = n6(u, h)), (e.midDispX = u), (e.midDispY = h), (u *= -1), (h *= -1), a)) {
+ var g = e.allpts;
+ if ((g.length / 2) % 2 !== 0) {
+ if (!e.isRound) {
+ var w = g.length / 2 - 1,
+ I = w + 2;
+ (u = -(g[I] - g[w])), (h = -(g[I + 1] - g[w + 1]));
+ }
+ }
+ }
+ if (((e.midsrcArrowAngle = n6(u, h)), a))
+ (u = p - e.segpts[e.segpts.length - 2]), (h = m - e.segpts[e.segpts.length - 1]);
+ else if (i || s || l || n) {
+ var g = e.allpts,
+ C = g.length,
+ y = aa(g[C - 6], g[C - 4], g[C - 2], 0.9),
+ v = aa(g[C - 5], g[C - 3], g[C - 1], 0.9);
+ (u = p - y), (h = m - v);
+ } else (u = p - x), (h = m - b);
+ e.tgtArrowAngle = n6(u, h);
+ };
+ N6.getArrowWidth = N6.getArrowHeight = function (t, e) {
+ var r = (this.arrowWidthCache = this.arrowWidthCache || {}),
+ n = r[t + ', ' + e];
+ return n || ((n = Math.max(Math.pow(t * 13.37, 0.9), 29) * e), (r[t + ', ' + e] = n), n);
+ };
+ (Gc = {}),
+ (Jo = {}),
+ (lpe = o(function (e, r, n) {
+ (n.x = r.x - e.x),
+ (n.y = r.y - e.y),
+ (n.len = Math.sqrt(n.x * n.x + n.y * n.y)),
+ (n.nx = n.x / n.len),
+ (n.ny = n.y / n.len),
+ (n.ang = Math.atan2(n.ny, n.nx));
+ }, 'asVec')),
+ (cQe = o(function (e, r) {
+ (r.x = e.x * -1),
+ (r.y = e.y * -1),
+ (r.nx = e.nx * -1),
+ (r.ny = e.ny * -1),
+ (r.ang = e.ang > 0 ? -(Math.PI - e.ang) : Math.PI + e.ang);
+ }, 'invertVec')),
+ (uQe = o(function (e, r, n, i, a) {
+ if (
+ (e !== ope ? lpe(r, e, Gc) : cQe(Jo, Gc),
+ lpe(r, n, Jo),
+ (ape = Gc.nx * Jo.ny - Gc.ny * Jo.nx),
+ (spe = Gc.nx * Jo.nx - Gc.ny * -Jo.ny),
+ (ju = Math.asin(Math.max(-1, Math.min(1, ape)))),
+ Math.abs(ju) < 1e-6)
+ ) {
+ (GP = r.x), ($P = r.y), (z0 = Qg = 0);
+ return;
+ }
+ (G0 = 1),
+ (w6 = !1),
+ spe < 0
+ ? ju < 0
+ ? (ju = Math.PI + ju)
+ : ((ju = Math.PI - ju), (G0 = -1), (w6 = !0))
+ : ju > 0 && ((G0 = -1), (w6 = !0)),
+ r.radius !== void 0 ? (Qg = r.radius) : (Qg = i),
+ (O0 = ju / 2),
+ (f6 = Math.min(Gc.len / 2, Jo.len / 2)),
+ a
+ ? ((zc = Math.abs((Math.cos(O0) * Qg) / Math.sin(O0))),
+ zc > f6 ? ((zc = f6), (z0 = Math.abs((zc * Math.sin(O0)) / Math.cos(O0)))) : (z0 = Qg))
+ : ((zc = Math.min(f6, Qg)), (z0 = Math.abs((zc * Math.sin(O0)) / Math.cos(O0)))),
+ (VP = r.x + Jo.nx * zc),
+ (UP = r.y + Jo.ny * zc),
+ (GP = VP - Jo.ny * z0 * G0),
+ ($P = UP + Jo.nx * z0 * G0),
+ (Ome = r.x + Gc.nx * zc),
+ (Pme = r.y + Gc.ny * zc),
+ (ope = r);
+ }, 'calcCornerArc'));
+ o(Bme, 'drawPreparedRoundCorner');
+ o(mB, 'getRoundCorner');
+ $a = {};
+ $a.findMidptPtsEtc = function (t, e) {
+ var r = e.posPts,
+ n = e.intersectionPts,
+ i = e.vectorNormInverse,
+ a,
+ s = t.pstyle('source-endpoint'),
+ l = t.pstyle('target-endpoint'),
+ u = s.units != null && l.units != null,
+ h = o(function (T, E, _, A) {
+ var L = A - E,
+ M = _ - T,
+ N = Math.sqrt(M * M + L * L);
+ return { x: -L / N, y: M / N };
+ }, 'recalcVectorNormInverse'),
+ f = t.pstyle('edge-distances').value;
+ switch (f) {
+ case 'node-position':
+ a = r;
+ break;
+ case 'intersection':
+ a = n;
+ break;
+ case 'endpoints': {
+ if (u) {
+ var d = this.manualEndptToPx(t.source()[0], s),
+ p = $l(d, 2),
+ m = p[0],
+ g = p[1],
+ y = this.manualEndptToPx(t.target()[0], l),
+ v = $l(y, 2),
+ x = v[0],
+ b = v[1],
+ w = { x1: m, y1: g, x2: x, y2: b };
+ (i = h(m, g, x, b)), (a = w);
+ } else
+ tn(
+ 'Edge '.concat(
+ t.id(),
+ ' has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).'
+ )
+ ),
+ (a = n);
+ break;
+ }
+ }
+ return { midptPts: a, vectorNormInverse: i };
+ };
+ $a.findHaystackPoints = function (t) {
+ for (var e = 0; e < t.length; e++) {
+ var r = t[e],
+ n = r._private,
+ i = n.rscratch;
+ if (!i.haystack) {
+ var a = Math.random() * 2 * Math.PI;
+ (i.source = { x: Math.cos(a), y: Math.sin(a) }),
+ (a = Math.random() * 2 * Math.PI),
+ (i.target = { x: Math.cos(a), y: Math.sin(a) });
+ }
+ var s = n.source,
+ l = n.target,
+ u = s.position(),
+ h = l.position(),
+ f = s.width(),
+ d = l.width(),
+ p = s.height(),
+ m = l.height(),
+ g = r.pstyle('haystack-radius').value,
+ y = g / 2;
+ (i.haystackPts = i.allpts =
+ [
+ i.source.x * f * y + u.x,
+ i.source.y * p * y + u.y,
+ i.target.x * d * y + h.x,
+ i.target.y * m * y + h.y
+ ]),
+ (i.midX = (i.allpts[0] + i.allpts[2]) / 2),
+ (i.midY = (i.allpts[1] + i.allpts[3]) / 2),
+ (i.edgeType = 'haystack'),
+ (i.haystack = !0),
+ this.storeEdgeProjections(r),
+ this.calculateArrowAngles(r),
+ this.recalculateEdgeLabelProjections(r),
+ this.calculateLabelAngles(r);
+ }
+ };
+ $a.findSegmentsPoints = function (t, e) {
+ var r = t._private.rscratch,
+ n = t.pstyle('segment-weights'),
+ i = t.pstyle('segment-distances'),
+ a = t.pstyle('segment-radii'),
+ s = t.pstyle('radius-type'),
+ l = Math.min(n.pfValue.length, i.pfValue.length),
+ u = a.pfValue[a.pfValue.length - 1],
+ h = s.pfValue[s.pfValue.length - 1];
+ (r.edgeType = 'segments'), (r.segpts = []), (r.radii = []), (r.isArcRadius = []);
+ for (var f = 0; f < l; f++) {
+ var d = n.pfValue[f],
+ p = i.pfValue[f],
+ m = 1 - d,
+ g = d,
+ y = this.findMidptPtsEtc(t, e),
+ v = y.midptPts,
+ x = y.vectorNormInverse,
+ b = { x: v.x1 * m + v.x2 * g, y: v.y1 * m + v.y2 * g };
+ r.segpts.push(b.x + x.x * p, b.y + x.y * p),
+ r.radii.push(a.pfValue[f] !== void 0 ? a.pfValue[f] : u),
+ r.isArcRadius.push((s.pfValue[f] !== void 0 ? s.pfValue[f] : h) === 'arc-radius');
+ }
+ };
+ $a.findLoopPoints = function (t, e, r, n) {
+ var i = t._private.rscratch,
+ a = e.dirCounts,
+ s = e.srcPos,
+ l = t.pstyle('control-point-distances'),
+ u = l ? l.pfValue[0] : void 0,
+ h = t.pstyle('loop-direction').pfValue,
+ f = t.pstyle('loop-sweep').pfValue,
+ d = t.pstyle('control-point-step-size').pfValue;
+ i.edgeType = 'self';
+ var p = r,
+ m = d;
+ n && ((p = 0), (m = u));
+ var g = h - Math.PI / 2,
+ y = g - f / 2,
+ v = g + f / 2,
+ x = h + '_' + f;
+ (p = a[x] === void 0 ? (a[x] = 0) : ++a[x]),
+ (i.ctrlpts = [
+ s.x + Math.cos(y) * 1.4 * m * (p / 3 + 1),
+ s.y + Math.sin(y) * 1.4 * m * (p / 3 + 1),
+ s.x + Math.cos(v) * 1.4 * m * (p / 3 + 1),
+ s.y + Math.sin(v) * 1.4 * m * (p / 3 + 1)
+ ]);
+ };
+ $a.findCompoundLoopPoints = function (t, e, r, n) {
+ var i = t._private.rscratch;
+ i.edgeType = 'compound';
+ var a = e.srcPos,
+ s = e.tgtPos,
+ l = e.srcW,
+ u = e.srcH,
+ h = e.tgtW,
+ f = e.tgtH,
+ d = t.pstyle('control-point-step-size').pfValue,
+ p = t.pstyle('control-point-distances'),
+ m = p ? p.pfValue[0] : void 0,
+ g = r,
+ y = d;
+ n && ((g = 0), (y = m));
+ var v = 50,
+ x = { x: a.x - l / 2, y: a.y - u / 2 },
+ b = { x: s.x - h / 2, y: s.y - f / 2 },
+ w = { x: Math.min(x.x, b.x), y: Math.min(x.y, b.y) },
+ S = 0.5,
+ T = Math.max(S, Math.log(l * 0.01)),
+ E = Math.max(S, Math.log(h * 0.01));
+ i.ctrlpts = [
+ w.x,
+ w.y - (1 + Math.pow(v, 1.12) / 100) * y * (g / 3 + 1) * T,
+ w.x - (1 + Math.pow(v, 1.12) / 100) * y * (g / 3 + 1) * E,
+ w.y
+ ];
+ };
+ $a.findStraightEdgePoints = function (t) {
+ t._private.rscratch.edgeType = 'straight';
+ };
+ $a.findBezierPoints = function (t, e, r, n, i) {
+ var a = t._private.rscratch,
+ s = t.pstyle('control-point-step-size').pfValue,
+ l = t.pstyle('control-point-distances'),
+ u = t.pstyle('control-point-weights'),
+ h = l && u ? Math.min(l.value.length, u.value.length) : 1,
+ f = l ? l.pfValue[0] : void 0,
+ d = u.value[0],
+ p = n;
+ (a.edgeType = p ? 'multibezier' : 'bezier'), (a.ctrlpts = []);
+ for (var m = 0; m < h; m++) {
+ var g = (0.5 - e.eles.length / 2 + r) * s * (i ? -1 : 1),
+ y = void 0,
+ v = $pe(g);
+ p && ((f = l ? l.pfValue[m] : s), (d = u.value[m])),
+ n ? (y = f) : (y = f !== void 0 ? v * f : void 0);
+ var x = y !== void 0 ? y : g,
+ b = 1 - d,
+ w = d,
+ S = this.findMidptPtsEtc(t, e),
+ T = S.midptPts,
+ E = S.vectorNormInverse,
+ _ = { x: T.x1 * b + T.x2 * w, y: T.y1 * b + T.y2 * w };
+ a.ctrlpts.push(_.x + E.x * x, _.y + E.y * x);
+ }
+ };
+ $a.findTaxiPoints = function (t, e) {
+ var r = t._private.rscratch;
+ r.edgeType = 'segments';
+ var n = 'vertical',
+ i = 'horizontal',
+ a = 'leftward',
+ s = 'rightward',
+ l = 'downward',
+ u = 'upward',
+ h = 'auto',
+ f = e.posPts,
+ d = e.srcW,
+ p = e.srcH,
+ m = e.tgtW,
+ g = e.tgtH,
+ y = t.pstyle('edge-distances').value,
+ v = y !== 'node-position',
+ x = t.pstyle('taxi-direction').value,
+ b = x,
+ w = t.pstyle('taxi-turn'),
+ S = w.units === '%',
+ T = w.pfValue,
+ E = T < 0,
+ _ = t.pstyle('taxi-turn-min-distance').pfValue,
+ A = v ? (d + m) / 2 : 0,
+ L = v ? (p + g) / 2 : 0,
+ M = f.x2 - f.x1,
+ N = f.y2 - f.y1,
+ k = o(function (Te, Ce) {
+ return Te > 0 ? Math.max(Te - Ce, 0) : Math.min(Te + Ce, 0);
+ }, 'subDWH'),
+ I = k(M, A),
+ C = k(N, L),
+ O = !1;
+ b === h
+ ? (x = Math.abs(I) > Math.abs(C) ? i : n)
+ : b === u || b === l
+ ? ((x = n), (O = !0))
+ : (b === a || b === s) && ((x = i), (O = !0));
+ var D = x === n,
+ P = D ? C : I,
+ F = D ? N : M,
+ B = $pe(F),
+ $ = !1;
+ !(O && (S || E)) &&
+ ((b === l && F < 0) || (b === u && F > 0) || (b === a && F > 0) || (b === s && F < 0)) &&
+ ((B *= -1), (P = B * Math.abs(P)), ($ = !0));
+ var z;
+ if (S) {
+ var Y = T < 0 ? 1 + T : T;
+ z = Y * P;
+ } else {
+ var Q = T < 0 ? P : 0;
+ z = Q + T * B;
+ }
+ var X = o(function (Te) {
+ return Math.abs(Te) < _ || Math.abs(Te) >= Math.abs(P);
+ }, 'getIsTooClose'),
+ ie = X(z),
+ j = X(Math.abs(P) - Math.abs(z)),
+ J = ie || j;
+ if (J && !$)
+ if (D) {
+ var Z = Math.abs(F) <= p / 2,
+ H = Math.abs(M) <= m / 2;
+ if (Z) {
+ var q = (f.x1 + f.x2) / 2,
+ K = f.y1,
+ se = f.y2;
+ r.segpts = [q, K, q, se];
+ } else if (H) {
+ var ce = (f.y1 + f.y2) / 2,
+ ue = f.x1,
+ te = f.x2;
+ r.segpts = [ue, ce, te, ce];
+ } else r.segpts = [f.x1, f.y2];
+ } else {
+ var De = Math.abs(F) <= d / 2,
+ oe = Math.abs(N) <= g / 2;
+ if (De) {
+ var ke = (f.y1 + f.y2) / 2,
+ Ie = f.x1,
+ Se = f.x2;
+ r.segpts = [Ie, ke, Se, ke];
+ } else if (oe) {
+ var Ue = (f.x1 + f.x2) / 2,
+ Pe = f.y1,
+ _e = f.y2;
+ r.segpts = [Ue, Pe, Ue, _e];
+ } else r.segpts = [f.x2, f.y1];
+ }
+ else if (D) {
+ var me = f.y1 + z + (v ? (p / 2) * B : 0),
+ W = f.x1,
+ fe = f.x2;
+ r.segpts = [W, me, fe, me];
+ } else {
+ var ge = f.x1 + z + (v ? (d / 2) * B : 0),
+ re = f.y1,
+ he = f.y2;
+ r.segpts = [ge, re, ge, he];
+ }
+ if (r.isRound) {
+ var ne = t.pstyle('taxi-radius').value,
+ ae = t.pstyle('radius-type').value[0] === 'arc-radius';
+ (r.radii = new Array(r.segpts.length / 2).fill(ne)),
+ (r.isArcRadius = new Array(r.segpts.length / 2).fill(ae));
+ }
+ };
+ $a.tryToCorrectInvalidPoints = function (t, e) {
+ var r = t._private.rscratch;
+ if (r.edgeType === 'bezier') {
+ var n = e.srcPos,
+ i = e.tgtPos,
+ a = e.srcW,
+ s = e.srcH,
+ l = e.tgtW,
+ u = e.tgtH,
+ h = e.srcShape,
+ f = e.tgtShape,
+ d = e.srcCornerRadius,
+ p = e.tgtCornerRadius,
+ m = e.srcRs,
+ g = e.tgtRs,
+ y = !ft(r.startX) || !ft(r.startY),
+ v = !ft(r.arrowStartX) || !ft(r.arrowStartY),
+ x = !ft(r.endX) || !ft(r.endY),
+ b = !ft(r.arrowEndX) || !ft(r.arrowEndY),
+ w = 3,
+ S =
+ this.getArrowWidth(t.pstyle('width').pfValue, t.pstyle('arrow-scale').value) *
+ this.arrowShapeWidth,
+ T = w * S,
+ E = H0({ x: r.ctrlpts[0], y: r.ctrlpts[1] }, { x: r.startX, y: r.startY }),
+ _ = E < T,
+ A = H0({ x: r.ctrlpts[0], y: r.ctrlpts[1] }, { x: r.endX, y: r.endY }),
+ L = A < T,
+ M = !1;
+ if (y || v || _) {
+ M = !0;
+ var N = { x: r.ctrlpts[0] - n.x, y: r.ctrlpts[1] - n.y },
+ k = Math.sqrt(N.x * N.x + N.y * N.y),
+ I = { x: N.x / k, y: N.y / k },
+ C = Math.max(a, s),
+ O = {
+ x: r.ctrlpts[0] + I.x * 2 * C,
+ y: r.ctrlpts[1] + I.y * 2 * C
+ },
+ D = h.intersectLine(n.x, n.y, a, s, O.x, O.y, 0, d, m);
+ _
+ ? ((r.ctrlpts[0] = r.ctrlpts[0] + I.x * (T - E)),
+ (r.ctrlpts[1] = r.ctrlpts[1] + I.y * (T - E)))
+ : ((r.ctrlpts[0] = D[0] + I.x * T), (r.ctrlpts[1] = D[1] + I.y * T));
+ }
+ if (x || b || L) {
+ M = !0;
+ var P = { x: r.ctrlpts[0] - i.x, y: r.ctrlpts[1] - i.y },
+ F = Math.sqrt(P.x * P.x + P.y * P.y),
+ B = { x: P.x / F, y: P.y / F },
+ $ = Math.max(a, s),
+ z = {
+ x: r.ctrlpts[0] + B.x * 2 * $,
+ y: r.ctrlpts[1] + B.y * 2 * $
+ },
+ Y = f.intersectLine(i.x, i.y, l, u, z.x, z.y, 0, p, g);
+ L
+ ? ((r.ctrlpts[0] = r.ctrlpts[0] + B.x * (T - A)),
+ (r.ctrlpts[1] = r.ctrlpts[1] + B.y * (T - A)))
+ : ((r.ctrlpts[0] = Y[0] + B.x * T), (r.ctrlpts[1] = Y[1] + B.y * T));
+ }
+ M && this.findEndpoints(t);
+ }
+ };
+ $a.storeAllpts = function (t) {
+ var e = t._private.rscratch;
+ if (
+ e.edgeType === 'multibezier' ||
+ e.edgeType === 'bezier' ||
+ e.edgeType === 'self' ||
+ e.edgeType === 'compound'
+ ) {
+ (e.allpts = []), e.allpts.push(e.startX, e.startY);
+ for (var r = 0; r + 1 < e.ctrlpts.length; r += 2)
+ e.allpts.push(e.ctrlpts[r], e.ctrlpts[r + 1]),
+ r + 3 < e.ctrlpts.length &&
+ e.allpts.push(
+ (e.ctrlpts[r] + e.ctrlpts[r + 2]) / 2,
+ (e.ctrlpts[r + 1] + e.ctrlpts[r + 3]) / 2
+ );
+ e.allpts.push(e.endX, e.endY);
+ var n, i;
+ (e.ctrlpts.length / 2) % 2 === 0
+ ? ((n = e.allpts.length / 2 - 1), (e.midX = e.allpts[n]), (e.midY = e.allpts[n + 1]))
+ : ((n = e.allpts.length / 2 - 3),
+ (i = 0.5),
+ (e.midX = aa(e.allpts[n], e.allpts[n + 2], e.allpts[n + 4], i)),
+ (e.midY = aa(e.allpts[n + 1], e.allpts[n + 3], e.allpts[n + 5], i)));
+ } else if (e.edgeType === 'straight')
+ (e.allpts = [e.startX, e.startY, e.endX, e.endY]),
+ (e.midX = (e.startX + e.endX + e.arrowStartX + e.arrowEndX) / 4),
+ (e.midY = (e.startY + e.endY + e.arrowStartY + e.arrowEndY) / 4);
+ else if (e.edgeType === 'segments') {
+ if (
+ ((e.allpts = []),
+ e.allpts.push(e.startX, e.startY),
+ e.allpts.push.apply(e.allpts, e.segpts),
+ e.allpts.push(e.endX, e.endY),
+ e.isRound)
+ ) {
+ e.roundCorners = [];
+ for (var a = 2; a + 3 < e.allpts.length; a += 2) {
+ var s = e.radii[a / 2 - 1],
+ l = e.isArcRadius[a / 2 - 1];
+ e.roundCorners.push(
+ mB(
+ { x: e.allpts[a - 2], y: e.allpts[a - 1] },
+ { x: e.allpts[a], y: e.allpts[a + 1], radius: s },
+ { x: e.allpts[a + 2], y: e.allpts[a + 3] },
+ s,
+ l
+ )
+ );
+ }
+ }
+ if (e.segpts.length % 4 === 0) {
+ var u = e.segpts.length / 2,
+ h = u - 2;
+ (e.midX = (e.segpts[h] + e.segpts[u]) / 2), (e.midY = (e.segpts[h + 1] + e.segpts[u + 1]) / 2);
+ } else {
+ var f = e.segpts.length / 2 - 1;
+ if (!e.isRound) (e.midX = e.segpts[f]), (e.midY = e.segpts[f + 1]);
+ else {
+ var d = { x: e.segpts[f], y: e.segpts[f + 1] },
+ p = e.roundCorners[f / 2],
+ m = [d.x - p.cx, d.y - p.cy],
+ g = p.radius / Math.sqrt(Math.pow(m[0], 2) + Math.pow(m[1], 2));
+ (m = m.map(function (y) {
+ return y * g;
+ })),
+ (e.midX = p.cx + m[0]),
+ (e.midY = p.cy + m[1]),
+ (e.midVector = m);
+ }
+ }
+ }
+ };
+ $a.checkForInvalidEdgeWarning = function (t) {
+ var e = t[0]._private.rscratch;
+ e.nodesOverlap || (ft(e.startX) && ft(e.startY) && ft(e.endX) && ft(e.endY))
+ ? (e.loggedErr = !1)
+ : e.loggedErr ||
+ ((e.loggedErr = !0),
+ tn(
+ 'Edge `' +
+ t.id() +
+ '` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap.'
+ ));
+ };
+ $a.findEdgeControlPoints = function (t) {
+ var e = this;
+ if (!(!t || t.length === 0)) {
+ for (
+ var r = this,
+ n = r.cy,
+ i = n.hasCompoundNodes(),
+ a = {
+ map: new Vc(),
+ get: o(function (_) {
+ var A = this.map.get(_[0]);
+ return A != null ? A.get(_[1]) : null;
+ }, 'get'),
+ set: o(function (_, A) {
+ var L = this.map.get(_[0]);
+ L == null && ((L = new Vc()), this.map.set(_[0], L)), L.set(_[1], A);
+ }, 'set')
+ },
+ s = [],
+ l = [],
+ u = 0;
+ u < t.length;
+ u++
+ ) {
+ var h = t[u],
+ f = h._private,
+ d = h.pstyle('curve-style').value;
+ if (!(h.removed() || !h.takesUpSpace())) {
+ if (d === 'haystack') {
+ l.push(h);
+ continue;
+ }
+ var p =
+ d === 'unbundled-bezier' ||
+ d.endsWith('segments') ||
+ d === 'straight' ||
+ d === 'straight-triangle' ||
+ d.endsWith('taxi'),
+ m = d === 'unbundled-bezier' || d === 'bezier',
+ g = f.source,
+ y = f.target,
+ v = g.poolIndex(),
+ x = y.poolIndex(),
+ b = [v, x].sort(),
+ w = a.get(b);
+ w == null && ((w = { eles: [] }), a.set(b, w), s.push(b)),
+ w.eles.push(h),
+ p && (w.hasUnbundled = !0),
+ m && (w.hasBezier = !0);
+ }
+ }
+ for (
+ var S = o(function (_) {
+ var A = s[_],
+ L = a.get(A),
+ M = void 0;
+ if (!L.hasUnbundled) {
+ var N = L.eles[0].parallelEdges().filter(function (ge) {
+ return ge.isBundledBezier();
+ });
+ eB(L.eles),
+ N.forEach(function (ge) {
+ return L.eles.push(ge);
+ }),
+ L.eles.sort(function (ge, re) {
+ return ge.poolIndex() - re.poolIndex();
+ });
+ }
+ var k = L.eles[0],
+ I = k.source(),
+ C = k.target();
+ if (I.poolIndex() > C.poolIndex()) {
+ var O = I;
+ (I = C), (C = O);
+ }
+ var D = (L.srcPos = I.position()),
+ P = (L.tgtPos = C.position()),
+ F = (L.srcW = I.outerWidth()),
+ B = (L.srcH = I.outerHeight()),
+ $ = (L.tgtW = C.outerWidth()),
+ z = (L.tgtH = C.outerHeight()),
+ Y = (L.srcShape = r.nodeShapes[e.getNodeShape(I)]),
+ Q = (L.tgtShape = r.nodeShapes[e.getNodeShape(C)]),
+ X = (L.srcCornerRadius =
+ I.pstyle('corner-radius').value === 'auto'
+ ? 'auto'
+ : I.pstyle('corner-radius').pfValue),
+ ie = (L.tgtCornerRadius =
+ C.pstyle('corner-radius').value === 'auto'
+ ? 'auto'
+ : C.pstyle('corner-radius').pfValue),
+ j = (L.tgtRs = C._private.rscratch),
+ J = (L.srcRs = I._private.rscratch);
+ L.dirCounts = {
+ north: 0,
+ west: 0,
+ south: 0,
+ east: 0,
+ northwest: 0,
+ southwest: 0,
+ northeast: 0,
+ southeast: 0
+ };
+ for (var Z = 0; Z < L.eles.length; Z++) {
+ var H = L.eles[Z],
+ q = H[0]._private.rscratch,
+ K = H.pstyle('curve-style').value,
+ se = K === 'unbundled-bezier' || K.endsWith('segments') || K.endsWith('taxi'),
+ ce = !I.same(H.source());
+ if (!L.calculatedIntersection && I !== C && (L.hasBezier || L.hasUnbundled)) {
+ L.calculatedIntersection = !0;
+ var ue = Y.intersectLine(D.x, D.y, F, B, P.x, P.y, 0, X, J),
+ te = (L.srcIntn = ue),
+ De = Q.intersectLine(P.x, P.y, $, z, D.x, D.y, 0, ie, j),
+ oe = (L.tgtIntn = De),
+ ke = (L.intersectionPts = {
+ x1: ue[0],
+ x2: De[0],
+ y1: ue[1],
+ y2: De[1]
+ }),
+ Ie = (L.posPts = { x1: D.x, x2: P.x, y1: D.y, y2: P.y }),
+ Se = De[1] - ue[1],
+ Ue = De[0] - ue[0],
+ Pe = Math.sqrt(Ue * Ue + Se * Se),
+ _e = (L.vector = { x: Ue, y: Se }),
+ me = (L.vectorNorm = { x: _e.x / Pe, y: _e.y / Pe }),
+ W = { x: -me.y, y: me.x };
+ (L.nodesOverlap =
+ !ft(Pe) ||
+ Q.checkPoint(ue[0], ue[1], 0, $, z, P.x, P.y, ie, j) ||
+ Y.checkPoint(De[0], De[1], 0, F, B, D.x, D.y, X, J)),
+ (L.vectorNormInverse = W),
+ (M = {
+ nodesOverlap: L.nodesOverlap,
+ dirCounts: L.dirCounts,
+ calculatedIntersection: !0,
+ hasBezier: L.hasBezier,
+ hasUnbundled: L.hasUnbundled,
+ eles: L.eles,
+ srcPos: P,
+ tgtPos: D,
+ srcW: $,
+ srcH: z,
+ tgtW: F,
+ tgtH: B,
+ srcIntn: oe,
+ tgtIntn: te,
+ srcShape: Q,
+ tgtShape: Y,
+ posPts: { x1: Ie.x2, y1: Ie.y2, x2: Ie.x1, y2: Ie.y1 },
+ intersectionPts: {
+ x1: ke.x2,
+ y1: ke.y2,
+ x2: ke.x1,
+ y2: ke.y1
+ },
+ vector: { x: -_e.x, y: -_e.y },
+ vectorNorm: { x: -me.x, y: -me.y },
+ vectorNormInverse: { x: -W.x, y: -W.y }
+ });
+ }
+ var fe = ce ? M : L;
+ (q.nodesOverlap = fe.nodesOverlap),
+ (q.srcIntn = fe.srcIntn),
+ (q.tgtIntn = fe.tgtIntn),
+ (q.isRound = K.startsWith('round')),
+ i &&
+ (I.isParent() || I.isChild() || C.isParent() || C.isChild()) &&
+ (I.parents().anySame(C) ||
+ C.parents().anySame(I) ||
+ (I.same(C) && I.isParent()))
+ ? e.findCompoundLoopPoints(H, fe, Z, se)
+ : I === C
+ ? e.findLoopPoints(H, fe, Z, se)
+ : K.endsWith('segments')
+ ? e.findSegmentsPoints(H, fe)
+ : K.endsWith('taxi')
+ ? e.findTaxiPoints(H, fe)
+ : K === 'straight' ||
+ (!se && L.eles.length % 2 === 1 && Z === Math.floor(L.eles.length / 2))
+ ? e.findStraightEdgePoints(H)
+ : e.findBezierPoints(H, fe, Z, se, ce),
+ e.findEndpoints(H),
+ e.tryToCorrectInvalidPoints(H, fe),
+ e.checkForInvalidEdgeWarning(H),
+ e.storeAllpts(H),
+ e.storeEdgeProjections(H),
+ e.calculateArrowAngles(H),
+ e.recalculateEdgeLabelProjections(H),
+ e.calculateLabelAngles(H);
+ }
+ }, '_loop'),
+ T = 0;
+ T < s.length;
+ T++
+ )
+ S(T);
+ this.findHaystackPoints(l);
+ }
+ };
+ o(Fme, 'getPts');
+ $a.getSegmentPoints = function (t) {
+ var e = t[0]._private.rscratch,
+ r = e.edgeType;
+ if (r === 'segments') return this.recalculateRenderedStyle(t), Fme(e.segpts);
+ };
+ $a.getControlPoints = function (t) {
+ var e = t[0]._private.rscratch,
+ r = e.edgeType;
+ if (r === 'bezier' || r === 'multibezier' || r === 'self' || r === 'compound')
+ return this.recalculateRenderedStyle(t), Fme(e.ctrlpts);
+ };
+ $a.getEdgeMidpoint = function (t) {
+ var e = t[0]._private.rscratch;
+ return this.recalculateRenderedStyle(t), { x: e.midX, y: e.midY };
+ };
+ nb = {};
+ nb.manualEndptToPx = function (t, e) {
+ var r = this,
+ n = t.position(),
+ i = t.outerWidth(),
+ a = t.outerHeight(),
+ s = t._private.rscratch;
+ if (e.value.length === 2) {
+ var l = [e.pfValue[0], e.pfValue[1]];
+ return (
+ e.units[0] === '%' && (l[0] = l[0] * i),
+ e.units[1] === '%' && (l[1] = l[1] * a),
+ (l[0] += n.x),
+ (l[1] += n.y),
+ l
+ );
+ } else {
+ var u = e.pfValue[0];
+ u = -Math.PI / 2 + u;
+ var h = 2 * Math.max(i, a),
+ f = [n.x + Math.cos(u) * h, n.y + Math.sin(u) * h];
+ return r.nodeShapes[this.getNodeShape(t)].intersectLine(
+ n.x,
+ n.y,
+ i,
+ a,
+ f[0],
+ f[1],
+ 0,
+ t.pstyle('corner-radius').value === 'auto' ? 'auto' : t.pstyle('corner-radius').pfValue,
+ s
+ );
+ }
+ };
+ nb.findEndpoints = function (t) {
+ var e = this,
+ r,
+ n = t.source()[0],
+ i = t.target()[0],
+ a = n.position(),
+ s = i.position(),
+ l = t.pstyle('target-arrow-shape').value,
+ u = t.pstyle('source-arrow-shape').value,
+ h = t.pstyle('target-distance-from-node').pfValue,
+ f = t.pstyle('source-distance-from-node').pfValue,
+ d = n._private.rscratch,
+ p = i._private.rscratch,
+ m = t.pstyle('curve-style').value,
+ g = t._private.rscratch,
+ y = g.edgeType,
+ v = m === 'taxi',
+ x = y === 'self' || y === 'compound',
+ b = y === 'bezier' || y === 'multibezier' || x,
+ w = y !== 'bezier',
+ S = y === 'straight' || y === 'segments',
+ T = y === 'segments',
+ E = b || w || S,
+ _ = x || v,
+ A = t.pstyle('source-endpoint'),
+ L = _ ? 'outside-to-node' : A.value,
+ M = n.pstyle('corner-radius').value === 'auto' ? 'auto' : n.pstyle('corner-radius').pfValue,
+ N = t.pstyle('target-endpoint'),
+ k = _ ? 'outside-to-node' : N.value,
+ I = i.pstyle('corner-radius').value === 'auto' ? 'auto' : i.pstyle('corner-radius').pfValue;
+ (g.srcManEndpt = A), (g.tgtManEndpt = N);
+ var C, O, D, P;
+ if (b) {
+ var F = [g.ctrlpts[0], g.ctrlpts[1]],
+ B = w ? [g.ctrlpts[g.ctrlpts.length - 2], g.ctrlpts[g.ctrlpts.length - 1]] : F;
+ (C = B), (O = F);
+ } else if (S) {
+ var $ = T ? g.segpts.slice(0, 2) : [s.x, s.y],
+ z = T ? g.segpts.slice(g.segpts.length - 2) : [a.x, a.y];
+ (C = z), (O = $);
+ }
+ if (k === 'inside-to-node') r = [s.x, s.y];
+ else if (N.units) r = this.manualEndptToPx(i, N);
+ else if (k === 'outside-to-line') r = g.tgtIntn;
+ else if (
+ (k === 'outside-to-node' || k === 'outside-to-node-or-label'
+ ? (D = C)
+ : (k === 'outside-to-line' || k === 'outside-to-line-or-label') && (D = [a.x, a.y]),
+ (r = e.nodeShapes[this.getNodeShape(i)].intersectLine(
+ s.x,
+ s.y,
+ i.outerWidth(),
+ i.outerHeight(),
+ D[0],
+ D[1],
+ 0,
+ I,
+ p
+ )),
+ k === 'outside-to-node-or-label' || k === 'outside-to-line-or-label')
+ ) {
+ var Y = i._private.rscratch,
+ Q = Y.labelWidth,
+ X = Y.labelHeight,
+ ie = Y.labelX,
+ j = Y.labelY,
+ J = Q / 2,
+ Z = X / 2,
+ H = i.pstyle('text-valign').value;
+ H === 'top' ? (j -= Z) : H === 'bottom' && (j += Z);
+ var q = i.pstyle('text-halign').value;
+ q === 'left' ? (ie -= J) : q === 'right' && (ie += J);
+ var K = Yx(D[0], D[1], [ie - J, j - Z, ie + J, j - Z, ie + J, j + Z, ie - J, j + Z], s.x, s.y);
+ if (K.length > 0) {
+ var se = a,
+ ce = B0(se, Jg(r)),
+ ue = B0(se, Jg(K)),
+ te = ce;
+ if ((ue < ce && ((r = K), (te = ue)), K.length > 2)) {
+ var De = B0(se, { x: K[2], y: K[3] });
+ De < te && (r = [K[2], K[3]]);
+ }
+ }
+ }
+ var oe = i6(r, C, e.arrowShapes[l].spacing(t) + h),
+ ke = i6(r, C, e.arrowShapes[l].gap(t) + h);
+ if (
+ ((g.endX = ke[0]),
+ (g.endY = ke[1]),
+ (g.arrowEndX = oe[0]),
+ (g.arrowEndY = oe[1]),
+ L === 'inside-to-node')
+ )
+ r = [a.x, a.y];
+ else if (A.units) r = this.manualEndptToPx(n, A);
+ else if (L === 'outside-to-line') r = g.srcIntn;
+ else if (
+ (L === 'outside-to-node' || L === 'outside-to-node-or-label'
+ ? (P = O)
+ : (L === 'outside-to-line' || L === 'outside-to-line-or-label') && (P = [s.x, s.y]),
+ (r = e.nodeShapes[this.getNodeShape(n)].intersectLine(
+ a.x,
+ a.y,
+ n.outerWidth(),
+ n.outerHeight(),
+ P[0],
+ P[1],
+ 0,
+ M,
+ d
+ )),
+ L === 'outside-to-node-or-label' || L === 'outside-to-line-or-label')
+ ) {
+ var Ie = n._private.rscratch,
+ Se = Ie.labelWidth,
+ Ue = Ie.labelHeight,
+ Pe = Ie.labelX,
+ _e = Ie.labelY,
+ me = Se / 2,
+ W = Ue / 2,
+ fe = n.pstyle('text-valign').value;
+ fe === 'top' ? (_e -= W) : fe === 'bottom' && (_e += W);
+ var ge = n.pstyle('text-halign').value;
+ ge === 'left' ? (Pe -= me) : ge === 'right' && (Pe += me);
+ var re = Yx(
+ P[0],
+ P[1],
+ [Pe - me, _e - W, Pe + me, _e - W, Pe + me, _e + W, Pe - me, _e + W],
+ a.x,
+ a.y
+ );
+ if (re.length > 0) {
+ var he = s,
+ ne = B0(he, Jg(r)),
+ ae = B0(he, Jg(re)),
+ we = ne;
+ if ((ae < ne && ((r = [re[0], re[1]]), (we = ae)), re.length > 2)) {
+ var Te = B0(he, { x: re[2], y: re[3] });
+ Te < we && (r = [re[2], re[3]]);
+ }
+ }
+ }
+ var Ce = i6(r, O, e.arrowShapes[u].spacing(t) + f),
+ Ae = i6(r, O, e.arrowShapes[u].gap(t) + f);
+ (g.startX = Ae[0]),
+ (g.startY = Ae[1]),
+ (g.arrowStartX = Ce[0]),
+ (g.arrowStartY = Ce[1]),
+ E &&
+ (!ft(g.startX) || !ft(g.startY) || !ft(g.endX) || !ft(g.endY)
+ ? (g.badLine = !0)
+ : (g.badLine = !1));
+ };
+ nb.getSourceEndpoint = function (t) {
+ var e = t[0]._private.rscratch;
+ switch ((this.recalculateRenderedStyle(t), e.edgeType)) {
+ case 'haystack':
+ return { x: e.haystackPts[0], y: e.haystackPts[1] };
+ default:
+ return { x: e.arrowStartX, y: e.arrowStartY };
+ }
+ };
+ nb.getTargetEndpoint = function (t) {
+ var e = t[0]._private.rscratch;
+ switch ((this.recalculateRenderedStyle(t), e.edgeType)) {
+ case 'haystack':
+ return { x: e.haystackPts[2], y: e.haystackPts[3] };
+ default:
+ return { x: e.arrowEndX, y: e.arrowEndY };
+ }
+ };
+ gB = {};
+ o(hQe, 'pushBezierPts');
+ gB.storeEdgeProjections = function (t) {
+ var e = t._private,
+ r = e.rscratch,
+ n = r.edgeType;
+ if (
+ ((e.rstyle.bezierPts = null),
+ (e.rstyle.linePts = null),
+ (e.rstyle.haystackPts = null),
+ n === 'multibezier' || n === 'bezier' || n === 'self' || n === 'compound')
+ ) {
+ e.rstyle.bezierPts = [];
+ for (var i = 0; i + 5 < r.allpts.length; i += 4) hQe(this, t, r.allpts.slice(i, i + 6));
+ } else if (n === 'segments')
+ for (var a = (e.rstyle.linePts = []), i = 0; i + 1 < r.allpts.length; i += 2)
+ a.push({ x: r.allpts[i], y: r.allpts[i + 1] });
+ else if (n === 'haystack') {
+ var s = r.haystackPts;
+ e.rstyle.haystackPts = [
+ { x: s[0], y: s[1] },
+ { x: s[2], y: s[3] }
+ ];
+ }
+ e.rstyle.arrowWidth =
+ this.getArrowWidth(t.pstyle('width').pfValue, t.pstyle('arrow-scale').value) * this.arrowShapeWidth;
+ };
+ gB.recalculateEdgeProjections = function (t) {
+ this.findEdgeControlPoints(t);
+ };
+ Hc = {};
+ Hc.recalculateNodeLabelProjection = function (t) {
+ var e = t.pstyle('label').strValue;
+ if (!Sf(e)) {
+ var r,
+ n,
+ i = t._private,
+ a = t.width(),
+ s = t.height(),
+ l = t.padding(),
+ u = t.position(),
+ h = t.pstyle('text-halign').strValue,
+ f = t.pstyle('text-valign').strValue,
+ d = i.rscratch,
+ p = i.rstyle;
+ switch (h) {
+ case 'left':
+ r = u.x - a / 2 - l;
+ break;
+ case 'right':
+ r = u.x + a / 2 + l;
+ break;
+ default:
+ r = u.x;
+ }
+ switch (f) {
+ case 'top':
+ n = u.y - s / 2 - l;
+ break;
+ case 'bottom':
+ n = u.y + s / 2 + l;
+ break;
+ default:
+ n = u.y;
+ }
+ (d.labelX = r),
+ (d.labelY = n),
+ (p.labelX = r),
+ (p.labelY = n),
+ this.calculateLabelAngles(t),
+ this.applyLabelDimensions(t);
+ }
+ };
+ (zme = o(function (e, r) {
+ var n = Math.atan(r / e);
+ return e === 0 && n < 0 && (n = n * -1), n;
+ }, 'lineAngleFromDelta')),
+ (Gme = o(function (e, r) {
+ var n = r.x - e.x,
+ i = r.y - e.y;
+ return zme(n, i);
+ }, 'lineAngle')),
+ (fQe = o(function (e, r, n, i) {
+ var a = Hx(0, i - 0.001, 1),
+ s = Hx(0, i + 0.001, 1),
+ l = t1(e, r, n, a),
+ u = t1(e, r, n, s);
+ return Gme(l, u);
+ }, 'bezierAngle'));
+ Hc.recalculateEdgeLabelProjections = function (t) {
+ var e,
+ r = t._private,
+ n = r.rscratch,
+ i = this,
+ a = {
+ mid: t.pstyle('label').strValue,
+ source: t.pstyle('source-label').strValue,
+ target: t.pstyle('target-label').strValue
+ };
+ if (a.mid || a.source || a.target) {
+ e = { x: n.midX, y: n.midY };
+ var s = o(function (d, p, m) {
+ Tf(r.rscratch, d, p, m), Tf(r.rstyle, d, p, m);
+ }, 'setRs');
+ s('labelX', null, e.x), s('labelY', null, e.y);
+ var l = zme(n.midDispX, n.midDispY);
+ s('labelAutoAngle', null, l);
+ var u = o(function f() {
+ if (f.cache) return f.cache;
+ for (var d = [], p = 0; p + 5 < n.allpts.length; p += 4) {
+ var m = { x: n.allpts[p], y: n.allpts[p + 1] },
+ g = { x: n.allpts[p + 2], y: n.allpts[p + 3] },
+ y = { x: n.allpts[p + 4], y: n.allpts[p + 5] };
+ d.push({
+ p0: m,
+ p1: g,
+ p2: y,
+ startDist: 0,
+ length: 0,
+ segments: []
+ });
+ }
+ var v = r.rstyle.bezierPts,
+ x = i.bezierProjPcts.length;
+ function b(_, A, L, M, N) {
+ var k = H0(A, L),
+ I = _.segments[_.segments.length - 1],
+ C = {
+ p0: A,
+ p1: L,
+ t0: M,
+ t1: N,
+ startDist: I ? I.startDist + I.length : 0,
+ length: k
+ };
+ _.segments.push(C), (_.length += k);
+ }
+ o(b, 'addSegment');
+ for (var w = 0; w < d.length; w++) {
+ var S = d[w],
+ T = d[w - 1];
+ T && (S.startDist = T.startDist + T.length),
+ b(S, S.p0, v[w * x], 0, i.bezierProjPcts[0]);
+ for (var E = 0; E < x - 1; E++)
+ b(S, v[w * x + E], v[w * x + E + 1], i.bezierProjPcts[E], i.bezierProjPcts[E + 1]);
+ b(S, v[w * x + x - 1], S.p2, i.bezierProjPcts[x - 1], 1);
+ }
+ return (f.cache = d);
+ }, 'createControlPointInfo'),
+ h = o(function (d) {
+ var p,
+ m = d === 'source';
+ if (a[d]) {
+ var g = t.pstyle(d + '-text-offset').pfValue;
+ switch (n.edgeType) {
+ case 'self':
+ case 'compound':
+ case 'bezier':
+ case 'multibezier': {
+ for (var y = u(), v, x = 0, b = 0, w = 0; w < y.length; w++) {
+ for (
+ var S = y[m ? w : y.length - 1 - w], T = 0;
+ T < S.segments.length;
+ T++
+ ) {
+ var E = S.segments[m ? T : S.segments.length - 1 - T],
+ _ = w === y.length - 1 && T === S.segments.length - 1;
+ if (((x = b), (b += E.length), b >= g || _)) {
+ v = { cp: S, segment: E };
+ break;
+ }
+ }
+ if (v) break;
+ }
+ var A = v.cp,
+ L = v.segment,
+ M = (g - x) / L.length,
+ N = L.t1 - L.t0,
+ k = m ? L.t0 + N * M : L.t1 - N * M;
+ (k = Hx(0, k, 1)),
+ (e = t1(A.p0, A.p1, A.p2, k)),
+ (p = fQe(A.p0, A.p1, A.p2, k));
+ break;
+ }
+ case 'straight':
+ case 'segments':
+ case 'haystack': {
+ for (
+ var I = 0, C, O, D, P, F = n.allpts.length, B = 0;
+ B + 3 < F &&
+ (m
+ ? ((D = { x: n.allpts[B], y: n.allpts[B + 1] }),
+ (P = { x: n.allpts[B + 2], y: n.allpts[B + 3] }))
+ : ((D = {
+ x: n.allpts[F - 2 - B],
+ y: n.allpts[F - 1 - B]
+ }),
+ (P = {
+ x: n.allpts[F - 4 - B],
+ y: n.allpts[F - 3 - B]
+ })),
+ (C = H0(D, P)),
+ (O = I),
+ (I += C),
+ !(I >= g));
+ B += 2
+ );
+ var $ = g - O,
+ z = $ / C;
+ (z = Hx(0, z, 1)), (e = yWe(D, P, z)), (p = Gme(D, P));
+ break;
+ }
+ }
+ s('labelX', d, e.x), s('labelY', d, e.y), s('labelAutoAngle', d, p);
+ }
+ }, 'calculateEndProjection');
+ h('source'), h('target'), this.applyLabelDimensions(t);
+ }
+ };
+ Hc.applyLabelDimensions = function (t) {
+ this.applyPrefixedLabelDimensions(t),
+ t.isEdge() &&
+ (this.applyPrefixedLabelDimensions(t, 'source'),
+ this.applyPrefixedLabelDimensions(t, 'target'));
+ };
+ Hc.applyPrefixedLabelDimensions = function (t, e) {
+ var r = t._private,
+ n = this.getLabelText(t, e),
+ i = this.calculateLabelDimensions(t, n),
+ a = t.pstyle('line-height').pfValue,
+ s = t.pstyle('text-wrap').strValue,
+ l = Ul(r.rscratch, 'labelWrapCachedLines', e) || [],
+ u = s !== 'wrap' ? 1 : Math.max(l.length, 1),
+ h = i.height / u,
+ f = h * a,
+ d = i.width,
+ p = i.height + (u - 1) * (a - 1) * h;
+ Tf(r.rstyle, 'labelWidth', e, d),
+ Tf(r.rscratch, 'labelWidth', e, d),
+ Tf(r.rstyle, 'labelHeight', e, p),
+ Tf(r.rscratch, 'labelHeight', e, p),
+ Tf(r.rscratch, 'labelLineHeight', e, f);
+ };
+ Hc.getLabelText = function (t, e) {
+ var r = t._private,
+ n = e ? e + '-' : '',
+ i = t.pstyle(n + 'label').strValue,
+ a = t.pstyle('text-transform').value,
+ s = o(function (Q, X) {
+ return X ? (Tf(r.rscratch, Q, e, X), X) : Ul(r.rscratch, Q, e);
+ }, 'rscratch');
+ if (!i) return '';
+ a == 'none' || (a == 'uppercase' ? (i = i.toUpperCase()) : a == 'lowercase' && (i = i.toLowerCase()));
+ var l = t.pstyle('text-wrap').value;
+ if (l === 'wrap') {
+ var u = s('labelKey');
+ if (u != null && s('labelWrapKey') === u) return s('labelWrapCachedText');
+ for (
+ var h = '\u200B',
+ f = i.split(`
+`),
+ d = t.pstyle('text-max-width').pfValue,
+ p = t.pstyle('text-overflow-wrap').value,
+ m = p === 'anywhere',
+ g = [],
+ y = /[\s\u200b]+|$/g,
+ v = 0;
+ v < f.length;
+ v++
+ ) {
+ var x = f[v],
+ b = this.calculateLabelDimensions(t, x),
+ w = b.width;
+ if (m) {
+ var S = x.split('').join(h);
+ x = S;
+ }
+ if (w > d) {
+ var T = x.matchAll(y),
+ E = '',
+ _ = 0,
+ A = Tpe(T),
+ L;
+ try {
+ for (A.s(); !(L = A.n()).done; ) {
+ var M = L.value,
+ N = M[0],
+ k = x.substring(_, M.index);
+ _ = M.index + N.length;
+ var I = E.length === 0 ? k : E + k + N,
+ C = this.calculateLabelDimensions(t, I),
+ O = C.width;
+ O <= d ? (E += k + N) : (E && g.push(E), (E = k + N));
+ }
+ } catch (Y) {
+ A.e(Y);
+ } finally {
+ A.f();
+ }
+ E.match(/^[\s\u200b]+$/) || g.push(E);
+ } else g.push(x);
+ }
+ s('labelWrapCachedLines', g),
+ (i = s(
+ 'labelWrapCachedText',
+ g.join(`
+`)
+ )),
+ s('labelWrapKey', u);
+ } else if (l === 'ellipsis') {
+ var D = t.pstyle('text-max-width').pfValue,
+ P = '',
+ F = '\u2026',
+ B = !1;
+ if (this.calculateLabelDimensions(t, i).width < D) return i;
+ for (var $ = 0; $ < i.length; $++) {
+ var z = this.calculateLabelDimensions(t, P + i[$] + F).width;
+ if (z > D) break;
+ (P += i[$]), $ === i.length - 1 && (B = !0);
+ }
+ return B || (P += F), P;
+ }
+ return i;
+ };
+ Hc.getLabelJustification = function (t) {
+ var e = t.pstyle('text-justification').strValue,
+ r = t.pstyle('text-halign').strValue;
+ if (e === 'auto')
+ if (t.isNode())
+ switch (r) {
+ case 'left':
+ return 'right';
+ case 'right':
+ return 'left';
+ default:
+ return 'center';
+ }
+ else return 'center';
+ else return e;
+ };
+ Hc.calculateLabelDimensions = function (t, e) {
+ var r = this,
+ n = r.cy.window(),
+ i = n.document,
+ a = U0(e, t._private.labelDimsKey),
+ s = r.labelDimCache || (r.labelDimCache = []),
+ l = s[a];
+ if (l != null) return l;
+ var u = 0,
+ h = t.pstyle('font-style').strValue,
+ f = t.pstyle('font-size').pfValue,
+ d = t.pstyle('font-family').strValue,
+ p = t.pstyle('font-weight').strValue,
+ m = this.labelCalcCanvas,
+ g = this.labelCalcCanvasContext;
+ if (!m) {
+ (m = this.labelCalcCanvas = i.createElement('canvas')),
+ (g = this.labelCalcCanvasContext = m.getContext('2d'));
+ var y = m.style;
+ (y.position = 'absolute'),
+ (y.left = '-9999px'),
+ (y.top = '-9999px'),
+ (y.zIndex = '-1'),
+ (y.visibility = 'hidden'),
+ (y.pointerEvents = 'none');
+ }
+ g.font = ''.concat(h, ' ').concat(p, ' ').concat(f, 'px ').concat(d);
+ for (
+ var v = 0,
+ x = 0,
+ b = e.split(`
+`),
+ w = 0;
+ w < b.length;
+ w++
+ ) {
+ var S = b[w],
+ T = g.measureText(S),
+ E = Math.ceil(T.width),
+ _ = f;
+ (v = Math.max(E, v)), (x += _);
+ }
+ return (v += u), (x += u), (s[a] = { width: v, height: x });
+ };
+ Hc.calculateLabelAngle = function (t, e) {
+ var r = t._private,
+ n = r.rscratch,
+ i = t.isEdge(),
+ a = e ? e + '-' : '',
+ s = t.pstyle(a + 'text-rotation'),
+ l = s.strValue;
+ return l === 'none'
+ ? 0
+ : i && l === 'autorotate'
+ ? n.labelAutoAngle
+ : l === 'autorotate'
+ ? 0
+ : s.pfValue;
+ };
+ Hc.calculateLabelAngles = function (t) {
+ var e = this,
+ r = t.isEdge(),
+ n = t._private,
+ i = n.rscratch;
+ (i.labelAngle = e.calculateLabelAngle(t)),
+ r &&
+ ((i.sourceLabelAngle = e.calculateLabelAngle(t, 'source')),
+ (i.targetLabelAngle = e.calculateLabelAngle(t, 'target')));
+ };
+ ($me = {}), (cpe = 28), (upe = !1);
+ $me.getNodeShape = function (t) {
+ var e = this,
+ r = t.pstyle('shape').value;
+ if (r === 'cutrectangle' && (t.width() < cpe || t.height() < cpe))
+ return (
+ upe ||
+ (tn(
+ 'The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead'
+ ),
+ (upe = !0)),
+ 'rectangle'
+ );
+ if (t.isParent())
+ return r === 'rectangle' ||
+ r === 'roundrectangle' ||
+ r === 'round-rectangle' ||
+ r === 'cutrectangle' ||
+ r === 'cut-rectangle' ||
+ r === 'barrel'
+ ? r
+ : 'rectangle';
+ if (r === 'polygon') {
+ var n = t.pstyle('shape-polygon-points').value;
+ return e.nodeShapes.makePolygon(n).name;
+ }
+ return r;
+ };
+ K6 = {};
+ K6.registerCalculationListeners = function () {
+ var t = this.cy,
+ e = t.collection(),
+ r = this,
+ n = o(function (s) {
+ var l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
+ if ((e.merge(s), l))
+ for (var u = 0; u < s.length; u++) {
+ var h = s[u],
+ f = h._private,
+ d = f.rstyle;
+ (d.clean = !1), (d.cleanConnected = !1);
+ }
+ }, 'enqueue');
+ r.binder(t)
+ .on(
+ 'bounds.* dirty.*',
+ o(function (s) {
+ var l = s.target;
+ n(l);
+ }, 'onDirtyBounds')
+ )
+ .on(
+ 'style.* background.*',
+ o(function (s) {
+ var l = s.target;
+ n(l, !1);
+ }, 'onDirtyStyle')
+ );
+ var i = o(function (s) {
+ if (s) {
+ var l = r.onUpdateEleCalcsFns;
+ e.cleanStyle();
+ for (var u = 0; u < e.length; u++) {
+ var h = e[u],
+ f = h._private.rstyle;
+ h.isNode() && !f.cleanConnected && (n(h.connectedEdges()), (f.cleanConnected = !0));
+ }
+ if (l)
+ for (var d = 0; d < l.length; d++) {
+ var p = l[d];
+ p(s, e);
+ }
+ r.recalculateRenderedStyle(e), (e = t.collection());
+ }
+ }, 'updateEleCalcs');
+ (r.flushRenderedStyleQueue = function () {
+ i(!0);
+ }),
+ r.beforeRender(i, r.beforeRenderPriorities.eleCalcs);
+ };
+ K6.onUpdateEleCalcs = function (t) {
+ var e = (this.onUpdateEleCalcsFns = this.onUpdateEleCalcsFns || []);
+ e.push(t);
+ };
+ K6.recalculateRenderedStyle = function (t, e) {
+ var r = o(function (S) {
+ return S._private.rstyle.cleanConnected;
+ }, 'isCleanConnected'),
+ n = [],
+ i = [];
+ if (!this.destroyed) {
+ e === void 0 && (e = !0);
+ for (var a = 0; a < t.length; a++) {
+ var s = t[a],
+ l = s._private,
+ u = l.rstyle;
+ s.isEdge() && (!r(s.source()) || !r(s.target())) && (u.clean = !1),
+ !((e && u.clean) || s.removed()) &&
+ s.pstyle('display').value !== 'none' &&
+ (l.group === 'nodes' ? i.push(s) : n.push(s), (u.clean = !0));
+ }
+ for (var h = 0; h < i.length; h++) {
+ var f = i[h],
+ d = f._private,
+ p = d.rstyle,
+ m = f.position();
+ this.recalculateNodeLabelProjection(f),
+ (p.nodeX = m.x),
+ (p.nodeY = m.y),
+ (p.nodeW = f.pstyle('width').pfValue),
+ (p.nodeH = f.pstyle('height').pfValue);
+ }
+ this.recalculateEdgeProjections(n);
+ for (var g = 0; g < n.length; g++) {
+ var y = n[g],
+ v = y._private,
+ x = v.rstyle,
+ b = v.rscratch;
+ (x.srcX = b.arrowStartX),
+ (x.srcY = b.arrowStartY),
+ (x.tgtX = b.arrowEndX),
+ (x.tgtY = b.arrowEndY),
+ (x.midX = b.midX),
+ (x.midY = b.midY),
+ (x.labelAngle = b.labelAngle),
+ (x.sourceLabelAngle = b.sourceLabelAngle),
+ (x.targetLabelAngle = b.targetLabelAngle);
+ }
+ }
+ };
+ Q6 = {};
+ Q6.updateCachedGrabbedEles = function () {
+ var t = this.cachedZSortedEles;
+ if (t) {
+ (t.drag = []), (t.nondrag = []);
+ for (var e = [], r = 0; r < t.length; r++) {
+ var n = t[r],
+ i = n._private.rscratch;
+ n.grabbed() && !n.isParent() ? e.push(n) : i.inDragLayer ? t.drag.push(n) : t.nondrag.push(n);
+ }
+ for (var r = 0; r < e.length; r++) {
+ var n = e[r];
+ t.drag.push(n);
+ }
+ }
+ };
+ Q6.invalidateCachedZSortedEles = function () {
+ this.cachedZSortedEles = null;
+ };
+ Q6.getCachedZSortedEles = function (t) {
+ if (t || !this.cachedZSortedEles) {
+ var e = this.cy.mutableElements().toArray();
+ e.sort(Eme),
+ (e.interactive = e.filter(function (r) {
+ return r.interactive();
+ })),
+ (this.cachedZSortedEles = e),
+ this.updateCachedGrabbedEles();
+ } else e = this.cachedZSortedEles;
+ return e;
+ };
+ Vme = {};
+ [j0, N6, $a, nb, gB, Hc, $me, K6, Q6].forEach(function (t) {
+ Wt(Vme, t);
+ });
+ Ume = {};
+ Ume.getCachedImage = function (t, e, r) {
+ var n = this,
+ i = (n.imageCache = n.imageCache || {}),
+ a = i[t];
+ if (a) return a.image.complete || a.image.addEventListener('load', r), a.image;
+ a = i[t] = i[t] || {};
+ var s = (a.image = new Image());
+ s.addEventListener('load', r),
+ s.addEventListener('error', function () {
+ s.error = !0;
+ });
+ var l = 'data:',
+ u = t.substring(0, l.length).toLowerCase() === l;
+ return u || ((e = e === 'null' ? null : e), (s.crossOrigin = e)), (s.src = t), s;
+ };
+ g1 = {};
+ g1.registerBinding = function (t, e, r, n) {
+ var i = Array.prototype.slice.apply(arguments, [1]),
+ a = this.binder(t);
+ return a.on.apply(a, i);
+ };
+ g1.binder = function (t) {
+ var e = this,
+ r = e.cy.window(),
+ n = t === r || t === r.document || t === r.document.body || BHe(t);
+ if (e.supportsPassiveEvents == null) {
+ var i = !1;
+ try {
+ var a = Object.defineProperty({}, 'passive', {
+ get: o(function () {
+ return (i = !0), !0;
+ }, 'get')
+ });
+ r.addEventListener('test', null, a);
+ } catch {}
+ e.supportsPassiveEvents = i;
+ }
+ var s = o(function (u, h, f) {
+ var d = Array.prototype.slice.call(arguments);
+ return (
+ n && e.supportsPassiveEvents && (d[2] = { capture: f ?? !1, passive: !1, once: !1 }),
+ e.bindings.push({ target: t, args: d }),
+ (t.addEventListener || t.on).apply(t, d),
+ this
+ );
+ }, 'on');
+ return { on: s, addEventListener: s, addListener: s, bind: s };
+ };
+ g1.nodeIsDraggable = function (t) {
+ return t && t.isNode() && !t.locked() && t.grabbable();
+ };
+ g1.nodeIsGrabbable = function (t) {
+ return this.nodeIsDraggable(t) && t.interactive();
+ };
+ g1.load = function () {
+ var t = this,
+ e = t.cy.window(),
+ r = o(function (W) {
+ return W.selected();
+ }, 'isSelected'),
+ n = o(function (W, fe, ge, re) {
+ W == null && (W = t.cy);
+ for (var he = 0; he < fe.length; he++) {
+ var ne = fe[he];
+ W.emit({ originalEvent: ge, type: ne, position: re });
+ }
+ }, 'triggerEvents'),
+ i = o(function (W) {
+ return W.shiftKey || W.metaKey || W.ctrlKey;
+ }, 'isMultSelKeyDown'),
+ a = o(function (W, fe) {
+ var ge = !0;
+ if (t.cy.hasCompoundNodes() && W && W.pannable())
+ for (var re = 0; fe && re < fe.length; re++) {
+ var W = fe[re];
+ if (W.isNode() && W.isParent() && !W.pannable()) {
+ ge = !1;
+ break;
+ }
+ }
+ else ge = !0;
+ return ge;
+ }, 'allowPanningPassthrough'),
+ s = o(function (W) {
+ W[0]._private.grabbed = !0;
+ }, 'setGrabbed'),
+ l = o(function (W) {
+ W[0]._private.grabbed = !1;
+ }, 'setFreed'),
+ u = o(function (W) {
+ W[0]._private.rscratch.inDragLayer = !0;
+ }, 'setInDragLayer'),
+ h = o(function (W) {
+ W[0]._private.rscratch.inDragLayer = !1;
+ }, 'setOutDragLayer'),
+ f = o(function (W) {
+ W[0]._private.rscratch.isGrabTarget = !0;
+ }, 'setGrabTarget'),
+ d = o(function (W) {
+ W[0]._private.rscratch.isGrabTarget = !1;
+ }, 'removeGrabTarget'),
+ p = o(function (W, fe) {
+ var ge = fe.addToList,
+ re = ge.has(W);
+ !re && W.grabbable() && !W.locked() && (ge.merge(W), s(W));
+ }, 'addToDragList'),
+ m = o(function (W, fe) {
+ if (W.cy().hasCompoundNodes() && !(fe.inDragLayer == null && fe.addToList == null)) {
+ var ge = W.descendants();
+ fe.inDragLayer && (ge.forEach(u), ge.connectedEdges().forEach(u)),
+ fe.addToList && p(ge, fe);
+ }
+ }, 'addDescendantsToDrag'),
+ g = o(function (W, fe) {
+ fe = fe || {};
+ var ge = W.cy().hasCompoundNodes();
+ fe.inDragLayer &&
+ (W.forEach(u),
+ W.neighborhood()
+ .stdFilter(function (re) {
+ return !ge || re.isEdge();
+ })
+ .forEach(u)),
+ fe.addToList &&
+ W.forEach(function (re) {
+ p(re, fe);
+ }),
+ m(W, fe),
+ x(W, { inDragLayer: fe.inDragLayer }),
+ t.updateCachedGrabbedEles();
+ }, 'addNodesToDrag'),
+ y = g,
+ v = o(function (W) {
+ W &&
+ (t.getCachedZSortedEles().forEach(function (fe) {
+ l(fe), h(fe), d(fe);
+ }),
+ t.updateCachedGrabbedEles());
+ }, 'freeDraggedElements'),
+ x = o(function (W, fe) {
+ if (!(fe.inDragLayer == null && fe.addToList == null) && W.cy().hasCompoundNodes()) {
+ var ge = W.ancestors().orphans();
+ if (!ge.same(W)) {
+ var re = ge.descendants().spawnSelf().merge(ge).unmerge(W).unmerge(W.descendants()),
+ he = re.connectedEdges();
+ fe.inDragLayer && (he.forEach(u), re.forEach(u)),
+ fe.addToList &&
+ re.forEach(function (ne) {
+ p(ne, fe);
+ });
+ }
+ }
+ }, 'updateAncestorsInDragLayer'),
+ b = o(function () {
+ document.activeElement != null &&
+ document.activeElement.blur != null &&
+ document.activeElement.blur();
+ }, 'blurActiveDomElement'),
+ w = typeof MutationObserver < 'u',
+ S = typeof ResizeObserver < 'u';
+ w
+ ? ((t.removeObserver = new MutationObserver(function (me) {
+ for (var W = 0; W < me.length; W++) {
+ var fe = me[W],
+ ge = fe.removedNodes;
+ if (ge)
+ for (var re = 0; re < ge.length; re++) {
+ var he = ge[re];
+ if (he === t.container) {
+ t.destroy();
+ break;
+ }
+ }
+ }
+ })),
+ t.container.parentNode &&
+ t.removeObserver.observe(t.container.parentNode, {
+ childList: !0
+ }))
+ : t.registerBinding(t.container, 'DOMNodeRemoved', function (me) {
+ t.destroy();
+ });
+ var T = P6(function () {
+ t.cy.resize();
+ }, 100);
+ w &&
+ ((t.styleObserver = new MutationObserver(T)),
+ t.styleObserver.observe(t.container, { attributes: !0 })),
+ t.registerBinding(e, 'resize', T),
+ S && ((t.resizeObserver = new ResizeObserver(T)), t.resizeObserver.observe(t.container));
+ var E = o(function (W, fe) {
+ for (; W != null; ) fe(W), (W = W.parentNode);
+ }, 'forEachUp'),
+ _ = o(function () {
+ t.invalidateContainerClientCoordsCache();
+ }, 'invalidateCoords');
+ E(t.container, function (me) {
+ t.registerBinding(me, 'transitionend', _),
+ t.registerBinding(me, 'animationend', _),
+ t.registerBinding(me, 'scroll', _);
+ }),
+ t.registerBinding(t.container, 'contextmenu', function (me) {
+ me.preventDefault();
+ });
+ var A = o(function () {
+ return t.selection[4] !== 0;
+ }, 'inBoxSelection'),
+ L = o(function (W) {
+ for (
+ var fe = t.findContainerClientCoords(),
+ ge = fe[0],
+ re = fe[1],
+ he = fe[2],
+ ne = fe[3],
+ ae = W.touches ? W.touches : [W],
+ we = !1,
+ Te = 0;
+ Te < ae.length;
+ Te++
+ ) {
+ var Ce = ae[Te];
+ if (
+ ge <= Ce.clientX &&
+ Ce.clientX <= ge + he &&
+ re <= Ce.clientY &&
+ Ce.clientY <= re + ne
+ ) {
+ we = !0;
+ break;
+ }
+ }
+ if (!we) return !1;
+ for (var Ae = t.container, Ge = W.target, Me = Ge.parentNode, ye = !1; Me; ) {
+ if (Me === Ae) {
+ ye = !0;
+ break;
+ }
+ Me = Me.parentNode;
+ }
+ return !!ye;
+ }, 'eventInContainer');
+ t.registerBinding(
+ t.container,
+ 'mousedown',
+ o(function (W) {
+ if (L(W) && !(t.hoverData.which === 1 && W.which !== 1)) {
+ W.preventDefault(), b(), (t.hoverData.capture = !0), (t.hoverData.which = W.which);
+ var fe = t.cy,
+ ge = [W.clientX, W.clientY],
+ re = t.projectIntoViewport(ge[0], ge[1]),
+ he = t.selection,
+ ne = t.findNearestElements(re[0], re[1], !0, !1),
+ ae = ne[0],
+ we = t.dragData.possibleDragElements;
+ (t.hoverData.mdownPos = re), (t.hoverData.mdownGPos = ge);
+ var Te = o(function () {
+ (t.hoverData.tapholdCancelled = !1),
+ clearTimeout(t.hoverData.tapholdTimeout),
+ (t.hoverData.tapholdTimeout = setTimeout(function () {
+ if (!t.hoverData.tapholdCancelled) {
+ var He = t.hoverData.down;
+ He
+ ? He.emit({
+ originalEvent: W,
+ type: 'taphold',
+ position: { x: re[0], y: re[1] }
+ })
+ : fe.emit({
+ originalEvent: W,
+ type: 'taphold',
+ position: { x: re[0], y: re[1] }
+ });
+ }
+ }, t.tapholdDuration));
+ }, 'checkForTaphold');
+ if (W.which == 3) {
+ t.hoverData.cxtStarted = !0;
+ var Ce = {
+ originalEvent: W,
+ type: 'cxttapstart',
+ position: { x: re[0], y: re[1] }
+ };
+ ae ? (ae.activate(), ae.emit(Ce), (t.hoverData.down = ae)) : fe.emit(Ce),
+ (t.hoverData.downTime = new Date().getTime()),
+ (t.hoverData.cxtDragged = !1);
+ } else if (W.which == 1) {
+ ae && ae.activate();
+ {
+ if (ae != null && t.nodeIsGrabbable(ae)) {
+ var Ae = o(function (He) {
+ return {
+ originalEvent: W,
+ type: He,
+ position: { x: re[0], y: re[1] }
+ };
+ }, 'makeEvent'),
+ Ge = o(function (He) {
+ He.emit(Ae('grab'));
+ }, 'triggerGrab');
+ if ((f(ae), !ae.selected()))
+ (we = t.dragData.possibleDragElements = fe.collection()),
+ y(ae, { addToList: we }),
+ ae.emit(Ae('grabon')).emit(Ae('grab'));
+ else {
+ we = t.dragData.possibleDragElements = fe.collection();
+ var Me = fe.$(function (ye) {
+ return ye.isNode() && ye.selected() && t.nodeIsGrabbable(ye);
+ });
+ g(Me, { addToList: we }), ae.emit(Ae('grabon')), Me.forEach(Ge);
+ }
+ t.redrawHint('eles', !0), t.redrawHint('drag', !0);
+ }
+ (t.hoverData.down = ae),
+ (t.hoverData.downs = ne),
+ (t.hoverData.downTime = new Date().getTime());
+ }
+ n(ae, ['mousedown', 'tapstart', 'vmousedown'], W, {
+ x: re[0],
+ y: re[1]
+ }),
+ ae == null
+ ? ((he[4] = 1),
+ (t.data.bgActivePosistion = { x: re[0], y: re[1] }),
+ t.redrawHint('select', !0),
+ t.redraw())
+ : ae.pannable() && (he[4] = 1),
+ Te();
+ }
+ (he[0] = he[2] = re[0]), (he[1] = he[3] = re[1]);
+ }
+ }, 'mousedownHandler'),
+ !1
+ ),
+ t.registerBinding(
+ e,
+ 'mousemove',
+ o(function (W) {
+ var fe = t.hoverData.capture;
+ if (!(!fe && !L(W))) {
+ var ge = !1,
+ re = t.cy,
+ he = re.zoom(),
+ ne = [W.clientX, W.clientY],
+ ae = t.projectIntoViewport(ne[0], ne[1]),
+ we = t.hoverData.mdownPos,
+ Te = t.hoverData.mdownGPos,
+ Ce = t.selection,
+ Ae = null;
+ !t.hoverData.draggingEles &&
+ !t.hoverData.dragging &&
+ !t.hoverData.selecting &&
+ (Ae = t.findNearestElement(ae[0], ae[1], !0, !1));
+ var Ge = t.hoverData.last,
+ Me = t.hoverData.down,
+ ye = [ae[0] - Ce[2], ae[1] - Ce[3]],
+ He = t.dragData.possibleDragElements,
+ ze;
+ if (Te) {
+ var Ze = ne[0] - Te[0],
+ gt = Ze * Ze,
+ yt = ne[1] - Te[1],
+ tt = yt * yt,
+ Ye = gt + tt;
+ t.hoverData.isOverThresholdDrag = ze = Ye >= t.desktopTapThreshold2;
+ }
+ var Je = i(W);
+ ze && (t.hoverData.tapholdCancelled = !0);
+ var Ve = o(function () {
+ var St = (t.hoverData.dragDelta = t.hoverData.dragDelta || []);
+ St.length === 0
+ ? (St.push(ye[0]), St.push(ye[1]))
+ : ((St[0] += ye[0]), (St[1] += ye[1]));
+ }, 'updateDragDelta');
+ (ge = !0),
+ n(Ae, ['mousemove', 'vmousemove', 'tapdrag'], W, {
+ x: ae[0],
+ y: ae[1]
+ });
+ var je = o(function () {
+ (t.data.bgActivePosistion = void 0),
+ t.hoverData.selecting ||
+ re.emit({
+ originalEvent: W,
+ type: 'boxstart',
+ position: { x: ae[0], y: ae[1] }
+ }),
+ (Ce[4] = 1),
+ (t.hoverData.selecting = !0),
+ t.redrawHint('select', !0),
+ t.redraw();
+ }, 'goIntoBoxMode');
+ if (t.hoverData.which === 3) {
+ if (ze) {
+ var kt = {
+ originalEvent: W,
+ type: 'cxtdrag',
+ position: { x: ae[0], y: ae[1] }
+ };
+ Me ? Me.emit(kt) : re.emit(kt),
+ (t.hoverData.cxtDragged = !0),
+ (!t.hoverData.cxtOver || Ae !== t.hoverData.cxtOver) &&
+ (t.hoverData.cxtOver &&
+ t.hoverData.cxtOver.emit({
+ originalEvent: W,
+ type: 'cxtdragout',
+ position: { x: ae[0], y: ae[1] }
+ }),
+ (t.hoverData.cxtOver = Ae),
+ Ae &&
+ Ae.emit({
+ originalEvent: W,
+ type: 'cxtdragover',
+ position: { x: ae[0], y: ae[1] }
+ }));
+ }
+ } else if (t.hoverData.dragging) {
+ if (((ge = !0), re.panningEnabled() && re.userPanningEnabled())) {
+ var at;
+ if (t.hoverData.justStartedPan) {
+ var xt = t.hoverData.mdownPos;
+ (at = {
+ x: (ae[0] - xt[0]) * he,
+ y: (ae[1] - xt[1]) * he
+ }),
+ (t.hoverData.justStartedPan = !1);
+ } else at = { x: ye[0] * he, y: ye[1] * he };
+ re.panBy(at), re.emit('dragpan'), (t.hoverData.dragged = !0);
+ }
+ ae = t.projectIntoViewport(W.clientX, W.clientY);
+ } else if (Ce[4] == 1 && (Me == null || Me.pannable())) {
+ if (ze) {
+ if (
+ !t.hoverData.dragging &&
+ re.boxSelectionEnabled() &&
+ (Je || !re.panningEnabled() || !re.userPanningEnabled())
+ )
+ je();
+ else if (
+ !t.hoverData.selecting &&
+ re.panningEnabled() &&
+ re.userPanningEnabled()
+ ) {
+ var it = a(Me, t.hoverData.downs);
+ it &&
+ ((t.hoverData.dragging = !0),
+ (t.hoverData.justStartedPan = !0),
+ (Ce[4] = 0),
+ (t.data.bgActivePosistion = Jg(we)),
+ t.redrawHint('select', !0),
+ t.redraw());
+ }
+ Me && Me.pannable() && Me.active() && Me.unactivate();
+ }
+ } else {
+ if (
+ (Me && Me.pannable() && Me.active() && Me.unactivate(),
+ (!Me || !Me.grabbed()) &&
+ Ae != Ge &&
+ (Ge &&
+ n(Ge, ['mouseout', 'tapdragout'], W, {
+ x: ae[0],
+ y: ae[1]
+ }),
+ Ae &&
+ n(Ae, ['mouseover', 'tapdragover'], W, {
+ x: ae[0],
+ y: ae[1]
+ }),
+ (t.hoverData.last = Ae)),
+ Me)
+ )
+ if (ze) {
+ if (re.boxSelectionEnabled() && Je)
+ Me &&
+ Me.grabbed() &&
+ (v(He),
+ Me.emit('freeon'),
+ He.emit('free'),
+ t.dragData.didDrag && (Me.emit('dragfreeon'), He.emit('dragfree'))),
+ je();
+ else if (Me && Me.grabbed() && t.nodeIsDraggable(Me)) {
+ var dt = !t.dragData.didDrag;
+ dt && t.redrawHint('eles', !0),
+ (t.dragData.didDrag = !0),
+ t.hoverData.draggingEles || g(He, { inDragLayer: !0 });
+ var lt = { x: 0, y: 0 };
+ if (ft(ye[0]) && ft(ye[1]) && ((lt.x += ye[0]), (lt.y += ye[1]), dt)) {
+ var It = t.hoverData.dragDelta;
+ It && ft(It[0]) && ft(It[1]) && ((lt.x += It[0]), (lt.y += It[1]));
+ }
+ (t.hoverData.draggingEles = !0),
+ He.silentShift(lt).emit('position drag'),
+ t.redrawHint('drag', !0),
+ t.redraw();
+ }
+ } else Ve();
+ ge = !0;
+ }
+ if (((Ce[2] = ae[0]), (Ce[3] = ae[1]), ge))
+ return (
+ W.stopPropagation && W.stopPropagation(),
+ W.preventDefault && W.preventDefault(),
+ !1
+ );
+ }
+ }, 'mousemoveHandler'),
+ !1
+ );
+ var M, N, k;
+ t.registerBinding(
+ e,
+ 'mouseup',
+ o(function (W) {
+ if (!(t.hoverData.which === 1 && W.which !== 1 && t.hoverData.capture)) {
+ var fe = t.hoverData.capture;
+ if (fe) {
+ t.hoverData.capture = !1;
+ var ge = t.cy,
+ re = t.projectIntoViewport(W.clientX, W.clientY),
+ he = t.selection,
+ ne = t.findNearestElement(re[0], re[1], !0, !1),
+ ae = t.dragData.possibleDragElements,
+ we = t.hoverData.down,
+ Te = i(W);
+ if (
+ (t.data.bgActivePosistion && (t.redrawHint('select', !0), t.redraw()),
+ (t.hoverData.tapholdCancelled = !0),
+ (t.data.bgActivePosistion = void 0),
+ we && we.unactivate(),
+ t.hoverData.which === 3)
+ ) {
+ var Ce = {
+ originalEvent: W,
+ type: 'cxttapend',
+ position: { x: re[0], y: re[1] }
+ };
+ if ((we ? we.emit(Ce) : ge.emit(Ce), !t.hoverData.cxtDragged)) {
+ var Ae = {
+ originalEvent: W,
+ type: 'cxttap',
+ position: { x: re[0], y: re[1] }
+ };
+ we ? we.emit(Ae) : ge.emit(Ae);
+ }
+ (t.hoverData.cxtDragged = !1), (t.hoverData.which = null);
+ } else if (t.hoverData.which === 1) {
+ if (
+ (n(ne, ['mouseup', 'tapend', 'vmouseup'], W, {
+ x: re[0],
+ y: re[1]
+ }),
+ !t.dragData.didDrag &&
+ !t.hoverData.dragged &&
+ !t.hoverData.selecting &&
+ !t.hoverData.isOverThresholdDrag &&
+ (n(we, ['click', 'tap', 'vclick'], W, {
+ x: re[0],
+ y: re[1]
+ }),
+ (N = !1),
+ W.timeStamp - k <= ge.multiClickDebounceTime()
+ ? (M && clearTimeout(M),
+ (N = !0),
+ (k = null),
+ n(we, ['dblclick', 'dbltap', 'vdblclick'], W, {
+ x: re[0],
+ y: re[1]
+ }))
+ : ((M = setTimeout(function () {
+ N ||
+ n(we, ['oneclick', 'onetap', 'voneclick'], W, {
+ x: re[0],
+ y: re[1]
+ });
+ }, ge.multiClickDebounceTime())),
+ (k = W.timeStamp))),
+ we == null &&
+ !t.dragData.didDrag &&
+ !t.hoverData.selecting &&
+ !t.hoverData.dragged &&
+ !i(W) &&
+ (ge.$(r).unselect(['tapunselect']),
+ ae.length > 0 && t.redrawHint('eles', !0),
+ (t.dragData.possibleDragElements = ae = ge.collection())),
+ ne == we &&
+ !t.dragData.didDrag &&
+ !t.hoverData.selecting &&
+ ne != null &&
+ ne._private.selectable &&
+ (t.hoverData.dragging ||
+ (ge.selectionType() === 'additive' || Te
+ ? ne.selected()
+ ? ne.unselect(['tapunselect'])
+ : ne.select(['tapselect'])
+ : Te ||
+ (ge.$(r).unmerge(ne).unselect(['tapunselect']),
+ ne.select(['tapselect']))),
+ t.redrawHint('eles', !0)),
+ t.hoverData.selecting)
+ ) {
+ var Ge = ge.collection(t.getAllInBox(he[0], he[1], he[2], he[3]));
+ t.redrawHint('select', !0),
+ Ge.length > 0 && t.redrawHint('eles', !0),
+ ge.emit({
+ type: 'boxend',
+ originalEvent: W,
+ position: { x: re[0], y: re[1] }
+ });
+ var Me = o(function (ze) {
+ return ze.selectable() && !ze.selected();
+ }, 'eleWouldBeSelected');
+ ge.selectionType() === 'additive' || Te || ge.$(r).unmerge(Ge).unselect(),
+ Ge.emit('box').stdFilter(Me).select().emit('boxselect'),
+ t.redraw();
+ }
+ if (
+ (t.hoverData.dragging &&
+ ((t.hoverData.dragging = !1),
+ t.redrawHint('select', !0),
+ t.redrawHint('eles', !0),
+ t.redraw()),
+ !he[4])
+ ) {
+ t.redrawHint('drag', !0), t.redrawHint('eles', !0);
+ var ye = we && we.grabbed();
+ v(ae),
+ ye &&
+ (we.emit('freeon'),
+ ae.emit('free'),
+ t.dragData.didDrag && (we.emit('dragfreeon'), ae.emit('dragfree')));
+ }
+ }
+ (he[4] = 0),
+ (t.hoverData.down = null),
+ (t.hoverData.cxtStarted = !1),
+ (t.hoverData.draggingEles = !1),
+ (t.hoverData.selecting = !1),
+ (t.hoverData.isOverThresholdDrag = !1),
+ (t.dragData.didDrag = !1),
+ (t.hoverData.dragged = !1),
+ (t.hoverData.dragDelta = []),
+ (t.hoverData.mdownPos = null),
+ (t.hoverData.mdownGPos = null);
+ }
+ }
+ }, 'mouseupHandler'),
+ !1
+ );
+ var I = o(function (W) {
+ if (!t.scrollingPage) {
+ var fe = t.cy,
+ ge = fe.zoom(),
+ re = fe.pan(),
+ he = t.projectIntoViewport(W.clientX, W.clientY),
+ ne = [he[0] * ge + re.x, he[1] * ge + re.y];
+ if (t.hoverData.draggingEles || t.hoverData.dragging || t.hoverData.cxtStarted || A()) {
+ W.preventDefault();
+ return;
+ }
+ if (
+ fe.panningEnabled() &&
+ fe.userPanningEnabled() &&
+ fe.zoomingEnabled() &&
+ fe.userZoomingEnabled()
+ ) {
+ W.preventDefault(),
+ (t.data.wheelZooming = !0),
+ clearTimeout(t.data.wheelTimeout),
+ (t.data.wheelTimeout = setTimeout(function () {
+ (t.data.wheelZooming = !1), t.redrawHint('eles', !0), t.redraw();
+ }, 150));
+ var ae;
+ W.deltaY != null
+ ? (ae = W.deltaY / -250)
+ : W.wheelDeltaY != null
+ ? (ae = W.wheelDeltaY / 1e3)
+ : (ae = W.wheelDelta / 1e3),
+ (ae = ae * t.wheelSensitivity);
+ var we = W.deltaMode === 1;
+ we && (ae *= 33);
+ var Te = fe.zoom() * Math.pow(10, ae);
+ W.type === 'gesturechange' && (Te = t.gestureStartZoom * W.scale),
+ fe.zoom({
+ level: Te,
+ renderedPosition: { x: ne[0], y: ne[1] }
+ }),
+ fe.emit(W.type === 'gesturechange' ? 'pinchzoom' : 'scrollzoom');
+ }
+ }
+ }, 'wheelHandler');
+ t.registerBinding(t.container, 'wheel', I, !0),
+ t.registerBinding(
+ e,
+ 'scroll',
+ o(function (W) {
+ (t.scrollingPage = !0),
+ clearTimeout(t.scrollingPageTimeout),
+ (t.scrollingPageTimeout = setTimeout(function () {
+ t.scrollingPage = !1;
+ }, 250));
+ }, 'scrollHandler'),
+ !0
+ ),
+ t.registerBinding(
+ t.container,
+ 'gesturestart',
+ o(function (W) {
+ (t.gestureStartZoom = t.cy.zoom()), t.hasTouchStarted || W.preventDefault();
+ }, 'gestureStartHandler'),
+ !0
+ ),
+ t.registerBinding(
+ t.container,
+ 'gesturechange',
+ function (me) {
+ t.hasTouchStarted || I(me);
+ },
+ !0
+ ),
+ t.registerBinding(
+ t.container,
+ 'mouseout',
+ o(function (W) {
+ var fe = t.projectIntoViewport(W.clientX, W.clientY);
+ t.cy.emit({
+ originalEvent: W,
+ type: 'mouseout',
+ position: { x: fe[0], y: fe[1] }
+ });
+ }, 'mouseOutHandler'),
+ !1
+ ),
+ t.registerBinding(
+ t.container,
+ 'mouseover',
+ o(function (W) {
+ var fe = t.projectIntoViewport(W.clientX, W.clientY);
+ t.cy.emit({
+ originalEvent: W,
+ type: 'mouseover',
+ position: { x: fe[0], y: fe[1] }
+ });
+ }, 'mouseOverHandler'),
+ !1
+ );
+ var C,
+ O,
+ D,
+ P,
+ F,
+ B,
+ $,
+ z,
+ Y,
+ Q,
+ X,
+ ie,
+ j,
+ J = o(function (W, fe, ge, re) {
+ return Math.sqrt((ge - W) * (ge - W) + (re - fe) * (re - fe));
+ }, 'distance'),
+ Z = o(function (W, fe, ge, re) {
+ return (ge - W) * (ge - W) + (re - fe) * (re - fe);
+ }, 'distanceSq'),
+ H;
+ t.registerBinding(
+ t.container,
+ 'touchstart',
+ (H = o(function (W) {
+ if (((t.hasTouchStarted = !0), !!L(W))) {
+ b(), (t.touchData.capture = !0), (t.data.bgActivePosistion = void 0);
+ var fe = t.cy,
+ ge = t.touchData.now,
+ re = t.touchData.earlier;
+ if (W.touches[0]) {
+ var he = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY);
+ (ge[0] = he[0]), (ge[1] = he[1]);
+ }
+ if (W.touches[1]) {
+ var he = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY);
+ (ge[2] = he[0]), (ge[3] = he[1]);
+ }
+ if (W.touches[2]) {
+ var he = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY);
+ (ge[4] = he[0]), (ge[5] = he[1]);
+ }
+ if (W.touches[1]) {
+ (t.touchData.singleTouchMoved = !0), v(t.dragData.touchDragEles);
+ var ne = t.findContainerClientCoords();
+ (Y = ne[0]),
+ (Q = ne[1]),
+ (X = ne[2]),
+ (ie = ne[3]),
+ (C = W.touches[0].clientX - Y),
+ (O = W.touches[0].clientY - Q),
+ (D = W.touches[1].clientX - Y),
+ (P = W.touches[1].clientY - Q),
+ (j =
+ 0 <= C && C <= X && 0 <= D && D <= X && 0 <= O && O <= ie && 0 <= P && P <= ie);
+ var ae = fe.pan(),
+ we = fe.zoom();
+ (F = J(C, O, D, P)),
+ (B = Z(C, O, D, P)),
+ ($ = [(C + D) / 2, (O + P) / 2]),
+ (z = [($[0] - ae.x) / we, ($[1] - ae.y) / we]);
+ var Te = 200,
+ Ce = Te * Te;
+ if (B < Ce && !W.touches[2]) {
+ var Ae = t.findNearestElement(ge[0], ge[1], !0, !0),
+ Ge = t.findNearestElement(ge[2], ge[3], !0, !0);
+ Ae && Ae.isNode()
+ ? (Ae.activate().emit({
+ originalEvent: W,
+ type: 'cxttapstart',
+ position: { x: ge[0], y: ge[1] }
+ }),
+ (t.touchData.start = Ae))
+ : Ge && Ge.isNode()
+ ? (Ge.activate().emit({
+ originalEvent: W,
+ type: 'cxttapstart',
+ position: { x: ge[0], y: ge[1] }
+ }),
+ (t.touchData.start = Ge))
+ : fe.emit({
+ originalEvent: W,
+ type: 'cxttapstart',
+ position: { x: ge[0], y: ge[1] }
+ }),
+ t.touchData.start && (t.touchData.start._private.grabbed = !1),
+ (t.touchData.cxt = !0),
+ (t.touchData.cxtDragged = !1),
+ (t.data.bgActivePosistion = void 0),
+ t.redraw();
+ return;
+ }
+ }
+ if (W.touches[2]) fe.boxSelectionEnabled() && W.preventDefault();
+ else if (!W.touches[1]) {
+ if (W.touches[0]) {
+ var Me = t.findNearestElements(ge[0], ge[1], !0, !0),
+ ye = Me[0];
+ if (
+ ye != null &&
+ (ye.activate(),
+ (t.touchData.start = ye),
+ (t.touchData.starts = Me),
+ t.nodeIsGrabbable(ye))
+ ) {
+ var He = (t.dragData.touchDragEles = fe.collection()),
+ ze = null;
+ t.redrawHint('eles', !0),
+ t.redrawHint('drag', !0),
+ ye.selected()
+ ? ((ze = fe.$(function (Ye) {
+ return Ye.selected() && t.nodeIsGrabbable(Ye);
+ })),
+ g(ze, { addToList: He }))
+ : y(ye, { addToList: He }),
+ f(ye);
+ var Ze = o(function (Je) {
+ return {
+ originalEvent: W,
+ type: Je,
+ position: { x: ge[0], y: ge[1] }
+ };
+ }, 'makeEvent');
+ ye.emit(Ze('grabon')),
+ ze
+ ? ze.forEach(function (Ye) {
+ Ye.emit(Ze('grab'));
+ })
+ : ye.emit(Ze('grab'));
+ }
+ n(ye, ['touchstart', 'tapstart', 'vmousedown'], W, {
+ x: ge[0],
+ y: ge[1]
+ }),
+ ye == null &&
+ ((t.data.bgActivePosistion = { x: he[0], y: he[1] }),
+ t.redrawHint('select', !0),
+ t.redraw()),
+ (t.touchData.singleTouchMoved = !1),
+ (t.touchData.singleTouchStartTime = +new Date()),
+ clearTimeout(t.touchData.tapholdTimeout),
+ (t.touchData.tapholdTimeout = setTimeout(function () {
+ t.touchData.singleTouchMoved === !1 &&
+ !t.pinching &&
+ !t.touchData.selecting &&
+ n(t.touchData.start, ['taphold'], W, {
+ x: ge[0],
+ y: ge[1]
+ });
+ }, t.tapholdDuration));
+ }
+ }
+ if (W.touches.length >= 1) {
+ for (
+ var gt = (t.touchData.startPosition = [null, null, null, null, null, null]), yt = 0;
+ yt < ge.length;
+ yt++
+ )
+ gt[yt] = re[yt] = ge[yt];
+ var tt = W.touches[0];
+ t.touchData.startGPosition = [tt.clientX, tt.clientY];
+ }
+ }
+ }, 'touchstartHandler')),
+ !1
+ );
+ var q;
+ t.registerBinding(
+ e,
+ 'touchmove',
+ (q = o(function (W) {
+ var fe = t.touchData.capture;
+ if (!(!fe && !L(W))) {
+ var ge = t.selection,
+ re = t.cy,
+ he = t.touchData.now,
+ ne = t.touchData.earlier,
+ ae = re.zoom();
+ if (W.touches[0]) {
+ var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY);
+ (he[0] = we[0]), (he[1] = we[1]);
+ }
+ if (W.touches[1]) {
+ var we = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY);
+ (he[2] = we[0]), (he[3] = we[1]);
+ }
+ if (W.touches[2]) {
+ var we = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY);
+ (he[4] = we[0]), (he[5] = we[1]);
+ }
+ var Te = t.touchData.startGPosition,
+ Ce;
+ if (fe && W.touches[0] && Te) {
+ for (var Ae = [], Ge = 0; Ge < he.length; Ge++) Ae[Ge] = he[Ge] - ne[Ge];
+ var Me = W.touches[0].clientX - Te[0],
+ ye = Me * Me,
+ He = W.touches[0].clientY - Te[1],
+ ze = He * He,
+ Ze = ye + ze;
+ Ce = Ze >= t.touchTapThreshold2;
+ }
+ if (fe && t.touchData.cxt) {
+ W.preventDefault();
+ var gt = W.touches[0].clientX - Y,
+ yt = W.touches[0].clientY - Q,
+ tt = W.touches[1].clientX - Y,
+ Ye = W.touches[1].clientY - Q,
+ Je = Z(gt, yt, tt, Ye),
+ Ve = Je / B,
+ je = 150,
+ kt = je * je,
+ at = 1.5,
+ xt = at * at;
+ if (Ve >= xt || Je >= kt) {
+ (t.touchData.cxt = !1),
+ (t.data.bgActivePosistion = void 0),
+ t.redrawHint('select', !0);
+ var it = {
+ originalEvent: W,
+ type: 'cxttapend',
+ position: { x: he[0], y: he[1] }
+ };
+ t.touchData.start
+ ? (t.touchData.start.unactivate().emit(it), (t.touchData.start = null))
+ : re.emit(it);
+ }
+ }
+ if (fe && t.touchData.cxt) {
+ var it = {
+ originalEvent: W,
+ type: 'cxtdrag',
+ position: { x: he[0], y: he[1] }
+ };
+ (t.data.bgActivePosistion = void 0),
+ t.redrawHint('select', !0),
+ t.touchData.start ? t.touchData.start.emit(it) : re.emit(it),
+ t.touchData.start && (t.touchData.start._private.grabbed = !1),
+ (t.touchData.cxtDragged = !0);
+ var dt = t.findNearestElement(he[0], he[1], !0, !0);
+ (!t.touchData.cxtOver || dt !== t.touchData.cxtOver) &&
+ (t.touchData.cxtOver &&
+ t.touchData.cxtOver.emit({
+ originalEvent: W,
+ type: 'cxtdragout',
+ position: { x: he[0], y: he[1] }
+ }),
+ (t.touchData.cxtOver = dt),
+ dt &&
+ dt.emit({
+ originalEvent: W,
+ type: 'cxtdragover',
+ position: { x: he[0], y: he[1] }
+ }));
+ } else if (fe && W.touches[2] && re.boxSelectionEnabled())
+ W.preventDefault(),
+ (t.data.bgActivePosistion = void 0),
+ (this.lastThreeTouch = +new Date()),
+ t.touchData.selecting ||
+ re.emit({
+ originalEvent: W,
+ type: 'boxstart',
+ position: { x: he[0], y: he[1] }
+ }),
+ (t.touchData.selecting = !0),
+ (t.touchData.didSelect = !0),
+ (ge[4] = 1),
+ !ge || ge.length === 0 || ge[0] === void 0
+ ? ((ge[0] = (he[0] + he[2] + he[4]) / 3),
+ (ge[1] = (he[1] + he[3] + he[5]) / 3),
+ (ge[2] = (he[0] + he[2] + he[4]) / 3 + 1),
+ (ge[3] = (he[1] + he[3] + he[5]) / 3 + 1))
+ : ((ge[2] = (he[0] + he[2] + he[4]) / 3),
+ (ge[3] = (he[1] + he[3] + he[5]) / 3)),
+ t.redrawHint('select', !0),
+ t.redraw();
+ else if (
+ fe &&
+ W.touches[1] &&
+ !t.touchData.didSelect &&
+ re.zoomingEnabled() &&
+ re.panningEnabled() &&
+ re.userZoomingEnabled() &&
+ re.userPanningEnabled()
+ ) {
+ W.preventDefault(), (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0);
+ var lt = t.dragData.touchDragEles;
+ if (lt) {
+ t.redrawHint('drag', !0);
+ for (var It = 0; It < lt.length; It++) {
+ var mt = lt[It]._private;
+ (mt.grabbed = !1), (mt.rscratch.inDragLayer = !1);
+ }
+ }
+ var St = t.touchData.start,
+ gt = W.touches[0].clientX - Y,
+ yt = W.touches[0].clientY - Q,
+ tt = W.touches[1].clientX - Y,
+ Ye = W.touches[1].clientY - Q,
+ gr = J(gt, yt, tt, Ye),
+ xn = gr / F;
+ if (j) {
+ var jt = gt - C,
+ rn = yt - O,
+ Er = tt - D,
+ Kn = Ye - P,
+ hn = (jt + Er) / 2,
+ Qn = (rn + Kn) / 2,
+ on = re.zoom(),
+ Rn = on * xn,
+ Ha = re.pan(),
+ _a = z[0] * on + Ha.x,
+ To = z[1] * on + Ha.y,
+ qi = {
+ x: (-Rn / on) * (_a - Ha.x - hn) + _a,
+ y: (-Rn / on) * (To - Ha.y - Qn) + To
+ };
+ if (St && St.active()) {
+ var lt = t.dragData.touchDragEles;
+ v(lt),
+ t.redrawHint('drag', !0),
+ t.redrawHint('eles', !0),
+ St.unactivate().emit('freeon'),
+ lt.emit('free'),
+ t.dragData.didDrag && (St.emit('dragfreeon'), lt.emit('dragfree'));
+ }
+ re.viewport({ zoom: Rn, pan: qi, cancelOnFailedZoom: !0 }),
+ re.emit('pinchzoom'),
+ (F = gr),
+ (C = gt),
+ (O = yt),
+ (D = tt),
+ (P = Ye),
+ (t.pinching = !0);
+ }
+ if (W.touches[0]) {
+ var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY);
+ (he[0] = we[0]), (he[1] = we[1]);
+ }
+ if (W.touches[1]) {
+ var we = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY);
+ (he[2] = we[0]), (he[3] = we[1]);
+ }
+ if (W.touches[2]) {
+ var we = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY);
+ (he[4] = we[0]), (he[5] = we[1]);
+ }
+ } else if (W.touches[0] && !t.touchData.didSelect) {
+ var ht = t.touchData.start,
+ At = t.touchData.last,
+ dt;
+ if (
+ (!t.hoverData.draggingEles &&
+ !t.swipePanning &&
+ (dt = t.findNearestElement(he[0], he[1], !0, !0)),
+ fe && ht != null && W.preventDefault(),
+ fe && ht != null && t.nodeIsDraggable(ht))
+ )
+ if (Ce) {
+ var lt = t.dragData.touchDragEles,
+ $t = !t.dragData.didDrag;
+ $t && g(lt, { inDragLayer: !0 }), (t.dragData.didDrag = !0);
+ var rt = { x: 0, y: 0 };
+ if (ft(Ae[0]) && ft(Ae[1]) && ((rt.x += Ae[0]), (rt.y += Ae[1]), $t)) {
+ t.redrawHint('eles', !0);
+ var Ot = t.touchData.dragDelta;
+ Ot && ft(Ot[0]) && ft(Ot[1]) && ((rt.x += Ot[0]), (rt.y += Ot[1]));
+ }
+ (t.hoverData.draggingEles = !0),
+ lt.silentShift(rt).emit('position drag'),
+ t.redrawHint('drag', !0),
+ t.touchData.startPosition[0] == ne[0] &&
+ t.touchData.startPosition[1] == ne[1] &&
+ t.redrawHint('eles', !0),
+ t.redraw();
+ } else {
+ var Ot = (t.touchData.dragDelta = t.touchData.dragDelta || []);
+ Ot.length === 0
+ ? (Ot.push(Ae[0]), Ot.push(Ae[1]))
+ : ((Ot[0] += Ae[0]), (Ot[1] += Ae[1]));
+ }
+ if (
+ (n(ht || dt, ['touchmove', 'tapdrag', 'vmousemove'], W, {
+ x: he[0],
+ y: he[1]
+ }),
+ (!ht || !ht.grabbed()) &&
+ dt != At &&
+ (At &&
+ At.emit({
+ originalEvent: W,
+ type: 'tapdragout',
+ position: { x: he[0], y: he[1] }
+ }),
+ dt &&
+ dt.emit({
+ originalEvent: W,
+ type: 'tapdragover',
+ position: { x: he[0], y: he[1] }
+ })),
+ (t.touchData.last = dt),
+ fe)
+ )
+ for (var It = 0; It < he.length; It++)
+ he[It] &&
+ t.touchData.startPosition[It] &&
+ Ce &&
+ (t.touchData.singleTouchMoved = !0);
+ if (
+ fe &&
+ (ht == null || ht.pannable()) &&
+ re.panningEnabled() &&
+ re.userPanningEnabled()
+ ) {
+ var pe = a(ht, t.touchData.starts);
+ pe &&
+ (W.preventDefault(),
+ t.data.bgActivePosistion ||
+ (t.data.bgActivePosistion = Jg(t.touchData.startPosition)),
+ t.swipePanning
+ ? (re.panBy({ x: Ae[0] * ae, y: Ae[1] * ae }), re.emit('dragpan'))
+ : Ce &&
+ ((t.swipePanning = !0),
+ re.panBy({ x: Me * ae, y: He * ae }),
+ re.emit('dragpan'),
+ ht &&
+ (ht.unactivate(),
+ t.redrawHint('select', !0),
+ (t.touchData.start = null))));
+ var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY);
+ (he[0] = we[0]), (he[1] = we[1]);
+ }
+ }
+ for (var Ge = 0; Ge < he.length; Ge++) ne[Ge] = he[Ge];
+ fe &&
+ W.touches.length > 0 &&
+ !t.hoverData.draggingEles &&
+ !t.swipePanning &&
+ t.data.bgActivePosistion != null &&
+ ((t.data.bgActivePosistion = void 0), t.redrawHint('select', !0), t.redraw());
+ }
+ }, 'touchmoveHandler')),
+ !1
+ );
+ var K;
+ t.registerBinding(
+ e,
+ 'touchcancel',
+ (K = o(function (W) {
+ var fe = t.touchData.start;
+ (t.touchData.capture = !1), fe && fe.unactivate();
+ }, 'touchcancelHandler'))
+ );
+ var se, ce, ue, te;
+ if (
+ (t.registerBinding(
+ e,
+ 'touchend',
+ (se = o(function (W) {
+ var fe = t.touchData.start,
+ ge = t.touchData.capture;
+ if (ge) W.touches.length === 0 && (t.touchData.capture = !1), W.preventDefault();
+ else return;
+ var re = t.selection;
+ (t.swipePanning = !1), (t.hoverData.draggingEles = !1);
+ var he = t.cy,
+ ne = he.zoom(),
+ ae = t.touchData.now,
+ we = t.touchData.earlier;
+ if (W.touches[0]) {
+ var Te = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY);
+ (ae[0] = Te[0]), (ae[1] = Te[1]);
+ }
+ if (W.touches[1]) {
+ var Te = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY);
+ (ae[2] = Te[0]), (ae[3] = Te[1]);
+ }
+ if (W.touches[2]) {
+ var Te = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY);
+ (ae[4] = Te[0]), (ae[5] = Te[1]);
+ }
+ fe && fe.unactivate();
+ var Ce;
+ if (t.touchData.cxt) {
+ if (
+ ((Ce = {
+ originalEvent: W,
+ type: 'cxttapend',
+ position: { x: ae[0], y: ae[1] }
+ }),
+ fe ? fe.emit(Ce) : he.emit(Ce),
+ !t.touchData.cxtDragged)
+ ) {
+ var Ae = {
+ originalEvent: W,
+ type: 'cxttap',
+ position: { x: ae[0], y: ae[1] }
+ };
+ fe ? fe.emit(Ae) : he.emit(Ae);
+ }
+ t.touchData.start && (t.touchData.start._private.grabbed = !1),
+ (t.touchData.cxt = !1),
+ (t.touchData.start = null),
+ t.redraw();
+ return;
+ }
+ if (!W.touches[2] && he.boxSelectionEnabled() && t.touchData.selecting) {
+ t.touchData.selecting = !1;
+ var Ge = he.collection(t.getAllInBox(re[0], re[1], re[2], re[3]));
+ (re[0] = void 0),
+ (re[1] = void 0),
+ (re[2] = void 0),
+ (re[3] = void 0),
+ (re[4] = 0),
+ t.redrawHint('select', !0),
+ he.emit({
+ type: 'boxend',
+ originalEvent: W,
+ position: { x: ae[0], y: ae[1] }
+ });
+ var Me = o(function (kt) {
+ return kt.selectable() && !kt.selected();
+ }, 'eleWouldBeSelected');
+ Ge.emit('box').stdFilter(Me).select().emit('boxselect'),
+ Ge.nonempty() && t.redrawHint('eles', !0),
+ t.redraw();
+ }
+ if ((fe?.unactivate(), W.touches[2]))
+ (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0);
+ else if (!W.touches[1]) {
+ if (!W.touches[0]) {
+ if (!W.touches[0]) {
+ (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0);
+ var ye = t.dragData.touchDragEles;
+ if (fe != null) {
+ var He = fe._private.grabbed;
+ v(ye),
+ t.redrawHint('drag', !0),
+ t.redrawHint('eles', !0),
+ He &&
+ (fe.emit('freeon'),
+ ye.emit('free'),
+ t.dragData.didDrag && (fe.emit('dragfreeon'), ye.emit('dragfree'))),
+ n(fe, ['touchend', 'tapend', 'vmouseup', 'tapdragout'], W, {
+ x: ae[0],
+ y: ae[1]
+ }),
+ fe.unactivate(),
+ (t.touchData.start = null);
+ } else {
+ var ze = t.findNearestElement(ae[0], ae[1], !0, !0);
+ n(ze, ['touchend', 'tapend', 'vmouseup', 'tapdragout'], W, {
+ x: ae[0],
+ y: ae[1]
+ });
+ }
+ var Ze = t.touchData.startPosition[0] - ae[0],
+ gt = Ze * Ze,
+ yt = t.touchData.startPosition[1] - ae[1],
+ tt = yt * yt,
+ Ye = gt + tt,
+ Je = Ye * ne * ne;
+ t.touchData.singleTouchMoved ||
+ (fe || he.$(':selected').unselect(['tapunselect']),
+ n(fe, ['tap', 'vclick'], W, { x: ae[0], y: ae[1] }),
+ (ce = !1),
+ W.timeStamp - te <= he.multiClickDebounceTime()
+ ? (ue && clearTimeout(ue),
+ (ce = !0),
+ (te = null),
+ n(fe, ['dbltap', 'vdblclick'], W, {
+ x: ae[0],
+ y: ae[1]
+ }))
+ : ((ue = setTimeout(function () {
+ ce ||
+ n(fe, ['onetap', 'voneclick'], W, {
+ x: ae[0],
+ y: ae[1]
+ });
+ }, he.multiClickDebounceTime())),
+ (te = W.timeStamp))),
+ fe != null &&
+ !t.dragData.didDrag &&
+ fe._private.selectable &&
+ Je < t.touchTapThreshold2 &&
+ !t.pinching &&
+ (he.selectionType() === 'single'
+ ? (he.$(r).unmerge(fe).unselect(['tapunselect']),
+ fe.select(['tapselect']))
+ : fe.selected()
+ ? fe.unselect(['tapunselect'])
+ : fe.select(['tapselect']),
+ t.redrawHint('eles', !0)),
+ (t.touchData.singleTouchMoved = !0);
+ }
+ }
+ }
+ for (var Ve = 0; Ve < ae.length; Ve++) we[Ve] = ae[Ve];
+ (t.dragData.didDrag = !1),
+ W.touches.length === 0 &&
+ ((t.touchData.dragDelta = []),
+ (t.touchData.startPosition = [null, null, null, null, null, null]),
+ (t.touchData.startGPosition = null),
+ (t.touchData.didSelect = !1)),
+ W.touches.length < 2 &&
+ (W.touches.length === 1 &&
+ (t.touchData.startGPosition = [W.touches[0].clientX, W.touches[0].clientY]),
+ (t.pinching = !1),
+ t.redrawHint('eles', !0),
+ t.redraw());
+ }, 'touchendHandler')),
+ !1
+ ),
+ typeof TouchEvent > 'u')
+ ) {
+ var De = [],
+ oe = o(function (W) {
+ return {
+ clientX: W.clientX,
+ clientY: W.clientY,
+ force: 1,
+ identifier: W.pointerId,
+ pageX: W.pageX,
+ pageY: W.pageY,
+ radiusX: W.width / 2,
+ radiusY: W.height / 2,
+ screenX: W.screenX,
+ screenY: W.screenY,
+ target: W.target
+ };
+ }, 'makeTouch'),
+ ke = o(function (W) {
+ return { event: W, touch: oe(W) };
+ }, 'makePointer'),
+ Ie = o(function (W) {
+ De.push(ke(W));
+ }, 'addPointer'),
+ Se = o(function (W) {
+ for (var fe = 0; fe < De.length; fe++) {
+ var ge = De[fe];
+ if (ge.event.pointerId === W.pointerId) {
+ De.splice(fe, 1);
+ return;
+ }
+ }
+ }, 'removePointer'),
+ Ue = o(function (W) {
+ var fe = De.filter(function (ge) {
+ return ge.event.pointerId === W.pointerId;
+ })[0];
+ (fe.event = W), (fe.touch = oe(W));
+ }, 'updatePointer'),
+ Pe = o(function (W) {
+ W.touches = De.map(function (fe) {
+ return fe.touch;
+ });
+ }, 'addTouchesToEvent'),
+ _e = o(function (W) {
+ return W.pointerType === 'mouse' || W.pointerType === 4;
+ }, 'pointerIsMouse');
+ t.registerBinding(t.container, 'pointerdown', function (me) {
+ _e(me) || (me.preventDefault(), Ie(me), Pe(me), H(me));
+ }),
+ t.registerBinding(t.container, 'pointerup', function (me) {
+ _e(me) || (Se(me), Pe(me), se(me));
+ }),
+ t.registerBinding(t.container, 'pointercancel', function (me) {
+ _e(me) || (Se(me), Pe(me), K(me));
+ }),
+ t.registerBinding(t.container, 'pointermove', function (me) {
+ _e(me) || (me.preventDefault(), Ue(me), Pe(me), q(me));
+ });
+ }
+ };
+ Ju = {};
+ Ju.generatePolygon = function (t, e) {
+ return (this.nodeShapes[t] = {
+ renderer: this,
+ name: t,
+ points: e,
+ draw: o(function (n, i, a, s, l, u) {
+ this.renderer.nodeShapeImpl('polygon', n, i, a, s, l, this.points);
+ }, 'draw'),
+ intersectLine: o(function (n, i, a, s, l, u, h, f) {
+ return Yx(l, u, this.points, n, i, a / 2, s / 2, h);
+ }, 'intersectLine'),
+ checkPoint: o(function (n, i, a, s, l, u, h, f) {
+ return Qu(n, i, this.points, u, h, s, l, [0, -1], a);
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateEllipse = function () {
+ return (this.nodeShapes.ellipse = {
+ renderer: this,
+ name: 'ellipse',
+ draw: o(function (e, r, n, i, a, s) {
+ this.renderer.nodeShapeImpl(this.name, e, r, n, i, a);
+ }, 'draw'),
+ intersectLine: o(function (e, r, n, i, a, s, l, u) {
+ return DWe(a, s, e, r, n / 2 + l, i / 2 + l);
+ }, 'intersectLine'),
+ checkPoint: o(function (e, r, n, i, a, s, l, u) {
+ return $0(e, r, i, a, s, l, n);
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateRoundPolygon = function (t, e) {
+ return (this.nodeShapes[t] = {
+ renderer: this,
+ name: t,
+ points: e,
+ getOrCreateCorners: o(function (n, i, a, s, l, u, h) {
+ if (u[h] !== void 0 && u[h + '-cx'] === n && u[h + '-cy'] === i) return u[h];
+ (u[h] = new Array(e.length / 2)), (u[h + '-cx'] = n), (u[h + '-cy'] = i);
+ var f = a / 2,
+ d = s / 2;
+ l = l === 'auto' ? Wpe(a, s) : l;
+ for (var p = new Array(e.length / 2), m = 0; m < e.length / 2; m++)
+ p[m] = { x: n + f * e[m * 2], y: i + d * e[m * 2 + 1] };
+ var g,
+ y,
+ v,
+ x,
+ b = p.length;
+ for (y = p[b - 1], g = 0; g < b; g++)
+ (v = p[g % b]), (x = p[(g + 1) % b]), (u[h][g] = mB(y, v, x, l)), (y = v), (v = x);
+ return u[h];
+ }, 'getOrCreateCorners'),
+ draw: o(function (n, i, a, s, l, u, h) {
+ this.renderer.nodeShapeImpl(
+ 'round-polygon',
+ n,
+ i,
+ a,
+ s,
+ l,
+ this.points,
+ this.getOrCreateCorners(i, a, s, l, u, h, 'drawCorners')
+ );
+ }, 'draw'),
+ intersectLine: o(function (n, i, a, s, l, u, h, f, d) {
+ return RWe(
+ l,
+ u,
+ this.points,
+ n,
+ i,
+ a,
+ s,
+ h,
+ this.getOrCreateCorners(n, i, a, s, f, d, 'corners')
+ );
+ }, 'intersectLine'),
+ checkPoint: o(function (n, i, a, s, l, u, h, f, d) {
+ return LWe(n, i, this.points, u, h, s, l, this.getOrCreateCorners(u, h, s, l, f, d, 'corners'));
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateRoundRectangle = function () {
+ return (this.nodeShapes['round-rectangle'] = this.nodeShapes.roundrectangle =
+ {
+ renderer: this,
+ name: 'round-rectangle',
+ points: ls(4, 0),
+ draw: o(function (e, r, n, i, a, s) {
+ this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, this.points, s);
+ }, 'draw'),
+ intersectLine: o(function (e, r, n, i, a, s, l, u) {
+ return Hpe(a, s, e, r, n, i, l, u);
+ }, 'intersectLine'),
+ checkPoint: o(function (e, r, n, i, a, s, l, u) {
+ var h = i / 2,
+ f = a / 2;
+ (u = u === 'auto' ? Y0(i, a) : u), (u = Math.min(h, f, u));
+ var d = u * 2;
+ return !!(
+ Qu(e, r, this.points, s, l, i, a - d, [0, -1], n) ||
+ Qu(e, r, this.points, s, l, i - d, a, [0, -1], n) ||
+ $0(e, r, d, d, s - h + u, l - f + u, n) ||
+ $0(e, r, d, d, s + h - u, l - f + u, n) ||
+ $0(e, r, d, d, s + h - u, l + f - u, n) ||
+ $0(e, r, d, d, s - h + u, l + f - u, n)
+ );
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateCutRectangle = function () {
+ return (this.nodeShapes['cut-rectangle'] = this.nodeShapes.cutrectangle =
+ {
+ renderer: this,
+ name: 'cut-rectangle',
+ cornerLength: nB(),
+ points: ls(4, 0),
+ draw: o(function (e, r, n, i, a, s) {
+ this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, null, s);
+ }, 'draw'),
+ generateCutTrianglePts: o(function (e, r, n, i, a) {
+ var s = a === 'auto' ? this.cornerLength : a,
+ l = r / 2,
+ u = e / 2,
+ h = n - u,
+ f = n + u,
+ d = i - l,
+ p = i + l;
+ return {
+ topLeft: [h, d + s, h + s, d, h + s, d + s],
+ topRight: [f - s, d, f, d + s, f - s, d + s],
+ bottomRight: [f, p - s, f - s, p, f - s, p - s],
+ bottomLeft: [h + s, p, h, p - s, h + s, p - s]
+ };
+ }, 'generateCutTrianglePts'),
+ intersectLine: o(function (e, r, n, i, a, s, l, u) {
+ var h = this.generateCutTrianglePts(n + 2 * l, i + 2 * l, e, r, u),
+ f = [].concat.apply(
+ [],
+ [
+ h.topLeft.splice(0, 4),
+ h.topRight.splice(0, 4),
+ h.bottomRight.splice(0, 4),
+ h.bottomLeft.splice(0, 4)
+ ]
+ );
+ return Yx(a, s, f, e, r);
+ }, 'intersectLine'),
+ checkPoint: o(function (e, r, n, i, a, s, l, u) {
+ var h = u === 'auto' ? this.cornerLength : u;
+ if (
+ Qu(e, r, this.points, s, l, i, a - 2 * h, [0, -1], n) ||
+ Qu(e, r, this.points, s, l, i - 2 * h, a, [0, -1], n)
+ )
+ return !0;
+ var f = this.generateCutTrianglePts(i, a, s, l);
+ return (
+ zs(e, r, f.topLeft) ||
+ zs(e, r, f.topRight) ||
+ zs(e, r, f.bottomRight) ||
+ zs(e, r, f.bottomLeft)
+ );
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateBarrel = function () {
+ return (this.nodeShapes.barrel = {
+ renderer: this,
+ name: 'barrel',
+ points: ls(4, 0),
+ draw: o(function (e, r, n, i, a, s) {
+ this.renderer.nodeShapeImpl(this.name, e, r, n, i, a);
+ }, 'draw'),
+ intersectLine: o(function (e, r, n, i, a, s, l, u) {
+ var h = 0.15,
+ f = 0.5,
+ d = 0.85,
+ p = this.generateBarrelBezierPts(n + 2 * l, i + 2 * l, e, r),
+ m = o(function (v) {
+ var x = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, h),
+ b = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, f),
+ w = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, d);
+ return [v[0], v[1], x.x, x.y, b.x, b.y, w.x, w.y, v[4], v[5]];
+ }, 'approximateBarrelCurvePts'),
+ g = [].concat(m(p.topLeft), m(p.topRight), m(p.bottomRight), m(p.bottomLeft));
+ return Yx(a, s, g, e, r);
+ }, 'intersectLine'),
+ generateBarrelBezierPts: o(function (e, r, n, i) {
+ var a = r / 2,
+ s = e / 2,
+ l = n - s,
+ u = n + s,
+ h = i - a,
+ f = i + a,
+ d = MP(e, r),
+ p = d.heightOffset,
+ m = d.widthOffset,
+ g = d.ctrlPtOffsetPct * e,
+ y = {
+ topLeft: [l, h + p, l + g, h, l + m, h],
+ topRight: [u - m, h, u - g, h, u, h + p],
+ bottomRight: [u, f - p, u - g, f, u - m, f],
+ bottomLeft: [l + m, f, l + g, f, l, f - p]
+ };
+ return (
+ (y.topLeft.isTop = !0),
+ (y.topRight.isTop = !0),
+ (y.bottomLeft.isBottom = !0),
+ (y.bottomRight.isBottom = !0),
+ y
+ );
+ }, 'generateBarrelBezierPts'),
+ checkPoint: o(function (e, r, n, i, a, s, l, u) {
+ var h = MP(i, a),
+ f = h.heightOffset,
+ d = h.widthOffset;
+ if (
+ Qu(e, r, this.points, s, l, i, a - 2 * f, [0, -1], n) ||
+ Qu(e, r, this.points, s, l, i - 2 * d, a, [0, -1], n)
+ )
+ return !0;
+ for (
+ var p = this.generateBarrelBezierPts(i, a, s, l),
+ m = o(function (A, L, M) {
+ var N = M[4],
+ k = M[2],
+ I = M[0],
+ C = M[5],
+ O = M[1],
+ D = Math.min(N, I),
+ P = Math.max(N, I),
+ F = Math.min(C, O),
+ B = Math.max(C, O);
+ if (D <= A && A <= P && F <= L && L <= B) {
+ var $ = NWe(N, k, I),
+ z = CWe($[0], $[1], $[2], A),
+ Y = z.filter(function (Q) {
+ return 0 <= Q && Q <= 1;
+ });
+ if (Y.length > 0) return Y[0];
+ }
+ return null;
+ }, 'getCurveT'),
+ g = Object.keys(p),
+ y = 0;
+ y < g.length;
+ y++
+ ) {
+ var v = g[y],
+ x = p[v],
+ b = m(e, r, x);
+ if (b != null) {
+ var w = x[5],
+ S = x[3],
+ T = x[1],
+ E = aa(w, S, T, b);
+ if ((x.isTop && E <= r) || (x.isBottom && r <= E)) return !0;
+ }
+ }
+ return !1;
+ }, 'checkPoint')
+ });
+ };
+ Ju.generateBottomRoundrectangle = function () {
+ return (this.nodeShapes['bottom-round-rectangle'] = this.nodeShapes.bottomroundrectangle =
+ {
+ renderer: this,
+ name: 'bottom-round-rectangle',
+ points: ls(4, 0),
+ draw: o(function (e, r, n, i, a, s) {
+ this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, this.points, s);
+ }, 'draw'),
+ intersectLine: o(function (e, r, n, i, a, s, l, u) {
+ var h = e - (n / 2 + l),
+ f = r - (i / 2 + l),
+ d = f,
+ p = e + (n / 2 + l),
+ m = kf(a, s, e, r, h, f, p, d, !1);
+ return m.length > 0 ? m : Hpe(a, s, e, r, n, i, l, u);
+ }, 'intersectLine'),
+ checkPoint: o(function (e, r, n, i, a, s, l, u) {
+ u = u === 'auto' ? Y0(i, a) : u;
+ var h = 2 * u;
+ if (
+ Qu(e, r, this.points, s, l, i, a - h, [0, -1], n) ||
+ Qu(e, r, this.points, s, l, i - h, a, [0, -1], n)
+ )
+ return !0;
+ var f = i / 2 + 2 * n,
+ d = a / 2 + 2 * n,
+ p = [s - f, l - d, s - f, l, s + f, l, s + f, l - d];
+ return !!(
+ zs(e, r, p) ||
+ $0(e, r, h, h, s + i / 2 - u, l + a / 2 - u, n) ||
+ $0(e, r, h, h, s - i / 2 + u, l + a / 2 - u, n)
+ );
+ }, 'checkPoint')
+ });
+ };
+ Ju.registerNodeShapes = function () {
+ var t = (this.nodeShapes = {}),
+ e = this;
+ this.generateEllipse(),
+ this.generatePolygon('triangle', ls(3, 0)),
+ this.generateRoundPolygon('round-triangle', ls(3, 0)),
+ this.generatePolygon('rectangle', ls(4, 0)),
+ (t.square = t.rectangle),
+ this.generateRoundRectangle(),
+ this.generateCutRectangle(),
+ this.generateBarrel(),
+ this.generateBottomRoundrectangle();
+ {
+ var r = [0, 1, 1, 0, 0, -1, -1, 0];
+ this.generatePolygon('diamond', r), this.generateRoundPolygon('round-diamond', r);
+ }
+ this.generatePolygon('pentagon', ls(5, 0)),
+ this.generateRoundPolygon('round-pentagon', ls(5, 0)),
+ this.generatePolygon('hexagon', ls(6, 0)),
+ this.generateRoundPolygon('round-hexagon', ls(6, 0)),
+ this.generatePolygon('heptagon', ls(7, 0)),
+ this.generateRoundPolygon('round-heptagon', ls(7, 0)),
+ this.generatePolygon('octagon', ls(8, 0)),
+ this.generateRoundPolygon('round-octagon', ls(8, 0));
+ var n = new Array(20);
+ {
+ var i = NP(5, 0),
+ a = NP(5, Math.PI / 5),
+ s = 0.5 * (3 - Math.sqrt(5));
+ s *= 1.57;
+ for (var l = 0; l < a.length / 2; l++) (a[l * 2] *= s), (a[l * 2 + 1] *= s);
+ for (var l = 0; l < 20 / 4; l++)
+ (n[l * 4] = i[l * 2]),
+ (n[l * 4 + 1] = i[l * 2 + 1]),
+ (n[l * 4 + 2] = a[l * 2]),
+ (n[l * 4 + 3] = a[l * 2 + 1]);
+ }
+ (n = Ype(n)),
+ this.generatePolygon('star', n),
+ this.generatePolygon('vee', [-1, -1, 0, -0.333, 1, -1, 0, 1]),
+ this.generatePolygon('rhomboid', [-1, -1, 0.333, -1, 1, 1, -0.333, 1]),
+ this.generatePolygon('right-rhomboid', [-0.333, -1, 1, -1, 0.333, 1, -1, 1]),
+ (this.nodeShapes.concavehexagon = this.generatePolygon(
+ 'concave-hexagon',
+ [-1, -0.95, -0.75, 0, -1, 0.95, 1, 0.95, 0.75, 0, 1, -0.95]
+ ));
+ {
+ var u = [-1, -1, 0.25, -1, 1, 0, 0.25, 1, -1, 1];
+ this.generatePolygon('tag', u), this.generateRoundPolygon('round-tag', u);
+ }
+ t.makePolygon = function (h) {
+ var f = h.join('$'),
+ d = 'polygon-' + f,
+ p;
+ return (p = this[d]) ? p : e.generatePolygon(d, h);
+ };
+ };
+ ib = {};
+ ib.timeToRender = function () {
+ return this.redrawTotalTime / this.redrawCount;
+ };
+ ib.redraw = function (t) {
+ t = t || zpe();
+ var e = this;
+ e.averageRedrawTime === void 0 && (e.averageRedrawTime = 0),
+ e.lastRedrawTime === void 0 && (e.lastRedrawTime = 0),
+ e.lastDrawTime === void 0 && (e.lastDrawTime = 0),
+ (e.requestedFrame = !0),
+ (e.renderOptions = t);
+ };
+ ib.beforeRender = function (t, e) {
+ if (!this.destroyed) {
+ e == null && oi('Priority is not optional for beforeRender');
+ var r = this.beforeRenderCallbacks;
+ r.push({ fn: t, priority: e }),
+ r.sort(function (n, i) {
+ return i.priority - n.priority;
+ });
+ }
+ };
+ hpe = o(function (e, r, n) {
+ for (var i = e.beforeRenderCallbacks, a = 0; a < i.length; a++) i[a].fn(r, n);
+ }, 'beforeRenderCallbacks');
+ ib.startRenderLoop = function () {
+ var t = this,
+ e = t.cy;
+ if (!t.renderLoopStarted) {
+ t.renderLoopStarted = !0;
+ var r = o(function n(i) {
+ if (!t.destroyed) {
+ if (!e.batching())
+ if (t.requestedFrame && !t.skipFrame) {
+ hpe(t, !0, i);
+ var a = Ku();
+ t.render(t.renderOptions);
+ var s = (t.lastDrawTime = Ku());
+ t.averageRedrawTime === void 0 && (t.averageRedrawTime = s - a),
+ t.redrawCount === void 0 && (t.redrawCount = 0),
+ t.redrawCount++,
+ t.redrawTotalTime === void 0 && (t.redrawTotalTime = 0);
+ var l = s - a;
+ (t.redrawTotalTime += l),
+ (t.lastRedrawTime = l),
+ (t.averageRedrawTime = t.averageRedrawTime / 2 + l / 2),
+ (t.requestedFrame = !1);
+ } else hpe(t, !1, i);
+ (t.skipFrame = !1), E6(n);
+ }
+ }, 'renderFn');
+ E6(r);
+ }
+ };
+ (dQe = o(function (e) {
+ this.init(e);
+ }, 'BaseRenderer')),
+ (Hme = dQe),
+ (y1 = Hme.prototype);
+ y1.clientFunctions = [
+ 'redrawHint',
+ 'render',
+ 'renderTo',
+ 'matchCanvasSize',
+ 'nodeShapeImpl',
+ 'arrowShapeImpl'
+ ];
+ y1.init = function (t) {
+ var e = this;
+ (e.options = t), (e.cy = t.cy);
+ var r = (e.container = t.cy.container()),
+ n = e.cy.window();
+ if (n) {
+ var i = n.document,
+ a = i.head,
+ s = '__________cytoscape_stylesheet',
+ l = '__________cytoscape_container',
+ u = i.getElementById(s) != null;
+ if ((r.className.indexOf(l) < 0 && (r.className = (r.className || '') + ' ' + l), !u)) {
+ var h = i.createElement('style');
+ (h.id = s),
+ (h.textContent = '.' + l + ' { position: relative; }'),
+ a.insertBefore(h, a.children[0]);
+ }
+ var f = n.getComputedStyle(r),
+ d = f.getPropertyValue('position');
+ d === 'static' &&
+ tn('A Cytoscape container has style position:static and so can not use UI extensions properly');
+ }
+ (e.selection = [void 0, void 0, void 0, void 0, 0]),
+ (e.bezierProjPcts = [0.05, 0.225, 0.4, 0.5, 0.6, 0.775, 0.95]),
+ (e.hoverData = {
+ down: null,
+ last: null,
+ downTime: null,
+ triggerMode: null,
+ dragging: !1,
+ initialPan: [null, null],
+ capture: !1
+ }),
+ (e.dragData = { possibleDragElements: [] }),
+ (e.touchData = {
+ start: null,
+ capture: !1,
+ startPosition: [null, null, null, null, null, null],
+ singleTouchStartTime: null,
+ singleTouchMoved: !0,
+ now: [null, null, null, null, null, null],
+ earlier: [null, null, null, null, null, null]
+ }),
+ (e.redraws = 0),
+ (e.showFps = t.showFps),
+ (e.debug = t.debug),
+ (e.hideEdgesOnViewport = t.hideEdgesOnViewport),
+ (e.textureOnViewport = t.textureOnViewport),
+ (e.wheelSensitivity = t.wheelSensitivity),
+ (e.motionBlurEnabled = t.motionBlur),
+ (e.forcedPixelRatio = ft(t.pixelRatio) ? t.pixelRatio : null),
+ (e.motionBlur = t.motionBlur),
+ (e.motionBlurOpacity = t.motionBlurOpacity),
+ (e.motionBlurTransparency = 1 - e.motionBlurOpacity),
+ (e.motionBlurPxRatio = 1),
+ (e.mbPxRBlurry = 1),
+ (e.minMbLowQualFrames = 4),
+ (e.fullQualityMb = !1),
+ (e.clearedForMotionBlur = []),
+ (e.desktopTapThreshold = t.desktopTapThreshold),
+ (e.desktopTapThreshold2 = t.desktopTapThreshold * t.desktopTapThreshold),
+ (e.touchTapThreshold = t.touchTapThreshold),
+ (e.touchTapThreshold2 = t.touchTapThreshold * t.touchTapThreshold),
+ (e.tapholdDuration = 500),
+ (e.bindings = []),
+ (e.beforeRenderCallbacks = []),
+ (e.beforeRenderPriorities = {
+ animations: 400,
+ eleCalcs: 300,
+ eleTxrDeq: 200,
+ lyrTxrDeq: 150,
+ lyrTxrSkip: 100
+ }),
+ e.registerNodeShapes(),
+ e.registerArrowShapes(),
+ e.registerCalculationListeners();
+ };
+ y1.notify = function (t, e) {
+ var r = this,
+ n = r.cy;
+ if (!this.destroyed) {
+ if (t === 'init') {
+ r.load();
+ return;
+ }
+ if (t === 'destroy') {
+ r.destroy();
+ return;
+ }
+ (t === 'add' ||
+ t === 'remove' ||
+ (t === 'move' && n.hasCompoundNodes()) ||
+ t === 'load' ||
+ t === 'zorder' ||
+ t === 'mount') &&
+ r.invalidateCachedZSortedEles(),
+ t === 'viewport' && r.redrawHint('select', !0),
+ (t === 'load' || t === 'resize' || t === 'mount') &&
+ (r.invalidateContainerClientCoordsCache(), r.matchCanvasSize(r.container)),
+ r.redrawHint('eles', !0),
+ r.redrawHint('drag', !0),
+ this.startRenderLoop(),
+ this.redraw();
+ }
+ };
+ y1.destroy = function () {
+ var t = this;
+ (t.destroyed = !0), t.cy.stopAnimationLoop();
+ for (var e = 0; e < t.bindings.length; e++) {
+ var r = t.bindings[e],
+ n = r,
+ i = n.target;
+ (i.off || i.removeEventListener).apply(i, n.args);
+ }
+ if (
+ ((t.bindings = []),
+ (t.beforeRenderCallbacks = []),
+ (t.onUpdateEleCalcsFns = []),
+ t.removeObserver && t.removeObserver.disconnect(),
+ t.styleObserver && t.styleObserver.disconnect(),
+ t.resizeObserver && t.resizeObserver.disconnect(),
+ t.labelCalcDiv)
+ )
+ try {
+ document.body.removeChild(t.labelCalcDiv);
+ } catch {}
+ };
+ y1.isHeadless = function () {
+ return !1;
+ };
+ [pB, Vme, Ume, g1, Ju, ib].forEach(function (t) {
+ Wt(y1, t);
+ });
+ (LP = 1e3 / 60),
+ (Yme = {
+ setupDequeueing: o(function (e) {
+ return o(function () {
+ var n = this,
+ i = this.renderer;
+ if (!n.dequeueingSetup) {
+ n.dequeueingSetup = !0;
+ var a = P6(function () {
+ i.redrawHint('eles', !0), i.redrawHint('drag', !0), i.redraw();
+ }, e.deqRedrawThreshold),
+ s = o(function (h, f) {
+ var d = Ku(),
+ p = i.averageRedrawTime,
+ m = i.lastRedrawTime,
+ g = [],
+ y = i.cy.extent(),
+ v = i.getPixelRatio();
+ for (h || i.flushRenderedStyleQueue(); ; ) {
+ var x = Ku(),
+ b = x - d,
+ w = x - f;
+ if (m < LP) {
+ var S = LP - (h ? p : 0);
+ if (w >= e.deqFastCost * S) break;
+ } else if (h) {
+ if (b >= e.deqCost * m || b >= e.deqAvgCost * p) break;
+ } else if (w >= e.deqNoDrawCost * LP) break;
+ var T = e.deq(n, v, y);
+ if (T.length > 0) for (var E = 0; E < T.length; E++) g.push(T[E]);
+ else break;
+ }
+ g.length > 0 && (e.onDeqd(n, g), !h && e.shouldRedraw(n, g, v, y) && a());
+ }, 'dequeue'),
+ l = e.priority || JP;
+ i.beforeRender(s, l(n));
+ }
+ }, 'setupDequeueingImpl');
+ }, 'setupDequeueing')
+ }),
+ (pQe = (function () {
+ function t(e) {
+ var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : C6;
+ XP(this, t),
+ (this.idsByKey = new Vc()),
+ (this.keyForId = new Vc()),
+ (this.cachesByLvl = new Vc()),
+ (this.lvls = []),
+ (this.getKey = e),
+ (this.doesEleInvalidateKey = r);
+ }
+ return (
+ o(t, 'ElementTextureCacheLookup'),
+ jP(t, [
+ {
+ key: 'getIdsFor',
+ value: o(function (r) {
+ r == null && oi('Can not get id list for null key');
+ var n = this.idsByKey,
+ i = this.idsByKey.get(r);
+ return i || ((i = new c1()), n.set(r, i)), i;
+ }, 'getIdsFor')
+ },
+ {
+ key: 'addIdForKey',
+ value: o(function (r, n) {
+ r != null && this.getIdsFor(r).add(n);
+ }, 'addIdForKey')
+ },
+ {
+ key: 'deleteIdForKey',
+ value: o(function (r, n) {
+ r != null && this.getIdsFor(r).delete(n);
+ }, 'deleteIdForKey')
+ },
+ {
+ key: 'getNumberOfIdsForKey',
+ value: o(function (r) {
+ return r == null ? 0 : this.getIdsFor(r).size;
+ }, 'getNumberOfIdsForKey')
+ },
+ {
+ key: 'updateKeyMappingFor',
+ value: o(function (r) {
+ var n = r.id(),
+ i = this.keyForId.get(n),
+ a = this.getKey(r);
+ this.deleteIdForKey(i, n), this.addIdForKey(a, n), this.keyForId.set(n, a);
+ }, 'updateKeyMappingFor')
+ },
+ {
+ key: 'deleteKeyMappingFor',
+ value: o(function (r) {
+ var n = r.id(),
+ i = this.keyForId.get(n);
+ this.deleteIdForKey(i, n), this.keyForId.delete(n);
+ }, 'deleteKeyMappingFor')
+ },
+ {
+ key: 'keyHasChangedFor',
+ value: o(function (r) {
+ var n = r.id(),
+ i = this.keyForId.get(n),
+ a = this.getKey(r);
+ return i !== a;
+ }, 'keyHasChangedFor')
+ },
+ {
+ key: 'isInvalid',
+ value: o(function (r) {
+ return this.keyHasChangedFor(r) || this.doesEleInvalidateKey(r);
+ }, 'isInvalid')
+ },
+ {
+ key: 'getCachesAt',
+ value: o(function (r) {
+ var n = this.cachesByLvl,
+ i = this.lvls,
+ a = n.get(r);
+ return a || ((a = new Vc()), n.set(r, a), i.push(r)), a;
+ }, 'getCachesAt')
+ },
+ {
+ key: 'getCache',
+ value: o(function (r, n) {
+ return this.getCachesAt(n).get(r);
+ }, 'getCache')
+ },
+ {
+ key: 'get',
+ value: o(function (r, n) {
+ var i = this.getKey(r),
+ a = this.getCache(i, n);
+ return a != null && this.updateKeyMappingFor(r), a;
+ }, 'get')
+ },
+ {
+ key: 'getForCachedKey',
+ value: o(function (r, n) {
+ var i = this.keyForId.get(r.id()),
+ a = this.getCache(i, n);
+ return a;
+ }, 'getForCachedKey')
+ },
+ {
+ key: 'hasCache',
+ value: o(function (r, n) {
+ return this.getCachesAt(n).has(r);
+ }, 'hasCache')
+ },
+ {
+ key: 'has',
+ value: o(function (r, n) {
+ var i = this.getKey(r);
+ return this.hasCache(i, n);
+ }, 'has')
+ },
+ {
+ key: 'setCache',
+ value: o(function (r, n, i) {
+ (i.key = r), this.getCachesAt(n).set(r, i);
+ }, 'setCache')
+ },
+ {
+ key: 'set',
+ value: o(function (r, n, i) {
+ var a = this.getKey(r);
+ this.setCache(a, n, i), this.updateKeyMappingFor(r);
+ }, 'set')
+ },
+ {
+ key: 'deleteCache',
+ value: o(function (r, n) {
+ this.getCachesAt(n).delete(r);
+ }, 'deleteCache')
+ },
+ {
+ key: 'delete',
+ value: o(function (r, n) {
+ var i = this.getKey(r);
+ this.deleteCache(i, n);
+ }, '_delete')
+ },
+ {
+ key: 'invalidateKey',
+ value: o(function (r) {
+ var n = this;
+ this.lvls.forEach(function (i) {
+ return n.deleteCache(r, i);
+ });
+ }, 'invalidateKey')
+ },
+ {
+ key: 'invalidate',
+ value: o(function (r) {
+ var n = r.id(),
+ i = this.keyForId.get(n);
+ this.deleteKeyMappingFor(r);
+ var a = this.doesEleInvalidateKey(r);
+ return a && this.invalidateKey(i), a || this.getNumberOfIdsForKey(i) === 0;
+ }, 'invalidate')
+ }
+ ]),
+ t
+ );
+ })()),
+ (fpe = 25),
+ (d6 = 50),
+ (T6 = -4),
+ (HP = 3),
+ (mQe = 7.99),
+ (gQe = 8),
+ (yQe = 1024),
+ (vQe = 1024),
+ (xQe = 1024),
+ (bQe = 0.2),
+ (wQe = 0.8),
+ (TQe = 10),
+ (kQe = 0.15),
+ (EQe = 0.1),
+ (CQe = 0.9),
+ (SQe = 0.9),
+ (AQe = 100),
+ (_Qe = 1),
+ (e1 = {
+ dequeue: 'dequeue',
+ downscale: 'downscale',
+ highQuality: 'highQuality'
+ }),
+ (LQe = Sa({
+ getKey: null,
+ doesEleInvalidateKey: C6,
+ drawElement: null,
+ getBoundingBox: null,
+ getRotationPoint: null,
+ getRotationOffset: null,
+ isVisible: Ppe,
+ allowEdgeTxrCaching: !0,
+ allowParentTxrCaching: !0
+ })),
+ (Bx = o(function (e, r) {
+ var n = this;
+ (n.renderer = e), (n.onDequeues = []);
+ var i = LQe(r);
+ Wt(n, i), (n.lookup = new pQe(i.getKey, i.doesEleInvalidateKey)), n.setupDequeueing();
+ }, 'ElementTextureCache')),
+ (Yi = Bx.prototype);
+ Yi.reasons = e1;
+ Yi.getTextureQueue = function (t) {
+ var e = this;
+ return (e.eleImgCaches = e.eleImgCaches || {}), (e.eleImgCaches[t] = e.eleImgCaches[t] || []);
+ };
+ Yi.getRetiredTextureQueue = function (t) {
+ var e = this,
+ r = (e.eleImgCaches.retired = e.eleImgCaches.retired || {}),
+ n = (r[t] = r[t] || []);
+ return n;
+ };
+ Yi.getElementQueue = function () {
+ var t = this,
+ e = (t.eleCacheQueue =
+ t.eleCacheQueue ||
+ new eb(function (r, n) {
+ return n.reqs - r.reqs;
+ }));
+ return e;
+ };
+ Yi.getElementKeyToQueue = function () {
+ var t = this,
+ e = (t.eleKeyToCacheQueue = t.eleKeyToCacheQueue || {});
+ return e;
+ };
+ Yi.getElement = function (t, e, r, n, i) {
+ var a = this,
+ s = this.renderer,
+ l = s.cy.zoom(),
+ u = this.lookup;
+ if (
+ !e ||
+ e.w === 0 ||
+ e.h === 0 ||
+ isNaN(e.w) ||
+ isNaN(e.h) ||
+ !t.visible() ||
+ t.removed() ||
+ (!a.allowEdgeTxrCaching && t.isEdge()) ||
+ (!a.allowParentTxrCaching && t.isParent())
+ )
+ return null;
+ if ((n == null && (n = Math.ceil(tB(l * r))), n < T6)) n = T6;
+ else if (l >= mQe || n > HP) return null;
+ var h = Math.pow(2, n),
+ f = e.h * h,
+ d = e.w * h,
+ p = s.eleTextBiggerThanMin(t, h);
+ if (!this.isVisible(t, p)) return null;
+ var m = u.get(t, n);
+ if ((m && m.invalidated && ((m.invalidated = !1), (m.texture.invalidatedWidth -= m.width)), m))
+ return m;
+ var g;
+ if ((f <= fpe ? (g = fpe) : f <= d6 ? (g = d6) : (g = Math.ceil(f / d6) * d6), f > xQe || d > vQe))
+ return null;
+ var y = a.getTextureQueue(g),
+ v = y[y.length - 2],
+ x = o(function () {
+ return a.recycleTexture(g, d) || a.addTexture(g, d);
+ }, 'addNewTxr');
+ v || (v = y[y.length - 1]), v || (v = x()), v.width - v.usedWidth < d && (v = x());
+ for (
+ var b = o(function (D) {
+ return D && D.scaledLabelShown === p;
+ }, 'scalableFrom'),
+ w = i && i === e1.dequeue,
+ S = i && i === e1.highQuality,
+ T = i && i === e1.downscale,
+ E,
+ _ = n + 1;
+ _ <= HP;
+ _++
+ ) {
+ var A = u.get(t, _);
+ if (A) {
+ E = A;
+ break;
+ }
+ }
+ var L = E && E.level === n + 1 ? E : null,
+ M = o(function () {
+ v.context.drawImage(L.texture.canvas, L.x, 0, L.width, L.height, v.usedWidth, 0, d, f);
+ }, 'downscale');
+ if ((v.context.setTransform(1, 0, 0, 1, 0, 0), v.context.clearRect(v.usedWidth, 0, d, g), b(L))) M();
+ else if (b(E))
+ if (S) {
+ for (var N = E.level; N > n; N--) L = a.getElement(t, e, r, N, e1.downscale);
+ M();
+ } else return a.queueElement(t, E.level - 1), E;
+ else {
+ var k;
+ if (!w && !S && !T)
+ for (var I = n - 1; I >= T6; I--) {
+ var C = u.get(t, I);
+ if (C) {
+ k = C;
+ break;
+ }
+ }
+ if (b(k)) return a.queueElement(t, n), k;
+ v.context.translate(v.usedWidth, 0),
+ v.context.scale(h, h),
+ this.drawElement(v.context, t, e, p, !1),
+ v.context.scale(1 / h, 1 / h),
+ v.context.translate(-v.usedWidth, 0);
+ }
+ return (
+ (m = {
+ x: v.usedWidth,
+ texture: v,
+ level: n,
+ scale: h,
+ width: d,
+ height: f,
+ scaledLabelShown: p
+ }),
+ (v.usedWidth += Math.ceil(d + gQe)),
+ v.eleCaches.push(m),
+ u.set(t, n, m),
+ a.checkTextureFullness(v),
+ m
+ );
+ };
+ Yi.invalidateElements = function (t) {
+ for (var e = 0; e < t.length; e++) this.invalidateElement(t[e]);
+ };
+ Yi.invalidateElement = function (t) {
+ var e = this,
+ r = e.lookup,
+ n = [],
+ i = r.isInvalid(t);
+ if (i) {
+ for (var a = T6; a <= HP; a++) {
+ var s = r.getForCachedKey(t, a);
+ s && n.push(s);
+ }
+ var l = r.invalidate(t);
+ if (l)
+ for (var u = 0; u < n.length; u++) {
+ var h = n[u],
+ f = h.texture;
+ (f.invalidatedWidth += h.width), (h.invalidated = !0), e.checkTextureUtility(f);
+ }
+ e.removeFromQueue(t);
+ }
+ };
+ Yi.checkTextureUtility = function (t) {
+ t.invalidatedWidth >= bQe * t.width && this.retireTexture(t);
+ };
+ Yi.checkTextureFullness = function (t) {
+ var e = this,
+ r = e.getTextureQueue(t.height);
+ t.usedWidth / t.width > wQe && t.fullnessChecks >= TQe ? Af(r, t) : t.fullnessChecks++;
+ };
+ Yi.retireTexture = function (t) {
+ var e = this,
+ r = t.height,
+ n = e.getTextureQueue(r),
+ i = this.lookup;
+ Af(n, t), (t.retired = !0);
+ for (var a = t.eleCaches, s = 0; s < a.length; s++) {
+ var l = a[s];
+ i.deleteCache(l.key, l.level);
+ }
+ eB(a);
+ var u = e.getRetiredTextureQueue(r);
+ u.push(t);
+ };
+ Yi.addTexture = function (t, e) {
+ var r = this,
+ n = r.getTextureQueue(t),
+ i = {};
+ return (
+ n.push(i),
+ (i.eleCaches = []),
+ (i.height = t),
+ (i.width = Math.max(yQe, e)),
+ (i.usedWidth = 0),
+ (i.invalidatedWidth = 0),
+ (i.fullnessChecks = 0),
+ (i.canvas = r.renderer.makeOffscreenCanvas(i.width, i.height)),
+ (i.context = i.canvas.getContext('2d')),
+ i
+ );
+ };
+ Yi.recycleTexture = function (t, e) {
+ for (
+ var r = this, n = r.getTextureQueue(t), i = r.getRetiredTextureQueue(t), a = 0;
+ a < i.length;
+ a++
+ ) {
+ var s = i[a];
+ if (s.width >= e)
+ return (
+ (s.retired = !1),
+ (s.usedWidth = 0),
+ (s.invalidatedWidth = 0),
+ (s.fullnessChecks = 0),
+ eB(s.eleCaches),
+ s.context.setTransform(1, 0, 0, 1, 0, 0),
+ s.context.clearRect(0, 0, s.width, s.height),
+ Af(i, s),
+ n.push(s),
+ s
+ );
+ }
+ };
+ Yi.queueElement = function (t, e) {
+ var r = this,
+ n = r.getElementQueue(),
+ i = r.getElementKeyToQueue(),
+ a = this.getKey(t),
+ s = i[a];
+ if (s) (s.level = Math.max(s.level, e)), s.eles.merge(t), s.reqs++, n.updateItem(s);
+ else {
+ var l = { eles: t.spawn().merge(t), level: e, reqs: 1, key: a };
+ n.push(l), (i[a] = l);
+ }
+ };
+ Yi.dequeue = function (t) {
+ for (
+ var e = this, r = e.getElementQueue(), n = e.getElementKeyToQueue(), i = [], a = e.lookup, s = 0;
+ s < _Qe && r.size() > 0;
+ s++
+ ) {
+ var l = r.pop(),
+ u = l.key,
+ h = l.eles[0],
+ f = a.hasCache(h, l.level);
+ if (((n[u] = null), f)) continue;
+ i.push(l);
+ var d = e.getBoundingBox(h);
+ e.getElement(h, d, t, l.level, e1.dequeue);
+ }
+ return i;
+ };
+ Yi.removeFromQueue = function (t) {
+ var e = this,
+ r = e.getElementQueue(),
+ n = e.getElementKeyToQueue(),
+ i = this.getKey(t),
+ a = n[i];
+ a != null &&
+ (a.eles.length === 1
+ ? ((a.reqs = ZP), r.updateItem(a), r.pop(), (n[i] = null))
+ : a.eles.unmerge(t));
+ };
+ Yi.onDequeue = function (t) {
+ this.onDequeues.push(t);
+ };
+ Yi.offDequeue = function (t) {
+ Af(this.onDequeues, t);
+ };
+ Yi.setupDequeueing = Yme.setupDequeueing({
+ deqRedrawThreshold: AQe,
+ deqCost: kQe,
+ deqAvgCost: EQe,
+ deqNoDrawCost: CQe,
+ deqFastCost: SQe,
+ deq: o(function (e, r, n) {
+ return e.dequeue(r, n);
+ }, 'deq'),
+ onDeqd: o(function (e, r) {
+ for (var n = 0; n < e.onDequeues.length; n++) {
+ var i = e.onDequeues[n];
+ i(r);
+ }
+ }, 'onDeqd'),
+ shouldRedraw: o(function (e, r, n, i) {
+ for (var a = 0; a < r.length; a++)
+ for (var s = r[a].eles, l = 0; l < s.length; l++) {
+ var u = s[l].boundingBox();
+ if (rB(u, i)) return !0;
+ }
+ return !1;
+ }, 'shouldRedraw'),
+ priority: o(function (e) {
+ return e.renderer.beforeRenderPriorities.eleTxrDeq;
+ }, 'priority')
+ });
+ (DQe = 1),
+ (zx = -4),
+ (M6 = 2),
+ (RQe = 3.99),
+ (NQe = 50),
+ (MQe = 50),
+ (IQe = 0.15),
+ (OQe = 0.1),
+ (PQe = 0.9),
+ (BQe = 0.9),
+ (FQe = 1),
+ (dpe = 250),
+ (zQe = 4e3 * 4e3),
+ (GQe = !0),
+ (Wme = o(function (e) {
+ var r = this,
+ n = (r.renderer = e),
+ i = n.cy;
+ (r.layersByLevel = {}),
+ (r.firstGet = !0),
+ (r.lastInvalidationTime = Ku() - 2 * dpe),
+ (r.skipping = !1),
+ (r.eleTxrDeqs = i.collection()),
+ (r.scheduleElementRefinement = P6(function () {
+ r.refineElementTextures(r.eleTxrDeqs), r.eleTxrDeqs.unmerge(r.eleTxrDeqs);
+ }, MQe)),
+ n.beforeRender(function (s, l) {
+ l - r.lastInvalidationTime <= dpe ? (r.skipping = !0) : (r.skipping = !1);
+ }, n.beforeRenderPriorities.lyrTxrSkip);
+ var a = o(function (l, u) {
+ return u.reqs - l.reqs;
+ }, 'qSort');
+ (r.layersQueue = new eb(a)), r.setupDequeueing();
+ }, 'LayeredTextureCache')),
+ (Aa = Wme.prototype),
+ (ppe = 0),
+ ($Qe = Math.pow(2, 53) - 1);
+ Aa.makeLayer = function (t, e) {
+ var r = Math.pow(2, e),
+ n = Math.ceil(t.w * r),
+ i = Math.ceil(t.h * r),
+ a = this.renderer.makeOffscreenCanvas(n, i),
+ s = {
+ id: (ppe = ++ppe % $Qe),
+ bb: t,
+ level: e,
+ width: n,
+ height: i,
+ canvas: a,
+ context: a.getContext('2d'),
+ eles: [],
+ elesQueue: [],
+ reqs: 0
+ },
+ l = s.context,
+ u = -s.bb.x1,
+ h = -s.bb.y1;
+ return l.scale(r, r), l.translate(u, h), s;
+ };
+ Aa.getLayers = function (t, e, r) {
+ var n = this,
+ i = n.renderer,
+ a = i.cy,
+ s = a.zoom(),
+ l = n.firstGet;
+ if (((n.firstGet = !1), r == null)) {
+ if (((r = Math.ceil(tB(s * e))), r < zx)) r = zx;
+ else if (s >= RQe || r > M6) return null;
+ }
+ n.validateLayersElesOrdering(r, t);
+ var u = n.layersByLevel,
+ h = Math.pow(2, r),
+ f = (u[r] = u[r] || []),
+ d,
+ p = n.levelIsComplete(r, t),
+ m,
+ g = o(function () {
+ var M = o(function (O) {
+ if ((n.validateLayersElesOrdering(O, t), n.levelIsComplete(O, t)))
+ return (m = u[O]), !0;
+ }, 'canUseAsTmpLvl'),
+ N = o(function (O) {
+ if (!m) for (var D = r + O; zx <= D && D <= M6 && !M(D); D += O);
+ }, 'checkLvls');
+ N(1), N(-1);
+ for (var k = f.length - 1; k >= 0; k--) {
+ var I = f[k];
+ I.invalid && Af(f, I);
+ }
+ }, 'checkTempLevels');
+ if (!p) g();
+ else return f;
+ var y = o(function () {
+ if (!d) {
+ d = Gs();
+ for (var M = 0; M < t.length; M++) Vpe(d, t[M].boundingBox());
+ }
+ return d;
+ }, 'getBb'),
+ v = o(function (M) {
+ M = M || {};
+ var N = M.after;
+ y();
+ var k = d.w * h * (d.h * h);
+ if (k > zQe) return null;
+ var I = n.makeLayer(d, r);
+ if (N != null) {
+ var C = f.indexOf(N) + 1;
+ f.splice(C, 0, I);
+ } else (M.insert === void 0 || M.insert) && f.unshift(I);
+ return I;
+ }, 'makeLayer');
+ if (n.skipping && !l) return null;
+ for (var x = null, b = t.length / DQe, w = !l, S = 0; S < t.length; S++) {
+ var T = t[S],
+ E = T._private.rscratch,
+ _ = (E.imgLayerCaches = E.imgLayerCaches || {}),
+ A = _[r];
+ if (A) {
+ x = A;
+ continue;
+ }
+ if (
+ (!x || x.eles.length >= b || !Upe(x.bb, T.boundingBox())) &&
+ ((x = v({ insert: !0, after: x })), !x)
+ )
+ return null;
+ m || w ? n.queueLayer(x, T) : n.drawEleInLayer(x, T, r, e), x.eles.push(T), (_[r] = x);
+ }
+ return m || (w ? null : f);
+ };
+ Aa.getEleLevelForLayerLevel = function (t, e) {
+ return t;
+ };
+ Aa.drawEleInLayer = function (t, e, r, n) {
+ var i = this,
+ a = this.renderer,
+ s = t.context,
+ l = e.boundingBox();
+ l.w === 0 ||
+ l.h === 0 ||
+ !e.visible() ||
+ ((r = i.getEleLevelForLayerLevel(r, n)),
+ a.setImgSmoothing(s, !1),
+ a.drawCachedElement(s, e, null, null, r, GQe),
+ a.setImgSmoothing(s, !0));
+ };
+ Aa.levelIsComplete = function (t, e) {
+ var r = this,
+ n = r.layersByLevel[t];
+ if (!n || n.length === 0) return !1;
+ for (var i = 0, a = 0; a < n.length; a++) {
+ var s = n[a];
+ if (s.reqs > 0 || s.invalid) return !1;
+ i += s.eles.length;
+ }
+ return i === e.length;
+ };
+ Aa.validateLayersElesOrdering = function (t, e) {
+ var r = this.layersByLevel[t];
+ if (r)
+ for (var n = 0; n < r.length; n++) {
+ for (var i = r[n], a = -1, s = 0; s < e.length; s++)
+ if (i.eles[0] === e[s]) {
+ a = s;
+ break;
+ }
+ if (a < 0) {
+ this.invalidateLayer(i);
+ continue;
+ }
+ for (var l = a, s = 0; s < i.eles.length; s++)
+ if (i.eles[s] !== e[l + s]) {
+ this.invalidateLayer(i);
+ break;
+ }
+ }
+ };
+ Aa.updateElementsInLayers = function (t, e) {
+ for (var r = this, n = Zx(t[0]), i = 0; i < t.length; i++)
+ for (
+ var a = n ? null : t[i],
+ s = n ? t[i] : t[i].ele,
+ l = s._private.rscratch,
+ u = (l.imgLayerCaches = l.imgLayerCaches || {}),
+ h = zx;
+ h <= M6;
+ h++
+ ) {
+ var f = u[h];
+ f && ((a && r.getEleLevelForLayerLevel(f.level) !== a.level) || e(f, s, a));
+ }
+ };
+ Aa.haveLayers = function () {
+ for (var t = this, e = !1, r = zx; r <= M6; r++) {
+ var n = t.layersByLevel[r];
+ if (n && n.length > 0) {
+ e = !0;
+ break;
+ }
+ }
+ return e;
+ };
+ Aa.invalidateElements = function (t) {
+ var e = this;
+ t.length !== 0 &&
+ ((e.lastInvalidationTime = Ku()),
+ !(t.length === 0 || !e.haveLayers()) &&
+ e.updateElementsInLayers(
+ t,
+ o(function (n, i, a) {
+ e.invalidateLayer(n);
+ }, 'invalAssocLayers')
+ ));
+ };
+ Aa.invalidateLayer = function (t) {
+ if (((this.lastInvalidationTime = Ku()), !t.invalid)) {
+ var e = t.level,
+ r = t.eles,
+ n = this.layersByLevel[e];
+ Af(n, t), (t.elesQueue = []), (t.invalid = !0), t.replacement && (t.replacement.invalid = !0);
+ for (var i = 0; i < r.length; i++) {
+ var a = r[i]._private.rscratch.imgLayerCaches;
+ a && (a[e] = null);
+ }
+ }
+ };
+ Aa.refineElementTextures = function (t) {
+ var e = this;
+ e.updateElementsInLayers(
+ t,
+ o(function (n, i, a) {
+ var s = n.replacement;
+ if (
+ (s ||
+ ((s = n.replacement = e.makeLayer(n.bb, n.level)), (s.replaces = n), (s.eles = n.eles)),
+ !s.reqs)
+ )
+ for (var l = 0; l < s.eles.length; l++) e.queueLayer(s, s.eles[l]);
+ }, 'refineEachEle')
+ );
+ };
+ Aa.enqueueElementRefinement = function (t) {
+ this.eleTxrDeqs.merge(t), this.scheduleElementRefinement();
+ };
+ Aa.queueLayer = function (t, e) {
+ var r = this,
+ n = r.layersQueue,
+ i = t.elesQueue,
+ a = (i.hasId = i.hasId || {});
+ if (!t.replacement) {
+ if (e) {
+ if (a[e.id()]) return;
+ i.push(e), (a[e.id()] = !0);
+ }
+ t.reqs ? (t.reqs++, n.updateItem(t)) : ((t.reqs = 1), n.push(t));
+ }
+ };
+ Aa.dequeue = function (t) {
+ for (var e = this, r = e.layersQueue, n = [], i = 0; i < FQe && r.size() !== 0; ) {
+ var a = r.peek();
+ if (a.replacement) {
+ r.pop();
+ continue;
+ }
+ if (a.replaces && a !== a.replaces.replacement) {
+ r.pop();
+ continue;
+ }
+ if (a.invalid) {
+ r.pop();
+ continue;
+ }
+ var s = a.elesQueue.shift();
+ s && (e.drawEleInLayer(a, s, a.level, t), i++),
+ n.length === 0 && n.push(!0),
+ a.elesQueue.length === 0 &&
+ (r.pop(), (a.reqs = 0), a.replaces && e.applyLayerReplacement(a), e.requestRedraw());
+ }
+ return n;
+ };
+ Aa.applyLayerReplacement = function (t) {
+ var e = this,
+ r = e.layersByLevel[t.level],
+ n = t.replaces,
+ i = r.indexOf(n);
+ if (!(i < 0 || n.invalid)) {
+ r[i] = t;
+ for (var a = 0; a < t.eles.length; a++) {
+ var s = t.eles[a]._private,
+ l = (s.imgLayerCaches = s.imgLayerCaches || {});
+ l && (l[t.level] = t);
+ }
+ e.requestRedraw();
+ }
+ };
+ Aa.requestRedraw = P6(function () {
+ var t = this.renderer;
+ t.redrawHint('eles', !0), t.redrawHint('drag', !0), t.redraw();
+ }, 100);
+ Aa.setupDequeueing = Yme.setupDequeueing({
+ deqRedrawThreshold: NQe,
+ deqCost: IQe,
+ deqAvgCost: OQe,
+ deqNoDrawCost: PQe,
+ deqFastCost: BQe,
+ deq: o(function (e, r) {
+ return e.dequeue(r);
+ }, 'deq'),
+ onDeqd: JP,
+ shouldRedraw: Ppe,
+ priority: o(function (e) {
+ return e.renderer.beforeRenderPriorities.lyrTxrDeq;
+ }, 'priority')
+ });
+ qme = {};
+ o(VQe, 'polygon');
+ o(UQe, 'triangleBackcurve');
+ o(gpe, 'triangleTee');
+ o(HQe, 'circleTriangle');
+ o(YQe, 'circle');
+ qme.arrowShapeImpl = function (t) {
+ return (mpe ||
+ (mpe = {
+ polygon: VQe,
+ 'triangle-backcurve': UQe,
+ 'triangle-tee': gpe,
+ 'circle-triangle': HQe,
+ 'triangle-cross': gpe,
+ circle: YQe
+ }))[t];
+ };
+ Yc = {};
+ Yc.drawElement = function (t, e, r, n, i, a) {
+ var s = this;
+ e.isNode() ? s.drawNode(t, e, r, n, i, a) : s.drawEdge(t, e, r, n, i, a);
+ };
+ Yc.drawElementOverlay = function (t, e) {
+ var r = this;
+ e.isNode() ? r.drawNodeOverlay(t, e) : r.drawEdgeOverlay(t, e);
+ };
+ Yc.drawElementUnderlay = function (t, e) {
+ var r = this;
+ e.isNode() ? r.drawNodeUnderlay(t, e) : r.drawEdgeUnderlay(t, e);
+ };
+ Yc.drawCachedElementPortion = function (t, e, r, n, i, a, s, l) {
+ var u = this,
+ h = r.getBoundingBox(e);
+ if (!(h.w === 0 || h.h === 0)) {
+ var f = r.getElement(e, h, n, i, a);
+ if (f != null) {
+ var d = l(u, e);
+ if (d === 0) return;
+ var p = s(u, e),
+ m = h.x1,
+ g = h.y1,
+ y = h.w,
+ v = h.h,
+ x,
+ b,
+ w,
+ S,
+ T;
+ if (p !== 0) {
+ var E = r.getRotationPoint(e);
+ (w = E.x),
+ (S = E.y),
+ t.translate(w, S),
+ t.rotate(p),
+ (T = u.getImgSmoothing(t)),
+ T || u.setImgSmoothing(t, !0);
+ var _ = r.getRotationOffset(e);
+ (x = _.x), (b = _.y);
+ } else (x = m), (b = g);
+ var A;
+ d !== 1 && ((A = t.globalAlpha), (t.globalAlpha = A * d)),
+ t.drawImage(f.texture.canvas, f.x, 0, f.width, f.height, x, b, y, v),
+ d !== 1 && (t.globalAlpha = A),
+ p !== 0 && (t.rotate(-p), t.translate(-w, -S), T || u.setImgSmoothing(t, !1));
+ } else r.drawElement(t, e);
+ }
+ };
+ (WQe = o(function () {
+ return 0;
+ }, 'getZeroRotation')),
+ (qQe = o(function (e, r) {
+ return e.getTextAngle(r, null);
+ }, 'getLabelRotation')),
+ (XQe = o(function (e, r) {
+ return e.getTextAngle(r, 'source');
+ }, 'getSourceLabelRotation')),
+ (jQe = o(function (e, r) {
+ return e.getTextAngle(r, 'target');
+ }, 'getTargetLabelRotation')),
+ (KQe = o(function (e, r) {
+ return r.effectiveOpacity();
+ }, 'getOpacity')),
+ (DP = o(function (e, r) {
+ return r.pstyle('text-opacity').pfValue * r.effectiveOpacity();
+ }, 'getTextOpacity'));
+ Yc.drawCachedElement = function (t, e, r, n, i, a) {
+ var s = this,
+ l = s.data,
+ u = l.eleTxrCache,
+ h = l.lblTxrCache,
+ f = l.slbTxrCache,
+ d = l.tlbTxrCache,
+ p = e.boundingBox(),
+ m = a === !0 ? u.reasons.highQuality : null;
+ if (!(p.w === 0 || p.h === 0 || !e.visible()) && (!n || rB(p, n))) {
+ var g = e.isEdge(),
+ y = e.element()._private.rscratch.badLine;
+ s.drawElementUnderlay(t, e),
+ s.drawCachedElementPortion(t, e, u, r, i, m, WQe, KQe),
+ (!g || !y) && s.drawCachedElementPortion(t, e, h, r, i, m, qQe, DP),
+ g &&
+ !y &&
+ (s.drawCachedElementPortion(t, e, f, r, i, m, XQe, DP),
+ s.drawCachedElementPortion(t, e, d, r, i, m, jQe, DP)),
+ s.drawElementOverlay(t, e);
+ }
+ };
+ Yc.drawElements = function (t, e) {
+ for (var r = this, n = 0; n < e.length; n++) {
+ var i = e[n];
+ r.drawElement(t, i);
+ }
+ };
+ Yc.drawCachedElements = function (t, e, r, n) {
+ for (var i = this, a = 0; a < e.length; a++) {
+ var s = e[a];
+ i.drawCachedElement(t, s, r, n);
+ }
+ };
+ Yc.drawCachedNodes = function (t, e, r, n) {
+ for (var i = this, a = 0; a < e.length; a++) {
+ var s = e[a];
+ s.isNode() && i.drawCachedElement(t, s, r, n);
+ }
+ };
+ Yc.drawLayeredElements = function (t, e, r, n) {
+ var i = this,
+ a = i.data.lyrTxrCache.getLayers(e, r);
+ if (a)
+ for (var s = 0; s < a.length; s++) {
+ var l = a[s],
+ u = l.bb;
+ u.w === 0 || u.h === 0 || t.drawImage(l.canvas, u.x1, u.y1, u.w, u.h);
+ }
+ else i.drawCachedElements(t, e, r, n);
+ };
+ eh = {};
+ eh.drawEdge = function (t, e, r) {
+ var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0,
+ i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0,
+ a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0,
+ s = this,
+ l = e._private.rscratch;
+ if (!(a && !e.visible()) && !(l.badLine || l.allpts == null || isNaN(l.allpts[0]))) {
+ var u;
+ r && ((u = r), t.translate(-u.x1, -u.y1));
+ var h = a ? e.pstyle('opacity').value : 1,
+ f = a ? e.pstyle('line-opacity').value : 1,
+ d = e.pstyle('curve-style').value,
+ p = e.pstyle('line-style').value,
+ m = e.pstyle('width').pfValue,
+ g = e.pstyle('line-cap').value,
+ y = e.pstyle('line-outline-width').value,
+ v = e.pstyle('line-outline-color').value,
+ x = h * f,
+ b = h * f,
+ w = o(function () {
+ var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : x;
+ d === 'straight-triangle'
+ ? (s.eleStrokeStyle(t, e, O), s.drawEdgeTrianglePath(e, t, l.allpts))
+ : ((t.lineWidth = m),
+ (t.lineCap = g),
+ s.eleStrokeStyle(t, e, O),
+ s.drawEdgePath(e, t, l.allpts, p),
+ (t.lineCap = 'butt'));
+ }, 'drawLine'),
+ S = o(function () {
+ var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : x;
+ if (((t.lineWidth = m + y), (t.lineCap = g), y > 0))
+ s.colorStrokeStyle(t, v[0], v[1], v[2], O);
+ else {
+ t.lineCap = 'butt';
+ return;
+ }
+ d === 'straight-triangle'
+ ? s.drawEdgeTrianglePath(e, t, l.allpts)
+ : (s.drawEdgePath(e, t, l.allpts, p), (t.lineCap = 'butt'));
+ }, 'drawLineOutline'),
+ T = o(function () {
+ i && s.drawEdgeOverlay(t, e);
+ }, 'drawOverlay'),
+ E = o(function () {
+ i && s.drawEdgeUnderlay(t, e);
+ }, 'drawUnderlay'),
+ _ = o(function () {
+ var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b;
+ s.drawArrowheads(t, e, O);
+ }, 'drawArrows'),
+ A = o(function () {
+ s.drawElementText(t, e, null, n);
+ }, 'drawText');
+ t.lineJoin = 'round';
+ var L = e.pstyle('ghost').value === 'yes';
+ if (L) {
+ var M = e.pstyle('ghost-offset-x').pfValue,
+ N = e.pstyle('ghost-offset-y').pfValue,
+ k = e.pstyle('ghost-opacity').value,
+ I = x * k;
+ t.translate(M, N), w(I), _(I), t.translate(-M, -N);
+ } else S();
+ E(), w(), _(), T(), A(), r && t.translate(u.x1, u.y1);
+ }
+ };
+ Xme = o(function (e) {
+ if (!['overlay', 'underlay'].includes(e)) throw new Error('Invalid state');
+ return function (r, n) {
+ if (n.visible()) {
+ var i = n.pstyle(''.concat(e, '-opacity')).value;
+ if (i !== 0) {
+ var a = this,
+ s = a.usePaths(),
+ l = n._private.rscratch,
+ u = n.pstyle(''.concat(e, '-padding')).pfValue,
+ h = 2 * u,
+ f = n.pstyle(''.concat(e, '-color')).value;
+ (r.lineWidth = h),
+ l.edgeType === 'self' && !s ? (r.lineCap = 'butt') : (r.lineCap = 'round'),
+ a.colorStrokeStyle(r, f[0], f[1], f[2], i),
+ a.drawEdgePath(n, r, l.allpts, 'solid');
+ }
+ }
+ };
+ }, 'drawEdgeOverlayUnderlay');
+ eh.drawEdgeOverlay = Xme('overlay');
+ eh.drawEdgeUnderlay = Xme('underlay');
+ eh.drawEdgePath = function (t, e, r, n) {
+ var i = t._private.rscratch,
+ a = e,
+ s,
+ l = !1,
+ u = this.usePaths(),
+ h = t.pstyle('line-dash-pattern').pfValue,
+ f = t.pstyle('line-dash-offset').pfValue;
+ if (u) {
+ var d = r.join('$'),
+ p = i.pathCacheKey && i.pathCacheKey === d;
+ p
+ ? ((s = e = i.pathCache), (l = !0))
+ : ((s = e = new Path2D()), (i.pathCacheKey = d), (i.pathCache = s));
+ }
+ if (a.setLineDash)
+ switch (n) {
+ case 'dotted':
+ a.setLineDash([1, 1]);
+ break;
+ case 'dashed':
+ a.setLineDash(h), (a.lineDashOffset = f);
+ break;
+ case 'solid':
+ a.setLineDash([]);
+ break;
+ }
+ if (!l && !i.badLine)
+ switch ((e.beginPath && e.beginPath(), e.moveTo(r[0], r[1]), i.edgeType)) {
+ case 'bezier':
+ case 'self':
+ case 'compound':
+ case 'multibezier':
+ for (var m = 2; m + 3 < r.length; m += 4)
+ e.quadraticCurveTo(r[m], r[m + 1], r[m + 2], r[m + 3]);
+ break;
+ case 'straight':
+ case 'haystack':
+ for (var g = 2; g + 1 < r.length; g += 2) e.lineTo(r[g], r[g + 1]);
+ break;
+ case 'segments':
+ if (i.isRound) {
+ var y = Tpe(i.roundCorners),
+ v;
+ try {
+ for (y.s(); !(v = y.n()).done; ) {
+ var x = v.value;
+ Bme(e, x);
+ }
+ } catch (w) {
+ y.e(w);
+ } finally {
+ y.f();
+ }
+ e.lineTo(r[r.length - 2], r[r.length - 1]);
+ } else for (var b = 2; b + 1 < r.length; b += 2) e.lineTo(r[b], r[b + 1]);
+ break;
+ }
+ (e = a), u ? e.stroke(s) : e.stroke(), e.setLineDash && e.setLineDash([]);
+ };
+ eh.drawEdgeTrianglePath = function (t, e, r) {
+ e.fillStyle = e.strokeStyle;
+ for (var n = t.pstyle('width').pfValue, i = 0; i + 1 < r.length; i += 2) {
+ var a = [r[i + 2] - r[i], r[i + 3] - r[i + 1]],
+ s = Math.sqrt(a[0] * a[0] + a[1] * a[1]),
+ l = [a[1] / s, -a[0] / s],
+ u = [(l[0] * n) / 2, (l[1] * n) / 2];
+ e.beginPath(),
+ e.moveTo(r[i] - u[0], r[i + 1] - u[1]),
+ e.lineTo(r[i] + u[0], r[i + 1] + u[1]),
+ e.lineTo(r[i + 2], r[i + 3]),
+ e.closePath(),
+ e.fill();
+ }
+ };
+ eh.drawArrowheads = function (t, e, r) {
+ var n = e._private.rscratch,
+ i = n.edgeType === 'haystack';
+ i || this.drawArrowhead(t, e, 'source', n.arrowStartX, n.arrowStartY, n.srcArrowAngle, r),
+ this.drawArrowhead(t, e, 'mid-target', n.midX, n.midY, n.midtgtArrowAngle, r),
+ this.drawArrowhead(t, e, 'mid-source', n.midX, n.midY, n.midsrcArrowAngle, r),
+ i || this.drawArrowhead(t, e, 'target', n.arrowEndX, n.arrowEndY, n.tgtArrowAngle, r);
+ };
+ eh.drawArrowhead = function (t, e, r, n, i, a, s) {
+ if (!(isNaN(n) || n == null || isNaN(i) || i == null || isNaN(a) || a == null)) {
+ var l = this,
+ u = e.pstyle(r + '-arrow-shape').value;
+ if (u !== 'none') {
+ var h = e.pstyle(r + '-arrow-fill').value === 'hollow' ? 'both' : 'filled',
+ f = e.pstyle(r + '-arrow-fill').value,
+ d = e.pstyle('width').pfValue,
+ p = e.pstyle(r + '-arrow-width'),
+ m = p.value === 'match-line' ? d : p.pfValue;
+ p.units === '%' && (m *= d);
+ var g = e.pstyle('opacity').value;
+ s === void 0 && (s = g);
+ var y = t.globalCompositeOperation;
+ (s !== 1 || f === 'hollow') &&
+ ((t.globalCompositeOperation = 'destination-out'),
+ l.colorFillStyle(t, 255, 255, 255, 1),
+ l.colorStrokeStyle(t, 255, 255, 255, 1),
+ l.drawArrowShape(e, t, h, d, u, m, n, i, a),
+ (t.globalCompositeOperation = y));
+ var v = e.pstyle(r + '-arrow-color').value;
+ l.colorFillStyle(t, v[0], v[1], v[2], s),
+ l.colorStrokeStyle(t, v[0], v[1], v[2], s),
+ l.drawArrowShape(e, t, f, d, u, m, n, i, a);
+ }
+ }
+ };
+ eh.drawArrowShape = function (t, e, r, n, i, a, s, l, u) {
+ var h = this,
+ f = this.usePaths() && i !== 'triangle-cross',
+ d = !1,
+ p,
+ m = e,
+ g = { x: s, y: l },
+ y = t.pstyle('arrow-scale').value,
+ v = this.getArrowWidth(n, y),
+ x = h.arrowShapes[i];
+ if (f) {
+ var b = (h.arrowPathCache = h.arrowPathCache || []),
+ w = U0(i),
+ S = b[w];
+ S != null ? ((p = e = S), (d = !0)) : ((p = e = new Path2D()), (b[w] = p));
+ }
+ d ||
+ (e.beginPath && e.beginPath(),
+ f ? x.draw(e, 1, 0, { x: 0, y: 0 }, 1) : x.draw(e, v, u, g, n),
+ e.closePath && e.closePath()),
+ (e = m),
+ f && (e.translate(s, l), e.rotate(u), e.scale(v, v)),
+ (r === 'filled' || r === 'both') && (f ? e.fill(p) : e.fill()),
+ (r === 'hollow' || r === 'both') &&
+ ((e.lineWidth = a / (f ? v : 1)), (e.lineJoin = 'miter'), f ? e.stroke(p) : e.stroke()),
+ f && (e.scale(1 / v, 1 / v), e.rotate(-u), e.translate(-s, -l));
+ };
+ yB = {};
+ yB.safeDrawImage = function (t, e, r, n, i, a, s, l, u, h) {
+ if (!(i <= 0 || a <= 0 || u <= 0 || h <= 0))
+ try {
+ t.drawImage(e, r, n, i, a, s, l, u, h);
+ } catch (f) {
+ tn(f);
+ }
+ };
+ yB.drawInscribedImage = function (t, e, r, n, i) {
+ var a = this,
+ s = r.position(),
+ l = s.x,
+ u = s.y,
+ h = r.cy().style(),
+ f = h.getIndexedStyle.bind(h),
+ d = f(r, 'background-fit', 'value', n),
+ p = f(r, 'background-repeat', 'value', n),
+ m = r.width(),
+ g = r.height(),
+ y = r.padding() * 2,
+ v = m + (f(r, 'background-width-relative-to', 'value', n) === 'inner' ? 0 : y),
+ x = g + (f(r, 'background-height-relative-to', 'value', n) === 'inner' ? 0 : y),
+ b = r._private.rscratch,
+ w = f(r, 'background-clip', 'value', n),
+ S = w === 'node',
+ T = f(r, 'background-image-opacity', 'value', n) * i,
+ E = f(r, 'background-image-smoothing', 'value', n),
+ _ = r.pstyle('corner-radius').value;
+ _ !== 'auto' && (_ = r.pstyle('corner-radius').pfValue);
+ var A = e.width || e.cachedW,
+ L = e.height || e.cachedH;
+ (A == null || L == null) &&
+ (document.body.appendChild(e),
+ (A = e.cachedW = e.width || e.offsetWidth),
+ (L = e.cachedH = e.height || e.offsetHeight),
+ document.body.removeChild(e));
+ var M = A,
+ N = L;
+ if (
+ (f(r, 'background-width', 'value', n) !== 'auto' &&
+ (f(r, 'background-width', 'units', n) === '%'
+ ? (M = f(r, 'background-width', 'pfValue', n) * v)
+ : (M = f(r, 'background-width', 'pfValue', n))),
+ f(r, 'background-height', 'value', n) !== 'auto' &&
+ (f(r, 'background-height', 'units', n) === '%'
+ ? (N = f(r, 'background-height', 'pfValue', n) * x)
+ : (N = f(r, 'background-height', 'pfValue', n))),
+ !(M === 0 || N === 0))
+ ) {
+ if (d === 'contain') {
+ var k = Math.min(v / M, x / N);
+ (M *= k), (N *= k);
+ } else if (d === 'cover') {
+ var k = Math.max(v / M, x / N);
+ (M *= k), (N *= k);
+ }
+ var I = l - v / 2,
+ C = f(r, 'background-position-x', 'units', n),
+ O = f(r, 'background-position-x', 'pfValue', n);
+ C === '%' ? (I += (v - M) * O) : (I += O);
+ var D = f(r, 'background-offset-x', 'units', n),
+ P = f(r, 'background-offset-x', 'pfValue', n);
+ D === '%' ? (I += (v - M) * P) : (I += P);
+ var F = u - x / 2,
+ B = f(r, 'background-position-y', 'units', n),
+ $ = f(r, 'background-position-y', 'pfValue', n);
+ B === '%' ? (F += (x - N) * $) : (F += $);
+ var z = f(r, 'background-offset-y', 'units', n),
+ Y = f(r, 'background-offset-y', 'pfValue', n);
+ z === '%' ? (F += (x - N) * Y) : (F += Y), b.pathCache && ((I -= l), (F -= u), (l = 0), (u = 0));
+ var Q = t.globalAlpha;
+ t.globalAlpha = T;
+ var X = a.getImgSmoothing(t),
+ ie = !1;
+ if (
+ (E === 'no' && X
+ ? (a.setImgSmoothing(t, !1), (ie = !0))
+ : E === 'yes' && !X && (a.setImgSmoothing(t, !0), (ie = !0)),
+ p === 'no-repeat')
+ )
+ S &&
+ (t.save(),
+ b.pathCache
+ ? t.clip(b.pathCache)
+ : (a.nodeShapes[a.getNodeShape(r)].draw(t, l, u, v, x, _, b), t.clip())),
+ a.safeDrawImage(t, e, 0, 0, A, L, I, F, M, N),
+ S && t.restore();
+ else {
+ var j = t.createPattern(e, p);
+ (t.fillStyle = j),
+ a.nodeShapes[a.getNodeShape(r)].draw(t, l, u, v, x, _, b),
+ t.translate(I, F),
+ t.fill(),
+ t.translate(-I, -F);
+ }
+ (t.globalAlpha = Q), ie && a.setImgSmoothing(t, X);
+ }
+ };
+ K0 = {};
+ K0.eleTextBiggerThanMin = function (t, e) {
+ if (!e) {
+ var r = t.cy().zoom(),
+ n = this.getPixelRatio(),
+ i = Math.ceil(tB(r * n));
+ e = Math.pow(2, i);
+ }
+ var a = t.pstyle('font-size').pfValue * e,
+ s = t.pstyle('min-zoomed-font-size').pfValue;
+ return !(a < s);
+ };
+ K0.drawElementText = function (t, e, r, n, i) {
+ var a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0,
+ s = this;
+ if (n == null) {
+ if (a && !s.eleTextBiggerThanMin(e)) return;
+ } else if (n === !1) return;
+ if (e.isNode()) {
+ var l = e.pstyle('label');
+ if (!l || !l.value) return;
+ var u = s.getLabelJustification(e);
+ (t.textAlign = u), (t.textBaseline = 'bottom');
+ } else {
+ var h = e.element()._private.rscratch.badLine,
+ f = e.pstyle('label'),
+ d = e.pstyle('source-label'),
+ p = e.pstyle('target-label');
+ if (h || ((!f || !f.value) && (!d || !d.value) && (!p || !p.value))) return;
+ (t.textAlign = 'center'), (t.textBaseline = 'bottom');
+ }
+ var m = !r,
+ g;
+ r && ((g = r), t.translate(-g.x1, -g.y1)),
+ i == null
+ ? (s.drawText(t, e, null, m, a),
+ e.isEdge() && (s.drawText(t, e, 'source', m, a), s.drawText(t, e, 'target', m, a)))
+ : s.drawText(t, e, i, m, a),
+ r && t.translate(g.x1, g.y1);
+ };
+ K0.getFontCache = function (t) {
+ var e;
+ this.fontCaches = this.fontCaches || [];
+ for (var r = 0; r < this.fontCaches.length; r++)
+ if (((e = this.fontCaches[r]), e.context === t)) return e;
+ return (e = { context: t }), this.fontCaches.push(e), e;
+ };
+ K0.setupTextStyle = function (t, e) {
+ var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0,
+ n = e.pstyle('font-style').strValue,
+ i = e.pstyle('font-size').pfValue + 'px',
+ a = e.pstyle('font-family').strValue,
+ s = e.pstyle('font-weight').strValue,
+ l = r ? e.effectiveOpacity() * e.pstyle('text-opacity').value : 1,
+ u = e.pstyle('text-outline-opacity').value * l,
+ h = e.pstyle('color').value,
+ f = e.pstyle('text-outline-color').value;
+ (t.font = n + ' ' + s + ' ' + i + ' ' + a),
+ (t.lineJoin = 'round'),
+ this.colorFillStyle(t, h[0], h[1], h[2], l),
+ this.colorStrokeStyle(t, f[0], f[1], f[2], u);
+ };
+ o(RP, 'roundRect');
+ K0.getTextAngle = function (t, e) {
+ var r,
+ n = t._private,
+ i = n.rscratch,
+ a = e ? e + '-' : '',
+ s = t.pstyle(a + 'text-rotation'),
+ l = Ul(i, 'labelAngle', e);
+ return (
+ s.strValue === 'autorotate'
+ ? (r = t.isEdge() ? l : 0)
+ : s.strValue === 'none'
+ ? (r = 0)
+ : (r = s.pfValue),
+ r
+ );
+ };
+ K0.drawText = function (t, e, r) {
+ var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0,
+ i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0,
+ a = e._private,
+ s = a.rscratch,
+ l = i ? e.effectiveOpacity() : 1;
+ if (!(i && (l === 0 || e.pstyle('text-opacity').value === 0))) {
+ r === 'main' && (r = null);
+ var u = Ul(s, 'labelX', r),
+ h = Ul(s, 'labelY', r),
+ f,
+ d,
+ p = this.getLabelText(e, r);
+ if (p != null && p !== '' && !isNaN(u) && !isNaN(h)) {
+ this.setupTextStyle(t, e, i);
+ var m = r ? r + '-' : '',
+ g = Ul(s, 'labelWidth', r),
+ y = Ul(s, 'labelHeight', r),
+ v = e.pstyle(m + 'text-margin-x').pfValue,
+ x = e.pstyle(m + 'text-margin-y').pfValue,
+ b = e.isEdge(),
+ w = e.pstyle('text-halign').value,
+ S = e.pstyle('text-valign').value;
+ b && ((w = 'center'), (S = 'center')), (u += v), (h += x);
+ var T;
+ switch (
+ (n ? (T = this.getTextAngle(e, r)) : (T = 0),
+ T !== 0 && ((f = u), (d = h), t.translate(f, d), t.rotate(T), (u = 0), (h = 0)),
+ S)
+ ) {
+ case 'top':
+ break;
+ case 'center':
+ h += y / 2;
+ break;
+ case 'bottom':
+ h += y;
+ break;
+ }
+ var E = e.pstyle('text-background-opacity').value,
+ _ = e.pstyle('text-border-opacity').value,
+ A = e.pstyle('text-border-width').pfValue,
+ L = e.pstyle('text-background-padding').pfValue,
+ M = e.pstyle('text-background-shape').strValue,
+ N = M.indexOf('round') === 0,
+ k = 2;
+ if (E > 0 || (A > 0 && _ > 0)) {
+ var I = u - L;
+ switch (w) {
+ case 'left':
+ I -= g;
+ break;
+ case 'center':
+ I -= g / 2;
+ break;
+ }
+ var C = h - y - L,
+ O = g + 2 * L,
+ D = y + 2 * L;
+ if (E > 0) {
+ var P = t.fillStyle,
+ F = e.pstyle('text-background-color').value;
+ (t.fillStyle = 'rgba(' + F[0] + ',' + F[1] + ',' + F[2] + ',' + E * l + ')'),
+ N ? RP(t, I, C, O, D, k) : t.fillRect(I, C, O, D),
+ (t.fillStyle = P);
+ }
+ if (A > 0 && _ > 0) {
+ var B = t.strokeStyle,
+ $ = t.lineWidth,
+ z = e.pstyle('text-border-color').value,
+ Y = e.pstyle('text-border-style').value;
+ if (
+ ((t.strokeStyle = 'rgba(' + z[0] + ',' + z[1] + ',' + z[2] + ',' + _ * l + ')'),
+ (t.lineWidth = A),
+ t.setLineDash)
+ )
+ switch (Y) {
+ case 'dotted':
+ t.setLineDash([1, 1]);
+ break;
+ case 'dashed':
+ t.setLineDash([4, 2]);
+ break;
+ case 'double':
+ (t.lineWidth = A / 4), t.setLineDash([]);
+ break;
+ case 'solid':
+ t.setLineDash([]);
+ break;
+ }
+ if ((N ? RP(t, I, C, O, D, k, 'stroke') : t.strokeRect(I, C, O, D), Y === 'double')) {
+ var Q = A / 2;
+ N
+ ? RP(t, I + Q, C + Q, O - Q * 2, D - Q * 2, k, 'stroke')
+ : t.strokeRect(I + Q, C + Q, O - Q * 2, D - Q * 2);
+ }
+ t.setLineDash && t.setLineDash([]), (t.lineWidth = $), (t.strokeStyle = B);
+ }
+ }
+ var X = 2 * e.pstyle('text-outline-width').pfValue;
+ if ((X > 0 && (t.lineWidth = X), e.pstyle('text-wrap').value === 'wrap')) {
+ var ie = Ul(s, 'labelWrapCachedLines', r),
+ j = Ul(s, 'labelLineHeight', r),
+ J = g / 2,
+ Z = this.getLabelJustification(e);
+ switch (
+ (Z === 'auto' ||
+ (w === 'left'
+ ? Z === 'left'
+ ? (u += -g)
+ : Z === 'center' && (u += -J)
+ : w === 'center'
+ ? Z === 'left'
+ ? (u += -J)
+ : Z === 'right' && (u += J)
+ : w === 'right' && (Z === 'center' ? (u += J) : Z === 'right' && (u += g))),
+ S)
+ ) {
+ case 'top':
+ h -= (ie.length - 1) * j;
+ break;
+ case 'center':
+ case 'bottom':
+ h -= (ie.length - 1) * j;
+ break;
+ }
+ for (var H = 0; H < ie.length; H++)
+ X > 0 && t.strokeText(ie[H], u, h), t.fillText(ie[H], u, h), (h += j);
+ } else X > 0 && t.strokeText(p, u, h), t.fillText(p, u, h);
+ T !== 0 && (t.rotate(-T), t.translate(-f, -d));
+ }
+ }
+ };
+ v1 = {};
+ v1.drawNode = function (t, e, r) {
+ var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0,
+ i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0,
+ a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0,
+ s = this,
+ l,
+ u,
+ h = e._private,
+ f = h.rscratch,
+ d = e.position();
+ if (!(!ft(d.x) || !ft(d.y)) && !(a && !e.visible())) {
+ var p = a ? e.effectiveOpacity() : 1,
+ m = s.usePaths(),
+ g,
+ y = !1,
+ v = e.padding();
+ (l = e.width() + 2 * v), (u = e.height() + 2 * v);
+ var x;
+ r && ((x = r), t.translate(-x.x1, -x.y1));
+ for (
+ var b = e.pstyle('background-image'),
+ w = b.value,
+ S = new Array(w.length),
+ T = new Array(w.length),
+ E = 0,
+ _ = 0;
+ _ < w.length;
+ _++
+ ) {
+ var A = w[_],
+ L = (S[_] = A != null && A !== 'none');
+ if (L) {
+ var M = e.cy().style().getIndexedStyle(e, 'background-image-crossorigin', 'value', _);
+ E++,
+ (T[_] = s.getCachedImage(A, M, function () {
+ (h.backgroundTimestamp = Date.now()), e.emitAndNotify('background');
+ }));
+ }
+ }
+ var N = e.pstyle('background-blacken').value,
+ k = e.pstyle('border-width').pfValue,
+ I = e.pstyle('background-opacity').value * p,
+ C = e.pstyle('border-color').value,
+ O = e.pstyle('border-style').value,
+ D = e.pstyle('border-join').value,
+ P = e.pstyle('border-cap').value,
+ F = e.pstyle('border-position').value,
+ B = e.pstyle('border-dash-pattern').pfValue,
+ $ = e.pstyle('border-dash-offset').pfValue,
+ z = e.pstyle('border-opacity').value * p,
+ Y = e.pstyle('outline-width').pfValue,
+ Q = e.pstyle('outline-color').value,
+ X = e.pstyle('outline-style').value,
+ ie = e.pstyle('outline-opacity').value * p,
+ j = e.pstyle('outline-offset').value,
+ J = e.pstyle('corner-radius').value;
+ J !== 'auto' && (J = e.pstyle('corner-radius').pfValue);
+ var Z = o(function () {
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : I;
+ s.eleFillStyle(t, e, ne);
+ }, 'setupShapeColor'),
+ H = o(function () {
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : z;
+ s.colorStrokeStyle(t, C[0], C[1], C[2], ne);
+ }, 'setupBorderColor'),
+ q = o(function () {
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ie;
+ s.colorStrokeStyle(t, Q[0], Q[1], Q[2], ne);
+ }, 'setupOutlineColor'),
+ K = o(function (ne, ae, we, Te) {
+ var Ce = (s.nodePathCache = s.nodePathCache || []),
+ Ae = Ope(we === 'polygon' ? we + ',' + Te.join(',') : we, '' + ae, '' + ne, '' + J),
+ Ge = Ce[Ae],
+ Me,
+ ye = !1;
+ return (
+ Ge != null
+ ? ((Me = Ge), (ye = !0), (f.pathCache = Me))
+ : ((Me = new Path2D()), (Ce[Ae] = f.pathCache = Me)),
+ { path: Me, cacheHit: ye }
+ );
+ }, 'getPath'),
+ se = e.pstyle('shape').strValue,
+ ce = e.pstyle('shape-polygon-points').pfValue;
+ if (m) {
+ t.translate(d.x, d.y);
+ var ue = K(l, u, se, ce);
+ (g = ue.path), (y = ue.cacheHit);
+ }
+ var te = o(function () {
+ if (!y) {
+ var ne = d;
+ m && (ne = { x: 0, y: 0 }),
+ s.nodeShapes[s.getNodeShape(e)].draw(g || t, ne.x, ne.y, l, u, J, f);
+ }
+ m ? t.fill(g) : t.fill();
+ }, 'drawShape'),
+ De = o(function () {
+ for (
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : p,
+ ae = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
+ we = h.backgrounding,
+ Te = 0,
+ Ce = 0;
+ Ce < T.length;
+ Ce++
+ ) {
+ var Ae = e.cy().style().getIndexedStyle(e, 'background-image-containment', 'value', Ce);
+ if ((ae && Ae === 'over') || (!ae && Ae === 'inside')) {
+ Te++;
+ continue;
+ }
+ S[Ce] &&
+ T[Ce].complete &&
+ !T[Ce].error &&
+ (Te++, s.drawInscribedImage(t, T[Ce], e, Ce, ne));
+ }
+ (h.backgrounding = Te !== E), we !== h.backgrounding && e.updateStyle(!1);
+ }, 'drawImages'),
+ oe = o(function () {
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1,
+ ae = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : p;
+ s.hasPie(e) &&
+ (s.drawPie(t, e, ae),
+ ne && (m || s.nodeShapes[s.getNodeShape(e)].draw(t, d.x, d.y, l, u, J, f)));
+ }, 'drawPie'),
+ ke = o(function () {
+ var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : p,
+ ae = (N > 0 ? N : -N) * ne,
+ we = N > 0 ? 0 : 255;
+ N !== 0 && (s.colorFillStyle(t, we, we, we, ae), m ? t.fill(g) : t.fill());
+ }, 'darken'),
+ Ie = o(function () {
+ if (k > 0) {
+ if (((t.lineWidth = k), (t.lineCap = P), (t.lineJoin = D), t.setLineDash))
+ switch (O) {
+ case 'dotted':
+ t.setLineDash([1, 1]);
+ break;
+ case 'dashed':
+ t.setLineDash(B), (t.lineDashOffset = $);
+ break;
+ case 'solid':
+ case 'double':
+ t.setLineDash([]);
+ break;
+ }
+ if (F !== 'center') {
+ if ((t.save(), (t.lineWidth *= 2), F === 'inside')) m ? t.clip(g) : t.clip();
+ else {
+ var ne = new Path2D();
+ ne.rect(-l / 2 - k, -u / 2 - k, l + 2 * k, u + 2 * k),
+ ne.addPath(g),
+ t.clip(ne, 'evenodd');
+ }
+ m ? t.stroke(g) : t.stroke(), t.restore();
+ } else m ? t.stroke(g) : t.stroke();
+ if (O === 'double') {
+ t.lineWidth = k / 3;
+ var ae = t.globalCompositeOperation;
+ (t.globalCompositeOperation = 'destination-out'),
+ m ? t.stroke(g) : t.stroke(),
+ (t.globalCompositeOperation = ae);
+ }
+ t.setLineDash && t.setLineDash([]);
+ }
+ }, 'drawBorder'),
+ Se = o(function () {
+ if (Y > 0) {
+ if (((t.lineWidth = Y), (t.lineCap = 'butt'), t.setLineDash))
+ switch (X) {
+ case 'dotted':
+ t.setLineDash([1, 1]);
+ break;
+ case 'dashed':
+ t.setLineDash([4, 2]);
+ break;
+ case 'solid':
+ case 'double':
+ t.setLineDash([]);
+ break;
+ }
+ var ne = d;
+ m && (ne = { x: 0, y: 0 });
+ var ae = s.getNodeShape(e),
+ we = k;
+ F === 'inside' && (we = 0), F === 'outside' && (we *= 2);
+ var Te = (l + we + (Y + j)) / l,
+ Ce = (u + we + (Y + j)) / u,
+ Ae = l * Te,
+ Ge = u * Ce,
+ Me = s.nodeShapes[ae].points,
+ ye;
+ if (m) {
+ var He = K(Ae, Ge, ae, Me);
+ ye = He.path;
+ }
+ if (ae === 'ellipse') s.drawEllipsePath(ye || t, ne.x, ne.y, Ae, Ge);
+ else if (
+ [
+ 'round-diamond',
+ 'round-heptagon',
+ 'round-hexagon',
+ 'round-octagon',
+ 'round-pentagon',
+ 'round-polygon',
+ 'round-triangle',
+ 'round-tag'
+ ].includes(ae)
+ ) {
+ var ze = 0,
+ Ze = 0,
+ gt = 0;
+ ae === 'round-diamond'
+ ? (ze = (we + j + Y) * 1.4)
+ : ae === 'round-heptagon'
+ ? ((ze = (we + j + Y) * 1.075), (gt = -(we / 2 + j + Y) / 35))
+ : ae === 'round-hexagon'
+ ? (ze = (we + j + Y) * 1.12)
+ : ae === 'round-pentagon'
+ ? ((ze = (we + j + Y) * 1.13), (gt = -(we / 2 + j + Y) / 15))
+ : ae === 'round-tag'
+ ? ((ze = (we + j + Y) * 1.12), (Ze = (we / 2 + Y + j) * 0.07))
+ : ae === 'round-triangle' &&
+ ((ze = (we + j + Y) * (Math.PI / 2)), (gt = -(we + j / 2 + Y) / Math.PI)),
+ ze !== 0 &&
+ ((Te = (l + ze) / l),
+ (Ae = l * Te),
+ ['round-hexagon', 'round-tag'].includes(ae) ||
+ ((Ce = (u + ze) / u), (Ge = u * Ce))),
+ (J = J === 'auto' ? Wpe(Ae, Ge) : J);
+ for (
+ var yt = Ae / 2,
+ tt = Ge / 2,
+ Ye = J + (we + Y + j) / 2,
+ Je = new Array(Me.length / 2),
+ Ve = new Array(Me.length / 2),
+ je = 0;
+ je < Me.length / 2;
+ je++
+ )
+ Je[je] = {
+ x: ne.x + Ze + yt * Me[je * 2],
+ y: ne.y + gt + tt * Me[je * 2 + 1]
+ };
+ var kt,
+ at,
+ xt,
+ it,
+ dt = Je.length;
+ for (at = Je[dt - 1], kt = 0; kt < dt; kt++)
+ (xt = Je[kt % dt]),
+ (it = Je[(kt + 1) % dt]),
+ (Ve[kt] = mB(at, xt, it, Ye)),
+ (at = xt),
+ (xt = it);
+ s.drawRoundPolygonPath(ye || t, ne.x + Ze, ne.y + gt, l * Te, u * Ce, Me, Ve);
+ } else if (['roundrectangle', 'round-rectangle'].includes(ae))
+ (J = J === 'auto' ? Y0(Ae, Ge) : J),
+ s.drawRoundRectanglePath(ye || t, ne.x, ne.y, Ae, Ge, J + (we + Y + j) / 2);
+ else if (['cutrectangle', 'cut-rectangle'].includes(ae))
+ (J = J === 'auto' ? nB() : J),
+ s.drawCutRectanglePath(ye || t, ne.x, ne.y, Ae, Ge, null, J + (we + Y + j) / 4);
+ else if (['bottomroundrectangle', 'bottom-round-rectangle'].includes(ae))
+ (J = J === 'auto' ? Y0(Ae, Ge) : J),
+ s.drawBottomRoundRectanglePath(
+ ye || t,
+ ne.x,
+ ne.y,
+ Ae,
+ Ge,
+ J + (we + Y + j) / 2
+ );
+ else if (ae === 'barrel') s.drawBarrelPath(ye || t, ne.x, ne.y, Ae, Ge);
+ else if (
+ ae.startsWith('polygon') ||
+ ['rhomboid', 'right-rhomboid', 'round-tag', 'tag', 'vee'].includes(ae)
+ ) {
+ var lt = (we + Y + j) / l;
+ (Me = S6(A6(Me, lt))), s.drawPolygonPath(ye || t, ne.x, ne.y, l, u, Me);
+ } else {
+ var It = (we + Y + j) / l;
+ (Me = S6(A6(Me, -It))), s.drawPolygonPath(ye || t, ne.x, ne.y, l, u, Me);
+ }
+ if ((m ? t.stroke(ye) : t.stroke(), X === 'double')) {
+ t.lineWidth = we / 3;
+ var mt = t.globalCompositeOperation;
+ (t.globalCompositeOperation = 'destination-out'),
+ m ? t.stroke(ye) : t.stroke(),
+ (t.globalCompositeOperation = mt);
+ }
+ t.setLineDash && t.setLineDash([]);
+ }
+ }, 'drawOutline'),
+ Ue = o(function () {
+ i && s.drawNodeOverlay(t, e, d, l, u);
+ }, 'drawOverlay'),
+ Pe = o(function () {
+ i && s.drawNodeUnderlay(t, e, d, l, u);
+ }, 'drawUnderlay'),
+ _e = o(function () {
+ s.drawElementText(t, e, null, n);
+ }, 'drawText'),
+ me = e.pstyle('ghost').value === 'yes';
+ if (me) {
+ var W = e.pstyle('ghost-offset-x').pfValue,
+ fe = e.pstyle('ghost-offset-y').pfValue,
+ ge = e.pstyle('ghost-opacity').value,
+ re = ge * p;
+ t.translate(W, fe),
+ q(),
+ Se(),
+ Z(ge * I),
+ te(),
+ De(re, !0),
+ H(ge * z),
+ Ie(),
+ oe(N !== 0 || k !== 0),
+ De(re, !1),
+ ke(re),
+ t.translate(-W, -fe);
+ }
+ m && t.translate(-d.x, -d.y),
+ Pe(),
+ m && t.translate(d.x, d.y),
+ q(),
+ Se(),
+ Z(),
+ te(),
+ De(p, !0),
+ H(),
+ Ie(),
+ oe(N !== 0 || k !== 0),
+ De(p, !1),
+ ke(),
+ m && t.translate(-d.x, -d.y),
+ _e(),
+ Ue(),
+ r && t.translate(x.x1, x.y1);
+ }
+ };
+ jme = o(function (e) {
+ if (!['overlay', 'underlay'].includes(e)) throw new Error('Invalid state');
+ return function (r, n, i, a, s) {
+ var l = this;
+ if (n.visible()) {
+ var u = n.pstyle(''.concat(e, '-padding')).pfValue,
+ h = n.pstyle(''.concat(e, '-opacity')).value,
+ f = n.pstyle(''.concat(e, '-color')).value,
+ d = n.pstyle(''.concat(e, '-shape')).value,
+ p = n.pstyle(''.concat(e, '-corner-radius')).value;
+ if (h > 0) {
+ if (((i = i || n.position()), a == null || s == null)) {
+ var m = n.padding();
+ (a = n.width() + 2 * m), (s = n.height() + 2 * m);
+ }
+ l.colorFillStyle(r, f[0], f[1], f[2], h),
+ l.nodeShapes[d].draw(r, i.x, i.y, a + u * 2, s + u * 2, p),
+ r.fill();
+ }
+ }
+ };
+ }, 'drawNodeOverlayUnderlay');
+ v1.drawNodeOverlay = jme('overlay');
+ v1.drawNodeUnderlay = jme('underlay');
+ v1.hasPie = function (t) {
+ return (t = t[0]), t._private.hasPie;
+ };
+ v1.drawPie = function (t, e, r, n) {
+ (e = e[0]), (n = n || e.position());
+ var i = e.cy().style(),
+ a = e.pstyle('pie-size'),
+ s = n.x,
+ l = n.y,
+ u = e.width(),
+ h = e.height(),
+ f = Math.min(u, h) / 2,
+ d = 0,
+ p = this.usePaths();
+ p && ((s = 0), (l = 0)),
+ a.units === '%' ? (f = f * a.pfValue) : a.pfValue !== void 0 && (f = a.pfValue / 2);
+ for (var m = 1; m <= i.pieBackgroundN; m++) {
+ var g = e.pstyle('pie-' + m + '-background-size').value,
+ y = e.pstyle('pie-' + m + '-background-color').value,
+ v = e.pstyle('pie-' + m + '-background-opacity').value * r,
+ x = g / 100;
+ x + d > 1 && (x = 1 - d);
+ var b = 1.5 * Math.PI + 2 * Math.PI * d,
+ w = 2 * Math.PI * x,
+ S = b + w;
+ g === 0 ||
+ d >= 1 ||
+ d + x > 1 ||
+ (t.beginPath(),
+ t.moveTo(s, l),
+ t.arc(s, l, f, b, S),
+ t.closePath(),
+ this.colorFillStyle(t, y[0], y[1], y[2], v),
+ t.fill(),
+ (d += x));
+ }
+ };
+ (bo = {}), (QQe = 100);
+ bo.getPixelRatio = function () {
+ var t = this.data.contexts[0];
+ if (this.forcedPixelRatio != null) return this.forcedPixelRatio;
+ var e = this.cy.window(),
+ r =
+ t.backingStorePixelRatio ||
+ t.webkitBackingStorePixelRatio ||
+ t.mozBackingStorePixelRatio ||
+ t.msBackingStorePixelRatio ||
+ t.oBackingStorePixelRatio ||
+ t.backingStorePixelRatio ||
+ 1;
+ return (e.devicePixelRatio || 1) / r;
+ };
+ bo.paintCache = function (t) {
+ for (var e = (this.paintCaches = this.paintCaches || []), r = !0, n, i = 0; i < e.length; i++)
+ if (((n = e[i]), n.context === t)) {
+ r = !1;
+ break;
+ }
+ return r && ((n = { context: t }), e.push(n)), n;
+ };
+ bo.createGradientStyleFor = function (t, e, r, n, i) {
+ var a,
+ s = this.usePaths(),
+ l = r.pstyle(e + '-gradient-stop-colors').value,
+ u = r.pstyle(e + '-gradient-stop-positions').pfValue;
+ if (n === 'radial-gradient')
+ if (r.isEdge()) {
+ var h = r.sourceEndpoint(),
+ f = r.targetEndpoint(),
+ d = r.midpoint(),
+ p = H0(h, d),
+ m = H0(f, d);
+ a = t.createRadialGradient(d.x, d.y, 0, d.x, d.y, Math.max(p, m));
+ } else {
+ var g = s ? { x: 0, y: 0 } : r.position(),
+ y = r.paddedWidth(),
+ v = r.paddedHeight();
+ a = t.createRadialGradient(g.x, g.y, 0, g.x, g.y, Math.max(y, v));
+ }
+ else if (r.isEdge()) {
+ var x = r.sourceEndpoint(),
+ b = r.targetEndpoint();
+ a = t.createLinearGradient(x.x, x.y, b.x, b.y);
+ } else {
+ var w = s ? { x: 0, y: 0 } : r.position(),
+ S = r.paddedWidth(),
+ T = r.paddedHeight(),
+ E = S / 2,
+ _ = T / 2,
+ A = r.pstyle('background-gradient-direction').value;
+ switch (A) {
+ case 'to-bottom':
+ a = t.createLinearGradient(w.x, w.y - _, w.x, w.y + _);
+ break;
+ case 'to-top':
+ a = t.createLinearGradient(w.x, w.y + _, w.x, w.y - _);
+ break;
+ case 'to-left':
+ a = t.createLinearGradient(w.x + E, w.y, w.x - E, w.y);
+ break;
+ case 'to-right':
+ a = t.createLinearGradient(w.x - E, w.y, w.x + E, w.y);
+ break;
+ case 'to-bottom-right':
+ case 'to-right-bottom':
+ a = t.createLinearGradient(w.x - E, w.y - _, w.x + E, w.y + _);
+ break;
+ case 'to-top-right':
+ case 'to-right-top':
+ a = t.createLinearGradient(w.x - E, w.y + _, w.x + E, w.y - _);
+ break;
+ case 'to-bottom-left':
+ case 'to-left-bottom':
+ a = t.createLinearGradient(w.x + E, w.y - _, w.x - E, w.y + _);
+ break;
+ case 'to-top-left':
+ case 'to-left-top':
+ a = t.createLinearGradient(w.x + E, w.y + _, w.x - E, w.y - _);
+ break;
+ }
+ }
+ if (!a) return null;
+ for (var L = u.length === l.length, M = l.length, N = 0; N < M; N++)
+ a.addColorStop(
+ L ? u[N] : N / (M - 1),
+ 'rgba(' + l[N][0] + ',' + l[N][1] + ',' + l[N][2] + ',' + i + ')'
+ );
+ return a;
+ };
+ bo.gradientFillStyle = function (t, e, r, n) {
+ var i = this.createGradientStyleFor(t, 'background', e, r, n);
+ if (!i) return null;
+ t.fillStyle = i;
+ };
+ bo.colorFillStyle = function (t, e, r, n, i) {
+ t.fillStyle = 'rgba(' + e + ',' + r + ',' + n + ',' + i + ')';
+ };
+ bo.eleFillStyle = function (t, e, r) {
+ var n = e.pstyle('background-fill').value;
+ if (n === 'linear-gradient' || n === 'radial-gradient') this.gradientFillStyle(t, e, n, r);
+ else {
+ var i = e.pstyle('background-color').value;
+ this.colorFillStyle(t, i[0], i[1], i[2], r);
+ }
+ };
+ bo.gradientStrokeStyle = function (t, e, r, n) {
+ var i = this.createGradientStyleFor(t, 'line', e, r, n);
+ if (!i) return null;
+ t.strokeStyle = i;
+ };
+ bo.colorStrokeStyle = function (t, e, r, n, i) {
+ t.strokeStyle = 'rgba(' + e + ',' + r + ',' + n + ',' + i + ')';
+ };
+ bo.eleStrokeStyle = function (t, e, r) {
+ var n = e.pstyle('line-fill').value;
+ if (n === 'linear-gradient' || n === 'radial-gradient') this.gradientStrokeStyle(t, e, n, r);
+ else {
+ var i = e.pstyle('line-color').value;
+ this.colorStrokeStyle(t, i[0], i[1], i[2], r);
+ }
+ };
+ bo.matchCanvasSize = function (t) {
+ var e = this,
+ r = e.data,
+ n = e.findContainerClientCoords(),
+ i = n[2],
+ a = n[3],
+ s = e.getPixelRatio(),
+ l = e.motionBlurPxRatio;
+ (t === e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE] ||
+ t === e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG]) &&
+ (s = l);
+ var u = i * s,
+ h = a * s,
+ f;
+ if (!(u === e.canvasWidth && h === e.canvasHeight)) {
+ e.fontCaches = null;
+ var d = r.canvasContainer;
+ (d.style.width = i + 'px'), (d.style.height = a + 'px');
+ for (var p = 0; p < e.CANVAS_LAYERS; p++)
+ (f = r.canvases[p]),
+ (f.width = u),
+ (f.height = h),
+ (f.style.width = i + 'px'),
+ (f.style.height = a + 'px');
+ for (var p = 0; p < e.BUFFER_COUNT; p++)
+ (f = r.bufferCanvases[p]),
+ (f.width = u),
+ (f.height = h),
+ (f.style.width = i + 'px'),
+ (f.style.height = a + 'px');
+ (e.textureMult = 1),
+ s <= 1 &&
+ ((f = r.bufferCanvases[e.TEXTURE_BUFFER]),
+ (e.textureMult = 2),
+ (f.width = u * e.textureMult),
+ (f.height = h * e.textureMult)),
+ (e.canvasWidth = u),
+ (e.canvasHeight = h);
+ }
+ };
+ bo.renderTo = function (t, e, r, n) {
+ this.render({
+ forcedContext: t,
+ forcedZoom: e,
+ forcedPan: r,
+ drawAllLayers: !0,
+ forcedPxRatio: n
+ });
+ };
+ bo.render = function (t) {
+ t = t || zpe();
+ var e = t.forcedContext,
+ r = t.drawAllLayers,
+ n = t.drawOnlyNodeLayer,
+ i = t.forcedZoom,
+ a = t.forcedPan,
+ s = this,
+ l = t.forcedPxRatio === void 0 ? this.getPixelRatio() : t.forcedPxRatio,
+ u = s.cy,
+ h = s.data,
+ f = h.canvasNeedsRedraw,
+ d =
+ s.textureOnViewport &&
+ !e &&
+ (s.pinching || s.hoverData.dragging || s.swipePanning || s.data.wheelZooming),
+ p = t.motionBlur !== void 0 ? t.motionBlur : s.motionBlur,
+ m = s.motionBlurPxRatio,
+ g = u.hasCompoundNodes(),
+ y = s.hoverData.draggingEles,
+ v = !!(s.hoverData.selecting || s.touchData.selecting);
+ p = p && !e && s.motionBlurEnabled && !v;
+ var x = p;
+ e ||
+ (s.prevPxRatio !== l &&
+ (s.invalidateContainerClientCoordsCache(),
+ s.matchCanvasSize(s.container),
+ s.redrawHint('eles', !0),
+ s.redrawHint('drag', !0)),
+ (s.prevPxRatio = l)),
+ !e && s.motionBlurTimeout && clearTimeout(s.motionBlurTimeout),
+ p &&
+ (s.mbFrames == null && (s.mbFrames = 0),
+ s.mbFrames++,
+ s.mbFrames < 3 && (x = !1),
+ s.mbFrames > s.minMbLowQualFrames && (s.motionBlurPxRatio = s.mbPxRBlurry)),
+ s.clearingMotionBlur && (s.motionBlurPxRatio = 1),
+ s.textureDrawLastFrame && !d && ((f[s.NODE] = !0), (f[s.SELECT_BOX] = !0));
+ var b = u.style(),
+ w = u.zoom(),
+ S = i !== void 0 ? i : w,
+ T = u.pan(),
+ E = { x: T.x, y: T.y },
+ _ = { zoom: w, pan: { x: T.x, y: T.y } },
+ A = s.prevViewport,
+ L = A === void 0 || _.zoom !== A.zoom || _.pan.x !== A.pan.x || _.pan.y !== A.pan.y;
+ !L && !(y && !g) && (s.motionBlurPxRatio = 1), a && (E = a), (S *= l), (E.x *= l), (E.y *= l);
+ var M = s.getCachedZSortedEles();
+ function N(ue, te, De, oe, ke) {
+ var Ie = ue.globalCompositeOperation;
+ (ue.globalCompositeOperation = 'destination-out'),
+ s.colorFillStyle(ue, 255, 255, 255, s.motionBlurTransparency),
+ ue.fillRect(te, De, oe, ke),
+ (ue.globalCompositeOperation = Ie);
+ }
+ o(N, 'mbclear');
+ function k(ue, te) {
+ var De, oe, ke, Ie;
+ !s.clearingMotionBlur &&
+ (ue === h.bufferContexts[s.MOTIONBLUR_BUFFER_NODE] ||
+ ue === h.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])
+ ? ((De = { x: T.x * m, y: T.y * m }),
+ (oe = w * m),
+ (ke = s.canvasWidth * m),
+ (Ie = s.canvasHeight * m))
+ : ((De = E), (oe = S), (ke = s.canvasWidth), (Ie = s.canvasHeight)),
+ ue.setTransform(1, 0, 0, 1, 0, 0),
+ te === 'motionBlur'
+ ? N(ue, 0, 0, ke, Ie)
+ : !e && (te === void 0 || te) && ue.clearRect(0, 0, ke, Ie),
+ r || (ue.translate(De.x, De.y), ue.scale(oe, oe)),
+ a && ue.translate(a.x, a.y),
+ i && ue.scale(i, i);
+ }
+ if ((o(k, 'setContextTransform'), d || (s.textureDrawLastFrame = !1), d)) {
+ if (((s.textureDrawLastFrame = !0), !s.textureCache)) {
+ (s.textureCache = {}),
+ (s.textureCache.bb = u.mutableElements().boundingBox()),
+ (s.textureCache.texture = s.data.bufferCanvases[s.TEXTURE_BUFFER]);
+ var I = s.data.bufferContexts[s.TEXTURE_BUFFER];
+ I.setTransform(1, 0, 0, 1, 0, 0),
+ I.clearRect(0, 0, s.canvasWidth * s.textureMult, s.canvasHeight * s.textureMult),
+ s.render({
+ forcedContext: I,
+ drawOnlyNodeLayer: !0,
+ forcedPxRatio: l * s.textureMult
+ });
+ var _ = (s.textureCache.viewport = {
+ zoom: u.zoom(),
+ pan: u.pan(),
+ width: s.canvasWidth,
+ height: s.canvasHeight
+ });
+ _.mpan = { x: (0 - _.pan.x) / _.zoom, y: (0 - _.pan.y) / _.zoom };
+ }
+ (f[s.DRAG] = !1), (f[s.NODE] = !1);
+ var C = h.contexts[s.NODE],
+ O = s.textureCache.texture,
+ _ = s.textureCache.viewport;
+ C.setTransform(1, 0, 0, 1, 0, 0),
+ p ? N(C, 0, 0, _.width, _.height) : C.clearRect(0, 0, _.width, _.height);
+ var D = b.core('outside-texture-bg-color').value,
+ P = b.core('outside-texture-bg-opacity').value;
+ s.colorFillStyle(C, D[0], D[1], D[2], P), C.fillRect(0, 0, _.width, _.height);
+ var w = u.zoom();
+ k(C, !1),
+ C.clearRect(_.mpan.x, _.mpan.y, _.width / _.zoom / l, _.height / _.zoom / l),
+ C.drawImage(O, _.mpan.x, _.mpan.y, _.width / _.zoom / l, _.height / _.zoom / l);
+ } else s.textureOnViewport && !e && (s.textureCache = null);
+ var F = u.extent(),
+ B =
+ s.pinching ||
+ s.hoverData.dragging ||
+ s.swipePanning ||
+ s.data.wheelZooming ||
+ s.hoverData.draggingEles ||
+ s.cy.animated(),
+ $ = s.hideEdgesOnViewport && B,
+ z = [];
+ if (
+ ((z[s.NODE] = (!f[s.NODE] && p && !s.clearedForMotionBlur[s.NODE]) || s.clearingMotionBlur),
+ z[s.NODE] && (s.clearedForMotionBlur[s.NODE] = !0),
+ (z[s.DRAG] = (!f[s.DRAG] && p && !s.clearedForMotionBlur[s.DRAG]) || s.clearingMotionBlur),
+ z[s.DRAG] && (s.clearedForMotionBlur[s.DRAG] = !0),
+ f[s.NODE] || r || n || z[s.NODE])
+ ) {
+ var Y = p && !z[s.NODE] && m !== 1,
+ C = e || (Y ? s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE] : h.contexts[s.NODE]),
+ Q = p && !Y ? 'motionBlur' : void 0;
+ k(C, Q),
+ $ ? s.drawCachedNodes(C, M.nondrag, l, F) : s.drawLayeredElements(C, M.nondrag, l, F),
+ s.debug && s.drawDebugPoints(C, M.nondrag),
+ !r && !p && (f[s.NODE] = !1);
+ }
+ if (!n && (f[s.DRAG] || r || z[s.DRAG])) {
+ var Y = p && !z[s.DRAG] && m !== 1,
+ C = e || (Y ? s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG] : h.contexts[s.DRAG]);
+ k(C, p && !Y ? 'motionBlur' : void 0),
+ $ ? s.drawCachedNodes(C, M.drag, l, F) : s.drawCachedElements(C, M.drag, l, F),
+ s.debug && s.drawDebugPoints(C, M.drag),
+ !r && !p && (f[s.DRAG] = !1);
+ }
+ if (s.showFps || (!n && f[s.SELECT_BOX] && !r)) {
+ var C = e || h.contexts[s.SELECT_BOX];
+ if ((k(C), s.selection[4] == 1 && (s.hoverData.selecting || s.touchData.selecting))) {
+ var w = s.cy.zoom(),
+ X = b.core('selection-box-border-width').value / w;
+ (C.lineWidth = X),
+ (C.fillStyle =
+ 'rgba(' +
+ b.core('selection-box-color').value[0] +
+ ',' +
+ b.core('selection-box-color').value[1] +
+ ',' +
+ b.core('selection-box-color').value[2] +
+ ',' +
+ b.core('selection-box-opacity').value +
+ ')'),
+ C.fillRect(
+ s.selection[0],
+ s.selection[1],
+ s.selection[2] - s.selection[0],
+ s.selection[3] - s.selection[1]
+ ),
+ X > 0 &&
+ ((C.strokeStyle =
+ 'rgba(' +
+ b.core('selection-box-border-color').value[0] +
+ ',' +
+ b.core('selection-box-border-color').value[1] +
+ ',' +
+ b.core('selection-box-border-color').value[2] +
+ ',' +
+ b.core('selection-box-opacity').value +
+ ')'),
+ C.strokeRect(
+ s.selection[0],
+ s.selection[1],
+ s.selection[2] - s.selection[0],
+ s.selection[3] - s.selection[1]
+ ));
+ }
+ if (h.bgActivePosistion && !s.hoverData.selecting) {
+ var w = s.cy.zoom(),
+ ie = h.bgActivePosistion;
+ (C.fillStyle =
+ 'rgba(' +
+ b.core('active-bg-color').value[0] +
+ ',' +
+ b.core('active-bg-color').value[1] +
+ ',' +
+ b.core('active-bg-color').value[2] +
+ ',' +
+ b.core('active-bg-opacity').value +
+ ')'),
+ C.beginPath(),
+ C.arc(ie.x, ie.y, b.core('active-bg-size').pfValue / w, 0, 2 * Math.PI),
+ C.fill();
+ }
+ var j = s.lastRedrawTime;
+ if (s.showFps && j) {
+ j = Math.round(j);
+ var J = Math.round(1e3 / j);
+ C.setTransform(1, 0, 0, 1, 0, 0),
+ (C.fillStyle = 'rgba(255, 0, 0, 0.75)'),
+ (C.strokeStyle = 'rgba(255, 0, 0, 0.75)'),
+ (C.lineWidth = 1),
+ C.fillText('1 frame = ' + j + ' ms = ' + J + ' fps', 0, 20);
+ var Z = 60;
+ C.strokeRect(0, 30, 250, 20), C.fillRect(0, 30, 250 * Math.min(J / Z, 1), 20);
+ }
+ r || (f[s.SELECT_BOX] = !1);
+ }
+ if (p && m !== 1) {
+ var H = h.contexts[s.NODE],
+ q = s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],
+ K = h.contexts[s.DRAG],
+ se = s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],
+ ce = o(function (te, De, oe) {
+ te.setTransform(1, 0, 0, 1, 0, 0),
+ oe || !x
+ ? te.clearRect(0, 0, s.canvasWidth, s.canvasHeight)
+ : N(te, 0, 0, s.canvasWidth, s.canvasHeight);
+ var ke = m;
+ te.drawImage(
+ De,
+ 0,
+ 0,
+ s.canvasWidth * ke,
+ s.canvasHeight * ke,
+ 0,
+ 0,
+ s.canvasWidth,
+ s.canvasHeight
+ );
+ }, 'drawMotionBlur');
+ (f[s.NODE] || z[s.NODE]) && (ce(H, q, z[s.NODE]), (f[s.NODE] = !1)),
+ (f[s.DRAG] || z[s.DRAG]) && (ce(K, se, z[s.DRAG]), (f[s.DRAG] = !1));
+ }
+ (s.prevViewport = _),
+ s.clearingMotionBlur &&
+ ((s.clearingMotionBlur = !1), (s.motionBlurCleared = !0), (s.motionBlur = !0)),
+ p &&
+ (s.motionBlurTimeout = setTimeout(function () {
+ (s.motionBlurTimeout = null),
+ (s.clearedForMotionBlur[s.NODE] = !1),
+ (s.clearedForMotionBlur[s.DRAG] = !1),
+ (s.motionBlur = !1),
+ (s.clearingMotionBlur = !d),
+ (s.mbFrames = 0),
+ (f[s.NODE] = !0),
+ (f[s.DRAG] = !0),
+ s.redraw();
+ }, QQe)),
+ e || u.emit('render');
+ };
+ Nf = {};
+ Nf.drawPolygonPath = function (t, e, r, n, i, a) {
+ var s = n / 2,
+ l = i / 2;
+ t.beginPath && t.beginPath(), t.moveTo(e + s * a[0], r + l * a[1]);
+ for (var u = 1; u < a.length / 2; u++) t.lineTo(e + s * a[u * 2], r + l * a[u * 2 + 1]);
+ t.closePath();
+ };
+ Nf.drawRoundPolygonPath = function (t, e, r, n, i, a, s) {
+ s.forEach(function (l) {
+ return Bme(t, l);
+ }),
+ t.closePath();
+ };
+ Nf.drawRoundRectanglePath = function (t, e, r, n, i, a) {
+ var s = n / 2,
+ l = i / 2,
+ u = a === 'auto' ? Y0(n, i) : Math.min(a, l, s);
+ t.beginPath && t.beginPath(),
+ t.moveTo(e, r - l),
+ t.arcTo(e + s, r - l, e + s, r, u),
+ t.arcTo(e + s, r + l, e, r + l, u),
+ t.arcTo(e - s, r + l, e - s, r, u),
+ t.arcTo(e - s, r - l, e, r - l, u),
+ t.lineTo(e, r - l),
+ t.closePath();
+ };
+ Nf.drawBottomRoundRectanglePath = function (t, e, r, n, i, a) {
+ var s = n / 2,
+ l = i / 2,
+ u = a === 'auto' ? Y0(n, i) : a;
+ t.beginPath && t.beginPath(),
+ t.moveTo(e, r - l),
+ t.lineTo(e + s, r - l),
+ t.lineTo(e + s, r),
+ t.arcTo(e + s, r + l, e, r + l, u),
+ t.arcTo(e - s, r + l, e - s, r, u),
+ t.lineTo(e - s, r - l),
+ t.lineTo(e, r - l),
+ t.closePath();
+ };
+ Nf.drawCutRectanglePath = function (t, e, r, n, i, a, s) {
+ var l = n / 2,
+ u = i / 2,
+ h = s === 'auto' ? nB() : s;
+ t.beginPath && t.beginPath(),
+ t.moveTo(e - l + h, r - u),
+ t.lineTo(e + l - h, r - u),
+ t.lineTo(e + l, r - u + h),
+ t.lineTo(e + l, r + u - h),
+ t.lineTo(e + l - h, r + u),
+ t.lineTo(e - l + h, r + u),
+ t.lineTo(e - l, r + u - h),
+ t.lineTo(e - l, r - u + h),
+ t.closePath();
+ };
+ Nf.drawBarrelPath = function (t, e, r, n, i) {
+ var a = n / 2,
+ s = i / 2,
+ l = e - a,
+ u = e + a,
+ h = r - s,
+ f = r + s,
+ d = MP(n, i),
+ p = d.widthOffset,
+ m = d.heightOffset,
+ g = d.ctrlPtOffsetPct * p;
+ t.beginPath && t.beginPath(),
+ t.moveTo(l, h + m),
+ t.lineTo(l, f - m),
+ t.quadraticCurveTo(l + g, f, l + p, f),
+ t.lineTo(u - p, f),
+ t.quadraticCurveTo(u - g, f, u, f - m),
+ t.lineTo(u, h + m),
+ t.quadraticCurveTo(u - g, h, u - p, h),
+ t.lineTo(l + p, h),
+ t.quadraticCurveTo(l + g, h, l, h + m),
+ t.closePath();
+ };
+ (ype = Math.sin(0)), (vpe = Math.cos(0)), (YP = {}), (WP = {}), (Kme = Math.PI / 40);
+ for (P0 = 0 * Math.PI; P0 < 2 * Math.PI; P0 += Kme) (YP[P0] = Math.sin(P0)), (WP[P0] = Math.cos(P0));
+ Nf.drawEllipsePath = function (t, e, r, n, i) {
+ if ((t.beginPath && t.beginPath(), t.ellipse)) t.ellipse(e, r, n / 2, i / 2, 0, 0, 2 * Math.PI);
+ else
+ for (var a, s, l = n / 2, u = i / 2, h = 0 * Math.PI; h < 2 * Math.PI; h += Kme)
+ (a = e - l * YP[h] * ype + l * WP[h] * vpe),
+ (s = r + u * WP[h] * ype + u * YP[h] * vpe),
+ h === 0 ? t.moveTo(a, s) : t.lineTo(a, s);
+ t.closePath();
+ };
+ ab = {};
+ ab.createBuffer = function (t, e) {
+ var r = document.createElement('canvas');
+ return (r.width = t), (r.height = e), [r, r.getContext('2d')];
+ };
+ ab.bufferCanvasImage = function (t) {
+ var e = this.cy,
+ r = e.mutableElements(),
+ n = r.boundingBox(),
+ i = this.findContainerClientCoords(),
+ a = t.full ? Math.ceil(n.w) : i[2],
+ s = t.full ? Math.ceil(n.h) : i[3],
+ l = ft(t.maxWidth) || ft(t.maxHeight),
+ u = this.getPixelRatio(),
+ h = 1;
+ if (t.scale !== void 0) (a *= t.scale), (s *= t.scale), (h = t.scale);
+ else if (l) {
+ var f = 1 / 0,
+ d = 1 / 0;
+ ft(t.maxWidth) && (f = (h * t.maxWidth) / a),
+ ft(t.maxHeight) && (d = (h * t.maxHeight) / s),
+ (h = Math.min(f, d)),
+ (a *= h),
+ (s *= h);
+ }
+ l || ((a *= u), (s *= u), (h *= u));
+ var p = document.createElement('canvas');
+ (p.width = a), (p.height = s), (p.style.width = a + 'px'), (p.style.height = s + 'px');
+ var m = p.getContext('2d');
+ if (a > 0 && s > 0) {
+ m.clearRect(0, 0, a, s), (m.globalCompositeOperation = 'source-over');
+ var g = this.getCachedZSortedEles();
+ if (t.full)
+ m.translate(-n.x1 * h, -n.y1 * h),
+ m.scale(h, h),
+ this.drawElements(m, g),
+ m.scale(1 / h, 1 / h),
+ m.translate(n.x1 * h, n.y1 * h);
+ else {
+ var y = e.pan(),
+ v = { x: y.x * h, y: y.y * h };
+ (h *= e.zoom()),
+ m.translate(v.x, v.y),
+ m.scale(h, h),
+ this.drawElements(m, g),
+ m.scale(1 / h, 1 / h),
+ m.translate(-v.x, -v.y);
+ }
+ t.bg &&
+ ((m.globalCompositeOperation = 'destination-over'),
+ (m.fillStyle = t.bg),
+ m.rect(0, 0, a, s),
+ m.fill());
+ }
+ return p;
+ };
+ o(ZQe, 'b64ToBlob');
+ o(xpe, 'b64UriToB64');
+ o(Qme, 'output');
+ ab.png = function (t) {
+ return Qme(t, this.bufferCanvasImage(t), 'image/png');
+ };
+ ab.jpg = function (t) {
+ return Qme(t, this.bufferCanvasImage(t), 'image/jpeg');
+ };
+ Zme = {};
+ Zme.nodeShapeImpl = function (t, e, r, n, i, a, s, l) {
+ switch (t) {
+ case 'ellipse':
+ return this.drawEllipsePath(e, r, n, i, a);
+ case 'polygon':
+ return this.drawPolygonPath(e, r, n, i, a, s);
+ case 'round-polygon':
+ return this.drawRoundPolygonPath(e, r, n, i, a, s, l);
+ case 'roundrectangle':
+ case 'round-rectangle':
+ return this.drawRoundRectanglePath(e, r, n, i, a, l);
+ case 'cutrectangle':
+ case 'cut-rectangle':
+ return this.drawCutRectanglePath(e, r, n, i, a, s, l);
+ case 'bottomroundrectangle':
+ case 'bottom-round-rectangle':
+ return this.drawBottomRoundRectanglePath(e, r, n, i, a, l);
+ case 'barrel':
+ return this.drawBarrelPath(e, r, n, i, a);
+ }
+ };
+ (JQe = Jme), (Yr = Jme.prototype);
+ Yr.CANVAS_LAYERS = 3;
+ Yr.SELECT_BOX = 0;
+ Yr.DRAG = 1;
+ Yr.NODE = 2;
+ Yr.BUFFER_COUNT = 3;
+ Yr.TEXTURE_BUFFER = 0;
+ Yr.MOTIONBLUR_BUFFER_NODE = 1;
+ Yr.MOTIONBLUR_BUFFER_DRAG = 2;
+ o(Jme, 'CanvasRenderer');
+ Yr.redrawHint = function (t, e) {
+ var r = this;
+ switch (t) {
+ case 'eles':
+ r.data.canvasNeedsRedraw[Yr.NODE] = e;
+ break;
+ case 'drag':
+ r.data.canvasNeedsRedraw[Yr.DRAG] = e;
+ break;
+ case 'select':
+ r.data.canvasNeedsRedraw[Yr.SELECT_BOX] = e;
+ break;
+ }
+ };
+ eZe = typeof Path2D < 'u';
+ Yr.path2dEnabled = function (t) {
+ if (t === void 0) return this.pathsEnabled;
+ this.pathsEnabled = !!t;
+ };
+ Yr.usePaths = function () {
+ return eZe && this.pathsEnabled;
+ };
+ Yr.setImgSmoothing = function (t, e) {
+ t.imageSmoothingEnabled != null
+ ? (t.imageSmoothingEnabled = e)
+ : ((t.webkitImageSmoothingEnabled = e),
+ (t.mozImageSmoothingEnabled = e),
+ (t.msImageSmoothingEnabled = e));
+ };
+ Yr.getImgSmoothing = function (t) {
+ return t.imageSmoothingEnabled != null
+ ? t.imageSmoothingEnabled
+ : t.webkitImageSmoothingEnabled || t.mozImageSmoothingEnabled || t.msImageSmoothingEnabled;
+ };
+ Yr.makeOffscreenCanvas = function (t, e) {
+ var r;
+ if ((typeof OffscreenCanvas > 'u' ? 'undefined' : Hi(OffscreenCanvas)) !== 'undefined')
+ r = new OffscreenCanvas(t, e);
+ else {
+ var n = this.cy.window(),
+ i = n.document;
+ (r = i.createElement('canvas')), (r.width = t), (r.height = e);
+ }
+ return r;
+ };
+ [qme, Yc, eh, yB, K0, v1, bo, Nf, ab, Zme].forEach(function (t) {
+ Wt(Yr, t);
+ });
+ (tZe = [
+ { name: 'null', impl: Ime },
+ { name: 'base', impl: Hme },
+ { name: 'canvas', impl: JQe }
+ ]),
+ (rZe = [
+ { type: 'layout', extensions: lQe },
+ { type: 'renderer', extensions: tZe }
+ ]),
+ (ege = {}),
+ (tge = {});
+ o(rge, 'setExtension');
+ o(nge, 'getExtension');
+ o(nZe, 'setModule');
+ o(iZe, 'getModule');
+ qP = o(function () {
+ if (arguments.length === 2) return nge.apply(null, arguments);
+ if (arguments.length === 3) return rge.apply(null, arguments);
+ if (arguments.length === 4) return iZe.apply(null, arguments);
+ if (arguments.length === 5) return nZe.apply(null, arguments);
+ oi('Invalid extension access syntax');
+ }, 'extension');
+ Kx.prototype.extension = qP;
+ rZe.forEach(function (t) {
+ t.extensions.forEach(function (e) {
+ rge(t.type, e.name, e.impl);
+ });
+ });
+ (ige = o(function t() {
+ if (!(this instanceof t)) return new t();
+ this.length = 0;
+ }, 'Stylesheet')),
+ (X0 = ige.prototype);
+ X0.instanceString = function () {
+ return 'stylesheet';
+ };
+ X0.selector = function (t) {
+ var e = this.length++;
+ return (this[e] = { selector: t, properties: [] }), this;
+ };
+ X0.css = function (t, e) {
+ var r = this.length - 1;
+ if (zt(t)) this[r].properties.push({ name: t, value: e });
+ else if (Mr(t))
+ for (var n = t, i = Object.keys(n), a = 0; a < i.length; a++) {
+ var s = i[a],
+ l = n[s];
+ if (l != null) {
+ var u = Ba.properties[s] || Ba.properties[I6(s)];
+ if (u != null) {
+ var h = u.name,
+ f = l;
+ this[r].properties.push({ name: h, value: f });
+ }
+ }
+ }
+ return this;
+ };
+ X0.style = X0.css;
+ X0.generateStyle = function (t) {
+ var e = new Ba(t);
+ return this.appendToStyle(e);
+ };
+ X0.appendToStyle = function (t) {
+ for (var e = 0; e < this.length; e++) {
+ var r = this[e],
+ n = r.selector,
+ i = r.properties;
+ t.selector(n);
+ for (var a = 0; a < i.length; a++) {
+ var s = i[a];
+ t.css(s.name, s.value);
+ }
+ }
+ return t;
+ };
+ (aZe = '3.30.1'),
+ (rl = o(function (e) {
+ if ((e === void 0 && (e = {}), Mr(e))) return new Kx(e);
+ if (zt(e)) return qP.apply(qP, arguments);
+ }, 'cytoscape'));
+ rl.use = function (t) {
+ var e = Array.prototype.slice.call(arguments, 1);
+ return e.unshift(rl), t.apply(null, e), this;
+ };
+ rl.warnings = function (t) {
+ return Bpe(t);
+ };
+ rl.version = aZe;
+ rl.stylesheet = rl.Stylesheet = ige;
+ });
+ var bB = gi((sb, xB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof sb == 'object' && typeof xB == 'object'
+ ? (xB.exports = r())
+ : typeof define == 'function' && define.amd
+ ? define([], r)
+ : typeof sb == 'object'
+ ? (sb.layoutBase = r())
+ : (e.layoutBase = r());
+ }, 'webpackUniversalModuleDefinition')(sb, function () {
+ return (function (t) {
+ var e = {};
+ function r(n) {
+ if (e[n]) return e[n].exports;
+ var i = (e[n] = { i: n, l: !1, exports: {} });
+ return t[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports;
+ }
+ return (
+ o(r, '__webpack_require__'),
+ (r.m = t),
+ (r.c = e),
+ (r.i = function (n) {
+ return n;
+ }),
+ (r.d = function (n, i, a) {
+ r.o(n, i) ||
+ Object.defineProperty(n, i, {
+ configurable: !1,
+ enumerable: !0,
+ get: a
+ });
+ }),
+ (r.n = function (n) {
+ var i =
+ n && n.__esModule
+ ? o(function () {
+ return n.default;
+ }, 'getDefault')
+ : o(function () {
+ return n;
+ }, 'getModuleExports');
+ return r.d(i, 'a', i), i;
+ }),
+ (r.o = function (n, i) {
+ return Object.prototype.hasOwnProperty.call(n, i);
+ }),
+ (r.p = ''),
+ r((r.s = 26))
+ );
+ })([
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'LayoutConstants'),
+ (n.QUALITY = 1),
+ (n.DEFAULT_CREATE_BENDS_AS_NEEDED = !1),
+ (n.DEFAULT_INCREMENTAL = !1),
+ (n.DEFAULT_ANIMATION_ON_LAYOUT = !0),
+ (n.DEFAULT_ANIMATION_DURING_LAYOUT = !1),
+ (n.DEFAULT_ANIMATION_PERIOD = 50),
+ (n.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1),
+ (n.DEFAULT_GRAPH_MARGIN = 15),
+ (n.NODE_DIMENSIONS_INCLUDE_LABELS = !1),
+ (n.SIMPLE_NODE_SIZE = 40),
+ (n.SIMPLE_NODE_HALF_SIZE = n.SIMPLE_NODE_SIZE / 2),
+ (n.EMPTY_COMPOUND_NODE_SIZE = 40),
+ (n.MIN_EDGE_LENGTH = 1),
+ (n.WORLD_BOUNDARY = 1e6),
+ (n.INITIAL_WORLD_BOUNDARY = n.WORLD_BOUNDARY / 1e3),
+ (n.WORLD_CENTER_X = 1200),
+ (n.WORLD_CENTER_Y = 900),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(8),
+ a = r(9);
+ function s(u, h, f) {
+ n.call(this, f),
+ (this.isOverlapingSourceAndTarget = !1),
+ (this.vGraphObject = f),
+ (this.bendpoints = []),
+ (this.source = u),
+ (this.target = h);
+ }
+ o(s, 'LEdge'), (s.prototype = Object.create(n.prototype));
+ for (var l in n) s[l] = n[l];
+ (s.prototype.getSource = function () {
+ return this.source;
+ }),
+ (s.prototype.getTarget = function () {
+ return this.target;
+ }),
+ (s.prototype.isInterGraph = function () {
+ return this.isInterGraph;
+ }),
+ (s.prototype.getLength = function () {
+ return this.length;
+ }),
+ (s.prototype.isOverlapingSourceAndTarget = function () {
+ return this.isOverlapingSourceAndTarget;
+ }),
+ (s.prototype.getBendpoints = function () {
+ return this.bendpoints;
+ }),
+ (s.prototype.getLca = function () {
+ return this.lca;
+ }),
+ (s.prototype.getSourceInLca = function () {
+ return this.sourceInLca;
+ }),
+ (s.prototype.getTargetInLca = function () {
+ return this.targetInLca;
+ }),
+ (s.prototype.getOtherEnd = function (u) {
+ if (this.source === u) return this.target;
+ if (this.target === u) return this.source;
+ throw 'Node is not incident with this edge';
+ }),
+ (s.prototype.getOtherEndInGraph = function (u, h) {
+ for (var f = this.getOtherEnd(u), d = h.getGraphManager().getRoot(); ; ) {
+ if (f.getOwner() == h) return f;
+ if (f.getOwner() == d) break;
+ f = f.getOwner().getParent();
+ }
+ return null;
+ }),
+ (s.prototype.updateLength = function () {
+ var u = new Array(4);
+ (this.isOverlapingSourceAndTarget = i.getIntersection(
+ this.target.getRect(),
+ this.source.getRect(),
+ u
+ )),
+ this.isOverlapingSourceAndTarget ||
+ ((this.lengthX = u[0] - u[2]),
+ (this.lengthY = u[1] - u[3]),
+ Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)),
+ Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)),
+ (this.length = Math.sqrt(
+ this.lengthX * this.lengthX + this.lengthY * this.lengthY
+ )));
+ }),
+ (s.prototype.updateLengthSimple = function () {
+ (this.lengthX = this.target.getCenterX() - this.source.getCenterX()),
+ (this.lengthY = this.target.getCenterY() - this.source.getCenterY()),
+ Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)),
+ Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)),
+ (this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY));
+ }),
+ (t.exports = s);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i) {
+ this.vGraphObject = i;
+ }
+ o(n, 'LGraphObject'), (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(10),
+ a = r(13),
+ s = r(0),
+ l = r(16),
+ u = r(4);
+ function h(d, p, m, g) {
+ m == null && g == null && (g = p),
+ n.call(this, g),
+ d.graphManager != null && (d = d.graphManager),
+ (this.estimatedSize = i.MIN_VALUE),
+ (this.inclusionTreeDepth = i.MAX_VALUE),
+ (this.vGraphObject = g),
+ (this.edges = []),
+ (this.graphManager = d),
+ m != null && p != null
+ ? (this.rect = new a(p.x, p.y, m.width, m.height))
+ : (this.rect = new a());
+ }
+ o(h, 'LNode'), (h.prototype = Object.create(n.prototype));
+ for (var f in n) h[f] = n[f];
+ (h.prototype.getEdges = function () {
+ return this.edges;
+ }),
+ (h.prototype.getChild = function () {
+ return this.child;
+ }),
+ (h.prototype.getOwner = function () {
+ return this.owner;
+ }),
+ (h.prototype.getWidth = function () {
+ return this.rect.width;
+ }),
+ (h.prototype.setWidth = function (d) {
+ this.rect.width = d;
+ }),
+ (h.prototype.getHeight = function () {
+ return this.rect.height;
+ }),
+ (h.prototype.setHeight = function (d) {
+ this.rect.height = d;
+ }),
+ (h.prototype.getCenterX = function () {
+ return this.rect.x + this.rect.width / 2;
+ }),
+ (h.prototype.getCenterY = function () {
+ return this.rect.y + this.rect.height / 2;
+ }),
+ (h.prototype.getCenter = function () {
+ return new u(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2);
+ }),
+ (h.prototype.getLocation = function () {
+ return new u(this.rect.x, this.rect.y);
+ }),
+ (h.prototype.getRect = function () {
+ return this.rect;
+ }),
+ (h.prototype.getDiagonal = function () {
+ return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height);
+ }),
+ (h.prototype.getHalfTheDiagonal = function () {
+ return (
+ Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2
+ );
+ }),
+ (h.prototype.setRect = function (d, p) {
+ (this.rect.x = d.x),
+ (this.rect.y = d.y),
+ (this.rect.width = p.width),
+ (this.rect.height = p.height);
+ }),
+ (h.prototype.setCenter = function (d, p) {
+ (this.rect.x = d - this.rect.width / 2), (this.rect.y = p - this.rect.height / 2);
+ }),
+ (h.prototype.setLocation = function (d, p) {
+ (this.rect.x = d), (this.rect.y = p);
+ }),
+ (h.prototype.moveBy = function (d, p) {
+ (this.rect.x += d), (this.rect.y += p);
+ }),
+ (h.prototype.getEdgeListToNode = function (d) {
+ var p = [],
+ m,
+ g = this;
+ return (
+ g.edges.forEach(function (y) {
+ if (y.target == d) {
+ if (y.source != g) throw 'Incorrect edge source!';
+ p.push(y);
+ }
+ }),
+ p
+ );
+ }),
+ (h.prototype.getEdgesBetween = function (d) {
+ var p = [],
+ m,
+ g = this;
+ return (
+ g.edges.forEach(function (y) {
+ if (!(y.source == g || y.target == g)) throw 'Incorrect edge source and/or target';
+ (y.target == d || y.source == d) && p.push(y);
+ }),
+ p
+ );
+ }),
+ (h.prototype.getNeighborsList = function () {
+ var d = new Set(),
+ p = this;
+ return (
+ p.edges.forEach(function (m) {
+ if (m.source == p) d.add(m.target);
+ else {
+ if (m.target != p) throw 'Incorrect incidency!';
+ d.add(m.source);
+ }
+ }),
+ d
+ );
+ }),
+ (h.prototype.withChildren = function () {
+ var d = new Set(),
+ p,
+ m;
+ if ((d.add(this), this.child != null))
+ for (var g = this.child.getNodes(), y = 0; y < g.length; y++)
+ (p = g[y]),
+ (m = p.withChildren()),
+ m.forEach(function (v) {
+ d.add(v);
+ });
+ return d;
+ }),
+ (h.prototype.getNoOfChildren = function () {
+ var d = 0,
+ p;
+ if (this.child == null) d = 1;
+ else
+ for (var m = this.child.getNodes(), g = 0; g < m.length; g++)
+ (p = m[g]), (d += p.getNoOfChildren());
+ return d == 0 && (d = 1), d;
+ }),
+ (h.prototype.getEstimatedSize = function () {
+ if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed';
+ return this.estimatedSize;
+ }),
+ (h.prototype.calcEstimatedSize = function () {
+ return this.child == null
+ ? (this.estimatedSize = (this.rect.width + this.rect.height) / 2)
+ : ((this.estimatedSize = this.child.calcEstimatedSize()),
+ (this.rect.width = this.estimatedSize),
+ (this.rect.height = this.estimatedSize),
+ this.estimatedSize);
+ }),
+ (h.prototype.scatter = function () {
+ var d,
+ p,
+ m = -s.INITIAL_WORLD_BOUNDARY,
+ g = s.INITIAL_WORLD_BOUNDARY;
+ d = s.WORLD_CENTER_X + l.nextDouble() * (g - m) + m;
+ var y = -s.INITIAL_WORLD_BOUNDARY,
+ v = s.INITIAL_WORLD_BOUNDARY;
+ (p = s.WORLD_CENTER_Y + l.nextDouble() * (v - y) + y), (this.rect.x = d), (this.rect.y = p);
+ }),
+ (h.prototype.updateBounds = function () {
+ if (this.getChild() == null) throw 'assert failed';
+ if (this.getChild().getNodes().length != 0) {
+ var d = this.getChild();
+ if (
+ (d.updateBounds(!0),
+ (this.rect.x = d.getLeft()),
+ (this.rect.y = d.getTop()),
+ this.setWidth(d.getRight() - d.getLeft()),
+ this.setHeight(d.getBottom() - d.getTop()),
+ s.NODE_DIMENSIONS_INCLUDE_LABELS)
+ ) {
+ var p = d.getRight() - d.getLeft(),
+ m = d.getBottom() - d.getTop();
+ this.labelWidth > p &&
+ ((this.rect.x -= (this.labelWidth - p) / 2), this.setWidth(this.labelWidth)),
+ this.labelHeight > m &&
+ (this.labelPos == 'center'
+ ? (this.rect.y -= (this.labelHeight - m) / 2)
+ : this.labelPos == 'top' && (this.rect.y -= this.labelHeight - m),
+ this.setHeight(this.labelHeight));
+ }
+ }
+ }),
+ (h.prototype.getInclusionTreeDepth = function () {
+ if (this.inclusionTreeDepth == i.MAX_VALUE) throw 'assert failed';
+ return this.inclusionTreeDepth;
+ }),
+ (h.prototype.transform = function (d) {
+ var p = this.rect.x;
+ p > s.WORLD_BOUNDARY
+ ? (p = s.WORLD_BOUNDARY)
+ : p < -s.WORLD_BOUNDARY && (p = -s.WORLD_BOUNDARY);
+ var m = this.rect.y;
+ m > s.WORLD_BOUNDARY
+ ? (m = s.WORLD_BOUNDARY)
+ : m < -s.WORLD_BOUNDARY && (m = -s.WORLD_BOUNDARY);
+ var g = new u(p, m),
+ y = d.inverseTransformPoint(g);
+ this.setLocation(y.x, y.y);
+ }),
+ (h.prototype.getLeft = function () {
+ return this.rect.x;
+ }),
+ (h.prototype.getRight = function () {
+ return this.rect.x + this.rect.width;
+ }),
+ (h.prototype.getTop = function () {
+ return this.rect.y;
+ }),
+ (h.prototype.getBottom = function () {
+ return this.rect.y + this.rect.height;
+ }),
+ (h.prototype.getParent = function () {
+ return this.owner == null ? null : this.owner.getParent();
+ }),
+ (t.exports = h);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a) {
+ i == null && a == null ? ((this.x = 0), (this.y = 0)) : ((this.x = i), (this.y = a));
+ }
+ o(n, 'PointD'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.setX = function (i) {
+ this.x = i;
+ }),
+ (n.prototype.setY = function (i) {
+ this.y = i;
+ }),
+ (n.prototype.getDifference = function (i) {
+ return new DimensionD(this.x - i.x, this.y - i.y);
+ }),
+ (n.prototype.getCopy = function () {
+ return new n(this.x, this.y);
+ }),
+ (n.prototype.translate = function (i) {
+ return (this.x += i.width), (this.y += i.height), this;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(10),
+ a = r(0),
+ s = r(6),
+ l = r(3),
+ u = r(1),
+ h = r(13),
+ f = r(12),
+ d = r(11);
+ function p(g, y, v) {
+ n.call(this, v),
+ (this.estimatedSize = i.MIN_VALUE),
+ (this.margin = a.DEFAULT_GRAPH_MARGIN),
+ (this.edges = []),
+ (this.nodes = []),
+ (this.isConnected = !1),
+ (this.parent = g),
+ y != null && y instanceof s
+ ? (this.graphManager = y)
+ : y != null && y instanceof Layout && (this.graphManager = y.graphManager);
+ }
+ o(p, 'LGraph'), (p.prototype = Object.create(n.prototype));
+ for (var m in n) p[m] = n[m];
+ (p.prototype.getNodes = function () {
+ return this.nodes;
+ }),
+ (p.prototype.getEdges = function () {
+ return this.edges;
+ }),
+ (p.prototype.getGraphManager = function () {
+ return this.graphManager;
+ }),
+ (p.prototype.getParent = function () {
+ return this.parent;
+ }),
+ (p.prototype.getLeft = function () {
+ return this.left;
+ }),
+ (p.prototype.getRight = function () {
+ return this.right;
+ }),
+ (p.prototype.getTop = function () {
+ return this.top;
+ }),
+ (p.prototype.getBottom = function () {
+ return this.bottom;
+ }),
+ (p.prototype.isConnected = function () {
+ return this.isConnected;
+ }),
+ (p.prototype.add = function (g, y, v) {
+ if (y == null && v == null) {
+ var x = g;
+ if (this.graphManager == null) throw 'Graph has no graph mgr!';
+ if (this.getNodes().indexOf(x) > -1) throw 'Node already in graph!';
+ return (x.owner = this), this.getNodes().push(x), x;
+ } else {
+ var b = g;
+ if (!(this.getNodes().indexOf(y) > -1 && this.getNodes().indexOf(v) > -1))
+ throw 'Source or target not in graph!';
+ if (!(y.owner == v.owner && y.owner == this)) throw 'Both owners must be this graph!';
+ return y.owner != v.owner
+ ? null
+ : ((b.source = y),
+ (b.target = v),
+ (b.isInterGraph = !1),
+ this.getEdges().push(b),
+ y.edges.push(b),
+ v != y && v.edges.push(b),
+ b);
+ }
+ }),
+ (p.prototype.remove = function (g) {
+ var y = g;
+ if (g instanceof l) {
+ if (y == null) throw 'Node is null!';
+ if (!(y.owner != null && y.owner == this)) throw 'Owner graph is invalid!';
+ if (this.graphManager == null) throw 'Owner graph manager is invalid!';
+ for (var v = y.edges.slice(), x, b = v.length, w = 0; w < b; w++)
+ (x = v[w]), x.isInterGraph ? this.graphManager.remove(x) : x.source.owner.remove(x);
+ var S = this.nodes.indexOf(y);
+ if (S == -1) throw 'Node not in owner node list!';
+ this.nodes.splice(S, 1);
+ } else if (g instanceof u) {
+ var x = g;
+ if (x == null) throw 'Edge is null!';
+ if (!(x.source != null && x.target != null)) throw 'Source and/or target is null!';
+ if (
+ !(
+ x.source.owner != null &&
+ x.target.owner != null &&
+ x.source.owner == this &&
+ x.target.owner == this
+ )
+ )
+ throw 'Source and/or target owner is invalid!';
+ var T = x.source.edges.indexOf(x),
+ E = x.target.edges.indexOf(x);
+ if (!(T > -1 && E > -1)) throw "Source and/or target doesn't know this edge!";
+ x.source.edges.splice(T, 1), x.target != x.source && x.target.edges.splice(E, 1);
+ var S = x.source.owner.getEdges().indexOf(x);
+ if (S == -1) throw "Not in owner's edge list!";
+ x.source.owner.getEdges().splice(S, 1);
+ }
+ }),
+ (p.prototype.updateLeftTop = function () {
+ for (
+ var g = i.MAX_VALUE, y = i.MAX_VALUE, v, x, b, w = this.getNodes(), S = w.length, T = 0;
+ T < S;
+ T++
+ ) {
+ var E = w[T];
+ (v = E.getTop()), (x = E.getLeft()), g > v && (g = v), y > x && (y = x);
+ }
+ return g == i.MAX_VALUE
+ ? null
+ : (w[0].getParent().paddingLeft != null
+ ? (b = w[0].getParent().paddingLeft)
+ : (b = this.margin),
+ (this.left = y - b),
+ (this.top = g - b),
+ new f(this.left, this.top));
+ }),
+ (p.prototype.updateBounds = function (g) {
+ for (
+ var y = i.MAX_VALUE,
+ v = -i.MAX_VALUE,
+ x = i.MAX_VALUE,
+ b = -i.MAX_VALUE,
+ w,
+ S,
+ T,
+ E,
+ _,
+ A = this.nodes,
+ L = A.length,
+ M = 0;
+ M < L;
+ M++
+ ) {
+ var N = A[M];
+ g && N.child != null && N.updateBounds(),
+ (w = N.getLeft()),
+ (S = N.getRight()),
+ (T = N.getTop()),
+ (E = N.getBottom()),
+ y > w && (y = w),
+ v < S && (v = S),
+ x > T && (x = T),
+ b < E && (b = E);
+ }
+ var k = new h(y, x, v - y, b - x);
+ y == i.MAX_VALUE &&
+ ((this.left = this.parent.getLeft()),
+ (this.right = this.parent.getRight()),
+ (this.top = this.parent.getTop()),
+ (this.bottom = this.parent.getBottom())),
+ A[0].getParent().paddingLeft != null
+ ? (_ = A[0].getParent().paddingLeft)
+ : (_ = this.margin),
+ (this.left = k.x - _),
+ (this.right = k.x + k.width + _),
+ (this.top = k.y - _),
+ (this.bottom = k.y + k.height + _);
+ }),
+ (p.calculateBounds = function (g) {
+ for (
+ var y = i.MAX_VALUE,
+ v = -i.MAX_VALUE,
+ x = i.MAX_VALUE,
+ b = -i.MAX_VALUE,
+ w,
+ S,
+ T,
+ E,
+ _ = g.length,
+ A = 0;
+ A < _;
+ A++
+ ) {
+ var L = g[A];
+ (w = L.getLeft()),
+ (S = L.getRight()),
+ (T = L.getTop()),
+ (E = L.getBottom()),
+ y > w && (y = w),
+ v < S && (v = S),
+ x > T && (x = T),
+ b < E && (b = E);
+ }
+ var M = new h(y, x, v - y, b - x);
+ return M;
+ }),
+ (p.prototype.getInclusionTreeDepth = function () {
+ return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth();
+ }),
+ (p.prototype.getEstimatedSize = function () {
+ if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed';
+ return this.estimatedSize;
+ }),
+ (p.prototype.calcEstimatedSize = function () {
+ for (var g = 0, y = this.nodes, v = y.length, x = 0; x < v; x++) {
+ var b = y[x];
+ g += b.calcEstimatedSize();
+ }
+ return (
+ g == 0
+ ? (this.estimatedSize = a.EMPTY_COMPOUND_NODE_SIZE)
+ : (this.estimatedSize = g / Math.sqrt(this.nodes.length)),
+ this.estimatedSize
+ );
+ }),
+ (p.prototype.updateConnected = function () {
+ var g = this;
+ if (this.nodes.length == 0) {
+ this.isConnected = !0;
+ return;
+ }
+ var y = new d(),
+ v = new Set(),
+ x = this.nodes[0],
+ b,
+ w,
+ S = x.withChildren();
+ for (
+ S.forEach(function (M) {
+ y.push(M), v.add(M);
+ });
+ y.length !== 0;
+
+ ) {
+ (x = y.shift()), (b = x.getEdges());
+ for (var T = b.length, E = 0; E < T; E++) {
+ var _ = b[E];
+ if (((w = _.getOtherEndInGraph(x, this)), w != null && !v.has(w))) {
+ var A = w.withChildren();
+ A.forEach(function (M) {
+ y.push(M), v.add(M);
+ });
+ }
+ }
+ }
+ if (((this.isConnected = !1), v.size >= this.nodes.length)) {
+ var L = 0;
+ v.forEach(function (M) {
+ M.owner == g && L++;
+ }),
+ L == this.nodes.length && (this.isConnected = !0);
+ }
+ }),
+ (t.exports = p);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n,
+ i = r(1);
+ function a(s) {
+ (n = r(5)), (this.layout = s), (this.graphs = []), (this.edges = []);
+ }
+ o(a, 'LGraphManager'),
+ (a.prototype.addRoot = function () {
+ var s = this.layout.newGraph(),
+ l = this.layout.newNode(null),
+ u = this.add(s, l);
+ return this.setRootGraph(u), this.rootGraph;
+ }),
+ (a.prototype.add = function (s, l, u, h, f) {
+ if (u == null && h == null && f == null) {
+ if (s == null) throw 'Graph is null!';
+ if (l == null) throw 'Parent node is null!';
+ if (this.graphs.indexOf(s) > -1) throw 'Graph already in this graph mgr!';
+ if ((this.graphs.push(s), s.parent != null)) throw 'Already has a parent!';
+ if (l.child != null) throw 'Already has a child!';
+ return (s.parent = l), (l.child = s), s;
+ } else {
+ (f = u), (h = l), (u = s);
+ var d = h.getOwner(),
+ p = f.getOwner();
+ if (!(d != null && d.getGraphManager() == this)) throw 'Source not in this graph mgr!';
+ if (!(p != null && p.getGraphManager() == this)) throw 'Target not in this graph mgr!';
+ if (d == p) return (u.isInterGraph = !1), d.add(u, h, f);
+ if (((u.isInterGraph = !0), (u.source = h), (u.target = f), this.edges.indexOf(u) > -1))
+ throw 'Edge already in inter-graph edge list!';
+ if ((this.edges.push(u), !(u.source != null && u.target != null)))
+ throw 'Edge source and/or target is null!';
+ if (!(u.source.edges.indexOf(u) == -1 && u.target.edges.indexOf(u) == -1))
+ throw 'Edge already in source and/or target incidency list!';
+ return u.source.edges.push(u), u.target.edges.push(u), u;
+ }
+ }),
+ (a.prototype.remove = function (s) {
+ if (s instanceof n) {
+ var l = s;
+ if (l.getGraphManager() != this) throw 'Graph not in this graph mgr';
+ if (!(l == this.rootGraph || (l.parent != null && l.parent.graphManager == this)))
+ throw 'Invalid parent node!';
+ var u = [];
+ u = u.concat(l.getEdges());
+ for (var h, f = u.length, d = 0; d < f; d++) (h = u[d]), l.remove(h);
+ var p = [];
+ p = p.concat(l.getNodes());
+ var m;
+ f = p.length;
+ for (var d = 0; d < f; d++) (m = p[d]), l.remove(m);
+ l == this.rootGraph && this.setRootGraph(null);
+ var g = this.graphs.indexOf(l);
+ this.graphs.splice(g, 1), (l.parent = null);
+ } else if (s instanceof i) {
+ if (((h = s), h == null)) throw 'Edge is null!';
+ if (!h.isInterGraph) throw 'Not an inter-graph edge!';
+ if (!(h.source != null && h.target != null)) throw 'Source and/or target is null!';
+ if (!(h.source.edges.indexOf(h) != -1 && h.target.edges.indexOf(h) != -1))
+ throw "Source and/or target doesn't know this edge!";
+ var g = h.source.edges.indexOf(h);
+ if (
+ (h.source.edges.splice(g, 1),
+ (g = h.target.edges.indexOf(h)),
+ h.target.edges.splice(g, 1),
+ !(h.source.owner != null && h.source.owner.getGraphManager() != null))
+ )
+ throw 'Edge owner graph or owner graph manager is null!';
+ if (h.source.owner.getGraphManager().edges.indexOf(h) == -1)
+ throw "Not in owner graph manager's edge list!";
+ var g = h.source.owner.getGraphManager().edges.indexOf(h);
+ h.source.owner.getGraphManager().edges.splice(g, 1);
+ }
+ }),
+ (a.prototype.updateBounds = function () {
+ this.rootGraph.updateBounds(!0);
+ }),
+ (a.prototype.getGraphs = function () {
+ return this.graphs;
+ }),
+ (a.prototype.getAllNodes = function () {
+ if (this.allNodes == null) {
+ for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < u; h++)
+ s = s.concat(l[h].getNodes());
+ this.allNodes = s;
+ }
+ return this.allNodes;
+ }),
+ (a.prototype.resetAllNodes = function () {
+ this.allNodes = null;
+ }),
+ (a.prototype.resetAllEdges = function () {
+ this.allEdges = null;
+ }),
+ (a.prototype.resetAllNodesToApplyGravitation = function () {
+ this.allNodesToApplyGravitation = null;
+ }),
+ (a.prototype.getAllEdges = function () {
+ if (this.allEdges == null) {
+ for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < l.length; h++)
+ s = s.concat(l[h].getEdges());
+ (s = s.concat(this.edges)), (this.allEdges = s);
+ }
+ return this.allEdges;
+ }),
+ (a.prototype.getAllNodesToApplyGravitation = function () {
+ return this.allNodesToApplyGravitation;
+ }),
+ (a.prototype.setAllNodesToApplyGravitation = function (s) {
+ if (this.allNodesToApplyGravitation != null) throw 'assert failed';
+ this.allNodesToApplyGravitation = s;
+ }),
+ (a.prototype.getRoot = function () {
+ return this.rootGraph;
+ }),
+ (a.prototype.setRootGraph = function (s) {
+ if (s.getGraphManager() != this) throw 'Root not in this graph mgr!';
+ (this.rootGraph = s), s.parent == null && (s.parent = this.layout.newNode('Root node'));
+ }),
+ (a.prototype.getLayout = function () {
+ return this.layout;
+ }),
+ (a.prototype.isOneAncestorOfOther = function (s, l) {
+ if (!(s != null && l != null)) throw 'assert failed';
+ if (s == l) return !0;
+ var u = s.getOwner(),
+ h;
+ do {
+ if (((h = u.getParent()), h == null)) break;
+ if (h == l) return !0;
+ if (((u = h.getOwner()), u == null)) break;
+ } while (!0);
+ u = l.getOwner();
+ do {
+ if (((h = u.getParent()), h == null)) break;
+ if (h == s) return !0;
+ if (((u = h.getOwner()), u == null)) break;
+ } while (!0);
+ return !1;
+ }),
+ (a.prototype.calcLowestCommonAncestors = function () {
+ for (var s, l, u, h, f, d = this.getAllEdges(), p = d.length, m = 0; m < p; m++) {
+ if (
+ ((s = d[m]),
+ (l = s.source),
+ (u = s.target),
+ (s.lca = null),
+ (s.sourceInLca = l),
+ (s.targetInLca = u),
+ l == u)
+ ) {
+ s.lca = l.getOwner();
+ continue;
+ }
+ for (h = l.getOwner(); s.lca == null; ) {
+ for (s.targetInLca = u, f = u.getOwner(); s.lca == null; ) {
+ if (f == h) {
+ s.lca = f;
+ break;
+ }
+ if (f == this.rootGraph) break;
+ if (s.lca != null) throw 'assert failed';
+ (s.targetInLca = f.getParent()), (f = s.targetInLca.getOwner());
+ }
+ if (h == this.rootGraph) break;
+ s.lca == null && ((s.sourceInLca = h.getParent()), (h = s.sourceInLca.getOwner()));
+ }
+ if (s.lca == null) throw 'assert failed';
+ }
+ }),
+ (a.prototype.calcLowestCommonAncestor = function (s, l) {
+ if (s == l) return s.getOwner();
+ var u = s.getOwner();
+ do {
+ if (u == null) break;
+ var h = l.getOwner();
+ do {
+ if (h == null) break;
+ if (h == u) return h;
+ h = h.getParent().getOwner();
+ } while (!0);
+ u = u.getParent().getOwner();
+ } while (!0);
+ return u;
+ }),
+ (a.prototype.calcInclusionTreeDepths = function (s, l) {
+ s == null && l == null && ((s = this.rootGraph), (l = 1));
+ for (var u, h = s.getNodes(), f = h.length, d = 0; d < f; d++)
+ (u = h[d]),
+ (u.inclusionTreeDepth = l),
+ u.child != null && this.calcInclusionTreeDepths(u.child, l + 1);
+ }),
+ (a.prototype.includesInvalidEdge = function () {
+ for (var s, l = this.edges.length, u = 0; u < l; u++)
+ if (((s = this.edges[u]), this.isOneAncestorOfOther(s.source, s.target))) return !0;
+ return !1;
+ }),
+ (t.exports = a);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(0);
+ function i() {}
+ o(i, 'FDLayoutConstants');
+ for (var a in n) i[a] = n[a];
+ (i.MAX_ITERATIONS = 2500),
+ (i.DEFAULT_EDGE_LENGTH = 50),
+ (i.DEFAULT_SPRING_STRENGTH = 0.45),
+ (i.DEFAULT_REPULSION_STRENGTH = 4500),
+ (i.DEFAULT_GRAVITY_STRENGTH = 0.4),
+ (i.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1),
+ (i.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8),
+ (i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5),
+ (i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0),
+ (i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0),
+ (i.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3),
+ (i.COOLING_ADAPTATION_FACTOR = 0.33),
+ (i.ADAPTATION_LOWER_NODE_LIMIT = 1e3),
+ (i.ADAPTATION_UPPER_NODE_LIMIT = 5e3),
+ (i.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100),
+ (i.MAX_NODE_DISPLACEMENT = i.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3),
+ (i.MIN_REPULSION_DIST = i.DEFAULT_EDGE_LENGTH / 10),
+ (i.CONVERGENCE_CHECK_PERIOD = 100),
+ (i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1),
+ (i.MIN_EDGE_LENGTH = 1),
+ (i.GRID_CALCULATION_CHECK_PERIOD = 10),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(12);
+ function i() {}
+ o(i, 'IGeometry'),
+ (i.calcSeparationAmount = function (a, s, l, u) {
+ if (!a.intersects(s)) throw 'assert failed';
+ var h = new Array(2);
+ this.decideDirectionsForOverlappingNodes(a, s, h),
+ (l[0] = Math.min(a.getRight(), s.getRight()) - Math.max(a.x, s.x)),
+ (l[1] = Math.min(a.getBottom(), s.getBottom()) - Math.max(a.y, s.y)),
+ a.getX() <= s.getX() && a.getRight() >= s.getRight()
+ ? (l[0] += Math.min(s.getX() - a.getX(), a.getRight() - s.getRight()))
+ : s.getX() <= a.getX() &&
+ s.getRight() >= a.getRight() &&
+ (l[0] += Math.min(a.getX() - s.getX(), s.getRight() - a.getRight())),
+ a.getY() <= s.getY() && a.getBottom() >= s.getBottom()
+ ? (l[1] += Math.min(s.getY() - a.getY(), a.getBottom() - s.getBottom()))
+ : s.getY() <= a.getY() &&
+ s.getBottom() >= a.getBottom() &&
+ (l[1] += Math.min(a.getY() - s.getY(), s.getBottom() - a.getBottom()));
+ var f = Math.abs((s.getCenterY() - a.getCenterY()) / (s.getCenterX() - a.getCenterX()));
+ s.getCenterY() === a.getCenterY() && s.getCenterX() === a.getCenterX() && (f = 1);
+ var d = f * l[0],
+ p = l[1] / f;
+ l[0] < p ? (p = l[0]) : (d = l[1]),
+ (l[0] = -1 * h[0] * (p / 2 + u)),
+ (l[1] = -1 * h[1] * (d / 2 + u));
+ }),
+ (i.decideDirectionsForOverlappingNodes = function (a, s, l) {
+ a.getCenterX() < s.getCenterX() ? (l[0] = -1) : (l[0] = 1),
+ a.getCenterY() < s.getCenterY() ? (l[1] = -1) : (l[1] = 1);
+ }),
+ (i.getIntersection2 = function (a, s, l) {
+ var u = a.getCenterX(),
+ h = a.getCenterY(),
+ f = s.getCenterX(),
+ d = s.getCenterY();
+ if (a.intersects(s)) return (l[0] = u), (l[1] = h), (l[2] = f), (l[3] = d), !0;
+ var p = a.getX(),
+ m = a.getY(),
+ g = a.getRight(),
+ y = a.getX(),
+ v = a.getBottom(),
+ x = a.getRight(),
+ b = a.getWidthHalf(),
+ w = a.getHeightHalf(),
+ S = s.getX(),
+ T = s.getY(),
+ E = s.getRight(),
+ _ = s.getX(),
+ A = s.getBottom(),
+ L = s.getRight(),
+ M = s.getWidthHalf(),
+ N = s.getHeightHalf(),
+ k = !1,
+ I = !1;
+ if (u === f) {
+ if (h > d) return (l[0] = u), (l[1] = m), (l[2] = f), (l[3] = A), !1;
+ if (h < d) return (l[0] = u), (l[1] = v), (l[2] = f), (l[3] = T), !1;
+ } else if (h === d) {
+ if (u > f) return (l[0] = p), (l[1] = h), (l[2] = E), (l[3] = d), !1;
+ if (u < f) return (l[0] = g), (l[1] = h), (l[2] = S), (l[3] = d), !1;
+ } else {
+ var C = a.height / a.width,
+ O = s.height / s.width,
+ D = (d - h) / (f - u),
+ P = void 0,
+ F = void 0,
+ B = void 0,
+ $ = void 0,
+ z = void 0,
+ Y = void 0;
+ if (
+ (-C === D
+ ? u > f
+ ? ((l[0] = y), (l[1] = v), (k = !0))
+ : ((l[0] = g), (l[1] = m), (k = !0))
+ : C === D &&
+ (u > f
+ ? ((l[0] = p), (l[1] = m), (k = !0))
+ : ((l[0] = x), (l[1] = v), (k = !0))),
+ -O === D
+ ? f > u
+ ? ((l[2] = _), (l[3] = A), (I = !0))
+ : ((l[2] = E), (l[3] = T), (I = !0))
+ : O === D &&
+ (f > u
+ ? ((l[2] = S), (l[3] = T), (I = !0))
+ : ((l[2] = L), (l[3] = A), (I = !0))),
+ k && I)
+ )
+ return !1;
+ if (
+ (u > f
+ ? h > d
+ ? ((P = this.getCardinalDirection(C, D, 4)),
+ (F = this.getCardinalDirection(O, D, 2)))
+ : ((P = this.getCardinalDirection(-C, D, 3)),
+ (F = this.getCardinalDirection(-O, D, 1)))
+ : h > d
+ ? ((P = this.getCardinalDirection(-C, D, 1)),
+ (F = this.getCardinalDirection(-O, D, 3)))
+ : ((P = this.getCardinalDirection(C, D, 2)),
+ (F = this.getCardinalDirection(O, D, 4))),
+ !k)
+ )
+ switch (P) {
+ case 1:
+ ($ = m), (B = u + -w / D), (l[0] = B), (l[1] = $);
+ break;
+ case 2:
+ (B = x), ($ = h + b * D), (l[0] = B), (l[1] = $);
+ break;
+ case 3:
+ ($ = v), (B = u + w / D), (l[0] = B), (l[1] = $);
+ break;
+ case 4:
+ (B = y), ($ = h + -b * D), (l[0] = B), (l[1] = $);
+ break;
+ }
+ if (!I)
+ switch (F) {
+ case 1:
+ (Y = T), (z = f + -N / D), (l[2] = z), (l[3] = Y);
+ break;
+ case 2:
+ (z = L), (Y = d + M * D), (l[2] = z), (l[3] = Y);
+ break;
+ case 3:
+ (Y = A), (z = f + N / D), (l[2] = z), (l[3] = Y);
+ break;
+ case 4:
+ (z = _), (Y = d + -M * D), (l[2] = z), (l[3] = Y);
+ break;
+ }
+ }
+ return !1;
+ }),
+ (i.getCardinalDirection = function (a, s, l) {
+ return a > s ? l : 1 + (l % 4);
+ }),
+ (i.getIntersection = function (a, s, l, u) {
+ if (u == null) return this.getIntersection2(a, s, l);
+ var h = a.x,
+ f = a.y,
+ d = s.x,
+ p = s.y,
+ m = l.x,
+ g = l.y,
+ y = u.x,
+ v = u.y,
+ x = void 0,
+ b = void 0,
+ w = void 0,
+ S = void 0,
+ T = void 0,
+ E = void 0,
+ _ = void 0,
+ A = void 0,
+ L = void 0;
+ return (
+ (w = p - f),
+ (T = h - d),
+ (_ = d * f - h * p),
+ (S = v - g),
+ (E = m - y),
+ (A = y * g - m * v),
+ (L = w * E - S * T),
+ L === 0 ? null : ((x = (T * A - E * _) / L), (b = (S * _ - w * A) / L), new n(x, b))
+ );
+ }),
+ (i.angleOfVector = function (a, s, l, u) {
+ var h = void 0;
+ return (
+ a !== l
+ ? ((h = Math.atan((u - s) / (l - a))),
+ l < a ? (h += Math.PI) : u < s && (h += this.TWO_PI))
+ : u < s
+ ? (h = this.ONE_AND_HALF_PI)
+ : (h = this.HALF_PI),
+ h
+ );
+ }),
+ (i.doIntersect = function (a, s, l, u) {
+ var h = a.x,
+ f = a.y,
+ d = s.x,
+ p = s.y,
+ m = l.x,
+ g = l.y,
+ y = u.x,
+ v = u.y,
+ x = (d - h) * (v - g) - (y - m) * (p - f);
+ if (x === 0) return !1;
+ var b = ((v - g) * (y - h) + (m - y) * (v - f)) / x,
+ w = ((f - p) * (y - h) + (d - h) * (v - f)) / x;
+ return 0 < b && b < 1 && 0 < w && w < 1;
+ }),
+ (i.HALF_PI = 0.5 * Math.PI),
+ (i.ONE_AND_HALF_PI = 1.5 * Math.PI),
+ (i.TWO_PI = 2 * Math.PI),
+ (i.THREE_PI = 3 * Math.PI),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'IMath'),
+ (n.sign = function (i) {
+ return i > 0 ? 1 : i < 0 ? -1 : 0;
+ }),
+ (n.floor = function (i) {
+ return i < 0 ? Math.ceil(i) : Math.floor(i);
+ }),
+ (n.ceil = function (i) {
+ return i < 0 ? Math.floor(i) : Math.ceil(i);
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'Integer'), (n.MAX_VALUE = 2147483647), (n.MIN_VALUE = -2147483648), (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function h(f, d) {
+ for (var p = 0; p < d.length; p++) {
+ var m = d[p];
+ (m.enumerable = m.enumerable || !1),
+ (m.configurable = !0),
+ 'value' in m && (m.writable = !0),
+ Object.defineProperty(f, m.key, m);
+ }
+ }
+ return (
+ o(h, 'defineProperties'),
+ function (f, d, p) {
+ return d && h(f.prototype, d), p && h(f, p), f;
+ }
+ );
+ })();
+ function i(h, f) {
+ if (!(h instanceof f)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = o(function (f) {
+ return { value: f, next: null, prev: null };
+ }, 'nodeFrom'),
+ s = o(function (f, d, p, m) {
+ return (
+ f !== null ? (f.next = d) : (m.head = d),
+ p !== null ? (p.prev = d) : (m.tail = d),
+ (d.prev = f),
+ (d.next = p),
+ m.length++,
+ d
+ );
+ }, 'add'),
+ l = o(function (f, d) {
+ var p = f.prev,
+ m = f.next;
+ return (
+ p !== null ? (p.next = m) : (d.head = m),
+ m !== null ? (m.prev = p) : (d.tail = p),
+ (f.prev = f.next = null),
+ d.length--,
+ f
+ );
+ }, '_remove'),
+ u = (function () {
+ function h(f) {
+ var d = this;
+ i(this, h),
+ (this.length = 0),
+ (this.head = null),
+ (this.tail = null),
+ f?.forEach(function (p) {
+ return d.push(p);
+ });
+ }
+ return (
+ o(h, 'LinkedList'),
+ n(h, [
+ {
+ key: 'size',
+ value: o(function () {
+ return this.length;
+ }, 'size')
+ },
+ {
+ key: 'insertBefore',
+ value: o(function (d, p) {
+ return s(p.prev, a(d), p, this);
+ }, 'insertBefore')
+ },
+ {
+ key: 'insertAfter',
+ value: o(function (d, p) {
+ return s(p, a(d), p.next, this);
+ }, 'insertAfter')
+ },
+ {
+ key: 'insertNodeBefore',
+ value: o(function (d, p) {
+ return s(p.prev, d, p, this);
+ }, 'insertNodeBefore')
+ },
+ {
+ key: 'insertNodeAfter',
+ value: o(function (d, p) {
+ return s(p, d, p.next, this);
+ }, 'insertNodeAfter')
+ },
+ {
+ key: 'push',
+ value: o(function (d) {
+ return s(this.tail, a(d), null, this);
+ }, 'push')
+ },
+ {
+ key: 'unshift',
+ value: o(function (d) {
+ return s(null, a(d), this.head, this);
+ }, 'unshift')
+ },
+ {
+ key: 'remove',
+ value: o(function (d) {
+ return l(d, this);
+ }, 'remove')
+ },
+ {
+ key: 'pop',
+ value: o(function () {
+ return l(this.tail, this).value;
+ }, 'pop')
+ },
+ {
+ key: 'popNode',
+ value: o(function () {
+ return l(this.tail, this);
+ }, 'popNode')
+ },
+ {
+ key: 'shift',
+ value: o(function () {
+ return l(this.head, this).value;
+ }, 'shift')
+ },
+ {
+ key: 'shiftNode',
+ value: o(function () {
+ return l(this.head, this);
+ }, 'shiftNode')
+ },
+ {
+ key: 'get_object_at',
+ value: o(function (d) {
+ if (d <= this.length()) {
+ for (var p = 1, m = this.head; p < d; ) (m = m.next), p++;
+ return m.value;
+ }
+ }, 'get_object_at')
+ },
+ {
+ key: 'set_object_at',
+ value: o(function (d, p) {
+ if (d <= this.length()) {
+ for (var m = 1, g = this.head; m < d; ) (g = g.next), m++;
+ g.value = p;
+ }
+ }, 'set_object_at')
+ }
+ ]),
+ h
+ );
+ })();
+ t.exports = u;
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a, s) {
+ (this.x = null),
+ (this.y = null),
+ i == null && a == null && s == null
+ ? ((this.x = 0), (this.y = 0))
+ : typeof i == 'number' && typeof a == 'number' && s == null
+ ? ((this.x = i), (this.y = a))
+ : i.constructor.name == 'Point' &&
+ a == null &&
+ s == null &&
+ ((s = i), (this.x = s.x), (this.y = s.y));
+ }
+ o(n, 'Point'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.getLocation = function () {
+ return new n(this.x, this.y);
+ }),
+ (n.prototype.setLocation = function (i, a, s) {
+ i.constructor.name == 'Point' && a == null && s == null
+ ? ((s = i), this.setLocation(s.x, s.y))
+ : typeof i == 'number' &&
+ typeof a == 'number' &&
+ s == null &&
+ (parseInt(i) == i && parseInt(a) == a
+ ? this.move(i, a)
+ : ((this.x = Math.floor(i + 0.5)), (this.y = Math.floor(a + 0.5))));
+ }),
+ (n.prototype.move = function (i, a) {
+ (this.x = i), (this.y = a);
+ }),
+ (n.prototype.translate = function (i, a) {
+ (this.x += i), (this.y += a);
+ }),
+ (n.prototype.equals = function (i) {
+ if (i.constructor.name == 'Point') {
+ var a = i;
+ return this.x == a.x && this.y == a.y;
+ }
+ return this == i;
+ }),
+ (n.prototype.toString = function () {
+ return new n().constructor.name + '[x=' + this.x + ',y=' + this.y + ']';
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a, s, l) {
+ (this.x = 0),
+ (this.y = 0),
+ (this.width = 0),
+ (this.height = 0),
+ i != null &&
+ a != null &&
+ s != null &&
+ l != null &&
+ ((this.x = i), (this.y = a), (this.width = s), (this.height = l));
+ }
+ o(n, 'RectangleD'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.setX = function (i) {
+ this.x = i;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.setY = function (i) {
+ this.y = i;
+ }),
+ (n.prototype.getWidth = function () {
+ return this.width;
+ }),
+ (n.prototype.setWidth = function (i) {
+ this.width = i;
+ }),
+ (n.prototype.getHeight = function () {
+ return this.height;
+ }),
+ (n.prototype.setHeight = function (i) {
+ this.height = i;
+ }),
+ (n.prototype.getRight = function () {
+ return this.x + this.width;
+ }),
+ (n.prototype.getBottom = function () {
+ return this.y + this.height;
+ }),
+ (n.prototype.intersects = function (i) {
+ return !(
+ this.getRight() < i.x ||
+ this.getBottom() < i.y ||
+ i.getRight() < this.x ||
+ i.getBottom() < this.y
+ );
+ }),
+ (n.prototype.getCenterX = function () {
+ return this.x + this.width / 2;
+ }),
+ (n.prototype.getMinX = function () {
+ return this.getX();
+ }),
+ (n.prototype.getMaxX = function () {
+ return this.getX() + this.width;
+ }),
+ (n.prototype.getCenterY = function () {
+ return this.y + this.height / 2;
+ }),
+ (n.prototype.getMinY = function () {
+ return this.getY();
+ }),
+ (n.prototype.getMaxY = function () {
+ return this.getY() + this.height;
+ }),
+ (n.prototype.getWidthHalf = function () {
+ return this.width / 2;
+ }),
+ (n.prototype.getHeightHalf = function () {
+ return this.height / 2;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n =
+ typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol'
+ ? function (a) {
+ return typeof a;
+ }
+ : function (a) {
+ return a &&
+ typeof Symbol == 'function' &&
+ a.constructor === Symbol &&
+ a !== Symbol.prototype
+ ? 'symbol'
+ : typeof a;
+ };
+ function i() {}
+ o(i, 'UniqueIDGeneretor'),
+ (i.lastID = 0),
+ (i.createID = function (a) {
+ return i.isPrimitive(a)
+ ? a
+ : (a.uniqueID != null || ((a.uniqueID = i.getString()), i.lastID++), a.uniqueID);
+ }),
+ (i.getString = function (a) {
+ return a == null && (a = i.lastID), 'Object#' + a;
+ }),
+ (i.isPrimitive = function (a) {
+ var s = typeof a > 'u' ? 'undefined' : n(a);
+ return a == null || (s != 'object' && s != 'function');
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(m) {
+ if (Array.isArray(m)) {
+ for (var g = 0, y = Array(m.length); g < m.length; g++) y[g] = m[g];
+ return y;
+ } else return Array.from(m);
+ }
+ o(n, '_toConsumableArray');
+ var i = r(0),
+ a = r(6),
+ s = r(3),
+ l = r(1),
+ u = r(5),
+ h = r(4),
+ f = r(17),
+ d = r(27);
+ function p(m) {
+ d.call(this),
+ (this.layoutQuality = i.QUALITY),
+ (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED),
+ (this.incremental = i.DEFAULT_INCREMENTAL),
+ (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT),
+ (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT),
+ (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD),
+ (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES),
+ (this.edgeToDummyNodes = new Map()),
+ (this.graphManager = new a(this)),
+ (this.isLayoutFinished = !1),
+ (this.isSubLayout = !1),
+ (this.isRemoteUse = !1),
+ m != null && (this.isRemoteUse = m);
+ }
+ o(p, 'Layout'),
+ (p.RANDOM_SEED = 1),
+ (p.prototype = Object.create(d.prototype)),
+ (p.prototype.getGraphManager = function () {
+ return this.graphManager;
+ }),
+ (p.prototype.getAllNodes = function () {
+ return this.graphManager.getAllNodes();
+ }),
+ (p.prototype.getAllEdges = function () {
+ return this.graphManager.getAllEdges();
+ }),
+ (p.prototype.getAllNodesToApplyGravitation = function () {
+ return this.graphManager.getAllNodesToApplyGravitation();
+ }),
+ (p.prototype.newGraphManager = function () {
+ var m = new a(this);
+ return (this.graphManager = m), m;
+ }),
+ (p.prototype.newGraph = function (m) {
+ return new u(null, this.graphManager, m);
+ }),
+ (p.prototype.newNode = function (m) {
+ return new s(this.graphManager, m);
+ }),
+ (p.prototype.newEdge = function (m) {
+ return new l(null, null, m);
+ }),
+ (p.prototype.checkLayoutSuccess = function () {
+ return (
+ this.graphManager.getRoot() == null ||
+ this.graphManager.getRoot().getNodes().length == 0 ||
+ this.graphManager.includesInvalidEdge()
+ );
+ }),
+ (p.prototype.runLayout = function () {
+ (this.isLayoutFinished = !1),
+ this.tilingPreLayout && this.tilingPreLayout(),
+ this.initParameters();
+ var m;
+ return (
+ this.checkLayoutSuccess() ? (m = !1) : (m = this.layout()),
+ i.ANIMATE === 'during'
+ ? !1
+ : (m && (this.isSubLayout || this.doPostLayout()),
+ this.tilingPostLayout && this.tilingPostLayout(),
+ (this.isLayoutFinished = !0),
+ m)
+ );
+ }),
+ (p.prototype.doPostLayout = function () {
+ this.incremental || this.transform(), this.update();
+ }),
+ (p.prototype.update2 = function () {
+ if (
+ (this.createBendsAsNeeded &&
+ (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()),
+ !this.isRemoteUse)
+ ) {
+ for (var m, g = this.graphManager.getAllEdges(), y = 0; y < g.length; y++) m = g[y];
+ for (var v, x = this.graphManager.getRoot().getNodes(), y = 0; y < x.length; y++)
+ v = x[y];
+ this.update(this.graphManager.getRoot());
+ }
+ }),
+ (p.prototype.update = function (m) {
+ if (m == null) this.update2();
+ else if (m instanceof s) {
+ var g = m;
+ if (g.getChild() != null)
+ for (var y = g.getChild().getNodes(), v = 0; v < y.length; v++) update(y[v]);
+ if (g.vGraphObject != null) {
+ var x = g.vGraphObject;
+ x.update(g);
+ }
+ } else if (m instanceof l) {
+ var b = m;
+ if (b.vGraphObject != null) {
+ var w = b.vGraphObject;
+ w.update(b);
+ }
+ } else if (m instanceof u) {
+ var S = m;
+ if (S.vGraphObject != null) {
+ var T = S.vGraphObject;
+ T.update(S);
+ }
+ }
+ }),
+ (p.prototype.initParameters = function () {
+ this.isSubLayout ||
+ ((this.layoutQuality = i.QUALITY),
+ (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT),
+ (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD),
+ (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT),
+ (this.incremental = i.DEFAULT_INCREMENTAL),
+ (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED),
+ (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES)),
+ this.animationDuringLayout && (this.animationOnLayout = !1);
+ }),
+ (p.prototype.transform = function (m) {
+ if (m == null) this.transform(new h(0, 0));
+ else {
+ var g = new f(),
+ y = this.graphManager.getRoot().updateLeftTop();
+ if (y != null) {
+ g.setWorldOrgX(m.x),
+ g.setWorldOrgY(m.y),
+ g.setDeviceOrgX(y.x),
+ g.setDeviceOrgY(y.y);
+ for (var v = this.getAllNodes(), x, b = 0; b < v.length; b++)
+ (x = v[b]), x.transform(g);
+ }
+ }
+ }),
+ (p.prototype.positionNodesRandomly = function (m) {
+ if (m == null)
+ this.positionNodesRandomly(this.getGraphManager().getRoot()),
+ this.getGraphManager().getRoot().updateBounds(!0);
+ else
+ for (var g, y, v = m.getNodes(), x = 0; x < v.length; x++)
+ (g = v[x]),
+ (y = g.getChild()),
+ y == null || y.getNodes().length == 0
+ ? g.scatter()
+ : (this.positionNodesRandomly(y), g.updateBounds());
+ }),
+ (p.prototype.getFlatForest = function () {
+ for (
+ var m = [], g = !0, y = this.graphManager.getRoot().getNodes(), v = !0, x = 0;
+ x < y.length;
+ x++
+ )
+ y[x].getChild() != null && (v = !1);
+ if (!v) return m;
+ var b = new Set(),
+ w = [],
+ S = new Map(),
+ T = [];
+ for (T = T.concat(y); T.length > 0 && g; ) {
+ for (w.push(T[0]); w.length > 0 && g; ) {
+ var E = w[0];
+ w.splice(0, 1), b.add(E);
+ for (var _ = E.getEdges(), x = 0; x < _.length; x++) {
+ var A = _[x].getOtherEnd(E);
+ if (S.get(E) != A)
+ if (!b.has(A)) w.push(A), S.set(A, E);
+ else {
+ g = !1;
+ break;
+ }
+ }
+ }
+ if (!g) m = [];
+ else {
+ var L = [].concat(n(b));
+ m.push(L);
+ for (var x = 0; x < L.length; x++) {
+ var M = L[x],
+ N = T.indexOf(M);
+ N > -1 && T.splice(N, 1);
+ }
+ (b = new Set()), (S = new Map());
+ }
+ }
+ return m;
+ }),
+ (p.prototype.createDummyNodesForBendpoints = function (m) {
+ for (
+ var g = [],
+ y = m.source,
+ v = this.graphManager.calcLowestCommonAncestor(m.source, m.target),
+ x = 0;
+ x < m.bendpoints.length;
+ x++
+ ) {
+ var b = this.newNode(null);
+ b.setRect(new Point(0, 0), new Dimension(1, 1)), v.add(b);
+ var w = this.newEdge(null);
+ this.graphManager.add(w, y, b), g.add(b), (y = b);
+ }
+ var w = this.newEdge(null);
+ return (
+ this.graphManager.add(w, y, m.target),
+ this.edgeToDummyNodes.set(m, g),
+ m.isInterGraph() ? this.graphManager.remove(m) : v.remove(m),
+ g
+ );
+ }),
+ (p.prototype.createBendpointsFromDummyNodes = function () {
+ var m = [];
+ (m = m.concat(this.graphManager.getAllEdges())),
+ (m = [].concat(n(this.edgeToDummyNodes.keys())).concat(m));
+ for (var g = 0; g < m.length; g++) {
+ var y = m[g];
+ if (y.bendpoints.length > 0) {
+ for (var v = this.edgeToDummyNodes.get(y), x = 0; x < v.length; x++) {
+ var b = v[x],
+ w = new h(b.getCenterX(), b.getCenterY()),
+ S = y.bendpoints.get(x);
+ (S.x = w.x), (S.y = w.y), b.getOwner().remove(b);
+ }
+ this.graphManager.add(y, y.source, y.target);
+ }
+ }
+ }),
+ (p.transform = function (m, g, y, v) {
+ if (y != null && v != null) {
+ var x = g;
+ if (m <= 50) {
+ var b = g / y;
+ x -= ((g - b) / 50) * (50 - m);
+ } else {
+ var w = g * v;
+ x += ((w - g) / 50) * (m - 50);
+ }
+ return x;
+ } else {
+ var S, T;
+ return (
+ m <= 50 ? ((S = (9 * g) / 500), (T = g / 10)) : ((S = (9 * g) / 50), (T = -8 * g)),
+ S * m + T
+ );
+ }
+ }),
+ (p.findCenterOfTree = function (m) {
+ var g = [];
+ g = g.concat(m);
+ var y = [],
+ v = new Map(),
+ x = !1,
+ b = null;
+ (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0]));
+ for (var w = 0; w < g.length; w++) {
+ var S = g[w],
+ T = S.getNeighborsList().size;
+ v.set(S, S.getNeighborsList().size), T == 1 && y.push(S);
+ }
+ var E = [];
+ for (E = E.concat(y); !x; ) {
+ var _ = [];
+ (_ = _.concat(E)), (E = []);
+ for (var w = 0; w < g.length; w++) {
+ var S = g[w],
+ A = g.indexOf(S);
+ A >= 0 && g.splice(A, 1);
+ var L = S.getNeighborsList();
+ L.forEach(function (k) {
+ if (y.indexOf(k) < 0) {
+ var I = v.get(k),
+ C = I - 1;
+ C == 1 && E.push(k), v.set(k, C);
+ }
+ });
+ }
+ (y = y.concat(E)), (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0]));
+ }
+ return b;
+ }),
+ (p.prototype.setGraphManager = function (m) {
+ this.graphManager = m;
+ }),
+ (t.exports = p);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'RandomSeed'),
+ (n.seed = 1),
+ (n.x = 0),
+ (n.nextDouble = function () {
+ return (n.x = Math.sin(n.seed++) * 1e4), n.x - Math.floor(n.x);
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(4);
+ function i(a, s) {
+ (this.lworldOrgX = 0),
+ (this.lworldOrgY = 0),
+ (this.ldeviceOrgX = 0),
+ (this.ldeviceOrgY = 0),
+ (this.lworldExtX = 1),
+ (this.lworldExtY = 1),
+ (this.ldeviceExtX = 1),
+ (this.ldeviceExtY = 1);
+ }
+ o(i, 'Transform'),
+ (i.prototype.getWorldOrgX = function () {
+ return this.lworldOrgX;
+ }),
+ (i.prototype.setWorldOrgX = function (a) {
+ this.lworldOrgX = a;
+ }),
+ (i.prototype.getWorldOrgY = function () {
+ return this.lworldOrgY;
+ }),
+ (i.prototype.setWorldOrgY = function (a) {
+ this.lworldOrgY = a;
+ }),
+ (i.prototype.getWorldExtX = function () {
+ return this.lworldExtX;
+ }),
+ (i.prototype.setWorldExtX = function (a) {
+ this.lworldExtX = a;
+ }),
+ (i.prototype.getWorldExtY = function () {
+ return this.lworldExtY;
+ }),
+ (i.prototype.setWorldExtY = function (a) {
+ this.lworldExtY = a;
+ }),
+ (i.prototype.getDeviceOrgX = function () {
+ return this.ldeviceOrgX;
+ }),
+ (i.prototype.setDeviceOrgX = function (a) {
+ this.ldeviceOrgX = a;
+ }),
+ (i.prototype.getDeviceOrgY = function () {
+ return this.ldeviceOrgY;
+ }),
+ (i.prototype.setDeviceOrgY = function (a) {
+ this.ldeviceOrgY = a;
+ }),
+ (i.prototype.getDeviceExtX = function () {
+ return this.ldeviceExtX;
+ }),
+ (i.prototype.setDeviceExtX = function (a) {
+ this.ldeviceExtX = a;
+ }),
+ (i.prototype.getDeviceExtY = function () {
+ return this.ldeviceExtY;
+ }),
+ (i.prototype.setDeviceExtY = function (a) {
+ this.ldeviceExtY = a;
+ }),
+ (i.prototype.transformX = function (a) {
+ var s = 0,
+ l = this.lworldExtX;
+ return l != 0 && (s = this.ldeviceOrgX + ((a - this.lworldOrgX) * this.ldeviceExtX) / l), s;
+ }),
+ (i.prototype.transformY = function (a) {
+ var s = 0,
+ l = this.lworldExtY;
+ return l != 0 && (s = this.ldeviceOrgY + ((a - this.lworldOrgY) * this.ldeviceExtY) / l), s;
+ }),
+ (i.prototype.inverseTransformX = function (a) {
+ var s = 0,
+ l = this.ldeviceExtX;
+ return l != 0 && (s = this.lworldOrgX + ((a - this.ldeviceOrgX) * this.lworldExtX) / l), s;
+ }),
+ (i.prototype.inverseTransformY = function (a) {
+ var s = 0,
+ l = this.ldeviceExtY;
+ return l != 0 && (s = this.lworldOrgY + ((a - this.ldeviceOrgY) * this.lworldExtY) / l), s;
+ }),
+ (i.prototype.inverseTransformPoint = function (a) {
+ var s = new n(this.inverseTransformX(a.x), this.inverseTransformY(a.y));
+ return s;
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(d) {
+ if (Array.isArray(d)) {
+ for (var p = 0, m = Array(d.length); p < d.length; p++) m[p] = d[p];
+ return m;
+ } else return Array.from(d);
+ }
+ o(n, '_toConsumableArray');
+ var i = r(15),
+ a = r(7),
+ s = r(0),
+ l = r(8),
+ u = r(9);
+ function h() {
+ i.call(this),
+ (this.useSmartIdealEdgeLengthCalculation =
+ a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION),
+ (this.idealEdgeLength = a.DEFAULT_EDGE_LENGTH),
+ (this.springConstant = a.DEFAULT_SPRING_STRENGTH),
+ (this.repulsionConstant = a.DEFAULT_REPULSION_STRENGTH),
+ (this.gravityConstant = a.DEFAULT_GRAVITY_STRENGTH),
+ (this.compoundGravityConstant = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH),
+ (this.gravityRangeFactor = a.DEFAULT_GRAVITY_RANGE_FACTOR),
+ (this.compoundGravityRangeFactor = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR),
+ (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100),
+ (this.coolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL),
+ (this.initialCoolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL),
+ (this.totalDisplacement = 0),
+ (this.oldTotalDisplacement = 0),
+ (this.maxIterations = a.MAX_ITERATIONS);
+ }
+ o(h, 'FDLayout'), (h.prototype = Object.create(i.prototype));
+ for (var f in i) h[f] = i[f];
+ (h.prototype.initParameters = function () {
+ i.prototype.initParameters.call(this, arguments),
+ (this.totalIterations = 0),
+ (this.notAnimatedIterations = 0),
+ (this.useFRGridVariant = a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION),
+ (this.grid = []);
+ }),
+ (h.prototype.calcIdealEdgeLengths = function () {
+ for (
+ var d, p, m, g, y, v, x = this.getGraphManager().getAllEdges(), b = 0;
+ b < x.length;
+ b++
+ )
+ (d = x[b]),
+ (d.idealLength = this.idealEdgeLength),
+ d.isInterGraph &&
+ ((m = d.getSource()),
+ (g = d.getTarget()),
+ (y = d.getSourceInLca().getEstimatedSize()),
+ (v = d.getTargetInLca().getEstimatedSize()),
+ this.useSmartIdealEdgeLengthCalculation &&
+ (d.idealLength += y + v - 2 * s.SIMPLE_NODE_SIZE),
+ (p = d.getLca().getInclusionTreeDepth()),
+ (d.idealLength +=
+ a.DEFAULT_EDGE_LENGTH *
+ a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR *
+ (m.getInclusionTreeDepth() + g.getInclusionTreeDepth() - 2 * p)));
+ }),
+ (h.prototype.initSpringEmbedder = function () {
+ var d = this.getAllNodes().length;
+ this.incremental
+ ? (d > a.ADAPTATION_LOWER_NODE_LIMIT &&
+ (this.coolingFactor = Math.max(
+ this.coolingFactor * a.COOLING_ADAPTATION_FACTOR,
+ this.coolingFactor -
+ ((d - a.ADAPTATION_LOWER_NODE_LIMIT) /
+ (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) *
+ this.coolingFactor *
+ (1 - a.COOLING_ADAPTATION_FACTOR)
+ )),
+ (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT_INCREMENTAL))
+ : (d > a.ADAPTATION_LOWER_NODE_LIMIT
+ ? (this.coolingFactor = Math.max(
+ a.COOLING_ADAPTATION_FACTOR,
+ 1 -
+ ((d - a.ADAPTATION_LOWER_NODE_LIMIT) /
+ (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) *
+ (1 - a.COOLING_ADAPTATION_FACTOR)
+ ))
+ : (this.coolingFactor = 1),
+ (this.initialCoolingFactor = this.coolingFactor),
+ (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT)),
+ (this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations)),
+ (this.totalDisplacementThreshold =
+ this.displacementThresholdPerNode * this.getAllNodes().length),
+ (this.repulsionRange = this.calcRepulsionRange());
+ }),
+ (h.prototype.calcSpringForces = function () {
+ for (var d = this.getAllEdges(), p, m = 0; m < d.length; m++)
+ (p = d[m]), this.calcSpringForce(p, p.idealLength);
+ }),
+ (h.prototype.calcRepulsionForces = function () {
+ var d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0,
+ p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1,
+ m,
+ g,
+ y,
+ v,
+ x = this.getAllNodes(),
+ b;
+ if (this.useFRGridVariant)
+ for (
+ this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 &&
+ d &&
+ this.updateGrid(),
+ b = new Set(),
+ m = 0;
+ m < x.length;
+ m++
+ )
+ (y = x[m]), this.calculateRepulsionForceOfANode(y, b, d, p), b.add(y);
+ else
+ for (m = 0; m < x.length; m++)
+ for (y = x[m], g = m + 1; g < x.length; g++)
+ (v = x[g]), y.getOwner() == v.getOwner() && this.calcRepulsionForce(y, v);
+ }),
+ (h.prototype.calcGravitationalForces = function () {
+ for (var d, p = this.getAllNodesToApplyGravitation(), m = 0; m < p.length; m++)
+ (d = p[m]), this.calcGravitationalForce(d);
+ }),
+ (h.prototype.moveNodes = function () {
+ for (var d = this.getAllNodes(), p, m = 0; m < d.length; m++) (p = d[m]), p.move();
+ }),
+ (h.prototype.calcSpringForce = function (d, p) {
+ var m = d.getSource(),
+ g = d.getTarget(),
+ y,
+ v,
+ x,
+ b;
+ if (this.uniformLeafNodeSizes && m.getChild() == null && g.getChild() == null)
+ d.updateLengthSimple();
+ else if ((d.updateLength(), d.isOverlapingSourceAndTarget)) return;
+ (y = d.getLength()),
+ y != 0 &&
+ ((v = this.springConstant * (y - p)),
+ (x = v * (d.lengthX / y)),
+ (b = v * (d.lengthY / y)),
+ (m.springForceX += x),
+ (m.springForceY += b),
+ (g.springForceX -= x),
+ (g.springForceY -= b));
+ }),
+ (h.prototype.calcRepulsionForce = function (d, p) {
+ var m = d.getRect(),
+ g = p.getRect(),
+ y = new Array(2),
+ v = new Array(4),
+ x,
+ b,
+ w,
+ S,
+ T,
+ E,
+ _;
+ if (m.intersects(g)) {
+ l.calcSeparationAmount(m, g, y, a.DEFAULT_EDGE_LENGTH / 2),
+ (E = 2 * y[0]),
+ (_ = 2 * y[1]);
+ var A = (d.noOfChildren * p.noOfChildren) / (d.noOfChildren + p.noOfChildren);
+ (d.repulsionForceX -= A * E),
+ (d.repulsionForceY -= A * _),
+ (p.repulsionForceX += A * E),
+ (p.repulsionForceY += A * _);
+ } else
+ this.uniformLeafNodeSizes && d.getChild() == null && p.getChild() == null
+ ? ((x = g.getCenterX() - m.getCenterX()), (b = g.getCenterY() - m.getCenterY()))
+ : (l.getIntersection(m, g, v), (x = v[2] - v[0]), (b = v[3] - v[1])),
+ Math.abs(x) < a.MIN_REPULSION_DIST && (x = u.sign(x) * a.MIN_REPULSION_DIST),
+ Math.abs(b) < a.MIN_REPULSION_DIST && (b = u.sign(b) * a.MIN_REPULSION_DIST),
+ (w = x * x + b * b),
+ (S = Math.sqrt(w)),
+ (T = (this.repulsionConstant * d.noOfChildren * p.noOfChildren) / w),
+ (E = (T * x) / S),
+ (_ = (T * b) / S),
+ (d.repulsionForceX -= E),
+ (d.repulsionForceY -= _),
+ (p.repulsionForceX += E),
+ (p.repulsionForceY += _);
+ }),
+ (h.prototype.calcGravitationalForce = function (d) {
+ var p, m, g, y, v, x, b, w;
+ (p = d.getOwner()),
+ (m = (p.getRight() + p.getLeft()) / 2),
+ (g = (p.getTop() + p.getBottom()) / 2),
+ (y = d.getCenterX() - m),
+ (v = d.getCenterY() - g),
+ (x = Math.abs(y) + d.getWidth() / 2),
+ (b = Math.abs(v) + d.getHeight() / 2),
+ d.getOwner() == this.graphManager.getRoot()
+ ? ((w = p.getEstimatedSize() * this.gravityRangeFactor),
+ (x > w || b > w) &&
+ ((d.gravitationForceX = -this.gravityConstant * y),
+ (d.gravitationForceY = -this.gravityConstant * v)))
+ : ((w = p.getEstimatedSize() * this.compoundGravityRangeFactor),
+ (x > w || b > w) &&
+ ((d.gravitationForceX =
+ -this.gravityConstant * y * this.compoundGravityConstant),
+ (d.gravitationForceY =
+ -this.gravityConstant * v * this.compoundGravityConstant)));
+ }),
+ (h.prototype.isConverged = function () {
+ var d,
+ p = !1;
+ return (
+ this.totalIterations > this.maxIterations / 3 &&
+ (p = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2),
+ (d = this.totalDisplacement < this.totalDisplacementThreshold),
+ (this.oldTotalDisplacement = this.totalDisplacement),
+ d || p
+ );
+ }),
+ (h.prototype.animate = function () {
+ this.animationDuringLayout &&
+ !this.isSubLayout &&
+ (this.notAnimatedIterations == this.animationPeriod
+ ? (this.update(), (this.notAnimatedIterations = 0))
+ : this.notAnimatedIterations++);
+ }),
+ (h.prototype.calcNoOfChildrenForAllNodes = function () {
+ for (var d, p = this.graphManager.getAllNodes(), m = 0; m < p.length; m++)
+ (d = p[m]), (d.noOfChildren = d.getNoOfChildren());
+ }),
+ (h.prototype.calcGrid = function (d) {
+ var p = 0,
+ m = 0;
+ (p = parseInt(Math.ceil((d.getRight() - d.getLeft()) / this.repulsionRange))),
+ (m = parseInt(Math.ceil((d.getBottom() - d.getTop()) / this.repulsionRange)));
+ for (var g = new Array(p), y = 0; y < p; y++) g[y] = new Array(m);
+ for (var y = 0; y < p; y++) for (var v = 0; v < m; v++) g[y][v] = new Array();
+ return g;
+ }),
+ (h.prototype.addNodeToGrid = function (d, p, m) {
+ var g = 0,
+ y = 0,
+ v = 0,
+ x = 0;
+ (g = parseInt(Math.floor((d.getRect().x - p) / this.repulsionRange))),
+ (y = parseInt(
+ Math.floor((d.getRect().width + d.getRect().x - p) / this.repulsionRange)
+ )),
+ (v = parseInt(Math.floor((d.getRect().y - m) / this.repulsionRange))),
+ (x = parseInt(
+ Math.floor((d.getRect().height + d.getRect().y - m) / this.repulsionRange)
+ ));
+ for (var b = g; b <= y; b++)
+ for (var w = v; w <= x; w++) this.grid[b][w].push(d), d.setGridCoordinates(g, y, v, x);
+ }),
+ (h.prototype.updateGrid = function () {
+ var d,
+ p,
+ m = this.getAllNodes();
+ for (this.grid = this.calcGrid(this.graphManager.getRoot()), d = 0; d < m.length; d++)
+ (p = m[d]),
+ this.addNodeToGrid(
+ p,
+ this.graphManager.getRoot().getLeft(),
+ this.graphManager.getRoot().getTop()
+ );
+ }),
+ (h.prototype.calculateRepulsionForceOfANode = function (d, p, m, g) {
+ if ((this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && m) || g) {
+ var y = new Set();
+ d.surrounding = new Array();
+ for (var v, x = this.grid, b = d.startX - 1; b < d.finishX + 2; b++)
+ for (var w = d.startY - 1; w < d.finishY + 2; w++)
+ if (!(b < 0 || w < 0 || b >= x.length || w >= x[0].length)) {
+ for (var S = 0; S < x[b][w].length; S++)
+ if (
+ ((v = x[b][w][S]),
+ !(d.getOwner() != v.getOwner() || d == v) && !p.has(v) && !y.has(v))
+ ) {
+ var T =
+ Math.abs(d.getCenterX() - v.getCenterX()) -
+ (d.getWidth() / 2 + v.getWidth() / 2),
+ E =
+ Math.abs(d.getCenterY() - v.getCenterY()) -
+ (d.getHeight() / 2 + v.getHeight() / 2);
+ T <= this.repulsionRange && E <= this.repulsionRange && y.add(v);
+ }
+ }
+ d.surrounding = [].concat(n(y));
+ }
+ for (b = 0; b < d.surrounding.length; b++) this.calcRepulsionForce(d, d.surrounding[b]);
+ }),
+ (h.prototype.calcRepulsionRange = function () {
+ return 0;
+ }),
+ (t.exports = h);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(1),
+ i = r(7);
+ function a(l, u, h) {
+ n.call(this, l, u, h), (this.idealLength = i.DEFAULT_EDGE_LENGTH);
+ }
+ o(a, 'FDLayoutEdge'), (a.prototype = Object.create(n.prototype));
+ for (var s in n) a[s] = n[s];
+ t.exports = a;
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(3);
+ function i(s, l, u, h) {
+ n.call(this, s, l, u, h),
+ (this.springForceX = 0),
+ (this.springForceY = 0),
+ (this.repulsionForceX = 0),
+ (this.repulsionForceY = 0),
+ (this.gravitationForceX = 0),
+ (this.gravitationForceY = 0),
+ (this.displacementX = 0),
+ (this.displacementY = 0),
+ (this.startX = 0),
+ (this.finishX = 0),
+ (this.startY = 0),
+ (this.finishY = 0),
+ (this.surrounding = []);
+ }
+ o(i, 'FDLayoutNode'), (i.prototype = Object.create(n.prototype));
+ for (var a in n) i[a] = n[a];
+ (i.prototype.setGridCoordinates = function (s, l, u, h) {
+ (this.startX = s), (this.finishX = l), (this.startY = u), (this.finishY = h);
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a) {
+ (this.width = 0),
+ (this.height = 0),
+ i !== null && a !== null && ((this.height = a), (this.width = i));
+ }
+ o(n, 'DimensionD'),
+ (n.prototype.getWidth = function () {
+ return this.width;
+ }),
+ (n.prototype.setWidth = function (i) {
+ this.width = i;
+ }),
+ (n.prototype.getHeight = function () {
+ return this.height;
+ }),
+ (n.prototype.setHeight = function (i) {
+ this.height = i;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(14);
+ function i() {
+ (this.map = {}), (this.keys = []);
+ }
+ o(i, 'HashMap'),
+ (i.prototype.put = function (a, s) {
+ var l = n.createID(a);
+ this.contains(l) || ((this.map[l] = s), this.keys.push(a));
+ }),
+ (i.prototype.contains = function (a) {
+ var s = n.createID(a);
+ return this.map[a] != null;
+ }),
+ (i.prototype.get = function (a) {
+ var s = n.createID(a);
+ return this.map[s];
+ }),
+ (i.prototype.keySet = function () {
+ return this.keys;
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(14);
+ function i() {
+ this.set = {};
+ }
+ o(i, 'HashSet'),
+ (i.prototype.add = function (a) {
+ var s = n.createID(a);
+ this.contains(s) || (this.set[s] = a);
+ }),
+ (i.prototype.remove = function (a) {
+ delete this.set[n.createID(a)];
+ }),
+ (i.prototype.clear = function () {
+ this.set = {};
+ }),
+ (i.prototype.contains = function (a) {
+ return this.set[n.createID(a)] == a;
+ }),
+ (i.prototype.isEmpty = function () {
+ return this.size() === 0;
+ }),
+ (i.prototype.size = function () {
+ return Object.keys(this.set).length;
+ }),
+ (i.prototype.addAllTo = function (a) {
+ for (var s = Object.keys(this.set), l = s.length, u = 0; u < l; u++) a.push(this.set[s[u]]);
+ }),
+ (i.prototype.size = function () {
+ return Object.keys(this.set).length;
+ }),
+ (i.prototype.addAll = function (a) {
+ for (var s = a.length, l = 0; l < s; l++) {
+ var u = a[l];
+ this.add(u);
+ }
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function l(u, h) {
+ for (var f = 0; f < h.length; f++) {
+ var d = h[f];
+ (d.enumerable = d.enumerable || !1),
+ (d.configurable = !0),
+ 'value' in d && (d.writable = !0),
+ Object.defineProperty(u, d.key, d);
+ }
+ }
+ return (
+ o(l, 'defineProperties'),
+ function (u, h, f) {
+ return h && l(u.prototype, h), f && l(u, f), u;
+ }
+ );
+ })();
+ function i(l, u) {
+ if (!(l instanceof u)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = r(11),
+ s = (function () {
+ function l(u, h) {
+ i(this, l),
+ (h !== null || h !== void 0) &&
+ (this.compareFunction = this._defaultCompareFunction);
+ var f = void 0;
+ u instanceof a ? (f = u.size()) : (f = u.length), this._quicksort(u, 0, f - 1);
+ }
+ return (
+ o(l, 'Quicksort'),
+ n(l, [
+ {
+ key: '_quicksort',
+ value: o(function (h, f, d) {
+ if (f < d) {
+ var p = this._partition(h, f, d);
+ this._quicksort(h, f, p), this._quicksort(h, p + 1, d);
+ }
+ }, '_quicksort')
+ },
+ {
+ key: '_partition',
+ value: o(function (h, f, d) {
+ for (var p = this._get(h, f), m = f, g = d; ; ) {
+ for (; this.compareFunction(p, this._get(h, g)); ) g--;
+ for (; this.compareFunction(this._get(h, m), p); ) m++;
+ if (m < g) this._swap(h, m, g), m++, g--;
+ else return g;
+ }
+ }, '_partition')
+ },
+ {
+ key: '_get',
+ value: o(function (h, f) {
+ return h instanceof a ? h.get_object_at(f) : h[f];
+ }, '_get')
+ },
+ {
+ key: '_set',
+ value: o(function (h, f, d) {
+ h instanceof a ? h.set_object_at(f, d) : (h[f] = d);
+ }, '_set')
+ },
+ {
+ key: '_swap',
+ value: o(function (h, f, d) {
+ var p = this._get(h, f);
+ this._set(h, f, this._get(h, d)), this._set(h, d, p);
+ }, '_swap')
+ },
+ {
+ key: '_defaultCompareFunction',
+ value: o(function (h, f) {
+ return f > h;
+ }, '_defaultCompareFunction')
+ }
+ ]),
+ l
+ );
+ })();
+ t.exports = s;
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function s(l, u) {
+ for (var h = 0; h < u.length; h++) {
+ var f = u[h];
+ (f.enumerable = f.enumerable || !1),
+ (f.configurable = !0),
+ 'value' in f && (f.writable = !0),
+ Object.defineProperty(l, f.key, f);
+ }
+ }
+ return (
+ o(s, 'defineProperties'),
+ function (l, u, h) {
+ return u && s(l.prototype, u), h && s(l, h), l;
+ }
+ );
+ })();
+ function i(s, l) {
+ if (!(s instanceof l)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = (function () {
+ function s(l, u) {
+ var h = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1,
+ f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1,
+ d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1;
+ i(this, s),
+ (this.sequence1 = l),
+ (this.sequence2 = u),
+ (this.match_score = h),
+ (this.mismatch_penalty = f),
+ (this.gap_penalty = d),
+ (this.iMax = l.length + 1),
+ (this.jMax = u.length + 1),
+ (this.grid = new Array(this.iMax));
+ for (var p = 0; p < this.iMax; p++) {
+ this.grid[p] = new Array(this.jMax);
+ for (var m = 0; m < this.jMax; m++) this.grid[p][m] = 0;
+ }
+ this.tracebackGrid = new Array(this.iMax);
+ for (var g = 0; g < this.iMax; g++) {
+ this.tracebackGrid[g] = new Array(this.jMax);
+ for (var y = 0; y < this.jMax; y++) this.tracebackGrid[g][y] = [null, null, null];
+ }
+ (this.alignments = []), (this.score = -1), this.computeGrids();
+ }
+ return (
+ o(s, 'NeedlemanWunsch'),
+ n(s, [
+ {
+ key: 'getScore',
+ value: o(function () {
+ return this.score;
+ }, 'getScore')
+ },
+ {
+ key: 'getAlignments',
+ value: o(function () {
+ return this.alignments;
+ }, 'getAlignments')
+ },
+ {
+ key: 'computeGrids',
+ value: o(function () {
+ for (var u = 1; u < this.jMax; u++)
+ (this.grid[0][u] = this.grid[0][u - 1] + this.gap_penalty),
+ (this.tracebackGrid[0][u] = [!1, !1, !0]);
+ for (var h = 1; h < this.iMax; h++)
+ (this.grid[h][0] = this.grid[h - 1][0] + this.gap_penalty),
+ (this.tracebackGrid[h][0] = [!1, !0, !1]);
+ for (var f = 1; f < this.iMax; f++)
+ for (var d = 1; d < this.jMax; d++) {
+ var p = void 0;
+ this.sequence1[f - 1] === this.sequence2[d - 1]
+ ? (p = this.grid[f - 1][d - 1] + this.match_score)
+ : (p = this.grid[f - 1][d - 1] + this.mismatch_penalty);
+ var m = this.grid[f - 1][d] + this.gap_penalty,
+ g = this.grid[f][d - 1] + this.gap_penalty,
+ y = [p, m, g],
+ v = this.arrayAllMaxIndexes(y);
+ (this.grid[f][d] = y[v[0]]),
+ (this.tracebackGrid[f][d] = [
+ v.includes(0),
+ v.includes(1),
+ v.includes(2)
+ ]);
+ }
+ this.score = this.grid[this.iMax - 1][this.jMax - 1];
+ }, 'computeGrids')
+ },
+ {
+ key: 'alignmentTraceback',
+ value: o(function () {
+ var u = [];
+ for (
+ u.push({
+ pos: [this.sequence1.length, this.sequence2.length],
+ seq1: '',
+ seq2: ''
+ });
+ u[0];
+
+ ) {
+ var h = u[0],
+ f = this.tracebackGrid[h.pos[0]][h.pos[1]];
+ f[0] &&
+ u.push({
+ pos: [h.pos[0] - 1, h.pos[1] - 1],
+ seq1: this.sequence1[h.pos[0] - 1] + h.seq1,
+ seq2: this.sequence2[h.pos[1] - 1] + h.seq2
+ }),
+ f[1] &&
+ u.push({
+ pos: [h.pos[0] - 1, h.pos[1]],
+ seq1: this.sequence1[h.pos[0] - 1] + h.seq1,
+ seq2: '-' + h.seq2
+ }),
+ f[2] &&
+ u.push({
+ pos: [h.pos[0], h.pos[1] - 1],
+ seq1: '-' + h.seq1,
+ seq2: this.sequence2[h.pos[1] - 1] + h.seq2
+ }),
+ h.pos[0] === 0 &&
+ h.pos[1] === 0 &&
+ this.alignments.push({
+ sequence1: h.seq1,
+ sequence2: h.seq2
+ }),
+ u.shift();
+ }
+ return this.alignments;
+ }, 'alignmentTraceback')
+ },
+ {
+ key: 'getAllIndexes',
+ value: o(function (u, h) {
+ for (var f = [], d = -1; (d = u.indexOf(h, d + 1)) !== -1; ) f.push(d);
+ return f;
+ }, 'getAllIndexes')
+ },
+ {
+ key: 'arrayAllMaxIndexes',
+ value: o(function (u) {
+ return this.getAllIndexes(u, Math.max.apply(null, u));
+ }, 'arrayAllMaxIndexes')
+ }
+ ]),
+ s
+ );
+ })();
+ t.exports = a;
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = o(function () {}, 'layoutBase');
+ (n.FDLayout = r(18)),
+ (n.FDLayoutConstants = r(7)),
+ (n.FDLayoutEdge = r(19)),
+ (n.FDLayoutNode = r(20)),
+ (n.DimensionD = r(21)),
+ (n.HashMap = r(22)),
+ (n.HashSet = r(23)),
+ (n.IGeometry = r(8)),
+ (n.IMath = r(9)),
+ (n.Integer = r(10)),
+ (n.Point = r(12)),
+ (n.PointD = r(4)),
+ (n.RandomSeed = r(16)),
+ (n.RectangleD = r(13)),
+ (n.Transform = r(17)),
+ (n.UniqueIDGeneretor = r(14)),
+ (n.Quicksort = r(24)),
+ (n.LinkedList = r(11)),
+ (n.LGraphObject = r(2)),
+ (n.LGraph = r(5)),
+ (n.LEdge = r(1)),
+ (n.LGraphManager = r(6)),
+ (n.LNode = r(3)),
+ (n.Layout = r(15)),
+ (n.LayoutConstants = r(0)),
+ (n.NeedlemanWunsch = r(25)),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {
+ this.listeners = [];
+ }
+ o(n, 'Emitter');
+ var i = n.prototype;
+ (i.addListener = function (a, s) {
+ this.listeners.push({ event: a, callback: s });
+ }),
+ (i.removeListener = function (a, s) {
+ for (var l = this.listeners.length; l >= 0; l--) {
+ var u = this.listeners[l];
+ u.event === a && u.callback === s && this.listeners.splice(l, 1);
+ }
+ }),
+ (i.emit = function (a, s) {
+ for (var l = 0; l < this.listeners.length; l++) {
+ var u = this.listeners[l];
+ a === u.event && u.callback(s);
+ }
+ }),
+ (t.exports = n);
+ }
+ ]);
+ });
+ });
+ var TB = gi((ob, wB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof ob == 'object' && typeof wB == 'object'
+ ? (wB.exports = r(bB()))
+ : typeof define == 'function' && define.amd
+ ? define(['layout-base'], r)
+ : typeof ob == 'object'
+ ? (ob.coseBase = r(bB()))
+ : (e.coseBase = r(e.layoutBase));
+ }, 'webpackUniversalModuleDefinition')(ob, function (t) {
+ return (function (e) {
+ var r = {};
+ function n(i) {
+ if (r[i]) return r[i].exports;
+ var a = (r[i] = { i, l: !1, exports: {} });
+ return e[i].call(a.exports, a, a.exports, n), (a.l = !0), a.exports;
+ }
+ return (
+ o(n, '__webpack_require__'),
+ (n.m = e),
+ (n.c = r),
+ (n.i = function (i) {
+ return i;
+ }),
+ (n.d = function (i, a, s) {
+ n.o(i, a) ||
+ Object.defineProperty(i, a, {
+ configurable: !1,
+ enumerable: !0,
+ get: s
+ });
+ }),
+ (n.n = function (i) {
+ var a =
+ i && i.__esModule
+ ? o(function () {
+ return i.default;
+ }, 'getDefault')
+ : o(function () {
+ return i;
+ }, 'getModuleExports');
+ return n.d(a, 'a', a), a;
+ }),
+ (n.o = function (i, a) {
+ return Object.prototype.hasOwnProperty.call(i, a);
+ }),
+ (n.p = ''),
+ n((n.s = 7))
+ );
+ })([
+ function (e, r) {
+ e.exports = t;
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).FDLayoutConstants;
+ function a() {}
+ o(a, 'CoSEConstants');
+ for (var s in i) a[s] = i[s];
+ (a.DEFAULT_USE_MULTI_LEVEL_SCALING = !1),
+ (a.DEFAULT_RADIAL_SEPARATION = i.DEFAULT_EDGE_LENGTH),
+ (a.DEFAULT_COMPONENT_SEPERATION = 60),
+ (a.TILE = !0),
+ (a.TILING_PADDING_VERTICAL = 10),
+ (a.TILING_PADDING_HORIZONTAL = 10),
+ (a.TREE_REDUCTION_ON_INCREMENTAL = !1),
+ (e.exports = a);
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).FDLayoutEdge;
+ function a(l, u, h) {
+ i.call(this, l, u, h);
+ }
+ o(a, 'CoSEEdge'), (a.prototype = Object.create(i.prototype));
+ for (var s in i) a[s] = i[s];
+ e.exports = a;
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).LGraph;
+ function a(l, u, h) {
+ i.call(this, l, u, h);
+ }
+ o(a, 'CoSEGraph'), (a.prototype = Object.create(i.prototype));
+ for (var s in i) a[s] = i[s];
+ e.exports = a;
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).LGraphManager;
+ function a(l) {
+ i.call(this, l);
+ }
+ o(a, 'CoSEGraphManager'), (a.prototype = Object.create(i.prototype));
+ for (var s in i) a[s] = i[s];
+ e.exports = a;
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).FDLayoutNode,
+ a = n(0).IMath;
+ function s(u, h, f, d) {
+ i.call(this, u, h, f, d);
+ }
+ o(s, 'CoSENode'), (s.prototype = Object.create(i.prototype));
+ for (var l in i) s[l] = i[l];
+ (s.prototype.move = function () {
+ var u = this.graphManager.getLayout();
+ (this.displacementX =
+ (u.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX)) /
+ this.noOfChildren),
+ (this.displacementY =
+ (u.coolingFactor *
+ (this.springForceY + this.repulsionForceY + this.gravitationForceY)) /
+ this.noOfChildren),
+ Math.abs(this.displacementX) > u.coolingFactor * u.maxNodeDisplacement &&
+ (this.displacementX =
+ u.coolingFactor * u.maxNodeDisplacement * a.sign(this.displacementX)),
+ Math.abs(this.displacementY) > u.coolingFactor * u.maxNodeDisplacement &&
+ (this.displacementY =
+ u.coolingFactor * u.maxNodeDisplacement * a.sign(this.displacementY)),
+ this.child == null
+ ? this.moveBy(this.displacementX, this.displacementY)
+ : this.child.getNodes().length == 0
+ ? this.moveBy(this.displacementX, this.displacementY)
+ : this.propogateDisplacementToChildren(this.displacementX, this.displacementY),
+ (u.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY)),
+ (this.springForceX = 0),
+ (this.springForceY = 0),
+ (this.repulsionForceX = 0),
+ (this.repulsionForceY = 0),
+ (this.gravitationForceX = 0),
+ (this.gravitationForceY = 0),
+ (this.displacementX = 0),
+ (this.displacementY = 0);
+ }),
+ (s.prototype.propogateDisplacementToChildren = function (u, h) {
+ for (var f = this.getChild().getNodes(), d, p = 0; p < f.length; p++)
+ (d = f[p]),
+ d.getChild() == null
+ ? (d.moveBy(u, h), (d.displacementX += u), (d.displacementY += h))
+ : d.propogateDisplacementToChildren(u, h);
+ }),
+ (s.prototype.setPred1 = function (u) {
+ this.pred1 = u;
+ }),
+ (s.prototype.getPred1 = function () {
+ return pred1;
+ }),
+ (s.prototype.getPred2 = function () {
+ return pred2;
+ }),
+ (s.prototype.setNext = function (u) {
+ this.next = u;
+ }),
+ (s.prototype.getNext = function () {
+ return next;
+ }),
+ (s.prototype.setProcessed = function (u) {
+ this.processed = u;
+ }),
+ (s.prototype.isProcessed = function () {
+ return processed;
+ }),
+ (e.exports = s);
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).FDLayout,
+ a = n(4),
+ s = n(3),
+ l = n(5),
+ u = n(2),
+ h = n(1),
+ f = n(0).FDLayoutConstants,
+ d = n(0).LayoutConstants,
+ p = n(0).Point,
+ m = n(0).PointD,
+ g = n(0).Layout,
+ y = n(0).Integer,
+ v = n(0).IGeometry,
+ x = n(0).LGraph,
+ b = n(0).Transform;
+ function w() {
+ i.call(this), (this.toBeTiled = {});
+ }
+ o(w, 'CoSELayout'), (w.prototype = Object.create(i.prototype));
+ for (var S in i) w[S] = i[S];
+ (w.prototype.newGraphManager = function () {
+ var T = new a(this);
+ return (this.graphManager = T), T;
+ }),
+ (w.prototype.newGraph = function (T) {
+ return new s(null, this.graphManager, T);
+ }),
+ (w.prototype.newNode = function (T) {
+ return new l(this.graphManager, T);
+ }),
+ (w.prototype.newEdge = function (T) {
+ return new u(null, null, T);
+ }),
+ (w.prototype.initParameters = function () {
+ i.prototype.initParameters.call(this, arguments),
+ this.isSubLayout ||
+ (h.DEFAULT_EDGE_LENGTH < 10
+ ? (this.idealEdgeLength = 10)
+ : (this.idealEdgeLength = h.DEFAULT_EDGE_LENGTH),
+ (this.useSmartIdealEdgeLengthCalculation =
+ h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION),
+ (this.springConstant = f.DEFAULT_SPRING_STRENGTH),
+ (this.repulsionConstant = f.DEFAULT_REPULSION_STRENGTH),
+ (this.gravityConstant = f.DEFAULT_GRAVITY_STRENGTH),
+ (this.compoundGravityConstant = f.DEFAULT_COMPOUND_GRAVITY_STRENGTH),
+ (this.gravityRangeFactor = f.DEFAULT_GRAVITY_RANGE_FACTOR),
+ (this.compoundGravityRangeFactor = f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR),
+ (this.prunedNodesAll = []),
+ (this.growTreeIterations = 0),
+ (this.afterGrowthIterations = 0),
+ (this.isTreeGrowing = !1),
+ (this.isGrowthFinished = !1),
+ (this.coolingCycle = 0),
+ (this.maxCoolingCycle = this.maxIterations / f.CONVERGENCE_CHECK_PERIOD),
+ (this.finalTemperature = f.CONVERGENCE_CHECK_PERIOD / this.maxIterations),
+ (this.coolingAdjuster = 1));
+ }),
+ (w.prototype.layout = function () {
+ var T = d.DEFAULT_CREATE_BENDS_AS_NEEDED;
+ return (
+ T && (this.createBendpoints(), this.graphManager.resetAllEdges()),
+ (this.level = 0),
+ this.classicLayout()
+ );
+ }),
+ (w.prototype.classicLayout = function () {
+ if (
+ ((this.nodesWithGravity = this.calculateNodesToApplyGravitationTo()),
+ this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),
+ this.calcNoOfChildrenForAllNodes(),
+ this.graphManager.calcLowestCommonAncestors(),
+ this.graphManager.calcInclusionTreeDepths(),
+ this.graphManager.getRoot().calcEstimatedSize(),
+ this.calcIdealEdgeLengths(),
+ this.incremental)
+ ) {
+ if (h.TREE_REDUCTION_ON_INCREMENTAL) {
+ this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation();
+ var E = new Set(this.getAllNodes()),
+ _ = this.nodesWithGravity.filter(function (M) {
+ return E.has(M);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(_);
+ }
+ } else {
+ var T = this.getFlatForest();
+ if (T.length > 0) this.positionNodesRadially(T);
+ else {
+ this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation();
+ var E = new Set(this.getAllNodes()),
+ _ = this.nodesWithGravity.filter(function (A) {
+ return E.has(A);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(_), this.positionNodesRandomly();
+ }
+ }
+ return this.initSpringEmbedder(), this.runSpringEmbedder(), !0;
+ }),
+ (w.prototype.tick = function () {
+ if (
+ (this.totalIterations++,
+ this.totalIterations === this.maxIterations &&
+ !this.isTreeGrowing &&
+ !this.isGrowthFinished)
+ )
+ if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0;
+ else return !0;
+ if (
+ this.totalIterations % f.CONVERGENCE_CHECK_PERIOD == 0 &&
+ !this.isTreeGrowing &&
+ !this.isGrowthFinished
+ ) {
+ if (this.isConverged())
+ if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0;
+ else return !0;
+ this.coolingCycle++,
+ this.layoutQuality == 0
+ ? (this.coolingAdjuster = this.coolingCycle)
+ : this.layoutQuality == 1 && (this.coolingAdjuster = this.coolingCycle / 3),
+ (this.coolingFactor = Math.max(
+ this.initialCoolingFactor -
+ (Math.pow(
+ this.coolingCycle,
+ Math.log(100 * (this.initialCoolingFactor - this.finalTemperature)) /
+ Math.log(this.maxCoolingCycle)
+ ) /
+ 100) *
+ this.coolingAdjuster,
+ this.finalTemperature
+ )),
+ (this.animationPeriod = Math.ceil(
+ this.initialAnimationPeriod * Math.sqrt(this.coolingFactor)
+ ));
+ }
+ if (this.isTreeGrowing) {
+ if (this.growTreeIterations % 10 == 0)
+ if (this.prunedNodesAll.length > 0) {
+ this.graphManager.updateBounds(),
+ this.updateGrid(),
+ this.growTree(this.prunedNodesAll),
+ this.graphManager.resetAllNodesToApplyGravitation();
+ var T = new Set(this.getAllNodes()),
+ E = this.nodesWithGravity.filter(function (L) {
+ return T.has(L);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(E),
+ this.graphManager.updateBounds(),
+ this.updateGrid(),
+ (this.coolingFactor = f.DEFAULT_COOLING_FACTOR_INCREMENTAL);
+ } else (this.isTreeGrowing = !1), (this.isGrowthFinished = !0);
+ this.growTreeIterations++;
+ }
+ if (this.isGrowthFinished) {
+ if (this.isConverged()) return !0;
+ this.afterGrowthIterations % 10 == 0 &&
+ (this.graphManager.updateBounds(), this.updateGrid()),
+ (this.coolingFactor =
+ f.DEFAULT_COOLING_FACTOR_INCREMENTAL *
+ ((100 - this.afterGrowthIterations) / 100)),
+ this.afterGrowthIterations++;
+ }
+ var _ = !this.isTreeGrowing && !this.isGrowthFinished,
+ A =
+ (this.growTreeIterations % 10 == 1 && this.isTreeGrowing) ||
+ (this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished);
+ return (
+ (this.totalDisplacement = 0),
+ this.graphManager.updateBounds(),
+ this.calcSpringForces(),
+ this.calcRepulsionForces(_, A),
+ this.calcGravitationalForces(),
+ this.moveNodes(),
+ this.animate(),
+ !1
+ );
+ }),
+ (w.prototype.getPositionsData = function () {
+ for (var T = this.graphManager.getAllNodes(), E = {}, _ = 0; _ < T.length; _++) {
+ var A = T[_].rect,
+ L = T[_].id;
+ E[L] = {
+ id: L,
+ x: A.getCenterX(),
+ y: A.getCenterY(),
+ w: A.width,
+ h: A.height
+ };
+ }
+ return E;
+ }),
+ (w.prototype.runSpringEmbedder = function () {
+ (this.initialAnimationPeriod = 25), (this.animationPeriod = this.initialAnimationPeriod);
+ var T = !1;
+ if (f.ANIMATE === 'during') this.emit('layoutstarted');
+ else {
+ for (; !T; ) T = this.tick();
+ this.graphManager.updateBounds();
+ }
+ }),
+ (w.prototype.calculateNodesToApplyGravitationTo = function () {
+ var T = [],
+ E,
+ _ = this.graphManager.getGraphs(),
+ A = _.length,
+ L;
+ for (L = 0; L < A; L++)
+ (E = _[L]), E.updateConnected(), E.isConnected || (T = T.concat(E.getNodes()));
+ return T;
+ }),
+ (w.prototype.createBendpoints = function () {
+ var T = [];
+ T = T.concat(this.graphManager.getAllEdges());
+ var E = new Set(),
+ _;
+ for (_ = 0; _ < T.length; _++) {
+ var A = T[_];
+ if (!E.has(A)) {
+ var L = A.getSource(),
+ M = A.getTarget();
+ if (L == M)
+ A.getBendpoints().push(new m()),
+ A.getBendpoints().push(new m()),
+ this.createDummyNodesForBendpoints(A),
+ E.add(A);
+ else {
+ var N = [];
+ if (
+ ((N = N.concat(L.getEdgeListToNode(M))),
+ (N = N.concat(M.getEdgeListToNode(L))),
+ !E.has(N[0]))
+ ) {
+ if (N.length > 1) {
+ var k;
+ for (k = 0; k < N.length; k++) {
+ var I = N[k];
+ I.getBendpoints().push(new m()),
+ this.createDummyNodesForBendpoints(I);
+ }
+ }
+ N.forEach(function (C) {
+ E.add(C);
+ });
+ }
+ }
+ }
+ if (E.size == T.length) break;
+ }
+ }),
+ (w.prototype.positionNodesRadially = function (T) {
+ for (
+ var E = new p(0, 0),
+ _ = Math.ceil(Math.sqrt(T.length)),
+ A = 0,
+ L = 0,
+ M = 0,
+ N = new m(0, 0),
+ k = 0;
+ k < T.length;
+ k++
+ ) {
+ k % _ == 0 &&
+ ((M = 0), (L = A), k != 0 && (L += h.DEFAULT_COMPONENT_SEPERATION), (A = 0));
+ var I = T[k],
+ C = g.findCenterOfTree(I);
+ (E.x = M),
+ (E.y = L),
+ (N = w.radialLayout(I, C, E)),
+ N.y > A && (A = Math.floor(N.y)),
+ (M = Math.floor(N.x + h.DEFAULT_COMPONENT_SEPERATION));
+ }
+ this.transform(new m(d.WORLD_CENTER_X - N.x / 2, d.WORLD_CENTER_Y - N.y / 2));
+ }),
+ (w.radialLayout = function (T, E, _) {
+ var A = Math.max(this.maxDiagonalInTree(T), h.DEFAULT_RADIAL_SEPARATION);
+ w.branchRadialLayout(E, null, 0, 359, 0, A);
+ var L = x.calculateBounds(T),
+ M = new b();
+ M.setDeviceOrgX(L.getMinX()),
+ M.setDeviceOrgY(L.getMinY()),
+ M.setWorldOrgX(_.x),
+ M.setWorldOrgY(_.y);
+ for (var N = 0; N < T.length; N++) {
+ var k = T[N];
+ k.transform(M);
+ }
+ var I = new m(L.getMaxX(), L.getMaxY());
+ return M.inverseTransformPoint(I);
+ }),
+ (w.branchRadialLayout = function (T, E, _, A, L, M) {
+ var N = (A - _ + 1) / 2;
+ N < 0 && (N += 180);
+ var k = (N + _) % 360,
+ I = (k * v.TWO_PI) / 360,
+ C = Math.cos(I),
+ O = L * Math.cos(I),
+ D = L * Math.sin(I);
+ T.setCenter(O, D);
+ var P = [];
+ P = P.concat(T.getEdges());
+ var F = P.length;
+ E != null && F--;
+ for (var B = 0, $ = P.length, z, Y = T.getEdgesBetween(E); Y.length > 1; ) {
+ var Q = Y[0];
+ Y.splice(0, 1);
+ var X = P.indexOf(Q);
+ X >= 0 && P.splice(X, 1), $--, F--;
+ }
+ E != null ? (z = (P.indexOf(Y[0]) + 1) % $) : (z = 0);
+ for (var ie = Math.abs(A - _) / F, j = z; B != F; j = ++j % $) {
+ var J = P[j].getOtherEnd(T);
+ if (J != E) {
+ var Z = (_ + B * ie) % 360,
+ H = (Z + ie) % 360;
+ w.branchRadialLayout(J, T, Z, H, L + M, M), B++;
+ }
+ }
+ }),
+ (w.maxDiagonalInTree = function (T) {
+ for (var E = y.MIN_VALUE, _ = 0; _ < T.length; _++) {
+ var A = T[_],
+ L = A.getDiagonal();
+ L > E && (E = L);
+ }
+ return E;
+ }),
+ (w.prototype.calcRepulsionRange = function () {
+ return 2 * (this.level + 1) * this.idealEdgeLength;
+ }),
+ (w.prototype.groupZeroDegreeMembers = function () {
+ var T = this,
+ E = {};
+ (this.memberGroups = {}), (this.idToDummyNode = {});
+ for (var _ = [], A = this.graphManager.getAllNodes(), L = 0; L < A.length; L++) {
+ var M = A[L],
+ N = M.getParent();
+ this.getNodeDegreeWithChildren(M) === 0 &&
+ (N.id == null || !this.getToBeTiled(N)) &&
+ _.push(M);
+ }
+ for (var L = 0; L < _.length; L++) {
+ var M = _[L],
+ k = M.getParent().id;
+ typeof E[k] > 'u' && (E[k] = []), (E[k] = E[k].concat(M));
+ }
+ Object.keys(E).forEach(function (I) {
+ if (E[I].length > 1) {
+ var C = 'DummyCompound_' + I;
+ T.memberGroups[C] = E[I];
+ var O = E[I][0].getParent(),
+ D = new l(T.graphManager);
+ (D.id = C),
+ (D.paddingLeft = O.paddingLeft || 0),
+ (D.paddingRight = O.paddingRight || 0),
+ (D.paddingBottom = O.paddingBottom || 0),
+ (D.paddingTop = O.paddingTop || 0),
+ (T.idToDummyNode[C] = D);
+ var P = T.getGraphManager().add(T.newGraph(), D),
+ F = O.getChild();
+ F.add(D);
+ for (var B = 0; B < E[I].length; B++) {
+ var $ = E[I][B];
+ F.remove($), P.add($);
+ }
+ }
+ });
+ }),
+ (w.prototype.clearCompounds = function () {
+ var T = {},
+ E = {};
+ this.performDFSOnCompounds();
+ for (var _ = 0; _ < this.compoundOrder.length; _++)
+ (E[this.compoundOrder[_].id] = this.compoundOrder[_]),
+ (T[this.compoundOrder[_].id] = [].concat(
+ this.compoundOrder[_].getChild().getNodes()
+ )),
+ this.graphManager.remove(this.compoundOrder[_].getChild()),
+ (this.compoundOrder[_].child = null);
+ this.graphManager.resetAllNodes(), this.tileCompoundMembers(T, E);
+ }),
+ (w.prototype.clearZeroDegreeMembers = function () {
+ var T = this,
+ E = (this.tiledZeroDegreePack = []);
+ Object.keys(this.memberGroups).forEach(function (_) {
+ var A = T.idToDummyNode[_];
+ (E[_] = T.tileNodes(T.memberGroups[_], A.paddingLeft + A.paddingRight)),
+ (A.rect.width = E[_].width),
+ (A.rect.height = E[_].height);
+ });
+ }),
+ (w.prototype.repopulateCompounds = function () {
+ for (var T = this.compoundOrder.length - 1; T >= 0; T--) {
+ var E = this.compoundOrder[T],
+ _ = E.id,
+ A = E.paddingLeft,
+ L = E.paddingTop;
+ this.adjustLocations(this.tiledMemberPack[_], E.rect.x, E.rect.y, A, L);
+ }
+ }),
+ (w.prototype.repopulateZeroDegreeMembers = function () {
+ var T = this,
+ E = this.tiledZeroDegreePack;
+ Object.keys(E).forEach(function (_) {
+ var A = T.idToDummyNode[_],
+ L = A.paddingLeft,
+ M = A.paddingTop;
+ T.adjustLocations(E[_], A.rect.x, A.rect.y, L, M);
+ });
+ }),
+ (w.prototype.getToBeTiled = function (T) {
+ var E = T.id;
+ if (this.toBeTiled[E] != null) return this.toBeTiled[E];
+ var _ = T.getChild();
+ if (_ == null) return (this.toBeTiled[E] = !1), !1;
+ for (var A = _.getNodes(), L = 0; L < A.length; L++) {
+ var M = A[L];
+ if (this.getNodeDegree(M) > 0) return (this.toBeTiled[E] = !1), !1;
+ if (M.getChild() == null) {
+ this.toBeTiled[M.id] = !1;
+ continue;
+ }
+ if (!this.getToBeTiled(M)) return (this.toBeTiled[E] = !1), !1;
+ }
+ return (this.toBeTiled[E] = !0), !0;
+ }),
+ (w.prototype.getNodeDegree = function (T) {
+ for (var E = T.id, _ = T.getEdges(), A = 0, L = 0; L < _.length; L++) {
+ var M = _[L];
+ M.getSource().id !== M.getTarget().id && (A = A + 1);
+ }
+ return A;
+ }),
+ (w.prototype.getNodeDegreeWithChildren = function (T) {
+ var E = this.getNodeDegree(T);
+ if (T.getChild() == null) return E;
+ for (var _ = T.getChild().getNodes(), A = 0; A < _.length; A++) {
+ var L = _[A];
+ E += this.getNodeDegreeWithChildren(L);
+ }
+ return E;
+ }),
+ (w.prototype.performDFSOnCompounds = function () {
+ (this.compoundOrder = []),
+ this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes());
+ }),
+ (w.prototype.fillCompexOrderByDFS = function (T) {
+ for (var E = 0; E < T.length; E++) {
+ var _ = T[E];
+ _.getChild() != null && this.fillCompexOrderByDFS(_.getChild().getNodes()),
+ this.getToBeTiled(_) && this.compoundOrder.push(_);
+ }
+ }),
+ (w.prototype.adjustLocations = function (T, E, _, A, L) {
+ (E += A), (_ += L);
+ for (var M = E, N = 0; N < T.rows.length; N++) {
+ var k = T.rows[N];
+ E = M;
+ for (var I = 0, C = 0; C < k.length; C++) {
+ var O = k[C];
+ (O.rect.x = E),
+ (O.rect.y = _),
+ (E += O.rect.width + T.horizontalPadding),
+ O.rect.height > I && (I = O.rect.height);
+ }
+ _ += I + T.verticalPadding;
+ }
+ }),
+ (w.prototype.tileCompoundMembers = function (T, E) {
+ var _ = this;
+ (this.tiledMemberPack = []),
+ Object.keys(T).forEach(function (A) {
+ var L = E[A];
+ (_.tiledMemberPack[A] = _.tileNodes(T[A], L.paddingLeft + L.paddingRight)),
+ (L.rect.width = _.tiledMemberPack[A].width),
+ (L.rect.height = _.tiledMemberPack[A].height);
+ });
+ }),
+ (w.prototype.tileNodes = function (T, E) {
+ var _ = h.TILING_PADDING_VERTICAL,
+ A = h.TILING_PADDING_HORIZONTAL,
+ L = {
+ rows: [],
+ rowWidth: [],
+ rowHeight: [],
+ width: 0,
+ height: E,
+ verticalPadding: _,
+ horizontalPadding: A
+ };
+ T.sort(function (k, I) {
+ return k.rect.width * k.rect.height > I.rect.width * I.rect.height
+ ? -1
+ : k.rect.width * k.rect.height < I.rect.width * I.rect.height
+ ? 1
+ : 0;
+ });
+ for (var M = 0; M < T.length; M++) {
+ var N = T[M];
+ L.rows.length == 0
+ ? this.insertNodeToRow(L, N, 0, E)
+ : this.canAddHorizontal(L, N.rect.width, N.rect.height)
+ ? this.insertNodeToRow(L, N, this.getShortestRowIndex(L), E)
+ : this.insertNodeToRow(L, N, L.rows.length, E),
+ this.shiftToLastRow(L);
+ }
+ return L;
+ }),
+ (w.prototype.insertNodeToRow = function (T, E, _, A) {
+ var L = A;
+ if (_ == T.rows.length) {
+ var M = [];
+ T.rows.push(M), T.rowWidth.push(L), T.rowHeight.push(0);
+ }
+ var N = T.rowWidth[_] + E.rect.width;
+ T.rows[_].length > 0 && (N += T.horizontalPadding),
+ (T.rowWidth[_] = N),
+ T.width < N && (T.width = N);
+ var k = E.rect.height;
+ _ > 0 && (k += T.verticalPadding);
+ var I = 0;
+ k > T.rowHeight[_] &&
+ ((I = T.rowHeight[_]), (T.rowHeight[_] = k), (I = T.rowHeight[_] - I)),
+ (T.height += I),
+ T.rows[_].push(E);
+ }),
+ (w.prototype.getShortestRowIndex = function (T) {
+ for (var E = -1, _ = Number.MAX_VALUE, A = 0; A < T.rows.length; A++)
+ T.rowWidth[A] < _ && ((E = A), (_ = T.rowWidth[A]));
+ return E;
+ }),
+ (w.prototype.getLongestRowIndex = function (T) {
+ for (var E = -1, _ = Number.MIN_VALUE, A = 0; A < T.rows.length; A++)
+ T.rowWidth[A] > _ && ((E = A), (_ = T.rowWidth[A]));
+ return E;
+ }),
+ (w.prototype.canAddHorizontal = function (T, E, _) {
+ var A = this.getShortestRowIndex(T);
+ if (A < 0) return !0;
+ var L = T.rowWidth[A];
+ if (L + T.horizontalPadding + E <= T.width) return !0;
+ var M = 0;
+ T.rowHeight[A] < _ && A > 0 && (M = _ + T.verticalPadding - T.rowHeight[A]);
+ var N;
+ T.width - L >= E + T.horizontalPadding
+ ? (N = (T.height + M) / (L + E + T.horizontalPadding))
+ : (N = (T.height + M) / T.width),
+ (M = _ + T.verticalPadding);
+ var k;
+ return (
+ T.width < E ? (k = (T.height + M) / E) : (k = (T.height + M) / T.width),
+ k < 1 && (k = 1 / k),
+ N < 1 && (N = 1 / N),
+ N < k
+ );
+ }),
+ (w.prototype.shiftToLastRow = function (T) {
+ var E = this.getLongestRowIndex(T),
+ _ = T.rowWidth.length - 1,
+ A = T.rows[E],
+ L = A[A.length - 1],
+ M = L.width + T.horizontalPadding;
+ if (T.width - T.rowWidth[_] > M && E != _) {
+ A.splice(-1, 1),
+ T.rows[_].push(L),
+ (T.rowWidth[E] = T.rowWidth[E] - M),
+ (T.rowWidth[_] = T.rowWidth[_] + M),
+ (T.width = T.rowWidth[instance.getLongestRowIndex(T)]);
+ for (var N = Number.MIN_VALUE, k = 0; k < A.length; k++)
+ A[k].height > N && (N = A[k].height);
+ E > 0 && (N += T.verticalPadding);
+ var I = T.rowHeight[E] + T.rowHeight[_];
+ (T.rowHeight[E] = N),
+ T.rowHeight[_] < L.height + T.verticalPadding &&
+ (T.rowHeight[_] = L.height + T.verticalPadding);
+ var C = T.rowHeight[E] + T.rowHeight[_];
+ (T.height += C - I), this.shiftToLastRow(T);
+ }
+ }),
+ (w.prototype.tilingPreLayout = function () {
+ h.TILE &&
+ (this.groupZeroDegreeMembers(), this.clearCompounds(), this.clearZeroDegreeMembers());
+ }),
+ (w.prototype.tilingPostLayout = function () {
+ h.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds());
+ }),
+ (w.prototype.reduceTrees = function () {
+ for (var T = [], E = !0, _; E; ) {
+ var A = this.graphManager.getAllNodes(),
+ L = [];
+ E = !1;
+ for (var M = 0; M < A.length; M++)
+ (_ = A[M]),
+ _.getEdges().length == 1 &&
+ !_.getEdges()[0].isInterGraph &&
+ _.getChild() == null &&
+ (L.push([_, _.getEdges()[0], _.getOwner()]), (E = !0));
+ if (E == !0) {
+ for (var N = [], k = 0; k < L.length; k++)
+ L[k][0].getEdges().length == 1 &&
+ (N.push(L[k]), L[k][0].getOwner().remove(L[k][0]));
+ T.push(N), this.graphManager.resetAllNodes(), this.graphManager.resetAllEdges();
+ }
+ }
+ this.prunedNodesAll = T;
+ }),
+ (w.prototype.growTree = function (T) {
+ for (var E = T.length, _ = T[E - 1], A, L = 0; L < _.length; L++)
+ (A = _[L]),
+ this.findPlaceforPrunedNode(A),
+ A[2].add(A[0]),
+ A[2].add(A[1], A[1].source, A[1].target);
+ T.splice(T.length - 1, 1),
+ this.graphManager.resetAllNodes(),
+ this.graphManager.resetAllEdges();
+ }),
+ (w.prototype.findPlaceforPrunedNode = function (T) {
+ var E,
+ _,
+ A = T[0];
+ A == T[1].source ? (_ = T[1].target) : (_ = T[1].source);
+ var L = _.startX,
+ M = _.finishX,
+ N = _.startY,
+ k = _.finishY,
+ I = 0,
+ C = 0,
+ O = 0,
+ D = 0,
+ P = [I, O, C, D];
+ if (N > 0)
+ for (var F = L; F <= M; F++)
+ P[0] += this.grid[F][N - 1].length + this.grid[F][N].length - 1;
+ if (M < this.grid.length - 1)
+ for (var F = N; F <= k; F++)
+ P[1] += this.grid[M + 1][F].length + this.grid[M][F].length - 1;
+ if (k < this.grid[0].length - 1)
+ for (var F = L; F <= M; F++)
+ P[2] += this.grid[F][k + 1].length + this.grid[F][k].length - 1;
+ if (L > 0)
+ for (var F = N; F <= k; F++)
+ P[3] += this.grid[L - 1][F].length + this.grid[L][F].length - 1;
+ for (var B = y.MAX_VALUE, $, z, Y = 0; Y < P.length; Y++)
+ P[Y] < B ? ((B = P[Y]), ($ = 1), (z = Y)) : P[Y] == B && $++;
+ if ($ == 3 && B == 0)
+ P[0] == 0 && P[1] == 0 && P[2] == 0
+ ? (E = 1)
+ : P[0] == 0 && P[1] == 0 && P[3] == 0
+ ? (E = 0)
+ : P[0] == 0 && P[2] == 0 && P[3] == 0
+ ? (E = 3)
+ : P[1] == 0 && P[2] == 0 && P[3] == 0 && (E = 2);
+ else if ($ == 2 && B == 0) {
+ var Q = Math.floor(Math.random() * 2);
+ P[0] == 0 && P[1] == 0
+ ? Q == 0
+ ? (E = 0)
+ : (E = 1)
+ : P[0] == 0 && P[2] == 0
+ ? Q == 0
+ ? (E = 0)
+ : (E = 2)
+ : P[0] == 0 && P[3] == 0
+ ? Q == 0
+ ? (E = 0)
+ : (E = 3)
+ : P[1] == 0 && P[2] == 0
+ ? Q == 0
+ ? (E = 1)
+ : (E = 2)
+ : P[1] == 0 && P[3] == 0
+ ? Q == 0
+ ? (E = 1)
+ : (E = 3)
+ : Q == 0
+ ? (E = 2)
+ : (E = 3);
+ } else if ($ == 4 && B == 0) {
+ var Q = Math.floor(Math.random() * 4);
+ E = Q;
+ } else E = z;
+ E == 0
+ ? A.setCenter(
+ _.getCenterX(),
+ _.getCenterY() - _.getHeight() / 2 - f.DEFAULT_EDGE_LENGTH - A.getHeight() / 2
+ )
+ : E == 1
+ ? A.setCenter(
+ _.getCenterX() + _.getWidth() / 2 + f.DEFAULT_EDGE_LENGTH + A.getWidth() / 2,
+ _.getCenterY()
+ )
+ : E == 2
+ ? A.setCenter(
+ _.getCenterX(),
+ _.getCenterY() + _.getHeight() / 2 + f.DEFAULT_EDGE_LENGTH + A.getHeight() / 2
+ )
+ : A.setCenter(
+ _.getCenterX() - _.getWidth() / 2 - f.DEFAULT_EDGE_LENGTH - A.getWidth() / 2,
+ _.getCenterY()
+ );
+ }),
+ (e.exports = w);
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = {};
+ (i.layoutBase = n(0)),
+ (i.CoSEConstants = n(1)),
+ (i.CoSEEdge = n(2)),
+ (i.CoSEGraph = n(3)),
+ (i.CoSEGraphManager = n(4)),
+ (i.CoSELayout = n(6)),
+ (i.CoSENode = n(5)),
+ (e.exports = i);
+ }
+ ]);
+ });
+ });
+ var age = gi((lb, kB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof lb == 'object' && typeof kB == 'object'
+ ? (kB.exports = r(TB()))
+ : typeof define == 'function' && define.amd
+ ? define(['cose-base'], r)
+ : typeof lb == 'object'
+ ? (lb.cytoscapeCoseBilkent = r(TB()))
+ : (e.cytoscapeCoseBilkent = r(e.coseBase));
+ }, 'webpackUniversalModuleDefinition')(lb, function (t) {
+ return (function (e) {
+ var r = {};
+ function n(i) {
+ if (r[i]) return r[i].exports;
+ var a = (r[i] = { i, l: !1, exports: {} });
+ return e[i].call(a.exports, a, a.exports, n), (a.l = !0), a.exports;
+ }
+ return (
+ o(n, '__webpack_require__'),
+ (n.m = e),
+ (n.c = r),
+ (n.i = function (i) {
+ return i;
+ }),
+ (n.d = function (i, a, s) {
+ n.o(i, a) ||
+ Object.defineProperty(i, a, {
+ configurable: !1,
+ enumerable: !0,
+ get: s
+ });
+ }),
+ (n.n = function (i) {
+ var a =
+ i && i.__esModule
+ ? o(function () {
+ return i.default;
+ }, 'getDefault')
+ : o(function () {
+ return i;
+ }, 'getModuleExports');
+ return n.d(a, 'a', a), a;
+ }),
+ (n.o = function (i, a) {
+ return Object.prototype.hasOwnProperty.call(i, a);
+ }),
+ (n.p = ''),
+ n((n.s = 1))
+ );
+ })([
+ function (e, r) {
+ e.exports = t;
+ },
+ function (e, r, n) {
+ 'use strict';
+ var i = n(0).layoutBase.LayoutConstants,
+ a = n(0).layoutBase.FDLayoutConstants,
+ s = n(0).CoSEConstants,
+ l = n(0).CoSELayout,
+ u = n(0).CoSENode,
+ h = n(0).layoutBase.PointD,
+ f = n(0).layoutBase.DimensionD,
+ d = {
+ ready: o(function () {}, 'ready'),
+ stop: o(function () {}, 'stop'),
+ quality: 'default',
+ nodeDimensionsIncludeLabels: !1,
+ refresh: 30,
+ fit: !0,
+ padding: 10,
+ randomize: !0,
+ nodeRepulsion: 4500,
+ idealEdgeLength: 50,
+ edgeElasticity: 0.45,
+ nestingFactor: 0.1,
+ gravity: 0.25,
+ numIter: 2500,
+ tile: !0,
+ animate: 'end',
+ animationDuration: 500,
+ tilingPaddingVertical: 10,
+ tilingPaddingHorizontal: 10,
+ gravityRangeCompound: 1.5,
+ gravityCompound: 1,
+ gravityRange: 3.8,
+ initialEnergyOnIncremental: 0.5
+ };
+ function p(v, x) {
+ var b = {};
+ for (var w in v) b[w] = v[w];
+ for (var w in x) b[w] = x[w];
+ return b;
+ }
+ o(p, 'extend');
+ function m(v) {
+ (this.options = p(d, v)), g(this.options);
+ }
+ o(m, '_CoSELayout');
+ var g = o(function (x) {
+ x.nodeRepulsion != null &&
+ (s.DEFAULT_REPULSION_STRENGTH = a.DEFAULT_REPULSION_STRENGTH = x.nodeRepulsion),
+ x.idealEdgeLength != null &&
+ (s.DEFAULT_EDGE_LENGTH = a.DEFAULT_EDGE_LENGTH = x.idealEdgeLength),
+ x.edgeElasticity != null &&
+ (s.DEFAULT_SPRING_STRENGTH = a.DEFAULT_SPRING_STRENGTH = x.edgeElasticity),
+ x.nestingFactor != null &&
+ (s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR =
+ x.nestingFactor),
+ x.gravity != null && (s.DEFAULT_GRAVITY_STRENGTH = a.DEFAULT_GRAVITY_STRENGTH = x.gravity),
+ x.numIter != null && (s.MAX_ITERATIONS = a.MAX_ITERATIONS = x.numIter),
+ x.gravityRange != null &&
+ (s.DEFAULT_GRAVITY_RANGE_FACTOR = a.DEFAULT_GRAVITY_RANGE_FACTOR = x.gravityRange),
+ x.gravityCompound != null &&
+ (s.DEFAULT_COMPOUND_GRAVITY_STRENGTH = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH =
+ x.gravityCompound),
+ x.gravityRangeCompound != null &&
+ (s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR =
+ x.gravityRangeCompound),
+ x.initialEnergyOnIncremental != null &&
+ (s.DEFAULT_COOLING_FACTOR_INCREMENTAL = a.DEFAULT_COOLING_FACTOR_INCREMENTAL =
+ x.initialEnergyOnIncremental),
+ x.quality == 'draft'
+ ? (i.QUALITY = 0)
+ : x.quality == 'proof'
+ ? (i.QUALITY = 2)
+ : (i.QUALITY = 1),
+ (s.NODE_DIMENSIONS_INCLUDE_LABELS =
+ a.NODE_DIMENSIONS_INCLUDE_LABELS =
+ i.NODE_DIMENSIONS_INCLUDE_LABELS =
+ x.nodeDimensionsIncludeLabels),
+ (s.DEFAULT_INCREMENTAL = a.DEFAULT_INCREMENTAL = i.DEFAULT_INCREMENTAL = !x.randomize),
+ (s.ANIMATE = a.ANIMATE = i.ANIMATE = x.animate),
+ (s.TILE = x.tile),
+ (s.TILING_PADDING_VERTICAL =
+ typeof x.tilingPaddingVertical == 'function'
+ ? x.tilingPaddingVertical.call()
+ : x.tilingPaddingVertical),
+ (s.TILING_PADDING_HORIZONTAL =
+ typeof x.tilingPaddingHorizontal == 'function'
+ ? x.tilingPaddingHorizontal.call()
+ : x.tilingPaddingHorizontal);
+ }, 'getUserOptions');
+ (m.prototype.run = function () {
+ var v,
+ x,
+ b = this.options,
+ w = (this.idToLNode = {}),
+ S = (this.layout = new l()),
+ T = this;
+ (T.stopped = !1),
+ (this.cy = this.options.cy),
+ this.cy.trigger({ type: 'layoutstart', layout: this });
+ var E = S.newGraphManager();
+ this.gm = E;
+ var _ = this.options.eles.nodes(),
+ A = this.options.eles.edges();
+ (this.root = E.addRoot()), this.processChildrenList(this.root, this.getTopMostNodes(_), S);
+ for (var L = 0; L < A.length; L++) {
+ var M = A[L],
+ N = this.idToLNode[M.data('source')],
+ k = this.idToLNode[M.data('target')];
+ if (N !== k && N.getEdgesBetween(k).length == 0) {
+ var I = E.add(S.newEdge(), N, k);
+ I.id = M.id();
+ }
+ }
+ var C = o(function (P, F) {
+ typeof P == 'number' && (P = F);
+ var B = P.data('id'),
+ $ = T.idToLNode[B];
+ return {
+ x: $.getRect().getCenterX(),
+ y: $.getRect().getCenterY()
+ };
+ }, 'getPositions'),
+ O = o(function D() {
+ for (
+ var P = o(function () {
+ b.fit && b.cy.fit(b.eles, b.padding),
+ v ||
+ ((v = !0),
+ T.cy.one('layoutready', b.ready),
+ T.cy.trigger({ type: 'layoutready', layout: T }));
+ }, 'afterReposition'),
+ F = T.options.refresh,
+ B,
+ $ = 0;
+ $ < F && !B;
+ $++
+ )
+ B = T.stopped || T.layout.tick();
+ if (B) {
+ S.checkLayoutSuccess() && !S.isSubLayout && S.doPostLayout(),
+ S.tilingPostLayout && S.tilingPostLayout(),
+ (S.isLayoutFinished = !0),
+ T.options.eles.nodes().positions(C),
+ P(),
+ T.cy.one('layoutstop', T.options.stop),
+ T.cy.trigger({ type: 'layoutstop', layout: T }),
+ x && cancelAnimationFrame(x),
+ (v = !1);
+ return;
+ }
+ var z = T.layout.getPositionsData();
+ b.eles.nodes().positions(function (Y, Q) {
+ if ((typeof Y == 'number' && (Y = Q), !Y.isParent())) {
+ for (
+ var X = Y.id(), ie = z[X], j = Y;
+ ie == null &&
+ ((ie = z[j.data('parent')] || z['DummyCompound_' + j.data('parent')]),
+ (z[X] = ie),
+ (j = j.parent()[0]),
+ j != null);
+
+ );
+ return ie != null
+ ? { x: ie.x, y: ie.y }
+ : { x: Y.position('x'), y: Y.position('y') };
+ }
+ }),
+ P(),
+ (x = requestAnimationFrame(D));
+ }, 'iterateAnimated');
+ return (
+ S.addListener('layoutstarted', function () {
+ T.options.animate === 'during' && (x = requestAnimationFrame(O));
+ }),
+ S.runLayout(),
+ this.options.animate !== 'during' &&
+ (T.options.eles.nodes().not(':parent').layoutPositions(T, T.options, C), (v = !1)),
+ this
+ );
+ }),
+ (m.prototype.getTopMostNodes = function (v) {
+ for (var x = {}, b = 0; b < v.length; b++) x[v[b].id()] = !0;
+ var w = v.filter(function (S, T) {
+ typeof S == 'number' && (S = T);
+ for (var E = S.parent()[0]; E != null; ) {
+ if (x[E.id()]) return !1;
+ E = E.parent()[0];
+ }
+ return !0;
+ });
+ return w;
+ }),
+ (m.prototype.processChildrenList = function (v, x, b) {
+ for (var w = x.length, S = 0; S < w; S++) {
+ var T = x[S],
+ E = T.children(),
+ _,
+ A = T.layoutDimensions({
+ nodeDimensionsIncludeLabels: this.options.nodeDimensionsIncludeLabels
+ });
+ if (
+ (T.outerWidth() != null && T.outerHeight() != null
+ ? (_ = v.add(
+ new u(
+ b.graphManager,
+ new h(T.position('x') - A.w / 2, T.position('y') - A.h / 2),
+ new f(parseFloat(A.w), parseFloat(A.h))
+ )
+ ))
+ : (_ = v.add(new u(this.graphManager))),
+ (_.id = T.data('id')),
+ (_.paddingLeft = parseInt(T.css('padding'))),
+ (_.paddingTop = parseInt(T.css('padding'))),
+ (_.paddingRight = parseInt(T.css('padding'))),
+ (_.paddingBottom = parseInt(T.css('padding'))),
+ this.options.nodeDimensionsIncludeLabels && T.isParent())
+ ) {
+ var L = T.boundingBox({
+ includeLabels: !0,
+ includeNodes: !1
+ }).w,
+ M = T.boundingBox({
+ includeLabels: !0,
+ includeNodes: !1
+ }).h,
+ N = T.css('text-halign');
+ (_.labelWidth = L), (_.labelHeight = M), (_.labelPos = N);
+ }
+ if (
+ ((this.idToLNode[T.data('id')] = _),
+ isNaN(_.rect.x) && (_.rect.x = 0),
+ isNaN(_.rect.y) && (_.rect.y = 0),
+ E != null && E.length > 0)
+ ) {
+ var k;
+ (k = b.getGraphManager().add(b.newGraph(), _)), this.processChildrenList(k, E, b);
+ }
+ }
+ }),
+ (m.prototype.stop = function () {
+ return (this.stopped = !0), this;
+ });
+ var y = o(function (x) {
+ x('layout', 'cose-bilkent', m);
+ }, 'register');
+ typeof cytoscape < 'u' && y(cytoscape), (e.exports = y);
+ }
+ ]);
+ });
+ });
+ function fZe(t, e, r, n, i) {
+ return t
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ n
+ .map(function (a) {
+ return a.x + ',' + a.y;
+ })
+ .join(' ')
+ )
+ .attr('transform', 'translate(' + (i.width - e) / 2 + ', ' + r + ')');
+ }
+ var sZe,
+ oZe,
+ lZe,
+ cZe,
+ uZe,
+ hZe,
+ dZe,
+ pZe,
+ sge,
+ oge,
+ lge = R(() => {
+ 'use strict';
+ Al();
+ xr();
+ (sZe = 12),
+ (oZe = o(function (t, e, r, n) {
+ e
+ .append('path')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr(
+ 'd',
+ `M0 ${r.height - 5} v${-r.height + 2 * 5} q0,-5 5,-5 h${r.width - 2 * 5} q5,0 5,5 v${
+ r.height - 5
+ } H0 Z`
+ ),
+ e
+ .append('line')
+ .attr('class', 'node-line-' + n)
+ .attr('x1', 0)
+ .attr('y1', r.height)
+ .attr('x2', r.width)
+ .attr('y2', r.height);
+ }, 'defaultBkg')),
+ (lZe = o(function (t, e, r) {
+ e.append('rect')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr('height', r.height)
+ .attr('width', r.width);
+ }, 'rectBkg')),
+ (cZe = o(function (t, e, r) {
+ let n = r.width,
+ i = r.height,
+ a = 0.15 * n,
+ s = 0.25 * n,
+ l = 0.35 * n,
+ u = 0.2 * n;
+ e.append('path')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr(
+ 'd',
+ `M0 0 a${a},${a} 0 0,1 ${n * 0.25},${-1 * n * 0.1}
+ a${l},${l} 1 0,1 ${n * 0.4},${-1 * n * 0.1}
+ a${s},${s} 1 0,1 ${n * 0.35},${1 * n * 0.2}
+
+ a${a},${a} 1 0,1 ${n * 0.15},${1 * i * 0.35}
+ a${u},${u} 1 0,1 ${-1 * n * 0.15},${1 * i * 0.65}
+
+ a${s},${a} 1 0,1 ${-1 * n * 0.25},${n * 0.15}
+ a${l},${l} 1 0,1 ${-1 * n * 0.5},0
+ a${a},${a} 1 0,1 ${-1 * n * 0.25},${-1 * n * 0.15}
+
+ a${a},${a} 1 0,1 ${-1 * n * 0.1},${-1 * i * 0.35}
+ a${u},${u} 1 0,1 ${n * 0.1},${-1 * i * 0.65}
+
+ H0 V0 Z`
+ );
+ }, 'cloudBkg')),
+ (uZe = o(function (t, e, r) {
+ let n = r.width,
+ i = r.height,
+ a = 0.15 * n;
+ e.append('path')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr(
+ 'd',
+ `M0 0 a${a},${a} 1 0,0 ${n * 0.25},${-1 * i * 0.1}
+ a${a},${a} 1 0,0 ${n * 0.25},0
+ a${a},${a} 1 0,0 ${n * 0.25},0
+ a${a},${a} 1 0,0 ${n * 0.25},${1 * i * 0.1}
+
+ a${a},${a} 1 0,0 ${n * 0.15},${1 * i * 0.33}
+ a${a * 0.8},${a * 0.8} 1 0,0 0,${1 * i * 0.34}
+ a${a},${a} 1 0,0 ${-1 * n * 0.15},${1 * i * 0.33}
+
+ a${a},${a} 1 0,0 ${-1 * n * 0.25},${i * 0.15}
+ a${a},${a} 1 0,0 ${-1 * n * 0.25},0
+ a${a},${a} 1 0,0 ${-1 * n * 0.25},0
+ a${a},${a} 1 0,0 ${-1 * n * 0.25},${-1 * i * 0.15}
+
+ a${a},${a} 1 0,0 ${-1 * n * 0.1},${-1 * i * 0.33}
+ a${a * 0.8},${a * 0.8} 1 0,0 0,${-1 * i * 0.34}
+ a${a},${a} 1 0,0 ${n * 0.1},${-1 * i * 0.33}
+
+ H0 V0 Z`
+ );
+ }, 'bangBkg')),
+ (hZe = o(function (t, e, r) {
+ e.append('circle')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr('r', r.width / 2);
+ }, 'circleBkg'));
+ o(fZe, 'insertPolygonShape');
+ (dZe = o(function (t, e, r) {
+ let n = r.height,
+ a = n / 4,
+ s = r.width - r.padding + 2 * a,
+ l = [
+ { x: a, y: 0 },
+ { x: s - a, y: 0 },
+ { x: s, y: -n / 2 },
+ { x: s - a, y: -n },
+ { x: a, y: -n },
+ { x: 0, y: -n / 2 }
+ ];
+ fZe(e, s, n, l, r);
+ }, 'hexagonBkg')),
+ (pZe = o(function (t, e, r) {
+ e.append('rect')
+ .attr('id', 'node-' + r.id)
+ .attr('class', 'node-bkg node-' + t.type2Str(r.type))
+ .attr('height', r.height)
+ .attr('rx', r.padding)
+ .attr('ry', r.padding)
+ .attr('width', r.width);
+ }, 'roundedRectBkg')),
+ (sge = o(async function (t, e, r, n, i) {
+ let a = i.htmlLabels,
+ s = n % (sZe - 1),
+ l = e.append('g');
+ r.section = s;
+ let u = 'section-' + s;
+ s < 0 && (u += ' section-root'),
+ l.attr('class', (r.class ? r.class + ' ' : '') + 'mindmap-node ' + u);
+ let h = l.append('g'),
+ f = l.append('g'),
+ d = r.descr.replace(
+ /(
)/g,
+ `
+`
+ );
+ await ta(f, d, { useHtmlLabels: a, width: r.width, classes: 'mindmap-node-label' }, i),
+ a ||
+ f
+ .attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle');
+ let p = f.node().getBBox(),
+ [m] = mc(i.fontSize);
+ if (
+ ((r.height = p.height + m * 1.1 * 0.5 + r.padding), (r.width = p.width + 2 * r.padding), r.icon)
+ )
+ if (r.type === t.nodeType.CIRCLE)
+ (r.height += 50),
+ (r.width += 50),
+ l
+ .append('foreignObject')
+ .attr('height', '50px')
+ .attr('width', r.width)
+ .attr('style', 'text-align: center;')
+ .append('div')
+ .attr('class', 'icon-container')
+ .append('i')
+ .attr('class', 'node-icon-' + s + ' ' + r.icon),
+ f.attr(
+ 'transform',
+ 'translate(' + r.width / 2 + ', ' + (r.height / 2 - 1.5 * r.padding) + ')'
+ );
+ else {
+ r.width += 50;
+ let g = r.height;
+ r.height = Math.max(g, 60);
+ let y = Math.abs(r.height - g);
+ l
+ .append('foreignObject')
+ .attr('width', '60px')
+ .attr('height', r.height)
+ .attr('style', 'text-align: center;margin-top:' + y / 2 + 'px;')
+ .append('div')
+ .attr('class', 'icon-container')
+ .append('i')
+ .attr('class', 'node-icon-' + s + ' ' + r.icon),
+ f.attr(
+ 'transform',
+ 'translate(' + (25 + r.width / 2) + ', ' + (y / 2 + r.padding / 2) + ')'
+ );
+ }
+ else if (a) {
+ let g = (r.width - p.width) / 2,
+ y = (r.height - p.height) / 2;
+ f.attr('transform', 'translate(' + g + ', ' + y + ')');
+ } else {
+ let g = r.width / 2,
+ y = r.padding / 2;
+ f.attr('transform', 'translate(' + g + ', ' + y + ')');
+ }
+ switch (r.type) {
+ case t.nodeType.DEFAULT:
+ oZe(t, h, r, s);
+ break;
+ case t.nodeType.ROUNDED_RECT:
+ pZe(t, h, r, s);
+ break;
+ case t.nodeType.RECT:
+ lZe(t, h, r, s);
+ break;
+ case t.nodeType.CIRCLE:
+ h.attr('transform', 'translate(' + r.width / 2 + ', ' + +r.height / 2 + ')'),
+ hZe(t, h, r, s);
+ break;
+ case t.nodeType.CLOUD:
+ cZe(t, h, r, s);
+ break;
+ case t.nodeType.BANG:
+ uZe(t, h, r, s);
+ break;
+ case t.nodeType.HEXAGON:
+ dZe(t, h, r, s);
+ break;
+ }
+ return t.setElementForId(r.id, l), r.height;
+ }, 'drawNode')),
+ (oge = o(function (t, e) {
+ let r = t.getElementById(e.id),
+ n = e.x || 0,
+ i = e.y || 0;
+ r.attr('transform', 'translate(' + n + ',' + i + ')');
+ }, 'positionNode'));
+ });
+ async function uge(t, e, r, n, i) {
+ await sge(t, e, r, n, i),
+ r.children && (await Promise.all(r.children.map((a, s) => uge(t, e, a, n < 0 ? s : n, i))));
+ }
+ function mZe(t, e) {
+ e.edges().map((r, n) => {
+ let i = r.data();
+ if (r[0]._private.bodyBounds) {
+ let a = r[0]._private.rscratch;
+ V.trace('Edge: ', n, i),
+ t
+ .insert('path')
+ .attr('d', `M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `)
+ .attr('class', 'edge section-edge-' + i.section + ' edge-depth-' + i.depth);
+ }
+ });
+ }
+ function hge(t, e, r, n) {
+ e.add({
+ group: 'nodes',
+ data: {
+ id: t.id.toString(),
+ labelText: t.descr,
+ height: t.height,
+ width: t.width,
+ level: n,
+ nodeId: t.id,
+ padding: t.padding,
+ type: t.type
+ },
+ position: { x: t.x, y: t.y }
+ }),
+ t.children &&
+ t.children.forEach((i) => {
+ hge(i, e, r, n + 1),
+ e.add({
+ group: 'edges',
+ data: {
+ id: `${t.id}_${i.id}`,
+ source: t.id,
+ target: i.id,
+ depth: n,
+ section: i.section
+ }
+ });
+ });
+ }
+ function gZe(t, e) {
+ return new Promise((r) => {
+ let n = $e('body').append('div').attr('id', 'cy').attr('style', 'display:none'),
+ i = rl({
+ container: document.getElementById('cy'),
+ style: [{ selector: 'edge', style: { 'curve-style': 'bezier' } }]
+ });
+ n.remove(),
+ hge(t, i, e, 0),
+ i.nodes().forEach(function (a) {
+ a.layoutDimensions = () => {
+ let s = a.data();
+ return { w: s.width, h: s.height };
+ };
+ }),
+ i
+ .layout({
+ name: 'cose-bilkent',
+ quality: 'proof',
+ styleEnabled: !1,
+ animate: !1
+ })
+ .run(),
+ i.ready((a) => {
+ V.info('Ready', a), r(i);
+ });
+ });
+ }
+ function yZe(t, e) {
+ e.nodes().map((r, n) => {
+ let i = r.data();
+ (i.x = r.position().x), (i.y = r.position().y), oge(t, i);
+ let a = t.getElementById(i.nodeId);
+ V.info('Id:', n, 'Position: (', r.position().x, ', ', r.position().y, ')', i),
+ a.attr('transform', `translate(${r.position().x - i.width / 2}, ${r.position().y - i.height / 2})`),
+ a.attr('attr', `apa-${n})`);
+ });
+ }
+ var cge,
+ vZe,
+ fge,
+ dge = R(() => {
+ 'use strict';
+ vB();
+ cge = Xi(age(), 1);
+ Zt();
+ _t();
+ ut();
+ pf();
+ Yn();
+ lge();
+ sl();
+ rl.use(cge.default);
+ o(uge, 'drawNodes');
+ o(mZe, 'drawEdges');
+ o(hge, 'addNodes');
+ o(gZe, 'layoutMindmap');
+ o(yZe, 'positionNodes');
+ (vZe = o(async (t, e, r, n) => {
+ V.debug(
+ `Rendering mindmap diagram
+` + t
+ );
+ let i = n.db,
+ a = i.getMindmap();
+ if (!a) return;
+ let s = de();
+ s.htmlLabels = !1;
+ let l = Ps(e),
+ u = l.append('g');
+ u.attr('class', 'mindmap-edges');
+ let h = l.append('g');
+ h.attr('class', 'mindmap-nodes'), await uge(i, h, a, -1, s);
+ let f = await gZe(a, s);
+ mZe(u, f),
+ yZe(i, f),
+ Lo(
+ void 0,
+ l,
+ s.mindmap?.padding ?? mr.mindmap.padding,
+ s.mindmap?.useMaxWidth ?? mr.mindmap.useMaxWidth
+ );
+ }, 'draw')),
+ (fge = { draw: vZe });
+ });
+ var xZe,
+ bZe,
+ pge,
+ mge = R(() => {
+ 'use strict';
+ al();
+ (xZe = o((t) => {
+ let e = '';
+ for (let r = 0; r < t.THEME_COLOR_LIMIT; r++)
+ (t['lineColor' + r] = t['lineColor' + r] || t['cScaleInv' + r]),
+ Wa(t['lineColor' + r])
+ ? (t['lineColor' + r] = Et(t['lineColor' + r], 20))
+ : (t['lineColor' + r] = Dt(t['lineColor' + r], 20));
+ for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) {
+ let n = '' + (17 - 3 * r);
+ e += `
+ .section-${r - 1} rect, .section-${r - 1} path, .section-${r - 1} circle, .section-${r - 1} polygon, .section-${
+ r - 1
+ } path {
+ fill: ${t['cScale' + r]};
+ }
+ .section-${r - 1} text {
+ fill: ${t['cScaleLabel' + r]};
+ }
+ .node-icon-${r - 1} {
+ font-size: 40px;
+ color: ${t['cScaleLabel' + r]};
+ }
+ .section-edge-${r - 1}{
+ stroke: ${t['cScale' + r]};
+ }
+ .edge-depth-${r - 1}{
+ stroke-width: ${n};
+ }
+ .section-${r - 1} line {
+ stroke: ${t['cScaleInv' + r]} ;
+ stroke-width: 3;
+ }
+
+ .disabled, .disabled circle, .disabled text {
+ fill: lightgray;
+ }
+ .disabled text {
+ fill: #efefef;
+ }
+ `;
+ }
+ return e;
+ }, 'genSections')),
+ (bZe = o(
+ (t) => `
+ .edge {
+ stroke-width: 3;
+ }
+ ${xZe(t)}
+ .section-root rect, .section-root path, .section-root circle, .section-root polygon {
+ fill: ${t.git0};
+ }
+ .section-root text {
+ fill: ${t.gitBranchLabel0};
+ }
+ .icon-container {
+ height:100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ .edge {
+ fill: none;
+ }
+ .mindmap-node-label {
+ dy: 1em;
+ alignment-baseline: middle;
+ text-anchor: middle;
+ dominant-baseline: middle;
+ text-align: center;
+ }
+`,
+ 'getStyles'
+ )),
+ (pge = bZe);
+ });
+ var gge = {};
+ hr(gge, { diagram: () => wZe });
+ var wZe,
+ yge = R(() => {
+ 'use strict';
+ r0e();
+ a0e();
+ dge();
+ mge();
+ wZe = { db: i0e, renderer: fge, parser: t0e, styles: pge };
+ });
+ var EB,
+ cb,
+ bge = R(() => {
+ 'use strict';
+ EB = (function () {
+ var t = o(function (l, u, h, f) {
+ for (h = h || {}, f = l.length; f--; h[l[f]] = u);
+ return h;
+ }, 'o'),
+ e = [1, 9],
+ r = [1, 10],
+ n = [1, 5, 10, 12],
+ i = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ SANKEY: 4,
+ NEWLINE: 5,
+ csv: 6,
+ opt_eof: 7,
+ record: 8,
+ csv_tail: 9,
+ EOF: 10,
+ 'field[source]': 11,
+ COMMA: 12,
+ 'field[target]': 13,
+ 'field[value]': 14,
+ field: 15,
+ escaped: 16,
+ non_escaped: 17,
+ DQUOTE: 18,
+ ESCAPED_TEXT: 19,
+ NON_ESCAPED_TEXT: 20,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'SANKEY',
+ 5: 'NEWLINE',
+ 10: 'EOF',
+ 11: 'field[source]',
+ 12: 'COMMA',
+ 13: 'field[target]',
+ 14: 'field[value]',
+ 18: 'DQUOTE',
+ 19: 'ESCAPED_TEXT',
+ 20: 'NON_ESCAPED_TEXT'
+ },
+ productions_: [
+ 0,
+ [3, 4],
+ [6, 2],
+ [9, 2],
+ [9, 0],
+ [7, 1],
+ [7, 0],
+ [8, 5],
+ [15, 1],
+ [15, 1],
+ [16, 3],
+ [17, 1]
+ ],
+ performAction: o(function (u, h, f, d, p, m, g) {
+ var y = m.length - 1;
+ switch (p) {
+ case 7:
+ let v = d.findOrCreateNode(m[y - 4].trim().replaceAll('""', '"')),
+ x = d.findOrCreateNode(m[y - 2].trim().replaceAll('""', '"')),
+ b = parseFloat(m[y].trim());
+ d.addLink(v, x, b);
+ break;
+ case 8:
+ case 9:
+ case 11:
+ this.$ = m[y];
+ break;
+ case 10:
+ this.$ = m[y - 1];
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ { 5: [1, 3] },
+ { 6: 4, 8: 5, 15: 6, 16: 7, 17: 8, 18: e, 20: r },
+ { 1: [2, 6], 7: 11, 10: [1, 12] },
+ t(r, [2, 4], { 9: 13, 5: [1, 14] }),
+ { 12: [1, 15] },
+ t(n, [2, 8]),
+ t(n, [2, 9]),
+ { 19: [1, 16] },
+ t(n, [2, 11]),
+ { 1: [2, 1] },
+ { 1: [2, 5] },
+ t(r, [2, 2]),
+ { 6: 17, 8: 5, 15: 6, 16: 7, 17: 8, 18: e, 20: r },
+ { 15: 18, 16: 7, 17: 8, 18: e, 20: r },
+ { 18: [1, 19] },
+ t(r, [2, 3]),
+ { 12: [1, 20] },
+ t(n, [2, 10]),
+ { 15: 21, 16: 7, 17: 8, 18: e, 20: r },
+ t([1, 5, 10], [2, 7])
+ ],
+ defaultActions: { 11: [2, 1], 12: [2, 5] },
+ parseError: o(function (u, h) {
+ if (h.recoverable) this.trace(u);
+ else {
+ var f = new Error(u);
+ throw ((f.hash = h), f);
+ }
+ }, 'parseError'),
+ parse: o(function (u) {
+ var h = this,
+ f = [0],
+ d = [],
+ p = [null],
+ m = [],
+ g = this.table,
+ y = '',
+ v = 0,
+ x = 0,
+ b = 0,
+ w = 2,
+ S = 1,
+ T = m.slice.call(arguments, 1),
+ E = Object.create(this.lexer),
+ _ = { yy: {} };
+ for (var A in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, A) && (_.yy[A] = this.yy[A]);
+ E.setInput(u, _.yy),
+ (_.yy.lexer = E),
+ (_.yy.parser = this),
+ typeof E.yylloc > 'u' && (E.yylloc = {});
+ var L = E.yylloc;
+ m.push(L);
+ var M = E.options && E.options.ranges;
+ typeof _.yy.parseError == 'function'
+ ? (this.parseError = _.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function N(ie) {
+ (f.length = f.length - 2 * ie), (p.length = p.length - ie), (m.length = m.length - ie);
+ }
+ o(N, 'popStack');
+ function k() {
+ var ie;
+ return (
+ (ie = d.pop() || E.lex() || S),
+ typeof ie != 'number' &&
+ (ie instanceof Array && ((d = ie), (ie = d.pop())),
+ (ie = h.symbols_[ie] || ie)),
+ ie
+ );
+ }
+ o(k, 'lex');
+ for (var I, C, O, D, P, F, B = {}, $, z, Y, Q; ; ) {
+ if (
+ ((O = f[f.length - 1]),
+ this.defaultActions[O]
+ ? (D = this.defaultActions[O])
+ : ((I === null || typeof I > 'u') && (I = k()), (D = g[O] && g[O][I])),
+ typeof D > 'u' || !D.length || !D[0])
+ ) {
+ var X = '';
+ Q = [];
+ for ($ in g[O])
+ this.terminals_[$] && $ > w && Q.push("'" + this.terminals_[$] + "'");
+ E.showPosition
+ ? (X =
+ 'Parse error on line ' +
+ (v + 1) +
+ `:
+` +
+ E.showPosition() +
+ `
+Expecting ` +
+ Q.join(', ') +
+ ", got '" +
+ (this.terminals_[I] || I) +
+ "'")
+ : (X =
+ 'Parse error on line ' +
+ (v + 1) +
+ ': Unexpected ' +
+ (I == S ? 'end of input' : "'" + (this.terminals_[I] || I) + "'")),
+ this.parseError(X, {
+ text: E.match,
+ token: this.terminals_[I] || I,
+ line: E.yylineno,
+ loc: L,
+ expected: Q
+ });
+ }
+ if (D[0] instanceof Array && D.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + O + ', token: ' + I
+ );
+ switch (D[0]) {
+ case 1:
+ f.push(I),
+ p.push(E.yytext),
+ m.push(E.yylloc),
+ f.push(D[1]),
+ (I = null),
+ C
+ ? ((I = C), (C = null))
+ : ((x = E.yyleng),
+ (y = E.yytext),
+ (v = E.yylineno),
+ (L = E.yylloc),
+ b > 0 && b--);
+ break;
+ case 2:
+ if (
+ ((z = this.productions_[D[1]][1]),
+ (B.$ = p[p.length - z]),
+ (B._$ = {
+ first_line: m[m.length - (z || 1)].first_line,
+ last_line: m[m.length - 1].last_line,
+ first_column: m[m.length - (z || 1)].first_column,
+ last_column: m[m.length - 1].last_column
+ }),
+ M &&
+ (B._$.range = [
+ m[m.length - (z || 1)].range[0],
+ m[m.length - 1].range[1]
+ ]),
+ (F = this.performAction.apply(B, [y, x, v, _.yy, D[1], p, m].concat(T))),
+ typeof F < 'u')
+ )
+ return F;
+ z &&
+ ((f = f.slice(0, -1 * z * 2)),
+ (p = p.slice(0, -1 * z)),
+ (m = m.slice(0, -1 * z))),
+ f.push(this.productions_[D[1]][0]),
+ p.push(B.$),
+ m.push(B._$),
+ (Y = g[f[f.length - 2]][f[f.length - 1]]),
+ f.push(Y);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ a = (function () {
+ var l = {
+ EOF: 1,
+ parseError: o(function (h, f) {
+ if (this.yy.parser) this.yy.parser.parseError(h, f);
+ else throw new Error(h);
+ }, 'parseError'),
+ setInput: o(function (u, h) {
+ return (
+ (this.yy = h || this.yy || {}),
+ (this._input = u),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var u = this._input[0];
+ (this.yytext += u),
+ this.yyleng++,
+ this.offset++,
+ (this.match += u),
+ (this.matched += u);
+ var h = u.match(/(?:\r\n?|\n).*/g);
+ return (
+ h ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ u
+ );
+ }, 'input'),
+ unput: o(function (u) {
+ var h = u.length,
+ f = u.split(/(?:\r\n?|\n)/g);
+ (this._input = u + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - h)),
+ (this.offset -= h);
+ var d = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ f.length - 1 && (this.yylineno -= f.length - 1);
+ var p = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: f
+ ? (f.length === d.length ? this.yylloc.first_column : 0) +
+ d[d.length - f.length].length -
+ f[0].length
+ : this.yylloc.first_column - h
+ }),
+ this.options.ranges && (this.yylloc.range = [p[0], p[0] + this.yyleng - h]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (u) {
+ this.unput(this.match.slice(u));
+ }, 'less'),
+ pastInput: o(function () {
+ var u = this.matched.substr(0, this.matched.length - this.match.length);
+ return (u.length > 20 ? '...' : '') + u.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var u = this.match;
+ return (
+ u.length < 20 && (u += this._input.substr(0, 20 - u.length)),
+ (u.substr(0, 20) + (u.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var u = this.pastInput(),
+ h = new Array(u.length + 1).join('-');
+ return (
+ u +
+ this.upcomingInput() +
+ `
+` +
+ h +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (u, h) {
+ var f, d, p;
+ if (
+ (this.options.backtrack_lexer &&
+ ((p = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (p.yylloc.range = this.yylloc.range.slice(0))),
+ (d = u[0].match(/(?:\r\n?|\n).*/g)),
+ d && (this.yylineno += d.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: d
+ ? d[d.length - 1].length - d[d.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + u[0].length
+ }),
+ (this.yytext += u[0]),
+ (this.match += u[0]),
+ (this.matches = u),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(u[0].length)),
+ (this.matched += u[0]),
+ (f = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ h,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ f)
+ )
+ return f;
+ if (this._backtrack) {
+ for (var m in p) this[m] = p[m];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var u, h, f, d;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var p = this._currentRules(), m = 0; m < p.length; m++)
+ if (
+ ((f = this._input.match(this.rules[p[m]])),
+ f && (!h || f[0].length > h[0].length))
+ ) {
+ if (((h = f), (d = m), this.options.backtrack_lexer)) {
+ if (((u = this.test_match(f, p[m])), u !== !1)) return u;
+ if (this._backtrack) {
+ h = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return h
+ ? ((u = this.test_match(h, p[d])), u !== !1 ? u : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var h = this.next();
+ return h || this.lex();
+ }, 'lex'),
+ begin: o(function (h) {
+ this.conditionStack.push(h);
+ }, 'begin'),
+ popState: o(function () {
+ var h = this.conditionStack.length - 1;
+ return h > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (h) {
+ return (
+ (h = this.conditionStack.length - 1 - Math.abs(h || 0)),
+ h >= 0 ? this.conditionStack[h] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (h) {
+ this.begin(h);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: { 'case-insensitive': !0 },
+ performAction: o(function (h, f, d, p) {
+ var m = p;
+ switch (d) {
+ case 0:
+ return this.pushState('csv'), 4;
+ break;
+ case 1:
+ return 10;
+ case 2:
+ return 5;
+ case 3:
+ return 12;
+ case 4:
+ return this.pushState('escaped_text'), 18;
+ break;
+ case 5:
+ return 20;
+ case 6:
+ return this.popState('escaped_text'), 18;
+ break;
+ case 7:
+ return 19;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:sankey-beta\b)/i,
+ /^(?:$)/i,
+ /^(?:((\u000D\u000A)|(\u000A)))/i,
+ /^(?:(\u002C))/i,
+ /^(?:(\u0022))/i,
+ /^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,
+ /^(?:(\u0022)(?!(\u0022)))/i,
+ /^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i
+ ],
+ conditions: {
+ csv: { rules: [1, 2, 3, 4, 5, 6, 7], inclusive: !1 },
+ escaped_text: { rules: [6, 7], inclusive: !1 },
+ INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7], inclusive: !0 }
+ }
+ };
+ return l;
+ })();
+ i.lexer = a;
+ function s() {
+ this.yy = {};
+ }
+ return o(s, 'Parser'), (s.prototype = i), (i.Parser = s), new s();
+ })();
+ EB.parser = EB;
+ cb = EB;
+ });
+ var J6,
+ eC,
+ Z6,
+ CZe,
+ CB,
+ SZe,
+ SB,
+ AZe,
+ _Ze,
+ LZe,
+ DZe,
+ wge,
+ Tge = R(() => {
+ 'use strict';
+ _t();
+ rr();
+ bi();
+ (J6 = []),
+ (eC = []),
+ (Z6 = new Map()),
+ (CZe = o(() => {
+ (J6 = []), (eC = []), (Z6 = new Map()), vr();
+ }, 'clear')),
+ (CB = class {
+ constructor(e, r, n = 0) {
+ this.source = e;
+ this.target = r;
+ this.value = n;
+ }
+ static {
+ o(this, 'SankeyLink');
+ }
+ }),
+ (SZe = o((t, e, r) => {
+ J6.push(new CB(t, e, r));
+ }, 'addLink')),
+ (SB = class {
+ constructor(e) {
+ this.ID = e;
+ }
+ static {
+ o(this, 'SankeyNode');
+ }
+ }),
+ (AZe = o((t) => {
+ t = We.sanitizeText(t, de());
+ let e = Z6.get(t);
+ return e === void 0 && ((e = new SB(t)), Z6.set(t, e), eC.push(e)), e;
+ }, 'findOrCreateNode')),
+ (_Ze = o(() => eC, 'getNodes')),
+ (LZe = o(() => J6, 'getLinks')),
+ (DZe = o(
+ () => ({
+ nodes: eC.map((t) => ({ id: t.ID })),
+ links: J6.map((t) => ({
+ source: t.source.ID,
+ target: t.target.ID,
+ value: t.value
+ }))
+ }),
+ 'getGraph'
+ )),
+ (wge = {
+ nodesMap: Z6,
+ getConfig: o(() => de().sankey, 'getConfig'),
+ getNodes: _Ze,
+ getLinks: LZe,
+ getGraph: DZe,
+ addLink: SZe,
+ findOrCreateNode: AZe,
+ getAccTitle: Ar,
+ setAccTitle: kr,
+ getAccDescription: Lr,
+ setAccDescription: _r,
+ getDiagramTitle: Xr,
+ setDiagramTitle: nn,
+ clear: CZe
+ });
+ });
+ function ub(t, e) {
+ let r;
+ if (e === void 0) for (let n of t) n != null && (r < n || (r === void 0 && n >= n)) && (r = n);
+ else {
+ let n = -1;
+ for (let i of t) (i = e(i, ++n, t)) != null && (r < i || (r === void 0 && i >= i)) && (r = i);
+ }
+ return r;
+ }
+ var kge = R(() => {
+ 'use strict';
+ o(ub, 'max');
+ });
+ function x1(t, e) {
+ let r;
+ if (e === void 0) for (let n of t) n != null && (r > n || (r === void 0 && n >= n)) && (r = n);
+ else {
+ let n = -1;
+ for (let i of t) (i = e(i, ++n, t)) != null && (r > i || (r === void 0 && i >= i)) && (r = i);
+ }
+ return r;
+ }
+ var Ege = R(() => {
+ 'use strict';
+ o(x1, 'min');
+ });
+ function b1(t, e) {
+ let r = 0;
+ if (e === void 0) for (let n of t) (n = +n) && (r += n);
+ else {
+ let n = -1;
+ for (let i of t) (i = +e(i, ++n, t)) && (r += i);
+ }
+ return r;
+ }
+ var Cge = R(() => {
+ 'use strict';
+ o(b1, 'sum');
+ });
+ var AB = R(() => {
+ 'use strict';
+ kge();
+ Ege();
+ Cge();
+ });
+ function RZe(t) {
+ return t.target.depth;
+ }
+ function _B(t) {
+ return t.depth;
+ }
+ function LB(t, e) {
+ return e - 1 - t.height;
+ }
+ function hb(t, e) {
+ return t.sourceLinks.length ? t.depth : e - 1;
+ }
+ function DB(t) {
+ return t.targetLinks.length ? t.depth : t.sourceLinks.length ? x1(t.sourceLinks, RZe) - 1 : 0;
+ }
+ var RB = R(() => {
+ 'use strict';
+ AB();
+ o(RZe, 'targetDepth');
+ o(_B, 'left');
+ o(LB, 'right');
+ o(hb, 'justify');
+ o(DB, 'center');
+ });
+ function w1(t) {
+ return function () {
+ return t;
+ };
+ }
+ var Sge = R(() => {
+ 'use strict';
+ o(w1, 'constant');
+ });
+ function Age(t, e) {
+ return tC(t.source, e.source) || t.index - e.index;
+ }
+ function _ge(t, e) {
+ return tC(t.target, e.target) || t.index - e.index;
+ }
+ function tC(t, e) {
+ return t.y0 - e.y0;
+ }
+ function NB(t) {
+ return t.value;
+ }
+ function NZe(t) {
+ return t.index;
+ }
+ function MZe(t) {
+ return t.nodes;
+ }
+ function IZe(t) {
+ return t.links;
+ }
+ function Lge(t, e) {
+ let r = t.get(e);
+ if (!r) throw new Error('missing: ' + e);
+ return r;
+ }
+ function Dge({ nodes: t }) {
+ for (let e of t) {
+ let r = e.y0,
+ n = r;
+ for (let i of e.sourceLinks) (i.y0 = r + i.width / 2), (r += i.width);
+ for (let i of e.targetLinks) (i.y1 = n + i.width / 2), (n += i.width);
+ }
+ }
+ function rC() {
+ let t = 0,
+ e = 0,
+ r = 1,
+ n = 1,
+ i = 24,
+ a = 8,
+ s,
+ l = NZe,
+ u = hb,
+ h,
+ f,
+ d = MZe,
+ p = IZe,
+ m = 6;
+ function g() {
+ let O = {
+ nodes: d.apply(null, arguments),
+ links: p.apply(null, arguments)
+ };
+ return y(O), v(O), x(O), b(O), T(O), Dge(O), O;
+ }
+ o(g, 'sankey'),
+ (g.update = function (O) {
+ return Dge(O), O;
+ }),
+ (g.nodeId = function (O) {
+ return arguments.length ? ((l = typeof O == 'function' ? O : w1(O)), g) : l;
+ }),
+ (g.nodeAlign = function (O) {
+ return arguments.length ? ((u = typeof O == 'function' ? O : w1(O)), g) : u;
+ }),
+ (g.nodeSort = function (O) {
+ return arguments.length ? ((h = O), g) : h;
+ }),
+ (g.nodeWidth = function (O) {
+ return arguments.length ? ((i = +O), g) : i;
+ }),
+ (g.nodePadding = function (O) {
+ return arguments.length ? ((a = s = +O), g) : a;
+ }),
+ (g.nodes = function (O) {
+ return arguments.length ? ((d = typeof O == 'function' ? O : w1(O)), g) : d;
+ }),
+ (g.links = function (O) {
+ return arguments.length ? ((p = typeof O == 'function' ? O : w1(O)), g) : p;
+ }),
+ (g.linkSort = function (O) {
+ return arguments.length ? ((f = O), g) : f;
+ }),
+ (g.size = function (O) {
+ return arguments.length ? ((t = e = 0), (r = +O[0]), (n = +O[1]), g) : [r - t, n - e];
+ }),
+ (g.extent = function (O) {
+ return arguments.length
+ ? ((t = +O[0][0]), (r = +O[1][0]), (e = +O[0][1]), (n = +O[1][1]), g)
+ : [
+ [t, e],
+ [r, n]
+ ];
+ }),
+ (g.iterations = function (O) {
+ return arguments.length ? ((m = +O), g) : m;
+ });
+ function y({ nodes: O, links: D }) {
+ for (let [F, B] of O.entries()) (B.index = F), (B.sourceLinks = []), (B.targetLinks = []);
+ let P = new Map(O.map((F, B) => [l(F, B, O), F]));
+ for (let [F, B] of D.entries()) {
+ B.index = F;
+ let { source: $, target: z } = B;
+ typeof $ != 'object' && ($ = B.source = Lge(P, $)),
+ typeof z != 'object' && (z = B.target = Lge(P, z)),
+ $.sourceLinks.push(B),
+ z.targetLinks.push(B);
+ }
+ if (f != null) for (let { sourceLinks: F, targetLinks: B } of O) F.sort(f), B.sort(f);
+ }
+ o(y, 'computeNodeLinks');
+ function v({ nodes: O }) {
+ for (let D of O)
+ D.value =
+ D.fixedValue === void 0 ? Math.max(b1(D.sourceLinks, NB), b1(D.targetLinks, NB)) : D.fixedValue;
+ }
+ o(v, 'computeNodeValues');
+ function x({ nodes: O }) {
+ let D = O.length,
+ P = new Set(O),
+ F = new Set(),
+ B = 0;
+ for (; P.size; ) {
+ for (let $ of P) {
+ $.depth = B;
+ for (let { target: z } of $.sourceLinks) F.add(z);
+ }
+ if (++B > D) throw new Error('circular link');
+ (P = F), (F = new Set());
+ }
+ }
+ o(x, 'computeNodeDepths');
+ function b({ nodes: O }) {
+ let D = O.length,
+ P = new Set(O),
+ F = new Set(),
+ B = 0;
+ for (; P.size; ) {
+ for (let $ of P) {
+ $.height = B;
+ for (let { source: z } of $.targetLinks) F.add(z);
+ }
+ if (++B > D) throw new Error('circular link');
+ (P = F), (F = new Set());
+ }
+ }
+ o(b, 'computeNodeHeights');
+ function w({ nodes: O }) {
+ let D = ub(O, (B) => B.depth) + 1,
+ P = (r - t - i) / (D - 1),
+ F = new Array(D);
+ for (let B of O) {
+ let $ = Math.max(0, Math.min(D - 1, Math.floor(u.call(null, B, D))));
+ (B.layer = $), (B.x0 = t + $ * P), (B.x1 = B.x0 + i), F[$] ? F[$].push(B) : (F[$] = [B]);
+ }
+ if (h) for (let B of F) B.sort(h);
+ return F;
+ }
+ o(w, 'computeNodeLayers');
+ function S(O) {
+ let D = x1(O, (P) => (n - e - (P.length - 1) * s) / b1(P, NB));
+ for (let P of O) {
+ let F = e;
+ for (let B of P) {
+ (B.y0 = F), (B.y1 = F + B.value * D), (F = B.y1 + s);
+ for (let $ of B.sourceLinks) $.width = $.value * D;
+ }
+ F = (n - F + s) / (P.length + 1);
+ for (let B = 0; B < P.length; ++B) {
+ let $ = P[B];
+ ($.y0 += F * (B + 1)), ($.y1 += F * (B + 1));
+ }
+ k(P);
+ }
+ }
+ o(S, 'initializeNodeBreadths');
+ function T(O) {
+ let D = w(O);
+ (s = Math.min(a, (n - e) / (ub(D, (P) => P.length) - 1))), S(D);
+ for (let P = 0; P < m; ++P) {
+ let F = Math.pow(0.99, P),
+ B = Math.max(1 - F, (P + 1) / m);
+ _(D, F, B), E(D, F, B);
+ }
+ }
+ o(T, 'computeNodeBreadths');
+ function E(O, D, P) {
+ for (let F = 1, B = O.length; F < B; ++F) {
+ let $ = O[F];
+ for (let z of $) {
+ let Y = 0,
+ Q = 0;
+ for (let { source: ie, value: j } of z.targetLinks) {
+ let J = j * (z.layer - ie.layer);
+ (Y += I(ie, z) * J), (Q += J);
+ }
+ if (!(Q > 0)) continue;
+ let X = (Y / Q - z.y0) * D;
+ (z.y0 += X), (z.y1 += X), N(z);
+ }
+ h === void 0 && $.sort(tC), A($, P);
+ }
+ }
+ o(E, 'relaxLeftToRight');
+ function _(O, D, P) {
+ for (let F = O.length, B = F - 2; B >= 0; --B) {
+ let $ = O[B];
+ for (let z of $) {
+ let Y = 0,
+ Q = 0;
+ for (let { target: ie, value: j } of z.sourceLinks) {
+ let J = j * (ie.layer - z.layer);
+ (Y += C(z, ie) * J), (Q += J);
+ }
+ if (!(Q > 0)) continue;
+ let X = (Y / Q - z.y0) * D;
+ (z.y0 += X), (z.y1 += X), N(z);
+ }
+ h === void 0 && $.sort(tC), A($, P);
+ }
+ }
+ o(_, 'relaxRightToLeft');
+ function A(O, D) {
+ let P = O.length >> 1,
+ F = O[P];
+ M(O, F.y0 - s, P - 1, D), L(O, F.y1 + s, P + 1, D), M(O, n, O.length - 1, D), L(O, e, 0, D);
+ }
+ o(A, 'resolveCollisions');
+ function L(O, D, P, F) {
+ for (; P < O.length; ++P) {
+ let B = O[P],
+ $ = (D - B.y0) * F;
+ $ > 1e-6 && ((B.y0 += $), (B.y1 += $)), (D = B.y1 + s);
+ }
+ }
+ o(L, 'resolveCollisionsTopToBottom');
+ function M(O, D, P, F) {
+ for (; P >= 0; --P) {
+ let B = O[P],
+ $ = (B.y1 - D) * F;
+ $ > 1e-6 && ((B.y0 -= $), (B.y1 -= $)), (D = B.y0 - s);
+ }
+ }
+ o(M, 'resolveCollisionsBottomToTop');
+ function N({ sourceLinks: O, targetLinks: D }) {
+ if (f === void 0) {
+ for (let {
+ source: { sourceLinks: P }
+ } of D)
+ P.sort(_ge);
+ for (let {
+ target: { targetLinks: P }
+ } of O)
+ P.sort(Age);
+ }
+ }
+ o(N, 'reorderNodeLinks');
+ function k(O) {
+ if (f === void 0) for (let { sourceLinks: D, targetLinks: P } of O) D.sort(_ge), P.sort(Age);
+ }
+ o(k, 'reorderLinks');
+ function I(O, D) {
+ let P = O.y0 - ((O.sourceLinks.length - 1) * s) / 2;
+ for (let { target: F, width: B } of O.sourceLinks) {
+ if (F === D) break;
+ P += B + s;
+ }
+ for (let { source: F, width: B } of D.targetLinks) {
+ if (F === O) break;
+ P -= B;
+ }
+ return P;
+ }
+ o(I, 'targetTop');
+ function C(O, D) {
+ let P = D.y0 - ((D.targetLinks.length - 1) * s) / 2;
+ for (let { source: F, width: B } of D.targetLinks) {
+ if (F === O) break;
+ P += B + s;
+ }
+ for (let { target: F, width: B } of O.sourceLinks) {
+ if (F === D) break;
+ P -= B;
+ }
+ return P;
+ }
+ return o(C, 'sourceTop'), g;
+ }
+ var Rge = R(() => {
+ 'use strict';
+ AB();
+ RB();
+ Sge();
+ o(Age, 'ascendingSourceBreadth');
+ o(_ge, 'ascendingTargetBreadth');
+ o(tC, 'ascendingBreadth');
+ o(NB, 'value');
+ o(NZe, 'defaultId');
+ o(MZe, 'defaultNodes');
+ o(IZe, 'defaultLinks');
+ o(Lge, 'find');
+ o(Dge, 'computeLinkBreadths');
+ o(rC, 'Sankey');
+ });
+ function OB() {
+ (this._x0 = this._y0 = this._x1 = this._y1 = null), (this._ = '');
+ }
+ function Nge() {
+ return new OB();
+ }
+ var MB,
+ IB,
+ Q0,
+ OZe,
+ PB,
+ Mge = R(() => {
+ 'use strict';
+ (MB = Math.PI), (IB = 2 * MB), (Q0 = 1e-6), (OZe = IB - Q0);
+ o(OB, 'Path');
+ o(Nge, 'path');
+ OB.prototype = Nge.prototype = {
+ constructor: OB,
+ moveTo: o(function (t, e) {
+ this._ += 'M' + (this._x0 = this._x1 = +t) + ',' + (this._y0 = this._y1 = +e);
+ }, 'moveTo'),
+ closePath: o(function () {
+ this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), (this._ += 'Z'));
+ }, 'closePath'),
+ lineTo: o(function (t, e) {
+ this._ += 'L' + (this._x1 = +t) + ',' + (this._y1 = +e);
+ }, 'lineTo'),
+ quadraticCurveTo: o(function (t, e, r, n) {
+ this._ += 'Q' + +t + ',' + +e + ',' + (this._x1 = +r) + ',' + (this._y1 = +n);
+ }, 'quadraticCurveTo'),
+ bezierCurveTo: o(function (t, e, r, n, i, a) {
+ this._ += 'C' + +t + ',' + +e + ',' + +r + ',' + +n + ',' + (this._x1 = +i) + ',' + (this._y1 = +a);
+ }, 'bezierCurveTo'),
+ arcTo: o(function (t, e, r, n, i) {
+ (t = +t), (e = +e), (r = +r), (n = +n), (i = +i);
+ var a = this._x1,
+ s = this._y1,
+ l = r - t,
+ u = n - e,
+ h = a - t,
+ f = s - e,
+ d = h * h + f * f;
+ if (i < 0) throw new Error('negative radius: ' + i);
+ if (this._x1 === null) this._ += 'M' + (this._x1 = t) + ',' + (this._y1 = e);
+ else if (d > Q0)
+ if (!(Math.abs(f * l - u * h) > Q0) || !i)
+ this._ += 'L' + (this._x1 = t) + ',' + (this._y1 = e);
+ else {
+ var p = r - a,
+ m = n - s,
+ g = l * l + u * u,
+ y = p * p + m * m,
+ v = Math.sqrt(g),
+ x = Math.sqrt(d),
+ b = i * Math.tan((MB - Math.acos((g + d - y) / (2 * v * x))) / 2),
+ w = b / x,
+ S = b / v;
+ Math.abs(w - 1) > Q0 && (this._ += 'L' + (t + w * h) + ',' + (e + w * f)),
+ (this._ +=
+ 'A' +
+ i +
+ ',' +
+ i +
+ ',0,0,' +
+ +(f * p > h * m) +
+ ',' +
+ (this._x1 = t + S * l) +
+ ',' +
+ (this._y1 = e + S * u));
+ }
+ }, 'arcTo'),
+ arc: o(function (t, e, r, n, i, a) {
+ (t = +t), (e = +e), (r = +r), (a = !!a);
+ var s = r * Math.cos(n),
+ l = r * Math.sin(n),
+ u = t + s,
+ h = e + l,
+ f = 1 ^ a,
+ d = a ? n - i : i - n;
+ if (r < 0) throw new Error('negative radius: ' + r);
+ this._x1 === null
+ ? (this._ += 'M' + u + ',' + h)
+ : (Math.abs(this._x1 - u) > Q0 || Math.abs(this._y1 - h) > Q0) && (this._ += 'L' + u + ',' + h),
+ r &&
+ (d < 0 && (d = (d % IB) + IB),
+ d > OZe
+ ? (this._ +=
+ 'A' +
+ r +
+ ',' +
+ r +
+ ',0,1,' +
+ f +
+ ',' +
+ (t - s) +
+ ',' +
+ (e - l) +
+ 'A' +
+ r +
+ ',' +
+ r +
+ ',0,1,' +
+ f +
+ ',' +
+ (this._x1 = u) +
+ ',' +
+ (this._y1 = h))
+ : d > Q0 &&
+ (this._ +=
+ 'A' +
+ r +
+ ',' +
+ r +
+ ',0,' +
+ +(d >= MB) +
+ ',' +
+ f +
+ ',' +
+ (this._x1 = t + r * Math.cos(i)) +
+ ',' +
+ (this._y1 = e + r * Math.sin(i))));
+ }, 'arc'),
+ rect: o(function (t, e, r, n) {
+ this._ +=
+ 'M' +
+ (this._x0 = this._x1 = +t) +
+ ',' +
+ (this._y0 = this._y1 = +e) +
+ 'h' +
+ +r +
+ 'v' +
+ +n +
+ 'h' +
+ -r +
+ 'Z';
+ }, 'rect'),
+ toString: o(function () {
+ return this._;
+ }, 'toString')
+ };
+ PB = Nge;
+ });
+ var Ige = R(() => {
+ 'use strict';
+ Mge();
+ });
+ function nC(t) {
+ return o(function () {
+ return t;
+ }, 'constant');
+ }
+ var Oge = R(() => {
+ 'use strict';
+ o(nC, 'default');
+ });
+ function Pge(t) {
+ return t[0];
+ }
+ function Bge(t) {
+ return t[1];
+ }
+ var Fge = R(() => {
+ 'use strict';
+ o(Pge, 'x');
+ o(Bge, 'y');
+ });
+ var zge,
+ Gge = R(() => {
+ 'use strict';
+ zge = Array.prototype.slice;
+ });
+ function PZe(t) {
+ return t.source;
+ }
+ function BZe(t) {
+ return t.target;
+ }
+ function FZe(t) {
+ var e = PZe,
+ r = BZe,
+ n = Pge,
+ i = Bge,
+ a = null;
+ function s() {
+ var l,
+ u = zge.call(arguments),
+ h = e.apply(this, u),
+ f = r.apply(this, u);
+ if (
+ (a || (a = l = PB()),
+ t(
+ a,
+ +n.apply(this, ((u[0] = h), u)),
+ +i.apply(this, u),
+ +n.apply(this, ((u[0] = f), u)),
+ +i.apply(this, u)
+ ),
+ l)
+ )
+ return (a = null), l + '' || null;
+ }
+ return (
+ o(s, 'link'),
+ (s.source = function (l) {
+ return arguments.length ? ((e = l), s) : e;
+ }),
+ (s.target = function (l) {
+ return arguments.length ? ((r = l), s) : r;
+ }),
+ (s.x = function (l) {
+ return arguments.length ? ((n = typeof l == 'function' ? l : nC(+l)), s) : n;
+ }),
+ (s.y = function (l) {
+ return arguments.length ? ((i = typeof l == 'function' ? l : nC(+l)), s) : i;
+ }),
+ (s.context = function (l) {
+ return arguments.length ? ((a = l ?? null), s) : a;
+ }),
+ s
+ );
+ }
+ function zZe(t, e, r, n, i) {
+ t.moveTo(e, r), t.bezierCurveTo((e = (e + n) / 2), r, e, i, n, i);
+ }
+ function BB() {
+ return FZe(zZe);
+ }
+ var $ge = R(() => {
+ 'use strict';
+ Ige();
+ Gge();
+ Oge();
+ Fge();
+ o(PZe, 'linkSource');
+ o(BZe, 'linkTarget');
+ o(FZe, 'link');
+ o(zZe, 'curveHorizontal');
+ o(BB, 'linkHorizontal');
+ });
+ var Vge = R(() => {
+ 'use strict';
+ $ge();
+ });
+ function GZe(t) {
+ return [t.source.x1, t.y0];
+ }
+ function $Ze(t) {
+ return [t.target.x0, t.y1];
+ }
+ function iC() {
+ return BB().source(GZe).target($Ze);
+ }
+ var Uge = R(() => {
+ 'use strict';
+ Vge();
+ o(GZe, 'horizontalSource');
+ o($Ze, 'horizontalTarget');
+ o(iC, 'default');
+ });
+ var Hge = R(() => {
+ 'use strict';
+ Rge();
+ RB();
+ Uge();
+ });
+ var fb,
+ Yge = R(() => {
+ 'use strict';
+ fb = class t {
+ static {
+ o(this, 'Uid');
+ }
+ static {
+ this.count = 0;
+ }
+ static next(e) {
+ return new t(e + ++t.count);
+ }
+ constructor(e) {
+ (this.id = e), (this.href = `#${e}`);
+ }
+ toString() {
+ return 'url(' + this.href + ')';
+ }
+ };
+ });
+ var VZe,
+ UZe,
+ Wge,
+ qge = R(() => {
+ 'use strict';
+ _t();
+ Zt();
+ Hge();
+ Yn();
+ Yge();
+ (VZe = { left: _B, right: LB, center: DB, justify: hb }),
+ (UZe = o(function (t, e, r, n) {
+ let { securityLevel: i, sankey: a } = de(),
+ s = _4.sankey,
+ l;
+ i === 'sandbox' && (l = $e('#i' + e));
+ let u = i === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body'),
+ h = i === 'sandbox' ? u.select(`[id="${e}"]`) : $e(`[id="${e}"]`),
+ f = a?.width ?? s.width,
+ d = a?.height ?? s.width,
+ p = a?.useMaxWidth ?? s.useMaxWidth,
+ m = a?.nodeAlignment ?? s.nodeAlignment,
+ g = a?.prefix ?? s.prefix,
+ y = a?.suffix ?? s.suffix,
+ v = a?.showValues ?? s.showValues,
+ x = n.db.getGraph(),
+ b = VZe[m];
+ rC()
+ .nodeId((M) => M.id)
+ .nodeWidth(10)
+ .nodePadding(10 + (v ? 15 : 0))
+ .nodeAlign(b)
+ .extent([
+ [0, 0],
+ [f, d]
+ ])(x);
+ let T = pu(Z8);
+ h.append('g')
+ .attr('class', 'nodes')
+ .selectAll('.node')
+ .data(x.nodes)
+ .join('g')
+ .attr('class', 'node')
+ .attr('id', (M) => (M.uid = fb.next('node-')).id)
+ .attr('transform', function (M) {
+ return 'translate(' + M.x0 + ',' + M.y0 + ')';
+ })
+ .attr('x', (M) => M.x0)
+ .attr('y', (M) => M.y0)
+ .append('rect')
+ .attr('height', (M) => M.y1 - M.y0)
+ .attr('width', (M) => M.x1 - M.x0)
+ .attr('fill', (M) => T(M.id));
+ let E = o(
+ ({ id: M, value: N }) =>
+ v
+ ? `${M}
+${g}${Math.round(N * 100) / 100}${y}`
+ : M,
+ 'getText'
+ );
+ h.append('g')
+ .attr('class', 'node-labels')
+ .attr('font-family', 'sans-serif')
+ .attr('font-size', 14)
+ .selectAll('text')
+ .data(x.nodes)
+ .join('text')
+ .attr('x', (M) => (M.x0 < f / 2 ? M.x1 + 6 : M.x0 - 6))
+ .attr('y', (M) => (M.y1 + M.y0) / 2)
+ .attr('dy', `${v ? '0' : '0.35'}em`)
+ .attr('text-anchor', (M) => (M.x0 < f / 2 ? 'start' : 'end'))
+ .text(E);
+ let _ = h
+ .append('g')
+ .attr('class', 'links')
+ .attr('fill', 'none')
+ .attr('stroke-opacity', 0.5)
+ .selectAll('.link')
+ .data(x.links)
+ .join('g')
+ .attr('class', 'link')
+ .style('mix-blend-mode', 'multiply'),
+ A = a?.linkColor ?? 'gradient';
+ if (A === 'gradient') {
+ let M = _.append('linearGradient')
+ .attr('id', (N) => (N.uid = fb.next('linearGradient-')).id)
+ .attr('gradientUnits', 'userSpaceOnUse')
+ .attr('x1', (N) => N.source.x1)
+ .attr('x2', (N) => N.target.x0);
+ M.append('stop')
+ .attr('offset', '0%')
+ .attr('stop-color', (N) => T(N.source.id)),
+ M.append('stop')
+ .attr('offset', '100%')
+ .attr('stop-color', (N) => T(N.target.id));
+ }
+ let L;
+ switch (A) {
+ case 'gradient':
+ L = o((M) => M.uid, 'coloring');
+ break;
+ case 'source':
+ L = o((M) => T(M.source.id), 'coloring');
+ break;
+ case 'target':
+ L = o((M) => T(M.target.id), 'coloring');
+ break;
+ default:
+ L = A;
+ }
+ _.append('path')
+ .attr('d', iC())
+ .attr('stroke', L)
+ .attr('stroke-width', (M) => Math.max(1, M.width)),
+ Lo(void 0, h, 0, p);
+ }, 'draw')),
+ (Wge = { draw: UZe });
+ });
+ var Xge,
+ jge = R(() => {
+ 'use strict';
+ Xge = o(
+ (t) =>
+ t
+ .replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g, '')
+ .replaceAll(
+ /([\n\r])+/g,
+ `
+`
+ )
+ .trim(),
+ 'prepareTextForParsing'
+ );
+ });
+ var Kge = {};
+ hr(Kge, { diagram: () => YZe });
+ var HZe,
+ YZe,
+ Qge = R(() => {
+ 'use strict';
+ bge();
+ Tge();
+ qge();
+ jge();
+ HZe = cb.parse.bind(cb);
+ cb.parse = (t) => HZe(Xge(t));
+ YZe = { parser: cb, db: wge, renderer: Wge };
+ });
+ var e1e,
+ FB,
+ jZe,
+ KZe,
+ QZe,
+ ZZe,
+ JZe,
+ Mf,
+ zB = R(() => {
+ 'use strict';
+ qs();
+ sl();
+ xr();
+ bi();
+ (e1e = { packet: [] }),
+ (FB = structuredClone(e1e)),
+ (jZe = mr.packet),
+ (KZe = o(() => {
+ let t = Ts({ ...jZe, ...Or().packet });
+ return t.showBits && (t.paddingY += 10), t;
+ }, 'getConfig')),
+ (QZe = o(() => FB.packet, 'getPacket')),
+ (ZZe = o((t) => {
+ t.length > 0 && FB.packet.push(t);
+ }, 'pushWord')),
+ (JZe = o(() => {
+ vr(), (FB = structuredClone(e1e));
+ }, 'clear')),
+ (Mf = {
+ pushWord: ZZe,
+ getPacket: QZe,
+ getConfig: KZe,
+ clear: JZe,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ getAccDescription: Lr,
+ setAccDescription: _r
+ });
+ });
+ var eJe,
+ tJe,
+ rJe,
+ t1e,
+ r1e = R(() => {
+ 'use strict';
+ Lg();
+ ut();
+ sx();
+ zB();
+ (eJe = 1e4),
+ (tJe = o((t) => {
+ cf(t, Mf);
+ let e = -1,
+ r = [],
+ n = 1,
+ { bitsPerRow: i } = Mf.getConfig();
+ for (let { start: a, end: s, label: l } of t.blocks) {
+ if (s && s < a)
+ throw new Error(`Packet block ${a} - ${s} is invalid. End must be greater than start.`);
+ if (a !== e + 1)
+ throw new Error(
+ `Packet block ${a} - ${s ?? a} is not contiguous. It should start from ${e + 1}.`
+ );
+ for (
+ e = s ?? a, V.debug(`Packet block ${a} - ${e} with label ${l}`);
+ r.length <= i + 1 && Mf.getPacket().length < eJe;
+
+ ) {
+ let [u, h] = rJe({ start: a, end: s, label: l }, n, i);
+ if ((r.push(u), u.end + 1 === n * i && (Mf.pushWord(r), (r = []), n++), !h)) break;
+ ({ start: a, end: s, label: l } = h);
+ }
+ }
+ Mf.pushWord(r);
+ }, 'populate')),
+ (rJe = o((t, e, r) => {
+ if ((t.end === void 0 && (t.end = t.start), t.start > t.end))
+ throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);
+ return t.end + 1 <= e * r
+ ? [t, void 0]
+ : [
+ { start: t.start, end: e * r - 1, label: t.label },
+ { start: e * r, end: t.end, label: t.label }
+ ];
+ }, 'getNextFittingBlock')),
+ (t1e = {
+ parse: o(async (t) => {
+ let e = await Fl('packet', t);
+ V.debug(e), tJe(e);
+ }, 'parse')
+ });
+ });
+ var nJe,
+ iJe,
+ n1e,
+ i1e = R(() => {
+ 'use strict';
+ pf();
+ Yn();
+ (nJe = o((t, e, r, n) => {
+ let i = n.db,
+ a = i.getConfig(),
+ { rowHeight: s, paddingY: l, bitWidth: u, bitsPerRow: h } = a,
+ f = i.getPacket(),
+ d = i.getDiagramTitle(),
+ p = s + l,
+ m = p * (f.length + 1) - (d ? 0 : s),
+ g = u * h + 2,
+ y = Ps(e);
+ y.attr('viewbox', `0 0 ${g} ${m}`), Sr(y, m, g, a.useMaxWidth);
+ for (let [v, x] of f.entries()) iJe(y, x, v, a);
+ y.append('text')
+ .text(d)
+ .attr('x', g / 2)
+ .attr('y', m - p / 2)
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle')
+ .attr('class', 'packetTitle');
+ }, 'draw')),
+ (iJe = o(
+ (t, e, r, { rowHeight: n, paddingX: i, paddingY: a, bitWidth: s, bitsPerRow: l, showBits: u }) => {
+ let h = t.append('g'),
+ f = r * (n + a) + a;
+ for (let d of e) {
+ let p = (d.start % l) * s + 1,
+ m = (d.end - d.start + 1) * s - i;
+ if (
+ (h
+ .append('rect')
+ .attr('x', p)
+ .attr('y', f)
+ .attr('width', m)
+ .attr('height', n)
+ .attr('class', 'packetBlock'),
+ h
+ .append('text')
+ .attr('x', p + m / 2)
+ .attr('y', f + n / 2)
+ .attr('class', 'packetLabel')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle')
+ .text(d.label),
+ !u)
+ )
+ continue;
+ let g = d.end === d.start,
+ y = f - 2;
+ h
+ .append('text')
+ .attr('x', p + (g ? m / 2 : 0))
+ .attr('y', y)
+ .attr('class', 'packetByte start')
+ .attr('dominant-baseline', 'auto')
+ .attr('text-anchor', g ? 'middle' : 'start')
+ .text(d.start),
+ g ||
+ h
+ .append('text')
+ .attr('x', p + m)
+ .attr('y', y)
+ .attr('class', 'packetByte end')
+ .attr('dominant-baseline', 'auto')
+ .attr('text-anchor', 'end')
+ .text(d.end);
+ }
+ },
+ 'drawWord'
+ )),
+ (n1e = { draw: nJe });
+ });
+ var aJe,
+ a1e,
+ s1e = R(() => {
+ 'use strict';
+ xr();
+ (aJe = {
+ byteFontSize: '10px',
+ startByteColor: 'black',
+ endByteColor: 'black',
+ labelColor: 'black',
+ labelFontSize: '12px',
+ titleColor: 'black',
+ titleFontSize: '14px',
+ blockStrokeColor: 'black',
+ blockStrokeWidth: '1',
+ blockFillColor: '#efefef'
+ }),
+ (a1e = o(({ packet: t } = {}) => {
+ let e = Ts(aJe, t);
+ return `
+ .packetByte {
+ font-size: ${e.byteFontSize};
+ }
+ .packetByte.start {
+ fill: ${e.startByteColor};
+ }
+ .packetByte.end {
+ fill: ${e.endByteColor};
+ }
+ .packetLabel {
+ fill: ${e.labelColor};
+ font-size: ${e.labelFontSize};
+ }
+ .packetTitle {
+ fill: ${e.titleColor};
+ font-size: ${e.titleFontSize};
+ }
+ .packetBlock {
+ stroke: ${e.blockStrokeColor};
+ stroke-width: ${e.blockStrokeWidth};
+ fill: ${e.blockFillColor};
+ }
+ `;
+ }, 'styles'));
+ });
+ var o1e = {};
+ hr(o1e, { diagram: () => sJe });
+ var sJe,
+ l1e = R(() => {
+ 'use strict';
+ zB();
+ r1e();
+ i1e();
+ s1e();
+ sJe = { parser: t1e, db: Mf, renderer: n1e, styles: a1e };
+ });
+ var GB,
+ h1e,
+ f1e = R(() => {
+ 'use strict';
+ GB = (function () {
+ var t = o(function (w, S, T, E) {
+ for (T = T || {}, E = w.length; E--; T[w[E]] = S);
+ return T;
+ }, 'o'),
+ e = [1, 7],
+ r = [1, 13],
+ n = [1, 14],
+ i = [1, 15],
+ a = [1, 19],
+ s = [1, 16],
+ l = [1, 17],
+ u = [1, 18],
+ h = [8, 30],
+ f = [8, 21, 28, 29, 30, 31, 32, 40, 44, 47],
+ d = [1, 23],
+ p = [1, 24],
+ m = [8, 15, 16, 21, 28, 29, 30, 31, 32, 40, 44, 47],
+ g = [8, 15, 16, 21, 27, 28, 29, 30, 31, 32, 40, 44, 47],
+ y = [1, 49],
+ v = {
+ trace: o(function () {}, 'trace'),
+ yy: {},
+ symbols_: {
+ error: 2,
+ spaceLines: 3,
+ SPACELINE: 4,
+ NL: 5,
+ separator: 6,
+ SPACE: 7,
+ EOF: 8,
+ start: 9,
+ BLOCK_DIAGRAM_KEY: 10,
+ document: 11,
+ stop: 12,
+ statement: 13,
+ link: 14,
+ LINK: 15,
+ START_LINK: 16,
+ LINK_LABEL: 17,
+ STR: 18,
+ nodeStatement: 19,
+ columnsStatement: 20,
+ SPACE_BLOCK: 21,
+ blockStatement: 22,
+ classDefStatement: 23,
+ cssClassStatement: 24,
+ styleStatement: 25,
+ node: 26,
+ SIZE: 27,
+ COLUMNS: 28,
+ 'id-block': 29,
+ end: 30,
+ block: 31,
+ NODE_ID: 32,
+ nodeShapeNLabel: 33,
+ dirList: 34,
+ DIR: 35,
+ NODE_DSTART: 36,
+ NODE_DEND: 37,
+ BLOCK_ARROW_START: 38,
+ BLOCK_ARROW_END: 39,
+ classDef: 40,
+ CLASSDEF_ID: 41,
+ CLASSDEF_STYLEOPTS: 42,
+ DEFAULT: 43,
+ class: 44,
+ CLASSENTITY_IDS: 45,
+ STYLECLASS: 46,
+ style: 47,
+ STYLE_ENTITY_IDS: 48,
+ STYLE_DEFINITION_DATA: 49,
+ $accept: 0,
+ $end: 1
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'SPACELINE',
+ 5: 'NL',
+ 7: 'SPACE',
+ 8: 'EOF',
+ 10: 'BLOCK_DIAGRAM_KEY',
+ 15: 'LINK',
+ 16: 'START_LINK',
+ 17: 'LINK_LABEL',
+ 18: 'STR',
+ 21: 'SPACE_BLOCK',
+ 27: 'SIZE',
+ 28: 'COLUMNS',
+ 29: 'id-block',
+ 30: 'end',
+ 31: 'block',
+ 32: 'NODE_ID',
+ 35: 'DIR',
+ 36: 'NODE_DSTART',
+ 37: 'NODE_DEND',
+ 38: 'BLOCK_ARROW_START',
+ 39: 'BLOCK_ARROW_END',
+ 40: 'classDef',
+ 41: 'CLASSDEF_ID',
+ 42: 'CLASSDEF_STYLEOPTS',
+ 43: 'DEFAULT',
+ 44: 'class',
+ 45: 'CLASSENTITY_IDS',
+ 46: 'STYLECLASS',
+ 47: 'style',
+ 48: 'STYLE_ENTITY_IDS',
+ 49: 'STYLE_DEFINITION_DATA'
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 2],
+ [3, 2],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [9, 3],
+ [12, 1],
+ [12, 1],
+ [12, 2],
+ [12, 2],
+ [11, 1],
+ [11, 2],
+ [14, 1],
+ [14, 4],
+ [13, 1],
+ [13, 1],
+ [13, 1],
+ [13, 1],
+ [13, 1],
+ [13, 1],
+ [13, 1],
+ [19, 3],
+ [19, 2],
+ [19, 1],
+ [20, 1],
+ [22, 4],
+ [22, 3],
+ [26, 1],
+ [26, 2],
+ [34, 1],
+ [34, 2],
+ [33, 3],
+ [33, 4],
+ [23, 3],
+ [23, 3],
+ [24, 3],
+ [25, 3]
+ ],
+ performAction: o(function (S, T, E, _, A, L, M) {
+ var N = L.length - 1;
+ switch (A) {
+ case 4:
+ _.getLogger().debug('Rule: separator (NL) ');
+ break;
+ case 5:
+ _.getLogger().debug('Rule: separator (Space) ');
+ break;
+ case 6:
+ _.getLogger().debug('Rule: separator (EOF) ');
+ break;
+ case 7:
+ _.getLogger().debug('Rule: hierarchy: ', L[N - 1]), _.setHierarchy(L[N - 1]);
+ break;
+ case 8:
+ _.getLogger().debug('Stop NL ');
+ break;
+ case 9:
+ _.getLogger().debug('Stop EOF ');
+ break;
+ case 10:
+ _.getLogger().debug('Stop NL2 ');
+ break;
+ case 11:
+ _.getLogger().debug('Stop EOF2 ');
+ break;
+ case 12:
+ _.getLogger().debug('Rule: statement: ', L[N]),
+ typeof L[N].length == 'number' ? (this.$ = L[N]) : (this.$ = [L[N]]);
+ break;
+ case 13:
+ _.getLogger().debug('Rule: statement #2: ', L[N - 1]),
+ (this.$ = [L[N - 1]].concat(L[N]));
+ break;
+ case 14:
+ _.getLogger().debug('Rule: link: ', L[N], S),
+ (this.$ = { edgeTypeStr: L[N], label: '' });
+ break;
+ case 15:
+ _.getLogger().debug('Rule: LABEL link: ', L[N - 3], L[N - 1], L[N]),
+ (this.$ = { edgeTypeStr: L[N], label: L[N - 1] });
+ break;
+ case 18:
+ let k = parseInt(L[N]),
+ I = _.generateId();
+ this.$ = {
+ id: I,
+ type: 'space',
+ label: '',
+ width: k,
+ children: []
+ };
+ break;
+ case 23:
+ _.getLogger().debug(
+ 'Rule: (nodeStatement link node) ',
+ L[N - 2],
+ L[N - 1],
+ L[N],
+ ' typestr: ',
+ L[N - 1].edgeTypeStr
+ );
+ let C = _.edgeStrToEdgeData(L[N - 1].edgeTypeStr);
+ this.$ = [
+ {
+ id: L[N - 2].id,
+ label: L[N - 2].label,
+ type: L[N - 2].type,
+ directions: L[N - 2].directions
+ },
+ {
+ id: L[N - 2].id + '-' + L[N].id,
+ start: L[N - 2].id,
+ end: L[N].id,
+ label: L[N - 1].label,
+ type: 'edge',
+ directions: L[N].directions,
+ arrowTypeEnd: C,
+ arrowTypeStart: 'arrow_open'
+ },
+ {
+ id: L[N].id,
+ label: L[N].label,
+ type: _.typeStr2Type(L[N].typeStr),
+ directions: L[N].directions
+ }
+ ];
+ break;
+ case 24:
+ _.getLogger().debug('Rule: nodeStatement (abc88 node size) ', L[N - 1], L[N]),
+ (this.$ = {
+ id: L[N - 1].id,
+ label: L[N - 1].label,
+ type: _.typeStr2Type(L[N - 1].typeStr),
+ directions: L[N - 1].directions,
+ widthInColumns: parseInt(L[N], 10)
+ });
+ break;
+ case 25:
+ _.getLogger().debug('Rule: nodeStatement (node) ', L[N]),
+ (this.$ = {
+ id: L[N].id,
+ label: L[N].label,
+ type: _.typeStr2Type(L[N].typeStr),
+ directions: L[N].directions,
+ widthInColumns: 1
+ });
+ break;
+ case 26:
+ _.getLogger().debug('APA123', this ? this : 'na'),
+ _.getLogger().debug('COLUMNS: ', L[N]),
+ (this.$ = {
+ type: 'column-setting',
+ columns: L[N] === 'auto' ? -1 : parseInt(L[N])
+ });
+ break;
+ case 27:
+ _.getLogger().debug('Rule: id-block statement : ', L[N - 2], L[N - 1]);
+ let O = _.generateId();
+ this.$ = {
+ ...L[N - 2],
+ type: 'composite',
+ children: L[N - 1]
+ };
+ break;
+ case 28:
+ _.getLogger().debug('Rule: blockStatement : ', L[N - 2], L[N - 1], L[N]);
+ let D = _.generateId();
+ this.$ = {
+ id: D,
+ type: 'composite',
+ label: '',
+ children: L[N - 1]
+ };
+ break;
+ case 29:
+ _.getLogger().debug('Rule: node (NODE_ID separator): ', L[N]),
+ (this.$ = { id: L[N] });
+ break;
+ case 30:
+ _.getLogger().debug(
+ 'Rule: node (NODE_ID nodeShapeNLabel separator): ',
+ L[N - 1],
+ L[N]
+ ),
+ (this.$ = {
+ id: L[N - 1],
+ label: L[N].label,
+ typeStr: L[N].typeStr,
+ directions: L[N].directions
+ });
+ break;
+ case 31:
+ _.getLogger().debug('Rule: dirList: ', L[N]), (this.$ = [L[N]]);
+ break;
+ case 32:
+ _.getLogger().debug('Rule: dirList: ', L[N - 1], L[N]),
+ (this.$ = [L[N - 1]].concat(L[N]));
+ break;
+ case 33:
+ _.getLogger().debug('Rule: nodeShapeNLabel: ', L[N - 2], L[N - 1], L[N]),
+ (this.$ = { typeStr: L[N - 2] + L[N], label: L[N - 1] });
+ break;
+ case 34:
+ _.getLogger().debug(
+ 'Rule: BLOCK_ARROW nodeShapeNLabel: ',
+ L[N - 3],
+ L[N - 2],
+ ' #3:',
+ L[N - 1],
+ L[N]
+ ),
+ (this.$ = {
+ typeStr: L[N - 3] + L[N],
+ label: L[N - 2],
+ directions: L[N - 1]
+ });
+ break;
+ case 35:
+ case 36:
+ this.$ = {
+ type: 'classDef',
+ id: L[N - 1].trim(),
+ css: L[N].trim()
+ };
+ break;
+ case 37:
+ this.$ = {
+ type: 'applyClass',
+ id: L[N - 1].trim(),
+ styleClass: L[N].trim()
+ };
+ break;
+ case 38:
+ this.$ = {
+ type: 'applyStyles',
+ id: L[N - 1].trim(),
+ stylesStr: L[N].trim()
+ };
+ break;
+ }
+ }, 'anonymous'),
+ table: [
+ { 9: 1, 10: [1, 2] },
+ { 1: [3] },
+ {
+ 11: 3,
+ 13: 4,
+ 19: 5,
+ 20: 6,
+ 21: e,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 28: r,
+ 29: n,
+ 31: i,
+ 32: a,
+ 40: s,
+ 44: l,
+ 47: u
+ },
+ { 8: [1, 20] },
+ t(h, [2, 12], {
+ 13: 4,
+ 19: 5,
+ 20: 6,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 11: 21,
+ 21: e,
+ 28: r,
+ 29: n,
+ 31: i,
+ 32: a,
+ 40: s,
+ 44: l,
+ 47: u
+ }),
+ t(f, [2, 16], { 14: 22, 15: d, 16: p }),
+ t(f, [2, 17]),
+ t(f, [2, 18]),
+ t(f, [2, 19]),
+ t(f, [2, 20]),
+ t(f, [2, 21]),
+ t(f, [2, 22]),
+ t(m, [2, 25], { 27: [1, 25] }),
+ t(f, [2, 26]),
+ { 19: 26, 26: 12, 32: a },
+ {
+ 11: 27,
+ 13: 4,
+ 19: 5,
+ 20: 6,
+ 21: e,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 28: r,
+ 29: n,
+ 31: i,
+ 32: a,
+ 40: s,
+ 44: l,
+ 47: u
+ },
+ { 41: [1, 28], 43: [1, 29] },
+ { 45: [1, 30] },
+ { 48: [1, 31] },
+ t(g, [2, 29], { 33: 32, 36: [1, 33], 38: [1, 34] }),
+ { 1: [2, 7] },
+ t(h, [2, 13]),
+ { 26: 35, 32: a },
+ { 32: [2, 14] },
+ { 17: [1, 36] },
+ t(m, [2, 24]),
+ {
+ 11: 37,
+ 13: 4,
+ 14: 22,
+ 15: d,
+ 16: p,
+ 19: 5,
+ 20: 6,
+ 21: e,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 28: r,
+ 29: n,
+ 31: i,
+ 32: a,
+ 40: s,
+ 44: l,
+ 47: u
+ },
+ { 30: [1, 38] },
+ { 42: [1, 39] },
+ { 42: [1, 40] },
+ { 46: [1, 41] },
+ { 49: [1, 42] },
+ t(g, [2, 30]),
+ { 18: [1, 43] },
+ { 18: [1, 44] },
+ t(m, [2, 23]),
+ { 18: [1, 45] },
+ { 30: [1, 46] },
+ t(f, [2, 28]),
+ t(f, [2, 35]),
+ t(f, [2, 36]),
+ t(f, [2, 37]),
+ t(f, [2, 38]),
+ { 37: [1, 47] },
+ { 34: 48, 35: y },
+ { 15: [1, 50] },
+ t(f, [2, 27]),
+ t(g, [2, 33]),
+ { 39: [1, 51] },
+ { 34: 52, 35: y, 39: [2, 31] },
+ { 32: [2, 15] },
+ t(g, [2, 34]),
+ { 39: [2, 32] }
+ ],
+ defaultActions: {
+ 20: [2, 7],
+ 23: [2, 14],
+ 50: [2, 15],
+ 52: [2, 32]
+ },
+ parseError: o(function (S, T) {
+ if (T.recoverable) this.trace(S);
+ else {
+ var E = new Error(S);
+ throw ((E.hash = T), E);
+ }
+ }, 'parseError'),
+ parse: o(function (S) {
+ var T = this,
+ E = [0],
+ _ = [],
+ A = [null],
+ L = [],
+ M = this.table,
+ N = '',
+ k = 0,
+ I = 0,
+ C = 0,
+ O = 2,
+ D = 1,
+ P = L.slice.call(arguments, 1),
+ F = Object.create(this.lexer),
+ B = { yy: {} };
+ for (var $ in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, $) && (B.yy[$] = this.yy[$]);
+ F.setInput(S, B.yy),
+ (B.yy.lexer = F),
+ (B.yy.parser = this),
+ typeof F.yylloc > 'u' && (F.yylloc = {});
+ var z = F.yylloc;
+ L.push(z);
+ var Y = F.options && F.options.ranges;
+ typeof B.yy.parseError == 'function'
+ ? (this.parseError = B.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Q(oe) {
+ (E.length = E.length - 2 * oe), (A.length = A.length - oe), (L.length = L.length - oe);
+ }
+ o(Q, 'popStack');
+ function X() {
+ var oe;
+ return (
+ (oe = _.pop() || F.lex() || D),
+ typeof oe != 'number' &&
+ (oe instanceof Array && ((_ = oe), (oe = _.pop())),
+ (oe = T.symbols_[oe] || oe)),
+ oe
+ );
+ }
+ o(X, 'lex');
+ for (var ie, j, J, Z, H, q, K = {}, se, ce, ue, te; ; ) {
+ if (
+ ((J = E[E.length - 1]),
+ this.defaultActions[J]
+ ? (Z = this.defaultActions[J])
+ : ((ie === null || typeof ie > 'u') && (ie = X()), (Z = M[J] && M[J][ie])),
+ typeof Z > 'u' || !Z.length || !Z[0])
+ ) {
+ var De = '';
+ te = [];
+ for (se in M[J])
+ this.terminals_[se] && se > O && te.push("'" + this.terminals_[se] + "'");
+ F.showPosition
+ ? (De =
+ 'Parse error on line ' +
+ (k + 1) +
+ `:
+` +
+ F.showPosition() +
+ `
+Expecting ` +
+ te.join(', ') +
+ ", got '" +
+ (this.terminals_[ie] || ie) +
+ "'")
+ : (De =
+ 'Parse error on line ' +
+ (k + 1) +
+ ': Unexpected ' +
+ (ie == D ? 'end of input' : "'" + (this.terminals_[ie] || ie) + "'")),
+ this.parseError(De, {
+ text: F.match,
+ token: this.terminals_[ie] || ie,
+ line: F.yylineno,
+ loc: z,
+ expected: te
+ });
+ }
+ if (Z[0] instanceof Array && Z.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + J + ', token: ' + ie
+ );
+ switch (Z[0]) {
+ case 1:
+ E.push(ie),
+ A.push(F.yytext),
+ L.push(F.yylloc),
+ E.push(Z[1]),
+ (ie = null),
+ j
+ ? ((ie = j), (j = null))
+ : ((I = F.yyleng),
+ (N = F.yytext),
+ (k = F.yylineno),
+ (z = F.yylloc),
+ C > 0 && C--);
+ break;
+ case 2:
+ if (
+ ((ce = this.productions_[Z[1]][1]),
+ (K.$ = A[A.length - ce]),
+ (K._$ = {
+ first_line: L[L.length - (ce || 1)].first_line,
+ last_line: L[L.length - 1].last_line,
+ first_column: L[L.length - (ce || 1)].first_column,
+ last_column: L[L.length - 1].last_column
+ }),
+ Y &&
+ (K._$.range = [
+ L[L.length - (ce || 1)].range[0],
+ L[L.length - 1].range[1]
+ ]),
+ (q = this.performAction.apply(K, [N, I, k, B.yy, Z[1], A, L].concat(P))),
+ typeof q < 'u')
+ )
+ return q;
+ ce &&
+ ((E = E.slice(0, -1 * ce * 2)),
+ (A = A.slice(0, -1 * ce)),
+ (L = L.slice(0, -1 * ce))),
+ E.push(this.productions_[Z[1]][0]),
+ A.push(K.$),
+ L.push(K._$),
+ (ue = M[E[E.length - 2]][E[E.length - 1]]),
+ E.push(ue);
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ }, 'parse')
+ },
+ x = (function () {
+ var w = {
+ EOF: 1,
+ parseError: o(function (T, E) {
+ if (this.yy.parser) this.yy.parser.parseError(T, E);
+ else throw new Error(T);
+ }, 'parseError'),
+ setInput: o(function (S, T) {
+ return (
+ (this.yy = T || this.yy || {}),
+ (this._input = S),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ }, 'setInput'),
+ input: o(function () {
+ var S = this._input[0];
+ (this.yytext += S),
+ this.yyleng++,
+ this.offset++,
+ (this.match += S),
+ (this.matched += S);
+ var T = S.match(/(?:\r\n?|\n).*/g);
+ return (
+ T ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ S
+ );
+ }, 'input'),
+ unput: o(function (S) {
+ var T = S.length,
+ E = S.split(/(?:\r\n?|\n)/g);
+ (this._input = S + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - T)),
+ (this.offset -= T);
+ var _ = this.match.split(/(?:\r\n?|\n)/g);
+ (this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ E.length - 1 && (this.yylineno -= E.length - 1);
+ var A = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: E
+ ? (E.length === _.length ? this.yylloc.first_column : 0) +
+ _[_.length - E.length].length -
+ E[0].length
+ : this.yylloc.first_column - T
+ }),
+ this.options.ranges && (this.yylloc.range = [A[0], A[0] + this.yyleng - T]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ }, 'unput'),
+ more: o(function () {
+ return (this._more = !0), this;
+ }, 'more'),
+ reject: o(function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ return this;
+ }, 'reject'),
+ less: o(function (S) {
+ this.unput(this.match.slice(S));
+ }, 'less'),
+ pastInput: o(function () {
+ var S = this.matched.substr(0, this.matched.length - this.match.length);
+ return (S.length > 20 ? '...' : '') + S.substr(-20).replace(/\n/g, '');
+ }, 'pastInput'),
+ upcomingInput: o(function () {
+ var S = this.match;
+ return (
+ S.length < 20 && (S += this._input.substr(0, 20 - S.length)),
+ (S.substr(0, 20) + (S.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ }, 'upcomingInput'),
+ showPosition: o(function () {
+ var S = this.pastInput(),
+ T = new Array(S.length + 1).join('-');
+ return (
+ S +
+ this.upcomingInput() +
+ `
+` +
+ T +
+ '^'
+ );
+ }, 'showPosition'),
+ test_match: o(function (S, T) {
+ var E, _, A;
+ if (
+ (this.options.backtrack_lexer &&
+ ((A = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ }),
+ this.options.ranges && (A.yylloc.range = this.yylloc.range.slice(0))),
+ (_ = S[0].match(/(?:\r\n?|\n).*/g)),
+ _ && (this.yylineno += _.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: _
+ ? _[_.length - 1].length - _[_.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + S[0].length
+ }),
+ (this.yytext += S[0]),
+ (this.match += S[0]),
+ (this.matches = S),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(S[0].length)),
+ (this.matched += S[0]),
+ (E = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ T,
+ this.conditionStack[this.conditionStack.length - 1]
+ )),
+ this.done && this._input && (this.done = !1),
+ E)
+ )
+ return E;
+ if (this._backtrack) {
+ for (var L in A) this[L] = A[L];
+ return !1;
+ }
+ return !1;
+ }, 'test_match'),
+ next: o(function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var S, T, E, _;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var A = this._currentRules(), L = 0; L < A.length; L++)
+ if (
+ ((E = this._input.match(this.rules[A[L]])),
+ E && (!T || E[0].length > T[0].length))
+ ) {
+ if (((T = E), (_ = L), this.options.backtrack_lexer)) {
+ if (((S = this.test_match(E, A[L])), S !== !1)) return S;
+ if (this._backtrack) {
+ T = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return T
+ ? ((S = this.test_match(T, A[_])), S !== !1 ? S : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno }
+ );
+ }, 'next'),
+ lex: o(function () {
+ var T = this.next();
+ return T || this.lex();
+ }, 'lex'),
+ begin: o(function (T) {
+ this.conditionStack.push(T);
+ }, 'begin'),
+ popState: o(function () {
+ var T = this.conditionStack.length - 1;
+ return T > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ }, 'popState'),
+ _currentRules: o(function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ }, '_currentRules'),
+ topState: o(function (T) {
+ return (
+ (T = this.conditionStack.length - 1 - Math.abs(T || 0)),
+ T >= 0 ? this.conditionStack[T] : 'INITIAL'
+ );
+ }, 'topState'),
+ pushState: o(function (T) {
+ this.begin(T);
+ }, 'pushState'),
+ stateStackSize: o(function () {
+ return this.conditionStack.length;
+ }, 'stateStackSize'),
+ options: {},
+ performAction: o(function (T, E, _, A) {
+ var L = A;
+ switch (_) {
+ case 0:
+ return 10;
+ case 1:
+ return T.getLogger().debug('Found space-block'), 31;
+ break;
+ case 2:
+ return T.getLogger().debug('Found nl-block'), 31;
+ break;
+ case 3:
+ return T.getLogger().debug('Found space-block'), 29;
+ break;
+ case 4:
+ T.getLogger().debug('.', E.yytext);
+ break;
+ case 5:
+ T.getLogger().debug('_', E.yytext);
+ break;
+ case 6:
+ return 5;
+ case 7:
+ return (E.yytext = -1), 28;
+ break;
+ case 8:
+ return (
+ (E.yytext = E.yytext.replace(/columns\s+/, '')),
+ T.getLogger().debug('COLUMNS (LEX)', E.yytext),
+ 28
+ );
+ break;
+ case 9:
+ this.pushState('md_string');
+ break;
+ case 10:
+ return 'MD_STR';
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ this.pushState('string');
+ break;
+ case 13:
+ T.getLogger().debug('LEX: POPPING STR:', E.yytext), this.popState();
+ break;
+ case 14:
+ return T.getLogger().debug('LEX: STR end:', E.yytext), 'STR';
+ break;
+ case 15:
+ return (
+ (E.yytext = E.yytext.replace(/space\:/, '')),
+ T.getLogger().debug('SPACE NUM (LEX)', E.yytext),
+ 21
+ );
+ break;
+ case 16:
+ return (E.yytext = '1'), T.getLogger().debug('COLUMNS (LEX)', E.yytext), 21;
+ break;
+ case 17:
+ return 43;
+ case 18:
+ return 'LINKSTYLE';
+ case 19:
+ return 'INTERPOLATE';
+ case 20:
+ return this.pushState('CLASSDEF'), 40;
+ break;
+ case 21:
+ return this.popState(), this.pushState('CLASSDEFID'), 'DEFAULT_CLASSDEF_ID';
+ break;
+ case 22:
+ return this.popState(), this.pushState('CLASSDEFID'), 41;
+ break;
+ case 23:
+ return this.popState(), 42;
+ break;
+ case 24:
+ return this.pushState('CLASS'), 44;
+ break;
+ case 25:
+ return this.popState(), this.pushState('CLASS_STYLE'), 45;
+ break;
+ case 26:
+ return this.popState(), 46;
+ break;
+ case 27:
+ return this.pushState('STYLE_STMNT'), 47;
+ break;
+ case 28:
+ return this.popState(), this.pushState('STYLE_DEFINITION'), 48;
+ break;
+ case 29:
+ return this.popState(), 49;
+ break;
+ case 30:
+ return this.pushState('acc_title'), 'acc_title';
+ break;
+ case 31:
+ return this.popState(), 'acc_title_value';
+ break;
+ case 32:
+ return this.pushState('acc_descr'), 'acc_descr';
+ break;
+ case 33:
+ return this.popState(), 'acc_descr_value';
+ break;
+ case 34:
+ this.pushState('acc_descr_multiline');
+ break;
+ case 35:
+ this.popState();
+ break;
+ case 36:
+ return 'acc_descr_multiline_value';
+ case 37:
+ return 30;
+ case 38:
+ return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND';
+ break;
+ case 39:
+ return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND';
+ break;
+ case 40:
+ return this.popState(), T.getLogger().debug('Lex: ))'), 'NODE_DEND';
+ break;
+ case 41:
+ return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND';
+ break;
+ case 42:
+ return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND';
+ break;
+ case 43:
+ return this.popState(), T.getLogger().debug('Lex: (-'), 'NODE_DEND';
+ break;
+ case 44:
+ return this.popState(), T.getLogger().debug('Lex: -)'), 'NODE_DEND';
+ break;
+ case 45:
+ return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND';
+ break;
+ case 46:
+ return this.popState(), T.getLogger().debug('Lex: ]]'), 'NODE_DEND';
+ break;
+ case 47:
+ return this.popState(), T.getLogger().debug('Lex: ('), 'NODE_DEND';
+ break;
+ case 48:
+ return this.popState(), T.getLogger().debug('Lex: ])'), 'NODE_DEND';
+ break;
+ case 49:
+ return this.popState(), T.getLogger().debug('Lex: /]'), 'NODE_DEND';
+ break;
+ case 50:
+ return this.popState(), T.getLogger().debug('Lex: /]'), 'NODE_DEND';
+ break;
+ case 51:
+ return this.popState(), T.getLogger().debug('Lex: )]'), 'NODE_DEND';
+ break;
+ case 52:
+ return this.popState(), T.getLogger().debug('Lex: )'), 'NODE_DEND';
+ break;
+ case 53:
+ return this.popState(), T.getLogger().debug('Lex: ]>'), 'NODE_DEND';
+ break;
+ case 54:
+ return this.popState(), T.getLogger().debug('Lex: ]'), 'NODE_DEND';
+ break;
+ case 55:
+ return T.getLogger().debug('Lexa: -)'), this.pushState('NODE'), 36;
+ break;
+ case 56:
+ return T.getLogger().debug('Lexa: (-'), this.pushState('NODE'), 36;
+ break;
+ case 57:
+ return T.getLogger().debug('Lexa: ))'), this.pushState('NODE'), 36;
+ break;
+ case 58:
+ return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36;
+ break;
+ case 59:
+ return T.getLogger().debug('Lex: ((('), this.pushState('NODE'), 36;
+ break;
+ case 60:
+ return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36;
+ break;
+ case 61:
+ return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36;
+ break;
+ case 62:
+ return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36;
+ break;
+ case 63:
+ return T.getLogger().debug('Lexc: >'), this.pushState('NODE'), 36;
+ break;
+ case 64:
+ return T.getLogger().debug('Lexa: (['), this.pushState('NODE'), 36;
+ break;
+ case 65:
+ return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36;
+ break;
+ case 66:
+ return this.pushState('NODE'), 36;
+ break;
+ case 67:
+ return this.pushState('NODE'), 36;
+ break;
+ case 68:
+ return this.pushState('NODE'), 36;
+ break;
+ case 69:
+ return this.pushState('NODE'), 36;
+ break;
+ case 70:
+ return this.pushState('NODE'), 36;
+ break;
+ case 71:
+ return this.pushState('NODE'), 36;
+ break;
+ case 72:
+ return this.pushState('NODE'), 36;
+ break;
+ case 73:
+ return T.getLogger().debug('Lexa: ['), this.pushState('NODE'), 36;
+ break;
+ case 74:
+ return this.pushState('BLOCK_ARROW'), T.getLogger().debug('LEX ARR START'), 38;
+ break;
+ case 75:
+ return T.getLogger().debug('Lex: NODE_ID', E.yytext), 32;
+ break;
+ case 76:
+ return T.getLogger().debug('Lex: EOF', E.yytext), 8;
+ break;
+ case 77:
+ this.pushState('md_string');
+ break;
+ case 78:
+ this.pushState('md_string');
+ break;
+ case 79:
+ return 'NODE_DESCR';
+ case 80:
+ this.popState();
+ break;
+ case 81:
+ T.getLogger().debug('Lex: Starting string'), this.pushState('string');
+ break;
+ case 82:
+ T.getLogger().debug('LEX ARR: Starting string'), this.pushState('string');
+ break;
+ case 83:
+ return T.getLogger().debug('LEX: NODE_DESCR:', E.yytext), 'NODE_DESCR';
+ break;
+ case 84:
+ T.getLogger().debug('LEX POPPING'), this.popState();
+ break;
+ case 85:
+ T.getLogger().debug('Lex: =>BAE'), this.pushState('ARROW_DIR');
+ break;
+ case 86:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (right): dir:', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 87:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (left):', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 88:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (x):', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 89:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (y):', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 90:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (up):', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 91:
+ return (
+ (E.yytext = E.yytext.replace(/^,\s*/, '')),
+ T.getLogger().debug('Lex (down):', E.yytext),
+ 'DIR'
+ );
+ break;
+ case 92:
+ return (
+ (E.yytext = ']>'),
+ T.getLogger().debug('Lex (ARROW_DIR end):', E.yytext),
+ this.popState(),
+ this.popState(),
+ 'BLOCK_ARROW_END'
+ );
+ break;
+ case 93:
+ return T.getLogger().debug('Lex: LINK', '#' + E.yytext + '#'), 15;
+ break;
+ case 94:
+ return T.getLogger().debug('Lex: LINK', E.yytext), 15;
+ break;
+ case 95:
+ return T.getLogger().debug('Lex: LINK', E.yytext), 15;
+ break;
+ case 96:
+ return T.getLogger().debug('Lex: LINK', E.yytext), 15;
+ break;
+ case 97:
+ return (
+ T.getLogger().debug('Lex: START_LINK', E.yytext),
+ this.pushState('LLABEL'),
+ 16
+ );
+ break;
+ case 98:
+ return (
+ T.getLogger().debug('Lex: START_LINK', E.yytext),
+ this.pushState('LLABEL'),
+ 16
+ );
+ break;
+ case 99:
+ return (
+ T.getLogger().debug('Lex: START_LINK', E.yytext),
+ this.pushState('LLABEL'),
+ 16
+ );
+ break;
+ case 100:
+ this.pushState('md_string');
+ break;
+ case 101:
+ return (
+ T.getLogger().debug('Lex: Starting string'),
+ this.pushState('string'),
+ 'LINK_LABEL'
+ );
+ break;
+ case 102:
+ return (
+ this.popState(), T.getLogger().debug('Lex: LINK', '#' + E.yytext + '#'), 15
+ );
+ break;
+ case 103:
+ return this.popState(), T.getLogger().debug('Lex: LINK', E.yytext), 15;
+ break;
+ case 104:
+ return this.popState(), T.getLogger().debug('Lex: LINK', E.yytext), 15;
+ break;
+ case 105:
+ return (
+ T.getLogger().debug('Lex: COLON', E.yytext),
+ (E.yytext = E.yytext.slice(1)),
+ 27
+ );
+ break;
+ }
+ }, 'anonymous'),
+ rules: [
+ /^(?:block-beta\b)/,
+ /^(?:block\s+)/,
+ /^(?:block\n+)/,
+ /^(?:block:)/,
+ /^(?:[\s]+)/,
+ /^(?:[\n]+)/,
+ /^(?:((\u000D\u000A)|(\u000A)))/,
+ /^(?:columns\s+auto\b)/,
+ /^(?:columns\s+[\d]+)/,
+ /^(?:["][`])/,
+ /^(?:[^`"]+)/,
+ /^(?:[`]["])/,
+ /^(?:["])/,
+ /^(?:["])/,
+ /^(?:[^"]*)/,
+ /^(?:space[:]\d+)/,
+ /^(?:space\b)/,
+ /^(?:default\b)/,
+ /^(?:linkStyle\b)/,
+ /^(?:interpolate\b)/,
+ /^(?:classDef\s+)/,
+ /^(?:DEFAULT\s+)/,
+ /^(?:\w+\s+)/,
+ /^(?:[^\n]*)/,
+ /^(?:class\s+)/,
+ /^(?:(\w+)+((,\s*\w+)*))/,
+ /^(?:[^\n]*)/,
+ /^(?:style\s+)/,
+ /^(?:(\w+)+((,\s*\w+)*))/,
+ /^(?:[^\n]*)/,
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:end\b\s*)/,
+ /^(?:\(\(\()/,
+ /^(?:\)\)\))/,
+ /^(?:[\)]\))/,
+ /^(?:\}\})/,
+ /^(?:\})/,
+ /^(?:\(-)/,
+ /^(?:-\))/,
+ /^(?:\(\()/,
+ /^(?:\]\])/,
+ /^(?:\()/,
+ /^(?:\]\))/,
+ /^(?:\\\])/,
+ /^(?:\/\])/,
+ /^(?:\)\])/,
+ /^(?:[\)])/,
+ /^(?:\]>)/,
+ /^(?:[\]])/,
+ /^(?:-\))/,
+ /^(?:\(-)/,
+ /^(?:\)\))/,
+ /^(?:\))/,
+ /^(?:\(\(\()/,
+ /^(?:\(\()/,
+ /^(?:\{\{)/,
+ /^(?:\{)/,
+ /^(?:>)/,
+ /^(?:\(\[)/,
+ /^(?:\()/,
+ /^(?:\[\[)/,
+ /^(?:\[\|)/,
+ /^(?:\[\()/,
+ /^(?:\)\)\))/,
+ /^(?:\[\\)/,
+ /^(?:\[\/)/,
+ /^(?:\[\\)/,
+ /^(?:\[)/,
+ /^(?:<\[)/,
+ /^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,
+ /^(?:$)/,
+ /^(?:["][`])/,
+ /^(?:["][`])/,
+ /^(?:[^`"]+)/,
+ /^(?:[`]["])/,
+ /^(?:["])/,
+ /^(?:["])/,
+ /^(?:[^"]+)/,
+ /^(?:["])/,
+ /^(?:\]>\s*\()/,
+ /^(?:,?\s*right\s*)/,
+ /^(?:,?\s*left\s*)/,
+ /^(?:,?\s*x\s*)/,
+ /^(?:,?\s*y\s*)/,
+ /^(?:,?\s*up\s*)/,
+ /^(?:,?\s*down\s*)/,
+ /^(?:\)\s*)/,
+ /^(?:\s*[xo<]?--+[-xo>]\s*)/,
+ /^(?:\s*[xo<]?==+[=xo>]\s*)/,
+ /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,
+ /^(?:\s*~~[\~]+\s*)/,
+ /^(?:\s*[xo<]?--\s*)/,
+ /^(?:\s*[xo<]?==\s*)/,
+ /^(?:\s*[xo<]?-\.\s*)/,
+ /^(?:["][`])/,
+ /^(?:["])/,
+ /^(?:\s*[xo<]?--+[-xo>]\s*)/,
+ /^(?:\s*[xo<]?==+[=xo>]\s*)/,
+ /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,
+ /^(?::\d+)/
+ ],
+ conditions: {
+ STYLE_DEFINITION: { rules: [29], inclusive: !1 },
+ STYLE_STMNT: { rules: [28], inclusive: !1 },
+ CLASSDEFID: { rules: [23], inclusive: !1 },
+ CLASSDEF: { rules: [21, 22], inclusive: !1 },
+ CLASS_STYLE: { rules: [26], inclusive: !1 },
+ CLASS: { rules: [25], inclusive: !1 },
+ LLABEL: { rules: [100, 101, 102, 103, 104], inclusive: !1 },
+ ARROW_DIR: {
+ rules: [86, 87, 88, 89, 90, 91, 92],
+ inclusive: !1
+ },
+ BLOCK_ARROW: { rules: [77, 82, 85], inclusive: !1 },
+ NODE: {
+ rules: [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 78, 81],
+ inclusive: !1
+ },
+ md_string: { rules: [10, 11, 79, 80], inclusive: !1 },
+ space: { rules: [], inclusive: !1 },
+ string: { rules: [13, 14, 83, 84], inclusive: !1 },
+ acc_descr_multiline: { rules: [35, 36], inclusive: !1 },
+ acc_descr: { rules: [33], inclusive: !1 },
+ acc_title: { rules: [31], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 17, 18, 19, 20, 24, 27, 30, 32, 34,
+ 37, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 93, 94, 95, 96, 97, 98, 99, 105
+ ],
+ inclusive: !0
+ }
+ }
+ };
+ return w;
+ })();
+ v.lexer = x;
+ function b() {
+ this.yy = {};
+ }
+ return o(b, 'Parser'), (b.prototype = v), (v.Parser = b), new b();
+ })();
+ GB.parser = GB;
+ h1e = GB;
+ });
+ function gJe(t) {
+ switch ((V.debug('typeStr2Type', t), t)) {
+ case '[]':
+ return 'square';
+ case '()':
+ return V.debug('we have a round'), 'round';
+ case '(())':
+ return 'circle';
+ case '>]':
+ return 'rect_left_inv_arrow';
+ case '{}':
+ return 'diamond';
+ case '{{}}':
+ return 'hexagon';
+ case '([])':
+ return 'stadium';
+ case '[[]]':
+ return 'subroutine';
+ case '[()]':
+ return 'cylinder';
+ case '((()))':
+ return 'doublecircle';
+ case '[//]':
+ return 'lean_right';
+ case '[\\\\]':
+ return 'lean_left';
+ case '[/\\]':
+ return 'trapezoid';
+ case '[\\/]':
+ return 'inv_trapezoid';
+ case '<[]>':
+ return 'block_arrow';
+ default:
+ return 'na';
+ }
+ }
+ function yJe(t) {
+ switch ((V.debug('typeStr2Type', t), t)) {
+ case '==':
+ return 'thick';
+ default:
+ return 'normal';
+ }
+ }
+ function vJe(t) {
+ switch (t.trim()) {
+ case '--x':
+ return 'arrow_cross';
+ case '--o':
+ return 'arrow_circle';
+ default:
+ return 'arrow_point';
+ }
+ }
+ var Yl,
+ VB,
+ $B,
+ d1e,
+ p1e,
+ cJe,
+ g1e,
+ uJe,
+ aC,
+ hJe,
+ fJe,
+ dJe,
+ pJe,
+ y1e,
+ UB,
+ db,
+ mJe,
+ m1e,
+ xJe,
+ bJe,
+ wJe,
+ TJe,
+ kJe,
+ EJe,
+ CJe,
+ SJe,
+ AJe,
+ _Je,
+ LJe,
+ v1e,
+ x1e = R(() => {
+ 'use strict';
+ gL();
+ qs();
+ _t();
+ ut();
+ rr();
+ bi();
+ (Yl = new Map()),
+ (VB = []),
+ ($B = new Map()),
+ (d1e = 'color'),
+ (p1e = 'fill'),
+ (cJe = 'bgFill'),
+ (g1e = ','),
+ (uJe = de()),
+ (aC = new Map()),
+ (hJe = o((t) => We.sanitizeText(t, uJe), 'sanitizeText')),
+ (fJe = o(function (t, e = '') {
+ let r = aC.get(t);
+ r || ((r = { id: t, styles: [], textStyles: [] }), aC.set(t, r)),
+ e?.split(g1e).forEach((n) => {
+ let i = n.replace(/([^;]*);/, '$1').trim();
+ if (RegExp(d1e).exec(n)) {
+ let s = i.replace(p1e, cJe).replace(d1e, p1e);
+ r.textStyles.push(s);
+ }
+ r.styles.push(i);
+ });
+ }, 'addStyleClass')),
+ (dJe = o(function (t, e = '') {
+ let r = Yl.get(t);
+ e != null && (r.styles = e.split(g1e));
+ }, 'addStyle2Node')),
+ (pJe = o(function (t, e) {
+ t.split(',').forEach(function (r) {
+ let n = Yl.get(r);
+ if (n === void 0) {
+ let i = r.trim();
+ (n = { id: i, type: 'na', children: [] }), Yl.set(i, n);
+ }
+ n.classes || (n.classes = []), n.classes.push(e);
+ });
+ }, 'setCssClass')),
+ (y1e = o((t, e) => {
+ let r = t.flat(),
+ n = [];
+ for (let i of r) {
+ if ((i.label && (i.label = hJe(i.label)), i.type === 'classDef')) {
+ fJe(i.id, i.css);
+ continue;
+ }
+ if (i.type === 'applyClass') {
+ pJe(i.id, i?.styleClass ?? '');
+ continue;
+ }
+ if (i.type === 'applyStyles') {
+ i?.stylesStr && dJe(i.id, i?.stylesStr);
+ continue;
+ }
+ if (i.type === 'column-setting') e.columns = i.columns ?? -1;
+ else if (i.type === 'edge') {
+ let a = ($B.get(i.id) ?? 0) + 1;
+ $B.set(i.id, a), (i.id = a + '-' + i.id), VB.push(i);
+ } else {
+ i.label || (i.type === 'composite' ? (i.label = '') : (i.label = i.id));
+ let a = Yl.get(i.id);
+ if (
+ (a === void 0
+ ? Yl.set(i.id, i)
+ : (i.type !== 'na' && (a.type = i.type), i.label !== i.id && (a.label = i.label)),
+ i.children && y1e(i.children, i),
+ i.type === 'space')
+ ) {
+ let s = i.width ?? 1;
+ for (let l = 0; l < s; l++) {
+ let u = Qr(i);
+ (u.id = u.id + '-' + l), Yl.set(u.id, u), n.push(u);
+ }
+ } else a === void 0 && n.push(i);
+ }
+ }
+ e.children = n;
+ }, 'populateBlockDatabase')),
+ (UB = []),
+ (db = { id: 'root', type: 'composite', children: [], columns: -1 }),
+ (mJe = o(() => {
+ V.debug('Clear called'),
+ vr(),
+ (db = { id: 'root', type: 'composite', children: [], columns: -1 }),
+ (Yl = new Map([['root', db]])),
+ (UB = []),
+ (aC = new Map()),
+ (VB = []),
+ ($B = new Map());
+ }, 'clear'));
+ o(gJe, 'typeStr2Type');
+ o(yJe, 'edgeTypeStr2Type');
+ o(vJe, 'edgeStrToEdgeData');
+ (m1e = 0),
+ (xJe = o(() => (m1e++, 'id-' + Math.random().toString(36).substr(2, 12) + '-' + m1e), 'generateId')),
+ (bJe = o((t) => {
+ (db.children = t), y1e(t, db), (UB = db.children);
+ }, 'setHierarchy')),
+ (wJe = o((t) => {
+ let e = Yl.get(t);
+ return e ? (e.columns ? e.columns : e.children ? e.children.length : -1) : -1;
+ }, 'getColumns')),
+ (TJe = o(() => [...Yl.values()], 'getBlocksFlat')),
+ (kJe = o(() => UB || [], 'getBlocks')),
+ (EJe = o(() => VB, 'getEdges')),
+ (CJe = o((t) => Yl.get(t), 'getBlock')),
+ (SJe = o((t) => {
+ Yl.set(t.id, t);
+ }, 'setBlock')),
+ (AJe = o(() => console, 'getLogger')),
+ (_Je = o(function () {
+ return aC;
+ }, 'getClasses')),
+ (LJe = {
+ getConfig: o(() => Or().block, 'getConfig'),
+ typeStr2Type: gJe,
+ edgeTypeStr2Type: yJe,
+ edgeStrToEdgeData: vJe,
+ getLogger: AJe,
+ getBlocksFlat: TJe,
+ getBlocks: kJe,
+ getEdges: EJe,
+ setHierarchy: bJe,
+ getBlock: CJe,
+ setBlock: SJe,
+ getColumns: wJe,
+ getClasses: _Je,
+ clear: mJe,
+ generateId: xJe
+ }),
+ (v1e = LJe);
+ });
+ var sC,
+ DJe,
+ b1e,
+ w1e = R(() => {
+ 'use strict';
+ al();
+ (sC = o((t, e) => {
+ let r = X1,
+ n = r(t, 'r'),
+ i = r(t, 'g'),
+ a = r(t, 'b');
+ return Ws(n, i, a, e);
+ }, 'fade')),
+ (DJe = o(
+ (t) => `.label {
+ font-family: ${t.fontFamily};
+ color: ${t.nodeTextColor || t.textColor};
+ }
+ .cluster-label text {
+ fill: ${t.titleColor};
+ }
+ .cluster-label span,p {
+ color: ${t.titleColor};
+ }
+
+
+
+ .label text,span,p {
+ fill: ${t.nodeTextColor || t.textColor};
+ color: ${t.nodeTextColor || t.textColor};
+ }
+
+ .node rect,
+ .node circle,
+ .node ellipse,
+ .node polygon,
+ .node path {
+ fill: ${t.mainBkg};
+ stroke: ${t.nodeBorder};
+ stroke-width: 1px;
+ }
+ .flowchart-label text {
+ text-anchor: middle;
+ }
+ // .flowchart-label .text-outer-tspan {
+ // text-anchor: middle;
+ // }
+ // .flowchart-label .text-inner-tspan {
+ // text-anchor: start;
+ // }
+
+ .node .label {
+ text-align: center;
+ }
+ .node.clickable {
+ cursor: pointer;
+ }
+
+ .arrowheadPath {
+ fill: ${t.arrowheadColor};
+ }
+
+ .edgePath .path {
+ stroke: ${t.lineColor};
+ stroke-width: 2.0px;
+ }
+
+ .flowchart-link {
+ stroke: ${t.lineColor};
+ fill: none;
+ }
+
+ .edgeLabel {
+ background-color: ${t.edgeLabelBackground};
+ rect {
+ opacity: 0.5;
+ background-color: ${t.edgeLabelBackground};
+ fill: ${t.edgeLabelBackground};
+ }
+ text-align: center;
+ }
+
+ /* For html labels only */
+ .labelBkg {
+ background-color: ${sC(t.edgeLabelBackground, 0.5)};
+ // background-color:
+ }
+
+ .node .cluster {
+ // fill: ${sC(t.mainBkg, 0.5)};
+ fill: ${sC(t.clusterBkg, 0.5)};
+ stroke: ${sC(t.clusterBorder, 0.2)};
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
+ stroke-width: 1px;
+ }
+
+ .cluster text {
+ fill: ${t.titleColor};
+ }
+
+ .cluster span,p {
+ color: ${t.titleColor};
+ }
+ /* .cluster div {
+ color: ${t.titleColor};
+ } */
+
+ div.mermaidTooltip {
+ position: absolute;
+ text-align: center;
+ max-width: 200px;
+ padding: 2px;
+ font-family: ${t.fontFamily};
+ font-size: 12px;
+ background: ${t.tertiaryColor};
+ border: 1px solid ${t.border2};
+ border-radius: 2px;
+ pointer-events: none;
+ z-index: 100;
+ }
+
+ .flowchartTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${t.textColor};
+ }
+`,
+ 'getStyles'
+ )),
+ (b1e = DJe);
+ });
+ function RJe(t, e) {
+ if (t === 0 || !Number.isInteger(t)) throw new Error('Columns must be an integer !== 0.');
+ if (e < 0 || !Number.isInteger(e)) throw new Error('Position must be a non-negative integer.' + e);
+ if (t < 0) return { px: e, py: 0 };
+ if (t === 1) return { px: 0, py: e };
+ let r = e % t,
+ n = Math.floor(e / t);
+ return { px: r, py: n };
+ }
+ function HB(t, e, r = 0, n = 0) {
+ V.debug('setBlockSizes abc95 (start)', t.id, t?.size?.x, 'block width =', t?.size, 'sieblingWidth', r),
+ t?.size?.width || (t.size = { width: r, height: n, x: 0, y: 0 });
+ let i = 0,
+ a = 0;
+ if (t.children?.length > 0) {
+ for (let m of t.children) HB(m, e);
+ let s = NJe(t);
+ (i = s.width), (a = s.height), V.debug('setBlockSizes abc95 maxWidth of', t.id, ':s children is ', i, a);
+ for (let m of t.children)
+ m.size &&
+ (V.debug(
+ `abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`
+ ),
+ (m.size.width = i * (m.widthInColumns ?? 1) + mi * ((m.widthInColumns ?? 1) - 1)),
+ (m.size.height = a),
+ (m.size.x = 0),
+ (m.size.y = 0),
+ V.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));
+ for (let m of t.children) HB(m, e, i, a);
+ let l = t.columns ?? -1,
+ u = 0;
+ for (let m of t.children) u += m.widthInColumns ?? 1;
+ let h = t.children.length;
+ l > 0 && l < u && (h = l);
+ let f = Math.ceil(u / h),
+ d = h * (i + mi) + mi,
+ p = f * (a + mi) + mi;
+ if (d < r) {
+ V.debug(`Detected to small siebling: abc95 ${t.id} sieblingWidth ${r} sieblingHeight ${n} width ${d}`),
+ (d = r),
+ (p = n);
+ let m = (r - h * mi - mi) / h,
+ g = (n - f * mi - mi) / f;
+ V.debug('Size indata abc88', t.id, 'childWidth', m, 'maxWidth', i),
+ V.debug('Size indata abc88', t.id, 'childHeight', g, 'maxHeight', a),
+ V.debug('Size indata abc88 xSize', h, 'padding', mi);
+ for (let y of t.children)
+ y.size && ((y.size.width = m), (y.size.height = g), (y.size.x = 0), (y.size.y = 0));
+ }
+ if (
+ (V.debug(
+ `abc95 (finale calc) ${t.id} xSize ${h} ySize ${f} columns ${l}${
+ t.children.length
+ } width=${Math.max(d, t.size?.width || 0)}`
+ ),
+ d < (t?.size?.width || 0))
+ ) {
+ d = t?.size?.width || 0;
+ let m = l > 0 ? Math.min(t.children.length, l) : t.children.length;
+ if (m > 0) {
+ let g = (d - m * mi - mi) / m;
+ V.debug('abc95 (growing to fit) width', t.id, d, t.size?.width, g);
+ for (let y of t.children) y.size && (y.size.width = g);
+ }
+ }
+ t.size = { width: d, height: p, x: 0, y: 0 };
+ }
+ V.debug('setBlockSizes abc94 (done)', t.id, t?.size?.x, t?.size?.width, t?.size?.y, t?.size?.height);
+ }
+ function T1e(t, e) {
+ V.debug(
+ `abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`
+ );
+ let r = t.columns ?? -1;
+ if ((V.debug('layoutBlocks columns abc95', t.id, '=>', r, t), t.children && t.children.length > 0)) {
+ let n = t?.children[0]?.size?.width ?? 0,
+ i = t.children.length * n + (t.children.length - 1) * mi;
+ V.debug('widthOfChildren 88', i, 'posX');
+ let a = 0;
+ V.debug('abc91 block?.size?.x', t.id, t?.size?.x);
+ let s = t?.size?.x ? t?.size?.x + (-t?.size?.width / 2 || 0) : -mi,
+ l = 0;
+ for (let u of t.children) {
+ let h = t;
+ if (!u.size) continue;
+ let { width: f, height: d } = u.size,
+ { px: p, py: m } = RJe(r, a);
+ if (
+ (m != l &&
+ ((l = m),
+ (s = t?.size?.x ? t?.size?.x + (-t?.size?.width / 2 || 0) : -mi),
+ V.debug('New row in layout for block', t.id, ' and child ', u.id, l)),
+ V.debug(
+ `abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${mi}`
+ ),
+ h.size)
+ ) {
+ let g = f / 2;
+ (u.size.x = s + mi + g),
+ V.debug(
+ `abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${s} new startingPosX${
+ u.size.x
+ } ${g} padding=${mi} width=${f} halfWidth=${g} => x:${u.size.x} y:${u.size.y} ${
+ u.widthInColumns
+ } (width * (child?.w || 1)) / 2 ${(f * (u?.widthInColumns ?? 1)) / 2}`
+ ),
+ (s = u.size.x + g),
+ (u.size.y = h.size.y - h.size.height / 2 + m * (d + mi) + d / 2 + mi),
+ V.debug(
+ `abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${s}${mi}${g}=>x:${u.size.x}y:${
+ u.size.y
+ }${u.widthInColumns}(width * (child?.w || 1)) / 2${(f * (u?.widthInColumns ?? 1)) / 2}`
+ );
+ }
+ u.children && T1e(u, e), (a += u?.widthInColumns ?? 1), V.debug('abc88 columnsPos', u, a);
+ }
+ }
+ V.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);
+ }
+ function k1e(
+ t,
+ { minX: e, minY: r, maxX: n, maxY: i } = {
+ minX: 0,
+ minY: 0,
+ maxX: 0,
+ maxY: 0
+ }
+ ) {
+ if (t.size && t.id !== 'root') {
+ let { x: a, y: s, width: l, height: u } = t.size;
+ a - l / 2 < e && (e = a - l / 2),
+ s - u / 2 < r && (r = s - u / 2),
+ a + l / 2 > n && (n = a + l / 2),
+ s + u / 2 > i && (i = s + u / 2);
+ }
+ if (t.children)
+ for (let a of t.children)
+ ({ minX: e, minY: r, maxX: n, maxY: i } = k1e(a, { minX: e, minY: r, maxX: n, maxY: i }));
+ return { minX: e, minY: r, maxX: n, maxY: i };
+ }
+ function E1e(t) {
+ let e = t.getBlock('root');
+ if (!e) return;
+ HB(e, t, 0, 0), T1e(e, t), V.debug('getBlocks', JSON.stringify(e, null, 2));
+ let { minX: r, minY: n, maxX: i, maxY: a } = k1e(e),
+ s = a - n,
+ l = i - r;
+ return { x: r, y: n, width: l, height: s };
+ }
+ var mi,
+ NJe,
+ C1e = R(() => {
+ 'use strict';
+ ut();
+ _t();
+ mi = de()?.block?.padding ?? 8;
+ o(RJe, 'calculateBlockPosition');
+ NJe = o((t) => {
+ let e = 0,
+ r = 0;
+ for (let n of t.children) {
+ let { width: i, height: a, x: s, y: l } = n.size ?? { width: 0, height: 0, x: 0, y: 0 };
+ V.debug('getMaxChildSize abc95 child:', n.id, 'width:', i, 'height:', a, 'x:', s, 'y:', l, n.type),
+ n.type !== 'space' && (i > e && (e = i / (t.widthInColumns ?? 1)), a > r && (r = a));
+ }
+ return { width: e, height: r };
+ }, 'getMaxChildSize');
+ o(HB, 'setBlockSizes');
+ o(T1e, 'layoutBlocks');
+ o(k1e, 'findBounds');
+ o(E1e, 'layout');
+ });
+ function S1e(t, e, r = !1) {
+ let n = t,
+ i = 'default';
+ (n?.classes?.length || 0) > 0 && (i = (n?.classes ?? []).join(' ')), (i = i + ' flowchart-label');
+ let a = 0,
+ s = '',
+ l;
+ switch (n.type) {
+ case 'round':
+ (a = 5), (s = 'rect');
+ break;
+ case 'composite':
+ (a = 0), (s = 'composite'), (l = 0);
+ break;
+ case 'square':
+ s = 'rect';
+ break;
+ case 'diamond':
+ s = 'question';
+ break;
+ case 'hexagon':
+ s = 'hexagon';
+ break;
+ case 'block_arrow':
+ s = 'block_arrow';
+ break;
+ case 'odd':
+ s = 'rect_left_inv_arrow';
+ break;
+ case 'lean_right':
+ s = 'lean_right';
+ break;
+ case 'lean_left':
+ s = 'lean_left';
+ break;
+ case 'trapezoid':
+ s = 'trapezoid';
+ break;
+ case 'inv_trapezoid':
+ s = 'inv_trapezoid';
+ break;
+ case 'rect_left_inv_arrow':
+ s = 'rect_left_inv_arrow';
+ break;
+ case 'circle':
+ s = 'circle';
+ break;
+ case 'ellipse':
+ s = 'ellipse';
+ break;
+ case 'stadium':
+ s = 'stadium';
+ break;
+ case 'subroutine':
+ s = 'subroutine';
+ break;
+ case 'cylinder':
+ s = 'cylinder';
+ break;
+ case 'group':
+ s = 'rect';
+ break;
+ case 'doublecircle':
+ s = 'doublecircle';
+ break;
+ default:
+ s = 'rect';
+ }
+ let u = lm(n?.styles ?? []),
+ h = n.label,
+ f = n.size ?? { width: 0, height: 0, x: 0, y: 0 };
+ return {
+ labelStyle: u.labelStyle,
+ shape: s,
+ labelText: h,
+ rx: a,
+ ry: a,
+ class: i,
+ style: u.style,
+ id: n.id,
+ directions: n.directions,
+ width: f.width,
+ height: f.height,
+ x: f.x,
+ y: f.y,
+ positioned: r,
+ intersect: void 0,
+ type: n.type,
+ padding: l ?? Or()?.block?.padding ?? 0
+ };
+ }
+ async function MJe(t, e, r) {
+ let n = S1e(e, r, !1);
+ if (n.type === 'group') return;
+ let i = await pm(t, n),
+ a = i.node().getBBox(),
+ s = r.getBlock(n.id);
+ (s.size = { width: a.width, height: a.height, x: 0, y: 0, node: i }), r.setBlock(s), i.remove();
+ }
+ async function IJe(t, e, r) {
+ let n = S1e(e, r, !0);
+ r.getBlock(n.id).type !== 'space' && (await pm(t, n), (e.intersect = n?.intersect), wv(n));
+ }
+ async function YB(t, e, r, n) {
+ for (let i of e) await n(t, i, r), i.children && (await YB(t, i.children, r, n));
+ }
+ async function A1e(t, e, r) {
+ await YB(t, e, r, MJe);
+ }
+ async function _1e(t, e, r) {
+ await YB(t, e, r, IJe);
+ }
+ async function L1e(t, e, r, n, i) {
+ let a = new lr({ multigraph: !0, compound: !0 });
+ a.setGraph({
+ rankdir: 'TB',
+ nodesep: 10,
+ ranksep: 10,
+ marginx: 8,
+ marginy: 8
+ });
+ for (let s of r)
+ s.size &&
+ a.setNode(s.id, {
+ width: s.size.width,
+ height: s.size.height,
+ intersect: s.intersect
+ });
+ for (let s of e)
+ if (s.start && s.end) {
+ let l = n.getBlock(s.start),
+ u = n.getBlock(s.end);
+ if (l?.size && u?.size) {
+ let h = l.size,
+ f = u.size,
+ d = [
+ { x: h.x, y: h.y },
+ { x: h.x + (f.x - h.x) / 2, y: h.y + (f.y - h.y) / 2 },
+ { x: f.x, y: f.y }
+ ];
+ PE(
+ t,
+ { v: s.start, w: s.end, name: s.id },
+ {
+ ...s,
+ arrowTypeEnd: s.arrowTypeEnd,
+ arrowTypeStart: s.arrowTypeStart,
+ points: d,
+ classes: 'edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1'
+ },
+ void 0,
+ 'block',
+ a,
+ i
+ ),
+ s.label &&
+ (await IE(t, {
+ ...s,
+ label: s.label,
+ labelStyle: 'stroke: #333; stroke-width: 1.5px;fill:none;',
+ arrowTypeEnd: s.arrowTypeEnd,
+ arrowTypeStart: s.arrowTypeStart,
+ points: d,
+ classes: 'edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1'
+ }),
+ OE({ ...s, x: d[1].x, y: d[1].y }, { originalPath: d }));
+ }
+ }
+ }
+ var D1e = R(() => {
+ 'use strict';
+ ya();
+ qs();
+ DO();
+ M5();
+ xr();
+ o(S1e, 'getNodeFromBlock');
+ o(MJe, 'calculateBlockSize');
+ o(IJe, 'insertBlockPositioned');
+ o(YB, 'performOperations');
+ o(A1e, 'calculateBlockSizes');
+ o(_1e, 'insertBlocks');
+ o(L1e, 'insertEdges');
+ });
+ var OJe,
+ PJe,
+ R1e,
+ N1e = R(() => {
+ 'use strict';
+ Zt();
+ qs();
+ LO();
+ ut();
+ Yn();
+ C1e();
+ D1e();
+ (OJe = o(function (t, e) {
+ return e.db.getClasses();
+ }, 'getClasses')),
+ (PJe = o(async function (t, e, r, n) {
+ let { securityLevel: i, block: a } = Or(),
+ s = n.db,
+ l;
+ i === 'sandbox' && (l = $e('#i' + e));
+ let u = i === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body'),
+ h = i === 'sandbox' ? u.select(`[id="${e}"]`) : $e(`[id="${e}"]`);
+ LE(h, ['point', 'circle', 'cross'], n.type, e);
+ let d = s.getBlocks(),
+ p = s.getBlocksFlat(),
+ m = s.getEdges(),
+ g = h.insert('g').attr('class', 'block');
+ await A1e(g, d, s);
+ let y = E1e(s);
+ if ((await _1e(g, d, s), await L1e(g, m, p, s, e), y)) {
+ let v = y,
+ x = Math.max(1, Math.round(0.125 * (v.width / v.height))),
+ b = v.height + x + 10,
+ w = v.width + 10,
+ { useMaxWidth: S } = a;
+ Sr(h, b, w, !!S),
+ V.debug('Here Bounds', y, v),
+ h.attr('viewBox', `${v.x - 5} ${v.y - 5} ${v.width + 10} ${v.height + 10}`);
+ }
+ }, 'draw')),
+ (R1e = { draw: PJe, getClasses: OJe });
+ });
+ var M1e = {};
+ hr(M1e, { diagram: () => BJe });
+ var BJe,
+ I1e = R(() => {
+ 'use strict';
+ f1e();
+ x1e();
+ w1e();
+ N1e();
+ BJe = { parser: h1e, db: v1e, renderer: R1e, styles: b1e };
+ });
+ var WB,
+ qB,
+ pb,
+ B1e,
+ XB,
+ cs,
+ Wc,
+ oC,
+ F1e,
+ $Je,
+ mb,
+ z1e,
+ G1e,
+ $1e,
+ V1e,
+ lC,
+ If,
+ cC = R(() => {
+ 'use strict';
+ (WB = { L: 'left', R: 'right', T: 'top', B: 'bottom' }),
+ (qB = {
+ L: o((t) => `${t},${t / 2} 0,${t} 0,0`, 'L'),
+ R: o((t) => `0,${t / 2} ${t},0 ${t},${t}`, 'R'),
+ T: o((t) => `0,0 ${t},0 ${t / 2},${t}`, 'T'),
+ B: o((t) => `${t / 2},0 ${t},${t} 0,${t}`, 'B')
+ }),
+ (pb = {
+ L: o((t, e) => t - e + 2, 'L'),
+ R: o((t, e) => t - 2, 'R'),
+ T: o((t, e) => t - e + 2, 'T'),
+ B: o((t, e) => t - 2, 'B')
+ }),
+ (B1e = o(function (t) {
+ return cs(t) ? (t === 'L' ? 'R' : 'L') : t === 'T' ? 'B' : 'T';
+ }, 'getOppositeArchitectureDirection')),
+ (XB = o(function (t) {
+ let e = t;
+ return e === 'L' || e === 'R' || e === 'T' || e === 'B';
+ }, 'isArchitectureDirection')),
+ (cs = o(function (t) {
+ let e = t;
+ return e === 'L' || e === 'R';
+ }, 'isArchitectureDirectionX')),
+ (Wc = o(function (t) {
+ let e = t;
+ return e === 'T' || e === 'B';
+ }, 'isArchitectureDirectionY')),
+ (oC = o(function (t, e) {
+ let r = cs(t) && Wc(e),
+ n = Wc(t) && cs(e);
+ return r || n;
+ }, 'isArchitectureDirectionXY')),
+ (F1e = o(function (t) {
+ let e = t[0],
+ r = t[1],
+ n = cs(e) && Wc(r),
+ i = Wc(e) && cs(r);
+ return n || i;
+ }, 'isArchitecturePairXY')),
+ ($Je = o(function (t) {
+ return t !== 'LL' && t !== 'RR' && t !== 'TT' && t !== 'BB';
+ }, 'isValidArchitectureDirectionPair')),
+ (mb = o(function (t, e) {
+ let r = `${t}${e}`;
+ return $Je(r) ? r : void 0;
+ }, 'getArchitectureDirectionPair')),
+ (z1e = o(function ([t, e], r) {
+ let n = r[0],
+ i = r[1];
+ return cs(n)
+ ? Wc(i)
+ ? [t + (n === 'L' ? -1 : 1), e + (i === 'T' ? 1 : -1)]
+ : [t + (n === 'L' ? -1 : 1), e]
+ : cs(i)
+ ? [t + (i === 'L' ? 1 : -1), e + (n === 'T' ? 1 : -1)]
+ : [t, e + (n === 'T' ? 1 : -1)];
+ }, 'shiftPositionByArchitectureDirectionPair')),
+ (G1e = o(function (t) {
+ return t === 'LT' || t === 'TL'
+ ? [1, 1]
+ : t === 'BL' || t === 'LB'
+ ? [1, -1]
+ : t === 'BR' || t === 'RB'
+ ? [-1, -1]
+ : [-1, 1];
+ }, 'getArchitectureDirectionXYFactors')),
+ ($1e = o(function (t) {
+ return t.type === 'service';
+ }, 'isArchitectureService')),
+ (V1e = o(function (t) {
+ return t.type === 'junction';
+ }, 'isArchitectureJunction')),
+ (lC = o((t) => t.data(), 'edgeData')),
+ (If = o((t) => t.data(), 'nodeData'));
+ });
+ function Ci(t) {
+ let e = de().architecture;
+ return e?.[t] ? e[t] : U1e[t];
+ }
+ var U1e,
+ nr,
+ VJe,
+ UJe,
+ HJe,
+ YJe,
+ WJe,
+ qJe,
+ XJe,
+ jJe,
+ KJe,
+ QJe,
+ ZJe,
+ JJe,
+ eet,
+ tet,
+ Z0,
+ gb = R(() => {
+ 'use strict';
+ sl();
+ _t();
+ Jk();
+ bi();
+ cC();
+ (U1e = mr.architecture),
+ (nr = new uf(() => ({
+ nodes: {},
+ groups: {},
+ edges: [],
+ registeredIds: {},
+ config: U1e,
+ dataStructures: void 0,
+ elements: {}
+ }))),
+ (VJe = o(() => {
+ nr.reset(), vr();
+ }, 'clear')),
+ (UJe = o(function ({ id: t, icon: e, in: r, title: n, iconText: i }) {
+ if (nr.records.registeredIds[t] !== void 0)
+ throw new Error(
+ `The service id [${t}] is already in use by another ${nr.records.registeredIds[t]}`
+ );
+ if (r !== void 0) {
+ if (t === r) throw new Error(`The service [${t}] cannot be placed within itself`);
+ if (nr.records.registeredIds[r] === void 0)
+ throw new Error(
+ `The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`
+ );
+ if (nr.records.registeredIds[r] === 'node')
+ throw new Error(`The service [${t}]'s parent is not a group`);
+ }
+ (nr.records.registeredIds[t] = 'node'),
+ (nr.records.nodes[t] = {
+ id: t,
+ type: 'service',
+ icon: e,
+ iconText: i,
+ title: n,
+ edges: [],
+ in: r
+ });
+ }, 'addService')),
+ (HJe = o(() => Object.values(nr.records.nodes).filter($1e), 'getServices')),
+ (YJe = o(function ({ id: t, in: e }) {
+ (nr.records.registeredIds[t] = 'node'),
+ (nr.records.nodes[t] = {
+ id: t,
+ type: 'junction',
+ edges: [],
+ in: e
+ });
+ }, 'addJunction')),
+ (WJe = o(() => Object.values(nr.records.nodes).filter(V1e), 'getJunctions')),
+ (qJe = o(() => Object.values(nr.records.nodes), 'getNodes')),
+ (XJe = o((t) => nr.records.nodes[t], 'getNode')),
+ (jJe = o(function ({ id: t, icon: e, in: r, title: n }) {
+ if (nr.records.registeredIds[t] !== void 0)
+ throw new Error(
+ `The group id [${t}] is already in use by another ${nr.records.registeredIds[t]}`
+ );
+ if (r !== void 0) {
+ if (t === r) throw new Error(`The group [${t}] cannot be placed within itself`);
+ if (nr.records.registeredIds[r] === void 0)
+ throw new Error(
+ `The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`
+ );
+ if (nr.records.registeredIds[r] === 'node')
+ throw new Error(`The group [${t}]'s parent is not a group`);
+ }
+ (nr.records.registeredIds[t] = 'group'),
+ (nr.records.groups[t] = { id: t, icon: e, title: n, in: r });
+ }, 'addGroup')),
+ (KJe = o(() => Object.values(nr.records.groups), 'getGroups')),
+ (QJe = o(function ({
+ lhsId: t,
+ rhsId: e,
+ lhsDir: r,
+ rhsDir: n,
+ lhsInto: i,
+ rhsInto: a,
+ lhsGroup: s,
+ rhsGroup: l,
+ title: u
+ }) {
+ if (!XB(r))
+ throw new Error(
+ `Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}`
+ );
+ if (!XB(n))
+ throw new Error(
+ `Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${n}`
+ );
+ if (nr.records.nodes[t] === void 0 && nr.records.groups[t] === void 0)
+ throw new Error(
+ `The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`
+ );
+ if (nr.records.nodes[e] === void 0 && nr.records.groups[t] === void 0)
+ throw new Error(
+ `The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`
+ );
+ let h = nr.records.nodes[t].in,
+ f = nr.records.nodes[e].in;
+ if (s && h && f && h == f)
+ throw new Error(
+ `The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`
+ );
+ if (l && h && f && h == f)
+ throw new Error(
+ `The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`
+ );
+ let d = {
+ lhsId: t,
+ lhsDir: r,
+ lhsInto: i,
+ lhsGroup: s,
+ rhsId: e,
+ rhsDir: n,
+ rhsInto: a,
+ rhsGroup: l,
+ title: u
+ };
+ nr.records.edges.push(d),
+ nr.records.nodes[t] &&
+ nr.records.nodes[e] &&
+ (nr.records.nodes[t].edges.push(nr.records.edges[nr.records.edges.length - 1]),
+ nr.records.nodes[e].edges.push(nr.records.edges[nr.records.edges.length - 1]));
+ },
+ 'addEdge')),
+ (ZJe = o(() => nr.records.edges, 'getEdges')),
+ (JJe = o(() => {
+ if (nr.records.dataStructures === void 0) {
+ let t = Object.entries(nr.records.nodes).reduce(
+ (s, [l, u]) => (
+ (s[l] = u.edges.reduce((h, f) => {
+ if (f.lhsId === l) {
+ let d = mb(f.lhsDir, f.rhsDir);
+ d && (h[d] = f.rhsId);
+ } else {
+ let d = mb(f.rhsDir, f.lhsDir);
+ d && (h[d] = f.lhsId);
+ }
+ return h;
+ }, {})),
+ s
+ ),
+ {}
+ ),
+ e = Object.keys(t)[0],
+ r = { [e]: 1 },
+ n = Object.keys(t).reduce((s, l) => (l === e ? s : { ...s, [l]: 1 }), {}),
+ i = o((s) => {
+ let l = { [s]: [0, 0] },
+ u = [s];
+ for (; u.length > 0; ) {
+ let h = u.shift();
+ if (h) {
+ (r[h] = 1), delete n[h];
+ let f = t[h],
+ [d, p] = l[h];
+ Object.entries(f).forEach(([m, g]) => {
+ r[g] || ((l[g] = z1e([d, p], m)), u.push(g));
+ });
+ }
+ }
+ return l;
+ }, 'BFS'),
+ a = [i(e)];
+ for (; Object.keys(n).length > 0; ) a.push(i(Object.keys(n)[0]));
+ nr.records.dataStructures = { adjList: t, spatialMaps: a };
+ }
+ return nr.records.dataStructures;
+ }, 'getDataStructures')),
+ (eet = o((t, e) => {
+ nr.records.elements[t] = e;
+ }, 'setElementForId')),
+ (tet = o((t) => nr.records.elements[t], 'getElementById')),
+ (Z0 = {
+ clear: VJe,
+ setDiagramTitle: nn,
+ getDiagramTitle: Xr,
+ setAccTitle: kr,
+ getAccTitle: Ar,
+ setAccDescription: _r,
+ getAccDescription: Lr,
+ addService: UJe,
+ getServices: HJe,
+ addJunction: YJe,
+ getJunctions: WJe,
+ getNodes: qJe,
+ getNode: XJe,
+ addGroup: jJe,
+ getGroups: KJe,
+ addEdge: QJe,
+ getEdges: ZJe,
+ setElementForId: eet,
+ getElementById: tet,
+ getDataStructures: JJe
+ });
+ o(Ci, 'getConfigField');
+ });
+ var ret,
+ H1e,
+ Y1e = R(() => {
+ 'use strict';
+ Lg();
+ ut();
+ sx();
+ gb();
+ (ret = o((t, e) => {
+ cf(t, e),
+ t.groups.map(e.addGroup),
+ t.services.map((r) => e.addService({ ...r, type: 'service' })),
+ t.junctions.map((r) => e.addJunction({ ...r, type: 'junction' })),
+ t.edges.map(e.addEdge);
+ }, 'populateDb')),
+ (H1e = {
+ parse: o(async (t) => {
+ let e = await Fl('architecture', t);
+ V.debug(e), ret(e, Z0);
+ }, 'parse')
+ });
+ });
+ var net,
+ W1e,
+ q1e = R(() => {
+ 'use strict';
+ (net = o(
+ (t) => `
+ .edge {
+ stroke-width: ${t.archEdgeWidth};
+ stroke: ${t.archEdgeColor};
+ fill: none;
+ }
+
+ .arrow {
+ fill: ${t.archEdgeArrowColor};
+ }
+
+ .node-bkg {
+ fill: none;
+ stroke: ${t.archGroupBorderColor};
+ stroke-width: ${t.archGroupBorderWidth};
+ stroke-dasharray: 8;
+ }
+ .node-icon-text {
+ display: flex;
+ align-items: center;
+ }
+
+ .node-icon-text > div {
+ color: #fff;
+ margin: 1px;
+ height: fit-content;
+ text-align: center;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ }
+`,
+ 'getStyles'
+ )),
+ (W1e = net);
+ });
+ var KB = gi((yb, jB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof yb == 'object' && typeof jB == 'object'
+ ? (jB.exports = r())
+ : typeof define == 'function' && define.amd
+ ? define([], r)
+ : typeof yb == 'object'
+ ? (yb.layoutBase = r())
+ : (e.layoutBase = r());
+ }, 'webpackUniversalModuleDefinition')(yb, function () {
+ return (function (t) {
+ var e = {};
+ function r(n) {
+ if (e[n]) return e[n].exports;
+ var i = (e[n] = { i: n, l: !1, exports: {} });
+ return t[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports;
+ }
+ return (
+ o(r, '__webpack_require__'),
+ (r.m = t),
+ (r.c = e),
+ (r.i = function (n) {
+ return n;
+ }),
+ (r.d = function (n, i, a) {
+ r.o(n, i) ||
+ Object.defineProperty(n, i, {
+ configurable: !1,
+ enumerable: !0,
+ get: a
+ });
+ }),
+ (r.n = function (n) {
+ var i =
+ n && n.__esModule
+ ? o(function () {
+ return n.default;
+ }, 'getDefault')
+ : o(function () {
+ return n;
+ }, 'getModuleExports');
+ return r.d(i, 'a', i), i;
+ }),
+ (r.o = function (n, i) {
+ return Object.prototype.hasOwnProperty.call(n, i);
+ }),
+ (r.p = ''),
+ r((r.s = 28))
+ );
+ })([
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'LayoutConstants'),
+ (n.QUALITY = 1),
+ (n.DEFAULT_CREATE_BENDS_AS_NEEDED = !1),
+ (n.DEFAULT_INCREMENTAL = !1),
+ (n.DEFAULT_ANIMATION_ON_LAYOUT = !0),
+ (n.DEFAULT_ANIMATION_DURING_LAYOUT = !1),
+ (n.DEFAULT_ANIMATION_PERIOD = 50),
+ (n.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1),
+ (n.DEFAULT_GRAPH_MARGIN = 15),
+ (n.NODE_DIMENSIONS_INCLUDE_LABELS = !1),
+ (n.SIMPLE_NODE_SIZE = 40),
+ (n.SIMPLE_NODE_HALF_SIZE = n.SIMPLE_NODE_SIZE / 2),
+ (n.EMPTY_COMPOUND_NODE_SIZE = 40),
+ (n.MIN_EDGE_LENGTH = 1),
+ (n.WORLD_BOUNDARY = 1e6),
+ (n.INITIAL_WORLD_BOUNDARY = n.WORLD_BOUNDARY / 1e3),
+ (n.WORLD_CENTER_X = 1200),
+ (n.WORLD_CENTER_Y = 900),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(8),
+ a = r(9);
+ function s(u, h, f) {
+ n.call(this, f),
+ (this.isOverlapingSourceAndTarget = !1),
+ (this.vGraphObject = f),
+ (this.bendpoints = []),
+ (this.source = u),
+ (this.target = h);
+ }
+ o(s, 'LEdge'), (s.prototype = Object.create(n.prototype));
+ for (var l in n) s[l] = n[l];
+ (s.prototype.getSource = function () {
+ return this.source;
+ }),
+ (s.prototype.getTarget = function () {
+ return this.target;
+ }),
+ (s.prototype.isInterGraph = function () {
+ return this.isInterGraph;
+ }),
+ (s.prototype.getLength = function () {
+ return this.length;
+ }),
+ (s.prototype.isOverlapingSourceAndTarget = function () {
+ return this.isOverlapingSourceAndTarget;
+ }),
+ (s.prototype.getBendpoints = function () {
+ return this.bendpoints;
+ }),
+ (s.prototype.getLca = function () {
+ return this.lca;
+ }),
+ (s.prototype.getSourceInLca = function () {
+ return this.sourceInLca;
+ }),
+ (s.prototype.getTargetInLca = function () {
+ return this.targetInLca;
+ }),
+ (s.prototype.getOtherEnd = function (u) {
+ if (this.source === u) return this.target;
+ if (this.target === u) return this.source;
+ throw 'Node is not incident with this edge';
+ }),
+ (s.prototype.getOtherEndInGraph = function (u, h) {
+ for (var f = this.getOtherEnd(u), d = h.getGraphManager().getRoot(); ; ) {
+ if (f.getOwner() == h) return f;
+ if (f.getOwner() == d) break;
+ f = f.getOwner().getParent();
+ }
+ return null;
+ }),
+ (s.prototype.updateLength = function () {
+ var u = new Array(4);
+ (this.isOverlapingSourceAndTarget = i.getIntersection(
+ this.target.getRect(),
+ this.source.getRect(),
+ u
+ )),
+ this.isOverlapingSourceAndTarget ||
+ ((this.lengthX = u[0] - u[2]),
+ (this.lengthY = u[1] - u[3]),
+ Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)),
+ Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)),
+ (this.length = Math.sqrt(
+ this.lengthX * this.lengthX + this.lengthY * this.lengthY
+ )));
+ }),
+ (s.prototype.updateLengthSimple = function () {
+ (this.lengthX = this.target.getCenterX() - this.source.getCenterX()),
+ (this.lengthY = this.target.getCenterY() - this.source.getCenterY()),
+ Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)),
+ Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)),
+ (this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY));
+ }),
+ (t.exports = s);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i) {
+ this.vGraphObject = i;
+ }
+ o(n, 'LGraphObject'), (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(10),
+ a = r(13),
+ s = r(0),
+ l = r(16),
+ u = r(5);
+ function h(d, p, m, g) {
+ m == null && g == null && (g = p),
+ n.call(this, g),
+ d.graphManager != null && (d = d.graphManager),
+ (this.estimatedSize = i.MIN_VALUE),
+ (this.inclusionTreeDepth = i.MAX_VALUE),
+ (this.vGraphObject = g),
+ (this.edges = []),
+ (this.graphManager = d),
+ m != null && p != null
+ ? (this.rect = new a(p.x, p.y, m.width, m.height))
+ : (this.rect = new a());
+ }
+ o(h, 'LNode'), (h.prototype = Object.create(n.prototype));
+ for (var f in n) h[f] = n[f];
+ (h.prototype.getEdges = function () {
+ return this.edges;
+ }),
+ (h.prototype.getChild = function () {
+ return this.child;
+ }),
+ (h.prototype.getOwner = function () {
+ return this.owner;
+ }),
+ (h.prototype.getWidth = function () {
+ return this.rect.width;
+ }),
+ (h.prototype.setWidth = function (d) {
+ this.rect.width = d;
+ }),
+ (h.prototype.getHeight = function () {
+ return this.rect.height;
+ }),
+ (h.prototype.setHeight = function (d) {
+ this.rect.height = d;
+ }),
+ (h.prototype.getCenterX = function () {
+ return this.rect.x + this.rect.width / 2;
+ }),
+ (h.prototype.getCenterY = function () {
+ return this.rect.y + this.rect.height / 2;
+ }),
+ (h.prototype.getCenter = function () {
+ return new u(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2);
+ }),
+ (h.prototype.getLocation = function () {
+ return new u(this.rect.x, this.rect.y);
+ }),
+ (h.prototype.getRect = function () {
+ return this.rect;
+ }),
+ (h.prototype.getDiagonal = function () {
+ return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height);
+ }),
+ (h.prototype.getHalfTheDiagonal = function () {
+ return (
+ Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2
+ );
+ }),
+ (h.prototype.setRect = function (d, p) {
+ (this.rect.x = d.x),
+ (this.rect.y = d.y),
+ (this.rect.width = p.width),
+ (this.rect.height = p.height);
+ }),
+ (h.prototype.setCenter = function (d, p) {
+ (this.rect.x = d - this.rect.width / 2), (this.rect.y = p - this.rect.height / 2);
+ }),
+ (h.prototype.setLocation = function (d, p) {
+ (this.rect.x = d), (this.rect.y = p);
+ }),
+ (h.prototype.moveBy = function (d, p) {
+ (this.rect.x += d), (this.rect.y += p);
+ }),
+ (h.prototype.getEdgeListToNode = function (d) {
+ var p = [],
+ m,
+ g = this;
+ return (
+ g.edges.forEach(function (y) {
+ if (y.target == d) {
+ if (y.source != g) throw 'Incorrect edge source!';
+ p.push(y);
+ }
+ }),
+ p
+ );
+ }),
+ (h.prototype.getEdgesBetween = function (d) {
+ var p = [],
+ m,
+ g = this;
+ return (
+ g.edges.forEach(function (y) {
+ if (!(y.source == g || y.target == g)) throw 'Incorrect edge source and/or target';
+ (y.target == d || y.source == d) && p.push(y);
+ }),
+ p
+ );
+ }),
+ (h.prototype.getNeighborsList = function () {
+ var d = new Set(),
+ p = this;
+ return (
+ p.edges.forEach(function (m) {
+ if (m.source == p) d.add(m.target);
+ else {
+ if (m.target != p) throw 'Incorrect incidency!';
+ d.add(m.source);
+ }
+ }),
+ d
+ );
+ }),
+ (h.prototype.withChildren = function () {
+ var d = new Set(),
+ p,
+ m;
+ if ((d.add(this), this.child != null))
+ for (var g = this.child.getNodes(), y = 0; y < g.length; y++)
+ (p = g[y]),
+ (m = p.withChildren()),
+ m.forEach(function (v) {
+ d.add(v);
+ });
+ return d;
+ }),
+ (h.prototype.getNoOfChildren = function () {
+ var d = 0,
+ p;
+ if (this.child == null) d = 1;
+ else
+ for (var m = this.child.getNodes(), g = 0; g < m.length; g++)
+ (p = m[g]), (d += p.getNoOfChildren());
+ return d == 0 && (d = 1), d;
+ }),
+ (h.prototype.getEstimatedSize = function () {
+ if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed';
+ return this.estimatedSize;
+ }),
+ (h.prototype.calcEstimatedSize = function () {
+ return this.child == null
+ ? (this.estimatedSize = (this.rect.width + this.rect.height) / 2)
+ : ((this.estimatedSize = this.child.calcEstimatedSize()),
+ (this.rect.width = this.estimatedSize),
+ (this.rect.height = this.estimatedSize),
+ this.estimatedSize);
+ }),
+ (h.prototype.scatter = function () {
+ var d,
+ p,
+ m = -s.INITIAL_WORLD_BOUNDARY,
+ g = s.INITIAL_WORLD_BOUNDARY;
+ d = s.WORLD_CENTER_X + l.nextDouble() * (g - m) + m;
+ var y = -s.INITIAL_WORLD_BOUNDARY,
+ v = s.INITIAL_WORLD_BOUNDARY;
+ (p = s.WORLD_CENTER_Y + l.nextDouble() * (v - y) + y), (this.rect.x = d), (this.rect.y = p);
+ }),
+ (h.prototype.updateBounds = function () {
+ if (this.getChild() == null) throw 'assert failed';
+ if (this.getChild().getNodes().length != 0) {
+ var d = this.getChild();
+ if (
+ (d.updateBounds(!0),
+ (this.rect.x = d.getLeft()),
+ (this.rect.y = d.getTop()),
+ this.setWidth(d.getRight() - d.getLeft()),
+ this.setHeight(d.getBottom() - d.getTop()),
+ s.NODE_DIMENSIONS_INCLUDE_LABELS)
+ ) {
+ var p = d.getRight() - d.getLeft(),
+ m = d.getBottom() - d.getTop();
+ this.labelWidth &&
+ (this.labelPosHorizontal == 'left'
+ ? ((this.rect.x -= this.labelWidth), this.setWidth(p + this.labelWidth))
+ : this.labelPosHorizontal == 'center' && this.labelWidth > p
+ ? ((this.rect.x -= (this.labelWidth - p) / 2),
+ this.setWidth(this.labelWidth))
+ : this.labelPosHorizontal == 'right' && this.setWidth(p + this.labelWidth)),
+ this.labelHeight &&
+ (this.labelPosVertical == 'top'
+ ? ((this.rect.y -= this.labelHeight),
+ this.setHeight(m + this.labelHeight))
+ : this.labelPosVertical == 'center' && this.labelHeight > m
+ ? ((this.rect.y -= (this.labelHeight - m) / 2),
+ this.setHeight(this.labelHeight))
+ : this.labelPosVertical == 'bottom' &&
+ this.setHeight(m + this.labelHeight));
+ }
+ }
+ }),
+ (h.prototype.getInclusionTreeDepth = function () {
+ if (this.inclusionTreeDepth == i.MAX_VALUE) throw 'assert failed';
+ return this.inclusionTreeDepth;
+ }),
+ (h.prototype.transform = function (d) {
+ var p = this.rect.x;
+ p > s.WORLD_BOUNDARY
+ ? (p = s.WORLD_BOUNDARY)
+ : p < -s.WORLD_BOUNDARY && (p = -s.WORLD_BOUNDARY);
+ var m = this.rect.y;
+ m > s.WORLD_BOUNDARY
+ ? (m = s.WORLD_BOUNDARY)
+ : m < -s.WORLD_BOUNDARY && (m = -s.WORLD_BOUNDARY);
+ var g = new u(p, m),
+ y = d.inverseTransformPoint(g);
+ this.setLocation(y.x, y.y);
+ }),
+ (h.prototype.getLeft = function () {
+ return this.rect.x;
+ }),
+ (h.prototype.getRight = function () {
+ return this.rect.x + this.rect.width;
+ }),
+ (h.prototype.getTop = function () {
+ return this.rect.y;
+ }),
+ (h.prototype.getBottom = function () {
+ return this.rect.y + this.rect.height;
+ }),
+ (h.prototype.getParent = function () {
+ return this.owner == null ? null : this.owner.getParent();
+ }),
+ (t.exports = h);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(0);
+ function i() {}
+ o(i, 'FDLayoutConstants');
+ for (var a in n) i[a] = n[a];
+ (i.MAX_ITERATIONS = 2500),
+ (i.DEFAULT_EDGE_LENGTH = 50),
+ (i.DEFAULT_SPRING_STRENGTH = 0.45),
+ (i.DEFAULT_REPULSION_STRENGTH = 4500),
+ (i.DEFAULT_GRAVITY_STRENGTH = 0.4),
+ (i.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1),
+ (i.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8),
+ (i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5),
+ (i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0),
+ (i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0),
+ (i.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3),
+ (i.COOLING_ADAPTATION_FACTOR = 0.33),
+ (i.ADAPTATION_LOWER_NODE_LIMIT = 1e3),
+ (i.ADAPTATION_UPPER_NODE_LIMIT = 5e3),
+ (i.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100),
+ (i.MAX_NODE_DISPLACEMENT = i.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3),
+ (i.MIN_REPULSION_DIST = i.DEFAULT_EDGE_LENGTH / 10),
+ (i.CONVERGENCE_CHECK_PERIOD = 100),
+ (i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1),
+ (i.MIN_EDGE_LENGTH = 1),
+ (i.GRID_CALCULATION_CHECK_PERIOD = 10),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a) {
+ i == null && a == null ? ((this.x = 0), (this.y = 0)) : ((this.x = i), (this.y = a));
+ }
+ o(n, 'PointD'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.setX = function (i) {
+ this.x = i;
+ }),
+ (n.prototype.setY = function (i) {
+ this.y = i;
+ }),
+ (n.prototype.getDifference = function (i) {
+ return new DimensionD(this.x - i.x, this.y - i.y);
+ }),
+ (n.prototype.getCopy = function () {
+ return new n(this.x, this.y);
+ }),
+ (n.prototype.translate = function (i) {
+ return (this.x += i.width), (this.y += i.height), this;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(2),
+ i = r(10),
+ a = r(0),
+ s = r(7),
+ l = r(3),
+ u = r(1),
+ h = r(13),
+ f = r(12),
+ d = r(11);
+ function p(g, y, v) {
+ n.call(this, v),
+ (this.estimatedSize = i.MIN_VALUE),
+ (this.margin = a.DEFAULT_GRAPH_MARGIN),
+ (this.edges = []),
+ (this.nodes = []),
+ (this.isConnected = !1),
+ (this.parent = g),
+ y != null && y instanceof s
+ ? (this.graphManager = y)
+ : y != null && y instanceof Layout && (this.graphManager = y.graphManager);
+ }
+ o(p, 'LGraph'), (p.prototype = Object.create(n.prototype));
+ for (var m in n) p[m] = n[m];
+ (p.prototype.getNodes = function () {
+ return this.nodes;
+ }),
+ (p.prototype.getEdges = function () {
+ return this.edges;
+ }),
+ (p.prototype.getGraphManager = function () {
+ return this.graphManager;
+ }),
+ (p.prototype.getParent = function () {
+ return this.parent;
+ }),
+ (p.prototype.getLeft = function () {
+ return this.left;
+ }),
+ (p.prototype.getRight = function () {
+ return this.right;
+ }),
+ (p.prototype.getTop = function () {
+ return this.top;
+ }),
+ (p.prototype.getBottom = function () {
+ return this.bottom;
+ }),
+ (p.prototype.isConnected = function () {
+ return this.isConnected;
+ }),
+ (p.prototype.add = function (g, y, v) {
+ if (y == null && v == null) {
+ var x = g;
+ if (this.graphManager == null) throw 'Graph has no graph mgr!';
+ if (this.getNodes().indexOf(x) > -1) throw 'Node already in graph!';
+ return (x.owner = this), this.getNodes().push(x), x;
+ } else {
+ var b = g;
+ if (!(this.getNodes().indexOf(y) > -1 && this.getNodes().indexOf(v) > -1))
+ throw 'Source or target not in graph!';
+ if (!(y.owner == v.owner && y.owner == this)) throw 'Both owners must be this graph!';
+ return y.owner != v.owner
+ ? null
+ : ((b.source = y),
+ (b.target = v),
+ (b.isInterGraph = !1),
+ this.getEdges().push(b),
+ y.edges.push(b),
+ v != y && v.edges.push(b),
+ b);
+ }
+ }),
+ (p.prototype.remove = function (g) {
+ var y = g;
+ if (g instanceof l) {
+ if (y == null) throw 'Node is null!';
+ if (!(y.owner != null && y.owner == this)) throw 'Owner graph is invalid!';
+ if (this.graphManager == null) throw 'Owner graph manager is invalid!';
+ for (var v = y.edges.slice(), x, b = v.length, w = 0; w < b; w++)
+ (x = v[w]), x.isInterGraph ? this.graphManager.remove(x) : x.source.owner.remove(x);
+ var S = this.nodes.indexOf(y);
+ if (S == -1) throw 'Node not in owner node list!';
+ this.nodes.splice(S, 1);
+ } else if (g instanceof u) {
+ var x = g;
+ if (x == null) throw 'Edge is null!';
+ if (!(x.source != null && x.target != null)) throw 'Source and/or target is null!';
+ if (
+ !(
+ x.source.owner != null &&
+ x.target.owner != null &&
+ x.source.owner == this &&
+ x.target.owner == this
+ )
+ )
+ throw 'Source and/or target owner is invalid!';
+ var T = x.source.edges.indexOf(x),
+ E = x.target.edges.indexOf(x);
+ if (!(T > -1 && E > -1)) throw "Source and/or target doesn't know this edge!";
+ x.source.edges.splice(T, 1), x.target != x.source && x.target.edges.splice(E, 1);
+ var S = x.source.owner.getEdges().indexOf(x);
+ if (S == -1) throw "Not in owner's edge list!";
+ x.source.owner.getEdges().splice(S, 1);
+ }
+ }),
+ (p.prototype.updateLeftTop = function () {
+ for (
+ var g = i.MAX_VALUE, y = i.MAX_VALUE, v, x, b, w = this.getNodes(), S = w.length, T = 0;
+ T < S;
+ T++
+ ) {
+ var E = w[T];
+ (v = E.getTop()), (x = E.getLeft()), g > v && (g = v), y > x && (y = x);
+ }
+ return g == i.MAX_VALUE
+ ? null
+ : (w[0].getParent().paddingLeft != null
+ ? (b = w[0].getParent().paddingLeft)
+ : (b = this.margin),
+ (this.left = y - b),
+ (this.top = g - b),
+ new f(this.left, this.top));
+ }),
+ (p.prototype.updateBounds = function (g) {
+ for (
+ var y = i.MAX_VALUE,
+ v = -i.MAX_VALUE,
+ x = i.MAX_VALUE,
+ b = -i.MAX_VALUE,
+ w,
+ S,
+ T,
+ E,
+ _,
+ A = this.nodes,
+ L = A.length,
+ M = 0;
+ M < L;
+ M++
+ ) {
+ var N = A[M];
+ g && N.child != null && N.updateBounds(),
+ (w = N.getLeft()),
+ (S = N.getRight()),
+ (T = N.getTop()),
+ (E = N.getBottom()),
+ y > w && (y = w),
+ v < S && (v = S),
+ x > T && (x = T),
+ b < E && (b = E);
+ }
+ var k = new h(y, x, v - y, b - x);
+ y == i.MAX_VALUE &&
+ ((this.left = this.parent.getLeft()),
+ (this.right = this.parent.getRight()),
+ (this.top = this.parent.getTop()),
+ (this.bottom = this.parent.getBottom())),
+ A[0].getParent().paddingLeft != null
+ ? (_ = A[0].getParent().paddingLeft)
+ : (_ = this.margin),
+ (this.left = k.x - _),
+ (this.right = k.x + k.width + _),
+ (this.top = k.y - _),
+ (this.bottom = k.y + k.height + _);
+ }),
+ (p.calculateBounds = function (g) {
+ for (
+ var y = i.MAX_VALUE,
+ v = -i.MAX_VALUE,
+ x = i.MAX_VALUE,
+ b = -i.MAX_VALUE,
+ w,
+ S,
+ T,
+ E,
+ _ = g.length,
+ A = 0;
+ A < _;
+ A++
+ ) {
+ var L = g[A];
+ (w = L.getLeft()),
+ (S = L.getRight()),
+ (T = L.getTop()),
+ (E = L.getBottom()),
+ y > w && (y = w),
+ v < S && (v = S),
+ x > T && (x = T),
+ b < E && (b = E);
+ }
+ var M = new h(y, x, v - y, b - x);
+ return M;
+ }),
+ (p.prototype.getInclusionTreeDepth = function () {
+ return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth();
+ }),
+ (p.prototype.getEstimatedSize = function () {
+ if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed';
+ return this.estimatedSize;
+ }),
+ (p.prototype.calcEstimatedSize = function () {
+ for (var g = 0, y = this.nodes, v = y.length, x = 0; x < v; x++) {
+ var b = y[x];
+ g += b.calcEstimatedSize();
+ }
+ return (
+ g == 0
+ ? (this.estimatedSize = a.EMPTY_COMPOUND_NODE_SIZE)
+ : (this.estimatedSize = g / Math.sqrt(this.nodes.length)),
+ this.estimatedSize
+ );
+ }),
+ (p.prototype.updateConnected = function () {
+ var g = this;
+ if (this.nodes.length == 0) {
+ this.isConnected = !0;
+ return;
+ }
+ var y = new d(),
+ v = new Set(),
+ x = this.nodes[0],
+ b,
+ w,
+ S = x.withChildren();
+ for (
+ S.forEach(function (M) {
+ y.push(M), v.add(M);
+ });
+ y.length !== 0;
+
+ ) {
+ (x = y.shift()), (b = x.getEdges());
+ for (var T = b.length, E = 0; E < T; E++) {
+ var _ = b[E];
+ if (((w = _.getOtherEndInGraph(x, this)), w != null && !v.has(w))) {
+ var A = w.withChildren();
+ A.forEach(function (M) {
+ y.push(M), v.add(M);
+ });
+ }
+ }
+ }
+ if (((this.isConnected = !1), v.size >= this.nodes.length)) {
+ var L = 0;
+ v.forEach(function (M) {
+ M.owner == g && L++;
+ }),
+ L == this.nodes.length && (this.isConnected = !0);
+ }
+ }),
+ (t.exports = p);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n,
+ i = r(1);
+ function a(s) {
+ (n = r(6)), (this.layout = s), (this.graphs = []), (this.edges = []);
+ }
+ o(a, 'LGraphManager'),
+ (a.prototype.addRoot = function () {
+ var s = this.layout.newGraph(),
+ l = this.layout.newNode(null),
+ u = this.add(s, l);
+ return this.setRootGraph(u), this.rootGraph;
+ }),
+ (a.prototype.add = function (s, l, u, h, f) {
+ if (u == null && h == null && f == null) {
+ if (s == null) throw 'Graph is null!';
+ if (l == null) throw 'Parent node is null!';
+ if (this.graphs.indexOf(s) > -1) throw 'Graph already in this graph mgr!';
+ if ((this.graphs.push(s), s.parent != null)) throw 'Already has a parent!';
+ if (l.child != null) throw 'Already has a child!';
+ return (s.parent = l), (l.child = s), s;
+ } else {
+ (f = u), (h = l), (u = s);
+ var d = h.getOwner(),
+ p = f.getOwner();
+ if (!(d != null && d.getGraphManager() == this)) throw 'Source not in this graph mgr!';
+ if (!(p != null && p.getGraphManager() == this)) throw 'Target not in this graph mgr!';
+ if (d == p) return (u.isInterGraph = !1), d.add(u, h, f);
+ if (((u.isInterGraph = !0), (u.source = h), (u.target = f), this.edges.indexOf(u) > -1))
+ throw 'Edge already in inter-graph edge list!';
+ if ((this.edges.push(u), !(u.source != null && u.target != null)))
+ throw 'Edge source and/or target is null!';
+ if (!(u.source.edges.indexOf(u) == -1 && u.target.edges.indexOf(u) == -1))
+ throw 'Edge already in source and/or target incidency list!';
+ return u.source.edges.push(u), u.target.edges.push(u), u;
+ }
+ }),
+ (a.prototype.remove = function (s) {
+ if (s instanceof n) {
+ var l = s;
+ if (l.getGraphManager() != this) throw 'Graph not in this graph mgr';
+ if (!(l == this.rootGraph || (l.parent != null && l.parent.graphManager == this)))
+ throw 'Invalid parent node!';
+ var u = [];
+ u = u.concat(l.getEdges());
+ for (var h, f = u.length, d = 0; d < f; d++) (h = u[d]), l.remove(h);
+ var p = [];
+ p = p.concat(l.getNodes());
+ var m;
+ f = p.length;
+ for (var d = 0; d < f; d++) (m = p[d]), l.remove(m);
+ l == this.rootGraph && this.setRootGraph(null);
+ var g = this.graphs.indexOf(l);
+ this.graphs.splice(g, 1), (l.parent = null);
+ } else if (s instanceof i) {
+ if (((h = s), h == null)) throw 'Edge is null!';
+ if (!h.isInterGraph) throw 'Not an inter-graph edge!';
+ if (!(h.source != null && h.target != null)) throw 'Source and/or target is null!';
+ if (!(h.source.edges.indexOf(h) != -1 && h.target.edges.indexOf(h) != -1))
+ throw "Source and/or target doesn't know this edge!";
+ var g = h.source.edges.indexOf(h);
+ if (
+ (h.source.edges.splice(g, 1),
+ (g = h.target.edges.indexOf(h)),
+ h.target.edges.splice(g, 1),
+ !(h.source.owner != null && h.source.owner.getGraphManager() != null))
+ )
+ throw 'Edge owner graph or owner graph manager is null!';
+ if (h.source.owner.getGraphManager().edges.indexOf(h) == -1)
+ throw "Not in owner graph manager's edge list!";
+ var g = h.source.owner.getGraphManager().edges.indexOf(h);
+ h.source.owner.getGraphManager().edges.splice(g, 1);
+ }
+ }),
+ (a.prototype.updateBounds = function () {
+ this.rootGraph.updateBounds(!0);
+ }),
+ (a.prototype.getGraphs = function () {
+ return this.graphs;
+ }),
+ (a.prototype.getAllNodes = function () {
+ if (this.allNodes == null) {
+ for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < u; h++)
+ s = s.concat(l[h].getNodes());
+ this.allNodes = s;
+ }
+ return this.allNodes;
+ }),
+ (a.prototype.resetAllNodes = function () {
+ this.allNodes = null;
+ }),
+ (a.prototype.resetAllEdges = function () {
+ this.allEdges = null;
+ }),
+ (a.prototype.resetAllNodesToApplyGravitation = function () {
+ this.allNodesToApplyGravitation = null;
+ }),
+ (a.prototype.getAllEdges = function () {
+ if (this.allEdges == null) {
+ for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < l.length; h++)
+ s = s.concat(l[h].getEdges());
+ (s = s.concat(this.edges)), (this.allEdges = s);
+ }
+ return this.allEdges;
+ }),
+ (a.prototype.getAllNodesToApplyGravitation = function () {
+ return this.allNodesToApplyGravitation;
+ }),
+ (a.prototype.setAllNodesToApplyGravitation = function (s) {
+ if (this.allNodesToApplyGravitation != null) throw 'assert failed';
+ this.allNodesToApplyGravitation = s;
+ }),
+ (a.prototype.getRoot = function () {
+ return this.rootGraph;
+ }),
+ (a.prototype.setRootGraph = function (s) {
+ if (s.getGraphManager() != this) throw 'Root not in this graph mgr!';
+ (this.rootGraph = s), s.parent == null && (s.parent = this.layout.newNode('Root node'));
+ }),
+ (a.prototype.getLayout = function () {
+ return this.layout;
+ }),
+ (a.prototype.isOneAncestorOfOther = function (s, l) {
+ if (!(s != null && l != null)) throw 'assert failed';
+ if (s == l) return !0;
+ var u = s.getOwner(),
+ h;
+ do {
+ if (((h = u.getParent()), h == null)) break;
+ if (h == l) return !0;
+ if (((u = h.getOwner()), u == null)) break;
+ } while (!0);
+ u = l.getOwner();
+ do {
+ if (((h = u.getParent()), h == null)) break;
+ if (h == s) return !0;
+ if (((u = h.getOwner()), u == null)) break;
+ } while (!0);
+ return !1;
+ }),
+ (a.prototype.calcLowestCommonAncestors = function () {
+ for (var s, l, u, h, f, d = this.getAllEdges(), p = d.length, m = 0; m < p; m++) {
+ if (
+ ((s = d[m]),
+ (l = s.source),
+ (u = s.target),
+ (s.lca = null),
+ (s.sourceInLca = l),
+ (s.targetInLca = u),
+ l == u)
+ ) {
+ s.lca = l.getOwner();
+ continue;
+ }
+ for (h = l.getOwner(); s.lca == null; ) {
+ for (s.targetInLca = u, f = u.getOwner(); s.lca == null; ) {
+ if (f == h) {
+ s.lca = f;
+ break;
+ }
+ if (f == this.rootGraph) break;
+ if (s.lca != null) throw 'assert failed';
+ (s.targetInLca = f.getParent()), (f = s.targetInLca.getOwner());
+ }
+ if (h == this.rootGraph) break;
+ s.lca == null && ((s.sourceInLca = h.getParent()), (h = s.sourceInLca.getOwner()));
+ }
+ if (s.lca == null) throw 'assert failed';
+ }
+ }),
+ (a.prototype.calcLowestCommonAncestor = function (s, l) {
+ if (s == l) return s.getOwner();
+ var u = s.getOwner();
+ do {
+ if (u == null) break;
+ var h = l.getOwner();
+ do {
+ if (h == null) break;
+ if (h == u) return h;
+ h = h.getParent().getOwner();
+ } while (!0);
+ u = u.getParent().getOwner();
+ } while (!0);
+ return u;
+ }),
+ (a.prototype.calcInclusionTreeDepths = function (s, l) {
+ s == null && l == null && ((s = this.rootGraph), (l = 1));
+ for (var u, h = s.getNodes(), f = h.length, d = 0; d < f; d++)
+ (u = h[d]),
+ (u.inclusionTreeDepth = l),
+ u.child != null && this.calcInclusionTreeDepths(u.child, l + 1);
+ }),
+ (a.prototype.includesInvalidEdge = function () {
+ for (var s, l = [], u = this.edges.length, h = 0; h < u; h++)
+ (s = this.edges[h]), this.isOneAncestorOfOther(s.source, s.target) && l.push(s);
+ for (var h = 0; h < l.length; h++) this.remove(l[h]);
+ return !1;
+ }),
+ (t.exports = a);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(12);
+ function i() {}
+ o(i, 'IGeometry'),
+ (i.calcSeparationAmount = function (a, s, l, u) {
+ if (!a.intersects(s)) throw 'assert failed';
+ var h = new Array(2);
+ this.decideDirectionsForOverlappingNodes(a, s, h),
+ (l[0] = Math.min(a.getRight(), s.getRight()) - Math.max(a.x, s.x)),
+ (l[1] = Math.min(a.getBottom(), s.getBottom()) - Math.max(a.y, s.y)),
+ a.getX() <= s.getX() && a.getRight() >= s.getRight()
+ ? (l[0] += Math.min(s.getX() - a.getX(), a.getRight() - s.getRight()))
+ : s.getX() <= a.getX() &&
+ s.getRight() >= a.getRight() &&
+ (l[0] += Math.min(a.getX() - s.getX(), s.getRight() - a.getRight())),
+ a.getY() <= s.getY() && a.getBottom() >= s.getBottom()
+ ? (l[1] += Math.min(s.getY() - a.getY(), a.getBottom() - s.getBottom()))
+ : s.getY() <= a.getY() &&
+ s.getBottom() >= a.getBottom() &&
+ (l[1] += Math.min(a.getY() - s.getY(), s.getBottom() - a.getBottom()));
+ var f = Math.abs((s.getCenterY() - a.getCenterY()) / (s.getCenterX() - a.getCenterX()));
+ s.getCenterY() === a.getCenterY() && s.getCenterX() === a.getCenterX() && (f = 1);
+ var d = f * l[0],
+ p = l[1] / f;
+ l[0] < p ? (p = l[0]) : (d = l[1]),
+ (l[0] = -1 * h[0] * (p / 2 + u)),
+ (l[1] = -1 * h[1] * (d / 2 + u));
+ }),
+ (i.decideDirectionsForOverlappingNodes = function (a, s, l) {
+ a.getCenterX() < s.getCenterX() ? (l[0] = -1) : (l[0] = 1),
+ a.getCenterY() < s.getCenterY() ? (l[1] = -1) : (l[1] = 1);
+ }),
+ (i.getIntersection2 = function (a, s, l) {
+ var u = a.getCenterX(),
+ h = a.getCenterY(),
+ f = s.getCenterX(),
+ d = s.getCenterY();
+ if (a.intersects(s)) return (l[0] = u), (l[1] = h), (l[2] = f), (l[3] = d), !0;
+ var p = a.getX(),
+ m = a.getY(),
+ g = a.getRight(),
+ y = a.getX(),
+ v = a.getBottom(),
+ x = a.getRight(),
+ b = a.getWidthHalf(),
+ w = a.getHeightHalf(),
+ S = s.getX(),
+ T = s.getY(),
+ E = s.getRight(),
+ _ = s.getX(),
+ A = s.getBottom(),
+ L = s.getRight(),
+ M = s.getWidthHalf(),
+ N = s.getHeightHalf(),
+ k = !1,
+ I = !1;
+ if (u === f) {
+ if (h > d) return (l[0] = u), (l[1] = m), (l[2] = f), (l[3] = A), !1;
+ if (h < d) return (l[0] = u), (l[1] = v), (l[2] = f), (l[3] = T), !1;
+ } else if (h === d) {
+ if (u > f) return (l[0] = p), (l[1] = h), (l[2] = E), (l[3] = d), !1;
+ if (u < f) return (l[0] = g), (l[1] = h), (l[2] = S), (l[3] = d), !1;
+ } else {
+ var C = a.height / a.width,
+ O = s.height / s.width,
+ D = (d - h) / (f - u),
+ P = void 0,
+ F = void 0,
+ B = void 0,
+ $ = void 0,
+ z = void 0,
+ Y = void 0;
+ if (
+ (-C === D
+ ? u > f
+ ? ((l[0] = y), (l[1] = v), (k = !0))
+ : ((l[0] = g), (l[1] = m), (k = !0))
+ : C === D &&
+ (u > f
+ ? ((l[0] = p), (l[1] = m), (k = !0))
+ : ((l[0] = x), (l[1] = v), (k = !0))),
+ -O === D
+ ? f > u
+ ? ((l[2] = _), (l[3] = A), (I = !0))
+ : ((l[2] = E), (l[3] = T), (I = !0))
+ : O === D &&
+ (f > u
+ ? ((l[2] = S), (l[3] = T), (I = !0))
+ : ((l[2] = L), (l[3] = A), (I = !0))),
+ k && I)
+ )
+ return !1;
+ if (
+ (u > f
+ ? h > d
+ ? ((P = this.getCardinalDirection(C, D, 4)),
+ (F = this.getCardinalDirection(O, D, 2)))
+ : ((P = this.getCardinalDirection(-C, D, 3)),
+ (F = this.getCardinalDirection(-O, D, 1)))
+ : h > d
+ ? ((P = this.getCardinalDirection(-C, D, 1)),
+ (F = this.getCardinalDirection(-O, D, 3)))
+ : ((P = this.getCardinalDirection(C, D, 2)),
+ (F = this.getCardinalDirection(O, D, 4))),
+ !k)
+ )
+ switch (P) {
+ case 1:
+ ($ = m), (B = u + -w / D), (l[0] = B), (l[1] = $);
+ break;
+ case 2:
+ (B = x), ($ = h + b * D), (l[0] = B), (l[1] = $);
+ break;
+ case 3:
+ ($ = v), (B = u + w / D), (l[0] = B), (l[1] = $);
+ break;
+ case 4:
+ (B = y), ($ = h + -b * D), (l[0] = B), (l[1] = $);
+ break;
+ }
+ if (!I)
+ switch (F) {
+ case 1:
+ (Y = T), (z = f + -N / D), (l[2] = z), (l[3] = Y);
+ break;
+ case 2:
+ (z = L), (Y = d + M * D), (l[2] = z), (l[3] = Y);
+ break;
+ case 3:
+ (Y = A), (z = f + N / D), (l[2] = z), (l[3] = Y);
+ break;
+ case 4:
+ (z = _), (Y = d + -M * D), (l[2] = z), (l[3] = Y);
+ break;
+ }
+ }
+ return !1;
+ }),
+ (i.getCardinalDirection = function (a, s, l) {
+ return a > s ? l : 1 + (l % 4);
+ }),
+ (i.getIntersection = function (a, s, l, u) {
+ if (u == null) return this.getIntersection2(a, s, l);
+ var h = a.x,
+ f = a.y,
+ d = s.x,
+ p = s.y,
+ m = l.x,
+ g = l.y,
+ y = u.x,
+ v = u.y,
+ x = void 0,
+ b = void 0,
+ w = void 0,
+ S = void 0,
+ T = void 0,
+ E = void 0,
+ _ = void 0,
+ A = void 0,
+ L = void 0;
+ return (
+ (w = p - f),
+ (T = h - d),
+ (_ = d * f - h * p),
+ (S = v - g),
+ (E = m - y),
+ (A = y * g - m * v),
+ (L = w * E - S * T),
+ L === 0 ? null : ((x = (T * A - E * _) / L), (b = (S * _ - w * A) / L), new n(x, b))
+ );
+ }),
+ (i.angleOfVector = function (a, s, l, u) {
+ var h = void 0;
+ return (
+ a !== l
+ ? ((h = Math.atan((u - s) / (l - a))),
+ l < a ? (h += Math.PI) : u < s && (h += this.TWO_PI))
+ : u < s
+ ? (h = this.ONE_AND_HALF_PI)
+ : (h = this.HALF_PI),
+ h
+ );
+ }),
+ (i.doIntersect = function (a, s, l, u) {
+ var h = a.x,
+ f = a.y,
+ d = s.x,
+ p = s.y,
+ m = l.x,
+ g = l.y,
+ y = u.x,
+ v = u.y,
+ x = (d - h) * (v - g) - (y - m) * (p - f);
+ if (x === 0) return !1;
+ var b = ((v - g) * (y - h) + (m - y) * (v - f)) / x,
+ w = ((f - p) * (y - h) + (d - h) * (v - f)) / x;
+ return 0 < b && b < 1 && 0 < w && w < 1;
+ }),
+ (i.findCircleLineIntersections = function (a, s, l, u, h, f, d) {
+ var p = (l - a) * (l - a) + (u - s) * (u - s),
+ m = 2 * ((a - h) * (l - a) + (s - f) * (u - s)),
+ g = (a - h) * (a - h) + (s - f) * (s - f) - d * d,
+ y = m * m - 4 * p * g;
+ if (y >= 0) {
+ var v = (-m + Math.sqrt(m * m - 4 * p * g)) / (2 * p),
+ x = (-m - Math.sqrt(m * m - 4 * p * g)) / (2 * p),
+ b = null;
+ return v >= 0 && v <= 1 ? [v] : x >= 0 && x <= 1 ? [x] : b;
+ } else return null;
+ }),
+ (i.HALF_PI = 0.5 * Math.PI),
+ (i.ONE_AND_HALF_PI = 1.5 * Math.PI),
+ (i.TWO_PI = 2 * Math.PI),
+ (i.THREE_PI = 3 * Math.PI),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'IMath'),
+ (n.sign = function (i) {
+ return i > 0 ? 1 : i < 0 ? -1 : 0;
+ }),
+ (n.floor = function (i) {
+ return i < 0 ? Math.ceil(i) : Math.floor(i);
+ }),
+ (n.ceil = function (i) {
+ return i < 0 ? Math.floor(i) : Math.ceil(i);
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'Integer'), (n.MAX_VALUE = 2147483647), (n.MIN_VALUE = -2147483648), (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function h(f, d) {
+ for (var p = 0; p < d.length; p++) {
+ var m = d[p];
+ (m.enumerable = m.enumerable || !1),
+ (m.configurable = !0),
+ 'value' in m && (m.writable = !0),
+ Object.defineProperty(f, m.key, m);
+ }
+ }
+ return (
+ o(h, 'defineProperties'),
+ function (f, d, p) {
+ return d && h(f.prototype, d), p && h(f, p), f;
+ }
+ );
+ })();
+ function i(h, f) {
+ if (!(h instanceof f)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = o(function (f) {
+ return { value: f, next: null, prev: null };
+ }, 'nodeFrom'),
+ s = o(function (f, d, p, m) {
+ return (
+ f !== null ? (f.next = d) : (m.head = d),
+ p !== null ? (p.prev = d) : (m.tail = d),
+ (d.prev = f),
+ (d.next = p),
+ m.length++,
+ d
+ );
+ }, 'add'),
+ l = o(function (f, d) {
+ var p = f.prev,
+ m = f.next;
+ return (
+ p !== null ? (p.next = m) : (d.head = m),
+ m !== null ? (m.prev = p) : (d.tail = p),
+ (f.prev = f.next = null),
+ d.length--,
+ f
+ );
+ }, '_remove'),
+ u = (function () {
+ function h(f) {
+ var d = this;
+ i(this, h),
+ (this.length = 0),
+ (this.head = null),
+ (this.tail = null),
+ f?.forEach(function (p) {
+ return d.push(p);
+ });
+ }
+ return (
+ o(h, 'LinkedList'),
+ n(h, [
+ {
+ key: 'size',
+ value: o(function () {
+ return this.length;
+ }, 'size')
+ },
+ {
+ key: 'insertBefore',
+ value: o(function (d, p) {
+ return s(p.prev, a(d), p, this);
+ }, 'insertBefore')
+ },
+ {
+ key: 'insertAfter',
+ value: o(function (d, p) {
+ return s(p, a(d), p.next, this);
+ }, 'insertAfter')
+ },
+ {
+ key: 'insertNodeBefore',
+ value: o(function (d, p) {
+ return s(p.prev, d, p, this);
+ }, 'insertNodeBefore')
+ },
+ {
+ key: 'insertNodeAfter',
+ value: o(function (d, p) {
+ return s(p, d, p.next, this);
+ }, 'insertNodeAfter')
+ },
+ {
+ key: 'push',
+ value: o(function (d) {
+ return s(this.tail, a(d), null, this);
+ }, 'push')
+ },
+ {
+ key: 'unshift',
+ value: o(function (d) {
+ return s(null, a(d), this.head, this);
+ }, 'unshift')
+ },
+ {
+ key: 'remove',
+ value: o(function (d) {
+ return l(d, this);
+ }, 'remove')
+ },
+ {
+ key: 'pop',
+ value: o(function () {
+ return l(this.tail, this).value;
+ }, 'pop')
+ },
+ {
+ key: 'popNode',
+ value: o(function () {
+ return l(this.tail, this);
+ }, 'popNode')
+ },
+ {
+ key: 'shift',
+ value: o(function () {
+ return l(this.head, this).value;
+ }, 'shift')
+ },
+ {
+ key: 'shiftNode',
+ value: o(function () {
+ return l(this.head, this);
+ }, 'shiftNode')
+ },
+ {
+ key: 'get_object_at',
+ value: o(function (d) {
+ if (d <= this.length()) {
+ for (var p = 1, m = this.head; p < d; ) (m = m.next), p++;
+ return m.value;
+ }
+ }, 'get_object_at')
+ },
+ {
+ key: 'set_object_at',
+ value: o(function (d, p) {
+ if (d <= this.length()) {
+ for (var m = 1, g = this.head; m < d; ) (g = g.next), m++;
+ g.value = p;
+ }
+ }, 'set_object_at')
+ }
+ ]),
+ h
+ );
+ })();
+ t.exports = u;
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a, s) {
+ (this.x = null),
+ (this.y = null),
+ i == null && a == null && s == null
+ ? ((this.x = 0), (this.y = 0))
+ : typeof i == 'number' && typeof a == 'number' && s == null
+ ? ((this.x = i), (this.y = a))
+ : i.constructor.name == 'Point' &&
+ a == null &&
+ s == null &&
+ ((s = i), (this.x = s.x), (this.y = s.y));
+ }
+ o(n, 'Point'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.getLocation = function () {
+ return new n(this.x, this.y);
+ }),
+ (n.prototype.setLocation = function (i, a, s) {
+ i.constructor.name == 'Point' && a == null && s == null
+ ? ((s = i), this.setLocation(s.x, s.y))
+ : typeof i == 'number' &&
+ typeof a == 'number' &&
+ s == null &&
+ (parseInt(i) == i && parseInt(a) == a
+ ? this.move(i, a)
+ : ((this.x = Math.floor(i + 0.5)), (this.y = Math.floor(a + 0.5))));
+ }),
+ (n.prototype.move = function (i, a) {
+ (this.x = i), (this.y = a);
+ }),
+ (n.prototype.translate = function (i, a) {
+ (this.x += i), (this.y += a);
+ }),
+ (n.prototype.equals = function (i) {
+ if (i.constructor.name == 'Point') {
+ var a = i;
+ return this.x == a.x && this.y == a.y;
+ }
+ return this == i;
+ }),
+ (n.prototype.toString = function () {
+ return new n().constructor.name + '[x=' + this.x + ',y=' + this.y + ']';
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a, s, l) {
+ (this.x = 0),
+ (this.y = 0),
+ (this.width = 0),
+ (this.height = 0),
+ i != null &&
+ a != null &&
+ s != null &&
+ l != null &&
+ ((this.x = i), (this.y = a), (this.width = s), (this.height = l));
+ }
+ o(n, 'RectangleD'),
+ (n.prototype.getX = function () {
+ return this.x;
+ }),
+ (n.prototype.setX = function (i) {
+ this.x = i;
+ }),
+ (n.prototype.getY = function () {
+ return this.y;
+ }),
+ (n.prototype.setY = function (i) {
+ this.y = i;
+ }),
+ (n.prototype.getWidth = function () {
+ return this.width;
+ }),
+ (n.prototype.setWidth = function (i) {
+ this.width = i;
+ }),
+ (n.prototype.getHeight = function () {
+ return this.height;
+ }),
+ (n.prototype.setHeight = function (i) {
+ this.height = i;
+ }),
+ (n.prototype.getRight = function () {
+ return this.x + this.width;
+ }),
+ (n.prototype.getBottom = function () {
+ return this.y + this.height;
+ }),
+ (n.prototype.intersects = function (i) {
+ return !(
+ this.getRight() < i.x ||
+ this.getBottom() < i.y ||
+ i.getRight() < this.x ||
+ i.getBottom() < this.y
+ );
+ }),
+ (n.prototype.getCenterX = function () {
+ return this.x + this.width / 2;
+ }),
+ (n.prototype.getMinX = function () {
+ return this.getX();
+ }),
+ (n.prototype.getMaxX = function () {
+ return this.getX() + this.width;
+ }),
+ (n.prototype.getCenterY = function () {
+ return this.y + this.height / 2;
+ }),
+ (n.prototype.getMinY = function () {
+ return this.getY();
+ }),
+ (n.prototype.getMaxY = function () {
+ return this.getY() + this.height;
+ }),
+ (n.prototype.getWidthHalf = function () {
+ return this.width / 2;
+ }),
+ (n.prototype.getHeightHalf = function () {
+ return this.height / 2;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n =
+ typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol'
+ ? function (a) {
+ return typeof a;
+ }
+ : function (a) {
+ return a &&
+ typeof Symbol == 'function' &&
+ a.constructor === Symbol &&
+ a !== Symbol.prototype
+ ? 'symbol'
+ : typeof a;
+ };
+ function i() {}
+ o(i, 'UniqueIDGeneretor'),
+ (i.lastID = 0),
+ (i.createID = function (a) {
+ return i.isPrimitive(a)
+ ? a
+ : (a.uniqueID != null || ((a.uniqueID = i.getString()), i.lastID++), a.uniqueID);
+ }),
+ (i.getString = function (a) {
+ return a == null && (a = i.lastID), 'Object#' + a;
+ }),
+ (i.isPrimitive = function (a) {
+ var s = typeof a > 'u' ? 'undefined' : n(a);
+ return a == null || (s != 'object' && s != 'function');
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(m) {
+ if (Array.isArray(m)) {
+ for (var g = 0, y = Array(m.length); g < m.length; g++) y[g] = m[g];
+ return y;
+ } else return Array.from(m);
+ }
+ o(n, '_toConsumableArray');
+ var i = r(0),
+ a = r(7),
+ s = r(3),
+ l = r(1),
+ u = r(6),
+ h = r(5),
+ f = r(17),
+ d = r(29);
+ function p(m) {
+ d.call(this),
+ (this.layoutQuality = i.QUALITY),
+ (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED),
+ (this.incremental = i.DEFAULT_INCREMENTAL),
+ (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT),
+ (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT),
+ (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD),
+ (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES),
+ (this.edgeToDummyNodes = new Map()),
+ (this.graphManager = new a(this)),
+ (this.isLayoutFinished = !1),
+ (this.isSubLayout = !1),
+ (this.isRemoteUse = !1),
+ m != null && (this.isRemoteUse = m);
+ }
+ o(p, 'Layout'),
+ (p.RANDOM_SEED = 1),
+ (p.prototype = Object.create(d.prototype)),
+ (p.prototype.getGraphManager = function () {
+ return this.graphManager;
+ }),
+ (p.prototype.getAllNodes = function () {
+ return this.graphManager.getAllNodes();
+ }),
+ (p.prototype.getAllEdges = function () {
+ return this.graphManager.getAllEdges();
+ }),
+ (p.prototype.getAllNodesToApplyGravitation = function () {
+ return this.graphManager.getAllNodesToApplyGravitation();
+ }),
+ (p.prototype.newGraphManager = function () {
+ var m = new a(this);
+ return (this.graphManager = m), m;
+ }),
+ (p.prototype.newGraph = function (m) {
+ return new u(null, this.graphManager, m);
+ }),
+ (p.prototype.newNode = function (m) {
+ return new s(this.graphManager, m);
+ }),
+ (p.prototype.newEdge = function (m) {
+ return new l(null, null, m);
+ }),
+ (p.prototype.checkLayoutSuccess = function () {
+ return (
+ this.graphManager.getRoot() == null ||
+ this.graphManager.getRoot().getNodes().length == 0 ||
+ this.graphManager.includesInvalidEdge()
+ );
+ }),
+ (p.prototype.runLayout = function () {
+ (this.isLayoutFinished = !1),
+ this.tilingPreLayout && this.tilingPreLayout(),
+ this.initParameters();
+ var m;
+ return (
+ this.checkLayoutSuccess() ? (m = !1) : (m = this.layout()),
+ i.ANIMATE === 'during'
+ ? !1
+ : (m && (this.isSubLayout || this.doPostLayout()),
+ this.tilingPostLayout && this.tilingPostLayout(),
+ (this.isLayoutFinished = !0),
+ m)
+ );
+ }),
+ (p.prototype.doPostLayout = function () {
+ this.incremental || this.transform(), this.update();
+ }),
+ (p.prototype.update2 = function () {
+ if (
+ (this.createBendsAsNeeded &&
+ (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()),
+ !this.isRemoteUse)
+ ) {
+ for (var m, g = this.graphManager.getAllEdges(), y = 0; y < g.length; y++) m = g[y];
+ for (var v, x = this.graphManager.getRoot().getNodes(), y = 0; y < x.length; y++)
+ v = x[y];
+ this.update(this.graphManager.getRoot());
+ }
+ }),
+ (p.prototype.update = function (m) {
+ if (m == null) this.update2();
+ else if (m instanceof s) {
+ var g = m;
+ if (g.getChild() != null)
+ for (var y = g.getChild().getNodes(), v = 0; v < y.length; v++) update(y[v]);
+ if (g.vGraphObject != null) {
+ var x = g.vGraphObject;
+ x.update(g);
+ }
+ } else if (m instanceof l) {
+ var b = m;
+ if (b.vGraphObject != null) {
+ var w = b.vGraphObject;
+ w.update(b);
+ }
+ } else if (m instanceof u) {
+ var S = m;
+ if (S.vGraphObject != null) {
+ var T = S.vGraphObject;
+ T.update(S);
+ }
+ }
+ }),
+ (p.prototype.initParameters = function () {
+ this.isSubLayout ||
+ ((this.layoutQuality = i.QUALITY),
+ (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT),
+ (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD),
+ (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT),
+ (this.incremental = i.DEFAULT_INCREMENTAL),
+ (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED),
+ (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES)),
+ this.animationDuringLayout && (this.animationOnLayout = !1);
+ }),
+ (p.prototype.transform = function (m) {
+ if (m == null) this.transform(new h(0, 0));
+ else {
+ var g = new f(),
+ y = this.graphManager.getRoot().updateLeftTop();
+ if (y != null) {
+ g.setWorldOrgX(m.x),
+ g.setWorldOrgY(m.y),
+ g.setDeviceOrgX(y.x),
+ g.setDeviceOrgY(y.y);
+ for (var v = this.getAllNodes(), x, b = 0; b < v.length; b++)
+ (x = v[b]), x.transform(g);
+ }
+ }
+ }),
+ (p.prototype.positionNodesRandomly = function (m) {
+ if (m == null)
+ this.positionNodesRandomly(this.getGraphManager().getRoot()),
+ this.getGraphManager().getRoot().updateBounds(!0);
+ else
+ for (var g, y, v = m.getNodes(), x = 0; x < v.length; x++)
+ (g = v[x]),
+ (y = g.getChild()),
+ y == null || y.getNodes().length == 0
+ ? g.scatter()
+ : (this.positionNodesRandomly(y), g.updateBounds());
+ }),
+ (p.prototype.getFlatForest = function () {
+ for (
+ var m = [], g = !0, y = this.graphManager.getRoot().getNodes(), v = !0, x = 0;
+ x < y.length;
+ x++
+ )
+ y[x].getChild() != null && (v = !1);
+ if (!v) return m;
+ var b = new Set(),
+ w = [],
+ S = new Map(),
+ T = [];
+ for (T = T.concat(y); T.length > 0 && g; ) {
+ for (w.push(T[0]); w.length > 0 && g; ) {
+ var E = w[0];
+ w.splice(0, 1), b.add(E);
+ for (var _ = E.getEdges(), x = 0; x < _.length; x++) {
+ var A = _[x].getOtherEnd(E);
+ if (S.get(E) != A)
+ if (!b.has(A)) w.push(A), S.set(A, E);
+ else {
+ g = !1;
+ break;
+ }
+ }
+ }
+ if (!g) m = [];
+ else {
+ var L = [].concat(n(b));
+ m.push(L);
+ for (var x = 0; x < L.length; x++) {
+ var M = L[x],
+ N = T.indexOf(M);
+ N > -1 && T.splice(N, 1);
+ }
+ (b = new Set()), (S = new Map());
+ }
+ }
+ return m;
+ }),
+ (p.prototype.createDummyNodesForBendpoints = function (m) {
+ for (
+ var g = [],
+ y = m.source,
+ v = this.graphManager.calcLowestCommonAncestor(m.source, m.target),
+ x = 0;
+ x < m.bendpoints.length;
+ x++
+ ) {
+ var b = this.newNode(null);
+ b.setRect(new Point(0, 0), new Dimension(1, 1)), v.add(b);
+ var w = this.newEdge(null);
+ this.graphManager.add(w, y, b), g.add(b), (y = b);
+ }
+ var w = this.newEdge(null);
+ return (
+ this.graphManager.add(w, y, m.target),
+ this.edgeToDummyNodes.set(m, g),
+ m.isInterGraph() ? this.graphManager.remove(m) : v.remove(m),
+ g
+ );
+ }),
+ (p.prototype.createBendpointsFromDummyNodes = function () {
+ var m = [];
+ (m = m.concat(this.graphManager.getAllEdges())),
+ (m = [].concat(n(this.edgeToDummyNodes.keys())).concat(m));
+ for (var g = 0; g < m.length; g++) {
+ var y = m[g];
+ if (y.bendpoints.length > 0) {
+ for (var v = this.edgeToDummyNodes.get(y), x = 0; x < v.length; x++) {
+ var b = v[x],
+ w = new h(b.getCenterX(), b.getCenterY()),
+ S = y.bendpoints.get(x);
+ (S.x = w.x), (S.y = w.y), b.getOwner().remove(b);
+ }
+ this.graphManager.add(y, y.source, y.target);
+ }
+ }
+ }),
+ (p.transform = function (m, g, y, v) {
+ if (y != null && v != null) {
+ var x = g;
+ if (m <= 50) {
+ var b = g / y;
+ x -= ((g - b) / 50) * (50 - m);
+ } else {
+ var w = g * v;
+ x += ((w - g) / 50) * (m - 50);
+ }
+ return x;
+ } else {
+ var S, T;
+ return (
+ m <= 50 ? ((S = (9 * g) / 500), (T = g / 10)) : ((S = (9 * g) / 50), (T = -8 * g)),
+ S * m + T
+ );
+ }
+ }),
+ (p.findCenterOfTree = function (m) {
+ var g = [];
+ g = g.concat(m);
+ var y = [],
+ v = new Map(),
+ x = !1,
+ b = null;
+ (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0]));
+ for (var w = 0; w < g.length; w++) {
+ var S = g[w],
+ T = S.getNeighborsList().size;
+ v.set(S, S.getNeighborsList().size), T == 1 && y.push(S);
+ }
+ var E = [];
+ for (E = E.concat(y); !x; ) {
+ var _ = [];
+ (_ = _.concat(E)), (E = []);
+ for (var w = 0; w < g.length; w++) {
+ var S = g[w],
+ A = g.indexOf(S);
+ A >= 0 && g.splice(A, 1);
+ var L = S.getNeighborsList();
+ L.forEach(function (k) {
+ if (y.indexOf(k) < 0) {
+ var I = v.get(k),
+ C = I - 1;
+ C == 1 && E.push(k), v.set(k, C);
+ }
+ });
+ }
+ (y = y.concat(E)), (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0]));
+ }
+ return b;
+ }),
+ (p.prototype.setGraphManager = function (m) {
+ this.graphManager = m;
+ }),
+ (t.exports = p);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'RandomSeed'),
+ (n.seed = 1),
+ (n.x = 0),
+ (n.nextDouble = function () {
+ return (n.x = Math.sin(n.seed++) * 1e4), n.x - Math.floor(n.x);
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(5);
+ function i(a, s) {
+ (this.lworldOrgX = 0),
+ (this.lworldOrgY = 0),
+ (this.ldeviceOrgX = 0),
+ (this.ldeviceOrgY = 0),
+ (this.lworldExtX = 1),
+ (this.lworldExtY = 1),
+ (this.ldeviceExtX = 1),
+ (this.ldeviceExtY = 1);
+ }
+ o(i, 'Transform'),
+ (i.prototype.getWorldOrgX = function () {
+ return this.lworldOrgX;
+ }),
+ (i.prototype.setWorldOrgX = function (a) {
+ this.lworldOrgX = a;
+ }),
+ (i.prototype.getWorldOrgY = function () {
+ return this.lworldOrgY;
+ }),
+ (i.prototype.setWorldOrgY = function (a) {
+ this.lworldOrgY = a;
+ }),
+ (i.prototype.getWorldExtX = function () {
+ return this.lworldExtX;
+ }),
+ (i.prototype.setWorldExtX = function (a) {
+ this.lworldExtX = a;
+ }),
+ (i.prototype.getWorldExtY = function () {
+ return this.lworldExtY;
+ }),
+ (i.prototype.setWorldExtY = function (a) {
+ this.lworldExtY = a;
+ }),
+ (i.prototype.getDeviceOrgX = function () {
+ return this.ldeviceOrgX;
+ }),
+ (i.prototype.setDeviceOrgX = function (a) {
+ this.ldeviceOrgX = a;
+ }),
+ (i.prototype.getDeviceOrgY = function () {
+ return this.ldeviceOrgY;
+ }),
+ (i.prototype.setDeviceOrgY = function (a) {
+ this.ldeviceOrgY = a;
+ }),
+ (i.prototype.getDeviceExtX = function () {
+ return this.ldeviceExtX;
+ }),
+ (i.prototype.setDeviceExtX = function (a) {
+ this.ldeviceExtX = a;
+ }),
+ (i.prototype.getDeviceExtY = function () {
+ return this.ldeviceExtY;
+ }),
+ (i.prototype.setDeviceExtY = function (a) {
+ this.ldeviceExtY = a;
+ }),
+ (i.prototype.transformX = function (a) {
+ var s = 0,
+ l = this.lworldExtX;
+ return l != 0 && (s = this.ldeviceOrgX + ((a - this.lworldOrgX) * this.ldeviceExtX) / l), s;
+ }),
+ (i.prototype.transformY = function (a) {
+ var s = 0,
+ l = this.lworldExtY;
+ return l != 0 && (s = this.ldeviceOrgY + ((a - this.lworldOrgY) * this.ldeviceExtY) / l), s;
+ }),
+ (i.prototype.inverseTransformX = function (a) {
+ var s = 0,
+ l = this.ldeviceExtX;
+ return l != 0 && (s = this.lworldOrgX + ((a - this.ldeviceOrgX) * this.lworldExtX) / l), s;
+ }),
+ (i.prototype.inverseTransformY = function (a) {
+ var s = 0,
+ l = this.ldeviceExtY;
+ return l != 0 && (s = this.lworldOrgY + ((a - this.ldeviceOrgY) * this.lworldExtY) / l), s;
+ }),
+ (i.prototype.inverseTransformPoint = function (a) {
+ var s = new n(this.inverseTransformX(a.x), this.inverseTransformY(a.y));
+ return s;
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(d) {
+ if (Array.isArray(d)) {
+ for (var p = 0, m = Array(d.length); p < d.length; p++) m[p] = d[p];
+ return m;
+ } else return Array.from(d);
+ }
+ o(n, '_toConsumableArray');
+ var i = r(15),
+ a = r(4),
+ s = r(0),
+ l = r(8),
+ u = r(9);
+ function h() {
+ i.call(this),
+ (this.useSmartIdealEdgeLengthCalculation =
+ a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION),
+ (this.gravityConstant = a.DEFAULT_GRAVITY_STRENGTH),
+ (this.compoundGravityConstant = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH),
+ (this.gravityRangeFactor = a.DEFAULT_GRAVITY_RANGE_FACTOR),
+ (this.compoundGravityRangeFactor = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR),
+ (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100),
+ (this.coolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL),
+ (this.initialCoolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL),
+ (this.totalDisplacement = 0),
+ (this.oldTotalDisplacement = 0),
+ (this.maxIterations = a.MAX_ITERATIONS);
+ }
+ o(h, 'FDLayout'), (h.prototype = Object.create(i.prototype));
+ for (var f in i) h[f] = i[f];
+ (h.prototype.initParameters = function () {
+ i.prototype.initParameters.call(this, arguments),
+ (this.totalIterations = 0),
+ (this.notAnimatedIterations = 0),
+ (this.useFRGridVariant = a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION),
+ (this.grid = []);
+ }),
+ (h.prototype.calcIdealEdgeLengths = function () {
+ for (
+ var d, p, m, g, y, v, x, b = this.getGraphManager().getAllEdges(), w = 0;
+ w < b.length;
+ w++
+ )
+ (d = b[w]),
+ (p = d.idealLength),
+ d.isInterGraph &&
+ ((g = d.getSource()),
+ (y = d.getTarget()),
+ (v = d.getSourceInLca().getEstimatedSize()),
+ (x = d.getTargetInLca().getEstimatedSize()),
+ this.useSmartIdealEdgeLengthCalculation &&
+ (d.idealLength += v + x - 2 * s.SIMPLE_NODE_SIZE),
+ (m = d.getLca().getInclusionTreeDepth()),
+ (d.idealLength +=
+ p *
+ a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR *
+ (g.getInclusionTreeDepth() + y.getInclusionTreeDepth() - 2 * m)));
+ }),
+ (h.prototype.initSpringEmbedder = function () {
+ var d = this.getAllNodes().length;
+ this.incremental
+ ? (d > a.ADAPTATION_LOWER_NODE_LIMIT &&
+ (this.coolingFactor = Math.max(
+ this.coolingFactor * a.COOLING_ADAPTATION_FACTOR,
+ this.coolingFactor -
+ ((d - a.ADAPTATION_LOWER_NODE_LIMIT) /
+ (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) *
+ this.coolingFactor *
+ (1 - a.COOLING_ADAPTATION_FACTOR)
+ )),
+ (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT_INCREMENTAL))
+ : (d > a.ADAPTATION_LOWER_NODE_LIMIT
+ ? (this.coolingFactor = Math.max(
+ a.COOLING_ADAPTATION_FACTOR,
+ 1 -
+ ((d - a.ADAPTATION_LOWER_NODE_LIMIT) /
+ (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) *
+ (1 - a.COOLING_ADAPTATION_FACTOR)
+ ))
+ : (this.coolingFactor = 1),
+ (this.initialCoolingFactor = this.coolingFactor),
+ (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT)),
+ (this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations)),
+ (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100),
+ (this.totalDisplacementThreshold =
+ this.displacementThresholdPerNode * this.getAllNodes().length),
+ (this.repulsionRange = this.calcRepulsionRange());
+ }),
+ (h.prototype.calcSpringForces = function () {
+ for (var d = this.getAllEdges(), p, m = 0; m < d.length; m++)
+ (p = d[m]), this.calcSpringForce(p, p.idealLength);
+ }),
+ (h.prototype.calcRepulsionForces = function () {
+ var d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0,
+ p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1,
+ m,
+ g,
+ y,
+ v,
+ x = this.getAllNodes(),
+ b;
+ if (this.useFRGridVariant)
+ for (
+ this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 &&
+ d &&
+ this.updateGrid(),
+ b = new Set(),
+ m = 0;
+ m < x.length;
+ m++
+ )
+ (y = x[m]), this.calculateRepulsionForceOfANode(y, b, d, p), b.add(y);
+ else
+ for (m = 0; m < x.length; m++)
+ for (y = x[m], g = m + 1; g < x.length; g++)
+ (v = x[g]), y.getOwner() == v.getOwner() && this.calcRepulsionForce(y, v);
+ }),
+ (h.prototype.calcGravitationalForces = function () {
+ for (var d, p = this.getAllNodesToApplyGravitation(), m = 0; m < p.length; m++)
+ (d = p[m]), this.calcGravitationalForce(d);
+ }),
+ (h.prototype.moveNodes = function () {
+ for (var d = this.getAllNodes(), p, m = 0; m < d.length; m++) (p = d[m]), p.move();
+ }),
+ (h.prototype.calcSpringForce = function (d, p) {
+ var m = d.getSource(),
+ g = d.getTarget(),
+ y,
+ v,
+ x,
+ b;
+ if (this.uniformLeafNodeSizes && m.getChild() == null && g.getChild() == null)
+ d.updateLengthSimple();
+ else if ((d.updateLength(), d.isOverlapingSourceAndTarget)) return;
+ (y = d.getLength()),
+ y != 0 &&
+ ((v = d.edgeElasticity * (y - p)),
+ (x = v * (d.lengthX / y)),
+ (b = v * (d.lengthY / y)),
+ (m.springForceX += x),
+ (m.springForceY += b),
+ (g.springForceX -= x),
+ (g.springForceY -= b));
+ }),
+ (h.prototype.calcRepulsionForce = function (d, p) {
+ var m = d.getRect(),
+ g = p.getRect(),
+ y = new Array(2),
+ v = new Array(4),
+ x,
+ b,
+ w,
+ S,
+ T,
+ E,
+ _;
+ if (m.intersects(g)) {
+ l.calcSeparationAmount(m, g, y, a.DEFAULT_EDGE_LENGTH / 2),
+ (E = 2 * y[0]),
+ (_ = 2 * y[1]);
+ var A = (d.noOfChildren * p.noOfChildren) / (d.noOfChildren + p.noOfChildren);
+ (d.repulsionForceX -= A * E),
+ (d.repulsionForceY -= A * _),
+ (p.repulsionForceX += A * E),
+ (p.repulsionForceY += A * _);
+ } else
+ this.uniformLeafNodeSizes && d.getChild() == null && p.getChild() == null
+ ? ((x = g.getCenterX() - m.getCenterX()), (b = g.getCenterY() - m.getCenterY()))
+ : (l.getIntersection(m, g, v), (x = v[2] - v[0]), (b = v[3] - v[1])),
+ Math.abs(x) < a.MIN_REPULSION_DIST && (x = u.sign(x) * a.MIN_REPULSION_DIST),
+ Math.abs(b) < a.MIN_REPULSION_DIST && (b = u.sign(b) * a.MIN_REPULSION_DIST),
+ (w = x * x + b * b),
+ (S = Math.sqrt(w)),
+ (T =
+ ((d.nodeRepulsion / 2 + p.nodeRepulsion / 2) *
+ d.noOfChildren *
+ p.noOfChildren) /
+ w),
+ (E = (T * x) / S),
+ (_ = (T * b) / S),
+ (d.repulsionForceX -= E),
+ (d.repulsionForceY -= _),
+ (p.repulsionForceX += E),
+ (p.repulsionForceY += _);
+ }),
+ (h.prototype.calcGravitationalForce = function (d) {
+ var p, m, g, y, v, x, b, w;
+ (p = d.getOwner()),
+ (m = (p.getRight() + p.getLeft()) / 2),
+ (g = (p.getTop() + p.getBottom()) / 2),
+ (y = d.getCenterX() - m),
+ (v = d.getCenterY() - g),
+ (x = Math.abs(y) + d.getWidth() / 2),
+ (b = Math.abs(v) + d.getHeight() / 2),
+ d.getOwner() == this.graphManager.getRoot()
+ ? ((w = p.getEstimatedSize() * this.gravityRangeFactor),
+ (x > w || b > w) &&
+ ((d.gravitationForceX = -this.gravityConstant * y),
+ (d.gravitationForceY = -this.gravityConstant * v)))
+ : ((w = p.getEstimatedSize() * this.compoundGravityRangeFactor),
+ (x > w || b > w) &&
+ ((d.gravitationForceX =
+ -this.gravityConstant * y * this.compoundGravityConstant),
+ (d.gravitationForceY =
+ -this.gravityConstant * v * this.compoundGravityConstant)));
+ }),
+ (h.prototype.isConverged = function () {
+ var d,
+ p = !1;
+ return (
+ this.totalIterations > this.maxIterations / 3 &&
+ (p = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2),
+ (d = this.totalDisplacement < this.totalDisplacementThreshold),
+ (this.oldTotalDisplacement = this.totalDisplacement),
+ d || p
+ );
+ }),
+ (h.prototype.animate = function () {
+ this.animationDuringLayout &&
+ !this.isSubLayout &&
+ (this.notAnimatedIterations == this.animationPeriod
+ ? (this.update(), (this.notAnimatedIterations = 0))
+ : this.notAnimatedIterations++);
+ }),
+ (h.prototype.calcNoOfChildrenForAllNodes = function () {
+ for (var d, p = this.graphManager.getAllNodes(), m = 0; m < p.length; m++)
+ (d = p[m]), (d.noOfChildren = d.getNoOfChildren());
+ }),
+ (h.prototype.calcGrid = function (d) {
+ var p = 0,
+ m = 0;
+ (p = parseInt(Math.ceil((d.getRight() - d.getLeft()) / this.repulsionRange))),
+ (m = parseInt(Math.ceil((d.getBottom() - d.getTop()) / this.repulsionRange)));
+ for (var g = new Array(p), y = 0; y < p; y++) g[y] = new Array(m);
+ for (var y = 0; y < p; y++) for (var v = 0; v < m; v++) g[y][v] = new Array();
+ return g;
+ }),
+ (h.prototype.addNodeToGrid = function (d, p, m) {
+ var g = 0,
+ y = 0,
+ v = 0,
+ x = 0;
+ (g = parseInt(Math.floor((d.getRect().x - p) / this.repulsionRange))),
+ (y = parseInt(
+ Math.floor((d.getRect().width + d.getRect().x - p) / this.repulsionRange)
+ )),
+ (v = parseInt(Math.floor((d.getRect().y - m) / this.repulsionRange))),
+ (x = parseInt(
+ Math.floor((d.getRect().height + d.getRect().y - m) / this.repulsionRange)
+ ));
+ for (var b = g; b <= y; b++)
+ for (var w = v; w <= x; w++) this.grid[b][w].push(d), d.setGridCoordinates(g, y, v, x);
+ }),
+ (h.prototype.updateGrid = function () {
+ var d,
+ p,
+ m = this.getAllNodes();
+ for (this.grid = this.calcGrid(this.graphManager.getRoot()), d = 0; d < m.length; d++)
+ (p = m[d]),
+ this.addNodeToGrid(
+ p,
+ this.graphManager.getRoot().getLeft(),
+ this.graphManager.getRoot().getTop()
+ );
+ }),
+ (h.prototype.calculateRepulsionForceOfANode = function (d, p, m, g) {
+ if ((this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && m) || g) {
+ var y = new Set();
+ d.surrounding = new Array();
+ for (var v, x = this.grid, b = d.startX - 1; b < d.finishX + 2; b++)
+ for (var w = d.startY - 1; w < d.finishY + 2; w++)
+ if (!(b < 0 || w < 0 || b >= x.length || w >= x[0].length)) {
+ for (var S = 0; S < x[b][w].length; S++)
+ if (
+ ((v = x[b][w][S]),
+ !(d.getOwner() != v.getOwner() || d == v) && !p.has(v) && !y.has(v))
+ ) {
+ var T =
+ Math.abs(d.getCenterX() - v.getCenterX()) -
+ (d.getWidth() / 2 + v.getWidth() / 2),
+ E =
+ Math.abs(d.getCenterY() - v.getCenterY()) -
+ (d.getHeight() / 2 + v.getHeight() / 2);
+ T <= this.repulsionRange && E <= this.repulsionRange && y.add(v);
+ }
+ }
+ d.surrounding = [].concat(n(y));
+ }
+ for (b = 0; b < d.surrounding.length; b++) this.calcRepulsionForce(d, d.surrounding[b]);
+ }),
+ (h.prototype.calcRepulsionRange = function () {
+ return 0;
+ }),
+ (t.exports = h);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(1),
+ i = r(4);
+ function a(l, u, h) {
+ n.call(this, l, u, h),
+ (this.idealLength = i.DEFAULT_EDGE_LENGTH),
+ (this.edgeElasticity = i.DEFAULT_SPRING_STRENGTH);
+ }
+ o(a, 'FDLayoutEdge'), (a.prototype = Object.create(n.prototype));
+ for (var s in n) a[s] = n[s];
+ t.exports = a;
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(3),
+ i = r(4);
+ function a(l, u, h, f) {
+ n.call(this, l, u, h, f),
+ (this.nodeRepulsion = i.DEFAULT_REPULSION_STRENGTH),
+ (this.springForceX = 0),
+ (this.springForceY = 0),
+ (this.repulsionForceX = 0),
+ (this.repulsionForceY = 0),
+ (this.gravitationForceX = 0),
+ (this.gravitationForceY = 0),
+ (this.displacementX = 0),
+ (this.displacementY = 0),
+ (this.startX = 0),
+ (this.finishX = 0),
+ (this.startY = 0),
+ (this.finishY = 0),
+ (this.surrounding = []);
+ }
+ o(a, 'FDLayoutNode'), (a.prototype = Object.create(n.prototype));
+ for (var s in n) a[s] = n[s];
+ (a.prototype.setGridCoordinates = function (l, u, h, f) {
+ (this.startX = l), (this.finishX = u), (this.startY = h), (this.finishY = f);
+ }),
+ (t.exports = a);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n(i, a) {
+ (this.width = 0),
+ (this.height = 0),
+ i !== null && a !== null && ((this.height = a), (this.width = i));
+ }
+ o(n, 'DimensionD'),
+ (n.prototype.getWidth = function () {
+ return this.width;
+ }),
+ (n.prototype.setWidth = function (i) {
+ this.width = i;
+ }),
+ (n.prototype.getHeight = function () {
+ return this.height;
+ }),
+ (n.prototype.setHeight = function (i) {
+ this.height = i;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(14);
+ function i() {
+ (this.map = {}), (this.keys = []);
+ }
+ o(i, 'HashMap'),
+ (i.prototype.put = function (a, s) {
+ var l = n.createID(a);
+ this.contains(l) || ((this.map[l] = s), this.keys.push(a));
+ }),
+ (i.prototype.contains = function (a) {
+ var s = n.createID(a);
+ return this.map[a] != null;
+ }),
+ (i.prototype.get = function (a) {
+ var s = n.createID(a);
+ return this.map[s];
+ }),
+ (i.prototype.keySet = function () {
+ return this.keys;
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = r(14);
+ function i() {
+ this.set = {};
+ }
+ o(i, 'HashSet'),
+ (i.prototype.add = function (a) {
+ var s = n.createID(a);
+ this.contains(s) || (this.set[s] = a);
+ }),
+ (i.prototype.remove = function (a) {
+ delete this.set[n.createID(a)];
+ }),
+ (i.prototype.clear = function () {
+ this.set = {};
+ }),
+ (i.prototype.contains = function (a) {
+ return this.set[n.createID(a)] == a;
+ }),
+ (i.prototype.isEmpty = function () {
+ return this.size() === 0;
+ }),
+ (i.prototype.size = function () {
+ return Object.keys(this.set).length;
+ }),
+ (i.prototype.addAllTo = function (a) {
+ for (var s = Object.keys(this.set), l = s.length, u = 0; u < l; u++) a.push(this.set[s[u]]);
+ }),
+ (i.prototype.size = function () {
+ return Object.keys(this.set).length;
+ }),
+ (i.prototype.addAll = function (a) {
+ for (var s = a.length, l = 0; l < s; l++) {
+ var u = a[l];
+ this.add(u);
+ }
+ }),
+ (t.exports = i);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'Matrix'),
+ (n.multMat = function (i, a) {
+ for (var s = [], l = 0; l < i.length; l++) {
+ s[l] = [];
+ for (var u = 0; u < a[0].length; u++) {
+ s[l][u] = 0;
+ for (var h = 0; h < i[0].length; h++) s[l][u] += i[l][h] * a[h][u];
+ }
+ }
+ return s;
+ }),
+ (n.transpose = function (i) {
+ for (var a = [], s = 0; s < i[0].length; s++) {
+ a[s] = [];
+ for (var l = 0; l < i.length; l++) a[s][l] = i[l][s];
+ }
+ return a;
+ }),
+ (n.multCons = function (i, a) {
+ for (var s = [], l = 0; l < i.length; l++) s[l] = i[l] * a;
+ return s;
+ }),
+ (n.minusOp = function (i, a) {
+ for (var s = [], l = 0; l < i.length; l++) s[l] = i[l] - a[l];
+ return s;
+ }),
+ (n.dotProduct = function (i, a) {
+ for (var s = 0, l = 0; l < i.length; l++) s += i[l] * a[l];
+ return s;
+ }),
+ (n.mag = function (i) {
+ return Math.sqrt(this.dotProduct(i, i));
+ }),
+ (n.normalize = function (i) {
+ for (var a = [], s = this.mag(i), l = 0; l < i.length; l++) a[l] = i[l] / s;
+ return a;
+ }),
+ (n.multGamma = function (i) {
+ for (var a = [], s = 0, l = 0; l < i.length; l++) s += i[l];
+ s *= -1 / i.length;
+ for (var u = 0; u < i.length; u++) a[u] = s + i[u];
+ return a;
+ }),
+ (n.multL = function (i, a, s) {
+ for (var l = [], u = [], h = [], f = 0; f < a[0].length; f++) {
+ for (var d = 0, p = 0; p < a.length; p++) d += -0.5 * a[p][f] * i[p];
+ u[f] = d;
+ }
+ for (var m = 0; m < s.length; m++) {
+ for (var g = 0, y = 0; y < s.length; y++) g += s[m][y] * u[y];
+ h[m] = g;
+ }
+ for (var v = 0; v < a.length; v++) {
+ for (var x = 0, b = 0; b < a[0].length; b++) x += a[v][b] * h[b];
+ l[v] = x;
+ }
+ return l;
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function l(u, h) {
+ for (var f = 0; f < h.length; f++) {
+ var d = h[f];
+ (d.enumerable = d.enumerable || !1),
+ (d.configurable = !0),
+ 'value' in d && (d.writable = !0),
+ Object.defineProperty(u, d.key, d);
+ }
+ }
+ return (
+ o(l, 'defineProperties'),
+ function (u, h, f) {
+ return h && l(u.prototype, h), f && l(u, f), u;
+ }
+ );
+ })();
+ function i(l, u) {
+ if (!(l instanceof u)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = r(11),
+ s = (function () {
+ function l(u, h) {
+ i(this, l),
+ (h !== null || h !== void 0) &&
+ (this.compareFunction = this._defaultCompareFunction);
+ var f = void 0;
+ u instanceof a ? (f = u.size()) : (f = u.length), this._quicksort(u, 0, f - 1);
+ }
+ return (
+ o(l, 'Quicksort'),
+ n(l, [
+ {
+ key: '_quicksort',
+ value: o(function (h, f, d) {
+ if (f < d) {
+ var p = this._partition(h, f, d);
+ this._quicksort(h, f, p), this._quicksort(h, p + 1, d);
+ }
+ }, '_quicksort')
+ },
+ {
+ key: '_partition',
+ value: o(function (h, f, d) {
+ for (var p = this._get(h, f), m = f, g = d; ; ) {
+ for (; this.compareFunction(p, this._get(h, g)); ) g--;
+ for (; this.compareFunction(this._get(h, m), p); ) m++;
+ if (m < g) this._swap(h, m, g), m++, g--;
+ else return g;
+ }
+ }, '_partition')
+ },
+ {
+ key: '_get',
+ value: o(function (h, f) {
+ return h instanceof a ? h.get_object_at(f) : h[f];
+ }, '_get')
+ },
+ {
+ key: '_set',
+ value: o(function (h, f, d) {
+ h instanceof a ? h.set_object_at(f, d) : (h[f] = d);
+ }, '_set')
+ },
+ {
+ key: '_swap',
+ value: o(function (h, f, d) {
+ var p = this._get(h, f);
+ this._set(h, f, this._get(h, d)), this._set(h, d, p);
+ }, '_swap')
+ },
+ {
+ key: '_defaultCompareFunction',
+ value: o(function (h, f) {
+ return f > h;
+ }, '_defaultCompareFunction')
+ }
+ ]),
+ l
+ );
+ })();
+ t.exports = s;
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {}
+ o(n, 'SVD'),
+ (n.svd = function (i) {
+ (this.U = null),
+ (this.V = null),
+ (this.s = null),
+ (this.m = 0),
+ (this.n = 0),
+ (this.m = i.length),
+ (this.n = i[0].length);
+ var a = Math.min(this.m, this.n);
+ (this.s = (function (it) {
+ for (var dt = []; it-- > 0; ) dt.push(0);
+ return dt;
+ })(Math.min(this.m + 1, this.n))),
+ (this.U = (function (it) {
+ var dt = o(function lt(It) {
+ if (It.length == 0) return 0;
+ for (var mt = [], St = 0; St < It[0]; St++) mt.push(lt(It.slice(1)));
+ return mt;
+ }, 'allocate');
+ return dt(it);
+ })([this.m, a])),
+ (this.V = (function (it) {
+ var dt = o(function lt(It) {
+ if (It.length == 0) return 0;
+ for (var mt = [], St = 0; St < It[0]; St++) mt.push(lt(It.slice(1)));
+ return mt;
+ }, 'allocate');
+ return dt(it);
+ })([this.n, this.n]));
+ for (
+ var s = (function (it) {
+ for (var dt = []; it-- > 0; ) dt.push(0);
+ return dt;
+ })(this.n),
+ l = (function (it) {
+ for (var dt = []; it-- > 0; ) dt.push(0);
+ return dt;
+ })(this.m),
+ u = !0,
+ h = !0,
+ f = Math.min(this.m - 1, this.n),
+ d = Math.max(0, Math.min(this.n - 2, this.m)),
+ p = 0;
+ p < Math.max(f, d);
+ p++
+ ) {
+ if (p < f) {
+ this.s[p] = 0;
+ for (var m = p; m < this.m; m++) this.s[p] = n.hypot(this.s[p], i[m][p]);
+ if (this.s[p] !== 0) {
+ i[p][p] < 0 && (this.s[p] = -this.s[p]);
+ for (var g = p; g < this.m; g++) i[g][p] /= this.s[p];
+ i[p][p] += 1;
+ }
+ this.s[p] = -this.s[p];
+ }
+ for (var y = p + 1; y < this.n; y++) {
+ if (
+ (function (it, dt) {
+ return it && dt;
+ })(p < f, this.s[p] !== 0)
+ ) {
+ for (var v = 0, x = p; x < this.m; x++) v += i[x][p] * i[x][y];
+ v = -v / i[p][p];
+ for (var b = p; b < this.m; b++) i[b][y] += v * i[b][p];
+ }
+ s[y] = i[p][y];
+ }
+ if (
+ (function (it, dt) {
+ return it && dt;
+ })(u, p < f)
+ )
+ for (var w = p; w < this.m; w++) this.U[w][p] = i[w][p];
+ if (p < d) {
+ s[p] = 0;
+ for (var S = p + 1; S < this.n; S++) s[p] = n.hypot(s[p], s[S]);
+ if (s[p] !== 0) {
+ s[p + 1] < 0 && (s[p] = -s[p]);
+ for (var T = p + 1; T < this.n; T++) s[T] /= s[p];
+ s[p + 1] += 1;
+ }
+ if (
+ ((s[p] = -s[p]),
+ (function (it, dt) {
+ return it && dt;
+ })(p + 1 < this.m, s[p] !== 0))
+ ) {
+ for (var E = p + 1; E < this.m; E++) l[E] = 0;
+ for (var _ = p + 1; _ < this.n; _++)
+ for (var A = p + 1; A < this.m; A++) l[A] += s[_] * i[A][_];
+ for (var L = p + 1; L < this.n; L++)
+ for (var M = -s[L] / s[p + 1], N = p + 1; N < this.m; N++)
+ i[N][L] += M * l[N];
+ }
+ if (h) for (var k = p + 1; k < this.n; k++) this.V[k][p] = s[k];
+ }
+ }
+ var I = Math.min(this.n, this.m + 1);
+ if (
+ (f < this.n && (this.s[f] = i[f][f]),
+ this.m < I && (this.s[I - 1] = 0),
+ d + 1 < I && (s[d] = i[d][I - 1]),
+ (s[I - 1] = 0),
+ u)
+ ) {
+ for (var C = f; C < a; C++) {
+ for (var O = 0; O < this.m; O++) this.U[O][C] = 0;
+ this.U[C][C] = 1;
+ }
+ for (var D = f - 1; D >= 0; D--)
+ if (this.s[D] !== 0) {
+ for (var P = D + 1; P < a; P++) {
+ for (var F = 0, B = D; B < this.m; B++) F += this.U[B][D] * this.U[B][P];
+ F = -F / this.U[D][D];
+ for (var $ = D; $ < this.m; $++) this.U[$][P] += F * this.U[$][D];
+ }
+ for (var z = D; z < this.m; z++) this.U[z][D] = -this.U[z][D];
+ this.U[D][D] = 1 + this.U[D][D];
+ for (var Y = 0; Y < D - 1; Y++) this.U[Y][D] = 0;
+ } else {
+ for (var Q = 0; Q < this.m; Q++) this.U[Q][D] = 0;
+ this.U[D][D] = 1;
+ }
+ }
+ if (h)
+ for (var X = this.n - 1; X >= 0; X--) {
+ if (
+ (function (it, dt) {
+ return it && dt;
+ })(X < d, s[X] !== 0)
+ )
+ for (var ie = X + 1; ie < a; ie++) {
+ for (var j = 0, J = X + 1; J < this.n; J++)
+ j += this.V[J][X] * this.V[J][ie];
+ j = -j / this.V[X + 1][X];
+ for (var Z = X + 1; Z < this.n; Z++) this.V[Z][ie] += j * this.V[Z][X];
+ }
+ for (var H = 0; H < this.n; H++) this.V[H][X] = 0;
+ this.V[X][X] = 1;
+ }
+ for (var q = I - 1, K = 0, se = Math.pow(2, -52), ce = Math.pow(2, -966); I > 0; ) {
+ var ue = void 0,
+ te = void 0;
+ for (ue = I - 2; ue >= -1 && ue !== -1; ue--)
+ if (
+ Math.abs(s[ue]) <=
+ ce + se * (Math.abs(this.s[ue]) + Math.abs(this.s[ue + 1]))
+ ) {
+ s[ue] = 0;
+ break;
+ }
+ if (ue === I - 2) te = 4;
+ else {
+ var De = void 0;
+ for (De = I - 1; De >= ue && De !== ue; De--) {
+ var oe =
+ (De !== I ? Math.abs(s[De]) : 0) +
+ (De !== ue + 1 ? Math.abs(s[De - 1]) : 0);
+ if (Math.abs(this.s[De]) <= ce + se * oe) {
+ this.s[De] = 0;
+ break;
+ }
+ }
+ De === ue ? (te = 3) : De === I - 1 ? (te = 1) : ((te = 2), (ue = De));
+ }
+ switch ((ue++, te)) {
+ case 1:
+ {
+ var ke = s[I - 2];
+ s[I - 2] = 0;
+ for (var Ie = I - 2; Ie >= ue; Ie--) {
+ var Se = n.hypot(this.s[Ie], ke),
+ Ue = this.s[Ie] / Se,
+ Pe = ke / Se;
+ if (
+ ((this.s[Ie] = Se),
+ Ie !== ue && ((ke = -Pe * s[Ie - 1]), (s[Ie - 1] = Ue * s[Ie - 1])),
+ h)
+ )
+ for (var _e = 0; _e < this.n; _e++)
+ (Se = Ue * this.V[_e][Ie] + Pe * this.V[_e][I - 1]),
+ (this.V[_e][I - 1] =
+ -Pe * this.V[_e][Ie] + Ue * this.V[_e][I - 1]),
+ (this.V[_e][Ie] = Se);
+ }
+ }
+ break;
+ case 2:
+ {
+ var me = s[ue - 1];
+ s[ue - 1] = 0;
+ for (var W = ue; W < I; W++) {
+ var fe = n.hypot(this.s[W], me),
+ ge = this.s[W] / fe,
+ re = me / fe;
+ if (((this.s[W] = fe), (me = -re * s[W]), (s[W] = ge * s[W]), u))
+ for (var he = 0; he < this.m; he++)
+ (fe = ge * this.U[he][W] + re * this.U[he][ue - 1]),
+ (this.U[he][ue - 1] =
+ -re * this.U[he][W] + ge * this.U[he][ue - 1]),
+ (this.U[he][W] = fe);
+ }
+ }
+ break;
+ case 3:
+ {
+ var ne = Math.max(
+ Math.max(
+ Math.max(
+ Math.max(Math.abs(this.s[I - 1]), Math.abs(this.s[I - 2])),
+ Math.abs(s[I - 2])
+ ),
+ Math.abs(this.s[ue])
+ ),
+ Math.abs(s[ue])
+ ),
+ ae = this.s[I - 1] / ne,
+ we = this.s[I - 2] / ne,
+ Te = s[I - 2] / ne,
+ Ce = this.s[ue] / ne,
+ Ae = s[ue] / ne,
+ Ge = ((we + ae) * (we - ae) + Te * Te) / 2,
+ Me = ae * Te * (ae * Te),
+ ye = 0;
+ (function (it, dt) {
+ return it || dt;
+ })(Ge !== 0, Me !== 0) &&
+ ((ye = Math.sqrt(Ge * Ge + Me)),
+ Ge < 0 && (ye = -ye),
+ (ye = Me / (Ge + ye)));
+ for (
+ var He = (Ce + ae) * (Ce - ae) + ye, ze = Ce * Ae, Ze = ue;
+ Ze < I - 1;
+ Ze++
+ ) {
+ var gt = n.hypot(He, ze),
+ yt = He / gt,
+ tt = ze / gt;
+ if (
+ (Ze !== ue && (s[Ze - 1] = gt),
+ (He = yt * this.s[Ze] + tt * s[Ze]),
+ (s[Ze] = yt * s[Ze] - tt * this.s[Ze]),
+ (ze = tt * this.s[Ze + 1]),
+ (this.s[Ze + 1] = yt * this.s[Ze + 1]),
+ h)
+ )
+ for (var Ye = 0; Ye < this.n; Ye++)
+ (gt = yt * this.V[Ye][Ze] + tt * this.V[Ye][Ze + 1]),
+ (this.V[Ye][Ze + 1] =
+ -tt * this.V[Ye][Ze] + yt * this.V[Ye][Ze + 1]),
+ (this.V[Ye][Ze] = gt);
+ if (
+ ((gt = n.hypot(He, ze)),
+ (yt = He / gt),
+ (tt = ze / gt),
+ (this.s[Ze] = gt),
+ (He = yt * s[Ze] + tt * this.s[Ze + 1]),
+ (this.s[Ze + 1] = -tt * s[Ze] + yt * this.s[Ze + 1]),
+ (ze = tt * s[Ze + 1]),
+ (s[Ze + 1] = yt * s[Ze + 1]),
+ u && Ze < this.m - 1)
+ )
+ for (var Je = 0; Je < this.m; Je++)
+ (gt = yt * this.U[Je][Ze] + tt * this.U[Je][Ze + 1]),
+ (this.U[Je][Ze + 1] =
+ -tt * this.U[Je][Ze] + yt * this.U[Je][Ze + 1]),
+ (this.U[Je][Ze] = gt);
+ }
+ (s[I - 2] = He), (K = K + 1);
+ }
+ break;
+ case 4:
+ {
+ if (this.s[ue] <= 0 && ((this.s[ue] = this.s[ue] < 0 ? -this.s[ue] : 0), h))
+ for (var Ve = 0; Ve <= q; Ve++) this.V[Ve][ue] = -this.V[Ve][ue];
+ for (; ue < q && !(this.s[ue] >= this.s[ue + 1]); ) {
+ var je = this.s[ue];
+ if (
+ ((this.s[ue] = this.s[ue + 1]),
+ (this.s[ue + 1] = je),
+ h && ue < this.n - 1)
+ )
+ for (var kt = 0; kt < this.n; kt++)
+ (je = this.V[kt][ue + 1]),
+ (this.V[kt][ue + 1] = this.V[kt][ue]),
+ (this.V[kt][ue] = je);
+ if (u && ue < this.m - 1)
+ for (var at = 0; at < this.m; at++)
+ (je = this.U[at][ue + 1]),
+ (this.U[at][ue + 1] = this.U[at][ue]),
+ (this.U[at][ue] = je);
+ ue++;
+ }
+ (K = 0), I--;
+ }
+ break;
+ }
+ }
+ var xt = { U: this.U, V: this.V, S: this.s };
+ return xt;
+ }),
+ (n.hypot = function (i, a) {
+ var s = void 0;
+ return (
+ Math.abs(i) > Math.abs(a)
+ ? ((s = a / i), (s = Math.abs(i) * Math.sqrt(1 + s * s)))
+ : a != 0
+ ? ((s = i / a), (s = Math.abs(a) * Math.sqrt(1 + s * s)))
+ : (s = 0),
+ s
+ );
+ }),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = (function () {
+ function s(l, u) {
+ for (var h = 0; h < u.length; h++) {
+ var f = u[h];
+ (f.enumerable = f.enumerable || !1),
+ (f.configurable = !0),
+ 'value' in f && (f.writable = !0),
+ Object.defineProperty(l, f.key, f);
+ }
+ }
+ return (
+ o(s, 'defineProperties'),
+ function (l, u, h) {
+ return u && s(l.prototype, u), h && s(l, h), l;
+ }
+ );
+ })();
+ function i(s, l) {
+ if (!(s instanceof l)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(i, '_classCallCheck');
+ var a = (function () {
+ function s(l, u) {
+ var h = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1,
+ f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1,
+ d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1;
+ i(this, s),
+ (this.sequence1 = l),
+ (this.sequence2 = u),
+ (this.match_score = h),
+ (this.mismatch_penalty = f),
+ (this.gap_penalty = d),
+ (this.iMax = l.length + 1),
+ (this.jMax = u.length + 1),
+ (this.grid = new Array(this.iMax));
+ for (var p = 0; p < this.iMax; p++) {
+ this.grid[p] = new Array(this.jMax);
+ for (var m = 0; m < this.jMax; m++) this.grid[p][m] = 0;
+ }
+ this.tracebackGrid = new Array(this.iMax);
+ for (var g = 0; g < this.iMax; g++) {
+ this.tracebackGrid[g] = new Array(this.jMax);
+ for (var y = 0; y < this.jMax; y++) this.tracebackGrid[g][y] = [null, null, null];
+ }
+ (this.alignments = []), (this.score = -1), this.computeGrids();
+ }
+ return (
+ o(s, 'NeedlemanWunsch'),
+ n(s, [
+ {
+ key: 'getScore',
+ value: o(function () {
+ return this.score;
+ }, 'getScore')
+ },
+ {
+ key: 'getAlignments',
+ value: o(function () {
+ return this.alignments;
+ }, 'getAlignments')
+ },
+ {
+ key: 'computeGrids',
+ value: o(function () {
+ for (var u = 1; u < this.jMax; u++)
+ (this.grid[0][u] = this.grid[0][u - 1] + this.gap_penalty),
+ (this.tracebackGrid[0][u] = [!1, !1, !0]);
+ for (var h = 1; h < this.iMax; h++)
+ (this.grid[h][0] = this.grid[h - 1][0] + this.gap_penalty),
+ (this.tracebackGrid[h][0] = [!1, !0, !1]);
+ for (var f = 1; f < this.iMax; f++)
+ for (var d = 1; d < this.jMax; d++) {
+ var p = void 0;
+ this.sequence1[f - 1] === this.sequence2[d - 1]
+ ? (p = this.grid[f - 1][d - 1] + this.match_score)
+ : (p = this.grid[f - 1][d - 1] + this.mismatch_penalty);
+ var m = this.grid[f - 1][d] + this.gap_penalty,
+ g = this.grid[f][d - 1] + this.gap_penalty,
+ y = [p, m, g],
+ v = this.arrayAllMaxIndexes(y);
+ (this.grid[f][d] = y[v[0]]),
+ (this.tracebackGrid[f][d] = [
+ v.includes(0),
+ v.includes(1),
+ v.includes(2)
+ ]);
+ }
+ this.score = this.grid[this.iMax - 1][this.jMax - 1];
+ }, 'computeGrids')
+ },
+ {
+ key: 'alignmentTraceback',
+ value: o(function () {
+ var u = [];
+ for (
+ u.push({
+ pos: [this.sequence1.length, this.sequence2.length],
+ seq1: '',
+ seq2: ''
+ });
+ u[0];
+
+ ) {
+ var h = u[0],
+ f = this.tracebackGrid[h.pos[0]][h.pos[1]];
+ f[0] &&
+ u.push({
+ pos: [h.pos[0] - 1, h.pos[1] - 1],
+ seq1: this.sequence1[h.pos[0] - 1] + h.seq1,
+ seq2: this.sequence2[h.pos[1] - 1] + h.seq2
+ }),
+ f[1] &&
+ u.push({
+ pos: [h.pos[0] - 1, h.pos[1]],
+ seq1: this.sequence1[h.pos[0] - 1] + h.seq1,
+ seq2: '-' + h.seq2
+ }),
+ f[2] &&
+ u.push({
+ pos: [h.pos[0], h.pos[1] - 1],
+ seq1: '-' + h.seq1,
+ seq2: this.sequence2[h.pos[1] - 1] + h.seq2
+ }),
+ h.pos[0] === 0 &&
+ h.pos[1] === 0 &&
+ this.alignments.push({
+ sequence1: h.seq1,
+ sequence2: h.seq2
+ }),
+ u.shift();
+ }
+ return this.alignments;
+ }, 'alignmentTraceback')
+ },
+ {
+ key: 'getAllIndexes',
+ value: o(function (u, h) {
+ for (var f = [], d = -1; (d = u.indexOf(h, d + 1)) !== -1; ) f.push(d);
+ return f;
+ }, 'getAllIndexes')
+ },
+ {
+ key: 'arrayAllMaxIndexes',
+ value: o(function (u) {
+ return this.getAllIndexes(u, Math.max.apply(null, u));
+ }, 'arrayAllMaxIndexes')
+ }
+ ]),
+ s
+ );
+ })();
+ t.exports = a;
+ },
+ function (t, e, r) {
+ 'use strict';
+ var n = o(function () {}, 'layoutBase');
+ (n.FDLayout = r(18)),
+ (n.FDLayoutConstants = r(4)),
+ (n.FDLayoutEdge = r(19)),
+ (n.FDLayoutNode = r(20)),
+ (n.DimensionD = r(21)),
+ (n.HashMap = r(22)),
+ (n.HashSet = r(23)),
+ (n.IGeometry = r(8)),
+ (n.IMath = r(9)),
+ (n.Integer = r(10)),
+ (n.Point = r(12)),
+ (n.PointD = r(5)),
+ (n.RandomSeed = r(16)),
+ (n.RectangleD = r(13)),
+ (n.Transform = r(17)),
+ (n.UniqueIDGeneretor = r(14)),
+ (n.Quicksort = r(25)),
+ (n.LinkedList = r(11)),
+ (n.LGraphObject = r(2)),
+ (n.LGraph = r(6)),
+ (n.LEdge = r(1)),
+ (n.LGraphManager = r(7)),
+ (n.LNode = r(3)),
+ (n.Layout = r(15)),
+ (n.LayoutConstants = r(0)),
+ (n.NeedlemanWunsch = r(27)),
+ (n.Matrix = r(24)),
+ (n.SVD = r(26)),
+ (t.exports = n);
+ },
+ function (t, e, r) {
+ 'use strict';
+ function n() {
+ this.listeners = [];
+ }
+ o(n, 'Emitter');
+ var i = n.prototype;
+ (i.addListener = function (a, s) {
+ this.listeners.push({ event: a, callback: s });
+ }),
+ (i.removeListener = function (a, s) {
+ for (var l = this.listeners.length; l >= 0; l--) {
+ var u = this.listeners[l];
+ u.event === a && u.callback === s && this.listeners.splice(l, 1);
+ }
+ }),
+ (i.emit = function (a, s) {
+ for (var l = 0; l < this.listeners.length; l++) {
+ var u = this.listeners[l];
+ a === u.event && u.callback(s);
+ }
+ }),
+ (t.exports = n);
+ }
+ ]);
+ });
+ });
+ var ZB = gi((vb, QB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof vb == 'object' && typeof QB == 'object'
+ ? (QB.exports = r(KB()))
+ : typeof define == 'function' && define.amd
+ ? define(['layout-base'], r)
+ : typeof vb == 'object'
+ ? (vb.coseBase = r(KB()))
+ : (e.coseBase = r(e.layoutBase));
+ }, 'webpackUniversalModuleDefinition')(vb, function (t) {
+ return (() => {
+ 'use strict';
+ var e = {
+ 45: (a, s, l) => {
+ var u = {};
+ (u.layoutBase = l(551)),
+ (u.CoSEConstants = l(806)),
+ (u.CoSEEdge = l(767)),
+ (u.CoSEGraph = l(880)),
+ (u.CoSEGraphManager = l(578)),
+ (u.CoSELayout = l(765)),
+ (u.CoSENode = l(991)),
+ (u.ConstraintHandler = l(902)),
+ (a.exports = u);
+ },
+ 806: (a, s, l) => {
+ var u = l(551).FDLayoutConstants;
+ function h() {}
+ o(h, 'CoSEConstants');
+ for (var f in u) h[f] = u[f];
+ (h.DEFAULT_USE_MULTI_LEVEL_SCALING = !1),
+ (h.DEFAULT_RADIAL_SEPARATION = u.DEFAULT_EDGE_LENGTH),
+ (h.DEFAULT_COMPONENT_SEPERATION = 60),
+ (h.TILE = !0),
+ (h.TILING_PADDING_VERTICAL = 10),
+ (h.TILING_PADDING_HORIZONTAL = 10),
+ (h.TRANSFORM_ON_CONSTRAINT_HANDLING = !0),
+ (h.ENFORCE_CONSTRAINTS = !0),
+ (h.APPLY_LAYOUT = !0),
+ (h.RELAX_MOVEMENT_ON_CONSTRAINTS = !0),
+ (h.TREE_REDUCTION_ON_INCREMENTAL = !0),
+ (h.PURE_INCREMENTAL = h.DEFAULT_INCREMENTAL),
+ (a.exports = h);
+ },
+ 767: (a, s, l) => {
+ var u = l(551).FDLayoutEdge;
+ function h(d, p, m) {
+ u.call(this, d, p, m);
+ }
+ o(h, 'CoSEEdge'), (h.prototype = Object.create(u.prototype));
+ for (var f in u) h[f] = u[f];
+ a.exports = h;
+ },
+ 880: (a, s, l) => {
+ var u = l(551).LGraph;
+ function h(d, p, m) {
+ u.call(this, d, p, m);
+ }
+ o(h, 'CoSEGraph'), (h.prototype = Object.create(u.prototype));
+ for (var f in u) h[f] = u[f];
+ a.exports = h;
+ },
+ 578: (a, s, l) => {
+ var u = l(551).LGraphManager;
+ function h(d) {
+ u.call(this, d);
+ }
+ o(h, 'CoSEGraphManager'), (h.prototype = Object.create(u.prototype));
+ for (var f in u) h[f] = u[f];
+ a.exports = h;
+ },
+ 765: (a, s, l) => {
+ var u = l(551).FDLayout,
+ h = l(578),
+ f = l(880),
+ d = l(991),
+ p = l(767),
+ m = l(806),
+ g = l(902),
+ y = l(551).FDLayoutConstants,
+ v = l(551).LayoutConstants,
+ x = l(551).Point,
+ b = l(551).PointD,
+ w = l(551).DimensionD,
+ S = l(551).Layout,
+ T = l(551).Integer,
+ E = l(551).IGeometry,
+ _ = l(551).LGraph,
+ A = l(551).Transform,
+ L = l(551).LinkedList;
+ function M() {
+ u.call(this), (this.toBeTiled = {}), (this.constraints = {});
+ }
+ o(M, 'CoSELayout'), (M.prototype = Object.create(u.prototype));
+ for (var N in u) M[N] = u[N];
+ (M.prototype.newGraphManager = function () {
+ var k = new h(this);
+ return (this.graphManager = k), k;
+ }),
+ (M.prototype.newGraph = function (k) {
+ return new f(null, this.graphManager, k);
+ }),
+ (M.prototype.newNode = function (k) {
+ return new d(this.graphManager, k);
+ }),
+ (M.prototype.newEdge = function (k) {
+ return new p(null, null, k);
+ }),
+ (M.prototype.initParameters = function () {
+ u.prototype.initParameters.call(this, arguments),
+ this.isSubLayout ||
+ (m.DEFAULT_EDGE_LENGTH < 10
+ ? (this.idealEdgeLength = 10)
+ : (this.idealEdgeLength = m.DEFAULT_EDGE_LENGTH),
+ (this.useSmartIdealEdgeLengthCalculation =
+ m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION),
+ (this.gravityConstant = y.DEFAULT_GRAVITY_STRENGTH),
+ (this.compoundGravityConstant = y.DEFAULT_COMPOUND_GRAVITY_STRENGTH),
+ (this.gravityRangeFactor = y.DEFAULT_GRAVITY_RANGE_FACTOR),
+ (this.compoundGravityRangeFactor = y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR),
+ (this.prunedNodesAll = []),
+ (this.growTreeIterations = 0),
+ (this.afterGrowthIterations = 0),
+ (this.isTreeGrowing = !1),
+ (this.isGrowthFinished = !1));
+ }),
+ (M.prototype.initSpringEmbedder = function () {
+ u.prototype.initSpringEmbedder.call(this),
+ (this.coolingCycle = 0),
+ (this.maxCoolingCycle = this.maxIterations / y.CONVERGENCE_CHECK_PERIOD),
+ (this.finalTemperature = 0.04),
+ (this.coolingAdjuster = 1);
+ }),
+ (M.prototype.layout = function () {
+ var k = v.DEFAULT_CREATE_BENDS_AS_NEEDED;
+ return (
+ k && (this.createBendpoints(), this.graphManager.resetAllEdges()),
+ (this.level = 0),
+ this.classicLayout()
+ );
+ }),
+ (M.prototype.classicLayout = function () {
+ if (
+ ((this.nodesWithGravity = this.calculateNodesToApplyGravitationTo()),
+ this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),
+ this.calcNoOfChildrenForAllNodes(),
+ this.graphManager.calcLowestCommonAncestors(),
+ this.graphManager.calcInclusionTreeDepths(),
+ this.graphManager.getRoot().calcEstimatedSize(),
+ this.calcIdealEdgeLengths(),
+ this.incremental)
+ ) {
+ if (m.TREE_REDUCTION_ON_INCREMENTAL) {
+ this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation();
+ var I = new Set(this.getAllNodes()),
+ C = this.nodesWithGravity.filter(function (P) {
+ return I.has(P);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(C);
+ }
+ } else {
+ var k = this.getFlatForest();
+ if (k.length > 0) this.positionNodesRadially(k);
+ else {
+ this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation();
+ var I = new Set(this.getAllNodes()),
+ C = this.nodesWithGravity.filter(function (O) {
+ return I.has(O);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(C),
+ this.positionNodesRandomly();
+ }
+ }
+ return (
+ Object.keys(this.constraints).length > 0 &&
+ (g.handleConstraints(this), this.initConstraintVariables()),
+ this.initSpringEmbedder(),
+ m.APPLY_LAYOUT && this.runSpringEmbedder(),
+ !0
+ );
+ }),
+ (M.prototype.tick = function () {
+ if (
+ (this.totalIterations++,
+ this.totalIterations === this.maxIterations &&
+ !this.isTreeGrowing &&
+ !this.isGrowthFinished)
+ )
+ if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0;
+ else return !0;
+ if (
+ this.totalIterations % y.CONVERGENCE_CHECK_PERIOD == 0 &&
+ !this.isTreeGrowing &&
+ !this.isGrowthFinished
+ ) {
+ if (this.isConverged())
+ if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0;
+ else return !0;
+ this.coolingCycle++,
+ this.layoutQuality == 0
+ ? (this.coolingAdjuster = this.coolingCycle)
+ : this.layoutQuality == 1 &&
+ (this.coolingAdjuster = this.coolingCycle / 3),
+ (this.coolingFactor = Math.max(
+ this.initialCoolingFactor -
+ (Math.pow(
+ this.coolingCycle,
+ Math.log(
+ 100 * (this.initialCoolingFactor - this.finalTemperature)
+ ) / Math.log(this.maxCoolingCycle)
+ ) /
+ 100) *
+ this.coolingAdjuster,
+ this.finalTemperature
+ )),
+ (this.animationPeriod = Math.ceil(
+ this.initialAnimationPeriod * Math.sqrt(this.coolingFactor)
+ ));
+ }
+ if (this.isTreeGrowing) {
+ if (this.growTreeIterations % 10 == 0)
+ if (this.prunedNodesAll.length > 0) {
+ this.graphManager.updateBounds(),
+ this.updateGrid(),
+ this.growTree(this.prunedNodesAll),
+ this.graphManager.resetAllNodesToApplyGravitation();
+ var k = new Set(this.getAllNodes()),
+ I = this.nodesWithGravity.filter(function (D) {
+ return k.has(D);
+ });
+ this.graphManager.setAllNodesToApplyGravitation(I),
+ this.graphManager.updateBounds(),
+ this.updateGrid(),
+ m.PURE_INCREMENTAL
+ ? (this.coolingFactor =
+ y.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2)
+ : (this.coolingFactor = y.DEFAULT_COOLING_FACTOR_INCREMENTAL);
+ } else (this.isTreeGrowing = !1), (this.isGrowthFinished = !0);
+ this.growTreeIterations++;
+ }
+ if (this.isGrowthFinished) {
+ if (this.isConverged()) return !0;
+ this.afterGrowthIterations % 10 == 0 &&
+ (this.graphManager.updateBounds(), this.updateGrid()),
+ m.PURE_INCREMENTAL
+ ? (this.coolingFactor =
+ (y.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2) *
+ ((100 - this.afterGrowthIterations) / 100))
+ : (this.coolingFactor =
+ y.DEFAULT_COOLING_FACTOR_INCREMENTAL *
+ ((100 - this.afterGrowthIterations) / 100)),
+ this.afterGrowthIterations++;
+ }
+ var C = !this.isTreeGrowing && !this.isGrowthFinished,
+ O =
+ (this.growTreeIterations % 10 == 1 && this.isTreeGrowing) ||
+ (this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished);
+ return (
+ (this.totalDisplacement = 0),
+ this.graphManager.updateBounds(),
+ this.calcSpringForces(),
+ this.calcRepulsionForces(C, O),
+ this.calcGravitationalForces(),
+ this.moveNodes(),
+ this.animate(),
+ !1
+ );
+ }),
+ (M.prototype.getPositionsData = function () {
+ for (var k = this.graphManager.getAllNodes(), I = {}, C = 0; C < k.length; C++) {
+ var O = k[C].rect,
+ D = k[C].id;
+ I[D] = {
+ id: D,
+ x: O.getCenterX(),
+ y: O.getCenterY(),
+ w: O.width,
+ h: O.height
+ };
+ }
+ return I;
+ }),
+ (M.prototype.runSpringEmbedder = function () {
+ (this.initialAnimationPeriod = 25),
+ (this.animationPeriod = this.initialAnimationPeriod);
+ var k = !1;
+ if (y.ANIMATE === 'during') this.emit('layoutstarted');
+ else {
+ for (; !k; ) k = this.tick();
+ this.graphManager.updateBounds();
+ }
+ }),
+ (M.prototype.moveNodes = function () {
+ for (var k = this.getAllNodes(), I, C = 0; C < k.length; C++)
+ (I = k[C]), I.calculateDisplacement();
+ Object.keys(this.constraints).length > 0 && this.updateDisplacements();
+ for (var C = 0; C < k.length; C++) (I = k[C]), I.move();
+ }),
+ (M.prototype.initConstraintVariables = function () {
+ var k = this;
+ (this.idToNodeMap = new Map()), (this.fixedNodeSet = new Set());
+ for (var I = this.graphManager.getAllNodes(), C = 0; C < I.length; C++) {
+ var O = I[C];
+ this.idToNodeMap.set(O.id, O);
+ }
+ var D = o(function J(Z) {
+ for (var H = Z.getChild().getNodes(), q, K = 0, se = 0; se < H.length; se++)
+ (q = H[se]),
+ q.getChild() == null
+ ? k.fixedNodeSet.has(q.id) && (K += 100)
+ : (K += J(q));
+ return K;
+ }, 'calculateCompoundWeight');
+ if (this.constraints.fixedNodeConstraint) {
+ this.constraints.fixedNodeConstraint.forEach(function (H) {
+ k.fixedNodeSet.add(H.nodeId);
+ });
+ for (var I = this.graphManager.getAllNodes(), O, C = 0; C < I.length; C++)
+ if (((O = I[C]), O.getChild() != null)) {
+ var P = D(O);
+ P > 0 && (O.fixedNodeWeight = P);
+ }
+ }
+ if (this.constraints.relativePlacementConstraint) {
+ var F = new Map(),
+ B = new Map();
+ if (
+ ((this.dummyToNodeForVerticalAlignment = new Map()),
+ (this.dummyToNodeForHorizontalAlignment = new Map()),
+ (this.fixedNodesOnHorizontal = new Set()),
+ (this.fixedNodesOnVertical = new Set()),
+ this.fixedNodeSet.forEach(function (J) {
+ k.fixedNodesOnHorizontal.add(J), k.fixedNodesOnVertical.add(J);
+ }),
+ this.constraints.alignmentConstraint)
+ ) {
+ if (this.constraints.alignmentConstraint.vertical)
+ for (
+ var $ = this.constraints.alignmentConstraint.vertical, C = 0;
+ C < $.length;
+ C++
+ )
+ this.dummyToNodeForVerticalAlignment.set('dummy' + C, []),
+ $[C].forEach(function (Z) {
+ F.set(Z, 'dummy' + C),
+ k.dummyToNodeForVerticalAlignment
+ .get('dummy' + C)
+ .push(Z),
+ k.fixedNodeSet.has(Z) &&
+ k.fixedNodesOnHorizontal.add('dummy' + C);
+ });
+ if (this.constraints.alignmentConstraint.horizontal)
+ for (
+ var z = this.constraints.alignmentConstraint.horizontal, C = 0;
+ C < z.length;
+ C++
+ )
+ this.dummyToNodeForHorizontalAlignment.set('dummy' + C, []),
+ z[C].forEach(function (Z) {
+ B.set(Z, 'dummy' + C),
+ k.dummyToNodeForHorizontalAlignment
+ .get('dummy' + C)
+ .push(Z),
+ k.fixedNodeSet.has(Z) &&
+ k.fixedNodesOnVertical.add('dummy' + C);
+ });
+ }
+ if (m.RELAX_MOVEMENT_ON_CONSTRAINTS)
+ (this.shuffle = function (J) {
+ var Z, H, q;
+ for (q = J.length - 1; q >= (2 * J.length) / 3; q--)
+ (Z = Math.floor(Math.random() * (q + 1))),
+ (H = J[q]),
+ (J[q] = J[Z]),
+ (J[Z] = H);
+ return J;
+ }),
+ (this.nodesInRelativeHorizontal = []),
+ (this.nodesInRelativeVertical = []),
+ (this.nodeToRelativeConstraintMapHorizontal = new Map()),
+ (this.nodeToRelativeConstraintMapVertical = new Map()),
+ (this.nodeToTempPositionMapHorizontal = new Map()),
+ (this.nodeToTempPositionMapVertical = new Map()),
+ this.constraints.relativePlacementConstraint.forEach(function (J) {
+ if (J.left) {
+ var Z = F.has(J.left) ? F.get(J.left) : J.left,
+ H = F.has(J.right) ? F.get(J.right) : J.right;
+ k.nodesInRelativeHorizontal.includes(Z) ||
+ (k.nodesInRelativeHorizontal.push(Z),
+ k.nodeToRelativeConstraintMapHorizontal.set(Z, []),
+ k.dummyToNodeForVerticalAlignment.has(Z)
+ ? k.nodeToTempPositionMapHorizontal.set(
+ Z,
+ k.idToNodeMap
+ .get(
+ k.dummyToNodeForVerticalAlignment.get(
+ Z
+ )[0]
+ )
+ .getCenterX()
+ )
+ : k.nodeToTempPositionMapHorizontal.set(
+ Z,
+ k.idToNodeMap.get(Z).getCenterX()
+ )),
+ k.nodesInRelativeHorizontal.includes(H) ||
+ (k.nodesInRelativeHorizontal.push(H),
+ k.nodeToRelativeConstraintMapHorizontal.set(H, []),
+ k.dummyToNodeForVerticalAlignment.has(H)
+ ? k.nodeToTempPositionMapHorizontal.set(
+ H,
+ k.idToNodeMap
+ .get(
+ k.dummyToNodeForVerticalAlignment.get(
+ H
+ )[0]
+ )
+ .getCenterX()
+ )
+ : k.nodeToTempPositionMapHorizontal.set(
+ H,
+ k.idToNodeMap.get(H).getCenterX()
+ )),
+ k.nodeToRelativeConstraintMapHorizontal
+ .get(Z)
+ .push({ right: H, gap: J.gap }),
+ k.nodeToRelativeConstraintMapHorizontal
+ .get(H)
+ .push({ left: Z, gap: J.gap });
+ } else {
+ var q = B.has(J.top) ? B.get(J.top) : J.top,
+ K = B.has(J.bottom) ? B.get(J.bottom) : J.bottom;
+ k.nodesInRelativeVertical.includes(q) ||
+ (k.nodesInRelativeVertical.push(q),
+ k.nodeToRelativeConstraintMapVertical.set(q, []),
+ k.dummyToNodeForHorizontalAlignment.has(q)
+ ? k.nodeToTempPositionMapVertical.set(
+ q,
+ k.idToNodeMap
+ .get(
+ k.dummyToNodeForHorizontalAlignment.get(
+ q
+ )[0]
+ )
+ .getCenterY()
+ )
+ : k.nodeToTempPositionMapVertical.set(
+ q,
+ k.idToNodeMap.get(q).getCenterY()
+ )),
+ k.nodesInRelativeVertical.includes(K) ||
+ (k.nodesInRelativeVertical.push(K),
+ k.nodeToRelativeConstraintMapVertical.set(K, []),
+ k.dummyToNodeForHorizontalAlignment.has(K)
+ ? k.nodeToTempPositionMapVertical.set(
+ K,
+ k.idToNodeMap
+ .get(
+ k.dummyToNodeForHorizontalAlignment.get(
+ K
+ )[0]
+ )
+ .getCenterY()
+ )
+ : k.nodeToTempPositionMapVertical.set(
+ K,
+ k.idToNodeMap.get(K).getCenterY()
+ )),
+ k.nodeToRelativeConstraintMapVertical
+ .get(q)
+ .push({ bottom: K, gap: J.gap }),
+ k.nodeToRelativeConstraintMapVertical
+ .get(K)
+ .push({ top: q, gap: J.gap });
+ }
+ });
+ else {
+ var Y = new Map(),
+ Q = new Map();
+ this.constraints.relativePlacementConstraint.forEach(function (J) {
+ if (J.left) {
+ var Z = F.has(J.left) ? F.get(J.left) : J.left,
+ H = F.has(J.right) ? F.get(J.right) : J.right;
+ Y.has(Z) ? Y.get(Z).push(H) : Y.set(Z, [H]),
+ Y.has(H) ? Y.get(H).push(Z) : Y.set(H, [Z]);
+ } else {
+ var q = B.has(J.top) ? B.get(J.top) : J.top,
+ K = B.has(J.bottom) ? B.get(J.bottom) : J.bottom;
+ Q.has(q) ? Q.get(q).push(K) : Q.set(q, [K]),
+ Q.has(K) ? Q.get(K).push(q) : Q.set(K, [q]);
+ }
+ });
+ var X = o(function (Z, H) {
+ var q = [],
+ K = [],
+ se = new L(),
+ ce = new Set(),
+ ue = 0;
+ return (
+ Z.forEach(function (te, De) {
+ if (!ce.has(De)) {
+ (q[ue] = []), (K[ue] = !1);
+ var oe = De;
+ for (
+ se.push(oe), ce.add(oe), q[ue].push(oe);
+ se.length != 0;
+
+ ) {
+ (oe = se.shift()), H.has(oe) && (K[ue] = !0);
+ var ke = Z.get(oe);
+ ke.forEach(function (Ie) {
+ ce.has(Ie) ||
+ (se.push(Ie), ce.add(Ie), q[ue].push(Ie));
+ });
+ }
+ ue++;
+ }
+ }),
+ { components: q, isFixed: K }
+ );
+ }, 'constructComponents'),
+ ie = X(Y, k.fixedNodesOnHorizontal);
+ (this.componentsOnHorizontal = ie.components),
+ (this.fixedComponentsOnHorizontal = ie.isFixed);
+ var j = X(Q, k.fixedNodesOnVertical);
+ (this.componentsOnVertical = j.components),
+ (this.fixedComponentsOnVertical = j.isFixed);
+ }
+ }
+ }),
+ (M.prototype.updateDisplacements = function () {
+ var k = this;
+ if (
+ (this.constraints.fixedNodeConstraint &&
+ this.constraints.fixedNodeConstraint.forEach(function (j) {
+ var J = k.idToNodeMap.get(j.nodeId);
+ (J.displacementX = 0), (J.displacementY = 0);
+ }),
+ this.constraints.alignmentConstraint)
+ ) {
+ if (this.constraints.alignmentConstraint.vertical)
+ for (
+ var I = this.constraints.alignmentConstraint.vertical, C = 0;
+ C < I.length;
+ C++
+ ) {
+ for (var O = 0, D = 0; D < I[C].length; D++) {
+ if (this.fixedNodeSet.has(I[C][D])) {
+ O = 0;
+ break;
+ }
+ O += this.idToNodeMap.get(I[C][D]).displacementX;
+ }
+ for (var P = O / I[C].length, D = 0; D < I[C].length; D++)
+ this.idToNodeMap.get(I[C][D]).displacementX = P;
+ }
+ if (this.constraints.alignmentConstraint.horizontal)
+ for (
+ var F = this.constraints.alignmentConstraint.horizontal, C = 0;
+ C < F.length;
+ C++
+ ) {
+ for (var B = 0, D = 0; D < F[C].length; D++) {
+ if (this.fixedNodeSet.has(F[C][D])) {
+ B = 0;
+ break;
+ }
+ B += this.idToNodeMap.get(F[C][D]).displacementY;
+ }
+ for (var $ = B / F[C].length, D = 0; D < F[C].length; D++)
+ this.idToNodeMap.get(F[C][D]).displacementY = $;
+ }
+ }
+ if (this.constraints.relativePlacementConstraint)
+ if (m.RELAX_MOVEMENT_ON_CONSTRAINTS)
+ this.totalIterations % 10 == 0 &&
+ (this.shuffle(this.nodesInRelativeHorizontal),
+ this.shuffle(this.nodesInRelativeVertical)),
+ this.nodesInRelativeHorizontal.forEach(function (j) {
+ if (!k.fixedNodesOnHorizontal.has(j)) {
+ var J = 0;
+ k.dummyToNodeForVerticalAlignment.has(j)
+ ? (J = k.idToNodeMap.get(
+ k.dummyToNodeForVerticalAlignment.get(j)[0]
+ ).displacementX)
+ : (J = k.idToNodeMap.get(j).displacementX),
+ k.nodeToRelativeConstraintMapHorizontal
+ .get(j)
+ .forEach(function (Z) {
+ if (Z.right) {
+ var H =
+ k.nodeToTempPositionMapHorizontal.get(
+ Z.right
+ ) -
+ k.nodeToTempPositionMapHorizontal.get(j) -
+ J;
+ H < Z.gap && (J -= Z.gap - H);
+ } else {
+ var H =
+ k.nodeToTempPositionMapHorizontal.get(j) -
+ k.nodeToTempPositionMapHorizontal.get(
+ Z.left
+ ) +
+ J;
+ H < Z.gap && (J += Z.gap - H);
+ }
+ }),
+ k.nodeToTempPositionMapHorizontal.set(
+ j,
+ k.nodeToTempPositionMapHorizontal.get(j) + J
+ ),
+ k.dummyToNodeForVerticalAlignment.has(j)
+ ? k.dummyToNodeForVerticalAlignment
+ .get(j)
+ .forEach(function (Z) {
+ k.idToNodeMap.get(Z).displacementX = J;
+ })
+ : (k.idToNodeMap.get(j).displacementX = J);
+ }
+ }),
+ this.nodesInRelativeVertical.forEach(function (j) {
+ if (!k.fixedNodesOnHorizontal.has(j)) {
+ var J = 0;
+ k.dummyToNodeForHorizontalAlignment.has(j)
+ ? (J = k.idToNodeMap.get(
+ k.dummyToNodeForHorizontalAlignment.get(j)[0]
+ ).displacementY)
+ : (J = k.idToNodeMap.get(j).displacementY),
+ k.nodeToRelativeConstraintMapVertical
+ .get(j)
+ .forEach(function (Z) {
+ if (Z.bottom) {
+ var H =
+ k.nodeToTempPositionMapVertical.get(
+ Z.bottom
+ ) -
+ k.nodeToTempPositionMapVertical.get(j) -
+ J;
+ H < Z.gap && (J -= Z.gap - H);
+ } else {
+ var H =
+ k.nodeToTempPositionMapVertical.get(j) -
+ k.nodeToTempPositionMapVertical.get(Z.top) +
+ J;
+ H < Z.gap && (J += Z.gap - H);
+ }
+ }),
+ k.nodeToTempPositionMapVertical.set(
+ j,
+ k.nodeToTempPositionMapVertical.get(j) + J
+ ),
+ k.dummyToNodeForHorizontalAlignment.has(j)
+ ? k.dummyToNodeForHorizontalAlignment
+ .get(j)
+ .forEach(function (Z) {
+ k.idToNodeMap.get(Z).displacementY = J;
+ })
+ : (k.idToNodeMap.get(j).displacementY = J);
+ }
+ });
+ else {
+ for (var C = 0; C < this.componentsOnHorizontal.length; C++) {
+ var z = this.componentsOnHorizontal[C];
+ if (this.fixedComponentsOnHorizontal[C])
+ for (var D = 0; D < z.length; D++)
+ this.dummyToNodeForVerticalAlignment.has(z[D])
+ ? this.dummyToNodeForVerticalAlignment
+ .get(z[D])
+ .forEach(function (Z) {
+ k.idToNodeMap.get(Z).displacementX = 0;
+ })
+ : (this.idToNodeMap.get(z[D]).displacementX = 0);
+ else {
+ for (var Y = 0, Q = 0, D = 0; D < z.length; D++)
+ if (this.dummyToNodeForVerticalAlignment.has(z[D])) {
+ var X = this.dummyToNodeForVerticalAlignment.get(z[D]);
+ (Y += X.length * this.idToNodeMap.get(X[0]).displacementX),
+ (Q += X.length);
+ } else (Y += this.idToNodeMap.get(z[D]).displacementX), Q++;
+ for (var ie = Y / Q, D = 0; D < z.length; D++)
+ this.dummyToNodeForVerticalAlignment.has(z[D])
+ ? this.dummyToNodeForVerticalAlignment
+ .get(z[D])
+ .forEach(function (Z) {
+ k.idToNodeMap.get(Z).displacementX = ie;
+ })
+ : (this.idToNodeMap.get(z[D]).displacementX = ie);
+ }
+ }
+ for (var C = 0; C < this.componentsOnVertical.length; C++) {
+ var z = this.componentsOnVertical[C];
+ if (this.fixedComponentsOnVertical[C])
+ for (var D = 0; D < z.length; D++)
+ this.dummyToNodeForHorizontalAlignment.has(z[D])
+ ? this.dummyToNodeForHorizontalAlignment
+ .get(z[D])
+ .forEach(function (H) {
+ k.idToNodeMap.get(H).displacementY = 0;
+ })
+ : (this.idToNodeMap.get(z[D]).displacementY = 0);
+ else {
+ for (var Y = 0, Q = 0, D = 0; D < z.length; D++)
+ if (this.dummyToNodeForHorizontalAlignment.has(z[D])) {
+ var X = this.dummyToNodeForHorizontalAlignment.get(z[D]);
+ (Y += X.length * this.idToNodeMap.get(X[0]).displacementY),
+ (Q += X.length);
+ } else (Y += this.idToNodeMap.get(z[D]).displacementY), Q++;
+ for (var ie = Y / Q, D = 0; D < z.length; D++)
+ this.dummyToNodeForHorizontalAlignment.has(z[D])
+ ? this.dummyToNodeForHorizontalAlignment
+ .get(z[D])
+ .forEach(function (se) {
+ k.idToNodeMap.get(se).displacementY = ie;
+ })
+ : (this.idToNodeMap.get(z[D]).displacementY = ie);
+ }
+ }
+ }
+ }),
+ (M.prototype.calculateNodesToApplyGravitationTo = function () {
+ var k = [],
+ I,
+ C = this.graphManager.getGraphs(),
+ O = C.length,
+ D;
+ for (D = 0; D < O; D++)
+ (I = C[D]), I.updateConnected(), I.isConnected || (k = k.concat(I.getNodes()));
+ return k;
+ }),
+ (M.prototype.createBendpoints = function () {
+ var k = [];
+ k = k.concat(this.graphManager.getAllEdges());
+ var I = new Set(),
+ C;
+ for (C = 0; C < k.length; C++) {
+ var O = k[C];
+ if (!I.has(O)) {
+ var D = O.getSource(),
+ P = O.getTarget();
+ if (D == P)
+ O.getBendpoints().push(new b()),
+ O.getBendpoints().push(new b()),
+ this.createDummyNodesForBendpoints(O),
+ I.add(O);
+ else {
+ var F = [];
+ if (
+ ((F = F.concat(D.getEdgeListToNode(P))),
+ (F = F.concat(P.getEdgeListToNode(D))),
+ !I.has(F[0]))
+ ) {
+ if (F.length > 1) {
+ var B;
+ for (B = 0; B < F.length; B++) {
+ var $ = F[B];
+ $.getBendpoints().push(new b()),
+ this.createDummyNodesForBendpoints($);
+ }
+ }
+ F.forEach(function (z) {
+ I.add(z);
+ });
+ }
+ }
+ }
+ if (I.size == k.length) break;
+ }
+ }),
+ (M.prototype.positionNodesRadially = function (k) {
+ for (
+ var I = new x(0, 0),
+ C = Math.ceil(Math.sqrt(k.length)),
+ O = 0,
+ D = 0,
+ P = 0,
+ F = new b(0, 0),
+ B = 0;
+ B < k.length;
+ B++
+ ) {
+ B % C == 0 &&
+ ((P = 0),
+ (D = O),
+ B != 0 && (D += m.DEFAULT_COMPONENT_SEPERATION),
+ (O = 0));
+ var $ = k[B],
+ z = S.findCenterOfTree($);
+ (I.x = P),
+ (I.y = D),
+ (F = M.radialLayout($, z, I)),
+ F.y > O && (O = Math.floor(F.y)),
+ (P = Math.floor(F.x + m.DEFAULT_COMPONENT_SEPERATION));
+ }
+ this.transform(new b(v.WORLD_CENTER_X - F.x / 2, v.WORLD_CENTER_Y - F.y / 2));
+ }),
+ (M.radialLayout = function (k, I, C) {
+ var O = Math.max(this.maxDiagonalInTree(k), m.DEFAULT_RADIAL_SEPARATION);
+ M.branchRadialLayout(I, null, 0, 359, 0, O);
+ var D = _.calculateBounds(k),
+ P = new A();
+ P.setDeviceOrgX(D.getMinX()),
+ P.setDeviceOrgY(D.getMinY()),
+ P.setWorldOrgX(C.x),
+ P.setWorldOrgY(C.y);
+ for (var F = 0; F < k.length; F++) {
+ var B = k[F];
+ B.transform(P);
+ }
+ var $ = new b(D.getMaxX(), D.getMaxY());
+ return P.inverseTransformPoint($);
+ }),
+ (M.branchRadialLayout = function (k, I, C, O, D, P) {
+ var F = (O - C + 1) / 2;
+ F < 0 && (F += 180);
+ var B = (F + C) % 360,
+ $ = (B * E.TWO_PI) / 360,
+ z = Math.cos($),
+ Y = D * Math.cos($),
+ Q = D * Math.sin($);
+ k.setCenter(Y, Q);
+ var X = [];
+ X = X.concat(k.getEdges());
+ var ie = X.length;
+ I != null && ie--;
+ for (var j = 0, J = X.length, Z, H = k.getEdgesBetween(I); H.length > 1; ) {
+ var q = H[0];
+ H.splice(0, 1);
+ var K = X.indexOf(q);
+ K >= 0 && X.splice(K, 1), J--, ie--;
+ }
+ I != null ? (Z = (X.indexOf(H[0]) + 1) % J) : (Z = 0);
+ for (var se = Math.abs(O - C) / ie, ce = Z; j != ie; ce = ++ce % J) {
+ var ue = X[ce].getOtherEnd(k);
+ if (ue != I) {
+ var te = (C + j * se) % 360,
+ De = (te + se) % 360;
+ M.branchRadialLayout(ue, k, te, De, D + P, P), j++;
+ }
+ }
+ }),
+ (M.maxDiagonalInTree = function (k) {
+ for (var I = T.MIN_VALUE, C = 0; C < k.length; C++) {
+ var O = k[C],
+ D = O.getDiagonal();
+ D > I && (I = D);
+ }
+ return I;
+ }),
+ (M.prototype.calcRepulsionRange = function () {
+ return 2 * (this.level + 1) * this.idealEdgeLength;
+ }),
+ (M.prototype.groupZeroDegreeMembers = function () {
+ var k = this,
+ I = {};
+ (this.memberGroups = {}), (this.idToDummyNode = {});
+ for (var C = [], O = this.graphManager.getAllNodes(), D = 0; D < O.length; D++) {
+ var P = O[D],
+ F = P.getParent();
+ this.getNodeDegreeWithChildren(P) === 0 &&
+ (F.id == null || !this.getToBeTiled(F)) &&
+ C.push(P);
+ }
+ for (var D = 0; D < C.length; D++) {
+ var P = C[D],
+ B = P.getParent().id;
+ typeof I[B] > 'u' && (I[B] = []), (I[B] = I[B].concat(P));
+ }
+ Object.keys(I).forEach(function ($) {
+ if (I[$].length > 1) {
+ var z = 'DummyCompound_' + $;
+ k.memberGroups[z] = I[$];
+ var Y = I[$][0].getParent(),
+ Q = new d(k.graphManager);
+ (Q.id = z),
+ (Q.paddingLeft = Y.paddingLeft || 0),
+ (Q.paddingRight = Y.paddingRight || 0),
+ (Q.paddingBottom = Y.paddingBottom || 0),
+ (Q.paddingTop = Y.paddingTop || 0),
+ (k.idToDummyNode[z] = Q);
+ var X = k.getGraphManager().add(k.newGraph(), Q),
+ ie = Y.getChild();
+ ie.add(Q);
+ for (var j = 0; j < I[$].length; j++) {
+ var J = I[$][j];
+ ie.remove(J), X.add(J);
+ }
+ }
+ });
+ }),
+ (M.prototype.clearCompounds = function () {
+ var k = {},
+ I = {};
+ this.performDFSOnCompounds();
+ for (var C = 0; C < this.compoundOrder.length; C++)
+ (I[this.compoundOrder[C].id] = this.compoundOrder[C]),
+ (k[this.compoundOrder[C].id] = [].concat(
+ this.compoundOrder[C].getChild().getNodes()
+ )),
+ this.graphManager.remove(this.compoundOrder[C].getChild()),
+ (this.compoundOrder[C].child = null);
+ this.graphManager.resetAllNodes(), this.tileCompoundMembers(k, I);
+ }),
+ (M.prototype.clearZeroDegreeMembers = function () {
+ var k = this,
+ I = (this.tiledZeroDegreePack = []);
+ Object.keys(this.memberGroups).forEach(function (C) {
+ var O = k.idToDummyNode[C];
+ if (
+ ((I[C] = k.tileNodes(k.memberGroups[C], O.paddingLeft + O.paddingRight)),
+ (O.rect.width = I[C].width),
+ (O.rect.height = I[C].height),
+ O.setCenter(I[C].centerX, I[C].centerY),
+ (O.labelMarginLeft = 0),
+ (O.labelMarginTop = 0),
+ m.NODE_DIMENSIONS_INCLUDE_LABELS)
+ ) {
+ var D = O.rect.width,
+ P = O.rect.height;
+ O.labelWidth &&
+ (O.labelPosHorizontal == 'left'
+ ? ((O.rect.x -= O.labelWidth),
+ O.setWidth(D + O.labelWidth),
+ (O.labelMarginLeft = O.labelWidth))
+ : O.labelPosHorizontal == 'center' && O.labelWidth > D
+ ? ((O.rect.x -= (O.labelWidth - D) / 2),
+ O.setWidth(O.labelWidth),
+ (O.labelMarginLeft = (O.labelWidth - D) / 2))
+ : O.labelPosHorizontal == 'right' && O.setWidth(D + O.labelWidth)),
+ O.labelHeight &&
+ (O.labelPosVertical == 'top'
+ ? ((O.rect.y -= O.labelHeight),
+ O.setHeight(P + O.labelHeight),
+ (O.labelMarginTop = O.labelHeight))
+ : O.labelPosVertical == 'center' && O.labelHeight > P
+ ? ((O.rect.y -= (O.labelHeight - P) / 2),
+ O.setHeight(O.labelHeight),
+ (O.labelMarginTop = (O.labelHeight - P) / 2))
+ : O.labelPosVertical == 'bottom' &&
+ O.setHeight(P + O.labelHeight));
+ }
+ });
+ }),
+ (M.prototype.repopulateCompounds = function () {
+ for (var k = this.compoundOrder.length - 1; k >= 0; k--) {
+ var I = this.compoundOrder[k],
+ C = I.id,
+ O = I.paddingLeft,
+ D = I.paddingTop,
+ P = I.labelMarginLeft,
+ F = I.labelMarginTop;
+ this.adjustLocations(this.tiledMemberPack[C], I.rect.x, I.rect.y, O, D, P, F);
+ }
+ }),
+ (M.prototype.repopulateZeroDegreeMembers = function () {
+ var k = this,
+ I = this.tiledZeroDegreePack;
+ Object.keys(I).forEach(function (C) {
+ var O = k.idToDummyNode[C],
+ D = O.paddingLeft,
+ P = O.paddingTop,
+ F = O.labelMarginLeft,
+ B = O.labelMarginTop;
+ k.adjustLocations(I[C], O.rect.x, O.rect.y, D, P, F, B);
+ });
+ }),
+ (M.prototype.getToBeTiled = function (k) {
+ var I = k.id;
+ if (this.toBeTiled[I] != null) return this.toBeTiled[I];
+ var C = k.getChild();
+ if (C == null) return (this.toBeTiled[I] = !1), !1;
+ for (var O = C.getNodes(), D = 0; D < O.length; D++) {
+ var P = O[D];
+ if (this.getNodeDegree(P) > 0) return (this.toBeTiled[I] = !1), !1;
+ if (P.getChild() == null) {
+ this.toBeTiled[P.id] = !1;
+ continue;
+ }
+ if (!this.getToBeTiled(P)) return (this.toBeTiled[I] = !1), !1;
+ }
+ return (this.toBeTiled[I] = !0), !0;
+ }),
+ (M.prototype.getNodeDegree = function (k) {
+ for (var I = k.id, C = k.getEdges(), O = 0, D = 0; D < C.length; D++) {
+ var P = C[D];
+ P.getSource().id !== P.getTarget().id && (O = O + 1);
+ }
+ return O;
+ }),
+ (M.prototype.getNodeDegreeWithChildren = function (k) {
+ var I = this.getNodeDegree(k);
+ if (k.getChild() == null) return I;
+ for (var C = k.getChild().getNodes(), O = 0; O < C.length; O++) {
+ var D = C[O];
+ I += this.getNodeDegreeWithChildren(D);
+ }
+ return I;
+ }),
+ (M.prototype.performDFSOnCompounds = function () {
+ (this.compoundOrder = []),
+ this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes());
+ }),
+ (M.prototype.fillCompexOrderByDFS = function (k) {
+ for (var I = 0; I < k.length; I++) {
+ var C = k[I];
+ C.getChild() != null && this.fillCompexOrderByDFS(C.getChild().getNodes()),
+ this.getToBeTiled(C) && this.compoundOrder.push(C);
+ }
+ }),
+ (M.prototype.adjustLocations = function (k, I, C, O, D, P, F) {
+ (I += O + P), (C += D + F);
+ for (var B = I, $ = 0; $ < k.rows.length; $++) {
+ var z = k.rows[$];
+ I = B;
+ for (var Y = 0, Q = 0; Q < z.length; Q++) {
+ var X = z[Q];
+ (X.rect.x = I),
+ (X.rect.y = C),
+ (I += X.rect.width + k.horizontalPadding),
+ X.rect.height > Y && (Y = X.rect.height);
+ }
+ C += Y + k.verticalPadding;
+ }
+ }),
+ (M.prototype.tileCompoundMembers = function (k, I) {
+ var C = this;
+ (this.tiledMemberPack = []),
+ Object.keys(k).forEach(function (O) {
+ var D = I[O];
+ if (
+ ((C.tiledMemberPack[O] = C.tileNodes(
+ k[O],
+ D.paddingLeft + D.paddingRight
+ )),
+ (D.rect.width = C.tiledMemberPack[O].width),
+ (D.rect.height = C.tiledMemberPack[O].height),
+ D.setCenter(C.tiledMemberPack[O].centerX, C.tiledMemberPack[O].centerY),
+ (D.labelMarginLeft = 0),
+ (D.labelMarginTop = 0),
+ m.NODE_DIMENSIONS_INCLUDE_LABELS)
+ ) {
+ var P = D.rect.width,
+ F = D.rect.height;
+ D.labelWidth &&
+ (D.labelPosHorizontal == 'left'
+ ? ((D.rect.x -= D.labelWidth),
+ D.setWidth(P + D.labelWidth),
+ (D.labelMarginLeft = D.labelWidth))
+ : D.labelPosHorizontal == 'center' && D.labelWidth > P
+ ? ((D.rect.x -= (D.labelWidth - P) / 2),
+ D.setWidth(D.labelWidth),
+ (D.labelMarginLeft = (D.labelWidth - P) / 2))
+ : D.labelPosHorizontal == 'right' &&
+ D.setWidth(P + D.labelWidth)),
+ D.labelHeight &&
+ (D.labelPosVertical == 'top'
+ ? ((D.rect.y -= D.labelHeight),
+ D.setHeight(F + D.labelHeight),
+ (D.labelMarginTop = D.labelHeight))
+ : D.labelPosVertical == 'center' && D.labelHeight > F
+ ? ((D.rect.y -= (D.labelHeight - F) / 2),
+ D.setHeight(D.labelHeight),
+ (D.labelMarginTop = (D.labelHeight - F) / 2))
+ : D.labelPosVertical == 'bottom' &&
+ D.setHeight(F + D.labelHeight));
+ }
+ });
+ }),
+ (M.prototype.tileNodes = function (k, I) {
+ var C = this.tileNodesByFavoringDim(k, I, !0),
+ O = this.tileNodesByFavoringDim(k, I, !1),
+ D = this.getOrgRatio(C),
+ P = this.getOrgRatio(O),
+ F;
+ return P < D ? (F = O) : (F = C), F;
+ }),
+ (M.prototype.getOrgRatio = function (k) {
+ var I = k.width,
+ C = k.height,
+ O = I / C;
+ return O < 1 && (O = 1 / O), O;
+ }),
+ (M.prototype.calcIdealRowWidth = function (k, I) {
+ var C = m.TILING_PADDING_VERTICAL,
+ O = m.TILING_PADDING_HORIZONTAL,
+ D = k.length,
+ P = 0,
+ F = 0,
+ B = 0;
+ k.forEach(function (j) {
+ (P += j.getWidth()),
+ (F += j.getHeight()),
+ j.getWidth() > B && (B = j.getWidth());
+ });
+ var $ = P / D,
+ z = F / D,
+ Y = Math.pow(C - O, 2) + 4 * ($ + O) * (z + C) * D,
+ Q = (O - C + Math.sqrt(Y)) / (2 * ($ + O)),
+ X;
+ I ? ((X = Math.ceil(Q)), X == Q && X++) : (X = Math.floor(Q));
+ var ie = X * ($ + O) - O;
+ return B > ie && (ie = B), (ie += O * 2), ie;
+ }),
+ (M.prototype.tileNodesByFavoringDim = function (k, I, C) {
+ var O = m.TILING_PADDING_VERTICAL,
+ D = m.TILING_PADDING_HORIZONTAL,
+ P = m.TILING_COMPARE_BY,
+ F = {
+ rows: [],
+ rowWidth: [],
+ rowHeight: [],
+ width: 0,
+ height: I,
+ verticalPadding: O,
+ horizontalPadding: D,
+ centerX: 0,
+ centerY: 0
+ };
+ P && (F.idealRowWidth = this.calcIdealRowWidth(k, C));
+ var B = o(function (J) {
+ return J.rect.width * J.rect.height;
+ }, 'getNodeArea'),
+ $ = o(function (J, Z) {
+ return B(Z) - B(J);
+ }, 'areaCompareFcn');
+ k.sort(function (j, J) {
+ var Z = $;
+ return F.idealRowWidth ? ((Z = P), Z(j.id, J.id)) : Z(j, J);
+ });
+ for (var z = 0, Y = 0, Q = 0; Q < k.length; Q++) {
+ var X = k[Q];
+ (z += X.getCenterX()), (Y += X.getCenterY());
+ }
+ (F.centerX = z / k.length), (F.centerY = Y / k.length);
+ for (var Q = 0; Q < k.length; Q++) {
+ var X = k[Q];
+ if (F.rows.length == 0) this.insertNodeToRow(F, X, 0, I);
+ else if (this.canAddHorizontal(F, X.rect.width, X.rect.height)) {
+ var ie = F.rows.length - 1;
+ F.idealRowWidth || (ie = this.getShortestRowIndex(F)),
+ this.insertNodeToRow(F, X, ie, I);
+ } else this.insertNodeToRow(F, X, F.rows.length, I);
+ this.shiftToLastRow(F);
+ }
+ return F;
+ }),
+ (M.prototype.insertNodeToRow = function (k, I, C, O) {
+ var D = O;
+ if (C == k.rows.length) {
+ var P = [];
+ k.rows.push(P), k.rowWidth.push(D), k.rowHeight.push(0);
+ }
+ var F = k.rowWidth[C] + I.rect.width;
+ k.rows[C].length > 0 && (F += k.horizontalPadding),
+ (k.rowWidth[C] = F),
+ k.width < F && (k.width = F);
+ var B = I.rect.height;
+ C > 0 && (B += k.verticalPadding);
+ var $ = 0;
+ B > k.rowHeight[C] &&
+ (($ = k.rowHeight[C]), (k.rowHeight[C] = B), ($ = k.rowHeight[C] - $)),
+ (k.height += $),
+ k.rows[C].push(I);
+ }),
+ (M.prototype.getShortestRowIndex = function (k) {
+ for (var I = -1, C = Number.MAX_VALUE, O = 0; O < k.rows.length; O++)
+ k.rowWidth[O] < C && ((I = O), (C = k.rowWidth[O]));
+ return I;
+ }),
+ (M.prototype.getLongestRowIndex = function (k) {
+ for (var I = -1, C = Number.MIN_VALUE, O = 0; O < k.rows.length; O++)
+ k.rowWidth[O] > C && ((I = O), (C = k.rowWidth[O]));
+ return I;
+ }),
+ (M.prototype.canAddHorizontal = function (k, I, C) {
+ if (k.idealRowWidth) {
+ var O = k.rows.length - 1,
+ D = k.rowWidth[O];
+ return D + I + k.horizontalPadding <= k.idealRowWidth;
+ }
+ var P = this.getShortestRowIndex(k);
+ if (P < 0) return !0;
+ var F = k.rowWidth[P];
+ if (F + k.horizontalPadding + I <= k.width) return !0;
+ var B = 0;
+ k.rowHeight[P] < C && P > 0 && (B = C + k.verticalPadding - k.rowHeight[P]);
+ var $;
+ k.width - F >= I + k.horizontalPadding
+ ? ($ = (k.height + B) / (F + I + k.horizontalPadding))
+ : ($ = (k.height + B) / k.width),
+ (B = C + k.verticalPadding);
+ var z;
+ return (
+ k.width < I ? (z = (k.height + B) / I) : (z = (k.height + B) / k.width),
+ z < 1 && (z = 1 / z),
+ $ < 1 && ($ = 1 / $),
+ $ < z
+ );
+ }),
+ (M.prototype.shiftToLastRow = function (k) {
+ var I = this.getLongestRowIndex(k),
+ C = k.rowWidth.length - 1,
+ O = k.rows[I],
+ D = O[O.length - 1],
+ P = D.width + k.horizontalPadding;
+ if (k.width - k.rowWidth[C] > P && I != C) {
+ O.splice(-1, 1),
+ k.rows[C].push(D),
+ (k.rowWidth[I] = k.rowWidth[I] - P),
+ (k.rowWidth[C] = k.rowWidth[C] + P),
+ (k.width = k.rowWidth[instance.getLongestRowIndex(k)]);
+ for (var F = Number.MIN_VALUE, B = 0; B < O.length; B++)
+ O[B].height > F && (F = O[B].height);
+ I > 0 && (F += k.verticalPadding);
+ var $ = k.rowHeight[I] + k.rowHeight[C];
+ (k.rowHeight[I] = F),
+ k.rowHeight[C] < D.height + k.verticalPadding &&
+ (k.rowHeight[C] = D.height + k.verticalPadding);
+ var z = k.rowHeight[I] + k.rowHeight[C];
+ (k.height += z - $), this.shiftToLastRow(k);
+ }
+ }),
+ (M.prototype.tilingPreLayout = function () {
+ m.TILE &&
+ (this.groupZeroDegreeMembers(),
+ this.clearCompounds(),
+ this.clearZeroDegreeMembers());
+ }),
+ (M.prototype.tilingPostLayout = function () {
+ m.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds());
+ }),
+ (M.prototype.reduceTrees = function () {
+ for (var k = [], I = !0, C; I; ) {
+ var O = this.graphManager.getAllNodes(),
+ D = [];
+ I = !1;
+ for (var P = 0; P < O.length; P++)
+ if (
+ ((C = O[P]),
+ C.getEdges().length == 1 &&
+ !C.getEdges()[0].isInterGraph &&
+ C.getChild() == null)
+ ) {
+ if (m.PURE_INCREMENTAL) {
+ var F = C.getEdges()[0].getOtherEnd(C),
+ B = new w(
+ C.getCenterX() - F.getCenterX(),
+ C.getCenterY() - F.getCenterY()
+ );
+ D.push([C, C.getEdges()[0], C.getOwner(), B]);
+ } else D.push([C, C.getEdges()[0], C.getOwner()]);
+ I = !0;
+ }
+ if (I == !0) {
+ for (var $ = [], z = 0; z < D.length; z++)
+ D[z][0].getEdges().length == 1 &&
+ ($.push(D[z]), D[z][0].getOwner().remove(D[z][0]));
+ k.push($),
+ this.graphManager.resetAllNodes(),
+ this.graphManager.resetAllEdges();
+ }
+ }
+ this.prunedNodesAll = k;
+ }),
+ (M.prototype.growTree = function (k) {
+ for (var I = k.length, C = k[I - 1], O, D = 0; D < C.length; D++)
+ (O = C[D]),
+ this.findPlaceforPrunedNode(O),
+ O[2].add(O[0]),
+ O[2].add(O[1], O[1].source, O[1].target);
+ k.splice(k.length - 1, 1),
+ this.graphManager.resetAllNodes(),
+ this.graphManager.resetAllEdges();
+ }),
+ (M.prototype.findPlaceforPrunedNode = function (k) {
+ var I,
+ C,
+ O = k[0];
+ if ((O == k[1].source ? (C = k[1].target) : (C = k[1].source), m.PURE_INCREMENTAL))
+ O.setCenter(
+ C.getCenterX() + k[3].getWidth(),
+ C.getCenterY() + k[3].getHeight()
+ );
+ else {
+ var D = C.startX,
+ P = C.finishX,
+ F = C.startY,
+ B = C.finishY,
+ $ = 0,
+ z = 0,
+ Y = 0,
+ Q = 0,
+ X = [$, Y, z, Q];
+ if (F > 0)
+ for (var ie = D; ie <= P; ie++)
+ X[0] += this.grid[ie][F - 1].length + this.grid[ie][F].length - 1;
+ if (P < this.grid.length - 1)
+ for (var ie = F; ie <= B; ie++)
+ X[1] += this.grid[P + 1][ie].length + this.grid[P][ie].length - 1;
+ if (B < this.grid[0].length - 1)
+ for (var ie = D; ie <= P; ie++)
+ X[2] += this.grid[ie][B + 1].length + this.grid[ie][B].length - 1;
+ if (D > 0)
+ for (var ie = F; ie <= B; ie++)
+ X[3] += this.grid[D - 1][ie].length + this.grid[D][ie].length - 1;
+ for (var j = T.MAX_VALUE, J, Z, H = 0; H < X.length; H++)
+ X[H] < j ? ((j = X[H]), (J = 1), (Z = H)) : X[H] == j && J++;
+ if (J == 3 && j == 0)
+ X[0] == 0 && X[1] == 0 && X[2] == 0
+ ? (I = 1)
+ : X[0] == 0 && X[1] == 0 && X[3] == 0
+ ? (I = 0)
+ : X[0] == 0 && X[2] == 0 && X[3] == 0
+ ? (I = 3)
+ : X[1] == 0 && X[2] == 0 && X[3] == 0 && (I = 2);
+ else if (J == 2 && j == 0) {
+ var q = Math.floor(Math.random() * 2);
+ X[0] == 0 && X[1] == 0
+ ? q == 0
+ ? (I = 0)
+ : (I = 1)
+ : X[0] == 0 && X[2] == 0
+ ? q == 0
+ ? (I = 0)
+ : (I = 2)
+ : X[0] == 0 && X[3] == 0
+ ? q == 0
+ ? (I = 0)
+ : (I = 3)
+ : X[1] == 0 && X[2] == 0
+ ? q == 0
+ ? (I = 1)
+ : (I = 2)
+ : X[1] == 0 && X[3] == 0
+ ? q == 0
+ ? (I = 1)
+ : (I = 3)
+ : q == 0
+ ? (I = 2)
+ : (I = 3);
+ } else if (J == 4 && j == 0) {
+ var q = Math.floor(Math.random() * 4);
+ I = q;
+ } else I = Z;
+ I == 0
+ ? O.setCenter(
+ C.getCenterX(),
+ C.getCenterY() -
+ C.getHeight() / 2 -
+ y.DEFAULT_EDGE_LENGTH -
+ O.getHeight() / 2
+ )
+ : I == 1
+ ? O.setCenter(
+ C.getCenterX() +
+ C.getWidth() / 2 +
+ y.DEFAULT_EDGE_LENGTH +
+ O.getWidth() / 2,
+ C.getCenterY()
+ )
+ : I == 2
+ ? O.setCenter(
+ C.getCenterX(),
+ C.getCenterY() +
+ C.getHeight() / 2 +
+ y.DEFAULT_EDGE_LENGTH +
+ O.getHeight() / 2
+ )
+ : O.setCenter(
+ C.getCenterX() -
+ C.getWidth() / 2 -
+ y.DEFAULT_EDGE_LENGTH -
+ O.getWidth() / 2,
+ C.getCenterY()
+ );
+ }
+ }),
+ (a.exports = M);
+ },
+ 991: (a, s, l) => {
+ var u = l(551).FDLayoutNode,
+ h = l(551).IMath;
+ function f(p, m, g, y) {
+ u.call(this, p, m, g, y);
+ }
+ o(f, 'CoSENode'), (f.prototype = Object.create(u.prototype));
+ for (var d in u) f[d] = u[d];
+ (f.prototype.calculateDisplacement = function () {
+ var p = this.graphManager.getLayout();
+ this.getChild() != null && this.fixedNodeWeight
+ ? ((this.displacementX +=
+ (p.coolingFactor *
+ (this.springForceX + this.repulsionForceX + this.gravitationForceX)) /
+ this.fixedNodeWeight),
+ (this.displacementY +=
+ (p.coolingFactor *
+ (this.springForceY + this.repulsionForceY + this.gravitationForceY)) /
+ this.fixedNodeWeight))
+ : ((this.displacementX +=
+ (p.coolingFactor *
+ (this.springForceX + this.repulsionForceX + this.gravitationForceX)) /
+ this.noOfChildren),
+ (this.displacementY +=
+ (p.coolingFactor *
+ (this.springForceY + this.repulsionForceY + this.gravitationForceY)) /
+ this.noOfChildren)),
+ Math.abs(this.displacementX) > p.coolingFactor * p.maxNodeDisplacement &&
+ (this.displacementX =
+ p.coolingFactor * p.maxNodeDisplacement * h.sign(this.displacementX)),
+ Math.abs(this.displacementY) > p.coolingFactor * p.maxNodeDisplacement &&
+ (this.displacementY =
+ p.coolingFactor * p.maxNodeDisplacement * h.sign(this.displacementY)),
+ this.child &&
+ this.child.getNodes().length > 0 &&
+ this.propogateDisplacementToChildren(this.displacementX, this.displacementY);
+ }),
+ (f.prototype.propogateDisplacementToChildren = function (p, m) {
+ for (var g = this.getChild().getNodes(), y, v = 0; v < g.length; v++)
+ (y = g[v]),
+ y.getChild() == null
+ ? ((y.displacementX += p), (y.displacementY += m))
+ : y.propogateDisplacementToChildren(p, m);
+ }),
+ (f.prototype.move = function () {
+ var p = this.graphManager.getLayout();
+ (this.child == null || this.child.getNodes().length == 0) &&
+ (this.moveBy(this.displacementX, this.displacementY),
+ (p.totalDisplacement +=
+ Math.abs(this.displacementX) + Math.abs(this.displacementY))),
+ (this.springForceX = 0),
+ (this.springForceY = 0),
+ (this.repulsionForceX = 0),
+ (this.repulsionForceY = 0),
+ (this.gravitationForceX = 0),
+ (this.gravitationForceY = 0),
+ (this.displacementX = 0),
+ (this.displacementY = 0);
+ }),
+ (f.prototype.setPred1 = function (p) {
+ this.pred1 = p;
+ }),
+ (f.prototype.getPred1 = function () {
+ return pred1;
+ }),
+ (f.prototype.getPred2 = function () {
+ return pred2;
+ }),
+ (f.prototype.setNext = function (p) {
+ this.next = p;
+ }),
+ (f.prototype.getNext = function () {
+ return next;
+ }),
+ (f.prototype.setProcessed = function (p) {
+ this.processed = p;
+ }),
+ (f.prototype.isProcessed = function () {
+ return processed;
+ }),
+ (a.exports = f);
+ },
+ 902: (a, s, l) => {
+ function u(g) {
+ if (Array.isArray(g)) {
+ for (var y = 0, v = Array(g.length); y < g.length; y++) v[y] = g[y];
+ return v;
+ } else return Array.from(g);
+ }
+ o(u, '_toConsumableArray');
+ var h = l(806),
+ f = l(551).LinkedList,
+ d = l(551).Matrix,
+ p = l(551).SVD;
+ function m() {}
+ o(m, 'ConstraintHandler'),
+ (m.handleConstraints = function (g) {
+ var y = {};
+ (y.fixedNodeConstraint = g.constraints.fixedNodeConstraint),
+ (y.alignmentConstraint = g.constraints.alignmentConstraint),
+ (y.relativePlacementConstraint = g.constraints.relativePlacementConstraint);
+ for (
+ var v = new Map(),
+ x = new Map(),
+ b = [],
+ w = [],
+ S = g.getAllNodes(),
+ T = 0,
+ E = 0;
+ E < S.length;
+ E++
+ ) {
+ var _ = S[E];
+ _.getChild() == null &&
+ (x.set(_.id, T++),
+ b.push(_.getCenterX()),
+ w.push(_.getCenterY()),
+ v.set(_.id, _));
+ }
+ y.relativePlacementConstraint &&
+ y.relativePlacementConstraint.forEach(function (ne) {
+ !ne.gap &&
+ ne.gap != 0 &&
+ (ne.left
+ ? (ne.gap =
+ h.DEFAULT_EDGE_LENGTH +
+ v.get(ne.left).getWidth() / 2 +
+ v.get(ne.right).getWidth() / 2)
+ : (ne.gap =
+ h.DEFAULT_EDGE_LENGTH +
+ v.get(ne.top).getHeight() / 2 +
+ v.get(ne.bottom).getHeight() / 2));
+ });
+ var A = o(function (ae, we) {
+ return { x: ae.x - we.x, y: ae.y - we.y };
+ }, 'calculatePositionDiff'),
+ L = o(function (ae) {
+ var we = 0,
+ Te = 0;
+ return (
+ ae.forEach(function (Ce) {
+ (we += b[x.get(Ce)]), (Te += w[x.get(Ce)]);
+ }),
+ { x: we / ae.size, y: Te / ae.size }
+ );
+ }, 'calculateAvgPosition'),
+ M = o(function (ae, we, Te, Ce, Ae) {
+ function Ge(tt, Ye) {
+ var Je = new Set(tt),
+ Ve = !0,
+ je = !1,
+ kt = void 0;
+ try {
+ for (
+ var at = Ye[Symbol.iterator](), xt;
+ !(Ve = (xt = at.next()).done);
+ Ve = !0
+ ) {
+ var it = xt.value;
+ Je.add(it);
+ }
+ } catch (dt) {
+ (je = !0), (kt = dt);
+ } finally {
+ try {
+ !Ve && at.return && at.return();
+ } finally {
+ if (je) throw kt;
+ }
+ }
+ return Je;
+ }
+ o(Ge, 'setUnion');
+ var Me = new Map();
+ ae.forEach(function (tt, Ye) {
+ Me.set(Ye, 0);
+ }),
+ ae.forEach(function (tt, Ye) {
+ tt.forEach(function (Je) {
+ Me.set(Je.id, Me.get(Je.id) + 1);
+ });
+ });
+ var ye = new Map(),
+ He = new Map(),
+ ze = new f();
+ Me.forEach(function (tt, Ye) {
+ tt == 0
+ ? (ze.push(Ye),
+ Te ||
+ (we == 'horizontal'
+ ? ye.set(Ye, x.has(Ye) ? b[x.get(Ye)] : Ce.get(Ye))
+ : ye.set(Ye, x.has(Ye) ? w[x.get(Ye)] : Ce.get(Ye))))
+ : ye.set(Ye, Number.NEGATIVE_INFINITY),
+ Te && He.set(Ye, new Set([Ye]));
+ }),
+ Te &&
+ Ae.forEach(function (tt) {
+ var Ye = [];
+ if (
+ (tt.forEach(function (je) {
+ Te.has(je) && Ye.push(je);
+ }),
+ Ye.length > 0)
+ ) {
+ var Je = 0;
+ Ye.forEach(function (je) {
+ we == 'horizontal'
+ ? (ye.set(
+ je,
+ x.has(je) ? b[x.get(je)] : Ce.get(je)
+ ),
+ (Je += ye.get(je)))
+ : (ye.set(
+ je,
+ x.has(je) ? w[x.get(je)] : Ce.get(je)
+ ),
+ (Je += ye.get(je)));
+ }),
+ (Je = Je / Ye.length),
+ tt.forEach(function (je) {
+ Te.has(je) || ye.set(je, Je);
+ });
+ } else {
+ var Ve = 0;
+ tt.forEach(function (je) {
+ we == 'horizontal'
+ ? (Ve += x.has(je) ? b[x.get(je)] : Ce.get(je))
+ : (Ve += x.has(je) ? w[x.get(je)] : Ce.get(je));
+ }),
+ (Ve = Ve / tt.length),
+ tt.forEach(function (je) {
+ ye.set(je, Ve);
+ });
+ }
+ });
+ for (
+ var Ze = o(function () {
+ var Ye = ze.shift(),
+ Je = ae.get(Ye);
+ Je.forEach(function (Ve) {
+ if (ye.get(Ve.id) < ye.get(Ye) + Ve.gap)
+ if (Te && Te.has(Ve.id)) {
+ var je = void 0;
+ if (
+ (we == 'horizontal'
+ ? (je = x.has(Ve.id)
+ ? b[x.get(Ve.id)]
+ : Ce.get(Ve.id))
+ : (je = x.has(Ve.id)
+ ? w[x.get(Ve.id)]
+ : Ce.get(Ve.id)),
+ ye.set(Ve.id, je),
+ je < ye.get(Ye) + Ve.gap)
+ ) {
+ var kt = ye.get(Ye) + Ve.gap - je;
+ He.get(Ye).forEach(function (at) {
+ ye.set(at, ye.get(at) - kt);
+ });
+ }
+ } else ye.set(Ve.id, ye.get(Ye) + Ve.gap);
+ Me.set(Ve.id, Me.get(Ve.id) - 1),
+ Me.get(Ve.id) == 0 && ze.push(Ve.id),
+ Te && He.set(Ve.id, Ge(He.get(Ye), He.get(Ve.id)));
+ });
+ }, '_loop');
+ ze.length != 0;
+
+ )
+ Ze();
+ if (Te) {
+ var gt = new Set();
+ ae.forEach(function (tt, Ye) {
+ tt.length == 0 && gt.add(Ye);
+ });
+ var yt = [];
+ He.forEach(function (tt, Ye) {
+ if (gt.has(Ye)) {
+ var Je = !1,
+ Ve = !0,
+ je = !1,
+ kt = void 0;
+ try {
+ for (
+ var at = tt[Symbol.iterator](), xt;
+ !(Ve = (xt = at.next()).done);
+ Ve = !0
+ ) {
+ var it = xt.value;
+ Te.has(it) && (Je = !0);
+ }
+ } catch (It) {
+ (je = !0), (kt = It);
+ } finally {
+ try {
+ !Ve && at.return && at.return();
+ } finally {
+ if (je) throw kt;
+ }
+ }
+ if (!Je) {
+ var dt = !1,
+ lt = void 0;
+ yt.forEach(function (It, mt) {
+ It.has([].concat(u(tt))[0]) && ((dt = !0), (lt = mt));
+ }),
+ dt
+ ? tt.forEach(function (It) {
+ yt[lt].add(It);
+ })
+ : yt.push(new Set(tt));
+ }
+ }
+ }),
+ yt.forEach(function (tt, Ye) {
+ var Je = Number.POSITIVE_INFINITY,
+ Ve = Number.POSITIVE_INFINITY,
+ je = Number.NEGATIVE_INFINITY,
+ kt = Number.NEGATIVE_INFINITY,
+ at = !0,
+ xt = !1,
+ it = void 0;
+ try {
+ for (
+ var dt = tt[Symbol.iterator](), lt;
+ !(at = (lt = dt.next()).done);
+ at = !0
+ ) {
+ var It = lt.value,
+ mt = void 0;
+ we == 'horizontal'
+ ? (mt = x.has(It) ? b[x.get(It)] : Ce.get(It))
+ : (mt = x.has(It) ? w[x.get(It)] : Ce.get(It));
+ var St = ye.get(It);
+ mt < Je && (Je = mt),
+ mt > je && (je = mt),
+ St < Ve && (Ve = St),
+ St > kt && (kt = St);
+ }
+ } catch (Qn) {
+ (xt = !0), (it = Qn);
+ } finally {
+ try {
+ !at && dt.return && dt.return();
+ } finally {
+ if (xt) throw it;
+ }
+ }
+ var gr = (Je + je) / 2 - (Ve + kt) / 2,
+ xn = !0,
+ jt = !1,
+ rn = void 0;
+ try {
+ for (
+ var Er = tt[Symbol.iterator](), Kn;
+ !(xn = (Kn = Er.next()).done);
+ xn = !0
+ ) {
+ var hn = Kn.value;
+ ye.set(hn, ye.get(hn) + gr);
+ }
+ } catch (Qn) {
+ (jt = !0), (rn = Qn);
+ } finally {
+ try {
+ !xn && Er.return && Er.return();
+ } finally {
+ if (jt) throw rn;
+ }
+ }
+ });
+ }
+ return ye;
+ }, 'findAppropriatePositionForRelativePlacement'),
+ N = o(function (ae) {
+ var we = 0,
+ Te = 0,
+ Ce = 0,
+ Ae = 0;
+ if (
+ (ae.forEach(function (He) {
+ He.left
+ ? b[x.get(He.left)] - b[x.get(He.right)] >= 0
+ ? we++
+ : Te++
+ : w[x.get(He.top)] - w[x.get(He.bottom)] >= 0
+ ? Ce++
+ : Ae++;
+ }),
+ we > Te && Ce > Ae)
+ )
+ for (var Ge = 0; Ge < x.size; Ge++)
+ (b[Ge] = -1 * b[Ge]), (w[Ge] = -1 * w[Ge]);
+ else if (we > Te) for (var Me = 0; Me < x.size; Me++) b[Me] = -1 * b[Me];
+ else if (Ce > Ae) for (var ye = 0; ye < x.size; ye++) w[ye] = -1 * w[ye];
+ }, 'applyReflectionForRelativePlacement'),
+ k = o(function (ae) {
+ var we = [],
+ Te = new f(),
+ Ce = new Set(),
+ Ae = 0;
+ return (
+ ae.forEach(function (Ge, Me) {
+ if (!Ce.has(Me)) {
+ we[Ae] = [];
+ var ye = Me;
+ for (
+ Te.push(ye), Ce.add(ye), we[Ae].push(ye);
+ Te.length != 0;
+
+ ) {
+ ye = Te.shift();
+ var He = ae.get(ye);
+ He.forEach(function (ze) {
+ Ce.has(ze.id) ||
+ (Te.push(ze.id), Ce.add(ze.id), we[Ae].push(ze.id));
+ });
+ }
+ Ae++;
+ }
+ }),
+ we
+ );
+ }, 'findComponents'),
+ I = o(function (ae) {
+ var we = new Map();
+ return (
+ ae.forEach(function (Te, Ce) {
+ we.set(Ce, []);
+ }),
+ ae.forEach(function (Te, Ce) {
+ Te.forEach(function (Ae) {
+ we.get(Ce).push(Ae),
+ we.get(Ae.id).push({
+ id: Ce,
+ gap: Ae.gap,
+ direction: Ae.direction
+ });
+ });
+ }),
+ we
+ );
+ }, 'dagToUndirected'),
+ C = o(function (ae) {
+ var we = new Map();
+ return (
+ ae.forEach(function (Te, Ce) {
+ we.set(Ce, []);
+ }),
+ ae.forEach(function (Te, Ce) {
+ Te.forEach(function (Ae) {
+ we.get(Ae.id).push({
+ id: Ce,
+ gap: Ae.gap,
+ direction: Ae.direction
+ });
+ });
+ }),
+ we
+ );
+ }, 'dagToReversed'),
+ O = [],
+ D = [],
+ P = !1,
+ F = !1,
+ B = new Set(),
+ $ = new Map(),
+ z = new Map(),
+ Y = [];
+ if (
+ (y.fixedNodeConstraint &&
+ y.fixedNodeConstraint.forEach(function (ne) {
+ B.add(ne.nodeId);
+ }),
+ y.relativePlacementConstraint &&
+ (y.relativePlacementConstraint.forEach(function (ne) {
+ ne.left
+ ? ($.has(ne.left)
+ ? $.get(ne.left).push({
+ id: ne.right,
+ gap: ne.gap,
+ direction: 'horizontal'
+ })
+ : $.set(ne.left, [
+ {
+ id: ne.right,
+ gap: ne.gap,
+ direction: 'horizontal'
+ }
+ ]),
+ $.has(ne.right) || $.set(ne.right, []))
+ : ($.has(ne.top)
+ ? $.get(ne.top).push({
+ id: ne.bottom,
+ gap: ne.gap,
+ direction: 'vertical'
+ })
+ : $.set(ne.top, [
+ {
+ id: ne.bottom,
+ gap: ne.gap,
+ direction: 'vertical'
+ }
+ ]),
+ $.has(ne.bottom) || $.set(ne.bottom, []));
+ }),
+ (z = I($)),
+ (Y = k(z))),
+ h.TRANSFORM_ON_CONSTRAINT_HANDLING)
+ ) {
+ if (y.fixedNodeConstraint && y.fixedNodeConstraint.length > 1)
+ y.fixedNodeConstraint.forEach(function (ne, ae) {
+ (O[ae] = [ne.position.x, ne.position.y]),
+ (D[ae] = [b[x.get(ne.nodeId)], w[x.get(ne.nodeId)]]);
+ }),
+ (P = !0);
+ else if (y.alignmentConstraint)
+ (function () {
+ var ne = 0;
+ if (y.alignmentConstraint.vertical) {
+ for (
+ var ae = y.alignmentConstraint.vertical,
+ we = o(function (ye) {
+ var He = new Set();
+ ae[ye].forEach(function (gt) {
+ He.add(gt);
+ });
+ var ze = new Set(
+ [].concat(u(He)).filter(function (gt) {
+ return B.has(gt);
+ })
+ ),
+ Ze = void 0;
+ ze.size > 0
+ ? (Ze = b[x.get(ze.values().next().value)])
+ : (Ze = L(He).x),
+ ae[ye].forEach(function (gt) {
+ (O[ne] = [Ze, w[x.get(gt)]]),
+ (D[ne] = [b[x.get(gt)], w[x.get(gt)]]),
+ ne++;
+ });
+ }, '_loop2'),
+ Te = 0;
+ Te < ae.length;
+ Te++
+ )
+ we(Te);
+ P = !0;
+ }
+ if (y.alignmentConstraint.horizontal) {
+ for (
+ var Ce = y.alignmentConstraint.horizontal,
+ Ae = o(function (ye) {
+ var He = new Set();
+ Ce[ye].forEach(function (gt) {
+ He.add(gt);
+ });
+ var ze = new Set(
+ [].concat(u(He)).filter(function (gt) {
+ return B.has(gt);
+ })
+ ),
+ Ze = void 0;
+ ze.size > 0
+ ? (Ze = b[x.get(ze.values().next().value)])
+ : (Ze = L(He).y),
+ Ce[ye].forEach(function (gt) {
+ (O[ne] = [b[x.get(gt)], Ze]),
+ (D[ne] = [b[x.get(gt)], w[x.get(gt)]]),
+ ne++;
+ });
+ }, '_loop3'),
+ Ge = 0;
+ Ge < Ce.length;
+ Ge++
+ )
+ Ae(Ge);
+ P = !0;
+ }
+ y.relativePlacementConstraint && (F = !0);
+ })();
+ else if (y.relativePlacementConstraint) {
+ for (var Q = 0, X = 0, ie = 0; ie < Y.length; ie++)
+ Y[ie].length > Q && ((Q = Y[ie].length), (X = ie));
+ if (Q < z.size / 2) N(y.relativePlacementConstraint), (P = !1), (F = !1);
+ else {
+ var j = new Map(),
+ J = new Map(),
+ Z = [];
+ Y[X].forEach(function (ne) {
+ $.get(ne).forEach(function (ae) {
+ ae.direction == 'horizontal'
+ ? (j.has(ne) ? j.get(ne).push(ae) : j.set(ne, [ae]),
+ j.has(ae.id) || j.set(ae.id, []),
+ Z.push({ left: ne, right: ae.id }))
+ : (J.has(ne) ? J.get(ne).push(ae) : J.set(ne, [ae]),
+ J.has(ae.id) || J.set(ae.id, []),
+ Z.push({ top: ne, bottom: ae.id }));
+ });
+ }),
+ N(Z),
+ (F = !1);
+ var H = M(j, 'horizontal'),
+ q = M(J, 'vertical');
+ Y[X].forEach(function (ne, ae) {
+ (D[ae] = [b[x.get(ne)], w[x.get(ne)]]),
+ (O[ae] = []),
+ H.has(ne) ? (O[ae][0] = H.get(ne)) : (O[ae][0] = b[x.get(ne)]),
+ q.has(ne) ? (O[ae][1] = q.get(ne)) : (O[ae][1] = w[x.get(ne)]);
+ }),
+ (P = !0);
+ }
+ }
+ if (P) {
+ for (
+ var K = void 0, se = d.transpose(O), ce = d.transpose(D), ue = 0;
+ ue < se.length;
+ ue++
+ )
+ (se[ue] = d.multGamma(se[ue])), (ce[ue] = d.multGamma(ce[ue]));
+ var te = d.multMat(se, d.transpose(ce)),
+ De = p.svd(te);
+ K = d.multMat(De.V, d.transpose(De.U));
+ for (var oe = 0; oe < x.size; oe++) {
+ var ke = [b[oe], w[oe]],
+ Ie = [K[0][0], K[1][0]],
+ Se = [K[0][1], K[1][1]];
+ (b[oe] = d.dotProduct(ke, Ie)), (w[oe] = d.dotProduct(ke, Se));
+ }
+ F && N(y.relativePlacementConstraint);
+ }
+ }
+ if (h.ENFORCE_CONSTRAINTS) {
+ if (y.fixedNodeConstraint && y.fixedNodeConstraint.length > 0) {
+ var Ue = { x: 0, y: 0 };
+ y.fixedNodeConstraint.forEach(function (ne, ae) {
+ var we = {
+ x: b[x.get(ne.nodeId)],
+ y: w[x.get(ne.nodeId)]
+ },
+ Te = ne.position,
+ Ce = A(Te, we);
+ (Ue.x += Ce.x), (Ue.y += Ce.y);
+ }),
+ (Ue.x /= y.fixedNodeConstraint.length),
+ (Ue.y /= y.fixedNodeConstraint.length),
+ b.forEach(function (ne, ae) {
+ b[ae] += Ue.x;
+ }),
+ w.forEach(function (ne, ae) {
+ w[ae] += Ue.y;
+ }),
+ y.fixedNodeConstraint.forEach(function (ne) {
+ (b[x.get(ne.nodeId)] = ne.position.x),
+ (w[x.get(ne.nodeId)] = ne.position.y);
+ });
+ }
+ if (y.alignmentConstraint) {
+ if (y.alignmentConstraint.vertical)
+ for (
+ var Pe = y.alignmentConstraint.vertical,
+ _e = o(function (ae) {
+ var we = new Set();
+ Pe[ae].forEach(function (Ae) {
+ we.add(Ae);
+ });
+ var Te = new Set(
+ [].concat(u(we)).filter(function (Ae) {
+ return B.has(Ae);
+ })
+ ),
+ Ce = void 0;
+ Te.size > 0
+ ? (Ce = b[x.get(Te.values().next().value)])
+ : (Ce = L(we).x),
+ we.forEach(function (Ae) {
+ B.has(Ae) || (b[x.get(Ae)] = Ce);
+ });
+ }, '_loop4'),
+ me = 0;
+ me < Pe.length;
+ me++
+ )
+ _e(me);
+ if (y.alignmentConstraint.horizontal)
+ for (
+ var W = y.alignmentConstraint.horizontal,
+ fe = o(function (ae) {
+ var we = new Set();
+ W[ae].forEach(function (Ae) {
+ we.add(Ae);
+ });
+ var Te = new Set(
+ [].concat(u(we)).filter(function (Ae) {
+ return B.has(Ae);
+ })
+ ),
+ Ce = void 0;
+ Te.size > 0
+ ? (Ce = w[x.get(Te.values().next().value)])
+ : (Ce = L(we).y),
+ we.forEach(function (Ae) {
+ B.has(Ae) || (w[x.get(Ae)] = Ce);
+ });
+ }, '_loop5'),
+ ge = 0;
+ ge < W.length;
+ ge++
+ )
+ fe(ge);
+ }
+ y.relativePlacementConstraint &&
+ (function () {
+ var ne = new Map(),
+ ae = new Map(),
+ we = new Map(),
+ Te = new Map(),
+ Ce = new Map(),
+ Ae = new Map(),
+ Ge = new Set(),
+ Me = new Set();
+ if (
+ (B.forEach(function (Ot) {
+ Ge.add(Ot), Me.add(Ot);
+ }),
+ y.alignmentConstraint)
+ ) {
+ if (y.alignmentConstraint.vertical)
+ for (
+ var ye = y.alignmentConstraint.vertical,
+ He = o(function (pe) {
+ we.set('dummy' + pe, []),
+ ye[pe].forEach(function (ur) {
+ ne.set(ur, 'dummy' + pe),
+ we.get('dummy' + pe).push(ur),
+ B.has(ur) && Ge.add('dummy' + pe);
+ }),
+ Ce.set('dummy' + pe, b[x.get(ye[pe][0])]);
+ }, '_loop6'),
+ ze = 0;
+ ze < ye.length;
+ ze++
+ )
+ He(ze);
+ if (y.alignmentConstraint.horizontal)
+ for (
+ var Ze = y.alignmentConstraint.horizontal,
+ gt = o(function (pe) {
+ Te.set('dummy' + pe, []),
+ Ze[pe].forEach(function (ur) {
+ ae.set(ur, 'dummy' + pe),
+ Te.get('dummy' + pe).push(ur),
+ B.has(ur) && Me.add('dummy' + pe);
+ }),
+ Ae.set('dummy' + pe, w[x.get(Ze[pe][0])]);
+ }, '_loop7'),
+ yt = 0;
+ yt < Ze.length;
+ yt++
+ )
+ gt(yt);
+ }
+ var tt = new Map(),
+ Ye = new Map(),
+ Je = o(function (pe) {
+ $.get(pe).forEach(function (ur) {
+ var be = void 0,
+ Ir = void 0;
+ ur.direction == 'horizontal'
+ ? ((be = ne.get(pe) ? ne.get(pe) : pe),
+ ne.get(ur.id)
+ ? (Ir = {
+ id: ne.get(ur.id),
+ gap: ur.gap,
+ direction: ur.direction
+ })
+ : (Ir = ur),
+ tt.has(be) ? tt.get(be).push(Ir) : tt.set(be, [Ir]),
+ tt.has(Ir.id) || tt.set(Ir.id, []))
+ : ((be = ae.get(pe) ? ae.get(pe) : pe),
+ ae.get(ur.id)
+ ? (Ir = {
+ id: ae.get(ur.id),
+ gap: ur.gap,
+ direction: ur.direction
+ })
+ : (Ir = ur),
+ Ye.has(be) ? Ye.get(be).push(Ir) : Ye.set(be, [Ir]),
+ Ye.has(Ir.id) || Ye.set(Ir.id, []));
+ });
+ }, '_loop8'),
+ Ve = !0,
+ je = !1,
+ kt = void 0;
+ try {
+ for (
+ var at = $.keys()[Symbol.iterator](), xt;
+ !(Ve = (xt = at.next()).done);
+ Ve = !0
+ ) {
+ var it = xt.value;
+ Je(it);
+ }
+ } catch (Ot) {
+ (je = !0), (kt = Ot);
+ } finally {
+ try {
+ !Ve && at.return && at.return();
+ } finally {
+ if (je) throw kt;
+ }
+ }
+ var dt = I(tt),
+ lt = I(Ye),
+ It = k(dt),
+ mt = k(lt),
+ St = C(tt),
+ gr = C(Ye),
+ xn = [],
+ jt = [];
+ It.forEach(function (Ot, pe) {
+ (xn[pe] = []),
+ Ot.forEach(function (ur) {
+ St.get(ur).length == 0 && xn[pe].push(ur);
+ });
+ }),
+ mt.forEach(function (Ot, pe) {
+ (jt[pe] = []),
+ Ot.forEach(function (ur) {
+ gr.get(ur).length == 0 && jt[pe].push(ur);
+ });
+ });
+ var rn = M(tt, 'horizontal', Ge, Ce, xn),
+ Er = M(Ye, 'vertical', Me, Ae, jt),
+ Kn = o(function (pe) {
+ we.get(pe)
+ ? we.get(pe).forEach(function (ur) {
+ b[x.get(ur)] = rn.get(pe);
+ })
+ : (b[x.get(pe)] = rn.get(pe));
+ }, '_loop9'),
+ hn = !0,
+ Qn = !1,
+ on = void 0;
+ try {
+ for (
+ var Rn = rn.keys()[Symbol.iterator](), Ha;
+ !(hn = (Ha = Rn.next()).done);
+ hn = !0
+ ) {
+ var _a = Ha.value;
+ Kn(_a);
+ }
+ } catch (Ot) {
+ (Qn = !0), (on = Ot);
+ } finally {
+ try {
+ !hn && Rn.return && Rn.return();
+ } finally {
+ if (Qn) throw on;
+ }
+ }
+ var To = o(function (pe) {
+ Te.get(pe)
+ ? Te.get(pe).forEach(function (ur) {
+ w[x.get(ur)] = Er.get(pe);
+ })
+ : (w[x.get(pe)] = Er.get(pe));
+ }, '_loop10'),
+ qi = !0,
+ ht = !1,
+ At = void 0;
+ try {
+ for (
+ var $t = Er.keys()[Symbol.iterator](), rt;
+ !(qi = (rt = $t.next()).done);
+ qi = !0
+ ) {
+ var _a = rt.value;
+ To(_a);
+ }
+ } catch (Ot) {
+ (ht = !0), (At = Ot);
+ } finally {
+ try {
+ !qi && $t.return && $t.return();
+ } finally {
+ if (ht) throw At;
+ }
+ }
+ })();
+ }
+ for (var re = 0; re < S.length; re++) {
+ var he = S[re];
+ he.getChild() == null && he.setCenter(b[x.get(he.id)], w[x.get(he.id)]);
+ }
+ }),
+ (a.exports = m);
+ },
+ 551: (a) => {
+ a.exports = t;
+ }
+ },
+ r = {};
+ function n(a) {
+ var s = r[a];
+ if (s !== void 0) return s.exports;
+ var l = (r[a] = { exports: {} });
+ return e[a](l, l.exports, n), l.exports;
+ }
+ o(n, '__webpack_require__');
+ var i = n(45);
+ return i;
+ })();
+ });
+ });
+ var X1e = gi((xb, JB) => {
+ 'use strict';
+ o(function (e, r) {
+ typeof xb == 'object' && typeof JB == 'object'
+ ? (JB.exports = r(ZB()))
+ : typeof define == 'function' && define.amd
+ ? define(['cose-base'], r)
+ : typeof xb == 'object'
+ ? (xb.cytoscapeFcose = r(ZB()))
+ : (e.cytoscapeFcose = r(e.coseBase));
+ }, 'webpackUniversalModuleDefinition')(xb, function (t) {
+ return (() => {
+ 'use strict';
+ var e = {
+ 658: (a) => {
+ a.exports =
+ Object.assign != null
+ ? Object.assign.bind(Object)
+ : function (s) {
+ for (
+ var l = arguments.length, u = Array(l > 1 ? l - 1 : 0), h = 1;
+ h < l;
+ h++
+ )
+ u[h - 1] = arguments[h];
+ return (
+ u.forEach(function (f) {
+ Object.keys(f).forEach(function (d) {
+ return (s[d] = f[d]);
+ });
+ }),
+ s
+ );
+ };
+ },
+ 548: (a, s, l) => {
+ var u = (function () {
+ function d(p, m) {
+ var g = [],
+ y = !0,
+ v = !1,
+ x = void 0;
+ try {
+ for (
+ var b = p[Symbol.iterator](), w;
+ !(y = (w = b.next()).done) && (g.push(w.value), !(m && g.length === m));
+ y = !0
+ );
+ } catch (S) {
+ (v = !0), (x = S);
+ } finally {
+ try {
+ !y && b.return && b.return();
+ } finally {
+ if (v) throw x;
+ }
+ }
+ return g;
+ }
+ return (
+ o(d, 'sliceIterator'),
+ function (p, m) {
+ if (Array.isArray(p)) return p;
+ if (Symbol.iterator in Object(p)) return d(p, m);
+ throw new TypeError('Invalid attempt to destructure non-iterable instance');
+ }
+ );
+ })(),
+ h = l(140).layoutBase.LinkedList,
+ f = {};
+ (f.getTopMostNodes = function (d) {
+ for (var p = {}, m = 0; m < d.length; m++) p[d[m].id()] = !0;
+ var g = d.filter(function (y, v) {
+ typeof y == 'number' && (y = v);
+ for (var x = y.parent()[0]; x != null; ) {
+ if (p[x.id()]) return !1;
+ x = x.parent()[0];
+ }
+ return !0;
+ });
+ return g;
+ }),
+ (f.connectComponents = function (d, p, m, g) {
+ var y = new h(),
+ v = new Set(),
+ x = [],
+ b = void 0,
+ w = void 0,
+ S = void 0,
+ T = !1,
+ E = 1,
+ _ = [],
+ A = [],
+ L = o(function () {
+ var N = d.collection();
+ A.push(N);
+ var k = m[0],
+ I = d.collection();
+ I.merge(k).merge(k.descendants().intersection(p)),
+ x.push(k),
+ I.forEach(function (D) {
+ y.push(D), v.add(D), N.merge(D);
+ });
+ for (
+ var C = o(function () {
+ k = y.shift();
+ var P = d.collection();
+ k.neighborhood()
+ .nodes()
+ .forEach(function (z) {
+ p.intersection(k.edgesWith(z)).length > 0 && P.merge(z);
+ });
+ for (var F = 0; F < P.length; F++) {
+ var B = P[F];
+ if (
+ ((b = m.intersection(B.union(B.ancestors()))),
+ b != null && !v.has(b[0]))
+ ) {
+ var $ = b.union(b.descendants());
+ $.forEach(function (z) {
+ y.push(z), v.add(z), N.merge(z), m.has(z) && x.push(z);
+ });
+ }
+ }
+ }, '_loop2');
+ y.length != 0;
+
+ )
+ C();
+ if (
+ (N.forEach(function (D) {
+ p.intersection(D.connectedEdges()).forEach(function (P) {
+ N.has(P.source()) && N.has(P.target()) && N.merge(P);
+ });
+ }),
+ x.length == m.length && (T = !0),
+ !T || (T && E > 1))
+ ) {
+ (w = x[0]),
+ (S = w.connectedEdges().length),
+ x.forEach(function (D) {
+ D.connectedEdges().length < S &&
+ ((S = D.connectedEdges().length), (w = D));
+ }),
+ _.push(w.id());
+ var O = d.collection();
+ O.merge(x[0]),
+ x.forEach(function (D) {
+ O.merge(D);
+ }),
+ (x = []),
+ (m = m.difference(O)),
+ E++;
+ }
+ }, '_loop');
+ do L();
+ while (!T);
+ return g && _.length > 0 && g.set('dummy' + (g.size + 1), _), A;
+ }),
+ (f.relocateComponent = function (d, p, m) {
+ if (!m.fixedNodeConstraint) {
+ var g = Number.POSITIVE_INFINITY,
+ y = Number.NEGATIVE_INFINITY,
+ v = Number.POSITIVE_INFINITY,
+ x = Number.NEGATIVE_INFINITY;
+ if (m.quality == 'draft') {
+ var b = !0,
+ w = !1,
+ S = void 0;
+ try {
+ for (
+ var T = p.nodeIndexes[Symbol.iterator](), E;
+ !(b = (E = T.next()).done);
+ b = !0
+ ) {
+ var _ = E.value,
+ A = u(_, 2),
+ L = A[0],
+ M = A[1],
+ N = m.cy.getElementById(L);
+ if (N) {
+ var k = N.boundingBox(),
+ I = p.xCoords[M] - k.w / 2,
+ C = p.xCoords[M] + k.w / 2,
+ O = p.yCoords[M] - k.h / 2,
+ D = p.yCoords[M] + k.h / 2;
+ I < g && (g = I),
+ C > y && (y = C),
+ O < v && (v = O),
+ D > x && (x = D);
+ }
+ }
+ } catch (z) {
+ (w = !0), (S = z);
+ } finally {
+ try {
+ !b && T.return && T.return();
+ } finally {
+ if (w) throw S;
+ }
+ }
+ var P = d.x - (y + g) / 2,
+ F = d.y - (x + v) / 2;
+ (p.xCoords = p.xCoords.map(function (z) {
+ return z + P;
+ })),
+ (p.yCoords = p.yCoords.map(function (z) {
+ return z + F;
+ }));
+ } else {
+ Object.keys(p).forEach(function (z) {
+ var Y = p[z],
+ Q = Y.getRect().x,
+ X = Y.getRect().x + Y.getRect().width,
+ ie = Y.getRect().y,
+ j = Y.getRect().y + Y.getRect().height;
+ Q < g && (g = Q),
+ X > y && (y = X),
+ ie < v && (v = ie),
+ j > x && (x = j);
+ });
+ var B = d.x - (y + g) / 2,
+ $ = d.y - (x + v) / 2;
+ Object.keys(p).forEach(function (z) {
+ var Y = p[z];
+ Y.setCenter(Y.getCenterX() + B, Y.getCenterY() + $);
+ });
+ }
+ }
+ }),
+ (f.calcBoundingBox = function (d, p, m, g) {
+ for (
+ var y = Number.MAX_SAFE_INTEGER,
+ v = Number.MIN_SAFE_INTEGER,
+ x = Number.MAX_SAFE_INTEGER,
+ b = Number.MIN_SAFE_INTEGER,
+ w = void 0,
+ S = void 0,
+ T = void 0,
+ E = void 0,
+ _ = d.descendants().not(':parent'),
+ A = _.length,
+ L = 0;
+ L < A;
+ L++
+ ) {
+ var M = _[L];
+ (w = p[g.get(M.id())] - M.width() / 2),
+ (S = p[g.get(M.id())] + M.width() / 2),
+ (T = m[g.get(M.id())] - M.height() / 2),
+ (E = m[g.get(M.id())] + M.height() / 2),
+ y > w && (y = w),
+ v < S && (v = S),
+ x > T && (x = T),
+ b < E && (b = E);
+ }
+ var N = {};
+ return (N.topLeftX = y), (N.topLeftY = x), (N.width = v - y), (N.height = b - x), N;
+ }),
+ (f.calcParentsWithoutChildren = function (d, p) {
+ var m = d.collection();
+ return (
+ p.nodes(':parent').forEach(function (g) {
+ var y = !1;
+ g.children().forEach(function (v) {
+ v.css('display') != 'none' && (y = !0);
+ }),
+ y || m.merge(g);
+ }),
+ m
+ );
+ }),
+ (a.exports = f);
+ },
+ 816: (a, s, l) => {
+ var u = l(548),
+ h = l(140).CoSELayout,
+ f = l(140).CoSENode,
+ d = l(140).layoutBase.PointD,
+ p = l(140).layoutBase.DimensionD,
+ m = l(140).layoutBase.LayoutConstants,
+ g = l(140).layoutBase.FDLayoutConstants,
+ y = l(140).CoSEConstants,
+ v = o(function (b, w) {
+ var S = b.cy,
+ T = b.eles,
+ E = T.nodes(),
+ _ = T.edges(),
+ A = void 0,
+ L = void 0,
+ M = void 0,
+ N = {};
+ b.randomize && ((A = w.nodeIndexes), (L = w.xCoords), (M = w.yCoords));
+ var k = o(function (z) {
+ return typeof z == 'function';
+ }, 'isFn'),
+ I = o(function (z, Y) {
+ return k(z) ? z(Y) : z;
+ }, 'optFn'),
+ C = u.calcParentsWithoutChildren(S, T),
+ O = o(function $(z, Y, Q, X) {
+ for (var ie = Y.length, j = 0; j < ie; j++) {
+ var J = Y[j],
+ Z = null;
+ J.intersection(C).length == 0 && (Z = J.children());
+ var H = void 0,
+ q = J.layoutDimensions({
+ nodeDimensionsIncludeLabels: X.nodeDimensionsIncludeLabels
+ });
+ if (J.outerWidth() != null && J.outerHeight() != null)
+ if (X.randomize)
+ if (!J.isParent())
+ H = z.add(
+ new f(
+ Q.graphManager,
+ new d(
+ L[A.get(J.id())] - q.w / 2,
+ M[A.get(J.id())] - q.h / 2
+ ),
+ new p(parseFloat(q.w), parseFloat(q.h))
+ )
+ );
+ else {
+ var K = u.calcBoundingBox(J, L, M, A);
+ J.intersection(C).length == 0
+ ? (H = z.add(
+ new f(
+ Q.graphManager,
+ new d(K.topLeftX, K.topLeftY),
+ new p(K.width, K.height)
+ )
+ ))
+ : (H = z.add(
+ new f(
+ Q.graphManager,
+ new d(K.topLeftX, K.topLeftY),
+ new p(parseFloat(q.w), parseFloat(q.h))
+ )
+ ));
+ }
+ else
+ H = z.add(
+ new f(
+ Q.graphManager,
+ new d(
+ J.position('x') - q.w / 2,
+ J.position('y') - q.h / 2
+ ),
+ new p(parseFloat(q.w), parseFloat(q.h))
+ )
+ );
+ else H = z.add(new f(this.graphManager));
+ if (
+ ((H.id = J.data('id')),
+ (H.nodeRepulsion = I(X.nodeRepulsion, J)),
+ (H.paddingLeft = parseInt(J.css('padding'))),
+ (H.paddingTop = parseInt(J.css('padding'))),
+ (H.paddingRight = parseInt(J.css('padding'))),
+ (H.paddingBottom = parseInt(J.css('padding'))),
+ X.nodeDimensionsIncludeLabels &&
+ ((H.labelWidth = J.boundingBox({
+ includeLabels: !0,
+ includeNodes: !1,
+ includeOverlays: !1
+ }).w),
+ (H.labelHeight = J.boundingBox({
+ includeLabels: !0,
+ includeNodes: !1,
+ includeOverlays: !1
+ }).h),
+ (H.labelPosVertical = J.css('text-valign')),
+ (H.labelPosHorizontal = J.css('text-halign'))),
+ (N[J.data('id')] = H),
+ isNaN(H.rect.x) && (H.rect.x = 0),
+ isNaN(H.rect.y) && (H.rect.y = 0),
+ Z != null && Z.length > 0)
+ ) {
+ var se = void 0;
+ (se = Q.getGraphManager().add(Q.newGraph(), H)), $(se, Z, Q, X);
+ }
+ }
+ }, 'processChildrenList'),
+ D = o(function (z, Y, Q) {
+ for (var X = 0, ie = 0, j = 0; j < Q.length; j++) {
+ var J = Q[j],
+ Z = N[J.data('source')],
+ H = N[J.data('target')];
+ if (Z && H && Z !== H && Z.getEdgesBetween(H).length == 0) {
+ var q = Y.add(z.newEdge(), Z, H);
+ (q.id = J.id()),
+ (q.idealLength = I(b.idealEdgeLength, J)),
+ (q.edgeElasticity = I(b.edgeElasticity, J)),
+ (X += q.idealLength),
+ ie++;
+ }
+ }
+ b.idealEdgeLength != null &&
+ (ie > 0
+ ? (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH = X / ie)
+ : k(b.idealEdgeLength)
+ ? (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH = 50)
+ : (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH =
+ b.idealEdgeLength),
+ (y.MIN_REPULSION_DIST = g.MIN_REPULSION_DIST =
+ g.DEFAULT_EDGE_LENGTH / 10),
+ (y.DEFAULT_RADIAL_SEPARATION = g.DEFAULT_EDGE_LENGTH));
+ }, 'processEdges'),
+ P = o(function (z, Y) {
+ Y.fixedNodeConstraint &&
+ (z.constraints.fixedNodeConstraint = Y.fixedNodeConstraint),
+ Y.alignmentConstraint &&
+ (z.constraints.alignmentConstraint = Y.alignmentConstraint),
+ Y.relativePlacementConstraint &&
+ (z.constraints.relativePlacementConstraint =
+ Y.relativePlacementConstraint);
+ }, 'processConstraints');
+ b.nestingFactor != null &&
+ (y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR =
+ b.nestingFactor),
+ b.gravity != null &&
+ (y.DEFAULT_GRAVITY_STRENGTH = g.DEFAULT_GRAVITY_STRENGTH = b.gravity),
+ b.numIter != null && (y.MAX_ITERATIONS = g.MAX_ITERATIONS = b.numIter),
+ b.gravityRange != null &&
+ (y.DEFAULT_GRAVITY_RANGE_FACTOR = g.DEFAULT_GRAVITY_RANGE_FACTOR =
+ b.gravityRange),
+ b.gravityCompound != null &&
+ (y.DEFAULT_COMPOUND_GRAVITY_STRENGTH = g.DEFAULT_COMPOUND_GRAVITY_STRENGTH =
+ b.gravityCompound),
+ b.gravityRangeCompound != null &&
+ (y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR =
+ g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR =
+ b.gravityRangeCompound),
+ b.initialEnergyOnIncremental != null &&
+ (y.DEFAULT_COOLING_FACTOR_INCREMENTAL =
+ g.DEFAULT_COOLING_FACTOR_INCREMENTAL =
+ b.initialEnergyOnIncremental),
+ b.tilingCompareBy != null && (y.TILING_COMPARE_BY = b.tilingCompareBy),
+ b.quality == 'proof' ? (m.QUALITY = 2) : (m.QUALITY = 0),
+ (y.NODE_DIMENSIONS_INCLUDE_LABELS =
+ g.NODE_DIMENSIONS_INCLUDE_LABELS =
+ m.NODE_DIMENSIONS_INCLUDE_LABELS =
+ b.nodeDimensionsIncludeLabels),
+ (y.DEFAULT_INCREMENTAL =
+ g.DEFAULT_INCREMENTAL =
+ m.DEFAULT_INCREMENTAL =
+ !b.randomize),
+ (y.ANIMATE = g.ANIMATE = m.ANIMATE = b.animate),
+ (y.TILE = b.tile),
+ (y.TILING_PADDING_VERTICAL =
+ typeof b.tilingPaddingVertical == 'function'
+ ? b.tilingPaddingVertical.call()
+ : b.tilingPaddingVertical),
+ (y.TILING_PADDING_HORIZONTAL =
+ typeof b.tilingPaddingHorizontal == 'function'
+ ? b.tilingPaddingHorizontal.call()
+ : b.tilingPaddingHorizontal),
+ (y.DEFAULT_INCREMENTAL = g.DEFAULT_INCREMENTAL = m.DEFAULT_INCREMENTAL = !0),
+ (y.PURE_INCREMENTAL = !b.randomize),
+ (m.DEFAULT_UNIFORM_LEAF_NODE_SIZES = b.uniformNodeDimensions),
+ b.step == 'transformed' &&
+ ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !0),
+ (y.ENFORCE_CONSTRAINTS = !1),
+ (y.APPLY_LAYOUT = !1)),
+ b.step == 'enforced' &&
+ ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1),
+ (y.ENFORCE_CONSTRAINTS = !0),
+ (y.APPLY_LAYOUT = !1)),
+ b.step == 'cose' &&
+ ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1),
+ (y.ENFORCE_CONSTRAINTS = !1),
+ (y.APPLY_LAYOUT = !0)),
+ b.step == 'all' &&
+ (b.randomize
+ ? (y.TRANSFORM_ON_CONSTRAINT_HANDLING = !0)
+ : (y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1),
+ (y.ENFORCE_CONSTRAINTS = !0),
+ (y.APPLY_LAYOUT = !0)),
+ b.fixedNodeConstraint || b.alignmentConstraint || b.relativePlacementConstraint
+ ? (y.TREE_REDUCTION_ON_INCREMENTAL = !1)
+ : (y.TREE_REDUCTION_ON_INCREMENTAL = !0);
+ var F = new h(),
+ B = F.newGraphManager();
+ return (
+ O(B.addRoot(), u.getTopMostNodes(E), F, b),
+ D(F, B, _),
+ P(F, b),
+ F.runLayout(),
+ N
+ );
+ }, 'coseLayout');
+ a.exports = { coseLayout: v };
+ },
+ 212: (a, s, l) => {
+ var u = (function () {
+ function b(w, S) {
+ for (var T = 0; T < S.length; T++) {
+ var E = S[T];
+ (E.enumerable = E.enumerable || !1),
+ (E.configurable = !0),
+ 'value' in E && (E.writable = !0),
+ Object.defineProperty(w, E.key, E);
+ }
+ }
+ return (
+ o(b, 'defineProperties'),
+ function (w, S, T) {
+ return S && b(w.prototype, S), T && b(w, T), w;
+ }
+ );
+ })();
+ function h(b, w) {
+ if (!(b instanceof w)) throw new TypeError('Cannot call a class as a function');
+ }
+ o(h, '_classCallCheck');
+ var f = l(658),
+ d = l(548),
+ p = l(657),
+ m = p.spectralLayout,
+ g = l(816),
+ y = g.coseLayout,
+ v = Object.freeze({
+ quality: 'default',
+ randomize: !0,
+ animate: !0,
+ animationDuration: 1e3,
+ animationEasing: void 0,
+ fit: !0,
+ padding: 30,
+ nodeDimensionsIncludeLabels: !1,
+ uniformNodeDimensions: !1,
+ packComponents: !0,
+ step: 'all',
+ samplingType: !0,
+ sampleSize: 25,
+ nodeSeparation: 75,
+ piTol: 1e-7,
+ nodeRepulsion: o(function (w) {
+ return 4500;
+ }, 'nodeRepulsion'),
+ idealEdgeLength: o(function (w) {
+ return 50;
+ }, 'idealEdgeLength'),
+ edgeElasticity: o(function (w) {
+ return 0.45;
+ }, 'edgeElasticity'),
+ nestingFactor: 0.1,
+ gravity: 0.25,
+ numIter: 2500,
+ tile: !0,
+ tilingCompareBy: void 0,
+ tilingPaddingVertical: 10,
+ tilingPaddingHorizontal: 10,
+ gravityRangeCompound: 1.5,
+ gravityCompound: 1,
+ gravityRange: 3.8,
+ initialEnergyOnIncremental: 0.3,
+ fixedNodeConstraint: void 0,
+ alignmentConstraint: void 0,
+ relativePlacementConstraint: void 0,
+ ready: o(function () {}, 'ready'),
+ stop: o(function () {}, 'stop')
+ }),
+ x = (function () {
+ function b(w) {
+ h(this, b), (this.options = f({}, v, w));
+ }
+ return (
+ o(b, 'Layout'),
+ u(b, [
+ {
+ key: 'run',
+ value: o(function () {
+ var S = this,
+ T = this.options,
+ E = T.cy,
+ _ = T.eles,
+ A = [],
+ L = void 0,
+ M = void 0,
+ N = [],
+ k = void 0,
+ I = [];
+ T.fixedNodeConstraint &&
+ (!Array.isArray(T.fixedNodeConstraint) ||
+ T.fixedNodeConstraint.length == 0) &&
+ (T.fixedNodeConstraint = void 0),
+ T.alignmentConstraint &&
+ (T.alignmentConstraint.vertical &&
+ (!Array.isArray(T.alignmentConstraint.vertical) ||
+ T.alignmentConstraint.vertical.length == 0) &&
+ (T.alignmentConstraint.vertical = void 0),
+ T.alignmentConstraint.horizontal &&
+ (!Array.isArray(T.alignmentConstraint.horizontal) ||
+ T.alignmentConstraint.horizontal.length == 0) &&
+ (T.alignmentConstraint.horizontal = void 0)),
+ T.relativePlacementConstraint &&
+ (!Array.isArray(T.relativePlacementConstraint) ||
+ T.relativePlacementConstraint.length == 0) &&
+ (T.relativePlacementConstraint = void 0);
+ var C =
+ T.fixedNodeConstraint ||
+ T.alignmentConstraint ||
+ T.relativePlacementConstraint;
+ C && ((T.tile = !1), (T.packComponents = !1));
+ var O = void 0,
+ D = !1;
+ if (
+ (E.layoutUtilities &&
+ T.packComponents &&
+ ((O = E.layoutUtilities('get')),
+ O || (O = E.layoutUtilities()),
+ (D = !0)),
+ _.nodes().length > 0)
+ )
+ if (D) {
+ var B = d.getTopMostNodes(T.eles.nodes());
+ if (
+ ((k = d.connectComponents(E, T.eles, B)),
+ k.forEach(function (oe) {
+ var ke = oe.boundingBox();
+ I.push({
+ x: ke.x1 + ke.w / 2,
+ y: ke.y1 + ke.h / 2
+ });
+ }),
+ T.randomize &&
+ k.forEach(function (oe) {
+ (T.eles = oe), A.push(m(T));
+ }),
+ T.quality == 'default' || T.quality == 'proof')
+ ) {
+ var $ = E.collection();
+ if (T.tile) {
+ var z = new Map(),
+ Y = [],
+ Q = [],
+ X = 0,
+ ie = {
+ nodeIndexes: z,
+ xCoords: Y,
+ yCoords: Q
+ },
+ j = [];
+ if (
+ (k.forEach(function (oe, ke) {
+ oe.edges().length == 0 &&
+ (oe.nodes().forEach(function (Ie, Se) {
+ $.merge(oe.nodes()[Se]),
+ Ie.isParent() ||
+ (ie.nodeIndexes.set(
+ oe.nodes()[Se].id(),
+ X++
+ ),
+ ie.xCoords.push(
+ oe.nodes()[0].position()
+ .x
+ ),
+ ie.yCoords.push(
+ oe.nodes()[0].position()
+ .y
+ ));
+ }),
+ j.push(ke));
+ }),
+ $.length > 1)
+ ) {
+ var J = $.boundingBox();
+ I.push({
+ x: J.x1 + J.w / 2,
+ y: J.y1 + J.h / 2
+ }),
+ k.push($),
+ A.push(ie);
+ for (var Z = j.length - 1; Z >= 0; Z--)
+ k.splice(j[Z], 1),
+ A.splice(j[Z], 1),
+ I.splice(j[Z], 1);
+ }
+ }
+ k.forEach(function (oe, ke) {
+ (T.eles = oe),
+ N.push(y(T, A[ke])),
+ d.relocateComponent(I[ke], N[ke], T);
+ });
+ } else
+ k.forEach(function (oe, ke) {
+ d.relocateComponent(I[ke], A[ke], T);
+ });
+ var H = new Set();
+ if (k.length > 1) {
+ var q = [],
+ K = _.filter(function (oe) {
+ return oe.css('display') == 'none';
+ });
+ k.forEach(function (oe, ke) {
+ var Ie = void 0;
+ if (
+ (T.quality == 'draft' &&
+ (Ie = A[ke].nodeIndexes),
+ oe.nodes().not(K).length > 0)
+ ) {
+ var Se = {};
+ (Se.edges = []), (Se.nodes = []);
+ var Ue = void 0;
+ oe
+ .nodes()
+ .not(K)
+ .forEach(function (Pe) {
+ if (T.quality == 'draft')
+ if (!Pe.isParent())
+ (Ue = Ie.get(Pe.id())),
+ Se.nodes.push({
+ x:
+ A[ke].xCoords[Ue] -
+ Pe.boundingbox().w /
+ 2,
+ y:
+ A[ke].yCoords[Ue] -
+ Pe.boundingbox().h /
+ 2,
+ width: Pe.boundingbox()
+ .w,
+ height: Pe.boundingbox()
+ .h
+ });
+ else {
+ var _e = d.calcBoundingBox(
+ Pe,
+ A[ke].xCoords,
+ A[ke].yCoords,
+ Ie
+ );
+ Se.nodes.push({
+ x: _e.topLeftX,
+ y: _e.topLeftY,
+ width: _e.width,
+ height: _e.height
+ });
+ }
+ else
+ N[ke][Pe.id()] &&
+ Se.nodes.push({
+ x: N[ke][Pe.id()].getLeft(),
+ y: N[ke][Pe.id()].getTop(),
+ width: N[ke][
+ Pe.id()
+ ].getWidth(),
+ height: N[ke][
+ Pe.id()
+ ].getHeight()
+ });
+ }),
+ oe.edges().forEach(function (Pe) {
+ var _e = Pe.source(),
+ me = Pe.target();
+ if (
+ _e.css('display') != 'none' &&
+ me.css('display') != 'none'
+ )
+ if (T.quality == 'draft') {
+ var W = Ie.get(_e.id()),
+ fe = Ie.get(me.id()),
+ ge = [],
+ re = [];
+ if (_e.isParent()) {
+ var he = d.calcBoundingBox(
+ _e,
+ A[ke].xCoords,
+ A[ke].yCoords,
+ Ie
+ );
+ ge.push(
+ he.topLeftX +
+ he.width / 2
+ ),
+ ge.push(
+ he.topLeftY +
+ he.height / 2
+ );
+ } else
+ ge.push(A[ke].xCoords[W]),
+ ge.push(
+ A[ke].yCoords[W]
+ );
+ if (me.isParent()) {
+ var ne = d.calcBoundingBox(
+ me,
+ A[ke].xCoords,
+ A[ke].yCoords,
+ Ie
+ );
+ re.push(
+ ne.topLeftX +
+ ne.width / 2
+ ),
+ re.push(
+ ne.topLeftY +
+ ne.height / 2
+ );
+ } else
+ re.push(A[ke].xCoords[fe]),
+ re.push(
+ A[ke].yCoords[fe]
+ );
+ Se.edges.push({
+ startX: ge[0],
+ startY: ge[1],
+ endX: re[0],
+ endY: re[1]
+ });
+ } else
+ N[ke][_e.id()] &&
+ N[ke][me.id()] &&
+ Se.edges.push({
+ startX: N[ke][
+ _e.id()
+ ].getCenterX(),
+ startY: N[ke][
+ _e.id()
+ ].getCenterY(),
+ endX: N[ke][
+ me.id()
+ ].getCenterX(),
+ endY: N[ke][
+ me.id()
+ ].getCenterY()
+ });
+ }),
+ Se.nodes.length > 0 &&
+ (q.push(Se), H.add(ke));
+ }
+ });
+ var se = O.packComponents(q, T.randomize).shifts;
+ if (T.quality == 'draft')
+ A.forEach(function (oe, ke) {
+ var Ie = oe.xCoords.map(function (Ue) {
+ return Ue + se[ke].dx;
+ }),
+ Se = oe.yCoords.map(function (Ue) {
+ return Ue + se[ke].dy;
+ });
+ (oe.xCoords = Ie), (oe.yCoords = Se);
+ });
+ else {
+ var ce = 0;
+ H.forEach(function (oe) {
+ Object.keys(N[oe]).forEach(function (ke) {
+ var Ie = N[oe][ke];
+ Ie.setCenter(
+ Ie.getCenterX() + se[ce].dx,
+ Ie.getCenterY() + se[ce].dy
+ );
+ }),
+ ce++;
+ });
+ }
+ }
+ } else {
+ var P = T.eles.boundingBox();
+ if (
+ (I.push({
+ x: P.x1 + P.w / 2,
+ y: P.y1 + P.h / 2
+ }),
+ T.randomize)
+ ) {
+ var F = m(T);
+ A.push(F);
+ }
+ T.quality == 'default' || T.quality == 'proof'
+ ? (N.push(y(T, A[0])),
+ d.relocateComponent(I[0], N[0], T))
+ : d.relocateComponent(I[0], A[0], T);
+ }
+ var ue = o(function (ke, Ie) {
+ if (T.quality == 'default' || T.quality == 'proof') {
+ typeof ke == 'number' && (ke = Ie);
+ var Se = void 0,
+ Ue = void 0,
+ Pe = ke.data('id');
+ return (
+ N.forEach(function (me) {
+ Pe in me &&
+ ((Se = {
+ x: me[Pe].getRect().getCenterX(),
+ y: me[Pe].getRect().getCenterY()
+ }),
+ (Ue = me[Pe]));
+ }),
+ T.nodeDimensionsIncludeLabels &&
+ (Ue.labelWidth &&
+ (Ue.labelPosHorizontal == 'left'
+ ? (Se.x += Ue.labelWidth / 2)
+ : Ue.labelPosHorizontal == 'right' &&
+ (Se.x -= Ue.labelWidth / 2)),
+ Ue.labelHeight &&
+ (Ue.labelPosVertical == 'top'
+ ? (Se.y += Ue.labelHeight / 2)
+ : Ue.labelPosVertical == 'bottom' &&
+ (Se.y -= Ue.labelHeight / 2))),
+ Se == null &&
+ (Se = {
+ x: ke.position('x'),
+ y: ke.position('y')
+ }),
+ { x: Se.x, y: Se.y }
+ );
+ } else {
+ var _e = void 0;
+ return (
+ A.forEach(function (me) {
+ var W = me.nodeIndexes.get(ke.id());
+ W != null &&
+ (_e = {
+ x: me.xCoords[W],
+ y: me.yCoords[W]
+ });
+ }),
+ _e == null &&
+ (_e = {
+ x: ke.position('x'),
+ y: ke.position('y')
+ }),
+ { x: _e.x, y: _e.y }
+ );
+ }
+ }, 'getPositions');
+ if (T.quality == 'default' || T.quality == 'proof' || T.randomize) {
+ var te = d.calcParentsWithoutChildren(E, _),
+ De = _.filter(function (oe) {
+ return oe.css('display') == 'none';
+ });
+ (T.eles = _.not(De)),
+ _.nodes().not(':parent').not(De).layoutPositions(S, T, ue),
+ te.length > 0 &&
+ te.forEach(function (oe) {
+ oe.position(ue(oe));
+ });
+ } else
+ console.log(
+ "If randomize option is set to false, then quality option must be 'default' or 'proof'."
+ );
+ }, 'run')
+ }
+ ]),
+ b
+ );
+ })();
+ a.exports = x;
+ },
+ 657: (a, s, l) => {
+ var u = l(548),
+ h = l(140).layoutBase.Matrix,
+ f = l(140).layoutBase.SVD,
+ d = o(function (m) {
+ var g = m.cy,
+ y = m.eles,
+ v = y.nodes(),
+ x = y.nodes(':parent'),
+ b = new Map(),
+ w = new Map(),
+ S = new Map(),
+ T = [],
+ E = [],
+ _ = [],
+ A = [],
+ L = [],
+ M = [],
+ N = [],
+ k = [],
+ I = void 0,
+ C = void 0,
+ O = 1e8,
+ D = 1e-9,
+ P = m.piTol,
+ F = m.samplingType,
+ B = m.nodeSeparation,
+ $ = void 0,
+ z = o(function () {
+ for (var we = 0, Te = 0, Ce = !1; Te < $; ) {
+ (we = Math.floor(Math.random() * C)), (Ce = !1);
+ for (var Ae = 0; Ae < Te; Ae++)
+ if (A[Ae] == we) {
+ Ce = !0;
+ break;
+ }
+ if (!Ce) (A[Te] = we), Te++;
+ else continue;
+ }
+ }, 'randomSampleCR'),
+ Y = o(function (we, Te, Ce) {
+ for (
+ var Ae = [],
+ Ge = 0,
+ Me = 0,
+ ye = 0,
+ He = void 0,
+ ze = [],
+ Ze = 0,
+ gt = 1,
+ yt = 0;
+ yt < C;
+ yt++
+ )
+ ze[yt] = O;
+ for (Ae[Me] = we, ze[we] = 0; Me >= Ge; ) {
+ ye = Ae[Ge++];
+ for (var tt = T[ye], Ye = 0; Ye < tt.length; Ye++)
+ (He = w.get(tt[Ye])),
+ ze[He] == O && ((ze[He] = ze[ye] + 1), (Ae[++Me] = He));
+ M[ye][Te] = ze[ye] * B;
+ }
+ if (Ce) {
+ for (var Je = 0; Je < C; Je++) M[Je][Te] < L[Je] && (L[Je] = M[Je][Te]);
+ for (var Ve = 0; Ve < C; Ve++) L[Ve] > Ze && ((Ze = L[Ve]), (gt = Ve));
+ }
+ return gt;
+ }, 'BFS'),
+ Q = o(function (we) {
+ var Te = void 0;
+ if (we) {
+ (Te = Math.floor(Math.random() * C)), (I = Te);
+ for (var Ae = 0; Ae < C; Ae++) L[Ae] = O;
+ for (var Ge = 0; Ge < $; Ge++) (A[Ge] = Te), (Te = Y(Te, Ge, we));
+ } else {
+ z();
+ for (var Ce = 0; Ce < $; Ce++) Y(A[Ce], Ce, we, !1);
+ }
+ for (var Me = 0; Me < C; Me++)
+ for (var ye = 0; ye < $; ye++) M[Me][ye] *= M[Me][ye];
+ for (var He = 0; He < $; He++) N[He] = [];
+ for (var ze = 0; ze < $; ze++)
+ for (var Ze = 0; Ze < $; Ze++) N[ze][Ze] = M[A[Ze]][ze];
+ }, 'allBFS'),
+ X = o(function () {
+ for (
+ var we = f.svd(N),
+ Te = we.S,
+ Ce = we.U,
+ Ae = we.V,
+ Ge = Te[0] * Te[0] * Te[0],
+ Me = [],
+ ye = 0;
+ ye < $;
+ ye++
+ ) {
+ Me[ye] = [];
+ for (var He = 0; He < $; He++)
+ (Me[ye][He] = 0),
+ ye == He &&
+ (Me[ye][He] =
+ Te[ye] / (Te[ye] * Te[ye] + Ge / (Te[ye] * Te[ye])));
+ }
+ k = h.multMat(h.multMat(Ae, Me), h.transpose(Ce));
+ }, 'sample'),
+ ie = o(function () {
+ for (
+ var we = void 0,
+ Te = void 0,
+ Ce = [],
+ Ae = [],
+ Ge = [],
+ Me = [],
+ ye = 0;
+ ye < C;
+ ye++
+ )
+ (Ce[ye] = Math.random()), (Ae[ye] = Math.random());
+ (Ce = h.normalize(Ce)), (Ae = h.normalize(Ae));
+ for (var He = 0, ze = D, Ze = D, gt = void 0; ; ) {
+ He++;
+ for (var yt = 0; yt < C; yt++) Ge[yt] = Ce[yt];
+ if (
+ ((Ce = h.multGamma(h.multL(h.multGamma(Ge), M, k))),
+ (we = h.dotProduct(Ge, Ce)),
+ (Ce = h.normalize(Ce)),
+ (ze = h.dotProduct(Ge, Ce)),
+ (gt = Math.abs(ze / Ze)),
+ gt <= 1 + P && gt >= 1)
+ )
+ break;
+ Ze = ze;
+ }
+ for (var tt = 0; tt < C; tt++) Ge[tt] = Ce[tt];
+ for (He = 0, Ze = D; ; ) {
+ He++;
+ for (var Ye = 0; Ye < C; Ye++) Me[Ye] = Ae[Ye];
+ if (
+ ((Me = h.minusOp(Me, h.multCons(Ge, h.dotProduct(Ge, Me)))),
+ (Ae = h.multGamma(h.multL(h.multGamma(Me), M, k))),
+ (Te = h.dotProduct(Me, Ae)),
+ (Ae = h.normalize(Ae)),
+ (ze = h.dotProduct(Me, Ae)),
+ (gt = Math.abs(ze / Ze)),
+ gt <= 1 + P && gt >= 1)
+ )
+ break;
+ Ze = ze;
+ }
+ for (var Je = 0; Je < C; Je++) Me[Je] = Ae[Je];
+ (E = h.multCons(Ge, Math.sqrt(Math.abs(we)))),
+ (_ = h.multCons(Me, Math.sqrt(Math.abs(Te))));
+ }, 'powerIteration');
+ u.connectComponents(g, y, u.getTopMostNodes(v), b),
+ x.forEach(function (ae) {
+ u.connectComponents(
+ g,
+ y,
+ u.getTopMostNodes(ae.descendants().intersection(y)),
+ b
+ );
+ });
+ for (var j = 0, J = 0; J < v.length; J++) v[J].isParent() || w.set(v[J].id(), j++);
+ var Z = !0,
+ H = !1,
+ q = void 0;
+ try {
+ for (
+ var K = b.keys()[Symbol.iterator](), se;
+ !(Z = (se = K.next()).done);
+ Z = !0
+ ) {
+ var ce = se.value;
+ w.set(ce, j++);
+ }
+ } catch (ae) {
+ (H = !0), (q = ae);
+ } finally {
+ try {
+ !Z && K.return && K.return();
+ } finally {
+ if (H) throw q;
+ }
+ }
+ for (var ue = 0; ue < w.size; ue++) T[ue] = [];
+ x.forEach(function (ae) {
+ for (
+ var we = ae.children().intersection(y);
+ we.nodes(':childless').length == 0;
+
+ )
+ we = we.nodes()[0].children().intersection(y);
+ var Te = 0,
+ Ce = we.nodes(':childless')[0].connectedEdges().length;
+ we.nodes(':childless').forEach(function (Ae, Ge) {
+ Ae.connectedEdges().length < Ce &&
+ ((Ce = Ae.connectedEdges().length), (Te = Ge));
+ }),
+ S.set(ae.id(), we.nodes(':childless')[Te].id());
+ }),
+ v.forEach(function (ae) {
+ var we = void 0;
+ ae.isParent() ? (we = w.get(S.get(ae.id()))) : (we = w.get(ae.id())),
+ ae
+ .neighborhood()
+ .nodes()
+ .forEach(function (Te) {
+ y.intersection(ae.edgesWith(Te)).length > 0 &&
+ (Te.isParent()
+ ? T[we].push(S.get(Te.id()))
+ : T[we].push(Te.id()));
+ });
+ });
+ var te = o(function (we) {
+ var Te = w.get(we),
+ Ce = void 0;
+ b.get(we).forEach(function (Ae) {
+ g.getElementById(Ae).isParent() ? (Ce = S.get(Ae)) : (Ce = Ae),
+ T[Te].push(Ce),
+ T[w.get(Ce)].push(we);
+ });
+ }, '_loop'),
+ De = !0,
+ oe = !1,
+ ke = void 0;
+ try {
+ for (
+ var Ie = b.keys()[Symbol.iterator](), Se;
+ !(De = (Se = Ie.next()).done);
+ De = !0
+ ) {
+ var Ue = Se.value;
+ te(Ue);
+ }
+ } catch (ae) {
+ (oe = !0), (ke = ae);
+ } finally {
+ try {
+ !De && Ie.return && Ie.return();
+ } finally {
+ if (oe) throw ke;
+ }
+ }
+ C = w.size;
+ var Pe = void 0;
+ if (C > 2) {
+ $ = C < m.sampleSize ? C : m.sampleSize;
+ for (var _e = 0; _e < C; _e++) M[_e] = [];
+ for (var me = 0; me < $; me++) k[me] = [];
+ return (
+ m.quality == 'draft' || m.step == 'all'
+ ? (Q(F), X(), ie(), (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ }))
+ : (w.forEach(function (ae, we) {
+ E.push(g.getElementById(we).position('x')),
+ _.push(g.getElementById(we).position('y'));
+ }),
+ (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ })),
+ Pe
+ );
+ } else {
+ var W = w.keys(),
+ fe = g.getElementById(W.next().value),
+ ge = fe.position(),
+ re = fe.outerWidth();
+ if ((E.push(ge.x), _.push(ge.y), C == 2)) {
+ var he = g.getElementById(W.next().value),
+ ne = he.outerWidth();
+ E.push(ge.x + re / 2 + ne / 2 + m.idealEdgeLength), _.push(ge.y);
+ }
+ return (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ }), Pe;
+ }
+ }, 'spectralLayout');
+ a.exports = { spectralLayout: d };
+ },
+ 579: (a, s, l) => {
+ var u = l(212),
+ h = o(function (d) {
+ d && d('layout', 'fcose', u);
+ }, 'register');
+ typeof cytoscape < 'u' && h(cytoscape), (a.exports = h);
+ },
+ 140: (a) => {
+ a.exports = t;
+ }
+ },
+ r = {};
+ function n(a) {
+ var s = r[a];
+ if (s !== void 0) return s.exports;
+ var l = (r[a] = { exports: {} });
+ return e[a](l, l.exports, n), l.exports;
+ }
+ o(n, '__webpack_require__');
+ var i = n(579);
+ return i;
+ })();
+ });
+ });
+ var T1,
+ J0,
+ eF = R(() => {
+ 'use strict';
+ V1();
+ (T1 = o(
+ (t) => `${t}`,
+ 'wrapIcon'
+ )),
+ (J0 = {
+ prefix: 'mermaid-architecture',
+ height: 80,
+ width: 80,
+ icons: {
+ database: {
+ body: T1(
+ ''
+ )
+ },
+ server: {
+ body: T1(
+ ''
+ )
+ },
+ disk: {
+ body: T1(
+ ''
+ )
+ },
+ internet: {
+ body: T1(
+ ''
+ )
+ },
+ cloud: {
+ body: T1(
+ ''
+ )
+ },
+ unknown: FC,
+ blank: { body: T1('') }
+ }
+ });
+ });
+ var j1e,
+ K1e,
+ Q1e,
+ Z1e,
+ J1e = R(() => {
+ 'use strict';
+ V1();
+ _t();
+ Al();
+ gb();
+ eF();
+ cC();
+ (j1e = o(async function (t, e) {
+ let r = Ci('padding'),
+ n = Ci('iconSize'),
+ i = n / 2,
+ a = n / 6,
+ s = a / 2;
+ await Promise.all(
+ e.edges().map(async (l) => {
+ let {
+ source: u,
+ sourceDir: h,
+ sourceArrow: f,
+ sourceGroup: d,
+ target: p,
+ targetDir: m,
+ targetArrow: g,
+ targetGroup: y,
+ label: v
+ } = lC(l),
+ { x, y: b } = l[0].sourceEndpoint(),
+ { x: w, y: S } = l[0].midpoint(),
+ { x: T, y: E } = l[0].targetEndpoint(),
+ _ = r + 4;
+ if (
+ (d && (cs(h) ? (x += h === 'L' ? -_ : _) : (b += h === 'T' ? -_ : _ + 18)),
+ y && (cs(m) ? (T += m === 'L' ? -_ : _) : (E += m === 'T' ? -_ : _ + 18)),
+ !d &&
+ Z0.getNode(u)?.type === 'junction' &&
+ (cs(h) ? (x += h === 'L' ? i : -i) : (b += h === 'T' ? i : -i)),
+ !y &&
+ Z0.getNode(p)?.type === 'junction' &&
+ (cs(m) ? (T += m === 'L' ? i : -i) : (E += m === 'T' ? i : -i)),
+ l[0]._private.rscratch)
+ ) {
+ let A = t.insert('g');
+ if (
+ (A.insert('path')
+ .attr('d', `M ${x},${b} L ${w},${S} L${T},${E} `)
+ .attr('class', 'edge'),
+ f)
+ ) {
+ let L = cs(h) ? pb[h](x, a) : x - s,
+ M = Wc(h) ? pb[h](b, a) : b - s;
+ A.insert('polygon')
+ .attr('points', qB[h](a))
+ .attr('transform', `translate(${L},${M})`)
+ .attr('class', 'arrow');
+ }
+ if (g) {
+ let L = cs(m) ? pb[m](T, a) : T - s,
+ M = Wc(m) ? pb[m](E, a) : E - s;
+ A.insert('polygon')
+ .attr('points', qB[m](a))
+ .attr('transform', `translate(${L},${M})`)
+ .attr('class', 'arrow');
+ }
+ if (v) {
+ let L = oC(h, m) ? 'XY' : cs(h) ? 'X' : 'Y',
+ M = 0;
+ L === 'X'
+ ? (M = Math.abs(x - T))
+ : L === 'Y'
+ ? (M = Math.abs(b - E) / 1.5)
+ : (M = Math.abs(x - T) / 2);
+ let N = A.append('g');
+ if (
+ (await ta(
+ N,
+ v,
+ {
+ useHtmlLabels: !1,
+ width: M,
+ classes: 'architecture-service-label'
+ },
+ de()
+ ),
+ N.attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle'),
+ L === 'X')
+ )
+ N.attr('transform', 'translate(' + w + ', ' + S + ')');
+ else if (L === 'Y') N.attr('transform', 'translate(' + w + ', ' + S + ') rotate(-90)');
+ else if (L === 'XY') {
+ let k = mb(h, m);
+ if (k && F1e(k)) {
+ let I = N.node().getBoundingClientRect(),
+ [C, O] = G1e(k);
+ N.attr('dominant-baseline', 'auto').attr(
+ 'transform',
+ `rotate(${-1 * C * O * 45})`
+ );
+ let D = N.node().getBoundingClientRect();
+ N.attr(
+ 'transform',
+ `
+ translate(${w}, ${S - I.height / 2})
+ translate(${(C * D.width) / 2}, ${(O * D.height) / 2})
+ rotate(${-1 * C * O * 45}, 0, ${I.height / 2})
+ `
+ );
+ }
+ }
+ }
+ }
+ })
+ );
+ }, 'drawEdges')),
+ (K1e = o(async function (t, e) {
+ let n = Ci('padding') * 0.75,
+ i = Ci('fontSize'),
+ s = Ci('iconSize') / 2;
+ await Promise.all(
+ e.nodes().map(async (l) => {
+ let u = If(l);
+ if (u.type === 'group') {
+ let { h, w: f, x1: d, y1: p } = l.boundingBox();
+ t.append('rect')
+ .attr('x', d + s)
+ .attr('y', p + s)
+ .attr('width', f)
+ .attr('height', h)
+ .attr('class', 'node-bkg');
+ let m = t.append('g'),
+ g = d,
+ y = p;
+ if (u.icon) {
+ let v = m.append('g');
+ v.html(
+ `${await zb(u.icon, { height: n, width: n, fallbackPrefix: J0.prefix })}`
+ ),
+ v.attr('transform', 'translate(' + (g + s + 1) + ', ' + (y + s + 1) + ')'),
+ (g += n),
+ (y += i / 2 - 1 - 2);
+ }
+ if (u.label) {
+ let v = m.append('g');
+ await ta(
+ v,
+ u.label,
+ {
+ useHtmlLabels: !1,
+ width: f,
+ classes: 'architecture-service-label'
+ },
+ de()
+ ),
+ v
+ .attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'start')
+ .attr('text-anchor', 'start'),
+ v.attr('transform', 'translate(' + (g + s + 4) + ', ' + (y + s + 2) + ')');
+ }
+ }
+ })
+ );
+ }, 'drawGroups')),
+ (Q1e = o(async function (t, e, r) {
+ for (let n of r) {
+ let i = e.append('g'),
+ a = Ci('iconSize');
+ if (n.title) {
+ let h = i.append('g');
+ await ta(
+ h,
+ n.title,
+ {
+ useHtmlLabels: !1,
+ width: a * 1.5,
+ classes: 'architecture-service-label'
+ },
+ de()
+ ),
+ h
+ .attr('dy', '1em')
+ .attr('alignment-baseline', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .attr('text-anchor', 'middle'),
+ h.attr('transform', 'translate(' + a / 2 + ', ' + a + ')');
+ }
+ let s = i.append('g');
+ if (n.icon)
+ s.html(`${await zb(n.icon, { height: a, width: a, fallbackPrefix: J0.prefix })}`);
+ else if (n.iconText) {
+ s.html(`${await zb('blank', { height: a, width: a, fallbackPrefix: J0.prefix })}`);
+ let d = s
+ .append('g')
+ .append('foreignObject')
+ .attr('width', a)
+ .attr('height', a)
+ .append('div')
+ .attr('class', 'node-icon-text')
+ .attr('style', `height: ${a}px;`)
+ .append('div')
+ .html(n.iconText),
+ p =
+ parseInt(
+ window
+ .getComputedStyle(d.node(), null)
+ .getPropertyValue('font-size')
+ .replace(/\D/g, '')
+ ) ?? 16;
+ d.attr('style', `-webkit-line-clamp: ${Math.floor((a - 2) / p)};`);
+ } else
+ s.append('path')
+ .attr('class', 'node-bkg')
+ .attr('id', 'node-' + n.id)
+ .attr('d', `M0 ${a} v${-a} q0,-5 5,-5 h${a} q5,0 5,5 v${a} H0 Z`);
+ i.attr('class', 'architecture-service');
+ let { width: l, height: u } = i._groups[0][0].getBBox();
+ (n.width = l), (n.height = u), t.setElementForId(n.id, i);
+ }
+ return 0;
+ }, 'drawServices')),
+ (Z1e = o(function (t, e, r) {
+ r.forEach((n) => {
+ let i = e.append('g'),
+ a = Ci('iconSize');
+ i
+ .append('g')
+ .append('rect')
+ .attr('id', 'node-' + n.id)
+ .attr('fill-opacity', '0')
+ .attr('width', a)
+ .attr('height', a),
+ i.attr('class', 'architecture-junction');
+ let { width: l, height: u } = i._groups[0][0].getBBox();
+ (i.width = l), (i.height = u), t.setElementForId(n.id, i);
+ });
+ }, 'drawJunctions'));
+ });
+ function iet(t, e) {
+ t.forEach((r) => {
+ e.add({
+ group: 'nodes',
+ data: {
+ type: 'service',
+ id: r.id,
+ icon: r.icon,
+ label: r.title,
+ parent: r.in,
+ width: Ci('iconSize'),
+ height: Ci('iconSize')
+ },
+ classes: 'node-service'
+ });
+ });
+ }
+ function aet(t, e) {
+ t.forEach((r) => {
+ e.add({
+ group: 'nodes',
+ data: {
+ type: 'junction',
+ id: r.id,
+ parent: r.in,
+ width: Ci('iconSize'),
+ height: Ci('iconSize')
+ },
+ classes: 'node-junction'
+ });
+ });
+ }
+ function set(t, e) {
+ e.nodes().map((r) => {
+ let n = If(r);
+ if (n.type === 'group') return;
+ (n.x = r.position().x),
+ (n.y = r.position().y),
+ t.getElementById(n.id).attr('transform', 'translate(' + (n.x || 0) + ',' + (n.y || 0) + ')');
+ });
+ }
+ function oet(t, e) {
+ t.forEach((r) => {
+ e.add({
+ group: 'nodes',
+ data: {
+ type: 'group',
+ id: r.id,
+ icon: r.icon,
+ label: r.title,
+ parent: r.in
+ },
+ classes: 'node-group'
+ });
+ });
+ }
+ function cet(t, e) {
+ t.forEach((r) => {
+ let {
+ lhsId: n,
+ rhsId: i,
+ lhsInto: a,
+ lhsGroup: s,
+ rhsInto: l,
+ lhsDir: u,
+ rhsDir: h,
+ rhsGroup: f,
+ title: d
+ } = r,
+ p = oC(r.lhsDir, r.rhsDir) ? 'segments' : 'straight',
+ m = {
+ id: `${n}-${i}`,
+ label: d,
+ source: n,
+ sourceDir: u,
+ sourceArrow: a,
+ sourceGroup: s,
+ sourceEndpoint: u === 'L' ? '0 50%' : u === 'R' ? '100% 50%' : u === 'T' ? '50% 0' : '50% 100%',
+ target: i,
+ targetDir: h,
+ targetArrow: l,
+ targetGroup: f,
+ targetEndpoint: h === 'L' ? '0 50%' : h === 'R' ? '100% 50%' : h === 'T' ? '50% 0' : '50% 100%'
+ };
+ e.add({ group: 'edges', data: m, classes: p });
+ });
+ }
+ function uet(t) {
+ let e = t.map((i) => {
+ let a = {},
+ s = {};
+ return (
+ Object.entries(i).forEach(([l, [u, h]]) => {
+ a[h] || (a[h] = []), s[u] || (s[u] = []), a[h].push(l), s[u].push(l);
+ }),
+ {
+ horiz: Object.values(a).filter((l) => l.length > 1),
+ vert: Object.values(s).filter((l) => l.length > 1)
+ }
+ );
+ }),
+ [r, n] = e.reduce(
+ ([i, a], { horiz: s, vert: l }) => [
+ [...i, ...s],
+ [...a, ...l]
+ ],
+ [[], []]
+ );
+ return { horizontal: r, vertical: n };
+ }
+ function het(t) {
+ let e = [],
+ r = o((i) => `${i[0]},${i[1]}`, 'posToStr'),
+ n = o((i) => i.split(',').map((a) => parseInt(a)), 'strToPos');
+ return (
+ t.forEach((i) => {
+ let a = Object.fromEntries(Object.entries(i).map(([h, f]) => [r(f), h])),
+ s = [r([0, 0])],
+ l = {},
+ u = { L: [-1, 0], R: [1, 0], T: [0, 1], B: [0, -1] };
+ for (; s.length > 0; ) {
+ let h = s.shift();
+ if (h) {
+ l[h] = 1;
+ let f = a[h];
+ if (f) {
+ let d = n(h);
+ Object.entries(u).forEach(([p, m]) => {
+ let g = r([d[0] + m[0], d[1] + m[1]]),
+ y = a[g];
+ y &&
+ !l[g] &&
+ (s.push(g),
+ e.push({
+ [WB[p]]: y,
+ [WB[B1e(p)]]: f,
+ gap: 1.5 * Ci('iconSize')
+ }));
+ });
+ }
+ }
+ }
+ }),
+ e
+ );
+ }
+ function fet(t, e, r, n, { spatialMaps: i }) {
+ return new Promise((a) => {
+ let s = $e('body').append('div').attr('id', 'cy').attr('style', 'display:none'),
+ l = rl({
+ container: document.getElementById('cy'),
+ style: [
+ {
+ selector: 'edge',
+ style: {
+ 'curve-style': 'straight',
+ label: 'data(label)',
+ 'source-endpoint': 'data(sourceEndpoint)',
+ 'target-endpoint': 'data(targetEndpoint)'
+ }
+ },
+ {
+ selector: 'edge.segments',
+ style: {
+ 'curve-style': 'segments',
+ 'segment-weights': '0',
+ 'segment-distances': [0.5],
+ 'edge-distances': 'endpoints',
+ 'source-endpoint': 'data(sourceEndpoint)',
+ 'target-endpoint': 'data(targetEndpoint)'
+ }
+ },
+ {
+ selector: 'node',
+ style: { 'compound-sizing-wrt-labels': 'include' }
+ },
+ {
+ selector: 'node[label]',
+ style: {
+ 'text-valign': 'bottom',
+ 'text-halign': 'center',
+ 'font-size': `${Ci('fontSize')}px`
+ }
+ },
+ {
+ selector: '.node-service',
+ style: {
+ label: 'data(label)',
+ width: 'data(width)',
+ height: 'data(height)'
+ }
+ },
+ {
+ selector: '.node-junction',
+ style: { width: 'data(width)', height: 'data(height)' }
+ },
+ {
+ selector: '.node-group',
+ style: { padding: `${Ci('padding')}px` }
+ }
+ ]
+ });
+ s.remove(), oet(r, l), iet(t, l), aet(e, l), cet(n, l);
+ let u = uet(i),
+ h = het(i),
+ f = l.layout({
+ name: 'fcose',
+ quality: 'proof',
+ styleEnabled: !1,
+ animate: !1,
+ nodeDimensionsIncludeLabels: !1,
+ idealEdgeLength(d) {
+ let [p, m] = d.connectedNodes(),
+ { parent: g } = If(p),
+ { parent: y } = If(m);
+ return g === y ? 1.5 * Ci('iconSize') : 0.5 * Ci('iconSize');
+ },
+ edgeElasticity(d) {
+ let [p, m] = d.connectedNodes(),
+ { parent: g } = If(p),
+ { parent: y } = If(m);
+ return g === y ? 0.45 : 0.001;
+ },
+ alignmentConstraint: u,
+ relativePlacementConstraint: h
+ });
+ f.one('layoutstop', () => {
+ function d(p, m, g, y) {
+ let v,
+ x,
+ { x: b, y: w } = p,
+ { x: S, y: T } = m;
+ (x = (y - w + ((b - g) * (w - T)) / (b - S)) / Math.sqrt(1 + Math.pow((w - T) / (b - S), 2))),
+ (v = Math.sqrt(Math.pow(y - w, 2) + Math.pow(g - b, 2) - Math.pow(x, 2)));
+ let E = Math.sqrt(Math.pow(S - b, 2) + Math.pow(T - w, 2));
+ v = v / E;
+ let _ = (S - b) * (y - w) - (T - w) * (g - b);
+ switch (!0) {
+ case _ >= 0:
+ _ = 1;
+ break;
+ case _ < 0:
+ _ = -1;
+ break;
+ }
+ let A = (S - b) * (g - b) + (T - w) * (y - w);
+ switch (!0) {
+ case A >= 0:
+ A = 1;
+ break;
+ case A < 0:
+ A = -1;
+ break;
+ }
+ return (x = Math.abs(x) * _), (v = v * A), { distances: x, weights: v };
+ }
+ o(d, 'getSegmentWeights'), l.startBatch();
+ for (let p of Object.values(l.edges()))
+ if (p.data?.()) {
+ let { x: m, y: g } = p.source().position(),
+ { x: y, y: v } = p.target().position();
+ if (m !== y && g !== v) {
+ let x = p.sourceEndpoint(),
+ b = p.targetEndpoint(),
+ { sourceDir: w } = lC(p),
+ [S, T] = Wc(w) ? [x.x, b.y] : [b.x, x.y],
+ { weights: E, distances: _ } = d(x, b, S, T);
+ p.style('segment-distances', _), p.style('segment-weights', E);
+ }
+ }
+ l.endBatch(), f.run();
+ }),
+ f.run(),
+ l.ready((d) => {
+ V.info('Ready', d), a(l);
+ });
+ });
+ }
+ var eye,
+ det,
+ tye,
+ rye = R(() => {
+ 'use strict';
+ V1();
+ vB();
+ eye = Xi(X1e(), 1);
+ Zt();
+ ut();
+ pf();
+ Yn();
+ gb();
+ eF();
+ cC();
+ J1e();
+ Fb([{ name: J0.prefix, icons: J0 }]);
+ rl.use(eye.default);
+ o(iet, 'addServices');
+ o(aet, 'addJunctions');
+ o(set, 'positionNodes');
+ o(oet, 'addGroups');
+ o(cet, 'addEdges');
+ o(uet, 'getAlignments');
+ o(het, 'getRelativeConstraints');
+ o(fet, 'layoutArchitecture');
+ (det = o(async (t, e, r, n) => {
+ let i = n.db,
+ a = i.getServices(),
+ s = i.getJunctions(),
+ l = i.getGroups(),
+ u = i.getEdges(),
+ h = i.getDataStructures(),
+ f = Ps(e),
+ d = f.append('g');
+ d.attr('class', 'architecture-edges');
+ let p = f.append('g');
+ p.attr('class', 'architecture-services');
+ let m = f.append('g');
+ m.attr('class', 'architecture-groups'), await Q1e(i, p, a), Z1e(i, p, s);
+ let g = await fet(a, s, l, u, h);
+ await j1e(d, g), await K1e(m, g), set(i, g), Lo(void 0, f, Ci('padding'), Ci('useMaxWidth'));
+ }, 'draw')),
+ (tye = { draw: det });
+ });
+ var nye = {};
+ hr(nye, { diagram: () => pet });
+ var pet,
+ iye = R(() => {
+ 'use strict';
+ Y1e();
+ gb();
+ q1e();
+ rye();
+ pet = { parser: H1e, db: Z0, renderer: tye, styles: W1e };
+ });
+ var knt = {};
+ hr(knt, { default: () => Tnt });
+ V1();
+ zC();
+ Hf();
+ var BX = 'c4',
+ mCe = o((t) => /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t), 'detector'),
+ gCe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (PX(), OX));
+ return { id: BX, diagram: t };
+ }, 'loader'),
+ yCe = { id: BX, detector: mCe, loader: gCe },
+ FX = yCe;
+ var Zre = 'flowchart',
+ SNe = o(
+ (t, e) =>
+ e?.flowchart?.defaultRenderer === 'dagre-wrapper' || e?.flowchart?.defaultRenderer === 'elk'
+ ? !1
+ : /^\s*graph/.test(t),
+ 'detector'
+ ),
+ ANe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (uT(), cT));
+ return { id: Zre, diagram: t };
+ }, 'loader'),
+ _Ne = { id: Zre, detector: SNe, loader: ANe },
+ Jre = _Ne;
+ var ene = 'flowchart-v2',
+ LNe = o(
+ (t, e) =>
+ e?.flowchart?.defaultRenderer === 'dagre-d3'
+ ? !1
+ : (e?.flowchart?.defaultRenderer === 'elk' && (e.layout = 'elk'),
+ /^\s*graph/.test(t) && e?.flowchart?.defaultRenderer === 'dagre-wrapper'
+ ? !0
+ : /^\s*flowchart/.test(t)),
+ 'detector'
+ ),
+ DNe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (uT(), cT));
+ return { id: ene, diagram: t };
+ }, 'loader'),
+ RNe = { id: ene, detector: LNe, loader: DNe },
+ tne = RNe;
+ var Dne = 'er',
+ sMe = o((t) => /^\s*erDiagram/.test(t), 'detector'),
+ oMe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Lne(), _ne));
+ return { id: Dne, diagram: t };
+ }, 'loader'),
+ lMe = { id: Dne, detector: sMe, loader: oMe },
+ Rne = lMe;
+ var $le = 'gitGraph',
+ NBe = o((t) => /^\s*gitGraph/.test(t), 'detector'),
+ MBe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Gle(), zle));
+ return { id: $le, diagram: t };
+ }, 'loader'),
+ IBe = { id: $le, detector: NBe, loader: MBe },
+ Vle = IBe;
+ var vce = 'gantt',
+ wFe = o((t) => /^\s*gantt/.test(t), 'detector'),
+ TFe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (yce(), gce));
+ return { id: vce, diagram: t };
+ }, 'loader'),
+ kFe = { id: vce, detector: wFe, loader: TFe },
+ xce = kFe;
+ var _ce = 'info',
+ LFe = o((t) => /^\s*info/.test(t), 'detector'),
+ DFe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Ace(), Sce));
+ return { id: _ce, diagram: t };
+ }, 'loader'),
+ Lce = { id: _ce, detector: LFe, loader: DFe };
+ var zce = 'pie',
+ UFe = o((t) => /^\s*pie/.test(t), 'detector'),
+ HFe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Fce(), Bce));
+ return { id: zce, diagram: t };
+ }, 'loader'),
+ Gce = { id: zce, detector: UFe, loader: HFe };
+ var Jce = 'quadrantChart',
+ lze = o((t) => /^\s*quadrantChart/.test(t), 'detector'),
+ cze = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Zce(), Qce));
+ return { id: Jce, diagram: t };
+ }, 'loader'),
+ uze = { id: Jce, detector: lze, loader: cze },
+ eue = uze;
+ var Aue = 'xychart',
+ Sze = o((t) => /^\s*xychart-beta/.test(t), 'detector'),
+ Aze = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Sue(), Cue));
+ return { id: Aue, diagram: t };
+ }, 'loader'),
+ _ze = { id: Aue, detector: Sze, loader: Aze },
+ _ue = _ze;
+ var Hue = 'requirement',
+ rGe = o((t) => /^\s*requirement(Diagram)?/.test(t), 'detector'),
+ nGe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Uue(), Vue));
+ return { id: Hue, diagram: t };
+ }, 'loader'),
+ iGe = { id: Hue, detector: rGe, loader: nGe },
+ Yue = iGe;
+ var vhe = 'sequence',
+ o$e = o((t) => /^\s*sequenceDiagram/.test(t), 'detector'),
+ l$e = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (yhe(), ghe));
+ return { id: vhe, diagram: t };
+ }, 'loader'),
+ c$e = { id: vhe, detector: o$e, loader: l$e },
+ xhe = c$e;
+ var Ihe = 'class',
+ U$e = o(
+ (t, e) => (e?.class?.defaultRenderer === 'dagre-wrapper' ? !1 : /^\s*classDiagram/.test(t)),
+ 'detector'
+ ),
+ H$e = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Mhe(), Nhe));
+ return { id: Ihe, diagram: t };
+ }, 'loader'),
+ Y$e = { id: Ihe, detector: U$e, loader: H$e },
+ Ohe = Y$e;
+ var cfe = 'classDiagram',
+ vVe = o(
+ (t, e) =>
+ /^\s*classDiagram/.test(t) && e?.class?.defaultRenderer === 'dagre-wrapper'
+ ? !0
+ : /^\s*classDiagram-v2/.test(t),
+ 'detector'
+ ),
+ xVe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (lfe(), ofe));
+ return { id: cfe, diagram: t };
+ }, 'loader'),
+ bVe = { id: cfe, detector: vVe, loader: xVe },
+ ufe = bVe;
+ var tde = 'state',
+ mUe = o(
+ (t, e) => (e?.state?.defaultRenderer === 'dagre-wrapper' ? !1 : /^\s*stateDiagram/.test(t)),
+ 'detector'
+ ),
+ gUe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (ede(), Jfe));
+ return { id: tde, diagram: t };
+ }, 'loader'),
+ yUe = { id: tde, detector: mUe, loader: gUe },
+ rde = yUe;
+ var ade = 'stateDiagram',
+ xUe = o(
+ (t, e) =>
+ !!(
+ /^\s*stateDiagram-v2/.test(t) ||
+ (/^\s*stateDiagram/.test(t) && e?.state?.defaultRenderer === 'dagre-wrapper')
+ ),
+ 'detector'
+ ),
+ bUe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (ide(), nde));
+ return { id: ade, diagram: t };
+ }, 'loader'),
+ wUe = { id: ade, detector: xUe, loader: bUe },
+ sde = wUe;
+ var Tde = 'journey',
+ VUe = o((t) => /^\s*journey/.test(t), 'detector'),
+ UUe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (wde(), bde));
+ return { id: Tde, diagram: t };
+ }, 'loader'),
+ HUe = { id: Tde, detector: VUe, loader: UUe },
+ kde = HUe;
+ ut();
+ pf();
+ Yn();
+ var YUe = o((t, e, r) => {
+ V.debug(`rendering svg for syntax error
+`);
+ let n = Ps(e),
+ i = n.append('g');
+ n.attr('viewBox', '0 0 2412 512'),
+ Sr(n, 100, 512, !0),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z'
+ ),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z'
+ ),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z'
+ ),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z'
+ ),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z'
+ ),
+ i
+ .append('path')
+ .attr('class', 'error-icon')
+ .attr(
+ 'd',
+ 'm436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z'
+ ),
+ i
+ .append('text')
+ .attr('class', 'error-text')
+ .attr('x', 1440)
+ .attr('y', 250)
+ .attr('font-size', '150px')
+ .style('text-anchor', 'middle')
+ .text('Syntax error in text'),
+ i
+ .append('text')
+ .attr('class', 'error-text')
+ .attr('x', 1250)
+ .attr('y', 400)
+ .attr('font-size', '100px')
+ .style('text-anchor', 'middle')
+ .text(`mermaid version ${r}`);
+ }, 'draw'),
+ fP = { draw: YUe },
+ Ede = fP;
+ var WUe = { db: {}, renderer: fP, parser: { parse: o(() => {}, 'parse') } },
+ Cde = WUe;
+ var Sde = 'flowchart-elk',
+ qUe = o(
+ (t, e = {}) =>
+ /^\s*flowchart-elk/.test(t) ||
+ (/^\s*flowchart|graph/.test(t) && e?.flowchart?.defaultRenderer === 'elk')
+ ? ((e.layout = 'elk'), !0)
+ : !1,
+ 'detector'
+ ),
+ XUe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (uT(), cT));
+ return { id: Sde, diagram: t };
+ }, 'loader'),
+ jUe = { id: Sde, detector: qUe, loader: XUe },
+ Ade = jUe;
+ var Jde = 'timeline',
+ pHe = o((t) => /^\s*timeline/.test(t), 'detector'),
+ mHe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Zde(), Qde));
+ return { id: Jde, diagram: t };
+ }, 'loader'),
+ gHe = { id: Jde, detector: pHe, loader: mHe },
+ e0e = gHe;
+ var vge = 'mindmap',
+ TZe = o((t) => /^\s*mindmap/.test(t), 'detector'),
+ kZe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (yge(), gge));
+ return { id: vge, diagram: t };
+ }, 'loader'),
+ EZe = { id: vge, detector: TZe, loader: kZe },
+ xge = EZe;
+ var Zge = 'sankey',
+ WZe = o((t) => /^\s*sankey-beta/.test(t), 'detector'),
+ qZe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (Qge(), Kge));
+ return { id: Zge, diagram: t };
+ }, 'loader'),
+ XZe = { id: Zge, detector: WZe, loader: qZe },
+ Jge = XZe;
+ var c1e = 'packet',
+ oJe = o((t) => /^\s*packet-beta/.test(t), 'detector'),
+ lJe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (l1e(), o1e));
+ return { id: c1e, diagram: t };
+ }, 'loader'),
+ u1e = { id: c1e, detector: oJe, loader: lJe };
+ var O1e = 'block',
+ FJe = o((t) => /^\s*block-beta/.test(t), 'detector'),
+ zJe = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (I1e(), M1e));
+ return { id: O1e, diagram: t };
+ }, 'loader'),
+ GJe = { id: O1e, detector: FJe, loader: zJe },
+ P1e = GJe;
+ var aye = 'architecture',
+ met = o((t) => /^\s*architecture/.test(t), 'detector'),
+ get = o(async () => {
+ let { diagram: t } = await Promise.resolve().then(() => (iye(), nye));
+ return { id: aye, diagram: t };
+ }, 'loader'),
+ yet = { id: aye, detector: met, loader: get },
+ sye = yet;
+ Hf();
+ _t();
+ var oye = !1,
+ k1 = o(() => {
+ oye ||
+ ((oye = !0),
+ Jf('error', Cde, (t) => t.toLowerCase().trim() === 'error'),
+ Jf(
+ '---',
+ {
+ db: { clear: o(() => {}, 'clear') },
+ styles: {},
+ renderer: { draw: o(() => {}, 'draw') },
+ parser: {
+ parse: o(() => {
+ throw new Error(
+ "Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks"
+ );
+ }, 'parse')
+ },
+ init: o(() => null, 'init')
+ },
+ (t) => t.toLowerCase().trimStart().startsWith('---')
+ ),
+ Ub(
+ FX,
+ ufe,
+ Ohe,
+ Rne,
+ xce,
+ Lce,
+ Gce,
+ Yue,
+ xhe,
+ Ade,
+ tne,
+ Jre,
+ xge,
+ e0e,
+ Vle,
+ sde,
+ rde,
+ kde,
+ eue,
+ Jge,
+ u1e,
+ _ue,
+ P1e,
+ sye
+ ));
+ }, 'addDiagrams');
+ ut();
+ Hf();
+ _t();
+ var lye = o(async () => {
+ V.debug('Loading registered diagrams');
+ let e = (
+ await Promise.allSettled(
+ Object.entries(Uf).map(async ([r, { detector: n, loader: i }]) => {
+ if (i)
+ try {
+ cy(r);
+ } catch {
+ try {
+ let { diagram: a, id: s } = await i();
+ Jf(s, a, n);
+ } catch (a) {
+ throw (
+ (V.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),
+ delete Uf[r],
+ a)
+ );
+ }
+ }
+ })
+ )
+ ).filter((r) => r.status === 'rejected');
+ if (e.length > 0) {
+ V.error(`Failed to load ${e.length} external diagrams`);
+ for (let r of e) V.error(r);
+ throw new Error(`Failed to load ${e.length} external diagrams`);
+ }
+ }, 'loadRegisteredDiagrams');
+ ut();
+ Zt();
+ var uC = 'comm',
+ hC = 'rule',
+ fC = 'decl';
+ var cye = '@import';
+ var uye = '@keyframes';
+ var hye = '@layer';
+ var tF = Math.abs,
+ bb = String.fromCharCode;
+ function dC(t) {
+ return t.trim();
+ }
+ o(dC, 'trim');
+ function wb(t, e, r) {
+ return t.replace(e, r);
+ }
+ o(wb, 'replace');
+ function fye(t, e, r) {
+ return t.indexOf(e, r);
+ }
+ o(fye, 'indexof');
+ function ep(t, e) {
+ return t.charCodeAt(e) | 0;
+ }
+ o(ep, 'charat');
+ function Of(t, e, r) {
+ return t.slice(e, r);
+ }
+ o(Of, 'substr');
+ function wo(t) {
+ return t.length;
+ }
+ o(wo, 'strlen');
+ function dye(t) {
+ return t.length;
+ }
+ o(dye, 'sizeof');
+ function E1(t, e) {
+ return e.push(t), t;
+ }
+ o(E1, 'append');
+ var pC = 1,
+ C1 = 1,
+ pye = 0,
+ nl = 0,
+ Si = 0,
+ A1 = '';
+ function mC(t, e, r, n, i, a, s, l) {
+ return {
+ value: t,
+ root: e,
+ parent: r,
+ type: n,
+ props: i,
+ children: a,
+ line: pC,
+ column: C1,
+ length: s,
+ return: '',
+ siblings: l
+ };
+ }
+ o(mC, 'node');
+ function mye() {
+ return Si;
+ }
+ o(mye, 'char');
+ function gye() {
+ return (Si = nl > 0 ? ep(A1, --nl) : 0), C1--, Si === 10 && ((C1 = 1), pC--), Si;
+ }
+ o(gye, 'prev');
+ function il() {
+ return (Si = nl < pye ? ep(A1, nl++) : 0), C1++, Si === 10 && ((C1 = 1), pC++), Si;
+ }
+ o(il, 'next');
+ function th() {
+ return ep(A1, nl);
+ }
+ o(th, 'peek');
+ function Tb() {
+ return nl;
+ }
+ o(Tb, 'caret');
+ function gC(t, e) {
+ return Of(A1, t, e);
+ }
+ o(gC, 'slice');
+ function S1(t) {
+ switch (t) {
+ case 0:
+ case 9:
+ case 10:
+ case 13:
+ case 32:
+ return 5;
+ case 33:
+ case 43:
+ case 44:
+ case 47:
+ case 62:
+ case 64:
+ case 126:
+ case 59:
+ case 123:
+ case 125:
+ return 4;
+ case 58:
+ return 3;
+ case 34:
+ case 39:
+ case 40:
+ case 91:
+ return 2;
+ case 41:
+ case 93:
+ return 1;
+ }
+ return 0;
+ }
+ o(S1, 'token');
+ function yye(t) {
+ return (pC = C1 = 1), (pye = wo((A1 = t))), (nl = 0), [];
+ }
+ o(yye, 'alloc');
+ function vye(t) {
+ return (A1 = ''), t;
+ }
+ o(vye, 'dealloc');
+ function yC(t) {
+ return dC(gC(nl - 1, rF(t === 91 ? t + 2 : t === 40 ? t + 1 : t)));
+ }
+ o(yC, 'delimit');
+ function xye(t) {
+ for (; (Si = th()) && Si < 33; ) il();
+ return S1(t) > 2 || S1(Si) > 3 ? '' : ' ';
+ }
+ o(xye, 'whitespace');
+ function bye(t, e) {
+ for (; --e && il() && !(Si < 48 || Si > 102 || (Si > 57 && Si < 65) || (Si > 70 && Si < 97)); );
+ return gC(t, Tb() + (e < 6 && th() == 32 && il() == 32));
+ }
+ o(bye, 'escaping');
+ function rF(t) {
+ for (; il(); )
+ switch (Si) {
+ case t:
+ return nl;
+ case 34:
+ case 39:
+ t !== 34 && t !== 39 && rF(Si);
+ break;
+ case 40:
+ t === 41 && rF(t);
+ break;
+ case 92:
+ il();
+ break;
+ }
+ return nl;
+ }
+ o(rF, 'delimiter');
+ function wye(t, e) {
+ for (; il() && t + Si !== 57; ) if (t + Si === 84 && th() === 47) break;
+ return '/*' + gC(e, nl - 1) + '*' + bb(t === 47 ? t : il());
+ }
+ o(wye, 'commenter');
+ function Tye(t) {
+ for (; !S1(th()); ) il();
+ return gC(t, nl);
+ }
+ o(Tye, 'identifier');
+ function Cye(t) {
+ return vye(vC('', null, null, null, [''], (t = yye(t)), 0, [0], t));
+ }
+ o(Cye, 'compile');
+ function vC(t, e, r, n, i, a, s, l, u) {
+ for (
+ var h = 0,
+ f = 0,
+ d = s,
+ p = 0,
+ m = 0,
+ g = 0,
+ y = 1,
+ v = 1,
+ x = 1,
+ b = 0,
+ w = '',
+ S = i,
+ T = a,
+ E = n,
+ _ = w;
+ v;
+
+ )
+ switch (((g = b), (b = il()))) {
+ case 40:
+ if (g != 108 && ep(_, d - 1) == 58) {
+ fye((_ += wb(yC(b), '&', '&\f')), '&\f', tF(h ? l[h - 1] : 0)) != -1 && (x = -1);
+ break;
+ }
+ case 34:
+ case 39:
+ case 91:
+ _ += yC(b);
+ break;
+ case 9:
+ case 10:
+ case 13:
+ case 32:
+ _ += xye(g);
+ break;
+ case 92:
+ _ += bye(Tb() - 1, 7);
+ continue;
+ case 47:
+ switch (th()) {
+ case 42:
+ case 47:
+ E1(vet(wye(il(), Tb()), e, r, u), u),
+ (S1(g || 1) == 5 || S1(th() || 1) == 5) &&
+ wo(_) &&
+ Of(_, -1, void 0) !== ' ' &&
+ (_ += ' ');
+ break;
+ default:
+ _ += '/';
+ }
+ break;
+ case 123 * y:
+ l[h++] = wo(_) * x;
+ case 125 * y:
+ case 59:
+ case 0:
+ switch (b) {
+ case 0:
+ case 125:
+ v = 0;
+ case 59 + f:
+ x == -1 && (_ = wb(_, /\f/g, '')),
+ m > 0 &&
+ (wo(_) - d || (y === 0 && g === 47)) &&
+ E1(
+ m > 32
+ ? Eye(_ + ';', n, r, d - 1, u)
+ : Eye(wb(_, ' ', '') + ';', n, r, d - 2, u),
+ u
+ );
+ break;
+ case 59:
+ _ += ';';
+ default:
+ if ((E1((E = kye(_, e, r, h, f, i, l, w, (S = []), (T = []), d, a)), a), b === 123))
+ if (f === 0) vC(_, e, E, E, S, a, d, l, T);
+ else
+ switch (p === 99 && ep(_, 3) === 110 ? 100 : p) {
+ case 100:
+ case 108:
+ case 109:
+ case 115:
+ vC(
+ t,
+ E,
+ E,
+ n && E1(kye(t, E, E, 0, 0, i, l, w, i, (S = []), d, T), T),
+ i,
+ T,
+ d,
+ l,
+ n ? S : T
+ );
+ break;
+ default:
+ vC(_, E, E, E, [''], T, 0, l, T);
+ }
+ }
+ (h = f = m = 0), (y = x = 1), (w = _ = ''), (d = s);
+ break;
+ case 58:
+ (d = 1 + wo(_)), (m = g);
+ default:
+ if (y < 1) {
+ if (b == 123) --y;
+ else if (b == 125 && y++ == 0 && gye() == 125) continue;
+ }
+ switch (((_ += bb(b)), b * y)) {
+ case 38:
+ x = f > 0 ? 1 : ((_ += '\f'), -1);
+ break;
+ case 44:
+ (l[h++] = (wo(_) - 1) * x), (x = 1);
+ break;
+ case 64:
+ th() === 45 && (_ += yC(il())), (p = th()), (f = d = wo((w = _ += Tye(Tb())))), b++;
+ break;
+ case 45:
+ g === 45 && wo(_) == 2 && (y = 0);
+ }
+ }
+ return a;
+ }
+ o(vC, 'parse');
+ function kye(t, e, r, n, i, a, s, l, u, h, f, d) {
+ for (var p = i - 1, m = i === 0 ? a : [''], g = dye(m), y = 0, v = 0, x = 0; y < n; ++y)
+ for (var b = 0, w = Of(t, p + 1, (p = tF((v = s[y])))), S = t; b < g; ++b)
+ (S = dC(v > 0 ? m[b] + ' ' + w : wb(w, /&\f/g, m[b]))) && (u[x++] = S);
+ return mC(t, e, r, i === 0 ? hC : l, u, h, f, d);
+ }
+ o(kye, 'ruleset');
+ function vet(t, e, r, n) {
+ return mC(t, e, r, uC, bb(mye()), Of(t, 2, -2), 0, n);
+ }
+ o(vet, 'comment');
+ function Eye(t, e, r, n, i) {
+ return mC(t, e, r, fC, Of(t, 0, n), Of(t, n + 1, -1), n, i);
+ }
+ o(Eye, 'declaration');
+ function xC(t, e) {
+ for (var r = '', n = 0; n < t.length; n++) r += e(t[n], n, t, e) || '';
+ return r;
+ }
+ o(xC, 'serialize');
+ function Sye(t, e, r, n) {
+ switch (t.type) {
+ case hye:
+ if (t.children.length) break;
+ case cye:
+ case fC:
+ return (t.return = t.return || t.value);
+ case uC:
+ return '';
+ case uye:
+ return (t.return = t.value + '{' + xC(t.children, n) + '}');
+ case hC:
+ if (!wo((t.value = t.props.join(',')))) return '';
+ }
+ return wo((r = xC(t.children, n))) ? (t.return = t.value + '{' + r + '}') : '';
+ }
+ o(Sye, 'stringify');
+ var Sve = Xi(o7(), 1);
+ Ww();
+ HI();
+ var xet = 'graphics-document document';
+ function Aye(t, e) {
+ t.attr('role', xet), e !== '' && t.attr('aria-roledescription', e);
+ }
+ o(Aye, 'setA11yDiagramInfo');
+ function _ye(t, e, r, n) {
+ if (t.insert !== void 0) {
+ if (r) {
+ let i = `chart-desc-${n}`;
+ t.attr('aria-describedby', i), t.insert('desc', ':first-child').attr('id', i).text(r);
+ }
+ if (e) {
+ let i = `chart-title-${n}`;
+ t.attr('aria-labelledby', i), t.insert('title', ':first-child').attr('id', i).text(e);
+ }
+ }
+ }
+ o(_ye, 'addSVGa11yTitleDescription');
+ cp();
+ qs();
+ qs();
+ _t();
+ Hf();
+ GC();
+ xr();
+ var _1 = class t {
+ constructor(e, r, n, i, a) {
+ this.type = e;
+ this.text = r;
+ this.db = n;
+ this.parser = i;
+ this.renderer = a;
+ }
+ static {
+ o(this, 'Diagram');
+ }
+ static async fromText(e, r = {}) {
+ let n = Or(),
+ i = lp(e, n);
+ e =
+ SX(e) +
+ `
+`;
+ try {
+ cy(i);
+ } catch {
+ let h = tz(i);
+ if (!h) throw new op(`Diagram ${i} not found.`);
+ let { id: f, diagram: d } = await h();
+ Jf(f, d);
+ }
+ let { db: a, parser: s, renderer: l, init: u } = cy(i);
+ return (
+ s.parser && (s.parser.yy = a),
+ a.clear?.(),
+ u?.(n),
+ r.title && a.setDiagramTitle?.(r.title),
+ await s.parse(e),
+ new t(i, e, a, s, l)
+ );
+ }
+ async render(e, r) {
+ await this.renderer.draw(this.text, e, r, this);
+ }
+ getParser() {
+ return this.parser;
+ }
+ getType() {
+ return this.type;
+ }
+ };
+ rr();
+ var Lye = [];
+ var Dye = o(() => {
+ Lye.forEach((t) => {
+ t();
+ }),
+ (Lye = []);
+ }, 'attachFunctions');
+ ut();
+ var Rye = o((t) => t.replace(/^\s*%%(?!{)[^\n]+\n?/gm, '').trimStart(), 'cleanupComments');
+ Vb();
+ function qye(t) {
+ return typeof t > 'u' || t === null;
+ }
+ o(qye, 'isNothing');
+ function bet(t) {
+ return typeof t == 'object' && t !== null;
+ }
+ o(bet, 'isObject');
+ function wet(t) {
+ return Array.isArray(t) ? t : qye(t) ? [] : [t];
+ }
+ o(wet, 'toArray');
+ function Tet(t, e) {
+ var r, n, i, a;
+ if (e) for (a = Object.keys(e), r = 0, n = a.length; r < n; r += 1) (i = a[r]), (t[i] = e[i]);
+ return t;
+ }
+ o(Tet, 'extend');
+ function ket(t, e) {
+ var r = '',
+ n;
+ for (n = 0; n < e; n += 1) r += t;
+ return r;
+ }
+ o(ket, 'repeat');
+ function Eet(t) {
+ return t === 0 && Number.NEGATIVE_INFINITY === 1 / t;
+ }
+ o(Eet, 'isNegativeZero');
+ var Cet = qye,
+ Aet = bet,
+ _et = wet,
+ Let = ket,
+ Det = Eet,
+ Ret = Tet,
+ Wi = {
+ isNothing: Cet,
+ isObject: Aet,
+ toArray: _et,
+ repeat: Let,
+ isNegativeZero: Det,
+ extend: Ret
+ };
+ function Xye(t, e) {
+ var r = '',
+ n = t.reason || '(unknown reason)';
+ return t.mark
+ ? (t.mark.name && (r += 'in "' + t.mark.name + '" '),
+ (r += '(' + (t.mark.line + 1) + ':' + (t.mark.column + 1) + ')'),
+ !e &&
+ t.mark.snippet &&
+ (r +=
+ `
+
+` + t.mark.snippet),
+ n + ' ' + r)
+ : n;
+ }
+ o(Xye, 'formatError');
+ function Eb(t, e) {
+ Error.call(this),
+ (this.name = 'YAMLException'),
+ (this.reason = t),
+ (this.mark = e),
+ (this.message = Xye(this, !1)),
+ Error.captureStackTrace
+ ? Error.captureStackTrace(this, this.constructor)
+ : (this.stack = new Error().stack || '');
+ }
+ o(Eb, 'YAMLException$1');
+ Eb.prototype = Object.create(Error.prototype);
+ Eb.prototype.constructor = Eb;
+ Eb.prototype.toString = o(function (e) {
+ return this.name + ': ' + Xye(this, e);
+ }, 'toString');
+ var $s = Eb;
+ function nF(t, e, r, n, i) {
+ var a = '',
+ s = '',
+ l = Math.floor(i / 2) - 1;
+ return (
+ n - e > l && ((a = ' ... '), (e = n - l + a.length)),
+ r - n > l && ((s = ' ...'), (r = n + l - s.length)),
+ {
+ str: a + t.slice(e, r).replace(/\t/g, '\u2192') + s,
+ pos: n - e + a.length
+ }
+ );
+ }
+ o(nF, 'getLine');
+ function iF(t, e) {
+ return Wi.repeat(' ', e - t.length) + t;
+ }
+ o(iF, 'padStart');
+ function Net(t, e) {
+ if (((e = Object.create(e || null)), !t.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 r = /\r?\n|\r|\0/g, n = [0], i = [], a, s = -1; (a = r.exec(t.buffer)); )
+ i.push(a.index), n.push(a.index + a[0].length), t.position <= a.index && s < 0 && (s = n.length - 2);
+ s < 0 && (s = n.length - 1);
+ var l = '',
+ u,
+ h,
+ f = Math.min(t.line + e.linesAfter, i.length).toString().length,
+ d = e.maxLength - (e.indent + f + 3);
+ for (u = 1; u <= e.linesBefore && !(s - u < 0); u++)
+ (h = nF(t.buffer, n[s - u], i[s - u], t.position - (n[s] - n[s - u]), d)),
+ (l =
+ Wi.repeat(' ', e.indent) +
+ iF((t.line - u + 1).toString(), f) +
+ ' | ' +
+ h.str +
+ `
+` +
+ l);
+ for (
+ h = nF(t.buffer, n[s], i[s], t.position, d),
+ l +=
+ Wi.repeat(' ', e.indent) +
+ iF((t.line + 1).toString(), f) +
+ ' | ' +
+ h.str +
+ `
+`,
+ l +=
+ Wi.repeat('-', e.indent + f + 3 + h.pos) +
+ `^
+`,
+ u = 1;
+ u <= e.linesAfter && !(s + u >= i.length);
+ u++
+ )
+ (h = nF(t.buffer, n[s + u], i[s + u], t.position - (n[s] - n[s + u]), d)),
+ (l +=
+ Wi.repeat(' ', e.indent) +
+ iF((t.line + u + 1).toString(), f) +
+ ' | ' +
+ h.str +
+ `
+`);
+ return l.replace(/\n$/, '');
+ }
+ o(Net, 'makeSnippet');
+ var Met = Net,
+ Iet = [
+ 'kind',
+ 'multi',
+ 'resolve',
+ 'construct',
+ 'instanceOf',
+ 'predicate',
+ 'represent',
+ 'representName',
+ 'defaultStyle',
+ 'styleAliases'
+ ],
+ Oet = ['scalar', 'sequence', 'mapping'];
+ function Pet(t) {
+ var e = {};
+ return (
+ t !== null &&
+ Object.keys(t).forEach(function (r) {
+ t[r].forEach(function (n) {
+ e[String(n)] = r;
+ });
+ }),
+ e
+ );
+ }
+ o(Pet, 'compileStyleAliases');
+ function Bet(t, e) {
+ if (
+ ((e = e || {}),
+ Object.keys(e).forEach(function (r) {
+ if (Iet.indexOf(r) === -1)
+ throw new $s('Unknown option "' + r + '" is met in definition of "' + t + '" YAML type.');
+ }),
+ (this.options = e),
+ (this.tag = t),
+ (this.kind = e.kind || null),
+ (this.resolve =
+ e.resolve ||
+ function () {
+ return !0;
+ }),
+ (this.construct =
+ e.construct ||
+ function (r) {
+ return r;
+ }),
+ (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 = Pet(e.styleAliases || null)),
+ Oet.indexOf(this.kind) === -1)
+ )
+ throw new $s('Unknown kind "' + this.kind + '" is specified for "' + t + '" YAML type.');
+ }
+ o(Bet, 'Type$1');
+ var Va = Bet;
+ function Nye(t, e) {
+ var r = [];
+ return (
+ t[e].forEach(function (n) {
+ var i = r.length;
+ r.forEach(function (a, s) {
+ a.tag === n.tag && a.kind === n.kind && a.multi === n.multi && (i = s);
+ }),
+ (r[i] = n);
+ }),
+ r
+ );
+ }
+ o(Nye, 'compileList');
+ function Fet() {
+ var t = {
+ scalar: {},
+ sequence: {},
+ mapping: {},
+ fallback: {},
+ multi: { scalar: [], sequence: [], mapping: [], fallback: [] }
+ },
+ e,
+ r;
+ function n(i) {
+ i.multi ? (t.multi[i.kind].push(i), t.multi.fallback.push(i)) : (t[i.kind][i.tag] = t.fallback[i.tag] = i);
+ }
+ for (o(n, 'collectType'), e = 0, r = arguments.length; e < r; e += 1) arguments[e].forEach(n);
+ return t;
+ }
+ o(Fet, 'compileMap');
+ function sF(t) {
+ return this.extend(t);
+ }
+ o(sF, 'Schema$1');
+ sF.prototype.extend = o(function (e) {
+ var r = [],
+ n = [];
+ if (e instanceof Va) n.push(e);
+ else if (Array.isArray(e)) n = n.concat(e);
+ else if (e && (Array.isArray(e.implicit) || Array.isArray(e.explicit)))
+ e.implicit && (r = r.concat(e.implicit)), e.explicit && (n = n.concat(e.explicit));
+ else
+ throw new $s(
+ 'Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })'
+ );
+ r.forEach(function (a) {
+ if (!(a instanceof Va))
+ throw new $s('Specified list of YAML types (or a single Type object) contains a non-Type object.');
+ if (a.loadKind && a.loadKind !== 'scalar')
+ throw new $s(
+ 'There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'
+ );
+ if (a.multi)
+ throw new $s(
+ 'There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.'
+ );
+ }),
+ n.forEach(function (a) {
+ if (!(a instanceof Va))
+ throw new $s('Specified list of YAML types (or a single Type object) contains a non-Type object.');
+ });
+ var i = Object.create(sF.prototype);
+ return (
+ (i.implicit = (this.implicit || []).concat(r)),
+ (i.explicit = (this.explicit || []).concat(n)),
+ (i.compiledImplicit = Nye(i, 'implicit')),
+ (i.compiledExplicit = Nye(i, 'explicit')),
+ (i.compiledTypeMap = Fet(i.compiledImplicit, i.compiledExplicit)),
+ i
+ );
+ }, 'extend');
+ var zet = sF,
+ Get = new Va('tag:yaml.org,2002:str', {
+ kind: 'scalar',
+ construct: o(function (t) {
+ return t !== null ? t : '';
+ }, 'construct')
+ }),
+ $et = new Va('tag:yaml.org,2002:seq', {
+ kind: 'sequence',
+ construct: o(function (t) {
+ return t !== null ? t : [];
+ }, 'construct')
+ }),
+ Vet = new Va('tag:yaml.org,2002:map', {
+ kind: 'mapping',
+ construct: o(function (t) {
+ return t !== null ? t : {};
+ }, 'construct')
+ }),
+ Uet = new zet({ explicit: [Get, $et, Vet] });
+ function Het(t) {
+ if (t === null) return !0;
+ var e = t.length;
+ return (e === 1 && t === '~') || (e === 4 && (t === 'null' || t === 'Null' || t === 'NULL'));
+ }
+ o(Het, 'resolveYamlNull');
+ function Yet() {
+ return null;
+ }
+ o(Yet, 'constructYamlNull');
+ function Wet(t) {
+ return t === null;
+ }
+ o(Wet, 'isNull');
+ var qet = new Va('tag:yaml.org,2002:null', {
+ kind: 'scalar',
+ resolve: Het,
+ construct: Yet,
+ predicate: Wet,
+ represent: {
+ canonical: o(function () {
+ return '~';
+ }, 'canonical'),
+ lowercase: o(function () {
+ return 'null';
+ }, 'lowercase'),
+ uppercase: o(function () {
+ return 'NULL';
+ }, 'uppercase'),
+ camelcase: o(function () {
+ return 'Null';
+ }, 'camelcase'),
+ empty: o(function () {
+ return '';
+ }, 'empty')
+ },
+ defaultStyle: 'lowercase'
+ });
+ function Xet(t) {
+ if (t === null) return !1;
+ var e = t.length;
+ return (
+ (e === 4 && (t === 'true' || t === 'True' || t === 'TRUE')) ||
+ (e === 5 && (t === 'false' || t === 'False' || t === 'FALSE'))
+ );
+ }
+ o(Xet, 'resolveYamlBoolean');
+ function jet(t) {
+ return t === 'true' || t === 'True' || t === 'TRUE';
+ }
+ o(jet, 'constructYamlBoolean');
+ function Ket(t) {
+ return Object.prototype.toString.call(t) === '[object Boolean]';
+ }
+ o(Ket, 'isBoolean');
+ var Qet = new Va('tag:yaml.org,2002:bool', {
+ kind: 'scalar',
+ resolve: Xet,
+ construct: jet,
+ predicate: Ket,
+ represent: {
+ lowercase: o(function (t) {
+ return t ? 'true' : 'false';
+ }, 'lowercase'),
+ uppercase: o(function (t) {
+ return t ? 'TRUE' : 'FALSE';
+ }, 'uppercase'),
+ camelcase: o(function (t) {
+ return t ? 'True' : 'False';
+ }, 'camelcase')
+ },
+ defaultStyle: 'lowercase'
+ });
+ function Zet(t) {
+ return (48 <= t && t <= 57) || (65 <= t && t <= 70) || (97 <= t && t <= 102);
+ }
+ o(Zet, 'isHexCode');
+ function Jet(t) {
+ return 48 <= t && t <= 55;
+ }
+ o(Jet, 'isOctCode');
+ function ett(t) {
+ return 48 <= t && t <= 57;
+ }
+ o(ett, 'isDecCode');
+ function ttt(t) {
+ if (t === null) return !1;
+ var e = t.length,
+ r = 0,
+ n = !1,
+ i;
+ if (!e) return !1;
+ if (((i = t[r]), (i === '-' || i === '+') && (i = t[++r]), i === '0')) {
+ if (r + 1 === e) return !0;
+ if (((i = t[++r]), i === 'b')) {
+ for (r++; r < e; r++)
+ if (((i = t[r]), i !== '_')) {
+ if (i !== '0' && i !== '1') return !1;
+ n = !0;
+ }
+ return n && i !== '_';
+ }
+ if (i === 'x') {
+ for (r++; r < e; r++)
+ if (((i = t[r]), i !== '_')) {
+ if (!Zet(t.charCodeAt(r))) return !1;
+ n = !0;
+ }
+ return n && i !== '_';
+ }
+ if (i === 'o') {
+ for (r++; r < e; r++)
+ if (((i = t[r]), i !== '_')) {
+ if (!Jet(t.charCodeAt(r))) return !1;
+ n = !0;
+ }
+ return n && i !== '_';
+ }
+ }
+ if (i === '_') return !1;
+ for (; r < e; r++)
+ if (((i = t[r]), i !== '_')) {
+ if (!ett(t.charCodeAt(r))) return !1;
+ n = !0;
+ }
+ return !(!n || i === '_');
+ }
+ o(ttt, 'resolveYamlInteger');
+ function rtt(t) {
+ var e = t,
+ r = 1,
+ n;
+ if (
+ (e.indexOf('_') !== -1 && (e = e.replace(/_/g, '')),
+ (n = e[0]),
+ (n === '-' || n === '+') && (n === '-' && (r = -1), (e = e.slice(1)), (n = e[0])),
+ e === '0')
+ )
+ return 0;
+ if (n === '0') {
+ if (e[1] === 'b') return r * parseInt(e.slice(2), 2);
+ if (e[1] === 'x') return r * parseInt(e.slice(2), 16);
+ if (e[1] === 'o') return r * parseInt(e.slice(2), 8);
+ }
+ return r * parseInt(e, 10);
+ }
+ o(rtt, 'constructYamlInteger');
+ function ntt(t) {
+ return Object.prototype.toString.call(t) === '[object Number]' && t % 1 === 0 && !Wi.isNegativeZero(t);
+ }
+ o(ntt, 'isInteger');
+ var itt = new Va('tag:yaml.org,2002:int', {
+ kind: 'scalar',
+ resolve: ttt,
+ construct: rtt,
+ predicate: ntt,
+ represent: {
+ binary: o(function (t) {
+ return t >= 0 ? '0b' + t.toString(2) : '-0b' + t.toString(2).slice(1);
+ }, 'binary'),
+ octal: o(function (t) {
+ return t >= 0 ? '0o' + t.toString(8) : '-0o' + t.toString(8).slice(1);
+ }, 'octal'),
+ decimal: o(function (t) {
+ return t.toString(10);
+ }, 'decimal'),
+ hexadecimal: o(function (t) {
+ return t >= 0 ? '0x' + t.toString(16).toUpperCase() : '-0x' + t.toString(16).toUpperCase().slice(1);
+ }, 'hexadecimal')
+ },
+ defaultStyle: 'decimal',
+ styleAliases: {
+ binary: [2, 'bin'],
+ octal: [8, 'oct'],
+ decimal: [10, 'dec'],
+ hexadecimal: [16, 'hex']
+ }
+ }),
+ att = new RegExp(
+ '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$'
+ );
+ function stt(t) {
+ return !(t === null || !att.test(t) || t[t.length - 1] === '_');
+ }
+ o(stt, 'resolveYamlFloat');
+ function ott(t) {
+ var e, r;
+ return (
+ (e = t.replace(/_/g, '').toLowerCase()),
+ (r = e[0] === '-' ? -1 : 1),
+ '+-'.indexOf(e[0]) >= 0 && (e = e.slice(1)),
+ e === '.inf'
+ ? r === 1
+ ? Number.POSITIVE_INFINITY
+ : Number.NEGATIVE_INFINITY
+ : e === '.nan'
+ ? NaN
+ : r * parseFloat(e, 10)
+ );
+ }
+ o(ott, 'constructYamlFloat');
+ var ltt = /^[-+]?[0-9]+e/;
+ function ctt(t, e) {
+ var r;
+ if (isNaN(t))
+ switch (e) {
+ case 'lowercase':
+ return '.nan';
+ case 'uppercase':
+ return '.NAN';
+ case 'camelcase':
+ return '.NaN';
+ }
+ else if (Number.POSITIVE_INFINITY === t)
+ switch (e) {
+ case 'lowercase':
+ return '.inf';
+ case 'uppercase':
+ return '.INF';
+ case 'camelcase':
+ return '.Inf';
+ }
+ else if (Number.NEGATIVE_INFINITY === t)
+ switch (e) {
+ case 'lowercase':
+ return '-.inf';
+ case 'uppercase':
+ return '-.INF';
+ case 'camelcase':
+ return '-.Inf';
+ }
+ else if (Wi.isNegativeZero(t)) return '-0.0';
+ return (r = t.toString(10)), ltt.test(r) ? r.replace('e', '.e') : r;
+ }
+ o(ctt, 'representYamlFloat');
+ function utt(t) {
+ return Object.prototype.toString.call(t) === '[object Number]' && (t % 1 !== 0 || Wi.isNegativeZero(t));
+ }
+ o(utt, 'isFloat');
+ var htt = new Va('tag:yaml.org,2002:float', {
+ kind: 'scalar',
+ resolve: stt,
+ construct: ott,
+ predicate: utt,
+ represent: ctt,
+ defaultStyle: 'lowercase'
+ }),
+ jye = Uet.extend({ implicit: [qet, Qet, itt, htt] }),
+ ftt = jye,
+ Kye = new RegExp('^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$'),
+ Qye = 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 dtt(t) {
+ return t === null ? !1 : Kye.exec(t) !== null || Qye.exec(t) !== null;
+ }
+ o(dtt, 'resolveYamlTimestamp');
+ function ptt(t) {
+ var e,
+ r,
+ n,
+ i,
+ a,
+ s,
+ l,
+ u = 0,
+ h = null,
+ f,
+ d,
+ p;
+ if (((e = Kye.exec(t)), e === null && (e = Qye.exec(t)), e === null)) throw new Error('Date resolve error');
+ if (((r = +e[1]), (n = +e[2] - 1), (i = +e[3]), !e[4])) return new Date(Date.UTC(r, n, i));
+ if (((a = +e[4]), (s = +e[5]), (l = +e[6]), e[7])) {
+ for (u = e[7].slice(0, 3); u.length < 3; ) u += '0';
+ u = +u;
+ }
+ return (
+ e[9] && ((f = +e[10]), (d = +(e[11] || 0)), (h = (f * 60 + d) * 6e4), e[9] === '-' && (h = -h)),
+ (p = new Date(Date.UTC(r, n, i, a, s, l, u))),
+ h && p.setTime(p.getTime() - h),
+ p
+ );
+ }
+ o(ptt, 'constructYamlTimestamp');
+ function mtt(t) {
+ return t.toISOString();
+ }
+ o(mtt, 'representYamlTimestamp');
+ var gtt = new Va('tag:yaml.org,2002:timestamp', {
+ kind: 'scalar',
+ resolve: dtt,
+ construct: ptt,
+ instanceOf: Date,
+ represent: mtt
+ });
+ function ytt(t) {
+ return t === '<<' || t === null;
+ }
+ o(ytt, 'resolveYamlMerge');
+ var vtt = new Va('tag:yaml.org,2002:merge', { kind: 'scalar', resolve: ytt }),
+ hF = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
+\r`;
+ function xtt(t) {
+ if (t === null) return !1;
+ var e,
+ r,
+ n = 0,
+ i = t.length,
+ a = hF;
+ for (r = 0; r < i; r++)
+ if (((e = a.indexOf(t.charAt(r))), !(e > 64))) {
+ if (e < 0) return !1;
+ n += 6;
+ }
+ return n % 8 === 0;
+ }
+ o(xtt, 'resolveYamlBinary');
+ function btt(t) {
+ var e,
+ r,
+ n = t.replace(/[\r\n=]/g, ''),
+ i = n.length,
+ a = hF,
+ s = 0,
+ l = [];
+ for (e = 0; e < i; e++)
+ e % 4 === 0 && e && (l.push((s >> 16) & 255), l.push((s >> 8) & 255), l.push(s & 255)),
+ (s = (s << 6) | a.indexOf(n.charAt(e)));
+ return (
+ (r = (i % 4) * 6),
+ r === 0
+ ? (l.push((s >> 16) & 255), l.push((s >> 8) & 255), l.push(s & 255))
+ : r === 18
+ ? (l.push((s >> 10) & 255), l.push((s >> 2) & 255))
+ : r === 12 && l.push((s >> 4) & 255),
+ new Uint8Array(l)
+ );
+ }
+ o(btt, 'constructYamlBinary');
+ function wtt(t) {
+ var e = '',
+ r = 0,
+ n,
+ i,
+ a = t.length,
+ s = hF;
+ for (n = 0; n < a; n++)
+ n % 3 === 0 &&
+ n &&
+ ((e += s[(r >> 18) & 63]), (e += s[(r >> 12) & 63]), (e += s[(r >> 6) & 63]), (e += s[r & 63])),
+ (r = (r << 8) + t[n]);
+ return (
+ (i = a % 3),
+ i === 0
+ ? ((e += s[(r >> 18) & 63]), (e += s[(r >> 12) & 63]), (e += s[(r >> 6) & 63]), (e += s[r & 63]))
+ : i === 2
+ ? ((e += s[(r >> 10) & 63]), (e += s[(r >> 4) & 63]), (e += s[(r << 2) & 63]), (e += s[64]))
+ : i === 1 && ((e += s[(r >> 2) & 63]), (e += s[(r << 4) & 63]), (e += s[64]), (e += s[64])),
+ e
+ );
+ }
+ o(wtt, 'representYamlBinary');
+ function Ttt(t) {
+ return Object.prototype.toString.call(t) === '[object Uint8Array]';
+ }
+ o(Ttt, 'isBinary');
+ var ktt = new Va('tag:yaml.org,2002:binary', {
+ kind: 'scalar',
+ resolve: xtt,
+ construct: btt,
+ predicate: Ttt,
+ represent: wtt
+ }),
+ Ett = Object.prototype.hasOwnProperty,
+ Ctt = Object.prototype.toString;
+ function Stt(t) {
+ if (t === null) return !0;
+ var e = [],
+ r,
+ n,
+ i,
+ a,
+ s,
+ l = t;
+ for (r = 0, n = l.length; r < n; r += 1) {
+ if (((i = l[r]), (s = !1), Ctt.call(i) !== '[object Object]')) return !1;
+ for (a in i)
+ if (Ett.call(i, a))
+ if (!s) s = !0;
+ else return !1;
+ if (!s) return !1;
+ if (e.indexOf(a) === -1) e.push(a);
+ else return !1;
+ }
+ return !0;
+ }
+ o(Stt, 'resolveYamlOmap');
+ function Att(t) {
+ return t !== null ? t : [];
+ }
+ o(Att, 'constructYamlOmap');
+ var _tt = new Va('tag:yaml.org,2002:omap', {
+ kind: 'sequence',
+ resolve: Stt,
+ construct: Att
+ }),
+ Ltt = Object.prototype.toString;
+ function Dtt(t) {
+ if (t === null) return !0;
+ var e,
+ r,
+ n,
+ i,
+ a,
+ s = t;
+ for (a = new Array(s.length), e = 0, r = s.length; e < r; e += 1) {
+ if (((n = s[e]), Ltt.call(n) !== '[object Object]' || ((i = Object.keys(n)), i.length !== 1))) return !1;
+ a[e] = [i[0], n[i[0]]];
+ }
+ return !0;
+ }
+ o(Dtt, 'resolveYamlPairs');
+ function Rtt(t) {
+ if (t === null) return [];
+ var e,
+ r,
+ n,
+ i,
+ a,
+ s = t;
+ for (a = new Array(s.length), e = 0, r = s.length; e < r; e += 1)
+ (n = s[e]), (i = Object.keys(n)), (a[e] = [i[0], n[i[0]]]);
+ return a;
+ }
+ o(Rtt, 'constructYamlPairs');
+ var Ntt = new Va('tag:yaml.org,2002:pairs', {
+ kind: 'sequence',
+ resolve: Dtt,
+ construct: Rtt
+ }),
+ Mtt = Object.prototype.hasOwnProperty;
+ function Itt(t) {
+ if (t === null) return !0;
+ var e,
+ r = t;
+ for (e in r) if (Mtt.call(r, e) && r[e] !== null) return !1;
+ return !0;
+ }
+ o(Itt, 'resolveYamlSet');
+ function Ott(t) {
+ return t !== null ? t : {};
+ }
+ o(Ott, 'constructYamlSet');
+ var Ptt = new Va('tag:yaml.org,2002:set', {
+ kind: 'mapping',
+ resolve: Itt,
+ construct: Ott
+ }),
+ Zye = ftt.extend({ implicit: [gtt, vtt], explicit: [ktt, _tt, Ntt, Ptt] }),
+ Bf = Object.prototype.hasOwnProperty,
+ bC = 1,
+ Jye = 2,
+ eve = 3,
+ wC = 4,
+ aF = 1,
+ Btt = 2,
+ Mye = 3,
+ Ftt =
+ /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,
+ ztt = /[\x85\u2028\u2029]/,
+ Gtt = /[,\[\]\{\}]/,
+ tve = /^(?:!|!!|![a-z\-]+!)$/i,
+ rve = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
+ function Iye(t) {
+ return Object.prototype.toString.call(t);
+ }
+ o(Iye, '_class');
+ function qc(t) {
+ return t === 10 || t === 13;
+ }
+ o(qc, 'is_EOL');
+ function rp(t) {
+ return t === 9 || t === 32;
+ }
+ o(rp, 'is_WHITE_SPACE');
+ function Vs(t) {
+ return t === 9 || t === 32 || t === 10 || t === 13;
+ }
+ o(Vs, 'is_WS_OR_EOL');
+ function D1(t) {
+ return t === 44 || t === 91 || t === 93 || t === 123 || t === 125;
+ }
+ o(D1, 'is_FLOW_INDICATOR');
+ function $tt(t) {
+ var e;
+ return 48 <= t && t <= 57 ? t - 48 : ((e = t | 32), 97 <= e && e <= 102 ? e - 97 + 10 : -1);
+ }
+ o($tt, 'fromHexCode');
+ function Vtt(t) {
+ return t === 120 ? 2 : t === 117 ? 4 : t === 85 ? 8 : 0;
+ }
+ o(Vtt, 'escapedHexLen');
+ function Utt(t) {
+ return 48 <= t && t <= 57 ? t - 48 : -1;
+ }
+ o(Utt, 'fromDecimalCode');
+ function Oye(t) {
+ return t === 48
+ ? '\0'
+ : t === 97
+ ? '\x07'
+ : t === 98
+ ? '\b'
+ : t === 116 || t === 9
+ ? ' '
+ : t === 110
+ ? `
+`
+ : t === 118
+ ? '\v'
+ : t === 102
+ ? '\f'
+ : t === 114
+ ? '\r'
+ : t === 101
+ ? '\x1B'
+ : t === 32
+ ? ' '
+ : t === 34
+ ? '"'
+ : t === 47
+ ? '/'
+ : t === 92
+ ? '\\'
+ : t === 78
+ ? '\x85'
+ : t === 95
+ ? '\xA0'
+ : t === 76
+ ? '\u2028'
+ : t === 80
+ ? '\u2029'
+ : '';
+ }
+ o(Oye, 'simpleEscapeSequence');
+ function Htt(t) {
+ return t <= 65535
+ ? String.fromCharCode(t)
+ : String.fromCharCode(((t - 65536) >> 10) + 55296, ((t - 65536) & 1023) + 56320);
+ }
+ o(Htt, 'charFromCodepoint');
+ var nve = new Array(256),
+ ive = new Array(256);
+ for (tp = 0; tp < 256; tp++) (nve[tp] = Oye(tp) ? 1 : 0), (ive[tp] = Oye(tp));
+ var tp;
+ function Ytt(t, e) {
+ (this.input = t),
+ (this.filename = e.filename || null),
+ (this.schema = e.schema || Zye),
+ (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 = t.length),
+ (this.position = 0),
+ (this.line = 0),
+ (this.lineStart = 0),
+ (this.lineIndent = 0),
+ (this.firstTabInLine = -1),
+ (this.documents = []);
+ }
+ o(Ytt, 'State$1');
+ function ave(t, e) {
+ var r = {
+ name: t.filename,
+ buffer: t.input.slice(0, -1),
+ position: t.position,
+ line: t.line,
+ column: t.position - t.lineStart
+ };
+ return (r.snippet = Met(r)), new $s(e, r);
+ }
+ o(ave, 'generateError');
+ function Gt(t, e) {
+ throw ave(t, e);
+ }
+ o(Gt, 'throwError');
+ function TC(t, e) {
+ t.onWarning && t.onWarning.call(null, ave(t, e));
+ }
+ o(TC, 'throwWarning');
+ var Pye = {
+ YAML: o(function (e, r, n) {
+ var i, a, s;
+ e.version !== null && Gt(e, 'duplication of %YAML directive'),
+ n.length !== 1 && Gt(e, 'YAML directive accepts exactly one argument'),
+ (i = /^([0-9]+)\.([0-9]+)$/.exec(n[0])),
+ i === null && Gt(e, 'ill-formed argument of the YAML directive'),
+ (a = parseInt(i[1], 10)),
+ (s = parseInt(i[2], 10)),
+ a !== 1 && Gt(e, 'unacceptable YAML version of the document'),
+ (e.version = n[0]),
+ (e.checkLineBreaks = s < 2),
+ s !== 1 && s !== 2 && TC(e, 'unsupported YAML version of the document');
+ }, 'handleYamlDirective'),
+ TAG: o(function (e, r, n) {
+ var i, a;
+ n.length !== 2 && Gt(e, 'TAG directive accepts exactly two arguments'),
+ (i = n[0]),
+ (a = n[1]),
+ tve.test(i) || Gt(e, 'ill-formed tag handle (first argument) of the TAG directive'),
+ Bf.call(e.tagMap, i) && Gt(e, 'there is a previously declared suffix for "' + i + '" tag handle'),
+ rve.test(a) || Gt(e, 'ill-formed tag prefix (second argument) of the TAG directive');
+ try {
+ a = decodeURIComponent(a);
+ } catch {
+ Gt(e, 'tag prefix is malformed: ' + a);
+ }
+ e.tagMap[i] = a;
+ }, 'handleTagDirective')
+ };
+ function Pf(t, e, r, n) {
+ var i, a, s, l;
+ if (e < r) {
+ if (((l = t.input.slice(e, r)), n))
+ for (i = 0, a = l.length; i < a; i += 1)
+ (s = l.charCodeAt(i)),
+ s === 9 || (32 <= s && s <= 1114111) || Gt(t, 'expected valid JSON character');
+ else Ftt.test(l) && Gt(t, 'the stream contains non-printable characters');
+ t.result += l;
+ }
+ }
+ o(Pf, 'captureSegment');
+ function Bye(t, e, r, n) {
+ var i, a, s, l;
+ for (
+ Wi.isObject(r) || Gt(t, 'cannot merge mappings; the provided source object is unacceptable'),
+ i = Object.keys(r),
+ s = 0,
+ l = i.length;
+ s < l;
+ s += 1
+ )
+ (a = i[s]), Bf.call(e, a) || ((e[a] = r[a]), (n[a] = !0));
+ }
+ o(Bye, 'mergeMappings');
+ function R1(t, e, r, n, i, a, s, l, u) {
+ var h, f;
+ if (Array.isArray(i))
+ for (i = Array.prototype.slice.call(i), h = 0, f = i.length; h < f; h += 1)
+ Array.isArray(i[h]) && Gt(t, 'nested arrays are not supported inside keys'),
+ typeof i == 'object' && Iye(i[h]) === '[object Object]' && (i[h] = '[object Object]');
+ if (
+ (typeof i == 'object' && Iye(i) === '[object Object]' && (i = '[object Object]'),
+ (i = String(i)),
+ e === null && (e = {}),
+ n === 'tag:yaml.org,2002:merge')
+ )
+ if (Array.isArray(a)) for (h = 0, f = a.length; h < f; h += 1) Bye(t, e, a[h], r);
+ else Bye(t, e, a, r);
+ else
+ !t.json &&
+ !Bf.call(r, i) &&
+ Bf.call(e, i) &&
+ ((t.line = s || t.line),
+ (t.lineStart = l || t.lineStart),
+ (t.position = u || t.position),
+ Gt(t, 'duplicated mapping key')),
+ i === '__proto__'
+ ? Object.defineProperty(e, i, {
+ configurable: !0,
+ enumerable: !0,
+ writable: !0,
+ value: a
+ })
+ : (e[i] = a),
+ delete r[i];
+ return e;
+ }
+ o(R1, 'storeMappingPair');
+ function fF(t) {
+ var e;
+ (e = t.input.charCodeAt(t.position)),
+ e === 10
+ ? t.position++
+ : e === 13
+ ? (t.position++, t.input.charCodeAt(t.position) === 10 && t.position++)
+ : Gt(t, 'a line break is expected'),
+ (t.line += 1),
+ (t.lineStart = t.position),
+ (t.firstTabInLine = -1);
+ }
+ o(fF, 'readLineBreak');
+ function Ai(t, e, r) {
+ for (var n = 0, i = t.input.charCodeAt(t.position); i !== 0; ) {
+ for (; rp(i); )
+ i === 9 && t.firstTabInLine === -1 && (t.firstTabInLine = t.position),
+ (i = t.input.charCodeAt(++t.position));
+ if (e && i === 35)
+ do i = t.input.charCodeAt(++t.position);
+ while (i !== 10 && i !== 13 && i !== 0);
+ if (qc(i))
+ for (fF(t), i = t.input.charCodeAt(t.position), n++, t.lineIndent = 0; i === 32; )
+ t.lineIndent++, (i = t.input.charCodeAt(++t.position));
+ else break;
+ }
+ return r !== -1 && n !== 0 && t.lineIndent < r && TC(t, 'deficient indentation'), n;
+ }
+ o(Ai, 'skipSeparationSpace');
+ function CC(t) {
+ var e = t.position,
+ r;
+ return (
+ (r = t.input.charCodeAt(e)),
+ !!(
+ (r === 45 || r === 46) &&
+ r === t.input.charCodeAt(e + 1) &&
+ r === t.input.charCodeAt(e + 2) &&
+ ((e += 3), (r = t.input.charCodeAt(e)), r === 0 || Vs(r))
+ )
+ );
+ }
+ o(CC, 'testDocumentSeparator');
+ function dF(t, e) {
+ e === 1
+ ? (t.result += ' ')
+ : e > 1 &&
+ (t.result += Wi.repeat(
+ `
+`,
+ e - 1
+ ));
+ }
+ o(dF, 'writeFoldedLines');
+ function Wtt(t, e, r) {
+ var n,
+ i,
+ a,
+ s,
+ l,
+ u,
+ h,
+ f,
+ d = t.kind,
+ p = t.result,
+ m;
+ if (
+ ((m = t.input.charCodeAt(t.position)),
+ Vs(m) ||
+ D1(m) ||
+ m === 35 ||
+ m === 38 ||
+ m === 42 ||
+ m === 33 ||
+ m === 124 ||
+ m === 62 ||
+ m === 39 ||
+ m === 34 ||
+ m === 37 ||
+ m === 64 ||
+ m === 96 ||
+ ((m === 63 || m === 45) && ((i = t.input.charCodeAt(t.position + 1)), Vs(i) || (r && D1(i)))))
+ )
+ return !1;
+ for (t.kind = 'scalar', t.result = '', a = s = t.position, l = !1; m !== 0; ) {
+ if (m === 58) {
+ if (((i = t.input.charCodeAt(t.position + 1)), Vs(i) || (r && D1(i)))) break;
+ } else if (m === 35) {
+ if (((n = t.input.charCodeAt(t.position - 1)), Vs(n))) break;
+ } else {
+ if ((t.position === t.lineStart && CC(t)) || (r && D1(m))) break;
+ if (qc(m))
+ if (((u = t.line), (h = t.lineStart), (f = t.lineIndent), Ai(t, !1, -1), t.lineIndent >= e)) {
+ (l = !0), (m = t.input.charCodeAt(t.position));
+ continue;
+ } else {
+ (t.position = s), (t.line = u), (t.lineStart = h), (t.lineIndent = f);
+ break;
+ }
+ }
+ l && (Pf(t, a, s, !1), dF(t, t.line - u), (a = s = t.position), (l = !1)),
+ rp(m) || (s = t.position + 1),
+ (m = t.input.charCodeAt(++t.position));
+ }
+ return Pf(t, a, s, !1), t.result ? !0 : ((t.kind = d), (t.result = p), !1);
+ }
+ o(Wtt, 'readPlainScalar');
+ function qtt(t, e) {
+ var r, n, i;
+ if (((r = t.input.charCodeAt(t.position)), r !== 39)) return !1;
+ for (
+ t.kind = 'scalar', t.result = '', t.position++, n = i = t.position;
+ (r = t.input.charCodeAt(t.position)) !== 0;
+
+ )
+ if (r === 39)
+ if ((Pf(t, n, t.position, !0), (r = t.input.charCodeAt(++t.position)), r === 39))
+ (n = t.position), t.position++, (i = t.position);
+ else return !0;
+ else
+ qc(r)
+ ? (Pf(t, n, i, !0), dF(t, Ai(t, !1, e)), (n = i = t.position))
+ : t.position === t.lineStart && CC(t)
+ ? Gt(t, 'unexpected end of the document within a single quoted scalar')
+ : (t.position++, (i = t.position));
+ Gt(t, 'unexpected end of the stream within a single quoted scalar');
+ }
+ o(qtt, 'readSingleQuotedScalar');
+ function Xtt(t, e) {
+ var r, n, i, a, s, l;
+ if (((l = t.input.charCodeAt(t.position)), l !== 34)) return !1;
+ for (
+ t.kind = 'scalar', t.result = '', t.position++, r = n = t.position;
+ (l = t.input.charCodeAt(t.position)) !== 0;
+
+ ) {
+ if (l === 34) return Pf(t, r, t.position, !0), t.position++, !0;
+ if (l === 92) {
+ if ((Pf(t, r, t.position, !0), (l = t.input.charCodeAt(++t.position)), qc(l))) Ai(t, !1, e);
+ else if (l < 256 && nve[l]) (t.result += ive[l]), t.position++;
+ else if ((s = Vtt(l)) > 0) {
+ for (i = s, a = 0; i > 0; i--)
+ (l = t.input.charCodeAt(++t.position)),
+ (s = $tt(l)) >= 0 ? (a = (a << 4) + s) : Gt(t, 'expected hexadecimal character');
+ (t.result += Htt(a)), t.position++;
+ } else Gt(t, 'unknown escape sequence');
+ r = n = t.position;
+ } else
+ qc(l)
+ ? (Pf(t, r, n, !0), dF(t, Ai(t, !1, e)), (r = n = t.position))
+ : t.position === t.lineStart && CC(t)
+ ? Gt(t, 'unexpected end of the document within a double quoted scalar')
+ : (t.position++, (n = t.position));
+ }
+ Gt(t, 'unexpected end of the stream within a double quoted scalar');
+ }
+ o(Xtt, 'readDoubleQuotedScalar');
+ function jtt(t, e) {
+ var r = !0,
+ n,
+ i,
+ a,
+ s = t.tag,
+ l,
+ u = t.anchor,
+ h,
+ f,
+ d,
+ p,
+ m,
+ g = Object.create(null),
+ y,
+ v,
+ x,
+ b;
+ if (((b = t.input.charCodeAt(t.position)), b === 91)) (f = 93), (m = !1), (l = []);
+ else if (b === 123) (f = 125), (m = !0), (l = {});
+ else return !1;
+ for (t.anchor !== null && (t.anchorMap[t.anchor] = l), b = t.input.charCodeAt(++t.position); b !== 0; ) {
+ if ((Ai(t, !0, e), (b = t.input.charCodeAt(t.position)), b === f))
+ return (
+ t.position++, (t.tag = s), (t.anchor = u), (t.kind = m ? 'mapping' : 'sequence'), (t.result = l), !0
+ );
+ r
+ ? b === 44 && Gt(t, "expected the node content, but found ','")
+ : Gt(t, 'missed comma between flow collection entries'),
+ (v = y = x = null),
+ (d = p = !1),
+ b === 63 &&
+ ((h = t.input.charCodeAt(t.position + 1)), Vs(h) && ((d = p = !0), t.position++, Ai(t, !0, e))),
+ (n = t.line),
+ (i = t.lineStart),
+ (a = t.position),
+ N1(t, e, bC, !1, !0),
+ (v = t.tag),
+ (y = t.result),
+ Ai(t, !0, e),
+ (b = t.input.charCodeAt(t.position)),
+ (p || t.line === n) &&
+ b === 58 &&
+ ((d = !0),
+ (b = t.input.charCodeAt(++t.position)),
+ Ai(t, !0, e),
+ N1(t, e, bC, !1, !0),
+ (x = t.result)),
+ m ? R1(t, l, g, v, y, x, n, i, a) : d ? l.push(R1(t, null, g, v, y, x, n, i, a)) : l.push(y),
+ Ai(t, !0, e),
+ (b = t.input.charCodeAt(t.position)),
+ b === 44 ? ((r = !0), (b = t.input.charCodeAt(++t.position))) : (r = !1);
+ }
+ Gt(t, 'unexpected end of the stream within a flow collection');
+ }
+ o(jtt, 'readFlowCollection');
+ function Ktt(t, e) {
+ var r,
+ n,
+ i = aF,
+ a = !1,
+ s = !1,
+ l = e,
+ u = 0,
+ h = !1,
+ f,
+ d;
+ if (((d = t.input.charCodeAt(t.position)), d === 124)) n = !1;
+ else if (d === 62) n = !0;
+ else return !1;
+ for (t.kind = 'scalar', t.result = ''; d !== 0; )
+ if (((d = t.input.charCodeAt(++t.position)), d === 43 || d === 45))
+ aF === i ? (i = d === 43 ? Mye : Btt) : Gt(t, 'repeat of a chomping mode identifier');
+ else if ((f = Utt(d)) >= 0)
+ f === 0
+ ? Gt(t, 'bad explicit indentation width of a block scalar; it cannot be less than one')
+ : s
+ ? Gt(t, 'repeat of an indentation width identifier')
+ : ((l = e + f - 1), (s = !0));
+ else break;
+ if (rp(d)) {
+ do d = t.input.charCodeAt(++t.position);
+ while (rp(d));
+ if (d === 35)
+ do d = t.input.charCodeAt(++t.position);
+ while (!qc(d) && d !== 0);
+ }
+ for (; d !== 0; ) {
+ for (fF(t), t.lineIndent = 0, d = t.input.charCodeAt(t.position); (!s || t.lineIndent < l) && d === 32; )
+ t.lineIndent++, (d = t.input.charCodeAt(++t.position));
+ if ((!s && t.lineIndent > l && (l = t.lineIndent), qc(d))) {
+ u++;
+ continue;
+ }
+ if (t.lineIndent < l) {
+ i === Mye
+ ? (t.result += Wi.repeat(
+ `
+`,
+ a ? 1 + u : u
+ ))
+ : i === aF &&
+ a &&
+ (t.result += `
+`);
+ break;
+ }
+ for (
+ n
+ ? rp(d)
+ ? ((h = !0),
+ (t.result += Wi.repeat(
+ `
+`,
+ a ? 1 + u : u
+ )))
+ : h
+ ? ((h = !1),
+ (t.result += Wi.repeat(
+ `
+`,
+ u + 1
+ )))
+ : u === 0
+ ? a && (t.result += ' ')
+ : (t.result += Wi.repeat(
+ `
+`,
+ u
+ ))
+ : (t.result += Wi.repeat(
+ `
+`,
+ a ? 1 + u : u
+ )),
+ a = !0,
+ s = !0,
+ u = 0,
+ r = t.position;
+ !qc(d) && d !== 0;
+
+ )
+ d = t.input.charCodeAt(++t.position);
+ Pf(t, r, t.position, !1);
+ }
+ return !0;
+ }
+ o(Ktt, 'readBlockScalar');
+ function Fye(t, e) {
+ var r,
+ n = t.tag,
+ i = t.anchor,
+ a = [],
+ s,
+ l = !1,
+ u;
+ if (t.firstTabInLine !== -1) return !1;
+ for (
+ t.anchor !== null && (t.anchorMap[t.anchor] = a), u = t.input.charCodeAt(t.position);
+ u !== 0 &&
+ (t.firstTabInLine !== -1 &&
+ ((t.position = t.firstTabInLine), Gt(t, 'tab characters must not be used in indentation')),
+ !(u !== 45 || ((s = t.input.charCodeAt(t.position + 1)), !Vs(s))));
+
+ ) {
+ if (((l = !0), t.position++, Ai(t, !0, -1) && t.lineIndent <= e)) {
+ a.push(null), (u = t.input.charCodeAt(t.position));
+ continue;
+ }
+ if (
+ ((r = t.line),
+ N1(t, e, eve, !1, !0),
+ a.push(t.result),
+ Ai(t, !0, -1),
+ (u = t.input.charCodeAt(t.position)),
+ (t.line === r || t.lineIndent > e) && u !== 0)
+ )
+ Gt(t, 'bad indentation of a sequence entry');
+ else if (t.lineIndent < e) break;
+ }
+ return l ? ((t.tag = n), (t.anchor = i), (t.kind = 'sequence'), (t.result = a), !0) : !1;
+ }
+ o(Fye, 'readBlockSequence');
+ function Qtt(t, e, r) {
+ var n,
+ i,
+ a,
+ s,
+ l,
+ u,
+ h = t.tag,
+ f = t.anchor,
+ d = {},
+ p = Object.create(null),
+ m = null,
+ g = null,
+ y = null,
+ v = !1,
+ x = !1,
+ b;
+ if (t.firstTabInLine !== -1) return !1;
+ for (t.anchor !== null && (t.anchorMap[t.anchor] = d), b = t.input.charCodeAt(t.position); b !== 0; ) {
+ if (
+ (!v &&
+ t.firstTabInLine !== -1 &&
+ ((t.position = t.firstTabInLine), Gt(t, 'tab characters must not be used in indentation')),
+ (n = t.input.charCodeAt(t.position + 1)),
+ (a = t.line),
+ (b === 63 || b === 58) && Vs(n))
+ )
+ b === 63
+ ? (v && (R1(t, d, p, m, g, null, s, l, u), (m = g = y = null)), (x = !0), (v = !0), (i = !0))
+ : v
+ ? ((v = !1), (i = !0))
+ : Gt(
+ t,
+ 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'
+ ),
+ (t.position += 1),
+ (b = n);
+ else {
+ if (((s = t.line), (l = t.lineStart), (u = t.position), !N1(t, r, Jye, !1, !0))) break;
+ if (t.line === a) {
+ for (b = t.input.charCodeAt(t.position); rp(b); ) b = t.input.charCodeAt(++t.position);
+ if (b === 58)
+ (b = t.input.charCodeAt(++t.position)),
+ Vs(b) ||
+ Gt(
+ t,
+ 'a whitespace character is expected after the key-value separator within a block mapping'
+ ),
+ v && (R1(t, d, p, m, g, null, s, l, u), (m = g = y = null)),
+ (x = !0),
+ (v = !1),
+ (i = !1),
+ (m = t.tag),
+ (g = t.result);
+ else if (x) Gt(t, 'can not read an implicit mapping pair; a colon is missed');
+ else return (t.tag = h), (t.anchor = f), !0;
+ } else if (x) Gt(t, 'can not read a block mapping entry; a multiline key may not be an implicit key');
+ else return (t.tag = h), (t.anchor = f), !0;
+ }
+ if (
+ ((t.line === a || t.lineIndent > e) &&
+ (v && ((s = t.line), (l = t.lineStart), (u = t.position)),
+ N1(t, e, wC, !0, i) && (v ? (g = t.result) : (y = t.result)),
+ v || (R1(t, d, p, m, g, y, s, l, u), (m = g = y = null)),
+ Ai(t, !0, -1),
+ (b = t.input.charCodeAt(t.position))),
+ (t.line === a || t.lineIndent > e) && b !== 0)
+ )
+ Gt(t, 'bad indentation of a mapping entry');
+ else if (t.lineIndent < e) break;
+ }
+ return (
+ v && R1(t, d, p, m, g, null, s, l, u),
+ x && ((t.tag = h), (t.anchor = f), (t.kind = 'mapping'), (t.result = d)),
+ x
+ );
+ }
+ o(Qtt, 'readBlockMapping');
+ function Ztt(t) {
+ var e,
+ r = !1,
+ n = !1,
+ i,
+ a,
+ s;
+ if (((s = t.input.charCodeAt(t.position)), s !== 33)) return !1;
+ if (
+ (t.tag !== null && Gt(t, 'duplication of a tag property'),
+ (s = t.input.charCodeAt(++t.position)),
+ s === 60
+ ? ((r = !0), (s = t.input.charCodeAt(++t.position)))
+ : s === 33
+ ? ((n = !0), (i = '!!'), (s = t.input.charCodeAt(++t.position)))
+ : (i = '!'),
+ (e = t.position),
+ r)
+ ) {
+ do s = t.input.charCodeAt(++t.position);
+ while (s !== 0 && s !== 62);
+ t.position < t.length
+ ? ((a = t.input.slice(e, t.position)), (s = t.input.charCodeAt(++t.position)))
+ : Gt(t, 'unexpected end of the stream within a verbatim tag');
+ } else {
+ for (; s !== 0 && !Vs(s); )
+ s === 33 &&
+ (n
+ ? Gt(t, 'tag suffix cannot contain exclamation marks')
+ : ((i = t.input.slice(e - 1, t.position + 1)),
+ tve.test(i) || Gt(t, 'named tag handle cannot contain such characters'),
+ (n = !0),
+ (e = t.position + 1))),
+ (s = t.input.charCodeAt(++t.position));
+ (a = t.input.slice(e, t.position)),
+ Gtt.test(a) && Gt(t, 'tag suffix cannot contain flow indicator characters');
+ }
+ a && !rve.test(a) && Gt(t, 'tag name cannot contain such characters: ' + a);
+ try {
+ a = decodeURIComponent(a);
+ } catch {
+ Gt(t, 'tag name is malformed: ' + a);
+ }
+ return (
+ r
+ ? (t.tag = a)
+ : Bf.call(t.tagMap, i)
+ ? (t.tag = t.tagMap[i] + a)
+ : i === '!'
+ ? (t.tag = '!' + a)
+ : i === '!!'
+ ? (t.tag = 'tag:yaml.org,2002:' + a)
+ : Gt(t, 'undeclared tag handle "' + i + '"'),
+ !0
+ );
+ }
+ o(Ztt, 'readTagProperty');
+ function Jtt(t) {
+ var e, r;
+ if (((r = t.input.charCodeAt(t.position)), r !== 38)) return !1;
+ for (
+ t.anchor !== null && Gt(t, 'duplication of an anchor property'),
+ r = t.input.charCodeAt(++t.position),
+ e = t.position;
+ r !== 0 && !Vs(r) && !D1(r);
+
+ )
+ r = t.input.charCodeAt(++t.position);
+ return (
+ t.position === e && Gt(t, 'name of an anchor node must contain at least one character'),
+ (t.anchor = t.input.slice(e, t.position)),
+ !0
+ );
+ }
+ o(Jtt, 'readAnchorProperty');
+ function ert(t) {
+ var e, r, n;
+ if (((n = t.input.charCodeAt(t.position)), n !== 42)) return !1;
+ for (n = t.input.charCodeAt(++t.position), e = t.position; n !== 0 && !Vs(n) && !D1(n); )
+ n = t.input.charCodeAt(++t.position);
+ return (
+ t.position === e && Gt(t, 'name of an alias node must contain at least one character'),
+ (r = t.input.slice(e, t.position)),
+ Bf.call(t.anchorMap, r) || Gt(t, 'unidentified alias "' + r + '"'),
+ (t.result = t.anchorMap[r]),
+ Ai(t, !0, -1),
+ !0
+ );
+ }
+ o(ert, 'readAlias');
+ function N1(t, e, r, n, i) {
+ var a,
+ s,
+ l,
+ u = 1,
+ h = !1,
+ f = !1,
+ d,
+ p,
+ m,
+ g,
+ y,
+ v;
+ if (
+ (t.listener !== null && t.listener('open', t),
+ (t.tag = null),
+ (t.anchor = null),
+ (t.kind = null),
+ (t.result = null),
+ (a = s = l = wC === r || eve === r),
+ n &&
+ Ai(t, !0, -1) &&
+ ((h = !0), t.lineIndent > e ? (u = 1) : t.lineIndent === e ? (u = 0) : t.lineIndent < e && (u = -1)),
+ u === 1)
+ )
+ for (; Ztt(t) || Jtt(t); )
+ Ai(t, !0, -1)
+ ? ((h = !0),
+ (l = a),
+ t.lineIndent > e ? (u = 1) : t.lineIndent === e ? (u = 0) : t.lineIndent < e && (u = -1))
+ : (l = !1);
+ if (
+ (l && (l = h || i),
+ (u === 1 || wC === r) &&
+ (bC === r || Jye === r ? (y = e) : (y = e + 1),
+ (v = t.position - t.lineStart),
+ u === 1
+ ? (l && (Fye(t, v) || Qtt(t, v, y))) || jtt(t, y)
+ ? (f = !0)
+ : ((s && Ktt(t, y)) || qtt(t, y) || Xtt(t, y)
+ ? (f = !0)
+ : ert(t)
+ ? ((f = !0),
+ (t.tag !== null || t.anchor !== null) &&
+ Gt(t, 'alias node should not have any properties'))
+ : Wtt(t, y, bC === r) && ((f = !0), t.tag === null && (t.tag = '?')),
+ t.anchor !== null && (t.anchorMap[t.anchor] = t.result))
+ : u === 0 && (f = l && Fye(t, v))),
+ t.tag === null)
+ )
+ t.anchor !== null && (t.anchorMap[t.anchor] = t.result);
+ else if (t.tag === '?') {
+ for (
+ t.result !== null &&
+ t.kind !== 'scalar' &&
+ Gt(t, 'unacceptable node kind for !> tag; it should be "scalar", not "' + t.kind + '"'),
+ d = 0,
+ p = t.implicitTypes.length;
+ d < p;
+ d += 1
+ )
+ if (((g = t.implicitTypes[d]), g.resolve(t.result))) {
+ (t.result = g.construct(t.result)),
+ (t.tag = g.tag),
+ t.anchor !== null && (t.anchorMap[t.anchor] = t.result);
+ break;
+ }
+ } else if (t.tag !== '!') {
+ if (Bf.call(t.typeMap[t.kind || 'fallback'], t.tag)) g = t.typeMap[t.kind || 'fallback'][t.tag];
+ else
+ for (g = null, m = t.typeMap.multi[t.kind || 'fallback'], d = 0, p = m.length; d < p; d += 1)
+ if (t.tag.slice(0, m[d].tag.length) === m[d].tag) {
+ g = m[d];
+ break;
+ }
+ g || Gt(t, 'unknown tag !<' + t.tag + '>'),
+ t.result !== null &&
+ g.kind !== t.kind &&
+ Gt(
+ t,
+ 'unacceptable node kind for !<' +
+ t.tag +
+ '> tag; it should be "' +
+ g.kind +
+ '", not "' +
+ t.kind +
+ '"'
+ ),
+ g.resolve(t.result, t.tag)
+ ? ((t.result = g.construct(t.result, t.tag)),
+ t.anchor !== null && (t.anchorMap[t.anchor] = t.result))
+ : Gt(t, 'cannot resolve a node with !<' + t.tag + '> explicit tag');
+ }
+ return t.listener !== null && t.listener('close', t), t.tag !== null || t.anchor !== null || f;
+ }
+ o(N1, 'composeNode');
+ function trt(t) {
+ var e = t.position,
+ r,
+ n,
+ i,
+ a = !1,
+ s;
+ for (
+ t.version = null,
+ t.checkLineBreaks = t.legacy,
+ t.tagMap = Object.create(null),
+ t.anchorMap = Object.create(null);
+ (s = t.input.charCodeAt(t.position)) !== 0 &&
+ (Ai(t, !0, -1), (s = t.input.charCodeAt(t.position)), !(t.lineIndent > 0 || s !== 37));
+
+ ) {
+ for (a = !0, s = t.input.charCodeAt(++t.position), r = t.position; s !== 0 && !Vs(s); )
+ s = t.input.charCodeAt(++t.position);
+ for (
+ n = t.input.slice(r, t.position),
+ i = [],
+ n.length < 1 && Gt(t, 'directive name must not be less than one character in length');
+ s !== 0;
+
+ ) {
+ for (; rp(s); ) s = t.input.charCodeAt(++t.position);
+ if (s === 35) {
+ do s = t.input.charCodeAt(++t.position);
+ while (s !== 0 && !qc(s));
+ break;
+ }
+ if (qc(s)) break;
+ for (r = t.position; s !== 0 && !Vs(s); ) s = t.input.charCodeAt(++t.position);
+ i.push(t.input.slice(r, t.position));
+ }
+ s !== 0 && fF(t), Bf.call(Pye, n) ? Pye[n](t, n, i) : TC(t, 'unknown document directive "' + n + '"');
+ }
+ if (
+ (Ai(t, !0, -1),
+ t.lineIndent === 0 &&
+ t.input.charCodeAt(t.position) === 45 &&
+ t.input.charCodeAt(t.position + 1) === 45 &&
+ t.input.charCodeAt(t.position + 2) === 45
+ ? ((t.position += 3), Ai(t, !0, -1))
+ : a && Gt(t, 'directives end mark is expected'),
+ N1(t, t.lineIndent - 1, wC, !1, !0),
+ Ai(t, !0, -1),
+ t.checkLineBreaks &&
+ ztt.test(t.input.slice(e, t.position)) &&
+ TC(t, 'non-ASCII line breaks are interpreted as content'),
+ t.documents.push(t.result),
+ t.position === t.lineStart && CC(t))
+ ) {
+ t.input.charCodeAt(t.position) === 46 && ((t.position += 3), Ai(t, !0, -1));
+ return;
+ }
+ if (t.position < t.length - 1) Gt(t, 'end of the stream or a document separator is expected');
+ else return;
+ }
+ o(trt, 'readDocument');
+ function sve(t, e) {
+ (t = String(t)),
+ (e = e || {}),
+ t.length !== 0 &&
+ (t.charCodeAt(t.length - 1) !== 10 &&
+ t.charCodeAt(t.length - 1) !== 13 &&
+ (t += `
+`),
+ t.charCodeAt(0) === 65279 && (t = t.slice(1)));
+ var r = new Ytt(t, e),
+ n = t.indexOf('\0');
+ for (
+ n !== -1 && ((r.position = n), Gt(r, 'null byte is not allowed in input')), r.input += '\0';
+ r.input.charCodeAt(r.position) === 32;
+
+ )
+ (r.lineIndent += 1), (r.position += 1);
+ for (; r.position < r.length - 1; ) trt(r);
+ return r.documents;
+ }
+ o(sve, 'loadDocuments');
+ function rrt(t, e, r) {
+ e !== null && typeof e == 'object' && typeof r > 'u' && ((r = e), (e = null));
+ var n = sve(t, r);
+ if (typeof e != 'function') return n;
+ for (var i = 0, a = n.length; i < a; i += 1) e(n[i]);
+ }
+ o(rrt, 'loadAll$1');
+ function nrt(t, e) {
+ var r = sve(t, e);
+ if (r.length !== 0) {
+ if (r.length === 1) return r[0];
+ throw new $s('expected a single document in the stream, but found more');
+ }
+ }
+ o(nrt, 'load$1');
+ var irt = rrt,
+ art = nrt,
+ ove = { loadAll: irt, load: art },
+ lve = Object.prototype.toString,
+ cve = Object.prototype.hasOwnProperty,
+ pF = 65279,
+ srt = 9,
+ Cb = 10,
+ ort = 13,
+ lrt = 32,
+ crt = 33,
+ urt = 34,
+ oF = 35,
+ hrt = 37,
+ frt = 38,
+ drt = 39,
+ prt = 42,
+ uve = 44,
+ mrt = 45,
+ kC = 58,
+ grt = 61,
+ yrt = 62,
+ vrt = 63,
+ xrt = 64,
+ hve = 91,
+ fve = 93,
+ brt = 96,
+ dve = 123,
+ wrt = 124,
+ pve = 125,
+ Ua = {};
+ Ua[0] = '\\0';
+ Ua[7] = '\\a';
+ Ua[8] = '\\b';
+ Ua[9] = '\\t';
+ Ua[10] = '\\n';
+ Ua[11] = '\\v';
+ Ua[12] = '\\f';
+ Ua[13] = '\\r';
+ Ua[27] = '\\e';
+ Ua[34] = '\\"';
+ Ua[92] = '\\\\';
+ Ua[133] = '\\N';
+ Ua[160] = '\\_';
+ Ua[8232] = '\\L';
+ Ua[8233] = '\\P';
+ var Trt = ['y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'],
+ krt = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
+ function Ert(t, e) {
+ var r, n, i, a, s, l, u;
+ if (e === null) return {};
+ for (r = {}, n = Object.keys(e), i = 0, a = n.length; i < a; i += 1)
+ (s = n[i]),
+ (l = String(e[s])),
+ s.slice(0, 2) === '!!' && (s = 'tag:yaml.org,2002:' + s.slice(2)),
+ (u = t.compiledTypeMap.fallback[s]),
+ u && cve.call(u.styleAliases, l) && (l = u.styleAliases[l]),
+ (r[s] = l);
+ return r;
+ }
+ o(Ert, 'compileStyleMap');
+ function Crt(t) {
+ var e, r, n;
+ if (((e = t.toString(16).toUpperCase()), t <= 255)) (r = 'x'), (n = 2);
+ else if (t <= 65535) (r = 'u'), (n = 4);
+ else if (t <= 4294967295) (r = 'U'), (n = 8);
+ else throw new $s('code point within a string may not be greater than 0xFFFFFFFF');
+ return '\\' + r + Wi.repeat('0', n - e.length) + e;
+ }
+ o(Crt, 'encodeHex');
+ var Srt = 1,
+ Sb = 2;
+ function Art(t) {
+ (this.schema = t.schema || Zye),
+ (this.indent = Math.max(1, t.indent || 2)),
+ (this.noArrayIndent = t.noArrayIndent || !1),
+ (this.skipInvalid = t.skipInvalid || !1),
+ (this.flowLevel = Wi.isNothing(t.flowLevel) ? -1 : t.flowLevel),
+ (this.styleMap = Ert(this.schema, t.styles || null)),
+ (this.sortKeys = t.sortKeys || !1),
+ (this.lineWidth = t.lineWidth || 80),
+ (this.noRefs = t.noRefs || !1),
+ (this.noCompatMode = t.noCompatMode || !1),
+ (this.condenseFlow = t.condenseFlow || !1),
+ (this.quotingType = t.quotingType === '"' ? Sb : Srt),
+ (this.forceQuotes = t.forceQuotes || !1),
+ (this.replacer = typeof t.replacer == 'function' ? t.replacer : null),
+ (this.implicitTypes = this.schema.compiledImplicit),
+ (this.explicitTypes = this.schema.compiledExplicit),
+ (this.tag = null),
+ (this.result = ''),
+ (this.duplicates = []),
+ (this.usedDuplicates = null);
+ }
+ o(Art, 'State');
+ function zye(t, e) {
+ for (var r = Wi.repeat(' ', e), n = 0, i = -1, a = '', s, l = t.length; n < l; )
+ (i = t.indexOf(
+ `
+`,
+ n
+ )),
+ i === -1 ? ((s = t.slice(n)), (n = l)) : ((s = t.slice(n, i + 1)), (n = i + 1)),
+ s.length &&
+ s !==
+ `
+` &&
+ (a += r),
+ (a += s);
+ return a;
+ }
+ o(zye, 'indentString');
+ function lF(t, e) {
+ return (
+ `
+` + Wi.repeat(' ', t.indent * e)
+ );
+ }
+ o(lF, 'generateNextLine');
+ function _rt(t, e) {
+ var r, n, i;
+ for (r = 0, n = t.implicitTypes.length; r < n; r += 1) if (((i = t.implicitTypes[r]), i.resolve(e))) return !0;
+ return !1;
+ }
+ o(_rt, 'testImplicitResolving');
+ function EC(t) {
+ return t === lrt || t === srt;
+ }
+ o(EC, 'isWhitespace');
+ function Ab(t) {
+ return (
+ (32 <= t && t <= 126) ||
+ (161 <= t && t <= 55295 && t !== 8232 && t !== 8233) ||
+ (57344 <= t && t <= 65533 && t !== pF) ||
+ (65536 <= t && t <= 1114111)
+ );
+ }
+ o(Ab, 'isPrintable');
+ function Gye(t) {
+ return Ab(t) && t !== pF && t !== ort && t !== Cb;
+ }
+ o(Gye, 'isNsCharOrWhitespace');
+ function $ye(t, e, r) {
+ var n = Gye(t),
+ i = n && !EC(t);
+ return (
+ ((r ? n : n && t !== uve && t !== hve && t !== fve && t !== dve && t !== pve) &&
+ t !== oF &&
+ !(e === kC && !i)) ||
+ (Gye(e) && !EC(e) && t === oF) ||
+ (e === kC && i)
+ );
+ }
+ o($ye, 'isPlainSafe');
+ function Lrt(t) {
+ return (
+ Ab(t) &&
+ t !== pF &&
+ !EC(t) &&
+ t !== mrt &&
+ t !== vrt &&
+ t !== kC &&
+ t !== uve &&
+ t !== hve &&
+ t !== fve &&
+ t !== dve &&
+ t !== pve &&
+ t !== oF &&
+ t !== frt &&
+ t !== prt &&
+ t !== crt &&
+ t !== wrt &&
+ t !== grt &&
+ t !== yrt &&
+ t !== drt &&
+ t !== urt &&
+ t !== hrt &&
+ t !== xrt &&
+ t !== brt
+ );
+ }
+ o(Lrt, 'isPlainSafeFirst');
+ function Drt(t) {
+ return !EC(t) && t !== kC;
+ }
+ o(Drt, 'isPlainSafeLast');
+ function kb(t, e) {
+ var r = t.charCodeAt(e),
+ n;
+ return r >= 55296 && r <= 56319 && e + 1 < t.length && ((n = t.charCodeAt(e + 1)), n >= 56320 && n <= 57343)
+ ? (r - 55296) * 1024 + n - 56320 + 65536
+ : r;
+ }
+ o(kb, 'codePointAt');
+ function mve(t) {
+ var e = /^\n* /;
+ return e.test(t);
+ }
+ o(mve, 'needIndentIndicator');
+ var gve = 1,
+ cF = 2,
+ yve = 3,
+ vve = 4,
+ L1 = 5;
+ function Rrt(t, e, r, n, i, a, s, l) {
+ var u,
+ h = 0,
+ f = null,
+ d = !1,
+ p = !1,
+ m = n !== -1,
+ g = -1,
+ y = Lrt(kb(t, 0)) && Drt(kb(t, t.length - 1));
+ if (e || s)
+ for (u = 0; u < t.length; h >= 65536 ? (u += 2) : u++) {
+ if (((h = kb(t, u)), !Ab(h))) return L1;
+ (y = y && $ye(h, f, l)), (f = h);
+ }
+ else {
+ for (u = 0; u < t.length; h >= 65536 ? (u += 2) : u++) {
+ if (((h = kb(t, u)), h === Cb))
+ (d = !0), m && ((p = p || (u - g - 1 > n && t[g + 1] !== ' ')), (g = u));
+ else if (!Ab(h)) return L1;
+ (y = y && $ye(h, f, l)), (f = h);
+ }
+ p = p || (m && u - g - 1 > n && t[g + 1] !== ' ');
+ }
+ return !d && !p
+ ? y && !s && !i(t)
+ ? gve
+ : a === Sb
+ ? L1
+ : cF
+ : r > 9 && mve(t)
+ ? L1
+ : s
+ ? a === Sb
+ ? L1
+ : cF
+ : p
+ ? vve
+ : yve;
+ }
+ o(Rrt, 'chooseScalarStyle');
+ function Nrt(t, e, r, n, i) {
+ t.dump = (function () {
+ if (e.length === 0) return t.quotingType === Sb ? '""' : "''";
+ if (!t.noCompatMode && (Trt.indexOf(e) !== -1 || krt.test(e)))
+ return t.quotingType === Sb ? '"' + e + '"' : "'" + e + "'";
+ var a = t.indent * Math.max(1, r),
+ s = t.lineWidth === -1 ? -1 : Math.max(Math.min(t.lineWidth, 40), t.lineWidth - a),
+ l = n || (t.flowLevel > -1 && r >= t.flowLevel);
+ function u(h) {
+ return _rt(t, h);
+ }
+ switch ((o(u, 'testAmbiguity'), Rrt(e, l, t.indent, s, u, t.quotingType, t.forceQuotes && !n, i))) {
+ case gve:
+ return e;
+ case cF:
+ return "'" + e.replace(/'/g, "''") + "'";
+ case yve:
+ return '|' + Vye(e, t.indent) + Uye(zye(e, a));
+ case vve:
+ return '>' + Vye(e, t.indent) + Uye(zye(Mrt(e, s), a));
+ case L1:
+ return '"' + Irt(e) + '"';
+ default:
+ throw new $s('impossible error: invalid scalar style');
+ }
+ })();
+ }
+ o(Nrt, 'writeScalar');
+ function Vye(t, e) {
+ var r = mve(t) ? String(e) : '',
+ n =
+ t[t.length - 1] ===
+ `
+`,
+ i =
+ n &&
+ (t[t.length - 2] ===
+ `
+` ||
+ t ===
+ `
+`),
+ a = i ? '+' : n ? '' : '-';
+ return (
+ r +
+ a +
+ `
+`
+ );
+ }
+ o(Vye, 'blockHeader');
+ function Uye(t) {
+ return t[t.length - 1] ===
+ `
+`
+ ? t.slice(0, -1)
+ : t;
+ }
+ o(Uye, 'dropEndingNewline');
+ function Mrt(t, e) {
+ for (
+ var r = /(\n+)([^\n]*)/g,
+ n = (function () {
+ var h = t.indexOf(`
+`);
+ return (h = h !== -1 ? h : t.length), (r.lastIndex = h), Hye(t.slice(0, h), e);
+ })(),
+ i =
+ t[0] ===
+ `
+` || t[0] === ' ',
+ a,
+ s;
+ (s = r.exec(t));
+
+ ) {
+ var l = s[1],
+ u = s[2];
+ (a = u[0] === ' '),
+ (n +=
+ l +
+ (!i && !a && u !== ''
+ ? `
+`
+ : '') +
+ Hye(u, e)),
+ (i = a);
+ }
+ return n;
+ }
+ o(Mrt, 'foldString');
+ function Hye(t, e) {
+ if (t === '' || t[0] === ' ') return t;
+ for (var r = / [^ ]/g, n, i = 0, a, s = 0, l = 0, u = ''; (n = r.exec(t)); )
+ (l = n.index),
+ l - i > e &&
+ ((a = s > i ? s : l),
+ (u +=
+ `
+` + t.slice(i, a)),
+ (i = a + 1)),
+ (s = l);
+ return (
+ (u += `
+`),
+ t.length - i > e && s > i
+ ? (u +=
+ t.slice(i, s) +
+ `
+` +
+ t.slice(s + 1))
+ : (u += t.slice(i)),
+ u.slice(1)
+ );
+ }
+ o(Hye, 'foldLine');
+ function Irt(t) {
+ for (var e = '', r = 0, n, i = 0; i < t.length; r >= 65536 ? (i += 2) : i++)
+ (r = kb(t, i)),
+ (n = Ua[r]),
+ !n && Ab(r) ? ((e += t[i]), r >= 65536 && (e += t[i + 1])) : (e += n || Crt(r));
+ return e;
+ }
+ o(Irt, 'escapeString');
+ function Ort(t, e, r) {
+ var n = '',
+ i = t.tag,
+ a,
+ s,
+ l;
+ for (a = 0, s = r.length; a < s; a += 1)
+ (l = r[a]),
+ t.replacer && (l = t.replacer.call(r, String(a), l)),
+ (rh(t, e, l, !1, !1) || (typeof l > 'u' && rh(t, e, null, !1, !1))) &&
+ (n !== '' && (n += ',' + (t.condenseFlow ? '' : ' ')), (n += t.dump));
+ (t.tag = i), (t.dump = '[' + n + ']');
+ }
+ o(Ort, 'writeFlowSequence');
+ function Yye(t, e, r, n) {
+ var i = '',
+ a = t.tag,
+ s,
+ l,
+ u;
+ for (s = 0, l = r.length; s < l; s += 1)
+ (u = r[s]),
+ t.replacer && (u = t.replacer.call(r, String(s), u)),
+ (rh(t, e + 1, u, !0, !0, !1, !0) || (typeof u > 'u' && rh(t, e + 1, null, !0, !0, !1, !0))) &&
+ ((!n || i !== '') && (i += lF(t, e)),
+ t.dump && Cb === t.dump.charCodeAt(0) ? (i += '-') : (i += '- '),
+ (i += t.dump));
+ (t.tag = a), (t.dump = i || '[]');
+ }
+ o(Yye, 'writeBlockSequence');
+ function Prt(t, e, r) {
+ var n = '',
+ i = t.tag,
+ a = Object.keys(r),
+ s,
+ l,
+ u,
+ h,
+ f;
+ for (s = 0, l = a.length; s < l; s += 1)
+ (f = ''),
+ n !== '' && (f += ', '),
+ t.condenseFlow && (f += '"'),
+ (u = a[s]),
+ (h = r[u]),
+ t.replacer && (h = t.replacer.call(r, u, h)),
+ rh(t, e, u, !1, !1) &&
+ (t.dump.length > 1024 && (f += '? '),
+ (f += t.dump + (t.condenseFlow ? '"' : '') + ':' + (t.condenseFlow ? '' : ' ')),
+ rh(t, e, h, !1, !1) && ((f += t.dump), (n += f)));
+ (t.tag = i), (t.dump = '{' + n + '}');
+ }
+ o(Prt, 'writeFlowMapping');
+ function Brt(t, e, r, n) {
+ var i = '',
+ a = t.tag,
+ s = Object.keys(r),
+ l,
+ u,
+ h,
+ f,
+ d,
+ p;
+ if (t.sortKeys === !0) s.sort();
+ else if (typeof t.sortKeys == 'function') s.sort(t.sortKeys);
+ else if (t.sortKeys) throw new $s('sortKeys must be a boolean or a function');
+ for (l = 0, u = s.length; l < u; l += 1)
+ (p = ''),
+ (!n || i !== '') && (p += lF(t, e)),
+ (h = s[l]),
+ (f = r[h]),
+ t.replacer && (f = t.replacer.call(r, h, f)),
+ rh(t, e + 1, h, !0, !0, !0) &&
+ ((d = (t.tag !== null && t.tag !== '?') || (t.dump && t.dump.length > 1024)),
+ d && (t.dump && Cb === t.dump.charCodeAt(0) ? (p += '?') : (p += '? ')),
+ (p += t.dump),
+ d && (p += lF(t, e)),
+ rh(t, e + 1, f, !0, d) &&
+ (t.dump && Cb === t.dump.charCodeAt(0) ? (p += ':') : (p += ': '), (p += t.dump), (i += p)));
+ (t.tag = a), (t.dump = i || '{}');
+ }
+ o(Brt, 'writeBlockMapping');
+ function Wye(t, e, r) {
+ var n, i, a, s, l, u;
+ for (i = r ? t.explicitTypes : t.implicitTypes, a = 0, s = i.length; a < s; a += 1)
+ if (
+ ((l = i[a]),
+ (l.instanceOf || l.predicate) &&
+ (!l.instanceOf || (typeof e == 'object' && e instanceof l.instanceOf)) &&
+ (!l.predicate || l.predicate(e)))
+ ) {
+ if (
+ (r ? (l.multi && l.representName ? (t.tag = l.representName(e)) : (t.tag = l.tag)) : (t.tag = '?'),
+ l.represent)
+ ) {
+ if (((u = t.styleMap[l.tag] || l.defaultStyle), lve.call(l.represent) === '[object Function]'))
+ n = l.represent(e, u);
+ else if (cve.call(l.represent, u)) n = l.represent[u](e, u);
+ else throw new $s('!<' + l.tag + '> tag resolver accepts not "' + u + '" style');
+ t.dump = n;
+ }
+ return !0;
+ }
+ return !1;
+ }
+ o(Wye, 'detectType');
+ function rh(t, e, r, n, i, a, s) {
+ (t.tag = null), (t.dump = r), Wye(t, r, !1) || Wye(t, r, !0);
+ var l = lve.call(t.dump),
+ u = n,
+ h;
+ n && (n = t.flowLevel < 0 || t.flowLevel > e);
+ var f = l === '[object Object]' || l === '[object Array]',
+ d,
+ p;
+ if (
+ (f && ((d = t.duplicates.indexOf(r)), (p = d !== -1)),
+ ((t.tag !== null && t.tag !== '?') || p || (t.indent !== 2 && e > 0)) && (i = !1),
+ p && t.usedDuplicates[d])
+ )
+ t.dump = '*ref_' + d;
+ else {
+ if ((f && p && !t.usedDuplicates[d] && (t.usedDuplicates[d] = !0), l === '[object Object]'))
+ n && Object.keys(t.dump).length !== 0
+ ? (Brt(t, e, t.dump, i), p && (t.dump = '&ref_' + d + t.dump))
+ : (Prt(t, e, t.dump), p && (t.dump = '&ref_' + d + ' ' + t.dump));
+ else if (l === '[object Array]')
+ n && t.dump.length !== 0
+ ? (t.noArrayIndent && !s && e > 0 ? Yye(t, e - 1, t.dump, i) : Yye(t, e, t.dump, i),
+ p && (t.dump = '&ref_' + d + t.dump))
+ : (Ort(t, e, t.dump), p && (t.dump = '&ref_' + d + ' ' + t.dump));
+ else if (l === '[object String]') t.tag !== '?' && Nrt(t, t.dump, e, a, u);
+ else {
+ if (l === '[object Undefined]') return !1;
+ if (t.skipInvalid) return !1;
+ throw new $s('unacceptable kind of an object to dump ' + l);
+ }
+ t.tag !== null &&
+ t.tag !== '?' &&
+ ((h = encodeURI(t.tag[0] === '!' ? t.tag.slice(1) : t.tag).replace(/!/g, '%21')),
+ t.tag[0] === '!'
+ ? (h = '!' + h)
+ : h.slice(0, 18) === 'tag:yaml.org,2002:'
+ ? (h = '!!' + h.slice(18))
+ : (h = '!<' + h + '>'),
+ (t.dump = h + ' ' + t.dump));
+ }
+ return !0;
+ }
+ o(rh, 'writeNode');
+ function Frt(t, e) {
+ var r = [],
+ n = [],
+ i,
+ a;
+ for (uF(t, r, n), i = 0, a = n.length; i < a; i += 1) e.duplicates.push(r[n[i]]);
+ e.usedDuplicates = new Array(a);
+ }
+ o(Frt, 'getDuplicateReferences');
+ function uF(t, e, r) {
+ var n, i, a;
+ if (t !== null && typeof t == 'object')
+ if (((i = e.indexOf(t)), i !== -1)) r.indexOf(i) === -1 && r.push(i);
+ else if ((e.push(t), Array.isArray(t))) for (i = 0, a = t.length; i < a; i += 1) uF(t[i], e, r);
+ else for (n = Object.keys(t), i = 0, a = n.length; i < a; i += 1) uF(t[n[i]], e, r);
+ }
+ o(uF, 'inspectNode');
+ function zrt(t, e) {
+ e = e || {};
+ var r = new Art(e);
+ r.noRefs || Frt(t, r);
+ var n = t;
+ return (
+ r.replacer && (n = r.replacer.call({ '': n }, '', n)),
+ rh(r, 0, n, !0, !0)
+ ? r.dump +
+ `
+`
+ : ''
+ );
+ }
+ o(zrt, 'dump$1');
+ var Grt = zrt,
+ $rt = { dump: Grt };
+ function mF(t, e) {
+ return function () {
+ throw new Error(
+ 'Function yaml.' +
+ t +
+ ' is removed in js-yaml 4. Use yaml.' +
+ e +
+ ' instead, which is now safe by default.'
+ );
+ };
+ }
+ o(mF, 'renamed');
+ var xve = jye;
+ var bve = ove.load,
+ gmr = ove.loadAll,
+ ymr = $rt.dump;
+ var vmr = mF('safeLoad', 'load'),
+ xmr = mF('safeLoadAll', 'loadAll'),
+ bmr = mF('safeDump', 'dump');
+ function wve(t) {
+ let e = t.match($b);
+ if (!e) return { text: t, metadata: {} };
+ let r = bve(e[1], { schema: xve }) ?? {};
+ r = typeof r == 'object' && !Array.isArray(r) ? r : {};
+ let n = {};
+ return (
+ r.displayMode && (n.displayMode = r.displayMode.toString()),
+ r.title && (n.title = r.title.toString()),
+ r.config && (n.config = r.config),
+ { text: t.slice(e[0].length), metadata: n }
+ );
+ }
+ o(wve, 'extractFrontMatter');
+ xr();
+ var Urt = o(
+ (t) =>
+ t
+ .replace(
+ /\r\n?/g,
+ `
+`
+ )
+ .replace(/<(\w+)([^>]*)>/g, (e, r, n) => '<' + r + n.replace(/="([^"]*)"/g, "='$1'") + '>'),
+ 'cleanupText'
+ ),
+ Hrt = o((t) => {
+ let { text: e, metadata: r } = wve(t),
+ { displayMode: n, title: i, config: a = {} } = r;
+ return n && (a.gantt || (a.gantt = {}), (a.gantt.displayMode = n)), { title: i, config: a, text: e };
+ }, 'processFrontmatter'),
+ Yrt = o((t) => {
+ let e = Lt.detectInit(t) ?? {},
+ r = Lt.detectDirective(t, 'wrap');
+ return (
+ Array.isArray(r)
+ ? (e.wrap = r.some(({ type: n }) => n === 'wrap'))
+ : r?.type === 'wrap' && (e.wrap = !0),
+ { text: EX(t), directive: e }
+ );
+ }, 'processDirectives');
+ function gF(t) {
+ let e = Urt(t),
+ r = Hrt(e),
+ n = Yrt(r.text),
+ i = Ts(r.config, n.directive);
+ return (t = Rye(n.text)), { code: t, title: r.title, config: i };
+ }
+ o(gF, 'preprocessDiagram');
+ Z7();
+ Kb();
+ xr();
+ function Tve(t) {
+ let e = new TextEncoder().encode(t),
+ r = Array.from(e, (n) => String.fromCodePoint(n)).join('');
+ return btoa(r);
+ }
+ o(Tve, 'toBase64');
+ var Wrt = 5e4,
+ qrt = 'graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa',
+ Xrt = 'sandbox',
+ jrt = 'loose',
+ Krt = 'http://www.w3.org/2000/svg',
+ Qrt = 'http://www.w3.org/1999/xlink',
+ Zrt = 'http://www.w3.org/1999/xhtml',
+ Jrt = '100%',
+ ent = '100%',
+ tnt = 'border:0;margin:0;',
+ rnt = 'margin:0',
+ nnt = 'allow-top-navigation-by-user-activation allow-popups',
+ int = 'The "iframe" tag is not supported by your browser.',
+ ant = ['foreignobject'],
+ snt = ['dominant-baseline'];
+ function Ave(t) {
+ let e = gF(t);
+ return Q1(), jz(e.config ?? {}), e;
+ }
+ o(Ave, 'processAndSetConfigs');
+ async function ont(t, e) {
+ k1();
+ try {
+ let { code: r, config: n } = Ave(t);
+ return { diagramType: (await _ve(r)).type, config: n };
+ } catch (r) {
+ if (e?.suppressErrors) return !1;
+ throw r;
+ }
+ }
+ o(ont, 'parse');
+ var kve = o(
+ (t, e, r = []) => `
+.${t} ${e} { ${r.join(' !important; ')} !important; }`,
+ 'cssImportantStyles'
+ ),
+ lnt = o((t, e = new Map()) => {
+ let r = '';
+ if (
+ (t.themeCSS !== void 0 &&
+ (r += `
+${t.themeCSS}`),
+ t.fontFamily !== void 0 &&
+ (r += `
+:root { --mermaid-font-family: ${t.fontFamily}}`),
+ t.altFontFamily !== void 0 &&
+ (r += `
+:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),
+ e instanceof Map)
+ ) {
+ let s =
+ t.htmlLabels ?? t.flowchart?.htmlLabels
+ ? ['> *', 'span']
+ : ['rect', 'polygon', 'ellipse', 'circle', 'path'];
+ e.forEach((l) => {
+ Qt(l.styles) ||
+ s.forEach((u) => {
+ r += kve(l.id, u, l.styles);
+ }),
+ Qt(l.textStyles) ||
+ (r += kve(
+ l.id,
+ 'tspan',
+ (l?.textStyles || []).map((u) => u.replace('color', 'fill'))
+ ));
+ });
+ }
+ return r;
+ }, 'createCssStyles'),
+ cnt = o((t, e, r, n) => {
+ let i = lnt(t, r),
+ a = D$(e, i, t.themeVariables);
+ return xC(Cye(`${n}{${a}}`), Sye);
+ }, 'createUserStyles'),
+ unt = o((t = '', e, r) => {
+ let n = t;
+ return (
+ !r && !e && (n = n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g, 'marker-end="url(#')),
+ (n = to(n)),
+ (n = n.replace(/
/g, '
')),
+ n
+ );
+ }, 'cleanUpSvgCode'),
+ hnt = o((t = '', e) => {
+ let r = e?.viewBox?.baseVal?.height ? e.viewBox.baseVal.height + 'px' : ent,
+ n = Tve(`${t}`);
+ return ``;
+ }, 'putIntoIFrame'),
+ Eve = o((t, e, r, n, i) => {
+ let a = t.append('div');
+ a.attr('id', r), n && a.attr('style', n);
+ let s = a.append('svg').attr('id', e).attr('width', '100%').attr('xmlns', Krt);
+ return i && s.attr('xmlns:xlink', i), s.append('g'), t;
+ }, 'appendDivSvgG');
+ function Cve(t, e) {
+ return t.append('iframe').attr('id', e).attr('style', 'width: 100%; height: 100%;').attr('sandbox', '');
+ }
+ o(Cve, 'sandboxedIframe');
+ var fnt = o((t, e, r, n) => {
+ t.getElementById(e)?.remove(), t.getElementById(r)?.remove(), t.getElementById(n)?.remove();
+ }, 'removeExistingElements'),
+ dnt = o(async function (t, e, r) {
+ k1();
+ let n = Ave(e);
+ e = n.code;
+ let i = Or();
+ V.debug(i), e.length > (i?.maxTextSize ?? Wrt) && (e = qrt);
+ let a = '#' + t,
+ s = 'i' + t,
+ l = '#' + s,
+ u = 'd' + t,
+ h = '#' + u,
+ f = o(() => {
+ let I = $e(p ? l : h).node();
+ I && 'remove' in I && I.remove();
+ }, 'removeTempElements'),
+ d = $e('body'),
+ p = i.securityLevel === Xrt,
+ m = i.securityLevel === jrt,
+ g = i.fontFamily;
+ if (r !== void 0) {
+ if ((r && (r.innerHTML = ''), p)) {
+ let k = Cve($e(r), s);
+ (d = $e(k.nodes()[0].contentDocument.body)), (d.node().style.margin = 0);
+ } else d = $e(r);
+ Eve(d, t, u, `font-family: ${g}`, Qrt);
+ } else {
+ if ((fnt(document, t, u, s), p)) {
+ let k = Cve($e('body'), s);
+ (d = $e(k.nodes()[0].contentDocument.body)), (d.node().style.margin = 0);
+ } else d = $e('body');
+ Eve(d, t, u);
+ }
+ let y, v;
+ try {
+ y = await _1.fromText(e, { title: n.title });
+ } catch (k) {
+ if (i.suppressErrorRendering) throw (f(), k);
+ (y = await _1.fromText('error')), (v = k);
+ }
+ let x = d.select(h).node(),
+ b = y.type,
+ w = x.firstChild,
+ S = w.firstChild,
+ T = y.renderer.getClasses?.(e, y),
+ E = cnt(i, b, T, a),
+ _ = document.createElement('style');
+ (_.innerHTML = E), w.insertBefore(_, S);
+ try {
+ await y.renderer.draw(e, t, fx, y);
+ } catch (k) {
+ throw (i.suppressErrorRendering ? f() : Ede.draw(e, t, fx), k);
+ }
+ let A = d.select(`${h} svg`),
+ L = y.db.getAccTitle?.(),
+ M = y.db.getAccDescription?.();
+ mnt(b, A, L, M), d.select(`[id="${t}"]`).selectAll('foreignobject > *').attr('xmlns', Zrt);
+ let N = d.select(h).node().innerHTML;
+ if (
+ (V.debug('config.arrowMarkerAbsolute', i.arrowMarkerAbsolute),
+ (N = unt(N, p, yr(i.arrowMarkerAbsolute))),
+ p)
+ ) {
+ let k = d.select(h + ' svg').node();
+ N = hnt(N, k);
+ } else m || (N = Sve.default.sanitize(N, { ADD_TAGS: ant, ADD_ATTR: snt }));
+ if ((Dye(), v)) throw v;
+ return f(), { diagramType: b, svg: N, bindFunctions: y.db.bindFunctions };
+ }, 'render');
+ function pnt(t = {}) {
+ let e = On({}, t);
+ e?.fontFamily &&
+ !e.themeVariables?.fontFamily &&
+ (e.themeVariables || (e.themeVariables = {}), (e.themeVariables.fontFamily = e.fontFamily)),
+ Wz(e),
+ e?.theme && e.theme in Co
+ ? (e.themeVariables = Co[e.theme].getThemeVariables(e.themeVariables))
+ : e && (e.themeVariables = Co.default.getThemeVariables(e.themeVariables));
+ let r = typeof e == 'object' ? n7(e) : i7();
+ $1(r.logLevel), k1();
+ }
+ o(pnt, 'initialize');
+ var _ve = o((t, e = {}) => {
+ let { code: r } = gF(t);
+ return _1.fromText(r, e);
+ }, 'getDiagramFromText');
+ function mnt(t, e, r, n) {
+ Aye(e, t), _ye(e, r, n, e.attr('id'));
+ }
+ o(mnt, 'addA11yInfo');
+ var Ff = Object.freeze({
+ render: dnt,
+ parse: ont,
+ getDiagramFromText: _ve,
+ initialize: pnt,
+ getConfig: Or,
+ setConfig: Zb,
+ getSiteConfig: i7,
+ updateSiteConfig: qz,
+ reset: o(() => {
+ Q1();
+ }, 'reset'),
+ globalReset: o(() => {
+ Q1(uh);
+ }, 'globalReset'),
+ defaultConfig: uh
+ });
+ $1(Or().logLevel);
+ Q1(Or());
+ oT();
+ xr();
+ var gnt = o((t, e, r) => {
+ V.warn(t),
+ r9(t)
+ ? (r && r(t.str, t.hash), e.push({ ...t, message: t.str, error: t }))
+ : (r && r(t),
+ t instanceof Error &&
+ e.push({
+ str: t.message,
+ message: t.message,
+ hash: t.name,
+ error: t
+ }));
+ }, 'handleError'),
+ Lve = o(async function (t = { querySelector: '.mermaid' }) {
+ try {
+ await ynt(t);
+ } catch (e) {
+ if ((r9(e) && V.error(e.str), nh.parseError && nh.parseError(e), !t.suppressErrors))
+ throw (V.error('Use the suppressErrors option to suppress these errors'), e);
+ }
+ }, 'run'),
+ ynt = o(async function (
+ { postRenderCallback: t, querySelector: e, nodes: r } = {
+ querySelector: '.mermaid'
+ }
+ ) {
+ let n = Ff.getConfig();
+ V.debug(`${t ? '' : 'No '}Callback function found`);
+ let i;
+ if (r) i = r;
+ else if (e) i = document.querySelectorAll(e);
+ else throw new Error('Nodes and querySelector are both undefined');
+ V.debug(`Found ${i.length} diagrams`),
+ n?.startOnLoad !== void 0 &&
+ (V.debug('Start On Load: ' + n?.startOnLoad), Ff.updateSiteConfig({ startOnLoad: n?.startOnLoad }));
+ let a = new Lt.InitIDGenerator(n.deterministicIds, n.deterministicIDSeed),
+ s,
+ l = [];
+ for (let u of Array.from(i)) {
+ V.info('Rendering diagram: ' + u.id);
+ if (u.getAttribute('data-processed')) continue;
+ u.setAttribute('data-processed', 'true');
+ let h = `mermaid-${a.next()}`;
+ (s = u.innerHTML),
+ (s = Gb(Lt.entityDecode(s))
+ .trim()
+ .replace(/
/gi, '
'));
+ let f = Lt.detectInit(s);
+ f && V.debug('Detected early reinit: ', f);
+ try {
+ let { svg: d, bindFunctions: p } = await Mve(h, s, u);
+ (u.innerHTML = d), t && (await t(h)), p && p(u);
+ } catch (d) {
+ gnt(d, l, nh.parseError);
+ }
+ }
+ if (l.length > 0) throw l[0];
+ }, 'runThrowsErrors'),
+ Dve = o(function (t) {
+ Ff.initialize(t);
+ }, 'initialize'),
+ vnt = o(async function (t, e, r) {
+ V.warn('mermaid.init is deprecated. Please use run instead.'), t && Dve(t);
+ let n = { postRenderCallback: r, querySelector: '.mermaid' };
+ typeof e == 'string'
+ ? (n.querySelector = e)
+ : e && (e instanceof HTMLElement ? (n.nodes = [e]) : (n.nodes = e)),
+ await Lve(n);
+ }, 'init'),
+ xnt = o(async (t, { lazyLoad: e = !0 } = {}) => {
+ k1(), Ub(...t), e === !1 && (await lye());
+ }, 'registerExternalDiagrams'),
+ Rve = o(function () {
+ if (nh.startOnLoad) {
+ let { startOnLoad: t } = Ff.getConfig();
+ t && nh.run().catch((e) => V.error('Mermaid failed to initialize', e));
+ }
+ }, 'contentLoaded');
+ if (typeof document < 'u') {
+ window.addEventListener('load', Rve, !1);
+ }
+ var bnt = o(function (t) {
+ nh.parseError = t;
+ }, 'setParseErrorHandler'),
+ SC = [],
+ yF = !1,
+ Nve = o(async () => {
+ if (!yF) {
+ for (yF = !0; SC.length > 0; ) {
+ let t = SC.shift();
+ if (t)
+ try {
+ await t();
+ } catch (e) {
+ V.error('Error executing queue', e);
+ }
+ }
+ yF = !1;
+ }
+ }, 'executeQueue'),
+ wnt = o(
+ async (t, e) =>
+ new Promise((r, n) => {
+ let i = o(
+ () =>
+ new Promise((a, s) => {
+ Ff.parse(t, e).then(
+ (l) => {
+ a(l), r(l);
+ },
+ (l) => {
+ V.error('Error parsing', l), nh.parseError?.(l), s(l), n(l);
+ }
+ );
+ }),
+ 'performCall'
+ );
+ SC.push(i), Nve().catch(n);
+ }),
+ 'parse'
+ ),
+ Mve = o(
+ (t, e, r) =>
+ new Promise((n, i) => {
+ let a = o(
+ () =>
+ new Promise((s, l) => {
+ Ff.render(t, e, r).then(
+ (u) => {
+ s(u), n(u);
+ },
+ (u) => {
+ V.error('Error parsing', u), nh.parseError?.(u), l(u), i(u);
+ }
+ );
+ }),
+ 'performCall'
+ );
+ SC.push(a), Nve().catch(i);
+ }),
+ 'render'
+ ),
+ nh = {
+ startOnLoad: !0,
+ mermaidAPI: Ff,
+ parse: wnt,
+ render: Mve,
+ init: vnt,
+ run: Lve,
+ registerExternalDiagrams: xnt,
+ registerLayoutLoaders: gD,
+ initialize: Dve,
+ parseError: void 0,
+ contentLoaded: Rve,
+ setParseErrorHandler: bnt,
+ detectType: lp,
+ registerIconPacks: Fb
+ },
+ Tnt = nh;
+ return $ve(knt);
+})();
+/*! Check if previously processed */
+/*!
+ * Wait for document loaded before starting the execution
+ */
+/*! Bundled license information:
+
+dompurify/dist/purify.js:
+ (*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE *)
+
+lodash-es/lodash.js:
+ (**
+ * @license
+ * Lodash (Custom Build)
+ * Build: `lodash modularize exports="es" -o ./`
+ * Copyright OpenJS Foundation and other contributors
+ * Released under MIT license
+ * Based on Underscore.js 1.8.3
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ *)
+
+cytoscape/dist/cytoscape.esm.mjs:
+ (*!
+ Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
+ Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
+ Licensed under The MIT License (http://opensource.org/licenses/MIT)
+ *)
+ (*!
+ Event object based on jQuery events, MIT license
+
+ https://jquery.org/license/
+ https://tldrlegal.com/license/mit-license
+ https://github.com/jquery/jquery/blob/master/src/event.js
+ *)
+ (*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *)
+ (*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *)
+
+js-yaml/dist/js-yaml.mjs:
+ (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *)
+*/
+globalThis.mermaid = globalThis.__esbuild_esm_mermaid.default;
diff --git a/prover/docs/js/version-box.js b/prover/docs/js/version-box.js
new file mode 100644
index 000000000000..a7d053e01b47
--- /dev/null
+++ b/prover/docs/js/version-box.js
@@ -0,0 +1,61 @@
+document.addEventListener('DOMContentLoaded', function () {
+ // Get the base URL from the mdBook configuration
+ const baseUrl = document.location.origin + '/zksync-era/prover';
+
+ // Function to create version selector
+ function createVersionSelector(versions) {
+ const versionSelector = document.createElement('select');
+ versionSelector.id = 'version-selector';
+
+ // Get the current path
+ const currentPath = window.location.pathname;
+
+ // Iterate over the versions object
+ for (const [versionName, versionUrl] of Object.entries(versions)) {
+ const option = document.createElement('option');
+ option.value = versionUrl + '/';
+ option.textContent = versionName;
+
+ // Check if the current URL matches this option's value
+ if (currentPath.includes(option.value)) {
+ option.selected = true; // Set this option as selected
+ }
+
+ versionSelector.appendChild(option);
+ }
+
+ // Event listener to handle version change
+ versionSelector.addEventListener('change', function () {
+ const selectedVersion = versionSelector.value;
+ // Redirect to the selected version URL
+ window.location.href = '/zksync-era/prover' + selectedVersion;
+ });
+
+ return versionSelector;
+ }
+
+ // Fetch versions from JSON file
+ fetch(baseUrl + '/versions.json')
+ .then((response) => {
+ if (!response.ok) {
+ throw new Error('Network response was not ok ' + response.statusText);
+ }
+ return response.json();
+ })
+ .then((data) => {
+ const versionSelector = createVersionSelector(data);
+ const nav = document.querySelector('.right-buttons');
+
+ if (nav) {
+ const versionBox = document.createElement('div');
+ versionBox.id = 'version-box';
+ versionBox.appendChild(versionSelector);
+ nav.appendChild(versionBox); // Append to the .right-buttons container
+ } else {
+ console.error('.right-buttons element not found.');
+ }
+ })
+ .catch((error) => {
+ console.error('There has been a problem with your fetch operation:', error);
+ });
+});
diff --git a/prover/docs/00_intro.md b/prover/docs/src/00_intro.md
similarity index 100%
rename from prover/docs/00_intro.md
rename to prover/docs/src/00_intro.md
diff --git a/prover/docs/01_gcp_vm.md b/prover/docs/src/01_gcp_vm.md
similarity index 100%
rename from prover/docs/01_gcp_vm.md
rename to prover/docs/src/01_gcp_vm.md
diff --git a/prover/docs/02_setup.md b/prover/docs/src/02_setup.md
similarity index 100%
rename from prover/docs/02_setup.md
rename to prover/docs/src/02_setup.md
diff --git a/prover/docs/03_launch.md b/prover/docs/src/03_launch.md
similarity index 100%
rename from prover/docs/03_launch.md
rename to prover/docs/src/03_launch.md
diff --git a/prover/docs/04_flow.md b/prover/docs/src/04_flow.md
similarity index 100%
rename from prover/docs/04_flow.md
rename to prover/docs/src/04_flow.md
diff --git a/prover/docs/05_proving_batch.md b/prover/docs/src/05_proving_batch.md
similarity index 100%
rename from prover/docs/05_proving_batch.md
rename to prover/docs/src/05_proving_batch.md
diff --git a/prover/docs/src/99_further_reading.md b/prover/docs/src/99_further_reading.md
new file mode 100644
index 000000000000..7b916167dbdd
--- /dev/null
+++ b/prover/docs/src/99_further_reading.md
@@ -0,0 +1,14 @@
+# Further reading
+
+The documentation in this section aimed to provide a practical overview of the prover workspace, e.g. help people to
+understand how to run provers and what they do.
+
+However, we have some documentation that is more focused on theory of proving in the
+[core workspace docs](https://matter-labs.github.io/zksync-era/core/latest).
+
+You may find the following articles helpful for general understanding of ZK proofs:
+
+- [ZK intuition](https://matter-labs.github.io/zksync-era/core/latest/guides/advanced/13_zk_intuition.html).
+- [ZK deeper overview](https://matter-labs.github.io/zksync-era/core/latest/docs/guides/advanced/14_zk_deeper_overview.html).
+- [Prover keys](https://matter-labs.github.io/zksync-era/core/latest/docs/guides/advanced/15_prover_keys.html).
+- [Overview of our ZK proving system implementation](https://matter-labs.github.io/zksync-era/core/latest/specs/prover/overview.html).
diff --git a/prover/docs/src/SUMMARY.md b/prover/docs/src/SUMMARY.md
new file mode 100644
index 000000000000..d4a6fa15d778
--- /dev/null
+++ b/prover/docs/src/SUMMARY.md
@@ -0,0 +1,11 @@
+# Summary
+
+[Introduction](./00_intro.md)
+
+- [Creating a GCP VM](./01_gcp_vm.md)
+- [Development environment setup](./02_setup.md)
+- [Running provers](./03_launch.md)
+- [Prover flow](./04_flow.md)
+- [Proving a batch](./05_proving_batch.md)
+
+[Further reading](./99_further_reading.md)