waveform-analysis 0.1.51 → 0.1.53

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/dist/index.js CHANGED
@@ -1204,7 +1204,7 @@ var pn = (e) => {
1204
1204
  }, mn = (e) => {
1205
1205
  let { points: t, range: n, domain: r, width: i, options: a } = e, { start: o, end: s } = dn(n, t.length);
1206
1206
  if (s - o <= 0) return [];
1207
- let c = Math.min(r[0], r[1]), l = Math.max(r[0], r[1]), u = Math.max(4, Math.floor(i * a.maxPointsPerPixel)), d = Math.max(1, Math.floor(u / 4)), f = [], p = l - c || 1, m = Array.from({ length: 4 }, () => -1), h = -1, g = -1, _ = -1, v = -1, y = -1, b = (e, t) => {
1207
+ let c = Math.min(r[0], r[1]), l = Math.max(r[0], r[1]), u = Math.max(4, a.sampling.maxPointCount ?? Math.floor(i * a.maxPointsPerPixel)), d = Math.max(1, Math.floor(u / 4)), f = [], p = l - c || 1, m = Array.from({ length: 4 }, () => -1), h = -1, g = -1, _ = -1, v = -1, y = -1, b = (e, t) => {
1208
1208
  if (e < 0) return t;
1209
1209
  for (let n = 0; n < t; n += 1) if (m[n] === e) return t;
1210
1210
  return m[t] = e, t + 1;
@@ -1231,7 +1231,7 @@ var pn = (e) => {
1231
1231
  return x(), fn(f, t[s - 1]), f;
1232
1232
  };
1233
1233
  function hn(e) {
1234
- let t = Math.max(4, Math.floor(e.width * e.options.maxPointsPerPixel));
1234
+ let t = Math.max(4, e.options.sampling.maxPointCount ?? Math.floor(e.width * e.options.maxPointsPerPixel));
1235
1235
  return !e.options.downsample || e.visibleCount <= e.options.downsampleThreshold || e.visibleCount <= t ? pn : mn;
1236
1236
  }
1237
1237
  //#endregion
@@ -1248,6 +1248,7 @@ var Q = {
1248
1248
  autoHysteresis: 0,
1249
1249
  strategy: "peak",
1250
1250
  maxPointsPerPixel: 4,
1251
+ maxPointCount: void 0,
1251
1252
  rawPointLimit: 1e5,
1252
1253
  wasmFailureFallback: "error"
1253
1254
  }
@@ -1279,9 +1280,12 @@ function xn(e, t) {
1279
1280
  return typeof e == "number" && Number.isFinite(e) && e > 0 ? e : t;
1280
1281
  }
1281
1282
  function Sn(e, t) {
1283
+ return typeof e == "number" && Number.isFinite(e) && e >= t ? Math.floor(e) : void 0;
1284
+ }
1285
+ function Cn(e, t) {
1282
1286
  return Number.isFinite(e) && e >= 0 ? e : t;
1283
1287
  }
1284
- function Cn(e, t, n) {
1288
+ function wn(e, t, n) {
1285
1289
  let r = vn(e?.mode) ? e.mode : t === !1 ? "raw" : Q.sampling.mode, i = xn(e?.maxPointsPerPixel, n);
1286
1290
  return {
1287
1291
  mode: r,
@@ -1289,41 +1293,42 @@ function Cn(e, t, n) {
1289
1293
  autoHysteresis: bn(e?.autoHysteresis, 0, Q.sampling.autoHysteresis),
1290
1294
  strategy: yn(e?.strategy) ? e.strategy : Q.sampling.strategy,
1291
1295
  maxPointsPerPixel: i,
1296
+ maxPointCount: Sn(e?.maxPointCount, 1),
1292
1297
  rawPointLimit: bn(e?.rawPointLimit, 1, Q.sampling.rawPointLimit),
1293
1298
  wasmFailureFallback: e?.wasmFailureFallback === "javascript" || e?.wasmFailureFallback === "error" ? e.wasmFailureFallback : Q.sampling.wasmFailureFallback
1294
1299
  };
1295
1300
  }
1296
- function wn(e) {
1297
- let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing), a = Number.isFinite(n) && n > 0 ? n : Q.maxPointsPerPixel, o = Cn(e?.sampling, typeof e?.downsample == "boolean" ? e.downsample : void 0, a);
1301
+ function Tn(e) {
1302
+ let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing), a = Number.isFinite(n) && n > 0 ? n : Q.maxPointsPerPixel, o = wn(e?.sampling, typeof e?.downsample == "boolean" ? e.downsample : void 0, a);
1298
1303
  return {
1299
1304
  downsample: o.mode !== "raw",
1300
1305
  downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : Q.downsampleThreshold,
1301
1306
  maxPointsPerPixel: o.maxPointsPerPixel,
1302
- pointMinSpacing: Sn(r, Q.pointMinSpacing),
1303
- errorBarMinSpacing: Sn(i, Q.errorBarMinSpacing),
1307
+ pointMinSpacing: Cn(r, Q.pointMinSpacing),
1308
+ errorBarMinSpacing: Cn(i, Q.errorBarMinSpacing),
1304
1309
  sampling: o
1305
1310
  };
1306
1311
  }
1307
1312
  //#endregion
1308
1313
  //#region src/core/rendering.ts
1309
- var Tn = I((e) => e.x), En = () => !0;
1310
- function Dn(e, t) {
1314
+ var En = I((e) => e.x), Dn = () => !0;
1315
+ function On(e, t) {
1311
1316
  let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
1312
1317
  return {
1313
- start: Tn.left(e, n),
1314
- end: Tn.right(e, r)
1318
+ start: En.left(e, n),
1319
+ end: En.right(e, r)
1315
1320
  };
1316
1321
  }
1317
- function On(e, t, n) {
1322
+ function kn(e, t, n) {
1318
1323
  if (!Number.isFinite(n) || n <= 0) return !0;
1319
1324
  let r = Math.ceil(n), i = /* @__PURE__ */ new Set();
1320
1325
  for (let n of e) {
1321
- let e = Dn(n.points, t);
1326
+ let e = On(n.points, t);
1322
1327
  for (let t = e.start; t < e.end; t += 1) if (i.add(n.points[t].x), i.size >= r) return !0;
1323
1328
  }
1324
1329
  return !1;
1325
1330
  }
1326
- function kn(e, t, n, r, i) {
1331
+ function An(e, t, n, r, i) {
1327
1332
  let a = Math.max(0, t.start - 1), o = Math.min(e.length, t.end + 1) - a;
1328
1333
  return o <= 0 ? [] : hn({
1329
1334
  visibleCount: o,
@@ -1337,25 +1342,25 @@ function kn(e, t, n, r, i) {
1337
1342
  options: i
1338
1343
  });
1339
1344
  }
1340
- function An(e, t) {
1345
+ function jn(e, t) {
1341
1346
  return t.sampling.mode === "wasm" || t.sampling.mode === "auto" && e > t.sampling.autoThreshold;
1342
1347
  }
1343
- function jn(e, t, n, r) {
1348
+ function Mn(e, t, n, r) {
1344
1349
  let i = Math.max(0, t.start - 1), a = Math.min(e.length, t.end + 1), o = a - i;
1345
1350
  if (o <= 0) return [];
1346
1351
  if (r.sampling.strategy === "none") return e.slice(i, a);
1347
- let s = Math.max(1, Math.floor(n * r.sampling.maxPointsPerPixel));
1352
+ let s = r.sampling.maxPointCount ?? Math.max(1, Math.floor(n * r.sampling.maxPointsPerPixel));
1348
1353
  return o <= s ? e.slice(i, a) : s === 1 ? [e[i]] : Array.from({ length: s }, (t, n) => {
1349
1354
  let r = Math.round(n * (o - 1) / (s - 1));
1350
1355
  return e[i + r];
1351
1356
  });
1352
1357
  }
1353
- function Mn(e, t, n, r) {
1354
- return !e.length || n <= 0 ? [] : kn(e, Dn(e, t), t, n, r);
1358
+ function Nn(e, t, n, r) {
1359
+ return !e.length || n <= 0 ? [] : An(e, On(e, t), t, n, r);
1355
1360
  }
1356
- function Nn(e, t, n, r, i, a, o, s) {
1361
+ function Pn(e, t, n, r, i, a, o, s) {
1357
1362
  if (!a || i === 0) {
1358
- if (o === En) return e.slice(t.start, t.end);
1363
+ if (o === Dn) return e.slice(t.start, t.end);
1359
1364
  let n = [];
1360
1365
  for (let r = t.start; r < t.end; r += 1) o(e[r]) && n.push(e[r]);
1361
1366
  return n;
@@ -1388,40 +1393,40 @@ function Nn(e, t, n, r, i, a, o, s) {
1388
1393
  let w = (f ?? []).map((e, t) => m?.[t] ?? e).filter((e) => e !== void 0);
1389
1394
  return v && w[0] !== v && w.unshift(v), y && w.at(-1) !== y && w.push(y), w;
1390
1395
  }
1391
- function Pn(e) {
1396
+ function Fn(e) {
1392
1397
  let { lower: t, upper: n } = on(e);
1393
1398
  return t !== 0 || n !== 0;
1394
1399
  }
1395
- function Fn(e, t, n, r, i) {
1400
+ function In(e, t, n, r, i) {
1396
1401
  if (!e.length || n <= 0) return {
1397
1402
  linePoints: [],
1398
1403
  pointRenderPoints: [],
1399
1404
  errorBarRenderPoints: []
1400
1405
  };
1401
- let a = Dn(e, t), o = i.lineVisible ? i.linePointOverride ?? (An(a.end - a.start, r) ? jn(e, a, n, r) : kn(e, a, t, n, r)) : [], s = i.errorBarVisible && i.hasErrorPoints;
1406
+ let a = On(e, t), o = i.lineVisible ? i.linePointOverride ?? (jn(a.end - a.start, r) ? Mn(e, a, n, r) : An(e, a, t, n, r)) : [], s = i.errorBarVisible && i.hasErrorPoints;
1402
1407
  if (i.pointVisible && s) {
1403
- let i = Nn(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, En, Pn);
1408
+ let i = Pn(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, Dn, Fn);
1404
1409
  return {
1405
1410
  linePoints: o,
1406
1411
  pointRenderPoints: i,
1407
- errorBarRenderPoints: i.filter(Pn)
1412
+ errorBarRenderPoints: i.filter(Fn)
1408
1413
  };
1409
1414
  }
1410
1415
  return {
1411
1416
  linePoints: o,
1412
- pointRenderPoints: i.pointVisible ? Nn(e, a, t, n, r.pointMinSpacing, r.downsample, En) : [],
1413
- errorBarRenderPoints: s ? Nn(e, a, t, n, r.errorBarMinSpacing, r.downsample, Pn) : []
1417
+ pointRenderPoints: i.pointVisible ? Pn(e, a, t, n, r.pointMinSpacing, r.downsample, Dn) : [],
1418
+ errorBarRenderPoints: s ? Pn(e, a, t, n, r.errorBarMinSpacing, r.downsample, Fn) : []
1414
1419
  };
1415
1420
  }
1416
- var In = (e, t) => {
1421
+ var Ln = (e, t) => {
1417
1422
  let n = typeof e == "number" ? e : Number(e);
1418
1423
  return Number.isFinite(n) ? Math.min(10, Math.max(1, Math.floor(n))) : t;
1419
- }, Ln = (e) => {
1424
+ }, Rn = (e) => {
1420
1425
  if (!Array.isArray(e)) return [];
1421
1426
  let t = e.filter((e) => typeof e == "string").map((e) => e.trim()).filter(Boolean);
1422
1427
  return Array.from(new Set(t));
1423
1428
  };
1424
- function Rn(e) {
1429
+ function zn(e) {
1425
1430
  let t = Object.fromEntries(Object.entries(e?.trackLines ?? {}).map(([e, t]) => [e, {
1426
1431
  horizontal: typeof t?.horizontal != "boolean" || t.horizontal,
1427
1432
  vertical: typeof t?.vertical != "boolean" || t.vertical,
@@ -1429,33 +1434,33 @@ function Rn(e) {
1429
1434
  verticalColor: typeof t?.verticalColor == "string" && t.verticalColor.trim() ? t.verticalColor : void 0
1430
1435
  }]));
1431
1436
  return {
1432
- rowCount: In(e?.rowCount, 2),
1433
- columnCount: In(e?.columnCount, 1),
1437
+ rowCount: Ln(e?.rowCount, 2),
1438
+ columnCount: Ln(e?.columnCount, 1),
1434
1439
  showPagination: e?.showPagination ?? !0,
1435
1440
  fillIncompleteLastRow: e?.fillIncompleteLastRow ?? !1,
1436
- trackOrder: Ln(e?.trackOrder),
1441
+ trackOrder: Rn(e?.trackOrder),
1437
1442
  trackLines: t
1438
1443
  };
1439
1444
  }
1440
- function zn(e) {
1445
+ function Bn(e) {
1441
1446
  return e.rowCount * e.columnCount;
1442
1447
  }
1443
- function Bn(e, t) {
1444
- return Math.max(1, Math.ceil(Math.max(0, e) / zn(t)));
1448
+ function Vn(e, t) {
1449
+ return Math.max(1, Math.ceil(Math.max(0, e) / Bn(t)));
1445
1450
  }
1446
- function Vn(e, t, n) {
1447
- let r = Bn(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * zn(n);
1448
- return e.slice(i, i + zn(n));
1451
+ function Hn(e, t, n) {
1452
+ let r = Vn(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * Bn(n);
1453
+ return e.slice(i, i + Bn(n));
1449
1454
  }
1450
- function Hn(e) {
1455
+ function Un(e) {
1451
1456
  return e === "compact" ? 0 : e === "separated" ? 16 : 14;
1452
1457
  }
1453
- function Un(e, t, n, r, i = [], a, o = !0) {
1454
- let s = zn(n), c = i.filter(Boolean).length, l = n.fillIncompleteLastRow && c > 0 && c < s, u = l ? Math.ceil(c / n.columnCount) : n.rowCount, d = Hn(r), f = Number.isFinite(a) ? Math.max(0, a) : d, p = /* @__PURE__ */ new Set();
1458
+ function Wn(e, t, n, r, i = [], a, o = !0) {
1459
+ let s = Bn(n), c = i.filter(Boolean).length, l = n.fillIncompleteLastRow && c > 0 && c < s, u = l ? Math.ceil(c / n.columnCount) : n.rowCount, d = Un(r), f = Number.isFinite(a) ? Math.max(0, a) : d, p = /* @__PURE__ */ new Set();
1455
1460
  if (o) {
1456
1461
  if (r === "independent") for (let e = 0; e < u; e += 1) p.add(e);
1457
1462
  else if (r === "compact") p.add(u - 1);
1458
- else for (let e = 0; e < n.columnCount; e += 1) for (let t = zn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
1463
+ else for (let e = 0; e < n.columnCount; e += 1) for (let t = Bn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
1459
1464
  p.add(Math.floor(t / n.columnCount));
1460
1465
  break;
1461
1466
  }
@@ -1481,7 +1486,7 @@ function Un(e, t, n, r, i = [], a, o = !0) {
1481
1486
  };
1482
1487
  });
1483
1488
  }
1484
- function Wn(e, t) {
1489
+ function Gn(e, t) {
1485
1490
  let n = /* @__PURE__ */ new Set();
1486
1491
  for (let r = 0; r < t; r += 1) for (let t = e.length - 1; t >= 0; --t) {
1487
1492
  let i = e[t];
@@ -1494,26 +1499,26 @@ function Wn(e, t) {
1494
1499
  }
1495
1500
  //#endregion
1496
1501
  //#region src/components/core/xDomain.ts
1497
- var Gn = 10;
1498
- function Kn(e) {
1499
- return !Number.isFinite(e) || (e ?? 0) < 1 ? Gn : Math.max(1, Math.trunc(e));
1502
+ var Kn = 10;
1503
+ function qn(e) {
1504
+ return !Number.isFinite(e) || (e ?? 0) < 1 ? Kn : Math.max(1, Math.trunc(e));
1500
1505
  }
1501
- function qn(e, t, n = !1) {
1506
+ function Jn(e, t, n = !1) {
1502
1507
  if (t.type !== "nice" || n && !t.includeExplicit) return [...e];
1503
- let r = U().domain(e).nice(Kn(t.tickCount)).domain();
1508
+ let r = U().domain(e).nice(qn(t.tickCount)).domain();
1504
1509
  return t.bounds === "end" ? [e[0], r[1]] : r;
1505
1510
  }
1506
1511
  //#endregion
1507
1512
  //#region src/components/core/trackLayoutBuilder.ts
1508
- function Jn(e, t, n) {
1513
+ function Yn(e, t, n) {
1509
1514
  let r = n.xDomainStrategy ?? { type: "data" }, i = n.initialXDomains?.[e.id] ?? n.initialXDomains?.[t] ?? n.initialXDomain;
1510
- return i ? qn(i, r, !0) : qn(e.xDomain, r);
1515
+ return i ? Jn(i, r, !0) : Jn(e.xDomain, r);
1511
1516
  }
1512
- function Yn(e) {
1517
+ function Xn(e) {
1513
1518
  let t = e.cells.map((e) => ({
1514
1519
  ...e,
1515
1520
  hasSeries: !!e.series
1516
- })), n = Wn(t, e.grid.columnCount);
1521
+ })), n = Gn(t, e.grid.columnCount);
1517
1522
  return t.flatMap((t, r) => {
1518
1523
  let i = !t.series || t.series.series.length === 0;
1519
1524
  if (!t.series && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
@@ -1523,16 +1528,16 @@ function Yn(e) {
1523
1528
  visibleSeries: [],
1524
1529
  xDomain: [0, 1],
1525
1530
  yDomain: [0, 1]
1526
- }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Jn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? K : K).rescaleX(c), u = e.yDomains?.[a.id], d = ar(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && u ? {
1531
+ }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? K : K).rescaleX(c), u = e.yDomains?.[a.id], d = or(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && u ? {
1527
1532
  ...e,
1528
1533
  domain: u
1529
1534
  } : e), f = {
1530
1535
  left: 0,
1531
1536
  right: 0
1532
1537
  }, p = d.map((n) => {
1533
- let r = tr(t.plotHeight, e.yAxisSplitNumber), i = Math.max(1, r - 1), a = U(n.domain, [t.plotHeight, 0]);
1538
+ let r = nr(t.plotHeight, e.yAxisSplitNumber), i = Math.max(1, r - 1), a = U(n.domain, [t.plotHeight, 0]);
1534
1539
  e.yAxisNice !== !1 && a.nice(i);
1535
- let [o, s] = a.domain(), c = Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1)), l = e.displayMode !== "compact" || t.row === 0 ? c : c.slice(0, -1), { tickTextWidth: u } = or(a.domain(), !1, l, n.seriesList[0]?.unit, r), d = u + 7 + 0 + 12 + 4, p = n.side === "left" ? -f.left : t.width + f.right, m = u + 7 + 0 + 12 / 2, h = p + (n.side === "left" ? -m : m);
1540
+ let [o, s] = a.domain(), c = Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1)), l = e.displayMode !== "compact" || t.row === 0 ? c : c.slice(0, -1), { tickTextWidth: u } = sr(a.domain(), !1, l, n.seriesList[0]?.unit, r), d = u + 7 + 0 + 12 + 4, p = n.side === "left" ? -f.left : t.width + f.right, m = u + 7 + 0 + 12 / 2, h = p + (n.side === "left" ? -m : m);
1536
1541
  return f[n.side] += d, {
1537
1542
  index: n.index,
1538
1543
  side: n.side,
@@ -1553,7 +1558,7 @@ function Yn(e) {
1553
1558
  let n = l(e);
1554
1559
  return n > x && n < t.width - S;
1555
1560
  }), w = a.visibleSeries.map((n) => {
1556
- let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Fn(n.points, y, t.width, e.rendering, {
1561
+ let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = In(n.points, y, t.width, e.rendering, {
1557
1562
  lineVisible: !i && n.lineType !== "none",
1558
1563
  linePointOverride: e.linePointOverrides?.[n.id],
1559
1564
  pointVisible: n.pointType !== "none",
@@ -1606,11 +1611,11 @@ function Yn(e) {
1606
1611
  }
1607
1612
  //#endregion
1608
1613
  //#region src/components/core/layout.ts
1609
- var Xn = 7, Zn = 7, Qn = 4, $n = 0, er = 12;
1610
- function tr(e, t) {
1614
+ var Zn = 7, Qn = 7, $n = 4, er = 0, tr = 12;
1615
+ function nr(e, t) {
1611
1616
  return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
1612
1617
  }
1613
- function nr(e) {
1618
+ function rr(e) {
1614
1619
  return e >= 4 ? [
1615
1620
  "left",
1616
1621
  "left",
@@ -1622,13 +1627,13 @@ function nr(e) {
1622
1627
  "right"
1623
1628
  ] : e === 2 ? ["left", "right"] : ["left"];
1624
1629
  }
1625
- var rr = /* @__PURE__ */ new WeakMap();
1626
- function ir(e, t) {
1627
- let n = rr.get(e);
1628
- n || (n = /* @__PURE__ */ new Map(), rr.set(e, n));
1630
+ var ir = /* @__PURE__ */ new WeakMap();
1631
+ function ar(e, t) {
1632
+ let n = ir.get(e);
1633
+ n || (n = /* @__PURE__ */ new Map(), ir.set(e, n));
1629
1634
  let r = n.get(t);
1630
1635
  if (r) return r;
1631
- let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = nr(i), o = Array.from({ length: i }, (e, t) => ({
1636
+ let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = rr(i), o = Array.from({ length: i }, (e, t) => ({
1632
1637
  index: t,
1633
1638
  side: a[t],
1634
1639
  seriesList: [],
@@ -1645,9 +1650,9 @@ function ir(e, t) {
1645
1650
  }
1646
1651
  }), n.set(t, o), o;
1647
1652
  }
1648
- function ar(e, t, n, r) {
1653
+ function or(e, t, n, r) {
1649
1654
  let i = Gt(e, r);
1650
- return ir(e, t).map((e) => {
1655
+ return ar(e, t).map((e) => {
1651
1656
  if (i) return {
1652
1657
  ...e,
1653
1658
  domain: i,
@@ -1661,7 +1666,7 @@ function ar(e, t, n, r) {
1661
1666
  } : e;
1662
1667
  });
1663
1668
  }
1664
- function or(e, t = !0, n, r, i = 10) {
1669
+ function sr(e, t = !0, n, r, i = 10) {
1665
1670
  let a = typeof i == "number" && Number.isFinite(i) ? Math.max(2, Math.floor(i)) : 10, o = U(e, [1, 0]);
1666
1671
  t && o.nice(a);
1667
1672
  let [s, c] = o.domain(), l = n ?? o.ticks(a), u = Math.max(...l);
@@ -1670,21 +1675,21 @@ function or(e, t = !0, n, r, i = 10) {
1670
1675
  axisMax: c,
1671
1676
  topTickValue: u,
1672
1677
  unit: r
1673
- }).length)) * Xn };
1674
- }
1675
- function sr(e, t, n = !0) {
1676
- return or(e.domain, n, void 0, e.seriesList[0]?.unit, t).tickTextWidth + Zn + $n + er + Qn;
1678
+ }).length)) * Zn };
1677
1679
  }
1678
1680
  function cr(e, t, n = !0) {
1679
- return or(e.domain, n, void 0, e.seriesList[0]?.unit, t).tickTextWidth + Zn + Qn;
1681
+ return sr(e.domain, n, void 0, e.seriesList[0]?.unit, t).tickTextWidth + Qn + er + tr + $n;
1682
+ }
1683
+ function lr(e, t, n = !0) {
1684
+ return sr(e.domain, n, void 0, e.seriesList[0]?.unit, t).tickTextWidth + Qn + $n;
1680
1685
  }
1681
- function lr(e, t, n, r, i, a = !0) {
1682
- return ar(e, t, n, r).reduce((n, r) => (n[r.side] += t === "multi-axis" || e.visibleSeries.length === 1 ? sr(r, i, a) : cr(r, i, a), n), {
1686
+ function ur(e, t, n, r, i, a = !0) {
1687
+ return or(e, t, n, r).reduce((n, r) => (n[r.side] += t === "multi-axis" || e.visibleSeries.length === 1 ? cr(r, i, a) : lr(r, i, a), n), {
1683
1688
  left: 0,
1684
1689
  right: 0
1685
1690
  });
1686
1691
  }
1687
- function ur(e, t, n) {
1692
+ function dr(e, t, n) {
1688
1693
  let r = (e) => {
1689
1694
  let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
1690
1695
  return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
@@ -1703,11 +1708,11 @@ function ur(e, t, n) {
1703
1708
  }
1704
1709
  //#endregion
1705
1710
  //#region src/components/annotation/useWaveformChartAnnotations.ts
1706
- var dr = 0;
1707
- function fr() {
1708
- return dr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${dr}`;
1711
+ var fr = 0;
1712
+ function pr() {
1713
+ return fr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${fr}`;
1709
1714
  }
1710
- function pr(e) {
1715
+ function mr(e) {
1711
1716
  let { props: t, emit: n, container: r, chartSeries: i, hiddenSeriesIdSet: a, internalHiddenSeriesIds: o, annotationInteraction: s, editorSeriesOptions: c, trackLayouts: l, annotationLayoutsForTrack: u, resolveSeriesYScale: d, chartWidth: f, chartHeight: p, innerWidth: m, resolvedChartLeftMargin: h, titleAreaHeight: g, chartTopMargin: _, activeInteractionMode: v, isPresentationMode: y } = e, x = b("");
1712
1717
  function S(e) {
1713
1718
  if (!i.value.some((t) => t.id === e)) return;
@@ -1740,7 +1745,7 @@ function pr(e) {
1740
1745
  };
1741
1746
  }
1742
1747
  function T(e, t, n) {
1743
- x.value = "", s.openCreate(e, fr, t), c.value = n;
1748
+ x.value = "", s.openCreate(e, pr, t), c.value = n;
1744
1749
  let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
1745
1750
  r?.mode === "add" && (r.annotation.style = {
1746
1751
  borderColor: i?.color || "#1677ff",
@@ -1800,7 +1805,7 @@ function pr(e) {
1800
1805
  let e = l.value[n];
1801
1806
  return e?.hasVisibleSeries ? e : void 0;
1802
1807
  }
1803
- return ur(l.value.filter((e) => e.hasVisibleSeries), e, t);
1808
+ return dr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1804
1809
  }
1805
1810
  function A(e, t) {
1806
1811
  let n = e.currentTarget;
@@ -1891,7 +1896,7 @@ function pr(e) {
1891
1896
  }
1892
1897
  //#endregion
1893
1898
  //#region src/components/interaction/useWaveformHover.ts
1894
- function mr(e) {
1899
+ function hr(e) {
1895
1900
  let { emit: t, hoverState: n, suppressHoverUntilMove: r, hoverThrottle: i, selection: a, trackLayouts: o, innerWidth: s, resolvedChartLeftMargin: c, titleAreaHeight: l, chartTopMargin: u, sharedOverlayElement: d, isPresentationMode: f, updateViewportDrag: p, resolveTrackAtPointer: m } = e, h = () => i.cancel(), g = (e) => i.schedule(e), _ = (e) => n.points.length === e.length && e.every((e, t) => {
1896
1901
  let r = n.points[t];
1897
1902
  return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
@@ -1965,14 +1970,14 @@ function mr(e) {
1965
1970
  }
1966
1971
  //#endregion
1967
1972
  //#region src/components/interaction/pointerCapture.ts
1968
- function hr(e, t) {
1973
+ function gr(e, t) {
1969
1974
  try {
1970
1975
  e?.releasePointerCapture?.(t);
1971
1976
  } catch {}
1972
1977
  }
1973
1978
  //#endregion
1974
1979
  //#region src/components/interaction/viewportInteractionState.ts
1975
- function gr(e) {
1980
+ function _r(e) {
1976
1981
  return {
1977
1982
  ...e,
1978
1983
  currentX: e.startX,
@@ -1981,37 +1986,37 @@ function gr(e) {
1981
1986
  yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
1982
1987
  };
1983
1988
  }
1984
- function _r(e, t) {
1989
+ function vr(e, t) {
1985
1990
  return {
1986
1991
  ...e,
1987
1992
  ...t
1988
1993
  };
1989
1994
  }
1990
- function vr(e) {
1995
+ function yr(e) {
1991
1996
  return {
1992
1997
  state: e,
1993
1998
  accepted: !1,
1994
1999
  completed: null
1995
2000
  };
1996
2001
  }
1997
- function yr(e, t) {
2002
+ function br(e, t) {
1998
2003
  switch (t.type) {
1999
- case "begin": return e ? vr(e) : {
2000
- state: gr(t.gesture),
2004
+ case "begin": return e ? yr(e) : {
2005
+ state: _r(t.gesture),
2001
2006
  accepted: !0,
2002
2007
  completed: null
2003
2008
  };
2004
- case "move": return !e || e.pointerId !== t.pointerId ? vr(e) : {
2005
- state: _r(e, t.position),
2009
+ case "move": return !e || e.pointerId !== t.pointerId ? yr(e) : {
2010
+ state: vr(e, t.position),
2006
2011
  accepted: !0,
2007
2012
  completed: null
2008
2013
  };
2009
- case "finish": return !e || e.pointerId !== t.pointerId ? vr(e) : {
2014
+ case "finish": return !e || e.pointerId !== t.pointerId ? yr(e) : {
2010
2015
  state: null,
2011
2016
  accepted: !0,
2012
- completed: _r(e, t.position)
2017
+ completed: vr(e, t.position)
2013
2018
  };
2014
- case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? vr(e) : {
2019
+ case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? yr(e) : {
2015
2020
  state: null,
2016
2021
  accepted: !0,
2017
2022
  completed: null
@@ -2025,15 +2030,15 @@ function yr(e, t) {
2025
2030
  }
2026
2031
  //#endregion
2027
2032
  //#region src/components/interaction/zoomConstraints.ts
2028
- var br = /* @__PURE__ */ new WeakMap();
2029
- function xr(e) {
2033
+ var xr = /* @__PURE__ */ new WeakMap();
2034
+ function Sr(e) {
2030
2035
  return e[0] <= e[1] ? [...e] : [e[1], e[0]];
2031
2036
  }
2032
- function Sr(e) {
2037
+ function Cr(e) {
2033
2038
  return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
2034
2039
  }
2035
- function Cr(e, t) {
2036
- let n = `${t[0]}\u0000${t[1]}`, r = br.get(e)?.get(n);
2040
+ function wr(e, t) {
2041
+ let n = `${t[0]}\u0000${t[1]}`, r = xr.get(e)?.get(n);
2037
2042
  if (r) return r;
2038
2043
  let i = /* @__PURE__ */ new Set();
2039
2044
  for (let n of e) {
@@ -2043,14 +2048,14 @@ function Cr(e, t) {
2043
2048
  r.x >= t[0] && r.x <= t[1] && i.add(r.x);
2044
2049
  }
2045
2050
  }
2046
- let a = Array.from(i).sort((e, t) => e - t), o = br.get(e) ?? /* @__PURE__ */ new Map();
2047
- return o.set(n, a), br.set(e, o), a;
2051
+ let a = Array.from(i).sort((e, t) => e - t), o = xr.get(e) ?? /* @__PURE__ */ new Map();
2052
+ return o.set(n, a), xr.set(e, o), a;
2048
2053
  }
2049
- function wr(e, t, n) {
2054
+ function Tr(e, t, n) {
2050
2055
  if (n <= 1) return 0;
2051
2056
  let r = 0;
2052
2057
  for (let i of e) {
2053
- let e = Cr(i, t);
2058
+ let e = wr(i, t);
2054
2059
  if (e.length < n) return t[1] - t[0];
2055
2060
  let a = Infinity;
2056
2061
  for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
@@ -2059,17 +2064,17 @@ function wr(e, t, n) {
2059
2064
  }
2060
2065
  return r;
2061
2066
  }
2062
- function Tr(e, t, n) {
2063
- let r = xr(e), i = r[1] - r[0];
2067
+ function Er(e, t, n) {
2068
+ let r = Sr(e), i = r[1] - r[0];
2064
2069
  if (!Number.isFinite(i) || i <= 0) return 0;
2065
- let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Sr(n.minVisiblePoints), s = wr(t, r, o);
2066
- return a > 0 || o > 0 ? Math.max(a, s) : i / Rt.DEFAULT_MAX_SCALE;
2070
+ let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Cr(n.minVisiblePoints), s = Tr(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Rt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Rt.DEFAULT_MAX_SCALE : 0;
2071
+ return Math.max(a, s, l);
2067
2072
  }
2068
- function Er(e, t, n, r) {
2073
+ function Dr(e, t, n, r) {
2069
2074
  if (r <= 0) return e;
2070
2075
  let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
2071
2076
  for (let e of n) {
2072
- let n = Cr(e, t);
2077
+ let n = wr(e, t);
2073
2078
  if (n.length < r) return [...t];
2074
2079
  if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
2075
2080
  let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
@@ -2081,13 +2086,13 @@ function Er(e, t, n, r) {
2081
2086
  }
2082
2087
  return a;
2083
2088
  }
2084
- function Dr(e, t, n, r) {
2085
- let i = xr(t), a = i[1] - i[0];
2089
+ function Or(e, t, n, r) {
2090
+ let i = Sr(t), a = i[1] - i[0];
2086
2091
  if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
2087
- let o = Er([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Sr(r.minVisiblePoints)), s = Tr(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
2092
+ let o = Dr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Cr(r.minVisiblePoints)), s = Er(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
2088
2093
  return [u, u + c];
2089
2094
  }
2090
- function Or(e, t, n) {
2095
+ function kr(e, t, n) {
2091
2096
  let r = t[1] - t[0], i = e[1] - e[0];
2092
2097
  if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return K;
2093
2098
  let a = r / i, o = U(t, [0, n]);
@@ -2095,7 +2100,7 @@ function Or(e, t, n) {
2095
2100
  }
2096
2101
  //#endregion
2097
2102
  //#region src/components/interaction/viewportDomain.ts
2098
- function kr(e) {
2103
+ function Ar(e) {
2099
2104
  return (t, n) => {
2100
2105
  if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
2101
2106
  if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
@@ -2103,12 +2108,12 @@ function kr(e) {
2103
2108
  r.forEach((n) => {
2104
2109
  let r = e.trackLayouts.value.find((e) => e.index === n);
2105
2110
  if (!r) return;
2106
- let a = e.resolveInitialTrackDomain(r), o = Dr(t, a, [r.seriesList], e.props);
2107
- i[n] = Or(o, a, r.width);
2111
+ let a = e.resolveInitialTrackDomain(r), o = Or(t, a, [r.seriesList], e.props);
2112
+ i[n] = kr(o, a, r.width);
2108
2113
  }), e.independentTransforms.value = i;
2109
2114
  } else {
2110
- let n = e.initialXDomain.value, r = Dr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2111
- e.sharedTransform.value = Or(r, n, e.innerWidth.value);
2115
+ let n = e.initialXDomain.value, r = Or(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2116
+ e.sharedTransform.value = kr(r, n, e.innerWidth.value);
2112
2117
  }
2113
2118
  e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
2114
2119
  }
@@ -2116,13 +2121,13 @@ function kr(e) {
2116
2121
  }
2117
2122
  //#endregion
2118
2123
  //#region src/components/interaction/useWaveformViewport.ts
2119
- function Ar(e) {
2124
+ function jr(e) {
2120
2125
  let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: d, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: w, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = C(), k = (e, t) => {
2121
2126
  let n = O.value, r = t?.currentTarget;
2122
- hr(n, e), r && r !== n && hr(r, e);
2127
+ gr(n, e), r && r !== n && gr(r, e);
2123
2128
  }, A = (e, t) => {
2124
2129
  let n = i.value;
2125
- !n || n.pointerId !== e || (k(e, t), i.value = yr(i.value, {
2130
+ !n || n.pointerId !== e || (k(e, t), i.value = br(i.value, {
2126
2131
  type: "cancel",
2127
2132
  pointerId: e
2128
2133
  }).state, O.value = void 0);
@@ -2145,7 +2150,7 @@ function Ar(e) {
2145
2150
  if (!n.zoomable && !s || !_.value || e.button !== 0) return;
2146
2151
  let c = e.currentTarget, d = o.value.find((e) => e.index === t);
2147
2152
  if (!d) return;
2148
- let [f, p] = H(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = yr(i.value, {
2153
+ let [f, p] = H(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = br(i.value, {
2149
2154
  type: "begin",
2150
2155
  gesture: {
2151
2156
  trackIndex: t,
@@ -2167,8 +2172,8 @@ function Ar(e) {
2167
2172
  let i = t.width || 1, a = t.height || 1, u = e.currentX - e.startX, d = e.currentY - e.startY, f = e.xDomain[1] - e.xDomain[0], _ = e.independent ? b(t) : c.value, v = M([e.xDomain[0] - u / i * f, e.xDomain[1] - u / i * f], _);
2168
2173
  if (e.independent) {
2169
2174
  let e = [...m.value];
2170
- e[t.index] = Or(v, _, i), m.value = e;
2171
- } else p.value = Or(v, _, l.value);
2175
+ e[t.index] = kr(v, _, i), m.value = e;
2176
+ } else p.value = kr(v, _, l.value);
2172
2177
  let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
2173
2178
  y.forEach((t) => {
2174
2179
  let r = s.value.find((e) => e.id === t.id);
@@ -2182,7 +2187,7 @@ function Ar(e) {
2182
2187
  if (!t || !n || e.pointerId !== t.pointerId) return;
2183
2188
  let r = o.value.find((e) => e.index === t.trackIndex);
2184
2189
  if (!r) return;
2185
- let [a, s] = H(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = yr(i.value, {
2190
+ let [a, s] = H(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = br(i.value, {
2186
2191
  type: "move",
2187
2192
  pointerId: e.pointerId,
2188
2193
  position: {
@@ -2201,11 +2206,11 @@ function Ar(e) {
2201
2206
  if (!t || (e.independent ? !x(t) : !S())) return;
2202
2207
  let i = e.independent ? 0 : t.left, a = Math.max(0, Math.min(t.width, Math.min(e.startX, e.currentX) - i)), s = Math.max(0, Math.min(t.width, Math.max(e.startX, e.currentX) - i));
2203
2208
  if (s - a < 6) return;
2204
- let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Dr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2209
+ let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Or([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2205
2210
  if (e.independent) {
2206
2211
  let e = [...m.value];
2207
- e[t.index] = Or(h, u, t.width), m.value = e;
2208
- } else p.value = Or(h, u, l.value);
2212
+ e[t.index] = kr(h, u, t.width), m.value = e;
2213
+ } else p.value = kr(h, u, l.value);
2209
2214
  let g = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), _ = Object.fromEntries(g.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()]));
2210
2215
  if (r("zoom-change", h), e.independent) {
2211
2216
  let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
@@ -2246,7 +2251,7 @@ function Ar(e) {
2246
2251
  A(t.pointerId, e);
2247
2252
  return;
2248
2253
  }
2249
- let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = yr(i.value, {
2254
+ let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = br(i.value, {
2250
2255
  type: "finish",
2251
2256
  pointerId: e.pointerId,
2252
2257
  position: {
@@ -2278,7 +2283,7 @@ function Ar(e) {
2278
2283
  finishViewportDrag: B,
2279
2284
  cancelViewportDrag: R,
2280
2285
  resetViewport: V,
2281
- setViewportDomain: kr({
2286
+ setViewportDomain: Ar({
2282
2287
  props: n,
2283
2288
  trackLayouts: o,
2284
2289
  initialXDomain: c,
@@ -2310,7 +2315,7 @@ function Ar(e) {
2310
2315
  }
2311
2316
  //#endregion
2312
2317
  //#region src/components/utils/useAnimationFrameThrottle.ts
2313
- function jr() {
2318
+ function Mr() {
2314
2319
  let e = null, t = null;
2315
2320
  function n(n) {
2316
2321
  t = n, e === null && (e = requestAnimationFrame(() => {
@@ -2339,8 +2344,8 @@ function jr() {
2339
2344
  }
2340
2345
  //#endregion
2341
2346
  //#region src/components/interaction/useWaveformZoom.ts
2342
- function Mr(e) {
2343
- let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = jr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Set(), D, O = () => v.schedule(j), k = (e) => {
2347
+ function Nr(e) {
2348
+ let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = Mr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Set(), D, O = () => v.schedule(j), k = (e) => {
2344
2349
  y || m.value || (g(), b = e.transform, x = "wheel", O(), P());
2345
2350
  }, A = (e, t) => {
2346
2351
  y || m.value || (g(), C.set(t, e.transform), w.set(t, "wheel"), O(), P());
@@ -2428,11 +2433,11 @@ function Mr(e) {
2428
2433
  }, L = (e, n) => {
2429
2434
  let r = Math.abs(e[1] - e[0]);
2430
2435
  if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
2431
- let i = Tr(e, n, t);
2432
- return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Rt.DEFAULT_MAX_SCALE);
2433
- }, R = (e, n, r, i) => Or(Dr(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), z = (e) => {
2436
+ let i = Er(e, n, t);
2437
+ return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
2438
+ }, R = (e, n, r, i) => kr(Or(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), z = (e) => {
2434
2439
  let n = Number(t.minVisiblePoints);
2435
- return On(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2440
+ return kn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2436
2441
  }, B = () => {
2437
2442
  let e = s.value.filter((e) => e.hasVisibleSeries);
2438
2443
  return e.length > 0 && e.every(z);
@@ -2479,13 +2484,13 @@ function Mr(e) {
2479
2484
  }
2480
2485
  //#endregion
2481
2486
  //#region src/components/core/useWaveformChartLifecycle.ts
2482
- function Nr(e) {
2487
+ function Pr(e) {
2483
2488
  return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
2484
2489
  }
2485
- function Pr(e) {
2490
+ function Fr(e) {
2486
2491
  let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: k, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: ee, clearZoomBindings: te } = e;
2487
2492
  function ne(e) {
2488
- z.value || e.code !== "Space" || !t.pannable || !_.value || Nr(e.target) || (m.value = !0, e.preventDefault());
2493
+ z.value || e.code !== "Space" || !t.pannable || !_.value || Pr(e.target) || (m.value = !0, e.preventDefault());
2489
2494
  }
2490
2495
  function re(e) {
2491
2496
  e.code === "Space" && (m.value = !1);
@@ -2518,12 +2523,12 @@ function Pr(e) {
2518
2523
  w.value.forEach((n) => {
2519
2524
  let r = q?.[n.index];
2520
2525
  if (!r) return;
2521
- let i = I(n), a = Dr(r, i, [n.seriesList], t);
2522
- e[n.index] = Or(a, i, n.width);
2526
+ let i = I(n), a = Or(r, i, [n.seriesList], t);
2527
+ e[n.index] = kr(a, i, n.width);
2523
2528
  }), P.value = e, q = void 0;
2524
2529
  } else if (t.displayMode !== "independent" && G) {
2525
- let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Dr(G, e, n, t);
2526
- A.value = Or(r, e, T.value), G = void 0;
2530
+ let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Or(G, e, n, t);
2531
+ A.value = kr(r, e, T.value), G = void 0;
2527
2532
  }
2528
2533
  H();
2529
2534
  });
@@ -2535,6 +2540,7 @@ function Pr(e) {
2535
2540
  z,
2536
2541
  () => t.minZoomSpan,
2537
2542
  () => t.minVisiblePoints,
2543
+ () => t.maxZoomScale,
2538
2544
  () => t.initialXDomain,
2539
2545
  () => t.initialXDomains,
2540
2546
  () => t.xDomainStrategy,
@@ -2608,7 +2614,7 @@ function Pr(e) {
2608
2614
  }
2609
2615
  //#endregion
2610
2616
  //#region src/components/core/useWaveformData.ts
2611
- function Fr(e) {
2617
+ function Ir(e) {
2612
2618
  return ln(e).map(({ source: e, ...t }) => {
2613
2619
  let n = e.metrics(t.errorBar.visible);
2614
2620
  return {
@@ -2621,45 +2627,45 @@ function Fr(e) {
2621
2627
  };
2622
2628
  });
2623
2629
  }
2624
- function Ir(e, t, n) {
2625
- let r = C(Fr(e()));
2630
+ function Lr(e, t, n) {
2631
+ let r = C(Ir(e()));
2626
2632
  return O(e, (e) => {
2627
- t(), r.value = Fr(e), n();
2633
+ t(), r.value = Ir(e), n();
2628
2634
  }), r;
2629
2635
  }
2630
2636
  //#endregion
2631
2637
  //#region wasm/pkg/waveform_sampling_wasm.js
2632
- function Lr(e, t) {
2633
- let n = Zr(e, $.__wbindgen_malloc), r = ri, i = Zr(t, $.__wbindgen_malloc), a = ri, o = $.calculate_range(n, r, i, a);
2634
- if (o[3]) throw Qr(o[2]);
2635
- var s = Hr(o[0], o[1]).slice();
2638
+ function Rr(e, t) {
2639
+ let n = Qr(e, $.__wbindgen_malloc), r = ii, i = Qr(t, $.__wbindgen_malloc), a = ii, o = $.calculate_range(n, r, i, a);
2640
+ if (o[3]) throw $r(o[2]);
2641
+ var s = Ur(o[0], o[1]).slice();
2636
2642
  return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
2637
2643
  }
2638
- function Rr(e, t, n, r) {
2639
- let i = Zr(e, $.__wbindgen_malloc), a = ri, o = Zr(t, $.__wbindgen_malloc), s = ri, c = $.find_visible_range(i, a, o, s, n, r);
2640
- if (c[3]) throw Qr(c[2]);
2641
- var l = Ur(c[0], c[1]).slice();
2642
- return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2643
- }
2644
2644
  function zr(e, t, n, r) {
2645
- let i = Zr(e, $.__wbindgen_malloc), a = ri, o = Zr(t, $.__wbindgen_malloc), s = ri, c = $.sample_aggregates(i, a, o, s, n, r);
2646
- if (c[3]) throw Qr(c[2]);
2647
- var l = Hr(c[0], c[1]).slice();
2648
- return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
2645
+ let i = Qr(e, $.__wbindgen_malloc), a = ii, o = Qr(t, $.__wbindgen_malloc), s = ii, c = $.find_visible_range(i, a, o, s, n, r);
2646
+ if (c[3]) throw $r(c[2]);
2647
+ var l = Wr(c[0], c[1]).slice();
2648
+ return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2649
2649
  }
2650
2650
  function Br(e, t, n, r) {
2651
- let i = Zr(e, $.__wbindgen_malloc), a = ri, o = Zr(t, $.__wbindgen_malloc), s = ri, c = $.sample_indexes(i, a, o, s, n, r);
2652
- if (c[3]) throw Qr(c[2]);
2651
+ let i = Qr(e, $.__wbindgen_malloc), a = ii, o = Qr(t, $.__wbindgen_malloc), s = ii, c = $.sample_aggregates(i, a, o, s, n, r);
2652
+ if (c[3]) throw $r(c[2]);
2653
2653
  var l = Ur(c[0], c[1]).slice();
2654
+ return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
2655
+ }
2656
+ function Vr(e, t, n, r) {
2657
+ let i = Qr(e, $.__wbindgen_malloc), a = ii, o = Qr(t, $.__wbindgen_malloc), s = ii, c = $.sample_indexes(i, a, o, s, n, r);
2658
+ if (c[3]) throw $r(c[2]);
2659
+ var l = Wr(c[0], c[1]).slice();
2654
2660
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2655
2661
  }
2656
- function Vr() {
2662
+ function Hr() {
2657
2663
  return {
2658
2664
  __proto__: null,
2659
2665
  "./waveform_sampling_wasm_bg.js": {
2660
2666
  __proto__: null,
2661
2667
  __wbindgen_cast_0000000000000001: function(e, t) {
2662
- return Kr(e, t);
2668
+ return qr(e, t);
2663
2669
  },
2664
2670
  __wbindgen_init_externref_table: function() {
2665
2671
  let e = $.__wbindgen_externrefs, t = e.grow(4);
@@ -2668,52 +2674,52 @@ function Vr() {
2668
2674
  }
2669
2675
  };
2670
2676
  }
2671
- function Hr(e, t) {
2672
- return e >>>= 0, Gr().subarray(e / 8, e / 8 + t);
2673
- }
2674
2677
  function Ur(e, t) {
2675
- return e >>>= 0, Jr().subarray(e / 4, e / 4 + t);
2678
+ return e >>>= 0, Kr().subarray(e / 8, e / 8 + t);
2679
+ }
2680
+ function Wr(e, t) {
2681
+ return e >>>= 0, Yr().subarray(e / 4, e / 4 + t);
2676
2682
  }
2677
- var Wr = null;
2678
- function Gr() {
2679
- return (Wr === null || Wr.byteLength === 0) && (Wr = new Float64Array($.memory.buffer)), Wr;
2683
+ var Gr = null;
2684
+ function Kr() {
2685
+ return (Gr === null || Gr.byteLength === 0) && (Gr = new Float64Array($.memory.buffer)), Gr;
2680
2686
  }
2681
- function Kr(e, t) {
2682
- return e >>>= 0, ni(e, t);
2687
+ function qr(e, t) {
2688
+ return e >>>= 0, ri(e, t);
2683
2689
  }
2684
- var qr = null;
2685
- function Jr() {
2686
- return (qr === null || qr.byteLength === 0) && (qr = new Uint32Array($.memory.buffer)), qr;
2690
+ var Jr = null;
2691
+ function Yr() {
2692
+ return (Jr === null || Jr.byteLength === 0) && (Jr = new Uint32Array($.memory.buffer)), Jr;
2687
2693
  }
2688
- var Yr = null;
2689
- function Xr() {
2690
- return (Yr === null || Yr.byteLength === 0) && (Yr = new Uint8Array($.memory.buffer)), Yr;
2694
+ var Xr = null;
2695
+ function Zr() {
2696
+ return (Xr === null || Xr.byteLength === 0) && (Xr = new Uint8Array($.memory.buffer)), Xr;
2691
2697
  }
2692
- function Zr(e, t) {
2698
+ function Qr(e, t) {
2693
2699
  let n = t(e.length * 8, 8) >>> 0;
2694
- return Gr().set(e, n / 8), ri = e.length, n;
2700
+ return Kr().set(e, n / 8), ii = e.length, n;
2695
2701
  }
2696
- function Qr(e) {
2702
+ function $r(e) {
2697
2703
  let t = $.__wbindgen_externrefs.get(e);
2698
2704
  return $.__externref_table_dealloc(e), t;
2699
2705
  }
2700
- var $r = new TextDecoder("utf-8", {
2706
+ var ei = new TextDecoder("utf-8", {
2701
2707
  ignoreBOM: !0,
2702
2708
  fatal: !0
2703
2709
  });
2704
- $r.decode();
2705
- var ei = 2146435072, ti = 0;
2706
- function ni(e, t) {
2707
- return ti += t, ti >= ei && ($r = new TextDecoder("utf-8", {
2710
+ ei.decode();
2711
+ var ti = 2146435072, ni = 0;
2712
+ function ri(e, t) {
2713
+ return ni += t, ni >= ti && (ei = new TextDecoder("utf-8", {
2708
2714
  ignoreBOM: !0,
2709
2715
  fatal: !0
2710
- }), $r.decode(), ti = t), $r.decode(Xr().subarray(e, e + t));
2716
+ }), ei.decode(), ni = t), ei.decode(Zr().subarray(e, e + t));
2711
2717
  }
2712
- var ri = 0, $;
2713
- function ii(e, t) {
2714
- return $ = e.exports, Wr = null, qr = null, Yr = null, $.__wbindgen_start(), $;
2718
+ var ii = 0, $;
2719
+ function ai(e, t) {
2720
+ return $ = e.exports, Gr = null, Jr = null, Xr = null, $.__wbindgen_start(), $;
2715
2721
  }
2716
- async function ai(e, t) {
2722
+ async function oi(e, t) {
2717
2723
  if (typeof Response == "function" && e instanceof Response) {
2718
2724
  if (typeof WebAssembly.instantiateStreaming == "function") try {
2719
2725
  return await WebAssembly.instantiateStreaming(e, t);
@@ -2739,17 +2745,17 @@ async function ai(e, t) {
2739
2745
  return !1;
2740
2746
  }
2741
2747
  }
2742
- async function oi(e) {
2748
+ async function si(e) {
2743
2749
  if ($ !== void 0) return $;
2744
2750
  e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL("data:application/wasm;base64,AGFzbQEAAAABugEXYAJ/fwBgAn9/AX9gA39/fwF/YAAEf39/f2ABfwBgAX8Bf2ADf39/AGAFf39/f38AYAAAYAADf39/YAR/f39/AX9gBn9/f39/fwBgBH9/f38AYAZ/f39/f38Ef39/f2AFf39/f38Ef39/f2ACfHwBfGACf38Bb2AHf39/f39/fwBgBX9/f39/AX9gBn9/f398fAR/f39/YAd/f39/fHx/A39/f2AEf39/fwR/f39/YAV/f39/fwN/f38ChAECHi4vd2F2ZWZvcm1fc2FtcGxpbmdfd2FzbV9iZy5qcx9fX3diaW5kZ2VuX2luaXRfZXh0ZXJucmVmX3RhYmxlAAgeLi93YXZlZm9ybV9zYW1wbGluZ193YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAxABADU1IFBwsRDAcEAgoHAAYABAEAAAAMAQEAEgAHBwsGBQAIBAQFAgAGBAAGAQEKDRMNDhQOFQEWCAQFBAQPDwAGAQYAAAIKAAEGAgQIAQEAAAEBAAAFBAkCcAEXF28AgAgFAwEAEQYJAX8BQYCAwAALB+QCEQZtZW1vcnkCAA9jYWxjdWxhdGVfcmFuZ2UAMw9kaXNwb3NlX2RhdGFzZXQAHhJmaW5kX3Zpc2libGVfcmFuZ2UALhByZWdpc3Rlcl9kYXRhc2V0ADUXcmVnaXN0ZXJfc2FtcGxlX2RhdGFzZXQAMRFzYW1wbGVfYWdncmVnYXRlcwAtGXNhbXBsZV9kYXRhc2V0X2FnZ3JlZ2F0ZXMAMhZzYW1wbGVfZGF0YXNldF9pbmRleGVzADAOc2FtcGxlX2luZGV4ZXMALxRkaXNwb3NlX2FsbF9kYXRhc2V0cwAgE2RhdGFzZXRfaW5kZXhfYnl0ZXMAIxVfX3diaW5kZ2VuX2V4dGVybnJlZnMBARFfX3diaW5kZ2VuX21hbGxvYwAqGV9fZXh0ZXJucmVmX3RhYmxlX2RlYWxsb2MAIQ9fX3diaW5kZ2VuX2ZyZWUAQBBfX3diaW5kZ2VuX3N0YXJ0AAAJHAEAQQELFlMBUTQ6JBZIRihFTTkrGR9SQkEVT1AMAQMKqLQCUsslAgl/AX4jAEEQayIIJAACQAJAAkAgAEH1AU8EQCAAQcz/e0sEQEEAIQAMBAsgAEELaiICQXhxIQVB0JnAACgCACIJRQ0CQR8hBiAAQfX//wdPDQEgBUEmIAJBCHZnIgBrdkEBcSAAQQF0a0E+aiEGDAELAkACQAJAAkACQEHMmcAAKAIAIgRBECAAQQtqQfgDcSAAQQtJGyIFQQN2IgB2IgFBA3EEQCABQX9zQQFxIABqIgdBA3QiAUHEl8AAaiIAIAFBzJfAAGooAgAiAigCCCIDRg0BIAMgADYCDCAAIAM2AggMAgsgBUHUmcAAKAIATQ0GIAENAkHQmcAAKAIAIgBFDQYgAGhBAnRBtJbAAGooAgAiASgCBEF4cSAFayEDIAEhAgNAAkAgASgCECIADQAgASgCFCIADQAgAigCGCEGAkACQCACIAIoAgwiAEYEQCACQRRBECACKAIUIgAbaigCACIBDQFBACEADAILIAIoAggiASAANgIMIAAgATYCCAwBCyACQRRqIAJBEGogABshBANAIAQhByABIgBBFGogAEEQaiAAKAIUIgEbIQQgAEEUQRAgARtqKAIAIgENAAsgB0EANgIACyAGRQ0GAkAgAigCHEECdEG0lsAAaiIBKAIAIAJHBEAgAiAGKAIQRwRAIAYgADYCFCAADQIMCQsgBiAANgIQIAANAQwICyABIAA2AgAgAEUNBgsgACAGNgIYIAIoAhAiAQRAIAAgATYCECABIAA2AhgLIAIoAhQiAUUNBiAAIAE2AhQgASAANgIYDAYLIAAoAgRBeHEgBWsiASADIAEgA0kiARshAyAAIAIgARshAiAAIQEMAAsAC0HMmcAAIARBfiAHd3E2AgALIAJBCGohACACIAFBA3I2AgQgASACaiIBIAEoAgRBAXI2AgQMBQsCQEECIAB0IgJBACACa3IgASAAdHFoIgdBA3QiAUHEl8AAaiICIAFBzJfAAGooAgAiACgCCCIDRwRAIAMgAjYCDCACIAM2AggMAQtBzJnAACAEQX4gB3dxNgIACyAAIAVBA3I2AgQgACAFaiIGIAEgBWsiB0EBcjYCBCAAIAFqIAc2AgBB1JnAACgCACICBEBB3JnAACgCACEBAkBBzJnAACgCACIEQQEgAkEDdnQiA3FFBEBBzJnAACADIARyNgIAIAJBeHFBxJfAAGoiAyEEDAELIAJBeHEiAkHEl8AAaiEEIAJBzJfAAGooAgAhAwsgBCABNgIIIAMgATYCDCABIAQ2AgwgASADNgIICyAAQQhqIQBB3JnAACAGNgIAQdSZwAAgBzYCAAwEC0HQmcAAQdCZwAAoAgBBfiACKAIcd3E2AgALAkACQCADQRBPBEAgAiAFQQNyNgIEIAIgBWoiByADQQFyNgIEIAMgB2ogAzYCAEHUmcAAKAIAIgFFDQFB3JnAACgCACEAAkBBzJnAACgCACIEQQEgAUEDdnQiBnFFBEBBzJnAACAEIAZyNgIAIAFBeHFBxJfAAGoiBCEBDAELIAFBeHEiBEHEl8AAaiEBIARBzJfAAGooAgAhBAsgASAANgIIIAQgADYCDCAAIAE2AgwgACAENgIIDAELIAIgAyAFaiIAQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEDAELQdyZwAAgBzYCAEHUmcAAIAM2AgALIAJBCGoiAEUNAQwCC0EAIAVrIQMCQAJAAkAgBkECdEG0lsAAaigCACICRQRAQQAhAAwBCyAFQRkgBkEBdmtBACAGQR9HG3QhBEEAIQADQAJAIAIoAgRBeHEiByAFSQ0AIAcgBWsiByADTw0AIAIhASAHIgMNAEEAIQMgASEADAMLIAIoAhQiByAAIAcgAiAEQR12QQRxaigCECICRxsgACAHGyEAIARBAXQhBCACDQALCyAAIAFyRQRAQQAhAUECIAZ0IgBBACAAa3IgCXEiAEUNAyAAaEECdEG0lsAAaigCACEACyAARQ0BCwNAIAMgACgCBEF4cSICIAVrIgQgAyADIARLIgQbIAIgBUkiAhshAyABIAAgASAEGyACGyEBIAAoAhAiAgR/IAIFIAAoAhQLIgANAAsLIAFFDQAgBUHUmcAAKAIAIgBNIAMgACAFa09xDQAgASgCGCEGAkACQCABIAEoAgwiAEYEQCABQRRBECABKAIUIgAbaigCACICDQFBACEADAILIAEoAggiAiAANgIMIAAgAjYCCAwBCyABQRRqIAFBEGogABshBANAIAQhByACIgBBFGogAEEQaiAAKAIUIgIbIQQgAEEUQRAgAhtqKAIAIgINAAsgB0EANgIACwJAIAZFDQACQAJAIAEoAhxBAnRBtJbAAGoiAigCACABRwRAIAEgBigCEEcEQCAGIAA2AhQgAA0CDAQLIAYgADYCECAADQEMAwsgAiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABKAIUIgJFDQEgACACNgIUIAIgADYCGAwBC0HQmcAAQdCZwAAoAgBBfiABKAIcd3E2AgALAkAgA0EQTwRAIAEgBUEDcjYCBCABIAVqIgAgA0EBcjYCBCAAIANqIAM2AgAgA0GAAk8EQCAAIAMQEgwCCwJAQcyZwAAoAgAiAkEBIANBA3Z0IgRxRQRAQcyZwAAgAiAEcjYCACADQfgBcUHEl8AAaiIDIQIMAQsgA0H4AXEiBEHEl8AAaiECIARBzJfAAGooAgAhAwsgAiAANgIIIAMgADYCDCAAIAI2AgwgACADNgIIDAELIAEgAyAFaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIECyABQQhqIgANAQsCQAJAAkACQAJAIAVB1JnAACgCACIBSwRAIAVB2JnAACgCACIATwRAIAhBBGohAAJ/IAVBr4AEakGAgHxxIgFBEHYgAUH//wNxQQBHaiIBQAAiBEF/RgRAQQAhAUEADAELIAFBEHQiAkEQayACIARBEHQiAUEAIAJrRhsLIQIgAEEANgIIIAAgAjYCBCAAIAE2AgAgCCgCBCIBRQRAQQAhAAwICyAIKAIMIQdB5JnAACAIKAIIIgRB5JnAACgCAGoiADYCAEHomcAAIABB6JnAACgCACICIAAgAksbNgIAAkACQEHgmcAAKAIAIgIEQEG0l8AAIQADQCABIAAoAgAiAyAAKAIEIgZqRg0CIAAoAggiAA0ACwwCC0HwmcAAKAIAIgBBACAAIAFNG0UEQEHwmcAAIAE2AgALQfSZwABB/x82AgBBwJfAACAHNgIAQbiXwAAgBDYCAEG0l8AAIAE2AgBB0JfAAEHEl8AANgIAQdiXwABBzJfAADYCAEHMl8AAQcSXwAA2AgBB4JfAAEHUl8AANgIAQdSXwABBzJfAADYCAEHol8AAQdyXwAA2AgBB3JfAAEHUl8AANgIAQfCXwABB5JfAADYCAEHkl8AAQdyXwAA2AgBB+JfAAEHsl8AANgIAQeyXwABB5JfAADYCAEGAmMAAQfSXwAA2AgBB9JfAAEHsl8AANgIAQYiYwABB/JfAADYCAEH8l8AAQfSXwAA2AgBBkJjAAEGEmMAANgIAQYSYwABB/JfAADYCAEGMmMAAQYSYwAA2AgBBmJjAAEGMmMAANgIAQZSYwABBjJjAADYCAEGgmMAAQZSYwAA2AgBBnJjAAEGUmMAANgIAQaiYwABBnJjAADYCAEGkmMAAQZyYwAA2AgBBsJjAAEGkmMAANgIAQayYwABBpJjAADYCAEG4mMAAQayYwAA2AgBBtJjAAEGsmMAANgIAQcCYwABBtJjAADYCAEG8mMAAQbSYwAA2AgBByJjAAEG8mMAANgIAQcSYwABBvJjAADYCAEHQmMAAQcSYwAA2AgBB2JjAAEHMmMAANgIAQcyYwABBxJjAADYCAEHgmMAAQdSYwAA2AgBB1JjAAEHMmMAANgIAQeiYwABB3JjAADYCAEHcmMAAQdSYwAA2AgBB8JjAAEHkmMAANgIAQeSYwABB3JjAADYCAEH4mMAAQeyYwAA2AgBB7JjAAEHkmMAANgIAQYCZwABB9JjAADYCAEH0mMAAQeyYwAA2AgBBiJnAAEH8mMAANgIAQfyYwABB9JjAADYCAEGQmcAAQYSZwAA2AgBBhJnAAEH8mMAANgIAQZiZwABBjJnAADYCAEGMmcAAQYSZwAA2AgBBoJnAAEGUmcAANgIAQZSZwABBjJnAADYCAEGomcAAQZyZwAA2AgBBnJnAAEGUmcAANgIAQbCZwABBpJnAADYCAEGkmcAAQZyZwAA2AgBBuJnAAEGsmcAANgIAQayZwABBpJnAADYCAEHAmcAAQbSZwAA2AgBBtJnAAEGsmcAANgIAQciZwABBvJnAADYCAEG8mcAAQbSZwAA2AgBB4JnAACABQQ9qQXhxIgBBCGsiAjYCAEHEmcAAQbyZwAA2AgBB2JnAACAEQShrIgQgASAAa2pBCGoiADYCACACIABBAXI2AgQgASAEakEoNgIEQeyZwABBgICAATYCAAwICyACIANJIAEgAk1yDQAgACgCDCIDQQFxDQAgA0EBdiAHRg0DC0HwmcAAQfCZwAAoAgAiACABIAAgAUkbNgIAIAEgBGohA0G0l8AAIQACQAJAA0AgAyAAKAIAIgZHBEAgACgCCCIADQEMAgsLIAAoAgwiA0EBcQ0AIANBAXYgB0YNAQtBtJfAACEAA0ACQCACIAAoAgAiA08EQCACIAMgACgCBGoiBkkNAQsgACgCCCEADAELC0HgmcAAIAFBD2pBeHEiAEEIayIDNgIAQdiZwAAgBEEoayIJIAEgAGtqQQhqIgA2AgAgAyAAQQFyNgIEIAEgCWpBKDYCBEHsmcAAQYCAgAE2AgAgAiAGQSBrQXhxQQhrIgAgACACQRBqSRsiA0EbNgIEQbSXwAApAgAhCiADQRBqQbyXwAApAgA3AgAgA0EIaiIAIAo3AgBBwJfAACAHNgIAQbiXwAAgBDYCAEG0l8AAIAE2AgBBvJfAACAANgIAIANBHGohAANAIABBBzYCACAAQQRqIgAgBkkNAAsgAiADRg0HIAMgAygCBEF+cTYCBCACIAMgAmsiAEEBcjYCBCADIAA2AgAgAEGAAk8EQCACIAAQEgwICwJAQcyZwAAoAgAiAUEBIABBA3Z0IgRxRQRAQcyZwAAgASAEcjYCACAAQfgBcUHEl8AAaiIAIQEMAQsgAEH4AXEiAEHEl8AAaiEBIABBzJfAAGooAgAhAAsgASACNgIIIAAgAjYCDCACIAE2AgwgAiAANgIIDAcLIAAgATYCACAAIAAoAgQgBGo2AgQgAUEPakF4cUEIayIEIAVBA3I2AgQgBkEPakF4cUEIayIDIAQgBWoiAGshBSADQeCZwAAoAgBGDQMgA0HcmcAAKAIARg0EIAMoAgQiAkEDcUEBRgRAIAMgAkF4cSIBEBEgASAFaiEFIAEgA2oiAygCBCECCyADIAJBfnE2AgQgACAFQQFyNgIEIAAgBWogBTYCACAFQYACTwRAIAAgBRASDAYLAkBBzJnAACgCACIBQQEgBUEDdnQiAnFFBEBBzJnAACABIAJyNgIAIAVB+AFxQcSXwABqIgUhAwwBCyAFQfgBcSIBQcSXwABqIQMgAUHMl8AAaigCACEFCyADIAA2AgggBSAANgIMIAAgAzYCDCAAIAU2AggMBQtB2JnAACAAIAVrIgE2AgBB4JnAAEHgmcAAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAAwGC0HcmcAAKAIAIQACQCABIAVrIgJBD00EQEHcmcAAQQA2AgBB1JnAAEEANgIAIAAgAUEDcjYCBCAAIAFqIgEgASgCBEEBcjYCBAwBC0HUmcAAIAI2AgBB3JnAACAAIAVqIgQ2AgAgBCACQQFyNgIEIAAgAWogAjYCACAAIAVBA3I2AgQLIABBCGohAAwFCyAAIAQgBmo2AgRB4JnAAEHgmcAAKAIAIgBBD2pBeHEiAUEIayICNgIAQdiZwABB2JnAACgCACAEaiIEIAAgAWtqQQhqIgE2AgAgAiABQQFyNgIEIAAgBGpBKDYCBEHsmcAAQYCAgAE2AgAMAwtB4JnAACAANgIAQdiZwABB2JnAACgCACAFaiIBNgIAIAAgAUEBcjYCBAwBC0HcmcAAIAA2AgBB1JnAAEHUmcAAKAIAIAVqIgE2AgAgACABQQFyNgIEIAAgAWogATYCAAsgBEEIaiEADAELQQAhAEHYmcAAKAIAIgEgBU0NAEHYmcAAIAEgBWsiATYCAEHgmcAAQeCZwAAoAgAiACAFaiICNgIAIAIgAUEBcjYCBCAAIAVBA3I2AgQgAEEIaiEACyAIQRBqJAAgAAv/FwILfwZ8IwBBIGsiBSQAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAIAMOBwECBwAEBAQAC0HUisAAQScQPyEBIABBgICAgHg2AgAgACABNgIEDA4LIAJFBEBBBCEJDA0LIAJBAnQiA0EEEEsiCUUNASACQQdxIQRBACEDAkAgAkEBa0EHTwRAIAJB+P//P3EhBgNAIAggCWoiByADNgIAIAdBHGogA0EHajYCACAHQRhqIANBBmo2AgAgB0EUaiADQQVqNgIAIAdBEGogA0EEajYCACAHQQxqIANBA2o2AgAgB0EIaiADQQJqNgIAIAdBBGogA0EBajYCACAIQSBqIQggA0EIaiIDIAZHDQALIARFDQELIAkgA0ECdGohBwNAIAcgAzYCACAHQQRqIQcgA0EBaiEDIARBAWsiBA0ACwsgAiEIIAIhBgwLCyAFQRRqIAIgBBANIAUoAhQiCEGAgICAeEcNCCAEQQJrQQJ2IgpFBEBBCEEEEEsiCQ0DQQRBCBBOAAtBBEEEEEsiAwRAIANBADYCACAFQQE2AhwgBSADNgIYIAVBATYCFCACQQJrIQ1BASEGA0AgCyANbCAKbiIDQQFqIgghByAIIQQCQCADQQJqIgMgC0EBaiILIA1sIApuIglBAWoiDk8EQCAFIAQ2AhAgBSAENgIMIAUgBDYCCAwBCwJAAkACQANAIAIgA00NAiACIAdNDQEgAiAESwRAIAMgBCABIANBGGxqKwMIIhAgASAEQRhsaisDCGQbIQQgAyAHIBAgASAHQRhsaisDCGMbIQcgA0EBaiIDIA5PDQQMAQsLIAQgAkH8hsAAECYACyAHIAJB7IbAABAmAAsgAyACQdyGwAAQJgALIAUgBDYCCCAFIAg2AhAgBSAHNgIMAkAgByAITwRAIAghAwwBCyAFIAc2AhAgBSAINgIMIAchAyAIIQcLIAQgB08EQCAHIQggBCEHDAELIAUgBzYCCCAFQQxqIQggAyAESwR/IAUgAzYCDCAFQRBqBSAICyAENgIAIAUoAgwhCAsCQCAHIAlNBEAgByEEIAkhBwwBCwJ/IAVBCGogCCAJTQ0AGiAFIAg2AgggBUEMaiAFKAIQIgMgCU0NABogBSADNgIMIAVBEGoLIAk2AgAgBSgCCCEEIAUoAgwhCAsgBSgCECEDAkACQAJAAkACQAJAAkAgBgRAIAUoAhggBkECdGpBBGsoAgAgA0YNAQsgBSgCFCAGRgRAIAVBFGoQJyAFKAIYIAZBAnRqIAM2AgAgBSAGQQFqIgY2AhwMAQsgBSgCGCAGQQJ0aiADNgIAIAUgBkEBaiIGNgIcQQAhAyAGRQ0BCyAFKAIYIAYiA0ECdGpBBGsoAgAgCEYNAQsgBSgCFCADRgRAIAVBFGoQJyAFKAIYIANBAnRqIAg2AgAgBSADQQFqIgY2AhwMAQsgBSgCGCADQQJ0aiAINgIAIAUgA0EBaiIGNgIcQQAhAyAGRQ0BCyAFKAIYIAYiA0ECdGpBBGsoAgAgBEYNAQsgBSgCFCADRgRAIAVBFGoQJyAFKAIYIANBAnRqIAQ2AgAgBSADQQFqIgY2AhwMAQsgBSgCGCADQQJ0aiAENgIAIAUgA0EBaiIGNgIcQQAhAyAGRQ0BCyAFKAIYIAYiA0ECdGpBBGsoAgAgB0YNAQsgBSgCFCADRgRAIAVBFGoQJwsgBSgCGCADQQJ0aiAHNgIAIAUgA0EBaiIGNgIcCyAKIAtHDQALDAYLDA4LQQQgAxA9AAsgBUEUaiACIAQQDSAFKAIUIghBgICAgHhHDQYgBEECayADQQZGdiIJRQRAQQhBBBBLIgkNAUEEQQgQTgALQQRBBBBLIgQEQEEAIQggBEEANgIAIAVBATYCHCAFIAQ2AhggBUEBNgIUIAJBAmshCiADQQRrIQtBASEGA0AgCCAKbCAJbiIDQQFqIgQhBwJAIANBAmoiAyAIQQFqIgggCmwgCW5BAWoiDU8NAAJAAkADQCACIANNDQIgAiAHTQ0BIAIgBEsEQCADIAQgASADQRhsaisDCCIQIAEgBEEYbGorAwhkGyEEIAMgByAQIAEgB0EYbGorAwhjGyEHIANBAWoiAyANTw0EDAELCyAEIAJBnI3AABAmAAsgByACQYyNwAAQJgALIAMgAkH8jMAAECYACwJAAkACQAJAAkACQAJAIAsOAwECAwALQZyKwABBKEHsjMAAED4ACyAGBEAgBSgCGCAGQQJ0akEEaygCACAHRg0FCyAGIAUoAhRGDQIMAwsgBgRAIAUoAhggBkECdGpBBGsoAgAgBEYNBAsgBCEHIAYgBSgCFEcNAgwBCyAEIAdPBEACQAJAIAYEQCAFKAIYIAZBAnRqQQRrKAIAIAdGDQELIAUoAhQgBkYEQCAFQRRqECcgBSgCGCAGQQJ0aiAHNgIAIAUgBkEBaiIGNgIcDAELIAUoAhggBkECdGogBzYCACAFIAZBAWoiBjYCHEEAIQMgBkUNAQsgBSgCGCAGIgNBAnRqQQRrKAIAIARGDQQLIAQhByADIgYgBSgCFEYNAQwCCwJAIAYEQCAFKAIYIAZBAnRqQQRrKAIAIARGDQELIAUoAhQgBkYEQCAFQRRqECcLIAUoAhggBkECdGogBDYCACAFIAZBAWoiBjYCHAsgBgRAIAUoAhggBkECdGpBBGsoAgAgB0YNAwsgBiAFKAIURw0BCyAFQRRqECcLIAUoAhggBkECdGogBzYCACAFIAZBAWoiBjYCHAsgCCAJRw0ACwwCCwwMCyAJQQA2AgAgCSACQQFrNgIEQQIhCEECIQYMBwsgAkEBayEDIAYEQCAFKAIYIgkgBkECdGpBBGsoAgAgA0YNBAsgBSgCFCAGRgRAIAVBFGoQJwsgBSgCGCAGQQJ0aiADNgIAIAZBAWoMAgsgBUEUaiACIAQQDSAFKAIUIghBgICAgHhHDQNBBEEEEEsiAwRAIANBADYCAEEBIQYgBUEBNgIcIAUgAzYCGCAFQQE2AhQgAkEBayELAkAgBEECayIJBEAgAkECayINuCAJuKMhFCABIAtBGGxqIQ5BACEIA0AgAiAUIAhBAmq4opz8A0EBaiIMIAIgDEkbIQMCQAJAIAwgAiAUIAhBAWoiBLiinPwDQQFqIgogAiAKSRsiCk8EQAJ8IAMgCkcEQCADIAprIQwgASADQRhsaiEPIAEgCkEYbGohA0QAAAAAAAAAACEQRAAAAAAAAAAAIREDQCAQIAMrAwCgIRAgESADQQhqKwMAoCERIANBGGoiAyAPRw0ACyARIAy4IhKjIREgECASowwBCyACRQ0CIA4rAwghESAOKwMACyESIAggDWwgCW5BAWoiAyAEIA1sIAluQQFqIgpPBEAgAyEHDAMLAkAgAiAHSwRAIAEgB0EYbGohCEQAAAAAAADwvyEQIAMhBwNAIAIgA00NAiAIKwMAIhMgEqEgASADQRhsaiIMKwMIIAgrAwgiFaGiIBEgFaEgEyAMKwMAoaKhmSITIBAgECATYyIMGyEQIAMgByAMGyEHIAogA0EBaiIDSw0ACwwECyAHIAJBrIbAABAmAAsgAyACQbyGwAAQJgALIAogAyACQcyGwAAQFAALIAtBAEGchsAAECYACyAFKAIUIAZGBEAgBUEUahAnCyAFKAIYIAZBAnRqIAc2AgAgBSAGQQFqIgY2AhwgBCIIIAlHDQALIAYgBSgCFEcNAQsgBUEUahAnCyAFKAIYIAZBAnRqIAs2AgAgBkEBagwCCwwJCyACQQFrIQMgBgRAIAUoAhgiCSAGQQJ0akEEaygCACADRg0CCyAFKAIUIAZGBEAgBUEUahAnCyAFKAIYIAZBAnRqIAM2AgAgBkEBagshBiAFKAIYIQkLIAUoAhQhCAwBCyAFKAIcIQYgBSgCGCEJCyAGDQBBACEGDAELIAkhAyAGIQcDQCADKAIAIgQgAk8NAyADIAEgBEEYbGooAhA2AgAgA0EEaiEDIAdBAWsiBw0ACwsgACAGNgIIIAAgCTYCBCAAIAg2AgALIAVBIGokAA8LIAQgAkGUj8AAECYAC0EEQQQQTgAL9wsDEn8CfAJ+IwBB0AJrIhIkAAJAIAFBAkkNAEKAgICAgICAgMAAIAGtIhqAIhsgGn5CgICAgICAgIDAAFKtAn8gAUGBIE8EQEEBIAFBAXJnQR9zIgZBAXYgBkEBcWoiBnQgASAGdmpBAXYMAQtBwAAgASABQQF2ayIGIAZBwABPGwshEyAbfCEaIABBGGshFCAAQTBqIRVBASEJA0BBACEPQQEhCiABIBBLIhYEQCAAIBBBGGwiD2ohDCAQrSIbAn8CQCABIBBrIgogE0kNAAJAIApBAkkEQCAKIQYMAQsCQAJAIAwrAxgiGCAYYSAMKwMAIhkgGWFxBEACQAJAAkAgGCAZYyIORQRAQQIhBiAKQQJGDQcgDyAVaiEIA0AgCCsDACIZIBlhIBggGGFxRQ0GIBggGWQNAyAIQRhqIQggGSEYIAogBkEBaiIGRw0ACwwBC0ECIQZBASEIIApBAkYNAiAPIBVqIQgDQCAIKwMAIhkgGWEgGCAYYXFFDQYgGCAZZEUNAiAIQRhqIQggGSEYIAogBkEBaiIGRw0ACwsgCiEGCyAGIBNJDQUgDkUNBCAGQQF2IghFDQQLIBQgBkEYbGohESAAIQoDQCAPIBFqIgwoAgAhByAMIAogD2oiDigCADYCACAOIAc2AgAgDkEEaiIHKAIAIQ0gByAMQQRqIgcoAgA2AgAgByANNgIAIAxBCGoiBygCACENIAcgDkEIaiIHKAIANgIAIAcgDTYCACAOQQxqIgcoAgAhDSAHIAxBDGoiBygCADYCACAHIA02AgAgDEEQaiIHKAIAIQ0gByAOQRBqIgcoAgA2AgAgByANNgIAIA5BFGoiDigCACEHIA4gDEEUaiIMKAIANgIAIAwgBzYCACARQRhrIREgCkEYaiEKIAhBAWsiCA0ACwwDC0G0j8AAEEkAC0G0j8AAEEkAC0G0j8AAEEkACyAGQQF0QQFyDAELIAogEyAKIBNJG0EBdCAERQ0AGiAMQSAgCiAKQSBPGyIGIAIgA0EAQQAgBRAFIAZBAXRBAXILIgpBAXYgEGqtfCAafiAQIAlBAXZrrSAbfCAafoV5pyEPCwJAAkAgC0ECSQ0AIBQgEEEYbCIGaiEOIAAgBmohFwNAIAtBAWsiDCASQY4CamotAAAgD0kNAQJ/AkACQCADIBJBBGogDEECdGooAgAiB0EBdiIGIAlBAXYiCGoiEU8gByAJckEBcUVxRQRAIAAgECARa0EYbGohCyAHQQFxRQ0BDAILIBFBAXQMAgsgCyAGIAIgAyAGQQFyZ0EBdEE+c0EAIAUQBQsgCUEBcUUEQCALIAZBGGxqIAggAiADIAhBAXJnQQF0QT5zQQAgBRAFCwJAIAhFIAZFcg0AIAMgCCAGIAYgCEsiBxsiCEkNACALIAZBGGxqIQkgCEEYbCIGBEAgAiAJIAsgBxsgBvwKAAALIAIgBmohCAJAAkACQCAHRQRAIAIhBgNAIAkrAwAiGCAYYSAGKwMAIhkgGWFxRQ0CIAsgCSAGIBggGWMiBxsiDSkDEDcDECALIA0pAwg3AwggCyANKQMANwMAIAtBGGohCyAGIAdFQRhsaiIGIAhGDQQgCSAHQRhsaiIJIBdHDQALDAMLIA4hBgNAIAhBGGsiCCsDACIYIBhhIAlBGGsiCSsDACIZIBlhcQRAIAYgCSAIIBggGWMiBxsiDSkDEDcDECAGIA0pAwg3AwggBiANKQMANwMAIAggB0EYbGohCCAJIAdFQRhsaiIJIAtGDQMgBkEYayEGIAIgCEcNAQwDCwtBzI3AABBJAAtBzI3AABBJAAsgCSELIAIhBgsgCCAGayIJRQ0AIAsgBiAJ/AoAAAsgEUEBdEEBcgshCUEBIQYgDCILQQFLDQALDAELIAshBgsgEkGOAmogBmogDzoAACASQQRqIAZBAnRqIAk2AgAgFgRAIAZBAWohCyAKQQF2IBBqIRAgCiEJDAELCyAJQQFxDQAgACABIAIgAyABQQFyZ0EBdEE+c0EAIAUQBQsgEkHQAmokAAuDCwIPfwN8IwBBIGsiECQAAkACQCABQSFJBEAgACABIAIgAxAGDAELIAJBGGshEgJAAkACQAJAAkADQCAERQRAIAAgASACIANBASAGEAQMBwsgACABQQN2IglBqAFsaiEHIAAgCUHgAGxqIQwCfyABQcAATwRAIAAgDCAHIAkgBhAYDAELIAArAwAiFiAWYSIJIAwrAwAiFyAXYSILcUUNBiAJIAcrAwAiGCAYYSIIcUUNCCAAIBYgF2MiCSAWIBhjcw0AGiAIIAtxRQ0IIAcgDCAJIBcgGGNzGwshDSAEQQFrIQQgECANKQMQNwMYIBAgDSkDCDcDECAQIA0pAwA3AwggDSAAa0EYbiEMAkACQCAFBEAgBSsDACIWIBZhIA0rAwAiFyAXYXFFDQogFiAXY0UNAQsgASADSw0GQQAhCyAAIQcgAiABQRhsIhFqIhMhCCAMIQkDQAJAIAcgACAJQRhsaiIPTw0AA0AgBysDACIWIBZhIA0rAwAiFyAXYXEEQCALQRhsIAIgCEEYayIIIBYgF2MiDhtqIgogBykDEDcDECAKIAcpAwg3AwggCiAHKQMANwMAIAsgDmohCyAPIAdBGGoiB0sNAQwCCwtBzI3AABBJAAsgASAJRwRAIAhBGGsiCCALQRhsaiIJIAcpAxA3AxAgCSAHKQMINwMIIAkgBykDADcDACAHQRhqIQcgASEJDAELCyALQRhsIg8EQCAAIAIgD/wKAAALIAEgC2shDgJAIAEgC0YNACAAIA9qIQlBACEIIAtBAWogAUcEQCAOQQFxIA5BfnEhFSARIBJqIQogCSEHA0AgByAKKQMQNwMQIAcgCikDCDcDCCAHIAopAwA3AwAgB0EYaiATIAhB/v///wFzQRhsaiIRKQMANwMAIAdBIGogESkDCDcDACAHQShqIBFBEGopAwA3AwAgCkEwayEKIAdBMGohByAVIAhBAmoiCEcNAAtFDQELIAkgCEEYbGoiByATIAhBf3NBGGxqIgkpAxA3AxAgByAJKQMINwMIIAcgCSkDADcDAAsgC0UNACABIAtJDQUgACAPaiAOIAIgAyAEIBBBCGogBhAFDAELIAEgA0sNBUEAIQogACEHIAIgAUEYbCIPaiIJIQgDQAJAIAcgACAMQRhsaiILTw0AA0AgDSsDACIWIBZhIAcrAwAiFyAXYXEEQCAKQRhsIAhBGGsiCCACIBYgF2MiDhtqIgUgBykDEDcDECAFIAcpAwg3AwggBSAHKQMANwMAIAogDkVqIQogCyAHQRhqIgdLDQEMAgsLQcyNwAAQSQALIAEgDEcEQCACIApBGGxqIgUgBykDEDcDECAFIAcpAwg3AwggBSAHKQMANwMAIAdBGGohByAKQQFqIQogCEEYayEIIAEhDAwBCwsgCkEYbCIFBEAgACACIAX8CgAACyABIApGDQMgASAKayELIAAgBWohAEEAIQUCQCAKQQFqIAFHBEAgC0EBcSALQX5xIQ4gDyASaiEIIAAhBwNAIAcgCCkDEDcDECAHIAgpAwg3AwggByAIKQMANwMAIAdBGGogCSAFQf7///8Bc0EYbGoiDCkDADcDACAHQSBqIAwpAwg3AwAgB0EoaiAMQRBqKQMANwMAIAhBMGshCCAHQTBqIQcgDiAFQQJqIgVHDQALRQ0BCyAAIAVBGGxqIgcgCSAFQX9zQRhsaiIFKQMQNwMQIAcgBSkDCDcDCCAHIAUpAwA3AwALIAEgCkkNAkEAIQULIAsiAUEhTw0ACyAAIAsgAiADEAYMBQsgCiABIAFB9I7AABAUAAsgACABQRhsakEAIAIgAxAGDAMLQdiOwABBE0HkjsAAECkLAAsMAQsgEEEgaiQADwtBzI3AABBJAAu6CAINfwJ8IwBBEGsiCiQAAkACQCABQQJPBEACQCABQRBqIANNBEBBASEIIAIgAUEBdiIMQRhsIgNqIQYgACADaiENAkAgAUEHSwRAIAAgAhAOIA0gBhAOQQQhCAwBCyACIAApAxA3AxAgAiAAKQMINwMIIAIgACkDADcDACAGIA0pAwA3AwAgBiANKQMINwMIIAYgDSkDEDcDEAsgCCAMTw0BIAhBGGwhByAIIQUDQCACIAVBGGwiA2oiCSAAIANqIgQpAwA3AwAgCSAEKQMQNwMQIAkgBCkDCDcDCCAJKwMAIhIgEmEiAyAJQRhrKwMAIhEgEWFxRQ0FIBEgEmQEQCAKIAQpAxA3AwggCiAEKQMINwMAIAchBAJ/A0AgAiAEaiILIAtBGGsiCSkDEDcDECALIAkpAwg3AwggCyAJKQMANwMAIAIgBEEYRg0BGiADIAtBMGsrAwAiESARYXFFDQggBEEYayEEIBEgEmQNAAsgAiAEagsiAyASOQMAIAMgCikDADcDCCADIAopAwg3AxALIAdBGGohByAFQQFqIgUgDEcNAAsMAQsACyABIAxrIgsgCEsEQCAIQRhsIQ9BGCEFIAYhBwNAIAYgCEEYbCIDaiIEIAMgDWoiAykDADcDACAEIAMpAxA3AxAgBCADKQMINwMIIAQrAwAiEiASYiIJIARBGGsrAwAiESARYnINBCARIBJkBEAgCiADKQMQNwMIIAogAykDCDcDACAFIQMgByEEAn8DQCAEIA9qIg4gDkEYayIQKQMQNwMQIA4gECkDCDcDCCAOIBApAwA3AwAgBiADIA9GDQEaIAkgDkEwaysDACIRIBFicg0HIANBGGohAyAEQRhrIQQgESASZA0ACyAEIA9qCyIDIBI5AwAgAyAKKQMANwMIIAMgCikDCDcDEAsgBUEYayEFIAdBGGohByAIQQFqIgggC0cNAAsLIAZBGGshBCACIAFBGGxBGGsiA2ohByAAIANqIQMDQCAGKwMAIhIgEmEgAisDACIRIBFhcUUNAyAAIAYgAiARIBJkIgkbIgUpAxA3AxAgACAFKQMINwMIIAAgBSkDADcDACAHKwMAIhIgEmEgBCsDACIRIBFhcUUNAyADIAQgByARIBJkIggbIgUpAxA3AxAgAyAFKQMINwMIIAMgBSkDADcDACADQRhrIQMgAEEYaiEAIARBaEEAIAgbaiEEIAdBAEFoIAgbaiEHIAYgCUEYbGohBiACIAlFQRhsaiECIAxBAWsiDA0ACyAEQRhqIQUgAUEBcQR/IAAgAiAGIAIgBUkiARsiAykDEDcDECAAIAMpAwg3AwggACADKQMANwMAIAYgAiAFT0EYbGohBiACIAFBGGxqBSACCyAFRyAGIAdBGGpHcg0BCyAKQRBqJAAPC0HTlMAAQZkBQaCVwAAQKQALQbSPwAAQSQALuQUCB38DfCMAQRBrIgYkAAJAAkACQAJAAkACQCAEQQNrDgUAAQEBAAELAkAgA0EBdCIIQf////8BSyADQQR0IgVB+P///wdLcg0AAkAgBUUEQEEIIQlBACEIDAELQQghByAFQQgQSyIJRQ0BCyAGQQA2AgwgBiAJNgIIIAYgCDYCBCAEQQNGDQJBACEFQQAhCANAIAIgCGwhByAIQQFqIgggAmwgA24iBCAHIANuIgdJIAIgBElyDQYgBCAHayEKRAAAAAAAAAAAIQxEAAAAAAAAAAAhDSAEIAdHBEAgASAEQRhsaiELIAEgB0EYbGohBANAIA0gBCsDAKAhDSAMIARBCGorAwCgIQwgBEEYaiIEIAtHDQALCyAGKAIEIAVrQQFNBEAgBkEEaiAFQQJBCEEIEBogBigCCCEJIAYoAgwhBQsgCSAFQQN0aiIEIAw5AwggBCANIAq4ozkDACAGIAVBAmoiBTYCDCADIAhHDQALDAMLIAcgBRA9AAtB+4rAAEEpED8hASAAQYCAgIB4NgIAIAAgATYCBAwCC0EAIQVBACEIA0AgAiAIbCEHIAhBAWoiCCACbCADbiIEIAcgA24iB0kgAiAESXINAyAEIAdrIQpEAAAAAAAAAAAhDEQAAAAAAAAAACENIAQgB0cEQCABIARBGGxqIQsgASAHQRhsaiEEA0AgDSAEKwMAoCENIAwgBEEIaisDAKAhDCAEQRhqIgQgC0cNAAsLIAwgCrgiDKMhDiAGKAIEIAVrQQFNBEAgBkEEaiAFQQJBCEEIEBogBigCCCEJIAYoAgwhBQsgCSAFQQN0aiIEIA45AwggBCANIAyjOQMAIAYgBUECaiIFNgIMIAMgCEcNAAsLIAAgBigCDDYCCCAAIAYpAgQ3AgALIAZBEGokAA8LIAcgBCACQayNwAAQFAALogYBBH8gAEEIayIBIABBBGsoAgAiA0F4cSIAaiECAkACQCADQQFxDQAgA0ECcUUNASABKAIAIgMgAGohACABIANrIgFB3JnAACgCAEYEQCACKAIEQQNxQQNHDQFB1JnAACAANgIAIAIgAigCBEF+cTYCBCABIABBAXI2AgQgAiAANgIADwsgASADEBELAkACQEH0mcAAAn8CQAJAAkACQCACKAIEIgNBAnFFBEAgAkHgmcAAKAIARg0CIAJB3JnAACgCAEYNAyACIANBeHEiAhARIAEgACACaiIAQQFyNgIEIAAgAWogADYCACABQdyZwAAoAgBHDQFB1JnAACAANgIADwsgAiADQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgALIABBgAJJDQQgASAAEBJB9JnAAEH0mcAAKAIAQQFrIgA2AgAgAA0GQbyXwAAoAgAiAA0CQf8fDAMLQeCZwAAgATYCAEHYmcAAQdiZwAAoAgAgAGoiADYCACABIABBAXI2AgRB3JnAACgCACABRgRAQdSZwABBADYCAEHcmcAAQQA2AgALIABB7JnAACgCACICTQ0FQeCZwAAoAgAiAEUNBUHYmcAAKAIAIgNBKUkNBEG0l8AAIQEDQCAAIAEoAgAiBE8EQCAAIAQgASgCBGpJDQYLIAEoAgghAQwACwALQdyZwAAgATYCAEHUmcAAQdSZwAAoAgAgAGoiADYCACABIABBAXI2AgQgACABaiAANgIADwtBACEBA0AgAUEBaiEBIAAoAggiAA0AC0H/HyABIAFB/x9NGws2AgAPCwJAQcyZwAAoAgAiAkEBIABBA3Z0IgNxRQRAQcyZwAAgAiADcjYCACAAQfgBcUHEl8AAaiIAIQIMAQsgAEH4AXEiAEHEl8AAaiECIABBzJfAAGooAgAhAAsgAiABNgIIIAAgATYCDCABIAI2AgwgASAANgIIDwtB9JnAAEG8l8AAKAIAIgAEf0EAIQEDQCABQQFqIQEgACgCCCIADQALQf8fIAEgAUH/H00bBUH/Hws2AgAgAiADTw0AQeyZwABBfzYCAAsLgwsBC38CQAJAIAAoAggiC0GAgIDAAXFFDQACQAJAAkACQCALQYCAgIABcQRAIAAvAQ4iBw0BQQAhAgwCCyACQRBPBEACfwJAAkAgAiABQQNqQXxxIgcgAWsiCUkNACACIAlrIgpBAnYiCEUNACABIAdHBEAgASAHayIHQXxNBEADQCAEIAEgBWoiBiwAAEG/f0pqIAZBAWosAABBv39KaiAGQQJqLAAAQb9/SmogBkEDaiwAAEG/f0pqIQQgBUEEaiIFDQALCyABIAVqIQYDQCAEIAYsAABBv39KaiEEIAZBAWohBiAHQQFqIgcNAAsLIAEgCWohBwJAIApBA3EiBUUNACAHIApB/P///wdxaiIGLAAAQb9/SiEDIAVBAUYNACADIAYsAAFBv39KaiEDIAVBAkYNACADIAYsAAJBv39KaiEDCyADIARqIQUDQCAHIQMgCEUNAkHAASAIIAhBwAFPGyIJQQNxIQoCQCAJQQJ0IgdB8AdxIgRFBEBBACEGDAELIAMgBGohDEEAIQYgAyEEA0AgBiAEKAIAIg1Bf3NBB3YgDUEGdnJBgYKECHFqIARBBGooAgAiBkF/c0EHdiAGQQZ2ckGBgoQIcWogBEEIaigCACIGQX9zQQd2IAZBBnZyQYGChAhxaiAEQQxqKAIAIgZBf3NBB3YgBkEGdnJBgYKECHFqIQYgBEEQaiIEIAxHDQALCyAIIAlrIQggAyAHaiEHIAZBCHZB/4H8B3EgBkH/gfwHcWpBgYAEbEEQdiAFaiEFIApFDQALAn8gAyAJQfwBcUECdGoiAygCACIEQX9zQQd2IARBBnZyQYGChAhxIgQgCkEBRg0AGiAEIAMoAgQiB0F/c0EHdiAHQQZ2ckGBgoQIcWoiBCAKQQJGDQAaIAMoAggiA0F/c0EHdiADQQZ2ckGBgoQIcSAEagsiA0EIdkH/gRxxIANB/4H8B3FqQYGABGxBEHYgBWohBQwBC0EAIAJFDQEaIAJBA3EhBkEAIQcgAkEETwRAIAJBfHEhBANAIAUgASAHaiIDLAAAQb9/SmogA0EBaiwAAEG/f0pqIANBAmosAABBv39KaiADQQNqLAAAQb9/SmohBSAEIAdBBGoiB0cNAAsgBkUNAQsgASAHaiEEA0AgBSAELAAAQb9/SmohBSAEQQFqIQQgBkEBayIGDQALCyAFCyEFDAQLIAJFDQMgAkEDcSEEIAJBBE8EQCACQQxxIQYDQCAFIAEgA2oiBywAAEG/f0pqIAdBAWosAABBv39KaiAHQQJqLAAAQb9/SmogB0EDaiwAAEG/f0pqIQUgBiADQQRqIgNHDQALIARFDQQLIAEgA2ohAwNAIAUgAywAAEG/f0pqIQUgA0EBaiEDIARBAWsiBA0ACwwDCyABIAJqIQZBACECIAEhAyAHIQQDQCADIgUgBkYNAiACAn8gA0EBaiADLAAAIgJBAE4NABogA0ECaiACQWBJDQAaIANBBEEDIAJBb0sbagsiAyAFa2ohAiAEQQFrIgQNAAsLQQAhBAsgByAEayEFCyAFIAAvAQwiA08NACADIAVrIQdBACEFQQAhBAJAAkACQCALQR12QQNxQQFrDgIAAQILIAchBAwBCyAHQf7/A3FBAXYhBAsgC0H///8AcSEIIAAoAgQhBiAAKAIAIQADQCAFQf//A3EgBEH//wNxSQRAQQEhAyAFQQFqIQUgACAIIAYoAhARAQBFDQEMAwsLQQEhAyAAIAEgAiAGKAIMEQIADQFBACEFIAcgBGtB//8DcSEBA0AgBUH//wNxIgIgAUkhAyABIAJNDQIgBUEBaiEFIAAgCCAGKAIQEQEARQ0ACwwBCyAAKAIAIAEgAiAAKAIEKAIMEQIAIQMLIAML+wMBCH8jAEEQayIGJAACfwJAIANBAXFFBEAgAi0AACIFDQFBAAwCCyAAIAIgA0EBdiABKAIMEQIADAELIAEoAgwhCgNAIAJBAWohBAJAAkACQAJAIAXAQQBIBEAgBUH/AXEiCEGAAUYNASAIQcABRw0DIAYgATYCBCAGIAA2AgAgBkKggICABjcCCCADIAdBA3RqIgIoAgAgBiACKAIEEQEARQ0CQQEMBgsgACAEIAVB/wFxIgIgChECAEUEQCACIARqIQIMBAtBAQwFCyAAIAJBA2oiBCACLwABIgIgChECAEUEQCACIARqIQIMAwtBAQwECyAHQQFqIQcgBCECDAELQaCAgIAGIQsgBUEBcQRAIAIoAAEhCyACQQVqIQQLQQAhCAJ/IAVBAnFFBEBBACEJIAQMAQsgBC8AACEJIARBAmoLIQIgBUEEcQR/IAIvAAAhCCACQQJqBSACCyEEIAVBCHEEfyAELwAAIQcgBEECagUgBAshAiAFQRBxBEAgAyAJQQN0ai8BBCEJCyAGIAVBIHEEfyADIAhBA3RqLwEEBSAICzsBDiAGIAk7AQwgBiALNgIIIAYgATYCBCAGIAA2AgBBASADIAdBA3RqIgQoAgAgBiAEKAIEEQEADQIaIAdBAWohBwsgAi0AACIFDQALQQALIAZBEGokAAvaBwIIfwN8IwBBIGsiCCQAAkACQCACIARGBEAgAkEYbCEEIAJB1arVKksNAkEIIQUgBARAQQghBiAEQQgQSyIFRQ0DIAIhBgsgCCAFNgIQIAggBjYCDEQAAAAAAADw/yEOQQAhBkEBIQoDQCAIIAc2AhQgBiACIAIgBkkbIQsgAyAGQQN0IgRqIQUgASAEaiEEAkADQCAGIAtGDQEgBSIJQQhqIQUgDEEBaiEMIAZBAWohBiAEKwMAIQ0gBEEIaiEEIA29Qv///////////wCDQv/////////3/wBWDQAgCSsDACIPvUL///////////8Ag0L/////////9/8AVg0ACyAIKAIMIAdGBEAjAEEQayIEJAAgBEEEaiAIQQxqIgUoAgAiCSAFKAIEQQQgCUEBdCIJIAlBBE0bIglBCEEYEBwgBCgCBEEBRgRAIAQoAgggBCgCDBA9AAsgBCgCCCELIAUgCTYCACAFIAs2AgQgBEEQaiQACyANIA5jRSAKcSEKIAgoAhAgB0EYbGoiBCAMQQFrNgIQIAQgDzkDCCAEIA05AwAgB0EBaiEHIA0hDgwBCwsCQCAKDQAgCCgCECEBIAggCEEfajYCGCAHQQJJDQAgB0EVTwRAIAhBGGohA0EAIQQjAEGAIGsiBiQAAkACQEGVrBQgByAHQZWsFE8bIgIgByAHQQF2ayIFIAIgBUsbIglBqwFPBEAgCUEYbCECIAVB1arVKksNAkEIIQQgAkEIEEsiBUUNAiABIAcgBSAJIAdBwQBJIAMQBCAFIAJBCBBHDAELIAEgByAGQaoBIAdBwQBJIAMQBAsgBkGAIGokAAwCCyAEIAIQPQALIwBBEGsiBiQAAkACQAJAIAcEQCAHQQFHBEAgASAHQRhsaiEHIAFBGCIDaiEEA0AgBCsDACINIA1hIgogBEEYaysDACIOIA5hcUUNAyANIA5jBEAgBiAEKQMQNwMIIAYgBCkDCDcDACADIQICfwNAIAEgAmoiBSAFQRhrIgkpAxA3AxAgBSAJKQMINwMIIAUgCSkDADcDACABIAJBGEYNARogCiAFQTBrKwMAIg4gDmFxRQ0HIAJBGGshAiANIA5jDQALIAEgAmoLIgIgDTkDACACIAYpAwA3AwggAiAGKQMINwMQCyADQRhqIQMgBEEYaiIEIAdHDQALCyAGQRBqJAAMAwsAC0G0j8AAEEkAC0G0j8AAEEkACwsgACAIKAIUNgIIIAAgCCkCDDcCAAwBC0HXi8AAQSEQPyEBIABBgICAgHg2AgAgACABNgIECyAIQSBqJAAPCyAGIAQQPQALjwQBAn8gACABaiECAkACQCAAKAIEIgNBAXENACADQQJxRQ0BIAAoAgAiAyABaiEBIAAgA2siAEHcmcAAKAIARgRAIAIoAgRBA3FBA0cNAUHUmcAAIAE2AgAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCACIAE2AgAMAgsgACADEBELAkACQAJAIAIoAgQiA0ECcUUEQCACQeCZwAAoAgBGDQIgAkHcmcAAKAIARg0DIAIgA0F4cSICEBEgACABIAJqIgFBAXI2AgQgACABaiABNgIAIABB3JnAACgCAEcNAUHUmcAAIAE2AgAPCyACIANBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsgAUGAAk8EQCAAIAEQEg8LAkBBzJnAACgCACICQQEgAUEDdnQiA3FFBEBBzJnAACACIANyNgIAIAFB+AFxQcSXwABqIgEhAgwBCyABQfgBcSIBQcSXwABqIQIgAUHMl8AAaigCACEBCyACIAA2AgggASAANgIMIAAgAjYCDCAAIAE2AggPC0HgmcAAIAA2AgBB2JnAAEHYmcAAKAIAIAFqIgE2AgAgACABQQFyNgIEIABB3JnAACgCAEcNAUHUmcAAQQA2AgBB3JnAAEEANgIADwtB3JnAACAANgIAQdSZwABB1JnAACgCACABaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgALC7cDAQV/AkACQAJAAkACQAJAAkAgASACSwRAIAIOAwIDBAELAkAgAUUEQEEEIQQMAQsgAUECdCICQQQQSyIERQ0FIAFBB3EhBUEAIQIgAUEITwRAIAFB+P//P3EhBwNAIAQgBmoiAyACNgIAIANBHGogAkEHajYCACADQRhqIAJBBmo2AgAgA0EUaiACQQVqNgIAIANBEGogAkEEajYCACADQQxqIAJBA2o2AgAgA0EIaiACQQJqNgIAIANBBGogAkEBajYCACAGQSBqIQYgAkEIaiICIAdHDQALIAVFDQELIAQgAkECdGohAwNAIAMgAjYCACADQQRqIQMgAkEBaiECIAVBAWsiBQ0ACwsgACABNgIIIAAgBDYCBCAAIAE2AgAPCyAAQYCAgIB4NgIADwsgAEEANgIIIABCgICAgMAANwIADwtBBEEEEEsiAUUNAiAAQQE2AgggACABNgIEIABBATYCACABQQA2AgAPC0EIQQQQSyICRQ0CIAJBADYCACAAQQI2AgggACACNgIEIABBAjYCACACIAFBAWs2AgQPC0EEIAIQPQALQQRBBBBOAAtBBEEIEE4AC/YCAgd/BHwgACsDGCIJIAlhIAArAwAiCiAKYXEEQAJAIAArA0giCyALYSAAKwMwIgwgDGFxRQ0AIABByABBMCALIAxjIgMbaiICKwMAIgsgC2EgACAJIApjIgRBGGxqIgUrAwAiCSAJYXFFDQAgAEEwQcgAIAMbaiIDKwMAIgogCmEgACAERUEYbGoiACsDACIMIAxhcUUNACADIAAgAiAJIAtkIgQbIAogDGMiBhsiBysDACIJIAlhIAUgAiAAIAYbIAQbIggrAwAiCiAKYXFFDQAgASACIAUgBBsiAikDEDcDECABIAIpAwg3AwggASACKQMANwMAIAEgByAIIAkgCmMiBRsiAikDEDcDKCABIAIpAwg3AyAgASACKQMANwMYIAEgCCAHIAUbIgIpAxA3A0AgASACKQMINwM4IAEgAikDADcDMCABIAAgAyAGGyIAKQMANwNIIAEgACkDCDcDUCABIAApAxA3A1gPCwtBtI/AABBJAAuKAwEEfyAAKAIYIgFBgICAgHhGIAFFckUEQCAAKAIcIAFBA3RBCBBHCyAAKAIwIgEEQCAAKAI0IAFBA3RBCBBHCyAAKAIkIgFBgICAgHhGIAFFckUEQCAAKAIoIAFBAnRBBBBHCyAAKAJAIQMgACgCRCIEBEAgAyEBA0ACQCABKAIAIgJBgICAgHhGDQAgAgRAIAFBBGooAgAgAkECdEEEEEcLIAFBDGooAgAiAkUNACABQRBqKAIAIAJBAnRBBBBHCyABQRhqIQEgBEEBayIEDQALCyAAKAI8IgEEQCADIAFBGGxBBBBHCyAAKAJMIQMgACgCUCIEBEAgAyEBA0ACQCABKAIAIgJBgICAgHhGDQAgAgRAIAFBBGooAgAgAkEDdEEIEEcLIAFBDGooAgAiAgRAIAFBEGooAgAgAkEDdEEIEEcLIAFBGGooAgAiAkUNACABQRxqKAIAIAJBAnRBBBBHCyABQSRqIQEgBEEBayIEDQALCyAAKAJIIgAEQCADIABBJGxBBBBHCwvnAgEFfwJAIAFBzf97QRAgACAAQRBNGyIAa08NACAAQRAgAUELakF4cSABQQtJGyIEakEMahACIgJFDQAgAkEIayEBAkAgAEEBayIDIAJxRQRAIAEhAAwBCyACQQRrIgUoAgAiBkF4cSACIANqQQAgAGtxQQhrIgIgAEEAIAIgAWtBEE0baiIAIAFrIgJrIQMgBkEDcQRAIAAgAyAAKAIEQQFxckECcjYCBCAAIANqIgMgAygCBEEBcjYCBCAFIAIgBSgCAEEBcXJBAnI2AgAgASACaiIDIAMoAgRBAXI2AgQgASACEAwMAQsgASgCACEBIAAgAzYCBCAAIAEgAmo2AgALAkAgACgCBCIBQQNxRQ0AIAFBeHEiAiAEQRBqTQ0AIAAgBCABQQFxckECcjYCBCAAIARqIgEgAiAEayIEQQNyNgIEIAAgAmoiAiACKAIEQQFyNgIEIAEgBBAMCyAAQQhqIQMLIAMLggMBBH8gACgCDCECAkACQAJAIAFBgAJPBEAgACgCGCEDAkACQCAAIAJGBEAgAEEUQRAgACgCFCICG2ooAgAiAQ0BQQAhAgwCCyAAKAIIIgEgAjYCDCACIAE2AggMAQsgAEEUaiAAQRBqIAIbIQQDQCAEIQUgASICQRRqIAJBEGogAigCFCIBGyEEIAJBFEEQIAEbaigCACIBDQALIAVBADYCAAsgA0UNAgJAIAAoAhxBAnRBtJbAAGoiASgCACAARwRAIAMoAhAgAEYNASADIAI2AhQgAg0DDAQLIAEgAjYCACACRQ0EDAILIAMgAjYCECACDQEMAgsgACgCCCIAIAJHBEAgACACNgIMIAIgADYCCA8LQcyZwABBzJnAACgCAEF+IAFBA3Z3cTYCAA8LIAIgAzYCGCAAKAIQIgEEQCACIAE2AhAgASACNgIYCyAAKAIUIgBFDQAgAiAANgIUIAAgAjYCGA8LDwtB0JnAAEHQmcAAKAIAQX4gACgCHHdxNgIAC8MCAQR/IABCADcCECAAAn9BACABQQh2IgNFDQAaQR8gAUGAgIAITw0AGiABQSYgA2ciA2t2QQFxIANBAXRyQT5zCyICNgIcIAJBAnRBtJbAAGohBEEBIAJ0IgNB0JnAACgCAHFFBEAgBCAANgIAIAAgBDYCGCAAIAA2AgwgACAANgIIQdCZwABB0JnAACgCACADcjYCAA8LAkACQCABIAQoAgAiAygCBEF4cUYEQCADIQIMAQsgAUEZIAJBAXZrQQAgAkEfRxt0IQUDQCADIAVBHXZBBHFqIgQoAhAiAkUNAiAFQQF0IQUgAiEDIAIoAgRBeHEgAUcNAAsLIAIoAggiASAANgIMIAIgADYCCCAAQQA2AhggACACNgIMIAAgATYCCA8LIARBEGogADYCACAAIAM2AhggACAANgIMIAAgADYCCAvEAgIHfwJ8IAEoAgQhBCABKAIAIQcCQAJAAkAgACgCBCICIAAoAggiCEkEQCAAKAIAIQMgAkECdCEGIAJBA3QhBSABKAIIIARBGGxqIQEDQAJ8IAMoAhhBgICAgHhHBEAgAiADKAIgIgBPDQUgAygCHCAFaisDAAwBCyACIQAgAygCJEGAgICAeEcEQCACIAMoAiwiAE8NBCADKAIoIAZqKAIAIQALIAMrAwAgAysDCCAAuKKgCyEJIAIgAygCOCIATw0EIAMoAjQgBWorAwAhCiABQRBqIAI2AgAgAUEIaiAKOQMAIAEgCTkDACAGQQRqIQYgBUEIaiEFIAFBGGohASAEQQFqIQQgCCACQQFqIgJHDQALCyAHIAQ2AgAPCyACIABBiIzAABAmAAsgAiAAQfiLwAAQJgALIAIgAEGEj8AAECYAC44CAgF/AX4jAEEgayIEJAACQAJAAkAgACACTQRAIAEgAksNAUKAgICAwAIhBSAAIAFNDQIgBCAANgIIIAQgATYCDCAEIAUgBEEMaq2ENwMYIAQgBSAEQQhqrYQ3AxBBgIDAACAEQRBqIAMQKQALIAQgADYCCCAEIAI2AgwgBEKAgICAwAIiBSAEQQxqrYQ3AxggBCAFIARBCGqthDcDEEHfgMAAIARBEGogAxApAAsgBCABNgIIIAQgAjYCDCAEQoCAgIDAAiIFIARBDGqthDcDGAwBCyAEIAE2AgggBCACNgIMIAQgBSAEQQxqrYQ3AxgLIAQgBSAEQQhqrYQ3AxBBmIHAACAEQRBqIAMQKQAL5wUCCn8BfiMAQRBrIgYkAEEKIQIgACgCACIEIQAgBEHoB08EQANAIAZBBmogAmoiA0EEayAAIgUgAEGQzgBuIgBBkM4AbGsiB0H//wNxQeQAbiIIQQF0LwDSkkA7AAAgA0ECayAHIAhB5ABsa0H//wNxQQF0LwDSkkA7AAAgAkEEayECIAVB/6ziBEsNAAsLIABBCUsEQCACQQJrIgIgBkEGamogACAAQf//A3FB5ABuIgBB5ABsa0H//wNxQQF0LwDSkkA7AAALQQAgBCAAG0UEQCACQQFrIgIgBkEGamogAEEBdC0A05JAOgAACwJ/IAZBBmogAmohB0EAIQRBK0GAgMQAIAEoAggiA0GAgIABcSIAGyEIIANBgICABHFFRSEKAkBBCiACayILIABBFXZqIgAgAS8BDCIFSQRAAkACQCADQYCAgAhxRQRAIAUgAGshBUEAIQACQAJAAkAgA0EddkEDcUEBaw4DAAEAAgsgBSEADAELIAVB/v8DcUEBdiEACyADQf///wBxIQkgASgCBCEDIAEoAgAhAQNAIARB//8DcSAAQf//A3FPDQJBASECIARBAWohBCABIAkgAygCEBEBAEUNAAsMBAsgASABKQIIIgynQYCAgP95cUGwgICAAnI2AghBASECIAEoAgAiAyABKAIEIgkgCCAKECwNAyAFIABrQf//A3EhAANAIARB//8DcSAATw0CIARBAWohBCADQTAgCSgCEBEBAEUNAAsMAwtBASECIAEgAyAIIAoQLA0CIAEgByALIAMoAgwRAgANAkEAIQQgBSAAa0H//wNxIQADQCAEQf//A3EiBSAASSECIAAgBU0NAyAEQQFqIQQgASAJIAMoAhARAQBFDQALDAILIAMgByALIAkoAgwRAgANASABIAw3AghBAAwCC0EBIQIgASgCACIAIAEoAgQiASAIIAoQLA0AIAAgByALIAEoAgwRAgAhAgsgAgsgBkEQaiQAC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQHSAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHo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gIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYC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IQ4gAyEKIwBB8ABrIgckAAJ/AkAgBL0iEEL///////////8Ag0KAgICAgICA+P8AWg0AIAW9IhFC////////////AIMiD1AgEUIAUyIIIA9CAX1C/////////wdUcXIgD0KAgICAgICA+P8AUXIgD0KAgICAgICA+P8AVXIgD0KAgICAgICACH1CgICAgICAgPD/AFQgCHFyDQAgAUEDdCELQQAhCAJAA0AgCCALRg0BIAAgCGogCEEIaiEIKQMAQv///////////wCDQv/////////3/wBYDQALQcmIwABBLBA/rSEQIAdBGGohCUGAgICAeAwCCwJAIApFDQAgASAKRgRAIAFBAWohCSACIQgDQCAJQQFrIglBAkkNAiAIKAIAIQsgCyAIQQRqIggoAgBNDQALC0GciMAAQS0QP60hECAHQRhqIQlBgICAgHgMAgsCQCABRQRAQQghCwwBCyABQQN0IghBCBBLIgsEQCAIRQ0BIAsgACAI/AoAAAwBC0EIIAgQPQALAkACQCAKRQRAQYCAgIB4IQoMAQsgCkECdCIJQQQQSyIIRQ0BIAkEQCAIIAIgCfwKAAALIAitIAqtQiCGhCEPC0QAAAAAAADwPyAFoyEEIAdBADYCGCAHQRBqIQlBAAwCC0EEIAkQPQALQfWIwABBNhA/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYC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ZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
2745
- let t = Vr();
2751
+ let t = Hr();
2746
2752
  (typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
2747
- let { instance: n, module: r } = await ai(await e, t);
2748
- return ii(n, r);
2753
+ let { instance: n, module: r } = await oi(await e, t);
2754
+ return ai(n, r);
2749
2755
  }
2750
2756
  //#endregion
2751
2757
  //#region src/core/wasmSampling.ts
2752
- var si = {
2758
+ var ci = {
2753
2759
  none: 0,
2754
2760
  peak: 1,
2755
2761
  lttb: 2,
@@ -2758,24 +2764,24 @@ var si = {
2758
2764
  max: 5,
2759
2765
  minmax: 6,
2760
2766
  sum: 7
2761
- }, ci;
2762
- function li(e, t) {
2767
+ }, li;
2768
+ function ui(e, t) {
2763
2769
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
2764
2770
  }
2765
- function ui(e) {
2771
+ function di(e) {
2766
2772
  if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
2767
2773
  }
2768
- function di(e) {
2769
- return ci ??= Promise.resolve(oi(e)).then(() => void 0), ci;
2774
+ function fi(e) {
2775
+ return li ??= Promise.resolve(si(e)).then(() => void 0), li;
2770
2776
  }
2771
- async function fi(e) {
2772
- ui(e), await di();
2773
- let t = li(e.targetPointCount, e.x.length), n = si[e.strategy];
2777
+ async function pi(e) {
2778
+ di(e), await fi();
2779
+ let t = ui(e.targetPointCount, e.x.length), n = ci[e.strategy];
2774
2780
  if (e.strategy !== "average" && e.strategy !== "sum") return {
2775
2781
  kind: "source-indexes",
2776
- sourceIndexes: Br(e.x, e.y, n, t)
2782
+ sourceIndexes: Vr(e.x, e.y, n, t)
2777
2783
  };
2778
- let r = zr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2784
+ let r = Br(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2779
2785
  for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
2780
2786
  return {
2781
2787
  kind: "aggregates",
@@ -2783,28 +2789,28 @@ async function fi(e) {
2783
2789
  y: a
2784
2790
  };
2785
2791
  }
2786
- async function pi(e, t) {
2792
+ async function mi(e, t) {
2787
2793
  if (e.length !== t.length) throw Error("x and y must have the same length");
2788
- await di();
2789
- let n = Lr(e, t);
2794
+ await fi();
2795
+ let n = Rr(e, t);
2790
2796
  return n.length === 4 ? {
2791
2797
  x: [n[0], n[1]],
2792
2798
  y: [n[2], n[3]]
2793
2799
  } : void 0;
2794
2800
  }
2795
- async function mi(e, t, n) {
2801
+ async function hi(e, t, n) {
2796
2802
  if (e.length !== t.length) throw Error("x and y must have the same length");
2797
- await di();
2798
- let r = Rr(e, t, n[0], n[1]);
2803
+ await fi();
2804
+ let r = zr(e, t, n[0], n[1]);
2799
2805
  return [r[0], r[1]];
2800
2806
  }
2801
2807
  //#endregion
2802
2808
  //#region src/components/core/useWaveformLayout.ts
2803
- function hi(e) {
2809
+ function gi(e) {
2804
2810
  let { props: n, preparedSeries: r, currentPage: i, hiddenSeriesIdSet: a, chartWidth: o, innerHeight: s, isCleanView: c, sharedTransform: l, independentTransforms: u, sharedYDomains: d, independentYDomains: f, annotationInteraction: p, linePointOverrides: m } = e, h = t(() => r.value.map((e, t) => ({
2805
2811
  ...e,
2806
2812
  color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
2807
- }))), g = t(() => Rn(n.grid)), _ = t(() => {
2813
+ }))), g = t(() => zn(n.grid)), _ = t(() => {
2808
2814
  let e = /* @__PURE__ */ new Map();
2809
2815
  h.value.forEach((t) => {
2810
2816
  let n = t.trackId || t.id, r = e.get(n);
@@ -2823,18 +2829,18 @@ function hi(e) {
2823
2829
  yDomain: o.length ? ht(o) : [0, 1]
2824
2830
  };
2825
2831
  });
2826
- }), v = t(() => wn(n.rendering)), y = t(() => Bn(_.value.length, g.value)), b = t(() => Vn(_.value, i.value, g.value)), x = t(() => {
2832
+ }), v = t(() => Tn(n.rendering)), y = t(() => Vn(_.value.length, g.value)), b = t(() => Hn(_.value, i.value, g.value)), x = t(() => {
2827
2833
  let e = b.value.filter((e) => e.series.length > 0);
2828
2834
  return g.value.fillIncompleteLastRow && e.length > 0 ? e : b.value;
2829
2835
  }), S = t(() => {
2830
- let e = _.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => ar(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => or(e.domain, n.axes?.y?.nice !== !1, void 0, e.seriesList[0]?.unit, n.axes?.y?.splitNumber).tickTextWidth), t = Math.max(7, ...e), r = t + 7 + 4, i = -(7 + t + 0 + 12 / 2);
2836
+ let e = _.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => or(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => sr(e.domain, n.axes?.y?.nice !== !1, void 0, e.seriesList[0]?.unit, n.axes?.y?.splitNumber).tickTextWidth), t = Math.max(7, ...e), r = t + 7 + 4, i = -(7 + t + 0 + 12 / 2);
2831
2837
  return {
2832
2838
  tickClearance: r,
2833
2839
  fullClearance: t + 7 + 0 + 12 + 4,
2834
2840
  labelCenterX: i
2835
2841
  };
2836
2842
  }), C = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), w = t(() => _.value.some((e) => e.visibleSeries.length > 0)), T = t(() => Math.max(Lt.left, C.value ? S.value.fullClearance : w.value ? S.value.tickClearance : 0)), E = t(() => _.value.reduce((e, t) => {
2837
- let r = lr(t, n.overlayMode, n.yDomain, n.yDomains, n.axes?.y?.splitNumber, n.axes?.y?.nice !== !1);
2843
+ let r = ur(t, n.overlayMode, n.yDomain, n.yDomains, n.axes?.y?.splitNumber, n.axes?.y?.nice !== !1);
2838
2844
  return {
2839
2845
  left: Math.max(e.left, r.left),
2840
2846
  right: Math.max(e.right, r.right)
@@ -2843,7 +2849,7 @@ function hi(e) {
2843
2849
  left: 0,
2844
2850
  right: 0
2845
2851
  })), D = t(() => n.overlayMode === "multi-axis" ? Math.max(T.value, E.value.left) : T.value), O = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, E.value.right) : Lt.right), k = t(() => Math.max(0, o.value - D.value - O.value)), A = t(() => {
2846
- let e = Hn(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, S.value.fullClearance), a = Math.max(e, S.value.tickClearance), o = (k.value - i * Math.max(0, t - 1)) / t >= 120;
2852
+ let e = Un(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, S.value.fullClearance), a = Math.max(e, S.value.tickClearance), o = (k.value - i * Math.max(0, t - 1)) / t >= 120;
2847
2853
  return {
2848
2854
  horizontalGap: n.overlayMode === "multi-axis" && r && w.value ? Math.max(e, E.value.left + E.value.right) : r && w.value ? C.value && o ? i : a : e,
2849
2855
  hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && C.value && !o
@@ -2855,14 +2861,14 @@ function hi(e) {
2855
2861
  }), ht(e);
2856
2862
  }), L = t(() => {
2857
2863
  let e = n.initialXDomain;
2858
- return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? qn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : qn(I.value, n.xDomainStrategy);
2864
+ return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Jn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Jn(I.value, n.xDomainStrategy);
2859
2865
  }), R = (e) => {
2860
2866
  let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
2861
- return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? qn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : qn(ht(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
2862
- }, z = t(() => l.value.rescaleX(U(L.value, [0, k.value])).domain()), B = t(() => Un(k.value, s.value, g.value, n.displayMode, x.value.map(Boolean), A.value.horizontalGap).map((e, t) => ({
2867
+ return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Jn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Jn(ht(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
2868
+ }, z = t(() => l.value.rescaleX(U(L.value, [0, k.value])).domain()), B = t(() => Wn(k.value, s.value, g.value, n.displayMode, x.value.map(Boolean), A.value.horizontalGap).map((e, t) => ({
2863
2869
  ...e,
2864
2870
  series: x.value[t]
2865
- }))), V = t(() => Yn({
2871
+ }))), V = t(() => Xn({
2866
2872
  cells: B.value,
2867
2873
  grid: g.value,
2868
2874
  displayMode: n.displayMode,
@@ -2930,13 +2936,13 @@ function hi(e) {
2930
2936
  }
2931
2937
  };
2932
2938
  }
2933
- var gi = 1e-6;
2934
- function _i(e) {
2939
+ var _i = 1e-6;
2940
+ function vi(e) {
2935
2941
  return Number.isFinite(e) ? Math.max(1, e) : 1;
2936
2942
  }
2937
- function vi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
2938
- let i = _i(e), a = _i(t), o = _i(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
2939
- if (!(d > gi && Math.abs(d - 360) > gi)) {
2943
+ function yi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
2944
+ let i = vi(e), a = vi(t), o = vi(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
2945
+ if (!(d > _i && Math.abs(d - 360) > _i)) {
2940
2946
  let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
2941
2947
  return {
2942
2948
  textWidth: t,
@@ -2961,7 +2967,7 @@ function vi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
2961
2967
  }
2962
2968
  //#endregion
2963
2969
  //#region src/components/core/useWaveformPresentation.ts
2964
- function yi(e) {
2970
+ function bi(e) {
2965
2971
  let { props: n, observedWidth: r, observedHeight: i, measuredTitleWidth: a, measuredTitleHeight: o, internalHiddenSeriesIds: s, paginationBandHeight: c } = e, l = t(() => Number.isFinite(n.width) ? Math.max(0, n.width ?? 0) : void 0), u = t(() => Number.isFinite(n.height) ? Math.max(180, n.height ?? 0) : void 0), d = t(() => r.value > 0 ? r.value : l.value ?? 0), f = t(() => i.value > 0 ? i.value : u.value ?? 180), p = t(() => ({
2966
2972
  width: l.value === void 0 ? "100%" : `${l.value}px`,
2967
2973
  height: u.value === void 0 ? "100%" : `${u.value}px`
@@ -3006,7 +3012,7 @@ function yi(e) {
3006
3012
  maxWidth: O.value ? "none" : `${j.value}px`,
3007
3013
  whiteSpace: O.value ? "nowrap" : "normal",
3008
3014
  overflowWrap: O.value ? "normal" : "anywhere"
3009
- })), N = t(() => vi({
3015
+ })), N = t(() => yi({
3010
3016
  naturalWidth: a.value || A.value,
3011
3017
  naturalHeight: o.value || E.value * 1.2,
3012
3018
  availableWidth: j.value,
@@ -3062,66 +3068,66 @@ function yi(e) {
3062
3068
  }
3063
3069
  //#endregion
3064
3070
  //#region src/core/samplingReferenceValues.ts
3065
- function bi(e, t) {
3071
+ function xi(e, t) {
3066
3072
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3067
3073
  }
3068
- function xi(e, t, n, r) {
3074
+ function Si(e, t, n, r) {
3069
3075
  let i = r - n;
3070
3076
  return {
3071
3077
  start: n + Math.floor(e * i / t),
3072
3078
  end: n + Math.floor((e + 1) * i / t)
3073
3079
  };
3074
3080
  }
3075
- function Si(e, t) {
3081
+ function Ci(e, t) {
3076
3082
  e[e.length - 1] !== t && e.push(t);
3077
3083
  }
3078
- function Ci(e, t, n) {
3084
+ function wi(e, t, n) {
3079
3085
  if (e <= t) return Array.from({ length: e }, (e, t) => t);
3080
3086
  if (t === 1) return [0];
3081
3087
  if (t === 2) return [0, e - 1];
3082
3088
  let r = [0];
3083
- return n().forEach((e) => Si(r, e)), Si(r, e - 1), r;
3089
+ return n().forEach((e) => Ci(r, e)), Ci(r, e - 1), r;
3084
3090
  }
3085
- function wi(e, t, n) {
3091
+ function Ti(e, t, n) {
3086
3092
  let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
3087
- return Ci(e.length, t, () => {
3093
+ return wi(e.length, t, () => {
3088
3094
  if (!r) return [];
3089
3095
  let t = [];
3090
3096
  for (let i = 0; i < r; i += 1) {
3091
- let a = xi(i, r, 1, e.length - 1), o = a.start, s = a.start;
3097
+ let a = Si(i, r, 1, e.length - 1), o = a.start, s = a.start;
3092
3098
  for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
3093
- n === "min" ? Si(t, o) : n === "max" ? Si(t, s) : o <= s ? (Si(t, o), Si(t, s)) : (Si(t, s), Si(t, o));
3099
+ n === "min" ? Ci(t, o) : n === "max" ? Ci(t, s) : o <= s ? (Ci(t, o), Ci(t, s)) : (Ci(t, s), Ci(t, o));
3094
3100
  }
3095
3101
  return t;
3096
3102
  });
3097
3103
  }
3098
- function Ti(e, t) {
3104
+ function Ei(e, t) {
3099
3105
  let n = Math.floor((t - 2) / 4);
3100
- return Ci(e.length, t, () => {
3106
+ return wi(e.length, t, () => {
3101
3107
  if (!n) return [];
3102
3108
  let t = [];
3103
3109
  for (let r = 0; r < n; r += 1) {
3104
- let i = xi(r, n, 1, e.length - 1), a = i.start, o = i.start;
3110
+ let i = Si(r, n, 1, e.length - 1), a = i.start, o = i.start;
3105
3111
  for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
3106
3112
  [
3107
3113
  i.start,
3108
3114
  a,
3109
3115
  o,
3110
3116
  i.end - 1
3111
- ].sort((e, t) => e - t).forEach((e) => Si(t, e));
3117
+ ].sort((e, t) => e - t).forEach((e) => Ci(t, e));
3112
3118
  }
3113
3119
  return t;
3114
3120
  });
3115
3121
  }
3116
- function Ei(e, t, n) {
3117
- return Ci(e.length, n, () => {
3122
+ function Di(e, t, n) {
3123
+ return wi(e.length, n, () => {
3118
3124
  let r = (e.length - 2) / (n - 2), i = [], a = 0;
3119
3125
  for (let o = 0; o < n - 2; o += 1) {
3120
3126
  let s = Math.min(e.length, Math.floor((o + 1) * r) + 1), c = Math.min(e.length, Math.floor((o + 2) * r) + 1), l = 0, u = 0;
3121
3127
  for (let n = s; n < c; n += 1) l += e[n], u += t[n];
3122
3128
  let d = c - s;
3123
3129
  d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
3124
- let f = xi(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3130
+ let f = Si(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3125
3131
  for (let n = f.start; n < f.end; n += 1) {
3126
3132
  let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
3127
3133
  r > m && (m = r, p = n);
@@ -3131,10 +3137,10 @@ function Ei(e, t, n) {
3131
3137
  return i;
3132
3138
  });
3133
3139
  }
3134
- function Di(e, t, n, r) {
3135
- let i = bi(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3140
+ function Oi(e, t, n, r) {
3141
+ let i = xi(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3136
3142
  for (let n = 0; n < i; n += 1) {
3137
- let s = xi(n, i, 0, e.length);
3143
+ let s = Si(n, i, 0, e.length);
3138
3144
  for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
3139
3145
  let c = s.end - s.start;
3140
3146
  a[n] /= c, r === "average" && (o[n] /= c);
@@ -3145,10 +3151,10 @@ function Di(e, t, n, r) {
3145
3151
  y: o
3146
3152
  };
3147
3153
  }
3148
- function Oi(e, t, n, r) {
3154
+ function ki(e, t, n, r) {
3149
3155
  if (e.length !== t.length) throw Error("x and y must have the same length");
3150
- if (n === "average" || n === "sum") return Di(e, t, r, n);
3151
- let i = bi(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Ti(t, i) : n === "lttb" ? Ei(e, t, i) : wi(t, i, n);
3156
+ if (n === "average" || n === "sum") return Oi(e, t, r, n);
3157
+ let i = xi(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Ei(t, i) : n === "lttb" ? Di(e, t, i) : Ti(t, i, n);
3152
3158
  return {
3153
3159
  kind: "source-indexes",
3154
3160
  sourceIndexes: Uint32Array.from(a)
@@ -3156,41 +3162,41 @@ function Oi(e, t, n, r) {
3156
3162
  }
3157
3163
  //#endregion
3158
3164
  //#region src/core/workerSampling/javascriptBackend.ts
3159
- var ki = {
3165
+ var Ai = {
3160
3166
  kind: "javascript",
3161
3167
  sample(e) {
3162
- return Oi(e.x, e.y, e.strategy, e.targetPointCount);
3168
+ return ki(e.x, e.y, e.strategy, e.targetPointCount);
3163
3169
  }
3164
- }, Ai = 8 * 1024 * 1024;
3165
- function ji(e, t) {
3170
+ }, ji = 8 * 1024 * 1024;
3171
+ function Mi(e, t) {
3166
3172
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3167
3173
  }
3168
- function Mi(e, t, n, r) {
3174
+ function Ni(e, t, n, r) {
3169
3175
  let i = r - n;
3170
3176
  return {
3171
3177
  start: n + Math.floor(e * i / t),
3172
3178
  end: n + Math.floor((e + 1) * i / t)
3173
3179
  };
3174
3180
  }
3175
- function Ni(e, t) {
3181
+ function Pi(e, t) {
3176
3182
  e[e.length - 1] !== t && e.push(t);
3177
3183
  }
3178
- function Pi(e) {
3184
+ function Fi(e) {
3179
3185
  return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
3180
3186
  }
3181
- function Fi(e, t) {
3187
+ function Ii(e, t) {
3182
3188
  let n = 1;
3183
3189
  for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
3184
3190
  return n;
3185
3191
  }
3186
- var Ii = class {
3192
+ var Li = class {
3187
3193
  points;
3188
3194
  extremaLayers = [];
3189
3195
  sumLayers = [];
3190
3196
  indexBytes = 0;
3191
3197
  maxBytes;
3192
3198
  constructor(e, t = {}) {
3193
- this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Ai;
3199
+ this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : ji;
3194
3200
  }
3195
3201
  get byteLength() {
3196
3202
  return this.indexBytes;
@@ -3199,7 +3205,7 @@ var Ii = class {
3199
3205
  this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
3200
3206
  }
3201
3207
  sample(e, t, n, r) {
3202
- let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = ji(r, o);
3208
+ let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = Mi(r, o);
3203
3209
  if (n !== "lttb") return n === "average" || n === "sum" ? this.aggregate(i, a, s, n) : n === "none" || o <= s ? this.allIndexes(i, a) : s === 1 ? this.indexes([i]) : s === 2 ? this.indexes([i, a - 1]) : this.extrema(i, a, s, n);
3204
3210
  }
3205
3211
  allIndexes(e, t) {
@@ -3219,24 +3225,24 @@ var Ii = class {
3219
3225
  if (i === 0) return this.indexes([e, t - 1]);
3220
3226
  let a = [e];
3221
3227
  for (let n = 0; n < i; n += 1) {
3222
- let o = Mi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3228
+ let o = Ni(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3223
3229
  if (!s) return;
3224
- if (r === "min") Ni(a, s.minimum);
3225
- else if (r === "max") Ni(a, s.maximum);
3226
- else if (r === "minmax") s.minimum <= s.maximum ? (Ni(a, s.minimum), Ni(a, s.maximum)) : (Ni(a, s.maximum), Ni(a, s.minimum));
3230
+ if (r === "min") Pi(a, s.minimum);
3231
+ else if (r === "max") Pi(a, s.maximum);
3232
+ else if (r === "minmax") s.minimum <= s.maximum ? (Pi(a, s.minimum), Pi(a, s.maximum)) : (Pi(a, s.maximum), Pi(a, s.minimum));
3227
3233
  else for (let e of [
3228
3234
  o.start,
3229
3235
  s.minimum,
3230
3236
  s.maximum,
3231
3237
  o.end - 1
3232
- ].sort((e, t) => e - t)) Ni(a, e);
3238
+ ].sort((e, t) => e - t)) Pi(a, e);
3233
3239
  }
3234
- return Ni(a, t - 1), this.indexes(a);
3240
+ return Pi(a, t - 1), this.indexes(a);
3235
3241
  }
3236
3242
  aggregate(e, t, n, r) {
3237
3243
  let i = new Float64Array(n), a = new Float64Array(n);
3238
3244
  for (let o = 0; o < n; o += 1) {
3239
- let s = Mi(o, n, e, t), c = this.querySum(s.start, s.end);
3245
+ let s = Ni(o, n, e, t), c = this.querySum(s.start, s.end);
3240
3246
  if (!c || c.count === 0) return;
3241
3247
  i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
3242
3248
  }
@@ -3251,7 +3257,7 @@ var Ii = class {
3251
3257
  if (!this.ensureExtrema(n)) return;
3252
3258
  let r = e, i = e;
3253
3259
  for (let n = e; n < t;) {
3254
- let e = Fi(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3260
+ let e = Ii(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3255
3261
  this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
3256
3262
  }
3257
3263
  return {
@@ -3264,7 +3270,7 @@ var Ii = class {
3264
3270
  if (!this.ensureSum(n)) return;
3265
3271
  let r = 0, i = 0, a = 0;
3266
3272
  for (let n = e; n < t;) {
3267
- let e = Fi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3273
+ let e = Ii(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3268
3274
  if (c) r += c.x[s], i += c.y[s], a += c.count[s];
3269
3275
  else {
3270
3276
  let e = this.points[n];
@@ -3285,7 +3291,7 @@ var Ii = class {
3285
3291
  minimumIndexes: new Uint32Array(e),
3286
3292
  maximumIndexes: new Uint32Array(e)
3287
3293
  };
3288
- if (!this.reserve(Pi(n))) return !1;
3294
+ if (!this.reserve(Fi(n))) return !1;
3289
3295
  let r = this.extremaLayers[t - 1];
3290
3296
  for (let t = 0; t < e; t += 1) {
3291
3297
  let e = t * 2, i = e + 1, a = r ? r.minimumIndexes[e] : e, o = r ? r.maximumIndexes[e] : e, s = r ? i < r.minimumIndexes.length : i < this.points.length, c = r && s ? r.minimumIndexes[i] : i, l = r && s ? r.maximumIndexes[i] : i;
@@ -3303,7 +3309,7 @@ var Ii = class {
3303
3309
  y: new Float64Array(e),
3304
3310
  count: new Uint32Array(e)
3305
3311
  };
3306
- if (!this.reserve(Pi(n))) return !1;
3312
+ if (!this.reserve(Fi(n))) return !1;
3307
3313
  let r = this.sumLayers[t - 1];
3308
3314
  for (let t = 0; t < e; t += 1) {
3309
3315
  let e = t * 2, i = e + 1;
@@ -3328,8 +3334,8 @@ var Ii = class {
3328
3334
  let n = this.points[e], r = this.points[t];
3329
3335
  return n.y > r.y || n.y === r.y && e < t;
3330
3336
  }
3331
- }, Li = 1e3, Ri = I((e) => e.x);
3332
- function zi(e) {
3337
+ }, Ri = 1e3, zi = I((e) => e.x);
3338
+ function Bi(e) {
3333
3339
  let t = [], n = !0, r = -Infinity;
3334
3340
  for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
3335
3341
  x: i.x,
@@ -3340,7 +3346,7 @@ function zi(e) {
3340
3346
  }));
3341
3347
  return n || t.sort((e, t) => e.x - t.x), t;
3342
3348
  }
3343
- function Bi(e, t) {
3349
+ function Vi(e, t) {
3344
3350
  let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
3345
3351
  for (let t of e) n = Math.min(n, t.x), r = Math.max(r, t.x), i = Math.min(i, t.y), a = Math.max(a, t.y);
3346
3352
  return {
@@ -3350,7 +3356,7 @@ function Bi(e, t) {
3350
3356
  yDomain: e.length ? [i, a] : null
3351
3357
  };
3352
3358
  }
3353
- function Vi(e, t, n = e.length) {
3359
+ function Hi(e, t, n = e.length) {
3354
3360
  let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
3355
3361
  for (let n = 0; n < e.length; n += 1) r = Math.min(r, e[n]), i = Math.max(i, e[n]), a = Math.min(a, t[n]), o = Math.max(o, t[n]);
3356
3362
  return {
@@ -3360,38 +3366,39 @@ function Vi(e, t, n = e.length) {
3360
3366
  yDomain: e.length ? [a, o] : null
3361
3367
  };
3362
3368
  }
3363
- function Hi(e, t) {
3369
+ function Ui(e, t) {
3364
3370
  return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
3365
3371
  }
3366
- function Ui(e) {
3372
+ function Wi(e) {
3367
3373
  return e === "auto" ? "peak" : e;
3368
3374
  }
3369
- function Wi(e) {
3375
+ function Gi(e) {
3376
+ if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
3370
3377
  let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
3371
3378
  return Math.max(1, Math.floor(t * n));
3372
3379
  }
3373
- function Gi(e, t) {
3380
+ function Ki(e, t) {
3374
3381
  if (e.mode === "raw") return !0;
3375
3382
  if (e.mode !== "auto") return !1;
3376
- let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Li;
3383
+ let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Ri;
3377
3384
  if (!e.previousSelectedMode) return t <= n;
3378
3385
  let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
3379
3386
  return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
3380
3387
  }
3381
- function Ki(e, t) {
3388
+ function qi(e, t) {
3382
3389
  let n = e[0], r = e.at(-1);
3383
- return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Ri.center(e, t)] : void 0;
3390
+ return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[zi.center(e, t)] : void 0;
3384
3391
  }
3385
- function qi(e) {
3392
+ function Ji(e) {
3386
3393
  return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
3387
3394
  }
3388
- function Ji(e, t) {
3395
+ function Yi(e, t) {
3389
3396
  return e.kind === "aggregates" ? e : {
3390
3397
  kind: "source-indexes",
3391
3398
  sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
3392
3399
  };
3393
3400
  }
3394
- function Yi(e, t, n, r, i) {
3401
+ function Xi(e, t, n, r, i) {
3395
3402
  return [
3396
3403
  e.datasetId,
3397
3404
  e.revision,
@@ -3400,6 +3407,7 @@ function Yi(e, t, n, r, i) {
3400
3407
  e.plotWidth,
3401
3408
  r,
3402
3409
  e.maxPointsPerPixel,
3410
+ e.maxPointCount,
3403
3411
  e.mode,
3404
3412
  i,
3405
3413
  n,
@@ -3410,14 +3418,14 @@ function Yi(e, t, n, r, i) {
3410
3418
  e.errorBarMinSpacing ?? 0
3411
3419
  ].join("\0");
3412
3420
  }
3413
- function Xi(e, t, n, r, i, a, o, s) {
3421
+ function Zi(e, t, n, r, i, a, o, s) {
3414
3422
  return {
3415
3423
  seriesId: e.seriesId,
3416
3424
  datasetId: e.datasetId,
3417
3425
  mode: e.mode,
3418
3426
  selectedMode: i,
3419
3427
  backend: r,
3420
- strategy: Ui(e.strategy),
3428
+ strategy: Wi(e.strategy),
3421
3429
  sourcePointCount: t,
3422
3430
  visiblePointCount: n,
3423
3431
  renderedPointCount: o,
@@ -3433,18 +3441,18 @@ function Xi(e, t, n, r, i, a, o, s) {
3433
3441
  }
3434
3442
  //#endregion
3435
3443
  //#region src/core/workerSampling/repositoryDataset.ts
3436
- function Zi(e) {
3444
+ function Qi(e) {
3437
3445
  return e?.y.length ?? 0;
3438
3446
  }
3439
- function Qi(e, t) {
3447
+ function $i(e, t) {
3440
3448
  return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
3441
3449
  }
3442
- function $i(e, t) {
3450
+ function ea(e, t) {
3443
3451
  let n = (t, n) => {
3444
- let r = 0, i = Zi(e);
3452
+ let r = 0, i = Qi(e);
3445
3453
  for (; r < i;) {
3446
3454
  let a = r + Math.floor((i - r) / 2);
3447
- (n ? Qi(e, a) <= t : Qi(e, a) < t) ? r = a + 1 : i = a;
3455
+ (n ? $i(e, a) <= t : $i(e, a) < t) ? r = a + 1 : i = a;
3448
3456
  }
3449
3457
  return r;
3450
3458
  }, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
@@ -3453,13 +3461,13 @@ function $i(e, t) {
3453
3461
  end: n(i, !0)
3454
3462
  };
3455
3463
  }
3456
- function ea(e, t, n) {
3457
- return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => Qi(e, t + r));
3464
+ function ta(e, t, n) {
3465
+ return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => $i(e, t + r));
3458
3466
  }
3459
- function ta(e) {
3467
+ function na(e) {
3460
3468
  return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
3461
3469
  }
3462
- function na(e, t) {
3470
+ function ra(e, t) {
3463
3471
  let n = [], r = Math.min(e.length, t.length);
3464
3472
  for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
3465
3473
  return n.sort((t, n) => e[t] - e[n] || t - n), {
@@ -3467,14 +3475,14 @@ function na(e, t) {
3467
3475
  y: Float64Array.from(n, (e) => t[e])
3468
3476
  };
3469
3477
  }
3470
- function ra(e, t, n, r) {
3478
+ function ia(e, t, n, r) {
3471
3479
  if (t?.kind === "typed") {
3472
- let e = na(t.x, t.y);
3480
+ let e = ra(t.x, t.y);
3473
3481
  return {
3474
3482
  x: e.x,
3475
3483
  y: e.y,
3476
3484
  revision: n,
3477
- metrics: Vi(e.x, e.y, Math.max(t.x.length, t.y.length))
3485
+ metrics: Hi(e.x, e.y, Math.max(t.x.length, t.y.length))
3478
3486
  };
3479
3487
  }
3480
3488
  if (t?.kind === "samples") {
@@ -3508,35 +3516,35 @@ function ra(e, t, n, r) {
3508
3516
  }
3509
3517
  };
3510
3518
  }
3511
- let i = zi(e ?? t?.points ?? []);
3519
+ let i = Bi(e ?? t?.points ?? []);
3512
3520
  return {
3513
3521
  x: Float64Array.from(i, (e) => e.x),
3514
3522
  y: Float64Array.from(i, (e) => e.y),
3515
3523
  points: i,
3516
3524
  revision: n,
3517
- metrics: Bi(i, e?.length ?? t?.points.length ?? 0),
3518
- index: new Ii(i, { maxBytes: r })
3525
+ metrics: Vi(i, e?.length ?? t?.points.length ?? 0),
3526
+ index: new Li(i, { maxBytes: r })
3519
3527
  };
3520
3528
  }
3521
- function ia(e, t, n) {
3522
- !ta(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3529
+ function aa(e, t, n) {
3530
+ !na(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3523
3531
  }
3524
- function aa(e, t) {
3525
- t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ta(e) && e.disposeDataset(t.wasmDatasetHandle);
3532
+ function oa(e, t) {
3533
+ t.index?.dispose(), t.wasmDatasetHandle !== void 0 && na(e) && e.disposeDataset(t.wasmDatasetHandle);
3526
3534
  }
3527
3535
  //#endregion
3528
3536
  //#region src/core/workerSampling/samplingCache.ts
3529
- var oa = 96, sa = 16 * 1024 * 1024;
3530
- function ca(e) {
3537
+ var sa = 96, ca = 16 * 1024 * 1024;
3538
+ function la(e) {
3531
3539
  return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
3532
3540
  }
3533
- var la = class {
3541
+ var ua = class {
3534
3542
  entries = /* @__PURE__ */ new Map();
3535
3543
  bytes = 0;
3536
3544
  maxEntries;
3537
3545
  maxBytes;
3538
3546
  constructor(e = {}) {
3539
- this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : oa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : sa;
3547
+ this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : sa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : ca;
3540
3548
  }
3541
3549
  get metrics() {
3542
3550
  return {
@@ -3551,7 +3559,7 @@ var la = class {
3551
3559
  if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
3552
3560
  }
3553
3561
  set(e, t) {
3554
- let n = ca(t);
3562
+ let n = la(t);
3555
3563
  if (n > this.maxBytes || this.maxEntries === 0) return;
3556
3564
  let r = this.entries.get(e);
3557
3565
  for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
@@ -3571,14 +3579,14 @@ var la = class {
3571
3579
  clear() {
3572
3580
  this.entries.clear(), this.bytes = 0;
3573
3581
  }
3574
- }, ua = class {
3582
+ }, da = class {
3575
3583
  datasets = /* @__PURE__ */ new Map();
3576
3584
  javascriptBackend;
3577
3585
  cache;
3578
3586
  indexMaxBytes;
3579
3587
  wasmBackend;
3580
3588
  constructor(e = {}) {
3581
- this.javascriptBackend = e.javascriptBackend ?? ki, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new la({
3589
+ this.javascriptBackend = e.javascriptBackend ?? Ai, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new ua({
3582
3590
  maxEntries: e.cacheMaxEntries,
3583
3591
  maxBytes: e.cacheMaxBytes
3584
3592
  });
@@ -3591,9 +3599,9 @@ var la = class {
3591
3599
  };
3592
3600
  }
3593
3601
  setWasmBackend(e) {
3594
- this.wasmBackend && this.wasmBackend !== e && ta(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3602
+ this.wasmBackend && this.wasmBackend !== e && na(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3595
3603
  e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
3596
- })), this.wasmBackend = e, ta(e) && this.datasets.forEach((t) => ia(e, t, this.indexMaxBytes));
3604
+ })), this.wasmBackend = e, na(e) && this.datasets.forEach((t) => aa(e, t, this.indexMaxBytes));
3597
3605
  }
3598
3606
  handle(e) {
3599
3607
  switch (e.type) {
@@ -3609,15 +3617,15 @@ var la = class {
3609
3617
  register(e, t, n, r) {
3610
3618
  let i = this.datasets.get(e);
3611
3619
  if (i) return this.datasetResponse(t, e, i, "stale-revision");
3612
- let a = ra(n, r, 1, this.indexMaxBytes);
3613
- return ia(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3620
+ let a = ia(n, r, 1, this.indexMaxBytes);
3621
+ return aa(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3614
3622
  }
3615
3623
  replace(e, t, n, r, i) {
3616
- let a = this.datasets.get(e), o = Hi(a, n);
3624
+ let a = this.datasets.get(e), o = Ui(a, n);
3617
3625
  if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
3618
- aa(this.wasmBackend, a), this.cache.deleteDataset(e);
3619
- let s = ra(r, i, a.revision + 1, this.indexMaxBytes);
3620
- return ia(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3626
+ oa(this.wasmBackend, a), this.cache.deleteDataset(e);
3627
+ let s = ia(r, i, a.revision + 1, this.indexMaxBytes);
3628
+ return aa(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3621
3629
  }
3622
3630
  sample(e) {
3623
3631
  return {
@@ -3627,28 +3635,28 @@ var la = class {
3627
3635
  };
3628
3636
  }
3629
3637
  sampleSeries(e, t) {
3630
- let n = performance.now(), r = this.datasets.get(t.datasetId), i = Hi(r, t.revision);
3638
+ let n = performance.now(), r = this.datasets.get(t.datasetId), i = Ui(r, t.revision);
3631
3639
  if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
3632
- let a = $i(r, t.xDomain), o = a.end - a.start;
3633
- if (Gi(t, o)) return this.sampleResponse(e, t, "ok", {
3640
+ let a = ea(r, t.xDomain), o = a.end - a.start;
3641
+ if (Ki(t, o)) return this.sampleResponse(e, t, "ok", {
3634
3642
  kind: "source-indexes",
3635
3643
  sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
3636
3644
  }, "raw", "raw", o, n, !1);
3637
3645
  let s = t.mode === "wasm" || t.mode === "auto" && this.wasmBackend ? this.wasmBackend : this.javascriptBackend, c = !s && t.wasmFailureFallback === "javascript", l = s ?? (c ? this.javascriptBackend : void 0);
3638
3646
  if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
3639
- let u = Ui(t.strategy), d = Wi(t), f = Yi(t, a, u, d, l.kind), p = this.cache.get(f);
3647
+ let u = Wi(t.strategy), d = Gi(t), f = Xi(t, a, u, d, l.kind), p = this.cache.get(f);
3640
3648
  if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
3641
- let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ta(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? Ji(l.sample({
3642
- x: ea(r, a.start, a.end),
3649
+ let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && na(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? Yi(l.sample({
3650
+ x: ta(r, a.start, a.end),
3643
3651
  y: r.y.subarray(a.start, a.end),
3644
3652
  points: r.points?.slice(a.start, a.end) ?? [],
3645
3653
  strategy: u,
3646
3654
  targetPointCount: d
3647
3655
  }), a.start);
3648
- return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ta(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3656
+ return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && na(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3649
3657
  }
3650
3658
  sampleResponse(e, t, n, r, i, a, o, s, c) {
3651
- let l = Xi(t, Zi(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, qi(r), c);
3659
+ let l = Zi(t, Qi(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, Ji(r), c);
3652
3660
  return l.requestId = e, {
3653
3661
  seriesId: t.seriesId,
3654
3662
  datasetId: t.datasetId,
@@ -3659,7 +3667,7 @@ var la = class {
3659
3667
  };
3660
3668
  }
3661
3669
  findNearest(e, t, n, r) {
3662
- let i = this.datasets.get(e), a = Hi(i, n);
3670
+ let i = this.datasets.get(e), a = Ui(i, n);
3663
3671
  return a !== "ok" || !i ? {
3664
3672
  type: "find-nearest-point-response",
3665
3673
  requestId: t,
@@ -3672,12 +3680,12 @@ var la = class {
3672
3680
  datasetId: e,
3673
3681
  revision: n,
3674
3682
  status: a,
3675
- point: i.points ? Ki(i.points, r) : (() => {
3676
- let e = $i(i, [r, r]);
3677
- if (!Zi(i) || r < Qi(i, 0) || r > Qi(i, Zi(i) - 1)) return;
3678
- let t = Math.min(Zi(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - Qi(i, n)) < Math.abs(Qi(i, t) - r) ? n : t;
3679
- return Number.isFinite(r) && Zi(i) ? {
3680
- x: Qi(i, a),
3683
+ point: i.points ? qi(i.points, r) : (() => {
3684
+ let e = ea(i, [r, r]);
3685
+ if (!Qi(i) || r < $i(i, 0) || r > $i(i, Qi(i) - 1)) return;
3686
+ let t = Math.min(Qi(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - $i(i, n)) < Math.abs($i(i, t) - r) ? n : t;
3687
+ return Number.isFinite(r) && Qi(i) ? {
3688
+ x: $i(i, a),
3681
3689
  y: i.y[a]
3682
3690
  } : void 0;
3683
3691
  })()
@@ -3685,15 +3693,15 @@ var la = class {
3685
3693
  }
3686
3694
  metrics(e, t, n) {
3687
3695
  let r = this.datasets.get(e);
3688
- return this.datasetResponse(t, e, r, Hi(r, n));
3696
+ return this.datasetResponse(t, e, r, Ui(r, n));
3689
3697
  }
3690
3698
  dispose(e, t, n) {
3691
- let r = this.datasets.get(e), i = Hi(r, n);
3692
- return i === "ok" && r && (aa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3699
+ let r = this.datasets.get(e), i = Ui(r, n);
3700
+ return i === "ok" && r && (oa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3693
3701
  }
3694
3702
  disposeAll(e) {
3695
3703
  let t = [...this.datasets.keys()];
3696
- return this.datasets.forEach((e) => aa(this.wasmBackend, e)), ta(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3704
+ return this.datasets.forEach((e) => oa(this.wasmBackend, e)), na(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3697
3705
  type: "dispose-all-response",
3698
3706
  requestId: e,
3699
3707
  disposedDatasetIds: t
@@ -3715,10 +3723,10 @@ var la = class {
3715
3723
  };
3716
3724
  //#endregion
3717
3725
  //#region src/components/core/latestTaskScheduler.ts
3718
- function da(e, t, n, r) {
3726
+ function fa(e, t, n, r) {
3719
3727
  return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
3720
3728
  }
3721
- function fa() {
3729
+ function pa() {
3722
3730
  let e = 0, t = !1, n, r = !1, i = {
3723
3731
  scheduled: 0,
3724
3732
  coalesced: 0,
@@ -3757,12 +3765,12 @@ function fa() {
3757
3765
  }
3758
3766
  //#endregion
3759
3767
  //#region src/components/core/workerSamplingClient.ts
3760
- function pa(e) {
3768
+ function ma(e) {
3761
3769
  return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
3762
3770
  }
3763
- function ma() {
3771
+ function ha() {
3764
3772
  let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
3765
- t ??= new ua();
3773
+ t ??= new da();
3766
3774
  for (let [e, n] of i) {
3767
3775
  t.handle({
3768
3776
  type: "register-dataset",
@@ -3798,12 +3806,12 @@ function ma() {
3798
3806
  let t = a();
3799
3807
  e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
3800
3808
  }, c = (r) => {
3801
- t || (n = pa(r), e?.terminate(), e = void 0, s());
3809
+ t || (n = ma(r), e?.terminate(), e = void 0, s());
3802
3810
  };
3803
3811
  try {
3804
3812
  typeof Worker > "u" ? c() : (e = new Worker(new URL(
3805
3813
  /* @vite-ignore */
3806
- "/assets/workerRuntime-Dt94jbqq.js",
3814
+ "/assets/workerRuntime-BcYng9TR.js",
3807
3815
  "" + import.meta.url
3808
3816
  ), { type: "module" }), e.onmessage = (e) => {
3809
3817
  let t = r.get(e.data.requestId);
@@ -3835,20 +3843,20 @@ function ma() {
3835
3843
  }
3836
3844
  };
3837
3845
  }
3838
- function ha(e) {
3846
+ function ga(e) {
3839
3847
  return e.type === "dataset-response";
3840
3848
  }
3841
3849
  //#endregion
3842
3850
  //#region src/components/core/useWaveformRenderSampling.ts
3843
- var ga = 120;
3844
- function _a(e, t) {
3851
+ var _a = 120;
3852
+ function va(e, t) {
3845
3853
  let n = e.output;
3846
3854
  if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
3847
3855
  x: e,
3848
3856
  y: n.y[t]
3849
3857
  })) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
3850
3858
  }
3851
- function va(e, t) {
3859
+ function ya(e, t) {
3852
3860
  let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
3853
3861
  return {
3854
3862
  seriesId: n.seriesId,
@@ -3870,18 +3878,18 @@ function va(e, t) {
3870
3878
  maxPendingRequestCount: 0
3871
3879
  };
3872
3880
  }
3873
- function ya(e, t) {
3874
- let { source: n } = e, { start: r, end: i } = e.visibleRange, a = i - r, o = Math.max(1, Math.floor(e.request.plotWidth * t));
3875
- if (a <= o) return n.pointsInRange(r, i);
3876
- if (o === 1) return n.pointAt(r) ? [n.pointAt(r)] : [];
3877
- let s = [];
3878
- for (let e = 0; e < o; e += 1) {
3879
- let t = Math.round(e * (a - 1) / (o - 1)), i = n.pointAt(r + t);
3880
- i && s.push(i);
3881
+ function ba(e) {
3882
+ let { source: t } = e, { start: n, end: r } = e.visibleRange, i = r - n, a = Number.isFinite(e.request.maxPointCount) && (e.request.maxPointCount ?? 0) >= 1 ? Math.floor(e.request.maxPointCount) : Math.max(1, Math.floor(e.request.plotWidth * e.request.maxPointsPerPixel));
3883
+ if (i <= a) return t.pointsInRange(n, r);
3884
+ if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
3885
+ let o = [];
3886
+ for (let e = 0; e < a; e += 1) {
3887
+ let r = Math.round(e * (i - 1) / (a - 1)), s = t.pointAt(n + r);
3888
+ s && o.push(s);
3881
3889
  }
3882
- return s;
3890
+ return o;
3883
3891
  }
3884
- function ba(e, t, n, r) {
3892
+ function xa(e, t, n, r) {
3885
3893
  return {
3886
3894
  message: e,
3887
3895
  mode: t,
@@ -3889,8 +3897,8 @@ function ba(e, t, n, r) {
3889
3897
  seriesIds: r
3890
3898
  };
3891
3899
  }
3892
- function xa(e) {
3893
- let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = fa(), d, f, p = !1, m = t(() => {
3900
+ function Sa(e) {
3901
+ let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = pa(), d, f, p = !1, m = t(() => {
3894
3902
  let t = e.renderingOptions.value.sampling;
3895
3903
  return e.sourceTrackLayouts.value.flatMap((n) => {
3896
3904
  let r = n.xScale.domain();
@@ -3914,6 +3922,7 @@ function xa(e) {
3914
3922
  autoHysteresis: t.autoHysteresis,
3915
3923
  strategy: t.strategy,
3916
3924
  maxPointsPerPixel: t.maxPointsPerPixel,
3925
+ maxPointCount: t.maxPointCount,
3917
3926
  rawPointLimit: t.rawPointLimit,
3918
3927
  wasmFailureFallback: t.wasmFailureFallback,
3919
3928
  lineType: i.lineType,
@@ -3925,7 +3934,7 @@ function xa(e) {
3925
3934
  }];
3926
3935
  });
3927
3936
  });
3928
- }), h = t(() => `${n.value}:${m.value.map((e) => `${e.request.datasetId}:${e.request.xDomain.join(",")}:${e.request.plotWidth}:${e.visibleRange.start}:${e.visibleRange.end}:${e.request.mode}:${e.request.autoThreshold}:${e.request.autoHysteresis}:${e.request.strategy}:${e.request.maxPointsPerPixel}:${e.request.rawPointLimit}:${e.request.wasmFailureFallback}:${e.request.lineType}:${e.request.pointType}:${e.request.errorBarVisible}:${e.request.pointMinSpacing}:${e.request.errorBarMinSpacing}`).join("|")}`), g = () => {
3937
+ }), h = t(() => `${n.value}:${m.value.map((e) => `${e.request.datasetId}:${e.request.xDomain.join(",")}:${e.request.plotWidth}:${e.visibleRange.start}:${e.visibleRange.end}:${e.request.mode}:${e.request.autoThreshold}:${e.request.autoHysteresis}:${e.request.strategy}:${e.request.maxPointsPerPixel}:${e.request.maxPointCount}:${e.request.rawPointLimit}:${e.request.wasmFailureFallback}:${e.request.lineType}:${e.request.pointType}:${e.request.errorBarVisible}:${e.request.pointMinSpacing}:${e.request.errorBarMinSpacing}`).join("|")}`), g = () => {
3929
3938
  d = void 0, l.forEach((t) => {
3930
3939
  let n = o.get(t.seriesId);
3931
3940
  n && n !== t.backend && e.emit("sampling-backend-change", {
@@ -3954,17 +3963,17 @@ function xa(e) {
3954
3963
  revision: 0,
3955
3964
  dataset: t.source.toWorkerDataset()
3956
3965
  });
3957
- !u.isCurrent(n) || !ha(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
3966
+ !u.isCurrent(n) || !ga(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
3958
3967
  }));
3959
3968
  }, x = async (t, n = !1) => {
3960
3969
  let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
3961
- if (o.forEach((r) => {
3962
- let i = r.visibleRange.end - r.visibleRange.start, a = n ? s.get(r.series.id) : void 0, o = r.request.mode === "auto" && da(i, r.request.autoThreshold, r.request.autoHysteresis ?? 0, a) === "raw";
3963
- r.request.mode === "raw" || o ? (c[r.series.id] = r.source.pointsInRange(r.visibleRange.start, r.visibleRange.end), s.set(r.series.id, "raw"), d.push(va(r, t))) : (c[r.series.id]?.length || (c[r.series.id] = ya(r, e.renderingOptions.value.sampling.maxPointsPerPixel)), l.push({
3964
- ...r,
3970
+ if (o.forEach((e) => {
3971
+ let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && fa(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
3972
+ e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(ya(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = ba(e)), l.push({
3973
+ ...e,
3965
3974
  request: {
3966
- ...r.request,
3967
- previousSelectedMode: a
3975
+ ...e.request,
3976
+ previousSelectedMode: i
3968
3977
  }
3969
3978
  }));
3970
3979
  }), !l.length) {
@@ -3972,7 +3981,7 @@ function xa(e) {
3972
3981
  e.linePointOverrides.value = c, v(d);
3973
3982
  return;
3974
3983
  }
3975
- if (e.linePointOverrides.value = c, r ??= ma(), await b(r, l, t), !u.isCurrent(t)) return;
3984
+ if (e.linePointOverrides.value = c, r ??= ha(), await b(r, l, t), !u.isCurrent(t)) return;
3976
3985
  let f = l.map((e) => ({
3977
3986
  ...e.request,
3978
3987
  revision: a.get(e.request.datasetId) ?? 1
@@ -3987,22 +3996,22 @@ function xa(e) {
3987
3996
  p = e;
3988
3997
  } catch (n) {
3989
3998
  if (!u.isCurrent(t)) return;
3990
- y(ba(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
3999
+ y(xa(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
3991
4000
  return;
3992
4001
  }
3993
4002
  if (!u.isCurrent(t)) return;
3994
4003
  let h = new Map(l.map((e) => [e.series.id, e.source]));
3995
4004
  p.results.forEach((e) => {
3996
- let t = h.get(e.seriesId), n = t ? _a(e, t) : void 0;
3997
- n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(ba(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
3998
- }), p.workerError && y(ba(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(ba(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4005
+ let t = h.get(e.seriesId), n = t ? va(e, t) : void 0;
4006
+ n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(xa(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4007
+ }), p.workerError && y(xa(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(xa(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
3999
4008
  };
4000
4009
  return O(h, () => {
4001
4010
  f && clearTimeout(f);
4002
4011
  let t = p;
4003
4012
  p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
4004
4013
  f = void 0, u.schedule((e) => x(e, !1));
4005
- }, ga));
4014
+ }, _a));
4006
4015
  }, { immediate: !0 }), O(e.preparedSeries, () => {
4007
4016
  u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
4008
4017
  }, { flush: "sync" }), _(() => {
@@ -4011,10 +4020,10 @@ function xa(e) {
4011
4020
  }
4012
4021
  //#endregion
4013
4022
  //#region src/components/core/useWaveformChartController.ts
4014
- function Sa(e, t) {
4023
+ function Ca(e, t) {
4015
4024
  e.value = t instanceof Element ? t : void 0;
4016
4025
  }
4017
- function Ca(e, t) {
4026
+ function wa(e, t) {
4018
4027
  let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(K), p = C([]), m = b({}), h = b({}), g = S({
4019
4028
  points: [],
4020
4029
  trackIndex: null,
@@ -4023,11 +4032,11 @@ function Ca(e, t) {
4023
4032
  x: 0,
4024
4033
  y: 0
4025
4034
  }
4026
- }), _ = b(!1), v = b(1), x = C(), w = le("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = jr();
4035
+ }), _ = b(!1), v = b(1), x = C(), w = le("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Mr();
4027
4036
  O([() => e.yDomain, () => e.yDomains], () => {
4028
4037
  m.value = {}, h.value = {};
4029
4038
  }, { deep: !0 });
4030
- let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = Ir(() => e.data, () => I(), () => L()), z = yi({
4039
+ let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = Lr(() => e.data, () => I(), () => L()), z = bi({
4031
4040
  props: e,
4032
4041
  observedWidth: o,
4033
4042
  observedHeight: s,
@@ -4035,7 +4044,7 @@ function Ca(e, t) {
4035
4044
  measuredTitleHeight: l,
4036
4045
  internalHiddenSeriesIds: E,
4037
4046
  paginationBandHeight: u
4038
- }), { chartWidth: B, chartHeight: V, isCleanView: H, isPresentationMode: U, hiddenSeriesIdSet: W, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = z, q = hi({
4047
+ }), { chartWidth: B, chartHeight: V, isCleanView: H, isPresentationMode: U, hiddenSeriesIdSet: W, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = z, q = gi({
4039
4048
  props: e,
4040
4049
  preparedSeries: R,
4041
4050
  currentPage: v,
@@ -4050,7 +4059,7 @@ function Ca(e, t) {
4050
4059
  annotationInteraction: d(D),
4051
4060
  linePointOverrides: A
4052
4061
  }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: ue, pageCount: de, pagedTracks: J, resolvedChartLeftMargin: fe, innerWidth: Y, hasChartArea: pe, activeInteractionMode: me, isZoomMode: he, initialXDomain: ge, sharedZoomDomain: _e, resolveInitialTrackDomain: ve, annotationLayoutsForTrack: ye, resolveSeriesYScale: be } = q;
4053
- xa({
4062
+ Sa({
4054
4063
  props: e,
4055
4064
  emit: t,
4056
4065
  instanceId: w,
@@ -4061,7 +4070,7 @@ function Ca(e, t) {
4061
4070
  }), k(() => {
4062
4071
  u.value = ue.value.showPagination && de.value > 1 && B.value <= 520 ? 40 : 0;
4063
4072
  });
4064
- let xe = Mr({
4073
+ let xe = Nr({
4065
4074
  props: e,
4066
4075
  emit: t,
4067
4076
  svgElement: r,
@@ -4078,7 +4087,7 @@ function Ca(e, t) {
4078
4087
  isPresentationMode: U,
4079
4088
  resolveInitialTrackDomain: ve,
4080
4089
  cancelPendingHover: () => Ce.cancelPendingHover()
4081
- }), X = pr({
4090
+ }), X = mr({
4082
4091
  props: e,
4083
4092
  emit: t,
4084
4093
  container: n,
@@ -4098,7 +4107,7 @@ function Ca(e, t) {
4098
4107
  chartTopMargin: ie,
4099
4108
  activeInteractionMode: me,
4100
4109
  isPresentationMode: U
4101
- }), Se = Ar({
4110
+ }), Se = jr({
4102
4111
  props: e,
4103
4112
  emit: t,
4104
4113
  selection: N,
@@ -4123,7 +4132,7 @@ function Ca(e, t) {
4123
4132
  cancelPendingZoom: xe.cancelPendingZoom,
4124
4133
  clearHover: () => Ce.clearHover(),
4125
4134
  resolveTrackAtPointer: X.resolveTrackAtPointer
4126
- }), Ce = mr({
4135
+ }), Ce = hr({
4127
4136
  emit: t,
4128
4137
  hoverState: g,
4129
4138
  suppressHoverUntilMove: _,
@@ -4138,7 +4147,7 @@ function Ca(e, t) {
4138
4147
  isPresentationMode: U,
4139
4148
  updateViewportDrag: Se.updateViewportDrag,
4140
4149
  resolveTrackAtPointer: X.resolveTrackAtPointer
4141
- }), we = Pr({
4150
+ }), we = Fr({
4142
4151
  props: e,
4143
4152
  emit: t,
4144
4153
  container: n,
@@ -4190,7 +4199,7 @@ function Ca(e, t) {
4190
4199
  ...Se,
4191
4200
  ...Ce,
4192
4201
  margin: Lt,
4193
- getPageSize: zn,
4202
+ getPageSize: Bn,
4194
4203
  currentPage: v,
4195
4204
  selection: N,
4196
4205
  pointerInsideChart: F,
@@ -4201,34 +4210,34 @@ function Ca(e, t) {
4201
4210
  editorSeriesOptions: j,
4202
4211
  clipPathId: w,
4203
4212
  goToPage: we.goToPage,
4204
- setContainer: (e) => Sa(n, e),
4205
- setSvgElement: (e) => Sa(r, e),
4206
- setTitleMeasureElement: (e) => Sa(i, e),
4207
- setSharedOverlayElement: (e) => Sa(a, e)
4213
+ setContainer: (e) => Ca(n, e),
4214
+ setSvgElement: (e) => Ca(r, e),
4215
+ setTitleMeasureElement: (e) => Ca(i, e),
4216
+ setSharedOverlayElement: (e) => Ca(a, e)
4208
4217
  });
4209
4218
  }
4210
4219
  //#endregion
4211
4220
  //#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
4212
- var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4221
+ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
4213
4222
  class: "waveform-annotation-editor__coordinates",
4214
4223
  "aria-label": "标注坐标"
4215
- }, Da = ["aria-invalid"], Oa = {
4224
+ }, Oa = ["aria-invalid"], ka = {
4216
4225
  class: "waveform-annotation-editor__coordinate-value",
4217
4226
  "aria-hidden": "true"
4218
- }, ka = ["id"], Aa = {
4227
+ }, Aa = ["id"], ja = {
4219
4228
  key: 0,
4220
4229
  class: "waveform-annotation-editor__series",
4221
4230
  "aria-label": "标注所属波形"
4222
- }, ja = { class: "waveform-annotation-editor__series-label" }, Ma = ["value"], Na = ["value"], Pa = { key: 1 }, Fa = { class: "waveform-annotation-editor__field" }, Ia = { class: "waveform-annotation-editor__label-row" }, La = ["maxlength"], Ra = { class: "waveform-annotation-editor__colors" }, za = {
4231
+ }, Ma = { class: "waveform-annotation-editor__series-label" }, Na = ["value"], Pa = ["value"], Fa = { key: 1 }, Ia = { class: "waveform-annotation-editor__field" }, La = { class: "waveform-annotation-editor__label-row" }, Ra = ["maxlength"], za = { class: "waveform-annotation-editor__colors" }, Ba = {
4223
4232
  class: "waveform-annotation-editor__color-field",
4224
4233
  title: "调整标注边框色和透明度"
4225
- }, Ba = {
4234
+ }, Va = {
4226
4235
  class: "waveform-annotation-editor__color-field",
4227
4236
  title: "调整标注文字色和透明度"
4228
- }, Va = {
4237
+ }, Ha = {
4229
4238
  class: "waveform-annotation-editor__color-field",
4230
4239
  title: "调整标注背景色和透明度"
4231
- }, Ha = /*#__PURE__*/ et(/* @__PURE__ */ l({
4240
+ }, Ua = /*#__PURE__*/ et(/* @__PURE__ */ l({
4232
4241
  __name: "WaveformAnnotationEditor",
4233
4242
  props: {
4234
4243
  annotation: {},
@@ -4299,9 +4308,9 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4299
4308
  onCancel: o[4] ||= (e) => p("cancel"),
4300
4309
  onOk: B
4301
4310
  }, {
4302
- title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, wa)]),
4303
- default: A(() => [a("div", Ta, [
4304
- a("div", Ea, [
4311
+ title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ta)]),
4312
+ default: A(() => [a("div", Ea, [
4313
+ a("div", Da, [
4305
4314
  a("label", {
4306
4315
  class: "waveform-annotation-editor__coordinate-input",
4307
4316
  "aria-invalid": !!N.value
@@ -4324,26 +4333,26 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4324
4333
  "aria-invalid",
4325
4334
  "aria-describedby"
4326
4335
  ]),
4327
- a("code", Oa, w(y.value), 1)
4328
- ], 8, Da),
4336
+ a("code", ka, w(y.value), 1)
4337
+ ], 8, Oa),
4329
4338
  N.value ? (v(), i("p", {
4330
4339
  key: 0,
4331
4340
  id: `${E(g)}-time-error`,
4332
4341
  class: "waveform-annotation-editor__coordinate-error",
4333
4342
  role: "alert"
4334
- }, w(N.value), 9, ka)) : r("", !0),
4343
+ }, w(N.value), 9, Aa)) : r("", !0),
4335
4344
  a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, w(E(Ot)(d.annotation.y)), 1)])
4336
4345
  ]),
4337
4346
  o[13] ||= a("p", {
4338
4347
  class: "waveform-annotation-editor__coordinate-hint",
4339
4348
  role: "note"
4340
4349
  }, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
4341
- I.value ? (v(), i("label", Aa, [
4350
+ I.value ? (v(), i("label", ja, [
4342
4351
  a("i", {
4343
4352
  style: m({ backgroundColor: I.value.color }),
4344
4353
  "aria-hidden": "true"
4345
4354
  }, null, 4),
4346
- a("span", ja, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
4355
+ a("span", Ma, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
4347
4356
  d.seriesOptions?.length ? (v(), i("select", {
4348
4357
  key: 0,
4349
4358
  value: d.annotation.seriesId,
@@ -4352,9 +4361,9 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4352
4361
  }, [(v(!0), i(e, null, x(d.seriesOptions, (e) => (v(), i("option", {
4353
4362
  key: e.seriesId,
4354
4363
  value: e.seriesId
4355
- }, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Na))), 128))], 40, Ma)) : I.value.unit ? (v(), i("code", Pa, w(I.value.unit), 1)) : r("", !0)
4364
+ }, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Pa))), 128))], 40, Na)) : I.value.unit ? (v(), i("code", Fa, w(I.value.unit), 1)) : r("", !0)
4356
4365
  ])) : r("", !0),
4357
- a("label", Fa, [a("span", Ia, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
4366
+ a("label", Ia, [a("span", La, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
4358
4367
  ref_key: "textarea",
4359
4368
  ref: h,
4360
4369
  "onUpdate:modelValue": o[0] ||= (e) => _.value = e,
@@ -4363,10 +4372,10 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4363
4372
  "aria-label": "标注文本",
4364
4373
  placeholder: "输入这处波形的说明",
4365
4374
  onKeydown: V
4366
- }, null, 40, La), [[D, _.value]])]),
4367
- a("fieldset", Ra, [
4375
+ }, null, 40, Ra), [[D, _.value]])]),
4376
+ a("fieldset", za, [
4368
4377
  o[12] ||= a("legend", null, "颜色与透明度", -1),
4369
- a("label", za, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
4378
+ a("label", Ba, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
4370
4379
  "pure-color": C.value,
4371
4380
  "onUpdate:pureColor": o[1] ||= (e) => C.value = e,
4372
4381
  "aria-label": "标注边框色",
@@ -4376,7 +4385,7 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4376
4385
  "disable-alpha": !1,
4377
4386
  "blur-close": !0
4378
4387
  }, null, 8, ["pure-color"])]),
4379
- a("label", Ba, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
4388
+ a("label", Va, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
4380
4389
  "pure-color": T.value,
4381
4390
  "onUpdate:pureColor": o[2] ||= (e) => T.value = e,
4382
4391
  "aria-label": "标注文字色",
@@ -4386,7 +4395,7 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4386
4395
  "disable-alpha": !1,
4387
4396
  "blur-close": !0
4388
4397
  }, null, 8, ["pure-color"])]),
4389
- a("label", Va, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
4398
+ a("label", Ha, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
4390
4399
  "pure-color": k.value,
4391
4400
  "onUpdate:pureColor": o[3] ||= (e) => k.value = e,
4392
4401
  "aria-label": "标注背景色",
@@ -4401,13 +4410,13 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4401
4410
  _: 1
4402
4411
  }, 8, ["ok-button-props"]));
4403
4412
  }
4404
- }), [["__scopeId", "data-v-01ecd3a4"]]), Ua = { class: "waveform-tooltip__series-content" }, Wa = { class: "waveform-tooltip__series-label" }, Ga = {
4413
+ }), [["__scopeId", "data-v-01ecd3a4"]]), Wa = { class: "waveform-tooltip__series-content" }, Ga = { class: "waveform-tooltip__series-label" }, Ka = {
4405
4414
  key: 0,
4406
4415
  class: "waveform-tooltip__value"
4407
- }, Ka = {
4416
+ }, qa = {
4408
4417
  key: 1,
4409
4418
  class: "waveform-tooltip__value waveform-tooltip__value--missing"
4410
- }, qa = 12, Ja = 8, Ya = 238, Xa = 560, Za = 20, Qa = 20, $a = /*#__PURE__*/ et(/* @__PURE__ */ l({
4419
+ }, Ja = 12, Ya = 8, Xa = 238, Za = 560, Qa = 20, $a = 20, eo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4411
4420
  __name: "WaveformTooltip",
4412
4421
  props: {
4413
4422
  visible: { type: Boolean },
@@ -4421,7 +4430,7 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4421
4430
  setup(n) {
4422
4431
  let s = n;
4423
4432
  function c(e, t) {
4424
- let n = Math.max(1, t - Za - 14), r = Math.max(1, Math.floor(n / 7.2));
4433
+ let n = Math.max(1, t - Qa - 14), r = Math.max(1, Math.floor(n / 7.2));
4425
4434
  return Math.max(1, Math.ceil([...e].length / r));
4426
4435
  }
4427
4436
  function l(e) {
@@ -4429,18 +4438,18 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4429
4438
  return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} ${t}`;
4430
4439
  }
4431
4440
  function u(e) {
4432
- return 16 + Qa * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
4441
+ return 16 + $a * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
4433
4442
  }
4434
4443
  let d = t(() => {
4435
4444
  if (!s.visible || !s.hoveredPoint) return { display: "none" };
4436
- let e = s.position.x + qa, t = s.position.x - qa - Ya, n = s.containerWidth - Ja - e, r = s.position.x - qa - Ja, i = Math.max(1, Math.min(Xa, s.containerWidth - Ja * 2)), a = e + Ya <= s.containerWidth - Ja ? {
4445
+ let e = s.position.x + Ja, t = s.position.x - Ja - Xa, n = s.containerWidth - Ya - e, r = s.position.x - Ja - Ya, i = Math.max(1, Math.min(Za, s.containerWidth - Ya * 2)), a = e + Xa <= s.containerWidth - Ya ? {
4437
4446
  left: `${e}px`,
4438
- maxWidth: `${Math.min(Xa, n)}px`
4439
- } : t >= Ja ? {
4440
- right: `${s.containerWidth - s.position.x + qa}px`,
4441
- maxWidth: `${Math.min(Xa, r)}px`
4447
+ maxWidth: `${Math.min(Za, n)}px`
4448
+ } : t >= Ya ? {
4449
+ right: `${s.containerWidth - s.position.x + Ja}px`,
4450
+ maxWidth: `${Math.min(Za, r)}px`
4442
4451
  } : {
4443
- left: `${Ja}px`,
4452
+ left: `${Ya}px`,
4444
4453
  maxWidth: `${i}px`
4445
4454
  }, o = Number.parseFloat(a.maxWidth);
4446
4455
  return {
@@ -4455,9 +4464,9 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4455
4464
  }, [(v(!0), i(e, null, x(n.seriesPoints, (t) => (v(), i("span", {
4456
4465
  key: `${t.trackIndex}-${t.name}`,
4457
4466
  class: "waveform-tooltip__series waveform-chart__tooltip-series"
4458
- }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", Ua, [a("span", Wa, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", Ga, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", Ka, "无数据"))])]))), 128))], 4)) : r("", !0);
4467
+ }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", Wa, [a("span", Ga, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", Ka, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", qa, "无数据"))])]))), 128))], 4)) : r("", !0);
4459
4468
  }
4460
- }), [["__scopeId", "data-v-1ae3316b"]]), eo = /* @__PURE__ */ l({
4469
+ }), [["__scopeId", "data-v-1ae3316b"]]), to = /* @__PURE__ */ l({
4461
4470
  __name: "WaveformHoverHost",
4462
4471
  props: {
4463
4472
  state: {},
@@ -4468,7 +4477,7 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4468
4477
  },
4469
4478
  setup(e) {
4470
4479
  let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
4471
- return (t, r) => (v(), n($a, {
4480
+ return (t, r) => (v(), n(eo, {
4472
4481
  visible: e.visible && i.value !== null,
4473
4482
  position: e.state.position,
4474
4483
  "time-unit": e.timeUnit,
@@ -4486,16 +4495,16 @@ var wa = ["id"], Ta = { class: "waveform-annotation-editor__content" }, Ea = {
4486
4495
  "container-height"
4487
4496
  ]));
4488
4497
  }
4489
- }), to = 13, no = 2, ro = 14, io = 8, ao = 24, oo = {
4498
+ }), no = 13, ro = 2, io = 14, ao = 8, oo = 24, so = {
4490
4499
  circle: te,
4491
4500
  square: re,
4492
4501
  triangle: ie,
4493
4502
  diamond: ne
4494
4503
  };
4495
- function so(e, t = 48) {
4496
- return e === "none" ? null : ee().type(oo[e]).size(t)() ?? null;
4504
+ function co(e, t = 48) {
4505
+ return e === "none" ? null : ee().type(so[e]).size(t)() ?? null;
4497
4506
  }
4498
- function co(e, t, n = 48) {
4507
+ function lo(e, t, n = 48) {
4499
4508
  if (e === "none" || t.length === 0) return null;
4500
4509
  if (e === "circle") {
4501
4510
  let e = Math.sqrt(n / Math.PI);
@@ -4512,24 +4521,24 @@ function co(e, t, n = 48) {
4512
4521
  let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
4513
4522
  return t.map(({ x: e, y: t }) => `M${e},${t - r}L${e + i},${t}L${e},${t + r}L${e - i},${t}Z`).join("");
4514
4523
  }
4515
- function lo(e) {
4524
+ function uo(e) {
4516
4525
  return e === "none" ? null : "M1 8H25";
4517
4526
  }
4518
- function uo(e) {
4527
+ function fo(e) {
4519
4528
  if (e === "dashed") return "8 5";
4520
4529
  if (e === "dash-dot") return "8 5 1.5 5";
4521
4530
  }
4522
- function fo(e) {
4523
- let t = (Number.isFinite(e) && e > 0 ? Math.min(e, ao) : io) / 2, n = to - t, r = to + t;
4531
+ function po(e) {
4532
+ let t = (Number.isFinite(e) && e > 0 ? Math.min(e, oo) : ao) / 2, n = no - t, r = no + t;
4524
4533
  return [
4525
- `M${n} ${no}H${r}`,
4526
- `M${to} ${no}V${ro}`,
4527
- `M${n} ${ro}H${r}`
4534
+ `M${n} ${ro}H${r}`,
4535
+ `M${no} ${ro}V${io}`,
4536
+ `M${n} ${io}H${r}`
4528
4537
  ].join("");
4529
4538
  }
4530
4539
  //#endregion
4531
4540
  //#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
4532
- var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4541
+ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
4533
4542
  "data-series-id",
4534
4543
  "data-series-name",
4535
4544
  "data-y-axis-index",
@@ -4538,11 +4547,11 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4538
4547
  "d",
4539
4548
  "stroke",
4540
4549
  "stroke-dasharray"
4541
- ], go = ["data-series-id"], _o = [
4550
+ ], _o = ["data-series-id"], vo = [
4542
4551
  "d",
4543
4552
  "stroke",
4544
4553
  "stroke-width"
4545
- ], vo = ["data-series-id", "data-point-type"], yo = ["d", "fill"], bo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4554
+ ], yo = ["data-series-id", "data-point-type"], bo = ["d", "fill"], xo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4546
4555
  __name: "WaveformSeriesLayer",
4547
4556
  props: {
4548
4557
  track: {},
@@ -4550,7 +4559,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4550
4559
  },
4551
4560
  setup(n) {
4552
4561
  let a = n, o = t(() => a.track.seriesPaths.map((e) => {
4553
- let t = co(e.series.pointType, e.pointRenderPoints.map((t) => ({
4562
+ let t = lo(e.series.pointType, e.pointRenderPoints.map((t) => ({
4554
4563
  x: a.track.xScale(t.x),
4555
4564
  y: e.yScale(t.y)
4556
4565
  }))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
@@ -4587,8 +4596,8 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4587
4596
  "data-line-style": e.series.lineStyle,
4588
4597
  d: e.path,
4589
4598
  stroke: e.series.color,
4590
- "stroke-dasharray": E(uo)(e.series.lineStyle)
4591
- }, null, 8, ho)) : r("", !0),
4599
+ "stroke-dasharray": E(fo)(e.series.lineStyle)
4600
+ }, null, 8, go)) : r("", !0),
4592
4601
  e.series.errorBar.visible ? (v(), i("g", {
4593
4602
  key: 1,
4594
4603
  class: "waveform-track__error-bars waveform-chart__error-bars",
@@ -4599,7 +4608,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4599
4608
  d: e.errorBarPath,
4600
4609
  stroke: e.series.errorBar.color || e.series.color,
4601
4610
  "stroke-width": e.series.errorBar.width
4602
- }, null, 8, _o)) : r("", !0)], 8, go)) : r("", !0),
4611
+ }, null, 8, vo)) : r("", !0)], 8, _o)) : r("", !0),
4603
4612
  e.series.pointType === "none" ? r("", !0) : (v(), i("g", {
4604
4613
  key: 2,
4605
4614
  class: "waveform-track__points waveform-chart__points",
@@ -4610,28 +4619,28 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4610
4619
  class: "waveform-track__point waveform-chart__point",
4611
4620
  d: e.pointPath,
4612
4621
  fill: e.series.color
4613
- }, null, 8, yo)) : r("", !0)], 8, vo))
4614
- ], 8, mo))), 128))], 8, po)) : r("", !0);
4622
+ }, null, 8, bo)) : r("", !0)], 8, yo))
4623
+ ], 8, ho))), 128))], 8, mo)) : r("", !0);
4615
4624
  }
4616
- }), [["__scopeId", "data-v-42a3fd47"]]), xo = ["transform"], So = ["transform"], Co = {
4625
+ }), [["__scopeId", "data-v-42a3fd47"]]), So = ["transform"], Co = ["transform"], wo = {
4617
4626
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
4618
4627
  x: "0",
4619
4628
  y: "7",
4620
4629
  dy: "0.71em",
4621
4630
  "text-anchor": "start"
4622
- }, wo = ["x"], To = [
4631
+ }, To = ["x"], Eo = [
4623
4632
  "data-y-axis-index",
4624
4633
  "data-y-axis-side",
4625
4634
  "transform"
4626
- ], Eo = { key: 2 }, Do = [
4635
+ ], Do = { key: 2 }, Oo = [
4627
4636
  "x",
4628
4637
  "y",
4629
4638
  "width"
4630
- ], Oo = ["fill", "transform"], ko = ["data-y-axis-title-index"], Ao = [
4639
+ ], ko = ["fill", "transform"], Ao = ["data-y-axis-title-index"], jo = [
4631
4640
  "x",
4632
4641
  "y",
4633
4642
  "width"
4634
- ], jo = ["fill", "transform"], Mo = /* @__PURE__ */ l({
4643
+ ], Mo = ["fill", "transform"], No = /* @__PURE__ */ l({
4635
4644
  __name: "WaveformTrackAxes",
4636
4645
  props: {
4637
4646
  track: {},
@@ -4691,7 +4700,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4691
4700
  ref: o,
4692
4701
  class: p(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
4693
4702
  transform: `translate(0, ${t.track.height})`
4694
- }, null, 10, xo)) : r("", !0),
4703
+ }, null, 10, So)) : r("", !0),
4695
4704
  t.track.showXAxis ? (v(), i("g", {
4696
4705
  key: 1,
4697
4706
  class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
@@ -4699,13 +4708,13 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4699
4708
  "font-family": "sans-serif",
4700
4709
  "font-size": "10",
4701
4710
  "aria-hidden": "true"
4702
- }, [a("text", Co, w(t.track.endpointLabels.start), 1), a("text", {
4711
+ }, [a("text", wo, w(t.track.endpointLabels.start), 1), a("text", {
4703
4712
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
4704
4713
  x: t.track.width ?? t.innerWidth,
4705
4714
  y: "7",
4706
4715
  dy: "0.71em",
4707
4716
  "text-anchor": "end"
4708
- }, w(t.track.endpointLabels.end), 9, wo)], 8, So)) : r("", !0),
4717
+ }, w(t.track.endpointLabels.end), 9, To)], 8, Co)) : r("", !0),
4709
4718
  (v(!0), i(e, null, x(t.track.isEmpty ? [] : t.track.yAxes, (e) => (v(), i("g", {
4710
4719
  key: `y-axis-${t.track.index}-${e.index}`,
4711
4720
  ref_for: !0,
@@ -4714,21 +4723,21 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4714
4723
  "data-y-axis-index": e.index,
4715
4724
  "data-y-axis-side": e.side,
4716
4725
  transform: `translate(${e.x}, 0)`
4717
- }, null, 10, To))), 128)),
4718
- !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g", Eo, [a("rect", {
4726
+ }, null, 10, Eo))), 128)),
4727
+ !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g", Do, [a("rect", {
4719
4728
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4720
4729
  x: t.track.yAxisLabelX - E(12) / 2,
4721
4730
  y: t.track.height / 2 - 40,
4722
4731
  width: E(12),
4723
4732
  height: "80",
4724
4733
  rx: "2"
4725
- }, null, 8, Do), a("text", {
4734
+ }, null, 8, Oo), a("text", {
4726
4735
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4727
4736
  fill: t.track.series?.color,
4728
4737
  transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
4729
4738
  "text-anchor": "middle",
4730
4739
  "dominant-baseline": "central"
4731
- }, w(t.track.series ? c(t.track.series) : ""), 9, Oo)])) : r("", !0),
4740
+ }, w(t.track.series ? c(t.track.series) : ""), 9, ko)])) : r("", !0),
4732
4741
  (v(!0), i(e, null, x(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (v(), i("g", {
4733
4742
  key: `y-axis-title-${t.track.index}-${e.index}`,
4734
4743
  class: "waveform-track__multi-axis-title",
@@ -4740,40 +4749,40 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4740
4749
  width: E(12),
4741
4750
  height: "80",
4742
4751
  rx: "2"
4743
- }, null, 8, Ao), a("text", {
4752
+ }, null, 8, jo), a("text", {
4744
4753
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4745
4754
  fill: e.seriesList[0].color,
4746
4755
  transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
4747
4756
  "text-anchor": "middle",
4748
4757
  "dominant-baseline": "central"
4749
- }, w(c(e.seriesList[0])), 9, jo)], 8, ko))), 128))
4758
+ }, w(c(e.seriesList[0])), 9, Mo)], 8, Ao))), 128))
4750
4759
  ], 64));
4751
4760
  }
4752
- }), No = [
4761
+ }), Po = [
4753
4762
  "width",
4754
4763
  "height",
4755
4764
  "fill"
4756
- ], Po = ["clip-path"], Fo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Io = [
4765
+ ], Fo = ["clip-path"], Io = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Lo = [
4757
4766
  "stroke",
4758
4767
  "x1",
4759
4768
  "x2",
4760
4769
  "y2"
4761
- ], Lo = [
4770
+ ], Ro = [
4762
4771
  "stroke",
4763
4772
  "x2",
4764
4773
  "y1",
4765
4774
  "y2"
4766
- ], Ro = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, zo = [
4775
+ ], zo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Bo = [
4767
4776
  "stroke",
4768
4777
  "x1",
4769
4778
  "x2",
4770
4779
  "y2"
4771
- ], Bo = [
4780
+ ], Vo = [
4772
4781
  "stroke",
4773
4782
  "x2",
4774
4783
  "y1",
4775
4784
  "y2"
4776
- ], Vo = ["clip-path"], Ho = [
4785
+ ], Ho = ["clip-path"], Uo = [
4777
4786
  "data-y-axis-index",
4778
4787
  "x2",
4779
4788
  "y1",
@@ -4781,7 +4790,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4781
4790
  "stroke",
4782
4791
  "stroke-width",
4783
4792
  "stroke-dasharray"
4784
- ], Uo = ["x", "y"], Wo = /* @__PURE__ */ l({
4793
+ ], Wo = ["x", "y"], Go = /* @__PURE__ */ l({
4785
4794
  __name: "WaveformTrackBackdrop",
4786
4795
  props: {
4787
4796
  track: {},
@@ -4806,12 +4815,12 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4806
4815
  height: t.track.height,
4807
4816
  fill: t.frameStyle.backgroundColor,
4808
4817
  "aria-hidden": "true"
4809
- }, null, 8, No)) : r("", !0),
4818
+ }, null, 8, Po)) : r("", !0),
4810
4819
  !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (v(), i("g", {
4811
4820
  key: 1,
4812
4821
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4813
4822
  "aria-hidden": "true"
4814
- }, [a("g", Fo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
4823
+ }, [a("g", Io, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
4815
4824
  key: `x-minor-${t.track.index}-${e}`,
4816
4825
  "data-grid-direction": "vertical",
4817
4826
  stroke: t.track.gridLines.verticalColor,
@@ -4819,7 +4828,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4819
4828
  x2: t.track.xScale(e),
4820
4829
  y1: "0",
4821
4830
  y2: t.track.height
4822
- }, null, 8, Io))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
4831
+ }, null, 8, Lo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
4823
4832
  key: `y-minor-${t.track.index}-${e}`,
4824
4833
  "data-grid-direction": "horizontal",
4825
4834
  stroke: t.track.gridLines.horizontalColor,
@@ -4827,7 +4836,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4827
4836
  x2: t.track.width ?? t.innerWidth,
4828
4837
  y1: t.track.yScale(e),
4829
4838
  y2: t.track.yScale(e)
4830
- }, null, 8, Lo))), 128)) : r("", !0)]), a("g", Ro, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
4839
+ }, null, 8, Ro))), 128)) : r("", !0)]), a("g", zo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
4831
4840
  key: `x-major-${t.track.index}-${e}`,
4832
4841
  "data-grid-direction": "vertical",
4833
4842
  stroke: t.track.gridLines.verticalColor,
@@ -4835,7 +4844,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4835
4844
  x2: t.track.xScale(e),
4836
4845
  y1: "0",
4837
4846
  y2: t.track.height
4838
- }, null, 8, zo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
4847
+ }, null, 8, Bo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
4839
4848
  key: `y-major-${t.track.index}-${e}`,
4840
4849
  "data-grid-direction": "horizontal",
4841
4850
  stroke: t.track.gridLines.horizontalColor,
@@ -4843,7 +4852,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4843
4852
  x2: t.track.width ?? t.innerWidth,
4844
4853
  y1: t.track.yScale(e),
4845
4854
  y2: t.track.yScale(e)
4846
- }, null, 8, Bo))), 128)) : r("", !0)])], 8, Po)) : r("", !0),
4855
+ }, null, 8, Vo))), 128)) : r("", !0)])], 8, Fo)) : r("", !0),
4847
4856
  !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (v(), i("g", {
4848
4857
  key: 2,
4849
4858
  class: "waveform-track__zero-lines waveform-chart__zero-lines",
@@ -4860,7 +4869,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4860
4869
  stroke: t.zeroLine.color,
4861
4870
  "stroke-width": t.zeroLine.width,
4862
4871
  "stroke-dasharray": t.zeroLine.dash || void 0
4863
- }, null, 8, Ho))], 64))), 128))], 8, Vo)) : r("", !0),
4872
+ }, null, 8, Uo))], 64))), 128))], 8, Ho)) : r("", !0),
4864
4873
  !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (v(), i("text", {
4865
4874
  key: 3,
4866
4875
  class: "waveform-track__watermark waveform-chart__watermark",
@@ -4870,10 +4879,10 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4870
4879
  "text-anchor": "middle",
4871
4880
  "dominant-baseline": "central",
4872
4881
  "aria-hidden": "true"
4873
- }, w(t.frameNumber), 13, Uo)) : r("", !0)
4882
+ }, w(t.frameNumber), 13, Wo)) : r("", !0)
4874
4883
  ], 64));
4875
4884
  }
4876
- }), Go = [
4885
+ }), Ko = [
4877
4886
  "data-track-index",
4878
4887
  "data-track-id",
4879
4888
  "data-track-empty",
@@ -4883,19 +4892,19 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4883
4892
  "data-track-top",
4884
4893
  "data-track-height",
4885
4894
  "transform"
4886
- ], Ko = [
4895
+ ], qo = [
4887
4896
  "width",
4888
4897
  "height",
4889
4898
  "stroke",
4890
4899
  "stroke-width",
4891
4900
  "stroke-dasharray",
4892
4901
  "stroke-linecap"
4893
- ], qo = [
4902
+ ], Jo = [
4894
4903
  "data-interactive",
4895
4904
  "data-independent-overlay-index",
4896
4905
  "width",
4897
4906
  "height"
4898
- ], Jo = ["x", "y"], Yo = /* @__PURE__ */ l({
4907
+ ], Yo = ["x", "y"], Xo = /* @__PURE__ */ l({
4899
4908
  __name: "WaveformTrack",
4900
4909
  props: {
4901
4910
  track: {},
@@ -4955,7 +4964,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4955
4964
  "data-track-height": e.track.height,
4956
4965
  transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
4957
4966
  }, [
4958
- s(Wo, {
4967
+ s(Go, {
4959
4968
  track: e.track,
4960
4969
  "clip-path-id": e.clipPathId,
4961
4970
  "inner-width": e.innerWidth,
@@ -4972,7 +4981,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4972
4981
  "frame-style",
4973
4982
  "zero-line"
4974
4983
  ]),
4975
- s(Mo, {
4984
+ s(No, {
4976
4985
  track: e.track,
4977
4986
  "inner-width": e.innerWidth,
4978
4987
  "clean-view": e.cleanView,
@@ -4998,8 +5007,8 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
4998
5007
  "stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
4999
5008
  "stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
5000
5009
  "aria-hidden": "true"
5001
- }, null, 8, Ko)),
5002
- s(bo, {
5010
+ }, null, 8, qo)),
5011
+ s(xo, {
5003
5012
  track: e.track,
5004
5013
  "clip-path-id": e.clipPathId
5005
5014
  }, null, 8, ["track", "clip-path-id"]),
@@ -5021,7 +5030,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5021
5030
  onPointerleave: n[4] ||= (e) => o("pointer-leave"),
5022
5031
  onClick: n[5] ||= (e) => o("click", e),
5023
5032
  onContextmenu: n[6] ||= (e) => o("contextmenu", e)
5024
- }, null, 42, qo)) : r("", !0),
5033
+ }, null, 42, Jo)) : r("", !0),
5025
5034
  !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (v(), i("text", {
5026
5035
  key: 2,
5027
5036
  class: "waveform-track__no-visible-series",
@@ -5029,33 +5038,33 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5029
5038
  y: e.track.height / 2,
5030
5039
  "text-anchor": "middle",
5031
5040
  "dominant-baseline": "central"
5032
- }, " 暂无可见曲线 ", 8, Jo)) : r("", !0)
5033
- ], 10, Go));
5041
+ }, " 暂无可见曲线 ", 8, Yo)) : r("", !0)
5042
+ ], 10, Ko));
5034
5043
  }
5035
- }), Xo = [
5044
+ }), Zo = [
5036
5045
  "width",
5037
5046
  "height",
5038
5047
  "data-position",
5039
5048
  "data-orientation"
5040
- ], Zo = [
5049
+ ], Qo = [
5041
5050
  "disabled",
5042
5051
  "aria-pressed",
5043
5052
  "aria-label",
5044
5053
  "onClick"
5045
- ], Qo = [
5054
+ ], $o = [
5046
5055
  "data-line-type",
5047
5056
  "data-line-style",
5048
5057
  "data-point-type",
5049
5058
  "data-error-bar-visible"
5050
- ], $o = [
5059
+ ], es = [
5051
5060
  "d",
5052
5061
  "stroke",
5053
5062
  "stroke-dasharray"
5054
- ], es = [
5063
+ ], ts = [
5055
5064
  "d",
5056
5065
  "stroke",
5057
5066
  "stroke-width"
5058
- ], ts = ["d", "fill"], ns = ["title"], rs = /*#__PURE__*/ et(/* @__PURE__ */ l({
5067
+ ], ns = ["d", "fill"], rs = ["title"], is = /*#__PURE__*/ et(/* @__PURE__ */ l({
5059
5068
  __name: "WaveformLegend",
5060
5069
  props: {
5061
5070
  series: {},
@@ -5113,45 +5122,45 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5113
5122
  "data-point-type": e.pointType,
5114
5123
  "data-error-bar-visible": e.errorBar.visible || void 0
5115
5124
  }, [
5116
- E(lo)(e.lineType) ? (v(), i("path", {
5125
+ E(uo)(e.lineType) ? (v(), i("path", {
5117
5126
  key: 0,
5118
5127
  class: "waveform-legend__line",
5119
- d: E(lo)(e.lineType) ?? void 0,
5128
+ d: E(uo)(e.lineType) ?? void 0,
5120
5129
  stroke: e.color,
5121
- "stroke-dasharray": E(uo)(e.lineStyle),
5130
+ "stroke-dasharray": E(fo)(e.lineStyle),
5122
5131
  "stroke-width": "1.5",
5123
5132
  fill: "none"
5124
- }, null, 8, $o)) : r("", !0),
5133
+ }, null, 8, es)) : r("", !0),
5125
5134
  e.errorBar.visible ? (v(), i("path", {
5126
5135
  key: 1,
5127
5136
  class: "waveform-legend__error-bar",
5128
- d: E(fo)(e.errorBar.capWidth),
5137
+ d: E(po)(e.errorBar.capWidth),
5129
5138
  stroke: e.errorBar.color || e.color,
5130
5139
  "stroke-width": e.errorBar.width,
5131
5140
  "stroke-linecap": "butt",
5132
5141
  fill: "none"
5133
- }, null, 8, es)) : r("", !0),
5142
+ }, null, 8, ts)) : r("", !0),
5134
5143
  e.pointType === "none" ? r("", !0) : (v(), i("path", {
5135
5144
  key: 2,
5136
5145
  class: "waveform-legend__point",
5137
- d: E(so)(e.pointType, 30) ?? void 0,
5146
+ d: E(co)(e.pointType, 30) ?? void 0,
5138
5147
  fill: e.color,
5139
5148
  transform: "translate(13 8)"
5140
- }, null, 8, ts))
5141
- ], 8, Qo)), a("span", {
5149
+ }, null, 8, ns))
5150
+ ], 8, $o)), a("span", {
5142
5151
  class: "waveform-legend__label",
5143
5152
  title: e.name
5144
- }, w(e.name), 9, ns)], 10, Zo))), 128))], 6)], 2)], 8, Xo));
5153
+ }, w(e.name), 9, rs)], 10, Qo))), 128))], 6)], 2)], 8, Zo));
5145
5154
  }
5146
- }), [["__scopeId", "data-v-2ae12e71"]]), is = {
5155
+ }), [["__scopeId", "data-v-2ae12e71"]]), as = {
5147
5156
  class: "waveform-chart__hover-layer",
5148
5157
  "pointer-events": "none",
5149
5158
  "aria-hidden": "true"
5150
- }, as = ["clip-path", "transform"], os = [
5159
+ }, os = ["clip-path", "transform"], ss = [
5151
5160
  "x1",
5152
5161
  "x2",
5153
5162
  "y2"
5154
- ], ss = /*#__PURE__*/ et(/* @__PURE__ */ l({
5163
+ ], cs = /*#__PURE__*/ et(/* @__PURE__ */ l({
5155
5164
  __name: "WaveformHoverLayer",
5156
5165
  props: {
5157
5166
  state: {},
@@ -5164,7 +5173,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5164
5173
  track: e,
5165
5174
  x: e.xScale(r.state.queryX)
5166
5175
  }] : []));
5167
- return (t, r) => (v(), i("g", is, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
5176
+ return (t, r) => (v(), i("g", as, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
5168
5177
  key: e.track.index,
5169
5178
  class: "waveform-track__crosshair waveform-chart__crosshair",
5170
5179
  "clip-path": `url(#${n.clipPathId}-${e.track.index})`,
@@ -5174,9 +5183,9 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5174
5183
  x2: e.x,
5175
5184
  y1: "0",
5176
5185
  y2: e.track.height
5177
- }, null, 8, os)], 8, as))), 128))]));
5186
+ }, null, 8, ss)], 8, os))), 128))]));
5178
5187
  }
5179
- }), [["__scopeId", "data-v-044318c2"]]), cs = [
5188
+ }), [["__scopeId", "data-v-044318c2"]]), ls = [
5180
5189
  "data-display-mode",
5181
5190
  "data-interaction-mode",
5182
5191
  "data-presentation-mode",
@@ -5185,31 +5194,31 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5185
5194
  "data-plot-margin-top",
5186
5195
  "data-plot-margin-bottom",
5187
5196
  "data-title-area-height"
5188
- ], ls = [
5197
+ ], us = [
5189
5198
  "role",
5190
5199
  "aria-level",
5191
5200
  "aria-hidden"
5192
- ], us = ["data-title-scale", "data-title-wrapped"], ds = [
5201
+ ], ds = ["data-title-scale", "data-title-wrapped"], fs = [
5193
5202
  "width",
5194
5203
  "height",
5195
5204
  "aria-label"
5196
- ], fs = ["id"], ps = ["width", "height"], ms = ["transform"], hs = {
5205
+ ], ps = ["id"], ms = ["width", "height"], hs = ["transform"], gs = {
5197
5206
  key: 0,
5198
5207
  class: "waveform-chart__grid-slots",
5199
5208
  "aria-hidden": "true"
5200
- }, gs = ["transform"], _s = ["width", "height"], vs = ["width", "height"], ys = [
5209
+ }, _s = ["transform"], vs = ["width", "height"], ys = ["width", "height"], bs = [
5201
5210
  "x",
5202
5211
  "y",
5203
5212
  "width",
5204
5213
  "height"
5205
- ], bs = {
5214
+ ], xs = {
5206
5215
  key: 4,
5207
5216
  class: "waveform-chart__legend-layer"
5208
- }, xs = [
5217
+ }, Ss = [
5209
5218
  "data-legend-track-index",
5210
5219
  "data-legend-track-id",
5211
5220
  "transform"
5212
- ], Ss = ["x", "y"], Cs = ["x", "y"], ws = /* @__PURE__ */ l({
5221
+ ], Cs = ["x", "y"], ws = ["x", "y"], Ts = /* @__PURE__ */ l({
5213
5222
  __name: "WaveformChartView",
5214
5223
  props: { controller: {} },
5215
5224
  setup(t) {
@@ -5262,7 +5271,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5262
5271
  style: m(E(M)),
5263
5272
  "data-title-scale": E(N).scale,
5264
5273
  "data-title-wrapped": E(N).wrapped || void 0
5265
- }, w(E(A)), 13, us)], 4)) : r("", !0)], 12, ls)) : r("", !0),
5274
+ }, w(E(A)), 13, ds)], 4)) : r("", !0)], 12, us)) : r("", !0),
5266
5275
  (v(), i("svg", {
5267
5276
  ref: E(Xe),
5268
5277
  class: "waveform-chart__svg",
@@ -5279,9 +5288,9 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5279
5288
  }, [a("rect", {
5280
5289
  width: e.width,
5281
5290
  height: e.height
5282
- }, null, 8, ps)], 8, fs))), 128))]),
5291
+ }, null, 8, ms)], 8, ps))), 128))]),
5283
5292
  a("g", { transform: `translate(${E(g)}, ${E(B)})` }, [
5284
- E(o) !== "compact" && !E(l) ? (v(), i("g", hs, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
5293
+ E(o) !== "compact" && !E(l) ? (v(), i("g", gs, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
5285
5294
  key: `grid-slot-${e.slotIndex}`,
5286
5295
  transform: `translate(${e.left}, ${e.top})`
5287
5296
  }, [e.series ? r("", !0) : (v(), i("rect", {
@@ -5289,7 +5298,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5289
5298
  class: "waveform-chart__grid-slot-placeholder",
5290
5299
  width: e.width,
5291
5300
  height: e.cellHeight
5292
- }, null, 8, _s))], 8, gs))), 128))])) : r("", !0),
5301
+ }, null, 8, vs))], 8, _s))), 128))])) : r("", !0),
5293
5302
  E(o) !== "independent" && E(R).length && E(H) ? (v(), i("rect", {
5294
5303
  key: 1,
5295
5304
  ref: E(Qe),
@@ -5306,8 +5315,8 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5306
5315
  onPointerleave: T[4] ||= (...e) => E(K) && E(K)(...e),
5307
5316
  onClick: T[5] ||= (...e) => E(q) && E(q)(...e),
5308
5317
  onContextmenu: T[6] ||= (...e) => E(ae) && E(ae)(...e)
5309
- }, null, 42, vs)) : r("", !0),
5310
- (v(!0), i(e, null, x(E(R), (e) => (v(), n(E(Yo), {
5318
+ }, null, 42, ys)) : r("", !0),
5319
+ (v(!0), i(e, null, x(E(R), (e) => (v(), n(E(Xo), {
5311
5320
  key: `${e.index}-${e.id}`,
5312
5321
  track: e,
5313
5322
  "clip-path-id": E(z),
@@ -5353,7 +5362,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5353
5362
  "onClick",
5354
5363
  "onContextmenu"
5355
5364
  ]))), 128)),
5356
- s(E(ss), {
5365
+ s(E(cs), {
5357
5366
  state: E(pe),
5358
5367
  tracks: E(R),
5359
5368
  "clip-path-id": E(z),
@@ -5372,7 +5381,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5372
5381
  width: E(he).width,
5373
5382
  height: E(he).height,
5374
5383
  "aria-hidden": "true"
5375
- }, null, 8, ys)) : r("", !0),
5384
+ }, null, 8, bs)) : r("", !0),
5376
5385
  E(l) ? r("", !0) : (v(), n(E(tt), {
5377
5386
  key: 3,
5378
5387
  annotations: E(ge),
@@ -5391,13 +5400,13 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5391
5400
  "onMove",
5392
5401
  "onDragEnd"
5393
5402
  ])),
5394
- E(l) ? r("", !0) : (v(), i("g", bs, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
5403
+ E(l) ? r("", !0) : (v(), i("g", xs, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
5395
5404
  key: `legend-${e.index}-${e.id}`,
5396
5405
  class: "waveform-chart__legend-track",
5397
5406
  "data-legend-track-index": e.index,
5398
5407
  "data-legend-track-id": e.id,
5399
5408
  transform: `translate(${e.left}, ${e.top})`
5400
- }, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(rs), {
5409
+ }, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(is), {
5401
5410
  key: 0,
5402
5411
  series: e.legendSeries,
5403
5412
  position: E(X)(e.id),
@@ -5418,23 +5427,23 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5418
5427
  "width",
5419
5428
  "height",
5420
5429
  "onToggle"
5421
- ])) : r("", !0)], 8, xs))), 128))]))
5422
- ], 8, ms),
5430
+ ])) : r("", !0)], 8, Ss))), 128))]))
5431
+ ], 8, hs),
5423
5432
  E(De) && !E(l) ? (v(), i("text", {
5424
5433
  key: 0,
5425
5434
  class: "waveform-chart__label waveform-chart__x-label",
5426
5435
  x: E(g) + E(ee) / 2,
5427
5436
  y: E(Oe),
5428
5437
  "text-anchor": "middle"
5429
- }, w(E(De)), 9, Ss)) : r("", !0),
5438
+ }, w(E(De)), 9, Cs)) : r("", !0),
5430
5439
  E(ke) && !E(I) ? (v(), i("text", {
5431
5440
  key: 1,
5432
5441
  class: "waveform-chart__empty",
5433
5442
  x: E(P) / 2,
5434
5443
  y: E(F) / 2,
5435
5444
  "text-anchor": "middle"
5436
- }, " 暂无有效波形数据 ", 8, Cs)) : r("", !0)
5437
- ], 40, ds)),
5445
+ }, " 暂无有效波形数据 ", 8, ws)) : r("", !0)
5446
+ ], 40, fs)),
5438
5447
  E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(se), {
5439
5448
  key: 1,
5440
5449
  class: "waveform-chart__pagination",
@@ -5451,7 +5460,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5451
5460
  "total",
5452
5461
  "onChange"
5453
5462
  ])) : r("", !0),
5454
- E(Le) && !E(l) && !E(u) ? (v(), n(Ha, {
5463
+ E(Le) && !E(l) && !E(u) ? (v(), n(Ua, {
5455
5464
  key: 2,
5456
5465
  annotation: E(Le).annotation,
5457
5466
  mode: E(Le).mode,
@@ -5493,7 +5502,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5493
5502
  "onDelete",
5494
5503
  "onClose"
5495
5504
  ])) : r("", !0),
5496
- s(E(eo), {
5505
+ s(E(to), {
5497
5506
  state: E(pe),
5498
5507
  visible: E(me) && !E(u),
5499
5508
  "time-unit": E(de),
@@ -5506,9 +5515,9 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5506
5515
  "container-width",
5507
5516
  "container-height"
5508
5517
  ])
5509
- ], 46, cs));
5518
+ ], 46, ls));
5510
5519
  }
5511
- }), Ts = /* @__PURE__ */ l({
5520
+ }), Es = /* @__PURE__ */ l({
5512
5521
  __name: "WaveformChart",
5513
5522
  props: {
5514
5523
  data: {},
@@ -5533,6 +5542,7 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5533
5542
  },
5534
5543
  minZoomSpan: {},
5535
5544
  minVisiblePoints: { default: 0 },
5545
+ maxZoomScale: {},
5536
5546
  initialXDomain: {},
5537
5547
  initialXDomains: {},
5538
5548
  xDomainStrategy: { default: () => ({ type: "data" }) },
@@ -5589,12 +5599,12 @@ var po = ["clip-path"], mo = ["data-series-id", "data-series-name"], ho = [
5589
5599
  "sampling-error"
5590
5600
  ],
5591
5601
  setup(e, { expose: t, emit: r }) {
5592
- let i = Ca(e, r);
5602
+ let i = wa(e, r);
5593
5603
  return t({
5594
5604
  resetViewport: i.resetViewport,
5595
5605
  setViewportDomain: i.setViewportDomain
5596
- }), (e, t) => (v(), n(ws, { controller: E(i) }, null, 8, ["controller"]));
5606
+ }), (e, t) => (v(), n(Ts, { controller: E(i) }, null, 8, ["controller"]));
5597
5607
  }
5598
5608
  });
5599
5609
  //#endregion
5600
- export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ts as WaveformChart, gt as buildMinorTicks, pi as calculateWasmRange, It as clamp, kt as displayTime, mi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, di as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, wn as resolveWaveformRenderingOptions, fi as sampleWaveformWasm, Mn as selectRenderablePoints, ft as serializeWaveformAnnotations };
5610
+ export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Es as WaveformChart, gt as buildMinorTicks, mi as calculateWasmRange, It as clamp, kt as displayTime, hi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, fi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, pi as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };