libpag 4.4.35 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/libpag.esm.js CHANGED
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // Tencent is pleased to support the open source community by making libpag available.
4
4
  //
5
- // Copyright (C) 2025 THL A29 Limited, a Tencent company. All rights reserved.
5
+ // Copyright (C) 2025 Tencent. All rights reserved.
6
6
  //
7
7
  // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
8
8
  // except in compliance with the License. You may obtain a copy of the License at
@@ -194,7 +194,7 @@ var types = /*#__PURE__*/Object.freeze({
194
194
  AlphaType: AlphaType
195
195
  });
196
196
 
197
- var __defProp$e = Object.defineProperty;
197
+ var __defProp$d = Object.defineProperty;
198
198
  var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
199
199
  var __decorateClass$c = (decorators, target, key, kind) => {
200
200
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
@@ -202,7 +202,7 @@ var __decorateClass$c = (decorators, target, key, kind) => {
202
202
  if (decorator = decorators[i])
203
203
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
204
204
  if (kind && result)
205
- __defProp$e(target, key, result);
205
+ __defProp$d(target, key, result);
206
206
  return result;
207
207
  };
208
208
  let Matrix$1 = class {
@@ -413,7 +413,7 @@ const getWasmIns = (value) => {
413
413
  };
414
414
  const isInstanceOf$1 = (value, type) => typeof type !== "undefined" && value instanceof type;
415
415
 
416
- var __defProp$d = Object.defineProperty;
416
+ var __defProp$c = Object.defineProperty;
417
417
  var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
418
418
  var __decorateClass$b = (decorators, target, key, kind) => {
419
419
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
@@ -421,7 +421,7 @@ var __decorateClass$b = (decorators, target, key, kind) => {
421
421
  if (decorator = decorators[i])
422
422
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
423
423
  if (kind && result)
424
- __defProp$d(target, key, result);
424
+ __defProp$c(target, key, result);
425
425
  return result;
426
426
  };
427
427
  let PAGLayer = class {
@@ -553,7 +553,7 @@ PAGLayer = __decorateClass$b([
553
553
  wasmAwaitRewind$1
554
554
  ], PAGLayer);
555
555
 
556
- var __defProp$c = Object.defineProperty;
556
+ var __defProp$b = Object.defineProperty;
557
557
  var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
558
558
  var __decorateClass$a = (decorators, target, key, kind) => {
559
559
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
@@ -561,7 +561,7 @@ var __decorateClass$a = (decorators, target, key, kind) => {
561
561
  if (decorator = decorators[i])
562
562
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
563
563
  if (kind && result)
564
- __defProp$c(target, key, result);
564
+ __defProp$b(target, key, result);
565
565
  return result;
566
566
  };
567
567
  let PAGComposition = class extends PAGLayer {
@@ -676,28 +676,7 @@ const transferToArrayBuffer = (data) => {
676
676
  return Promise.resolve(null);
677
677
  };
678
678
 
679
- const writeBufferToWasm = (module, data) => {
680
- const uint8Array = new Uint8Array(data);
681
- const numBytes = uint8Array.byteLength;
682
- const dataPtr = module._malloc(numBytes);
683
- const dataOnHeap = new Uint8Array(module.HEAPU8.buffer, dataPtr, numBytes);
684
- dataOnHeap.set(uint8Array);
685
- return { byteOffset: dataPtr, length: numBytes, free: () => module._free(dataPtr) };
686
- };
687
- const readBufferFromWasm = (module, data, handle) => {
688
- const uint8Array = new Uint8Array(data);
689
- const dataPtr = module._malloc(uint8Array.byteLength);
690
- if (!handle(dataPtr, uint8Array.byteLength))
691
- return {
692
- data: null,
693
- free: () => module._free(dataPtr)
694
- };
695
- const dataOnHeap = new Uint8Array(module.HEAPU8.buffer, dataPtr, uint8Array.byteLength);
696
- uint8Array.set(dataOnHeap);
697
- return { data: uint8Array, free: () => module._free(dataPtr) };
698
- };
699
-
700
- var __defProp$b = Object.defineProperty;
679
+ var __defProp$a = Object.defineProperty;
701
680
  var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
702
681
  var __decorateClass$9 = (decorators, target, key, kind) => {
703
682
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
@@ -705,7 +684,7 @@ var __decorateClass$9 = (decorators, target, key, kind) => {
705
684
  if (decorator = decorators[i])
706
685
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
707
686
  if (kind && result)
708
- __defProp$b(target, key, result);
687
+ __defProp$a(target, key, result);
709
688
  return result;
710
689
  };
711
690
  let PAGFile = class extends PAGComposition {
@@ -720,9 +699,8 @@ let PAGFile = class extends PAGComposition {
720
699
  static loadFromBuffer(buffer) {
721
700
  if (!buffer || !(buffer.byteLength > 0))
722
701
  throw new Error("Initialize PAGFile data not be empty!");
723
- const { byteOffset, length, free } = writeBufferToWasm(PAGModule, buffer);
724
- const wasmIns = PAGModule._PAGFile._Load(byteOffset, length);
725
- free();
702
+ const uint8Buffer = new Uint8Array(buffer);
703
+ const wasmIns = PAGModule._PAGFile._Load(uint8Buffer);
726
704
  if (!wasmIns)
727
705
  throw new Error("Load PAGFile fail!");
728
706
  const pagFile = new PAGFile(wasmIns);
@@ -785,7 +763,7 @@ PAGFile = __decorateClass$9([
785
763
  wasmAwaitRewind$1
786
764
  ], PAGFile);
787
765
 
788
- var __defProp$a = Object.defineProperty;
766
+ var __defProp$9 = Object.defineProperty;
789
767
  var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
790
768
  var __decorateClass$8 = (decorators, target, key, kind) => {
791
769
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
@@ -793,7 +771,7 @@ var __decorateClass$8 = (decorators, target, key, kind) => {
793
771
  if (decorator = decorators[i])
794
772
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
795
773
  if (kind && result)
796
- __defProp$a(target, key, result);
774
+ __defProp$9(target, key, result);
797
775
  return result;
798
776
  };
799
777
  let PAGSurface = class {
@@ -837,14 +815,8 @@ let PAGSurface = class {
837
815
  readPixels(colorType, alphaType) {
838
816
  if (colorType === ColorType.Unknown)
839
817
  return null;
840
- const rowBytes = this.width() * (colorType === ColorType.ALPHA_8 ? 1 : 4);
841
- const length = rowBytes * this.height();
842
- const dataUint8Array = new Uint8Array(length);
843
- const { data, free } = readBufferFromWasm(PAGModule, dataUint8Array, (dataPtr) => {
844
- return this.wasmIns._readPixels(colorType, alphaType, dataPtr, rowBytes);
845
- });
846
- free();
847
- return data;
818
+ const rowBytes = this.wasmIns._width() * (colorType === ColorType.ALPHA_8 ? 1 : 4);
819
+ return this.wasmIns._readPixels(colorType, alphaType, rowBytes);
848
820
  }
849
821
  destroy() {
850
822
  this.wasmIns.delete();
@@ -856,7 +828,7 @@ PAGSurface = __decorateClass$8([
856
828
  wasmAwaitRewind$1
857
829
  ], PAGSurface);
858
830
 
859
- var __defProp$9 = Object.defineProperty;
831
+ var __defProp$8 = Object.defineProperty;
860
832
  var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
861
833
  var __decorateClass$7 = (decorators, target, key, kind) => {
862
834
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
@@ -864,7 +836,7 @@ var __decorateClass$7 = (decorators, target, key, kind) => {
864
836
  if (decorator = decorators[i])
865
837
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
866
838
  if (kind && result)
867
- __defProp$9(target, key, result);
839
+ __defProp$8(target, key, result);
868
840
  return result;
869
841
  };
870
842
  let PAGPlayer = class {
@@ -1038,7 +1010,7 @@ PAGPlayer = __decorateClass$7([
1038
1010
  wasmAwaitRewind$1
1039
1011
  ], PAGPlayer);
1040
1012
 
1041
- var __defProp$8 = Object.defineProperty;
1013
+ var __defProp$7 = Object.defineProperty;
1042
1014
  var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
1043
1015
  var __decorateClass$6 = (decorators, target, key, kind) => {
1044
1016
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
@@ -1046,7 +1018,7 @@ var __decorateClass$6 = (decorators, target, key, kind) => {
1046
1018
  if (decorator = decorators[i])
1047
1019
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1048
1020
  if (kind && result)
1049
- __defProp$8(target, key, result);
1021
+ __defProp$7(target, key, result);
1050
1022
  return result;
1051
1023
  };
1052
1024
  let PAGImage = class {
@@ -1074,9 +1046,7 @@ let PAGImage = class {
1074
1046
  }
1075
1047
  static fromPixels(pixels, width, height, colorType, alphaType) {
1076
1048
  const rowBytes = width * (colorType === ColorType.ALPHA_8 ? 1 : 4);
1077
- const { byteOffset, free } = writeBufferToWasm(PAGModule, pixels);
1078
- const wasmIns = PAGModule._PAGImage._FromPixels(byteOffset, width, height, rowBytes, colorType, alphaType);
1079
- free();
1049
+ const wasmIns = PAGModule._PAGImage._FromPixels(pixels, width, height, rowBytes, colorType, alphaType);
1080
1050
  if (!wasmIns)
1081
1051
  throw new Error("Make PAGImage from pixels fail!");
1082
1052
  return new PAGImage(wasmIns);
@@ -1359,7 +1329,7 @@ const CANVAS_POOL_MAX_SIZE = 10;
1359
1329
 
1360
1330
  const isInstanceOf = (value, type) => typeof type !== "undefined" && value instanceof type;
1361
1331
 
1362
- const nav = (navigator == null ? void 0 : navigator.userAgent) || "";
1332
+ const nav = navigator?.userAgent || "";
1363
1333
  const ANDROID = /android|adr/i.test(nav);
1364
1334
  const MOBILE = /(mobile)/i.test(nav) && ANDROID;
1365
1335
  !(/(mobile)/i.test(nav) || MOBILE) && /Mac OS X/i.test(nav);
@@ -1422,7 +1392,7 @@ const calculateDisplaySize = (canvas) => {
1422
1392
  }
1423
1393
  };
1424
1394
 
1425
- var __defProp$7 = Object.defineProperty;
1395
+ var __defProp$6 = Object.defineProperty;
1426
1396
  var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
1427
1397
  var __decorateClass$5 = (decorators, target, key, kind) => {
1428
1398
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
@@ -1430,7 +1400,7 @@ var __decorateClass$5 = (decorators, target, key, kind) => {
1430
1400
  if (decorator = decorators[i])
1431
1401
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1432
1402
  if (kind && result)
1433
- __defProp$7(target, key, result);
1403
+ __defProp$6(target, key, result);
1434
1404
  return result;
1435
1405
  };
1436
1406
  let PAGView = class {
@@ -1840,7 +1810,7 @@ const getFontFamilies = (name, style = "") => {
1840
1810
  return fontFamilies;
1841
1811
  };
1842
1812
 
1843
- var __defProp$6 = Object.defineProperty;
1813
+ var __defProp$5 = Object.defineProperty;
1844
1814
  var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
1845
1815
  var __decorateClass$4 = (decorators, target, key, kind) => {
1846
1816
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
@@ -1848,7 +1818,7 @@ var __decorateClass$4 = (decorators, target, key, kind) => {
1848
1818
  if (decorator = decorators[i])
1849
1819
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1850
1820
  if (kind && result)
1851
- __defProp$6(target, key, result);
1821
+ __defProp$5(target, key, result);
1852
1822
  return result;
1853
1823
  };
1854
1824
  let PAGFont = class {
@@ -2342,7 +2312,7 @@ class GlobalCanvas {
2342
2312
  }
2343
2313
  }
2344
2314
 
2345
- var __defProp$5 = Object.defineProperty;
2315
+ var __defProp$4 = Object.defineProperty;
2346
2316
  var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
2347
2317
  var __decorateClass$3 = (decorators, target, key, kind) => {
2348
2318
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
@@ -2350,7 +2320,7 @@ var __decorateClass$3 = (decorators, target, key, kind) => {
2350
2320
  if (decorator = decorators[i])
2351
2321
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2352
2322
  if (kind && result)
2353
- __defProp$5(target, key, result);
2323
+ __defProp$4(target, key, result);
2354
2324
  return result;
2355
2325
  };
2356
2326
  let PAGTextLayer = class extends PAGLayer {
@@ -2400,7 +2370,7 @@ PAGTextLayer = __decorateClass$3([
2400
2370
  wasmAwaitRewind$1
2401
2371
  ], PAGTextLayer);
2402
2372
 
2403
- var __defProp$4 = Object.defineProperty;
2373
+ var __defProp$3 = Object.defineProperty;
2404
2374
  var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
2405
2375
  var __decorateClass$2 = (decorators, target, key, kind) => {
2406
2376
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
@@ -2408,7 +2378,7 @@ var __decorateClass$2 = (decorators, target, key, kind) => {
2408
2378
  if (decorator = decorators[i])
2409
2379
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2410
2380
  if (kind && result)
2411
- __defProp$4(target, key, result);
2381
+ __defProp$3(target, key, result);
2412
2382
  return result;
2413
2383
  };
2414
2384
  let PAGImageLayer = class extends PAGLayer {
@@ -2445,7 +2415,7 @@ PAGImageLayer = __decorateClass$2([
2445
2415
  wasmAwaitRewind$1
2446
2416
  ], PAGImageLayer);
2447
2417
 
2448
- var __defProp$3 = Object.defineProperty;
2418
+ var __defProp$2 = Object.defineProperty;
2449
2419
  var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
2450
2420
  var __decorateClass$1 = (decorators, target, key, kind) => {
2451
2421
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
@@ -2453,7 +2423,7 @@ var __decorateClass$1 = (decorators, target, key, kind) => {
2453
2423
  if (decorator = decorators[i])
2454
2424
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2455
2425
  if (kind && result)
2456
- __defProp$3(target, key, result);
2426
+ __defProp$2(target, key, result);
2457
2427
  return result;
2458
2428
  };
2459
2429
  let PAGSolidLayer = class extends PAGLayer {
@@ -2513,7 +2483,8 @@ const createImage = (source) => {
2513
2483
  });
2514
2484
  };
2515
2485
  const createImageFromBytes = (bytes) => {
2516
- const blob = new Blob([bytes], { type: "image/*" });
2486
+ const uint8Array = new Uint8Array(bytes);
2487
+ const blob = new Blob([uint8Array], { type: "image/*" });
2517
2488
  return createImage(URL.createObjectURL(blob));
2518
2489
  };
2519
2490
  const readImagePixels = (module, image, width, height) => {
@@ -2531,7 +2502,7 @@ const readImagePixels = (module, image, width, height) => {
2531
2502
  if (data.length === 0) {
2532
2503
  return null;
2533
2504
  }
2534
- return writeBufferToWasm(module, data);
2505
+ return new Uint8Array(data);
2535
2506
  };
2536
2507
  const hasWebpSupport = () => {
2537
2508
  try {
@@ -2550,11 +2521,10 @@ const getSourceSize = (source) => {
2550
2521
  return { width: source.width, height: source.height };
2551
2522
  };
2552
2523
  const uploadToTexture = (GL, source, textureID, alphaOnly) => {
2553
- var _a;
2554
2524
  let renderSource = source instanceof BitmapImage ? source.bitmap : source;
2555
2525
  if (!renderSource)
2556
2526
  return;
2557
- const gl = (_a = GL.currentContext) == null ? void 0 : _a.GLctx;
2527
+ const gl = GL.currentContext?.GLctx;
2558
2528
  gl.bindTexture(gl.TEXTURE_2D, GL.textures[textureID]);
2559
2529
  if (alphaOnly) {
2560
2530
  gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1);
@@ -2580,7 +2550,7 @@ const releaseNativeImage = (source) => {
2580
2550
  };
2581
2551
  const getBytesFromPath = async (module, path) => {
2582
2552
  const buffer = await fetch(path).then((res) => res.arrayBuffer());
2583
- return writeBufferToWasm(module, buffer);
2553
+ return new Uint8Array(buffer);
2584
2554
  };
2585
2555
 
2586
2556
  var tgfx = /*#__PURE__*/Object.freeze({
@@ -2655,7 +2625,7 @@ var MatrixIndex = /* @__PURE__ */ ((MatrixIndex2) => {
2655
2625
  return MatrixIndex2;
2656
2626
  })(MatrixIndex || {});
2657
2627
 
2658
- var __defProp$2 = Object.defineProperty;
2628
+ var __defProp$1 = Object.defineProperty;
2659
2629
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
2660
2630
  var __decorateClass = (decorators, target, key, kind) => {
2661
2631
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
@@ -2663,7 +2633,7 @@ var __decorateClass = (decorators, target, key, kind) => {
2663
2633
  if (decorator = decorators[i])
2664
2634
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2665
2635
  if (kind && result)
2666
- __defProp$2(target, key, result);
2636
+ __defProp$1(target, key, result);
2667
2637
  return result;
2668
2638
  };
2669
2639
  let Matrix = class {
@@ -2675,50 +2645,43 @@ let Matrix = class {
2675
2645
  return this.wasmIns ? this.wasmIns._get(MatrixIndex.a) : 0;
2676
2646
  }
2677
2647
  set a(value) {
2678
- var _a;
2679
- (_a = this.wasmIns) == null ? void 0 : _a._set(MatrixIndex.a, value);
2648
+ this.wasmIns?._set(MatrixIndex.a, value);
2680
2649
  }
2681
2650
  get b() {
2682
2651
  return this.wasmIns ? this.wasmIns._get(MatrixIndex.b) : 0;
2683
2652
  }
2684
2653
  set b(value) {
2685
- var _a;
2686
- (_a = this.wasmIns) == null ? void 0 : _a._set(MatrixIndex.b, value);
2654
+ this.wasmIns?._set(MatrixIndex.b, value);
2687
2655
  }
2688
2656
  get c() {
2689
2657
  return this.wasmIns ? this.wasmIns._get(MatrixIndex.c) : 0;
2690
2658
  }
2691
2659
  set c(value) {
2692
- var _a;
2693
- (_a = this.wasmIns) == null ? void 0 : _a._set(MatrixIndex.c, value);
2660
+ this.wasmIns?._set(MatrixIndex.c, value);
2694
2661
  }
2695
2662
  get d() {
2696
2663
  return this.wasmIns ? this.wasmIns._get(MatrixIndex.d) : 0;
2697
2664
  }
2698
2665
  set d(value) {
2699
- var _a;
2700
- (_a = this.wasmIns) == null ? void 0 : _a._set(MatrixIndex.d, value);
2666
+ this.wasmIns?._set(MatrixIndex.d, value);
2701
2667
  }
2702
2668
  get tx() {
2703
2669
  return this.wasmIns ? this.wasmIns._get(MatrixIndex.tx) : 0;
2704
2670
  }
2705
2671
  set tx(value) {
2706
- var _a;
2707
- (_a = this.wasmIns) == null ? void 0 : _a._set(MatrixIndex.tx, value);
2672
+ this.wasmIns?._set(MatrixIndex.tx, value);
2708
2673
  }
2709
2674
  get ty() {
2710
2675
  return this.wasmIns ? this.wasmIns._get(MatrixIndex.ty) : 0;
2711
2676
  }
2712
2677
  set ty(value) {
2713
- var _a;
2714
- (_a = this.wasmIns) == null ? void 0 : _a._set(MatrixIndex.ty, value);
2678
+ this.wasmIns?._set(MatrixIndex.ty, value);
2715
2679
  }
2716
2680
  get(index) {
2717
2681
  return this.wasmIns ? this.wasmIns._get(index) : 0;
2718
2682
  }
2719
2683
  set(index, value) {
2720
- var _a;
2721
- (_a = this.wasmIns) == null ? void 0 : _a._set(index, value);
2684
+ this.wasmIns?._set(index, value);
2722
2685
  }
2723
2686
  destroy() {
2724
2687
  this.wasmIns.delete();
@@ -2788,7 +2751,7 @@ const getBottomPixel = (imageDataArray, width, height) => {
2788
2751
  return 0;
2789
2752
  };
2790
2753
 
2791
- class ScalerContext {
2754
+ const _ScalerContext = class {
2792
2755
  constructor(fontName, fontStyle, size) {
2793
2756
  this.fontBoundingBoxMap = [];
2794
2757
  this.fontName = fontName;
@@ -2797,10 +2760,10 @@ class ScalerContext {
2797
2760
  this.loadCanvas();
2798
2761
  }
2799
2762
  static setCanvas(canvas) {
2800
- ScalerContext.canvas = canvas;
2763
+ _ScalerContext.canvas = canvas;
2801
2764
  }
2802
2765
  static setContext(context) {
2803
- ScalerContext.context = context;
2766
+ _ScalerContext.context = context;
2804
2767
  }
2805
2768
  static isUnicodePropertyEscapeSupported() {
2806
2769
  try {
@@ -2813,12 +2776,19 @@ class ScalerContext {
2813
2776
  static isEmoji(text) {
2814
2777
  let emojiRegExp;
2815
2778
  if (this.isUnicodePropertyEscapeSupported()) {
2816
- emojiRegExp = new RegExp("\\p{Extended_Pictographic}|[#*0-9]\\uFE0F?\\u20E3|[\\uD83C\\uDDE6-\\uD83C\\uDDFF]", "u");
2779
+ emojiRegExp = /\p{Extended_Pictographic}|[#*0-9]\uFE0F?\u20E3|[\uD83C\uDDE6-\uD83C\uDDFF]/u;
2817
2780
  } else {
2818
2781
  emojiRegExp = /(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/;
2819
2782
  }
2820
2783
  return emojiRegExp.test(text);
2821
2784
  }
2785
+ static measureDirectly(ctx) {
2786
+ if (_ScalerContext.hasMeasureBoundsAPI === void 0) {
2787
+ const metrics = ctx.measureText("x");
2788
+ _ScalerContext.hasMeasureBoundsAPI = metrics && metrics.actualBoundingBoxAscent > 0;
2789
+ }
2790
+ return _ScalerContext.hasMeasureBoundsAPI;
2791
+ }
2822
2792
  fontString(fauxBold, fauxItalic) {
2823
2793
  const attributes = [];
2824
2794
  if (fauxItalic) {
@@ -2837,7 +2807,7 @@ class ScalerContext {
2837
2807
  if (this.fontMetrics) {
2838
2808
  return this.fontMetrics;
2839
2809
  }
2840
- const { context } = ScalerContext;
2810
+ const { context } = _ScalerContext;
2841
2811
  context.font = this.fontString(false, false);
2842
2812
  const metrics = this.measureText(context, "H");
2843
2813
  const capHeight = metrics.actualBoundingBoxAscent;
@@ -2852,7 +2822,7 @@ class ScalerContext {
2852
2822
  return this.fontMetrics;
2853
2823
  }
2854
2824
  getBounds(text, fauxBold, fauxItalic) {
2855
- const { context } = ScalerContext;
2825
+ const { context } = _ScalerContext;
2856
2826
  context.font = this.fontString(fauxBold, fauxItalic);
2857
2827
  const metrics = this.measureText(context, text);
2858
2828
  const bounds = {
@@ -2870,7 +2840,7 @@ class ScalerContext {
2870
2840
  return bounds;
2871
2841
  }
2872
2842
  getAdvance(text) {
2873
- const { context } = ScalerContext;
2843
+ const { context } = _ScalerContext;
2874
2844
  context.font = this.fontString(false, false);
2875
2845
  return context.measureText(text).width;
2876
2846
  }
@@ -2882,17 +2852,16 @@ class ScalerContext {
2882
2852
  return canvas;
2883
2853
  }
2884
2854
  loadCanvas() {
2885
- if (!ScalerContext.canvas) {
2886
- ScalerContext.setCanvas(getCanvas2D(10, 10));
2887
- ScalerContext.setContext(
2888
- ScalerContext.canvas.getContext("2d", { willReadFrequently: true })
2855
+ if (!_ScalerContext.canvas) {
2856
+ _ScalerContext.setCanvas(getCanvas2D(10, 10));
2857
+ _ScalerContext.setContext(
2858
+ _ScalerContext.canvas.getContext("2d", { willReadFrequently: true })
2889
2859
  );
2890
2860
  }
2891
2861
  }
2892
2862
  measureText(ctx, text) {
2893
- const metrics = ctx.measureText(text);
2894
- if (metrics && (metrics.actualBoundingBoxAscent > 0 || metrics.width === 0)) {
2895
- return metrics;
2863
+ if (_ScalerContext.measureDirectly(ctx)) {
2864
+ return ctx.measureText(text);
2896
2865
  }
2897
2866
  ctx.canvas.width = this.size * 1.5;
2898
2867
  ctx.canvas.height = this.size * 1.5;
@@ -2923,7 +2892,9 @@ class ScalerContext {
2923
2892
  width: fontMeasure.right - fontMeasure.left
2924
2893
  };
2925
2894
  }
2926
- }
2895
+ };
2896
+ let ScalerContext = _ScalerContext;
2897
+ ScalerContext.hasMeasureBoundsAPI = void 0;
2927
2898
 
2928
2899
  class WebMask {
2929
2900
  static create(canvas) {
@@ -2997,29 +2968,13 @@ class WebMask {
2997
2968
  }
2998
2969
  }
2999
2970
 
3000
- var __defProp$1 = Object.defineProperty;
3001
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3002
- var __hasOwnProp = Object.prototype.hasOwnProperty;
3003
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
3004
- var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3005
- var __spreadValues = (a, b) => {
3006
- for (var prop in b || (b = {}))
3007
- if (__hasOwnProp.call(b, prop))
3008
- __defNormalProp$1(a, prop, b[prop]);
3009
- if (__getOwnPropSymbols)
3010
- for (var prop of __getOwnPropSymbols(b)) {
3011
- if (__propIsEnum.call(b, prop))
3012
- __defNormalProp$1(a, prop, b[prop]);
3013
- }
3014
- return a;
3015
- };
3016
2971
  const TGFXBind = (module) => {
3017
2972
  setTGFXModule(module);
3018
2973
  module.module = module;
3019
2974
  module.ScalerContext = ScalerContext;
3020
2975
  module.WebMask = WebMask;
3021
2976
  module.Matrix = Matrix;
3022
- module.tgfx = __spreadValues({}, tgfx);
2977
+ module.tgfx = { ...tgfx };
3023
2978
  };
3024
2979
 
3025
2980
  const PAGBind = (module) => {
@@ -3051,17 +3006,23 @@ var __publicField = (obj, key, value) => {
3051
3006
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
3052
3007
  return value;
3053
3008
  };
3054
- var Hello2D = (() => {
3009
+ var PAGInit$1 = (() => {
3010
+ var _scriptName = typeof document != "undefined" ? document.currentScript?.src : void 0;
3055
3011
  return async function(moduleArg = {}) {
3056
3012
  var moduleRtn;
3057
3013
  var Module = moduleArg;
3014
+ var readyPromiseResolve, readyPromiseReject;
3015
+ var readyPromise = new Promise((resolve, reject) => {
3016
+ readyPromiseResolve = resolve;
3017
+ readyPromiseReject = reject;
3018
+ });
3058
3019
  var ENVIRONMENT_IS_WEB = typeof window == "object";
3059
3020
  var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != "undefined";
3060
- typeof process == "object" && process.versions?.node && process.type != "renderer";
3021
+ typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer";
3022
+ var moduleOverrides = Object.assign({}, Module);
3061
3023
  var quit_ = (status, toThrow) => {
3062
3024
  throw toThrow;
3063
3025
  };
3064
- var _scriptName = import.meta.url;
3065
3026
  var scriptDirectory = "";
3066
3027
  function locateFile(path) {
3067
3028
  if (Module["locateFile"]) {
@@ -3071,9 +3032,18 @@ var Hello2D = (() => {
3071
3032
  }
3072
3033
  var readAsync, readBinary;
3073
3034
  if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
3074
- try {
3075
- scriptDirectory = new URL(".", _scriptName).href;
3076
- } catch {
3035
+ if (ENVIRONMENT_IS_WORKER) {
3036
+ scriptDirectory = self.location.href;
3037
+ } else if (typeof document != "undefined" && document.currentScript) {
3038
+ scriptDirectory = document.currentScript.src;
3039
+ }
3040
+ if (_scriptName) {
3041
+ scriptDirectory = _scriptName;
3042
+ }
3043
+ if (scriptDirectory.startsWith("blob:")) {
3044
+ scriptDirectory = "";
3045
+ } else {
3046
+ scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
3077
3047
  }
3078
3048
  {
3079
3049
  if (ENVIRONMENT_IS_WORKER) {
@@ -3094,29 +3064,37 @@ var Hello2D = (() => {
3094
3064
  };
3095
3065
  }
3096
3066
  }
3097
- var out = console.log.bind(console);
3098
- var err = console.error.bind(console);
3099
- var wasmBinary;
3067
+ var out = Module["print"] || console.log.bind(console);
3068
+ var err = Module["printErr"] || console.error.bind(console);
3069
+ Object.assign(Module, moduleOverrides);
3070
+ moduleOverrides = null;
3071
+ if (Module["arguments"])
3072
+ Module["arguments"];
3073
+ if (Module["thisProgram"])
3074
+ Module["thisProgram"];
3075
+ var wasmBinary = Module["wasmBinary"];
3076
+ var wasmMemory;
3100
3077
  var ABORT = false;
3101
3078
  var EXITSTATUS;
3102
- var readyPromiseResolve, readyPromiseReject;
3103
- var wasmMemory;
3104
- var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
3105
- var HEAP64, HEAPU64;
3106
- var runtimeInitialized = false;
3079
+ var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAP64, HEAPU64, HEAPF64;
3080
+ var dataURIPrefix = "data:application/octet-stream;base64,";
3081
+ var isDataURI = (filename) => filename.startsWith(dataURIPrefix);
3107
3082
  function updateMemoryViews() {
3108
3083
  var b = wasmMemory.buffer;
3109
- HEAP8 = new Int8Array(b);
3110
- HEAP16 = new Int16Array(b);
3084
+ Module["HEAP8"] = HEAP8 = new Int8Array(b);
3085
+ Module["HEAP16"] = HEAP16 = new Int16Array(b);
3111
3086
  Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
3112
- HEAPU16 = new Uint16Array(b);
3113
- HEAP32 = new Int32Array(b);
3114
- HEAPU32 = new Uint32Array(b);
3115
- HEAPF32 = new Float32Array(b);
3116
- HEAPF64 = new Float64Array(b);
3117
- HEAP64 = new BigInt64Array(b);
3118
- HEAPU64 = new BigUint64Array(b);
3119
- }
3087
+ Module["HEAPU16"] = HEAPU16 = new Uint16Array(b);
3088
+ Module["HEAP32"] = HEAP32 = new Int32Array(b);
3089
+ Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
3090
+ Module["HEAPF32"] = HEAPF32 = new Float32Array(b);
3091
+ Module["HEAPF64"] = HEAPF64 = new Float64Array(b);
3092
+ Module["HEAP64"] = HEAP64 = new BigInt64Array(b);
3093
+ Module["HEAPU64"] = HEAPU64 = new BigUint64Array(b);
3094
+ }
3095
+ var __ATPRERUN__ = [];
3096
+ var __ATINIT__ = [];
3097
+ var __ATPOSTRUN__ = [];
3120
3098
  function preRun() {
3121
3099
  if (Module["preRun"]) {
3122
3100
  if (typeof Module["preRun"] == "function")
@@ -3125,14 +3103,13 @@ var Hello2D = (() => {
3125
3103
  addOnPreRun(Module["preRun"].shift());
3126
3104
  }
3127
3105
  }
3128
- callRuntimeCallbacks(onPreRuns);
3106
+ callRuntimeCallbacks(__ATPRERUN__);
3129
3107
  }
3130
3108
  function initRuntime() {
3131
- runtimeInitialized = true;
3132
3109
  if (!Module["noFSInit"] && !FS.initialized)
3133
3110
  FS.init();
3134
- wasmExports["ic"]();
3135
3111
  FS.ignorePermissions = false;
3112
+ callRuntimeCallbacks(__ATINIT__);
3136
3113
  }
3137
3114
  function postRun() {
3138
3115
  if (Module["postRun"]) {
@@ -3142,7 +3119,16 @@ var Hello2D = (() => {
3142
3119
  addOnPostRun(Module["postRun"].shift());
3143
3120
  }
3144
3121
  }
3145
- callRuntimeCallbacks(onPostRuns);
3122
+ callRuntimeCallbacks(__ATPOSTRUN__);
3123
+ }
3124
+ function addOnPreRun(cb) {
3125
+ __ATPRERUN__.unshift(cb);
3126
+ }
3127
+ function addOnInit(cb) {
3128
+ __ATINIT__.unshift(cb);
3129
+ }
3130
+ function addOnPostRun(cb) {
3131
+ __ATPOSTRUN__.unshift(cb);
3146
3132
  }
3147
3133
  var runDependencies = 0;
3148
3134
  var dependenciesFulfilled = null;
@@ -3168,15 +3154,16 @@ var Hello2D = (() => {
3168
3154
  ABORT = true;
3169
3155
  what += ". Build with -sASSERTIONS for more info.";
3170
3156
  var e = new WebAssembly.RuntimeError(what);
3171
- readyPromiseReject?.(e);
3157
+ readyPromiseReject(e);
3172
3158
  throw e;
3173
3159
  }
3174
3160
  var wasmBinaryFile;
3175
3161
  function findWasmBinary() {
3176
- if (Module["locateFile"]) {
3177
- return locateFile("libpag.wasm");
3162
+ var f = "libpag.wasm";
3163
+ if (!isDataURI(f)) {
3164
+ return locateFile(f);
3178
3165
  }
3179
- return new URL("libpag.wasm", import.meta.url).href;
3166
+ return f;
3180
3167
  }
3181
3168
  function getBinarySync(file) {
3182
3169
  if (file == wasmBinaryFile && wasmBinary) {
@@ -3208,7 +3195,7 @@ var Hello2D = (() => {
3208
3195
  }
3209
3196
  }
3210
3197
  async function instantiateAsync(binary, binaryFile, imports) {
3211
- if (!binary && typeof WebAssembly.instantiateStreaming == "function") {
3198
+ if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile)) {
3212
3199
  try {
3213
3200
  var response = fetch(binaryFile, { credentials: "same-origin" });
3214
3201
  var instantiationResult = await WebAssembly.instantiateStreaming(response, imports);
@@ -3229,7 +3216,8 @@ var Hello2D = (() => {
3229
3216
  wasmExports = Asyncify.instrumentWasmExports(wasmExports);
3230
3217
  wasmMemory = wasmExports["hc"];
3231
3218
  updateMemoryViews();
3232
- assignWasmExports(wasmExports);
3219
+ wasmExports["kc"];
3220
+ addOnInit(wasmExports["ic"]);
3233
3221
  removeRunDependency();
3234
3222
  return wasmExports;
3235
3223
  }
@@ -3239,16 +3227,22 @@ var Hello2D = (() => {
3239
3227
  }
3240
3228
  var info = getWasmImports();
3241
3229
  if (Module["instantiateWasm"]) {
3242
- return new Promise((resolve, reject) => {
3243
- Module["instantiateWasm"](info, (mod, inst) => {
3244
- resolve(receiveInstance(mod));
3245
- });
3246
- });
3230
+ try {
3231
+ return Module["instantiateWasm"](info, receiveInstance);
3232
+ } catch (e) {
3233
+ err(`Module.instantiateWasm callback failed with error: ${e}`);
3234
+ readyPromiseReject(e);
3235
+ }
3247
3236
  }
3248
3237
  wasmBinaryFile ?? (wasmBinaryFile = findWasmBinary());
3249
- var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
3250
- var exports = receiveInstantiationResult(result);
3251
- return exports;
3238
+ try {
3239
+ var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
3240
+ var exports = receiveInstantiationResult(result);
3241
+ return exports;
3242
+ } catch (e) {
3243
+ readyPromiseReject(e);
3244
+ return Promise.reject(e);
3245
+ }
3252
3246
  }
3253
3247
  class ExitStatus {
3254
3248
  constructor(status) {
@@ -3262,24 +3256,7 @@ var Hello2D = (() => {
3262
3256
  callbacks.shift()(Module);
3263
3257
  }
3264
3258
  };
3265
- var onPostRuns = [];
3266
- var addOnPostRun = (cb) => onPostRuns.push(cb);
3267
- var onPreRuns = [];
3268
- var addOnPreRun = (cb) => onPreRuns.push(cb);
3269
- var dynCalls = {};
3270
- var dynCallLegacy = (sig, ptr, args) => {
3271
- sig = sig.replace(/p/g, "i");
3272
- var f = dynCalls[sig];
3273
- return f(ptr, ...args);
3274
- };
3275
- var dynCall = (sig, ptr, args = [], promising = false) => {
3276
- var rtn = dynCallLegacy(sig, ptr, args);
3277
- function convert(rtn2) {
3278
- return rtn2;
3279
- }
3280
- return convert(rtn);
3281
- };
3282
- var noExitRuntime = true;
3259
+ var noExitRuntime = Module["noExitRuntime"] || true;
3283
3260
  class ExceptionInfo {
3284
3261
  constructor(excPtr) {
3285
3262
  this.excPtr = excPtr;
@@ -3360,7 +3337,7 @@ var Hello2D = (() => {
3360
3337
  }
3361
3338
  return parts;
3362
3339
  }, normalize: (path) => {
3363
- var isAbsolute = PATH.isAbs(path), trailingSlash = path.slice(-1) === "/";
3340
+ var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/";
3364
3341
  path = PATH.normalizeArray(path.split("/").filter((p) => !!p), !isAbsolute).join("/");
3365
3342
  if (!path && !isAbsolute) {
3366
3343
  path = ".";
@@ -3375,7 +3352,7 @@ var Hello2D = (() => {
3375
3352
  return ".";
3376
3353
  }
3377
3354
  if (dir) {
3378
- dir = dir.slice(0, -1);
3355
+ dir = dir.substr(0, dir.length - 1);
3379
3356
  }
3380
3357
  return root + dir;
3381
3358
  }, basename: (path) => path && path.match(/([^\/]+|\/)\/*$/)[1], join: (...paths) => PATH.normalize(paths.join("/")), join2: (l, r) => PATH.normalize(l + "/" + r) };
@@ -3398,8 +3375,8 @@ var Hello2D = (() => {
3398
3375
  resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter((p) => !!p), !resolvedAbsolute).join("/");
3399
3376
  return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
3400
3377
  }, relative: (from, to) => {
3401
- from = PATH_FS.resolve(from).slice(1);
3402
- to = PATH_FS.resolve(to).slice(1);
3378
+ from = PATH_FS.resolve(from).substr(1);
3379
+ to = PATH_FS.resolve(to).substr(1);
3403
3380
  function trim(arr) {
3404
3381
  var start = 0;
3405
3382
  for (; start < arr.length; start++) {
@@ -3432,13 +3409,41 @@ var Hello2D = (() => {
3432
3409
  outputParts = outputParts.concat(toParts.slice(samePartsLength));
3433
3410
  return outputParts.join("/");
3434
3411
  } };
3435
- var UTF8Decoder = new TextDecoder();
3412
+ var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder() : void 0;
3436
3413
  var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => {
3437
3414
  var endIdx = idx + maxBytesToRead;
3438
3415
  var endPtr = idx;
3439
3416
  while (heapOrArray[endPtr] && !(endPtr >= endIdx))
3440
3417
  ++endPtr;
3441
- return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));
3418
+ if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
3419
+ return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
3420
+ }
3421
+ var str = "";
3422
+ while (idx < endPtr) {
3423
+ var u0 = heapOrArray[idx++];
3424
+ if (!(u0 & 128)) {
3425
+ str += String.fromCharCode(u0);
3426
+ continue;
3427
+ }
3428
+ var u1 = heapOrArray[idx++] & 63;
3429
+ if ((u0 & 224) == 192) {
3430
+ str += String.fromCharCode((u0 & 31) << 6 | u1);
3431
+ continue;
3432
+ }
3433
+ var u2 = heapOrArray[idx++] & 63;
3434
+ if ((u0 & 240) == 224) {
3435
+ u0 = (u0 & 15) << 12 | u1 << 6 | u2;
3436
+ } else {
3437
+ u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
3438
+ }
3439
+ if (u0 < 65536) {
3440
+ str += String.fromCharCode(u0);
3441
+ } else {
3442
+ var ch = u0 - 65536;
3443
+ str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
3444
+ }
3445
+ }
3446
+ return str;
3442
3447
  };
3443
3448
  var FS_stdin_getChar_buffer = [];
3444
3449
  var lengthBytesUTF8 = (str) => {
@@ -3464,7 +3469,11 @@ var Hello2D = (() => {
3464
3469
  var startIdx = outIdx;
3465
3470
  var endIdx = outIdx + maxBytesToWrite - 1;
3466
3471
  for (var i2 = 0; i2 < str.length; ++i2) {
3467
- var u = str.codePointAt(i2);
3472
+ var u = str.charCodeAt(i2);
3473
+ if (u >= 55296 && u <= 57343) {
3474
+ var u1 = str.charCodeAt(++i2);
3475
+ u = 65536 + ((u & 1023) << 10) | u1 & 1023;
3476
+ }
3468
3477
  if (u <= 127) {
3469
3478
  if (outIdx >= endIdx)
3470
3479
  break;
@@ -3487,20 +3496,19 @@ var Hello2D = (() => {
3487
3496
  heap[outIdx++] = 128 | u >> 12 & 63;
3488
3497
  heap[outIdx++] = 128 | u >> 6 & 63;
3489
3498
  heap[outIdx++] = 128 | u & 63;
3490
- i2++;
3491
3499
  }
3492
3500
  }
3493
3501
  heap[outIdx] = 0;
3494
3502
  return outIdx - startIdx;
3495
3503
  };
3496
- var intArrayFromString = (stringy, dontAddNull, length) => {
3504
+ function intArrayFromString(stringy, dontAddNull, length) {
3497
3505
  var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
3498
3506
  var u8array = new Array(len);
3499
3507
  var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
3500
3508
  if (dontAddNull)
3501
3509
  u8array.length = numBytesWritten;
3502
3510
  return u8array;
3503
- };
3511
+ }
3504
3512
  var FS_stdin_getChar = () => {
3505
3513
  if (!FS_stdin_getChar_buffer.length) {
3506
3514
  var result = null;
@@ -3583,7 +3591,7 @@ var Hello2D = (() => {
3583
3591
  tty.output.push(val);
3584
3592
  }
3585
3593
  }, fsync(tty) {
3586
- if (tty.output?.length > 0) {
3594
+ if (tty.output && tty.output.length > 0) {
3587
3595
  out(UTF8ArrayToString(tty.output));
3588
3596
  tty.output = [];
3589
3597
  }
@@ -3602,11 +3610,12 @@ var Hello2D = (() => {
3602
3610
  tty.output.push(val);
3603
3611
  }
3604
3612
  }, fsync(tty) {
3605
- if (tty.output?.length > 0) {
3613
+ if (tty.output && tty.output.length > 0) {
3606
3614
  err(UTF8ArrayToString(tty.output));
3607
3615
  tty.output = [];
3608
3616
  }
3609
3617
  } } };
3618
+ var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
3610
3619
  var mmapAlloc = (size) => {
3611
3620
  abort();
3612
3621
  };
@@ -3616,7 +3625,7 @@ var Hello2D = (() => {
3616
3625
  if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
3617
3626
  throw new FS.ErrnoError(63);
3618
3627
  }
3619
- MEMFS.ops_table || (MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } });
3628
+ MEMFS.ops_table || (MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } });
3620
3629
  var node = FS.createNode(parent, name, mode, dev);
3621
3630
  if (FS.isDir(node.mode)) {
3622
3631
  node.node_ops = MEMFS.ops_table.dir.node;
@@ -3805,6 +3814,9 @@ var Hello2D = (() => {
3805
3814
  throw new FS.ErrnoError(28);
3806
3815
  }
3807
3816
  return position;
3817
+ }, allocate(stream, offset, length) {
3818
+ MEMFS.expandFileStorage(stream.node, offset + length);
3819
+ stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
3808
3820
  }, mmap(stream, length, position, prot, flags) {
3809
3821
  if (!FS.isFile(stream.node.mode)) {
3810
3822
  throw new FS.ErrnoError(43);
@@ -3842,8 +3854,10 @@ var Hello2D = (() => {
3842
3854
  return new Uint8Array(arrayBuffer);
3843
3855
  };
3844
3856
  asyncLoad.isAsync = true;
3845
- var FS_createDataFile = (...args) => FS.createDataFile(...args);
3846
- var preloadPlugins = [];
3857
+ var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => {
3858
+ FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn);
3859
+ };
3860
+ var preloadPlugins = Module["preloadPlugins"] || [];
3847
3861
  var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => {
3848
3862
  if (typeof Browser != "undefined")
3849
3863
  Browser.init();
@@ -3900,12 +3914,12 @@ var Hello2D = (() => {
3900
3914
  mode |= 146;
3901
3915
  return mode;
3902
3916
  };
3903
- var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, filesystems: null, syncFSRequests: 0, readFiles: {}, ErrnoError: class {
3917
+ var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, ErrnoError: class {
3904
3918
  constructor(errno) {
3905
3919
  __publicField(this, "name", "ErrnoError");
3906
3920
  this.errno = errno;
3907
3921
  }
3908
- }, FSStream: class {
3922
+ }, filesystems: null, syncFSRequests: 0, readFiles: {}, FSStream: class {
3909
3923
  constructor() {
3910
3924
  __publicField(this, "shared", {});
3911
3925
  }
@@ -3995,12 +4009,7 @@ var Hello2D = (() => {
3995
4009
  }
3996
4010
  if (parts[i2] === "..") {
3997
4011
  current_path = PATH.dirname(current_path);
3998
- if (FS.isRoot(current)) {
3999
- path = current_path + "/" + parts.slice(i2 + 1).join("/");
4000
- continue linkloop;
4001
- } else {
4002
- current = current.parent;
4003
- }
4012
+ current = current.parent;
4004
4013
  continue;
4005
4014
  }
4006
4015
  current_path = PATH.join2(current_path, parts[i2]);
@@ -4208,12 +4217,6 @@ var Hello2D = (() => {
4208
4217
  var stream = FS.createStream(origStream, fd);
4209
4218
  stream.stream_ops?.dup?.(stream);
4210
4219
  return stream;
4211
- }, doSetAttr(stream, node, attr) {
4212
- var setattr = stream?.stream_ops.setattr;
4213
- var arg = setattr ? stream : node;
4214
- setattr ?? (setattr = node.node_ops.setattr);
4215
- FS.checkOpExists(setattr, 63);
4216
- setattr(arg, attr);
4217
4220
  }, chrdev_stream_ops: { open(stream) {
4218
4221
  var device = FS.getDevice(stream.node.rdev);
4219
4222
  stream.stream_ops = device.stream_ops;
@@ -4356,12 +4359,10 @@ var Hello2D = (() => {
4356
4359
  }, mkdirTree(path, mode) {
4357
4360
  var dirs = path.split("/");
4358
4361
  var d = "";
4359
- for (var dir of dirs) {
4360
- if (!dir)
4362
+ for (var i2 = 0; i2 < dirs.length; ++i2) {
4363
+ if (!dirs[i2])
4361
4364
  continue;
4362
- if (d || PATH.isAbs(path))
4363
- d += "/";
4364
- d += dir;
4365
+ d += "/" + dirs[i2];
4365
4366
  try {
4366
4367
  FS.mkdir(d, mode);
4367
4368
  } catch (e) {
@@ -4513,18 +4514,8 @@ var Hello2D = (() => {
4513
4514
  var node = lookup.node;
4514
4515
  var getattr = FS.checkOpExists(node.node_ops.getattr, 63);
4515
4516
  return getattr(node);
4516
- }, fstat(fd) {
4517
- var stream = FS.getStreamChecked(fd);
4518
- var node = stream.node;
4519
- var getattr = stream.stream_ops.getattr;
4520
- var arg = getattr ? stream : node;
4521
- getattr ?? (getattr = node.node_ops.getattr);
4522
- FS.checkOpExists(getattr, 63);
4523
- return getattr(arg);
4524
4517
  }, lstat(path) {
4525
4518
  return FS.stat(path, true);
4526
- }, doChmod(stream, node, mode, dontFollow) {
4527
- FS.doSetAttr(stream, node, { mode: mode & 4095 | node.mode & ~4095, ctime: Date.now(), dontFollow });
4528
4519
  }, chmod(path, mode, dontFollow) {
4529
4520
  var node;
4530
4521
  if (typeof path == "string") {
@@ -4533,14 +4524,13 @@ var Hello2D = (() => {
4533
4524
  } else {
4534
4525
  node = path;
4535
4526
  }
4536
- FS.doChmod(null, node, mode, dontFollow);
4527
+ var setattr = FS.checkOpExists(node.node_ops.setattr, 63);
4528
+ setattr(node, { mode: mode & 4095 | node.mode & ~4095, ctime: Date.now(), dontFollow });
4537
4529
  }, lchmod(path, mode) {
4538
4530
  FS.chmod(path, mode, true);
4539
4531
  }, fchmod(fd, mode) {
4540
4532
  var stream = FS.getStreamChecked(fd);
4541
- FS.doChmod(stream, stream.node, mode, false);
4542
- }, doChown(stream, node, dontFollow) {
4543
- FS.doSetAttr(stream, node, { timestamp: Date.now(), dontFollow });
4533
+ FS.chmod(stream.node, mode);
4544
4534
  }, chown(path, uid, gid, dontFollow) {
4545
4535
  var node;
4546
4536
  if (typeof path == "string") {
@@ -4549,24 +4539,13 @@ var Hello2D = (() => {
4549
4539
  } else {
4550
4540
  node = path;
4551
4541
  }
4552
- FS.doChown(null, node, dontFollow);
4542
+ var setattr = FS.checkOpExists(node.node_ops.setattr, 63);
4543
+ setattr(node, { timestamp: Date.now(), dontFollow });
4553
4544
  }, lchown(path, uid, gid) {
4554
4545
  FS.chown(path, uid, gid, true);
4555
4546
  }, fchown(fd, uid, gid) {
4556
4547
  var stream = FS.getStreamChecked(fd);
4557
- FS.doChown(stream, stream.node, false);
4558
- }, doTruncate(stream, node, len) {
4559
- if (FS.isDir(node.mode)) {
4560
- throw new FS.ErrnoError(31);
4561
- }
4562
- if (!FS.isFile(node.mode)) {
4563
- throw new FS.ErrnoError(28);
4564
- }
4565
- var errCode = FS.nodePermissions(node, "w");
4566
- if (errCode) {
4567
- throw new FS.ErrnoError(errCode);
4568
- }
4569
- FS.doSetAttr(stream, node, { size: len, timestamp: Date.now() });
4548
+ FS.chown(stream.node, uid, gid);
4570
4549
  }, truncate(path, len) {
4571
4550
  if (len < 0) {
4572
4551
  throw new FS.ErrnoError(28);
@@ -4578,13 +4557,24 @@ var Hello2D = (() => {
4578
4557
  } else {
4579
4558
  node = path;
4580
4559
  }
4581
- FS.doTruncate(null, node, len);
4560
+ if (FS.isDir(node.mode)) {
4561
+ throw new FS.ErrnoError(31);
4562
+ }
4563
+ if (!FS.isFile(node.mode)) {
4564
+ throw new FS.ErrnoError(28);
4565
+ }
4566
+ var errCode = FS.nodePermissions(node, "w");
4567
+ if (errCode) {
4568
+ throw new FS.ErrnoError(errCode);
4569
+ }
4570
+ var setattr = FS.checkOpExists(node.node_ops.setattr, 63);
4571
+ setattr(node, { size: len, timestamp: Date.now() });
4582
4572
  }, ftruncate(fd, len) {
4583
4573
  var stream = FS.getStreamChecked(fd);
4584
- if (len < 0 || (stream.flags & 2097155) === 0) {
4574
+ if ((stream.flags & 2097155) === 0) {
4585
4575
  throw new FS.ErrnoError(28);
4586
4576
  }
4587
- FS.doTruncate(stream, stream.node, len);
4577
+ FS.truncate(stream.node, len);
4588
4578
  }, utime(path, atime, mtime) {
4589
4579
  var lookup = FS.lookupPath(path, { follow: true });
4590
4580
  var node = lookup.node;
@@ -4741,6 +4731,23 @@ var Hello2D = (() => {
4741
4731
  if (!seeking)
4742
4732
  stream.position += bytesWritten;
4743
4733
  return bytesWritten;
4734
+ }, allocate(stream, offset, length) {
4735
+ if (FS.isClosed(stream)) {
4736
+ throw new FS.ErrnoError(8);
4737
+ }
4738
+ if (offset < 0 || length <= 0) {
4739
+ throw new FS.ErrnoError(28);
4740
+ }
4741
+ if ((stream.flags & 2097155) === 0) {
4742
+ throw new FS.ErrnoError(8);
4743
+ }
4744
+ if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
4745
+ throw new FS.ErrnoError(43);
4746
+ }
4747
+ if (!stream.stream_ops.allocate) {
4748
+ throw new FS.ErrnoError(138);
4749
+ }
4750
+ stream.stream_ops.allocate(stream, offset, length);
4744
4751
  }, mmap(stream, length, position, prot, flags) {
4745
4752
  if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {
4746
4753
  throw new FS.ErrnoError(2);
@@ -4771,23 +4778,27 @@ var Hello2D = (() => {
4771
4778
  if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
4772
4779
  throw new Error(`Invalid encoding type "${opts.encoding}"`);
4773
4780
  }
4781
+ var ret;
4774
4782
  var stream = FS.open(path, opts.flags);
4775
4783
  var stat = FS.stat(path);
4776
4784
  var length = stat.size;
4777
4785
  var buf = new Uint8Array(length);
4778
4786
  FS.read(stream, buf, 0, length, 0);
4779
4787
  if (opts.encoding === "utf8") {
4780
- buf = UTF8ArrayToString(buf);
4788
+ ret = UTF8ArrayToString(buf);
4789
+ } else if (opts.encoding === "binary") {
4790
+ ret = buf;
4781
4791
  }
4782
4792
  FS.close(stream);
4783
- return buf;
4793
+ return ret;
4784
4794
  }, writeFile(path, data, opts = {}) {
4785
4795
  opts.flags = opts.flags || 577;
4786
4796
  var stream = FS.open(path, opts.flags, opts.mode);
4787
4797
  if (typeof data == "string") {
4788
- data = new Uint8Array(intArrayFromString(data, true));
4789
- }
4790
- if (ArrayBuffer.isView(data)) {
4798
+ var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
4799
+ var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
4800
+ FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn);
4801
+ } else if (ArrayBuffer.isView(data)) {
4791
4802
  FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn);
4792
4803
  } else {
4793
4804
  throw new Error("Unsupported data type");
@@ -4882,10 +4893,12 @@ var Hello2D = (() => {
4882
4893
  FS.createStandardStreams(input, output, error);
4883
4894
  }, quit() {
4884
4895
  FS.initialized = false;
4885
- for (var stream of FS.streams) {
4886
- if (stream) {
4887
- FS.close(stream);
4896
+ for (var i2 = 0; i2 < FS.streams.length; i2++) {
4897
+ var stream = FS.streams[i2];
4898
+ if (!stream) {
4899
+ continue;
4888
4900
  }
4901
+ FS.close(stream);
4889
4902
  }
4890
4903
  }, findObject(path, dontResolveLastLink) {
4891
4904
  var ret = FS.analyzePath(path, dontResolveLastLink);
@@ -4927,8 +4940,6 @@ var Hello2D = (() => {
4927
4940
  try {
4928
4941
  FS.mkdir(current);
4929
4942
  } catch (e) {
4930
- if (e.errno != 20)
4931
- throw e;
4932
4943
  }
4933
4944
  parent = current;
4934
4945
  }
@@ -5163,14 +5174,7 @@ var Hello2D = (() => {
5163
5174
  node.stream_ops = stream_ops;
5164
5175
  return node;
5165
5176
  } };
5166
- var UTF8ToString = (ptr, maxBytesToRead) => {
5167
- if (!ptr)
5168
- return "";
5169
- var maxPtr = ptr + maxBytesToRead;
5170
- for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; )
5171
- ++end;
5172
- return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));
5173
- };
5177
+ var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
5174
5178
  var SYSCALLS = { DEFAULT_POLLMASK: 5, calculateAt(dirfd, path, allowEmpty) {
5175
5179
  if (PATH.isAbs(path)) {
5176
5180
  return path;
@@ -5479,12 +5483,12 @@ var Hello2D = (() => {
5479
5483
  try {
5480
5484
  path = SYSCALLS.getStr(path);
5481
5485
  path = SYSCALLS.calculateAt(dirfd, path);
5482
- if (!flags) {
5486
+ if (flags === 0) {
5483
5487
  FS.unlink(path);
5484
5488
  } else if (flags === 512) {
5485
5489
  FS.rmdir(path);
5486
5490
  } else {
5487
- return -28;
5491
+ abort("Invalid flags passed to unlinkat");
5488
5492
  }
5489
5493
  return 0;
5490
5494
  } catch (e) {
@@ -5508,12 +5512,7 @@ var Hello2D = (() => {
5508
5512
  var awaitingDependencies = {};
5509
5513
  var registeredTypes = {};
5510
5514
  var typeDependencies = {};
5511
- var InternalError = class InternalError extends Error {
5512
- constructor(message) {
5513
- super(message);
5514
- this.name = "InternalError";
5515
- }
5516
- };
5515
+ var InternalError;
5517
5516
  var throwInternalError = (message) => {
5518
5517
  throw new InternalError(message);
5519
5518
  };
@@ -5564,7 +5563,6 @@ var Hello2D = (() => {
5564
5563
  fieldRecords.forEach((field, i2) => {
5565
5564
  var fieldName = field.fieldName;
5566
5565
  var getterReturnType = fieldTypes2[i2];
5567
- var optional = fieldTypes2[i2].optional;
5568
5566
  var getter = field.getter;
5569
5567
  var getterContext = field.getterContext;
5570
5568
  var setterArgumentType = fieldTypes2[i2 + fieldRecords.length];
@@ -5574,7 +5572,7 @@ var Hello2D = (() => {
5574
5572
  var destructors = [];
5575
5573
  setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o));
5576
5574
  runDestructors(destructors);
5577
- }, optional };
5575
+ } };
5578
5576
  });
5579
5577
  return [{ name: reg.name, fromWireType: (ptr) => {
5580
5578
  var rv = {};
@@ -5585,7 +5583,7 @@ var Hello2D = (() => {
5585
5583
  return rv;
5586
5584
  }, toWireType: (destructors, o) => {
5587
5585
  for (var fieldName in fields) {
5588
- if (!(fieldName in o) && !fields[fieldName].optional) {
5586
+ if (!(fieldName in o)) {
5589
5587
  throw new TypeError(`Missing field: "${fieldName}"`);
5590
5588
  }
5591
5589
  }
@@ -5600,21 +5598,34 @@ var Hello2D = (() => {
5600
5598
  }, argPackAdvance: GenericWireTypeSize, readValueFromPointer: readPointer, destructorFunction: rawDestructor }];
5601
5599
  });
5602
5600
  };
5603
- var AsciiToString = (ptr) => {
5604
- var str = "";
5605
- while (1) {
5606
- var ch = HEAPU8[ptr++];
5607
- if (!ch)
5608
- return str;
5609
- str += String.fromCharCode(ch);
5601
+ var embindRepr = (v) => {
5602
+ if (v === null) {
5603
+ return "null";
5604
+ }
5605
+ var t = typeof v;
5606
+ if (t === "object" || t === "array" || t === "function") {
5607
+ return v.toString();
5608
+ } else {
5609
+ return "" + v;
5610
5610
  }
5611
5611
  };
5612
- var BindingError = class BindingError extends Error {
5613
- constructor(message) {
5614
- super(message);
5615
- this.name = "BindingError";
5612
+ var embind_init_charCodes = () => {
5613
+ var codes = new Array(256);
5614
+ for (var i2 = 0; i2 < 256; ++i2) {
5615
+ codes[i2] = String.fromCharCode(i2);
5616
+ }
5617
+ embind_charCodes = codes;
5618
+ };
5619
+ var embind_charCodes;
5620
+ var readLatin1String = (ptr) => {
5621
+ var ret = "";
5622
+ var c = ptr;
5623
+ while (HEAPU8[c]) {
5624
+ ret += embind_charCodes[HEAPU8[c++]];
5616
5625
  }
5626
+ return ret;
5617
5627
  };
5628
+ var BindingError;
5618
5629
  var throwBindingError = (message) => {
5619
5630
  throw new BindingError(message);
5620
5631
  };
@@ -5656,15 +5667,12 @@ var Hello2D = (() => {
5656
5667
  }
5657
5668
  };
5658
5669
  var __embind_register_bigint = (primitiveType, name, size, minRange, maxRange) => {
5659
- name = AsciiToString(name);
5660
- const isUnsignedType = minRange === 0n;
5661
- let fromWireType = (value) => value;
5662
- if (isUnsignedType) {
5663
- const bitSize = size * 8;
5664
- fromWireType = (value) => BigInt.asUintN(bitSize, value);
5665
- maxRange = fromWireType(maxRange);
5666
- }
5667
- registerType(primitiveType, { name, fromWireType, toWireType: (destructors, value) => {
5670
+ name = readLatin1String(name);
5671
+ var isUnsignedType = name.indexOf("u") != -1;
5672
+ registerType(primitiveType, { name, fromWireType: (value) => value, toWireType: function(destructors, value) {
5673
+ if (typeof value != "bigint" && typeof value != "number") {
5674
+ throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${this.name}`);
5675
+ }
5668
5676
  if (typeof value == "number") {
5669
5677
  value = BigInt(value);
5670
5678
  }
@@ -5673,7 +5681,7 @@ var Hello2D = (() => {
5673
5681
  };
5674
5682
  var GenericWireTypeSize = 8;
5675
5683
  var __embind_register_bool = (rawType, name, trueValue, falseValue) => {
5676
- name = AsciiToString(name);
5684
+ name = readLatin1String(name);
5677
5685
  registerType(rawType, { name, fromWireType: function(wt) {
5678
5686
  return !!wt;
5679
5687
  }, toWireType: function(destructors, o) {
@@ -5706,6 +5714,93 @@ var Hello2D = (() => {
5706
5714
  runDestructor($$);
5707
5715
  }
5708
5716
  };
5717
+ var downcastPointer = (ptr, ptrClass, desiredClass) => {
5718
+ if (ptrClass === desiredClass) {
5719
+ return ptr;
5720
+ }
5721
+ if (void 0 === desiredClass.baseClass) {
5722
+ return null;
5723
+ }
5724
+ var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
5725
+ if (rv === null) {
5726
+ return null;
5727
+ }
5728
+ return desiredClass.downcast(rv);
5729
+ };
5730
+ var registeredPointers = {};
5731
+ var registeredInstances = {};
5732
+ var getBasestPointer = (class_, ptr) => {
5733
+ if (ptr === void 0) {
5734
+ throwBindingError("ptr should not be undefined");
5735
+ }
5736
+ while (class_.baseClass) {
5737
+ ptr = class_.upcast(ptr);
5738
+ class_ = class_.baseClass;
5739
+ }
5740
+ return ptr;
5741
+ };
5742
+ var getInheritedInstance = (class_, ptr) => {
5743
+ ptr = getBasestPointer(class_, ptr);
5744
+ return registeredInstances[ptr];
5745
+ };
5746
+ var makeClassHandle = (prototype, record) => {
5747
+ if (!record.ptrType || !record.ptr) {
5748
+ throwInternalError("makeClassHandle requires ptr and ptrType");
5749
+ }
5750
+ var hasSmartPtrType = !!record.smartPtrType;
5751
+ var hasSmartPtr = !!record.smartPtr;
5752
+ if (hasSmartPtrType !== hasSmartPtr) {
5753
+ throwInternalError("Both smartPtrType and smartPtr must be specified");
5754
+ }
5755
+ record.count = { value: 1 };
5756
+ return attachFinalizer(Object.create(prototype, { $$: { value: record, writable: true } }));
5757
+ };
5758
+ function RegisteredPointer_fromWireType(ptr) {
5759
+ var rawPointer = this.getPointee(ptr);
5760
+ if (!rawPointer) {
5761
+ this.destructor(ptr);
5762
+ return null;
5763
+ }
5764
+ var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
5765
+ if (void 0 !== registeredInstance) {
5766
+ if (0 === registeredInstance.$$.count.value) {
5767
+ registeredInstance.$$.ptr = rawPointer;
5768
+ registeredInstance.$$.smartPtr = ptr;
5769
+ return registeredInstance["clone"]();
5770
+ } else {
5771
+ var rv = registeredInstance["clone"]();
5772
+ this.destructor(ptr);
5773
+ return rv;
5774
+ }
5775
+ }
5776
+ function makeDefaultHandle() {
5777
+ if (this.isSmartPointer) {
5778
+ return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr });
5779
+ } else {
5780
+ return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr });
5781
+ }
5782
+ }
5783
+ var actualType = this.registeredClass.getActualType(rawPointer);
5784
+ var registeredPointerRecord = registeredPointers[actualType];
5785
+ if (!registeredPointerRecord) {
5786
+ return makeDefaultHandle.call(this);
5787
+ }
5788
+ var toType;
5789
+ if (this.isConst) {
5790
+ toType = registeredPointerRecord.constPointerType;
5791
+ } else {
5792
+ toType = registeredPointerRecord.pointerType;
5793
+ }
5794
+ var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass);
5795
+ if (dp === null) {
5796
+ return makeDefaultHandle.call(this);
5797
+ }
5798
+ if (this.isSmartPointer) {
5799
+ return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr });
5800
+ } else {
5801
+ return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp });
5802
+ }
5803
+ }
5709
5804
  var attachFinalizer = (handle) => {
5710
5805
  if ("undefined" === typeof FinalizationRegistry) {
5711
5806
  attachFinalizer = (handle2) => handle2;
@@ -5736,8 +5831,7 @@ var Hello2D = (() => {
5736
5831
  };
5737
5832
  var delayFunction;
5738
5833
  var init_ClassHandle = () => {
5739
- let proto = ClassHandle.prototype;
5740
- Object.assign(proto, { isAliasOf(other) {
5834
+ Object.assign(ClassHandle.prototype, { isAliasOf(other) {
5741
5835
  if (!(this instanceof ClassHandle)) {
5742
5836
  return false;
5743
5837
  }
@@ -5800,15 +5894,10 @@ var Hello2D = (() => {
5800
5894
  this.$$.deleteScheduled = true;
5801
5895
  return this;
5802
5896
  } });
5803
- const symbolDispose = Symbol.dispose;
5804
- if (symbolDispose) {
5805
- proto[symbolDispose] = proto["delete"];
5806
- }
5807
5897
  };
5808
5898
  function ClassHandle() {
5809
5899
  }
5810
- var createNamedFunction = (name, func) => Object.defineProperty(func, "name", { value: name });
5811
- var registeredPointers = {};
5900
+ var createNamedFunction = (name, body) => Object.defineProperty(body, "name", { value: name });
5812
5901
  var ensureOverloadTable = (proto, methodName, humanName) => {
5813
5902
  if (void 0 === proto[methodName].overloadTable) {
5814
5903
  var prevFunc = proto[methodName];
@@ -5868,17 +5957,6 @@ var Hello2D = (() => {
5868
5957
  }
5869
5958
  return ptr;
5870
5959
  };
5871
- var embindRepr = (v) => {
5872
- if (v === null) {
5873
- return "null";
5874
- }
5875
- var t = typeof v;
5876
- if (t === "object" || t === "array" || t === "function") {
5877
- return v.toString();
5878
- } else {
5879
- return "" + v;
5880
- }
5881
- };
5882
5960
  function constNoSmartPtrRawPointerToWireType(destructors, handle) {
5883
5961
  if (handle === null) {
5884
5962
  if (this.isReference) {
@@ -5975,92 +6053,6 @@ var Hello2D = (() => {
5975
6053
  var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
5976
6054
  return ptr;
5977
6055
  }
5978
- var downcastPointer = (ptr, ptrClass, desiredClass) => {
5979
- if (ptrClass === desiredClass) {
5980
- return ptr;
5981
- }
5982
- if (void 0 === desiredClass.baseClass) {
5983
- return null;
5984
- }
5985
- var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
5986
- if (rv === null) {
5987
- return null;
5988
- }
5989
- return desiredClass.downcast(rv);
5990
- };
5991
- var registeredInstances = {};
5992
- var getBasestPointer = (class_, ptr) => {
5993
- if (ptr === void 0) {
5994
- throwBindingError("ptr should not be undefined");
5995
- }
5996
- while (class_.baseClass) {
5997
- ptr = class_.upcast(ptr);
5998
- class_ = class_.baseClass;
5999
- }
6000
- return ptr;
6001
- };
6002
- var getInheritedInstance = (class_, ptr) => {
6003
- ptr = getBasestPointer(class_, ptr);
6004
- return registeredInstances[ptr];
6005
- };
6006
- var makeClassHandle = (prototype, record) => {
6007
- if (!record.ptrType || !record.ptr) {
6008
- throwInternalError("makeClassHandle requires ptr and ptrType");
6009
- }
6010
- var hasSmartPtrType = !!record.smartPtrType;
6011
- var hasSmartPtr = !!record.smartPtr;
6012
- if (hasSmartPtrType !== hasSmartPtr) {
6013
- throwInternalError("Both smartPtrType and smartPtr must be specified");
6014
- }
6015
- record.count = { value: 1 };
6016
- return attachFinalizer(Object.create(prototype, { $$: { value: record, writable: true } }));
6017
- };
6018
- function RegisteredPointer_fromWireType(ptr) {
6019
- var rawPointer = this.getPointee(ptr);
6020
- if (!rawPointer) {
6021
- this.destructor(ptr);
6022
- return null;
6023
- }
6024
- var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
6025
- if (void 0 !== registeredInstance) {
6026
- if (0 === registeredInstance.$$.count.value) {
6027
- registeredInstance.$$.ptr = rawPointer;
6028
- registeredInstance.$$.smartPtr = ptr;
6029
- return registeredInstance["clone"]();
6030
- } else {
6031
- var rv = registeredInstance["clone"]();
6032
- this.destructor(ptr);
6033
- return rv;
6034
- }
6035
- }
6036
- function makeDefaultHandle() {
6037
- if (this.isSmartPointer) {
6038
- return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr });
6039
- } else {
6040
- return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr });
6041
- }
6042
- }
6043
- var actualType = this.registeredClass.getActualType(rawPointer);
6044
- var registeredPointerRecord = registeredPointers[actualType];
6045
- if (!registeredPointerRecord) {
6046
- return makeDefaultHandle.call(this);
6047
- }
6048
- var toType;
6049
- if (this.isConst) {
6050
- toType = registeredPointerRecord.constPointerType;
6051
- } else {
6052
- toType = registeredPointerRecord.pointerType;
6053
- }
6054
- var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass);
6055
- if (dp === null) {
6056
- return makeDefaultHandle.call(this);
6057
- }
6058
- if (this.isSmartPointer) {
6059
- return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr });
6060
- } else {
6061
- return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp });
6062
- }
6063
- }
6064
6056
  var init_RegisteredPointer = () => {
6065
6057
  Object.assign(RegisteredPointer.prototype, { getPointee(ptr) {
6066
6058
  if (this.rawGetPointee) {
@@ -6106,9 +6098,18 @@ var Hello2D = (() => {
6106
6098
  Module[name].argCount = numArguments;
6107
6099
  }
6108
6100
  };
6109
- var getDynCaller = (sig, ptr, promising = false) => (...args) => dynCall(sig, ptr, args, promising);
6110
- var embind__requireFunction = (signature, rawFunction, isAsync = false) => {
6111
- signature = AsciiToString(signature);
6101
+ var dynCallLegacy = (sig, ptr, args) => {
6102
+ sig = sig.replace(/p/g, "i");
6103
+ var f = Module["dynCall_" + sig];
6104
+ return f(ptr, ...args);
6105
+ };
6106
+ var dynCall = (sig, ptr, args = []) => {
6107
+ var rtn = dynCallLegacy(sig, ptr, args);
6108
+ return rtn;
6109
+ };
6110
+ var getDynCaller = (sig, ptr) => (...args) => dynCall(sig, ptr, args);
6111
+ var embind__requireFunction = (signature, rawFunction) => {
6112
+ signature = readLatin1String(signature);
6112
6113
  function makeDynCaller() {
6113
6114
  return getDynCaller(signature, rawFunction);
6114
6115
  }
@@ -6118,11 +6119,30 @@ var Hello2D = (() => {
6118
6119
  }
6119
6120
  return fp;
6120
6121
  };
6121
- class UnboundTypeError extends Error {
6122
- }
6122
+ var extendError = (baseErrorType, errorName) => {
6123
+ var errorClass = createNamedFunction(errorName, function(message) {
6124
+ this.name = errorName;
6125
+ this.message = message;
6126
+ var stack = new Error(message).stack;
6127
+ if (stack !== void 0) {
6128
+ this.stack = this.toString() + "\n" + stack.replace(/^Error(:[^\n]*)?\n/, "");
6129
+ }
6130
+ });
6131
+ errorClass.prototype = Object.create(baseErrorType.prototype);
6132
+ errorClass.prototype.constructor = errorClass;
6133
+ errorClass.prototype.toString = function() {
6134
+ if (this.message === void 0) {
6135
+ return this.name;
6136
+ } else {
6137
+ return `${this.name}: ${this.message}`;
6138
+ }
6139
+ };
6140
+ return errorClass;
6141
+ };
6142
+ var UnboundTypeError;
6123
6143
  var getTypeName = (type) => {
6124
6144
  var ptr = ___getTypeName(type);
6125
- var rv = AsciiToString(ptr);
6145
+ var rv = readLatin1String(ptr);
6126
6146
  _free(ptr);
6127
6147
  return rv;
6128
6148
  };
@@ -6147,7 +6167,7 @@ var Hello2D = (() => {
6147
6167
  throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([", "]));
6148
6168
  };
6149
6169
  var __embind_register_class = (rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) => {
6150
- name = AsciiToString(name);
6170
+ name = readLatin1String(name);
6151
6171
  getActualType = embind__requireFunction(getActualTypeSignature, getActualType);
6152
6172
  upcast && (upcast = embind__requireFunction(upcastSignature, upcast));
6153
6173
  downcast && (downcast = embind__requireFunction(downcastSignature, downcast));
@@ -6169,10 +6189,10 @@ var Hello2D = (() => {
6169
6189
  }
6170
6190
  var constructor = createNamedFunction(name, function(...args) {
6171
6191
  if (Object.getPrototypeOf(this) !== instancePrototype) {
6172
- throw new BindingError(`Use 'new' to construct ${name}`);
6192
+ throw new BindingError("Use 'new' to construct " + name);
6173
6193
  }
6174
6194
  if (void 0 === registeredClass.constructor_body) {
6175
- throw new BindingError(`${name} has no accessible constructor`);
6195
+ throw new BindingError(name + " has no accessible constructor");
6176
6196
  }
6177
6197
  var body = registeredClass.constructor_body[args.length];
6178
6198
  if (void 0 === body) {
@@ -6203,6 +6223,17 @@ var Hello2D = (() => {
6203
6223
  }
6204
6224
  return false;
6205
6225
  }
6226
+ function newFunc(constructor, argumentList) {
6227
+ if (!(constructor instanceof Function)) {
6228
+ throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`);
6229
+ }
6230
+ var dummy = createNamedFunction(constructor.name || "unknownFunctionName", function() {
6231
+ });
6232
+ dummy.prototype = constructor.prototype;
6233
+ var obj = new dummy();
6234
+ var r = constructor.apply(obj, argumentList);
6235
+ return r instanceof Object ? r : obj;
6236
+ }
6206
6237
  function createJsInvoker(argTypes, isClassMethodFunc, returns, isAsync) {
6207
6238
  var needsDestructorStack = usesDestructorStack(argTypes);
6208
6239
  var argCount = argTypes.length - 2;
@@ -6315,38 +6346,34 @@ var Hello2D = (() => {
6315
6346
  original.isAsync || importPattern.test(x);
6316
6347
  }
6317
6348
  }
6318
- }, instrumentFunction(original) {
6319
- var wrapper = (...args) => {
6320
- Asyncify.exportCallStack.push(original);
6321
- try {
6322
- return original(...args);
6323
- } finally {
6324
- if (!ABORT) {
6325
- Asyncify.exportCallStack.pop();
6326
- Asyncify.maybeStopUnwind();
6327
- }
6328
- }
6329
- };
6330
- Asyncify.funcWrappers.set(original, wrapper);
6331
- return wrapper;
6332
6349
  }, instrumentWasmExports(exports) {
6333
6350
  var ret = {};
6334
6351
  for (let [x, original] of Object.entries(exports)) {
6335
6352
  if (typeof original == "function") {
6336
- var wrapper = Asyncify.instrumentFunction(original);
6337
- ret[x] = wrapper;
6353
+ ret[x] = (...args) => {
6354
+ Asyncify.exportCallStack.push(x);
6355
+ try {
6356
+ return original(...args);
6357
+ } finally {
6358
+ if (!ABORT) {
6359
+ Asyncify.exportCallStack.pop();
6360
+ Asyncify.maybeStopUnwind();
6361
+ }
6362
+ }
6363
+ };
6338
6364
  } else {
6339
6365
  ret[x] = original;
6340
6366
  }
6341
6367
  }
6342
6368
  return ret;
6343
- }, State: { Normal: 0, Unwinding: 1, Rewinding: 2, Disabled: 3 }, state: 0, StackSize: 4096, currData: null, handleSleepReturnValue: 0, exportCallStack: [], callstackFuncToId: /* @__PURE__ */ new Map(), callStackIdToFunc: /* @__PURE__ */ new Map(), funcWrappers: /* @__PURE__ */ new Map(), callStackId: 0, asyncPromiseHandlers: null, sleepCallbacks: [], getCallStackId(func) {
6344
- if (!Asyncify.callstackFuncToId.has(func)) {
6345
- var id = Asyncify.callStackId++;
6346
- Asyncify.callstackFuncToId.set(func, id);
6347
- Asyncify.callStackIdToFunc.set(id, func);
6369
+ }, State: { Normal: 0, Unwinding: 1, Rewinding: 2, Disabled: 3 }, state: 0, StackSize: 4096, currData: null, handleSleepReturnValue: 0, exportCallStack: [], callStackNameToId: {}, callStackIdToName: {}, callStackId: 0, asyncPromiseHandlers: null, sleepCallbacks: [], getCallStackId(funcName) {
6370
+ var id = Asyncify.callStackNameToId[funcName];
6371
+ if (id === void 0) {
6372
+ id = Asyncify.callStackId++;
6373
+ Asyncify.callStackNameToId[funcName] = id;
6374
+ Asyncify.callStackIdToName[id] = funcName;
6348
6375
  }
6349
- return Asyncify.callstackFuncToId.get(func);
6376
+ return id;
6350
6377
  }, maybeStopUnwind() {
6351
6378
  if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {
6352
6379
  Asyncify.state = Asyncify.State.Normal;
@@ -6371,13 +6398,16 @@ var Hello2D = (() => {
6371
6398
  var bottomOfCallStack = Asyncify.exportCallStack[0];
6372
6399
  var rewindId = Asyncify.getCallStackId(bottomOfCallStack);
6373
6400
  HEAP32[ptr + 8 >> 2] = rewindId;
6374
- }, getDataRewindFunc(ptr) {
6401
+ }, getDataRewindFuncName(ptr) {
6375
6402
  var id = HEAP32[ptr + 8 >> 2];
6376
- var func = Asyncify.callStackIdToFunc.get(id);
6403
+ var name = Asyncify.callStackIdToName[id];
6404
+ return name;
6405
+ }, getDataRewindFunc(name) {
6406
+ var func = wasmExports[name];
6377
6407
  return func;
6378
6408
  }, doRewind(ptr) {
6379
- var original = Asyncify.getDataRewindFunc(ptr);
6380
- var func = Asyncify.funcWrappers.get(original);
6409
+ var name = Asyncify.getDataRewindFuncName(ptr);
6410
+ var func = Asyncify.getDataRewindFunc(name);
6381
6411
  return func();
6382
6412
  }, handleSleep(startAsync) {
6383
6413
  if (ABORT)
@@ -6437,9 +6467,11 @@ var Hello2D = (() => {
6437
6467
  abort(`invalid state: ${Asyncify.state}`);
6438
6468
  }
6439
6469
  return Asyncify.handleSleepReturnValue;
6440
- }, handleAsync: (startAsync) => Asyncify.handleSleep((wakeUp) => {
6441
- startAsync().then(wakeUp);
6442
- }) };
6470
+ }, handleAsync(startAsync) {
6471
+ return Asyncify.handleSleep((wakeUp) => {
6472
+ startAsync().then(wakeUp);
6473
+ });
6474
+ } };
6443
6475
  function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, isAsync) {
6444
6476
  var argCount = argTypes.length;
6445
6477
  if (argCount < 2) {
@@ -6461,7 +6493,8 @@ var Hello2D = (() => {
6461
6493
  }
6462
6494
  }
6463
6495
  let [args, invokerFnBody] = createJsInvoker(argTypes, isClassMethodFunc, returns, isAsync);
6464
- var invokerFn = new Function(...args, invokerFnBody)(...closureArgs);
6496
+ args.push(invokerFnBody);
6497
+ var invokerFn = newFunc(Function, args)(...closureArgs);
6465
6498
  return createNamedFunction(humanName, invokerFn);
6466
6499
  }
6467
6500
  var heap32VectorToArray = (count, firstElement) => {
@@ -6474,15 +6507,17 @@ var Hello2D = (() => {
6474
6507
  var getFunctionName = (signature) => {
6475
6508
  signature = signature.trim();
6476
6509
  const argsIndex = signature.indexOf("(");
6477
- if (argsIndex === -1)
6510
+ if (argsIndex !== -1) {
6511
+ return signature.substr(0, argsIndex);
6512
+ } else {
6478
6513
  return signature;
6479
- return signature.slice(0, argsIndex);
6514
+ }
6480
6515
  };
6481
6516
  var __embind_register_class_class_function = (rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, fn, isAsync, isNonnullReturn) => {
6482
6517
  var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
6483
- methodName = AsciiToString(methodName);
6518
+ methodName = readLatin1String(methodName);
6484
6519
  methodName = getFunctionName(methodName);
6485
- rawInvoker = embind__requireFunction(invokerSignature, rawInvoker, isAsync);
6520
+ rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);
6486
6521
  whenDependentTypesAreResolved([], [rawClassType], (classType) => {
6487
6522
  classType = classType[0];
6488
6523
  var humanName = `${classType.name}.${methodName}`;
@@ -6546,9 +6581,9 @@ var Hello2D = (() => {
6546
6581
  };
6547
6582
  var __embind_register_class_function = (rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual, isAsync, isNonnullReturn) => {
6548
6583
  var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
6549
- methodName = AsciiToString(methodName);
6584
+ methodName = readLatin1String(methodName);
6550
6585
  methodName = getFunctionName(methodName);
6551
- rawInvoker = embind__requireFunction(invokerSignature, rawInvoker, isAsync);
6586
+ rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);
6552
6587
  whenDependentTypesAreResolved([], [rawClassType], (classType) => {
6553
6588
  classType = classType[0];
6554
6589
  var humanName = `${classType.name}.${methodName}`;
@@ -6597,7 +6632,7 @@ var Hello2D = (() => {
6597
6632
  return upcastPointer(this_.$$.ptr, this_.$$.ptrType.registeredClass, classType.registeredClass);
6598
6633
  };
6599
6634
  var __embind_register_class_property = (classType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) => {
6600
- fieldName = AsciiToString(fieldName);
6635
+ fieldName = readLatin1String(fieldName);
6601
6636
  getter = embind__requireFunction(getterSignature, getter);
6602
6637
  whenDependentTypesAreResolved([], [classType], (classType2) => {
6603
6638
  classType2 = classType2[0];
@@ -6634,16 +6669,21 @@ var Hello2D = (() => {
6634
6669
  });
6635
6670
  };
6636
6671
  var emval_freelist = [];
6637
- var emval_handles = [0, 1, , 1, null, 1, true, 1, false, 1];
6672
+ var emval_handles = [];
6638
6673
  var __emval_decref = (handle) => {
6639
6674
  if (handle > 9 && 0 === --emval_handles[handle + 1]) {
6640
6675
  emval_handles[handle] = void 0;
6641
6676
  emval_freelist.push(handle);
6642
6677
  }
6643
6678
  };
6679
+ var count_emval_handles = () => emval_handles.length / 2 - 5 - emval_freelist.length;
6680
+ var init_emval = () => {
6681
+ emval_handles.push(0, 1, void 0, 1, null, 1, true, 1, false, 1);
6682
+ Module["count_emval_handles"] = count_emval_handles;
6683
+ };
6644
6684
  var Emval = { toValue: (handle) => {
6645
6685
  if (!handle) {
6646
- throwBindingError(`Cannot use deleted val. handle = ${handle}`);
6686
+ throwBindingError("Cannot use deleted val. handle = " + handle);
6647
6687
  }
6648
6688
  return emval_handles[handle];
6649
6689
  }, toHandle: (value) => {
@@ -6695,7 +6735,7 @@ var Hello2D = (() => {
6695
6735
  }
6696
6736
  };
6697
6737
  var __embind_register_enum = (rawType, name, size, isSigned) => {
6698
- name = AsciiToString(name);
6738
+ name = readLatin1String(name);
6699
6739
  function ctor() {
6700
6740
  }
6701
6741
  ctor.values = {};
@@ -6713,7 +6753,7 @@ var Hello2D = (() => {
6713
6753
  };
6714
6754
  var __embind_register_enum_value = (rawEnumType, name, enumValue) => {
6715
6755
  var enumType = requireRegisteredType(rawEnumType, "enum");
6716
- name = AsciiToString(name);
6756
+ name = readLatin1String(name);
6717
6757
  var Enum = enumType.constructor;
6718
6758
  var Value = Object.create(enumType.constructor.prototype, { value: { value: enumValue }, constructor: { value: createNamedFunction(`${enumType.name}_${name}`, function() {
6719
6759
  }) } });
@@ -6735,14 +6775,14 @@ var Hello2D = (() => {
6735
6775
  }
6736
6776
  };
6737
6777
  var __embind_register_float = (rawType, name, size) => {
6738
- name = AsciiToString(name);
6778
+ name = readLatin1String(name);
6739
6779
  registerType(rawType, { name, fromWireType: (value) => value, toWireType: (destructors, value) => value, argPackAdvance: GenericWireTypeSize, readValueFromPointer: floatReadValueFromPointer(name, size), destructorFunction: null });
6740
6780
  };
6741
6781
  var __embind_register_function = (name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync, isNonnullReturn) => {
6742
6782
  var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
6743
- name = AsciiToString(name);
6783
+ name = readLatin1String(name);
6744
6784
  name = getFunctionName(name);
6745
- rawInvoker = embind__requireFunction(signature, rawInvoker, isAsync);
6785
+ rawInvoker = embind__requireFunction(signature, rawInvoker);
6746
6786
  exposePublicSymbol(name, function() {
6747
6787
  throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes);
6748
6788
  }, argCount - 1);
@@ -6753,15 +6793,28 @@ var Hello2D = (() => {
6753
6793
  });
6754
6794
  };
6755
6795
  var __embind_register_integer = (primitiveType, name, size, minRange, maxRange) => {
6756
- name = AsciiToString(name);
6757
- const isUnsignedType = minRange === 0;
6758
- let fromWireType = (value) => value;
6759
- if (isUnsignedType) {
6796
+ name = readLatin1String(name);
6797
+ var fromWireType = (value) => value;
6798
+ if (minRange === 0) {
6760
6799
  var bitshift = 32 - 8 * size;
6761
6800
  fromWireType = (value) => value << bitshift >>> bitshift;
6762
- maxRange = fromWireType(maxRange);
6763
6801
  }
6764
- registerType(primitiveType, { name, fromWireType, toWireType: (destructors, value) => value, argPackAdvance: GenericWireTypeSize, readValueFromPointer: integerReadValueFromPointer(name, size, minRange !== 0), destructorFunction: null });
6802
+ var isUnsignedType = name.includes("unsigned");
6803
+ var checkAssertions = (value, toTypeName) => {
6804
+ };
6805
+ var toWireType;
6806
+ if (isUnsignedType) {
6807
+ toWireType = function(destructors, value) {
6808
+ checkAssertions(value, this.name);
6809
+ return value >>> 0;
6810
+ };
6811
+ } else {
6812
+ toWireType = function(destructors, value) {
6813
+ checkAssertions(value, this.name);
6814
+ return value;
6815
+ };
6816
+ }
6817
+ registerType(primitiveType, { name, fromWireType, toWireType, argPackAdvance: GenericWireTypeSize, readValueFromPointer: integerReadValueFromPointer(name, size, minRange !== 0), destructorFunction: null });
6765
6818
  };
6766
6819
  var __embind_register_memory_view = (rawType, dataTypeIndex, name) => {
6767
6820
  var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array];
@@ -6771,7 +6824,7 @@ var Hello2D = (() => {
6771
6824
  var data = HEAPU32[handle + 4 >> 2];
6772
6825
  return new TA(HEAP8.buffer, data, size);
6773
6826
  }
6774
- name = AsciiToString(name);
6827
+ name = readLatin1String(name);
6775
6828
  registerType(rawType, { name, fromWireType: decodeMemoryView, argPackAdvance: GenericWireTypeSize, readValueFromPointer: decodeMemoryView }, { ignoreDuplicateRegistrations: true });
6776
6829
  };
6777
6830
  var EmValOptionalType = Object.assign({ optional: true }, EmValType);
@@ -6779,7 +6832,7 @@ var Hello2D = (() => {
6779
6832
  registerType(rawOptionalType, EmValOptionalType);
6780
6833
  };
6781
6834
  var __embind_register_smart_ptr = (rawType, rawPointeeType, name, sharingPolicy, getPointeeSignature, rawGetPointee, constructorSignature, rawConstructor, shareSignature, rawShare, destructorSignature, rawDestructor) => {
6782
- name = AsciiToString(name);
6835
+ name = readLatin1String(name);
6783
6836
  rawGetPointee = embind__requireFunction(getPointeeSignature, rawGetPointee);
6784
6837
  rawConstructor = embind__requireFunction(constructorSignature, rawConstructor);
6785
6838
  rawShare = embind__requireFunction(shareSignature, rawShare);
@@ -6791,7 +6844,7 @@ var Hello2D = (() => {
6791
6844
  });
6792
6845
  };
6793
6846
  var __embind_register_std_string = (rawType, name) => {
6794
- name = AsciiToString(name);
6847
+ name = readLatin1String(name);
6795
6848
  registerType(rawType, { name, fromWireType(value) {
6796
6849
  var length = HEAPU32[value >> 2];
6797
6850
  var payload = value + 4;
@@ -6821,7 +6874,7 @@ var Hello2D = (() => {
6821
6874
  }
6822
6875
  var length;
6823
6876
  var valueIsOfTypeString = typeof value == "string";
6824
- if (!(valueIsOfTypeString || ArrayBuffer.isView(value) && value.BYTES_PER_ELEMENT == 1)) {
6877
+ if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {
6825
6878
  throwBindingError("Cannot pass non-string to std::string");
6826
6879
  }
6827
6880
  if (valueIsOfTypeString) {
@@ -6833,11 +6886,22 @@ var Hello2D = (() => {
6833
6886
  var ptr = base + 4;
6834
6887
  HEAPU32[base >> 2] = length;
6835
6888
  if (valueIsOfTypeString) {
6836
- {
6837
- stringToUTF8(value, ptr, length + 1);
6838
- }
6889
+ stringToUTF8(value, ptr, length + 1);
6839
6890
  } else {
6840
- HEAPU8.set(value, ptr);
6891
+ if (valueIsOfTypeString) {
6892
+ for (var i2 = 0; i2 < length; ++i2) {
6893
+ var charCode = value.charCodeAt(i2);
6894
+ if (charCode > 255) {
6895
+ _free(base);
6896
+ throwBindingError("String has UTF-16 code units that do not fit in 8 bits");
6897
+ }
6898
+ HEAPU8[ptr + i2] = charCode;
6899
+ }
6900
+ } else {
6901
+ for (var i2 = 0; i2 < length; ++i2) {
6902
+ HEAPU8[ptr + i2] = value[i2];
6903
+ }
6904
+ }
6841
6905
  }
6842
6906
  if (destructors !== null) {
6843
6907
  destructors.push(_free, base);
@@ -6847,14 +6911,24 @@ var Hello2D = (() => {
6847
6911
  _free(ptr);
6848
6912
  } });
6849
6913
  };
6850
- var UTF16Decoder = new TextDecoder("utf-16le");
6914
+ var UTF16Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf-16le") : void 0;
6851
6915
  var UTF16ToString = (ptr, maxBytesToRead) => {
6852
- var idx = ptr >> 1;
6916
+ var endPtr = ptr;
6917
+ var idx = endPtr >> 1;
6853
6918
  var maxIdx = idx + maxBytesToRead / 2;
6854
- var endIdx = idx;
6855
- while (!(endIdx >= maxIdx) && HEAPU16[endIdx])
6856
- ++endIdx;
6857
- return UTF16Decoder.decode(HEAPU16.subarray(idx, endIdx));
6919
+ while (!(idx >= maxIdx) && HEAPU16[idx])
6920
+ ++idx;
6921
+ endPtr = idx << 1;
6922
+ if (endPtr - ptr > 32 && UTF16Decoder)
6923
+ return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));
6924
+ var str = "";
6925
+ for (var i2 = 0; !(i2 >= maxBytesToRead / 2); ++i2) {
6926
+ var codeUnit = HEAP16[ptr + i2 * 2 >> 1];
6927
+ if (codeUnit == 0)
6928
+ break;
6929
+ str += String.fromCharCode(codeUnit);
6930
+ }
6931
+ return str;
6858
6932
  };
6859
6933
  var stringToUTF16 = (str, outPtr, maxBytesToWrite) => {
6860
6934
  maxBytesToWrite ?? (maxBytesToWrite = 2147483647);
@@ -6873,12 +6947,19 @@ var Hello2D = (() => {
6873
6947
  };
6874
6948
  var lengthBytesUTF16 = (str) => str.length * 2;
6875
6949
  var UTF32ToString = (ptr, maxBytesToRead) => {
6950
+ var i2 = 0;
6876
6951
  var str = "";
6877
- for (var i2 = 0; !(i2 >= maxBytesToRead / 4); i2++) {
6952
+ while (!(i2 >= maxBytesToRead / 4)) {
6878
6953
  var utf32 = HEAP32[ptr + i2 * 4 >> 2];
6879
- if (!utf32)
6954
+ if (utf32 == 0)
6880
6955
  break;
6881
- str += String.fromCodePoint(utf32);
6956
+ ++i2;
6957
+ if (utf32 >= 65536) {
6958
+ var ch = utf32 - 65536;
6959
+ str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
6960
+ } else {
6961
+ str += String.fromCharCode(utf32);
6962
+ }
6882
6963
  }
6883
6964
  return str;
6884
6965
  };
@@ -6889,11 +6970,12 @@ var Hello2D = (() => {
6889
6970
  var startPtr = outPtr;
6890
6971
  var endPtr = startPtr + maxBytesToWrite - 4;
6891
6972
  for (var i2 = 0; i2 < str.length; ++i2) {
6892
- var codePoint = str.codePointAt(i2);
6893
- if (codePoint > 65535) {
6894
- i2++;
6973
+ var codeUnit = str.charCodeAt(i2);
6974
+ if (codeUnit >= 55296 && codeUnit <= 57343) {
6975
+ var trailSurrogate = str.charCodeAt(++i2);
6976
+ codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023;
6895
6977
  }
6896
- HEAP32[outPtr >> 2] = codePoint;
6978
+ HEAP32[outPtr >> 2] = codeUnit;
6897
6979
  outPtr += 4;
6898
6980
  if (outPtr + 4 > endPtr)
6899
6981
  break;
@@ -6904,16 +6986,15 @@ var Hello2D = (() => {
6904
6986
  var lengthBytesUTF32 = (str) => {
6905
6987
  var len = 0;
6906
6988
  for (var i2 = 0; i2 < str.length; ++i2) {
6907
- var codePoint = str.codePointAt(i2);
6908
- if (codePoint > 65535) {
6909
- i2++;
6910
- }
6989
+ var codeUnit = str.charCodeAt(i2);
6990
+ if (codeUnit >= 55296 && codeUnit <= 57343)
6991
+ ++i2;
6911
6992
  len += 4;
6912
6993
  }
6913
6994
  return len;
6914
6995
  };
6915
6996
  var __embind_register_std_wstring = (rawType, charSize, name) => {
6916
- name = AsciiToString(name);
6997
+ name = readLatin1String(name);
6917
6998
  var decodeString, encodeString, readCharAt, lengthBytesUTF;
6918
6999
  if (charSize === 2) {
6919
7000
  decodeString = UTF16ToString;
@@ -6963,13 +7044,13 @@ var Hello2D = (() => {
6963
7044
  } });
6964
7045
  };
6965
7046
  var __embind_register_value_object = (rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) => {
6966
- structRegistrations[rawType] = { name: AsciiToString(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] };
7047
+ structRegistrations[rawType] = { name: readLatin1String(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] };
6967
7048
  };
6968
7049
  var __embind_register_value_object_field = (structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) => {
6969
- structRegistrations[structType].fields.push({ fieldName: AsciiToString(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
7050
+ structRegistrations[structType].fields.push({ fieldName: readLatin1String(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
6970
7051
  };
6971
7052
  var __embind_register_void = (rawType, name) => {
6972
- name = AsciiToString(name);
7053
+ name = readLatin1String(name);
6973
7054
  registerType(rawType, { isVoid: true, name, argPackAdvance: 0, fromWireType: () => void 0, toWireType: (destructors, o) => void 0 });
6974
7055
  };
6975
7056
  var emval_returnValue = (returnType, destructorsRef, handle) => {
@@ -7000,7 +7081,7 @@ var Hello2D = (() => {
7000
7081
  var getStringOrSymbol = (address) => {
7001
7082
  var symbol = emval_symbols[address];
7002
7083
  if (symbol === void 0) {
7003
- return AsciiToString(address);
7084
+ return readLatin1String(address);
7004
7085
  }
7005
7086
  return symbol;
7006
7087
  };
@@ -7015,7 +7096,14 @@ var Hello2D = (() => {
7015
7096
  second = Emval.toValue(second);
7016
7097
  return first == second;
7017
7098
  };
7018
- var emval_get_global = () => globalThis;
7099
+ var emval_get_global = () => {
7100
+ if (typeof globalThis == "object") {
7101
+ return globalThis;
7102
+ }
7103
+ return function() {
7104
+ return Function;
7105
+ }()("return this")();
7106
+ };
7019
7107
  var __emval_get_global = (name) => {
7020
7108
  if (name === 0) {
7021
7109
  return Emval.toHandle(emval_get_global());
@@ -7032,7 +7120,7 @@ var Hello2D = (() => {
7032
7120
  var emval_lookupTypes = (argCount, argTypes) => {
7033
7121
  var a = new Array(argCount);
7034
7122
  for (var i2 = 0; i2 < argCount; ++i2) {
7035
- a[i2] = requireRegisteredType(HEAPU32[argTypes + i2 * 4 >> 2], `parameter ${i2}`);
7123
+ a[i2] = requireRegisteredType(HEAPU32[argTypes + i2 * 4 >> 2], "parameter " + i2);
7036
7124
  }
7037
7125
  return a;
7038
7126
  };
@@ -7050,8 +7138,8 @@ var Hello2D = (() => {
7050
7138
  var params = ["retType"];
7051
7139
  var args = [retType];
7052
7140
  for (var i2 = 0; i2 < argCount; ++i2) {
7053
- argsList.push(`arg${i2}`);
7054
- params.push(`argType${i2}`);
7141
+ argsList.push("arg" + i2);
7142
+ params.push("argType" + i2);
7055
7143
  args.push(types[i2]);
7056
7144
  functionBody += ` var arg${i2} = argType${i2}.readValueFromPointer(args${offset ? "+" + offset : ""});
7057
7145
  `;
@@ -7066,7 +7154,8 @@ var Hello2D = (() => {
7066
7154
  functionBody += " return emval_returnValue(retType, destructorsRef, rv);\n";
7067
7155
  }
7068
7156
  functionBody += "};\n";
7069
- var invokerFunction = new Function(...params, functionBody)(...args);
7157
+ params.push(functionBody);
7158
+ var invokerFunction = newFunc(Function, params)(...args);
7070
7159
  var functionName = `methodCaller<(${types.map((t) => t.name).join(", ")}) => ${retType.name}>`;
7071
7160
  return emval_addMethodCaller(createNamedFunction(functionName, invokerFunction));
7072
7161
  };
@@ -7128,6 +7217,90 @@ var Hello2D = (() => {
7128
7217
  HEAP64[ptime >> 3] = BigInt(nsec);
7129
7218
  return 0;
7130
7219
  }
7220
+ var JSEvents = { memcpy(target, src, size) {
7221
+ HEAP8.set(HEAP8.subarray(src, src + size), target);
7222
+ }, removeAllEventListeners() {
7223
+ while (JSEvents.eventHandlers.length) {
7224
+ JSEvents._removeHandler(JSEvents.eventHandlers.length - 1);
7225
+ }
7226
+ JSEvents.deferredCalls = [];
7227
+ }, inEventHandler: 0, deferredCalls: [], deferCall(targetFunction, precedence, argsList) {
7228
+ function arraysHaveEqualContent(arrA, arrB) {
7229
+ if (arrA.length != arrB.length)
7230
+ return false;
7231
+ for (var i2 in arrA) {
7232
+ if (arrA[i2] != arrB[i2])
7233
+ return false;
7234
+ }
7235
+ return true;
7236
+ }
7237
+ for (var call of JSEvents.deferredCalls) {
7238
+ if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) {
7239
+ return;
7240
+ }
7241
+ }
7242
+ JSEvents.deferredCalls.push({ targetFunction, precedence, argsList });
7243
+ JSEvents.deferredCalls.sort((x, y) => x.precedence < y.precedence);
7244
+ }, removeDeferredCalls(targetFunction) {
7245
+ JSEvents.deferredCalls = JSEvents.deferredCalls.filter((call) => call.targetFunction != targetFunction);
7246
+ }, canPerformEventHandlerRequests() {
7247
+ if (navigator.userActivation) {
7248
+ return navigator.userActivation.isActive;
7249
+ }
7250
+ return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls;
7251
+ }, runDeferredCalls() {
7252
+ if (!JSEvents.canPerformEventHandlerRequests()) {
7253
+ return;
7254
+ }
7255
+ var deferredCalls = JSEvents.deferredCalls;
7256
+ JSEvents.deferredCalls = [];
7257
+ for (var call of deferredCalls) {
7258
+ call.targetFunction(...call.argsList);
7259
+ }
7260
+ }, eventHandlers: [], removeAllHandlersOnTarget: (target, eventTypeString) => {
7261
+ for (var i2 = 0; i2 < JSEvents.eventHandlers.length; ++i2) {
7262
+ if (JSEvents.eventHandlers[i2].target == target && (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i2].eventTypeString)) {
7263
+ JSEvents._removeHandler(i2--);
7264
+ }
7265
+ }
7266
+ }, _removeHandler(i2) {
7267
+ var h = JSEvents.eventHandlers[i2];
7268
+ h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture);
7269
+ JSEvents.eventHandlers.splice(i2, 1);
7270
+ }, registerOrRemoveHandler(eventHandler) {
7271
+ if (!eventHandler.target) {
7272
+ return -4;
7273
+ }
7274
+ if (eventHandler.callbackfunc) {
7275
+ eventHandler.eventListenerFunc = function(event) {
7276
+ ++JSEvents.inEventHandler;
7277
+ JSEvents.currentEventHandler = eventHandler;
7278
+ JSEvents.runDeferredCalls();
7279
+ eventHandler.handlerFunc(event);
7280
+ JSEvents.runDeferredCalls();
7281
+ --JSEvents.inEventHandler;
7282
+ };
7283
+ eventHandler.target.addEventListener(eventHandler.eventTypeString, eventHandler.eventListenerFunc, eventHandler.useCapture);
7284
+ JSEvents.eventHandlers.push(eventHandler);
7285
+ } else {
7286
+ for (var i2 = 0; i2 < JSEvents.eventHandlers.length; ++i2) {
7287
+ if (JSEvents.eventHandlers[i2].target == eventHandler.target && JSEvents.eventHandlers[i2].eventTypeString == eventHandler.eventTypeString) {
7288
+ JSEvents._removeHandler(i2--);
7289
+ }
7290
+ }
7291
+ }
7292
+ return 0;
7293
+ }, getNodeNameForTarget(target) {
7294
+ if (!target)
7295
+ return "";
7296
+ if (target == window)
7297
+ return "#window";
7298
+ if (target == screen)
7299
+ return "#screen";
7300
+ return target?.nodeName || "";
7301
+ }, fullscreenEnabled() {
7302
+ return document.fullscreenEnabled || document.webkitFullscreenEnabled;
7303
+ } };
7131
7304
  var maybeCStringToJsString = (cString) => cString > 2 ? UTF8ToString(cString) : cString;
7132
7305
  var specialHTMLTargets = [0, typeof document != "undefined" ? document : 0, typeof window != "undefined" ? window : 0];
7133
7306
  var findEventTarget = (target) => {
@@ -7244,7 +7417,7 @@ var Hello2D = (() => {
7244
7417
  if (typeof JSEvents == "object") {
7245
7418
  JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);
7246
7419
  }
7247
- if (GL.contexts[contextHandle]?.GLctx.canvas) {
7420
+ if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) {
7248
7421
  GL.contexts[contextHandle].GLctx.canvas.GLctxObject = void 0;
7249
7422
  }
7250
7423
  GL.contexts[contextHandle] = null;
@@ -8370,7 +8543,6 @@ var Hello2D = (() => {
8370
8543
  };
8371
8544
  var _emscripten_glWaitSync = _glWaitSync;
8372
8545
  var getHeapMax = () => 2147483648;
8373
- var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
8374
8546
  var growMemory = (size) => {
8375
8547
  var b = wasmMemory.buffer;
8376
8548
  var pages = (size - b.byteLength + 65535) / 65536 | 0;
@@ -8519,8 +8691,23 @@ var Hello2D = (() => {
8519
8691
  FS.staticInit();
8520
8692
  MEMFS.doesNotExistError = new FS.ErrnoError(44);
8521
8693
  MEMFS.doesNotExistError.stack = "<generic error, no stack>";
8694
+ InternalError = Module["InternalError"] = class InternalError extends Error {
8695
+ constructor(message) {
8696
+ super(message);
8697
+ this.name = "InternalError";
8698
+ }
8699
+ };
8700
+ embind_init_charCodes();
8701
+ BindingError = Module["BindingError"] = class BindingError extends Error {
8702
+ constructor(message) {
8703
+ super(message);
8704
+ this.name = "BindingError";
8705
+ }
8706
+ };
8522
8707
  init_ClassHandle();
8523
8708
  init_RegisteredPointer();
8709
+ UnboundTypeError = Module["UnboundTypeError"] = extendError(Error, "UnboundTypeError");
8710
+ init_emval();
8524
8711
  var miniTempWebGLFloatBuffersStorage = new Float32Array(288);
8525
8712
  for (var i = 0; i <= 288; ++i) {
8526
8713
  miniTempWebGLFloatBuffers[i] = miniTempWebGLFloatBuffersStorage.subarray(0, i);
@@ -8529,110 +8716,92 @@ var Hello2D = (() => {
8529
8716
  for (var i = 0; i <= 288; ++i) {
8530
8717
  miniTempWebGLIntBuffers[i] = miniTempWebGLIntBuffersStorage.subarray(0, i);
8531
8718
  }
8532
- {
8533
- if (Module["noExitRuntime"])
8534
- noExitRuntime = Module["noExitRuntime"];
8535
- if (Module["preloadPlugins"])
8536
- preloadPlugins = Module["preloadPlugins"];
8537
- if (Module["print"])
8538
- out = Module["print"];
8539
- if (Module["printErr"])
8540
- err = Module["printErr"];
8541
- if (Module["wasmBinary"])
8542
- wasmBinary = Module["wasmBinary"];
8543
- if (Module["arguments"])
8544
- Module["arguments"];
8545
- if (Module["thisProgram"])
8546
- Module["thisProgram"];
8547
- }
8719
+ var wasmImports = { C: ___cxa_throw, P: ___syscall_fcntl64, hb: ___syscall_getdents64, ob: ___syscall_ioctl, fb: ___syscall_mkdirat, Q: ___syscall_openat, kb: ___syscall_rmdir, gb: ___syscall_stat64, lb: ___syscall_unlinkat, pb: __abort_js, x: __embind_finalize_value_object, N: __embind_register_bigint, db: __embind_register_bool, l: __embind_register_class, k: __embind_register_class_class_function, z: __embind_register_class_constructor, a: __embind_register_class_function, g: __embind_register_class_property, bb: __embind_register_emval, G: __embind_register_enum, r: __embind_register_enum_value, M: __embind_register_float, L: __embind_register_function, s: __embind_register_integer, m: __embind_register_memory_view, B: __embind_register_optional, q: __embind_register_smart_ptr, cb: __embind_register_std_string, H: __embind_register_std_wstring, w: __embind_register_value_object, n: __embind_register_value_object_field, eb: __embind_register_void, h: __emval_as, A: __emval_await, t: __emval_call, e: __emval_call_method, b: __emval_decref, D: __emval_equals, I: __emval_get_global, d: __emval_get_method_caller, j: __emval_get_module_property, u: __emval_get_property, f: __emval_incref, $a: __emval_instanceof, ab: __emval_new_array, p: __emval_new_cstring, K: __emval_new_object, c: __emval_run_destructors, v: __emval_set_property, i: __emval_take_value, ib: _clock_time_get, R: _emscripten_get_canvas_element_size, _a: _emscripten_glActiveTexture, Za: _emscripten_glAttachShader, Xa: _emscripten_glBindAttribLocation, Wa: _emscripten_glBindBuffer, Va: _emscripten_glBindFramebuffer, Ua: _emscripten_glBindRenderbuffer, Ta: _emscripten_glBindTexture, Ab: _emscripten_glBindVertexArray, xb: _emscripten_glBindVertexArrayOES, Sa: _emscripten_glBlendColor, Ra: _emscripten_glBlendEquation, Bb: _emscripten_glBlendEquationSeparate, Qa: _emscripten_glBlendFunc, sb: _emscripten_glBlitFramebuffer, Pa: _emscripten_glBufferData, Oa: _emscripten_glCheckFramebufferStatus, Na: _emscripten_glClear, Ma: _emscripten_glClearColor, La: _emscripten_glClearStencil, Ka: _emscripten_glColorMask, Ja: _emscripten_glCompileShader, Ia: _emscripten_glCopyTexSubImage2D, Ha: _emscripten_glCreateProgram, Ga: _emscripten_glCreateShader, Fa: _emscripten_glDeleteBuffers, Ea: _emscripten_glDeleteFramebuffers, Da: _emscripten_glDeleteProgram, Ca: _emscripten_glDeleteRenderbuffers, Ba: _emscripten_glDeleteShader, tb: _emscripten_glDeleteSync, Aa: _emscripten_glDeleteTextures, zb: _emscripten_glDeleteVertexArrays, wb: _emscripten_glDeleteVertexArraysOES, za: _emscripten_glDepthMask, ya: _emscripten_glDisable, xa: _emscripten_glDisableVertexAttribArray, wa: _emscripten_glDrawArrays, va: _emscripten_glDrawElements, ua: _emscripten_glEnable, ta: _emscripten_glEnableVertexAttribArray, ub: _emscripten_glFenceSync, sa: _emscripten_glFinish, ra: _emscripten_glFlush, qa: _emscripten_glFramebufferRenderbuffer, pa: _emscripten_glFramebufferTexture2D, oa: _emscripten_glGenBuffers, na: _emscripten_glGenFramebuffers, ma: _emscripten_glGenRenderbuffers, la: _emscripten_glGenTextures, yb: _emscripten_glGenVertexArrays, vb: _emscripten_glGenVertexArraysOES, Cb: _emscripten_glGetAttribLocation, ka: _emscripten_glGetBufferParameteriv, ja: _emscripten_glGetError, ia: _emscripten_glGetFramebufferAttachmentParameteriv, ha: _emscripten_glGetIntegerv, ga: _emscripten_glGetProgramInfoLog, fa: _emscripten_glGetProgramiv, ea: _emscripten_glGetRenderbufferParameteriv, da: _emscripten_glGetShaderInfoLog, ca: _emscripten_glGetShaderPrecisionFormat, ba: _emscripten_glGetShaderiv, aa: _emscripten_glGetString, $: _emscripten_glGetStringi, _: _emscripten_glGetUniformLocation, Ya: _emscripten_glIsEnabled, Z: _emscripten_glIsTexture, Y: _emscripten_glLineWidth, X: _emscripten_glLinkProgram, W: _emscripten_glPixelStorei, V: _emscripten_glReadPixels, U: _emscripten_glRenderbufferStorage, rb: _emscripten_glRenderbufferStorageMultisample, T: _emscripten_glScissor, S: _emscripten_glShaderSource, gc: _emscripten_glTexImage2D, fc: _emscripten_glTexParameterf, ec: _emscripten_glTexParameterfv, dc: _emscripten_glTexParameteri, cc: _emscripten_glTexParameteriv, bc: _emscripten_glTexSubImage2D, ac: _emscripten_glUniform1f, $b: _emscripten_glUniform1fv, _b: _emscripten_glUniform1i, Zb: _emscripten_glUniform1iv, Yb: _emscripten_glUniform2f, Xb: _emscripten_glUniform2fv, Wb: _emscripten_glUniform2i, Vb: _emscripten_glUniform2iv, Ub: _emscripten_glUniform3f, Tb: _emscripten_glUniform3fv, Sb: _emscripten_glUniform3i, Rb: _emscripten_glUniform3iv, Qb: _emscripten_glUniform4f, Pb: _emscripten_glUniform4fv, Ob: _emscripten_glUniform4i, Nb: _emscripten_glUniform4iv, Mb: _emscripten_glUniformMatrix2fv, Lb: _emscripten_glUniformMatrix3fv, Kb: _emscripten_glUniformMatrix4fv, Jb: _emscripten_glUseProgram, Ib: _emscripten_glVertexAttrib1f, Hb: _emscripten_glVertexAttrib2fv, Gb: _emscripten_glVertexAttrib3fv, Fb: _emscripten_glVertexAttrib4fv, Eb: _emscripten_glVertexAttribPointer, Db: _emscripten_glViewport, qb: _emscripten_glWaitSync, jb: _emscripten_resize_heap, J: _emscripten_webgl_create_context, F: _emscripten_webgl_destroy_context, y: _emscripten_webgl_get_current_context, o: _emscripten_webgl_make_context_current, E: _fd_close, nb: _fd_read, mb: _fd_seek, O: _fd_write };
8720
+ var wasmExports = await createWasm();
8721
+ wasmExports["ic"];
8722
+ var ___getTypeName = wasmExports["jc"];
8723
+ var _malloc = wasmExports["lc"];
8724
+ var _free = wasmExports["mc"];
8725
+ Module["dynCall_ii"] = wasmExports["nc"];
8726
+ Module["dynCall_vi"] = wasmExports["oc"];
8727
+ Module["dynCall_ji"] = wasmExports["pc"];
8728
+ Module["dynCall_iii"] = wasmExports["qc"];
8729
+ Module["dynCall_vii"] = wasmExports["rc"];
8730
+ Module["dynCall_v"] = wasmExports["sc"];
8731
+ Module["dynCall_viij"] = wasmExports["tc"];
8732
+ Module["dynCall_fij"] = wasmExports["uc"];
8733
+ Module["dynCall_iij"] = wasmExports["vc"];
8734
+ Module["dynCall_viiij"] = wasmExports["wc"];
8735
+ Module["dynCall_viii"] = wasmExports["xc"];
8736
+ Module["dynCall_fif"] = wasmExports["yc"];
8737
+ Module["dynCall_viiii"] = wasmExports["zc"];
8738
+ Module["dynCall_fii"] = wasmExports["Ac"];
8739
+ Module["dynCall_iiii"] = wasmExports["Bc"];
8740
+ Module["dynCall_jii"] = wasmExports["Cc"];
8741
+ Module["dynCall_jij"] = wasmExports["Dc"];
8742
+ Module["dynCall_vij"] = wasmExports["Ec"];
8743
+ Module["dynCall_iiiiii"] = wasmExports["Fc"];
8744
+ Module["dynCall_viiiii"] = wasmExports["Gc"];
8745
+ Module["dynCall_iiiff"] = wasmExports["Hc"];
8746
+ Module["dynCall_vijii"] = wasmExports["Ic"];
8747
+ Module["dynCall_iiifi"] = wasmExports["Jc"];
8748
+ Module["dynCall_fi"] = wasmExports["Kc"];
8749
+ Module["dynCall_jijf"] = wasmExports["Lc"];
8750
+ Module["dynCall_fiii"] = wasmExports["Mc"];
8751
+ Module["dynCall_viiiji"] = wasmExports["Nc"];
8752
+ Module["dynCall_iijj"] = wasmExports["Oc"];
8753
+ Module["dynCall_iiiij"] = wasmExports["Pc"];
8754
+ Module["dynCall_diiii"] = wasmExports["Qc"];
8755
+ Module["dynCall_i"] = wasmExports["Rc"];
8756
+ Module["dynCall_vif"] = wasmExports["Sc"];
8757
+ Module["dynCall_di"] = wasmExports["Tc"];
8758
+ Module["dynCall_vid"] = wasmExports["Uc"];
8759
+ Module["dynCall_iiiiiii"] = wasmExports["Vc"];
8760
+ Module["dynCall_viiiiii"] = wasmExports["Wc"];
8761
+ Module["dynCall_iiiii"] = wasmExports["Xc"];
8762
+ Module["dynCall_iiiifii"] = wasmExports["Yc"];
8763
+ Module["dynCall_viiifii"] = wasmExports["Zc"];
8764
+ Module["dynCall_viiff"] = wasmExports["_c"];
8765
+ Module["dynCall_iiiiiiii"] = wasmExports["$c"];
8766
+ Module["dynCall_viiiiiii"] = wasmExports["ad"];
8767
+ Module["dynCall_iiiffi"] = wasmExports["bd"];
8768
+ Module["dynCall_iifffffffff"] = wasmExports["cd"];
8769
+ Module["dynCall_vifffffffff"] = wasmExports["dd"];
8770
+ Module["dynCall_iiff"] = wasmExports["ed"];
8771
+ Module["dynCall_viff"] = wasmExports["fd"];
8772
+ Module["dynCall_iif"] = wasmExports["gd"];
8773
+ Module["dynCall_viif"] = wasmExports["hd"];
8774
+ Module["dynCall_viffffff"] = wasmExports["id"];
8775
+ Module["dynCall_viffff"] = wasmExports["jd"];
8776
+ Module["dynCall_vifff"] = wasmExports["kd"];
8777
+ Module["dynCall_dii"] = wasmExports["ld"];
8778
+ Module["dynCall_viid"] = wasmExports["md"];
8779
+ Module["dynCall_iiiiffi"] = wasmExports["nd"];
8780
+ Module["dynCall_viiif"] = wasmExports["od"];
8781
+ Module["dynCall_viifffffffff"] = wasmExports["pd"];
8782
+ Module["dynCall_viiffffff"] = wasmExports["qd"];
8783
+ Module["dynCall_viiffff"] = wasmExports["rd"];
8784
+ Module["dynCall_viifff"] = wasmExports["sd"];
8785
+ Module["dynCall_viifi"] = wasmExports["td"];
8786
+ Module["dynCall_viddi"] = wasmExports["ud"];
8787
+ Module["dynCall_vifii"] = wasmExports["vd"];
8788
+ Module["dynCall_viifd"] = wasmExports["wd"];
8789
+ Module["dynCall_iiffi"] = wasmExports["xd"];
8790
+ Module["dynCall_viiiiiffii"] = wasmExports["yd"];
8791
+ Module["dynCall_iifii"] = wasmExports["zd"];
8792
+ Module["dynCall_vffff"] = wasmExports["Ad"];
8793
+ Module["dynCall_viiiiiiii"] = wasmExports["Bd"];
8794
+ Module["dynCall_vf"] = wasmExports["Cd"];
8795
+ Module["dynCall_viiiiiiiii"] = wasmExports["Dd"];
8796
+ Module["dynCall_viiiiiiiiii"] = wasmExports["Ed"];
8797
+ Module["dynCall_jiji"] = wasmExports["Fd"];
8798
+ Module["dynCall_iidiiii"] = wasmExports["Gd"];
8799
+ var _asyncify_start_unwind = wasmExports["Hd"];
8800
+ var _asyncify_stop_unwind = wasmExports["Id"];
8801
+ var _asyncify_start_rewind = wasmExports["Jd"];
8802
+ var _asyncify_stop_rewind = wasmExports["Kd"];
8548
8803
  Module["GL"] = GL;
8549
8804
  Module["Asyncify"] = Asyncify;
8550
- var ___getTypeName, _malloc, _free, _asyncify_start_unwind, _asyncify_stop_unwind, _asyncify_start_rewind, _asyncify_stop_rewind;
8551
- function assignWasmExports(wasmExports2) {
8552
- ___getTypeName = wasmExports2["jc"];
8553
- _malloc = wasmExports2["kc"];
8554
- _free = wasmExports2["lc"];
8555
- dynCalls["ii"] = wasmExports2["mc"];
8556
- dynCalls["vi"] = wasmExports2["nc"];
8557
- dynCalls["ji"] = wasmExports2["oc"];
8558
- dynCalls["iii"] = wasmExports2["pc"];
8559
- dynCalls["vii"] = wasmExports2["qc"];
8560
- dynCalls["v"] = wasmExports2["rc"];
8561
- dynCalls["viij"] = wasmExports2["sc"];
8562
- dynCalls["fij"] = wasmExports2["tc"];
8563
- dynCalls["iij"] = wasmExports2["uc"];
8564
- dynCalls["viiij"] = wasmExports2["vc"];
8565
- dynCalls["viii"] = wasmExports2["wc"];
8566
- dynCalls["fif"] = wasmExports2["xc"];
8567
- dynCalls["viiii"] = wasmExports2["yc"];
8568
- dynCalls["fii"] = wasmExports2["zc"];
8569
- dynCalls["iiii"] = wasmExports2["Ac"];
8570
- dynCalls["jii"] = wasmExports2["Bc"];
8571
- dynCalls["jij"] = wasmExports2["Cc"];
8572
- dynCalls["vij"] = wasmExports2["Dc"];
8573
- dynCalls["vijiii"] = wasmExports2["Ec"];
8574
- dynCalls["viiiii"] = wasmExports2["Fc"];
8575
- dynCalls["iiiff"] = wasmExports2["Gc"];
8576
- dynCalls["iiifi"] = wasmExports2["Hc"];
8577
- dynCalls["fi"] = wasmExports2["Ic"];
8578
- dynCalls["jijf"] = wasmExports2["Jc"];
8579
- dynCalls["fiii"] = wasmExports2["Kc"];
8580
- dynCalls["viiiji"] = wasmExports2["Lc"];
8581
- dynCalls["iijj"] = wasmExports2["Mc"];
8582
- dynCalls["iiiiii"] = wasmExports2["Nc"];
8583
- dynCalls["iiiij"] = wasmExports2["Oc"];
8584
- dynCalls["diiii"] = wasmExports2["Pc"];
8585
- dynCalls["i"] = wasmExports2["Qc"];
8586
- dynCalls["vif"] = wasmExports2["Rc"];
8587
- dynCalls["di"] = wasmExports2["Sc"];
8588
- dynCalls["vid"] = wasmExports2["Tc"];
8589
- dynCalls["iiiiiii"] = wasmExports2["Uc"];
8590
- dynCalls["viiiiii"] = wasmExports2["Vc"];
8591
- dynCalls["iiiii"] = wasmExports2["Wc"];
8592
- dynCalls["iiiifii"] = wasmExports2["Xc"];
8593
- dynCalls["viiifii"] = wasmExports2["Yc"];
8594
- dynCalls["viiff"] = wasmExports2["Zc"];
8595
- dynCalls["iiiiiiii"] = wasmExports2["_c"];
8596
- dynCalls["viiiiiii"] = wasmExports2["$c"];
8597
- dynCalls["iiiffi"] = wasmExports2["ad"];
8598
- dynCalls["iifffffffff"] = wasmExports2["bd"];
8599
- dynCalls["vifffffffff"] = wasmExports2["cd"];
8600
- dynCalls["iiff"] = wasmExports2["dd"];
8601
- dynCalls["viff"] = wasmExports2["ed"];
8602
- dynCalls["iif"] = wasmExports2["fd"];
8603
- dynCalls["viif"] = wasmExports2["gd"];
8604
- dynCalls["viffffff"] = wasmExports2["hd"];
8605
- dynCalls["viffff"] = wasmExports2["id"];
8606
- dynCalls["vifff"] = wasmExports2["jd"];
8607
- dynCalls["dii"] = wasmExports2["kd"];
8608
- dynCalls["viid"] = wasmExports2["ld"];
8609
- dynCalls["iiiiffi"] = wasmExports2["md"];
8610
- dynCalls["viiif"] = wasmExports2["nd"];
8611
- dynCalls["viifffffffff"] = wasmExports2["od"];
8612
- dynCalls["viiffffff"] = wasmExports2["pd"];
8613
- dynCalls["viiffff"] = wasmExports2["qd"];
8614
- dynCalls["viifff"] = wasmExports2["rd"];
8615
- dynCalls["viifi"] = wasmExports2["sd"];
8616
- dynCalls["viddi"] = wasmExports2["td"];
8617
- dynCalls["vifii"] = wasmExports2["ud"];
8618
- dynCalls["viifd"] = wasmExports2["vd"];
8619
- dynCalls["iiffi"] = wasmExports2["wd"];
8620
- dynCalls["viiiiiffii"] = wasmExports2["xd"];
8621
- dynCalls["iifii"] = wasmExports2["yd"];
8622
- dynCalls["vffff"] = wasmExports2["zd"];
8623
- dynCalls["viiiiiiii"] = wasmExports2["Ad"];
8624
- dynCalls["vf"] = wasmExports2["Bd"];
8625
- dynCalls["viiiiiiiii"] = wasmExports2["Cd"];
8626
- dynCalls["viiiiiiiiii"] = wasmExports2["Dd"];
8627
- dynCalls["jiji"] = wasmExports2["Ed"];
8628
- dynCalls["iidiiii"] = wasmExports2["Fd"];
8629
- _asyncify_start_unwind = wasmExports2["Gd"];
8630
- _asyncify_stop_unwind = wasmExports2["Hd"];
8631
- _asyncify_start_rewind = wasmExports2["Id"];
8632
- _asyncify_stop_rewind = wasmExports2["Jd"];
8633
- }
8634
- var wasmImports = { D: ___cxa_throw, O: ___syscall_fcntl64, hb: ___syscall_getdents64, ob: ___syscall_ioctl, fb: ___syscall_mkdirat, P: ___syscall_openat, kb: ___syscall_rmdir, gb: ___syscall_stat64, lb: ___syscall_unlinkat, pb: __abort_js, w: __embind_finalize_value_object, M: __embind_register_bigint, db: __embind_register_bool, k: __embind_register_class, j: __embind_register_class_class_function, z: __embind_register_class_constructor, a: __embind_register_class_function, g: __embind_register_class_property, bb: __embind_register_emval, G: __embind_register_enum, q: __embind_register_enum_value, L: __embind_register_float, K: __embind_register_function, s: __embind_register_integer, m: __embind_register_memory_view, B: __embind_register_optional, p: __embind_register_smart_ptr, cb: __embind_register_std_string, H: __embind_register_std_wstring, v: __embind_register_value_object, n: __embind_register_value_object_field, eb: __embind_register_void, h: __emval_as, x: __emval_await, C: __emval_call, e: __emval_call_method, b: __emval_decref, A: __emval_equals, I: __emval_get_global, d: __emval_get_method_caller, l: __emval_get_module_property, t: __emval_get_property, f: __emval_incref, $a: __emval_instanceof, ab: __emval_new_array, r: __emval_new_cstring, J: __emval_new_object, c: __emval_run_destructors, u: __emval_set_property, i: __emval_take_value, ib: _clock_time_get, Q: _emscripten_get_canvas_element_size, Za: _emscripten_glActiveTexture, Ya: _emscripten_glAttachShader, Wa: _emscripten_glBindAttribLocation, Va: _emscripten_glBindBuffer, Ua: _emscripten_glBindFramebuffer, Ta: _emscripten_glBindRenderbuffer, Sa: _emscripten_glBindTexture, Ab: _emscripten_glBindVertexArray, xb: _emscripten_glBindVertexArrayOES, Ra: _emscripten_glBlendColor, Qa: _emscripten_glBlendEquation, Bb: _emscripten_glBlendEquationSeparate, Pa: _emscripten_glBlendFunc, sb: _emscripten_glBlitFramebuffer, Oa: _emscripten_glBufferData, Na: _emscripten_glCheckFramebufferStatus, Ma: _emscripten_glClear, La: _emscripten_glClearColor, Ka: _emscripten_glClearStencil, Ja: _emscripten_glColorMask, Ia: _emscripten_glCompileShader, Ha: _emscripten_glCopyTexSubImage2D, Ga: _emscripten_glCreateProgram, Fa: _emscripten_glCreateShader, Ea: _emscripten_glDeleteBuffers, Da: _emscripten_glDeleteFramebuffers, Ca: _emscripten_glDeleteProgram, Ba: _emscripten_glDeleteRenderbuffers, Aa: _emscripten_glDeleteShader, tb: _emscripten_glDeleteSync, za: _emscripten_glDeleteTextures, zb: _emscripten_glDeleteVertexArrays, wb: _emscripten_glDeleteVertexArraysOES, ya: _emscripten_glDepthMask, xa: _emscripten_glDisable, wa: _emscripten_glDisableVertexAttribArray, va: _emscripten_glDrawArrays, ua: _emscripten_glDrawElements, ta: _emscripten_glEnable, sa: _emscripten_glEnableVertexAttribArray, ub: _emscripten_glFenceSync, ra: _emscripten_glFinish, qa: _emscripten_glFlush, pa: _emscripten_glFramebufferRenderbuffer, oa: _emscripten_glFramebufferTexture2D, na: _emscripten_glGenBuffers, ma: _emscripten_glGenFramebuffers, la: _emscripten_glGenRenderbuffers, ka: _emscripten_glGenTextures, yb: _emscripten_glGenVertexArrays, vb: _emscripten_glGenVertexArraysOES, Cb: _emscripten_glGetAttribLocation, ja: _emscripten_glGetBufferParameteriv, ia: _emscripten_glGetError, ha: _emscripten_glGetFramebufferAttachmentParameteriv, ga: _emscripten_glGetIntegerv, fa: _emscripten_glGetProgramInfoLog, ea: _emscripten_glGetProgramiv, da: _emscripten_glGetRenderbufferParameteriv, ca: _emscripten_glGetShaderInfoLog, ba: _emscripten_glGetShaderPrecisionFormat, aa: _emscripten_glGetShaderiv, $: _emscripten_glGetString, _: _emscripten_glGetStringi, Z: _emscripten_glGetUniformLocation, Xa: _emscripten_glIsEnabled, Y: _emscripten_glIsTexture, X: _emscripten_glLineWidth, W: _emscripten_glLinkProgram, V: _emscripten_glPixelStorei, U: _emscripten_glReadPixels, T: _emscripten_glRenderbufferStorage, rb: _emscripten_glRenderbufferStorageMultisample, S: _emscripten_glScissor, R: _emscripten_glShaderSource, gc: _emscripten_glTexImage2D, fc: _emscripten_glTexParameterf, ec: _emscripten_glTexParameterfv, dc: _emscripten_glTexParameteri, cc: _emscripten_glTexParameteriv, bc: _emscripten_glTexSubImage2D, ac: _emscripten_glUniform1f, $b: _emscripten_glUniform1fv, _b: _emscripten_glUniform1i, Zb: _emscripten_glUniform1iv, Yb: _emscripten_glUniform2f, Xb: _emscripten_glUniform2fv, Wb: _emscripten_glUniform2i, Vb: _emscripten_glUniform2iv, Ub: _emscripten_glUniform3f, Tb: _emscripten_glUniform3fv, Sb: _emscripten_glUniform3i, Rb: _emscripten_glUniform3iv, Qb: _emscripten_glUniform4f, Pb: _emscripten_glUniform4fv, Ob: _emscripten_glUniform4i, Nb: _emscripten_glUniform4iv, Mb: _emscripten_glUniformMatrix2fv, Lb: _emscripten_glUniformMatrix3fv, Kb: _emscripten_glUniformMatrix4fv, Jb: _emscripten_glUseProgram, Ib: _emscripten_glVertexAttrib1f, Hb: _emscripten_glVertexAttrib2fv, Gb: _emscripten_glVertexAttrib3fv, Fb: _emscripten_glVertexAttrib4fv, Eb: _emscripten_glVertexAttribPointer, Db: _emscripten_glViewport, qb: _emscripten_glWaitSync, jb: _emscripten_resize_heap, _a: _emscripten_webgl_create_context, F: _emscripten_webgl_destroy_context, y: _emscripten_webgl_get_current_context, o: _emscripten_webgl_make_context_current, E: _fd_close, nb: _fd_read, mb: _fd_seek, N: _fd_write };
8635
- var wasmExports = await createWasm();
8636
8805
  function run() {
8637
8806
  if (runDependencies > 0) {
8638
8807
  dependenciesFulfilled = run;
@@ -8648,7 +8817,7 @@ var Hello2D = (() => {
8648
8817
  if (ABORT)
8649
8818
  return;
8650
8819
  initRuntime();
8651
- readyPromiseResolve?.(Module);
8820
+ readyPromiseResolve(Module);
8652
8821
  Module["onRuntimeInitialized"]?.();
8653
8822
  postRun();
8654
8823
  }
@@ -8662,25 +8831,15 @@ var Hello2D = (() => {
8662
8831
  doRun();
8663
8832
  }
8664
8833
  }
8665
- function preInit() {
8666
- if (Module["preInit"]) {
8667
- if (typeof Module["preInit"] == "function")
8668
- Module["preInit"] = [Module["preInit"]];
8669
- while (Module["preInit"].length > 0) {
8670
- Module["preInit"].shift()();
8671
- }
8834
+ if (Module["preInit"]) {
8835
+ if (typeof Module["preInit"] == "function")
8836
+ Module["preInit"] = [Module["preInit"]];
8837
+ while (Module["preInit"].length > 0) {
8838
+ Module["preInit"].pop()();
8672
8839
  }
8673
8840
  }
8674
- preInit();
8675
8841
  run();
8676
- if (runtimeInitialized) {
8677
- moduleRtn = Module;
8678
- } else {
8679
- moduleRtn = new Promise((resolve, reject) => {
8680
- readyPromiseResolve = resolve;
8681
- readyPromiseReject = reject;
8682
- });
8683
- }
8842
+ moduleRtn = readyPromise;
8684
8843
  return moduleRtn;
8685
8844
  };
8686
8845
  })();
@@ -8870,7 +9029,7 @@ const workerInit = (init) => {
8870
9029
  };
8871
9030
  };
8872
9031
 
8873
- const PAGInit = (moduleOption = {}) => Hello2D(moduleOption).then((module) => {
9032
+ const PAGInit = (moduleOption = {}) => PAGInit$1(moduleOption).then((module) => {
8874
9033
  PAGBind(module);
8875
9034
  module.webAssemblyQueue = new WebAssemblyQueue();
8876
9035
  module.globalCanvas = new module.GlobalCanvas();