@jdultra/threedtiles 13.0.31 → 13.0.33

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.
@@ -2,7 +2,7 @@ var Zt = Object.defineProperty;
2
2
  var $t = (c, e, a) => e in c ? Zt(c, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : c[e] = a;
3
3
  var ge = (c, e, a) => $t(c, typeof e != "symbol" ? e + "" : e, a);
4
4
  import * as E from "three";
5
- import { Matrix3 as Sa, Vector3 as M, Box3 as va, Matrix4 as je, Ray as eA, BufferGeometry as ea, LineBasicMaterial as It, LineSegments as pt, BufferAttribute as be, TrianglesDrawMode as aA, TriangleFanDrawMode as ya, TriangleStripDrawMode as Ct, Loader as Fa, LoaderUtils as Pe, FileLoader as Be, Color as he, LinearSRGBColorSpace as K, SpotLight as tA, PointLight as AA, DirectionalLight as iA, MeshBasicMaterial as Le, SRGBColorSpace as re, MeshPhysicalMaterial as ae, Vector2 as Bt, Quaternion as mt, InstancedMesh as sA, InstancedBufferAttribute as wa, Object3D as Et, TextureLoader as rA, ImageBitmapLoader as nA, InterleavedBuffer as oA, InterleavedBufferAttribute as cA, LinearFilter as Ce, LinearMipmapLinearFilter as $e, RepeatWrapping as xa, NearestFilter as R, PointsMaterial as dA, Material as ta, MeshStandardMaterial as Ua, DoubleSide as lA, PropertyBinding as bA, SkinnedMesh as hA, Mesh as ka, Line as gA, LineLoop as fA, Points as uA, Group as Aa, PerspectiveCamera as IA, MathUtils as pA, OrthographicCamera as Qt, Skeleton as CA, AnimationClip as BA, Bone as mA, InterpolateLinear as yt, ColorManagement as Da, NearestMipmapNearestFilter as EA, LinearMipmapNearestFilter as QA, NearestMipmapLinearFilter as yA, ClampToEdgeWrapping as wA, MirroredRepeatWrapping as xA, InterpolateDiscrete as kA, FrontSide as Ze, Texture as Na, VectorKeyframeTrack as Pa, NumberKeyframeTrack as _a, QuaternionKeyframeTrack as Ha, Sphere as DA, Interpolant as jA, CompressedCubeTexture as MA, CompressedArrayTexture as RA, CompressedTexture as qa, RGBAFormat as ee, RGBA_ASTC_4x4_Format as wt, RGB_BPTC_UNSIGNED_Format as SA, RGBA_BPTC_Format as vA, RGBA_ETC2_EAC_Format as FA, RGBA_PVRTC_4BPPV1_Format as TA, RGBA_S3TC_DXT5_Format as LA, RGB_ETC1_Format as GA, RGB_ETC2_Format as UA, RGB_PVRTC_4BPPV1_Format as NA, RGBA_S3TC_DXT1_Format as PA, UnsignedByteType as X, HalfFloatType as xe, FloatType as v, DataTexture as Ge, Data3DTexture as _A, NoColorSpace as HA, RGFormat as Ue, RedFormat as Ne, RGBA_ASTC_6x6_Format as Oa, WebGL3DRenderTarget as ne, ShaderMaterial as ia, InstancedBufferGeometry as Ja, DynamicDrawUsage as Ka, Scene as qA, PlaneGeometry as OA } from "three";
5
+ import { Matrix3 as Sa, Vector3 as M, Box3 as va, Matrix4 as je, Ray as eA, BufferGeometry as ea, LineBasicMaterial as It, LineSegments as pt, BufferAttribute as le, TrianglesDrawMode as aA, TriangleFanDrawMode as ya, TriangleStripDrawMode as Ct, Loader as Fa, LoaderUtils as Pe, FileLoader as Be, Color as he, LinearSRGBColorSpace as K, SpotLight as tA, PointLight as AA, DirectionalLight as iA, MeshBasicMaterial as Le, SRGBColorSpace as re, MeshPhysicalMaterial as ae, Vector2 as Bt, Quaternion as mt, InstancedMesh as sA, InstancedBufferAttribute as wa, Object3D as Et, TextureLoader as rA, ImageBitmapLoader as nA, InterleavedBuffer as oA, InterleavedBufferAttribute as cA, LinearFilter as Ce, LinearMipmapLinearFilter as $e, RepeatWrapping as xa, NearestFilter as R, PointsMaterial as dA, Material as ta, MeshStandardMaterial as Ua, DoubleSide as bA, PropertyBinding as lA, SkinnedMesh as hA, Mesh as ka, Line as gA, LineLoop as fA, Points as uA, Group as Aa, PerspectiveCamera as IA, MathUtils as pA, OrthographicCamera as Qt, Skeleton as CA, AnimationClip as BA, Bone as mA, InterpolateLinear as yt, ColorManagement as Da, NearestMipmapNearestFilter as EA, LinearMipmapNearestFilter as QA, NearestMipmapLinearFilter as yA, ClampToEdgeWrapping as wA, MirroredRepeatWrapping as xA, InterpolateDiscrete as kA, FrontSide as Ze, Texture as Na, VectorKeyframeTrack as Pa, NumberKeyframeTrack as _a, QuaternionKeyframeTrack as Ha, Sphere as DA, Interpolant as jA, CompressedCubeTexture as MA, CompressedArrayTexture as RA, CompressedTexture as qa, RGBAFormat as ee, RGBA_ASTC_4x4_Format as wt, RGB_BPTC_UNSIGNED_Format as SA, RGBA_BPTC_Format as vA, RGBA_ETC2_EAC_Format as FA, RGBA_PVRTC_4BPPV1_Format as TA, RGBA_S3TC_DXT5_Format as LA, RGB_ETC1_Format as GA, RGB_ETC2_Format as UA, RGB_PVRTC_4BPPV1_Format as NA, RGBA_S3TC_DXT1_Format as PA, UnsignedByteType as X, HalfFloatType as xe, FloatType as v, DataTexture as Ge, Data3DTexture as _A, NoColorSpace as HA, RGFormat as Ue, RedFormat as Ne, RGBA_ASTC_6x6_Format as Oa, WebGL3DRenderTarget as ne, ShaderMaterial as ia, InstancedBufferGeometry as Ja, DynamicDrawUsage as Ka, Scene as qA, PlaneGeometry as OA } from "three";
6
6
  class es {
7
7
  constructor() {
8
8
  this.cullMap = [], this.cullMaterial = new E.MeshBasicMaterial({ vertexColors: !0 }), this.cullMaterial.side = E.FrontSide, this.cullTarget = this._createCullTarget(), this.cullPixels = new Uint8Array(4 * this.cullTarget.width * this.cullTarget.height);
@@ -191,9 +191,9 @@ class kt {
191
191
  if (s instanceof Object) {
192
192
  if (Array.isArray(s)) return s;
193
193
  {
194
- const { buffer: r, binOffset: o, binLength: n } = this, l = s.byteOffset || 0, d = s.type || A, g = s.componentType || t;
194
+ const { buffer: r, binOffset: o, binLength: n } = this, b = s.byteOffset || 0, d = s.type || A, g = s.componentType || t;
195
195
  if ("type" in s && A && s.type !== A) throw new Error("FeatureTable: Specified type does not match expected type.");
196
- let h, b;
196
+ let h, l;
197
197
  switch (d) {
198
198
  case "SCALAR":
199
199
  h = 1;
@@ -210,37 +210,37 @@ class kt {
210
210
  default:
211
211
  throw new Error(`FeatureTable : Feature type not provided for "${e}".`);
212
212
  }
213
- const f = o + l, I = a * h;
213
+ const f = o + b, I = a * h;
214
214
  switch (g) {
215
215
  case "BYTE":
216
- b = new Int8Array(r, f, I);
216
+ l = new Int8Array(r, f, I);
217
217
  break;
218
218
  case "UNSIGNED_BYTE":
219
- b = new Uint8Array(r, f, I);
219
+ l = new Uint8Array(r, f, I);
220
220
  break;
221
221
  case "SHORT":
222
- b = new Int16Array(r, f, I);
222
+ l = new Int16Array(r, f, I);
223
223
  break;
224
224
  case "UNSIGNED_SHORT":
225
- b = new Uint16Array(r, f, I);
225
+ l = new Uint16Array(r, f, I);
226
226
  break;
227
227
  case "INT":
228
- b = new Int32Array(r, f, I);
228
+ l = new Int32Array(r, f, I);
229
229
  break;
230
230
  case "UNSIGNED_INT":
231
- b = new Uint32Array(r, f, I);
231
+ l = new Uint32Array(r, f, I);
232
232
  break;
233
233
  case "FLOAT":
234
- b = new Float32Array(r, f, I);
234
+ l = new Float32Array(r, f, I);
235
235
  break;
236
236
  case "DOUBLE":
237
- b = new Float64Array(r, f, I);
237
+ l = new Float64Array(r, f, I);
238
238
  break;
239
239
  default:
240
240
  throw new Error(`FeatureTable : Feature component type not provided for "${e}".`);
241
241
  }
242
- if (f + I * b.BYTES_PER_ELEMENT > o + n) throw new Error("FeatureTable: Feature data read outside binary body length.");
243
- return b;
242
+ if (f + I * l.BYTES_PER_ELEMENT > o + n) throw new Error("FeatureTable: Feature data read outside binary body length.");
243
+ return l;
244
244
  }
245
245
  }
246
246
  return s;
@@ -257,25 +257,25 @@ class KA extends kt {
257
257
  function Xa(c) {
258
258
  let e, a, t, A = -1, i = 0;
259
259
  for (let n = 0; n < c.length; ++n) {
260
- const l = c[n];
261
- if (e === void 0 && (e = l.array.constructor), e !== l.array.constructor) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."), null;
262
- if (a === void 0 && (a = l.itemSize), a !== l.itemSize) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."), null;
263
- if (t === void 0 && (t = l.normalized), t !== l.normalized) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."), null;
264
- if (A === -1 && (A = l.gpuType), A !== l.gpuType) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."), null;
265
- i += l.count * a;
266
- }
267
- const s = new e(i), r = new be(s, a, t);
260
+ const b = c[n];
261
+ if (e === void 0 && (e = b.array.constructor), e !== b.array.constructor) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."), null;
262
+ if (a === void 0 && (a = b.itemSize), a !== b.itemSize) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."), null;
263
+ if (t === void 0 && (t = b.normalized), t !== b.normalized) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."), null;
264
+ if (A === -1 && (A = b.gpuType), A !== b.gpuType) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."), null;
265
+ i += b.count * a;
266
+ }
267
+ const s = new e(i), r = new le(s, a, t);
268
268
  let o = 0;
269
269
  for (let n = 0; n < c.length; ++n) {
270
- const l = c[n];
271
- if (l.isInterleavedBufferAttribute) {
270
+ const b = c[n];
271
+ if (b.isInterleavedBufferAttribute) {
272
272
  const d = o / a;
273
- for (let g = 0, h = l.count; g < h; g++) for (let b = 0; b < a; b++) {
274
- const f = l.getComponent(g, b);
275
- r.setComponent(g + d, b, f);
273
+ for (let g = 0, h = b.count; g < h; g++) for (let l = 0; l < a; l++) {
274
+ const f = b.getComponent(g, l);
275
+ r.setComponent(g + d, l, f);
276
276
  }
277
- } else s.set(l.array, o);
278
- o += l.count * a;
277
+ } else s.set(b.array, o);
278
+ o += b.count * a;
279
279
  }
280
280
  return A !== void 0 && (r.gpuType = A), r;
281
281
  }
@@ -312,9 +312,9 @@ class Dt {
312
312
  console.assert(r === "b3dm");
313
313
  const o = s.getUint32(8, !0);
314
314
  console.assert(o === e.byteLength);
315
- const n = s.getUint32(12, !0), l = s.getUint32(16, !0), d = s.getUint32(20, !0), g = s.getUint32(24, !0), h = new kt(e, 28, n, l), b = 28 + n + l;
316
- new KA(e, h.getData("BATCH_LENGTH"), b, d, g);
317
- const f = b + d + g, I = new Uint8Array(e, f, o - f).slice().buffer;
315
+ const n = s.getUint32(12, !0), b = s.getUint32(16, !0), d = s.getUint32(20, !0), g = s.getUint32(24, !0), h = new kt(e, 28, n, b), l = 28 + n + b;
316
+ new KA(e, h.getData("BATCH_LENGTH"), l, d, g);
317
+ const f = l + d + g, I = new Uint8Array(e, f, o - f).slice().buffer;
318
318
  return new Promise(async (p, u) => {
319
319
  await this.checkLoaderInitialized(), this.gltfLoader.parse(I, null, (B) => {
320
320
  const C = h.getData("RTC_CENTER");
@@ -332,13 +332,13 @@ class Dt {
332
332
  s.updateWorldMatrix(!1, !0), s.traverse((d) => {
333
333
  d.isMesh && (d.geometry.applyMatrix4(d.matrixWorld), o.push(d.geometry), n.push(d.material));
334
334
  });
335
- let l = function(d) {
335
+ let b = function(d) {
336
336
  let g = /* @__PURE__ */ new Set();
337
- return d.forEach((b) => {
338
- for (let f in b.attributes) g.add(f);
339
- }), d.forEach((b) => {
337
+ return d.forEach((l) => {
338
+ for (let f in l.attributes) g.add(f);
339
+ }), d.forEach((l) => {
340
340
  g.forEach((f) => {
341
- if (!b.attributes[f]) {
341
+ if (!l.attributes[f]) {
342
342
  const I = function(u) {
343
343
  switch (u) {
344
344
  case "position":
@@ -351,15 +351,15 @@ class Dt {
351
351
  default:
352
352
  throw new Error(`Unknown attribute ${u}`);
353
353
  }
354
- }(f), p = new Float32Array(I * b.getAttribute("position").count).fill(0);
355
- b.setAttribute(f, new E.BufferAttribute(p, I));
354
+ }(f), p = new Float32Array(I * l.getAttribute("position").count).fill(0);
355
+ l.setAttribute(f, new E.BufferAttribute(p, I));
356
356
  }
357
357
  });
358
- }), function(b, f = !1) {
359
- const I = b[0].index !== null, p = new Set(Object.keys(b[0].attributes)), u = new Set(Object.keys(b[0].morphAttributes)), B = {}, C = {}, y = b[0].morphTargetsRelative, x = new ea();
358
+ }), function(l, f = !1) {
359
+ const I = l[0].index !== null, p = new Set(Object.keys(l[0].attributes)), u = new Set(Object.keys(l[0].morphAttributes)), B = {}, C = {}, y = l[0].morphTargetsRelative, x = new ea();
360
360
  let w = 0;
361
- for (let m = 0; m < b.length; ++m) {
362
- const Q = b[m];
361
+ for (let m = 0; m < l.length; ++m) {
362
+ const Q = l[m];
363
363
  let k = 0;
364
364
  if (I !== (Q.index !== null)) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + m + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."), null;
365
365
  for (const D in Q.attributes) {
@@ -385,10 +385,10 @@ class Dt {
385
385
  if (I) {
386
386
  let m = 0;
387
387
  const Q = [];
388
- for (let k = 0; k < b.length; ++k) {
389
- const D = b[k].index;
388
+ for (let k = 0; k < l.length; ++k) {
389
+ const D = l[k].index;
390
390
  for (let F = 0; F < D.count; ++F) Q.push(D.getX(F) + m);
391
- m += b[k].attributes.position.count;
391
+ m += l[k].attributes.position.count;
392
392
  }
393
393
  x.setIndex(Q);
394
394
  }
@@ -412,7 +412,7 @@ class Dt {
412
412
  return x;
413
413
  }(d, !0);
414
414
  }(o);
415
- return r = new E.InstancedMesh(l, n, t), r.baseMatrix = new E.Matrix4().identity(), r;
415
+ return r = new E.InstancedMesh(b, n, t), r.baseMatrix = new E.Matrix4().identity(), r;
416
416
  });
417
417
  }
418
418
  }
@@ -451,10 +451,10 @@ class XA {
451
451
  return new Promise(async (s, r) => {
452
452
  await i.checkLoaderInitialized(), i.gltfLoader.parse(e, null, (o) => {
453
453
  o.scene;
454
- const n = o.scene.children[0], l = n.geometry.attributes.position, d = n.geometry.attributes.color, g = n.geometry.attributes.cov_0, h = n.geometry.attributes.cov_1, b = A.addSplatsTile(l, d, g, h);
454
+ const n = o.scene.children[0], b = n.geometry.attributes.position, d = n.geometry.attributes.color, g = n.geometry.attributes.cov_0, h = n.geometry.attributes.cov_1, l = A.addSplatsTile(b, d, g, h);
455
455
  o.scene.traverse((f) => {
456
456
  f.dispose && f.dispose();
457
- }), s(b);
457
+ }), s(l);
458
458
  }, (o) => {
459
459
  console.error(o);
460
460
  });
@@ -468,7 +468,7 @@ class Mt extends Fa {
468
468
  }), this.register(function(a) {
469
469
  return new Ai(a);
470
470
  }), this.register(function(a) {
471
- return new bi(a);
471
+ return new li(a);
472
472
  }), this.register(function(a) {
473
473
  return new hi(a);
474
474
  }), this.register(function(a) {
@@ -488,7 +488,7 @@ class Mt extends Fa {
488
488
  }), this.register(function(a) {
489
489
  return new ii(a);
490
490
  }), this.register(function(a) {
491
- return new li(a);
491
+ return new bi(a);
492
492
  }), this.register(function(a) {
493
493
  return new di(a);
494
494
  }), this.register(function(a) {
@@ -513,11 +513,11 @@ class Mt extends Fa {
513
513
  }, o = new Be(this.manager);
514
514
  o.setPath(this.path), o.setResponseType("arraybuffer"), o.setRequestHeader(this.requestHeader), o.setWithCredentials(this.withCredentials), o.load(e, function(n) {
515
515
  try {
516
- i.parse(n, s, function(l) {
517
- a(l), i.manager.itemEnd(e);
516
+ i.parse(n, s, function(b) {
517
+ a(b), i.manager.itemEnd(e);
518
518
  }, r);
519
- } catch (l) {
520
- r(l);
519
+ } catch (b) {
520
+ r(b);
521
521
  }
522
522
  }, t, r);
523
523
  }
@@ -544,8 +544,8 @@ class Mt extends Fa {
544
544
  if (o.decode(new Uint8Array(e, 0, 4)) === Rt) {
545
545
  try {
546
546
  s[j.KHR_BINARY_GLTF] = new Ci(e);
547
- } catch (l) {
548
- return void (A && A(l));
547
+ } catch (b) {
548
+ return void (A && A(b));
549
549
  }
550
550
  i = JSON.parse(s[j.KHR_BINARY_GLTF].content);
551
551
  } else i = JSON.parse(o.decode(e));
@@ -553,12 +553,12 @@ class Mt extends Fa {
553
553
  if (i.asset === void 0 || i.asset.version[0] < 2) return void (A && A(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));
554
554
  const n = new Si(i, { path: a || this.resourcePath || "", crossOrigin: this.crossOrigin, requestHeader: this.requestHeader, manager: this.manager, ktx2Loader: this.ktx2Loader, meshoptDecoder: this.meshoptDecoder });
555
555
  n.fileLoader.setRequestHeader(this.requestHeader);
556
- for (let l = 0; l < this.pluginCallbacks.length; l++) {
557
- const d = this.pluginCallbacks[l](n);
556
+ for (let b = 0; b < this.pluginCallbacks.length; b++) {
557
+ const d = this.pluginCallbacks[b](n);
558
558
  d.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), r[d.name] = d, s[d.name] = !0;
559
559
  }
560
- if (i.extensionsUsed) for (let l = 0; l < i.extensionsUsed.length; ++l) {
561
- const d = i.extensionsUsed[l], g = i.extensionsRequired || [];
560
+ if (i.extensionsUsed) for (let b = 0; b < i.extensionsUsed.length; ++b) {
561
+ const d = i.extensionsUsed[b], g = i.extensionsRequired || [];
562
562
  switch (d) {
563
563
  case j.KHR_MATERIALS_UNLIT:
564
564
  s[d] = new ei();
@@ -824,7 +824,7 @@ class di {
824
824
  return a.bumpScale = s.bumpFactor !== void 0 ? s.bumpFactor : 1, s.bumpTexture !== void 0 && i.push(t.assignTexture(a, "bumpMap", s.bumpTexture)), Promise.all(i);
825
825
  }
826
826
  }
827
- class li {
827
+ class bi {
828
828
  constructor(e) {
829
829
  this.parser = e, this.name = j.KHR_MATERIALS_ANISOTROPY;
830
830
  }
@@ -839,7 +839,7 @@ class li {
839
839
  return s.anisotropyStrength !== void 0 && (a.anisotropy = s.anisotropyStrength), s.anisotropyRotation !== void 0 && (a.anisotropyRotation = s.anisotropyRotation), s.anisotropyTexture !== void 0 && i.push(t.assignTexture(a, "anisotropyMap", s.anisotropyTexture)), Promise.all(i);
840
840
  }
841
841
  }
842
- class bi {
842
+ class li {
843
843
  constructor(e) {
844
844
  this.parser = e, this.name = j.KHR_TEXTURE_BASISU;
845
845
  }
@@ -923,12 +923,12 @@ class fi {
923
923
  return null;
924
924
  }
925
925
  return i.then(function(r) {
926
- const o = A.byteOffset || 0, n = A.byteLength || 0, l = A.count, d = A.byteStride, g = new Uint8Array(r, o, n);
927
- return s.decodeGltfBufferAsync ? s.decodeGltfBufferAsync(l, d, g, A.mode, A.filter).then(function(h) {
926
+ const o = A.byteOffset || 0, n = A.byteLength || 0, b = A.count, d = A.byteStride, g = new Uint8Array(r, o, n);
927
+ return s.decodeGltfBufferAsync ? s.decodeGltfBufferAsync(b, d, g, A.mode, A.filter).then(function(h) {
928
928
  return h.buffer;
929
929
  }) : s.ready.then(function() {
930
- const h = new ArrayBuffer(l * d);
931
- return s.decodeGltfBuffer(new Uint8Array(h), l, d, g, A.mode, A.filter), h;
930
+ const h = new ArrayBuffer(b * d);
931
+ return s.decodeGltfBuffer(new Uint8Array(h), b, d, g, A.mode, A.filter), h;
932
932
  });
933
933
  });
934
934
  }
@@ -947,10 +947,10 @@ class ui {
947
947
  const i = t.extensions[this.name].attributes, s = [], r = {};
948
948
  for (const o in i) s.push(this.parser.getDependency("accessor", i[o]).then((n) => (r[o] = n, r[o])));
949
949
  return s.length < 1 ? null : (s.push(this.parser.createNodeMesh(e)), Promise.all(s).then((o) => {
950
- const n = o.pop(), l = n.isGroup ? n.children : [n], d = o[0].count, g = [];
951
- for (const h of l) {
952
- const b = new je(), f = new M(), I = new mt(), p = new M(1, 1, 1), u = new sA(h.geometry, h.material, d);
953
- for (let B = 0; B < d; B++) r.TRANSLATION && f.fromBufferAttribute(r.TRANSLATION, B), r.ROTATION && I.fromBufferAttribute(r.ROTATION, B), r.SCALE && p.fromBufferAttribute(r.SCALE, B), u.setMatrixAt(B, b.compose(f, I, p));
950
+ const n = o.pop(), b = n.isGroup ? n.children : [n], d = o[0].count, g = [];
951
+ for (const h of b) {
952
+ const l = new je(), f = new M(), I = new mt(), p = new M(1, 1, 1), u = new sA(h.geometry, h.material, d);
953
+ for (let B = 0; B < d; B++) r.TRANSLATION && f.fromBufferAttribute(r.TRANSLATION, B), r.ROTATION && I.fromBufferAttribute(r.ROTATION, B), r.SCALE && p.fromBufferAttribute(r.SCALE, B), u.setMatrixAt(B, l.compose(f, I, p));
954
954
  for (const B in r) if (B === "_COLOR_0") {
955
955
  const C = r[B];
956
956
  u.instanceColor = new wa(C.array, C.itemSize, C.normalized);
@@ -993,22 +993,22 @@ class Bi {
993
993
  }
994
994
  decodePrimitive(e, a) {
995
995
  const t = this.json, A = this.dracoLoader, i = e.extensions[this.name].bufferView, s = e.extensions[this.name].attributes, r = {}, o = {}, n = {};
996
- for (const l in s) {
997
- const d = ja[l] || l.toLowerCase();
998
- r[d] = s[l];
996
+ for (const b in s) {
997
+ const d = ja[b] || b.toLowerCase();
998
+ r[d] = s[b];
999
999
  }
1000
- for (const l in e.attributes) {
1001
- const d = ja[l] || l.toLowerCase();
1002
- if (s[l] !== void 0) {
1003
- const g = t.accessors[e.attributes[l]], h = ke[g.componentType];
1000
+ for (const b in e.attributes) {
1001
+ const d = ja[b] || b.toLowerCase();
1002
+ if (s[b] !== void 0) {
1003
+ const g = t.accessors[e.attributes[b]], h = ke[g.componentType];
1004
1004
  n[d] = h.name, o[d] = g.normalized === !0;
1005
1005
  }
1006
1006
  }
1007
- return a.getDependency("bufferView", i).then(function(l) {
1007
+ return a.getDependency("bufferView", i).then(function(b) {
1008
1008
  return new Promise(function(d, g) {
1009
- A.decodeDracoFile(l, function(h) {
1010
- for (const b in h.attributes) {
1011
- const f = h.attributes[b], I = o[b];
1009
+ A.decodeDracoFile(b, function(h) {
1010
+ for (const l in h.attributes) {
1011
+ const f = h.attributes[l], I = o[l];
1012
1012
  I !== void 0 && (f.normalized = I);
1013
1013
  }
1014
1014
  d(h);
@@ -1040,9 +1040,9 @@ class St extends jA {
1040
1040
  return a;
1041
1041
  }
1042
1042
  interpolate_(e, a, t, A) {
1043
- const i = this.resultBuffer, s = this.sampleValues, r = this.valueSize, o = 2 * r, n = 3 * r, l = A - a, d = (t - a) / l, g = d * d, h = g * d, b = e * n, f = b - n, I = -2 * h + 3 * g, p = h - g, u = 1 - I, B = p - g + d;
1043
+ const i = this.resultBuffer, s = this.sampleValues, r = this.valueSize, o = 2 * r, n = 3 * r, b = A - a, d = (t - a) / b, g = d * d, h = g * d, l = e * n, f = l - n, I = -2 * h + 3 * g, p = h - g, u = 1 - I, B = p - g + d;
1044
1044
  for (let C = 0; C !== r; C++) {
1045
- const y = s[f + C + r], x = s[f + C + o] * l, w = s[b + C + r], m = s[b + C] * l;
1045
+ const y = s[f + C + r], x = s[f + C + o] * b, w = s[l + C + r], m = s[l + C] * b;
1046
1046
  i[C] = u * y + B * x + I * w + p * m;
1047
1047
  }
1048
1048
  return i;
@@ -1154,7 +1154,7 @@ class Si {
1154
1154
  const A = t.clone(), i = (s, r) => {
1155
1155
  const o = this.associations.get(s);
1156
1156
  o != null && this.associations.set(r, o);
1157
- for (const [n, l] of s.children.entries()) i(l, r.children[n]);
1157
+ for (const [n, b] of s.children.entries()) i(b, r.children[n]);
1158
1158
  };
1159
1159
  return i(t, A), A.name += "_instance_" + e.uses[a]++, A;
1160
1160
  }
@@ -1268,25 +1268,25 @@ class Si {
1268
1268
  const a = this, t = this.json, A = this.json.accessors[e];
1269
1269
  if (A.bufferView === void 0 && A.sparse === void 0) {
1270
1270
  const s = na[A.type], r = ke[A.componentType], o = A.normalized === !0, n = new r(A.count * s);
1271
- return Promise.resolve(new be(n, s, o));
1271
+ return Promise.resolve(new le(n, s, o));
1272
1272
  }
1273
1273
  const i = [];
1274
1274
  return A.bufferView !== void 0 ? i.push(this.getDependency("bufferView", A.bufferView)) : i.push(null), A.sparse !== void 0 && (i.push(this.getDependency("bufferView", A.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", A.sparse.values.bufferView))), Promise.all(i).then(function(s) {
1275
- const r = s[0], o = na[A.type], n = ke[A.componentType], l = n.BYTES_PER_ELEMENT, d = l * o, g = A.byteOffset || 0, h = A.bufferView !== void 0 ? t.bufferViews[A.bufferView].byteStride : void 0, b = A.normalized === !0;
1275
+ const r = s[0], o = na[A.type], n = ke[A.componentType], b = n.BYTES_PER_ELEMENT, d = b * o, g = A.byteOffset || 0, h = A.bufferView !== void 0 ? t.bufferViews[A.bufferView].byteStride : void 0, l = A.normalized === !0;
1276
1276
  let f, I;
1277
1277
  if (h && h !== d) {
1278
1278
  const p = Math.floor(g / h), u = "InterleavedBuffer:" + A.bufferView + ":" + A.componentType + ":" + p + ":" + A.count;
1279
1279
  let B = a.cache.get(u);
1280
- B || (f = new n(r, p * h, A.count * h / l), B = new oA(f, h / l), a.cache.add(u, B)), I = new cA(B, o, g % h / l, b);
1281
- } else f = r === null ? new n(A.count * o) : new n(r, g, A.count * o), I = new be(f, o, b);
1280
+ B || (f = new n(r, p * h, A.count * h / b), B = new oA(f, h / b), a.cache.add(u, B)), I = new cA(B, o, g % h / b, l);
1281
+ } else f = r === null ? new n(A.count * o) : new n(r, g, A.count * o), I = new le(f, o, l);
1282
1282
  if (A.sparse !== void 0) {
1283
1283
  const p = na.SCALAR, u = ke[A.sparse.indices.componentType], B = A.sparse.indices.byteOffset || 0, C = A.sparse.values.byteOffset || 0, y = new u(s[1], B, A.sparse.count * p), x = new n(s[2], C, A.sparse.count * o);
1284
- r !== null && (I = new be(I.array.slice(), I.itemSize, I.normalized)), I.normalized = !1;
1284
+ r !== null && (I = new le(I.array.slice(), I.itemSize, I.normalized)), I.normalized = !1;
1285
1285
  for (let w = 0, m = y.length; w < m; w++) {
1286
1286
  const Q = y[w];
1287
1287
  if (I.setX(Q, x[w * o]), o >= 2 && I.setY(Q, x[w * o + 1]), o >= 3 && I.setZ(Q, x[w * o + 2]), o >= 4 && I.setW(Q, x[w * o + 3]), o >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
1288
1288
  }
1289
- I.normalized = b;
1289
+ I.normalized = l;
1290
1290
  }
1291
1291
  return I;
1292
1292
  });
@@ -1303,10 +1303,10 @@ class Si {
1303
1303
  loadTextureImage(e, a, t) {
1304
1304
  const A = this, i = this.json, s = i.textures[e], r = i.images[a], o = (r.uri || r.bufferView) + ":" + s.sampler;
1305
1305
  if (this.textureCache[o]) return this.textureCache[o];
1306
- const n = this.loadImageSource(a, t).then(function(l) {
1307
- l.flipY = !1, l.name = s.name || r.name || "", l.name === "" && typeof r.uri == "string" && r.uri.startsWith("data:image/") === !1 && (l.name = r.uri);
1306
+ const n = this.loadImageSource(a, t).then(function(b) {
1307
+ b.flipY = !1, b.name = s.name || r.name || "", b.name === "" && typeof r.uri == "string" && r.uri.startsWith("data:image/") === !1 && (b.name = r.uri);
1308
1308
  const d = (i.samplers || {})[s.sampler] || {};
1309
- return l.magFilter = $a[d.magFilter] || Ce, l.minFilter = $a[d.minFilter] || $e, l.wrapS = et[d.wrapS] || xa, l.wrapT = et[d.wrapT] || xa, l.generateMipmaps = !l.isCompressedTexture && l.minFilter !== R && l.minFilter !== Ce, A.associations.set(l, { textures: e }), l;
1309
+ return b.magFilter = $a[d.magFilter] || Ce, b.minFilter = $a[d.minFilter] || $e, b.wrapS = et[d.wrapS] || xa, b.wrapT = et[d.wrapT] || xa, b.generateMipmaps = !b.isCompressedTexture && b.minFilter !== R && b.minFilter !== Ce, A.associations.set(b, { textures: e }), b;
1310
1310
  }).catch(function() {
1311
1311
  return null;
1312
1312
  });
@@ -1323,13 +1323,13 @@ class Si {
1323
1323
  return o = r.createObjectURL(g), o;
1324
1324
  });
1325
1325
  else if (s.uri === void 0) throw new Error("THREE.GLTFLoader: Image " + e + " is missing URI and bufferView");
1326
- const l = Promise.resolve(o).then(function(d) {
1326
+ const b = Promise.resolve(o).then(function(d) {
1327
1327
  return new Promise(function(g, h) {
1328
- let b = g;
1329
- a.isImageBitmapLoader === !0 && (b = function(f) {
1328
+ let l = g;
1329
+ a.isImageBitmapLoader === !0 && (l = function(f) {
1330
1330
  const I = new Na(f);
1331
1331
  I.needsUpdate = !0, g(I);
1332
- }), a.load(Pe.resolveURL(d, i.path), b, void 0, h);
1332
+ }), a.load(Pe.resolveURL(d, i.path), l, void 0, h);
1333
1333
  });
1334
1334
  }).then(function(d) {
1335
1335
  var g;
@@ -1337,7 +1337,7 @@ class Si {
1337
1337
  }).catch(function(d) {
1338
1338
  throw console.error("THREE.GLTFLoader: Couldn't load texture", o), d;
1339
1339
  });
1340
- return this.sourceCache[e] = l, l;
1340
+ return this.sourceCache[e] = b, b;
1341
1341
  }
1342
1342
  assignTexture(e, a, t, A) {
1343
1343
  const i = this;
@@ -1382,37 +1382,37 @@ class Si {
1382
1382
  let s;
1383
1383
  const r = {}, o = [];
1384
1384
  if ((i.extensions || {})[j.KHR_MATERIALS_UNLIT]) {
1385
- const l = A[j.KHR_MATERIALS_UNLIT];
1386
- s = l.getMaterialType(), o.push(l.extendParams(r, i, a));
1385
+ const b = A[j.KHR_MATERIALS_UNLIT];
1386
+ s = b.getMaterialType(), o.push(b.extendParams(r, i, a));
1387
1387
  } else {
1388
- const l = i.pbrMetallicRoughness || {};
1389
- if (r.color = new he(1, 1, 1), r.opacity = 1, Array.isArray(l.baseColorFactor)) {
1390
- const d = l.baseColorFactor;
1388
+ const b = i.pbrMetallicRoughness || {};
1389
+ if (r.color = new he(1, 1, 1), r.opacity = 1, Array.isArray(b.baseColorFactor)) {
1390
+ const d = b.baseColorFactor;
1391
1391
  r.color.setRGB(d[0], d[1], d[2], K), r.opacity = d[3];
1392
1392
  }
1393
- l.baseColorTexture !== void 0 && o.push(a.assignTexture(r, "map", l.baseColorTexture, re)), r.metalness = l.metallicFactor !== void 0 ? l.metallicFactor : 1, r.roughness = l.roughnessFactor !== void 0 ? l.roughnessFactor : 1, l.metallicRoughnessTexture !== void 0 && (o.push(a.assignTexture(r, "metalnessMap", l.metallicRoughnessTexture)), o.push(a.assignTexture(r, "roughnessMap", l.metallicRoughnessTexture))), s = this._invokeOne(function(d) {
1393
+ b.baseColorTexture !== void 0 && o.push(a.assignTexture(r, "map", b.baseColorTexture, re)), r.metalness = b.metallicFactor !== void 0 ? b.metallicFactor : 1, r.roughness = b.roughnessFactor !== void 0 ? b.roughnessFactor : 1, b.metallicRoughnessTexture !== void 0 && (o.push(a.assignTexture(r, "metalnessMap", b.metallicRoughnessTexture)), o.push(a.assignTexture(r, "roughnessMap", b.metallicRoughnessTexture))), s = this._invokeOne(function(d) {
1394
1394
  return d.getMaterialType && d.getMaterialType(e);
1395
1395
  }), o.push(Promise.all(this._invokeAll(function(d) {
1396
1396
  return d.extendMaterialParams && d.extendMaterialParams(e, r);
1397
1397
  })));
1398
1398
  }
1399
- i.doubleSided === !0 && (r.side = lA);
1399
+ i.doubleSided === !0 && (r.side = bA);
1400
1400
  const n = i.alphaMode || xi;
1401
1401
  if (n === Di ? (r.transparent = !0, r.depthWrite = !1) : (r.transparent = !1, n === ki && (r.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && s !== Le && (o.push(a.assignTexture(r, "normalMap", i.normalTexture)), r.normalScale = new Bt(1, 1), i.normalTexture.scale !== void 0)) {
1402
- const l = i.normalTexture.scale;
1403
- r.normalScale.set(l, l);
1402
+ const b = i.normalTexture.scale;
1403
+ r.normalScale.set(b, b);
1404
1404
  }
1405
1405
  if (i.occlusionTexture !== void 0 && s !== Le && (o.push(a.assignTexture(r, "aoMap", i.occlusionTexture)), i.occlusionTexture.strength !== void 0 && (r.aoMapIntensity = i.occlusionTexture.strength)), i.emissiveFactor !== void 0 && s !== Le) {
1406
- const l = i.emissiveFactor;
1407
- r.emissive = new he().setRGB(l[0], l[1], l[2], K);
1406
+ const b = i.emissiveFactor;
1407
+ r.emissive = new he().setRGB(b[0], b[1], b[2], K);
1408
1408
  }
1409
1409
  return i.emissiveTexture !== void 0 && s !== Le && o.push(a.assignTexture(r, "emissiveMap", i.emissiveTexture, re)), Promise.all(o).then(function() {
1410
- const l = new s(r);
1411
- return i.name && (l.name = i.name), se(l, i), a.associations.set(l, { materials: e }), i.extensions && fe(A, l, i), l;
1410
+ const b = new s(r);
1411
+ return i.name && (b.name = i.name), se(b, i), a.associations.set(b, { materials: e }), i.extensions && fe(A, b, i), b;
1412
1412
  });
1413
1413
  }
1414
1414
  createUniqueName(e) {
1415
- const a = bA.sanitizeNodeName(e || "");
1415
+ const a = lA.sanitizeNodeName(e || "");
1416
1416
  return a in this.nodeNamesUsed ? a + "_" + ++this.nodeNamesUsed[a] : (this.nodeNamesUsed[a] = 0, a);
1417
1417
  }
1418
1418
  loadGeometries(e) {
@@ -1424,28 +1424,28 @@ class Si {
1424
1424
  }
1425
1425
  const s = [];
1426
1426
  for (let r = 0, o = e.length; r < o; r++) {
1427
- const n = e[r], l = Mi(n), d = A[l];
1427
+ const n = e[r], b = Mi(n), d = A[b];
1428
1428
  if (d) s.push(d.promise);
1429
1429
  else {
1430
1430
  let g;
1431
- g = n.extensions && n.extensions[j.KHR_DRACO_MESH_COMPRESSION] ? i(n) : at(new ea(), n, a), A[l] = { primitive: n, promise: g }, s.push(g);
1431
+ g = n.extensions && n.extensions[j.KHR_DRACO_MESH_COMPRESSION] ? i(n) : at(new ea(), n, a), A[b] = { primitive: n, promise: g }, s.push(g);
1432
1432
  }
1433
1433
  }
1434
1434
  return Promise.all(s);
1435
1435
  }
1436
1436
  loadMesh(e) {
1437
1437
  const a = this, t = this.json, A = this.extensions, i = t.meshes[e], s = i.primitives, r = [];
1438
- for (let n = 0, l = s.length; n < l; n++) {
1438
+ for (let n = 0, b = s.length; n < b; n++) {
1439
1439
  const d = s[n].material === void 0 ? ((o = this.cache).DefaultMaterial === void 0 && (o.DefaultMaterial = new Ua({ color: 16777215, emissive: 0, metalness: 1, roughness: 1, transparent: !1, depthTest: !0, side: Ze })), o.DefaultMaterial) : this.getDependency("material", s[n].material);
1440
1440
  r.push(d);
1441
1441
  }
1442
1442
  var o;
1443
1443
  return r.push(a.loadGeometries(s)), Promise.all(r).then(function(n) {
1444
- const l = n.slice(0, n.length - 1), d = n[n.length - 1], g = [];
1445
- for (let b = 0, f = d.length; b < f; b++) {
1446
- const I = d[b], p = s[b];
1444
+ const b = n.slice(0, n.length - 1), d = n[n.length - 1], g = [];
1445
+ for (let l = 0, f = d.length; l < f; l++) {
1446
+ const I = d[l], p = s[l];
1447
1447
  let u;
1448
- const B = l[b];
1448
+ const B = b[l];
1449
1449
  if (p.mode === H.TRIANGLES || p.mode === H.TRIANGLE_STRIP || p.mode === H.TRIANGLE_FAN || p.mode === void 0) u = i.isSkinnedMesh === !0 ? new hA(I, B) : new ka(I, B), u.isSkinnedMesh === !0 && u.normalizeSkinWeights(), p.mode === H.TRIANGLE_STRIP ? u.geometry = Za(u.geometry, Ct) : p.mode === H.TRIANGLE_FAN && (u.geometry = Za(u.geometry, ya));
1450
1450
  else if (p.mode === H.LINES) u = new pt(I, B);
1451
1451
  else if (p.mode === H.LINE_STRIP) u = new gA(I, B);
@@ -1456,11 +1456,11 @@ class Si {
1456
1456
  }
1457
1457
  Object.keys(u.geometry.morphAttributes).length > 0 && ji(u, i), u.name = a.createUniqueName(i.name || "mesh_" + e), se(u, i), p.extensions && fe(A, u, p), a.assignFinalMaterial(u), g.push(u);
1458
1458
  }
1459
- for (let b = 0, f = g.length; b < f; b++) a.associations.set(g[b], { meshes: e, primitives: b });
1459
+ for (let l = 0, f = g.length; l < f; l++) a.associations.set(g[l], { meshes: e, primitives: l });
1460
1460
  if (g.length === 1) return i.extensions && fe(A, g[0], i), g[0];
1461
1461
  const h = new Aa();
1462
1462
  i.extensions && fe(A, h, i), a.associations.set(h, { meshes: e });
1463
- for (let b = 0, f = g.length; b < f; b++) h.add(g[b]);
1463
+ for (let l = 0, f = g.length; l < f; l++) h.add(g[l]);
1464
1464
  return h;
1465
1465
  });
1466
1466
  }
@@ -1475,7 +1475,7 @@ class Si {
1475
1475
  for (let A = 0, i = a.joints.length; A < i; A++) t.push(this._loadNodeShallow(a.joints[A]));
1476
1476
  return a.inverseBindMatrices !== void 0 ? t.push(this.getDependency("accessor", a.inverseBindMatrices)) : t.push(null), Promise.all(t).then(function(A) {
1477
1477
  const i = A.pop(), s = A, r = [], o = [];
1478
- for (let n = 0, l = s.length; n < l; n++) {
1478
+ for (let n = 0, b = s.length; n < b; n++) {
1479
1479
  const d = s[n];
1480
1480
  if (d) {
1481
1481
  r.push(d);
@@ -1487,15 +1487,15 @@ class Si {
1487
1487
  });
1488
1488
  }
1489
1489
  loadAnimation(e) {
1490
- const a = this.json, t = this, A = a.animations[e], i = A.name ? A.name : "animation_" + e, s = [], r = [], o = [], n = [], l = [];
1490
+ const a = this.json, t = this, A = a.animations[e], i = A.name ? A.name : "animation_" + e, s = [], r = [], o = [], n = [], b = [];
1491
1491
  for (let d = 0, g = A.channels.length; d < g; d++) {
1492
- const h = A.channels[d], b = A.samplers[h.sampler], f = h.target, I = f.node, p = A.parameters !== void 0 ? A.parameters[b.input] : b.input, u = A.parameters !== void 0 ? A.parameters[b.output] : b.output;
1493
- f.node !== void 0 && (s.push(this.getDependency("node", I)), r.push(this.getDependency("accessor", p)), o.push(this.getDependency("accessor", u)), n.push(b), l.push(f));
1492
+ const h = A.channels[d], l = A.samplers[h.sampler], f = h.target, I = f.node, p = A.parameters !== void 0 ? A.parameters[l.input] : l.input, u = A.parameters !== void 0 ? A.parameters[l.output] : l.output;
1493
+ f.node !== void 0 && (s.push(this.getDependency("node", I)), r.push(this.getDependency("accessor", p)), o.push(this.getDependency("accessor", u)), n.push(l), b.push(f));
1494
1494
  }
1495
- return Promise.all([Promise.all(s), Promise.all(r), Promise.all(o), Promise.all(n), Promise.all(l)]).then(function(d) {
1496
- const g = d[0], h = d[1], b = d[2], f = d[3], I = d[4], p = [];
1495
+ return Promise.all([Promise.all(s), Promise.all(r), Promise.all(o), Promise.all(n), Promise.all(b)]).then(function(d) {
1496
+ const g = d[0], h = d[1], l = d[2], f = d[3], I = d[4], p = [];
1497
1497
  for (let u = 0, B = g.length; u < B; u++) {
1498
- const C = g[u], y = h[u], x = b[u], w = f[u], m = I[u];
1498
+ const C = g[u], y = h[u], x = l[u], w = f[u], m = I[u];
1499
1499
  if (C === void 0) continue;
1500
1500
  C.updateMatrix && C.updateMatrix();
1501
1501
  const Q = t._createAnimationTracks(C, y, x, w, m);
@@ -1518,11 +1518,11 @@ class Si {
1518
1518
  for (let o = 0, n = s.length; o < n; o++) i.push(a.getDependency("node", s[o]));
1519
1519
  const r = t.skin === void 0 ? Promise.resolve(null) : a.getDependency("skin", t.skin);
1520
1520
  return Promise.all([A, Promise.all(i), r]).then(function(o) {
1521
- const n = o[0], l = o[1], d = o[2];
1521
+ const n = o[0], b = o[1], d = o[2];
1522
1522
  d !== null && n.traverse(function(g) {
1523
1523
  g.isSkinnedMesh && g.bind(d, Ri);
1524
1524
  });
1525
- for (let g = 0, h = l.length; g < h; g++) n.add(l[g]);
1525
+ for (let g = 0, h = b.length; g < h; g++) n.add(b[g]);
1526
1526
  return n;
1527
1527
  });
1528
1528
  }
@@ -1539,13 +1539,13 @@ class Si {
1539
1539
  }).forEach(function(n) {
1540
1540
  r.push(n);
1541
1541
  }), this.nodeCache[e] = Promise.all(r).then(function(n) {
1542
- let l;
1543
- if (l = i.isBone === !0 ? new mA() : n.length > 1 ? new Aa() : n.length === 1 ? n[0] : new Et(), l !== n[0]) for (let d = 0, g = n.length; d < g; d++) l.add(n[d]);
1544
- if (i.name && (l.userData.name = i.name, l.name = s), se(l, i), i.extensions && fe(t, l, i), i.matrix !== void 0) {
1542
+ let b;
1543
+ if (b = i.isBone === !0 ? new mA() : n.length > 1 ? new Aa() : n.length === 1 ? n[0] : new Et(), b !== n[0]) for (let d = 0, g = n.length; d < g; d++) b.add(n[d]);
1544
+ if (i.name && (b.userData.name = i.name, b.name = s), se(b, i), i.extensions && fe(t, b, i), i.matrix !== void 0) {
1545
1545
  const d = new je();
1546
- d.fromArray(i.matrix), l.applyMatrix4(d);
1547
- } else i.translation !== void 0 && l.position.fromArray(i.translation), i.rotation !== void 0 && l.quaternion.fromArray(i.rotation), i.scale !== void 0 && l.scale.fromArray(i.scale);
1548
- return A.associations.has(l) || A.associations.set(l, {}), A.associations.get(l).nodes = e, l;
1546
+ d.fromArray(i.matrix), b.applyMatrix4(d);
1547
+ } else i.translation !== void 0 && b.position.fromArray(i.translation), i.rotation !== void 0 && b.quaternion.fromArray(i.rotation), i.scale !== void 0 && b.scale.fromArray(i.scale);
1548
+ return A.associations.has(b) || A.associations.set(b, {}), A.associations.get(b).nodes = e, b;
1549
1549
  }), this.nodeCache[e];
1550
1550
  }
1551
1551
  loadScene(e) {
@@ -1554,14 +1554,14 @@ class Si {
1554
1554
  const s = t.nodes || [], r = [];
1555
1555
  for (let o = 0, n = s.length; o < n; o++) r.push(A.getDependency("node", s[o]));
1556
1556
  return Promise.all(r).then(function(o) {
1557
- for (let n = 0, l = o.length; n < l; n++) i.add(o[n]);
1557
+ for (let n = 0, b = o.length; n < b; n++) i.add(o[n]);
1558
1558
  return A.associations = ((n) => {
1559
- const l = /* @__PURE__ */ new Map();
1560
- for (const [d, g] of A.associations) (d instanceof ta || d instanceof Na) && l.set(d, g);
1559
+ const b = /* @__PURE__ */ new Map();
1560
+ for (const [d, g] of A.associations) (d instanceof ta || d instanceof Na) && b.set(d, g);
1561
1561
  return n.traverse((d) => {
1562
1562
  const g = A.associations.get(d);
1563
- g != null && l.set(d, g);
1564
- }), l;
1563
+ g != null && b.set(d, g);
1564
+ }), b;
1565
1565
  })(i), i;
1566
1566
  });
1567
1567
  }
@@ -1584,10 +1584,10 @@ class Si {
1584
1584
  default:
1585
1585
  t.itemSize === 1 ? n = _a : n = Pa;
1586
1586
  }
1587
- const l = A.interpolation !== void 0 ? wi[A.interpolation] : yt, d = this._getArrayFromAccessor(t);
1587
+ const b = A.interpolation !== void 0 ? wi[A.interpolation] : yt, d = this._getArrayFromAccessor(t);
1588
1588
  for (let g = 0, h = o.length; g < h; g++) {
1589
- const b = new n(o[g] + "." + oe[i.path], a.array, d, l);
1590
- A.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(b), s.push(b);
1589
+ const l = new n(o[g] + "." + oe[i.path], a.array, d, b);
1590
+ A.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(l), s.push(l);
1591
1591
  }
1592
1592
  return s;
1593
1593
  }
@@ -1624,64 +1624,64 @@ function at(c, e, a) {
1624
1624
  A.push(s);
1625
1625
  }
1626
1626
  return Da.workingColorSpace !== K && "COLOR_0" in t && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${Da.workingColorSpace}" not supported.`), se(c, e), function(s, r, o) {
1627
- const n = r.attributes, l = new va();
1627
+ const n = r.attributes, b = new va();
1628
1628
  if (n.POSITION === void 0) return;
1629
1629
  {
1630
- const h = o.json.accessors[n.POSITION], b = h.min, f = h.max;
1631
- if (b === void 0 || f === void 0) return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1632
- if (l.set(new M(b[0], b[1], b[2]), new M(f[0], f[1], f[2])), h.normalized) {
1630
+ const h = o.json.accessors[n.POSITION], l = h.min, f = h.max;
1631
+ if (l === void 0 || f === void 0) return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1632
+ if (b.set(new M(l[0], l[1], l[2]), new M(f[0], f[1], f[2])), h.normalized) {
1633
1633
  const I = Ma(ke[h.componentType]);
1634
- l.min.multiplyScalar(I), l.max.multiplyScalar(I);
1634
+ b.min.multiplyScalar(I), b.max.multiplyScalar(I);
1635
1635
  }
1636
1636
  }
1637
1637
  const d = r.targets;
1638
1638
  if (d !== void 0) {
1639
- const h = new M(), b = new M();
1639
+ const h = new M(), l = new M();
1640
1640
  for (let f = 0, I = d.length; f < I; f++) {
1641
1641
  const p = d[f];
1642
1642
  if (p.POSITION !== void 0) {
1643
1643
  const u = o.json.accessors[p.POSITION], B = u.min, C = u.max;
1644
1644
  if (B !== void 0 && C !== void 0) {
1645
- if (b.setX(Math.max(Math.abs(B[0]), Math.abs(C[0]))), b.setY(Math.max(Math.abs(B[1]), Math.abs(C[1]))), b.setZ(Math.max(Math.abs(B[2]), Math.abs(C[2]))), u.normalized) {
1645
+ if (l.setX(Math.max(Math.abs(B[0]), Math.abs(C[0]))), l.setY(Math.max(Math.abs(B[1]), Math.abs(C[1]))), l.setZ(Math.max(Math.abs(B[2]), Math.abs(C[2]))), u.normalized) {
1646
1646
  const y = Ma(ke[u.componentType]);
1647
- b.multiplyScalar(y);
1647
+ l.multiplyScalar(y);
1648
1648
  }
1649
- h.max(b);
1649
+ h.max(l);
1650
1650
  } else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1651
1651
  }
1652
1652
  }
1653
- l.expandByVector(h);
1653
+ b.expandByVector(h);
1654
1654
  }
1655
- s.boundingBox = l;
1655
+ s.boundingBox = b;
1656
1656
  const g = new DA();
1657
- l.getCenter(g.center), g.radius = l.min.distanceTo(l.max) / 2, s.boundingSphere = g;
1657
+ b.getCenter(g.center), g.radius = b.min.distanceTo(b.max) / 2, s.boundingSphere = g;
1658
1658
  }(c, e, a), Promise.all(A).then(function() {
1659
1659
  return e.targets !== void 0 ? function(s, r, o) {
1660
- let n = !1, l = !1, d = !1;
1660
+ let n = !1, b = !1, d = !1;
1661
1661
  for (let f = 0, I = r.length; f < I; f++) {
1662
1662
  const p = r[f];
1663
- if (p.POSITION !== void 0 && (n = !0), p.NORMAL !== void 0 && (l = !0), p.COLOR_0 !== void 0 && (d = !0), n && l && d) break;
1663
+ if (p.POSITION !== void 0 && (n = !0), p.NORMAL !== void 0 && (b = !0), p.COLOR_0 !== void 0 && (d = !0), n && b && d) break;
1664
1664
  }
1665
- if (!n && !l && !d) return Promise.resolve(s);
1666
- const g = [], h = [], b = [];
1665
+ if (!n && !b && !d) return Promise.resolve(s);
1666
+ const g = [], h = [], l = [];
1667
1667
  for (let f = 0, I = r.length; f < I; f++) {
1668
1668
  const p = r[f];
1669
1669
  if (n) {
1670
1670
  const u = p.POSITION !== void 0 ? o.getDependency("accessor", p.POSITION) : s.attributes.position;
1671
1671
  g.push(u);
1672
1672
  }
1673
- if (l) {
1673
+ if (b) {
1674
1674
  const u = p.NORMAL !== void 0 ? o.getDependency("accessor", p.NORMAL) : s.attributes.normal;
1675
1675
  h.push(u);
1676
1676
  }
1677
1677
  if (d) {
1678
1678
  const u = p.COLOR_0 !== void 0 ? o.getDependency("accessor", p.COLOR_0) : s.attributes.color;
1679
- b.push(u);
1679
+ l.push(u);
1680
1680
  }
1681
1681
  }
1682
- return Promise.all([Promise.all(g), Promise.all(h), Promise.all(b)]).then(function(f) {
1682
+ return Promise.all([Promise.all(g), Promise.all(h), Promise.all(l)]).then(function(f) {
1683
1683
  const I = f[0], p = f[1], u = f[2];
1684
- return n && (s.morphAttributes.position = I), l && (s.morphAttributes.normal = p), d && (s.morphAttributes.color = u), s.morphTargetsRelative = !0, s;
1684
+ return n && (s.morphAttributes.position = I), b && (s.morphAttributes.normal = p), d && (s.morphAttributes.color = u), s.morphTargetsRelative = !0, s;
1685
1685
  });
1686
1686
  }(c, e.targets, a) : c;
1687
1687
  });
@@ -1723,8 +1723,8 @@ class vt extends Fa {
1723
1723
  if (e.byteLength === 0) throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.");
1724
1724
  }
1725
1725
  let A;
1726
- const i = this.workerNextTaskID++, s = e.byteLength, r = this._getWorker(i, s).then((o) => (A = o, new Promise((n, l) => {
1727
- A._callbacks[i] = { resolve: n, reject: l }, A.postMessage({ type: "decode", id: i, taskConfig: a, buffer: e }, [e]);
1726
+ const i = this.workerNextTaskID++, s = e.byteLength, r = this._getWorker(i, s).then((o) => (A = o, new Promise((n, b) => {
1727
+ A._callbacks[i] = { resolve: n, reject: b }, A.postMessage({ type: "decode", id: i, taskConfig: a, buffer: e }, [e]);
1728
1728
  }))).then((o) => this._createGeometry(o.geometry));
1729
1729
  return r.catch(() => !0).then(() => {
1730
1730
  A && i && this._releaseTask(A, i);
@@ -1732,9 +1732,9 @@ class vt extends Fa {
1732
1732
  }
1733
1733
  _createGeometry(e) {
1734
1734
  const a = new ea();
1735
- e.index && a.setIndex(new be(e.index.array, 1));
1735
+ e.index && a.setIndex(new le(e.index.array, 1));
1736
1736
  for (let t = 0; t < e.attributes.length; t++) {
1737
- const A = e.attributes[t], i = A.name, s = A.array, r = A.itemSize, o = new be(s, r);
1737
+ const A = e.attributes[t], i = A.name, s = A.array, r = A.itemSize, o = new le(s, r);
1738
1738
  i === "color" && (this._assignVertexColorSpace(o, A.vertexColorSpace), o.normalized = !(s instanceof Float32Array)), a.setAttribute(i, o);
1739
1739
  }
1740
1740
  return a;
@@ -1802,7 +1802,7 @@ class vt extends Fa {
1802
1802
  function vi() {
1803
1803
  let c, e;
1804
1804
  function a(t, A, i, s, r, o) {
1805
- const n = o.num_components(), l = i.num_points() * n, d = l * r.BYTES_PER_ELEMENT, g = function(f, I) {
1805
+ const n = o.num_components(), b = i.num_points() * n, d = b * r.BYTES_PER_ELEMENT, g = function(f, I) {
1806
1806
  switch (I) {
1807
1807
  case Float32Array:
1808
1808
  return f.DT_FLOAT32;
@@ -1821,8 +1821,8 @@ function vi() {
1821
1821
  }
1822
1822
  }(t, r), h = t._malloc(d);
1823
1823
  A.GetAttributeDataArrayForAllPoints(i, o, g, d, h);
1824
- const b = new r(t.HEAPF32.buffer, h, l).slice();
1825
- return t._free(h), { name: s, array: b, itemSize: n };
1824
+ const l = new r(t.HEAPF32.buffer, h, b).slice();
1825
+ return t._free(h), { name: s, array: l, itemSize: n };
1826
1826
  }
1827
1827
  onmessage = function(t) {
1828
1828
  const A = t.data;
@@ -1839,14 +1839,14 @@ function vi() {
1839
1839
  e.then((r) => {
1840
1840
  const o = r.draco, n = new o.Decoder();
1841
1841
  try {
1842
- const l = function(g, h, b, f) {
1842
+ const b = function(g, h, l, f) {
1843
1843
  const I = f.attributeIDs, p = f.attributeTypes;
1844
1844
  let u, B;
1845
- const C = h.GetEncodedGeometryType(b);
1846
- if (C === g.TRIANGULAR_MESH) u = new g.Mesh(), B = h.DecodeArrayToMesh(b, b.byteLength, u);
1845
+ const C = h.GetEncodedGeometryType(l);
1846
+ if (C === g.TRIANGULAR_MESH) u = new g.Mesh(), B = h.DecodeArrayToMesh(l, l.byteLength, u);
1847
1847
  else {
1848
1848
  if (C !== g.POINT_CLOUD) throw new Error("THREE.DRACOLoader: Unexpected geometry type.");
1849
- u = new g.PointCloud(), B = h.DecodeArrayToPointCloud(b, b.byteLength, u);
1849
+ u = new g.PointCloud(), B = h.DecodeArrayToPointCloud(l, l.byteLength, u);
1850
1850
  }
1851
1851
  if (!B.ok() || u.ptr === 0) throw new Error("THREE.DRACOLoader: Decoding failed: " + B.error_msg());
1852
1852
  const y = { index: null, attributes: [] };
@@ -1867,10 +1867,10 @@ function vi() {
1867
1867
  const _ = new Uint32Array(x.HEAPF32.buffer, F, k).slice();
1868
1868
  return x._free(F), { array: _, itemSize: 1 };
1869
1869
  }(g, h, u)), g.destroy(u), y;
1870
- }(o, n, new Int8Array(i), s), d = l.attributes.map((g) => g.array.buffer);
1871
- l.index && d.push(l.index.array.buffer), self.postMessage({ type: "decode", id: A.id, geometry: l }, d);
1872
- } catch (l) {
1873
- console.error(l), self.postMessage({ type: "error", id: A.id, error: l.message });
1870
+ }(o, n, new Int8Array(i), s), d = b.attributes.map((g) => g.array.buffer);
1871
+ b.index && d.push(b.index.array.buffer), self.postMessage({ type: "decode", id: A.id, geometry: b }, d);
1872
+ } catch (b) {
1873
+ console.error(b), self.postMessage({ type: "error", id: A.id, error: b.message });
1874
1874
  } finally {
1875
1875
  o.destroy(n);
1876
1876
  }
@@ -1965,15 +1965,15 @@ function tt(c) {
1965
1965
  return new TextDecoder().decode(c);
1966
1966
  }
1967
1967
  let da, ie, Ra;
1968
- const la = { env: { emscripten_notify_memory_growth: function(c) {
1968
+ const ba = { env: { emscripten_notify_memory_growth: function(c) {
1969
1969
  Ra = new Uint8Array(ie.exports.memory.buffer);
1970
1970
  } } };
1971
1971
  class Li {
1972
1972
  init() {
1973
- return da || (da = typeof fetch < "u" ? fetch("data:application/wasm;base64," + At).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, la)).then(this._init) : WebAssembly.instantiate(Buffer.from(At, "base64"), la).then(this._init), da);
1973
+ return da || (da = typeof fetch < "u" ? fetch("data:application/wasm;base64," + At).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, ba)).then(this._init) : WebAssembly.instantiate(Buffer.from(At, "base64"), ba).then(this._init), da);
1974
1974
  }
1975
1975
  _init(e) {
1976
- ie = e.instance, la.env.emscripten_notify_memory_growth(0);
1976
+ ie = e.instance, ba.env.emscripten_notify_memory_growth(0);
1977
1977
  }
1978
1978
  decode(e, a = 0) {
1979
1979
  if (!ie) throw new Error("ZSTDDecoder: Await .init() before decoding.");
@@ -1983,7 +1983,7 @@ class Li {
1983
1983
  return ie.exports.free(A), ie.exports.free(i), r;
1984
1984
  }
1985
1985
  }
1986
- const At = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", ba = /* @__PURE__ */ new WeakMap();
1986
+ const At = "AGFzbQEAAAABpQEVYAF/AX9gAn9/AGADf39/AX9gBX9/f39/AX9gAX8AYAJ/fwF/YAR/f39/AX9gA39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAn9/AX5gAn5+AX5gAABgBX9/f39/AGAGf39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38AYAABf2AIf39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YAF/AX4CJwEDZW52H2Vtc2NyaXB0ZW5fbm90aWZ5X21lbW9yeV9ncm93dGgABANpaAEFAAAFAgEFCwACAQABAgIFBQcAAwABDgsBAQcAEhMHAAUBDAQEAAANBwQCAgYCBAgDAwMDBgEACQkHBgICAAYGAgQUBwYGAwIGAAMCAQgBBwUGCgoEEQAEBAEIAwgDBQgDEA8IAAcABAUBcAECAgUEAQCAAgYJAX8BQaCgwAILB2AHBm1lbW9yeQIABm1hbGxvYwAoBGZyZWUAJgxaU1REX2lzRXJyb3IAaBlaU1REX2ZpbmREZWNvbXByZXNzZWRTaXplAFQPWlNURF9kZWNvbXByZXNzAEoGX3N0YXJ0ACQJBwEAQQELASQKussBaA8AIAAgACgCBCABajYCBAsZACAAKAIAIAAoAgRBH3F0QQAgAWtBH3F2CwgAIABBiH9LC34BBH9BAyEBIAAoAgQiA0EgTQRAIAAoAggiASAAKAIQTwRAIAAQDQ8LIAAoAgwiAiABRgRAQQFBAiADQSBJGw8LIAAgASABIAJrIANBA3YiBCABIARrIAJJIgEbIgJrIgQ2AgggACADIAJBA3RrNgIEIAAgBCgAADYCAAsgAQsUAQF/IAAgARACIQIgACABEAEgAgv3AQECfyACRQRAIABCADcCACAAQQA2AhAgAEIANwIIQbh/DwsgACABNgIMIAAgAUEEajYCECACQQRPBEAgACABIAJqIgFBfGoiAzYCCCAAIAMoAAA2AgAgAUF/ai0AACIBBEAgAEEIIAEQFGs2AgQgAg8LIABBADYCBEF/DwsgACABNgIIIAAgAS0AACIDNgIAIAJBfmoiBEEBTQRAIARBAWtFBEAgACABLQACQRB0IANyIgM2AgALIAAgAS0AAUEIdCADajYCAAsgASACakF/ai0AACIBRQRAIABBADYCBEFsDwsgAEEoIAEQFCACQQN0ams2AgQgAgsWACAAIAEpAAA3AAAgACABKQAINwAICy8BAX8gAUECdEGgHWooAgAgACgCAEEgIAEgACgCBGprQR9xdnEhAiAAIAEQASACCyEAIAFCz9bTvtLHq9lCfiAAfEIfiUKHla+vmLbem55/fgsdAQF/IAAoAgggACgCDEYEfyAAKAIEQSBGBUEACwuCBAEDfyACQYDAAE8EQCAAIAEgAhBnIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAkEBSARAIAAhAgwBCyAAQQNxRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADTw0BIAJBA3ENAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAsMACAAIAEpAAA3AAALQQECfyAAKAIIIgEgACgCEEkEQEEDDwsgACAAKAIEIgJBB3E2AgQgACABIAJBA3ZrIgE2AgggACABKAAANgIAQQALDAAgACABKAIANgAAC/cCAQJ/AkAgACABRg0AAkAgASACaiAASwRAIAAgAmoiBCABSw0BCyAAIAEgAhALDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkF/aiECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", la = /* @__PURE__ */ new WeakMap();
1987
1987
  let ha, ga = 0;
1988
1988
  class P extends Fa {
1989
1989
  constructor(e) {
@@ -2012,8 +2012,8 @@ class P extends Fa {
2012
2012
  const r = P.BasisWorker.toString(), o = ["/* constants */", "let _EngineFormat = " + JSON.stringify(P.EngineFormat), "let _EngineType = " + JSON.stringify(P.EngineType), "let _TranscoderFormat = " + JSON.stringify(P.TranscoderFormat), "let _BasisFormat = " + JSON.stringify(P.BasisFormat), "/* basis_transcoder.js */", i, "/* worker */", r.substring(r.indexOf("{") + 1, r.lastIndexOf("}"))].join(`
2013
2013
  `);
2014
2014
  this.workerSourceURL = URL.createObjectURL(new Blob([o])), this.transcoderBinary = s, this.workerPool.setWorkerCreator(() => {
2015
- const n = new Worker(this.workerSourceURL), l = this.transcoderBinary.slice(0);
2016
- return n.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: l }, [l]), n;
2015
+ const n = new Worker(this.workerSourceURL), b = this.transcoderBinary.slice(0);
2016
+ return n.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: b }, [b]), n;
2017
2017
  });
2018
2018
  }), ga > 0 && console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."), ga++;
2019
2019
  }
@@ -2028,12 +2028,12 @@ class P extends Fa {
2028
2028
  }
2029
2029
  parse(e, a, t) {
2030
2030
  if (this.workerConfig === null) throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2031
- if (ba.has(e))
2032
- return ba.get(e).promise.then(a).catch(t);
2031
+ if (la.has(e))
2032
+ return la.get(e).promise.then(a).catch(t);
2033
2033
  this._createTexture(e).then((A) => a ? a(A) : null).catch(t);
2034
2034
  }
2035
2035
  _createTextureFrom(e, a) {
2036
- const { type: t, error: A, data: { faces: i, width: s, height: r, format: o, type: n, dfdFlags: l } } = e;
2036
+ const { type: t, error: A, data: { faces: i, width: s, height: r, format: o, type: n, dfdFlags: b } } = e;
2037
2037
  if (t === "error") return Promise.reject(A);
2038
2038
  let d;
2039
2039
  if (a.faceCount === 6) d = new MA(i, o, n);
@@ -2041,19 +2041,19 @@ class P extends Fa {
2041
2041
  const g = i[0].mipmaps;
2042
2042
  d = a.layerCount > 1 ? new RA(g, s, r, a.layerCount, o, n) : new qa(g, s, r, o, n);
2043
2043
  }
2044
- return d.minFilter = i[0].mipmaps.length === 1 ? Ce : $e, d.magFilter = Ce, d.generateMipmaps = !1, d.needsUpdate = !0, d.colorSpace = it(a), d.premultiplyAlpha = !!(1 & l), d;
2044
+ return d.minFilter = i[0].mipmaps.length === 1 ? Ce : $e, d.magFilter = Ce, d.generateMipmaps = !1, d.needsUpdate = !0, d.colorSpace = it(a), d.premultiplyAlpha = !!(1 & b), d;
2045
2045
  }
2046
2046
  async _createTexture(e, a = {}) {
2047
2047
  const t = function(r) {
2048
2048
  const o = new Uint8Array(r.buffer, r.byteOffset, U.length);
2049
2049
  if (o[0] !== U[0] || o[1] !== U[1] || o[2] !== U[2] || o[3] !== U[3] || o[4] !== U[4] || o[5] !== U[5] || o[6] !== U[6] || o[7] !== U[7] || o[8] !== U[8] || o[9] !== U[9] || o[10] !== U[10] || o[11] !== U[11]) throw new Error("Missing KTX 2.0 identifier.");
2050
- const n = new Ti(), l = 17 * Uint32Array.BYTES_PER_ELEMENT, d = new Fe(r, U.length, l, !0);
2050
+ const n = new Ti(), b = 17 * Uint32Array.BYTES_PER_ELEMENT, d = new Fe(r, U.length, b, !0);
2051
2051
  n.vkFormat = d._nextUint32(), n.typeSize = d._nextUint32(), n.pixelWidth = d._nextUint32(), n.pixelHeight = d._nextUint32(), n.pixelDepth = d._nextUint32(), n.layerCount = d._nextUint32(), n.faceCount = d._nextUint32();
2052
2052
  const g = d._nextUint32();
2053
2053
  n.supercompressionScheme = d._nextUint32();
2054
- const h = d._nextUint32(), b = d._nextUint32(), f = d._nextUint32(), I = d._nextUint32(), p = d._nextUint64(), u = d._nextUint64(), B = new Fe(r, U.length + l, 3 * g * 8, !0);
2054
+ const h = d._nextUint32(), l = d._nextUint32(), f = d._nextUint32(), I = d._nextUint32(), p = d._nextUint64(), u = d._nextUint64(), B = new Fe(r, U.length + b, 3 * g * 8, !0);
2055
2055
  for (let S = 0; S < g; S++) n.levels.push({ levelData: new Uint8Array(r.buffer, r.byteOffset + B._nextUint64(), B._nextUint64()), uncompressedByteLength: B._nextUint64() });
2056
- const C = new Fe(r, h, b, !0), y = { vendorId: C._skip(4)._nextUint16(), descriptorType: C._nextUint16(), versionNumber: C._nextUint16(), descriptorBlockSize: C._nextUint16(), colorModel: C._nextUint8(), colorPrimaries: C._nextUint8(), transferFunction: C._nextUint8(), flags: C._nextUint8(), texelBlockDimension: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], bytesPlane: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], samples: [] }, x = (y.descriptorBlockSize / 4 - 6) / 4;
2056
+ const C = new Fe(r, h, l, !0), y = { vendorId: C._skip(4)._nextUint16(), descriptorType: C._nextUint16(), versionNumber: C._nextUint16(), descriptorBlockSize: C._nextUint16(), colorModel: C._nextUint8(), colorPrimaries: C._nextUint8(), transferFunction: C._nextUint8(), flags: C._nextUint8(), texelBlockDimension: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], bytesPlane: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], samples: [] }, x = (y.descriptorBlockSize / 4 - 6) / 4;
2057
2057
  for (let S = 0; S < x; S++) {
2058
2058
  const L = { bitOffset: C._nextUint16(), bitLength: C._nextUint8(), channelType: C._nextUint8(), samplePosition: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2059
2059
  64 & L.channelType ? (L.sampleLower = C._nextInt32(), L.sampleUpper = C._nextInt32()) : (L.sampleLower = C._nextUint32(), L.sampleUpper = C._nextUint32()), y.samples[S] = L;
@@ -2082,27 +2082,27 @@ class P extends Fa {
2082
2082
  const h = new Li();
2083
2083
  await h.init(), g(h);
2084
2084
  })), n = await ha);
2085
- const l = [];
2085
+ const b = [];
2086
2086
  for (let g = 0; g < r.levels.length; g++) {
2087
- const h = Math.max(1, r.pixelWidth >> g), b = Math.max(1, r.pixelHeight >> g), f = r.pixelDepth ? Math.max(1, r.pixelDepth >> g) : 0, I = r.levels[g];
2087
+ const h = Math.max(1, r.pixelWidth >> g), l = Math.max(1, r.pixelHeight >> g), f = r.pixelDepth ? Math.max(1, r.pixelDepth >> g) : 0, I = r.levels[g];
2088
2088
  let p, u;
2089
2089
  if (r.supercompressionScheme === 0) p = I.levelData;
2090
2090
  else {
2091
2091
  if (r.supercompressionScheme !== 2) throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
2092
2092
  p = n.decode(I.levelData, I.uncompressedByteLength);
2093
2093
  }
2094
- u = ua[o] === v ? new Float32Array(p.buffer, p.byteOffset, p.byteLength / Float32Array.BYTES_PER_ELEMENT) : ua[o] === xe ? new Uint16Array(p.buffer, p.byteOffset, p.byteLength / Uint16Array.BYTES_PER_ELEMENT) : p, l.push({ data: u, width: h, height: b, depth: f });
2094
+ u = ua[o] === v ? new Float32Array(p.buffer, p.byteOffset, p.byteLength / Float32Array.BYTES_PER_ELEMENT) : ua[o] === xe ? new Uint16Array(p.buffer, p.byteOffset, p.byteLength / Uint16Array.BYTES_PER_ELEMENT) : p, b.push({ data: u, width: h, height: l, depth: f });
2095
2095
  }
2096
2096
  let d;
2097
- if (Gi.has(fa[o])) d = r.pixelDepth === 0 ? new Ge(l[0].data, r.pixelWidth, r.pixelHeight) : new _A(l[0].data, r.pixelWidth, r.pixelHeight, r.pixelDepth);
2097
+ if (Gi.has(fa[o])) d = r.pixelDepth === 0 ? new Ge(b[0].data, r.pixelWidth, r.pixelHeight) : new _A(b[0].data, r.pixelWidth, r.pixelHeight, r.pixelDepth);
2098
2098
  else {
2099
2099
  if (r.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
2100
- d = new qa(l, r.pixelWidth, r.pixelHeight), d.minFilter = l.length === 1 ? Ce : $e, d.magFilter = Ce;
2100
+ d = new qa(b, r.pixelWidth, r.pixelHeight), d.minFilter = b.length === 1 ? Ce : $e, d.magFilter = Ce;
2101
2101
  }
2102
- return d.mipmaps = l, d.type = ua[o], d.format = fa[o], d.colorSpace = it(r), d.needsUpdate = !0, Promise.resolve(d);
2102
+ return d.mipmaps = b, d.type = ua[o], d.format = fa[o], d.colorSpace = it(r), d.needsUpdate = !0, Promise.resolve(d);
2103
2103
  }(t);
2104
2104
  const i = a, s = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: e, taskConfig: i }, [e])).then((r) => this._createTextureFrom(r.data, t));
2105
- return ba.set(e, { promise: s }), s;
2105
+ return la.set(e, { promise: s }), s;
2106
2106
  }
2107
2107
  dispose() {
2108
2108
  return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), ga--, this;
@@ -2115,8 +2115,8 @@ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC
2115
2115
  const g = d.data;
2116
2116
  switch (g.type) {
2117
2117
  case "init":
2118
- c = g.config, h = g.transcoderBinary, e = new Promise((b) => {
2119
- a = { wasmBinary: h, onRuntimeInitialized: b }, BASIS(a);
2118
+ c = g.config, h = g.transcoderBinary, e = new Promise((l) => {
2119
+ a = { wasmBinary: h, onRuntimeInitialized: l }, BASIS(a);
2120
2120
  }).then(() => {
2121
2121
  a.initializeBasis(), a.KTX2File === void 0 && console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.");
2122
2122
  });
@@ -2124,7 +2124,7 @@ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC
2124
2124
  case "transcode":
2125
2125
  e.then(() => {
2126
2126
  try {
2127
- const { faces: b, buffers: f, width: I, height: p, hasAlpha: u, format: B, type: C, dfdFlags: y } = function(x) {
2127
+ const { faces: l, buffers: f, width: I, height: p, hasAlpha: u, format: B, type: C, dfdFlags: y } = function(x) {
2128
2128
  const w = new a.KTX2File(new Uint8Array(x));
2129
2129
  function m() {
2130
2130
  w.close(), w.delete();
@@ -2162,16 +2162,16 @@ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC
2162
2162
  if (ve === A.HalfFloatType && (ye = new Uint16Array(ye.buffer, ye.byteOffset, ye.byteLength / Uint16Array.BYTES_PER_ELEMENT)), !Xt) throw m(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
2163
2163
  L.push(ye);
2164
2164
  }
2165
- const O = l(L);
2165
+ const O = b(L);
2166
2166
  me.push({ data: O, width: q, height: V }), Je.push(O.buffer);
2167
2167
  }
2168
2168
  Oe.push({ mipmaps: me, width: k, height: D, format: Se, type: ve });
2169
2169
  }
2170
2170
  return m(), { faces: Oe, buffers: Je, width: k, height: D, hasAlpha: Me, dfdFlags: qe, format: Se, type: ve };
2171
2171
  }(g.buffer);
2172
- self.postMessage({ type: "transcode", id: g.id, data: { faces: b, width: I, height: p, hasAlpha: u, format: B, type: C, dfdFlags: y } }, f);
2173
- } catch (b) {
2174
- console.error(b), self.postMessage({ type: "error", id: g.id, error: b.message });
2172
+ self.postMessage({ type: "transcode", id: g.id, data: { faces: l, width: I, height: p, hasAlpha: u, format: B, type: C, dfdFlags: y } }, f);
2173
+ } catch (l) {
2174
+ console.error(l), self.postMessage({ type: "error", id: g.id, error: l.message });
2175
2175
  }
2176
2176
  });
2177
2177
  }
@@ -2181,16 +2181,16 @@ P.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, P.TranscoderFormat = { ETC
2181
2181
  function n(d) {
2182
2182
  return d <= 2 || !(d & d - 1) && d !== 0;
2183
2183
  }
2184
- function l(d) {
2184
+ function b(d) {
2185
2185
  if (d.length === 1) return d[0];
2186
2186
  let g = 0;
2187
2187
  for (let f = 0; f < d.length; f++)
2188
2188
  g += d[f].byteLength;
2189
2189
  const h = new Uint8Array(g);
2190
- let b = 0;
2190
+ let l = 0;
2191
2191
  for (let f = 0; f < d.length; f++) {
2192
2192
  const I = d[f];
2193
- h.set(I, b), b += I.byteLength;
2193
+ h.set(I, l), l += I.byteLength;
2194
2194
  }
2195
2195
  return h;
2196
2196
  }
@@ -2209,15 +2209,15 @@ async function st(c) {
2209
2209
  }
2210
2210
  if (e === "subtree")
2211
2211
  return async function(t, A) {
2212
- const i = new DataView(t), s = i.getBigUint64(8, !0), r = i.getBigUint64(16, !0), o = 24, n = o + Number(s), l = n + (8 - n % 8) % 8, d = l + Number(r), g = t.slice(o, n), h = new TextDecoder().decode(g).trim(), b = JSON.parse(h);
2213
- if (!b.buffers) throw new Error("subtree has no buffers");
2214
- const f = b.buffers.map(async (p) => {
2212
+ const i = new DataView(t), s = i.getBigUint64(8, !0), r = i.getBigUint64(16, !0), o = 24, n = o + Number(s), b = n + (8 - n % 8) % 8, d = b + Number(r), g = t.slice(o, n), h = new TextDecoder().decode(g).trim(), l = JSON.parse(h);
2213
+ if (!l.buffers) throw new Error("subtree has no buffers");
2214
+ const f = l.buffers.map(async (p) => {
2215
2215
  if (p.uri) {
2216
2216
  const u = new URL(p.uri, A).href, B = await fetch(u);
2217
2217
  if (!B.ok) throw new Error(`Failed to fetch binary file ${u}: ${B.statusText}`);
2218
2218
  return new Uint8Array(await B.arrayBuffer());
2219
2219
  }
2220
- return new Uint8Array(t.slice(l, d));
2220
+ return new Uint8Array(t.slice(b, d));
2221
2221
  }), I = await Promise.all(f);
2222
2222
  return /* @__PURE__ */ function(p, u) {
2223
2223
  function B(m, Q) {
@@ -2252,7 +2252,7 @@ async function st(c) {
2252
2252
  return Q = m.z == null ? Ia(m.x, m.y) : Ca(m.x, m.y, m.z), B(p.childSubtreeAvailability, Q);
2253
2253
  }
2254
2254
  return { isTileAvailable: y, isContentAvailable: x, isChildSubtreeAvailable: w };
2255
- }(b, I);
2255
+ }(l, I);
2256
2256
  }(await a.arrayBuffer(), rt(c));
2257
2257
  throw new Error(`Unsupported file extension: ${e}`);
2258
2258
  }
@@ -2287,23 +2287,23 @@ async function La(c, e) {
2287
2287
  h.uri ? A.push(h.uri) : h.url && A.push(h.url);
2288
2288
  });
2289
2289
  const i = function(h) {
2290
- const b = h.split("?")[0];
2291
- return b.substring(0, b.lastIndexOf("/") + 1);
2290
+ const l = h.split("?")[0];
2291
+ return l.substring(0, l.lastIndexOf("/") + 1);
2292
2292
  }(e);
2293
2293
  let s;
2294
2294
  a && (s = t.replace("{level}", 0).replace("{x}", 0).replace("{y}", 0)), a || (s = t.replace("{level}", 0).replace("{x}", 0).replace("{y}", 0).replace("{z}", 0));
2295
2295
  const r = { level: 0, x: 0, y: 0 }, o = { level: 0, x: 0, y: 0 };
2296
2296
  a || (r.z = 0, o.z = 0), Te.set(s, await st(i + s));
2297
- const n = Te.get(s), l = [];
2297
+ const n = Te.get(s), b = [];
2298
2298
  n.isContentAvailable(o) && A.forEach((h) => {
2299
- let b;
2300
- a && (b = h.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y)), a || (b = h.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y).replace("{z}", r.z)), l.push({ uri: b });
2299
+ let l;
2300
+ a && (l = h.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y)), a || (l = h.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y).replace("{z}", r.z)), b.push({ uri: l });
2301
2301
  });
2302
- const d = { geometricError: c.root.geometricError, boundingVolume: c.root.boundingVolume, refine: c.root.refine, globalAddress: r, localAddress: o, subtree: n, contents: l, getChildren: async () => g(d) };
2302
+ const d = { geometricError: c.root.geometricError, boundingVolume: c.root.boundingVolume, refine: c.root.refine, globalAddress: r, localAddress: o, subtree: n, contents: b, getChildren: async () => g(d) };
2303
2303
  return { root: d };
2304
2304
  async function g(h) {
2305
- const b = [];
2306
- if (h.localAddress.level == c.root.implicitTiling.availableLevels - 1) return b;
2305
+ const l = [];
2306
+ if (h.localAddress.level == c.root.implicitTiling.availableLevels - 1) return l;
2307
2307
  if ((h.localAddress.level + 1) % c.root.implicitTiling.subtreeLevels == 0) {
2308
2308
  const f = ze(h.localAddress), I = ze(h.globalAddress), p = ot(a, c.root.boundingVolume, I);
2309
2309
  for (let u = 0; u < f.length; u++) {
@@ -2317,7 +2317,7 @@ async function La(c, e) {
2317
2317
  a && (k = Q.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y)), a || (k = Q.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y).replace("{z}", C.z)), w.push({ uri: k });
2318
2318
  });
2319
2319
  const m = { geometricError: h.geometricError / 2, boundingVolume: p[u], refine: c.root.refine, globalAddress: C, localAddress: x, subtree: y, contents: w, getChildren: async () => g(m) };
2320
- b.push(m);
2320
+ l.push(m);
2321
2321
  }
2322
2322
  } else {
2323
2323
  const f = ze(h.localAddress), I = ze(h.globalAddress), p = ot(a, c.root.boundingVolume, I);
@@ -2332,10 +2332,10 @@ async function La(c, e) {
2332
2332
  a && (k = Q.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y)), a || (k = Q.replace("{level}", C.level).replace("{x}", C.x).replace("{y}", C.y).replace("{z}", C.z)), y.push({ uri: k });
2333
2333
  }
2334
2334
  const w = { geometricError: h.geometricError / 2, boundingVolume: p[u], refine: c.root.refine, globalAddress: C, localAddress: B, subtree: h.subtree, contents: y, getChildren: async () => g(w) };
2335
- b.push(w);
2335
+ l.push(w);
2336
2336
  }
2337
2337
  }
2338
- return b.length > 0 ? b : void 0;
2338
+ return l.length > 0 ? l : void 0;
2339
2339
  }
2340
2340
  }
2341
2341
  function ze(c) {
@@ -2350,12 +2350,12 @@ function ot(c, e, a) {
2350
2350
  }
2351
2351
  function Ui(c, e, a) {
2352
2352
  if (e.region) return function(t, A, i) {
2353
- const [s, r, o, n, l, d] = A, g = (o - s) / 2 ** i.level, h = (n - r) / 2 ** i.level, b = t ? 0 : (d - l) / 2 ** i.level, f = s + g * i.x, I = r + h * i.y, p = f + g, u = I + h, B = t ? l : l + b * i.z, C = t ? d : B + b;
2353
+ const [s, r, o, n, b, d] = A, g = (o - s) / 2 ** i.level, h = (n - r) / 2 ** i.level, l = t ? 0 : (d - b) / 2 ** i.level, f = s + g * i.x, I = r + h * i.y, p = f + g, u = I + h, B = t ? b : b + l * i.z, C = t ? d : B + l;
2354
2354
  return { region: [f, I, p, u, B, C] };
2355
2355
  }(c, e.region, a);
2356
2356
  if (e.box) return function(t, A, i) {
2357
- const s = A.slice(0, 3), r = [A.slice(3, 6), A.slice(6, 9), A.slice(9, 12)], o = 1 / Math.pow(2, i.level), n = [o, o, t ? 1 : o], l = r.map((h, b) => h.map((f) => f * n[b])), d = [s[0] - r[0][0] - r[1][0] - r[2][0], s[1] - r[0][1] - r[1][1] - r[2][1], s[2] - r[0][2] - r[1][2] - r[2][2]];
2358
- return { box: [d[0] + (2 * i.x + 1) * (l[0][0] + l[1][0] + l[2][0]), d[1] + (2 * i.y + 1) * (l[0][1] + l[1][1] + l[2][1]), t ? s[2] : d[2] + (2 * i.z + 1) * (l[0][2] + l[1][2] + l[2][2])].concat(...l) };
2357
+ const s = A.slice(0, 3), r = [A.slice(3, 6), A.slice(6, 9), A.slice(9, 12)], o = 1 / Math.pow(2, i.level), n = [o, o, t ? 1 : o], b = r.map((h, l) => h.map((f) => f * n[l])), d = [s[0] - r[0][0] - r[1][0] - r[2][0], s[1] - r[0][1] - r[1][1] - r[2][1], s[2] - r[0][2] - r[1][2] - r[2][2]];
2358
+ return { box: [d[0] + (2 * i.x + 1) * (b[0][0] + b[1][0] + b[2][0]), d[1] + (2 * i.y + 1) * (b[0][1] + b[1][1] + b[2][1]), t ? s[2] : d[2] + (2 * i.z + 1) * (b[0][2] + b[1][2] + b[2][2])].concat(...b) };
2359
2359
  }(c, e.box, a);
2360
2360
  throw new Error("Unsupported bounding volume type");
2361
2361
  }
@@ -2363,13 +2363,13 @@ function Ui(c, e, a) {
2363
2363
  var c, e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2364
2364
  if (typeof WebAssembly != "object") return { supported: !1 };
2365
2365
  var a = WebAssembly.instantiate(function(n) {
2366
- for (var l = new Uint8Array(n.length), d = 0; d < n.length; ++d) {
2366
+ for (var b = new Uint8Array(n.length), d = 0; d < n.length; ++d) {
2367
2367
  var g = n.charCodeAt(d);
2368
- l[d] = g > 96 ? g - 97 : g > 64 ? g - 39 : g + 4;
2368
+ b[d] = g > 96 ? g - 97 : g > 64 ? g - 39 : g + 4;
2369
2369
  }
2370
2370
  var h = 0;
2371
- for (d = 0; d < n.length; ++d) l[h++] = l[d] < 60 ? e[l[d]] : 64 * (l[d] - 60) + l[++d];
2372
- return l.buffer.slice(0, h);
2371
+ for (d = 0; d < n.length; ++d) b[h++] = b[d] < 60 ? e[b[d]] : 64 * (b[d] - 60) + b[++d];
2372
+ return b.buffer.slice(0, h);
2373
2373
  }("b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:W;kekr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq:g9sLdbk;3keYu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRb:S:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9UhodndndndndnalTmbaoc;WFbGgecjdaecjd6Ehqcbhkdninakai9pmiaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndndndnaec9WGgsTmbcbhzcehHaPhOawhAxekdnaxTmbcbhAcehHaPhCinaDaAfRbbhXaDcjlfheaChoaxhQinaeaoRbbgLaX9RgXcetaX;acr4786bbaoalfhoaecefheaLhXaQcufgQmbkaraw9Ram6miawcbamzNjjjbgeTmiaCcefhCaeamfhwaAcefgAal6hHaAal9hmbxvkkaraw9Ram6mvawcbamzNjjjb8AceheinawgXamfhwalaegoSmldnaraw9Ram6mbaocefheawcbamzNjjjb8AaXmekkaoal6hHxekindnaxTmbaDazfRbbhXaDcjlfheaOhoaxhQinaeaoRbbgLaX9RgXcetaX;acr4786bbaoalfhoaecefheaLhXaQcufgQmbkkaraA9Ram6mearaAcbamzNjjjbgKamfgw9RcK6mdcbhYaDcjlfhAinaDcjlfaYfh8AcwhCczhLcehQindndnaQce9hmbcuhoa8ARbbmecbhodninaogecsSmeaecefhoaAaefcefRbbTmbkkcucbaecs6EhoxekaQcetc;:FFFeGhocuaQtcu7cFeGhXcbheinaoaXaAaefRbb9nfhoaecefgecz9hmbkkaoaLaoaL6geEhLaQaCaeEhCaQcetgQcw6mbkdndndndnaCcufPdiebkaKaYco4fgeaeRbbcdciaCclSEaYci4coGtV86bbaCcw9hmeawa8A8Pbb83bbawcwfa8Acwf8Pbb83bbawczfhwxdkaKaYco4fgeaeRbbceaYci4coGtV86bbkdncwaC9TgEmbinawcb86bbawcefhwxbkkcuaCtcu7h8Acbh3aAh5ina5heaEhQcbhoinaeRbbgLa8AcFeGgXaLaX6EaoaCtVhoaecefheaQcufgQmbkawao86bba5aEfh5awcefhwa3aEfg3cz6mbkcbheindnaAaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaYczfgYas9pmbaAczfhAaraw9RcL0mekkaYas6meawTmeaOcefhOazcefgzal6hHawhAazalSmixbkkcbhwaHceGTmexikcbhwaHceGmdkaDaPaxcufal2falz:tjjjb8AaxakfhkawmbkcbhoxokcbhoxvkaiTmekcbhoaraw9Ralcaalca0E6mialc8F9nmexdkcbhoaecufca6mdkawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9Rhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBd:S:kjjbk;rse3u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:C:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgoydbhLaocwfydbhKaoclfydbhYcbh8Adndninalc;abfavcsGcitfgoydlhEdndndnaoydbgoaL9hmbaEaYSmekdnaoaY9hmbaEaK9hmba8Acefh8AxekaoaK9hmeaEaL9hmea8Acdfh8Aka8Ac870mdaXcufhvada8AciGcx2goc:y1jjbfydbaCfcdtfydbhEadaocN1jjbfydbaCfcdtfydbhKadaoc:q1jjbfydbaCfcdtfydbhLcbhodnindnalavcsGcdtfydbaE9hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaEaOSgvaYce9iaYaH9oVgoGh3dndndndndncbcsavEaYaoEgvcs9hmbarce9imbaEaEaAaEcefaASgvEgAcefSmecmcsavEhvkasava8Acdtc;WeGV86bbavcs9hmeaEaA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbkaEhAxdkcPhvasa8AcdtcPV86bbaEhAkavTmbavaH9imekalaXcdtfaEBdbaXcefcsGhXkaOa3fhOalc;abfaQcitfgvaKBdlavaEBdbalc;abfaQcefcsGgvcitfgoaEBdlaoaLBdbavcefhoxikavcufhva8Aclfg8Ac;ab9hmbkkdnadceaKaOScetaYaOSEcx2gvc:q1jjbfydbaCfcdtfydbgLTadavcN1jjbfydbaCfcdtfydbg8AceSGadavc:y1jjbfydbaCfcdtfydbgYcdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhKxdkcuhKaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydbaY9hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaLaOSg8Efh3dndnaKcm0mbaKcefhKxekcbcsa8Aa3SgvEhKa3avfh3kdndnaEcm0mbaEcefhExekcbcsaYa3SgvEhEa3avfh3kc9:cua8EEh8FaEaKcltVhocbhvdndndninavcj1jjbfRbbaocFeGSmeavcefgvcz9hmbxdkka5aLaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeao86bbaecefhekdna8EmbaLaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaLhAkdnaKcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmbaYaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaYhAkalaXcdtfaLBdbaXcefcsGhvdndnaKPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfaYBdbavcefcsGhvkalc;abfaQcitfgoaLBdlaoa8ABdbalc;abfaQcefcsGcitfgoa8ABdlaoaYBdbalc;abfaQcdfcsGcitfgoaYBdlaoaLBdbaQcifhoavhXa3hOkascefhsaocsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:C:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:C:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:dvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhralcxfIdbhqdndnakJbbbb9GTmbaxhkxekJbbjZar:l:tgkak:maxJbbbb9GEhkJbbjZax:l:tgxax:marJbbbb9GEhrkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEavNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohmxekcjjjj94hmkdndnakJbbj:;akJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;akJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;klld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicdfciGcdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk:Hvdxue998Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6mearcearce0EhwaohDinaDc:CuBdbaDclfhDawcufgwmbkaeTmiadcl6mdarcearce0EhqarcdthkalhxcbhminaohDaxhwaqhPinaDaDydbgsawydbgzcL4cFeGc:cufcbazEgzasaz9kEBdbawclfhwaDclfhDaPcufgPmbkaxakfhxamcefgmae9hmbkkaeTmdxekaeTmekavcb9hadcl6gqVhHarcearce0Ehkarcdthrceai9Rhmcbhdindndndnavce9hmbaqmdc:CuhwalhDakhPinawaDydbgscL4cFeGc:cufcbasEgsawas9kEhwaDclfhDaPcufgPmbxdkkc:CuhwaHmbaohDalhPakhsinaDaPydbgzcL4cFeGgxc8Aaxc8A9kEc:cufcbazEBdbaPclfhPaDclfhDascufgsmbkkaqmbcbhDakhsinawhPdnavceSmbaoaDfydbhPkdndnalaDfIdbgOcjjj;8iamaPfgPcLt9R::NJbbbZJbbb:;aOJbbbb9GEMgO:lJbbb9p9DTmbaO:Ohzxekcjjjj94hzkabaDfazcFFFrGaPcKtVBdbaDclfhDascufgsmbkkabarfhbalarfhladcefgdae9hmbkkaocjdf8KjjjjbkFkdCui998Jjjjjbc:Gd9Rgv8Kjjjjbavc:4efcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgoadcFFFFi0Ecbyd:K:kjjbHjjjjbbgeBd:4eavceBd:ydaeabaoz:tjjjb8Akavc:OefcwfcbBdbav9cb83i:Oeavc:Oefaeadaiavc:4efz:njjjbcuaicdtgraicFFFFi0Egwcbyd:K:kjjbHjjjjbbhoavc:4efavyd:ydgDcdtfaoBdbavaDcefgqBd:ydaoavyd:Oegkarz:tjjjbhxavc:4efaqcdtfadci9Ugmcbyd:K:kjjbHjjjjbbgoBdbavaDcdfgrBd:ydaocbamzNjjjbhPavc:4efarcdtfawcbyd:K:kjjbHjjjjbbgsBdbavaDcifgqBd:ydaxhoashrinaralIdbalaoydbgwcwawcw6Ecdtfc;ebfIdbMUdbaoclfhoarclfhraicufgimbkavc:4efaqcdtfcuamcdtadcFFFF970Ecbyd:K:kjjbHjjjjbbgqBdbavaDclfBd:yddnadci6mbamceamce0EhiaehoaqhrinarasaoydbcdtfIdbasaoclfydbcdtfIdbMasaocwfydbcdtfIdbMUdbaocxfhoarclfhraicufgimbkkavc;qbfhzavhoavyd:SehHavyd:WehOcbhwcbhrcbhAcehCinaohXcihQaearci2gLcdtfgocwfydbhdaoydbhDabaAcx2fgiclfaoclfydbgKBdbaiaDBdbaicwfadBdbaParfce86bbazadBdwazaKBdlazaDBdbaqarcdtfcbBdbdnawTmbcihQaXhiinazaQcdtfaiydbgoBdbaQaoaD9haoaK9hGaoad9hGfhQaiclfhiawcufgwmbkkaAcefhAaxaDcdtfgoaoydbcufBdbaxaKcdtfgoaoydbcufBdbaxadcdtfgoaoydbcufBdbcbhwinaOaHaeawaLfcdtfydbcdtgifydbcdtfgKhoakaifgDydbgdhidnadTmbdninaoydbarSmeaoclfhoaicufgiTmdxbkkaoadcdtaKfc98fydbBdbaDaDydbcufBdbkawcefgwci9hmbkdndndnaQTmbcuhrJbbbbhYcbhDavyd:SehKavyd:WehLindndnakazaDcdtfydbcdtgofydbgimbaDcefhDxekaDcs0hwasaofgdIdbh8AadalcbaDcefgDawEcdtfIdbalaxaofydbgwcwawcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEaicdthiaLaKaofydbcdtfhoinaqaoydbgwcdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYawaradEhraoclfhoaic98fgimbkkaDaQ9hmbkarcu9hmekaCam9pmeindnaPaCfRbbmbaChrxdkamaCcefgC9hmbxdkkaQczaQcz6EhwazhoaXhzarcu9hmekkavyd:ydhokaocdtavc:4effc98fhrdninaoTmearydbcbyd:G:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:Gdf8Kjjjjbk;UlevucuaicdtgvaicFFFFi0Egocbyd:K:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:K:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:K:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhwdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbawceawce0EhDabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;:kivuo99lu8Jjjjjbcj;Hb9Rgl8Kjjjjbcbhvalc1;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:K:kjjbHjjjjbbgrBd19GalceBd;O9Galcwfcbyd:m:kjjbBdbalcb8Pd:e:kjjb83ibalc;W;Gbfcwfcbyd:y:kjjbBdbalcb8Pd:q:kjjb83i;W9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;W;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;49GhDalIdlhkalId;09GhxalIdbhmalId;W9GhPkdndnadTmbJbbbbJbbjZaPam:tJbbbb:xgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhialaocbyd:K:kjjbHjjjjbbgzBd:m9GdnadTmbabhHinaHaiBdbaHclfhHadaicefgi9hmbkadTmbabhiadhHinalaraiydbgecdtfydbcFrGcx2fgvavydbgvcefBdbazavcdtfaeBdbaiclfhiaHcufgHmbkazhiadhHinalaraiydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaiclfhiaHcufgHmbkabhiadhHinalaraiydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwazavcdtfaeBdbaiclfhiaHcufgHmbkadTmbcbhiinabazydbcdtfaiBdbazclfhzadaicefgi9hmbkkclhidninaic98Smealc1;Gbfaifydbcbyd:G:kjjbH:bjjjbbaic98fhixbkkalcj;Hbf8Kjjjjbk9teiucbcbyd:O:kjjbgeabcifc98GfgbBd:O:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:O:kjjbgeabcrfc94GfgbBd:O:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:O:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:O:kjjbfgdBd:O:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:6ddbcjwk:Cdb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:FFuuFFuuFFuuFFuFFFuFFFuFbc:Cqkzebbbebbbdbbb8WWbb"), {}).then(function(n) {
2374
2374
  (c = n.instance).exports.__wasm_call_ctors(), c.exports.meshopt_encodeVertexVersion(0), c.exports.meshopt_encodeIndexVersion(1);
2375
2375
  });
@@ -2379,25 +2379,25 @@ function Ui(c, e, a) {
2379
2379
  function A(n) {
2380
2380
  return new Uint8Array(n.buffer, n.byteOffset, n.byteLength);
2381
2381
  }
2382
- function i(n, l, d, g, h) {
2383
- var b = c.exports.sbrk, f = b(l), I = b(g * h), p = new Uint8Array(c.exports.memory.buffer);
2382
+ function i(n, b, d, g, h) {
2383
+ var l = c.exports.sbrk, f = l(b), I = l(g * h), p = new Uint8Array(c.exports.memory.buffer);
2384
2384
  p.set(A(d), I);
2385
- var u = n(f, l, I, g, h), B = new Uint8Array(u);
2386
- return B.set(p.subarray(f, f + u)), b(f - b(0)), B;
2385
+ var u = n(f, b, I, g, h), B = new Uint8Array(u);
2386
+ return B.set(p.subarray(f, f + u)), l(f - l(0)), B;
2387
2387
  }
2388
2388
  function s(n) {
2389
- for (var l = 0, d = 0; d < n.length; ++d)
2389
+ for (var b = 0, d = 0; d < n.length; ++d)
2390
2390
  var g = n[d];
2391
- return l;
2391
+ return b;
2392
2392
  }
2393
- function r(n, l) {
2394
- if (t(l == 2 || l == 4), l == 4) return new Uint32Array(n.buffer, n.byteOffset, n.byteLength / 4);
2393
+ function r(n, b) {
2394
+ if (t(b == 2 || b == 4), b == 4) return new Uint32Array(n.buffer, n.byteOffset, n.byteLength / 4);
2395
2395
  var d = new Uint16Array(n.buffer, n.byteOffset, n.byteLength / 2);
2396
2396
  return new Uint32Array(d);
2397
2397
  }
2398
- function o(n, l, d, g, h, b, f) {
2399
- var I = c.exports.sbrk, p = I(d * g), u = I(d * b), B = new Uint8Array(c.exports.memory.buffer);
2400
- B.set(A(l), u), n(p, d, g, h, u, f);
2398
+ function o(n, b, d, g, h, l, f) {
2399
+ var I = c.exports.sbrk, p = I(d * g), u = I(d * l), B = new Uint8Array(c.exports.memory.buffer);
2400
+ B.set(A(b), u), n(p, d, g, h, u, f);
2401
2401
  var C = new Uint8Array(d * g);
2402
2402
  return C.set(B.subarray(p, p + d * g)), I(p - I(0)), C;
2403
2403
  }
@@ -2409,64 +2409,64 @@ var Vt = function() {
2409
2409
  (a = h.instance).exports.__wasm_call_ctors();
2410
2410
  });
2411
2411
  function i(h) {
2412
- for (var b = new Uint8Array(h.length), f = 0; f < h.length; ++f) {
2412
+ for (var l = new Uint8Array(h.length), f = 0; f < h.length; ++f) {
2413
2413
  var I = h.charCodeAt(f);
2414
- b[f] = I > 96 ? I - 97 : I > 64 ? I - 39 : I + 4;
2414
+ l[f] = I > 96 ? I - 97 : I > 64 ? I - 39 : I + 4;
2415
2415
  }
2416
2416
  var p = 0;
2417
- for (f = 0; f < h.length; ++f) b[p++] = b[f] < 60 ? e[b[f]] : 64 * (b[f] - 60) + b[++f];
2418
- return b.buffer.slice(0, p);
2417
+ for (f = 0; f < h.length; ++f) l[p++] = l[f] < 60 ? e[l[f]] : 64 * (l[f] - 60) + l[++f];
2418
+ return l.buffer.slice(0, p);
2419
2419
  }
2420
- function s(h, b, f, I, p, u, B) {
2420
+ function s(h, l, f, I, p, u, B) {
2421
2421
  var C = h.exports.sbrk, y = I + 3 & -4, x = C(y * p), w = C(u.length), m = new Uint8Array(h.exports.memory.buffer);
2422
2422
  m.set(u, w);
2423
- var Q = b(x, I, p, w, u.length);
2423
+ var Q = l(x, I, p, w, u.length);
2424
2424
  if (Q == 0 && B && B(x, y, p), f.set(m.subarray(x, x + I * p)), C(x - C(0)), Q != 0) throw new Error("Malformed buffer data: " + Q);
2425
2425
  }
2426
- var r = { NONE: "", OCTAHEDRAL: "meshopt_decodeFilterOct", QUATERNION: "meshopt_decodeFilterQuat", EXPONENTIAL: "meshopt_decodeFilterExp" }, o = { ATTRIBUTES: "meshopt_decodeVertexBuffer", TRIANGLES: "meshopt_decodeIndexBuffer", INDICES: "meshopt_decodeIndexSequence" }, n = [], l = 0;
2426
+ var r = { NONE: "", OCTAHEDRAL: "meshopt_decodeFilterOct", QUATERNION: "meshopt_decodeFilterQuat", EXPONENTIAL: "meshopt_decodeFilterExp" }, o = { ATTRIBUTES: "meshopt_decodeVertexBuffer", TRIANGLES: "meshopt_decodeIndexBuffer", INDICES: "meshopt_decodeIndexSequence" }, n = [], b = 0;
2427
2427
  function d(h) {
2428
- var b = { object: new Worker(h), pending: 0, requests: {} };
2429
- return b.object.onmessage = function(f) {
2428
+ var l = { object: new Worker(h), pending: 0, requests: {} };
2429
+ return l.object.onmessage = function(f) {
2430
2430
  var I = f.data;
2431
- b.pending -= I.count, b.requests[I.id][I.action](I.value), delete b.requests[I.id];
2432
- }, b;
2431
+ l.pending -= I.count, l.requests[I.id][I.action](I.value), delete l.requests[I.id];
2432
+ }, l;
2433
2433
  }
2434
2434
  function g(h) {
2435
- var b = h.data;
2436
- if (!b.id) return self.close();
2435
+ var l = h.data;
2436
+ if (!l.id) return self.close();
2437
2437
  self.ready.then(function(f) {
2438
2438
  try {
2439
- var I = new Uint8Array(b.count * b.size);
2440
- s(f, f.exports[b.mode], I, b.count, b.size, b.source, f.exports[b.filter]), self.postMessage({ id: b.id, count: b.count, action: "resolve", value: I }, [I.buffer]);
2439
+ var I = new Uint8Array(l.count * l.size);
2440
+ s(f, f.exports[l.mode], I, l.count, l.size, l.source, f.exports[l.filter]), self.postMessage({ id: l.id, count: l.count, action: "resolve", value: I }, [I.buffer]);
2441
2441
  } catch (p) {
2442
- self.postMessage({ id: b.id, count: b.count, action: "reject", value: p });
2442
+ self.postMessage({ id: l.id, count: l.count, action: "reject", value: p });
2443
2443
  }
2444
2444
  });
2445
2445
  }
2446
2446
  return { ready: A, supported: !0, useWorkers: function(h) {
2447
- (function(b) {
2448
- for (var f = "self.ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(i(t)) + "]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = " + g.name + ";" + s.toString() + g.toString(), I = new Blob([f], { type: "text/javascript" }), p = URL.createObjectURL(I), u = n.length; u < b; ++u) n[u] = d(p);
2449
- for (u = b; u < n.length; ++u) n[u].object.postMessage({});
2450
- n.length = b, URL.revokeObjectURL(p);
2447
+ (function(l) {
2448
+ for (var f = "self.ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(i(t)) + "]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = " + g.name + ";" + s.toString() + g.toString(), I = new Blob([f], { type: "text/javascript" }), p = URL.createObjectURL(I), u = n.length; u < l; ++u) n[u] = d(p);
2449
+ for (u = l; u < n.length; ++u) n[u].object.postMessage({});
2450
+ n.length = l, URL.revokeObjectURL(p);
2451
2451
  })(h);
2452
- }, decodeVertexBuffer: function(h, b, f, I, p) {
2453
- s(a, a.exports.meshopt_decodeVertexBuffer, h, b, f, I, a.exports[r[p]]);
2454
- }, decodeIndexBuffer: function(h, b, f, I) {
2455
- s(a, a.exports.meshopt_decodeIndexBuffer, h, b, f, I);
2456
- }, decodeIndexSequence: function(h, b, f, I) {
2457
- s(a, a.exports.meshopt_decodeIndexSequence, h, b, f, I);
2458
- }, decodeGltfBuffer: function(h, b, f, I, p, u) {
2459
- s(a, a.exports[o[p]], h, b, f, I, a.exports[r[u]]);
2460
- }, decodeGltfBufferAsync: function(h, b, f, I, p) {
2452
+ }, decodeVertexBuffer: function(h, l, f, I, p) {
2453
+ s(a, a.exports.meshopt_decodeVertexBuffer, h, l, f, I, a.exports[r[p]]);
2454
+ }, decodeIndexBuffer: function(h, l, f, I) {
2455
+ s(a, a.exports.meshopt_decodeIndexBuffer, h, l, f, I);
2456
+ }, decodeIndexSequence: function(h, l, f, I) {
2457
+ s(a, a.exports.meshopt_decodeIndexSequence, h, l, f, I);
2458
+ }, decodeGltfBuffer: function(h, l, f, I, p, u) {
2459
+ s(a, a.exports[o[p]], h, l, f, I, a.exports[r[u]]);
2460
+ }, decodeGltfBufferAsync: function(h, l, f, I, p) {
2461
2461
  return n.length > 0 ? function(u, B, C, y, x) {
2462
2462
  for (var w = n[0], m = 1; m < n.length; ++m) n[m].pending < w.pending && (w = n[m]);
2463
2463
  return new Promise(function(Q, k) {
2464
- var D = new Uint8Array(C), F = ++l;
2464
+ var D = new Uint8Array(C), F = ++b;
2465
2465
  w.pending += u, w.requests[F] = { resolve: Q, reject: k }, w.object.postMessage({ id: F, count: u, size: B, source: D, mode: y, filter: x }, [D.buffer]);
2466
2466
  });
2467
- }(h, b, f, o[I], r[p]) : A.then(function() {
2468
- var u = new Uint8Array(h * b);
2469
- return s(a, a.exports[o[I]], u, h, b, f, a.exports[r[p]]), u;
2467
+ }(h, l, f, o[I], r[p]) : A.then(function() {
2468
+ var u = new Uint8Array(h * l);
2469
+ return s(a, a.exports[o[I]], u, h, l, f, a.exports[r[p]]), u;
2470
2470
  });
2471
2471
  } };
2472
2472
  }();
@@ -2475,8 +2475,8 @@ var Vt = function() {
2475
2475
  if (typeof WebAssembly != "object") return { supported: !1 };
2476
2476
  var a = WebAssembly.instantiate(function(r) {
2477
2477
  for (var o = new Uint8Array(r.length), n = 0; n < r.length; ++n) {
2478
- var l = r.charCodeAt(n);
2479
- o[n] = l > 96 ? l - 97 : l > 64 ? l - 39 : l + 4;
2478
+ var b = r.charCodeAt(n);
2479
+ o[n] = b > 96 ? b - 97 : b > 64 ? b - 39 : b + 4;
2480
2480
  }
2481
2481
  var d = 0;
2482
2482
  for (n = 0; n < r.length; ++n) o[d++] = o[n] < 60 ? e[o[n]] : 64 * (o[n] - 60) + o[++n];
@@ -2490,10 +2490,10 @@ var Vt = function() {
2490
2490
  function A(r) {
2491
2491
  return new Uint8Array(r.buffer, r.byteOffset, r.byteLength);
2492
2492
  }
2493
- function i(r, o, n, l, d, g, h, b) {
2494
- var f = c.exports.sbrk, I = f(4 * b), p = f(n * l), u = f(n * g), B = new Uint8Array(c.exports.memory.buffer);
2493
+ function i(r, o, n, b, d, g, h, l) {
2494
+ var f = c.exports.sbrk, I = f(4 * l), p = f(n * b), u = f(n * g), B = new Uint8Array(c.exports.memory.buffer);
2495
2495
  B.set(A(o), p), d && B.set(A(d), u);
2496
- var C = r(I, p, n, l, u, g, h, b);
2496
+ var C = r(I, p, n, b, u, g, h, l);
2497
2497
  new Uint8Array(c.exports.memory.buffer);
2498
2498
  var y = new Uint32Array(C);
2499
2499
  return A(y).set(B.subarray(I, I + 4 * C)), f(I - f(0)), y;
@@ -2573,13 +2573,13 @@ class Ni {
2573
2573
  }
2574
2574
  }
2575
2575
  }
2576
- get(e, a, t, A, i, s, r, o, n, l, d, g) {
2577
- const h = this, b = ct(t), f = new AbortController();
2576
+ get(e, a, t, A, i, s, r, o, n, b, d, g) {
2577
+ const h = this, l = ct(t), f = new AbortController();
2578
2578
  if (e.signal.addEventListener("abort", () => {
2579
- h.register[b] && Object.keys(h.register[b]).length != 0 || f.abort("user abort");
2579
+ h.register[l] && Object.keys(h.register[l]).length != 0 || f.abort("user abort");
2580
2580
  }), !(t.includes(".b3dm") || t.includes(".json") || t.includes(".gltf") || t.includes(".glb"))) return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");
2581
- if (h.register[b] || (h.register[b] = {}), h.register[b][a] && console.error(" a tile should only be loaded once"), h.register[b][a] = A, h.cache.get(b)) this._meshReceived(h.cache, h.register, b, i, s, r, a);
2582
- else if (Object.keys(h.register[b]).length == 1) {
2581
+ if (h.register[l] || (h.register[l] = {}), h.register[l][a] && console.error(" a tile should only be loaded once"), h.register[l][a] = A, h.cache.get(l)) this._meshReceived(h.cache, h.register, l, i, s, r, a);
2582
+ else if (Object.keys(h.register[l]).length == 1) {
2583
2583
  let I;
2584
2584
  t.includes(".b3dm") ? I = () => {
2585
2585
  var p;
@@ -2588,8 +2588,8 @@ class Ni {
2588
2588
  return u.arrayBuffer();
2589
2589
  }).then((u) => this.b3dmDecoder.parseB3DM(u, (B) => {
2590
2590
  h.meshCallback(B, d);
2591
- }, n, l)).then((u) => {
2592
- h.cache.put(b, u), this._meshReceived(h.cache, h.register, b, i, s, r, a), h._checkSize();
2591
+ }, n, b)).then((u) => {
2592
+ h.cache.put(l, u), this._meshReceived(h.cache, h.register, l, i, s, r, a), h._checkSize();
2593
2593
  }).catch((u) => {
2594
2594
  }).finally(() => {
2595
2595
  te--;
@@ -2599,8 +2599,8 @@ class Ni {
2599
2599
  p = h.proxy ? () => fetch(h.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), te++, p().then((u) => {
2600
2600
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2601
2601
  return u.arrayBuffer();
2602
- }).then((u) => this.splatsDecoder.parseSplats(u, n, l, g)).then((u) => {
2603
- h.cache.put(b, u), h._meshReceived(h.cache, h.register, b, i, s, r, a), h._checkSize();
2602
+ }).then((u) => this.splatsDecoder.parseSplats(u, n, b, g)).then((u) => {
2603
+ h.cache.put(l, u), h._meshReceived(h.cache, h.register, l, i, s, r, a), h._checkSize();
2604
2604
  }).catch((u) => {
2605
2605
  }).finally(() => {
2606
2606
  te--;
@@ -2619,8 +2619,8 @@ class Ni {
2619
2619
  });
2620
2620
  }(this.gltfLoader), this.gltfLoader.parse(u, null, (B) => {
2621
2621
  B.scene.asset = B.asset, n && B.scene.applyMatrix4(this.zUpToYUpMatrix), B.scene.traverse((C) => {
2622
- C.isMesh && (l && C.applyMatrix4(this.zUpToYUpMatrix), h.meshCallback && h.meshCallback(C, d)), C.isPoints && h.pointsCallback && h.pointsCallback(C, d);
2623
- }), h.cache.put(b, B.scene), h._meshReceived(h.cache, h.register, b, i, s, r, a), h._checkSize();
2622
+ C.isMesh && (b && C.applyMatrix4(this.zUpToYUpMatrix), h.meshCallback && h.meshCallback(C, d)), C.isPoints && h.pointsCallback && h.pointsCallback(C, d);
2623
+ }), h.cache.put(l, B.scene), h._meshReceived(h.cache, h.register, l, i, s, r, a), h._checkSize();
2624
2624
  });
2625
2625
  }).catch((u) => {
2626
2626
  u !== "user abort" && u.code;
@@ -2633,7 +2633,7 @@ class Ni {
2633
2633
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2634
2634
  return u.json();
2635
2635
  }).then((u) => La(u, t)).then((u) => {
2636
- h.cache.put(b, u), h._meshReceived(h.cache, h.register, b), h._checkSize();
2636
+ h.cache.put(l, u), h._meshReceived(h.cache, h.register, l), h._checkSize();
2637
2637
  }).catch((u) => {
2638
2638
  console.error(u);
2639
2639
  }).finally(() => {
@@ -2664,7 +2664,7 @@ class Ni {
2664
2664
  for (; e.cache.size() > e.maxCachedItems && a < e.cache.size(); ) {
2665
2665
  a++;
2666
2666
  const t = e.cache.head(), A = e.register[t.key];
2667
- A && (Object.keys(A).length > 0 ? (e.cache.remove(t.key), e.cache.put(t.key, t.value)) : (e.cache.remove(t.key), delete e.register[t.key], t.value.isSplatsBatch ? t.value.remove() : t.value.traverse((i) => {
2667
+ A && (Object.keys(A).length > 0 ? (e.cache.remove(t.key), e.cache.put(t.key, t.value)) : (e.cache.remove(t.key), delete e.register[t.key], t.value.isSplatsBatch ? t.value.remove() : t.value.traverse && t.value.traverse((i) => {
2668
2668
  if (i.material) if (i.material.length) for (let s = 0; s < i.material.length; ++s) i.material[s].dispose();
2669
2669
  else i.material.dispose();
2670
2670
  i.geometry && i.geometry.dispose();
@@ -2744,9 +2744,9 @@ var De = { resolve: function() {
2744
2744
  } else A > r && (c.charCodeAt(a + n) === 47 ? o = n : n === 0 && (o = 0));
2745
2745
  break;
2746
2746
  }
2747
- var l = c.charCodeAt(a + n);
2748
- if (l !== e.charCodeAt(i + n)) break;
2749
- l === 47 && (o = n);
2747
+ var b = c.charCodeAt(a + n);
2748
+ if (b !== e.charCodeAt(i + n)) break;
2749
+ b === 47 && (o = n);
2750
2750
  }
2751
2751
  var d = "";
2752
2752
  for (n = a + o + 1; n <= t; ++n) n !== t && c.charCodeAt(n) !== 47 || (d.length === 0 ? d += ".." : d += "/..");
@@ -2810,15 +2810,15 @@ var De = { resolve: function() {
2810
2810
  if (c.length === 0) return e;
2811
2811
  var a, t = c.charCodeAt(0), A = t === 47;
2812
2812
  A ? (e.root = "/", a = 1) : a = 0;
2813
- for (var i = -1, s = 0, r = -1, o = !0, n = c.length - 1, l = 0; n >= a; --n) if ((t = c.charCodeAt(n)) !== 47) r === -1 && (o = !1, r = n + 1), t === 46 ? i === -1 ? i = n : l !== 1 && (l = 1) : i !== -1 && (l = -1);
2813
+ for (var i = -1, s = 0, r = -1, o = !0, n = c.length - 1, b = 0; n >= a; --n) if ((t = c.charCodeAt(n)) !== 47) r === -1 && (o = !1, r = n + 1), t === 46 ? i === -1 ? i = n : b !== 1 && (b = 1) : i !== -1 && (b = -1);
2814
2814
  else if (!o) {
2815
2815
  s = n + 1;
2816
2816
  break;
2817
2817
  }
2818
- return i === -1 || r === -1 || l === 0 || l === 1 && i === r - 1 && i === s + 1 ? r !== -1 && (e.base = e.name = s === 0 && A ? c.slice(1, r) : c.slice(s, r)) : (s === 0 && A ? (e.name = c.slice(1, i), e.base = c.slice(1, r)) : (e.name = c.slice(s, i), e.base = c.slice(s, r)), e.ext = c.slice(i, r)), s > 0 ? e.dir = c.slice(0, s - 1) : A && (e.dir = "/"), e;
2818
+ return i === -1 || r === -1 || b === 0 || b === 1 && i === r - 1 && i === s + 1 ? r !== -1 && (e.base = e.name = s === 0 && A ? c.slice(1, r) : c.slice(s, r)) : (s === 0 && A ? (e.name = c.slice(1, i), e.base = c.slice(1, r)) : (e.name = c.slice(s, i), e.base = c.slice(s, r)), e.ext = c.slice(i, r)), s > 0 ? e.dir = c.slice(0, s - 1) : A && (e.dir = "/"), e;
2819
2819
  }, sep: "/", delimiter: ":", win32: null, posix: null };
2820
2820
  De.posix = De;
2821
- var lt, le = De;
2821
+ var bt, be = De;
2822
2822
  class Pi {
2823
2823
  constructor(e) {
2824
2824
  ge(this, "_toElementFn");
@@ -2998,7 +2998,7 @@ class pe extends Pi {
2998
2998
  }
2999
2999
  (function(c) {
3000
3000
  c[c.VISIT = 0] = "VISIT", c[c.PROCESS = 1] = "PROCESS";
3001
- })(lt || (lt = {}));
3001
+ })(bt || (bt = {}));
3002
3002
  class _e extends pe {
3003
3003
  constructor(e = [], a) {
3004
3004
  super(e, a);
@@ -3058,23 +3058,23 @@ class qi extends ka {
3058
3058
  o.texture.type = v, e.initRenderTarget(o);
3059
3059
  const n = new ne(512, 512, 1, { magFilter: R, minFilter: R, anisotropy: 0, type: v, depthBuffer: !1, resolveDepthBuffer: !1 });
3060
3060
  n.texture.type = v, e.initRenderTarget(n);
3061
- const l = new ia({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: o.texture }, cov2Texture: { value: n.texture }, colorTexture: { value: s.texture }, positionTexture: { value: r.texture }, zUpToYUpMatrix3x3: { value: Yt }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE }, cameraNear: { value: 0.01 }, cameraFar: { value: 10 }, computeLinearDepth: { value: !0 } }, vertexShader: Oi(), fragmentShader: a || Ji(), transparent: !0, side: Ze, depthTest: !1, depthWrite: !1 }), d = new Ja(), g = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
3062
- d.setIndex([0, 2, 1, 2, 3, 1]), d.setAttribute("position", new be(g, 3));
3063
- const h = new Uint32Array(i), b = new wa(h, 1, !1);
3064
- b.needsUpdate = !0, b.setUsage(Ka), d.setAttribute("order", b), d.instanceCount = 0, super(d, l), this.numBatches = 0, this.numVisibleBatches = 0, this.orderAttribute = b, this.textureSize = 512, this.numTextures = 1, this.batchSize = A, this.maxSplats = i, this.numSplatsRendered = 0, this.colorRenderTarget = s, this.positionRenderTarget = r, this.cov1RenderTarget = o, this.cov2RenderTarget = n, this.renderer = e, this.sortID = 0, this.freeAddresses = new He();
3061
+ const b = new ia({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: o.texture }, cov2Texture: { value: n.texture }, colorTexture: { value: s.texture }, positionTexture: { value: r.texture }, zUpToYUpMatrix3x3: { value: Yt }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE }, cameraNear: { value: 0.01 }, cameraFar: { value: 10 }, computeLinearDepth: { value: !0 } }, vertexShader: Oi(), fragmentShader: a || Ji(), transparent: !0, side: Ze, depthTest: !1, depthWrite: !1 }), d = new Ja(), g = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
3062
+ d.setIndex([0, 2, 1, 2, 3, 1]), d.setAttribute("position", new le(g, 3));
3063
+ const h = new Uint32Array(i), l = new wa(h, 1, !1);
3064
+ l.needsUpdate = !0, l.setUsage(Ka), d.setAttribute("order", l), d.instanceCount = 0, super(d, b), this.numBatches = 0, this.numVisibleBatches = 0, this.orderAttribute = l, this.textureSize = 512, this.numTextures = 1, this.batchSize = A, this.maxSplats = i, this.numSplatsRendered = 0, this.colorRenderTarget = s, this.positionRenderTarget = r, this.cov1RenderTarget = o, this.cov2RenderTarget = n, this.renderer = e, this.sortID = 0, this.freeAddresses = new He();
3065
3065
  for (let I = 0; I < this.maxSplats; I += A) this.freeAddresses.add(I);
3066
3066
  this.worker = new _i({ type: "module" }), this.sortListeners = [], this.worker.onmessage = (I) => {
3067
3067
  const p = new Uint32Array(I.data.order);
3068
3068
  if (this.numSplatsRendered = p.length, p.length > this.orderAttribute.count) {
3069
3069
  const u = new Ja(), B = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]), C = [0, 2, 1, 2, 3, 1];
3070
- u.setIndex(C), u.setAttribute("position", new be(B, 3));
3070
+ u.setIndex(C), u.setAttribute("position", new le(B, 3));
3071
3071
  const y = new Uint32Array(this.maxSplats), x = new wa(y, 1, !1);
3072
3072
  x.needsUpdate = !0, x.setUsage(Ka), u.setAttribute("order", x), u.instanceCount = 0, this.geometry.dispose(), this.geometry = u, this.orderAttribute = x;
3073
3073
  }
3074
3074
  this.orderAttribute.clearUpdateRanges(), this.orderAttribute.set(p), this.orderAttribute.addUpdateRange(0, p.length), this.orderAttribute.needsUpdate = !0, this.geometry.instanceCount = I.data.count, this.geometry.needsUpdate = !0;
3075
3075
  for (let u = this.sortListeners.length - 1; u >= 0; u--)
3076
3076
  this.sortListeners[u](I.data.id) && this.sortListeners.splice(u, 1);
3077
- }, this.cameraPosition = new M(0, 0, 0), this.rotateOnAxis(new M(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new ia({ uniforms: { sourceTexture: {} }, vertexShader: bt(), fragmentShader: `
3077
+ }, this.cameraPosition = new M(0, 0, 0), this.rotateOnAxis(new M(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new ia({ uniforms: { sourceTexture: {} }, vertexShader: lt(), fragmentShader: `
3078
3078
  precision highp float;
3079
3079
 
3080
3080
  uniform sampler2D sourceTexture;
@@ -3083,7 +3083,7 @@ in vec2 vUv;
3083
3083
 
3084
3084
  void main() {
3085
3085
  gl_FragColor = texture( sourceTexture, vUv );
3086
- }`, transparent: !1, side: Ze, depthTest: !1, depthWrite: !1 }), this.copyMaterial3D = new ia({ uniforms: { sourceTexture: {}, w: { value: 0 } }, vertexShader: bt(), fragmentShader: `
3086
+ }`, transparent: !1, side: Ze, depthTest: !1, depthWrite: !1 }), this.copyMaterial3D = new ia({ uniforms: { sourceTexture: {}, w: { value: 0 } }, vertexShader: lt(), fragmentShader: `
3087
3087
  precision highp float;
3088
3088
 
3089
3089
  uniform sampler3D sourceTexture;
@@ -3126,7 +3126,7 @@ void main() {
3126
3126
  raycast(e, a) {
3127
3127
  }
3128
3128
  addSplatsTile(e, a, t, A) {
3129
- const i = this, s = e.data ? e.data.array : e.array, r = e.data && e.data.isInterleavedBuffer ? e.data.stride : 3, o = e.data && e.data.isInterleavedBuffer ? e.offset : 0, n = Math.ceil(s.length / (this.batchSize * r)), l = [], d = [];
3129
+ const i = this, s = e.data ? e.data.array : e.array, r = e.data && e.data.isInterleavedBuffer ? e.data.stride : 3, o = e.data && e.data.isInterleavedBuffer ? e.offset : 0, n = Math.ceil(s.length / (this.batchSize * r)), b = [], d = [];
3130
3130
  let g = () => {
3131
3131
  };
3132
3132
  const h = new Float32Array(s.length / r * 3);
@@ -3141,40 +3141,40 @@ void main() {
3141
3141
  }, n > this.freeAddresses.size && this.growTextures();
3142
3142
  for (let f = 0; f < n; f++) {
3143
3143
  const I = this.freeAddresses.poll();
3144
- isNaN(I) && console.log("insuficient texture size to store splats info"), l.push(I), d.push(3 * I);
3144
+ isNaN(I) && console.log("insuficient texture size to store splats info"), b.push(I), d.push(3 * I);
3145
3145
  const p = f * this.batchSize;
3146
3146
  this.addSplatsBatch(p, I, e, a, t, A);
3147
3147
  }
3148
3148
  i.worker.postMessage({ method: "addBatches", insertionIndexes: d, positions: s.buffer, offset: o, stride: r, batchSize: i.batchSize }, [s.buffer]);
3149
- let b = !1;
3149
+ let l = !1;
3150
3150
  return { hide: () => {
3151
- b == 1 && (i.numVisibleBatches--, b = !1, i.worker.postMessage({ method: "hideBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }));
3151
+ l == 1 && (i.numVisibleBatches--, l = !1, i.worker.postMessage({ method: "hideBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }));
3152
3152
  }, show: (f) => {
3153
- if (b == 0) {
3154
- i.numVisibleBatches--, b = !0;
3153
+ if (l == 0) {
3154
+ i.numVisibleBatches--, l = !0;
3155
3155
  const I = i.sortID, p = (u) => u >= I && (f(), !0);
3156
3156
  i.sortListeners.push(p), i.worker.postMessage({ method: "showBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ });
3157
3157
  }
3158
3158
  }, remove: () => {
3159
- console.log("remove"), g = void 0, i.worker.postMessage({ method: "removeBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }), l.forEach((f) => i.freeAddresses.add(f));
3159
+ g = void 0, i.worker.postMessage({ method: "removeBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }), b.forEach((f) => i.freeAddresses.add(f));
3160
3160
  }, sort: this.sort, raycast: g, isSplatsBatch: !0 };
3161
3161
  }
3162
3162
  addSplatsBatch(e, a, t, A, i, s) {
3163
- const r = new Float32Array(4 * this.batchSize), o = new Uint8Array(4 * this.batchSize), n = new Float32Array(4 * this.batchSize), l = new Float32Array(4 * this.batchSize);
3163
+ const r = new Float32Array(4 * this.batchSize), o = new Uint8Array(4 * this.batchSize), n = new Float32Array(4 * this.batchSize), b = new Float32Array(4 * this.batchSize);
3164
3164
  for (let u = a; u < a + this.batchSize; u++) {
3165
3165
  const B = u - a, C = 4 * B, y = e + B;
3166
3166
  if (y >= t.count) break;
3167
- r[C] = t.getX(y), r[C + 1] = t.getY(y), r[C + 2] = t.getZ(y), Math.floor(255 * A.getX(y)), Math.floor(255 * A.getY(y)), Math.floor(255 * A.getZ(y)), Math.floor(255 * A.getW(y)), o[C] = Math.floor(255 * A.getX(y)), o[C + 1] = Math.floor(255 * A.getY(y)), o[C + 2] = Math.floor(255 * A.getZ(y)), o[C + 3] = Math.floor(255 * A.getW(y)), n[C] = i.getX(y), n[C + 1] = i.getY(y), n[C + 2] = i.getZ(y), l[C] = s.getX(y), l[C + 1] = s.getY(y), l[C + 2] = s.getZ(y);
3167
+ r[C] = t.getX(y), r[C + 1] = t.getY(y), r[C + 2] = t.getZ(y), Math.floor(255 * A.getX(y)), Math.floor(255 * A.getY(y)), Math.floor(255 * A.getZ(y)), Math.floor(255 * A.getW(y)), o[C] = Math.floor(255 * A.getX(y)), o[C + 1] = Math.floor(255 * A.getY(y)), o[C + 2] = Math.floor(255 * A.getZ(y)), o[C + 3] = Math.floor(255 * A.getW(y)), n[C] = i.getX(y), n[C + 1] = i.getY(y), n[C + 2] = i.getZ(y), b[C] = s.getX(y), b[C + 1] = s.getY(y), b[C + 2] = s.getZ(y);
3168
3168
  }
3169
3169
  const d = Math.floor(a / Math.pow(this.textureSize, 2)), g = Math.ceil(this.batchSize / this.textureSize), h = [0, a / this.textureSize - d * this.textureSize, this.textureSize];
3170
3170
  h.push(h[1] + g);
3171
- const b = new Ge(r, this.textureSize, g, ee, v);
3172
- b.generateMipmaps = !1, b.magFilter = R, b.minFilter = R, b.anisotropy = 0, b.needsUpdate = !0, this.renderer.initTexture(b), this.renderer.initRenderTarget(this.positionRenderTarget), this.copyTex2D(b, this.positionRenderTarget, h, d), b.dispose();
3171
+ const l = new Ge(r, this.textureSize, g, ee, v);
3172
+ l.generateMipmaps = !1, l.magFilter = R, l.minFilter = R, l.anisotropy = 0, l.needsUpdate = !0, this.renderer.initTexture(l), this.renderer.initRenderTarget(this.positionRenderTarget), this.copyTex2D(l, this.positionRenderTarget, h, d), l.dispose();
3173
3173
  const f = new Ge(o, this.textureSize, g, ee, X);
3174
3174
  f.generateMipmaps = !1, f.magFilter = R, f.minFilter = R, f.anisotropy = 0, f.needsUpdate = !0, this.renderer.initTexture(f), this.copyTex2D(f, this.colorRenderTarget, h, d), f.dispose();
3175
3175
  const I = new Ge(n, this.textureSize, g, ee, v);
3176
3176
  I.generateMipmaps = !1, I.magFilter = R, I.minFilter = R, I.anisotropy = 0, I.needsUpdate = !0, this.renderer.initTexture(I), this.copyTex2D(I, this.cov1RenderTarget, h, d), I.dispose();
3177
- const p = new Ge(l, this.textureSize, g, ee, v);
3177
+ const p = new Ge(b, this.textureSize, g, ee, v);
3178
3178
  p.generateMipmaps = !1, p.magFilter = R, p.minFilter = R, p.anisotropy = 0, p.needsUpdate = !0, this.renderer.initTexture(p), this.copyTex2D(p, this.cov2RenderTarget, h, d), p.dispose();
3179
3179
  }
3180
3180
  growTextures() {
@@ -3381,7 +3381,7 @@ void main() {
3381
3381
 
3382
3382
  }`;
3383
3383
  }
3384
- function bt() {
3384
+ function lt() {
3385
3385
  return `
3386
3386
 
3387
3387
  out vec2 vUv;
@@ -3428,7 +3428,7 @@ class Wt extends E.Object3D {
3428
3428
  (a.proxy ? () => fetch(a.proxy, { method: "POST", body: t, signal: a.abortController.signal }) : () => fetch(t, { signal: a.abortController.signal }))().then((i) => {
3429
3429
  if (!i.ok) throw new Error(`couldn't load "${e.url}". Request failed with status ${i.status} : ${i.statusText}`);
3430
3430
  i.json().then((s) => La(s, t)).then((s) => {
3431
- a._setup({ rootPath: le.dirname(e.url), json: s });
3431
+ a._setup({ rootPath: be.dirname(e.url), json: s });
3432
3432
  });
3433
3433
  }).catch((i) => {
3434
3434
  a.displayErrors && gt(i);
@@ -3469,7 +3469,7 @@ class Wt extends E.Object3D {
3469
3469
  function t(A) {
3470
3470
  A.uri && A.uri.includes("json") || A.url && A.url.includes("json") ? a.hasUnloadedJSONContent++ : a.hasMeshContent++;
3471
3471
  }
3472
- if (a.json.content ? (t(a.json.content), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0)), a.loadingStrategy === "IMMEDIATE" ? a._load(!0, !1) : a._load()) : a.json.contents && (a.json.contents.forEach((A) => t(A)), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0)), a.loadingStrategy === "IMMEDIATE" ? a._load(!0, !1) : a._load()), a.centerModel && (we.copy(a.boundingVolume.center), this.json.boundingVolume.region && (this._transformWGS84ToCartesian(0.5 * (this.json.boundingVolume.region[0] + this.json.boundingVolume.region[2]), 0.5 * (this.json.boundingVolume.region[1] + this.json.boundingVolume.region[3]), 0.5 * (this.json.boundingVolume.region[4] + this.json.boundingVolume.region[5]), ce), ht.setFromUnitVectors(ce.normalize(), Ki.normalize()), a.applyQuaternion(ht)), we.applyMatrix4(a.matrix), a.position.sub(we), a.updateMatrices()), a.onLoadCallback && a.onLoadCallback(a), a.isSetup = !0, a.level > 0 && a.drawBoundingVolume) if (a.bbox && console.log("double setup"), this.boundingVolume.aabb) {
3472
+ if (a.json.content ? (t(a.json.content), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0)), a._load()) : a.json.contents && (a.json.contents.forEach((A) => t(A)), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0))), a.centerModel && (we.copy(a.boundingVolume.center), this.json.boundingVolume.region && (this._transformWGS84ToCartesian(0.5 * (this.json.boundingVolume.region[0] + this.json.boundingVolume.region[2]), 0.5 * (this.json.boundingVolume.region[1] + this.json.boundingVolume.region[3]), 0.5 * (this.json.boundingVolume.region[4] + this.json.boundingVolume.region[5]), ce), ht.setFromUnitVectors(ce.normalize(), Ki.normalize()), a.applyQuaternion(ht)), we.applyMatrix4(a.matrix), a.position.sub(we), a.updateMatrices()), a.onLoadCallback && a.onLoadCallback(a), a.isSetup = !0, a.level > 0 && a.drawBoundingVolume) if (a.bbox && console.log("double setup"), this.boundingVolume.aabb) {
3473
3473
  let A = this.boundingVolume.aabb.clone();
3474
3474
  A.applyMatrix4(this.matrixWorld), a.bbox = new E.Box3Helper(A, new E.Color(Math.random(), Math.random(), Math.random())), a.add(a.bbox), a.bbox.material.visible = !1;
3475
3475
  } else a.boundingVolume instanceof $ && (a.bbox = a.boundingVolume.helper(), a.add(a.bbox), a.bbox.material.visible = !1);
@@ -3503,8 +3503,8 @@ class Wt extends E.Object3D {
3503
3503
  async function A(i, s, r, o) {
3504
3504
  let n;
3505
3505
  i.uri ? n = i.uri : i.url && (n = i.url);
3506
- const l = /^(?:http|https|ftp|tcp|udp):\/\/\S+/;
3507
- if (l.test(t.rootPath) ? l.test(n) || (n = t._assembleURL(t.rootPath, n)) : le.isAbsolute(t.rootPath) && (n = t.rootPath + le.sep + n), n = t._extractQueryParams(n, t.queryParams), t.queryParams) {
3506
+ const b = /^(?:http|https|ftp|tcp|udp):\/\/\S+/;
3507
+ if (b.test(t.rootPath) ? b.test(n) || (n = t._assembleURL(t.rootPath, n)) : be.isAbsolute(t.rootPath) && (n = t.rootPath + be.sep + n), n = t._extractQueryParams(n, t.queryParams), t.queryParams) {
3508
3508
  var d = "";
3509
3509
  for (let g in t.queryParams) t.queryParams.hasOwnProperty(g) && (d += "&" + g + "=" + t.queryParams[g]);
3510
3510
  n.includes("?") ? n += d : n += "?" + d.substring(1);
@@ -3515,8 +3515,8 @@ class Wt extends E.Object3D {
3515
3515
  Z[h] ? Z[h]++ : Z[h] = 1;
3516
3516
  }), t.displayCopyright && ma()), t.meshContent.push(g), t.splatsMesh || (g.traverse((h) => {
3517
3517
  if ((h.isMesh || h.isPoints) && h.layers.disable(0), h.isMesh && t.occlusionCullingService) {
3518
- const b = h.geometry.attributes.position, f = [];
3519
- for (let I = 0; I < b.count; I++) f.push(t.color.r, t.color.g, t.color.b);
3518
+ const l = h.geometry.attributes.position, f = [];
3519
+ for (let I = 0; I < l.count; I++) f.push(t.color.r, t.color.g, t.color.b);
3520
3520
  h.geometry.setAttribute("color", new E.Float32BufferAttribute(f, 3));
3521
3521
  }
3522
3522
  }), t.add(g), t.updateMatrices()));
@@ -3525,7 +3525,7 @@ class Wt extends E.Object3D {
3525
3525
  t.displayErrors && gt(g);
3526
3526
  }
3527
3527
  else r && n.includes(".json") && (t.jsonRequested = n, t.tileLoader.get(t.abortController, t.uuid, n, async (g) => {
3528
- t.jsonReceived = !0, t.deleted || (g.rootPath = le.dirname(n), t.json.children.push(g), s == null ? delete t.json.content : t.json.contents.splice(s, 1), t.hasUnloadedJSONContent--);
3528
+ t.jsonReceived = !0, t.deleted || (g.rootPath = be.dirname(n), t.json.children.push(g), s == null ? delete t.json.content : t.json.contents.splice(s, 1), t.hasUnloadedJSONContent--);
3529
3529
  }));
3530
3530
  }
3531
3531
  }
@@ -3628,7 +3628,7 @@ class Wt extends E.Object3D {
3628
3628
  a.childrenTiles.every((A) => !!A._isReadyImmediate() || (t = !1, !1)), t && a.childrenTiles.length > 0 ? (a._changeContentVisibility(!1), a.meshContent.length > 0 && a._disposeMeshContent(), a.childrenTiles.forEach((A) => {
3629
3629
  A._updateNodeVisibilityImmediate(e);
3630
3630
  })) : a.childrenTiles.forEach((A) => {
3631
- A._updateNodeVisibilityImmediate(!a.splatsMesh || a.splatsReady);
3631
+ A._updateNodeVisibilityImmediate(!a.splatsMesh || !!a.splatsReady);
3632
3632
  });
3633
3633
  }
3634
3634
  }
@@ -3720,14 +3720,14 @@ class Wt extends E.Object3D {
3720
3720
  if (this.metric < 0) return !0;
3721
3721
  if (this.hasUnloadedJSONContent) return !1;
3722
3722
  if (!this.hasMeshContent && this.json.children.length == 0 && !this.hasUnloadedJSONContent) return !0;
3723
- if (!this.hasMeshContent || this.meshContent.length == 0 || !this.materialVisibility || this.splatsMesh && !this.splatsReady) {
3723
+ if (!this.hasMeshContent || this.meshContent.length == 0 || !this.materialVisibility) {
3724
3724
  if (this.children.length > 0) {
3725
3725
  var e = !0;
3726
3726
  return this.childrenTiles.every((a) => !!a._isReady() || (e = !1, !1)), e;
3727
3727
  }
3728
3728
  return !1;
3729
3729
  }
3730
- return !this.hasMeshContent || !(this.meshContent.length < this.hasMeshContent) && !(!this.materialVisibility || this.splatsMesh && !this.splatsReady);
3730
+ return !this.hasMeshContent || !(this.meshContent.length < this.hasMeshContent) && !!this.materialVisibility;
3731
3731
  }
3732
3732
  _isReadyImmediate() {
3733
3733
  if (this.materialVisibility || !this.loadOutsideView && this.metric < 0) return !0;
@@ -3740,9 +3740,9 @@ class Wt extends E.Object3D {
3740
3740
  _changeContentVisibility(e) {
3741
3741
  const a = this;
3742
3742
  if (a.bbox && (a.bbox.material.visible = e), a.splatsMesh) e != a.materialVisibility && (a.meshContent.forEach((t) => {
3743
- e && t.isSplatsBatch ? (a.splatsReady = !0, t.show(() => {
3743
+ e && t.isSplatsBatch ? t.show(() => {
3744
3744
  a.materialVisibility && (a.splatsReady = !0);
3745
- })) : (t.hide(), a.splatsReady = !1);
3745
+ }) : (t.hide(), a.splatsReady = !1);
3746
3746
  }), a.materialVisibility = e);
3747
3747
  else {
3748
3748
  if (a.hasMeshContent && a.meshContent.length > 0 && (e ? a.meshContent.forEach((t) => {
@@ -3797,8 +3797,8 @@ class Wt extends E.Object3D {
3797
3797
  this.distanceBias = e, this.childrenTiles.forEach((a) => a.setDistanceBias(e));
3798
3798
  }
3799
3799
  _transformWGS84ToCartesian(e, a, t, A) {
3800
- const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), o = Math.sin(a), n = i + t, l = n * s * r, d = n * s * Math.sin(e), g = (0.993305615557957 * i + t) * o;
3801
- A.set(l, d, g);
3800
+ const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), o = Math.sin(a), n = i + t, b = n * s * r, d = n * s * Math.sin(e), g = (0.993305615557957 * i + t) * o;
3801
+ A.set(b, d, g);
3802
3802
  }
3803
3803
  }
3804
3804
  function gt(c) {
@@ -3823,7 +3823,7 @@ class Ga extends E.Object3D {
3823
3823
  if (e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = jt(), e.tileLoader ? this.tileLoader = e.tileLoader : console.error("an instanced tileset must be provided an InstancedTilesetLoader"), this.master = e.master, this.loadOutsideView = e.loadOutsideView, this.cameraOnLoad = e.cameraOnLoad, this.parentTile = e.parentTile, this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.childrenTiles = [], this.jsonChildren = [], this.meshContent = /* @__PURE__ */ new Set(), this.static = e.static, this.static && (this.matrixAutoUpdate = !1, this.matrixWorldAutoUpdate = !1), this.tileContent, this.refinement, this.rootPath, this.geometricError, this.boundingVolume, this.json, this.materialVisibility = !1, this.inFrustum = !0, this.level = e.level ? e.level : 0, this.hasMeshContent = 0, this.hasUnloadedJSONContent = 0, this.centerModel = e.centerModel, this.deleted = !1, this.abortController = new AbortController(), e.json) this.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, e.json.children && (this.jsonChildren = e.json.children), a.setup(e);
3824
3824
  else if (e.url) {
3825
3825
  this.loadJson = (i, s) => {
3826
- const r = le.dirname(s);
3826
+ const r = be.dirname(s);
3827
3827
  a.setup({ rootPath: r, json: i, onLoadCallback: e.onLoadCallback });
3828
3828
  };
3829
3829
  var t = e.url;
@@ -3884,7 +3884,7 @@ class Ga extends E.Object3D {
3884
3884
  let A;
3885
3885
  t.uri ? A = t.uri : t.url && (A = t.url);
3886
3886
  const i = /^(?:http|https|ftp|tcp|udp):\/\/\S+/;
3887
- if (i.test(e.rootPath) ? i.test(A) || (A = e.assembleURL(e.rootPath, A)) : le.isAbsolute(e.rootPath) && (A = e.rootPath + le.sep + A), A = e.extractQueryParams(A, e.queryParams), e.queryParams) {
3887
+ if (i.test(e.rootPath) ? i.test(A) || (A = e.assembleURL(e.rootPath, A)) : be.isAbsolute(e.rootPath) && (A = e.rootPath + be.sep + A), A = e.extractQueryParams(A, e.queryParams), e.queryParams) {
3888
3888
  var s = "";
3889
3889
  for (let r in e.queryParams) e.queryParams.hasOwnProperty(r) && (s += "&" + r + "=" + e.queryParams[r]);
3890
3890
  A.includes("?") ? A += s : A += "?" + s.substring(1);
@@ -3897,7 +3897,7 @@ class Ga extends E.Object3D {
3897
3897
  this.deleted || this.meshContent.add(e);
3898
3898
  }
3899
3899
  loadJson(e, a) {
3900
- this.deleted || (this.json.children && (this.jsonChildren = this.json.children), e.rootPath = le.dirname(a), this.jsonChildren.push(e), this.hasUnloadedJSONContent--);
3900
+ this.deleted || (this.json.children && (this.jsonChildren = this.json.children), e.rootPath = be.dirname(a), this.jsonChildren.push(e), this.hasUnloadedJSONContent--);
3901
3901
  }
3902
3902
  dispose() {
3903
3903
  const e = this;
@@ -3994,8 +3994,8 @@ class Ga extends E.Object3D {
3994
3994
  return this.matrixWorld;
3995
3995
  }
3996
3996
  transformWGS84ToCartesian(e, a, t, A) {
3997
- const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), o = Math.sin(a), n = i + t, l = n * s * r, d = n * s * Math.sin(e), g = (0.993305615557957 * i + t) * o;
3998
- A.set(l, d, g);
3997
+ const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), o = Math.sin(a), n = i + t, b = n * s * r, d = n * s * Math.sin(e), g = (0.993305615557957 * i + t) * o;
3998
+ A.set(b, d, g);
3999
3999
  }
4000
4000
  }
4001
4001
  class as extends E.Object3D {
@@ -4171,9 +4171,9 @@ class ts {
4171
4171
  }
4172
4172
  }
4173
4173
  }
4174
- get(e, a, t, A, i, s, r, o, n, l) {
4175
- const d = this, g = function(b) {
4176
- for (var f = b.split("/"), I = [], p = 0, u = 0; u < f.length; u++) {
4174
+ get(e, a, t, A, i, s, r, o, n, b) {
4175
+ const d = this, g = function(l) {
4176
+ for (var f = l.split("/"), I = [], p = 0, u = 0; u < f.length; u++) {
4177
4177
  var B = f[u];
4178
4178
  B !== "." && B !== "" && B !== ".." ? I[p++] = B : B === ".." && p > 0 && p--;
4179
4179
  }
@@ -4186,19 +4186,19 @@ class ts {
4186
4186
  const h = d.cache.get(g);
4187
4187
  if (h) h.addInstance(A);
4188
4188
  else if (a.includes(".b3dm") || a.includes(".glb") || a.includes(".gltf")) {
4189
- const b = new Yi(d.scene);
4190
- b.addInstance(A), d.cache.put(g, b);
4189
+ const l = new Yi(d.scene);
4190
+ l.addInstance(A), d.cache.put(g, l);
4191
4191
  const f = new AbortController();
4192
4192
  e.signal.addEventListener("abort", () => {
4193
- b.getCount() == 0 && f.abort();
4194
- }), this.downloads.push({ abortController: f, tile: b, key: g, path: a, distanceFunction: i, getSiblings: s, level: r, uuid: t, sceneZupToYup: o, meshZupToYup: n, geometricError: l, shouldDoDownload: () => !0 });
4193
+ l.getCount() == 0 && f.abort();
4194
+ }), this.downloads.push({ abortController: f, tile: l, key: g, path: a, distanceFunction: i, getSiblings: s, level: r, uuid: t, sceneZupToYup: o, meshZupToYup: n, geometricError: b, shouldDoDownload: () => !0 });
4195
4195
  } else if (a.includes(".json")) {
4196
- const b = new Wi();
4197
- b.addInstance(A), d.cache.put(g, b);
4196
+ const l = new Wi();
4197
+ l.addInstance(A), d.cache.put(g, l);
4198
4198
  const f = new AbortController();
4199
4199
  e.signal.addEventListener("abort", () => {
4200
- b.getCount() == 0 && f.abort();
4201
- }), this.downloads.push({ abortController: f, tile: b, key: g, path: a, distanceFunction: i, getSiblings: s, level: r, shouldDoDownload: () => !0 });
4200
+ l.getCount() == 0 && f.abort();
4201
+ }), this.downloads.push({ abortController: f, tile: l, key: g, path: a, distanceFunction: i, getSiblings: s, level: r, shouldDoDownload: () => !0 });
4202
4202
  }
4203
4203
  }
4204
4204
  _getNextDownloads() {