@loaders.gl/splats 5.0.0-alpha.11 → 5.0.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/LICENSE +1 -1
  2. package/dist/dist.dev.js +1307 -1717
  3. package/dist/dist.min.js +33 -33
  4. package/dist/index.cjs +223 -907
  5. package/dist/index.cjs.map +3 -3
  6. package/dist/ksplat-loader-types.d.ts +1 -1
  7. package/dist/ksplat-loader-types.d.ts.map +1 -1
  8. package/dist/ksplat-loader-types.js +1 -1
  9. package/dist/ksplat-loader.d.ts +1 -1
  10. package/dist/ksplat-loader.d.ts.map +1 -1
  11. package/dist/lib/parse-ksplat.d.ts +1 -1
  12. package/dist/lib/parse-ksplat.d.ts.map +1 -1
  13. package/dist/lib/parse-rad-chunk.d.ts +3 -1
  14. package/dist/lib/parse-rad-chunk.d.ts.map +1 -1
  15. package/dist/lib/parse-rad-chunk.js +4 -0
  16. package/dist/lib/parse-rad-chunk.js.map +1 -1
  17. package/dist/lib/parse-splat.d.ts +1 -1
  18. package/dist/lib/parse-splat.d.ts.map +1 -1
  19. package/dist/lib/parse-spz.d.ts +1 -1
  20. package/dist/lib/parse-spz.d.ts.map +1 -1
  21. package/dist/lib/splats-arrow-table.d.ts +1 -1
  22. package/dist/lib/splats-arrow-table.d.ts.map +1 -1
  23. package/dist/rad-loader-types.js +1 -1
  24. package/dist/rad-loader.d.ts +1 -1
  25. package/dist/rad-loader.d.ts.map +1 -1
  26. package/dist/rad-loader.js +1 -1
  27. package/dist/rad-loader.js.map +1 -1
  28. package/dist/rad-source-loader.d.ts +3 -3
  29. package/dist/rad-source-loader.d.ts.map +1 -1
  30. package/dist/rad-source-loader.js +5 -3
  31. package/dist/rad-source-loader.js.map +1 -1
  32. package/dist/splat-loader-types.d.ts +1 -1
  33. package/dist/splat-loader-types.d.ts.map +1 -1
  34. package/dist/splat-loader-types.js +1 -1
  35. package/dist/splat-loader.d.ts +1 -1
  36. package/dist/splat-loader.d.ts.map +1 -1
  37. package/dist/spz-loader-types.d.ts +1 -1
  38. package/dist/spz-loader-types.d.ts.map +1 -1
  39. package/dist/spz-loader-types.js +1 -1
  40. package/dist/spz-loader.d.ts +1 -1
  41. package/dist/spz-loader.d.ts.map +1 -1
  42. package/dist/types.d.ts +1 -1
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +5 -7
  45. package/src/ksplat-loader-types.ts +2 -2
  46. package/src/ksplat-loader.ts +2 -2
  47. package/src/lib/parse-ksplat.ts +1 -1
  48. package/src/lib/parse-rad-chunk.ts +6 -1
  49. package/src/lib/parse-splat.ts +1 -1
  50. package/src/lib/parse-spz.ts +1 -1
  51. package/src/lib/splats-arrow-table.ts +1 -1
  52. package/src/rad-loader-types.ts +1 -1
  53. package/src/rad-loader.ts +2 -1
  54. package/src/rad-source-loader.ts +6 -3
  55. package/src/splat-loader-types.ts +2 -2
  56. package/src/splat-loader.ts +2 -2
  57. package/src/splats-format.ts +1 -1
  58. package/src/spz-loader-types.ts +2 -2
  59. package/src/spz-loader.ts +2 -2
  60. package/src/types.ts +1 -1
package/dist/dist.dev.js CHANGED
@@ -12,12 +12,12 @@ var __exports__ = (() => {
12
12
  var __getOwnPropNames = Object.getOwnPropertyNames;
13
13
  var __getProtoOf = Object.getPrototypeOf;
14
14
  var __hasOwnProp = Object.prototype.hasOwnProperty;
15
- var __esm = (fn, res, err3) => function __init() {
16
- if (err3) throw err3[0];
15
+ var __esm = (fn, res, err) => function __init() {
16
+ if (err) throw err[0];
17
17
  try {
18
18
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
19
19
  } catch (e) {
20
- throw err3 = [e], e;
20
+ throw err = [e], e;
21
21
  }
22
22
  };
23
23
  var __commonJS = (cb, mod) => function __require() {
@@ -39,7 +39,6 @@ var __exports__ = (() => {
39
39
  }
40
40
  return to;
41
41
  };
42
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
43
42
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
44
43
  // If the importer is in node compatibility mode or this is not an ESM
45
44
  // file that has been converted to a CommonJS file using a Babel-
@@ -103,10 +102,10 @@ var __exports__ = (() => {
103
102
  }
104
103
  });
105
104
 
106
- // ../../node_modules/@probe.gl/env/dist/lib/globals.js
105
+ // ../../node_modules/probe.gl/dist/env/lib/globals.js
107
106
  var window_, document_, process_, console_, navigator_;
108
107
  var init_globals = __esm({
109
- "../../node_modules/@probe.gl/env/dist/lib/globals.js"() {
108
+ "../../node_modules/probe.gl/dist/env/lib/globals.js"() {
110
109
  window_ = globalThis;
111
110
  document_ = globalThis.document || {};
112
111
  process_ = globalThis.process || {};
@@ -115,7 +114,7 @@ var __exports__ = (() => {
115
114
  }
116
115
  });
117
116
 
118
- // ../../node_modules/@probe.gl/env/dist/lib/is-electron.js
117
+ // ../../node_modules/probe.gl/dist/env/lib/is-electron.js
119
118
  function isElectron(mockUserAgent) {
120
119
  if (typeof window !== "undefined" && window.process?.type === "renderer") {
121
120
  return true;
@@ -128,11 +127,11 @@ var __exports__ = (() => {
128
127
  return Boolean(userAgent && userAgent.indexOf("Electron") >= 0);
129
128
  }
130
129
  var init_is_electron = __esm({
131
- "../../node_modules/@probe.gl/env/dist/lib/is-electron.js"() {
130
+ "../../node_modules/probe.gl/dist/env/lib/is-electron.js"() {
132
131
  }
133
132
  });
134
133
 
135
- // ../../node_modules/@probe.gl/env/dist/lib/is-browser.js
134
+ // ../../node_modules/probe.gl/dist/env/lib/is-browser.js
136
135
  function isBrowser() {
137
136
  const isNode = (
138
137
  // @ts-expect-error
@@ -141,33 +140,51 @@ var __exports__ = (() => {
141
140
  return !isNode || isElectron();
142
141
  }
143
142
  var init_is_browser = __esm({
144
- "../../node_modules/@probe.gl/env/dist/lib/is-browser.js"() {
143
+ "../../node_modules/probe.gl/dist/env/lib/is-browser.js"() {
145
144
  init_is_electron();
146
145
  }
147
146
  });
148
147
 
149
- // ../../node_modules/@probe.gl/env/dist/index.js
148
+ // ../../node_modules/probe.gl/dist/env/lib/get-browser.js
149
+ var init_get_browser = __esm({
150
+ "../../node_modules/probe.gl/dist/env/lib/get-browser.js"() {
151
+ init_is_browser();
152
+ init_is_electron();
153
+ init_globals();
154
+ }
155
+ });
156
+
157
+ // ../../node_modules/probe.gl/dist/env/utils/assert.js
158
+ var init_assert = __esm({
159
+ "../../node_modules/probe.gl/dist/env/utils/assert.js"() {
160
+ }
161
+ });
162
+
163
+ // ../../node_modules/probe.gl/dist/env/index.js
150
164
  var VERSION;
151
- var init_dist = __esm({
152
- "../../node_modules/@probe.gl/env/dist/index.js"() {
165
+ var init_env = __esm({
166
+ "../../node_modules/probe.gl/dist/env/index.js"() {
153
167
  init_globals();
154
168
  init_is_browser();
155
- VERSION = true ? "4.1.1" : "untranspiled source";
169
+ init_get_browser();
170
+ init_is_electron();
171
+ init_assert();
172
+ VERSION = true ? "5.0.0" : "untranspiled source";
156
173
  }
157
174
  });
158
175
 
159
- // ../../node_modules/@probe.gl/log/dist/utils/assert.js
160
- function assert(condition, message) {
176
+ // ../../node_modules/probe.gl/dist/log/utils/assert.js
177
+ function assert2(condition, message) {
161
178
  if (!condition) {
162
179
  throw new Error(message || "Assertion failed");
163
180
  }
164
181
  }
165
- var init_assert = __esm({
166
- "../../node_modules/@probe.gl/log/dist/utils/assert.js"() {
182
+ var init_assert2 = __esm({
183
+ "../../node_modules/probe.gl/dist/log/utils/assert.js"() {
167
184
  }
168
185
  });
169
186
 
170
- // ../../node_modules/@probe.gl/log/dist/loggers/log-utils.js
187
+ // ../../node_modules/probe.gl/dist/log/loggers/log-utils.js
171
188
  function normalizeLogLevel(logLevel) {
172
189
  if (!logLevel) {
173
190
  return 0;
@@ -183,7 +200,7 @@ var __exports__ = (() => {
183
200
  default:
184
201
  return 0;
185
202
  }
186
- assert(Number.isFinite(resolvedLevel) && resolvedLevel >= 0);
203
+ assert2(Number.isFinite(resolvedLevel) && resolvedLevel >= 0);
187
204
  return resolvedLevel;
188
205
  }
189
206
  function normalizeArguments(opts) {
@@ -209,19 +226,19 @@ var __exports__ = (() => {
209
226
  opts.message = opts.message();
210
227
  }
211
228
  const messageType = typeof opts.message;
212
- assert(messageType === "string" || messageType === "object");
229
+ assert2(messageType === "string" || messageType === "object");
213
230
  return Object.assign(opts, { args }, opts.opts);
214
231
  }
215
232
  var init_log_utils = __esm({
216
- "../../node_modules/@probe.gl/log/dist/loggers/log-utils.js"() {
217
- init_assert();
233
+ "../../node_modules/probe.gl/dist/log/loggers/log-utils.js"() {
234
+ init_assert2();
218
235
  }
219
236
  });
220
237
 
221
- // ../../node_modules/@probe.gl/log/dist/loggers/base-log.js
238
+ // ../../node_modules/probe.gl/dist/log/loggers/base-log.js
222
239
  var noop, BaseLog;
223
240
  var init_base_log = __esm({
224
- "../../node_modules/@probe.gl/log/dist/loggers/base-log.js"() {
241
+ "../../node_modules/probe.gl/dist/log/loggers/base-log.js"() {
225
242
  init_log_utils();
226
243
  noop = () => {
227
244
  };
@@ -303,7 +320,7 @@ var __exports__ = (() => {
303
320
  }
304
321
  });
305
322
 
306
- // ../../node_modules/@probe.gl/log/dist/utils/local-storage.js
323
+ // ../../node_modules/probe.gl/dist/log/utils/local-storage.js
307
324
  function getStorage(type) {
308
325
  try {
309
326
  const storage = window[type];
@@ -317,7 +334,7 @@ var __exports__ = (() => {
317
334
  }
318
335
  var LocalStorage;
319
336
  var init_local_storage = __esm({
320
- "../../node_modules/@probe.gl/log/dist/utils/local-storage.js"() {
337
+ "../../node_modules/probe.gl/dist/log/utils/local-storage.js"() {
321
338
  LocalStorage = class {
322
339
  constructor(id, defaultConfig, type = "sessionStorage") {
323
340
  this.storage = getStorage(type);
@@ -349,7 +366,7 @@ var __exports__ = (() => {
349
366
  }
350
367
  });
351
368
 
352
- // ../../node_modules/@probe.gl/log/dist/utils/formatters.js
369
+ // ../../node_modules/probe.gl/dist/log/utils/formatters.js
353
370
  function formatTime(ms) {
354
371
  let formatted;
355
372
  if (ms < 10) {
@@ -368,11 +385,11 @@ var __exports__ = (() => {
368
385
  return `${" ".repeat(padLength)}${string4}`;
369
386
  }
370
387
  var init_formatters = __esm({
371
- "../../node_modules/@probe.gl/log/dist/utils/formatters.js"() {
388
+ "../../node_modules/probe.gl/dist/log/utils/formatters.js"() {
372
389
  }
373
390
  });
374
391
 
375
- // ../../node_modules/@probe.gl/log/dist/utils/color.js
392
+ // ../../node_modules/probe.gl/dist/log/utils/color.js
376
393
  function getColor(color) {
377
394
  if (typeof color !== "string") {
378
395
  return color;
@@ -395,8 +412,8 @@ var __exports__ = (() => {
395
412
  }
396
413
  var COLOR, BACKGROUND_INCREMENT;
397
414
  var init_color = __esm({
398
- "../../node_modules/@probe.gl/log/dist/utils/color.js"() {
399
- init_dist();
415
+ "../../node_modules/probe.gl/dist/log/utils/color.js"() {
416
+ init_env();
400
417
  (function(COLOR2) {
401
418
  COLOR2[COLOR2["BLACK"] = 30] = "BLACK";
402
419
  COLOR2[COLOR2["RED"] = 31] = "RED";
@@ -419,7 +436,7 @@ var __exports__ = (() => {
419
436
  }
420
437
  });
421
438
 
422
- // ../../node_modules/@probe.gl/log/dist/utils/autobind.js
439
+ // ../../node_modules/probe.gl/dist/log/utils/autobind.js
423
440
  function autobind(obj, predefined = ["constructor"]) {
424
441
  const proto = Object.getPrototypeOf(obj);
425
442
  const propNames = Object.getOwnPropertyNames(proto);
@@ -434,30 +451,44 @@ var __exports__ = (() => {
434
451
  }
435
452
  }
436
453
  var init_autobind = __esm({
437
- "../../node_modules/@probe.gl/log/dist/utils/autobind.js"() {
438
- }
439
- });
440
-
441
- // ../../node_modules/@probe.gl/log/dist/utils/hi-res-timestamp.js
442
- function getHiResTimestamp() {
443
- let timestamp;
444
- if (isBrowser() && window_.performance) {
445
- timestamp = window_?.performance?.now?.();
446
- } else if ("hrtime" in process_) {
447
- const timeParts = process_?.hrtime?.();
448
- timestamp = timeParts[0] * 1e3 + timeParts[1] / 1e6;
449
- } else {
450
- timestamp = Date.now();
451
- }
452
- return timestamp;
453
- }
454
- var init_hi_res_timestamp = __esm({
455
- "../../node_modules/@probe.gl/log/dist/utils/hi-res-timestamp.js"() {
456
- init_dist();
454
+ "../../node_modules/probe.gl/dist/log/utils/autobind.js"() {
455
+ }
456
+ });
457
+
458
+ // ../../node_modules/probe.gl/dist/log/probe.js
459
+ var Probe, probe;
460
+ var init_probe = __esm({
461
+ "../../node_modules/probe.gl/dist/log/probe.js"() {
462
+ init_env();
463
+ Probe = class {
464
+ getHighResolutionTimer() {
465
+ let timestamp;
466
+ if (isBrowser() && window_.performance) {
467
+ timestamp = window_?.performance?.now?.();
468
+ } else if ("hrtime" in process_) {
469
+ const timeParts = process_?.hrtime?.();
470
+ timestamp = timeParts[0] * 1e3 + timeParts[1] / 1e6;
471
+ } else {
472
+ timestamp = Date.now();
473
+ }
474
+ return timestamp;
475
+ }
476
+ getMemoryUsageMB() {
477
+ const performance = window_?.performance;
478
+ const usedJSHeapSize = performance?.memory?.usedJSHeapSize;
479
+ if (usedJSHeapSize === void 0 || usedJSHeapSize === null) {
480
+ return null;
481
+ }
482
+ return Math.trunc(usedJSHeapSize / 1024 / 1024);
483
+ }
484
+ };
485
+ probe = new Probe();
486
+ globalThis.Probe = Probe;
487
+ globalThis.probe = probe;
457
488
  }
458
489
  });
459
490
 
460
- // ../../node_modules/@probe.gl/log/dist/loggers/probe-log.js
491
+ // ../../node_modules/probe.gl/dist/log/loggers/probe-log.js
461
492
  function decorateMessage(id, message, opts) {
462
493
  if (typeof message === "string") {
463
494
  const time3 = opts.time ? leftPad(formatTime(opts.total)) : "";
@@ -476,15 +507,17 @@ var __exports__ = (() => {
476
507
  }
477
508
  var originalConsole, DEFAULT_LOG_CONFIGURATION, ProbeLog;
478
509
  var init_probe_log = __esm({
479
- "../../node_modules/@probe.gl/log/dist/loggers/probe-log.js"() {
480
- init_dist();
510
+ "../../node_modules/probe.gl/dist/log/loggers/probe-log.js"() {
511
+ init_env();
481
512
  init_base_log();
482
513
  init_local_storage();
483
514
  init_formatters();
484
515
  init_color();
485
516
  init_autobind();
486
- init_assert();
487
- init_hi_res_timestamp();
517
+ init_assert2();
518
+ init_probe();
519
+ init_log_utils();
520
+ init_log_utils();
488
521
  originalConsole = {
489
522
  debug: isBrowser() ? console.debug || console.log : console.log,
490
523
  log: console.log,
@@ -500,8 +533,8 @@ var __exports__ = (() => {
500
533
  constructor({ id } = { id: "" }) {
501
534
  super({ level: 0 });
502
535
  this.VERSION = VERSION;
503
- this._startTs = getHiResTimestamp();
504
- this._deltaTs = getHiResTimestamp();
536
+ this._startTs = probe.getHighResolutionTimer();
537
+ this._deltaTs = probe.getHighResolutionTimer();
505
538
  this.userData = {};
506
539
  this.LOG_THROTTLE_TIMEOUT = 0;
507
540
  this.id = id;
@@ -519,11 +552,11 @@ var __exports__ = (() => {
519
552
  }
520
553
  /** @return milliseconds, with fractions */
521
554
  getTotal() {
522
- return Number((getHiResTimestamp() - this._startTs).toPrecision(10));
555
+ return Number((probe.getHighResolutionTimer() - this._startTs).toPrecision(10));
523
556
  }
524
557
  /** @return milliseconds, with fractions */
525
558
  getDelta() {
526
- return Number((getHiResTimestamp() - this._deltaTs).toPrecision(10));
559
+ return Number((probe.getHighResolutionTimer() - this._deltaTs).toPrecision(10));
527
560
  }
528
561
  /** @deprecated use logLevel */
529
562
  set priority(newPriority) {
@@ -588,6 +621,15 @@ var __exports__ = (() => {
588
621
  return this.error(`\`${oldUsage}\` has been removed. Use \`${newUsage}\` instead`);
589
622
  }
590
623
  probe(logLevel, message, ...args) {
624
+ const memoryUsageMB = probe.getMemoryUsageMB();
625
+ if (memoryUsageMB !== null) {
626
+ const memoryUsagePrefix = `${memoryUsageMB}MB `;
627
+ if (typeof message === "function") {
628
+ message = () => `${memoryUsagePrefix}${message()}`;
629
+ } else if (typeof message === "string") {
630
+ message = `${memoryUsagePrefix}${message}`;
631
+ }
632
+ }
591
633
  return this._log("log", logLevel, message, args, {
592
634
  method: originalConsole.log,
593
635
  time: true,
@@ -664,10 +706,10 @@ var __exports__ = (() => {
664
706
  }
665
707
  _emit(_type, normalized) {
666
708
  const method = normalized.method;
667
- assert(method);
709
+ assert2(method);
668
710
  normalized.total = this.getTotal();
669
711
  normalized.delta = this.getDelta();
670
- this._deltaTs = getHiResTimestamp();
712
+ this._deltaTs = probe.getHighResolutionTimer();
671
713
  const message = decorateMessage(this.id, normalized.message, normalized);
672
714
  return method.bind(console, message, ...normalized.args);
673
715
  }
@@ -690,57 +732,90 @@ var __exports__ = (() => {
690
732
  }
691
733
  });
692
734
 
693
- // ../../node_modules/@probe.gl/log/dist/init.js
735
+ // ../../node_modules/probe.gl/dist/log/loggers/console-log.js
736
+ var init_console_log = __esm({
737
+ "../../node_modules/probe.gl/dist/log/loggers/console-log.js"() {
738
+ init_base_log();
739
+ }
740
+ });
741
+
742
+ // ../../node_modules/probe.gl/dist/log/loggers/memory-log.js
743
+ var init_memory_log = __esm({
744
+ "../../node_modules/probe.gl/dist/log/loggers/memory-log.js"() {
745
+ init_base_log();
746
+ }
747
+ });
748
+
749
+ // ../../node_modules/probe.gl/dist/log/deprecated/hi-res-timestamp.js
750
+ var init_hi_res_timestamp = __esm({
751
+ "../../node_modules/probe.gl/dist/log/deprecated/hi-res-timestamp.js"() {
752
+ init_probe();
753
+ }
754
+ });
755
+
756
+ // ../../node_modules/probe.gl/dist/log/init.js
694
757
  var init_init = __esm({
695
- "../../node_modules/@probe.gl/log/dist/init.js"() {
696
- globalThis.probe = {};
758
+ "../../node_modules/probe.gl/dist/log/init.js"() {
759
+ init_probe();
760
+ if (!globalThis.probe) {
761
+ globalThis.probe = probe;
762
+ }
697
763
  }
698
764
  });
699
765
 
700
- // ../../node_modules/@probe.gl/log/dist/index.js
701
- var dist_default;
702
- var init_dist2 = __esm({
703
- "../../node_modules/@probe.gl/log/dist/index.js"() {
766
+ // ../../node_modules/probe.gl/dist/log/index.js
767
+ var log;
768
+ var init_log = __esm({
769
+ "../../node_modules/probe.gl/dist/log/index.js"() {
704
770
  init_probe_log();
771
+ init_probe();
705
772
  init_probe_log();
773
+ init_console_log();
774
+ init_base_log();
775
+ init_memory_log();
776
+ init_color();
777
+ init_color();
778
+ init_formatters();
779
+ init_autobind();
780
+ init_local_storage();
781
+ init_hi_res_timestamp();
706
782
  init_init();
707
- dist_default = new ProbeLog({ id: "@probe.gl/log" });
783
+ log = new ProbeLog({ id: "@probe.gl/log" });
708
784
  }
709
785
  });
710
786
 
711
- // ../loader-utils/src/lib/log-utils/log.ts
787
+ // ../core/src/loader-utils/lib/log-utils/log.ts
712
788
  function createLog() {
713
- const log2 = new ProbeLog({ id: "loaders.gl" });
789
+ const log3 = new ProbeLog({ id: "loaders.gl" });
714
790
  globalThis.loaders ||= {};
715
- globalThis.loaders.log = log2;
791
+ globalThis.loaders.log = log3;
716
792
  globalThis.loaders.version = version;
717
793
  globalThis.probe ||= {};
718
- globalThis.probe.loaders = log2;
719
- return log2;
794
+ globalThis.probe.loaders = log3;
795
+ return log3;
720
796
  }
721
- var VERSION2, version, log;
722
- var init_log = __esm({
723
- "../loader-utils/src/lib/log-utils/log.ts"() {
797
+ var VERSION2, version, log2;
798
+ var init_log2 = __esm({
799
+ "../core/src/loader-utils/lib/log-utils/log.ts"() {
724
800
  "use strict";
725
- init_dist2();
801
+ init_log();
726
802
  VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
727
803
  version = VERSION2[0] >= "0" && VERSION2[0] <= "9" ? `v${VERSION2}` : "";
728
- log = createLog();
804
+ log2 = createLog();
729
805
  }
730
806
  });
731
807
 
732
- // ../loader-utils/src/lib/javascript-utils/is-type.ts
733
- var isObject, isPureObject, isSharedArrayBuffer;
808
+ // ../core/src/loader-utils/lib/javascript-utils/is-type.ts
809
+ var isObject, isPureObject;
734
810
  var init_is_type = __esm({
735
- "../loader-utils/src/lib/javascript-utils/is-type.ts"() {
811
+ "../core/src/loader-utils/lib/javascript-utils/is-type.ts"() {
736
812
  "use strict";
737
813
  isObject = (value) => value !== null && typeof value === "object";
738
814
  isPureObject = (value) => isObject(value) && value.constructor === {}.constructor;
739
- isSharedArrayBuffer = (value) => typeof SharedArrayBuffer !== "undefined" && value instanceof SharedArrayBuffer;
740
815
  }
741
816
  });
742
817
 
743
- // ../loader-utils/src/lib/option-utils/merge-options.ts
818
+ // ../core/src/loader-utils/lib/option-utils/merge-options.ts
744
819
  function mergeOptions(baseOptions, newOptions) {
745
820
  return mergeOptionsRecursively(baseOptions || {}, newOptions);
746
821
  }
@@ -763,36 +838,25 @@ var __exports__ = (() => {
763
838
  return options;
764
839
  }
765
840
  var init_merge_options = __esm({
766
- "../loader-utils/src/lib/option-utils/merge-options.ts"() {
841
+ "../core/src/loader-utils/lib/option-utils/merge-options.ts"() {
767
842
  "use strict";
768
843
  init_is_type();
769
844
  }
770
845
  });
771
846
 
772
- // ../loader-utils/src/lib/module-utils/js-module-utils.ts
847
+ // ../core/src/loader-utils/lib/module-utils/js-module-utils.ts
773
848
  function registerJSModules(modules) {
774
849
  globalThis.loaders ||= {};
775
850
  globalThis.loaders.modules ||= {};
776
851
  Object.assign(globalThis.loaders.modules, modules);
777
852
  }
778
- function getJSModule(name, caller) {
779
- const module = globalThis.loaders?.modules?.[name];
780
- if (!module) {
781
- throw new Error(`${caller}: ${name} library not installed`);
782
- }
783
- return module;
784
- }
785
- function getJSModuleOrNull(name) {
786
- const module = globalThis.loaders?.modules?.[name];
787
- return module || null;
788
- }
789
853
  var init_js_module_utils = __esm({
790
- "../loader-utils/src/lib/module-utils/js-module-utils.ts"() {
854
+ "../core/src/loader-utils/lib/module-utils/js-module-utils.ts"() {
791
855
  "use strict";
792
856
  }
793
857
  });
794
858
 
795
- // ../loader-utils/src/lib/binary-utils/array-buffer-utils.ts
859
+ // ../core/src/loader-utils/lib/binary-utils/array-buffer-utils.ts
796
860
  function concatenateArrayBuffers(...sources) {
797
861
  return concatenateArrayBuffersFromArray(sources);
798
862
  }
@@ -810,12 +874,12 @@ var __exports__ = (() => {
810
874
  return result.buffer;
811
875
  }
812
876
  var init_array_buffer_utils = __esm({
813
- "../loader-utils/src/lib/binary-utils/array-buffer-utils.ts"() {
877
+ "../core/src/loader-utils/lib/binary-utils/array-buffer-utils.ts"() {
814
878
  "use strict";
815
879
  }
816
880
  });
817
881
 
818
- // ../loader-utils/src/lib/iterators/async-iteration.ts
882
+ // ../core/src/loader-utils/lib/iterators/async-iteration.ts
819
883
  async function concatenateArrayBuffersAsync(asyncIterator) {
820
884
  const arrayBuffers = [];
821
885
  for await (const chunk of asyncIterator) {
@@ -840,13 +904,13 @@ var __exports__ = (() => {
840
904
  return copy.buffer;
841
905
  }
842
906
  var init_async_iteration = __esm({
843
- "../loader-utils/src/lib/iterators/async-iteration.ts"() {
907
+ "../core/src/loader-utils/lib/iterators/async-iteration.ts"() {
844
908
  "use strict";
845
909
  init_array_buffer_utils();
846
910
  }
847
911
  });
848
912
 
849
- // ../loader-utils/src/lib/request-utils/authentication.ts
913
+ // ../core/src/loader-utils/lib/request-utils/authentication.ts
850
914
  function resolveCredentials(credentials, authentications = []) {
851
915
  if (credentials.every(isAuthentication)) return credentials;
852
916
  return credentials.map((credential, index) => {
@@ -882,12 +946,12 @@ var __exports__ = (() => {
882
946
  return (credential.type === "header" || credential.type === "query-parameter") && typeof credential.name === "string" && (typeof credential.token === "string" || typeof credential.token === "function") && Array.isArray(credential.refreshStatusCodes);
883
947
  }
884
948
  var init_authentication = __esm({
885
- "../loader-utils/src/lib/request-utils/authentication.ts"() {
949
+ "../core/src/loader-utils/lib/request-utils/authentication.ts"() {
886
950
  "use strict";
887
951
  }
888
952
  });
889
953
 
890
- // ../loader-utils/src/lib/request-utils/request-credentials.ts
954
+ // ../core/src/loader-utils/lib/request-utils/request-credentials.ts
891
955
  function createAuthenticatedFetch(options) {
892
956
  const suppliedFetch = options.fetch || ((url2, requestOptions) => fetch(url2, requestOptions));
893
957
  const existingMetadata = suppliedFetch[AUTHENTICATED_FETCH];
@@ -1112,7 +1176,7 @@ var __exports__ = (() => {
1112
1176
  }
1113
1177
  var AUTHENTICATED_FETCH, refreshPromises;
1114
1178
  var init_request_credentials = __esm({
1115
- "../loader-utils/src/lib/request-utils/request-credentials.ts"() {
1179
+ "../core/src/loader-utils/lib/request-utils/request-credentials.ts"() {
1116
1180
  "use strict";
1117
1181
  init_authentication();
1118
1182
  AUTHENTICATED_FETCH = /* @__PURE__ */ Symbol("loaders.gl.authenticated-fetch");
@@ -1120,7 +1184,7 @@ var __exports__ = (() => {
1120
1184
  }
1121
1185
  });
1122
1186
 
1123
- // ../loader-utils/src/lib/path-utils/file-aliases.ts
1187
+ // ../core/src/loader-utils/lib/path-utils/file-aliases.ts
1124
1188
  function resolvePath(filename) {
1125
1189
  for (const alias in fileAliases) {
1126
1190
  if (filename.startsWith(alias)) {
@@ -1135,41 +1199,14 @@ var __exports__ = (() => {
1135
1199
  }
1136
1200
  var pathPrefix, fileAliases;
1137
1201
  var init_file_aliases = __esm({
1138
- "../loader-utils/src/lib/path-utils/file-aliases.ts"() {
1202
+ "../core/src/loader-utils/lib/path-utils/file-aliases.ts"() {
1139
1203
  "use strict";
1140
1204
  pathPrefix = "";
1141
1205
  fileAliases = {};
1142
1206
  }
1143
1207
  });
1144
1208
 
1145
- // ../loader-utils/src/lib/binary-utils/memory-conversion-utils.ts
1146
- function ensureArrayBuffer(bufferSource) {
1147
- if (bufferSource instanceof ArrayBuffer) {
1148
- return bufferSource;
1149
- }
1150
- if (isSharedArrayBuffer(bufferSource)) {
1151
- return copyToArrayBuffer2(bufferSource);
1152
- }
1153
- const { buffer, byteOffset, byteLength } = bufferSource;
1154
- if (buffer instanceof ArrayBuffer && byteOffset === 0 && byteLength === buffer.byteLength) {
1155
- return buffer;
1156
- }
1157
- return copyToArrayBuffer2(buffer, byteOffset, byteLength);
1158
- }
1159
- function copyToArrayBuffer2(buffer, byteOffset = 0, byteLength = buffer.byteLength - byteOffset) {
1160
- const view = new Uint8Array(buffer, byteOffset, byteLength);
1161
- const copy = new Uint8Array(view.length);
1162
- copy.set(view);
1163
- return copy.buffer;
1164
- }
1165
- var init_memory_conversion_utils = __esm({
1166
- "../loader-utils/src/lib/binary-utils/memory-conversion-utils.ts"() {
1167
- "use strict";
1168
- init_is_type();
1169
- }
1170
- });
1171
-
1172
- // ../loader-utils/src/lib/sources/data-source.ts
1209
+ // ../core/src/loader-utils/lib/sources/data-source.ts
1173
1210
  function getFetchFunction(options) {
1174
1211
  return getAuthenticatedFetch(options);
1175
1212
  }
@@ -1220,11 +1257,11 @@ var __exports__ = (() => {
1220
1257
  }
1221
1258
  var UNAVAILABLE_CORE_API, DataSource;
1222
1259
  var init_data_source = __esm({
1223
- "../loader-utils/src/lib/sources/data-source.ts"() {
1260
+ "../core/src/loader-utils/lib/sources/data-source.ts"() {
1224
1261
  "use strict";
1225
1262
  init_merge_options();
1226
1263
  init_file_aliases();
1227
- init_log();
1264
+ init_log2();
1228
1265
  init_request_credentials();
1229
1266
  init_authentication();
1230
1267
  UNAVAILABLE_CORE_API = {
@@ -1258,7 +1295,7 @@ var __exports__ = (() => {
1258
1295
  /** Whether a real CoreAPI instance was injected by the integration layer. */
1259
1296
  hasCoreApi;
1260
1297
  _needsRefresh = true;
1261
- constructor(data, options, defaultOptions, coreApi) {
1298
+ constructor(data, options, defaultOptions, coreApi2) {
1262
1299
  this.options = mergeOptions(
1263
1300
  mergeOptions(_DataSource.defaultOptions, defaultOptions || {}),
1264
1301
  options
@@ -1268,8 +1305,8 @@ var __exports__ = (() => {
1268
1305
  const loadOptions = resolveAuthenticationOptions(getSourceLoaderOptions(this.options));
1269
1306
  this.loadOptions = loadOptions;
1270
1307
  const fetch2 = getFetchFunction(loadOptions);
1271
- this.coreApi = coreApi || UNAVAILABLE_CORE_API;
1272
- this.hasCoreApi = Boolean(coreApi);
1308
+ this.coreApi = coreApi2 || UNAVAILABLE_CORE_API;
1309
+ this.hasCoreApi = Boolean(coreApi2);
1273
1310
  this.fetch = fetch2;
1274
1311
  }
1275
1312
  setProps(options) {
@@ -1302,7 +1339,7 @@ var __exports__ = (() => {
1302
1339
  if (callback) {
1303
1340
  callback(normalizedError, this);
1304
1341
  } else {
1305
- log.warn(`${this.constructor.name}: ${normalizedError.message}`)();
1342
+ log2.warn(`${this.constructor.name}: ${normalizedError.message}`)();
1306
1343
  }
1307
1344
  return normalizedError;
1308
1345
  }
@@ -1310,24 +1347,22 @@ var __exports__ = (() => {
1310
1347
  }
1311
1348
  });
1312
1349
 
1313
- // ../loader-utils/src/index.ts
1314
- var init_src = __esm({
1315
- "../loader-utils/src/index.ts"() {
1350
+ // ../core/src/loader-utils/index.ts
1351
+ var init_loader_utils = __esm({
1352
+ "../core/src/loader-utils/index.ts"() {
1316
1353
  "use strict";
1317
1354
  init_js_module_utils();
1318
- init_js_module_utils();
1319
1355
  init_async_iteration();
1320
- init_memory_conversion_utils();
1321
1356
  init_data_source();
1322
1357
  }
1323
1358
  });
1324
1359
 
1325
1360
  // ../compression/src/lib/compression.ts
1326
- var CompressionTransform, Compressor, Decompressor, Compression;
1361
+ var CompressionTransform, Decompressor;
1327
1362
  var init_compression = __esm({
1328
1363
  "../compression/src/lib/compression.ts"() {
1329
1364
  "use strict";
1330
- init_src();
1365
+ init_loader_utils();
1331
1366
  CompressionTransform = class {
1332
1367
  /** Preloads any dynamic libraries. May enable sync functions */
1333
1368
  async preload(modules = {}) {
@@ -1345,26 +1380,6 @@ var __exports__ = (() => {
1345
1380
  return error62;
1346
1381
  }
1347
1382
  };
1348
- Compressor = class extends CompressionTransform {
1349
- constructor(options) {
1350
- super();
1351
- this.compressBatches = this.compressBatches.bind(this);
1352
- }
1353
- /** Asynchronously compresses data. */
1354
- async compress(input2) {
1355
- await this.preload();
1356
- return this.compressSync(input2);
1357
- }
1358
- /** Synchronously compresses data. */
1359
- compressSync(input2) {
1360
- throw new Error(`${this.name}: sync compression not supported`);
1361
- }
1362
- /** Compresses batches. */
1363
- async *compressBatches(asyncIterator) {
1364
- const input2 = await this.concatenate(asyncIterator);
1365
- yield this.compress(input2);
1366
- }
1367
- };
1368
1383
  Decompressor = class extends CompressionTransform {
1369
1384
  constructor(options) {
1370
1385
  super();
@@ -1385,112 +1400,6 @@ var __exports__ = (() => {
1385
1400
  yield this.decompress(input2);
1386
1401
  }
1387
1402
  };
1388
- Compression = class extends Compressor {
1389
- constructor(options) {
1390
- super(options);
1391
- this.decompressBatches = this.decompressBatches.bind(this);
1392
- }
1393
- /** Asynchronously decompresses data. */
1394
- async decompress(input2, size) {
1395
- await this.preload();
1396
- return this.decompressSync(input2, size);
1397
- }
1398
- /** Synchronously decompresses data. */
1399
- decompressSync(input2, size) {
1400
- throw new Error(`${this.name}: sync decompression not supported`);
1401
- }
1402
- /** Decompresses batches. */
1403
- async *decompressBatches(asyncIterator) {
1404
- const input2 = await this.concatenate(asyncIterator);
1405
- yield this.decompress(input2);
1406
- }
1407
- };
1408
- }
1409
- });
1410
-
1411
- // ../compression/src/lib/compression-stream.ts
1412
- async function compressWithNativeCompressionStream(input2, format) {
1413
- const outputBatches = compressBatchesWithNativeCompressionStream([input2], format);
1414
- return outputBatches ? await concatenateBatches(outputBatches) : null;
1415
- }
1416
- function compressBatchesWithNativeCompressionStream(inputBatches, format) {
1417
- const compressionStream = createNativeCompressionStream(format);
1418
- return compressionStream ? transformBatches(inputBatches, compressionStream) : null;
1419
- }
1420
- function createNativeCompressionStream(format) {
1421
- if (typeof globalThis.CompressionStream === "undefined") {
1422
- return null;
1423
- }
1424
- try {
1425
- const CompressionStreamConstructor = globalThis.CompressionStream;
1426
- return new CompressionStreamConstructor(format);
1427
- } catch (error62) {
1428
- if (error62 instanceof TypeError || error62?.name === "TypeError") {
1429
- return null;
1430
- }
1431
- throw error62;
1432
- }
1433
- }
1434
- async function* transformBatches(inputBatches, compressionStream) {
1435
- const writer = compressionStream.writable.getWriter();
1436
- const reader = compressionStream.readable.getReader();
1437
- const writePromise = writeBatches(inputBatches, writer);
1438
- writePromise.catch(() => {
1439
- });
1440
- let outputCompleted = false;
1441
- try {
1442
- while (true) {
1443
- const { done, value } = await reader.read();
1444
- if (done) {
1445
- outputCompleted = true;
1446
- break;
1447
- }
1448
- yield new Uint8Array(value).buffer;
1449
- }
1450
- await writePromise;
1451
- } finally {
1452
- if (!outputCompleted) {
1453
- await reader.cancel().catch(() => {
1454
- });
1455
- await writer.abort().catch(() => {
1456
- });
1457
- await writePromise.catch(() => {
1458
- });
1459
- }
1460
- reader.releaseLock();
1461
- }
1462
- }
1463
- async function writeBatches(inputBatches, writer) {
1464
- try {
1465
- for await (const inputBatch of inputBatches) {
1466
- await writer.write(new Uint8Array(inputBatch));
1467
- }
1468
- await writer.close();
1469
- } catch (error62) {
1470
- await writer.abort(error62).catch(() => {
1471
- });
1472
- throw error62;
1473
- }
1474
- }
1475
- async function concatenateBatches(batches) {
1476
- const output2 = [];
1477
- let byteLength = 0;
1478
- for await (const batch of batches) {
1479
- const bytes = new Uint8Array(batch);
1480
- output2.push(bytes);
1481
- byteLength += bytes.byteLength;
1482
- }
1483
- const result = new Uint8Array(byteLength);
1484
- let offset = 0;
1485
- for (const batch of output2) {
1486
- result.set(batch, offset);
1487
- offset += batch.byteLength;
1488
- }
1489
- return result.buffer;
1490
- }
1491
- var init_compression_stream = __esm({
1492
- "../compression/src/lib/compression-stream.ts"() {
1493
- "use strict";
1494
1403
  }
1495
1404
  });
1496
1405
 
@@ -1500,8 +1409,8 @@ var __exports__ = (() => {
1500
1409
  return outputBatches ? await concatenateNativeDecompressionBatches(outputBatches) : null;
1501
1410
  }
1502
1411
  function decompressBatchesWithNativeDecompressionStream(inputBatches, format) {
1503
- const decompressionStream = createNativeDecompressionStream(format);
1504
- return decompressionStream ? transformBatchesWithNativeDecompressionStream(inputBatches, decompressionStream) : null;
1412
+ const decompressionStream5 = createNativeDecompressionStream(format);
1413
+ return decompressionStream5 ? transformBatchesWithNativeDecompressionStream(inputBatches, decompressionStream5) : null;
1505
1414
  }
1506
1415
  function isNativeDecompressionSupported(format) {
1507
1416
  return Boolean(createNativeDecompressionStream(format));
@@ -1523,9 +1432,9 @@ var __exports__ = (() => {
1523
1432
  throw error62;
1524
1433
  }
1525
1434
  }
1526
- async function* transformBatchesWithNativeDecompressionStream(inputBatches, decompressionStream) {
1527
- const writer = decompressionStream.writable.getWriter();
1528
- const reader = decompressionStream.readable.getReader();
1435
+ async function* transformBatchesWithNativeDecompressionStream(inputBatches, decompressionStream5) {
1436
+ const writer = decompressionStream5.writable.getWriter();
1437
+ const reader = decompressionStream5.readable.getReader();
1529
1438
  const writePromise = writeBatchesToNativeDecompressionStream(inputBatches, writer);
1530
1439
  writePromise.catch(() => {
1531
1440
  });
@@ -1710,494 +1619,781 @@ var __exports__ = (() => {
1710
1619
  }
1711
1620
  });
1712
1621
 
1713
- // ../compression/src/lib/fflate/index.ts
1714
- function inflateSync(data, out) {
1715
- return inflt(data, out);
1716
- }
1717
- function gunzipSync(data, out) {
1718
- return inflt(data.subarray(gzs(data), -8), out || new u8(gzl(data)));
1622
+ // ../compression/src/lib/compress-utils-compression.ts
1623
+ async function* transformBatches(stream, inputBatches, maximumOutputByteLength = Number.POSITIVE_INFINITY) {
1624
+ let outputByteLength = 0;
1625
+ try {
1626
+ for await (const input2 of inputBatches) {
1627
+ const output3 = stream.write(new Uint8Array(input2));
1628
+ if (output3.byteLength > maximumOutputByteLength - outputByteLength)
1629
+ throw new RangeError("Decompressed output exceeds maxOutputByteLength");
1630
+ outputByteLength += output3.byteLength;
1631
+ if (output3.byteLength > 0) yield copyArrayBuffer(output3);
1632
+ }
1633
+ const output2 = stream.finish();
1634
+ if (output2.byteLength > maximumOutputByteLength - outputByteLength)
1635
+ throw new RangeError("Decompressed output exceeds maxOutputByteLength");
1636
+ if (output2.byteLength > 0) yield copyArrayBuffer(output2);
1637
+ } finally {
1638
+ stream.destroy();
1639
+ }
1719
1640
  }
1720
- function unzlibSync(data, out) {
1721
- return inflt((zlv(data), data.subarray(2, -4)), out);
1641
+ function copyArrayBuffer(bytes) {
1642
+ return bytes.slice().buffer;
1722
1643
  }
1723
- var u8, u16, u32, fleb, fdeb, clim, freb, fl, revfl, fd, revfd, rev, hMap, flt, fdt, flrm, fdrm, max, bits, bits16, shft, slc, ec, err, inflt, gzs, gzl, zlv, Inflate, Gunzip, Unzlib;
1724
- var init_fflate = __esm({
1725
- "../compression/src/lib/fflate/index.ts"() {
1644
+ function getDecompressOptions(options, size) {
1645
+ const decodeOptions = {
1646
+ ...options.compressUtils,
1647
+ ...size === void 0 ? {} : { expectedSize: size }
1648
+ };
1649
+ const capacity = decodeOptions.expectedSize;
1650
+ const maximum = getMaximumOutputByteLength(options);
1651
+ if (capacity !== void 0 && (!Number.isSafeInteger(capacity) || capacity < 0 || capacity > maximum)) {
1652
+ throw new RangeError("expectedSize exceeds the configured output capacity limit");
1653
+ }
1654
+ return decodeOptions;
1655
+ }
1656
+ function getMaximumOutputByteLength(options) {
1657
+ const maximum = options.maxOutputByteLength ?? 512 * 1024 * 1024;
1658
+ if (!Number.isSafeInteger(maximum) || maximum < 0 || maximum > 2147483647)
1659
+ throw new RangeError("Invalid maxOutputByteLength");
1660
+ return maximum;
1661
+ }
1662
+ function copyDecompressedOutput(bytes, options) {
1663
+ if (bytes.byteLength > getMaximumOutputByteLength(options))
1664
+ throw new RangeError("Decompressed output exceeds maxOutputByteLength");
1665
+ return copyArrayBuffer(bytes);
1666
+ }
1667
+ var CompressUtilsDecompressor;
1668
+ var init_compress_utils_compression = __esm({
1669
+ "../compression/src/lib/compress-utils-compression.ts"() {
1726
1670
  "use strict";
1727
- u8 = Uint8Array;
1728
- u16 = Uint16Array;
1729
- u32 = Uint32Array;
1730
- fleb = new u8([
1731
- 0,
1732
- 0,
1733
- 0,
1734
- 0,
1735
- 0,
1736
- 0,
1737
- 0,
1738
- 0,
1739
- 1,
1740
- 1,
1741
- 1,
1742
- 1,
1743
- 2,
1744
- 2,
1745
- 2,
1746
- 2,
1747
- 3,
1748
- 3,
1749
- 3,
1750
- 3,
1751
- 4,
1752
- 4,
1753
- 4,
1754
- 4,
1755
- 5,
1756
- 5,
1757
- 5,
1758
- 5,
1759
- 0,
1760
- /* unused */
1761
- 0,
1762
- 0,
1763
- /* impossible */
1764
- 0
1765
- ]);
1766
- fdeb = new u8([
1767
- 0,
1768
- 0,
1769
- 0,
1770
- 0,
1771
- 1,
1772
- 1,
1773
- 2,
1774
- 2,
1775
- 3,
1776
- 3,
1777
- 4,
1778
- 4,
1779
- 5,
1780
- 5,
1781
- 6,
1782
- 6,
1783
- 7,
1784
- 7,
1785
- 8,
1786
- 8,
1787
- 9,
1788
- 9,
1789
- 10,
1790
- 10,
1791
- 11,
1792
- 11,
1793
- 12,
1794
- 12,
1795
- 13,
1796
- 13,
1797
- /* unused */
1798
- 0,
1799
- 0
1800
- ]);
1801
- clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
1802
- freb = (eb, start) => {
1803
- const b = new u16(31);
1804
- for (let i = 0; i < 31; ++i) {
1805
- b[i] = start += 1 << eb[i - 1];
1806
- }
1807
- const r = new u32(b[30]);
1808
- for (let i = 1; i < 30; ++i) {
1809
- for (let j = b[i]; j < b[i + 1]; ++j) {
1810
- r[j] = j - b[i] << 5 | i;
1811
- }
1812
- }
1813
- return [b, r];
1814
- };
1815
- [fl, revfl] = freb(fleb, 2);
1816
- fl[28] = 258, revfl[258] = 28;
1817
- [fd, revfd] = freb(fdeb, 0);
1818
- rev = new u16(32768);
1819
- for (let i = 0; i < 32768; ++i) {
1820
- let x = (i & 43690) >>> 1 | (i & 21845) << 1;
1821
- x = (x & 52428) >>> 2 | (x & 13107) << 2;
1822
- x = (x & 61680) >>> 4 | (x & 3855) << 4;
1823
- rev[i] = ((x & 65280) >>> 8 | (x & 255) << 8) >>> 1;
1824
- }
1825
- hMap = (cd, mb, r) => {
1826
- const s = cd.length;
1827
- let i = 0;
1828
- const l = new u16(mb);
1829
- for (; i < s; ++i) {
1830
- if (cd[i]) ++l[cd[i] - 1];
1831
- }
1832
- const le = new u16(mb);
1833
- for (i = 0; i < mb; ++i) {
1834
- le[i] = le[i - 1] + l[i - 1] << 1;
1835
- }
1836
- let co;
1837
- if (r) {
1838
- co = new u16(1 << mb);
1839
- const rvb = 15 - mb;
1840
- for (i = 0; i < s; ++i) {
1841
- if (cd[i]) {
1842
- const sv = i << 4 | cd[i];
1843
- const r2 = mb - cd[i];
1844
- let v = le[cd[i] - 1]++ << r2;
1845
- for (const m = v | (1 << r2) - 1; v <= m; ++v) {
1846
- co[rev[v] >>> rvb] = sv;
1847
- }
1848
- }
1671
+ init_compression();
1672
+ CompressUtilsDecompressor = class extends Decompressor {
1673
+ name;
1674
+ extensions;
1675
+ contentEncodings;
1676
+ isSupported = true;
1677
+ options;
1678
+ loadModule;
1679
+ /** Module initialized for synchronous operations. */
1680
+ module = null;
1681
+ /** Shared import and WASM initialization for concurrent callers. */
1682
+ modulePromise = null;
1683
+ /** Creates a format-specific compress-utils decoder. */
1684
+ constructor(metadata, loadModule2, options = {}) {
1685
+ super(options);
1686
+ this.name = metadata.name;
1687
+ this.extensions = metadata.extensions || [];
1688
+ this.contentEncodings = metadata.contentEncodings || [];
1689
+ this.loadModule = loadModule2;
1690
+ this.options = options;
1691
+ }
1692
+ /** Imports and initializes the codec without loading the opposite direction. */
1693
+ async preload(modules = {}) {
1694
+ await super.preload(modules);
1695
+ this.modulePromise ||= this.loadModule().then(async (module) => {
1696
+ await module.preload?.();
1697
+ this.module = module;
1698
+ });
1699
+ try {
1700
+ await this.modulePromise;
1701
+ } catch (error62) {
1702
+ this.modulePromise = null;
1703
+ throw error62;
1849
1704
  }
1850
- } else {
1851
- co = new u16(s);
1852
- for (i = 0; i < s; ++i) {
1853
- if (cd[i]) {
1854
- co[i] = rev[le[cd[i] - 1]++] >>> 15 - cd[i];
1855
- }
1856
- }
1857
- }
1858
- return co;
1859
- };
1860
- flt = new u8(288);
1861
- for (let i = 0; i < 144; ++i) flt[i] = 8;
1862
- for (let i = 144; i < 256; ++i) flt[i] = 9;
1863
- for (let i = 256; i < 280; ++i) flt[i] = 7;
1864
- for (let i = 280; i < 288; ++i) flt[i] = 8;
1865
- fdt = new u8(32);
1866
- for (let i = 0; i < 32; ++i) fdt[i] = 5;
1867
- flrm = /* @__PURE__ */ hMap(flt, 9, 1);
1868
- fdrm = /* @__PURE__ */ hMap(fdt, 5, 1);
1869
- max = (a) => {
1870
- let m = a[0];
1871
- for (let i = 1; i < a.length; ++i) {
1872
- if (a[i] > m) m = a[i];
1873
- }
1874
- return m;
1875
- };
1876
- bits = (d, p, m) => {
1877
- const o = p / 8 | 0;
1878
- return (d[o] | d[o + 1] << 8) >> (p & 7) & m;
1879
- };
1880
- bits16 = (d, p) => {
1881
- const o = p / 8 | 0;
1882
- return (d[o] | d[o + 1] << 8 | d[o + 2] << 16) >> (p & 7);
1883
- };
1884
- shft = (p) => (p + 7) / 8 | 0;
1885
- slc = (v, s, e) => {
1886
- if (s == null || s < 0) s = 0;
1887
- if (e == null || e > v.length) e = v.length;
1888
- const n = new (v.BYTES_PER_ELEMENT == 2 ? u16 : v.BYTES_PER_ELEMENT == 4 ? u32 : u8)(e - s);
1889
- n.set(v.subarray(s, e));
1890
- return n;
1891
- };
1892
- ec = [
1893
- "unexpected EOF",
1894
- "invalid block type",
1895
- "invalid length/literal",
1896
- "invalid distance",
1897
- "stream finished",
1898
- "no stream handler",
1899
- ,
1900
- // determined by compression function
1901
- "no callback",
1902
- "invalid UTF-8 data",
1903
- "extra field too long",
1904
- "date not in range 1980-2099",
1905
- "filename too long",
1906
- "stream finishing",
1907
- "invalid zip data"
1908
- // determined by unknown compression method
1909
- ];
1910
- err = (ind, msg, nt) => {
1911
- const e = new Error(msg || ec[ind]);
1912
- e.code = ind;
1913
- if (Error.captureStackTrace) Error.captureStackTrace(e, err);
1914
- if (!nt) throw e;
1915
- return e;
1916
- };
1917
- inflt = (dat, buf, st) => {
1918
- const sl = dat.length;
1919
- if (!sl || st && st.f && !st.l) return buf || new u8(0);
1920
- const noBuf = !buf || st;
1921
- const noSt = !st || st.i;
1922
- if (!st) st = {};
1923
- if (!buf) buf = new u8(sl * 3);
1924
- const cbuf = (l) => {
1925
- let bl = buf.length;
1926
- if (l > bl) {
1927
- const nbuf = new u8(Math.max(bl * 2, l));
1928
- nbuf.set(buf);
1929
- buf = nbuf;
1930
- }
1931
- };
1932
- let final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
1933
- const tbts = sl * 8;
1934
- do {
1935
- if (!lm) {
1936
- final = bits(dat, pos, 1);
1937
- const type = bits(dat, pos + 1, 3);
1938
- pos += 3;
1939
- if (!type) {
1940
- const s = shft(pos) + 4, l = dat[s - 4] | dat[s - 3] << 8, t = s + l;
1941
- if (t > sl) {
1942
- if (noSt) err(0);
1943
- break;
1944
- }
1945
- if (noBuf) cbuf(bt + l);
1946
- buf.set(dat.subarray(s, t), bt);
1947
- st.b = bt += l, st.p = pos = t * 8, st.f = final;
1948
- continue;
1949
- } else if (type == 1) lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
1950
- else if (type == 2) {
1951
- const hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
1952
- const tl = hLit + bits(dat, pos + 5, 31) + 1;
1953
- pos += 14;
1954
- const ldt = new u8(tl);
1955
- const clt = new u8(19);
1956
- for (let i = 0; i < hcLen; ++i) {
1957
- clt[clim[i]] = bits(dat, pos + i * 3, 7);
1958
- }
1959
- pos += hcLen * 3;
1960
- const clb = max(clt), clbmsk = (1 << clb) - 1;
1961
- const clm = hMap(clt, clb, 1);
1962
- for (let i = 0; i < tl; ) {
1963
- const r = clm[bits(dat, pos, clbmsk)];
1964
- pos += r & 15;
1965
- const s = r >>> 4;
1966
- if (s < 16) {
1967
- ldt[i++] = s;
1968
- } else {
1969
- let c = 0, n = 0;
1970
- if (s == 16) n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
1971
- else if (s == 17) n = 3 + bits(dat, pos, 7), pos += 3;
1972
- else if (s == 18) n = 11 + bits(dat, pos, 127), pos += 7;
1973
- while (n--) ldt[i++] = c;
1974
- }
1975
- }
1976
- const lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
1977
- lbt = max(lt);
1978
- dbt = max(dt);
1979
- lm = hMap(lt, lbt, 1);
1980
- dm = hMap(dt, dbt, 1);
1981
- } else err(1);
1982
- if (pos > tbts) {
1983
- if (noSt) err(0);
1984
- break;
1985
- }
1705
+ }
1706
+ /** Runs synchronously after preload has initialized the WASM codec. */
1707
+ decompressSync(input2, size) {
1708
+ if (!this.module?.decompressSync)
1709
+ throw new Error(`${this.name}: call preload() before decompressSync()`);
1710
+ return copyDecompressedOutput(
1711
+ this.module.decompressSync(new Uint8Array(input2), getDecompressOptions(this.options, size)),
1712
+ this.options
1713
+ );
1714
+ }
1715
+ /** Decompresses one buffer with the selected compress-utils decoder. */
1716
+ async decompress(input2, size) {
1717
+ const decodeOptions = getDecompressOptions(this.options, size);
1718
+ await this.preload();
1719
+ const module = this.module;
1720
+ const output2 = await module.decompress(new Uint8Array(input2), decodeOptions);
1721
+ return copyDecompressedOutput(output2, this.options);
1722
+ }
1723
+ /** Incrementally decompresses input batches with compress-utils. */
1724
+ async *decompressBatches(inputBatches) {
1725
+ await this.preload();
1726
+ const module = this.module;
1727
+ if (!module.createDecompressStream) {
1728
+ yield await this.decompress(await this.concatenate(inputBatches));
1729
+ return;
1986
1730
  }
1987
- if (noBuf) cbuf(bt + 131072);
1988
- const lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
1989
- let lpos = pos;
1990
- for (; ; lpos = pos) {
1991
- const c = lm[bits16(dat, pos) & lms], sym = c >>> 4;
1992
- pos += c & 15;
1993
- if (pos > tbts) {
1994
- if (noSt) err(0);
1995
- break;
1731
+ const maximum = getMaximumOutputByteLength(this.options);
1732
+ const stream = await module.createDecompressStream();
1733
+ yield* transformBatches(stream, inputBatches, maximum);
1734
+ }
1735
+ };
1736
+ }
1737
+ });
1738
+
1739
+ // compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/gzip/decompress/gzip.wasm
1740
+ var gzip_default;
1741
+ var init_gzip = __esm({
1742
+ "compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/gzip/decompress/gzip.wasm"() {
1743
+ gzip_default = "data:application/wasm;base64,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gICAf1EbrXwiA1atfCADIAMgCSABQoCAgICAgICAgH+FhFCtgyICfCIBIAJUrXwgC4QhCwsgACABNwMAIAAgCzcDCCAEQeAAaiQAC6MJAgR/BH4jAEHgAGsiBSQAIARCgICAgICAgICAf4UhCiAEQv///////////wCDIQQCQAJAIAFQIgYgAkL///////////8AgyIJQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIAlQG0UEQCADUCAEQoCAgICAgMD//wB9IgtCgICAgICAwICAf1QgC0KAgICAgIDAgIB/URtFDQELIAYgCUKAgICAgIDA//8AVCAJQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQIMAgsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAKQoCAgICAgCCEIQIgAyEBDAILIAEgCUKAgICAgIDA//8AhYRQBEBCgICAgICA4P//ACACIAEgA4UgAiAKhUKAgICAgICAgIB/hYRQIgYbIQJCACABIAYbIQEMAgsCQCADIARCgICAgICAwP//AIWEUA0AIAEgCYRQBEAgAyAEhFBFDQEgASADgyEBIAIgCoMhAgwDCyADIASEUEUNAQwCCyADIQEgCiECDAELIAMgASABIANUIAQgCVYgBCAJURsiCBshCSAKIAIgCBsiDEL///////8/gyEEIAIgCiAIGyILQjCIp0H//wFxIQcgDEIwiKdB//8BcSIGRQRAIAVB0ABqIAkgBCAEeSAJeUJAfSAEQgBSG6dBD2tB/wFxIgYQB0EBIAZrIQYgBSkDUCEJIAUpA1ghBAsgASADIAgbIQEgC0L///////8/gyEDIAdFBEAgBUFAayABIAMgA3kgAXlCQH0gA0IAUhunQQ9rQf8BcSIHEAdBASAHayEHIAUpA0ghAyAFKQNAIQELIANCA4YgAUI9iIRCgICAgICAgASEIQMgBEIDhiAJQj2IhCABQgOGIQQgAiAKhSEBAkAgBiAHRg0AIAYgB2siB0H/AEsEQEIAIQNCASEEDAELIAVBMGogBCADQQAgB2tB/wBxEAcgBUEgaiAEIAMgBxAGIAUpAyAgBSkDMCAFKQM4hEIAUq2EIQQgBSkDKCEDC0KAgICAgICABIQhCyAJQgOGIQogDEKAgICAgICAgIB/gyEJAkACQAJAIAFCAFMEQEIAIQFCACECIAQgCoUgAyALhYRQRQ0BDAQLIAQgCnwiASAEVK0gAyALfHwiAkKAgICAgICACINQDQEgBEIBgyACQj+GIAFCAYiEhCEBIAZBAWohBiACQgGIIQIMAQsgCiAEfSEBIAsgA30gBCAKVq19IgJC/////////wNWDQAgBUEQaiABIAIgAnkgAXlCQH0gAkIAUhunQQxrIgcQByAGIAdrIQYgBSkDGCECIAUpAxAhAQwBCyAGQf7/AUwNACAJQoCAgICAgMD//wCEIQJCACEBDAELIAZBAEwEQCAFIAEgAkEEIAZrEAYgBSkDCCAJhCECIAUpAwAhAQwBCyACQj2GIAFCA4iEIgMgAUIHgyIEQgRWrXwiASADVK0gAkIDiEL///////8/gyAGrUIwhoQgCYR8IAEgBEIEUa2DIgIgAXwiASACVK18IQILIAAgATcDACAAIAI3AwggBUHgAGokAAuMCQIEfgR/IwBB4ABrIgkkACAEQv///////////wCDIQUCQAJAIAFQIgogAkL///////////8AgyIGQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIAZQG0UEQCADUCAFQoCAgICAgMD//wB9IgdCgICAgICAwICAf1QgB0KAgICAgIDAgIB/URtFDQELIAogBkKAgICAgIDA//8AVCAGQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQQgASEDDAILIANQIAVCgICAgICAwP//AFQgBUKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEEDAILIAEgBkKAgICAgIDA//8AhYRQBEBCgICAgICA4P//ACACIAEgA4UgAiAEhUKAgICAgICAgIB/hYRQIgobIQRCACABIAobIQMMAgsgAyAFQoCAgICAgMD//wCFhFANASABIAaEUARAIAMgBYRQRQ0CIAEgA4MhAyACIASDIQQMAgsgAyAFhFBFDQAgASEDIAIhBAwBCyADIAEgASADVCAFIAZWIAUgBlEbIgwbIQYgBCACIAwbIghC////////P4MhBSACIAQgDBsiB0IwiKdB//8BcSELIAhCMIinQf//AXEiCkUEQCAJQdAAaiAGIAUgBXkgBnlCQH0gBUIAUhunQQ9rQf8BcSIKEAdBASAKayEKIAkpA1AhBiAJKQNYIQULIAEgAyAMGyEDIAdC////////P4MhASALBH4gAQUgCUFAayADIAEgAXkgA3lCQH0gAUIAUhunQQ9rQf8BcSILEAdBASALayELIAkpA0AhAyAJKQNIC0IDhiADQj2IhEKAgICAgICABIQhASAFQgOGIAZCPYiEIANCA4YhBSACIASFIQMCQCAKIAtGDQAgCiALayILQf8ASwRAQgAhAUIBIQUMAQsgCUEwaiAFIAFBACALa0H/AHEQByAJQSBqIAUgASALEAYgCSkDICAJKQMwIAkpAziEQgBSrYQhBSAJKQMoIQELQoCAgICAgIAEhCEHIAZCA4YhAiAIQoCAgICAgICAgH+DIQYCQAJAAkAgA0IAUwRAQgAhA0IAIQQgAiAFhSABIAeFhFBFDQEMBAsgAiAFfCIDIAVUrSABIAd8fCIEQoCAgICAgIAIg1ANASAFQgGDIARCP4YgA0IBiISEIQMgCkEBaiEKIARCAYghBAwBCyACIAV9IQMgByABfSACIAVUrX0iBEL/////////A1YNACAJQRBqIAMgBCAEeSADeUJAfSAEQgBSG6dBDGsiCxAHIAogC2shCiAJKQMYIQQgCSkDECEDDAELIApB/v8BTA0AIAZCgICAgICAwP//AIQhBEIAIQMMAQsgCkEATARAIAkgAyAEQQQgCmsQBiAJKQMIIAaEIQQgCSkDACEDDAELIARCPYYgA0IDiIQiAiADQgeDIgNCBFatfCIBIAJUrSAEQgOIQv///////z+DIAqtQjCGhCAGhHwgASABIANCBFGtgyIBfCIDIAFUrXwhBAsgACADNwMAIAAgBDcDCCAJQeAAaiQAC+ABAgF/An5BASEEAkAgAEIAUiABQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACACUCADQv///////////wCDIgZCgICAgICAwP//AFQgBkKAgICAgIDA//8AURtFDQAgACAChCAFIAaEhFAEQEEADwsCQAJAIAEgA4NCAFkEQCAAIAJUIAEgA1MgASADURtFDQFBfw8LIAAgAlYgASADVSABIANRG0UNAUF/DwsgACAChSABIAOFhEIAUg8LIAAgAoUgASADhYRCAFIhBAsgBAtjACAAQgBSIAFC////////////AIMiAEKAgICAgIDA//8AViAAQoCAgICAgMD//wBRGyACQgBSIANC////////////AIMiAEKAgICAgIDA//8AViAAQoCAgICAgMD//wBRG3ILUQEBfgJAIANBP0oEQCACIANBP3GtiCEBQgAhAgwBCyADRQ0AIAJBACADa0E/ca2GIAEgA60iBIiEIQEgAiAEiCECCyAAIAE3AwAgACACNwMIC1EBAX4CQCADQT9KBEAgASADQT9xrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBACADa0E/ca2IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAsyAQF/IABBEGpBBBAJIgEEQCABIACtQgWGQgSENwMIIAFBEGoPC0Gs3IAIQTA2AgBBAAvrAgEDfyMAQRBrIgQkACAEIAFBH3E6AA8CQEF/IABBBGoiAiAAIAJLGyIAQQEgAXQiASAAIAFLGyIAQQFrZyIBRQRAQQAhAQwBC0EgIAFrIgFB//8DcUEDayIDQQ1PBEBCAUEgIABBg4AEakEQdkEBa2drIgGthqchACABQf//A3FBAnQiAigCzNmACCIBBEAgAkHM2YAIaiAAQRB0IAFqQQRrKAIANgIADAILQQAgAEAAIgBBEHQgAEF/RhshAQwBC0IBIAGthqchAiADQQJ0IgAoApjZgAgiAQRAIABBmNmACGogASACakEEaygCADYCAAwBCyAAQeTYgAhqIQMgACgC5NiACCIBQf//A3FFBEBBACEBIAMgAgJ/QczZgAgoAgAiAARAQczZgAggACgC/P8DNgIAIAAMAQtBAUAAIgBBAWpBAkkNAiAAQRB0CyIBajYCAAwBCyADIAEgAmo2AgALIARBEGokACABC5YBAgN/AX4jAEEQayICJAAgAiAArSIEQiCIpyIAQQBHOgAMAkACQCAARQRAIASnIgFBEGpBBBAJIgANAUGs3IAIQTA2AgAMAgtBrNyACEEwNgIADAELIAAgAa1CBYZCBIQ3AwggAEEQaiEDIAFFDQBBACEAA0AgACADakEAOgAAIABBAWoiACABSQ0ACwsgAkEQaiQAIAMLhwYCCn8BfiMAQRBrIgUkAAJAIAFFBEAgAARAIAUgAEEIaykDACIMpyIBQR9xIgI6AAwgBSACOgANIABBASABdCIBayEAQSAgDEIFiKcgAWpBBGoiAiABIAEgAkkbIgFBAWtnayICQf//A3FBA2si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IAIgBEEgcjYCAA8LIAJCADcCBCACIAIoAigiBTYCGCACIAU2AhQgAiAFIAIoAixqIgM2AhALIAMgBWsgAUkEQCACIAAgASACKAIgEQAAGg8LAkACQCACKAJAQQBIBEAgACEEDAELIAFFBEAgACEEDAELIAEhAwJAA0AgACADaiIEQQFrLQAAQQpGDQEgA0EBayIDDQALIAAhBAwBCyACIAAgAyACKAIgEQAAIANJDQEgASADayEBIAIoAhQhBQsgAQRAIAUgBCAB/AoAAAsgAiACKAIUIAFqNgIUCwvzBgMDfgF/AXwjAEEQayIGJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIAAQIFAwQGBwgJCgsMDQ4PEBESCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAMEQsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADBALIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAMDgsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADA0LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAAwMCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAMCwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADAoLIAIgAigCACIBQQRqNgIAIAAgATAAADcDAAwJCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAMCAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAcLIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwGCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAMBQsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAQLIAIgAigCACIBQQRqNgIAIAAgATQCADcDAAwDCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAMAgsgAiACKAIAQQdqQXhxIgFBCGo2AgAgASsDACEHIwBBEGsiASQAAn4gB70iBUL///////////8AgyIDQoCAgICAgIAIfUKAgICAgICA8P8AVARAIANCPIYhBCADQgSIQoCAgICAgICAPHwMAQsgA0KAgICAgICA+P8AWgRA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ZSB0byBmaW5pc2hlZCBkZWNvbXByZXNzIHN0cmVhbQB6bGliOiBkYXRhIGFmdGVyIGVuZCBvZiBzdHJlYW0Ab3V0cHV0IGJ1ZmZlciB0b28gc21hbGwAb2sAaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawB6bGliOiB0cnVuY2F0ZWQgc3RyZWFtIGF0IGZpbmlzaABoZWFkZXIgY3JjIG1pc21hdGNoAGRlY29tcHJlc3NlZCBzaXplIG5vdCBlbmNvZGVkIGluIHdpcmUgZm9ybWF0OyB1c2Ugc3RyZWFtaW5nAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAG9wZXJhdGlvbiBpbnZhbGlkIGZvciBjdXJyZW50IHN0cmVhbSBzdGF0ZQBpbnZhbGlkIGJsb2NrIHR5cGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAGFsZ29yaXRobSBub3QgY29tcGlsZWQgaW50byB0aGlzIGJ1aWxkAGFsZ29yaXRobSAlZCBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgYnVpbGQAY29tcHJlc3NlZCBpbnB1dCB0cnVuY2F0ZWQAZGVjb21wcmVzc2lvbiBmYWlsZWQAc3RyZWFtIGlzIGFscmVhZHkgZmluaXNoZWQAemxpYjogY29ycnVwdGVkIGRhdGEATkFOAElORgAwLjEwLjEALgB6bGliOiBjb2RlICVkICglcykAemxpYjogb3V0cHV0IGJ1ZmZlciB0b28gc21hbGwgKHNpemUgbm90IGVuY29kZWQgaW4gc3RyZWFtKQAobnVsbCkAY29tcHJlc3Npb24gbGV2ZWwgb3V0IG9mIHJhbmdlICgxLi4xMCkAAACOAgABkwAAAU8FAAF2AgABTAMAATYEAAGmBAABpAQAAYkEAAGkAAABuQQAAaADAAEaAAAB5gEAARkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABGwkLGAAACQYLAAALAAYZAAAAGRkZAEGBjIAICyEOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AQbuMgAgLAQwAQceMgAgLFRMAAAAAEwAAAAAJDAAAAAAADAAADABB9YyACAsBEABBgY2ACAsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEGvjYAICwESAEG7jYAICx4RAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAQfKNgAgLDhoAAAAaGhoAAAAAAAAJAEGjjoAICwEUAEGvjoAICxUXAAAAABcAAAAACRQAAAAAABQAABQAQd2OgAgLARYAQemOgAgL5A0VAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUZTdWNjZXNzAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4g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HJ9ONroYEAARABIAAAAIAAcACQAGAAoABQALAAQADAADAA0AAgAOAAEADwBBsMWACAuoEwMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAAxwBLAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQABgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIA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";
1744
+ }
1745
+ });
1746
+
1747
+ // compress-utils-resolver:resolver
1748
+ var resolveWasm;
1749
+ var init_resolver = __esm({
1750
+ "compress-utils-resolver:resolver"() {
1751
+ resolveWasm = (url2) => Uint8Array.from(atob(url2.href.split(",")[1]), (character) => character.charCodeAt(0));
1752
+ }
1753
+ });
1754
+
1755
+ // ../../node_modules/compress-utils/dist/core/types.js
1756
+ var Algorithm, Status, CompressError;
1757
+ var init_types = __esm({
1758
+ "../../node_modules/compress-utils/dist/core/types.js"() {
1759
+ (function(Algorithm2) {
1760
+ Algorithm2[Algorithm2["Zstd"] = 0] = "Zstd";
1761
+ Algorithm2[Algorithm2["Brotli"] = 1] = "Brotli";
1762
+ Algorithm2[Algorithm2["Zlib"] = 2] = "Zlib";
1763
+ Algorithm2[Algorithm2["Bz2"] = 3] = "Bz2";
1764
+ Algorithm2[Algorithm2["Lz4"] = 4] = "Lz4";
1765
+ Algorithm2[Algorithm2["Xz"] = 5] = "Xz";
1766
+ Algorithm2[Algorithm2["Lzma"] = 6] = "Lzma";
1767
+ Algorithm2[Algorithm2["Snappy"] = 7] = "Snappy";
1768
+ Algorithm2[Algorithm2["Gzip"] = 8] = "Gzip";
1769
+ Algorithm2[Algorithm2["Deflate"] = 9] = "Deflate";
1770
+ Algorithm2[Algorithm2["Lz4Raw"] = 10] = "Lz4Raw";
1771
+ Algorithm2[Algorithm2["Lzo"] = 11] = "Lzo";
1772
+ })(Algorithm || (Algorithm = {}));
1773
+ (function(Status2) {
1774
+ Status2[Status2["Ok"] = 0] = "Ok";
1775
+ Status2[Status2["InvalidArg"] = 1] = "InvalidArg";
1776
+ Status2[Status2["InvalidLevel"] = 2] = "InvalidLevel";
1777
+ Status2[Status2["BufTooSmall"] = 3] = "BufTooSmall";
1778
+ Status2[Status2["SizeUnknown"] = 4] = "SizeUnknown";
1779
+ Status2[Status2["UnsupportedAlgo"] = 5] = "UnsupportedAlgo";
1780
+ Status2[Status2["Compression"] = 6] = "Compression";
1781
+ Status2[Status2["Decompression"] = 7] = "Decompression";
1782
+ Status2[Status2["Truncated"] = 8] = "Truncated";
1783
+ Status2[Status2["SizeLimit"] = 9] = "SizeLimit";
1784
+ Status2[Status2["StreamFinished"] = 10] = "StreamFinished";
1785
+ Status2[Status2["StreamState"] = 11] = "StreamState";
1786
+ Status2[Status2["Oom"] = 12] = "Oom";
1787
+ Status2[Status2["Internal"] = 13] = "Internal";
1788
+ })(Status || (Status = {}));
1789
+ CompressError = class extends Error {
1790
+ /** Underlying C status code. Stable across versions; see compress_utils.h. */
1791
+ code;
1792
+ algorithm;
1793
+ constructor(code, algorithm, message) {
1794
+ super(message);
1795
+ this.name = "CompressError";
1796
+ this.code = code;
1797
+ this.algorithm = algorithm;
1798
+ }
1799
+ };
1800
+ }
1801
+ });
1802
+
1803
+ // ../../node_modules/compress-utils/dist/core/loader.js
1804
+ function wasiImports(getMemory) {
1805
+ return {
1806
+ // proc_exit: codec code paths shouldn't call this, but if libc
1807
+ // startup hits an unrecoverable error it does. Throw so callers
1808
+ // see a real stack instead of a silent exit.
1809
+ proc_exit(code) {
1810
+ throw new Error(`wasm proc_exit(${code})`);
1811
+ },
1812
+ // fd_write: silently swallow. zstd/etc don't log; if they did,
1813
+ // we'd want to wire this to console.warn — but that needs us to
1814
+ // read iovs out of linear memory, which the caller doesn't have
1815
+ // a handle to at import-resolution time.
1816
+ fd_write() {
1817
+ return ERRNO_NOSYS;
1818
+ },
1819
+ fd_close() {
1820
+ return ERRNO_NOSYS;
1821
+ },
1822
+ fd_seek() {
1823
+ return ERRNO_NOSYS;
1824
+ },
1825
+ fd_read() {
1826
+ return ERRNO_NOSYS;
1827
+ },
1828
+ fd_fdstat_get() {
1829
+ return ERRNO_NOSYS;
1830
+ },
1831
+ fd_fdstat_set_flags() {
1832
+ return ERRNO_NOSYS;
1833
+ },
1834
+ // EBADF terminates the wasi-libc preopen scan cleanly. ENOSYS
1835
+ // makes the libc init path think the syscall is implemented but
1836
+ // failed unexpectedly, and on some libc builds aborts.
1837
+ fd_prestat_get() {
1838
+ return ERRNO_BADF;
1839
+ },
1840
+ fd_prestat_dir_name() {
1841
+ return ERRNO_BADF;
1842
+ },
1843
+ fd_filestat_get() {
1844
+ return ERRNO_NOSYS;
1845
+ },
1846
+ path_open() {
1847
+ return ERRNO_NOSYS;
1848
+ },
1849
+ poll_oneoff() {
1850
+ return ERRNO_NOSYS;
1851
+ },
1852
+ sched_yield() {
1853
+ return 0;
1854
+ },
1855
+ environ_sizes_get() {
1856
+ return 0;
1857
+ },
1858
+ environ_get() {
1859
+ return 0;
1860
+ },
1861
+ clock_time_get() {
1862
+ return ERRNO_NOSYS;
1863
+ },
1864
+ // random_get: fill `len` bytes at `buf` with CSPRNG output.
1865
+ // Fails loud (ERRNO_IO) if no crypto is available — the previous
1866
+ // silent zero-fill was a correctness footgun for any future codec
1867
+ // that actually seeds from entropy.
1868
+ random_get(buf, len) {
1869
+ if (!webCrypto)
1870
+ return ERRNO_IO;
1871
+ const memory = getMemory();
1872
+ for (let off = 0; off < len; off += CRYPTO_MAX_CHUNK) {
1873
+ const chunk = Math.min(CRYPTO_MAX_CHUNK, len - off);
1874
+ webCrypto.getRandomValues(new Uint8Array(memory.buffer, buf + off, chunk));
1875
+ }
1876
+ return 0;
1877
+ }
1878
+ };
1879
+ }
1880
+ async function loadModule(source) {
1881
+ let instance8;
1882
+ const imports = {
1883
+ wasi_snapshot_preview1: wasiImports(() => instance8.exports.memory)
1884
+ };
1885
+ if (source instanceof ArrayBuffer || ArrayBuffer.isView(source)) {
1886
+ const { instance: inst } = await WebAssembly.instantiate(source, imports);
1887
+ instance8 = inst;
1888
+ } else {
1889
+ const { instance: inst } = await WebAssembly.instantiateStreaming(source, imports);
1890
+ instance8 = inst;
1891
+ }
1892
+ const exports = instance8.exports;
1893
+ exports._initialize?.();
1894
+ return exports;
1895
+ }
1896
+ function decodeCString(memory, ptr, maxLen = 4096) {
1897
+ if (ptr === 0)
1898
+ return "";
1899
+ const view = new Uint8Array(memory.buffer, ptr);
1900
+ let end = 0;
1901
+ while (end < maxLen && view[end] !== 0)
1902
+ end++;
1903
+ return new TextDecoder("utf-8").decode(view.subarray(0, end));
1904
+ }
1905
+ function checkStatus(exports, status, algorithm) {
1906
+ if (status === Status.Ok)
1907
+ return;
1908
+ const lastErrPtr = exports.cu_last_error();
1909
+ let msg = decodeCString(exports.memory, lastErrPtr);
1910
+ if (!msg)
1911
+ msg = decodeCString(exports.memory, exports.cu_strerror(status));
1912
+ throw new CompressError(status, algorithm, msg || `status ${status}`);
1913
+ }
1914
+ var ERRNO_BADF, ERRNO_IO, ERRNO_NOSYS, CRYPTO_MAX_CHUNK, webCrypto;
1915
+ var init_loader = __esm({
1916
+ "../../node_modules/compress-utils/dist/core/loader.js"() {
1917
+ init_types();
1918
+ ERRNO_BADF = 8;
1919
+ ERRNO_IO = 29;
1920
+ ERRNO_NOSYS = 52;
1921
+ CRYPTO_MAX_CHUNK = 65536;
1922
+ webCrypto = typeof globalThis.crypto !== "undefined" && typeof globalThis.crypto.getRandomValues === "function" ? globalThis.crypto : null;
1923
+ }
1924
+ });
1925
+
1926
+ // ../../node_modules/compress-utils/dist/core/dispatch.js
1927
+ function drain(dispatcher, input2, call) {
1928
+ const arena = dispatcher.newArena();
1929
+ const chunks = [];
1930
+ let total = 0;
1931
+ try {
1932
+ const inLen = input2?.byteLength ?? 0;
1933
+ const inPtr0 = inLen > 0 ? arena.alloc(inLen, dispatcher.algorithmName) : 0;
1934
+ if (inPtr0 !== 0 && input2)
1935
+ dispatcher.writeBytes(inPtr0, input2);
1936
+ const outPtr = arena.alloc(STREAM_DRAIN_CHUNK, dispatcher.algorithmName);
1937
+ const outLenPtr = arena.alloc(4, dispatcher.algorithmName);
1938
+ let inPtr = inPtr0;
1939
+ let remainingIn = inLen;
1940
+ for (let i = 0; ; i++) {
1941
+ if (i >= DRAIN_MAX_ITERATIONS) {
1942
+ throw new CompressError(Status.StreamState, dispatcher.algorithmName, `drain exceeded ${DRAIN_MAX_ITERATIONS} iterations without completion`);
1943
+ }
1944
+ dispatcher.writeU32(outLenPtr, STREAM_DRAIN_CHUNK);
1945
+ const status = call(inPtr, remainingIn, outPtr, outLenPtr);
1946
+ const produced = dispatcher.readU32(outLenPtr);
1947
+ if (produced > 0) {
1948
+ chunks.push(dispatcher.readBytes(outPtr, produced));
1949
+ total += produced;
1950
+ }
1951
+ if (status === Status.Ok)
1952
+ break;
1953
+ if (status !== Status.BufTooSmall) {
1954
+ checkStatus(dispatcher.exports, status, dispatcher.algorithmName);
1955
+ }
1956
+ inPtr = 0;
1957
+ remainingIn = 0;
1958
+ }
1959
+ } finally {
1960
+ arena.freeAll();
1961
+ }
1962
+ if (chunks.length === 1)
1963
+ return chunks[0];
1964
+ const merged = new Uint8Array(total);
1965
+ let off = 0;
1966
+ for (const c of chunks) {
1967
+ merged.set(c, off);
1968
+ off += c.byteLength;
1969
+ }
1970
+ return merged;
1971
+ }
1972
+ function loadSharedModule(wasmUrl, resolveWasm2) {
1973
+ let modules = wasmModulePromises.get(resolveWasm2);
1974
+ if (!modules) {
1975
+ modules = /* @__PURE__ */ new Map();
1976
+ wasmModulePromises.set(resolveWasm2, modules);
1977
+ }
1978
+ const cached2 = modules.get(wasmUrl.href);
1979
+ if (cached2)
1980
+ return cached2;
1981
+ const currentModules = modules;
1982
+ const pending = (async () => loadModule(await resolveWasm2(wasmUrl)))().catch((error62) => {
1983
+ currentModules.delete(wasmUrl.href);
1984
+ throw error62;
1985
+ });
1986
+ modules.set(wasmUrl.href, pending);
1987
+ return pending;
1988
+ }
1989
+ function createBindings(algorithm, name, wasmUrl, resolveWasm2) {
1990
+ let dispatcherPromise = null;
1991
+ let dispatcher = null;
1992
+ const getDispatcher = () => {
1993
+ if (!dispatcherPromise) {
1994
+ dispatcherPromise = (async () => {
1995
+ const exports = await loadSharedModule(wasmUrl, resolveWasm2);
1996
+ dispatcher = new Dispatcher(exports, algorithm, name);
1997
+ return dispatcher;
1998
+ })().catch((error62) => {
1999
+ dispatcherPromise = null;
2000
+ throw error62;
2001
+ });
2002
+ }
2003
+ return dispatcherPromise;
2004
+ };
2005
+ const getInitializedDispatcher = () => {
2006
+ if (!dispatcher) {
2007
+ throw new Error(`${name}: call and await preload() before using synchronous methods`);
2008
+ }
2009
+ return dispatcher;
2010
+ };
2011
+ return {
2012
+ async preload() {
2013
+ await getDispatcher();
2014
+ },
2015
+ compressSync(input2, opts) {
2016
+ return getInitializedDispatcher().compress(input2, opts);
2017
+ },
2018
+ decompressSync(input2, opts) {
2019
+ return getInitializedDispatcher().decompress(input2, opts);
2020
+ },
2021
+ createCompressStreamSync(opts) {
2022
+ return getInitializedDispatcher().createCompressStream(opts);
2023
+ },
2024
+ createDecompressStreamSync() {
2025
+ return getInitializedDispatcher().createDecompressStream();
2026
+ },
2027
+ async compress(input2, opts) {
2028
+ return (await getDispatcher()).compress(input2, opts);
2029
+ },
2030
+ async decompress(input2, opts) {
2031
+ return (await getDispatcher()).decompress(input2, opts);
2032
+ },
2033
+ async createCompressStream(opts) {
2034
+ return (await getDispatcher()).createCompressStream(opts);
2035
+ },
2036
+ async createDecompressStream() {
2037
+ return (await getDispatcher()).createDecompressStream();
2038
+ },
2039
+ compressionStream(opts) {
2040
+ let stream;
2041
+ return new TransformStream({
2042
+ async start() {
2043
+ stream = (await getDispatcher()).createCompressStream(opts);
2044
+ },
2045
+ transform(chunk, controller) {
2046
+ let out = stream.write(chunk);
2047
+ if (opts?.flushEachChunk) {
2048
+ const flushed = stream.flush();
2049
+ const joined = new Uint8Array(out.byteLength + flushed.byteLength);
2050
+ joined.set(out, 0);
2051
+ joined.set(flushed, out.byteLength);
2052
+ out = joined;
2053
+ }
2054
+ if (out.byteLength > 0)
2055
+ controller.enqueue(out);
2056
+ },
2057
+ flush(controller) {
2058
+ try {
2059
+ const tail = stream.finish();
2060
+ if (tail.byteLength > 0)
2061
+ controller.enqueue(tail);
2062
+ } finally {
2063
+ stream.destroy();
1996
2064
  }
1997
- if (!c) err(2);
1998
- if (sym < 256) buf[bt++] = sym;
1999
- else if (sym == 256) {
2000
- lpos = pos, lm = void 0;
2001
- break;
2002
- } else {
2003
- let add = sym - 254;
2004
- if (sym > 264) {
2005
- const i = sym - 257, b = fleb[i];
2006
- add = bits(dat, pos, (1 << b) - 1) + fl[i];
2007
- pos += b;
2008
- }
2009
- const d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;
2010
- if (!d) err(3);
2011
- pos += d & 15;
2012
- let dt = fd[dsym];
2013
- if (dsym > 3) {
2014
- const b = fdeb[dsym];
2015
- dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
2016
- }
2017
- if (pos > tbts) {
2018
- if (noSt) err(0);
2019
- break;
2020
- }
2021
- if (noBuf) cbuf(bt + 131072);
2022
- const end = bt + add;
2023
- for (; bt < end; bt += 4) {
2024
- buf[bt] = buf[bt - dt];
2025
- buf[bt + 1] = buf[bt + 1 - dt];
2026
- buf[bt + 2] = buf[bt + 2 - dt];
2027
- buf[bt + 3] = buf[bt + 3 - dt];
2028
- }
2029
- bt = end;
2065
+ }
2066
+ });
2067
+ },
2068
+ decompressionStream() {
2069
+ let stream;
2070
+ return new TransformStream({
2071
+ async start() {
2072
+ stream = (await getDispatcher()).createDecompressStream();
2073
+ },
2074
+ transform(chunk, controller) {
2075
+ const out = stream.write(chunk);
2076
+ if (out.byteLength > 0)
2077
+ controller.enqueue(out);
2078
+ },
2079
+ flush(controller) {
2080
+ try {
2081
+ const tail = stream.finish();
2082
+ if (tail.byteLength > 0)
2083
+ controller.enqueue(tail);
2084
+ } finally {
2085
+ stream.destroy();
2030
2086
  }
2031
2087
  }
2032
- st.l = lm, st.p = lpos, st.b = bt, st.f = final;
2033
- if (lm) final = 1, st.m = lbt, st.d = dm, st.n = dbt;
2034
- } while (!final);
2035
- return bt == buf.length ? buf : slc(buf, 0, bt);
2036
- };
2037
- gzs = (d) => {
2038
- if (d[0] != 31 || d[1] != 139 || d[2] != 8) err(6, "invalid gzip data");
2039
- const flg = d[3];
2040
- let st = 10;
2041
- if (flg & 4) st += d[10] | (d[11] << 8) + 2;
2042
- for (let zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++]) ;
2043
- return st + (flg & 2);
2044
- };
2045
- gzl = (d) => {
2046
- const l = d.length;
2047
- return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;
2048
- };
2049
- zlv = (d) => {
2050
- if ((d[0] & 15) != 8 || d[0] >>> 4 > 7 || (d[0] << 8 | d[1]) % 31) err(6, "invalid zlib data");
2051
- if (d[1] & 32) err(6, "invalid zlib data: preset dictionaries not supported");
2052
- };
2053
- Inflate = class {
2054
- /**
2055
- * Creates an inflation stream
2056
- * @param cb The callback to call whenever data is inflated
2057
- */
2058
- constructor(cb) {
2059
- this.ondata = cb;
2060
- }
2061
- /** Persistent bit-reader and Huffman decoding state. */
2062
- s = {};
2063
- /** Compression options or retained output window for this stream. */
2064
- o;
2065
- /** Compressed bytes pending decoding. */
2066
- p = new u8(0);
2067
- /** Whether the stream has received its final chunk. */
2068
- d;
2069
- /**
2070
- * The handler to call whenever data is available
2071
- */
2072
- ondata;
2073
- /** Appends pending input after checking stream lifecycle. */
2074
- e(c) {
2075
- if (!this.ondata) err(5);
2076
- if (this.d) err(4);
2077
- const l = this.p.length;
2078
- const n = new u8(l + c.length);
2079
- n.set(this.p), n.set(c, l), this.p = n;
2080
- }
2081
- /** Decodes pending input and retains the sliding window. */
2082
- c(final) {
2083
- this.d = this.s.i = final || false;
2084
- const bts = this.s.b;
2085
- const dt = inflt(this.p, this.o, this.s);
2086
- this.ondata(slc(dt, bts, this.s.b), this.d);
2087
- this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;
2088
- this.p = slc(this.p, this.s.p / 8 | 0), this.s.p &= 7;
2088
+ });
2089
+ },
2090
+ async version() {
2091
+ return (await getDispatcher()).version();
2092
+ },
2093
+ async setMaxDecompressedSize(bytes) {
2094
+ (await getDispatcher()).setMaxDecompressedSize(bytes);
2095
+ }
2096
+ };
2097
+ }
2098
+ var DEFAULT_LEVEL, STREAM_DRAIN_CHUNK, DRAIN_MAX_ITERATIONS, Arena, Dispatcher, streamFinalizer, StreamBase, CompressStream, DecompressStream, wasmModulePromises;
2099
+ var init_dispatch = __esm({
2100
+ "../../node_modules/compress-utils/dist/core/dispatch.js"() {
2101
+ init_loader();
2102
+ init_types();
2103
+ DEFAULT_LEVEL = 5;
2104
+ STREAM_DRAIN_CHUNK = 64 * 1024;
2105
+ DRAIN_MAX_ITERATIONS = 1 << 16;
2106
+ Arena = class {
2107
+ exports;
2108
+ ptrs = [];
2109
+ constructor(exports) {
2110
+ this.exports = exports;
2111
+ }
2112
+ alloc(bytes, algoName) {
2113
+ if (bytes === 0)
2114
+ bytes = 1;
2115
+ const ptr = this.exports.cu_alloc(bytes);
2116
+ if (ptr === 0) {
2117
+ throw new CompressError(Status.Oom, algoName, `cu_alloc(${bytes}) returned NULL`);
2118
+ }
2119
+ this.ptrs.push(ptr);
2120
+ return ptr;
2121
+ }
2122
+ freeAll() {
2123
+ for (const p of this.ptrs)
2124
+ this.exports.cu_free(p);
2125
+ this.ptrs.length = 0;
2126
+ }
2127
+ };
2128
+ Dispatcher = class {
2129
+ algorithm;
2130
+ algorithmName;
2131
+ /** @internal */
2132
+ exports;
2133
+ constructor(exports, algorithm, algorithmName) {
2134
+ this.exports = exports;
2135
+ this.algorithm = algorithm;
2136
+ this.algorithmName = algorithmName;
2137
+ if (exports.cu_algorithm_available(algorithm) === 0) {
2138
+ throw new CompressError(Status.UnsupportedAlgo, algorithmName, `algorithm "${algorithmName}" not compiled into this .wasm module`);
2139
+ }
2089
2140
  }
2090
- /**
2091
- * Pushes a chunk to be inflated
2092
- * @param chunk The chunk to push
2093
- * @param final Whether this is the final chunk
2094
- */
2095
- push(chunk, final) {
2096
- this.e(chunk), this.c(final);
2141
+ version() {
2142
+ return decodeCString(this.exports.memory, this.exports.cu_version());
2143
+ }
2144
+ setMaxDecompressedSize(bytes) {
2145
+ this.exports.cu_set_max_decompressed_size?.(bytes);
2146
+ }
2147
+ /* ---------- one-shot ---------- */
2148
+ compress(input2, opts = {}) {
2149
+ const level = opts.level ?? DEFAULT_LEVEL;
2150
+ const inLen = input2.byteLength;
2151
+ const bound = this.exports.cu_compress_bound(inLen, this.algorithm);
2152
+ const arena = new Arena(this.exports);
2153
+ try {
2154
+ const inPtr = arena.alloc(inLen, this.algorithmName);
2155
+ const outPtr = arena.alloc(bound, this.algorithmName);
2156
+ const outLenPtr = arena.alloc(4, this.algorithmName);
2157
+ this.writeBytes(inPtr, input2);
2158
+ this.writeU32(outLenPtr, bound);
2159
+ const status = this.exports.cu_compress(this.algorithm, inPtr, inLen, outPtr, outLenPtr, level);
2160
+ checkStatus(this.exports, status, this.algorithmName);
2161
+ return this.readBytes(outPtr, this.readU32(outLenPtr));
2162
+ } finally {
2163
+ arena.freeAll();
2164
+ }
2165
+ }
2166
+ decompress(input2, opts = {}) {
2167
+ const inLen = input2.byteLength;
2168
+ const arena = new Arena(this.exports);
2169
+ try {
2170
+ const inPtr = arena.alloc(inLen, this.algorithmName);
2171
+ this.writeBytes(inPtr, input2);
2172
+ const outSize = opts.expectedSize ?? this.tryProbeSize(arena, inPtr, inLen);
2173
+ if (outSize === void 0) {
2174
+ return this.decompressStreaming(input2);
2175
+ }
2176
+ const outPtr = arena.alloc(outSize, this.algorithmName);
2177
+ const outLenPtr = arena.alloc(4, this.algorithmName);
2178
+ this.writeU32(outLenPtr, outSize);
2179
+ const status = this.exports.cu_decompress(this.algorithm, inPtr, inLen, outPtr, outLenPtr);
2180
+ checkStatus(this.exports, status, this.algorithmName);
2181
+ return this.readBytes(outPtr, this.readU32(outLenPtr));
2182
+ } finally {
2183
+ arena.freeAll();
2184
+ }
2185
+ }
2186
+ decompressStreaming(input2) {
2187
+ const stream = this.createDecompressStream();
2188
+ try {
2189
+ const body = stream.write(input2);
2190
+ const tail = stream.finish();
2191
+ if (tail.byteLength === 0)
2192
+ return body;
2193
+ const out = new Uint8Array(body.byteLength + tail.byteLength);
2194
+ out.set(body, 0);
2195
+ out.set(tail, body.byteLength);
2196
+ return out;
2197
+ } finally {
2198
+ stream.destroy();
2199
+ }
2200
+ }
2201
+ tryProbeSize(arena, inPtr, inLen) {
2202
+ const sizePtr = arena.alloc(4, this.algorithmName);
2203
+ this.writeU32(sizePtr, 0);
2204
+ const status = this.exports.cu_decompress_size_hint(this.algorithm, inPtr, inLen, sizePtr);
2205
+ if (status === Status.Ok)
2206
+ return this.readU32(sizePtr);
2207
+ if (status === Status.SizeUnknown)
2208
+ return void 0;
2209
+ checkStatus(this.exports, status, this.algorithmName);
2210
+ return void 0;
2211
+ }
2212
+ /* ---------- streaming ---------- */
2213
+ createCompressStream(opts = {}) {
2214
+ const level = opts.level ?? DEFAULT_LEVEL;
2215
+ const arena = new Arena(this.exports);
2216
+ try {
2217
+ const streamPP = arena.alloc(4, this.algorithmName);
2218
+ this.writeU32(streamPP, 0);
2219
+ const status = this.exports.cu_compress_stream_create(this.algorithm, level, streamPP);
2220
+ checkStatus(this.exports, status, this.algorithmName);
2221
+ return new CompressStream(this, this.readU32(streamPP));
2222
+ } finally {
2223
+ arena.freeAll();
2224
+ }
2225
+ }
2226
+ createDecompressStream() {
2227
+ const arena = new Arena(this.exports);
2228
+ try {
2229
+ const streamPP = arena.alloc(4, this.algorithmName);
2230
+ this.writeU32(streamPP, 0);
2231
+ const status = this.exports.cu_decompress_stream_create(this.algorithm, streamPP);
2232
+ checkStatus(this.exports, status, this.algorithmName);
2233
+ return new DecompressStream(this, this.readU32(streamPP));
2234
+ } finally {
2235
+ arena.freeAll();
2236
+ }
2237
+ }
2238
+ /* ---------- internal helpers (used by stream classes) ---------- */
2239
+ /** @internal */
2240
+ writeBytes(ptr, src) {
2241
+ new Uint8Array(this.exports.memory.buffer, ptr, src.byteLength).set(src);
2242
+ }
2243
+ /** @internal */
2244
+ readBytes(ptr, len) {
2245
+ return new Uint8Array(new Uint8Array(this.exports.memory.buffer, ptr, len));
2246
+ }
2247
+ /** @internal */
2248
+ writeU32(ptr, value) {
2249
+ new DataView(this.exports.memory.buffer).setUint32(ptr, value, true);
2250
+ }
2251
+ /** @internal */
2252
+ readU32(ptr) {
2253
+ return new DataView(this.exports.memory.buffer).getUint32(ptr, true);
2254
+ }
2255
+ /** @internal */
2256
+ newArena() {
2257
+ return new Arena(this.exports);
2097
2258
  }
2098
2259
  };
2099
- Gunzip = class extends Inflate {
2100
- /** Whether the stream header still needs to be emitted or consumed. */
2101
- v = 1;
2102
- /**
2103
- * Creates a GUNZIP stream
2104
- * @param cb The callback to call whenever data is inflated
2105
- */
2106
- constructor(cb) {
2107
- super(cb);
2260
+ streamFinalizer = new FinalizationRegistry((c) => {
2261
+ if (c.handle !== 0)
2262
+ c.destroy(c.handle);
2263
+ });
2264
+ StreamBase = class {
2265
+ dispatcher;
2266
+ handle;
2267
+ finished = false;
2268
+ cleanup;
2269
+ constructor(dispatcher, handle, destroyFn) {
2270
+ this.dispatcher = dispatcher;
2271
+ this.handle = handle;
2272
+ this.cleanup = { destroy: destroyFn, handle };
2273
+ streamFinalizer.register(this, this.cleanup, this);
2108
2274
  }
2109
- /**
2110
- * Pushes a chunk to be GUNZIPped
2111
- * @param chunk The chunk to push
2112
- * @param final Whether this is the last chunk
2113
- */
2114
- push(chunk, final) {
2115
- Inflate.prototype.e.call(this, chunk);
2116
- if (this.v) {
2117
- const s = this.p.length > 3 ? gzs(this.p) : 4;
2118
- if (s >= this.p.length && !final) return;
2119
- this.p = this.p.subarray(s), this.v = 0;
2275
+ ensureLive() {
2276
+ if (this.handle === 0) {
2277
+ throw new CompressError(Status.StreamState, this.dispatcher.algorithmName, "stream has been destroyed");
2120
2278
  }
2121
- if (final) {
2122
- if (this.p.length < 8) err(6, "invalid gzip data");
2123
- this.p = this.p.subarray(0, -8);
2279
+ }
2280
+ destroy() {
2281
+ if (this.handle !== 0) {
2282
+ this.cleanup.destroy(this.handle);
2283
+ this.handle = 0;
2284
+ this.cleanup.handle = 0;
2285
+ streamFinalizer.unregister(this);
2124
2286
  }
2125
- Inflate.prototype.c.call(this, final);
2287
+ }
2288
+ /** Symbol.dispose — enables `using stream = await create*()`. */
2289
+ [Symbol.dispose]() {
2290
+ this.destroy();
2126
2291
  }
2127
2292
  };
2128
- Unzlib = class extends Inflate {
2129
- /** Whether the stream header still needs to be emitted or consumed. */
2130
- v = 1;
2131
- /**
2132
- * Creates a Zlib decompression stream
2133
- * @param cb The callback to call whenever data is inflated
2134
- */
2135
- constructor(cb) {
2136
- super(cb);
2293
+ CompressStream = class extends StreamBase {
2294
+ constructor(dispatcher, handle) {
2295
+ super(dispatcher, handle, (h) => dispatcher.exports.cu_compress_stream_destroy(h));
2296
+ }
2297
+ write(chunk) {
2298
+ this.ensureLive();
2299
+ if (this.finished) {
2300
+ throw new CompressError(Status.StreamFinished, this.dispatcher.algorithmName, "write after finish");
2301
+ }
2302
+ return drain(this.dispatcher, chunk, (inPtr, inLen, outPtr, outLenPtr) => this.dispatcher.exports.cu_compress_stream_write(this.handle, inPtr, inLen, outPtr, outLenPtr));
2137
2303
  }
2138
2304
  /**
2139
- * Pushes a chunk to be unzlibbed
2140
- * @param chunk The chunk to push
2141
- * @param final Whether this is the last chunk
2305
+ * Nonterminal flush: returns the bytes a decoder needs to recover
2306
+ * everything written so far, and keeps the stream open for more writes.
2307
+ * Each flush costs a few bytes. Throws CompressError for snappy and bz2,
2308
+ * which can't flush mid-stream.
2142
2309
  */
2143
- push(chunk, final) {
2144
- Inflate.prototype.e.call(this, chunk);
2145
- if (this.v) {
2146
- if (this.p.length < 2 && !final) return;
2147
- this.p = this.p.subarray(2), this.v = 0;
2148
- }
2149
- if (final) {
2150
- if (this.p.length < 4) err(6, "invalid zlib data");
2151
- this.p = this.p.subarray(0, -4);
2310
+ flush() {
2311
+ this.ensureLive();
2312
+ if (this.finished) {
2313
+ throw new CompressError(Status.StreamFinished, this.dispatcher.algorithmName, "flush after finish");
2152
2314
  }
2153
- Inflate.prototype.c.call(this, final);
2315
+ return drain(this.dispatcher, null, (_in, _len, outPtr, outLenPtr) => this.dispatcher.exports.cu_compress_stream_flush(this.handle, outPtr, outLenPtr));
2316
+ }
2317
+ finish() {
2318
+ this.ensureLive();
2319
+ this.finished = true;
2320
+ return drain(this.dispatcher, null, (_in, _len, outPtr, outLenPtr) => this.dispatcher.exports.cu_compress_stream_finish(this.handle, outPtr, outLenPtr));
2154
2321
  }
2155
2322
  };
2323
+ DecompressStream = class extends StreamBase {
2324
+ constructor(dispatcher, handle) {
2325
+ super(dispatcher, handle, (h) => dispatcher.exports.cu_decompress_stream_destroy(h));
2326
+ }
2327
+ write(chunk) {
2328
+ this.ensureLive();
2329
+ return drain(this.dispatcher, chunk, (inPtr, inLen, outPtr, outLenPtr) => this.dispatcher.exports.cu_decompress_stream_write(this.handle, inPtr, inLen, outPtr, outLenPtr));
2330
+ }
2331
+ finish() {
2332
+ this.ensureLive();
2333
+ this.finished = true;
2334
+ return drain(this.dispatcher, null, (_in, _len, outPtr, outLenPtr) => this.dispatcher.exports.cu_decompress_stream_finish(this.handle, outPtr, outLenPtr));
2335
+ }
2336
+ };
2337
+ wasmModulePromises = /* @__PURE__ */ new WeakMap();
2156
2338
  }
2157
2339
  });
2158
2340
 
2159
- // ../compression/src/lib/fflate-stream.ts
2160
- async function* transformFflateBatches(processor, inputBatches) {
2161
- const chunks = [];
2162
- processor.ondata = (data) => {
2163
- chunks.push(data.slice().buffer);
2164
- };
2165
- for await (const batch of inputBatches) {
2166
- processor.push(new Uint8Array(batch), false);
2167
- yield* chunks.splice(0);
2168
- }
2169
- processor.push(new Uint8Array(0), true);
2170
- yield* chunks;
2341
+ // ../../node_modules/compress-utils/dist/core/algorithm.js
2342
+ function defineAlgorithm(algorithm, name, wasmUrl) {
2343
+ return createBindings(algorithm, name, wasmUrl, resolveWasm);
2171
2344
  }
2172
- var init_fflate_stream = __esm({
2173
- "../compression/src/lib/fflate-stream.ts"() {
2174
- "use strict";
2345
+ var init_algorithm = __esm({
2346
+ "../../node_modules/compress-utils/dist/core/algorithm.js"() {
2347
+ init_resolver();
2348
+ init_dispatch();
2349
+ }
2350
+ });
2351
+
2352
+ // ../../node_modules/compress-utils/dist/algorithms/gzip/decompress/index.js
2353
+ var decompress_exports = {};
2354
+ __export(decompress_exports, {
2355
+ CompressError: () => CompressError,
2356
+ createDecompressStream: () => createDecompressStream,
2357
+ createDecompressStreamSync: () => createDecompressStreamSync,
2358
+ decompress: () => decompress,
2359
+ decompressSync: () => decompressSync,
2360
+ decompressionStream: () => decompressionStream,
2361
+ preload: () => preload,
2362
+ setMaxDecompressedSize: () => setMaxDecompressedSize,
2363
+ version: () => version2
2364
+ });
2365
+ var bindings, decompress, decompressSync, createDecompressStream, createDecompressStreamSync, decompressionStream, preload, version2, setMaxDecompressedSize;
2366
+ var init_decompress = __esm({
2367
+ "../../node_modules/compress-utils/dist/algorithms/gzip/decompress/index.js"() {
2368
+ init_gzip();
2369
+ init_algorithm();
2370
+ init_types();
2371
+ init_types();
2372
+ bindings = /* @__PURE__ */ defineAlgorithm(Algorithm.Gzip, "gzip", new URL(gzip_default));
2373
+ decompress = bindings.decompress;
2374
+ decompressSync = bindings.decompressSync;
2375
+ createDecompressStream = bindings.createDecompressStream;
2376
+ createDecompressStreamSync = bindings.createDecompressStreamSync;
2377
+ decompressionStream = bindings.decompressionStream;
2378
+ preload = bindings.preload;
2379
+ version2 = bindings.version;
2380
+ setMaxDecompressedSize = bindings.setMaxDecompressedSize;
2175
2381
  }
2176
2382
  });
2177
2383
 
2178
- // ../compression/src/gzip-decompressor-fflate.ts
2179
- var GZipFflateDecompressor;
2180
- var init_gzip_decompressor_fflate = __esm({
2181
- "../compression/src/gzip-decompressor-fflate.ts"() {
2384
+ // ../compression/src/gzip-decompressor-compress-utils.ts
2385
+ var GZipCompressUtilsDecompressor;
2386
+ var init_gzip_decompressor_compress_utils = __esm({
2387
+ "../compression/src/gzip-decompressor-compress-utils.ts"() {
2182
2388
  "use strict";
2183
- init_fflate();
2184
- init_compression();
2185
- init_fflate_stream();
2186
- GZipFflateDecompressor = class extends Decompressor {
2187
- name = "gzip";
2188
- extensions = ["gz", "gzip"];
2189
- contentEncodings = ["gzip", "x-gzip"];
2190
- isSupported = true;
2389
+ init_compress_utils_compression();
2390
+ GZipCompressUtilsDecompressor = class extends CompressUtilsDecompressor {
2191
2391
  constructor(options = {}) {
2192
- super(options);
2193
- }
2194
- /** Decompresses one GZIP payload synchronously. */
2195
- decompressSync(input2) {
2196
- return gunzipSync(new Uint8Array(input2)).slice().buffer;
2197
- }
2198
- /** Decompresses GZIP batches incrementally. */
2199
- async *decompressBatches(inputBatches) {
2200
- yield* transformFflateBatches(new Gunzip(), inputBatches);
2392
+ super(
2393
+ { name: "gzip", extensions: ["gz", "gzip"], contentEncodings: ["gzip", "x-gzip"] },
2394
+ () => Promise.resolve().then(() => (init_decompress(), decompress_exports)),
2395
+ options
2396
+ );
2201
2397
  }
2202
2398
  };
2203
2399
  }
@@ -2212,23 +2408,18 @@ var __exports__ = (() => {
2212
2408
  var init_gzip_decompressor = __esm({
2213
2409
  "../compression/src/gzip-decompressor.ts"() {
2214
2410
  "use strict";
2215
- init_gzip_decompressor_fflate();
2411
+ init_gzip_decompressor_compress_utils();
2216
2412
  init_decompression_stream();
2217
- GZipDecompressor = class extends GZipFflateDecompressor {
2218
- options;
2219
- constructor(options = {}) {
2220
- super(options);
2221
- this.options = options;
2222
- }
2223
- /** Decompresses with the built-in stream when available, then falls back to fflate. */
2224
- async decompress(input2) {
2413
+ GZipDecompressor = class extends GZipCompressUtilsDecompressor {
2414
+ /** Decompresses with native streams when available, otherwise lazily initializes WASM. */
2415
+ async decompress(input2, size) {
2225
2416
  if (this.options.useNative !== false) {
2226
2417
  const output2 = await decompressWithNativeDecompressionStream(input2, "gzip");
2227
2418
  if (output2) return output2;
2228
2419
  }
2229
- return this.decompressSync(input2);
2420
+ return super.decompress(input2, size);
2230
2421
  }
2231
- /** Decompresses batches with a built-in or fflate stream. */
2422
+ /** Streams native batches when available, otherwise uses the WASM stream. */
2232
2423
  async *decompressBatches(inputBatches) {
2233
2424
  if (this.options.useNative !== false) {
2234
2425
  const output2 = decompressBatchesWithNativeDecompressionStream(inputBatches, "gzip");
@@ -2243,749 +2434,59 @@ var __exports__ = (() => {
2243
2434
  }
2244
2435
  });
2245
2436
 
2246
- // ../../node_modules/fzstd/esm/index.mjs
2247
- function decompress(dat, buf) {
2248
- var bufs = [], nb = +!buf;
2249
- var bt = 0, ol = 0;
2250
- for (; dat.length; ) {
2251
- var st = rzfh(dat, nb || buf);
2252
- if (typeof st == "object") {
2253
- if (nb) {
2254
- buf = null;
2255
- if (st.w.length == st.u) {
2256
- bufs.push(buf = st.w);
2257
- ol += st.u;
2258
- }
2259
- } else {
2260
- bufs.push(buf);
2261
- st.e = 0;
2262
- }
2263
- for (; !st.l; ) {
2264
- var blk = rzb(dat, st, buf);
2265
- if (!blk)
2266
- err2(5);
2267
- if (buf)
2268
- st.e = st.y;
2269
- else {
2270
- bufs.push(blk);
2271
- ol += blk.length;
2272
- cpw(st.w, 0, blk.length);
2273
- st.w.set(blk, st.w.length - blk.length);
2274
- }
2275
- }
2276
- bt = st.b + st.c * 4;
2277
- } else
2278
- bt = st;
2279
- dat = dat.subarray(bt);
2280
- }
2281
- return cct(bufs, ol);
2282
- }
2283
- var ab, u82, u162, i16, i32, slc2, fill, cpw, ec2, err2, rb, b4, rzfh, msb, rfse, rhu, dllt, dmlt, doct, b2bl, llb, llbl, mlb, mlbl, dhu, dhu4, rzb, cct;
2284
- var init_esm = __esm({
2285
- "../../node_modules/fzstd/esm/index.mjs"() {
2286
- ab = ArrayBuffer;
2287
- u82 = Uint8Array;
2288
- u162 = Uint16Array;
2289
- i16 = Int16Array;
2290
- i32 = Int32Array;
2291
- slc2 = function(v, s, e) {
2292
- if (u82.prototype.slice)
2293
- return u82.prototype.slice.call(v, s, e);
2294
- if (s == null || s < 0)
2295
- s = 0;
2296
- if (e == null || e > v.length)
2297
- e = v.length;
2298
- var n = new u82(e - s);
2299
- n.set(v.subarray(s, e));
2300
- return n;
2301
- };
2302
- fill = function(v, n, s, e) {
2303
- if (u82.prototype.fill)
2304
- return u82.prototype.fill.call(v, n, s, e);
2305
- if (s == null || s < 0)
2306
- s = 0;
2307
- if (e == null || e > v.length)
2308
- e = v.length;
2309
- for (; s < e; ++s)
2310
- v[s] = n;
2311
- return v;
2312
- };
2313
- cpw = function(v, t, s, e) {
2314
- if (u82.prototype.copyWithin)
2315
- return u82.prototype.copyWithin.call(v, t, s, e);
2316
- if (s == null || s < 0)
2317
- s = 0;
2318
- if (e == null || e > v.length)
2319
- e = v.length;
2320
- while (s < e) {
2321
- v[t++] = v[s++];
2322
- }
2323
- };
2324
- ec2 = [
2325
- "invalid zstd data",
2326
- "window size too large (>2046MB)",
2327
- "invalid block type",
2328
- "FSE accuracy too high",
2329
- "match distance too far back",
2330
- "unexpected EOF"
2331
- ];
2332
- err2 = function(ind, msg, nt) {
2333
- var e = new Error(msg || ec2[ind]);
2334
- e.code = ind;
2335
- if (Error.captureStackTrace)
2336
- Error.captureStackTrace(e, err2);
2337
- if (!nt)
2338
- throw e;
2339
- return e;
2340
- };
2341
- rb = function(d, b, n) {
2342
- var i = 0, o = 0;
2343
- for (; i < n; ++i)
2344
- o |= d[b++] << (i << 3);
2345
- return o;
2346
- };
2347
- b4 = function(d, b) {
2348
- return (d[b] | d[b + 1] << 8 | d[b + 2] << 16 | d[b + 3] << 24) >>> 0;
2349
- };
2350
- rzfh = function(dat, w) {
2351
- var n3 = dat[0] | dat[1] << 8 | dat[2] << 16;
2352
- if (n3 == 3126568 && dat[3] == 253) {
2353
- var flg = dat[4];
2354
- var ss = flg >> 5 & 1, cc = flg >> 2 & 1, df = flg & 3, fcf = flg >> 6;
2355
- if (flg & 8)
2356
- err2(0);
2357
- var bt = 6 - ss;
2358
- var db = df == 3 ? 4 : df;
2359
- var di = rb(dat, bt, db);
2360
- bt += db;
2361
- var fsb = fcf ? 1 << fcf : ss;
2362
- var fss = rb(dat, bt, fsb) + (fcf == 1 && 256);
2363
- var ws = fss;
2364
- if (!ss) {
2365
- var wb = 1 << 10 + (dat[5] >> 3);
2366
- ws = wb + (wb >> 3) * (dat[5] & 7);
2367
- }
2368
- if (ws > 2145386496)
2369
- err2(1);
2370
- var buf = new u82((w == 1 ? fss || ws : w ? 0 : ws) + 12);
2371
- buf[0] = 1, buf[4] = 4, buf[8] = 8;
2372
- return {
2373
- b: bt + fsb,
2374
- y: 0,
2375
- l: 0,
2376
- d: di,
2377
- w: w && w != 1 ? w : buf.subarray(12),
2378
- e: ws,
2379
- o: new i32(buf.buffer, 0, 3),
2380
- u: fss,
2381
- c: cc,
2382
- m: Math.min(131072, ws)
2383
- };
2384
- } else if ((n3 >> 4 | dat[3] << 20) == 25481893) {
2385
- return b4(dat, 4) + 8;
2386
- }
2387
- err2(0);
2388
- };
2389
- msb = function(val) {
2390
- var bits2 = 0;
2391
- for (; 1 << bits2 <= val; ++bits2)
2392
- ;
2393
- return bits2 - 1;
2394
- };
2395
- rfse = function(dat, bt, mal) {
2396
- var tpos = (bt << 3) + 4;
2397
- var al = (dat[bt] & 15) + 5;
2398
- if (al > mal)
2399
- err2(3);
2400
- var sz = 1 << al;
2401
- var probs = sz, sym = -1, re = -1, i = -1, ht = sz;
2402
- var buf = new ab(512 + (sz << 2));
2403
- var freq = new i16(buf, 0, 256);
2404
- var dstate = new u162(buf, 0, 256);
2405
- var nstate = new u162(buf, 512, sz);
2406
- var bb1 = 512 + (sz << 1);
2407
- var syms = new u82(buf, bb1, sz);
2408
- var nbits = new u82(buf, bb1 + sz);
2409
- while (sym < 255 && probs > 0) {
2410
- var bits2 = msb(probs + 1);
2411
- var cbt = tpos >> 3;
2412
- var msk = (1 << bits2 + 1) - 1;
2413
- var val = (dat[cbt] | dat[cbt + 1] << 8 | dat[cbt + 2] << 16) >> (tpos & 7) & msk;
2414
- var msk1fb = (1 << bits2) - 1;
2415
- var msv = msk - probs - 1;
2416
- var sval = val & msk1fb;
2417
- if (sval < msv)
2418
- tpos += bits2, val = sval;
2419
- else {
2420
- tpos += bits2 + 1;
2421
- if (val > msk1fb)
2422
- val -= msv;
2423
- }
2424
- freq[++sym] = --val;
2425
- if (val == -1) {
2426
- probs += val;
2427
- syms[--ht] = sym;
2428
- } else
2429
- probs -= val;
2430
- if (!val) {
2431
- do {
2432
- var rbt = tpos >> 3;
2433
- re = (dat[rbt] | dat[rbt + 1] << 8) >> (tpos & 7) & 3;
2434
- tpos += 2;
2435
- sym += re;
2436
- } while (re == 3);
2437
- }
2438
- }
2439
- if (sym > 255 || probs)
2440
- err2(0);
2441
- var sympos = 0;
2442
- var sstep = (sz >> 1) + (sz >> 3) + 3;
2443
- var smask = sz - 1;
2444
- for (var s = 0; s <= sym; ++s) {
2445
- var sf = freq[s];
2446
- if (sf < 1) {
2447
- dstate[s] = -sf;
2448
- continue;
2449
- }
2450
- for (i = 0; i < sf; ++i) {
2451
- syms[sympos] = s;
2452
- do {
2453
- sympos = sympos + sstep & smask;
2454
- } while (sympos >= ht);
2455
- }
2456
- }
2457
- if (sympos)
2458
- err2(0);
2459
- for (i = 0; i < sz; ++i) {
2460
- var ns = dstate[syms[i]]++;
2461
- var nb = nbits[i] = al - msb(ns);
2462
- nstate[i] = (ns << nb) - sz;
2463
- }
2464
- return [tpos + 7 >> 3, {
2465
- b: al,
2466
- s: syms,
2467
- n: nbits,
2468
- t: nstate
2469
- }];
2470
- };
2471
- rhu = function(dat, bt) {
2472
- var i = 0, wc = -1;
2473
- var buf = new u82(292), hb = dat[bt];
2474
- var hw = buf.subarray(0, 256);
2475
- var rc = buf.subarray(256, 268);
2476
- var ri = new u162(buf.buffer, 268);
2477
- if (hb < 128) {
2478
- var _a7 = rfse(dat, bt + 1, 6), ebt = _a7[0], fdt2 = _a7[1];
2479
- bt += hb;
2480
- var epos = ebt << 3;
2481
- var lb = dat[bt];
2482
- if (!lb)
2483
- err2(0);
2484
- var st1 = 0, st2 = 0, btr1 = fdt2.b, btr2 = btr1;
2485
- var fpos = (++bt << 3) - 8 + msb(lb);
2486
- for (; ; ) {
2487
- fpos -= btr1;
2488
- if (fpos < epos)
2489
- break;
2490
- var cbt = fpos >> 3;
2491
- st1 += (dat[cbt] | dat[cbt + 1] << 8) >> (fpos & 7) & (1 << btr1) - 1;
2492
- hw[++wc] = fdt2.s[st1];
2493
- fpos -= btr2;
2494
- if (fpos < epos)
2495
- break;
2496
- cbt = fpos >> 3;
2497
- st2 += (dat[cbt] | dat[cbt + 1] << 8) >> (fpos & 7) & (1 << btr2) - 1;
2498
- hw[++wc] = fdt2.s[st2];
2499
- btr1 = fdt2.n[st1];
2500
- st1 = fdt2.t[st1];
2501
- btr2 = fdt2.n[st2];
2502
- st2 = fdt2.t[st2];
2503
- }
2504
- if (++wc > 255)
2505
- err2(0);
2506
- } else {
2507
- wc = hb - 127;
2508
- for (; i < wc; i += 2) {
2509
- var byte = dat[++bt];
2510
- hw[i] = byte >> 4;
2511
- hw[i + 1] = byte & 15;
2512
- }
2513
- ++bt;
2514
- }
2515
- var wes = 0;
2516
- for (i = 0; i < wc; ++i) {
2517
- var wt = hw[i];
2518
- if (wt > 11)
2519
- err2(0);
2520
- wes += wt && 1 << wt - 1;
2521
- }
2522
- var mb = msb(wes) + 1;
2523
- var ts = 1 << mb;
2524
- var rem = ts - wes;
2525
- if (rem & rem - 1)
2526
- err2(0);
2527
- hw[wc++] = msb(rem) + 1;
2528
- for (i = 0; i < wc; ++i) {
2529
- var wt = hw[i];
2530
- ++rc[hw[i] = wt && mb + 1 - wt];
2531
- }
2532
- var hbuf = new u82(ts << 1);
2533
- var syms = hbuf.subarray(0, ts), nb = hbuf.subarray(ts);
2534
- ri[mb] = 0;
2535
- for (i = mb; i > 0; --i) {
2536
- var pv = ri[i];
2537
- fill(nb, i, pv, ri[i - 1] = pv + rc[i] * (1 << mb - i));
2538
- }
2539
- if (ri[0] != ts)
2540
- err2(0);
2541
- for (i = 0; i < wc; ++i) {
2542
- var bits2 = hw[i];
2543
- if (bits2) {
2544
- var code = ri[bits2];
2545
- fill(syms, i, code, ri[bits2] = code + (1 << mb - bits2));
2546
- }
2547
- }
2548
- return [bt, {
2549
- n: nb,
2550
- b: mb,
2551
- s: syms
2552
- }];
2553
- };
2554
- dllt = rfse(/* @__PURE__ */ new u82([
2555
- 81,
2556
- 16,
2557
- 99,
2558
- 140,
2559
- 49,
2560
- 198,
2561
- 24,
2562
- 99,
2563
- 12,
2564
- 33,
2565
- 196,
2566
- 24,
2567
- 99,
2568
- 102,
2569
- 102,
2570
- 134,
2571
- 70,
2572
- 146,
2573
- 4
2574
- ]), 0, 6)[1];
2575
- dmlt = rfse(/* @__PURE__ */ new u82([
2576
- 33,
2577
- 20,
2578
- 196,
2579
- 24,
2580
- 99,
2581
- 140,
2582
- 33,
2583
- 132,
2584
- 16,
2585
- 66,
2586
- 8,
2587
- 33,
2588
- 132,
2589
- 16,
2590
- 66,
2591
- 8,
2592
- 33,
2593
- 68,
2594
- 68,
2595
- 68,
2596
- 68,
2597
- 68,
2598
- 68,
2599
- 68,
2600
- 68,
2601
- 36,
2602
- 9
2603
- ]), 0, 6)[1];
2604
- doct = rfse(/* @__PURE__ */ new u82([
2605
- 32,
2606
- 132,
2607
- 16,
2608
- 66,
2609
- 102,
2610
- 70,
2611
- 68,
2612
- 68,
2613
- 68,
2614
- 68,
2615
- 36,
2616
- 73,
2617
- 2
2618
- ]), 0, 5)[1];
2619
- b2bl = function(b, s) {
2620
- var len = b.length, bl = new i32(len);
2621
- for (var i = 0; i < len; ++i) {
2622
- bl[i] = s;
2623
- s += 1 << b[i];
2624
- }
2625
- return bl;
2626
- };
2627
- llb = /* @__PURE__ */ new u82((/* @__PURE__ */ new i32([
2628
- 0,
2629
- 0,
2630
- 0,
2631
- 0,
2632
- 16843009,
2633
- 50528770,
2634
- 134678020,
2635
- 202050057,
2636
- 269422093
2637
- ])).buffer, 0, 36);
2638
- llbl = /* @__PURE__ */ b2bl(llb, 0);
2639
- mlb = /* @__PURE__ */ new u82((/* @__PURE__ */ new i32([
2640
- 0,
2641
- 0,
2642
- 0,
2643
- 0,
2644
- 0,
2645
- 0,
2646
- 0,
2647
- 0,
2648
- 16843009,
2649
- 50528770,
2650
- 117769220,
2651
- 185207048,
2652
- 252579084,
2653
- 16
2654
- ])).buffer, 0, 53);
2655
- mlbl = /* @__PURE__ */ b2bl(mlb, 3);
2656
- dhu = function(dat, out, hu) {
2657
- var len = dat.length, ss = out.length, lb = dat[len - 1], msk = (1 << hu.b) - 1, eb = -hu.b;
2658
- if (!lb)
2659
- err2(0);
2660
- var st = 0, btr = hu.b, pos = (len << 3) - 8 + msb(lb) - btr, i = -1;
2661
- for (; pos > eb && i < ss; ) {
2662
- var cbt = pos >> 3;
2663
- var val = (dat[cbt] | dat[cbt + 1] << 8 | dat[cbt + 2] << 16) >> (pos & 7);
2664
- st = (st << btr | val) & msk;
2665
- out[++i] = hu.s[st];
2666
- pos -= btr = hu.n[st];
2667
- }
2668
- if (pos != eb || i + 1 != ss)
2669
- err2(0);
2670
- };
2671
- dhu4 = function(dat, out, hu) {
2672
- var bt = 6;
2673
- var ss = out.length, sz1 = ss + 3 >> 2, sz2 = sz1 << 1, sz3 = sz1 + sz2;
2674
- dhu(dat.subarray(bt, bt += dat[0] | dat[1] << 8), out.subarray(0, sz1), hu);
2675
- dhu(dat.subarray(bt, bt += dat[2] | dat[3] << 8), out.subarray(sz1, sz2), hu);
2676
- dhu(dat.subarray(bt, bt += dat[4] | dat[5] << 8), out.subarray(sz2, sz3), hu);
2677
- dhu(dat.subarray(bt), out.subarray(sz3), hu);
2678
- };
2679
- rzb = function(dat, st, out) {
2680
- var _a7;
2681
- var bt = st.b;
2682
- var b0 = dat[bt], btype = b0 >> 1 & 3;
2683
- st.l = b0 & 1;
2684
- var sz = b0 >> 3 | dat[bt + 1] << 5 | dat[bt + 2] << 13;
2685
- var ebt = (bt += 3) + sz;
2686
- if (btype == 1) {
2687
- if (bt >= dat.length)
2688
- return;
2689
- st.b = bt + 1;
2690
- if (out) {
2691
- fill(out, dat[bt], st.y, st.y += sz);
2692
- return out;
2693
- }
2694
- return fill(new u82(sz), dat[bt]);
2695
- }
2696
- if (ebt > dat.length)
2697
- return;
2698
- if (btype == 0) {
2699
- st.b = ebt;
2700
- if (out) {
2701
- out.set(dat.subarray(bt, ebt), st.y);
2702
- st.y += sz;
2703
- return out;
2704
- }
2705
- return slc2(dat, bt, ebt);
2706
- }
2707
- if (btype == 2) {
2708
- var b3 = dat[bt], lbt = b3 & 3, sf = b3 >> 2 & 3;
2709
- var lss = b3 >> 4, lcs = 0, s4 = 0;
2710
- if (lbt < 2) {
2711
- if (sf & 1)
2712
- lss |= dat[++bt] << 4 | (sf & 2 && dat[++bt] << 12);
2713
- else
2714
- lss = b3 >> 3;
2715
- } else {
2716
- s4 = sf;
2717
- if (sf < 2)
2718
- lss |= (dat[++bt] & 63) << 4, lcs = dat[bt] >> 6 | dat[++bt] << 2;
2719
- else if (sf == 2)
2720
- lss |= dat[++bt] << 4 | (dat[++bt] & 3) << 12, lcs = dat[bt] >> 2 | dat[++bt] << 6;
2721
- else
2722
- lss |= dat[++bt] << 4 | (dat[++bt] & 63) << 12, lcs = dat[bt] >> 6 | dat[++bt] << 2 | dat[++bt] << 10;
2723
- }
2724
- ++bt;
2725
- var buf = out ? out.subarray(st.y, st.y + st.m) : new u82(st.m);
2726
- var spl = buf.length - lss;
2727
- if (lbt == 0)
2728
- buf.set(dat.subarray(bt, bt += lss), spl);
2729
- else if (lbt == 1)
2730
- fill(buf, dat[bt++], spl);
2731
- else {
2732
- var hu = st.h;
2733
- if (lbt == 2) {
2734
- var hud = rhu(dat, bt);
2735
- lcs += bt - (bt = hud[0]);
2736
- st.h = hu = hud[1];
2737
- } else if (!hu)
2738
- err2(0);
2739
- (s4 ? dhu4 : dhu)(dat.subarray(bt, bt += lcs), buf.subarray(spl), hu);
2740
- }
2741
- var ns = dat[bt++];
2742
- if (ns) {
2743
- if (ns == 255)
2744
- ns = (dat[bt++] | dat[bt++] << 8) + 32512;
2745
- else if (ns > 127)
2746
- ns = ns - 128 << 8 | dat[bt++];
2747
- var scm = dat[bt++];
2748
- if (scm & 3)
2749
- err2(0);
2750
- var dts = [dmlt, doct, dllt];
2751
- for (var i = 2; i > -1; --i) {
2752
- var md = scm >> (i << 1) + 2 & 3;
2753
- if (md == 1) {
2754
- var rbuf = new u82([0, 0, dat[bt++]]);
2755
- dts[i] = {
2756
- s: rbuf.subarray(2, 3),
2757
- n: rbuf.subarray(0, 1),
2758
- t: new u162(rbuf.buffer, 0, 1),
2759
- b: 0
2760
- };
2761
- } else if (md == 2) {
2762
- _a7 = rfse(dat, bt, 9 - (i & 1)), bt = _a7[0], dts[i] = _a7[1];
2763
- } else if (md == 3) {
2764
- if (!st.t)
2765
- err2(0);
2766
- dts[i] = st.t[i];
2767
- }
2768
- }
2769
- var _b2 = st.t = dts, mlt = _b2[0], oct = _b2[1], llt = _b2[2];
2770
- var lb = dat[ebt - 1];
2771
- if (!lb)
2772
- err2(0);
2773
- var spos = (ebt << 3) - 8 + msb(lb) - llt.b, cbt = spos >> 3, oubt = 0;
2774
- var lst = (dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << llt.b) - 1;
2775
- cbt = (spos -= oct.b) >> 3;
2776
- var ost = (dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << oct.b) - 1;
2777
- cbt = (spos -= mlt.b) >> 3;
2778
- var mst = (dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << mlt.b) - 1;
2779
- for (++ns; --ns; ) {
2780
- var llc = llt.s[lst];
2781
- var lbtr = llt.n[lst];
2782
- var mlc = mlt.s[mst];
2783
- var mbtr = mlt.n[mst];
2784
- var ofc = oct.s[ost];
2785
- var obtr = oct.n[ost];
2786
- cbt = (spos -= ofc) >> 3;
2787
- var ofp = 1 << ofc;
2788
- var off = ofp + ((dat[cbt] | dat[cbt + 1] << 8 | dat[cbt + 2] << 16 | dat[cbt + 3] << 24) >>> (spos & 7) & ofp - 1);
2789
- cbt = (spos -= mlb[mlc]) >> 3;
2790
- var ml = mlbl[mlc] + ((dat[cbt] | dat[cbt + 1] << 8 | dat[cbt + 2] << 16) >> (spos & 7) & (1 << mlb[mlc]) - 1);
2791
- cbt = (spos -= llb[llc]) >> 3;
2792
- var ll = llbl[llc] + ((dat[cbt] | dat[cbt + 1] << 8 | dat[cbt + 2] << 16) >> (spos & 7) & (1 << llb[llc]) - 1);
2793
- cbt = (spos -= lbtr) >> 3;
2794
- lst = llt.t[lst] + ((dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << lbtr) - 1);
2795
- cbt = (spos -= mbtr) >> 3;
2796
- mst = mlt.t[mst] + ((dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << mbtr) - 1);
2797
- cbt = (spos -= obtr) >> 3;
2798
- ost = oct.t[ost] + ((dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << obtr) - 1);
2799
- if (off > 3) {
2800
- st.o[2] = st.o[1];
2801
- st.o[1] = st.o[0];
2802
- st.o[0] = off -= 3;
2803
- } else {
2804
- var idx = off - (ll != 0);
2805
- if (idx) {
2806
- off = idx == 3 ? st.o[0] - 1 : st.o[idx];
2807
- if (idx > 1)
2808
- st.o[2] = st.o[1];
2809
- st.o[1] = st.o[0];
2810
- st.o[0] = off;
2811
- } else
2812
- off = st.o[0];
2813
- }
2814
- for (var i = 0; i < ll; ++i) {
2815
- buf[oubt + i] = buf[spl + i];
2816
- }
2817
- oubt += ll, spl += ll;
2818
- var stin = oubt - off;
2819
- if (stin < 0) {
2820
- var len = -stin;
2821
- var bs = st.e + stin;
2822
- if (len > ml)
2823
- len = ml;
2824
- for (var i = 0; i < len; ++i) {
2825
- buf[oubt + i] = st.w[bs + i];
2826
- }
2827
- oubt += len, ml -= len, stin = 0;
2828
- }
2829
- for (var i = 0; i < ml; ++i) {
2830
- buf[oubt + i] = buf[stin + i];
2831
- }
2832
- oubt += ml;
2833
- }
2834
- if (oubt != spl) {
2835
- while (spl < buf.length) {
2836
- buf[oubt++] = buf[spl++];
2837
- }
2838
- } else
2839
- oubt = buf.length;
2840
- if (out)
2841
- st.y += oubt;
2842
- else
2843
- buf = slc2(buf, 0, oubt);
2844
- } else if (out) {
2845
- st.y += lss;
2846
- if (spl) {
2847
- for (var i = 0; i < lss; ++i) {
2848
- buf[i] = buf[spl + i];
2849
- }
2850
- }
2851
- } else if (spl)
2852
- buf = slc2(buf, spl);
2853
- st.b = ebt;
2854
- return buf;
2855
- }
2856
- err2(2);
2857
- };
2858
- cct = function(bufs, ol) {
2859
- if (bufs.length == 1)
2860
- return bufs[0];
2861
- var buf = new u82(ol);
2862
- for (var i = 0, b = 0; i < bufs.length; ++i) {
2863
- var chk = bufs[i];
2864
- buf.set(chk, b);
2865
- b += chk.length;
2866
- }
2867
- return buf;
2868
- };
2869
- }
2870
- });
2871
-
2872
- // ../compression/src/zstd-decompressor-fzstd.ts
2873
- var ZstdFzstdDecompressor;
2874
- var init_zstd_decompressor_fzstd = __esm({
2875
- "../compression/src/zstd-decompressor-fzstd.ts"() {
2876
- "use strict";
2877
- init_compression();
2878
- init_esm();
2879
- ZstdFzstdDecompressor = class extends Decompressor {
2880
- name = "zstd";
2881
- extensions = ["zst"];
2882
- contentEncodings = ["zstd"];
2883
- isSupported = true;
2884
- constructor(options = {}) {
2885
- super(options);
2886
- }
2887
- /** Decompresses one Zstandard frame synchronously. */
2888
- decompressSync(input2) {
2889
- return decompress(new Uint8Array(input2)).slice().buffer;
2890
- }
2891
- };
2437
+ // compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/zstd/decompress/zstd.wasm
2438
+ var zstd_default;
2439
+ var init_zstd = __esm({
2440
+ "compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/zstd/decompress/zstd.wasm"() {
2441
+ zstd_default = "data:application/wasm;base64,AGFzbQEAAAABvAEYYAJ/fwBgA39/fwF/YAV/f39/fwF/YAF/AGABfwF/YAR/f39/AX9gAn9/AX9gA39/fwBgB39/f39/f38AYAV/fn5+fgBgBH5+fn4Bf2AEf35+fwBgAAF/YAZ/f39/f38Bf2AEf39/fwBgAABgBH9+fn4AYAV/f39/fwBgAn9/AX5gAX8BfmAHf39/f39/fwF/YA5/f39/f39/f39/f39/fwF/YAh/f39/f39/fwF/YAl/f39/f39/f38BfwNEQw8QCQkKCgsLBAYEBgMMBAABAgwEAwIFBQEGBAIBAwcHERIFDQMEAQIBAQMEAw4DDQcTBQIIAgUUCAICAgEHFQgWFw4EBQFwAQgIBQQBAIECBgkBfwFBgICACAsHsgIPBm1lbW9yeQIAC19pbml0aWFsaXplAAAKY3VfdmVyc2lvbgANFmN1X2FsZ29yaXRobV9hdmFpbGFibGUADg1jdV9sYXN0X2Vycm9yABILY3Vfc3RyZXJyb3IAExxjdV9zZXRfbWF4X2RlY29tcHJlc3NlZF9zaXplABQNY3VfZGVjb21wcmVzcwAVF2N1X2RlY29tcHJlc3Nfc2l6ZV9oaW50ABcbY3VfZGVjb21wcmVzc19zdHJlYW1fY3JlYXRlABkaY3VfZGVjb21wcmVzc19zdHJlYW1fd3JpdGUAGxtjdV9kZWNvbXByZXNzX3N0cmVhbV9maW5pc2gAHBxjdV9kZWNvbXByZXNzX3N0cmVhbV9kZXN0cm95AB0IY3VfYWxsb2MAKwdjdV9mcmVlACwJDQEAQQELBxAWGBonKSoMAR4KnJYFQxgAQbC8gAgoAgAEQAALQbC8gAhBATYCAAutCgIFfxB+IwBB4ABrIgQkACADQv///////z+DIQwgAiADhUKAgICAgICAgIB/gyELIAJC////////P4MiDUIgiCEPAkACQCACQjCIp0H//wFxIgZB//8Ba0GCgH5PIANCMIinQf//AXEiB0H//wFrQYKAfk9xDQAgAVAgAkL///////////8AgyIJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCwwCCyADQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AUXJFBEAgA0KAgICAgIAghCELQgAhAQwCCyABIAlCgICAgICAwP//AIWEUARAIAJQBEBCgICAgICA4P//ACELQgAhAQwDCyALQoCAgICAgMD//wCEIQtCACEBDAILIAJCgICAgICAwP//AIVQRQRAIAEgCYRQBEBCACEBDAMLIAJQBEBCACEBDAMLIAlCgICAgICAwABUBEAgBEHQAGogASANIA15IAF5QkB9IA1CAFIbp0EPa0H/AXEiBRAHQQEgBWshBSAEKQNYIg1CIIghDyAEKQNQIQELIAJCgICAgICAwABaDQEgBEFAa0IAIAwgDHlCgAEgDEIAUhunQQ9rQf8BcSIIEAcgBSAIa0EBaiEFIAQpA0ghDCAEKQNAIQoMAQsgASAJhEIAIQFQBEBCgICAgICA4P//ACELDAILIAtCgICAgICAwP//AIQhCwwBCyAKQg+GIglCgID+/w+DIgIgAUIgiCIDfiIRIAlCIIgiDiABQv////8PgyIBfnwiEEIghiISIAEgAn58IgkgElStIA1C/////w+DIg0gAn4iFSADIA5+fCISIAxCD4YiEyAKQjGIhEL/////D4MiCiABfnwiFCAQIBFUrUIghiAQQiCIhHwiECACIA9CgIAEhCIMfiIWIA0gDn58Ig8gE0IgiEKAgICACIQiAiABfnwiESADIAp+fCITQiCGfCIXfCEBIAYgB2ogBWpB//8AayEFAkAgAiADfiIYIAwgDn58IgMgGFStIAMgAyAKIA1+fCIOVq18IAIgDH58IAogDH4iAyACIA1+fCICIANUrUIghiACQiCIhHwgDiACQiCGfCICIA5UrXwgAiACIBIgFVStIBIgFFatfHwiA1atfCADIAMgESATVq0gDyAWVK0gDyARVq18fEIghiATQiCIhHwiClatfCAKIAogECAUVK0gECAXVq18fCICVq18IgNCgICAgICAwACDUEUEQCAFQQFqIQUMAQsgCUI/iCADQgGGIAJCP4iEIQMgAkIBhiABQj+IhCECIAlCAYYhCSABQgGGhCEBCyAFQf7/AUoEQCALQoCAgICAgMD//wCEIQtCACEBDAELAkAgBUEASgRAIANC////////P4MgBa1CMIaEIQoMAQtBASAFayIGQf8ATQRAIARBMGogAiADIAVBAWtB/wBxIgUQByAEQRBqIAkgASAGEAYgBEEgaiACIAMgBhAGIAQgCSABIAUQByAEKQMAIAQpAwiEQgBSrSAEKQMwIAQpAxCEhCEJIAQpAzggBCkDGIQhASAEKQMoIQogBCkDICECDAELQgAhAQwBCyAKIAIgAiAJQgBSIAFCgICAgICAgICAf1YgAUKAgICAgICAgIB/URutfCIDVq18IAMgAyAJIAFCgICAgICAgICAf4WEUK2DIgJ8IgEgAlStfCALhCELCyAAIAE3AwAgACALNwMIIARB4ABqJAALowkCBH8EfiMAQeAAayIFJAAgBEKAgICAgICAgIB/hSEKIARC////////////AIMhBAJAAkAgAVAiBiACQv///////////wCDIglCgICAgICAwP//AH1CgICAgICAwICAf1QgCVAbRQRAIANQIARCgICAgICAwP//AH0iC0KAgICAgIDAgIB/VCALQoCAgICAgMCAgH9RG0UNAQsgBiAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhAgwCCyADUCAEQoCAgICAgMD//wBUIARCgICAgICAwP//AFEbRQRAIApCgICAgICAIIQhAiADIQEMAgsgASAJQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIAqFQoCAgICAgICAgH+FhFAiBhshAkIAIAEgBhshAQwCCwJAIAMgBEKAgICAgIDA//8AhYRQDQAgASAJhFAEQCADIASEUEUNASABIAODIQEgAiAKgyECDAMLIAMgBIRQRQ0BDAILIAMhASAKIQIMAQsgAyABIAEgA1QgBCAJViAEIAlRGyIIGyEJIAogAiAIGyIMQv///////z+DIQQgAiAKIAgbIgtCMIinQf//AXEhByAMQjCIp0H//wFxIgZFBEAgBUHQAGogCSAEIAR5IAl5QkB9IARCAFIbp0EPa0H/AXEiBhAHQQEgBmshBiAFKQNQIQkgBSkDWCEECyABIAMgCBshASALQv///////z+DIQMgB0UEQCAFQUBrIAEgAyADeSABeUJAfSADQgBSG6dBD2tB/wFxIgcQB0EBIAdrIQcgBSkDSCEDIAUpA0AhAQsgA0IDhiABQj2IhEKAgICAgICABIQhAyAEQgOGIAlCPYiEIAFCA4YhBCACIAqFIQECQCAGIAdGDQAgBiAHayIHQf8ASwRAQgAhA0IBIQQMAQsgBUEwaiAEIANBACAHa0H/AHEQByAFQSBqIAQgAyAHEAYgBSkDICAFKQMwIAUpAziEQgBSrYQhBCAFKQMoIQMLQoCAgICAgIAEhCELIAlCA4YhCiAMQoCAgICAgICAgH+DIQkCQAJAAkAgAUIAUwRAQgAhAUIAIQIgBCAKhSADIAuFhFBFDQEMBAsgBCAKfCIBIARUrSADIAt8fCICQoCAgICAgIAIg1ANASAEQgGDIAJCP4YgAUIBiISEIQEgBkEBaiEGIAJCAYghAgwBCyAKIAR9IQEgCyADfSAEIApWrX0iAkL/////////A1YNACAFQRBqIAEgAiACeSABeUJAfSACQgBSG6dBDGsiBxAHIAYgB2shBiAFKQMYIQIgBSkDECEBDAELIAZB/v8BTA0AIAlCgICAgICAwP//AIQhAkIAIQEMAQsgBkEATARAIAUgASACQQQgBmsQBiAFKQMIIAmEIQIgBSkDACEBDAELIAJCPYYgAUIDiIQiAyABQgeDIgRCBFatfCIBIANUrSACQgOIQv///////z+DIAatQjCGhCAJhHwgASAEQgRRrYMiAiABfCIBIAJUrXwhAgsgACABNwMAIAAgAjcDCCAFQeAAaiQAC4wJAgR+BH8jAEHgAGsiCSQAIARC////////////AIMhBQJAAkAgAVAiCiACQv///////////wCDIgZCgICAgICAwP//AH1CgICAgICAwICAf1QgBlAbRQRAIANQIAVCgICAgICAwP//AH0iB0KAgICAgIDAgIB/VCAHQoCAgICAgMCAgH9RG0UNAQsgCiAGQoCAgICAgMD//wBUIAZCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgBUKAgICAgIDA//8AVCAFQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASAGQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiChshBEIAIAEgChshAwwCCyADIAVCgICAgICAwP//AIWEUA0BIAEgBoRQBEAgAyAFhFBFDQIgASADgyEDIAIgBIMhBAwCCyADIAWEUEUNACABIQMgAiEEDAELIAMgASABIANUIAUgBlYgBSAGURsiDBshBiAEIAIgDBsiCEL///////8/gyEFIAIgBCAMGyIHQjCIp0H//wFxIQsgCEIwiKdB//8BcSIKRQRAIAlB0ABqIAYgBSAFeSAGeUJAfSAFQgBSG6dBD2tB/wFxIgoQB0EBIAprIQogCSkDUCEGIAkpA1ghBQsgASADIAwbIQMgB0L///////8/gyEBIAsEfiABBSAJQUBrIAMgASABeSADeUJAfSABQgBSG6dBD2tB/wFxIgsQB0EBIAtrIQsgCSkDQCEDIAkpA0gLQgOGIANCPYiEQoCAgICAgIAEhCEBIAVCA4YgBkI9iIQgA0IDhiEFIAIgBIUhAwJAIAogC0YNACAKIAtrIgtB/wBLBEBCACEBQgEhBQwBCyAJQTBqIAUgAUEAIAtrQf8AcRAHIAlBIGogBSABIAsQBiAJKQMgIAkpAzAgCSkDOIRCAFKthCEFIAkpAyghAQtCgICAgICAgASEIQcgBkIDhiECIAhCgICAgICAgICAf4MhBgJAAkACQCADQgBTBEBCACEDQgAhBCACIAWFIAEgB4WEUEUNAQwECyACIAV8IgMgBVStIAEgB3x8IgRCgICAgICAgAiDUA0BIAVCAYMgBEI/hiADQgGIhIQhAyAKQQFqIQogBEIBiCEEDAELIAIgBX0hAyAHIAF9IAIgBVStfSIEQv////////8DVg0AIAlBEGogAyAEIAR5IAN5QkB9IARCAFIbp0EMayILEAcgCiALayEKIAkpAxghBCAJKQMQIQMMAQsgCkH+/wFMDQAgBkKAgICAgIDA//8AhCEEQgAhAwwBCyAKQQBMBEAgCSADIARBBCAKaxAGIAkpAwggBoQhBCAJKQMAIQMMAQsgBEI9hiADQgOIhCICIANCB4MiA0IEVq18IgEgAlStIARCA4hC////////P4MgCq1CMIaEIAaEfCABIAEgA0IEUa2DIgF8IgMgAVStfCEECyAAIAM3AwAgACAENwMIIAlB4ABqJAAL4AECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJQIANC////////////AIMiBkKAgICAgIDA//8AVCAGQoCAgICAgMD//wBRG0UNACAAIAKEIAUgBoSEUARAQQAPCwJAAkAgASADg0IAWQRAIAAgAlQgASADUyABIANRG0UNAUF/DwsgACACViABIANVIAEgA1EbRQ0BQX8PCyAAIAKFIAEgA4WEQgBSDwsgACAChSABIAOFhEIAUiEECyAEC2MAIABCAFIgAUL///////////8AgyIAQoCAgICAgMD//wBWIABCgICAgICAwP//AFEbIAJCAFIgA0L///////////8AgyIAQoCAgICAgMD//wBWIABCgICAgICAwP//AFEbcgtRAQF+AkAgA0E/SgRAIAIgA0E/ca2IIQFCACECDAELIANFDQAgAkEAIANrQT9xrYYgASADrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLUQEBfgJAIANBP0oEQCABIANBP3GthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUEAIANrQT9xrYiEIQIgASAEhiEBCyAAIAE3AwAgACACNwMICzIBAX8gAEEQakEEEAkiAQRAIAEgAK1CBYZCBIQ3AwggAUEQag8LQfy/gAhBMDYCAEEAC+sCAQN/IwBBEGsiBCQAIAQgAUEfcToADwJAQX8gAEEEaiICIAAgAksbIgBBASABdCIBIAAgAUsbIgBBAWtnIgFFBEBBACEBDAELQSAgAWsiAUH//wNxQQNrIgNBDU8EQEIBQSAgAEGDgARqQRB2QQFrZ2siAa2GpyEAIAFB//8DcUECdCICKAKcvYAIIgEEQCACQZy9gAhqIABBEHQgAWpBBGsoAgA2AgAMAgtBACAAQAAiAEEQdCAAQX9GGyEBDAELQgEgAa2GpyECIANBAnQiACgC6LyACCIBBEAgAEHovIAIaiABIAJqQQRrKAIANgIADAELIABBtLyACGohAyAAKAK0vIAIIgFB//8DcUUEQEEAIQEgAyACAn9BnL2ACCgCACIABEBBnL2ACCAAKAL8/wM2AgAgAAwBC0EBQAAiAEEBakECSQ0CIABBEHQLIgFqNgIADAELIAMgASACajYCAAsgBEEQaiQAIAELlgECA38BfiMAQRBrIgIkACACIACtIgRCIIinIgBBAEc6AAwCQAJAIABFBEAgBKciAUEQakEEEAkiAA0BQfy/gAhBMDYCAAwCC0H8v4AIQTA2AgAMAQsgACABrUIFhkIEhDcDCCAAQRBqIQMgAUUNAEEAIQADQCAAIANqQQA6AAAgAEEBaiIAIAFJDQALCyACQRBqJAAgAwuHBgIKfwF+IwBBEGsiBSQAAkAgAUUEQCAABEAgBSAAQQhrKQMAIgynIgFBH3EiAjoADCAFIAI6AA0gAEEBIAF0IgFrIQBBICAMQgWIpyABakEEaiICIAEgASACSRsiAUEBa2drIgJB//8DcUEDayIDQQxNBEAgAEIBIAKshqdqQQRrIANBAnQiASgC6LyACDYCACABIAA2Aui8gAhBACECDAMLIABCAUEgIAFBg4AEakEQdkEBa2drIgGthqdBEHRqQQRrIAFB//8DcUECdCIBKAKcvYAINgIAIAEgADYCnL2ACAtBACECDAELIABFBEAgAUEQakEEEAkiAARAIAAgAa1CBYZCBIQ3AwggAEEQaiECDAILQfy/gAhBMDYCAAwBCyAFIABBCGspAwAiDKciBkEfcSICOgALIAUgAjoADkF/QQEgBnQiAiABaiIEQQRqIgMgAyAESRsiAyACIAIgA0kbIQcgACACayEDAkACQAJAIAxCBYinIgkgAmpBBGoiCCACIAIgCEkbIgpBAWtnIgtBEWtBDE0EQCAHQQFrZyIHRUIBQSAgC2uthqdCAUEgIAdrrYanR3INAQwCC0IBQSAgCkGDgARqQRB2QQFrZ2uthqdCAUEgIAdBg4AEakEQdkEBa2drrYanRg0BCyAEIAYQCSIEBEAgAiAEaiECIAEgCSABIAlJGyIHBEBBACEEA0AgAiAEaiAAIARqLQAAOgAAIARBAWoiBCAHSQ0ACwsgBSAGQR9xOgAPQSAgCEEBIAZ0IgAgACAISRsiAEEBa2drIgZB//8DcUEDayIEQQxNBEAgA0IBIAashqdqQQRrIARBAnQiACgC6LyACDYCACAAIAM2Aui8gAgMAwsgA0IBQSAgAEGDgARqQRB2QQFrZ2siAK2Gp0EQdGpBBGsgAEH//wNxQQJ0IgAoApy9gAg2AgAgACADNgKcvYAIDAILQQAhAkH8v4AIQTA2AgAMAgsgAiADaiECCyACQQhrIAxCH4MgAa1CBYaENwMACyAFQRBqJAAgAgviAQIEfwF+IwBBEGsiAyQAAkAgAEUNACADIABBCGspAwAiBaciAUEfcSICOgAOIAMgAjoADyAAQQEgAXQiAWshAEEgIAVCBYinIAFqQQRqIgIgASABIAJJGyIBQQFrZ2siAkH//wNxQQNrIgRBDE0EQCAAQgEgAqyGp2pBBGsgBEECdCIBKALovIAINgIAIAEgADYC6LyACAwBCyAAQgFBICABQYOABGpBEHZBAWtnayIBrYanQRB0akEEayABQf//A3FBAnQiASgCnL2ACDYCACABIAA2Apy9gAgLIANBEGokAAsHAEGhkYAICwUAIABFC/cCAQJ/IwBBsANrIgIkACACIAE2AgwgAkH/ATYCiAEgAkHgvYAINgKEASACQRBqQQBB8AD8CwAgAkEBNgIwQeC9gAhBADoAACACIAJBhAFqNgJUIAIgAkGPAWo2AjggAkF/NgJQIAIgATYCrAMgAkGgA2pCADcDACACQZgDakIANwMAIAJBkANqQgA3AwAgAkIANwOIAyACQgA3A4ADIAIgATYCqAMCQAJAQQAgACACQagDaiACQeABaiACQYADahARQQBIDQAgAkIANwMQIAJBfzYCTCACQQA2AhggAkHQADYCPCACIAJB4AFqIgM2AiAgAiACQZABaiIBNgI4IAIgATYCKCACIAE2AiQgAkEQaiIBIAAgAkGoA2ogAyACQYADahARIAFBAEEAIAIoAjARAQAaIAJBADYCPCACQQA2AiggAigCECACIAJBjwFqNgI4QSBxDQAgAigCJEUNAEEATg0BC0HgvYAIQQA6AAALIAJBsANqJAALtAEBBX8gACgCRCIDKAIAIQYgAygCBCIEIAAoAhQgACgCGCIHayIFIAQgBUkbIgUEQCAFBEAgBiAHIAX8CgAACyADIAMoAgAgBWoiBjYCACADIAMoAgQgBWsiBDYCBAsgBCACIAIgBEsbIgQEQCAEBEAgBiABIAT8CgAACyADIAMoAgAgBGoiBjYCACADIAMoAgQgBGs2AgQLIAZBADoAACAAIAAoAigiATYCGCAAIAE2AhQgAgutVAIgfwR+IwBBwMEAayIGJAAgBkHsBWohISAGQZkFaiEiIAZBlwVqISMgBkG/BWohHyAGQcAFaiIYQQhyISAgGEEJciEcIAZBvgVqISQgBkGYBWohFgJAAkADQEEAIQUDQAJAIAEhByAFIBNB/////wdzSg0AIAUgE2ohEwJAAkACQAJAAkACQAJAIActAAAiBQRAA0ACQAJAIAVB/wFxIgUEQCAFQSVHDQIgASEFA0AgAUEBai0AAEElRw0CIAVBAWohBSABQQJqIgEtAABBJUYNAAsMAQsgASEFCyAFIAdrIgUgE0H/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IAYpA+ACIAYpA+gCQoCAgICAgMCBwAAQASAGQcACaiAGKQPQAiAGKQPYAkKAgICAgIDAgcAAEAEgBkGwAmogBikDwAIgBikDyAJCgICAgICAwIHAABABIAZBoAJqIAYpA7ACIAYpA7gCQoCAgICAgMCBwAAQASAGQZACaiAGKQOgAiAGKQOoAkKAgICAgIDAgcAAEAEgBkGAAmogBikDkAIgBikDmAJCgICAgICAwIHAABABIAZB8AFqIAYpA4ACIAYpA4gCQoCAgICAgMCBwAAQASAGQeABaiAGKQPwASAGKQP4AUKAgICAgIDAgcAAEAEgBkHQAWogBikD4AEgBikD6AFCgICAgICAwIHAABABIAZBwAFqIAYpA9ABIAYpA9gBQoCAgICAgMCBwAAQASAGQbABaiAGKQPAASAGKQPIAUKAgICAgIDAgcAAEAEgBkGgAWogBikDsAEgBikDuAFCgICAgICAwIHAABABIAZBkAFqIAYpA6ABIAYpA6gBQoCAgICAgMCBwAAQASAGQYABaiAGKQOQASAGKQOYAUKAgICAgIDAgcAAEAEgBkHwAGogBikDgAEgBikDiAFCgICAgICAwIHAABABIAYpA3ghJyAGKQNwISggBUEQayIFDQALCyAILQAAQS1GBEAgBkFAayAlICZCgICAgICAgICAf4UgKCAnEAIgBkEwaiAoICcgBikDQCAGKQNIEAMgBikDOEKAgICAgICAgIB/hSEmIAYpAzAhJQwBCyAGQeAAaiAlICYgKCAnEAMgBkHQAGogBikDYCAGKQNoICggJxACIAYpA1ghJiAGKQNQISULAkAgBigC7AUiCwRAIAsgC0EfdSIFcyAFayEFIBghBwNAIAdBAWsiByAFQQpuIglB9gFsIAVqQTByOgAAIAVBCkkgCSEFRQ0ACwwBCyAGQTA6AL8FIB8hBwsgF0ECciEMIBJBIHEhDSAHQQJrIg8gEkEPajoAACAHQQFrQS1BKyALQQBIGzoAACAQQQhxRSAKQQBMcSELIAZBwAVqIQcDQCAHIgUjAEEQayIHJAACf0EAICZCMIinIglB//8BcSIRQf7/AE0NABogJkI/h6dB/////wdzIBFBnoABa0FgTQ0AGiAHICUgJkL///////8/g0KAgICAgIDAAIRB7wAgCWtB/wBxEAYgBygCACIJQQAgCWsg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AwJAA0AgACADaiIEQQFrLQAAQQpGDQEgA0EBayIDDQALIAAhBAwBCyACIAAgAyACKAIgEQEAIANJDQEgASADayEBIAIoAhQhBQsgAQRAIAUgBCAB/AoAAAsgAiACKAIUIAFqNgIUCwvzBgMDfgF/AXwjAEEQayIGJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIAAQIFAwQGBwgJCgsMDQ4PEBESCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAMEQsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADBALIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAMDgsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADA0LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAAwMCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAMCwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADAoLIAIgAigCACIBQQRqNgIAIAAgATAAADcDAAwJCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAMCAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAcLIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwGCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAMBQsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAQLIAIgAigCACIBQQRqNgIAIAAgATQCADcDAAwDCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAMAgsgAiACKAIAQQdqQXhxIgFBCGo2AgAgASsDACEHIwBBEGsiASQAAn4gB70iBUL///////////8AgyIDQoCAgICAgIAIfUKAgICAgICA8P8AVARAIANCPIYhBCADQgSIQoCAgICAgICAPHwMAQsgA0KAgICAgICA+P8AWgRAIANCPIYhBCADQgSIQoCAgICAgMD//wCEDAELQgAgA1ANABogASADQgAgA3mnIgJBMWoQByABKQMAIQQgASkDCEKAgICAgIDAAIVBgfgAIAJB9QBqQf8AcWutQjCGhAshAyAGIAQ3AwAgBiADIAVCgICAgICA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0LuACDYCPAwBCyAKIA9PBEAgCCAAQQdxIgE2AjggCCAKIABBA3ZrIgo2AjwgCCAKKAAAIhA2AjQgASEADAELIAogC0YNACAIIAAgCiALayAAQQN2IgAgCiAAayALSRsiAUEDdGsiADYCOCAIIAogAWsiCjYCPCAIIAooAAAiEDYCNAsgCCAAIBZqIgE2AjggCCAWQQJ0KALQuoAIIBBBACABa3ZxIB9qIhg2AlACQCABQSFPBEBB0LuACCEKIAhB0LuACDYCPAwBCyAKIA9PBEAgCCABQQdxIgA2AjggCCAKIAFBA3ZrIgo2AjwgCCAKKAAAIhA2AjQgACEBDAELIAogC0YNACAIIAEgCiALayABQQN2IgAgCiAAayALSRsiAEEDdGsiATYCOCAIIAogAGsiCjYCPCAIIAooAAAiEDYCNAsgCCgCbCIDIARqIgYgESgCgOwBIgBLDQEMAwsgCCgCbCIDIARqIgYgESgCgOwBIgBNDQJBASENDAELIA1BAEoNAEFsIRIMBQsCQCAAIANGBEAgAiEGDAELQbp/IRIgACADayIVIBQgAmtLDQUgAiAVaiEGAkAgAiADayIFQXhMIBVBB0pxRQRAIBVBAEwNAQNAIAIgAy0AADoAACADQQFqIQMgAkEBaiICIAZJDQALDAELAn8gBUFvSwRAIAIhBSADDAELIAIhBSADIBVBIEkNABogAykAACExIAJBCGogA0EIaikAADcAACACIDE3AAAgBkEgayEFIBVBIGsiHUERTwRAIAIgHWohISADQSBqIRYgAkEQaiESA0AgFkEQayIfKQAAITEgEkEIaiAfQQhqKQAANwAAIBIgMTcAACAWKQAAITEgEkEYaiAWQQhqKQAANwAAIBJBEGogMTcAACAWQSBqIRYgEkEgaiISICFJDQALCyADIB1qCyESIAAgAmohFgJAIAIgFWogBWsiHUEHcSICRQRAIAUhAAwBCyAFIQADQCAAIBItAAA6AAAgAEEBaiEAIBJBAWohEiACQQFrIgINAAsLIAUgFmsgA2pBeEsNACAFIB1qIQIDQCAAIBItAAA6AAAgAEEBaiASQQFqLQAAOgAAIABBAmogEkECai0AADoAACAAQQNqIBJBA2otAAA6AAAgAEEEaiASQQRqLQAAOgAAIABBBWogEkEFai0AADoAACAAQQZqIBJBBmot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OgAAIAZBA2ogA0EDai0AADoAACAGQQRqIANBBGotAAA6AAAgBkEFaiADQQVqLQAAOgAAIAZBBmogA0EGai0AADoAACAGQQdqIANBB2otAAA6AAAgA0EIaiEDIAZBCGoiBiAFRw0ACwsgCyALKAIAIAJrIgM2AgALIABBADYChOwBIAsoAgghBiAOICU2AowCAkACQAJAIANBgIAESg0AIAggCygCBCIFIANqIgdqIBVLDQAgB0EgaiAWIAhrTQ0BCyAOQRBqIAtBCGooAgA2AgAgDiALKQIANwMIIAggFiAOQQhqIA5BjAJqIAogEyAcIBsQQCEHDAELIAMgCGohAiADICVqIQwgJSkAACExIAhBCGogJUEIaikAADcAACAIIDE3AAACQCADQRFJDQAgFCkAACExIAhBGGogFEEIaikAADcAACAIIDE3ABAgA0EQa0ERSA0AIAhBIGohAyANIQkDQCAJQRBrIgspAAAhMSADQQhqIAtBCGopAAA3AAAgAyAxNwAAIAkpAAAhMSADQRhqIAlBCGopAAA3AAAgA0EQaiAxNwAAIAlBIGohCSADQSBqIgMgAkkNAAsLIAIgBmshAyAOIAw2AowCAkAgAiATayAGTwRAIAUhDAwBCyAGIAIgHGtLDQkgGyADIBNrIgNqIQkgAyAFaiIMQQBMBEAgBUUNAiACIAkgBfwKAAAMAgtBACADayIFBEAgAiAJIAX8CgAACyACIANrIQIgEyEDCyAGQRBPBEAgAykAACExIAJBCGogA0EIaikAADcAACACIDE3AAAgDEERSA0BIAIgDGohBSADQSBqIQYgAkEQaiEDA0AgBkEQayICKQAAITEgA0EIaiACQQhqKQAANwAAIAMgMTcAACAGKQAAITEgA0EYaiAGQQhqKQAANwAAIANBEGogMTcAACAGQSBqIQYgA0EgaiIDIAVJDQALDAELAkAgBkEHTQRAIAIgAy0AADoAACACIAMtAAE6AAEgAiADLQACOgACIAIgAy0AAzoAAyACIAMgBkECdCIFKALgu4AIaiIDKAAANgAEIAMgBSgCgLyACGshAwwBCyACIAMpAAA3AAALIAxBCUkNACACIAxqIQkgAkEIaiIGIANBCGoiBWtBD0wEQANAIAYgBSkAADcAACAFQQhqIQUgBkEIaiIGIAlJDQAMAgsACyAFKQAAITEg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ACAEIABrIg9BEU4EQCAIQSBqIQIgAEEQaiEAA0AgAkEQayIJKQAAIRAgAEEIaiAJQQhqKQAANwAAIAAgEDcAACACKQAAIRAgAEEYaiACQQhqKQAANwAAIABBEGogEDcAACACQSBqIQIgAEEgaiIAIARJDQALCyAIIA9qIQggBCEACyAAIAFPDQADQCAAIAgtAAA6AAAgCEEBaiEIIABBAWoiACABSQ0ACwsgASAMayEAIAMgDjYCAAJAAkAgASAFayAMTwRAIAohCCAAIQUMAQsgDCABIAZrSw0CIAcgACAFayIDaiECIAMgCmoiCEEATARAIApFDQIgASACIAr8CgAADAILQQAgA2siAARAIAEgAiAA/AoAAAsgASADayEBCyABIAQgBSAIEEILIA0hCwsgCwvXBQIKfwF+Qbp/IQkCQCADKAIEIgwgAygCACIKaiIPIAEgAGtLDQAgBSAEKAIAIgFrIApJBEBBbA8LIAMoAgghDSAAIAFLIAEgCmoiECAAS3ENACAAIApqIQUCQAJAIApBCE4EQCAAIAFrIgNBeUgNAQsgCkEATA0BA0AgACABLQAAOgAAIAFBAWohASAAQQFqIgAgBUkNAAsMAQsCQCAKQSBJBEAgACELDAELIANBb0sEQCAAIQsMAQsgASkAACETIABBCGogAUEIaikAADcAACAAIBM3AAAgBUEgayELIApBIGsiDkERTwRAIAAgDmohESABQSBqIQkgAEEQaiEDA0AgCUEQayISKQAAIRMgA0EIaiASQQhqKQAANwAAIAMgEzcAACAJKQAAIRMgA0EYaiAJQQhqKQAANwAAIANBEGogEzcAACAJQSBqIQkgA0EgaiIDIBFJDQALCyABIA5qIQELAkAgACAKaiIJIAtrIgpBB3EiA0UEQCALIQAMAQsgCyEAA0AgACABLQAAOgAAIABBAWohACABQQFqIQEgA0EBayIDDQALCyALIAlrQXhLDQAgCiALaiEDA0AgACABLQAAOgAAIABBAWogAUEBai0AADoAACAAQQJqIAFBAmotAAA6AAAgAEEDaiABQQNqLQAAOgAAIABBBGogAUEEai0AADoAACAAQQVqIAFBBWotAAA6AAAgAEEGaiABQQZqLQAAOgAAIABBB2ogAUEHai0AADoAACABQQhqIQEgAEEIaiIAIANHDQALCyAFIA1rIQEgBCAQNgIAAkACQCAFIAZrIA1PBEAgDCEAIAEhBgwBC0FsIQkgDSAFIAdrSw0CIAggASAGayIBaiEDIAEgDGoiAEEATARAIAxFDQIgBSADIAz8CgAADAILQQAgAWsiBARAIAUgAyAE/AoAAAsgBSABayEFCyAFIAIgBiAAEEILIA8hCQsgCQuJBQIDfwF+IAAgA2ohBgJAIANBB0wEQCADQQBMDQEDQCAAIAItAAA6AAAgAkEBaiECIABBAWoiACAGSQ0ACwwBCwJAIAAgAmsiBEEHTQRAIAAgAi0AADoAACAAIAItAAE6AAEgACACLQACOgACIAAgAi0AAzoAAyAAIAIgBEECdCIEKALgu4AIaiICKAAANgAEIAIgBCgCgLyACGshAgwBCyAAIAIpAAA3AAALIABBCGohBCACQQhqIQUgASAGTwRAIAQgBWtBD0wEQANAIAQgBSkAADcAACAFQQhqIQUgBEEIaiIEIAZJDQAMAwsACyAFKQAAIQcgBEEIaiAFQQhqKQAANwAAIAQgBzcAACADQQhrQRFJDQEgAkEoaiECIABBGGohAANAIAJBEGsiASkAACEHIABBCGogAUEIaikAADcAACAAIAc3AAAgAikAACEHIABBGGogAkEIaikAADcAACAAQRBqIAc3AAAgAkEgaiECIABBIGoiACAGSQ0ACwwBCwJAIAEgBEkEQCAEIQEMAQsgASAEayEDAkAgBCAFa0EPTARAIAUhAANAIAQgACkAADcAACAAQQhqIQAgBEEIaiIEIAFJDQALDAELIAUpAAAhByAEQQhqIAVBCGopAAA3AAAgBCAHNwAAIANBEUgNACACQShqIQIgAEEYaiEAA0AgAkEQayIEKQAAIQcgAEEIaiAEQQhqKQAANwAAIAAgBzcAACACKQAAIQcgAEEYaiACQQhqKQAANwAAIABBEGogBzcAACACQSBqIQIgAEEgaiIAIAFJDQALCyADIAVqIQULIAEgBk8NAANAIAEgBS0AADoAACAFQQFqIQUgAUEBaiIBIAZJDQALCwsLgDoeAEGAgIAIC+EST3BlcmF0aW9uIG1hZGUgbm8gcHJvZ3Jlc3Mgb3ZlciBtdWx0aXBsZSBjYWxscywgZHVlIHRvIGlucHV0IGJlaW5nIGVtcHR5AEFsbG9jYXRpb24gZXJyb3IgOiBub3QgZW5vdWdoIG1lbW9yeQB6c3RkOiBvdXQgb2YgbWVtb3J5AC0rICAgMFgweAAtMFgrMFggMFgtMHgrMHggMHgAenN0ZDogZGVjbGFyZWQgc2l6ZSAlbGx1IGV4Y2VlZHMgY2FwICV6dQB6c3RkOiBkZWNvbXByZXNzZWQgb3V0cHV0IGV4Y2VlZGVkIGNhcCAlenUAenN0ZDogZW1wdHkgaW5wdXQAQ29udGV4dCBzaG91bGQgYmUgaW5pdCBmaXJzdABpbnZhbGlkIGFyZ3VtZW50AGRlY29tcHJlc3NlZCBzaXplIGV4Y2VlZHMgY29uZmlndXJlZCBsaW1pdABTcmMgc2l6ZSBpcyBpbmNvcnJlY3QAb3V0IG9mIG1lbW9yeSBhbGxvY2F0aW5nIGN1X2RlY29tcHJlc3Nfc3RyZWFtX3QAenN0ZDogZGVjbGFyZWQgc2l6ZSBleGNlZWRzIHNpemVfdABVbnN1cHBvcnRlZCBjb21iaW5hdGlvbiBvZiBwYXJhbWV0ZXJzAENhbm5vdCBjcmVhdGUgRGljdGlvbmFyeSBmcm9tIHByb3ZpZGVkIHNhbXBsZXMAenN0ZDogJXMAVW5rbm93biBmcmFtZSBkZXNjcmlwdG9yAHVua25vd24gZXJyb3IAaW50ZXJuYWwgZXJyb3IAVW5zdXBwb3J0ZWQgZnJhbWUgcGFyYW1ldGVyAFVuc3VwcG9ydGVkIHBhcmFtZXRlcgBPcGVyYXRpb24gb24gTlVMTCBkZXN0aW5hdGlvbiBidWZmZXIAenN0ZDogb3V0IG9mIG1lbW9yeSBpbiBkZWNvbXByZXNzaW9uIHBlbmRpbmcgYnVmZmVyAEhlYWRlciBvZiBMaXRlcmFscycgYmxvY2sgZG9lc24ndCByZXNwZWN0IGZvcm1hdCBzcGVjaWZpY2F0aW9uAG5hbgBSZXN0b3JlZCBkYXRhIGRvZXNuJ3QgbWF0Y2ggY2hlY2tzdW0Ad3JpdGUgdG8gZmluaXNoZWQgZGVjb21wcmVzcyBzdHJlYW0AT3BlcmF0aW9uIG1hZGUgbm8gcHJvZ3Jlc3Mgb3ZlciBtdWx0aXBsZSBjYWxscywgZHVlIHRvIG91dHB1dCBidWZmZXIgYmVpbmcgZnVsbABEZXN0aW5hdGlvbiBidWZmZXIgaXMgdG9vIHNtYWxsAFNwZWNpZmllZCBtYXhTeW1ib2xWYWx1ZSBpcyB0b28gc21hbGwAb3V0cHV0IGJ1ZmZlciB0b28gc21hbGwAb2sAVGhpcyBtb2RlIGNhbm5vdCBnZW5lcmF0ZSBhbiB1bmNvbXByZXNzZWQgYmxvY2sAenN0ZDogdHJ1bmNhdGVkIGZyYW1lIGF0IGZpbmlzaAB3b3JrU3BhY2UgYnVmZmVyIGlzIG5vdCBsYXJnZSBlbm91Z2gARGljdGlvbmFyeSBtaXNtYXRjaABEZXN0aW5hdGlvbiBidWZmZXIgaXMgd3JvbmcAU291cmNlIGJ1ZmZlciBpcyB3cm9uZwBkZWNvbXByZXNzZWQgc2l6ZSBub3QgZW5jb2RlZCBpbiB3aXJlIGZvcm1hdDsgdXNlIHN0cmVhbWluZwB6c3RkOiBvdXRwdXQgYnVmZmVyIGV4aGF1c3RlZCBhbmQgc2l6ZSB1bmtub3duOyB1c2Ugc3RyZWFtaW5nAEFuIEkvTyBlcnJvciBvY2N1cnJlZCB3aGVuIHJlYWRpbmcvc2Vla2luZwBGcmFtZSByZXF1aXJlcyB0b28gbXVjaCBtZW1vcnkgZm9yIGRlY29kaW5nAGluZgBvcGVyYXRpb24gaW52YWxpZCBmb3IgY3VycmVudCBzdHJlYW0gc3RhdGUAenN0ZDogbm90IGEgdmFsaWQgenN0ZCBmcmFtZQB6c3RkOiB0cnVuY2F0ZWQgZnJhbWUARnJhbWUgaW5kZXggaXMgdG9vIGxhcmdlAFVuc3VwcG9ydGVkIG1heCBTeW1ib2wgVmFsdWUgOiB0b28gbGFyZ2UAT3BlcmF0aW9uIG5vdCBhdXRob3JpemVkIGF0IGN1cnJlbnQgcHJvY2Vzc2luZyBzdGFnZQBCbG9jay1sZXZlbCBleHRlcm5hbCBzZXF1ZW5jZSBwcm9kdWNlciByZXR1cm5lZCBhbiBlcnJvciBjb2RlAFVuc3BlY2lmaWVkIGVycm9yIGNvZGUAenN0ZABQYXJhbWV0ZXIgaXMgb3V0IG9mIGJvdW5kAGFsZ29yaXRobSBub3QgY29tcGlsZWQgaW50byB0aGlzIGJ1aWxkAGFsZ29yaXRobSAlZCBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgYnVpbGQARXh0ZXJuYWwgc2VxdWVuY2VzIGFyZSBub3QgdmFsaWQAdGFibGVMb2cgcmVxdWlyZXMgdG9vIG11Y2ggbWVtb3J5IDogdW5zdXBwb3J0ZWQAVmVyc2lvbiBub3Qgc3VwcG9ydGVkAERpY3Rpb25hcnkgaXMgY29ycnVwdGVkAE5vIGVycm9yIGRldGVjdGVkAERhdGEgY29ycnVwdGlvbiBkZXRlY3RlZABwbGVkZ2VkIGJ1ZmZlciBzdGFiaWxpdHkgY29uZGl0aW9uIGlzIG5vdCByZXNwZWN0ZWQAY29tcHJlc3NlZCBpbnB1dCB0cnVuY2F0ZWQAZGVjb21wcmVzc2lvbiBmYWlsZWQAenN0ZDogWlNURF9jcmVhdGVEU3RyZWFtIGZhaWxlZABzdHJlYW0gaXMgYWxyZWFkeSBmaW5pc2hlZABOQU4ASU5GADAuMTAuMQAuAChudWxsKQBFcnJvciAoZ2VuZXJpYykAY29tcHJlc3Npb24gbGV2ZWwgb3V0IG9mIHJhbmdlICgxLi4xMCkAIAQAASIBAAHBCAABCAQAAd8EAAH9BgABSwgAAUkIAAEuCAABMwEAAX4IAAG0BQABdAAAAUwCAAEZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAARsJCxgAAAkGCwAACwAGGQAAABkZGQBB8ZKACAshDgAAAAAAAAAAGQALDRkZGQANAAACAAkOAAAACQAOAAAOAEGrk4AICwEMAEG3k4AICxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQeWTgAgLARAAQfGTgAgLFQ8AAAAEDwAAAAAJEAAAAAAAEAAAEABBn5SACAsBEgBBq5SACAseEQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoaAEHilIAICw4aAAAAGhoaAAAAAAAACQBBk5WACAsBFABBn5WACAsVFwAAAAAXAAAAAAkUAAAAAAAUAAAUAEHNlYAICwEWAEHZlYAIC+QNFQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGU3VjY2VzcwBJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAExpbmsgaGFz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";
2892
2442
  }
2893
2443
  });
2894
2444
 
2895
- // ../compression/src/zstd-fallback.ts
2896
- var zstd_fallback_exports = {};
2897
- __export(zstd_fallback_exports, {
2898
- decompressZstd: () => decompressZstd
2445
+ // ../../node_modules/compress-utils/dist/algorithms/zstd/decompress/index.js
2446
+ var decompress_exports2 = {};
2447
+ __export(decompress_exports2, {
2448
+ CompressError: () => CompressError,
2449
+ createDecompressStream: () => createDecompressStream2,
2450
+ createDecompressStreamSync: () => createDecompressStreamSync2,
2451
+ decompress: () => decompress2,
2452
+ decompressSync: () => decompressSync2,
2453
+ decompressionStream: () => decompressionStream2,
2454
+ preload: () => preload2,
2455
+ setMaxDecompressedSize: () => setMaxDecompressedSize2,
2456
+ version: () => version3
2899
2457
  });
2900
- function decompressZstd(input2) {
2901
- return decompress(input2);
2902
- }
2903
- var init_zstd_fallback = __esm({
2904
- "../compression/src/zstd-fallback.ts"() {
2905
- "use strict";
2906
- init_esm();
2458
+ var bindings2, decompress2, decompressSync2, createDecompressStream2, createDecompressStreamSync2, decompressionStream2, preload2, version3, setMaxDecompressedSize2;
2459
+ var init_decompress2 = __esm({
2460
+ "../../node_modules/compress-utils/dist/algorithms/zstd/decompress/index.js"() {
2461
+ init_zstd();
2462
+ init_algorithm();
2463
+ init_types();
2464
+ init_types();
2465
+ bindings2 = /* @__PURE__ */ defineAlgorithm(Algorithm.Zstd, "zstd", new URL(zstd_default));
2466
+ decompress2 = bindings2.decompress;
2467
+ decompressSync2 = bindings2.decompressSync;
2468
+ createDecompressStream2 = bindings2.createDecompressStream;
2469
+ createDecompressStreamSync2 = bindings2.createDecompressStreamSync;
2470
+ decompressionStream2 = bindings2.decompressionStream;
2471
+ preload2 = bindings2.preload;
2472
+ version3 = bindings2.version;
2473
+ setMaxDecompressedSize2 = bindings2.setMaxDecompressedSize;
2907
2474
  }
2908
2475
  });
2909
2476
 
2910
- // ../compression/src/lib/zstd-compression.ts
2911
- var zstd_compression_exports = {};
2912
- __export(zstd_compression_exports, {
2913
- ZstdCompression: () => ZstdCompression
2914
- });
2915
- var CHUNK_SIZE, zstdPromise, zstd, ZstdCompression;
2916
- var init_zstd_compression = __esm({
2917
- "../compression/src/lib/zstd-compression.ts"() {
2477
+ // ../compression/src/zstd-decompressor-compress-utils.ts
2478
+ var ZstdCompressUtilsDecompressor;
2479
+ var init_zstd_decompressor_compress_utils = __esm({
2480
+ "../compression/src/zstd-decompressor-compress-utils.ts"() {
2918
2481
  "use strict";
2919
- init_compression();
2920
- init_src();
2921
- init_compression_stream();
2922
- init_decompression_stream();
2923
- CHUNK_SIZE = 1e6;
2924
- ZstdCompression = class extends Compression {
2925
- name = "zstd";
2926
- extensions = [];
2927
- contentEncodings = [];
2928
- isSupported = true;
2929
- options;
2930
- /**
2931
- * zstd-codec is an injectable dependency due to big size
2932
- * @param options
2933
- */
2482
+ init_compress_utils_compression();
2483
+ ZstdCompressUtilsDecompressor = class extends CompressUtilsDecompressor {
2934
2484
  constructor(options = {}) {
2935
- super(options);
2936
- this.options = options;
2937
- registerJSModules(options?.modules);
2938
- }
2939
- async preload(modules = {}) {
2940
- registerJSModules(modules);
2941
- const ZstdCodec = getJSModuleOrNull("zstd-codec");
2942
- if (!zstdPromise && ZstdCodec) {
2943
- zstdPromise = new Promise((resolve) => ZstdCodec.run((zstd2) => resolve(zstd2)));
2944
- }
2945
- if (zstdPromise) {
2946
- zstd = await zstdPromise;
2947
- }
2948
- }
2949
- compressSync(input2) {
2950
- getJSModule("zstd-codec", this.name);
2951
- const simpleZstd = new zstd.Simple();
2952
- const inputArray = new Uint8Array(input2);
2953
- return simpleZstd.compress(inputArray).buffer;
2954
- }
2955
- async compress(input2) {
2956
- if (this.options.useNative !== false && this.options.zstd?.useNative !== false) {
2957
- const nativeOutput = await compressWithNativeCompressionStream(input2, "zstd");
2958
- if (nativeOutput) return nativeOutput;
2959
- }
2960
- await this.preload();
2961
- return this.compressSync(input2);
2962
- }
2963
- decompressSync(input2) {
2964
- getJSModule("zstd-codec", this.name);
2965
- const simpleZstd = new zstd.Simple();
2966
- const inputArray = new Uint8Array(input2);
2967
- return simpleZstd.decompress(inputArray).buffer;
2968
- }
2969
- async decompress(input2, size) {
2970
- if (!getJSModuleOrNull("zstd-codec") && this.options.useNative !== false && this.options.zstd?.useNative !== false) {
2971
- const nativeOutput = await decompressWithNativeDecompressionStream(input2, "zstd");
2972
- if (nativeOutput) return nativeOutput;
2973
- }
2974
- await this.preload();
2975
- const inputArray = new Uint8Array(input2);
2976
- if (!zstd) {
2977
- const { decompressZstd: decompressZstd2 } = await Promise.resolve().then(() => (init_zstd_fallback(), zstd_fallback_exports));
2978
- return ensureArrayBuffer(decompressZstd2(inputArray));
2979
- }
2980
- const simpleZstd = new zstd.Streaming();
2981
- const chunks = [];
2982
- for (let i = 0; i <= inputArray.length; i += CHUNK_SIZE) {
2983
- const chunkView = inputArray.subarray(i, i + CHUNK_SIZE);
2984
- const chunkArrayBuffer = ensureArrayBuffer(chunkView);
2985
- chunks.push(new Uint8Array(chunkArrayBuffer));
2986
- }
2987
- const decompressResult = await simpleZstd.decompressChunks(chunks);
2988
- return decompressResult.buffer;
2485
+ super(
2486
+ { name: "zstd", extensions: ["zst"], contentEncodings: ["zstd"] },
2487
+ () => Promise.resolve().then(() => (init_decompress2(), decompress_exports2)),
2488
+ options
2489
+ );
2989
2490
  }
2990
2491
  };
2991
2492
  }
@@ -3000,48 +2501,18 @@ var __exports__ = (() => {
3000
2501
  var init_zstd_decompressor = __esm({
3001
2502
  "../compression/src/zstd-decompressor.ts"() {
3002
2503
  "use strict";
3003
- init_zstd_decompressor_fzstd();
2504
+ init_zstd_decompressor_compress_utils();
3004
2505
  init_decompression_stream();
3005
- init_src();
3006
- ZstdDecompressor = class extends ZstdFzstdDecompressor {
3007
- options;
3008
- compatibility = null;
3009
- constructor(options = {}) {
3010
- super(options);
3011
- this.options = options;
3012
- registerJSModules(options.modules);
3013
- }
3014
- /** Preloads an injected zstd-codec implementation when supplied. */
3015
- async preload(modules = {}) {
3016
- registerJSModules(modules);
3017
- if (getJSModuleOrNull("zstd-codec")) {
3018
- const { ZstdCompression: ZstdCompression2 } = await Promise.resolve().then(() => (init_zstd_compression(), zstd_compression_exports));
3019
- this.compatibility ||= new ZstdCompression2(this.options);
3020
- await this.compatibility.preload(modules);
3021
- }
3022
- }
3023
- /** Decompresses with the built-in stream when available, then falls back to fzstd. */
3024
- async decompress(input2) {
2506
+ ZstdDecompressor = class extends ZstdCompressUtilsDecompressor {
2507
+ /** Decompresses with native streams when available, otherwise lazily initializes WASM. */
2508
+ async decompress(input2, size) {
3025
2509
  if (this.options.useNative !== false) {
3026
2510
  const output2 = await decompressWithNativeDecompressionStream(input2, "zstd");
3027
2511
  if (output2) return output2;
3028
2512
  }
3029
- if (getJSModuleOrNull("zstd-codec")) {
3030
- await this.preload(this.options.modules);
3031
- }
3032
- return this.decompressSync(input2);
3033
- }
3034
- /** Decompresses with a preloaded zstd-codec implementation or compact fzstd. */
3035
- decompressSync(input2) {
3036
- if (this.compatibility) {
3037
- return this.compatibility.decompressSync(input2);
3038
- }
3039
- if (getJSModuleOrNull("zstd-codec")) {
3040
- throw new Error("zstd: call preload() before synchronous decompression with zstd-codec");
3041
- }
3042
- return super.decompressSync(input2);
2513
+ return super.decompress(input2, size);
3043
2514
  }
3044
- /** Decompresses batches with a built-in stream or compact fzstd fallback. */
2515
+ /** Streams native batches when available, otherwise uses the WASM stream. */
3045
2516
  async *decompressBatches(inputBatches) {
3046
2517
  if (this.options.useNative !== false) {
3047
2518
  const output2 = decompressBatchesWithNativeDecompressionStream(inputBatches, "zstd");
@@ -3050,10 +2521,6 @@ var __exports__ = (() => {
3050
2521
  return;
3051
2522
  }
3052
2523
  }
3053
- if (getJSModuleOrNull("zstd-codec")) {
3054
- yield this.decompress(await this.concatenate(inputBatches));
3055
- return;
3056
- }
3057
2524
  yield* super.decompressBatches(inputBatches);
3058
2525
  }
3059
2526
  };
@@ -3066,7 +2533,6 @@ var __exports__ = (() => {
3066
2533
  "../compression/src/default-codecs.ts"() {
3067
2534
  "use strict";
3068
2535
  init_lazy_compression();
3069
- init_src();
3070
2536
  GZIP = { name: "gzip", extensions: ["gz"], contentEncodings: ["gzip"] };
3071
2537
  ZSTD = { name: "zstd", extensions: ["zst"], contentEncodings: ["zstd"] };
3072
2538
  GZipDecompressor2 = class extends LazyDecompressor {
@@ -3085,8 +2551,7 @@ var __exports__ = (() => {
3085
2551
  ZSTD,
3086
2552
  async () => (await Promise.resolve().then(() => (init_zstd_decompressor(), zstd_decompressor_exports))).ZstdDecompressor,
3087
2553
  options,
3088
- "zstd",
3089
- (preloadOptions) => !preloadOptions.modules?.["zstd-codec"] && !getJSModuleOrNull("zstd-codec")
2554
+ "zstd"
3090
2555
  );
3091
2556
  }
3092
2557
  };
@@ -3094,7 +2559,7 @@ var __exports__ = (() => {
3094
2559
  });
3095
2560
 
3096
2561
  // ../compression/src/index.ts
3097
- var init_src2 = __esm({
2562
+ var init_src = __esm({
3098
2563
  "../compression/src/index.ts"() {
3099
2564
  "use strict";
3100
2565
  init_default_codecs();
@@ -3298,7 +2763,7 @@ var __exports__ = (() => {
3298
2763
  joinUint8Arrays: () => joinUint8Arrays,
3299
2764
  memcpy: () => memcpy,
3300
2765
  rebaseValueOffsets: () => rebaseValueOffsets,
3301
- toArrayBufferView: () => toArrayBufferView2,
2766
+ toArrayBufferView: () => toArrayBufferView,
3302
2767
  toArrayBufferViewAsyncIterator: () => toArrayBufferViewAsyncIterator,
3303
2768
  toArrayBufferViewIterator: () => toArrayBufferViewIterator,
3304
2769
  toBigInt64Array: () => toBigInt64Array,
@@ -3381,7 +2846,7 @@ var __exports__ = (() => {
3381
2846
  }
3382
2847
  return [buffer || new Uint8Array(0), result.slice(index), byteLength - (buffer ? buffer.byteLength : 0)];
3383
2848
  }
3384
- function toArrayBufferView2(ArrayBufferViewCtor, input2) {
2849
+ function toArrayBufferView(ArrayBufferViewCtor, input2) {
3385
2850
  let value = isIteratorResult(input2) ? input2.value : input2;
3386
2851
  if (value instanceof ArrayBufferViewCtor) {
3387
2852
  if (ArrayBufferViewCtor === Uint8Array) {
@@ -3402,7 +2867,7 @@ var __exports__ = (() => {
3402
2867
  return new ArrayBufferViewCtor(value);
3403
2868
  }
3404
2869
  if (isFlatbuffersByteBuffer(value)) {
3405
- return toArrayBufferView2(ArrayBufferViewCtor, value.bytes());
2870
+ return toArrayBufferView(ArrayBufferViewCtor, value.bytes());
3406
2871
  }
3407
2872
  return !ArrayBuffer.isView(value) ? ArrayBufferViewCtor.from(value) : value.byteLength <= 0 ? new ArrayBufferViewCtor(0) : new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength / ArrayBufferViewCtor.BYTES_PER_ELEMENT);
3408
2873
  }
@@ -3414,7 +2879,7 @@ var __exports__ = (() => {
3414
2879
  yield* pump((function* (it) {
3415
2880
  let r = null;
3416
2881
  do {
3417
- r = it.next(yield toArrayBufferView2(ArrayCtor, r));
2882
+ r = it.next(yield toArrayBufferView(ArrayCtor, r));
3418
2883
  } while (!r.done);
3419
2884
  })(buffers[Symbol.iterator]()));
3420
2885
  return new ArrayCtor();
@@ -3446,7 +2911,7 @@ var __exports__ = (() => {
3446
2911
  return __asyncGenerator(this, arguments, function* () {
3447
2912
  let r = null;
3448
2913
  do {
3449
- r = yield __await(it.next(yield yield __await(toArrayBufferView2(ArrayCtor, r))));
2914
+ r = yield __await(it.next(yield yield __await(toArrayBufferView(ArrayCtor, r))));
3450
2915
  } while (!r.done);
3451
2916
  });
3452
2917
  })(buffers[Symbol.asyncIterator]()))))
@@ -3486,17 +2951,17 @@ var __exports__ = (() => {
3486
2951
  init_utf8();
3487
2952
  init_compat();
3488
2953
  SharedArrayBuf = typeof SharedArrayBuffer !== "undefined" ? SharedArrayBuffer : ArrayBuffer;
3489
- toInt8Array = (input2) => toArrayBufferView2(Int8Array, input2);
3490
- toInt16Array = (input2) => toArrayBufferView2(Int16Array, input2);
3491
- toInt32Array = (input2) => toArrayBufferView2(Int32Array, input2);
3492
- toBigInt64Array = (input2) => toArrayBufferView2(BigInt64Array, input2);
3493
- toUint8Array = (input2) => toArrayBufferView2(Uint8Array, input2);
3494
- toUint16Array = (input2) => toArrayBufferView2(Uint16Array, input2);
3495
- toUint32Array = (input2) => toArrayBufferView2(Uint32Array, input2);
3496
- toBigUint64Array = (input2) => toArrayBufferView2(BigUint64Array, input2);
3497
- toFloat32Array = (input2) => toArrayBufferView2(Float32Array, input2);
3498
- toFloat64Array = (input2) => toArrayBufferView2(Float64Array, input2);
3499
- toUint8ClampedArray = (input2) => toArrayBufferView2(Uint8ClampedArray, input2);
2954
+ toInt8Array = (input2) => toArrayBufferView(Int8Array, input2);
2955
+ toInt16Array = (input2) => toArrayBufferView(Int16Array, input2);
2956
+ toInt32Array = (input2) => toArrayBufferView(Int32Array, input2);
2957
+ toBigInt64Array = (input2) => toArrayBufferView(BigInt64Array, input2);
2958
+ toUint8Array = (input2) => toArrayBufferView(Uint8Array, input2);
2959
+ toUint16Array = (input2) => toArrayBufferView(Uint16Array, input2);
2960
+ toUint32Array = (input2) => toArrayBufferView(Uint32Array, input2);
2961
+ toBigUint64Array = (input2) => toArrayBufferView(BigUint64Array, input2);
2962
+ toFloat32Array = (input2) => toArrayBufferView(Float32Array, input2);
2963
+ toFloat64Array = (input2) => toArrayBufferView(Float64Array, input2);
2964
+ toUint8ClampedArray = (input2) => toArrayBufferView(Uint8ClampedArray, input2);
3500
2965
  pump = (iterator) => {
3501
2966
  iterator.next();
3502
2967
  return iterator;
@@ -3633,7 +3098,7 @@ var __exports__ = (() => {
3633
3098
  return __asyncGenerator(this, arguments, function* fromNodeStream_1() {
3634
3099
  const events = [];
3635
3100
  let event = "error";
3636
- let done = false, err3 = null;
3101
+ let done = false, err = null;
3637
3102
  let cmd, size, bufferLength = 0;
3638
3103
  let buffers = [], buffer;
3639
3104
  function byteRange() {
@@ -3653,7 +3118,7 @@ var __exports__ = (() => {
3653
3118
  events[1] = onEvent(stream, "error");
3654
3119
  do {
3655
3120
  events[2] = onEvent(stream, "readable");
3656
- [event, err3] = yield __await(Promise.race(events.map((x) => x[2])));
3121
+ [event, err] = yield __await(Promise.race(events.map((x) => x[2])));
3657
3122
  if (event === "error") {
3658
3123
  break;
3659
3124
  }
@@ -3678,10 +3143,10 @@ var __exports__ = (() => {
3678
3143
  }
3679
3144
  } while (!done);
3680
3145
  } finally {
3681
- yield __await(cleanup(events, event === "error" ? err3 : null));
3146
+ yield __await(cleanup(events, event === "error" ? err : null));
3682
3147
  }
3683
3148
  return yield __await(null);
3684
- function cleanup(events2, err4) {
3149
+ function cleanup(events2, err2) {
3685
3150
  buffer = buffers = null;
3686
3151
  return new Promise((resolve, reject) => {
3687
3152
  for (const [evt, fn] of events2) {
@@ -3689,12 +3154,12 @@ var __exports__ = (() => {
3689
3154
  }
3690
3155
  try {
3691
3156
  const destroy = stream["destroy"];
3692
- destroy && destroy.call(stream, err4);
3693
- err4 = void 0;
3157
+ destroy && destroy.call(stream, err2);
3158
+ err2 = void 0;
3694
3159
  } catch (e) {
3695
- err4 = e || err4;
3160
+ err2 = e || err2;
3696
3161
  } finally {
3697
- err4 != null ? reject(err4) : resolve();
3162
+ err2 != null ? reject(err2) : resolve();
3698
3163
  }
3699
3164
  });
3700
3165
  }
@@ -6648,7 +6113,7 @@ var __exports__ = (() => {
6648
6113
  });
6649
6114
  function BigNum(x, ...xs) {
6650
6115
  if (xs.length === 0) {
6651
- return Object.setPrototypeOf(toArrayBufferView2(this["TypedArray"], x), this.constructor.prototype);
6116
+ return Object.setPrototypeOf(toArrayBufferView(this["TypedArray"], x), this.constructor.prototype);
6652
6117
  }
6653
6118
  return Object.setPrototypeOf(new this["TypedArray"](x, ...xs), this.constructor.prototype);
6654
6119
  }
@@ -7991,30 +7456,30 @@ var __exports__ = (() => {
7991
7456
  return 32256;
7992
7457
  }
7993
7458
  f64[0] = d;
7994
- const sign = (u322[1] & 2147483648) >> 16 & 65535;
7995
- let expo = u322[1] & 2146435072, sigf = 0;
7459
+ const sign = (u32[1] & 2147483648) >> 16 & 65535;
7460
+ let expo = u32[1] & 2146435072, sigf = 0;
7996
7461
  if (expo >= 1089470464) {
7997
- if (u322[0] > 0) {
7462
+ if (u32[0] > 0) {
7998
7463
  expo = 31744;
7999
7464
  } else {
8000
7465
  expo = (expo & 2080374784) >> 16;
8001
- sigf = (u322[1] & 1048575) >> 10;
7466
+ sigf = (u32[1] & 1048575) >> 10;
8002
7467
  }
8003
7468
  } else if (expo <= 1056964608) {
8004
- sigf = 1048576 + (u322[1] & 1048575);
7469
+ sigf = 1048576 + (u32[1] & 1048575);
8005
7470
  sigf = 1048576 + (sigf << (expo >> 20) - 998) >> 21;
8006
7471
  expo = 0;
8007
7472
  } else {
8008
7473
  expo = expo - 1056964608 >> 10;
8009
- sigf = (u322[1] & 1048575) + 512 >> 10;
7474
+ sigf = (u32[1] & 1048575) + 512 >> 10;
8010
7475
  }
8011
7476
  return sign | expo | sigf & 65535;
8012
7477
  }
8013
- var f64, u322;
7478
+ var f64, u32;
8014
7479
  var init_math = __esm({
8015
7480
  "../../node_modules/apache-arrow/util/math.mjs"() {
8016
7481
  f64 = new Float64Array(1);
8017
- u322 = new Uint32Array(f64.buffer);
7482
+ u32 = new Uint32Array(f64.buffer);
8018
7483
  }
8019
7484
  });
8020
7485
 
@@ -9337,21 +8802,21 @@ var __exports__ = (() => {
9337
8802
  visitBool(props) {
9338
8803
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9339
8804
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9340
- const data = toArrayBufferView2(type.ArrayType, props["data"]);
8805
+ const data = toArrayBufferView(type.ArrayType, props["data"]);
9341
8806
  const { ["length"]: length = data.length >> 3, ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9342
8807
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
9343
8808
  }
9344
8809
  visitInt(props) {
9345
8810
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9346
8811
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9347
- const data = toArrayBufferView2(type.ArrayType, props["data"]);
8812
+ const data = toArrayBufferView(type.ArrayType, props["data"]);
9348
8813
  const { ["length"]: length = data.length, ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9349
8814
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
9350
8815
  }
9351
8816
  visitFloat(props) {
9352
8817
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9353
8818
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9354
- const data = toArrayBufferView2(type.ArrayType, props["data"]);
8819
+ const data = toArrayBufferView(type.ArrayType, props["data"]);
9355
8820
  const { ["length"]: length = data.length, ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9356
8821
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
9357
8822
  }
@@ -9366,7 +8831,7 @@ var __exports__ = (() => {
9366
8831
  visitUtf8View(props) {
9367
8832
  var _a7;
9368
8833
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9369
- const views = toArrayBufferView2(type.ArrayType, props["views"]);
8834
+ const views = toArrayBufferView(type.ArrayType, props["views"]);
9370
8835
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9371
8836
  const variadicBuffers = (props["variadicBuffers"] || []).map((buffer) => toUint8Array(buffer));
9372
8837
  const length = (_a7 = props["length"]) !== null && _a7 !== void 0 ? _a7 : Math.trunc(views.length / Utf8View2.ELEMENT_WIDTH);
@@ -9392,7 +8857,7 @@ var __exports__ = (() => {
9392
8857
  visitBinaryView(props) {
9393
8858
  var _a7;
9394
8859
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9395
- const views = toArrayBufferView2(type.ArrayType, props["views"]);
8860
+ const views = toArrayBufferView(type.ArrayType, props["views"]);
9396
8861
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9397
8862
  const variadicBuffers = (props["variadicBuffers"] || []).map((buffer) => toUint8Array(buffer));
9398
8863
  const length = (_a7 = props["length"]) !== null && _a7 !== void 0 ? _a7 : Math.trunc(views.length / BinaryView2.ELEMENT_WIDTH);
@@ -9410,35 +8875,35 @@ var __exports__ = (() => {
9410
8875
  visitFixedSizeBinary(props) {
9411
8876
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9412
8877
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9413
- const data = toArrayBufferView2(type.ArrayType, props["data"]);
8878
+ const data = toArrayBufferView(type.ArrayType, props["data"]);
9414
8879
  const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9415
8880
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
9416
8881
  }
9417
8882
  visitDate(props) {
9418
8883
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9419
8884
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9420
- const data = toArrayBufferView2(type.ArrayType, props["data"]);
8885
+ const data = toArrayBufferView(type.ArrayType, props["data"]);
9421
8886
  const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9422
8887
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
9423
8888
  }
9424
8889
  visitTimestamp(props) {
9425
8890
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9426
8891
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9427
- const data = toArrayBufferView2(type.ArrayType, props["data"]);
8892
+ const data = toArrayBufferView(type.ArrayType, props["data"]);
9428
8893
  const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9429
8894
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
9430
8895
  }
9431
8896
  visitTime(props) {
9432
8897
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9433
8898
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9434
- const data = toArrayBufferView2(type.ArrayType, props["data"]);
8899
+ const data = toArrayBufferView(type.ArrayType, props["data"]);
9435
8900
  const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9436
8901
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
9437
8902
  }
9438
8903
  visitDecimal(props) {
9439
8904
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9440
8905
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9441
- const data = toArrayBufferView2(type.ArrayType, props["data"]);
8906
+ const data = toArrayBufferView(type.ArrayType, props["data"]);
9442
8907
  const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9443
8908
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
9444
8909
  }
@@ -9464,7 +8929,7 @@ var __exports__ = (() => {
9464
8929
  }
9465
8930
  visitUnion(props) {
9466
8931
  const { ["type"]: type, ["offset"]: offset = 0, ["children"]: children = [] } = props;
9467
- const typeIds = toArrayBufferView2(type.ArrayType, props["typeIds"]);
8932
+ const typeIds = toArrayBufferView(type.ArrayType, props["typeIds"]);
9468
8933
  const { ["length"]: length = typeIds.length, ["nullCount"]: nullCount = -1 } = props;
9469
8934
  if (DataType.isSparseUnion(type)) {
9470
8935
  return new Data(type, offset, length, nullCount, [void 0, void 0, void 0, typeIds], children);
@@ -9475,7 +8940,7 @@ var __exports__ = (() => {
9475
8940
  visitDictionary(props) {
9476
8941
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9477
8942
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9478
- const data = toArrayBufferView2(type.indices.ArrayType, props["data"]);
8943
+ const data = toArrayBufferView(type.indices.ArrayType, props["data"]);
9479
8944
  const { ["dictionary"]: dictionary = new Vector([new _MakeDataVisitor().visit({ type: type.dictionary })]) } = props;
9480
8945
  const { ["length"]: length = data.length, ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9481
8946
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap], [], dictionary);
@@ -9483,14 +8948,14 @@ var __exports__ = (() => {
9483
8948
  visitInterval(props) {
9484
8949
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9485
8950
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9486
- const data = toArrayBufferView2(type.ArrayType, props["data"]);
8951
+ const data = toArrayBufferView(type.ArrayType, props["data"]);
9487
8952
  const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9488
8953
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
9489
8954
  }
9490
8955
  visitDuration(props) {
9491
8956
  const { ["type"]: type, ["offset"]: offset = 0 } = props;
9492
8957
  const nullBitmap = toUint8Array(props["nullBitmap"]);
9493
- const data = toArrayBufferView2(type.ArrayType, props["data"]);
8958
+ const data = toArrayBufferView(type.ArrayType, props["data"]);
9494
8959
  const { ["length"]: length = data.length, ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
9495
8960
  return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
9496
8961
  }
@@ -10808,8 +10273,8 @@ return true;`);
10808
10273
  static startFooter(builder) {
10809
10274
  builder.startObject(5);
10810
10275
  }
10811
- static addVersion(builder, version3) {
10812
- builder.addFieldInt16(0, version3, MetadataVersion.V1);
10276
+ static addVersion(builder, version7) {
10277
+ builder.addFieldInt16(0, version7, MetadataVersion.V1);
10813
10278
  }
10814
10279
  static addSchema(builder, schemaOffset) {
10815
10280
  builder.addFieldOffset(1, schemaOffset, 0);
@@ -11032,8 +10497,8 @@ return true;`);
11032
10497
  const b = new Builder3();
11033
10498
  const schemaOffset = Schema2.encode(b, footer.schema);
11034
10499
  Footer.startRecordBatchesVector(b, footer.numRecordBatches);
11035
- for (const rb2 of [...footer.recordBatches()].slice().reverse()) {
11036
- FileBlock.encode(b, rb2);
10500
+ for (const rb of [...footer.recordBatches()].slice().reverse()) {
10501
+ FileBlock.encode(b, rb);
11037
10502
  }
11038
10503
  const recordBatchesOffset = b.endVector();
11039
10504
  Footer.startDictionariesVector(b, footer.numDictionaries);
@@ -11055,9 +10520,9 @@ return true;`);
11055
10520
  get numDictionaries() {
11056
10521
  return this._dictionaryBatches.length;
11057
10522
  }
11058
- constructor(schema, version3 = MetadataVersion.V5, recordBatches, dictionaryBatches) {
10523
+ constructor(schema, version7 = MetadataVersion.V5, recordBatches, dictionaryBatches) {
11059
10524
  this.schema = schema;
11060
- this.version = version3;
10525
+ this.version = version7;
11061
10526
  recordBatches && (this._recordBatches = recordBatches);
11062
10527
  dictionaryBatches && (this._dictionaryBatches = dictionaryBatches);
11063
10528
  }
@@ -11185,8 +10650,8 @@ return true;`);
11185
10650
  static startMessage(builder) {
11186
10651
  builder.startObject(5);
11187
10652
  }
11188
- static addVersion(builder, version3) {
11189
- builder.addFieldInt16(0, version3, MetadataVersion.V1);
10653
+ static addVersion(builder, version7) {
10654
+ builder.addFieldInt16(0, version7, MetadataVersion.V1);
11190
10655
  }
11191
10656
  static addHeaderType(builder, headerType) {
11192
10657
  builder.addFieldInt8(1, headerType, MessageHeader.NONE);
@@ -11220,9 +10685,9 @@ return true;`);
11220
10685
  static finishSizePrefixedMessageBuffer(builder, offset) {
11221
10686
  builder.finish(offset, void 0, true);
11222
10687
  }
11223
- static createMessage(builder, version3, headerType, headerOffset, bodyLength, customMetadataOffset) {
10688
+ static createMessage(builder, version7, headerType, headerOffset, bodyLength, customMetadataOffset) {
11224
10689
  _Message.startMessage(builder);
11225
- _Message.addVersion(builder, version3);
10690
+ _Message.addVersion(builder, version7);
11226
10691
  _Message.addHeaderType(builder, headerType);
11227
10692
  _Message.addHeader(builder, headerOffset);
11228
10693
  _Message.addBodyLength(builder, bodyLength);
@@ -11594,16 +11059,16 @@ return true;`);
11594
11059
  throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);
11595
11060
  });
11596
11061
  }
11597
- function decodeSchema(_schema, dictionaries = /* @__PURE__ */ new Map(), version3 = MetadataVersion.V5) {
11062
+ function decodeSchema(_schema, dictionaries = /* @__PURE__ */ new Map(), version7 = MetadataVersion.V5) {
11598
11063
  const fields = decodeSchemaFields(_schema, dictionaries);
11599
- return new Schema2(fields, decodeCustomMetadata(_schema), dictionaries, version3);
11064
+ return new Schema2(fields, decodeCustomMetadata(_schema), dictionaries, version7);
11600
11065
  }
11601
- function decodeRecordBatch(batch, version3 = MetadataVersion.V5) {
11602
- const recordBatch = new RecordBatch2(batch.length(), decodeFieldNodes(batch), decodeBuffers(batch, version3), decodeBodyCompression(batch.compression()), decodeVariadicBufferCounts(batch));
11066
+ function decodeRecordBatch(batch, version7 = MetadataVersion.V5) {
11067
+ const recordBatch = new RecordBatch2(batch.length(), decodeFieldNodes(batch), decodeBuffers(batch, version7), decodeBodyCompression(batch.compression()), decodeVariadicBufferCounts(batch));
11603
11068
  return recordBatch;
11604
11069
  }
11605
- function decodeDictionaryBatch(batch, version3 = MetadataVersion.V5) {
11606
- return new DictionaryBatch2(RecordBatch2.decode(batch.data(), version3), batch.id(), batch.isDelta());
11070
+ function decodeDictionaryBatch(batch, version7 = MetadataVersion.V5) {
11071
+ return new DictionaryBatch2(RecordBatch2.decode(batch.data(), version7), batch.id(), batch.isDelta());
11607
11072
  }
11608
11073
  function decodeBufferRegion(b) {
11609
11074
  return new BufferRegion(b.offset(), b.length());
@@ -11620,11 +11085,11 @@ return true;`);
11620
11085
  }
11621
11086
  return nodes;
11622
11087
  }
11623
- function decodeBuffers(batch, version3) {
11088
+ function decodeBuffers(batch, version7) {
11624
11089
  const bufferRegions = [];
11625
11090
  for (let b, i = -1, j = -1, n = batch.buffersLength(); ++i < n; ) {
11626
11091
  if (b = batch.buffers(i)) {
11627
- if (version3 < MetadataVersion.V4) {
11092
+ if (version7 < MetadataVersion.V4) {
11628
11093
  b.bb_pos += 8 * (i + 1);
11629
11094
  }
11630
11095
  bufferRegions[++j] = BufferRegion.decode(b);
@@ -11949,10 +11414,10 @@ return true;`);
11949
11414
  buf = new ByteBuffer3(toUint8Array(buf));
11950
11415
  const _message = Message.getRootAsMessage(buf);
11951
11416
  const bodyLength = _message.bodyLength();
11952
- const version3 = _message.version();
11417
+ const version7 = _message.version();
11953
11418
  const headerType = _message.headerType();
11954
11419
  const metadata = decodeMessageCustomMetadata(_message);
11955
- const message = new _Message(bodyLength, version3, headerType, void 0, metadata);
11420
+ const message = new _Message(bodyLength, version7, headerType, void 0, metadata);
11956
11421
  message._createHeader = decodeMessageHeader(_message, headerType);
11957
11422
  return message;
11958
11423
  }
@@ -12029,8 +11494,8 @@ return true;`);
12029
11494
  isDictionaryBatch() {
12030
11495
  return this.headerType === MessageHeader.DictionaryBatch;
12031
11496
  }
12032
- constructor(bodyLength, version3, headerType, header, metadata) {
12033
- this._version = version3;
11497
+ constructor(bodyLength, version7, headerType, header, metadata) {
11498
+ this._version = version7;
12034
11499
  this._headerType = headerType;
12035
11500
  this.body = new Uint8Array(0);
12036
11501
  this._compression = header === null || header === void 0 ? void 0 : header.compression;
@@ -13193,21 +12658,21 @@ return true;`);
13193
12658
  return nullCount <= 0 ? new Uint8Array(0) : packBools(this.sources[offset]);
13194
12659
  }
13195
12660
  readOffsets(_type, { offset } = this.nextBufferRange()) {
13196
- return toArrayBufferView2(Uint8Array, toArrayBufferView2(_type.OffsetArrayType, this.sources[offset]));
12661
+ return toArrayBufferView(Uint8Array, toArrayBufferView(_type.OffsetArrayType, this.sources[offset]));
13197
12662
  }
13198
12663
  readTypeIds(type, { offset } = this.nextBufferRange()) {
13199
- return toArrayBufferView2(Uint8Array, toArrayBufferView2(type.ArrayType, this.sources[offset]));
12664
+ return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, this.sources[offset]));
13200
12665
  }
13201
12666
  readData(type, { offset } = this.nextBufferRange()) {
13202
12667
  const { sources } = this;
13203
12668
  if (DataType.isTimestamp(type)) {
13204
- return toArrayBufferView2(Uint8Array, Int642.convertArray(sources[offset]));
12669
+ return toArrayBufferView(Uint8Array, Int642.convertArray(sources[offset]));
13205
12670
  } else if ((DataType.isInt(type) || DataType.isTime(type)) && type.bitWidth === 64 || DataType.isDuration(type)) {
13206
- return toArrayBufferView2(Uint8Array, Int642.convertArray(sources[offset]));
12671
+ return toArrayBufferView(Uint8Array, Int642.convertArray(sources[offset]));
13207
12672
  } else if (DataType.isDate(type) && type.unit === DateUnit.MILLISECOND) {
13208
- return toArrayBufferView2(Uint8Array, Int642.convertArray(sources[offset]));
12673
+ return toArrayBufferView(Uint8Array, Int642.convertArray(sources[offset]));
13209
12674
  } else if (DataType.isDecimal(type)) {
13210
- return toArrayBufferView2(Uint8Array, Int128.convertArray(sources[offset]));
12675
+ return toArrayBufferView(Uint8Array, Int128.convertArray(sources[offset]));
13211
12676
  } else if (DataType.isBinary(type) || DataType.isLargeBinary(type) || DataType.isFixedSizeBinary(type)) {
13212
12677
  return binaryDataFromJSON(sources[offset]);
13213
12678
  } else if (DataType.isBinaryView(type)) {
@@ -13228,7 +12693,7 @@ return true;`);
13228
12693
  break;
13229
12694
  }
13230
12695
  }
13231
- return toArrayBufferView2(Uint8Array, toArrayBufferView2(type.ArrayType, sources[offset].map((x) => +x)));
12696
+ return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, sources[offset].map((x) => +x)));
13232
12697
  }
13233
12698
  readVariadicBuffers(length) {
13234
12699
  const buffers = [];
@@ -14846,7 +14311,7 @@ return true;`);
14846
14311
  });
14847
14312
 
14848
14313
  // ../../node_modules/apache-arrow/recordbatch.mjs
14849
- function ensureSameLengthData(schema, chunks, maxLength = chunks.reduce((max2, col) => Math.max(max2, col.length), 0)) {
14314
+ function ensureSameLengthData(schema, chunks, maxLength = chunks.reduce((max, col) => Math.max(max, col.length), 0)) {
14850
14315
  var _b2;
14851
14316
  const fields = [...schema.fields];
14852
14317
  const children = [...chunks];
@@ -15511,8 +14976,8 @@ return true;`);
15511
14976
  });
15512
14977
 
15513
14978
  // ../../node_modules/apache-arrow/ipc/reader.mjs
15514
- function shouldAutoDestroy(self, options) {
15515
- return options && typeof options["autoDestroy"] === "boolean" ? options["autoDestroy"] : self["autoDestroy"];
14979
+ function shouldAutoDestroy(self2, options) {
14980
+ return options && typeof options["autoDestroy"] === "boolean" ? options["autoDestroy"] : self2["autoDestroy"];
15516
14981
  }
15517
14982
  function* readAllSync(source) {
15518
14983
  const reader = RecordBatchReader.from(source);
@@ -17325,12 +16790,12 @@ return true;`);
17325
16790
  return makeGaussianSplatsArrowTable(await parseSPZToGaussianSplats(data, options));
17326
16791
  }
17327
16792
  async function parseSPZToGaussianSplats(data, options) {
17328
- const version3 = detectSPZVersion(data);
17329
- if (version3 === 0) {
16793
+ const version7 = detectSPZVersion(data);
16794
+ if (version7 === 0) {
17330
16795
  return await parseLegacySPZ(data, options);
17331
16796
  }
17332
- if (version3 !== SPZ_VERSION) {
17333
- throw new Error(`SPZLoader: version ${version3} is not supported.`);
16797
+ if (version7 !== SPZ_VERSION) {
16798
+ throw new Error(`SPZLoader: version ${version7} is not supported.`);
17334
16799
  }
17335
16800
  const header = parseSPZHeader(data);
17336
16801
  const streamInfos = parseSPZStreamInfos(data, header, getSPZStreamByteLengths(header));
@@ -17725,7 +17190,7 @@ return true;`);
17725
17190
  var init_parse_spz = __esm({
17726
17191
  "src/lib/parse-spz.ts"() {
17727
17192
  "use strict";
17728
- init_src2();
17193
+ init_src();
17729
17194
  init_splats_arrow_table();
17730
17195
  init_splat_utils();
17731
17196
  SPZ_HEADER_BYTE_LENGTH = 32;
@@ -17824,7 +17289,7 @@ return true;`);
17824
17289
  });
17825
17290
 
17826
17291
  // src/splat-loader-types.ts
17827
- async function preload() {
17292
+ async function preload3() {
17828
17293
  const { SPLATLoaderWithParser: SPLATLoaderWithParser2 } = await Promise.resolve().then(() => (init_splat_loader(), splat_loader_exports));
17829
17294
  return SPLATLoaderWithParser2;
17830
17295
  }
@@ -17844,7 +17309,7 @@ return true;`);
17844
17309
  shape: "arrow-table"
17845
17310
  }
17846
17311
  },
17847
- preload
17312
+ preload: preload3
17848
17313
  };
17849
17314
  }
17850
17315
  });
@@ -18230,7 +17695,7 @@ return true;`);
18230
17695
  });
18231
17696
 
18232
17697
  // src/ksplat-loader-types.ts
18233
- async function preload2() {
17698
+ async function preload4() {
18234
17699
  const { KSPLATLoaderWithParser: KSPLATLoaderWithParser2 } = await Promise.resolve().then(() => (init_ksplat_loader(), ksplat_loader_exports));
18235
17700
  return KSPLATLoaderWithParser2;
18236
17701
  }
@@ -18250,7 +17715,7 @@ return true;`);
18250
17715
  shape: "arrow-table"
18251
17716
  }
18252
17717
  },
18253
- preload: preload2
17718
+ preload: preload4
18254
17719
  };
18255
17720
  }
18256
17721
  });
@@ -18275,7 +17740,7 @@ return true;`);
18275
17740
  });
18276
17741
 
18277
17742
  // src/spz-loader-types.ts
18278
- async function preload3() {
17743
+ async function preload5() {
18279
17744
  const { SPZLoaderWithParser: SPZLoaderWithParser2 } = await Promise.resolve().then(() => (init_spz_loader(), spz_loader_exports));
18280
17745
  return SPZLoaderWithParser2;
18281
17746
  }
@@ -18295,7 +17760,7 @@ return true;`);
18295
17760
  shape: "arrow-table"
18296
17761
  }
18297
17762
  },
18298
- preload: preload3
17763
+ preload: preload5
18299
17764
  };
18300
17765
  }
18301
17766
  });
@@ -18309,7 +17774,7 @@ return true;`);
18309
17774
  NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES,
18310
17775
  aborted: () => aborted,
18311
17776
  allowsEval: () => allowsEval,
18312
- assert: () => assert2,
17777
+ assert: () => assert3,
18313
17778
  assertEqual: () => assertEqual,
18314
17779
  assertIs: () => assertIs,
18315
17780
  assertNever: () => assertNever,
@@ -18393,7 +17858,7 @@ return true;`);
18393
17858
  function assertNever(_x2) {
18394
17859
  throw new Error("Unexpected value in exhaustive check");
18395
17860
  }
18396
- function assert2(_) {
17861
+ function assert3(_) {
18397
17862
  }
18398
17863
  function getEnumValues(entries) {
18399
17864
  const numericValues = Object.values(entries).filter((v) => typeof v === "number");
@@ -18997,10 +18462,10 @@ return true;`);
18997
18462
  Object.defineProperty(this, key, { configurable: true, writable: true, value });
18998
18463
  broke = broke || outer;
18999
18464
  return value;
19000
- } catch (err3) {
18465
+ } catch (err) {
19001
18466
  delete this[key];
19002
18467
  broke = broke || outer;
19003
- throw err3;
18468
+ throw err;
19004
18469
  }
19005
18470
  },
19006
18471
  set(value) {
@@ -19588,18 +19053,18 @@ return true;`);
19588
19053
  return result.issues.length === 0;
19589
19054
  };
19590
19055
  _encode = (_Err) => {
19591
- const parse3 = _parse(_Err);
19056
+ const parse4 = _parse(_Err);
19592
19057
  const fn = (schema, value, _ctx, _params) => {
19593
19058
  const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" };
19594
- return parse3(schema, value, ctx, finalizeParams(fn, _params));
19059
+ return parse4(schema, value, ctx, finalizeParams(fn, _params));
19595
19060
  };
19596
19061
  return fn;
19597
19062
  };
19598
19063
  encode = /* @__PURE__ */ _encode($ZodRealError);
19599
19064
  _decode = (_Err) => {
19600
- const parse3 = _parse(_Err);
19065
+ const parse4 = _parse(_Err);
19601
19066
  const fn = (schema, value, _ctx, _params) => {
19602
- return parse3(schema, value, _ctx, finalizeParams(fn, _params));
19067
+ return parse4(schema, value, _ctx, finalizeParams(fn, _params));
19603
19068
  };
19604
19069
  return fn;
19605
19070
  };
@@ -19754,10 +19219,10 @@ return true;`);
19754
19219
  duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;
19755
19220
  extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
19756
19221
  guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
19757
- uuid = (version3) => {
19758
- if (!version3)
19222
+ uuid = (version7) => {
19223
+ if (!version7)
19759
19224
  return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
19760
- return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version3}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
19225
+ return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version7}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
19761
19226
  };
19762
19227
  uuid4 = /* @__PURE__ */ uuid(4);
19763
19228
  uuid6 = /* @__PURE__ */ uuid(6);
@@ -20351,10 +19816,10 @@ ${content.join("\n")}
20351
19816
  });
20352
19817
 
20353
19818
  // ../../node_modules/zod/v4/core/versions.js
20354
- var version2;
19819
+ var version4;
20355
19820
  var init_versions = __esm({
20356
19821
  "../../node_modules/zod/v4/core/versions.js"() {
20357
- version2 = {
19822
+ version4 = {
20358
19823
  major: 4,
20359
19824
  minor: 6,
20360
19825
  patch: 5
@@ -21035,7 +20500,7 @@ ${content.join("\n")}
21035
20500
  inst ?? (inst = {});
21036
20501
  inst._zod.def = def;
21037
20502
  inst._zod.bag = inst._zod.bag || {};
21038
- inst._zod.version = version2;
20503
+ inst._zod.version = version4;
21039
20504
  const defChecks = inst._zod.def.checks;
21040
20505
  const checks = inst._zod.traits.has("$ZodCheck") ? [inst, ...defChecks ?? []] : defChecks?.length ? [...defChecks] : [];
21041
20506
  for (const ch of checks) {
@@ -31149,9 +30614,9 @@ ${content.join("\n")}
31149
30614
  const clone2 = withParser(schema, parser);
31150
30615
  clone2._zod.bag.validator = compileValidator(schema, parser);
31151
30616
  return clone2;
31152
- } catch (err3) {
30617
+ } catch (err) {
31153
30618
  if (options?.strict)
31154
- throw err3;
30619
+ throw err;
31155
30620
  return schema;
31156
30621
  }
31157
30622
  }
@@ -31241,8 +30706,8 @@ ${code}
31241
30706
  try {
31242
30707
  const factory = new F(...constantNames, factoryCode);
31243
30708
  fn = factory(...constantValues);
31244
- } catch (err3) {
31245
- throw new ZodCompileUnsupportedError(`this schema (generated code failed to evaluate: ${err3.message})`);
30709
+ } catch (err) {
30710
+ throw new ZodCompileUnsupportedError(`this schema (generated code failed to evaluate: ${err.message})`);
31246
30711
  }
31247
30712
  if (options?.debug) {
31248
30713
  fn.code = fullCode;
@@ -31280,9 +30745,9 @@ ${code}
31280
30745
  const varCounter = ctx.varCounter;
31281
30746
  try {
31282
30747
  return generateCheck(doc, ctx, schema, accessor, needsValue);
31283
- } catch (err3) {
31284
- if (!(err3 instanceof ZodCompileUnsupportedError) || !err3.islandable)
31285
- throw err3;
30748
+ } catch (err) {
30749
+ if (!(err instanceof ZodCompileUnsupportedError) || !err.islandable)
30750
+ throw err;
31286
30751
  doc.content.length = contentLen;
31287
30752
  if (ctx.constants.size > constantCount) {
31288
30753
  const trailing = Array.from(ctx.constants.keys()).slice(constantCount);
@@ -31333,9 +30798,9 @@ ${code}
31333
30798
  break;
31334
30799
  }
31335
30800
  case "max_length": {
31336
- const max2 = numericOperand(def.maximum, "max_length");
31337
- const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length > ${max2}`);
31338
- doc.write(`if (${len} > ${max2}) return INVALID;`);
30801
+ const max = numericOperand(def.maximum, "max_length");
30802
+ const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length > ${max}`);
30803
+ doc.write(`if (${len} > ${max}) return INVALID;`);
31339
30804
  break;
31340
30805
  }
31341
30806
  case "length_equals": {
@@ -35515,7 +34980,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
35515
34980
  validate: () => validate,
35516
34981
  validateAsync: () => validateAsync,
35517
34982
  validateURL: () => validateURL,
35518
- version: () => version2,
34983
+ version: () => version4,
35519
34984
  withParser: () => withParser
35520
34985
  });
35521
34986
  var init_core2 = __esm({
@@ -35611,15 +35076,15 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
35611
35076
  if (_installedErrorProtos.has(proto))
35612
35077
  return;
35613
35078
  _installedErrorProtos.add(proto);
35614
- _lazyMethod(proto, "format", (self) => (mapper) => formatError(self, mapper));
35615
- _lazyMethod(proto, "flatten", (self) => (mapper) => flattenError(self, mapper));
35616
- _lazyMethod(proto, "addIssue", (self) => (issue2) => {
35617
- self.issues.push(issue2);
35618
- self.message = JSON.stringify(self.issues, jsonStringifyReplacer, 2);
35079
+ _lazyMethod(proto, "format", (self2) => (mapper) => formatError(self2, mapper));
35080
+ _lazyMethod(proto, "flatten", (self2) => (mapper) => flattenError(self2, mapper));
35081
+ _lazyMethod(proto, "addIssue", (self2) => (issue2) => {
35082
+ self2.issues.push(issue2);
35083
+ self2.message = JSON.stringify(self2.issues, jsonStringifyReplacer, 2);
35619
35084
  });
35620
- _lazyMethod(proto, "addIssues", (self) => (issues2) => {
35621
- self.issues.push(...issues2);
35622
- self.message = JSON.stringify(self.issues, jsonStringifyReplacer, 2);
35085
+ _lazyMethod(proto, "addIssues", (self2) => (issues2) => {
35086
+ self2.issues.push(...issues2);
35087
+ self2.message = JSON.stringify(self2.issues, jsonStringifyReplacer, 2);
35623
35088
  });
35624
35089
  Object.defineProperty(proto, "isEmpty", {
35625
35090
  configurable: true,
@@ -36983,7 +36448,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
36983
36448
  $ZodObjectJIT.init(inst, def);
36984
36449
  ZodType.init(inst, def);
36985
36450
  inst._zod.processJSONSchema = (ctx, json2, params) => objectProcessor(inst, ctx, json2, params);
36986
- util_exports.installLazyProp(inst, "shape", (self) => self._zod.def.shape, false);
36451
+ util_exports.installLazyProp(inst, "shape", (self2) => self2._zod.def.shape, false);
36987
36452
  }, {
36988
36453
  keyof() {
36989
36454
  return _enum2(Object.keys(this._zod.def.shape));
@@ -37995,10 +37460,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
37995
37460
  } catch {
37996
37461
  throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas");
37997
37462
  }
37998
- const version3 = detectVersion(normalized, params?.defaultTarget);
37463
+ const version7 = detectVersion(normalized, params?.defaultTarget);
37999
37464
  const defs = normalized.$defs || normalized.definitions || {};
38000
37465
  const ctx = {
38001
- version: version3,
37466
+ version: version7,
38002
37467
  defs,
38003
37468
  refs: /* @__PURE__ */ new Map(),
38004
37469
  processing: /* @__PURE__ */ new Set(),
@@ -38836,34 +38301,91 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
38836
38301
  }
38837
38302
  });
38838
38303
 
38839
- // ../compression/src/deflate-decompressor-fflate.ts
38840
- var DeflateFflateDecompressor;
38841
- var init_deflate_decompressor_fflate = __esm({
38842
- "../compression/src/deflate-decompressor-fflate.ts"() {
38304
+ // compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/zlib/decompress/zlib.wasm
38305
+ var zlib_default;
38306
+ var init_zlib = __esm({
38307
+ "compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/zlib/decompress/zlib.wasm"() {
38308
+ zlib_default = "data:application/wasm;base64,AGFzbQEAAAABcRFgAn9/AGADf39/AX9gAX8Bf2ABfwBgBX9/f39/AX9gAn9/AX9gBH9/f38Bf2AFf35+fn4AYAR+fn5+AX9gBH9+fn8AYAABf2ADf39/AGAGf39/f39/AX9gAABgBH9+fn4AYAV/f39/fwBgA39/fgF/AzQzDQ4HBwgICQkCBQIFAwoCAAEECgIDBAYFBAEDCwsPBgUFAgECBAQBAwwCAwYCAQEBAAwQBAUBcAEQEAUEAQCBAgYJAX8BQYCAgAgLB7ICDwZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAACmN1X3ZlcnNpb24ADRZjdV9hbGdvcml0aG1fYXZhaWxhYmxlAA4NY3VfbGFzdF9lcnJvcgASC2N1X3N0cmVycm9yABMcY3Vfc2V0X21heF9kZWNvbXByZXNzZWRfc2l6ZQAUDWN1X2RlY29tcHJlc3MAFRdjdV9kZWNvbXByZXNzX3NpemVfaGludAAWG2N1X2RlY29tcHJlc3Nfc3RyZWFtX2NyZWF0ZQAXGmN1X2RlY29tcHJlc3Nfc3RyZWFtX3dyaXRlABgbY3VfZGVjb21wcmVzc19zdHJlYW1fZmluaXNoABkcY3VfZGVjb21wcmVzc19zdHJlYW1fZGVzdHJveQAaCGN1X2FsbG9jACkHY3VfZnJlZQAqCRUBAEEBCw8QLzAeIiMkJicrIiwkJicMARIK8cICMxgAQYDagAgoAgAEQAALQYDagAhBATYCAAutCgIFfxB+IwBB4ABrIgQkACADQv///////z+DIQwgAiADhUKAgICAgICAgIB/gyELIAJC////////P4MiDUIgiCEPAkACQCACQjCIp0H//wFxIgZB//8Ba0GCgH5PIANCMIinQf//AXEiB0H//wFrQYKAfk9xDQAgAVAgAkL///////////8AgyIJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCwwCCyADQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AUXJFBEAgA0KAgICAgIAghCELQgAhAQwCCyABIAlCgICAgICAwP//AIWEUARAIAJQBEBCgICAgICA4P//ACELQgAhAQwDCyALQoCAgICAgMD//wCEIQtCACEBDAILIAJCgICAgICAwP//AIVQRQRAIAEgCYRQBEBCACEBDAMLIAJQBEBCACEBDAMLIAlCgICAgICAwABUBEAgBEHQAGogASANIA15IAF5QkB9IA1CAFIbp0EPa0H/AXEiBRAHQQEgBWshBSAEKQNYIg1CIIghDyAEKQNQIQELIAJCgICAgICAwABaDQEgBEFAa0IAIAwgDHlCgAEgDEIAUhunQQ9rQf8BcSIIEAcgBSAIa0EBaiEFIAQpA0ghDCAEKQNAIQoMAQsgASAJhEIAIQFQBEBCgICAgICA4P//ACELDAILIAtCgICAgICAwP//AIQhCwwBCyAKQg+GIglCgID+/w+DIgIgAUIgiCIDfiIRIAlCIIgiDiABQv////8PgyIBfnwiEEIghiISIAEgAn58IgkgElStIA1C/////w+DIg0gAn4iFSADIA5+fCISIAxCD4YiEyAKQjGIhEL/////D4MiCiABfnwiFCAQIBFUrUIghiAQQiCIhHwiECACIA9CgIAEhCIMfiIWIA0gDn58Ig8gE0IgiEKAgICACIQiAiABfnwiESADIAp+fCITQiCGfCIXfCEBIAYgB2ogBWpB//8AayEFAkAgAiADfiIYIAwgDn58IgMgGFStIAMgAyAKIA1+fCIOVq18IAIgDH58IAogDH4iAyACIA1+fCICIANUrUIghiACQiCIhHwgDiACQiCGfCICIA5UrXwgAiACIBIgFVStIBIgFFatfHwiA1atfCADIAMgESATVq0gDyAWVK0gDyARVq18fEIghiATQiCIhHwiClatfCAKIAogECAUVK0gECAXVq18fCICVq18IgNCgICAgICAwACDUEUEQCAFQQFqIQUMAQsgCUI/iCADQgGGIAJCP4iEIQMgAkIBhiABQj+IhCECIAlCAYYhCSABQgGGhCEBCyAFQf7/AUoEQCALQoCAgICAgMD//wCEIQtCACEBDAELAkAgBUEASgRAIANC////////P4MgBa1CMIaEIQoMAQtBASAFayIGQf8ATQRAIARBMGogAiADIAVBAWtB/wBxIgUQByAEQRBqIAkgASAGEAYgBEEgaiACIAMgBhAGIAQgCSABIAUQByAEKQMAIAQpAwiEQgBSrSAEKQMwIAQpAxCEhCEJIAQpAzggBCkDGIQhASAEKQMoIQogBCkDICECDAELQgAhAQwBCyAKIAIgAiAJQgBSIAFCgICAgICAgICAf1YgAUKAgICAgICAgIB/URutfCIDVq18IAMgAyAJIAFCgICAgICAgICAf4WEUK2DIgJ8IgEgAlStfCALhCELCyAAIAE3AwAgACALNwMIIARB4ABqJAALowkCBH8EfiMAQeAAayIFJAAgBEKAgICAgICAgIB/hSEKIARC////////////AIMhBAJAAkAgAVAiBiACQv///////////wCDIglCgICAgICAwP//AH1CgICAgICAwICAf1QgCVAbRQRAIANQIARCgICAgICAwP//AH0iC0KAgICAgIDAgIB/VCALQoCAgICAgMCAgH9RG0UNAQsgBiAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhAgwCCyADUCAEQoCAgICAgMD//wBUIARCgICAgICAwP//AFEbRQRAIApCgICAgICAIIQhAiADIQEMAgsgASAJQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIAqFQoCAgICAgICAgH+FhFAiBhshAkIAIAEgBhshAQwCCwJAIAMgBEKAgICAgIDA//8AhYRQDQAgASAJhFAEQCADIASEUEUNASABIAODIQEgAiAKgyECDAMLIAMgBIRQRQ0BDAILIAMhASAKIQIMAQsgAyABIAEgA1QgBCAJViAEIAlRGyIIGyEJIAogAiAIGyIMQv///////z+DIQQgAiAKIAgbIgtCMIinQf//AXEhByAMQjCIp0H//wFxIgZFBEAgBUHQAGogCSAEIAR5IAl5QkB9IARCAFIbp0EPa0H/AXEiBhAHQQEgBmshBiAFKQNQIQkgBSkDWCEECyABIAMgCBshASALQv///////z+DIQMgB0UEQCAFQUBrIAEgAyADeSABeUJAfSADQgBSG6dBD2tB/wFxIgcQB0EBIAdrIQcgBSkDSCEDIAUpA0AhAQsgA0IDhiABQj2IhEKAgICAgICABIQhAyAEQgOGIAlCPYiEIAFCA4YhBCACIAqFIQECQCAGIAdGDQAgBiAHayIHQf8ASwRAQgAhA0IBIQQMAQsgBUEwaiAEIANBACAHa0H/AHEQByAFQSBqIAQgAyAHEAYgBSkDICAFKQMwIAUpAziEQgBSrYQhBCAFKQMoIQMLQoCAgICAgIAEhCELIAlCA4YhCiAMQoCAgICAgICAgH+DIQkCQAJAAkAgAUIAUwRAQgAhAUIAIQIgBCAKhSADIAuFhFBFDQEMBAsgBCAKfCIBIARUrSADIAt8fCICQoCAgICAgIAIg1ANASAEQgGDIAJCP4YgAUIBiISEIQEgBkEBaiEGIAJCAYghAgwBCyAKIAR9IQEgCyADfSAEIApWrX0iAkL/////////A1YNACAFQRBqIAEgAiACeSABeUJAfSACQgBSG6dBDGsiBxAHIAYgB2shBiAFKQMYIQIgBSkDECEBDAELIAZB/v8BTA0AIAlCgICAgICAwP//AIQhAkIAIQEMAQsgBkEATARAIAUgASACQQQgBmsQBiAFKQMIIAmEIQIgBSkDACEBDAELIAJCPYYgAUIDiIQiAyABQgeDIgRCBFatfCIBIANUrSACQgOIQv///////z+DIAatQjCGhCAJhHwgASAEQgRRrYMiAiABfCIBIAJUrXwhAgsgACABNwMAIAAgAjcDCCAFQeAAaiQAC4wJAgR+BH8jAEHgAGsiCSQAIARC////////////AIMhBQJAAkAgAVAiCiACQv///////////wCDIgZCgICAgICAwP//AH1CgICAgICAwICAf1QgBlAbRQRAIANQIAVCgICAgICAwP//AH0iB0KAgICAgIDAgIB/VCAHQoCAgICAgMCAgH9RG0UNAQsgCiAGQoCAgICAgMD//wBUIAZCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgBUKAgICAgIDA//8AVCAFQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASAGQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiChshBEIAIAEgChshAwwCCyADIAVCgICAgICAwP//AIWEUA0BIAEgBoRQBEAgAyAFhFBFDQIgASADgyEDIAIgBIMhBAwCCyADIAWEUEUNACABIQMgAiEEDAELIAMgASABIANUIAUgBlYgBSAGURsiDBshBiAEIAIgDBsiCEL///////8/gyEFIAIgBCAMGyIHQjCIp0H//wFxIQsgCEIwiKdB//8BcSIKRQRAIAlB0ABqIAYgBSAFeSAGeUJAfSAFQgBSG6dBD2tB/wFxIgoQB0EBIAprIQogCSkDUCEGIAkpA1ghBQsgASADIAwbIQMgB0L///////8/gyEBIAsEfiABBSAJQUBrIAMgASABeSADeUJAfSABQgBSG6dBD2tB/wFxIgsQB0EBIAtrIQsgCSkDQCEDIAkpA0gLQgOGIANCPYiEQoCAgICAgIAEhCEBIAVCA4YgBkI9iIQgA0IDhiEFIAIgBIUhAwJAIAogC0YNACAKIAtrIgtB/wBLBEBCACEBQgEhBQwBCyAJQTBqIAUgAUEAIAtrQf8AcRAHIAlBIGogBSABIAsQBiAJKQMgIAkpAzAgCSkDOIRCAFKthCEFIAkpAyghAQtCgICAgICAgASEIQcgBkIDhiECIAhCgICAgICAgICAf4MhBgJAAkACQCADQgBTBEBCACEDQgAhBCACIAWFIAEgB4WEUEUNAQwECyACIAV8IgMgBVStIAEgB3x8IgRCgICAgICAgAiDUA0BIAVCAYMgBEI/hiADQgGIhIQhAyAKQQFqIQogBEIBiCEEDAELIAIgBX0hAyAHIAF9IAIgBVStfSIEQv////////8DVg0AIAlBEGogAyAEIAR5IAN5QkB9IARCAFIbp0EMayILEAcgCiALayEKIAkpAxghBCAJKQMQIQMMAQsgCkH+/wFMDQAgBkKAgICAgIDA//8AhCEEQgAhAwwBCyAKQQBMBEAgCSADIARBBCAKaxAGIAkpAwggBoQhBCAJKQMAIQMMAQsgBEI9hiADQgOIhCICIANCB4MiA0IEVq18IgEgAlStIARCA4hC////////P4MgCq1CMIaEIAaEfCABIAEgA0IEUa2DIgF8IgMgAVStfCEECyAAIAM3AwAgACAENwMIIAlB4ABqJAAL4AECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJQIANC////////////AIMiBkKAgICAgIDA//8AVCAGQoCAgICAgMD//wBRG0UNACAAIAKEIAUgBoSEUARAQQAPCwJAAkAgASADg0IAWQRAIAAgAlQgASADUyABIANRG0UNAUF/DwsgACACViABIANVIAEgA1EbRQ0BQX8PCyAAIAKFIAEgA4WEQgBSDwsgACAChSABIAOFhEIAUiEECyAEC2MAIABCAFIgAUL///////////8AgyIAQoCAgICAgMD//wBWIABCgICAgICAwP//AFEbIAJCAFIgA0L///////////8AgyIAQoCAgICAgMD//wBWIABCgICAgICAwP//AFEbcgtRAQF+AkAgA0E/SgRAIAIgA0E/ca2IIQFCACECDAELIANFDQAgAkEAIANrQT9xrYYgASADrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLUQEBfgJAIANBP0oEQCABIANBP3GthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUEAIANrQT9xrYiEIQIgASAEhiEBCyAAIAE3AwAgACACNwMICzIBAX8gAEEQakEEEAkiAQRAIAEgAK1CBYZCBIQ3AwggAUEQag8LQczdgAhBMDYCAEEAC+sCAQN/IwBBEGsiBCQAIAQgAUEfcToADwJAQX8gAEEEaiICIAAgAksbIgBBASABdCIBIAAgAUsbIgBBAWtnIgFFBEBBACEBDAELQSAgAWsiAUH//wNxQQNrIgNBDU8EQEIBQSAgAEGDgARqQRB2QQFrZ2siAa2GpyEAIAFB//8DcUECdCICKALs2oAIIgEEQCACQezagAhqIABBEHQgAWpBBGsoAgA2AgAMAgtBACAAQAAiAEEQdCAAQX9GGyEBDAELQgEgAa2GpyECIANBAnQiACgCuNqACCIBBEAgAEG42oAIaiABIAJqQQRrKAIANgIADAELIABBhNqACGohAyAAKAKE2oAIIgFB//8DcUUEQEEAIQEgAyACAn9B7NqACCgCACIABEBB7NqACCAAKAL8/wM2AgAgAAwBC0EBQAAiAEEBakECSQ0CIABBEHQLIgFqNgIADAELIAMgASACajYCAAsgBEEQaiQAIAELlgECA38BfiMAQRBrIgIkACACIACtIgRCIIinIgBBAEc6AAwCQAJAIABFBEAgBKciAUEQakEEEAkiAA0BQczdgAhBMDYCAAwCC0HM3YAIQTA2AgAMAQsgACABrUIFhkIEhDcDCCAAQRBqIQMgAUUNAEEAIQADQCAAIANqQQA6AAAgAEEBaiIAIAFJDQALCyACQRBqJAAgAwuHBgIKfwF+IwBBEGsiBSQAAkAgAUUEQCAABEAgBSAAQQhrKQMAIgynIgFBH3EiAjoADCAFIAI6AA0gAEEBIAF0IgFrIQBBICAMQgWIpyABakEEaiICIAEgASACSRsiAUEBa2drIgJB//8DcUEDayIDQQxNBEAgAEIBIAKshqdqQQRrIANBAnQiASgCuNqACDYCACABIAA2ArjagAhBACECDAMLIABCAUEgIAFBg4AEakEQdkEBa2drIgGthqdBEHRqQQRrIAFB//8DcUECdCIBKALs2oAINgIAIAEgADYC7NqACAtBACECDAELIABFBEAgAUEQakEEEAkiAARAIAAgAa1CBYZCBIQ3AwggAEEQaiECDAILQczdgAhBMDYCAAwBCyAFIABBCGspAwAiDKciBkEfcSICOgALIAUgAjoADkF/QQEgBnQiAiABaiIEQQRqIgMgAyAESRsiAyACIAIgA0kbIQcgACACayEDAkACQAJAIAxCBYinIgkgAmpBBGoiCCACIAIgCEkbIgpBAWtnIgtBEWtBDE0EQCAHQQFrZyIHRUIBQSAgC2uthqdCAUEgIAdrrYanR3INAQwCC0IBQSAgCkGDgARqQRB2QQFrZ2uthqdCAUEgIAdBg4AEakEQdkEBa2drrYanRg0BCyAEIAYQCSIEBEAgAiAEaiECIAEgCSABIAlJGyIHBEBBACEEA0AgAiAEaiAAIARqLQAAOgAAIARBAWoiBCAHSQ0ACwsgBSAGQR9xOgAPQSAgCEEBIAZ0IgAgACAISRsiAEEBa2drIgZB//8DcUEDayIEQQxNBEAgA0IBIAashqdqQQRrIARBAnQiACgCuNqACDYCACAAIAM2ArjagAgMAwsgA0IBQSAgAEGDgARqQRB2QQFrZ2siAK2Gp0EQdGpBBGsgAEH//wNxQQJ0IgAoAuzagAg2AgAgACADNgLs2oAIDAILQQAhAkHM3YAIQTA2AgAMAgsgAiADaiECCyACQQhrIAxCH4MgAa1CBYaENwMACyAFQRBqJAAgAgviAQIEfwF+IwBBEGsiAyQAAkAgAEUNACADIABBCGspAwAiBaciAUEfcSICOgAOIAMgAjoADyAAQQEgAXQiAWshAEEgIAVCBYinIAFqQQRqIgIgASABIAJJGyIBQQFrZ2siAkH//wNxQQNrIgRBDE0EQCAAQgEgAqyGp2pBBGsgBEECdCIBKAK42oAINgIAIAEgADYCuNqACAwBCyAAQgFBICABQYOABGpBEHZBAWtnayIBrYanQRB0akEEayABQf//A3FBAnQiASgC7NqACDYCACABIAA2AuzagAgLIANBEGokAAsHAEHhioAICw0AIABBAkYgAEEJRnIL9wIBAn8jAEGwA2siAiQAIAIgATYCDCACQf8BNgKIASACQbDbgAg2AoQBIAJBEGpBAEHwAPwLACACQQE2AjBBsNuACEEAOgAAIAIgAkGEAWo2AlQgAiACQY8BajYCOCACQX82AlAgAiABNgKsAyACQaADakIANwMAIAJBmANqQgA3AwAgAkGQA2pCADcDACACQgA3A4gDIAJCADcDgAMgAiABNgKoAwJAAkBBACAAIAJBqANqIAJB4AFqIAJBgANqEBFBAEgNACACQgA3AxAgAkF/NgJMIAJBADYCGCACQdAANgI8IAIgAkHgAWoiAzYCICACIAJBkAFqIgE2AjggAiABNgIoIAIgATYCJCACQRBqIgEgACACQagDaiADIAJBgANqEBEgAUEAQQAgAigCMBEBABogAkEANgI8IAJBADYCKCACKAIQIAIgAkGPAWo2AjhBIHENACACKAIkRQ0AQQBODQELQbDbgAhBADoAAAsgAkGwA2okAAu0AQEFfyAAKAJEIgMoAgAhBiADKAIEIgQgACgCFCAAKAIYIgdrIgUgBCAFSRsiBQRAIAUEQCAGIAcgBfwKAAALIAMgAygCACAFaiIGNgIAIAMgAygCBCAFayIENgIECyAEIAIgAiAESxsiBARAIAQEQCAGIAEgBPwKAAALIAMgAygCACAEaiIGNgIAIAMgAygCBCAEazYCBAsgBkEAOgAAIAAgACgCKCIBNgIYIAAgATYCFCACC61UAiB/BH4jAEHAwQBrIgYkACAGQewFaiEhIAZBmQVqISIgBkGXBWohIyAGQb8FaiEfIAZBwAVqIhhBCHIhICAYQQlyIRwgBkG+BWohJCAGQZgFaiEWAkACQANAQQAhBQNAAkAgASEHIAUgE0H/////B3NKDQAgBSATaiETAkACQAJAAkACQAJAAkAgBy0AACIFBEADQAJAAkAgBUH/AXEiBQRAIAVBJUcNAiABIQUDQCABQQFqLQAAQSVHDQIgBUEBaiEFIAFBAmoiAS0AAEElRg0ACwwBCyABIQULIAUgB2siBSATQf////8HcyIUSg0KAkAgAEUNACAALQAAQSBxDQAgByAFIAAQGwsgBQ0LIAFBAWohDEF/IQsCQCABLAABIghBMGsiBUEJSw0AIAEtAAJB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ACAAKAIEIgJFDQAgAiABKAI0EQMACyAAEAwLC5MCAQN/AkAgAigCECIDBEAgAigCFCEFDAELIAIgAigCPCIEQQFrIARyNgI8IAIoAgAiBEEIcQRAIAIgBEEgcjYCAA8LIAJCADcCBCACIAIoAigiBTYCGCACIAU2AhQgAiAFIAIoAixqIgM2AhALIAMgBWsgAUkEQCACIAAgASACKAIgEQEAGg8LAkACQCACKAJAQQBIBEAgACEEDAELIAFFBEAgACEEDAELIAEhAwJAA0AgACADaiIEQQFrLQAAQQpGDQEgA0EBayIDDQALIAAhBAwBCyACIAAgAyACKAIgEQEAIANJDQEgASADayEBIAIoAhQhBQsgAQRAIAUgBCAB/AoAAAsgAiACKAIUIAFqNgIUCwvzBgMDfgF/AXwjAEEQayIGJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIAAQIFAwQGBwgJCgsMDQ4PEBESCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAMEQsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADBALIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAMDgsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADA0LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAAwMCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAMCwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADAoLIAIgAigCACIBQQRqNgIAIAAgATAAADcDAAwJCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAMCAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAcLIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwGCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAMBQsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAQLIAIgAigCACIBQQRqNgIAIAAgATQCADcDAAwDCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAMAgsgAiACKAIAQQdqQXhxIgFBCGo2AgAgASsDACEHIwBBEGsiASQAAn4gB70iBUL///////////8AgyIDQoCAgICAgIAIfUKAgICAgICA8P8AVARAIANCPIYhBCADQgSIQoCAgICAgICAPHwMAQsgA0KAgICAgICA+P8AWgRAIANCPIYhBCADQgSIQoCAgICAgMD//wCEDAELQgAgA1ANABogASADQgAgA3mnIgJBMWoQByABKQMAIQQgASkDCEKAgICAgIDAAIVBgfgAIAJB9QBqQf8AcWutQjCGhAshAyAGIAQ3AwAgBiADIAVCgICAgICAgICAf4OENwMIIAFBEGokACAAIAYpAwg3AwggACAGKQMANwMADAELIAIgAigCAEEPakFwcSIBQRBqNgIAIAAgASkDADcDACAAIAEpAwg3AwgLIAZBEGokAAuHAQEBfyMAQYACayIFJAACQCAEQYDABHEgAiADTHINACACIANrIgNBgAIgA0GAAkkiAhsiBARAIAUgASAE/AsACyACRQRAA0AgAC0AAEEgcUUEQCAFQYACIAAQGwsgA0GAAmsiA0H/AUsNAAsLIAAtAABBIHENACAFIAMgABAbCyAFQYACaiQAC5QGAQN/IwBB0ABrIgQkAAJAIAFFBEBBwNuACEGRgYAILQAAOgAAQbjbgAhBiYGACCkAADcDAEGw24AIQYGBgAgpAAA3AwBBwduACEEAOgAAQQghAQwBCyAEQcgAakIANwMAIARBQGtCADcDACAEQThqQgA3AwAgBEEwakIANwMAIARBKGpCADcDACAEQSBqQgA3AwAgBEIANwMYIARBGGpBDxAfIgUEQCAEIAU2AhAgBEECIAVrQQJ0KALQ2YAINgIUQeqKgAggBEEQahAPQQchAQwBCyAEIAE2AhwgBCAANgIYIAQgAygCADYCKEH42YAIKAIAIQEgBCACNgIkIARBGGpBBBAgIQAgBCgCJCEFAn8CQCAAQQFHIgYNACAEKAIcRQ0AQcbbgAhByoWACCkAADcBAEHA24AIQcSFgAgpAAA3AwBBuNuACEG8hYAIKQAANwMAQbDbgAhBtIWACCkAADcDAEHO24AIQQA6AABBBwwBCyAGRQRAIAFFIAUgAmsiACABTXJFBEAgBCABNgIEIAQgADYCAEHVgIAIIAQQD0EJDAILIAMgADYCAEEADAELAkAgAEF7RwRAIAAgBCgCKHINAQtB6NuACEG1i4AILwAAOwEAQeDb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LQAAOgAAIARBBWogAkEFai0AADoAACAEQQZqIAJBBmotAAA6AAAgBEEHaiACQQdqLQAAOgAAIARBCGohBCACQQhqIQIgA0EIayIDDQALCyAZIBIgCWsiEk8EQCAHIQIMAwsCfyAPRQRAIAchAiAZDAELIA8hAyAHIQIDQCAEIAItAAA6AAAgBEEBaiEEIAJBAWohAiADQQFrIgMNAAsgLQshAyAZQQhPBEADQCAEIAItAAA6AAAgBEEBaiACQQFqLQAAOgAAIARBAmogAkECai0AADoAACAEQQNqIAJBA2otAAA6AAAgBEEEaiACQQRqLQAAOgAAIARBBWogAkEFai0AADoAACAEQQZqIAJBBmotAAA6AAAgBEEHaiACQQdqLQAAOgAAIARBCGohBCACQQhqIQIgA0EIayIDDQALCyAEICFrIQIgEiAZayESDAILIAcgGSAJa2ohAiAJIBJPBEAgBiEEDAILAn8gCUEHcSIDRQRAIAkhAyAGDAELQQAhBANAIAQgBmogAiAEai0AADoAACADIARBAWoiBEcNAAsgAiAEaiECIAkgBGshAyAEIAZqCyEEIBMgHiAkaiAdamsgBmpBeEsNAANAIAQgAi0AADoAACAEQQFqIAJBAWotAAA6AAAgBEECaiACQQJqLQAAOgAAIARBA2ogAkEDai0AADoAACAEQQRqIAJBBGotAAA6AAAgBEEFaiACQQVqLQAAOgAAIARBBmogAkEGai0AADoAACAEQQdqIAJBB2otAAA6AAAgBEEIaiEEIAJBCGohAiADQQhrIgMNAAsLIAQgIWshAiASIAlrIRILAkAgEkEDSQ0AIBJBA2siCUEDbiIDQQNxQQNHBEAgA0EBakEDcSIGIQMDQCAEIAItAAA6AAAgBEEBaiACQQFqLQAAOgAAIARBAmogAkECai0AADoAACACQQNqIQIgBEEDaiEEIANBAWsiAw0ACyAGQX1sIBJqIRILIAlBCUkNAANAIAQgAi0AADoAACAEQQFqIAJBAWotAAA6AAAgBEECaiACQQJqLQAAOgAAIARBA2ogAkEDai0AADoAACAEQQRqIAJBBGotAAA6AAAgBEEFaiACQQVqLQAAOgAAIARBBmogAkEGai0AADoAACAEQQdqIAJBB2otAAA6AAAgBEEIaiACQQhqLQAAOgAAIARBCWogAkEJai0A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bnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzAGJ1ZmZlciBlcnJvcgB1bmtub3duIGVycm9yAHN0cmVhbSBlcnJvcgBpbnRlcm5hbCBlcnJvcgBmaWxlIGVycm9yAGRhdGEgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAHpsaWI6IG9vbQBvcGVyYXRpb24gdW5zdXBwb3J0ZWQgZm9yIHRoaXMgYWxnb3JpdGhtAHN0cmVhbWluZyBkZWNvbXByZXNzIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgYWxnb3JpdGhtAHdyaXRlIHRvIGZpbmlzaGVkIGRlY29tcHJlc3Mgc3RyZWFtAHpsaWI6IGRhdGEgYWZ0ZXIgZW5kIG9mIHN0cmVhbQBvdXRwdXQgYnVmZmVyIHRvbyBzbWFsbABvawBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAHpsaWI6IHRydW5jYXRlZCBzdHJlYW0gYXQgZmluaXNoAGhlYWRlciBjcmMgbWlzbWF0Y2gAZGVjb21wcmVzc2VkIHNpemUgbm90IGVuY29kZWQgaW4gd2lyZSBmb3JtYXQ7IHVzZSBzdHJlYW1pbmcAaW5mAGludmFsaWQgd2luZG93IHNpemUAb3BlcmF0aW9uIGludmFsaWQgZm9yIGN1cnJlbnQgc3RyZWFtIHN0YXRlAGRlZmxhdGUAaW52YWxpZCBibG9jayB0eXBlAGludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZQBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAdW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QAc3RyZWFtIGVuZABhbGdvcml0aG0gbm90IGNvbXBpbGVkIGludG8gdGhpcyBidWlsZABhbGdvcml0aG0gJWQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGlzIGJ1aWxkAGNvbXByZXNzZWQgaW5wdXQgdHJ1bmNhdGVkAGRlY29tcHJlc3Npb24gZmFpbGVkAHN0cmVhbSBpcyBhbHJlYWR5IGZpbmlzaGVkAHpsaWIAemxpYjogY29ycnVwdGVkIGRhdGEATkFOAElORgAxLjMuMgAwLjEwLjEALgB6bGliOiBjb2RlICVkICglcykAemxpYjogb3V0cHV0IGJ1ZmZlciB0b28gc21hbGwgKHNpemUgbm90IGVuY29kZWQgaW4gc3RyZWFtKQAobnVsbCkAY29tcHJlc3Npb24gbGV2ZWwgb3V0IG9mIHJhbmdlICgxLi4xMCkAAADrAgABkwAAAb8FAAHTAgABqQMAAZsEAAELBQABCQUAAe4EAAGkAAABHgUAAf0DAAEaAAAB5gEAARkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABGwkLGAAACQYLAAALAAYZAAAAGRkZAEHxjIAICyEOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AQauNgAgLAQwAQbeNgAgLFRMAAAAAEwAAAAAJDAAAAAAADAAADABB5Y2ACAsBEABB8Y2ACAsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEGfjoAICwESAEGrjoAICx4RAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAQeKOgAgLDhoAAAAaGhoAAAAAAAAJAEGTj4AICwEUAEGfj4AICxUXAAAAABcAAAAACRQAAAAAABQAABQAQc2PgAgLARYAQdmPgAgL5A0VAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUZTdWNjZXNzAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBv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";
38309
+ }
38310
+ });
38311
+
38312
+ // ../../node_modules/compress-utils/dist/algorithms/deflate/decompress/index.js
38313
+ var decompress_exports3 = {};
38314
+ __export(decompress_exports3, {
38315
+ CompressError: () => CompressError,
38316
+ createDecompressStream: () => createDecompressStream3,
38317
+ createDecompressStreamSync: () => createDecompressStreamSync3,
38318
+ decompress: () => decompress3,
38319
+ decompressSync: () => decompressSync3,
38320
+ decompressionStream: () => decompressionStream3,
38321
+ preload: () => preload6,
38322
+ setMaxDecompressedSize: () => setMaxDecompressedSize3,
38323
+ version: () => version5
38324
+ });
38325
+ var bindings3, decompress3, decompressSync3, createDecompressStream3, createDecompressStreamSync3, decompressionStream3, preload6, version5, setMaxDecompressedSize3;
38326
+ var init_decompress3 = __esm({
38327
+ "../../node_modules/compress-utils/dist/algorithms/deflate/decompress/index.js"() {
38328
+ init_zlib();
38329
+ init_algorithm();
38330
+ init_types();
38331
+ init_types();
38332
+ bindings3 = /* @__PURE__ */ defineAlgorithm(Algorithm.Deflate, "deflate", new URL(zlib_default));
38333
+ decompress3 = bindings3.decompress;
38334
+ decompressSync3 = bindings3.decompressSync;
38335
+ createDecompressStream3 = bindings3.createDecompressStream;
38336
+ createDecompressStreamSync3 = bindings3.createDecompressStreamSync;
38337
+ decompressionStream3 = bindings3.decompressionStream;
38338
+ preload6 = bindings3.preload;
38339
+ version5 = bindings3.version;
38340
+ setMaxDecompressedSize3 = bindings3.setMaxDecompressedSize;
38341
+ }
38342
+ });
38343
+
38344
+ // ../../node_modules/compress-utils/dist/algorithms/zlib/decompress/index.js
38345
+ var decompress_exports4 = {};
38346
+ __export(decompress_exports4, {
38347
+ CompressError: () => CompressError,
38348
+ createDecompressStream: () => createDecompressStream4,
38349
+ createDecompressStreamSync: () => createDecompressStreamSync4,
38350
+ decompress: () => decompress4,
38351
+ decompressSync: () => decompressSync4,
38352
+ decompressionStream: () => decompressionStream4,
38353
+ preload: () => preload7,
38354
+ setMaxDecompressedSize: () => setMaxDecompressedSize4,
38355
+ version: () => version6
38356
+ });
38357
+ var bindings4, decompress4, decompressSync4, createDecompressStream4, createDecompressStreamSync4, decompressionStream4, preload7, version6, setMaxDecompressedSize4;
38358
+ var init_decompress4 = __esm({
38359
+ "../../node_modules/compress-utils/dist/algorithms/zlib/decompress/index.js"() {
38360
+ init_zlib();
38361
+ init_algorithm();
38362
+ init_types();
38363
+ init_types();
38364
+ bindings4 = /* @__PURE__ */ defineAlgorithm(Algorithm.Zlib, "zlib", new URL(zlib_default));
38365
+ decompress4 = bindings4.decompress;
38366
+ decompressSync4 = bindings4.decompressSync;
38367
+ createDecompressStream4 = bindings4.createDecompressStream;
38368
+ createDecompressStreamSync4 = bindings4.createDecompressStreamSync;
38369
+ decompressionStream4 = bindings4.decompressionStream;
38370
+ preload7 = bindings4.preload;
38371
+ version6 = bindings4.version;
38372
+ setMaxDecompressedSize4 = bindings4.setMaxDecompressedSize;
38373
+ }
38374
+ });
38375
+
38376
+ // ../compression/src/deflate-decompressor-compress-utils.ts
38377
+ var DeflateCompressUtilsDecompressor;
38378
+ var init_deflate_decompressor_compress_utils = __esm({
38379
+ "../compression/src/deflate-decompressor-compress-utils.ts"() {
38843
38380
  "use strict";
38844
- init_fflate();
38845
- init_compression();
38846
- init_fflate_stream();
38847
- DeflateFflateDecompressor = class extends Decompressor {
38848
- name = "deflate";
38849
- extensions = [];
38850
- contentEncodings = ["deflate"];
38851
- isSupported = true;
38852
- options;
38381
+ init_compress_utils_compression();
38382
+ DeflateCompressUtilsDecompressor = class extends CompressUtilsDecompressor {
38853
38383
  constructor(options = {}) {
38854
- super(options);
38855
- this.options = options;
38856
- }
38857
- /** Decompresses one zlib-wrapped DEFLATE payload synchronously. */
38858
- decompressSync(input2) {
38859
- const bytes = new Uint8Array(input2);
38860
- const output2 = this.options.raw ? inflateSync(bytes) : unzlibSync(bytes);
38861
- return output2.slice().buffer;
38862
- }
38863
- /** Decompresses DEFLATE batches incrementally. */
38864
- async *decompressBatches(inputBatches) {
38865
- const processor = this.options.raw ? new Inflate() : new Unzlib();
38866
- yield* transformFflateBatches(processor, inputBatches);
38384
+ super(
38385
+ { name: "deflate", contentEncodings: ["deflate"] },
38386
+ () => options.raw ? Promise.resolve().then(() => (init_decompress3(), decompress_exports3)) : Promise.resolve().then(() => (init_decompress4(), decompress_exports4)),
38387
+ options
38388
+ );
38867
38389
  }
38868
38390
  };
38869
38391
  }
@@ -38874,26 +38396,27 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
38874
38396
  var init_deflate_decompressor = __esm({
38875
38397
  "../compression/src/deflate-decompressor.ts"() {
38876
38398
  "use strict";
38877
- init_deflate_decompressor_fflate();
38399
+ init_deflate_decompressor_compress_utils();
38878
38400
  init_decompression_stream();
38879
- DeflateDecompressor2 = class extends DeflateFflateDecompressor {
38880
- constructor(options = {}) {
38881
- super(options);
38882
- }
38883
- /** Decompresses with the built-in stream when available, then falls back to fflate. */
38884
- async decompress(input2) {
38401
+ DeflateDecompressor2 = class extends DeflateCompressUtilsDecompressor {
38402
+ /** Decompresses with native streams when available, otherwise lazily initializes WASM. */
38403
+ async decompress(input2, size) {
38885
38404
  if (this.options.useNative !== false) {
38886
- const format = this.options.raw ? "deflate-raw" : "deflate";
38887
- const output2 = await decompressWithNativeDecompressionStream(input2, format);
38405
+ const output2 = await decompressWithNativeDecompressionStream(
38406
+ input2,
38407
+ this.options.raw ? "deflate-raw" : "deflate"
38408
+ );
38888
38409
  if (output2) return output2;
38889
38410
  }
38890
- return this.decompressSync(input2);
38411
+ return super.decompress(input2, size);
38891
38412
  }
38892
- /** Decompresses batches with a built-in or fflate stream. */
38413
+ /** Streams native batches when available, otherwise uses the WASM stream. */
38893
38414
  async *decompressBatches(inputBatches) {
38894
38415
  if (this.options.useNative !== false) {
38895
- const format = this.options.raw ? "deflate-raw" : "deflate";
38896
- const output2 = decompressBatchesWithNativeDecompressionStream(inputBatches, format);
38416
+ const output2 = decompressBatchesWithNativeDecompressionStream(
38417
+ inputBatches,
38418
+ this.options.raw ? "deflate-raw" : "deflate"
38419
+ );
38897
38420
  if (output2) {
38898
38421
  yield* output2;
38899
38422
  return;
@@ -38906,6 +38429,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
38906
38429
  });
38907
38430
 
38908
38431
  // src/lib/parse-rad-chunk.ts
38432
+ async function preloadRADCompression() {
38433
+ await Promise.all([RAD_PROPERTY_DEFLATE.preload(), RAD_PROPERTY_RAW_DEFLATE.preload()]);
38434
+ }
38909
38435
  function parseRADChunk(data, options) {
38910
38436
  return makeGaussianSplatsArrowTable(parseRADChunkToGaussianSplats(data, options));
38911
38437
  }
@@ -39153,7 +38679,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39153
38679
  return decompressRADProperty(propertyBytes, property.property);
39154
38680
  }
39155
38681
  function decompressRADProperty(bytes, propertyName) {
39156
- const arrayBuffer = copyToArrayBuffer3(bytes);
38682
+ const arrayBuffer = copyToArrayBuffer2(bytes);
39157
38683
  try {
39158
38684
  return new Uint8Array(RAD_PROPERTY_DEFLATE.decompressSync(arrayBuffer));
39159
38685
  } catch {
@@ -39218,9 +38744,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39218
38744
  }
39219
38745
  return values;
39220
38746
  }
39221
- function decodeR8(bytes, dimensions, count, min, max2) {
38747
+ function decodeR8(bytes, dimensions, count, min, max) {
39222
38748
  const values = new Float32Array(count * dimensions);
39223
- const range = max2 - min;
38749
+ const range = max - min;
39224
38750
  for (let rowIndex = 0; rowIndex < count; rowIndex++) {
39225
38751
  for (let dimension = 0; dimension < dimensions; dimension++) {
39226
38752
  values[rowIndex * dimensions + dimension] = bytes[dimension * count + rowIndex] / 255 * range + min;
@@ -39228,9 +38754,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39228
38754
  }
39229
38755
  return values;
39230
38756
  }
39231
- function decodeR8Delta(bytes, dimensions, count, min, max2) {
38757
+ function decodeR8Delta(bytes, dimensions, count, min, max) {
39232
38758
  const values = new Float32Array(count * dimensions);
39233
- const range = max2 - min;
38759
+ const range = max - min;
39234
38760
  const last = new Uint8Array(dimensions);
39235
38761
  for (let rowIndex = 0; rowIndex < count; rowIndex++) {
39236
38762
  for (let dimension = 0; dimension < dimensions; dimension++) {
@@ -39242,17 +38768,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39242
38768
  }
39243
38769
  return values;
39244
38770
  }
39245
- function decodeS8(bytes, dimensions, count, max2) {
38771
+ function decodeS8(bytes, dimensions, count, max) {
39246
38772
  const values = new Float32Array(count * dimensions);
39247
38773
  for (let rowIndex = 0; rowIndex < count; rowIndex++) {
39248
38774
  for (let dimension = 0; dimension < dimensions; dimension++) {
39249
38775
  const byte = bytes[dimension * count + rowIndex];
39250
- values[rowIndex * dimensions + dimension] = (byte << 24 >> 24) / 127 * max2;
38776
+ values[rowIndex * dimensions + dimension] = (byte << 24 >> 24) / 127 * max;
39251
38777
  }
39252
38778
  }
39253
38779
  return values;
39254
38780
  }
39255
- function decodeS8Delta(bytes, dimensions, count, max2) {
38781
+ function decodeS8Delta(bytes, dimensions, count, max) {
39256
38782
  const values = new Float32Array(count * dimensions);
39257
38783
  const last = new Uint8Array(dimensions);
39258
38784
  for (let rowIndex = 0; rowIndex < count; rowIndex++) {
@@ -39260,19 +38786,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39260
38786
  const byteOffset = dimension * count + rowIndex;
39261
38787
  const value = last[dimension] + bytes[byteOffset] & 255;
39262
38788
  last[dimension] = value;
39263
- values[rowIndex * dimensions + dimension] = (value << 24 >> 24) / 127 * max2;
38789
+ values[rowIndex * dimensions + dimension] = (value << 24 >> 24) / 127 * max;
39264
38790
  }
39265
38791
  }
39266
38792
  return values;
39267
38793
  }
39268
- function decodeScaleR8(bytes, dimensions, count, min, max2) {
38794
+ function decodeScaleR8(bytes, dimensions, count, min, max) {
39269
38795
  const values = new Float32Array(count * dimensions);
39270
38796
  for (let rowIndex = 0; rowIndex < count; rowIndex++) {
39271
38797
  for (let dimension = 0; dimension < dimensions; dimension++) {
39272
38798
  values[rowIndex * dimensions + dimension] = decodeScale8(
39273
38799
  bytes[dimension * count + rowIndex],
39274
38800
  min,
39275
- max2
38801
+ max
39276
38802
  );
39277
38803
  }
39278
38804
  }
@@ -39315,11 +38841,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39315
38841
  }
39316
38842
  return rotations;
39317
38843
  }
39318
- function decodeScale8(scale, min, max2) {
38844
+ function decodeScale8(scale, min, max) {
39319
38845
  if (scale === 0) {
39320
38846
  return 0;
39321
38847
  }
39322
- const logScaleStep = (max2 - min) / 254;
38848
+ const logScaleStep = (max - min) / 254;
39323
38849
  return Math.exp(min + (scale - 1) * logScaleStep);
39324
38850
  }
39325
38851
  function decodeQuatOct888(u, v, r) {
@@ -39409,7 +38935,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39409
38935
  function normalizeColorByte2(value) {
39410
38936
  return Math.round(Math.min(Math.max(value, 0), 1) * 255);
39411
38937
  }
39412
- function copyToArrayBuffer3(bytes) {
38938
+ function copyToArrayBuffer2(bytes) {
39413
38939
  const copy = new Uint8Array(bytes.byteLength);
39414
38940
  copy.set(bytes);
39415
38941
  return copy.buffer;
@@ -39438,6 +38964,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39438
38964
  parseRADChunkHeader: () => parseRADChunkHeader,
39439
38965
  parseRADChunkToGaussianSplats: () => parseRADChunkToGaussianSplats,
39440
38966
  parseRADHeader: () => parseRADHeader,
38967
+ preloadRADCompression: () => preloadRADCompression,
39441
38968
  tryParseRADHeader: () => tryParseRADHeader
39442
38969
  });
39443
38970
  var _RADLoaderPreload, RADLoaderMetadataWithoutPreload, RADLoaderWithParser;
@@ -39458,7 +38985,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39458
38985
  });
39459
38986
 
39460
38987
  // src/rad-loader-types.ts
39461
- async function preload4() {
38988
+ async function preload8() {
39462
38989
  const { RADLoaderWithParser: RADLoaderWithParser2 } = await Promise.resolve().then(() => (init_rad_loader(), rad_loader_exports));
39463
38990
  return RADLoaderWithParser2;
39464
38991
  }
@@ -39474,7 +39001,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39474
39001
  ...RADFormat,
39475
39002
  version: VERSION6,
39476
39003
  options: {},
39477
- preload: preload4
39004
+ preload: preload8
39478
39005
  };
39479
39006
  }
39480
39007
  });
@@ -39482,21 +39009,82 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39482
39009
  // bundle.ts
39483
39010
  var bundle_exports = {};
39484
39011
  __export(bundle_exports, {
39012
+ FetchError: () => import_core9.FetchError,
39013
+ JSONLoader: () => import_core9.JSONLoader,
39485
39014
  KSPLATFormat: () => KSPLATFormat,
39486
39015
  KSPLATLoader: () => KSPLATLoader,
39016
+ NullLoader: () => import_core9.NullLoader,
39017
+ NullWorkerLoader: () => import_core9.NullWorkerLoader,
39487
39018
  RADFormat: () => RADFormat,
39488
39019
  RADLoader: () => RADLoader,
39489
39020
  RADSource: () => RADSource,
39490
39021
  RADSourceLoader: () => RADSourceLoader,
39022
+ RequestScheduler: () => import_core9.RequestScheduler,
39491
39023
  SPLATFormat: () => SPLATFormat,
39492
39024
  SPLATLoader: () => SPLATLoader,
39493
39025
  SPZFormat: () => SPZFormat,
39494
39026
  SPZLoader: () => SPZLoader,
39027
+ _BrowserFileSystem: () => import_core9._BrowserFileSystem,
39028
+ _fetchProgress: () => import_core9._fetchProgress,
39029
+ _selectSource: () => import_core9._selectSource,
39030
+ _unregisterLoaders: () => import_core9._unregisterLoaders,
39031
+ assert: () => import_core9.assert,
39032
+ concatenateArrayBuffersAsync: () => import_core9.concatenateArrayBuffersAsync,
39033
+ coreApi: () => import_core9.coreApi,
39034
+ createDataSource: () => import_core9.createDataSource,
39035
+ document: () => import_core9.document,
39036
+ encode: () => import_core9.encode,
39037
+ encodeInBatches: () => import_core9.encodeInBatches,
39038
+ encodeSync: () => import_core9.encodeSync,
39039
+ encodeTable: () => import_core9.encodeTable,
39040
+ encodeTableAsText: () => import_core9.encodeTableAsText,
39041
+ encodeTableInBatches: () => import_core9.encodeTableInBatches,
39042
+ encodeText: () => import_core9.encodeText,
39043
+ encodeTextSync: () => import_core9.encodeTextSync,
39044
+ encodeURLtoURL: () => import_core9.encodeURLtoURL,
39045
+ fetchFile: () => import_core9.fetchFile,
39046
+ forEach: () => import_core9.forEach,
39047
+ getLoaderOptions: () => import_core9.getLoaderOptions,
39048
+ getPathPrefix: () => import_core9.getPathPrefix,
39049
+ global: () => import_core9.global,
39050
+ isAsyncIterable: () => import_core9.isAsyncIterable,
39051
+ isBrowser: () => import_core9.isBrowser,
39052
+ isIterable: () => import_core9.isIterable,
39053
+ isIterator: () => import_core9.isIterator,
39054
+ isPromise: () => import_core9.isPromise,
39055
+ isPureObject: () => import_core9.isPureObject,
39056
+ isReadableStream: () => import_core9.isReadableStream,
39057
+ isResponse: () => import_core9.isResponse,
39058
+ isWorker: () => import_core9.isWorker,
39059
+ isWritableStream: () => import_core9.isWritableStream,
39060
+ load: () => import_core9.load,
39061
+ loadInBatches: () => import_core9.loadInBatches,
39062
+ makeIterator: () => import_core9.makeIterator,
39063
+ makeLineIterator: () => import_core9.makeLineIterator,
39064
+ makeNumberedLineIterator: () => import_core9.makeNumberedLineIterator,
39065
+ makeStream: () => import_core9.makeStream,
39066
+ makeTextDecoderIterator: () => import_core9.makeTextDecoderIterator,
39067
+ makeTextEncoderIterator: () => import_core9.makeTextEncoderIterator,
39068
+ parse: () => import_core9.parse,
39069
+ parseFile: () => import_core9.parseFile,
39070
+ parseInBatches: () => import_core9.parseInBatches,
39495
39071
  parseSPZ: () => parseSPZ,
39496
39072
  parseSPZToGaussianSplats: () => parseSPZToGaussianSplats,
39497
- resolveRADChunkUrl: () => resolveRADChunkUrl
39498
- });
39499
- __reExport(bundle_exports, __toESM(require_core(), 1));
39073
+ parseSync: () => import_core9.parseSync,
39074
+ preload: () => import_core9.preload,
39075
+ preloadSync: () => import_core9.preloadSync,
39076
+ readArrayBuffer: () => import_core9.readArrayBuffer,
39077
+ registerLoaders: () => import_core9.registerLoaders,
39078
+ resolvePath: () => import_core9.resolvePath,
39079
+ resolveRADChunkUrl: () => resolveRADChunkUrl,
39080
+ selectLoader: () => import_core9.selectLoader,
39081
+ selectLoaderSync: () => import_core9.selectLoaderSync,
39082
+ self: () => import_core9.self,
39083
+ setLoaderOptions: () => import_core9.setLoaderOptions,
39084
+ setPathPrefix: () => import_core9.setPathPrefix,
39085
+ window: () => import_core9.window
39086
+ });
39087
+ var import_core9 = __toESM(require_core(), 1);
39500
39088
 
39501
39089
  // src/index.ts
39502
39090
  init_splats_format();
@@ -39507,7 +39095,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39507
39095
  init_rad_loader_types();
39508
39096
 
39509
39097
  // src/rad-source-loader.ts
39510
- init_src();
39098
+ init_loader_utils();
39511
39099
  init_splats_format();
39512
39100
  init_parse_rad();
39513
39101
  init_parse_rad_chunk();
@@ -39539,7 +39127,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39539
39127
  }
39540
39128
  },
39541
39129
  testURL: (url2) => /\.rad(?:$|[?#])/i.test(url2),
39542
- createDataSource: (data, options, coreApi) => new RADSource(data, options, coreApi)
39130
+ createDataSource: (data, options, coreApi2) => new RADSource(data, options, coreApi2)
39543
39131
  };
39544
39132
  var RADSource = class extends DataSource {
39545
39133
  /** Shared metadata promise exposed for source-style integrations. */
@@ -39548,8 +39136,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39548
39136
  _metadataPromise = null;
39549
39137
  /** Lazily initialized per-chunk metadata promises. */
39550
39138
  _chunkMetadataPromises = /* @__PURE__ */ new Map();
39551
- constructor(data, options, coreApi) {
39552
- super(data, options, RADSourceLoader.defaultOptions, coreApi);
39139
+ constructor(data, options, coreApi2) {
39140
+ super(data, options, RADSourceLoader.defaultOptions, coreApi2);
39553
39141
  this.metadata = this.getMetadata();
39554
39142
  }
39555
39143
  /** Ensures the RAD header metadata has been loaded. */
@@ -39616,6 +39204,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39616
39204
  /** Fetches and decodes one RADC chunk into raw Gaussian splat arrays. */
39617
39205
  async getChunkSplats(chunkIndex, options = {}) {
39618
39206
  const metadata = await this.getMetadata();
39207
+ await preloadRADCompression();
39619
39208
  return parseRADChunkToGaussianSplats(
39620
39209
  await this.getChunk(chunkIndex, options),
39621
39210
  this._getChunkDecodeOptions(metadata, options)
@@ -39624,6 +39213,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
39624
39213
  /** Fetches and decodes one RADC chunk into a Mesh Arrow table. */
39625
39214
  async getChunkTable(chunkIndex, options = {}) {
39626
39215
  const metadata = await this.getMetadata();
39216
+ await preloadRADCompression();
39627
39217
  return parseRADChunk(
39628
39218
  await this.getChunk(chunkIndex, options),
39629
39219
  this._getChunkDecodeOptions(metadata, options)