@silurus/ooxml 0.80.3 → 0.82.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.
Files changed (67) hide show
  1. package/README.md +61 -85
  2. package/dist/assets/render-worker-7-Zr7fSw.js +10 -0
  3. package/dist/assets/render-worker-B5gsW6b5.js +11 -0
  4. package/dist/assets/render-worker-Dw_wQRIh.js +24 -0
  5. package/dist/{canvas-viewer-mechanics-D-r6wHY_.js → canvas-viewer-mechanics-CS_qbr6T.js} +1 -1
  6. package/dist/chart-ex.mjs +1017 -0
  7. package/dist/comment-occurrence-C34fWs_F.js +6 -0
  8. package/dist/comment-ui-runtime-BAe30Ct9.js +112 -0
  9. package/dist/comment-ui-runtime-BUCj4hWn.js +171 -0
  10. package/dist/comment-ui-runtime-F4a3te6p.js +2 -0
  11. package/dist/comments-Cf9W7r3M.js +241 -0
  12. package/dist/{document-pull-client-vxk-Aomu.js → document-pull-client-BCgmytqI.js} +4682 -4541
  13. package/dist/docx-wokGKYfi.js +2162 -0
  14. package/dist/docx.mjs +6 -4
  15. package/dist/docx_parser_bg.wasm +0 -0
  16. package/dist/dom-interaction-boundary-C8F6HO5x.js +119 -0
  17. package/dist/highlight-rect-MaCt0om0.js +13 -0
  18. package/dist/index.mjs +3 -3
  19. package/dist/{line-distribute-Bvtp0Gt6.js → line-distribute-iXsUCIH-.js} +17 -16
  20. package/dist/{line-metrics-DdEJYxjx.js → line-metrics-B3syvDn2.js} +667 -7492
  21. package/dist/math.mjs +2 -2
  22. package/dist/node.mjs +248 -247
  23. package/dist/plot-area-frame-DHV02PJU.js +3670 -0
  24. package/dist/pptx-DU8L8I2T.js +2432 -0
  25. package/dist/pptx.mjs +6 -5
  26. package/dist/pptx_parser_bg.wasm +0 -0
  27. package/dist/read-only-comment-decoration-DcFevX_Q.js +96 -0
  28. package/dist/read-only-comment-margin-Dn2y55W6.js +189 -0
  29. package/dist/region-map.mjs +102 -97
  30. package/dist/{render-CoqMHcbF.js → render-CenWM4g1.js} +1 -1
  31. package/dist/{render-worker-host-IuQFpoJM.js → render-worker-host-BNENN3qP.js} +1 -1
  32. package/dist/{render-worker-host-CYPhmBtX.js → render-worker-host-BmH3kGSj.js} +1 -1
  33. package/dist/{render-worker-host-GlLR1rtF.js → render-worker-host-CmPBviYJ.js} +1 -1
  34. package/dist/renderer-CYr9YTXM.js +5856 -0
  35. package/dist/{renderer-module-contract-BNGz8HvO.js → renderer-module-contract-DLbb7zY0.js} +4 -3
  36. package/dist/{resource-measurement-CgMubiAI.js → resource-measurement-CsW4_eYt.js} +12 -11
  37. package/dist/{session-DkPblDiq.js → session-Cky_swUj.js} +8 -8
  38. package/dist/{slide-pull-client-m2blvngt.js → slide-pull-client-CqTVFb3W.js} +1004 -1091
  39. package/dist/source-key-BklvnEyQ.js +42 -0
  40. package/dist/three-d-7MaVzQuZ.js +1346 -0
  41. package/dist/three-d.mjs +1238 -797
  42. package/dist/types/chart-ex.d.ts +949 -0
  43. package/dist/types/docx.d.ts +497 -28
  44. package/dist/types/index.d.ts +649 -39
  45. package/dist/types/math.d.ts +1 -1
  46. package/dist/types/node.d.ts +385 -22
  47. package/dist/types/pptx.d.ts +435 -24
  48. package/dist/types/region-map.d.ts +318 -6
  49. package/dist/types/three-d.d.ts +318 -6
  50. package/dist/types/xlsx.d.ts +384 -19
  51. package/dist/units-BzZ0gAxs.js +4 -0
  52. package/dist/{worksheet-pull-client-BntP6RiO.js → worksheet-pull-client-CYtwXP5D.js} +19 -19
  53. package/dist/{xlsx-DqMe7J2C.js → xlsx-DlV37-0j.js} +1594 -1349
  54. package/dist/xlsx.mjs +6 -5
  55. package/dist/xlsx_parser_bg.wasm +0 -0
  56. package/package.json +7 -1
  57. package/dist/assets/render-worker-CRaEOHkw.js +0 -9
  58. package/dist/assets/render-worker-DQGLj5Zv.js +0 -22
  59. package/dist/assets/render-worker-rnrSLmqL.js +0 -8
  60. package/dist/chart-number-format-qLhnk6hj.js +0 -475
  61. package/dist/docx-DN0PRx2f.js +0 -1733
  62. package/dist/highlight-rect-BuX5rWP4.js +0 -48
  63. package/dist/pptx-B-Laftl1.js +0 -2134
  64. package/dist/three-d-C28kqDym.js +0 -1086
  65. /package/dist/{mathjax-DgAl7Yi5.js → mathjax-DwIrafQ6.js} +0 -0
  66. /package/dist/{transfer-CKZ79zFw.js → transfer-R6NjgBKD.js} +0 -0
  67. /package/dist/{visible-index-BjesVGhg.js → visible-index-BFE3PWiY.js} +0 -0
@@ -0,0 +1,3670 @@
1
+ import { a as e, n as t, r as n, t as r } from "./units-BzZ0gAxs.js";
2
+ //#region packages/core/src/canvas/aux-canvas.ts
3
+ function i(e, t) {
4
+ return [Math.max(1, Math.ceil(e)), Math.max(1, Math.ceil(t))];
5
+ }
6
+ function a(e, t) {
7
+ let [n, r] = i(e, t);
8
+ if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(n, r);
9
+ if (typeof document < "u") {
10
+ let e = document.createElement("canvas");
11
+ return e.width = n, e.height = r, e;
12
+ }
13
+ return null;
14
+ }
15
+ function o(e, t, n) {
16
+ let [r, a] = i(t, n);
17
+ if (typeof OffscreenCanvas < "u") try {
18
+ return new OffscreenCanvas(r, a);
19
+ } catch {}
20
+ if (typeof document < "u") try {
21
+ let e = document.createElement("canvas");
22
+ return e.width = r, e.height = a, e;
23
+ } catch {}
24
+ try {
25
+ let t = e.canvas?.constructor;
26
+ return typeof t == "function" ? new t(r, a) : null;
27
+ } catch {
28
+ return null;
29
+ }
30
+ }
31
+ //#endregion
32
+ //#region packages/core/src/image/pixel-budget.ts
33
+ var s = 32767, c = 1 << 25, l = c * 4, u = class e extends RangeError {
34
+ code = "ooxml-decoded-image-limit";
35
+ constructor(t, n, r) {
36
+ super(`OOXML decoded image limit exceeded: ${t} ${r} > ${n}`), this.metric = t, this.limit = n, this.observed = r, this.name = "OoxmlDecodedImageLimitError", Object.setPrototypeOf(this, e.prototype);
37
+ }
38
+ };
39
+ function d(e) {
40
+ return e instanceof u || !!e && typeof e == "object" && e.code === "ooxml-decoded-image-limit";
41
+ }
42
+ //#endregion
43
+ //#region packages/core/src/image/dib.ts
44
+ var f = s, p = c;
45
+ function m(e, t, n, r, i) {
46
+ if (n < 40 || t + 40 > e.byteLength) return null;
47
+ let a = e.getUint32(t, !0);
48
+ if (a < 40) return null;
49
+ let o = e.getInt32(t + 4, !0), s = e.getInt32(t + 8, !0), c = e.getUint16(t + 14, !0);
50
+ if (e.getUint32(t + 16, !0) !== 0) return null;
51
+ let l = s < 0, u = Math.abs(o), d = Math.abs(s);
52
+ if (u <= 0 || d <= 0 || u > f || d > f || u * d > p) return null;
53
+ let m = new Uint8ClampedArray(u * d * 4), h = u * c + 31 >> 5 << 2 >>> 0;
54
+ if (r + h * d > r + i + h && r + h * d > e.byteLength) return null;
55
+ let g = null;
56
+ if (c <= 8) {
57
+ let n = e.getUint32(t + 32, !0);
58
+ n === 0 && (n = 1 << c);
59
+ let r = t + a;
60
+ g = [];
61
+ for (let t = 0; t < n; t++) {
62
+ let n = r + t * 4;
63
+ if (n + 4 > e.byteLength) break;
64
+ let i = e.getUint8(n), a = e.getUint8(n + 1), o = e.getUint8(n + 2);
65
+ g.push(o << 16 | a << 8 | i);
66
+ }
67
+ }
68
+ let _ = (e, t, n, r, i, a) => {
69
+ let o = (e * u + t) * 4;
70
+ m[o] = n, m[o + 1] = r, m[o + 2] = i, m[o + 3] = a;
71
+ }, v = !1;
72
+ for (let t = 0; t < d; t++) {
73
+ let n = l ? t : d - 1 - t, i = t, a = r + n * h;
74
+ if (a + h > e.byteLength) break;
75
+ if (c === 32) for (let t = 0; t < u; t++) {
76
+ let n = a + t * 4, r = e.getUint8(n), o = e.getUint8(n + 1), s = e.getUint8(n + 2), c = e.getUint8(n + 3);
77
+ c !== 0 && (v = !0), _(i, t, s, o, r, c);
78
+ }
79
+ else if (c === 24) {
80
+ for (let t = 0; t < u; t++) {
81
+ let n = a + t * 3;
82
+ _(i, t, e.getUint8(n + 2), e.getUint8(n + 1), e.getUint8(n), 255);
83
+ }
84
+ v = !0;
85
+ } else if (c === 8 && g) {
86
+ for (let t = 0; t < u; t++) {
87
+ let n = e.getUint8(a + t), r = g[n] ?? 0;
88
+ _(i, t, r >> 16 & 255, r >> 8 & 255, r & 255, 255);
89
+ }
90
+ v = !0;
91
+ } else if (c === 4 && g) {
92
+ for (let t = 0; t < u; t++) {
93
+ let n = e.getUint8(a + (t >> 1)), r = t & 1 ? n & 15 : n >> 4 & 15, o = g[r] ?? 0;
94
+ _(i, t, o >> 16 & 255, o >> 8 & 255, o & 255, 255);
95
+ }
96
+ v = !0;
97
+ } else if (c === 1 && g) {
98
+ for (let t = 0; t < u; t++) {
99
+ let n = e.getUint8(a + (t >> 3)) >> 7 - (t & 7) & 1, r = g[n] ?? 0;
100
+ _(i, t, r >> 16 & 255, r >> 8 & 255, r & 255, 255);
101
+ }
102
+ v = !0;
103
+ } else return null;
104
+ }
105
+ if (c === 32 && !v) for (let e = 3; e < m.length; e += 4) m[e] = 255;
106
+ return {
107
+ width: u,
108
+ height: d,
109
+ data: m
110
+ };
111
+ }
112
+ function h(e, t, n) {
113
+ if (n < 40 || t + 40 > e.byteLength) return null;
114
+ let r = e.getUint32(t, !0);
115
+ if (r < 40) return null;
116
+ let i = e.getUint16(t + 14, !0), a = 0;
117
+ if (i <= 8) {
118
+ let n = e.getUint32(t + 32, !0);
119
+ n === 0 && (n = 1 << i), a = n;
120
+ } else a = e.getUint32(t + 32, !0);
121
+ let o = r + a * 4, s = t + o, c = n - o;
122
+ return c <= 0 ? null : m(e, t, o, s, c);
123
+ }
124
+ function g(e, t, n, r, i, o) {
125
+ try {
126
+ let s = a(t.width, t.height);
127
+ if (!s) return !1;
128
+ let c = s.getContext("2d");
129
+ if (!c) return !1;
130
+ let l = c.createImageData(t.width, t.height);
131
+ l.data.set(t.data), c.putImageData(l, 0, 0);
132
+ let u = Math.min(n, i), d = Math.min(r, o), f = Math.abs(i - n), p = Math.abs(o - r);
133
+ return e.drawImage(s, u, d, f, p), !0;
134
+ } catch {
135
+ return !1;
136
+ }
137
+ }
138
+ //#endregion
139
+ //#region packages/core/src/image/emf.ts
140
+ var _ = {
141
+ HEADER: 1,
142
+ POLYBEZIER: 2,
143
+ POLYGON: 3,
144
+ POLYLINE: 4,
145
+ POLYBEZIERTO: 5,
146
+ POLYLINETO: 6,
147
+ POLYPOLYLINE: 7,
148
+ POLYPOLYGON: 8,
149
+ SETWINDOWEXTEX: 9,
150
+ SETWINDOWORGEX: 10,
151
+ SETVIEWPORTEXTEX: 11,
152
+ SETVIEWPORTORGEX: 12,
153
+ EOF: 14,
154
+ SETMAPMODE: 17,
155
+ SETPOLYFILLMODE: 19,
156
+ SETBKMODE: 18,
157
+ SETTEXTALIGN: 22,
158
+ SETTEXTCOLOR: 24,
159
+ MOVETOEX: 27,
160
+ SCALEVIEWPORTEXTEX: 31,
161
+ SCALEWINDOWEXTEX: 32,
162
+ SAVEDC: 33,
163
+ RESTOREDC: 34,
164
+ SETWORLDTRANSFORM: 35,
165
+ MODIFYWORLDTRANSFORM: 36,
166
+ SELECTOBJECT: 37,
167
+ CREATEPEN: 38,
168
+ CREATEBRUSHINDIRECT: 39,
169
+ DELETEOBJECT: 40,
170
+ ELLIPSE: 42,
171
+ RECTANGLE: 43,
172
+ LINETO: 54,
173
+ BEGINPATH: 59,
174
+ ENDPATH: 60,
175
+ CLOSEFIGURE: 61,
176
+ SELECTCLIPPATH: 67,
177
+ EXTCREATEFONTINDIRECTW: 82,
178
+ EXTTEXTOUTW: 84,
179
+ POLYBEZIER16: 85,
180
+ POLYGON16: 86,
181
+ POLYLINE16: 87,
182
+ POLYBEZIERTO16: 88,
183
+ POLYLINETO16: 89,
184
+ POLYPOLYLINE16: 90,
185
+ POLYPOLYGON16: 91,
186
+ CREATEMONOBRUSH: 93,
187
+ CREATEDIBPATTERNBRUSHPT: 94,
188
+ EXTCREATEPEN: 95,
189
+ BITBLT: 76,
190
+ STRETCHDIBITS: 81
191
+ }, v = {
192
+ WHITE_BRUSH: 2147483648,
193
+ LTGRAY_BRUSH: 2147483649,
194
+ GRAY_BRUSH: 2147483650,
195
+ DKGRAY_BRUSH: 2147483651,
196
+ BLACK_BRUSH: 2147483652,
197
+ NULL_BRUSH: 2147483653,
198
+ WHITE_PEN: 2147483654,
199
+ BLACK_PEN: 2147483655,
200
+ NULL_PEN: 2147483656,
201
+ DC_BRUSH: 2147483666,
202
+ DC_PEN: 2147483662
203
+ }, y = {
204
+ TEXT: 1,
205
+ LOMETRIC: 2,
206
+ HIMETRIC: 3,
207
+ LOENGLISH: 4,
208
+ HIENGLISH: 5,
209
+ TWIPS: 6,
210
+ ISOTROPIC: 7,
211
+ ANISOTROPIC: 8
212
+ }, b = () => ({
213
+ m11: 1,
214
+ m12: 0,
215
+ m21: 0,
216
+ m22: 1,
217
+ dx: 0,
218
+ dy: 0
219
+ });
220
+ function x(e, t) {
221
+ return {
222
+ m11: e.m11 * t.m11 + e.m21 * t.m12,
223
+ m12: e.m12 * t.m11 + e.m22 * t.m12,
224
+ m21: e.m11 * t.m21 + e.m21 * t.m22,
225
+ m22: e.m12 * t.m21 + e.m22 * t.m22,
226
+ dx: e.m11 * t.dx + e.m21 * t.dy + e.dx,
227
+ dy: e.m12 * t.dx + e.m22 * t.dy + e.dy
228
+ };
229
+ }
230
+ var S = class {
231
+ p;
232
+ constructor(e, t, n) {
233
+ this.dv = e, this.end = n, this.p = t;
234
+ }
235
+ get pos() {
236
+ return this.p;
237
+ }
238
+ set pos(e) {
239
+ this.p = e;
240
+ }
241
+ get remaining() {
242
+ return this.end - this.p;
243
+ }
244
+ i16() {
245
+ let e = this.dv.getInt16(this.p, !0);
246
+ return this.p += 2, e;
247
+ }
248
+ i32() {
249
+ let e = this.dv.getInt32(this.p, !0);
250
+ return this.p += 4, e;
251
+ }
252
+ u32() {
253
+ let e = this.dv.getUint32(this.p, !0);
254
+ return this.p += 4, e;
255
+ }
256
+ f32() {
257
+ let e = this.dv.getFloat32(this.p, !0);
258
+ return this.p += 4, e;
259
+ }
260
+ xform() {
261
+ return {
262
+ m11: this.f32(),
263
+ m12: this.f32(),
264
+ m21: this.f32(),
265
+ m22: this.f32(),
266
+ dx: this.f32(),
267
+ dy: this.f32()
268
+ };
269
+ }
270
+ skip(e) {
271
+ this.p += e;
272
+ }
273
+ };
274
+ function ee(e, t, n) {
275
+ return e.wt.m11 * t + e.wt.m21 * n + e.wt.dx;
276
+ }
277
+ function te(e, t, n) {
278
+ return e.wt.m12 * t + e.wt.m22 * n + e.wt.dy;
279
+ }
280
+ function ne(e) {
281
+ return e.winExtX === 0 ? 1 : e.vpExtX / e.winExtX;
282
+ }
283
+ function C(e) {
284
+ return e.winExtY === 0 ? 1 : e.vpExtY / e.winExtY;
285
+ }
286
+ function w(e) {
287
+ return Math.min(Math.abs(ne(e)), Math.abs(C(e)));
288
+ }
289
+ function re(e) {
290
+ return e.mapMode === y.ISOTROPIC ? ne(e) < 0 ? -w(e) : w(e) : ne(e);
291
+ }
292
+ function ie(e) {
293
+ return e.mapMode === y.ISOTROPIC ? C(e) < 0 ? -w(e) : w(e) : C(e);
294
+ }
295
+ function ae(e, t) {
296
+ return (t - e.winOrgX) * re(e) + e.vpOrgX;
297
+ }
298
+ function oe(e, t) {
299
+ return (t - e.winOrgY) * ie(e) + e.vpOrgY;
300
+ }
301
+ function T(e, t, n) {
302
+ let r = ae(e, ee(e, t, n)), i = oe(e, te(e, t, n));
303
+ return [(r - e.left) * e.W / e.boundsW, (i - e.top) * e.H / e.boundsH];
304
+ }
305
+ function se(e) {
306
+ return (Math.hypot(e.wt.m11, e.wt.m12) + Math.hypot(e.wt.m21, e.wt.m22)) / 2;
307
+ }
308
+ function ce(e) {
309
+ return (Math.abs(re(e)) + Math.abs(ie(e))) / 2;
310
+ }
311
+ function le(e) {
312
+ return (e.W / e.boundsW + e.H / e.boundsH) / 2;
313
+ }
314
+ function ue(e) {
315
+ return Math.hypot(e.wt.m21, e.wt.m22);
316
+ }
317
+ function de(e) {
318
+ return e.H / e.boundsH;
319
+ }
320
+ function E(e, t) {
321
+ let n = t * se(e) * ce(e) * le(e);
322
+ return Math.max(.75, n);
323
+ }
324
+ function fe(e, t) {
325
+ if (e.mapMode = t, t === y.TEXT) {
326
+ e.winOrgX = 0, e.winOrgY = 0, e.vpOrgX = 0, e.vpOrgY = 0, e.winExtX = 1, e.winExtY = 1, e.vpExtX = 1, e.vpExtY = 1;
327
+ return;
328
+ }
329
+ if (t === y.ANISOTROPIC || t === y.ISOTROPIC || e.devPxPerMmX <= 0 || e.devPxPerMmY <= 0) return;
330
+ let n = 25.4, r = t === y.LOMETRIC ? .1 : t === y.HIMETRIC ? .01 : t === y.LOENGLISH ? .01 * n : t === y.HIENGLISH ? .001 * n : t === y.TWIPS ? n / 1440 : 0;
331
+ r <= 0 || (e.winOrgX = 0, e.winOrgY = 0, e.vpOrgX = 0, e.vpOrgY = 0, e.winExtX = 1, e.winExtY = 1, e.vpExtX = r * e.devPxPerMmX, e.vpExtY = -(r * e.devPxPerMmY));
332
+ }
333
+ var pe = {
334
+ [v.WHITE_BRUSH]: {
335
+ kind: "brush",
336
+ fill: "#ffffff"
337
+ },
338
+ [v.LTGRAY_BRUSH]: {
339
+ kind: "brush",
340
+ fill: "#c0c0c0"
341
+ },
342
+ [v.GRAY_BRUSH]: {
343
+ kind: "brush",
344
+ fill: "#808080"
345
+ },
346
+ [v.DKGRAY_BRUSH]: {
347
+ kind: "brush",
348
+ fill: "#404040"
349
+ },
350
+ [v.BLACK_BRUSH]: {
351
+ kind: "brush",
352
+ fill: "#000000"
353
+ },
354
+ [v.NULL_BRUSH]: {
355
+ kind: "brush",
356
+ fill: null
357
+ }
358
+ }, me = {
359
+ [v.WHITE_PEN]: {
360
+ kind: "pen",
361
+ stroke: "#ffffff",
362
+ width: 1
363
+ },
364
+ [v.BLACK_PEN]: {
365
+ kind: "pen",
366
+ stroke: "#000000",
367
+ width: 1
368
+ },
369
+ [v.NULL_PEN]: {
370
+ kind: "pen",
371
+ stroke: null,
372
+ width: 1
373
+ },
374
+ [v.DC_PEN]: {
375
+ kind: "pen",
376
+ stroke: "#000000",
377
+ width: 1
378
+ }
379
+ };
380
+ function he(e, t) {
381
+ let n = pe[t];
382
+ if (n) {
383
+ e.curBrush = n;
384
+ return;
385
+ }
386
+ let r = me[t];
387
+ if (r) {
388
+ e.curPen = r;
389
+ return;
390
+ }
391
+ t === v.DC_BRUSH && (e.curBrush = e.curBrush ?? {
392
+ kind: "brush",
393
+ fill: "#000000"
394
+ });
395
+ }
396
+ function ge(e) {
397
+ let t = 0, n = 0, r = 0, i = 0;
398
+ 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++);
399
+ if (i === 0) return "#808080";
400
+ let a = (e) => Math.round(e / i).toString(16).padStart(2, "0");
401
+ return `#${a(t)}${a(n)}${a(r)}`;
402
+ }
403
+ var D = (e) => [e.i16(), e.i16()], O = (e) => [e.i32(), e.i32()];
404
+ function _e(e, t, n) {
405
+ t.skip(16);
406
+ let r = t.u32();
407
+ if (r < 2 || r > 1048576 || !e.curPen || e.curPen.stroke == null) return;
408
+ let { ctx: i } = e;
409
+ i.beginPath();
410
+ let a = 0, o = 0;
411
+ for (let s = 0; s < r && !(t.remaining < 4); s++) {
412
+ let [r, c] = n(t), [l, u] = T(e, r, c);
413
+ s === 0 ? i.moveTo(l, u) : i.lineTo(l, u), a = r, o = c;
414
+ }
415
+ i.strokeStyle = e.curPen.stroke, i.lineWidth = E(e, e.curPen.width), i.stroke(), e.drew = !0, e.curX = a, e.curY = o;
416
+ }
417
+ function ve(e, t, n) {
418
+ t.skip(16);
419
+ let r = t.u32();
420
+ if (r < 1 || r > 1048576) return;
421
+ let { ctx: i } = e, a = e.curPen != null && e.curPen.stroke != null;
422
+ if (a) {
423
+ i.beginPath();
424
+ let [t, n] = T(e, e.curX, e.curY);
425
+ i.moveTo(t, n);
426
+ }
427
+ for (let o = 0; o < r && !(t.remaining < 4); o++) {
428
+ let [r, o] = n(t);
429
+ if (a) {
430
+ let [t, n] = T(e, r, o);
431
+ i.lineTo(t, n);
432
+ }
433
+ e.curX = r, e.curY = o;
434
+ }
435
+ a && e.curPen && (i.strokeStyle = e.curPen.stroke, i.lineWidth = E(e, e.curPen.width), i.stroke(), e.drew = !0);
436
+ }
437
+ function ye(e, t, n) {
438
+ t.skip(16);
439
+ let r = t.u32();
440
+ if (r < 2 || r > 1048576) return;
441
+ let { ctx: i } = e;
442
+ e.inPath || i.beginPath();
443
+ let a = !1;
444
+ for (let o = 0; o < r && !(t.remaining < 4); o++) {
445
+ let [r, o] = n(t), [s, c] = T(e, r, o);
446
+ a ? i.lineTo(s, c) : (i.moveTo(s, c), a = !0);
447
+ }
448
+ a && (i.closePath(), !e.inPath && (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 = E(e, e.curPen.width), i.stroke(), e.drew = !0)));
449
+ }
450
+ function k(e, t, n, r) {
451
+ t.skip(16);
452
+ let i = t.u32();
453
+ if (i < 1 || i > 1048576) return;
454
+ let a = [];
455
+ for (let e = 0; e < i && !(t.remaining < 4); e++) a.push(n(t));
456
+ if (a.length < (r ? 3 : 4)) {
457
+ a.length && (e.curX = a[a.length - 1][0], e.curY = a[a.length - 1][1]);
458
+ return;
459
+ }
460
+ let o = e.curPen != null && e.curPen.stroke != null, { ctx: s } = e;
461
+ if (o) {
462
+ s.beginPath();
463
+ let t = r ? T(e, e.curX, e.curY) : T(e, a[0][0], a[0][1]);
464
+ s.moveTo(t[0], t[1]);
465
+ }
466
+ let c = +!r;
467
+ for (; c + 2 < a.length + +!!r; c += 3) {
468
+ let t = a[c], n = a[c + 1], r = a[c + 2];
469
+ if (!t || !n || !r) break;
470
+ if (o) {
471
+ let i = T(e, t[0], t[1]), a = T(e, n[0], n[1]), o = T(e, r[0], r[1]);
472
+ s.bezierCurveTo(i[0], i[1], a[0], a[1], o[0], o[1]);
473
+ }
474
+ e.curX = r[0], e.curY = r[1];
475
+ }
476
+ o && e.curPen && (s.strokeStyle = e.curPen.stroke, s.lineWidth = E(e, e.curPen.width), s.stroke(), e.drew = !0);
477
+ }
478
+ function A(e, t, n, r) {
479
+ t.skip(16);
480
+ let i = t.u32(), a = t.u32();
481
+ if (i <= 0 || i > 65536 || a <= 0 || a > 2097152) return;
482
+ let o = [];
483
+ for (let e = 0; e < i; e++) {
484
+ if (t.remaining < 4) return;
485
+ o.push(t.u32());
486
+ }
487
+ let { ctx: s } = e;
488
+ e.inPath || s.beginPath();
489
+ let c = !1;
490
+ for (let i of o) {
491
+ if (i < 2) {
492
+ for (let e = 0; e < i && t.remaining >= 4; e++) n(t);
493
+ continue;
494
+ }
495
+ for (let r = 0; r < i && !(t.remaining < 4); r++) {
496
+ let [i, a] = n(t), [o, c] = T(e, i, a);
497
+ r === 0 ? s.moveTo(o, c) : s.lineTo(o, c);
498
+ }
499
+ r && s.closePath(), c = !0;
500
+ }
501
+ !c || e.inPath || (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 = E(e, e.curPen.width), s.stroke(), e.drew = !0));
502
+ }
503
+ function be(e, t, n, r, i) {
504
+ let { ctx: a } = e, o = T(e, t, n), s = T(e, r, n), c = T(e, r, i), l = T(e, t, i);
505
+ e.inPath || 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.inPath && (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 = E(e, e.curPen.width), a.stroke(), e.drew = !0));
506
+ }
507
+ function xe(e) {
508
+ let t = e.u32(), n = e.u32(), r = e.i32();
509
+ e.i32();
510
+ let i = e.u32();
511
+ return [t, {
512
+ kind: "pen",
513
+ stroke: (n & 255) == 5 ? null : P(i),
514
+ width: Math.abs(r)
515
+ }];
516
+ }
517
+ function Se(e) {
518
+ let t = e.u32();
519
+ e.skip(16);
520
+ let n = e.u32(), r = e.u32();
521
+ e.u32();
522
+ let i = e.u32();
523
+ return [t, {
524
+ kind: "pen",
525
+ stroke: (n & 255) == 5 ? null : P(i),
526
+ width: Math.abs(r)
527
+ }];
528
+ }
529
+ function Ce(e) {
530
+ let t = e.u32(), n = e.u32(), r = e.u32();
531
+ return e.u32(), [t, {
532
+ kind: "brush",
533
+ fill: n === 1 ? null : P(r)
534
+ }];
535
+ }
536
+ function we(e, t, n) {
537
+ let r = e.u32();
538
+ e.u32();
539
+ let i = e.u32(), a = e.u32(), o = e.u32(), s = e.u32(), c = "#808080";
540
+ try {
541
+ let e = m(t, n + i, a, n + o, s);
542
+ e && (c = ge(e));
543
+ } catch {}
544
+ return [r, {
545
+ kind: "brush",
546
+ fill: c
547
+ }];
548
+ }
549
+ function Te(e, t, n) {
550
+ let r = e.u32(), i = n + 12, a = t.getInt32(i, !0), o = t.getInt32(i + 8, !0), s = t.getInt32(i + 16, !0), c = t.getUint8(i + 20), l = "";
551
+ for (let e = 0; e < 32; e++) {
552
+ let n = i + 28 + e * 2;
553
+ if (n + 2 > t.byteLength) break;
554
+ let r = t.getUint16(n, !0);
555
+ if (r === 0) break;
556
+ l += String.fromCharCode(r);
557
+ }
558
+ return [r, {
559
+ kind: "font",
560
+ height: Math.abs(a),
561
+ weight: s,
562
+ italic: c !== 0,
563
+ face: l,
564
+ escapement: o
565
+ }];
566
+ }
567
+ function Ee(e, t, n, r) {
568
+ t.skip(16), t.u32(), t.f32(), t.f32();
569
+ let i = t.i32(), a = t.i32(), o = t.u32(), s = t.u32();
570
+ if (t.u32(), o <= 0 || o > 65536) return;
571
+ let c = "";
572
+ for (let e = 0; e < o; e++) {
573
+ let t = r + s + e * 2;
574
+ if (t + 2 > n.byteLength) break;
575
+ c += String.fromCharCode(n.getUint16(t, !0));
576
+ }
577
+ if (c.length === 0) return;
578
+ let l = e.curFont, u = Math.abs(l?.height ?? 0) * ue(e) * Math.abs(ie(e)) * de(e);
579
+ if (!Number.isFinite(u) || u < 1) return;
580
+ let { ctx: d } = e, [f, p] = T(e, i, a);
581
+ d.fillStyle = e.textColor;
582
+ let m = l && l.weight >= 700 ? "bold " : "";
583
+ d.font = `${l?.italic ? "italic " : ""}${m}${u}px ${l?.face || "sans-serif"}`;
584
+ let h = e.textAlign & 6;
585
+ d.textAlign = h === 2 ? "right" : h === 6 ? "center" : "left", d.textBaseline = (e.textAlign & 24) == 24 ? "alphabetic" : "top";
586
+ let g = l?.escapement ?? 0;
587
+ try {
588
+ if (g !== 0) {
589
+ d.save();
590
+ try {
591
+ d.translate(f, p), d.rotate(-g / 10 * (Math.PI / 180)), d.fillText(c, 0, 0);
592
+ } finally {
593
+ d.restore();
594
+ }
595
+ } else d.fillText(c, f, p);
596
+ e.drew = !0;
597
+ } catch {}
598
+ }
599
+ function De(e, t, n, r, i, a, o, s, c, l, u) {
600
+ if (i === 0 || o === 0) return;
601
+ let d = m(t, n + r, i, n + a, o);
602
+ if (!d) return;
603
+ let [f, p] = T(e, s, c), [h, _] = T(e, l, u);
604
+ g(e.ctx, d, f, p, h, _) && (e.drew = !0);
605
+ }
606
+ function Oe(e, t, n, r) {
607
+ t.skip(16);
608
+ let i = t.i32(), a = t.i32(), o = t.i32(), s = t.i32();
609
+ t.u32(), t.i32(), t.i32(), t.skip(24), t.u32(), t.u32(), De(e, n, r, t.u32(), t.u32(), t.u32(), t.u32(), i, a, i + o, a + s);
610
+ }
611
+ function ke(e, t, n, r) {
612
+ t.skip(16);
613
+ let i = t.i32(), a = t.i32();
614
+ t.i32(), t.i32(), t.i32(), t.i32();
615
+ let o = t.u32(), s = t.u32(), c = t.u32(), l = t.u32();
616
+ t.u32(), t.u32();
617
+ let u = t.i32(), d = t.i32();
618
+ De(e, n, r, o, s, c, l, i, a, i + u, a + d);
619
+ }
620
+ function Ae(e, t, n, r) {
621
+ if (!N(e) || n <= 0 || r <= 0) return !1;
622
+ let i = new DataView(e.buffer, e.byteOffset, e.byteLength), a = {
623
+ ctx: t,
624
+ W: n,
625
+ H: r,
626
+ left: 0,
627
+ top: 0,
628
+ boundsW: n,
629
+ boundsH: r,
630
+ wt: b(),
631
+ mapMode: y.TEXT,
632
+ winOrgX: 0,
633
+ winOrgY: 0,
634
+ winExtX: 1,
635
+ winExtY: 1,
636
+ vpOrgX: 0,
637
+ vpOrgY: 0,
638
+ vpExtX: 1,
639
+ vpExtY: 1,
640
+ devPxPerMmX: 0,
641
+ devPxPerMmY: 0,
642
+ objects: /* @__PURE__ */ new Map(),
643
+ curPen: null,
644
+ curBrush: null,
645
+ curFont: null,
646
+ textColor: "#000000",
647
+ bkMode: 1,
648
+ textAlign: 0,
649
+ fillRule: "nonzero",
650
+ curX: 0,
651
+ curY: 0,
652
+ stack: [],
653
+ drew: !1,
654
+ inPath: !1
655
+ }, o = 0;
656
+ for (; o + 8 <= e.length;) {
657
+ let n = i.getUint32(o, !0), r = i.getUint32(o + 4, !0);
658
+ if (r < 8 || r & 3) break;
659
+ let s = o + r;
660
+ if (s > e.length || n === _.EOF) break;
661
+ let c = new S(i, o + 8, s);
662
+ try {
663
+ switch (n) {
664
+ case _.HEADER: {
665
+ 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);
666
+ if (a.left = e, a.top = t, a.boundsW = Math.max(1, n - e), a.boundsH = Math.max(1, r - t), s >= o + 88) {
667
+ let e = i.getInt32(o + 24, !0), t = i.getInt32(o + 28, !0), n = i.getInt32(o + 32, !0), r = i.getInt32(o + 36, !0), s = i.getInt32(o + 72, !0), c = i.getInt32(o + 76, !0), l = i.getInt32(o + 80, !0), u = i.getInt32(o + 84, !0), d = n - e, f = r - t;
668
+ if (d > 0 && f > 0 && s > 0 && c > 0 && l > 0 && u > 0) {
669
+ let n = s / (l * 100), r = c / (u * 100);
670
+ a.left = e * n, a.top = t * r, a.boundsW = Math.max(1, d * n), a.boundsH = Math.max(1, f * r), a.devPxPerMmX = s / l, a.devPxPerMmY = c / u;
671
+ }
672
+ }
673
+ break;
674
+ }
675
+ case _.SETWORLDTRANSFORM:
676
+ a.wt = c.xform();
677
+ break;
678
+ case _.MODIFYWORLDTRANSFORM: {
679
+ let e = c.xform(), t = c.u32();
680
+ t === 1 ? a.wt = b() : t === 2 ? a.wt = x(e, a.wt) : t === 3 ? a.wt = x(a.wt, e) : t === 4 && (a.wt = e);
681
+ break;
682
+ }
683
+ case _.SETMAPMODE:
684
+ fe(a, c.u32());
685
+ break;
686
+ case _.SETWINDOWORGEX:
687
+ a.winOrgX = c.i32(), a.winOrgY = c.i32();
688
+ break;
689
+ case _.SETWINDOWEXTEX: {
690
+ let e = c.i32(), t = c.i32();
691
+ e !== 0 && (a.winExtX = e), t !== 0 && (a.winExtY = t);
692
+ break;
693
+ }
694
+ case _.SETVIEWPORTORGEX:
695
+ a.vpOrgX = c.i32(), a.vpOrgY = c.i32();
696
+ break;
697
+ case _.SETVIEWPORTEXTEX: {
698
+ let e = c.i32(), t = c.i32();
699
+ e !== 0 && (a.vpExtX = e), t !== 0 && (a.vpExtY = t);
700
+ break;
701
+ }
702
+ case _.SCALEWINDOWEXTEX: {
703
+ let e = c.i32(), t = c.i32(), n = c.i32(), r = c.i32();
704
+ t !== 0 && (a.winExtX = a.winExtX * e / t), r !== 0 && (a.winExtY = a.winExtY * n / r);
705
+ break;
706
+ }
707
+ case _.SCALEVIEWPORTEXTEX: {
708
+ let e = c.i32(), t = c.i32(), n = c.i32(), r = c.i32();
709
+ t !== 0 && (a.vpExtX = a.vpExtX * e / t), r !== 0 && (a.vpExtY = a.vpExtY * n / r);
710
+ break;
711
+ }
712
+ case _.SAVEDC:
713
+ a.ctx.save(), a.stack.push({
714
+ wt: { ...a.wt },
715
+ mapMode: a.mapMode,
716
+ winOrgX: a.winOrgX,
717
+ winOrgY: a.winOrgY,
718
+ winExtX: a.winExtX,
719
+ winExtY: a.winExtY,
720
+ vpOrgX: a.vpOrgX,
721
+ vpOrgY: a.vpOrgY,
722
+ vpExtX: a.vpExtX,
723
+ vpExtY: a.vpExtY,
724
+ curPen: a.curPen,
725
+ curBrush: a.curBrush,
726
+ curFont: a.curFont,
727
+ textColor: a.textColor,
728
+ bkMode: a.bkMode,
729
+ textAlign: a.textAlign,
730
+ fillRule: a.fillRule,
731
+ curX: a.curX,
732
+ curY: a.curY
733
+ });
734
+ break;
735
+ case _.RESTOREDC: {
736
+ let e = c.i32(), t = Math.min(Math.abs(e) || 1, a.stack.length), n;
737
+ for (let e = 0; e < t; e++) n = a.stack.pop(), a.ctx.restore();
738
+ n && (a.wt = n.wt, a.mapMode = n.mapMode, a.winOrgX = n.winOrgX, a.winOrgY = n.winOrgY, a.winExtX = n.winExtX, a.winExtY = n.winExtY, a.vpOrgX = n.vpOrgX, a.vpOrgY = n.vpOrgY, a.vpExtX = n.vpExtX, a.vpExtY = n.vpExtY, 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);
739
+ break;
740
+ }
741
+ case _.BEGINPATH:
742
+ a.ctx.beginPath(), a.inPath = !0;
743
+ break;
744
+ case _.CLOSEFIGURE:
745
+ a.inPath && a.ctx.closePath();
746
+ break;
747
+ case _.ENDPATH:
748
+ a.inPath = !1;
749
+ break;
750
+ case _.SELECTCLIPPATH:
751
+ try {
752
+ a.ctx.clip(a.fillRule);
753
+ } catch {}
754
+ break;
755
+ case _.SELECTOBJECT: {
756
+ let e = c.u32();
757
+ if (e & 2147483648) he(a, e >>> 0);
758
+ else {
759
+ let t = a.objects.get(e);
760
+ t?.kind === "pen" ? a.curPen = t : t?.kind === "brush" ? a.curBrush = t : t?.kind === "font" && (a.curFont = t);
761
+ }
762
+ break;
763
+ }
764
+ case _.DELETEOBJECT: {
765
+ let e = c.u32(), t = a.objects.get(e);
766
+ t && (t === a.curPen && (a.curPen = null), t === a.curBrush && (a.curBrush = null), t === a.curFont && (a.curFont = null), a.objects.delete(e));
767
+ break;
768
+ }
769
+ case _.CREATEPEN: {
770
+ let [e, t] = xe(c);
771
+ a.objects.set(e, t);
772
+ break;
773
+ }
774
+ case _.EXTCREATEPEN: {
775
+ let [e, t] = Se(c);
776
+ a.objects.set(e, t);
777
+ break;
778
+ }
779
+ case _.CREATEBRUSHINDIRECT: {
780
+ let [e, t] = Ce(c);
781
+ a.objects.set(e, t);
782
+ break;
783
+ }
784
+ case _.CREATEMONOBRUSH:
785
+ case _.CREATEDIBPATTERNBRUSHPT: {
786
+ let [e, t] = we(c, i, o);
787
+ a.objects.set(e, t);
788
+ break;
789
+ }
790
+ case _.EXTCREATEFONTINDIRECTW: {
791
+ let [e, t] = Te(c, i, o);
792
+ a.objects.set(e, t);
793
+ break;
794
+ }
795
+ case _.POLYLINE16:
796
+ _e(a, c, D);
797
+ break;
798
+ case _.POLYLINE:
799
+ _e(a, c, O);
800
+ break;
801
+ case _.POLYLINETO16:
802
+ ve(a, c, D);
803
+ break;
804
+ case _.POLYLINETO:
805
+ ve(a, c, O);
806
+ break;
807
+ case _.POLYGON16:
808
+ ye(a, c, D);
809
+ break;
810
+ case _.POLYGON:
811
+ ye(a, c, O);
812
+ break;
813
+ case _.POLYBEZIER16:
814
+ k(a, c, D, !1);
815
+ break;
816
+ case _.POLYBEZIER:
817
+ k(a, c, O, !1);
818
+ break;
819
+ case _.POLYBEZIERTO16:
820
+ k(a, c, D, !0);
821
+ break;
822
+ case _.POLYBEZIERTO:
823
+ k(a, c, O, !0);
824
+ break;
825
+ case _.POLYPOLYGON16:
826
+ A(a, c, D, !0);
827
+ break;
828
+ case _.POLYPOLYGON:
829
+ A(a, c, O, !0);
830
+ break;
831
+ case _.POLYPOLYLINE16:
832
+ A(a, c, D, !1);
833
+ break;
834
+ case _.POLYPOLYLINE:
835
+ A(a, c, O, !1);
836
+ break;
837
+ case _.MOVETOEX:
838
+ a.curX = c.i32(), a.curY = c.i32();
839
+ break;
840
+ case _.LINETO: {
841
+ let e = c.i32(), n = c.i32();
842
+ if (a.curPen && a.curPen.stroke != null) {
843
+ let [r, i] = T(a, a.curX, a.curY), [o, s] = T(a, e, n);
844
+ t.beginPath(), t.moveTo(r, i), t.lineTo(o, s), t.strokeStyle = a.curPen.stroke, t.lineWidth = E(a, a.curPen.width), t.stroke(), a.drew = !0;
845
+ }
846
+ a.curX = e, a.curY = n;
847
+ break;
848
+ }
849
+ case _.RECTANGLE:
850
+ be(a, c.i32(), c.i32(), c.i32(), c.i32());
851
+ break;
852
+ case _.ELLIPSE: {
853
+ let e = c.i32(), n = c.i32(), r = c.i32(), i = c.i32(), [o, s] = [(e + r) / 2, (n + i) / 2], [l, u] = T(a, o, s), [d] = T(a, r, s), [, f] = T(a, o, i), p = Math.abs(d - l), m = Math.abs(f - u);
854
+ 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 = E(a, a.curPen.width), t.stroke(), a.drew = !0);
855
+ break;
856
+ }
857
+ case _.SETPOLYFILLMODE:
858
+ a.fillRule = c.u32() === 1 ? "evenodd" : "nonzero";
859
+ break;
860
+ case _.SETTEXTCOLOR:
861
+ a.textColor = P(c.u32());
862
+ break;
863
+ case _.SETTEXTALIGN:
864
+ a.textAlign = c.u32();
865
+ break;
866
+ case _.SETBKMODE:
867
+ a.bkMode = c.u32();
868
+ break;
869
+ case _.EXTTEXTOUTW:
870
+ Ee(a, c, i, o);
871
+ break;
872
+ case _.BITBLT:
873
+ Oe(a, c, i, o);
874
+ break;
875
+ case _.STRETCHDIBITS:
876
+ ke(a, c, i, o);
877
+ break;
878
+ default: break;
879
+ }
880
+ } catch {}
881
+ o = s;
882
+ }
883
+ return a.drew;
884
+ }
885
+ async function je(e, t, n) {
886
+ if (!N(e) || t <= 0 || n <= 0) return null;
887
+ let r = a(t, n);
888
+ if (!r) return null;
889
+ let i = r.getContext("2d");
890
+ return !i || (i.lineJoin = "round", i.lineCap = "round", !Ae(e, i, t, n)) ? null : createImageBitmap(r);
891
+ }
892
+ //#endregion
893
+ //#region packages/core/src/image/raster-dimensions.ts
894
+ function Me(e, t) {
895
+ return e[t] << 8 | e[t + 1];
896
+ }
897
+ function Ne(e, t) {
898
+ return (e[t] << 24 | e[t + 1] << 16 | e[t + 2] << 8 | e[t + 3]) >>> 0;
899
+ }
900
+ function j(e, t) {
901
+ return e[t] | e[t + 1] << 8;
902
+ }
903
+ function Pe(e, t) {
904
+ return e[t] | e[t + 1] << 8 | e[t + 2] << 16 | e[t + 3] << 24 | 0;
905
+ }
906
+ function Fe(e) {
907
+ let t = e.length;
908
+ return t >= 24 && e[0] === 137 && e[1] === 80 && e[2] === 78 && e[3] === 71 && e[4] === 13 && e[5] === 10 && e[6] === 26 && e[7] === 10 ? e[12] === 73 && e[13] === 72 && e[14] === 68 && e[15] === 82 ? {
909
+ width: Ne(e, 16),
910
+ height: Ne(e, 20)
911
+ } : null : t >= 10 && e[0] === 71 && e[1] === 73 && e[2] === 70 && e[3] === 56 && (e[4] === 55 || e[4] === 57) && e[5] === 97 ? {
912
+ width: j(e, 6),
913
+ height: j(e, 8)
914
+ } : t >= 26 && e[0] === 66 && e[1] === 77 ? Ie(e, 14) === 12 ? {
915
+ width: j(e, 18),
916
+ height: j(e, 20)
917
+ } : {
918
+ width: Math.abs(Pe(e, 18)),
919
+ height: Math.abs(Pe(e, 22))
920
+ } : t >= 16 && e[0] === 82 && e[1] === 73 && e[2] === 70 && e[3] === 70 && e[8] === 87 && e[9] === 69 && e[10] === 66 && e[11] === 80 ? Le(e) : t >= 4 && e[0] === 255 && e[1] === 216 ? Re(e) : null;
921
+ }
922
+ function Ie(e, t) {
923
+ return (e[t] | e[t + 1] << 8 | e[t + 2] << 16 | e[t + 3] << 24) >>> 0;
924
+ }
925
+ function Le(e) {
926
+ let t = e.length, n = e[12], r = e[13], i = e[14], a = e[15];
927
+ if (n === 86 && r === 80 && i === 56 && a === 32) return t < 30 ? null : {
928
+ width: j(e, 26) & 16383,
929
+ height: j(e, 28) & 16383
930
+ };
931
+ if (n === 86 && r === 80 && i === 56 && a === 76) {
932
+ if (t < 25 || e[20] !== 47) return null;
933
+ let n = Ie(e, 21);
934
+ return {
935
+ width: (n & 16383) + 1,
936
+ height: (n >>> 14 & 16383) + 1
937
+ };
938
+ }
939
+ return n === 86 && r === 80 && i === 56 && a === 88 ? t < 30 ? null : {
940
+ width: (e[24] | e[25] << 8 | e[26] << 16) + 1,
941
+ height: (e[27] | e[28] << 8 | e[29] << 16) + 1
942
+ } : null;
943
+ }
944
+ function Re(e) {
945
+ let t = e.length, n = 2;
946
+ for (; n + 1 < t;) {
947
+ if (e[n] !== 255) {
948
+ n += 1;
949
+ continue;
950
+ }
951
+ let r = e[n + 1];
952
+ if (r === 255) {
953
+ n += 1;
954
+ continue;
955
+ }
956
+ if (r === 216 || r === 1 || r >= 208 && r <= 215) {
957
+ n += 2;
958
+ continue;
959
+ }
960
+ if (r === 217 || n + 3 >= t) return null;
961
+ let i = Me(e, n + 2);
962
+ if (r >= 192 && r <= 207 && r !== 196 && r !== 200 && r !== 204) {
963
+ if (n + 8 >= t) return null;
964
+ let r = Me(e, n + 5);
965
+ return {
966
+ width: Me(e, n + 7),
967
+ height: r
968
+ };
969
+ }
970
+ if (i < 2) return null;
971
+ n += 2 + i;
972
+ }
973
+ return null;
974
+ }
975
+ function ze(e) {
976
+ let { width: t, height: n } = e;
977
+ return !Number.isFinite(t) || !Number.isFinite(n) || t <= 0 || n <= 0 || t > 32767 || n > 32767 ? !0 : t * n > c;
978
+ }
979
+ //#endregion
980
+ //#region packages/core/src/image/image-bitmap-lifecycle.ts
981
+ function Be(e) {
982
+ let t = e.close;
983
+ typeof t == "function" && t.call(e);
984
+ }
985
+ //#endregion
986
+ //#region packages/core/src/image/wmf.ts
987
+ var M = {
988
+ EOF: 0,
989
+ SETBKMODE: 258,
990
+ SETTEXTALIGN: 302,
991
+ SETTEXTCOLOR: 521,
992
+ SETPOLYFILLMODE: 262,
993
+ SETWINDOWORG: 523,
994
+ SETWINDOWEXT: 524,
995
+ SELECTOBJECT: 301,
996
+ DELETEOBJECT: 496,
997
+ TEXTOUT: 1313,
998
+ POLYGON: 804,
999
+ POLYLINE: 805,
1000
+ POLYPOLYGON: 1336,
1001
+ RECTANGLE: 1051,
1002
+ CREATEPENINDIRECT: 762,
1003
+ CREATEFONTINDIRECT: 763,
1004
+ CREATEBRUSHINDIRECT: 764,
1005
+ DIBBITBLT: 2368,
1006
+ DIBSTRETCHBLT: 2881,
1007
+ STRETCHDIBITS: 3907
1008
+ }, Ve = 2596720087, He = 22, Ue = 18, We = 1179469088;
1009
+ function Ge(e, t) {
1010
+ if (e.length < t + Ue) return !1;
1011
+ let n = e[t] | e[t + 1] << 8, r = e[t + 2] | e[t + 3] << 8;
1012
+ return (n === 1 || n === 2) && r === 9;
1013
+ }
1014
+ function Ke(e) {
1015
+ return e.length < 4 ? !1 : (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 === Ve ? !0 : Ge(e, 0);
1016
+ }
1017
+ function N(e) {
1018
+ if (e.length < 44) return !1;
1019
+ let t = new DataView(e.buffer, e.byteOffset, e.byteLength);
1020
+ return t.getUint32(0, !0) === 1 && t.getUint32(40, !0) === We;
1021
+ }
1022
+ function qe(e) {
1023
+ return e === "image/wmf" || e === "image/emf";
1024
+ }
1025
+ function P(e) {
1026
+ let t = e & 255, n = e >>> 8 & 255, r = e >>> 16 & 255, i = (e) => e.toString(16).padStart(2, "0");
1027
+ return `#${i(t)}${i(n)}${i(r)}`;
1028
+ }
1029
+ function F(e, t) {
1030
+ for (let n = 0; n < e.length; n++) if (e[n] == null) {
1031
+ e[n] = t;
1032
+ return;
1033
+ }
1034
+ e.push(t);
1035
+ }
1036
+ var Je = class {
1037
+ p = 0;
1038
+ constructor(e, t, n) {
1039
+ this.b = e, this.end = n, this.p = t;
1040
+ }
1041
+ get remaining() {
1042
+ return this.end - this.p;
1043
+ }
1044
+ i16() {
1045
+ let e = this.u16();
1046
+ return e >= 32768 ? e - 65536 : e;
1047
+ }
1048
+ u16() {
1049
+ let e = this.b[this.p] | this.b[this.p + 1] << 8;
1050
+ return this.p += 2, e;
1051
+ }
1052
+ u8() {
1053
+ return this.b[this.p++];
1054
+ }
1055
+ u32() {
1056
+ 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;
1057
+ return this.p += 4, e;
1058
+ }
1059
+ bytes(e) {
1060
+ let t = Math.min(this.p + Math.max(0, e), this.end), n = this.b.subarray(this.p, t);
1061
+ return this.p = t, n;
1062
+ }
1063
+ skip(e) {
1064
+ this.p = Math.min(this.p + Math.max(0, e), this.end);
1065
+ }
1066
+ };
1067
+ function I(e, t) {
1068
+ return (t - e.orgX) * (e.W / e.extX);
1069
+ }
1070
+ function L(e, t) {
1071
+ return (t - e.orgY) * (e.H / e.extY);
1072
+ }
1073
+ function Ye(e, t) {
1074
+ let n = t * Math.abs(e.W / e.extX);
1075
+ return n >= 1 ? n : 1;
1076
+ }
1077
+ var R = .001;
1078
+ function z(e, t, n) {
1079
+ return Math.abs(e - t) <= R || Math.abs(e - n) <= R;
1080
+ }
1081
+ function Xe(e, t, n) {
1082
+ let r = [], i = n ? t.length : t.length - 1;
1083
+ for (let n = 0; n < i; n++) {
1084
+ let i = t[n], a = t[(n + 1) % t.length], o = Math.abs(i[0] - a[0]) <= R && z(i[0], 0, e.W) && z(a[0], 0, e.W), s = Math.abs(i[1] - a[1]) <= R && z(i[1], 0, e.H) && z(a[1], 0, e.H);
1085
+ o || s || r.push([i, a]);
1086
+ }
1087
+ return r;
1088
+ }
1089
+ function Ze(e, t, n) {
1090
+ if (!e.curPen || e.curPen.stroke == null || t.length < 2) return;
1091
+ let { ctx: r } = e;
1092
+ if (r.strokeStyle = e.curPen.stroke, r.lineWidth = Ye(e, e.curPen.width), !e.suppressBoundaryFrame) {
1093
+ r.beginPath(), r.moveTo(t[0][0], t[0][1]);
1094
+ for (let e = 1; e < t.length; e++) r.lineTo(t[e][0], t[e][1]);
1095
+ n && r.closePath(), r.stroke(), e.drew = !0;
1096
+ return;
1097
+ }
1098
+ let i = Xe(e, t, n);
1099
+ if (i.length === 0) return;
1100
+ r.beginPath();
1101
+ let a = null;
1102
+ 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;
1103
+ r.stroke(), e.drew = !0;
1104
+ }
1105
+ function B(e, t, n) {
1106
+ let r = [];
1107
+ for (let i = 0; i < n && !(t.remaining < 4); i++) {
1108
+ let n = t.i16(), i = t.i16();
1109
+ r.push([I(e, n), L(e, i)]);
1110
+ }
1111
+ return r;
1112
+ }
1113
+ function Qe(e, t) {
1114
+ t.length < 2 || !e.curPen || e.curPen.stroke == null || Ze(e, t, !1);
1115
+ }
1116
+ function $e(e, t) {
1117
+ if (t.length < 2) return;
1118
+ let { ctx: n } = e;
1119
+ if (e.curBrush && e.curBrush.fill != null) {
1120
+ n.beginPath(), n.moveTo(t[0][0], t[0][1]);
1121
+ for (let e = 1; e < t.length; e++) n.lineTo(t[e][0], t[e][1]);
1122
+ n.closePath(), n.fillStyle = e.curBrush.fill, n.fill(e.fillRule), e.drew = !0;
1123
+ }
1124
+ Ze(e, t, !0);
1125
+ }
1126
+ function et(e, t) {
1127
+ let n = t.u16();
1128
+ if (n <= 0 || n > 65536) return;
1129
+ let r = [];
1130
+ for (let e = 0; e < n; e++) {
1131
+ if (t.remaining < 2) return;
1132
+ r.push(t.u16());
1133
+ }
1134
+ let { ctx: i } = e;
1135
+ i.beginPath();
1136
+ let a = !1;
1137
+ for (let n of r) {
1138
+ if (n < 2) {
1139
+ for (let e = 0; e < n && t.remaining >= 4; e++) t.i16(), t.i16();
1140
+ continue;
1141
+ }
1142
+ let r = B(e, t, n);
1143
+ if (!(r.length < 2)) {
1144
+ i.moveTo(r[0][0], r[0][1]);
1145
+ for (let e = 1; e < r.length; e++) i.lineTo(r[e][0], r[e][1]);
1146
+ i.closePath(), a = !0;
1147
+ }
1148
+ }
1149
+ 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 = Ye(e, e.curPen.width), i.stroke(), e.drew = !0));
1150
+ }
1151
+ function tt(e) {
1152
+ let t = e.u16(), n = e.i16();
1153
+ e.i16();
1154
+ let r = e.u32();
1155
+ return {
1156
+ kind: "pen",
1157
+ stroke: (t & 255) == 5 ? null : P(r),
1158
+ width: Math.abs(n)
1159
+ };
1160
+ }
1161
+ function nt(e) {
1162
+ let t = e.u16(), n = e.u32();
1163
+ return e.u16(), {
1164
+ kind: "brush",
1165
+ fill: t === 1 ? null : P(n)
1166
+ };
1167
+ }
1168
+ function rt(e) {
1169
+ let t = e.indexOf(0), n = t >= 0 ? e.subarray(0, t) : e;
1170
+ if (n.length === 0) return "";
1171
+ try {
1172
+ return new TextDecoder("shift_jis").decode(n);
1173
+ } catch {
1174
+ return String.fromCharCode(...n);
1175
+ }
1176
+ }
1177
+ function it(e) {
1178
+ let t = Math.abs(e.i16());
1179
+ e.i16(), e.i16(), e.i16();
1180
+ let n = e.i16(), r = e.u8() !== 0;
1181
+ return e.u8(), e.u8(), e.u8(), e.u8(), e.u8(), e.u8(), e.u8(), {
1182
+ kind: "font",
1183
+ height: t,
1184
+ weight: n,
1185
+ italic: r,
1186
+ face: rt(e.bytes(Math.min(32, e.remaining)))
1187
+ };
1188
+ }
1189
+ function at(e, t, n, r) {
1190
+ if (t.length === 0) return;
1191
+ let i = e.curFont, a = i?.height || 12, o = Math.abs(L(e, e.orgY + a) - L(e, e.orgY));
1192
+ if (!Number.isFinite(o) || o < 1) return;
1193
+ let { ctx: s } = e;
1194
+ try {
1195
+ s.fillStyle = e.textColor;
1196
+ let a = i && i.weight >= 700 ? "bold " : "";
1197
+ s.font = `${i?.italic ? "italic " : ""}${a}${o}px ${i?.face || "sans-serif"}`;
1198
+ let c = e.textAlign & 6;
1199
+ s.textAlign = c === 2 ? "right" : c === 6 ? "center" : "left", s.textBaseline = (e.textAlign & 24) == 24 ? "alphabetic" : "top", s.fillText(t, I(e, n), L(e, r)), e.drew = !0;
1200
+ } catch {}
1201
+ }
1202
+ function ot(e, t, n, r, i = !1) {
1203
+ if (!Ke(e)) return !1;
1204
+ let a = 0;
1205
+ (e.length >= 4 ? (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 : 0) === Ve && (a = He);
1206
+ let o = a + Ue;
1207
+ if (o > e.length) return !1;
1208
+ let s = {
1209
+ ctx: t,
1210
+ W: n,
1211
+ H: r,
1212
+ orgX: 0,
1213
+ orgY: 0,
1214
+ extX: n || 1,
1215
+ extY: r || 1,
1216
+ haveExt: !1,
1217
+ objects: [],
1218
+ curPen: null,
1219
+ curBrush: null,
1220
+ curFont: null,
1221
+ textColor: "#000000",
1222
+ textAlign: 0,
1223
+ fillRule: "nonzero",
1224
+ drew: !1,
1225
+ suppressBoundaryFrame: i
1226
+ }, c = new DataView(e.buffer, e.byteOffset, e.byteLength);
1227
+ for (; o + 6 <= e.length;) {
1228
+ let t = c.getUint32(o, !0), n = c.getUint16(o + 4, !0);
1229
+ if (t < 3) break;
1230
+ let r = t * 2, i = o + r;
1231
+ if (i > e.length || n === M.EOF) break;
1232
+ let a = o + 6, l = new Je(e, a, i);
1233
+ switch (n) {
1234
+ case M.SETWINDOWORG:
1235
+ s.orgY = l.i16(), s.orgX = l.i16();
1236
+ break;
1237
+ case M.SETWINDOWEXT: {
1238
+ let e = l.i16(), t = l.i16();
1239
+ s.extY = e || 1, s.extX = t || 1, s.haveExt = !0;
1240
+ break;
1241
+ }
1242
+ case M.SETPOLYFILLMODE:
1243
+ s.fillRule = l.u16() === 1 ? "evenodd" : "nonzero";
1244
+ break;
1245
+ case M.SETTEXTCOLOR:
1246
+ s.textColor = P(l.u32());
1247
+ break;
1248
+ case M.SETTEXTALIGN:
1249
+ s.textAlign = l.u16();
1250
+ break;
1251
+ case M.CREATEPENINDIRECT:
1252
+ F(s.objects, tt(l));
1253
+ break;
1254
+ case M.CREATEBRUSHINDIRECT:
1255
+ F(s.objects, nt(l));
1256
+ break;
1257
+ case M.CREATEFONTINDIRECT:
1258
+ F(s.objects, it(l));
1259
+ break;
1260
+ case M.SELECTOBJECT: {
1261
+ let e = l.u16(), t = s.objects[e];
1262
+ t?.kind === "pen" ? s.curPen = t : t?.kind === "brush" ? s.curBrush = t : t?.kind === "font" && (s.curFont = t);
1263
+ break;
1264
+ }
1265
+ case M.DELETEOBJECT: {
1266
+ let e = l.u16(), t = s.objects[e];
1267
+ t && (t === s.curPen && (s.curPen = null), t === s.curBrush && (s.curBrush = null), t === s.curFont && (s.curFont = null), s.objects[e] = null);
1268
+ break;
1269
+ }
1270
+ case M.POLYLINE:
1271
+ Qe(s, B(s, l, l.i16()));
1272
+ break;
1273
+ case M.POLYGON:
1274
+ $e(s, B(s, l, l.i16()));
1275
+ break;
1276
+ case M.POLYPOLYGON:
1277
+ et(s, l);
1278
+ break;
1279
+ case M.RECTANGLE: {
1280
+ let e = l.i16(), t = l.i16(), n = l.i16(), r = l.i16();
1281
+ $e(s, [
1282
+ [I(s, r), L(s, n)],
1283
+ [I(s, t), L(s, n)],
1284
+ [I(s, t), L(s, e)],
1285
+ [I(s, r), L(s, e)]
1286
+ ]);
1287
+ break;
1288
+ }
1289
+ case M.TEXTOUT: {
1290
+ let e = l.u16(), t = rt(l.bytes(e));
1291
+ e % 2 != 0 && l.skip(1);
1292
+ let n = l.i16();
1293
+ at(s, t, l.i16(), n);
1294
+ break;
1295
+ }
1296
+ case M.STRETCHDIBITS: {
1297
+ l.u32(), l.i16(), l.i16(), l.i16(), l.i16(), l.u16();
1298
+ let e = l.i16(), t = l.i16(), n = l.i16(), r = l.i16(), o = a + 22, u = h(c, o, i - o);
1299
+ if (u) {
1300
+ let i = I(s, r), a = L(s, n), o = I(s, r + t), c = L(s, n + e);
1301
+ g(s.ctx, u, i, a, o, c) && (s.drew = !0);
1302
+ }
1303
+ break;
1304
+ }
1305
+ case M.DIBSTRETCHBLT:
1306
+ case M.DIBBITBLT:
1307
+ case M.SETBKMODE: break;
1308
+ default: break;
1309
+ }
1310
+ o = i;
1311
+ }
1312
+ return s.drew;
1313
+ }
1314
+ var st = 2e3, ct = 2;
1315
+ function lt(e, t) {
1316
+ let n = e > 0 ? e : 300, r = t > 0 ? t : 300, i = (e) => Math.max(1, Math.min(st, Math.round(e)));
1317
+ return {
1318
+ w: i(n * ct),
1319
+ h: i(r * ct)
1320
+ };
1321
+ }
1322
+ async function ut(e, t, n, r = !1) {
1323
+ if (!Ke(e) || t <= 0 || n <= 0) return null;
1324
+ let i = a(t, n);
1325
+ if (!i) return null;
1326
+ let o = i.getContext("2d");
1327
+ return !o || (o.lineJoin = "round", o.lineCap = "round", !ot(e, o, t, n, r)) ? null : createImageBitmap(i);
1328
+ }
1329
+ async function dt(e, t = {}) {
1330
+ let { widthPt: n = 0, heightPt: r = 0, suppressBoundaryFrame: i = !1 } = t, a = new Uint8Array(await e.slice(0, 64 * 1024).arrayBuffer());
1331
+ if (Ke(a)) {
1332
+ let { w: t, h: a } = lt(n, r);
1333
+ return V(await ut(new Uint8Array(await e.arrayBuffer()), t, a, i));
1334
+ }
1335
+ if (N(a)) {
1336
+ let { w: t, h: i } = lt(n, r);
1337
+ return V(await je(new Uint8Array(await e.arrayBuffer()), t, i));
1338
+ }
1339
+ let o = Fe(a);
1340
+ if (o && ze(o)) throw new u("image-pixels", c, o.width * o.height);
1341
+ return V(await createImageBitmap(e));
1342
+ }
1343
+ function V(e) {
1344
+ if (!e) return null;
1345
+ let t = Number(e.width), n = Number(e.height);
1346
+ if (!ze({
1347
+ width: t,
1348
+ height: n
1349
+ })) return e;
1350
+ let r = t * n;
1351
+ throw Be(e), new u("image-pixels", c, Number.isSafeInteger(r) && r >= 0 ? r : 2 ** 53 - 1);
1352
+ }
1353
+ //#endregion
1354
+ //#region packages/core/src/image/crop.ts
1355
+ function ft(e) {
1356
+ if (!e) return !0;
1357
+ if (![
1358
+ e.l,
1359
+ e.t,
1360
+ e.r,
1361
+ e.b
1362
+ ].every(Number.isFinite)) return !1;
1363
+ let t = e.l, n = e.t, r = 1 - e.r, i = 1 - e.b;
1364
+ return r > t && i > n && Math.min(1, r) > Math.max(0, t) && Math.min(1, i) > Math.max(0, n);
1365
+ }
1366
+ function pt(e) {
1367
+ let t = e;
1368
+ return {
1369
+ w: t.naturalWidth || (typeof t.width == "number" ? t.width : 0) || 0,
1370
+ h: t.naturalHeight || (typeof t.height == "number" ? t.height : 0) || 0
1371
+ };
1372
+ }
1373
+ function mt(e, t) {
1374
+ if (!t || !(t.l || t.t || t.r || t.b) || ![
1375
+ t.l,
1376
+ t.t,
1377
+ t.r,
1378
+ t.b
1379
+ ].every(Number.isFinite)) return null;
1380
+ let { w: n, h: r } = pt(e);
1381
+ if (n <= 0 || r <= 0) return null;
1382
+ let i = t.l, a = t.t, o = 1 - t.r, s = 1 - t.b, c = o - i, l = s - a;
1383
+ if (!(c > 0) || !(l > 0)) return {
1384
+ sx: 0,
1385
+ sy: 0,
1386
+ sw: 0,
1387
+ sh: 0,
1388
+ dxFraction: 0,
1389
+ dyFraction: 0,
1390
+ dwFraction: 0,
1391
+ dhFraction: 0
1392
+ };
1393
+ let u = Math.max(0, i), d = Math.max(0, a), f = Math.min(1, o), p = Math.min(1, s), m = Math.max(0, f - u), h = Math.max(0, p - d);
1394
+ return {
1395
+ sx: u * n,
1396
+ sy: d * r,
1397
+ sw: m * n,
1398
+ sh: h * r,
1399
+ dxFraction: (u - i) / c,
1400
+ dyFraction: (d - a) / l,
1401
+ dwFraction: m / c,
1402
+ dhFraction: h / l
1403
+ };
1404
+ }
1405
+ function ht(e, t, n, r, i, a, o) {
1406
+ let s = mt(t, n);
1407
+ s ? s.sw > 0 && s.sh > 0 && s.dwFraction > 0 && s.dhFraction > 0 && e.drawImage(t, s.sx, s.sy, s.sw, s.sh, r + s.dxFraction * a, i + s.dyFraction * o, s.dwFraction * a, s.dhFraction * o) : e.drawImage(t, r, i, a, o);
1408
+ }
1409
+ function gt(e, t, n, r) {
1410
+ if (!t || !qe(e)) return {
1411
+ widthPt: n,
1412
+ heightPt: r
1413
+ };
1414
+ if (!ft(t)) return null;
1415
+ let i = 1 - t.l - t.r, a = 1 - t.t - t.b;
1416
+ return {
1417
+ widthPt: n / i,
1418
+ heightPt: r / a
1419
+ };
1420
+ }
1421
+ //#endregion
1422
+ //#region packages/core/src/chart/box-whisker.ts
1423
+ var _t = .06;
1424
+ function vt(e) {
1425
+ let t = Math.floor(e.length / 2);
1426
+ return e.length % 2 == 1 ? e[t] : e[t - 1] / 2 + e[t] / 2;
1427
+ }
1428
+ function yt(e) {
1429
+ let t = 0;
1430
+ for (let n of e) t = Math.max(t, Math.abs(n));
1431
+ if (t === 0) return 0;
1432
+ let n = 0;
1433
+ for (let r of e) n += r / t;
1434
+ return n / e.length * t;
1435
+ }
1436
+ function bt(e, t, n) {
1437
+ if (!Number.isFinite(t)) return n < 0 ? -Number.MAX_VALUE : Number.MAX_VALUE;
1438
+ let r = e + n * t;
1439
+ return Number.isFinite(r) ? r : n < 0 ? -Number.MAX_VALUE : Number.MAX_VALUE;
1440
+ }
1441
+ function xt(e, t) {
1442
+ let n = e.filter((e) => typeof e == "number" && Number.isFinite(e)).sort((e, t) => e - t);
1443
+ if (n.length === 0) return null;
1444
+ let r = Math.floor(n.length / 2), i = vt(n), a = t === "inclusive" && n.length % 2 == 1, o = n.slice(0, r + +!!a), s = n.slice(r + +(n.length % 2 == 1 && !a)), c = vt(o.length > 0 ? o : n), l = vt(s.length > 0 ? s : n), u = (l - c) * 1.5, d = bt(c, u, -1), f = bt(l, u, 1), p = [], m = [];
1445
+ for (let e of n) e < d || e > f ? m.push(e) : p.push(e);
1446
+ return {
1447
+ q1: c,
1448
+ median: i,
1449
+ q3: l,
1450
+ lowerFence: d,
1451
+ upperFence: f,
1452
+ whiskerLo: p[0] ?? n[0],
1453
+ whiskerHi: p[p.length - 1] ?? n[n.length - 1],
1454
+ mean: yt(n),
1455
+ outliers: m,
1456
+ inner: p
1457
+ };
1458
+ }
1459
+ function St(e, t) {
1460
+ let n = 0;
1461
+ for (let r of e) for (let e of r) if (n += e.length, !Number.isSafeInteger(n) || n > t) return t + 1;
1462
+ return n;
1463
+ }
1464
+ function Ct(e, t, n, r, i, a, o) {
1465
+ if (!Number.isFinite(e) || !Number.isFinite(t) || t <= 0 || !Number.isInteger(n) || n <= 0 || !Number.isInteger(r) || r <= 0 || !Number.isInteger(i) || i < 0 || i >= n || !Number.isInteger(a) || a < 0 || a >= r || !Number.isFinite(o) || o < 0) return null;
1466
+ let s = t / n, c = s / (r + o / 100), l = c * r, u = c * _t, d = c - u, f = e + s * (i + .5) - l / 2 + a * c + u / 2;
1467
+ return {
1468
+ boxX: f,
1469
+ boxWidth: d,
1470
+ centerX: f + d / 2
1471
+ };
1472
+ }
1473
+ //#endregion
1474
+ //#region packages/core/src/chart/category-spacing.ts
1475
+ function wt(e, t) {
1476
+ return t == null || !Number.isFinite(t) ? e : e * Math.max(0, Math.min(1e3, t)) / 100;
1477
+ }
1478
+ function Tt(e, t, n, r = !1) {
1479
+ let i = Math.max(0, t - 1), a = Number.isFinite(e) ? Math.max(0, Math.min(i, e)) : 0, o = n ? (a + .5) / Math.max(1, t) : t === 1 ? .5 : a / i;
1480
+ return r ? 1 - o : o;
1481
+ }
1482
+ function Et(e, t) {
1483
+ if (e <= 0) return [];
1484
+ let n = [], r = t ? e : e - 1;
1485
+ for (let i = 0; i <= r; i++) n.push(t ? i / e : e === 1 ? .5 : i / (e - 1));
1486
+ return n;
1487
+ }
1488
+ function Dt(e, t) {
1489
+ return e <= 0 ? [] : t ? Array.from({ length: e }, (t, n) => (n + .5) / e) : e <= 1 ? [] : Array.from({ length: e - 1 }, (t, n) => (n + .5) / (e - 1));
1490
+ }
1491
+ function Ot(e, t, n, r, i) {
1492
+ if (i == null) return {
1493
+ fraction: Tt(e, t, n, r),
1494
+ textAlign: "center"
1495
+ };
1496
+ let a = Math.max(0, t - 1), o = Number.isFinite(e) ? Math.max(0, Math.min(a, e)) : 0, s, c;
1497
+ if (t <= 1 ? (s = 0, c = 1) : n ? (s = o / t, c = (o + 1) / t) : (s = o === 0 ? 0 : (o - .5) / a, c = o === a ? 1 : (o + .5) / a), r) {
1498
+ let e = 1 - c;
1499
+ c = 1 - s, s = e;
1500
+ }
1501
+ return i === "l" ? {
1502
+ fraction: s,
1503
+ textAlign: "left"
1504
+ } : i === "r" ? {
1505
+ fraction: c,
1506
+ textAlign: "right"
1507
+ } : {
1508
+ fraction: (s + c) / 2,
1509
+ textAlign: "center"
1510
+ };
1511
+ }
1512
+ function kt(e, t) {
1513
+ return e != null && Number.isFinite(e) ? Math.max(0, Math.min(500, e)) : t === "legacy" ? 150 : 33;
1514
+ }
1515
+ //#endregion
1516
+ //#region packages/core/src/chart/layout.ts
1517
+ function At(e, t, n) {
1518
+ let r = Math.max(1, t), i = [], a = [], o = 0;
1519
+ for (let t = 0; t < e.length; t++) {
1520
+ let s = Math.min(r, Math.max(0, e[t])), c = a.length === 0 ? s : o + n + s;
1521
+ a.length > 0 && c > r ? (i.push(a), a = [t], o = s) : (a.push(t), o = c);
1522
+ }
1523
+ return a.length > 0 && i.push(a), i;
1524
+ }
1525
+ var jt = 14;
1526
+ function Mt(e, t) {
1527
+ return typeof e == "number" && Number.isFinite(e) && e >= 100 && e <= 4e5 ? e / 100 * t : null;
1528
+ }
1529
+ function Nt(e, t, n) {
1530
+ return Mt(e.titleFontSizeHpt, n) ?? jt * n;
1531
+ }
1532
+ var Pt = .62;
1533
+ function Ft(e, t, n, r, i) {
1534
+ if (!e.title && !e.titlePresent) return {
1535
+ fontPx: 0,
1536
+ topPad: 0,
1537
+ bottomPad: 0,
1538
+ bandH: 0
1539
+ };
1540
+ let a = Nt(e, t, n), o = a + t * r + t * i, s = Math.min(Math.max(0, o - a), a * Pt);
1541
+ return {
1542
+ fontPx: a,
1543
+ topPad: s,
1544
+ bottomPad: o - a - s,
1545
+ bandH: o
1546
+ };
1547
+ }
1548
+ function It(e, t, n, r, i) {
1549
+ if (!e.showLegend) return null;
1550
+ let a = e.legendPos ?? "r", o = a === "l" ? "l" : a === "t" ? "t" : a === "b" ? "b" : "r";
1551
+ if (o === "r" || o === "l") {
1552
+ if (i) {
1553
+ let e = Math.min(80, t * .3), n = t * .3, r = Math.max(0, ...i.itemWidths) + i.horizontalPadding;
1554
+ return {
1555
+ side: o,
1556
+ reserveW: Math.min(n, Math.max(e, r)),
1557
+ reserveH: 0
1558
+ };
1559
+ }
1560
+ return {
1561
+ side: o,
1562
+ reserveW: Math.max(80, t * r),
1563
+ reserveH: 0
1564
+ };
1565
+ }
1566
+ if (i) {
1567
+ let e = Math.max(1, t - i.horizontalPadding), r = At(i.itemWidths, e, i.itemGap).length * i.rowHeight + i.verticalPadding;
1568
+ return {
1569
+ side: o,
1570
+ reserveW: 0,
1571
+ reserveH: Math.min(n * .3, r)
1572
+ };
1573
+ }
1574
+ return {
1575
+ side: o,
1576
+ reserveW: 0,
1577
+ reserveH: Math.max(18, n * .08)
1578
+ };
1579
+ }
1580
+ function Lt(e, t = !1) {
1581
+ return t ? {
1582
+ legRightW: 0,
1583
+ legLeftW: 0,
1584
+ legTopH: 0,
1585
+ legBottomH: 0
1586
+ } : {
1587
+ legRightW: e?.side === "r" ? e.reserveW : 0,
1588
+ legLeftW: e?.side === "l" ? e.reserveW : 0,
1589
+ legTopH: e?.side === "t" ? e.reserveH : 0,
1590
+ legBottomH: e?.side === "b" ? e.reserveH : 0
1591
+ };
1592
+ }
1593
+ function Rt(e, t) {
1594
+ return Mt(e, t) ?? 10 * t;
1595
+ }
1596
+ function zt(e, t) {
1597
+ return Math.max(0, e != null && Number.isFinite(e) ? e : 0) / n * t;
1598
+ }
1599
+ function Bt(e, t, n) {
1600
+ let r = 0, i = !1;
1601
+ if (n != null) switch (i = !0, n) {
1602
+ case "horz": break;
1603
+ case "vert270":
1604
+ r -= 90;
1605
+ break;
1606
+ case "vert":
1607
+ case "wordArtVert":
1608
+ case "eaVert":
1609
+ case "mongolianVert":
1610
+ case "wordArtVertRtl":
1611
+ r += 90;
1612
+ break;
1613
+ }
1614
+ return t != null && Number.isFinite(t) && (r += t / 6e4, i = !0), i ? r * Math.PI / 180 : e === "left" || e === "right" ? -Math.PI / 2 : 0;
1615
+ }
1616
+ function Vt(e) {
1617
+ return Math.max(8, e * .02);
1618
+ }
1619
+ function Ht(e, t, n, r) {
1620
+ let i = Rt(e.catAxisTitleFontSizeHpt, r), a = Rt(e.valAxisTitleFontSizeHpt, r), o = zt(e.catAxisTitleTextVerticalInsetEmu, r), s = zt(e.valAxisTitleTextVerticalInsetEmu, r);
1621
+ return {
1622
+ catFontPx: i,
1623
+ valFontPx: a,
1624
+ catBandH: e.catAxisTitle ? i + o + Vt(n) + 4 : 0,
1625
+ valBandW: e.valAxisTitle ? a + s + Vt(t) + 4 : 0
1626
+ };
1627
+ }
1628
+ var Ut = 2.25, Wt = 2.75;
1629
+ function Gt(e, t, n) {
1630
+ if (!e.title && !e.titlePresent) return {
1631
+ fontPx: 0,
1632
+ topPad: 0,
1633
+ bottomPad: 0,
1634
+ bandH: 0
1635
+ };
1636
+ let r = Nt(e, t, n), i = r * Ut, a = Math.min(Math.max(0, i - r), r * Pt);
1637
+ return {
1638
+ fontPx: r,
1639
+ topPad: a,
1640
+ bottomPad: i - r - a,
1641
+ bandH: i
1642
+ };
1643
+ }
1644
+ function Kt(e, t) {
1645
+ let n = qt(e), r = wt(n, t);
1646
+ return e * Wt + r - n;
1647
+ }
1648
+ function qt(e) {
1649
+ return 5 / 6 * e;
1650
+ }
1651
+ function Jt(e) {
1652
+ return e;
1653
+ }
1654
+ var Yt = 1.5;
1655
+ function Xt(e) {
1656
+ let t = e.outerTextMarginPx ?? 0;
1657
+ return {
1658
+ t: e.valAxisHidden ? 0 : e.valLabelFontPx / 2 + t,
1659
+ r: (e.secondaryBandW ?? 0) > 0 ? (e.secondaryBandW ?? 0) + t : 0,
1660
+ b: e.catAxisHidden ? 0 : e.catLabelFontPx + (e.catLabelGapPx ?? qt(e.catLabelFontPx)) + e.catTitleBandH + t,
1661
+ l: e.valAxisHidden ? 0 : e.valLabelWidth + (e.valLabelGapPx ?? Jt(e.valLabelFontPx)) + e.valTitleBandW + t
1662
+ };
1663
+ }
1664
+ function Zt(e, t, n) {
1665
+ let r = e.xMode || "factor", i = e.yMode || "factor", a = e.wMode || "factor", o = e.hMode || "factor", s = r === "edge" ? t.x + e.x * t.w : n.x + e.x * t.w, c = i === "edge" ? t.y + e.y * t.h : n.y + e.y * t.h, l = e.w == null ? n.w : a === "edge" ? t.x + e.w * t.w - s : e.w * t.w, u = e.h == null ? n.h : o === "edge" ? t.y + e.h * t.h - c : e.h * t.h;
1666
+ return ![
1667
+ s,
1668
+ c,
1669
+ l,
1670
+ u
1671
+ ].every(Number.isFinite) || l <= 0 || u <= 0 ? null : {
1672
+ x: s,
1673
+ y: c,
1674
+ w: l,
1675
+ h: u
1676
+ };
1677
+ }
1678
+ function Qt(e, t, n, r, i, a, o) {
1679
+ let s = o.titleBand ?? Ft(e, i, a, o.titleTopPadFrac ?? 0, o.titleBottomPadFrac ?? 0), c = o.legendReserve === void 0 ? It(e, r, i, o.legendSideReserveFrac) : o.legendReserve, l = Lt(c, e.legendOverlay === !0), u = Ht(e, r, i, a), d, f, p, m;
1680
+ if (o.radialGapFrac != null) {
1681
+ let e = i * o.radialGapFrac;
1682
+ p = r - l.legRightW - l.legLeftW, m = i - s.bandH - l.legTopH - l.legBottomH - e, d = t + l.legLeftW, f = n + s.bandH + l.legTopH + e;
1683
+ } else {
1684
+ let e = o.pad;
1685
+ if (!e) throw Error("computeChartFrame: cartesian frame requires params.pad");
1686
+ d = t + e.l, f = n + e.t, p = r - e.l - e.r, m = i - e.t - e.b;
1687
+ }
1688
+ let h = o.honorPlotAreaManualLayout ? e.plotAreaManualLayout : null;
1689
+ if (h) {
1690
+ let e = h.layoutTarget === "inner" ? {
1691
+ t: 0,
1692
+ r: 0,
1693
+ b: 0,
1694
+ l: 0
1695
+ } : o.manualOuterInsets ?? {
1696
+ t: 0,
1697
+ r: 0,
1698
+ b: 0,
1699
+ l: 0
1700
+ }, a = h.layoutTarget === "inner" ? {
1701
+ x: d,
1702
+ y: f,
1703
+ w: p,
1704
+ h: m
1705
+ } : {
1706
+ x: d - e.l,
1707
+ y: f - e.t,
1708
+ w: p + e.l + e.r,
1709
+ h: m + e.t + e.b
1710
+ }, s = Zt(h, {
1711
+ x: t,
1712
+ y: n,
1713
+ w: r,
1714
+ h: i
1715
+ }, a);
1716
+ s && s.w > e.l + e.r && s.h > e.t + e.b && (d = s.x + e.l, f = s.y + e.t, p = s.w - e.l - e.r, m = s.h - e.t - e.b);
1717
+ }
1718
+ return {
1719
+ title: s,
1720
+ legend: c,
1721
+ legendBands: l,
1722
+ axisTitles: u,
1723
+ plotRect: {
1724
+ px0: d,
1725
+ py0: f,
1726
+ pw: p,
1727
+ ph: m
1728
+ },
1729
+ center: {
1730
+ cx: d + p / 2,
1731
+ cy: f + m / 2
1732
+ }
1733
+ };
1734
+ }
1735
+ //#endregion
1736
+ //#region packages/core/src/chart/data-label-layout.ts
1737
+ var $t = (e) => [
1738
+ e.x,
1739
+ e.y,
1740
+ e.w,
1741
+ e.h
1742
+ ].every(Number.isFinite) && e.w > 0 && e.h > 0;
1743
+ function en(e, t) {
1744
+ let n = Math.max(e.x, t.x), r = Math.max(e.y, t.y), i = Math.min(e.x + e.w, t.x + t.w), a = Math.min(e.y + e.h, t.y + t.h);
1745
+ return i > n && a > r ? {
1746
+ x: n,
1747
+ y: r,
1748
+ w: i - n,
1749
+ h: a - r
1750
+ } : null;
1751
+ }
1752
+ function tn(e, t, n) {
1753
+ return Math.min(Math.max(e, t), n);
1754
+ }
1755
+ function nn(e, t, n, r, i, a = t) {
1756
+ if (!$t(t) || !$t(a) || !Number.isFinite(r) || r <= 0 || ![n.w, n.h].every(Number.isFinite) || n.w < 0 || n.h <= 0) return null;
1757
+ let o = r * .5, s = t, c, l, u = !1, d = "center", f = "middle";
1758
+ if (e.kind === "point") {
1759
+ if (![
1760
+ e.x,
1761
+ e.y,
1762
+ e.markerGap ?? 0
1763
+ ].every(Number.isFinite)) return null;
1764
+ let t = o + Math.max(0, e.markerGap ?? 0);
1765
+ switch (c = e.x, l = e.y, e.position ?? "r") {
1766
+ case "l":
1767
+ c -= t + n.w / 2, d = "right";
1768
+ break;
1769
+ case "t":
1770
+ l -= t + n.h / 2, f = "bottom";
1771
+ break;
1772
+ case "b":
1773
+ l += t + n.h / 2, f = "top";
1774
+ break;
1775
+ case "ctr":
1776
+ case "inEnd":
1777
+ case "bestFit": break;
1778
+ default:
1779
+ c += t + n.w / 2, d = "left";
1780
+ break;
1781
+ }
1782
+ } else if (e.kind === "box") {
1783
+ if (![
1784
+ e.rect.x,
1785
+ e.rect.y,
1786
+ e.rect.w,
1787
+ e.rect.h
1788
+ ].every(Number.isFinite) || e.rect.w <= 0 || e.rect.h <= 0) return null;
1789
+ let r = en(e.rect, t);
1790
+ if (!r) return null;
1791
+ let i = e.position ?? "ctr";
1792
+ c = r.x + r.w / 2, l = r.y + r.h / 2, i === "inBase" ? (s = {
1793
+ x: r.x + o,
1794
+ y: r.y + o,
1795
+ w: r.w - o,
1796
+ h: r.h - o
1797
+ }, c = s.x + n.w / 2, l = s.y + n.h / 2, d = "left", f = "top") : i === "inEnd" ? (s = {
1798
+ x: r.x + o,
1799
+ y: r.y,
1800
+ w: r.w - o,
1801
+ h: r.h - o
1802
+ }, c = s.x + n.w / 2, l = s.y + s.h - n.h / 2, d = "left", f = "bottom") : i === "l" ? (s = {
1803
+ x: r.x + o,
1804
+ y: r.y + o,
1805
+ w: r.w - o,
1806
+ h: r.h - o * 2
1807
+ }, c = s.x + n.w / 2, d = "left") : i === "r" || i === "outEnd" ? (s = {
1808
+ x: r.x,
1809
+ y: r.y + o,
1810
+ w: r.w - o,
1811
+ h: r.h - o * 2
1812
+ }, c = s.x + s.w - n.w / 2, d = "right") : i === "t" ? (s = {
1813
+ x: r.x + o,
1814
+ y: r.y + o,
1815
+ w: r.w - o * 2,
1816
+ h: r.h - o
1817
+ }, l = s.y + n.h / 2, f = "top") : i === "b" ? (s = {
1818
+ x: r.x + o,
1819
+ y: r.y,
1820
+ w: r.w - o * 2,
1821
+ h: r.h - o
1822
+ }, l = s.y + s.h - n.h / 2, f = "bottom") : s = {
1823
+ x: r.x + o,
1824
+ y: r.y + o,
1825
+ w: r.w - o * 2,
1826
+ h: r.h - o * 2
1827
+ };
1828
+ } else {
1829
+ if (![
1830
+ e.rect.x,
1831
+ e.rect.y,
1832
+ e.rect.w,
1833
+ e.rect.h
1834
+ ].every(Number.isFinite) || e.rect.w < 0 || e.rect.h < 0) return null;
1835
+ let r = e.position ?? "outEnd", i = r === "inBase" || r === "inEnd" || r === "ctr";
1836
+ if (u = !i, i) {
1837
+ let n = en(e.rect, t);
1838
+ if (!n) return null;
1839
+ s = n;
1840
+ } else if (e.orientation === "vertical" && e.rect.w <= 0 || e.orientation === "horizontal" && e.rect.h <= 0) return null;
1841
+ let a = e.rect.x + e.rect.w / 2, p = e.rect.y + e.rect.h / 2;
1842
+ if (c = a, l = p, e.orientation === "vertical") {
1843
+ let t = e.negative ? e.rect.y + e.rect.h : e.rect.y, i = e.negative ? e.rect.y : e.rect.y + e.rect.h;
1844
+ r === "inBase" ? (l = i + (e.negative ? 1 : -1) * (o + n.h / 2), f = e.negative ? "top" : "bottom") : r === "inEnd" ? (l = t + (e.negative ? -1 : 1) * (o + n.h / 2), f = e.negative ? "bottom" : "top") : r !== "ctr" && (l = t + (e.negative ? 1 : -1) * (o + n.h / 2), f = e.negative ? "top" : "bottom");
1845
+ } else {
1846
+ let t = e.negative ? e.rect.x : e.rect.x + e.rect.w, i = e.negative ? e.rect.x + e.rect.w : e.rect.x;
1847
+ r === "inBase" ? (c = i + (e.negative ? -1 : 1) * (o + n.w / 2), d = e.negative ? "right" : "left") : r === "inEnd" ? (c = t + (e.negative ? 1 : -1) * (o + n.w / 2), d = e.negative ? "left" : "right") : r !== "ctr" && (c = t + (e.negative ? -1 : 1) * (o + n.w / 2), d = e.negative ? "right" : "left");
1848
+ }
1849
+ }
1850
+ let p = Math.max(2, r * .5), m = Math.max(2, r * .9);
1851
+ if (s.w < p || s.h < m) return null;
1852
+ let h = {
1853
+ x: c - Math.min(n.w, s.w) / 2,
1854
+ y: l - Math.min(n.h, s.h) / 2,
1855
+ w: Math.min(n.w, s.w),
1856
+ h: Math.min(n.h, s.h)
1857
+ };
1858
+ if (i) {
1859
+ let e = Zt(i, a, h);
1860
+ if (!e) return null;
1861
+ h = e, d = "center", f = "middle";
1862
+ let n = en(e, t);
1863
+ if (!n || (s = n, s.w < p || s.h < m)) return null;
1864
+ }
1865
+ let g = Math.min(Math.max(p, h.w), s.w), _ = Math.min(Math.max(m, h.h), s.h), v = g / 2, y = _ / 2, b = u || i ? h.x + h.w / 2 : tn(h.x + h.w / 2, s.x + v, s.x + s.w - v), x = u || i ? h.y + h.h / 2 : tn(h.y + h.h / 2, s.y + y, s.y + s.h - y);
1866
+ return [b, x].every(Number.isFinite) ? {
1867
+ x: d === "left" ? b - v : d === "right" ? b + v : b,
1868
+ y: f === "top" ? x - y : f === "bottom" ? x + y : x,
1869
+ textAlign: d,
1870
+ textBaseline: f,
1871
+ maxWidth: s.w,
1872
+ maxHeight: s.h,
1873
+ clip: s,
1874
+ rect: h
1875
+ } : null;
1876
+ }
1877
+ var rn = 4096, an = 4;
1878
+ function on(e, t, n) {
1879
+ if (n(e) <= t) return e;
1880
+ if (n("…") > t) return "";
1881
+ let r = 0, i = Array.from(e), a = i.length;
1882
+ for (; r < a;) {
1883
+ let e = Math.ceil((r + a) / 2);
1884
+ n(`${i.slice(0, e).join("")}…`) <= t ? r = e : a = e - 1;
1885
+ }
1886
+ return `${i.slice(0, r).join("")}…`;
1887
+ }
1888
+ function sn(e) {
1889
+ let t = "", n = 0;
1890
+ for (let r of e) {
1891
+ if (n >= rn) return {
1892
+ value: t,
1893
+ truncated: !0
1894
+ };
1895
+ t += r, n++;
1896
+ }
1897
+ return {
1898
+ value: t,
1899
+ truncated: !1
1900
+ };
1901
+ }
1902
+ function cn(e, t, n, r, i) {
1903
+ if (![
1904
+ t,
1905
+ n,
1906
+ r
1907
+ ].every(Number.isFinite) || t <= 0 || n < r || r <= 0) return [];
1908
+ let a = Math.max(1, Math.min(an, Math.floor(n / r))), o = sn(e), s = o.value.split(/\r?\n/), c = [], l = o.truncated, u = (e) => {
1909
+ let n = [], r = "";
1910
+ for (let a of Array.from(e)) {
1911
+ let e = `${r}${a}`;
1912
+ r && i(e) > t ? (n.push(r), r = a) : r = e;
1913
+ }
1914
+ return r && n.push(r), n.filter((e) => i(e) <= t);
1915
+ };
1916
+ for (let e of s) {
1917
+ if (i(e) <= t) {
1918
+ c.push(e);
1919
+ continue;
1920
+ }
1921
+ let n = e.match(/\S+\s*|\s+/g) ?? [];
1922
+ if (n.length <= 1) c.push(...u(e));
1923
+ else {
1924
+ let e = "";
1925
+ for (let r of n) {
1926
+ let n = `${e}${r}`;
1927
+ if (i(n) <= t) e = n;
1928
+ else {
1929
+ e && c.push(e);
1930
+ let t = u(r);
1931
+ e = t.pop() ?? "", c.push(...t);
1932
+ }
1933
+ }
1934
+ e && c.push(e);
1935
+ }
1936
+ }
1937
+ l ||= c.length > a;
1938
+ let d = c.slice(0, a);
1939
+ return l && d.length > 0 && !d[d.length - 1].endsWith("…") && (d[d.length - 1] = on(`${d[d.length - 1]}…`, t, i)), d;
1940
+ }
1941
+ //#endregion
1942
+ //#region packages/core/src/chart/data-label-style.ts
1943
+ function ln(e, t) {
1944
+ return (t?.deleted ?? e?.deleted) === !0;
1945
+ }
1946
+ function un(e, t) {
1947
+ let n = e?.fontPaintAuthored === !0 || e?.fontColor != null || e?.fontHidden === !0, r = t?.fontPaintAuthored === !0 || t?.fontColor != null || t?.fontHidden === !0;
1948
+ return {
1949
+ fontColor: n ? e.fontColor : e?.fontColor ?? t?.fontColor,
1950
+ fontItalic: e?.fontItalic ?? t?.fontItalic,
1951
+ fontLanguage: e?.fontLanguage ?? t?.fontLanguage,
1952
+ fontBaseline: e?.fontBaseline ?? t?.fontBaseline,
1953
+ fontPaintAuthored: n ? !0 : r || void 0,
1954
+ fontHidden: n ? e.fontHidden : t?.fontHidden,
1955
+ textRotation: e?.textRotation ?? t?.textRotation,
1956
+ textWrap: e?.textWrap ?? t?.textWrap,
1957
+ textVerticalAnchor: e?.textVerticalAnchor ?? t?.textVerticalAnchor,
1958
+ textVerticalMode: e?.textVerticalMode ?? t?.textVerticalMode,
1959
+ textLInsEmu: e?.textLInsEmu ?? t?.textLInsEmu,
1960
+ textTInsEmu: e?.textTInsEmu ?? t?.textTInsEmu,
1961
+ textRInsEmu: e?.textRInsEmu ?? t?.textRInsEmu,
1962
+ textBInsEmu: e?.textBInsEmu ?? t?.textBInsEmu,
1963
+ textBodyAuthored: e?.textBodyAuthored === !0 || t?.textBodyAuthored === !0 || void 0,
1964
+ textAlign: e?.textAlign ?? t?.textAlign
1965
+ };
1966
+ }
1967
+ function dn(e, t) {
1968
+ return e?.textAlign === "l" ? "left" : e?.textAlign === "r" ? "right" : e?.textAlign === "ctr" ? "center" : t;
1969
+ }
1970
+ function fn(e, i) {
1971
+ let a = i / n, o = e?.textBodyAuthored === !0 ? r : 0, s = e?.textBodyAuthored === !0 ? t : 0;
1972
+ return {
1973
+ left: (e?.textLInsEmu ?? o) * a,
1974
+ top: (e?.textTInsEmu ?? s) * a,
1975
+ right: (e?.textRInsEmu ?? o) * a,
1976
+ bottom: (e?.textBInsEmu ?? s) * a
1977
+ };
1978
+ }
1979
+ function pn(e, t) {
1980
+ let n = Number.isFinite(e) ? e / 6e4 * Math.PI / 180 : 0;
1981
+ return t === "vert" ? n + Math.PI / 2 : t === "vert270" ? n + Math.PI * 3 / 2 : n;
1982
+ }
1983
+ function mn(e, t, n, r) {
1984
+ let i = pn(n, r);
1985
+ if (i === 0) return {
1986
+ w: e,
1987
+ h: t,
1988
+ radians: i
1989
+ };
1990
+ let a = Math.abs(Math.cos(i)), o = Math.abs(Math.sin(i));
1991
+ return {
1992
+ w: e * a + t * o,
1993
+ h: e * o + t * a,
1994
+ radians: i
1995
+ };
1996
+ }
1997
+ function hn(e, t, n, r, i, a, o) {
1998
+ return r !== 0 && (e.translate(t, n), e.rotate(r), e.translate(-t, -n)), {
1999
+ x: t + (i === "left" ? o.left : i === "right" ? -o.right : (o.left - o.right) / 2),
2000
+ y: n + (a === "top" ? o.top : a === "bottom" ? -o.bottom : (o.top - o.bottom) / 2)
2001
+ };
2002
+ }
2003
+ function gn(e, t, n, r, i, a) {
2004
+ return a?.textWrap === "none" ? ![
2005
+ t,
2006
+ n,
2007
+ r
2008
+ ].every(Number.isFinite) || t <= 0 || n <= 0 || r <= 0 ? [] : sn(e).value.split(/\r?\n/) : cn(e, t, n, r, i);
2009
+ }
2010
+ function _n(e, t, n, r, i, a, o = "center", s = "center", c = n.w, l = 0) {
2011
+ if (!a) {
2012
+ let n = Math.max(0, c) / 2, r = (e) => e === "left" ? -n : e === "right" ? n : 0, i = r(o) - r(s);
2013
+ return {
2014
+ x: e + Math.cos(l) * i,
2015
+ y: t + Math.sin(l) * i
2016
+ };
2017
+ }
2018
+ let u = o === "left" ? n.x : o === "right" ? n.x + n.w : n.x + n.w / 2, d = i?.textVerticalAnchor ?? (i?.textBodyAuthored === !0 ? "t" : "ctr");
2019
+ return d === "t" ? {
2020
+ x: u,
2021
+ y: n.y + Math.min(r, n.h) / 2
2022
+ } : d === "b" ? {
2023
+ x: u,
2024
+ y: n.y + n.h - Math.min(r, n.h) / 2
2025
+ } : {
2026
+ x: u,
2027
+ y: n.y + n.h / 2
2028
+ };
2029
+ }
2030
+ //#endregion
2031
+ //#region packages/core/src/chart/marker-style.ts
2032
+ function vn(e) {
2033
+ let t = /* @__PURE__ */ new Set();
2034
+ for (let n of e.legendEntries ?? []) n.deleted === !0 && t.add(n.idx);
2035
+ return t;
2036
+ }
2037
+ function yn(e) {
2038
+ return e.markerSymbol != null || e.markerSize != null || e.markerFill != null || e.markerFillPaint !== void 0 || e.markerFillPaintAuthored === !0 || e.markerLine != null || e.markerLineWidthEmu != null;
2039
+ }
2040
+ function bn(e) {
2041
+ return e != null && (e.markerSymbol != null || e.markerSize != null || e.markerFill != null || e.color != null || e.markerFillPaint !== void 0 || e.markerFillPaintAuthored === !0 || e.markerLine != null || e.markerLineWidthEmu != null);
2042
+ }
2043
+ function xn(e, t) {
2044
+ return t == null || !Number.isFinite(t) || t === 0 || t < 0 && e.showNegativeBubbles !== !0 ? null : Math.abs(t);
2045
+ }
2046
+ function Sn(e, t) {
2047
+ return e.bubble3D ?? e.bubble3DGroupDefault ?? !1;
2048
+ }
2049
+ function H(e) {
2050
+ return e !== "none" && e !== "x" && e !== "plus";
2051
+ }
2052
+ function Cn(e, t, n, r, i, a) {
2053
+ let o = a?.chartType ?? e.chartType, s = t.values[r] != null;
2054
+ if (!s && (n === "line" || n === "stackedLine" || n === "stackedLinePct") && (s = (o === "line" || o === "stackedLine" || o === "stackedLinePct") && (o !== "line" || e.dispBlanksAs === "zero")), !s) return !1;
2055
+ if (n === "scatter" && i) {
2056
+ let n = (t.categories ?? e.categories)[r];
2057
+ if (n == null || !Number.isFinite(Number.parseFloat(n))) return !1;
2058
+ }
2059
+ if (n === "scatter" && o === "bubble") {
2060
+ let n = t.bubbleSizes?.[r];
2061
+ if (n == null || !Number.isFinite(n) || n === 0) return !1;
2062
+ let i = a?.showNegativeBubbles ?? e.showNegativeBubbles;
2063
+ return n < 0 && i !== !0 ? !1 : (a?.bubbleScale ?? e.bubbleScale ?? 100) > 0;
2064
+ }
2065
+ return !0;
2066
+ }
2067
+ function wn(e, t, n, r, i, a) {
2068
+ if (n === "radar" || !t.seriesDataLabels && !t.dataLabelOverrides?.length) return 0;
2069
+ let o = new Map((t.dataLabelOverrides ?? []).map((e) => [e.idx, e])), s = 0;
2070
+ for (let c = 0; c < r; c++) {
2071
+ let r = o.get(c);
2072
+ ln(t.seriesDataLabels, r) || (r?.showLegendKey ?? t.seriesDataLabels?.showLegendKey ?? !1) === !0 && Cn(e, t, n, c, i, a) && s++;
2073
+ }
2074
+ return s;
2075
+ }
2076
+ function Tn(e) {
2077
+ return e === "line" || e === "stackedLine" || e === "stackedLinePct" || e === "area" || e === "stackedArea" || e === "stackedAreaPct" || e === "stock" || e === "clusteredBar" || e === "clusteredBarH" || e === "stackedBar" || e === "stackedBarH" || e === "stackedBarPct" || e === "stackedBarHPct";
2078
+ }
2079
+ function En(e) {
2080
+ return e.dataPointOverrides?.some((e) => e.markerSymbol != null && e.markerSymbol !== "none") === !0;
2081
+ }
2082
+ function Dn(e, t, n, r) {
2083
+ return e === "radar" ? r === "filled" : e === "scatter" && t !== "bubble" && (n === "lineNoMarker" || n === "smoothNoMarker");
2084
+ }
2085
+ function On(e, t, n, r) {
2086
+ let i = n.seriesType ?? e;
2087
+ return !(i === "line" || i === "stackedLine" || i === "stackedLinePct" || i === "stock" || i === "radar") && i !== "scatter" && i !== "bubble" || i === "radar" && r === "filled" || i === "scatter" && (t === "lineNoMarker" || t === "smoothNoMarker") ? !1 : (n.markerSymbol ?? (i === "stock" ? "none" : "circle")) !== "none" && n.showMarker !== !1;
2088
+ }
2089
+ function kn(e, t, n, r) {
2090
+ return t?.markerSymbol == null ? !r || e.markerSymbol === "none" ? "none" : e.markerSymbol ?? n : t.markerSymbol;
2091
+ }
2092
+ function An(e, t, n) {
2093
+ if (t?.markerFillPaint !== void 0) return t.markerFillPaint;
2094
+ if (!(t?.markerFill != null || t?.color != null || t?.markerFillPaintAuthored === !0) && e.dataPointColors?.[n] == null && e.markerFillPaint !== void 0) return e.markerFillPaint;
2095
+ }
2096
+ function jn(e, t, n, r) {
2097
+ return t?.markerFill == null ? t?.color == null ? e.dataPointColors?.[n] ?? (t?.markerFillPaintAuthored === !0 ? "00000000" : e.markerFill == null ? e.markerFillPaintAuthored === !0 ? "00000000" : r : e.markerFill) : t.color : t.markerFill;
2098
+ }
2099
+ function Mn(e) {
2100
+ return e.markerFillPaint;
2101
+ }
2102
+ function Nn(e, t) {
2103
+ return e.markerFill == null ? e.markerFillPaintAuthored === !0 ? "00000000" : t : e.markerFill;
2104
+ }
2105
+ function Pn(e) {
2106
+ return e?.fillType === "gradient" ? e.stops.length : e == null ? 0 : 1;
2107
+ }
2108
+ //#endregion
2109
+ //#region packages/core/src/chart/resource-limits.ts
2110
+ var U = 1e4, Fn = 4096, In = 1048576, Ln = 4096, Rn = new Set([
2111
+ "clusteredBar",
2112
+ "clusteredBarH",
2113
+ "stackedBar",
2114
+ "stackedBarH",
2115
+ "stackedBarPct",
2116
+ "stackedBarHPct",
2117
+ "clusteredColumn",
2118
+ "line",
2119
+ "stackedLine",
2120
+ "stackedLinePct",
2121
+ "area",
2122
+ "stackedArea",
2123
+ "stackedAreaPct",
2124
+ "pie",
2125
+ "doughnut",
2126
+ "radar",
2127
+ "scatter",
2128
+ "bubble",
2129
+ "stock",
2130
+ "surface"
2131
+ ]);
2132
+ function zn(e) {
2133
+ return Rn.has(e);
2134
+ }
2135
+ function Bn(e) {
2136
+ let t = 0, n = (e) => !Number.isSafeInteger(e) || e < 0 || e > 1e4 - t ? !1 : (t += e, !0), r = (e, n) => !Number.isSafeInteger(e) || e < 0 || !Number.isSafeInteger(n) || n < 0 || e !== 0 && n > Math.floor((1e4 - t) / e) ? !1 : (t += e * n, !0);
2137
+ if (!n(e.legendEntries?.length ?? 0) || !n(e.plotGroups?.length ?? 0)) return U + 1;
2138
+ if (e.plotGroups != null) {
2139
+ let t = 0;
2140
+ for (let n of e.plotGroups) {
2141
+ if (!Number.isSafeInteger(n.seriesStart) || n.seriesStart < 0 || !Number.isSafeInteger(n.seriesCount) || n.seriesCount < 0 || n.seriesStart !== t || n.seriesCount > e.series.length - t) return U + 1;
2142
+ t += n.seriesCount;
2143
+ }
2144
+ if (t !== e.series.length) return U + 1;
2145
+ }
2146
+ for (let t of e.series) {
2147
+ let i = Math.max(1, e.categories.length, t.values.length, t.categories?.length ?? 0, t.bubbleSizes?.length ?? 0, t.dataPointOverrides?.length ?? 0, t.dataLabelOverrides?.length ?? 0);
2148
+ if (!n(i) || !r(t.trendLines?.length ?? 0, Math.max(1, t.values.length)) || !n(t.errBars?.length ?? 0)) return U + 1;
2149
+ for (let e of t.errBars ?? []) if (!n(Math.max(i, e.plus.length, e.minus.length))) return U + 1;
2150
+ }
2151
+ if (!n(e.chartexSunburst?.rows.length ?? 0) || !n(e.chartexTreemap?.rows.length ?? 0) || !n(e.chartexRegionMap?.rows.length ?? 0) || !n(e.chartexBox?.categories.length ?? 0) || !n(e.chartexBox?.series.length ?? 0)) return U + 1;
2152
+ for (let t of e.chartexBox?.series ?? []) for (let e of t.valuesByCategory) if (!n(e.length)) return U + 1;
2153
+ return n(e.ofPie?.customSplitIndices?.length ?? 0) ? t : U + 1;
2154
+ }
2155
+ function Vn(e) {
2156
+ if (!zn(e.chartType)) return null;
2157
+ let t = 0;
2158
+ for (let n of e.series) {
2159
+ let r = 0;
2160
+ for (let e of n.errBars ?? []) r = Math.max(r, e.plus.length, e.minus.length);
2161
+ let i = Math.max(1, e.categories.length, n.categories?.length ?? 0, n.values.length, n.bubbleSizes?.length ?? 0, n.dataPointOverrides?.length ?? 0, n.dataLabelOverrides?.length ?? 0, n.trendLines?.length ?? 0, r);
2162
+ if (!Number.isSafeInteger(i) || i > 1e4 - t) return U + 1;
2163
+ t += i;
2164
+ }
2165
+ return t;
2166
+ }
2167
+ //#endregion
2168
+ //#region packages/core/src/chart/plot-groups.ts
2169
+ var Hn = new Set([
2170
+ "area3D",
2171
+ "line3D",
2172
+ "pie3D",
2173
+ "bar3D",
2174
+ "surface3D"
2175
+ ]);
2176
+ function Un(e, t) {
2177
+ return t === "bar" || t === "bar3D" ? e.includes("Bar") : t === "line" || t === "line3D" ? e.includes("Line") : t === "area" || t === "area3D" ? e.includes("Area") : t === "pie" || t === "pie3D" ? e === "pie" : t === "surface" || t === "surface3D" ? e === "surface" || e === "surface3D" : e === t;
2178
+ }
2179
+ function Wn(e) {
2180
+ if (e.plotGroups == null) return !0;
2181
+ let t = 0;
2182
+ for (let n of e.plotGroups) {
2183
+ if (!Number.isSafeInteger(n.seriesStart) || n.seriesStart !== t || !Number.isSafeInteger(n.seriesCount) || n.seriesCount < 0 || n.seriesCount > e.series.length - t) return !1;
2184
+ t += n.seriesCount;
2185
+ }
2186
+ return t === e.series.length;
2187
+ }
2188
+ function Gn(e) {
2189
+ let t = Array(e.series.length);
2190
+ for (let n of e.plotGroups ?? []) {
2191
+ let r = Math.min(e.series.length, n.seriesStart + n.seriesCount);
2192
+ for (let e = n.seriesStart; e < r; e++) t[e] = n;
2193
+ }
2194
+ return t;
2195
+ }
2196
+ function Kn(e, t) {
2197
+ return t ? t.kind === "bubble" ? "bubble" : t.kind === "line" ? t.grouping === "percentStacked" ? "stackedLinePct" : t.grouping === "stacked" ? "stackedLine" : "line" : t.kind === "area" ? t.grouping === "percentStacked" ? "stackedAreaPct" : t.grouping === "stacked" ? "stackedArea" : "area" : t.kind : e;
2198
+ }
2199
+ function qn(e) {
2200
+ if (e.plotGroups == null || e.plotGroups.length <= 1) return "legacy";
2201
+ if (!Wn(e)) return "unsupported";
2202
+ let t = e.plotGroups.filter((e) => e.seriesCount > 0);
2203
+ if (t.length === 0) return "legacy";
2204
+ if (t.length === 1) return Un(e.chartType, t[0].kind) ? "legacy" : "unsupported";
2205
+ if (t.some((e) => e.categoryAxis === "none" || e.valueAxis === "none") || t.some((t) => t.categoryAxis === "secondary" && e.secondaryCatAxis == null || t.valueAxis === "secondary" && e.secondaryValAxis == null)) return "unsupported";
2206
+ let n = new Set(t.map((e) => e.kind));
2207
+ if (t.some((e) => Hn.has(e.kind))) return "unsupported";
2208
+ if (t.length === 2 && t[0].kind === "bar" && t[1].kind === "scatter") {
2209
+ let [n, r] = t, i = e.series.slice(n.seriesStart, n.seriesStart + n.seriesCount), a = e.series.slice(r.seriesStart, r.seriesStart + r.seriesCount);
2210
+ return n.categoryAxis === "primary" && (n.valueAxis === "primary" || n.valueAxis === "unresolved") && (r.categoryAxis === "secondary" || r.categoryAxis === "unresolved") && r.valueAxis === "secondary" && e.secondaryCatAxis != null && e.secondaryValAxis != null && i.every((e) => e.useSecondaryAxis !== !0) && a.every((e) => e.useSecondaryAxis === !0) ? "bar-combo" : "unsupported";
2211
+ }
2212
+ if (t.some((e) => e.categoryAxis === "unresolved" || e.valueAxis === "unresolved" || e.seriesAxis === "unresolved")) return "unsupported";
2213
+ if (n.size === 1) {
2214
+ let n = t[0].kind;
2215
+ if (n === "line" || n === "area") return t.some((e) => e.categoryAxis !== "primary") ? "unsupported" : n === "line" ? "line-groups" : "area-groups";
2216
+ if (n === "scatter" || n === "bubble") return "scatter-bubble";
2217
+ if (n === "bar") {
2218
+ let n = e.chartType.endsWith("H") ? "bar" : "col";
2219
+ return new Set(t.map((e) => e.barDirection ?? n)).size > 1 && (t.length !== 2 || t.some((e) => e.categoryAxis !== "primary" || e.valueAxis !== "primary")) ? "unsupported" : "bar-combo";
2220
+ }
2221
+ return "unsupported";
2222
+ }
2223
+ if (t.length === 2 && n.has("bar") && n.has("area")) return t.find((e) => e.kind === "line" || e.kind === "area")?.categoryAxis === "primary" ? "bar-combo" : "unsupported";
2224
+ if (t.length === 2 && t[0].kind === "area" && t[1].kind === "line" && t.every((e) => e.categoryAxis === "primary" && e.valueAxis === "primary")) return "area-groups";
2225
+ if (n.size === 2 && n.has("bar") && n.has("line")) {
2226
+ let n = t.filter((e) => e.kind === "bar"), r = t.filter((e) => e.kind === "line"), i = e.chartType.endsWith("H") ? "bar" : "col", a = new Set(n.map((e) => e.barDirection ?? i));
2227
+ return n.length <= 2 && r.length === 1 && t.length <= 3 && a.size === 1 && t.every((e) => e.categoryAxis === "primary") ? "bar-combo" : "unsupported";
2228
+ }
2229
+ return [...n].every((e) => e === "scatter" || e === "bubble") ? t.length > 2 ? "unsupported" : "scatter-bubble" : t.length === 2 && t[0].kind === "stock" && t[1].kind === "line" && (t[0].seriesCount === 3 || t[0].seriesCount === 4) && (t[1].grouping == null || t[1].grouping === "standard") && t.every((e) => e.categoryAxis === "primary" && e.valueAxis === "primary") ? "stock-line" : "unsupported";
2230
+ }
2231
+ //#endregion
2232
+ //#region packages/core/src/chart/style-paint.ts
2233
+ function Jn(e, t, n) {
2234
+ let r = t === "fill" ? e?.fillColors : e?.lineColors;
2235
+ return r?.length ? r[((t === "fill" ? e?.fillColorIndex : e?.lineColorIndex) ?? n) % r.length] ?? null : null;
2236
+ }
2237
+ function Yn(e, t) {
2238
+ let n = e?.fillPaints;
2239
+ return n?.length ? n[(e?.fillColorIndex ?? t) % n.length] ?? null : null;
2240
+ }
2241
+ function Xn(e, t) {
2242
+ let n = e?.linePaints;
2243
+ return n?.length ? n[(e?.lineColorIndex ?? t) % n.length] ?? null : null;
2244
+ }
2245
+ function Zn(e, t) {
2246
+ if (!e) return;
2247
+ if (e.fillHidden) return e.fillNoStyle ? void 0 : null;
2248
+ let n = Yn(e, t);
2249
+ if (n) return n;
2250
+ let r = Jn(e, "fill", t);
2251
+ return r ? {
2252
+ fillType: "solid",
2253
+ color: r
2254
+ } : e.fillPaintAuthored === !0 ? null : void 0;
2255
+ }
2256
+ function Qn(e, t) {
2257
+ if (!e) return;
2258
+ if (e.lineHidden) return e.lineNoStyle ? void 0 : null;
2259
+ let n = Xn(e, t);
2260
+ if (n) return n;
2261
+ let r = Jn(e, "line", t);
2262
+ return r ? {
2263
+ fillType: "solid",
2264
+ color: r
2265
+ } : e.linePaintAuthored === !0 ? null : void 0;
2266
+ }
2267
+ function $n(e, t, n) {
2268
+ let r = t?.style, i = e.chartStyleRoles?.[n], a;
2269
+ a = t?.fillHidden === !0 ? null : t?.fillColor ? {
2270
+ fillType: "solid",
2271
+ color: t.fillColor
2272
+ } : Zn(r, 0), a === void 0 && (a = Zn(i, 0));
2273
+ let o;
2274
+ o = t?.lineHidden === !0 ? null : t?.lineColor ? {
2275
+ fillType: "solid",
2276
+ color: t.lineColor
2277
+ } : Qn(r, 0), o === void 0 && (o = Qn(i, 0));
2278
+ let s = i?.lineNoStyle === !0 ? void 0 : i;
2279
+ return {
2280
+ fill: a,
2281
+ line: o,
2282
+ lineWidthEmu: t?.lineWidthEmu ?? r?.lineWidthEmu ?? s?.lineWidthEmu,
2283
+ lineDash: t?.lineDash ?? r?.lineDash ?? s?.lineDash,
2284
+ lineCustomDash: r?.lineCustomDash ?? s?.lineCustomDash,
2285
+ lineCap: r?.lineCap ?? s?.lineCap,
2286
+ lineJoin: r?.lineJoin ?? s?.lineJoin
2287
+ };
2288
+ }
2289
+ //#endregion
2290
+ //#region packages/core/src/chart/three-d-surface-picture-plan.ts
2291
+ function er(e, t) {
2292
+ return !Number.isSafeInteger(t) || t < 0 ? !1 : e.slabFaces ? t === 0 ? e.slabFaces.front : t === 1 || t >= 6 ? !1 : t % 2 == 0 ? e.slabFaces.end : e.slabFaces.sides : t === 0;
2293
+ }
2294
+ function tr(e, t) {
2295
+ return e.mode !== "stack" && e.mode !== "stackScale" || !er(e, t) ? !1 : !e.slabFaces || t === 0 || t % 2 == 1;
2296
+ }
2297
+ function nr(e, t) {
2298
+ return er(e, t) ? rr(e, t) ? e.repetitions : 1 : 0;
2299
+ }
2300
+ function rr(e, t) {
2301
+ return e.mode === "stackScale" && tr(e, t);
2302
+ }
2303
+ function W(e) {
2304
+ let t = 0;
2305
+ for (let n = 0; n < 6; n++) if (t += nr(e, n), t > 4096) return null;
2306
+ return e;
2307
+ }
2308
+ function ir(e) {
2309
+ return e == null || [
2310
+ e.l,
2311
+ e.t,
2312
+ e.r,
2313
+ e.b
2314
+ ].every((e) => (e ?? 0) === 0);
2315
+ }
2316
+ function ar(e) {
2317
+ if (!e) return !0;
2318
+ let t = e.l ?? 0, n = e.t ?? 0, r = e.r ?? 0, i = e.b ?? 0, a = [
2319
+ t,
2320
+ n,
2321
+ r,
2322
+ i
2323
+ ], o = 1 - r, s = 1 - i;
2324
+ return a.every(Number.isFinite) && o > t && s > n && Math.min(1, o) > Math.max(0, t) && Math.min(1, s) > Math.max(0, n);
2325
+ }
2326
+ function or(e, t, n, r) {
2327
+ if (e.tile != null == (e.stretch === !0) || !ar(e.srcRect) || !ar(e.fillRect) || e.rotWithShape === !1 || e.alpha != null && (!Number.isFinite(e.alpha) || e.alpha < 0 || e.alpha > 1)) return null;
2328
+ let i = t?.pictureOptions;
2329
+ if (i?.pictureFormatAuthored === !0 && i.pictureFormat == null || i?.pictureStackUnitAuthored === !0 && i.pictureStackUnit == null) return null;
2330
+ let a = i?.pictureFormat ?? "stretch";
2331
+ if ((!ir(e.srcRect) || !ir(e.fillRect)) && a !== "stretch") return null;
2332
+ let o = t?.thicknessPercent ?? 0;
2333
+ if (!Number.isFinite(o) || o < 0) return null;
2334
+ let s = o === 0 ? void 0 : {
2335
+ front: i?.applyToFront !== !1,
2336
+ sides: i?.applyToSides !== !1,
2337
+ end: i?.applyToEnd !== !1
2338
+ };
2339
+ if (s && !Object.values(s).some(Boolean) || !s && (n === "backWall" && i?.applyToFront === !1 || (n === "floor" || n === "sideWall") && i?.applyToSides === !1) || (i?.pictureStackUnitAuthored === !0 || i?.pictureStackUnit != null) && a !== "stackScale") return null;
2340
+ if (e.tile) return a !== "stretch" || !ir(e.fillRect) ? null : W({
2341
+ mode: "tile",
2342
+ repetitions: 1,
2343
+ slabFaces: s
2344
+ });
2345
+ if (a === "stretch") return W({
2346
+ mode: "stretch",
2347
+ repetitions: 1,
2348
+ slabFaces: s
2349
+ });
2350
+ if (a === "stack") return W({
2351
+ mode: "stack",
2352
+ repetitions: 1,
2353
+ slabFaces: s
2354
+ });
2355
+ if (a !== "stackScale") return null;
2356
+ let c = i?.pictureStackUnit;
2357
+ if (!(c != null && Number.isFinite(c) && c > 0)) return null;
2358
+ if (n === "floor") return W({
2359
+ mode: "stretch",
2360
+ repetitions: 1,
2361
+ slabFaces: s
2362
+ });
2363
+ if (r == null) return W({
2364
+ mode: "stackScale",
2365
+ repetitions: 1,
2366
+ stackUnit: c,
2367
+ slabFaces: s
2368
+ });
2369
+ if (!(Number.isFinite(r) && r > 0)) return null;
2370
+ let l = Math.ceil(r / c);
2371
+ return !Number.isSafeInteger(l) || l < 1 || l > 4096 ? null : W({
2372
+ mode: "stackScale",
2373
+ repetitions: l,
2374
+ stackUnit: c,
2375
+ slabFaces: s
2376
+ });
2377
+ }
2378
+ //#endregion
2379
+ //#region packages/core/src/chart/image-fill.ts
2380
+ var sr = new Set([
2381
+ "line",
2382
+ "stackedLine",
2383
+ "stackedLinePct",
2384
+ "area",
2385
+ "stackedArea",
2386
+ "stackedAreaPct",
2387
+ "clusteredBar",
2388
+ "clusteredBarH",
2389
+ "stackedBar",
2390
+ "stackedBarH",
2391
+ "stackedBarPct",
2392
+ "stackedBarHPct",
2393
+ "surface",
2394
+ "surface3D"
2395
+ ]);
2396
+ function cr(e) {
2397
+ return JSON.stringify([
2398
+ e.imagePath,
2399
+ e.svgImagePath ?? null,
2400
+ e.duotone?.clr1 ?? null,
2401
+ e.duotone?.clr2 ?? null
2402
+ ]);
2403
+ }
2404
+ var G;
2405
+ function lr(e, t) {
2406
+ let n = G;
2407
+ G = e;
2408
+ try {
2409
+ return t();
2410
+ } finally {
2411
+ G = n;
2412
+ }
2413
+ }
2414
+ function ur(e, t, n, r, i) {
2415
+ let a = e;
2416
+ return {
2417
+ x: a.endsWith("r") || a === "r" ? t - r : a === "t" || a === "ctr" || a === "b" ? (t - r) / 2 : 0,
2418
+ y: a.startsWith("b") || a === "b" ? n - i : a === "l" || a === "ctr" || a === "r" ? (n - i) / 2 : 0
2419
+ };
2420
+ }
2421
+ var dr = new Set([
2422
+ "tl",
2423
+ "t",
2424
+ "tr",
2425
+ "l",
2426
+ "ctr",
2427
+ "r",
2428
+ "bl",
2429
+ "b",
2430
+ "br"
2431
+ ]), fr = new Set([
2432
+ "none",
2433
+ "x",
2434
+ "y",
2435
+ "xy"
2436
+ ]);
2437
+ function K(e) {
2438
+ return e.tile != null != (e.stretch === !0) && ft(e.srcRect);
2439
+ }
2440
+ function pr(e) {
2441
+ return K(e) ? G?.(e) ?? null : null;
2442
+ }
2443
+ function mr(t, r, i = e) {
2444
+ let a = t.tile;
2445
+ if (!a) return null;
2446
+ let { algn: o, tx: s, ty: c, sx: l, sy: u } = a, d = a.flip ?? "none";
2447
+ if (!o || !dr.has(o) || !fr.has(d) || !Number.isFinite(s) || !Number.isFinite(c) || !(t.dpi != null && Number.isFinite(t.dpi) && t.dpi > 0) || !(Number.isFinite(l) && l > 0) || !(Number.isFinite(u) && u > 0)) return null;
2448
+ let f = pt(r);
2449
+ if (!(Number.isFinite(f.w) && f.w > 0) || !(Number.isFinite(f.h) && f.h > 0)) return null;
2450
+ let p = 96 / t.dpi * (i / e), m = f.w * l * p, h = f.h * u * p;
2451
+ return !(m > 0) || !(h > 0) ? null : {
2452
+ alignment: o,
2453
+ tileW: m,
2454
+ tileH: h,
2455
+ offsetX: s / n * i,
2456
+ offsetY: c / n * i,
2457
+ flipX: d === "x" || d === "xy",
2458
+ flipY: d === "y" || d === "xy"
2459
+ };
2460
+ }
2461
+ function hr(e, t, n) {
2462
+ let r = ur(e.alignment, t, n, e.tileW, e.tileH);
2463
+ return {
2464
+ x: r.x + e.offsetX,
2465
+ y: r.y + e.offsetY
2466
+ };
2467
+ }
2468
+ function gr(e, t, n, r, i) {
2469
+ let a = mr(e, t, i);
2470
+ if (!a) return null;
2471
+ let { tileW: o, tileH: s } = a, c = Math.ceil(n / o) + 2, l = Math.ceil(r / s) + 2, u = c * l;
2472
+ return Number.isSafeInteger(u) ? {
2473
+ ...a,
2474
+ columns: c,
2475
+ rows: l,
2476
+ repetitions: u
2477
+ } : null;
2478
+ }
2479
+ function _r(t, n, r, i, a = e) {
2480
+ if (!(r > 0) || !(i > 0) || !K(t)) return 0;
2481
+ let o = n?.(t);
2482
+ if (!o) return 0;
2483
+ if (!t.tile) return 1;
2484
+ let s = gr(t, o, r, i, a);
2485
+ return s ? Math.min(s.repetitions, Ln) : 0;
2486
+ }
2487
+ function vr(e) {
2488
+ if (Bn(e) > 1e4) return {
2489
+ fills: [],
2490
+ sourceLimitExceeded: !1
2491
+ };
2492
+ let t = /* @__PURE__ */ new Map(), n = !1, r = (e) => {
2493
+ if (!e || typeof e != "object" || e.fillType !== "image") return;
2494
+ let r = e;
2495
+ if (!K(r)) return;
2496
+ let i = cr(r);
2497
+ if (!t.has(i)) {
2498
+ if (t.size >= 256) {
2499
+ n = !0;
2500
+ return;
2501
+ }
2502
+ t.set(i, r);
2503
+ }
2504
+ }, i = (e, t) => {
2505
+ let n = e?.fillPaints;
2506
+ if (n?.length) return n[(e?.fillColorIndex ?? t) % n.length];
2507
+ }, a = (e, t) => {
2508
+ if (!e) return;
2509
+ if (e.fillHidden === !0) return e.fillNoStyle ? void 0 : null;
2510
+ let n = i(e, t);
2511
+ if (n?.fillType === "image") return n;
2512
+ if (n != null || e.fillPaintAuthored === !0) return null;
2513
+ let r = e.fillColors;
2514
+ return r?.length && r[(e.fillColorIndex ?? t) % r.length] ? null : void 0;
2515
+ }, o = (e, t, n, r, i) => {
2516
+ if (n === !0) return null;
2517
+ if (e?.fillType === "image") return e;
2518
+ if (e != null || t != null || r === !0) return null;
2519
+ if (i?.fillNoStyle !== !0) return a(i, 0);
2520
+ }, s = o(e.chartFill, void 0, e.chartFillHidden, e.chartFillPaintAuthored, e.chartStyleRoles?.chartArea);
2521
+ s && r(s);
2522
+ let c = o(e.plotAreaFill, e.plotAreaBg, e.plotAreaFillHidden, e.plotAreaFillPaintAuthored, e.threeD ? e.chartStyleRoles?.plotArea3D : e.chartStyleRoles?.plotArea);
2523
+ c && r(c);
2524
+ let l = e.series.some((e) => e.values.some((e) => e != null && Number.isFinite(e))), u = Math.max(e.categories.length, ...e.series.map((e) => e.categories?.length ?? e.values.length)), d = e.chartType === "surface" || e.chartType === "surface3D" ? e.series.length >= 2 && u >= 2 && l : l;
2525
+ if (e.threeD && sr.has(e.chartType) && d) {
2526
+ let t = e.valMin != null && Number.isFinite(e.valMin) && e.valMax != null && Number.isFinite(e.valMax) ? e.valMax - e.valMin : void 0;
2527
+ for (let [n, i] of [
2528
+ ["floor", "floor"],
2529
+ ["sideWall", "wall"],
2530
+ ["backWall", "wall"]
2531
+ ]) {
2532
+ let a = e.threeD[n], o = $n(e, a, i).fill;
2533
+ o?.fillType === "image" && or(o, a, n, t) && r(o);
2534
+ }
2535
+ }
2536
+ let f = Gn(e), p = e.series.some((t, n) => {
2537
+ let r = f[n];
2538
+ return (r?.kind === "bubble" || r?.kind === "scatter" ? "scatter" : t.seriesType ?? (e.chartType === "bubble" ? "scatter" : e.chartType)) === "scatter" && (t.categories ?? e.categories).some((e) => Number.isFinite(Number.parseFloat(e)));
2539
+ }), m = e.chartStyleRoles?.dataPointMarker, h = vn(e), g = e.categories.length > 0 || (e.series[0]?.categories?.length ?? 0) > 0 || e.series.some((e) => e.values.length > 0);
2540
+ for (let t = 0; t < e.series.length; t++) {
2541
+ let n = e.series[t], o = f[t], s = o?.kind === "bubble" || o == null && e.chartType === "bubble", c = o?.kind === "bubble" || o?.kind === "scatter" ? "scatter" : n.seriesType ?? (e.chartType === "bubble" ? "scatter" : e.chartType), l = Kn(e.chartType, o), u = o?.scatterStyle ?? e.scatterStyle, d = o?.radarStyle ?? e.radarStyle, _ = {
2542
+ chartType: l,
2543
+ bubbleScale: o?.bubbleScale ?? e.bubbleScale,
2544
+ showNegativeBubbles: o?.showNegativeBubbles ?? e.showNegativeBubbles
2545
+ };
2546
+ if (!(c === "line" || c === "stackedLine" || c === "stackedLinePct" || c === "area" || c === "stackedArea" || c === "stackedAreaPct" || c === "scatter" || c === "radar" || c === "stock") || Dn(c, l, u, d)) continue;
2547
+ let v = c === "area" || c === "stackedArea" || c === "stackedAreaPct" ? (n.showMarker === !0 || yn(n)) && n.markerSymbol !== "none" : c === "stock" ? n.markerSymbol != null && n.markerSymbol !== "none" : n.showMarker !== !1 && n.markerSymbol !== "none", y = h.has(t), b = Math.max(n.values.length, n.categories?.length ?? 0, e.categories.length), x = wn(e, n, c, b, p, _) > 0, S = On(l, u, n, d) && (e.showLegend && !y || e.dataTable?.showKeys === !0 && Tn(e.chartType) && g || x), ee = n.markerSymbol ?? (c === "stock" ? "none" : "circle");
2548
+ if (S && H(ee)) {
2549
+ if (s) {
2550
+ let i = a(n.chartexStyle, t);
2551
+ if (i && r(i), i === void 0 && n.color == null) {
2552
+ let n = a(e.chartStyleRoles?.dataPoint, t);
2553
+ n && r(n);
2554
+ }
2555
+ } else r(n.markerFillPaint);
2556
+ !s && n.markerFillPaint === void 0 && n.markerFill == null && n.markerFillPaintAuthored !== !0 && r(i(m, t));
2557
+ }
2558
+ if (!v && !En(n)) continue;
2559
+ let te = new Map((n.dataPointOverrides ?? []).map((e) => [e.idx, e]));
2560
+ for (let l = 0; l < b; l++) {
2561
+ if (!Cn(e, n, c, l, p, _)) continue;
2562
+ let u = te.get(l);
2563
+ if (!H(kn(n, u, "circle", v))) continue;
2564
+ if (s) {
2565
+ let t = { showNegativeBubbles: o?.showNegativeBubbles ?? e.showNegativeBubbles };
2566
+ if ((o?.bubbleScale ?? e.bubbleScale ?? 100) <= 0 || xn(t, n.bubbleSizes?.[l]) == null || (n.bubbleSizes?.[l] ?? 0) < 0) continue;
2567
+ let i = a(u?.chartexStyle, l);
2568
+ if (i && r(i), i !== void 0 || u?.fillHidden === !0 || u?.color != null || n.dataPointColors?.[l] != null) continue;
2569
+ let s = a(n.chartexStyle, l);
2570
+ if (s && r(s), s !== void 0 || n.color != null) continue;
2571
+ let c = a(e.chartStyleRoles?.dataPoint, l);
2572
+ c && r(c);
2573
+ continue;
2574
+ }
2575
+ let d = An(n, u, l);
2576
+ r(d), d === void 0 && u?.markerFill == null && u?.color == null && n.dataPointColors?.[l] == null && n.markerFill == null && u?.markerFillPaintAuthored !== !0 && n.markerFillPaintAuthored !== !0 && r(i(m, t));
2577
+ }
2578
+ }
2579
+ for (let t = 0; t < (e.chartexBox?.series.length ?? 0); t++) {
2580
+ let n = e.chartexBox.series[t];
2581
+ if (!H(e.chartStyleMarkerSymbol ?? e.chartexMarkerSymbol ?? "circle") || !(n.showNonoutliers || n.showOutliers)) continue;
2582
+ let i = 0;
2583
+ for (let e of n.valuesByCategory) {
2584
+ let t = xt(e, n.quartileMethod);
2585
+ t && (n.showNonoutliers && (i += t.inner.length), n.showOutliers && (i += t.outliers.length));
2586
+ }
2587
+ if (i === 0) continue;
2588
+ let o = n.chartexFormatIdx ?? t, s = n.chartexStyle, c = a(s, o);
2589
+ if (c && r(c), c !== void 0 || n.color != null) continue;
2590
+ let l = a(e.chartexDataPointMarkerStyle ?? e.chartexDataPointStyle ?? void 0, o);
2591
+ l && r(l);
2592
+ }
2593
+ return {
2594
+ fills: n ? [] : [...t.values()],
2595
+ sourceLimitExceeded: n
2596
+ };
2597
+ }
2598
+ function yr(e) {
2599
+ let t = /* @__PURE__ */ new Map();
2600
+ for (let n of e) {
2601
+ let e = vr(n);
2602
+ if (e.sourceLimitExceeded) return [];
2603
+ for (let n of e.fills) {
2604
+ let e = cr(n);
2605
+ if (!t.has(e)) {
2606
+ if (t.size >= 256) return [];
2607
+ t.set(e, n);
2608
+ }
2609
+ }
2610
+ }
2611
+ return [...t.values()];
2612
+ }
2613
+ function br(t, n, r, i, a, o, s = e, c = 0) {
2614
+ let l = G?.(n);
2615
+ if (!l || !(a > 0) || !(o > 0) || !K(n) || c !== 0 && n.rotWithShape == null) return !1;
2616
+ if (t.save(), t.beginPath(), t.rect(r, i, a, o), t.clip(), n.rotWithShape === !1 && c !== 0 && (t.translate(r + a / 2, i + o / 2), t.rotate(-c * Math.PI / 180), t.translate(-(r + a / 2), -(i + o / 2))), n.alpha != null && (t.globalAlpha *= Math.max(0, Math.min(1, n.alpha))), !n.tile) {
2617
+ let e = n.fillRect, s = r + (e?.l ?? 0) * a, c = i + (e?.t ?? 0) * o, u = (1 - (e?.l ?? 0) - (e?.r ?? 0)) * a, d = (1 - (e?.t ?? 0) - (e?.b ?? 0)) * o;
2618
+ return u > 0 && d > 0 && ht(t, l, n.srcRect, s, c, u, d), t.restore(), u > 0 && d > 0;
2619
+ }
2620
+ let u = gr(n, l, a, o, s);
2621
+ if (!u || u.repetitions > 4096) return t.restore(), !1;
2622
+ let { tileW: d, tileH: f, flipX: p, flipY: m, columns: h, rows: g } = u, _ = hr(u, a, o), v = r + _.x, y = i + _.y, b = Math.floor((r - v) / d) - 1, x = Math.floor((i - y) / f) - 1;
2623
+ for (let e = x; e < x + g; e++) for (let r = b; r < b + h; r++) {
2624
+ let i = v + r * d, a = y + e * f, o = p && Math.abs(r) % 2 == 1, s = m && Math.abs(e) % 2 == 1;
2625
+ t.save(), t.translate(i + (o ? d : 0), a + (s ? f : 0)), t.scale(o ? -1 : 1, s ? -1 : 1), ht(t, l, n.srcRect, 0, 0, d, f), t.restore();
2626
+ }
2627
+ return t.restore(), !0;
2628
+ }
2629
+ //#endregion
2630
+ //#region packages/core/src/shape/pattern-bitmaps.ts
2631
+ var xr = {
2632
+ pct5: [
2633
+ 0,
2634
+ 16,
2635
+ 0,
2636
+ 0,
2637
+ 0,
2638
+ 1,
2639
+ 0,
2640
+ 0
2641
+ ],
2642
+ pct10: [
2643
+ 136,
2644
+ 0,
2645
+ 34,
2646
+ 0,
2647
+ 136,
2648
+ 0,
2649
+ 34,
2650
+ 0
2651
+ ],
2652
+ pct20: [
2653
+ 136,
2654
+ 34,
2655
+ 136,
2656
+ 34,
2657
+ 136,
2658
+ 34,
2659
+ 136,
2660
+ 34
2661
+ ],
2662
+ pct25: [
2663
+ 136,
2664
+ 85,
2665
+ 34,
2666
+ 85,
2667
+ 136,
2668
+ 85,
2669
+ 34,
2670
+ 85
2671
+ ],
2672
+ pct30: [
2673
+ 170,
2674
+ 85,
2675
+ 170,
2676
+ 85,
2677
+ 170,
2678
+ 85,
2679
+ 170,
2680
+ 85
2681
+ ],
2682
+ pct40: [
2683
+ 170,
2684
+ 119,
2685
+ 170,
2686
+ 221,
2687
+ 170,
2688
+ 119,
2689
+ 170,
2690
+ 221
2691
+ ],
2692
+ pct50: [
2693
+ 170,
2694
+ 85,
2695
+ 170,
2696
+ 85,
2697
+ 170,
2698
+ 85,
2699
+ 170,
2700
+ 85
2701
+ ],
2702
+ pct60: [
2703
+ 221,
2704
+ 85,
2705
+ 119,
2706
+ 85,
2707
+ 221,
2708
+ 85,
2709
+ 119,
2710
+ 85
2711
+ ],
2712
+ pct70: [
2713
+ 238,
2714
+ 85,
2715
+ 187,
2716
+ 85,
2717
+ 238,
2718
+ 85,
2719
+ 187,
2720
+ 85
2721
+ ],
2722
+ pct75: [
2723
+ 238,
2724
+ 170,
2725
+ 187,
2726
+ 170,
2727
+ 238,
2728
+ 170,
2729
+ 187,
2730
+ 170
2731
+ ],
2732
+ pct80: [
2733
+ 254,
2734
+ 239,
2735
+ 251,
2736
+ 191,
2737
+ 254,
2738
+ 239,
2739
+ 251,
2740
+ 191
2741
+ ],
2742
+ pct90: [
2743
+ 255,
2744
+ 239,
2745
+ 255,
2746
+ 251,
2747
+ 255,
2748
+ 239,
2749
+ 255,
2750
+ 251
2751
+ ],
2752
+ horz: [
2753
+ 255,
2754
+ 0,
2755
+ 0,
2756
+ 0,
2757
+ 255,
2758
+ 0,
2759
+ 0,
2760
+ 0
2761
+ ],
2762
+ vert: [
2763
+ 136,
2764
+ 136,
2765
+ 136,
2766
+ 136,
2767
+ 136,
2768
+ 136,
2769
+ 136,
2770
+ 136
2771
+ ],
2772
+ ltHorz: [
2773
+ 0,
2774
+ 255,
2775
+ 0,
2776
+ 0,
2777
+ 0,
2778
+ 0,
2779
+ 0,
2780
+ 0
2781
+ ],
2782
+ ltVert: [
2783
+ 32,
2784
+ 32,
2785
+ 32,
2786
+ 32,
2787
+ 32,
2788
+ 32,
2789
+ 32,
2790
+ 32
2791
+ ],
2792
+ dkHorz: [
2793
+ 255,
2794
+ 255,
2795
+ 0,
2796
+ 0,
2797
+ 255,
2798
+ 255,
2799
+ 0,
2800
+ 0
2801
+ ],
2802
+ dkVert: [
2803
+ 204,
2804
+ 204,
2805
+ 204,
2806
+ 204,
2807
+ 204,
2808
+ 204,
2809
+ 204,
2810
+ 204
2811
+ ],
2812
+ narHorz: [
2813
+ 255,
2814
+ 0,
2815
+ 255,
2816
+ 0,
2817
+ 255,
2818
+ 0,
2819
+ 255,
2820
+ 0
2821
+ ],
2822
+ narVert: [
2823
+ 170,
2824
+ 170,
2825
+ 170,
2826
+ 170,
2827
+ 170,
2828
+ 170,
2829
+ 170,
2830
+ 170
2831
+ ],
2832
+ cross: [
2833
+ 255,
2834
+ 136,
2835
+ 136,
2836
+ 136,
2837
+ 255,
2838
+ 136,
2839
+ 136,
2840
+ 136
2841
+ ],
2842
+ lgGrid: [
2843
+ 255,
2844
+ 128,
2845
+ 128,
2846
+ 128,
2847
+ 128,
2848
+ 128,
2849
+ 128,
2850
+ 128
2851
+ ],
2852
+ smGrid: [
2853
+ 255,
2854
+ 136,
2855
+ 136,
2856
+ 136,
2857
+ 255,
2858
+ 136,
2859
+ 136,
2860
+ 136
2861
+ ],
2862
+ dotGrid: [
2863
+ 136,
2864
+ 0,
2865
+ 0,
2866
+ 0,
2867
+ 136,
2868
+ 0,
2869
+ 0,
2870
+ 0
2871
+ ],
2872
+ dnDiag: [
2873
+ 128,
2874
+ 64,
2875
+ 32,
2876
+ 16,
2877
+ 8,
2878
+ 4,
2879
+ 2,
2880
+ 1
2881
+ ],
2882
+ upDiag: [
2883
+ 1,
2884
+ 2,
2885
+ 4,
2886
+ 8,
2887
+ 16,
2888
+ 32,
2889
+ 64,
2890
+ 128
2891
+ ],
2892
+ ltDnDiag: [
2893
+ 136,
2894
+ 68,
2895
+ 34,
2896
+ 17,
2897
+ 136,
2898
+ 68,
2899
+ 34,
2900
+ 17
2901
+ ],
2902
+ ltUpDiag: [
2903
+ 17,
2904
+ 34,
2905
+ 68,
2906
+ 136,
2907
+ 17,
2908
+ 34,
2909
+ 68,
2910
+ 136
2911
+ ],
2912
+ dkDnDiag: [
2913
+ 195,
2914
+ 129,
2915
+ 0,
2916
+ 129,
2917
+ 195,
2918
+ 129,
2919
+ 0,
2920
+ 129
2921
+ ],
2922
+ dkUpDiag: [
2923
+ 195,
2924
+ 129,
2925
+ 0,
2926
+ 129,
2927
+ 195,
2928
+ 129,
2929
+ 0,
2930
+ 129
2931
+ ],
2932
+ wdDnDiag: [
2933
+ 128,
2934
+ 64,
2935
+ 32,
2936
+ 16,
2937
+ 8,
2938
+ 4,
2939
+ 2,
2940
+ 129
2941
+ ],
2942
+ wdUpDiag: [
2943
+ 1,
2944
+ 2,
2945
+ 4,
2946
+ 8,
2947
+ 16,
2948
+ 32,
2949
+ 64,
2950
+ 129
2951
+ ],
2952
+ diagCross: [
2953
+ 129,
2954
+ 66,
2955
+ 36,
2956
+ 24,
2957
+ 24,
2958
+ 36,
2959
+ 66,
2960
+ 129
2961
+ ],
2962
+ horzBrick: [
2963
+ 255,
2964
+ 16,
2965
+ 16,
2966
+ 16,
2967
+ 255,
2968
+ 1,
2969
+ 1,
2970
+ 1
2971
+ ],
2972
+ diagBrick: [
2973
+ 129,
2974
+ 66,
2975
+ 36,
2976
+ 24,
2977
+ 36,
2978
+ 66,
2979
+ 129,
2980
+ 0
2981
+ ],
2982
+ lgCheck: [
2983
+ 240,
2984
+ 240,
2985
+ 240,
2986
+ 240,
2987
+ 15,
2988
+ 15,
2989
+ 15,
2990
+ 15
2991
+ ],
2992
+ smCheck: [
2993
+ 204,
2994
+ 204,
2995
+ 51,
2996
+ 51,
2997
+ 204,
2998
+ 204,
2999
+ 51,
3000
+ 51
3001
+ ],
3002
+ trellis: [
3003
+ 165,
3004
+ 90,
3005
+ 165,
3006
+ 90,
3007
+ 165,
3008
+ 90,
3009
+ 165,
3010
+ 90
3011
+ ]
3012
+ };
3013
+ function Sr(e, t, n) {
3014
+ let r = xr[e];
3015
+ if (!r) return null;
3016
+ let i = a(8, 8);
3017
+ if (!i) return null;
3018
+ let o = i.getContext("2d");
3019
+ if (!o) return null;
3020
+ o.fillStyle = Cr(n), o.fillRect(0, 0, 8, 8), o.fillStyle = Cr(t);
3021
+ for (let e = 0; e < 8; e++) {
3022
+ let t = r[e];
3023
+ for (let n = 0; n < 8; n++) t & 1 << 7 - n && o.fillRect(n, e, 1, 1);
3024
+ }
3025
+ return i;
3026
+ }
3027
+ function Cr(e) {
3028
+ 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})`;
3029
+ }
3030
+ //#endregion
3031
+ //#region packages/core/src/draw/dash.ts
3032
+ function q(e, t) {
3033
+ return e.map((e) => e * t);
3034
+ }
3035
+ var wr = {
3036
+ dotted: [1, 2],
3037
+ dashed: [3, 2],
3038
+ dashSmallGap: [3, 1],
3039
+ dotDash: [
3040
+ 1,
3041
+ 2,
3042
+ 3,
3043
+ 2
3044
+ ],
3045
+ dotDotDash: [
3046
+ 1,
3047
+ 2,
3048
+ 1,
3049
+ 2,
3050
+ 3,
3051
+ 2
3052
+ ],
3053
+ dashDotStroked: [
3054
+ 1,
3055
+ 2,
3056
+ 3,
3057
+ 2
3058
+ ]
3059
+ };
3060
+ function Tr(e, t) {
3061
+ let n = wr[e];
3062
+ return n ? q(n, t) : [];
3063
+ }
3064
+ var Er = {
3065
+ hair: [1, 1],
3066
+ dashed: [4, 3],
3067
+ mediumDashed: [4, 3],
3068
+ dotted: [2, 2],
3069
+ dashDot: [
3070
+ 4,
3071
+ 2,
3072
+ 1,
3073
+ 2
3074
+ ],
3075
+ mediumDashDot: [
3076
+ 4,
3077
+ 2,
3078
+ 1,
3079
+ 2
3080
+ ],
3081
+ dashDotDot: [
3082
+ 4,
3083
+ 2,
3084
+ 1,
3085
+ 2,
3086
+ 1,
3087
+ 2
3088
+ ],
3089
+ mediumDashDotDot: [
3090
+ 4,
3091
+ 2,
3092
+ 1,
3093
+ 2,
3094
+ 1,
3095
+ 2
3096
+ ],
3097
+ slantDashDot: [
3098
+ 5,
3099
+ 3,
3100
+ 1,
3101
+ 3
3102
+ ]
3103
+ };
3104
+ function Dr(e) {
3105
+ let t = Er[e];
3106
+ return t ? q(t, 1) : [];
3107
+ }
3108
+ var Or = {
3109
+ dash: [6, 3],
3110
+ dot: [1.5, 3],
3111
+ dashDot: [
3112
+ 6,
3113
+ 3,
3114
+ 1.5,
3115
+ 3
3116
+ ],
3117
+ lgDash: [10, 4],
3118
+ lgDashDot: [
3119
+ 10,
3120
+ 4,
3121
+ 1.5,
3122
+ 4
3123
+ ],
3124
+ lgDashDotDot: [
3125
+ 10,
3126
+ 4,
3127
+ 1.5,
3128
+ 4,
3129
+ 1.5,
3130
+ 4
3131
+ ],
3132
+ sysDash: [4, 2],
3133
+ sysDot: [1, 2],
3134
+ sysDashDot: [
3135
+ 4,
3136
+ 2,
3137
+ 1,
3138
+ 2
3139
+ ],
3140
+ sysDashDotDot: [
3141
+ 4,
3142
+ 2,
3143
+ 1,
3144
+ 2,
3145
+ 1,
3146
+ 2
3147
+ ]
3148
+ };
3149
+ function kr(e, t) {
3150
+ let n = Or[e];
3151
+ return n ? q(n, t) : [];
3152
+ }
3153
+ var Ar = 512;
3154
+ function J(e, t, n) {
3155
+ if (e != null) {
3156
+ let t = [];
3157
+ for (let r = 0; r < Math.min(e.length, Ar); r += 1) {
3158
+ let i = e[r];
3159
+ !Number.isFinite(i.dash) || !Number.isFinite(i.space) || i.dash < 0 || i.space < 0 || i.dash === 0 && i.space === 0 || t.push(i.dash * n, i.space * n);
3160
+ }
3161
+ return t;
3162
+ }
3163
+ return kr(t ?? "solid", n);
3164
+ }
3165
+ function jr(e, t) {
3166
+ let n = kr(e, t);
3167
+ if (n.length > 0) return n;
3168
+ let r = e.trim().split(/[\s,]+/).map(Number);
3169
+ return r.length >= 2 && r.every((e) => Number.isFinite(e) && e >= 0) && r.some((e) => e > 0) ? (r.length % 2 != 0 && r.pop(), q(r, t)) : [];
3170
+ }
3171
+ var Mr = {
3172
+ dotted: [1.5, 3],
3173
+ dottedHeavy: [1.5, 3],
3174
+ dash: [6, 3],
3175
+ dashHeavy: [6, 3],
3176
+ dashLong: [10, 4],
3177
+ dashLongHeavy: [10, 4],
3178
+ dotDash: [
3179
+ 6,
3180
+ 3,
3181
+ 1.5,
3182
+ 3
3183
+ ],
3184
+ dotDashHeavy: [
3185
+ 6,
3186
+ 3,
3187
+ 1.5,
3188
+ 3
3189
+ ],
3190
+ dotDotDash: [
3191
+ 6,
3192
+ 3,
3193
+ 1.5,
3194
+ 3,
3195
+ 1.5,
3196
+ 3
3197
+ ],
3198
+ dotDotDashHeavy: [
3199
+ 6,
3200
+ 3,
3201
+ 1.5,
3202
+ 3,
3203
+ 1.5,
3204
+ 3
3205
+ ]
3206
+ };
3207
+ function Nr(e, t) {
3208
+ let n = Mr[e];
3209
+ return n ? q(n, t) : [];
3210
+ }
3211
+ //#endregion
3212
+ //#region packages/core/src/shape/paint.ts
3213
+ var Pr = 512;
3214
+ function Fr(e, t, n, r, i, a, s) {
3215
+ let c = e.tileRect;
3216
+ if (!c || (c.l ?? 0) === 0 && (c.t ?? 0) === 0 && (c.r ?? 0) === 0 && (c.b ?? 0) === 0) return null;
3217
+ let l = n + i * (c.l ?? 0), u = r + a * (c.t ?? 0), d = i * (1 - (c.l ?? 0) - (c.r ?? 0)), f = a * (1 - (c.t ?? 0) - (c.b ?? 0));
3218
+ if (!Number.isFinite(d) || !Number.isFinite(f) || Math.abs(d) < 1e-9 || Math.abs(f) < 1e-9) return null;
3219
+ let p = Math.min(1, Pr / Math.abs(d), Pr / Math.abs(f)), m = Math.max(1, Math.ceil(Math.abs(d) * p)), h = Math.max(1, Math.ceil(Math.abs(f) * p)), g = o(t, m, h), _ = g?.getContext("2d");
3220
+ if (!g || !_) return null;
3221
+ let v = X({
3222
+ ...e,
3223
+ tileRect: void 0,
3224
+ flip: void 0
3225
+ }, _, 0, 0, m, h, s);
3226
+ if (!v) return null;
3227
+ _.fillStyle = v, _.fillRect(0, 0, m, h);
3228
+ let y = e.flip === "x" || e.flip === "xy", b = e.flip === "y" || e.flip === "xy", x = g;
3229
+ if (y || b) {
3230
+ let e = o(t, m * (y ? 2 : 1), h * (b ? 2 : 1)), n = e?.getContext("2d");
3231
+ if (!e || !n) return null;
3232
+ for (let e = 0; e < (b ? 2 : 1); e += 1) for (let t = 0; t < (y ? 2 : 1); t += 1) n.save(), n.translate(t * m, e * h), n.scale(t === 1 ? -1 : 1, e === 1 ? -1 : 1), n.drawImage(g, t === 1 ? -m : 0, e === 1 ? -h : 0), n.restore();
3233
+ x = e;
3234
+ }
3235
+ let S = t.createPattern(x, "repeat");
3236
+ return !S || typeof S.setTransform != "function" ? null : (S.setTransform({
3237
+ a: d / m,
3238
+ b: 0,
3239
+ c: 0,
3240
+ d: f / h,
3241
+ e: l,
3242
+ f: u
3243
+ }), S);
3244
+ }
3245
+ function Y(e, t = 1) {
3246
+ let n = e.charCodeAt(0) === 35 ? e.slice(1) : e;
3247
+ 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})`;
3248
+ }
3249
+ function Ir(e) {
3250
+ 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);
3251
+ return .299 * n + .587 * r + .114 * i;
3252
+ }
3253
+ function Lr(e) {
3254
+ return e && Ir(e) < 128 ? "#FFFFFF" : "#000000";
3255
+ }
3256
+ function X(e, t, n, r, i, a, o = 0) {
3257
+ if (!e || e.fillType === "none") return null;
3258
+ if (e.fillType === "solid") return Y(e.color);
3259
+ if (e.fillType === "pattern") return zr(e, t);
3260
+ if (e.fillType === "gradient") {
3261
+ let s = e.stops;
3262
+ if (s.length === 0) return null;
3263
+ if (s.length === 1) return Y(s[0].color);
3264
+ let c = Fr(e, t, n, r, i, a, o);
3265
+ if (c) return c;
3266
+ let l, u = e.tileRect, d = n + i * (u?.l ?? 0), f = r + a * (u?.t ?? 0), p = i * (1 - (u?.l ?? 0) - (u?.r ?? 0)), m = a * (1 - (u?.t ?? 0) - (u?.b ?? 0));
3267
+ if (e.gradType === "radial") {
3268
+ let n = e.fillToRect, r = d + p * (n?.l ?? 0), i = f + m * (n?.t ?? 0), a = p * (1 - (n?.l ?? 0) - (n?.r ?? 0)), o = m * (1 - (n?.t ?? 0) - (n?.b ?? 0)), s = r + a / 2, c = i + o / 2, u = Math.max(Math.abs(s - d), Math.abs(d + p - s)), h = Math.max(Math.abs(c - f), Math.abs(f + m - c)), g = e.path === "rect" ? Math.max(u, h) : Math.sqrt(u * u + h * h);
3269
+ l = t.createRadialGradient(s, c, 0, s, c, Math.max(g, 1e-9));
3270
+ } else {
3271
+ let n = (e.rotWithShape === !1 ? e.angle - o : e.angle) * Math.PI / 180, r = Math.cos(n), i = Math.sin(n);
3272
+ if (e.scaled === !0) {
3273
+ r *= p, i *= m;
3274
+ let e = Math.hypot(r, i);
3275
+ e > 0 && (r /= e, i /= e);
3276
+ }
3277
+ let a = d + p / 2, s = f + m / 2, c = (Math.abs(r) * p + Math.abs(i) * m) / 2;
3278
+ l = t.createLinearGradient(a - r * c, s - i * c, a + r * c, s + i * c);
3279
+ }
3280
+ for (let e of s) l.addColorStop(Math.min(1, Math.max(0, e.position)), Y(e.color));
3281
+ return l;
3282
+ }
3283
+ return null;
3284
+ }
3285
+ var Rr = /* @__PURE__ */ new WeakMap();
3286
+ function zr(e, t) {
3287
+ let n = `${e.preset}|${e.fg}|${e.bg}`, r = Rr.get(t);
3288
+ r || (r = /* @__PURE__ */ new Map(), Rr.set(t, r));
3289
+ let i = r.get(n);
3290
+ if (i) return i;
3291
+ let a = Sr(e.preset, e.fg, e.bg);
3292
+ if (!a) return Y(e.fg);
3293
+ let o = t.createPattern(a, "repeat");
3294
+ return o ? (r.set(n, o), o) : Y(e.fg);
3295
+ }
3296
+ function Br(e, t, n) {
3297
+ if (!t) {
3298
+ e.strokeStyle = "transparent", e.lineWidth = 0, e.setLineDash([]), e.lineCap = "butt", e.lineJoin = "miter", e.miterLimit = 10;
3299
+ return;
3300
+ }
3301
+ e.strokeStyle = Y(t.color);
3302
+ let r = Math.max(.5, t.width * n);
3303
+ e.lineWidth = r;
3304
+ let i = t.customDash == null ? t.dashStyle ? jr(t.dashStyle, r) : [] : J(t.customDash, null, r), a = t.lineCap ?? "butt", o = i.some((e, t) => t % 2 == 0 && e === 0);
3305
+ e.lineCap = a === "butt" && o ? "square" : a, e.lineJoin = t.lineJoin ?? "miter", e.miterLimit = t.miterLimit ?? 10, e.setLineDash(i);
3306
+ }
3307
+ //#endregion
3308
+ //#region packages/core/src/chart/compound-frame.ts
3309
+ function Vr(e, t) {
3310
+ if (!Number.isFinite(e) || e <= 0) return [];
3311
+ let n = t === "dbl" ? [
3312
+ 1,
3313
+ 1,
3314
+ 1
3315
+ ] : t === "thinThick" ? [
3316
+ 1,
3317
+ 1,
3318
+ 3
3319
+ ] : t === "thickThin" ? [
3320
+ 3,
3321
+ 1,
3322
+ 1
3323
+ ] : t === "tri" ? [
3324
+ 1,
3325
+ 1,
3326
+ 2,
3327
+ 1,
3328
+ 1
3329
+ ] : [1], r = e / n.reduce((e, t) => e + t, 0), i = [], a = 0;
3330
+ for (let e = 0; e < n.length; e += 2) {
3331
+ let t = n[e] * r;
3332
+ i.push({
3333
+ center: a + t / 2,
3334
+ width: t
3335
+ }), a += t + (n[e + 1] ?? 0) * r;
3336
+ }
3337
+ return i;
3338
+ }
3339
+ function Hr(e, t, n, r, i, a) {
3340
+ let o = Math.max(0, Math.min(a, r / 2, i / 2));
3341
+ e.beginPath(), e.moveTo(t + o, n), e.lineTo(t + r - o, n), e.quadraticCurveTo(t + r, n, t + r, n + o), e.lineTo(t + r, n + i - o), e.quadraticCurveTo(t + r, n + i, t + r - o, n + i), e.lineTo(t + o, n + i), e.quadraticCurveTo(t, n + i, t, n + i - o), e.lineTo(t, n + o), e.quadraticCurveTo(t, n, t + o, n), e.closePath();
3342
+ }
3343
+ function Z(e, t, n, r, i, a, o, s = 0) {
3344
+ if (r > 0 && i > 0) for (let c of Vr(a, o)) {
3345
+ let a = Math.max(0, r - c.center * 2), o = Math.max(0, i - c.center * 2);
3346
+ a > 0 && o > 0 && (e.lineWidth = c.width, s > 0 ? (Hr(e, t + c.center, n + c.center, a, o, Math.max(0, s - c.center)), e.stroke()) : e.strokeRect(t + c.center, n + c.center, a, o));
3347
+ }
3348
+ }
3349
+ //#endregion
3350
+ //#region packages/core/src/chart/axis-style.ts
3351
+ function Q(e, t) {
3352
+ return e ? Math.max(.5, e / n) * t : 1;
3353
+ }
3354
+ function Ur(e, t, n) {
3355
+ return {
3356
+ color: e ? `#${e}` : "#aaa",
3357
+ width: Q(t, n)
3358
+ };
3359
+ }
3360
+ function Wr(e, t, n) {
3361
+ return {
3362
+ color: e ? `#${e}` : "#e0e0e0",
3363
+ width: t ? Q(t, n) : .5
3364
+ };
3365
+ }
3366
+ function Gr(e) {
3367
+ return e.catAxisCrossBetween !== "midCat";
3368
+ }
3369
+ //#endregion
3370
+ //#region packages/core/src/excel-date.ts
3371
+ var $ = 864e5, Kr = Date.UTC(1899, 11, 30), qr = Date.UTC(1904, 0, 1);
3372
+ function Jr(e, t = !1) {
3373
+ if (t) return new Date(qr + e * $);
3374
+ let n = e < 60 ? e + 1 : e;
3375
+ return new Date(Kr + n * $);
3376
+ }
3377
+ function Yr(e, t = !1) {
3378
+ if (t) return (e.getTime() - qr) / $;
3379
+ let n = (e.getTime() - Kr) / $;
3380
+ return n <= 60 ? n - 1 : n;
3381
+ }
3382
+ //#endregion
3383
+ //#region packages/core/src/text/round-decimal.ts
3384
+ function Xr(e, t) {
3385
+ if (!Number.isFinite(e)) return String(e);
3386
+ let n = Math.max(0, Math.trunc(t)), r = e < 0, [i, a = ""] = Zr(Math.abs(e).toString()).split("."), o = a.padEnd(n + 1, "0"), s = o.slice(0, n), c = o.charCodeAt(n) - 48, l = (i + s).split("").map((e) => e.charCodeAt(0) - 48);
3387
+ if (c >= 5) {
3388
+ let e = l.length - 1;
3389
+ for (; e >= 0; e--) if (l[e] === 9) l[e] = 0;
3390
+ else {
3391
+ l[e] += 1;
3392
+ break;
3393
+ }
3394
+ e < 0 && l.unshift(1);
3395
+ }
3396
+ let u = l.map((e) => String(e)).join(""), d = n, f = (d > 0 ? u.slice(0, u.length - d) : u) || "0", p = d > 0 ? u.slice(u.length - d) : "", m = f.replace(/^0+(?=\d)/, ""), h = p.length > 0 ? `${m}.${p}` : m, g = /^[0.]*$/.test(h) && !/[1-9]/.test(h);
3397
+ return r && !g ? `-${h}` : h;
3398
+ }
3399
+ function Zr(e) {
3400
+ let t = /^(\d+)(?:\.(\d+))?[eE]([+-]?\d+)$/.exec(e);
3401
+ if (!t) return e;
3402
+ let [, n, r = "", i] = t, a = parseInt(i, 10), o = n + r, s = n.length + a;
3403
+ return s <= 0 ? "0." + "0".repeat(-s) + o : s >= o.length ? o + "0".repeat(s - o.length) : o.slice(0, s) + "." + o.slice(s);
3404
+ }
3405
+ //#endregion
3406
+ //#region packages/core/src/chart/chart-number-format.ts
3407
+ var Qr = /* @__PURE__ */ new Map();
3408
+ function $r(e, t = !1, n = typeof navigator > "u" ? void 0 : navigator.language) {
3409
+ let r = n ?? "", i = Qr.get(r);
3410
+ return i || (i = new Intl.DateTimeFormat(n, {
3411
+ year: "numeric",
3412
+ month: "numeric",
3413
+ day: "numeric",
3414
+ timeZone: "UTC"
3415
+ }), Qr.set(r, i)), i.format(Jr(e, t));
3416
+ }
3417
+ function ei(e) {
3418
+ return Number.isInteger(e) ? String(e) : Xr(e, 6).replace(/\.?0+$/, "");
3419
+ }
3420
+ function ti(e, t, n = !1) {
3421
+ if (!t || t.trim().toLowerCase() === "general") return ei(e);
3422
+ if (ri(t)) return ii(e, t, n);
3423
+ let r = ai(t), i;
3424
+ return i = e > 0 ? r[0] ?? t : e < 0 ? r[1] ?? r[0] ?? t : r[2] ?? r[0] ?? t, i === "" ? "" : (e < 0 && r.length < 2 ? "-" : "") + oi(Math.abs(e), i);
3425
+ }
3426
+ function ni(e, t, n = !1) {
3427
+ if (!t || e.trim() === "") return e;
3428
+ let r = Number(e);
3429
+ return Number.isFinite(r) ? ti(r, t, n) : e;
3430
+ }
3431
+ function ri(e) {
3432
+ let t = !1;
3433
+ for (let n = 0; n < e.length; n++) {
3434
+ let r = e[n];
3435
+ if (r === "\"") {
3436
+ t = !t;
3437
+ continue;
3438
+ }
3439
+ if (!t) {
3440
+ if (r === "\\") {
3441
+ n++;
3442
+ continue;
3443
+ }
3444
+ if (r === "[") {
3445
+ for (; n < e.length && e[n] !== "]";) n++;
3446
+ continue;
3447
+ }
3448
+ if (r === "y" || r === "Y" || r === "d" || r === "D" || r === "m" || r === "M" || r === "h" || r === "H" || r === "s" || r === "S") return !0;
3449
+ }
3450
+ }
3451
+ return !1;
3452
+ }
3453
+ function ii(e, t, n = !1) {
3454
+ let r = Jr(Math.floor(e), n), i = r.getUTCFullYear(), a = r.getUTCMonth() + 1, o = r.getUTCDate(), s = (e - Math.floor(e)) * 86400, c = Math.floor(s / 3600), l = Math.floor(s % 3600 / 60), u = Math.floor(s % 60), d = "", f = !1, p = 0;
3455
+ for (; p < t.length;) {
3456
+ let e = t[p];
3457
+ if (e === "\"") {
3458
+ f = !f, p++;
3459
+ continue;
3460
+ }
3461
+ if (f) {
3462
+ d += e, p++;
3463
+ continue;
3464
+ }
3465
+ if (e === "\\" && p + 1 < t.length) {
3466
+ d += t[p + 1], p += 2;
3467
+ continue;
3468
+ }
3469
+ if (e === "[") {
3470
+ for (; p < t.length && t[p] !== "]";) p++;
3471
+ p < t.length && p++;
3472
+ continue;
3473
+ }
3474
+ if (e === "y" || e === "Y") {
3475
+ let e = 0;
3476
+ for (; p < t.length && (t[p] === "y" || t[p] === "Y");) e++, p++;
3477
+ d += e >= 3 ? String(i) : String(i % 100).padStart(2, "0");
3478
+ continue;
3479
+ }
3480
+ if (e === "m" || e === "M") {
3481
+ let e = 0;
3482
+ for (; p < t.length && (t[p] === "m" || t[p] === "M");) e++, p++;
3483
+ if (d.match(/[Hh]+\W*$/)) d += e >= 2 ? String(l).padStart(2, "0") : String(l);
3484
+ else {
3485
+ let t = [
3486
+ "Jan",
3487
+ "Feb",
3488
+ "Mar",
3489
+ "Apr",
3490
+ "May",
3491
+ "Jun",
3492
+ "Jul",
3493
+ "Aug",
3494
+ "Sep",
3495
+ "Oct",
3496
+ "Nov",
3497
+ "Dec"
3498
+ ], n = [
3499
+ "January",
3500
+ "February",
3501
+ "March",
3502
+ "April",
3503
+ "May",
3504
+ "June",
3505
+ "July",
3506
+ "August",
3507
+ "September",
3508
+ "October",
3509
+ "November",
3510
+ "December"
3511
+ ];
3512
+ d += e >= 5 ? n[a - 1][0] : e === 4 ? n[a - 1] : e === 3 ? t[a - 1] : e === 2 ? String(a).padStart(2, "0") : String(a);
3513
+ }
3514
+ continue;
3515
+ }
3516
+ if (e === "d" || e === "D") {
3517
+ let e = 0;
3518
+ for (; p < t.length && (t[p] === "d" || t[p] === "D");) e++, p++;
3519
+ d += e >= 2 ? String(o).padStart(2, "0") : String(o);
3520
+ continue;
3521
+ }
3522
+ if (e === "h" || e === "H") {
3523
+ let e = 0;
3524
+ for (; p < t.length && (t[p] === "h" || t[p] === "H");) e++, p++;
3525
+ d += e >= 2 ? String(c).padStart(2, "0") : String(c);
3526
+ continue;
3527
+ }
3528
+ if (e === "s" || e === "S") {
3529
+ let e = 0;
3530
+ for (; p < t.length && (t[p] === "s" || t[p] === "S");) e++, p++;
3531
+ d += e >= 2 ? String(u).padStart(2, "0") : String(u);
3532
+ continue;
3533
+ }
3534
+ d += e, p++;
3535
+ }
3536
+ return d;
3537
+ }
3538
+ function ai(e) {
3539
+ let t = [], n = "";
3540
+ for (let r = 0; r < e.length; r++) {
3541
+ let i = e[r];
3542
+ if (i === "\\" && r + 1 < e.length) {
3543
+ n += i + e[r + 1], r++;
3544
+ continue;
3545
+ }
3546
+ if (i === "\"") {
3547
+ for (n += i, r++; r < e.length && e[r] !== "\"";) n += e[r], r++;
3548
+ r < e.length && (n += e[r]);
3549
+ continue;
3550
+ }
3551
+ if (i === "[") {
3552
+ for (n += i, r++; r < e.length && e[r] !== "]";) n += e[r], r++;
3553
+ r < e.length && (n += e[r]);
3554
+ continue;
3555
+ }
3556
+ if (i === ";") {
3557
+ t.push(n), n = "";
3558
+ continue;
3559
+ }
3560
+ n += i;
3561
+ }
3562
+ return t.push(n), t;
3563
+ }
3564
+ function oi(e, t) {
3565
+ let n = [], r = 0, i = !1, a = !1;
3566
+ for (; r < t.length;) {
3567
+ let e = t[r];
3568
+ if (e === "\"") {
3569
+ r++;
3570
+ let e = "";
3571
+ for (; r < t.length && t[r] !== "\"";) e += t[r], r++;
3572
+ r < t.length && r++, n.push({
3573
+ kind: "lit",
3574
+ text: e
3575
+ });
3576
+ continue;
3577
+ }
3578
+ if (e === "\\" && r + 1 < t.length) {
3579
+ n.push({
3580
+ kind: "lit",
3581
+ text: t[r + 1]
3582
+ }), r += 2;
3583
+ continue;
3584
+ }
3585
+ if (e === "_" && r + 1 < t.length) {
3586
+ n.push({
3587
+ kind: "lit",
3588
+ text: " "
3589
+ }), r += 2;
3590
+ continue;
3591
+ }
3592
+ if (e === "*" && r + 1 < t.length) {
3593
+ r += 2;
3594
+ continue;
3595
+ }
3596
+ if (e === "[") {
3597
+ for (r++; r < t.length && t[r] !== "]";) r++;
3598
+ r < t.length && r++;
3599
+ continue;
3600
+ }
3601
+ if (e === "%") {
3602
+ a = !0, n.push({
3603
+ kind: "lit",
3604
+ text: "%"
3605
+ }), r++;
3606
+ continue;
3607
+ }
3608
+ if (e === "#" || e === "0" || e === "." || e === "," || e === "?") {
3609
+ let e = "";
3610
+ for (; r < t.length && (t[r] === "#" || t[r] === "0" || t[r] === "." || t[r] === "," || t[r] === "?");) e += t[r], r++;
3611
+ n.push({
3612
+ kind: "num",
3613
+ text: e
3614
+ }), i = !0;
3615
+ continue;
3616
+ }
3617
+ n.push({
3618
+ kind: "lit",
3619
+ text: e
3620
+ }), r++;
3621
+ }
3622
+ if (!i) return n.map((e) => e.text).join("");
3623
+ let o = a ? e * 100 : e, s = "";
3624
+ for (let e of n) e.kind === "num" && (s += e.text);
3625
+ let c = si(o, s), l = !1;
3626
+ return n.map((e) => e.kind === "lit" ? e.text : l ? "" : (l = !0, c)).join("");
3627
+ }
3628
+ function si(e, t) {
3629
+ 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 = ""] = Xr(e, o).split("."), u = c.padStart(s, "0"), d = a ? u.replace(/\B(?=(\d{3})+(?!\d))/g, ",") : u;
3630
+ return o === 0 ? d : `${d}.${l.padEnd(o, "0")}`;
3631
+ }
3632
+ //#endregion
3633
+ //#region packages/core/src/chart/legend-frame.ts
3634
+ function ci(e, t, n, r, i = 0) {
3635
+ if (!((!t.legendFill && !t.legendFillColor || t.legendFillHidden === !0) && (!t.legendLineFill && !t.legendLineColor || t.legendLineHidden === !0))) {
3636
+ if (e.save(), t.legendFillHidden !== !0 && (t.legendFill || t.legendFillColor)) {
3637
+ let r = t.legendFill ? X(t.legendFill, e, n.x, n.y, n.w, n.h, i) : `#${t.legendFillColor}`;
3638
+ r && (e.fillStyle = r), r && e.fillRect(n.x, n.y, n.w, n.h);
3639
+ }
3640
+ if (t.legendLineHidden !== !0 && (t.legendLineFill || t.legendLineColor) && n.w > 0 && n.h > 0) {
3641
+ let a = Q(t.legendLineWidthEmu, r), o = t.legendLineFill ? X(t.legendLineFill, e, n.x, n.y, n.w, n.h, i) : t.legendLineColor ? `#${t.legendLineColor}` : null;
3642
+ if (!o) {
3643
+ e.restore();
3644
+ return;
3645
+ }
3646
+ e.strokeStyle = o, e.lineCap = t.legendLineCap === "rnd" ? "round" : t.legendLineCap === "sq" ? "square" : "butt", e.lineJoin = t.legendLineJoin === "round" || t.legendLineJoin === "bevel" ? t.legendLineJoin : "miter", e.setLineDash(J(t.legendLineCustomDash, t.legendLineDash, a)), Z(e, n.x, n.y, n.w, n.h, a, t.legendLineCompound);
3647
+ }
3648
+ e.restore();
3649
+ }
3650
+ }
3651
+ //#endregion
3652
+ //#region packages/core/src/chart/plot-area-frame.ts
3653
+ function li(e, t, r, i, a, o, s, c = 0) {
3654
+ if (t.plotAreaFillHidden !== !0) if (t.plotAreaFill?.fillType === "image") br(e, t.plotAreaFill, r, i, a, o, s, c);
3655
+ else {
3656
+ let n = t.plotAreaFill ? X(t.plotAreaFill, e, r, i, a, o, c) : t.plotAreaBg ? `#${t.plotAreaBg}` : null;
3657
+ n && (e.fillStyle = n, e.fillRect(r, i, a, o));
3658
+ }
3659
+ if (t.plotAreaLineHidden === !0 || !t.plotAreaLineFill && !t.plotAreaLineColor) return;
3660
+ let l = t.plotAreaLineWidthEmu ? Math.max(.5, t.plotAreaLineWidthEmu / n) * s : 1;
3661
+ e.save();
3662
+ let u = t.plotAreaLineFill ? X(t.plotAreaLineFill, e, r, i, a, o, c) : t.plotAreaLineColor ? `#${t.plotAreaLineColor}` : null;
3663
+ if (!u) {
3664
+ e.restore();
3665
+ return;
3666
+ }
3667
+ e.strokeStyle = u, e.setLineDash(J(t.plotAreaLineCustomDash, t.plotAreaLineDash, l)), e.lineCap = t.plotAreaLineCap === "rnd" ? "round" : t.plotAreaLineCap === "sq" ? "square" : "butt", e.lineJoin = t.plotAreaLineJoin === "round" || t.plotAreaLineJoin === "bevel" ? t.plotAreaLineJoin : "miter", Z(e, r, i, a, o, l, t.plotAreaLineCompound), e.restore();
3668
+ }
3669
+ //#endregion
3670
+ export { Sn as $, St as $t, br as A, Vt as At, Qn as B, Mt as Bt, Dr as C, mn as Ct, mr as D, nn as Dt, pr as E, cn as Et, tr as F, qt as Ft, Kn as G, Jt as Gt, $n as H, Qt as Ht, rr as I, Ht as It, In as J, wt as Jt, U as K, Et as Kt, Jn as L, Lt, or as M, zt as Mt, er as N, Gt as Nt, hr as O, Yt as Ot, nr as P, Kt as Pt, Bn as Q, Ct as Qt, Zn as R, It as Rt, Nr as S, gn as St, _r as T, sn as Tt, qn as U, At as Ut, Xn as V, Ft as Vt, Gn as W, Zt as Wt, Vn as X, Tt as Xt, Fn as Y, Dt as Yt, zn as Z, kt as Zt, Y as _, _n as _t, ti as a, dt as an, En as at, J as b, ln as bt, Jr as c, u as cn, Pn as ct, Gr as d, o as dn, bn as dt, xt as en, Tn as et, Ur as f, yn as ft, Lr as g, xn as gt, Br as h, Mn as ht, ei as i, gt as in, kn as it, lr as j, Bt as jt, yr as k, Rt as kt, Yr as l, d as ln, H as lt, Z as m, Nn as mt, ci as n, ht as nn, wn as nt, $r as o, Be as on, jn as ot, Wr as p, On as pt, Ln as q, Ot as qt, ni as r, pt as rn, vn as rt, Xr as s, l as sn, An as st, li as t, mt as tn, Cn as tt, Q as u, a as un, Dn as ut, X as v, dn as vt, cr as w, hn as wt, kr as x, un as xt, Tr as y, fn as yt, Yn as z, Xt as zt };