resolvcharts 0.2.0 → 0.4.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.
- package/README.md +53 -3
- package/dist/index.cjs +643 -155
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +50 -10
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +50 -10
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +643 -156
- package/dist/index.mjs.map +1 -1
- package/dist/resolvcharts.global.min.js +192 -22
- package/dist/resolvcharts.global.min.js.map +1 -1
- package/dist/series-PmAjztEh.cjs +1191 -0
- package/dist/series-PmAjztEh.cjs.map +1 -0
- package/dist/series-wyqYpkXm.mjs +1191 -0
- package/dist/series-wyqYpkXm.mjs.map +1 -0
- package/package.json +1 -1
- package/dist/series-BdprL87H.mjs +0 -479
- package/dist/series-BdprL87H.mjs.map +0 -1
- package/dist/series-J_5Z6dah.cjs +0 -479
- package/dist/series-J_5Z6dah.cjs.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Chart type discriminator.
|
|
4
4
|
* @category Charts
|
|
5
5
|
*/
|
|
6
|
-
type ChartType = "line" | "area" | "bar" | "combo" | "sparkline" | "scatter" | "donut" | "candle" | "ohlc" | "waterfall" | "baseline";
|
|
6
|
+
type ChartType = "line" | "area" | "bar" | "combo" | "sparkline" | "scatter" | "bubble" | "rangearea" | "donut" | "pie" | "radar" | "funnel" | "candle" | "ohlc" | "waterfall" | "baseline";
|
|
7
7
|
/**
|
|
8
8
|
* Color/typography tokens used to render a chart.
|
|
9
9
|
* @category Theming
|
|
@@ -36,8 +36,12 @@ interface SeriesInput {
|
|
|
36
36
|
label?: string;
|
|
37
37
|
color?: string;
|
|
38
38
|
y: ArrayLike<number>;
|
|
39
|
+
/** For `bubble`: per-point radius value, scaled to a pixel range. */
|
|
40
|
+
r?: ArrayLike<number>;
|
|
41
|
+
/** For `rangearea`: upper band edge; `y` is the lower edge. */
|
|
42
|
+
y2?: ArrayLike<number>;
|
|
39
43
|
}
|
|
40
|
-
/** Data for xy charts (line, area, scatter, sparkline, baseline). `x` may be unsorted — it is sorted internally.
|
|
44
|
+
/** Data for xy charts (line, area, scatter, bubble, rangearea, sparkline, baseline). `x` may be unsorted — it is sorted internally.
|
|
41
45
|
* @category Data
|
|
42
46
|
*/
|
|
43
47
|
interface XYData {
|
|
@@ -61,7 +65,7 @@ interface CategorySeriesInput {
|
|
|
61
65
|
values: ArrayLike<number>;
|
|
62
66
|
}
|
|
63
67
|
/**
|
|
64
|
-
* Data for `bar` and `
|
|
68
|
+
* Data for `bar`, `combo`, `radar` and `funnel` charts (one entry per `categories` element).
|
|
65
69
|
* @category Data
|
|
66
70
|
*/
|
|
67
71
|
interface CategoryData {
|
|
@@ -78,7 +82,7 @@ interface DonutSlice {
|
|
|
78
82
|
color?: string;
|
|
79
83
|
}
|
|
80
84
|
/**
|
|
81
|
-
* Data for `donut` charts.
|
|
85
|
+
* Data for `donut` and `pie` charts.
|
|
82
86
|
* @category Data
|
|
83
87
|
*/
|
|
84
88
|
interface DonutData {
|
|
@@ -209,24 +213,35 @@ interface ChartOptions {
|
|
|
209
213
|
maxPoints?: number;
|
|
210
214
|
/**
|
|
211
215
|
* Render backend for xy series (line/area/sparkline/scatter). `"canvas"`
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
* on Canvas2D. `"auto"`
|
|
216
|
+
* uses Canvas2D. `"webgpu"` rasterizes series on the GPU — instanced
|
|
217
|
+
* lines, point sprites, compute decimation — while axes, grid, and
|
|
218
|
+
* tooltips stay on Canvas2D. `"auto"` (default) engages WebGPU once the
|
|
219
|
+
* point count crosses `gpuThreshold`, else Canvas2D.
|
|
215
220
|
* Unknown to older browsers → silent fallback to Canvas2D.
|
|
216
221
|
*/
|
|
217
222
|
renderer?: "auto" | "canvas" | "webgpu";
|
|
223
|
+
/**
|
|
224
|
+
* For `renderer: "auto"`: total visible xy points (x-length × series) at
|
|
225
|
+
* which the GPU path engages. Below this, Canvas2D is faster. Once the
|
|
226
|
+
* GPU attaches it stays attached for the chart's lifetime.
|
|
227
|
+
* Default: 100,000.
|
|
228
|
+
*/
|
|
229
|
+
gpuThreshold?: number;
|
|
218
230
|
/**
|
|
219
231
|
* WebGPU adapter options — only used when `renderer` resolves to WebGPU.
|
|
220
232
|
* `powerPreference` picks the discrete GPU on dual-GPU systems;
|
|
221
233
|
* `compat` requests compatibility mode (GLES 3.1 / D3D11 reach);
|
|
222
234
|
* `timing` enables GPU-side pass timing via "timestamp-query" when the
|
|
223
|
-
* adapter supports it (note: browsers
|
|
224
|
-
*
|
|
235
|
+
* adapter supports it (note: browsers require cross-origin isolation and
|
|
236
|
+
* quantize to ~100 µs — dev/profiling use only);
|
|
237
|
+
* `allowFallback` accepts software adapters like SwiftShader (off by
|
|
238
|
+
* default — usually slower than Canvas2D).
|
|
225
239
|
*/
|
|
226
240
|
gpu?: {
|
|
227
241
|
powerPreference?: "default" | "low-power" | "high-performance";
|
|
228
242
|
compat?: boolean;
|
|
229
243
|
timing?: boolean;
|
|
244
|
+
allowFallback?: boolean;
|
|
230
245
|
};
|
|
231
246
|
/**
|
|
232
247
|
* Canvas2D context settings passed to `getContext("2d", …)` for all layers.
|
|
@@ -247,6 +262,14 @@ interface ChartOptions {
|
|
|
247
262
|
x?: (v: number) => string;
|
|
248
263
|
y?: (v: number) => string;
|
|
249
264
|
};
|
|
265
|
+
/**
|
|
266
|
+
* Pin the y-axis domain. Each bound overrides the auto-fitted value —
|
|
267
|
+
* unset ends still auto-fit. E.g. `{ yMin: 0, yMax: 100 }` frames a
|
|
268
|
+
* utilization chart honestly; `{ yMin: 0 }` zero-anchors without a
|
|
269
|
+
* ceiling. Values exceeding the bounds are clipped at the plot edge.
|
|
270
|
+
*/
|
|
271
|
+
yMin?: number;
|
|
272
|
+
yMax?: number;
|
|
250
273
|
/** Called on pointer hover with the nearest hit, or `null` on leave. */
|
|
251
274
|
onHover?: (info: HoverInfo | null) => void;
|
|
252
275
|
}
|
|
@@ -294,23 +317,37 @@ export declare class Chart {
|
|
|
294
317
|
private destroyed;
|
|
295
318
|
private pendingView;
|
|
296
319
|
private gpu;
|
|
320
|
+
private gpuInit;
|
|
321
|
+
/** bumped whenever xy data is replaced or reordered — triggers GPU re-upload */
|
|
322
|
+
private dataRev;
|
|
297
323
|
private lastAppendAt;
|
|
298
324
|
private estInterval;
|
|
299
325
|
private onScroll;
|
|
300
326
|
private frame;
|
|
301
327
|
constructor(el: HTMLElement, options: ChartOptions);
|
|
328
|
+
/**
|
|
329
|
+
* Lazily acquire the WebGPU backend. `"webgpu"` attaches unconditionally;
|
|
330
|
+
* `"auto"` waits until the xy point count crosses `gpuThreshold` — small
|
|
331
|
+
* charts never pay adapter/device acquisition.
|
|
332
|
+
*/
|
|
333
|
+
private maybeInitGpu;
|
|
302
334
|
private normalize;
|
|
303
335
|
private bindEvents;
|
|
304
336
|
private onMove;
|
|
305
337
|
private onLeave;
|
|
306
338
|
private layout;
|
|
307
339
|
private domains;
|
|
340
|
+
private yDomain;
|
|
308
341
|
private lerpView;
|
|
309
342
|
private makeScales;
|
|
310
343
|
private renderContext;
|
|
311
344
|
private drawStatic;
|
|
312
345
|
private render;
|
|
313
|
-
/**
|
|
346
|
+
/**
|
|
347
|
+
* Series rasterization on the GPU; grid/labels/hover stay on Canvas2D.
|
|
348
|
+
* Raw data lives in GPU buffers — the per-frame cost is uniform writes +
|
|
349
|
+
* instanced draws, with compute decimation above the density threshold.
|
|
350
|
+
*/
|
|
314
351
|
private gpuRender;
|
|
315
352
|
private drawHover;
|
|
316
353
|
private applyHover;
|
|
@@ -387,6 +424,9 @@ export declare function extent(values: ArrayLike<number>): [number, number];
|
|
|
387
424
|
/** @category Utilities
|
|
388
425
|
* Pad a domain by 5% on each end; `includeZero` anchors the axis at 0. */
|
|
389
426
|
export declare function padDomain(min: number, max: number, includeZero?: boolean): [number, number];
|
|
427
|
+
/** @category Utilities
|
|
428
|
+
* Pin domain ends — each defined bound overrides the fitted value. */
|
|
429
|
+
export declare function boundDomain(dom: [number, number], min?: number, max?: number): [number, number];
|
|
390
430
|
//#endregion
|
|
391
431
|
//#region src/core/theme.d.ts
|
|
392
432
|
/** Built-in light theme.
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/core/types.ts","../src/core/chart.ts","../src/core/decimate.ts","../src/core/format.ts","../src/core/hit.ts","../src/core/scales.ts","../src/core/theme.ts","../src/core/ticks.ts"],"mappings":";;;;;KAIY;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/core/types.ts","../src/core/chart.ts","../src/core/decimate.ts","../src/core/format.ts","../src/core/hit.ts","../src/core/scales.ts","../src/core/theme.ts","../src/core/ticks.ts"],"mappings":";;;;;KAIY;;;;;UAsBK;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;UAOe;EACf;EACA;EACA,GAAG;;EAEH,IAAI;;EAEJ,KAAK;;;;;UAMU;EACf,GAAG;EACH,QAAQ;;;;;;KAOE;;;;;UAMK;EACf;EACA;;EAEA,OAAO;EACP,QAAQ;;;;;;UAOO;EACf;EACA,QAAQ;;;;;;UAOO;EACf;EACA;EACA;;;;;;UAOe;EACf,QAAQ;;;;;;UAOO;EACf;EACA;EACA;EACA;EACA;EACA;;;;;;UAOe;EACf,SAAS;;;;;;UAOM;EACf;;EAEA,QAAQ;;EAER;;;;;KAMU,YACR,SACA,eACA,YACA,WACA;;;;;KAMQ;;;;;KAMA;EAEN;EACA;EACA;EACA;EACA;EACA;IAAU;IAAe;IAAe;;;EAExC;;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM;;EAGN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;UAOW;EACf,MAAM;EACN,MAAM;EACN,2BAA2B,QAAQ;;EAEnC;EACA,QAAQ;EACR;EACA;EACA;;EAEA;;;;;;;;EAQA;;;;;;EAMA;;;;;;;EAOA;;;;;;;;;EAUA;;;;;;;EAOA;;;;;;;;;;;EAWA;IACE;IACA;IACA;IACA;;;;;;;;;EASF,SAAS;;EAET;;EAEA;;EAEA;;EAEA;IACE,KAAK;IACL,KAAK;;;;;;;;EAQP;EACA;;EAEA,WAAW,MAAM;;;;;UAMF;EACf;EACA;EACA;EACA;;;;;UAMe;GACd;EACD,OAAO;EACP;EACA;;;;;;;qBC5KW;WACF,IAAI;WACJ,SAAS;UACV;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UAIA;UACA;UAIA;UACA;UACA;UACA;UACA;;UAEA;UACA;UACA;UACA;UAGA;EAkCR,YAAY,IAAI,aAAa,SAAS;;;;;;UA8B9B;UA8BA;UA6IA;UAUA;UASA;UAUA;UAkCA;UAkHA;UAIA;UAiBA;UAmBA;UAeA;UA8EA;;;;;;UAcA;UAiCA;UAkEA;UA4DA;UAaA;;EAcR,QAAQ,MAAM;;;;;;EAcd,OAAO,WAAW;;EA0HlB;;EAoBA;;;;;;;;;;;;;;;;;;wBA4Dc,YAAY,IAAI,aAAa,SAAS,eAAe;;;;;;;;;;;;;;wBC/7BrD,WACd,IAAI,mBACJ,IAAI,mBACJ,qBACC;;;;;wBCpMa,aAAa;;;wBAcb,SAAS;;;;;;;;wBCXT,aAAa,IAAI,mBAAmB;;;;;wBCDpC,YACd,YACA,YACA,YACA,aACC;;;wBAYa,OAAO,QAAQ;;;wBAkBf,UACd,aACA,aACA;;;wBAoBc,YACd,uBACA,cACA;;;;;;qBC1DW,YAAY;;;;qBAsBZ,WAAW;;;;wBAmCR,aACd,KAAK,uBACL,6BACC;;;;;;wBC/Ca,aAAa,aAAa,aAAa"}
|
package/dist/index.d.mts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Chart type discriminator.
|
|
4
4
|
* @category Charts
|
|
5
5
|
*/
|
|
6
|
-
type ChartType = "line" | "area" | "bar" | "combo" | "sparkline" | "scatter" | "donut" | "candle" | "ohlc" | "waterfall" | "baseline";
|
|
6
|
+
type ChartType = "line" | "area" | "bar" | "combo" | "sparkline" | "scatter" | "bubble" | "rangearea" | "donut" | "pie" | "radar" | "funnel" | "candle" | "ohlc" | "waterfall" | "baseline";
|
|
7
7
|
/**
|
|
8
8
|
* Color/typography tokens used to render a chart.
|
|
9
9
|
* @category Theming
|
|
@@ -36,8 +36,12 @@ interface SeriesInput {
|
|
|
36
36
|
label?: string;
|
|
37
37
|
color?: string;
|
|
38
38
|
y: ArrayLike<number>;
|
|
39
|
+
/** For `bubble`: per-point radius value, scaled to a pixel range. */
|
|
40
|
+
r?: ArrayLike<number>;
|
|
41
|
+
/** For `rangearea`: upper band edge; `y` is the lower edge. */
|
|
42
|
+
y2?: ArrayLike<number>;
|
|
39
43
|
}
|
|
40
|
-
/** Data for xy charts (line, area, scatter, sparkline, baseline). `x` may be unsorted — it is sorted internally.
|
|
44
|
+
/** Data for xy charts (line, area, scatter, bubble, rangearea, sparkline, baseline). `x` may be unsorted — it is sorted internally.
|
|
41
45
|
* @category Data
|
|
42
46
|
*/
|
|
43
47
|
interface XYData {
|
|
@@ -61,7 +65,7 @@ interface CategorySeriesInput {
|
|
|
61
65
|
values: ArrayLike<number>;
|
|
62
66
|
}
|
|
63
67
|
/**
|
|
64
|
-
* Data for `bar` and `
|
|
68
|
+
* Data for `bar`, `combo`, `radar` and `funnel` charts (one entry per `categories` element).
|
|
65
69
|
* @category Data
|
|
66
70
|
*/
|
|
67
71
|
interface CategoryData {
|
|
@@ -78,7 +82,7 @@ interface DonutSlice {
|
|
|
78
82
|
color?: string;
|
|
79
83
|
}
|
|
80
84
|
/**
|
|
81
|
-
* Data for `donut` charts.
|
|
85
|
+
* Data for `donut` and `pie` charts.
|
|
82
86
|
* @category Data
|
|
83
87
|
*/
|
|
84
88
|
interface DonutData {
|
|
@@ -209,24 +213,35 @@ interface ChartOptions {
|
|
|
209
213
|
maxPoints?: number;
|
|
210
214
|
/**
|
|
211
215
|
* Render backend for xy series (line/area/sparkline/scatter). `"canvas"`
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
* on Canvas2D. `"auto"`
|
|
216
|
+
* uses Canvas2D. `"webgpu"` rasterizes series on the GPU — instanced
|
|
217
|
+
* lines, point sprites, compute decimation — while axes, grid, and
|
|
218
|
+
* tooltips stay on Canvas2D. `"auto"` (default) engages WebGPU once the
|
|
219
|
+
* point count crosses `gpuThreshold`, else Canvas2D.
|
|
215
220
|
* Unknown to older browsers → silent fallback to Canvas2D.
|
|
216
221
|
*/
|
|
217
222
|
renderer?: "auto" | "canvas" | "webgpu";
|
|
223
|
+
/**
|
|
224
|
+
* For `renderer: "auto"`: total visible xy points (x-length × series) at
|
|
225
|
+
* which the GPU path engages. Below this, Canvas2D is faster. Once the
|
|
226
|
+
* GPU attaches it stays attached for the chart's lifetime.
|
|
227
|
+
* Default: 100,000.
|
|
228
|
+
*/
|
|
229
|
+
gpuThreshold?: number;
|
|
218
230
|
/**
|
|
219
231
|
* WebGPU adapter options — only used when `renderer` resolves to WebGPU.
|
|
220
232
|
* `powerPreference` picks the discrete GPU on dual-GPU systems;
|
|
221
233
|
* `compat` requests compatibility mode (GLES 3.1 / D3D11 reach);
|
|
222
234
|
* `timing` enables GPU-side pass timing via "timestamp-query" when the
|
|
223
|
-
* adapter supports it (note: browsers
|
|
224
|
-
*
|
|
235
|
+
* adapter supports it (note: browsers require cross-origin isolation and
|
|
236
|
+
* quantize to ~100 µs — dev/profiling use only);
|
|
237
|
+
* `allowFallback` accepts software adapters like SwiftShader (off by
|
|
238
|
+
* default — usually slower than Canvas2D).
|
|
225
239
|
*/
|
|
226
240
|
gpu?: {
|
|
227
241
|
powerPreference?: "default" | "low-power" | "high-performance";
|
|
228
242
|
compat?: boolean;
|
|
229
243
|
timing?: boolean;
|
|
244
|
+
allowFallback?: boolean;
|
|
230
245
|
};
|
|
231
246
|
/**
|
|
232
247
|
* Canvas2D context settings passed to `getContext("2d", …)` for all layers.
|
|
@@ -247,6 +262,14 @@ interface ChartOptions {
|
|
|
247
262
|
x?: (v: number) => string;
|
|
248
263
|
y?: (v: number) => string;
|
|
249
264
|
};
|
|
265
|
+
/**
|
|
266
|
+
* Pin the y-axis domain. Each bound overrides the auto-fitted value —
|
|
267
|
+
* unset ends still auto-fit. E.g. `{ yMin: 0, yMax: 100 }` frames a
|
|
268
|
+
* utilization chart honestly; `{ yMin: 0 }` zero-anchors without a
|
|
269
|
+
* ceiling. Values exceeding the bounds are clipped at the plot edge.
|
|
270
|
+
*/
|
|
271
|
+
yMin?: number;
|
|
272
|
+
yMax?: number;
|
|
250
273
|
/** Called on pointer hover with the nearest hit, or `null` on leave. */
|
|
251
274
|
onHover?: (info: HoverInfo | null) => void;
|
|
252
275
|
}
|
|
@@ -294,23 +317,37 @@ export declare class Chart {
|
|
|
294
317
|
private destroyed;
|
|
295
318
|
private pendingView;
|
|
296
319
|
private gpu;
|
|
320
|
+
private gpuInit;
|
|
321
|
+
/** bumped whenever xy data is replaced or reordered — triggers GPU re-upload */
|
|
322
|
+
private dataRev;
|
|
297
323
|
private lastAppendAt;
|
|
298
324
|
private estInterval;
|
|
299
325
|
private onScroll;
|
|
300
326
|
private frame;
|
|
301
327
|
constructor(el: HTMLElement, options: ChartOptions);
|
|
328
|
+
/**
|
|
329
|
+
* Lazily acquire the WebGPU backend. `"webgpu"` attaches unconditionally;
|
|
330
|
+
* `"auto"` waits until the xy point count crosses `gpuThreshold` — small
|
|
331
|
+
* charts never pay adapter/device acquisition.
|
|
332
|
+
*/
|
|
333
|
+
private maybeInitGpu;
|
|
302
334
|
private normalize;
|
|
303
335
|
private bindEvents;
|
|
304
336
|
private onMove;
|
|
305
337
|
private onLeave;
|
|
306
338
|
private layout;
|
|
307
339
|
private domains;
|
|
340
|
+
private yDomain;
|
|
308
341
|
private lerpView;
|
|
309
342
|
private makeScales;
|
|
310
343
|
private renderContext;
|
|
311
344
|
private drawStatic;
|
|
312
345
|
private render;
|
|
313
|
-
/**
|
|
346
|
+
/**
|
|
347
|
+
* Series rasterization on the GPU; grid/labels/hover stay on Canvas2D.
|
|
348
|
+
* Raw data lives in GPU buffers — the per-frame cost is uniform writes +
|
|
349
|
+
* instanced draws, with compute decimation above the density threshold.
|
|
350
|
+
*/
|
|
314
351
|
private gpuRender;
|
|
315
352
|
private drawHover;
|
|
316
353
|
private applyHover;
|
|
@@ -387,6 +424,9 @@ export declare function extent(values: ArrayLike<number>): [number, number];
|
|
|
387
424
|
/** @category Utilities
|
|
388
425
|
* Pad a domain by 5% on each end; `includeZero` anchors the axis at 0. */
|
|
389
426
|
export declare function padDomain(min: number, max: number, includeZero?: boolean): [number, number];
|
|
427
|
+
/** @category Utilities
|
|
428
|
+
* Pin domain ends — each defined bound overrides the fitted value. */
|
|
429
|
+
export declare function boundDomain(dom: [number, number], min?: number, max?: number): [number, number];
|
|
390
430
|
//#endregion
|
|
391
431
|
//#region src/core/theme.d.ts
|
|
392
432
|
/** Built-in light theme.
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/types.ts","../src/core/chart.ts","../src/core/decimate.ts","../src/core/format.ts","../src/core/hit.ts","../src/core/scales.ts","../src/core/theme.ts","../src/core/ticks.ts"],"mappings":";;;;;KAIY;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/types.ts","../src/core/chart.ts","../src/core/decimate.ts","../src/core/format.ts","../src/core/hit.ts","../src/core/scales.ts","../src/core/theme.ts","../src/core/ticks.ts"],"mappings":";;;;;KAIY;;;;;UAsBK;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;UAOe;EACf;EACA;EACA,GAAG;;EAEH,IAAI;;EAEJ,KAAK;;;;;UAMU;EACf,GAAG;EACH,QAAQ;;;;;;KAOE;;;;;UAMK;EACf;EACA;;EAEA,OAAO;EACP,QAAQ;;;;;;UAOO;EACf;EACA,QAAQ;;;;;;UAOO;EACf;EACA;EACA;;;;;;UAOe;EACf,QAAQ;;;;;;UAOO;EACf;EACA;EACA;EACA;EACA;EACA;;;;;;UAOe;EACf,SAAS;;;;;;UAOM;EACf;;EAEA,QAAQ;;EAER;;;;;KAMU,YACR,SACA,eACA,YACA,WACA;;;;;KAMQ;;;;;KAMA;EAEN;EACA;EACA;EACA;EACA;EACA;IAAU;IAAe;IAAe;;;EAExC;;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM;;EAGN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;UAOW;EACf,MAAM;EACN,MAAM;EACN,2BAA2B,QAAQ;;EAEnC;EACA,QAAQ;EACR;EACA;EACA;;EAEA;;;;;;;;EAQA;;;;;;EAMA;;;;;;;EAOA;;;;;;;;;EAUA;;;;;;;EAOA;;;;;;;;;;;EAWA;IACE;IACA;IACA;IACA;;;;;;;;;EASF,SAAS;;EAET;;EAEA;;EAEA;;EAEA;IACE,KAAK;IACL,KAAK;;;;;;;;EAQP;EACA;;EAEA,WAAW,MAAM;;;;;UAMF;EACf;EACA;EACA;EACA;;;;;UAMe;GACd;EACD,OAAO;EACP;EACA;;;;;;;qBC5KW;WACF,IAAI;WACJ,SAAS;UACV;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UAIA;UACA;UAIA;UACA;UACA;UACA;UACA;;UAEA;UACA;UACA;UACA;UAGA;EAkCR,YAAY,IAAI,aAAa,SAAS;;;;;;UA8B9B;UA8BA;UA6IA;UAUA;UASA;UAUA;UAkCA;UAkHA;UAIA;UAiBA;UAmBA;UAeA;UA8EA;;;;;;UAcA;UAiCA;UAkEA;UA4DA;UAaA;;EAcR,QAAQ,MAAM;;;;;;EAcd,OAAO,WAAW;;EA0HlB;;EAoBA;;;;;;;;;;;;;;;;;;wBA4Dc,YAAY,IAAI,aAAa,SAAS,eAAe;;;;;;;;;;;;;;wBC/7BrD,WACd,IAAI,mBACJ,IAAI,mBACJ,qBACC;;;;;wBCpMa,aAAa;;;wBAcb,SAAS;;;;;;;;wBCXT,aAAa,IAAI,mBAAmB;;;;;wBCDpC,YACd,YACA,YACA,YACA,aACC;;;wBAYa,OAAO,QAAQ;;;wBAkBf,UACd,aACA,aACA;;;wBAoBc,YACd,uBACA,cACA;;;;;;qBC1DW,YAAY;;;;qBAsBZ,WAAW;;;;wBAmCR,aACd,KAAK,uBACL,6BACC;;;;;;wBC/Ca,aAAa,aAAa,aAAa"}
|