@skzz/components-gis 0.0.6 → 0.0.7

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.es.js CHANGED
@@ -791,13 +791,14 @@ var Fe = {
791
791
  if (x.value.flyTo && o) {
792
792
  let e = !1, t = () => {
793
793
  e || l || (e = !0, s &&= (clearTimeout(s), null), F(r));
794
- };
795
- s = setTimeout(t, Number(x.value.duration || 0) * 1e3 + 800);
794
+ }, i = Number(x.value.duration ?? 1.5);
795
+ s = setTimeout(t, Math.max(i, 0) * 1e3 + 800);
796
796
  try {
797
- n.value.camera.flyTo({
798
- duration: x.value.duration,
797
+ let e = N(o);
798
+ i <= 0 ? (n.value.camera.setView({ destination: e }), n.value.scene?.requestRender?.(), t()) : n.value.camera.flyTo({
799
+ duration: i,
799
800
  easingFunction: D.EasingFunction.LINEAR_NONE,
800
- destination: N(o),
801
+ destination: e,
801
802
  complete: t
802
803
  });
803
804
  } catch (e) {
@@ -2354,17 +2355,17 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2354
2355
  e.pending_buf[e.pending++] = t & 255, e.pending_buf[e.pending++] = t >>> 8 & 255;
2355
2356
  }, H = (e, t, n) => {
2356
2357
  e.bi_valid > ct - n ? (e.bi_buf |= t << e.bi_valid & 65535, jt(e, e.bi_buf), e.bi_buf = t >> ct - e.bi_valid, e.bi_valid += n - ct) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += n);
2357
- }, Mt = (e, t, n) => {
2358
+ }, U = (e, t, n) => {
2358
2359
  H(e, n[t * 2], n[t * 2 + 1]);
2359
- }, Nt = (e, t) => {
2360
+ }, Mt = (e, t) => {
2360
2361
  let n = 0;
2361
2362
  do
2362
2363
  n |= e & 1, e >>>= 1, n <<= 1;
2363
2364
  while (--t > 0);
2364
2365
  return n >>> 1;
2365
- }, Pt = (e) => {
2366
+ }, Nt = (e) => {
2366
2367
  e.bi_valid === 16 ? (jt(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : e.bi_valid >= 8 && (e.pending_buf[e.pending++] = e.bi_buf & 255, e.bi_buf >>= 8, e.bi_valid -= 8);
2367
- }, Ft = (e, t) => {
2368
+ }, Pt = (e, t) => {
2368
2369
  let n = t.dyn_tree, r = t.max_code, i = t.stat_desc.static_tree, a = t.stat_desc.has_stree, o = t.stat_desc.extra_bits, s = t.stat_desc.extra_base, c = t.stat_desc.max_length, l, u, d, f, p, m, h = 0;
2369
2370
  for (f = 0; f <= st; f++) e.bl_count[f] = 0;
2370
2371
  for (n[e.heap[e.heap_max] * 2 + 1] = 0, l = e.heap_max + 1; l < ot; l++) u = e.heap[l], f = n[n[u * 2 + 1] * 2 + 1] + 1, f > c && (f = c, h++), n[u * 2 + 1] = f, !(u > r) && (e.bl_count[f]++, p = 0, u >= s && (p = o[u - s]), m = n[u * 2], e.opt_len += m * (f + p), a && (e.static_len += m * (i[u * 2 + 1] + p)));
@@ -2375,14 +2376,14 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2375
2376
  } while (h > 0);
2376
2377
  for (f = c; f !== 0; f--) for (u = e.bl_count[f]; u !== 0;) d = e.heap[--l], !(d > r) && (n[d * 2 + 1] !== f && (e.opt_len += (f - n[d * 2 + 1]) * n[d * 2], n[d * 2 + 1] = f), u--);
2377
2378
  }
2378
- }, It = (e, t, n) => {
2379
+ }, Ft = (e, t, n) => {
2379
2380
  let r = Array(16), i = 0, a, o;
2380
2381
  for (a = 1; a <= st; a++) i = i + n[a - 1] << 1, r[a] = i;
2381
2382
  for (o = 0; o <= t; o++) {
2382
2383
  let t = e[o * 2 + 1];
2383
- t !== 0 && (e[o * 2] = Nt(r[t]++, t));
2384
+ t !== 0 && (e[o * 2] = Mt(r[t]++, t));
2384
2385
  }
2385
- }, Lt = () => {
2386
+ }, It = () => {
2386
2387
  let e, t, n, r, i, a = Array(16);
2387
2388
  for (n = 0, r = 0; r < tt - 1; r++) for (Ct[r] = n, e = 0; e < 1 << mt[r]; e++) St[n++] = r;
2388
2389
  for (St[n - 1] = r, i = 0, r = 0; r < 16; r++) for (wt[r] = i, e = 0; e < 1 << ht[r]; e++) xt[i++] = r;
@@ -2392,81 +2393,81 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2392
2393
  for (; e <= 255;) yt[e * 2 + 1] = 9, e++, a[9]++;
2393
2394
  for (; e <= 279;) yt[e * 2 + 1] = 7, e++, a[7]++;
2394
2395
  for (; e <= 287;) yt[e * 2 + 1] = 8, e++, a[8]++;
2395
- for (It(yt, 287, a), e = 0; e < it; e++) bt[e * 2 + 1] = 5, bt[e * 2] = Nt(e, 5);
2396
+ for (Ft(yt, 287, a), e = 0; e < it; e++) bt[e * 2 + 1] = 5, bt[e * 2] = Mt(e, 5);
2396
2397
  Et = new Tt(yt, mt, 257, rt, st), Dt = new Tt(bt, ht, 0, it, st), Ot = new Tt([], gt, 0, at, lt);
2397
- }, Rt = (e) => {
2398
+ }, Lt = (e) => {
2398
2399
  let t;
2399
2400
  for (t = 0; t < rt; t++) e.dyn_ltree[t * 2] = 0;
2400
2401
  for (t = 0; t < it; t++) e.dyn_dtree[t * 2] = 0;
2401
2402
  for (t = 0; t < at; t++) e.bl_tree[t * 2] = 0;
2402
2403
  e.dyn_ltree[ut * 2] = 1, e.opt_len = e.static_len = 0, e.sym_next = e.matches = 0;
2403
- }, zt = (e) => {
2404
+ }, Rt = (e) => {
2404
2405
  e.bi_valid > 8 ? jt(e, e.bi_buf) : e.bi_valid > 0 && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0;
2405
- }, Bt = (e, t, n, r) => {
2406
+ }, zt = (e, t, n, r) => {
2406
2407
  let i = t * 2, a = n * 2;
2407
2408
  return e[i] < e[a] || e[i] === e[a] && r[t] <= r[n];
2408
- }, Vt = (e, t, n) => {
2409
+ }, Bt = (e, t, n) => {
2409
2410
  let r = e.heap[n], i = n << 1;
2410
- for (; i <= e.heap_len && (i < e.heap_len && Bt(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !Bt(t, r, e.heap[i], e.depth));) e.heap[n] = e.heap[i], n = i, i <<= 1;
2411
+ for (; i <= e.heap_len && (i < e.heap_len && zt(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !zt(t, r, e.heap[i], e.depth));) e.heap[n] = e.heap[i], n = i, i <<= 1;
2411
2412
  e.heap[n] = r;
2412
- }, Ht = (e, t, n) => {
2413
+ }, Vt = (e, t, n) => {
2413
2414
  let r, i, a = 0, o, s;
2414
2415
  if (e.sym_next !== 0) do
2415
- r = e.pending_buf[e.sym_buf + a++] & 255, r += (e.pending_buf[e.sym_buf + a++] & 255) << 8, i = e.pending_buf[e.sym_buf + a++], r === 0 ? Mt(e, i, t) : (o = St[i], Mt(e, o + nt + 1, t), s = mt[o], s !== 0 && (i -= Ct[o], H(e, i, s)), r--, o = At(r), Mt(e, o, n), s = ht[o], s !== 0 && (r -= wt[o], H(e, r, s)));
2416
+ r = e.pending_buf[e.sym_buf + a++] & 255, r += (e.pending_buf[e.sym_buf + a++] & 255) << 8, i = e.pending_buf[e.sym_buf + a++], r === 0 ? U(e, i, t) : (o = St[i], U(e, o + nt + 1, t), s = mt[o], s !== 0 && (i -= Ct[o], H(e, i, s)), r--, o = At(r), U(e, o, n), s = ht[o], s !== 0 && (r -= wt[o], H(e, r, s)));
2416
2417
  while (a < e.sym_next);
2417
- Mt(e, ut, t);
2418
- }, Ut = (e, t) => {
2418
+ U(e, ut, t);
2419
+ }, Ht = (e, t) => {
2419
2420
  let n = t.dyn_tree, r = t.stat_desc.static_tree, i = t.stat_desc.has_stree, a = t.stat_desc.elems, o, s, c = -1, l;
2420
2421
  for (e.heap_len = 0, e.heap_max = ot, o = 0; o < a; o++) n[o * 2] === 0 ? n[o * 2 + 1] = 0 : (e.heap[++e.heap_len] = c = o, e.depth[o] = 0);
2421
2422
  for (; e.heap_len < 2;) l = e.heap[++e.heap_len] = c < 2 ? ++c : 0, n[l * 2] = 1, e.depth[l] = 0, e.opt_len--, i && (e.static_len -= r[l * 2 + 1]);
2422
- for (t.max_code = c, o = e.heap_len >> 1; o >= 1; o--) Vt(e, n, o);
2423
+ for (t.max_code = c, o = e.heap_len >> 1; o >= 1; o--) Bt(e, n, o);
2423
2424
  l = a;
2424
2425
  do
2425
- o = e.heap[1], e.heap[1] = e.heap[e.heap_len--], Vt(e, n, 1), s = e.heap[1], e.heap[--e.heap_max] = o, e.heap[--e.heap_max] = s, n[l * 2] = n[o * 2] + n[s * 2], e.depth[l] = (e.depth[o] >= e.depth[s] ? e.depth[o] : e.depth[s]) + 1, n[o * 2 + 1] = n[s * 2 + 1] = l, e.heap[1] = l++, Vt(e, n, 1);
2426
+ o = e.heap[1], e.heap[1] = e.heap[e.heap_len--], Bt(e, n, 1), s = e.heap[1], e.heap[--e.heap_max] = o, e.heap[--e.heap_max] = s, n[l * 2] = n[o * 2] + n[s * 2], e.depth[l] = (e.depth[o] >= e.depth[s] ? e.depth[o] : e.depth[s]) + 1, n[o * 2 + 1] = n[s * 2 + 1] = l, e.heap[1] = l++, Bt(e, n, 1);
2426
2427
  while (e.heap_len >= 2);
2427
- e.heap[--e.heap_max] = e.heap[1], Ft(e, t), It(n, c, e.bl_count);
2428
- }, Wt = (e, t, n) => {
2428
+ e.heap[--e.heap_max] = e.heap[1], Pt(e, t), Ft(n, c, e.bl_count);
2429
+ }, Ut = (e, t, n) => {
2429
2430
  let r, i = -1, a, o = t[1], s = 0, c = 7, l = 4;
2430
2431
  for (o === 0 && (c = 138, l = 3), t[(n + 1) * 2 + 1] = 65535, r = 0; r <= n; r++) a = o, o = t[(r + 1) * 2 + 1], !(++s < c && a === o) && (s < l ? e.bl_tree[a * 2] += s : a === 0 ? s <= 10 ? e.bl_tree[ft * 2]++ : e.bl_tree[pt * 2]++ : (a !== i && e.bl_tree[a * 2]++, e.bl_tree[dt * 2]++), s = 0, i = a, o === 0 ? (c = 138, l = 3) : a === o ? (c = 6, l = 3) : (c = 7, l = 4));
2431
- }, Gt = (e, t, n) => {
2432
+ }, Wt = (e, t, n) => {
2432
2433
  let r, i = -1, a, o = t[1], s = 0, c = 7, l = 4;
2433
2434
  for (o === 0 && (c = 138, l = 3), r = 0; r <= n; r++) if (a = o, o = t[(r + 1) * 2 + 1], !(++s < c && a === o)) {
2434
2435
  if (s < l) do
2435
- Mt(e, a, e.bl_tree);
2436
+ U(e, a, e.bl_tree);
2436
2437
  while (--s !== 0);
2437
- else a === 0 ? s <= 10 ? (Mt(e, ft, e.bl_tree), H(e, s - 3, 3)) : (Mt(e, pt, e.bl_tree), H(e, s - 11, 7)) : (a !== i && (Mt(e, a, e.bl_tree), s--), Mt(e, dt, e.bl_tree), H(e, s - 3, 2));
2438
+ else a === 0 ? s <= 10 ? (U(e, ft, e.bl_tree), H(e, s - 3, 3)) : (U(e, pt, e.bl_tree), H(e, s - 11, 7)) : (a !== i && (U(e, a, e.bl_tree), s--), U(e, dt, e.bl_tree), H(e, s - 3, 2));
2438
2439
  s = 0, i = a, o === 0 ? (c = 138, l = 3) : a === o ? (c = 6, l = 3) : (c = 7, l = 4);
2439
2440
  }
2440
- }, Kt = (e) => {
2441
+ }, Gt = (e) => {
2441
2442
  let t;
2442
- for (Wt(e, e.dyn_ltree, e.l_desc.max_code), Wt(e, e.dyn_dtree, e.d_desc.max_code), Ut(e, e.bl_desc), t = at - 1; t >= 3 && e.bl_tree[_t[t] * 2 + 1] === 0; t--);
2443
+ for (Ut(e, e.dyn_ltree, e.l_desc.max_code), Ut(e, e.dyn_dtree, e.d_desc.max_code), Ht(e, e.bl_desc), t = at - 1; t >= 3 && e.bl_tree[_t[t] * 2 + 1] === 0; t--);
2443
2444
  return e.opt_len += 3 * (t + 1) + 5 + 5 + 4, t;
2444
- }, qt = (e, t, n, r) => {
2445
+ }, Kt = (e, t, n, r) => {
2445
2446
  let i;
2446
2447
  for (H(e, t - 257, 5), H(e, n - 1, 5), H(e, r - 4, 4), i = 0; i < r; i++) H(e, e.bl_tree[_t[i] * 2 + 1], 3);
2447
- Gt(e, e.dyn_ltree, t - 1), Gt(e, e.dyn_dtree, n - 1);
2448
- }, Jt = (e) => {
2448
+ Wt(e, e.dyn_ltree, t - 1), Wt(e, e.dyn_dtree, n - 1);
2449
+ }, qt = (e) => {
2449
2450
  let t = 4093624447, n;
2450
2451
  for (n = 0; n <= 31; n++, t >>>= 1) if (t & 1 && e.dyn_ltree[n * 2] !== 0) return Je;
2451
2452
  if (e.dyn_ltree[18] !== 0 || e.dyn_ltree[20] !== 0 || e.dyn_ltree[26] !== 0) return Ye;
2452
2453
  for (n = 32; n < nt; n++) if (e.dyn_ltree[n * 2] !== 0) return Ye;
2453
2454
  return Je;
2454
- }, Yt = !1, Xt = (e) => {
2455
- Yt ||= (Lt(), !0), e.l_desc = new kt(e.dyn_ltree, Et), e.d_desc = new kt(e.dyn_dtree, Dt), e.bl_desc = new kt(e.bl_tree, Ot), e.bi_buf = 0, e.bi_valid = 0, Rt(e);
2456
- }, Zt = (e, t, n, r) => {
2457
- H(e, (Qe << 1) + +!!r, 3), zt(e), jt(e, n), jt(e, ~n), n && e.pending_buf.set(e.window.subarray(t, t + n), e.pending), e.pending += n;
2458
- }, Qt = {
2459
- _tr_init: Xt,
2460
- _tr_stored_block: Zt,
2455
+ }, Jt = !1, Yt = (e) => {
2456
+ Jt ||= (It(), !0), e.l_desc = new kt(e.dyn_ltree, Et), e.d_desc = new kt(e.dyn_dtree, Dt), e.bl_desc = new kt(e.bl_tree, Ot), e.bi_buf = 0, e.bi_valid = 0, Lt(e);
2457
+ }, Xt = (e, t, n, r) => {
2458
+ H(e, (Qe << 1) + +!!r, 3), Rt(e), jt(e, n), jt(e, ~n), n && e.pending_buf.set(e.window.subarray(t, t + n), e.pending), e.pending += n;
2459
+ }, Zt = {
2460
+ _tr_init: Yt,
2461
+ _tr_stored_block: Xt,
2461
2462
  _tr_flush_block: (e, t, n, r) => {
2462
2463
  let i, a, o = 0;
2463
- e.level > 0 ? (e.strm.data_type === Xe && (e.strm.data_type = Jt(e)), Ut(e, e.l_desc), Ut(e, e.d_desc), o = Kt(e), i = e.opt_len + 3 + 7 >>> 3, a = e.static_len + 3 + 7 >>> 3, a <= i && (i = a)) : i = a = n + 5, n + 4 <= i && t !== -1 ? Zt(e, t, n, r) : e.strategy === qe || a === i ? (H(e, ($e << 1) + +!!r, 3), Ht(e, yt, bt)) : (H(e, (et << 1) + +!!r, 3), qt(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, o + 1), Ht(e, e.dyn_ltree, e.dyn_dtree)), Rt(e), r && zt(e);
2464
+ e.level > 0 ? (e.strm.data_type === Xe && (e.strm.data_type = qt(e)), Ht(e, e.l_desc), Ht(e, e.d_desc), o = Gt(e), i = e.opt_len + 3 + 7 >>> 3, a = e.static_len + 3 + 7 >>> 3, a <= i && (i = a)) : i = a = n + 5, n + 4 <= i && t !== -1 ? Xt(e, t, n, r) : e.strategy === qe || a === i ? (H(e, ($e << 1) + +!!r, 3), Vt(e, yt, bt)) : (H(e, (et << 1) + +!!r, 3), Kt(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, o + 1), Vt(e, e.dyn_ltree, e.dyn_dtree)), Lt(e), r && Rt(e);
2464
2465
  },
2465
2466
  _tr_tally: (e, t, n) => (e.pending_buf[e.sym_buf + e.sym_next++] = t, e.pending_buf[e.sym_buf + e.sym_next++] = t >> 8, e.pending_buf[e.sym_buf + e.sym_next++] = n, t === 0 ? e.dyn_ltree[n * 2]++ : (e.matches++, t--, e.dyn_ltree[(St[n] + nt + 1) * 2]++, e.dyn_dtree[At(t) * 2]++), e.sym_next === e.sym_end),
2466
2467
  _tr_align: (e) => {
2467
- H(e, $e << 1, 3), Mt(e, ut, yt), Pt(e);
2468
+ H(e, $e << 1, 3), U(e, ut, yt), Nt(e);
2468
2469
  }
2469
- }, $t = (e, t, n, r) => {
2470
+ }, Qt = (e, t, n, r) => {
2470
2471
  let i = e & 65535 | 0, a = e >>> 16 & 65535 | 0, o = 0;
2471
2472
  for (; n !== 0;) {
2472
2473
  o = n > 2e3 ? 2e3 : n, n -= o;
@@ -2476,7 +2477,7 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2476
2477
  i %= 65521, a %= 65521;
2477
2478
  }
2478
2479
  return i | a << 16 | 0;
2479
- }, en = new Uint32Array((() => {
2480
+ }, $t = new Uint32Array((() => {
2480
2481
  let e, t = [];
2481
2482
  for (var n = 0; n < 256; n++) {
2482
2483
  e = n;
@@ -2484,12 +2485,12 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2484
2485
  t[n] = e;
2485
2486
  }
2486
2487
  return t;
2487
- })()), U = (e, t, n, r) => {
2488
- let i = en, a = r + n;
2488
+ })()), W = (e, t, n, r) => {
2489
+ let i = $t, a = r + n;
2489
2490
  e ^= -1;
2490
2491
  for (let n = r; n < a; n++) e = e >>> 8 ^ i[(e ^ t[n]) & 255];
2491
2492
  return e ^ -1;
2492
- }, tn = {
2493
+ }, en = {
2493
2494
  2: "need dictionary",
2494
2495
  1: "stream end",
2495
2496
  0: "",
@@ -2499,7 +2500,7 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2499
2500
  "-4": "insufficient memory",
2500
2501
  "-5": "buffer error",
2501
2502
  "-6": "incompatible version"
2502
- }, nn = {
2503
+ }, tn = {
2503
2504
  Z_NO_FLUSH: 0,
2504
2505
  Z_PARTIAL_FLUSH: 1,
2505
2506
  Z_SYNC_FLUSH: 2,
@@ -2528,7 +2529,7 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2528
2529
  Z_TEXT: 1,
2529
2530
  Z_UNKNOWN: 2,
2530
2531
  Z_DEFLATED: 8
2531
- }, { _tr_init: rn, _tr_stored_block: an, _tr_flush_block: on, _tr_tally: sn, _tr_align: cn } = Qt, { Z_NO_FLUSH: ln, Z_PARTIAL_FLUSH: un, Z_FULL_FLUSH: dn, Z_FINISH: W, Z_BLOCK: fn, Z_OK: G, Z_STREAM_END: pn, Z_STREAM_ERROR: K, Z_DATA_ERROR: mn, Z_BUF_ERROR: hn, Z_DEFAULT_COMPRESSION: gn, Z_FILTERED: _n, Z_HUFFMAN_ONLY: vn, Z_RLE: yn, Z_FIXED: bn, Z_DEFAULT_STRATEGY: xn, Z_UNKNOWN: Sn, Z_DEFLATED: Cn } = nn, wn = 9, Tn = 15, En = 8, Dn = 573, q = 3, On = 258, kn = 262, An = 32, jn = 42, Mn = 57, Nn = 69, Pn = 73, Fn = 91, In = 103, Ln = 113, Rn = 666, J = 1, zn = 2, Bn = 3, Vn = 4, Hn = 3, Un = (e, t) => (e.msg = tn[t], t), Wn = (e) => e * 2 - (e > 4 ? 9 : 0), Gn = (e) => {
2532
+ }, { _tr_init: nn, _tr_stored_block: rn, _tr_flush_block: an, _tr_tally: on, _tr_align: sn } = Zt, { Z_NO_FLUSH: cn, Z_PARTIAL_FLUSH: ln, Z_FULL_FLUSH: un, Z_FINISH: G, Z_BLOCK: dn, Z_OK: K, Z_STREAM_END: fn, Z_STREAM_ERROR: pn, Z_DATA_ERROR: mn, Z_BUF_ERROR: hn, Z_DEFAULT_COMPRESSION: gn, Z_FILTERED: _n, Z_HUFFMAN_ONLY: vn, Z_RLE: yn, Z_FIXED: bn, Z_DEFAULT_STRATEGY: xn, Z_UNKNOWN: Sn, Z_DEFLATED: Cn } = tn, wn = 9, Tn = 15, En = 8, Dn = 573, q = 3, On = 258, kn = 262, An = 32, jn = 42, Mn = 57, Nn = 69, Pn = 73, Fn = 91, In = 103, Ln = 113, Rn = 666, J = 1, zn = 2, Bn = 3, Vn = 4, Hn = 3, Un = (e, t) => (e.msg = en[t], t), Wn = (e) => e * 2 - (e > 4 ? 9 : 0), Gn = (e) => {
2532
2533
  let t = e.length;
2533
2534
  for (; --t >= 0;) e[t] = 0;
2534
2535
  }, Kn = (e) => {
@@ -2545,14 +2546,14 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2545
2546
  let t = e.state, n = t.pending;
2546
2547
  n > e.avail_out && (n = e.avail_out), n !== 0 && (e.output.set(t.pending_buf.subarray(t.pending_out, t.pending_out + n), e.next_out), e.next_out += n, t.pending_out += n, e.total_out += n, e.avail_out -= n, t.pending -= n, t.pending === 0 && (t.pending_out = 0));
2547
2548
  }, X = (e, t) => {
2548
- on(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, Y(e.strm);
2549
+ an(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, Y(e.strm);
2549
2550
  }, Z = (e, t) => {
2550
2551
  e.pending_buf[e.pending++] = t;
2551
2552
  }, Jn = (e, t) => {
2552
2553
  e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = t & 255;
2553
2554
  }, Yn = (e, t, n, r) => {
2554
2555
  let i = e.avail_in;
2555
- return i > r && (i = r), i === 0 ? 0 : (e.avail_in -= i, t.set(e.input.subarray(e.next_in, e.next_in + i), n), e.state.wrap === 1 ? e.adler = $t(e.adler, t, i, n) : e.state.wrap === 2 && (e.adler = U(e.adler, t, i, n)), e.next_in += i, e.total_in += i, i);
2556
+ return i > r && (i = r), i === 0 ? 0 : (e.avail_in -= i, t.set(e.input.subarray(e.next_in, e.next_in + i), n), e.state.wrap === 1 ? e.adler = Qt(e.adler, t, i, n) : e.state.wrap === 2 && (e.adler = W(e.adler, t, i, n)), e.next_in += i, e.total_in += i, i);
2556
2557
  }, Xn = (e, t) => {
2557
2558
  let n = e.max_chain_length, r = e.strstart, i, a, o = e.prev_length, s = e.nice_match, c = e.strstart > e.w_size - kn ? e.strstart - (e.w_size - kn) : 0, l = e.window, u = e.w_mask, d = e.prev, f = e.strstart + On, p = l[r + o - 1], m = l[r + o];
2558
2559
  e.prev_length >= e.good_match && (n >>= 2), s > e.lookahead && (s = e.lookahead);
@@ -2576,51 +2577,51 @@ while (l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] ===
2576
2577
  }, Qn = (e, t) => {
2577
2578
  let n = e.pending_buf_size - 5 > e.w_size ? e.w_size : e.pending_buf_size - 5, r, i, a, o = 0, s = e.strm.avail_in;
2578
2579
  do {
2579
- if (r = 65535, a = e.bi_valid + 42 >> 3, e.strm.avail_out < a || (a = e.strm.avail_out - a, i = e.strstart - e.block_start, r > i + e.strm.avail_in && (r = i + e.strm.avail_in), r > a && (r = a), r < n && (r === 0 && t !== W || t === ln || r !== i + e.strm.avail_in))) break;
2580
- o = +(t === W && r === i + e.strm.avail_in), an(e, 0, 0, o), e.pending_buf[e.pending - 4] = r, e.pending_buf[e.pending - 3] = r >> 8, e.pending_buf[e.pending - 2] = ~r, e.pending_buf[e.pending - 1] = ~r >> 8, Y(e.strm), i && (i > r && (i = r), e.strm.output.set(e.window.subarray(e.block_start, e.block_start + i), e.strm.next_out), e.strm.next_out += i, e.strm.avail_out -= i, e.strm.total_out += i, e.block_start += i, r -= i), r && (Yn(e.strm, e.strm.output, e.strm.next_out, r), e.strm.next_out += r, e.strm.avail_out -= r, e.strm.total_out += r);
2580
+ if (r = 65535, a = e.bi_valid + 42 >> 3, e.strm.avail_out < a || (a = e.strm.avail_out - a, i = e.strstart - e.block_start, r > i + e.strm.avail_in && (r = i + e.strm.avail_in), r > a && (r = a), r < n && (r === 0 && t !== G || t === cn || r !== i + e.strm.avail_in))) break;
2581
+ o = +(t === G && r === i + e.strm.avail_in), rn(e, 0, 0, o), e.pending_buf[e.pending - 4] = r, e.pending_buf[e.pending - 3] = r >> 8, e.pending_buf[e.pending - 2] = ~r, e.pending_buf[e.pending - 1] = ~r >> 8, Y(e.strm), i && (i > r && (i = r), e.strm.output.set(e.window.subarray(e.block_start, e.block_start + i), e.strm.next_out), e.strm.next_out += i, e.strm.avail_out -= i, e.strm.total_out += i, e.block_start += i, r -= i), r && (Yn(e.strm, e.strm.output, e.strm.next_out, r), e.strm.next_out += r, e.strm.avail_out -= r, e.strm.total_out += r);
2581
2582
  } while (o === 0);
2582
- return s -= e.strm.avail_in, s && (s >= e.w_size ? (e.matches = 2, e.window.set(e.strm.input.subarray(e.strm.next_in - e.w_size, e.strm.next_in), 0), e.strstart = e.w_size, e.insert = e.strstart) : (e.window_size - e.strstart <= s && (e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, e.insert > e.strstart && (e.insert = e.strstart)), e.window.set(e.strm.input.subarray(e.strm.next_in - s, e.strm.next_in), e.strstart), e.strstart += s, e.insert += s > e.w_size - e.insert ? e.w_size - e.insert : s), e.block_start = e.strstart), e.high_water < e.strstart && (e.high_water = e.strstart), o ? Vn : t !== ln && t !== W && e.strm.avail_in === 0 && e.strstart === e.block_start ? zn : (a = e.window_size - e.strstart, e.strm.avail_in > a && e.block_start >= e.w_size && (e.block_start -= e.w_size, e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, a += e.w_size, e.insert > e.strstart && (e.insert = e.strstart)), a > e.strm.avail_in && (a = e.strm.avail_in), a && (Yn(e.strm, e.window, e.strstart, a), e.strstart += a, e.insert += a > e.w_size - e.insert ? e.w_size - e.insert : a), e.high_water < e.strstart && (e.high_water = e.strstart), a = e.bi_valid + 42 >> 3, a = e.pending_buf_size - a > 65535 ? 65535 : e.pending_buf_size - a, n = a > e.w_size ? e.w_size : a, i = e.strstart - e.block_start, (i >= n || (i || t === W) && t !== ln && e.strm.avail_in === 0 && i <= a) && (r = i > a ? a : i, o = +(t === W && e.strm.avail_in === 0 && r === i), an(e, e.block_start, r, o), e.block_start += r, Y(e.strm)), o ? Bn : J);
2583
+ return s -= e.strm.avail_in, s && (s >= e.w_size ? (e.matches = 2, e.window.set(e.strm.input.subarray(e.strm.next_in - e.w_size, e.strm.next_in), 0), e.strstart = e.w_size, e.insert = e.strstart) : (e.window_size - e.strstart <= s && (e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, e.insert > e.strstart && (e.insert = e.strstart)), e.window.set(e.strm.input.subarray(e.strm.next_in - s, e.strm.next_in), e.strstart), e.strstart += s, e.insert += s > e.w_size - e.insert ? e.w_size - e.insert : s), e.block_start = e.strstart), e.high_water < e.strstart && (e.high_water = e.strstart), o ? Vn : t !== cn && t !== G && e.strm.avail_in === 0 && e.strstart === e.block_start ? zn : (a = e.window_size - e.strstart, e.strm.avail_in > a && e.block_start >= e.w_size && (e.block_start -= e.w_size, e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, a += e.w_size, e.insert > e.strstart && (e.insert = e.strstart)), a > e.strm.avail_in && (a = e.strm.avail_in), a && (Yn(e.strm, e.window, e.strstart, a), e.strstart += a, e.insert += a > e.w_size - e.insert ? e.w_size - e.insert : a), e.high_water < e.strstart && (e.high_water = e.strstart), a = e.bi_valid + 42 >> 3, a = e.pending_buf_size - a > 65535 ? 65535 : e.pending_buf_size - a, n = a > e.w_size ? e.w_size : a, i = e.strstart - e.block_start, (i >= n || (i || t === G) && t !== cn && e.strm.avail_in === 0 && i <= a) && (r = i > a ? a : i, o = +(t === G && e.strm.avail_in === 0 && r === i), rn(e, e.block_start, r, o), e.block_start += r, Y(e.strm)), o ? Bn : J);
2583
2584
  }, $n = (e, t) => {
2584
2585
  let n, r;
2585
2586
  for (;;) {
2586
2587
  if (e.lookahead < kn) {
2587
- if (Zn(e), e.lookahead < kn && t === ln) return J;
2588
+ if (Zn(e), e.lookahead < kn && t === cn) return J;
2588
2589
  if (e.lookahead === 0) break;
2589
2590
  }
2590
- if (n = 0, e.lookahead >= q && (e.ins_h = qn(e, e.ins_h, e.window[e.strstart + q - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), n !== 0 && e.strstart - n <= e.w_size - kn && (e.match_length = Xn(e, n)), e.match_length >= q) if (r = sn(e, e.strstart - e.match_start, e.match_length - q), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= q) {
2591
+ if (n = 0, e.lookahead >= q && (e.ins_h = qn(e, e.ins_h, e.window[e.strstart + q - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), n !== 0 && e.strstart - n <= e.w_size - kn && (e.match_length = Xn(e, n)), e.match_length >= q) if (r = on(e, e.strstart - e.match_start, e.match_length - q), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= q) {
2591
2592
  e.match_length--;
2592
2593
  do
2593
2594
  e.strstart++, e.ins_h = qn(e, e.ins_h, e.window[e.strstart + q - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart;
2594
2595
  while (--e.match_length !== 0);
2595
2596
  e.strstart++;
2596
2597
  } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = qn(e, e.ins_h, e.window[e.strstart + 1]);
2597
- else r = sn(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++;
2598
+ else r = on(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++;
2598
2599
  if (r && (X(e, !1), e.strm.avail_out === 0)) return J;
2599
2600
  }
2600
- return e.insert = e.strstart < q - 1 ? e.strstart : q - 1, t === W ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2601
+ return e.insert = e.strstart < q - 1 ? e.strstart : q - 1, t === G ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2601
2602
  }, er = (e, t) => {
2602
2603
  let n, r, i;
2603
2604
  for (;;) {
2604
2605
  if (e.lookahead < kn) {
2605
- if (Zn(e), e.lookahead < kn && t === ln) return J;
2606
+ if (Zn(e), e.lookahead < kn && t === cn) return J;
2606
2607
  if (e.lookahead === 0) break;
2607
2608
  }
2608
2609
  if (n = 0, e.lookahead >= q && (e.ins_h = qn(e, e.ins_h, e.window[e.strstart + q - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = q - 1, n !== 0 && e.prev_length < e.max_lazy_match && e.strstart - n <= e.w_size - kn && (e.match_length = Xn(e, n), e.match_length <= 5 && (e.strategy === _n || e.match_length === q && e.strstart - e.match_start > 4096) && (e.match_length = q - 1)), e.prev_length >= q && e.match_length <= e.prev_length) {
2609
- i = e.strstart + e.lookahead - q, r = sn(e, e.strstart - 1 - e.prev_match, e.prev_length - q), e.lookahead -= e.prev_length - 1, e.prev_length -= 2;
2610
+ i = e.strstart + e.lookahead - q, r = on(e, e.strstart - 1 - e.prev_match, e.prev_length - q), e.lookahead -= e.prev_length - 1, e.prev_length -= 2;
2610
2611
  do
2611
2612
  ++e.strstart <= i && (e.ins_h = qn(e, e.ins_h, e.window[e.strstart + q - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart);
2612
2613
  while (--e.prev_length !== 0);
2613
2614
  if (e.match_available = 0, e.match_length = q - 1, e.strstart++, r && (X(e, !1), e.strm.avail_out === 0)) return J;
2614
2615
  } else if (e.match_available) {
2615
- if (r = sn(e, 0, e.window[e.strstart - 1]), r && X(e, !1), e.strstart++, e.lookahead--, e.strm.avail_out === 0) return J;
2616
+ if (r = on(e, 0, e.window[e.strstart - 1]), r && X(e, !1), e.strstart++, e.lookahead--, e.strm.avail_out === 0) return J;
2616
2617
  } else e.match_available = 1, e.strstart++, e.lookahead--;
2617
2618
  }
2618
- return e.match_available &&= (r = sn(e, 0, e.window[e.strstart - 1]), 0), e.insert = e.strstart < q - 1 ? e.strstart : q - 1, t === W ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2619
+ return e.match_available &&= (r = on(e, 0, e.window[e.strstart - 1]), 0), e.insert = e.strstart < q - 1 ? e.strstart : q - 1, t === G ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2619
2620
  }, tr = (e, t) => {
2620
2621
  let n, r, i, a, o = e.window;
2621
2622
  for (;;) {
2622
2623
  if (e.lookahead <= On) {
2623
- if (Zn(e), e.lookahead <= On && t === ln) return J;
2624
+ if (Zn(e), e.lookahead <= On && t === cn) return J;
2624
2625
  if (e.lookahead === 0) break;
2625
2626
  }
2626
2627
  if (e.match_length = 0, e.lookahead >= q && e.strstart > 0 && (i = e.strstart - 1, r = o[i], r === o[++i] && r === o[++i] && r === o[++i])) {
@@ -2629,19 +2630,19 @@ while (l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] ===
2629
2630
  while (r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && i < a);
2630
2631
  e.match_length = On - (a - i), e.match_length > e.lookahead && (e.match_length = e.lookahead);
2631
2632
  }
2632
- if (e.match_length >= q ? (n = sn(e, 1, e.match_length - q), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (n = sn(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), n && (X(e, !1), e.strm.avail_out === 0)) return J;
2633
+ if (e.match_length >= q ? (n = on(e, 1, e.match_length - q), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (n = on(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), n && (X(e, !1), e.strm.avail_out === 0)) return J;
2633
2634
  }
2634
- return e.insert = 0, t === W ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2635
+ return e.insert = 0, t === G ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2635
2636
  }, nr = (e, t) => {
2636
2637
  let n;
2637
2638
  for (;;) {
2638
2639
  if (e.lookahead === 0 && (Zn(e), e.lookahead === 0)) {
2639
- if (t === ln) return J;
2640
+ if (t === cn) return J;
2640
2641
  break;
2641
2642
  }
2642
- if (e.match_length = 0, n = sn(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, n && (X(e, !1), e.strm.avail_out === 0)) return J;
2643
+ if (e.match_length = 0, n = on(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, n && (X(e, !1), e.strm.avail_out === 0)) return J;
2643
2644
  }
2644
- return e.insert = 0, t === W ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2645
+ return e.insert = 0, t === G ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2645
2646
  };
2646
2647
  function rr(e, t, n, r, i) {
2647
2648
  this.good_length = e, this.max_lazy = t, this.nice_length = n, this.max_chain = r, this.func = i;
@@ -2668,17 +2669,17 @@ var sr = (e) => {
2668
2669
  let t = e.state;
2669
2670
  return +(!t || t.strm !== e || t.status !== jn && t.status !== Mn && t.status !== Nn && t.status !== Pn && t.status !== Fn && t.status !== In && t.status !== Ln && t.status !== Rn);
2670
2671
  }, cr = (e) => {
2671
- if (sr(e)) return Un(e, K);
2672
+ if (sr(e)) return Un(e, pn);
2672
2673
  e.total_in = e.total_out = 0, e.data_type = Sn;
2673
2674
  let t = e.state;
2674
- return t.pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap === 2 ? Mn : t.wrap ? jn : Ln, e.adler = t.wrap === 2 ? 0 : 1, t.last_flush = -2, rn(t), G;
2675
+ return t.pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap === 2 ? Mn : t.wrap ? jn : Ln, e.adler = t.wrap === 2 ? 0 : 1, t.last_flush = -2, nn(t), K;
2675
2676
  }, lr = (e) => {
2676
2677
  let t = cr(e);
2677
- return t === G && ar(e.state), t;
2678
- }, ur = (e, t) => sr(e) || e.state.wrap !== 2 ? K : (e.state.gzhead = t, G), dr = (e, t, n, r, i, a) => {
2679
- if (!e) return K;
2678
+ return t === K && ar(e.state), t;
2679
+ }, ur = (e, t) => sr(e) || e.state.wrap !== 2 ? pn : (e.state.gzhead = t, K), dr = (e, t, n, r, i, a) => {
2680
+ if (!e) return pn;
2680
2681
  let o = 1;
2681
- if (t === gn && (t = 6), r < 0 ? (o = 0, r = -r) : r > 15 && (o = 2, r -= 16), i < 1 || i > wn || n !== Cn || r < 8 || r > 15 || t < 0 || t > 9 || a < 0 || a > bn || r === 8 && o !== 1) return Un(e, K);
2682
+ if (t === gn && (t = 6), r < 0 ? (o = 0, r = -r) : r > 15 && (o = 2, r -= 16), i < 1 || i > wn || n !== Cn || r < 8 || r > 15 || t < 0 || t > 9 || a < 0 || a > bn || r === 8 && o !== 1) return Un(e, pn);
2682
2683
  r === 8 && (r = 9);
2683
2684
  let s = new or();
2684
2685
  return e.state = s, s.strm = e, s.status = jn, s.wrap = o, s.gzhead = null, s.w_bits = r, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = i + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + q - 1) / q), s.window = new Uint8Array(s.w_size * 2), s.head = new Uint16Array(s.hash_size), s.prev = new Uint16Array(s.w_size), s.lit_bufsize = 1 << i + 6, s.pending_buf_size = s.lit_bufsize * 4, s.pending_buf = new Uint8Array(s.pending_buf_size), s.sym_buf = s.lit_bufsize, s.sym_end = (s.lit_bufsize - 1) * 3, s.level = t, s.strategy = a, s.method = n, lr(e);
@@ -2689,32 +2690,32 @@ var sr = (e) => {
2689
2690
  deflateResetKeep: cr,
2690
2691
  deflateSetHeader: ur,
2691
2692
  deflate: (e, t) => {
2692
- if (sr(e) || t > fn || t < 0) return e ? Un(e, K) : K;
2693
+ if (sr(e) || t > dn || t < 0) return e ? Un(e, pn) : pn;
2693
2694
  let n = e.state;
2694
- if (!e.output || e.avail_in !== 0 && !e.input || n.status === Rn && t !== W) return Un(e, e.avail_out === 0 ? hn : K);
2695
+ if (!e.output || e.avail_in !== 0 && !e.input || n.status === Rn && t !== G) return Un(e, e.avail_out === 0 ? hn : pn);
2695
2696
  let r = n.last_flush;
2696
2697
  if (n.last_flush = t, n.pending !== 0) {
2697
- if (Y(e), e.avail_out === 0) return n.last_flush = -1, G;
2698
- } else if (e.avail_in === 0 && Wn(t) <= Wn(r) && t !== W) return Un(e, hn);
2698
+ if (Y(e), e.avail_out === 0) return n.last_flush = -1, K;
2699
+ } else if (e.avail_in === 0 && Wn(t) <= Wn(r) && t !== G) return Un(e, hn);
2699
2700
  if (n.status === Rn && e.avail_in !== 0) return Un(e, hn);
2700
2701
  if (n.status === jn && n.wrap === 0 && (n.status = Ln), n.status === jn) {
2701
2702
  let t = Cn + (n.w_bits - 8 << 4) << 8, r = -1;
2702
- if (r = n.strategy >= vn || n.level < 2 ? 0 : n.level < 6 ? 1 : n.level === 6 ? 2 : 3, t |= r << 6, n.strstart !== 0 && (t |= An), t += 31 - t % 31, Jn(n, t), n.strstart !== 0 && (Jn(n, e.adler >>> 16), Jn(n, e.adler & 65535)), e.adler = 1, n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, G;
2703
+ if (r = n.strategy >= vn || n.level < 2 ? 0 : n.level < 6 ? 1 : n.level === 6 ? 2 : 3, t |= r << 6, n.strstart !== 0 && (t |= An), t += 31 - t % 31, Jn(n, t), n.strstart !== 0 && (Jn(n, e.adler >>> 16), Jn(n, e.adler & 65535)), e.adler = 1, n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, K;
2703
2704
  }
2704
2705
  if (n.status === Mn) {
2705
- if (e.adler = 0, Z(n, 31), Z(n, 139), Z(n, 8), n.gzhead) Z(n, +!!n.gzhead.text + (n.gzhead.hcrc ? 2 : 0) + (n.gzhead.extra ? 4 : 0) + (n.gzhead.name ? 8 : 0) + (n.gzhead.comment ? 16 : 0)), Z(n, n.gzhead.time & 255), Z(n, n.gzhead.time >> 8 & 255), Z(n, n.gzhead.time >> 16 & 255), Z(n, n.gzhead.time >> 24 & 255), Z(n, n.level === 9 ? 2 : n.strategy >= vn || n.level < 2 ? 4 : 0), Z(n, n.gzhead.os & 255), n.gzhead.extra && n.gzhead.extra.length && (Z(n, n.gzhead.extra.length & 255), Z(n, n.gzhead.extra.length >> 8 & 255)), n.gzhead.hcrc && (e.adler = U(e.adler, n.pending_buf, n.pending, 0)), n.gzindex = 0, n.status = Nn;
2706
- else if (Z(n, 0), Z(n, 0), Z(n, 0), Z(n, 0), Z(n, 0), Z(n, n.level === 9 ? 2 : n.strategy >= vn || n.level < 2 ? 4 : 0), Z(n, Hn), n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, G;
2706
+ if (e.adler = 0, Z(n, 31), Z(n, 139), Z(n, 8), n.gzhead) Z(n, +!!n.gzhead.text + (n.gzhead.hcrc ? 2 : 0) + (n.gzhead.extra ? 4 : 0) + (n.gzhead.name ? 8 : 0) + (n.gzhead.comment ? 16 : 0)), Z(n, n.gzhead.time & 255), Z(n, n.gzhead.time >> 8 & 255), Z(n, n.gzhead.time >> 16 & 255), Z(n, n.gzhead.time >> 24 & 255), Z(n, n.level === 9 ? 2 : n.strategy >= vn || n.level < 2 ? 4 : 0), Z(n, n.gzhead.os & 255), n.gzhead.extra && n.gzhead.extra.length && (Z(n, n.gzhead.extra.length & 255), Z(n, n.gzhead.extra.length >> 8 & 255)), n.gzhead.hcrc && (e.adler = W(e.adler, n.pending_buf, n.pending, 0)), n.gzindex = 0, n.status = Nn;
2707
+ else if (Z(n, 0), Z(n, 0), Z(n, 0), Z(n, 0), Z(n, 0), Z(n, n.level === 9 ? 2 : n.strategy >= vn || n.level < 2 ? 4 : 0), Z(n, Hn), n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, K;
2707
2708
  }
2708
2709
  if (n.status === Nn) {
2709
2710
  if (n.gzhead.extra) {
2710
2711
  let t = n.pending, r = (n.gzhead.extra.length & 65535) - n.gzindex;
2711
2712
  for (; n.pending + r > n.pending_buf_size;) {
2712
2713
  let i = n.pending_buf_size - n.pending;
2713
- if (n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex, n.gzindex + i), n.pending), n.pending = n.pending_buf_size, n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex += i, Y(e), n.pending !== 0) return n.last_flush = -1, G;
2714
+ if (n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex, n.gzindex + i), n.pending), n.pending = n.pending_buf_size, n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex += i, Y(e), n.pending !== 0) return n.last_flush = -1, K;
2714
2715
  t = 0, r -= i;
2715
2716
  }
2716
2717
  let i = new Uint8Array(n.gzhead.extra);
2717
- n.pending_buf.set(i.subarray(n.gzindex, n.gzindex + r), n.pending), n.pending += r, n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex = 0;
2718
+ n.pending_buf.set(i.subarray(n.gzindex, n.gzindex + r), n.pending), n.pending += r, n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex = 0;
2718
2719
  }
2719
2720
  n.status = Pn;
2720
2721
  }
@@ -2723,12 +2724,12 @@ var sr = (e) => {
2723
2724
  let t = n.pending, r;
2724
2725
  do {
2725
2726
  if (n.pending === n.pending_buf_size) {
2726
- if (n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t)), Y(e), n.pending !== 0) return n.last_flush = -1, G;
2727
+ if (n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t)), Y(e), n.pending !== 0) return n.last_flush = -1, K;
2727
2728
  t = 0;
2728
2729
  }
2729
2730
  r = n.gzindex < n.gzhead.name.length ? n.gzhead.name.charCodeAt(n.gzindex++) & 255 : 0, Z(n, r);
2730
2731
  } while (r !== 0);
2731
- n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex = 0;
2732
+ n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex = 0;
2732
2733
  }
2733
2734
  n.status = Fn;
2734
2735
  }
@@ -2737,40 +2738,40 @@ var sr = (e) => {
2737
2738
  let t = n.pending, r;
2738
2739
  do {
2739
2740
  if (n.pending === n.pending_buf_size) {
2740
- if (n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t)), Y(e), n.pending !== 0) return n.last_flush = -1, G;
2741
+ if (n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t)), Y(e), n.pending !== 0) return n.last_flush = -1, K;
2741
2742
  t = 0;
2742
2743
  }
2743
2744
  r = n.gzindex < n.gzhead.comment.length ? n.gzhead.comment.charCodeAt(n.gzindex++) & 255 : 0, Z(n, r);
2744
2745
  } while (r !== 0);
2745
- n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t));
2746
+ n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t));
2746
2747
  }
2747
2748
  n.status = In;
2748
2749
  }
2749
2750
  if (n.status === In) {
2750
2751
  if (n.gzhead.hcrc) {
2751
- if (n.pending + 2 > n.pending_buf_size && (Y(e), n.pending !== 0)) return n.last_flush = -1, G;
2752
+ if (n.pending + 2 > n.pending_buf_size && (Y(e), n.pending !== 0)) return n.last_flush = -1, K;
2752
2753
  Z(n, e.adler & 255), Z(n, e.adler >> 8 & 255), e.adler = 0;
2753
2754
  }
2754
- if (n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, G;
2755
+ if (n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, K;
2755
2756
  }
2756
- if (e.avail_in !== 0 || n.lookahead !== 0 || t !== ln && n.status !== Rn) {
2757
+ if (e.avail_in !== 0 || n.lookahead !== 0 || t !== cn && n.status !== Rn) {
2757
2758
  let r = n.level === 0 ? Qn(n, t) : n.strategy === vn ? nr(n, t) : n.strategy === yn ? tr(n, t) : ir[n.level].func(n, t);
2758
- if ((r === Bn || r === Vn) && (n.status = Rn), r === J || r === Bn) return e.avail_out === 0 && (n.last_flush = -1), G;
2759
- if (r === zn && (t === un ? cn(n) : t !== fn && (an(n, 0, 0, !1), t === dn && (Gn(n.head), n.lookahead === 0 && (n.strstart = 0, n.block_start = 0, n.insert = 0))), Y(e), e.avail_out === 0)) return n.last_flush = -1, G;
2759
+ if ((r === Bn || r === Vn) && (n.status = Rn), r === J || r === Bn) return e.avail_out === 0 && (n.last_flush = -1), K;
2760
+ if (r === zn && (t === ln ? sn(n) : t !== dn && (rn(n, 0, 0, !1), t === un && (Gn(n.head), n.lookahead === 0 && (n.strstart = 0, n.block_start = 0, n.insert = 0))), Y(e), e.avail_out === 0)) return n.last_flush = -1, K;
2760
2761
  }
2761
- return t === W ? n.wrap <= 0 ? pn : (n.wrap === 2 ? (Z(n, e.adler & 255), Z(n, e.adler >> 8 & 255), Z(n, e.adler >> 16 & 255), Z(n, e.adler >> 24 & 255), Z(n, e.total_in & 255), Z(n, e.total_in >> 8 & 255), Z(n, e.total_in >> 16 & 255), Z(n, e.total_in >> 24 & 255)) : (Jn(n, e.adler >>> 16), Jn(n, e.adler & 65535)), Y(e), n.wrap > 0 && (n.wrap = -n.wrap), n.pending === 0 ? pn : G) : G;
2762
+ return t === G ? n.wrap <= 0 ? fn : (n.wrap === 2 ? (Z(n, e.adler & 255), Z(n, e.adler >> 8 & 255), Z(n, e.adler >> 16 & 255), Z(n, e.adler >> 24 & 255), Z(n, e.total_in & 255), Z(n, e.total_in >> 8 & 255), Z(n, e.total_in >> 16 & 255), Z(n, e.total_in >> 24 & 255)) : (Jn(n, e.adler >>> 16), Jn(n, e.adler & 65535)), Y(e), n.wrap > 0 && (n.wrap = -n.wrap), n.pending === 0 ? fn : K) : K;
2762
2763
  },
2763
2764
  deflateEnd: (e) => {
2764
- if (sr(e)) return K;
2765
+ if (sr(e)) return pn;
2765
2766
  let t = e.state.status;
2766
- return e.state = null, t === Ln ? Un(e, mn) : G;
2767
+ return e.state = null, t === Ln ? Un(e, mn) : K;
2767
2768
  },
2768
2769
  deflateSetDictionary: (e, t) => {
2769
2770
  let n = t.length;
2770
- if (sr(e)) return K;
2771
+ if (sr(e)) return pn;
2771
2772
  let r = e.state, i = r.wrap;
2772
- if (i === 2 || i === 1 && r.status !== jn || r.lookahead) return K;
2773
- if (i === 1 && (e.adler = $t(e.adler, t, n, 0)), r.wrap = 0, n >= r.w_size) {
2773
+ if (i === 2 || i === 1 && r.status !== jn || r.lookahead) return pn;
2774
+ if (i === 1 && (e.adler = Qt(e.adler, t, n, 0)), r.wrap = 0, n >= r.w_size) {
2774
2775
  i === 0 && (Gn(r.head), r.strstart = 0, r.block_start = 0, r.insert = 0);
2775
2776
  let e = new Uint8Array(r.w_size);
2776
2777
  e.set(t.subarray(n - r.w_size, n), 0), t = e, n = r.w_size;
@@ -2783,7 +2784,7 @@ var sr = (e) => {
2783
2784
  while (--t);
2784
2785
  r.strstart = e, r.lookahead = q - 1, Zn(r);
2785
2786
  }
2786
- return r.strstart += r.lookahead, r.block_start = r.strstart, r.insert = r.lookahead, r.lookahead = 0, r.match_length = r.prev_length = q - 1, r.match_available = 0, e.next_in = o, e.input = s, e.avail_in = a, r.wrap = i, G;
2787
+ return r.strstart += r.lookahead, r.block_start = r.strstart, r.insert = r.lookahead, r.lookahead = 0, r.match_length = r.prev_length = q - 1, r.match_available = 0, e.next_in = o, e.input = s, e.avail_in = a, r.wrap = i, K;
2787
2788
  },
2788
2789
  deflateInfo: "pako deflate (from Nodeca project)"
2789
2790
  }, pr = (e, t) => Object.prototype.hasOwnProperty.call(e, t), mr = {
@@ -2864,7 +2865,7 @@ var _r = (e) => {
2864
2865
  function br() {
2865
2866
  this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0;
2866
2867
  }
2867
- var xr = br, Sr = Object.prototype.toString, { Z_NO_FLUSH: Cr, Z_SYNC_FLUSH: wr, Z_FULL_FLUSH: Tr, Z_FINISH: Er, Z_OK: Dr, Z_STREAM_END: Or, Z_DEFAULT_COMPRESSION: kr, Z_DEFAULT_STRATEGY: Ar, Z_DEFLATED: jr } = nn;
2868
+ var xr = br, Sr = Object.prototype.toString, { Z_NO_FLUSH: Cr, Z_SYNC_FLUSH: wr, Z_FULL_FLUSH: Tr, Z_FINISH: Er, Z_OK: Dr, Z_STREAM_END: Or, Z_DEFAULT_COMPRESSION: kr, Z_DEFAULT_STRATEGY: Ar, Z_DEFLATED: jr } = tn;
2868
2869
  function Mr(e) {
2869
2870
  this.options = mr.assign({
2870
2871
  level: kr,
@@ -2877,10 +2878,10 @@ function Mr(e) {
2877
2878
  let t = this.options;
2878
2879
  t.raw && t.windowBits > 0 ? t.windowBits = -t.windowBits : t.gzip && t.windowBits > 0 && t.windowBits < 16 && (t.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new xr(), this.strm.avail_out = 0;
2879
2880
  let n = fr.deflateInit2(this.strm, t.level, t.method, t.windowBits, t.memLevel, t.strategy);
2880
- if (n !== Dr) throw Error(tn[n]);
2881
+ if (n !== Dr) throw Error(en[n]);
2881
2882
  if (t.header && fr.deflateSetHeader(this.strm, t.header), t.dictionary) {
2882
2883
  let e;
2883
- if (e = typeof t.dictionary == "string" ? yr.string2buf(t.dictionary) : Sr.call(t.dictionary) === "[object ArrayBuffer]" ? new Uint8Array(t.dictionary) : t.dictionary, n = fr.deflateSetDictionary(this.strm, e), n !== Dr) throw Error(tn[n]);
2884
+ if (e = typeof t.dictionary == "string" ? yr.string2buf(t.dictionary) : Sr.call(t.dictionary) === "[object ArrayBuffer]" ? new Uint8Array(t.dictionary) : t.dictionary, n = fr.deflateSetDictionary(this.strm, e), n !== Dr) throw Error(en[n]);
2884
2885
  this._dict_set = !0;
2885
2886
  }
2886
2887
  }
@@ -2911,7 +2912,7 @@ Mr.prototype.push = function(e, t) {
2911
2912
  };
2912
2913
  function Nr(e, t) {
2913
2914
  let n = new Mr(t);
2914
- if (n.push(e, !0), n.err) throw n.msg || tn[n.err];
2915
+ if (n.push(e, !0), n.err) throw n.msg || en[n.err];
2915
2916
  return n.result;
2916
2917
  }
2917
2918
  function Pr(e, t) {
@@ -2925,7 +2926,7 @@ var Ir = {
2925
2926
  deflate: Nr,
2926
2927
  deflateRaw: Pr,
2927
2928
  gzip: Fr,
2928
- constants: nn
2929
+ constants: tn
2929
2930
  }, Lr = 16209, Rr = 16191, zr = function(e, t) {
2930
2931
  let n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E = e.state;
2931
2932
  n = e.next_in, w = e.input, r = n + (e.avail_in - 5), i = e.next_out, T = e.output, a = i - (t - e.avail_out), o = i + (e.avail_out - 257), s = E.dmax, c = E.wsize, l = E.whave, u = E.wnext, d = E.window, f = E.hold, p = E.bits, m = E.lencode, h = E.distcode, g = (1 << E.lenbits) - 1, _ = (1 << E.distbits) - 1;
@@ -3166,7 +3167,7 @@ var Ir = {
3166
3167
  }
3167
3168
  }
3168
3169
  return v !== 0 && (i[C + v] = l - h << 24 | 4194304), s.bits = p, 0;
3169
- }, Zr = 0, Qr = 1, $r = 2, { Z_FINISH: ei, Z_BLOCK: ti, Z_TREES: ni, Z_OK: ri, Z_STREAM_END: ii, Z_NEED_DICT: ai, Z_STREAM_ERROR: Q, Z_DATA_ERROR: oi, Z_MEM_ERROR: si, Z_BUF_ERROR: ci, Z_DEFLATED: li } = nn, ui = 16180, di = 16181, fi = 16182, pi = 16183, mi = 16184, hi = 16185, gi = 16186, _i = 16187, vi = 16188, yi = 16189, bi = 16190, xi = 16191, Si = 16192, Ci = 16193, wi = 16194, Ti = 16195, Ei = 16196, Di = 16197, Oi = 16198, ki = 16199, Ai = 16200, ji = 16201, Mi = 16202, Ni = 16203, Pi = 16204, Fi = 16205, Ii = 16206, Li = 16207, Ri = 16208, $ = 16209, zi = 16210, Bi = 16211, Vi = 852, Hi = 592, Ui = 15, Wi = (e) => (e >>> 24 & 255) + (e >>> 8 & 65280) + ((e & 65280) << 8) + ((e & 255) << 24);
3170
+ }, Zr = 0, Qr = 1, $r = 2, { Z_FINISH: ei, Z_BLOCK: ti, Z_TREES: ni, Z_OK: ri, Z_STREAM_END: ii, Z_NEED_DICT: ai, Z_STREAM_ERROR: Q, Z_DATA_ERROR: oi, Z_MEM_ERROR: si, Z_BUF_ERROR: ci, Z_DEFLATED: li } = tn, ui = 16180, di = 16181, fi = 16182, pi = 16183, mi = 16184, hi = 16185, gi = 16186, _i = 16187, vi = 16188, yi = 16189, bi = 16190, xi = 16191, Si = 16192, Ci = 16193, wi = 16194, Ti = 16195, Ei = 16196, Di = 16197, Oi = 16198, ki = 16199, Ai = 16200, ji = 16201, Mi = 16202, Ni = 16203, Pi = 16204, Fi = 16205, Ii = 16206, Li = 16207, Ri = 16208, $ = 16209, zi = 16210, Bi = 16211, Vi = 852, Hi = 592, Ui = 15, Wi = (e) => (e >>> 24 & 255) + (e >>> 8 & 65280) + ((e & 65280) << 8) + ((e & 255) << 24);
3170
3171
  function Gi() {
3171
3172
  this.strm = null, this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
3172
3173
  }
@@ -3249,7 +3250,7 @@ var Ki = (e) => {
3249
3250
  s--, l += r[a++] << u, u += 8;
3250
3251
  }
3251
3252
  if (n.wrap & 2 && l === 35615) {
3252
- n.wbits === 0 && (n.wbits = 15), n.check = 0, T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = U(n.check, T, 2, 0), l = 0, u = 0, n.mode = di;
3253
+ n.wbits === 0 && (n.wbits = 15), n.check = 0, T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = W(n.check, T, 2, 0), l = 0, u = 0, n.mode = di;
3253
3254
  break;
3254
3255
  }
3255
3256
  if (n.head && (n.head.done = !1), !(n.wrap & 1) || (((l & 255) << 8) + (l >> 8)) % 31) {
@@ -3279,30 +3280,30 @@ var Ki = (e) => {
3279
3280
  e.msg = "unknown header flags set", n.mode = $;
3280
3281
  break;
3281
3282
  }
3282
- n.head && (n.head.text = l >> 8 & 1), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = U(n.check, T, 2, 0)), l = 0, u = 0, n.mode = fi;
3283
+ n.head && (n.head.text = l >> 8 & 1), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = W(n.check, T, 2, 0)), l = 0, u = 0, n.mode = fi;
3283
3284
  case fi:
3284
3285
  for (; u < 32;) {
3285
3286
  if (s === 0) break inf_leave;
3286
3287
  s--, l += r[a++] << u, u += 8;
3287
3288
  }
3288
- n.head && (n.head.time = l), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, T[2] = l >>> 16 & 255, T[3] = l >>> 24 & 255, n.check = U(n.check, T, 4, 0)), l = 0, u = 0, n.mode = pi;
3289
+ n.head && (n.head.time = l), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, T[2] = l >>> 16 & 255, T[3] = l >>> 24 & 255, n.check = W(n.check, T, 4, 0)), l = 0, u = 0, n.mode = pi;
3289
3290
  case pi:
3290
3291
  for (; u < 16;) {
3291
3292
  if (s === 0) break inf_leave;
3292
3293
  s--, l += r[a++] << u, u += 8;
3293
3294
  }
3294
- n.head && (n.head.xflags = l & 255, n.head.os = l >> 8), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = U(n.check, T, 2, 0)), l = 0, u = 0, n.mode = mi;
3295
+ n.head && (n.head.xflags = l & 255, n.head.os = l >> 8), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = W(n.check, T, 2, 0)), l = 0, u = 0, n.mode = mi;
3295
3296
  case mi:
3296
3297
  if (n.flags & 1024) {
3297
3298
  for (; u < 16;) {
3298
3299
  if (s === 0) break inf_leave;
3299
3300
  s--, l += r[a++] << u, u += 8;
3300
3301
  }
3301
- n.length = l, n.head && (n.head.extra_len = l), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = U(n.check, T, 2, 0)), l = 0, u = 0;
3302
+ n.length = l, n.head && (n.head.extra_len = l), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = W(n.check, T, 2, 0)), l = 0, u = 0;
3302
3303
  } else n.head && (n.head.extra = null);
3303
3304
  n.mode = hi;
3304
3305
  case hi:
3305
- if (n.flags & 1024 && (p = n.length, p > s && (p = s), p && (n.head && (C = n.head.extra_len - n.length, n.head.extra || (n.head.extra = new Uint8Array(n.head.extra_len)), n.head.extra.set(r.subarray(a, a + p), C)), n.flags & 512 && n.wrap & 4 && (n.check = U(n.check, r, p, a)), s -= p, a += p, n.length -= p), n.length)) break inf_leave;
3306
+ if (n.flags & 1024 && (p = n.length, p > s && (p = s), p && (n.head && (C = n.head.extra_len - n.length, n.head.extra || (n.head.extra = new Uint8Array(n.head.extra_len)), n.head.extra.set(r.subarray(a, a + p), C)), n.flags & 512 && n.wrap & 4 && (n.check = W(n.check, r, p, a)), s -= p, a += p, n.length -= p), n.length)) break inf_leave;
3306
3307
  n.length = 0, n.mode = gi;
3307
3308
  case gi:
3308
3309
  if (n.flags & 2048) {
@@ -3311,7 +3312,7 @@ var Ki = (e) => {
3311
3312
  do
3312
3313
  C = r[a + p++], n.head && C && n.length < 65536 && (n.head.name += String.fromCharCode(C));
3313
3314
  while (C && p < s);
3314
- if (n.flags & 512 && n.wrap & 4 && (n.check = U(n.check, r, p, a)), s -= p, a += p, C) break inf_leave;
3315
+ if (n.flags & 512 && n.wrap & 4 && (n.check = W(n.check, r, p, a)), s -= p, a += p, C) break inf_leave;
3315
3316
  } else n.head && (n.head.name = null);
3316
3317
  n.length = 0, n.mode = _i;
3317
3318
  case _i:
@@ -3321,7 +3322,7 @@ var Ki = (e) => {
3321
3322
  do
3322
3323
  C = r[a + p++], n.head && C && n.length < 65536 && (n.head.comment += String.fromCharCode(C));
3323
3324
  while (C && p < s);
3324
- if (n.flags & 512 && n.wrap & 4 && (n.check = U(n.check, r, p, a)), s -= p, a += p, C) break inf_leave;
3325
+ if (n.flags & 512 && n.wrap & 4 && (n.check = W(n.check, r, p, a)), s -= p, a += p, C) break inf_leave;
3325
3326
  } else n.head && (n.head.comment = null);
3326
3327
  n.mode = vi;
3327
3328
  case vi:
@@ -3563,7 +3564,7 @@ var Ki = (e) => {
3563
3564
  if (s === 0) break inf_leave;
3564
3565
  s--, l |= r[a++] << u, u += 8;
3565
3566
  }
3566
- if (f -= c, e.total_out += f, n.total += f, n.wrap & 4 && f && (e.adler = n.check = n.flags ? U(n.check, i, f, o - f) : $t(n.check, i, f, o - f)), f = c, n.wrap & 4 && (n.flags ? l : Wi(l)) !== n.check) {
3567
+ if (f -= c, e.total_out += f, n.total += f, n.wrap & 4 && f && (e.adler = n.check = n.flags ? W(n.check, i, f, o - f) : Qt(n.check, i, f, o - f)), f = c, n.wrap & 4 && (n.flags ? l : Wi(l)) !== n.check) {
3567
3568
  e.msg = "incorrect data check", n.mode = $;
3568
3569
  break;
3569
3570
  }
@@ -3593,7 +3594,7 @@ var Ki = (e) => {
3593
3594
  case Bi:
3594
3595
  default: return Q;
3595
3596
  }
3596
- return e.next_out = o, e.avail_out = c, e.next_in = a, e.avail_in = s, n.hold = l, n.bits = u, (n.wsize || f !== e.avail_out && n.mode < $ && (n.mode < Ii || t !== ei)) && na(e, e.output, e.next_out, f - e.avail_out), d -= e.avail_in, f -= e.avail_out, e.total_in += d, e.total_out += f, n.total += f, n.wrap & 4 && f && (e.adler = n.check = n.flags ? U(n.check, i, f, e.next_out - f) : $t(n.check, i, f, e.next_out - f)), e.data_type = n.bits + (n.last ? 64 : 0) + (n.mode === xi ? 128 : 0) + (n.mode === ki || n.mode === wi ? 256 : 0), (d === 0 && f === 0 || t === ei) && w === ri && (w = ci), w;
3597
+ return e.next_out = o, e.avail_out = c, e.next_in = a, e.avail_in = s, n.hold = l, n.bits = u, (n.wsize || f !== e.avail_out && n.mode < $ && (n.mode < Ii || t !== ei)) && na(e, e.output, e.next_out, f - e.avail_out), d -= e.avail_in, f -= e.avail_out, e.total_in += d, e.total_out += f, n.total += f, n.wrap & 4 && f && (e.adler = n.check = n.flags ? W(n.check, i, f, e.next_out - f) : Qt(n.check, i, f, e.next_out - f)), e.data_type = n.bits + (n.last ? 64 : 0) + (n.mode === xi ? 128 : 0) + (n.mode === ki || n.mode === wi ? 256 : 0), (d === 0 && f === 0 || t === ei) && w === ri && (w = ci), w;
3597
3598
  },
3598
3599
  inflateEnd: (e) => {
3599
3600
  if (Ki(e)) return Q;
@@ -3607,14 +3608,14 @@ var Ki = (e) => {
3607
3608
  },
3608
3609
  inflateSetDictionary: (e, t) => {
3609
3610
  let n = t.length, r, i, a;
3610
- return Ki(e) || (r = e.state, r.wrap !== 0 && r.mode !== bi) ? Q : r.mode === bi && (i = 1, i = $t(i, t, n, 0), i !== r.check) ? oi : (a = na(e, t, n, n), a ? (r.mode = zi, si) : (r.havedict = 1, ri));
3611
+ return Ki(e) || (r = e.state, r.wrap !== 0 && r.mode !== bi) ? Q : r.mode === bi && (i = 1, i = Qt(i, t, n, 0), i !== r.check) ? oi : (a = na(e, t, n, n), a ? (r.mode = zi, si) : (r.havedict = 1, ri));
3611
3612
  },
3612
3613
  inflateInfo: "pako inflate (from Nodeca project)"
3613
3614
  };
3614
3615
  function ia() {
3615
3616
  this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1;
3616
3617
  }
3617
- var aa = ia, oa = Object.prototype.toString, { Z_NO_FLUSH: sa, Z_FINISH: ca, Z_OK: la, Z_STREAM_END: ua, Z_NEED_DICT: da, Z_STREAM_ERROR: fa, Z_DATA_ERROR: pa, Z_MEM_ERROR: ma } = nn;
3618
+ var aa = ia, oa = Object.prototype.toString, { Z_NO_FLUSH: sa, Z_FINISH: ca, Z_OK: la, Z_STREAM_END: ua, Z_NEED_DICT: da, Z_STREAM_ERROR: fa, Z_DATA_ERROR: pa, Z_MEM_ERROR: ma } = tn;
3618
3619
  function ha(e) {
3619
3620
  this.options = mr.assign({
3620
3621
  chunkSize: 1024 * 64,
@@ -3624,7 +3625,7 @@ function ha(e) {
3624
3625
  let t = this.options;
3625
3626
  t.raw && t.windowBits >= 0 && t.windowBits < 16 && (t.windowBits = -t.windowBits, t.windowBits === 0 && (t.windowBits = -15)), t.windowBits >= 0 && t.windowBits < 16 && !(e && e.windowBits) && (t.windowBits += 32), t.windowBits > 15 && t.windowBits < 48 && (t.windowBits & 15 || (t.windowBits |= 15)), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new xr(), this.strm.avail_out = 0;
3626
3627
  let n = ra.inflateInit2(this.strm, t.windowBits);
3627
- if (n !== la || (this.header = new aa(), ra.inflateGetHeader(this.strm, this.header), t.dictionary && (typeof t.dictionary == "string" ? t.dictionary = yr.string2buf(t.dictionary) : oa.call(t.dictionary) === "[object ArrayBuffer]" && (t.dictionary = new Uint8Array(t.dictionary)), t.raw && (n = ra.inflateSetDictionary(this.strm, t.dictionary), n !== la)))) throw Error(tn[n]);
3628
+ if (n !== la || (this.header = new aa(), ra.inflateGetHeader(this.strm, this.header), t.dictionary && (typeof t.dictionary == "string" ? t.dictionary = yr.string2buf(t.dictionary) : oa.call(t.dictionary) === "[object ArrayBuffer]" && (t.dictionary = new Uint8Array(t.dictionary)), t.raw && (n = ra.inflateSetDictionary(this.strm, t.dictionary), n !== la)))) throw Error(en[n]);
3628
3629
  }
3629
3630
  ha.prototype.push = function(e, t) {
3630
3631
  let n = this.strm, r = this.options.chunkSize, i = this.options.dictionary, a, o, s;
@@ -3654,7 +3655,7 @@ ha.prototype.push = function(e, t) {
3654
3655
  };
3655
3656
  function ga(e, t) {
3656
3657
  let n = new ha(t);
3657
- if (n.push(e), n.err) throw n.msg || tn[n.err];
3658
+ if (n.push(e), n.err) throw n.msg || en[n.err];
3658
3659
  return n.result;
3659
3660
  }
3660
3661
  function _a(e, t) {
@@ -3665,7 +3666,7 @@ var va = {
3665
3666
  inflate: ga,
3666
3667
  inflateRaw: _a,
3667
3668
  ungzip: ga,
3668
- constants: nn
3669
+ constants: tn
3669
3670
  }, { Deflate: ya, deflate: ba, deflateRaw: xa, gzip: Sa } = Ir, { Inflate: Ca, inflate: wa, inflateRaw: Ta, ungzip: Ea } = va, Da = {
3670
3671
  Deflate: ya,
3671
3672
  deflate: ba,
@@ -3675,9 +3676,10 @@ var va = {
3675
3676
  inflate: wa,
3676
3677
  inflateRaw: Ta,
3677
3678
  ungzip: Ea,
3678
- constants: nn
3679
+ constants: tn
3679
3680
  }, Oa = [
3680
3681
  "layerId",
3682
+ "dataLayerId",
3681
3683
  "id",
3682
3684
  "dictCode",
3683
3685
  "serviceName",
@@ -3689,13 +3691,20 @@ var va = {
3689
3691
  "modelColorUrl",
3690
3692
  "opacity",
3691
3693
  "layerOpacity",
3692
- "pointSize"
3694
+ "pointSize",
3695
+ "displayRange",
3696
+ "lodCalculationRange"
3693
3697
  ];
3694
- function ka(e) {
3695
- return e == null ? "" : String(e);
3698
+ function ka(e, t) {
3699
+ return e == null ? "" : (t === "displayRange" || t === "lodCalculationRange") && typeof e == "object" ? JSON.stringify({
3700
+ longitudeWest: e.longitudeWest ?? e.west,
3701
+ latitudeSouth: e.latitudeSouth ?? e.south,
3702
+ longitudeEast: e.longitudeEast ?? e.east,
3703
+ latitudeNorth: e.latitudeNorth ?? e.north
3704
+ }) : String(e);
3696
3705
  }
3697
3706
  function Aa(e = {}) {
3698
- return Oa.map((t) => `${t}:${ka(e[t])}`).join("|");
3707
+ return Oa.map((t) => `${t}:${ka(e[t], t)}`).join("|");
3699
3708
  }
3700
3709
  function ja(e, t = {}) {
3701
3710
  let n = Aa(t);
@@ -3703,9 +3712,34 @@ function ja(e, t = {}) {
3703
3712
  }
3704
3713
  //#endregion
3705
3714
  //#region src/zz-layer/zz-layer-zzts3d/entityGrid.js
3706
- var Ma = class {
3715
+ function Ma(e) {
3716
+ if (!e) return null;
3717
+ let t = Number(e.longitudeWest ?? e.west), n = Number(e.latitudeSouth ?? e.south), r = Number(e.longitudeEast ?? e.east), i = Number(e.latitudeNorth ?? e.north);
3718
+ return ![
3719
+ t,
3720
+ n,
3721
+ r,
3722
+ i
3723
+ ].every(Number.isFinite) || t < -180 || r > 180 || n < -90 || i > 90 || t >= r || n >= i ? null : {
3724
+ west: t,
3725
+ south: n,
3726
+ east: r,
3727
+ north: i
3728
+ };
3729
+ }
3730
+ function Na(e, t) {
3731
+ if (!e || !t) return null;
3732
+ let n = {
3733
+ west: Math.max(e.west, t.west),
3734
+ south: Math.max(e.south, t.south),
3735
+ east: Math.min(e.east, t.east),
3736
+ north: Math.min(e.north, t.north)
3737
+ };
3738
+ return n.west < n.east && n.south < n.north ? n : null;
3739
+ }
3740
+ var Pa = class {
3707
3741
  constructor(e, t = !1, n = null, r = "255,255,255", i = "", a = 1, o = {}) {
3708
- this.id = e, this.isStatic = t, this.loadedTiles = /* @__PURE__ */ new Map(), this.currentTileIds = /* @__PURE__ */ new Set(), this.currentNewLevel = g(n || 15), this.gridDb = null, this.entityNum = 0, this.handlers = null, this.requestController = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.fadeAnimations = /* @__PURE__ */ new Map(), this.lastTime = 0, this.serviceType = i, this.opacity = this.normalizeOpacity(a), this.layerOpacity = this.normalizeOpacity(o.layerOpacity ?? 1), this.fixedLevel = n, this.destroyed = !1, this.requestVersion = 0, this.initTimer = null, this.initPromise = null, this.dictCode = o.dictCode || "", this.serviceName = o.serviceName || "", this.enableServiceColor = o.enableServiceColor !== !1, this.modelColorUrl = o.modelColorUrl || "/v1/zzts/style/render/modelColors", this.stackIndex = o.stackIndex ?? -1, this.subStackIndex = o.subStackIndex ?? 0, this.groupKey = o.groupKey || String(this.id), this.modelColorCache = /* @__PURE__ */ new Map(), this.levels_add = window.levels_add_plus || 0, this.tileColor = r, this.tileSleepTime = window.tileSleepTime || 400;
3742
+ this.id = e, this.dataLayerId = o.dataLayerId || e, this.isStatic = t, this.loadedTiles = /* @__PURE__ */ new Map(), this.currentTileIds = /* @__PURE__ */ new Set(), this.currentNewLevel = g(n || 15), this.gridDb = null, this.entityNum = 0, this.handlers = null, this.requestController = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.fadeAnimations = /* @__PURE__ */ new Map(), this.lastTime = 0, this.serviceType = i, this.opacity = this.normalizeOpacity(a), this.layerOpacity = this.normalizeOpacity(o.layerOpacity ?? 1), this.displayRange = Ma(o.displayRange), this.lodCalculationRange = Ma(o.lodCalculationRange), this.fixedLevel = n, this.destroyed = !1, this.requestVersion = 0, this.tileBatchVersion = 0, this.fallbackRenderLevel = null, this.initTimer = null, this.initPromise = null, this.dictCode = o.dictCode || "", this.serviceName = o.serviceName || "", this.enableServiceColor = o.enableServiceColor !== !1, this.modelColorUrl = o.modelColorUrl || "/v1/zzts/style/render/modelColors", this.stackIndex = o.stackIndex ?? -1, this.subStackIndex = o.subStackIndex ?? 0, this.groupKey = o.groupKey || String(this.id), this.modelColorCache = /* @__PURE__ */ new Map(), this.levels_add = window.levels_add_plus || 0, this.tileColor = r, this.tileSleepTime = window.tileSleepTime || 400;
3709
3743
  }
3710
3744
  normalizeOpacity(e) {
3711
3745
  let t = Number(e);
@@ -3777,60 +3811,106 @@ var Ma = class {
3777
3811
  if (!a[0] || e.length < 4) return;
3778
3812
  r = a[0].level + this.levels_add;
3779
3813
  }
3780
- if (this.currentNewLevel.value = r, !(e.length < 4)) {
3781
- var i = Ke(We([
3782
- [e[0].x, e[0].y],
3783
- [e[1].x, e[1].y],
3784
- [e[2].x, e[2].y],
3785
- [e[3].x, e[3].y]
3786
- ]));
3787
- this.getEntityData(i, r, e, this.requestController.signal);
3814
+ if (this.currentNewLevel.value = r, e.length < 4) return;
3815
+ let i = Ke(We([
3816
+ [e[0].x, e[0].y],
3817
+ [e[1].x, e[1].y],
3818
+ [e[2].x, e[2].y],
3819
+ [e[3].x, e[3].y]
3820
+ ])), a = {
3821
+ west: i[0],
3822
+ south: i[1],
3823
+ east: i[2],
3824
+ north: i[3]
3825
+ }, o = this.displayRange ? Na(a, this.displayRange) : a;
3826
+ if (!o) {
3827
+ this.clearAllTiles();
3828
+ return;
3788
3829
  }
3830
+ let s = this.lodCalculationRange || o, c = [
3831
+ s.west,
3832
+ s.south,
3833
+ s.east,
3834
+ s.north
3835
+ ];
3836
+ this.getEntityData(c, r, e, o, this.requestController.signal);
3789
3837
  }
3790
3838
  showDebugPoints(e) {
3791
3839
  viewer.entities.values.filter((e) => e.id && e.id.startsWith(`debug_${this.id}_`)).forEach((e) => viewer.entities.remove(e)), e.forEach((e, t) => {
3792
3840
  this.showPoint(e.x, e.y, 1, t);
3793
3841
  });
3794
3842
  }
3795
- async getEntityData(e, t, n, r) {
3796
- let i = viewer.scene.canvas, a = i.clientWidth, o = i.clientHeight;
3797
- try {
3843
+ async getEntityData(e, t, n, r, i) {
3844
+ let a = viewer.scene.canvas, o = a.clientWidth, s = a.clientHeight, c = Number(e[2]) - Number(e[0]), l = Number(e[3]) - Number(e[1]);
3845
+ if (!(c > 20 || l > 20)) try {
3798
3846
  let t = await k.request({
3799
3847
  method: "GET",
3800
- url: `/v1/zzts/layer/3d/calTiles?region=${e[0]},${e[1]},0,${e[2]},${e[3]},10&width=${a}&height=${o}`,
3848
+ url: `/v1/zzts/layer/3d/calTiles?region=${e[0]},${e[1]},0,${e[2]},${e[3]},10&width=${o}&height=${s}`,
3801
3849
  timeout: 6e4,
3802
- signal: r
3850
+ signal: i
3803
3851
  });
3804
- !r.aborted && !this.destroyed && this.render3DFaces(t.tiles, t.lodLevel);
3852
+ !i.aborted && !this.destroyed && this.render3DFaces(t.tiles, t.lodLevel, r);
3805
3853
  } catch (e) {
3806
3854
  e.name !== "AbortError" && console.error(`图层 ${this.id} 获取实体数据出错:`, e);
3807
3855
  }
3808
3856
  }
3809
- render3DFaces(e, t) {
3857
+ render3DFaces(e, t, n = null) {
3810
3858
  if (this.destroyed) return;
3811
- this.lastTime = (/* @__PURE__ */ new Date()).getTime();
3812
- let n = N.getCameraView(viewer);
3859
+ let r = ++this.tileBatchVersion;
3860
+ t === 17 && this.fallbackRenderLevel === 16 && (e = this.collapseLevel17TilesToParents(e), t = 16), this.lastTime = (/* @__PURE__ */ new Date()).getTime();
3861
+ let i = N.getCameraView(viewer);
3813
3862
  e.forEach((e) => {
3814
3863
  if (this.isStatic && this.fixedLevel) e.geoSot = e.geoSot, e.level = t;
3815
3864
  else {
3816
- let r = Cesium.Cartesian3.distance(Cesium.Cartesian3.fromDegrees((e.xmax + e.xmin) / 2, (e.ymax + e.ymin) / 2, 0), Cesium.Cartesian3.fromDegrees(n.x, n.y, n.z));
3817
- N.entityGridLevels.filter((e) => e.max >= r && e.min <= r), e.geoSot = e.geoSot, e.level = t;
3865
+ let n = Cesium.Cartesian3.distance(Cesium.Cartesian3.fromDegrees((e.xmax + e.xmin) / 2, (e.ymax + e.ymin) / 2, 0), Cesium.Cartesian3.fromDegrees(i.x, i.y, i.z));
3866
+ N.entityGridLevels.filter((e) => e.max >= n && e.min <= n), e.geoSot = e.geoSot, e.level = t;
3818
3867
  }
3819
3868
  });
3820
- let r = e, i = new Set(r.map((e) => e.geoSot)), a = [], o = [];
3869
+ let a = (Array.isArray(e) ? e : []).filter((e) => n ? !!Na({
3870
+ west: Number(e?.xmin),
3871
+ south: Number(e?.ymin),
3872
+ east: Number(e?.xmax),
3873
+ north: Number(e?.ymax)
3874
+ }, n) : !0), o = new Set(a.map((e) => e.geoSot)), s = [], c = [];
3821
3875
  this.currentTileIds.forEach((e) => {
3822
- i.has(e) || o.push(e);
3823
- }), i.forEach((e) => {
3876
+ o.has(e) || c.push(e);
3877
+ }), o.forEach((e) => {
3824
3878
  if (!this.currentTileIds.has(e)) {
3825
- let t = r.find((t) => e === t.geoSot);
3826
- t && a.push(t);
3879
+ let t = a.find((t) => e === t.geoSot);
3880
+ t && s.push(t);
3827
3881
  }
3828
- }), a.forEach((e) => {
3829
- this.addTile(e, e.level, this.requestVersion);
3830
- }), o.forEach((e) => {
3882
+ });
3883
+ let l = this.requestVersion, u = s.map((e) => this.addTile(e, e.level, l));
3884
+ t === 17 && u.length > 0 && this.fallbackRenderLevel !== 16 && Promise.all(u).then((t) => {
3885
+ !this.isActiveRequest(l) || this.tileBatchVersion !== r || this.fallbackRenderLevel === 16 || !a.some((e) => this.loadedTiles.has(e.geoSot)) && t.every((e) => e === "empty") && (this.fallbackRenderLevel = 16, this.render3DFaces(e, 17, n));
3886
+ }), c.forEach((e) => {
3831
3887
  let t = this.loadedTiles.get(e);
3832
3888
  t && this.fadeOut(t, e);
3833
- }), this.currentTileIds = i;
3889
+ }), this.currentTileIds = o;
3890
+ }
3891
+ collapseLevel17TilesToParents(e) {
3892
+ let t = /* @__PURE__ */ new Map();
3893
+ for (let n of Array.isArray(e) ? e : []) {
3894
+ let e = this.getParentGeoSot(n?.geoSot);
3895
+ if (!e) continue;
3896
+ let r = t.get(e);
3897
+ if (!r) {
3898
+ t.set(e, {
3899
+ ...n,
3900
+ geoSot: e,
3901
+ level: 16
3902
+ });
3903
+ continue;
3904
+ }
3905
+ r.xmin = Math.min(Number(r.xmin), Number(n.xmin)), r.ymin = Math.min(Number(r.ymin), Number(n.ymin)), r.xmax = Math.max(Number(r.xmax), Number(n.xmax)), r.ymax = Math.max(Number(r.ymax), Number(n.ymax));
3906
+ }
3907
+ return Array.from(t.values());
3908
+ }
3909
+ getParentGeoSot(e) {
3910
+ let t = String(e || "").replaceAll("-", "");
3911
+ if (!/^G[0-3]{17}$/.test(t)) return null;
3912
+ let n = t.slice(1, -1);
3913
+ return `G${n.slice(0, 9)}-${n.slice(9, 15)}-${n.slice(15)}`;
3834
3914
  }
3835
3915
  fadeOut(e, t) {
3836
3916
  if (this.fadeAnimations.has(t)) {
@@ -3850,7 +3930,7 @@ var Ma = class {
3850
3930
  return !this.destroyed && this.requestVersion === e && !t?.token?.reason;
3851
3931
  }
3852
3932
  async addTile(e, t, n = this.requestVersion) {
3853
- if (!this.isActiveRequest(n)) return;
3933
+ if (!this.isActiveRequest(n)) return "cancelled";
3854
3934
  let r = e.geoSot;
3855
3935
  if (this.pendingRequests.has(r)) {
3856
3936
  let e = this.pendingRequests.get(r);
@@ -3859,32 +3939,25 @@ var Ma = class {
3859
3939
  let i = M.CancelToken.source(), a = () => i.cancel("请求被取消");
3860
3940
  this.pendingRequests.set(r, { cancel: a });
3861
3941
  try {
3862
- let a = await this.gridDb.getDataById("gridEntity", r + "_" + t);
3863
- if (!this.isActiveRequest(n, i)) return;
3864
- if (a) a.data.byteLength > 0 && await this.addGridToMap(e, this.parseCompressedMeshData(a.data, e.level), e.level, n, i);
3865
- else {
3866
- let a = await k.request({
3942
+ let a = `v2_${r}_${t}`, o = await this.gridDb.getDataById("gridEntity", a);
3943
+ if (!this.isActiveRequest(n, i)) return "cancelled";
3944
+ if (o) return o.data.byteLength > 47 ? (await this.addGridToMap(e, this.parseCompressedMeshData(o.data, e.level), e.level, n, i), "hit") : "empty";
3945
+ if (!o) {
3946
+ let t = await k.request({
3867
3947
  method: "GET",
3868
- url: `/v1/zzts/layer/3d/getTileNew?layerId=${this.id}&level=${e.level}&geosot=${e.geoSot}`,
3948
+ url: `/v1/zzts/layer/3d/getTileNew?layerId=${this.dataLayerId}&level=${e.level}&geosot=${e.geoSot}`,
3869
3949
  headers: { Accept: "application/octet-stream" },
3870
3950
  responseType: "arraybuffer",
3871
3951
  timeout: 6e4,
3872
3952
  cancelToken: i.token
3873
3953
  });
3874
- if (this.isActiveRequest(n, i) && a.data.byteLength > 47) {
3875
- if (await this.gridDb.addData("gridEntity", {
3876
- id: r + "_" + t,
3877
- data: a.data
3878
- }), !this.isActiveRequest(n, i)) return;
3879
- await this.addGridToMap(e, this.parseCompressedMeshData(a.data, e.level), e.level, n, i);
3880
- }
3881
- this.isActiveRequest(n, i) && a.data.byteLength < 47 && await this.gridDb.addData("gridEntity", {
3882
- id: r + "_" + t,
3883
- data: a.data
3884
- });
3954
+ return this.isActiveRequest(n, i) && t.data.byteLength > 47 ? (await this.gridDb.addData("gridEntity", {
3955
+ id: a,
3956
+ data: t.data
3957
+ }), this.isActiveRequest(n, i) ? (await this.addGridToMap(e, this.parseCompressedMeshData(t.data, e.level), e.level, n, i), "hit") : "cancelled") : this.isActiveRequest(n, i) ? "empty" : "cancelled";
3885
3958
  }
3886
3959
  } catch (e) {
3887
- M.isCancel(e) || console.error(`图层 ${this.id} 获取瓦片数据出错:`, e);
3960
+ return M.isCancel(e) ? "cancelled" : (console.error(`图层 ${this.id} 获取瓦片数据出错:`, e), "error");
3888
3961
  } finally {
3889
3962
  this.pendingRequests.get(r)?.cancel === a && this.pendingRequests.delete(r);
3890
3963
  }
@@ -4056,7 +4129,7 @@ var Ma = class {
4056
4129
  this.fadeAnimations.set(e.geoSot, { interval: m }), this.loadedTiles.set(e.geoSot, { box: d });
4057
4130
  }
4058
4131
  updateOptions(e = {}) {
4059
- e.color && (this.tileColor = e.color), e.opacity !== void 0 && e.opacity !== null && (this.opacity = this.normalizeOpacity(e.opacity)), e.layerOpacity !== void 0 && e.layerOpacity !== null && (this.layerOpacity = this.normalizeOpacity(e.layerOpacity)), e.level !== void 0 && (this.fixedLevel = e.level, e.level && (this.currentNewLevel.value = e.level)), e.serviceType !== void 0 && (this.serviceType = e.serviceType), this.dictCode = e.dictCode || this.dictCode || "", this.serviceName = e.serviceName || this.serviceName || "", e.enableServiceColor !== void 0 && (this.enableServiceColor = !!e.enableServiceColor), this.modelColorUrl = e.modelColorUrl || this.modelColorUrl || "/v1/zzts/style/render/modelColors", this.modelColorCache.clear(), e.stackIndex !== void 0 && (this.stackIndex = e.stackIndex), e.subStackIndex !== void 0 && (this.subStackIndex = e.subStackIndex), e.groupKey !== void 0 && (this.groupKey = e.groupKey), this.applyStackIndex();
4132
+ e.color && (this.tileColor = e.color), e.opacity !== void 0 && e.opacity !== null && (this.opacity = this.normalizeOpacity(e.opacity)), e.layerOpacity !== void 0 && e.layerOpacity !== null && (this.layerOpacity = this.normalizeOpacity(e.layerOpacity)), e.level !== void 0 && (this.fixedLevel = e.level, e.level && (this.currentNewLevel.value = e.level)), e.displayRange !== void 0 && (this.displayRange = Ma(e.displayRange)), e.dataLayerId !== void 0 && (this.dataLayerId = e.dataLayerId || this.id), e.lodCalculationRange !== void 0 && (this.lodCalculationRange = Ma(e.lodCalculationRange)), e.serviceType !== void 0 && (this.serviceType = e.serviceType), this.dictCode = e.dictCode || this.dictCode || "", this.serviceName = e.serviceName || this.serviceName || "", e.enableServiceColor !== void 0 && (this.enableServiceColor = !!e.enableServiceColor), this.modelColorUrl = e.modelColorUrl || this.modelColorUrl || "/v1/zzts/style/render/modelColors", this.modelColorCache.clear(), e.stackIndex !== void 0 && (this.stackIndex = e.stackIndex), e.subStackIndex !== void 0 && (this.subStackIndex = e.subStackIndex), e.groupKey !== void 0 && (this.groupKey = e.groupKey), this.applyStackIndex();
4060
4133
  }
4061
4134
  applyStackIndex() {
4062
4135
  if (this.stackIndex < 0 || !viewer) return;
@@ -4296,7 +4369,7 @@ var Ma = class {
4296
4369
  }
4297
4370
  });
4298
4371
  }
4299
- }, Na = new class {
4372
+ }, Fa = new class {
4300
4373
  constructor() {
4301
4374
  this.layers = /* @__PURE__ */ new Map();
4302
4375
  }
@@ -4315,7 +4388,7 @@ var Ma = class {
4315
4388
  groupKey: e?.groupKey
4316
4389
  })), r && (n.renderSignature = Aa(e || {}), n.removeTilesOnly(), n.getViewportInfo()), n;
4317
4390
  }
4318
- let c = new Ma(t, i, r, n, a, o, {
4391
+ let c = new Pa(t, i, r, n, a, o, {
4319
4392
  ...e || {},
4320
4393
  layerOpacity: s
4321
4394
  });
@@ -4347,20 +4420,20 @@ var Ma = class {
4347
4420
  let t = this.layers.get(e);
4348
4421
  t && t.getViewportInfo();
4349
4422
  }
4350
- }(), Pa = async (e) => Na.createLayer(e, !1), Fa = (e) => {
4351
- Na.removeLayer(e);
4352
- }, Ia = (e) => Na.getLayer(e);
4423
+ }(), Ia = async (e) => Fa.createLayer(e, !1), La = (e) => {
4424
+ Fa.removeLayer(e);
4425
+ }, Ra = (e) => Fa.getLayer(e);
4353
4426
  t(() => {
4354
- let e = Na.getLayerIds();
4427
+ let e = Fa.getLayerIds();
4355
4428
  if (e.length > 0) {
4356
- let t = Na.getLayer(e[0]);
4429
+ let t = Fa.getLayer(e[0]);
4357
4430
  return t ? t.getCurrentLevel() : 15;
4358
4431
  }
4359
4432
  return 15;
4360
4433
  });
4361
4434
  //#endregion
4362
4435
  //#region src/zz-layer/zz-layer-zzts3d/index.vue
4363
- var La = {
4436
+ var za = {
4364
4437
  __name: "index",
4365
4438
  props: {
4366
4439
  config: {
@@ -4384,6 +4457,7 @@ var La = {
4384
4457
  c("cesiumViewer");
4385
4458
  let n = e, r = {
4386
4459
  layerId: "",
4460
+ dataLayerId: "",
4387
4461
  color: "255,255,255",
4388
4462
  isStatic: !1,
4389
4463
  level: null,
@@ -4393,7 +4467,9 @@ var La = {
4393
4467
  dictCode: "",
4394
4468
  serviceName: "",
4395
4469
  enableServiceColor: !0,
4396
- modelColorUrl: "/v1/zzts/style/render/modelColors"
4470
+ modelColorUrl: "/v1/zzts/style/render/modelColors",
4471
+ displayRange: null,
4472
+ lodCalculationRange: null
4397
4473
  }, i = t(() => ({
4398
4474
  ...r,
4399
4475
  ...n.config
@@ -4402,6 +4478,7 @@ var La = {
4402
4478
  let t = e.level ? !0 : e.isStatic;
4403
4479
  return {
4404
4480
  layerId: e.layerId,
4481
+ dataLayerId: e.dataLayerId,
4405
4482
  color: e.color,
4406
4483
  isStatic: t,
4407
4484
  level: e.level,
@@ -4412,6 +4489,8 @@ var La = {
4412
4489
  serviceName: e.serviceName,
4413
4490
  enableServiceColor: e.enableServiceColor,
4414
4491
  modelColorUrl: e.modelColorUrl,
4492
+ displayRange: e.displayRange,
4493
+ lodCalculationRange: e.lodCalculationRange,
4415
4494
  stackIndex: n.stackIndex,
4416
4495
  subStackIndex: n.subStackIndex,
4417
4496
  groupKey: n.groupKey || e.layerId
@@ -4423,14 +4502,14 @@ var La = {
4423
4502
  console.warn("[zzLayerZzts3d] 缺少 layerId,跳过初始化", e);
4424
4503
  return;
4425
4504
  }
4426
- let t = o(e), n = Ia(e.layerId);
4505
+ let t = o(e), n = Ra(e.layerId);
4427
4506
  if (n && !ja(n.renderSignature, t)) {
4428
4507
  typeof n.updateOptions == "function" && n.updateOptions(t), a = e.layerId;
4429
4508
  return;
4430
4509
  }
4431
- await Pa(t), a = e.layerId;
4510
+ await Ia(t), a = e.layerId;
4432
4511
  }, l = () => {
4433
- Fa(i.value.layerId);
4512
+ La(i.value.layerId);
4434
4513
  };
4435
4514
  return w(() => n.config, async () => {
4436
4515
  await s();
@@ -4442,7 +4521,7 @@ var La = {
4442
4521
  n.subStackIndex,
4443
4522
  n.groupKey
4444
4523
  ], () => {
4445
- let e = i.value, t = Ia(e.layerId);
4524
+ let e = i.value, t = Ra(e.layerId);
4446
4525
  if (t && typeof t.updateOptions == "function") {
4447
4526
  t.updateOptions({
4448
4527
  stackIndex: n.stackIndex,
@@ -4453,13 +4532,38 @@ var La = {
4453
4532
  }
4454
4533
  s();
4455
4534
  }), f(() => {
4456
- a ? Fa(a) : l();
4535
+ a ? La(a) : l();
4457
4536
  }), (e, t) => null;
4458
4537
  }
4459
4538
  };
4460
4539
  //#endregion
4461
4540
  //#region src/zz-layer/zz-layer-shp-zzts/shpZztsRenderer.js
4462
- function Ra(e) {
4541
+ function Ba(e) {
4542
+ if (!e) return null;
4543
+ let t = Number(e.longitudeWest ?? e.west), n = Number(e.latitudeSouth ?? e.south), r = Number(e.longitudeEast ?? e.east), i = Number(e.latitudeNorth ?? e.north);
4544
+ return ![
4545
+ t,
4546
+ n,
4547
+ r,
4548
+ i
4549
+ ].every(Number.isFinite) || t < -180 || r > 180 || n < -90 || i > 90 || t >= r || n >= i ? null : {
4550
+ west: t,
4551
+ south: n,
4552
+ east: r,
4553
+ north: i
4554
+ };
4555
+ }
4556
+ function Va(e, t) {
4557
+ if (!e || !t) return null;
4558
+ let n = {
4559
+ west: Math.max(e.west, t.west),
4560
+ south: Math.max(e.south, t.south),
4561
+ east: Math.min(e.east, t.east),
4562
+ north: Math.min(e.north, t.north)
4563
+ };
4564
+ return n.west < n.east && n.south < n.north ? n : null;
4565
+ }
4566
+ function Ha(e) {
4463
4567
  let t = performance.now(), n = [], r = new DataView(e), i = r.getInt32(0, !0);
4464
4568
  if (i <= 0 || i > 1e5) return console.warn(`[ShpZzts] tileCount 异常: ${i},跳过解析`), n;
4465
4569
  console.log(`[ShpZzts] 瓦片数量: ${i}`);
@@ -4475,7 +4579,7 @@ function Ra(e) {
4475
4579
  let c = String(t), l = 0, u = s.getInt32(0, !0), d = !1;
4476
4580
  if (u > 0 && u <= 128 && 4 + u + 8 <= i) {
4477
4581
  let e = s.getInt32(4 + u, !0), t = s.getInt32(8 + u, !0);
4478
- e >= 0 && t >= 0 && e % 8 == 0 && t % 4 == 0 && 4 + u + 8 + e + t === i && (d = !0);
4582
+ e >= 0 && t >= 0 && e % 24 == 0 && t % 4 == 0 && 4 + u + 8 + e + t === i && (d = !0);
4479
4583
  }
4480
4584
  if (d) {
4481
4585
  try {
@@ -4488,11 +4592,15 @@ function Ra(e) {
4488
4592
  let f = s.getInt32(l, !0);
4489
4593
  l += 4;
4490
4594
  let p = s.getInt32(l, !0);
4491
- if (l += 4, f % 8 != 0 || p % 4 != 0) {
4595
+ if (l += 4, f % 24 != 0 || p % 4 != 0) {
4492
4596
  console.error(`[ShpZzts] 数据对齐异常 positionsByteLen=${f} indicesByteLen=${p},跳过瓦片 ${t}`);
4493
4597
  continue;
4494
4598
  }
4495
4599
  let m = f / 8 / 3, h = p / 4;
4600
+ if (h > 1e8) {
4601
+ console.error(`[ShpZzts] indexCount 异常巨大: ${h},跳过瓦片 ${t}`);
4602
+ continue;
4603
+ }
4496
4604
  if (m === 0 || h === 0) {
4497
4605
  console.warn(`[ShpZzts] 空几何体 tile=${t},跳过`);
4498
4606
  continue;
@@ -4524,9 +4632,9 @@ function Ra(e) {
4524
4632
  let o = (performance.now() - t).toFixed(1);
4525
4633
  return console.log(`[ShpZzts] 解析完成: ${n.length} 要素, ${o}ms`), n;
4526
4634
  }
4527
- var za = class {
4635
+ var Ua = class {
4528
4636
  constructor(e, t = {}) {
4529
- this.viewer = e, this.id = t.layerId || "", this.calTilesUrl = t.calTilesUrl || "/v1/zzts/layer/shp/calTiles", this.tileUrl = t.tileUrl || "/v1/zzts/layer/3d/getVectorTile", this.opacity = this._normOpacity(t.opacity), this.batchSize = t.batchSize || 2e3, this.transitionDuration = t.transitionDuration || 50, this._userColor = t.color || null, this.dictCode = t.dictCode || "", this.serviceName = t.serviceName || "", this.enableServiceColor = t.enableServiceColor !== !1, this.modelColorUrl = t.modelColorUrl || "/v1/zzts/style/render/modelColors", this.modelColorCache = /* @__PURE__ */ new Map(), this.currentLod = -1, this.lodPrimitives = /* @__PURE__ */ new Map(), this.transitionAnimId = null, this.requestInProgress = !1, this.debounceTimer = null, this.destroyed = !1, this.globalInstanceId = 0, this.stackIndex = t.stackIndex ?? -1, this.subStackIndex = t.subStackIndex ?? 0, this.groupKey = t.groupKey || String(this.id), this._moveHandler = null;
4637
+ this.viewer = e, this.id = t.layerId || "", this.calTilesUrl = t.calTilesUrl || "/v1/zzts/layer/shp/calTiles", this.tileUrl = t.tileUrl || "/v1/zzts/layer/3d/getVectorTile", this.opacity = this._normOpacity(t.opacity), this.batchSize = t.batchSize || 2e3, this.transitionDuration = t.transitionDuration || 50, this.displayRange = Ba(t.displayRange), this._userColor = t.color || null, this.dictCode = t.dictCode || "", this.serviceName = t.serviceName || "", this.enableServiceColor = t.enableServiceColor !== !1, this.modelColorUrl = t.modelColorUrl || "/v1/zzts/style/render/modelColors", this.modelColorCache = /* @__PURE__ */ new Map(), this.currentLod = -1, this.lodPrimitives = /* @__PURE__ */ new Map(), this.transitionAnimId = null, this.requestInProgress = !1, this.renderRequestToken = 0, this.debounceTimer = null, this.destroyed = !1, this.globalInstanceId = 0, this.stackIndex = t.stackIndex ?? -1, this.subStackIndex = t.subStackIndex ?? 0, this.groupKey = t.groupKey || String(this.id), this._moveHandler = null;
4530
4638
  }
4531
4639
  _normOpacity(e) {
4532
4640
  let t = Number(e);
@@ -4588,18 +4696,26 @@ var za = class {
4588
4696
  }
4589
4697
  _getScreenBounds() {
4590
4698
  let e = this.viewer.scene.canvas, t = this.viewer.camera.computeViewRectangle();
4591
- return t ? {
4699
+ if (!t) return null;
4700
+ let n = {
4701
+ west: D.Math.toDegrees(t.west),
4702
+ south: D.Math.toDegrees(t.south),
4703
+ east: D.Math.toDegrees(t.east),
4704
+ north: D.Math.toDegrees(t.north)
4705
+ }, r = this.displayRange ? Va(n, this.displayRange) : n;
4706
+ return {
4707
+ requestBounds: r,
4592
4708
  region: [
4593
- D.Math.toDegrees(t.west),
4594
- D.Math.toDegrees(t.south),
4709
+ r?.west,
4710
+ r?.south,
4595
4711
  0,
4596
- D.Math.toDegrees(t.east),
4597
- D.Math.toDegrees(t.north),
4712
+ r?.east,
4713
+ r?.north,
4598
4714
  10
4599
4715
  ],
4600
4716
  width: e.clientWidth,
4601
4717
  height: e.clientHeight
4602
- } : null;
4718
+ };
4603
4719
  }
4604
4720
  _updatePrimitiveAlpha(e, t) {
4605
4721
  if (e) {
@@ -4619,6 +4735,10 @@ var za = class {
4619
4735
  this.lodPrimitives.delete(e);
4620
4736
  }
4621
4737
  }
4738
+ _clearRenderedPrimitives() {
4739
+ for (let e of [...this.lodPrimitives.keys()]) this._destroyLodPrimitives(e);
4740
+ this.currentLod = -1;
4741
+ }
4622
4742
  _crossFadeLod(e, t) {
4623
4743
  this.transitionAnimId !== null && (cancelAnimationFrame(this.transitionAnimId), this.transitionAnimId = null);
4624
4744
  let n = this.lodPrimitives.get(e) ?? void 0, r = this.lodPrimitives.get(t);
@@ -4711,21 +4831,25 @@ var za = class {
4711
4831
  };
4712
4832
  }
4713
4833
  async loadAndRender() {
4834
+ let e = this._getScreenBounds();
4835
+ if (!e) return;
4836
+ if (this.displayRange && !e.requestBounds) {
4837
+ this.renderRequestToken += 1, this._clearRenderedPrimitives(), console.log("[ShpZzts] 当前视窗与真实胶囊显示范围无交集,跳过瓦片请求");
4838
+ return;
4839
+ }
4714
4840
  if (this.requestInProgress) {
4715
4841
  console.log("[ShpZzts] 请求进行中,跳过");
4716
4842
  return;
4717
4843
  }
4718
- let e = this._getScreenBounds();
4719
- if (!e) return;
4720
- let t = Math.abs(e.region[3] - e.region[0]), n = Math.abs(e.region[4] - e.region[1]);
4721
- if (t > 20 || n > 20) {
4722
- console.warn(`[ShpZzts] 视窗范围过大,跳过请求 (lonSpan=${t.toFixed(2)}°, latSpan=${n.toFixed(2)}°, 限制=20°)`);
4844
+ let t = ++this.renderRequestToken, n = Math.abs(e.region[3] - e.region[0]), r = Math.abs(e.region[4] - e.region[1]);
4845
+ if (n > 20 || r > 20) {
4846
+ console.warn(`[ShpZzts] 视窗范围过大,跳过请求 (lonSpan=${n.toFixed(2)}°, latSpan=${r.toFixed(2)}°, 限制=20°)`);
4723
4847
  return;
4724
4848
  }
4725
4849
  this.requestInProgress = !0;
4726
- let r = performance.now();
4850
+ let i = performance.now();
4727
4851
  try {
4728
- let t = await k.request({
4852
+ let n = await k.request({
4729
4853
  method: "GET",
4730
4854
  url: this.calTilesUrl,
4731
4855
  params: {
@@ -4733,38 +4857,42 @@ var za = class {
4733
4857
  height: e.height,
4734
4858
  width: e.width
4735
4859
  }
4736
- }), { lodLevel: n = -1, tiles: i = [] } = t?.data ?? t ?? {};
4737
- if (console.log(`[ShpZzts] LOD ${n} | 瓦片数: ${i.length}`), !i || i.length === 0) {
4738
- console.warn("[ShpZzts] 没有需要加载的瓦片");
4860
+ });
4861
+ if (t !== this.renderRequestToken || this.destroyed) return;
4862
+ let { lodLevel: r = -1, tiles: a = [] } = n?.data ?? n ?? {};
4863
+ if (console.log(`[ShpZzts] LOD ${r} | 瓦片数: ${a.length}`), !a || a.length === 0) {
4864
+ console.warn("[ShpZzts] 没有需要加载的瓦片"), this._clearRenderedPrimitives();
4739
4865
  return;
4740
4866
  }
4741
- let a = i.map((e) => this._getVectorTileData(e.geoSot, n));
4742
- console.log(`[ShpZzts] 开始并行加载 ${a.length} 个瓦片...`);
4743
- let o = await Promise.allSettled(a), s = [];
4744
- for (let e = 0; e < o.length; e++) {
4745
- let t = o[e];
4867
+ let o = a.map((e) => this._getVectorTileData(e.geoSot, r));
4868
+ console.log(`[ShpZzts] 开始并行加载 ${o.length} 个瓦片...`);
4869
+ let s = await Promise.allSettled(o);
4870
+ if (t !== this.renderRequestToken || this.destroyed) return;
4871
+ let c = [];
4872
+ for (let e = 0; e < s.length; e++) {
4873
+ let t = s[e];
4746
4874
  if (t.status === "fulfilled") {
4747
4875
  let { geosot: e, data: n } = t.value;
4748
4876
  if (n instanceof ArrayBuffer && n.byteLength > 0 && (console.log(`[ShpZzts] 瓦片 ${e} 数据长度: ${n.byteLength}`), n.byteLength > 100)) {
4749
- let e = Ra(n);
4750
- e && e.length > 0 && (s = s.concat(e));
4877
+ let e = Ha(n);
4878
+ e && e.length > 0 && (c = c.concat(e));
4751
4879
  }
4752
- } else console.error(`[ShpZzts] 瓦片 ${i[e]?.geoSot} 加载失败:`, t.reason);
4880
+ } else console.error(`[ShpZzts] 瓦片 ${a[e]?.geoSot} 加载失败:`, t.reason);
4753
4881
  }
4754
- console.log(`[ShpZzts] 所有瓦片加载完成,总几何体数量: ${s.length}`);
4755
- let c = null;
4756
- if (s.length > 0 && this.isServiceColorEnabled()) {
4757
- let e = [...new Set(s.map((e) => String(e.featureId ?? "").trim()).filter((e) => e))];
4758
- c = await this.loadModelColorsByIds(e), console.log(`[ShpZzts] 服务配色命中: ${c.size}/${e.length}`);
4882
+ if (console.log(`[ShpZzts] 所有瓦片加载完成,总几何体数量: ${c.length}`), t !== this.renderRequestToken || this.destroyed) return;
4883
+ let l = null;
4884
+ if (c.length > 0 && this.isServiceColorEnabled()) {
4885
+ let e = [...new Set(c.map((e) => String(e.featureId ?? "").trim()).filter((e) => e))];
4886
+ l = await this.loadModelColorsByIds(e), console.log(`[ShpZzts] 服务配色命中: ${l.size}/${e.length}`);
4759
4887
  }
4760
- if (s.length > 0) {
4888
+ if (c.length > 0) {
4761
4889
  let e = this.currentLod;
4762
- this.currentLod !== -1 && this.currentLod !== n ? (console.log(`[ShpZzts-SILOD] LOD 变化: ${e} → ${n}`), this._destroyLodPrimitives(n), this._renderBatched(s, n, 0, () => {
4763
- console.log(`[ShpZzts-SILOD] 新 LOD ${n} 分批渲染完成,启动交叉淡化`), this._crossFadeLod(e, n);
4764
- }, c)) : (this._destroyLodPrimitives(n), this._renderBatched(s, n, 1, null, c)), this.currentLod = n;
4765
- }
4766
- let l = (performance.now() - r).toFixed(0);
4767
- console.log(`[ShpZzts] 加载+渲染完成: ${s.length} 要素, ${l}ms`);
4890
+ this.currentLod !== -1 && this.currentLod !== r ? (console.log(`[ShpZzts-SILOD] LOD 变化: ${e} → ${r}`), this._destroyLodPrimitives(r), this._renderBatched(c, r, 0, () => {
4891
+ console.log(`[ShpZzts-SILOD] 新 LOD ${r} 分批渲染完成,启动交叉淡化`), this._crossFadeLod(e, r);
4892
+ }, l)) : (this._destroyLodPrimitives(r), this._renderBatched(c, r, 1, null, l)), this.currentLod = r;
4893
+ } else this._clearRenderedPrimitives();
4894
+ let u = (performance.now() - i).toFixed(0);
4895
+ console.log(`[ShpZzts] 加载+渲染完成: ${c.length} 要素, ${u}ms`);
4768
4896
  } catch (e) {
4769
4897
  console.error("[ShpZzts] 加载失败:", e);
4770
4898
  } finally {
@@ -4793,19 +4921,19 @@ var za = class {
4793
4921
  }, 500), console.log(`[ShpZzts] 图层 ${this.id} 初始化完成`));
4794
4922
  }
4795
4923
  remove() {
4796
- this.destroyed = !0, this.transitionAnimId !== null && (cancelAnimationFrame(this.transitionAnimId), this.transitionAnimId = null), this.debounceTimer &&= (clearTimeout(this.debounceTimer), null), this._teardownMoveHandler(), this.modelColorCache.clear();
4924
+ this.destroyed = !0, this.renderRequestToken += 1, this.transitionAnimId !== null && (cancelAnimationFrame(this.transitionAnimId), this.transitionAnimId = null), this.debounceTimer &&= (clearTimeout(this.debounceTimer), null), this._teardownMoveHandler(), this.modelColorCache.clear();
4797
4925
  for (let e of this.lodPrimitives.keys()) this._destroyLodPrimitives(e);
4798
4926
  console.log(`[ShpZzts] 图层 ${this.id} 已移除`);
4799
4927
  }
4800
4928
  updateOptions(e = {}) {
4801
- e.opacity !== void 0 && (this.opacity = this._normOpacity(e.opacity)), e.stackIndex !== void 0 && (this.stackIndex = e.stackIndex), e.subStackIndex !== void 0 && (this.subStackIndex = e.subStackIndex), e.groupKey !== void 0 && (this.groupKey = e.groupKey), e.color !== void 0 && (this._userColor = e.color || null);
4929
+ e.opacity !== void 0 && (this.opacity = this._normOpacity(e.opacity)), e.stackIndex !== void 0 && (this.stackIndex = e.stackIndex), e.subStackIndex !== void 0 && (this.subStackIndex = e.subStackIndex), e.groupKey !== void 0 && (this.groupKey = e.groupKey), e.color !== void 0 && (this._userColor = e.color || null), e.displayRange !== void 0 && (this.displayRange = Ba(e.displayRange));
4802
4930
  let t = !1;
4803
4931
  e.dictCode !== void 0 && e.dictCode !== this.dictCode && (this.dictCode = e.dictCode || "", t = !0), e.serviceName !== void 0 && e.serviceName !== this.serviceName && (this.serviceName = e.serviceName || "", t = !0), e.enableServiceColor !== void 0 && !!e.enableServiceColor !== this.enableServiceColor && (this.enableServiceColor = !!e.enableServiceColor, t = !0), e.modelColorUrl !== void 0 && e.modelColorUrl !== this.modelColorUrl && (this.modelColorUrl = e.modelColorUrl || "/v1/zzts/style/render/modelColors", t = !0), t && this.modelColorCache.clear(), console.log(`[ShpZzts] 图层 ${this.id} 配置已更新`, {
4804
4932
  opacity: this.opacity,
4805
4933
  stackIndex: this.stackIndex
4806
4934
  });
4807
4935
  }
4808
- }, Ba = new class {
4936
+ }, Wa = new class {
4809
4937
  constructor() {
4810
4938
  this.layers = /* @__PURE__ */ new Map();
4811
4939
  }
@@ -4813,7 +4941,7 @@ var za = class {
4813
4941
  let n = t?.layerId || t?.id;
4814
4942
  if (!n) return console.error("[ShpZzts] 创建图层失败:缺少 layerId"), null;
4815
4943
  this.layers.has(n) && (console.warn(`[ShpZzts] 图层 ${n} 已存在,移除旧图层后重建`), this.removeLayer(n));
4816
- let r = new za(e, t);
4944
+ let r = new Ua(e, t);
4817
4945
  return await r.init(), this.layers.set(n, r), r;
4818
4946
  }
4819
4947
  removeLayer(e) {
@@ -4826,9 +4954,9 @@ var za = class {
4826
4954
  removeAllLayers() {
4827
4955
  this.layers.forEach((e) => e.remove()), this.layers.clear();
4828
4956
  }
4829
- }(), Va = async (e, t) => Ba.createLayer(e, t), Ha = (e) => {
4830
- Ba.removeLayer(e);
4831
- }, Ua = (e) => Ba.getLayer(e), Wa = {
4957
+ }(), Ga = async (e, t) => Wa.createLayer(e, t), Ka = (e) => {
4958
+ Wa.removeLayer(e);
4959
+ }, qa = (e) => Wa.getLayer(e), Ja = {
4832
4960
  __name: "index",
4833
4961
  props: {
4834
4962
  config: {
@@ -4853,6 +4981,7 @@ var za = class {
4853
4981
  layerId: "",
4854
4982
  calTilesUrl: "/v1/zzts/layer/shp/calTiles",
4855
4983
  tileUrl: "/v1/zzts/layer/3d/getVectorTile",
4984
+ displayRange: null,
4856
4985
  opacity: 1,
4857
4986
  batchSize: 2e3,
4858
4987
  transitionDuration: 50
@@ -4869,6 +4998,7 @@ var za = class {
4869
4998
  layerId: e.layerId,
4870
4999
  calTilesUrl: e.calTilesUrl,
4871
5000
  tileUrl: e.tileUrl,
5001
+ displayRange: e.displayRange,
4872
5002
  opacity: e.opacity,
4873
5003
  batchSize: e.batchSize,
4874
5004
  transitionDuration: e.transitionDuration,
@@ -4886,9 +5016,9 @@ var za = class {
4886
5016
  calTilesUrl: t.calTilesUrl,
4887
5017
  tileUrl: t.tileUrl,
4888
5018
  opacity: t.opacity
4889
- }), await Va(n.value, t), o = e.layerId;
5019
+ }), await Ga(n.value, t), o = e.layerId;
4890
5020
  }, l = () => {
4891
- Ha(a.value.layerId);
5021
+ Ka(a.value.layerId);
4892
5022
  };
4893
5023
  return w(() => r.config, async () => {
4894
5024
  console.log("[zzLayerShpZzts] props.config changed =", JSON.parse(JSON.stringify(r.config || {}))), await s();
@@ -4900,7 +5030,7 @@ var za = class {
4900
5030
  r.subStackIndex,
4901
5031
  r.groupKey
4902
5032
  ], () => {
4903
- let e = a.value, t = Ua(e.layerId);
5033
+ let e = a.value, t = qa(e.layerId);
4904
5034
  if (t && typeof t.updateOptions == "function") {
4905
5035
  t.updateOptions({
4906
5036
  stackIndex: r.stackIndex,
@@ -4913,16 +5043,16 @@ var za = class {
4913
5043
  }), d(() => {
4914
5044
  console.log("[zzLayerShpZzts] 组件挂载");
4915
5045
  }), f(() => {
4916
- console.log("[zzLayerShpZzts] 组件卸载,开始清理资源..."), o ? Ha(o) : l();
5046
+ console.log("[zzLayerShpZzts] 组件卸载,开始清理资源..."), o ? Ka(o) : l();
4917
5047
  }), (e, t) => null;
4918
5048
  }
4919
5049
  };
4920
5050
  //#endregion
4921
5051
  //#region src/zz-layer/zz-layer-zzts3d-point/pointTileUtils.js
4922
- function Ga(e) {
5052
+ function Ya(e) {
4923
5053
  return e instanceof ArrayBuffer ? e : ArrayBuffer.isView(e) ? e.buffer.slice(e.byteOffset, e.byteOffset + e.byteLength) : null;
4924
5054
  }
4925
- function Ka(e) {
5055
+ function Xa(e) {
4926
5056
  if (!e || e.byteLength === 0) return null;
4927
5057
  let t = new Uint8Array(e), n = t.find((e) => e > 32);
4928
5058
  if (n !== 123 && n !== 91) return null;
@@ -4932,41 +5062,41 @@ function Ka(e) {
4932
5062
  return null;
4933
5063
  }
4934
5064
  }
4935
- function qa(e, t = {}) {
5065
+ function Za(e, t = {}) {
4936
5066
  return console.warn("[zzts3d-point] skip invalid tile data:", e, t), [];
4937
5067
  }
4938
- var Ja = [
5068
+ var Qa = [
4939
5069
  13,
4940
5070
  14,
4941
5071
  15,
4942
5072
  16,
4943
5073
  18
4944
- ], Ya = 16;
4945
- function Xa(e, t = Ya) {
5074
+ ], $a = 16;
5075
+ function eo(e, t = $a) {
4946
5076
  let n = Number(e);
4947
- if (Number.isFinite(n) && n > 0) return Ja.find((e) => n <= e) || Ja[Ja.length - 1];
5077
+ if (Number.isFinite(n) && n > 0) return Qa.find((e) => n <= e) || Qa[Qa.length - 1];
4948
5078
  let r = Number(t);
4949
- return Number.isFinite(r) && r > 0 ? Ja.find((e) => r <= e) || Ja[Ja.length - 1] : Ya;
5079
+ return Number.isFinite(r) && r > 0 ? Qa.find((e) => r <= e) || Qa[Qa.length - 1] : $a;
4950
5080
  }
4951
- function Za(e, t) {
5081
+ function to(e, t) {
4952
5082
  let n = (String(e ?? "").split("_")[0].match(/\d/g) || []).length;
4953
- return n > 0 ? Xa(n, t) : Xa(t);
5083
+ return n > 0 ? eo(n, t) : eo(t);
4954
5084
  }
4955
- function Qa(e, t) {
4956
- let n = Ga(e);
4957
- if (!n || n.byteLength < 4 || Ka(n)) return [];
5085
+ function no(e, t) {
5086
+ let n = Ya(e);
5087
+ if (!n || n.byteLength < 4 || Xa(n)) return [];
4958
5088
  let r = [], i = new DataView(n), a = 0, o = i.getInt32(a, !0);
4959
- if (a += 4, o < 0 || o > 1e5) return qa("invalid entity count", {
5089
+ if (a += 4, o < 0 || o > 1e5) return Za("invalid entity count", {
4960
5090
  entityCount: o,
4961
5091
  byteLength: n.byteLength
4962
5092
  });
4963
5093
  for (let e = 0; e < o; e++) {
4964
- if (a + 4 > n.byteLength) return qa("missing compressed chunk length", {
5094
+ if (a + 4 > n.byteLength) return Za("missing compressed chunk length", {
4965
5095
  offset: a,
4966
5096
  byteLength: n.byteLength
4967
5097
  });
4968
5098
  let e = i.getInt32(a, !0);
4969
- if (a += 4, e <= 0 || a + e > n.byteLength) return qa("invalid compressed chunk length", {
5099
+ if (a += 4, e <= 0 || a + e > n.byteLength) return Za("invalid compressed chunk length", {
4970
5100
  compressedLength: e,
4971
5101
  offset: a,
4972
5102
  byteLength: n.byteLength
@@ -4980,11 +5110,11 @@ function Qa(e, t) {
4980
5110
  } catch {
4981
5111
  s = new DataView(o.buffer, o.byteOffset, o.byteLength);
4982
5112
  }
4983
- if (s.byteLength < 12) return qa("chunk too small", { byteLength: s.byteLength });
5113
+ if (s.byteLength < 12) return Za("chunk too small", { byteLength: s.byteLength });
4984
5114
  let c = 0, l = s.getBigInt64(c, !0);
4985
5115
  c += 8;
4986
5116
  let u = s.getInt32(c, !0);
4987
- if (c += 4, u < 0 || u % 12 != 0 || c + u > s.byteLength) return qa("invalid positions byte length", {
5117
+ if (c += 4, u < 0 || u % 12 != 0 || c + u > s.byteLength) return Za("invalid positions byte length", {
4988
5118
  positionsByteLength: u,
4989
5119
  innerOffset: c,
4990
5120
  byteLength: s.byteLength
@@ -5000,14 +5130,46 @@ function Qa(e, t) {
5000
5130
  }
5001
5131
  return r;
5002
5132
  }
5003
- function $a({ destroyed: e, currentVersion: t, requestVersion: n, cancelToken: r } = {}) {
5133
+ function ro({ destroyed: e, currentVersion: t, requestVersion: n, cancelToken: r } = {}) {
5004
5134
  return !e && t === n && !r?.token?.reason;
5005
5135
  }
5006
5136
  //#endregion
5007
5137
  //#region src/zz-layer/zz-layer-zzts3d-point/entityGrid.js
5008
- var eo = class {
5138
+ function io(e) {
5139
+ if (!e) return null;
5140
+ let t = e;
5141
+ if (typeof e == "string") try {
5142
+ t = JSON.parse(e);
5143
+ } catch {
5144
+ return null;
5145
+ }
5146
+ if (!t || typeof t != "object") return null;
5147
+ let n = Number(t.longitudeWest ?? t.west), r = Number(t.latitudeSouth ?? t.south), i = Number(t.longitudeEast ?? t.east), a = Number(t.latitudeNorth ?? t.north);
5148
+ return ![
5149
+ n,
5150
+ r,
5151
+ i,
5152
+ a
5153
+ ].every(Number.isFinite) || n < -180 || i > 180 || r < -90 || a > 90 || n >= i || r >= a ? null : {
5154
+ west: n,
5155
+ south: r,
5156
+ east: i,
5157
+ north: a
5158
+ };
5159
+ }
5160
+ function ao(e, t) {
5161
+ if (!e || !t) return null;
5162
+ let n = {
5163
+ west: Math.max(e.west, t.west),
5164
+ south: Math.max(e.south, t.south),
5165
+ east: Math.min(e.east, t.east),
5166
+ north: Math.min(e.north, t.north)
5167
+ };
5168
+ return n.west < n.east && n.south < n.north ? n : null;
5169
+ }
5170
+ var oo = class {
5009
5171
  constructor(e, t = !1, n = null, r = "255,255,255", i = 5, a = 1, o = {}) {
5010
- this.id = e, this.isStatic = t, this.loadedTiles = /* @__PURE__ */ new Map(), this.currentTileIds = /* @__PURE__ */ new Set(), this.currentNewLevel = g(n || 15), this.gridDb = null, this.entityNum = 0, this.handlers = null, this.requestController = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.fadeAnimations = /* @__PURE__ */ new Map(), this.lastTime = 0, this.pointSize = i, this.opacity = a, this.fixedLevel = n, this.dictCode = o.dictCode || "", this.serviceName = o.serviceName || "", this.enableServiceColor = o.enableServiceColor === !0, this.modelColorUrl = o.modelColorUrl || "/v1/zzts/style/render/modelColors", this.modelColorCache = /* @__PURE__ */ new Map(), this.requestVersion = 0, this.destroyed = !1, this.initTimer = null, this.levels_add = window.levels_add_plus || 0, this.tileColor = r, this.tileSleepTime = window.tileSleepTime || 400, this.highlightModelId = null, this.highlightColor = "255,255,0", this.highlightOpacity = 1, this.highlightPointSize = null, this.modelPointIndex = /* @__PURE__ */ new Map(), this.tilePointIndex = /* @__PURE__ */ new Map();
5172
+ this.id = e, this.isStatic = t, this.loadedTiles = /* @__PURE__ */ new Map(), this.currentTileIds = /* @__PURE__ */ new Set(), this.currentNewLevel = g(n || 15), this.gridDb = null, this.entityNum = 0, this.handlers = null, this.requestController = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.fadeAnimations = /* @__PURE__ */ new Map(), this.lastTime = 0, this.pointSize = i, this.opacity = a, this.fixedLevel = n, this.dictCode = o.dictCode || "", this.serviceName = o.serviceName || "", this.enableServiceColor = o.enableServiceColor === !0, this.modelColorUrl = o.modelColorUrl || "/v1/zzts/style/render/modelColors", this.displayRange = io(o.displayRange), this.modelColorCache = /* @__PURE__ */ new Map(), this.requestVersion = 0, this.destroyed = !1, this.initTimer = null, this.levels_add = window.levels_add_plus || 0, this.tileColor = r, this.tileSleepTime = window.tileSleepTime || 400, this.highlightModelId = null, this.highlightColor = "255,255,0", this.highlightOpacity = 1, this.highlightPointSize = null, this.modelPointIndex = /* @__PURE__ */ new Map(), this.tilePointIndex = /* @__PURE__ */ new Map();
5011
5173
  }
5012
5174
  getBaseStyle() {
5013
5175
  return {
@@ -5196,15 +5358,29 @@ var eo = class {
5196
5358
  if (!a[0] || e.length < 4) return;
5197
5359
  r = a[0].level + this.levels_add;
5198
5360
  }
5199
- if (this.currentNewLevel.value = r, !(e.length < 4)) {
5200
- var i = Ke(We([
5201
- [e[0].x, e[0].y],
5202
- [e[1].x, e[1].y],
5203
- [e[2].x, e[2].y],
5204
- [e[3].x, e[3].y]
5205
- ]));
5206
- this.getEntityData(i, r, e, this.requestController.signal);
5361
+ if (this.currentNewLevel.value = r, e.length < 4) return;
5362
+ let i = Ke(We([
5363
+ [e[0].x, e[0].y],
5364
+ [e[1].x, e[1].y],
5365
+ [e[2].x, e[2].y],
5366
+ [e[3].x, e[3].y]
5367
+ ])), a = {
5368
+ west: i[0],
5369
+ south: i[1],
5370
+ east: i[2],
5371
+ north: i[3]
5372
+ }, o = this.displayRange ? ao(a, this.displayRange) : a;
5373
+ if (!o) {
5374
+ this.clearAllTiles();
5375
+ return;
5207
5376
  }
5377
+ let s = [
5378
+ o.west,
5379
+ o.south,
5380
+ o.east,
5381
+ o.north
5382
+ ];
5383
+ this.getEntityData(s, r, e, this.requestController.signal);
5208
5384
  }
5209
5385
  showDebugPoints(e) {
5210
5386
  viewer.entities.values.filter((e) => e.id && e.id.startsWith(`debug_${this.id}_`)).forEach((e) => viewer.entities.remove(e)), e.forEach((e, t) => {
@@ -5228,28 +5404,33 @@ var eo = class {
5228
5404
  render3DFaces(e, t) {
5229
5405
  if (this.destroyed) return;
5230
5406
  this.lastTime = (/* @__PURE__ */ new Date()).getTime();
5231
- let n = N.getCameraView(viewer);
5232
- e.forEach((e) => {
5407
+ let n = N.getCameraView(viewer), r = Array.isArray(e) ? e : [];
5408
+ r.forEach((e) => {
5233
5409
  if (this.isStatic && this.fixedLevel) e.geoSot = e.geoSot, e.level = t;
5234
5410
  else {
5235
- let r = Za(e.geoSot, t), i = Cesium.Cartesian3.distance(Cesium.Cartesian3.fromDegrees((e.xmax + e.xmin) / 2, (e.ymax + e.ymin) / 2, 0), Cesium.Cartesian3.fromDegrees(n.x, n.y, n.z));
5411
+ let r = to(e.geoSot, t), i = Cesium.Cartesian3.distance(Cesium.Cartesian3.fromDegrees((e.xmax + e.xmin) / 2, (e.ymax + e.ymin) / 2, 0), Cesium.Cartesian3.fromDegrees(n.x, n.y, n.z));
5236
5412
  N.entityGridLevels.filter((e) => e.max >= i && e.min <= i), e.geoSot = e.geoSot, e.level = r;
5237
5413
  }
5238
5414
  });
5239
- let r = e, i = new Set(r.map((e) => e.geoSot)), a = [], o = [];
5415
+ let i = this.displayRange, a = r.filter((e) => i ? !!ao({
5416
+ west: Number(e?.xmin),
5417
+ south: Number(e?.ymin),
5418
+ east: Number(e?.xmax),
5419
+ north: Number(e?.ymax)
5420
+ }, i) : !0), o = new Set(a.map((e) => e.geoSot)), s = [], c = [];
5240
5421
  this.currentTileIds.forEach((e) => {
5241
- i.has(e) || o.push(e);
5242
- }), i.forEach((e) => {
5422
+ o.has(e) || c.push(e);
5423
+ }), o.forEach((e) => {
5243
5424
  if (!this.currentTileIds.has(e)) {
5244
- let t = r.find((t) => e === t.geoSot);
5245
- t && a.push(t);
5425
+ let t = a.find((t) => e === t.geoSot);
5426
+ t && s.push(t);
5246
5427
  }
5247
- }), a.forEach((e) => {
5428
+ }), s.forEach((e) => {
5248
5429
  this.addTile(e, e.level);
5249
- }), o.forEach((e) => {
5430
+ }), c.forEach((e) => {
5250
5431
  let t = this.loadedTiles.get(e);
5251
5432
  t && this.fadeOut(t, e);
5252
- }), this.currentTileIds = i;
5433
+ }), this.currentTileIds = o;
5253
5434
  }
5254
5435
  fadeOut(e, t) {
5255
5436
  if (this.fadeAnimations.has(t)) {
@@ -5262,7 +5443,7 @@ var eo = class {
5262
5443
  this.fadeAnimations.set(t, { interval: i });
5263
5444
  }
5264
5445
  isActiveRequest(e, t) {
5265
- return $a({
5446
+ return ro({
5266
5447
  destroyed: this.destroyed,
5267
5448
  currentVersion: this.requestVersion,
5268
5449
  requestVersion: e,
@@ -5420,7 +5601,7 @@ var eo = class {
5420
5601
  this.handlers &&= (viewer.camera.changed.removeEventListener(this.handlers), null), this.clearAllTiles(), this.requestController &&= (this.requestController.abort(), null);
5421
5602
  }
5422
5603
  parseCompressedMeshData(e, t) {
5423
- return Qa(e, t);
5604
+ return no(e, t);
5424
5605
  }
5425
5606
  showPoint(e, t, n, r) {
5426
5607
  viewer.entities.add({
@@ -5441,7 +5622,7 @@ var eo = class {
5441
5622
  }
5442
5623
  });
5443
5624
  }
5444
- }, to = new class {
5625
+ }, so = new class {
5445
5626
  constructor() {
5446
5627
  this.layers = /* @__PURE__ */ new Map();
5447
5628
  }
@@ -5451,9 +5632,9 @@ var eo = class {
5451
5632
  if (this.layers.has(t)) {
5452
5633
  console.warn(`图层 ${t} 已存在`);
5453
5634
  let i = this.layers.get(t), a = ja(i.renderSignature, e || {});
5454
- return n && (i.tileColor = n), i.dictCode = e?.dictCode || i.dictCode || "", i.serviceName = e?.serviceName || i.serviceName || "", e?.enableServiceColor !== void 0 && (i.enableServiceColor = !!e.enableServiceColor), i.modelColorUrl = e?.modelColorUrl || i.modelColorUrl || "/v1/zzts/style/render/modelColors", r != null && (i.fixedLevel = r, i.currentNewLevel.value = r), a && (i.renderSignature = Aa(e || {}), i.modelColorCache.clear(), i.clearAllTiles(), i.getViewportInfo()), i;
5635
+ return n && (i.tileColor = n), i.dictCode = e?.dictCode || i.dictCode || "", i.serviceName = e?.serviceName || i.serviceName || "", e?.displayRange !== void 0 && (i.displayRange = io(e.displayRange)), e?.enableServiceColor !== void 0 && (i.enableServiceColor = !!e.enableServiceColor), i.modelColorUrl = e?.modelColorUrl || i.modelColorUrl || "/v1/zzts/style/render/modelColors", r != null && (i.fixedLevel = r, i.currentNewLevel.value = r), a && (i.renderSignature = Aa(e || {}), i.modelColorCache.clear(), i.clearAllTiles(), i.getViewportInfo()), i;
5455
5636
  }
5456
- let s = new eo(t, i, r, n, a, o, e);
5637
+ let s = new oo(t, i, r, n, a, o, e);
5457
5638
  s.renderSignature = Aa(e || {}), this.layers.set(t, s);
5458
5639
  try {
5459
5640
  return await s.init(), s.destroyed ? (this.layers.delete(t), null) : s;
@@ -5482,20 +5663,20 @@ var eo = class {
5482
5663
  let t = this.layers.get(e);
5483
5664
  t && t.getViewportInfo();
5484
5665
  }
5485
- }(), no = async (e) => to.createLayer(e, !1), ro = (e) => {
5486
- to.removeLayer(e);
5487
- }, io = (e) => to.getLayer(e);
5666
+ }(), co = async (e) => so.createLayer(e, !1), lo = (e) => {
5667
+ so.removeLayer(e);
5668
+ }, uo = (e) => so.getLayer(e);
5488
5669
  t(() => {
5489
- let e = to.getLayerIds();
5670
+ let e = so.getLayerIds();
5490
5671
  if (e.length > 0) {
5491
- let t = to.getLayer(e[0]);
5672
+ let t = so.getLayer(e[0]);
5492
5673
  return t ? t.getCurrentLevel() : 15;
5493
5674
  }
5494
5675
  return 15;
5495
5676
  });
5496
5677
  //#endregion
5497
5678
  //#region src/zz-layer/zz-layer-zzts3d-point/index.vue
5498
- var ao = {
5679
+ var fo = {
5499
5680
  __name: "index",
5500
5681
  props: { config: {
5501
5682
  type: Object,
@@ -5521,7 +5702,8 @@ var ao = {
5521
5702
  dictCode: "",
5522
5703
  serviceName: "",
5523
5704
  enableServiceColor: !1,
5524
- modelColorUrl: "/v1/zzts/style/render/modelColors"
5705
+ modelColorUrl: "/v1/zzts/style/render/modelColors",
5706
+ displayRange: null
5525
5707
  }, _ = t(() => ({
5526
5708
  ...h,
5527
5709
  ...i.config
@@ -5553,14 +5735,15 @@ var ao = {
5553
5735
  dictCode: e.dictCode,
5554
5736
  serviceName: e.serviceName,
5555
5737
  enableServiceColor: e.enableServiceColor,
5556
- modelColorUrl: e.modelColorUrl
5738
+ modelColorUrl: e.modelColorUrl,
5739
+ displayRange: e.displayRange
5557
5740
  };
5558
5741
  }
5559
5742
  let S = async () => {
5560
5743
  let e = ++u, t = _.value;
5561
5744
  if (!t.layerId) return;
5562
- let n = x(t), i = io(t.layerId);
5563
- if (i && !ja(i.renderSignature, n) ? s.value = i : s.value = await no(n), !(m || e !== u)) {
5745
+ let n = x(t), i = uo(t.layerId);
5746
+ if (i && !ja(i.renderSignature, n) ? s.value = i : s.value = await co(n), !(m || e !== u)) {
5564
5747
  if (l.value && _.value.highlightEnabled && s.value?.setHighlight && s.value.setHighlight(l.value, {
5565
5748
  highlightColor: _.value.highlightColor,
5566
5749
  highlightOpacity: _.value.highlightOpacity,
@@ -5600,7 +5783,7 @@ var ao = {
5600
5783
  }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
5601
5784
  }
5602
5785
  }, C = () => {
5603
- b(), v(), s.value = null, ro(_.value.layerId || i.config.layerId);
5786
+ b(), v(), s.value = null, lo(_.value.layerId || i.config.layerId);
5604
5787
  };
5605
5788
  return w(_, () => {
5606
5789
  S();
@@ -5611,7 +5794,7 @@ var ao = {
5611
5794
  console.log("组件卸载,开始清理资源..."), m = !0, u++, d++, p?.abort(), p = null, C();
5612
5795
  }), (e, t) => null;
5613
5796
  }
5614
- }, oo = {
5797
+ }, po = {
5615
5798
  __name: "queryPoint",
5616
5799
  props: {
5617
5800
  config: {
@@ -5794,7 +5977,7 @@ var ao = {
5794
5977
  C(), x([]);
5795
5978
  }), (e, t) => null;
5796
5979
  }
5797
- }, so = "__zzts3dGridPickable", co = {
5980
+ }, mo = "__zzts3dGridPickable", ho = {
5798
5981
  __name: "index",
5799
5982
  props: { config: {
5800
5983
  type: Object,
@@ -5894,7 +6077,7 @@ var ao = {
5894
6077
  b && y.remove(b), x && y.remove(x);
5895
6078
  } catch {}
5896
6079
  try {
5897
- b && delete b[so], x && delete x[so];
6080
+ b && delete b[mo], x && delete x[mo];
5898
6081
  } catch {}
5899
6082
  b = null, x = null;
5900
6083
  }
@@ -5913,7 +6096,7 @@ var ao = {
5913
6096
  return t.startsWith("grid_outline_") ? t.slice(13) : t;
5914
6097
  }
5915
6098
  function j() {
5916
- b && (b[so] = !0), x && (x[so] = !0);
6099
+ b && (b[mo] = !0), x && (x[mo] = !0);
5917
6100
  }
5918
6101
  function M(e, t) {
5919
6102
  return Cesium.ColorGeometryInstanceAttribute.toValue(C(e, t));
@@ -5956,7 +6139,7 @@ var ao = {
5956
6139
  if (!t?.length) return null;
5957
6140
  for (let e = 0; e < t.length; e++) {
5958
6141
  let n = t[e], r = n?.primitive;
5959
- if (r && (r[so] === !0 || r === b || r === x)) return n;
6142
+ if (r && (r[mo] === !0 || r === b || r === x)) return n;
5960
6143
  }
5961
6144
  return null;
5962
6145
  }
@@ -6102,11 +6285,11 @@ var ao = {
6102
6285
  p++, m++, v.forEach((e) => e.abort()), v.clear(), _.clear(), h = "", R();
6103
6286
  }), (e, t) => null;
6104
6287
  }
6105
- }, lo = (e, t) => {
6288
+ }, go = (e, t) => {
6106
6289
  let n = e.__vccOpts || e;
6107
6290
  for (let [e, r] of t) n[e] = r;
6108
6291
  return n;
6109
- }, uo = "__zzts3dGridColorPickable", fo = /*#__PURE__*/ lo({
6292
+ }, _o = "__zzts3dGridColorPickable", vo = /*#__PURE__*/ go({
6110
6293
  __name: "color",
6111
6294
  props: { config: {
6112
6295
  type: Object,
@@ -6207,7 +6390,7 @@ var ao = {
6207
6390
  D && E.remove(D), O && E.remove(O);
6208
6391
  } catch {}
6209
6392
  try {
6210
- D && delete D[uo], O && delete O[uo];
6393
+ D && delete D[_o], O && delete O[_o];
6211
6394
  } catch {}
6212
6395
  D = null, O = null;
6213
6396
  }
@@ -6237,7 +6420,7 @@ var ao = {
6237
6420
  return Number.isFinite(r) ? r : -1;
6238
6421
  }
6239
6422
  function ee() {
6240
- D && (D[uo] = !0), O && (O[uo] = !0);
6423
+ D && (D[_o] = !0), O && (O[_o] = !0);
6241
6424
  }
6242
6425
  function te(e, t) {
6243
6426
  return Cesium.ColorGeometryInstanceAttribute.toValue(j(e, t));
@@ -6285,7 +6468,7 @@ var ao = {
6285
6468
  if (!t?.length) return null;
6286
6469
  for (let e = 0; e < t.length; e++) {
6287
6470
  let n = t[e], r = n?.primitive;
6288
- if (r && (r[uo] === !0 || r === D || r === O)) return n;
6471
+ if (r && (r[_o] === !0 || r === D || r === O)) return n;
6289
6472
  }
6290
6473
  return null;
6291
6474
  }
@@ -6452,7 +6635,7 @@ var ao = {
6452
6635
  })
6453
6636
  }, null, 4)) : r("", !0);
6454
6637
  }
6455
- }, [["__scopeId", "data-v-719d18e0"]]), po = {
6638
+ }, [["__scopeId", "data-v-c95c8119"]]), yo = {
6456
6639
  __name: "query",
6457
6640
  props: {
6458
6641
  config: {
@@ -6685,7 +6868,7 @@ var ao = {
6685
6868
  u++, h.forEach((e) => e.abort()), h.clear(), p.clear(), m.clear(), d = "", D();
6686
6869
  }), (e, t) => null;
6687
6870
  }
6688
- }, mo = {
6871
+ }, bo = {
6689
6872
  __name: "interpolation",
6690
6873
  props: { config: {
6691
6874
  type: Object,
@@ -6890,7 +7073,490 @@ var ao = {
6890
7073
  o++, u.forEach((e) => e.abort()), u.clear(), l.clear(), s = "", x();
6891
7074
  }), (e, t) => null;
6892
7075
  }
6893
- }, ho = {
7076
+ }, xo = class {
7077
+ constructor(e, t = !1, n = null, r = "255,255,255", i = "", a = 1, o = "") {
7078
+ this.id = e, this.dictCode = o == null ? "" : String(o), this.isStatic = t, this.loadedTiles = /* @__PURE__ */ new Map(), this.currentTileIds = /* @__PURE__ */ new Set(), this.currentNewLevel = g(n || 15), this.gridDb = null, this.entityNum = 0, this.handlers = null, this.requestController = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.fadeAnimations = /* @__PURE__ */ new Map(), this.lastTime = 0, this.serviceType = i, this.opacity = a, this.fixedLevel = n, this.levels_add = window.levels_add_plus || 0, this.tileColor = r, this.tileSleepTime = window.tileSleepTime || 400;
7079
+ }
7080
+ async init() {
7081
+ let e = this.isStatic ? "_static" : "";
7082
+ console.log("1"), this.gridDb = await new O(`gridDbs_${this.id}${e}_${this.serviceType}_v2`, 2), await this.gridDb.openDatabase("gridEntity", "id"), console.log("2"), this.isStatic || this.initHandler(), this.getViewportInfo();
7083
+ }
7084
+ getCurrentLevel() {
7085
+ return this.currentNewLevel.value;
7086
+ }
7087
+ remove() {
7088
+ this.destroyHandler(), this.clearAllTiles();
7089
+ }
7090
+ removeTilesOnly() {
7091
+ this.clearAllTiles();
7092
+ }
7093
+ clearAllTiles() {
7094
+ this.fadeAnimations.forEach((e) => {
7095
+ e.interval && clearInterval(e.interval);
7096
+ }), this.fadeAnimations.clear(), this.pendingRequests.forEach((e) => {
7097
+ e.cancel && e.cancel();
7098
+ }), this.pendingRequests.clear(), this.currentTileIds = /* @__PURE__ */ new Set();
7099
+ for (let [e, t] of this.loadedTiles) t.box && viewer.scene.primitives.contains(t.box) && viewer.scene.primitives.remove(t.box), t.line && viewer.scene.primitives.contains(t.line) && viewer.scene.primitives.remove(t.line);
7100
+ this.loadedTiles.clear();
7101
+ }
7102
+ initHandler1() {
7103
+ if (this.getViewportInfo(), this.handlers) try {
7104
+ viewer.camera.moveEnd.removeEventListener(this.handlers);
7105
+ } catch (e) {
7106
+ console.warn("移除旧的事件监听器失败:", e);
7107
+ }
7108
+ this.handlers = () => {
7109
+ this.getViewportInfo();
7110
+ }, viewer.camera.moveEnd.addEventListener(this.handlers);
7111
+ }
7112
+ initHandler() {
7113
+ if (this.getViewportInfo(), this.handlers) try {
7114
+ viewer.camera.changed.removeEventListener(this.handlers);
7115
+ } catch (e) {
7116
+ console.warn("移除旧的事件监听器失败:", e);
7117
+ }
7118
+ let e = null, t = () => {
7119
+ clearTimeout(e), e = setTimeout(() => {
7120
+ this.getViewportInfo();
7121
+ }, 250);
7122
+ };
7123
+ viewer.camera.changed.addEventListener(t), this.handlers = t;
7124
+ }
7125
+ getViewportInfo() {
7126
+ this.requestController && this.requestController.abort(), this.requestController = new AbortController(), this.entityNum = 0;
7127
+ let e = N.getFrustumGroundIntersectionPoints(viewer), t = N.getCenter(viewer), n = N.getCameraView(viewer);
7128
+ if (n.pitch > -18) return;
7129
+ let r;
7130
+ if (this.isStatic && this.fixedLevel) r = this.fixedLevel + this.levels_add;
7131
+ else {
7132
+ let i = Cesium.Cartesian3.distance(Cesium.Cartesian3.fromDegrees(t.x, t.y, 0), Cesium.Cartesian3.fromDegrees(n.x, n.y, n.z));
7133
+ console.log(N.entityGridLevels);
7134
+ let a = N.entityGridLevels.filter((e) => e.max >= i && e.min <= i);
7135
+ if (!a[0] || e.length < 4) return;
7136
+ r = a[0].level + this.levels_add;
7137
+ }
7138
+ if (this.currentNewLevel.value = r, !(e.length < 4)) {
7139
+ var i = Ke(We([
7140
+ [e[0].x, e[0].y],
7141
+ [e[1].x, e[1].y],
7142
+ [e[2].x, e[2].y],
7143
+ [e[3].x, e[3].y]
7144
+ ]));
7145
+ this.getEntityData(i, r, e, this.requestController.signal);
7146
+ }
7147
+ }
7148
+ showDebugPoints(e) {
7149
+ viewer.entities.values.filter((e) => e.id && e.id.startsWith(`debug_${this.id}_`)).forEach((e) => viewer.entities.remove(e)), e.forEach((e, t) => {
7150
+ this.showPoint(e.x, e.y, 1, t);
7151
+ });
7152
+ }
7153
+ async getEntityData(e, t, n, r) {
7154
+ let i = viewer.scene.canvas, a = i.clientWidth, o = i.clientHeight, s = Number(e[2]) - Number(e[0]), c = Number(e[3]) - Number(e[1]);
7155
+ if (!(s > 20 || c > 20)) try {
7156
+ let n = await k.request({
7157
+ method: "GET",
7158
+ url: `/v1/zzts/layer/3d/calTiles?region=${e[0]},${e[1]},0,${e[2]},${e[3]},10&width=${a}&height=${o}`,
7159
+ timeout: 6e4,
7160
+ signal: r
7161
+ });
7162
+ r.aborted || this.render3DFaces(n.tiles || [], n.lodLevel ?? t);
7163
+ } catch (e) {
7164
+ e.name === "AbortError" ? console.log(`图层 ${this.id} 请求被取消`) : console.error(`图层 ${this.id} 获取实体数据出错:`, e);
7165
+ }
7166
+ }
7167
+ render3DFaces(e, t) {
7168
+ this.lastTime = (/* @__PURE__ */ new Date()).getTime(), e.forEach((e) => {
7169
+ e.geoSot = e.geoSot, e.level = t;
7170
+ });
7171
+ let n = e, r = new Set(n.map((e) => e.geoSot)), i = [], a = [];
7172
+ this.currentTileIds.forEach((e) => {
7173
+ r.has(e) || a.push(e);
7174
+ }), r.forEach((e) => {
7175
+ if (!this.currentTileIds.has(e)) {
7176
+ let t = n.find((t) => e === t.geoSot);
7177
+ t && i.push(t);
7178
+ }
7179
+ }), i.forEach((e) => {
7180
+ this.addTile(e, e.level);
7181
+ }), a.forEach((e) => {
7182
+ let t = this.loadedTiles.get(e);
7183
+ t && this.fadeOut(t, e);
7184
+ }), this.currentTileIds = r;
7185
+ }
7186
+ fadeOut(e, t) {
7187
+ if (this.fadeAnimations.has(t)) {
7188
+ let e = this.fadeAnimations.get(t);
7189
+ e.interval && clearInterval(e.interval);
7190
+ }
7191
+ let n = 0, r = this.tileSleepTime / 100, i = setInterval(() => {
7192
+ n < r ? (e.box && e.box.appearance, n++) : (clearInterval(i), this.fadeAnimations.delete(t), e.box && viewer.scene.primitives.contains(e.box) && viewer.scene.primitives.remove(e.box), e.line && viewer.scene.primitives.contains(e.line) && viewer.scene.primitives.remove(e.line), this.loadedTiles.delete(t), this.currentTileIds.delete(t));
7193
+ }, 100);
7194
+ this.fadeAnimations.set(t, { interval: i });
7195
+ }
7196
+ async addTile(e, t) {
7197
+ let n = e.geoSot;
7198
+ if (this.pendingRequests.has(n)) {
7199
+ let e = this.pendingRequests.get(n);
7200
+ e.cancel && e.cancel();
7201
+ }
7202
+ let r = M.CancelToken.source();
7203
+ this.pendingRequests.set(n, { cancel: () => r.cancel("请求被取消") });
7204
+ let i = e.level || t, a = `${n}__L${i}`;
7205
+ try {
7206
+ let t = await this.gridDb.getDataById("gridEntity", a);
7207
+ if (t) t.data.byteLength > 47 && this.addGridToMap(e, this.parseCompressedMeshData(t.data, i));
7208
+ else {
7209
+ let t = await k.request({
7210
+ method: "GET",
7211
+ url: `/v1/zzts/layer/3d/getTilesByType?layerId=${encodeURIComponent(this.dictCode || "")}&level=${i}&geosot=${e.geoSot}&hcode=${e.highCode || 0}&serviceType=7&type=${encodeURIComponent(this.serviceType || "")}`,
7212
+ headers: { Accept: "application/octet-stream" },
7213
+ responseType: "arraybuffer",
7214
+ timeout: 6e4,
7215
+ cancelToken: r.token
7216
+ });
7217
+ !r.token.reason && t.data.byteLength > 47 && (await this.gridDb.addData("gridEntity", {
7218
+ id: a,
7219
+ data: t.data
7220
+ }), this.addGridToMap(e, this.parseCompressedMeshData(t.data, i))), !r.token.reason && t.data.byteLength < 47 && await this.gridDb.addData("gridEntity", {
7221
+ id: a,
7222
+ data: t.data
7223
+ });
7224
+ }
7225
+ } catch (e) {
7226
+ M.isCancel(e) ? console.log(`图层 ${this.id} 瓦片请求被取消:`, n) : console.error(`图层 ${this.id} 获取瓦片数据出错:`, e);
7227
+ } finally {
7228
+ this.pendingRequests.delete(n);
7229
+ }
7230
+ }
7231
+ createUniqueVertices(e, t) {
7232
+ let n = e instanceof Float64Array ? e : new Float64Array(e), r = t.length, i = new Float64Array(r * 3), a = new Uint32Array(r);
7233
+ for (let e = 0; e < t.length; e++) {
7234
+ let r = t[e] * 3;
7235
+ i[e * 3] = n[r], i[e * 3 + 1] = n[r + 1], i[e * 3 + 2] = n[r + 2], a[e] = e;
7236
+ }
7237
+ return {
7238
+ positions: i,
7239
+ indices: a
7240
+ };
7241
+ }
7242
+ calculateFlatNormalsForUniqueVertices(e, t) {
7243
+ let n = new Float32Array(e.length);
7244
+ for (let r = 0; r < t.length; r += 3) {
7245
+ let i = t[r] * 3, a = t[r + 1] * 3, o = t[r + 2] * 3, s = [
7246
+ e[i],
7247
+ e[i + 1],
7248
+ e[i + 2]
7249
+ ], c = [
7250
+ e[a],
7251
+ e[a + 1],
7252
+ e[a + 2]
7253
+ ], l = [
7254
+ e[o],
7255
+ e[o + 1],
7256
+ e[o + 2]
7257
+ ], u = [
7258
+ c[0] - s[0],
7259
+ c[1] - s[1],
7260
+ c[2] - s[2]
7261
+ ], d = [
7262
+ l[0] - s[0],
7263
+ l[1] - s[1],
7264
+ l[2] - s[2]
7265
+ ], f = [
7266
+ u[1] * d[2] - u[2] * d[1],
7267
+ u[2] * d[0] - u[0] * d[2],
7268
+ u[0] * d[1] - u[1] * d[0]
7269
+ ], p = Math.sqrt(f[0] * f[0] + f[1] * f[1] + f[2] * f[2]), m;
7270
+ m = p > 1e-10 && !isNaN(f[0]) && !isNaN(f[1]) && !isNaN(f[2]) && isFinite(f[0]) && isFinite(f[1]) && isFinite(f[2]) ? [
7271
+ f[0] / p,
7272
+ f[1] / p,
7273
+ f[2] / p
7274
+ ] : [
7275
+ 0,
7276
+ 0,
7277
+ 1
7278
+ ], n[i] = m[0], n[i + 1] = m[1], n[i + 2] = m[2], n[a] = m[0], n[a + 1] = m[1], n[a + 2] = m[2], n[o] = m[0], n[o + 1] = m[1], n[o + 2] = m[2];
7279
+ }
7280
+ return n;
7281
+ }
7282
+ addGridToMap(e, t) {
7283
+ if (!t || t.length === 0) return console.warn("没有几何数据可渲染"), null;
7284
+ let n = t.map((e) => {
7285
+ if (!e.positions || e.positions.length === 0) return console.warn("跳过无效的几何体:缺少顶点数据"), null;
7286
+ if (!e.indices || e.indices.length === 0) return console.warn("跳过无效的几何体:缺少索引数据"), null;
7287
+ let { positions: t, indices: n } = this.createUniqueVertices(e.positions, e.indices), r = this.calculateFlatNormalsForUniqueVertices(t, n), i = t.length / 3, a = new Float32Array(i * 2);
7288
+ for (let e = 0; e < i; e++) a[e * 2] = 0, a[e * 2 + 1] = 0;
7289
+ let o = new Cesium.Geometry({
7290
+ attributes: {
7291
+ position: new Cesium.GeometryAttribute({
7292
+ componentDatatype: Cesium.ComponentDatatype.DOUBLE,
7293
+ componentsPerAttribute: 3,
7294
+ values: t,
7295
+ normalize: !1
7296
+ }),
7297
+ st: new Cesium.GeometryAttribute({
7298
+ componentDatatype: Cesium.ComponentDatatype.FLOAT,
7299
+ componentsPerAttribute: 2,
7300
+ values: a
7301
+ }),
7302
+ normal: new Cesium.GeometryAttribute({
7303
+ componentDatatype: Cesium.ComponentDatatype.FLOAT,
7304
+ componentsPerAttribute: 3,
7305
+ values: r,
7306
+ normalize: !1
7307
+ })
7308
+ },
7309
+ indices: n,
7310
+ primitiveType: Cesium.PrimitiveType.TRIANGLES,
7311
+ boundingSphere: Cesium.BoundingSphere.fromVertices(t)
7312
+ });
7313
+ return o.modelId = e.modelId, o.color = e.color, o;
7314
+ }).filter((e) => e !== null).map((e, t) => {
7315
+ let n = e.color, r = null;
7316
+ if (n == "#C2D6E2FF" || n == "#00000000") r = `rgba(${this.tileColor}, ${this.opacity})`;
7317
+ else try {
7318
+ r = this.hexToRgba(n);
7319
+ } catch {
7320
+ r = `rgba(${this.tileColor || "255,255,255"}, ${this.opacity})`;
7321
+ }
7322
+ return r ||= `rgba(${this.tileColor || "255,255,255"}, ${this.opacity})`, new Cesium.GeometryInstance({
7323
+ geometry: e,
7324
+ id: e.modelId,
7325
+ attributes: {
7326
+ color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(`${r}`)),
7327
+ show: new Cesium.ShowGeometryInstanceAttribute(!0)
7328
+ }
7329
+ });
7330
+ }), r = new Cesium.Primitive({
7331
+ geometryInstances: n,
7332
+ asynchronous: !1,
7333
+ compressVertices: !1,
7334
+ releaseGeometryInstances: !1,
7335
+ appearance: new Cesium.PerInstanceColorAppearance({
7336
+ vertexFormat: Cesium.VertexFormat.POSITION_AND_NORMAL,
7337
+ flat: !1,
7338
+ translucent: !1,
7339
+ renderState: {
7340
+ depthTest: { enabled: !0 },
7341
+ blending: Cesium.BlendingState.ALPHA_BLEND
7342
+ }
7343
+ })
7344
+ });
7345
+ r.layerId = this.id, r.geoSot = e.geoSot, viewer.scene.primitives.add(r);
7346
+ let i = 0, a = this.tileSleepTime / 100, o = setInterval(() => {
7347
+ i <= a * this.opacity ? (r && r.appearance, i++) : (clearInterval(o), this.fadeAnimations.has(e.geoSot) && this.fadeAnimations.delete(e.geoSot), this.removeOldEntities(e.geoSot));
7348
+ }, 100);
7349
+ this.fadeAnimations.set(e.geoSot, { interval: o }), this.loadedTiles.set(e.geoSot, { box: r });
7350
+ }
7351
+ hexToRgba(e) {
7352
+ e = e.replace("#", "");
7353
+ let t = 1;
7354
+ if (e.length === 8) t = parseInt(e.slice(6, 8), 16) / 255;
7355
+ else if (e.length !== 6) return console.error("Invalid hex format"), null;
7356
+ return `rgba(${parseInt(e.slice(0, 2), 16)}, ${parseInt(e.slice(2, 4), 16)}, ${parseInt(e.slice(4, 6), 16)}, ${t})`;
7357
+ }
7358
+ removeOldEntities(e) {
7359
+ viewer.scene.primitives._primitives.forEach((t) => {
7360
+ t.geoSot && t.layerId === this.id && t.geoSot.length !== e.length && viewer.scene.primitives.remove(t);
7361
+ });
7362
+ }
7363
+ destroyHandler() {
7364
+ this.handlers &&= (viewer.camera.changed.removeEventListener(this.handlers), null), this.clearAllTiles(), this.requestController &&= (this.requestController.abort(), null);
7365
+ }
7366
+ decompressMeshChunk(e) {
7367
+ try {
7368
+ return Da.ungzip(e);
7369
+ } catch {
7370
+ try {
7371
+ return Da.inflate(e);
7372
+ } catch {
7373
+ return Da.inflate(e, { windowBits: -15 });
7374
+ }
7375
+ }
7376
+ }
7377
+ parseCompressedMeshData(e, t) {
7378
+ let n = [];
7379
+ if (!(e instanceof ArrayBuffer) && !(e?.buffer instanceof ArrayBuffer)) return console.error("parseCompressedMeshData: 输入不是 ArrayBuffer"), n;
7380
+ let r = e instanceof ArrayBuffer ? e : e.buffer, i = new DataView(r), a = 0;
7381
+ if (r.byteLength < 4) return n;
7382
+ let o = i.getInt32(a, !0);
7383
+ if (a += 4, o <= 0 || o > 5e5) return console.error(`parseCompressedMeshData: tileCount 异常 ${o}`), n;
7384
+ for (let e = 0; e < o; e++) {
7385
+ if (a + 4 > r.byteLength) {
7386
+ console.error("parseCompressedMeshData: 读取 compressedLength 越界");
7387
+ break;
7388
+ }
7389
+ let o = i.getInt32(a, !0);
7390
+ if (a += 4, o <= 0 || a + o > r.byteLength) {
7391
+ console.error(`parseCompressedMeshData: compressedLength 异常 ${o}`);
7392
+ break;
7393
+ }
7394
+ let s = new Uint8Array(r, a, o);
7395
+ a += o;
7396
+ let c;
7397
+ try {
7398
+ c = this.decompressMeshChunk(s);
7399
+ } catch (t) {
7400
+ console.error(`parseCompressedMeshData: 解压失败 t=${e}`, t);
7401
+ continue;
7402
+ }
7403
+ let l = new DataView(c.buffer, c.byteOffset, c.byteLength), u = 0;
7404
+ if (c.byteLength < 16) {
7405
+ console.warn(`parseCompressedMeshData: 解压后过短 t=${e}`);
7406
+ continue;
7407
+ }
7408
+ let d = l.getBigInt64(u, !0);
7409
+ u += 8;
7410
+ let f = l.getInt32(u, !0);
7411
+ u += 4;
7412
+ let p = l.getInt32(u, !0);
7413
+ u += 4;
7414
+ let m = f / 4, h = p / 4;
7415
+ if (!Number.isInteger(m) || !Number.isInteger(h) || m < 0 || h < 0 || u + f + p > c.byteLength) {
7416
+ console.error(`parseCompressedMeshData: 长度字段异常 t=${e} pos=${f} idx=${p}`);
7417
+ continue;
7418
+ }
7419
+ let g = new Float64Array(m);
7420
+ for (let e = 0; e < m; e++) g[e] = l.getInt32(u, !0) / 100, u += 4;
7421
+ let _ = new Uint32Array(h);
7422
+ for (let e = 0; e < h; e++) _[e] = l.getUint32(u, !0), u += 4;
7423
+ n.push({
7424
+ positions: g,
7425
+ indices: _,
7426
+ positionCount: m,
7427
+ indexCount: h,
7428
+ modelId: d.toString(),
7429
+ lodLevel: t,
7430
+ color: "#C2D6E2FF"
7431
+ });
7432
+ }
7433
+ return n;
7434
+ }
7435
+ showPoint(e, t, n, r) {
7436
+ viewer.entities.add({
7437
+ position: Cesium.Cartesian3.fromDegrees(e, t, n),
7438
+ point: {
7439
+ pixelSize: 5,
7440
+ color: Cesium.Color.RED,
7441
+ outlineColor: Cesium.Color.WHITE,
7442
+ outlineWidth: 2
7443
+ },
7444
+ id: `debug_${this.id}_${r}`,
7445
+ label: {
7446
+ text: r + "",
7447
+ font: "14pt monospace",
7448
+ outlineWidth: 2,
7449
+ horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
7450
+ pixelOffset: new Cesium.Cartesian2(10, 0)
7451
+ }
7452
+ });
7453
+ }
7454
+ }, So = new class {
7455
+ constructor() {
7456
+ this.layers = /* @__PURE__ */ new Map();
7457
+ }
7458
+ async createLayer(e) {
7459
+ let t = typeof e == "string" ? e : e?.id || e?.layerKey || e?.serviceType || e?.layerId, n = typeof e == "object" && e?.color != null && String(e.color).trim() ? String(e.color).trim() : void 0, r = e?.level, i = e?.isStatic, a = e?.serviceType, o = e?.opacity, s = typeof e == "object" ? e?.dictCode ?? e?.layerId ?? "" : "";
7460
+ if (!t) return console.error("创建图层失败:缺少id参数"), null;
7461
+ if (this.layers.has(t)) {
7462
+ console.warn(`图层 ${t} 已存在`);
7463
+ let e = this.layers.get(t), i = !1;
7464
+ if (n != null && n !== "" && e.tileColor !== n && (e.tileColor = n, i = !0), r != null && (e.fixedLevel = r, e.currentNewLevel.value = r), s !== void 0 && (e.dictCode = s == null ? "" : String(s)), a !== void 0 && (e.serviceType = a), o != null) {
7465
+ let t = Number(o);
7466
+ Number.isFinite(t) && e.opacity !== t && (e.opacity = t, i = !0);
7467
+ }
7468
+ return i && (typeof e.clearAllTiles == "function" && e.clearAllTiles(), typeof e.getViewportInfo == "function" && e.getViewportInfo()), this.layers.get(t);
7469
+ }
7470
+ let c = new xo(t, i, r, n, a, o, s);
7471
+ return await c.init(), this.layers.set(t, c), c;
7472
+ }
7473
+ removeLayer(e) {
7474
+ let t = this.layers.get(e);
7475
+ t && (t.remove(), this.layers.delete(e), console.log(`图层 ${e} 已移除`));
7476
+ }
7477
+ removeAllLayers() {
7478
+ this.layers.forEach((e) => e.remove()), this.layers.clear();
7479
+ }
7480
+ getLayer(e) {
7481
+ return this.layers.get(e);
7482
+ }
7483
+ getLayerIds() {
7484
+ return Array.from(this.layers.keys());
7485
+ }
7486
+ removeTilesByLayerId(e) {
7487
+ let t = this.layers.get(e);
7488
+ t && t.removeTilesOnly();
7489
+ }
7490
+ refreshLayer(e) {
7491
+ let t = this.layers.get(e);
7492
+ t && t.getViewportInfo();
7493
+ }
7494
+ }(), Co = async (e) => So.createLayer(e, !1), wo = (e) => {
7495
+ So.removeLayer(e);
7496
+ };
7497
+ t(() => {
7498
+ let e = So.getLayerIds();
7499
+ if (e.length > 0) {
7500
+ let t = So.getLayer(e[0]);
7501
+ return t ? t.getCurrentLevel() : 15;
7502
+ }
7503
+ return 15;
7504
+ });
7505
+ //#endregion
7506
+ //#region src/zz-layer/zz-layer-zzts3dtype/index.vue
7507
+ var To = {
7508
+ __name: "index",
7509
+ props: { config: {
7510
+ type: Object,
7511
+ default: () => ({})
7512
+ } },
7513
+ setup(e) {
7514
+ c("cesiumViewer");
7515
+ let n = e, r = {
7516
+ id: "",
7517
+ layerId: "",
7518
+ color: "255,255,255",
7519
+ isStatic: !1,
7520
+ level: null,
7521
+ serviceType: "",
7522
+ opacity: 1
7523
+ }, i = t(() => ({
7524
+ ...r,
7525
+ ...n.config
7526
+ }));
7527
+ function a() {
7528
+ let { id: e, layerId: t, serviceType: n } = i.value;
7529
+ return e || (n ? `${t || "_"}__${n}` : "") || n || t || "";
7530
+ }
7531
+ let o = async () => {
7532
+ i.value.level && (i.value.isStatic = !0);
7533
+ let e = a();
7534
+ if (!e) {
7535
+ console.error("创建图层失败:缺少id参数", i.value);
7536
+ return;
7537
+ }
7538
+ Co({
7539
+ id: e,
7540
+ layerId: i.value.layerId || "",
7541
+ dictCode: i.value.layerId || "",
7542
+ color: i.value.color,
7543
+ isStatic: i.value.isStatic,
7544
+ level: i.value.level,
7545
+ serviceType: i.value.serviceType,
7546
+ opacity: i.value.opacity
7547
+ });
7548
+ }, s = () => {
7549
+ wo(a());
7550
+ };
7551
+ return w(i, () => {
7552
+ o();
7553
+ }, { deep: !0 }), d(() => {
7554
+ console.log("组件挂载,开始初始化..."), o();
7555
+ }), f(() => {
7556
+ console.log("组件卸载,开始清理资源..."), s();
7557
+ }), (e, t) => null;
7558
+ }
7559
+ }, Eo = {
6894
7560
  __name: "index",
6895
7561
  props: { config: {
6896
7562
  type: Object,
@@ -6928,7 +7594,7 @@ var ao = {
6928
7594
  e && u();
6929
7595
  }), (e, t) => null;
6930
7596
  }
6931
- }, go = {
7597
+ }, Do = {
6932
7598
  excavations: [],
6933
7599
  globalStyle: {
6934
7600
  show: !0,
@@ -6955,38 +7621,38 @@ var ao = {
6955
7621
  maxArea: 5e3 * 1e3 * 1e3,
6956
7622
  maxPerimeter: 5e3 * 1e3
6957
7623
  }
6958
- }, _o = (e = {}) => ({
6959
- ...go,
7624
+ }, Oo = (e = {}) => ({
7625
+ ...Do,
6960
7626
  ...e,
6961
7627
  globalStyle: {
6962
- ...go.globalStyle,
7628
+ ...Do.globalStyle,
6963
7629
  ...e.globalStyle
6964
7630
  },
6965
7631
  limits: {
6966
- ...go.limits,
7632
+ ...Do.limits,
6967
7633
  ...e.limits
6968
7634
  },
6969
7635
  excavations: e.excavations || []
6970
- }), vo = (e, t, n = 1) => {
7636
+ }), ko = (e, t, n = 1) => {
6971
7637
  try {
6972
7638
  return D.Color.fromCssColorString(e).withAlpha(n);
6973
7639
  } catch {
6974
7640
  return D.Color.fromCssColorString(t).withAlpha(n);
6975
7641
  }
6976
- }, yo = (e, t, n, r, i) => e ? D.Material.fromType("Image", {
7642
+ }, Ao = (e, t, n, r, i) => e ? D.Material.fromType("Image", {
6977
7643
  image: e,
6978
7644
  color: D.Color.WHITE.withAlpha(n),
6979
7645
  repeat: i || new D.Cartesian2(1, 1)
6980
- }) : D.Material.fromType("Color", { color: vo(t, r, n) }), bo = (e) => {
7646
+ }) : D.Material.fromType("Color", { color: ko(t, r, n) }), jo = (e) => {
6981
7647
  if (e.length < 2) return 0;
6982
7648
  let t = 0;
6983
7649
  for (let n = 0; n < e.length - 1; n += 1) t += D.Cartesian3.distance(e[n], e[n + 1]);
6984
7650
  return t;
6985
- }, xo = (e, t) => {
7651
+ }, Mo = (e, t) => {
6986
7652
  if (!e) return;
6987
- let n = bo(t), r = Math.max(Math.ceil(n / 100), 1);
7653
+ let n = jo(t), r = Math.max(Math.ceil(n / 100), 1);
6988
7654
  return new D.Cartesian2(r, 1);
6989
- }, So = (e, t, n, r = !1) => {
7655
+ }, No = (e, t, n, r = !1) => {
6990
7656
  let i = r ? {
6991
7657
  perPositionHeight: !1,
6992
7658
  heightReference: D.HeightReference.CLAMP_TO_GROUND
@@ -7006,7 +7672,7 @@ var ao = {
7006
7672
  clampToGround: r
7007
7673
  }
7008
7674
  });
7009
- }, Co = (e, t, n = !1) => {
7675
+ }, Po = (e, t, n = !1) => {
7010
7676
  let r = n ? {
7011
7677
  perPositionHeight: !1,
7012
7678
  heightReference: D.HeightReference.CLAMP_TO_GROUND
@@ -7026,19 +7692,19 @@ var ao = {
7026
7692
  clampToGround: n
7027
7693
  }
7028
7694
  });
7029
- }, wo = async (e = 260) => {
7695
+ }, Fo = async (e = 260) => {
7030
7696
  await new Promise((t) => window.setTimeout(t, e));
7031
- }, To = (e, t = e.height || 0) => D.Cartesian3.fromDegrees(e.lng, e.lat, t), Eo = (e) => D.Cartesian3.fromDegrees(e.lng, e.lat), Do = (e, t) => D.Math.equalsEpsilon(e.lng, t.lng, D.Math.EPSILON12) && D.Math.equalsEpsilon(e.lat, t.lat, D.Math.EPSILON12), Oo = (e) => {
7697
+ }, Io = (e, t = e.height || 0) => D.Cartesian3.fromDegrees(e.lng, e.lat, t), Lo = (e) => D.Cartesian3.fromDegrees(e.lng, e.lat), Ro = (e, t) => D.Math.equalsEpsilon(e.lng, t.lng, D.Math.EPSILON12) && D.Math.equalsEpsilon(e.lat, t.lat, D.Math.EPSILON12), zo = (e) => {
7032
7698
  let t = e.reduce((e, t) => {
7033
7699
  let n = e.at(-1);
7034
- return (!n || !Do(n, t)) && e.push(t), e;
7700
+ return (!n || !Ro(n, t)) && e.push(t), e;
7035
7701
  }, []);
7036
- return t.length > 1 && Do(t[0], t[t.length - 1]) && t.pop(), t;
7037
- }, ko = (e) => e <= 50 ? 5 : e <= 200 ? 10 : e <= 1e3 ? 20 : 50, Ao = (e) => {
7038
- let t = ko(e);
7702
+ return t.length > 1 && Ro(t[0], t[t.length - 1]) && t.pop(), t;
7703
+ }, Bo = (e) => e <= 50 ? 5 : e <= 200 ? 10 : e <= 1e3 ? 20 : 50, Vo = (e) => {
7704
+ let t = Bo(e);
7039
7705
  return Math.min(Math.max(Math.ceil(e / t), 1), 800);
7040
- }, jo = (e) => e.map((t, n) => {
7041
- let r = e[(n + 1) % e.length], i = D.Cartographic.fromDegrees(t.lng, t.lat), a = D.Cartographic.fromDegrees(r.lng, r.lat), o = new D.EllipsoidGeodesic(i, a), s = Ao(o.surfaceDistance), c = [t];
7706
+ }, Ho = (e) => e.map((t, n) => {
7707
+ let r = e[(n + 1) % e.length], i = D.Cartographic.fromDegrees(t.lng, t.lat), a = D.Cartographic.fromDegrees(r.lng, r.lat), o = new D.EllipsoidGeodesic(i, a), s = Vo(o.surfaceDistance), c = [t];
7042
7708
  for (let e = 1; e < s; e += 1) {
7043
7709
  let n = e / s, i = o.interpolateUsingFraction(n);
7044
7710
  c.push({
@@ -7048,10 +7714,10 @@ var ao = {
7048
7714
  });
7049
7715
  }
7050
7716
  return c.push(r), { points: c };
7051
- }), Mo = (e) => e.flatMap((t, n) => {
7717
+ }), Uo = (e) => e.flatMap((t, n) => {
7052
7718
  let r = n === 0 ? t.points : t.points.slice(1);
7053
- return n === e.length - 1 && r.length > 0 && Do(r[r.length - 1], e[0].points[0]) ? r.slice(0, -1) : r;
7054
- }), No = (e) => {
7719
+ return n === e.length - 1 && r.length > 0 && Ro(r[r.length - 1], e[0].points[0]) ? r.slice(0, -1) : r;
7720
+ }), Wo = (e) => {
7055
7721
  if (e.length < 2) return 0;
7056
7722
  let t = 0;
7057
7723
  for (let n = 0; n < e.length; n += 1) {
@@ -7059,10 +7725,10 @@ var ao = {
7059
7725
  t += s.surfaceDistance;
7060
7726
  }
7061
7727
  return t;
7062
- }, Po = (e) => {
7728
+ }, Go = (e) => {
7063
7729
  if (e.length < 3) return 0;
7064
7730
  let t = e[0].lng, n = D.Math.toRadians(e.reduce((e, t) => e + t.lat, 0) / e.length), r = D.Ellipsoid.WGS84.maximumRadius, i = e.map((e) => {
7065
- let i = Fo(e.lng, t);
7731
+ let i = Ko(e.lng, t);
7066
7732
  return {
7067
7733
  x: D.Math.toRadians(i) * r * Math.cos(n),
7068
7734
  y: D.Math.toRadians(e.lat) * r
@@ -7073,20 +7739,20 @@ var ao = {
7073
7739
  a += t.x * n.y - n.x * t.y;
7074
7740
  }
7075
7741
  return Math.abs(a) / 2;
7076
- }, Fo = (e, t) => {
7742
+ }, Ko = (e, t) => {
7077
7743
  let n = e;
7078
7744
  for (; n - t > 180;) n -= 360;
7079
7745
  for (; n - t < -180;) n += 360;
7080
7746
  return n;
7081
- }, Io = (e) => e >= 1e3 ? `${(e / 1e3).toFixed(2)}公里` : `${Math.round(e)}米`, Lo = (e) => e >= 1e3 * 1e3 ? `${(e / 1e3 / 1e3).toFixed(2)}平方公里` : `${Math.round(e)}平方米`, Ro = (e, t) => {
7082
- let n = Po(e);
7083
- if (t.maxArea > 0 && n > t.maxArea) return `绘制区域过大,面积约 ${Lo(n)},已超过 ${Lo(t.maxArea)},请缩小范围或分块开挖`;
7084
- let r = No(e);
7085
- return t.maxPerimeter > 0 && r > t.maxPerimeter ? `绘制区域过大,周长约 ${Io(r)},已超过 ${Io(t.maxPerimeter)},请缩小范围或分块开挖` : "";
7086
- }, zo = (e, t) => {
7747
+ }, qo = (e) => e >= 1e3 ? `${(e / 1e3).toFixed(2)}公里` : `${Math.round(e)}米`, Jo = (e) => e >= 1e3 * 1e3 ? `${(e / 1e3 / 1e3).toFixed(2)}平方公里` : `${Math.round(e)}平方米`, Yo = (e, t) => {
7748
+ let n = Go(e);
7749
+ if (t.maxArea > 0 && n > t.maxArea) return `绘制区域过大,面积约 ${Jo(n)},已超过 ${Jo(t.maxArea)},请缩小范围或分块开挖`;
7750
+ let r = Wo(e);
7751
+ return t.maxPerimeter > 0 && r > t.maxPerimeter ? `绘制区域过大,周长约 ${qo(r)},已超过 ${qo(t.maxPerimeter)},请缩小范围或分块开挖` : "";
7752
+ }, Xo = (e, t) => {
7087
7753
  let n = t[0], r = 0;
7088
7754
  return e.map((i, a) => {
7089
- let o = a === e.length - 1 && i.points.length > 0 && e[0].points.length > 0 && Do(i.points[i.points.length - 1], e[0].points[0]), s = i.points.length - (a === 0 ? 0 : 1) - !!o, c = t.slice(r, r + s);
7755
+ let o = a === e.length - 1 && i.points.length > 0 && e[0].points.length > 0 && Ro(i.points[i.points.length - 1], e[0].points[0]), s = i.points.length - (a === 0 ? 0 : 1) - !!o, c = t.slice(r, r + s);
7090
7756
  if (r += s, a === 0) return o ? [...c, n] : c;
7091
7757
  let l = t[r - s - 1];
7092
7758
  return o ? [
@@ -7095,10 +7761,10 @@ var ao = {
7095
7761
  n
7096
7762
  ] : [l, ...c];
7097
7763
  });
7098
- }, Bo = (e, t) => {
7764
+ }, Zo = (e, t) => {
7099
7765
  let n = Math.min(...e);
7100
7766
  return e.map(() => n - t);
7101
- }, Vo = (e, t, n) => ({
7767
+ }, Qo = (e, t, n) => ({
7102
7768
  id: e.id || n(),
7103
7769
  positions: e.positions || [],
7104
7770
  height: e.height ?? t.height,
@@ -7115,12 +7781,12 @@ var ao = {
7115
7781
  showSide: e.showSide ?? t.showSide,
7116
7782
  showBottom: e.showBottom ?? t.showBottom,
7117
7783
  showEdge: e.showEdge ?? t.showEdge
7118
- }), Ho = (e, t) => {
7784
+ }), $o = (e, t) => {
7119
7785
  e.clippingPolygons = t;
7120
- }, Uo = (e) => new D.ClippingPolygon({ positions: e.map((e) => Eo(e)) }), Wo = (e) => new D.ClippingPolygonCollection({
7121
- polygons: e.filter((e) => e.length >= 3).map(Uo),
7786
+ }, es = (e) => new D.ClippingPolygon({ positions: e.map((e) => Lo(e)) }), ts = (e) => new D.ClippingPolygonCollection({
7787
+ polygons: e.filter((e) => e.length >= 3).map(es),
7122
7788
  inverse: !1
7123
- }), Go = (e, t, n, r, i) => {
7789
+ }), ns = (e, t, n, r, i) => {
7124
7790
  let a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set(), s = /* @__PURE__ */ new Map(), c = null, l = !1, u = !1, d = !1, f = () => `excavation-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, p = async (r) => {
7125
7791
  let i = e(), a = t(), o = r.map((e) => D.Cartographic.fromDegrees(e.lng, e.lat));
7126
7792
  if (i && a.sampleTerrain && !(i.terrainProvider instanceof D.EllipsoidTerrainProvider)) try {
@@ -7132,7 +7798,7 @@ var ao = {
7132
7798
  let n = o[t], r = i?.scene.globe.getHeight(n);
7133
7799
  return e.height ?? r ?? 0;
7134
7800
  });
7135
- }, m = (e) => Vo(e, t().globalStyle, f), h = (e) => {
7801
+ }, m = (e) => Qo(e, t().globalStyle, f), h = (e) => {
7136
7802
  let n = t();
7137
7803
  return JSON.stringify({
7138
7804
  item: e,
@@ -7146,9 +7812,9 @@ var ao = {
7146
7812
  e.height ?? null
7147
7813
  ])), n = s.get(t);
7148
7814
  if (n) return n;
7149
- let r = jo(e), i = {
7815
+ let r = Ho(e), i = {
7150
7816
  renderBoundarySegments: r,
7151
- renderBoundaryPositions: Mo(r),
7817
+ renderBoundaryPositions: Uo(r),
7152
7818
  clipBoundaryPositions: e,
7153
7819
  bottomBoundaryPositions: e
7154
7820
  };
@@ -7161,13 +7827,13 @@ var ao = {
7161
7827
  y();
7162
7828
  return;
7163
7829
  }
7164
- l ||= (c = n.scene.globe.clippingPolygons, !0), Ho(n.scene.globe, Wo(i)), n.scene.requestRender();
7830
+ l ||= (c = n.scene.globe.clippingPolygons, !0), $o(n.scene.globe, ts(i)), n.scene.requestRender();
7165
7831
  }, v = () => {
7166
7832
  let n = e(), r = t();
7167
7833
  n && (d ||= (u = n.scene.globe.depthTestAgainstTerrain, !0), n.scene.globe.depthTestAgainstTerrain = r.depthTestAgainstTerrain, n.scene.requestRender());
7168
7834
  }, y = () => {
7169
7835
  let t = e();
7170
- t && (l &&= (Ho(t.scene.globe, c || void 0), c = null, !1), t.scene.requestRender());
7836
+ t && (l &&= ($o(t.scene.globe, c || void 0), c = null, !1), t.scene.requestRender());
7171
7837
  }, b = () => {
7172
7838
  let t = e();
7173
7839
  !t || !d || (t.scene.globe.depthTestAgainstTerrain = u, d = !1, t.scene.requestRender());
@@ -7177,10 +7843,10 @@ var ao = {
7177
7843
  }, S = async (r) => {
7178
7844
  let a = e();
7179
7845
  if (!a) return null;
7180
- let o = m(r), s = Oo(o.positions);
7846
+ let o = m(r), s = zo(o.positions);
7181
7847
  if (!s || s.length < 3) return n("excavation-error", /* @__PURE__ */ Error("地形开挖至少需要 3 个多边形点位")), null;
7182
7848
  let c = (e) => {
7183
- let r = Co(a, s.map((e) => To(e, e.height || 0)), t().depthTestAgainstTerrain);
7849
+ let r = Po(a, s.map((e) => Io(e, e.height || 0)), t().depthTestAgainstTerrain);
7184
7850
  return r.show = o.show, a.scene.requestRender(), n("excavation-error", Error(e)), P.warning(e), {
7185
7851
  item: {
7186
7852
  ...o,
@@ -7190,14 +7856,14 @@ var ao = {
7190
7856
  primitives: [],
7191
7857
  terrainClipEnabled: !1
7192
7858
  };
7193
- }, l = Ro(s, t().limits);
7859
+ }, l = Yo(s, t().limits);
7194
7860
  if (l) return c(l);
7195
- let { renderBoundarySegments: u, renderBoundaryPositions: d, bottomBoundaryPositions: f } = g(s), h = So(a, o.id, s.map((e) => To(e, e.height || 0)), t().depthTestAgainstTerrain);
7861
+ let { renderBoundarySegments: u, renderBoundaryPositions: d, bottomBoundaryPositions: f } = g(s), h = No(a, o.id, s.map((e) => Io(e, e.height || 0)), t().depthTestAgainstTerrain);
7196
7862
  a.scene.requestRender();
7197
7863
  let _ = [], v = [];
7198
7864
  try {
7199
- await Promise.all([wo(), i?.() || Promise.resolve()]);
7200
- let e = await p(d), t = Bo(e, o.height), n = Math.min(...e) - o.height, r = f.map((e) => To(e, n)), s = d.map((t, n) => To(t, e[n])), c = zo(u, e), l = zo(u, t), m = D.MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat, h = {
7865
+ await Promise.all([Fo(), i?.() || Promise.resolve()]);
7866
+ let e = await p(d), t = Zo(e, o.height), n = Math.min(...e) - o.height, r = f.map((e) => Io(e, n)), s = d.map((t, n) => Io(t, e[n])), c = Xo(u, e), l = Xo(u, t), m = D.MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat, h = {
7201
7867
  depthTest: { enabled: !0 },
7202
7868
  depthMask: !0
7203
7869
  };
@@ -7213,7 +7879,7 @@ var ao = {
7213
7879
  })
7214
7880
  }),
7215
7881
  appearance: new D.MaterialAppearance({
7216
- material: yo(o.bottomTexture, o.bottomColor, o.bottomOpacity, go.globalStyle.bottomColor),
7882
+ material: Ao(o.bottomTexture, o.bottomColor, o.bottomOpacity, Do.globalStyle.bottomColor),
7217
7883
  materialSupport: D.MaterialAppearance.MaterialSupport.TEXTURED,
7218
7884
  faceForward: !0,
7219
7885
  renderState: h
@@ -7223,7 +7889,7 @@ var ao = {
7223
7889
  v.push(e);
7224
7890
  }
7225
7891
  if (o.showSide) for (let e = 0; e < u.length; e += 1) {
7226
- let t = u[e].points.map((e) => To(e)), n = l[e], r = c[e], i = xo(o.sideTexture, t), s = a.scene.primitives.add(new D.Primitive({
7892
+ let t = u[e].points.map((e) => Io(e)), n = l[e], r = c[e], i = Mo(o.sideTexture, t), s = a.scene.primitives.add(new D.Primitive({
7227
7893
  show: !1,
7228
7894
  geometryInstances: new D.GeometryInstance({
7229
7895
  id: `${o.id}-wall-${e}`,
@@ -7235,7 +7901,7 @@ var ao = {
7235
7901
  })
7236
7902
  }),
7237
7903
  appearance: new D.MaterialAppearance({
7238
- material: yo(o.sideTexture, o.sideColor, o.sideOpacity, go.globalStyle.bottomColor, i),
7904
+ material: Ao(o.sideTexture, o.sideColor, o.sideOpacity, Do.globalStyle.bottomColor, i),
7239
7905
  materialSupport: D.MaterialAppearance.MaterialSupport.TEXTURED,
7240
7906
  faceForward: !0,
7241
7907
  renderState: h
@@ -7251,7 +7917,7 @@ var ao = {
7251
7917
  polyline: {
7252
7918
  positions: e,
7253
7919
  width: o.edgeWidth,
7254
- material: vo(o.edgeColor, go.globalStyle.bottomColor, o.edgeOpacity),
7920
+ material: ko(o.edgeColor, Do.globalStyle.bottomColor, o.edgeOpacity),
7255
7921
  clampToGround: !1
7256
7922
  }
7257
7923
  });
@@ -7320,7 +7986,7 @@ var ao = {
7320
7986
  for (let t of i.excavations) {
7321
7987
  let n = m(t), r = {
7322
7988
  ...n,
7323
- positions: Oo(n.positions)
7989
+ positions: zo(n.positions)
7324
7990
  }, i = h(r), o = r.id;
7325
7991
  s.add(o);
7326
7992
  let c = a.get(o);
@@ -7367,7 +8033,7 @@ var ao = {
7367
8033
  restoreDepthTestAgainstTerrain: b,
7368
8034
  getMethods: A
7369
8035
  };
7370
- }, Ko = /* @__PURE__ */ s({
8036
+ }, rs = /* @__PURE__ */ s({
7371
8037
  __name: "index",
7372
8038
  props: { config: {} },
7373
8039
  emits: [
@@ -7378,7 +8044,7 @@ var ao = {
7378
8044
  "excavation-error"
7379
8045
  ],
7380
8046
  setup(e, { expose: n, emit: r }) {
7381
- let i = c("cesiumViewer"), a = r, o = e, s = t(() => _o(o.config)), l = () => i?.value, u = () => {
8047
+ let i = c("cesiumViewer"), a = r, o = e, s = t(() => Oo(o.config)), l = () => i?.value, u = () => {
7382
8048
  let e = l();
7383
8049
  return e ? !(e.terrainProvider instanceof D.EllipsoidTerrainProvider) : !1;
7384
8050
  }, d = t(() => JSON.stringify({
@@ -7396,7 +8062,7 @@ var ao = {
7396
8062
  });
7397
8063
  }, b = () => {
7398
8064
  !v() || _.size === 0 || (_.forEach((e) => e()), _.clear());
7399
- }, x = Go(l, () => s.value, p, () => m, y);
8065
+ }, x = ns(l, () => s.value, p, () => m, y);
7400
8066
  m = x.getMethods();
7401
8067
  let S = async (e) => {
7402
8068
  l() && await x.syncExcavations(e);
@@ -7424,7 +8090,7 @@ var ao = {
7424
8090
  _.clear(), h?.(), h = null, x.clearExcavations(), x.restoreDepthTestAgainstTerrain();
7425
8091
  }), n(m), (e, t) => null;
7426
8092
  }
7427
- }), qo = {
8093
+ }), is = {
7428
8094
  __name: "index",
7429
8095
  props: {
7430
8096
  config: {
@@ -7449,11 +8115,17 @@ var ao = {
7449
8115
  ...o,
7450
8116
  ...i.config
7451
8117
  })), l = async () => {
7452
- r.value && (u(), a = await D.Cesium3DTileset.fromUrl(s.value.url), ye(r.value, a, i.stackIndex, 0, {
7453
- layerType: "tiles3d",
7454
- groupKey: i.groupKey || s.value.url || String(i.stackIndex),
7455
- subStackIndex: i.subStackIndex
7456
- }), s.value.autoFitToView && r.value.zoomTo(a), s.value.customShader && (a.customShader = customShader));
8118
+ if (r.value) {
8119
+ if (u(), a = await D.Cesium3DTileset.fromUrl(s.value.url), ye(r.value, a, i.stackIndex, 0, {
8120
+ layerType: "tiles3d",
8121
+ groupKey: i.groupKey || s.value.url || String(i.stackIndex),
8122
+ subStackIndex: i.subStackIndex
8123
+ }), s.value.autoFitToView) {
8124
+ let e = s.value.fitDuration;
8125
+ typeof e == "number" ? r.value.flyTo(a, { duration: e }) : r.value.zoomTo(a);
8126
+ }
8127
+ s.value.customShader && (a.customShader = customShader);
8128
+ }
7457
8129
  }, u = () => {
7458
8130
  r.value && (a &&= (r.value.scene.primitives.remove(a), null));
7459
8131
  };
@@ -7477,7 +8149,7 @@ var ao = {
7477
8149
  u();
7478
8150
  }), (e, t) => null;
7479
8151
  }
7480
- }, Jo = {
8152
+ }, as = {
7481
8153
  __name: "index",
7482
8154
  props: { config: {
7483
8155
  type: Object,
@@ -7541,7 +8213,7 @@ var ao = {
7541
8213
  u();
7542
8214
  }), (e, t) => null;
7543
8215
  }
7544
- }, Yo = {
8216
+ }, os = {
7545
8217
  __name: "index",
7546
8218
  props: { config: {
7547
8219
  type: Object,
@@ -7730,7 +8402,7 @@ var ao = {
7730
8402
  b();
7731
8403
  }), (e, t) => null;
7732
8404
  }
7733
- }, Xo = {
8405
+ }, ss = {
7734
8406
  __name: "index",
7735
8407
  props: { config: {
7736
8408
  type: Object,
@@ -7917,7 +8589,7 @@ var ao = {
7917
8589
  b();
7918
8590
  }), (e, t) => null;
7919
8591
  }
7920
- }, Zo = {
8592
+ }, cs = {
7921
8593
  __name: "index",
7922
8594
  props: { config: {
7923
8595
  type: Object,
@@ -8117,16 +8789,16 @@ var ao = {
8117
8789
  b();
8118
8790
  }), (e, t) => null;
8119
8791
  }
8120
- }, Qo = { class: "legend-panel__header" }, $o = { class: "legend-panel__title" }, es = { class: "legend-panel__body" }, ts = {
8792
+ }, ls = { class: "legend-panel__header" }, us = { class: "legend-panel__title" }, ds = { class: "legend-panel__body" }, fs = {
8121
8793
  key: 0,
8122
8794
  class: "legend-panel__multiband"
8123
- }, ns = { class: "legend-panel__multiband-labels" }, rs = { class: "legend-panel__multiband-label legend-panel__multiband-label--top" }, is = { class: "legend-panel__multiband-label legend-panel__multiband-label--bottom" }, as = {
8795
+ }, ps = { class: "legend-panel__multiband-labels" }, ms = { class: "legend-panel__multiband-label legend-panel__multiband-label--top" }, hs = { class: "legend-panel__multiband-label legend-panel__multiband-label--bottom" }, gs = {
8124
8796
  key: 1,
8125
8797
  class: "legend-panel__list"
8126
- }, os = {
8798
+ }, _s = {
8127
8799
  key: 0,
8128
8800
  class: "legend-panel__symbol legend-panel__symbol--line"
8129
- }, ss = { class: "legend-panel__label" }, cs = /* @__PURE__ */ s({
8801
+ }, vs = { class: "legend-panel__label" }, ys = /* @__PURE__ */ s({
8130
8802
  __name: "index",
8131
8803
  props: {
8132
8804
  visible: { type: Boolean },
@@ -8212,7 +8884,7 @@ var ao = {
8212
8884
  return s.visible ? (p(), i("div", {
8213
8885
  key: 0,
8214
8886
  class: l(["legend-panel", g.value])
8215
- }, [a("div", Qo, [a("span", $o, x(v.value), 1), o(f, {
8887
+ }, [a("div", ls, [a("span", us, x(v.value), 1), o(f, {
8216
8888
  text: "",
8217
8889
  size: "small",
8218
8890
  class: "legend-panel__toggle",
@@ -8223,14 +8895,14 @@ var ao = {
8223
8895
  _: 1
8224
8896
  })]),
8225
8897
  _: 1
8226
- })]), a("div", es, [c[1] ||= a("div", { class: "legend-panel__section-title" }, "图例", -1), S.value && w.value ? (p(), i("div", ts, [a("div", {
8898
+ })]), a("div", ds, [c[1] ||= a("div", { class: "legend-panel__section-title" }, "图例", -1), S.value && w.value ? (p(), i("div", fs, [a("div", {
8227
8899
  class: "legend-panel__multiband-bar",
8228
8900
  style: u(M.value)
8229
- }, null, 4), a("div", ns, [a("div", rs, x(w.value.MultibandValueNameTop), 1), a("div", is, x(w.value.MultibandValueNameBot), 1)])])) : D.value.length ? (p(), i("div", as, [(p(!0), i(e, null, _(D.value, (e, t) => (p(), i("div", {
8901
+ }, null, 4), a("div", ps, [a("div", ms, x(w.value.MultibandValueNameTop), 1), a("div", hs, x(w.value.MultibandValueNameBot), 1)])])) : D.value.length ? (p(), i("div", gs, [(p(!0), i(e, null, _(D.value, (e, t) => (p(), i("div", {
8230
8902
  key: R(e, t),
8231
8903
  class: l(["legend-panel__item", { "is-item-hidden": O.value && A(e) }])
8232
8904
  }, [
8233
- P(e) === "line" ? (p(), i("div", os, [a("span", {
8905
+ P(e) === "line" ? (p(), i("div", _s, [a("span", {
8234
8906
  class: "legend-panel__line-bar",
8235
8907
  style: u(te(e))
8236
8908
  }, null, 4)])) : (p(), i("div", {
@@ -8238,7 +8910,7 @@ var ao = {
8238
8910
  class: l(["legend-panel__symbol", N(e)]),
8239
8911
  style: u(ne(e))
8240
8912
  }, null, 6)),
8241
- a("div", ss, x(e.valueName || "-"), 1),
8913
+ a("div", vs, x(e.valueName || "-"), 1),
8242
8914
  O.value ? (p(), n(m, {
8243
8915
  key: 2,
8244
8916
  content: A(e) ? "显示" : "隐藏",
@@ -8261,8 +8933,8 @@ var ao = {
8261
8933
  }))])], 2)) : r("", !0);
8262
8934
  };
8263
8935
  }
8264
- }), ls = (e) => {
8265
- e.component("zzViewer", xe), e.component("zz-viewer", xe), e.component("zzLayerWmts", Fe), e.component("zz-layer-wmts", Fe), e.component("zzLayerXyz", Ie), e.component("zz-layer-xyz", Ie), e.component("zzLayerWms", Le), e.component("zz-layer-wms", Le), e.component("zzLayerZzts", ze), e.component("zz-layer-zzts", ze), e.component("zzLayerZzts3d", La), e.component("zz-layer-zzts3d", La), e.component("zzLayerShpZzts", Wa), e.component("zz-layer-shp-zzts", Wa), e.component("zzLayerZzts3dPoint", ao), e.component("zz-layer-zzts3d-point", ao), e.component("zzLayerZzts3dPointQuery", oo), e.component("zz-layer-zzts3d-point-query", oo), e.component("zzLayerZzts3dGrid", co), e.component("zz-layer-zzts3d-grid", co), e.component("zzLayerZzts3dGridColor", fo), e.component("zz-layer-zzts3d-grid-color", fo), e.component("zzLayerZzts3dGridQuery", po), e.component("zz-layer-zzts3d-grid-query", po), e.component("zzLayerZzts3dGridInterpolation", mo), e.component("zz-layer-zzts3d-grid-interpolation", mo), e.component("zzLayerGeojson", Be), e.component("zz-layer-geojson", Be), e.component("zzLayerMvt", He), e.component("zz-layer-mvt", He), e.component("zzTerrain", ho), e.component("zz-terrain", ho), e.component("zzTerrainExcavation", Ko), e.component("zz-terrain-excavation", Ko), e.component("zz3dtiles", qo), e.component("zz-3dtiles", qo), e.component("zzGltf", Jo), e.component("zz-gltf", Jo), e.component("zzEntityPoint", Yo), e.component("zz-entity-point", Yo), e.component("zzEntityPolyline", Xo), e.component("zz-entity-polyline", Xo), e.component("zzEntityPolygon", Zo), e.component("zz-entity-polygon", Zo), e.component("zzLegend", cs), e.component("zz-legend", cs);
8936
+ }), bs = (e) => {
8937
+ e.component("zzViewer", xe), e.component("zz-viewer", xe), e.component("zzLayerWmts", Fe), e.component("zz-layer-wmts", Fe), e.component("zzLayerXyz", Ie), e.component("zz-layer-xyz", Ie), e.component("zzLayerWms", Le), e.component("zz-layer-wms", Le), e.component("zzLayerZzts", ze), e.component("zz-layer-zzts", ze), e.component("zzLayerZzts3d", za), e.component("zz-layer-zzts3d", za), e.component("zzLayerShpZzts", Ja), e.component("zz-layer-shp-zzts", Ja), e.component("zzLayerZzts3dPoint", fo), e.component("zz-layer-zzts3d-point", fo), e.component("zzLayerZzts3dPointQuery", po), e.component("zz-layer-zzts3d-point-query", po), e.component("zzLayerZzts3dGrid", ho), e.component("zz-layer-zzts3d-grid", ho), e.component("zzLayerZzts3dGridColor", vo), e.component("zz-layer-zzts3d-grid-color", vo), e.component("zzLayerZzts3dGridQuery", yo), e.component("zz-layer-zzts3d-grid-query", yo), e.component("zzLayerZzts3dGridInterpolation", bo), e.component("zz-layer-zzts3d-grid-interpolation", bo), e.component("zzLayerZzts3dtwintype", To), e.component("zz-layer-zzts3dtwintype", To), e.component("zzLayerGeojson", Be), e.component("zz-layer-geojson", Be), e.component("zzLayerMvt", He), e.component("zz-layer-mvt", He), e.component("zzTerrain", Eo), e.component("zz-terrain", Eo), e.component("zzTerrainExcavation", rs), e.component("zz-terrain-excavation", rs), e.component("zz3dtiles", is), e.component("zz-3dtiles", is), e.component("zzGltf", as), e.component("zz-gltf", as), e.component("zzEntityPoint", os), e.component("zz-entity-point", os), e.component("zzEntityPolyline", ss), e.component("zz-entity-polyline", ss), e.component("zzEntityPolygon", cs), e.component("zz-entity-polygon", cs), e.component("zzLegend", ys), e.component("zz-legend", ys);
8266
8938
  };
8267
8939
  //#endregion
8268
- export { R as LAYER_TYPE_BAND, ve as addImageryLayerWithStackIndex, ye as addPrimitiveWithStackIndex, he as applyImageryStackIndex, _e as applyPrimitiveStackIndex, ls as default, oe as moveImageryLayerToIndex, ge as moveImageryLayersToStackIndex, ce as movePrimitiveToIndex, pe as scheduleImageryLayerStackSync, me as schedulePrimitiveStackSync, le as syncImageryLayerStack, ue as syncPrimitiveStack, B as tagImageryLayerStackMeta, ae as tagPrimitiveStackMeta, qo as zz3dtiles, Yo as zzEntityPoint, Zo as zzEntityPolygon, Xo as zzEntityPolyline, Jo as zzGltf, Be as zzLayerGeojson, He as zzLayerMvt, Wa as zzLayerShpZzts, Le as zzLayerWms, Fe as zzLayerWmts, Ie as zzLayerXyz, ze as zzLayerZzts, cs as zzLegendPanel, ho as zzTerrain, Ko as zzTerrainExcavation, xe as zzViewer };
8940
+ export { R as LAYER_TYPE_BAND, ve as addImageryLayerWithStackIndex, ye as addPrimitiveWithStackIndex, he as applyImageryStackIndex, _e as applyPrimitiveStackIndex, bs as default, oe as moveImageryLayerToIndex, ge as moveImageryLayersToStackIndex, ce as movePrimitiveToIndex, pe as scheduleImageryLayerStackSync, me as schedulePrimitiveStackSync, le as syncImageryLayerStack, ue as syncPrimitiveStack, B as tagImageryLayerStackMeta, ae as tagPrimitiveStackMeta, is as zz3dtiles, os as zzEntityPoint, cs as zzEntityPolygon, ss as zzEntityPolyline, as as zzGltf, Be as zzLayerGeojson, He as zzLayerMvt, Ja as zzLayerShpZzts, Le as zzLayerWms, Fe as zzLayerWmts, Ie as zzLayerXyz, ze as zzLayerZzts, ys as zzLegendPanel, Eo as zzTerrain, rs as zzTerrainExcavation, xe as zzViewer };