@needle-tools/engine 4.7.2-next.d24ebbc → 4.7.3-next.1603bb0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/gltf-progressive-BCZdu3Gc.min.js +8 -0
  3. package/dist/gltf-progressive-C6QbvrB4.umd.cjs +8 -0
  4. package/dist/{gltf-progressive-CNdBjvz6.js → gltf-progressive-CCddD-3B.js} +413 -399
  5. package/dist/{needle-engine.bundle-CGXifNgp.min.js → needle-engine.bundle-6bPQlS1q.min.js} +102 -102
  6. package/dist/{needle-engine.bundle-CHfSBXXT.js → needle-engine.bundle-CL5SiInU.js} +1962 -1889
  7. package/dist/{needle-engine.bundle-Dcn5L5IY.umd.cjs → needle-engine.bundle-Dm9L7JpU.umd.cjs} +70 -70
  8. package/dist/needle-engine.d.ts +21 -0
  9. package/dist/needle-engine.js +3 -3
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/dist/{postprocessing-xYQWCHFu.min.js → postprocessing-BzY0H7ry.min.js} +9 -9
  13. package/dist/{postprocessing-CjW23fio.umd.cjs → postprocessing-Dw2OCMp4.umd.cjs} +9 -9
  14. package/dist/{postprocessing-DYLNOL3W.js → postprocessing-vKBVFpSz.js} +10 -10
  15. package/dist/{three-examples-DaDLBuy6.min.js → three-examples-BMOhDaYR.min.js} +17 -17
  16. package/dist/{three-examples-X3OadjXB.umd.cjs → three-examples-DUcCNw9s.umd.cjs} +17 -17
  17. package/dist/{three-examples-B50TT3Iu.js → three-examples-tvuhV8Ne.js} +688 -688
  18. package/lib/engine/engine_create_objects.js +24 -1
  19. package/lib/engine/engine_create_objects.js.map +1 -1
  20. package/lib/engine/engine_input.js +3 -0
  21. package/lib/engine/engine_input.js.map +1 -1
  22. package/lib/engine/engine_physics.d.ts +13 -1
  23. package/lib/engine/engine_physics.js +15 -7
  24. package/lib/engine/engine_physics.js.map +1 -1
  25. package/lib/engine/webcomponents/needle-engine.js +14 -11
  26. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  27. package/lib/engine-components/OrbitControls.d.ts +57 -0
  28. package/lib/engine-components/OrbitControls.js +68 -9
  29. package/lib/engine-components/OrbitControls.js.map +1 -1
  30. package/lib/engine-components/Skybox.d.ts +1 -0
  31. package/lib/engine-components/Skybox.js +14 -18
  32. package/lib/engine-components/Skybox.js.map +1 -1
  33. package/lib/engine-components/postprocessing/PostProcessingHandler.js +1 -1
  34. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
  35. package/lib/engine-components/postprocessing/Volume.d.ts +3 -1
  36. package/lib/engine-components/postprocessing/Volume.js +2 -0
  37. package/lib/engine-components/postprocessing/Volume.js.map +1 -1
  38. package/lib/engine-components/ui/EventSystem.js +9 -10
  39. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  40. package/package.json +3 -3
  41. package/plugins/common/logger.js +34 -16
  42. package/plugins/vite/logger.client.js +123 -52
  43. package/plugins/vite/logger.js +5 -5
  44. package/src/engine/engine_create_objects.ts +24 -1
  45. package/src/engine/engine_input.ts +8 -1
  46. package/src/engine/engine_physics.ts +26 -8
  47. package/src/engine/webcomponents/needle-engine.ts +15 -13
  48. package/src/engine-components/OrbitControls.ts +94 -14
  49. package/src/engine-components/Skybox.ts +15 -21
  50. package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
  51. package/src/engine-components/postprocessing/Volume.ts +2 -1
  52. package/src/engine-components/ui/EventSystem.ts +8 -9
  53. package/dist/gltf-progressive-C_oN6wCA.umd.cjs +0 -8
  54. package/dist/gltf-progressive-MgWOszRl.min.js +0 -8
@@ -1,5 +1,5 @@
1
- import { Mesh as z, SphereGeometry as ci, Vector3 as P, MeshBasicMaterial as Qt, Node as ra, PerspectiveCamera as ds, NodeFrame as aa, NodeBuilder as Aa, GLSLNodeParser as ca, ShaderLib as wt, UniformsUtils as li, UniformsLib as Un, normalView as la, defaultShaderStages as Kn, ShaderChunk as ha, Material as tn, TrianglesDrawMode as ua, TriangleFanDrawMode as Js, TriangleStripDrawMode as So, Matrix4 as ue, Loader as Nt, LoaderUtils as nn, FileLoader as ft, MeshPhysicalMaterial as Tt, Vector2 as Le, Color as Se, LinearSRGBColorSpace as Ve, SRGBColorSpace as ge, SpotLight as vo, PointLight as Ws, DirectionalLight as To, InstancedMesh as ga, Quaternion as ve, InstancedBufferAttribute as da, Object3D as xt, TextureLoader as hi, ImageBitmapLoader as pa, BufferAttribute as nt, InterleavedBuffer as fa, LinearMipmapLinearFilter as ps, NearestMipmapLinearFilter as Ro, LinearMipmapNearestFilter as _o, NearestMipmapNearestFilter as Do, LinearFilter as mt, NearestFilter as Mo, RepeatWrapping as rn, MirroredRepeatWrapping as ko, ClampToEdgeWrapping as As, PointsMaterial as Dn, LineBasicMaterial as Lt, MeshStandardMaterial as ui, DoubleSide as gi, PropertyBinding as It, BufferGeometry as ut, SkinnedMesh as di, LineSegments as cs, Line as dt, LineLoop as ma, Points as is, Group as sn, MathUtils as ye, OrthographicCamera as Fo, Skeleton as Lo, AnimationClip as pi, Bone as Vs, InterpolateDiscrete as fi, InterpolateLinear as jn, InterleavedBufferAttribute as en, Texture as Xs, VectorKeyframeTrack as ls, NumberKeyframeTrack as hs, QuaternionKeyframeTrack as us, ColorManagement as We, FrontSide as No, Interpolant as Ia, Box3 as fs, Sphere as mi, RGBA_S3TC_DXT1_Format as ba, RGB_PVRTC_4BPPV1_Format as Ea, RGB_ETC2_Format as Ca, RGB_ETC1_Format as Ba, RGBA_S3TC_DXT5_Format as wa, RGBA_PVRTC_4BPPV1_Format as ya, RGBA_ETC2_EAC_Format as Qa, RGBA_BPTC_Format as xa, RGBA_ASTC_4x4_Format as Uo, RGBAFormat as Kt, CompressedCubeTexture as Sa, UnsignedByteType as pt, CompressedArrayTexture as va, CompressedTexture as Gn, DisplayP3ColorSpace as Ta, LinearDisplayP3ColorSpace as Ra, NoColorSpace as gs, RGBA_ASTC_6x6_Format as Ri, RedFormat as dn, RGFormat as Mn, HalfFloatType as st, FloatType as St, DataTexture as _a, Data3DTexture as Da, ExtrudeGeometry as Ma, ShapePath as ka, Raycaster as Ii, CylinderGeometry as Ke, BoxGeometry as je, Float32BufferAttribute as ke, OctahedronGeometry as Yn, TorusGeometry as Cn, Euler as zt, Controls as Go, PlaneGeometry as bi, DataTextureLoader as Po, DataUtils as pn, Vector4 as Ut, Curve as Fa, MeshPhongMaterial as Pn, MeshLambertMaterial as La, EquirectangularReflectionMapping as Na, AmbientLight as Ua, Uint16BufferAttribute as Ga, Matrix3 as Oo, ShapeUtils as Pa, DefaultLoadingManager as Oa, Ray as Ha, Plane as ja, MOUSE as mn, TOUCH as fn, Spherical as _i, ShaderMaterial as Ho, Uniform$1 as qa, Scene as Zs, WebGLRenderer as za, CanvasTexture as jo, REVISION as Ka, Source as Ya, InstancedBufferGeometry as Ja, InstancedInterleavedBuffer as $s, WireframeGeometry as Wa, Line3 as Va, ColorKeyframeTrack as Xa } from "./three-DrqIzZTH.js";
2
- class eh extends z {
1
+ import { Mesh as z, SphereGeometry as ci, Vector3 as P, MeshBasicMaterial as Qt, Node as ra, PerspectiveCamera as ps, NodeFrame as aa, NodeBuilder as Aa, GLSLNodeParser as ca, ShaderLib as wt, UniformsUtils as li, UniformsLib as Gn, normalView as la, defaultShaderStages as Yn, ShaderChunk as ha, Material as nn, TrianglesDrawMode as ua, TriangleFanDrawMode as Js, TriangleStripDrawMode as So, Matrix4 as ue, Loader as Nt, LoaderUtils as sn, FileLoader as ft, MeshPhysicalMaterial as Tt, Vector2 as Le, Color as Se, LinearSRGBColorSpace as Ve, SRGBColorSpace as ge, SpotLight as vo, PointLight as Ws, DirectionalLight as To, InstancedMesh as ga, Quaternion as ve, InstancedBufferAttribute as da, Object3D as xt, TextureLoader as hi, ImageBitmapLoader as pa, BufferAttribute as nt, InterleavedBuffer as fa, LinearMipmapLinearFilter as fs, NearestMipmapLinearFilter as _o, LinearMipmapNearestFilter as Ro, NearestMipmapNearestFilter as Do, LinearFilter as mt, NearestFilter as Mo, RepeatWrapping as an, MirroredRepeatWrapping as ko, ClampToEdgeWrapping as cs, PointsMaterial as Mn, LineBasicMaterial as Lt, MeshStandardMaterial as ui, DoubleSide as gi, PropertyBinding as It, BufferGeometry as ut, SkinnedMesh as di, LineSegments as ls, Line as dt, LineLoop as ma, Points as os, Group as on, MathUtils as ye, OrthographicCamera as Fo, Skeleton as Lo, AnimationClip as pi, Bone as Vs, InterpolateDiscrete as fi, InterpolateLinear as qn, InterleavedBufferAttribute as tn, Texture as Xs, VectorKeyframeTrack as hs, NumberKeyframeTrack as us, QuaternionKeyframeTrack as gs, ColorManagement as We, FrontSide as No, Interpolant as Ia, Box3 as ms, Sphere as mi, RGBA_S3TC_DXT1_Format as ba, RGB_PVRTC_4BPPV1_Format as Ea, RGB_ETC2_Format as Ca, RGB_ETC1_Format as Ba, RGBA_S3TC_DXT5_Format as wa, RGBA_PVRTC_4BPPV1_Format as ya, RGBA_ETC2_EAC_Format as Qa, RGBA_BPTC_Format as xa, RGBA_ASTC_4x4_Format as Uo, RGBAFormat as Kt, CompressedCubeTexture as Sa, UnsignedByteType as pt, CompressedArrayTexture as va, CompressedTexture as Pn, DisplayP3ColorSpace as Ta, LinearDisplayP3ColorSpace as _a, NoColorSpace as ds, RGBA_ASTC_6x6_Format as _i, RedFormat as pn, RGFormat as kn, HalfFloatType as st, FloatType as St, DataTexture as Ra, Data3DTexture as Da, ExtrudeGeometry as Ma, ShapePath as ka, Raycaster as Ii, CylinderGeometry as Ke, BoxGeometry as je, Float32BufferAttribute as ke, OctahedronGeometry as Jn, TorusGeometry as Bn, Euler as zt, Controls as Go, PlaneGeometry as bi, DataTextureLoader as Po, DataUtils as fn, Vector4 as Ut, Curve as Fa, MeshPhongMaterial as On, MeshLambertMaterial as La, EquirectangularReflectionMapping as Na, AmbientLight as Ua, Uint16BufferAttribute as Ga, Matrix3 as Oo, ShapeUtils as Pa, DefaultLoadingManager as Oa, Ray as Ha, Plane as ja, MOUSE as In, TOUCH as mn, Spherical as Ri, ShaderMaterial as Ho, Uniform$1 as qa, Scene as Zs, WebGLRenderer as za, CanvasTexture as jo, REVISION as Ka, Source as Ya, InstancedBufferGeometry as Ja, InstancedInterleavedBuffer as $s, WireframeGeometry as Wa, Line3 as Va, ColorKeyframeTrack as Xa } from "./three-DrqIzZTH.js";
2
+ class th extends z {
3
3
  constructor(e, t, s, n = 128) {
4
4
  if (t <= 0 || s <= 0 || n <= 0)
5
5
  throw new Error("GroundedSkybox height, radius, and resolution must be positive.");
@@ -23,7 +23,7 @@ class Ce extends ra {
23
23
  }
24
24
  }
25
25
  const tt = new aa();
26
- tt.camera = new ds();
26
+ tt.camera = new ps();
27
27
  const Di = {
28
28
  LineBasicNodeMaterial: wt.basic,
29
29
  MeshBasicNodeMaterial: wt.basic,
@@ -41,7 +41,7 @@ const Di = {
41
41
  function Ot(A) {
42
42
  return `#include <${A}>`;
43
43
  }
44
- function Bn(A) {
44
+ function wn(A) {
45
45
  return `${A}Shader`;
46
46
  }
47
47
  class eA extends Aa {
@@ -59,7 +59,7 @@ class eA extends Aa {
59
59
  let t = e.type;
60
60
  if (e.isMeshPhysicalNodeMaterial ? t = "MeshPhysicalNodeMaterial" : e.isMeshStandardNodeMaterial ? t = "MeshStandardNodeMaterial" : e.isMeshPhongNodeMaterial ? t = "MeshPhongNodeMaterial" : e.isMeshBasicNodeMaterial ? t = "MeshBasicNodeMaterial" : e.isPointsNodeMaterial ? t = "PointsNodeMaterial" : e.isLineBasicNodeMaterial && (t = "LineBasicNodeMaterial"), Di[t] !== void 0) {
61
61
  const s = Di[t], n = this.shader;
62
- n.vertexShader = s.vertexShader, n.fragmentShader = s.fragmentShader, n.uniforms = li.merge([s.uniforms, Un.lights]);
62
+ n.vertexShader = s.vertexShader, n.fragmentShader = s.fragmentShader, n.uniforms = li.merge([s.uniforms, Gn.lights]);
63
63
  }
64
64
  }
65
65
  _parseObject() {
@@ -251,7 +251,7 @@ ${s.code}
251
251
  return t;
252
252
  }
253
253
  addCode(e, t, s, n = this) {
254
- const i = Bn(e);
254
+ const i = wn(e);
255
255
  let o = n[i];
256
256
  const r = o.indexOf(t);
257
257
  if (r !== -1) {
@@ -263,7 +263,7 @@ ${c}`;
263
263
  n[i] = o;
264
264
  }
265
265
  replaceCode(e, t, s, n = this) {
266
- const i = Bn(e);
266
+ const i = wn(e);
267
267
  n[i] = n[i].replaceAll(t, s);
268
268
  }
269
269
  getVertexIndex() {
@@ -280,7 +280,7 @@ ${c}`;
280
280
  }
281
281
  buildCode() {
282
282
  const e = {};
283
- for (const t of Kn) {
283
+ for (const t of Yn) {
284
284
  const s = this.getUniforms(t), n = this.getAttributes(t), i = this.getVaryings(t), o = this.getVars(t), r = this.getCodes(t);
285
285
  e[t] = `${this.getSignature()}
286
286
  // <node_builder>
@@ -302,7 +302,7 @@ ${r}
302
302
 
303
303
  // </node_builder>
304
304
 
305
- ${this.shader[Bn(t)]}
305
+ ${this.shader[wn(t)]}
306
306
  `;
307
307
  }
308
308
  this.vertexShader = e.vertex, this.fragmentShader = e.fragment;
@@ -312,19 +312,19 @@ ${this.shader[Bn(t)]}
312
312
  }
313
313
  _parseInclude(e, ...t) {
314
314
  for (const s of t) {
315
- const n = Ot(s), i = ha[s], o = Bn(e);
315
+ const n = Ot(s), i = ha[s], o = wn(e);
316
316
  this.shader[o] = this.shader[o].replaceAll(n, i);
317
317
  }
318
318
  }
319
319
  _sortSlotsToFlow() {
320
- for (const e of Kn) {
321
- const t = this.shader[Bn(e)], s = this.slots[e].sort((n, i) => t.indexOf(n.source) > t.indexOf(i.source) ? 1 : -1);
320
+ for (const e of Yn) {
321
+ const t = this.shader[wn(e)], s = this.slots[e].sort((n, i) => t.indexOf(n.source) > t.indexOf(i.source) ? 1 : -1);
322
322
  for (const n of s)
323
323
  this.addFlow(e, n);
324
324
  }
325
325
  }
326
326
  _addSnippets() {
327
- for (const e of Kn) {
327
+ for (const e of Yn) {
328
328
  for (const t of this.slots[e]) {
329
329
  const s = this.getFlowData(
330
330
  t
@@ -342,7 +342,7 @@ ${this.shader[Bn(t)]}
342
342
  }
343
343
  }
344
344
  _addUniforms() {
345
- for (const e of Kn)
345
+ for (const e of Yn)
346
346
  for (const t of this.uniforms[e])
347
347
  this.shader.uniforms[t.name] = t;
348
348
  }
@@ -353,7 +353,7 @@ ${this.shader[Bn(t)]}
353
353
  }
354
354
  }
355
355
  const qo = /* @__PURE__ */ new WeakMap();
356
- tn.prototype.onBuild = function(A, e, t) {
356
+ nn.prototype.onBuild = function(A, e, t) {
357
357
  const s = this;
358
358
  if (s.isNodeMaterial === !0) {
359
359
  let n;
@@ -364,7 +364,7 @@ tn.prototype.onBuild = function(A, e, t) {
364
364
  }
365
365
  }
366
366
  };
367
- tn.prototype.onBeforeRender = function(A, e, t, s, n) {
367
+ nn.prototype.onBeforeRender = function(A, e, t, s, n) {
368
368
  const i = qo.get(this);
369
369
  if (i !== void 0) {
370
370
  tt.material = this, tt.camera = t, tt.object = n, tt.renderer = A, tt.scene = e, tt.geometry = s;
@@ -376,7 +376,7 @@ tn.prototype.onBeforeRender = function(A, e, t, s, n) {
376
376
  }
377
377
  }
378
378
  };
379
- var os = function() {
379
+ var rs = function() {
380
380
  var A = 0, e = document.createElement("div");
381
381
  e.style.cssText = "position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000", e.addEventListener("click", function(l) {
382
382
  l.preventDefault(), s(++A % e.children.length);
@@ -389,9 +389,9 @@ var os = function() {
389
389
  e.children[h].style.display = h === l ? "block" : "none";
390
390
  A = l;
391
391
  }
392
- var n = (performance || Date).now(), i = n, o = 0, r = t(new os.Panel("FPS", "#0ff", "#002")), a = t(new os.Panel("MS", "#0f0", "#020"));
392
+ var n = (performance || Date).now(), i = n, o = 0, r = t(new rs.Panel("FPS", "#0ff", "#002")), a = t(new rs.Panel("MS", "#0f0", "#020"));
393
393
  if (self.performance && self.performance.memory)
394
- var c = t(new os.Panel("MB", "#f08", "#201"));
394
+ var c = t(new rs.Panel("MB", "#f08", "#201"));
395
395
  return s(0), {
396
396
  REVISION: 16,
397
397
  dom: e,
@@ -417,7 +417,7 @@ var os = function() {
417
417
  setMode: s
418
418
  };
419
419
  };
420
- os.Panel = function(A, e, t) {
420
+ rs.Panel = function(A, e, t) {
421
421
  var s = 1 / 0, n = 0, i = Math.round, o = i(window.devicePixelRatio || 1), r = 80 * o, a = 48 * o, c = 3 * o, l = 2 * o, h = 3 * o, g = 15 * o, d = 74 * o, p = 30 * o, m = document.createElement("canvas");
422
422
  m.width = r, m.height = a, m.style.cssText = "width:80px;height:48px";
423
423
  var I = m.getContext("2d");
@@ -428,7 +428,7 @@ os.Panel = function(A, e, t) {
428
428
  }
429
429
  };
430
430
  };
431
- function th(A, e = 1e-4) {
431
+ function nh(A, e = 1e-4) {
432
432
  e = Math.max(e, Number.EPSILON);
433
433
  const t = {}, s = A.getIndex(), n = A.getAttribute("position"), i = s ? s.count : n.count;
434
434
  let o = 0;
@@ -440,26 +440,26 @@ function th(A, e = 1e-4) {
440
440
  Q.itemSize,
441
441
  Q.normalized
442
442
  );
443
- const R = A.morphAttributes[w];
444
- R && (c[w] || (c[w] = []), R.forEach((_, x) => {
445
- const v = new _.array.constructor(_.count * _.itemSize);
446
- c[w][x] = new _.constructor(v, _.itemSize, _.normalized);
443
+ const _ = A.morphAttributes[w];
444
+ _ && (c[w] || (c[w] = []), _.forEach((R, x) => {
445
+ const v = new R.array.constructor(R.count * R.itemSize);
446
+ c[w][x] = new R.constructor(v, R.itemSize, R.normalized);
447
447
  }));
448
448
  }
449
449
  const d = e * 0.5, p = Math.log10(1 / e), m = Math.pow(10, p), I = d * m;
450
450
  for (let B = 0; B < i; B++) {
451
451
  const E = s ? s.getX(B) : B;
452
452
  let w = "";
453
- for (let Q = 0, R = r.length; Q < R; Q++) {
454
- const _ = r[Q], x = A.getAttribute(_), v = x.itemSize;
453
+ for (let Q = 0, _ = r.length; Q < _; Q++) {
454
+ const R = r[Q], x = A.getAttribute(R), v = x.itemSize;
455
455
  for (let L = 0; L < v; L++)
456
456
  w += `${~~(x[h[L]](E) * m + I)},`;
457
457
  }
458
458
  if (w in t)
459
459
  l.push(t[w]);
460
460
  else {
461
- for (let Q = 0, R = r.length; Q < R; Q++) {
462
- const _ = r[Q], x = A.getAttribute(_), v = A.morphAttributes[_], L = x.itemSize, N = a[_], O = c[_];
461
+ for (let Q = 0, _ = r.length; Q < _; Q++) {
462
+ const R = r[Q], x = A.getAttribute(R), v = A.morphAttributes[R], L = x.itemSize, N = a[R], O = c[R];
463
463
  for (let Z = 0; Z < L; Z++) {
464
464
  const U = h[Z], q = g[Z];
465
465
  if (N[q](o, x[U](E)), v)
@@ -560,10 +560,10 @@ class zo extends Nt {
560
560
  if (this.resourcePath !== "")
561
561
  o = this.resourcePath;
562
562
  else if (this.path !== "") {
563
- const c = nn.extractUrlBase(e);
564
- o = nn.resolveURL(c, this.path);
563
+ const c = sn.extractUrlBase(e);
564
+ o = sn.resolveURL(c, this.path);
565
565
  } else
566
- o = nn.extractUrlBase(e);
566
+ o = sn.extractUrlBase(e);
567
567
  this.manager.itemStart(e);
568
568
  const r = function(c) {
569
569
  n ? n(c) : console.error(c), i.manager.itemError(e), i.manager.itemEnd(e);
@@ -1091,11 +1091,11 @@ let bA = class {
1091
1091
  }));
1092
1092
  }
1093
1093
  };
1094
- const Ko = "glTF", wn = 12, ki = { JSON: 1313821514, BIN: 5130562 };
1094
+ const Ko = "glTF", yn = 12, ki = { JSON: 1313821514, BIN: 5130562 };
1095
1095
  class EA {
1096
1096
  constructor(e) {
1097
1097
  this.name = oe.KHR_BINARY_GLTF, this.content = null, this.body = null;
1098
- const t = new DataView(e, 0, wn), s = new TextDecoder();
1098
+ const t = new DataView(e, 0, yn), s = new TextDecoder();
1099
1099
  if (this.header = {
1100
1100
  magic: s.decode(new Uint8Array(e.slice(0, 4))),
1101
1101
  version: t.getUint32(4, !0),
@@ -1104,17 +1104,17 @@ class EA {
1104
1104
  throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
1105
1105
  if (this.header.version < 2)
1106
1106
  throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
1107
- const n = this.header.length - wn, i = new DataView(e, wn);
1107
+ const n = this.header.length - yn, i = new DataView(e, yn);
1108
1108
  let o = 0;
1109
1109
  for (; o < n; ) {
1110
1110
  const r = i.getUint32(o, !0);
1111
1111
  o += 4;
1112
1112
  const a = i.getUint32(o, !0);
1113
1113
  if (o += 4, a === ki.JSON) {
1114
- const c = new Uint8Array(e, wn + o, r);
1114
+ const c = new Uint8Array(e, yn + o, r);
1115
1115
  this.content = s.decode(c);
1116
1116
  } else if (a === ki.BIN) {
1117
- const c = wn + o;
1117
+ const c = yn + o;
1118
1118
  this.body = e.slice(c, c + r);
1119
1119
  }
1120
1120
  o += r;
@@ -1138,7 +1138,7 @@ class CA {
1138
1138
  for (const l in e.attributes) {
1139
1139
  const h = ei[l] || l.toLowerCase();
1140
1140
  if (o[l] !== void 0) {
1141
- const g = s.accessors[e.attributes[l]], d = In[g.componentType];
1141
+ const g = s.accessors[e.attributes[l]], d = bn[g.componentType];
1142
1142
  c[h] = d.name, a[h] = g.normalized === !0;
1143
1143
  }
1144
1144
  }
@@ -1181,8 +1181,8 @@ class Yo extends Ia {
1181
1181
  interpolate_(e, t, s, n) {
1182
1182
  const i = this.resultBuffer, o = this.sampleValues, r = this.valueSize, a = r * 2, c = r * 3, l = n - t, h = (s - t) / l, g = h * h, d = g * h, p = e * c, m = p - c, I = -2 * d + 3 * g, b = d - g, B = 1 - I, E = b - g + h;
1183
1183
  for (let w = 0; w !== r; w++) {
1184
- const Q = o[m + w + r], R = o[m + w + a] * l, _ = o[p + w + r], x = o[p + w] * l;
1185
- i[w] = B * Q + E * R + I * _ + b * x;
1184
+ const Q = o[m + w + r], _ = o[m + w + a] * l, R = o[p + w + r], x = o[p + w] * l;
1185
+ i[w] = B * Q + E * _ + I * R + b * x;
1186
1186
  }
1187
1187
  return i;
1188
1188
  }
@@ -1202,7 +1202,7 @@ const ht = {
1202
1202
  TRIANGLES: 4,
1203
1203
  TRIANGLE_STRIP: 5,
1204
1204
  TRIANGLE_FAN: 6
1205
- }, In = {
1205
+ }, bn = {
1206
1206
  5120: Int8Array,
1207
1207
  5121: Uint8Array,
1208
1208
  5122: Int16Array,
@@ -1213,14 +1213,14 @@ const ht = {
1213
1213
  9728: Mo,
1214
1214
  9729: mt,
1215
1215
  9984: Do,
1216
- 9985: _o,
1217
- 9986: Ro,
1218
- 9987: ps
1216
+ 9985: Ro,
1217
+ 9986: _o,
1218
+ 9987: fs
1219
1219
  }, Li = {
1220
- 33071: As,
1220
+ 33071: cs,
1221
1221
  33648: ko,
1222
- 10497: rn
1223
- }, Cs = {
1222
+ 10497: an
1223
+ }, Bs = {
1224
1224
  SCALAR: 1,
1225
1225
  VEC2: 2,
1226
1226
  VEC3: 3,
@@ -1248,9 +1248,9 @@ const ht = {
1248
1248
  CUBICSPLINE: void 0,
1249
1249
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
1250
1250
  // keyframe track will be initialized with a default interpolation type, then modified.
1251
- LINEAR: jn,
1251
+ LINEAR: qn,
1252
1252
  STEP: fi
1253
- }, Bs = {
1253
+ }, ws = {
1254
1254
  OPAQUE: "OPAQUE",
1255
1255
  MASK: "MASK",
1256
1256
  BLEND: "BLEND"
@@ -1319,15 +1319,15 @@ function TA(A, e) {
1319
1319
  console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
1320
1320
  }
1321
1321
  }
1322
- function RA(A) {
1322
+ function _A(A) {
1323
1323
  let e;
1324
1324
  const t = A.extensions && A.extensions[oe.KHR_DRACO_MESH_COMPRESSION];
1325
- if (t ? e = "draco:" + t.bufferView + ":" + t.indices + ":" + ws(t.attributes) : e = A.indices + ":" + ws(A.attributes) + ":" + A.mode, A.targets !== void 0)
1325
+ if (t ? e = "draco:" + t.bufferView + ":" + t.indices + ":" + ys(t.attributes) : e = A.indices + ":" + ys(A.attributes) + ":" + A.mode, A.targets !== void 0)
1326
1326
  for (let s = 0, n = A.targets.length; s < n; s++)
1327
- e += ":" + ws(A.targets[s]);
1327
+ e += ":" + ys(A.targets[s]);
1328
1328
  return e;
1329
1329
  }
1330
- function ws(A) {
1330
+ function ys(A) {
1331
1331
  let e = "";
1332
1332
  const t = Object.keys(A).sort();
1333
1333
  for (let s = 0, n = t.length; s < n; s++)
@@ -1348,7 +1348,7 @@ function ti(A) {
1348
1348
  throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
1349
1349
  }
1350
1350
  }
1351
- function _A(A) {
1351
+ function RA(A) {
1352
1352
  return A.search(/\.jpe?g($|\?)/i) > 0 || A.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : A.search(/\.webp($|\?)/i) > 0 || A.search(/^data\:image\/webp/) === 0 ? "image/webp" : "image/png";
1353
1353
  }
1354
1354
  const DA = new ue();
@@ -1553,7 +1553,7 @@ class MA {
1553
1553
  return Promise.resolve(this.extensions[oe.KHR_BINARY_GLTF].body);
1554
1554
  const n = this.options;
1555
1555
  return new Promise(function(i, o) {
1556
- s.load(nn.resolveURL(t.uri, n.path), i, void 0, function() {
1556
+ s.load(sn.resolveURL(t.uri, n.path), i, void 0, function() {
1557
1557
  o(new Error('THREE.GLTFLoader: Failed to load buffer "' + t.uri + '".'));
1558
1558
  });
1559
1559
  });
@@ -1578,25 +1578,25 @@ class MA {
1578
1578
  loadAccessor(e) {
1579
1579
  const t = this, s = this.json, n = this.json.accessors[e];
1580
1580
  if (n.bufferView === void 0 && n.sparse === void 0) {
1581
- const o = Cs[n.type], r = In[n.componentType], a = n.normalized === !0, c = new r(n.count * o);
1581
+ const o = Bs[n.type], r = bn[n.componentType], a = n.normalized === !0, c = new r(n.count * o);
1582
1582
  return Promise.resolve(new nt(c, o, a));
1583
1583
  }
1584
1584
  const i = [];
1585
1585
  return n.bufferView !== void 0 ? i.push(this.getDependency("bufferView", n.bufferView)) : i.push(null), n.sparse !== void 0 && (i.push(this.getDependency("bufferView", n.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", n.sparse.values.bufferView))), Promise.all(i).then(function(o) {
1586
- const r = o[0], a = Cs[n.type], c = In[n.componentType], l = c.BYTES_PER_ELEMENT, h = l * a, g = n.byteOffset || 0, d = n.bufferView !== void 0 ? s.bufferViews[n.bufferView].byteStride : void 0, p = n.normalized === !0;
1586
+ const r = o[0], a = Bs[n.type], c = bn[n.componentType], l = c.BYTES_PER_ELEMENT, h = l * a, g = n.byteOffset || 0, d = n.bufferView !== void 0 ? s.bufferViews[n.bufferView].byteStride : void 0, p = n.normalized === !0;
1587
1587
  let m, I;
1588
1588
  if (d && d !== h) {
1589
1589
  const b = Math.floor(g / d), B = "InterleavedBuffer:" + n.bufferView + ":" + n.componentType + ":" + b + ":" + n.count;
1590
1590
  let E = t.cache.get(B);
1591
- E || (m = new c(r, b * d, n.count * d / l), E = new fa(m, d / l), t.cache.add(B, E)), I = new en(E, a, g % d / l, p);
1591
+ E || (m = new c(r, b * d, n.count * d / l), E = new fa(m, d / l), t.cache.add(B, E)), I = new tn(E, a, g % d / l, p);
1592
1592
  } else
1593
1593
  r === null ? m = new c(n.count * a) : m = new c(r, g, n.count * a), I = new nt(m, a, p);
1594
1594
  if (n.sparse !== void 0) {
1595
- const b = Cs.SCALAR, B = In[n.sparse.indices.componentType], E = n.sparse.indices.byteOffset || 0, w = n.sparse.values.byteOffset || 0, Q = new B(o[1], E, n.sparse.count * b), R = new c(o[2], w, n.sparse.count * a);
1595
+ const b = Bs.SCALAR, B = bn[n.sparse.indices.componentType], E = n.sparse.indices.byteOffset || 0, w = n.sparse.values.byteOffset || 0, Q = new B(o[1], E, n.sparse.count * b), _ = new c(o[2], w, n.sparse.count * a);
1596
1596
  r !== null && (I = new nt(I.array.slice(), I.itemSize, I.normalized)), I.normalized = !1;
1597
- for (let _ = 0, x = Q.length; _ < x; _++) {
1598
- const v = Q[_];
1599
- if (I.setX(v, R[_ * a]), a >= 2 && I.setY(v, R[_ * a + 1]), a >= 3 && I.setZ(v, R[_ * a + 2]), a >= 4 && I.setW(v, R[_ * a + 3]), a >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
1597
+ for (let R = 0, x = Q.length; R < x; R++) {
1598
+ const v = Q[R];
1599
+ if (I.setX(v, _[R * a]), a >= 2 && I.setY(v, _[R * a + 1]), a >= 3 && I.setZ(v, _[R * a + 2]), a >= 4 && I.setW(v, _[R * a + 3]), a >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
1600
1600
  }
1601
1601
  I.normalized = p;
1602
1602
  }
@@ -1624,7 +1624,7 @@ class MA {
1624
1624
  const c = this.loadImageSource(t, s).then(function(l) {
1625
1625
  l.flipY = !1, l.name = o.name || r.name || "", l.name === "" && typeof r.uri == "string" && r.uri.startsWith("data:image/") === !1 && (l.name = r.uri);
1626
1626
  const g = (i.samplers || {})[o.sampler] || {};
1627
- return l.magFilter = Fi[g.magFilter] || mt, l.minFilter = Fi[g.minFilter] || ps, l.wrapS = Li[g.wrapS] || rn, l.wrapT = Li[g.wrapT] || rn, l.anisotropy = 4, n.associations.set(l, { textures: e }), l;
1627
+ return l.magFilter = Fi[g.magFilter] || mt, l.minFilter = Fi[g.minFilter] || fs, l.wrapS = Li[g.wrapS] || an, l.wrapT = Li[g.wrapT] || an, l.anisotropy = 4, n.associations.set(l, { textures: e }), l;
1628
1628
  }).catch(function() {
1629
1629
  return null;
1630
1630
  });
@@ -1650,10 +1650,10 @@ class MA {
1650
1650
  t.isImageBitmapLoader === !0 && (p = function(m) {
1651
1651
  const I = new Xs(m);
1652
1652
  I.needsUpdate = !0, g(I);
1653
- }), t.load(nn.resolveURL(h, i.path), p, void 0, d);
1653
+ }), t.load(sn.resolveURL(h, i.path), p, void 0, d);
1654
1654
  });
1655
1655
  }).then(function(h) {
1656
- return c === !0 && r.revokeObjectURL(a), kt(h, o), h.userData.mimeType = o.mimeType || _A(o.uri), h;
1656
+ return c === !0 && r.revokeObjectURL(a), kt(h, o), h.userData.mimeType = o.mimeType || RA(o.uri), h;
1657
1657
  }).catch(function(h) {
1658
1658
  throw console.error("THREE.GLTFLoader: Couldn't load texture", a), h;
1659
1659
  });
@@ -1695,11 +1695,11 @@ class MA {
1695
1695
  if (e.isPoints) {
1696
1696
  const r = "PointsMaterial:" + s.uuid;
1697
1697
  let a = this.cache.get(r);
1698
- a || (a = new Dn(), tn.prototype.copy.call(a, s), a.color.copy(s.color), a.map = s.map, a.sizeAttenuation = !1, this.cache.add(r, a)), s = a;
1698
+ a || (a = new Mn(), nn.prototype.copy.call(a, s), a.color.copy(s.color), a.map = s.map, a.sizeAttenuation = !1, this.cache.add(r, a)), s = a;
1699
1699
  } else if (e.isLine) {
1700
1700
  const r = "LineBasicMaterial:" + s.uuid;
1701
1701
  let a = this.cache.get(r);
1702
- a || (a = new Lt(), tn.prototype.copy.call(a, s), a.color.copy(s.color), a.map = s.map, this.cache.add(r, a)), s = a;
1702
+ a || (a = new Lt(), nn.prototype.copy.call(a, s), a.color.copy(s.color), a.map = s.map, this.cache.add(r, a)), s = a;
1703
1703
  }
1704
1704
  if (n || i || o) {
1705
1705
  let r = "ClonedMaterial:" + s.uuid + ":";
@@ -1737,8 +1737,8 @@ class MA {
1737
1737
  })));
1738
1738
  }
1739
1739
  i.doubleSided === !0 && (r.side = gi);
1740
- const l = i.alphaMode || Bs.OPAQUE;
1741
- if (l === Bs.BLEND ? (r.transparent = !0, r.depthWrite = !1) : (r.transparent = !1, l === Bs.MASK && (r.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && o !== Qt && (c.push(t.assignTexture(r, "normalMap", i.normalTexture)), r.normalScale = new Le(1, 1), i.normalTexture.scale !== void 0)) {
1740
+ const l = i.alphaMode || ws.OPAQUE;
1741
+ if (l === ws.BLEND ? (r.transparent = !0, r.depthWrite = !1) : (r.transparent = !1, l === ws.MASK && (r.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && o !== Qt && (c.push(t.assignTexture(r, "normalMap", i.normalTexture)), r.normalScale = new Le(1, 1), i.normalTexture.scale !== void 0)) {
1742
1742
  const h = i.normalTexture.scale;
1743
1743
  r.normalScale.set(h, h);
1744
1744
  }
@@ -1773,7 +1773,7 @@ class MA {
1773
1773
  }
1774
1774
  const o = [];
1775
1775
  for (let r = 0, a = e.length; r < a; r++) {
1776
- const c = e[r], l = RA(c), h = n[l];
1776
+ const c = e[r], l = _A(c), h = n[l];
1777
1777
  if (h)
1778
1778
  o.push(h.promise);
1779
1779
  else {
@@ -1803,13 +1803,13 @@ class MA {
1803
1803
  if (I.mode === ht.TRIANGLES || I.mode === ht.TRIANGLE_STRIP || I.mode === ht.TRIANGLE_FAN || I.mode === void 0)
1804
1804
  b = i.isSkinnedMesh === !0 ? new di(m, B) : new z(m, B), b.isSkinnedMesh === !0 && b.normalizeSkinWeights(), I.mode === ht.TRIANGLE_STRIP ? b.geometry = Mi(b.geometry, So) : I.mode === ht.TRIANGLE_FAN && (b.geometry = Mi(b.geometry, Js));
1805
1805
  else if (I.mode === ht.LINES)
1806
- b = new cs(m, B);
1806
+ b = new ls(m, B);
1807
1807
  else if (I.mode === ht.LINE_STRIP)
1808
1808
  b = new dt(m, B);
1809
1809
  else if (I.mode === ht.LINE_LOOP)
1810
1810
  b = new ma(m, B);
1811
1811
  else if (I.mode === ht.POINTS)
1812
- b = new is(m, B);
1812
+ b = new os(m, B);
1813
1813
  else
1814
1814
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + I.mode);
1815
1815
  Object.keys(b.geometry.morphAttributes).length > 0 && TA(b, i), b.name = t.createUniqueName(i.name || "mesh_" + e), kt(b, i), I.extensions && Vt(n, b, I), t.assignFinalMaterial(b), h.push(b);
@@ -1821,7 +1821,7 @@ class MA {
1821
1821
  });
1822
1822
  if (h.length === 1)
1823
1823
  return i.extensions && Vt(n, h[0], i), h[0];
1824
- const g = new sn();
1824
+ const g = new on();
1825
1825
  i.extensions && Vt(n, g, i), t.associations.set(g, { meshes: e });
1826
1826
  for (let d = 0, p = h.length; d < p; d++)
1827
1827
  g.add(h[d]);
@@ -1840,7 +1840,7 @@ class MA {
1840
1840
  console.warn("THREE.GLTFLoader: Missing camera parameters.");
1841
1841
  return;
1842
1842
  }
1843
- return s.type === "perspective" ? t = new ds(ye.radToDeg(n.yfov), n.aspectRatio || 1, n.znear || 1, n.zfar || 2e6) : s.type === "orthographic" && (t = new Fo(-n.xmag, n.xmag, n.ymag, -n.ymag, n.znear, n.zfar)), s.name && (t.name = this.createUniqueName(s.name)), kt(t, s), Promise.resolve(t);
1843
+ return s.type === "perspective" ? t = new ps(ye.radToDeg(n.yfov), n.aspectRatio || 1, n.znear || 1, n.zfar || 2e6) : s.type === "orthographic" && (t = new Fo(-n.xmag, n.xmag, n.ymag, -n.ymag, n.znear, n.zfar)), s.name && (t.name = this.createUniqueName(s.name)), kt(t, s), Promise.resolve(t);
1844
1844
  }
1845
1845
  /**
1846
1846
  * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins
@@ -1886,10 +1886,10 @@ class MA {
1886
1886
  ]).then(function(d) {
1887
1887
  const p = d[0], m = d[1], I = d[2], b = d[3], B = d[4], E = [];
1888
1888
  for (h = 0, g = p.length; h < g; h++) {
1889
- const w = p[h], Q = m[h], R = I[h], _ = b[h], x = B[h];
1889
+ const w = p[h], Q = m[h], _ = I[h], R = b[h], x = B[h];
1890
1890
  if (w === void 0) continue;
1891
1891
  w.updateMatrix && w.updateMatrix();
1892
- const v = s._createAnimationTracks(w, Q, R, _, x);
1892
+ const v = s._createAnimationTracks(w, Q, _, R, x);
1893
1893
  if (v)
1894
1894
  for (let L = 0; L < v.length; L++)
1895
1895
  E.push(v[L]);
@@ -1949,7 +1949,7 @@ class MA {
1949
1949
  r.push(c);
1950
1950
  }), this.nodeCache[e] = Promise.all(r).then(function(c) {
1951
1951
  let l;
1952
- if (i.isBone === !0 ? l = new Vs() : c.length > 1 ? l = new sn() : c.length === 1 ? l = c[0] : l = new xt(), l !== c[0])
1952
+ if (i.isBone === !0 ? l = new Vs() : c.length > 1 ? l = new on() : c.length === 1 ? l = c[0] : l = new xt(), l !== c[0])
1953
1953
  for (let h = 0, g = c.length; h < g; h++)
1954
1954
  l.add(c[h]);
1955
1955
  if (i.name && (l.userData.name = i.name, l.name = o), kt(l, i), i.extensions && Vt(s, l, i), i.matrix !== void 0) {
@@ -1966,7 +1966,7 @@ class MA {
1966
1966
  * @return {Promise<Group>}
1967
1967
  */
1968
1968
  loadScene(e) {
1969
- const t = this.extensions, s = this.json.scenes[e], n = this, i = new sn();
1969
+ const t = this.extensions, s = this.json.scenes[e], n = this, i = new on();
1970
1970
  s.name && (i.name = n.createUniqueName(s.name)), kt(i, s), s.extensions && Vt(t, i, s);
1971
1971
  const o = s.nodes || [], r = [];
1972
1972
  for (let a = 0, c = o.length; a < c; a++)
@@ -1977,7 +1977,7 @@ class MA {
1977
1977
  const c = (l) => {
1978
1978
  const h = /* @__PURE__ */ new Map();
1979
1979
  for (const [g, d] of n.associations)
1980
- (g instanceof tn || g instanceof Xs) && h.set(g, d);
1980
+ (g instanceof nn || g instanceof Xs) && h.set(g, d);
1981
1981
  return l.traverse((g) => {
1982
1982
  const d = n.associations.get(g);
1983
1983
  d != null && h.set(g, d);
@@ -1994,29 +1994,29 @@ class MA {
1994
1994
  let c;
1995
1995
  switch (Ht[i.path]) {
1996
1996
  case Ht.weights:
1997
- c = hs;
1997
+ c = us;
1998
1998
  break;
1999
1999
  case Ht.rotation:
2000
- c = us;
2000
+ c = gs;
2001
2001
  break;
2002
2002
  case Ht.position:
2003
2003
  case Ht.scale:
2004
- c = ls;
2004
+ c = hs;
2005
2005
  break;
2006
2006
  default:
2007
2007
  switch (s.itemSize) {
2008
2008
  case 1:
2009
- c = hs;
2009
+ c = us;
2010
2010
  break;
2011
2011
  case 2:
2012
2012
  case 3:
2013
2013
  default:
2014
- c = ls;
2014
+ c = hs;
2015
2015
  break;
2016
2016
  }
2017
2017
  break;
2018
2018
  }
2019
- const l = n.interpolation !== void 0 ? xA[n.interpolation] : jn, h = this._getArrayFromAccessor(s);
2019
+ const l = n.interpolation !== void 0 ? xA[n.interpolation] : qn, h = this._getArrayFromAccessor(s);
2020
2020
  for (let g = 0, d = a.length; g < d; g++) {
2021
2021
  const p = new c(
2022
2022
  a[g] + "." + Ht[i.path],
@@ -2040,13 +2040,13 @@ class MA {
2040
2040
  }
2041
2041
  _createCubicSplineTrackInterpolant(e) {
2042
2042
  e.createInterpolant = function(s) {
2043
- const n = this instanceof us ? QA : Yo;
2043
+ const n = this instanceof gs ? QA : Yo;
2044
2044
  return new n(this.times, this.values, this.getValueSize() / 3, s);
2045
2045
  }, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
2046
2046
  }
2047
2047
  }
2048
2048
  function kA(A, e, t) {
2049
- const s = e.attributes, n = new fs();
2049
+ const s = e.attributes, n = new ms();
2050
2050
  if (s.POSITION !== void 0) {
2051
2051
  const r = t.json.accessors[s.POSITION], a = r.min, c = r.max;
2052
2052
  if (a !== void 0 && c !== void 0) {
@@ -2054,7 +2054,7 @@ function kA(A, e, t) {
2054
2054
  new P(a[0], a[1], a[2]),
2055
2055
  new P(c[0], c[1], c[2])
2056
2056
  ), r.normalized) {
2057
- const l = ti(In[r.componentType]);
2057
+ const l = ti(bn[r.componentType]);
2058
2058
  n.min.multiplyScalar(l), n.max.multiplyScalar(l);
2059
2059
  }
2060
2060
  } else {
@@ -2072,7 +2072,7 @@ function kA(A, e, t) {
2072
2072
  const g = t.json.accessors[h.POSITION], d = g.min, p = g.max;
2073
2073
  if (d !== void 0 && p !== void 0) {
2074
2074
  if (a.setX(Math.max(Math.abs(d[0]), Math.abs(p[0]))), a.setY(Math.max(Math.abs(d[1]), Math.abs(p[1]))), a.setZ(Math.max(Math.abs(d[2]), Math.abs(p[2]))), g.normalized) {
2075
- const m = ti(In[g.componentType]);
2075
+ const m = ti(bn[g.componentType]);
2076
2076
  a.multiplyScalar(m);
2077
2077
  }
2078
2078
  r.max(a);
@@ -2107,7 +2107,7 @@ function Ni(A, e, t) {
2107
2107
  return e.targets !== void 0 ? vA(A, e.targets, t) : A;
2108
2108
  });
2109
2109
  }
2110
- var ph = function() {
2110
+ var fh = function() {
2111
2111
  var A = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", e = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb", t = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]), s = 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]);
2112
2112
  if (typeof WebAssembly != "object")
2113
2113
  return {
@@ -2125,11 +2125,11 @@ var ph = function() {
2125
2125
  B[Q++] = B[E] < 60 ? s[B[E]] : (B[E] - 60) * 64 + B[++E];
2126
2126
  return B.buffer.slice(0, Q);
2127
2127
  }
2128
- function a(b, B, E, w, Q, R) {
2129
- var _ = i.exports.sbrk, x = E + 3 & -4, v = _(x * w), L = _(Q.length), N = new Uint8Array(i.exports.memory.buffer);
2128
+ function a(b, B, E, w, Q, _) {
2129
+ var R = i.exports.sbrk, x = E + 3 & -4, v = R(x * w), L = R(Q.length), N = new Uint8Array(i.exports.memory.buffer);
2130
2130
  N.set(Q, L);
2131
2131
  var O = b(v, E, w, L, Q.length);
2132
- if (O == 0 && R && R(v, x, w), B.set(N.subarray(v, v + E * w)), _(v - _(0)), O != 0)
2132
+ if (O == 0 && _ && _(v, x, w), B.set(N.subarray(v, v + E * w)), R(v - R(0)), O != 0)
2133
2133
  throw new Error("Malformed buffer data: " + O);
2134
2134
  }
2135
2135
  var c = {
@@ -2159,11 +2159,11 @@ var ph = function() {
2159
2159
  URL.revokeObjectURL(w);
2160
2160
  }
2161
2161
  function m(b, B, E, w, Q) {
2162
- for (var R = h[0], _ = 1; _ < h.length; ++_)
2163
- h[_].pending < R.pending && (R = h[_]);
2162
+ for (var _ = h[0], R = 1; R < h.length; ++R)
2163
+ h[R].pending < _.pending && (_ = h[R]);
2164
2164
  return new Promise(function(x, v) {
2165
2165
  var L = new Uint8Array(E), N = g++;
2166
- R.pending += b, R.requests[N] = { resolve: x, reject: v }, R.object.postMessage({ id: N, count: b, size: B, source: L, mode: w, filter: Q }, [L.buffer]);
2166
+ _.pending += b, _.requests[N] = { resolve: x, reject: v }, _.object.postMessage({ id: N, count: b, size: B, source: L, mode: w, filter: Q }, [L.buffer]);
2167
2167
  });
2168
2168
  }
2169
2169
  function I(b) {
@@ -2192,19 +2192,19 @@ var ph = function() {
2192
2192
  decodeIndexSequence: function(b, B, E, w) {
2193
2193
  a(i.exports.meshopt_decodeIndexSequence, b, B, E, w);
2194
2194
  },
2195
- decodeGltfBuffer: function(b, B, E, w, Q, R) {
2196
- a(i.exports[l[Q]], b, B, E, w, i.exports[c[R]]);
2195
+ decodeGltfBuffer: function(b, B, E, w, Q, _) {
2196
+ a(i.exports[l[Q]], b, B, E, w, i.exports[c[_]]);
2197
2197
  },
2198
2198
  decodeGltfBufferAsync: function(b, B, E, w, Q) {
2199
2199
  return h.length > 0 ? m(b, B, E, l[w], c[Q]) : o.then(function() {
2200
- var R = new Uint8Array(b * B);
2201
- return a(i.exports[l[w]], R, b, B, E, i.exports[c[Q]]), R;
2200
+ var _ = new Uint8Array(b * B);
2201
+ return a(i.exports[l[w]], _, b, B, E, i.exports[c[Q]]), _;
2202
2202
  });
2203
2203
  }
2204
2204
  };
2205
2205
  }();
2206
- const ys = /* @__PURE__ */ new WeakMap();
2207
- class fh extends Nt {
2206
+ const Qs = /* @__PURE__ */ new WeakMap();
2207
+ class mh extends Nt {
2208
2208
  constructor(e) {
2209
2209
  super(e), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = {
2210
2210
  position: "POSITION",
@@ -2249,8 +2249,8 @@ class fh extends Nt {
2249
2249
  }
2250
2250
  decodeGeometry(e, t) {
2251
2251
  const s = JSON.stringify(t);
2252
- if (ys.has(e)) {
2253
- const a = ys.get(e);
2252
+ if (Qs.has(e)) {
2253
+ const a = Qs.get(e);
2254
2254
  if (a.key === s)
2255
2255
  return a.promise;
2256
2256
  if (e.byteLength === 0)
@@ -2264,7 +2264,7 @@ class fh extends Nt {
2264
2264
  }))).then((a) => this._createGeometry(a.geometry));
2265
2265
  return r.catch(() => !0).then(() => {
2266
2266
  n && i && this._releaseTask(n, i);
2267
- }), ys.set(e, {
2267
+ }), Qs.set(e, {
2268
2268
  key: s,
2269
2269
  promise: r
2270
2270
  }), r;
@@ -2482,7 +2482,7 @@ class jA {
2482
2482
  this.vkFormat = 0, this.typeSize = 1, this.pixelWidth = 0, this.pixelHeight = 0, this.pixelDepth = 0, this.layerCount = 0, this.faceCount = 1, this.supercompressionScheme = 0, this.levels = [], this.dataFormatDescriptor = [{ vendorId: 0, descriptorType: 0, descriptorBlockSize: 0, versionNumber: 2, colorModel: 0, colorPrimaries: 1, transferFunction: 2, flags: 0, texelBlockDimension: [0, 0, 0, 0], bytesPlane: [0, 0, 0, 0, 0, 0, 0, 0], samples: [] }], this.keyValue = {}, this.globalData = null;
2483
2483
  }
2484
2484
  }
2485
- class yn {
2485
+ class Qn {
2486
2486
  constructor(e, t, s, n) {
2487
2487
  this._dataView = void 0, this._littleEndian = void 0, this._offset = void 0, this._dataView = new DataView(e.buffer, e.byteOffset + t, s), this._littleEndian = n, this._offset = 0;
2488
2488
  }
@@ -2528,19 +2528,19 @@ function Pi(A) {
2528
2528
  function qA(A) {
2529
2529
  const e = new Uint8Array(A.buffer, A.byteOffset, qe.length);
2530
2530
  if (e[0] !== qe[0] || e[1] !== qe[1] || e[2] !== qe[2] || e[3] !== qe[3] || e[4] !== qe[4] || e[5] !== qe[5] || e[6] !== qe[6] || e[7] !== qe[7] || e[8] !== qe[8] || e[9] !== qe[9] || e[10] !== qe[10] || e[11] !== qe[11]) throw new Error("Missing KTX 2.0 identifier.");
2531
- const t = new jA(), s = 17 * Uint32Array.BYTES_PER_ELEMENT, n = new yn(A, qe.length, s, !0);
2531
+ const t = new jA(), s = 17 * Uint32Array.BYTES_PER_ELEMENT, n = new Qn(A, qe.length, s, !0);
2532
2532
  t.vkFormat = n._nextUint32(), t.typeSize = n._nextUint32(), t.pixelWidth = n._nextUint32(), t.pixelHeight = n._nextUint32(), t.pixelDepth = n._nextUint32(), t.layerCount = n._nextUint32(), t.faceCount = n._nextUint32();
2533
2533
  const i = n._nextUint32();
2534
2534
  t.supercompressionScheme = n._nextUint32();
2535
- const o = n._nextUint32(), r = n._nextUint32(), a = n._nextUint32(), c = n._nextUint32(), l = n._nextUint64(), h = n._nextUint64(), g = new yn(A, qe.length + s, 3 * i * 8, !0);
2535
+ const o = n._nextUint32(), r = n._nextUint32(), a = n._nextUint32(), c = n._nextUint32(), l = n._nextUint64(), h = n._nextUint64(), g = new Qn(A, qe.length + s, 3 * i * 8, !0);
2536
2536
  for (let K = 0; K < i; K++) t.levels.push({ levelData: new Uint8Array(A.buffer, A.byteOffset + g._nextUint64(), g._nextUint64()), uncompressedByteLength: g._nextUint64() });
2537
- const d = new yn(A, o, r, !0), p = { vendorId: d._skip(4)._nextUint16(), descriptorType: d._nextUint16(), versionNumber: d._nextUint16(), descriptorBlockSize: d._nextUint16(), colorModel: d._nextUint8(), colorPrimaries: d._nextUint8(), transferFunction: d._nextUint8(), flags: d._nextUint8(), texelBlockDimension: [d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8()], bytesPlane: [d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8()], samples: [] }, m = (p.descriptorBlockSize / 4 - 6) / 4;
2537
+ const d = new Qn(A, o, r, !0), p = { vendorId: d._skip(4)._nextUint16(), descriptorType: d._nextUint16(), versionNumber: d._nextUint16(), descriptorBlockSize: d._nextUint16(), colorModel: d._nextUint8(), colorPrimaries: d._nextUint8(), transferFunction: d._nextUint8(), flags: d._nextUint8(), texelBlockDimension: [d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8()], bytesPlane: [d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8()], samples: [] }, m = (p.descriptorBlockSize / 4 - 6) / 4;
2538
2538
  for (let K = 0; K < m; K++) {
2539
2539
  const ee = { bitOffset: d._nextUint16(), bitLength: d._nextUint8(), channelType: d._nextUint8(), samplePosition: [d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2540
2540
  64 & ee.channelType ? (ee.sampleLower = d._nextInt32(), ee.sampleUpper = d._nextInt32()) : (ee.sampleLower = d._nextUint32(), ee.sampleUpper = d._nextUint32()), p.samples[K] = ee;
2541
2541
  }
2542
2542
  t.dataFormatDescriptor.length = 0, t.dataFormatDescriptor.push(p);
2543
- const I = new yn(A, a, c, !0);
2543
+ const I = new Qn(A, a, c, !0);
2544
2544
  for (; I._offset < c; ) {
2545
2545
  const K = I._nextUint32(), ee = I._scan(K), te = Pi(ee);
2546
2546
  if (t.keyValue[te] = I._nextUint8Array(K - ee.byteLength - 1), te.match(/^ktx/i)) {
@@ -2550,21 +2550,21 @@ function qA(A) {
2550
2550
  I._skip(K % 4 ? 4 - K % 4 : 0);
2551
2551
  }
2552
2552
  if (h <= 0) return t;
2553
- const b = new yn(A, l, h, !0), B = b._nextUint16(), E = b._nextUint16(), w = b._nextUint32(), Q = b._nextUint32(), R = b._nextUint32(), _ = b._nextUint32(), x = [];
2553
+ const b = new Qn(A, l, h, !0), B = b._nextUint16(), E = b._nextUint16(), w = b._nextUint32(), Q = b._nextUint32(), _ = b._nextUint32(), R = b._nextUint32(), x = [];
2554
2554
  for (let K = 0; K < i; K++) x.push({ imageFlags: b._nextUint32(), rgbSliceByteOffset: b._nextUint32(), rgbSliceByteLength: b._nextUint32(), alphaSliceByteOffset: b._nextUint32(), alphaSliceByteLength: b._nextUint32() });
2555
- const v = l + b._offset, L = v + w, N = L + Q, O = N + R, Z = new Uint8Array(A.buffer, A.byteOffset + v, w), U = new Uint8Array(A.buffer, A.byteOffset + L, Q), q = new Uint8Array(A.buffer, A.byteOffset + N, R), H = new Uint8Array(A.buffer, A.byteOffset + O, _);
2555
+ const v = l + b._offset, L = v + w, N = L + Q, O = N + _, Z = new Uint8Array(A.buffer, A.byteOffset + v, w), U = new Uint8Array(A.buffer, A.byteOffset + L, Q), q = new Uint8Array(A.buffer, A.byteOffset + N, _), H = new Uint8Array(A.buffer, A.byteOffset + O, R);
2556
2556
  return t.globalData = { endpointCount: B, selectorCount: E, imageDescs: x, endpointsData: Z, selectorsData: U, tablesData: q, extendedData: H }, t;
2557
2557
  }
2558
- let Qs, Mt, ni;
2559
- const xs = { env: { emscripten_notify_memory_growth: function(A) {
2558
+ let xs, Mt, ni;
2559
+ const Ss = { env: { emscripten_notify_memory_growth: function(A) {
2560
2560
  ni = new Uint8Array(Mt.exports.memory.buffer);
2561
2561
  } } };
2562
2562
  class zA {
2563
2563
  init() {
2564
- return Qs || (Qs = typeof fetch < "u" ? fetch("data:application/wasm;base64," + Oi).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, xs)).then(this._init) : WebAssembly.instantiate(Buffer.from(Oi, "base64"), xs).then(this._init), Qs);
2564
+ return xs || (xs = typeof fetch < "u" ? fetch("data:application/wasm;base64," + Oi).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, Ss)).then(this._init) : WebAssembly.instantiate(Buffer.from(Oi, "base64"), Ss).then(this._init), xs);
2565
2565
  }
2566
2566
  _init(e) {
2567
- Mt = e.instance, xs.env.emscripten_notify_memory_growth(0);
2567
+ Mt = e.instance, Ss.env.emscripten_notify_memory_growth(0);
2568
2568
  }
2569
2569
  decode(e, t = 0) {
2570
2570
  if (!Mt) throw new Error("ZSTDDecoder: Await .init() before decoding.");
@@ -2574,8 +2574,8 @@ class zA {
2574
2574
  return Mt.exports.free(n), Mt.exports.free(i), r;
2575
2575
  }
2576
2576
  }
2577
- const Oi = "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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+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY0AAQMyIFEAMiBg0AIANBHzYCfCADIANB/ABqIANB+ABqIAQgBCAFaiAGGyIEIAEgAmoiAiAEaxAVIgUQAw0AIAMoAnwiBkEfSw0AIAMoAngiB0EJTw0AIABBiCBqIAMgBkGAC0GADCAHEBggA0E0NgJ8IAMgA0H8AGogA0H4AGogBCAFaiIEIAIgBGsQFSIFEAMNACADKAJ8IgZBNEsNACADKAJ4IgdBCk8NACAAQZAwaiADIAZBgA1B4A4gBxAYIANBIzYCfCADIANB/ABqIANB+ABqIAQgBWoiBCACIARrEBUiBRADDQAgAygCfCIGQSNLDQAgAygCeCIHQQpPDQAgACADIAZBwBBB0BEgBxAYIAQgBWoiBEEMaiIFIAJLDQAgAiAFayEFQQAhAgNAIAJBA0cEQCAEKAAAIgZBf2ogBU8NAiAAIAJBAnRqQZzQAWogBjYCACACQQFqIQIgBEEEaiEEDAELCyAEIAFrIQgLIANBgAFqJAAgCAtGAQN/IABBCGohAyAAKAIEIQJBACEAA0AgACACdkUEQCABIAMgAEEDdGotAAJBFktqIQEgAEEBaiEADAELCyABQQggAmt0C4YDAQV/Qbh/IQcCQCADRQ0AIAItAAAiBEUEQCABQQA2AgBBAUG4fyADQQFGGw8LAn8gAkEBaiIFIARBGHRBGHUiBkF/Sg0AGiAGQX9GBEAgA0EDSA0CIAUvAABBgP4BaiEEIAJBA2oMAQsgA0ECSA0BIAItAAEgBEEIdHJBgIB+aiEEIAJBAmoLIQUgASAENgIAIAVBAWoiASACIANqIgNLDQBBbCEHIABBEGogACAFLQAAIgVBBnZBI0EJIAEgAyABa0HAEEHQEUHwEiAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBmCBqIABBCGogBUEEdkEDcUEfQQggASABIAZqIAgbIgEgAyABa0GAC0GADEGAFyAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBoDBqIABBBGogBUECdkEDcUE0QQkgASABIAZqIAgbIgEgAyABa0GADUHgDkGQGSAAKAKM4QEgACgCnOIBIAQQHyIAEAMNACAAIAFqIAJrIQcLIAcLrQMBCn8jAEGABGsiCCQAAn9BUiACQf8BSw0AGkFUIANBDEsNABogAkEBaiELIABBBGohCUGAgAQgA0F/anRBEHUhCkEAIQJBASEEQQEgA3QiB0F/aiIMIQUDQCACIAtGRQRAAkAgASACQQF0Ig1qLwEAIgZB//8DRgRAIAkgBUECdGogAjoAAiAFQX9qIQVBASEGDAELIARBACAKIAZBEHRBEHVKGyEECyAIIA1qIAY7AQAgAkEBaiECDAELCyAAIAQ7AQIgACADOwEAIAdBA3YgB0EBdmpBA2ohBkEAIQRBACECA0AgBCALRkUEQCABIARBAXRqLgEAIQpBACEAA0AgACAKTkUEQCAJIAJBAnRqIAQ6AAIDQCACIAZqIAxxIgIgBUsNAAsgAEEBaiEADAELCyAEQQFqIQQMAQsLQX8gAg0AGkEAIQIDfyACIAdGBH9BAAUgCCAJIAJBAnRqIgAtAAJBAXRqIgEgAS8BACIBQQFqOwEAIAAgAyABEBRrIgU6AAMgACABIAVB/wFxdCAHazsBACACQQFqIQIMAQsLCyEFIAhBgARqJAAgBQvjBgEIf0FsIQcCQCACQQNJDQACQAJAAkACQCABLQAAIgNBA3EiCUEBaw4DAwEAAgsgACgCiOEBDQBBYg8LIAJBBUkNAkEDIQYgASgAACEFAn8CQAJAIANBAnZBA3EiCEF+aiIEQQFNBEAgBEEBaw0BDAILIAVBDnZB/wdxIQQgBUEEdkH/B3EhAyAIRQwCCyAFQRJ2IQRBBCEGIAVBBHZB//8AcSEDQQAMAQsgBUEEdkH//w9xIgNBgIAISw0DIAEtAARBCnQgBUEWdnIhBEEFIQZBAAshBSAEIAZqIgogAksNAgJAIANBgQZJDQAgACgCnOIBRQ0AQQAhAgNAIAJBg4ABSw0BIAJBQGshAgwAAAsACwJ/IAlBA0YEQCABIAZqIQEgAEHw4gFqIQIgACgCDCEGIAUEQCACIAMgASAEIAYQXwwCCyACIAMgASAEIAYQXQwBCyAAQbjQAWohAiABIAZqIQEgAEHw4gFqIQYgAEGo0ABqIQggBQRAIAggBiADIAEgBCACEF4MAQsgCCAGIAMgASAEIAIQXAsQAw0CIAAgAzYCgOIBIABBATYCiOEBIAAgAEHw4gFqNgLw4QEgCUECRgRAIAAgAEGo0ABqNgIMCyAAIANqIgBBiOMBakIANwAAIABBgOMBakIANwAAIABB+OIBakIANwAAIABB8OIBakIANwAAIAoPCwJ/AkACQAJAIANBAnZBA3FBf2oiBEECSw0AIARBAWsOAgACAQtBASEEIANBA3YMAgtBAiEEIAEvAABBBHYMAQtBAyEEIAEQIUEEdgsiAyAEaiIFQSBqIAJLBEAgBSACSw0CIABB8OIBaiABIARqIAMQCyEBIAAgAzYCgOIBIAAgATYC8OEBIAEgA2oiAEIANwAYIABCADcAECAAQgA3AAggAEIANwAAIAUPCyAAIAM2AoDiASAAIAEgBGo2AvDhASAFDwsCfwJAAkACQCADQQJ2QQNxQX9qIgRBAksNACAEQQFrDgIAAgELQQEhByADQQN2DAILQQIhByABLwAAQQR2DAELIAJBBEkgARAhIgJBj4CAAUtyDQFBAyEHIAJBBHYLIQIgAEHw4gFqIAEgB2otAAAgAkEgahAQIQEgACACNgKA4gEgACABNgLw4QEgB0EBaiEHCyAHC0sAIABC+erQ0OfJoeThADcDICAAQgA3AxggAELP1tO+0ser2UI3AxAgAELW64Lu6v2J9eAANwMIIABCADcDACAAQShqQQBBKBAQGgviAgICfwV+IABBKGoiASAAKAJIaiECAn4gACkDACIDQiBaBEAgACkDECIEQgeJIAApAwgiBUIBiXwgACkDGCIGQgyJfCAAKQMgIgdCEol8IAUQGSAEEBkgBhAZIAcQGQwBCyAAKQMYQsXP2bLx5brqJ3wLIAN8IQMDQCABQQhqIgAgAk0EQEIAIAEpAAAQCSADhUIbiUKHla+vmLbem55/fkLj3MqV/M7y9YV/fCEDIAAhAQwBCwsCQCABQQRqIgAgAksEQCABIQAMAQsgASgAAK1Ch5Wvr5i23puef34gA4VCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQMLA0AgACACSQRAIAAxAABCxc/ZsvHluuonfiADhUILiUKHla+vmLbem55/fiEDIABBAWohAAwBCwsgA0IhiCADhULP1tO+0ser2UJ+IgNCHYggA4VC+fPd8Zn2masWfiIDQiCIIAOFC+8CAgJ/BH4gACAAKQMAIAKtfDcDAAJAAkAgACgCSCIDIAJqIgRBH00EQCABRQ0BIAAgA2pBKGogASACECAgACgCSCACaiEEDAELIAEgAmohAgJ/IAMEQCAAQShqIgQgA2ogAUEgIANrECAgACAAKQMIIAQpAAAQCTcDCCAAIAApAxAgACkAMBAJNwMQIAAgACkDGCAAKQA4EAk3AxggACAAKQMgIABBQGspAAAQCTcDICAAKAJIIQMgAEEANgJIIAEgA2tBIGohAQsgAUEgaiACTQsEQCACQWBqIQMgACkDICEFIAApAxghBiAAKQMQIQcgACkDCCEIA0AgCCABKQAAEAkhCCAHIAEpAAgQCSEHIAYgASkAEBAJIQYgBSABKQAYEAkhBSABQSBqIgEgA00NAAsgACAFNwMgIAAgBjcDGCAAIAc3AxAgACAINwMICyABIAJPDQEgAEEoaiABIAIgAWsiBBAgCyAAIAQ2AkgLCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQEBogAwVBun8LCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQCxogAwVBun8LC6gCAQZ/IwBBEGsiByQAIABB2OABaikDAEKAgIAQViEIQbh/IQUCQCAEQf//B0sNACAAIAMgBBBCIgUQAyIGDQAgACgCnOIBIQkgACAHQQxqIAMgAyAFaiAGGyIKIARBACAFIAYbayIGEEAiAxADBEAgAyEFDAELIAcoAgwhBCABRQRAQbp/IQUgBEEASg0BCyAGIANrIQUgAyAKaiEDAkAgCQRAIABBADYCnOIBDAELAkACQAJAIARBBUgNACAAQdjgAWopAwBCgICACFgNAAwBCyAAQQA2ApziAQwBCyAAKAIIED8hBiAAQQA2ApziASAGQRRPDQELIAAgASACIAMgBSAEIAgQOSEFDAELIAAgASACIAMgBSAEIAgQOiEFCyAHQRBqJAAgBQtnACAAQdDgAWogASACIAAoAuzhARAuIgEQAwRAIAEPC0G4fyECAkAgAQ0AIABB7OABaigCACIBBEBBYCECIAAoApjiASABRw0BC0EAIQIgAEHw4AFqKAIARQ0AIABBkOEBahBDCyACCycBAX8QVyIERQRAQUAPCyAEIAAgASACIAMgBBBLEE8hACAEEFYgAAs/AQF/AkACQAJAIAAoAqDiAUEBaiIBQQJLDQAgAUEBaw4CAAECCyAAEDBBAA8LIABBADYCoOIBCyAAKAKU4gELvAMCB38BfiMAQRBrIgkkAEG4fyEGAkAgBCgCACIIQQVBCSAAKALs4QEiBRtJDQAgAygCACIHQQFBBSAFGyAFEC8iBRADBEAgBSEGDAELIAggBUEDakkNACAAIAcgBRBJIgYQAw0AIAEgAmohCiAAQZDhAWohCyAIIAVrIQIgBSAHaiEHIAEhBQNAIAcgAiAJECwiBhADDQEgAkF9aiICIAZJBEBBuH8hBgwCCyAJKAIAIghBAksEQEFsIQYMAgsgB0EDaiEHAn8CQAJAAkAgCEEBaw4CAgABCyAAIAUgCiAFayAHIAYQSAwCCyAFIAogBWsgByAGEEcMAQsgBSAKIAVrIActAAAgCSgCCBBGCyIIEAMEQCAIIQYMAgsgACgC8OABBEAgCyAFIAgQRQsgAiAGayECIAYgB2ohByAFIAhqIQUgCSgCBEUNAAsgACkD0OABIgxCf1IEQEFsIQYgDCAFIAFrrFINAQsgACgC8OABBEBBaiEGIAJBBEkNASALEEQhDCAHKAAAIAynRw0BIAdBBGohByACQXxqIQILIAMgBzYCACAEIAI2AgAgBSABayEGCyAJQRBqJAAgBgsuACAAECsCf0EAQQAQAw0AGiABRSACRXJFBEBBYiAAIAEgAhA9EAMNARoLQQALCzcAIAEEQCAAIAAoAsTgASABKAIEIAEoAghqRzYCnOIBCyAAECtBABADIAFFckUEQCAAIAEQWwsL0QIBB38jAEEQayIGJAAgBiAENgIIIAYgAzYCDCAFBEAgBSgCBCEKIAUoAgghCQsgASEIAkACQANAIAAoAuzhARAWIQsCQANAIAQgC0kNASADKAAAQXBxQdDUtMIBRgRAIAMgBBAiIgcQAw0EIAQgB2shBCADIAdqIQMMAQsLIAYgAzYCDCAGIAQ2AggCQCAFBEAgACAFEE5BACEHQQAQA0UNAQwFCyAAIAogCRBNIgcQAw0ECyAAIAgQUCAMQQFHQQAgACAIIAIgBkEMaiAGQQhqEEwiByIDa0EAIAMQAxtBCkdyRQRAQbh/IQcMBAsgBxADDQMgAiAHayECIAcgCGohCEEBIQwgBigCDCEDIAYoAgghBAwBCwsgBiADNgIMIAYgBDYCCEG4fyEHIAQNASAIIAFrIQcMAQsgBiADNgIMIAYgBDYCCAsgBkEQaiQAIAcLRgECfyABIAAoArjgASICRwRAIAAgAjYCxOABIAAgATYCuOABIAAoArzgASEDIAAgATYCvOABIAAgASADIAJrajYCwOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", Ss = /* @__PURE__ */ new WeakMap();
2578
- let vs = 0, Ts;
2577
+ const Oi = "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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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", vs = /* @__PURE__ */ new WeakMap();
2578
+ let Ts = 0, _s;
2579
2579
  class Ft extends Nt {
2580
2580
  constructor(e) {
2581
2581
  super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new LA(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn(
@@ -2638,9 +2638,9 @@ class Ft extends Nt {
2638
2638
  const c = new Worker(this.workerSourceURL), l = this.transcoderBinary.slice(0);
2639
2639
  return c.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: l }, [l]), c;
2640
2640
  });
2641
- }), vs > 0 && console.warn(
2641
+ }), Ts > 0 && console.warn(
2642
2642
  "THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."
2643
- ), vs++;
2643
+ ), Ts++;
2644
2644
  }
2645
2645
  return this.transcoderPending;
2646
2646
  }
@@ -2655,8 +2655,8 @@ class Ft extends Nt {
2655
2655
  parse(e, t, s) {
2656
2656
  if (this.workerConfig === null)
2657
2657
  throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2658
- if (Ss.has(e))
2659
- return Ss.get(e).promise.then(t).catch(s);
2658
+ if (vs.has(e))
2659
+ return vs.get(e).promise.then(t).catch(s);
2660
2660
  this._createTexture(e).then((n) => t ? t(n) : null).catch(s);
2661
2661
  }
2662
2662
  _createTextureFrom(e, t) {
@@ -2667,9 +2667,9 @@ class Ft extends Nt {
2667
2667
  l = new Sa(s, o, pt);
2668
2668
  else {
2669
2669
  const h = s[0].mipmaps;
2670
- l = t.layerCount > 1 ? new va(h, n, i, t.layerCount, o, pt) : new Gn(h, n, i, o, pt);
2670
+ l = t.layerCount > 1 ? new va(h, n, i, t.layerCount, o, pt) : new Pn(h, n, i, o, pt);
2671
2671
  }
2672
- return l.minFilter = s[0].mipmaps.length === 1 ? mt : ps, l.magFilter = mt, l.generateMipmaps = !1, l.needsUpdate = !0, l.colorSpace = cr(t), l.premultiplyAlpha = !!(c & UA), l;
2672
+ return l.minFilter = s[0].mipmaps.length === 1 ? mt : fs, l.magFilter = mt, l.generateMipmaps = !1, l.needsUpdate = !0, l.colorSpace = cr(t), l.premultiplyAlpha = !!(c & UA), l;
2673
2673
  }
2674
2674
  /**
2675
2675
  * @param {ArrayBuffer} buffer
@@ -2681,10 +2681,10 @@ class Ft extends Nt {
2681
2681
  if (s.vkFormat !== HA)
2682
2682
  return YA(s);
2683
2683
  const n = t, i = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: e, taskConfig: n }, [e])).then((o) => this._createTextureFrom(o.data, s));
2684
- return Ss.set(e, { promise: i }), i;
2684
+ return vs.set(e, { promise: i }), i;
2685
2685
  }
2686
2686
  dispose() {
2687
- return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), vs--, this;
2687
+ return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), Ts--, this;
2688
2688
  }
2689
2689
  }
2690
2690
  Ft.BasisFormat = {
@@ -2734,8 +2734,8 @@ Ft.BasisWorker = function() {
2734
2734
  case "transcode":
2735
2735
  e.then(() => {
2736
2736
  try {
2737
- const { faces: I, buffers: b, width: B, height: E, hasAlpha: w, format: Q, dfdFlags: R } = r(m.buffer);
2738
- self.postMessage({ type: "transcode", id: m.id, faces: I, width: B, height: E, hasAlpha: w, format: Q, dfdFlags: R }, b);
2737
+ const { faces: I, buffers: b, width: B, height: E, hasAlpha: w, format: Q, dfdFlags: _ } = r(m.buffer);
2738
+ self.postMessage({ type: "transcode", id: m.id, faces: I, width: B, height: E, hasAlpha: w, format: Q, dfdFlags: _ }, b);
2739
2739
  } catch (I) {
2740
2740
  console.error(I), self.postMessage({ type: "error", id: m.id, error: I.message });
2741
2741
  }
@@ -2757,13 +2757,13 @@ Ft.BasisWorker = function() {
2757
2757
  }
2758
2758
  if (!m.isValid())
2759
2759
  throw I(), new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");
2760
- const b = m.isUASTC() ? i.UASTC_4x4 : i.ETC1S, B = m.getWidth(), E = m.getHeight(), w = m.getLayers() || 1, Q = m.getLevels(), R = m.getFaces(), _ = m.getHasAlpha(), x = m.getDFDFlags(), { transcoderFormat: v, engineFormat: L } = h(b, B, E, _);
2760
+ const b = m.isUASTC() ? i.UASTC_4x4 : i.ETC1S, B = m.getWidth(), E = m.getHeight(), w = m.getLayers() || 1, Q = m.getLevels(), _ = m.getFaces(), R = m.getHasAlpha(), x = m.getDFDFlags(), { transcoderFormat: v, engineFormat: L } = h(b, B, E, R);
2761
2761
  if (!B || !E || !Q)
2762
2762
  throw I(), new Error("THREE.KTX2Loader: Invalid texture");
2763
2763
  if (!m.startTranscoding())
2764
2764
  throw I(), new Error("THREE.KTX2Loader: .startTranscoding failed");
2765
2765
  const N = [], O = [];
2766
- for (let Z = 0; Z < R; Z++) {
2766
+ for (let Z = 0; Z < _; Z++) {
2767
2767
  const U = [];
2768
2768
  for (let q = 0; q < Q; q++) {
2769
2769
  const H = [];
@@ -2781,7 +2781,7 @@ Ft.BasisWorker = function() {
2781
2781
  }
2782
2782
  N.push({ mipmaps: U, width: B, height: E, format: L });
2783
2783
  }
2784
- return I(), { faces: N, buffers: O, width: B, height: E, hasAlpha: _, format: L, dfdFlags: x };
2784
+ return I(), { faces: N, buffers: O, width: B, height: E, hasAlpha: R, format: L, dfdFlags: x };
2785
2785
  }
2786
2786
  const a = [
2787
2787
  {
@@ -2847,9 +2847,9 @@ Ft.BasisWorker = function() {
2847
2847
  let B, E;
2848
2848
  const w = p === i.ETC1S ? c : l;
2849
2849
  for (let Q = 0; Q < w.length; Q++) {
2850
- const R = w[Q];
2851
- if (A[R.if] && R.basisFormat.includes(p) && !(b && R.transcoderFormat.length < 2) && !(R.needsPowerOfTwo && !(g(m) && g(I))))
2852
- return B = R.transcoderFormat[b ? 1 : 0], E = R.engineFormat[b ? 1 : 0], { transcoderFormat: B, engineFormat: E };
2850
+ const _ = w[Q];
2851
+ if (A[_.if] && _.basisFormat.includes(p) && !(b && _.transcoderFormat.length < 2) && !(_.needsPowerOfTwo && !(g(m) && g(I))))
2852
+ return B = _.transcoderFormat[b ? 1 : 0], E = _.engineFormat[b ? 1 : 0], { transcoderFormat: B, engineFormat: E };
2853
2853
  }
2854
2854
  return console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."), B = n.RGBA32, E = s.RGBAFormat, { transcoderFormat: B, engineFormat: E };
2855
2855
  }
@@ -2872,23 +2872,23 @@ Ft.BasisWorker = function() {
2872
2872
  return I;
2873
2873
  }
2874
2874
  };
2875
- const KA = /* @__PURE__ */ new Set([Kt, Mn, dn]), Rs = {
2875
+ const KA = /* @__PURE__ */ new Set([Kt, kn, pn]), Rs = {
2876
2876
  [or]: Kt,
2877
2877
  [nr]: Kt,
2878
2878
  [Zo]: Kt,
2879
2879
  [$o]: Kt,
2880
- [ir]: Mn,
2881
- [tr]: Mn,
2882
- [Vo]: Mn,
2883
- [Xo]: Mn,
2884
- [sr]: dn,
2885
- [er]: dn,
2886
- [Wo]: dn,
2887
- [Jo]: dn,
2880
+ [ir]: kn,
2881
+ [tr]: kn,
2882
+ [Vo]: kn,
2883
+ [Xo]: kn,
2884
+ [sr]: pn,
2885
+ [er]: pn,
2886
+ [Wo]: pn,
2887
+ [Jo]: pn,
2888
2888
  [Ar]: Uo,
2889
- [ar]: Ri,
2890
- [rr]: Ri
2891
- }, _s = {
2889
+ [ar]: _i,
2890
+ [rr]: _i
2891
+ }, Ds = {
2892
2892
  [or]: St,
2893
2893
  [nr]: st,
2894
2894
  [Zo]: pt,
@@ -2910,10 +2910,10 @@ async function YA(A) {
2910
2910
  if (Rs[e] === void 0)
2911
2911
  throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2912
2912
  let t;
2913
- A.supercompressionScheme === Ui && (Ts || (Ts = new Promise(async (i) => {
2913
+ A.supercompressionScheme === Ui && (_s || (_s = new Promise(async (i) => {
2914
2914
  const o = new zA();
2915
2915
  await o.init(), i(o);
2916
- })), t = await Ts);
2916
+ })), t = await _s);
2917
2917
  const s = [];
2918
2918
  for (let i = 0; i < A.levels.length; i++) {
2919
2919
  const o = Math.max(1, A.pixelWidth >> i), r = Math.max(1, A.pixelHeight >> i), a = A.pixelDepth ? Math.max(1, A.pixelDepth >> i) : 0, c = A.levels[i];
@@ -2925,11 +2925,11 @@ async function YA(A) {
2925
2925
  else
2926
2926
  throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
2927
2927
  let h;
2928
- _s[e] === St ? h = new Float32Array(
2928
+ Ds[e] === St ? h = new Float32Array(
2929
2929
  l.buffer,
2930
2930
  l.byteOffset,
2931
2931
  l.byteLength / Float32Array.BYTES_PER_ELEMENT
2932
- ) : _s[e] === st ? h = new Uint16Array(
2932
+ ) : Ds[e] === st ? h = new Uint16Array(
2933
2933
  l.buffer,
2934
2934
  l.byteOffset,
2935
2935
  l.byteLength / Uint16Array.BYTES_PER_ELEMENT
@@ -2942,18 +2942,18 @@ async function YA(A) {
2942
2942
  }
2943
2943
  let n;
2944
2944
  if (KA.has(Rs[e]))
2945
- n = A.pixelDepth === 0 ? new _a(s[0].data, A.pixelWidth, A.pixelHeight) : new Da(s[0].data, A.pixelWidth, A.pixelHeight, A.pixelDepth);
2945
+ n = A.pixelDepth === 0 ? new Ra(s[0].data, A.pixelWidth, A.pixelHeight) : new Da(s[0].data, A.pixelWidth, A.pixelHeight, A.pixelDepth);
2946
2946
  else {
2947
2947
  if (A.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
2948
- n = new Gn(s, A.pixelWidth, A.pixelHeight);
2948
+ n = new Pn(s, A.pixelWidth, A.pixelHeight);
2949
2949
  }
2950
- return n.mipmaps = s, n.type = _s[e], n.format = Rs[e], n.colorSpace = cr(A), n.needsUpdate = !0, Promise.resolve(n);
2950
+ return n.mipmaps = s, n.type = Ds[e], n.format = Rs[e], n.colorSpace = cr(A), n.needsUpdate = !0, Promise.resolve(n);
2951
2951
  }
2952
2952
  function cr(A) {
2953
2953
  const e = A.dataFormatDescriptor[0];
2954
- return e.colorPrimaries === PA ? e.transferFunction === Gi ? ge : Ve : e.colorPrimaries === OA ? e.transferFunction === Gi ? Ta : Ra : e.colorPrimaries === GA ? gs : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), gs);
2954
+ return e.colorPrimaries === PA ? e.transferFunction === Gi ? ge : Ve : e.colorPrimaries === OA ? e.transferFunction === Gi ? Ta : _a : e.colorPrimaries === GA ? ds : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), ds);
2955
2955
  }
2956
- class mh extends Ma {
2956
+ class Ih extends Ma {
2957
2957
  constructor(e, t = {}) {
2958
2958
  const s = t.font;
2959
2959
  if (s === void 0)
@@ -2965,7 +2965,7 @@ class mh extends Ma {
2965
2965
  this.type = "TextGeometry";
2966
2966
  }
2967
2967
  }
2968
- class Ih extends Nt {
2968
+ class bh extends Nt {
2969
2969
  constructor(e) {
2970
2970
  super(e);
2971
2971
  }
@@ -3038,8 +3038,8 @@ const Xt = new Ii(), He = new P(), jt = new P(), we = new ve(), Hi = {
3038
3038
  X: new P(1, 0, 0),
3039
3039
  Y: new P(0, 1, 0),
3040
3040
  Z: new P(0, 0, 1)
3041
- }, Ds = { type: "change" }, ji = { type: "mouseDown", mode: null }, qi = { type: "mouseUp", mode: null }, zi = { type: "objectChange" };
3042
- class bh extends Go {
3041
+ }, Ms = { type: "change" }, ji = { type: "mouseDown", mode: null }, qi = { type: "mouseUp", mode: null }, zi = { type: "objectChange" };
3042
+ class Eh extends Go {
3043
3043
  constructor(e, t = null) {
3044
3044
  super(void 0, t);
3045
3045
  const s = new nc(this);
@@ -3055,8 +3055,8 @@ class bh extends Go {
3055
3055
  get: function() {
3056
3056
  return Q !== void 0 ? Q : w;
3057
3057
  },
3058
- set: function(R) {
3059
- Q !== R && (Q = R, i[E] = R, n[E] = R, o.dispatchEvent({ type: E + "-changed", value: R }), o.dispatchEvent(Ds));
3058
+ set: function(_) {
3059
+ Q !== _ && (Q = _, i[E] = _, n[E] = _, o.dispatchEvent({ type: E + "-changed", value: _ }), o.dispatchEvent(Ms));
3060
3060
  }
3061
3061
  }), o[E] = w, i[E] = w, n[E] = w;
3062
3062
  }
@@ -3076,13 +3076,13 @@ class bh extends Go {
3076
3076
  pointerHover(e) {
3077
3077
  if (this.object === void 0 || this.dragging === !0) return;
3078
3078
  e !== null && Xt.setFromCamera(e, this.camera);
3079
- const t = Ms(this._gizmo.picker[this.mode], Xt);
3079
+ const t = ks(this._gizmo.picker[this.mode], Xt);
3080
3080
  t ? this.axis = t.object.name : this.axis = null;
3081
3081
  }
3082
3082
  pointerDown(e) {
3083
3083
  if (!(this.object === void 0 || this.dragging === !0 || e != null && e.button !== 0) && this.axis !== null) {
3084
3084
  e !== null && Xt.setFromCamera(e, this.camera);
3085
- const t = Ms(this._plane, Xt, !0);
3085
+ const t = ks(this._plane, Xt, !0);
3086
3086
  t && (this.object.updateMatrixWorld(), this.object.parent.updateMatrixWorld(), this._positionStart.copy(this.object.position), this._quaternionStart.copy(this.object.quaternion), this._scaleStart.copy(this.object.scale), this.object.matrixWorld.decompose(this.worldPositionStart, this.worldQuaternionStart, this._worldScaleStart), this.pointStart.copy(t.point).sub(this.worldPositionStart)), this.dragging = !0, ji.mode = this.mode, this.dispatchEvent(ji);
3087
3087
  }
3088
3088
  }
@@ -3091,7 +3091,7 @@ class bh extends Go {
3091
3091
  let i = this.space;
3092
3092
  if (s === "scale" ? i = "local" : (t === "E" || t === "XYZE" || t === "XYZ") && (i = "world"), n === void 0 || t === null || this.dragging === !1 || e !== null && e.button !== -1) return;
3093
3093
  e !== null && Xt.setFromCamera(e, this.camera);
3094
- const o = Ms(this._plane, Xt, !0);
3094
+ const o = ks(this._plane, Xt, !0);
3095
3095
  if (o) {
3096
3096
  if (this.pointEnd.copy(o.point).sub(this.worldPositionStart), s === "translate")
3097
3097
  this._offset.copy(this.pointEnd).sub(this.pointStart), i === "local" && t !== "XYZ" && this._offset.applyQuaternion(this._worldQuaternionInv), t.indexOf("X") === -1 && (this._offset.x = 0), t.indexOf("Y") === -1 && (this._offset.y = 0), t.indexOf("Z") === -1 && (this._offset.z = 0), i === "local" && t !== "XYZ" ? this._offset.applyQuaternion(this._quaternionStart).divide(this._parentScale) : this._offset.applyQuaternion(this._parentQuaternionInv).divide(this._parentScale), n.position.copy(this._offset).add(this._positionStart), this.translationSnap && (i === "local" && (n.position.applyQuaternion(we.copy(this._quaternionStart).invert()), t.search("X") !== -1 && (n.position.x = Math.round(n.position.x / this.translationSnap) * this.translationSnap), t.search("Y") !== -1 && (n.position.y = Math.round(n.position.y / this.translationSnap) * this.translationSnap), t.search("Z") !== -1 && (n.position.z = Math.round(n.position.z / this.translationSnap) * this.translationSnap), n.position.applyQuaternion(this._quaternionStart)), i === "world" && (n.parent && n.position.add(He.setFromMatrixPosition(n.parent.matrixWorld)), t.search("X") !== -1 && (n.position.x = Math.round(n.position.x / this.translationSnap) * this.translationSnap), t.search("Y") !== -1 && (n.position.y = Math.round(n.position.y / this.translationSnap) * this.translationSnap), t.search("Z") !== -1 && (n.position.z = Math.round(n.position.z / this.translationSnap) * this.translationSnap), n.parent && n.position.sub(He.setFromMatrixPosition(n.parent.matrixWorld))));
@@ -3108,7 +3108,7 @@ class bh extends Go {
3108
3108
  let a = !1;
3109
3109
  t === "XYZE" ? (this.rotationAxis.copy(this._offset).cross(this.eye).normalize(), this.rotationAngle = this._offset.dot(He.copy(this.rotationAxis).cross(this.eye)) * r) : (t === "X" || t === "Y" || t === "Z") && (this.rotationAxis.copy(Hi[t]), He.copy(Hi[t]), i === "local" && He.applyQuaternion(this.worldQuaternion), He.cross(this.eye), He.length() === 0 ? a = !0 : this.rotationAngle = this._offset.dot(He.normalize()) * r), (t === "E" || a) && (this.rotationAxis.copy(this.eye), this.rotationAngle = this.pointEnd.angleTo(this.pointStart), this._startNorm.copy(this.pointStart).normalize(), this._endNorm.copy(this.pointEnd).normalize(), this.rotationAngle *= this._endNorm.cross(this._startNorm).dot(this.eye) < 0 ? 1 : -1), this.rotationSnap && (this.rotationAngle = Math.round(this.rotationAngle / this.rotationSnap) * this.rotationSnap), i === "local" && t !== "E" && t !== "XYZE" ? (n.quaternion.copy(this._quaternionStart), n.quaternion.multiply(we.setFromAxisAngle(this.rotationAxis, this.rotationAngle)).normalize()) : (this.rotationAxis.applyQuaternion(this._parentQuaternionInv), n.quaternion.copy(we.setFromAxisAngle(this.rotationAxis, this.rotationAngle)), n.quaternion.multiply(this._quaternionStart).normalize());
3110
3110
  }
3111
- this.dispatchEvent(Ds), this.dispatchEvent(zi);
3111
+ this.dispatchEvent(Ms), this.dispatchEvent(zi);
3112
3112
  }
3113
3113
  }
3114
3114
  pointerUp(e) {
@@ -3128,7 +3128,7 @@ class bh extends Go {
3128
3128
  return this.object = void 0, this.axis = null, this._root.visible = !1, this;
3129
3129
  }
3130
3130
  reset() {
3131
- this.enabled && this.dragging && (this.object.position.copy(this._positionStart), this.object.quaternion.copy(this._quaternionStart), this.object.scale.copy(this._scaleStart), this.dispatchEvent(Ds), this.dispatchEvent(zi), this.pointStart.copy(this.pointEnd));
3131
+ this.enabled && this.dragging && (this.object.position.copy(this._positionStart), this.object.quaternion.copy(this._quaternionStart), this.object.scale.copy(this._scaleStart), this.dispatchEvent(Ms), this.dispatchEvent(zi), this.pointStart.copy(this.pointEnd));
3132
3132
  }
3133
3133
  getRaycaster() {
3134
3134
  return Xt;
@@ -3190,14 +3190,14 @@ function ec(A) {
3190
3190
  function tc(A) {
3191
3191
  this.enabled && (this.domElement.releasePointerCapture(A.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.pointerUp(this._getPointer(A)));
3192
3192
  }
3193
- function Ms(A, e, t) {
3193
+ function ks(A, e, t) {
3194
3194
  const s = e.intersectObject(A, !0);
3195
3195
  for (let n = 0; n < s.length; n++)
3196
3196
  if (s[n].object.visible || t)
3197
3197
  return s[n];
3198
3198
  return !1;
3199
3199
  }
3200
- const Jn = new zt(), me = new P(0, 1, 0), Ki = new P(0, 0, 0), Yi = new ue(), Wn = new ve(), rs = new ve(), Et = new P(), Ji = new ue(), kn = new P(1, 0, 0), $t = new P(0, 1, 0), Fn = new P(0, 0, 1), Vn = new P(), Qn = new P(), xn = new P();
3200
+ const Wn = new zt(), me = new P(0, 1, 0), Ki = new P(0, 0, 0), Yi = new ue(), Vn = new ve(), as = new ve(), Et = new P(), Ji = new ue(), Fn = new P(1, 0, 0), en = new P(0, 1, 0), Ln = new P(0, 0, 1), Xn = new P(), xn = new P(), Sn = new P();
3201
3201
  class nc extends xt {
3202
3202
  constructor(e) {
3203
3203
  super(), this.isTransformControlsRoot = !0, this.controls = e, this.visible = !1;
@@ -3254,7 +3254,7 @@ class sc extends xt {
3254
3254
  const B = new Ke(75e-4, 75e-4, 0.5, 3);
3255
3255
  B.translate(0, 0.25, 0);
3256
3256
  function E(q, H) {
3257
- const K = new Cn(q, 75e-4, 3, 64, H * Math.PI * 2);
3257
+ const K = new Bn(q, 75e-4, 3, 64, H * Math.PI * 2);
3258
3258
  return K.rotateY(Math.PI / 2), K.rotateX(Math.PI / 2), K;
3259
3259
  }
3260
3260
  function w() {
@@ -3278,7 +3278,7 @@ class sc extends xt {
3278
3278
  [new z(B, r), null, [Math.PI / 2, 0, 0]]
3279
3279
  ],
3280
3280
  XYZ: [
3281
- [new z(new Yn(0.1, 0), h.clone()), [0, 0, 0]]
3281
+ [new z(new Jn(0.1, 0), h.clone()), [0, 0, 0]]
3282
3282
  ],
3283
3283
  XY: [
3284
3284
  [new z(new je(0.15, 0.15, 0.01), l.clone()), [0.15, 0.15, 0]]
@@ -3289,7 +3289,7 @@ class sc extends xt {
3289
3289
  XZ: [
3290
3290
  [new z(new je(0.15, 0.15, 0.01), c.clone()), [0.15, 0, 0.15], [-Math.PI / 2, 0, 0]]
3291
3291
  ]
3292
- }, R = {
3292
+ }, _ = {
3293
3293
  X: [
3294
3294
  [new z(new Ke(0.2, 0, 0.6, 4), s), [0.3, 0, 0], [0, 0, -Math.PI / 2]],
3295
3295
  [new z(new Ke(0.2, 0, 0.6, 4), s), [-0.3, 0, 0], [0, 0, Math.PI / 2]]
@@ -3303,7 +3303,7 @@ class sc extends xt {
3303
3303
  [new z(new Ke(0.2, 0, 0.6, 4), s), [0, 0, -0.3], [-Math.PI / 2, 0, 0]]
3304
3304
  ],
3305
3305
  XYZ: [
3306
- [new z(new Yn(0.2, 0), s)]
3306
+ [new z(new Jn(0.2, 0), s)]
3307
3307
  ],
3308
3308
  XY: [
3309
3309
  [new z(new je(0.2, 0.2, 0.01), s), [0.15, 0.15, 0]]
@@ -3314,12 +3314,12 @@ class sc extends xt {
3314
3314
  XZ: [
3315
3315
  [new z(new je(0.2, 0.2, 0.01), s), [0.15, 0, 0.15], [-Math.PI / 2, 0, 0]]
3316
3316
  ]
3317
- }, _ = {
3317
+ }, R = {
3318
3318
  START: [
3319
- [new z(new Yn(0.01, 2), n), null, null, null, "helper"]
3319
+ [new z(new Jn(0.01, 2), n), null, null, null, "helper"]
3320
3320
  ],
3321
3321
  END: [
3322
- [new z(new Yn(0.01, 2), n), null, null, null, "helper"]
3322
+ [new z(new Jn(0.01, 2), n), null, null, null, "helper"]
3323
3323
  ],
3324
3324
  DELTA: [
3325
3325
  [new dt(w(), n), null, null, null, "helper"]
@@ -3358,16 +3358,16 @@ class sc extends xt {
3358
3358
  [new z(new ci(0.25, 10, 8), s)]
3359
3359
  ],
3360
3360
  X: [
3361
- [new z(new Cn(0.5, 0.1, 4, 24), s), [0, 0, 0], [0, -Math.PI / 2, -Math.PI / 2]]
3361
+ [new z(new Bn(0.5, 0.1, 4, 24), s), [0, 0, 0], [0, -Math.PI / 2, -Math.PI / 2]]
3362
3362
  ],
3363
3363
  Y: [
3364
- [new z(new Cn(0.5, 0.1, 4, 24), s), [0, 0, 0], [Math.PI / 2, 0, 0]]
3364
+ [new z(new Bn(0.5, 0.1, 4, 24), s), [0, 0, 0], [Math.PI / 2, 0, 0]]
3365
3365
  ],
3366
3366
  Z: [
3367
- [new z(new Cn(0.5, 0.1, 4, 24), s), [0, 0, 0], [0, 0, -Math.PI / 2]]
3367
+ [new z(new Bn(0.5, 0.1, 4, 24), s), [0, 0, 0], [0, 0, -Math.PI / 2]]
3368
3368
  ],
3369
3369
  E: [
3370
- [new z(new Cn(0.75, 0.1, 2, 24), s)]
3370
+ [new z(new Bn(0.75, 0.1, 2, 24), s)]
3371
3371
  ]
3372
3372
  }, N = {
3373
3373
  X: [
@@ -3444,11 +3444,11 @@ class sc extends xt {
3444
3444
  }
3445
3445
  return H;
3446
3446
  }
3447
- this.gizmo = {}, this.picker = {}, this.helper = {}, this.add(this.gizmo.translate = U(Q)), this.add(this.gizmo.rotate = U(x)), this.add(this.gizmo.scale = U(N)), this.add(this.picker.translate = U(R)), this.add(this.picker.rotate = U(L)), this.add(this.picker.scale = U(O)), this.add(this.helper.translate = U(_)), this.add(this.helper.rotate = U(v)), this.add(this.helper.scale = U(Z)), this.picker.translate.visible = !1, this.picker.rotate.visible = !1, this.picker.scale.visible = !1;
3447
+ this.gizmo = {}, this.picker = {}, this.helper = {}, this.add(this.gizmo.translate = U(Q)), this.add(this.gizmo.rotate = U(x)), this.add(this.gizmo.scale = U(N)), this.add(this.picker.translate = U(_)), this.add(this.picker.rotate = U(L)), this.add(this.picker.scale = U(O)), this.add(this.helper.translate = U(R)), this.add(this.helper.rotate = U(v)), this.add(this.helper.scale = U(Z)), this.picker.translate.visible = !1, this.picker.rotate.visible = !1, this.picker.scale.visible = !1;
3448
3448
  }
3449
3449
  // updateMatrixWorld will update transformations and appearance of individual handles
3450
3450
  updateMatrixWorld(e) {
3451
- const s = (this.mode === "scale" ? "local" : this.space) === "local" ? this.worldQuaternion : rs;
3451
+ const s = (this.mode === "scale" ? "local" : this.space) === "local" ? this.worldQuaternion : as;
3452
3452
  this.gizmo.translate.visible = this.mode === "translate", this.gizmo.rotate.visible = this.mode === "rotate", this.gizmo.scale.visible = this.mode === "scale", this.helper.translate.visible = this.mode === "translate", this.helper.rotate.visible = this.mode === "rotate", this.helper.scale.visible = this.mode === "scale";
3453
3453
  let n = [];
3454
3454
  n = n.concat(this.picker[this.mode].children), n = n.concat(this.gizmo[this.mode].children), n = n.concat(this.helper[this.mode].children);
@@ -3457,10 +3457,10 @@ class sc extends xt {
3457
3457
  o.visible = !0, o.rotation.set(0, 0, 0), o.position.copy(this.worldPosition);
3458
3458
  let r;
3459
3459
  if (this.camera.isOrthographicCamera ? r = (this.camera.top - this.camera.bottom) / this.camera.zoom : r = this.worldPosition.distanceTo(this.cameraPosition) * Math.min(1.9 * Math.tan(Math.PI * this.camera.fov / 360) / this.camera.zoom, 7), o.scale.set(1, 1, 1).multiplyScalar(r * this.size / 4), o.tag === "helper") {
3460
- o.visible = !1, o.name === "AXIS" ? (o.visible = !!this.axis, this.axis === "X" && (we.setFromEuler(Jn.set(0, 0, 0)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy(kn).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "Y" && (we.setFromEuler(Jn.set(0, 0, Math.PI / 2)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy($t).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "Z" && (we.setFromEuler(Jn.set(0, Math.PI / 2, 0)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "XYZE" && (we.setFromEuler(Jn.set(0, Math.PI / 2, 0)), me.copy(this.rotationAxis), o.quaternion.setFromRotationMatrix(Yi.lookAt(Ki, me, $t)), o.quaternion.multiply(we), o.visible = this.dragging), this.axis === "E" && (o.visible = !1)) : o.name === "START" ? (o.position.copy(this.worldPositionStart), o.visible = this.dragging) : o.name === "END" ? (o.position.copy(this.worldPosition), o.visible = this.dragging) : o.name === "DELTA" ? (o.position.copy(this.worldPositionStart), o.quaternion.copy(this.worldQuaternionStart), He.set(1e-10, 1e-10, 1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1), He.applyQuaternion(this.worldQuaternionStart.clone().invert()), o.scale.copy(He), o.visible = this.dragging) : (o.quaternion.copy(s), this.dragging ? o.position.copy(this.worldPositionStart) : o.position.copy(this.worldPosition), this.axis && (o.visible = this.axis.search(o.name) !== -1));
3460
+ o.visible = !1, o.name === "AXIS" ? (o.visible = !!this.axis, this.axis === "X" && (we.setFromEuler(Wn.set(0, 0, 0)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "Y" && (we.setFromEuler(Wn.set(0, 0, Math.PI / 2)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy(en).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "Z" && (we.setFromEuler(Wn.set(0, Math.PI / 2, 0)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy(Ln).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "XYZE" && (we.setFromEuler(Wn.set(0, Math.PI / 2, 0)), me.copy(this.rotationAxis), o.quaternion.setFromRotationMatrix(Yi.lookAt(Ki, me, en)), o.quaternion.multiply(we), o.visible = this.dragging), this.axis === "E" && (o.visible = !1)) : o.name === "START" ? (o.position.copy(this.worldPositionStart), o.visible = this.dragging) : o.name === "END" ? (o.position.copy(this.worldPosition), o.visible = this.dragging) : o.name === "DELTA" ? (o.position.copy(this.worldPositionStart), o.quaternion.copy(this.worldQuaternionStart), He.set(1e-10, 1e-10, 1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1), He.applyQuaternion(this.worldQuaternionStart.clone().invert()), o.scale.copy(He), o.visible = this.dragging) : (o.quaternion.copy(s), this.dragging ? o.position.copy(this.worldPositionStart) : o.position.copy(this.worldPosition), this.axis && (o.visible = this.axis.search(o.name) !== -1));
3461
3461
  continue;
3462
3462
  }
3463
- o.quaternion.copy(s), this.mode === "translate" || this.mode === "scale" ? (o.name === "X" && Math.abs(me.copy(kn).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "Y" && Math.abs(me.copy($t).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "Z" && Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "XY" && Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "YZ" && Math.abs(me.copy(kn).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "XZ" && Math.abs(me.copy($t).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1)) : this.mode === "rotate" && (Wn.copy(s), me.copy(this.eye).applyQuaternion(we.copy(s).invert()), o.name.search("E") !== -1 && o.quaternion.setFromRotationMatrix(Yi.lookAt(this.eye, Ki, $t)), o.name === "X" && (we.setFromAxisAngle(kn, Math.atan2(-me.y, me.z)), we.multiplyQuaternions(Wn, we), o.quaternion.copy(we)), o.name === "Y" && (we.setFromAxisAngle($t, Math.atan2(me.x, me.z)), we.multiplyQuaternions(Wn, we), o.quaternion.copy(we)), o.name === "Z" && (we.setFromAxisAngle(Fn, Math.atan2(me.y, me.x)), we.multiplyQuaternions(Wn, we), o.quaternion.copy(we))), o.visible = o.visible && (o.name.indexOf("X") === -1 || this.showX), o.visible = o.visible && (o.name.indexOf("Y") === -1 || this.showY), o.visible = o.visible && (o.name.indexOf("Z") === -1 || this.showZ), o.visible = o.visible && (o.name.indexOf("E") === -1 || this.showX && this.showY && this.showZ), o.material._color = o.material._color || o.material.color.clone(), o.material._opacity = o.material._opacity || o.material.opacity, o.material.color.copy(o.material._color), o.material.opacity = o.material._opacity, this.enabled && this.axis && (o.name === this.axis || this.axis.split("").some(function(a) {
3463
+ o.quaternion.copy(s), this.mode === "translate" || this.mode === "scale" ? (o.name === "X" && Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "Y" && Math.abs(me.copy(en).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "Z" && Math.abs(me.copy(Ln).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "XY" && Math.abs(me.copy(Ln).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "YZ" && Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "XZ" && Math.abs(me.copy(en).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1)) : this.mode === "rotate" && (Vn.copy(s), me.copy(this.eye).applyQuaternion(we.copy(s).invert()), o.name.search("E") !== -1 && o.quaternion.setFromRotationMatrix(Yi.lookAt(this.eye, Ki, en)), o.name === "X" && (we.setFromAxisAngle(Fn, Math.atan2(-me.y, me.z)), we.multiplyQuaternions(Vn, we), o.quaternion.copy(we)), o.name === "Y" && (we.setFromAxisAngle(en, Math.atan2(me.x, me.z)), we.multiplyQuaternions(Vn, we), o.quaternion.copy(we)), o.name === "Z" && (we.setFromAxisAngle(Ln, Math.atan2(me.y, me.x)), we.multiplyQuaternions(Vn, we), o.quaternion.copy(we))), o.visible = o.visible && (o.name.indexOf("X") === -1 || this.showX), o.visible = o.visible && (o.name.indexOf("Y") === -1 || this.showY), o.visible = o.visible && (o.name.indexOf("Z") === -1 || this.showZ), o.visible = o.visible && (o.name.indexOf("E") === -1 || this.showX && this.showY && this.showZ), o.material._color = o.material._color || o.material.color.clone(), o.material._opacity = o.material._opacity || o.material.opacity, o.material.color.copy(o.material._color), o.material.opacity = o.material._opacity, this.enabled && this.axis && (o.name === this.axis || this.axis.split("").some(function(a) {
3464
3464
  return o.name === a;
3465
3465
  })) && (o.material.color.setHex(16776960), o.material.opacity = 1);
3466
3466
  }
@@ -3476,27 +3476,27 @@ class ic extends z {
3476
3476
  }
3477
3477
  updateMatrixWorld(e) {
3478
3478
  let t = this.space;
3479
- switch (this.position.copy(this.worldPosition), this.mode === "scale" && (t = "local"), Vn.copy(kn).applyQuaternion(t === "local" ? this.worldQuaternion : rs), Qn.copy($t).applyQuaternion(t === "local" ? this.worldQuaternion : rs), xn.copy(Fn).applyQuaternion(t === "local" ? this.worldQuaternion : rs), me.copy(Qn), this.mode) {
3479
+ switch (this.position.copy(this.worldPosition), this.mode === "scale" && (t = "local"), Xn.copy(Fn).applyQuaternion(t === "local" ? this.worldQuaternion : as), xn.copy(en).applyQuaternion(t === "local" ? this.worldQuaternion : as), Sn.copy(Ln).applyQuaternion(t === "local" ? this.worldQuaternion : as), me.copy(xn), this.mode) {
3480
3480
  case "translate":
3481
3481
  case "scale":
3482
3482
  switch (this.axis) {
3483
3483
  case "X":
3484
- me.copy(this.eye).cross(Vn), Et.copy(Vn).cross(me);
3484
+ me.copy(this.eye).cross(Xn), Et.copy(Xn).cross(me);
3485
3485
  break;
3486
3486
  case "Y":
3487
- me.copy(this.eye).cross(Qn), Et.copy(Qn).cross(me);
3487
+ me.copy(this.eye).cross(xn), Et.copy(xn).cross(me);
3488
3488
  break;
3489
3489
  case "Z":
3490
- me.copy(this.eye).cross(xn), Et.copy(xn).cross(me);
3490
+ me.copy(this.eye).cross(Sn), Et.copy(Sn).cross(me);
3491
3491
  break;
3492
3492
  case "XY":
3493
- Et.copy(xn);
3493
+ Et.copy(Sn);
3494
3494
  break;
3495
3495
  case "YZ":
3496
- Et.copy(Vn);
3496
+ Et.copy(Xn);
3497
3497
  break;
3498
3498
  case "XZ":
3499
- me.copy(xn), Et.copy(Qn);
3499
+ me.copy(Sn), Et.copy(xn);
3500
3500
  break;
3501
3501
  case "XYZ":
3502
3502
  case "E":
@@ -3517,7 +3517,7 @@ fflate - fast JavaScript compression/decompression
3517
3517
  Licensed under MIT. https://github.com/101arrowz/fflate/blob/master/LICENSE
3518
3518
  version 0.8.2
3519
3519
  */
3520
- var _e = Uint8Array, it = Uint16Array, Ei = Int32Array, ms = new _e([
3520
+ var Re = Uint8Array, it = Uint16Array, Ei = Int32Array, Is = new Re([
3521
3521
  0,
3522
3522
  0,
3523
3523
  0,
@@ -3552,7 +3552,7 @@ var _e = Uint8Array, it = Uint16Array, Ei = Int32Array, ms = new _e([
3552
3552
  0,
3553
3553
  /* impossible */
3554
3554
  0
3555
- ]), Is = new _e([
3555
+ ]), bs = new Re([
3556
3556
  0,
3557
3557
  0,
3558
3558
  0,
@@ -3586,16 +3586,16 @@ var _e = Uint8Array, it = Uint16Array, Ei = Int32Array, ms = new _e([
3586
3586
  /* unused */
3587
3587
  0,
3588
3588
  0
3589
- ]), si = new _e([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), lr = function(A, e) {
3589
+ ]), si = new Re([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), lr = function(A, e) {
3590
3590
  for (var t = new it(31), s = 0; s < 31; ++s)
3591
3591
  t[s] = e += 1 << A[s - 1];
3592
3592
  for (var n = new Ei(t[30]), s = 1; s < 30; ++s)
3593
3593
  for (var i = t[s]; i < t[s + 1]; ++i)
3594
3594
  n[i] = i - t[s] << 5 | s;
3595
3595
  return { b: t, r: n };
3596
- }, hr = lr(ms, 2), ur = hr.b, ii = hr.r;
3596
+ }, hr = lr(Is, 2), ur = hr.b, ii = hr.r;
3597
3597
  ur[28] = 258, ii[258] = 28;
3598
- var gr = lr(Is, 0), oc = gr.b, Wi = gr.r, oi = new it(32768);
3598
+ var gr = lr(bs, 0), oc = gr.b, Wi = gr.r, oi = new it(32768);
3599
3599
  for (var Be = 0; Be < 32768; ++Be) {
3600
3600
  var qt = (Be & 43690) >> 1 | (Be & 21845) << 1;
3601
3601
  qt = (qt & 52428) >> 2 | (qt & 13107) << 2, qt = (qt & 61680) >> 4 | (qt & 3855) << 4, oi[Be] = ((qt & 65280) >> 8 | (qt & 255) << 8) >> 1;
@@ -3618,7 +3618,7 @@ var vt = function(A, e, t) {
3618
3618
  for (r = new it(s), n = 0; n < s; ++n)
3619
3619
  A[n] && (r[n] = oi[o[A[n] - 1]++] >> 15 - A[n]);
3620
3620
  return r;
3621
- }, Yt = new _e(288);
3621
+ }, Yt = new Re(288);
3622
3622
  for (var Be = 0; Be < 144; ++Be)
3623
3623
  Yt[Be] = 8;
3624
3624
  for (var Be = 144; Be < 256; ++Be)
@@ -3627,23 +3627,23 @@ for (var Be = 256; Be < 280; ++Be)
3627
3627
  Yt[Be] = 7;
3628
3628
  for (var Be = 280; Be < 288; ++Be)
3629
3629
  Yt[Be] = 8;
3630
- var On = new _e(32);
3630
+ var Hn = new Re(32);
3631
3631
  for (var Be = 0; Be < 32; ++Be)
3632
- On[Be] = 5;
3633
- var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /* @__PURE__ */ vt(On, 5, 0), cc = /* @__PURE__ */ vt(On, 5, 1), ks = function(A) {
3632
+ Hn[Be] = 5;
3633
+ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /* @__PURE__ */ vt(Hn, 5, 0), cc = /* @__PURE__ */ vt(Hn, 5, 1), Fs = function(A) {
3634
3634
  for (var e = A[0], t = 1; t < A.length; ++t)
3635
3635
  A[t] > e && (e = A[t]);
3636
3636
  return e;
3637
3637
  }, gt = function(A, e, t) {
3638
3638
  var s = e / 8 | 0;
3639
3639
  return (A[s] | A[s + 1] << 8) >> (e & 7) & t;
3640
- }, Fs = function(A, e) {
3640
+ }, Ls = function(A, e) {
3641
3641
  var t = e / 8 | 0;
3642
3642
  return (A[t] | A[t + 1] << 8 | A[t + 2] << 16) >> (e & 7);
3643
3643
  }, Ci = function(A) {
3644
3644
  return (A + 7) / 8 | 0;
3645
3645
  }, Bi = function(A, e, t) {
3646
- return (t == null || t > A.length) && (t = A.length), new _e(A.subarray(e, t));
3646
+ return (t == null || t > A.length) && (t = A.length), new Re(A.subarray(e, t));
3647
3647
  }, lc = [
3648
3648
  "unexpected EOF",
3649
3649
  "invalid block type",
@@ -3668,14 +3668,14 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3668
3668
  }, hc = function(A, e, t, s) {
3669
3669
  var n = A.length, i = 0;
3670
3670
  if (!n || e.f && !e.l)
3671
- return t || new _e(0);
3671
+ return t || new Re(0);
3672
3672
  var o = !t, r = o || e.i != 2, a = e.i;
3673
- o && (t = new _e(n * 3));
3673
+ o && (t = new Re(n * 3));
3674
3674
  var c = function(Gt) {
3675
3675
  var Jt = t.length;
3676
3676
  if (Gt > Jt) {
3677
- var Rt = new _e(Math.max(Jt * 2, Gt));
3678
- Rt.set(t), t = Rt;
3677
+ var _t = new Re(Math.max(Jt * 2, Gt));
3678
+ _t.set(t), t = _t;
3679
3679
  }
3680
3680
  }, l = e.f || 0, h = e.p || 0, g = e.b || 0, d = e.l, p = e.d, m = e.m, I = e.n, b = n * 8;
3681
3681
  do {
@@ -3686,12 +3686,12 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3686
3686
  if (B == 1)
3687
3687
  d = ac, p = cc, m = 9, I = 5;
3688
3688
  else if (B == 2) {
3689
- var R = gt(A, h, 31) + 257, _ = gt(A, h + 10, 15) + 4, x = R + gt(A, h + 5, 31) + 1;
3689
+ var _ = gt(A, h, 31) + 257, R = gt(A, h + 10, 15) + 4, x = _ + gt(A, h + 5, 31) + 1;
3690
3690
  h += 14;
3691
- for (var v = new _e(x), L = new _e(19), N = 0; N < _; ++N)
3691
+ for (var v = new Re(x), L = new Re(19), N = 0; N < R; ++N)
3692
3692
  L[si[N]] = gt(A, h + N * 3, 7);
3693
- h += _ * 3;
3694
- for (var O = ks(L), Z = (1 << O) - 1, U = vt(L, O, 1), N = 0; N < x; ) {
3693
+ h += R * 3;
3694
+ for (var O = Fs(L), Z = (1 << O) - 1, U = vt(L, O, 1), N = 0; N < x; ) {
3695
3695
  var q = U[gt(A, h, Z)];
3696
3696
  h += q & 15;
3697
3697
  var E = q >> 4;
@@ -3703,8 +3703,8 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3703
3703
  v[N++] = H;
3704
3704
  }
3705
3705
  }
3706
- var ee = v.subarray(0, R), te = v.subarray(R);
3707
- m = ks(ee), I = ks(te), d = vt(ee, m, 1), p = vt(te, I, 1);
3706
+ var ee = v.subarray(0, _), te = v.subarray(_);
3707
+ m = Fs(ee), I = Fs(te), d = vt(ee, m, 1), p = vt(te, I, 1);
3708
3708
  } else
3709
3709
  Je(1);
3710
3710
  else {
@@ -3723,7 +3723,7 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3723
3723
  }
3724
3724
  r && c(g + 131072);
3725
3725
  for (var ie = (1 << m) - 1, le = (1 << I) - 1, ae = h; ; ae = h) {
3726
- var H = d[Fs(A, h) & ie], he = H >> 4;
3726
+ var H = d[Ls(A, h) & ie], he = H >> 4;
3727
3727
  if (h += H & 15, h > b) {
3728
3728
  a && Je(0);
3729
3729
  break;
@@ -3736,15 +3736,15 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3736
3736
  } else {
3737
3737
  var Qe = he - 254;
3738
3738
  if (he > 264) {
3739
- var N = he - 257, be = ms[N];
3739
+ var N = he - 257, be = Is[N];
3740
3740
  Qe = gt(A, h, (1 << be) - 1) + ur[N], h += be;
3741
3741
  }
3742
- var Ae = p[Fs(A, h) & le], Xe = Ae >> 4;
3742
+ var Ae = p[Ls(A, h) & le], Xe = Ae >> 4;
3743
3743
  Ae || Je(3), h += Ae & 15;
3744
3744
  var te = oc[Xe];
3745
3745
  if (Xe > 3) {
3746
- var be = Is[Xe];
3747
- te += Fs(A, h) & (1 << be) - 1, h += be;
3746
+ var be = bs[Xe];
3747
+ te += Ls(A, h) & (1 << be) - 1, h += be;
3748
3748
  }
3749
3749
  if (h > b) {
3750
3750
  a && Je(0);
@@ -3753,9 +3753,9 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3753
3753
  r && c(g + 131072);
3754
3754
  var Ze = g + Qe;
3755
3755
  if (g < te) {
3756
- var an = i - te, An = Math.min(te, Ze);
3757
- for (an + g < 0 && Je(3); g < An; ++g)
3758
- t[g] = s[an + g];
3756
+ var An = i - te, cn = Math.min(te, Ze);
3757
+ for (An + g < 0 && Je(3); g < cn; ++g)
3758
+ t[g] = s[An + g];
3759
3759
  }
3760
3760
  for (; g < Ze; ++g)
3761
3761
  t[g] = t[g - te];
@@ -3768,22 +3768,22 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3768
3768
  t <<= e & 7;
3769
3769
  var s = e / 8 | 0;
3770
3770
  A[s] |= t, A[s + 1] |= t >> 8;
3771
- }, Sn = function(A, e, t) {
3771
+ }, vn = function(A, e, t) {
3772
3772
  t <<= e & 7;
3773
3773
  var s = e / 8 | 0;
3774
3774
  A[s] |= t, A[s + 1] |= t >> 8, A[s + 2] |= t >> 16;
3775
- }, Ls = function(A, e) {
3775
+ }, Ns = function(A, e) {
3776
3776
  for (var t = [], s = 0; s < A.length; ++s)
3777
3777
  A[s] && t.push({ s, f: A[s] });
3778
3778
  var n = t.length, i = t.slice();
3779
3779
  if (!n)
3780
3780
  return { t: pr, l: 0 };
3781
3781
  if (n == 1) {
3782
- var o = new _e(t[0].s + 1);
3782
+ var o = new Re(t[0].s + 1);
3783
3783
  return o[t[0].s] = 1, { t: o, l: 1 };
3784
3784
  }
3785
- t.sort(function(Q, R) {
3786
- return Q.f - R.f;
3785
+ t.sort(function(Q, _) {
3786
+ return Q.f - _.f;
3787
3787
  }), t.push({ s: -1, f: 25001 });
3788
3788
  var r = t[0], a = t[1], c = 0, l = 1, h = 2;
3789
3789
  for (t[0] = { s: -1, f: r.f + a.f, l: r, r: a }; l != n - 1; )
@@ -3793,8 +3793,8 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3793
3793
  var d = new it(g + 1), p = ri(t[l - 1], d, 0);
3794
3794
  if (p > e) {
3795
3795
  var s = 0, m = 0, I = p - e, b = 1 << I;
3796
- for (i.sort(function(R, _) {
3797
- return d[_.s] - d[R.s] || R.f - _.f;
3796
+ for (i.sort(function(_, R) {
3797
+ return d[R.s] - d[_.s] || _.f - R.f;
3798
3798
  }); s < n; ++s) {
3799
3799
  var B = i[s].s;
3800
3800
  if (d[B] > e)
@@ -3812,7 +3812,7 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3812
3812
  }
3813
3813
  p = e;
3814
3814
  }
3815
- return { t: new _e(d), l: p };
3815
+ return { t: new Re(d), l: p };
3816
3816
  }, ri = function(A, e, t) {
3817
3817
  return A.s == -1 ? Math.max(ri(A.l, e, t + 1), ri(A.r, e, t + 1)) : e[A.s] = t;
3818
3818
  }, Vi = function(A) {
@@ -3838,7 +3838,7 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3838
3838
  i = 1, n = A[r];
3839
3839
  }
3840
3840
  return { c: t.subarray(0, s), n: e };
3841
- }, vn = function(A, e) {
3841
+ }, Tn = function(A, e) {
3842
3842
  for (var t = 0, s = 0; s < e.length; ++s)
3843
3843
  t += A[s] * e[s];
3844
3844
  return t;
@@ -3850,20 +3850,20 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3850
3850
  return (n + 4 + s) * 8;
3851
3851
  }, Xi = function(A, e, t, s, n, i, o, r, a, c, l) {
3852
3852
  Dt(e, l++, t), ++n[256];
3853
- for (var h = Ls(n, 15), g = h.t, d = h.l, p = Ls(i, 15), m = p.t, I = p.l, b = Vi(g), B = b.c, E = b.n, w = Vi(m), Q = w.c, R = w.n, _ = new it(19), x = 0; x < B.length; ++x)
3854
- ++_[B[x] & 31];
3853
+ for (var h = Ns(n, 15), g = h.t, d = h.l, p = Ns(i, 15), m = p.t, I = p.l, b = Vi(g), B = b.c, E = b.n, w = Vi(m), Q = w.c, _ = w.n, R = new it(19), x = 0; x < B.length; ++x)
3854
+ ++R[B[x] & 31];
3855
3855
  for (var x = 0; x < Q.length; ++x)
3856
- ++_[Q[x] & 31];
3857
- for (var v = Ls(_, 7), L = v.t, N = v.l, O = 19; O > 4 && !L[si[O - 1]]; --O)
3856
+ ++R[Q[x] & 31];
3857
+ for (var v = Ns(R, 7), L = v.t, N = v.l, O = 19; O > 4 && !L[si[O - 1]]; --O)
3858
3858
  ;
3859
- var Z = c + 5 << 3, U = vn(n, Yt) + vn(i, On) + o, q = vn(n, g) + vn(i, m) + o + 14 + 3 * O + vn(_, L) + 2 * _[16] + 3 * _[17] + 7 * _[18];
3859
+ var Z = c + 5 << 3, U = Tn(n, Yt) + Tn(i, Hn) + o, q = Tn(n, g) + Tn(i, m) + o + 14 + 3 * O + Tn(R, L) + 2 * R[16] + 3 * R[17] + 7 * R[18];
3860
3860
  if (a >= 0 && Z <= U && Z <= q)
3861
3861
  return dr(e, l, A.subarray(a, a + c));
3862
3862
  var H, K, ee, te;
3863
3863
  if (Dt(e, l, 1 + (q < U)), l += 2, q < U) {
3864
3864
  H = vt(g, d, 0), K = g, ee = vt(m, I, 0), te = m;
3865
3865
  var ie = vt(L, N, 0);
3866
- Dt(e, l, E - 257), Dt(e, l + 5, R - 1), Dt(e, l + 10, O - 4), l += 14;
3866
+ Dt(e, l, E - 257), Dt(e, l + 5, _ - 1), Dt(e, l + 10, O - 4), l += 14;
3867
3867
  for (var x = 0; x < O; ++x)
3868
3868
  Dt(e, l + 3 * x, L[si[x]]);
3869
3869
  l += 3 * O;
@@ -3873,34 +3873,34 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3873
3873
  Dt(e, l, ie[Qe]), l += L[Qe], Qe > 15 && (Dt(e, l, he[x] >> 5 & 127), l += he[x] >> 12);
3874
3874
  }
3875
3875
  } else
3876
- H = rc, K = Yt, ee = Ac, te = On;
3876
+ H = rc, K = Yt, ee = Ac, te = Hn;
3877
3877
  for (var x = 0; x < r; ++x) {
3878
3878
  var be = s[x];
3879
3879
  if (be > 255) {
3880
3880
  var Qe = be >> 18 & 31;
3881
- Sn(e, l, H[Qe + 257]), l += K[Qe + 257], Qe > 7 && (Dt(e, l, be >> 23 & 31), l += ms[Qe]);
3881
+ vn(e, l, H[Qe + 257]), l += K[Qe + 257], Qe > 7 && (Dt(e, l, be >> 23 & 31), l += Is[Qe]);
3882
3882
  var Ae = be & 31;
3883
- Sn(e, l, ee[Ae]), l += te[Ae], Ae > 3 && (Sn(e, l, be >> 5 & 8191), l += Is[Ae]);
3883
+ vn(e, l, ee[Ae]), l += te[Ae], Ae > 3 && (vn(e, l, be >> 5 & 8191), l += bs[Ae]);
3884
3884
  } else
3885
- Sn(e, l, H[be]), l += K[be];
3885
+ vn(e, l, H[be]), l += K[be];
3886
3886
  }
3887
- return Sn(e, l, H[256]), l + K[256];
3888
- }, uc = /* @__PURE__ */ new Ei([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]), pr = /* @__PURE__ */ new _e(0), gc = function(A, e, t, s, n, i) {
3889
- var o = i.z || A.length, r = new _e(s + o + 5 * (1 + Math.ceil(o / 7e3)) + n), a = r.subarray(s, r.length - n), c = i.l, l = (i.r || 0) & 7;
3887
+ return vn(e, l, H[256]), l + K[256];
3888
+ }, uc = /* @__PURE__ */ new Ei([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]), pr = /* @__PURE__ */ new Re(0), gc = function(A, e, t, s, n, i) {
3889
+ var o = i.z || A.length, r = new Re(s + o + 5 * (1 + Math.ceil(o / 7e3)) + n), a = r.subarray(s, r.length - n), c = i.l, l = (i.r || 0) & 7;
3890
3890
  if (e) {
3891
3891
  l && (a[0] = i.r >> 3);
3892
- for (var h = uc[e - 1], g = h >> 13, d = h & 8191, p = (1 << t) - 1, m = i.p || new it(32768), I = i.h || new it(p + 1), b = Math.ceil(t / 3), B = 2 * b, E = function(cn) {
3893
- return (A[cn] ^ A[cn + 1] << b ^ A[cn + 2] << B) & p;
3894
- }, w = new Ei(25e3), Q = new it(288), R = new it(32), _ = 0, x = 0, v = i.i || 0, L = 0, N = i.w || 0, O = 0; v + 2 < o; ++v) {
3892
+ for (var h = uc[e - 1], g = h >> 13, d = h & 8191, p = (1 << t) - 1, m = i.p || new it(32768), I = i.h || new it(p + 1), b = Math.ceil(t / 3), B = 2 * b, E = function(ln) {
3893
+ return (A[ln] ^ A[ln + 1] << b ^ A[ln + 2] << B) & p;
3894
+ }, w = new Ei(25e3), Q = new it(288), _ = new it(32), R = 0, x = 0, v = i.i || 0, L = 0, N = i.w || 0, O = 0; v + 2 < o; ++v) {
3895
3895
  var Z = E(v), U = v & 32767, q = I[Z];
3896
3896
  if (m[U] = q, I[Z] = U, N <= v) {
3897
3897
  var H = o - v;
3898
- if ((_ > 7e3 || L > 24576) && (H > 423 || !c)) {
3899
- l = Xi(A, a, 0, w, Q, R, x, L, O, v - O, l), L = _ = x = 0, O = v;
3898
+ if ((R > 7e3 || L > 24576) && (H > 423 || !c)) {
3899
+ l = Xi(A, a, 0, w, Q, _, x, L, O, v - O, l), L = R = x = 0, O = v;
3900
3900
  for (var K = 0; K < 286; ++K)
3901
3901
  Q[K] = 0;
3902
3902
  for (var K = 0; K < 30; ++K)
3903
- R[K] = 0;
3903
+ _[K] = 0;
3904
3904
  }
3905
3905
  var ee = 2, te = 0, ie = d, le = U - q & 32767;
3906
3906
  if (H > 2 && Z == E(v - le))
@@ -3912,8 +3912,8 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3912
3912
  if (ee = be, te = le, be > ae)
3913
3913
  break;
3914
3914
  for (var Ae = Math.min(le, be - 2), Xe = 0, K = 0; K < Ae; ++K) {
3915
- var Ze = v - le + K & 32767, an = m[Ze], An = Ze - an & 32767;
3916
- An > Xe && (Xe = An, q = Ze);
3915
+ var Ze = v - le + K & 32767, An = m[Ze], cn = Ze - An & 32767;
3916
+ cn > Xe && (Xe = cn, q = Ze);
3917
3917
  }
3918
3918
  }
3919
3919
  }
@@ -3922,18 +3922,18 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3922
3922
  if (te) {
3923
3923
  w[L++] = 268435456 | ii[ee] << 18 | Wi[te];
3924
3924
  var Gt = ii[ee] & 31, Jt = Wi[te] & 31;
3925
- x += ms[Gt] + Is[Jt], ++Q[257 + Gt], ++R[Jt], N = v + ee, ++_;
3925
+ x += Is[Gt] + bs[Jt], ++Q[257 + Gt], ++_[Jt], N = v + ee, ++R;
3926
3926
  } else
3927
3927
  w[L++] = A[v], ++Q[A[v]];
3928
3928
  }
3929
3929
  }
3930
3930
  for (v = Math.max(v, N); v < o; ++v)
3931
3931
  w[L++] = A[v], ++Q[A[v]];
3932
- l = Xi(A, a, c, w, Q, R, x, L, O, v - O, l), c || (i.r = l & 7 | a[l / 8 | 0] << 3, l -= 7, i.h = I, i.p = m, i.i = v, i.w = N);
3932
+ l = Xi(A, a, c, w, Q, _, x, L, O, v - O, l), c || (i.r = l & 7 | a[l / 8 | 0] << 3, l -= 7, i.h = I, i.p = m, i.i = v, i.w = N);
3933
3933
  } else {
3934
3934
  for (var v = i.w || 0; v < o + c; v += 65535) {
3935
- var Rt = v + 65535;
3936
- Rt >= o && (a[l / 8 | 0] = c, Rt = o), l = dr(a, l + 1, A.subarray(v, Rt));
3935
+ var _t = v + 65535;
3936
+ _t >= o && (a[l / 8 | 0] = c, _t = o), l = dr(a, l + 1, A.subarray(v, _t));
3937
3937
  }
3938
3938
  i.i = o;
3939
3939
  }
@@ -3959,7 +3959,7 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3959
3959
  };
3960
3960
  }, fc = function(A, e, t, s, n) {
3961
3961
  if (!n && (n = { l: 1 }, e.dictionary)) {
3962
- var i = e.dictionary.subarray(-32768), o = new _e(i.length + A.length);
3962
+ var i = e.dictionary.subarray(-32768), o = new Re(i.length + A.length);
3963
3963
  o.set(i), o.set(A, i.length), A = o, n.w = i.length;
3964
3964
  }
3965
3965
  return gc(A, e.level == null ? 6 : e.level, e.mem == null ? n.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(A.length))) * 1.5) : 20 : 12 + e.mem, t, s, n);
@@ -3979,13 +3979,13 @@ var rc = /* @__PURE__ */ vt(Yt, 9, 0), ac = /* @__PURE__ */ vt(Yt, 9, 1), Ac = /
3979
3979
  function Ic(A, e) {
3980
3980
  return fc(A, e || {}, 0, 0);
3981
3981
  }
3982
- function Ln(A, e) {
3982
+ function Nn(A, e) {
3983
3983
  return hc(A.subarray(mc(A), -4), { i: 2 }, e, e);
3984
3984
  }
3985
3985
  var mr = function(A, e, t, s) {
3986
3986
  for (var n in A) {
3987
3987
  var i = A[n], o = e + n, r = s;
3988
- Array.isArray(i) && (r = fr(s, i[1]), i = i[0]), i instanceof _e ? t[o] = [i, r] : (t[o += "/"] = [new _e(0), r], mr(i, o, t, s));
3988
+ Array.isArray(i) && (r = fr(s, i[1]), i = i[0]), i instanceof Re ? t[o] = [i, r] : (t[o += "/"] = [new Re(0), r], mr(i, o, t, s));
3989
3989
  }
3990
3990
  }, Zi = typeof TextEncoder < "u" && /* @__PURE__ */ new TextEncoder(), bc = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), Ec = 0;
3991
3991
  try {
@@ -3996,11 +3996,11 @@ function $i(A, e) {
3996
3996
  var t;
3997
3997
  if (Zi)
3998
3998
  return Zi.encode(A);
3999
- for (var s = A.length, n = new _e(A.length + (A.length >> 1)), i = 0, o = function(c) {
3999
+ for (var s = A.length, n = new Re(A.length + (A.length >> 1)), i = 0, o = function(c) {
4000
4000
  n[i++] = c;
4001
4001
  }, t = 0; t < s; ++t) {
4002
4002
  if (i + 5 > n.length) {
4003
- var r = new _e(i + 8 + (s - t << 1));
4003
+ var r = new Re(i + 8 + (s - t << 1));
4004
4004
  r.set(n), n = r;
4005
4005
  }
4006
4006
  var a = A.charCodeAt(t);
@@ -4029,7 +4029,7 @@ var ai = function(A) {
4029
4029
  }, Cc = function(A, e, t, s, n) {
4030
4030
  Ge(A, e, 101010256), Ge(A, e + 8, t), Ge(A, e + 10, t), Ge(A, e + 12, s), Ge(A, e + 16, n);
4031
4031
  };
4032
- function Eh(A, e) {
4032
+ function Ch(A, e) {
4033
4033
  e || (e = {});
4034
4034
  var t = {}, s = [];
4035
4035
  mr(A, "", t, e);
@@ -4049,13 +4049,13 @@ function Eh(A, e) {
4049
4049
  compression: l
4050
4050
  })), n += 30 + g + I + B, i += 76 + 2 * (g + I) + (m || 0) + B;
4051
4051
  }
4052
- for (var w = new _e(i + 22), Q = n, R = i - n, _ = 0; _ < s.length; ++_) {
4053
- var h = s[_];
4052
+ for (var w = new Re(i + 22), Q = n, _ = i - n, R = 0; R < s.length; ++R) {
4053
+ var h = s[R];
4054
4054
  eo(w, h.o, h, h.f, h.u, h.c.length);
4055
4055
  var x = 30 + h.f.length + ai(h.extra);
4056
4056
  w.set(h.c, h.o + x), eo(w, n, h, h.f, h.u, h.c.length, h.o, h.m), n += 16 + x + (h.m ? h.m.length : 0);
4057
4057
  }
4058
- return Cc(w, n, s.length, R, Q), w;
4058
+ return Cc(w, n, s.length, _, Q), w;
4059
4059
  }
4060
4060
  class Bc extends Po {
4061
4061
  constructor(e) {
@@ -4192,20 +4192,20 @@ class Bc extends Po {
4192
4192
  const C = Qe(u), y = Qe(f), T = C - (y >> 1) & 65535, S = y + T - 32768 & 65535;
4193
4193
  Ae.a = S, Ae.b = T;
4194
4194
  }
4195
- function an(u, f, C, y, T, S, k) {
4195
+ function An(u, f, C, y, T, S, k) {
4196
4196
  const G = k < 16384, F = C > T ? T : C;
4197
4197
  let M = 1, D, j;
4198
4198
  for (; M <= F; ) M <<= 1;
4199
4199
  for (M >>= 1, D = M, M >>= 1; M >= 1; ) {
4200
4200
  j = 0;
4201
4201
  const V = j + S * (T - D), Y = S * M, $ = S * D, J = y * M, X = y * D;
4202
- let ne, pe, xe, et;
4202
+ let ne, fe, xe, et;
4203
4203
  for (; j <= V; j += $) {
4204
4204
  let Ee = j;
4205
4205
  const ce = j + y * (C - D);
4206
4206
  for (; Ee <= ce; Ee += X) {
4207
4207
  const De = Ee + J, At = Ee + Y, Fe = At + J;
4208
- G ? (Xe(u[Ee + f], u[At + f]), ne = Ae.a, xe = Ae.b, Xe(u[De + f], u[Fe + f]), pe = Ae.a, et = Ae.b, Xe(ne, pe), u[Ee + f] = Ae.a, u[De + f] = Ae.b, Xe(xe, et), u[At + f] = Ae.a, u[Fe + f] = Ae.b) : (Ze(u[Ee + f], u[At + f]), ne = Ae.a, xe = Ae.b, Ze(u[De + f], u[Fe + f]), pe = Ae.a, et = Ae.b, Ze(ne, pe), u[Ee + f] = Ae.a, u[De + f] = Ae.b, Ze(xe, et), u[At + f] = Ae.a, u[Fe + f] = Ae.b);
4208
+ G ? (Xe(u[Ee + f], u[At + f]), ne = Ae.a, xe = Ae.b, Xe(u[De + f], u[Fe + f]), fe = Ae.a, et = Ae.b, Xe(ne, fe), u[Ee + f] = Ae.a, u[De + f] = Ae.b, Xe(xe, et), u[At + f] = Ae.a, u[Fe + f] = Ae.b) : (Ze(u[Ee + f], u[At + f]), ne = Ae.a, xe = Ae.b, Ze(u[De + f], u[Fe + f]), fe = Ae.a, et = Ae.b, Ze(ne, fe), u[Ee + f] = Ae.a, u[De + f] = Ae.b, Ze(xe, et), u[At + f] = Ae.a, u[Fe + f] = Ae.b);
4209
4209
  }
4210
4210
  if (C & M) {
4211
4211
  const De = Ee + Y;
@@ -4224,7 +4224,7 @@ class Bc extends Po {
4224
4224
  }
4225
4225
  return j;
4226
4226
  }
4227
- function An(u, f, C, y, T, S, k, G, F) {
4227
+ function cn(u, f, C, y, T, S, k, G, F) {
4228
4228
  let M = 0, D = 0;
4229
4229
  const j = k, V = Math.trunc(y.value + (T + 7) / 8);
4230
4230
  for (; y.value < V; )
@@ -4270,19 +4270,19 @@ class Bc extends Po {
4270
4270
  const Y = y - (C.value - G);
4271
4271
  if (H(u, C, Y, F, M, j), D > 8 * (y - (C.value - G)))
4272
4272
  throw new Error("Something wrong with hufUncompress");
4273
- te(j, F, M, V), An(j, V, u, C, D, M, S, T, k);
4273
+ te(j, F, M, V), cn(j, V, u, C, D, M, S, T, k);
4274
4274
  }
4275
4275
  function Jt(u, f, C) {
4276
4276
  for (let y = 0; y < C; ++y)
4277
4277
  f[y] = u[f[y]];
4278
4278
  }
4279
- function Rt(u) {
4279
+ function _t(u) {
4280
4280
  for (let f = 1; f < u.length; f++) {
4281
4281
  const C = u[f - 1] + u[f] - 128;
4282
4282
  u[f] = C;
4283
4283
  }
4284
4284
  }
4285
- function cn(u, f) {
4285
+ function ln(u, f) {
4286
4286
  let C = 0, y = Math.floor((u.length + 1) / 2), T = 0;
4287
4287
  const S = u.length - 1;
4288
4288
  for (; !(T > S || (f[T++] = u[C++], T > S)); )
@@ -4312,36 +4312,36 @@ class Bc extends Po {
4312
4312
  }
4313
4313
  function vr(u, f, C, y, T, S) {
4314
4314
  let k = new DataView(S.buffer);
4315
- const G = C[u.idx[0]].width, F = C[u.idx[0]].height, M = 3, D = Math.floor(G / 8), j = Math.ceil(G / 8), V = Math.ceil(F / 8), Y = G - (j - 1) * 8, $ = F - (V - 1) * 8, J = { value: 0 }, X = new Array(M), ne = new Array(M), pe = new Array(M), xe = new Array(M), et = new Array(M);
4315
+ const G = C[u.idx[0]].width, F = C[u.idx[0]].height, M = 3, D = Math.floor(G / 8), j = Math.ceil(G / 8), V = Math.ceil(F / 8), Y = G - (j - 1) * 8, $ = F - (V - 1) * 8, J = { value: 0 }, X = new Array(M), ne = new Array(M), fe = new Array(M), xe = new Array(M), et = new Array(M);
4316
4316
  for (let ce = 0; ce < M; ++ce)
4317
- et[ce] = f[u.idx[ce]], X[ce] = ce < 1 ? 0 : X[ce - 1] + j * V, ne[ce] = new Float32Array(64), pe[ce] = new Uint16Array(64), xe[ce] = new Uint16Array(j * 64);
4317
+ et[ce] = f[u.idx[ce]], X[ce] = ce < 1 ? 0 : X[ce - 1] + j * V, ne[ce] = new Float32Array(64), fe[ce] = new Uint16Array(64), xe[ce] = new Uint16Array(j * 64);
4318
4318
  for (let ce = 0; ce < V; ++ce) {
4319
4319
  let De = 8;
4320
4320
  ce == V - 1 && (De = $);
4321
4321
  let At = 8;
4322
- for (let de = 0; de < j; ++de) {
4323
- de == j - 1 && (At = Y);
4322
+ for (let pe = 0; pe < j; ++pe) {
4323
+ pe == j - 1 && (At = Y);
4324
4324
  for (let Ie = 0; Ie < M; ++Ie)
4325
- pe[Ie].fill(0), pe[Ie][0] = T[X[Ie]++], Tr(J, y, pe[Ie]), Rr(pe[Ie], ne[Ie]), _r(ne[Ie]);
4325
+ fe[Ie].fill(0), fe[Ie][0] = T[X[Ie]++], Tr(J, y, fe[Ie]), _r(fe[Ie], ne[Ie]), Rr(ne[Ie]);
4326
4326
  Dr(ne);
4327
4327
  for (let Ie = 0; Ie < M; ++Ie)
4328
- Mr(ne[Ie], xe[Ie], de * 64);
4328
+ Mr(ne[Ie], xe[Ie], pe * 64);
4329
4329
  }
4330
4330
  let Fe = 0;
4331
- for (let de = 0; de < M; ++de) {
4332
- const Ie = C[u.idx[de]].type;
4333
- for (let _t = 8 * ce; _t < 8 * ce + De; ++_t) {
4334
- Fe = et[de][_t];
4335
- for (let En = 0; En < D; ++En) {
4336
- const bt = En * 64 + (_t & 7) * 8;
4337
- k.setUint16(Fe + 0 * Ie, xe[de][bt + 0], !0), k.setUint16(Fe + 2 * Ie, xe[de][bt + 1], !0), k.setUint16(Fe + 4 * Ie, xe[de][bt + 2], !0), k.setUint16(Fe + 6 * Ie, xe[de][bt + 3], !0), k.setUint16(Fe + 8 * Ie, xe[de][bt + 4], !0), k.setUint16(Fe + 10 * Ie, xe[de][bt + 5], !0), k.setUint16(Fe + 12 * Ie, xe[de][bt + 6], !0), k.setUint16(Fe + 14 * Ie, xe[de][bt + 7], !0), Fe += 16 * Ie;
4331
+ for (let pe = 0; pe < M; ++pe) {
4332
+ const Ie = C[u.idx[pe]].type;
4333
+ for (let Rt = 8 * ce; Rt < 8 * ce + De; ++Rt) {
4334
+ Fe = et[pe][Rt];
4335
+ for (let Cn = 0; Cn < D; ++Cn) {
4336
+ const bt = Cn * 64 + (Rt & 7) * 8;
4337
+ k.setUint16(Fe + 0 * Ie, xe[pe][bt + 0], !0), k.setUint16(Fe + 2 * Ie, xe[pe][bt + 1], !0), k.setUint16(Fe + 4 * Ie, xe[pe][bt + 2], !0), k.setUint16(Fe + 6 * Ie, xe[pe][bt + 3], !0), k.setUint16(Fe + 8 * Ie, xe[pe][bt + 4], !0), k.setUint16(Fe + 10 * Ie, xe[pe][bt + 5], !0), k.setUint16(Fe + 12 * Ie, xe[pe][bt + 6], !0), k.setUint16(Fe + 14 * Ie, xe[pe][bt + 7], !0), Fe += 16 * Ie;
4338
4338
  }
4339
4339
  }
4340
4340
  if (D != j)
4341
- for (let _t = 8 * ce; _t < 8 * ce + De; ++_t) {
4342
- const En = et[de][_t] + 8 * D * 2 * Ie, bt = D * 64 + (_t & 7) * 8;
4343
- for (let zn = 0; zn < At; ++zn)
4344
- k.setUint16(En + zn * 2 * Ie, xe[de][bt + zn], !0);
4341
+ for (let Rt = 8 * ce; Rt < 8 * ce + De; ++Rt) {
4342
+ const Cn = et[pe][Rt] + 8 * D * 2 * Ie, bt = D * 64 + (Rt & 7) * 8;
4343
+ for (let Kn = 0; Kn < At; ++Kn)
4344
+ k.setUint16(Cn + Kn * 2 * Ie, xe[pe][bt + Kn], !0);
4345
4345
  }
4346
4346
  }
4347
4347
  }
@@ -4353,10 +4353,10 @@ class Bc extends Po {
4353
4353
  if (C[ce].type == 2)
4354
4354
  for (let At = 0; At < F; ++At) {
4355
4355
  const Fe = et[ce][At];
4356
- for (let de = 0; de < G; ++de)
4357
- Ee[de] = k.getUint16(Fe + de * 2 * De, !0);
4358
- for (let de = 0; de < G; ++de)
4359
- k.setFloat32(Fe + de * 2 * De, W(Ee[de]), !0);
4356
+ for (let pe = 0; pe < G; ++pe)
4357
+ Ee[pe] = k.getUint16(Fe + pe * 2 * De, !0);
4358
+ for (let pe = 0; pe < G; ++pe)
4359
+ k.setFloat32(Fe + pe * 2 * De, W(Ee[pe]), !0);
4360
4360
  }
4361
4361
  }
4362
4362
  }
@@ -4365,10 +4365,10 @@ class Bc extends Po {
4365
4365
  for (; T < 64; )
4366
4366
  y = f[u.value], y == 65280 ? T = 64 : y >> 8 == 255 ? T += y & 255 : (C[T] = y, T++), u.value++;
4367
4367
  }
4368
- function Rr(u, f) {
4368
+ function _r(u, f) {
4369
4369
  f[0] = W(u[0]), f[1] = W(u[1]), f[2] = W(u[5]), f[3] = W(u[6]), f[4] = W(u[14]), f[5] = W(u[15]), f[6] = W(u[27]), f[7] = W(u[28]), f[8] = W(u[2]), f[9] = W(u[4]), f[10] = W(u[7]), f[11] = W(u[13]), f[12] = W(u[16]), f[13] = W(u[26]), f[14] = W(u[29]), f[15] = W(u[42]), f[16] = W(u[3]), f[17] = W(u[8]), f[18] = W(u[12]), f[19] = W(u[17]), f[20] = W(u[25]), f[21] = W(u[30]), f[22] = W(u[41]), f[23] = W(u[43]), f[24] = W(u[9]), f[25] = W(u[11]), f[26] = W(u[18]), f[27] = W(u[24]), f[28] = W(u[31]), f[29] = W(u[40]), f[30] = W(u[44]), f[31] = W(u[53]), f[32] = W(u[10]), f[33] = W(u[19]), f[34] = W(u[23]), f[35] = W(u[32]), f[36] = W(u[39]), f[37] = W(u[45]), f[38] = W(u[52]), f[39] = W(u[54]), f[40] = W(u[20]), f[41] = W(u[22]), f[42] = W(u[33]), f[43] = W(u[38]), f[44] = W(u[46]), f[45] = W(u[51]), f[46] = W(u[55]), f[47] = W(u[60]), f[48] = W(u[21]), f[49] = W(u[34]), f[50] = W(u[37]), f[51] = W(u[47]), f[52] = W(u[50]), f[53] = W(u[56]), f[54] = W(u[59]), f[55] = W(u[61]), f[56] = W(u[35]), f[57] = W(u[36]), f[58] = W(u[48]), f[59] = W(u[49]), f[60] = W(u[57]), f[61] = W(u[58]), f[62] = W(u[62]), f[63] = W(u[63]);
4370
4370
  }
4371
- function _r(u) {
4371
+ function Rr(u) {
4372
4372
  const f = 0.5 * Math.cos(0.7853975), C = 0.5 * Math.cos(3.14159 / 16), y = 0.5 * Math.cos(3.14159 / 8), T = 0.5 * Math.cos(3 * 3.14159 / 16), S = 0.5 * Math.cos(5 * 3.14159 / 16), k = 0.5 * Math.cos(3 * 3.14159 / 8), G = 0.5 * Math.cos(7 * 3.14159 / 16), F = new Array(4), M = new Array(4), D = new Array(4), j = new Array(4);
4373
4373
  for (let V = 0; V < 8; ++V) {
4374
4374
  const Y = V * 8;
@@ -4385,21 +4385,21 @@ class Bc extends Po {
4385
4385
  }
4386
4386
  function Mr(u, f, C) {
4387
4387
  for (let y = 0; y < 64; ++y)
4388
- f[C + y] = pn.toHalfFloat(kr(u[y]));
4388
+ f[C + y] = fn.toHalfFloat(kr(u[y]));
4389
4389
  }
4390
4390
  function kr(u) {
4391
4391
  return u <= 1 ? Math.sign(u) * Math.pow(Math.abs(u), 2.2) : Math.sign(u) * Math.pow(v, Math.abs(u) - 1);
4392
4392
  }
4393
- function bs(u) {
4393
+ function Es(u) {
4394
4394
  return new DataView(u.array.buffer, u.offset.value, u.size);
4395
4395
  }
4396
4396
  function Fr(u) {
4397
4397
  const f = u.viewer.buffer.slice(u.offset.value, u.offset.value + u.size), C = new Uint8Array(yi(f)), y = new Uint8Array(C.length);
4398
- return Rt(C), cn(C, y), new DataView(y.buffer);
4398
+ return _t(C), ln(C, y), new DataView(y.buffer);
4399
4399
  }
4400
- function Es(u) {
4401
- const f = u.array.slice(u.offset.value, u.offset.value + u.size), C = Ln(f), y = new Uint8Array(C.length);
4402
- return Rt(C), cn(C, y), new DataView(y.buffer);
4400
+ function Cs(u) {
4401
+ const f = u.array.slice(u.offset.value, u.offset.value + u.size), C = Nn(f), y = new Uint8Array(C.length);
4402
+ return _t(C), ln(C, y), new DataView(y.buffer);
4403
4403
  }
4404
4404
  function Lr(u) {
4405
4405
  const f = u.viewer, C = { value: u.offset.value }, y = new Uint16Array(u.columns * u.lines * (u.inputChannels.length * u.type)), T = new Uint8Array(8192);
@@ -4407,7 +4407,7 @@ class Bc extends Po {
4407
4407
  const k = new Array(u.inputChannels.length);
4408
4408
  for (let $ = 0, J = u.inputChannels.length; $ < J; $++)
4409
4409
  k[$] = {}, k[$].start = S, k[$].end = k[$].start, k[$].nx = u.columns, k[$].ny = u.lines, k[$].size = u.type, S += k[$].nx * k[$].ny * k[$].size;
4410
- const G = bn(f, C), F = bn(f, C);
4410
+ const G = En(f, C), F = En(f, C);
4411
4411
  if (F >= 8192)
4412
4412
  throw new Error("Something is wrong with PIZ_COMPRESSION BITMAP_SIZE");
4413
4413
  if (G <= F)
@@ -4418,7 +4418,7 @@ class Bc extends Po {
4418
4418
  for (let $ = 0; $ < u.inputChannels.length; ++$) {
4419
4419
  const J = k[$];
4420
4420
  for (let X = 0; X < k[$].size; ++X)
4421
- an(
4421
+ An(
4422
4422
  y,
4423
4423
  J.start + X,
4424
4424
  J.nx,
@@ -4433,13 +4433,13 @@ class Bc extends Po {
4433
4433
  const Y = new Uint8Array(y.buffer.byteLength);
4434
4434
  for (let $ = 0; $ < u.lines; $++)
4435
4435
  for (let J = 0; J < u.inputChannels.length; J++) {
4436
- const X = k[J], ne = X.nx * X.size, pe = new Uint8Array(y.buffer, X.end * 2, ne * 2);
4437
- Y.set(pe, V), V += ne * 2, X.end += ne;
4436
+ const X = k[J], ne = X.nx * X.size, fe = new Uint8Array(y.buffer, X.end * 2, ne * 2);
4437
+ Y.set(fe, V), V += ne * 2, X.end += ne;
4438
4438
  }
4439
4439
  return new DataView(Y.buffer);
4440
4440
  }
4441
4441
  function Nr(u) {
4442
- const f = u.array.slice(u.offset.value, u.offset.value + u.size), C = Ln(f), y = u.inputChannels.length * u.lines * u.columns * u.totalBytes, T = new ArrayBuffer(y), S = new DataView(T);
4442
+ const f = u.array.slice(u.offset.value, u.offset.value + u.size), C = Nn(f), y = u.inputChannels.length * u.lines * u.columns * u.totalBytes, T = new ArrayBuffer(y), S = new DataView(T);
4443
4443
  let k = 0, G = 0;
4444
4444
  const F = new Array(4);
4445
4445
  for (let M = 0; M < u.lines; M++)
@@ -4481,9 +4481,9 @@ class Bc extends Po {
4481
4481
  if (T.version < 2)
4482
4482
  throw new Error("EXRLoader.parse: " + Wt.compression + " version " + T.version + " is unsupported");
4483
4483
  const S = new Array();
4484
- let k = bn(f, C) - 2;
4484
+ let k = En(f, C) - 2;
4485
4485
  for (; k > 0; ) {
4486
- const J = qn(f.buffer, C), X = Pt(f, C), ne = X >> 2 & 3, pe = (X >> 4) - 1, xe = new Int8Array([pe])[0], et = Pt(f, C);
4486
+ const J = zn(f.buffer, C), X = Pt(f, C), ne = X >> 2 & 3, fe = (X >> 4) - 1, xe = new Int8Array([fe])[0], et = Pt(f, C);
4487
4487
  S.push({
4488
4488
  name: J,
4489
4489
  index: xe,
@@ -4502,8 +4502,8 @@ class Bc extends Po {
4502
4502
  for (let J = 0; J < u.inputChannels.length; ++J) {
4503
4503
  const X = F[J];
4504
4504
  for (let ne = 0; ne < S.length; ++ne) {
4505
- const pe = S[ne];
4506
- X.name == pe.name && (X.compression = pe.compression, pe.index >= 0 && (M.idx[pe.index] = J), X.offset = J);
4505
+ const fe = S[ne];
4506
+ X.name == fe.name && (X.compression = fe.compression, fe.index >= 0 && (M.idx[fe.index] = J), X.offset = J);
4507
4507
  }
4508
4508
  }
4509
4509
  let D, j, V;
@@ -4513,7 +4513,7 @@ class Bc extends Po {
4513
4513
  D = new Uint16Array(T.totalAcUncompressedCount), Gt(u.array, f, C, T.acCompressedSize, D, T.totalAcUncompressedCount);
4514
4514
  break;
4515
4515
  case 1:
4516
- const J = u.array.slice(C.value, C.value + T.totalAcUncompressedCount), X = Ln(J);
4516
+ const J = u.array.slice(C.value, C.value + T.totalAcUncompressedCount), X = Nn(J);
4517
4517
  D = new Uint16Array(X.buffer), C.value += T.totalAcUncompressedCount;
4518
4518
  break;
4519
4519
  }
@@ -4523,10 +4523,10 @@ class Bc extends Po {
4523
4523
  offset: C,
4524
4524
  size: T.dcCompressedSize
4525
4525
  };
4526
- j = new Uint16Array(Es(J).buffer), C.value += T.dcCompressedSize;
4526
+ j = new Uint16Array(Cs(J).buffer), C.value += T.dcCompressedSize;
4527
4527
  }
4528
4528
  if (T.rleRawSize > 0) {
4529
- const J = u.array.slice(C.value, C.value + T.rleCompressedSize), X = Ln(J);
4529
+ const J = u.array.slice(C.value, C.value + T.rleCompressedSize), X = Nn(J);
4530
4530
  V = yi(X.buffer), C.value += T.rleCompressedSize;
4531
4531
  }
4532
4532
  let Y = 0;
@@ -4542,13 +4542,13 @@ class Bc extends Po {
4542
4542
  if (!X.decoded)
4543
4543
  switch (X.compression) {
4544
4544
  case 2:
4545
- let ne = 0, pe = 0;
4545
+ let ne = 0, fe = 0;
4546
4546
  for (let xe = 0; xe < u.lines; ++xe) {
4547
4547
  let et = $[J][ne];
4548
4548
  for (let Ee = 0; Ee < X.width; ++Ee) {
4549
4549
  for (let ce = 0; ce < 2 * X.type; ++ce)
4550
- y[et++] = V[pe + ce * X.width * X.height];
4551
- pe++;
4550
+ y[et++] = V[fe + ce * X.width * X.height];
4551
+ fe++;
4552
4552
  }
4553
4553
  ne++;
4554
4554
  }
@@ -4561,7 +4561,7 @@ class Bc extends Po {
4561
4561
  }
4562
4562
  return new DataView(y.buffer);
4563
4563
  }
4564
- function qn(u, f) {
4564
+ function zn(u, f) {
4565
4565
  const C = new Uint8Array(u);
4566
4566
  let y = 0;
4567
4567
  for (; C[f.value + y] != 0; )
@@ -4610,23 +4610,23 @@ class Bc extends Po {
4610
4610
  return f.value += 4, C;
4611
4611
  }
4612
4612
  function Or(u, f) {
4613
- return pn.toHalfFloat(Oe(u, f));
4613
+ return fn.toHalfFloat(Oe(u, f));
4614
4614
  }
4615
4615
  function W(u) {
4616
4616
  const f = (u & 31744) >> 10, C = u & 1023;
4617
4617
  return (u >> 15 ? -1 : 1) * (f ? f === 31 ? C ? NaN : 1 / 0 : Math.pow(2, f - 15) * (1 + C / 1024) : 6103515625e-14 * (C / 1024));
4618
4618
  }
4619
- function bn(u, f) {
4619
+ function En(u, f) {
4620
4620
  const C = u.getUint16(f.value, !0);
4621
4621
  return f.value += 2, C;
4622
4622
  }
4623
4623
  function Hr(u, f) {
4624
- return W(bn(u, f));
4624
+ return W(En(u, f));
4625
4625
  }
4626
4626
  function jr(u, f, C, y) {
4627
4627
  const T = C.value, S = [];
4628
4628
  for (; C.value < T + y - 1; ) {
4629
- const k = qn(f, C), G = rt(u, C), F = Pt(u, C);
4629
+ const k = zn(f, C), G = rt(u, C), F = Pt(u, C);
4630
4630
  C.value += 3;
4631
4631
  const M = rt(u, C), D = rt(u, C);
4632
4632
  S.push({
@@ -4770,7 +4770,7 @@ class Bc extends Po {
4770
4770
  f.value += 8, u.size = at(u.viewer, f);
4771
4771
  const k = T * u.blockWidth, G = S * u.blockHeight;
4772
4772
  u.columns = k + u.blockWidth > u.width ? u.width - k : u.blockWidth, u.lines = G + u.blockHeight > u.height ? u.height - G : u.blockHeight;
4773
- const F = u.columns * u.totalBytes, D = u.size < u.lines * F ? u.uncompress(u) : bs(u);
4773
+ const F = u.columns * u.totalBytes, D = u.size < u.lines * F ? u.uncompress(u) : Es(u);
4774
4774
  f.value += u.size;
4775
4775
  for (let j = 0; j < u.lines; j++) {
4776
4776
  const V = j * u.columns * u.totalBytes;
@@ -4779,8 +4779,8 @@ class Bc extends Po {
4779
4779
  if (X === void 0) continue;
4780
4780
  C.value = V + J;
4781
4781
  const ne = (u.height - (1 + G + j)) * u.outLineWidth;
4782
- for (let pe = 0; pe < u.columns; pe++) {
4783
- const xe = ne + (pe + k) * u.outputChannels + X;
4782
+ for (let fe = 0; fe < u.columns; fe++) {
4783
+ const xe = ne + (fe + k) * u.outputChannels + X;
4784
4784
  u.byteArray[xe] = u.getter(D, C);
4785
4785
  }
4786
4786
  }
@@ -4792,7 +4792,7 @@ class Bc extends Po {
4792
4792
  for (let y = 0; y < u.height / u.blockHeight; y++) {
4793
4793
  const T = rt(u.viewer, f) - Wt.dataWindow.yMin;
4794
4794
  u.size = at(u.viewer, f), u.lines = T + u.blockHeight > u.height ? u.height - T : u.blockHeight;
4795
- const S = u.columns * u.totalBytes, G = u.size < u.lines * S ? u.uncompress(u) : bs(u);
4795
+ const S = u.columns * u.totalBytes, G = u.size < u.lines * S ? u.uncompress(u) : Es(u);
4796
4796
  f.value += u.size;
4797
4797
  for (let F = 0; F < u.blockHeight; F++) {
4798
4798
  const M = y * u.blockHeight, D = F + u.scanOrder(M);
@@ -4803,8 +4803,8 @@ class Bc extends Po {
4803
4803
  if (X !== void 0) {
4804
4804
  C.value = j + J;
4805
4805
  for (let ne = 0; ne < u.columns; ne++) {
4806
- const pe = V + ne * u.outputChannels + X;
4807
- u.byteArray[pe] = u.getter(G, C);
4806
+ const fe = V + ne * u.outputChannels + X;
4807
+ u.byteArray[fe] = u.getter(G, C);
4808
4808
  }
4809
4809
  }
4810
4810
  }
@@ -4825,11 +4825,11 @@ class Bc extends Po {
4825
4825
  }, C.value = 8;
4826
4826
  let S = !0;
4827
4827
  for (; S; ) {
4828
- const k = qn(f, C);
4828
+ const k = zn(f, C);
4829
4829
  if (k == 0)
4830
4830
  S = !1;
4831
4831
  else {
4832
- const G = qn(f, C), F = at(u, C), M = Zr(u, f, C, G, F);
4832
+ const G = zn(f, C), F = at(u, C), M = Zr(u, f, C, G, F);
4833
4833
  M === void 0 ? console.warn(`THREE.EXRLoader: Skipped unknown header attribute type '${G}'.`) : y[k] = M;
4834
4834
  }
4835
4835
  }
@@ -4859,16 +4859,16 @@ class Bc extends Po {
4859
4859
  };
4860
4860
  switch (u.compression) {
4861
4861
  case "NO_COMPRESSION":
4862
- S.blockHeight = 1, S.uncompress = bs;
4862
+ S.blockHeight = 1, S.uncompress = Es;
4863
4863
  break;
4864
4864
  case "RLE_COMPRESSION":
4865
4865
  S.blockHeight = 1, S.uncompress = Fr;
4866
4866
  break;
4867
4867
  case "ZIPS_COMPRESSION":
4868
- S.blockHeight = 1, S.uncompress = Es;
4868
+ S.blockHeight = 1, S.uncompress = Cs;
4869
4869
  break;
4870
4870
  case "ZIP_COMPRESSION":
4871
- S.blockHeight = 16, S.uncompress = Es;
4871
+ S.blockHeight = 16, S.uncompress = Cs;
4872
4872
  break;
4873
4873
  case "PIZ_COMPRESSION":
4874
4874
  S.blockHeight = 32, S.uncompress = Lr;
@@ -4908,7 +4908,7 @@ class Bc extends Po {
4908
4908
  S.getter = Hr;
4909
4909
  break;
4910
4910
  case st:
4911
- S.getter = bn;
4911
+ S.getter = En;
4912
4912
  break;
4913
4913
  }
4914
4914
  else if (S.type == 2)
@@ -4937,7 +4937,7 @@ class Bc extends Po {
4937
4937
  let M = 0;
4938
4938
  for (const D of u.channels)
4939
4939
  S.decodeChannels[D.name] !== void 0 && (S.channelByteOffsets[D.name] = M), M += D.pixelType * 2;
4940
- if (S.totalBytes = M, S.outLineWidth = S.width * S.outputChannels, u.lineOrder === "INCREASING_Y" ? S.scanOrder = (D) => D : S.scanOrder = (D) => S.height - 1 - D, S.outputChannels == 4 ? (S.format = Kt, S.colorSpace = Ve) : (S.format = dn, S.colorSpace = gs), u.spec.singleTile) {
4940
+ if (S.totalBytes = M, S.outLineWidth = S.width * S.outputChannels, u.lineOrder === "INCREASING_Y" ? S.scanOrder = (D) => D : S.scanOrder = (D) => S.height - 1 - D, S.outputChannels == 4 ? (S.format = Kt, S.colorSpace = Ve) : (S.format = pn, S.colorSpace = ds), u.spec.singleTile) {
4941
4941
  S.blockHeight = u.tiles.ySize, S.blockWidth = u.tiles.xSize;
4942
4942
  const D = ea(u.tiles, S.width, S.height), j = Si(D, S.width, u.tiles.xSize, u.tiles.roundingMode), V = Si(D, S.height, u.tiles.ySize, u.tiles.roundingMode);
4943
4943
  S.tileCount = j[0] * V[0];
@@ -4955,14 +4955,14 @@ class Bc extends Po {
4955
4955
  }
4956
4956
  return S;
4957
4957
  }
4958
- const vi = { value: 0 }, Ti = new DataView(e), oa = new Uint8Array(e), Wt = sa(Ti, e, vi), ln = ia(Wt, Ti, oa, vi, this.type);
4959
- return ln.decode(), {
4958
+ const vi = { value: 0 }, Ti = new DataView(e), oa = new Uint8Array(e), Wt = sa(Ti, e, vi), hn = ia(Wt, Ti, oa, vi, this.type);
4959
+ return hn.decode(), {
4960
4960
  header: Wt,
4961
- width: ln.width,
4962
- height: ln.height,
4963
- data: ln.byteArray,
4964
- format: ln.format,
4965
- colorSpace: ln.colorSpace,
4961
+ width: hn.width,
4962
+ height: hn.height,
4963
+ data: hn.byteArray,
4964
+ format: hn.format,
4965
+ colorSpace: hn.colorSpace,
4966
4966
  type: this.type
4967
4967
  };
4968
4968
  }
@@ -4976,7 +4976,7 @@ class Bc extends Po {
4976
4976
  return super.load(e, i, s, n);
4977
4977
  }
4978
4978
  }
4979
- const Ch = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4979
+ const Bh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4980
4980
  __proto__: null,
4981
4981
  EXRLoader: Bc
4982
4982
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5077,25 +5077,25 @@ class wc extends Po {
5077
5077
  L[N + 0] = x[v + 0] * Z, L[N + 1] = x[v + 1] * Z, L[N + 2] = x[v + 2] * Z, L[N + 3] = 1;
5078
5078
  }, m = function(x, v, L, N) {
5079
5079
  const O = x[v + 3], Z = Math.pow(2, O - 128) / 255;
5080
- L[N + 0] = pn.toHalfFloat(Math.min(x[v + 0] * Z, 65504)), L[N + 1] = pn.toHalfFloat(Math.min(x[v + 1] * Z, 65504)), L[N + 2] = pn.toHalfFloat(Math.min(x[v + 2] * Z, 65504)), L[N + 3] = pn.toHalfFloat(1);
5080
+ L[N + 0] = fn.toHalfFloat(Math.min(x[v + 0] * Z, 65504)), L[N + 1] = fn.toHalfFloat(Math.min(x[v + 1] * Z, 65504)), L[N + 2] = fn.toHalfFloat(Math.min(x[v + 2] * Z, 65504)), L[N + 3] = fn.toHalfFloat(1);
5081
5081
  }, I = new Uint8Array(e);
5082
5082
  I.pos = 0;
5083
5083
  const b = g(I), B = b.width, E = b.height, w = d(I.subarray(I.pos), B, E);
5084
- let Q, R, _;
5084
+ let Q, _, R;
5085
5085
  switch (this.type) {
5086
5086
  case St:
5087
- _ = w.length / 4;
5088
- const x = new Float32Array(_ * 4);
5089
- for (let L = 0; L < _; L++)
5087
+ R = w.length / 4;
5088
+ const x = new Float32Array(R * 4);
5089
+ for (let L = 0; L < R; L++)
5090
5090
  p(w, L * 4, x, L * 4);
5091
- Q = x, R = St;
5091
+ Q = x, _ = St;
5092
5092
  break;
5093
5093
  case st:
5094
- _ = w.length / 4;
5095
- const v = new Uint16Array(_ * 4);
5096
- for (let L = 0; L < _; L++)
5094
+ R = w.length / 4;
5095
+ const v = new Uint16Array(R * 4);
5096
+ for (let L = 0; L < R; L++)
5097
5097
  m(w, L * 4, v, L * 4);
5098
- Q = v, R = st;
5098
+ Q = v, _ = st;
5099
5099
  break;
5100
5100
  default:
5101
5101
  throw new Error("THREE.RGBELoader: Unsupported type: " + this.type);
@@ -5107,7 +5107,7 @@ class wc extends Po {
5107
5107
  header: b.string,
5108
5108
  gamma: b.gamma,
5109
5109
  exposure: b.exposure,
5110
- type: R
5110
+ type: _
5111
5111
  };
5112
5112
  }
5113
5113
  setDataType(e) {
@@ -5126,7 +5126,7 @@ class wc extends Po {
5126
5126
  return super.load(e, i, s, n);
5127
5127
  }
5128
5128
  }
5129
- const Bh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5129
+ const wh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5130
5130
  __proto__: null,
5131
5131
  RGBELoader: wc
5132
5132
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5199,8 +5199,8 @@ function xc(A, e, t, s, n) {
5199
5199
  const b = h - m, B = t - m;
5200
5200
  h >= m && (p[d][0] = p[g][0] / r[B + 1][b], I = p[d][0] * r[b][B]);
5201
5201
  const E = b >= -1 ? 1 : -b, w = h - 1 <= B ? m - 1 : t - h;
5202
- for (let R = E; R <= w; ++R)
5203
- p[d][R] = (p[g][R] - p[g][R - 1]) / r[B + 1][b + R], I += p[d][R] * r[b + R][B];
5202
+ for (let _ = E; _ <= w; ++_)
5203
+ p[d][_] = (p[g][_] - p[g][_ - 1]) / r[B + 1][b + _], I += p[d][_] * r[b + _][B];
5204
5204
  h <= B && (p[d][m] = -p[g][m - 1] / r[B + 1][h], I += p[d][m] * r[h][B]), o[m][h] = I;
5205
5205
  const Q = g;
5206
5206
  g = d, d = Q;
@@ -5256,11 +5256,11 @@ function Tc(A) {
5256
5256
  }
5257
5257
  return n;
5258
5258
  }
5259
- function Rc(A, e, t, s, n) {
5259
+ function _c(A, e, t, s, n) {
5260
5260
  const i = Sc(A, e, t, s, n);
5261
5261
  return Tc(i);
5262
5262
  }
5263
- class _c extends Fa {
5263
+ class Rc extends Fa {
5264
5264
  constructor(e, t, s, n, i) {
5265
5265
  super(), this.degree = e, this.knots = t, this.controlPoints = [], this.startKnot = n || 0, this.endKnot = i || this.knots.length - 1;
5266
5266
  for (let o = 0; o < s.length; ++o) {
@@ -5273,17 +5273,17 @@ class _c extends Fa {
5273
5273
  return i.w !== 1 && i.divideScalar(i.w), s.set(i.x, i.y, i.z);
5274
5274
  }
5275
5275
  getTangent(e, t = new P()) {
5276
- const s = t, n = this.knots[0] + e * (this.knots[this.knots.length - 1] - this.knots[0]), i = Rc(this.degree, this.knots, this.controlPoints, n, 1);
5276
+ const s = t, n = this.knots[0] + e * (this.knots[this.knots.length - 1] - this.knots[0]), i = _c(this.degree, this.knots, this.controlPoints, n, 1);
5277
5277
  return s.copy(i[1]).normalize(), s;
5278
5278
  }
5279
5279
  }
5280
- let se, Re, ze;
5281
- class wh extends Nt {
5280
+ let se, _e, ze;
5281
+ class yh extends Nt {
5282
5282
  constructor(e) {
5283
5283
  super(e);
5284
5284
  }
5285
5285
  load(e, t, s, n) {
5286
- const i = this, o = i.path === "" ? nn.extractUrlBase(e) : i.path, r = new ft(this.manager);
5286
+ const i = this, o = i.path === "" ? sn.extractUrlBase(e) : i.path, r = new ft(this.manager);
5287
5287
  r.setPath(i.path), r.setResponseType("arraybuffer"), r.setRequestHeader(i.requestHeader), r.setWithCredentials(i.withCredentials), r.load(e, function(a) {
5288
5288
  try {
5289
5289
  t(i.parse(a, o));
@@ -5315,7 +5315,7 @@ class Dc {
5315
5315
  this.textureLoader = e, this.manager = t;
5316
5316
  }
5317
5317
  parse() {
5318
- Re = this.parseConnections();
5318
+ _e = this.parseConnections();
5319
5319
  const e = this.parseImages(), t = this.parseTextures(e), s = this.parseMaterials(t), n = this.parseDeformers(), i = new Mc().parse(n);
5320
5320
  return this.parseScene(n, i, s), ze;
5321
5321
  }
@@ -5413,7 +5413,7 @@ class Dc {
5413
5413
  const s = this.loadTexture(e, t);
5414
5414
  s.ID = e.id, s.name = e.attrName;
5415
5415
  const n = e.WrapModeU, i = e.WrapModeV, o = n !== void 0 ? n.value : 0, r = i !== void 0 ? i.value : 0;
5416
- if (s.wrapS = o === 0 ? rn : As, s.wrapT = r === 0 ? rn : As, "Scaling" in e) {
5416
+ if (s.wrapS = o === 0 ? an : cs, s.wrapT = r === 0 ? an : cs, "Scaling" in e) {
5417
5417
  const a = e.Scaling.value;
5418
5418
  s.repeat.x = a[0], s.repeat.y = a[1];
5419
5419
  }
@@ -5433,7 +5433,7 @@ class Dc {
5433
5433
  ), new Xs();
5434
5434
  const o = i.path;
5435
5435
  o || i.setPath(this.textureLoader.path);
5436
- const r = Re.get(e.id).children;
5436
+ const r = _e.get(e.id).children;
5437
5437
  let a;
5438
5438
  r !== void 0 && r.length > 0 && t[r[0].ID] !== void 0 && (a = t[r[0].ID], (a.indexOf("blob:") === 0 || a.indexOf("data:") === 0) && i.setPath(void 0));
5439
5439
  const c = i.load(a);
@@ -5457,18 +5457,18 @@ class Dc {
5457
5457
  parseMaterial(e, t) {
5458
5458
  const s = e.id, n = e.attrName;
5459
5459
  let i = e.ShadingModel;
5460
- if (typeof i == "object" && (i = i.value), !Re.has(s)) return null;
5460
+ if (typeof i == "object" && (i = i.value), !_e.has(s)) return null;
5461
5461
  const o = this.parseParameters(e, t, s);
5462
5462
  let r;
5463
5463
  switch (i.toLowerCase()) {
5464
5464
  case "phong":
5465
- r = new Pn();
5465
+ r = new On();
5466
5466
  break;
5467
5467
  case "lambert":
5468
5468
  r = new La();
5469
5469
  break;
5470
5470
  default:
5471
- console.warn('THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.', i), r = new Pn();
5471
+ console.warn('THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.', i), r = new On();
5472
5472
  break;
5473
5473
  }
5474
5474
  return r.setValues(o), r.name = n, r;
@@ -5479,7 +5479,7 @@ class Dc {
5479
5479
  const n = {};
5480
5480
  e.BumpFactor && (n.bumpScale = e.BumpFactor.value), e.Diffuse ? n.color = We.toWorkingColorSpace(new Se().fromArray(e.Diffuse.value), ge) : e.DiffuseColor && (e.DiffuseColor.type === "Color" || e.DiffuseColor.type === "ColorRGB") && (n.color = We.toWorkingColorSpace(new Se().fromArray(e.DiffuseColor.value), ge)), e.DisplacementFactor && (n.displacementScale = e.DisplacementFactor.value), e.Emissive ? n.emissive = We.toWorkingColorSpace(new Se().fromArray(e.Emissive.value), ge) : e.EmissiveColor && (e.EmissiveColor.type === "Color" || e.EmissiveColor.type === "ColorRGB") && (n.emissive = We.toWorkingColorSpace(new Se().fromArray(e.EmissiveColor.value), ge)), e.EmissiveFactor && (n.emissiveIntensity = parseFloat(e.EmissiveFactor.value)), e.Opacity && (n.opacity = parseFloat(e.Opacity.value)), n.opacity < 1 && (n.transparent = !0), e.ReflectionFactor && (n.reflectivity = e.ReflectionFactor.value), e.Shininess && (n.shininess = e.Shininess.value), e.Specular ? n.specular = We.toWorkingColorSpace(new Se().fromArray(e.Specular.value), ge) : e.SpecularColor && e.SpecularColor.type === "Color" && (n.specular = We.toWorkingColorSpace(new Se().fromArray(e.SpecularColor.value), ge));
5481
5481
  const i = this;
5482
- return Re.get(s).children.forEach(function(o) {
5482
+ return _e.get(s).children.forEach(function(o) {
5483
5483
  const r = o.relationship;
5484
5484
  switch (r) {
5485
5485
  case "Bump":
@@ -5527,7 +5527,7 @@ class Dc {
5527
5527
  }
5528
5528
  // get a texture from the textureMap for use by a material.
5529
5529
  getTexture(e, t) {
5530
- return "LayeredTexture" in se.Objects && t in se.Objects.LayeredTexture && (console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."), t = Re.get(t).children[0].ID), e.get(t);
5530
+ return "LayeredTexture" in se.Objects && t in se.Objects.LayeredTexture && (console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."), t = _e.get(t).children[0].ID), e.get(t);
5531
5531
  }
5532
5532
  // Parse nodes in FBXTree.Objects.Deformer
5533
5533
  // Deformer node can contain skinning or Vertex Cache animation data, however only skinning is supported here
@@ -5537,7 +5537,7 @@ class Dc {
5537
5537
  if ("Deformer" in se.Objects) {
5538
5538
  const s = se.Objects.Deformer;
5539
5539
  for (const n in s) {
5540
- const i = s[n], o = Re.get(parseInt(n));
5540
+ const i = s[n], o = _e.get(parseInt(n));
5541
5541
  if (i.attrType === "Skin") {
5542
5542
  const r = this.parseSkeleton(o, s);
5543
5543
  r.ID = n, o.parents.length > 1 && console.warn("THREE.FBXLoader: skeleton attached to more than one geometry is not supported."), r.geometryID = o.parents[0].ID, e[n] = r;
@@ -5587,7 +5587,7 @@ class Dc {
5587
5587
  fullWeights: o.FullWeights.a
5588
5588
  };
5589
5589
  if (o.attrType !== "BlendShapeChannel") return;
5590
- r.geoID = Re.get(parseInt(i.ID)).children.filter(function(a) {
5590
+ r.geoID = _e.get(parseInt(i.ID)).children.filter(function(a) {
5591
5591
  return a.relationship === void 0;
5592
5592
  })[0].ID, s.push(r);
5593
5593
  }
@@ -5595,13 +5595,13 @@ class Dc {
5595
5595
  }
5596
5596
  // create the main Group() to be returned by the loader
5597
5597
  parseScene(e, t, s) {
5598
- ze = new sn();
5598
+ ze = new on();
5599
5599
  const n = this.parseModels(e.skeletons, t, s), i = se.Objects.Model, o = this;
5600
5600
  n.forEach(function(a) {
5601
5601
  var h;
5602
5602
  const c = i[a.ID];
5603
5603
  o.setLookAtProperties(a, c);
5604
- const l = (h = Re.get(a.ID)) == null ? void 0 : h.parents;
5604
+ const l = (h = _e.get(a.ID)) == null ? void 0 : h.parents;
5605
5605
  l == null || l.forEach(function(g) {
5606
5606
  const d = n.get(g.ID);
5607
5607
  d !== void 0 && d.add(a);
@@ -5621,7 +5621,7 @@ class Dc {
5621
5621
  parseModels(e, t, s) {
5622
5622
  const n = /* @__PURE__ */ new Map(), i = se.Objects.Model;
5623
5623
  for (const o in i) {
5624
- const r = parseInt(o), a = i[o], c = Re.get(r);
5624
+ const r = parseInt(o), a = i[o], c = _e.get(r);
5625
5625
  let l = this.buildSkeleton(c, e, r, a.attrName);
5626
5626
  if (!l) {
5627
5627
  switch (a.attrType) {
@@ -5643,7 +5643,7 @@ class Dc {
5643
5643
  break;
5644
5644
  case "Null":
5645
5645
  default:
5646
- l = new sn();
5646
+ l = new on();
5647
5647
  break;
5648
5648
  }
5649
5649
  l.name = a.attrName ? It.sanitizeNodeName(a.attrName) : "", l.userData.originalName = a.attrName, l.ID = r;
@@ -5689,7 +5689,7 @@ class Dc {
5689
5689
  const h = s.FocalLength ? s.FocalLength.value : null;
5690
5690
  switch (n) {
5691
5691
  case 0:
5692
- t = new ds(l, c, i, o), h !== null && t.setFocalLength(h);
5692
+ t = new ps(l, c, i, o), h !== null && t.setFocalLength(h);
5693
5693
  break;
5694
5694
  case 1:
5695
5695
  console.warn("THREE.FBXLoader: Orthographic cameras not supported yet."), t = new xt();
@@ -5745,7 +5745,7 @@ class Dc {
5745
5745
  const r = [];
5746
5746
  if (e.children.forEach(function(a) {
5747
5747
  t.has(a.ID) && (i = t.get(a.ID)), s.has(a.ID) && r.push(s.get(a.ID));
5748
- }), r.length > 1 ? o = r : r.length > 0 ? o = r[0] : (o = new Pn({
5748
+ }), r.length > 1 ? o = r : r.length > 0 ? o = r[0] : (o = new On({
5749
5749
  name: Nt.DEFAULT_MATERIAL_NAME,
5750
5750
  color: 13421772
5751
5751
  }), r.push(o)), "color" in i.attributes && r.forEach(function(a) {
@@ -5776,10 +5776,10 @@ class Dc {
5776
5776
  // parse the model node for transform data
5777
5777
  getTransformData(e, t) {
5778
5778
  const s = {};
5779
- "InheritType" in t && (s.inheritType = parseInt(t.InheritType.value)), "RotationOrder" in t ? s.eulerOrder = Hn(t.RotationOrder.value) : s.eulerOrder = Hn(0), "Lcl_Translation" in t && (s.translation = t.Lcl_Translation.value), "PreRotation" in t && (s.preRotation = t.PreRotation.value), "Lcl_Rotation" in t && (s.rotation = t.Lcl_Rotation.value), "PostRotation" in t && (s.postRotation = t.PostRotation.value), "Lcl_Scaling" in t && (s.scale = t.Lcl_Scaling.value), "ScalingOffset" in t && (s.scalingOffset = t.ScalingOffset.value), "ScalingPivot" in t && (s.scalingPivot = t.ScalingPivot.value), "RotationOffset" in t && (s.rotationOffset = t.RotationOffset.value), "RotationPivot" in t && (s.rotationPivot = t.RotationPivot.value), e.userData.transformData = s;
5779
+ "InheritType" in t && (s.inheritType = parseInt(t.InheritType.value)), "RotationOrder" in t ? s.eulerOrder = jn(t.RotationOrder.value) : s.eulerOrder = jn(0), "Lcl_Translation" in t && (s.translation = t.Lcl_Translation.value), "PreRotation" in t && (s.preRotation = t.PreRotation.value), "Lcl_Rotation" in t && (s.rotation = t.Lcl_Rotation.value), "PostRotation" in t && (s.postRotation = t.PostRotation.value), "Lcl_Scaling" in t && (s.scale = t.Lcl_Scaling.value), "ScalingOffset" in t && (s.scalingOffset = t.ScalingOffset.value), "ScalingPivot" in t && (s.scalingPivot = t.ScalingPivot.value), "RotationOffset" in t && (s.rotationOffset = t.RotationOffset.value), "RotationPivot" in t && (s.rotationPivot = t.RotationPivot.value), e.userData.transformData = s;
5780
5780
  }
5781
5781
  setLookAtProperties(e, t) {
5782
- "LookAtProperty" in t && Re.get(e.ID).children.forEach(function(n) {
5782
+ "LookAtProperty" in t && _e.get(e.ID).children.forEach(function(n) {
5783
5783
  if (n.relationship === "LookAtProperty") {
5784
5784
  const i = se.Objects.Model[n.ID];
5785
5785
  if ("Lcl_Translation" in i) {
@@ -5793,10 +5793,10 @@ class Dc {
5793
5793
  const n = this.parsePoseNodes();
5794
5794
  for (const i in e) {
5795
5795
  const o = e[i];
5796
- Re.get(parseInt(o.ID)).parents.forEach(function(a) {
5796
+ _e.get(parseInt(o.ID)).parents.forEach(function(a) {
5797
5797
  if (t.has(a.ID)) {
5798
5798
  const c = a.ID;
5799
- Re.get(c).parents.forEach(function(h) {
5799
+ _e.get(c).parents.forEach(function(h) {
5800
5800
  s.has(h.ID) && s.get(h.ID).bind(new Lo(o.bones), n[h.ID]);
5801
5801
  });
5802
5802
  }
@@ -5840,7 +5840,7 @@ class Mc {
5840
5840
  if ("Geometry" in se.Objects) {
5841
5841
  const s = se.Objects.Geometry;
5842
5842
  for (const n in s) {
5843
- const i = Re.get(parseInt(n)), o = this.parseGeometry(i, s[n], e);
5843
+ const i = _e.get(parseInt(n)), o = this.parseGeometry(i, s[n], e);
5844
5844
  t.set(parseInt(n), o);
5845
5845
  }
5846
5846
  }
@@ -5868,7 +5868,7 @@ class Mc {
5868
5868
  s.morphTargets[h.ID] !== void 0 && i.push(s.morphTargets[h.ID]);
5869
5869
  });
5870
5870
  const a = o[0], c = {};
5871
- "RotationOrder" in a && (c.eulerOrder = Hn(a.RotationOrder.value)), "InheritType" in a && (c.inheritType = parseInt(a.InheritType.value)), "GeometricTranslation" in a && (c.translation = a.GeometricTranslation.value), "GeometricRotation" in a && (c.rotation = a.GeometricRotation.value), "GeometricScaling" in a && (c.scale = a.GeometricScaling.value);
5871
+ "RotationOrder" in a && (c.eulerOrder = jn(a.RotationOrder.value)), "InheritType" in a && (c.inheritType = parseInt(a.InheritType.value)), "GeometricTranslation" in a && (c.translation = a.GeometricTranslation.value), "GeometricRotation" in a && (c.rotation = a.GeometricRotation.value), "GeometricScaling" in a && (c.scale = a.GeometricScaling.value);
5872
5872
  const l = Er(c);
5873
5873
  return this.genGeometry(t, r, i, l);
5874
5874
  }
@@ -5930,7 +5930,7 @@ class Mc {
5930
5930
  d < 0 && (d = d ^ -1, I = !0);
5931
5931
  let b = [], B = [];
5932
5932
  if (o.push(d * 3, d * 3 + 1, d * 3 + 2), e.color) {
5933
- const E = Xn(p, s, d, e.color);
5933
+ const E = Zn(p, s, d, e.color);
5934
5934
  a.push(E[0], E[1], E[2]);
5935
5935
  }
5936
5936
  if (e.skeleton) {
@@ -5939,11 +5939,11 @@ class Mc {
5939
5939
  }), B.length > 4) {
5940
5940
  i || (console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."), i = !0);
5941
5941
  const E = [0, 0, 0, 0], w = [0, 0, 0, 0];
5942
- B.forEach(function(Q, R) {
5943
- let _ = Q, x = b[R];
5942
+ B.forEach(function(Q, _) {
5943
+ let R = Q, x = b[_];
5944
5944
  w.forEach(function(v, L, N) {
5945
- if (_ > v) {
5946
- N[L] = _, _ = v;
5945
+ if (R > v) {
5946
+ N[L] = R, R = v;
5947
5947
  const O = E[L];
5948
5948
  E[L] = x, x = O;
5949
5949
  }
@@ -5956,11 +5956,11 @@ class Mc {
5956
5956
  l.push(B[E]), h.push(b[E]);
5957
5957
  }
5958
5958
  if (e.normal) {
5959
- const E = Xn(p, s, d, e.normal);
5959
+ const E = Zn(p, s, d, e.normal);
5960
5960
  r.push(E[0], E[1], E[2]);
5961
5961
  }
5962
- e.material && e.material.mappingType !== "AllSame" && (m = Xn(p, s, d, e.material)[0], m < 0 && (g.negativeMaterialIndices = !0, m = 0)), e.uv && e.uv.forEach(function(E, w) {
5963
- const Q = Xn(p, s, d, E);
5962
+ e.material && e.material.mappingType !== "AllSame" && (m = Zn(p, s, d, e.material)[0], m < 0 && (g.negativeMaterialIndices = !0, m = 0)), e.uv && e.uv.forEach(function(E, w) {
5963
+ const Q = Zn(p, s, d, E);
5964
5964
  c[w] === void 0 && (c[w] = []), c[w].push(Q[0]), c[w].push(Q[1]);
5965
5965
  }), n++, I && (g.genFace(t, e, o, m, r, a, c, l, h, n), s++, n = 0, o = [], r = [], a = [], c = [], l = [], h = []);
5966
5966
  }), t;
@@ -6005,8 +6005,7 @@ class Mc {
6005
6005
  for (const b of g)
6006
6006
  I.push(this.flattenVertex(b, p, m));
6007
6007
  h = Pa.triangulateShape(I, []);
6008
- } else
6009
- h = [[0, 1, 2]];
6008
+ } else l === 2 ? (console.warn("THREE.FBXLoader: Edge topology detected. This is currently not supported. The resulting mesh will not be correct."), h = [[0, 1, 2]]) : h = [[0, 1, 2]];
6010
6009
  for (const [g, d, p] of h)
6011
6010
  e.vertex.push(t.vertexPositions[s[g * 3]]), e.vertex.push(t.vertexPositions[s[g * 3 + 1]]), e.vertex.push(t.vertexPositions[s[g * 3 + 2]]), e.vertex.push(t.vertexPositions[s[d * 3]]), e.vertex.push(t.vertexPositions[s[d * 3 + 1]]), e.vertex.push(t.vertexPositions[s[d * 3 + 2]]), e.vertex.push(t.vertexPositions[s[p * 3]]), e.vertex.push(t.vertexPositions[s[p * 3 + 1]]), e.vertex.push(t.vertexPositions[s[p * 3 + 2]]), t.skeleton && (e.vertexWeights.push(a[g * 4]), e.vertexWeights.push(a[g * 4 + 1]), e.vertexWeights.push(a[g * 4 + 2]), e.vertexWeights.push(a[g * 4 + 3]), e.vertexWeights.push(a[d * 4]), e.vertexWeights.push(a[d * 4 + 1]), e.vertexWeights.push(a[d * 4 + 2]), e.vertexWeights.push(a[d * 4 + 3]), e.vertexWeights.push(a[p * 4]), e.vertexWeights.push(a[p * 4 + 1]), e.vertexWeights.push(a[p * 4 + 2]), e.vertexWeights.push(a[p * 4 + 3]), e.weightsIndices.push(c[g * 4]), e.weightsIndices.push(c[g * 4 + 1]), e.weightsIndices.push(c[g * 4 + 2]), e.weightsIndices.push(c[g * 4 + 3]), e.weightsIndices.push(c[d * 4]), e.weightsIndices.push(c[d * 4 + 1]), e.weightsIndices.push(c[d * 4 + 2]), e.weightsIndices.push(c[d * 4 + 3]), e.weightsIndices.push(c[p * 4]), e.weightsIndices.push(c[p * 4 + 1]), e.weightsIndices.push(c[p * 4 + 2]), e.weightsIndices.push(c[p * 4 + 3])), t.color && (e.colors.push(o[g * 3]), e.colors.push(o[g * 3 + 1]), e.colors.push(o[g * 3 + 2]), e.colors.push(o[d * 3]), e.colors.push(o[d * 3 + 1]), e.colors.push(o[d * 3 + 2]), e.colors.push(o[p * 3]), e.colors.push(o[p * 3 + 1]), e.colors.push(o[p * 3 + 2])), t.material && t.material.mappingType !== "AllSame" && (e.materialIndex.push(n), e.materialIndex.push(n), e.materialIndex.push(n)), t.normal && (e.normal.push(i[g * 3]), e.normal.push(i[g * 3 + 1]), e.normal.push(i[g * 3 + 2]), e.normal.push(i[d * 3]), e.normal.push(i[d * 3 + 1]), e.normal.push(i[d * 3 + 2]), e.normal.push(i[p * 3]), e.normal.push(i[p * 3 + 1]), e.normal.push(i[p * 3 + 2])), t.uv && t.uv.forEach(function(m, I) {
6012
6011
  e.uvs[I] === void 0 && (e.uvs[I] = []), e.uvs[I].push(r[I][g * 2]), e.uvs[I].push(r[I][g * 2 + 1]), e.uvs[I].push(r[I][d * 2]), e.uvs[I].push(r[I][d * 2 + 1]), e.uvs[I].push(r[I][p * 2]), e.uvs[I].push(r[I][p * 2 + 1]);
@@ -6118,7 +6117,7 @@ class Mc {
6118
6117
  for (let h = 0; h < s; ++h)
6119
6118
  i.push(i[h]);
6120
6119
  }
6121
- const l = new _c(s, n, i, r, a).getPoints(i.length * 12);
6120
+ const l = new Rc(s, n, i, r, a).getPoints(i.length * 12);
6122
6121
  return new ut().setFromPoints(l);
6123
6122
  }
6124
6123
  }
@@ -6168,7 +6167,7 @@ class kc {
6168
6167
  id: t[s].id,
6169
6168
  times: t[s].KeyTime.a.map(Gc),
6170
6169
  values: t[s].KeyValueFloat.a
6171
- }, i = Re.get(n.id);
6170
+ }, i = _e.get(n.id);
6172
6171
  if (i !== void 0) {
6173
6172
  const o = i.parents[0].ID, r = i.parents[0].relationship;
6174
6173
  r.match(/X/) ? e.get(o).curves.x = n : r.match(/Y/) ? e.get(o).curves.y = n : r.match(/Z/) ? e.get(o).curves.z = n : r.match(/DeformPercent/) && e.has(o) && (e.get(o).curves.morph = n);
@@ -6181,13 +6180,13 @@ class kc {
6181
6180
  parseAnimationLayers(e) {
6182
6181
  const t = se.Objects.AnimationLayer, s = /* @__PURE__ */ new Map();
6183
6182
  for (const n in t) {
6184
- const i = [], o = Re.get(parseInt(n));
6183
+ const i = [], o = _e.get(parseInt(n));
6185
6184
  o !== void 0 && (o.children.forEach(function(a, c) {
6186
6185
  if (e.has(a.ID)) {
6187
6186
  const l = e.get(a.ID);
6188
6187
  if (l.curves.x !== void 0 || l.curves.y !== void 0 || l.curves.z !== void 0) {
6189
6188
  if (i[c] === void 0) {
6190
- const h = Re.get(a.ID).parents.filter(function(g) {
6189
+ const h = _e.get(a.ID).parents.filter(function(g) {
6191
6190
  return g.relationship !== void 0;
6192
6191
  })[0].ID;
6193
6192
  if (h !== void 0) {
@@ -6211,9 +6210,9 @@ class kc {
6211
6210
  i[c] && (i[c][l.attr] = l);
6212
6211
  } else if (l.curves.morph !== void 0) {
6213
6212
  if (i[c] === void 0) {
6214
- const h = Re.get(a.ID).parents.filter(function(b) {
6213
+ const h = _e.get(a.ID).parents.filter(function(b) {
6215
6214
  return b.relationship !== void 0;
6216
- })[0].ID, g = Re.get(h).parents[0].ID, d = Re.get(g).parents[0].ID, p = Re.get(d).parents[0].ID, m = se.Objects.Model[p], I = {
6215
+ })[0].ID, g = _e.get(h).parents[0].ID, d = _e.get(g).parents[0].ID, p = _e.get(d).parents[0].ID, m = se.Objects.Model[p], I = {
6217
6216
  modelName: m.attrName ? It.sanitizeNodeName(m.attrName) : "",
6218
6217
  morphName: se.Objects.Deformer[h].attrName
6219
6218
  };
@@ -6231,7 +6230,7 @@ class kc {
6231
6230
  parseAnimStacks(e) {
6232
6231
  const t = se.Objects.AnimationStack, s = {};
6233
6232
  for (const n in t) {
6234
- const i = Re.get(parseInt(n)).children;
6233
+ const i = _e.get(parseInt(n)).children;
6235
6234
  i.length > 1 && console.warn("THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.");
6236
6235
  const o = e.get(i[0].ID);
6237
6236
  s[n] = {
@@ -6271,7 +6270,7 @@ class kc {
6271
6270
  }
6272
6271
  generateVectorTrack(e, t, s, n) {
6273
6272
  const i = this.getTimesForAllAxes(t), o = this.getKeyframeTrackValues(i, t, s);
6274
- return new ls(e + "." + n, i, o);
6273
+ return new hs(e + "." + n, i, o);
6275
6274
  }
6276
6275
  generateRotationTrack(e, t, s, n, i) {
6277
6276
  let o, r;
@@ -6283,7 +6282,7 @@ class kc {
6283
6282
  const g = this.interpolateRotations(t.x, t.y, t.z, i);
6284
6283
  o = g[0], r = g[1];
6285
6284
  }
6286
- const a = Hn(0);
6285
+ const a = jn(0);
6287
6286
  s !== void 0 && (s = s.map(ye.degToRad), s.push(a), s = new zt().fromArray(s), s = new ve().setFromEuler(s)), n !== void 0 && (n = n.map(ye.degToRad), n.push(a), n = new zt().fromArray(n), n = new ve().setFromEuler(n).invert());
6288
6287
  const c = new ve(), l = new zt(), h = [];
6289
6288
  if (!(!r || !o)) {
@@ -6292,14 +6291,14 @@ class kc {
6292
6291
  h,
6293
6292
  (g - 3) / 3 * 4
6294
6293
  ).dot(c) < 0 && c.set(-c.x, -c.y, -c.z, -c.w), c.toArray(h, g / 3 * 4);
6295
- return new us(e + ".quaternion", o, h);
6294
+ return new gs(e + ".quaternion", o, h);
6296
6295
  }
6297
6296
  }
6298
6297
  generateMorphTrack(e) {
6299
6298
  const t = e.DeformPercent.curves.morph, s = t.values.map(function(i) {
6300
6299
  return i / 100;
6301
6300
  }), n = ze.getObjectByName(e.modelName).morphTargetDictionary[e.morphName];
6302
- return new hs(e.modelName + ".morphTargetInfluences[" + n + "]", t.times, s);
6301
+ return new us(e.modelName + ".morphTargetInfluences[" + n + "]", t.times, s);
6303
6302
  }
6304
6303
  // For all animated objects, times are defined separately for each axis
6305
6304
  // Here we'll combine the times into one sorted array without duplicates
@@ -6371,9 +6370,9 @@ class kc {
6371
6370
  if (d[0] >= 180 || d[1] >= 180 || d[2] >= 180) {
6372
6371
  const m = Math.max(...d) / 180, I = new zt(...c, n), b = new zt(...h, n), B = new ve().setFromEuler(I), E = new ve().setFromEuler(b);
6373
6372
  B.dot(E) && E.set(-E.x, -E.y, -E.z, -E.w);
6374
- const w = e.times[r - 1], Q = e.times[r] - w, R = new ve(), _ = new zt();
6373
+ const w = e.times[r - 1], Q = e.times[r] - w, _ = new ve(), R = new zt();
6375
6374
  for (let x = 0; x < 1; x += 1 / m)
6376
- R.copy(B.clone().slerp(E.clone(), x)), i.push(w + x * Q), _.setFromQuaternion(R, n), o.push(_.x), o.push(_.y), o.push(_.z);
6375
+ _.copy(B.clone().slerp(E.clone(), x)), i.push(w + x * Q), R.setFromQuaternion(_, n), o.push(R.x), o.push(R.y), o.push(R.z);
6377
6376
  } else
6378
6377
  i.push(e.times[r]), o.push(ye.degToRad(e.values[r])), o.push(ye.degToRad(t.values[r])), o.push(ye.degToRad(s.values[r]));
6379
6378
  }
@@ -6436,11 +6435,11 @@ class Fc {
6436
6435
  return g.trim().replace(/^"/, "");
6437
6436
  }), n = "connections", i = [c, l], Oc(i, h), o[n] === void 0 && (o[n] = []);
6438
6437
  }
6439
- n === "Node" && (o.id = i), n in o && Array.isArray(o[n]) ? o[n].push(i) : n !== "a" ? o[n] = i : o.a = i, this.setCurrentProp(o, n), n === "a" && i.slice(-1) !== "," && (o.a = Us(i));
6438
+ n === "Node" && (o.id = i), n in o && Array.isArray(o[n]) ? o[n].push(i) : n !== "a" ? o[n] = i : o.a = i, this.setCurrentProp(o, n), n === "a" && i.slice(-1) !== "," && (o.a = Gs(i));
6440
6439
  }
6441
6440
  parseNodePropertyContinued(e) {
6442
6441
  const t = this.getCurrentNode();
6443
- t.a += e, e.slice(-1) !== "," && (t.a = Us(t.a));
6442
+ t.a += e, e.slice(-1) !== "," && (t.a = Gs(t.a));
6444
6443
  }
6445
6444
  // parse "Property70"
6446
6445
  parseNodeSpecialProperty(e, t, s) {
@@ -6464,7 +6463,7 @@ class Fc {
6464
6463
  case "Lcl_Translation":
6465
6464
  case "Lcl_Rotation":
6466
6465
  case "Lcl_Scaling":
6467
- c = Us(c);
6466
+ c = Gs(c);
6468
6467
  break;
6469
6468
  }
6470
6469
  this.getPrevNode()[i] = {
@@ -6579,7 +6578,7 @@ class Lc {
6579
6578
  case "l":
6580
6579
  return e.getInt64Array(n);
6581
6580
  }
6582
- const r = Ln(new Uint8Array(e.getArrayBuffer(o))), a = new to(r.buffer);
6581
+ const r = Nn(new Uint8Array(e.getArrayBuffer(o))), a = new to(r.buffer);
6583
6582
  switch (t) {
6584
6583
  case "b":
6585
6584
  case "c":
@@ -6730,7 +6729,7 @@ function Gc(A) {
6730
6729
  return A / 46186158e3;
6731
6730
  }
6732
6731
  const Pc = [];
6733
- function Xn(A, e, t, s) {
6732
+ function Zn(A, e, t, s) {
6734
6733
  let n;
6735
6734
  switch (s.mappingType) {
6736
6735
  case "ByPolygonVertex":
@@ -6752,24 +6751,24 @@ function Xn(A, e, t, s) {
6752
6751
  const i = n * s.dataSize, o = i + s.dataSize;
6753
6752
  return Hc(Pc, s.buffer, i, o);
6754
6753
  }
6755
- const Ns = new zt(), hn = new P();
6754
+ const Us = new zt(), un = new P();
6756
6755
  function Er(A) {
6757
6756
  const e = new ue(), t = new ue(), s = new ue(), n = new ue(), i = new ue(), o = new ue(), r = new ue(), a = new ue(), c = new ue(), l = new ue(), h = new ue(), g = new ue(), d = A.inheritType ? A.inheritType : 0;
6758
- A.translation && e.setPosition(hn.fromArray(A.translation));
6759
- const p = Hn(0);
6757
+ A.translation && e.setPosition(un.fromArray(A.translation));
6758
+ const p = jn(0);
6760
6759
  if (A.preRotation) {
6761
6760
  const N = A.preRotation.map(ye.degToRad);
6762
- N.push(p), t.makeRotationFromEuler(Ns.fromArray(N));
6761
+ N.push(p), t.makeRotationFromEuler(Us.fromArray(N));
6763
6762
  }
6764
6763
  if (A.rotation) {
6765
6764
  const N = A.rotation.map(ye.degToRad);
6766
- N.push(A.eulerOrder || p), s.makeRotationFromEuler(Ns.fromArray(N));
6765
+ N.push(A.eulerOrder || p), s.makeRotationFromEuler(Us.fromArray(N));
6767
6766
  }
6768
6767
  if (A.postRotation) {
6769
6768
  const N = A.postRotation.map(ye.degToRad);
6770
- N.push(p), n.makeRotationFromEuler(Ns.fromArray(N)), n.invert();
6769
+ N.push(p), n.makeRotationFromEuler(Us.fromArray(N)), n.invert();
6771
6770
  }
6772
- A.scale && i.scale(hn.fromArray(A.scale)), A.scalingOffset && r.setPosition(hn.fromArray(A.scalingOffset)), A.scalingPivot && o.setPosition(hn.fromArray(A.scalingPivot)), A.rotationOffset && a.setPosition(hn.fromArray(A.rotationOffset)), A.rotationPivot && c.setPosition(hn.fromArray(A.rotationPivot)), A.parentMatrixWorld && (h.copy(A.parentMatrix), l.copy(A.parentMatrixWorld));
6771
+ A.scale && i.scale(un.fromArray(A.scale)), A.scalingOffset && r.setPosition(un.fromArray(A.scalingOffset)), A.scalingPivot && o.setPosition(un.fromArray(A.scalingPivot)), A.rotationOffset && a.setPosition(un.fromArray(A.rotationOffset)), A.rotationPivot && c.setPosition(un.fromArray(A.rotationPivot)), A.parentMatrixWorld && (h.copy(A.parentMatrix), l.copy(A.parentMatrixWorld));
6773
6772
  const m = t.clone().multiply(s).multiply(n), I = new ue();
6774
6773
  I.extractRotation(l);
6775
6774
  const b = new ue();
@@ -6783,12 +6782,12 @@ function Er(A) {
6783
6782
  const O = new ue().scale(new P().setFromMatrixScale(h)).clone().invert(), Z = E.clone().multiply(O);
6784
6783
  Q.copy(I).multiply(m).multiply(Z).multiply(w);
6785
6784
  }
6786
- const R = c.clone().invert(), _ = o.clone().invert();
6787
- let x = e.clone().multiply(a).multiply(c).multiply(t).multiply(s).multiply(n).multiply(R).multiply(r).multiply(o).multiply(i).multiply(_);
6785
+ const _ = c.clone().invert(), R = o.clone().invert();
6786
+ let x = e.clone().multiply(a).multiply(c).multiply(t).multiply(s).multiply(n).multiply(_).multiply(r).multiply(o).multiply(i).multiply(R);
6788
6787
  const v = new ue().copyPosition(x), L = l.clone().multiply(v);
6789
6788
  return g.copyPosition(L), x = g.clone().multiply(Q), x.premultiply(l.invert()), x;
6790
6789
  }
6791
- function Hn(A) {
6790
+ function jn(A) {
6792
6791
  A = A || 0;
6793
6792
  const e = [
6794
6793
  "ZYX",
@@ -6807,7 +6806,7 @@ function Hn(A) {
6807
6806
  ];
6808
6807
  return A === 6 ? (console.warn("THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect."), e[0]) : e[A];
6809
6808
  }
6810
- function Us(A) {
6809
+ function Gs(A) {
6811
6810
  return A.split(",").map(function(t) {
6812
6811
  return parseFloat(t);
6813
6812
  });
@@ -6842,7 +6841,7 @@ class jc extends Nt {
6842
6841
  * you must call setResourcePath() explicitly prior to load.
6843
6842
  */
6844
6843
  load(e, t, s, n) {
6845
- const i = this, o = this.path === "" ? nn.extractUrlBase(e) : this.path, r = new ft(this.manager);
6844
+ const i = this, o = this.path === "" ? sn.extractUrlBase(e) : this.path, r = new ft(this.manager);
6846
6845
  r.setPath(this.path), r.setRequestHeader(this.requestHeader), r.setWithCredentials(this.withCredentials), r.load(e, function(a) {
6847
6846
  try {
6848
6847
  t(i.parse(a, o));
@@ -6892,7 +6891,7 @@ class jc extends Nt {
6892
6891
  }
6893
6892
  class qc {
6894
6893
  constructor(e = "", t = {}) {
6895
- this.baseUrl = e, this.options = t, this.materialsInfo = {}, this.materials = {}, this.materialsArray = [], this.nameLookup = {}, this.crossOrigin = "anonymous", this.side = this.options.side !== void 0 ? this.options.side : No, this.wrap = this.options.wrap !== void 0 ? this.options.wrap : rn;
6894
+ this.baseUrl = e, this.options = t, this.materialsInfo = {}, this.materials = {}, this.materialsArray = [], this.nameLookup = {}, this.crossOrigin = "anonymous", this.side = this.options.side !== void 0 ? this.options.side : No, this.wrap = this.options.wrap !== void 0 ? this.options.wrap : an;
6896
6895
  }
6897
6896
  setCrossOrigin(e) {
6898
6897
  return this.crossOrigin = e, this;
@@ -6998,7 +6997,7 @@ class qc {
6998
6997
  break;
6999
6998
  }
7000
6999
  }
7001
- return this.materials[e] = new Pn(n), this.materials[e];
7000
+ return this.materials[e] = new On(n), this.materials[e];
7002
7001
  }
7003
7002
  getTextureParams(e, t) {
7004
7003
  const s = {
@@ -7016,7 +7015,7 @@ class qc {
7016
7015
  return t !== void 0 && (a.mapping = t), a;
7017
7016
  }
7018
7017
  }
7019
- const zc = /^[og]\s*(.+)?/, Kc = /^mtllib /, Yc = /^usemtl /, Jc = /^usemap /, so = /\s+/, io = new P(), Gs = new P(), oo = new P(), ro = new P(), ct = new P(), Zn = new Se();
7018
+ const zc = /^[og]\s*(.+)?/, Kc = /^mtllib /, Yc = /^usemtl /, Jc = /^usemap /, so = /\s+/, io = new P(), Ps = new P(), oo = new P(), ro = new P(), ct = new P(), $n = new Se();
7020
7019
  function Wc() {
7021
7020
  const A = {
7022
7021
  objects: [],
@@ -7126,7 +7125,7 @@ function Wc() {
7126
7125
  },
7127
7126
  addFaceNormal: function(e, t, s) {
7128
7127
  const n = this.vertices, i = this.object.geometry.normals;
7129
- io.fromArray(n, e), Gs.fromArray(n, t), oo.fromArray(n, s), ct.subVectors(oo, Gs), ro.subVectors(io, Gs), ct.cross(ro), ct.normalize(), i.push(ct.x, ct.y, ct.z), i.push(ct.x, ct.y, ct.z), i.push(ct.x, ct.y, ct.z);
7128
+ io.fromArray(n, e), Ps.fromArray(n, t), oo.fromArray(n, s), ct.subVectors(oo, Ps), ro.subVectors(io, Ps), ct.cross(ro), ct.normalize(), i.push(ct.x, ct.y, ct.z), i.push(ct.x, ct.y, ct.z), i.push(ct.x, ct.y, ct.z);
7130
7129
  },
7131
7130
  addColor: function(e, t, s) {
7132
7131
  const n = this.colors, i = this.object.geometry.colors;
@@ -7177,7 +7176,7 @@ function Wc() {
7177
7176
  };
7178
7177
  return A.startObject("", !1), A;
7179
7178
  }
7180
- class yh extends Nt {
7179
+ class Qh extends Nt {
7181
7180
  constructor(e) {
7182
7181
  super(e), this.materials = null, this.materialsLoader = new jc(e);
7183
7182
  }
@@ -7228,12 +7227,12 @@ class yh extends Nt {
7228
7227
  parseFloat(l[1]),
7229
7228
  parseFloat(l[2]),
7230
7229
  parseFloat(l[3])
7231
- ), l.length >= 7 ? (Zn.setRGB(
7230
+ ), l.length >= 7 ? ($n.setRGB(
7232
7231
  parseFloat(l[4]),
7233
7232
  parseFloat(l[5]),
7234
7233
  parseFloat(l[6]),
7235
7234
  ge
7236
- ), s.colors.push(Zn.r, Zn.g, Zn.b)) : s.colors.push(void 0, void 0, void 0);
7235
+ ), s.colors.push($n.r, $n.g, $n.b)) : s.colors.push(void 0, void 0, void 0);
7237
7236
  break;
7238
7237
  case "vn":
7239
7238
  s.normals.push(
@@ -7313,7 +7312,7 @@ class yh extends Nt {
7313
7312
  return s.finalize(), t ? s : this.createObjects(s);
7314
7313
  }
7315
7314
  createObjects(e) {
7316
- const t = new sn();
7315
+ const t = new on();
7317
7316
  if (t.materialLibraries = [].concat(e.materialLibraries), !(e.objects.length === 1 && e.objects[0].geometry.vertices.length === 0) === !0)
7318
7317
  for (let n = 0, i = e.objects.length; n < i; n++) {
7319
7318
  const o = e.objects[n], r = o.geometry, a = o.materials, c = r.type === "Line", l = r.type === "Points";
@@ -7328,13 +7327,13 @@ class yh extends Nt {
7328
7327
  if (this.materials !== null) {
7329
7328
  if (E = this.materials.create(b.name), c && E && !(E instanceof Lt)) {
7330
7329
  const w = new Lt();
7331
- tn.prototype.copy.call(w, E), w.color.copy(E.color), E = w;
7332
- } else if (l && E && !(E instanceof Dn)) {
7333
- const w = new Dn({ size: 10, sizeAttenuation: !1 });
7334
- tn.prototype.copy.call(w, E), w.color.copy(E.color), w.map = E.map, E = w;
7330
+ nn.prototype.copy.call(w, E), w.color.copy(E.color), E = w;
7331
+ } else if (l && E && !(E instanceof Mn)) {
7332
+ const w = new Mn({ size: 10, sizeAttenuation: !1 });
7333
+ nn.prototype.copy.call(w, E), w.color.copy(E.color), w.map = E.map, E = w;
7335
7334
  }
7336
7335
  }
7337
- E === void 0 && (c ? E = new Lt() : l ? E = new Dn({ size: 1, sizeAttenuation: !1 }) : E = new Pn(), E.name = b.name, E.flatShading = !b.smooth, E.vertexColors = h, e.materials[B] = E), d.push(E);
7336
+ E === void 0 && (c ? E = new Lt() : l ? E = new Mn({ size: 1, sizeAttenuation: !1 }) : E = new On(), E.name = b.name, E.flatShading = !b.smooth, E.vertexColors = h, e.materials[B] = E), d.push(E);
7338
7337
  }
7339
7338
  let p;
7340
7339
  if (d.length > 1) {
@@ -7342,23 +7341,23 @@ class yh extends Nt {
7342
7341
  const b = a[m];
7343
7342
  g.addGroup(b.groupStart, b.groupCount, m);
7344
7343
  }
7345
- c ? p = new cs(g, d) : l ? p = new is(g, d) : p = new z(g, d);
7344
+ c ? p = new ls(g, d) : l ? p = new os(g, d) : p = new z(g, d);
7346
7345
  } else
7347
- c ? p = new cs(g, d[0]) : l ? p = new is(g, d[0]) : p = new z(g, d[0]);
7346
+ c ? p = new ls(g, d[0]) : l ? p = new os(g, d[0]) : p = new z(g, d[0]);
7348
7347
  p.name = o.name, t.add(p);
7349
7348
  }
7350
7349
  else if (e.vertices.length > 0) {
7351
- const n = new Dn({ size: 1, sizeAttenuation: !1 }), i = new ut();
7350
+ const n = new Mn({ size: 1, sizeAttenuation: !1 }), i = new ut();
7352
7351
  i.setAttribute("position", new ke(e.vertices, 3)), e.colors.length > 0 && e.colors[0] !== void 0 && (i.setAttribute("color", new ke(e.colors, 3)), n.vertexColors = !0);
7353
- const o = new is(i, n);
7352
+ const o = new os(i, n);
7354
7353
  t.add(o);
7355
7354
  }
7356
7355
  return t;
7357
7356
  }
7358
7357
  }
7359
- const ao = { type: "change" }, wi = { type: "start" }, Br = { type: "end" }, $n = new Ha(), Ao = new ja(), Vc = Math.cos(70 * ye.DEG2RAD), Me = new P();
7358
+ const ao = { type: "change" }, wi = { type: "start" }, Br = { type: "end" }, Vc = { type: "endMovement" }, es = new Ha(), Ao = new ja(), Xc = Math.cos(70 * ye.DEG2RAD), Me = new P();
7360
7359
  new P();
7361
- const Ye = 2 * Math.PI, fe = {
7360
+ const Ye = 2 * Math.PI, de = {
7362
7361
  NONE: -1,
7363
7362
  ROTATE: 0,
7364
7363
  DOLLY: 1,
@@ -7367,10 +7366,10 @@ const Ye = 2 * Math.PI, fe = {
7367
7366
  TOUCH_PAN: 4,
7368
7367
  TOUCH_DOLLY_PAN: 5,
7369
7368
  TOUCH_DOLLY_ROTATE: 6
7370
- }, Ps = 1e-6;
7371
- let Qh = class extends Go {
7369
+ }, Zt = 1e-6;
7370
+ let xh = class extends Go {
7372
7371
  constructor(e, t = null) {
7373
- super(e, t), this.state = fe.NONE, this.enabled = !0, this.target = new P(), this.cursor = new P(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: mn.ROTATE, MIDDLE: mn.DOLLY, RIGHT: mn.PAN }, this.touches = { ONE: fn.ROTATE, TWO: fn.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new P(), this._lastQuaternion = new ve(), this._lastTargetPosition = new P(), this._quat = new ve().setFromUnitVectors(e.up, new P(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new _i(), this._sphericalDelta = new _i(), this._scale = 1, this._currentScale = 1, this._panOffset = new P(), this._rotateStart = new Le(), this._rotateEnd = new Le(), this._rotateDelta = new Le(), this._panStart = new Le(), this._panEnd = new Le(), this._panDelta = new Le(), this._dollyStart = new Le(), this._dollyEnd = new Le(), this._dollyDelta = new Le(), this._dollyDirection = new P(), this._mouse = new Le(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = Zc.bind(this), this._onPointerDown = Xc.bind(this), this._onPointerUp = $c.bind(this), this._onContextMenu = rl.bind(this), this._onMouseWheel = nl.bind(this), this._onKeyDown = sl.bind(this), this._onTouchStart = il.bind(this), this._onTouchMove = ol.bind(this), this._onMouseDown = el.bind(this), this._onMouseMove = tl.bind(this), this._interceptControlDown = al.bind(this), this._interceptControlUp = Al.bind(this), this.domElement !== null && this.connect(), this.update();
7372
+ super(e, t), this.state = de.NONE, this.enabled = !0, this.target = new P(), this.cursor = new P(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: In.ROTATE, MIDDLE: In.DOLLY, RIGHT: In.PAN }, this.touches = { ONE: mn.ROTATE, TWO: mn.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new P(), this._lastQuaternion = new ve(), this._lastTargetPosition = new P(), this._quat = new ve().setFromUnitVectors(e.up, new P(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Ri(), this._sphericalDelta = new Ri(), this._scale = 1, this._currentScale = 1, this._panOffset = new P(), this._rotateStart = new Le(), this._rotateEnd = new Le(), this._rotateDelta = new Le(), this._panStart = new Le(), this._panEnd = new Le(), this._panDelta = new Le(), this._dollyStart = new Le(), this._dollyEnd = new Le(), this._dollyDelta = new Le(), this._dollyDirection = new P(), this._mouse = new Le(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._lastIsDamping = !1, this._isDamping = !1, this._onPointerMove = $c.bind(this), this._onPointerDown = Zc.bind(this), this._onPointerUp = el.bind(this), this._onContextMenu = al.bind(this), this._onMouseWheel = sl.bind(this), this._onKeyDown = il.bind(this), this._onTouchStart = ol.bind(this), this._onTouchMove = rl.bind(this), this._onMouseDown = tl.bind(this), this._onMouseMove = nl.bind(this), this._interceptControlDown = Al.bind(this), this._interceptControlUp = cl.bind(this), this.domElement !== null && this.connect(), this.update();
7374
7373
  }
7375
7374
  connect() {
7376
7375
  this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointercancel", this._onPointerUp), this.domElement.addEventListener("contextmenu", this._onContextMenu), this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: !1 }), this.domElement.getRootNode().addEventListener("keydown", this._interceptControlDown, { passive: !0, capture: !0 }), this.domElement.style.touchAction = "none";
@@ -7400,11 +7399,12 @@ let Qh = class extends Go {
7400
7399
  this.target0.copy(this.target), this.position0.copy(this.object.position), this.zoom0 = this.object.zoom;
7401
7400
  }
7402
7401
  reset() {
7403
- this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(ao), this.update(), this.state = fe.NONE;
7402
+ this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(ao), this.update(), this.state = de.NONE, this._isDamping = !1;
7404
7403
  }
7405
7404
  update(e = null) {
7405
+ if (this.enableDamping && e === null) return;
7406
7406
  const t = this.object.getWorldPosition(this.object.position);
7407
- Me.copy(t).sub(this.target), Me.applyQuaternion(this._quat), this._spherical.setFromVector3(Me), this.autoRotate && this.state === fe.NONE && this._rotateLeft(this._getAutoRotationAngle(e)), this.enableDamping ? (this._spherical.theta += this._sphericalDelta.theta * this.dampingFactor, this._spherical.phi += this._sphericalDelta.phi * this.dampingFactor) : (this._spherical.theta += this._sphericalDelta.theta, this._spherical.phi += this._sphericalDelta.phi);
7407
+ Me.copy(t).sub(this.target), Me.applyQuaternion(this._quat), this._spherical.setFromVector3(Me), this.autoRotate && this.state === de.NONE && this._rotateLeft(this._getAutoRotationAngle(e)), this.enableDamping ? (this._spherical.theta += this._sphericalDelta.theta * this.dampingFactor, this._spherical.phi += this._sphericalDelta.phi * this.dampingFactor) : (this._spherical.theta += this._sphericalDelta.theta, this._spherical.phi += this._sphericalDelta.phi);
7408
7408
  let s = this.minAzimuthAngle, n = this.maxAzimuthAngle;
7409
7409
  isFinite(s) && isFinite(n) && (s < -Math.PI ? s += Ye : s > Math.PI && (s -= Ye), n < -Math.PI ? n += Ye : n > Math.PI && (n -= Ye), s <= n ? this._spherical.theta = Math.max(s, Math.min(n, this._spherical.theta)) : this._spherical.theta = this._spherical.theta > (s + n) / 2 ? Math.max(s, this._spherical.theta) : Math.min(n, this._spherical.theta)), this._spherical.phi = Math.max(this.minPolarAngle, Math.min(this.maxPolarAngle, this._spherical.phi)), this._spherical.makeSafe(), this.enableDamping === !0 ? this.target.addScaledVector(this._panOffset, this.dampingFactor) : this.target.add(this._panOffset), this.target.sub(this.cursor), this.target.clampLength(this.minTargetRadius, this.maxTargetRadius), this.target.add(this.cursor);
7410
7410
  let i = !1;
@@ -7412,7 +7412,7 @@ let Qh = class extends Go {
7412
7412
  this._spherical.radius = this._clampDistance(this._spherical.radius);
7413
7413
  else {
7414
7414
  const o = this._spherical.radius;
7415
- this._spherical.radius = this._clampDistance(this._spherical.radius * this._currentScale), i = o != this._spherical.radius;
7415
+ this._spherical.radius = this._clampDistance(this._spherical.radius * this._currentScale), i = Math.abs(o - this._spherical.radius) > Zt * 100;
7416
7416
  }
7417
7417
  if (Me.setFromSpherical(this._spherical), Me.applyQuaternion(this._quatInverse), t.copy(this.target).add(Me), this.object.parent ? this.object.parent.worldToLocal(t) : this.object.position.copy(t), this.object.lookAt(this.target), this.enableDamping === !0 ? (this._sphericalDelta.theta *= 1 - this.dampingFactor, this._sphericalDelta.phi *= 1 - this.dampingFactor, this._panOffset.multiplyScalar(1 - this.dampingFactor)) : (this._sphericalDelta.set(0, 0, 0), this._panOffset.set(0, 0, 0)), this.zoomToCursor && this._performCursorZoom) {
7418
7418
  let o = null;
@@ -7420,22 +7420,22 @@ let Qh = class extends Go {
7420
7420
  const r = Me.length();
7421
7421
  o = this._clampDistance(r * this._currentScale);
7422
7422
  const a = r - o;
7423
- this.object.position.addScaledVector(this._dollyDirection, a), this.object.updateMatrixWorld(), i = !!a;
7423
+ this.object.position.addScaledVector(this._dollyDirection, a), this.object.updateMatrixWorld(), i = Math.abs(a) > Zt;
7424
7424
  } else if (this.object.isOrthographicCamera) {
7425
7425
  const r = new P(this._mouse.x, this._mouse.y, 0);
7426
7426
  r.unproject(this.object);
7427
7427
  const a = this.object.zoom;
7428
- this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._currentScale)), this.object.updateProjectionMatrix(), i = a !== this.object.zoom;
7428
+ this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._currentScale)), this.object.updateProjectionMatrix(), i = Math.abs(a - this.object.zoom) > Zt;
7429
7429
  const c = new P(this._mouse.x, this._mouse.y, 0);
7430
7430
  c.unproject(this.object), this.object.position.sub(c).add(r), this.object.updateMatrixWorld(), o = Me.length();
7431
7431
  } else
7432
7432
  console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
7433
- o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : ($n.origin.copy(this.object.position), $n.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot($n.direction)) < Vc ? this.object.lookAt(this.target) : (Ao.setFromNormalAndCoplanarPoint(this.object.up, this.target), $n.intersectPlane(Ao, this.target))));
7433
+ o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : (es.origin.copy(this.object.position), es.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(es.direction)) < Xc ? this.object.lookAt(this.target) : (Ao.setFromNormalAndCoplanarPoint(this.object.up, this.target), es.intersectPlane(Ao, this.target))));
7434
7434
  } else if (this.object.isOrthographicCamera) {
7435
7435
  const o = this.object.zoom;
7436
- this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), o !== this.object.zoom && (this.object.updateProjectionMatrix(), i = !0);
7436
+ this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), Math.abs(o - this.object.zoom) > Zt && (this.object.updateProjectionMatrix(), i = !0);
7437
7437
  }
7438
- return this._scale = 1, i || this._lastPosition.distanceToSquared(this.object.position) > Ps || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Ps || this._lastTargetPosition.distanceToSquared(this.target) > Ps ? (this.dispatchEvent(ao), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), !0) : (this._performCursorZoom = !1, !1);
7438
+ return this._scale = 1, i || this._lastPosition.distanceToSquared(this.object.position) > Zt || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Zt || this._lastTargetPosition.distanceToSquared(this.target) > Zt ? (this.dispatchEvent(ao), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this._lastIsDamping = !0, this._isDamping = !0, !0) : (this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this.state === de.NONE && (this._lastIsDamping = this._isDamping, this._isDamping = !1), this._lastIsDamping && !this._isDamping && this.state === de.NONE && (this._isDamping = !1, this._lastIsDamping = !1, this.dispatchEvent(Vc)), this._performCursorZoom = !1, !1);
7439
7439
  }
7440
7440
  _getAutoRotationAngle(e) {
7441
7441
  return e !== null ? Ye / 60 * this.autoRotateSpeed * e : Ye / 60 / 60 * this.autoRotateSpeed;
@@ -7626,16 +7626,16 @@ let Qh = class extends Go {
7626
7626
  return e.ctrlKey && !this._controlActive && (s.deltaY *= 10), s;
7627
7627
  }
7628
7628
  };
7629
- function Xc(A) {
7629
+ function Zc(A) {
7630
7630
  this.enabled !== !1 && (this._pointers.length === 0 && (this.domElement.setPointerCapture(A.pointerId), this.domElement.addEventListener("pointermove", this._onPointerMove), window.addEventListener("pointerup", this._onPointerUp)), !this._isTrackingPointer(A) && (this._addPointer(A), A.pointerType === "touch" ? this._onTouchStart(A) : this._onMouseDown(A)));
7631
7631
  }
7632
- function Zc(A) {
7632
+ function $c(A) {
7633
7633
  this.enabled !== !1 && (A.pointerType === "touch" ? this._onTouchMove(A) : this._onMouseMove(A));
7634
7634
  }
7635
- function $c(A) {
7635
+ function el(A) {
7636
7636
  switch (this._removePointer(A), this._pointers.length) {
7637
7637
  case 0:
7638
- this.domElement.releasePointerCapture(A.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), window.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(Br), this.state = fe.NONE;
7638
+ this.domElement.releasePointerCapture(A.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), window.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(Br), this.state = de.NONE;
7639
7639
  break;
7640
7640
  case 1:
7641
7641
  const e = this._pointers[0], t = this._pointerPositions[e];
@@ -7643,7 +7643,7 @@ function $c(A) {
7643
7643
  break;
7644
7644
  }
7645
7645
  }
7646
- function el(A) {
7646
+ function tl(A) {
7647
7647
  let e;
7648
7648
  switch (A.button) {
7649
7649
  case 0:
@@ -7659,122 +7659,122 @@ function el(A) {
7659
7659
  e = -1;
7660
7660
  }
7661
7661
  switch (e) {
7662
- case mn.DOLLY:
7662
+ case In.DOLLY:
7663
7663
  if (this.enableZoom === !1) return;
7664
- this._handleMouseDownDolly(A), this.state = fe.DOLLY;
7664
+ this._handleMouseDownDolly(A), this.state = de.DOLLY;
7665
7665
  break;
7666
- case mn.ROTATE:
7666
+ case In.ROTATE:
7667
7667
  if (A.ctrlKey || A.metaKey || A.shiftKey) {
7668
7668
  if (this.enablePan === !1) return;
7669
- this._handleMouseDownPan(A), this.state = fe.PAN;
7669
+ this._handleMouseDownPan(A), this.state = de.PAN;
7670
7670
  } else {
7671
7671
  if (this.enableRotate === !1) return;
7672
- this._handleMouseDownRotate(A), this.state = fe.ROTATE;
7672
+ this._handleMouseDownRotate(A), this.state = de.ROTATE;
7673
7673
  }
7674
7674
  break;
7675
- case mn.PAN:
7675
+ case In.PAN:
7676
7676
  if (A.ctrlKey || A.metaKey || A.shiftKey) {
7677
7677
  if (this.enableRotate === !1) return;
7678
- this._handleMouseDownRotate(A), this.state = fe.ROTATE;
7678
+ this._handleMouseDownRotate(A), this.state = de.ROTATE;
7679
7679
  } else {
7680
7680
  if (this.enablePan === !1) return;
7681
- this._handleMouseDownPan(A), this.state = fe.PAN;
7681
+ this._handleMouseDownPan(A), this.state = de.PAN;
7682
7682
  }
7683
7683
  break;
7684
7684
  default:
7685
- this.state = fe.NONE;
7685
+ this.state = de.NONE;
7686
7686
  }
7687
- this.state !== fe.NONE && this.dispatchEvent(wi);
7687
+ this.state !== de.NONE && this.dispatchEvent(wi);
7688
7688
  }
7689
- function tl(A) {
7689
+ function nl(A) {
7690
7690
  switch (this.state) {
7691
- case fe.ROTATE:
7691
+ case de.ROTATE:
7692
7692
  if (this.enableRotate === !1) return;
7693
7693
  this._handleMouseMoveRotate(A);
7694
7694
  break;
7695
- case fe.DOLLY:
7695
+ case de.DOLLY:
7696
7696
  if (this.enableZoom === !1) return;
7697
7697
  this._handleMouseMoveDolly(A);
7698
7698
  break;
7699
- case fe.PAN:
7699
+ case de.PAN:
7700
7700
  if (this.enablePan === !1) return;
7701
7701
  this._handleMouseMovePan(A);
7702
7702
  break;
7703
7703
  }
7704
7704
  }
7705
- function nl(A) {
7706
- this.enabled === !1 || this.enableZoom === !1 || this.state !== fe.NONE || (A.preventDefault(), this.dispatchEvent(wi), this._handleMouseWheel(this._customWheelEvent(A)), this.dispatchEvent(Br));
7707
- }
7708
7705
  function sl(A) {
7709
- this.enabled === !1 || this.enablePan === !1 || this._handleKeyDown(A);
7706
+ this.enabled === !1 || this.enableZoom === !1 || this.state !== de.NONE || (A.preventDefault(), this.dispatchEvent(wi), this._handleMouseWheel(this._customWheelEvent(A)), this.dispatchEvent(Br));
7710
7707
  }
7711
7708
  function il(A) {
7709
+ this.enabled === !1 || this.enablePan === !1 || this._handleKeyDown(A);
7710
+ }
7711
+ function ol(A) {
7712
7712
  switch (this._trackPointer(A), this._pointers.length) {
7713
7713
  case 1:
7714
7714
  switch (this.touches.ONE) {
7715
- case fn.ROTATE:
7715
+ case mn.ROTATE:
7716
7716
  if (this.enableRotate === !1) return;
7717
- this._handleTouchStartRotate(A), this.state = fe.TOUCH_ROTATE;
7717
+ this._handleTouchStartRotate(A), this.state = de.TOUCH_ROTATE;
7718
7718
  break;
7719
- case fn.PAN:
7719
+ case mn.PAN:
7720
7720
  if (this.enablePan === !1) return;
7721
- this._handleTouchStartPan(A), this.state = fe.TOUCH_PAN;
7721
+ this._handleTouchStartPan(A), this.state = de.TOUCH_PAN;
7722
7722
  break;
7723
7723
  default:
7724
- this.state = fe.NONE;
7724
+ this.state = de.NONE;
7725
7725
  }
7726
7726
  break;
7727
7727
  case 2:
7728
7728
  switch (this.touches.TWO) {
7729
- case fn.DOLLY_PAN:
7729
+ case mn.DOLLY_PAN:
7730
7730
  if (this.enableZoom === !1 && this.enablePan === !1) return;
7731
- this._handleTouchStartDollyPan(A), this.state = fe.TOUCH_DOLLY_PAN;
7731
+ this._handleTouchStartDollyPan(A), this.state = de.TOUCH_DOLLY_PAN;
7732
7732
  break;
7733
- case fn.DOLLY_ROTATE:
7733
+ case mn.DOLLY_ROTATE:
7734
7734
  if (this.enableZoom === !1 && this.enableRotate === !1) return;
7735
- this._handleTouchStartDollyRotate(A), this.state = fe.TOUCH_DOLLY_ROTATE;
7735
+ this._handleTouchStartDollyRotate(A), this.state = de.TOUCH_DOLLY_ROTATE;
7736
7736
  break;
7737
7737
  default:
7738
- this.state = fe.NONE;
7738
+ this.state = de.NONE;
7739
7739
  }
7740
7740
  break;
7741
7741
  default:
7742
- this.state = fe.NONE;
7742
+ this.state = de.NONE;
7743
7743
  }
7744
- this.state !== fe.NONE && this.dispatchEvent(wi);
7744
+ this.state !== de.NONE && this.dispatchEvent(wi);
7745
7745
  }
7746
- function ol(A) {
7746
+ function rl(A) {
7747
7747
  switch (this._trackPointer(A), this.state) {
7748
- case fe.TOUCH_ROTATE:
7748
+ case de.TOUCH_ROTATE:
7749
7749
  if (this.enableRotate === !1) return;
7750
7750
  this._handleTouchMoveRotate(A), this.update();
7751
7751
  break;
7752
- case fe.TOUCH_PAN:
7752
+ case de.TOUCH_PAN:
7753
7753
  if (this.enablePan === !1) return;
7754
7754
  this._handleTouchMovePan(A), this.update();
7755
7755
  break;
7756
- case fe.TOUCH_DOLLY_PAN:
7756
+ case de.TOUCH_DOLLY_PAN:
7757
7757
  if (this.enableZoom === !1 && this.enablePan === !1) return;
7758
7758
  this._handleTouchMoveDollyPan(A), this.update();
7759
7759
  break;
7760
- case fe.TOUCH_DOLLY_ROTATE:
7760
+ case de.TOUCH_DOLLY_ROTATE:
7761
7761
  if (this.enableZoom === !1 && this.enableRotate === !1) return;
7762
7762
  this._handleTouchMoveDollyRotate(A), this.update();
7763
7763
  break;
7764
7764
  default:
7765
- this.state = fe.NONE;
7765
+ this.state = de.NONE;
7766
7766
  }
7767
7767
  }
7768
- function rl(A) {
7768
+ function al(A) {
7769
7769
  this.enabled !== !1 && A.preventDefault();
7770
7770
  }
7771
- function al(A) {
7771
+ function Al(A) {
7772
7772
  A.key === "Control" && (this._controlActive = !0, this.domElement.getRootNode().addEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
7773
7773
  }
7774
- function Al(A) {
7774
+ function cl(A) {
7775
7775
  A.key === "Control" && (this._controlActive = !1, this.domElement.getRootNode().removeEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
7776
7776
  }
7777
- class Sh extends dt {
7777
+ class vh extends dt {
7778
7778
  constructor(e, t = 1, s = 16, n = 2) {
7779
7779
  const i = new ut(), o = s + n * 2, r = new Float32Array((o * 3 + 3) * 3);
7780
7780
  i.setAttribute("position", new nt(r, 3));
@@ -7798,7 +7798,7 @@ class Sh extends dt {
7798
7798
  this.geometry.dispose(), this.material[0].dispose(), this.material[1].dispose();
7799
7799
  }
7800
7800
  }
7801
- const vh = {
7801
+ const Th = {
7802
7802
  name: "HorizontalBlurShader",
7803
7803
  uniforms: {
7804
7804
  tDiffuse: { value: null },
@@ -7844,7 +7844,7 @@ const vh = {
7844
7844
 
7845
7845
  }`
7846
7846
  )
7847
- }, Th = {
7847
+ }, _h = {
7848
7848
  name: "VerticalBlurShader",
7849
7849
  uniforms: {
7850
7850
  tDiffuse: { value: null },
@@ -7891,9 +7891,9 @@ const vh = {
7891
7891
  }`
7892
7892
  )
7893
7893
  };
7894
- let Tn, Os, un, es;
7894
+ let _n, Os, gn, ts;
7895
7895
  function Hs(A, e = 1 / 0, t = null) {
7896
- Os || (Os = new bi(2, 2, 1, 1)), un || (un = new Ho({
7896
+ Os || (Os = new bi(2, 2, 1, 1)), gn || (gn = new Ho({
7897
7897
  uniforms: { blitTexture: new qa(A) },
7898
7898
  vertexShader: `
7899
7899
  varying vec2 vUv;
@@ -7914,15 +7914,15 @@ function Hs(A, e = 1 / 0, t = null) {
7914
7914
  gl_FragColor = texture2D( blitTexture, vUv);
7915
7915
  #endif
7916
7916
  }`
7917
- })), un.uniforms.blitTexture.value = A, un.defines.IS_SRGB = A.colorSpace == ge, un.needsUpdate = !0, es || (es = new z(Os, un), es.frustumCulled = !1);
7918
- const s = new ds(), n = new Zs();
7919
- n.add(es), t === null && (t = Tn = new za({ antialias: !1 }));
7917
+ })), gn.uniforms.blitTexture.value = A, gn.defines.IS_SRGB = A.colorSpace == ge, gn.needsUpdate = !0, ts || (ts = new z(Os, gn), ts.frustumCulled = !1);
7918
+ const s = new ps(), n = new Zs();
7919
+ n.add(ts), t === null && (t = _n = new za({ antialias: !1 }));
7920
7920
  const i = Math.min(A.image.width, e), o = Math.min(A.image.height, e);
7921
7921
  t.setSize(i, o), t.clear(), t.render(n, s);
7922
7922
  const r = document.createElement("canvas"), a = r.getContext("2d");
7923
7923
  r.width = i, r.height = o, a.drawImage(t.domElement, 0, 0, i, o);
7924
7924
  const c = new jo(r);
7925
- return c.minFilter = A.minFilter, c.magFilter = A.magFilter, c.wrapS = A.wrapS, c.wrapT = A.wrapT, c.colorSpace = A.colorSpace, c.name = A.name, Tn && (Tn.forceContextLoss(), Tn.dispose(), Tn = null), c;
7925
+ return c.minFilter = A.minFilter, c.magFilter = A.magFilter, c.wrapS = A.wrapS, c.wrapT = A.wrapT, c.colorSpace = A.colorSpace, c.name = A.name, _n && (_n.forceContextLoss(), _n.dispose(), _n = null), c;
7926
7926
  }
7927
7927
  const co = {
7928
7928
  POSITION: [
@@ -7955,11 +7955,9 @@ const co = {
7955
7955
  class wr {
7956
7956
  constructor() {
7957
7957
  this.pluginCallbacks = [], this.register(function(e) {
7958
- return new Il(e);
7959
- }), this.register(function(e) {
7960
7958
  return new bl(e);
7961
7959
  }), this.register(function(e) {
7962
- return new wl(e);
7960
+ return new El(e);
7963
7961
  }), this.register(function(e) {
7964
7962
  return new yl(e);
7965
7963
  }), this.register(function(e) {
@@ -7967,21 +7965,23 @@ class wr {
7967
7965
  }), this.register(function(e) {
7968
7966
  return new xl(e);
7969
7967
  }), this.register(function(e) {
7970
- return new El(e);
7968
+ return new Sl(e);
7971
7969
  }), this.register(function(e) {
7972
7970
  return new Cl(e);
7973
7971
  }), this.register(function(e) {
7974
7972
  return new Bl(e);
7975
7973
  }), this.register(function(e) {
7976
- return new Sl(e);
7974
+ return new wl(e);
7977
7975
  }), this.register(function(e) {
7978
7976
  return new vl(e);
7979
7977
  }), this.register(function(e) {
7980
7978
  return new Tl(e);
7979
+ }), this.register(function(e) {
7980
+ return new _l(e);
7981
7981
  }), this.register(function(e) {
7982
7982
  return new Rl(e);
7983
7983
  }), this.register(function(e) {
7984
- return new _l(e);
7984
+ return new Dl(e);
7985
7985
  });
7986
7986
  }
7987
7987
  register(e) {
@@ -7998,7 +7998,7 @@ class wr {
7998
7998
  * @param {Object} options options
7999
7999
  */
8000
8000
  parse(e, t, s, n) {
8001
- const i = new ml(), o = [];
8001
+ const i = new Il(), o = [];
8002
8002
  for (let r = 0, a = this.pluginCallbacks.length; r < a; r++)
8003
8003
  o.push(this.pluginCallbacks[r](i));
8004
8004
  i.setPlugins(o), i.write(e, t, n).catch(s);
@@ -8037,31 +8037,31 @@ const re = {
8037
8037
  }, js = "KHR_mesh_quantization", ot = {};
8038
8038
  ot[Mo] = re.NEAREST;
8039
8039
  ot[Do] = re.NEAREST_MIPMAP_NEAREST;
8040
- ot[Ro] = re.NEAREST_MIPMAP_LINEAR;
8040
+ ot[_o] = re.NEAREST_MIPMAP_LINEAR;
8041
8041
  ot[mt] = re.LINEAR;
8042
- ot[_o] = re.LINEAR_MIPMAP_NEAREST;
8043
- ot[ps] = re.LINEAR_MIPMAP_LINEAR;
8044
- ot[As] = re.CLAMP_TO_EDGE;
8045
- ot[rn] = re.REPEAT;
8042
+ ot[Ro] = re.LINEAR_MIPMAP_NEAREST;
8043
+ ot[fs] = re.LINEAR_MIPMAP_LINEAR;
8044
+ ot[cs] = re.CLAMP_TO_EDGE;
8045
+ ot[an] = re.REPEAT;
8046
8046
  ot[ko] = re.MIRRORED_REPEAT;
8047
8047
  const lo = {
8048
8048
  scale: "scale",
8049
8049
  position: "translation",
8050
8050
  quaternion: "rotation",
8051
8051
  morphTargetInfluences: "weights"
8052
- }, cl = new Se(), ho = 12, ll = 1179937895, hl = 2, uo = 8, ul = 1313821514, gl = 5130562;
8053
- function Nn(A, e) {
8052
+ }, ll = new Se(), ho = 12, hl = 1179937895, ul = 2, uo = 8, gl = 1313821514, dl = 5130562;
8053
+ function Un(A, e) {
8054
8054
  return A.length === e.length && A.every(function(t, s) {
8055
8055
  return t === e[s];
8056
8056
  });
8057
8057
  }
8058
- function dl(A) {
8058
+ function pl(A) {
8059
8059
  return new TextEncoder().encode(A).buffer;
8060
8060
  }
8061
- function pl(A) {
8062
- return Nn(A.elements, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
8061
+ function fl(A) {
8062
+ return Un(A.elements, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
8063
8063
  }
8064
- function fl(A, e, t) {
8064
+ function ml(A, e, t) {
8065
8065
  const s = {
8066
8066
  min: new Array(A.itemSize).fill(Number.POSITIVE_INFINITY),
8067
8067
  max: new Array(A.itemSize).fill(Number.NEGATIVE_INFINITY)
@@ -8099,7 +8099,7 @@ function po(A, e) {
8099
8099
  quality: t
8100
8100
  });
8101
8101
  }
8102
- class ml {
8102
+ class Il {
8103
8103
  constructor() {
8104
8104
  this.plugins = [], this.options = {}, this.pending = [], this.buffers = [], this.byteOffset = 0, this.buffers = [], this.nodeMap = /* @__PURE__ */ new Map(), this.skins = [], this.extensionsUsed = {}, this.extensionsRequired = {}, this.uids = /* @__PURE__ */ new Map(), this.uid = 0, this.json = {
8105
8105
  asset: {
@@ -8141,11 +8141,11 @@ class ml {
8141
8141
  const g = new FileReader();
8142
8142
  g.readAsArrayBuffer(c), g.onloadend = function() {
8143
8143
  const d = qs(g.result), p = new DataView(new ArrayBuffer(uo));
8144
- p.setUint32(0, d.byteLength, !0), p.setUint32(4, gl, !0);
8145
- const m = qs(dl(JSON.stringify(o)), 32), I = new DataView(new ArrayBuffer(uo));
8146
- I.setUint32(0, m.byteLength, !0), I.setUint32(4, ul, !0);
8144
+ p.setUint32(0, d.byteLength, !0), p.setUint32(4, dl, !0);
8145
+ const m = qs(pl(JSON.stringify(o)), 32), I = new DataView(new ArrayBuffer(uo));
8146
+ I.setUint32(0, m.byteLength, !0), I.setUint32(4, gl, !0);
8147
8147
  const b = new ArrayBuffer(ho), B = new DataView(b);
8148
- B.setUint32(0, ll, !0), B.setUint32(4, hl, !0);
8148
+ B.setUint32(0, hl, !0), B.setUint32(4, ul, !0);
8149
8149
  const E = ho + I.byteLength + m.byteLength + p.byteLength + d.byteLength;
8150
8150
  B.setUint32(8, E, !0);
8151
8151
  const w = new Blob([
@@ -8251,7 +8251,7 @@ class ml {
8251
8251
  return m;
8252
8252
  };
8253
8253
  }
8254
- console.warn("THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures."), e instanceof Gn && (e = Hs(e)), t instanceof Gn && (t = Hs(t));
8254
+ console.warn("THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures."), e instanceof Pn && (e = Hs(e)), t instanceof Pn && (t = Hs(t));
8255
8255
  const n = e ? e.image : null, i = t ? t.image : null, o = Math.max(n ? n.width : 0, i ? i.width : 0), r = Math.max(n ? n.height : 0, i ? i.height : 0), a = go();
8256
8256
  a.width = o, a.height = r;
8257
8257
  const c = a.getContext("2d", {
@@ -8273,7 +8273,7 @@ class ml {
8273
8273
  }
8274
8274
  c.putImageData(l, 0, 0);
8275
8275
  const g = (e || t).clone();
8276
- return g.source = new Ya(a), g.colorSpace = gs, g.channel = (e || t).channel, e && t && e.channel !== t.channel && console.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."), g;
8276
+ return g.source = new Ya(a), g.colorSpace = ds, g.channel = (e || t).channel, e && t && e.channel !== t.channel && console.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."), g;
8277
8277
  }
8278
8278
  /**
8279
8279
  * Process a buffer to append to the default one.
@@ -8353,8 +8353,8 @@ class ml {
8353
8353
  * Process attribute to generate an accessor
8354
8354
  * @param {BufferAttribute} attribute Attribute to process
8355
8355
  * @param {THREE.BufferGeometry} geometry (Optional) Geometry used for truncated draw range
8356
- * @param {Integer} start (Optional)
8357
- * @param {Integer} count (Optional)
8356
+ * @param {Integer|undefined} start (Optional)
8357
+ * @param {Integer|undefined} count (Optional)
8358
8358
  * @return {Integer|null} Index of the processed accessor on the "accessors" array
8359
8359
  */
8360
8360
  processAccessor(e, t, s, n) {
@@ -8384,7 +8384,7 @@ class ml {
8384
8384
  else
8385
8385
  throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: " + e.array.constructor.name);
8386
8386
  if (s === void 0 && (s = 0), (n === void 0 || n === 1 / 0) && (n = e.count), n === 0) return null;
8387
- const a = fl(e, s, n);
8387
+ const a = ml(e, s, n);
8388
8388
  let c;
8389
8389
  t !== void 0 && (c = e === t.index ? re.ELEMENT_ARRAY_BUFFER : re.ARRAY_BUFFER);
8390
8390
  const l = this.processBufferView(e, r, s, n, c), h = {
@@ -8470,7 +8470,7 @@ class ml {
8470
8470
  if (this._invokeAll(function(l) {
8471
8471
  l.beforeWriteTexture && l.beforeWriteTexture(e, o);
8472
8472
  }), o.keep === !1) return null;
8473
- o.newTexture != null && (e = o.newTexture), i.textures || (i.textures = []), e instanceof Gn && (e = Hs(e, s.maxTextureSize));
8473
+ o.newTexture != null && (e = o.newTexture), i.textures || (i.textures = []), e instanceof Pn && (e = Hs(e, s.maxTextureSize));
8474
8474
  let r = e.userData.mimeType;
8475
8475
  r === "image/webp" && (r = "image/png");
8476
8476
  const a = {
@@ -8498,7 +8498,7 @@ class ml {
8498
8498
  const n = { pbrMetallicRoughness: {} };
8499
8499
  e.isMeshStandardMaterial !== !0 && e.isMeshBasicMaterial !== !0 && console.warn("GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.");
8500
8500
  const i = e.color.toArray().concat([e.opacity]);
8501
- Nn(i, [1, 1, 1, 1]) || (n.pbrMetallicRoughness.baseColorFactor = i), e.isMeshStandardMaterial ? (n.pbrMetallicRoughness.metallicFactor = e.metalness, n.pbrMetallicRoughness.roughnessFactor = e.roughness) : (n.pbrMetallicRoughness.metallicFactor = 0.5, n.pbrMetallicRoughness.roughnessFactor = 0.5);
8501
+ Un(i, [1, 1, 1, 1]) || (n.pbrMetallicRoughness.baseColorFactor = i), e.isMeshStandardMaterial ? (n.pbrMetallicRoughness.metallicFactor = e.metalness, n.pbrMetallicRoughness.roughnessFactor = e.roughness) : (n.pbrMetallicRoughness.metallicFactor = 0.5, n.pbrMetallicRoughness.roughnessFactor = 0.5);
8502
8502
  const o = (c = e.metalnessMap) != null && c.image ? e.metalnessMap : void 0, r = (l = e.roughnessMap) != null && l.image ? e.roughnessMap : void 0;
8503
8503
  if (o || r) {
8504
8504
  const p = this.buildMetalRoughTexture(o, r), m = {
@@ -8557,7 +8557,7 @@ class ml {
8557
8557
  return null;
8558
8558
  const s = this.cache, n = this.json, i = [e.geometry.uuid];
8559
8559
  if (Array.isArray(e.material))
8560
- for (let Q = 0, R = e.material.length; Q < R; Q++)
8560
+ for (let Q = 0, _ = e.material.length; Q < _; Q++)
8561
8561
  i.push(e.material[Q].uuid);
8562
8562
  else
8563
8563
  i.push(e.material.uuid);
@@ -8579,32 +8579,32 @@ class ml {
8579
8579
  let m = null;
8580
8580
  for (let Q in r.attributes) {
8581
8581
  if (Q.slice(0, 5) === "morph") continue;
8582
- const R = r.attributes[Q];
8583
- if (Q = d[Q] || Q.toUpperCase(), /^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(Q) || (Q = "_" + Q), s.attributes.has(this.getUID(R))) {
8584
- l[Q] = s.attributes.get(this.getUID(R));
8582
+ const _ = r.attributes[Q];
8583
+ if (Q = d[Q] || Q.toUpperCase(), /^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(Q) || (Q = "_" + Q), s.attributes.has(this.getUID(_))) {
8584
+ l[Q] = s.attributes.get(this.getUID(_));
8585
8585
  continue;
8586
8586
  }
8587
8587
  m = null;
8588
- const x = R.array;
8589
- Q === "JOINTS_0" && !(x instanceof Uint16Array) && !(x instanceof Uint8Array) && (console.warn('GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.'), m = new nt(new Uint16Array(x), R.itemSize, R.normalized));
8590
- const v = this.processAccessor(m || R, r);
8591
- v !== null && (Q.startsWith("_") || this.detectMeshQuantization(Q, R), l[Q] = v, s.attributes.set(this.getUID(R), v));
8588
+ const x = _.array;
8589
+ Q === "JOINTS_0" && !(x instanceof Uint16Array) && !(x instanceof Uint8Array) && (console.warn('GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.'), m = new nt(new Uint16Array(x), _.itemSize, _.normalized));
8590
+ const v = this.processAccessor(m || _, r);
8591
+ v !== null && (Q.startsWith("_") || this.detectMeshQuantization(Q, _), l[Q] = v, s.attributes.set(this.getUID(_), v));
8592
8592
  }
8593
8593
  if (p !== void 0 && r.setAttribute("normal", p), Object.keys(l).length === 0) return null;
8594
8594
  if (e.morphTargetInfluences !== void 0 && e.morphTargetInfluences.length > 0) {
8595
- const Q = [], R = [], _ = {};
8595
+ const Q = [], _ = [], R = {};
8596
8596
  if (e.morphTargetDictionary !== void 0)
8597
8597
  for (const x in e.morphTargetDictionary)
8598
- _[e.morphTargetDictionary[x]] = x;
8598
+ R[e.morphTargetDictionary[x]] = x;
8599
8599
  for (let x = 0; x < e.morphTargetInfluences.length; ++x) {
8600
8600
  const v = {};
8601
8601
  let L = !1;
8602
8602
  for (const N in r.morphAttributes) {
8603
- if (N !== "position" && N !== "normal") {
8604
- L || (console.warn("GLTFExporter: Only POSITION and NORMAL morph are supported."), L = !0);
8603
+ if (N !== "position" && N !== "normal" && N !== "color") {
8604
+ L || (console.warn("GLTFExporter: Only POSITION, NORMAL and COLOR morph are supported."), L = !0);
8605
8605
  continue;
8606
8606
  }
8607
- const O = r.morphAttributes[N][x], Z = N.toUpperCase(), U = r.attributes[N];
8607
+ const O = r.morphAttributes[N][x], Z = N.toUpperCase() + (N === "color" ? "_0" : ""), U = r.attributes[N];
8608
8608
  if (s.attributes.has(this.getUID(O, !0))) {
8609
8609
  v[Z] = s.attributes.get(this.getUID(O, !0));
8610
8610
  continue;
@@ -8616,31 +8616,31 @@ class ml {
8616
8616
  ee === 0 && q.setX(H, O.getX(H) - U.getX(H)), ee === 1 && q.setY(H, O.getY(H) - U.getY(H)), ee === 2 && q.setZ(H, O.getZ(H) - U.getZ(H)), ee === 3 && q.setW(H, O.getW(H) - U.getW(H));
8617
8617
  v[Z] = this.processAccessor(q, r), s.attributes.set(this.getUID(U, !0), v[Z]);
8618
8618
  }
8619
- g.push(v), Q.push(e.morphTargetInfluences[x]), e.morphTargetDictionary !== void 0 && R.push(_[x]);
8619
+ g.push(v), Q.push(e.morphTargetInfluences[x]), e.morphTargetDictionary !== void 0 && _.push(R[x]);
8620
8620
  }
8621
- c.weights = Q, R.length > 0 && (c.extras = {}, c.extras.targetNames = R);
8621
+ c.weights = Q, _.length > 0 && (c.extras = {}, c.extras.targetNames = _);
8622
8622
  }
8623
8623
  const I = Array.isArray(e.material);
8624
8624
  if (I && r.groups.length === 0) return null;
8625
8625
  let b = !1;
8626
8626
  if (I && r.index === null) {
8627
8627
  const Q = [];
8628
- for (let R = 0, _ = r.attributes.position.count; R < _; R++)
8629
- Q[R] = R;
8628
+ for (let _ = 0, R = r.attributes.position.count; _ < R; _++)
8629
+ Q[_] = _;
8630
8630
  r.setIndex(Q), b = !0;
8631
8631
  }
8632
8632
  const B = I ? e.material : [e.material], E = I ? r.groups : [{ materialIndex: 0, start: void 0, count: void 0 }];
8633
- for (let Q = 0, R = E.length; Q < R; Q++) {
8634
- const _ = {
8633
+ for (let Q = 0, _ = E.length; Q < _; Q++) {
8634
+ const R = {
8635
8635
  mode: a,
8636
8636
  attributes: l
8637
8637
  };
8638
- if (this.serializeUserData(r, _), g.length > 0 && (_.targets = g), r.index !== null) {
8638
+ if (this.serializeUserData(r, R), g.length > 0 && (R.targets = g), r.index !== null) {
8639
8639
  let v = this.getUID(r.index);
8640
- (E[Q].start !== void 0 || E[Q].count !== void 0) && (v += ":" + E[Q].start + ":" + E[Q].count), s.attributes.has(v) ? _.indices = s.attributes.get(v) : (_.indices = this.processAccessor(r.index, r, E[Q].start, E[Q].count), s.attributes.set(v, _.indices)), _.indices === null && delete _.indices;
8640
+ (E[Q].start !== void 0 || E[Q].count !== void 0) && (v += ":" + E[Q].start + ":" + E[Q].count), s.attributes.has(v) ? R.indices = s.attributes.get(v) : (R.indices = this.processAccessor(r.index, r, E[Q].start, E[Q].count), s.attributes.set(v, R.indices)), R.indices === null && delete R.indices;
8641
8641
  }
8642
8642
  const x = this.processMaterial(B[E[Q].materialIndex]);
8643
- x !== null && (_.material = x), h.push(_);
8643
+ x !== null && (R.material = x), h.push(R);
8644
8644
  }
8645
8645
  b === !0 && r.setIndex(null), c.primitives = h, n.meshes || (n.meshes = []), this._invokeAll(function(Q) {
8646
8646
  Q.writeMesh && Q.writeMesh(e, c);
@@ -8783,9 +8783,9 @@ class ml {
8783
8783
  const o = {};
8784
8784
  if (n.trs) {
8785
8785
  const a = e.quaternion.toArray(), c = e.position.toArray(), l = e.scale.toArray();
8786
- Nn(a, [0, 0, 0, 1]) || (o.rotation = a), Nn(c, [0, 0, 0]) || (o.translation = c), Nn(l, [1, 1, 1]) || (o.scale = l);
8786
+ Un(a, [0, 0, 0, 1]) || (o.rotation = a), Un(c, [0, 0, 0]) || (o.translation = c), Un(l, [1, 1, 1]) || (o.scale = l);
8787
8787
  } else
8788
- e.matrixAutoUpdate && e.updateMatrix(), pl(e.matrix) === !1 && (o.matrix = e.matrix.elements);
8788
+ e.matrixAutoUpdate && e.updateMatrix(), fl(e.matrix) === !1 && (o.matrix = e.matrix.elements);
8789
8789
  if (e.name !== "" && (o.name = String(e.name)), this.serializeUserData(e, o), e.isMesh || e.isLine || e.isPoints) {
8790
8790
  const a = this.processMesh(e);
8791
8791
  a !== null && (o.mesh = a);
@@ -8862,7 +8862,7 @@ class ml {
8862
8862
  e(this.plugins[t]);
8863
8863
  }
8864
8864
  }
8865
- class Il {
8865
+ class bl {
8866
8866
  constructor(e) {
8867
8867
  this.writer = e, this.name = "KHR_lights_punctual";
8868
8868
  }
@@ -8878,7 +8878,7 @@ class Il {
8878
8878
  r.push(o), t.extensions = t.extensions || {}, t.extensions[this.name] = { light: r.length - 1 };
8879
8879
  }
8880
8880
  }
8881
- class bl {
8881
+ class El {
8882
8882
  constructor(e) {
8883
8883
  this.writer = e, this.name = "KHR_materials_unlit";
8884
8884
  }
@@ -8888,7 +8888,7 @@ class bl {
8888
8888
  t.extensions = t.extensions || {}, t.extensions[this.name] = {}, n[this.name] = !0, t.pbrMetallicRoughness.metallicFactor = 0, t.pbrMetallicRoughness.roughnessFactor = 0.9;
8889
8889
  }
8890
8890
  }
8891
- class El {
8891
+ class Cl {
8892
8892
  constructor(e) {
8893
8893
  this.writer = e, this.name = "KHR_materials_clearcoat";
8894
8894
  }
@@ -8919,7 +8919,7 @@ class El {
8919
8919
  t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
8920
8920
  }
8921
8921
  }
8922
- class Cl {
8922
+ class Bl {
8923
8923
  constructor(e) {
8924
8924
  this.writer = e, this.name = "KHR_materials_dispersion";
8925
8925
  }
@@ -8929,7 +8929,7 @@ class Cl {
8929
8929
  i.dispersion = e.dispersion, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
8930
8930
  }
8931
8931
  }
8932
- class Bl {
8932
+ class wl {
8933
8933
  constructor(e) {
8934
8934
  this.writer = e, this.name = "KHR_materials_iridescence";
8935
8935
  }
@@ -8953,7 +8953,7 @@ class Bl {
8953
8953
  t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
8954
8954
  }
8955
8955
  }
8956
- class wl {
8956
+ class yl {
8957
8957
  constructor(e) {
8958
8958
  this.writer = e, this.name = "KHR_materials_transmission";
8959
8959
  }
@@ -8970,7 +8970,7 @@ class wl {
8970
8970
  t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
8971
8971
  }
8972
8972
  }
8973
- class yl {
8973
+ class Ql {
8974
8974
  constructor(e) {
8975
8975
  this.writer = e, this.name = "KHR_materials_volume";
8976
8976
  }
@@ -8987,7 +8987,7 @@ class yl {
8987
8987
  e.attenuationDistance !== 1 / 0 && (i.attenuationDistance = e.attenuationDistance), i.attenuationColor = e.attenuationColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
8988
8988
  }
8989
8989
  }
8990
- class Ql {
8990
+ class xl {
8991
8991
  constructor(e) {
8992
8992
  this.writer = e, this.name = "KHR_materials_ior";
8993
8993
  }
@@ -8997,12 +8997,12 @@ class Ql {
8997
8997
  i.ior = e.ior, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
8998
8998
  }
8999
8999
  }
9000
- class xl {
9000
+ class Sl {
9001
9001
  constructor(e) {
9002
9002
  this.writer = e, this.name = "KHR_materials_specular";
9003
9003
  }
9004
9004
  writeMaterial(e, t) {
9005
- if (!e.isMeshPhysicalMaterial || e.specularIntensity === 1 && e.specularColor.equals(cl) && !e.specularIntensityMap && !e.specularColorMap) return;
9005
+ if (!e.isMeshPhysicalMaterial || e.specularIntensity === 1 && e.specularColor.equals(ll) && !e.specularIntensityMap && !e.specularColorMap) return;
9006
9006
  const s = this.writer, n = s.extensionsUsed, i = {};
9007
9007
  if (e.specularIntensityMap) {
9008
9008
  const o = {
@@ -9021,7 +9021,7 @@ class xl {
9021
9021
  i.specularFactor = e.specularIntensity, i.specularColorFactor = e.specularColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9022
9022
  }
9023
9023
  }
9024
- class Sl {
9024
+ class vl {
9025
9025
  constructor(e) {
9026
9026
  this.writer = e, this.name = "KHR_materials_sheen";
9027
9027
  }
@@ -9045,7 +9045,7 @@ class Sl {
9045
9045
  i.sheenRoughnessFactor = e.sheenRoughness, i.sheenColorFactor = e.sheenColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9046
9046
  }
9047
9047
  }
9048
- class vl {
9048
+ class Tl {
9049
9049
  constructor(e) {
9050
9050
  this.writer = e, this.name = "KHR_materials_anisotropy";
9051
9051
  }
@@ -9059,7 +9059,7 @@ class vl {
9059
9059
  i.anisotropyStrength = e.anisotropy, i.anisotropyRotation = e.anisotropyRotation, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9060
9060
  }
9061
9061
  }
9062
- class Tl {
9062
+ class _l {
9063
9063
  constructor(e) {
9064
9064
  this.writer = e, this.name = "KHR_materials_emissive_strength";
9065
9065
  }
@@ -9086,7 +9086,7 @@ class Rl {
9086
9086
  i.bumpFactor = e.bumpScale, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9087
9087
  }
9088
9088
  }
9089
- class _l {
9089
+ class Dl {
9090
9090
  constructor(e) {
9091
9091
  this.writer = e, this.name = "EXT_mesh_gpu_instancing";
9092
9092
  }
@@ -9141,7 +9141,7 @@ wr.Utils = {
9141
9141
  if (o.createInterpolant !== o.InterpolantFactoryMethodDiscrete && o.createInterpolant !== o.InterpolantFactoryMethodLinear) {
9142
9142
  if (o.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline)
9143
9143
  throw new Error("THREE.GLTFExporter: Cannot merge tracks with glTF CUBICSPLINE interpolation.");
9144
- console.warn("THREE.GLTFExporter: Morph target interpolation mode not yet supported. Using LINEAR instead."), o = o.clone(), o.setInterpolation(jn);
9144
+ console.warn("THREE.GLTFExporter: Morph target interpolation mode not yet supported. Using LINEAR instead."), o = o.clone(), o.setInterpolation(qn);
9145
9145
  }
9146
9146
  const c = a.morphTargetInfluences.length, l = a.morphTargetDictionary[r.propertyIndex];
9147
9147
  if (l === void 0)
@@ -9199,17 +9199,17 @@ async function Qr(A) {
9199
9199
  return e.json();
9200
9200
  throw new Error(e.statusText);
9201
9201
  }
9202
- async function Dl(A) {
9202
+ async function Ml(A) {
9203
9203
  if (!A)
9204
9204
  throw new Error("No basePath supplied");
9205
9205
  return await Qr(`${A}/profilesList.json`);
9206
9206
  }
9207
- async function Ml(A, e, t = null, s = !0) {
9207
+ async function kl(A, e, t = null, s = !0) {
9208
9208
  if (!A)
9209
9209
  throw new Error("No xrInputSource supplied");
9210
9210
  if (!e)
9211
9211
  throw new Error("No basePath supplied");
9212
- const n = await Dl(e);
9212
+ const n = await Ml(e);
9213
9213
  let i;
9214
9214
  if (A.profiles.some((a) => {
9215
9215
  const c = n[a];
@@ -9242,13 +9242,13 @@ async function Ml(A, e, t = null, s = !0) {
9242
9242
  }
9243
9243
  return { profile: o, assetPath: r };
9244
9244
  }
9245
- const kl = {
9245
+ const Fl = {
9246
9246
  xAxis: 0,
9247
9247
  yAxis: 0,
9248
9248
  button: 0,
9249
9249
  state: Te.ComponentState.DEFAULT
9250
9250
  };
9251
- function Fl(A = 0, e = 0) {
9251
+ function Ll(A = 0, e = 0) {
9252
9252
  let t = A, s = e;
9253
9253
  if (Math.sqrt(A * A + e * e) > 1) {
9254
9254
  const o = Math.atan2(e, A);
@@ -9259,9 +9259,9 @@ function Fl(A = 0, e = 0) {
9259
9259
  normalizedYAxis: s * 0.5 + 0.5
9260
9260
  };
9261
9261
  }
9262
- class Ll {
9262
+ class Nl {
9263
9263
  constructor(e) {
9264
- this.componentProperty = e.componentProperty, this.states = e.states, this.valueNodeName = e.valueNodeName, this.valueNodeProperty = e.valueNodeProperty, this.valueNodeProperty === Te.VisualResponseProperty.TRANSFORM && (this.minNodeName = e.minNodeName, this.maxNodeName = e.maxNodeName), this.value = 0, this.updateFromComponent(kl);
9264
+ this.componentProperty = e.componentProperty, this.states = e.states, this.valueNodeName = e.valueNodeName, this.valueNodeProperty = e.valueNodeProperty, this.valueNodeProperty === Te.VisualResponseProperty.TRANSFORM && (this.minNodeName = e.minNodeName, this.maxNodeName = e.maxNodeName), this.value = 0, this.updateFromComponent(Fl);
9265
9265
  }
9266
9266
  /**
9267
9267
  * Computes the visual response's interpolation weight based on component state
@@ -9277,7 +9277,7 @@ class Ll {
9277
9277
  button: s,
9278
9278
  state: n
9279
9279
  }) {
9280
- const { normalizedXAxis: i, normalizedYAxis: o } = Fl(e, t);
9280
+ const { normalizedXAxis: i, normalizedYAxis: o } = Ll(e, t);
9281
9281
  switch (this.componentProperty) {
9282
9282
  case Te.ComponentProperty.X_AXIS:
9283
9283
  this.value = this.states.includes(n) ? i : 0.5;
@@ -9296,7 +9296,7 @@ class Ll {
9296
9296
  }
9297
9297
  }
9298
9298
  }
9299
- class Nl {
9299
+ class Ul {
9300
9300
  /**
9301
9301
  * @param {Object} componentId - Id of the component
9302
9302
  * @param {Object} componentDescription - Description of the component to be created
@@ -9305,7 +9305,7 @@ class Nl {
9305
9305
  if (!e || !t || !t.visualResponses || !t.gamepadIndices || Object.keys(t.gamepadIndices).length === 0)
9306
9306
  throw new Error("Invalid arguments supplied");
9307
9307
  this.id = e, this.type = t.type, this.rootNodeName = t.rootNodeName, this.touchPointNodeName = t.touchPointNodeName, this.visualResponses = {}, Object.keys(t.visualResponses).forEach((s) => {
9308
- const n = new Ll(t.visualResponses[s]);
9308
+ const n = new Nl(t.visualResponses[s]);
9309
9309
  this.visualResponses[s] = n;
9310
9310
  }), this.gamepadIndices = Object.assign({}, t.gamepadIndices), this.values = {
9311
9311
  state: Te.ComponentState.DEFAULT,
@@ -9331,7 +9331,7 @@ class Nl {
9331
9331
  });
9332
9332
  }
9333
9333
  }
9334
- class Ul {
9334
+ class Gl {
9335
9335
  /**
9336
9336
  * @param {Object} xrInputSource - The XRInputSource to build the MotionController around
9337
9337
  * @param {Object} profile - The best matched profile description for the supplied xrInputSource
@@ -9344,7 +9344,7 @@ class Ul {
9344
9344
  throw new Error("No profile supplied");
9345
9345
  this.xrInputSource = e, this.assetUrl = s, this.id = t.profileId, this.layoutDescription = t.layouts[e.handedness], this.components = {}, Object.keys(this.layoutDescription.components).forEach((n) => {
9346
9346
  const i = this.layoutDescription.components[n];
9347
- this.components[n] = new Nl(n, i);
9347
+ this.components[n] = new Ul(n, i);
9348
9348
  }), this.updateFromGamepad();
9349
9349
  }
9350
9350
  get gripSpace() {
@@ -9371,8 +9371,8 @@ class Ul {
9371
9371
  });
9372
9372
  }
9373
9373
  }
9374
- const Gl = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles", Pl = "generic-trigger";
9375
- class Ol extends xt {
9374
+ const Pl = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles", Ol = "generic-trigger";
9375
+ class Hl extends xt {
9376
9376
  constructor() {
9377
9377
  super(), this.motionController = null, this.envMap = null;
9378
9378
  }
@@ -9402,7 +9402,7 @@ class Ol extends xt {
9402
9402
  }));
9403
9403
  }
9404
9404
  }
9405
- function Hl(A, e) {
9405
+ function jl(A, e) {
9406
9406
  Object.values(A.components).forEach((t) => {
9407
9407
  const { type: s, touchPointNodeName: n, visualResponses: i } = t;
9408
9408
  if (s === Te.ComponentType.TOUCHPAD)
@@ -9428,7 +9428,7 @@ function Hl(A, e) {
9428
9428
  });
9429
9429
  }
9430
9430
  function fo(A, e) {
9431
- Hl(A.motionController, e), A.envMap && e.traverse((t) => {
9431
+ jl(A.motionController, e), A.envMap && e.traverse((t) => {
9432
9432
  t.isMesh && (t.material.envMap = A.envMap, t.material.needsUpdate = !0);
9433
9433
  }), A.layers.mask != 0 && e.traverse((t) => {
9434
9434
  t.layers.mask = A.layers.mask;
@@ -9436,18 +9436,18 @@ function fo(A, e) {
9436
9436
  }
9437
9437
  class Rh {
9438
9438
  constructor(e = null, t = null) {
9439
- this.gltfLoader = e, this.path = Gl, this._assetCache = {}, this.onLoad = t, this.gltfLoader || (this.gltfLoader = new zo());
9439
+ this.gltfLoader = e, this.path = Pl, this._assetCache = {}, this.onLoad = t, this.gltfLoader || (this.gltfLoader = new zo());
9440
9440
  }
9441
9441
  setPath(e) {
9442
9442
  return this.path = e, this;
9443
9443
  }
9444
9444
  createControllerModel(e) {
9445
- const t = new Ol();
9445
+ const t = new Hl();
9446
9446
  let s = null;
9447
9447
  return e.addEventListener("connected", (n) => {
9448
9448
  const i = n.data;
9449
- i.targetRayMode !== "tracked-pointer" || !i.gamepad || i.hand || Ml(i, this.path, Pl).then(({ profile: o, assetPath: r }) => {
9450
- t.motionController = new Ul(
9449
+ i.targetRayMode !== "tracked-pointer" || !i.gamepad || i.hand || kl(i, this.path, Ol).then(({ profile: o, assetPath: r }) => {
9450
+ t.motionController = new Gl(
9451
9451
  i,
9452
9452
  o,
9453
9453
  r
@@ -9477,10 +9477,10 @@ class Rh {
9477
9477
  }), t;
9478
9478
  }
9479
9479
  }
9480
- const jl = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/generic-hand/";
9481
- class _h {
9480
+ const ql = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/generic-hand/";
9481
+ class Dh {
9482
9482
  constructor(e, t, s, n, i = null, o = null) {
9483
- this.controller = t, this.handModel = e, this.bones = [], i === null && (i = new zo(), i.setPath(s || jl)), i.load(`${n}.glb`, (r) => {
9483
+ this.controller = t, this.handModel = e, this.bones = [], i === null && (i = new zo(), i.setPath(s || ql)), i.load(`${n}.glb`, (r) => {
9484
9484
  const a = r.scene.children[0];
9485
9485
  this.handModel.add(a), a.layers.mask = this.handModel.layers.mask;
9486
9486
  const c = a.getObjectByProperty("type", "SkinnedMesh");
@@ -9530,7 +9530,7 @@ class _h {
9530
9530
  }
9531
9531
  }
9532
9532
  }
9533
- const mo = new fs(), ts = new P();
9533
+ const mo = new ms(), ns = new P();
9534
9534
  class xr extends Ja {
9535
9535
  constructor() {
9536
9536
  super(), this.isLineSegmentsGeometry = !0, this.type = "LineSegmentsGeometry";
@@ -9545,13 +9545,13 @@ class xr extends Ja {
9545
9545
  let t;
9546
9546
  e instanceof Float32Array ? t = e : Array.isArray(e) && (t = new Float32Array(e));
9547
9547
  const s = new $s(t, 6, 1);
9548
- return this.setAttribute("instanceStart", new en(s, 3, 0)), this.setAttribute("instanceEnd", new en(s, 3, 3)), this.computeBoundingBox(), this.computeBoundingSphere(), this;
9548
+ return this.setAttribute("instanceStart", new tn(s, 3, 0)), this.setAttribute("instanceEnd", new tn(s, 3, 3)), this.computeBoundingBox(), this.computeBoundingSphere(), this;
9549
9549
  }
9550
9550
  setColors(e) {
9551
9551
  let t;
9552
9552
  e instanceof Float32Array ? t = e : Array.isArray(e) && (t = new Float32Array(e));
9553
9553
  const s = new $s(t, 6, 1);
9554
- return this.setAttribute("instanceColorStart", new en(s, 3, 0)), this.setAttribute("instanceColorEnd", new en(s, 3, 3)), this;
9554
+ return this.setAttribute("instanceColorStart", new tn(s, 3, 0)), this.setAttribute("instanceColorEnd", new tn(s, 3, 3)), this;
9555
9555
  }
9556
9556
  fromWireframeGeometry(e) {
9557
9557
  return this.setPositions(e.attributes.position.array), this;
@@ -9567,7 +9567,7 @@ class xr extends Ja {
9567
9567
  return this.setPositions(t.attributes.position.array), this;
9568
9568
  }
9569
9569
  computeBoundingBox() {
9570
- this.boundingBox === null && (this.boundingBox = new fs());
9570
+ this.boundingBox === null && (this.boundingBox = new ms());
9571
9571
  const e = this.attributes.instanceStart, t = this.attributes.instanceEnd;
9572
9572
  e !== void 0 && t !== void 0 && (this.boundingBox.setFromBufferAttribute(e), mo.setFromBufferAttribute(t), this.boundingBox.union(mo));
9573
9573
  }
@@ -9579,7 +9579,7 @@ class xr extends Ja {
9579
9579
  this.boundingBox.getCenter(s);
9580
9580
  let n = 0;
9581
9581
  for (let i = 0, o = e.count; i < o; i++)
9582
- ts.fromBufferAttribute(e, i), n = Math.max(n, s.distanceToSquared(ts)), ts.fromBufferAttribute(t, i), n = Math.max(n, s.distanceToSquared(ts));
9582
+ ns.fromBufferAttribute(e, i), n = Math.max(n, s.distanceToSquared(ns)), ns.fromBufferAttribute(t, i), n = Math.max(n, s.distanceToSquared(ns));
9583
9583
  this.boundingSphere.radius = Math.sqrt(n), isNaN(this.boundingSphere.radius) && console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.", this);
9584
9584
  }
9585
9585
  }
@@ -9589,7 +9589,7 @@ class xr extends Ja {
9589
9589
  return console.warn("THREE.LineSegmentsGeometry: applyMatrix() has been renamed to applyMatrix4()."), this.applyMatrix4(e);
9590
9590
  }
9591
9591
  }
9592
- Un.line = {
9592
+ Gn.line = {
9593
9593
  worldUnits: { value: 1 },
9594
9594
  linewidth: { value: 1 },
9595
9595
  resolution: { value: new Le(1, 1) },
@@ -9601,9 +9601,9 @@ Un.line = {
9601
9601
  };
9602
9602
  wt.line = {
9603
9603
  uniforms: li.merge([
9604
- Un.common,
9605
- Un.fog,
9606
- Un.line
9604
+ Gn.common,
9605
+ Gn.fog,
9606
+ Gn.line
9607
9607
  ]),
9608
9608
  vertexShader: (
9609
9609
  /* glsl */
@@ -10062,17 +10062,17 @@ class Sr extends Ho {
10062
10062
  this.defines && (e === !0 !== this.alphaToCoverage && (this.needsUpdate = !0), e === !0 ? this.defines.USE_ALPHA_TO_COVERAGE = "" : delete this.defines.USE_ALPHA_TO_COVERAGE);
10063
10063
  }
10064
10064
  }
10065
- const zs = new Ut(), Io = new P(), bo = new P(), Ne = new Ut(), Ue = new Ut(), Ct = new Ut(), Ks = new P(), Ys = new ue(), Pe = new Va(), Eo = new P(), ns = new fs(), ss = new mi(), Bt = new Ut();
10066
- let yt, on;
10065
+ const zs = new Ut(), Io = new P(), bo = new P(), Ne = new Ut(), Ue = new Ut(), Ct = new Ut(), Ks = new P(), Ys = new ue(), Pe = new Va(), Eo = new P(), ss = new ms(), is = new mi(), Bt = new Ut();
10066
+ let yt, rn;
10067
10067
  function Co(A, e, t) {
10068
- return Bt.set(0, 0, -e, 1).applyMatrix4(A.projectionMatrix), Bt.multiplyScalar(1 / Bt.w), Bt.x = on / t.width, Bt.y = on / t.height, Bt.applyMatrix4(A.projectionMatrixInverse), Bt.multiplyScalar(1 / Bt.w), Math.abs(Math.max(Bt.x, Bt.y));
10068
+ return Bt.set(0, 0, -e, 1).applyMatrix4(A.projectionMatrix), Bt.multiplyScalar(1 / Bt.w), Bt.x = rn / t.width, Bt.y = rn / t.height, Bt.applyMatrix4(A.projectionMatrixInverse), Bt.multiplyScalar(1 / Bt.w), Math.abs(Math.max(Bt.x, Bt.y));
10069
10069
  }
10070
- function ql(A, e) {
10070
+ function zl(A, e) {
10071
10071
  const t = A.matrixWorld, s = A.geometry, n = s.attributes.instanceStart, i = s.attributes.instanceEnd, o = Math.min(s.instanceCount, n.count);
10072
10072
  for (let r = 0, a = o; r < a; r++) {
10073
10073
  Pe.start.fromBufferAttribute(n, r), Pe.end.fromBufferAttribute(i, r), Pe.applyMatrix4(t);
10074
10074
  const c = new P(), l = new P();
10075
- yt.distanceSqToSegment(Pe.start, Pe.end, l, c), l.distanceTo(c) < on * 0.5 && e.push({
10075
+ yt.distanceSqToSegment(Pe.start, Pe.end, l, c), l.distanceTo(c) < rn * 0.5 && e.push({
10076
10076
  point: l,
10077
10077
  pointOnLine: c,
10078
10078
  distance: yt.origin.distanceTo(l),
@@ -10084,7 +10084,7 @@ function ql(A, e) {
10084
10084
  });
10085
10085
  }
10086
10086
  }
10087
- function zl(A, e, t) {
10087
+ function Kl(A, e, t) {
10088
10088
  const s = e.projectionMatrix, i = A.material.resolution, o = A.matrixWorld, r = A.geometry, a = r.attributes.instanceStart, c = r.attributes.instanceEnd, l = Math.min(r.instanceCount, a.count), h = -e.near;
10089
10089
  yt.at(1, Ct), Ct.w = 1, Ct.applyMatrix4(e.matrixWorldInverse), Ct.applyMatrix4(s), Ct.multiplyScalar(1 / Ct.w), Ct.x *= i.x / 2, Ct.y *= i.y / 2, Ct.z = 0, Ks.copy(Ct), Ys.multiplyMatrices(e.matrixWorldInverse, o);
10090
10090
  for (let g = 0, d = l; g < d; g++) {
@@ -10100,7 +10100,7 @@ function zl(A, e, t) {
10100
10100
  Ne.applyMatrix4(s), Ue.applyMatrix4(s), Ne.multiplyScalar(1 / Ne.w), Ue.multiplyScalar(1 / Ue.w), Ne.x *= i.x / 2, Ne.y *= i.y / 2, Ue.x *= i.x / 2, Ue.y *= i.y / 2, Pe.start.copy(Ne), Pe.start.z = 0, Pe.end.copy(Ue), Pe.end.z = 0;
10101
10101
  const m = Pe.closestPointToPointParameter(Ks, !0);
10102
10102
  Pe.at(m, Eo);
10103
- const I = ye.lerp(Ne.z, Ue.z, m), b = I >= -1 && I <= 1, B = Ks.distanceTo(Eo) < on * 0.5;
10103
+ const I = ye.lerp(Ne.z, Ue.z, m), b = I >= -1 && I <= 1, B = Ks.distanceTo(Eo) < rn * 0.5;
10104
10104
  if (b && B) {
10105
10105
  Pe.start.fromBufferAttribute(a, g), Pe.end.fromBufferAttribute(c, g), Pe.start.applyMatrix4(o), Pe.end.applyMatrix4(o);
10106
10106
  const E = new P(), w = new P();
@@ -10117,7 +10117,7 @@ function zl(A, e, t) {
10117
10117
  }
10118
10118
  }
10119
10119
  }
10120
- class Kl extends z {
10120
+ class Yl extends z {
10121
10121
  constructor(e = new xr(), t = new Sr({ color: Math.random() * 16777215 })) {
10122
10122
  super(e, t), this.isLineSegments2 = !0, this.type = "LineSegments2";
10123
10123
  }
@@ -10127,7 +10127,7 @@ class Kl extends z {
10127
10127
  for (let o = 0, r = 0, a = t.count; o < a; o++, r += 2)
10128
10128
  Io.fromBufferAttribute(t, o), bo.fromBufferAttribute(s, o), n[r] = r === 0 ? 0 : n[r - 1], n[r + 1] = n[r] + Io.distanceTo(bo);
10129
10129
  const i = new $s(n, 2, 1);
10130
- return e.setAttribute("instanceDistanceStart", new en(i, 1, 0)), e.setAttribute("instanceDistanceEnd", new en(i, 1, 1)), this;
10130
+ return e.setAttribute("instanceDistanceStart", new tn(i, 1, 0)), e.setAttribute("instanceDistanceEnd", new tn(i, 1, 1)), this;
10131
10131
  }
10132
10132
  raycast(e, t) {
10133
10133
  const s = this.material.worldUnits, n = e.camera;
@@ -10135,32 +10135,32 @@ class Kl extends z {
10135
10135
  const i = e.params.Line2 !== void 0 && e.params.Line2.threshold || 0;
10136
10136
  yt = e.ray;
10137
10137
  const o = this.matrixWorld, r = this.geometry, a = this.material;
10138
- on = a.linewidth + i, r.boundingSphere === null && r.computeBoundingSphere(), ss.copy(r.boundingSphere).applyMatrix4(o);
10138
+ rn = a.linewidth + i, r.boundingSphere === null && r.computeBoundingSphere(), is.copy(r.boundingSphere).applyMatrix4(o);
10139
10139
  let c;
10140
10140
  if (s)
10141
- c = on * 0.5;
10141
+ c = rn * 0.5;
10142
10142
  else {
10143
- const h = Math.max(n.near, ss.distanceToPoint(yt.origin));
10143
+ const h = Math.max(n.near, is.distanceToPoint(yt.origin));
10144
10144
  c = Co(n, h, a.resolution);
10145
10145
  }
10146
- if (ss.radius += c, yt.intersectsSphere(ss) === !1)
10146
+ if (is.radius += c, yt.intersectsSphere(is) === !1)
10147
10147
  return;
10148
- r.boundingBox === null && r.computeBoundingBox(), ns.copy(r.boundingBox).applyMatrix4(o);
10148
+ r.boundingBox === null && r.computeBoundingBox(), ss.copy(r.boundingBox).applyMatrix4(o);
10149
10149
  let l;
10150
10150
  if (s)
10151
- l = on * 0.5;
10151
+ l = rn * 0.5;
10152
10152
  else {
10153
- const h = Math.max(n.near, ns.distanceToPoint(yt.origin));
10153
+ const h = Math.max(n.near, ss.distanceToPoint(yt.origin));
10154
10154
  l = Co(n, h, a.resolution);
10155
10155
  }
10156
- ns.expandByScalar(l), yt.intersectsBox(ns) !== !1 && (s ? ql(this, t) : zl(this, n, t));
10156
+ ss.expandByScalar(l), yt.intersectsBox(ss) !== !1 && (s ? zl(this, t) : Kl(this, n, t));
10157
10157
  }
10158
10158
  onBeforeRender(e) {
10159
10159
  const t = this.material.uniforms;
10160
10160
  t && t.resolution && (e.getViewport(zs), this.material.uniforms.resolution.value.set(zs.z, zs.w));
10161
10161
  }
10162
10162
  }
10163
- class Yl extends xr {
10163
+ class Jl extends xr {
10164
10164
  constructor() {
10165
10165
  super(), this.isLineGeometry = !0, this.type = "LineGeometry";
10166
10166
  }
@@ -10181,14 +10181,14 @@ class Yl extends xr {
10181
10181
  return this.setPositions(t.attributes.position.array), this;
10182
10182
  }
10183
10183
  }
10184
- class Dh extends Kl {
10185
- constructor(e = new Yl(), t = new Sr({ color: Math.random() * 16777215 })) {
10184
+ class Mh extends Yl {
10185
+ constructor(e = new Jl(), t = new Sr({ color: Math.random() * 16777215 })) {
10186
10186
  super(e, t), this.isLine2 = !0, this.type = "Line2";
10187
10187
  }
10188
10188
  }
10189
- class Mh extends z {
10189
+ class kh extends z {
10190
10190
  constructor(e) {
10191
- const t = new Jl(e), s = new bi(t.image.width * 1e-3, t.image.height * 1e-3), n = new Qt({ map: t, toneMapped: !1, transparent: !0 });
10191
+ const t = new Wl(e), s = new bi(t.image.width * 1e-3, t.image.height * 1e-3), n = new Qt({ map: t, toneMapped: !1, transparent: !0 });
10192
10192
  super(s, n);
10193
10193
  function i(o) {
10194
10194
  n.map.dispatchDOMEvent(o);
@@ -10198,7 +10198,7 @@ class Mh extends z {
10198
10198
  };
10199
10199
  }
10200
10200
  }
10201
- class Jl extends jo {
10201
+ class Wl extends jo {
10202
10202
  constructor(e) {
10203
10203
  super(Bo(e)), this.dom = e, this.anisotropy = 16, this.colorSpace = ge, this.minFilter = mt, this.magFilter = mt;
10204
10204
  const t = new MutationObserver(() => {
@@ -10207,7 +10207,7 @@ class Jl extends jo {
10207
10207
  t.observe(e, s), this.observer = t;
10208
10208
  }
10209
10209
  dispatchDOMEvent(e) {
10210
- e.data && Wl(this.dom, e.type, e.data.x, e.data.y);
10210
+ e.data && Vl(this.dom, e.type, e.data.x, e.data.y);
10211
10211
  }
10212
10212
  update() {
10213
10213
  this.image = Bo(this.dom), this.needsUpdate = !0, this.scheduleUpdate = null;
@@ -10272,12 +10272,12 @@ function Bo(A) {
10272
10272
  const w = d.backgroundColor;
10273
10273
  w !== "transparent" && w !== "rgba(0, 0, 0, 0)" && (l.fillStyle = w, l.fill());
10274
10274
  const Q = ["borderTop", "borderLeft", "borderBottom", "borderRight"];
10275
- let R = !0, _ = null;
10275
+ let _ = !0, R = null;
10276
10276
  for (const x of Q) {
10277
- if (_ !== null && (R = d[x + "Width"] === d[_ + "Width"] && d[x + "Color"] === d[_ + "Color"] && d[x + "Style"] === d[_ + "Style"]), R === !1) break;
10278
- _ = x;
10277
+ if (R !== null && (_ = d[x + "Width"] === d[R + "Width"] && d[x + "Color"] === d[R + "Color"] && d[x + "Style"] === d[R + "Style"]), _ === !1) break;
10278
+ R = x;
10279
10279
  }
10280
- if (R === !0) {
10280
+ if (_ === !0) {
10281
10281
  const x = parseFloat(d.borderTopWidth);
10282
10282
  d.borderTopWidth !== "0px" && d.borderTopStyle !== "none" && d.borderTopColor !== "transparent" && d.borderTopColor !== "rgba(0, 0, 0, 0)" && (l.strokeStyle = d.borderTopColor, l.lineWidth = x, l.stroke());
10283
10283
  } else
@@ -10319,7 +10319,7 @@ function Bo(A) {
10319
10319
  ), h = new s(l);
10320
10320
  return l.clearRect(0, 0, c.width, c.height), r(A), c;
10321
10321
  }
10322
- function Wl(A, e, t, s) {
10322
+ function Vl(A, e, t, s) {
10323
10323
  const n = {
10324
10324
  clientX: t * A.offsetWidth + A.offsetLeft,
10325
10325
  clientY: s * A.offsetHeight + A.offsetTop,
@@ -10341,18 +10341,18 @@ function Wl(A, e, t, s) {
10341
10341
  }
10342
10342
  o(A);
10343
10343
  }
10344
- const as = new Le(), gn = { type: "", data: as }, wo = new Ii();
10345
- class kh extends sn {
10344
+ const As = new Le(), dn = { type: "", data: As }, wo = new Ii();
10345
+ class Fh extends on {
10346
10346
  listenToPointerEvents(e, t) {
10347
10347
  const s = this, n = new Ii(), i = e.domElement;
10348
10348
  function o(r) {
10349
10349
  r.stopPropagation();
10350
10350
  const a = e.domElement.getBoundingClientRect();
10351
- as.x = (r.clientX - a.left) / a.width * 2 - 1, as.y = -(r.clientY - a.top) / a.height * 2 + 1, n.setFromCamera(as, t);
10351
+ As.x = (r.clientX - a.left) / a.width * 2 - 1, As.y = -(r.clientY - a.top) / a.height * 2 + 1, n.setFromCamera(As, t);
10352
10352
  const c = n.intersectObjects(s.children, !1);
10353
10353
  if (c.length > 0) {
10354
10354
  const l = c[0], h = l.object, g = l.uv;
10355
- gn.type = r.type, gn.data.set(g.x, 1 - g.y), h.dispatchEvent(gn);
10355
+ dn.type = r.type, dn.data.set(g.x, 1 - g.y), h.dispatchEvent(dn);
10356
10356
  }
10357
10357
  }
10358
10358
  i.addEventListener("pointerdown", o), i.addEventListener("pointerup", o), i.addEventListener("pointermove", o), i.addEventListener("mousedown", o), i.addEventListener("mouseup", o), i.addEventListener("mousemove", o), i.addEventListener("click", o);
@@ -10370,14 +10370,14 @@ class kh extends sn {
10370
10370
  const r = wo.intersectObjects(t.children, !1);
10371
10371
  if (r.length > 0) {
10372
10372
  const a = r[0], c = a.object, l = a.uv;
10373
- gn.type = s[i.type], gn.data.set(l.x, 1 - l.y), c.dispatchEvent(gn);
10373
+ dn.type = s[i.type], dn.data.set(l.x, 1 - l.y), c.dispatchEvent(dn);
10374
10374
  }
10375
10375
  }
10376
10376
  e.addEventListener("move", n), e.addEventListener("select", n), e.addEventListener("selectstart", n), e.addEventListener("selectend", n);
10377
10377
  }
10378
10378
  }
10379
- const Rn = new P(), _n = new P(), yo = new Oo();
10380
- class Fh extends cs {
10379
+ const Rn = new P(), Dn = new P(), yo = new Oo();
10380
+ class Lh extends ls {
10381
10381
  constructor(e, t = 1, s = 16711680) {
10382
10382
  const n = new ut(), i = e.geometry.attributes.normal.count, o = new ke(i * 2 * 3, 3);
10383
10383
  n.setAttribute("position", o), super(n, new Lt({ color: s, toneMapped: !1 })), this.object = e, this.size = t, this.type = "VertexNormalsHelper", this.matrixAutoUpdate = !1, this.update();
@@ -10389,7 +10389,7 @@ class Fh extends cs {
10389
10389
  const n = s.attributes.position, i = s.attributes.normal;
10390
10390
  let o = 0;
10391
10391
  for (let r = 0, a = n.count; r < a; r++)
10392
- Rn.fromBufferAttribute(n, r).applyMatrix4(e), _n.fromBufferAttribute(i, r), _n.applyMatrix3(yo).normalize().multiplyScalar(this.size).add(Rn), t.setXYZ(o, Rn.x, Rn.y, Rn.z), o = o + 1, t.setXYZ(o, _n.x, _n.y, _n.z), o = o + 1;
10392
+ Rn.fromBufferAttribute(n, r).applyMatrix4(e), Dn.fromBufferAttribute(i, r), Dn.applyMatrix3(yo).normalize().multiplyScalar(this.size).add(Rn), t.setXYZ(o, Rn.x, Rn.y, Rn.z), o = o + 1, t.setXYZ(o, Dn.x, Dn.y, Dn.z), o = o + 1;
10393
10393
  }
10394
10394
  t.needsUpdate = !0;
10395
10395
  }
@@ -10397,7 +10397,7 @@ class Fh extends cs {
10397
10397
  this.geometry.dispose(), this.material.dispose();
10398
10398
  }
10399
10399
  }
10400
- class Lh {
10400
+ class Nh {
10401
10401
  constructor() {
10402
10402
  this.isPass = !0, this.enabled = !0, this.needsSwap = !0, this.clear = !1, this.renderToScreen = !1;
10403
10403
  }
@@ -10410,28 +10410,28 @@ class Lh {
10410
10410
  }
10411
10411
  }
10412
10412
  new Fo(-1, 1, 1, -1, 0, 1);
10413
- class Vl extends ut {
10413
+ class Xl extends ut {
10414
10414
  constructor() {
10415
10415
  super(), this.setAttribute("position", new ke([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)), this.setAttribute("uv", new ke([0, 2, 0, 0, 2, 0], 2));
10416
10416
  }
10417
10417
  }
10418
- new Vl();
10418
+ new Xl();
10419
10419
  const lt = {
10420
10420
  node: "node",
10421
10421
  material: "material",
10422
10422
  camera: "camera",
10423
10423
  light: "light"
10424
- }, Zt = "KHR_animation_pointer", Xl = {
10424
+ }, $t = "KHR_animation_pointer", Zl = {
10425
10425
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
10426
10426
  // keyframe track will be initialized with a default interpolation type, then modified.
10427
10427
  CUBICSPLINE: void 0,
10428
- LINEAR: jn,
10428
+ LINEAR: qn,
10429
10429
  STEP: fi
10430
10430
  }, Qo = It.findNode;
10431
10431
  let xo = !1;
10432
- class Zl {
10432
+ class $l {
10433
10433
  constructor(e) {
10434
- this.parser = e, this.name = Zt, this.animationPointerResolver = null;
10434
+ this.parser = e, this.name = $t, this.animationPointerResolver = null;
10435
10435
  }
10436
10436
  setAnimationPointerResolver(e) {
10437
10437
  return this.animationPointerResolver = e, this;
@@ -10462,7 +10462,7 @@ class Zl {
10462
10462
  }
10463
10463
  if (!n) {
10464
10464
  const i = Qo(e, s[2]);
10465
- return i || console.warn(Zt + ": Property binding not found", t, e, e.name, s), i;
10465
+ return i || console.warn($t + ": Property binding not found", t, e, e.name, s), i;
10466
10466
  }
10467
10467
  return n;
10468
10468
  }
@@ -10476,11 +10476,11 @@ class Zl {
10476
10476
  }
10477
10477
  loadAnimationTargetFromChannelWithAnimationPointer(e) {
10478
10478
  this._havePatchedPropertyBindings || this._patchPropertyBindingFindNode();
10479
- const t = e.target, s = t.extensions && t.extensions[Zt] && t.path && t.path === "pointer";
10479
+ const t = e.target, s = t.extensions && t.extensions[$t] && t.path && t.path === "pointer";
10480
10480
  if (!s) return null;
10481
10481
  let n, i = lt.node, o;
10482
10482
  if (s) {
10483
- const a = t.extensions[Zt];
10483
+ const a = t.extensions[$t];
10484
10484
  let c = a.pointer;
10485
10485
  if (!c) {
10486
10486
  console.warn("Invalid path", a, t);
@@ -10656,7 +10656,7 @@ class Zl {
10656
10656
  break;
10657
10657
  }
10658
10658
  const l = this.animationPointerResolver;
10659
- l && l.resolvePath && (c = l.resolvePath(c)), t.extensions[Zt].pointer = c;
10659
+ l && l.resolvePath && (c = l.resolvePath(c)), t.extensions[$t].pointer = c;
10660
10660
  }
10661
10661
  if (o === null || isNaN(o)) {
10662
10662
  console.warn("Failed resolving animation node id: " + o, t);
@@ -10666,8 +10666,8 @@ class Zl {
10666
10666
  return i === lt.node ? r = this.parser.getDependency("node", o) : i === lt.material ? r = this.parser.getDependency("material", o) : i === lt.light ? r = this.parser.getDependency("light", o) : i === lt.camera ? r = this.parser.getDependency("camera", o) : console.error("Unhandled type", i), r;
10667
10667
  }
10668
10668
  createAnimationTracksWithAnimationPointer(e, t, s, n, i) {
10669
- if (!(i.extensions && i.extensions[Zt] && i.path && i.path === "pointer")) return null;
10670
- let r = i.extensions[Zt].pointer;
10669
+ if (!(i.extensions && i.extensions[$t] && i.path && i.path === "pointer")) return null;
10670
+ let r = i.extensions[$t].pointer;
10671
10671
  if (!r) return null;
10672
10672
  const a = [];
10673
10673
  r = r.replaceAll("/", ".");
@@ -10684,17 +10684,17 @@ class Zl {
10684
10684
  let p;
10685
10685
  switch (s.itemSize) {
10686
10686
  case 1:
10687
- p = hs;
10687
+ p = us;
10688
10688
  break;
10689
10689
  case 2:
10690
10690
  case 3:
10691
- p = ls;
10691
+ p = hs;
10692
10692
  break;
10693
10693
  case 4:
10694
- r.endsWith(".quaternion") ? p = us : p = Xa;
10694
+ r.endsWith(".quaternion") ? p = gs : p = Xa;
10695
10695
  break;
10696
10696
  }
10697
- const m = n.interpolation !== void 0 ? Xl[n.interpolation] : jn;
10697
+ const m = n.interpolation !== void 0 ? Zl[n.interpolation] : qn;
10698
10698
  let I = d._getArrayFromAccessor(s);
10699
10699
  r.endsWith(".fov") && (I = I.map((B) => B / Math.PI * 180));
10700
10700
  const b = new p(
@@ -10744,11 +10744,11 @@ class Zl {
10744
10744
  ]).then(function(g) {
10745
10745
  const d = g[0], p = g[1], m = g[2], I = g[3], b = g[4], B = [];
10746
10746
  for (let E = 0, w = d.length; E < w; E++) {
10747
- const Q = d[E], R = p[E], _ = m[E], x = I[E], v = b[E];
10747
+ const Q = d[E], _ = p[E], R = m[E], x = I[E], v = b[E];
10748
10748
  if (Q === void 0) continue;
10749
10749
  Q.updateMatrix && (Q.updateMatrix(), Q.matrixAutoUpdate = !0);
10750
- let L = t.createAnimationTracksWithAnimationPointer(Q, R, _, x, v);
10751
- if (L || (L = n._createAnimationTracks(Q, R, _, x, v)), L)
10750
+ let L = t.createAnimationTracksWithAnimationPointer(Q, _, R, x, v);
10751
+ if (L || (L = n._createAnimationTracks(Q, _, R, x, v)), L)
10752
10752
  for (let N = 0; N < L.length; N++)
10753
10753
  B.push(L[N]);
10754
10754
  }
@@ -10756,45 +10756,45 @@ class Zl {
10756
10756
  });
10757
10757
  }
10758
10758
  }
10759
- const Nh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
10759
+ const Uh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
10760
10760
  __proto__: null,
10761
- GLTFAnimationPointerExtension: Zl
10761
+ GLTFAnimationPointerExtension: $l
10762
10762
  }, Symbol.toStringTag, { value: "Module" }));
10763
10763
  export {
10764
- fh as DRACOLoader,
10764
+ mh as DRACOLoader,
10765
10765
  Bc as EXRLoader,
10766
- Ch as EXRLoader$1,
10767
- wh as FBXLoader,
10766
+ Bh as EXRLoader$1,
10767
+ yh as FBXLoader,
10768
10768
  JA as Font,
10769
- Ih as FontLoader,
10769
+ bh as FontLoader,
10770
10770
  wr as GLTFExporter,
10771
10771
  zo as GLTFLoader,
10772
- Nh as GLTFLoaderAnimationPointer,
10773
- eh as GroundedSkybox,
10774
- Mh as HTMLMesh,
10775
- vh as HorizontalBlurShader,
10776
- kh as InteractiveGroup,
10772
+ Uh as GLTFLoaderAnimationPointer,
10773
+ th as GroundedSkybox,
10774
+ kh as HTMLMesh,
10775
+ Th as HorizontalBlurShader,
10776
+ Fh as InteractiveGroup,
10777
10777
  Ft as KTX2Loader,
10778
- Dh as Line2,
10779
- Yl as LineGeometry,
10778
+ Mh as Line2,
10779
+ Jl as LineGeometry,
10780
10780
  Sr as LineMaterial,
10781
- ph as MeshoptDecoder,
10782
- yh as OBJLoader,
10783
- Qh as OrbitControls,
10784
- Lh as Pass,
10785
- Sh as PositionalAudioHelper,
10781
+ fh as MeshoptDecoder,
10782
+ Qh as OBJLoader,
10783
+ xh as OrbitControls,
10784
+ Nh as Pass,
10785
+ vh as PositionalAudioHelper,
10786
10786
  wc as RGBELoader,
10787
- Bh as RGBELoader$1,
10788
- os as Stats,
10789
- mh as TextGeometry,
10790
- bh as TransformControls,
10787
+ wh as RGBELoader$1,
10788
+ rs as Stats,
10789
+ Ih as TextGeometry,
10790
+ Eh as TransformControls,
10791
10791
  sc as TransformControlsGizmo,
10792
- Fh as VertexNormalsHelper,
10793
- Th as VerticalBlurShader,
10792
+ Lh as VertexNormalsHelper,
10793
+ _h as VerticalBlurShader,
10794
10794
  Rh as XRControllerModelFactory,
10795
- _h as XRHandMeshModel,
10796
- th as mergeVertices,
10795
+ Dh as XRHandMeshModel,
10796
+ nh as mergeVertices,
10797
10797
  tt as nodeFrame,
10798
10798
  $i as strToU8,
10799
- Eh as zipSync
10799
+ Ch as zipSync
10800
10800
  };