@silurus/ooxml 0.64.3 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -84,7 +84,15 @@ function c(e) {
84
84
  let t = e.toLowerCase();
85
85
  return /[ᄀ-ᇿ㄰-㆏가-힯]/.test(e) ? "kr" : /[぀-ヿ]/.test(e) ? "jp" : /jhenghei|微軟正黑|新細明|細明|pmingliu|mingliu|dfkai|標楷|華康|cns11643|kaiti tc|ming\s*liu/.test(t) || /新細明體|細明體|標楷體|微軟正黑體|華康/.test(e) ? "tc" : /simsun|nsimsun|simhei|simkai|simfang|yahei|dengxian|fangsong|kaiti|youyuan|lisu|stsong|stkaiti|stfangsong|stheiti|stxihei|stzhongsong|songti sc|heiti sc|微软雅黑/.test(t) || /宋体|黑体|楷体|仿宋|等线|微软雅黑|隶书|幼圆/.test(e) ? "sc" : /malgun|batang|gulim|dotum|gungsuh|nanum|new gulim|hancom|hy(gothic|graphic|namu)?/.test(t) ? "kr" : /\bmeiryo\b|\byu\s*(gothic|mincho)\b|yugothic|yumincho|hiragino|\bms\s*(gothic|mincho|pgothic|pmincho|ui\s*gothic)\b|\bms[pg]?(gothic|mincho)\b|ipa(ex)?(gothic|mincho)|noto\s+(sans|serif)\s+jp|游ゴシック|游明朝|MS|メイリオ|ヒラギノ/.test(t) || /游ゴシック|游明朝|MS ゴシック|MS 明朝|MS Pゴシック|メイリオ|ヒラギノ/.test(e) ? "jp" : null;
86
86
  }
87
- function l(e, t) {
87
+ function l(e) {
88
+ if (!e) return "sans";
89
+ let t = e.toLowerCase();
90
+ return /mono|courier|consolas|等幅|gothic_m/.test(t) ? "mono" : /roman|times|cambria|caladea|georgia|garamond|century(?!\s*gothic)|palatino|didot|bodoni|playfair|source serif|noto serif|min\s*cho|明朝体|明朝|song|sung|simsun|nsimsun|batang|gungsuh|ming\s*liu|mingliu|pmingliu|fang\s*song|fangsong|kai\s*ti|kaiti|simkai|simfang|stsong|stkaiti|stfangsong|stzhongsong|新細明|細明|宋体|楷体|楷體|仿宋|標楷|游明朝|MS 明朝|ms mincho|yu mincho|hiragino mincho|ヒラギノ明朝/.test(t) || /新細明體|細明體|宋体|明朝|楷体|楷體|仿宋|標楷體|游明朝|MS 明朝/.test(e) ? "serif" : "sans";
91
+ }
92
+ function u(e) {
93
+ return e >= 1424 && e <= 1535 || e >= 1536 && e <= 1791 || e >= 1792 && e <= 1871 || e >= 1872 && e <= 1919 || e >= 1920 && e <= 1983 || e >= 1984 && e <= 2047 || e >= 2048 && e <= 2111 || e >= 2112 && e <= 2143 || e >= 2144 && e <= 2303 || e >= 64285 && e <= 64335 || e >= 64336 && e <= 65023 || e >= 65136 && e <= 65279 || e >= 67584 && e <= 69631 || e >= 124928 && e <= 126975;
94
+ }
95
+ function d(e, t) {
88
96
  let n = t === "serif" ? "Noto Serif" : "Noto Sans", r = {
89
97
  jp: [
90
98
  "jp",
@@ -118,28 +126,28 @@ function l(e, t) {
118
126
  };
119
127
  return r[e].map((e) => `${n} ${i[e]}`);
120
128
  }
121
- var u = [
129
+ var f = [
122
130
  "Noto Sans",
123
131
  "Noto Sans Hebrew",
124
132
  "Noto Sans Thai",
125
133
  "Noto Sans Devanagari"
126
- ], d = ["Noto Serif", "Noto Serif Hebrew"], f = (e) => `https://fonts.googleapis.com/css2?family=${e}:wght@400;700&display=swap`, p = {
127
- "noto sans kr": { url: f("Noto+Sans+KR") },
128
- "noto sans sc": { url: f("Noto+Sans+SC") },
129
- "noto sans tc": { url: f("Noto+Sans+TC") },
130
- "noto sans jp": { url: f("Noto+Sans+JP") },
131
- "noto serif kr": { url: f("Noto+Serif+KR") },
132
- "noto serif sc": { url: f("Noto+Serif+SC") },
133
- "noto serif tc": { url: f("Noto+Serif+TC") },
134
- "noto serif jp": { url: f("Noto+Serif+JP") },
135
- "noto sans": { url: f("Noto+Sans") },
136
- "noto serif": { url: f("Noto+Serif") },
137
- "noto sans devanagari": { url: f("Noto+Sans+Devanagari") },
138
- "noto sans thai": { url: f("Noto+Sans+Thai") },
139
- "noto sans hebrew": { url: f("Noto+Sans+Hebrew") },
140
- "noto serif hebrew": { url: f("Noto+Serif+Hebrew") }
134
+ ], p = ["Noto Serif", "Noto Serif Hebrew"], m = (e) => `https://fonts.googleapis.com/css2?family=${e}:wght@400;700&display=swap`, h = {
135
+ "noto sans kr": { url: m("Noto+Sans+KR") },
136
+ "noto sans sc": { url: m("Noto+Sans+SC") },
137
+ "noto sans tc": { url: m("Noto+Sans+TC") },
138
+ "noto sans jp": { url: m("Noto+Sans+JP") },
139
+ "noto serif kr": { url: m("Noto+Serif+KR") },
140
+ "noto serif sc": { url: m("Noto+Serif+SC") },
141
+ "noto serif tc": { url: m("Noto+Serif+TC") },
142
+ "noto serif jp": { url: m("Noto+Serif+JP") },
143
+ "noto sans": { url: m("Noto+Sans") },
144
+ "noto serif": { url: m("Noto+Serif") },
145
+ "noto sans devanagari": { url: m("Noto+Sans+Devanagari") },
146
+ "noto sans thai": { url: m("Noto+Sans+Thai") },
147
+ "noto sans hebrew": { url: m("Noto+Sans+Hebrew") },
148
+ "noto serif hebrew": { url: m("Noto+Serif+Hebrew") }
141
149
  };
142
- function m(e, t) {
150
+ function g(e, t) {
143
151
  let n = !1, r = !1, i = !1, a = !1, o = !1, s = !1, c = !1, l = !1, u = () => n && r && i && a && o && s && c && l;
144
152
  outer: for (let t of e) if (t) for (let e of t) {
145
153
  let t = e.codePointAt(0);
@@ -164,42 +172,146 @@ function m(e, t) {
164
172
  return l && d.push("Noto Sans", "Noto Serif"), a && d.push("Noto Naskh Arabic", "Noto Sans Arabic"), o && d.push("Noto Sans Thai"), s && d.push("Noto Sans Hebrew", "Noto Serif Hebrew"), c && d.push("Noto Sans Devanagari"), d;
165
173
  }
166
174
  //#endregion
175
+ //#region packages/core/src/fonts/symbol-font.ts
176
+ var _ = {
177
+ 167: "♣",
178
+ 168: "♦",
179
+ 169: "♥",
180
+ 170: "♠",
181
+ 171: "↔",
182
+ 172: "←",
183
+ 173: "↑",
184
+ 174: "→",
185
+ 175: "↓",
186
+ 183: "•",
187
+ 184: "÷",
188
+ 185: "≠",
189
+ 180: "×",
190
+ 176: "°",
191
+ 177: "±",
192
+ 163: "≤",
193
+ 179: "≥"
194
+ }, v = {
195
+ 33: "✏",
196
+ 34: "✂",
197
+ 36: "👓",
198
+ 74: "☺",
199
+ 75: "😐",
200
+ 76: "☹",
201
+ 118: "❖",
202
+ 167: "▪",
203
+ 108: "●",
204
+ 110: "■",
205
+ 116: "◆",
206
+ 119: "◆",
207
+ 251: "✗",
208
+ 252: "✓",
209
+ 253: "☒",
210
+ 254: "☑",
211
+ 223: "←",
212
+ 224: "→",
213
+ 225: "↑",
214
+ 226: "↓",
215
+ 227: "↖",
216
+ 228: "↗",
217
+ 229: "↙",
218
+ 230: "↘"
219
+ };
220
+ function y(e) {
221
+ let t = {};
222
+ for (let n of Object.keys(e)) {
223
+ let r = Number(n);
224
+ t[r] = e[r], t[61440 + r] = e[r];
225
+ }
226
+ return t;
227
+ }
228
+ var b = y(_), x = y(v);
229
+ function S(e, t) {
230
+ if (!t) return e;
231
+ let n = t.trim().toLowerCase(), r = n === "wingdings" ? x : n === "symbol" ? b : null;
232
+ return r ? r[e.charCodeAt(0)] ?? e : e;
233
+ }
234
+ function C(e) {
235
+ if (!e) return !1;
236
+ let t = e.toLowerCase();
237
+ return t === "symbol" || t.includes("wingdings");
238
+ }
239
+ function w(e, t) {
240
+ if (!C(t) || e.length === 0) return [{
241
+ text: e,
242
+ mapped: !1
243
+ }];
244
+ let n = [], r = "", i = null;
245
+ for (let a of e) {
246
+ let e = S(a, t), o = e !== a;
247
+ i === null || o === i ? (i = o, r += e) : (n.push({
248
+ text: r,
249
+ mapped: i
250
+ }), i = o, r = e);
251
+ }
252
+ return r.length > 0 && n.push({
253
+ text: r,
254
+ mapped: i ?? !1
255
+ }), n;
256
+ }
257
+ //#endregion
167
258
  //#region packages/core/src/chart/axis-scale.ts
168
- function h(e, t = 5) {
259
+ function T(e, t = 5) {
169
260
  if (e === 0) return 1;
170
261
  let n = e / t, r = 10 ** Math.floor(Math.log10(n)), i = n / r;
171
262
  return (i < 1.5 ? 1 : i < 3.5 ? 2 : i < 7.5 ? 5 : 10) * r;
172
263
  }
173
- function g(e, t, n = 0) {
264
+ function E(e, t, n = 0) {
174
265
  if (e <= 0) return t;
175
266
  let r = e + (e - n) / 20;
176
267
  return Math.ceil(r / t) * t;
177
268
  }
178
- function _(e, t) {
269
+ function D(e, t) {
179
270
  if (e >= 0) return 0;
180
271
  let n = Math.floor(e / t) * t;
181
272
  return Math.abs(n - e) < t * 1e-9 ? n - t : n;
182
273
  }
183
- function v(e, t, n, r) {
184
- let i = h(t - e), a = n ?? _(e, i);
274
+ var O = 40;
275
+ function k(e) {
276
+ return e == null || !isFinite(e) || e <= 0 ? 5 : Math.min(15, Math.max(3, Math.round(e / O)));
277
+ }
278
+ function A(e, t, n, r, i) {
279
+ let a = T(t - e, k(i)), o = n ?? D(e, a);
185
280
  return {
186
- min: a,
187
- max: r ?? g(t, i, a),
188
- step: i
281
+ min: o,
282
+ max: r ?? E(t, a, o),
283
+ step: a
189
284
  };
190
285
  }
191
286
  //#endregion
287
+ //#region packages/core/src/units.ts
288
+ var j = 12700, M = 9525, N = 4 / 3;
289
+ //#endregion
290
+ //#region packages/core/src/chart/axis-style.ts
291
+ function P(e, t) {
292
+ return e ? Math.max(.5, e / j) * t : 1;
293
+ }
294
+ function F(e, t, n) {
295
+ return {
296
+ color: e ? `#${e}` : "#aaa",
297
+ width: P(t, n)
298
+ };
299
+ }
300
+ function ee(e) {
301
+ return e.catAxisCrossBetween !== "midCat";
302
+ }
303
+ //#endregion
192
304
  //#region packages/core/src/chart/chart-number-format.ts
193
- function y(e) {
305
+ function I(e) {
194
306
  return Number.isInteger(e) ? String(e) : e.toFixed(6).replace(/\.?0+$/, "");
195
307
  }
196
- function b(e, t) {
197
- if (!t || t.trim().toLowerCase() === "general") return y(e);
198
- if (x(t)) return S(e, t);
199
- let n = C(t), r;
200
- return r = e > 0 ? n[0] ?? t : e < 0 ? n[1] ?? n[0] ?? t : n[2] ?? n[0] ?? t, r === "" ? "" : (e < 0 && n.length < 2 ? "-" : "") + w(Math.abs(e), r);
308
+ function L(e, t) {
309
+ if (!t || t.trim().toLowerCase() === "general") return I(e);
310
+ if (R(t)) return z(e, t);
311
+ let n = B(t), r;
312
+ return r = e > 0 ? n[0] ?? t : e < 0 ? n[1] ?? n[0] ?? t : n[2] ?? n[0] ?? t, r === "" ? "" : (e < 0 && n.length < 2 ? "-" : "") + V(Math.abs(e), r);
201
313
  }
202
- function x(e) {
314
+ function R(e) {
203
315
  let t = !1;
204
316
  for (let n = 0; n < e.length; n++) {
205
317
  let r = e[n];
@@ -221,7 +333,7 @@ function x(e) {
221
333
  }
222
334
  return !1;
223
335
  }
224
- function S(e, t) {
336
+ function z(e, t) {
225
337
  let n = Date.UTC(1899, 11, 30), r = e < 60 ? e + 1 : e, i = n + Math.floor(r) * 864e5, a = new Date(i), o = a.getUTCFullYear(), s = a.getUTCMonth() + 1, c = a.getUTCDate(), l = (e - Math.floor(e)) * 86400, u = Math.floor(l / 3600), d = Math.floor(l % 3600 / 60), f = Math.floor(l % 60), p = "", m = !1, h = 0;
226
338
  for (; h < t.length;) {
227
339
  let e = t[h];
@@ -276,7 +388,7 @@ function S(e, t) {
276
388
  }
277
389
  return p;
278
390
  }
279
- function C(e) {
391
+ function B(e) {
280
392
  let t = [], n = "";
281
393
  for (let r = 0; r < e.length; r++) {
282
394
  let i = e[r];
@@ -302,7 +414,7 @@ function C(e) {
302
414
  }
303
415
  return t.push(n), t;
304
416
  }
305
- function w(e, t) {
417
+ function V(e, t) {
306
418
  let n = [], r = 0, i = !1, a = !1;
307
419
  for (; r < t.length;) {
308
420
  let e = t[r];
@@ -363,16 +475,16 @@ function w(e, t) {
363
475
  if (!i) return n.map((e) => e.text).join("");
364
476
  let o = a ? e * 100 : e, s = "";
365
477
  for (let e of n) e.kind === "num" && (s += e.text);
366
- let c = T(o, s), l = !1;
478
+ let c = H(o, s), l = !1;
367
479
  return n.map((e) => e.kind === "lit" ? e.text : l ? "" : (l = !0, c)).join("");
368
480
  }
369
- function T(e, t) {
481
+ function H(e, t) {
370
482
  let n = t.indexOf("."), r = n >= 0 ? t.slice(0, n) : t, i = n >= 0 ? t.slice(n + 1) : "", a = /,/.test(r), o = (i.match(/[#0?]/g) ?? []).length, s = (r.replace(/,/g, "").match(/0/g) ?? []).length, [c, l = ""] = e.toFixed(o).split("."), u = c.padStart(s, "0"), d = a ? u.replace(/\B(?=(\d{3})+(?!\d))/g, ",") : u;
371
483
  return o === 0 ? d : `${d}.${l.padEnd(o, "0")}`;
372
484
  }
373
485
  //#endregion
374
486
  //#region packages/core/src/shape/pattern-bitmaps.ts
375
- var E = {
487
+ var te = {
376
488
  pct5: [
377
489
  0,
378
490
  16,
@@ -754,21 +866,21 @@ var E = {
754
866
  90
755
867
  ]
756
868
  };
757
- function D(e, t, n) {
758
- let r = E[e];
869
+ function ne(e, t, n) {
870
+ let r = te[e];
759
871
  if (!r) return null;
760
- let i = O(8, 8);
872
+ let i = re(8, 8);
761
873
  if (!i) return null;
762
874
  let a = i.getContext("2d");
763
875
  if (!a) return null;
764
- a.fillStyle = k(n), a.fillRect(0, 0, 8, 8), a.fillStyle = k(t);
876
+ a.fillStyle = ie(n), a.fillRect(0, 0, 8, 8), a.fillStyle = ie(t);
765
877
  for (let e = 0; e < 8; e++) {
766
878
  let t = r[e];
767
879
  for (let n = 0; n < 8; n++) t & 1 << 7 - n && a.fillRect(n, e, 1, 1);
768
880
  }
769
881
  return i;
770
882
  }
771
- function O(e, t) {
883
+ function re(e, t) {
772
884
  if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(e, t);
773
885
  if (typeof document < "u") {
774
886
  let n = document.createElement("canvas");
@@ -776,23 +888,30 @@ function O(e, t) {
776
888
  }
777
889
  return null;
778
890
  }
779
- function k(e) {
891
+ function ie(e) {
780
892
  return `rgba(${parseInt(e.slice(0, 2), 16)},${parseInt(e.slice(2, 4), 16)},${parseInt(e.slice(4, 6), 16)},${e.length >= 8 ? parseInt(e.slice(6, 8), 16) / 255 : 1})`;
781
893
  }
782
894
  //#endregion
783
895
  //#region packages/core/src/shape/paint.ts
784
- function A(e, t = 1) {
896
+ function U(e, t = 1) {
785
897
  let n = e.charCodeAt(0) === 35 ? e.slice(1) : e;
786
898
  return `rgba(${parseInt(n.slice(0, 2), 16)},${parseInt(n.slice(2, 4), 16)},${parseInt(n.slice(4, 6), 16)},${n.length >= 8 ? parseInt(n.slice(6, 8), 16) / 255 : t})`;
787
899
  }
788
- function j(e, t, n, r, i, a) {
900
+ function ae(e) {
901
+ let t = e.charCodeAt(0) === 35 ? e.slice(1) : e, n = parseInt(t.slice(0, 2), 16), r = parseInt(t.slice(2, 4), 16), i = parseInt(t.slice(4, 6), 16);
902
+ return .299 * n + .587 * r + .114 * i;
903
+ }
904
+ function oe(e) {
905
+ return e && ae(e) < 128 ? "#FFFFFF" : "#000000";
906
+ }
907
+ function se(e, t, n, r, i, a) {
789
908
  if (!e || e.fillType === "none") return null;
790
- if (e.fillType === "solid") return A(e.color);
791
- if (e.fillType === "pattern") return N(e, t);
909
+ if (e.fillType === "solid") return U(e.color);
910
+ if (e.fillType === "pattern") return W(e, t);
792
911
  if (e.fillType === "gradient") {
793
912
  let o = e.stops;
794
913
  if (o.length === 0) return null;
795
- if (o.length === 1) return A(o[0].color);
914
+ if (o.length === 1) return U(o[0].color);
796
915
  let s;
797
916
  if (e.gradType === "radial") {
798
917
  let e = n + i / 2, o = r + a / 2, c = Math.sqrt(i * i + a * a) / 2;
@@ -801,23 +920,23 @@ function j(e, t, n, r, i, a) {
801
920
  let o = e.angle * Math.PI / 180, c = n + i / 2, l = r + a / 2, u = (Math.abs(Math.cos(o)) * i + Math.abs(Math.sin(o)) * a) / 2;
802
921
  s = t.createLinearGradient(c - Math.cos(o) * u, l - Math.sin(o) * u, c + Math.cos(o) * u, l + Math.sin(o) * u);
803
922
  }
804
- for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)), A(e.color));
923
+ for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)), U(e.color));
805
924
  return s;
806
925
  }
807
926
  return null;
808
927
  }
809
- var M = /* @__PURE__ */ new WeakMap();
810
- function N(e, t) {
811
- let n = `${e.preset}|${e.fg}|${e.bg}`, r = M.get(t);
812
- r || (r = /* @__PURE__ */ new Map(), M.set(t, r));
928
+ var ce = /* @__PURE__ */ new WeakMap();
929
+ function W(e, t) {
930
+ let n = `${e.preset}|${e.fg}|${e.bg}`, r = ce.get(t);
931
+ r || (r = /* @__PURE__ */ new Map(), ce.set(t, r));
813
932
  let i = r.get(n);
814
933
  if (i) return i;
815
- let a = D(e.preset, e.fg, e.bg);
816
- if (!a) return A(e.fg);
934
+ let a = ne(e.preset, e.fg, e.bg);
935
+ if (!a) return U(e.fg);
817
936
  let o = t.createPattern(a, "repeat");
818
- return o ? (r.set(n, o), o) : A(e.fg);
937
+ return o ? (r.set(n, o), o) : U(e.fg);
819
938
  }
820
- var P = {
939
+ var G = {
821
940
  dash: [6, 3],
822
941
  dot: [1.5, 3],
823
942
  dashDot: [
@@ -850,20 +969,20 @@ var P = {
850
969
  2
851
970
  ]
852
971
  };
853
- function F(e, t, n) {
972
+ function K(e, t, n) {
854
973
  if (!t) {
855
974
  e.strokeStyle = "transparent", e.lineWidth = 0, e.setLineDash([]);
856
975
  return;
857
976
  }
858
- e.strokeStyle = A(t.color);
977
+ e.strokeStyle = U(t.color);
859
978
  let r = Math.max(.5, t.width * n);
860
979
  e.lineWidth = r;
861
- let i = t.dashStyle ? P[t.dashStyle] : null;
980
+ let i = t.dashStyle ? G[t.dashStyle] : null;
862
981
  e.setLineDash(i ? i.map((e) => e * r) : []);
863
982
  }
864
983
  //#endregion
865
- //#region packages/core/src/units.ts
866
- var I = 12700, L = 9525, R = 4 / 3, z = [
984
+ //#region packages/core/src/chart/renderer.ts
985
+ var q = [
867
986
  "4472C4",
868
987
  "ED7D31",
869
988
  "A9D18E",
@@ -877,58 +996,58 @@ var I = 12700, L = 9525, R = 4 / 3, z = [
877
996
  "255E91",
878
997
  "967300"
879
998
  ];
880
- function ee(e, t) {
881
- return t?.color ? `#${t.color}` : `#${z[e % z.length]}`;
999
+ function le(e, t) {
1000
+ return t?.color ? `#${t.color}` : `#${q[e % q.length]}`;
882
1001
  }
883
- function B(e, t) {
1002
+ function ue(e, t) {
884
1003
  let n = t.dataPointColors?.[e];
885
- return n ? `#${n}` : `#${z[e % z.length]}`;
1004
+ return n ? `#${n}` : `#${q[e % q.length]}`;
886
1005
  }
887
- function V(e) {
1006
+ function de(e) {
888
1007
  return e === "pie" || e === "doughnut";
889
1008
  }
890
- function H(e, t, n) {
891
- if (V(e)) {
1009
+ function fe(e, t, n) {
1010
+ if (de(e)) {
892
1011
  let e = t[0];
893
- return e ? B(n, e) : `#${z[n % z.length]}`;
1012
+ return e ? ue(n, e) : `#${q[n % q.length]}`;
894
1013
  }
895
- return ee(n, t[n]);
1014
+ return le(n, t[n]);
896
1015
  }
897
- function U(e, t, n) {
1016
+ function pe(e, t, n) {
898
1017
  return e ? e / 100 * n : Math.max(8, Math.min(10, t * .045));
899
1018
  }
900
- function W(e, t, n, r, i, a, o, s) {
1019
+ function me(e, t, n, r, i, a, o, s) {
901
1020
  e.save(), e.font = `${o ? "bold " : ""}${a}px sans-serif`, e.fillStyle = s, i === "cat" ? (e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 60), n, r)) : (e.translate(n, r), e.rotate(-Math.PI / 2), e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 60), 0, 0)), e.restore();
902
1021
  }
903
- function te(e) {
1022
+ function he(e) {
904
1023
  return e ? `#${e}` : "#555";
905
1024
  }
906
- function G(e) {
1025
+ function ge(e) {
907
1026
  return Math.max(8, e * .02);
908
1027
  }
909
- function ne(e, t, n, r) {
910
- let i = U(e.catAxisTitleFontSizeHpt, n, r), a = U(e.valAxisTitleFontSizeHpt, n, r);
1028
+ function _e(e, t, n, r) {
1029
+ let i = pe(e.catAxisTitleFontSizeHpt, n, r), a = pe(e.valAxisTitleFontSizeHpt, n, r);
911
1030
  return {
912
1031
  catTitlePx: i,
913
1032
  valTitlePx: a,
914
- catTitleH: e.catAxisTitle ? i + G(n) + 4 : 0,
915
- valTitleW: e.valAxisTitle ? a + G(t) + 4 : 0
1033
+ catTitleH: e.catAxisTitle ? i + ge(n) + 4 : 0,
1034
+ valTitleW: e.valAxisTitle ? a + ge(t) + 4 : 0
916
1035
  };
917
1036
  }
918
- function re(e, t, n, r, i, a, o, s, c, l, u, d, f, p) {
1037
+ function ve(e, t, n, r, i, a, o, s, c, l, u, d, f, p) {
919
1038
  if (t.valAxisTitle) {
920
- let r = n + u + G(i) + p / 2, a = s + l / 2;
921
- W(e, t.valAxisTitle, r, a, "val", p, t.valAxisTitleFontBold ?? !0, te(t.valAxisTitleFontColor));
1039
+ let r = n + u + ge(i) + p / 2, a = s + l / 2;
1040
+ me(e, t.valAxisTitle, r, a, "val", p, t.valAxisTitleFontBold ?? !0, he(t.valAxisTitleFontColor));
922
1041
  }
923
1042
  if (t.catAxisTitle) {
924
- let n = o + c / 2, i = r + a - d - G(a) - f / 2;
925
- W(e, t.catAxisTitle, n, i, "cat", f, t.catAxisTitleFontBold ?? !0, te(t.catAxisTitleFontColor));
1043
+ let n = o + c / 2, i = r + a - d - ge(a) - f / 2;
1044
+ me(e, t.catAxisTitle, n, i, "cat", f, t.catAxisTitleFontBold ?? !0, he(t.catAxisTitleFontColor));
926
1045
  }
927
1046
  }
928
- function ie(e) {
1047
+ function ye(e) {
929
1048
  return e && (e === "line" || e === "stackedLine" || e === "stackedLinePct" || e === "radar" || e === "scatter") ? "line" : "fill";
930
1049
  }
931
- function ae(e, t, n, r, i, a, o) {
1050
+ function be(e, t, n, r, i, a, o) {
932
1051
  if (e.fillStyle = n, t === "line") {
933
1052
  e.strokeStyle = n;
934
1053
  let t = e.lineWidth;
@@ -937,34 +1056,34 @@ function ae(e, t, n, r, i, a, o) {
937
1056
  e.moveTo(r, s), e.lineTo(r + a, s), e.stroke(), e.lineWidth = t;
938
1057
  } else e.fillRect(r, i, a, o);
939
1058
  }
940
- function K(e, t) {
941
- if (V(t)) {
1059
+ function xe(e, t) {
1060
+ if (de(t)) {
942
1061
  let n = e[0], r = n ? n.values.length : 0, i = n?.categories ?? [];
943
1062
  return Array.from({ length: r }, (n, r) => ({
944
1063
  label: (i[r] ?? `Item ${r + 1}`).toString(),
945
- color: H(t, e, r)
1064
+ color: fe(t, e, r)
946
1065
  }));
947
1066
  }
948
1067
  return e.map((n, r) => ({
949
1068
  label: n.name || `Series ${r + 1}`,
950
- color: H(t, e, r)
1069
+ color: fe(t, e, r)
951
1070
  }));
952
1071
  }
953
- function oe(e, t, n, r, i, a, o = "vertical", s) {
954
- let c = ie(s), l = K(t, s);
1072
+ function Se(e, t, n, r, i, a, o = "vertical", s) {
1073
+ let c = ye(s), l = xe(t, s);
955
1074
  if (o === "horizontal") {
956
1075
  let t = Math.max(9, Math.min(12, a * .7));
957
1076
  e.font = `${t}px sans-serif`, e.textBaseline = "middle";
958
1077
  let o = l.map((t) => 14 + e.measureText(t.label.slice(0, 30)).width), s = n + (i - (o.reduce((e, t) => e + t, 0) + 12 * Math.max(0, l.length - 1))) / 2, u = r + a / 2;
959
- for (let n = 0; n < l.length; n++) ae(e, c, l[n].color, s, u - t / 2, 10, t), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[n].label.slice(0, 30), s + 10 + 4, u), s += o[n] + 12;
1078
+ for (let n = 0; n < l.length; n++) be(e, c, l[n].color, s, u - t / 2, 10, t), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[n].label.slice(0, 30), s + 10 + 4, u), s += o[n] + 12;
960
1079
  return;
961
1080
  }
962
1081
  let u = Math.max(9, Math.min(12, a / (l.length + 1)));
963
1082
  e.font = `${u}px sans-serif`, e.textBaseline = "middle";
964
1083
  let d = u + 4, f = r + (a - d * l.length) / 2;
965
- for (let t = 0; t < l.length; t++) ae(e, c, l[t].color, n, f, 10, u), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[t].label.slice(0, 20), n + 10 + 4, f + u / 2), f += d;
1084
+ for (let t = 0; t < l.length; t++) be(e, c, l[t].color, n, f, 10, u), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[t].label.slice(0, 20), n + 10 + 4, f + u / 2), f += d;
966
1085
  }
967
- function se(e, t, n) {
1086
+ function Ce(e, t, n) {
968
1087
  if (!e.showLegend) return null;
969
1088
  let r = e.legendPos ?? "r", i = r === "l" ? "l" : r === "t" ? "t" : r === "b" ? "b" : "r";
970
1089
  return i === "r" || i === "l" ? {
@@ -977,53 +1096,53 @@ function se(e, t, n) {
977
1096
  reserveH: Math.max(18, n * .08)
978
1097
  };
979
1098
  }
980
- function ce(e, t, n, r, i, a, o, s, c, l, u, d) {
1099
+ function we(e, t, n, r, i, a, o, s, c, l, u, d) {
981
1100
  if (!n) return;
982
1101
  let f = t.legendManualLayout;
983
1102
  if (f && f.xMode === "edge" && f.yMode === "edge" && f.w > 0 && f.h > 0) {
984
1103
  let n = r + f.x * a, s = i + f.y * o, c = f.w * a, l = f.h * o, u = c >= l ? "horizontal" : "vertical";
985
- oe(e, t.series, n, s, c, l, u, t.chartType);
1104
+ Se(e, t.series, n, s, c, l, u, t.chartType);
986
1105
  return;
987
1106
  }
988
1107
  switch (n.side) {
989
1108
  case "r":
990
- oe(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
1109
+ Se(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
991
1110
  break;
992
1111
  case "l":
993
- oe(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
1112
+ Se(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
994
1113
  break;
995
1114
  case "t":
996
- oe(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
1115
+ Se(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
997
1116
  break;
998
1117
  case "b":
999
- oe(e, t.series, s, i + o - n.reserveH, l, n.reserveH, "horizontal", t.chartType);
1118
+ Se(e, t.series, s, i + o - n.reserveH, l, n.reserveH, "horizontal", t.chartType);
1000
1119
  break;
1001
1120
  }
1002
1121
  }
1003
- function le(e, t, n, r, i, a, o) {
1122
+ function J(e, t, n, r, i, a, o, s = !1) {
1004
1123
  if (t === "none" || !t) return;
1005
- let s = o ? Math.max(4, o + 2) : 4, c = e.strokeStyle, l = e.lineWidth;
1124
+ let c = o ? Math.max(4, o + 2) : 4, l = e.strokeStyle, u = e.lineWidth;
1006
1125
  if (e.strokeStyle = a ?? "#888", e.lineWidth = o ?? 1, e.beginPath(), n === "val") {
1007
- let n = r, a = i, o = t === "out" || t === "cross" ? -s : 0, c = t === "in" || t === "cross" ? s : 0;
1008
- e.moveTo(n + o, a), e.lineTo(n + c, a);
1126
+ let n = r, a = i, o = s ? 1 : -1, l = t === "out" || t === "cross" ? o * c : 0, u = t === "in" || t === "cross" ? -o * c : 0;
1127
+ e.moveTo(n + l, a), e.lineTo(n + u, a);
1009
1128
  } else {
1010
- let n = r, a = i, o = t === "out" || t === "cross" ? s : 0, c = t === "in" || t === "cross" ? -s : 0;
1011
- e.moveTo(a, n + o), e.lineTo(a, n + c);
1129
+ let n = r, a = i, o = t === "out" || t === "cross" ? c : 0, s = t === "in" || t === "cross" ? -c : 0;
1130
+ e.moveTo(a, n + o), e.lineTo(a, n + s);
1012
1131
  }
1013
- e.stroke(), e.strokeStyle = c, e.lineWidth = l;
1132
+ e.stroke(), e.strokeStyle = l, e.lineWidth = u;
1014
1133
  }
1015
- function ue(e, t, n) {
1134
+ function Te(e, t, n) {
1016
1135
  return e.titleFontSizeHpt ? e.titleFontSizeHpt / 100 * n : Math.max(10, t * .085);
1017
1136
  }
1018
- function de(e, t, n) {
1137
+ function Ee(e, t, n) {
1019
1138
  return e ? e / 100 * n : Math.max(8, t * .045);
1020
1139
  }
1021
- function fe(e, t, n, r, i, a) {
1140
+ function De(e, t, n, r, i, a) {
1022
1141
  if (!t.title) return;
1023
1142
  let o = t.titleFontFace ? `"${t.titleFontFace}", Calibri, Arial, sans-serif` : "Calibri, Arial, sans-serif";
1024
1143
  e.font = `${t.titleFontBold ?? !0 ? "bold " : ""}${a}px ${o}`, e.fillStyle = t.titleFontColor ? `#${t.titleFontColor}` : "#333", e.textAlign = "center", e.textBaseline = "top", e.fillText(t.title, n + i / 2, r);
1025
1144
  }
1026
- function pe(e) {
1145
+ function Oe(e) {
1027
1146
  if (e.categories.length > 0) return e.categories;
1028
1147
  let t = e.series[0];
1029
1148
  if (t?.categories && t.categories.length > 0) return t.categories;
@@ -1031,7 +1150,7 @@ function pe(e) {
1031
1150
  for (let t of e.series) t.values.length > n && (n = t.values.length);
1032
1151
  return n > 0 ? Array.from({ length: n }, (e, t) => String(t + 1)) : [];
1033
1152
  }
1034
- function me(e, t, n, r, i, a, o, s, c) {
1153
+ function ke(e, t, n, r, i, a, o, s, c) {
1035
1154
  let l = s ?? "outEnd";
1036
1155
  if (e.fillStyle = c ? `#${c}` : "#333", o === "vertical") {
1037
1156
  let o = n + a / 2;
@@ -1041,132 +1160,184 @@ function me(e, t, n, r, i, a, o, s, c) {
1041
1160
  l === "inBase" ? (e.textAlign = "left", e.textBaseline = "middle", e.fillText(t, n + 4, o)) : l === "inEnd" ? (e.textAlign = "right", e.textBaseline = "middle", e.fillText(t, n + i - 4, o)) : l === "ctr" ? (e.textAlign = "center", e.textBaseline = "middle", e.fillText(t, n + i / 2, o)) : (e.textAlign = "left", e.textBaseline = "middle", e.fillText(t, n + i + 2, o));
1042
1161
  }
1043
1162
  }
1044
- function q(e, t, n, r) {
1045
- let { x: i, y: a, w: o, h: s } = n, c = t.chartType === "clusteredBarH" || t.chartType === "stackedBarH" || t.chartType === "stackedBarHPct", l = t.chartType.startsWith("stacked"), u = t.chartType === "stackedBarPct" || t.chartType === "stackedBarHPct", d = t.series.filter((e) => e.seriesType !== "line"), f = t.series.filter((e) => e.seriesType === "line"), p = pe(t), m = p.length;
1046
- if (m === 0) return;
1047
- let h = t.title ? ue(t, s, r) : 0, g = t.title ? s * .02 : 0, _ = t.title ? s * .025 : 0, y = t.title ? h + g + _ : 0, x = se(t, o, s), S = x?.side === "r" ? x.reserveW : 0, C = x?.side === "l" ? x.reserveW : 0, w = x?.side === "t" ? x.reserveH : 0, T = x?.side === "b" ? x.reserveH : 0, { catTitlePx: E, valTitlePx: D, catTitleH: O, valTitleW: k } = ne(t, o, s, r), A = {
1048
- t: y + w + s * .02,
1049
- r: S + o * .03,
1050
- b: s * .14 + O + T,
1051
- l: o * .12 + k + C
1052
- };
1053
- c && (A.l = (t.catAxisHidden ? o * .03 : o * .22) + k + C, A.b = (t.valAxisHidden ? s * .02 : s * .08) + O + T), fe(e, t, i, a + g, o, h);
1054
- let j = t.plotAreaManualLayout, M, N, P, F;
1055
- if (j && j.w != null && j.h != null ? (M = i + j.x * o, N = a + j.y * s, P = j.w * o, F = j.h * s) : (M = i + A.l, N = a + A.t, P = o - A.l - A.r, F = s - A.t - A.b), P <= 0 || F <= 0) return;
1056
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(M, N, P, F));
1057
- let L = 0;
1058
- for (let e = 0; e < m; e++) {
1163
+ function Ae(e, t, n, r) {
1164
+ let { x: i, y: a, w: o, h: s } = n, c = t.chartType === "clusteredBarH" || t.chartType === "stackedBarH" || t.chartType === "stackedBarHPct", l = t.chartType.startsWith("stacked"), u = t.chartType === "stackedBarPct" || t.chartType === "stackedBarHPct", d = t.series.filter((e) => e.seriesType !== "line"), f = t.series.filter((e) => e.seriesType === "line"), p = !c && t.secondaryValAxis && f.some((e) => e.useSecondaryAxis === !0) ? t.secondaryValAxis : null, m = Oe(t), h = m.length;
1165
+ if (h === 0) return;
1166
+ let g = t.title ? Te(t, s, r) : 0, _ = t.title ? s * .02 : 0, v = t.title ? s * .025 : 0, y = t.title ? g + _ + v : 0, b = Ce(t, o, s), x = b?.side === "r" ? b.reserveW : 0, S = b?.side === "l" ? b.reserveW : 0, C = b?.side === "t" ? b.reserveH : 0, w = b?.side === "b" ? b.reserveH : 0, { catTitlePx: T, valTitlePx: E, catTitleH: D, valTitleW: O } = _e(t, o, s, r), k = y + C + s * .02, j = c ? (t.valAxisHidden ? s * .02 : s * .08) + D + w : s * .14 + D + w, M = s - k - j, N = c ? o - ((t.catAxisHidden ? o * .03 : o * .22) + O + S) - (x + o * .03) : 0, P = (c ? N : M) / r, I = 0;
1167
+ for (let e = 0; e < h; e++) {
1059
1168
  let t = 0;
1060
1169
  for (let n of d) {
1061
1170
  let r = n.values[e] ?? 0;
1062
- l ? t += Math.abs(r) : L = Math.max(L, Math.abs(r));
1171
+ l ? t += Math.abs(r) : I = Math.max(I, Math.abs(r));
1172
+ }
1173
+ l && (I = Math.max(I, t));
1174
+ }
1175
+ u && (I = 100), t.valMax != null && (I = t.valMax), I === 0 && (I = 1);
1176
+ let { max: R, step: z } = A(0, I, void 0, t.valMax, P), B = 0, V = 1, H = 1;
1177
+ if (p) {
1178
+ let e = [];
1179
+ for (let t of f) if (t.useSecondaryAxis === !0) for (let n of t.values) n != null && e.push(n);
1180
+ let t = e.length ? Math.min(...e) : 0, n = e.length ? Math.max(...e) : 1, i = A(Math.min(0, t), n, p.min, p.max, M / r);
1181
+ B = i.min, V = i.max, H = i.step;
1182
+ }
1183
+ let te = Math.max(8, Math.min(11, s / 20)), ne = Math.max(8, Math.min(11, M / 20)), re = e.font, ie = 0;
1184
+ if (!c && !t.valAxisHidden) {
1185
+ e.font = `${ne}px sans-serif`;
1186
+ let n = 0, r = Math.round(R / z);
1187
+ for (let i = 0; i <= r; i++) {
1188
+ let r = u ? `${Math.round(i * z)}%` : L(i * z, t.valAxisFormatCode);
1189
+ n = Math.max(n, e.measureText(r).width);
1063
1190
  }
1064
- l && (L = Math.max(L, t));
1191
+ ie = n + 16;
1192
+ }
1193
+ let U = p?.fontSizeHpt ? p.fontSizeHpt / 100 * r : te, ae = 0;
1194
+ if (p && !p.hidden) {
1195
+ e.font = `${U}px sans-serif`;
1196
+ let t = 0, n = Math.round((V - B) / H);
1197
+ for (let r = 0; r <= n; r++) t = Math.max(t, e.measureText(L(B + r * H, p.formatCode ?? null)).width);
1198
+ ae = t + 18;
1065
1199
  }
1066
- u && (L = 100), t.valMax != null && (L = t.valMax), L === 0 && (L = 1);
1067
- let { max: R, step: z } = v(0, L, void 0, t.valMax), B = "#e0e0e0", V = Math.round(R / z);
1068
- if (e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, F / 20))}px sans-serif`, e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", !t.valAxisHidden) for (let n = 0; n <= V; n++) {
1069
- let r = n * z, i = u ? `${Math.round(r)}%` : b(r, t.valAxisFormatCode);
1200
+ e.font = re;
1201
+ let oe = p && p.title ? (p.titleFontSizeHpt ? p.titleFontSizeHpt / 100 * r : Math.max(9, s * .05)) + 8 : 0, se = {
1202
+ t: k,
1203
+ r: x + o * .03 + ae + oe,
1204
+ b: j,
1205
+ l: c ? (t.catAxisHidden ? o * .03 : o * .22) + O + S : S + O + ie
1206
+ };
1207
+ De(e, t, i, a + _, o, g);
1208
+ let ce = t.plotAreaManualLayout, W, G, K, q;
1209
+ if (ce && ce.w != null && ce.h != null ? (W = i + ce.x * o, G = a + ce.y * s, K = ce.w * o, q = ce.h * s) : (W = i + se.l, G = a + se.t, K = o - se.l - se.r, q = s - se.t - se.b), K <= 0 || q <= 0) return;
1210
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(W, G, K, q));
1211
+ let ue = V - B || 1, de = (e) => G + q - e / R * q, fe = (e) => G + q - (e - B) / ue * q, pe = "#e0e0e0", me = Math.round(R / z);
1212
+ e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, q / 20))}px sans-serif`;
1213
+ let he = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555";
1214
+ if (e.fillStyle = he, !t.valAxisHidden) for (let n = 0; n <= me; n++) {
1215
+ let r = n * z, i = u ? `${Math.round(r)}%` : L(r, t.valAxisFormatCode);
1070
1216
  if (c) {
1071
- let t = M + r / R * P;
1072
- e.strokeStyle = n === 0 ? "#aaa" : B, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(t, N), e.lineTo(t, N + F), e.stroke(), e.textAlign = "center", e.fillText(i, t, N + F + 10);
1217
+ let t = W + r / R * K;
1218
+ e.strokeStyle = n === 0 ? "#aaa" : pe, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(t, G), e.lineTo(t, G + q), e.stroke(), e.textAlign = "center", e.fillText(i, t, G + q + 10);
1073
1219
  } else {
1074
- let t = N + F - r / R * F;
1075
- e.strokeStyle = n === 0 ? "#aaa" : B, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(M, t), e.lineTo(M + P, t), e.stroke(), e.textAlign = "right", e.fillText(i, M - 4, t);
1220
+ let t = G + q - r / R * q;
1221
+ e.strokeStyle = n === 0 ? "#aaa" : pe, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(W, t), e.lineTo(W + K, t), e.stroke(), e.textAlign = "right", e.fillText(i, W - 12, t);
1076
1222
  }
1077
1223
  }
1078
- let H = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#aaa", U = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#aaa", W = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / I) * r : 1, te = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / I) * r : 1, G = (t, n, r, i, a, o) => {
1224
+ let { color: ge, width: ye } = F(t.catAxisLineColor, t.catAxisLineWidthEmu, r), { color: be, width: xe } = F(t.valAxisLineColor, t.valAxisLineWidthEmu, r), Se = (t, n, r, i, a, o) => {
1079
1225
  e.strokeStyle = a, e.lineWidth = o, e.beginPath(), e.moveTo(t, n), e.lineTo(r, i), e.stroke();
1080
- }, ie = !t.catAxisHidden && !t.catAxisLineHidden, ae = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null;
1081
- c ? (ie && G(M, N, M, N + F, H, W), ae && G(M, N + F, M + P, N + F, U, te)) : (ie && G(M, N + F, M + P, N + F, H, W), ae && G(M, N, M, N + F, U, te));
1082
- let K = c ? F / m : P / m, oe = l ? 1 : Math.max(1, d.length), le = l ? 0 : t.barOverlap ?? 0, de = t.barGapWidth ?? 150, q = K / (1 + (oe - 1) * (1 - le / 100) + de / 100), he = l ? 0 : q * (1 - le / 100), ge = (K - (q + (oe - 1) * he)) / 2;
1083
- for (let n = 0; n < m; n++) {
1226
+ }, Ee = !t.catAxisHidden && !t.catAxisLineHidden, Ae = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null, je = () => {
1227
+ if (c ? (Ee && Se(W, G, W, G + q, ge, ye), Ae && Se(W, G + q, W + K, G + q, be, xe)) : (Ee && Se(W, G + q, W + K, G + q, ge, ye), Ae && Se(W, G, W, G + q, be, xe)), !t.valAxisHidden && t.valAxisMajorTickMark && t.valAxisMajorTickMark !== "none") for (let n = 0; n <= me; n++) {
1228
+ let r = n * z;
1229
+ c ? J(e, t.valAxisMajorTickMark, "cat", G + q, W + r / R * K, be, xe) : J(e, t.valAxisMajorTickMark, "val", W, G + q - r / R * q, be, xe);
1230
+ }
1231
+ if (!t.catAxisHidden && t.catAxisMajorTickMark && t.catAxisMajorTickMark !== "none") {
1232
+ let n = ee(t), r = n ? h : h - 1;
1233
+ for (let i = 0; i <= r; i++) {
1234
+ let r = n ? i / h : h === 1 ? .5 : i / (h - 1);
1235
+ c ? J(e, t.catAxisMajorTickMark, "val", W, G + r * q, ge, ye) : J(e, t.catAxisMajorTickMark, "cat", G + q, W + r * K, ge, ye);
1236
+ }
1237
+ }
1238
+ }, Y = c ? q / h : K / h, Me = l ? 1 : Math.max(1, d.length), Ne = l ? 0 : t.barOverlap ?? 0, Pe = t.barGapWidth ?? 150, Fe = Y / (1 + (Me - 1) * (1 - Ne / 100) + Pe / 100), Ie = l ? 0 : Fe * (1 - Ne / 100), Le = (Y - (Fe + (Me - 1) * Ie)) / 2;
1239
+ for (let n = 0; n < h; n++) {
1084
1240
  let i = 0, a = 0;
1085
1241
  if (u) {
1086
1242
  for (let e of d) a += Math.abs(e.values[n] ?? 0);
1087
1243
  a === 0 && (a = 1);
1088
1244
  }
1089
1245
  for (let o = 0; o < d.length; o++) {
1090
- let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f), h = ee(o, s);
1246
+ let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f), m = le(o, s);
1091
1247
  if (c) {
1092
- let a = l ? o : d.length - 1 - o, c = l ? N + (m - 1 - n) * K + ge : N + (m - 1 - n) * K + ge + a * he, f = p / R * P, g = l ? M + i / R * P : M;
1093
- e.fillStyle = h, e.fillRect(g, c, f, q), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, q * .6))}px sans-serif`, me(e, u ? `${Math.round(p)}%` : b(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), g, c, f, q, "horizontal", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
1248
+ let a = l ? o : d.length - 1 - o, c = l ? G + (h - 1 - n) * Y + Le : G + (h - 1 - n) * Y + Le + a * Ie, f = p / R * K, g = l ? W + i / R * K : W;
1249
+ e.fillStyle = m, e.fillRect(g, c, f, Fe), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, Fe * .6))}px sans-serif`, ke(e, u ? `${Math.round(p)}%` : L(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), g, c, f, Fe, "horizontal", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
1094
1250
  } else {
1095
- let a = l ? M + n * K + ge : M + n * K + ge + o * he, c = p / R * F, d = N + F - (l ? i + p : p) / R * F;
1096
- e.fillStyle = h, e.fillRect(a, d, q, c), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, q * .6))}px sans-serif`, me(e, u ? `${Math.round(p)}%` : b(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), a, d, c, q, "vertical", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
1251
+ let a = l ? W + n * Y + Le : W + n * Y + Le + o * Ie, c = p / R * q, d = G + q - (l ? i + p : p) / R * q;
1252
+ e.fillStyle = m, e.fillRect(a, d, Fe, c), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, Fe * .6))}px sans-serif`, ke(e, u ? `${Math.round(p)}%` : L(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), a, d, c, Fe, "vertical", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
1097
1253
  }
1098
1254
  l && (i += p);
1099
1255
  }
1100
1256
  }
1101
1257
  if (!t.catAxisHidden) {
1102
- e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.font = `${Math.max(8, Math.min(11, K * .5))}px sans-serif`;
1103
- for (let t = 0; t < m; t++) {
1104
- let n = (p[t] ?? "").toString().slice(0, 12);
1258
+ e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.font = `${Math.max(8, Math.min(11, Y * .5))}px sans-serif`;
1259
+ for (let t = 0; t < h; t++) {
1260
+ let n = (m[t] ?? "").toString().slice(0, 12);
1105
1261
  if (c) {
1106
- let r = N + (m - 1 - t) * K + K / 2;
1107
- e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, M - 4, r);
1262
+ let r = G + (h - 1 - t) * Y + Y / 2;
1263
+ e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, W - 4, r);
1108
1264
  } else {
1109
- let r = M + t * K + K / 2;
1110
- e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, N + F + 3);
1265
+ let r = W + t * Y + Y / 2;
1266
+ e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, G + q + 3);
1111
1267
  }
1112
1268
  }
1113
1269
  }
1114
1270
  if (f.length > 0 && !c) for (let t = 0; t < f.length; t++) {
1115
- let n = f[t], r = ee(d.length + t, n);
1271
+ let n = f[t], r = le(d.length + t, n), i = p && n.useSecondaryAxis === !0 ? fe : de;
1116
1272
  e.strokeStyle = r, e.lineWidth = 2, e.setLineDash([]), e.beginPath();
1117
- let i = !1;
1118
- for (let t = 0; t < m; t++) {
1273
+ let a = !1;
1274
+ for (let t = 0; t < h; t++) {
1119
1275
  let r = n.values[t];
1120
1276
  if (r == null) {
1121
- i = !1;
1277
+ a = !1;
1122
1278
  continue;
1123
1279
  }
1124
- let a = M + t * K + K / 2, o = N + F - r / R * F;
1125
- i ? e.lineTo(a, o) : (e.moveTo(a, o), i = !0);
1280
+ let o = W + t * Y + Y / 2, s = i(r);
1281
+ a ? e.lineTo(o, s) : (e.moveTo(o, s), a = !0);
1282
+ }
1283
+ if (e.stroke(), n.showMarker !== !1) for (let t = 0; t < h; t++) {
1284
+ let a = n.values[t];
1285
+ if (a == null) continue;
1286
+ let o = W + t * Y + Y / 2, s = i(a);
1287
+ e.fillStyle = r, e.beginPath(), e.arc(o, s, 3, 0, Math.PI * 2), e.fill();
1288
+ }
1289
+ }
1290
+ if (je(), p) {
1291
+ let t = W + K, { color: n, width: i } = F(p.lineColor, p.lineWidthEmu, r);
1292
+ if (p.lineHidden || Se(t, G, t, G + q, n, i), !p.hidden) {
1293
+ e.font = `${U}px sans-serif`, e.fillStyle = p.fontColor ? `#${p.fontColor}` : he, e.textAlign = "left", e.textBaseline = "middle";
1294
+ let r = Math.max(1, Math.round(ue / H));
1295
+ for (let a = 0; a <= r; a++) {
1296
+ let r = B + a * H, o = fe(r);
1297
+ J(e, p.majorTickMark, "val", t, o, n, i, !0), e.fillText(L(r, p.formatCode ?? null), t + 14, o);
1298
+ }
1126
1299
  }
1127
- if (e.stroke(), n.showMarker !== !1) for (let t = 0; t < m; t++) {
1128
- let i = n.values[t];
1129
- if (i == null) continue;
1130
- let a = M + t * K + K / 2, o = N + F - i / R * F;
1131
- e.fillStyle = r, e.beginPath(), e.arc(a, o, 3, 0, Math.PI * 2), e.fill();
1300
+ if (p.title) {
1301
+ let t = p.titleFontSizeHpt ? p.titleFontSizeHpt / 100 * r : Math.max(9, s * .05);
1302
+ e.save(), e.fillStyle = p.titleFontColor ? `#${p.titleFontColor}` : p.fontColor ? `#${p.fontColor}` : "#555", e.font = `${p.titleFontBold ? "bold " : ""}${t}px sans-serif`, e.textAlign = "center", e.textBaseline = "middle", e.translate(W + K + ae + t * .6, G + q / 2), e.rotate(Math.PI / 2), e.fillText(p.title, 0, 0), e.restore();
1132
1303
  }
1133
1304
  }
1134
- ce(e, c && !l ? {
1305
+ we(e, c && !l ? {
1135
1306
  ...t,
1136
1307
  series: [...t.series].reverse()
1137
- } : t, x, i, a, o, s, M, N, P, F, y + 2), re(e, t, i, a, o, s, M, N, P, F, C, T, E, D);
1308
+ } : t, b, i, a, o, s, W, G, K, q, y + 2), ve(e, t, i, a, o, s, W, G, K, q, S, w, T, E);
1138
1309
  }
1139
- function he(e, t, n, r) {
1140
- let { x: i, y: a, w: o, h: s } = n, c = pe(t), l = c.length;
1310
+ function je(e, t, n, r) {
1311
+ let { x: i, y: a, w: o, h: s } = n, c = Oe(t), l = c.length;
1141
1312
  if (l === 0) return;
1142
- let u = t.title ? ue(t, s, r) : 0, d = t.title ? s * .045 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = se(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, x = m?.side === "b" ? m.reserveH : 0, S = de(t.catAxisFontSizeHpt, s, r), C = de(t.valAxisFontSizeHpt, s, r), { catTitlePx: w, valTitlePx: T, catTitleH: E, valTitleW: D } = ne(t, o, s, r), O = {
1143
- t: p + _ + C / 2 + 2,
1313
+ let u = t.title ? Te(t, s, r) : 0, d = t.title ? s * .045 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = Ce(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, v = m?.side === "b" ? m.reserveH : 0, y = Ee(t.catAxisFontSizeHpt, s, r), b = Ee(t.valAxisFontSizeHpt, s, r), { catTitlePx: x, valTitlePx: S, catTitleH: C, valTitleW: w } = _e(t, o, s, r), T = {
1314
+ t: p + _ + b / 2 + 2,
1144
1315
  r: h + o * .05,
1145
- b: S + 12 + E + x,
1146
- l: C * 2.2 + 10 + D + g
1316
+ b: y + 12 + C + v,
1317
+ l: b * 2.2 + 10 + w + g
1147
1318
  };
1148
- fe(e, t, i, a + d, o, u);
1149
- let k = i + O.l, A = a + O.t, j = o - O.l - O.r, M = s - O.t - O.b;
1150
- if (j <= 0 || M <= 0) return;
1151
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(k, A, j, M));
1152
- let N = Infinity, P = -Infinity;
1153
- for (let e of t.series) for (let t of e.values) t != null && (N = Math.min(N, t), P = Math.max(P, t));
1154
- isFinite(N) || (N = 0, P = 1), t.valMin == null ? N > 0 && (N = 0) : N = t.valMin, t.valMax == null ? P < 0 && (P = 0) : P = t.valMax, P === N && (P = N + 1);
1155
- let { min: F, max: I, step: L } = v(N, P, t.valMin, t.valMax), R = I - F;
1319
+ De(e, t, i, a + d, o, u);
1320
+ let E = i + T.l, D = a + T.t, O = o - T.l - T.r, k = s - T.t - T.b;
1321
+ if (O <= 0 || k <= 0) return;
1322
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(E, D, O, k));
1323
+ let j = Infinity, M = -Infinity;
1324
+ for (let e of t.series) for (let t of e.values) t != null && (j = Math.min(j, t), M = Math.max(M, t));
1325
+ isFinite(j) || (j = 0, M = 1), t.valMin == null ? j > 0 && (j = 0) : j = t.valMin, t.valMax == null ? M < 0 && (M = 0) : M = t.valMax, M === j && (M = j + 1);
1326
+ let { min: N, max: P, step: F } = A(j, M, t.valMin, t.valMax, k / r), R = P - N;
1156
1327
  if (R === 0) return;
1157
- let z = (e) => A + M - (e - F) / R * M, B = t.catAxisCrossBetween === "midCat" ? (e) => k + (l === 1 ? j / 2 : e / (l - 1) * j) : (e) => k + (e + .5) / l * j;
1328
+ let z = (e) => D + k - (e - N) / R * k, B = ee(t) ? (e) => E + (e + .5) / l * O : (e) => E + (l === 1 ? O / 2 : e / (l - 1) * O);
1158
1329
  if (!t.valAxisHidden) {
1159
- let n = Math.round((I - F) / L);
1160
- e.font = `${C}px sans-serif`, e.textBaseline = "middle";
1330
+ let n = Math.round((P - N) / F);
1331
+ e.font = `${b}px sans-serif`, e.textBaseline = "middle";
1161
1332
  for (let r = 0; r <= n; r++) {
1162
- let n = F + r * L, i = z(n);
1163
- e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(k, i), e.lineTo(k + j, i), e.stroke(), le(e, t.valAxisMajorTickMark, "val", k, i), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(b(n, t.valAxisFormatCode), k - 6, i);
1333
+ let n = N + r * F, i = z(n);
1334
+ e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(E, i), e.lineTo(E + O, i), e.stroke(), J(e, t.valAxisMajorTickMark, "val", E, i), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(L(n, t.valAxisFormatCode), E - 6, i);
1164
1335
  }
1165
1336
  }
1166
- e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(k, A + M), e.lineTo(k + j, A + M), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && (e.beginPath(), e.moveTo(k, A), e.lineTo(k, A + M), e.stroke());
1167
- let V = Math.max(1, 2.25 * r), H = Math.max(2, 2.5 * r), U = de(t.dataLabelFontSizeHpt, s, r);
1337
+ e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(E, D + k), e.lineTo(E + O, D + k), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && (e.beginPath(), e.moveTo(E, D), e.lineTo(E, D + k), e.stroke());
1338
+ let V = Math.max(1, 2.25 * r), H = Math.max(2, 2.5 * r), te = Ee(t.dataLabelFontSizeHpt, s, r);
1168
1339
  for (let n = 0; n < t.series.length; n++) {
1169
- let r = t.series[n], i = ee(n, r);
1340
+ let r = t.series[n], i = le(n, r);
1170
1341
  e.strokeStyle = i, e.lineWidth = V, e.setLineDash([]), e.beginPath();
1171
1342
  let a = !1;
1172
1343
  for (let t = 0; t < l; t++) {
@@ -1183,83 +1354,85 @@ function he(e, t, n, r) {
1183
1354
  for (let n = 0; n < l; n++) {
1184
1355
  let a = r.values[n];
1185
1356
  if (a != null && (o && (e.beginPath(), e.arc(B(n), z(a), H, 0, Math.PI * 2), e.fill()), t.showDataLabels)) {
1186
- e.font = `${U}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
1357
+ e.font = `${te}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
1187
1358
  let t = o ? H + 1 : 2;
1188
- e.fillText(y(a), B(n), z(a) - t), e.fillStyle = i;
1359
+ e.fillText(I(a), B(n), z(a) - t), e.fillStyle = i;
1189
1360
  }
1190
1361
  }
1191
1362
  }
1192
1363
  if (!t.catAxisHidden) {
1193
1364
  let n = Math.max(1, Math.ceil(l / 8)), r = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555";
1194
- e.fillStyle = r, e.textAlign = "center", e.textBaseline = "top", e.font = `${S}px sans-serif`;
1365
+ e.fillStyle = r, e.textAlign = "center", e.textBaseline = "top", e.font = `${y}px sans-serif`;
1195
1366
  for (let i = 0; i < l; i += n) {
1196
1367
  let n = B(i);
1197
- le(e, t.catAxisMajorTickMark, "cat", A + M, n), e.fillStyle = r, e.fillText((c[i] ?? "").toString().slice(0, 10), n, A + M + 5);
1368
+ J(e, t.catAxisMajorTickMark, "cat", D + k, n), e.fillStyle = r, e.fillText((c[i] ?? "").toString().slice(0, 10), n, D + k + 5);
1198
1369
  }
1199
1370
  }
1200
- ce(e, t, m, i, a, o, s, k, A, j, M, p + 2), re(e, t, i, a, o, s, k, A, j, M, g, x, w, T);
1371
+ we(e, t, m, i, a, o, s, E, D, O, k, p + 2), ve(e, t, i, a, o, s, E, D, O, k, g, v, x, S);
1201
1372
  }
1202
- function ge(e, t, n, r) {
1203
- let { x: i, y: a, w: o, h: s } = n, c = pe(t), l = c.length;
1373
+ function Y(e, t, n, r) {
1374
+ let { x: i, y: a, w: o, h: s } = n, c = Oe(t), l = c.length;
1204
1375
  if (l === 0) return;
1205
- let u = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", d = t.title ? ue(t, s, r) : 0, f = t.title ? s * .035 : 0, p = t.title ? s * .035 : 0, m = t.title ? d + f + p : 0, h = se(t, o, s), g = h?.side === "r" ? h.reserveW : 0, _ = h?.side === "l" ? h.reserveW : 0, y = h?.side === "t" ? h.reserveH : 0, x = h?.side === "b" ? h.reserveH : 0, { catTitlePx: S, valTitlePx: C, catTitleH: w, valTitleW: T } = ne(t, o, s, r), E = {
1206
- t: m + y + s * .02,
1376
+ let u = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", d = t.title ? Te(t, s, r) : 0, f = t.title ? s * .035 : 0, p = t.title ? s * .035 : 0, m = t.title ? d + f + p : 0, h = Ce(t, o, s), g = h?.side === "r" ? h.reserveW : 0, _ = h?.side === "l" ? h.reserveW : 0, v = h?.side === "t" ? h.reserveH : 0, y = h?.side === "b" ? h.reserveH : 0, { catTitlePx: b, valTitlePx: x, catTitleH: S, valTitleW: C } = _e(t, o, s, r), w = {
1377
+ t: m + v + s * .02,
1207
1378
  r: g + o * .05,
1208
- b: s * .14 + w + x,
1209
- l: o * .12 + T + _
1379
+ b: s * .14 + S + y,
1380
+ l: o * .12 + C + _
1210
1381
  };
1211
- fe(e, t, i, a + f, o, d);
1212
- let D = i + E.l, O = a + E.t, k = o - E.l - E.r, j = s - E.t - E.b;
1213
- if (k <= 0 || j <= 0) return;
1214
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(D, O, k, j));
1215
- let M = 0;
1382
+ De(e, t, i, a + f, o, d);
1383
+ let T = i + w.l, E = a + w.t, D = o - w.l - w.r, O = s - w.t - w.b;
1384
+ if (D <= 0 || O <= 0) return;
1385
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(T, E, D, O));
1386
+ let k = 0;
1216
1387
  for (let e = 0; e < l; e++) if (u) {
1217
1388
  let n = 0;
1218
1389
  for (let r of t.series) n += r.values[e] ?? 0;
1219
- M = Math.max(M, n);
1220
- } else for (let n of t.series) M = Math.max(M, n.values[e] ?? 0);
1221
- t.valMax != null && (M = t.valMax), M === 0 && (M = 1);
1222
- let { max: N, step: P } = v(0, M, void 0, t.valMax), F = (e) => D + (l === 1 ? k / 2 : e / (l - 1) * k), I = (e) => O + j - e / N * j;
1223
- if (!t.valAxisHidden) {
1224
- e.font = `${Math.max(8, Math.min(11, j / 20))}px sans-serif`, e.textBaseline = "middle";
1225
- let n = Math.round(N / P);
1226
- for (let r = 0; r <= n; r++) {
1227
- let n = r * P, i = I(n);
1228
- e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(D, i), e.lineTo(D + k, i), e.stroke(), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(b(n, t.valAxisFormatCode), D - 4, i);
1229
- }
1230
- }
1231
- !t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(D, O + j), e.lineTo(D + k, O + j), e.stroke());
1232
- let L = u ? Array(l).fill(0) : null;
1390
+ k = Math.max(k, n);
1391
+ } else for (let n of t.series) k = Math.max(k, n.values[e] ?? 0);
1392
+ t.valMax != null && (k = t.valMax), k === 0 && (k = 1);
1393
+ let { max: j, step: M } = A(0, k, void 0, t.valMax, O / r), N = ee(t), P = N ? (e) => T + (e + .5) / l * D : (e) => T + (l === 1 ? D / 2 : e / (l - 1) * D), I = (e) => E + O - e / j * O, { color: R, width: z } = F(t.catAxisLineColor, t.catAxisLineWidthEmu, r), { color: B, width: V } = F(t.valAxisLineColor, t.valAxisLineWidthEmu, r), H = u ? Array(l).fill(0) : null;
1233
1394
  for (let n = t.series.length - 1; n >= 0; n--) {
1234
- let r = t.series[n], i = ee(n, r), a = O + j;
1235
- if (e.beginPath(), u && L) {
1395
+ let r = t.series[n], i = le(n, r), a = E + O;
1396
+ if (e.beginPath(), u && H) {
1236
1397
  for (let t = 0; t < l; t++) {
1237
- let n = (r.values[t] ?? 0) + L[t], i = F(t), a = I(n);
1398
+ let n = (r.values[t] ?? 0) + H[t], i = P(t), a = I(n);
1238
1399
  t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
1239
1400
  }
1240
- for (let t = l - 1; t >= 0; t--) e.lineTo(F(t), I(L[t]));
1241
- for (let e = 0; e < l; e++) L[e] += r.values[e] ?? 0;
1401
+ for (let t = l - 1; t >= 0; t--) e.lineTo(P(t), I(H[t]));
1402
+ for (let e = 0; e < l; e++) H[e] += r.values[e] ?? 0;
1242
1403
  } else {
1243
- e.moveTo(F(0), a);
1244
- for (let t = 0; t < l; t++) e.lineTo(F(t), I(r.values[t] ?? 0));
1245
- e.lineTo(F(l - 1), a);
1404
+ e.moveTo(P(0), a);
1405
+ for (let t = 0; t < l; t++) e.lineTo(P(t), I(r.values[t] ?? 0));
1406
+ e.lineTo(P(l - 1), a);
1407
+ }
1408
+ e.closePath(), e.fillStyle = U(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
1409
+ }
1410
+ if (!t.valAxisHidden) {
1411
+ e.font = `${Math.max(8, Math.min(11, O / 20))}px sans-serif`, e.textBaseline = "middle";
1412
+ let n = Math.round(j / M);
1413
+ for (let r = 0; r <= n; r++) {
1414
+ let n = r * M, i = I(n);
1415
+ e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(T, i), e.lineTo(T + D, i), e.stroke(), J(e, t.valAxisMajorTickMark, "val", T, i, B, V), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(L(n, t.valAxisFormatCode), T - 6, i);
1246
1416
  }
1247
- e.closePath(), e.fillStyle = A(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
1248
1417
  }
1418
+ if (!t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = R, e.lineWidth = z, e.beginPath(), e.moveTo(T, E + O), e.lineTo(T + D, E + O), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null && (e.strokeStyle = B, e.lineWidth = V, e.beginPath(), e.moveTo(T, E), e.lineTo(T, E + O), e.stroke()), !t.catAxisHidden && t.catAxisMajorTickMark && t.catAxisMajorTickMark !== "none") if (N) for (let n = 0; n <= l; n++) J(e, t.catAxisMajorTickMark, "cat", E + O, T + n / l * D, R, z);
1419
+ else for (let n = 0; n < l; n++) J(e, t.catAxisMajorTickMark, "cat", E + O, P(n), R, z);
1249
1420
  if (!t.catAxisHidden) {
1250
- let n = Math.max(1, Math.ceil(l / 8));
1251
- e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11, k / l * .8))}px sans-serif`;
1252
- for (let t = 0; t < l; t += n) e.fillText((c[t] ?? "").toString().slice(0, 10), F(t), O + j + 3);
1421
+ e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11, D / l * .8))}px sans-serif`;
1422
+ let n = 0;
1423
+ for (let t = 0; t < l; t++) n = Math.max(n, e.measureText((c[t] ?? "").toString().slice(0, 10)).width);
1424
+ let r = Math.max(1, Math.ceil((n + 6) / (D / l)));
1425
+ for (let t = 0; t < l; t += r) e.fillText((c[t] ?? "").toString().slice(0, 10), P(t), E + O + 3);
1253
1426
  }
1254
- ce(e, t, h, i, a, o, s, D, O, k, j, m + 2), re(e, t, i, a, o, s, D, O, k, j, _, x, S, C);
1427
+ we(e, t, h, i, a, o, s, T, E, D, O, m + 2), ve(e, t, i, a, o, s, T, E, D, O, _, y, b, x);
1255
1428
  }
1256
- function _e(e, t, n, r, i) {
1429
+ function Me(e, t, n, r, i) {
1257
1430
  let { x: a, y: o, w: s, h: c } = n, l = t.series[0];
1258
1431
  if (!l) return;
1259
1432
  let u = l.categories && l.categories.length > 0 ? l.categories : t.categories, d = l.values.map((e) => Math.abs(e ?? 0)), f = d.reduce((e, t) => e + t, 0);
1260
1433
  if (f === 0) return;
1261
- let p = t.title ? ue(t, c, i) : 0, m = t.title ? c * .035 : 0, h = t.title ? c * .035 : 0, g = t.title ? p + m + h : 0;
1262
- fe(e, t, a, o + m, s, p);
1434
+ let p = t.title ? Te(t, c, i) : 0, m = t.title ? c * .035 : 0, h = t.title ? c * .035 : 0, g = t.title ? p + m + h : 0;
1435
+ De(e, t, a, o + m, s, p);
1263
1436
  let _ = t.showLegend ? (() => {
1264
1437
  let e = t.legendPos ?? "r", n = e === "l" ? "l" : e === "t" ? "t" : e === "b" ? "b" : "r";
1265
1438
  return n === "r" || n === "l" ? {
@@ -1273,7 +1446,7 @@ function _e(e, t, n, r, i) {
1273
1446
  };
1274
1447
  })() : null, v = _?.side === "r" ? _.reserveW : 0, y = _?.side === "l" ? _.reserveW : 0, b = _?.side === "t" ? _.reserveH : 0, x = _?.side === "b" ? _.reserveH : 0, S = s - v - y, C = c - g - b - x - c * .02, w = a + y + S / 2, T = o + g + b + c * .02 + C / 2, E = Math.min(S, C) * .42, D = r ? E * .5 : 0, O = -Math.PI / 2;
1275
1448
  for (let n = 0; n < d.length; n++) {
1276
- let i = d[n] / f * Math.PI * 2, a = B(n, l);
1449
+ let i = d[n] / f * Math.PI * 2, a = ue(n, l);
1277
1450
  if (e.beginPath(), e.moveTo(w, T), e.arc(w, T, E, O, O + i), e.closePath(), e.fillStyle = a, e.fill(), e.strokeStyle = "#fff", e.lineWidth = 1, e.stroke(), t.showDataLabels && i > .15) {
1278
1451
  let t = O + i / 2, a = E * (r ? .75 : .6), o = w + Math.cos(t) * a, s = T + Math.sin(t) * a, c = Math.round(d[n] / f * 100);
1279
1452
  e.font = `bold ${Math.max(8, E * .1)}px sans-serif`, e.fillStyle = "#fff", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`${c}%`, o, s);
@@ -1285,59 +1458,59 @@ function _e(e, t, n, r, i) {
1285
1458
  ...l,
1286
1459
  categories: u
1287
1460
  }], r = w - S / 2;
1288
- ce(e, {
1461
+ we(e, {
1289
1462
  ...t,
1290
1463
  series: n
1291
1464
  }, _, a, o, s, c, r, T - C / 2, S, C, g + 2);
1292
1465
  }
1293
1466
  }
1294
- function ve(e, t, n, r) {
1295
- let { x: i, y: a, w: o, h: s } = n, c = pe(t), l = c.length;
1467
+ function Ne(e, t, n, r) {
1468
+ let { x: i, y: a, w: o, h: s } = n, c = Oe(t), l = c.length;
1296
1469
  if (l < 3) return;
1297
- let u = t.title ? ue(t, s, r) : 0, d = t.title ? s * .035 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = se(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, b = m?.side === "b" ? m.reserveH : 0;
1298
- fe(e, t, i, a + d, o, u);
1299
- let x = o - h - g, S = s - p - _ - b - s * .02, C = i + g + x / 2, w = a + p + _ + s * .02 + S / 2, T = Math.min(x, S) * .38, E = 0;
1300
- for (let e of t.series) for (let t of e.values) E = Math.max(E, t ?? 0);
1301
- t.valMax != null && (E = t.valMax), E === 0 && (E = 1);
1302
- let { max: D, step: O } = v(0, E, void 0, t.valMax), k = -Math.PI / 2, j = (e) => k + e / l * Math.PI * 2, M = Math.round(D / O);
1470
+ let u = t.title ? Te(t, s, r) : 0, d = t.title ? s * .035 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = Ce(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, v = m?.side === "b" ? m.reserveH : 0;
1471
+ De(e, t, i, a + d, o, u);
1472
+ let y = o - h - g, b = s - p - _ - v - s * .02, x = i + g + y / 2, S = a + p + _ + s * .02 + b / 2, C = Math.min(y, b) * .38, w = 0;
1473
+ for (let e of t.series) for (let t of e.values) w = Math.max(w, t ?? 0);
1474
+ t.valMax != null && (w = t.valMax), w === 0 && (w = 1);
1475
+ let { max: T, step: E } = A(0, w, void 0, t.valMax), D = -Math.PI / 2, O = (e) => D + e / l * Math.PI * 2, k = Math.round(T / E);
1303
1476
  e.strokeStyle = "#ddd", e.lineWidth = .5;
1304
- for (let t = 1; t <= M; t++) {
1305
- let n = t / M * T;
1477
+ for (let t = 1; t <= k; t++) {
1478
+ let n = t / k * C;
1306
1479
  e.beginPath();
1307
1480
  for (let t = 0; t < l; t++) {
1308
- let r = j(t), i = C + Math.cos(r) * n, a = w + Math.sin(r) * n;
1481
+ let r = O(t), i = x + Math.cos(r) * n, a = S + Math.sin(r) * n;
1309
1482
  t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
1310
1483
  }
1311
1484
  e.closePath(), e.stroke();
1312
1485
  }
1313
1486
  e.strokeStyle = "#bbb", e.lineWidth = .5;
1314
1487
  for (let t = 0; t < l; t++) {
1315
- let n = j(t);
1316
- e.beginPath(), e.moveTo(C, w), e.lineTo(C + Math.cos(n) * T, w + Math.sin(n) * T), e.stroke();
1488
+ let n = O(t);
1489
+ e.beginPath(), e.moveTo(x, S), e.lineTo(x + Math.cos(n) * C, S + Math.sin(n) * C), e.stroke();
1317
1490
  }
1318
1491
  if (!t.valAxisHidden) {
1319
- e.font = `${de(t.valAxisFontSizeHpt, s, r)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
1320
- for (let t = 1; t <= M; t++) {
1321
- let n = t / M * D, r = t / M * T;
1322
- e.fillText(y(n), C - 3, w - r);
1492
+ e.font = `${Ee(t.valAxisFontSizeHpt, s, r)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
1493
+ for (let t = 1; t <= k; t++) {
1494
+ let n = t / k * T, r = t / k * C;
1495
+ e.fillText(I(n), x - 3, S - r);
1323
1496
  }
1324
1497
  }
1325
- e.font = `${Math.max(8, Math.min(11, T * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
1498
+ e.font = `${Math.max(8, Math.min(11, C * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
1326
1499
  for (let t = 0; t < l; t++) {
1327
- let n = j(t), r = C + Math.cos(n) * (T + 12), i = w + Math.sin(n) * (T + 12);
1500
+ let n = O(t), r = x + Math.cos(n) * (C + 12), i = S + Math.sin(n) * (C + 12);
1328
1501
  e.textAlign = Math.cos(n) < -.1 ? "right" : Math.cos(n) > .1 ? "left" : "center", e.fillText((c[t] ?? "").toString().slice(0, 12), r, i);
1329
1502
  }
1330
- let N = t.radarStyle === "filled", P = Math.max(2, T * .025);
1503
+ let j = t.radarStyle === "filled", M = Math.max(2, C * .025);
1331
1504
  for (let n = 0; n < t.series.length; n++) {
1332
- let r = t.series[n], i = ee(n, r), a = [];
1505
+ let r = t.series[n], i = le(n, r), a = [];
1333
1506
  for (let e = 0; e < l; e++) {
1334
1507
  let t = r.values[e];
1335
1508
  if (t == null) {
1336
1509
  a.push(null);
1337
1510
  continue;
1338
1511
  }
1339
- let n = t / D, i = j(e);
1340
- a.push([C + Math.cos(i) * T * n, w + Math.sin(i) * T * n]);
1512
+ let n = t / T, i = O(e);
1513
+ a.push([x + Math.cos(i) * C * n, S + Math.sin(i) * C * n]);
1341
1514
  }
1342
1515
  e.beginPath();
1343
1516
  let o = !1;
@@ -1349,104 +1522,104 @@ function ve(e, t, n, r) {
1349
1522
  o ? e.lineTo(t[0], t[1]) : (e.moveTo(t[0], t[1]), o = !0);
1350
1523
  }
1351
1524
  let s = a.every((e) => e != null);
1352
- if (N && s ? (e.closePath(), e.fillStyle = A(i, .25), e.fill()) : s && e.closePath(), e.strokeStyle = i, e.lineWidth = 2, e.stroke(), !N && r.showMarker !== !1) {
1525
+ if (j && s ? (e.closePath(), e.fillStyle = U(i, .25), e.fill()) : s && e.closePath(), e.strokeStyle = i, e.lineWidth = 2, e.stroke(), !j && r.showMarker !== !1) {
1353
1526
  e.fillStyle = i;
1354
- for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1], P, 0, Math.PI * 2), e.fill());
1527
+ for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1], M, 0, Math.PI * 2), e.fill());
1355
1528
  }
1356
1529
  }
1357
- ce(e, t, m, i, a, o, s, C - x / 2, w - S / 2, x, S, p + 2);
1530
+ we(e, t, m, i, a, o, s, x - y / 2, S - b / 2, y, b, p + 2);
1358
1531
  }
1359
- function ye(e, t, n, r) {
1360
- let { x: i, y: a, w: o, h: s } = n, c = t.title ? ue(t, s, r) : 0, l = t.title ? s * .035 : 0, u = t.title ? s * .035 : 0, d = t.title ? c + l + u : 0, f = se(t, o, s), p = f?.side === "r" ? f.reserveW : 0, m = f?.side === "l" ? f.reserveW : 0, g = f?.side === "t" ? f.reserveH : 0, _ = f?.side === "b" ? f.reserveH : 0, { catTitlePx: y, valTitlePx: x, catTitleH: S, valTitleW: C } = ne(t, o, s, r);
1532
+ function Pe(e, t, n, r) {
1533
+ let { x: i, y: a, w: o, h: s } = n, c = t.title ? Te(t, s, r) : 0, l = t.title ? s * .035 : 0, u = t.title ? s * .035 : 0, d = t.title ? c + l + u : 0, f = Ce(t, o, s), p = f?.side === "r" ? f.reserveW : 0, m = f?.side === "l" ? f.reserveW : 0, h = f?.side === "t" ? f.reserveH : 0, g = f?.side === "b" ? f.reserveH : 0, { catTitlePx: _, valTitlePx: v, catTitleH: y, valTitleW: b } = _e(t, o, s, r);
1361
1534
  if (t.title) {
1362
1535
  let n = t.titleManualLayout;
1363
- n && (n.x !== void 0 || n.y !== void 0) ? fe(e, t, i + n.x * o, a + n.y * s, (n.w ?? .5) * o, c) : fe(e, t, i, a + l, o, c);
1536
+ n && (n.x !== void 0 || n.y !== void 0) ? De(e, t, i + n.x * o, a + n.y * s, (n.w ?? .5) * o, c) : De(e, t, i, a + l, o, c);
1364
1537
  }
1365
- let w = t.plotAreaManualLayout, T, E, D, O;
1366
- if (w && w.w != null && w.h != null) T = i + w.x * o, E = a + w.y * s, D = w.w * o, O = w.h * s;
1538
+ let x = t.plotAreaManualLayout, S, C, w, E;
1539
+ if (x && x.w != null && x.h != null) S = i + x.x * o, C = a + x.y * s, w = x.w * o, E = x.h * s;
1367
1540
  else {
1368
1541
  let e = {
1369
- t: d + g + s * .02,
1542
+ t: d + h + s * .02,
1370
1543
  r: p + o * .05,
1371
- b: (t.catAxisHidden ? s * .04 : s * .12) + S + _,
1372
- l: (t.valAxisHidden ? o * .04 : o * .12) + C + m
1544
+ b: (t.catAxisHidden ? s * .04 : s * .12) + y + g,
1545
+ l: (t.valAxisHidden ? o * .04 : o * .12) + b + m
1373
1546
  };
1374
- T = i + e.l, E = a + e.t, D = o - e.l - e.r, O = s - e.t - e.b;
1547
+ S = i + e.l, C = a + e.t, w = o - e.l - e.r, E = s - e.t - e.b;
1375
1548
  }
1376
- if (D <= 0 || O <= 0) return;
1377
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(T, E, D, O));
1378
- let k = [], A = [];
1549
+ if (w <= 0 || E <= 0) return;
1550
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(S, C, w, E));
1551
+ let D = [], O = [];
1379
1552
  for (let e of t.series) {
1380
1553
  let t = e.categories ?? [];
1381
1554
  for (let e of t) {
1382
1555
  let t = parseFloat(e);
1383
- isNaN(t) || k.push(t);
1556
+ isNaN(t) || D.push(t);
1384
1557
  }
1385
- for (let t of e.values) t != null && A.push(t);
1558
+ for (let t of e.values) t != null && O.push(t);
1386
1559
  }
1387
- let j = k.length === 0;
1388
- if (j) {
1560
+ let k = D.length === 0;
1561
+ if (k) {
1389
1562
  let e = Math.max(...t.series.map((e) => e.values.length));
1390
- for (let t = 0; t < e; t++) k.push(t);
1563
+ for (let t = 0; t < e; t++) D.push(t);
1391
1564
  }
1392
- let M = Math.min(...k), N = Math.max(...k), P = Math.min(...A), F = Math.max(...A);
1393
- M === N && (--M, N += 1), P === F && (--P, F += 1), t.valMin == null ? P > 0 && (P = 0) : P = t.valMin, t.valMax != null && (F = t.valMax);
1394
- let { min: L, max: R, step: z } = v(P, F, t.valMin, t.valMax);
1395
- if (P = L, F = R, t.catAxisMin != null && (M = t.catAxisMin), t.catAxisMax != null && (N = t.catAxisMax), t.catAxisMin == null || t.catAxisMax == null) {
1396
- let e = h(N - M);
1397
- e > 0 && (t.catAxisMin ?? (M = Math.floor(M / e) * e), t.catAxisMax ?? (N = Math.ceil(N / e) * e));
1565
+ let j = Math.min(...D), M = Math.max(...D), N = Math.min(...O), F = Math.max(...O);
1566
+ j === M && (--j, M += 1), N === F && (--N, F += 1), t.valMin == null ? N > 0 && (N = 0) : N = t.valMin, t.valMax != null && (F = t.valMax);
1567
+ let { min: ee, max: I, step: R } = A(N, F, t.valMin, t.valMax);
1568
+ if (N = ee, F = I, t.catAxisMin != null && (j = t.catAxisMin), t.catAxisMax != null && (M = t.catAxisMax), t.catAxisMin == null || t.catAxisMax == null) {
1569
+ let e = T(M - j);
1570
+ e > 0 && (t.catAxisMin ?? (j = Math.floor(j / e) * e), t.catAxisMax ?? (M = Math.ceil(M / e) * e));
1398
1571
  }
1399
- let B = (e) => T + (e - M) / (N - M) * D, V = (e) => E + O - (e - P) / (F - P) * O;
1572
+ let z = (e) => S + (e - j) / (M - j) * w, B = (e) => C + E - (e - N) / (F - N) * E;
1400
1573
  if (!t.valAxisHidden) {
1401
- let n = Math.max(8, Math.min(11, O / 20));
1574
+ let n = Math.max(8, Math.min(11, E / 20));
1402
1575
  e.font = `${t.valAxisFontBold ? "bold " : ""}${n}px sans-serif`;
1403
- let i = Math.round((F - P) / z) + 1;
1576
+ let i = Math.round((F - N) / R) + 1;
1404
1577
  for (let n = 0; n < i; n++) {
1405
- let i = P + n * z;
1406
- if (i > F + z * .01) break;
1407
- let a = V(i);
1408
- e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(T, a), e.lineTo(T + D, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(b(i, t.valAxisFormatCode), T - 4, a);
1409
- let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0, s = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / I) * r : void 0;
1410
- le(e, t.valAxisMajorTickMark, "val", T, a, o, s);
1578
+ let i = N + n * R;
1579
+ if (i > F + R * .01) break;
1580
+ let a = B(i);
1581
+ e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(S, a), e.lineTo(S + w, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(L(i, t.valAxisFormatCode), S - 4, a);
1582
+ let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0;
1583
+ J(e, t.valAxisMajorTickMark, "val", S, a, o, P(t.valAxisLineWidthEmu, r));
1411
1584
  }
1412
1585
  }
1413
- let H = E + O;
1414
- if (t.catAxisCrossesAt != null) H = we(V(t.catAxisCrossesAt), E, E + O);
1586
+ let V = C + E;
1587
+ if (t.catAxisCrossesAt != null) V = ze(B(t.catAxisCrossesAt), C, C + E);
1415
1588
  else {
1416
1589
  let e = t.catAxisCrosses ?? "autoZero";
1417
- e === "autoZero" && P < 0 && F > 0 ? H = we(V(0), E, E + O) : e === "min" ? H = E + O : e === "max" && (H = E);
1590
+ e === "autoZero" && N < 0 && F > 0 ? V = ze(B(0), C, C + E) : e === "min" ? V = C + E : e === "max" && (V = C);
1418
1591
  }
1419
- if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / I) * r : 1, e.lineCap = "butt", e.beginPath(), e.moveTo(T, H), e.lineTo(T + D, H), e.stroke(), e.restore()), !t.valAxisHidden && !t.valAxisLineHidden && (e.save(), e.strokeStyle = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#888", e.lineWidth = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / I) * r : 1, e.beginPath(), e.moveTo(T, E), e.lineTo(T, E + O), e.stroke(), e.restore()), !t.catAxisHidden) {
1420
- let n = Math.max(8, Math.min(11, O / 20));
1592
+ if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = P(t.catAxisLineWidthEmu, r), e.lineCap = "butt", e.beginPath(), e.moveTo(S, V), e.lineTo(S + w, V), e.stroke(), e.restore()), !t.valAxisHidden && !t.valAxisLineHidden && (e.save(), e.strokeStyle = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#888", e.lineWidth = P(t.valAxisLineWidthEmu, r), e.beginPath(), e.moveTo(S, C), e.lineTo(S, C + E), e.stroke(), e.restore()), !t.catAxisHidden) {
1593
+ let n = Math.max(8, Math.min(11, E / 20));
1421
1594
  e.font = `${t.catAxisFontBold ? "bold " : ""}${n}px sans-serif`;
1422
- let i = h(N - M), a = Math.round((N - M) / i) + 1;
1595
+ let i = T(M - j), a = Math.round((M - j) / i) + 1;
1423
1596
  e.fillStyle = "#555", e.textAlign = "center", e.textBaseline = "top";
1424
1597
  for (let n = 0; n < a; n++) {
1425
- let a = M + n * i;
1426
- if (a > N + i * .01) break;
1427
- let o = B(a);
1428
- e.fillText(b(a, t.catAxisFormatCode), o, H + 4);
1429
- let s = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0, c = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / I) * r : void 0;
1430
- le(e, t.catAxisMajorTickMark, "cat", H, o, s, c);
1598
+ let a = j + n * i;
1599
+ if (a > M + i * .01) break;
1600
+ let o = z(a);
1601
+ e.fillText(L(a, t.catAxisFormatCode), o, V + 4);
1602
+ let s = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0;
1603
+ J(e, t.catAxisMajorTickMark, "cat", V, o, s, P(t.catAxisLineWidthEmu, r));
1431
1604
  }
1432
1605
  }
1433
- let U = t.chartType === "bubble", W = U ? "marker" : t.scatterStyle ?? "marker", te = W === "line" || W === "lineMarker" || W === "lineNoMarker", G = W === "smooth" || W === "smoothMarker" || W === "smoothNoMarker", ie = W === "lineNoMarker" || W === "smoothNoMarker";
1606
+ let H = t.chartType === "bubble", te = H ? "marker" : t.scatterStyle ?? "marker", ne = te === "line" || te === "lineMarker" || te === "lineNoMarker", re = te === "smooth" || te === "smoothMarker" || te === "smoothNoMarker", ie = te === "lineNoMarker" || te === "smoothNoMarker";
1434
1607
  for (let n = 0; n < t.series.length; n++) {
1435
- let i = t.series[n], a = ee(n, i), o = i.categories ?? [];
1436
- for (let t of i.errBars ?? []) xe(e, i, t, o, j, B, V, a);
1437
- if (te || G) {
1608
+ let i = t.series[n], a = le(n, i), o = i.categories ?? [];
1609
+ for (let t of i.errBars ?? []) Ie(e, i, t, o, k, z, B, a);
1610
+ if (ne || re) {
1438
1611
  let t = [];
1439
1612
  for (let e = 0; e < i.values.length; e++) {
1440
1613
  let n = i.values[e];
1441
1614
  if (n == null) continue;
1442
- let r = j ? e : parseFloat(o[e] ?? "0");
1615
+ let r = k ? e : parseFloat(o[e] ?? "0");
1443
1616
  isNaN(r) || t.push({
1444
- x: B(r),
1445
- y: V(n)
1617
+ x: z(r),
1618
+ y: B(n)
1446
1619
  });
1447
1620
  }
1448
1621
  if (t.length >= 2) {
1449
- if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y), G && t.length >= 3) for (let n = 0; n < t.length - 1; n++) {
1622
+ if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y), re && t.length >= 3) for (let n = 0; n < t.length - 1; n++) {
1450
1623
  let r = t[n - 1] ?? t[n], i = t[n], a = t[n + 1], o = t[n + 2] ?? a, s = i.x + (a.x - r.x) / 6, c = i.y + (a.y - r.y) / 6, l = a.x - (o.x - i.x) / 6, u = a.y - (o.y - i.y) / 6;
1451
1624
  e.bezierCurveTo(s, c, l, u, a.x, a.y);
1452
1625
  }
@@ -1456,29 +1629,29 @@ function ye(e, t, n, r) {
1456
1629
  }
1457
1630
  if (!(ie || i.showMarker === !1 || typeof i.markerSymbol == "string" && i.markerSymbol === "none")) {
1458
1631
  let t = 0;
1459
- if (U && i.bubbleSizes && i.bubbleSizes.length > 0) {
1632
+ if (H && i.bubbleSizes && i.bubbleSizes.length > 0) {
1460
1633
  let e = Math.max(0, ...i.bubbleSizes.filter((e) => e != null));
1461
- e > 0 && (t = Math.min(D, O) / Math.max(8, i.values.length * 1.6) / Math.sqrt(e));
1634
+ e > 0 && (t = Math.min(w, E) / Math.max(8, i.values.length * 1.6) / Math.sqrt(e));
1462
1635
  }
1463
1636
  for (let n = 0; n < i.values.length; n++) {
1464
1637
  let s = i.values[n];
1465
1638
  if (s == null) continue;
1466
- let c = j ? n : parseFloat(o[n] ?? "0");
1639
+ let c = k ? n : parseFloat(o[n] ?? "0");
1467
1640
  if (isNaN(c)) continue;
1468
1641
  let l = (i.dataPointOverrides ?? []).find((e) => e.idx === n), u = l?.markerSymbol ?? i.markerSymbol ?? "circle", d = l?.markerSize ?? i.markerSize ?? 5;
1469
- if (U && t > 0) {
1642
+ if (H && t > 0) {
1470
1643
  let e = i.bubbleSizes?.[n];
1471
1644
  e != null && e > 0 && (d = Math.sqrt(e) * t * 2 / r);
1472
1645
  }
1473
1646
  let f = l?.markerFill ?? l?.color ?? i.markerFill ?? a, p = l?.markerLine ?? i.markerLine ?? null;
1474
- be(e, B(c), V(s), u, d, f, p, r);
1647
+ Fe(e, z(c), B(s), u, d, f, p, r);
1475
1648
  }
1476
1649
  }
1477
- Se(e, i, o, j, B, V, O, r);
1650
+ Le(e, i, o, k, z, B, E, r);
1478
1651
  }
1479
- ce(e, t, f, i, a, o, s, T, E, D, O, d + 2), re(e, t, i, a, o, s, T, E, D, O, m, _, y, x);
1652
+ we(e, t, f, i, a, o, s, S, C, w, E, d + 2), ve(e, t, i, a, o, s, S, C, w, E, m, g, _, v);
1480
1653
  }
1481
- function be(e, t, n, r, i, a, o, s) {
1654
+ function Fe(e, t, n, r, i, a, o, s) {
1482
1655
  let c = Math.max(2, i * s), l = c / 2, u = a.startsWith("#") ? a : `#${a}`, d = o ? o.startsWith("#") ? o : `#${o}` : null;
1483
1656
  switch (e.save(), e.fillStyle = u, d && (e.strokeStyle = d, e.lineWidth = 1), r) {
1484
1657
  case "square":
@@ -1518,8 +1691,8 @@ function be(e, t, n, r, i, a, o, s) {
1518
1691
  }
1519
1692
  e.restore();
1520
1693
  }
1521
- function xe(e, t, n, r, i, a, o, s) {
1522
- e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu / I) : 1, e.setLineDash(Te(n.dash));
1694
+ function Ie(e, t, n, r, i, a, o, s) {
1695
+ e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu / j) : 1, e.setLineDash(Be(n.dash));
1523
1696
  let c = n.barType === "plus" || n.barType === "both", l = n.barType === "minus" || n.barType === "both", u = n.dir === "x", d = e.lineWidth * 1.5;
1524
1697
  for (let s = 0; s < t.values.length; s++) {
1525
1698
  let f = t.values[s];
@@ -1541,7 +1714,7 @@ function xe(e, t, n, r, i, a, o, s) {
1541
1714
  }
1542
1715
  e.restore();
1543
1716
  }
1544
- function Se(e, t, n, r, i, a, o, s) {
1717
+ function Le(e, t, n, r, i, a, o, s) {
1545
1718
  let c = t.dataLabelOverrides ?? [];
1546
1719
  if (c.length === 0 && !t.seriesDataLabels) return;
1547
1720
  let l = t.seriesDataLabels;
@@ -1556,13 +1729,13 @@ function Se(e, t, n, r, i, a, o, s) {
1556
1729
  m = p.text;
1557
1730
  } else if (l && (l.showVal || l.showSerName || l.showCatName)) {
1558
1731
  let e = [];
1559
- if (l.showCatName && !r && e.push(n[u] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(b(d, l.formatCode ?? null)), m = e.filter(Boolean).join(" "), !m) continue;
1732
+ if (l.showCatName && !r && e.push(n[u] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(L(d, l.formatCode ?? null)), m = e.filter(Boolean).join(" "), !m) continue;
1560
1733
  } else continue;
1561
1734
  let h = p?.position ?? l?.position ?? "r", g = p?.fontSizeHpt ?? l?.fontSizeHpt, _ = g ? g / 100 * s : Math.max(9, Math.min(11, o / 25)), v = p?.fontColor ?? l?.fontColor, y = p?.fontBold ?? l?.fontBold ?? !1;
1562
- Ce(e, i(f), a(d), m, h, _, v, y);
1735
+ Re(e, i(f), a(d), m, h, _, v, y);
1563
1736
  }
1564
1737
  }
1565
- function Ce(e, t, n, r, i, a, o, s) {
1738
+ function Re(e, t, n, r, i, a, o, s) {
1566
1739
  e.save(), e.font = `${s ? "bold " : ""}${a}px sans-serif`, e.fillStyle = o ? `#${o}` : "#333";
1567
1740
  let c = a * .6, l = t, u = n;
1568
1741
  switch (i) {
@@ -1590,10 +1763,10 @@ function Ce(e, t, n, r, i, a, o, s) {
1590
1763
  for (let t of d) e.fillText(t, l, m), m += f;
1591
1764
  e.restore();
1592
1765
  }
1593
- function we(e, t, n) {
1766
+ function ze(e, t, n) {
1594
1767
  return e < t ? t : e > n ? n : e;
1595
1768
  }
1596
- function Te(e) {
1769
+ function Be(e) {
1597
1770
  if (!e) return [];
1598
1771
  switch (e) {
1599
1772
  case "solid": return [];
@@ -1628,7 +1801,7 @@ function Te(e) {
1628
1801
  default: return [];
1629
1802
  }
1630
1803
  }
1631
- function Ee(e, t, n) {
1804
+ function Ve(e, t, n) {
1632
1805
  let { x: r, y: i, w: a, h: o } = n, s = t.plotAreaManualLayout, c, l, u, d;
1633
1806
  if (s && s.w != null && s.h != null) c = r + s.x * a, l = i + s.y * o, u = s.w * a, d = s.h * o;
1634
1807
  else {
@@ -1637,42 +1810,42 @@ function Ee(e, t, n) {
1637
1810
  }
1638
1811
  let f = t.series[0]?.values ?? [], p = t.categories, m = p.length;
1639
1812
  if (m === 0) return;
1640
- let g = new Set(t.subtotalIndices), _ = 0, v = [];
1813
+ let h = new Set(t.subtotalIndices), g = 0, _ = [];
1641
1814
  for (let e = 0; e < m; e++) {
1642
1815
  let t = f[e] ?? 0;
1643
- if (e === 0 || g.has(e)) v.push({
1816
+ if (e === 0 || h.has(e)) _.push({
1644
1817
  start: 0,
1645
1818
  end: t,
1646
1819
  isSub: !0,
1647
1820
  isPos: !0
1648
- }), _ = t;
1821
+ }), g = t;
1649
1822
  else {
1650
- let e = t >= 0 ? _ : _ + t, n = t >= 0 ? _ + t : _;
1651
- v.push({
1823
+ let e = t >= 0 ? g : g + t, n = t >= 0 ? g + t : g;
1824
+ _.push({
1652
1825
  start: e,
1653
1826
  end: n,
1654
1827
  isSub: !1,
1655
1828
  isPos: t >= 0
1656
- }), _ += t;
1829
+ }), g += t;
1657
1830
  }
1658
1831
  }
1659
- let y = v.map((e) => e.end), b = v.map((e) => e.start), x = Math.max(...y, ...b), S = Math.min(...b, 0), C = x - S;
1660
- if (C <= 0) return;
1661
- let w = S < 0 ? S - C * .05 : 0, T = (x - w) * 1.1, E = w + T, D = h(T);
1832
+ let v = _.map((e) => e.end), y = _.map((e) => e.start), b = Math.max(...v, ...y), x = Math.min(...y, 0), S = b - x;
1833
+ if (S <= 0) return;
1834
+ let C = x < 0 ? x - S * .05 : 0, w = (b - C) * 1.1, E = C + w, D = T(w);
1662
1835
  e.save();
1663
1836
  let O = Math.round(o * .042);
1664
1837
  if (e.font = `${O}px sans-serif`, !t.valAxisHidden) {
1665
1838
  e.strokeStyle = "#e8e8e8", e.lineWidth = .7, e.fillStyle = "#666", e.textAlign = "right", e.textBaseline = "middle";
1666
- for (let t = Math.ceil(w / D) * D; t <= E; t += D) {
1667
- let n = l + d * (1 - (t - w) / T);
1839
+ for (let t = Math.ceil(C / D) * D; t <= E; t += D) {
1840
+ let n = l + d * (1 - (t - C) / w);
1668
1841
  e.beginPath(), e.moveTo(c, n), e.lineTo(c + u, n), e.stroke(), e.fillText(t.toLocaleString(), c - 4, n);
1669
1842
  }
1670
1843
  }
1671
1844
  let k = !t.valAxisHidden && !t.valAxisLineHidden, A = !t.catAxisHidden && !t.catAxisLineHidden;
1672
1845
  (k || A) && (e.strokeStyle = "#bbb", e.lineWidth = 1, e.beginPath(), k ? (e.moveTo(c, l), e.lineTo(c, l + d), A && e.lineTo(c + u, l + d)) : A && (e.moveTo(c, l + d), e.lineTo(c + u, l + d)), e.stroke());
1673
1846
  let j = u / m, M = j / (1 + (t.barGapWidth ?? 150) / 100);
1674
- v.forEach((n, r) => {
1675
- let i = c + j * r + (j - M) / 2, a = l + d * (1 - (n.end - w) / T), s = l + d * (1 - (n.start - w) / T), u = Math.max(1, s - a);
1847
+ _.forEach((n, r) => {
1848
+ let i = c + j * r + (j - M) / 2, a = l + d * (1 - (n.end - C) / w), s = l + d * (1 - (n.start - C) / w), u = Math.max(1, s - a);
1676
1849
  if (n.isSub ? (e.fillStyle = "#196ECA", e.fillRect(i, a, M, u)) : (e.strokeStyle = n.isPos ? "#5BA4E6" : "#E46970", e.lineWidth = 1.5, e.strokeRect(i + .75, a + .75, M - 1.5, u - 1.5)), r < m - 1) {
1677
1850
  let t = c + j * (r + 1) + (j - M) / 2, o = n.isPos ? a : s;
1678
1851
  e.strokeStyle = "#ccc", e.lineWidth = .8, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(i + M, o), e.lineTo(t, o), e.stroke(), e.setLineDash([]);
@@ -1687,10 +1860,10 @@ function Ee(e, t, n) {
1687
1860
  }
1688
1861
  e.restore();
1689
1862
  }
1690
- function De(e, t, n, r = R) {
1863
+ function He(e, t, n, r = N) {
1691
1864
  let { x: i, y: a, w: o, h: s } = n;
1692
1865
  if (t.chartBg && (e.fillStyle = `#${t.chartBg}`, e.fillRect(i, a, o, s)), t.chartBorderColor) {
1693
- e.save(), e.strokeStyle = `#${t.chartBorderColor}`, e.lineWidth = t.chartBorderWidthEmu ? Math.max(.5, t.chartBorderWidthEmu / I) * r : 1;
1866
+ e.save(), e.strokeStyle = `#${t.chartBorderColor}`, e.lineWidth = t.chartBorderWidthEmu ? Math.max(.5, t.chartBorderWidthEmu / j) * r : 1;
1694
1867
  let n = e.lineWidth;
1695
1868
  e.strokeRect(i + n / 2, a + n / 2, o - n, s - n), e.restore();
1696
1869
  }
@@ -1705,40 +1878,40 @@ function De(e, t, n, r = R) {
1705
1878
  case "stackedBarH":
1706
1879
  case "stackedBarPct":
1707
1880
  case "stackedBarHPct":
1708
- q(e, t, n, r);
1881
+ Ae(e, t, n, r);
1709
1882
  break;
1710
1883
  case "line":
1711
1884
  case "stackedLine":
1712
1885
  case "stackedLinePct":
1713
- he(e, t, n, r);
1886
+ je(e, t, n, r);
1714
1887
  break;
1715
1888
  case "area":
1716
1889
  case "stackedArea":
1717
1890
  case "stackedAreaPct":
1718
- ge(e, t, n, r);
1891
+ Y(e, t, n, r);
1719
1892
  break;
1720
1893
  case "pie":
1721
- _e(e, t, n, !1, r);
1894
+ Me(e, t, n, !1, r);
1722
1895
  break;
1723
1896
  case "doughnut":
1724
- _e(e, t, n, !0, r);
1897
+ Me(e, t, n, !0, r);
1725
1898
  break;
1726
1899
  case "radar":
1727
- ve(e, t, n, r);
1900
+ Ne(e, t, n, r);
1728
1901
  break;
1729
1902
  case "scatter":
1730
1903
  case "bubble":
1731
- ye(e, t, n, r);
1904
+ Pe(e, t, n, r);
1732
1905
  break;
1733
1906
  case "waterfall":
1734
- Ee(e, t, n);
1907
+ Ve(e, t, n);
1735
1908
  break;
1736
1909
  default: e.fillStyle = "#888", e.font = "11px sans-serif", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`Chart: ${t.chartType}`, i + o / 2, a + s / 2);
1737
1910
  }
1738
1911
  }
1739
1912
  //#endregion
1740
1913
  //#region packages/core/src/autoResize.ts
1741
- function Oe(e, t, n = {}) {
1914
+ function Ue(e, t, n = {}) {
1742
1915
  let r = n.pauseWhenHidden ?? !0, i = null, a = 0, o = 0, s = null, c = !1, l = !1, u = () => {
1743
1916
  if (!l && !(r && typeof document < "u" && document.hidden)) {
1744
1917
  if (s) {
@@ -1775,7 +1948,7 @@ function Oe(e, t, n = {}) {
1775
1948
  }
1776
1949
  //#endregion
1777
1950
  //#region packages/core/src/shape/custGeom.ts
1778
- function ke(e, t, n, r, i, a) {
1951
+ function We(e, t, n, r, i, a) {
1779
1952
  for (let o of t) {
1780
1953
  let t = 0, s = 0;
1781
1954
  for (let c of o) switch (c.cmd) {
@@ -1803,11 +1976,11 @@ function ke(e, t, n, r, i, a) {
1803
1976
  }
1804
1977
  //#endregion
1805
1978
  //#region packages/core/src/shape/custgeom-endpoints.ts
1806
- var J = 1e-9;
1807
- function Ae(e) {
1979
+ var X = 1e-9;
1980
+ function Ge(e) {
1808
1981
  return e.cmd === "lineTo" || e.cmd === "cubicBezTo" || e.cmd === "arcTo";
1809
1982
  }
1810
- function je(e, t, n, r) {
1983
+ function Ke(e, t, n, r) {
1811
1984
  let i = n === 0 ? 0 : n, a = r === 0 ? 0 : r;
1812
1985
  return {
1813
1986
  x: e,
@@ -1817,7 +1990,7 @@ function je(e, t, n, r) {
1817
1990
  angle: Math.atan2(a, i)
1818
1991
  };
1819
1992
  }
1820
- function Me(e, t, n) {
1993
+ function qe(e, t, n) {
1821
1994
  switch (n.cmd) {
1822
1995
  case "lineTo": return {
1823
1996
  dx: n.x - e,
@@ -1825,7 +1998,7 @@ function Me(e, t, n) {
1825
1998
  };
1826
1999
  case "cubicBezTo": {
1827
2000
  let r = n.x1 - e, i = n.y1 - t;
1828
- return Math.abs(r) < J && Math.abs(i) < J && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < J && Math.abs(i) < J && (r = n.x - e, i = n.y - t), {
2001
+ return Math.abs(r) < X && Math.abs(i) < X && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < X && Math.abs(i) < X && (r = n.x - e, i = n.y - t), {
1829
2002
  dx: r,
1830
2003
  dy: i
1831
2004
  };
@@ -1843,7 +2016,7 @@ function Me(e, t, n) {
1843
2016
  };
1844
2017
  }
1845
2018
  }
1846
- function Ne(e, t, n) {
2019
+ function Je(e, t, n) {
1847
2020
  switch (n.cmd) {
1848
2021
  case "moveTo":
1849
2022
  case "lineTo":
@@ -1868,8 +2041,8 @@ function Ne(e, t, n) {
1868
2041
  };
1869
2042
  }
1870
2043
  }
1871
- function Pe(e, t, n) {
1872
- let { x: r, y: i } = Ne(e, t, n);
2044
+ function Ye(e, t, n) {
2045
+ let { x: r, y: i } = Je(e, t, n);
1873
2046
  switch (n.cmd) {
1874
2047
  case "lineTo": return {
1875
2048
  dx: n.x - e,
@@ -1879,7 +2052,7 @@ function Pe(e, t, n) {
1879
2052
  };
1880
2053
  case "cubicBezTo": {
1881
2054
  let a = n.x - n.x2, o = n.y - n.y2;
1882
- return Math.abs(a) < J && Math.abs(o) < J && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < J && Math.abs(o) < J && (a = n.x - e, o = n.y - t), {
2055
+ return Math.abs(a) < X && Math.abs(o) < X && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < X && Math.abs(o) < X && (a = n.x - e, o = n.y - t), {
1883
2056
  dx: a,
1884
2057
  dy: o,
1885
2058
  x: r,
@@ -1909,50 +2082,50 @@ function Pe(e, t, n) {
1909
2082
  };
1910
2083
  }
1911
2084
  }
1912
- function Fe(e) {
2085
+ function Xe(e) {
1913
2086
  let t = 0, n = 0, r = !1;
1914
- for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = Ne(t, n, i);
2087
+ for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = Je(t, n, i);
1915
2088
  return r ? {
1916
2089
  x: t,
1917
2090
  y: n
1918
2091
  } : null;
1919
2092
  }
1920
- function Ie(e) {
2093
+ function Ze(e) {
1921
2094
  if (e.some((e) => e.cmd === "close")) return !0;
1922
2095
  let t = e.find((e) => e.cmd === "moveTo");
1923
2096
  if (!t) return !1;
1924
- let n = Fe(e);
1925
- return !n || !e.some(Ae) ? !1 : Math.abs(n.x - t.x) < J && Math.abs(n.y - t.y) < J;
2097
+ let n = Xe(e);
2098
+ return !n || !e.some(Ge) ? !1 : Math.abs(n.x - t.x) < X && Math.abs(n.y - t.y) < X;
1926
2099
  }
1927
- function Le(e) {
2100
+ function Qe(e) {
1928
2101
  let t = {
1929
2102
  start: null,
1930
2103
  end: null
1931
2104
  };
1932
2105
  if (!e || e.length === 0) return t;
1933
2106
  let n = e[0];
1934
- if (n && n.length > 0 && !Ie(n)) {
1935
- let e = n.find((e) => e.cmd === "moveTo"), r = n.find(Ae);
2107
+ if (n && n.length > 0 && !Ze(n)) {
2108
+ let e = n.find((e) => e.cmd === "moveTo"), r = n.find(Ge);
1936
2109
  if (e && r) {
1937
- let n = Me(e.x, e.y, r);
1938
- (Math.abs(n.dx) > J || Math.abs(n.dy) > J) && (t.start = je(e.x, e.y, -n.dx, -n.dy));
2110
+ let n = qe(e.x, e.y, r);
2111
+ (Math.abs(n.dx) > X || Math.abs(n.dy) > X) && (t.start = Ke(e.x, e.y, -n.dx, -n.dy));
1939
2112
  }
1940
2113
  }
1941
2114
  let r = e[e.length - 1];
1942
- if (r && r.length > 0 && !Ie(r)) {
2115
+ if (r && r.length > 0 && !Ze(r)) {
1943
2116
  let e = 0, n = 0, i = -1;
1944
- for (let e = 0; e < r.length; e++) Ae(r[e]) && (i = e);
2117
+ for (let e = 0; e < r.length; e++) Ge(r[e]) && (i = e);
1945
2118
  if (i >= 0) {
1946
- for (let t = 0; t < i; t++) ({x: e, y: n} = Ne(e, n, r[t]));
1947
- let a = Pe(e, n, r[i]);
1948
- (Math.abs(a.dx) > J || Math.abs(a.dy) > J) && (t.end = je(a.x, a.y, a.dx, a.dy));
2119
+ for (let t = 0; t < i; t++) ({x: e, y: n} = Je(e, n, r[t]));
2120
+ let a = Ye(e, n, r[i]);
2121
+ (Math.abs(a.dx) > X || Math.abs(a.dy) > X) && (t.end = Ke(a.x, a.y, a.dx, a.dy));
1949
2122
  }
1950
2123
  }
1951
2124
  return t;
1952
2125
  }
1953
2126
  //#endregion
1954
2127
  //#region packages/core/src/shape/preset.ts
1955
- function Y(e, t, n, r, i, a, o, s = -Math.PI / 2) {
2128
+ function $e(e, t, n, r, i, a, o, s = -Math.PI / 2) {
1956
2129
  let c = a * 2;
1957
2130
  for (let l = 0; l < c; l++) {
1958
2131
  let c = s + l * Math.PI / a, u = l % 2 == 0 ? 1 : o, d = t + r * u * Math.cos(c), f = n + i * u * Math.sin(c);
@@ -1960,21 +2133,21 @@ function Y(e, t, n, r, i, a, o, s = -Math.PI / 2) {
1960
2133
  }
1961
2134
  e.closePath();
1962
2135
  }
1963
- function Re(e, t, n, r, i, a, o = -Math.PI / 2) {
2136
+ function et(e, t, n, r, i, a, o = -Math.PI / 2) {
1964
2137
  for (let s = 0; s < a; s++) {
1965
2138
  let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
1966
2139
  s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
1967
2140
  }
1968
2141
  e.closePath();
1969
2142
  }
1970
- function X(e, t, n, r, i, a, o) {
2143
+ function tt(e, t, n, r, i, a, o) {
1971
2144
  let s = (e) => Math.atan2(r * Math.sin(e), i * Math.cos(e)), c = s(a), l = s(a + o), u = t - r * Math.cos(c), d = n - i * Math.sin(c);
1972
2145
  return e.ellipse(u, d, Math.abs(r), Math.abs(i), 0, c, l, o < 0), {
1973
2146
  x: u + r * Math.cos(l),
1974
2147
  y: d + i * Math.sin(l)
1975
2148
  };
1976
2149
  }
1977
- function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2150
+ function nt(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
1978
2151
  let u = n + i / 2, d = r + a / 2;
1979
2152
  switch (t.toLowerCase()) {
1980
2153
  case "ellipse":
@@ -2009,53 +2182,53 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2009
2182
  break;
2010
2183
  }
2011
2184
  case "pentagon":
2012
- Re(e, u, d, i / 2, a / 2, 5);
2185
+ et(e, u, d, i / 2, a / 2, 5);
2013
2186
  break;
2014
2187
  case "hexagon":
2015
- Re(e, u, d, i / 2, a / 2, 6, 0);
2188
+ et(e, u, d, i / 2, a / 2, 6, 0);
2016
2189
  break;
2017
2190
  case "heptagon":
2018
- Re(e, u, d, i / 2, a / 2, 7);
2191
+ et(e, u, d, i / 2, a / 2, 7);
2019
2192
  break;
2020
2193
  case "octagon":
2021
- Re(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
2194
+ et(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
2022
2195
  break;
2023
2196
  case "decagon":
2024
- Re(e, u, d, i / 2, a / 2, 10);
2197
+ et(e, u, d, i / 2, a / 2, 10);
2025
2198
  break;
2026
2199
  case "dodecagon":
2027
- Re(e, u, d, i / 2, a / 2, 12);
2200
+ et(e, u, d, i / 2, a / 2, 12);
2028
2201
  break;
2029
2202
  case "star4":
2030
- Y(e, u, d, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
2203
+ $e(e, u, d, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
2031
2204
  break;
2032
2205
  case "star5":
2033
2206
  case "star":
2034
- Y(e, u, d, i / 2, a / 2, 5, (o ?? 19098) / 5e4);
2207
+ $e(e, u, d, i / 2, a / 2, 5, (o ?? 19098) / 5e4);
2035
2208
  break;
2036
2209
  case "star6":
2037
- Y(e, u, d, i / 2, a / 2, 6, (o ?? 28868) / 5e4, 0);
2210
+ $e(e, u, d, i / 2, a / 2, 6, (o ?? 28868) / 5e4, 0);
2038
2211
  break;
2039
2212
  case "star7":
2040
- Y(e, u, d, i / 2, a / 2, 7, (o ?? 34142) / 5e4);
2213
+ $e(e, u, d, i / 2, a / 2, 7, (o ?? 34142) / 5e4);
2041
2214
  break;
2042
2215
  case "star8":
2043
- Y(e, u, d, i / 2, a / 2, 8, (o ?? 37500) / 5e4, -Math.PI / 2);
2216
+ $e(e, u, d, i / 2, a / 2, 8, (o ?? 37500) / 5e4, -Math.PI / 2);
2044
2217
  break;
2045
2218
  case "star10":
2046
- Y(e, u, d, i / 2, a / 2, 10, (o ?? 41421) / 5e4);
2219
+ $e(e, u, d, i / 2, a / 2, 10, (o ?? 41421) / 5e4);
2047
2220
  break;
2048
2221
  case "star12":
2049
- Y(e, u, d, i / 2, a / 2, 12, (o ?? 37500) / 5e4, 0);
2222
+ $e(e, u, d, i / 2, a / 2, 12, (o ?? 37500) / 5e4, 0);
2050
2223
  break;
2051
2224
  case "star16":
2052
- Y(e, u, d, i / 2, a / 2, 16, (o ?? 37500) / 5e4, -Math.PI / 2);
2225
+ $e(e, u, d, i / 2, a / 2, 16, (o ?? 37500) / 5e4, -Math.PI / 2);
2053
2226
  break;
2054
2227
  case "star24":
2055
- Y(e, u, d, i / 2, a / 2, 24, (o ?? 37500) / 5e4, 0);
2228
+ $e(e, u, d, i / 2, a / 2, 24, (o ?? 37500) / 5e4, 0);
2056
2229
  break;
2057
2230
  case "star32":
2058
- Y(e, u, d, i / 2, a / 2, 32, (o ?? 37500) / 5e4, -Math.PI / 2);
2231
+ $e(e, u, d, i / 2, a / 2, 32, (o ?? 37500) / 5e4, -Math.PI / 2);
2059
2232
  break;
2060
2233
  case "rightarrow": {
2061
2234
  let t = a * Math.min(1, (o ?? 5e4) / 1e5), c = i * Math.min(1, (s ?? 5e4) / 1e5), l = r + (a - t) / 2;
@@ -2425,8 +2598,8 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2425
2598
  break;
2426
2599
  }
2427
2600
  case "quadarrowcallout": {
2428
- let t = Math.min(i, a), f = Math.min(5e4, Math.max(0, s ?? 18515)), p = f * 2, m = Math.min(p, Math.max(0, o ?? 18515)), h = 5e4 - f, g = Math.min(h, Math.max(0, c ?? 18515)), _ = 1e5 - 2 * g, v = Math.min(_, Math.max(m, l ?? 48123)), y = t * f / 1e5, b = t * m / 2e5, x = t * g / 1e5, S = i * v / 2e5, C = a * v / 2e5, w = u - S, T = u + S, E = u - y, D = u + y, O = u - b, k = u + b, A = n + i - x, j = d - C, M = d + C, N = d - y, P = d + y, F = d - b, I = d + b, L = r + a - x;
2429
- e.moveTo(n, d), e.lineTo(n + x, N), e.lineTo(n + x, F), e.lineTo(w, F), e.lineTo(w, j), e.lineTo(O, j), e.lineTo(O, r + x), e.lineTo(E, r + x), e.lineTo(u, r), e.lineTo(D, r + x), e.lineTo(k, r + x), e.lineTo(k, j), e.lineTo(T, j), e.lineTo(T, F), e.lineTo(A, F), e.lineTo(A, N), e.lineTo(n + i, d), e.lineTo(A, P), e.lineTo(A, I), e.lineTo(T, I), e.lineTo(T, M), e.lineTo(k, M), e.lineTo(k, L), e.lineTo(D, L), e.lineTo(u, r + a), e.lineTo(E, L), e.lineTo(O, L), e.lineTo(O, M), e.lineTo(w, M), e.lineTo(w, I), e.lineTo(n + x, I), e.lineTo(n + x, P), e.closePath();
2601
+ let t = Math.min(i, a), f = Math.min(5e4, Math.max(0, s ?? 18515)), p = f * 2, m = Math.min(p, Math.max(0, o ?? 18515)), h = 5e4 - f, g = Math.min(h, Math.max(0, c ?? 18515)), _ = 1e5 - 2 * g, v = Math.min(_, Math.max(m, l ?? 48123)), y = t * f / 1e5, b = t * m / 2e5, x = t * g / 1e5, S = i * v / 2e5, C = a * v / 2e5, w = u - S, T = u + S, E = u - y, D = u + y, O = u - b, k = u + b, A = n + i - x, j = d - C, M = d + C, N = d - y, P = d + y, F = d - b, ee = d + b, I = r + a - x;
2602
+ e.moveTo(n, d), e.lineTo(n + x, N), e.lineTo(n + x, F), e.lineTo(w, F), e.lineTo(w, j), e.lineTo(O, j), e.lineTo(O, r + x), e.lineTo(E, r + x), e.lineTo(u, r), e.lineTo(D, r + x), e.lineTo(k, r + x), e.lineTo(k, j), e.lineTo(T, j), e.lineTo(T, F), e.lineTo(A, F), e.lineTo(A, N), e.lineTo(n + i, d), e.lineTo(A, P), e.lineTo(A, ee), e.lineTo(T, ee), e.lineTo(T, M), e.lineTo(k, M), e.lineTo(k, I), e.lineTo(D, I), e.lineTo(u, r + a), e.lineTo(E, I), e.lineTo(O, I), e.lineTo(O, M), e.lineTo(w, M), e.lineTo(w, ee), e.lineTo(n + x, ee), e.lineTo(n + x, P), e.closePath();
2430
2603
  break;
2431
2604
  }
2432
2605
  case "wave": {
@@ -2603,13 +2776,13 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2603
2776
  break;
2604
2777
  }
2605
2778
  case "ellipseribbon": {
2606
- let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = b * (h - h * h / i), S = h / 2, C = b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = y + E - O + y + E, A = a - T, j = (y * 14 / 16 + A) / 2, M = D + A, N = O + A, P = m / 2, F = b * P + A, I = i - P, L = k + A;
2607
- e.moveTo(n, r), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + O), e.quadraticCurveTo(n + i / 2, r + k, n + _, r + O), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r), e.lineTo(n + v, r + j), e.lineTo(n + i, r + A), e.quadraticCurveTo(n + I, r + F, n + _, r + M), e.lineTo(n + _, r + N), e.quadraticCurveTo(n + i / 2, r + L, n + m, r + N), e.lineTo(n + m, r + M), e.quadraticCurveTo(n + P, r + F, n, r + A), e.lineTo(n + f, r + j), e.closePath();
2779
+ let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = b * (h - h * h / i), S = h / 2, C = b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = y + E - O + y + E, A = a - T, j = (y * 14 / 16 + A) / 2, M = D + A, N = O + A, P = m / 2, F = b * P + A, ee = i - P, I = k + A;
2780
+ e.moveTo(n, r), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + O), e.quadraticCurveTo(n + i / 2, r + k, n + _, r + O), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r), e.lineTo(n + v, r + j), e.lineTo(n + i, r + A), e.quadraticCurveTo(n + ee, r + F, n + _, r + M), e.lineTo(n + _, r + N), e.quadraticCurveTo(n + i / 2, r + I, n + m, r + N), e.lineTo(n + m, r + M), e.quadraticCurveTo(n + P, r + F, n, r + A), e.lineTo(n + f, r + j), e.closePath();
2608
2781
  break;
2609
2782
  }
2610
2783
  case "ellipseribbon2": {
2611
- let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = a - b * (h - h * h / i), S = h / 2, C = a - b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = a - O, A = y + E - O + y + E, j = a - A, M = a - T, N = a - (y * 14 / 16 + M) / 2, P = a - (D + M), F = a - (O + M), I = m / 2, L = a - (b * I + M), R = i - I, z = a - (A + M);
2612
- e.moveTo(n, r + a), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + k), e.quadraticCurveTo(n + i / 2, r + j, n + _, r + k), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r + a), e.lineTo(n + v, r + N), e.lineTo(n + i, r + T), e.quadraticCurveTo(n + R, r + L, n + _, r + P), e.lineTo(n + _, r + F), e.quadraticCurveTo(n + i / 2, r + z, n + m, r + F), e.lineTo(n + m, r + P), e.quadraticCurveTo(n + I, r + L, n, r + T), e.lineTo(n + f, r + N), e.closePath();
2784
+ let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = a - b * (h - h * h / i), S = h / 2, C = a - b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = a - O, A = y + E - O + y + E, j = a - A, M = a - T, N = a - (y * 14 / 16 + M) / 2, P = a - (D + M), F = a - (O + M), ee = m / 2, I = a - (b * ee + M), L = i - ee, R = a - (A + M);
2785
+ e.moveTo(n, r + a), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + k), e.quadraticCurveTo(n + i / 2, r + j, n + _, r + k), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r + a), e.lineTo(n + v, r + N), e.lineTo(n + i, r + T), e.quadraticCurveTo(n + L, r + I, n + _, r + P), e.lineTo(n + _, r + F), e.quadraticCurveTo(n + i / 2, r + R, n + m, r + F), e.lineTo(n + m, r + P), e.quadraticCurveTo(n + ee, r + I, n, r + T), e.lineTo(n + f, r + N), e.closePath();
2613
2786
  break;
2614
2787
  }
2615
2788
  case "circulararrow": {
@@ -2621,26 +2794,26 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2621
2794
  }
2622
2795
  case "curvedrightarrow": {
2623
2796
  let t = Math.min(i, a), l = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = 1e5 * (Math.sqrt(Math.max(0, h)) * i / (2 * m)) / t, _ = t * Math.min(g, Math.max(0, c ?? 25e3)) / 1e5, v = Math.sqrt(Math.max(0, i * i - _ * _)) * m / i, y = m + f, b = m + v, x = y + v, S = (p - f) / 2, C = b - S, w = x + S, T = a - p / 2, E = i - _, D = Math.atan2(_, v), O = -D, k = Math.PI - D;
2624
- e.moveTo(n, r + m), X(e, n, r + m, i, m, Math.PI, O), e.lineTo(n + E, r + C), e.lineTo(n + i, r + T), e.lineTo(n + E, r + w), e.lineTo(n + E, r + x), X(e, n + E, r + x, i, m, k, D), e.closePath();
2797
+ e.moveTo(n, r + m), tt(e, n, r + m, i, m, Math.PI, O), e.lineTo(n + E, r + C), e.lineTo(n + i, r + T), e.lineTo(n + E, r + w), e.lineTo(n + E, r + x), tt(e, n + E, r + x, i, m, k, D), e.closePath();
2625
2798
  break;
2626
2799
  }
2627
2800
  case "curvedleftarrow": {
2628
2801
  let t = Math.min(i, a), l = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * i / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, i * i - v * v)) * m / i, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = a - p / 2, D = v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = A - O, M = O - A, N = -A;
2629
2802
  e.moveTo(n, r + E), e.lineTo(n + D, r + w), e.lineTo(n + D, r + x);
2630
- let P = X(e, n + D, r + x, i, m, O, j);
2631
- X(e, P.x, P.y, i, m, N, M), e.lineTo(n + D, r + T), e.closePath();
2803
+ let P = tt(e, n + D, r + x, i, m, O, j);
2804
+ tt(e, P.x, P.y, i, m, N, M), e.lineTo(n + D, r + T), e.closePath();
2632
2805
  break;
2633
2806
  }
2634
2807
  case "curveduparrow": {
2635
2808
  let t = Math.min(i, a), l = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, a * a - v * v)) * m / a, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = i - p / 2, D = v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = A - O, M = O - A, N = Math.PI / 2 - O, P = Math.PI / 2 - A;
2636
2809
  e.moveTo(n + E, r), e.lineTo(n + T, r + D), e.lineTo(n + S, r + D);
2637
- let F = X(e, n + S, r + D, m, a, N, M);
2638
- X(e, F.x, F.y, m, a, P, j), e.lineTo(n + w, r + D), e.closePath();
2810
+ let F = tt(e, n + S, r + D, m, a, N, M);
2811
+ tt(e, F.x, F.y, m, a, P, j), e.lineTo(n + w, r + D), e.closePath();
2639
2812
  break;
2640
2813
  }
2641
2814
  case "curveddownarrow": {
2642
2815
  let t = Math.min(i, a), l = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, a * a - v * v)) * m / a, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = i - p / 2, D = a - v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = 3 * Math.PI / 2 + O;
2643
- 3 * Math.PI / 2 - A, A - Math.PI / 2, Math.PI / 2 - A, e.moveTo(n + E, r + a), e.lineTo(n + w, r + D), e.lineTo(n + x, r + D), X(e, n + x, r + D, m, a, j, -O), e.lineTo(n + b, r), X(e, n + b, r, m, a, 3 * Math.PI / 2, O), e.lineTo(n + T, r + D), e.closePath();
2816
+ 3 * Math.PI / 2 - A, A - Math.PI / 2, Math.PI / 2 - A, e.moveTo(n + E, r + a), e.lineTo(n + w, r + D), e.lineTo(n + x, r + D), tt(e, n + x, r + D, m, a, j, -O), e.lineTo(n + b, r), tt(e, n + b, r, m, a, 3 * Math.PI / 2, O), e.lineTo(n + T, r + D), e.closePath();
2644
2817
  break;
2645
2818
  }
2646
2819
  case "stripedrightarrow": {
@@ -2709,9 +2882,9 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2709
2882
  }
2710
2883
  //#endregion
2711
2884
  //#region packages/core/src/shape/arrow.ts
2712
- function Be(e, t, n, r, i, a, o) {
2885
+ function rt(e, t, n, r, i, a, o) {
2713
2886
  if (i.type === "none") return;
2714
- let s = Math.max(.5, a.width * o), c = i.w === "sm" ? 4 : i.w === "lg" ? 8 : 6, l = i.len === "sm" ? 4 : i.len === "lg" ? 8 : 6, u = s * c / 2, d = s * l, f = A(a.color);
2887
+ let s = Math.max(.5, a.width * o), c = i.w === "sm" ? 4 : i.w === "lg" ? 8 : 6, l = i.len === "sm" ? 4 : i.len === "lg" ? 8 : 6, u = s * c / 2, d = s * l, f = U(a.color);
2715
2888
  switch (e.save(), e.translate(t, n), e.rotate(r), e.fillStyle = f, e.strokeStyle = f, e.lineWidth = s, e.setLineDash([]), e.beginPath(), i.type) {
2716
2889
  case "triangle":
2717
2890
  case "stealth":
@@ -2731,21 +2904,21 @@ function Be(e, t, n, r, i, a, o) {
2731
2904
  }
2732
2905
  //#endregion
2733
2906
  //#region packages/core/src/image/svg-image-by-path.ts
2734
- var Ve = /* @__PURE__ */ new WeakMap(), He = 256;
2735
- function Ue(e) {
2736
- let t = Ve.get(e);
2907
+ var it = /* @__PURE__ */ new WeakMap(), at = 256;
2908
+ function ot(e) {
2909
+ let t = it.get(e);
2737
2910
  return t || (t = {
2738
2911
  imgs: /* @__PURE__ */ new Map(),
2739
2912
  urls: /* @__PURE__ */ new Map()
2740
- }, Ve.set(e, t)), t;
2913
+ }, it.set(e, t)), t;
2741
2914
  }
2742
- function We(e, t) {
2915
+ function st(e, t) {
2743
2916
  e.imgs.delete(t);
2744
2917
  let n = e.urls.get(t);
2745
2918
  n && (URL.revokeObjectURL(n), e.urls.delete(t));
2746
2919
  }
2747
- function Ge(e, t) {
2748
- let n = Ue(t), r = n.imgs.get(e);
2920
+ function ct(e, t) {
2921
+ let n = ot(t), r = n.imgs.get(e);
2749
2922
  if (r) return n.imgs.delete(e), n.imgs.set(e, r), r;
2750
2923
  let i = (async () => {
2751
2924
  let r = await t(e, "image/svg+xml"), i = URL.createObjectURL(r);
@@ -2757,20 +2930,967 @@ function Ge(e, t) {
2757
2930
  }, a.onerror = () => n(/* @__PURE__ */ Error(`svg load failed: ${e}`)), a.src = i;
2758
2931
  }), a;
2759
2932
  })();
2760
- if (i.catch(() => We(n, e)), n.imgs.set(e, i), n.imgs.size > He) {
2933
+ if (i.catch(() => st(n, e)), n.imgs.set(e, i), n.imgs.size > at) {
2761
2934
  let e = n.imgs.keys().next().value;
2762
- We(n, e);
2935
+ st(n, e);
2763
2936
  }
2764
2937
  return i;
2765
2938
  }
2766
- function Ke(e) {
2767
- let t = Ve.get(e);
2939
+ function lt(e) {
2940
+ let t = it.get(e);
2768
2941
  if (t) {
2769
2942
  for (let e of t.urls.values()) URL.revokeObjectURL(e);
2770
- t.urls.clear(), t.imgs.clear(), Ve.delete(e);
2943
+ t.urls.clear(), t.imgs.clear(), it.delete(e);
2944
+ }
2945
+ }
2946
+ //#endregion
2947
+ //#region packages/core/src/image/emf.ts
2948
+ var Z = {
2949
+ HEADER: 1,
2950
+ POLYBEZIER: 2,
2951
+ POLYGON: 3,
2952
+ POLYLINE: 4,
2953
+ POLYBEZIERTO: 5,
2954
+ POLYLINETO: 6,
2955
+ POLYPOLYLINE: 7,
2956
+ POLYPOLYGON: 8,
2957
+ EOF: 14,
2958
+ SETPOLYFILLMODE: 19,
2959
+ SETBKMODE: 18,
2960
+ SETTEXTALIGN: 22,
2961
+ SETTEXTCOLOR: 24,
2962
+ MOVETOEX: 27,
2963
+ SAVEDC: 33,
2964
+ RESTOREDC: 34,
2965
+ SETWORLDTRANSFORM: 35,
2966
+ MODIFYWORLDTRANSFORM: 36,
2967
+ SELECTOBJECT: 37,
2968
+ CREATEPEN: 38,
2969
+ CREATEBRUSHINDIRECT: 39,
2970
+ DELETEOBJECT: 40,
2971
+ ELLIPSE: 42,
2972
+ RECTANGLE: 43,
2973
+ LINETO: 54,
2974
+ EXTCREATEFONTINDIRECTW: 82,
2975
+ EXTTEXTOUTW: 84,
2976
+ POLYBEZIER16: 85,
2977
+ POLYGON16: 86,
2978
+ POLYLINE16: 87,
2979
+ POLYBEZIERTO16: 88,
2980
+ POLYLINETO16: 89,
2981
+ POLYPOLYLINE16: 90,
2982
+ POLYPOLYGON16: 91,
2983
+ CREATEMONOBRUSH: 93,
2984
+ CREATEDIBPATTERNBRUSHPT: 94,
2985
+ EXTCREATEPEN: 95,
2986
+ BITBLT: 76,
2987
+ STRETCHDIBITS: 81
2988
+ }, ut = {
2989
+ WHITE_BRUSH: 2147483648,
2990
+ LTGRAY_BRUSH: 2147483649,
2991
+ GRAY_BRUSH: 2147483650,
2992
+ DKGRAY_BRUSH: 2147483651,
2993
+ BLACK_BRUSH: 2147483652,
2994
+ NULL_BRUSH: 2147483653,
2995
+ WHITE_PEN: 2147483654,
2996
+ BLACK_PEN: 2147483655,
2997
+ NULL_PEN: 2147483656,
2998
+ DC_BRUSH: 2147483666,
2999
+ DC_PEN: 2147483662
3000
+ }, dt = () => ({
3001
+ m11: 1,
3002
+ m12: 0,
3003
+ m21: 0,
3004
+ m22: 1,
3005
+ dx: 0,
3006
+ dy: 0
3007
+ });
3008
+ function ft(e, t) {
3009
+ return {
3010
+ m11: e.m11 * t.m11 + e.m21 * t.m12,
3011
+ m12: e.m12 * t.m11 + e.m22 * t.m12,
3012
+ m21: e.m11 * t.m21 + e.m21 * t.m22,
3013
+ m22: e.m12 * t.m21 + e.m22 * t.m22,
3014
+ dx: e.m11 * t.dx + e.m21 * t.dy + e.dx,
3015
+ dy: e.m12 * t.dx + e.m22 * t.dy + e.dy
3016
+ };
3017
+ }
3018
+ var pt = class {
3019
+ p;
3020
+ constructor(e, t, n) {
3021
+ this.dv = e, this.end = n, this.p = t;
3022
+ }
3023
+ get pos() {
3024
+ return this.p;
3025
+ }
3026
+ set pos(e) {
3027
+ this.p = e;
3028
+ }
3029
+ get remaining() {
3030
+ return this.end - this.p;
3031
+ }
3032
+ i16() {
3033
+ let e = this.dv.getInt16(this.p, !0);
3034
+ return this.p += 2, e;
3035
+ }
3036
+ i32() {
3037
+ let e = this.dv.getInt32(this.p, !0);
3038
+ return this.p += 4, e;
3039
+ }
3040
+ u32() {
3041
+ let e = this.dv.getUint32(this.p, !0);
3042
+ return this.p += 4, e;
2771
3043
  }
3044
+ f32() {
3045
+ let e = this.dv.getFloat32(this.p, !0);
3046
+ return this.p += 4, e;
3047
+ }
3048
+ xform() {
3049
+ return {
3050
+ m11: this.f32(),
3051
+ m12: this.f32(),
3052
+ m21: this.f32(),
3053
+ m22: this.f32(),
3054
+ dx: this.f32(),
3055
+ dy: this.f32()
3056
+ };
3057
+ }
3058
+ skip(e) {
3059
+ this.p += e;
3060
+ }
3061
+ };
3062
+ function mt(e, t, n) {
3063
+ return e.wt.m11 * t + e.wt.m21 * n + e.wt.dx;
3064
+ }
3065
+ function ht(e, t, n) {
3066
+ return e.wt.m12 * t + e.wt.m22 * n + e.wt.dy;
3067
+ }
3068
+ function Q(e, t, n) {
3069
+ let r = mt(e, t, n), i = ht(e, t, n);
3070
+ return [(r - e.left) * e.W / e.boundsW, (i - e.top) * e.H / e.boundsH];
3071
+ }
3072
+ function gt(e) {
3073
+ return (Math.hypot(e.wt.m11, e.wt.m12) + Math.hypot(e.wt.m21, e.wt.m22)) / 2;
3074
+ }
3075
+ function _t(e) {
3076
+ return (e.W / e.boundsW + e.H / e.boundsH) / 2;
2772
3077
  }
2773
- var qe = {
3078
+ function vt(e) {
3079
+ return Math.hypot(e.wt.m21, e.wt.m22);
3080
+ }
3081
+ function yt(e) {
3082
+ return e.H / e.boundsH;
3083
+ }
3084
+ function bt(e, t) {
3085
+ let n = t * gt(e) * _t(e);
3086
+ return Math.max(.75, n);
3087
+ }
3088
+ var xt = {
3089
+ [ut.WHITE_BRUSH]: {
3090
+ kind: "brush",
3091
+ fill: "#ffffff"
3092
+ },
3093
+ [ut.LTGRAY_BRUSH]: {
3094
+ kind: "brush",
3095
+ fill: "#c0c0c0"
3096
+ },
3097
+ [ut.GRAY_BRUSH]: {
3098
+ kind: "brush",
3099
+ fill: "#808080"
3100
+ },
3101
+ [ut.DKGRAY_BRUSH]: {
3102
+ kind: "brush",
3103
+ fill: "#404040"
3104
+ },
3105
+ [ut.BLACK_BRUSH]: {
3106
+ kind: "brush",
3107
+ fill: "#000000"
3108
+ },
3109
+ [ut.NULL_BRUSH]: {
3110
+ kind: "brush",
3111
+ fill: null
3112
+ }
3113
+ }, St = {
3114
+ [ut.WHITE_PEN]: {
3115
+ kind: "pen",
3116
+ stroke: "#ffffff",
3117
+ width: 1
3118
+ },
3119
+ [ut.BLACK_PEN]: {
3120
+ kind: "pen",
3121
+ stroke: "#000000",
3122
+ width: 1
3123
+ },
3124
+ [ut.NULL_PEN]: {
3125
+ kind: "pen",
3126
+ stroke: null,
3127
+ width: 1
3128
+ },
3129
+ [ut.DC_PEN]: {
3130
+ kind: "pen",
3131
+ stroke: "#000000",
3132
+ width: 1
3133
+ }
3134
+ };
3135
+ function Ct(e, t) {
3136
+ let n = xt[t];
3137
+ if (n) {
3138
+ e.curBrush = n;
3139
+ return;
3140
+ }
3141
+ let r = St[t];
3142
+ if (r) {
3143
+ e.curPen = r;
3144
+ return;
3145
+ }
3146
+ t === ut.DC_BRUSH && (e.curBrush = e.curBrush ?? {
3147
+ kind: "brush",
3148
+ fill: "#000000"
3149
+ });
3150
+ }
3151
+ function wt(e, t, n, r, i) {
3152
+ if (n < 40 || t + 40 > e.byteLength) return null;
3153
+ let a = e.getUint32(t, !0);
3154
+ if (a < 40) return null;
3155
+ let o = e.getInt32(t + 4, !0), s = e.getInt32(t + 8, !0), c = e.getUint16(t + 14, !0);
3156
+ if (e.getUint32(t + 16, !0) !== 0) return null;
3157
+ let l = s < 0, u = Math.abs(o), d = Math.abs(s);
3158
+ if (u <= 0 || d <= 0 || u > 65536 || d > 65536) return null;
3159
+ let f = new Uint8ClampedArray(u * d * 4), p = u * c + 31 >> 5 << 2 >>> 0;
3160
+ if (r + p * d > r + i + p && r + p * d > e.byteLength) return null;
3161
+ let m = null;
3162
+ if (c <= 8) {
3163
+ let n = e.getUint32(t + 32, !0);
3164
+ n === 0 && (n = 1 << c);
3165
+ let r = t + a;
3166
+ m = [];
3167
+ for (let t = 0; t < n; t++) {
3168
+ let n = r + t * 4;
3169
+ if (n + 4 > e.byteLength) break;
3170
+ let i = e.getUint8(n), a = e.getUint8(n + 1), o = e.getUint8(n + 2);
3171
+ m.push(o << 16 | a << 8 | i);
3172
+ }
3173
+ }
3174
+ let h = (e, t, n, r, i, a) => {
3175
+ let o = (e * u + t) * 4;
3176
+ f[o] = n, f[o + 1] = r, f[o + 2] = i, f[o + 3] = a;
3177
+ }, g = !1;
3178
+ for (let t = 0; t < d; t++) {
3179
+ let n = l ? t : d - 1 - t, i = t, a = r + n * p;
3180
+ if (a + p > e.byteLength) break;
3181
+ if (c === 32) for (let t = 0; t < u; t++) {
3182
+ let n = a + t * 4, r = e.getUint8(n), o = e.getUint8(n + 1), s = e.getUint8(n + 2), c = e.getUint8(n + 3);
3183
+ c !== 0 && (g = !0), h(i, t, s, o, r, c);
3184
+ }
3185
+ else if (c === 24) {
3186
+ for (let t = 0; t < u; t++) {
3187
+ let n = a + t * 3;
3188
+ h(i, t, e.getUint8(n + 2), e.getUint8(n + 1), e.getUint8(n), 255);
3189
+ }
3190
+ g = !0;
3191
+ } else if (c === 8 && m) {
3192
+ for (let t = 0; t < u; t++) {
3193
+ let n = e.getUint8(a + t), r = m[n] ?? 0;
3194
+ h(i, t, r >> 16 & 255, r >> 8 & 255, r & 255, 255);
3195
+ }
3196
+ g = !0;
3197
+ } else return null;
3198
+ }
3199
+ if (c === 32 && !g) for (let e = 3; e < f.length; e += 4) f[e] = 255;
3200
+ return {
3201
+ width: u,
3202
+ height: d,
3203
+ data: f
3204
+ };
3205
+ }
3206
+ function Tt(e) {
3207
+ let t = 0, n = 0, r = 0, i = 0;
3208
+ for (let a = 0; a < e.data.length; a += 4) e.data[a + 3] !== 0 && (t += e.data[a], n += e.data[a + 1], r += e.data[a + 2], i++);
3209
+ if (i === 0) return "#808080";
3210
+ let a = (e) => Math.round(e / i).toString(16).padStart(2, "0");
3211
+ return `#${a(t)}${a(n)}${a(r)}`;
3212
+ }
3213
+ var Et = (e) => [e.i16(), e.i16()], Dt = (e) => [e.i32(), e.i32()];
3214
+ function Ot(e, t, n) {
3215
+ t.skip(16);
3216
+ let r = t.u32();
3217
+ if (r < 2 || r > 1048576 || !e.curPen || e.curPen.stroke == null) return;
3218
+ let { ctx: i } = e;
3219
+ i.beginPath();
3220
+ let a = 0, o = 0;
3221
+ for (let s = 0; s < r && !(t.remaining < 4); s++) {
3222
+ let [r, c] = n(t), [l, u] = Q(e, r, c);
3223
+ s === 0 ? i.moveTo(l, u) : i.lineTo(l, u), a = r, o = c;
3224
+ }
3225
+ i.strokeStyle = e.curPen.stroke, i.lineWidth = bt(e, e.curPen.width), i.stroke(), e.drew = !0, e.curX = a, e.curY = o;
3226
+ }
3227
+ function kt(e, t, n) {
3228
+ t.skip(16);
3229
+ let r = t.u32();
3230
+ if (r < 1 || r > 1048576) return;
3231
+ let { ctx: i } = e, a = e.curPen != null && e.curPen.stroke != null;
3232
+ if (a) {
3233
+ i.beginPath();
3234
+ let [t, n] = Q(e, e.curX, e.curY);
3235
+ i.moveTo(t, n);
3236
+ }
3237
+ for (let o = 0; o < r && !(t.remaining < 4); o++) {
3238
+ let [r, o] = n(t);
3239
+ if (a) {
3240
+ let [t, n] = Q(e, r, o);
3241
+ i.lineTo(t, n);
3242
+ }
3243
+ e.curX = r, e.curY = o;
3244
+ }
3245
+ a && e.curPen && (i.strokeStyle = e.curPen.stroke, i.lineWidth = bt(e, e.curPen.width), i.stroke(), e.drew = !0);
3246
+ }
3247
+ function At(e, t, n) {
3248
+ t.skip(16);
3249
+ let r = t.u32();
3250
+ if (r < 2 || r > 1048576) return;
3251
+ let { ctx: i } = e;
3252
+ i.beginPath();
3253
+ let a = !1;
3254
+ for (let o = 0; o < r && !(t.remaining < 4); o++) {
3255
+ let [r, o] = n(t), [s, c] = Q(e, r, o);
3256
+ a ? i.lineTo(s, c) : (i.moveTo(s, c), a = !0);
3257
+ }
3258
+ a && (i.closePath(), e.curBrush && e.curBrush.fill != null && (i.fillStyle = e.curBrush.fill, i.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (i.strokeStyle = e.curPen.stroke, i.lineWidth = bt(e, e.curPen.width), i.stroke(), e.drew = !0));
3259
+ }
3260
+ function jt(e, t, n, r) {
3261
+ t.skip(16);
3262
+ let i = t.u32();
3263
+ if (i < 1 || i > 1048576) return;
3264
+ let a = [];
3265
+ for (let e = 0; e < i && !(t.remaining < 4); e++) a.push(n(t));
3266
+ if (a.length < (r ? 3 : 4)) {
3267
+ a.length && (e.curX = a[a.length - 1][0], e.curY = a[a.length - 1][1]);
3268
+ return;
3269
+ }
3270
+ let o = e.curPen != null && e.curPen.stroke != null, { ctx: s } = e;
3271
+ if (o) {
3272
+ s.beginPath();
3273
+ let t = r ? Q(e, e.curX, e.curY) : Q(e, a[0][0], a[0][1]);
3274
+ s.moveTo(t[0], t[1]);
3275
+ }
3276
+ let c = +!r;
3277
+ for (; c + 2 < a.length + +!!r; c += 3) {
3278
+ let t = a[c], n = a[c + 1], r = a[c + 2];
3279
+ if (!t || !n || !r) break;
3280
+ if (o) {
3281
+ let i = Q(e, t[0], t[1]), a = Q(e, n[0], n[1]), o = Q(e, r[0], r[1]);
3282
+ s.bezierCurveTo(i[0], i[1], a[0], a[1], o[0], o[1]);
3283
+ }
3284
+ e.curX = r[0], e.curY = r[1];
3285
+ }
3286
+ o && e.curPen && (s.strokeStyle = e.curPen.stroke, s.lineWidth = bt(e, e.curPen.width), s.stroke(), e.drew = !0);
3287
+ }
3288
+ function Mt(e, t, n, r) {
3289
+ t.skip(16);
3290
+ let i = t.u32(), a = t.u32();
3291
+ if (i <= 0 || i > 65536 || a <= 0 || a > 2097152) return;
3292
+ let o = [];
3293
+ for (let e = 0; e < i; e++) {
3294
+ if (t.remaining < 4) return;
3295
+ o.push(t.u32());
3296
+ }
3297
+ let { ctx: s } = e;
3298
+ s.beginPath();
3299
+ let c = !1;
3300
+ for (let i of o) {
3301
+ if (i < 2) {
3302
+ for (let e = 0; e < i && t.remaining >= 4; e++) n(t);
3303
+ continue;
3304
+ }
3305
+ for (let r = 0; r < i && !(t.remaining < 4); r++) {
3306
+ let [i, a] = n(t), [o, c] = Q(e, i, a);
3307
+ r === 0 ? s.moveTo(o, c) : s.lineTo(o, c);
3308
+ }
3309
+ r && s.closePath(), c = !0;
3310
+ }
3311
+ c && (r && e.curBrush && e.curBrush.fill != null && (s.fillStyle = e.curBrush.fill, s.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (s.strokeStyle = e.curPen.stroke, s.lineWidth = bt(e, e.curPen.width), s.stroke(), e.drew = !0));
3312
+ }
3313
+ function Nt(e, t, n, r, i) {
3314
+ let { ctx: a } = e, o = Q(e, t, n), s = Q(e, r, n), c = Q(e, r, i), l = Q(e, t, i);
3315
+ a.beginPath(), a.moveTo(o[0], o[1]), a.lineTo(s[0], s[1]), a.lineTo(c[0], c[1]), a.lineTo(l[0], l[1]), a.closePath(), e.curBrush && e.curBrush.fill != null && (a.fillStyle = e.curBrush.fill, a.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (a.strokeStyle = e.curPen.stroke, a.lineWidth = bt(e, e.curPen.width), a.stroke(), e.drew = !0);
3316
+ }
3317
+ function Pt(e) {
3318
+ let t = e.u32(), n = e.u32(), r = e.i32();
3319
+ e.i32();
3320
+ let i = e.u32();
3321
+ return [t, {
3322
+ kind: "pen",
3323
+ stroke: (n & 255) == 5 ? null : $t(i),
3324
+ width: Math.abs(r)
3325
+ }];
3326
+ }
3327
+ function Ft(e) {
3328
+ let t = e.u32();
3329
+ e.skip(16);
3330
+ let n = e.u32(), r = e.u32();
3331
+ e.u32();
3332
+ let i = e.u32();
3333
+ return [t, {
3334
+ kind: "pen",
3335
+ stroke: (n & 255) == 5 ? null : $t(i),
3336
+ width: Math.abs(r)
3337
+ }];
3338
+ }
3339
+ function It(e) {
3340
+ let t = e.u32(), n = e.u32(), r = e.u32();
3341
+ return e.u32(), [t, {
3342
+ kind: "brush",
3343
+ fill: n === 1 ? null : $t(r)
3344
+ }];
3345
+ }
3346
+ function Lt(e, t, n) {
3347
+ let r = e.u32();
3348
+ e.u32();
3349
+ let i = e.u32(), a = e.u32(), o = e.u32(), s = e.u32(), c = "#808080";
3350
+ try {
3351
+ let e = wt(t, n + i, a, n + o, s);
3352
+ e && (c = Tt(e));
3353
+ } catch {}
3354
+ return [r, {
3355
+ kind: "brush",
3356
+ fill: c
3357
+ }];
3358
+ }
3359
+ function Rt(e, t, n) {
3360
+ let r = e.u32(), i = n + 12, a = t.getInt32(i, !0), o = t.getInt32(i + 16, !0), s = t.getUint8(i + 20), c = "";
3361
+ for (let e = 0; e < 32; e++) {
3362
+ let n = i + 28 + e * 2;
3363
+ if (n + 2 > t.byteLength) break;
3364
+ let r = t.getUint16(n, !0);
3365
+ if (r === 0) break;
3366
+ c += String.fromCharCode(r);
3367
+ }
3368
+ return [r, {
3369
+ kind: "font",
3370
+ height: Math.abs(a),
3371
+ weight: o,
3372
+ italic: s !== 0,
3373
+ face: c
3374
+ }];
3375
+ }
3376
+ function zt(e, t, n, r) {
3377
+ t.skip(16), t.u32(), t.f32(), t.f32();
3378
+ let i = t.i32(), a = t.i32(), o = t.u32(), s = t.u32();
3379
+ if (t.u32(), o <= 0 || o > 65536) return;
3380
+ let c = "";
3381
+ for (let e = 0; e < o; e++) {
3382
+ let t = r + s + e * 2;
3383
+ if (t + 2 > n.byteLength) break;
3384
+ c += String.fromCharCode(n.getUint16(t, !0));
3385
+ }
3386
+ if (c.length === 0) return;
3387
+ let l = e.curFont, u = Math.abs(l?.height ?? 0) * vt(e) * yt(e);
3388
+ if (!Number.isFinite(u) || u < 1) return;
3389
+ let { ctx: d } = e, [f, p] = Q(e, i, a);
3390
+ d.fillStyle = e.textColor;
3391
+ let m = l && l.weight >= 700 ? "bold " : "";
3392
+ d.font = `${l?.italic ? "italic " : ""}${m}${u}px ${l?.face || "sans-serif"}`;
3393
+ let h = e.textAlign & 6;
3394
+ d.textAlign = h === 2 ? "right" : h === 6 ? "center" : "left", d.textBaseline = (e.textAlign & 24) == 24 ? "alphabetic" : "top";
3395
+ try {
3396
+ d.fillText(c, f, p), e.drew = !0;
3397
+ } catch {}
3398
+ }
3399
+ function Bt(e, t, n, r, i, a, o, s, c, l, u) {
3400
+ if (!(i === 0 || o === 0)) try {
3401
+ let d = wt(t, n + r, i, n + a, o);
3402
+ if (!d || typeof OffscreenCanvas > "u") return;
3403
+ let f = new OffscreenCanvas(d.width, d.height), p = f.getContext("2d");
3404
+ if (!p) return;
3405
+ let m = p.createImageData(d.width, d.height);
3406
+ m.data.set(d.data), p.putImageData(m, 0, 0);
3407
+ let [h, g] = Q(e, s, c), [_, v] = Q(e, l, u);
3408
+ e.ctx.drawImage(f, h, g, _ - h, v - g), e.drew = !0;
3409
+ } catch {}
3410
+ }
3411
+ function Vt(e, t, n, r) {
3412
+ t.skip(16);
3413
+ let i = t.i32(), a = t.i32(), o = t.i32(), s = t.i32();
3414
+ t.u32(), t.i32(), t.i32(), t.skip(24), t.u32(), t.u32(), Bt(e, n, r, t.u32(), t.u32(), t.u32(), t.u32(), i, a, i + o, a + s);
3415
+ }
3416
+ function Ht(e, t, n, r) {
3417
+ t.skip(16);
3418
+ let i = t.i32(), a = t.i32();
3419
+ t.i32(), t.i32(), t.i32(), t.i32();
3420
+ let o = t.u32(), s = t.u32(), c = t.u32(), l = t.u32();
3421
+ t.u32(), t.u32();
3422
+ let u = t.i32(), d = t.i32();
3423
+ Bt(e, n, r, o, s, c, l, i, a, i + u, a + d);
3424
+ }
3425
+ function Ut(e, t, n, r) {
3426
+ if (!Qt(e) || n <= 0 || r <= 0) return !1;
3427
+ let i = new DataView(e.buffer, e.byteOffset, e.byteLength), a = {
3428
+ ctx: t,
3429
+ W: n,
3430
+ H: r,
3431
+ left: 0,
3432
+ top: 0,
3433
+ boundsW: n,
3434
+ boundsH: r,
3435
+ wt: dt(),
3436
+ objects: /* @__PURE__ */ new Map(),
3437
+ curPen: null,
3438
+ curBrush: null,
3439
+ curFont: null,
3440
+ textColor: "#000000",
3441
+ bkMode: 1,
3442
+ textAlign: 0,
3443
+ fillRule: "nonzero",
3444
+ curX: 0,
3445
+ curY: 0,
3446
+ stack: [],
3447
+ drew: !1
3448
+ }, o = 0;
3449
+ for (; o + 8 <= e.length;) {
3450
+ let n = i.getUint32(o, !0), r = i.getUint32(o + 4, !0);
3451
+ if (r < 8 || r & 3) break;
3452
+ let s = o + r;
3453
+ if (s > e.length || n === Z.EOF) break;
3454
+ let c = new pt(i, o + 8, s);
3455
+ try {
3456
+ switch (n) {
3457
+ case Z.HEADER: {
3458
+ let e = i.getInt32(o + 8, !0), t = i.getInt32(o + 12, !0), n = i.getInt32(o + 16, !0), r = i.getInt32(o + 20, !0);
3459
+ a.left = e, a.top = t, a.boundsW = Math.max(1, n - e), a.boundsH = Math.max(1, r - t);
3460
+ break;
3461
+ }
3462
+ case Z.SETWORLDTRANSFORM:
3463
+ a.wt = c.xform();
3464
+ break;
3465
+ case Z.MODIFYWORLDTRANSFORM: {
3466
+ let e = c.xform(), t = c.u32();
3467
+ t === 1 ? a.wt = dt() : t === 2 ? a.wt = ft(e, a.wt) : t === 3 ? a.wt = ft(a.wt, e) : t === 4 && (a.wt = e);
3468
+ break;
3469
+ }
3470
+ case Z.SAVEDC:
3471
+ a.stack.push({
3472
+ wt: { ...a.wt },
3473
+ curPen: a.curPen,
3474
+ curBrush: a.curBrush,
3475
+ curFont: a.curFont,
3476
+ textColor: a.textColor,
3477
+ bkMode: a.bkMode,
3478
+ textAlign: a.textAlign,
3479
+ fillRule: a.fillRule,
3480
+ curX: a.curX,
3481
+ curY: a.curY
3482
+ });
3483
+ break;
3484
+ case Z.RESTOREDC: {
3485
+ let e = c.i32(), t = Math.min(Math.abs(e) || 1, a.stack.length), n;
3486
+ for (let e = 0; e < t; e++) n = a.stack.pop();
3487
+ n && (a.wt = n.wt, a.curPen = n.curPen, a.curBrush = n.curBrush, a.curFont = n.curFont, a.textColor = n.textColor, a.bkMode = n.bkMode, a.textAlign = n.textAlign, a.fillRule = n.fillRule, a.curX = n.curX, a.curY = n.curY);
3488
+ break;
3489
+ }
3490
+ case Z.SELECTOBJECT: {
3491
+ let e = c.u32();
3492
+ if (e & 2147483648) Ct(a, e >>> 0);
3493
+ else {
3494
+ let t = a.objects.get(e);
3495
+ t?.kind === "pen" ? a.curPen = t : t?.kind === "brush" ? a.curBrush = t : t?.kind === "font" && (a.curFont = t);
3496
+ }
3497
+ break;
3498
+ }
3499
+ case Z.DELETEOBJECT: {
3500
+ let e = c.u32(), t = a.objects.get(e);
3501
+ t && (t === a.curPen && (a.curPen = null), t === a.curBrush && (a.curBrush = null), t === a.curFont && (a.curFont = null), a.objects.delete(e));
3502
+ break;
3503
+ }
3504
+ case Z.CREATEPEN: {
3505
+ let [e, t] = Pt(c);
3506
+ a.objects.set(e, t);
3507
+ break;
3508
+ }
3509
+ case Z.EXTCREATEPEN: {
3510
+ let [e, t] = Ft(c);
3511
+ a.objects.set(e, t);
3512
+ break;
3513
+ }
3514
+ case Z.CREATEBRUSHINDIRECT: {
3515
+ let [e, t] = It(c);
3516
+ a.objects.set(e, t);
3517
+ break;
3518
+ }
3519
+ case Z.CREATEMONOBRUSH:
3520
+ case Z.CREATEDIBPATTERNBRUSHPT: {
3521
+ let [e, t] = Lt(c, i, o);
3522
+ a.objects.set(e, t);
3523
+ break;
3524
+ }
3525
+ case Z.EXTCREATEFONTINDIRECTW: {
3526
+ let [e, t] = Rt(c, i, o);
3527
+ a.objects.set(e, t);
3528
+ break;
3529
+ }
3530
+ case Z.POLYLINE16:
3531
+ Ot(a, c, Et);
3532
+ break;
3533
+ case Z.POLYLINE:
3534
+ Ot(a, c, Dt);
3535
+ break;
3536
+ case Z.POLYLINETO16:
3537
+ kt(a, c, Et);
3538
+ break;
3539
+ case Z.POLYLINETO:
3540
+ kt(a, c, Dt);
3541
+ break;
3542
+ case Z.POLYGON16:
3543
+ At(a, c, Et);
3544
+ break;
3545
+ case Z.POLYGON:
3546
+ At(a, c, Dt);
3547
+ break;
3548
+ case Z.POLYBEZIER16:
3549
+ jt(a, c, Et, !1);
3550
+ break;
3551
+ case Z.POLYBEZIER:
3552
+ jt(a, c, Dt, !1);
3553
+ break;
3554
+ case Z.POLYBEZIERTO16:
3555
+ jt(a, c, Et, !0);
3556
+ break;
3557
+ case Z.POLYBEZIERTO:
3558
+ jt(a, c, Dt, !0);
3559
+ break;
3560
+ case Z.POLYPOLYGON16:
3561
+ Mt(a, c, Et, !0);
3562
+ break;
3563
+ case Z.POLYPOLYGON:
3564
+ Mt(a, c, Dt, !0);
3565
+ break;
3566
+ case Z.POLYPOLYLINE16:
3567
+ Mt(a, c, Et, !1);
3568
+ break;
3569
+ case Z.POLYPOLYLINE:
3570
+ Mt(a, c, Dt, !1);
3571
+ break;
3572
+ case Z.MOVETOEX:
3573
+ a.curX = c.i32(), a.curY = c.i32();
3574
+ break;
3575
+ case Z.LINETO: {
3576
+ let e = c.i32(), n = c.i32();
3577
+ if (a.curPen && a.curPen.stroke != null) {
3578
+ let [r, i] = Q(a, a.curX, a.curY), [o, s] = Q(a, e, n);
3579
+ t.beginPath(), t.moveTo(r, i), t.lineTo(o, s), t.strokeStyle = a.curPen.stroke, t.lineWidth = bt(a, a.curPen.width), t.stroke(), a.drew = !0;
3580
+ }
3581
+ a.curX = e, a.curY = n;
3582
+ break;
3583
+ }
3584
+ case Z.RECTANGLE:
3585
+ Nt(a, c.i32(), c.i32(), c.i32(), c.i32());
3586
+ break;
3587
+ case Z.ELLIPSE: {
3588
+ let e = c.i32(), n = c.i32(), r = c.i32(), i = c.i32(), [o, s] = [(e + r) / 2, (n + i) / 2], [l, u] = Q(a, o, s), [d] = Q(a, r, s), [, f] = Q(a, o, i), p = Math.abs(d - l), m = Math.abs(f - u);
3589
+ t.beginPath(), t.ellipse(l, u, p, m, 0, 0, Math.PI * 2), a.curBrush && a.curBrush.fill != null && (t.fillStyle = a.curBrush.fill, t.fill(a.fillRule), a.drew = !0), a.curPen && a.curPen.stroke != null && (t.strokeStyle = a.curPen.stroke, t.lineWidth = bt(a, a.curPen.width), t.stroke(), a.drew = !0);
3590
+ break;
3591
+ }
3592
+ case Z.SETPOLYFILLMODE:
3593
+ a.fillRule = c.u32() === 1 ? "evenodd" : "nonzero";
3594
+ break;
3595
+ case Z.SETTEXTCOLOR:
3596
+ a.textColor = $t(c.u32());
3597
+ break;
3598
+ case Z.SETTEXTALIGN:
3599
+ a.textAlign = c.u32();
3600
+ break;
3601
+ case Z.SETBKMODE:
3602
+ a.bkMode = c.u32();
3603
+ break;
3604
+ case Z.EXTTEXTOUTW:
3605
+ zt(a, c, i, o);
3606
+ break;
3607
+ case Z.BITBLT:
3608
+ Vt(a, c, i, o);
3609
+ break;
3610
+ case Z.STRETCHDIBITS:
3611
+ Ht(a, c, i, o);
3612
+ break;
3613
+ default: break;
3614
+ }
3615
+ } catch {}
3616
+ o = s;
3617
+ }
3618
+ return a.drew;
3619
+ }
3620
+ async function Wt(e, t, n) {
3621
+ if (!Qt(e) || t <= 0 || n <= 0 || typeof OffscreenCanvas > "u") return null;
3622
+ let r = new OffscreenCanvas(t, n), i = r.getContext("2d");
3623
+ return !i || (i.lineJoin = "round", i.lineCap = "round", !Ut(e, i, t, n)) ? null : createImageBitmap(r);
3624
+ }
3625
+ //#endregion
3626
+ //#region packages/core/src/image/wmf.ts
3627
+ var Gt = {
3628
+ EOF: 0,
3629
+ SETPOLYFILLMODE: 262,
3630
+ SETWINDOWORG: 523,
3631
+ SETWINDOWEXT: 524,
3632
+ SELECTOBJECT: 301,
3633
+ DELETEOBJECT: 496,
3634
+ POLYGON: 804,
3635
+ POLYLINE: 805,
3636
+ POLYPOLYGON: 1336,
3637
+ RECTANGLE: 1051,
3638
+ CREATEPENINDIRECT: 762,
3639
+ CREATEBRUSHINDIRECT: 764
3640
+ }, Kt = 2596720087, qt = 22, Jt = 18, Yt = 1179469088;
3641
+ function Xt(e, t) {
3642
+ if (e.length < t + Jt) return !1;
3643
+ let n = e[t] | e[t + 1] << 8, r = e[t + 2] | e[t + 3] << 8;
3644
+ return (n === 1 || n === 2) && r === 9;
3645
+ }
3646
+ function Zt(e) {
3647
+ return e.length < 4 ? !1 : (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 === Kt ? !0 : Xt(e, 0);
3648
+ }
3649
+ function Qt(e) {
3650
+ if (e.length < 44) return !1;
3651
+ let t = new DataView(e.buffer, e.byteOffset, e.byteLength);
3652
+ return t.getUint32(0, !0) === 1 && t.getUint32(40, !0) === Yt;
3653
+ }
3654
+ function $t(e) {
3655
+ let t = e & 255, n = e >>> 8 & 255, r = e >>> 16 & 255, i = (e) => e.toString(16).padStart(2, "0");
3656
+ return `#${i(t)}${i(n)}${i(r)}`;
3657
+ }
3658
+ function en(e, t) {
3659
+ for (let n = 0; n < e.length; n++) if (e[n] == null) {
3660
+ e[n] = t;
3661
+ return;
3662
+ }
3663
+ e.push(t);
3664
+ }
3665
+ var tn = class {
3666
+ p = 0;
3667
+ constructor(e, t, n) {
3668
+ this.b = e, this.end = n, this.p = t;
3669
+ }
3670
+ get remaining() {
3671
+ return this.end - this.p;
3672
+ }
3673
+ i16() {
3674
+ let e = this.u16();
3675
+ return e >= 32768 ? e - 65536 : e;
3676
+ }
3677
+ u16() {
3678
+ let e = this.b[this.p] | this.b[this.p + 1] << 8;
3679
+ return this.p += 2, e;
3680
+ }
3681
+ u32() {
3682
+ let e = (this.b[this.p] | this.b[this.p + 1] << 8 | this.b[this.p + 2] << 16 | this.b[this.p + 3] << 24) >>> 0;
3683
+ return this.p += 4, e;
3684
+ }
3685
+ };
3686
+ function nn(e, t) {
3687
+ return (t - e.orgX) * (e.W / e.extX);
3688
+ }
3689
+ function rn(e, t) {
3690
+ return (t - e.orgY) * (e.H / e.extY);
3691
+ }
3692
+ function an(e, t) {
3693
+ let n = t * Math.abs(e.W / e.extX);
3694
+ return n >= 1 ? n : 1;
3695
+ }
3696
+ var on = .001;
3697
+ function sn(e, t, n) {
3698
+ return Math.abs(e - t) <= on || Math.abs(e - n) <= on;
3699
+ }
3700
+ function cn(e, t, n) {
3701
+ let r = [], i = n ? t.length : t.length - 1;
3702
+ for (let n = 0; n < i; n++) {
3703
+ let i = t[n], a = t[(n + 1) % t.length], o = Math.abs(i[0] - a[0]) <= on && sn(i[0], 0, e.W) && sn(a[0], 0, e.W), s = Math.abs(i[1] - a[1]) <= on && sn(i[1], 0, e.H) && sn(a[1], 0, e.H);
3704
+ o || s || r.push([i, a]);
3705
+ }
3706
+ return r;
3707
+ }
3708
+ function ln(e, t, n) {
3709
+ if (!e.curPen || e.curPen.stroke == null || t.length < 2) return;
3710
+ let { ctx: r } = e;
3711
+ if (r.strokeStyle = e.curPen.stroke, r.lineWidth = an(e, e.curPen.width), !e.suppressBoundaryFrame) {
3712
+ r.beginPath(), r.moveTo(t[0][0], t[0][1]);
3713
+ for (let e = 1; e < t.length; e++) r.lineTo(t[e][0], t[e][1]);
3714
+ n && r.closePath(), r.stroke(), e.drew = !0;
3715
+ return;
3716
+ }
3717
+ let i = cn(e, t, n);
3718
+ if (i.length === 0) return;
3719
+ r.beginPath();
3720
+ let a = null;
3721
+ for (let [e, t] of i) (!a || a[0] !== e[0] || a[1] !== e[1]) && r.moveTo(e[0], e[1]), r.lineTo(t[0], t[1]), a = t;
3722
+ r.stroke(), e.drew = !0;
3723
+ }
3724
+ function un(e, t, n) {
3725
+ let r = [];
3726
+ for (let i = 0; i < n && !(t.remaining < 4); i++) {
3727
+ let n = t.i16(), i = t.i16();
3728
+ r.push([nn(e, n), rn(e, i)]);
3729
+ }
3730
+ return r;
3731
+ }
3732
+ function dn(e, t) {
3733
+ t.length < 2 || !e.curPen || e.curPen.stroke == null || ln(e, t, !1);
3734
+ }
3735
+ function fn(e, t) {
3736
+ if (t.length < 2) return;
3737
+ let { ctx: n } = e;
3738
+ if (e.curBrush && e.curBrush.fill != null) {
3739
+ n.beginPath(), n.moveTo(t[0][0], t[0][1]);
3740
+ for (let e = 1; e < t.length; e++) n.lineTo(t[e][0], t[e][1]);
3741
+ n.closePath(), n.fillStyle = e.curBrush.fill, n.fill(e.fillRule), e.drew = !0;
3742
+ }
3743
+ ln(e, t, !0);
3744
+ }
3745
+ function pn(e, t) {
3746
+ let n = t.u16();
3747
+ if (n <= 0 || n > 65536) return;
3748
+ let r = [];
3749
+ for (let e = 0; e < n; e++) {
3750
+ if (t.remaining < 2) return;
3751
+ r.push(t.u16());
3752
+ }
3753
+ let { ctx: i } = e;
3754
+ i.beginPath();
3755
+ let a = !1;
3756
+ for (let n of r) {
3757
+ if (n < 2) {
3758
+ for (let e = 0; e < n && t.remaining >= 4; e++) t.i16(), t.i16();
3759
+ continue;
3760
+ }
3761
+ let r = un(e, t, n);
3762
+ if (!(r.length < 2)) {
3763
+ i.moveTo(r[0][0], r[0][1]);
3764
+ for (let e = 1; e < r.length; e++) i.lineTo(r[e][0], r[e][1]);
3765
+ i.closePath(), a = !0;
3766
+ }
3767
+ }
3768
+ a && (e.curBrush && e.curBrush.fill != null && (i.fillStyle = e.curBrush.fill, i.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (i.strokeStyle = e.curPen.stroke, i.lineWidth = an(e, e.curPen.width), i.stroke(), e.drew = !0));
3769
+ }
3770
+ function mn(e) {
3771
+ let t = e.u16(), n = e.i16();
3772
+ e.i16();
3773
+ let r = e.u32();
3774
+ return {
3775
+ kind: "pen",
3776
+ stroke: (t & 255) == 5 ? null : $t(r),
3777
+ width: Math.abs(n)
3778
+ };
3779
+ }
3780
+ function hn(e) {
3781
+ let t = e.u16(), n = e.u32();
3782
+ return e.u16(), {
3783
+ kind: "brush",
3784
+ fill: t === 1 ? null : $t(n)
3785
+ };
3786
+ }
3787
+ function gn(e, t, n, r, i = !1) {
3788
+ if (!Zt(e)) return !1;
3789
+ let a = 0;
3790
+ (e.length >= 4 ? (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 : 0) === Kt && (a = qt);
3791
+ let o = a + Jt;
3792
+ if (o > e.length) return !1;
3793
+ let s = {
3794
+ ctx: t,
3795
+ W: n,
3796
+ H: r,
3797
+ orgX: 0,
3798
+ orgY: 0,
3799
+ extX: n || 1,
3800
+ extY: r || 1,
3801
+ haveExt: !1,
3802
+ objects: [],
3803
+ curPen: null,
3804
+ curBrush: null,
3805
+ fillRule: "nonzero",
3806
+ drew: !1,
3807
+ suppressBoundaryFrame: i
3808
+ }, c = new DataView(e.buffer, e.byteOffset, e.byteLength);
3809
+ for (; o + 6 <= e.length;) {
3810
+ let t = c.getUint32(o, !0), n = c.getUint16(o + 4, !0);
3811
+ if (t < 3) break;
3812
+ let r = t * 2, i = o + r;
3813
+ if (i > e.length || n === Gt.EOF) break;
3814
+ let a = new tn(e, o + 6, i);
3815
+ switch (n) {
3816
+ case Gt.SETWINDOWORG:
3817
+ s.orgY = a.i16(), s.orgX = a.i16();
3818
+ break;
3819
+ case Gt.SETWINDOWEXT: {
3820
+ let e = a.i16(), t = a.i16();
3821
+ s.extY = e || 1, s.extX = t || 1, s.haveExt = !0;
3822
+ break;
3823
+ }
3824
+ case Gt.SETPOLYFILLMODE:
3825
+ s.fillRule = a.u16() === 1 ? "evenodd" : "nonzero";
3826
+ break;
3827
+ case Gt.CREATEPENINDIRECT:
3828
+ en(s.objects, mn(a));
3829
+ break;
3830
+ case Gt.CREATEBRUSHINDIRECT:
3831
+ en(s.objects, hn(a));
3832
+ break;
3833
+ case Gt.SELECTOBJECT: {
3834
+ let e = a.u16(), t = s.objects[e];
3835
+ t?.kind === "pen" ? s.curPen = t : t?.kind === "brush" && (s.curBrush = t);
3836
+ break;
3837
+ }
3838
+ case Gt.DELETEOBJECT: {
3839
+ let e = a.u16(), t = s.objects[e];
3840
+ t && (t === s.curPen && (s.curPen = null), t === s.curBrush && (s.curBrush = null), s.objects[e] = null);
3841
+ break;
3842
+ }
3843
+ case Gt.POLYLINE:
3844
+ dn(s, un(s, a, a.i16()));
3845
+ break;
3846
+ case Gt.POLYGON:
3847
+ fn(s, un(s, a, a.i16()));
3848
+ break;
3849
+ case Gt.POLYPOLYGON:
3850
+ pn(s, a);
3851
+ break;
3852
+ case Gt.RECTANGLE: {
3853
+ let e = a.i16(), t = a.i16(), n = a.i16(), r = a.i16();
3854
+ fn(s, [
3855
+ [nn(s, r), rn(s, n)],
3856
+ [nn(s, t), rn(s, n)],
3857
+ [nn(s, t), rn(s, e)],
3858
+ [nn(s, r), rn(s, e)]
3859
+ ]);
3860
+ break;
3861
+ }
3862
+ default: break;
3863
+ }
3864
+ o = i;
3865
+ }
3866
+ return s.drew;
3867
+ }
3868
+ var _n = 2e3, vn = 2;
3869
+ function yn(e, t) {
3870
+ let n = e > 0 ? e : 300, r = t > 0 ? t : 300, i = (e) => Math.max(1, Math.min(_n, Math.round(e)));
3871
+ return {
3872
+ w: i(n * vn),
3873
+ h: i(r * vn)
3874
+ };
3875
+ }
3876
+ async function bn(e, t, n, r = !1) {
3877
+ if (!Zt(e) || t <= 0 || n <= 0) return null;
3878
+ let i = new OffscreenCanvas(t, n), a = i.getContext("2d");
3879
+ return !a || (a.lineJoin = "round", a.lineCap = "round", !gn(e, a, t, n, r)) ? null : createImageBitmap(i);
3880
+ }
3881
+ async function xn(e, t = {}) {
3882
+ let { widthPt: n = 0, heightPt: r = 0, suppressBoundaryFrame: i = !1 } = t, a = new Uint8Array(await e.arrayBuffer());
3883
+ if (Zt(a)) {
3884
+ let { w: e, h: t } = yn(n, r);
3885
+ return bn(a, e, t, i);
3886
+ }
3887
+ if (Qt(a)) {
3888
+ let { w: e, h: t } = yn(n, r);
3889
+ return Wt(a, e, t);
3890
+ }
3891
+ return createImageBitmap(e);
3892
+ }
3893
+ var Sn = {
2774
3894
  accentbordercallout1: {
2775
3895
  adj: [
2776
3896
  ["adj1", "val 18750"],
@@ -24633,8 +25753,8 @@ var qe = {
24633
25753
  ]
24634
25754
  }]
24635
25755
  }
24636
- }, Z = 216e5, Je = Math.PI * 2 / Z;
24637
- function Ye(e, t, n) {
25756
+ }, Cn = 216e5, wn = Math.PI * 2 / Cn;
25757
+ function Tn(e, t, n) {
24638
25758
  let { w: r, h: i, adj: a } = e, o = Math.min(r, i), s = Math.max(r, i), c = Object.create(null);
24639
25759
  Object.assign(c, {
24640
25760
  w: r,
@@ -24679,14 +25799,14 @@ function Ye(e, t, n) {
24679
25799
  lsd8: s / 8,
24680
25800
  lsd16: s / 16,
24681
25801
  lsd32: s / 32,
24682
- cd: Z,
24683
- cd2: Z / 2,
24684
- cd4: Z / 4,
24685
- cd8: Z / 8,
24686
- "3cd4": 3 * Z / 4,
24687
- "3cd8": 3 * Z / 8,
24688
- "5cd8": 5 * Z / 8,
24689
- "7cd8": 7 * Z / 8
25802
+ cd: Cn,
25803
+ cd2: Cn / 2,
25804
+ cd4: Cn / 4,
25805
+ cd8: Cn / 8,
25806
+ "3cd4": 3 * Cn / 4,
25807
+ "3cd8": 3 * Cn / 8,
25808
+ "5cd8": 5 * Cn / 8,
25809
+ "7cd8": 7 * Cn / 8
24690
25810
  }), t.forEach(([e, t], n) => {
24691
25811
  let r = a[n];
24692
25812
  c[e] = typeof r == "number" ? r : u(t), e === "adj" && (c.adj1 = c.adj), e === "adj1" && (c.adj = c.adj1);
@@ -24723,10 +25843,10 @@ function Ye(e, t, n) {
24723
25843
  case "pin": return t[1] < t[0] ? t[0] : t[1] > t[2] ? t[2] : t[1];
24724
25844
  case "sqrt": return Math.sqrt(Math.max(0, t[0]));
24725
25845
  case "mod": return Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]);
24726
- case "sin": return t[0] * Math.sin(t[1] * Je);
24727
- case "cos": return t[0] * Math.cos(t[1] * Je);
24728
- case "tan": return t[0] * Math.tan(t[1] * Je);
24729
- case "at2": return Math.atan2(t[1], t[0]) / Je;
25846
+ case "sin": return t[0] * Math.sin(t[1] * wn);
25847
+ case "cos": return t[0] * Math.cos(t[1] * wn);
25848
+ case "tan": return t[0] * Math.tan(t[1] * wn);
25849
+ case "at2": return Math.atan2(t[1], t[0]) / wn;
24730
25850
  case "cat2": return t[0] * Math.cos(Math.atan2(t[2], t[1]));
24731
25851
  case "sat2": return t[0] * Math.sin(Math.atan2(t[2], t[1]));
24732
25852
  default: throw Error(`preset-shape: unknown operator "${e}" in "${n}"`);
@@ -24735,8 +25855,8 @@ function Ye(e, t, n) {
24735
25855
  }
24736
25856
  //#endregion
24737
25857
  //#region packages/core/src/shape/preset-geometry/path-executor.ts
24738
- var Xe = Math.PI * 2 / 216e5;
24739
- function Ze(e, t, n, r, i, a, o) {
25858
+ var En = Math.PI * 2 / 216e5;
25859
+ function Dn(e, t, n, r, i, a, o) {
24740
25860
  let s = t.w == null ? 1 : a / t.w, c = t.h == null ? 1 : o / t.h, l = (e) => r + e * s, u = (e) => i + e * c, d = 0, f = 0;
24741
25861
  for (let r of t.cmds) switch (r[0]) {
24742
25862
  case "m": {
@@ -24760,7 +25880,7 @@ function Ze(e, t, n, r, i, a, o) {
24760
25880
  break;
24761
25881
  }
24762
25882
  case "a": {
24763
- let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) * Xe, u = n.resolve(r[4]) * Xe, p = Math.PI * 2, m = (e) => Math.atan2(t * Math.sin(e), i * Math.cos(e)), h = m(l), g = Math.trunc(u / p), _ = u - g * p, v = m(l + _) - h;
25883
+ let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) * En, u = n.resolve(r[4]) * En, p = Math.PI * 2, m = (e) => Math.atan2(t * Math.sin(e), i * Math.cos(e)), h = m(l), g = Math.trunc(u / p), _ = u - g * p, v = m(l + _) - h;
24764
25884
  _ > 0 && v < 0 ? v += p : _ < 0 && v > 0 && (v -= p);
24765
25885
  let y = h + v + g * p, b = d - a * Math.cos(h), x = f - o * Math.sin(h);
24766
25886
  Math.abs(a) > 1e-6 && Math.abs(o) > 1e-6 && (e.ellipse(b, x, Math.abs(a), Math.abs(o), 0, h, y, u < 0), d = b + a * Math.cos(y), f = x + o * Math.sin(y));
@@ -24773,26 +25893,26 @@ function Ze(e, t, n, r, i, a, o) {
24773
25893
  }
24774
25894
  //#endregion
24775
25895
  //#region packages/core/src/shape/preset-geometry/index.ts
24776
- var Q = qe;
24777
- function Qe(e) {
24778
- return e.toLowerCase() in Q;
25896
+ var On = Sn;
25897
+ function kn(e) {
25898
+ return e.toLowerCase() in On;
24779
25899
  }
24780
- function $e(e, t, n, r, i, a, o = []) {
24781
- let s = Q[t.toLowerCase()];
25900
+ function An(e, t, n, r, i, a, o = []) {
25901
+ let s = On[t.toLowerCase()];
24782
25902
  if (!s) return !1;
24783
- let c = Ye({
25903
+ let c = Tn({
24784
25904
  w: i,
24785
25905
  h: a,
24786
25906
  adj: o
24787
25907
  }, s.adj, s.gd);
24788
- for (let t of s.paths) Ze(e, t, c, n, r, i, a);
25908
+ for (let t of s.paths) Dn(e, t, c, n, r, i, a);
24789
25909
  return !0;
24790
25910
  }
24791
- var et = {
25911
+ var jn = {
24792
25912
  wedgeroundrectcallout: "roundrect",
24793
25913
  wedgeellipsecallout: "ellipse",
24794
25914
  wedgerectcallout: null
24795
- }, tt = {
25915
+ }, Mn = {
24796
25916
  adj: [],
24797
25917
  gd: [],
24798
25918
  paths: [{
@@ -24826,43 +25946,43 @@ var et = {
24826
25946
  ]
24827
25947
  }]
24828
25948
  };
24829
- function nt(e, t, n) {
25949
+ function Nn(e, t, n) {
24830
25950
  let r = e[n];
24831
25951
  if (typeof r == "number") return r;
24832
25952
  let i = t.adj[n];
24833
25953
  return i && Number(i[1].replace(/^val\s+/, "")) || 0;
24834
25954
  }
24835
- function rt(e, t, n, r, i, a, o, s, c, l) {
24836
- let u = t.toLowerCase(), d = Q[u];
25955
+ function Pn(e, t, n, r, i, a, o, s, c, l) {
25956
+ let u = t.toLowerCase(), d = On[u];
24837
25957
  if (!d) return !1;
24838
- if (u in et) {
24839
- let e = nt(o, d, 0), t = nt(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
25958
+ if (u in jn) {
25959
+ let e = Nn(o, d, 0), t = Nn(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
24840
25960
  if (n >= 0 && n <= i && r >= 0 && r <= a) {
24841
- let e = et[u];
24842
- e === "roundrect" ? (d = Q.roundrect, o = [nt(o, Q[u], 2)]) : e && Q[e] ? (d = Q[e], o = []) : (d = tt, o = []);
25961
+ let e = jn[u];
25962
+ e === "roundrect" ? (d = On.roundrect, o = [Nn(o, On[u], 2)]) : e && On[e] ? (d = On[e], o = []) : (d = Mn, o = []);
24843
25963
  }
24844
25964
  }
24845
- let f = Ye({
25965
+ let f = Tn({
24846
25966
  w: i,
24847
25967
  h: a,
24848
25968
  adj: o
24849
25969
  }, d.adj, d.gd), p = !1;
24850
25970
  for (let t of d.paths) {
24851
- e.beginPath(), Ze(e, t, f, n, r, i, a);
25971
+ e.beginPath(), Dn(e, t, f, n, r, i, a);
24852
25972
  let o = t.fill;
24853
25973
  if (o !== "none" && s != null) {
24854
25974
  e.save(), e.fillStyle = s, e.fill();
24855
- let t = at(o);
25975
+ let t = In(o);
24856
25976
  t && (e.fillStyle = t, e.fill()), e.restore(), p ||= (l(), !0);
24857
25977
  }
24858
25978
  t.stroke && c && c();
24859
25979
  }
24860
25980
  return !0;
24861
25981
  }
24862
- function it(e, t, n, r, i, a) {
24863
- let o = Q[e.toLowerCase()];
25982
+ function Fn(e, t, n, r, i, a) {
25983
+ let o = On[e.toLowerCase()];
24864
25984
  if (!o || o.paths.length === 0) return null;
24865
- let s = o.paths[0], c = Ye({
25985
+ let s = o.paths[0], c = Tn({
24866
25986
  w: r,
24867
25987
  h: i,
24868
25988
  adj: a
@@ -24896,7 +26016,7 @@ function it(e, t, n, r, i, a) {
24896
26016
  }
24897
26017
  };
24898
26018
  }
24899
- function at(e) {
26019
+ function In(e) {
24900
26020
  switch (e) {
24901
26021
  case "lighten": return "rgba(255,255,255,0.30)";
24902
26022
  case "lightenLess": return "rgba(255,255,255,0.15)";
@@ -24907,10 +26027,10 @@ function at(e) {
24907
26027
  }
24908
26028
  //#endregion
24909
26029
  //#region packages/core/src/shape/effects.ts
24910
- function ot(e, t) {
26030
+ function Ln(e, t) {
24911
26031
  return e * t;
24912
26032
  }
24913
- function st(e, t) {
26033
+ function Rn(e, t) {
24914
26034
  let n = Math.max(1, Math.ceil(e)), r = Math.max(1, Math.ceil(t));
24915
26035
  if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(n, r);
24916
26036
  if (typeof document < "u") {
@@ -24919,60 +26039,60 @@ function st(e, t) {
24919
26039
  }
24920
26040
  return null;
24921
26041
  }
24922
- function ct(e) {
26042
+ function zn(e) {
24923
26043
  return e.getContext("2d") ?? null;
24924
26044
  }
24925
- function lt(e, t, n, r, i, a, o) {
24926
- let s = st(a, o);
26045
+ function Bn(e, t, n, r, i, a, o) {
26046
+ let s = Rn(a, o);
24927
26047
  if (!s) return;
24928
- let c = ct(s);
26048
+ let c = zn(s);
24929
26049
  if (!c) return;
24930
- let l = ot(r.blur, i), u = ot(r.dist, i), d = r.dir * Math.PI / 180, f = Math.cos(d) * u, p = Math.sin(d) * u;
24931
- c.save(), c.fillStyle = A(r.color, r.alpha), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-out", c.filter = l > 0 ? `blur(${l}px)` : "none", c.translate(f, p), c.fillStyle = "#000", t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in", c.filter = "none", c.fillStyle = "#000", t(c), c.restore(), e.save(), e.drawImage(s, 0, 0), e.restore();
26050
+ let l = Ln(r.blur, i), u = Ln(r.dist, i), d = r.dir * Math.PI / 180, f = Math.cos(d) * u, p = Math.sin(d) * u;
26051
+ c.save(), c.fillStyle = U(r.color, r.alpha), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-out", c.filter = l > 0 ? `blur(${l}px)` : "none", c.translate(f, p), c.fillStyle = "#000", t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in", c.filter = "none", c.fillStyle = "#000", t(c), c.restore(), e.save(), e.drawImage(s, 0, 0), e.restore();
24932
26052
  }
24933
- function ut(e, t, n, r, i, a, o, s) {
24934
- let c = ot(r.radius, i);
26053
+ function Vn(e, t, n, r, i, a, o, s) {
26054
+ let c = Ln(r.radius, i);
24935
26055
  if (c <= 0) {
24936
26056
  t(e);
24937
26057
  return;
24938
26058
  }
24939
- let l = st(a, o);
26059
+ let l = Rn(a, o);
24940
26060
  if (!l) {
24941
26061
  t(e);
24942
26062
  return;
24943
26063
  }
24944
- let u = ct(l);
26064
+ let u = zn(l);
24945
26065
  if (!u) {
24946
26066
  t(e);
24947
26067
  return;
24948
26068
  }
24949
26069
  let d = s ?? t;
24950
26070
  t(u);
24951
- let f = st(a, o), p = st(a, o), m = f ? ct(f) : null, h = p ? ct(p) : null;
26071
+ let f = Rn(a, o), p = Rn(a, o), m = f ? zn(f) : null, h = p ? zn(p) : null;
24952
26072
  if (f && m && p && h) {
24953
26073
  m.fillStyle = "#000", d(m), h.drawImage(l, n.x, n.y, n.w, n.h, n.x - c, n.y - c, n.w + c * 2, n.h + c * 2), h.drawImage(l, 0, 0), h.globalCompositeOperation = "destination-in", h.filter = `blur(${c / 3}px)`, h.drawImage(f, 0, 0), h.filter = "none", h.globalCompositeOperation = "source-over", e.save(), e.drawImage(p, 0, 0), e.restore();
24954
26074
  return;
24955
26075
  }
24956
26076
  e.save(), e.drawImage(l, 0, 0), e.restore();
24957
26077
  }
24958
- function dt(e, t, n, r, i, a, o) {
24959
- let s = st(a, o);
26078
+ function Hn(e, t, n, r, i, a, o) {
26079
+ let s = Rn(a, o);
24960
26080
  if (!s) return;
24961
- let c = ct(s);
26081
+ let c = zn(s);
24962
26082
  if (!c) return;
24963
- let l = ot(r.blur, i);
26083
+ let l = Ln(r.blur, i);
24964
26084
  c.save(), l > 0 && (c.filter = `blur(${l}px)`), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in";
24965
- let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p = ft(r.stPos), m = ft(r.endPos);
26085
+ let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p = Un(r.stPos), m = Un(r.endPos);
24966
26086
  f.addColorStop(0, `rgba(0,0,0,${r.stA})`), p > 0 && f.addColorStop(p, `rgba(0,0,0,${r.stA})`), m < 1 && m > p && f.addColorStop(m, `rgba(0,0,0,${r.endA})`), f.addColorStop(1, `rgba(0,0,0,${r.endA})`), c.fillStyle = f, c.fillRect(0, 0, a, o), c.restore();
24967
- let h = ot(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
26087
+ let h = Ln(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
24968
26088
  e.save(), e.translate(n.x + _, d + v), e.scale(r.sx, r.sy), e.translate(-n.x, -d), e.drawImage(s, 0, 0), e.restore();
24969
26089
  }
24970
- function ft(e) {
26090
+ function Un(e) {
24971
26091
  return e < 0 ? 0 : e > 1 ? 1 : e;
24972
26092
  }
24973
26093
  //#endregion
24974
26094
  //#region packages/core/src/shape/scene3d-camera.ts
24975
- var pt = 26, mt = {
26095
+ var Wn = 26, Gn = {
24976
26096
  orthographicFront: {
24977
26097
  kind: "orthographic",
24978
26098
  baseLat: 0,
@@ -24985,52 +26105,52 @@ var pt = 26, mt = {
24985
26105
  baseLat: 0,
24986
26106
  baseLon: 0,
24987
26107
  baseRev: 0,
24988
- fovDeg: pt
26108
+ fovDeg: Wn
24989
26109
  },
24990
26110
  perspectiveRelaxed: {
24991
26111
  kind: "perspective",
24992
26112
  baseLat: 0,
24993
26113
  baseLon: 0,
24994
26114
  baseRev: 0,
24995
- fovDeg: pt
26115
+ fovDeg: Wn
24996
26116
  },
24997
26117
  perspectiveRelaxedModerately: {
24998
26118
  kind: "perspective",
24999
26119
  baseLat: 0,
25000
26120
  baseLon: 0,
25001
26121
  baseRev: 0,
25002
- fovDeg: pt
26122
+ fovDeg: Wn
25003
26123
  },
25004
26124
  perspectiveAbove: {
25005
26125
  kind: "perspective",
25006
26126
  baseLat: -20,
25007
26127
  baseLon: 0,
25008
26128
  baseRev: 0,
25009
- fovDeg: pt
26129
+ fovDeg: Wn
25010
26130
  },
25011
26131
  perspectiveBelow: {
25012
26132
  kind: "perspective",
25013
26133
  baseLat: 20,
25014
26134
  baseLon: 0,
25015
26135
  baseRev: 0,
25016
- fovDeg: pt
26136
+ fovDeg: Wn
25017
26137
  },
25018
26138
  perspectiveLeft: {
25019
26139
  kind: "perspective",
25020
26140
  baseLat: 0,
25021
26141
  baseLon: -20,
25022
26142
  baseRev: 0,
25023
- fovDeg: pt
26143
+ fovDeg: Wn
25024
26144
  },
25025
26145
  perspectiveRight: {
25026
26146
  kind: "perspective",
25027
26147
  baseLat: 0,
25028
26148
  baseLon: 20,
25029
26149
  baseRev: 0,
25030
- fovDeg: pt
26150
+ fovDeg: Wn
25031
26151
  }
25032
26152
  };
25033
- function ht(e, t) {
26153
+ function Kn(e, t) {
25034
26154
  let n = Array(9).fill(0);
25035
26155
  for (let r = 0; r < 3; r++) for (let i = 0; i < 3; i++) {
25036
26156
  let a = 0;
@@ -25039,7 +26159,7 @@ function ht(e, t) {
25039
26159
  }
25040
26160
  return n;
25041
26161
  }
25042
- function gt(e) {
26162
+ function qn(e) {
25043
26163
  let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
25044
26164
  return [
25045
26165
  1,
@@ -25053,7 +26173,7 @@ function gt(e) {
25053
26173
  n
25054
26174
  ];
25055
26175
  }
25056
- function _t(e) {
26176
+ function Jn(e) {
25057
26177
  let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
25058
26178
  return [
25059
26179
  n,
@@ -25067,7 +26187,7 @@ function _t(e) {
25067
26187
  n
25068
26188
  ];
25069
26189
  }
25070
- function vt(e) {
26190
+ function Yn(e) {
25071
26191
  let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
25072
26192
  return [
25073
26193
  n,
@@ -25081,22 +26201,22 @@ function vt(e) {
25081
26201
  1
25082
26202
  ];
25083
26203
  }
25084
- function yt(e, t, n, r) {
26204
+ function Xn(e, t, n, r) {
25085
26205
  return [
25086
26206
  e[0] * t + e[1] * n + e[2] * r,
25087
26207
  e[3] * t + e[4] * n + e[5] * r,
25088
26208
  e[6] * t + e[7] * n + e[8] * r
25089
26209
  ];
25090
26210
  }
25091
- function bt(e, t) {
26211
+ function Zn(e, t) {
25092
26212
  let n = t ? t.lat : e.baseLat, r = t ? t.lon : e.baseLon;
25093
- return ht(vt(-(t ? t.rev : e.baseRev)), ht(gt(-n), _t(-r)));
26213
+ return Kn(Yn(-(t ? t.rev : e.baseRev)), Kn(qn(-n), Jn(-r)));
25094
26214
  }
25095
- function xt(e) {
25096
- return mt[e] ?? mt.orthographicFront;
26215
+ function Qn(e) {
26216
+ return Gn[e] ?? Gn.orthographicFront;
25097
26217
  }
25098
- function St(e, t, n) {
25099
- let r = xt(e.prst), i = bt(r, e.rot);
26218
+ function $n(e, t, n) {
26219
+ let r = Qn(e.prst), i = Zn(r, e.rot);
25100
26220
  if (t <= 0 || n <= 0) return {
25101
26221
  corners: [
25102
26222
  {
@@ -25128,11 +26248,11 @@ function St(e, t, n) {
25128
26248
  if (r.kind === "perspective") {
25129
26249
  let t = e.fov ?? r.fovDeg, n = Math.max(1, Math.min(179, t)) * Math.PI / 180, a = l / Math.tan(n / 2);
25130
26250
  u = s.map(([e, t]) => {
25131
- let [n, r, o] = yt(i, e, t, 0), s = a - o, c = a / (Math.abs(s) < 1e-6 ? 1e-6 * Math.sign(s || 1) : s);
26251
+ let [n, r, o] = Xn(i, e, t, 0), s = a - o, c = a / (Math.abs(s) < 1e-6 ? 1e-6 * Math.sign(s || 1) : s);
25132
26252
  return [n * c, r * c];
25133
26253
  });
25134
26254
  } else u = s.map(([e, t]) => {
25135
- let [n, r] = yt(i, e, t, 0);
26255
+ let [n, r] = Xn(i, e, t, 0);
25136
26256
  return [n, r];
25137
26257
  });
25138
26258
  u = u.map(([e, t]) => [e * c, t * c]);
@@ -25157,18 +26277,18 @@ function St(e, t, n) {
25157
26277
  isIdentity: E
25158
26278
  };
25159
26279
  }
25160
- function Ct(e) {
25161
- let { isIdentity: t } = St(e, 1e3, 1e3);
26280
+ function er(e) {
26281
+ let { isIdentity: t } = $n(e, 1e3, 1e3);
25162
26282
  return !t;
25163
26283
  }
25164
- function wt(e, t, n, r) {
25165
- let i = xt(e.prst), a = bt(i, e.rot);
26284
+ function tr(e, t, n, r) {
26285
+ let i = Qn(e.prst), a = Zn(i, e.rot);
25166
26286
  if (t <= 0 || n <= 0 || r === 0) return {
25167
26287
  x: 0,
25168
26288
  y: 0
25169
26289
  };
25170
26290
  let o = t / 2, s = n / 2, c = Math.max(o, s), l = e.zoom ?? 1, u = (t) => {
25171
- let [n, r, o] = yt(a, 0, 0, t);
26291
+ let [n, r, o] = Xn(a, 0, 0, t);
25172
26292
  if (i.kind === "perspective") {
25173
26293
  let t = e.fov ?? i.fovDeg, a = Math.max(1, Math.min(179, t)) * Math.PI / 180, s = c / Math.tan(a / 2), u = s - o, d = s / (Math.abs(u) < 1e-6 ? 1e-6 * Math.sign(u || 1) : u);
25174
26294
  return [n * d * l, r * d * l];
@@ -25182,7 +26302,7 @@ function wt(e, t, n, r) {
25182
26302
  }
25183
26303
  //#endregion
25184
26304
  //#region packages/core/src/shape/scene3d-draw.ts
25185
- function Tt(e, t, n, r) {
26305
+ function nr(e, t, n, r) {
25186
26306
  let i = e.x, a = e.y, o = t.x, s = t.y, c = n.x, l = n.y, u = r.x, d = r.y, f = o - c, p = u - c, m = i - o + c - u, h = s - l, g = d - l, _ = a - s + l - d, v, y;
25187
26307
  if (Math.abs(m) < 1e-12 && Math.abs(_) < 1e-12) v = 0, y = 0;
25188
26308
  else {
@@ -25202,15 +26322,15 @@ function Tt(e, t, n, r) {
25202
26322
  1
25203
26323
  ];
25204
26324
  }
25205
- function Et(e, t, n) {
26325
+ function rr(e, t, n) {
25206
26326
  let r = e[6] * t + e[7] * n + e[8];
25207
26327
  return {
25208
26328
  x: (e[0] * t + e[1] * n + e[2]) / r,
25209
26329
  y: (e[3] * t + e[4] * n + e[5]) / r
25210
26330
  };
25211
26331
  }
25212
- var Dt = 1;
25213
- function Ot(e, t) {
26332
+ var ir = 1;
26333
+ function ar(e, t) {
25214
26334
  let [n, r, i, a, o, s] = e, [c, l, u, d, f, p] = t;
25215
26335
  return [
25216
26336
  n * c + i * l,
@@ -25221,13 +26341,13 @@ function Ot(e, t) {
25221
26341
  r * f + a * p + s
25222
26342
  ];
25223
26343
  }
25224
- function kt(e, t, n, r, i, a, o, s, c, l, u, d, f) {
26344
+ function or(e, t, n, r, i, a, o, s, c, l, u, d, f) {
25225
26345
  let p = c - o, m = l - s;
25226
26346
  if (p <= 0 || m <= 0) return;
25227
- let h = (d.x - u.x) / p, g = (d.y - u.y) / p, _ = (f.x - u.x) / m, v = (f.y - u.y) / m, y = (Math.hypot(d.x - u.x, d.y - u.y) || 1) * a, b = (Math.hypot(f.x - u.x, f.y - u.y) || 1) * a, x = Dt * p / y, S = Dt * m / b, C = Math.max(0, o - x), w = Math.max(0, s - S), T = Math.min(n, c + x), E = Math.min(r, l + S), D = T - C, O = E - w;
26347
+ let h = (d.x - u.x) / p, g = (d.y - u.y) / p, _ = (f.x - u.x) / m, v = (f.y - u.y) / m, y = (Math.hypot(d.x - u.x, d.y - u.y) || 1) * a, b = (Math.hypot(f.x - u.x, f.y - u.y) || 1) * a, x = ir * p / y, S = ir * m / b, C = Math.max(0, o - x), w = Math.max(0, s - S), T = Math.min(n, c + x), E = Math.min(r, l + S), D = T - C, O = E - w;
25228
26348
  if (D <= 0 || O <= 0) return;
25229
26349
  e.save();
25230
- let [k, A, j, M, N, P] = Ot(i, [
26350
+ let [k, A, j, M, N, P] = ar(i, [
25231
26351
  h,
25232
26352
  g,
25233
26353
  _,
@@ -25237,22 +26357,22 @@ function kt(e, t, n, r, i, a, o, s, c, l, u, d, f) {
25237
26357
  ]);
25238
26358
  e.setTransform(k, A, j, M, N, P), e.drawImage(t, C, w, D, O, C, w, D, O), e.restore();
25239
26359
  }
25240
- function At(e, t, n, r, i, a, o, s, c, l, u, d, f) {
25241
- let p = Et(o, s, c), m = Et(o, l, c), h = Et(o, s, u), g = Et(o, l, u), _ = (s + l) / 2, v = (c + u) / 2, y = Et(o, _, v), b = {
26360
+ function sr(e, t, n, r, i, a, o, s, c, l, u, d, f) {
26361
+ let p = rr(o, s, c), m = rr(o, l, c), h = rr(o, s, u), g = rr(o, l, u), _ = (s + l) / 2, v = (c + u) / 2, y = rr(o, _, v), b = {
25242
26362
  x: (p.x + m.x + h.x + g.x) / 4,
25243
26363
  y: (p.y + m.y + h.y + g.y) / 4
25244
- }, x = Mt(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
26364
+ }, x = lr(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
25245
26365
  if (f <= 0 || S <= d) {
25246
- kt(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
26366
+ or(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
25247
26367
  return;
25248
26368
  }
25249
- l - s >= u - c ? (At(e, t, n, r, i, a, o, s, c, _, u, d, f - 1), At(e, t, n, r, i, a, o, _, c, l, u, d, f - 1)) : (At(e, t, n, r, i, a, o, s, c, l, v, d, f - 1), At(e, t, n, r, i, a, o, s, v, l, u, d, f - 1));
26369
+ l - s >= u - c ? (sr(e, t, n, r, i, a, o, s, c, _, u, d, f - 1), sr(e, t, n, r, i, a, o, _, c, l, u, d, f - 1)) : (sr(e, t, n, r, i, a, o, s, c, l, v, d, f - 1), sr(e, t, n, r, i, a, o, s, v, l, u, d, f - 1));
25250
26370
  }
25251
- function jt(e, t, n, r, i, a = .5) {
26371
+ function cr(e, t, n, r, i, a = .5) {
25252
26372
  if (n <= 0 || r <= 0) return;
25253
26373
  let [o, s, c, l] = i;
25254
26374
  if (Math.abs(o.x * s.y - s.x * o.y + s.x * c.y - c.x * s.y + c.x * l.y - l.x * c.y + l.x * o.y - o.x * l.y) / 2 < 1e-6) return;
25255
- let u = Tt(i[0], i[1], i[2], i[3]);
26375
+ let u = nr(i[0], i[1], i[2], i[3]);
25256
26376
  if (!u) return;
25257
26377
  let d = t.getTransform(), f = [
25258
26378
  d.a,
@@ -25261,14 +26381,14 @@ function jt(e, t, n, r, i, a = .5) {
25261
26381
  d.d,
25262
26382
  d.e,
25263
26383
  d.f
25264
- ], p = Mt(f);
25265
- Lt(e, t, n, r, i, f, p, u, a, 14) || (Ft(), t.save(), t.beginPath(), t.moveTo(i[0].x, i[0].y), t.lineTo(i[1].x, i[1].y), t.lineTo(i[2].x, i[2].y), t.lineTo(i[3].x, i[3].y), t.closePath(), t.clip(), At(t, e, n, r, f, p, u, 0, 0, 1, 1, a, 14), t.restore());
26384
+ ], p = lr(f);
26385
+ mr(e, t, n, r, i, f, p, u, a, 14) || (fr(), t.save(), t.beginPath(), t.moveTo(i[0].x, i[0].y), t.lineTo(i[1].x, i[1].y), t.lineTo(i[2].x, i[2].y), t.lineTo(i[3].x, i[3].y), t.closePath(), t.clip(), sr(t, e, n, r, f, p, u, 0, 0, 1, 1, a, 14), t.restore());
25266
26386
  }
25267
- function Mt(e) {
26387
+ function lr(e) {
25268
26388
  return Math.sqrt(Math.abs(e[0] * e[3] - e[1] * e[2])) || 1;
25269
26389
  }
25270
- function Nt(e, t, n) {
25271
- let r = Tt(e[0], e[1], e[2], e[3]);
26390
+ function ur(e, t, n) {
26391
+ let r = nr(e[0], e[1], e[2], e[3]);
25272
26392
  if (!r) return null;
25273
26393
  let i = [
25274
26394
  [-t, -n],
@@ -25278,16 +26398,16 @@ function Nt(e, t, n) {
25278
26398
  ], a = [];
25279
26399
  for (let [e, t] of i) {
25280
26400
  if (!(r[6] * e + r[7] * t + r[8] > 1e-9)) return null;
25281
- a.push(Et(r, e, t));
26401
+ a.push(rr(r, e, t));
25282
26402
  }
25283
26403
  return a;
25284
26404
  }
25285
- var Pt = !1;
25286
- function Ft() {
25287
- Pt || (Pt = !0, typeof console < "u" && typeof console.warn == "function" && console.warn("[ooxml] scene3d: no offscreen canvas available — using the direct warp fallback (per-cell bleed only, no supersample). Textured-source seams may be faintly visible; the silhouette and geometry are unaffected."));
26405
+ var dr = !1;
26406
+ function fr() {
26407
+ dr || (dr = !0, typeof console < "u" && typeof console.warn == "function" && console.warn("[ooxml] scene3d: no offscreen canvas available — using the direct warp fallback (per-cell bleed only, no supersample). Textured-source seams may be faintly visible; the silhouette and geometry are unaffected."));
25288
26408
  }
25289
- var It = 2;
25290
- function Lt(e, t, n, r, i, a, o, s, c, l) {
26409
+ var pr = 2;
26410
+ function mr(e, t, n, r, i, a, o, s, c, l) {
25291
26411
  let u = i.map((e) => ({
25292
26412
  x: a[0] * e.x + a[2] * e.y + a[4],
25293
26413
  y: a[1] * e.x + a[3] * e.y + a[5]
@@ -25296,11 +26416,11 @@ function Lt(e, t, n, r, i, a, o, s, c, l) {
25296
26416
  d = Math.floor(d) - 1, f = Math.floor(f) - 1, p = Math.ceil(p) + 1, m = Math.ceil(m) + 1;
25297
26417
  let h = p - d, g = m - f;
25298
26418
  if (h <= 0 || g <= 0) return !1;
25299
- let _ = Math.max(1, Math.ceil(h * It)), v = Math.max(1, Math.ceil(g * It)), y = st(_, v);
26419
+ let _ = Math.max(1, Math.ceil(h * pr)), v = Math.max(1, Math.ceil(g * pr)), y = Rn(_, v);
25300
26420
  if (!y || y.width !== _ || y.height !== v) return !1;
25301
26421
  let b = y.getContext("2d") ?? null;
25302
26422
  if (!b) return !1;
25303
- let x = It, S = [
26423
+ let x = pr, S = [
25304
26424
  a[0] * x,
25305
26425
  a[1] * x,
25306
26426
  a[2] * x,
@@ -25308,18 +26428,18 @@ function Lt(e, t, n, r, i, a, o, s, c, l) {
25308
26428
  (a[4] - d) * x,
25309
26429
  (a[5] - f) * x
25310
26430
  ];
25311
- b.save(), b.setTransform(S[0], S[1], S[2], S[3], S[4], S[5]), b.beginPath(), b.moveTo(i[0].x, i[0].y), b.lineTo(i[1].x, i[1].y), b.lineTo(i[2].x, i[2].y), b.lineTo(i[3].x, i[3].y), b.closePath(), b.clip(), At(b, e, n, r, S, o, s, 0, 0, 1, 1, c * x, l), b.restore(), t.save(), t.setTransform(1, 0, 0, 1, 0, 0);
26431
+ b.save(), b.setTransform(S[0], S[1], S[2], S[3], S[4], S[5]), b.beginPath(), b.moveTo(i[0].x, i[0].y), b.lineTo(i[1].x, i[1].y), b.lineTo(i[2].x, i[2].y), b.lineTo(i[3].x, i[3].y), b.closePath(), b.clip(), sr(b, e, n, r, S, o, s, 0, 0, 1, 1, c * x, l), b.restore(), t.save(), t.setTransform(1, 0, 0, 1, 0, 0);
25312
26432
  let C = t.imageSmoothingEnabled, w = t.imageSmoothingQuality;
25313
26433
  return t.imageSmoothingEnabled = !0, t.imageSmoothingQuality = "high", t.drawImage(y, 0, 0, h * x, g * x, d, f, h, g), t.imageSmoothingEnabled = C, t.imageSmoothingQuality = w, t.restore(), !0;
25314
26434
  }
25315
26435
  //#endregion
25316
26436
  //#region packages/core/src/shape/bevel-shading.ts
25317
- function Rt(e, t) {
26437
+ function hr(e, t) {
25318
26438
  if (t <= 0) return () => 1;
25319
26439
  let n = (e) => Math.max(0, Math.min(1, e / t));
25320
26440
  switch (e) {
25321
26441
  case "hardEdge": {
25322
- let e = Kt;
26442
+ let e = Cr;
25323
26443
  return (t) => {
25324
26444
  let r = Math.min(1, n(t) / e);
25325
26445
  return r * r * (3 - 2 * r);
@@ -25339,7 +26459,7 @@ function Rt(e, t) {
25339
26459
  };
25340
26460
  }
25341
26461
  }
25342
- function zt(e) {
26462
+ function gr(e) {
25343
26463
  let t = e.length, n = new Float64Array(t);
25344
26464
  if (t === 0) return n;
25345
26465
  let r = new Int32Array(t), i = new Float64Array(t + 1), a = 0;
@@ -25357,7 +26477,7 @@ function zt(e) {
25357
26477
  }
25358
26478
  return n;
25359
26479
  }
25360
- function Bt(e, t = 3) {
26480
+ function _r(e, t = 3) {
25361
26481
  if (e <= 0) return Array(t).fill(1);
25362
26482
  let n = Math.sqrt(12 * e * e / t + 1), r = Math.floor(n);
25363
26483
  r % 2 == 0 && r--;
@@ -25365,7 +26485,7 @@ function Bt(e, t = 3) {
25365
26485
  for (let e = 0; e < t; e++) s.push(e < o ? r : i);
25366
26486
  return s;
25367
26487
  }
25368
- function Vt(e, t, n, r, i, a) {
26488
+ function vr(e, t, n, r, i, a) {
25369
26489
  let o = 1 / (2 * i + 1);
25370
26490
  if (a) for (let a = 0; a < r; a++) {
25371
26491
  let r = a * n, s = 0;
@@ -25386,29 +26506,29 @@ function Vt(e, t, n, r, i, a) {
25386
26506
  }
25387
26507
  }
25388
26508
  }
25389
- function Ht(e, t, n, r) {
26509
+ function yr(e, t, n, r) {
25390
26510
  let i = Float64Array.from(e);
25391
26511
  if (r <= 0 || t <= 0 || n <= 0) return i;
25392
26512
  let a = new Float64Array(t * n);
25393
- for (let e of Bt(r, 3)) {
26513
+ for (let e of _r(r, 3)) {
25394
26514
  let r = Math.max(1, (e - 1) / 2);
25395
- Vt(i, a, t, n, r, !0), Vt(a, i, t, n, r, !1);
26515
+ vr(i, a, t, n, r, !0), vr(a, i, t, n, r, !1);
25396
26516
  }
25397
26517
  return i;
25398
26518
  }
25399
- function Ut(e, t, n, r = 128) {
26519
+ function br(e, t, n, r = 128) {
25400
26520
  let i = new Float64Array(t * n);
25401
26521
  for (let a = 0; a < t * n; a++) i[a] = (e[a] ?? 0) >= r ? 0x56bc75e2d63100000 : 0;
25402
26522
  let a = new Float64Array(n);
25403
26523
  for (let e = 0; e < t; e++) {
25404
26524
  for (let r = 0; r < n; r++) a[r] = i[r * t + e];
25405
- let r = zt(a);
26525
+ let r = gr(a);
25406
26526
  for (let a = 0; a < n; a++) i[a * t + e] = r[a];
25407
26527
  }
25408
26528
  let o = new Float64Array(t);
25409
26529
  for (let e = 0; e < n; e++) {
25410
26530
  for (let n = 0; n < t; n++) o[n] = i[e * t + n];
25411
- let n = zt(o);
26531
+ let n = gr(o);
25412
26532
  for (let r = 0; r < t; r++) i[e * t + r] = n[r];
25413
26533
  }
25414
26534
  for (let e = 0; e < n; e++) for (let r = 0; r < t; r++) {
@@ -25420,15 +26540,15 @@ function Ut(e, t, n, r = 128) {
25420
26540
  for (let e = 0; e < t * n; e++) i[e] = Math.sqrt(i[e]);
25421
26541
  return i;
25422
26542
  }
25423
- var Wt = .25, Gt = .35, Kt = .5;
25424
- function qt(e, t, n, r, i, a) {
26543
+ var xr = .25, Sr = .35, Cr = .5;
26544
+ function wr(e, t, n, r, i, a) {
25425
26545
  let o = new Float32Array(t * n * 3), s = new Uint8Array(t * n), c = new Float32Array(t * n);
25426
26546
  if (t <= 0 || n <= 0) return {
25427
26547
  normals: o,
25428
26548
  bandMask: s,
25429
26549
  bandWeight: c
25430
26550
  };
25431
- let l = Ut(e, t, n), u = Rt(i, r), d = (n, r) => (e[r * t + n] ?? 0) >= 128, f = (r > 0 ? a / r : 0) * r, p = Ht(l, t, n, Math.max(1, r * Wt)), m = (e) => {
26551
+ let l = br(e, t, n), u = hr(i, r), d = (n, r) => (e[r * t + n] ?? 0) >= 128, f = (r > 0 ? a / r : 0) * r, p = yr(l, t, n, Math.max(1, r * xr)), m = (e) => {
25432
26552
  let t = u(Math.max(0, e - .5));
25433
26553
  return u(e + .5) - t;
25434
26554
  };
@@ -25443,9 +26563,9 @@ function qt(e, t, n, r, i, a) {
25443
26563
  o[a * 3 + 2] = 1;
25444
26564
  continue;
25445
26565
  }
25446
- let g = u / r, _ = 1 - Gt, v = 1;
26566
+ let g = u / r, _ = 1 - Sr, v = 1;
25447
26567
  if (g > _) {
25448
- let e = Math.min(1, (g - _) / Gt);
26568
+ let e = Math.min(1, (g - _) / Sr);
25449
26569
  v = 1 - e * e * (3 - 2 * e);
25450
26570
  }
25451
26571
  c[a] = v;
@@ -25460,7 +26580,7 @@ function qt(e, t, n, r, i, a) {
25460
26580
  bandWeight: c
25461
26581
  };
25462
26582
  }
25463
- var Jt = 35 * Math.PI / 180, Yt = 12 * Math.PI / 180, Xt = {
26583
+ var Tr = 35 * Math.PI / 180, Er = 12 * Math.PI / 180, Dr = {
25464
26584
  t: {
25465
26585
  x: 0,
25466
26586
  y: -1
@@ -25494,22 +26614,22 @@ var Jt = 35 * Math.PI / 180, Yt = 12 * Math.PI / 180, Xt = {
25494
26614
  y: 1
25495
26615
  }
25496
26616
  };
25497
- function Zt(e, t, n) {
26617
+ function Or(e, t, n) {
25498
26618
  let r = n * Math.PI / 180, i = Math.cos(r), a = Math.sin(r);
25499
26619
  return {
25500
26620
  x: e * i - t * a,
25501
26621
  y: e * a + t * i
25502
26622
  };
25503
26623
  }
25504
- function Qt(e, t, n) {
25505
- let r = Xt[t] ?? Xt.t;
25506
- return n && n.rev && (r = Zt(r.x, r.y, n.rev)), en(r.x, r.y, Jt);
26624
+ function kr(e, t, n) {
26625
+ let r = Dr[t] ?? Dr.t;
26626
+ return n && n.rev && (r = Or(r.x, r.y, n.rev)), jr(r.x, r.y, Tr);
25507
26627
  }
25508
- function $t(e) {
26628
+ function Ar(e) {
25509
26629
  let t = Math.hypot(e.x, e.y) || 1;
25510
- return en(-e.x / t, -e.y / t, Yt);
26630
+ return jr(-e.x / t, -e.y / t, Er);
25511
26631
  }
25512
- function en(e, t, n) {
26632
+ function jr(e, t, n) {
25513
26633
  let r = Math.hypot(e, t) || 1, i = Math.cos(n), a = Math.sin(n), o = e / r * i, s = t / r * i, c = a, l = Math.hypot(o, s, c) || 1;
25514
26634
  return {
25515
26635
  x: o / l,
@@ -25517,7 +26637,7 @@ function en(e, t, n) {
25517
26637
  z: c / l
25518
26638
  };
25519
26639
  }
25520
- var tn = 2, nn = {
26640
+ var Mr = 2, Nr = {
25521
26641
  matte: {
25522
26642
  ambient: .62,
25523
26643
  diffuse: .45,
@@ -25530,8 +26650,8 @@ var tn = 2, nn = {
25530
26650
  specular: .35,
25531
26651
  shininess: 22
25532
26652
  }
25533
- }, rn = .8;
25534
- function an(e) {
26653
+ }, Pr = .8;
26654
+ function Fr(e) {
25535
26655
  switch (e) {
25536
26656
  case "plastic":
25537
26657
  case "metal":
@@ -25542,8 +26662,8 @@ function an(e) {
25542
26662
  default: return "matte";
25543
26663
  }
25544
26664
  }
25545
- function on(e, t, n = !0) {
25546
- let r = nn[e], i = {
26665
+ function Ir(e, t, n = !0) {
26666
+ let r = Nr[e], i = {
25547
26667
  light: t,
25548
26668
  material: e,
25549
26669
  ambient: r.ambient,
@@ -25551,9 +26671,9 @@ function on(e, t, n = !0) {
25551
26671
  specular: r.specular,
25552
26672
  shininess: r.shininess
25553
26673
  };
25554
- return n && (i.fillLight = $t(t), i.fillDiffuse = i.diffuse * rn), i;
26674
+ return n && (i.fillLight = Ar(t), i.fillDiffuse = i.diffuse * Pr), i;
25555
26675
  }
25556
- function sn(e, t) {
26676
+ function Lr(e, t) {
25557
26677
  let n = e.x * t.light.x + e.y * t.light.y + e.z * t.light.z, r = t.diffuse * Math.max(0, n), i = 0;
25558
26678
  if (t.fillLight && t.fillDiffuse) {
25559
26679
  let n = e.x * t.fillLight.x + e.y * t.fillLight.y + e.z * t.fillLight.z;
@@ -25566,14 +26686,14 @@ function sn(e, t) {
25566
26686
  }
25567
26687
  return Math.max(0, t.ambient + r + i + a);
25568
26688
  }
25569
- function cn(e, t) {
26689
+ function Rr(e, t) {
25570
26690
  let n = e.canvas.width, r = e.canvas.height;
25571
26691
  if (n <= 0 || r <= 0) return;
25572
26692
  let i = t.widthPx;
25573
26693
  if (i < .75) return;
25574
26694
  let a = e.getImageData(0, 0, n, r), o = a.data, s = new Uint8ClampedArray(n * r);
25575
26695
  for (let e = 0; e < n * r; e++) s[e] = o[e * 4 + 3];
25576
- let { bandMask: c, bandWeight: l, normals: u } = qt(s, n, r, i, t.prst, t.heightPx), d = on(t.material, t.light), f = sn({
26696
+ let { bandMask: c, bandWeight: l, normals: u } = wr(s, n, r, i, t.prst, t.heightPx), d = Ir(t.material, t.light), f = Lr({
25577
26697
  x: 0,
25578
26698
  y: 0,
25579
26699
  z: 1
@@ -25584,13 +26704,13 @@ function cn(e, t) {
25584
26704
  if (n <= 0) continue;
25585
26705
  let r = u[e * 3], i = u[e * 3 + 1], a = u[e * 3 + 2];
25586
26706
  t.bottom && (r = -r, i = -i);
25587
- let s = 1 + (sn({
26707
+ let s = 1 + (Lr({
25588
26708
  x: r,
25589
26709
  y: i,
25590
26710
  z: a
25591
26711
  }, d) / f - 1) * n, p = e * 4;
25592
26712
  if (s >= 1) {
25593
- let e = Math.min(1, (s - 1) * tn);
26713
+ let e = Math.min(1, (s - 1) * Mr);
25594
26714
  for (let t = 0; t < 3; t++) {
25595
26715
  let n = Math.min(255, o[p + t] * s);
25596
26716
  o[p + t] = n + (255 - n) * e;
@@ -25599,7 +26719,7 @@ function cn(e, t) {
25599
26719
  }
25600
26720
  e.putImageData(a, 0, 0);
25601
26721
  }
25602
- function ln(e, t) {
26722
+ function zr(e, t) {
25603
26723
  let n = e.canvas.width, r = e.canvas.height;
25604
26724
  if (n <= 0 || r <= 0) return;
25605
26725
  let i = t.offsetX, a = t.offsetY, o = Math.hypot(i, a);
@@ -25626,7 +26746,7 @@ function ln(e, t) {
25626
26746
  }
25627
26747
  //#endregion
25628
26748
  //#region packages/core/src/sparkline/renderer.ts
25629
- function un(e, t, n) {
26749
+ function Br(e, t, n) {
25630
26750
  let { values: r } = n;
25631
26751
  if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
25632
26752
  let i = n.colorSeries ?? "#5B9BD5", a = Math.min(2, t.w * .08), o = Math.max(2, t.h * .2), s = t.x + a, c = t.y + o, l = Math.max(1, t.w - a * 2), u = Math.max(1, t.h - o * 2), d = r.filter((e) => typeof e == "number");
@@ -25635,11 +26755,11 @@ function un(e, t, n) {
25635
26755
  m === h && (h = m + 1, --m);
25636
26756
  let g = h - m, _ = (e) => c + u - (e - m) / g * u;
25637
26757
  if (n.kind === "stem") {
25638
- pn(e, n, s, c, l, u);
26758
+ Ur(e, n, s, c, l, u);
25639
26759
  return;
25640
26760
  }
25641
26761
  if (n.kind === "column") {
25642
- fn(e, n, r, s, c, l, u, m, h);
26762
+ Hr(e, n, r, s, c, l, u, m, h);
25643
26763
  return;
25644
26764
  }
25645
26765
  if (n.displayXAxis && m < 0 && h > 0) {
@@ -25648,7 +26768,7 @@ function un(e, t, n) {
25648
26768
  e.moveTo(s, t), e.lineTo(s + l, t), e.stroke(), e.restore();
25649
26769
  }
25650
26770
  let v = r.length, y = (e) => v === 1 ? s + l / 2 : s + e / (v - 1) * l;
25651
- e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * R, e.beginPath();
26771
+ e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * N, e.beginPath();
25652
26772
  let b = !1, x = n.displayEmptyCellsAs ?? "gap";
25653
26773
  for (let t = 0; t < v; t++) {
25654
26774
  let n = r[t];
@@ -25663,7 +26783,7 @@ function un(e, t, n) {
25663
26783
  b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
25664
26784
  }
25665
26785
  e.stroke(), e.restore();
25666
- let S = Math.max(1, Math.min(2.5, u * .12)), C = dn(r, n);
26786
+ let S = Math.max(1, Math.min(2.5, u * .12)), C = Vr(r, n);
25667
26787
  for (let t = 0; t < v; t++) {
25668
26788
  let a = r[t];
25669
26789
  if (a == null) continue;
@@ -25671,7 +26791,7 @@ function un(e, t, n) {
25671
26791
  (n.markers || o != null) && (e.save(), e.fillStyle = o ?? n.colorMarkers ?? i, e.beginPath(), e.arc(y(t), _(a), S, 0, Math.PI * 2), e.fill(), e.restore());
25672
26792
  }
25673
26793
  }
25674
- function dn(e, t) {
26794
+ function Vr(e, t) {
25675
26795
  let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
25676
26796
  for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
25677
26797
  a = e;
@@ -25686,10 +26806,10 @@ function dn(e, t) {
25686
26806
  if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
25687
26807
  return n;
25688
26808
  }
25689
- function fn(e, t, n, r, i, a, o, s, c) {
26809
+ function Hr(e, t, n, r, i, a, o, s, c) {
25690
26810
  let l = n.length;
25691
26811
  if (l === 0) return;
25692
- let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = dn(n, t);
26812
+ let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = Vr(n, t);
25693
26813
  for (let i = 0; i < l; i++) {
25694
26814
  let a = n[i];
25695
26815
  if (a == null) continue;
@@ -25697,10 +26817,10 @@ function fn(e, t, n, r, i, a, o, s, c) {
25697
26817
  e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
25698
26818
  }
25699
26819
  }
25700
- function pn(e, t, n, r, i, a) {
26820
+ function Ur(e, t, n, r, i, a) {
25701
26821
  let o = t.values.length;
25702
26822
  if (o === 0) return;
25703
- let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = dn(t.values, t);
26823
+ let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = Vr(t.values, t);
25704
26824
  for (let r = 0; r < o; r++) {
25705
26825
  let i = t.values[r];
25706
26826
  if (i == null || i === 0) continue;
@@ -25710,13 +26830,13 @@ function pn(e, t, n, r, i, a) {
25710
26830
  }
25711
26831
  //#endregion
25712
26832
  //#region packages/core/src/math/mathml.ts
25713
- var mn = {
26833
+ var Wr = {
25714
26834
  "&": "&amp;",
25715
26835
  "<": "&lt;",
25716
26836
  ">": "&gt;",
25717
26837
  "\"": "&quot;"
25718
- }, hn = (e) => e.replace(/[&<>"]/g, (e) => mn[e]);
25719
- function gn(e) {
26838
+ }, Gr = (e) => e.replace(/[&<>"]/g, (e) => Wr[e]);
26839
+ function Kr(e) {
25720
26840
  switch (e) {
25721
26841
  case "roman": return "normal";
25722
26842
  case "bold": return "bold";
@@ -25724,10 +26844,10 @@ function gn(e) {
25724
26844
  case "italic": return null;
25725
26845
  }
25726
26846
  }
25727
- var _n = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), vn = "+−±∓×÷·∗⋅∘∙*/", yn = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", bn = "([{⟨⌈⌊", xn = ")]}⟩⌉⌋", Sn = ",;";
25728
- function Cn(e, t) {
25729
- let n = gn(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
25730
- a &&= (i += `<mn${r}>${hn(a)}</mn>`, "");
26847
+ var qr = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), Jr = "+−±∓×÷·∗⋅∘∙*/", Yr = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", Xr = "([{⟨⌈⌊", Zr = ")]}⟩⌉⌋", Qr = ",;";
26848
+ function $r(e, t) {
26849
+ let n = Kr(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
26850
+ a &&= (i += `<mn${r}>${Gr(a)}</mn>`, "");
25731
26851
  };
25732
26852
  for (let t of e) {
25733
26853
  if (t === " ") {
@@ -25738,42 +26858,42 @@ function Cn(e, t) {
25738
26858
  a += t;
25739
26859
  continue;
25740
26860
  }
25741
- o(), vn.includes(t) || yn.includes(t) || Sn.includes(t) ? i += `<mo>${hn(t)}</mo>` : bn.includes(t) || xn.includes(t) ? i += `<mo fence="true" stretchy="false">${hn(t)}</mo>` : i += `<mi${r}>${hn(t)}</mi>`;
26861
+ o(), Jr.includes(t) || Yr.includes(t) || Qr.includes(t) ? i += `<mo>${Gr(t)}</mo>` : Xr.includes(t) || Zr.includes(t) ? i += `<mo fence="true" stretchy="false">${Gr(t)}</mo>` : i += `<mi${r}>${Gr(t)}</mi>`;
25742
26862
  }
25743
26863
  return o(), i;
25744
26864
  }
25745
- function wn(e) {
25746
- return e.map(Tn).join("");
26865
+ function ei(e) {
26866
+ return e.map(ti).join("");
25747
26867
  }
25748
26868
  function $(e) {
25749
- return `<mrow>${wn(e)}</mrow>`;
26869
+ return `<mrow>${ei(e)}</mrow>`;
25750
26870
  }
25751
- function Tn(e) {
26871
+ function ti(e) {
25752
26872
  switch (e.kind) {
25753
- case "run": return Cn(e.text, e.style);
26873
+ case "run": return $r(e.text, e.style);
25754
26874
  case "group": return $(e.items);
25755
26875
  case "fraction": return `<mfrac${e.bar === !1 ? " linethickness=\"0\"" : ""}>${$(e.num)}${$(e.den)}</mfrac>`;
25756
26876
  case "sup": return `<msup>${$(e.base)}${$(e.sup ?? [])}</msup>`;
25757
26877
  case "sub": return `<msub>${$(e.base)}${$(e.sub ?? [])}</msub>`;
25758
26878
  case "subSup": return `<msubsup>${$(e.base)}${$(e.sub ?? [])}${$(e.sup ?? [])}</msubsup>`;
25759
- case "nary": return Mn(e);
25760
- case "delimiter": return Nn(e);
25761
- case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${wn(e.radicand)}</msqrt>`;
25762
- case "limit": return kn(e);
25763
- case "array": return An(e);
26879
+ case "nary": return ci(e);
26880
+ case "delimiter": return li(e);
26881
+ case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${ei(e.radicand)}</msqrt>`;
26882
+ case "limit": return ai(e);
26883
+ case "array": return oi(e);
25764
26884
  case "groupChr": {
25765
- let t = $(e.base), n = _n.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${hn(e.char)}</mo>`;
26885
+ let t = $(e.base), n = qr.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${Gr(e.char)}</mo>`;
25766
26886
  return n ? `<${r}>${t}${i}</${r}>` : `<${r} accent="true">${t}${i}</${r}>`;
25767
26887
  }
25768
26888
  case "bar": {
25769
26889
  let t = $(e.base), n = "<mo stretchy=\"true\">&#x2015;</mo>";
25770
26890
  return e.pos === "bot" ? `<munder>${t}${n}</munder>` : `<mover>${t}${n}</mover>`;
25771
26891
  }
25772
- case "accent": return On(e);
26892
+ case "accent": return ii(e);
25773
26893
  case "func": return `<mrow>${$(e.name)}<mo>&#x2061;</mo>${$(e.arg)}</mrow>`;
25774
26894
  }
25775
26895
  }
25776
- var En = {
26896
+ var ni = {
25777
26897
  "̀": "`",
25778
26898
  "́": "´",
25779
26899
  "̂": "^",
@@ -25784,7 +26904,7 @@ var En = {
25784
26904
  "̌": "ˇ",
25785
26905
  "⃗": "→",
25786
26906
  "⃖": "←"
25787
- }, Dn = new Set([
26907
+ }, ri = new Set([
25788
26908
  "̅",
25789
26909
  "̄",
25790
26910
  "¯",
@@ -25792,45 +26912,189 @@ var En = {
25792
26912
  "̲",
25793
26913
  "̳"
25794
26914
  ]);
25795
- function On(e) {
26915
+ function ii(e) {
25796
26916
  let t = $(e.base);
25797
- if (Dn.has(e.char)) return `<mover>${t}<mo stretchy="true">&#x2015;</mo></mover>`;
25798
- let n = En[e.char] ?? e.char;
25799
- return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${hn(n)}</mo></mover>`;
26917
+ if (ri.has(e.char)) return `<mover>${t}<mo stretchy="true">&#x2015;</mo></mover>`;
26918
+ let n = ni[e.char] ?? e.char;
26919
+ return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${Gr(n)}</mo></mover>`;
25800
26920
  }
25801
- function kn(e) {
26921
+ function ai(e) {
25802
26922
  let t = $(e.base), n = e.lower && e.lower.length ? $(e.lower) : null, r = e.upper && e.upper.length ? $(e.upper) : null;
25803
26923
  return n && r ? `<munderover>${t}${n}${r}</munderover>` : n ? `<munder>${t}${n}</munder>` : r ? `<mover>${t}${r}</mover>` : t;
25804
26924
  }
25805
- function An(e) {
26925
+ function oi(e) {
25806
26926
  let t = Math.max(1, ...e.rows.map((e) => e.length)), n;
25807
26927
  n = e.align === "eq" ? Array.from({ length: t }, (e, t) => t % 2 == 0 ? "right" : "left").join(" ") : e.align === "left" ? "left" : "center";
25808
- let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${wn(e)}</mtd>`).join("")}</mtr>`).join("");
26928
+ let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${ei(e)}</mtd>`).join("")}</mtr>`).join("");
25809
26929
  return `<mtable columnalign="${n}" rowspacing="0.2em" columnspacing="0.3em">${r}</mtable>`;
25810
26930
  }
25811
- var jn = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
25812
- function Mn(e) {
25813
- let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 : jn.has(e.op), n = `<mo largeop="true">${hn(e.op)}</mo>`, r = e.sub ?? [], i = e.sup ?? [], a;
25814
- return a = t ? r.length && i.length ? `<msubsup>${n}${$(r)}${$(i)}</msubsup>` : r.length ? `<msub>${n}${$(r)}</msub>` : i.length ? `<msup>${n}${$(i)}</msup>` : n : r.length && i.length ? `<munderover>${n}${$(r)}${$(i)}</munderover>` : r.length ? `<munder>${n}${$(r)}</munder>` : i.length ? `<mover>${n}${$(i)}</mover>` : n, `<mrow>${a}${wn(e.body)}</mrow>`;
26931
+ var si = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
26932
+ function ci(e) {
26933
+ let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 : si.has(e.op), n = `<mo largeop="true">${Gr(e.op)}</mo>`, r = e.sub ?? [], i = e.sup ?? [], a;
26934
+ return a = t ? r.length && i.length ? `<msubsup>${n}${$(r)}${$(i)}</msubsup>` : r.length ? `<msub>${n}${$(r)}</msub>` : i.length ? `<msup>${n}${$(i)}</msup>` : n : r.length && i.length ? `<munderover>${n}${$(r)}${$(i)}</munderover>` : r.length ? `<munder>${n}${$(r)}</munder>` : i.length ? `<mover>${n}${$(i)}</mover>` : n, `<mrow>${a}${ei(e.body)}</mrow>`;
25815
26935
  }
25816
- function Nn(e) {
25817
- let t = (e) => `<mo fence="true" stretchy="true">${hn(e)}</mo>`, n = e.items.map((e) => $(e)).join("<mo separator=\"true\">,</mo>");
26936
+ function li(e) {
26937
+ let t = (e) => `<mo fence="true" stretchy="true">${Gr(e)}</mo>`, n = e.items.map((e) => $(e)).join("<mo separator=\"true\">,</mo>");
25818
26938
  return `<mrow>${t(e.begChar)}${n}${t(e.endChar)}</mrow>`;
25819
26939
  }
25820
- function Pn(e, t) {
25821
- return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${wn(e)}</math>`;
26940
+ function ui(e, t) {
26941
+ return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${ei(e)}</math>`;
25822
26942
  }
25823
26943
  //#endregion
25824
26944
  //#region packages/core/src/canvas/env.ts
25825
- function Fn(e) {
26945
+ function di(e) {
25826
26946
  return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
25827
26947
  }
25828
- function In(e = 1) {
26948
+ function fi(e = 1) {
25829
26949
  return typeof window < "u" && window.devicePixelRatio || e;
25830
26950
  }
25831
26951
  //#endregion
26952
+ //#region packages/core/src/canvas/crisp.ts
26953
+ function pi(e, t, n) {
26954
+ let r = Math.round(t * n) % 2 == 1 ? .5 : 0, i = e * n;
26955
+ return (Math.round(i - r) + r) / n - e;
26956
+ }
26957
+ //#endregion
26958
+ //#region packages/core/src/draw/dash.ts
26959
+ function mi(e, t) {
26960
+ return e.map((e) => e * t);
26961
+ }
26962
+ var hi = {
26963
+ dotted: [1, 2],
26964
+ dashed: [3, 2],
26965
+ dashSmallGap: [3, 1],
26966
+ dotDash: [
26967
+ 1,
26968
+ 2,
26969
+ 3,
26970
+ 2
26971
+ ],
26972
+ dotDotDash: [
26973
+ 1,
26974
+ 2,
26975
+ 1,
26976
+ 2,
26977
+ 3,
26978
+ 2
26979
+ ],
26980
+ dashDotStroked: [
26981
+ 1,
26982
+ 2,
26983
+ 3,
26984
+ 2
26985
+ ]
26986
+ };
26987
+ function gi(e, t) {
26988
+ let n = hi[e];
26989
+ return n ? mi(n, t) : [];
26990
+ }
26991
+ var _i = {
26992
+ hair: [1, 1],
26993
+ dashed: [4, 3],
26994
+ mediumDashed: [4, 3],
26995
+ dotted: [2, 2],
26996
+ dashDot: [
26997
+ 4,
26998
+ 2,
26999
+ 1,
27000
+ 2
27001
+ ],
27002
+ mediumDashDot: [
27003
+ 4,
27004
+ 2,
27005
+ 1,
27006
+ 2
27007
+ ],
27008
+ dashDotDot: [
27009
+ 4,
27010
+ 2,
27011
+ 1,
27012
+ 2,
27013
+ 1,
27014
+ 2
27015
+ ],
27016
+ mediumDashDotDot: [
27017
+ 4,
27018
+ 2,
27019
+ 1,
27020
+ 2,
27021
+ 1,
27022
+ 2
27023
+ ],
27024
+ slantDashDot: [
27025
+ 5,
27026
+ 3,
27027
+ 1,
27028
+ 3
27029
+ ]
27030
+ };
27031
+ function vi(e) {
27032
+ let t = _i[e];
27033
+ return t ? mi(t, 1) : [];
27034
+ }
27035
+ var yi = {
27036
+ dotted: [1.5, 3],
27037
+ dottedHeavy: [1.5, 3],
27038
+ dash: [6, 3],
27039
+ dashHeavy: [6, 3],
27040
+ dashLong: [10, 4],
27041
+ dashLongHeavy: [10, 4],
27042
+ dotDash: [
27043
+ 6,
27044
+ 3,
27045
+ 1.5,
27046
+ 3
27047
+ ],
27048
+ dotDashHeavy: [
27049
+ 6,
27050
+ 3,
27051
+ 1.5,
27052
+ 3
27053
+ ],
27054
+ dotDotDash: [
27055
+ 6,
27056
+ 3,
27057
+ 1.5,
27058
+ 3,
27059
+ 1.5,
27060
+ 3
27061
+ ],
27062
+ dotDotDashHeavy: [
27063
+ 6,
27064
+ 3,
27065
+ 1.5,
27066
+ 3,
27067
+ 1.5,
27068
+ 3
27069
+ ]
27070
+ };
27071
+ function bi(e, t) {
27072
+ let n = yi[e];
27073
+ return n ? mi(n, t) : [];
27074
+ }
27075
+ //#endregion
27076
+ //#region packages/core/src/draw/double-border.ts
27077
+ function xi(e, t) {
27078
+ let n = Math.max(1, Math.round(e * t / 3)), r = Math.max(1, Math.round(e * t / 3));
27079
+ return {
27080
+ railDev: n,
27081
+ gapDev: r,
27082
+ spanDev: 2 * n + r
27083
+ };
27084
+ }
27085
+ function Si(e, t, n, r, i, a, o) {
27086
+ let { railDev: s, gapDev: c, spanDev: l } = xi(a, o);
27087
+ if (n === i) {
27088
+ let i = Math.round(n * o - l / 2);
27089
+ e.fillRect(t, i / o, r - t, s / o), e.fillRect(t, (i + s + c) / o, r - t, s / o);
27090
+ } else {
27091
+ let r = Math.round(t * o - l / 2);
27092
+ e.fillRect(r / o, n, s / o, i - n), e.fillRect((r + s + c) / o, n, s / o, i - n);
27093
+ }
27094
+ }
27095
+ //#endregion
25832
27096
  //#region packages/core/src/worker/bridge.ts
25833
- var Ln = class {
27097
+ var Ci = class {
25834
27098
  _worker;
25835
27099
  _opts;
25836
27100
  _pending = /* @__PURE__ */ new Map();
@@ -25870,7 +27134,7 @@ var Ln = class {
25870
27134
  for (let e of this._pending.values()) e.reject(/* @__PURE__ */ Error("Worker terminated"));
25871
27135
  this._pending.clear();
25872
27136
  }
25873
- }, Rn = [
27137
+ }, wi = [
25874
27138
  "L",
25875
27139
  "R",
25876
27140
  "AL",
@@ -25894,7 +27158,7 @@ var Ln = class {
25894
27158
  "RLI",
25895
27159
  "FSI",
25896
27160
  "PDI"
25897
- ], zn = [
27161
+ ], Ti = [
25898
27162
  0,
25899
27163
  9,
25900
27164
  10,
@@ -27162,7 +28426,7 @@ var Ln = class {
27162
28426
  1048574,
27163
28427
  1048576,
27164
28428
  1114110
27165
- ], Bn = [
28429
+ ], Ei = [
27166
28430
  9,
27167
28431
  11,
27168
28432
  10,
@@ -28430,7 +29694,7 @@ var Ln = class {
28430
29694
  9,
28431
29695
  0,
28432
29696
  9
28433
- ], Vn = [
29697
+ ], Di = [
28434
29698
  40,
28435
29699
  41,
28436
29700
  41,
@@ -29287,7 +30551,7 @@ var Ln = class {
29287
30551
  65379,
29288
30552
  65379,
29289
30553
  65378
29290
- ], Hn = [
30554
+ ], Oi = [
29291
30555
  40,
29292
30556
  41,
29293
30557
  0,
@@ -29675,42 +30939,42 @@ var Ln = class {
29675
30939
  ];
29676
30940
  //#endregion
29677
30941
  //#region packages/core/src/text/bidi/char-data.ts
29678
- function Un(e) {
29679
- let t = 0, n = zn.length - 1;
30942
+ function ki(e) {
30943
+ let t = 0, n = Ti.length - 1;
29680
30944
  for (; t < n;) {
29681
30945
  let r = t + n + 1 >> 1;
29682
- zn[r] <= e ? t = r : n = r - 1;
30946
+ Ti[r] <= e ? t = r : n = r - 1;
29683
30947
  }
29684
- return Bn[t];
30948
+ return Ei[t];
29685
30949
  }
29686
- function Wn(e) {
29687
- return Rn[Un(e)];
30950
+ function Ai(e) {
30951
+ return wi[ki(e)];
29688
30952
  }
29689
- var Gn = (() => {
30953
+ var ji = (() => {
29690
30954
  let e = /* @__PURE__ */ new Map();
29691
- for (let t = 0; t < Vn.length; t += 2) e.set(Vn[t], Vn[t + 1]);
30955
+ for (let t = 0; t < Di.length; t += 2) e.set(Di[t], Di[t + 1]);
29692
30956
  return e;
29693
30957
  })();
29694
- function Kn(e) {
29695
- return Gn.get(e) ?? null;
30958
+ function Mi(e) {
30959
+ return ji.get(e) ?? null;
29696
30960
  }
29697
- var qn = (() => {
30961
+ var Ni = (() => {
29698
30962
  let e = /* @__PURE__ */ new Map();
29699
- for (let t = 0; t < Hn.length; t += 3) e.set(Hn[t], {
29700
- pair: Hn[t + 1],
29701
- type: Hn[t + 2] === 0 ? "o" : "c"
30963
+ for (let t = 0; t < Oi.length; t += 3) e.set(Oi[t], {
30964
+ pair: Oi[t + 1],
30965
+ type: Oi[t + 2] === 0 ? "o" : "c"
29702
30966
  });
29703
30967
  return e;
29704
30968
  })();
29705
- function Jn(e) {
29706
- return qn.get(e) ?? null;
30969
+ function Pi(e) {
30970
+ return Ni.get(e) ?? null;
29707
30971
  }
29708
- var Yn = (e) => e === "RLE" || e === "LRE" || e === "RLO" || e === "LRO" || e === "PDF" || e === "BN", Xn = (e) => e === "LRI" || e === "RLI" || e === "FSI", Zn = (e) => e === "B" || e === "S" || e === "WS" || e === "ON" || e === "FSI" || e === "LRI" || e === "RLI" || e === "PDI", Qn = (e) => e & 1 ? e + 2 : e + 1, $n = (e) => e & 1 ? e + 1 : e + 2;
29709
- function er(e, t, n) {
30972
+ var Fi = (e) => e === "RLE" || e === "LRE" || e === "RLO" || e === "LRO" || e === "PDF" || e === "BN", Ii = (e) => e === "LRI" || e === "RLI" || e === "FSI", Li = (e) => e === "B" || e === "S" || e === "WS" || e === "ON" || e === "FSI" || e === "LRI" || e === "RLI" || e === "PDI", Ri = (e) => e & 1 ? e + 2 : e + 1, zi = (e) => e & 1 ? e + 1 : e + 2;
30973
+ function Bi(e, t, n) {
29710
30974
  let r = 0;
29711
30975
  for (let i = t; i < n; i++) {
29712
30976
  let t = e[i];
29713
- if (Xn(t)) r++;
30977
+ if (Ii(t)) r++;
29714
30978
  else if (t === "PDI") r > 0 && r--;
29715
30979
  else if (r === 0) {
29716
30980
  if (t === "L") return 0;
@@ -29719,11 +30983,11 @@ function er(e, t, n) {
29719
30983
  }
29720
30984
  return 0;
29721
30985
  }
29722
- function tr(e) {
30986
+ function Vi(e) {
29723
30987
  let t = e.length, n = new Int32Array(t).fill(t), r = new Int32Array(t).fill(-1), i = [];
29724
30988
  for (let a = 0; a < t; a++) {
29725
30989
  let t = e[a];
29726
- if (Xn(t)) i.push(a);
30990
+ if (Ii(t)) i.push(a);
29727
30991
  else if (t === "PDI" && i.length) {
29728
30992
  let e = i.pop();
29729
30993
  n[e] = a, r[a] = e;
@@ -29734,7 +30998,7 @@ function tr(e) {
29734
30998
  initOf: r
29735
30999
  };
29736
31000
  }
29737
- function nr(e, t, n) {
31001
+ function Hi(e, t, n) {
29738
31002
  let r = e.length, i = Array(r).fill(t), a = e.slice(), o = [{
29739
31003
  level: t,
29740
31004
  override: "neutral",
@@ -29748,7 +31012,7 @@ function nr(e, t, n) {
29748
31012
  case "RLO":
29749
31013
  case "LRO": {
29750
31014
  i[d] = u().level;
29751
- let e = r === "RLE" || r === "RLO" ? Qn(u().level) : $n(u().level);
31015
+ let e = r === "RLE" || r === "RLO" ? Ri(u().level) : zi(u().level);
29752
31016
  e <= 125 && s === 0 && c === 0 ? o.push({
29753
31017
  level: e,
29754
31018
  override: r === "RLO" ? "R" : r === "LRO" ? "L" : "neutral",
@@ -29763,8 +31027,8 @@ function nr(e, t, n) {
29763
31027
  let t = u().override;
29764
31028
  t !== "neutral" && (a[d] = t);
29765
31029
  let f;
29766
- f = r === "RLI" ? "R" : r === "LRI" ? "L" : er(e, d + 1, n[d]) === 1 ? "R" : "L";
29767
- let p = f === "R" ? Qn(u().level) : $n(u().level);
31030
+ f = r === "RLI" ? "R" : r === "LRI" ? "L" : Bi(e, d + 1, n[d]) === 1 ? "R" : "L";
31031
+ let p = f === "R" ? Ri(u().level) : zi(u().level);
29768
31032
  p <= 125 && s === 0 && c === 0 ? (l++, o.push({
29769
31033
  level: p,
29770
31034
  override: "neutral",
@@ -29806,10 +31070,10 @@ function nr(e, t, n) {
29806
31070
  types: a
29807
31071
  };
29808
31072
  }
29809
- function rr(e) {
31073
+ function Ui(e) {
29810
31074
  return e === 9001 ? 12296 : e === 9002 ? 12297 : e;
29811
31075
  }
29812
- function ir(e, t, n, r, i, a) {
31076
+ function Wi(e, t, n, r, i, a) {
29813
31077
  let o = e.length, s = [];
29814
31078
  for (let e = 0; e < o; e++) n[e] || s.push(e);
29815
31079
  let c = [];
@@ -29827,7 +31091,7 @@ function ir(e, t, n, r, i, a) {
29827
31091
  for (;;) {
29828
31092
  for (let e of p) f.push(e);
29829
31093
  let t = p[p.length - 1];
29830
- if (Xn(e[t]) && i[t] !== o) {
31094
+ if (Ii(e[t]) && i[t] !== o) {
29831
31095
  let e = l.get(i[t]);
29832
31096
  if (e) {
29833
31097
  p = e;
@@ -29842,7 +31106,7 @@ function ir(e, t, n, r, i, a) {
29842
31106
  break;
29843
31107
  }
29844
31108
  let g = u(Math.max(m, h)), _ = f[f.length - 1], v = r;
29845
- if (!(Xn(e[_]) && i[_] === o)) {
31109
+ if (!(Ii(e[_]) && i[_] === o)) {
29846
31110
  for (let e = _ + 1; e < o; e++) if (!n[e]) {
29847
31111
  v = t[e];
29848
31112
  break;
@@ -29858,8 +31122,8 @@ function ir(e, t, n, r, i, a) {
29858
31122
  }
29859
31123
  return d;
29860
31124
  }
29861
- var ar = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
29862
- function or(e, t, n, r, i) {
31125
+ var Gi = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
31126
+ function Ki(e, t, n, r, i) {
29863
31127
  let a = e.indices, o = a.length, { sos: s, eos: c, level: l } = e;
29864
31128
  for (let e = 0; e < o; e++) {
29865
31129
  let t = a[e];
@@ -29906,15 +31170,15 @@ function or(e, t, n, r, i) {
29906
31170
  outer: for (let n = 0; n < o; n++) {
29907
31171
  let i = a[n];
29908
31172
  if (r[i] !== "ON") continue;
29909
- let o = Jn(t[i]);
31173
+ let o = Pi(t[i]);
29910
31174
  if (o) if (o.type === "o") {
29911
31175
  if (e.length === 63) break outer;
29912
31176
  e.push({
29913
- expect: rr(o.pair),
31177
+ expect: Ui(o.pair),
29914
31178
  pos: n
29915
31179
  });
29916
31180
  } else {
29917
- let r = rr(t[i]);
31181
+ let r = Ui(t[i]);
29918
31182
  for (let t = e.length - 1; t >= 0; t--) if (e[t].expect === r) {
29919
31183
  f.push({
29920
31184
  open: e[t].pos,
@@ -29932,7 +31196,7 @@ function or(e, t, n, r, i) {
29932
31196
  for (let { open: e, close: t } of f) {
29933
31197
  let n = !1, i = !1;
29934
31198
  for (let o = e + 1; o < t; o++) {
29935
- let e = ar(r[a[o]]);
31199
+ let e = Gi(r[a[o]]);
29936
31200
  e === u ? n = !0 : e === d && (i = !0);
29937
31201
  }
29938
31202
  let o = null;
@@ -29940,7 +31204,7 @@ function or(e, t, n, r, i) {
29940
31204
  else if (i) {
29941
31205
  let t = s;
29942
31206
  for (let n = e - 1; n >= 0; n--) {
29943
- let e = ar(r[a[n]]);
31207
+ let e = Gi(r[a[n]]);
29944
31208
  if (e) {
29945
31209
  t = e;
29946
31210
  break;
@@ -29951,29 +31215,29 @@ function or(e, t, n, r, i) {
29951
31215
  o && (r[a[e]] = o, r[a[t]] = o, p(e, o), p(t, o));
29952
31216
  }
29953
31217
  for (let e = 0; e < o; e++) {
29954
- if (!Zn(r[a[e]])) continue;
31218
+ if (!Li(r[a[e]])) continue;
29955
31219
  let t = e;
29956
- for (; t < o && Zn(r[a[t]]);) t++;
29957
- let n = e > 0 ? ar(r[a[e - 1]]) : s, i = t < o ? ar(r[a[t]]) : c;
31220
+ for (; t < o && Li(r[a[t]]);) t++;
31221
+ let n = e > 0 ? Gi(r[a[e - 1]]) : s, i = t < o ? Gi(r[a[t]]) : c;
29958
31222
  if (n && i && n === i) for (let i = e; i < t; i++) r[a[i]] = n;
29959
31223
  e = t - 1;
29960
31224
  }
29961
- for (let e = 0; e < o; e++) Zn(r[a[e]]) && (r[a[e]] = u);
31225
+ for (let e = 0; e < o; e++) Li(r[a[e]]) && (r[a[e]] = u);
29962
31226
  for (let e = 0; e < o; e++) {
29963
31227
  let t = a[e], n = r[t];
29964
31228
  l & 1 ? (n === "L" || n === "EN" || n === "AN") && (i[t] += 1) : n === "R" ? i[t] += 1 : (n === "AN" || n === "EN") && (i[t] += 2);
29965
31229
  }
29966
31230
  }
29967
- function sr(e, t, n) {
31231
+ function qi(e, t, n) {
29968
31232
  let r = e.length, i = Array(r);
29969
- for (let t = 0; t < r; t++) i[t] = n?.[t] ?? Wn(e[t]);
29970
- let a = t === "rtl" ? 1 : t === "ltr" ? 0 : er(i, 0, r), { pdiOf: o, initOf: s } = tr(i), { levels: c, types: l } = nr(i, a, o), u = Array(r);
29971
- for (let e = 0; e < r; e++) u[e] = Yn(i[e]);
29972
- let d = ir(i, c, u, a, o, s), f = l.slice();
29973
- for (let t of d) or(t, e, i, f, c);
31233
+ for (let t = 0; t < r; t++) i[t] = n?.[t] ?? Ai(e[t]);
31234
+ let a = t === "rtl" ? 1 : t === "ltr" ? 0 : Bi(i, 0, r), { pdiOf: o, initOf: s } = Vi(i), { levels: c, types: l } = Hi(i, a, o), u = Array(r);
31235
+ for (let e = 0; e < r; e++) u[e] = Fi(i[e]);
31236
+ let d = Wi(i, c, u, a, o, s), f = l.slice();
31237
+ for (let t of d) Ki(t, e, i, f, c);
29974
31238
  let p = (e) => {
29975
31239
  let t = i[e];
29976
- return t === "WS" || Xn(t) || t === "PDI" || u[e];
31240
+ return t === "WS" || Ii(t) || t === "PDI" || u[e];
29977
31241
  };
29978
31242
  for (let e = 0; e < r; e++) {
29979
31243
  let t = i[e];
@@ -29989,7 +31253,7 @@ function sr(e, t, n) {
29989
31253
  paragraphLevel: a
29990
31254
  };
29991
31255
  }
29992
- function cr(e, t, n) {
31256
+ function Ji(e, t, n) {
29993
31257
  let r = [];
29994
31258
  for (let i = t; i < n; i++) {
29995
31259
  let t = e[i];
@@ -30017,7 +31281,7 @@ function cr(e, t, n) {
30017
31281
  }
30018
31282
  //#endregion
30019
31283
  //#region packages/core/src/text/bidi/uax9/index.ts
30020
- function lr(e) {
31284
+ function Yi(e) {
30021
31285
  let t = [], n = [], r = [];
30022
31286
  for (let i = 0; i < e.length;) {
30023
31287
  let a = e.codePointAt(i), o = a > 65535 ? 2 : 1;
@@ -30029,9 +31293,9 @@ function lr(e) {
30029
31293
  starts: r
30030
31294
  };
30031
31295
  }
30032
- var ur = class {
31296
+ var Xi = class {
30033
31297
  computeLevels(e, t, n) {
30034
- let { cps: r, units: i, starts: a } = lr(e), { levels: o, paragraphLevel: s } = sr(r, t, n ? r.map((e, t) => n[a[t]] ?? null) : void 0), c = new Uint8Array(e.length), l = 0;
31298
+ let { cps: r, units: i, starts: a } = Yi(e), { levels: o, paragraphLevel: s } = qi(r, t, n ? r.map((e, t) => n[a[t]] ?? null) : void 0), c = new Uint8Array(e.length), l = 0;
30035
31299
  for (let e = 0; e < o.length; e++) {
30036
31300
  let t = o[e] === -1 ? 255 : o[e];
30037
31301
  for (let n = 0; n < i[e]; n++) c[l++] = t;
@@ -30042,51 +31306,51 @@ var ur = class {
30042
31306
  };
30043
31307
  }
30044
31308
  reorderVisual(e, t, n) {
30045
- return cr(e, t, n);
31309
+ return Ji(e, t, n);
30046
31310
  }
30047
31311
  getMirror(e) {
30048
- return Kn(e);
31312
+ return Mi(e);
30049
31313
  }
30050
31314
  };
30051
- function dr() {
30052
- return new ur();
31315
+ function Zi() {
31316
+ return new Xi();
30053
31317
  }
30054
31318
  //#endregion
30055
31319
  //#region packages/core/src/text/bidi/engine.ts
30056
- var fr = null;
30057
- function pr() {
30058
- return fr === null && (fr = dr()), fr;
31320
+ var Qi = null;
31321
+ function $i() {
31322
+ return Qi === null && (Qi = Zi()), Qi;
30059
31323
  }
30060
31324
  //#endregion
30061
31325
  //#region packages/core/src/text/bidi/segments.ts
30062
- function mr(e, t) {
30063
- return e === !0 ? "rtl" : e === !1 ? "ltr" : pr().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
31326
+ function ea(e, t) {
31327
+ return e === !0 ? "rtl" : e === !1 ? "ltr" : $i().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
30064
31328
  }
30065
31329
  //#endregion
30066
31330
  //#region packages/core/src/text/kinsoku/rules.ts
30067
- var hr = "”’)〕]}〉》」』】〙〗〟⦆»、。,.・:;/?!‐ー゠–〜~ぁぃぅぇぉっゃゅょゎゕゖァィゥェォッャュョヮヵヶㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ゝゞヽヾ゛゜%‰℃°′″。」、・ー゙゚!),.:;?]}⦆", gr = "“‘(〔[{〈《「『【〘〖〝⦅«$¥#£¢([{⦅";
30068
- function _r(e) {
31331
+ var ta = "”’)〕]}〉》」』】〙〗〟⦆»、。,.・:;/?!‐ー゠–〜~ぁぃぅぇぉっゃゅょゎゕゖァィゥェォッャュョヮヵヶㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ゝゞヽヾ゛゜%‰℃°′″。」、・ー゙゚!),.:;?]}⦆", na = "“‘(〔[{〈《「『【〘〖〝⦅«$¥#£¢([{⦅";
31332
+ function ra(e) {
30069
31333
  let t = /* @__PURE__ */ new Set();
30070
31334
  for (let n of e) t.add(n.codePointAt(0));
30071
31335
  return t;
30072
31336
  }
30073
- function vr(e) {
31337
+ function ia(e) {
30074
31338
  return {
30075
31339
  enabled: e?.kinsoku !== !1,
30076
- lineStartForbidden: _r(e?.noLineBreaksBefore ?? hr),
30077
- lineEndForbidden: _r(e?.noLineBreaksAfter ?? gr)
31340
+ lineStartForbidden: ra(e?.noLineBreaksBefore ?? ta),
31341
+ lineEndForbidden: ra(e?.noLineBreaksAfter ?? na)
30078
31342
  };
30079
31343
  }
30080
- var yr = vr();
31344
+ var aa = ia();
30081
31345
  //#endregion
30082
31346
  //#region packages/core/src/text/kinsoku/split.ts
30083
- function br(e, t, n, r = 1) {
31347
+ function oa(e, t, n, r = 1) {
30084
31348
  if (!n.enabled || t <= 0 || t >= e.length) return t;
30085
31349
  let i = (t) => t < e.length && n.lineStartForbidden.has(e[t].codePointAt(0)), a = (t) => t >= 0 && n.lineEndForbidden.has(e[t].codePointAt(0)), o = t;
30086
31350
  for (; o > r && (i(o) || a(o - 1));) o--;
30087
31351
  return o <= r && (i(o) || a(o - 1)) ? t : o;
30088
31352
  }
30089
- function xr(e, t, n) {
31353
+ function sa(e, t, n) {
30090
31354
  if (!t.enabled) return 0;
30091
31355
  let r = e.length - n;
30092
31356
  for (let n = 1; n <= r; n++) {
@@ -30099,12 +31363,12 @@ function xr(e, t, n) {
30099
31363
  }
30100
31364
  //#endregion
30101
31365
  //#region packages/core/src/text/cjk-ranges.ts
30102
- function Sr(e) {
31366
+ function ca(e) {
30103
31367
  return e >= 12288 && e <= 40959 || e >= 44032 && e <= 55203 || e >= 63744 && e <= 64255 || e >= 65280 && e <= 65519;
30104
31368
  }
30105
31369
  //#endregion
30106
31370
  //#region packages/core/src/text/highlight-box.ts
30107
- function Cr(e, t) {
31371
+ function la(e, t) {
30108
31372
  return {
30109
31373
  top: e - t * .85,
30110
31374
  height: t * 1.1
@@ -30112,10 +31376,10 @@ function Cr(e, t) {
30112
31376
  }
30113
31377
  //#endregion
30114
31378
  //#region packages/core/src/text/line-distribute.ts
30115
- var wr = (e) => e === 32 || e === 12288;
30116
- function Tr(e, t, n = {}) {
31379
+ var ua = (e) => e === 32 || e === 12288;
31380
+ function da(e, t, n = {}) {
30117
31381
  if (Math.abs(t) <= .5) return null;
30118
- let r = n.firstContentSi ?? 0, i = n.lastDrawnSi ?? e.length - 1, a = n.minPerGap ?? -Infinity, o = n.isGapChar ?? Sr, s = n.isWhitespace ?? wr, c = [];
31382
+ let r = n.firstContentSi ?? 0, i = n.lastDrawnSi ?? e.length - 1, a = n.minPerGap ?? -Infinity, o = n.isGapChar ?? ca, s = n.isWhitespace ?? ua, c = [];
30119
31383
  for (let t = r; t < e.length; t++) {
30120
31384
  let n = e[t];
30121
31385
  if (n === void 0) continue;
@@ -30178,7 +31442,7 @@ function Tr(e, t, n = {}) {
30178
31442
  }
30179
31443
  //#endregion
30180
31444
  //#region packages/core/src/text/justify-positions.ts
30181
- function Er(e, t, n, r, i = 0) {
31445
+ function fa(e, t, n, r, i = 0) {
30182
31446
  let a = [], o = 0, s = 0;
30183
31447
  for (let c of t) a.push({
30184
31448
  text: e.slice(o, c).join(""),
@@ -30190,4 +31454,4 @@ function Er(e, t, n, r, i = 0) {
30190
31454
  }), a;
30191
31455
  }
30192
31456
  //#endregion
30193
- export { s as $, it as A, De as B, St as C, ut as D, dt as E, Be as F, A as G, L as H, ze as I, d as J, j as K, Le as L, rt as M, Ke as N, st as O, Ge as P, m as Q, ke as R, wt as S, lt as T, R as U, I as V, F as W, l as X, p as Y, c as Z, ln as _, xr as a, jt as b, vr as c, Ln as d, t as et, In as f, cn as g, un as h, Sr as i, Qe as j, $e as k, mr as l, Pn as m, Tr as n, br as o, Fn as p, u as q, Cr as r, yr as s, Er as t, pr as u, Qt as v, Ct as w, Nt as x, an as y, Oe as z };
31457
+ export { N as $, Bn as A, ct as B, kr as C, tr as D, ur as E, Fn as F, Ue as G, nt as H, kn as I, oe as J, He as K, Pn as L, Vn as M, Rn as N, $n as O, An as P, M as Q, xn as R, zr as S, cr as T, Qe as U, rt as V, We as W, se as X, U as Y, j as Z, fi as _, sa as a, h as at, Br as b, ia as c, l as ct, Ci as d, s as dt, C as et, Si as f, t as ft, pi as g, vi as h, ca as i, p as it, Hn as j, er as k, ea as l, u as lt, bi as m, da as n, w as nt, oa as o, d as ot, gi as p, K as q, la as r, f as rt, aa as s, c as st, fa as t, S as tt, $i as u, g as ut, di as v, Fr as w, Rr as x, ui as y, lt as z };