iflow-engine-base 3.12.7 → 3.12.9

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.
@@ -33251,341 +33251,716 @@ const V1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
33251
33251
  warn: be,
33252
33252
  warnOnce: Ho
33253
33253
  }, Symbol.toStringTag, { value: "Module" }));
33254
- function W1(s, e = !1) {
33255
- const t = s[0].index !== null, n = new Set(Object.keys(s[0].attributes)), i = new Set(Object.keys(s[0].morphAttributes)), r = {}, a = {}, o = s[0].morphTargetsRelative, c = new Ve();
33256
- let l = 0;
33257
- for (let h = 0; h < s.length; ++h) {
33258
- const u = s[h];
33259
- let f = 0;
33260
- if (t !== (u.index !== null))
33261
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."), null;
33262
- for (const d in u.attributes) {
33263
- if (!n.has(d))
33264
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + '. All geometries must have compatible attributes; make sure "' + d + '" attribute exists among all geometries, or in none of them.'), null;
33265
- r[d] === void 0 && (r[d] = []), r[d].push(u.attributes[d]), f++;
33254
+ var Aa = Object.freeze({
33255
+ Linear: Object.freeze({
33256
+ None: function(s) {
33257
+ return s;
33258
+ },
33259
+ In: function(s) {
33260
+ return s;
33261
+ },
33262
+ Out: function(s) {
33263
+ return s;
33264
+ },
33265
+ InOut: function(s) {
33266
+ return s;
33266
33267
  }
33267
- if (f !== n.size)
33268
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". Make sure all geometries have the same number of attributes."), null;
33269
- if (o !== u.morphTargetsRelative)
33270
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". .morphTargetsRelative must be consistent throughout all geometries."), null;
33271
- for (const d in u.morphAttributes) {
33272
- if (!i.has(d))
33273
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". .morphAttributes must be consistent throughout all geometries."), null;
33274
- a[d] === void 0 && (a[d] = []), a[d].push(u.morphAttributes[d]);
33268
+ }),
33269
+ Quadratic: Object.freeze({
33270
+ In: function(s) {
33271
+ return s * s;
33272
+ },
33273
+ Out: function(s) {
33274
+ return s * (2 - s);
33275
+ },
33276
+ InOut: function(s) {
33277
+ return (s *= 2) < 1 ? 0.5 * s * s : -0.5 * (--s * (s - 2) - 1);
33275
33278
  }
33276
- if (e) {
33277
- let d;
33278
- if (t)
33279
- d = u.index.count;
33280
- else if (u.attributes.position !== void 0)
33281
- d = u.attributes.position.count;
33282
- else
33283
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". The geometry must have either an index or a position attribute"), null;
33284
- c.addGroup(l, d, h), l += d;
33279
+ }),
33280
+ Cubic: Object.freeze({
33281
+ In: function(s) {
33282
+ return s * s * s;
33283
+ },
33284
+ Out: function(s) {
33285
+ return --s * s * s + 1;
33286
+ },
33287
+ InOut: function(s) {
33288
+ return (s *= 2) < 1 ? 0.5 * s * s * s : 0.5 * ((s -= 2) * s * s + 2);
33285
33289
  }
33286
- }
33287
- if (t) {
33288
- let h = 0;
33289
- const u = [];
33290
- for (let f = 0; f < s.length; ++f) {
33291
- const d = s[f].index;
33292
- for (let p = 0; p < d.count; ++p)
33293
- u.push(d.getX(p) + h);
33294
- h += s[f].attributes.position.count;
33290
+ }),
33291
+ Quartic: Object.freeze({
33292
+ In: function(s) {
33293
+ return s * s * s * s;
33294
+ },
33295
+ Out: function(s) {
33296
+ return 1 - --s * s * s * s;
33297
+ },
33298
+ InOut: function(s) {
33299
+ return (s *= 2) < 1 ? 0.5 * s * s * s * s : -0.5 * ((s -= 2) * s * s * s - 2);
33295
33300
  }
33296
- c.setIndex(u);
33297
- }
33298
- for (const h in r) {
33299
- const u = KA(r[h]);
33300
- if (!u)
33301
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + h + " attribute."), null;
33302
- c.setAttribute(h, u);
33303
- }
33304
- for (const h in a) {
33305
- const u = a[h][0].length;
33306
- if (u === 0) break;
33307
- c.morphAttributes = c.morphAttributes || {}, c.morphAttributes[h] = [];
33308
- for (let f = 0; f < u; ++f) {
33309
- const d = [];
33310
- for (let b = 0; b < a[h].length; ++b)
33311
- d.push(a[h][b][f]);
33312
- const p = KA(d);
33313
- if (!p)
33314
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + h + " morphAttribute."), null;
33315
- c.morphAttributes[h].push(p);
33301
+ }),
33302
+ Quintic: Object.freeze({
33303
+ In: function(s) {
33304
+ return s * s * s * s * s;
33305
+ },
33306
+ Out: function(s) {
33307
+ return --s * s * s * s * s + 1;
33308
+ },
33309
+ InOut: function(s) {
33310
+ return (s *= 2) < 1 ? 0.5 * s * s * s * s * s : 0.5 * ((s -= 2) * s * s * s * s + 2);
33316
33311
  }
33312
+ }),
33313
+ Sinusoidal: Object.freeze({
33314
+ In: function(s) {
33315
+ return 1 - Math.sin((1 - s) * Math.PI / 2);
33316
+ },
33317
+ Out: function(s) {
33318
+ return Math.sin(s * Math.PI / 2);
33319
+ },
33320
+ InOut: function(s) {
33321
+ return 0.5 * (1 - Math.sin(Math.PI * (0.5 - s)));
33322
+ }
33323
+ }),
33324
+ Exponential: Object.freeze({
33325
+ In: function(s) {
33326
+ return s === 0 ? 0 : Math.pow(1024, s - 1);
33327
+ },
33328
+ Out: function(s) {
33329
+ return s === 1 ? 1 : 1 - Math.pow(2, -10 * s);
33330
+ },
33331
+ InOut: function(s) {
33332
+ return s === 0 ? 0 : s === 1 ? 1 : (s *= 2) < 1 ? 0.5 * Math.pow(1024, s - 1) : 0.5 * (-Math.pow(2, -10 * (s - 1)) + 2);
33333
+ }
33334
+ }),
33335
+ Circular: Object.freeze({
33336
+ In: function(s) {
33337
+ return 1 - Math.sqrt(1 - s * s);
33338
+ },
33339
+ Out: function(s) {
33340
+ return Math.sqrt(1 - --s * s);
33341
+ },
33342
+ InOut: function(s) {
33343
+ return (s *= 2) < 1 ? -0.5 * (Math.sqrt(1 - s * s) - 1) : 0.5 * (Math.sqrt(1 - (s -= 2) * s) + 1);
33344
+ }
33345
+ }),
33346
+ Elastic: Object.freeze({
33347
+ In: function(s) {
33348
+ return s === 0 ? 0 : s === 1 ? 1 : -Math.pow(2, 10 * (s - 1)) * Math.sin((s - 1.1) * 5 * Math.PI);
33349
+ },
33350
+ Out: function(s) {
33351
+ return s === 0 ? 0 : s === 1 ? 1 : Math.pow(2, -10 * s) * Math.sin((s - 0.1) * 5 * Math.PI) + 1;
33352
+ },
33353
+ InOut: function(s) {
33354
+ return s === 0 ? 0 : s === 1 ? 1 : (s *= 2, s < 1 ? -0.5 * Math.pow(2, 10 * (s - 1)) * Math.sin((s - 1.1) * 5 * Math.PI) : 0.5 * Math.pow(2, -10 * (s - 1)) * Math.sin((s - 1.1) * 5 * Math.PI) + 1);
33355
+ }
33356
+ }),
33357
+ Back: Object.freeze({
33358
+ In: function(s) {
33359
+ var e = 1.70158;
33360
+ return s === 1 ? 1 : s * s * ((e + 1) * s - e);
33361
+ },
33362
+ Out: function(s) {
33363
+ var e = 1.70158;
33364
+ return s === 0 ? 0 : --s * s * ((e + 1) * s + e) + 1;
33365
+ },
33366
+ InOut: function(s) {
33367
+ var e = 2.5949095;
33368
+ return (s *= 2) < 1 ? 0.5 * (s * s * ((e + 1) * s - e)) : 0.5 * ((s -= 2) * s * ((e + 1) * s + e) + 2);
33369
+ }
33370
+ }),
33371
+ Bounce: Object.freeze({
33372
+ In: function(s) {
33373
+ return 1 - Aa.Bounce.Out(1 - s);
33374
+ },
33375
+ Out: function(s) {
33376
+ return s < 1 / 2.75 ? 7.5625 * s * s : s < 2 / 2.75 ? 7.5625 * (s -= 1.5 / 2.75) * s + 0.75 : s < 2.5 / 2.75 ? 7.5625 * (s -= 2.25 / 2.75) * s + 0.9375 : 7.5625 * (s -= 2.625 / 2.75) * s + 0.984375;
33377
+ },
33378
+ InOut: function(s) {
33379
+ return s < 0.5 ? Aa.Bounce.In(s * 2) * 0.5 : Aa.Bounce.Out(s * 2 - 1) * 0.5 + 0.5;
33380
+ }
33381
+ }),
33382
+ generatePow: function(s) {
33383
+ return s === void 0 && (s = 4), s = s < Number.EPSILON ? Number.EPSILON : s, s = s > 1e4 ? 1e4 : s, {
33384
+ In: function(e) {
33385
+ return Math.pow(e, s);
33386
+ },
33387
+ Out: function(e) {
33388
+ return 1 - Math.pow(1 - e, s);
33389
+ },
33390
+ InOut: function(e) {
33391
+ return e < 0.5 ? Math.pow(e * 2, s) / 2 : (1 - Math.pow(2 - e * 2, s)) / 2 + 0.5;
33392
+ }
33393
+ };
33317
33394
  }
33318
- return c;
33319
- }
33320
- function KA(s) {
33321
- let e, t, n, i = -1, r = 0;
33322
- for (let l = 0; l < s.length; ++l) {
33323
- const h = s[l];
33324
- if (e === void 0 && (e = h.array.constructor), e !== h.array.constructor)
33325
- return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."), null;
33326
- if (t === void 0 && (t = h.itemSize), t !== h.itemSize)
33327
- return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."), null;
33328
- if (n === void 0 && (n = h.normalized), n !== h.normalized)
33329
- return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."), null;
33330
- if (i === -1 && (i = h.gpuType), i !== h.gpuType)
33331
- return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."), null;
33332
- r += h.count * t;
33333
- }
33334
- const a = new e(r), o = new ot(a, t, n);
33335
- let c = 0;
33336
- for (let l = 0; l < s.length; ++l) {
33337
- const h = s[l];
33338
- if (h.isInterleavedBufferAttribute) {
33339
- const u = c / t;
33340
- for (let f = 0, d = h.count; f < d; f++)
33341
- for (let p = 0; p < t; p++) {
33342
- const b = h.getComponent(f, p);
33343
- o.setComponent(f + u, p, b);
33344
- }
33345
- } else
33346
- a.set(h.array, c);
33347
- c += h.count * t;
33348
- }
33349
- return i !== void 0 && (o.gpuType = i), o;
33350
- }
33351
- function YA(s, e) {
33352
- if (e === Em)
33353
- return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), s;
33354
- if (e === uh || e === yd) {
33355
- let t = s.getIndex();
33356
- if (t === null) {
33357
- const a = [], o = s.getAttribute("position");
33358
- if (o !== void 0) {
33359
- for (let c = 0; c < o.count; c++)
33360
- a.push(c);
33361
- s.setIndex(a), t = s.getIndex();
33362
- } else
33363
- return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), s;
33395
+ }), ho = function() {
33396
+ return performance.now();
33397
+ }, BC = (
33398
+ /** @class */
33399
+ (function() {
33400
+ function s() {
33401
+ this._tweens = {}, this._tweensAddedDuringUpdate = {};
33364
33402
  }
33365
- const n = t.count - 2, i = [];
33366
- if (e === uh)
33367
- for (let a = 1; a <= n; a++)
33368
- i.push(t.getX(0)), i.push(t.getX(a)), i.push(t.getX(a + 1));
33369
- else
33370
- for (let a = 0; a < n; a++)
33371
- a % 2 === 0 ? (i.push(t.getX(a)), i.push(t.getX(a + 1)), i.push(t.getX(a + 2))) : (i.push(t.getX(a + 2)), i.push(t.getX(a + 1)), i.push(t.getX(a)));
33372
- i.length / 3 !== n && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
33373
- const r = s.clone();
33374
- return r.setIndex(i), r.clearGroups(), r;
33375
- } else
33376
- return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", e), s;
33377
- }
33378
- function BC(s) {
33379
- const e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = s.clone();
33380
- return k0(s, n, function(i, r) {
33381
- e.set(r, i), t.set(i, r);
33382
- }), n.traverse(function(i) {
33383
- if (!i.isSkinnedMesh) return;
33384
- const r = i, a = e.get(i), o = a.skeleton.bones;
33385
- r.skeleton = a.skeleton.clone(), r.bindMatrix.copy(a.bindMatrix), r.skeleton.bones = o.map(function(c) {
33386
- return t.get(c);
33387
- }), r.bind(r.skeleton, r.bindMatrix);
33388
- }), n;
33389
- }
33390
- function k0(s, e, t) {
33391
- t(s, e);
33392
- for (let n = 0; n < s.children.length; n++)
33393
- k0(s.children[n], e.children[n], t);
33394
- }
33395
- class q1 extends rn {
33396
- /**
33397
- * Constructs a new glTF loader.
33398
- *
33399
- * @param {LoadingManager} [manager] - The loading manager.
33400
- */
33401
- constructor(e) {
33402
- super(e), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(t) {
33403
- return new FC(t);
33404
- }), this.register(function(t) {
33405
- return new NC(t);
33406
- }), this.register(function(t) {
33407
- return new WC(t);
33408
- }), this.register(function(t) {
33409
- return new qC(t);
33410
- }), this.register(function(t) {
33411
- return new XC(t);
33412
- }), this.register(function(t) {
33413
- return new OC(t);
33414
- }), this.register(function(t) {
33415
- return new kC(t);
33416
- }), this.register(function(t) {
33417
- return new QC(t);
33418
- }), this.register(function(t) {
33419
- return new GC(t);
33420
- }), this.register(function(t) {
33421
- return new LC(t);
33422
- }), this.register(function(t) {
33423
- return new zC(t);
33424
- }), this.register(function(t) {
33425
- return new UC(t);
33426
- }), this.register(function(t) {
33427
- return new VC(t);
33428
- }), this.register(function(t) {
33429
- return new HC(t);
33430
- }), this.register(function(t) {
33431
- return new DC(t);
33432
- }), this.register(function(t) {
33433
- return new JA(t, rt.EXT_MESHOPT_COMPRESSION);
33434
- }), this.register(function(t) {
33435
- return new JA(t, rt.KHR_MESHOPT_COMPRESSION);
33436
- }), this.register(function(t) {
33437
- return new jC(t);
33438
- });
33439
- }
33440
- /**
33441
- * Starts loading from the given URL and passes the loaded glTF asset
33442
- * to the `onLoad()` callback.
33443
- *
33444
- * @param {string} url - The path/URL of the file to be loaded. This can also be a data URI.
33445
- * @param {function(GLTFLoader~LoadObject)} onLoad - Executed when the loading process has been finished.
33446
- * @param {onProgressCallback} onProgress - Executed while the loading is in progress.
33447
- * @param {onErrorCallback} onError - Executed when errors occur.
33448
- */
33449
- load(e, t, n, i) {
33450
- const r = this;
33451
- let a;
33452
- if (this.resourcePath !== "")
33453
- a = this.resourcePath;
33454
- else if (this.path !== "") {
33455
- const l = ys.extractUrlBase(e);
33456
- a = ys.resolveURL(l, this.path);
33457
- } else
33458
- a = ys.extractUrlBase(e);
33459
- this.manager.itemStart(e);
33460
- const o = function(l) {
33461
- i ? i(l) : console.error(l), r.manager.itemError(e), r.manager.itemEnd(e);
33462
- }, c = new ln(this.manager);
33463
- c.setPath(this.path), c.setResponseType("arraybuffer"), c.setRequestHeader(this.requestHeader), c.setWithCredentials(this.withCredentials), c.load(e, function(l) {
33464
- try {
33465
- r.parse(l, a, function(h) {
33466
- t(h), r.manager.itemEnd(e);
33467
- }, o);
33468
- } catch (h) {
33469
- o(h);
33403
+ return s.prototype.getAll = function() {
33404
+ var e = this;
33405
+ return Object.keys(this._tweens).map(function(t) {
33406
+ return e._tweens[t];
33407
+ });
33408
+ }, s.prototype.removeAll = function() {
33409
+ this._tweens = {};
33410
+ }, s.prototype.add = function(e) {
33411
+ this._tweens[e.getId()] = e, this._tweensAddedDuringUpdate[e.getId()] = e;
33412
+ }, s.prototype.remove = function(e) {
33413
+ delete this._tweens[e.getId()], delete this._tweensAddedDuringUpdate[e.getId()];
33414
+ }, s.prototype.update = function(e, t) {
33415
+ e === void 0 && (e = ho()), t === void 0 && (t = !1);
33416
+ var n = Object.keys(this._tweens);
33417
+ if (n.length === 0)
33418
+ return !1;
33419
+ for (; n.length > 0; ) {
33420
+ this._tweensAddedDuringUpdate = {};
33421
+ for (var i = 0; i < n.length; i++) {
33422
+ var r = this._tweens[n[i]], a = !t;
33423
+ r && r.update(e, a) === !1 && !t && delete this._tweens[n[i]];
33424
+ }
33425
+ n = Object.keys(this._tweensAddedDuringUpdate);
33470
33426
  }
33471
- }, n, o);
33472
- }
33473
- /**
33474
- * Sets the given Draco loader to this loader. Required for decoding assets
33475
- * compressed with the `KHR_draco_mesh_compression` extension.
33476
- *
33477
- * @param {DRACOLoader} dracoLoader - The Draco loader to set.
33478
- * @return {GLTFLoader} A reference to this loader.
33479
- */
33480
- setDRACOLoader(e) {
33481
- return this.dracoLoader = e, this;
33482
- }
33483
- /**
33484
- * Sets the given KTX2 loader to this loader. Required for loading KTX2
33485
- * compressed textures.
33486
- *
33487
- * @param {KTX2Loader} ktx2Loader - The KTX2 loader to set.
33488
- * @return {GLTFLoader} A reference to this loader.
33489
- */
33490
- setKTX2Loader(e) {
33491
- return this.ktx2Loader = e, this;
33492
- }
33493
- /**
33494
- * Sets the given meshopt decoder. Required for decoding assets
33495
- * compressed with the `EXT_meshopt_compression` extension.
33496
- *
33497
- * @param {Object} meshoptDecoder - The meshopt decoder to set.
33498
- * @return {GLTFLoader} A reference to this loader.
33499
- */
33500
- setMeshoptDecoder(e) {
33501
- return this.meshoptDecoder = e, this;
33502
- }
33503
- /**
33504
- * Registers a plugin callback. This API is internally used to implement the various
33505
- * glTF extensions but can also used by third-party code to add additional logic
33506
- * to the loader.
33507
- *
33508
- * @param {function(parser:GLTFParser)} callback - The callback function to register.
33509
- * @return {GLTFLoader} A reference to this loader.
33510
- */
33511
- register(e) {
33512
- return this.pluginCallbacks.indexOf(e) === -1 && this.pluginCallbacks.push(e), this;
33513
- }
33514
- /**
33515
- * Unregisters a plugin callback.
33516
- *
33517
- * @param {Function} callback - The callback function to unregister.
33518
- * @return {GLTFLoader} A reference to this loader.
33519
- */
33520
- unregister(e) {
33521
- return this.pluginCallbacks.indexOf(e) !== -1 && this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e), 1), this;
33427
+ return !0;
33428
+ }, s;
33429
+ })()
33430
+ ), ed = {
33431
+ Linear: function(s, e) {
33432
+ var t = s.length - 1, n = t * e, i = Math.floor(n), r = ed.Utils.Linear;
33433
+ return e < 0 ? r(s[0], s[1], n) : e > 1 ? r(s[t], s[t - 1], t - n) : r(s[i], s[i + 1 > t ? t : i + 1], n - i);
33434
+ },
33435
+ Utils: {
33436
+ Linear: function(s, e, t) {
33437
+ return (e - s) * t + s;
33438
+ }
33522
33439
  }
33523
- /**
33524
- * Parses the given glTF data and returns the resulting group.
33525
- *
33526
- * @param {string|ArrayBuffer} data - The raw glTF data.
33527
- * @param {string} path - The URL base path.
33528
- * @param {function(GLTFLoader~LoadObject)} onLoad - Executed when the loading process has been finished.
33529
- * @param {onErrorCallback} onError - Executed when errors occur.
33530
- */
33531
- parse(e, t, n, i) {
33532
- let r;
33533
- const a = {}, o = {}, c = new TextDecoder();
33534
- if (typeof e == "string")
33535
- r = JSON.parse(e);
33536
- else if (e instanceof ArrayBuffer)
33537
- if (c.decode(new Uint8Array(e, 0, 4)) === Q0) {
33538
- try {
33539
- a[rt.KHR_BINARY_GLTF] = new KC(e);
33540
- } catch (u) {
33541
- i && i(u);
33542
- return;
33543
- }
33544
- r = JSON.parse(a[rt.KHR_BINARY_GLTF].content);
33545
- } else
33546
- r = JSON.parse(c.decode(e));
33547
- else
33548
- r = e;
33549
- if (r.asset === void 0 || r.asset.version[0] < 2) {
33550
- i && i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
33551
- return;
33440
+ }, k0 = (
33441
+ /** @class */
33442
+ (function() {
33443
+ function s() {
33552
33444
  }
33553
- const l = new cw(r, {
33554
- path: t || this.resourcePath || "",
33555
- crossOrigin: this.crossOrigin,
33556
- requestHeader: this.requestHeader,
33557
- manager: this.manager,
33558
- ktx2Loader: this.ktx2Loader,
33559
- meshoptDecoder: this.meshoptDecoder
33560
- });
33561
- l.fileLoader.setRequestHeader(this.requestHeader);
33562
- for (let h = 0; h < this.pluginCallbacks.length; h++) {
33563
- const u = this.pluginCallbacks[h](l);
33564
- u.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), o[u.name] = u, a[u.name] = !0;
33445
+ return s.nextId = function() {
33446
+ return s._nextId++;
33447
+ }, s._nextId = 0, s;
33448
+ })()
33449
+ ), td = new BC(), RC = (
33450
+ /** @class */
33451
+ (function() {
33452
+ function s(e, t) {
33453
+ t === void 0 && (t = td), this._object = e, this._group = t, this._isPaused = !1, this._pauseStart = 0, this._valuesStart = {}, this._valuesEnd = {}, this._valuesStartRepeat = {}, this._duration = 1e3, this._isDynamic = !1, this._initialRepeat = 0, this._repeat = 0, this._yoyo = !1, this._isPlaying = !1, this._reversed = !1, this._delayTime = 0, this._startTime = 0, this._easingFunction = Aa.Linear.None, this._interpolationFunction = ed.Linear, this._chainedTweens = [], this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._id = k0.nextId(), this._isChainStopped = !1, this._propertiesAreSetUp = !1, this._goToEnd = !1;
33565
33454
  }
33566
- if (r.extensionsUsed)
33567
- for (let h = 0; h < r.extensionsUsed.length; ++h) {
33568
- const u = r.extensionsUsed[h], f = r.extensionsRequired || [];
33569
- switch (u) {
33570
- case rt.KHR_MATERIALS_UNLIT:
33571
- a[u] = new PC();
33572
- break;
33573
- case rt.KHR_DRACO_MESH_COMPRESSION:
33574
- a[u] = new YC(r, this.dracoLoader);
33575
- break;
33576
- case rt.KHR_TEXTURE_TRANSFORM:
33577
- a[u] = new JC();
33578
- break;
33579
- case rt.KHR_MESH_QUANTIZATION:
33580
- a[u] = new ZC();
33581
- break;
33582
- default:
33583
- f.indexOf(u) >= 0 && o[u] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + u + '".');
33584
- }
33455
+ return s.prototype.getId = function() {
33456
+ return this._id;
33457
+ }, s.prototype.isPlaying = function() {
33458
+ return this._isPlaying;
33459
+ }, s.prototype.isPaused = function() {
33460
+ return this._isPaused;
33461
+ }, s.prototype.getDuration = function() {
33462
+ return this._duration;
33463
+ }, s.prototype.to = function(e, t) {
33464
+ if (t === void 0 && (t = 1e3), this._isPlaying)
33465
+ throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");
33466
+ return this._valuesEnd = e, this._propertiesAreSetUp = !1, this._duration = t < 0 ? 0 : t, this;
33467
+ }, s.prototype.duration = function(e) {
33468
+ return e === void 0 && (e = 1e3), this._duration = e < 0 ? 0 : e, this;
33469
+ }, s.prototype.dynamic = function(e) {
33470
+ return e === void 0 && (e = !1), this._isDynamic = e, this;
33471
+ }, s.prototype.start = function(e, t) {
33472
+ if (e === void 0 && (e = ho()), t === void 0 && (t = !1), this._isPlaying)
33473
+ return this;
33474
+ if (this._group && this._group.add(this), this._repeat = this._initialRepeat, this._reversed) {
33475
+ this._reversed = !1;
33476
+ for (var n in this._valuesStartRepeat)
33477
+ this._swapEndStartRepeatValues(n), this._valuesStart[n] = this._valuesStartRepeat[n];
33585
33478
  }
33586
- l.setExtensions(a), l.setPlugins(o), l.parse(n, i);
33587
- }
33588
- /**
33479
+ if (this._isPlaying = !0, this._isPaused = !1, this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._isChainStopped = !1, this._startTime = e, this._startTime += this._delayTime, !this._propertiesAreSetUp || t) {
33480
+ if (this._propertiesAreSetUp = !0, !this._isDynamic) {
33481
+ var i = {};
33482
+ for (var r in this._valuesEnd)
33483
+ i[r] = this._valuesEnd[r];
33484
+ this._valuesEnd = i;
33485
+ }
33486
+ this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat, t);
33487
+ }
33488
+ return this;
33489
+ }, s.prototype.startFromCurrentValues = function(e) {
33490
+ return this.start(e, !0);
33491
+ }, s.prototype._setupProperties = function(e, t, n, i, r) {
33492
+ for (var a in n) {
33493
+ var o = e[a], c = Array.isArray(o), l = c ? "array" : typeof o, h = !c && Array.isArray(n[a]);
33494
+ if (!(l === "undefined" || l === "function")) {
33495
+ if (h) {
33496
+ var u = n[a];
33497
+ if (u.length === 0)
33498
+ continue;
33499
+ for (var f = [o], d = 0, p = u.length; d < p; d += 1) {
33500
+ var b = this._handleRelativeValue(o, u[d]);
33501
+ if (isNaN(b)) {
33502
+ h = !1, console.warn("Found invalid interpolation list. Skipping.");
33503
+ break;
33504
+ }
33505
+ f.push(b);
33506
+ }
33507
+ h && (n[a] = f);
33508
+ }
33509
+ if ((l === "object" || c) && o && !h) {
33510
+ t[a] = c ? [] : {};
33511
+ var g = o;
33512
+ for (var A in g)
33513
+ t[a][A] = g[A];
33514
+ i[a] = c ? [] : {};
33515
+ var u = n[a];
33516
+ if (!this._isDynamic) {
33517
+ var m = {};
33518
+ for (var A in u)
33519
+ m[A] = u[A];
33520
+ n[a] = u = m;
33521
+ }
33522
+ this._setupProperties(g, t[a], u, i[a], r);
33523
+ } else
33524
+ (typeof t[a] > "u" || r) && (t[a] = o), c || (t[a] *= 1), h ? i[a] = n[a].slice().reverse() : i[a] = t[a] || 0;
33525
+ }
33526
+ }
33527
+ }, s.prototype.stop = function() {
33528
+ return this._isChainStopped || (this._isChainStopped = !0, this.stopChainedTweens()), this._isPlaying ? (this._group && this._group.remove(this), this._isPlaying = !1, this._isPaused = !1, this._onStopCallback && this._onStopCallback(this._object), this) : this;
33529
+ }, s.prototype.end = function() {
33530
+ return this._goToEnd = !0, this.update(1 / 0), this;
33531
+ }, s.prototype.pause = function(e) {
33532
+ return e === void 0 && (e = ho()), this._isPaused || !this._isPlaying ? this : (this._isPaused = !0, this._pauseStart = e, this._group && this._group.remove(this), this);
33533
+ }, s.prototype.resume = function(e) {
33534
+ return e === void 0 && (e = ho()), !this._isPaused || !this._isPlaying ? this : (this._isPaused = !1, this._startTime += e - this._pauseStart, this._pauseStart = 0, this._group && this._group.add(this), this);
33535
+ }, s.prototype.stopChainedTweens = function() {
33536
+ for (var e = 0, t = this._chainedTweens.length; e < t; e++)
33537
+ this._chainedTweens[e].stop();
33538
+ return this;
33539
+ }, s.prototype.group = function(e) {
33540
+ return e === void 0 && (e = td), this._group = e, this;
33541
+ }, s.prototype.delay = function(e) {
33542
+ return e === void 0 && (e = 0), this._delayTime = e, this;
33543
+ }, s.prototype.repeat = function(e) {
33544
+ return e === void 0 && (e = 0), this._initialRepeat = e, this._repeat = e, this;
33545
+ }, s.prototype.repeatDelay = function(e) {
33546
+ return this._repeatDelayTime = e, this;
33547
+ }, s.prototype.yoyo = function(e) {
33548
+ return e === void 0 && (e = !1), this._yoyo = e, this;
33549
+ }, s.prototype.easing = function(e) {
33550
+ return e === void 0 && (e = Aa.Linear.None), this._easingFunction = e, this;
33551
+ }, s.prototype.interpolation = function(e) {
33552
+ return e === void 0 && (e = ed.Linear), this._interpolationFunction = e, this;
33553
+ }, s.prototype.chain = function() {
33554
+ for (var e = [], t = 0; t < arguments.length; t++)
33555
+ e[t] = arguments[t];
33556
+ return this._chainedTweens = e, this;
33557
+ }, s.prototype.onStart = function(e) {
33558
+ return this._onStartCallback = e, this;
33559
+ }, s.prototype.onEveryStart = function(e) {
33560
+ return this._onEveryStartCallback = e, this;
33561
+ }, s.prototype.onUpdate = function(e) {
33562
+ return this._onUpdateCallback = e, this;
33563
+ }, s.prototype.onRepeat = function(e) {
33564
+ return this._onRepeatCallback = e, this;
33565
+ }, s.prototype.onComplete = function(e) {
33566
+ return this._onCompleteCallback = e, this;
33567
+ }, s.prototype.onStop = function(e) {
33568
+ return this._onStopCallback = e, this;
33569
+ }, s.prototype.update = function(e, t) {
33570
+ var n = this, i;
33571
+ if (e === void 0 && (e = ho()), t === void 0 && (t = !0), this._isPaused)
33572
+ return !0;
33573
+ var r, a = this._startTime + this._duration;
33574
+ if (!this._goToEnd && !this._isPlaying) {
33575
+ if (e > a)
33576
+ return !1;
33577
+ t && this.start(e, !0);
33578
+ }
33579
+ if (this._goToEnd = !1, e < this._startTime)
33580
+ return !0;
33581
+ this._onStartCallbackFired === !1 && (this._onStartCallback && this._onStartCallback(this._object), this._onStartCallbackFired = !0), this._onEveryStartCallbackFired === !1 && (this._onEveryStartCallback && this._onEveryStartCallback(this._object), this._onEveryStartCallbackFired = !0);
33582
+ var o = e - this._startTime, c = this._duration + ((i = this._repeatDelayTime) !== null && i !== void 0 ? i : this._delayTime), l = this._duration + this._repeat * c, h = function() {
33583
+ if (n._duration === 0 || o > l)
33584
+ return 1;
33585
+ var g = Math.trunc(o / c), A = o - g * c, m = Math.min(A / n._duration, 1);
33586
+ return m === 0 && o === n._duration ? 1 : m;
33587
+ }, u = h(), f = this._easingFunction(u);
33588
+ if (this._updateProperties(this._object, this._valuesStart, this._valuesEnd, f), this._onUpdateCallback && this._onUpdateCallback(this._object, u), this._duration === 0 || o >= this._duration)
33589
+ if (this._repeat > 0) {
33590
+ var d = Math.min(Math.trunc((o - this._duration) / c) + 1, this._repeat);
33591
+ isFinite(this._repeat) && (this._repeat -= d);
33592
+ for (r in this._valuesStartRepeat)
33593
+ !this._yoyo && typeof this._valuesEnd[r] == "string" && (this._valuesStartRepeat[r] = // eslint-disable-next-line
33594
+ // @ts-ignore FIXME?
33595
+ this._valuesStartRepeat[r] + parseFloat(this._valuesEnd[r])), this._yoyo && this._swapEndStartRepeatValues(r), this._valuesStart[r] = this._valuesStartRepeat[r];
33596
+ return this._yoyo && (this._reversed = !this._reversed), this._startTime += c * d, this._onRepeatCallback && this._onRepeatCallback(this._object), this._onEveryStartCallbackFired = !1, !0;
33597
+ } else {
33598
+ this._onCompleteCallback && this._onCompleteCallback(this._object);
33599
+ for (var p = 0, b = this._chainedTweens.length; p < b; p++)
33600
+ this._chainedTweens[p].start(this._startTime + this._duration, !1);
33601
+ return this._isPlaying = !1, !1;
33602
+ }
33603
+ return !0;
33604
+ }, s.prototype._updateProperties = function(e, t, n, i) {
33605
+ for (var r in n)
33606
+ if (t[r] !== void 0) {
33607
+ var a = t[r] || 0, o = n[r], c = Array.isArray(e[r]), l = Array.isArray(o), h = !c && l;
33608
+ h ? e[r] = this._interpolationFunction(o, i) : typeof o == "object" && o ? this._updateProperties(e[r], a, o, i) : (o = this._handleRelativeValue(a, o), typeof o == "number" && (e[r] = a + (o - a) * i));
33609
+ }
33610
+ }, s.prototype._handleRelativeValue = function(e, t) {
33611
+ return typeof t != "string" ? t : t.charAt(0) === "+" || t.charAt(0) === "-" ? e + parseFloat(t) : parseFloat(t);
33612
+ }, s.prototype._swapEndStartRepeatValues = function(e) {
33613
+ var t = this._valuesStartRepeat[e], n = this._valuesEnd[e];
33614
+ typeof n == "string" ? this._valuesStartRepeat[e] = this._valuesStartRepeat[e] + parseFloat(n) : this._valuesStartRepeat[e] = this._valuesEnd[e], this._valuesEnd[e] = t;
33615
+ }, s;
33616
+ })()
33617
+ );
33618
+ k0.nextId;
33619
+ var Mi = td;
33620
+ Mi.getAll.bind(Mi);
33621
+ Mi.removeAll.bind(Mi);
33622
+ Mi.add.bind(Mi);
33623
+ Mi.remove.bind(Mi);
33624
+ Mi.update.bind(Mi);
33625
+ var W1 = {
33626
+ Easing: Aa,
33627
+ Tween: RC
33628
+ };
33629
+ function q1(s, e = !1) {
33630
+ const t = s[0].index !== null, n = new Set(Object.keys(s[0].attributes)), i = new Set(Object.keys(s[0].morphAttributes)), r = {}, a = {}, o = s[0].morphTargetsRelative, c = new Ve();
33631
+ let l = 0;
33632
+ for (let h = 0; h < s.length; ++h) {
33633
+ const u = s[h];
33634
+ let f = 0;
33635
+ if (t !== (u.index !== null))
33636
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."), null;
33637
+ for (const d in u.attributes) {
33638
+ if (!n.has(d))
33639
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + '. All geometries must have compatible attributes; make sure "' + d + '" attribute exists among all geometries, or in none of them.'), null;
33640
+ r[d] === void 0 && (r[d] = []), r[d].push(u.attributes[d]), f++;
33641
+ }
33642
+ if (f !== n.size)
33643
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". Make sure all geometries have the same number of attributes."), null;
33644
+ if (o !== u.morphTargetsRelative)
33645
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". .morphTargetsRelative must be consistent throughout all geometries."), null;
33646
+ for (const d in u.morphAttributes) {
33647
+ if (!i.has(d))
33648
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". .morphAttributes must be consistent throughout all geometries."), null;
33649
+ a[d] === void 0 && (a[d] = []), a[d].push(u.morphAttributes[d]);
33650
+ }
33651
+ if (e) {
33652
+ let d;
33653
+ if (t)
33654
+ d = u.index.count;
33655
+ else if (u.attributes.position !== void 0)
33656
+ d = u.attributes.position.count;
33657
+ else
33658
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". The geometry must have either an index or a position attribute"), null;
33659
+ c.addGroup(l, d, h), l += d;
33660
+ }
33661
+ }
33662
+ if (t) {
33663
+ let h = 0;
33664
+ const u = [];
33665
+ for (let f = 0; f < s.length; ++f) {
33666
+ const d = s[f].index;
33667
+ for (let p = 0; p < d.count; ++p)
33668
+ u.push(d.getX(p) + h);
33669
+ h += s[f].attributes.position.count;
33670
+ }
33671
+ c.setIndex(u);
33672
+ }
33673
+ for (const h in r) {
33674
+ const u = KA(r[h]);
33675
+ if (!u)
33676
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + h + " attribute."), null;
33677
+ c.setAttribute(h, u);
33678
+ }
33679
+ for (const h in a) {
33680
+ const u = a[h][0].length;
33681
+ if (u === 0) break;
33682
+ c.morphAttributes = c.morphAttributes || {}, c.morphAttributes[h] = [];
33683
+ for (let f = 0; f < u; ++f) {
33684
+ const d = [];
33685
+ for (let b = 0; b < a[h].length; ++b)
33686
+ d.push(a[h][b][f]);
33687
+ const p = KA(d);
33688
+ if (!p)
33689
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + h + " morphAttribute."), null;
33690
+ c.morphAttributes[h].push(p);
33691
+ }
33692
+ }
33693
+ return c;
33694
+ }
33695
+ function KA(s) {
33696
+ let e, t, n, i = -1, r = 0;
33697
+ for (let l = 0; l < s.length; ++l) {
33698
+ const h = s[l];
33699
+ if (e === void 0 && (e = h.array.constructor), e !== h.array.constructor)
33700
+ return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."), null;
33701
+ if (t === void 0 && (t = h.itemSize), t !== h.itemSize)
33702
+ return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."), null;
33703
+ if (n === void 0 && (n = h.normalized), n !== h.normalized)
33704
+ return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."), null;
33705
+ if (i === -1 && (i = h.gpuType), i !== h.gpuType)
33706
+ return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."), null;
33707
+ r += h.count * t;
33708
+ }
33709
+ const a = new e(r), o = new ot(a, t, n);
33710
+ let c = 0;
33711
+ for (let l = 0; l < s.length; ++l) {
33712
+ const h = s[l];
33713
+ if (h.isInterleavedBufferAttribute) {
33714
+ const u = c / t;
33715
+ for (let f = 0, d = h.count; f < d; f++)
33716
+ for (let p = 0; p < t; p++) {
33717
+ const b = h.getComponent(f, p);
33718
+ o.setComponent(f + u, p, b);
33719
+ }
33720
+ } else
33721
+ a.set(h.array, c);
33722
+ c += h.count * t;
33723
+ }
33724
+ return i !== void 0 && (o.gpuType = i), o;
33725
+ }
33726
+ function YA(s, e) {
33727
+ if (e === Em)
33728
+ return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), s;
33729
+ if (e === uh || e === yd) {
33730
+ let t = s.getIndex();
33731
+ if (t === null) {
33732
+ const a = [], o = s.getAttribute("position");
33733
+ if (o !== void 0) {
33734
+ for (let c = 0; c < o.count; c++)
33735
+ a.push(c);
33736
+ s.setIndex(a), t = s.getIndex();
33737
+ } else
33738
+ return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), s;
33739
+ }
33740
+ const n = t.count - 2, i = [];
33741
+ if (e === uh)
33742
+ for (let a = 1; a <= n; a++)
33743
+ i.push(t.getX(0)), i.push(t.getX(a)), i.push(t.getX(a + 1));
33744
+ else
33745
+ for (let a = 0; a < n; a++)
33746
+ a % 2 === 0 ? (i.push(t.getX(a)), i.push(t.getX(a + 1)), i.push(t.getX(a + 2))) : (i.push(t.getX(a + 2)), i.push(t.getX(a + 1)), i.push(t.getX(a)));
33747
+ i.length / 3 !== n && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
33748
+ const r = s.clone();
33749
+ return r.setIndex(i), r.clearGroups(), r;
33750
+ } else
33751
+ return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", e), s;
33752
+ }
33753
+ function DC(s) {
33754
+ const e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = s.clone();
33755
+ return Q0(s, n, function(i, r) {
33756
+ e.set(r, i), t.set(i, r);
33757
+ }), n.traverse(function(i) {
33758
+ if (!i.isSkinnedMesh) return;
33759
+ const r = i, a = e.get(i), o = a.skeleton.bones;
33760
+ r.skeleton = a.skeleton.clone(), r.bindMatrix.copy(a.bindMatrix), r.skeleton.bones = o.map(function(c) {
33761
+ return t.get(c);
33762
+ }), r.bind(r.skeleton, r.bindMatrix);
33763
+ }), n;
33764
+ }
33765
+ function Q0(s, e, t) {
33766
+ t(s, e);
33767
+ for (let n = 0; n < s.children.length; n++)
33768
+ Q0(s.children[n], e.children[n], t);
33769
+ }
33770
+ class X1 extends rn {
33771
+ /**
33772
+ * Constructs a new glTF loader.
33773
+ *
33774
+ * @param {LoadingManager} [manager] - The loading manager.
33775
+ */
33776
+ constructor(e) {
33777
+ super(e), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(t) {
33778
+ return new UC(t);
33779
+ }), this.register(function(t) {
33780
+ return new OC(t);
33781
+ }), this.register(function(t) {
33782
+ return new XC(t);
33783
+ }), this.register(function(t) {
33784
+ return new jC(t);
33785
+ }), this.register(function(t) {
33786
+ return new KC(t);
33787
+ }), this.register(function(t) {
33788
+ return new QC(t);
33789
+ }), this.register(function(t) {
33790
+ return new GC(t);
33791
+ }), this.register(function(t) {
33792
+ return new zC(t);
33793
+ }), this.register(function(t) {
33794
+ return new HC(t);
33795
+ }), this.register(function(t) {
33796
+ return new NC(t);
33797
+ }), this.register(function(t) {
33798
+ return new VC(t);
33799
+ }), this.register(function(t) {
33800
+ return new kC(t);
33801
+ }), this.register(function(t) {
33802
+ return new qC(t);
33803
+ }), this.register(function(t) {
33804
+ return new WC(t);
33805
+ }), this.register(function(t) {
33806
+ return new LC(t);
33807
+ }), this.register(function(t) {
33808
+ return new JA(t, rt.EXT_MESHOPT_COMPRESSION);
33809
+ }), this.register(function(t) {
33810
+ return new JA(t, rt.KHR_MESHOPT_COMPRESSION);
33811
+ }), this.register(function(t) {
33812
+ return new YC(t);
33813
+ });
33814
+ }
33815
+ /**
33816
+ * Starts loading from the given URL and passes the loaded glTF asset
33817
+ * to the `onLoad()` callback.
33818
+ *
33819
+ * @param {string} url - The path/URL of the file to be loaded. This can also be a data URI.
33820
+ * @param {function(GLTFLoader~LoadObject)} onLoad - Executed when the loading process has been finished.
33821
+ * @param {onProgressCallback} onProgress - Executed while the loading is in progress.
33822
+ * @param {onErrorCallback} onError - Executed when errors occur.
33823
+ */
33824
+ load(e, t, n, i) {
33825
+ const r = this;
33826
+ let a;
33827
+ if (this.resourcePath !== "")
33828
+ a = this.resourcePath;
33829
+ else if (this.path !== "") {
33830
+ const l = ys.extractUrlBase(e);
33831
+ a = ys.resolveURL(l, this.path);
33832
+ } else
33833
+ a = ys.extractUrlBase(e);
33834
+ this.manager.itemStart(e);
33835
+ const o = function(l) {
33836
+ i ? i(l) : console.error(l), r.manager.itemError(e), r.manager.itemEnd(e);
33837
+ }, c = new ln(this.manager);
33838
+ c.setPath(this.path), c.setResponseType("arraybuffer"), c.setRequestHeader(this.requestHeader), c.setWithCredentials(this.withCredentials), c.load(e, function(l) {
33839
+ try {
33840
+ r.parse(l, a, function(h) {
33841
+ t(h), r.manager.itemEnd(e);
33842
+ }, o);
33843
+ } catch (h) {
33844
+ o(h);
33845
+ }
33846
+ }, n, o);
33847
+ }
33848
+ /**
33849
+ * Sets the given Draco loader to this loader. Required for decoding assets
33850
+ * compressed with the `KHR_draco_mesh_compression` extension.
33851
+ *
33852
+ * @param {DRACOLoader} dracoLoader - The Draco loader to set.
33853
+ * @return {GLTFLoader} A reference to this loader.
33854
+ */
33855
+ setDRACOLoader(e) {
33856
+ return this.dracoLoader = e, this;
33857
+ }
33858
+ /**
33859
+ * Sets the given KTX2 loader to this loader. Required for loading KTX2
33860
+ * compressed textures.
33861
+ *
33862
+ * @param {KTX2Loader} ktx2Loader - The KTX2 loader to set.
33863
+ * @return {GLTFLoader} A reference to this loader.
33864
+ */
33865
+ setKTX2Loader(e) {
33866
+ return this.ktx2Loader = e, this;
33867
+ }
33868
+ /**
33869
+ * Sets the given meshopt decoder. Required for decoding assets
33870
+ * compressed with the `EXT_meshopt_compression` extension.
33871
+ *
33872
+ * @param {Object} meshoptDecoder - The meshopt decoder to set.
33873
+ * @return {GLTFLoader} A reference to this loader.
33874
+ */
33875
+ setMeshoptDecoder(e) {
33876
+ return this.meshoptDecoder = e, this;
33877
+ }
33878
+ /**
33879
+ * Registers a plugin callback. This API is internally used to implement the various
33880
+ * glTF extensions but can also used by third-party code to add additional logic
33881
+ * to the loader.
33882
+ *
33883
+ * @param {function(parser:GLTFParser)} callback - The callback function to register.
33884
+ * @return {GLTFLoader} A reference to this loader.
33885
+ */
33886
+ register(e) {
33887
+ return this.pluginCallbacks.indexOf(e) === -1 && this.pluginCallbacks.push(e), this;
33888
+ }
33889
+ /**
33890
+ * Unregisters a plugin callback.
33891
+ *
33892
+ * @param {Function} callback - The callback function to unregister.
33893
+ * @return {GLTFLoader} A reference to this loader.
33894
+ */
33895
+ unregister(e) {
33896
+ return this.pluginCallbacks.indexOf(e) !== -1 && this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e), 1), this;
33897
+ }
33898
+ /**
33899
+ * Parses the given glTF data and returns the resulting group.
33900
+ *
33901
+ * @param {string|ArrayBuffer} data - The raw glTF data.
33902
+ * @param {string} path - The URL base path.
33903
+ * @param {function(GLTFLoader~LoadObject)} onLoad - Executed when the loading process has been finished.
33904
+ * @param {onErrorCallback} onError - Executed when errors occur.
33905
+ */
33906
+ parse(e, t, n, i) {
33907
+ let r;
33908
+ const a = {}, o = {}, c = new TextDecoder();
33909
+ if (typeof e == "string")
33910
+ r = JSON.parse(e);
33911
+ else if (e instanceof ArrayBuffer)
33912
+ if (c.decode(new Uint8Array(e, 0, 4)) === G0) {
33913
+ try {
33914
+ a[rt.KHR_BINARY_GLTF] = new JC(e);
33915
+ } catch (u) {
33916
+ i && i(u);
33917
+ return;
33918
+ }
33919
+ r = JSON.parse(a[rt.KHR_BINARY_GLTF].content);
33920
+ } else
33921
+ r = JSON.parse(c.decode(e));
33922
+ else
33923
+ r = e;
33924
+ if (r.asset === void 0 || r.asset.version[0] < 2) {
33925
+ i && i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
33926
+ return;
33927
+ }
33928
+ const l = new hw(r, {
33929
+ path: t || this.resourcePath || "",
33930
+ crossOrigin: this.crossOrigin,
33931
+ requestHeader: this.requestHeader,
33932
+ manager: this.manager,
33933
+ ktx2Loader: this.ktx2Loader,
33934
+ meshoptDecoder: this.meshoptDecoder
33935
+ });
33936
+ l.fileLoader.setRequestHeader(this.requestHeader);
33937
+ for (let h = 0; h < this.pluginCallbacks.length; h++) {
33938
+ const u = this.pluginCallbacks[h](l);
33939
+ u.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), o[u.name] = u, a[u.name] = !0;
33940
+ }
33941
+ if (r.extensionsUsed)
33942
+ for (let h = 0; h < r.extensionsUsed.length; ++h) {
33943
+ const u = r.extensionsUsed[h], f = r.extensionsRequired || [];
33944
+ switch (u) {
33945
+ case rt.KHR_MATERIALS_UNLIT:
33946
+ a[u] = new FC();
33947
+ break;
33948
+ case rt.KHR_DRACO_MESH_COMPRESSION:
33949
+ a[u] = new ZC(r, this.dracoLoader);
33950
+ break;
33951
+ case rt.KHR_TEXTURE_TRANSFORM:
33952
+ a[u] = new $C();
33953
+ break;
33954
+ case rt.KHR_MESH_QUANTIZATION:
33955
+ a[u] = new ew();
33956
+ break;
33957
+ default:
33958
+ f.indexOf(u) >= 0 && o[u] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + u + '".');
33959
+ }
33960
+ }
33961
+ l.setExtensions(a), l.setPlugins(o), l.parse(n, i);
33962
+ }
33963
+ /**
33589
33964
  * Async version of {@link GLTFLoader#parse}.
33590
33965
  *
33591
33966
  * @async
@@ -33600,7 +33975,7 @@ class q1 extends rn {
33600
33975
  });
33601
33976
  }
33602
33977
  }
33603
- function RC() {
33978
+ function PC() {
33604
33979
  let s = {};
33605
33980
  return {
33606
33981
  get: function(e) {
@@ -33646,7 +34021,7 @@ const rt = {
33646
34021
  KHR_MESHOPT_COMPRESSION: "KHR_meshopt_compression",
33647
34022
  EXT_MESH_GPU_INSTANCING: "EXT_mesh_gpu_instancing"
33648
34023
  };
33649
- class DC {
34024
+ class LC {
33650
34025
  constructor(e) {
33651
34026
  this.parser = e, this.name = rt.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
33652
34027
  }
@@ -33692,7 +34067,7 @@ class DC {
33692
34067
  });
33693
34068
  }
33694
34069
  }
33695
- class PC {
34070
+ class FC {
33696
34071
  constructor() {
33697
34072
  this.name = rt.KHR_MATERIALS_UNLIT;
33698
34073
  }
@@ -33713,7 +34088,7 @@ class PC {
33713
34088
  return Promise.all(i);
33714
34089
  }
33715
34090
  }
33716
- class LC {
34091
+ class NC {
33717
34092
  constructor(e) {
33718
34093
  this.parser = e, this.name = rt.KHR_MATERIALS_EMISSIVE_STRENGTH;
33719
34094
  }
@@ -33722,7 +34097,7 @@ class LC {
33722
34097
  return n === null || n.emissiveStrength !== void 0 && (t.emissiveIntensity = n.emissiveStrength), Promise.resolve();
33723
34098
  }
33724
34099
  }
33725
- class FC {
34100
+ class UC {
33726
34101
  constructor(e) {
33727
34102
  this.parser = e, this.name = rt.KHR_MATERIALS_CLEARCOAT;
33728
34103
  }
@@ -33740,7 +34115,7 @@ class FC {
33740
34115
  return Promise.all(i);
33741
34116
  }
33742
34117
  }
33743
- class NC {
34118
+ class OC {
33744
34119
  constructor(e) {
33745
34120
  this.parser = e, this.name = rt.KHR_MATERIALS_DISPERSION;
33746
34121
  }
@@ -33752,7 +34127,7 @@ class NC {
33752
34127
  return n === null || (t.dispersion = n.dispersion !== void 0 ? n.dispersion : 0), Promise.resolve();
33753
34128
  }
33754
34129
  }
33755
- class UC {
34130
+ class kC {
33756
34131
  constructor(e) {
33757
34132
  this.parser = e, this.name = rt.KHR_MATERIALS_IRIDESCENCE;
33758
34133
  }
@@ -33766,7 +34141,7 @@ class UC {
33766
34141
  return n.iridescenceFactor !== void 0 && (t.iridescence = n.iridescenceFactor), n.iridescenceTexture !== void 0 && i.push(this.parser.assignTexture(t, "iridescenceMap", n.iridescenceTexture)), n.iridescenceIor !== void 0 && (t.iridescenceIOR = n.iridescenceIor), t.iridescenceThicknessRange === void 0 && (t.iridescenceThicknessRange = [100, 400]), n.iridescenceThicknessMinimum !== void 0 && (t.iridescenceThicknessRange[0] = n.iridescenceThicknessMinimum), n.iridescenceThicknessMaximum !== void 0 && (t.iridescenceThicknessRange[1] = n.iridescenceThicknessMaximum), n.iridescenceThicknessTexture !== void 0 && i.push(this.parser.assignTexture(t, "iridescenceThicknessMap", n.iridescenceThicknessTexture)), Promise.all(i);
33767
34142
  }
33768
34143
  }
33769
- class OC {
34144
+ class QC {
33770
34145
  constructor(e) {
33771
34146
  this.parser = e, this.name = rt.KHR_MATERIALS_SHEEN;
33772
34147
  }
@@ -33784,7 +34159,7 @@ class OC {
33784
34159
  return n.sheenRoughnessFactor !== void 0 && (t.sheenRoughness = n.sheenRoughnessFactor), n.sheenColorTexture !== void 0 && i.push(this.parser.assignTexture(t, "sheenColorMap", n.sheenColorTexture, wt)), n.sheenRoughnessTexture !== void 0 && i.push(this.parser.assignTexture(t, "sheenRoughnessMap", n.sheenRoughnessTexture)), Promise.all(i);
33785
34160
  }
33786
34161
  }
33787
- class kC {
34162
+ class GC {
33788
34163
  constructor(e) {
33789
34164
  this.parser = e, this.name = rt.KHR_MATERIALS_TRANSMISSION;
33790
34165
  }
@@ -33798,7 +34173,7 @@ class kC {
33798
34173
  return n.transmissionFactor !== void 0 && (t.transmission = n.transmissionFactor), n.transmissionTexture !== void 0 && i.push(this.parser.assignTexture(t, "transmissionMap", n.transmissionTexture)), Promise.all(i);
33799
34174
  }
33800
34175
  }
33801
- class QC {
34176
+ class zC {
33802
34177
  constructor(e) {
33803
34178
  this.parser = e, this.name = rt.KHR_MATERIALS_VOLUME;
33804
34179
  }
@@ -33814,7 +34189,7 @@ class QC {
33814
34189
  return t.attenuationColor = new Ae().setRGB(r[0], r[1], r[2], Jt), Promise.all(i);
33815
34190
  }
33816
34191
  }
33817
- class GC {
34192
+ class HC {
33818
34193
  constructor(e) {
33819
34194
  this.parser = e, this.name = rt.KHR_MATERIALS_IOR;
33820
34195
  }
@@ -33826,7 +34201,7 @@ class GC {
33826
34201
  return n === null || (t.ior = n.ior !== void 0 ? n.ior : 1.5), Promise.resolve();
33827
34202
  }
33828
34203
  }
33829
- class zC {
34204
+ class VC {
33830
34205
  constructor(e) {
33831
34206
  this.parser = e, this.name = rt.KHR_MATERIALS_SPECULAR;
33832
34207
  }
@@ -33842,7 +34217,7 @@ class zC {
33842
34217
  return t.specularColor = new Ae().setRGB(r[0], r[1], r[2], Jt), n.specularColorTexture !== void 0 && i.push(this.parser.assignTexture(t, "specularColorMap", n.specularColorTexture, wt)), Promise.all(i);
33843
34218
  }
33844
34219
  }
33845
- class HC {
34220
+ class WC {
33846
34221
  constructor(e) {
33847
34222
  this.parser = e, this.name = rt.EXT_MATERIALS_BUMP;
33848
34223
  }
@@ -33856,7 +34231,7 @@ class HC {
33856
34231
  return t.bumpScale = n.bumpFactor !== void 0 ? n.bumpFactor : 1, n.bumpTexture !== void 0 && i.push(this.parser.assignTexture(t, "bumpMap", n.bumpTexture)), Promise.all(i);
33857
34232
  }
33858
34233
  }
33859
- class VC {
34234
+ class qC {
33860
34235
  constructor(e) {
33861
34236
  this.parser = e, this.name = rt.KHR_MATERIALS_ANISOTROPY;
33862
34237
  }
@@ -33870,7 +34245,7 @@ class VC {
33870
34245
  return n.anisotropyStrength !== void 0 && (t.anisotropy = n.anisotropyStrength), n.anisotropyRotation !== void 0 && (t.anisotropyRotation = n.anisotropyRotation), n.anisotropyTexture !== void 0 && i.push(this.parser.assignTexture(t, "anisotropyMap", n.anisotropyTexture)), Promise.all(i);
33871
34246
  }
33872
34247
  }
33873
- class WC {
34248
+ class XC {
33874
34249
  constructor(e) {
33875
34250
  this.parser = e, this.name = rt.KHR_TEXTURE_BASISU;
33876
34251
  }
@@ -33887,7 +34262,7 @@ class WC {
33887
34262
  return t.loadTextureImage(e, r.source, a);
33888
34263
  }
33889
34264
  }
33890
- class qC {
34265
+ class jC {
33891
34266
  constructor(e) {
33892
34267
  this.parser = e, this.name = rt.EXT_TEXTURE_WEBP;
33893
34268
  }
@@ -33904,7 +34279,7 @@ class qC {
33904
34279
  return n.loadTextureImage(e, a.source, c);
33905
34280
  }
33906
34281
  }
33907
- class XC {
34282
+ class KC {
33908
34283
  constructor(e) {
33909
34284
  this.parser = e, this.name = rt.EXT_TEXTURE_AVIF;
33910
34285
  }
@@ -33947,7 +34322,7 @@ class JA {
33947
34322
  return null;
33948
34323
  }
33949
34324
  }
33950
- class jC {
34325
+ class YC {
33951
34326
  constructor(e) {
33952
34327
  this.name = rt.EXT_MESH_GPU_INSTANCING, this.parser = e;
33953
34328
  }
@@ -33979,8 +34354,8 @@ class jC {
33979
34354
  }));
33980
34355
  }
33981
34356
  }
33982
- const Q0 = "glTF", ja = 12, ZA = { JSON: 1313821514, BIN: 5130562 };
33983
- class KC {
34357
+ const G0 = "glTF", ja = 12, ZA = { JSON: 1313821514, BIN: 5130562 };
34358
+ class JC {
33984
34359
  constructor(e) {
33985
34360
  this.name = rt.KHR_BINARY_GLTF, this.content = null, this.body = null;
33986
34361
  const t = new DataView(e, 0, ja), n = new TextDecoder();
@@ -33988,7 +34363,7 @@ class KC {
33988
34363
  magic: n.decode(new Uint8Array(e.slice(0, 4))),
33989
34364
  version: t.getUint32(4, !0),
33990
34365
  length: t.getUint32(8, !0)
33991
- }, this.header.magic !== Q0)
34366
+ }, this.header.magic !== G0)
33992
34367
  throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
33993
34368
  if (this.header.version < 2)
33994
34369
  throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
@@ -34011,7 +34386,7 @@ class KC {
34011
34386
  throw new Error("THREE.GLTFLoader: JSON content not found.");
34012
34387
  }
34013
34388
  }
34014
- class YC {
34389
+ class ZC {
34015
34390
  constructor(e, t) {
34016
34391
  if (!t)
34017
34392
  throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
@@ -34020,13 +34395,13 @@ class YC {
34020
34395
  decodePrimitive(e, t) {
34021
34396
  const n = this.json, i = this.dracoLoader, r = e.extensions[this.name].bufferView, a = e.extensions[this.name].attributes, o = {}, c = {}, l = {};
34022
34397
  for (const h in a) {
34023
- const u = ed[h] || h.toLowerCase();
34398
+ const u = nd[h] || h.toLowerCase();
34024
34399
  o[u] = a[h];
34025
34400
  }
34026
34401
  for (const h in e.attributes) {
34027
- const u = ed[h] || h.toLowerCase();
34402
+ const u = nd[h] || h.toLowerCase();
34028
34403
  if (a[h] !== void 0) {
34029
- const f = n.accessors[e.attributes[h]], d = Aa[f.componentType];
34404
+ const f = n.accessors[e.attributes[h]], d = ga[f.componentType];
34030
34405
  l[u] = d.name, c[u] = f.normalized === !0;
34031
34406
  }
34032
34407
  }
@@ -34043,7 +34418,7 @@ class YC {
34043
34418
  });
34044
34419
  }
34045
34420
  }
34046
- class JC {
34421
+ class $C {
34047
34422
  constructor() {
34048
34423
  this.name = rt.KHR_TEXTURE_TRANSFORM;
34049
34424
  }
@@ -34051,12 +34426,12 @@ class JC {
34051
34426
  return (t.texCoord === void 0 || t.texCoord === e.channel) && t.offset === void 0 && t.rotation === void 0 && t.scale === void 0 || (e = e.clone(), t.texCoord !== void 0 && (e.channel = t.texCoord), t.offset !== void 0 && e.offset.fromArray(t.offset), t.rotation !== void 0 && (e.rotation = t.rotation), t.scale !== void 0 && e.repeat.fromArray(t.scale), e.needsUpdate = !0), e;
34052
34427
  }
34053
34428
  }
34054
- class ZC {
34429
+ class ew {
34055
34430
  constructor() {
34056
34431
  this.name = rt.KHR_MESH_QUANTIZATION;
34057
34432
  }
34058
34433
  }
34059
- class G0 extends Mr {
34434
+ class z0 extends Mr {
34060
34435
  constructor(e, t, n, i) {
34061
34436
  super(e, t, n, i);
34062
34437
  }
@@ -34075,11 +34450,11 @@ class G0 extends Mr {
34075
34450
  return r;
34076
34451
  }
34077
34452
  }
34078
- const $C = new _t();
34079
- class ew extends G0 {
34453
+ const tw = new _t();
34454
+ class nw extends z0 {
34080
34455
  interpolate_(e, t, n, i) {
34081
34456
  const r = super.interpolate_(e, t, n, i);
34082
- return $C.fromArray(r).normalize().toArray(r), r;
34457
+ return tw.fromArray(r).normalize().toArray(r), r;
34083
34458
  }
34084
34459
  }
34085
34460
  const qn = {
@@ -34090,7 +34465,7 @@ const qn = {
34090
34465
  TRIANGLES: 4,
34091
34466
  TRIANGLE_STRIP: 5,
34092
34467
  TRIANGLE_FAN: 6
34093
- }, Aa = {
34468
+ }, ga = {
34094
34469
  5120: Int8Array,
34095
34470
  5121: Uint8Array,
34096
34471
  5122: Int16Array,
@@ -34116,7 +34491,7 @@ const qn = {
34116
34491
  MAT2: 4,
34117
34492
  MAT3: 9,
34118
34493
  MAT4: 16
34119
- }, ed = {
34494
+ }, nd = {
34120
34495
  POSITION: "position",
34121
34496
  NORMAL: "normal",
34122
34497
  TANGENT: "tangent",
@@ -34132,7 +34507,7 @@ const qn = {
34132
34507
  translation: "position",
34133
34508
  rotation: "quaternion",
34134
34509
  weights: "morphTargetInfluences"
34135
- }, tw = {
34510
+ }, iw = {
34136
34511
  CUBICSPLINE: void 0,
34137
34512
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
34138
34513
  // keyframe track will be initialized with a default interpolation type, then modified.
@@ -34143,7 +34518,7 @@ const qn = {
34143
34518
  MASK: "MASK",
34144
34519
  BLEND: "BLEND"
34145
34520
  };
34146
- function nw(s) {
34521
+ function sw(s) {
34147
34522
  return s.DefaultMaterial === void 0 && (s.DefaultMaterial = new ac({
34148
34523
  color: 16777215,
34149
34524
  emissive: 0,
@@ -34161,7 +34536,7 @@ function qs(s, e, t) {
34161
34536
  function xi(s, e) {
34162
34537
  e.extras !== void 0 && (typeof e.extras == "object" ? Object.assign(s.userData, e.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + e.extras));
34163
34538
  }
34164
- function iw(s, e, t) {
34539
+ function rw(s, e, t) {
34165
34540
  let n = !1, i = !1, r = !1;
34166
34541
  for (let l = 0, h = e.length; l < h; l++) {
34167
34542
  const u = e[l];
@@ -34193,7 +34568,7 @@ function iw(s, e, t) {
34193
34568
  return n && (s.morphAttributes.position = h), i && (s.morphAttributes.normal = u), r && (s.morphAttributes.color = f), s.morphTargetsRelative = !0, s;
34194
34569
  });
34195
34570
  }
34196
- function sw(s, e) {
34571
+ function aw(s, e) {
34197
34572
  if (s.updateMorphTargets(), e.weights !== void 0)
34198
34573
  for (let t = 0, n = e.weights.length; t < n; t++)
34199
34574
  s.morphTargetInfluences[t] = e.weights[t];
@@ -34207,7 +34582,7 @@ function sw(s, e) {
34207
34582
  console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
34208
34583
  }
34209
34584
  }
34210
- function rw(s) {
34585
+ function ow(s) {
34211
34586
  let e;
34212
34587
  const t = s.extensions && s.extensions[rt.KHR_DRACO_MESH_COMPRESSION];
34213
34588
  if (t ? e = "draco:" + t.bufferView + ":" + t.indices + ":" + nf(t.attributes) : e = s.indices + ":" + nf(s.attributes) + ":" + s.mode, s.targets !== void 0)
@@ -34222,7 +34597,7 @@ function nf(s) {
34222
34597
  e += t[n] + ":" + s[t[n]] + ";";
34223
34598
  return e;
34224
34599
  }
34225
- function td(s) {
34600
+ function id(s) {
34226
34601
  switch (s) {
34227
34602
  case Int8Array:
34228
34603
  return 1 / 127;
@@ -34236,13 +34611,13 @@ function td(s) {
34236
34611
  throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
34237
34612
  }
34238
34613
  }
34239
- function aw(s) {
34614
+ function cw(s) {
34240
34615
  return s.search(/\.jpe?g($|\?)/i) > 0 || s.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : s.search(/\.webp($|\?)/i) > 0 || s.search(/^data\:image\/webp/) === 0 ? "image/webp" : s.search(/\.ktx2($|\?)/i) > 0 || s.search(/^data\:image\/ktx2/) === 0 ? "image/ktx2" : "image/png";
34241
34616
  }
34242
- const ow = new ve();
34243
- class cw {
34617
+ const lw = new ve();
34618
+ class hw {
34244
34619
  constructor(e = {}, t = {}) {
34245
- this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new RC(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
34620
+ this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new PC(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
34246
34621
  let n = !1, i = -1, r = !1, a = -1;
34247
34622
  if (typeof navigator < "u" && typeof navigator.userAgent < "u") {
34248
34623
  const o = navigator.userAgent;
@@ -34490,12 +34865,12 @@ class cw {
34490
34865
  loadAccessor(e) {
34491
34866
  const t = this, n = this.json, i = this.json.accessors[e];
34492
34867
  if (i.bufferView === void 0 && i.sparse === void 0) {
34493
- const a = ef[i.type], o = Aa[i.componentType], c = i.normalized === !0, l = new o(i.count * a);
34868
+ const a = ef[i.type], o = ga[i.componentType], c = i.normalized === !0, l = new o(i.count * a);
34494
34869
  return Promise.resolve(new ot(l, a, c));
34495
34870
  }
34496
34871
  const r = [];
34497
34872
  return i.bufferView !== void 0 ? r.push(this.getDependency("bufferView", i.bufferView)) : r.push(null), i.sparse !== void 0 && (r.push(this.getDependency("bufferView", i.sparse.indices.bufferView)), r.push(this.getDependency("bufferView", i.sparse.values.bufferView))), Promise.all(r).then(function(a) {
34498
- const o = a[0], c = ef[i.type], l = Aa[i.componentType], h = l.BYTES_PER_ELEMENT, u = h * c, f = i.byteOffset || 0, d = i.bufferView !== void 0 ? n.bufferViews[i.bufferView].byteStride : void 0, p = i.normalized === !0;
34873
+ const o = a[0], c = ef[i.type], l = ga[i.componentType], h = l.BYTES_PER_ELEMENT, u = h * c, f = i.byteOffset || 0, d = i.bufferView !== void 0 ? n.bufferViews[i.bufferView].byteStride : void 0, p = i.normalized === !0;
34499
34874
  let b, g;
34500
34875
  if (d && d !== u) {
34501
34876
  const A = Math.floor(f / d), m = "InterleavedBuffer:" + i.bufferView + ":" + i.componentType + ":" + A + ":" + i.count;
@@ -34504,7 +34879,7 @@ class cw {
34504
34879
  } else
34505
34880
  o === null ? b = new l(i.count * c) : b = new l(o, f, i.count * c), g = new ot(b, c, p);
34506
34881
  if (i.sparse !== void 0) {
34507
- const A = ef.SCALAR, m = Aa[i.sparse.indices.componentType], x = i.sparse.indices.byteOffset || 0, _ = i.sparse.values.byteOffset || 0, v = new m(a[1], x, i.sparse.count * A), S = new l(a[2], _, i.sparse.count * c);
34882
+ const A = ef.SCALAR, m = ga[i.sparse.indices.componentType], x = i.sparse.indices.byteOffset || 0, _ = i.sparse.values.byteOffset || 0, v = new m(a[1], x, i.sparse.count * A), S = new l(a[2], _, i.sparse.count * c);
34508
34883
  o !== null && (g = new ot(g.array.slice(), g.itemSize, g.normalized)), g.normalized = !1;
34509
34884
  for (let I = 0, y = v.length; I < y; I++) {
34510
34885
  const E = v[I];
@@ -34567,7 +34942,7 @@ class cw {
34567
34942
  }), t.load(ys.resolveURL(u, r.path), p, void 0, d);
34568
34943
  });
34569
34944
  }).then(function(u) {
34570
- return l === !0 && o.revokeObjectURL(c), xi(u, a), u.userData.mimeType = a.mimeType || aw(a.uri), u;
34945
+ return l === !0 && o.revokeObjectURL(c), xi(u, a), u.userData.mimeType = a.mimeType || cw(a.uri), u;
34571
34946
  }).catch(function(u) {
34572
34947
  throw console.error("THREE.GLTFLoader: Couldn't load texture", c), u;
34573
34948
  });
@@ -34701,7 +35076,7 @@ class cw {
34701
35076
  }
34702
35077
  const a = [];
34703
35078
  for (let o = 0, c = e.length; o < c; o++) {
34704
- const l = e[o], h = rw(l), u = i[h];
35079
+ const l = e[o], h = ow(l), u = i[h];
34705
35080
  if (u)
34706
35081
  a.push(u.promise);
34707
35082
  else {
@@ -34721,7 +35096,7 @@ class cw {
34721
35096
  loadMesh(e) {
34722
35097
  const t = this, n = this.json, i = this.extensions, r = n.meshes[e], a = r.primitives, o = [];
34723
35098
  for (let c = 0, l = a.length; c < l; c++) {
34724
- const h = a[c].material === void 0 ? nw(this.cache) : this.getDependency("material", a[c].material);
35099
+ const h = a[c].material === void 0 ? sw(this.cache) : this.getDependency("material", a[c].material);
34725
35100
  o.push(h);
34726
35101
  }
34727
35102
  return o.push(t.loadGeometries(a)), Promise.all(o).then(function(c) {
@@ -34742,7 +35117,7 @@ class cw {
34742
35117
  A = new ic(b, m);
34743
35118
  else
34744
35119
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + g.mode);
34745
- Object.keys(A.geometry.morphAttributes).length > 0 && sw(A, r), A.name = t.createUniqueName(r.name || "mesh_" + e), xi(A, r), g.extensions && qs(i, A, g), t.assignFinalMaterial(A), u.push(A);
35120
+ Object.keys(A.geometry.morphAttributes).length > 0 && aw(A, r), A.name = t.createUniqueName(r.name || "mesh_" + e), xi(A, r), g.extensions && qs(i, A, g), t.assignFinalMaterial(A), u.push(A);
34746
35121
  }
34747
35122
  for (let d = 0, p = u.length; d < p; d++)
34748
35123
  t.associations.set(u[d], {
@@ -34863,7 +35238,7 @@ class cw {
34863
35238
  ]).then(function(l) {
34864
35239
  const h = l[0], u = l[1], f = l[2];
34865
35240
  f !== null && h.traverse(function(d) {
34866
- d.isSkinnedMesh && d.bind(f, ow);
35241
+ d.isSkinnedMesh && d.bind(f, lw);
34867
35242
  });
34868
35243
  for (let d = 0, p = u.length; d < p; d++)
34869
35244
  h.add(u[d]);
@@ -34924,7 +35299,7 @@ class cw {
34924
35299
  return Promise.all(o).then(function(c) {
34925
35300
  for (let h = 0, u = c.length; h < u; h++) {
34926
35301
  const f = c[h];
34927
- f.parent !== null ? r.add(BC(f)) : r.add(f);
35302
+ f.parent !== null ? r.add(DC(f)) : r.add(f);
34928
35303
  }
34929
35304
  const l = (h) => {
34930
35305
  const u = /* @__PURE__ */ new Map();
@@ -34968,7 +35343,7 @@ class cw {
34968
35343
  }
34969
35344
  break;
34970
35345
  }
34971
- const h = i.interpolation !== void 0 ? tw[i.interpolation] : Sa, u = this._getArrayFromAccessor(n);
35346
+ const h = i.interpolation !== void 0 ? iw[i.interpolation] : Sa, u = this._getArrayFromAccessor(n);
34972
35347
  for (let f = 0, d = c.length; f < d; f++) {
34973
35348
  const p = new l(
34974
35349
  c[f] + "." + os[r.path],
@@ -34983,7 +35358,7 @@ class cw {
34983
35358
  _getArrayFromAccessor(e) {
34984
35359
  let t = e.array;
34985
35360
  if (e.normalized) {
34986
- const n = td(t.constructor), i = new Float32Array(t.length);
35361
+ const n = id(t.constructor), i = new Float32Array(t.length);
34987
35362
  for (let r = 0, a = t.length; r < a; r++)
34988
35363
  i[r] = t[r] * n;
34989
35364
  t = i;
@@ -34992,12 +35367,12 @@ class cw {
34992
35367
  }
34993
35368
  _createCubicSplineTrackInterpolant(e) {
34994
35369
  e.createInterpolant = function(n) {
34995
- const i = this instanceof Er ? ew : G0;
35370
+ const i = this instanceof Er ? nw : z0;
34996
35371
  return new i(this.times, this.values, this.getValueSize() / 3, n);
34997
35372
  }, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
34998
35373
  }
34999
35374
  }
35000
- function lw(s, e, t) {
35375
+ function uw(s, e, t) {
35001
35376
  const n = e.attributes, i = new vt();
35002
35377
  if (n.POSITION !== void 0) {
35003
35378
  const o = t.json.accessors[n.POSITION], c = o.min, l = o.max;
@@ -35006,7 +35381,7 @@ function lw(s, e, t) {
35006
35381
  new T(c[0], c[1], c[2]),
35007
35382
  new T(l[0], l[1], l[2])
35008
35383
  ), o.normalized) {
35009
- const h = td(Aa[o.componentType]);
35384
+ const h = id(ga[o.componentType]);
35010
35385
  i.min.multiplyScalar(h), i.max.multiplyScalar(h);
35011
35386
  }
35012
35387
  } else {
@@ -35024,7 +35399,7 @@ function lw(s, e, t) {
35024
35399
  const f = t.json.accessors[u.POSITION], d = f.min, p = f.max;
35025
35400
  if (d !== void 0 && p !== void 0) {
35026
35401
  if (c.setX(Math.max(Math.abs(d[0]), Math.abs(p[0]))), c.setY(Math.max(Math.abs(d[1]), Math.abs(p[1]))), c.setZ(Math.max(Math.abs(d[2]), Math.abs(p[2]))), f.normalized) {
35027
- const b = td(Aa[f.componentType]);
35402
+ const b = id(ga[f.componentType]);
35028
35403
  c.multiplyScalar(b);
35029
35404
  }
35030
35405
  o.max(c);
@@ -35046,7 +35421,7 @@ function tg(s, e, t) {
35046
35421
  });
35047
35422
  }
35048
35423
  for (const a in n) {
35049
- const o = ed[a] || a.toLowerCase();
35424
+ const o = nd[a] || a.toLowerCase();
35050
35425
  o in s.attributes || i.push(r(n[a], o));
35051
35426
  }
35052
35427
  if (e.indices !== void 0 && !s.index) {
@@ -35055,8 +35430,8 @@ function tg(s, e, t) {
35055
35430
  });
35056
35431
  i.push(a);
35057
35432
  }
35058
- return nt.workingColorSpace !== Jt && "COLOR_0" in n && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${nt.workingColorSpace}" not supported.`), xi(s, e), lw(s, e, t), Promise.all(i).then(function() {
35059
- return e.targets !== void 0 ? iw(s, e.targets, t) : s;
35433
+ return nt.workingColorSpace !== Jt && "COLOR_0" in n && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${nt.workingColorSpace}" not supported.`), xi(s, e), uw(s, e, t), Promise.all(i).then(function() {
35434
+ return e.targets !== void 0 ? rw(s, e.targets, t) : s;
35060
35435
  });
35061
35436
  }
35062
35437
  const pr = {
@@ -35137,13 +35512,13 @@ class Br {
35137
35512
  dispose() {
35138
35513
  }
35139
35514
  }
35140
- const hw = new Tr(-1, 1, 1, -1, 0, 1);
35141
- class uw extends Ve {
35515
+ const fw = new Tr(-1, 1, 1, -1, 0, 1);
35516
+ class dw extends Ve {
35142
35517
  constructor() {
35143
35518
  super(), this.setAttribute("position", new Me([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)), this.setAttribute("uv", new Me([0, 2, 0, 0, 2, 0], 2));
35144
35519
  }
35145
35520
  }
35146
- const fw = new uw();
35521
+ const pw = new dw();
35147
35522
  class au {
35148
35523
  /**
35149
35524
  * Constructs a new full screen quad.
@@ -35151,7 +35526,7 @@ class au {
35151
35526
  * @param {?Material} material - The material to render te full screen quad with.
35152
35527
  */
35153
35528
  constructor(e) {
35154
- this._mesh = new pe(fw, e);
35529
+ this._mesh = new pe(pw, e);
35155
35530
  }
35156
35531
  /**
35157
35532
  * Frees the GPU-related resources allocated by this instance. Call this
@@ -35166,7 +35541,7 @@ class au {
35166
35541
  * @param {WebGLRenderer} renderer - The renderer.
35167
35542
  */
35168
35543
  render(e) {
35169
- e.render(this._mesh, hw);
35544
+ e.render(this._mesh, fw);
35170
35545
  }
35171
35546
  /**
35172
35547
  * The quad's material.
@@ -35180,7 +35555,7 @@ class au {
35180
35555
  this._mesh.material = e;
35181
35556
  }
35182
35557
  }
35183
- class dw extends Br {
35558
+ class Aw extends Br {
35184
35559
  /**
35185
35560
  * Constructs a new shader pass.
35186
35561
  *
@@ -35248,7 +35623,7 @@ class ng extends Br {
35248
35623
  this.inverse ? (a = 0, o = 1) : (a = 1, o = 0), r.buffers.stencil.setTest(!0), r.buffers.stencil.setOp(i.REPLACE, i.REPLACE, i.REPLACE), r.buffers.stencil.setFunc(i.ALWAYS, a, 4294967295), r.buffers.stencil.setClear(o), r.buffers.stencil.setLocked(!0), e.setRenderTarget(n), this.clear && e.clear(), e.render(this.scene, this.camera), e.setRenderTarget(t), this.clear && e.clear(), e.render(this.scene, this.camera), r.buffers.color.setLocked(!1), r.buffers.depth.setLocked(!1), r.buffers.color.setMask(!0), r.buffers.depth.setMask(!0), r.buffers.stencil.setLocked(!1), r.buffers.stencil.setFunc(i.EQUAL, 1, 4294967295), r.buffers.stencil.setOp(i.KEEP, i.KEEP, i.KEEP), r.buffers.stencil.setLocked(!0);
35249
35624
  }
35250
35625
  }
35251
- class pw extends Br {
35626
+ class gw extends Br {
35252
35627
  /**
35253
35628
  * Constructs a new clear mask pass.
35254
35629
  */
@@ -35270,7 +35645,7 @@ class pw extends Br {
35270
35645
  e.state.buffers.stencil.setLocked(!1), e.state.buffers.stencil.setTest(!1);
35271
35646
  }
35272
35647
  }
35273
- class X1 {
35648
+ class j1 {
35274
35649
  /**
35275
35650
  * Constructs a new effect composer.
35276
35651
  *
@@ -35285,7 +35660,7 @@ class X1 {
35285
35660
  this._width = n.width, this._height = n.height, t = new jt(this._width * this._pixelRatio, this._height * this._pixelRatio, { type: yt }), t.texture.name = "EffectComposer.rt1";
35286
35661
  } else
35287
35662
  this._width = t.width, this._height = t.height;
35288
- this.renderTarget1 = t, this.renderTarget2 = t.clone(), this.renderTarget2.texture.name = "EffectComposer.rt2", this.writeBuffer = this.renderTarget1, this.readBuffer = this.renderTarget2, this.renderToScreen = !0, this.passes = [], this.copyPass = new dw(pr), this.copyPass.material.blending = St, this.timer = new Yd();
35663
+ this.renderTarget1 = t, this.renderTarget2 = t.clone(), this.renderTarget2.texture.name = "EffectComposer.rt2", this.writeBuffer = this.renderTarget1, this.readBuffer = this.renderTarget2, this.renderToScreen = !0, this.passes = [], this.copyPass = new Aw(pr), this.copyPass.material.blending = St, this.timer = new Yd();
35289
35664
  }
35290
35665
  /**
35291
35666
  * Swaps the internal read/write buffers.
@@ -35352,7 +35727,7 @@ class X1 {
35352
35727
  }
35353
35728
  this.swapBuffers();
35354
35729
  }
35355
- ng !== void 0 && (a instanceof ng ? n = !0 : a instanceof pw && (n = !1));
35730
+ ng !== void 0 && (a instanceof ng ? n = !0 : a instanceof gw && (n = !1));
35356
35731
  }
35357
35732
  }
35358
35733
  this.renderer.setRenderTarget(t);
@@ -35401,7 +35776,7 @@ class X1 {
35401
35776
  this.renderTarget1.dispose(), this.renderTarget2.dispose(), this.copyPass.dispose();
35402
35777
  }
35403
35778
  }
35404
- class j1 extends Br {
35779
+ class K1 extends Br {
35405
35780
  /**
35406
35781
  * Constructs a new render pass.
35407
35782
  *
@@ -35738,8 +36113,8 @@ const tl = {
35738
36113
  }`
35739
36114
  )
35740
36115
  };
35741
- function Aw(s = 5) {
35742
- const e = Math.floor(s) % 2 === 0 ? Math.floor(s) + 1 : Math.floor(s), t = gw(e), n = t.length, i = new Uint8Array(n * 4);
36116
+ function mw(s = 5) {
36117
+ const e = Math.floor(s) % 2 === 0 ? Math.floor(s) + 1 : Math.floor(s), t = bw(e), n = t.length, i = new Uint8Array(n * 4);
35743
36118
  for (let a = 0; a < n; ++a) {
35744
36119
  const o = t[a], c = 2 * Math.PI * o / n, l = new T(
35745
36120
  Math.cos(c),
@@ -35751,7 +36126,7 @@ function Aw(s = 5) {
35751
36126
  const r = new wn(i, e, e);
35752
36127
  return r.wrapS = Ln, r.wrapT = Ln, r.needsUpdate = !0, r;
35753
36128
  }
35754
- function gw(s) {
36129
+ function bw(s) {
35755
36130
  const e = Math.floor(s) % 2 === 0 ? Math.floor(s) + 1 : Math.floor(s), t = e * e, n = Array(t).fill(0);
35756
36131
  let i = Math.floor(e / 2), r = e - 1;
35757
36132
  for (let a = 1; a <= t; ) {
@@ -35767,7 +36142,7 @@ function gw(s) {
35767
36142
  const il = {
35768
36143
  defines: {
35769
36144
  SAMPLES: 16,
35770
- SAMPLE_VECTORS: z0(16, 2, 1),
36145
+ SAMPLE_VECTORS: H0(16, 2, 1),
35771
36146
  NORMAL_VECTOR_TYPE: 1,
35772
36147
  DEPTH_VALUE_SOURCE: 0
35773
36148
  },
@@ -35942,8 +36317,8 @@ const il = {
35942
36317
  }`
35943
36318
  )
35944
36319
  };
35945
- function z0(s, e, t) {
35946
- const n = mw(
36320
+ function H0(s, e, t) {
36321
+ const n = xw(
35947
36322
  s,
35948
36323
  e,
35949
36324
  t
@@ -35955,7 +36330,7 @@ function z0(s, e, t) {
35955
36330
  }
35956
36331
  return i;
35957
36332
  }
35958
- function mw(s, e, t) {
36333
+ function xw(s, e, t) {
35959
36334
  const n = [];
35960
36335
  for (let i = 0; i < s; i++) {
35961
36336
  const r = 2 * Math.PI * e * i / s, a = Math.pow(i / (s - 1), t);
@@ -35963,7 +36338,7 @@ function mw(s, e, t) {
35963
36338
  }
35964
36339
  return n;
35965
36340
  }
35966
- class H0 {
36341
+ class V0 {
35967
36342
  /**
35968
36343
  * Constructs a new simplex noise object.
35969
36344
  *
@@ -36181,7 +36556,7 @@ class zi extends Br {
36181
36556
  * @param {Object} [pdParameters] - The denoise parameters.
36182
36557
  */
36183
36558
  constructor(e, t, n = 512, i = 512, r, a, o) {
36184
- super(), this.width = n, this.height = i, this.clear = !0, this.camera = t, this.scene = e, this.output = 0, this._renderGBuffer = !0, this._visibilityCache = [], this.blendIntensity = 1, this.pdRings = 2, this.pdRadiusExponent = 2, this.pdSamples = 16, this.gtaoNoiseTexture = Aw(), this.pdNoiseTexture = this._generateNoise(), this.gtaoRenderTarget = new jt(this.width, this.height, { type: yt }), this.pdRenderTarget = this.gtaoRenderTarget.clone(), this.gtaoMaterial = new It({
36559
+ super(), this.width = n, this.height = i, this.clear = !0, this.camera = t, this.scene = e, this.output = 0, this._renderGBuffer = !0, this._visibilityCache = [], this.blendIntensity = 1, this.pdRings = 2, this.pdRadiusExponent = 2, this.pdSamples = 16, this.gtaoNoiseTexture = mw(), this.pdNoiseTexture = this._generateNoise(), this.gtaoRenderTarget = new jt(this.width, this.height, { type: yt }), this.pdRenderTarget = this.gtaoRenderTarget.clone(), this.gtaoMaterial = new It({
36185
36560
  defines: Object.assign({}, tl.defines),
36186
36561
  uniforms: gn.clone(tl.uniforms),
36187
36562
  vertexShader: tl.vertexShader,
@@ -36298,7 +36673,7 @@ class zi extends Br {
36298
36673
  */
36299
36674
  updatePdMaterial(e) {
36300
36675
  let t = !1;
36301
- e.lumaPhi !== void 0 && (this.pdMaterial.uniforms.lumaPhi.value = e.lumaPhi), e.depthPhi !== void 0 && (this.pdMaterial.uniforms.depthPhi.value = e.depthPhi), e.normalPhi !== void 0 && (this.pdMaterial.uniforms.normalPhi.value = e.normalPhi), e.radius !== void 0 && e.radius !== this.radius && (this.pdMaterial.uniforms.radius.value = e.radius), e.radiusExponent !== void 0 && e.radiusExponent !== this.pdRadiusExponent && (this.pdRadiusExponent = e.radiusExponent, t = !0), e.rings !== void 0 && e.rings !== this.pdRings && (this.pdRings = e.rings, t = !0), e.samples !== void 0 && e.samples !== this.pdSamples && (this.pdSamples = e.samples, t = !0), t && (this.pdMaterial.defines.SAMPLES = this.pdSamples, this.pdMaterial.defines.SAMPLE_VECTORS = z0(this.pdSamples, this.pdRings, this.pdRadiusExponent), this.pdMaterial.needsUpdate = !0);
36676
+ e.lumaPhi !== void 0 && (this.pdMaterial.uniforms.lumaPhi.value = e.lumaPhi), e.depthPhi !== void 0 && (this.pdMaterial.uniforms.depthPhi.value = e.depthPhi), e.normalPhi !== void 0 && (this.pdMaterial.uniforms.normalPhi.value = e.normalPhi), e.radius !== void 0 && e.radius !== this.radius && (this.pdMaterial.uniforms.radius.value = e.radius), e.radiusExponent !== void 0 && e.radiusExponent !== this.pdRadiusExponent && (this.pdRadiusExponent = e.radiusExponent, t = !0), e.rings !== void 0 && e.rings !== this.pdRings && (this.pdRings = e.rings, t = !0), e.samples !== void 0 && e.samples !== this.pdSamples && (this.pdSamples = e.samples, t = !0), t && (this.pdMaterial.defines.SAMPLES = this.pdSamples, this.pdMaterial.defines.SAMPLE_VECTORS = H0(this.pdSamples, this.pdRings, this.pdRadiusExponent), this.pdMaterial.needsUpdate = !0);
36302
36677
  }
36303
36678
  /**
36304
36679
  * Performs the GTAO pass.
@@ -36361,7 +36736,7 @@ class zi extends Br {
36361
36736
  e.length = 0;
36362
36737
  }
36363
36738
  _generateNoise(e = 64) {
36364
- const t = new H0(), n = e * e * 4, i = new Uint8Array(n);
36739
+ const t = new V0(), n = e * e * 4, i = new Uint8Array(n);
36365
36740
  for (let a = 0; a < e; a++)
36366
36741
  for (let o = 0; o < e; o++) {
36367
36742
  const c = a, l = o;
@@ -36763,7 +37138,7 @@ class nr extends Br {
36763
37138
  }
36764
37139
  }
36765
37140
  _generateRandomKernelRotations() {
36766
- const n = new H0(), i = 16, r = new Float32Array(i);
37141
+ const n = new V0(), i = 16, r = new Float32Array(i);
36767
37142
  for (let a = 0; a < i; a++) {
36768
37143
  const o = Math.random() * 2 - 1, c = Math.random() * 2 - 1, l = 0;
36769
37144
  r[a] = n.noise3d(o, c, l);
@@ -36876,7 +37251,7 @@ const ol = {
36876
37251
  }`
36877
37252
  )
36878
37253
  };
36879
- class K1 extends Br {
37254
+ class Y1 extends Br {
36880
37255
  /**
36881
37256
  * Constructs a new output pass.
36882
37257
  */
@@ -36910,7 +37285,7 @@ class K1 extends Br {
36910
37285
  this.material.dispose(), this._fsQuad.dispose();
36911
37286
  }
36912
37287
  }
36913
- const Y1 = {
37288
+ const J1 = {
36914
37289
  name: "FXAAShader",
36915
37290
  uniforms: {
36916
37291
  tDiffuse: { value: null },
@@ -37186,7 +37561,7 @@ const Y1 = {
37186
37561
  }`
37187
37562
  )
37188
37563
  }, rf = /* @__PURE__ */ new WeakMap();
37189
- class J1 extends rn {
37564
+ class Z1 extends rn {
37190
37565
  /**
37191
37566
  * Constructs a new Draco loader.
37192
37567
  *
@@ -37329,7 +37704,7 @@ class J1 extends rn {
37329
37704
  return e ? t.push(this._loadLibrary("draco_decoder.js", "text")) : (t.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), t.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(t).then((n) => {
37330
37705
  const i = n[0];
37331
37706
  e || (this.decoderConfig.wasmBinary = n[1]);
37332
- const r = bw.toString(), a = [
37707
+ const r = _w.toString(), a = [
37333
37708
  "/* draco decoder */",
37334
37709
  i,
37335
37710
  "",
@@ -37377,7 +37752,7 @@ class J1 extends rn {
37377
37752
  return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
37378
37753
  }
37379
37754
  }
37380
- function bw() {
37755
+ function _w() {
37381
37756
  let s, e;
37382
37757
  onmessage = function(a) {
37383
37758
  const o = a.data;
@@ -37481,7 +37856,7 @@ function bw() {
37481
37856
  }
37482
37857
  }
37483
37858
  }
37484
- var Z1 = (function() {
37859
+ var $1 = (function() {
37485
37860
  var s = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuec:W:Odkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq;lZkdbk;jYi5ud9:du8Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCabaOad2fhXaAcethQaxaDfhiaOaeaoaeao6E9RhLalcl4cifcd4hKazcj;cbfaAfhYcbh8AazcjdfhEaHh3incbhodnawTmbaxa8Acd4fRbbhokaocFeGh5cbh8Eazcj;cbfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcj;cbfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcj;cbfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaK6mva8FaKfhidnaCTmbaPai9RcK6mbaocdtc:q1jjbfcj1jjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bbarcwf9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfag9c8F1:NghcKtc8F91aicdfa8J9c8N1:Nfg8KRbbG86bbarcVfcba8KahcjeGcr4fghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fag9c8F1:NgicKtc8F91aha8J9c8N1:NfghRbbG86bbarc96fcbahaicjeGcr4fgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbb83bbarcwfaicwf8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasa8Acd4fRbbgociGPlbedrbkaATmdaza8Afh8Fazcj;cbfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeaza8Afhaazcj;cbfhhcbhoceh8EaYh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaLaocefgofmbka8FaQfh8FcdhoaacdfhaahaQfhha8EceGhlcbh8EalmbxdkkaATmbcbaocl49Rh8Eaza8AfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaYhainazcj;cbfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E93aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3a8Aclfg8Aad6mbkaXazcjdfaAad2z:jjjjb8AazazcjdfaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaok:XseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk: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::ioiue99dud99dud99dnaeTmbcbhiabhlindndnal8Uebgv:YgoJ:ji:1Salcof8UebgrciVgw:Y:vgDNJbbbZJbbb:;avcu9kEMgq:lJbbb9p9DTmbaq:Ohkxekcjjjj94hkkalclf8Uebhvalcdf8UebhxabaiarcefciGfcetfak87ebdndnax:YgqaDNJbbbZJbbb:;axcu9kEMgm:lJbbb9p9DTmbam:Ohxxekcjjjj94hxkabaiarciGfgkcd7cetfax87ebdndnav:YgmaDNJbbbZJbbb:;avcu9kEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkabaiarcufciGfcetfav87ebdndnawaw2:ZgPaPMaoaoN:taqaqN:tamamN:tgoJbbbbaoJbbbb9GE:raDNJbbbZMgD:lJbbb9p9DTmbaD:Ohrxekcjjjj94hrkabakcetfar87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K1jjbgeabcifc98GfgbBd:K1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk81dbcjwk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:Kwkl8WNbb", e = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuec:q:6dkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq:Ctklbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:183lYud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxavaialfgmar9Rgoad;8qbbcj;abad9Uc;WFbGcjdadca0EhPdndndnadTmbaoadfhscbhzinaeaz9nmdamax9RaD6miabazad2fhHaxaDfhOaPaeaz9RazaPfae6EgAcsfgocl4cifcd4hCavcj;cbfaoc9WGgXcetfhQavcj;cbfaXci2fhLavcj;cbfaXfhKcbhYaoc;ab6h8AincbhodnawTmbaxaYcd4fRbbhokaocFeGhEcbh3avcj;cbfh5indndndndnaEa3cet4ciGgoc9:fPdebdkamaO9RaX6mwavcj;cbfa3aX2faOaX;8qbbaOaAfhOxdkavcj;cbfa3aX2fcbaX;8kbxekamaO9RaC6moaoclVcbawEhraOaCfhocbhidna8Ambamao9Rc;Gb6mbcbhlina5alfhidndndndndndnaOalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiczfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaicafaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaoclffaqc:q:yjjbfRbbfhoxikaic8Wfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaocwffaqc:q:yjjbfRbbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitc:q1jjbfpbibaic:q:yjjbfRbbgipsaoRbegqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqc:q:yjjbfRbbfhokalc;abfhialcjefaX0meaihlamao9Rc;Fb0mbkkdnaiaX9pmbaici4hlinamao9RcK6mwa5aifhqdndndndndndnaOaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaoclffahc:q:yjjbfRbbfhoxikaqaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaocwffahc:q:yjjbfRbbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpkbbaaaocdffahc:q:yjjbfRbbfhokalcdfhlaiczfgiaX6mbkkaohOaoTmoka5aXfh5a3cefg3cl9hmbkdndndndnawTmbasaYcd4fRbbglciGPlbedwbkaXTmdavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep9Ta8Epxeeeeeeeeeeeeeeeeg8Fp9op9Hp9rg8Eagp9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Ug8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9AbbbaladfhlaoczfgoaX6mbxikkaXTmeavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep:nea8Epxebebebebebebebebg8Fp9op:bep9rg8Eagp:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeg8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9AbbbaladfhlaoczfgoaX6mbxdkkaXTmbcbhocbalcl4gl9Rc8FGhiavcjdfaYfhravaYfpbdbh8Finaravcj;cbfaofpblbggaKaofpblbg8JpmbzeHdOiAlCvXoQrLg8KaQaofpblbg8LaLaofpblbg8MpmbzeHdOiAlCvXoQrLg8NpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ea8Fp9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Fa8Ka8NpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwKDYq8AkEx3m5P8Es8Fgga8La8MpmwKDYq8AkEx3m5P8Es8Fg8JpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9AbbbaradfhraoczfgoaX6mbkkaYclfgYad6mbkaHavcjdfaAad2;8qbbavavcjdfaAcufad2fad;8qbbaAazfhzc9:hoaOhxaOmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdaPaeao9RaoaPfae6Eaofgoae6mbkaial9Rhxkcbc99amax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbk:TseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:2Pliur97eue978Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskaipxFubbFubbFubbFubbgxpklbdnalTmbcbhvabhdinadczfgmampbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblbaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgopklbaiaopklbaiabalcitfgdaeciGglcitgv;8qbbaiaxpkladnalTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblaaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkadaiav;8qbbkk:Iwllue97euo978Jjjjjbca9Rhidnaec98GglTmbcbhvabhoinaocKfpx:ji:1S:ji:1S:ji:1S:ji:1SaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qgxp;6ep;Negmaxaxp:1ep;7egxaxp;KearaDpmbediwDqkzHOAKY8AEgxczp:Reczp:Sep;6egrarp;Meaxczp:Sep;6egDaDp;Meaqczp:Reczp:Sep;6egqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gxp;KepxFFbbFFbbFFbbFFbbgPp9oamaDp;Meaxp;Keczp:Rep9qgDamarp;Meaxp;KeaPp9oamaqp;Meaxp;Keczp:Rep9qgxpmwDKYqk8AExm35Ps8E8Fgrp5eakclp:RegmpEi:T:j83ibawarp5bampEd:T:j83ibaocwfaDaxpmbezHdiOAlvCXorQLgxp5eampEe:T:j83ibaoaxp5bampEb:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiczfpxbbbbbbbbbbbbbbbbgmpklbaiampklbaiabalcitfgoaeciGgvcitgw;8qbbdnavTmbaipx:ji:1S:ji:1S:ji:1S:ji:1SaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qgxp;6ep;Negmaxaxp:1ep;7egxaxp;KearaDpmbediwDqkzHOAKY8AEgxczp:Reczp:Sep;6egrarp;Meaxczp:Sep;6egDaDp;Meaqczp:Reczp:Sep;6egqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gxp;KepxFFbbFFbbFFbbFFbbgPp9oamaDp;Meaxp;Keczp:Rep9qgDamarp;Meaxp;KeaPp9oamaqp;Meaxp;Keczp:Rep9qgxpmwDKYqk8AExm35Ps8E8Fgrp5eakclp:RegmpEi:T:j83iKaiarp5bampEd:T:j83izaiaDaxpmbezHdiOAlvCXorQLgxp5eampEe:T:j83iwaiaxp5bampEb:T:j83ibkaoaiaw;8qbbkk;uddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaic8WfpxbbbbbbbbbbbbbbbbgopklbaicafaopklbaiczfaopklbaiaopklbaiabavcdtfgdalciGgecdtgv;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkadaiav;8qbbkk:CPvdue97euw97eu8Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadpbbbhradpxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpkbbadczfhdaoclfgoal6mbkkalaeSmeaiavpklaaicafabalcdtfgdaeciGglcdtgo;8qbbaiavpklbdnalTmbaipblahraipxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpklakadaicafao;8qbbskaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadczfgspxbFu9hbFu9hbFu9hbFu9hadpbbbgDaspbbbgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblbp9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpkbbadaxarpmbezHdiOAlvCXorQLpkbbadcafhdaoclfgoal6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgrpklbaiarpklbaiabalcitfgdaeciGglcitgo;8qbbaiavpkladnalTmbaipxbFu9hbFu9hbFu9hbFu9haipblbgDaipblzgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblap9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpklzaiaxarpmbezHdiOAlvCXorQLpklbkadaiao;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb", t = new Uint8Array([
37486
37861
  0,
37487
37862
  97,
@@ -37695,7 +38070,7 @@ var Z1 = (function() {
37695
38070
  }
37696
38071
  };
37697
38072
  })();
37698
- class xw {
38073
+ class yw {
37699
38074
  /**
37700
38075
  * Constructs a new Worker pool.
37701
38076
  *
@@ -37761,7 +38136,7 @@ class xw {
37761
38136
  this.workers.forEach((e) => e.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
37762
38137
  }
37763
38138
  }
37764
- const _w = 0, ig = 2, yw = 1, sg = 2, vw = 0, Ew = 1, Sw = 10, Iw = 0, V0 = 9, W0 = 15, q0 = 16, X0 = 22, j0 = 37, K0 = 43, Y0 = 76, J0 = 83, Z0 = 97, $0 = 100, eb = 103, tb = 109, nb = 122, ib = 123, sb = 131, rb = 132, ab = 133, ob = 134, cb = 137, lb = 138, hb = 139, ub = 140, fb = 141, db = 142, pb = 145, Ab = 146, gb = 148, mb = 152, bb = 153, xb = 154, _b = 155, yb = 156, vb = 157, Eb = 158, Sb = 165, Ib = 166, Mb = 1000054e3, Cb = 1000054001, wb = 1000054004, Tb = 1000054005, np = 1000066e3, Bb = 1000066004;
38139
+ const vw = 0, ig = 2, Ew = 1, sg = 2, Sw = 0, Iw = 1, Mw = 10, Cw = 0, W0 = 9, q0 = 15, X0 = 16, j0 = 22, K0 = 37, Y0 = 43, J0 = 76, Z0 = 83, $0 = 97, eb = 100, tb = 103, nb = 109, ib = 122, sb = 123, rb = 131, ab = 132, ob = 133, cb = 134, lb = 137, hb = 138, ub = 139, fb = 140, db = 141, pb = 142, Ab = 145, gb = 146, mb = 148, bb = 152, xb = 153, _b = 154, yb = 155, vb = 156, Eb = 157, Sb = 158, Ib = 165, Mb = 166, Cb = 1000054e3, wb = 1000054001, Tb = 1000054004, Bb = 1000054005, np = 1000066e3, Rb = 1000066004;
37765
38140
  class Ka {
37766
38141
  constructor(e, t, n, i) {
37767
38142
  this._dataView = void 0, this._littleEndian = void 0, this._offset = void 0, this._dataView = new DataView(e.buffer, e.byteOffset + t, n), this._littleEndian = i, this._offset = 0;
@@ -37804,7 +38179,7 @@ const _n = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
37804
38179
  function rg(s) {
37805
38180
  return new TextDecoder().decode(s);
37806
38181
  }
37807
- function Mw(s) {
38182
+ function ww(s) {
37808
38183
  const e = new Uint8Array(s.buffer, s.byteOffset, _n.length);
37809
38184
  if (e[0] !== _n[0] || e[1] !== _n[1] || e[2] !== _n[2] || e[3] !== _n[3] || e[4] !== _n[4] || e[5] !== _n[5] || e[6] !== _n[6] || e[7] !== _n[7] || e[8] !== _n[8] || e[9] !== _n[9] || e[10] !== _n[10] || e[11] !== _n[11]) throw new Error("Missing KTX 2.0 identifier.");
37810
38185
  const t = { vkFormat: 0, typeSize: 1, pixelWidth: 0, pixelHeight: 0, pixelDepth: 0, layerCount: 0, faceCount: 1, levelCount: 0, supercompressionScheme: 0, levels: [], dataFormatDescriptor: [{ vendorId: 0, descriptorType: 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: [] }], keyValue: {}, globalData: null }, n = 17 * Uint32Array.BYTES_PER_ELEMENT, i = new Ka(s, _n.length, n, !0);
@@ -37834,11 +38209,11 @@ function Mw(s) {
37834
38209
  const D = l + v._offset, L = D + y, F = L + E, U = F + w, O = new Uint8Array(s.buffer, s.byteOffset + D, y), J = new Uint8Array(s.buffer, s.byteOffset + L, E), z = new Uint8Array(s.buffer, s.byteOffset + F, w), ie = new Uint8Array(s.buffer, s.byteOffset + U, C);
37835
38210
  return t.globalData = { endpointCount: S, selectorCount: I, imageDescs: B, endpointsData: O, selectorsData: J, tablesData: z, extendedData: ie }, t;
37836
38211
  }
37837
- let af, Qi, nd;
38212
+ let af, Qi, sd;
37838
38213
  const of = { env: { emscripten_notify_memory_growth: function(s) {
37839
- nd = new Uint8Array(Qi.exports.memory.buffer);
38214
+ sd = new Uint8Array(Qi.exports.memory.buffer);
37840
38215
  } } };
37841
- class Cw {
38216
+ class Tw {
37842
38217
  init() {
37843
38218
  return af || (af = typeof fetch < "u" ? fetch("data:application/wasm;base64," + ag).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, of)).then(this._init) : WebAssembly.instantiate(Buffer.from(ag, "base64"), of).then(this._init), af);
37844
38219
  }
@@ -37848,12 +38223,12 @@ class Cw {
37848
38223
  decode(e, t = 0) {
37849
38224
  if (!Qi) throw new Error("ZSTDDecoder: Await .init() before decoding.");
37850
38225
  const n = e.byteLength, i = Qi.exports.malloc(n);
37851
- nd.set(e, i), t = t || Number(Qi.exports.ZSTD_findDecompressedSize(i, n));
37852
- const r = Qi.exports.malloc(t), a = Qi.exports.ZSTD_decompress(r, t, i, n), o = nd.slice(r, r + a);
38226
+ sd.set(e, i), t = t || Number(Qi.exports.ZSTD_findDecompressedSize(i, n));
38227
+ const r = Qi.exports.malloc(t), a = Qi.exports.ZSTD_decompress(r, t, i, n), o = sd.slice(r, r + a);
37853
38228
  return Qi.exports.free(i), Qi.exports.free(r), o;
37854
38229
  }
37855
38230
  }
37856
- const ag = "AGFzbQEAAAABpQEVYAF/AX9gAn9/AGADf39/AX9gBX9/f39/AX9gAX8AYAJ/fwF/YAR/f39/AX9gA39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAn9/AX5gAn5+AX5gAABgBX9/f39/AGAGf39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38AYAABf2AIf39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YAF/AX4CJwEDZW52H2Vtc2NyaXB0ZW5fbm90aWZ5X21lbW9yeV9ncm93dGgABANpaAEFAAAFAgEFCwACAQABAgIFBQcAAwABDgsBAQcAEhMHAAUBDAQEAAANBwQCAgYCBAgDAwMDBgEACQkHBgICAAYGAgQUBwYGAwIGAAMCAQgBBwUGCgoEEQAEBAEIAwgDBQgDEA8IAAcABAUBcAECAgUEAQCAAgYJAX8BQaCgwAILB2AHBm1lbW9yeQIABm1hbGxvYwAoBGZyZWUAJgxaU1REX2lzRXJyb3IAaBlaU1REX2ZpbmREZWNvbXByZXNzZWRTaXplAFQPWlNURF9kZWNvbXByZXNzAEoGX3N0YXJ0ACQJBwEAQQELASQKussBaA8AIAAgACgCBCABajYCBAsZACAAKAIAIAAoAgRBH3F0QQAgAWtBH3F2CwgAIABBiH9LC34BBH9BAyEBIAAoAgQiA0EgTQRAIAAoAggiASAAKAIQTwRAIAAQDQ8LIAAoAgwiAiABRgRAQQFBAiADQSBJGw8LIAAgASABIAJrIANBA3YiBCABIARrIAJJIgEbIgJrIgQ2AgggACADIAJBA3RrNgIEIAAgBCgAADYCAAsgAQsUAQF/IAAgARACIQIgACABEAEgAgv3AQECfyACRQRAIABCADcCACAAQQA2AhAgAEIANwIIQbh/DwsgACABNgIMIAAgAUEEajYCECACQQRPBEAgACABIAJqIgFBfGoiAzYCCCAAIAMoAAA2AgAgAUF/ai0AACIBBEAgAEEIIAEQFGs2AgQgAg8LIABBADYCBEF/DwsgACABNgIIIAAgAS0AACIDNgIAIAJBfmoiBEEBTQRAIARBAWtFBEAgACABLQACQRB0IANyIgM2AgALIAAgAS0AAUEIdCADajYCAAsgASACakF/ai0AACIBRQRAIABBADYCBEFsDwsgAEEoIAEQFCACQQN0ams2AgQgAgsWACAAIAEpAAA3AAAgACABKQAINwAICy8BAX8gAUECdEGgHWooAgAgACgCAEEgIAEgACgCBGprQR9xdnEhAiAAIAEQASACCyEAIAFCz9bTvtLHq9lCfiAAfEIfiUKHla+vmLbem55/fgsdAQF/IAAoAgggACgCDEYEfyAAKAIEQSBGBUEACwuCBAEDfyACQYDAAE8EQCAAIAEgAhBnIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAkEBSARAIAAhAgwBCyAAQQNxRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADTw0BIAJBA3ENAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAsMACAAIAEpAAA3AAALQQECfyAAKAIIIgEgACgCEEkEQEEDDwsgACAAKAIEIgJBB3E2AgQgACABIAJBA3ZrIgE2AgggACABKAAANgIAQQALDAAgACABKAIANgAAC/cCAQJ/AkAgACABRg0AAkAgASACaiAASwRAIAAgAmoiBCABSw0BCyAAIAEgAhALDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkF/aiECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+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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", ww = "display-p3", Tw = "display-p3-linear";
38231
+ const ag = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigCACACaiAAQQZ2IgFBAnRBsB5qKAIAaiAAQSBxIgBFaiABRSAAQQV2cWoFQbh/CwsdACAAKAKQ4gEQWiAAQQA2AqDiASAAQgA3A5DiAQu1AwEFfyMAQZACayIKJABBuH8hBgJAIAVFDQAgBCwAACIIQf8BcSEHAkAgCEF/TARAIAdBgn9qQQF2IgggBU8NAkFsIQYgB0GBf2oiBUGAAk8NAiAEQQFqIQdBACEGA0AgBiAFTwRAIAUhBiAIIQcMAwUgACAGaiAHIAZBAXZqIgQtAABBBHY6AAAgACAGQQFyaiAELQAAQQ9xOgAAIAZBAmohBgwBCwAACwALIAcgBU8NASAAIARBAWogByAKEFMiBhADDQELIAYhBEEAIQYgAUEAQTQQECEJQQAhBQNAIAQgBkcEQCAAIAZqIggtAAAiAUELSwRAQWwhBgwDBSAJIAFBAnRqIgEgASgCAEEBajYCACAGQQFqIQZBASAILQAAdEEBdSAFaiEFDAILAAsLQWwhBiAFRQ0AIAUQFEEBaiIBQQxLDQAgAyABNgIAQQFBASABdCAFayIDEBQiAXQgA0cNACAAIARqIAFBAWoiADoAACAJIABBAnRqIgAgACgCAEEBajYCACAJKAIEIgBBAkkgAEEBcXINACACIARBAWo2AgAgB0EBaiEGCyAKQZACaiQAIAYLxhEBDH8jAEHwAGsiBSQAQWwhCwJAIANBCkkNACACLwAAIQogAi8AAiEJIAIvAAQhByAFQQhqIAQQDgJAIAMgByAJIApqakEGaiIMSQ0AIAUtAAohCCAFQdgAaiACQQZqIgIgChAGIgsQAw0BIAVBQGsgAiAKaiICIAkQBiILEAMNASAFQShqIAIgCWoiAiAHEAYiCxADDQEgBUEQaiACIAdqIAMgDGsQBiILEAMNASAAIAFqIg9BfWohECAEQQRqIQZBASELIAAgAUEDakECdiIDaiIMIANqIgIgA2oiDiEDIAIhBCAMIQcDQCALIAMgEElxBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgCS0AAyELIAcgBiAFQUBrIAgQAkECdGoiCS8BADsAACAFQUBrIAktAAIQASAJLQADIQogBCAGIAVBKGogCBACQQJ0aiIJLwEAOwAAIAVBKGogCS0AAhABIAktAAMhCSADIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgDS0AAyENIAAgC2oiCyAGIAVB2ABqIAgQAkECdGoiAC8BADsAACAFQdgAaiAALQACEAEgAC0AAyEAIAcgCmoiCiAGIAVBQGsgCBACQQJ0aiIHLwEAOwAAIAVBQGsgBy0AAhABIActAAMhByAEIAlqIgkgBiAFQShqIAgQAkECdGoiBC8BADsAACAFQShqIAQtAAIQASAELQADIQQgAyANaiIDIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgACALaiEAIAcgCmohByAEIAlqIQQgAyANLQADaiEDIAVB2ABqEA0gBUFAaxANciAFQShqEA1yIAVBEGoQDXJFIQsMAQsLIAQgDksgByACS3INAEFsIQsgACAMSw0BIAxBfWohCQNAQQAgACAJSSAFQdgAahAEGwRAIAAgBiAFQdgAaiAIEAJBAnRqIgovAQA7AAAgBUHYAGogCi0AAhABIAAgCi0AA2oiACAGIAVB2ABqIAgQAkECdGoiCi8BADsAACAFQdgAaiAKLQACEAEgACAKLQADaiEADAEFIAxBfmohCgNAIAVB2ABqEAQgACAKS3JFBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgACAJLQADaiEADAELCwNAIAAgCk0EQCAAIAYgBUHYAGogCBACQQJ0aiIJLwEAOwAAIAVB2ABqIAktAAIQASAAIAktAANqIQAMAQsLAkAgACAMTw0AIAAgBiAFQdgAaiAIEAIiAEECdGoiDC0AADoAACAMLQADQQFGBEAgBUHYAGogDC0AAhABDAELIAUoAlxBH0sNACAFQdgAaiAGIABBAnRqLQACEAEgBSgCXEEhSQ0AIAVBIDYCXAsgAkF9aiEMA0BBACAHIAxJIAVBQGsQBBsEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiIAIAYgBUFAayAIEAJBAnRqIgcvAQA7AAAgBUFAayAHLQACEAEgACAHLQADaiEHDAEFIAJBfmohDANAIAVBQGsQBCAHIAxLckUEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwNAIAcgDE0EQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwJAIAcgAk8NACAHIAYgBUFAayAIEAIiAEECdGoiAi0AADoAACACLQADQQFGBEAgBUFAayACLQACEAEMAQsgBSgCREEfSw0AIAVBQGsgBiAAQQJ0ai0AAhABIAUoAkRBIUkNACAFQSA2AkQLIA5BfWohAgNAQQAgBCACSSAFQShqEAQbBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2oiACAGIAVBKGogCBACQQJ0aiIELwEAOwAAIAVBKGogBC0AAhABIAAgBC0AA2ohBAwBBSAOQX5qIQIDQCAFQShqEAQgBCACS3JFBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsDQCAEIAJNBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsCQCAEIA5PDQAgBCAGIAVBKGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBKGogAi0AAhABDAELIAUoAixBH0sNACAFQShqIAYgAEECdGotAAIQASAFKAIsQSFJDQAgBUEgNgIsCwNAQQAgAyAQSSAFQRBqEAQbBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2oiACAGIAVBEGogCBACQQJ0aiICLwEAOwAAIAVBEGogAi0AAhABIAAgAi0AA2ohAwwBBSAPQX5qIQIDQCAFQRBqEAQgAyACS3JFBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsDQCADIAJNBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsCQCADIA9PDQAgAyAGIAVBEGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBEGogAi0AAhABDAELIAUoAhRBH0sNACAFQRBqIAYgAEECdGotAAIQASAFKAIUQSFJDQAgBUEgNgIUCyABQWwgBUHYAGoQCiAFQUBrEApxIAVBKGoQCnEgBUEQahAKcRshCwwJCwAACwALAAALAAsAAAsACwAACwALQWwhCwsgBUHwAGokACALC7UEAQ5/IwBBEGsiBiQAIAZBBGogABAOQVQhBQJAIARB3AtJDQAgBi0ABCEHIANB8ARqQQBB7AAQECEIIAdBDEsNACADQdwJaiIJIAggBkEIaiAGQQxqIAEgAhAxIhAQA0UEQCAGKAIMIgQgB0sNASADQdwFaiEPIANBpAVqIREgAEEEaiESIANBqAVqIQEgBCEFA0AgBSICQX9qIQUgCCACQQJ0aigCAEUNAAsgAkEBaiEOQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgASALaiAKNgIAIAVBAWohBSAKIAxqIQoMAQsLIAEgCjYCAEEAIQUgBigCCCELA0AgBSALRkUEQCABIAUgCWotAAAiDEECdGoiDSANKAIAIg1BAWo2AgAgDyANQQF0aiINIAw6AAEgDSAFOgAAIAVBAWohBQwBCwtBACEBIANBADYCqAUgBEF/cyAHaiEJQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgAyALaiABNgIAIAwgBSAJanQgAWohASAFQQFqIQUMAQsLIAcgBEEBaiIBIAJrIgRrQQFqIQgDQEEBIQUgBCAIT0UEQANAIAUgDk9FBEAgBUECdCIJIAMgBEE0bGpqIAMgCWooAgAgBHY2AgAgBUEBaiEFDAELCyAEQQFqIQQMAQsLIBIgByAPIAogESADIAIgARBkIAZBAToABSAGIAc6AAYgACAGKAIENgIACyAQIQULIAZBEGokACAFC8ENAQt/IwBB8ABrIgUkAEFsIQkCQCADQQpJDQAgAi8AACEKIAIvAAIhDCACLwAEIQYgBUEIaiAEEA4CQCADIAYgCiAMampBBmoiDUkNACAFLQAKIQcgBUHYAGogAkEGaiICIAoQBiIJEAMNASAFQUBrIAIgCmoiAiAMEAYiCRADDQEgBUEoaiACIAxqIgIgBhAGIgkQAw0BIAVBEGogAiAGaiADIA1rEAYiCRADDQEgACABaiIOQX1qIQ8gBEEEaiEGQQEhCSAAIAFBA2pBAnYiAmoiCiACaiIMIAJqIg0hAyAMIQQgCiECA0AgCSADIA9JcQRAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAACAGIAVBQGsgBxACQQF0aiIILQAAIQsgBUFAayAILQABEAEgAiALOgAAIAYgBUEoaiAHEAJBAXRqIggtAAAhCyAFQShqIAgtAAEQASAEIAs6AAAgBiAFQRBqIAcQAkEBdGoiCC0AACELIAVBEGogCC0AARABIAMgCzoAACAGIAVB2ABqIAcQAkEBdGoiCC0AACELIAVB2ABqIAgtAAEQASAAIAs6AAEgBiAFQUBrIAcQAkEBdGoiCC0AACELIAVBQGsgCC0AARABIAIgCzoAASAGIAVBKGogBxACQQF0aiIILQAAIQsgBUEoaiAILQABEAEgBCALOgABIAYgBUEQaiAHEAJBAXRqIggtAAAhCyAFQRBqIAgtAAEQASADIAs6AAEgA0ECaiEDIARBAmohBCACQQJqIQIgAEECaiEAIAkgBUHYAGoQDUVxIAVBQGsQDUVxIAVBKGoQDUVxIAVBEGoQDUVxIQkMAQsLIAQgDUsgAiAMS3INAEFsIQkgACAKSw0BIApBfWohCQNAIAVB2ABqEAQgACAJT3JFBEAgBiAFQdgAaiAHEAJBAXRqIggtAAAhCyAFQdgAaiAILQABEAEgACALOgAAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAASAAQQJqIQAMAQsLA0AgBUHYAGoQBCAAIApPckUEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCwNAIAAgCkkEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCyAMQX1qIQADQCAFQUBrEAQgAiAAT3JFBEAgBiAFQUBrIAcQAkEBdGoiCi0AACEJIAVBQGsgCi0AARABIAIgCToAACAGIAVBQGsgBxACQQF0aiIKLQAAIQkgBUFAayAKLQABEAEgAiAJOgABIAJBAmohAgwBCwsDQCAFQUBrEAQgAiAMT3JFBEAgBiAFQUBrIAcQAkEBdGoiAC0AACEKIAVBQGsgAC0AARABIAIgCjoAACACQQFqIQIMAQsLA0AgAiAMSQRAIAYgBUFAayAHEAJBAXRqIgAtAAAhCiAFQUBrIAAtAAEQASACIAo6AAAgAkEBaiECDAELCyANQX1qIQADQCAFQShqEAQgBCAAT3JFBEAgBiAFQShqIAcQAkEBdGoiAi0AACEKIAVBKGogAi0AARABIAQgCjoAACAGIAVBKGogBxACQQF0aiICLQAAIQogBUEoaiACLQABEAEgBCAKOgABIARBAmohBAwBCwsDQCAFQShqEAQgBCANT3JFBEAgBiAFQShqIAcQAkEBdGoiAC0AACECIAVBKGogAC0AARABIAQgAjoAACAEQQFqIQQMAQsLA0AgBCANSQRAIAYgBUEoaiAHEAJBAXRqIgAtAAAhAiAFQShqIAAtAAEQASAEIAI6AAAgBEEBaiEEDAELCwNAIAVBEGoQBCADIA9PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIAYgBUEQaiAHEAJBAXRqIgAtAAAhAiAFQRBqIAAtAAEQASADIAI6AAEgA0ECaiEDDAELCwNAIAVBEGoQBCADIA5PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIANBAWohAwwBCwsDQCADIA5JBEAgBiAFQRBqIAcQAkEBdGoiAC0AACECIAVBEGogAC0AARABIAMgAjoAACADQQFqIQMMAQsLIAFBbCAFQdgAahAKIAVBQGsQCnEgBUEoahAKcSAFQRBqEApxGyEJDAELQWwhCQsgBUHwAGokACAJC8oCAQR/IwBBIGsiBSQAIAUgBBAOIAUtAAIhByAFQQhqIAIgAxAGIgIQA0UEQCAEQQRqIQIgACABaiIDQX1qIQQDQCAFQQhqEAQgACAET3JFBEAgAiAFQQhqIAcQAkEBdGoiBi0AACEIIAVBCGogBi0AARABIAAgCDoAACACIAVBCGogBxACQQF0aiIGLQAAIQggBUEIaiAGLQABEAEgACAIOgABIABBAmohAAwBCwsDQCAFQQhqEAQgACADT3JFBEAgAiAFQQhqIAcQAkEBdGoiBC0AACEGIAVBCGogBC0AARABIAAgBjoAACAAQQFqIQAMAQsLA0AgACADT0UEQCACIAVBCGogBxACQQF0aiIELQAAIQYgBUEIaiAELQABEAEgACAGOgAAIABBAWohAAwBCwsgAUFsIAVBCGoQChshAgsgBUEgaiQAIAILtgMBCX8jAEEQayIGJAAgBkEANgIMIAZBADYCCEFUIQQCQAJAIANBQGsiDCADIAZBCGogBkEMaiABIAIQMSICEAMNACAGQQRqIAAQDiAGKAIMIgcgBi0ABEEBaksNASAAQQRqIQogBkEAOgAFIAYgBzoABiAAIAYoAgQ2AgAgB0EBaiEJQQEhBANAIAQgCUkEQCADIARBAnRqIgEoAgAhACABIAU2AgAgACAEQX9qdCAFaiEFIARBAWohBAwBCwsgB0EBaiEHQQAhBSAGKAIIIQkDQCAFIAlGDQEgAyAFIAxqLQAAIgRBAnRqIgBBASAEdEEBdSILIAAoAgAiAWoiADYCACAHIARrIQhBACEEAkAgC0EDTQRAA0AgBCALRg0CIAogASAEakEBdGoiACAIOgABIAAgBToAACAEQQFqIQQMAAALAAsDQCABIABPDQEgCiABQQF0aiIEIAg6AAEgBCAFOgAAIAQgCDoAAyAEIAU6AAIgBCAIOgAFIAQgBToABCAEIAg6AAcgBCAFOgAGIAFBBGohAQwAAAsACyAFQQFqIQUMAAALAAsgAiEECyAGQRBqJAAgBAutAQECfwJAQYQgKAIAIABHIAAoAgBBAXYiAyABa0F4aiICQXhxQQhHcgR/IAIFIAMQJ0UNASACQQhqC0EQSQ0AIAAgACgCACICQQFxIAAgAWpBD2pBeHEiASAAa0EBdHI2AgAgASAANgIEIAEgASgCAEEBcSAAIAJBAXZqIAFrIgJBAXRyNgIAQYQgIAEgAkH/////B3FqQQRqQYQgKAIAIABGGyABNgIAIAEQJQsLygIBBX8CQAJAAkAgAEEIIABBCEsbZ0EfcyAAaUEBR2oiAUEESSAAIAF2cg0AIAFBAnRB/B5qKAIAIgJFDQADQCACQXhqIgMoAgBBAXZBeGoiBSAATwRAIAIgBUEIIAVBCEsbZ0Efc0ECdEGAH2oiASgCAEYEQCABIAIoAgQ2AgALDAMLIARBHksNASAEQQFqIQQgAigCBCICDQALC0EAIQMgAUEgTw0BA0AgAUECdEGAH2ooAgAiAkUEQCABQR5LIQIgAUEBaiEBIAJFDQEMAwsLIAIgAkF4aiIDKAIAQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgBGBEAgASACKAIENgIACwsgAigCACIBBEAgASACKAIENgIECyACKAIEIgEEQCABIAIoAgA2AgALIAMgAygCAEEBcjYCACADIAAQNwsgAwvhCwINfwV+IwBB8ABrIgckACAHIAAoAvDhASIINgJcIAEgAmohDSAIIAAoAoDiAWohDwJAAkAgBUUEQCABIQQMAQsgACgCxOABIRAgACgCwOABIREgACgCvOABIQ4gAEEBNgKM4QFBACEIA0AgCEEDRwRAIAcgCEECdCICaiAAIAJqQazQAWooAgA2AkQgCEEBaiEIDAELC0FsIQwgB0EYaiADIAQQBhADDQEgB0EsaiAHQRhqIAAoAgAQEyAHQTRqIAdBGGogACgCCBATIAdBPGogB0EYaiAAKAIEEBMgDUFgaiESIAEhBEEAIQwDQCAHKAIwIAcoAixBA3RqKQIAIhRCEIinQf8BcSEIIAcoAkAgBygCPEEDdGopAgAiFUIQiKdB/wFxIQsgBygCOCAHKAI0QQN0aikCACIWQiCIpyEJIBVCIIghFyAUQiCIpyECAkAgFkIQiKdB/wFxIgNBAk8EQAJAIAZFIANBGUlyRQRAIAkgB0EYaiADQSAgBygCHGsiCiAKIANLGyIKEAUgAyAKayIDdGohCSAHQRhqEAQaIANFDQEgB0EYaiADEAUgCWohCQwBCyAHQRhqIAMQBSAJaiEJIAdBGGoQBBoLIAcpAkQhGCAHIAk2AkQgByAYNwNIDAELAkAgA0UEQCACBEAgBygCRCEJDAMLIAcoAkghCQwBCwJAAkAgB0EYakEBEAUgCSACRWpqIgNBA0YEQCAHKAJEQX9qIgMgA0VqIQkMAQsgA0ECdCAHaigCRCIJIAlFaiEJIANBAUYNAQsgByAHKAJINgJMCwsgByAHKAJENgJIIAcgCTYCRAsgF6chAyALBEAgB0EYaiALEAUgA2ohAwsgCCALakEUTwRAIAdBGGoQBBoLIAgEQCAHQRhqIAgQBSACaiECCyAHQRhqEAQaIAcgB0EYaiAUQhiIp0H/AXEQCCAUp0H//wNxajYCLCAHIAdBGGogFUIYiKdB/wFxEAggFadB//8DcWo2AjwgB0EYahAEGiAHIAdBGGogFkIYiKdB/wFxEAggFqdB//8DcWo2AjQgByACNgJgIAcoAlwhCiAHIAk2AmggByADNgJkAkACQAJAIAQgAiADaiILaiASSw0AIAIgCmoiEyAPSw0AIA0gBGsgC0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdBKGogACgCBBATQQAhBCAHQeAAaiEMIAdB5ABqIQoDQCAHQShqEARBAksgBCAXTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEJIAcoAkggBygCREEDdGopAgAiH0IgiKchCCAeQiCIISAgHUIgiKchAgJAIB9CEIinQf8BcSIDQQJPBEACQCAGRSADQRlJckUEQCAIIAdBKGogA0EgIAcoAixrIg0gDSADSxsiDRAFIAMgDWsiA3RqIQggB0EoahAEGiADRQ0BIAdBKGogAxAFIAhqIQgMAQsgB0EoaiADEAUgCGohCCAHQShqEAQaCyAHKQJUISEgByAINgJUIAcgITcDWAwBCwJAIANFBEAgAgRAIAcoAlQhCAwDCyAHKAJYIQgMAQsCQAJAIAdBKGpBARAFIAggAkVqaiIDQQNGBEAgBygCVEF/aiIDIANFaiEIDAELIANBAnQgB2ooAlQiCCAIRWohCCADQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAg2AlQLICCnIQMgCQRAIAdBKGogCRAFIANqIQMLIAkgC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgAmohAgsgB0EoahAEGiAHIAcoAmggAmoiCSADajYCaCAKIAwgCCAJSxsoAgAhDSAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogB0EoaiAfQhiIp0H/AXEQCCEOIAdB8ABqIARBBHRqIgsgCSANaiAIazYCDCALIAg2AgggCyADNgIEIAsgAjYCACAHIA4gH6dB//8DcWo2AkQgBEEBaiEEDAELCyAEIBdIDQEgEkFgaiEYIAdB4ABqIRogB0HkAGohGyABIQMDQCAHQShqEARBAksgBCAFTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEIIAcoAkggBygCREEDdGopAgAiH0IgiKchCSAeQiCIISAgHUIgiKchDAJAIB9CEIinQf8BcSICQQJPBEACQCAGRSACQRlJckUEQCAJIAdBKGogAkEgIAcoAixrIgogCiACSxsiChAFIAIgCmsiAnRqIQkgB0EoahAEGiACRQ0BIAdBKGogAhAFIAlqIQkMAQsgB0EoaiACEAUgCWohCSAHQShqEAQaCyAHKQJUISEgByAJNgJUIAcgITcDWAwBCwJAIAJFBEAgDARAIAcoAlQhCQwDCyAHKAJYIQkMAQsCQAJAIAdBKGpBARAFIAkgDEVqaiICQQNGBEAgBygCVEF/aiICIAJFaiEJDAELIAJBAnQgB2ooAlQiCSAJRWohCSACQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAk2AlQLICCnIRQgCARAIAdBKGogCBAFIBRqIRQLIAggC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgDGohDAsgB0EoahAEGiAHIAcoAmggDGoiGSAUajYCaCAbIBogCSAZSxsoAgAhHCAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogByAHQShqIB9CGIinQf8BcRAIIB+nQf//A3FqNgJEIAcgB0HwAGogBEEDcUEEdGoiDSkDCCIdNwPIASAHIA0pAwAiHjcDwAECQAJAAkAgBygCvAEiDiAepyICaiIWIBNLDQAgAyAHKALEASIKIAJqIgtqIBhLDQAgEiADayALQSBqTw0BCyAHIAcpA8gBNwMQIAcgBykDwAE3AwggAyASIAdBCGogB0G8AWogEyAPIBUgERAeIQsMAQsgAiADaiEIIAMgDhAHIAJBEU8EQCADQRBqIQIDQCACIA5BEGoiDhAHIAJBEGoiAiAISQ0ACwsgCCAdpyIOayECIAcgFjYCvAEgDiAIIA9rSwRAIA4gCCAVa0sEQEFsIQsMAgsgESACIA9rIgJqIhYgCmogEU0EQCAIIBYgChAPGgwCCyAIIBZBACACaxAPIQggByACIApqIgo2AsQBIAggAmshCCAPIQILIA5BEE8EQCAIIApqIQoDQCAIIAIQByACQRBqIQIgCEEQaiIIIApJDQALDAELAkAgDkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgDkECdCIKQcAeaigCAGoiAhAXIAIgCkHgHmooAgBrIQIgBygCxAEhCgwBCyAIIAIQDAsgCkEJSQ0AIAggCmohCiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAKSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAKSQ0ACwsgCxADBEAgCyEQDAQFIA0gDDYCACANIBkgHGogCWs2AgwgDSAJNgIIIA0gFDYCBCAEQQFqIQQgAyALaiEDDAILAAsLIAQgBUgNASAEIBdrIQtBACEEA0AgCyAFSARAIAcgB0HwAGogC0EDcUEEdGoiAikDCCIdNwPIASAHIAIpAwAiHjcDwAECQAJAAkAgBygCvAEiDCAepyICaiIKIBNLDQAgAyAHKALEASIJIAJqIhBqIBhLDQAgEiADayAQQSBqTw0BCyAHIAcpA8gBNwMgIAcgBykDwAE3AxggAyASIAdBGGogB0G8AWogEyAPIBUgERAeIRAMAQsgAiADaiEIIAMgDBAHIAJBEU8EQCADQRBqIQIDQCACIAxBEGoiDBAHIAJBEGoiAiAISQ0ACwsgCCAdpyIGayECIAcgCjYCvAEgBiAIIA9rSwRAIAYgCCAVa0sEQEFsIRAMAgsgESACIA9rIgJqIgwgCWogEU0EQCAIIAwgCRAPGgwCCyAIIAxBACACaxAPIQggByACIAlqIgk2AsQBIAggAmshCCAPIQILIAZBEE8EQCAIIAlqIQYDQCAIIAIQByACQRBqIQIgCEEQaiIIIAZJDQALDAELAkAgBkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgBkECdCIGQcAeaigCAGoiAhAXIAIgBkHgHmooAgBrIQIgBygCxAEhCQwBCyAIIAIQDAsgCUEJSQ0AIAggCWohBiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAGSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAGSQ0ACwsgEBADDQMgC0EBaiELIAMgEGohAwwBCwsDQCAEQQNHBEAgACAEQQJ0IgJqQazQAWogAiAHaigCVDYCACAEQQFqIQQMAQsLIAcoArwBIQgLQbp/IRAgEyAIayIAIBIgA2tLDQAgAwR/IAMgCCAAEAsgAGoFQQALIAFrIRALIAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/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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", Bw = "display-p3", Rw = "display-p3-linear";
37857
38232
  ({
37858
38233
  ...nt.spaces[wt]
37859
38234
  });
@@ -37866,7 +38241,7 @@ class li extends rn {
37866
38241
  * @param {LoadingManager} [manager] - The loading manager.
37867
38242
  */
37868
38243
  constructor(e) {
37869
- super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new xw(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn(
38244
+ super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new yw(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn(
37870
38245
  'THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.'
37871
38246
  );
37872
38247
  }
@@ -38001,7 +38376,7 @@ class li extends rn {
38001
38376
  const f = r[0].mipmaps;
38002
38377
  u = t.layerCount > 1 ? new zm(f, a, o, t.layerCount, c, l) : new Da(f, a, o, c, l);
38003
38378
  }
38004
- return u.minFilter = r[0].mipmaps.length === 1 ? ht : Pn, u.magFilter = ht, u.generateMipmaps = !1, u.needsUpdate = !0, u.colorSpace = Rb(t), u.premultiplyAlpha = !!(h & yw), u;
38379
+ return u.minFilter = r[0].mipmaps.length === 1 ? ht : Pn, u.magFilter = ht, u.generateMipmaps = !1, u.needsUpdate = !0, u.colorSpace = Db(t), u.premultiplyAlpha = !!(h & Ew), u;
38005
38380
  }
38006
38381
  /**
38007
38382
  * @private
@@ -38010,9 +38385,9 @@ class li extends rn {
38010
38385
  * @return {Promise<CompressedTexture|CompressedArrayTexture|DataTexture|Data3DTexture>}
38011
38386
  */
38012
38387
  async _createTexture(e, t = {}) {
38013
- const n = Mw(new Uint8Array(e)), i = n.vkFormat === np && n.dataFormatDescriptor[0].colorModel === 167;
38014
- if (!(n.vkFormat === Iw || i && !this.workerConfig.astcHDRSupported))
38015
- return Rw(n);
38388
+ const n = ww(new Uint8Array(e)), i = n.vkFormat === np && n.dataFormatDescriptor[0].colorModel === 167;
38389
+ if (!(n.vkFormat === Cw || i && !this.workerConfig.astcHDRSupported))
38390
+ return Pw(n);
38016
38391
  const a = t, o = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: e, taskConfig: a }, [e])).then((c) => this._createTextureFrom(c.data, n));
38017
38392
  return cf.set(e, { promise: o }), o;
38018
38393
  }
@@ -38262,108 +38637,108 @@ li.BasisWorker = function() {
38262
38637
  return g;
38263
38638
  }
38264
38639
  };
38265
- const Bw = /* @__PURE__ */ new Set([Nt, xa, Kn, yi]), uf = {
38266
- [tb]: Nt,
38267
- [eb]: Kn,
38268
- [$0]: yi,
38269
- [Z0]: Nt,
38270
- [J0]: Kn,
38271
- [Y0]: yi,
38640
+ const Dw = /* @__PURE__ */ new Set([Nt, xa, Kn, yi]), uf = {
38641
+ [nb]: Nt,
38642
+ [tb]: Kn,
38643
+ [eb]: yi,
38644
+ [$0]: Nt,
38645
+ [Z0]: Kn,
38646
+ [J0]: yi,
38647
+ [Y0]: Nt,
38272
38648
  [K0]: Nt,
38273
- [j0]: Nt,
38649
+ [j0]: Kn,
38274
38650
  [X0]: Kn,
38275
- [q0]: Kn,
38651
+ [q0]: yi,
38276
38652
  [W0]: yi,
38277
- [V0]: yi,
38653
+ [sb]: xa,
38278
38654
  [ib]: xa,
38279
- [nb]: xa,
38280
- [mb]: va,
38281
- [gb]: ya,
38282
- [bb]: To,
38283
- [xb]: Bo,
38284
- [_b]: Ro,
38285
- [yb]: Do,
38655
+ [bb]: va,
38656
+ [mb]: ya,
38657
+ [xb]: To,
38658
+ [_b]: Bo,
38659
+ [yb]: Ro,
38660
+ [vb]: Do,
38286
38661
  [np]: _s,
38662
+ [Sb]: _s,
38287
38663
  [Eb]: _s,
38288
- [vb]: _s,
38289
- [Bb]: ur,
38664
+ [Rb]: ur,
38665
+ [Mb]: ur,
38290
38666
  [Ib]: ur,
38291
- [Sb]: ur,
38667
+ [cb]: bs,
38292
38668
  [ob]: bs,
38293
- [ab]: bs,
38669
+ [ab]: hr,
38294
38670
  [rb]: hr,
38295
- [sb]: hr,
38671
+ [hb]: xs,
38296
38672
  [lb]: xs,
38297
- [cb]: xs,
38298
- [ub]: Fo,
38299
- [hb]: Lo,
38300
- [db]: Uo,
38301
- [fb]: No,
38673
+ [fb]: Fo,
38674
+ [ub]: Lo,
38675
+ [pb]: Uo,
38676
+ [db]: No,
38677
+ [gb]: br,
38302
38678
  [Ab]: br,
38303
- [pb]: br,
38304
- [Tb]: mr,
38305
- [Cb]: mr,
38306
- [wb]: _a,
38307
- [Mb]: _a
38679
+ [Bb]: mr,
38680
+ [wb]: mr,
38681
+ [Tb]: _a,
38682
+ [Cb]: _a
38308
38683
  }, ea = {
38684
+ [nb]: Tt,
38309
38685
  [tb]: Tt,
38310
38686
  [eb]: Tt,
38311
- [$0]: Tt,
38687
+ [$0]: yt,
38312
38688
  [Z0]: yt,
38313
38689
  [J0]: yt,
38314
- [Y0]: yt,
38690
+ [Y0]: qe,
38315
38691
  [K0]: qe,
38316
38692
  [j0]: qe,
38317
38693
  [X0]: qe,
38318
38694
  [q0]: qe,
38319
38695
  [W0]: qe,
38320
- [V0]: qe,
38321
- [ib]: Jo,
38322
- [nb]: Zo,
38323
- [mb]: qe,
38324
- [gb]: qe,
38696
+ [sb]: Jo,
38697
+ [ib]: Zo,
38325
38698
  [bb]: qe,
38699
+ [mb]: qe,
38326
38700
  [xb]: qe,
38327
38701
  [_b]: qe,
38328
38702
  [yb]: qe,
38703
+ [vb]: qe,
38329
38704
  [np]: yt,
38705
+ [Sb]: qe,
38330
38706
  [Eb]: qe,
38331
- [vb]: qe,
38332
- [Bb]: yt,
38707
+ [Rb]: yt,
38708
+ [Mb]: qe,
38333
38709
  [Ib]: qe,
38334
- [Sb]: qe,
38710
+ [cb]: qe,
38335
38711
  [ob]: qe,
38336
38712
  [ab]: qe,
38337
38713
  [rb]: qe,
38338
- [sb]: qe,
38714
+ [hb]: qe,
38339
38715
  [lb]: qe,
38340
- [cb]: qe,
38716
+ [fb]: qe,
38341
38717
  [ub]: qe,
38342
- [hb]: qe,
38718
+ [pb]: qe,
38343
38719
  [db]: qe,
38344
- [fb]: qe,
38720
+ [gb]: qe,
38345
38721
  [Ab]: qe,
38346
- [pb]: qe,
38347
- [Tb]: qe,
38348
- [Cb]: qe,
38722
+ [Bb]: qe,
38349
38723
  [wb]: qe,
38350
- [Mb]: qe
38724
+ [Tb]: qe,
38725
+ [Cb]: qe
38351
38726
  };
38352
- async function Rw(s) {
38727
+ async function Pw(s) {
38353
38728
  const { vkFormat: e } = s;
38354
38729
  if (uf[e] === void 0)
38355
38730
  throw new Error("THREE.KTX2Loader: Unsupported vkFormat: " + e);
38356
38731
  ea[e] === void 0 && console.warn('THREE.KTX2Loader: Missing ".type" for vkFormat: ' + e);
38357
38732
  let t;
38358
38733
  s.supercompressionScheme === ig && (hf || (hf = new Promise(async (a) => {
38359
- const o = new Cw();
38734
+ const o = new Tw();
38360
38735
  await o.init(), a(o);
38361
38736
  })), t = await hf);
38362
38737
  const n = [];
38363
38738
  for (let a = 0; a < s.levels.length; a++) {
38364
38739
  const o = Math.max(1, s.pixelWidth >> a), c = Math.max(1, s.pixelHeight >> a), l = s.pixelDepth ? Math.max(1, s.pixelDepth >> a) : 0, h = s.levels[a];
38365
38740
  let u;
38366
- if (s.supercompressionScheme === _w)
38741
+ if (s.supercompressionScheme === vw)
38367
38742
  u = h.levelData;
38368
38743
  else if (s.supercompressionScheme === ig)
38369
38744
  u = t.decode(h.levelData, h.uncompressedByteLength);
@@ -38391,20 +38766,20 @@ async function Rw(s) {
38391
38766
  }
38392
38767
  const i = s.levelCount === 0 || n.length > 1;
38393
38768
  let r;
38394
- if (Bw.has(uf[e]))
38769
+ if (Dw.has(uf[e]))
38395
38770
  r = s.pixelDepth === 0 ? new wn(n[0].data, s.pixelWidth, s.pixelHeight) : new ec(n[0].data, s.pixelWidth, s.pixelHeight, s.pixelDepth), r.minFilter = i ? Yo : pt, r.magFilter = pt, r.generateMipmaps = s.levelCount === 0;
38396
38771
  else {
38397
38772
  if (s.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
38398
38773
  r = new Da(n, s.pixelWidth, s.pixelHeight), r.minFilter = i ? Pn : ht, r.magFilter = ht;
38399
38774
  }
38400
- return r.mipmaps = n, r.type = ea[e], r.format = uf[e], r.colorSpace = Rb(s), r.needsUpdate = !0, Promise.resolve(r);
38775
+ return r.mipmaps = n, r.type = ea[e], r.format = uf[e], r.colorSpace = Db(s), r.needsUpdate = !0, Promise.resolve(r);
38401
38776
  }
38402
- function Rb(s) {
38777
+ function Db(s) {
38403
38778
  const e = s.dataFormatDescriptor[0];
38404
- return e.colorPrimaries === Ew ? e.transferFunction === sg ? wt : Jt : e.colorPrimaries === Sw ? e.transferFunction === sg ? ww : Tw : (e.colorPrimaries === vw || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), ci);
38779
+ return e.colorPrimaries === Iw ? e.transferFunction === sg ? wt : Jt : e.colorPrimaries === Mw ? e.transferFunction === sg ? Bw : Rw : (e.colorPrimaries === Sw || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), ci);
38405
38780
  }
38406
- const Db = 0, Dw = 1, Pw = 2, og = 2, ff = 1.25, cg = 1, mn = 32, qt = mn / 4, Pb = 65535, Nl = Math.pow(2, -24), ip = Symbol("SKIP_GENERATION"), Lb = {
38407
- strategy: Db,
38781
+ const Pb = 0, Lw = 1, Fw = 2, og = 2, ff = 1.25, cg = 1, mn = 32, qt = mn / 4, Lb = 65535, Nl = Math.pow(2, -24), ip = Symbol("SKIP_GENERATION"), Fb = {
38782
+ strategy: Pb,
38408
38783
  maxDepth: 40,
38409
38784
  maxLeafSize: 10,
38410
38785
  useSharedArrayBuffer: !1,
@@ -38447,7 +38822,7 @@ function Ya(s) {
38447
38822
  return 2 * (e * t + t * n + n * e);
38448
38823
  }
38449
38824
  function Xt(s, e) {
38450
- return e[s + 15] === Pb;
38825
+ return e[s + 15] === Lb;
38451
38826
  }
38452
38827
  function bn(s, e) {
38453
38828
  return e[s + 6];
@@ -38478,20 +38853,20 @@ function df(s, e, t, n, i) {
38478
38853
  }
38479
38854
  n[0] = r, n[1] = a, n[2] = o, n[3] = c, n[4] = l, n[5] = h, i[0] = u, i[1] = f, i[2] = d, i[3] = p, i[4] = b, i[5] = g;
38480
38855
  }
38481
- const Gi = 32, Lw = (s, e) => s.candidate - e.candidate, cs = /* @__PURE__ */ new Array(Gi).fill().map(() => ({
38856
+ const Gi = 32, Nw = (s, e) => s.candidate - e.candidate, cs = /* @__PURE__ */ new Array(Gi).fill().map(() => ({
38482
38857
  count: 0,
38483
38858
  bounds: new Float32Array(6),
38484
38859
  rightCacheBounds: new Float32Array(6),
38485
38860
  leftCacheBounds: new Float32Array(6),
38486
38861
  candidate: 0
38487
38862
  })), ll = /* @__PURE__ */ new Float32Array(6);
38488
- function Fw(s, e, t, n, i, r) {
38863
+ function Uw(s, e, t, n, i, r) {
38489
38864
  let a = -1, o = 0;
38490
- if (r === Db)
38865
+ if (r === Pb)
38491
38866
  a = lg(e), a !== -1 && (o = (e[a] + e[a + 3]) / 2);
38492
- else if (r === Dw)
38493
- a = lg(s), a !== -1 && (o = Nw(t, n, i, a));
38494
- else if (r === Pw) {
38867
+ else if (r === Lw)
38868
+ a = lg(s), a !== -1 && (o = Ow(t, n, i, a));
38869
+ else if (r === Fw) {
38495
38870
  const c = Ya(s);
38496
38871
  let l = ff * i;
38497
38872
  const h = t.offset || 0, u = (n - h) * 6, f = (n + i - h) * 6;
@@ -38513,7 +38888,7 @@ function Fw(s, e, t, n, i, r) {
38513
38888
  E[w] = 1 / 0, E[w + 3] = -1 / 0, y[w] = 1 / 0, y[w + 3] = -1 / 0, I[w] = 1 / 0, I[w + 3] = -1 / 0;
38514
38889
  cl(v, t, I);
38515
38890
  }
38516
- m.sort(Lw);
38891
+ m.sort(Nw);
38517
38892
  let _ = i;
38518
38893
  for (let v = 0; v < _; v++) {
38519
38894
  const S = m[v];
@@ -38573,7 +38948,7 @@ function Fw(s, e, t, n, i, r) {
38573
38948
  console.warn(`BVH: Invalid build strategy value ${r} used.`);
38574
38949
  return { axis: a, pos: o };
38575
38950
  }
38576
- function Nw(s, e, t, n) {
38951
+ function Ow(s, e, t, n) {
38577
38952
  let i = 0;
38578
38953
  const r = s.offset;
38579
38954
  for (let a = e, o = e + t; a < o; a++)
@@ -38585,7 +38960,7 @@ class pf {
38585
38960
  this.boundingData = new Float32Array(6);
38586
38961
  }
38587
38962
  }
38588
- function Uw(s, e, t, n, i, r) {
38963
+ function kw(s, e, t, n, i, r) {
38589
38964
  let a = n, o = n + i - 1;
38590
38965
  const c = r.pos, l = r.axis * 2, h = t.offset || 0;
38591
38966
  for (; ; ) {
@@ -38607,30 +38982,30 @@ function Uw(s, e, t, n, i, r) {
38607
38982
  return a;
38608
38983
  }
38609
38984
  }
38610
- let Fb, Ul, id, Nb;
38611
- const Ow = Math.pow(2, 32);
38612
- function sd(s) {
38613
- return "count" in s ? 1 : 1 + sd(s.left) + sd(s.right);
38985
+ let Nb, Ul, rd, Ub;
38986
+ const Qw = Math.pow(2, 32);
38987
+ function ad(s) {
38988
+ return "count" in s ? 1 : 1 + ad(s.left) + ad(s.right);
38614
38989
  }
38615
- function kw(s, e, t) {
38616
- return Fb = new Float32Array(t), Ul = new Uint32Array(t), id = new Uint16Array(t), Nb = new Uint8Array(t), rd(s, e);
38990
+ function Gw(s, e, t) {
38991
+ return Nb = new Float32Array(t), Ul = new Uint32Array(t), rd = new Uint16Array(t), Ub = new Uint8Array(t), od(s, e);
38617
38992
  }
38618
- function rd(s, e) {
38993
+ function od(s, e) {
38619
38994
  const t = s / 4, n = s / 2, i = "count" in e, r = e.boundingData;
38620
38995
  for (let a = 0; a < 6; a++)
38621
- Fb[t + a] = r[a];
38996
+ Nb[t + a] = r[a];
38622
38997
  if (i)
38623
- return e.buffer ? (Nb.set(new Uint8Array(e.buffer), s), s + e.buffer.byteLength) : (Ul[t + 6] = e.offset, id[n + 14] = e.count, id[n + 15] = Pb, s + mn);
38998
+ return e.buffer ? (Ub.set(new Uint8Array(e.buffer), s), s + e.buffer.byteLength) : (Ul[t + 6] = e.offset, rd[n + 14] = e.count, rd[n + 15] = Lb, s + mn);
38624
38999
  {
38625
39000
  const { left: a, right: o, splitAxis: c } = e, l = s + mn;
38626
- let h = rd(l, a);
39001
+ let h = od(l, a);
38627
39002
  const u = s / mn, d = h / mn - u;
38628
- if (d > Ow)
39003
+ if (d > Qw)
38629
39004
  throw new Error("MeshBVH: Cannot store relative child node offset greater than 32 bits.");
38630
- return Ul[t + 6] = d, Ul[t + 7] = c, rd(h, o);
39005
+ return Ul[t + 6] = d, Ul[t + 7] = c, od(h, o);
38631
39006
  }
38632
39007
  }
38633
- function Qw(s, e, t, n, i, r) {
39008
+ function zw(s, e, t, n, i, r) {
38634
39009
  const {
38635
39010
  maxDepth: a,
38636
39011
  verbose: o,
@@ -38647,10 +39022,10 @@ function Qw(s, e, t, n, i, r) {
38647
39022
  function A(m, x, _, v = null, S = 0) {
38648
39023
  if (!p && S >= a && (p = !0, o && console.warn(`BVH: Max depth of ${a} reached when generating BVH. Consider increasing maxDepth.`)), _ <= c || S >= a)
38649
39024
  return g(x + _), m.offset = x, m.count = _, m;
38650
- const I = Fw(m.boundingData, v, e, x, _, l);
39025
+ const I = Uw(m.boundingData, v, e, x, _, l);
38651
39026
  if (I.axis === -1)
38652
39027
  return g(x + _), m.offset = x, m.count = _, m;
38653
- const y = Uw(u, f, e, x, _, I);
39028
+ const y = kw(u, f, e, x, _, I);
38654
39029
  if (y === x || y === x + _)
38655
39030
  g(x + _), m.offset = x, m.count = _;
38656
39031
  else {
@@ -38663,14 +39038,14 @@ function Qw(s, e, t, n, i, r) {
38663
39038
  return m;
38664
39039
  }
38665
39040
  }
38666
- function Gw(s, e) {
39041
+ function Hw(s, e) {
38667
39042
  const t = e.useSharedArrayBuffer ? SharedArrayBuffer : ArrayBuffer, n = s.getRootRanges(e.range), i = n[0], r = n[n.length - 1], a = {
38668
39043
  offset: i.offset,
38669
39044
  count: r.offset + r.count - i.offset
38670
39045
  }, o = new Float32Array(6 * a.count);
38671
39046
  o.offset = a.offset, s.computePrimitiveBounds(a.offset, a.count, o), s._roots = n.map((c) => {
38672
- const l = Qw(s, o, c.offset, c.count, e, a), h = sd(l), u = new t(mn * h);
38673
- return kw(0, l, u), u;
39047
+ const l = zw(s, o, c.offset, c.count, e, a), h = ad(l), u = new t(mn * h);
39048
+ return Gw(0, l, u), u;
38674
39049
  });
38675
39050
  }
38676
39051
  class rp {
@@ -38685,7 +39060,7 @@ class rp {
38685
39060
  this._primitives.push(e);
38686
39061
  }
38687
39062
  }
38688
- class zw {
39063
+ class Vw {
38689
39064
  constructor() {
38690
39065
  this.float32Array = null, this.uint16Array = null, this.uint32Array = null;
38691
39066
  const e = [];
@@ -38697,17 +39072,17 @@ class zw {
38697
39072
  };
38698
39073
  }
38699
39074
  }
38700
- const Mt = /* @__PURE__ */ new zw();
39075
+ const Mt = /* @__PURE__ */ new Vw();
38701
39076
  let gs, fa;
38702
39077
  const ta = [], hl = /* @__PURE__ */ new rp(() => new vt());
38703
- function Hw(s, e, t, n, i, r) {
39078
+ function Ww(s, e, t, n, i, r) {
38704
39079
  gs = hl.getPrimitive(), fa = hl.getPrimitive(), ta.push(gs, fa), Mt.setBuffer(s._roots[e]);
38705
- const a = ad(0, s.geometry, t, n, i, r);
39080
+ const a = cd(0, s.geometry, t, n, i, r);
38706
39081
  Mt.clearBuffer(), hl.releasePrimitive(gs), hl.releasePrimitive(fa), ta.pop(), ta.pop();
38707
39082
  const o = ta.length;
38708
39083
  return o > 0 && (fa = ta[o - 1], gs = ta[o - 2]), a;
38709
39084
  }
38710
- function ad(s, e, t, n, i = null, r = 0, a = 0) {
39085
+ function cd(s, e, t, n, i = null, r = 0, a = 0) {
38711
39086
  const { float32Array: o, uint16Array: c, uint32Array: l } = Mt;
38712
39087
  let h = s * 2;
38713
39088
  if (Xt(h, c)) {
@@ -38741,7 +39116,7 @@ function ad(s, e, t, n, i = null, r = 0, a = 0) {
38741
39116
  const B = w(p), L = C(p) - B;
38742
39117
  S = n(B, L, !0, a + 1, r + p / qt, m);
38743
39118
  } else
38744
- S = v && ad(
39119
+ S = v && cd(
38745
39120
  p,
38746
39121
  e,
38747
39122
  t,
@@ -38758,7 +39133,7 @@ function ad(s, e, t, n, i = null, r = 0, a = 0) {
38758
39133
  const B = w(b), L = C(b) - B;
38759
39134
  E = n(B, L, !0, a + 1, r + b / qt, x);
38760
39135
  } else
38761
- E = y && ad(
39136
+ E = y && cd(
38762
39137
  b,
38763
39138
  e,
38764
39139
  t,
@@ -38772,7 +39147,7 @@ function ad(s, e, t, n, i = null, r = 0, a = 0) {
38772
39147
  }
38773
39148
  const vo = /* @__PURE__ */ new Mt.constructor(), gh = /* @__PURE__ */ new Mt.constructor(), us = /* @__PURE__ */ new rp(() => new vt()), na = /* @__PURE__ */ new vt(), ia = /* @__PURE__ */ new vt(), Af = /* @__PURE__ */ new vt(), gf = /* @__PURE__ */ new vt();
38774
39149
  let mf = !1;
38775
- function Vw(s, e, t, n) {
39150
+ function qw(s, e, t, n) {
38776
39151
  if (mf)
38777
39152
  throw new Error("MeshBVH: Recursive calls to bvhcast not supported.");
38778
39153
  mf = !0;
@@ -38985,15 +39360,15 @@ function ai(s, e, t, n, i, r = 0, a = 0, o = 0, c = 0, l = null, h = !1) {
38985
39360
  return I;
38986
39361
  }
38987
39362
  const fg = /* @__PURE__ */ new vt(), sa = /* @__PURE__ */ new Float32Array(6);
38988
- class Ww {
39363
+ class Xw {
38989
39364
  constructor() {
38990
39365
  this._roots = null, this.primitiveBuffer = null, this.primitiveBufferStride = null;
38991
39366
  }
38992
39367
  init(e) {
38993
39368
  e = {
38994
- ...Lb,
39369
+ ...Fb,
38995
39370
  ...e
38996
- }, Gw(this, e);
39371
+ }, Hw(this, e);
38997
39372
  }
38998
39373
  getRootRanges() {
38999
39374
  throw new Error("BVH: getRootRanges() not implemented");
@@ -39133,7 +39508,7 @@ class Ww {
39133
39508
  const h = this._roots;
39134
39509
  for (let u = 0, f = h.length; u < f; u++) {
39135
39510
  const d = h[u];
39136
- if (c = Hw(this, u, n, i, t, l), c)
39511
+ if (c = Ww(this, u, n, i, t, l), c)
39137
39512
  break;
39138
39513
  l += d.byteLength / mn;
39139
39514
  }
@@ -39152,10 +39527,10 @@ class Ww {
39152
39527
  */
39153
39528
  bvhcast(e, t, n) {
39154
39529
  let { intersectsRanges: i } = n;
39155
- return Vw(this, e, t, i);
39530
+ return qw(this, e, t, i);
39156
39531
  }
39157
39532
  }
39158
- function qw() {
39533
+ function jw() {
39159
39534
  return typeof SharedArrayBuffer < "u";
39160
39535
  }
39161
39536
  function ap(s) {
@@ -39164,32 +39539,32 @@ function ap(s) {
39164
39539
  function ou(s) {
39165
39540
  return ap(s) / 3;
39166
39541
  }
39167
- function Xw(s, e = ArrayBuffer) {
39542
+ function Kw(s, e = ArrayBuffer) {
39168
39543
  return s > 65535 ? new Uint32Array(new e(4 * s)) : new Uint16Array(new e(2 * s));
39169
39544
  }
39170
- function jw(s, e) {
39545
+ function Yw(s, e) {
39171
39546
  if (!s.index) {
39172
- const t = s.attributes.position.count, n = e.useSharedArrayBuffer ? SharedArrayBuffer : ArrayBuffer, i = Xw(t, n);
39547
+ const t = s.attributes.position.count, n = e.useSharedArrayBuffer ? SharedArrayBuffer : ArrayBuffer, i = Kw(t, n);
39173
39548
  s.setIndex(new ot(i, 1));
39174
39549
  for (let r = 0; r < t; r++)
39175
39550
  i[r] = r;
39176
39551
  }
39177
39552
  }
39178
- function Kw(s, e, t) {
39553
+ function Jw(s, e, t) {
39179
39554
  const n = ap(s) / t, i = e || s.drawRange, r = i.start / t, a = (i.start + i.count) / t, o = Math.max(0, r), c = Math.min(n, a) - o;
39180
39555
  return {
39181
39556
  offset: Math.floor(o),
39182
39557
  count: Math.floor(c)
39183
39558
  };
39184
39559
  }
39185
- function Yw(s, e) {
39560
+ function Zw(s, e) {
39186
39561
  return s.groups.map((t) => ({
39187
39562
  offset: t.start / e,
39188
39563
  count: t.count / e
39189
39564
  }));
39190
39565
  }
39191
39566
  function dg(s, e, t) {
39192
- const n = Kw(s, e, t), i = Yw(s, t);
39567
+ const n = Jw(s, e, t), i = Zw(s, t);
39193
39568
  if (!i.length)
39194
39569
  return [n];
39195
39570
  const r = [], a = n.offset, o = n.offset + n.count, c = ap(s) / t, l = [];
@@ -39208,7 +39583,7 @@ function dg(s, e, t) {
39208
39583
  }
39209
39584
  return r;
39210
39585
  }
39211
- function Jw(s, e) {
39586
+ function $w(s, e) {
39212
39587
  const t = s[s.length - 1], n = t.offset + t.count > 2 ** 16, i = s.reduce((l, h) => l + h.count, 0), r = n ? 4 : 2, a = e ? new SharedArrayBuffer(i * r) : new ArrayBuffer(i * r), o = n ? new Uint32Array(a) : new Uint16Array(a);
39213
39588
  let c = 0;
39214
39589
  for (let l = 0; l < s.length; l++) {
@@ -39219,7 +39594,7 @@ function Jw(s, e) {
39219
39594
  }
39220
39595
  return o;
39221
39596
  }
39222
- class Zw extends Ww {
39597
+ class eT extends Xw {
39223
39598
  /**
39224
39599
  * Whether the BVH was built in indirect mode.
39225
39600
  * @type {boolean}
@@ -39246,20 +39621,20 @@ class Zw extends Ww {
39246
39621
  if (e.index && e.index.isInterleavedBufferAttribute)
39247
39622
  throw new Error("BVH: InterleavedBufferAttribute is not supported for the index attribute.");
39248
39623
  } else throw new Error("BVH: Only BufferGeometries are supported.");
39249
- if (t.useSharedArrayBuffer && !qw())
39624
+ if (t.useSharedArrayBuffer && !jw())
39250
39625
  throw new Error("BVH: SharedArrayBuffer is not available.");
39251
39626
  super(), this.geometry = e, this.resolvePrimitiveIndex = t.indirect ? (n) => this._indirectBuffer[n] : (n) => n, this.primitiveBuffer = null, this.primitiveBufferStride = null, this._indirectBuffer = null, t = {
39252
- ...Lb,
39627
+ ...Fb,
39253
39628
  ...t
39254
39629
  }, t[ip] || this.init(t);
39255
39630
  }
39256
39631
  init(e) {
39257
39632
  const { geometry: t, primitiveStride: n } = this;
39258
39633
  if (e.indirect) {
39259
- const i = dg(t, e.range, n), r = Jw(i, e.useSharedArrayBuffer);
39634
+ const i = dg(t, e.range, n), r = $w(i, e.useSharedArrayBuffer);
39260
39635
  this._indirectBuffer = r;
39261
39636
  } else
39262
- jw(t, e);
39637
+ Yw(t, e);
39263
39638
  super.init(e), !t.boundingBox && e.setBoundingBox && (t.boundingBox = this.getBoundingBox(new vt()));
39264
39639
  }
39265
39640
  // Abstract methods to be implemented by subclasses
@@ -39309,7 +39684,7 @@ Yi.prototype.setFromBox = /* @__PURE__ */ (function() {
39309
39684
  this.min = a, this.max = o;
39310
39685
  };
39311
39686
  })();
39312
- const $w = /* @__PURE__ */ (function() {
39687
+ const tT = /* @__PURE__ */ (function() {
39313
39688
  const s = /* @__PURE__ */ new T(), e = /* @__PURE__ */ new T(), t = /* @__PURE__ */ new T();
39314
39689
  return function(i, r, a) {
39315
39690
  const o = i.start, c = s, l = r.start, h = e;
@@ -39321,7 +39696,7 @@ const $w = /* @__PURE__ */ (function() {
39321
39696
  })(), op = /* @__PURE__ */ (function() {
39322
39697
  const s = /* @__PURE__ */ new Y(), e = /* @__PURE__ */ new T(), t = /* @__PURE__ */ new T();
39323
39698
  return function(i, r, a, o) {
39324
- $w(i, r, s);
39699
+ tT(i, r, s);
39325
39700
  let c = s.x, l = s.y;
39326
39701
  if (c >= 0 && c <= 1 && l >= 0 && l <= 1) {
39327
39702
  i.at(c, a), r.at(l, o);
@@ -39347,7 +39722,7 @@ const $w = /* @__PURE__ */ (function() {
39347
39722
  }
39348
39723
  }
39349
39724
  };
39350
- })(), eT = /* @__PURE__ */ (function() {
39725
+ })(), nT = /* @__PURE__ */ (function() {
39351
39726
  const s = /* @__PURE__ */ new T(), e = /* @__PURE__ */ new T(), t = /* @__PURE__ */ new jn(), n = /* @__PURE__ */ new zn();
39352
39727
  return function(r, a) {
39353
39728
  const { radius: o, center: c } = r, { a: l, b: h, c: u } = a;
@@ -39359,7 +39734,7 @@ const $w = /* @__PURE__ */ (function() {
39359
39734
  }
39360
39735
  return !1;
39361
39736
  };
39362
- })(), tT = ["x", "y", "z"], Hi = 1e-15, pg = Hi * Hi;
39737
+ })(), iT = ["x", "y", "z"], Hi = 1e-15, pg = Hi * Hi;
39363
39738
  function Wn(s) {
39364
39739
  return Math.abs(s) < Hi;
39365
39740
  }
@@ -39373,7 +39748,7 @@ class Zn extends mt {
39373
39748
  * @returns {boolean}
39374
39749
  */
39375
39750
  intersectsSphere(e) {
39376
- return eT(e, this);
39751
+ return nT(e, this);
39377
39752
  }
39378
39753
  update() {
39379
39754
  const e = this.a, t = this.b, n = this.c, i = this.points, r = this.satAxes, a = this.satBounds, o = r[0], c = a[0];
@@ -39492,7 +39867,7 @@ Zn.prototype.intersectsTriangle = /* @__PURE__ */ (function() {
39492
39867
  let $ = 0, Z = Math.abs(ie.x);
39493
39868
  const ge = Math.abs(ie.y);
39494
39869
  ge > Z && (Z = ge, $ = 1), Math.abs(ie.z) > Z && ($ = 2);
39495
- const tt = tT[$], K = this.a[tt], ae = this.b[tt], oe = this.c[tt], Re = _.a[tt], we = _.b[tt], He = _.c[tt];
39870
+ const tt = iT[$], K = this.a[tt], ae = this.b[tt], oe = this.c[tt], Re = _.a[tt], we = _.b[tt], He = _.c[tt];
39496
39871
  if (p(this, K, ae, oe, D, L, w, C, B, h, o))
39497
39872
  return f(this, _, v, S);
39498
39873
  if (p(_, Re, we, He, J, z, F, U, O, u, c))
@@ -39669,13 +40044,13 @@ Tn.prototype.distanceToBox = /* @__PURE__ */ (function() {
39669
40044
  return Math.sqrt(p);
39670
40045
  };
39671
40046
  })();
39672
- class nT extends rp {
40047
+ class sT extends rp {
39673
40048
  constructor() {
39674
40049
  super(() => new Zn());
39675
40050
  }
39676
40051
  }
39677
- const Yn = /* @__PURE__ */ new nT(), Ja = /* @__PURE__ */ new T(), bf = /* @__PURE__ */ new T();
39678
- function iT(s, e, t = {}, n = 0, i = 1 / 0) {
40052
+ const Yn = /* @__PURE__ */ new sT(), Ja = /* @__PURE__ */ new T(), bf = /* @__PURE__ */ new T();
40053
+ function rT(s, e, t = {}, n = 0, i = 1 / 0) {
39679
40054
  const r = n * n, a = i * i;
39680
40055
  let o = 1 / 0, c = null;
39681
40056
  if (s.shapecast(
@@ -39692,8 +40067,8 @@ function iT(s, e, t = {}, n = 0, i = 1 / 0) {
39692
40067
  const l = Math.sqrt(o);
39693
40068
  return t.point ? t.point.copy(bf) : t.point = bf.clone(), t.distance = l, t.faceIndex = c, t;
39694
40069
  }
39695
- const ul = parseInt("183") >= 169, sT = parseInt("183") <= 161, Xs = /* @__PURE__ */ new T(), js = /* @__PURE__ */ new T(), Ks = /* @__PURE__ */ new T(), fl = /* @__PURE__ */ new Y(), dl = /* @__PURE__ */ new Y(), pl = /* @__PURE__ */ new Y(), Ag = /* @__PURE__ */ new T(), gg = /* @__PURE__ */ new T(), mg = /* @__PURE__ */ new T(), Za = /* @__PURE__ */ new T();
39696
- function rT(s, e, t, n, i, r, a, o) {
40070
+ const ul = parseInt("183") >= 169, aT = parseInt("183") <= 161, Xs = /* @__PURE__ */ new T(), js = /* @__PURE__ */ new T(), Ks = /* @__PURE__ */ new T(), fl = /* @__PURE__ */ new Y(), dl = /* @__PURE__ */ new Y(), pl = /* @__PURE__ */ new Y(), Ag = /* @__PURE__ */ new T(), gg = /* @__PURE__ */ new T(), mg = /* @__PURE__ */ new T(), Za = /* @__PURE__ */ new T();
40071
+ function oT(s, e, t, n, i, r, a, o) {
39697
40072
  let c;
39698
40073
  if (r === cn ? c = s.intersectTriangle(n, t, e, !0, i) : c = s.intersectTriangle(e, t, n, r !== En, i), c === null) return null;
39699
40074
  const l = s.origin.distanceTo(i);
@@ -39704,7 +40079,7 @@ function rT(s, e, t, n, i, r, a, o) {
39704
40079
  }
39705
40080
  function bg(s, e, t, n, i, r, a, o, c, l, h) {
39706
40081
  Xs.fromBufferAttribute(e, r), js.fromBufferAttribute(e, a), Ks.fromBufferAttribute(e, o);
39707
- const u = rT(s, Xs, js, Ks, Za, c, l, h);
40082
+ const u = oT(s, Xs, js, Ks, Za, c, l, h);
39708
40083
  if (u) {
39709
40084
  if (n) {
39710
40085
  fl.fromBufferAttribute(n, r), dl.fromBufferAttribute(n, a), pl.fromBufferAttribute(n, o), u.uv = new Y();
@@ -39714,7 +40089,7 @@ function bg(s, e, t, n, i, r, a, o, c, l, h) {
39714
40089
  if (i) {
39715
40090
  fl.fromBufferAttribute(i, r), dl.fromBufferAttribute(i, a), pl.fromBufferAttribute(i, o), u.uv1 = new Y();
39716
40091
  const d = mt.getInterpolation(Za, Xs, js, Ks, fl, dl, pl, u.uv1);
39717
- ul || (u.uv1 = d), sT && (u.uv2 = u.uv1);
40092
+ ul || (u.uv1 = d), aT && (u.uv2 = u.uv1);
39718
40093
  }
39719
40094
  if (t) {
39720
40095
  Ag.fromBufferAttribute(t, r), gg.fromBufferAttribute(t, a), mg.fromBufferAttribute(t, o), u.normal = new T();
@@ -39772,12 +40147,12 @@ function zt(s, e, t, n) {
39772
40147
  let o = e, c = e + 1, l = e + 2;
39773
40148
  t && (o = t.getX(o), c = t.getX(c), l = t.getX(l)), i.x = n.getX(o), i.y = n.getY(o), i.z = n.getZ(o), r.x = n.getX(c), r.y = n.getY(c), r.z = n.getZ(c), a.x = n.getX(l), a.y = n.getY(l), a.z = n.getZ(l);
39774
40149
  }
39775
- function aT(s, e, t, n, i, r, a, o) {
40150
+ function cT(s, e, t, n, i, r, a, o) {
39776
40151
  const { geometry: c, _indirectBuffer: l } = s;
39777
40152
  for (let h = n, u = n + i; h < u; h++)
39778
40153
  cu(c, e, t, h, r, a, o);
39779
40154
  }
39780
- function oT(s, e, t, n, i, r, a) {
40155
+ function lT(s, e, t, n, i, r, a) {
39781
40156
  const { geometry: o, _indirectBuffer: c } = s;
39782
40157
  let l = 1 / 0, h = null;
39783
40158
  for (let u = n, f = n + i; u < f; u++) {
@@ -39786,7 +40161,7 @@ function oT(s, e, t, n, i, r, a) {
39786
40161
  }
39787
40162
  return h;
39788
40163
  }
39789
- function cT(s, e, t, n, i, r, a) {
40164
+ function hT(s, e, t, n, i, r, a) {
39790
40165
  const { geometry: o } = t, { index: c } = o, l = o.attributes.position;
39791
40166
  for (let h = s, u = e + s; h < u; h++) {
39792
40167
  let f;
@@ -39795,7 +40170,7 @@ function cT(s, e, t, n, i, r, a) {
39795
40170
  }
39796
40171
  return !1;
39797
40172
  }
39798
- function lT(s, e = null) {
40173
+ function uT(s, e = null) {
39799
40174
  e && Array.isArray(e) && (e = new Set(e));
39800
40175
  const t = s.geometry, n = t.index ? t.index.array : null, i = t.attributes.position;
39801
40176
  let r, a, o, c, l = 0;
@@ -39844,14 +40219,14 @@ function Ms(s, e, t, n, i) {
39844
40219
  let A = e[s], m = e[s + 3], x = e[s + 1], _ = e[s + 3 + 1], v = e[s + 2], S = e[s + 3 + 2];
39845
40220
  return u >= 0 ? (r = (A - p) * u, a = (m - p) * u) : (r = (m - p) * u, a = (A - p) * u), f >= 0 ? (o = (x - b) * f, c = (_ - b) * f) : (o = (_ - b) * f, c = (x - b) * f), r > c || o > a || ((o > r || isNaN(r)) && (r = o), (c < a || isNaN(a)) && (a = c), d >= 0 ? (l = (v - g) * d, h = (S - g) * d) : (l = (S - g) * d, h = (v - g) * d), r > h || l > a) ? !1 : ((l > r || r !== r) && (r = l), (h < a || a !== a) && (a = h), r <= i && a >= n);
39846
40221
  }
39847
- function hT(s, e, t, n, i, r, a, o) {
40222
+ function fT(s, e, t, n, i, r, a, o) {
39848
40223
  const { geometry: c, _indirectBuffer: l } = s;
39849
40224
  for (let h = n, u = n + i; h < u; h++) {
39850
40225
  let f = l ? l[h] : h;
39851
40226
  cu(c, e, t, f, r, a, o);
39852
40227
  }
39853
40228
  }
39854
- function uT(s, e, t, n, i, r, a) {
40229
+ function dT(s, e, t, n, i, r, a) {
39855
40230
  const { geometry: o, _indirectBuffer: c } = s;
39856
40231
  let l = 1 / 0, h = null;
39857
40232
  for (let u = n, f = n + i; u < f; u++) {
@@ -39860,7 +40235,7 @@ function uT(s, e, t, n, i, r, a) {
39860
40235
  }
39861
40236
  return h;
39862
40237
  }
39863
- function fT(s, e, t, n, i, r, a) {
40238
+ function pT(s, e, t, n, i, r, a) {
39864
40239
  const { geometry: o } = t, { index: c } = o, l = o.attributes.position;
39865
40240
  for (let h = s, u = e + s; h < u; h++) {
39866
40241
  let f;
@@ -39869,38 +40244,38 @@ function fT(s, e, t, n, i, r, a) {
39869
40244
  }
39870
40245
  return !1;
39871
40246
  }
39872
- function dT(s, e, t, n, i, r, a) {
39873
- Mt.setBuffer(s._roots[e]), od(0, s, t, n, i, r, a), Mt.clearBuffer();
40247
+ function AT(s, e, t, n, i, r, a) {
40248
+ Mt.setBuffer(s._roots[e]), ld(0, s, t, n, i, r, a), Mt.clearBuffer();
39874
40249
  }
39875
- function od(s, e, t, n, i, r, a) {
40250
+ function ld(s, e, t, n, i, r, a) {
39876
40251
  const { float32Array: o, uint16Array: c, uint32Array: l } = Mt, h = s * 2;
39877
40252
  if (Xt(h, c)) {
39878
40253
  const f = bn(s, l), d = Cn(h, c);
39879
- aT(e, t, n, f, d, i, r, a);
40254
+ cT(e, t, n, f, d, i, r, a);
39880
40255
  } else {
39881
40256
  const f = nn(s);
39882
- Ms(f, o, n, r, a) && od(f, e, t, n, i, r, a);
40257
+ Ms(f, o, n, r, a) && ld(f, e, t, n, i, r, a);
39883
40258
  const d = sn(s, l);
39884
- Ms(d, o, n, r, a) && od(d, e, t, n, i, r, a);
40259
+ Ms(d, o, n, r, a) && ld(d, e, t, n, i, r, a);
39885
40260
  }
39886
40261
  }
39887
- const pT = ["x", "y", "z"];
39888
- function AT(s, e, t, n, i, r) {
40262
+ const gT = ["x", "y", "z"];
40263
+ function mT(s, e, t, n, i, r) {
39889
40264
  Mt.setBuffer(s._roots[e]);
39890
- const a = cd(0, s, t, n, i, r);
40265
+ const a = hd(0, s, t, n, i, r);
39891
40266
  return Mt.clearBuffer(), a;
39892
40267
  }
39893
- function cd(s, e, t, n, i, r) {
40268
+ function hd(s, e, t, n, i, r) {
39894
40269
  const { float32Array: a, uint16Array: o, uint32Array: c } = Mt;
39895
40270
  let l = s * 2;
39896
40271
  if (Xt(l, o)) {
39897
40272
  const u = bn(s, c), f = Cn(l, o);
39898
- return oT(e, t, n, u, f, i, r);
40273
+ return lT(e, t, n, u, f, i, r);
39899
40274
  } else {
39900
- const u = sp(s, c), f = pT[u], p = n.direction[f] >= 0;
40275
+ const u = sp(s, c), f = gT[u], p = n.direction[f] >= 0;
39901
40276
  let b, g;
39902
40277
  p ? (b = nn(s), g = sn(s, c)) : (b = sn(s, c), g = nn(s));
39903
- const m = Ms(b, a, n, i, r) ? cd(b, e, t, n, i, r) : null;
40278
+ const m = Ms(b, a, n, i, r) ? hd(b, e, t, n, i, r) : null;
39904
40279
  if (m) {
39905
40280
  const v = m.point[f];
39906
40281
  if (p ? v <= a[g + u] : (
@@ -39909,17 +40284,17 @@ function cd(s, e, t, n, i, r) {
39909
40284
  ))
39910
40285
  return m;
39911
40286
  }
39912
- const _ = Ms(g, a, n, i, r) ? cd(g, e, t, n, i, r) : null;
40287
+ const _ = Ms(g, a, n, i, r) ? hd(g, e, t, n, i, r) : null;
39913
40288
  return m && _ ? m.distance <= _.distance ? m : _ : m || _ || null;
39914
40289
  }
39915
40290
  }
39916
40291
  const Al = /* @__PURE__ */ new vt(), ra = /* @__PURE__ */ new Zn(), aa = /* @__PURE__ */ new Zn(), $a = /* @__PURE__ */ new ve(), _g = /* @__PURE__ */ new Tn(), gl = /* @__PURE__ */ new Tn();
39917
- function gT(s, e, t, n) {
40292
+ function bT(s, e, t, n) {
39918
40293
  Mt.setBuffer(s._roots[e]);
39919
- const i = ld(0, s, t, n);
40294
+ const i = ud(0, s, t, n);
39920
40295
  return Mt.clearBuffer(), i;
39921
40296
  }
39922
- function ld(s, e, t, n, i = null) {
40297
+ function ud(s, e, t, n, i = null) {
39923
40298
  const { float32Array: r, uint16Array: a, uint32Array: o } = Mt;
39924
40299
  let c = s * 2;
39925
40300
  if (i === null && (t.boundingBox || t.computeBoundingBox(), _g.set(t.boundingBox.min, t.boundingBox.max, n), i = _g), Xt(c, a)) {
@@ -39946,15 +40321,15 @@ function ld(s, e, t, n, i = null) {
39946
40321
  }
39947
40322
  } else {
39948
40323
  const h = nn(s), u = sn(s, o);
39949
- return Ft(h, r, Al), !!(i.intersectsBox(Al) && ld(h, e, t, n, i) || (Ft(u, r, Al), i.intersectsBox(Al) && ld(u, e, t, n, i)));
40324
+ return Ft(h, r, Al), !!(i.intersectsBox(Al) && ud(h, e, t, n, i) || (Ft(u, r, Al), i.intersectsBox(Al) && ud(u, e, t, n, i)));
39950
40325
  }
39951
40326
  }
39952
- const ml = /* @__PURE__ */ new ve(), xf = /* @__PURE__ */ new Tn(), eo = /* @__PURE__ */ new Tn(), mT = /* @__PURE__ */ new T(), bT = /* @__PURE__ */ new T(), xT = /* @__PURE__ */ new T(), _T = /* @__PURE__ */ new T();
39953
- function yT(s, e, t, n = {}, i = {}, r = 0, a = 1 / 0) {
40327
+ const ml = /* @__PURE__ */ new ve(), xf = /* @__PURE__ */ new Tn(), eo = /* @__PURE__ */ new Tn(), xT = /* @__PURE__ */ new T(), _T = /* @__PURE__ */ new T(), yT = /* @__PURE__ */ new T(), vT = /* @__PURE__ */ new T();
40328
+ function ET(s, e, t, n = {}, i = {}, r = 0, a = 1 / 0) {
39954
40329
  e.boundingBox || e.computeBoundingBox(), xf.set(e.boundingBox.min, e.boundingBox.max, t), xf.needsUpdate = !0;
39955
40330
  const o = s.geometry, c = o.attributes.position, l = o.index, h = e.attributes.position, u = e.index, f = Yn.getPrimitive(), d = Yn.getPrimitive();
39956
- let p = mT, b = bT, g = null, A = null;
39957
- i && (g = xT, A = _T);
40331
+ let p = xT, b = _T, g = null, A = null;
40332
+ i && (g = yT, A = vT);
39958
40333
  let m = 1 / 0, x = null, _ = null;
39959
40334
  return ml.copy(t).invert(), eo.matrix.copy(ml), s.shapecast(
39960
40335
  {
@@ -39993,7 +40368,7 @@ function yT(s, e, t, n = {}, i = {}, r = 0, a = 1 / 0) {
39993
40368
  }
39994
40369
  ), Yn.releasePrimitive(f), Yn.releasePrimitive(d), m === 1 / 0 ? null : (n.point ? n.point.copy(b) : n.point = b.clone(), n.distance = m, n.faceIndex = x, i && (i.point ? i.point.copy(A) : i.point = A.clone(), i.point.applyMatrix4(ml), b.applyMatrix4(ml), i.distance = b.sub(i.point).length(), i.faceIndex = _), n);
39995
40370
  }
39996
- function vT(s, e = null) {
40371
+ function ST(s, e = null) {
39997
40372
  e && Array.isArray(e) && (e = new Set(e));
39998
40373
  const t = s.geometry, n = t.index ? t.index.array : null, i = t.attributes.position;
39999
40374
  let r, a, o, c, l = 0;
@@ -40040,38 +40415,38 @@ function vT(s, e = null) {
40040
40415
  }
40041
40416
  }
40042
40417
  }
40043
- function ET(s, e, t, n, i, r, a) {
40044
- Mt.setBuffer(s._roots[e]), hd(0, s, t, n, i, r, a), Mt.clearBuffer();
40418
+ function IT(s, e, t, n, i, r, a) {
40419
+ Mt.setBuffer(s._roots[e]), fd(0, s, t, n, i, r, a), Mt.clearBuffer();
40045
40420
  }
40046
- function hd(s, e, t, n, i, r, a) {
40421
+ function fd(s, e, t, n, i, r, a) {
40047
40422
  const { float32Array: o, uint16Array: c, uint32Array: l } = Mt, h = s * 2;
40048
40423
  if (Xt(h, c)) {
40049
40424
  const f = bn(s, l), d = Cn(h, c);
40050
- hT(e, t, n, f, d, i, r, a);
40425
+ fT(e, t, n, f, d, i, r, a);
40051
40426
  } else {
40052
40427
  const f = nn(s);
40053
- Ms(f, o, n, r, a) && hd(f, e, t, n, i, r, a);
40428
+ Ms(f, o, n, r, a) && fd(f, e, t, n, i, r, a);
40054
40429
  const d = sn(s, l);
40055
- Ms(d, o, n, r, a) && hd(d, e, t, n, i, r, a);
40430
+ Ms(d, o, n, r, a) && fd(d, e, t, n, i, r, a);
40056
40431
  }
40057
40432
  }
40058
- const ST = ["x", "y", "z"];
40059
- function IT(s, e, t, n, i, r) {
40433
+ const MT = ["x", "y", "z"];
40434
+ function CT(s, e, t, n, i, r) {
40060
40435
  Mt.setBuffer(s._roots[e]);
40061
- const a = ud(0, s, t, n, i, r);
40436
+ const a = dd(0, s, t, n, i, r);
40062
40437
  return Mt.clearBuffer(), a;
40063
40438
  }
40064
- function ud(s, e, t, n, i, r) {
40439
+ function dd(s, e, t, n, i, r) {
40065
40440
  const { float32Array: a, uint16Array: o, uint32Array: c } = Mt;
40066
40441
  let l = s * 2;
40067
40442
  if (Xt(l, o)) {
40068
40443
  const u = bn(s, c), f = Cn(l, o);
40069
- return uT(e, t, n, u, f, i, r);
40444
+ return dT(e, t, n, u, f, i, r);
40070
40445
  } else {
40071
- const u = sp(s, c), f = ST[u], p = n.direction[f] >= 0;
40446
+ const u = sp(s, c), f = MT[u], p = n.direction[f] >= 0;
40072
40447
  let b, g;
40073
40448
  p ? (b = nn(s), g = sn(s, c)) : (b = sn(s, c), g = nn(s));
40074
- const m = Ms(b, a, n, i, r) ? ud(b, e, t, n, i, r) : null;
40449
+ const m = Ms(b, a, n, i, r) ? dd(b, e, t, n, i, r) : null;
40075
40450
  if (m) {
40076
40451
  const v = m.point[f];
40077
40452
  if (p ? v <= a[g + u] : (
@@ -40080,17 +40455,17 @@ function ud(s, e, t, n, i, r) {
40080
40455
  ))
40081
40456
  return m;
40082
40457
  }
40083
- const _ = Ms(g, a, n, i, r) ? ud(g, e, t, n, i, r) : null;
40458
+ const _ = Ms(g, a, n, i, r) ? dd(g, e, t, n, i, r) : null;
40084
40459
  return m && _ ? m.distance <= _.distance ? m : _ : m || _ || null;
40085
40460
  }
40086
40461
  }
40087
40462
  const bl = /* @__PURE__ */ new vt(), oa = /* @__PURE__ */ new Zn(), ca = /* @__PURE__ */ new Zn(), to = /* @__PURE__ */ new ve(), yg = /* @__PURE__ */ new Tn(), xl = /* @__PURE__ */ new Tn();
40088
- function MT(s, e, t, n) {
40463
+ function wT(s, e, t, n) {
40089
40464
  Mt.setBuffer(s._roots[e]);
40090
- const i = fd(0, s, t, n);
40465
+ const i = pd(0, s, t, n);
40091
40466
  return Mt.clearBuffer(), i;
40092
40467
  }
40093
- function fd(s, e, t, n, i = null) {
40468
+ function pd(s, e, t, n, i = null) {
40094
40469
  const { float32Array: r, uint16Array: a, uint32Array: o } = Mt;
40095
40470
  let c = s * 2;
40096
40471
  if (i === null && (t.boundingBox || t.computeBoundingBox(), yg.set(t.boundingBox.min, t.boundingBox.max, n), i = yg), Xt(c, a)) {
@@ -40118,15 +40493,15 @@ function fd(s, e, t, n, i = null) {
40118
40493
  }
40119
40494
  } else {
40120
40495
  const h = nn(s), u = sn(s, o);
40121
- return Ft(h, r, bl), !!(i.intersectsBox(bl) && fd(h, e, t, n, i) || (Ft(u, r, bl), i.intersectsBox(bl) && fd(u, e, t, n, i)));
40496
+ return Ft(h, r, bl), !!(i.intersectsBox(bl) && pd(h, e, t, n, i) || (Ft(u, r, bl), i.intersectsBox(bl) && pd(u, e, t, n, i)));
40122
40497
  }
40123
40498
  }
40124
- const _l = /* @__PURE__ */ new ve(), _f = /* @__PURE__ */ new Tn(), no = /* @__PURE__ */ new Tn(), CT = /* @__PURE__ */ new T(), wT = /* @__PURE__ */ new T(), TT = /* @__PURE__ */ new T(), BT = /* @__PURE__ */ new T();
40125
- function RT(s, e, t, n = {}, i = {}, r = 0, a = 1 / 0) {
40499
+ const _l = /* @__PURE__ */ new ve(), _f = /* @__PURE__ */ new Tn(), no = /* @__PURE__ */ new Tn(), TT = /* @__PURE__ */ new T(), BT = /* @__PURE__ */ new T(), RT = /* @__PURE__ */ new T(), DT = /* @__PURE__ */ new T();
40500
+ function PT(s, e, t, n = {}, i = {}, r = 0, a = 1 / 0) {
40126
40501
  e.boundingBox || e.computeBoundingBox(), _f.set(e.boundingBox.min, e.boundingBox.max, t), _f.needsUpdate = !0;
40127
40502
  const o = s.geometry, c = o.attributes.position, l = o.index, h = e.attributes.position, u = e.index, f = Yn.getPrimitive(), d = Yn.getPrimitive();
40128
- let p = CT, b = wT, g = null, A = null;
40129
- i && (g = TT, A = BT);
40503
+ let p = TT, b = BT, g = null, A = null;
40504
+ i && (g = RT, A = DT);
40130
40505
  let m = 1 / 0, x = null, _ = null;
40131
40506
  return _l.copy(t).invert(), no.matrix.copy(_l), s.shapecast(
40132
40507
  {
@@ -40173,7 +40548,7 @@ function vg(s, e, t) {
40173
40548
  return s === null ? null : (s.point.applyMatrix4(e.matrixWorld), s.distance = s.point.distanceTo(t.ray.origin), s.object = e, s);
40174
40549
  }
40175
40550
  const yl = /* @__PURE__ */ new Tn(), vl = /* @__PURE__ */ new Ji(), Eg = /* @__PURE__ */ new T(), Sg = /* @__PURE__ */ new ve(), Ig = /* @__PURE__ */ new T(), yf = ["getX", "getY", "getZ"];
40176
- class jo extends Zw {
40551
+ class jo extends eT {
40177
40552
  /**
40178
40553
  * Generates a representation of the complete bounds tree and the geometry index buffer which
40179
40554
  * can be used to recreate a bounds tree using the `deserialize` function. The `serialize` and
@@ -40357,7 +40732,7 @@ class jo extends Zw {
40357
40732
  * @param {Set<number>|Array<number>|null} [nodeIndices=null]
40358
40733
  */
40359
40734
  refit(e = null) {
40360
- return (this.indirect ? vT : lT)(this, e);
40735
+ return (this.indirect ? ST : uT)(this, e);
40361
40736
  }
40362
40737
  /* Core Cast Functions */
40363
40738
  /**
@@ -40380,7 +40755,7 @@ class jo extends Zw {
40380
40755
  * @returns {Array<Intersection>}
40381
40756
  */
40382
40757
  raycast(e, t = Gn, n = 0, i = 1 / 0) {
40383
- const r = this._roots, a = [], o = this.indirect ? ET : dT;
40758
+ const r = this._roots, a = [], o = this.indirect ? IT : AT;
40384
40759
  for (let c = 0, l = r.length; c < l; c++)
40385
40760
  o(this, c, t, e, a, n, i);
40386
40761
  return a;
@@ -40399,7 +40774,7 @@ class jo extends Zw {
40399
40774
  raycastFirst(e, t = Gn, n = 0, i = 1 / 0) {
40400
40775
  const r = this._roots;
40401
40776
  let a = null;
40402
- const o = this.indirect ? IT : AT;
40777
+ const o = this.indirect ? CT : mT;
40403
40778
  for (let c = 0, l = r.length; c < l; c++) {
40404
40779
  const h = o(this, c, t, e, n, i);
40405
40780
  h != null && (a == null || h.distance < a.distance) && (a = h);
@@ -40420,7 +40795,7 @@ class jo extends Zw {
40420
40795
  */
40421
40796
  intersectsGeometry(e, t) {
40422
40797
  let n = !1;
40423
- const i = this._roots, r = this.indirect ? MT : gT;
40798
+ const i = this._roots, r = this.indirect ? wT : bT;
40424
40799
  for (let a = 0, o = i.length; a < o && (n = r(this, a, e, t), !n); a++)
40425
40800
  ;
40426
40801
  return n;
@@ -40446,7 +40821,7 @@ class jo extends Zw {
40446
40821
  scratchPrimitive: t,
40447
40822
  // TODO: is the performance significant enough for the added complexity here?
40448
40823
  // can we just use one function?
40449
- iterate: this.indirect ? fT : cT
40824
+ iterate: this.indirect ? pT : hT
40450
40825
  }
40451
40826
  );
40452
40827
  return Yn.releasePrimitive(t), n;
@@ -40557,496 +40932,121 @@ class jo extends Zw {
40557
40932
  * _Note that this function can be very slow if `geometry` does not have a
40558
40933
  * `geometry.boundsTree` computed._
40559
40934
  *
40560
- * @param {BufferGeometry} otherGeometry
40561
- * @param {Matrix4} geometryToBvh - Transform of `otherGeometry` into the local space of
40562
- * this BVH.
40563
- * @param {HitPointInfo} [target1={}]
40564
- * @param {HitPointInfo} [target2={}]
40565
- * @param {number} [minThreshold=0]
40566
- * @param {number} [maxThreshold=Infinity]
40567
- * @returns {HitPointInfo|null}
40568
- */
40569
- closestPointToGeometry(e, t, n = {}, i = {}, r = 0, a = 1 / 0) {
40570
- return (this.indirect ? RT : yT)(
40571
- this,
40572
- e,
40573
- t,
40574
- n,
40575
- i,
40576
- r,
40577
- a
40578
- );
40579
- }
40580
- /**
40581
- * Computes the closest distance from the point to the mesh and gives additional information
40582
- * in `target`. The target can be left undefined to default to a new object which is
40583
- * ultimately returned by the function.
40584
- *
40585
- * If a point is found that is closer than `minThreshold` then the function will return that
40586
- * result early. Any triangles or points outside of `maxThreshold` are ignored. If no point
40587
- * is found within the min / max thresholds then `null` is returned and the `target` object
40588
- * is not modified.
40589
- *
40590
- * The returned faceIndex can be used with the standalone function `getTriangleHitPointInfo`
40591
- * to obtain more information like UV coordinates, triangle normal and materialIndex.
40592
- *
40593
- * @param {Vector3} point
40594
- * @param {HitPointInfo} [target={}]
40935
+ * @param {BufferGeometry} otherGeometry
40936
+ * @param {Matrix4} geometryToBvh - Transform of `otherGeometry` into the local space of
40937
+ * this BVH.
40938
+ * @param {HitPointInfo} [target1={}]
40939
+ * @param {HitPointInfo} [target2={}]
40595
40940
  * @param {number} [minThreshold=0]
40596
40941
  * @param {number} [maxThreshold=Infinity]
40597
40942
  * @returns {HitPointInfo|null}
40598
40943
  */
40599
- closestPointToPoint(e, t = {}, n = 0, i = 1 / 0) {
40600
- return iT(
40944
+ closestPointToGeometry(e, t, n = {}, i = {}, r = 0, a = 1 / 0) {
40945
+ return (this.indirect ? PT : ET)(
40601
40946
  this,
40602
40947
  e,
40603
40948
  t,
40604
40949
  n,
40605
- i
40950
+ i,
40951
+ r,
40952
+ a
40606
40953
  );
40607
40954
  }
40608
- }
40609
- const la = {
40610
- Mesh: pe.prototype.raycast,
40611
- Line: Vt.prototype.raycast,
40612
- LineSegments: Hn.prototype.raycast,
40613
- LineLoop: nc.prototype.raycast,
40614
- Points: ic.prototype.raycast,
40615
- BatchedMesh: Bd.prototype.raycast
40616
- }, on = /* @__PURE__ */ new pe(), El = [];
40617
- function $1(s, e) {
40618
- if (this.isBatchedMesh)
40619
- DT.call(this, s, e);
40620
- else {
40621
- const { geometry: t } = this;
40622
- if (t.boundsTree)
40623
- t.boundsTree.raycastObject3D(this, s, e);
40624
- else {
40625
- let n;
40626
- if (this instanceof pe)
40627
- n = la.Mesh;
40628
- else if (this instanceof Hn)
40629
- n = la.LineSegments;
40630
- else if (this instanceof nc)
40631
- n = la.LineLoop;
40632
- else if (this instanceof Vt)
40633
- n = la.Line;
40634
- else if (this instanceof ic)
40635
- n = la.Points;
40636
- else
40637
- throw new Error("BVH: Fallback raycast function not found.");
40638
- n.call(this, s, e);
40639
- }
40640
- }
40641
- }
40642
- function DT(s, e) {
40643
- if (this.boundsTrees) {
40644
- const t = this.boundsTrees, n = this._drawInfo || this._instanceInfo, i = this._drawRanges || this._geometryInfo, r = this.matrixWorld;
40645
- on.material = this.material, on.geometry = this.geometry;
40646
- const a = on.geometry.boundsTree, o = on.geometry.drawRange;
40647
- on.geometry.boundingSphere === null && (on.geometry.boundingSphere = new Kt());
40648
- for (let c = 0, l = n.length; c < l; c++) {
40649
- if (!this.getVisibleAt(c))
40650
- continue;
40651
- const h = n[c].geometryIndex;
40652
- if (on.geometry.boundsTree = t[h], this.getMatrixAt(c, on.matrixWorld).premultiply(r), !on.geometry.boundsTree) {
40653
- this.getBoundingBoxAt(h, on.geometry.boundingBox), this.getBoundingSphereAt(h, on.geometry.boundingSphere);
40654
- const u = i[h];
40655
- on.geometry.setDrawRange(u.start, u.count);
40656
- }
40657
- on.raycast(s, El);
40658
- for (let u = 0, f = El.length; u < f; u++) {
40659
- const d = El[u];
40660
- d.object = this, d.batchId = c, e.push(d);
40661
- }
40662
- El.length = 0;
40663
- }
40664
- on.geometry.boundsTree = a, on.geometry.drawRange = o, on.material = null, on.geometry = null;
40665
- } else
40666
- la.BatchedMesh.call(this, s, e);
40667
- }
40668
- function eB(s = {}) {
40669
- const { type: e = jo } = s;
40670
- return this.boundsTree = new e(this, s), this.boundsTree;
40671
- }
40672
- function tB() {
40673
- this.boundsTree = null;
40674
- }
40675
- var ga = Object.freeze({
40676
- Linear: Object.freeze({
40677
- None: function(s) {
40678
- return s;
40679
- },
40680
- In: function(s) {
40681
- return s;
40682
- },
40683
- Out: function(s) {
40684
- return s;
40685
- },
40686
- InOut: function(s) {
40687
- return s;
40688
- }
40689
- }),
40690
- Quadratic: Object.freeze({
40691
- In: function(s) {
40692
- return s * s;
40693
- },
40694
- Out: function(s) {
40695
- return s * (2 - s);
40696
- },
40697
- InOut: function(s) {
40698
- return (s *= 2) < 1 ? 0.5 * s * s : -0.5 * (--s * (s - 2) - 1);
40699
- }
40700
- }),
40701
- Cubic: Object.freeze({
40702
- In: function(s) {
40703
- return s * s * s;
40704
- },
40705
- Out: function(s) {
40706
- return --s * s * s + 1;
40707
- },
40708
- InOut: function(s) {
40709
- return (s *= 2) < 1 ? 0.5 * s * s * s : 0.5 * ((s -= 2) * s * s + 2);
40710
- }
40711
- }),
40712
- Quartic: Object.freeze({
40713
- In: function(s) {
40714
- return s * s * s * s;
40715
- },
40716
- Out: function(s) {
40717
- return 1 - --s * s * s * s;
40718
- },
40719
- InOut: function(s) {
40720
- return (s *= 2) < 1 ? 0.5 * s * s * s * s : -0.5 * ((s -= 2) * s * s * s - 2);
40721
- }
40722
- }),
40723
- Quintic: Object.freeze({
40724
- In: function(s) {
40725
- return s * s * s * s * s;
40726
- },
40727
- Out: function(s) {
40728
- return --s * s * s * s * s + 1;
40729
- },
40730
- InOut: function(s) {
40731
- return (s *= 2) < 1 ? 0.5 * s * s * s * s * s : 0.5 * ((s -= 2) * s * s * s * s + 2);
40732
- }
40733
- }),
40734
- Sinusoidal: Object.freeze({
40735
- In: function(s) {
40736
- return 1 - Math.sin((1 - s) * Math.PI / 2);
40737
- },
40738
- Out: function(s) {
40739
- return Math.sin(s * Math.PI / 2);
40740
- },
40741
- InOut: function(s) {
40742
- return 0.5 * (1 - Math.sin(Math.PI * (0.5 - s)));
40743
- }
40744
- }),
40745
- Exponential: Object.freeze({
40746
- In: function(s) {
40747
- return s === 0 ? 0 : Math.pow(1024, s - 1);
40748
- },
40749
- Out: function(s) {
40750
- return s === 1 ? 1 : 1 - Math.pow(2, -10 * s);
40751
- },
40752
- InOut: function(s) {
40753
- return s === 0 ? 0 : s === 1 ? 1 : (s *= 2) < 1 ? 0.5 * Math.pow(1024, s - 1) : 0.5 * (-Math.pow(2, -10 * (s - 1)) + 2);
40754
- }
40755
- }),
40756
- Circular: Object.freeze({
40757
- In: function(s) {
40758
- return 1 - Math.sqrt(1 - s * s);
40759
- },
40760
- Out: function(s) {
40761
- return Math.sqrt(1 - --s * s);
40762
- },
40763
- InOut: function(s) {
40764
- return (s *= 2) < 1 ? -0.5 * (Math.sqrt(1 - s * s) - 1) : 0.5 * (Math.sqrt(1 - (s -= 2) * s) + 1);
40765
- }
40766
- }),
40767
- Elastic: Object.freeze({
40768
- In: function(s) {
40769
- return s === 0 ? 0 : s === 1 ? 1 : -Math.pow(2, 10 * (s - 1)) * Math.sin((s - 1.1) * 5 * Math.PI);
40770
- },
40771
- Out: function(s) {
40772
- return s === 0 ? 0 : s === 1 ? 1 : Math.pow(2, -10 * s) * Math.sin((s - 0.1) * 5 * Math.PI) + 1;
40773
- },
40774
- InOut: function(s) {
40775
- return s === 0 ? 0 : s === 1 ? 1 : (s *= 2, s < 1 ? -0.5 * Math.pow(2, 10 * (s - 1)) * Math.sin((s - 1.1) * 5 * Math.PI) : 0.5 * Math.pow(2, -10 * (s - 1)) * Math.sin((s - 1.1) * 5 * Math.PI) + 1);
40776
- }
40777
- }),
40778
- Back: Object.freeze({
40779
- In: function(s) {
40780
- var e = 1.70158;
40781
- return s === 1 ? 1 : s * s * ((e + 1) * s - e);
40782
- },
40783
- Out: function(s) {
40784
- var e = 1.70158;
40785
- return s === 0 ? 0 : --s * s * ((e + 1) * s + e) + 1;
40786
- },
40787
- InOut: function(s) {
40788
- var e = 2.5949095;
40789
- return (s *= 2) < 1 ? 0.5 * (s * s * ((e + 1) * s - e)) : 0.5 * ((s -= 2) * s * ((e + 1) * s + e) + 2);
40790
- }
40791
- }),
40792
- Bounce: Object.freeze({
40793
- In: function(s) {
40794
- return 1 - ga.Bounce.Out(1 - s);
40795
- },
40796
- Out: function(s) {
40797
- return s < 1 / 2.75 ? 7.5625 * s * s : s < 2 / 2.75 ? 7.5625 * (s -= 1.5 / 2.75) * s + 0.75 : s < 2.5 / 2.75 ? 7.5625 * (s -= 2.25 / 2.75) * s + 0.9375 : 7.5625 * (s -= 2.625 / 2.75) * s + 0.984375;
40798
- },
40799
- InOut: function(s) {
40800
- return s < 0.5 ? ga.Bounce.In(s * 2) * 0.5 : ga.Bounce.Out(s * 2 - 1) * 0.5 + 0.5;
40801
- }
40802
- }),
40803
- generatePow: function(s) {
40804
- return s === void 0 && (s = 4), s = s < Number.EPSILON ? Number.EPSILON : s, s = s > 1e4 ? 1e4 : s, {
40805
- In: function(e) {
40806
- return Math.pow(e, s);
40807
- },
40808
- Out: function(e) {
40809
- return 1 - Math.pow(1 - e, s);
40810
- },
40811
- InOut: function(e) {
40812
- return e < 0.5 ? Math.pow(e * 2, s) / 2 : (1 - Math.pow(2 - e * 2, s)) / 2 + 0.5;
40813
- }
40814
- };
40815
- }
40816
- }), ho = function() {
40817
- return performance.now();
40818
- }, PT = (
40819
- /** @class */
40820
- (function() {
40821
- function s() {
40822
- this._tweens = {}, this._tweensAddedDuringUpdate = {};
40823
- }
40824
- return s.prototype.getAll = function() {
40825
- var e = this;
40826
- return Object.keys(this._tweens).map(function(t) {
40827
- return e._tweens[t];
40828
- });
40829
- }, s.prototype.removeAll = function() {
40830
- this._tweens = {};
40831
- }, s.prototype.add = function(e) {
40832
- this._tweens[e.getId()] = e, this._tweensAddedDuringUpdate[e.getId()] = e;
40833
- }, s.prototype.remove = function(e) {
40834
- delete this._tweens[e.getId()], delete this._tweensAddedDuringUpdate[e.getId()];
40835
- }, s.prototype.update = function(e, t) {
40836
- e === void 0 && (e = ho()), t === void 0 && (t = !1);
40837
- var n = Object.keys(this._tweens);
40838
- if (n.length === 0)
40839
- return !1;
40840
- for (; n.length > 0; ) {
40841
- this._tweensAddedDuringUpdate = {};
40842
- for (var i = 0; i < n.length; i++) {
40843
- var r = this._tweens[n[i]], a = !t;
40844
- r && r.update(e, a) === !1 && !t && delete this._tweens[n[i]];
40845
- }
40846
- n = Object.keys(this._tweensAddedDuringUpdate);
40847
- }
40848
- return !0;
40849
- }, s;
40850
- })()
40851
- ), dd = {
40852
- Linear: function(s, e) {
40853
- var t = s.length - 1, n = t * e, i = Math.floor(n), r = dd.Utils.Linear;
40854
- return e < 0 ? r(s[0], s[1], n) : e > 1 ? r(s[t], s[t - 1], t - n) : r(s[i], s[i + 1 > t ? t : i + 1], n - i);
40855
- },
40856
- Utils: {
40857
- Linear: function(s, e, t) {
40858
- return (e - s) * t + s;
40859
- }
40955
+ /**
40956
+ * Computes the closest distance from the point to the mesh and gives additional information
40957
+ * in `target`. The target can be left undefined to default to a new object which is
40958
+ * ultimately returned by the function.
40959
+ *
40960
+ * If a point is found that is closer than `minThreshold` then the function will return that
40961
+ * result early. Any triangles or points outside of `maxThreshold` are ignored. If no point
40962
+ * is found within the min / max thresholds then `null` is returned and the `target` object
40963
+ * is not modified.
40964
+ *
40965
+ * The returned faceIndex can be used with the standalone function `getTriangleHitPointInfo`
40966
+ * to obtain more information like UV coordinates, triangle normal and materialIndex.
40967
+ *
40968
+ * @param {Vector3} point
40969
+ * @param {HitPointInfo} [target={}]
40970
+ * @param {number} [minThreshold=0]
40971
+ * @param {number} [maxThreshold=Infinity]
40972
+ * @returns {HitPointInfo|null}
40973
+ */
40974
+ closestPointToPoint(e, t = {}, n = 0, i = 1 / 0) {
40975
+ return rT(
40976
+ this,
40977
+ e,
40978
+ t,
40979
+ n,
40980
+ i
40981
+ );
40860
40982
  }
40861
- }, Ub = (
40862
- /** @class */
40863
- (function() {
40864
- function s() {
40865
- }
40866
- return s.nextId = function() {
40867
- return s._nextId++;
40868
- }, s._nextId = 0, s;
40869
- })()
40870
- ), pd = new PT(), LT = (
40871
- /** @class */
40872
- (function() {
40873
- function s(e, t) {
40874
- t === void 0 && (t = pd), this._object = e, this._group = t, this._isPaused = !1, this._pauseStart = 0, this._valuesStart = {}, this._valuesEnd = {}, this._valuesStartRepeat = {}, this._duration = 1e3, this._isDynamic = !1, this._initialRepeat = 0, this._repeat = 0, this._yoyo = !1, this._isPlaying = !1, this._reversed = !1, this._delayTime = 0, this._startTime = 0, this._easingFunction = ga.Linear.None, this._interpolationFunction = dd.Linear, this._chainedTweens = [], this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._id = Ub.nextId(), this._isChainStopped = !1, this._propertiesAreSetUp = !1, this._goToEnd = !1;
40983
+ }
40984
+ const la = {
40985
+ Mesh: pe.prototype.raycast,
40986
+ Line: Vt.prototype.raycast,
40987
+ LineSegments: Hn.prototype.raycast,
40988
+ LineLoop: nc.prototype.raycast,
40989
+ Points: ic.prototype.raycast,
40990
+ BatchedMesh: Bd.prototype.raycast
40991
+ }, on = /* @__PURE__ */ new pe(), El = [];
40992
+ function eB(s, e) {
40993
+ if (this.isBatchedMesh)
40994
+ LT.call(this, s, e);
40995
+ else {
40996
+ const { geometry: t } = this;
40997
+ if (t.boundsTree)
40998
+ t.boundsTree.raycastObject3D(this, s, e);
40999
+ else {
41000
+ let n;
41001
+ if (this instanceof pe)
41002
+ n = la.Mesh;
41003
+ else if (this instanceof Hn)
41004
+ n = la.LineSegments;
41005
+ else if (this instanceof nc)
41006
+ n = la.LineLoop;
41007
+ else if (this instanceof Vt)
41008
+ n = la.Line;
41009
+ else if (this instanceof ic)
41010
+ n = la.Points;
41011
+ else
41012
+ throw new Error("BVH: Fallback raycast function not found.");
41013
+ n.call(this, s, e);
40875
41014
  }
40876
- return s.prototype.getId = function() {
40877
- return this._id;
40878
- }, s.prototype.isPlaying = function() {
40879
- return this._isPlaying;
40880
- }, s.prototype.isPaused = function() {
40881
- return this._isPaused;
40882
- }, s.prototype.getDuration = function() {
40883
- return this._duration;
40884
- }, s.prototype.to = function(e, t) {
40885
- if (t === void 0 && (t = 1e3), this._isPlaying)
40886
- throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");
40887
- return this._valuesEnd = e, this._propertiesAreSetUp = !1, this._duration = t < 0 ? 0 : t, this;
40888
- }, s.prototype.duration = function(e) {
40889
- return e === void 0 && (e = 1e3), this._duration = e < 0 ? 0 : e, this;
40890
- }, s.prototype.dynamic = function(e) {
40891
- return e === void 0 && (e = !1), this._isDynamic = e, this;
40892
- }, s.prototype.start = function(e, t) {
40893
- if (e === void 0 && (e = ho()), t === void 0 && (t = !1), this._isPlaying)
40894
- return this;
40895
- if (this._group && this._group.add(this), this._repeat = this._initialRepeat, this._reversed) {
40896
- this._reversed = !1;
40897
- for (var n in this._valuesStartRepeat)
40898
- this._swapEndStartRepeatValues(n), this._valuesStart[n] = this._valuesStartRepeat[n];
40899
- }
40900
- if (this._isPlaying = !0, this._isPaused = !1, this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._isChainStopped = !1, this._startTime = e, this._startTime += this._delayTime, !this._propertiesAreSetUp || t) {
40901
- if (this._propertiesAreSetUp = !0, !this._isDynamic) {
40902
- var i = {};
40903
- for (var r in this._valuesEnd)
40904
- i[r] = this._valuesEnd[r];
40905
- this._valuesEnd = i;
40906
- }
40907
- this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat, t);
40908
- }
40909
- return this;
40910
- }, s.prototype.startFromCurrentValues = function(e) {
40911
- return this.start(e, !0);
40912
- }, s.prototype._setupProperties = function(e, t, n, i, r) {
40913
- for (var a in n) {
40914
- var o = e[a], c = Array.isArray(o), l = c ? "array" : typeof o, h = !c && Array.isArray(n[a]);
40915
- if (!(l === "undefined" || l === "function")) {
40916
- if (h) {
40917
- var u = n[a];
40918
- if (u.length === 0)
40919
- continue;
40920
- for (var f = [o], d = 0, p = u.length; d < p; d += 1) {
40921
- var b = this._handleRelativeValue(o, u[d]);
40922
- if (isNaN(b)) {
40923
- h = !1, console.warn("Found invalid interpolation list. Skipping.");
40924
- break;
40925
- }
40926
- f.push(b);
40927
- }
40928
- h && (n[a] = f);
40929
- }
40930
- if ((l === "object" || c) && o && !h) {
40931
- t[a] = c ? [] : {};
40932
- var g = o;
40933
- for (var A in g)
40934
- t[a][A] = g[A];
40935
- i[a] = c ? [] : {};
40936
- var u = n[a];
40937
- if (!this._isDynamic) {
40938
- var m = {};
40939
- for (var A in u)
40940
- m[A] = u[A];
40941
- n[a] = u = m;
40942
- }
40943
- this._setupProperties(g, t[a], u, i[a], r);
40944
- } else
40945
- (typeof t[a] > "u" || r) && (t[a] = o), c || (t[a] *= 1), h ? i[a] = n[a].slice().reverse() : i[a] = t[a] || 0;
40946
- }
41015
+ }
41016
+ }
41017
+ function LT(s, e) {
41018
+ if (this.boundsTrees) {
41019
+ const t = this.boundsTrees, n = this._drawInfo || this._instanceInfo, i = this._drawRanges || this._geometryInfo, r = this.matrixWorld;
41020
+ on.material = this.material, on.geometry = this.geometry;
41021
+ const a = on.geometry.boundsTree, o = on.geometry.drawRange;
41022
+ on.geometry.boundingSphere === null && (on.geometry.boundingSphere = new Kt());
41023
+ for (let c = 0, l = n.length; c < l; c++) {
41024
+ if (!this.getVisibleAt(c))
41025
+ continue;
41026
+ const h = n[c].geometryIndex;
41027
+ if (on.geometry.boundsTree = t[h], this.getMatrixAt(c, on.matrixWorld).premultiply(r), !on.geometry.boundsTree) {
41028
+ this.getBoundingBoxAt(h, on.geometry.boundingBox), this.getBoundingSphereAt(h, on.geometry.boundingSphere);
41029
+ const u = i[h];
41030
+ on.geometry.setDrawRange(u.start, u.count);
40947
41031
  }
40948
- }, s.prototype.stop = function() {
40949
- return this._isChainStopped || (this._isChainStopped = !0, this.stopChainedTweens()), this._isPlaying ? (this._group && this._group.remove(this), this._isPlaying = !1, this._isPaused = !1, this._onStopCallback && this._onStopCallback(this._object), this) : this;
40950
- }, s.prototype.end = function() {
40951
- return this._goToEnd = !0, this.update(1 / 0), this;
40952
- }, s.prototype.pause = function(e) {
40953
- return e === void 0 && (e = ho()), this._isPaused || !this._isPlaying ? this : (this._isPaused = !0, this._pauseStart = e, this._group && this._group.remove(this), this);
40954
- }, s.prototype.resume = function(e) {
40955
- return e === void 0 && (e = ho()), !this._isPaused || !this._isPlaying ? this : (this._isPaused = !1, this._startTime += e - this._pauseStart, this._pauseStart = 0, this._group && this._group.add(this), this);
40956
- }, s.prototype.stopChainedTweens = function() {
40957
- for (var e = 0, t = this._chainedTweens.length; e < t; e++)
40958
- this._chainedTweens[e].stop();
40959
- return this;
40960
- }, s.prototype.group = function(e) {
40961
- return e === void 0 && (e = pd), this._group = e, this;
40962
- }, s.prototype.delay = function(e) {
40963
- return e === void 0 && (e = 0), this._delayTime = e, this;
40964
- }, s.prototype.repeat = function(e) {
40965
- return e === void 0 && (e = 0), this._initialRepeat = e, this._repeat = e, this;
40966
- }, s.prototype.repeatDelay = function(e) {
40967
- return this._repeatDelayTime = e, this;
40968
- }, s.prototype.yoyo = function(e) {
40969
- return e === void 0 && (e = !1), this._yoyo = e, this;
40970
- }, s.prototype.easing = function(e) {
40971
- return e === void 0 && (e = ga.Linear.None), this._easingFunction = e, this;
40972
- }, s.prototype.interpolation = function(e) {
40973
- return e === void 0 && (e = dd.Linear), this._interpolationFunction = e, this;
40974
- }, s.prototype.chain = function() {
40975
- for (var e = [], t = 0; t < arguments.length; t++)
40976
- e[t] = arguments[t];
40977
- return this._chainedTweens = e, this;
40978
- }, s.prototype.onStart = function(e) {
40979
- return this._onStartCallback = e, this;
40980
- }, s.prototype.onEveryStart = function(e) {
40981
- return this._onEveryStartCallback = e, this;
40982
- }, s.prototype.onUpdate = function(e) {
40983
- return this._onUpdateCallback = e, this;
40984
- }, s.prototype.onRepeat = function(e) {
40985
- return this._onRepeatCallback = e, this;
40986
- }, s.prototype.onComplete = function(e) {
40987
- return this._onCompleteCallback = e, this;
40988
- }, s.prototype.onStop = function(e) {
40989
- return this._onStopCallback = e, this;
40990
- }, s.prototype.update = function(e, t) {
40991
- var n = this, i;
40992
- if (e === void 0 && (e = ho()), t === void 0 && (t = !0), this._isPaused)
40993
- return !0;
40994
- var r, a = this._startTime + this._duration;
40995
- if (!this._goToEnd && !this._isPlaying) {
40996
- if (e > a)
40997
- return !1;
40998
- t && this.start(e, !0);
41032
+ on.raycast(s, El);
41033
+ for (let u = 0, f = El.length; u < f; u++) {
41034
+ const d = El[u];
41035
+ d.object = this, d.batchId = c, e.push(d);
40999
41036
  }
41000
- if (this._goToEnd = !1, e < this._startTime)
41001
- return !0;
41002
- this._onStartCallbackFired === !1 && (this._onStartCallback && this._onStartCallback(this._object), this._onStartCallbackFired = !0), this._onEveryStartCallbackFired === !1 && (this._onEveryStartCallback && this._onEveryStartCallback(this._object), this._onEveryStartCallbackFired = !0);
41003
- var o = e - this._startTime, c = this._duration + ((i = this._repeatDelayTime) !== null && i !== void 0 ? i : this._delayTime), l = this._duration + this._repeat * c, h = function() {
41004
- if (n._duration === 0 || o > l)
41005
- return 1;
41006
- var g = Math.trunc(o / c), A = o - g * c, m = Math.min(A / n._duration, 1);
41007
- return m === 0 && o === n._duration ? 1 : m;
41008
- }, u = h(), f = this._easingFunction(u);
41009
- if (this._updateProperties(this._object, this._valuesStart, this._valuesEnd, f), this._onUpdateCallback && this._onUpdateCallback(this._object, u), this._duration === 0 || o >= this._duration)
41010
- if (this._repeat > 0) {
41011
- var d = Math.min(Math.trunc((o - this._duration) / c) + 1, this._repeat);
41012
- isFinite(this._repeat) && (this._repeat -= d);
41013
- for (r in this._valuesStartRepeat)
41014
- !this._yoyo && typeof this._valuesEnd[r] == "string" && (this._valuesStartRepeat[r] = // eslint-disable-next-line
41015
- // @ts-ignore FIXME?
41016
- this._valuesStartRepeat[r] + parseFloat(this._valuesEnd[r])), this._yoyo && this._swapEndStartRepeatValues(r), this._valuesStart[r] = this._valuesStartRepeat[r];
41017
- return this._yoyo && (this._reversed = !this._reversed), this._startTime += c * d, this._onRepeatCallback && this._onRepeatCallback(this._object), this._onEveryStartCallbackFired = !1, !0;
41018
- } else {
41019
- this._onCompleteCallback && this._onCompleteCallback(this._object);
41020
- for (var p = 0, b = this._chainedTweens.length; p < b; p++)
41021
- this._chainedTweens[p].start(this._startTime + this._duration, !1);
41022
- return this._isPlaying = !1, !1;
41023
- }
41024
- return !0;
41025
- }, s.prototype._updateProperties = function(e, t, n, i) {
41026
- for (var r in n)
41027
- if (t[r] !== void 0) {
41028
- var a = t[r] || 0, o = n[r], c = Array.isArray(e[r]), l = Array.isArray(o), h = !c && l;
41029
- h ? e[r] = this._interpolationFunction(o, i) : typeof o == "object" && o ? this._updateProperties(e[r], a, o, i) : (o = this._handleRelativeValue(a, o), typeof o == "number" && (e[r] = a + (o - a) * i));
41030
- }
41031
- }, s.prototype._handleRelativeValue = function(e, t) {
41032
- return typeof t != "string" ? t : t.charAt(0) === "+" || t.charAt(0) === "-" ? e + parseFloat(t) : parseFloat(t);
41033
- }, s.prototype._swapEndStartRepeatValues = function(e) {
41034
- var t = this._valuesStartRepeat[e], n = this._valuesEnd[e];
41035
- typeof n == "string" ? this._valuesStartRepeat[e] = this._valuesStartRepeat[e] + parseFloat(n) : this._valuesStartRepeat[e] = this._valuesEnd[e], this._valuesEnd[e] = t;
41036
- }, s;
41037
- })()
41038
- );
41039
- Ub.nextId;
41040
- var Mi = pd;
41041
- Mi.getAll.bind(Mi);
41042
- Mi.removeAll.bind(Mi);
41043
- Mi.add.bind(Mi);
41044
- Mi.remove.bind(Mi);
41045
- Mi.update.bind(Mi);
41046
- var nB = {
41047
- Easing: ga,
41048
- Tween: LT
41049
- };
41037
+ El.length = 0;
41038
+ }
41039
+ on.geometry.boundsTree = a, on.geometry.drawRange = o, on.material = null, on.geometry = null;
41040
+ } else
41041
+ la.BatchedMesh.call(this, s, e);
41042
+ }
41043
+ function tB(s = {}) {
41044
+ const { type: e = jo } = s;
41045
+ return this.boundsTree = new e(this, s), this.boundsTree;
41046
+ }
41047
+ function nB() {
41048
+ this.boundsTree = null;
41049
+ }
41050
41050
  const Ys = new T0(), An = new T(), ls = new T(), Ct = new _t(), Mg = {
41051
41051
  X: new T(1, 0, 0),
41052
41052
  Y: new T(0, 1, 0),
@@ -43823,7 +43823,7 @@ Ci.add.bind(Ci);
43823
43823
  Ci.remove.bind(Ci);
43824
43824
  Ci.update.bind(Ci);
43825
43825
  export {
43826
- ov as $,
43826
+ X1 as $,
43827
43827
  Dv as A,
43828
43828
  Ve as B,
43829
43829
  Ae as C,
@@ -43833,8 +43833,8 @@ export {
43833
43833
  qi as G,
43834
43834
  Wt as H,
43835
43835
  Td as I,
43836
- nt as J,
43837
- nm as K,
43836
+ W1 as J,
43837
+ nt as K,
43838
43838
  hn as L,
43839
43839
  ve as M,
43840
43840
  cB as N,
@@ -43844,67 +43844,67 @@ export {
43844
43844
  T0 as R,
43845
43845
  ui as S,
43846
43846
  g0 as T,
43847
- Ih as U,
43847
+ nm as U,
43848
43848
  T as V,
43849
43849
  TC as W,
43850
- D0 as X,
43851
- ex as Y,
43852
- dv as Z,
43853
- q1 as _,
43850
+ Ih as X,
43851
+ D0 as Y,
43852
+ ex as Z,
43853
+ dv as _,
43854
43854
  Ed as a,
43855
- bh as a$,
43856
- dw as a0,
43857
- jt as a1,
43858
- Nt as a2,
43859
- ht as a3,
43860
- Jt as a4,
43861
- X1 as a5,
43855
+ zl as a$,
43856
+ ov as a0,
43857
+ Aw as a1,
43858
+ jt as a2,
43859
+ Nt as a3,
43860
+ ht as a4,
43861
+ Jt as a5,
43862
43862
  j1 as a6,
43863
- zi as a7,
43864
- nr as a8,
43865
- K1 as a9,
43863
+ K1 as a7,
43864
+ zi as a8,
43865
+ nr as a9,
43866
43866
  vh as aA,
43867
43867
  iB as aB,
43868
43868
  aB as aC,
43869
43869
  m1 as aD,
43870
43870
  Og as aE,
43871
43871
  pv as aF,
43872
- Kh as aG,
43873
- Ht as aH,
43874
- Ym as aI,
43875
- Km as aJ,
43876
- $h as aK,
43877
- Wm as aL,
43878
- nc as aM,
43879
- ic as aN,
43880
- Ts as aO,
43881
- wn as aP,
43882
- Rh as aQ,
43883
- Jn as aR,
43884
- Tt as aS,
43885
- qe as aT,
43886
- yt as aU,
43887
- $o as aV,
43888
- O0 as aW,
43889
- Is as aX,
43890
- Ii as aY,
43891
- Hl as aZ,
43892
- zl as a_,
43872
+ Ym as aG,
43873
+ Km as aH,
43874
+ $h as aI,
43875
+ nc as aJ,
43876
+ Wm as aK,
43877
+ Xm as aL,
43878
+ Kh as aM,
43879
+ Ht as aN,
43880
+ ic as aO,
43881
+ Ts as aP,
43882
+ wn as aQ,
43883
+ Rh as aR,
43884
+ Jn as aS,
43885
+ Tt as aT,
43886
+ qe as aU,
43887
+ yt as aV,
43888
+ $o as aW,
43889
+ O0 as aX,
43890
+ Is as aY,
43891
+ Ii as aZ,
43892
+ Hl as a_,
43893
43893
  Y1 as aa,
43894
- qh as ab,
43895
- ac,
43896
- $1 as ad,
43894
+ J1 as ab,
43895
+ qh as ac,
43896
+ ac as ad,
43897
43897
  eB as ae,
43898
43898
  tB as af,
43899
- _r as ag,
43900
- Z1 as ah,
43901
- J1 as ai,
43902
- li as aj,
43903
- Xd as ak,
43904
- b0 as al,
43905
- jn as am,
43906
- Of as an,
43907
- nB as ao,
43899
+ nB as ag,
43900
+ _r as ah,
43901
+ $1 as ai,
43902
+ Z1 as aj,
43903
+ li as ak,
43904
+ Xd as al,
43905
+ b0 as am,
43906
+ jn as an,
43907
+ Of as ao,
43908
43908
  Rt as ap,
43909
43909
  km as aq,
43910
43910
  Y_ as ar,
@@ -43917,18 +43917,19 @@ export {
43917
43917
  Pa as ay,
43918
43918
  cp as az,
43919
43919
  Y as b,
43920
- rc as b0,
43921
- tx as b1,
43922
- y0 as b2,
43923
- Bx as b3,
43924
- lr as b4,
43925
- Ji as b5,
43926
- Je as b6,
43927
- oo as b7,
43928
- So as b8,
43929
- lB as b9,
43930
- p0 as ba,
43931
- oB as bb,
43920
+ bh as b0,
43921
+ rc as b1,
43922
+ tx as b2,
43923
+ y0 as b3,
43924
+ Bx as b4,
43925
+ lr as b5,
43926
+ Ji as b6,
43927
+ Je as b7,
43928
+ oo as b8,
43929
+ So as b9,
43930
+ lB as ba,
43931
+ p0 as bb,
43932
+ oB as bc,
43932
43933
  Yh as c,
43933
43934
  dr as d,
43934
43935
  Wh as e,
@@ -43939,7 +43940,7 @@ export {
43939
43940
  pe as j,
43940
43941
  Ir as k,
43941
43942
  It as l,
43942
- W1 as m,
43943
+ q1 as m,
43943
43944
  Um as n,
43944
43945
  Vt as o,
43945
43946
  V1 as p,