@loaders.gl/3d-tiles 4.2.0-alpha.4 → 4.2.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/3d-tiles-archive/3d-tiles-archive-archive.js +68 -41
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts +1 -1
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts.map +1 -1
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.js +26 -16
- package/dist/3d-tiles-archive-loader.js +26 -15
- package/dist/cesium-ion-loader.js +34 -30
- package/dist/dist.dev.js +8824 -6420
- package/dist/dist.min.js +32 -0
- package/dist/index.cjs +138 -340
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +13 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts +1 -1
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js +103 -87
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js +179 -155
- package/dist/lib/classes/tile-3d-batch-table.d.ts +1 -1
- package/dist/lib/classes/tile-3d-batch-table.js +241 -217
- package/dist/lib/classes/tile-3d-feature-table.js +64 -59
- package/dist/lib/constants.js +19 -15
- package/dist/lib/encoders/encode-3d-tile-batched-model.js +40 -35
- package/dist/lib/encoders/encode-3d-tile-composite.js +19 -17
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js +32 -31
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js +31 -32
- package/dist/lib/encoders/encode-3d-tile.js +23 -19
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js +23 -23
- package/dist/lib/ion/ion.js +55 -54
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts +1 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js +57 -51
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts +1 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js +21 -18
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js +35 -20
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts +4 -4
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +269 -234
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts +2 -2
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +83 -55
- package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js +23 -14
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +82 -54
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts +2 -2
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js +79 -68
- package/dist/lib/parsers/helpers/parse-utils.js +19 -14
- package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts +2 -2
- package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-batched-model.js +21 -17
- package/dist/lib/parsers/parse-3d-tile-composite.d.ts +2 -2
- package/dist/lib/parsers/parse-3d-tile-composite.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-composite.js +18 -14
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts +2 -2
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-gltf.js +22 -14
- package/dist/lib/parsers/parse-3d-tile-header.d.ts +2 -2
- package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-header.js +168 -159
- package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts +2 -2
- package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-instanced-model.js +153 -123
- package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts +2 -2
- package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js +380 -174
- package/dist/lib/parsers/parse-3d-tile.d.ts +2 -2
- package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile.js +24 -24
- package/dist/lib/utils/obb/s2-corners-to-obb.js +29 -16
- package/dist/lib/utils/s2/converters/s2-to-boundary.d.ts +1 -1
- package/dist/lib/utils/s2/converters/s2-to-boundary.d.ts.map +1 -1
- package/dist/lib/utils/s2/converters/s2-to-boundary.js +55 -35
- package/dist/lib/utils/s2/converters/s2-to-obb-points.js +31 -20
- package/dist/lib/utils/s2/converters/s2-to-region.d.ts +1 -1
- package/dist/lib/utils/s2/converters/s2-to-region.d.ts.map +1 -1
- package/dist/lib/utils/s2/converters/s2-to-region.js +51 -35
- package/dist/lib/utils/s2/index.d.ts +7 -7
- package/dist/lib/utils/s2/index.d.ts.map +1 -1
- package/dist/lib/utils/s2/index.js +3 -1
- package/dist/lib/utils/s2/s2-geometry-functions.js +19 -5
- package/dist/lib/utils/s2/s2-token-functions.js +51 -22
- package/dist/lib/utils/s2/s2geometry/s2-cell-utils.d.ts +1 -1
- package/dist/lib/utils/s2/s2geometry/s2-cell-utils.d.ts.map +1 -1
- package/dist/lib/utils/s2/s2geometry/s2-cell-utils.js +23 -9
- package/dist/lib/utils/s2/s2geometry/s2-geometry.js +218 -157
- package/dist/lib/utils/version.js +4 -2
- package/dist/tile-3d-subtree-loader.d.ts +1 -1
- package/dist/tile-3d-subtree-loader.d.ts.map +1 -1
- package/dist/tile-3d-subtree-loader.js +15 -10
- package/dist/tile-3d-writer.js +19 -14
- package/dist/tiles-3d-loader.js +65 -55
- package/dist/types.js +3 -1
- package/package.json +17 -12
- package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +1 -1
- package/dist/3d-tiles-archive/3d-tiles-archive-archive.js.map +0 -1
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.js.map +0 -1
- package/dist/3d-tiles-archive-loader.js.map +0 -1
- package/dist/cesium-ion-loader.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
- package/dist/lib/classes/tile-3d-batch-table.js.map +0 -1
- package/dist/lib/classes/tile-3d-feature-table.js.map +0 -1
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
- package/dist/lib/encoders/encode-3d-tile-composite.js.map +0 -1
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
- package/dist/lib/encoders/encode-3d-tile.js.map +0 -1
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
- package/dist/lib/ion/ion.js.map +0 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
- package/dist/lib/parsers/helpers/parse-utils.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-composite.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-header.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-instanced-model.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile.js.map +0 -1
- package/dist/lib/utils/obb/s2-corners-to-obb.js.map +0 -1
- package/dist/lib/utils/s2/converters/s2-to-boundary.js.map +0 -1
- package/dist/lib/utils/s2/converters/s2-to-obb-points.js.map +0 -1
- package/dist/lib/utils/s2/converters/s2-to-region.js.map +0 -1
- package/dist/lib/utils/s2/index.js.map +0 -1
- package/dist/lib/utils/s2/s2-geometry-functions.js.map +0 -1
- package/dist/lib/utils/s2/s2-token-functions.js.map +0 -1
- package/dist/lib/utils/s2/s2geometry/s2-cell-utils.js.map +0 -1
- package/dist/lib/utils/s2/s2geometry/s2-geometry.js.map +0 -1
- package/dist/lib/utils/version.js.map +0 -1
- package/dist/tile-3d-subtree-loader.js.map +0 -1
- package/dist/tile-3d-writer.js.map +0 -1
- package/dist/tiles-3d-loader.js.map +0 -1
- package/dist/types.js.map +0 -1
package/dist/dist.min.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
+
if (typeof exports === 'object' && typeof module === 'object')
|
|
3
|
+
module.exports = factory();
|
|
4
|
+
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
|
+
else if (typeof exports === 'object') exports['loaders'] = factory();
|
|
6
|
+
else root['loaders'] = factory();})(globalThis, function () {
|
|
7
|
+
"use strict";var __exports__=(()=>{var Zd=Object.create;var gs=Object.defineProperty;var qd=Object.getOwnPropertyDescriptor;var Wd=Object.getOwnPropertyNames;var $d=Object.getPrototypeOf,t1=Object.prototype.hasOwnProperty;var ct=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ut=(e,t)=>{for(var r in t)gs(e,r,{get:t[r],enumerable:!0})},ps=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Wd(t))!t1.call(e,s)&&s!==r&&gs(e,s,{get:()=>t[s],enumerable:!(n=qd(t,s))||n.enumerable});return e},xs=(e,t,r)=>(ps(e,t,"default"),r&&ps(r,t,"default")),xr=(e,t,r)=>(r=e!=null?Zd($d(e)):{},ps(t||!e||!e.__esModule?gs(r,"default",{value:e,enumerable:!0}):r,e)),e1=e=>ps(gs({},"__esModule",{value:!0}),e);var gn=ct((z_,Yc)=>{Yc.exports=globalThis.loaders});var Be=ct(gt=>{"use strict";var z2=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function J2(e,t){return Object.prototype.hasOwnProperty.call(e,t)}gt.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(var n in r)J2(r,n)&&(e[n]=r[n])}}return e};gt.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var Q2={arraySet:function(e,t,r,n,s){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+n),s);return}for(var o=0;o<n;o++)e[s+o]=t[r+o]},flattenChunks:function(e){var t,r,n,s,o,i;for(n=0,t=0,r=e.length;t<r;t++)n+=e[t].length;for(i=new Uint8Array(n),s=0,t=0,r=e.length;t<r;t++)o=e[t],i.set(o,s),s+=o.length;return i}},V2={arraySet:function(e,t,r,n,s){for(var o=0;o<n;o++)e[s+o]=t[r+o]},flattenChunks:function(e){return[].concat.apply([],e)}};gt.setTyped=function(e){e?(gt.Buf8=Uint8Array,gt.Buf16=Uint16Array,gt.Buf32=Int32Array,gt.assign(gt,Q2)):(gt.Buf8=Array,gt.Buf16=Array,gt.Buf32=Array,gt.assign(gt,V2))};gt.setTyped(z2)});var _0=ct(an=>{"use strict";var j2=Be(),K2=4,$u=0,t0=1,X2=2;function on(e){for(var t=e.length;--t>=0;)e[t]=0}var Y2=0,i0=1,Z2=2,q2=3,W2=258,dc=29,es=256,qn=es+1+dc,sn=30,Ac=19,a0=2*qn+1,ir=15,ac=16,$2=7,mc=256,c0=16,f0=17,h0=18,lc=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],wo=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],tE=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],l0=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],eE=512,Ee=new Array((qn+2)*2);on(Ee);var Zn=new Array(sn*2);on(Zn);var Wn=new Array(eE);on(Wn);var $n=new Array(W2-q2+1);on($n);var pc=new Array(dc);on(pc);var Io=new Array(sn);on(Io);function cc(e,t,r,n,s){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=s,this.has_stree=e&&e.length}var u0,d0,A0;function fc(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function m0(e){return e<256?Wn[e]:Wn[256+(e>>>7)]}function ts(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function bt(e,t,r){e.bi_valid>ac-r?(e.bi_buf|=t<<e.bi_valid&65535,ts(e,e.bi_buf),e.bi_buf=t>>ac-e.bi_valid,e.bi_valid+=r-ac):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function oe(e,t,r){bt(e,r[t*2],r[t*2+1])}function p0(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function rE(e){e.bi_valid===16?(ts(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function nE(e,t){var r=t.dyn_tree,n=t.max_code,s=t.stat_desc.static_tree,o=t.stat_desc.has_stree,i=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,f=t.stat_desc.max_length,c,h,l,u,d,A,m=0;for(u=0;u<=ir;u++)e.bl_count[u]=0;for(r[e.heap[e.heap_max]*2+1]=0,c=e.heap_max+1;c<a0;c++)h=e.heap[c],u=r[r[h*2+1]*2+1]+1,u>f&&(u=f,m++),r[h*2+1]=u,!(h>n)&&(e.bl_count[u]++,d=0,h>=a&&(d=i[h-a]),A=r[h*2],e.opt_len+=A*(u+d),o&&(e.static_len+=A*(s[h*2+1]+d)));if(m!==0){do{for(u=f-1;e.bl_count[u]===0;)u--;e.bl_count[u]--,e.bl_count[u+1]+=2,e.bl_count[f]--,m-=2}while(m>0);for(u=f;u!==0;u--)for(h=e.bl_count[u];h!==0;)l=e.heap[--c],!(l>n)&&(r[l*2+1]!==u&&(e.opt_len+=(u-r[l*2+1])*r[l*2],r[l*2+1]=u),h--)}}function g0(e,t,r){var n=new Array(ir+1),s=0,o,i;for(o=1;o<=ir;o++)n[o]=s=s+r[o-1]<<1;for(i=0;i<=t;i++){var a=e[i*2+1];a!==0&&(e[i*2]=p0(n[a]++,a))}}function sE(){var e,t,r,n,s,o=new Array(ir+1);for(r=0,n=0;n<dc-1;n++)for(pc[n]=r,e=0;e<1<<lc[n];e++)$n[r++]=n;for($n[r-1]=n,s=0,n=0;n<16;n++)for(Io[n]=s,e=0;e<1<<wo[n];e++)Wn[s++]=n;for(s>>=7;n<sn;n++)for(Io[n]=s<<7,e=0;e<1<<wo[n]-7;e++)Wn[256+s++]=n;for(t=0;t<=ir;t++)o[t]=0;for(e=0;e<=143;)Ee[e*2+1]=8,e++,o[8]++;for(;e<=255;)Ee[e*2+1]=9,e++,o[9]++;for(;e<=279;)Ee[e*2+1]=7,e++,o[7]++;for(;e<=287;)Ee[e*2+1]=8,e++,o[8]++;for(g0(Ee,qn+1,o),e=0;e<sn;e++)Zn[e*2+1]=5,Zn[e*2]=p0(e,5);u0=new cc(Ee,lc,es+1,qn,ir),d0=new cc(Zn,wo,0,sn,ir),A0=new cc(new Array(0),tE,0,Ac,$2)}function x0(e){var t;for(t=0;t<qn;t++)e.dyn_ltree[t*2]=0;for(t=0;t<sn;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Ac;t++)e.bl_tree[t*2]=0;e.dyn_ltree[mc*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function B0(e){e.bi_valid>8?ts(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function oE(e,t,r,n){B0(e),n&&(ts(e,r),ts(e,~r)),j2.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function e0(e,t,r,n){var s=t*2,o=r*2;return e[s]<e[o]||e[s]===e[o]&&n[t]<=n[r]}function hc(e,t,r){for(var n=e.heap[r],s=r<<1;s<=e.heap_len&&(s<e.heap_len&&e0(t,e.heap[s+1],e.heap[s],e.depth)&&s++,!e0(t,n,e.heap[s],e.depth));)e.heap[r]=e.heap[s],r=s,s<<=1;e.heap[r]=n}function r0(e,t,r){var n,s,o=0,i,a;if(e.last_lit!==0)do n=e.pending_buf[e.d_buf+o*2]<<8|e.pending_buf[e.d_buf+o*2+1],s=e.pending_buf[e.l_buf+o],o++,n===0?oe(e,s,t):(i=$n[s],oe(e,i+es+1,t),a=lc[i],a!==0&&(s-=pc[i],bt(e,s,a)),n--,i=m0(n),oe(e,i,r),a=wo[i],a!==0&&(n-=Io[i],bt(e,n,a)));while(o<e.last_lit);oe(e,mc,t)}function uc(e,t){var r=t.dyn_tree,n=t.stat_desc.static_tree,s=t.stat_desc.has_stree,o=t.stat_desc.elems,i,a,f=-1,c;for(e.heap_len=0,e.heap_max=a0,i=0;i<o;i++)r[i*2]!==0?(e.heap[++e.heap_len]=f=i,e.depth[i]=0):r[i*2+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=f<2?++f:0,r[c*2]=1,e.depth[c]=0,e.opt_len--,s&&(e.static_len-=n[c*2+1]);for(t.max_code=f,i=e.heap_len>>1;i>=1;i--)hc(e,r,i);c=o;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],hc(e,r,1),a=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=a,r[c*2]=r[i*2]+r[a*2],e.depth[c]=(e.depth[i]>=e.depth[a]?e.depth[i]:e.depth[a])+1,r[i*2+1]=r[a*2+1]=c,e.heap[1]=c++,hc(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],nE(e,t),g0(r,f,e.bl_count)}function n0(e,t,r){var n,s=-1,o,i=t[0*2+1],a=0,f=7,c=4;for(i===0&&(f=138,c=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)o=i,i=t[(n+1)*2+1],!(++a<f&&o===i)&&(a<c?e.bl_tree[o*2]+=a:o!==0?(o!==s&&e.bl_tree[o*2]++,e.bl_tree[c0*2]++):a<=10?e.bl_tree[f0*2]++:e.bl_tree[h0*2]++,a=0,s=o,i===0?(f=138,c=3):o===i?(f=6,c=3):(f=7,c=4))}function s0(e,t,r){var n,s=-1,o,i=t[0*2+1],a=0,f=7,c=4;for(i===0&&(f=138,c=3),n=0;n<=r;n++)if(o=i,i=t[(n+1)*2+1],!(++a<f&&o===i)){if(a<c)do oe(e,o,e.bl_tree);while(--a!==0);else o!==0?(o!==s&&(oe(e,o,e.bl_tree),a--),oe(e,c0,e.bl_tree),bt(e,a-3,2)):a<=10?(oe(e,f0,e.bl_tree),bt(e,a-3,3)):(oe(e,h0,e.bl_tree),bt(e,a-11,7));a=0,s=o,i===0?(f=138,c=3):o===i?(f=6,c=3):(f=7,c=4)}}function iE(e){var t;for(n0(e,e.dyn_ltree,e.l_desc.max_code),n0(e,e.dyn_dtree,e.d_desc.max_code),uc(e,e.bl_desc),t=Ac-1;t>=3&&e.bl_tree[l0[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function aE(e,t,r,n){var s;for(bt(e,t-257,5),bt(e,r-1,5),bt(e,n-4,4),s=0;s<n;s++)bt(e,e.bl_tree[l0[s]*2+1],3);s0(e,e.dyn_ltree,t-1),s0(e,e.dyn_dtree,r-1)}function cE(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return $u;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return t0;for(r=32;r<es;r++)if(e.dyn_ltree[r*2]!==0)return t0;return $u}var o0=!1;function fE(e){o0||(sE(),o0=!0),e.l_desc=new fc(e.dyn_ltree,u0),e.d_desc=new fc(e.dyn_dtree,d0),e.bl_desc=new fc(e.bl_tree,A0),e.bi_buf=0,e.bi_valid=0,x0(e)}function E0(e,t,r,n){bt(e,(Y2<<1)+(n?1:0),3),oE(e,t,r,!0)}function hE(e){bt(e,i0<<1,3),oe(e,mc,Ee),rE(e)}function lE(e,t,r,n){var s,o,i=0;e.level>0?(e.strm.data_type===X2&&(e.strm.data_type=cE(e)),uc(e,e.l_desc),uc(e,e.d_desc),i=iE(e),s=e.opt_len+3+7>>>3,o=e.static_len+3+7>>>3,o<=s&&(s=o)):s=o=r+5,r+4<=s&&t!==-1?E0(e,t,r,n):e.strategy===K2||o===s?(bt(e,(i0<<1)+(n?1:0),3),r0(e,Ee,Zn)):(bt(e,(Z2<<1)+(n?1:0),3),aE(e,e.l_desc.max_code+1,e.d_desc.max_code+1,i+1),r0(e,e.dyn_ltree,e.dyn_dtree)),x0(e),n&&B0(e)}function uE(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[($n[r]+es+1)*2]++,e.dyn_dtree[m0(t)*2]++),e.last_lit===e.lit_bufsize-1}an._tr_init=fE;an._tr_stored_block=E0;an._tr_flush_block=lE;an._tr_tally=uE;an._tr_align=hE});var gc=ct((iL,y0)=>{"use strict";function dE(e,t,r,n){for(var s=e&65535|0,o=e>>>16&65535|0,i=0;r!==0;){i=r>2e3?2e3:r,r-=i;do s=s+t[n++]|0,o=o+s|0;while(--i);s%=65521,o%=65521}return s|o<<16|0}y0.exports=dE});var xc=ct((aL,T0)=>{"use strict";function AE(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var mE=AE();function pE(e,t,r,n){var s=mE,o=n+r;e^=-1;for(var i=n;i<o;i++)e=e>>>8^s[(e^t[i])&255];return e^-1}T0.exports=pE});var So=ct((cL,C0)=>{"use strict";C0.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var L0=ct(ce=>{"use strict";var xt=Be(),Gt=_0(),I0=gc(),Oe=xc(),gE=So(),hr=0,xE=1,BE=3,Pe=4,M0=5,ae=0,b0=1,Ut=-2,EE=-3,Bc=-5,_E=-1,yE=1,Ro=2,TE=3,CE=4,ME=0,bE=2,Oo=8,wE=9,IE=15,SE=8,RE=29,FE=256,_c=FE+1+RE,DE=30,LE=19,OE=2*_c+1,vE=15,k=3,Ge=258,Kt=Ge+k+1,NE=32,vo=42,yc=69,Fo=73,Do=91,Lo=103,ar=113,ns=666,it=1,ss=2,cr=3,hn=4,GE=3;function Ue(e,t){return e.msg=gE[t],t}function w0(e){return(e<<1)-(e>4?9:0)}function Ne(e){for(var t=e.length;--t>=0;)e[t]=0}function ve(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(xt.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function lt(e,t){Gt._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ve(e.strm)}function V(e,t){e.pending_buf[e.pending++]=t}function rs(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function UE(e,t,r,n){var s=e.avail_in;return s>n&&(s=n),s===0?0:(e.avail_in-=s,xt.arraySet(t,e.input,e.next_in,s,r),e.state.wrap===1?e.adler=I0(e.adler,t,s,r):e.state.wrap===2&&(e.adler=Oe(e.adler,t,s,r)),e.next_in+=s,e.total_in+=s,s)}function S0(e,t){var r=e.max_chain_length,n=e.strstart,s,o,i=e.prev_length,a=e.nice_match,f=e.strstart>e.w_size-Kt?e.strstart-(e.w_size-Kt):0,c=e.window,h=e.w_mask,l=e.prev,u=e.strstart+Ge,d=c[n+i-1],A=c[n+i];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do if(s=t,!(c[s+i]!==A||c[s+i-1]!==d||c[s]!==c[n]||c[++s]!==c[n+1])){n+=2,s++;do;while(c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&c[++n]===c[++s]&&n<u);if(o=Ge-(u-n),n=u-Ge,o>i){if(e.match_start=t,i=o,o>=a)break;d=c[n+i-1],A=c[n+i]}}while((t=l[t&h])>f&&--r!==0);return i<=e.lookahead?i:e.lookahead}function fr(e){var t=e.w_size,r,n,s,o,i;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Kt)){xt.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do s=e.head[--r],e.head[r]=s>=t?s-t:0;while(--n);n=t,r=n;do s=e.prev[--r],e.prev[r]=s>=t?s-t:0;while(--n);o+=t}if(e.strm.avail_in===0)break;if(n=UE(e.strm,e.window,e.strstart+e.lookahead,o),e.lookahead+=n,e.lookahead+e.insert>=k)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+k-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<k)););}while(e.lookahead<Kt&&e.strm.avail_in!==0)}function PE(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(fr(e),e.lookahead===0&&t===hr)return it;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((e.strstart===0||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,lt(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Kt&&(lt(e,!1),e.strm.avail_out===0))return it}return e.insert=0,t===Pe?(lt(e,!0),e.strm.avail_out===0?cr:hn):(e.strstart>e.block_start&&(lt(e,!1),e.strm.avail_out===0),it)}function Ec(e,t){for(var r,n;;){if(e.lookahead<Kt){if(fr(e),e.lookahead<Kt&&t===hr)return it;if(e.lookahead===0)break}if(r=0,e.lookahead>=k&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-Kt&&(e.match_length=S0(e,r)),e.match_length>=k)if(n=Gt._tr_tally(e,e.strstart-e.match_start,e.match_length-k),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=k){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=Gt._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(lt(e,!1),e.strm.avail_out===0))return it}return e.insert=e.strstart<k-1?e.strstart:k-1,t===Pe?(lt(e,!0),e.strm.avail_out===0?cr:hn):e.last_lit&&(lt(e,!1),e.strm.avail_out===0)?it:ss}function cn(e,t){for(var r,n,s;;){if(e.lookahead<Kt){if(fr(e),e.lookahead<Kt&&t===hr)return it;if(e.lookahead===0)break}if(r=0,e.lookahead>=k&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=k-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-Kt&&(e.match_length=S0(e,r),e.match_length<=5&&(e.strategy===yE||e.match_length===k&&e.strstart-e.match_start>4096)&&(e.match_length=k-1)),e.prev_length>=k&&e.match_length<=e.prev_length){s=e.strstart+e.lookahead-k,n=Gt._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-k),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=s&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=k-1,e.strstart++,n&&(lt(e,!1),e.strm.avail_out===0))return it}else if(e.match_available){if(n=Gt._tr_tally(e,0,e.window[e.strstart-1]),n&<(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return it}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=Gt._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<k-1?e.strstart:k-1,t===Pe?(lt(e,!0),e.strm.avail_out===0?cr:hn):e.last_lit&&(lt(e,!1),e.strm.avail_out===0)?it:ss}function HE(e,t){for(var r,n,s,o,i=e.window;;){if(e.lookahead<=Ge){if(fr(e),e.lookahead<=Ge&&t===hr)return it;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=k&&e.strstart>0&&(s=e.strstart-1,n=i[s],n===i[++s]&&n===i[++s]&&n===i[++s])){o=e.strstart+Ge;do;while(n===i[++s]&&n===i[++s]&&n===i[++s]&&n===i[++s]&&n===i[++s]&&n===i[++s]&&n===i[++s]&&n===i[++s]&&s<o);e.match_length=Ge-(o-s),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=k?(r=Gt._tr_tally(e,1,e.match_length-k),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Gt._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(lt(e,!1),e.strm.avail_out===0))return it}return e.insert=0,t===Pe?(lt(e,!0),e.strm.avail_out===0?cr:hn):e.last_lit&&(lt(e,!1),e.strm.avail_out===0)?it:ss}function kE(e,t){for(var r;;){if(e.lookahead===0&&(fr(e),e.lookahead===0)){if(t===hr)return it;break}if(e.match_length=0,r=Gt._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(lt(e,!1),e.strm.avail_out===0))return it}return e.insert=0,t===Pe?(lt(e,!0),e.strm.avail_out===0?cr:hn):e.last_lit&&(lt(e,!1),e.strm.avail_out===0)?it:ss}function ie(e,t,r,n,s){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=s}var fn;fn=[new ie(0,0,0,0,PE),new ie(4,4,8,4,Ec),new ie(4,5,16,8,Ec),new ie(4,6,32,32,Ec),new ie(4,4,16,16,cn),new ie(8,16,32,32,cn),new ie(8,16,128,128,cn),new ie(8,32,128,256,cn),new ie(32,128,258,1024,cn),new ie(32,258,258,4096,cn)];function zE(e){e.window_size=2*e.w_size,Ne(e.head),e.max_lazy_match=fn[e.level].max_lazy,e.good_match=fn[e.level].good_length,e.nice_match=fn[e.level].nice_length,e.max_chain_length=fn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=k-1,e.match_available=0,e.ins_h=0}function JE(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Oo,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new xt.Buf16(OE*2),this.dyn_dtree=new xt.Buf16((2*DE+1)*2),this.bl_tree=new xt.Buf16((2*LE+1)*2),Ne(this.dyn_ltree),Ne(this.dyn_dtree),Ne(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new xt.Buf16(vE+1),this.heap=new xt.Buf16(2*_c+1),Ne(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new xt.Buf16(2*_c+1),Ne(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function R0(e){var t;return!e||!e.state?Ue(e,Ut):(e.total_in=e.total_out=0,e.data_type=bE,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?vo:ar,e.adler=t.wrap===2?0:1,t.last_flush=hr,Gt._tr_init(t),ae)}function F0(e){var t=R0(e);return t===ae&&zE(e.state),t}function QE(e,t){return!e||!e.state||e.state.wrap!==2?Ut:(e.state.gzhead=t,ae)}function D0(e,t,r,n,s,o){if(!e)return Ut;var i=1;if(t===_E&&(t=6),n<0?(i=0,n=-n):n>15&&(i=2,n-=16),s<1||s>wE||r!==Oo||n<8||n>15||t<0||t>9||o<0||o>CE)return Ue(e,Ut);n===8&&(n=9);var a=new JE;return e.state=a,a.strm=e,a.wrap=i,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=s+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+k-1)/k),a.window=new xt.Buf8(a.w_size*2),a.head=new xt.Buf16(a.hash_size),a.prev=new xt.Buf16(a.w_size),a.lit_bufsize=1<<s+6,a.pending_buf_size=a.lit_bufsize*4,a.pending_buf=new xt.Buf8(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=(1+2)*a.lit_bufsize,a.level=t,a.strategy=o,a.method=r,F0(e)}function VE(e,t){return D0(e,t,Oo,IE,SE,ME)}function jE(e,t){var r,n,s,o;if(!e||!e.state||t>M0||t<0)return e?Ue(e,Ut):Ut;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===ns&&t!==Pe)return Ue(e,e.avail_out===0?Bc:Ut);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===vo)if(n.wrap===2)e.adler=0,V(n,31),V(n,139),V(n,8),n.gzhead?(V(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),V(n,n.gzhead.time&255),V(n,n.gzhead.time>>8&255),V(n,n.gzhead.time>>16&255),V(n,n.gzhead.time>>24&255),V(n,n.level===9?2:n.strategy>=Ro||n.level<2?4:0),V(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(V(n,n.gzhead.extra.length&255),V(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=Oe(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=yc):(V(n,0),V(n,0),V(n,0),V(n,0),V(n,0),V(n,n.level===9?2:n.strategy>=Ro||n.level<2?4:0),V(n,GE),n.status=ar);else{var i=Oo+(n.w_bits-8<<4)<<8,a=-1;n.strategy>=Ro||n.level<2?a=0:n.level<6?a=1:n.level===6?a=2:a=3,i|=a<<6,n.strstart!==0&&(i|=NE),i+=31-i%31,n.status=ar,rs(n,i),n.strstart!==0&&(rs(n,e.adler>>>16),rs(n,e.adler&65535)),e.adler=1}if(n.status===yc)if(n.gzhead.extra){for(s=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(e.adler=Oe(e.adler,n.pending_buf,n.pending-s,s)),ve(e),s=n.pending,n.pending===n.pending_buf_size));)V(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>s&&(e.adler=Oe(e.adler,n.pending_buf,n.pending-s,s)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Fo)}else n.status=Fo;if(n.status===Fo)if(n.gzhead.name){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(e.adler=Oe(e.adler,n.pending_buf,n.pending-s,s)),ve(e),s=n.pending,n.pending===n.pending_buf_size)){o=1;break}n.gzindex<n.gzhead.name.length?o=n.gzhead.name.charCodeAt(n.gzindex++)&255:o=0,V(n,o)}while(o!==0);n.gzhead.hcrc&&n.pending>s&&(e.adler=Oe(e.adler,n.pending_buf,n.pending-s,s)),o===0&&(n.gzindex=0,n.status=Do)}else n.status=Do;if(n.status===Do)if(n.gzhead.comment){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(e.adler=Oe(e.adler,n.pending_buf,n.pending-s,s)),ve(e),s=n.pending,n.pending===n.pending_buf_size)){o=1;break}n.gzindex<n.gzhead.comment.length?o=n.gzhead.comment.charCodeAt(n.gzindex++)&255:o=0,V(n,o)}while(o!==0);n.gzhead.hcrc&&n.pending>s&&(e.adler=Oe(e.adler,n.pending_buf,n.pending-s,s)),o===0&&(n.status=Lo)}else n.status=Lo;if(n.status===Lo&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&ve(e),n.pending+2<=n.pending_buf_size&&(V(n,e.adler&255),V(n,e.adler>>8&255),e.adler=0,n.status=ar)):n.status=ar),n.pending!==0){if(ve(e),e.avail_out===0)return n.last_flush=-1,ae}else if(e.avail_in===0&&w0(t)<=w0(r)&&t!==Pe)return Ue(e,Bc);if(n.status===ns&&e.avail_in!==0)return Ue(e,Bc);if(e.avail_in!==0||n.lookahead!==0||t!==hr&&n.status!==ns){var f=n.strategy===Ro?kE(n,t):n.strategy===TE?HE(n,t):fn[n.level].func(n,t);if((f===cr||f===hn)&&(n.status=ns),f===it||f===cr)return e.avail_out===0&&(n.last_flush=-1),ae;if(f===ss&&(t===xE?Gt._tr_align(n):t!==M0&&(Gt._tr_stored_block(n,0,0,!1),t===BE&&(Ne(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),ve(e),e.avail_out===0))return n.last_flush=-1,ae}return t!==Pe?ae:n.wrap<=0?b0:(n.wrap===2?(V(n,e.adler&255),V(n,e.adler>>8&255),V(n,e.adler>>16&255),V(n,e.adler>>24&255),V(n,e.total_in&255),V(n,e.total_in>>8&255),V(n,e.total_in>>16&255),V(n,e.total_in>>24&255)):(rs(n,e.adler>>>16),rs(n,e.adler&65535)),ve(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?ae:b0)}function KE(e){var t;return!e||!e.state?Ut:(t=e.state.status,t!==vo&&t!==yc&&t!==Fo&&t!==Do&&t!==Lo&&t!==ar&&t!==ns?Ue(e,Ut):(e.state=null,t===ar?Ue(e,EE):ae))}function XE(e,t){var r=t.length,n,s,o,i,a,f,c,h;if(!e||!e.state||(n=e.state,i=n.wrap,i===2||i===1&&n.status!==vo||n.lookahead))return Ut;for(i===1&&(e.adler=I0(e.adler,t,r,0)),n.wrap=0,r>=n.w_size&&(i===0&&(Ne(n.head),n.strstart=0,n.block_start=0,n.insert=0),h=new xt.Buf8(n.w_size),xt.arraySet(h,t,r-n.w_size,n.w_size,0),t=h,r=n.w_size),a=e.avail_in,f=e.next_in,c=e.input,e.avail_in=r,e.next_in=0,e.input=t,fr(n);n.lookahead>=k;){s=n.strstart,o=n.lookahead-(k-1);do n.ins_h=(n.ins_h<<n.hash_shift^n.window[s+k-1])&n.hash_mask,n.prev[s&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=s,s++;while(--o);n.strstart=s,n.lookahead=k-1,fr(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=k-1,n.match_available=0,e.next_in=f,e.input=c,e.avail_in=a,n.wrap=i,ae}ce.deflateInit=VE;ce.deflateInit2=D0;ce.deflateReset=F0;ce.deflateResetKeep=R0;ce.deflateSetHeader=QE;ce.deflate=jE;ce.deflateEnd=KE;ce.deflateSetDictionary=XE;ce.deflateInfo="pako deflate (from Nodeca project)"});var Tc=ct(ln=>{"use strict";var No=Be(),O0=!0,v0=!0;try{String.fromCharCode.apply(null,[0])}catch{O0=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{v0=!1}var os=new No.Buf8(256);for(_e=0;_e<256;_e++)os[_e]=_e>=252?6:_e>=248?5:_e>=240?4:_e>=224?3:_e>=192?2:1;var _e;os[254]=os[254]=1;ln.string2buf=function(e){var t,r,n,s,o,i=e.length,a=0;for(s=0;s<i;s++)r=e.charCodeAt(s),(r&64512)===55296&&s+1<i&&(n=e.charCodeAt(s+1),(n&64512)===56320&&(r=65536+(r-55296<<10)+(n-56320),s++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(t=new No.Buf8(a),o=0,s=0;o<a;s++)r=e.charCodeAt(s),(r&64512)===55296&&s+1<i&&(n=e.charCodeAt(s+1),(n&64512)===56320&&(r=65536+(r-55296<<10)+(n-56320),s++)),r<128?t[o++]=r:r<2048?(t[o++]=192|r>>>6,t[o++]=128|r&63):r<65536?(t[o++]=224|r>>>12,t[o++]=128|r>>>6&63,t[o++]=128|r&63):(t[o++]=240|r>>>18,t[o++]=128|r>>>12&63,t[o++]=128|r>>>6&63,t[o++]=128|r&63);return t};function N0(e,t){if(t<65534&&(e.subarray&&v0||!e.subarray&&O0))return String.fromCharCode.apply(null,No.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}ln.buf2binstring=function(e){return N0(e,e.length)};ln.binstring2buf=function(e){for(var t=new No.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t};ln.buf2string=function(e,t){var r,n,s,o,i=t||e.length,a=new Array(i*2);for(n=0,r=0;r<i;){if(s=e[r++],s<128){a[n++]=s;continue}if(o=os[s],o>4){a[n++]=65533,r+=o-1;continue}for(s&=o===2?31:o===3?15:7;o>1&&r<i;)s=s<<6|e[r++]&63,o--;if(o>1){a[n++]=65533;continue}s<65536?a[n++]=s:(s-=65536,a[n++]=55296|s>>10&1023,a[n++]=56320|s&1023)}return N0(a,n)};ln.utf8border=function(e,t){var r;for(t=t||e.length,t>e.length&&(t=e.length),r=t-1;r>=0&&(e[r]&192)===128;)r--;return r<0||r===0?t:r+os[e[r]]>t?r:t}});var Cc=ct((lL,G0)=>{"use strict";function YE(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}G0.exports=YE});var k0=ct(cs=>{"use strict";var is=L0(),as=Be(),bc=Tc(),wc=So(),ZE=Cc(),H0=Object.prototype.toString,qE=0,Mc=4,un=0,U0=1,P0=2,WE=-1,$E=0,t_=8;function lr(e){if(!(this instanceof lr))return new lr(e);this.options=as.assign({level:WE,method:t_,chunkSize:16384,windowBits:15,memLevel:8,strategy:$E,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new ZE,this.strm.avail_out=0;var r=is.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==un)throw new Error(wc[r]);if(t.header&&is.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(typeof t.dictionary=="string"?n=bc.string2buf(t.dictionary):H0.call(t.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(t.dictionary):n=t.dictionary,r=is.deflateSetDictionary(this.strm,n),r!==un)throw new Error(wc[r]);this._dict_set=!0}}lr.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,s,o;if(this.ended)return!1;o=t===~~t?t:t===!0?Mc:qE,typeof e=="string"?r.input=bc.string2buf(e):H0.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new as.Buf8(n),r.next_out=0,r.avail_out=n),s=is.deflate(r,o),s!==U0&&s!==un)return this.onEnd(s),this.ended=!0,!1;(r.avail_out===0||r.avail_in===0&&(o===Mc||o===P0))&&(this.options.to==="string"?this.onData(bc.buf2binstring(as.shrinkBuf(r.output,r.next_out))):this.onData(as.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||r.avail_out===0)&&s!==U0);return o===Mc?(s=is.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===un):(o===P0&&(this.onEnd(un),r.avail_out=0),!0)};lr.prototype.onData=function(e){this.chunks.push(e)};lr.prototype.onEnd=function(e){e===un&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=as.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Ic(e,t){var r=new lr(t);if(r.push(e,!0),r.err)throw r.msg||wc[r.err];return r.result}function e_(e,t){return t=t||{},t.raw=!0,Ic(e,t)}function r_(e,t){return t=t||{},t.gzip=!0,Ic(e,t)}cs.Deflate=lr;cs.deflate=Ic;cs.deflateRaw=e_;cs.gzip=r_});var J0=ct((dL,z0)=>{"use strict";var Go=30,n_=12;z0.exports=function(t,r){var n,s,o,i,a,f,c,h,l,u,d,A,m,p,E,y,C,M,T,I,w,L,x,g,B;n=t.state,s=t.next_in,g=t.input,o=s+(t.avail_in-5),i=t.next_out,B=t.output,a=i-(r-t.avail_out),f=i+(t.avail_out-257),c=n.dmax,h=n.wsize,l=n.whave,u=n.wnext,d=n.window,A=n.hold,m=n.bits,p=n.lencode,E=n.distcode,y=(1<<n.lenbits)-1,C=(1<<n.distbits)-1;t:do{m<15&&(A+=g[s++]<<m,m+=8,A+=g[s++]<<m,m+=8),M=p[A&y];e:for(;;){if(T=M>>>24,A>>>=T,m-=T,T=M>>>16&255,T===0)B[i++]=M&65535;else if(T&16){I=M&65535,T&=15,T&&(m<T&&(A+=g[s++]<<m,m+=8),I+=A&(1<<T)-1,A>>>=T,m-=T),m<15&&(A+=g[s++]<<m,m+=8,A+=g[s++]<<m,m+=8),M=E[A&C];r:for(;;){if(T=M>>>24,A>>>=T,m-=T,T=M>>>16&255,T&16){if(w=M&65535,T&=15,m<T&&(A+=g[s++]<<m,m+=8,m<T&&(A+=g[s++]<<m,m+=8)),w+=A&(1<<T)-1,w>c){t.msg="invalid distance too far back",n.mode=Go;break t}if(A>>>=T,m-=T,T=i-a,w>T){if(T=w-T,T>l&&n.sane){t.msg="invalid distance too far back",n.mode=Go;break t}if(L=0,x=d,u===0){if(L+=h-T,T<I){I-=T;do B[i++]=d[L++];while(--T);L=i-w,x=B}}else if(u<T){if(L+=h+u-T,T-=u,T<I){I-=T;do B[i++]=d[L++];while(--T);if(L=0,u<I){T=u,I-=T;do B[i++]=d[L++];while(--T);L=i-w,x=B}}}else if(L+=u-T,T<I){I-=T;do B[i++]=d[L++];while(--T);L=i-w,x=B}for(;I>2;)B[i++]=x[L++],B[i++]=x[L++],B[i++]=x[L++],I-=3;I&&(B[i++]=x[L++],I>1&&(B[i++]=x[L++]))}else{L=i-w;do B[i++]=B[L++],B[i++]=B[L++],B[i++]=B[L++],I-=3;while(I>2);I&&(B[i++]=B[L++],I>1&&(B[i++]=B[L++]))}}else if(T&64){t.msg="invalid distance code",n.mode=Go;break t}else{M=E[(M&65535)+(A&(1<<T)-1)];continue r}break}}else if(T&64)if(T&32){n.mode=n_;break t}else{t.msg="invalid literal/length code",n.mode=Go;break t}else{M=p[(M&65535)+(A&(1<<T)-1)];continue e}break}}while(s<o&&i<f);I=m>>3,s-=I,m-=I<<3,A&=(1<<m)-1,t.next_in=s,t.next_out=i,t.avail_in=s<o?5+(o-s):5-(s-o),t.avail_out=i<f?257+(f-i):257-(i-f),n.hold=A,n.bits=m}});var Z0=ct((AL,Y0)=>{"use strict";var Q0=Be(),dn=15,V0=852,j0=592,K0=0,Sc=1,X0=2,s_=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o_=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],i_=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a_=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];Y0.exports=function(t,r,n,s,o,i,a,f){var c=f.bits,h=0,l=0,u=0,d=0,A=0,m=0,p=0,E=0,y=0,C=0,M,T,I,w,L,x=null,g=0,B,_=new Q0.Buf16(dn+1),U=new Q0.Buf16(dn+1),G=null,P=0,v,at,mt;for(h=0;h<=dn;h++)_[h]=0;for(l=0;l<s;l++)_[r[n+l]]++;for(A=c,d=dn;d>=1&&_[d]===0;d--);if(A>d&&(A=d),d===0)return o[i++]=1<<24|64<<16|0,o[i++]=1<<24|64<<16|0,f.bits=1,0;for(u=1;u<d&&_[u]===0;u++);for(A<u&&(A=u),E=1,h=1;h<=dn;h++)if(E<<=1,E-=_[h],E<0)return-1;if(E>0&&(t===K0||d!==1))return-1;for(U[1]=0,h=1;h<dn;h++)U[h+1]=U[h]+_[h];for(l=0;l<s;l++)r[n+l]!==0&&(a[U[r[n+l]]++]=l);if(t===K0?(x=G=a,B=19):t===Sc?(x=s_,g-=257,G=o_,P-=257,B=256):(x=i_,G=a_,B=-1),C=0,l=0,h=u,L=i,m=A,p=0,I=-1,y=1<<A,w=y-1,t===Sc&&y>V0||t===X0&&y>j0)return 1;for(;;){v=h-p,a[l]<B?(at=0,mt=a[l]):a[l]>B?(at=G[P+a[l]],mt=x[g+a[l]]):(at=32+64,mt=0),M=1<<h-p,T=1<<m,u=T;do T-=M,o[L+(C>>p)+T]=v<<24|at<<16|mt|0;while(T!==0);for(M=1<<h-1;C&M;)M>>=1;if(M!==0?(C&=M-1,C+=M):C=0,l++,--_[h]===0){if(h===d)break;h=r[n+a[l]]}if(h>A&&(C&w)!==I){for(p===0&&(p=A),L+=u,m=h-p,E=1<<m;m+p<d&&(E-=_[m+p],!(E<=0));)m++,E<<=1;if(y+=1<<m,t===Sc&&y>V0||t===X0&&y>j0)return 1;I=C&w,o[I]=A<<24|m<<16|L-i|0}}return C!==0&&(o[L+C]=h-p<<24|64<<16|0),f.bits=A,0}});var Fd=ct(Xt=>{"use strict";var Rt=Be(),vc=gc(),fe=xc(),c_=J0(),fs=Z0(),f_=0,yd=1,Td=2,q0=4,h_=5,Uo=6,ur=0,l_=1,u_=2,Pt=-2,Cd=-3,Nc=-4,d_=-5,W0=8,Md=1,$0=2,td=3,ed=4,rd=5,nd=6,sd=7,od=8,id=9,ad=10,ko=11,ye=12,Rc=13,cd=14,Fc=15,fd=16,hd=17,ld=18,ud=19,Po=20,Ho=21,dd=22,Ad=23,md=24,pd=25,gd=26,Dc=27,xd=28,Bd=29,$=30,Gc=31,A_=32,m_=852,p_=592,g_=15,x_=g_;function Ed(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function B_(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Rt.Buf16(320),this.work=new Rt.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function bd(e){var t;return!e||!e.state?Pt:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Md,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Rt.Buf32(m_),t.distcode=t.distdyn=new Rt.Buf32(p_),t.sane=1,t.back=-1,ur)}function wd(e){var t;return!e||!e.state?Pt:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,bd(e))}function Id(e,t){var r,n;return!e||!e.state||(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Pt:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,wd(e))}function Sd(e,t){var r,n;return e?(n=new B_,e.state=n,n.window=null,r=Id(e,t),r!==ur&&(e.state=null),r):Pt}function E_(e){return Sd(e,x_)}var _d=!0,Lc,Oc;function __(e){if(_d){var t;for(Lc=new Rt.Buf32(512),Oc=new Rt.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(fs(yd,e.lens,0,288,Lc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;fs(Td,e.lens,0,32,Oc,0,e.work,{bits:5}),_d=!1}e.lencode=Lc,e.lenbits=9,e.distcode=Oc,e.distbits=5}function Rd(e,t,r,n){var s,o=e.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Rt.Buf8(o.wsize)),n>=o.wsize?(Rt.arraySet(o.window,t,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(s=o.wsize-o.wnext,s>n&&(s=n),Rt.arraySet(o.window,t,r-n,s,o.wnext),n-=s,n?(Rt.arraySet(o.window,t,r-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=s,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=s))),0}function y_(e,t){var r,n,s,o,i,a,f,c,h,l,u,d,A,m,p=0,E,y,C,M,T,I,w,L,x=new Rt.Buf8(4),g,B,_=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Pt;r=e.state,r.mode===ye&&(r.mode=Rc),i=e.next_out,s=e.output,f=e.avail_out,o=e.next_in,n=e.input,a=e.avail_in,c=r.hold,h=r.bits,l=a,u=f,L=ur;t:for(;;)switch(r.mode){case Md:if(r.wrap===0){r.mode=Rc;break}for(;h<16;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}if(r.wrap&2&&c===35615){r.check=0,x[0]=c&255,x[1]=c>>>8&255,r.check=fe(r.check,x,2,0),c=0,h=0,r.mode=$0;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((c&255)<<8)+(c>>8))%31){e.msg="incorrect header check",r.mode=$;break}if((c&15)!==W0){e.msg="unknown compression method",r.mode=$;break}if(c>>>=4,h-=4,w=(c&15)+8,r.wbits===0)r.wbits=w;else if(w>r.wbits){e.msg="invalid window size",r.mode=$;break}r.dmax=1<<w,e.adler=r.check=1,r.mode=c&512?ad:ye,c=0,h=0;break;case $0:for(;h<16;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}if(r.flags=c,(r.flags&255)!==W0){e.msg="unknown compression method",r.mode=$;break}if(r.flags&57344){e.msg="unknown header flags set",r.mode=$;break}r.head&&(r.head.text=c>>8&1),r.flags&512&&(x[0]=c&255,x[1]=c>>>8&255,r.check=fe(r.check,x,2,0)),c=0,h=0,r.mode=td;case td:for(;h<32;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}r.head&&(r.head.time=c),r.flags&512&&(x[0]=c&255,x[1]=c>>>8&255,x[2]=c>>>16&255,x[3]=c>>>24&255,r.check=fe(r.check,x,4,0)),c=0,h=0,r.mode=ed;case ed:for(;h<16;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}r.head&&(r.head.xflags=c&255,r.head.os=c>>8),r.flags&512&&(x[0]=c&255,x[1]=c>>>8&255,r.check=fe(r.check,x,2,0)),c=0,h=0,r.mode=rd;case rd:if(r.flags&1024){for(;h<16;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}r.length=c,r.head&&(r.head.extra_len=c),r.flags&512&&(x[0]=c&255,x[1]=c>>>8&255,r.check=fe(r.check,x,2,0)),c=0,h=0}else r.head&&(r.head.extra=null);r.mode=nd;case nd:if(r.flags&1024&&(d=r.length,d>a&&(d=a),d&&(r.head&&(w=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Rt.arraySet(r.head.extra,n,o,d,w)),r.flags&512&&(r.check=fe(r.check,n,d,o)),a-=d,o+=d,r.length-=d),r.length))break t;r.length=0,r.mode=sd;case sd:if(r.flags&2048){if(a===0)break t;d=0;do w=n[o+d++],r.head&&w&&r.length<65536&&(r.head.name+=String.fromCharCode(w));while(w&&d<a);if(r.flags&512&&(r.check=fe(r.check,n,d,o)),a-=d,o+=d,w)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=od;case od:if(r.flags&4096){if(a===0)break t;d=0;do w=n[o+d++],r.head&&w&&r.length<65536&&(r.head.comment+=String.fromCharCode(w));while(w&&d<a);if(r.flags&512&&(r.check=fe(r.check,n,d,o)),a-=d,o+=d,w)break t}else r.head&&(r.head.comment=null);r.mode=id;case id:if(r.flags&512){for(;h<16;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}if(c!==(r.check&65535)){e.msg="header crc mismatch",r.mode=$;break}c=0,h=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=ye;break;case ad:for(;h<32;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}e.adler=r.check=Ed(c),c=0,h=0,r.mode=ko;case ko:if(r.havedict===0)return e.next_out=i,e.avail_out=f,e.next_in=o,e.avail_in=a,r.hold=c,r.bits=h,u_;e.adler=r.check=1,r.mode=ye;case ye:if(t===h_||t===Uo)break t;case Rc:if(r.last){c>>>=h&7,h-=h&7,r.mode=Dc;break}for(;h<3;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}switch(r.last=c&1,c>>>=1,h-=1,c&3){case 0:r.mode=cd;break;case 1:if(__(r),r.mode=Po,t===Uo){c>>>=2,h-=2;break t}break;case 2:r.mode=hd;break;case 3:e.msg="invalid block type",r.mode=$}c>>>=2,h-=2;break;case cd:for(c>>>=h&7,h-=h&7;h<32;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}if((c&65535)!==(c>>>16^65535)){e.msg="invalid stored block lengths",r.mode=$;break}if(r.length=c&65535,c=0,h=0,r.mode=Fc,t===Uo)break t;case Fc:r.mode=fd;case fd:if(d=r.length,d){if(d>a&&(d=a),d>f&&(d=f),d===0)break t;Rt.arraySet(s,n,o,d,i),a-=d,o+=d,f-=d,i+=d,r.length-=d;break}r.mode=ye;break;case hd:for(;h<14;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}if(r.nlen=(c&31)+257,c>>>=5,h-=5,r.ndist=(c&31)+1,c>>>=5,h-=5,r.ncode=(c&15)+4,c>>>=4,h-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=$;break}r.have=0,r.mode=ld;case ld:for(;r.have<r.ncode;){for(;h<3;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}r.lens[_[r.have++]]=c&7,c>>>=3,h-=3}for(;r.have<19;)r.lens[_[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,g={bits:r.lenbits},L=fs(f_,r.lens,0,19,r.lencode,0,r.work,g),r.lenbits=g.bits,L){e.msg="invalid code lengths set",r.mode=$;break}r.have=0,r.mode=ud;case ud:for(;r.have<r.nlen+r.ndist;){for(;p=r.lencode[c&(1<<r.lenbits)-1],E=p>>>24,y=p>>>16&255,C=p&65535,!(E<=h);){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}if(C<16)c>>>=E,h-=E,r.lens[r.have++]=C;else{if(C===16){for(B=E+2;h<B;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}if(c>>>=E,h-=E,r.have===0){e.msg="invalid bit length repeat",r.mode=$;break}w=r.lens[r.have-1],d=3+(c&3),c>>>=2,h-=2}else if(C===17){for(B=E+3;h<B;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}c>>>=E,h-=E,w=0,d=3+(c&7),c>>>=3,h-=3}else{for(B=E+7;h<B;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}c>>>=E,h-=E,w=0,d=11+(c&127),c>>>=7,h-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=$;break}for(;d--;)r.lens[r.have++]=w}}if(r.mode===$)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=$;break}if(r.lenbits=9,g={bits:r.lenbits},L=fs(yd,r.lens,0,r.nlen,r.lencode,0,r.work,g),r.lenbits=g.bits,L){e.msg="invalid literal/lengths set",r.mode=$;break}if(r.distbits=6,r.distcode=r.distdyn,g={bits:r.distbits},L=fs(Td,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,g),r.distbits=g.bits,L){e.msg="invalid distances set",r.mode=$;break}if(r.mode=Po,t===Uo)break t;case Po:r.mode=Ho;case Ho:if(a>=6&&f>=258){e.next_out=i,e.avail_out=f,e.next_in=o,e.avail_in=a,r.hold=c,r.bits=h,c_(e,u),i=e.next_out,s=e.output,f=e.avail_out,o=e.next_in,n=e.input,a=e.avail_in,c=r.hold,h=r.bits,r.mode===ye&&(r.back=-1);break}for(r.back=0;p=r.lencode[c&(1<<r.lenbits)-1],E=p>>>24,y=p>>>16&255,C=p&65535,!(E<=h);){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}if(y&&!(y&240)){for(M=E,T=y,I=C;p=r.lencode[I+((c&(1<<M+T)-1)>>M)],E=p>>>24,y=p>>>16&255,C=p&65535,!(M+E<=h);){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}c>>>=M,h-=M,r.back+=M}if(c>>>=E,h-=E,r.back+=E,r.length=C,y===0){r.mode=gd;break}if(y&32){r.back=-1,r.mode=ye;break}if(y&64){e.msg="invalid literal/length code",r.mode=$;break}r.extra=y&15,r.mode=dd;case dd:if(r.extra){for(B=r.extra;h<B;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}r.length+=c&(1<<r.extra)-1,c>>>=r.extra,h-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Ad;case Ad:for(;p=r.distcode[c&(1<<r.distbits)-1],E=p>>>24,y=p>>>16&255,C=p&65535,!(E<=h);){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}if(!(y&240)){for(M=E,T=y,I=C;p=r.distcode[I+((c&(1<<M+T)-1)>>M)],E=p>>>24,y=p>>>16&255,C=p&65535,!(M+E<=h);){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}c>>>=M,h-=M,r.back+=M}if(c>>>=E,h-=E,r.back+=E,y&64){e.msg="invalid distance code",r.mode=$;break}r.offset=C,r.extra=y&15,r.mode=md;case md:if(r.extra){for(B=r.extra;h<B;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}r.offset+=c&(1<<r.extra)-1,c>>>=r.extra,h-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=$;break}r.mode=pd;case pd:if(f===0)break t;if(d=u-f,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=$;break}d>r.wnext?(d-=r.wnext,A=r.wsize-d):A=r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=s,A=i-r.offset,d=r.length;d>f&&(d=f),f-=d,r.length-=d;do s[i++]=m[A++];while(--d);r.length===0&&(r.mode=Ho);break;case gd:if(f===0)break t;s[i++]=r.length,f--,r.mode=Ho;break;case Dc:if(r.wrap){for(;h<32;){if(a===0)break t;a--,c|=n[o++]<<h,h+=8}if(u-=f,e.total_out+=u,r.total+=u,u&&(e.adler=r.check=r.flags?fe(r.check,s,u,i-u):vc(r.check,s,u,i-u)),u=f,(r.flags?c:Ed(c))!==r.check){e.msg="incorrect data check",r.mode=$;break}c=0,h=0}r.mode=xd;case xd:if(r.wrap&&r.flags){for(;h<32;){if(a===0)break t;a--,c+=n[o++]<<h,h+=8}if(c!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=$;break}c=0,h=0}r.mode=Bd;case Bd:L=l_;break t;case $:L=Cd;break t;case Gc:return Nc;case A_:default:return Pt}return e.next_out=i,e.avail_out=f,e.next_in=o,e.avail_in=a,r.hold=c,r.bits=h,(r.wsize||u!==e.avail_out&&r.mode<$&&(r.mode<Dc||t!==q0))&&Rd(e,e.output,e.next_out,u-e.avail_out)?(r.mode=Gc,Nc):(l-=e.avail_in,u-=e.avail_out,e.total_in+=l,e.total_out+=u,r.total+=u,r.wrap&&u&&(e.adler=r.check=r.flags?fe(r.check,s,u,e.next_out-u):vc(r.check,s,u,e.next_out-u)),e.data_type=r.bits+(r.last?64:0)+(r.mode===ye?128:0)+(r.mode===Po||r.mode===Fc?256:0),(l===0&&u===0||t===q0)&&L===ur&&(L=d_),L)}function T_(e){if(!e||!e.state)return Pt;var t=e.state;return t.window&&(t.window=null),e.state=null,ur}function C_(e,t){var r;return!e||!e.state||(r=e.state,!(r.wrap&2))?Pt:(r.head=t,t.done=!1,ur)}function M_(e,t){var r=t.length,n,s,o;return!e||!e.state||(n=e.state,n.wrap!==0&&n.mode!==ko)?Pt:n.mode===ko&&(s=1,s=vc(s,t,r,0),s!==n.check)?Cd:(o=Rd(e,t,r,r),o?(n.mode=Gc,Nc):(n.havedict=1,ur))}Xt.inflateReset=wd;Xt.inflateReset2=Id;Xt.inflateResetKeep=bd;Xt.inflateInit=E_;Xt.inflateInit2=Sd;Xt.inflate=y_;Xt.inflateEnd=T_;Xt.inflateGetHeader=C_;Xt.inflateSetDictionary=M_;Xt.inflateInfo="pako inflate (from Nodeca project)"});var Uc=ct((pL,Dd)=>{"use strict";Dd.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var Od=ct((gL,Ld)=>{"use strict";function b_(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}Ld.exports=b_});var Nd=ct(ls=>{"use strict";var An=Fd(),hs=Be(),zo=Tc(),st=Uc(),Pc=So(),w_=Cc(),I_=Od(),vd=Object.prototype.toString;function dr(e){if(!(this instanceof dr))return new dr(e);this.options=hs.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new w_,this.strm.avail_out=0;var r=An.inflateInit2(this.strm,t.windowBits);if(r!==st.Z_OK)throw new Error(Pc[r]);if(this.header=new I_,An.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=zo.string2buf(t.dictionary):vd.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=An.inflateSetDictionary(this.strm,t.dictionary),r!==st.Z_OK)))throw new Error(Pc[r])}dr.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,s=this.options.dictionary,o,i,a,f,c,h=!1;if(this.ended)return!1;i=t===~~t?t:t===!0?st.Z_FINISH:st.Z_NO_FLUSH,typeof e=="string"?r.input=zo.binstring2buf(e):vd.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new hs.Buf8(n),r.next_out=0,r.avail_out=n),o=An.inflate(r,st.Z_NO_FLUSH),o===st.Z_NEED_DICT&&s&&(o=An.inflateSetDictionary(this.strm,s)),o===st.Z_BUF_ERROR&&h===!0&&(o=st.Z_OK,h=!1),o!==st.Z_STREAM_END&&o!==st.Z_OK)return this.onEnd(o),this.ended=!0,!1;r.next_out&&(r.avail_out===0||o===st.Z_STREAM_END||r.avail_in===0&&(i===st.Z_FINISH||i===st.Z_SYNC_FLUSH))&&(this.options.to==="string"?(a=zo.utf8border(r.output,r.next_out),f=r.next_out-a,c=zo.buf2string(r.output,a),r.next_out=f,r.avail_out=n-f,f&&hs.arraySet(r.output,r.output,a,f,0),this.onData(c)):this.onData(hs.shrinkBuf(r.output,r.next_out))),r.avail_in===0&&r.avail_out===0&&(h=!0)}while((r.avail_in>0||r.avail_out===0)&&o!==st.Z_STREAM_END);return o===st.Z_STREAM_END&&(i=st.Z_FINISH),i===st.Z_FINISH?(o=An.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===st.Z_OK):(i===st.Z_SYNC_FLUSH&&(this.onEnd(st.Z_OK),r.avail_out=0),!0)};dr.prototype.onData=function(e){this.chunks.push(e)};dr.prototype.onEnd=function(e){e===st.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=hs.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Hc(e,t){var r=new dr(t);if(r.push(e,!0),r.err)throw r.msg||Pc[r.err];return r.result}function S_(e,t){return t=t||{},t.raw=!0,Hc(e,t)}ls.Inflate=dr;ls.inflate=Hc;ls.inflateRaw=S_;ls.ungzip=Hc});var Pd=ct((BL,Ud)=>{"use strict";var R_=Be().assign,F_=k0(),D_=Nd(),L_=Uc(),Gd={};R_(Gd,F_,D_,L_);Ud.exports=Gd});var Hd=ct(()=>{});var us={};ut(us,{CesiumIonLoader:()=>ec,TILE3D_TYPE:()=>yt,Tile3DBatchTable:()=>de,Tile3DFeatureTable:()=>zt,Tile3DSubtreeLoader:()=>Xr,Tile3DWriter:()=>Xd,Tiles3DArchive:()=>mn,Tiles3DArchiveFileLoader:()=>zd,Tiles3DLoader:()=>nr,_getIonTilesetMetadata:()=>Co});xs(us,xr(gn(),1));async function Ht(e,t,r,n){return n._parse(e,t,r,n)}function z(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var Zt={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},r1=Zt.self||Zt.window||Zt.global||{},n1=Zt.window||Zt.self||Zt.global||{},s1=Zt.global||Zt.self||Zt.window||{},o1=Zt.document||{};var Et=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Zc=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),i1=Zc&&parseFloat(Zc[1])||0;function a1(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.0-alpha.5"),globalThis._loadersgl_.version}var qc=a1();function Wc(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var qt={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},X_=qt.self||qt.window||qt.global||{},Y_=qt.window||qt.self||qt.global||{},Z_=qt.global||qt.self||qt.window||{},q_=qt.document||{};var Br=typeof process!="object"||String(process)!=="[object process]"||process.browser,Bs=typeof importScripts=="function",W_=typeof window<"u"&&typeof window.orientation<"u",$c=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),$_=$c&&parseFloat($c[1])||0;var _t={};var Vo={};async function Wt(e,t=null,r={},n=null){return t&&(e=tf(e,t,r,n)),Vo[e]=Vo[e]||c1(e),await Vo[e]}function tf(e,t,r={},n=null){if(!r.useLocalLibraries&&e.startsWith("http"))return e;n=n||e;let s=r.modules||{};return s[n]?s[n]:Br?r.CDN?(Wc(r.CDN.startsWith("http")),`${r.CDN}/${t}@${qc}/dist/libs/${n}`):Bs?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function c1(e){if(e.endsWith("wasm"))return await h1(e);if(!Br)try{return _t&&void 0&&await(void 0)(e)}catch(r){return console.error(r),null}if(Bs)return importScripts(e);let t=await l1(e);return f1(t,e)}function f1(e,t){if(!Br)return void 0&&(void 0)(e,t);if(Bs)return eval.call(globalThis,e),null;let r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch{r.text=e}return document.body.appendChild(r),null}async function h1(e){return Br||!void 0||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await(void 0)(e)}async function l1(e){return Br||!void 0||e.startsWith("http")?await(await fetch(e)).text():await(void 0)(e)}function rf(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?ef(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?ef(e,0,t):""}function ef(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),s="";for(let o=0;o<r;o++)s+=String.fromCharCode(n.getUint8(t+o));return s}function jo(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${rf(e)}"`)}}function Ce(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),s=new Uint8Array(t);for(let o=0;o<n.length;++o)if(n[o]!==s[o])return!1;return!0}function Er(...e){return nf(e)}function nf(e){let t=e.map(o=>o instanceof ArrayBuffer?new Uint8Array(o):o),r=t.reduce((o,i)=>o+i.byteLength,0),n=new Uint8Array(r),s=0;for(let o of t)n.set(o,s),s+=o.byteLength;return n.buffer}function Je(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function wt(e,t){return z(e>=0),z(t>0),e+(t-1)&~(t-1)}function Ko(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let s=e.byteOffset,o=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,s,o)}return t.set(n,r),r+wt(n.byteLength,4)}function Xo(e,t){let r=e.length,s=Math.ceil(r/t)*t-r,o="";for(let i=0;i<s;++i)o+=" ";return e+o}function _r(e,t,r,n){if(e)for(let s=0;s<n;s++)e.setUint8(t+s,r.charCodeAt(s));return t+n}function xn(e,t,r,n){if(e)for(let s=0;s<n;s++)e.setUint8(t+s,r[s]);return t+n}function sf(e,t,r,n){let s=wt(r.byteLength,n),o=s-r.byteLength;if(e){let i=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),a=new Uint8Array(r);i.set(a);for(let f=0;f<o;++f)e.setUint8(t+r.byteLength+f,32)}return t+=s,t}function Es(e,t,r,n){let o=new TextEncoder().encode(r);return t=sf(e,t,o,n),t}async function Bn(e){let t=[];for await(let r of e)t.push(r);return Er(...t)}function of(e){return e&&typeof e=="object"&&e.isBuffer}function yr(e){if(of(e))return e;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function Tr(e){return t=>new Promise((r,n)=>e(t,(s,o)=>s?n(s):r(o)))}var Cr={};ut(Cr,{dirname:()=>d1,filename:()=>u1,join:()=>A1,resolve:()=>m1});function af(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function u1(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function d1(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function A1(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function m1(...e){let t=[];for(let o=0;o<e.length;o++)t[o]=e[o];let r="",n=!1,s;for(let o=t.length-1;o>=-1&&!n;o--){let i;o>=0?i=t[o]:(s===void 0&&(s=af()),i=s),i.length!==0&&(r=`${i}/${r}`,n=i.charCodeAt(0)===En)}return r=p1(r,!n),n?`/${r}`:r.length>0?r:"."}var En=47,Yo=46;function p1(e,t){let r="",n=-1,s=0,o,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)o=e.charCodeAt(a);else{if(o===En)break;o=En}if(o===En){if(!(n===a-1||s===1))if(n!==a-1&&s===2){if(r.length<2||!i||r.charCodeAt(r.length-1)!==Yo||r.charCodeAt(r.length-2)!==Yo){if(r.length>2){let f=r.length-1,c=f;for(;c>=0&&r.charCodeAt(c)!==En;--c);if(c!==f){r=c===-1?"":r.slice(0,c),n=a,s=0,i=!1;continue}}else if(r.length===2||r.length===1){r="",n=a,s=0,i=!1;continue}}t&&(r.length>0?r+="/..":r="..",i=!0)}else{let f=e.slice(n+1,a);r.length>0?r+=`/${f}`:r=f,i=!1}n=a,s=0}else o===Yo&&s!==-1?++s:s=-1}return r}var _n=new Error("Not implemented"),_s=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw Et?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw _n}async write(t,r,n){throw _n}async stat(){throw _n}async truncate(t){throw _n}async append(t){throw _n}async close(){}};var Zo=e=>e?.getUint8&&e?.slice&&e?.length;var yn=class{file;constructor(t,r=!1){this.file=new _s(t,r?"a+":"r")}async truncate(t){await this.file.truncate(t)}async append(t){await this.file.append(t)}async destroy(){await this.file.close()}async getUint8(t){let r=await this.file.read(t,1),n=new Uint8Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getUint16(t){let r=await this.file.read(t,2),n=new Uint16Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getUint32(t){let r=await this.file.read(t,4),n=new Uint32Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getBigUint64(t){let r=await this.file.read(t,8),n=new BigInt64Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async slice(t,r){let n=r-t;if(n>Number.MAX_SAFE_INTEGER)throw new Error("too big slice");let s=Number(n);return await this.file.read(t,s)}get length(){return this.file.bigsize}};var Mr=e=>{if(e>Number.MAX_SAFE_INTEGER)throw new Error("Offset is out of bounds");return Number(e)},Tn=class{file;constructor(t){this.file=t}async destroy(){}async getUint8(t){return this.file.getUint8(Mr(t))}async getUint16(t){return this.file.getUint16(Mr(t),!0)}async getUint32(t){return this.file.getUint32(Mr(t),!0)}async getBigUint64(t){return this.file.getBigUint64(Mr(t),!0)}async slice(t,r){return this.file.buffer.slice(Mr(t),Mr(r))}get length(){return BigInt(this.file.byteLength)}};var Yy=1/Math.PI*180,Zy=1/180*Math.PI,g1={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...g1}};var et=globalThis.mathgl.config;function qo(e,{precision:t=et.precision}={}){return e=x1(e),"".concat(parseFloat(e.toPrecision(t)))}function $t(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Wo(e,t,r){return E1(e,n=>Math.max(t,Math.min(r,n)))}function ys(e,t,r){let n=et.EPSILON;r&&(et.EPSILON=r);try{if(e===t)return!0;if($t(e)&&$t(t)){if(e.length!==t.length)return!1;for(let s=0;s<e.length;++s)if(!ys(e[s],t[s]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=et.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{et.EPSILON=n}}function x1(e){return Math.round(e/et.EPSILON)*et.EPSILON}function B1(e){return e.clone?e.clone():new Array(e.length)}function E1(e,t,r){if($t(e)){let n=e;r=r||B1(n);for(let s=0;s<r.length&&s<n.length;++s){let o=typeof e=="number"?e:e[s];r[s]=t(o,s,r)}return r}return t(e)}function _1(e){function t(){var r=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var br=class extends _1(Array){clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:$t(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(et)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+qo(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!ys(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let s=0;s<this.ELEMENTS;++s){let o=t[s],i=typeof r=="number"?r:r[s];this[s]=o+n*(i-o)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(et.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function y1(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function rt(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function cf(e,t,r=""){if(et.debug&&!y1(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function $o(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var wr=class extends br{get x(){return this[0]}set x(t){this[0]=rt(t)}get y(){return this[1]}set y(t){this[1]=rt(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let s=this[n]-t[n];r+=s*s}return rt(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return rt(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return $o(t>=0&&t<this.ELEMENTS,"index is out of range"),rt(this[t])}setComponent(t,r){return $o(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var Ir=typeof Float32Array<"u"?Float32Array:Array;var aT=Math.PI/180;function b1(){let e=new Ir(2);return Ir!=Float32Array&&(e[0]=0,e[1]=0),e}function hf(e,t,r){let n=t[0],s=t[1];return e[0]=r[0]*n+r[2]*s,e[1]=r[1]*n+r[3]*s,e}function lf(e,t,r){let n=t[0],s=t[1];return e[0]=r[0]*n+r[2]*s+r[4],e[1]=r[1]*n+r[3]*s+r[5],e}function Ts(e,t,r){let n=t[0],s=t[1];return e[0]=r[0]*n+r[3]*s+r[6],e[1]=r[1]*n+r[4]*s+r[7],e}function uf(e,t,r){let n=t[0],s=t[1];return e[0]=r[0]*n+r[4]*s+r[12],e[1]=r[1]*n+r[5]*s+r[13],e}var cT=function(){let e=b1();return function(t,r,n,s,o,i){let a,f;for(r||(r=2),n||(n=0),s?f=Math.min(s*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],o(e,e,i),t[a]=e[0],t[a+1]=e[1];return t}}();function df(e,t,r){let n=t[0],s=t[1],o=r[3]*n+r[7]*s||1;return e[0]=(r[0]*n+r[4]*s)/o,e[1]=(r[1]*n+r[5]*s)/o,e}function Af(e,t,r){let n=t[0],s=t[1],o=t[2],i=r[3]*n+r[7]*s+r[11]*o||1;return e[0]=(r[0]*n+r[4]*s+r[8]*o)/i,e[1]=(r[1]*n+r[5]*s+r[9]*o)/i,e[2]=(r[2]*n+r[6]*s+r[10]*o)/i,e}function mf(e,t,r){let n=t[0],s=t[1];return e[0]=r[0]*n+r[2]*s,e[1]=r[1]*n+r[3]*s,e[2]=t[2],e}function pf(e,t,r){let n=t[0],s=t[1],o=t[2];return e[0]=r[0]*n+r[3]*s+r[6]*o,e[1]=r[1]*n+r[4]*s+r[7]*o,e[2]=r[2]*n+r[5]*s+r[8]*o,e[3]=t[3],e}var Qe=class extends wr{constructor(t=0,r=0){super(2),$t(t)&&arguments.length===1?this.copy(t):(et.debug&&(rt(t),rt(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return et.debug&&(rt(t.x),rt(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return uf(this,this,t),this.check()}transformAsVector(t){return df(this,this,t),this.check()}transformByMatrix3(t){return Ts(this,this,t),this.check()}transformByMatrix2x3(t){return lf(this,this,t),this.check()}transformByMatrix2(t){return hf(this,this,t),this.check()}};function w1(){let e=new Ir(3);return Ir!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function I1(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function gf(e,t,r){let n=t[0],s=t[1],o=t[2],i=r[0],a=r[1],f=r[2];return e[0]=s*f-o*a,e[1]=o*i-n*f,e[2]=n*a-s*i,e}function xf(e,t,r){let n=t[0],s=t[1],o=t[2],i=r[3]*n+r[7]*s+r[11]*o+r[15];return i=i||1,e[0]=(r[0]*n+r[4]*s+r[8]*o+r[12])/i,e[1]=(r[1]*n+r[5]*s+r[9]*o+r[13])/i,e[2]=(r[2]*n+r[6]*s+r[10]*o+r[14])/i,e}function Cs(e,t,r){let n=t[0],s=t[1],o=t[2];return e[0]=n*r[0]+s*r[3]+o*r[6],e[1]=n*r[1]+s*r[4]+o*r[7],e[2]=n*r[2]+s*r[5]+o*r[8],e}function Bf(e,t,r){let n=r[0],s=r[1],o=r[2],i=r[3],a=t[0],f=t[1],c=t[2],h=s*c-o*f,l=o*a-n*c,u=n*f-s*a,d=s*u-o*l,A=o*h-n*u,m=n*l-s*h,p=i*2;return h*=p,l*=p,u*=p,d*=2,A*=2,m*=2,e[0]=a+h+d,e[1]=f+l+A,e[2]=c+u+m,e}function Ef(e,t,r,n){let s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0],o[1]=s[1]*Math.cos(n)-s[2]*Math.sin(n),o[2]=s[1]*Math.sin(n)+s[2]*Math.cos(n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e}function _f(e,t,r,n){let s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[2]*Math.sin(n)+s[0]*Math.cos(n),o[1]=s[1],o[2]=s[2]*Math.cos(n)-s[0]*Math.sin(n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e}function yf(e,t,r,n){let s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0]*Math.cos(n)-s[1]*Math.sin(n),o[1]=s[0]*Math.sin(n)+s[1]*Math.cos(n),o[2]=s[2],e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e}function Tf(e,t){let r=e[0],n=e[1],s=e[2],o=t[0],i=t[1],a=t[2],f=Math.sqrt((r*r+n*n+s*s)*(o*o+i*i+a*a)),c=f&&I1(e,t)/f;return Math.acos(Math.min(Math.max(c,-1),1))}var gT=function(){let e=w1();return function(t,r,n,s,o,i){let a,f;for(r||(r=3),n||(n=0),s?f=Math.min(s*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],o(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}}();var ti=[0,0,0],Ms,he=class extends wr{static get ZERO(){return Ms||(Ms=new he(0,0,0),Object.freeze(Ms)),Ms}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&$t(t)?this.copy(t):(et.debug&&(rt(t),rt(r),rt(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return et.debug&&(rt(t.x),rt(t.y),rt(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=rt(t)}angle(t){return Tf(this,t)}cross(t){return gf(this,this,t),this.check()}rotateX({radians:t,origin:r=ti}){return Ef(this,this,r,t),this.check()}rotateY({radians:t,origin:r=ti}){return _f(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=ti}){return yf(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return xf(this,this,t),this.check()}transformAsVector(t){return Af(this,this,t),this.check()}transformByMatrix3(t){return Cs(this,this,t),this.check()}transformByMatrix2(t){return mf(this,this,t),this.check()}transformByQuaternion(t){return Bf(this,this,t),this.check()}};var bs=class extends br{toString(){let t="[";if(et.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=" ".concat(this[n*this.RANK+r])}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=" ".concat(this[r])}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=rt(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let s=0;s<this.RANK;++s)r[s]=this[n+s];return r}setColumn(t,r){let n=t*this.RANK;for(let s=0;s<this.RANK;++s)this[n+s]=r[s];return this}};function Cf(e,t){if(e===t){let r=t[1],n=t[2],s=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=s}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Mf(e,t){let r=t[0],n=t[1],s=t[2],o=t[3],i=t[4],a=t[5],f=t[6],c=t[7],h=t[8],l=h*i-a*c,u=-h*o+a*f,d=c*o-i*f,A=r*l+n*u+s*d;return A?(A=1/A,e[0]=l*A,e[1]=(-h*n+s*c)*A,e[2]=(a*n-s*i)*A,e[3]=u*A,e[4]=(h*r-s*f)*A,e[5]=(-a*r+s*o)*A,e[6]=d*A,e[7]=(-c*r+n*f)*A,e[8]=(i*r-n*o)*A,e):null}function bf(e){let t=e[0],r=e[1],n=e[2],s=e[3],o=e[4],i=e[5],a=e[6],f=e[7],c=e[8];return t*(c*o-i*f)+r*(-c*s+i*a)+n*(f*s-o*a)}function ei(e,t,r){let n=t[0],s=t[1],o=t[2],i=t[3],a=t[4],f=t[5],c=t[6],h=t[7],l=t[8],u=r[0],d=r[1],A=r[2],m=r[3],p=r[4],E=r[5],y=r[6],C=r[7],M=r[8];return e[0]=u*n+d*i+A*c,e[1]=u*s+d*a+A*h,e[2]=u*o+d*f+A*l,e[3]=m*n+p*i+E*c,e[4]=m*s+p*a+E*h,e[5]=m*o+p*f+E*l,e[6]=y*n+C*i+M*c,e[7]=y*s+C*a+M*h,e[8]=y*o+C*f+M*l,e}function wf(e,t,r){let n=t[0],s=t[1],o=t[2],i=t[3],a=t[4],f=t[5],c=t[6],h=t[7],l=t[8],u=r[0],d=r[1];return e[0]=n,e[1]=s,e[2]=o,e[3]=i,e[4]=a,e[5]=f,e[6]=u*n+d*i+c,e[7]=u*s+d*a+h,e[8]=u*o+d*f+l,e}function If(e,t,r){let n=t[0],s=t[1],o=t[2],i=t[3],a=t[4],f=t[5],c=t[6],h=t[7],l=t[8],u=Math.sin(r),d=Math.cos(r);return e[0]=d*n+u*i,e[1]=d*s+u*a,e[2]=d*o+u*f,e[3]=d*i-u*n,e[4]=d*a-u*s,e[5]=d*f-u*o,e[6]=c,e[7]=h,e[8]=l,e}function ri(e,t,r){let n=r[0],s=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=s*t[3],e[4]=s*t[4],e[5]=s*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Sf(e,t){let r=t[0],n=t[1],s=t[2],o=t[3],i=r+r,a=n+n,f=s+s,c=r*i,h=n*i,l=n*a,u=s*i,d=s*a,A=s*f,m=o*i,p=o*a,E=o*f;return e[0]=1-l-A,e[3]=h-E,e[6]=u+p,e[1]=h+E,e[4]=1-c-A,e[7]=d-m,e[2]=u-p,e[5]=d+m,e[8]=1-c-l,e}var ni;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(ni||(ni={}));var S1=Object.freeze([1,0,0,0,1,0,0,0,1]),le=class extends bs{static get IDENTITY(){return F1()}static get ZERO(){return R1()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return ni}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(S1)}fromObject(t){return this.check()}fromQuaternion(t){return Sf(this,t),this.check()}set(t,r,n,s,o,i,a,f,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=s,this[4]=o,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this.check()}setRowMajor(t,r,n,s,o,i,a,f,c){return this[0]=t,this[1]=s,this[2]=a,this[3]=r,this[4]=o,this[5]=f,this[6]=n,this[7]=i,this[8]=c,this.check()}determinant(){return bf(this)}transpose(){return Cf(this,this),this.check()}invert(){return Mf(this,this),this.check()}multiplyLeft(t){return ei(this,t,this),this.check()}multiplyRight(t){return ei(this,this,t),this.check()}rotate(t){return If(this,this,t),this.check()}scale(t){return Array.isArray(t)?ri(this,this,t):ri(this,this,[t,t]),this.check()}translate(t){return wf(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=Ts(r||[-0,-0],t,this);break;case 3:n=Cs(r||[-0,-0,-0],t,this);break;case 4:n=pf(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return cf(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},ws,Is=null;function R1(){return ws||(ws=new le([0,0,0,0,0,0,0,0,0]),Object.freeze(ws)),ws}function F1(){return Is||(Is=new le,Object.freeze(Is)),Is}var Sr;(function(e){e[e.ADD=1]="ADD",e[e.REPLACE=2]="REPLACE"})(Sr||(Sr={}));var Me;(function(e){e.EMPTY="empty",e.SCENEGRAPH="scenegraph",e.POINTCLOUD="pointcloud",e.MESH="mesh"})(Me||(Me={}));var Cn;(function(e){e.I3S="I3S",e.TILES3D="TILES3D"})(Cn||(Cn={}));var ue;(function(e){e.GEOMETRIC_ERROR="geometricError",e.MAX_SCREEN_THRESHOLD="maxScreenThreshold"})(ue||(ue={}));var Rr="4.2.0-alpha.5";var yt={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},cC=Object.keys(yt),be={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function si(e,t,r){z(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),s=new Uint8Array(e,t,r);return n.decode(s)}function Rf(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var Ff="4.2.0-alpha.5";var Df={name:"Draco",id:"draco",module:"draco",version:Ff,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}};function Lf(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function oi(e){let t=1/0,r=1/0,n=1/0,s=-1/0,o=-1/0,i=-1/0,a=e.POSITION?e.POSITION.value:[],f=a&&a.length;for(let c=0;c<f;c+=3){let h=a[c],l=a[c+1],u=a[c+2];t=h<t?h:t,r=l<r?l:r,n=u<n?u:n,s=h>s?h:s,o=l>o?l:o,i=u>i?u:i}return[[t,r,n],[s,o,i]]}function ii(e,t,r){let n=Lf(t.value),s=r||Of(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:s}}function Of(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}function Nf(e,t,r){let n=Gf(t.metadata),s=[],o=D1(t.attributes);for(let i in e){let a=e[i],f=vf(i,a,o[i]);s.push(f)}if(r){let i=vf("indices",r);s.push(i)}return{fields:s,metadata:n}}function D1(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function vf(e,t,r){let n=r?Gf(r.metadata):void 0;return ii(e,t,n)}function Gf(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Uf={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},L1={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},O1=4,Mn=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let s=this.decoder.GetEncodedGeometryType(n),o=s===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let i;switch(s){case this.draco.TRIANGULAR_MESH:i=this.decoder.DecodeBufferToMesh(n,o);break;case this.draco.POINT_CLOUD:i=this.decoder.DecodeBufferToPointCloud(n,o);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!i.ok()||!o.ptr){let u=`DRACO decompression failed: ${i.error_msg()}`;throw new Error(u)}let a=this._getDracoLoaderData(o,s,r),f=this._getMeshData(o,a,r),c=oi(f.attributes),h=Nf(f.attributes,a,f.indices);return{loader:"draco",loaderData:a,header:{vertexCount:o.num_points(),boundingBox:c},...f,schema:h}}finally{this.draco.destroy(n),o&&this.draco.destroy(o)}}_getDracoLoaderData(t,r,n){let s=this._getTopLevelMetadata(t),o=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:s,attributes:o}}_getDracoAttributes(t,r){let n={};for(let s=0;s<t.num_attributes();s++){let o=this.decoder.GetAttribute(t,s),i=this._getAttributeMetadata(t,s);n[o.unique_id()]={unique_id:o.unique_id(),attribute_type:o.attribute_type(),data_type:o.data_type(),num_components:o.num_components(),byte_offset:o.byte_offset(),byte_stride:o.byte_stride(),normalized:o.normalized(),attribute_index:s,metadata:i};let a=this._getQuantizationTransform(o,r);a&&(n[o.unique_id()].quantization_transform=a);let f=this._getOctahedronTransform(o,r);f&&(n[o.unique_id()].octahedron_transform=f)}return n}_getMeshData(t,r,n){let s=this._getMeshAttributes(r,t,n);if(!s.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:s,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:s,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:s}}_getMeshAttributes(t,r,n){let s={};for(let o of Object.values(t.attributes)){let i=this._deduceAttributeName(o,n);o.name=i;let{value:a,size:f}=this._getAttributeValues(r,o);s[i]={value:a,size:f,byteOffset:o.byte_offset,byteStride:o.byte_stride,normalized:o.normalized}}return s}_getTriangleListIndices(t){let n=t.num_faces()*3,s=n*O1,o=this.draco._malloc(s);try{return this.decoder.GetTrianglesUInt32Array(t,s,o),new Uint32Array(this.draco.HEAPF32.buffer,o,n).slice()}finally{this.draco._free(o)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),G1(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=L1[r.data_type],s=r.num_components,i=t.num_points()*s,a=i*n.BYTES_PER_ELEMENT,f=v1(this.draco,n),c,h=this.draco._malloc(a);try{let l=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,l,f,a,h),c=new n(this.draco.HEAPF32.buffer,h,i).slice()}finally{this.draco._free(h)}return{value:c,size:s}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[i,a]of Object.entries(r.extraAttributes||{}))if(a===n)return i;let s=t.attribute_type;for(let i in Uf)if(this.draco[i]===s)return Uf[i];let o=r.attributeNameEntry||"name";return t.metadata[o]?t.metadata[o].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let s=0;s<n;s++){let o=this.metadataQuerier.GetEntryName(t,s);r[o]=this._getDracoMetadataField(t,o)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let s=N1(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:s}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,s=[...r,...n];for(let o of s)this.decoder.SkipAttributeTransform(this.draco[o])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,s=t.attribute_type();if(n.map(i=>this.decoder[i]).includes(s)){let i=new this.draco.AttributeQuantizationTransform;try{if(i.InitFromAttribute(t))return{quantization_bits:i.quantization_bits(),range:i.range(),min_values:new Float32Array([1,2,3]).map(a=>i.min_value(a))}}finally{this.draco.destroy(i)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,s=t.attribute_type();if(n.map(i=>this.decoder[i]).includes(s)){let i=new this.draco.AttributeQuantizationTransform;try{if(i.InitFromAttribute(t))return{quantization_bits:i.quantization_bits()}}finally{this.draco.destroy(i)}}return null}};function v1(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function N1(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function G1(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var U1="1.5.6",P1="1.4.1",ai=`https://www.gstatic.com/draco/versioned/decoders/${U1}`,Tt={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},ci={[Tt.DECODER]:`${ai}/${Tt.DECODER}`,[Tt.DECODER_WASM]:`${ai}/${Tt.DECODER_WASM}`,[Tt.FALLBACK_DECODER]:`${ai}/${Tt.FALLBACK_DECODER}`,[Tt.ENCODER]:`https://raw.githubusercontent.com/google/draco/${P1}/javascript/${Tt.ENCODER}`},bn;async function Pf(e){let t=e.modules||{};return t.draco3d?bn=bn||t.draco3d.createDecoderModule({}).then(r=>({draco:r})):bn=bn||H1(e),await bn}async function H1(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await Wt(ci[Tt.FALLBACK_DECODER],"draco",e,Tt.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await Wt(ci[Tt.DECODER],"draco",e,Tt.DECODER),await Wt(ci[Tt.DECODER_WASM],"draco",e,Tt.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await k1(t,r)}function k1(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:s=>n({draco:s})})})}var Ss={...Df,parse:z1};async function z1(e,t){let{draco:r}=await Pf(t),n=new Mn(r);try{return n.parseSync(e,t?.draco)}finally{n.destroy()}}var J1={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},nt={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},H={...J1,...nt};var fi={[nt.DOUBLE]:Float64Array,[nt.FLOAT]:Float32Array,[nt.UNSIGNED_SHORT]:Uint16Array,[nt.UNSIGNED_INT]:Uint32Array,[nt.UNSIGNED_BYTE]:Uint8Array,[nt.BYTE]:Int8Array,[nt.SHORT]:Int16Array,[nt.INT]:Int32Array},Q1={DOUBLE:nt.DOUBLE,FLOAT:nt.FLOAT,UNSIGNED_SHORT:nt.UNSIGNED_SHORT,UNSIGNED_INT:nt.UNSIGNED_INT,UNSIGNED_BYTE:nt.UNSIGNED_BYTE,BYTE:nt.BYTE,SHORT:nt.SHORT,INT:nt.INT},hi="Failed to convert GL type",dt=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in fi)if(fi[r]===t)return r;throw new Error(hi)}static fromName(t){let r=Q1[t];if(!r)throw new Error(hi);return r}static getArrayType(t){switch(t){case nt.UNSIGNED_SHORT_5_6_5:case nt.UNSIGNED_SHORT_4_4_4_4:case nt.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=fi[t];if(!r)throw new Error(hi);return r}}static getByteSize(t){return dt.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(dt.getArrayType(t))}static createTypedArray(t,r,n=0,s){s===void 0&&(s=(r.byteLength-n)/dt.getByteSize(t));let o=dt.getArrayType(t);return new o(r,n,s)}};function Hf(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function li(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,s=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=s<<3,t}var JC=1/256;var QC=new Qe,VC=new he,jC=new Qe,KC=new Qe,XC=new Uint8Array(1);function kf(e,t=255){return Wo(e,0,t)/t*2-1}function zf(e){return e<0?-1:1}function Jf(e,t,r,n){if(Hf(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=kf(e,r),n.y=kf(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let s=n.x;n.x=(1-Math.abs(n.y))*zf(s),n.y=(1-Math.abs(s))*zf(n.y)}return n.normalize()}function ui(e,t,r){return Jf(e,t,255,r)}var V1=1/Math.PI*180,j1=1/180*Math.PI,K1={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...K1}};var q=globalThis.mathgl.config;function di(e,{precision:t=q.precision}={}){return e=X1(e),`${parseFloat(e.toPrecision(t))}`}function te(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Ai(e){return Qf(e)}function mi(e){return Vf(e)}function Qf(e,t){return jf(e,r=>r*j1,t)}function Vf(e,t){return jf(e,r=>r*V1,t)}function It(e,t,r){let n=q.EPSILON;r&&(q.EPSILON=r);try{if(e===t)return!0;if(te(e)&&te(t)){if(e.length!==t.length)return!1;for(let s=0;s<e.length;++s)if(!It(e[s],t[s]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=q.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{q.EPSILON=n}}function X1(e){return Math.round(e/q.EPSILON)*q.EPSILON}function Y1(e){return e.clone?e.clone():new Array(e.length)}function jf(e,t,r){if(te(e)){let n=e;r=r||Y1(n);for(let s=0;s<r.length&&s<n.length;++s){let o=typeof e=="number"?e:e[s];r[s]=t(o,s,r)}return r}return t(e)}var we=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:te(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(q)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+di(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!It(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let s=0;s<this.ELEMENTS;++s){let o=t[s],i=typeof r=="number"?r:r[s];this[s]=o+n*(i-o)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(q.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function Z1(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function J(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Ie(e,t,r=""){if(q.debug&&!Z1(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function ft(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var Fr=class extends we{get x(){return this[0]}set x(t){this[0]=J(t)}get y(){return this[1]}set y(t){this[1]=J(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let s=this[n]-t[n];r+=s*s}return J(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return J(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return ft(t>=0&&t<this.ELEMENTS,"index is out of range"),J(this[t])}setComponent(t,r){return ft(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var W=typeof Float32Array<"u"?Float32Array:Array,wn=Math.random;function Dr(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var CM=Math.PI/180;function q1(){let e=new W(2);return W!=Float32Array&&(e[0]=0,e[1]=0),e}function Kf(e,t,r){let n=t[0],s=t[1];return e[0]=r[0]*n+r[3]*s+r[6],e[1]=r[1]*n+r[4]*s+r[7],e}function Xf(e,t,r){let n=t[0],s=t[1];return e[0]=r[0]*n+r[4]*s+r[12],e[1]=r[1]*n+r[5]*s+r[13],e}var MM=function(){let e=q1();return function(t,r,n,s,o,i){let a,f;for(r||(r=2),n||(n=0),s?f=Math.min(s*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],o(e,e,i),t[a]=e[0],t[a+1]=e[1];return t}}();function Yf(e,t,r){let n=t[0],s=t[1],o=r[3]*n+r[7]*s||1;return e[0]=(r[0]*n+r[4]*s)/o,e[1]=(r[1]*n+r[5]*s)/o,e}function Rs(e,t,r){let n=t[0],s=t[1],o=t[2],i=r[3]*n+r[7]*s+r[11]*o||1;return e[0]=(r[0]*n+r[4]*s+r[8]*o)/i,e[1]=(r[1]*n+r[5]*s+r[9]*o)/i,e[2]=(r[2]*n+r[6]*s+r[10]*o)/i,e}function Zf(e,t,r){let n=t[0],s=t[1];return e[0]=r[0]*n+r[2]*s,e[1]=r[1]*n+r[3]*s,e[2]=t[2],e}function qf(e,t,r){let n=t[0],s=t[1];return e[0]=r[0]*n+r[2]*s,e[1]=r[1]*n+r[3]*s,e[2]=t[2],e[3]=t[3],e}function Fs(e,t,r){let n=t[0],s=t[1],o=t[2];return e[0]=r[0]*n+r[3]*s+r[6]*o,e[1]=r[1]*n+r[4]*s+r[7]*o,e[2]=r[2]*n+r[5]*s+r[8]*o,e[3]=t[3],e}var Ke={};ut(Ke,{add:()=>eA,angle:()=>Ei,bezier:()=>AA,ceil:()=>rA,clone:()=>W1,copy:()=>$1,create:()=>Ds,cross:()=>Ve,dist:()=>TA,distance:()=>rh,div:()=>yA,divide:()=>eh,dot:()=>In,equals:()=>BA,exactEquals:()=>xA,floor:()=>nA,forEach:()=>bA,fromValues:()=>Ls,hermite:()=>dA,inverse:()=>hA,len:()=>_i,length:()=>Wf,lerp:()=>lA,max:()=>oA,min:()=>sA,mul:()=>_A,multiply:()=>th,negate:()=>fA,normalize:()=>pi,random:()=>mA,rotateX:()=>gi,rotateY:()=>xi,rotateZ:()=>Bi,round:()=>iA,scale:()=>aA,scaleAndAdd:()=>cA,set:()=>tA,slerp:()=>uA,sqrDist:()=>CA,sqrLen:()=>MA,squaredDistance:()=>nh,squaredLength:()=>sh,str:()=>gA,sub:()=>EA,subtract:()=>$f,transformMat3:()=>Sn,transformMat4:()=>je,transformQuat:()=>Rn,zero:()=>pA});function Ds(){let e=new W(3);return W!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function W1(e){let t=new W(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Wf(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function Ls(e,t,r){let n=new W(3);return n[0]=e,n[1]=t,n[2]=r,n}function $1(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function tA(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function eA(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function $f(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function th(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function eh(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function rA(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function nA(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function sA(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function oA(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function iA(e,t){return e[0]=Dr(t[0]),e[1]=Dr(t[1]),e[2]=Dr(t[2]),e}function aA(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function cA(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function rh(e,t){let r=t[0]-e[0],n=t[1]-e[1],s=t[2]-e[2];return Math.sqrt(r*r+n*n+s*s)}function nh(e,t){let r=t[0]-e[0],n=t[1]-e[1],s=t[2]-e[2];return r*r+n*n+s*s}function sh(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function fA(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function hA(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function pi(e,t){let r=t[0],n=t[1],s=t[2],o=r*r+n*n+s*s;return o>0&&(o=1/Math.sqrt(o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e}function In(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Ve(e,t,r){let n=t[0],s=t[1],o=t[2],i=r[0],a=r[1],f=r[2];return e[0]=s*f-o*a,e[1]=o*i-n*f,e[2]=n*a-s*i,e}function lA(e,t,r,n){let s=t[0],o=t[1],i=t[2];return e[0]=s+n*(r[0]-s),e[1]=o+n*(r[1]-o),e[2]=i+n*(r[2]-i),e}function uA(e,t,r,n){let s=Math.acos(Math.min(Math.max(In(t,r),-1),1)),o=Math.sin(s),i=Math.sin((1-n)*s)/o,a=Math.sin(n*s)/o;return e[0]=i*t[0]+a*r[0],e[1]=i*t[1]+a*r[1],e[2]=i*t[2]+a*r[2],e}function dA(e,t,r,n,s,o){let i=o*o,a=i*(2*o-3)+1,f=i*(o-2)+o,c=i*(o-1),h=i*(3-2*o);return e[0]=t[0]*a+r[0]*f+n[0]*c+s[0]*h,e[1]=t[1]*a+r[1]*f+n[1]*c+s[1]*h,e[2]=t[2]*a+r[2]*f+n[2]*c+s[2]*h,e}function AA(e,t,r,n,s,o){let i=1-o,a=i*i,f=o*o,c=a*i,h=3*o*a,l=3*f*i,u=f*o;return e[0]=t[0]*c+r[0]*h+n[0]*l+s[0]*u,e[1]=t[1]*c+r[1]*h+n[1]*l+s[1]*u,e[2]=t[2]*c+r[2]*h+n[2]*l+s[2]*u,e}function mA(e,t){t=t===void 0?1:t;let r=wn()*2*Math.PI,n=wn()*2-1,s=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*s,e[1]=Math.sin(r)*s,e[2]=n*t,e}function je(e,t,r){let n=t[0],s=t[1],o=t[2],i=r[3]*n+r[7]*s+r[11]*o+r[15];return i=i||1,e[0]=(r[0]*n+r[4]*s+r[8]*o+r[12])/i,e[1]=(r[1]*n+r[5]*s+r[9]*o+r[13])/i,e[2]=(r[2]*n+r[6]*s+r[10]*o+r[14])/i,e}function Sn(e,t,r){let n=t[0],s=t[1],o=t[2];return e[0]=n*r[0]+s*r[3]+o*r[6],e[1]=n*r[1]+s*r[4]+o*r[7],e[2]=n*r[2]+s*r[5]+o*r[8],e}function Rn(e,t,r){let n=r[0],s=r[1],o=r[2],i=r[3],a=t[0],f=t[1],c=t[2],h=s*c-o*f,l=o*a-n*c,u=n*f-s*a,d=s*u-o*l,A=o*h-n*u,m=n*l-s*h,p=i*2;return h*=p,l*=p,u*=p,d*=2,A*=2,m*=2,e[0]=a+h+d,e[1]=f+l+A,e[2]=c+u+m,e}function gi(e,t,r,n){let s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0],o[1]=s[1]*Math.cos(n)-s[2]*Math.sin(n),o[2]=s[1]*Math.sin(n)+s[2]*Math.cos(n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e}function xi(e,t,r,n){let s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[2]*Math.sin(n)+s[0]*Math.cos(n),o[1]=s[1],o[2]=s[2]*Math.cos(n)-s[0]*Math.sin(n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e}function Bi(e,t,r,n){let s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0]*Math.cos(n)-s[1]*Math.sin(n),o[1]=s[0]*Math.sin(n)+s[1]*Math.cos(n),o[2]=s[2],e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e}function Ei(e,t){let r=e[0],n=e[1],s=e[2],o=t[0],i=t[1],a=t[2],f=Math.sqrt((r*r+n*n+s*s)*(o*o+i*i+a*a)),c=f&&In(e,t)/f;return Math.acos(Math.min(Math.max(c,-1),1))}function pA(e){return e[0]=0,e[1]=0,e[2]=0,e}function gA(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function xA(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function BA(e,t){let r=e[0],n=e[1],s=e[2],o=t[0],i=t[1],a=t[2];return Math.abs(r-o)<=1e-6*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-i)<=1e-6*Math.max(1,Math.abs(n),Math.abs(i))&&Math.abs(s-a)<=1e-6*Math.max(1,Math.abs(s),Math.abs(a))}var EA=$f,_A=th,yA=eh,TA=rh,CA=nh,_i=Wf,MA=sh,bA=function(){let e=Ds();return function(t,r,n,s,o,i){let a,f;for(r||(r=3),n||(n=0),s?f=Math.min(s*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],o(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}}();var yi=[0,0,0],Os,b=class extends Fr{static get ZERO(){return Os||(Os=new b(0,0,0),Object.freeze(Os)),Os}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&te(t)?this.copy(t):(q.debug&&(J(t),J(r),J(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return q.debug&&(J(t.x),J(t.y),J(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=J(t)}angle(t){return Ei(this,t)}cross(t){return Ve(this,this,t),this.check()}rotateX({radians:t,origin:r=yi}){return gi(this,this,r,t),this.check()}rotateY({radians:t,origin:r=yi}){return xi(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=yi}){return Bi(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return je(this,this,t),this.check()}transformAsVector(t){return Rs(this,this,t),this.check()}transformByMatrix3(t){return Sn(this,this,t),this.check()}transformByMatrix2(t){return Zf(this,this,t),this.check()}transformByQuaternion(t){return Rn(this,this,t),this.check()}};var vs,Or=class extends Fr{static get ZERO(){return vs||(vs=new Or(0,0,0,0),Object.freeze(vs)),vs}constructor(t=0,r=0,n=0,s=0){super(-0,-0,-0,-0),te(t)&&arguments.length===1?this.copy(t):(q.debug&&(J(t),J(r),J(n),J(s)),this[0]=t,this[1]=r,this[2]=n,this[3]=s)}set(t,r,n,s){return this[0]=t,this[1]=r,this[2]=n,this[3]=s,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return q.debug&&(J(t.x),J(t.y),J(t.z),J(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=J(t)}get w(){return this[3]}set w(t){this[3]=J(t)}transform(t){return je(this,this,t),this.check()}transformByMatrix3(t){return Fs(this,this,t),this.check()}transformByMatrix2(t){return qf(this,this,t),this.check()}transformByQuaternion(t){return Rn(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var vr=class extends we{toString(){let t="[";if(q.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=J(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let s=0;s<this.RANK;++s)r[s]=this[n+s];return r}setColumn(t,r){let n=t*this.RANK;for(let s=0;s<this.RANK;++s)this[n+s]=r[s];return this}};function oh(){let e=new W(9);return W!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function ih(e,t){if(e===t){let r=t[1],n=t[2],s=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=s}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function ah(e,t){let r=t[0],n=t[1],s=t[2],o=t[3],i=t[4],a=t[5],f=t[6],c=t[7],h=t[8],l=h*i-a*c,u=-h*o+a*f,d=c*o-i*f,A=r*l+n*u+s*d;return A?(A=1/A,e[0]=l*A,e[1]=(-h*n+s*c)*A,e[2]=(a*n-s*i)*A,e[3]=u*A,e[4]=(h*r-s*f)*A,e[5]=(-a*r+s*o)*A,e[6]=d*A,e[7]=(-c*r+n*f)*A,e[8]=(i*r-n*o)*A,e):null}function ch(e){let t=e[0],r=e[1],n=e[2],s=e[3],o=e[4],i=e[5],a=e[6],f=e[7],c=e[8];return t*(c*o-i*f)+r*(-c*s+i*a)+n*(f*s-o*a)}function Ti(e,t,r){let n=t[0],s=t[1],o=t[2],i=t[3],a=t[4],f=t[5],c=t[6],h=t[7],l=t[8],u=r[0],d=r[1],A=r[2],m=r[3],p=r[4],E=r[5],y=r[6],C=r[7],M=r[8];return e[0]=u*n+d*i+A*c,e[1]=u*s+d*a+A*h,e[2]=u*o+d*f+A*l,e[3]=m*n+p*i+E*c,e[4]=m*s+p*a+E*h,e[5]=m*o+p*f+E*l,e[6]=y*n+C*i+M*c,e[7]=y*s+C*a+M*h,e[8]=y*o+C*f+M*l,e}function fh(e,t,r){let n=t[0],s=t[1],o=t[2],i=t[3],a=t[4],f=t[5],c=t[6],h=t[7],l=t[8],u=r[0],d=r[1];return e[0]=n,e[1]=s,e[2]=o,e[3]=i,e[4]=a,e[5]=f,e[6]=u*n+d*i+c,e[7]=u*s+d*a+h,e[8]=u*o+d*f+l,e}function hh(e,t,r){let n=t[0],s=t[1],o=t[2],i=t[3],a=t[4],f=t[5],c=t[6],h=t[7],l=t[8],u=Math.sin(r),d=Math.cos(r);return e[0]=d*n+u*i,e[1]=d*s+u*a,e[2]=d*o+u*f,e[3]=d*i-u*n,e[4]=d*a-u*s,e[5]=d*f-u*o,e[6]=c,e[7]=h,e[8]=l,e}function Ci(e,t,r){let n=r[0],s=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=s*t[3],e[4]=s*t[4],e[5]=s*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function lh(e,t){let r=t[0],n=t[1],s=t[2],o=t[3],i=r+r,a=n+n,f=s+s,c=r*i,h=n*i,l=n*a,u=s*i,d=s*a,A=s*f,m=o*i,p=o*a,E=o*f;return e[0]=1-l-A,e[3]=h-E,e[6]=u+p,e[1]=h+E,e[4]=1-c-A,e[7]=d-m,e[2]=u-p,e[5]=d+m,e[8]=1-c-l,e}var Mi;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(Mi||(Mi={}));var IA=Object.freeze([1,0,0,0,1,0,0,0,1]),Z=class extends vr{static get IDENTITY(){return RA()}static get ZERO(){return SA()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return Mi}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(IA)}fromObject(t){return this.check()}fromQuaternion(t){return lh(this,t),this.check()}set(t,r,n,s,o,i,a,f,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=s,this[4]=o,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this.check()}setRowMajor(t,r,n,s,o,i,a,f,c){return this[0]=t,this[1]=s,this[2]=a,this[3]=r,this[4]=o,this[5]=f,this[6]=n,this[7]=i,this[8]=c,this.check()}determinant(){return ch(this)}transpose(){return ih(this,this),this.check()}invert(){return ah(this,this),this.check()}multiplyLeft(t){return Ti(this,t,this),this.check()}multiplyRight(t){return Ti(this,this,t),this.check()}rotate(t){return hh(this,this,t),this.check()}scale(t){return Array.isArray(t)?Ci(this,this,t):Ci(this,this,[t,t]),this.check()}translate(t){return fh(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=Kf(r||[-0,-0],t,this);break;case 3:n=Sn(r||[-0,-0,-0],t,this);break;case 4:n=Fs(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Ie(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},Ns,Gs=null;function SA(){return Ns||(Ns=new Z([0,0,0,0,0,0,0,0,0]),Object.freeze(Ns)),Ns}function RA(){return Gs||(Gs=new Z,Object.freeze(Gs)),Gs}var Dn={};ut(Dn,{add:()=>em,adjoint:()=>NA,clone:()=>DA,copy:()=>LA,create:()=>FA,decompose:()=>jA,determinant:()=>Ii,equals:()=>om,exactEquals:()=>sm,frob:()=>tm,fromQuat:()=>vi,fromQuat2:()=>JA,fromRotation:()=>PA,fromRotationTranslation:()=>dh,fromRotationTranslationScale:()=>KA,fromRotationTranslationScaleOrigin:()=>XA,fromScaling:()=>UA,fromTranslation:()=>GA,fromValues:()=>OA,fromXRotation:()=>HA,fromYRotation:()=>kA,fromZRotation:()=>zA,frustum:()=>Ni,getRotation:()=>VA,getScaling:()=>Ah,getTranslation:()=>QA,identity:()=>uh,invert:()=>wi,lookAt:()=>Pi,mul:()=>im,multiply:()=>Fn,multiplyScalar:()=>rm,multiplyScalarAndAdd:()=>nm,ortho:()=>Ui,orthoNO:()=>ph,orthoZO:()=>qA,perspective:()=>Gi,perspectiveFromFieldOfView:()=>ZA,perspectiveNO:()=>mh,perspectiveZO:()=>YA,rotate:()=>Fi,rotateX:()=>Di,rotateY:()=>Li,rotateZ:()=>Oi,scale:()=>Ri,set:()=>vA,str:()=>$A,sub:()=>am,subtract:()=>gh,targetTo:()=>WA,translate:()=>Si,transpose:()=>bi});function FA(){let e=new W(16);return W!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function DA(e){let t=new W(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function LA(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function OA(e,t,r,n,s,o,i,a,f,c,h,l,u,d,A,m){let p=new W(16);return p[0]=e,p[1]=t,p[2]=r,p[3]=n,p[4]=s,p[5]=o,p[6]=i,p[7]=a,p[8]=f,p[9]=c,p[10]=h,p[11]=l,p[12]=u,p[13]=d,p[14]=A,p[15]=m,p}function vA(e,t,r,n,s,o,i,a,f,c,h,l,u,d,A,m,p){return e[0]=t,e[1]=r,e[2]=n,e[3]=s,e[4]=o,e[5]=i,e[6]=a,e[7]=f,e[8]=c,e[9]=h,e[10]=l,e[11]=u,e[12]=d,e[13]=A,e[14]=m,e[15]=p,e}function uh(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function bi(e,t){if(e===t){let r=t[1],n=t[2],s=t[3],o=t[6],i=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=o,e[11]=t[14],e[12]=s,e[13]=i,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function wi(e,t){let r=t[0],n=t[1],s=t[2],o=t[3],i=t[4],a=t[5],f=t[6],c=t[7],h=t[8],l=t[9],u=t[10],d=t[11],A=t[12],m=t[13],p=t[14],E=t[15],y=r*a-n*i,C=r*f-s*i,M=r*c-o*i,T=n*f-s*a,I=n*c-o*a,w=s*c-o*f,L=h*m-l*A,x=h*p-u*A,g=h*E-d*A,B=l*p-u*m,_=l*E-d*m,U=u*E-d*p,G=y*U-C*_+M*B+T*g-I*x+w*L;return G?(G=1/G,e[0]=(a*U-f*_+c*B)*G,e[1]=(s*_-n*U-o*B)*G,e[2]=(m*w-p*I+E*T)*G,e[3]=(u*I-l*w-d*T)*G,e[4]=(f*g-i*U-c*x)*G,e[5]=(r*U-s*g+o*x)*G,e[6]=(p*M-A*w-E*C)*G,e[7]=(h*w-u*M+d*C)*G,e[8]=(i*_-a*g+c*L)*G,e[9]=(n*g-r*_-o*L)*G,e[10]=(A*I-m*M+E*y)*G,e[11]=(l*M-h*I-d*y)*G,e[12]=(a*x-i*B-f*L)*G,e[13]=(r*B-n*x+s*L)*G,e[14]=(m*C-A*T-p*y)*G,e[15]=(h*T-l*C+u*y)*G,e):null}function NA(e,t){let r=t[0],n=t[1],s=t[2],o=t[3],i=t[4],a=t[5],f=t[6],c=t[7],h=t[8],l=t[9],u=t[10],d=t[11],A=t[12],m=t[13],p=t[14],E=t[15],y=r*a-n*i,C=r*f-s*i,M=r*c-o*i,T=n*f-s*a,I=n*c-o*a,w=s*c-o*f,L=h*m-l*A,x=h*p-u*A,g=h*E-d*A,B=l*p-u*m,_=l*E-d*m,U=u*E-d*p;return e[0]=a*U-f*_+c*B,e[1]=s*_-n*U-o*B,e[2]=m*w-p*I+E*T,e[3]=u*I-l*w-d*T,e[4]=f*g-i*U-c*x,e[5]=r*U-s*g+o*x,e[6]=p*M-A*w-E*C,e[7]=h*w-u*M+d*C,e[8]=i*_-a*g+c*L,e[9]=n*g-r*_-o*L,e[10]=A*I-m*M+E*y,e[11]=l*M-h*I-d*y,e[12]=a*x-i*B-f*L,e[13]=r*B-n*x+s*L,e[14]=m*C-A*T-p*y,e[15]=h*T-l*C+u*y,e}function Ii(e){let t=e[0],r=e[1],n=e[2],s=e[3],o=e[4],i=e[5],a=e[6],f=e[7],c=e[8],h=e[9],l=e[10],u=e[11],d=e[12],A=e[13],m=e[14],p=e[15],E=t*i-r*o,y=t*a-n*o,C=r*a-n*i,M=c*A-h*d,T=c*m-l*d,I=h*m-l*A,w=t*I-r*T+n*M,L=o*I-i*T+a*M,x=c*C-h*y+l*E,g=d*C-A*y+m*E;return f*w-s*L+p*x-u*g}function Fn(e,t,r){let n=t[0],s=t[1],o=t[2],i=t[3],a=t[4],f=t[5],c=t[6],h=t[7],l=t[8],u=t[9],d=t[10],A=t[11],m=t[12],p=t[13],E=t[14],y=t[15],C=r[0],M=r[1],T=r[2],I=r[3];return e[0]=C*n+M*a+T*l+I*m,e[1]=C*s+M*f+T*u+I*p,e[2]=C*o+M*c+T*d+I*E,e[3]=C*i+M*h+T*A+I*y,C=r[4],M=r[5],T=r[6],I=r[7],e[4]=C*n+M*a+T*l+I*m,e[5]=C*s+M*f+T*u+I*p,e[6]=C*o+M*c+T*d+I*E,e[7]=C*i+M*h+T*A+I*y,C=r[8],M=r[9],T=r[10],I=r[11],e[8]=C*n+M*a+T*l+I*m,e[9]=C*s+M*f+T*u+I*p,e[10]=C*o+M*c+T*d+I*E,e[11]=C*i+M*h+T*A+I*y,C=r[12],M=r[13],T=r[14],I=r[15],e[12]=C*n+M*a+T*l+I*m,e[13]=C*s+M*f+T*u+I*p,e[14]=C*o+M*c+T*d+I*E,e[15]=C*i+M*h+T*A+I*y,e}function Si(e,t,r){let n=r[0],s=r[1],o=r[2],i,a,f,c,h,l,u,d,A,m,p,E;return t===e?(e[12]=t[0]*n+t[4]*s+t[8]*o+t[12],e[13]=t[1]*n+t[5]*s+t[9]*o+t[13],e[14]=t[2]*n+t[6]*s+t[10]*o+t[14],e[15]=t[3]*n+t[7]*s+t[11]*o+t[15]):(i=t[0],a=t[1],f=t[2],c=t[3],h=t[4],l=t[5],u=t[6],d=t[7],A=t[8],m=t[9],p=t[10],E=t[11],e[0]=i,e[1]=a,e[2]=f,e[3]=c,e[4]=h,e[5]=l,e[6]=u,e[7]=d,e[8]=A,e[9]=m,e[10]=p,e[11]=E,e[12]=i*n+h*s+A*o+t[12],e[13]=a*n+l*s+m*o+t[13],e[14]=f*n+u*s+p*o+t[14],e[15]=c*n+d*s+E*o+t[15]),e}function Ri(e,t,r){let n=r[0],s=r[1],o=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*s,e[5]=t[5]*s,e[6]=t[6]*s,e[7]=t[7]*s,e[8]=t[8]*o,e[9]=t[9]*o,e[10]=t[10]*o,e[11]=t[11]*o,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Fi(e,t,r,n){let s=n[0],o=n[1],i=n[2],a=Math.sqrt(s*s+o*o+i*i),f,c,h,l,u,d,A,m,p,E,y,C,M,T,I,w,L,x,g,B,_,U,G,P;return a<1e-6?null:(a=1/a,s*=a,o*=a,i*=a,c=Math.sin(r),f=Math.cos(r),h=1-f,l=t[0],u=t[1],d=t[2],A=t[3],m=t[4],p=t[5],E=t[6],y=t[7],C=t[8],M=t[9],T=t[10],I=t[11],w=s*s*h+f,L=o*s*h+i*c,x=i*s*h-o*c,g=s*o*h-i*c,B=o*o*h+f,_=i*o*h+s*c,U=s*i*h+o*c,G=o*i*h-s*c,P=i*i*h+f,e[0]=l*w+m*L+C*x,e[1]=u*w+p*L+M*x,e[2]=d*w+E*L+T*x,e[3]=A*w+y*L+I*x,e[4]=l*g+m*B+C*_,e[5]=u*g+p*B+M*_,e[6]=d*g+E*B+T*_,e[7]=A*g+y*B+I*_,e[8]=l*U+m*G+C*P,e[9]=u*U+p*G+M*P,e[10]=d*U+E*G+T*P,e[11]=A*U+y*G+I*P,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Di(e,t,r){let n=Math.sin(r),s=Math.cos(r),o=t[4],i=t[5],a=t[6],f=t[7],c=t[8],h=t[9],l=t[10],u=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=o*s+c*n,e[5]=i*s+h*n,e[6]=a*s+l*n,e[7]=f*s+u*n,e[8]=c*s-o*n,e[9]=h*s-i*n,e[10]=l*s-a*n,e[11]=u*s-f*n,e}function Li(e,t,r){let n=Math.sin(r),s=Math.cos(r),o=t[0],i=t[1],a=t[2],f=t[3],c=t[8],h=t[9],l=t[10],u=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*s-c*n,e[1]=i*s-h*n,e[2]=a*s-l*n,e[3]=f*s-u*n,e[8]=o*n+c*s,e[9]=i*n+h*s,e[10]=a*n+l*s,e[11]=f*n+u*s,e}function Oi(e,t,r){let n=Math.sin(r),s=Math.cos(r),o=t[0],i=t[1],a=t[2],f=t[3],c=t[4],h=t[5],l=t[6],u=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*s+c*n,e[1]=i*s+h*n,e[2]=a*s+l*n,e[3]=f*s+u*n,e[4]=c*s-o*n,e[5]=h*s-i*n,e[6]=l*s-a*n,e[7]=u*s-f*n,e}function GA(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function UA(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function PA(e,t,r){let n=r[0],s=r[1],o=r[2],i=Math.sqrt(n*n+s*s+o*o),a,f,c;return i<1e-6?null:(i=1/i,n*=i,s*=i,o*=i,f=Math.sin(t),a=Math.cos(t),c=1-a,e[0]=n*n*c+a,e[1]=s*n*c+o*f,e[2]=o*n*c-s*f,e[3]=0,e[4]=n*s*c-o*f,e[5]=s*s*c+a,e[6]=o*s*c+n*f,e[7]=0,e[8]=n*o*c+s*f,e[9]=s*o*c-n*f,e[10]=o*o*c+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function HA(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function kA(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function zA(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function dh(e,t,r){let n=t[0],s=t[1],o=t[2],i=t[3],a=n+n,f=s+s,c=o+o,h=n*a,l=n*f,u=n*c,d=s*f,A=s*c,m=o*c,p=i*a,E=i*f,y=i*c;return e[0]=1-(d+m),e[1]=l+y,e[2]=u-E,e[3]=0,e[4]=l-y,e[5]=1-(h+m),e[6]=A+p,e[7]=0,e[8]=u+E,e[9]=A-p,e[10]=1-(h+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function JA(e,t){let r=new W(3),n=-t[0],s=-t[1],o=-t[2],i=t[3],a=t[4],f=t[5],c=t[6],h=t[7],l=n*n+s*s+o*o+i*i;return l>0?(r[0]=(a*i+h*n+f*o-c*s)*2/l,r[1]=(f*i+h*s+c*n-a*o)*2/l,r[2]=(c*i+h*o+a*s-f*n)*2/l):(r[0]=(a*i+h*n+f*o-c*s)*2,r[1]=(f*i+h*s+c*n-a*o)*2,r[2]=(c*i+h*o+a*s-f*n)*2),dh(e,t,r),e}function QA(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Ah(e,t){let r=t[0],n=t[1],s=t[2],o=t[4],i=t[5],a=t[6],f=t[8],c=t[9],h=t[10];return e[0]=Math.sqrt(r*r+n*n+s*s),e[1]=Math.sqrt(o*o+i*i+a*a),e[2]=Math.sqrt(f*f+c*c+h*h),e}function VA(e,t){let r=new W(3);Ah(r,t);let n=1/r[0],s=1/r[1],o=1/r[2],i=t[0]*n,a=t[1]*s,f=t[2]*o,c=t[4]*n,h=t[5]*s,l=t[6]*o,u=t[8]*n,d=t[9]*s,A=t[10]*o,m=i+h+A,p=0;return m>0?(p=Math.sqrt(m+1)*2,e[3]=.25*p,e[0]=(l-d)/p,e[1]=(u-f)/p,e[2]=(a-c)/p):i>h&&i>A?(p=Math.sqrt(1+i-h-A)*2,e[3]=(l-d)/p,e[0]=.25*p,e[1]=(a+c)/p,e[2]=(u+f)/p):h>A?(p=Math.sqrt(1+h-i-A)*2,e[3]=(u-f)/p,e[0]=(a+c)/p,e[1]=.25*p,e[2]=(l+d)/p):(p=Math.sqrt(1+A-i-h)*2,e[3]=(a-c)/p,e[0]=(u+f)/p,e[1]=(l+d)/p,e[2]=.25*p),e}function jA(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let s=n[0],o=n[1],i=n[2],a=n[4],f=n[5],c=n[6],h=n[8],l=n[9],u=n[10];r[0]=Math.sqrt(s*s+o*o+i*i),r[1]=Math.sqrt(a*a+f*f+c*c),r[2]=Math.sqrt(h*h+l*l+u*u);let d=1/r[0],A=1/r[1],m=1/r[2],p=s*d,E=o*A,y=i*m,C=a*d,M=f*A,T=c*m,I=h*d,w=l*A,L=u*m,x=p+M+L,g=0;return x>0?(g=Math.sqrt(x+1)*2,e[3]=.25*g,e[0]=(T-w)/g,e[1]=(I-y)/g,e[2]=(E-C)/g):p>M&&p>L?(g=Math.sqrt(1+p-M-L)*2,e[3]=(T-w)/g,e[0]=.25*g,e[1]=(E+C)/g,e[2]=(I+y)/g):M>L?(g=Math.sqrt(1+M-p-L)*2,e[3]=(I-y)/g,e[0]=(E+C)/g,e[1]=.25*g,e[2]=(T+w)/g):(g=Math.sqrt(1+L-p-M)*2,e[3]=(E-C)/g,e[0]=(I+y)/g,e[1]=(T+w)/g,e[2]=.25*g),e}function KA(e,t,r,n){let s=t[0],o=t[1],i=t[2],a=t[3],f=s+s,c=o+o,h=i+i,l=s*f,u=s*c,d=s*h,A=o*c,m=o*h,p=i*h,E=a*f,y=a*c,C=a*h,M=n[0],T=n[1],I=n[2];return e[0]=(1-(A+p))*M,e[1]=(u+C)*M,e[2]=(d-y)*M,e[3]=0,e[4]=(u-C)*T,e[5]=(1-(l+p))*T,e[6]=(m+E)*T,e[7]=0,e[8]=(d+y)*I,e[9]=(m-E)*I,e[10]=(1-(l+A))*I,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function XA(e,t,r,n,s){let o=t[0],i=t[1],a=t[2],f=t[3],c=o+o,h=i+i,l=a+a,u=o*c,d=o*h,A=o*l,m=i*h,p=i*l,E=a*l,y=f*c,C=f*h,M=f*l,T=n[0],I=n[1],w=n[2],L=s[0],x=s[1],g=s[2],B=(1-(m+E))*T,_=(d+M)*T,U=(A-C)*T,G=(d-M)*I,P=(1-(u+E))*I,v=(p+y)*I,at=(A+C)*w,mt=(p-y)*w,X=(1-(u+m))*w;return e[0]=B,e[1]=_,e[2]=U,e[3]=0,e[4]=G,e[5]=P,e[6]=v,e[7]=0,e[8]=at,e[9]=mt,e[10]=X,e[11]=0,e[12]=r[0]+L-(B*L+G*x+at*g),e[13]=r[1]+x-(_*L+P*x+mt*g),e[14]=r[2]+g-(U*L+v*x+X*g),e[15]=1,e}function vi(e,t){let r=t[0],n=t[1],s=t[2],o=t[3],i=r+r,a=n+n,f=s+s,c=r*i,h=n*i,l=n*a,u=s*i,d=s*a,A=s*f,m=o*i,p=o*a,E=o*f;return e[0]=1-l-A,e[1]=h+E,e[2]=u-p,e[3]=0,e[4]=h-E,e[5]=1-c-A,e[6]=d+m,e[7]=0,e[8]=u+p,e[9]=d-m,e[10]=1-c-l,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ni(e,t,r,n,s,o,i){let a=1/(r-t),f=1/(s-n),c=1/(o-i);return e[0]=o*2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o*2*f,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(s+n)*f,e[10]=(i+o)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=i*o*2*c,e[15]=0,e}function mh(e,t,r,n,s){let o=1/Math.tan(t/2);if(e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,s!=null&&s!==1/0){let i=1/(n-s);e[10]=(s+n)*i,e[14]=2*s*n*i}else e[10]=-1,e[14]=-2*n;return e}var Gi=mh;function YA(e,t,r,n,s){let o=1/Math.tan(t/2);if(e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,s!=null&&s!==1/0){let i=1/(n-s);e[10]=s*i,e[14]=s*n*i}else e[10]=-1,e[14]=-n;return e}function ZA(e,t,r,n){let s=Math.tan(t.upDegrees*Math.PI/180),o=Math.tan(t.downDegrees*Math.PI/180),i=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),f=2/(i+a),c=2/(s+o);return e[0]=f,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((i-a)*f*.5),e[9]=(s-o)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function ph(e,t,r,n,s,o,i){let a=1/(t-r),f=1/(n-s),c=1/(o-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*a,e[13]=(s+n)*f,e[14]=(i+o)*c,e[15]=1,e}var Ui=ph;function qA(e,t,r,n,s,o,i){let a=1/(t-r),f=1/(n-s),c=1/(o-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*a,e[13]=(s+n)*f,e[14]=o*c,e[15]=1,e}function Pi(e,t,r,n){let s,o,i,a,f,c,h,l,u,d,A=t[0],m=t[1],p=t[2],E=n[0],y=n[1],C=n[2],M=r[0],T=r[1],I=r[2];return Math.abs(A-M)<1e-6&&Math.abs(m-T)<1e-6&&Math.abs(p-I)<1e-6?uh(e):(l=A-M,u=m-T,d=p-I,s=1/Math.sqrt(l*l+u*u+d*d),l*=s,u*=s,d*=s,o=y*d-C*u,i=C*l-E*d,a=E*u-y*l,s=Math.sqrt(o*o+i*i+a*a),s?(s=1/s,o*=s,i*=s,a*=s):(o=0,i=0,a=0),f=u*a-d*i,c=d*o-l*a,h=l*i-u*o,s=Math.sqrt(f*f+c*c+h*h),s?(s=1/s,f*=s,c*=s,h*=s):(f=0,c=0,h=0),e[0]=o,e[1]=f,e[2]=l,e[3]=0,e[4]=i,e[5]=c,e[6]=u,e[7]=0,e[8]=a,e[9]=h,e[10]=d,e[11]=0,e[12]=-(o*A+i*m+a*p),e[13]=-(f*A+c*m+h*p),e[14]=-(l*A+u*m+d*p),e[15]=1,e)}function WA(e,t,r,n){let s=t[0],o=t[1],i=t[2],a=n[0],f=n[1],c=n[2],h=s-r[0],l=o-r[1],u=i-r[2],d=h*h+l*l+u*u;d>0&&(d=1/Math.sqrt(d),h*=d,l*=d,u*=d);let A=f*u-c*l,m=c*h-a*u,p=a*l-f*h;return d=A*A+m*m+p*p,d>0&&(d=1/Math.sqrt(d),A*=d,m*=d,p*=d),e[0]=A,e[1]=m,e[2]=p,e[3]=0,e[4]=l*p-u*m,e[5]=u*A-h*p,e[6]=h*m-l*A,e[7]=0,e[8]=h,e[9]=l,e[10]=u,e[11]=0,e[12]=s,e[13]=o,e[14]=i,e[15]=1,e}function $A(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function tm(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function em(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function gh(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function rm(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function nm(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function sm(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function om(e,t){let r=e[0],n=e[1],s=e[2],o=e[3],i=e[4],a=e[5],f=e[6],c=e[7],h=e[8],l=e[9],u=e[10],d=e[11],A=e[12],m=e[13],p=e[14],E=e[15],y=t[0],C=t[1],M=t[2],T=t[3],I=t[4],w=t[5],L=t[6],x=t[7],g=t[8],B=t[9],_=t[10],U=t[11],G=t[12],P=t[13],v=t[14],at=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-C)<=1e-6*Math.max(1,Math.abs(n),Math.abs(C))&&Math.abs(s-M)<=1e-6*Math.max(1,Math.abs(s),Math.abs(M))&&Math.abs(o-T)<=1e-6*Math.max(1,Math.abs(o),Math.abs(T))&&Math.abs(i-I)<=1e-6*Math.max(1,Math.abs(i),Math.abs(I))&&Math.abs(a-w)<=1e-6*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(f-L)<=1e-6*Math.max(1,Math.abs(f),Math.abs(L))&&Math.abs(c-x)<=1e-6*Math.max(1,Math.abs(c),Math.abs(x))&&Math.abs(h-g)<=1e-6*Math.max(1,Math.abs(h),Math.abs(g))&&Math.abs(l-B)<=1e-6*Math.max(1,Math.abs(l),Math.abs(B))&&Math.abs(u-_)<=1e-6*Math.max(1,Math.abs(u),Math.abs(_))&&Math.abs(d-U)<=1e-6*Math.max(1,Math.abs(d),Math.abs(U))&&Math.abs(A-G)<=1e-6*Math.max(1,Math.abs(A),Math.abs(G))&&Math.abs(m-P)<=1e-6*Math.max(1,Math.abs(m),Math.abs(P))&&Math.abs(p-v)<=1e-6*Math.max(1,Math.abs(p),Math.abs(v))&&Math.abs(E-at)<=1e-6*Math.max(1,Math.abs(E),Math.abs(at))}var im=Fn,am=gh;function cm(){let e=new W(4);return W!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function xh(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Bh(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Eh(e){let t=e[0],r=e[1],n=e[2],s=e[3];return Math.sqrt(t*t+r*r+n*n+s*s)}function _h(e){let t=e[0],r=e[1],n=e[2],s=e[3];return t*t+r*r+n*n+s*s}function yh(e,t){let r=t[0],n=t[1],s=t[2],o=t[3],i=r*r+n*n+s*s+o*o;return i>0&&(i=1/Math.sqrt(i)),e[0]=r*i,e[1]=n*i,e[2]=s*i,e[3]=o*i,e}function Th(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function Ch(e,t,r,n){let s=t[0],o=t[1],i=t[2],a=t[3];return e[0]=s+n*(r[0]-s),e[1]=o+n*(r[1]-o),e[2]=i+n*(r[2]-i),e[3]=a+n*(r[3]-a),e}function Mh(e,t,r){let n=t[0],s=t[1],o=t[2],i=t[3];return e[0]=r[0]*n+r[4]*s+r[8]*o+r[12]*i,e[1]=r[1]*n+r[5]*s+r[9]*o+r[13]*i,e[2]=r[2]*n+r[6]*s+r[10]*o+r[14]*i,e[3]=r[3]*n+r[7]*s+r[11]*o+r[15]*i,e}function bh(e,t,r){let n=t[0],s=t[1],o=t[2],i=r[0],a=r[1],f=r[2],c=r[3],h=c*n+a*o-f*s,l=c*s+f*n-i*o,u=c*o+i*s-a*n,d=-i*n-a*s-f*o;return e[0]=h*c+d*-i+l*-f-u*-a,e[1]=l*c+d*-a+u*-i-h*-f,e[2]=u*c+d*-f+h*-a-l*-i,e[3]=t[3],e}var qM=function(){let e=cm();return function(t,r,n,s,o,i){let a,f;for(r||(r=4),n||(n=0),s?f=Math.min(s*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],e[3]=t[a+3],o(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2],t[a+3]=e[3];return t}}();var zi;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(zi||(zi={}));var hm=45*Math.PI/180,lm=1,Hi=.1,ki=500,um=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Ft=class extends vr{static get IDENTITY(){return Am()}static get ZERO(){return dm()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return zi}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,s,o,i,a,f,c,h,l,u,d,A,m,p){return this[0]=t,this[1]=r,this[2]=n,this[3]=s,this[4]=o,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this[9]=h,this[10]=l,this[11]=u,this[12]=d,this[13]=A,this[14]=m,this[15]=p,this.check()}setRowMajor(t,r,n,s,o,i,a,f,c,h,l,u,d,A,m,p){return this[0]=t,this[1]=o,this[2]=c,this[3]=d,this[4]=r,this[5]=i,this[6]=h,this[7]=A,this[8]=n,this[9]=a,this[10]=l,this[11]=m,this[12]=s,this[13]=f,this[14]=u,this[15]=p,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(um)}fromObject(t){return this.check()}fromQuaternion(t){return vi(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:s,top:o,near:i=Hi,far:a=ki}=t;return a===1/0?mm(this,r,n,s,o,i):Ni(this,r,n,s,o,i,a),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:s=[0,1,0]}=t;return Pi(this,r,n,s),this.check()}ortho(t){let{left:r,right:n,bottom:s,top:o,near:i=Hi,far:a=ki}=t;return Ui(this,r,n,s,o,i,a),this.check()}orthographic(t){let{fovy:r=hm,aspect:n=lm,focalDistance:s=1,near:o=Hi,far:i=ki}=t;wh(r);let a=r/2,f=s*Math.tan(a),c=f*n;return this.ortho({left:-c,right:c,bottom:-f,top:f,near:o,far:i})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:s=.1,far:o=500}=t;return wh(r),Gi(this,r,n,s,o),this.check()}determinant(){return Ii(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),s=1/n[0],o=1/n[1],i=1/n[2];return t[0]=this[0]*s,t[1]=this[1]*o,t[2]=this[2]*i,t[3]=0,t[4]=this[4]*s,t[5]=this[5]*o,t[6]=this[6]*i,t[7]=0,t[8]=this[8]*s,t[9]=this[9]*o,t[10]=this[10]*i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),s=1/n[0],o=1/n[1],i=1/n[2];return t[0]=this[0]*s,t[1]=this[1]*o,t[2]=this[2]*i,t[3]=this[4]*s,t[4]=this[5]*o,t[5]=this[6]*i,t[6]=this[8]*s,t[7]=this[9]*o,t[8]=this[10]*i,t}transpose(){return bi(this,this),this.check()}invert(){return wi(this,this),this.check()}multiplyLeft(t){return Fn(this,t,this),this.check()}multiplyRight(t){return Fn(this,this,t),this.check()}rotateX(t){return Di(this,this,t),this.check()}rotateY(t){return Li(this,this,t),this.check()}rotateZ(t){return Oi(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return Fi(this,this,t,r),this.check()}scale(t){return Ri(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return Si(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Mh(r||[-0,-0,-0,-0],t,this),Ie(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,s;switch(n){case 2:s=Xf(r||[-0,-0],t,this);break;case 3:s=je(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Ie(s,t.length),s}transformAsVector(t,r){let n;switch(t.length){case 2:n=Yf(r||[-0,-0],t,this);break;case 3:n=Rs(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Ie(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},Us,Ps;function dm(){return Us||(Us=new Ft([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Us)),Us}function Am(){return Ps||(Ps=new Ft,Object.freeze(Ps)),Ps}function wh(e){if(e>Math.PI*2)throw Error("expected radians")}function mm(e,t,r,n,s,o){let i=2*o/(r-t),a=2*o/(s-n),f=(r+t)/(r-t),c=(s+n)/(s-n),h=-1,l=-1,u=-2*o;return e[0]=i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=f,e[9]=c,e[10]=h,e[11]=l,e[12]=0,e[13]=0,e[14]=u,e[15]=0,e}function Ih(){let e=new W(4);return W!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Sh(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function Ji(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function Qi(e,t,r){let n=t[0],s=t[1],o=t[2],i=t[3],a=r[0],f=r[1],c=r[2],h=r[3];return e[0]=n*h+i*a+s*c-o*f,e[1]=s*h+i*f+o*a-n*c,e[2]=o*h+i*c+n*f-s*a,e[3]=i*h-n*a-s*f-o*c,e}function Rh(e,t,r){r*=.5;let n=t[0],s=t[1],o=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f+i*a,e[1]=s*f+o*a,e[2]=o*f-s*a,e[3]=i*f-n*a,e}function Fh(e,t,r){r*=.5;let n=t[0],s=t[1],o=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f-o*a,e[1]=s*f+i*a,e[2]=o*f+n*a,e[3]=i*f-s*a,e}function Dh(e,t,r){r*=.5;let n=t[0],s=t[1],o=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f+s*a,e[1]=s*f-n*a,e[2]=o*f+i*a,e[3]=i*f-o*a,e}function Lh(e,t){let r=t[0],n=t[1],s=t[2];return e[0]=r,e[1]=n,e[2]=s,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-s*s)),e}function Ln(e,t,r,n){let s=t[0],o=t[1],i=t[2],a=t[3],f=r[0],c=r[1],h=r[2],l=r[3],u,d,A,m,p;return u=s*f+o*c+i*h+a*l,u<0&&(u=-u,f=-f,c=-c,h=-h,l=-l),1-u>1e-6?(d=Math.acos(u),p=Math.sin(d),A=Math.sin((1-n)*d)/p,m=Math.sin(n*d)/p):(A=1-n,m=n),e[0]=A*s+m*f,e[1]=A*o+m*c,e[2]=A*i+m*h,e[3]=A*a+m*l,e}function Oh(e,t){let r=t[0],n=t[1],s=t[2],o=t[3],i=r*r+n*n+s*s+o*o,a=i?1/i:0;return e[0]=-r*a,e[1]=-n*a,e[2]=-s*a,e[3]=o*a,e}function vh(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function Vi(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let s=0;t[4]>t[0]&&(s=1),t[8]>t[s*3+s]&&(s=2);let o=(s+1)%3,i=(s+2)%3;n=Math.sqrt(t[s*3+s]-t[o*3+o]-t[i*3+i]+1),e[s]=.5*n,n=.5/n,e[3]=(t[o*3+i]-t[i*3+o])*n,e[o]=(t[o*3+s]+t[s*3+o])*n,e[i]=(t[i*3+s]+t[s*3+i])*n}return e}var Nh=xh;var Gh=Bh,Uh=Th,Ph=Ch,Hh=Eh;var kh=_h;var zh=yh;var Jh=function(){let e=Ds(),t=Ls(1,0,0),r=Ls(0,1,0);return function(n,s,o){let i=In(s,o);return i<-.999999?(Ve(e,t,s),_i(e)<1e-6&&Ve(e,r,s),pi(e,e),Ji(n,e,Math.PI),n):i>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Ve(e,s,o),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+i,zh(n,n))}}(),lb=function(){let e=Ih(),t=Ih();return function(r,n,s,o,i,a){return Ln(e,n,i,a),Ln(t,s,o,a),Ln(r,e,t,2*a*(1-a)),r}}(),ub=function(){let e=oh();return function(t,r,n,s){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=s[0],e[4]=s[1],e[7]=s[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],zh(t,Vi(t,e))}}();var pm=[0,0,0,1],Se=class extends we{constructor(t=0,r=0,n=0,s=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,s)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,s){return this[0]=t,this[1]=r,this[2]=n,this[3]=s,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return Vi(this,t),this.check()}fromAxisRotation(t,r){return Ji(this,t,r),this.check()}identity(){return Sh(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=J(t)}get y(){return this[1]}set y(t){this[1]=J(t)}get z(){return this[2]}set z(t){this[2]=J(t)}get w(){return this[3]}set w(t){this[3]=J(t)}len(){return Hh(this)}lengthSquared(){return kh(this)}dot(t){return Uh(this,t)}rotationTo(t,r){return Jh(this,t,r),this.check()}add(t){return Nh(this,this,t),this.check()}calculateW(){return Lh(this,this),this.check()}conjugate(){return vh(this,this),this.check()}invert(){return Oh(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Ph(this,t,r,n),this.check())}multiplyRight(t){return Qi(this,this,t),this.check()}multiplyLeft(t){return Qi(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return Rh(this,this,t),this.check()}rotateY(t){return Fh(this,this,t),this.check()}rotateZ(t){return Dh(this,this,t),this.check()}scale(t){return Gh(this,this,t),this.check()}slerp(t,r,n){let s,o,i;switch(arguments.length){case 1:({start:s=pm,target:o,ratio:i}=t);break;case 2:s=this,o=t,i=r;break;default:s=t,o=r,i=n}return Ln(this,s,o,i),this.check()}transformVector4(t,r=new Or){return bh(r,t,this),Ie(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var kt={};ut(kt,{EPSILON1:()=>gm,EPSILON10:()=>bm,EPSILON11:()=>wm,EPSILON12:()=>Im,EPSILON13:()=>Sm,EPSILON14:()=>Rm,EPSILON15:()=>Fm,EPSILON16:()=>Dm,EPSILON17:()=>Lm,EPSILON18:()=>Om,EPSILON19:()=>vm,EPSILON2:()=>xm,EPSILON20:()=>Nm,EPSILON3:()=>Bm,EPSILON4:()=>Em,EPSILON5:()=>_m,EPSILON6:()=>ym,EPSILON7:()=>Tm,EPSILON8:()=>Cm,EPSILON9:()=>Mm,PI_OVER_FOUR:()=>Um,PI_OVER_SIX:()=>Pm,PI_OVER_TWO:()=>Gm,TWO_PI:()=>Hm});var gm=.1,xm=.01,Bm=.001,Em=1e-4,_m=1e-5,ym=1e-6,Tm=1e-7,Cm=1e-8,Mm=1e-9,bm=1e-10,wm=1e-11,Im=1e-12,Sm=1e-13,Rm=1e-14,Fm=1e-15,Dm=1e-16,Lm=1e-17,Om=1e-18,vm=1e-19,Nm=1e-20,Gm=Math.PI/2,Um=Math.PI/4,Pm=Math.PI/6,Hm=Math.PI*2;var zt=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=H.UNSIGNED_INT,n=1){let s=this.json[t];return s&&Number.isFinite(s.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,s.byteOffset):s}getPropertyArray(t,r,n){let s=this.json[t];return s&&Number.isFinite(s.byteOffset)?("componentType"in s&&(r=dt.fromName(s.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,s.byteOffset)):this._getTypedArrayFromArray(t,r,s)}getProperty(t,r,n,s,o){let i=this.json[t];if(!i)return i;let a=this.getPropertyArray(t,r,n);if(n===1)return a[s];for(let f=0;f<n;++f)o[f]=a[n*s+f];return o}_getTypedArrayFromBinary(t,r,n,s,o){let i=this._cachedTypedArrays,a=i[t];return a||(a=dt.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+o,s*n),i[t]=a),a}_getTypedArrayFromArray(t,r,n){let s=this._cachedTypedArrays,o=s[t];return o||(o=dt.createTypedArray(r,n),s[t]=o),o}};var km={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},zm={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},Jm={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function Qh(e,t,r,n){let{componentType:s}=e;z(e.componentType);let o=typeof s=="string"?dt.fromName(s):s,i=km[e.type],a=zm[e.type],f=Jm[e.type];return r+=e.byteOffset,{values:dt.createTypedArray(o,t,r,i*n),type:o,size:i,unpacker:a,packer:f}}var ee=e=>e!==void 0;function Vh(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),s=t.HIERARCHY;return s&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=s,n=s),n?Qm(n,r):null}function Qm(e,t){let r,n,s,o=e.instancesLength,i=e.classes,a=e.classIds,f=e.parentCounts,c=e.parentIds,h=o;ee(a.byteOffset)&&(a.componentType=defaultValue(a.componentType,GL.UNSIGNED_SHORT),a.type=AttributeType.SCALAR,s=getBinaryAccessor(a),a=s.createArrayBufferView(t.buffer,t.byteOffset+a.byteOffset,o));let l;if(ee(f))for(ee(f.byteOffset)&&(f.componentType=defaultValue(f.componentType,GL.UNSIGNED_SHORT),f.type=AttributeType.SCALAR,s=getBinaryAccessor(f),f=s.createArrayBufferView(t.buffer,t.byteOffset+f.byteOffset,o)),l=new Uint16Array(o),h=0,r=0;r<o;++r)l[r]=h,h+=f[r];ee(c)&&ee(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,s=getBinaryAccessor(c),c=s.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,h));let u=i.length;for(r=0;r<u;++r){let p=i[r].length,E=i[r].instances,y=getBinaryProperties(p,E,t);i[r].instances=combine(y,E)}let d=new Array(u).fill(0),A=new Uint16Array(o);for(r=0;r<o;++r)n=a[r],A[r]=d[n],++d[n];let m={classes:i,classIds:a,classIndexes:A,parentCounts:f,parentIndexes:l,parentIds:c};return Km(m),m}function Nr(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?Vm(e,t,r):jm(e,t,r)}function Vm(e,t,r){let n=e.classIds,s=e.parentCounts,o=e.parentIds,i=e.parentIndexes,a=n.length,f=scratchVisited;f.length=Math.max(f.length,a);let c=++marker,h=scratchStack;for(h.length=0,h.push(t);h.length>0;){if(t=h.pop(),f[t]===c)continue;f[t]=c;let l=r(e,t);if(ee(l))return l;let u=s[t],d=i[t];for(let A=0;A<u;++A){let m=o[d+A];m!==t&&h.push(m)}}return null}function jm(e,t,r){let n=!0;for(;n;){let s=r(e,t);if(ee(s))return s;let o=e.parentIds[t];n=o!==t,t=o}throw new Error("traverseHierarchySingleParent")}function Km(e){let t=[],n=e.classIds.length;for(let s=0;s<n;++s)jh(e,s,stack)}function jh(e,t,r){let n=e.parentCounts,s=e.parentIds,o=e.parentIndexes,a=e.classIds.length;if(!ee(s))return;assert(t<a,`Parent index ${t} exceeds the total number of instances: ${a}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let f=ee(n)?n[t]:1,c=ee(n)?o[t]:t;for(let h=0;h<f;++h){let l=s[c+h];l!==t&&jh(e,l,r)}r.pop(t)}function Ct(e){return e!=null}var Hs=(e,t)=>e,Xm={HIERARCHY:!0,extensions:!0,extras:!0},de=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,s={}){z(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=this.json?.extensions||{},this._properties={};for(let o in this.json)Xm[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),s["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Vh(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),z(typeof r=="string",r),this._hierarchy){let n=Nr(this._hierarchy,t,(s,o)=>{let i=s.classIds[o];return s.classes[i].name===r});return Ct(n)}return!1}isExactClass(t,r){return z(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),z(typeof r=="string",r),Ct(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Ct(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),z(typeof r=="string",r),this._binaryProperties){let s=this._binaryProperties[r];if(Ct(s))return this._getBinaryProperty(s,t)}let n=this._properties[r];if(Ct(n))return Hs(n[t],!0);if(this._hierarchy){let s=this._getHierarchyProperty(t,r);if(Ct(s))return s}}setProperty(t,r,n){let s=this.featureCount;if(this._checkBatchId(t),z(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(i){this._setBinaryProperty(i,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let o=this._properties[r];Ct(o)||(this._properties[r]=new Array(s),o=this._properties[r]),o[t]=Hs(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],s=this._initializeBinaryProperty(r,n);s&&(t=t||{},t[r]=s)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;z(this.binary,`Property ${t} requires a batch table binary.`),z(n.type,`Property ${t} requires a type.`);let s=Qh(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:s.values,componentCount:s.size,unpack:s.unpacker,pack:s.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=Nr(this._hierarchy,t,(s,o)=>{let i=s.classIds[o],a=s.classes[i].instances;return Ct(a[r])});return Ct(n)}_getPropertyNamesInHierarchy(t,r){Nr(this._hierarchy,t,(n,s)=>{let o=n.classIds[s],i=n.classes[o].instances;for(let a in i)i.hasOwnProperty(a)&&r.indexOf(a)===-1&&r.push(a)})}_getHierarchyProperty(t,r){return Nr(this._hierarchy,t,(n,s)=>{let o=n.classIds[s],i=n.classes[o],a=n.classIndexes[s],f=i.instances[r];return Ct(f)?Ct(f.typedArray)?this._getBinaryProperty(f,a):Hs(f[a],!0):null})}_setHierarchyProperty(t,r,n,s){let o=Nr(this._hierarchy,r,(i,a)=>{let f=i.classIds[a],c=i.classes[f],h=i.classIndexes[a],l=c.instances[n];return Ct(l)?(z(a===r,`Inherited property "${n}" is read-only.`),Ct(l.typedArray)?this._setBinaryProperty(l,h,s):l[h]=Hs(s,!0),!0):!1});return Ct(o)}};function Re(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=4,e.version=n.getUint32(r,!0),r+=4,e.byteLength=n.getUint32(r,!0),r+=4,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var Gr=4,Kh="b3dm tile in legacy format.";function Ur(e,t,r){let n=new DataView(t),s;e.header=e.header||{};let o=n.getUint32(r,!0);r+=Gr;let i=n.getUint32(r,!0);r+=Gr;let a=n.getUint32(r,!0);r+=Gr;let f=n.getUint32(r,!0);return r+=Gr,a>=570425344?(r-=Gr*2,s=o,a=i,f=0,o=0,i=0,console.warn(Kh)):f>=570425344&&(r-=Gr,s=a,a=o,f=i,o=0,i=0,console.warn(Kh)),e.header.featureTableJsonByteLength=o,e.header.featureTableBinaryByteLength=i,e.header.batchTableJsonByteLength=a,e.header.batchTableBinaryByteLength=f,e.header.batchLength=s,r}function Pr(e,t,r,n){return r=Ym(e,t,r,n),r=Zm(e,t,r,n),r}function Ym(e,t,r,n){let{featureTableJsonByteLength:s,featureTableBinaryByteLength:o,batchLength:i}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:i||0},s&&s>0){let a=si(t,r,s);e.featureTableJson=JSON.parse(a)}return r+=s||0,e.featureTableBinary=new Uint8Array(t,r,o),r+=o||0,r}function Zm(e,t,r,n){let{batchTableJsonByteLength:s,batchTableBinaryByteLength:o}=e.header||{};if(s&&s>0){let i=si(t,r,s);e.batchTableJson=JSON.parse(i),r+=s,o&&o>0&&(e.batchTableBinary=new Uint8Array(t,r,o),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=o)}return r}function ji(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:s,pointCount:o=0}=e;if(n&&r){let i=new Uint8ClampedArray(o*3);for(let a=0;a<o;a++){let f=n[a],h=r.getProperty(f,"dimensions").map(l=>l*255);i[a*3]=h[0],i[a*3+1]=h[1],i[a*3+2]=h[2]}return{type:H.UNSIGNED_BYTE,value:i,size:3,normalized:!0}}if(t&&s){let i=new Uint8ClampedArray(o*3);for(let a=0;a<o;a++){let f=li(t[a]);i[a*3]=f[0],i[a*3+1]=f[1],i[a*3+2]=f[2]}return{type:H.UNSIGNED_BYTE,value:i,size:3,normalized:!0}}return t&&t.length===o*3?{type:H.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:H.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var Xh=new b;function Yh(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)ui(t[n*2],t[n*2+1],Xh),Xh.toArray(r,n*3);return{type:H.FLOAT,size:2,value:r}}return{type:H.FLOAT,size:2,value:t}}function Zh(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,qm(e,t)):{type:H.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function qm(e,t){let r=new b,n=new Float32Array(e.pointCount*3);for(let s=0;s<e.pointCount;s++)r.set(t[s*3],t[s*3+1],t[s*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,s*3);return n}async function qh(e,t,r,n,s){r=Re(e,t,r),r=Ur(e,t,r),r=Pr(e,t,r,n),Wm(e);let{featureTable:o,batchTable:i}=$m(e);return await sp(e,o,i,n,s),tp(e,o,n),ep(e,o,i),rp(e,o),r}function Wm(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function $m(e){let t=new zt(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let n=np(e,t);return{featureTable:t,batchTable:n}}function tp(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",H.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=Zh(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function ep(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",H.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",H.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",H.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=ji(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",H.UNSIGNED_BYTE,4))}function rp(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",H.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",H.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=Yh(e,r)}}function np(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",H.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:s,batchTableBinary:o}=e;r=new de(s,o,n)}return r}async function sp(e,t,r,n,s){let o,i,a,f=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];f&&(a=f.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){i=c.properties;let l=c.byteOffset,u=c.byteLength;if(!i||!Number.isFinite(l)||!u)throw new Error("Draco properties, byteOffset, and byteLength must be defined");o=(e.featureTableBinary||[]).slice(l,l+u),e.hasPositions=Number.isFinite(i.POSITION),e.hasColors=Number.isFinite(i.RGB)||Number.isFinite(i.RGBA),e.hasNormals=Number.isFinite(i.NORMAL),e.hasBatchIds=Number.isFinite(i.BATCH_ID),e.isTranslucent=Number.isFinite(i.RGBA)}if(!o)return!0;let h={buffer:o,properties:{...i,...a},featureTableProperties:i,batchTableProperties:a,dequantizeInShader:!1};return await op(e,h,n,s)}async function op(e,t,r,n){if(!n)return;let s={...r,draco:{...r?.draco,extraAttributes:t.batchTableProperties||{}}};delete s["3d-tiles"];let o=await Ht(t.buffer,Ss,s,n),i=o.attributes.POSITION&&o.attributes.POSITION.value,a=o.attributes.COLOR_0&&o.attributes.COLOR_0.value,f=o.attributes.NORMAL&&o.attributes.NORMAL.value,c=o.attributes.BATCH_ID&&o.attributes.BATCH_ID.value,h=i&&o.attributes.POSITION.value.quantization,l=f&&o.attributes.NORMAL.value.quantization;if(h){let d=o.POSITION.data.quantization,A=d.range;e.quantizedVolumeScale=new b(A,A,A),e.quantizedVolumeOffset=new b(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}l&&(e.octEncodedRange=(1<<o.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let u={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))o.attributes[d]&&o.attributes[d].value&&(u[d.toLowerCase()]=o.attributes[d].value);e.attributes={positions:i,colors:ji(e,a,void 0),normals:f,batchIds:c,...u}}var ta={};ut(ta,{decode:()=>Jp,name:()=>zp});var Wh="4.2.0-alpha.5";var ip=globalThis.loaders?.parseImageNode,Ki=typeof Image<"u",Xi=typeof ImageBitmap<"u",ap=Boolean(ip),Yi=Et?!0:ap;function $h(e){switch(e){case"auto":return Xi||Ki||Yi;case"imagebitmap":return Xi;case"image":return Ki;case"data":return Yi;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function tl(){if(Xi)return"imagebitmap";if(Ki)return"image";if(Yi)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function el(e){let t=cp(e);if(!t)throw new Error("Not an image");return t}function On(e){switch(el(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function cp(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var fp=/^data:image\/svg\+xml/,hp=/\.svg((\?|#).*)?$/;function ks(e){return e&&(fp.test(e)||hp.test(e))}function rl(e,t){if(ks(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return Zi(e,t)}function Zi(e,t){if(ks(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function zs(e,t,r){let n=rl(e,r),s=self.URL||self.webkitURL,o=typeof n!="string"&&s.createObjectURL(n);try{return await lp(o||n,t)}finally{o&&s.revokeObjectURL(o)}}async function lp(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,s)=>{try{r.onload=()=>n(r),r.onerror=o=>{let i=o instanceof Error?o.message:"error";s(new Error(i))}}catch(o){s(o)}})}var up={},nl=!0;async function sl(e,t,r){let n;ks(r)?n=await zs(e,t,r):n=Zi(e,r);let s=t&&t.imagebitmap;return await dp(n,s)}async function dp(e,t=null){if((Ap(t)||!nl)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),nl=!1}return await createImageBitmap(e)}function Ap(e){for(let t in e||up)return!1;return!0}function ol(e){return!xp(e,"ftyp",4)||!(e[8]&96)?null:mp(e)}function mp(e){switch(pp(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function pp(e,t,r){return String.fromCharCode(...e.slice(t,r))}function gp(e){return[...e].map(t=>t.charCodeAt(0))}function xp(e,t,r=0){let n=gp(t);for(let s=0;s<n.length;++s)if(n[s]!==e[s+r])return!1;return!0}var re=!1,vn=!0;function Xe(e){let t=Nn(e);return Ep(t)||Tp(t)||_p(t)||yp(t)||Bp(t)}function Bp(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=ol(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function Ep(e){let t=Nn(e);return t.byteLength>=24&&t.getUint32(0,re)===2303741511?{mimeType:"image/png",width:t.getUint32(16,re),height:t.getUint32(20,re)}:null}function _p(e){let t=Nn(e);return t.byteLength>=10&&t.getUint32(0,re)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,vn),height:t.getUint16(8,vn)}:null}function yp(e){let t=Nn(e);return t.byteLength>=14&&t.getUint16(0,re)===16973&&t.getUint32(2,vn)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,vn),height:t.getUint32(22,vn)}:null}function Tp(e){let t=Nn(e);if(!(t.byteLength>=3&&t.getUint16(0,re)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:s}=Cp(),o=2;for(;o+9<t.byteLength;){let i=t.getUint16(o,re);if(s.has(i))return{mimeType:"image/jpeg",height:t.getUint16(o+5,re),width:t.getUint16(o+7,re)};if(!n.has(i))return null;o+=2,o+=t.getUint16(o,re)}return null}function Cp(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Nn(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function il(e,t){let{mimeType:r}=Xe(e)||{},n=globalThis.loaders?.parseImageNode;return z(n),await n(e,r)}async function al(e,t,r){t=t||{};let s=(t.image||{}).type||"auto",{url:o}=r||{},i=Mp(s),a;switch(i){case"imagebitmap":a=await sl(e,t,o);break;case"image":a=await zs(e,t,o);break;case"data":a=await il(e,t);break;default:z(!1)}return s==="data"&&(a=On(a)),a}function Mp(e){switch(e){case"auto":case"data":return tl();default:return $h(e),e}}var bp=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],wp=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Ip={image:{type:"auto",decode:!0}},qi={id:"image",module:"images",name:"Images",version:Wh,mimeTypes:wp,extensions:bp,parse:al,tests:[e=>Boolean(Xe(new DataView(e)))],options:Ip};var Wi={};function $i(e){if(Wi[e]===void 0){let t=Et?Rp(e):Sp(e);Wi[e]=t}return Wi[e]}function Sp(e){let t=["image/png","image/jpeg","image/gif"],r=globalThis.loaders?.imageFormatsNode||t,n=globalThis.loaders?.parseImageNode;return Boolean(n)&&r.includes(e)}function Rp(e){switch(e){case"image/avif":case"image/webp":return Fp(e);default:return!0}}function Fp(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function ot(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var Js={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Qs={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var Dp=1.33,cl=["SCALAR","VEC2","VEC3","VEC4"],Lp=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Op=new Map(Lp),vp={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Np={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Gp={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Vs(e){return cl[e-1]||cl[0]}function Hr(e){let t=Op.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function kr(e,t){let r=Gp[e.componentType],n=vp[e.type],s=Np[e.componentType],o=e.count*n,i=e.count*n*s;ot(i>=0&&i<=t.byteLength);let a=Qs[e.componentType],f=Js[e.type];return{ArrayType:r,length:o,byteLength:i,componentByteSize:a,numberOfComponentsInElement:f}}function Gn(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(i=>i.bufferView);r=r.filter(i=>!n.includes(i));let s=r.reduce((i,a)=>i+a.byteLength,0),o=t.reduce((i,a)=>{let{width:f,height:c}=a.image;return i+f*c},0);return s+Math.ceil(4*o*Dp)}function fl(e,t,r){let n=e.bufferViews[r];ot(n);let s=n.buffer,o=t[s];ot(o);let i=(n.byteOffset||0)+o.byteOffset;return new Uint8Array(o.arrayBuffer,i,n.byteLength)}function hl(e,t,r){let n=typeof r=="number"?e.accessors?.[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let s=e.bufferViews?.[n.bufferView||0];if(!s)throw new Error(`No gltf buffer view for accessor ${s}`);let{arrayBuffer:o,byteOffset:i}=t[s.buffer],a=(i||0)+(n.byteOffset||0)+(s.byteOffset||0),{ArrayType:f,length:c,componentByteSize:h,numberOfComponentsInElement:l}=kr(n,s),u=h*l,d=s.byteStride||u;if(typeof s.byteStride>"u"||s.byteStride===u)return new f(o,a,c);let A=new f(c);for(let m=0;m<n.count;m++){let p=new f(o,a+m*d,l);A.set(p,m*l)}return A}function Up(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var K=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:t?.json||Up(),buffers:t?.buffers||[],images:t?.images||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(s=>s===t),n=this.getRequiredExtensions().find(s=>s===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(s=>s===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];ot(n);let s=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,s,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return hl(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),s=this.getBuffer(r.buffer).data,o=r.byteOffset||0;return new Uint8Array(s,o,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let s=t.extensions||{};s[r]=n}removeObjectExtension(t,r){let n=t?.extensions||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let s=this.json.extensionsRemoved;s.includes(r)||s.push(r)}delete n[r]}addExtension(t,r={}){return ot(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return ot(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){if(this.json.extensions?.[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let r=this.json.extensionsRemoved;r.includes(t)||r.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let s={mesh:r};return n&&(s.matrix=n),this.json.nodes.push(s),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:s,mode:o=4}=t,a={primitives:[{attributes:this._addAttributes(r),mode:o}]};if(n){let f=this._addIndices(n);a.primitives[0].indices=f}return Number.isFinite(s)&&(a.primitives[0].material=s),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=Xe(t),s=r||n?.mimeType,i={bufferView:this.addBufferView(t),mimeType:s};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let s=t.byteLength;ot(Number.isFinite(s)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let o={buffer:r,byteOffset:n,byteLength:s};return this.byteLength+=wt(s,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(o),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:Vs(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),s={min:r.min,max:r.max};(!s.min||!s.max)&&(s=this._getAccessorMinMax(t,r.size));let o={size:r.size,componentType:Hr(t),count:Math.round(t.length/r.size),min:s.min,max:s.max};return this.addAccessor(n,Object.assign(o,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){this.gltf.buffers=[];let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),s=0;for(let o of this.sourceBuffers||[])s=Ko(o,n,s);this.json?.buffers?.[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(t,r){let n=!0;for(;n;){let s=t.indexOf(r);s>-1?t.splice(s,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let s=t[n],o=this._getGltfAttributeName(n),i=this.addBinaryBuffer(s.value,s);r[o]=i}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let s=t.subarray(0,r);for(let o of s)n.min.push(o),n.max.push(o);for(let o=r;o<t.length;o+=r)for(let i=0;i<r;i++)n.min[0+i]=Math.min(n.min[0+i],t[o+i]),n.max[0+i]=Math.max(n.max[0+i],t[o+i]);return n}};function ll(e){return(e%1+1)%1}var ul={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},Pp={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},dl={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Un(e,t){return dl[t]*ul[e]}function zr(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let s=e.getTypedArrayForBufferView(t),o=Jr(s,"SCALAR",r,n+1);return o instanceof BigInt64Array||o instanceof BigUint64Array?null:o}function Jr(e,t,r,n=1){let s=ul[t],o=Pp[r],i=dl[r],a=n*s,f=a*i,c=e.buffer,h=e.byteOffset;return h%i!==0&&(c=new Uint8Array(c).slice(h,h+f).buffer,h=0),new o(c,h,a)}function Qr(e,t,r){let n=`TEXCOORD_${t.texCoord||0}`,s=r.attributes[n],o=e.getTypedArrayForAccessor(s),i=e.gltf.json,a=t.index,f=i.textures?.[a]?.source;if(typeof f<"u"){let c=i.images?.[f]?.mimeType,h=e.gltf.images?.[f];if(h&&typeof h.width<"u"){let l=[];for(let u=0;u<o.length;u+=2){let d=Hp(h,c,o,u,t.channels);l.push(d)}return l}}return[]}function js(e,t,r,n,s){if(!r?.length)return;let o=[];for(let h of r){let l=n.findIndex(u=>u===h);l===-1&&(l=n.push(h)-1),o.push(l)}let i=new Uint32Array(o),a=e.gltf.buffers.push({arrayBuffer:i.buffer,byteOffset:i.byteOffset,byteLength:i.byteLength})-1,f=e.addBufferView(i,a,0),c=e.addAccessor(f,{size:1,componentType:Hr(i),count:i.length});s.attributes[t]=c}function Hp(e,t,r,n,s=[0]){let o={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},i=r[n],a=r[n+1],f=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(f=4);let c=kp(i,a,e,f),h=0;for(let l of s){let u=typeof l=="number"?Object.values(o)[l]:o[l],d=c+u.offset,A=On(e);if(A.data.length<=d)throw new Error(`${A.data.length} <= ${d}`);let m=A.data[d];h|=m<<u.shift}return h}function kp(e,t,r,n=1){let s=r.width,o=ll(e)*(s-1),i=Math.round(o),a=r.height,f=ll(t)*(a-1),c=Math.round(f),h=r.components?r.components:n;return(c*s+i)*h}function Ks(e,t,r,n,s){let o=[];for(let i=0;i<t;i++){let a=r[i],f=r[i+1]-r[i];if(f+a>n)break;let c=a/s,h=f/s;o.push(e.slice(c,c+h))}return o}function Xs(e,t,r){let n=[];for(let s=0;s<t;s++){let o=s*r;n.push(e.slice(o,o+r))}return n}function Ys(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let s=[],o=new TextDecoder("utf8"),i=0;for(let a=0;a<e;a++){let f=n[a+1]-n[a];if(f+i<=t.length){let c=t.subarray(i,f+i),h=o.decode(c);s.push(h),i+=f}}return s}return[]}var Al="EXT_mesh_features",zp=Al;async function Jp(e,t){let r=new K(e);Qp(r,t)}function Qp(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let s of n.primitives)Vp(e,s,t)}function Vp(e,t,r){if(!r?.gltf?.loadBuffers)return;let s=t.extensions?.[Al]?.featureIds;if(s)for(let o of s){let i;if(typeof o.attribute<"u"){let a=`_FEATURE_ID_${o.attribute}`,f=t.attributes[a];i=e.getTypedArrayForAccessor(f)}else typeof o.texture<"u"&&r?.gltf?.loadImages?i=Qr(e,o.texture,t):i=[];o.data=i}}var na={};ut(na,{decode:()=>Kp,name:()=>jp});var ea="EXT_structural_metadata",jp=ea;async function Kp(e,t){let r=new K(e);Xp(r,t)}function Xp(e,t){if(!t.gltf?.loadBuffers)return;let r=e.getExtension(ea);r&&(t.gltf?.loadImages&&Yp(e,r),Zp(e,r))}function Yp(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let s of n.meshes)for(let o of s.primitives)Wp(e,r,o,t)}function Zp(e,t){let r=t.schema;if(!r)return;let n=r.classes,s=t.propertyTables;if(n&&s)for(let o in n){let i=qp(s,o);i&&tg(e,r,i)}}function qp(e,t){for(let r of e)if(r.class===t)return r;return null}function Wp(e,t,r,n){if(!t)return;let o=r.extensions?.[ea]?.propertyTextures;if(o)for(let i of o){let a=t[i];$p(e,a,r,n)}}function $p(e,t,r,n){if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let s=t.class;for(let o in t.properties){let i=`${s}_${o}`,a=t.properties?.[o];if(!a)continue;a.data||(a.data=[]);let f=a.data,c=Qr(e,a,r);c!==null&&(js(e,i,c,f,r),a.data=f,n.dataAttributeNames.push(i))}}function tg(e,t,r){let n=t.classes?.[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let s=r.count;for(let o in n.properties){let i=n.properties[o],a=r.properties?.[o];if(a){let f=eg(e,t,i,s,a);a.data=f}}}function eg(e,t,r,n,s){let o=[],i=s.values,a=e.getTypedArrayForBufferView(i),f=rg(e,r,s,n),c=ng(e,s,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{o=sg(r,n,a,f);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{o=Ys(n,a,f,c);break}case"ENUM":{o=og(t,r,n,a,f);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return o}function rg(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?zr(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function ng(e,t,r){return typeof t.stringOffsets<"u"?zr(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function sg(e,t,r,n){let s=e.array,o=e.count,i=Un(e.type,e.componentType),a=r.byteLength/i,f;return e.componentType?f=Jr(r,e.type,e.componentType,a):f=r,s?n?Ks(f,t,n,r.length,i):o?Xs(f,t,o):[]:f}function og(e,t,r,n,s){let o=t.enumType;if(!o)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let i=e.enums?.[o];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${o}`);let a=i.valueType||"UINT16",f=Un(t.type,a),c=n.byteLength/f,h=Jr(n,t.type,a,c);if(h||(h=n),t.array){if(s)return ig({valuesData:h,numberOfElements:r,arrayOffsets:s,valuesDataBytesLength:n.length,elementSize:f,enumEntry:i});let l=t.count;return l?ag(h,r,l,i):[]}return ra(h,0,r,i)}function ig(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:s,elementSize:o,enumEntry:i}=e,a=[];for(let f=0;f<r;f++){let c=n[f],h=n[f+1]-n[f];if(h+c>s)break;let l=c/o,u=h/o,d=ra(t,l,u,i);a.push(d)}return a}function ag(e,t,r,n){let s=[];for(let o=0;o<t;o++){let i=r*o,a=ra(e,i,r,n);s.push(a)}return s}function ra(e,t,r,n){let s=[];for(let o=0;o<r;o++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)s.push("");else{let i=e[t+o],a=cg(n,i);a?s.push(a.name):s.push("")}return s}function cg(e,t){for(let r of e.values)if(r.value===t)return r;return null}var sa={};ut(sa,{decode:()=>hg,name:()=>fg});var ml="EXT_feature_metadata",fg=ml;async function hg(e,t){let r=new K(e);lg(r,t)}function lg(e,t){if(!t.gltf?.loadBuffers)return;let r=e.getExtension(ml);r&&(t.gltf?.loadImages&&ug(e,r),dg(e,r))}function ug(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:s}=t;if(n&&s)for(let o in n){let i=n[o],a=mg(s,o);a&&gg(e,a,i)}}function dg(e,t){let r=t.schema;if(!r)return;let n=r.classes,s=t.featureTables;if(n&&s)for(let o in n){let i=Ag(s,o);i&&pg(e,r,i)}}function Ag(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function mg(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function pg(e,t,r){if(!r.class)return;let n=t.classes?.[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let s=r.count;for(let o in n.properties){let i=n.properties[o],a=r.properties?.[o];if(a){let f=xg(e,t,i,s,a);a.data=f}}}function gg(e,t,r){let n=t.class;for(let s in r.properties){let o=t?.properties?.[s];if(o){let i=Tg(e,o,n);o.data=i}}}function xg(e,t,r,n,s){let o=[],i=s.bufferView,a=e.getTypedArrayForBufferView(i),f=Bg(e,r,s,n),c=Eg(e,r,s,n);return r.type==="STRING"||r.componentType==="STRING"?o=Ys(n,a,f,c):_g(r)&&(o=yg(r,n,a,f)),o}function Bg(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?zr(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function Eg(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?zr(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function _g(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function yg(e,t,r,n){let s=e.type==="ARRAY",o=e.componentCount,i="SCALAR",a=e.componentType||e.type,f=Un(i,a),c=r.byteLength/f,h=Jr(r,i,a,c);return s?n?Ks(h,t,n,r.length,f):o?Xs(h,t,o):[]:h}function Tg(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let s=[];for(let o of n.meshes)for(let i of o.primitives)Cg(e,r,t,s,i);return s}function Cg(e,t,r,n,s){let o={channels:r.channels,...r.texture},i=Qr(e,o,s);i&&js(e,t,i,n,s)}var pl="4.2.0-alpha.5";var gl="4.2.0-alpha.5";var Zs={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},oa;async function aa(e){let t=e.modules||{};return t.basis?t.basis:(oa=oa||Mg(e),await oa)}async function Mg(e){let t=null,r=null;return[t,r]=await Promise.all([await Wt(Zs.TRANSCODER,"textures",e),await Wt(Zs.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await bg(t,r)}function bg(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(s=>{let{BasisFile:o,initializeBasis:i}=s;i(),n({BasisFile:o})})})}var ia;async function ca(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(ia=ia||wg(e),await ia)}async function wg(e){let t=null,r=null;return[t,r]=await Promise.all([await Wt(Zs.ENCODER,"textures",e),await Wt(Zs.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Ig(t,r)}function Ig(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(s=>{let{BasisFile:o,KTX2File:i,initializeBasis:a,BasisEncoder:f}=s;a(),n({BasisFile:o,KTX2File:i,BasisEncoder:f})})})}var Ye={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var Sg=["","WEBKIT_","MOZ_"],xl={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},qs=null;function Bl(e){if(!qs){e=e||Rg()||void 0,qs=new Set;for(let t of Sg)for(let r in xl)if(e&&e.getExtension(`${t}${r}`)){let n=xl[r];qs.add(n)}}return qs}function Rg(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var S3=new Uint8Array([0]);var El,_l,yl,Tl,Cl,Ml,bl,wl;(function(e){e[e.NONE=0]="NONE",e[e.BASISLZ=1]="BASISLZ",e[e.ZSTD=2]="ZSTD",e[e.ZLIB=3]="ZLIB"})(El||(El={})),function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(_l||(_l={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(yl||(yl={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(Tl||(Tl={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(Cl||(Cl={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(Ml||(Ml={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(bl||(bl={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(wl||(wl={}));var St=[171,75,84,88,32,50,48,187,13,10,26,10];function Il(e){let t=new Uint8Array(e);return!(t.byteLength<St.length||t[0]!==St[0]||t[1]!==St[1]||t[2]!==St[2]||t[3]!==St[3]||t[4]!==St[4]||t[5]!==St[5]||t[6]!==St[6]||t[7]!==St[7]||t[8]!==St[8]||t[9]!==St[9]||t[10]!==St[10]||t[11]!==St[11])}var Fg={etc1:{basisFormat:0,compressed:!0,format:Ye.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:Ye.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:Ye.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:Ye.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:Ye.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:Ye.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function ha(e,t){if(t.basis.containerFormat==="auto"){if(Il(e)){let n=await ca(t);return Sl(n.KTX2File,e,t)}let{BasisFile:r}=await aa(t);return fa(r,e,t)}switch(t.basis.module){case"encoder":let r=await ca(t);switch(t.basis.containerFormat){case"ktx2":return Sl(r.KTX2File,e,t);case"basis":default:return fa(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await aa(t);return fa(n,e,t)}}function fa(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let s=n.getNumImages(),o=[];for(let i=0;i<s;i++){let a=n.getNumLevels(i),f=[];for(let c=0;c<a;c++)f.push(Dg(n,i,c,r));o.push(f)}return o}finally{n.close(),n.delete()}}function Dg(e,t,r,n){let s=e.getImageWidth(t,r),o=e.getImageHeight(t,r),i=e.getHasAlpha(),{compressed:a,format:f,basisFormat:c}=Rl(n,i),h=e.getImageTranscodedSizeInBytes(t,r,c),l=new Uint8Array(h);if(!e.transcodeImage(l,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:s,height:o,data:l,compressed:a,format:f,hasAlpha:i}}function Sl(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let s=n.getLevels(),o=[];for(let i=0;i<s;i++){o.push(Lg(n,i,r));break}return[o]}finally{n.close(),n.delete()}}function Lg(e,t,r){let{alphaFlag:n,height:s,width:o}=e.getImageLevelInfo(t,0,0),{compressed:i,format:a,basisFormat:f}=Rl(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,f),h=new Uint8Array(c);if(!e.transcodeImage(h,t,0,0,f,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:o,height:s,data:h,compressed:i,levelSize:c,hasAlpha:n,format:a}}function Rl(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=Ws()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Fg[r]}function Ws(){let e=Bl();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var Fl={name:"Basis",id:"basis",module:"textures",version:gl,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},la={...Fl,parse:ha};var Vr=!0,Dl=1735152710,Aa=12,$s=8,Og=1313821514,vg=5130562,Ng=0,Gg=0,Ug=1;function Pg(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function Ll(e,t=0,r={}){let n=new DataView(e),{magic:s=Dl}=r,o=n.getUint32(t,!1);return o===s||o===Dl}function Ol(e,t,r=0,n={}){let s=new DataView(t),o=Pg(s,r+0),i=s.getUint32(r+4,Vr),a=s.getUint32(r+8,Vr);switch(Object.assign(e,{header:{byteOffset:r,byteLength:a,hasBinChunk:!1},type:o,version:i,json:{},binChunks:[]}),r+=Aa,e.version){case 1:return Hg(e,s,r);case 2:return kg(e,s,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function Hg(e,t,r){z(e.header.byteLength>Aa+$s);let n=t.getUint32(r+0,Vr),s=t.getUint32(r+4,Vr);return r+=$s,z(s===Ng),ua(e,t,r,n),r+=n,r+=da(e,t,r,e.header.byteLength),r}function kg(e,t,r,n){return z(e.header.byteLength>Aa+$s),zg(e,t,r,n),r+e.header.byteLength}function zg(e,t,r,n){for(;r+8<=e.header.byteLength;){let s=t.getUint32(r+0,Vr),o=t.getUint32(r+4,Vr);switch(r+=$s,o){case Og:ua(e,t,r,s);break;case vg:da(e,t,r,s);break;case Gg:n.strict||ua(e,t,r,s);break;case Ug:n.strict||da(e,t,r,s);break;default:break}r+=wt(s,4)}return r}function ua(e,t,r,n){let s=new Uint8Array(t.buffer,r,n),i=new TextDecoder("utf8").decode(s);return e.json=JSON.parse(i),wt(n,4)}function da(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),wt(n,4)}function ma(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=t.baseUri||t.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}var ga={};ut(ga,{decode:()=>tx,name:()=>$g});var Jg="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",Qg="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",Vg=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),jg=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),Kg={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},Xg={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function vl(e,t,r,n,s,o="NONE"){let i=await Yg();Wg(i,i.exports[Xg[s]],e,t,r,n,i.exports[Kg[o||"NONE"]])}var pa;async function Yg(){return pa||(pa=Zg()),pa}async function Zg(){let e=Jg;WebAssembly.validate(Vg)&&(e=Qg,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(qg(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function qg(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let s=e.charCodeAt(n);t[n]=s>96?s-71:s>64?s-65:s>47?s+4:s>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?jg[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function Wg(e,t,r,n,s,o,i){let a=e.exports.sbrk,f=n+3&-4,c=a(f*s),h=a(o.length),l=new Uint8Array(e.exports.memory.buffer);l.set(o,h);let u=t(c,n,s,h,o.length);if(u===0&&i&&i(c,f,s),r.set(l.subarray(c,c+n*s)),a(c-a(0)),u!==0)throw new Error(`Malformed buffer data: ${u}`)}var to="EXT_meshopt_compression",$g=to;async function tx(e,t){let r=new K(e);if(!t?.gltf?.decompressMeshes||!t.gltf?.loadBuffers)return;let n=[];for(let s of e.json.bufferViews||[])n.push(ex(r,s));await Promise.all(n),r.removeExtension(to)}async function ex(e,t){let r=e.getObjectExtension(t,to);if(r){let{byteOffset:n=0,byteLength:s=0,byteStride:o,count:i,mode:a,filter:f="NONE",buffer:c}=r,h=e.gltf.buffers[c],l=new Uint8Array(h.arrayBuffer,h.byteOffset+n,s),u=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await vl(u,i,o,l,a,f),e.removeObjectExtension(t,to)}}var xa={};ut(xa,{name:()=>rx,preprocess:()=>nx});var jr="EXT_texture_webp",rx=jr;function nx(e,t){let r=new K(e);if(!$i("image/webp")){if(r.getRequiredExtensions().includes(jr))throw new Error(`gltf: Required extension ${jr} not supported by browser`);return}let{json:n}=r;for(let s of n.textures||[]){let o=r.getObjectExtension(s,jr);o&&(s.source=o.source),r.removeObjectExtension(s,jr)}r.removeExtension(jr)}var Ba={};ut(Ba,{name:()=>sx,preprocess:()=>ox});var eo="KHR_texture_basisu",sx=eo;function ox(e,t){let r=new K(e),{json:n}=r;for(let s of n.textures||[]){let o=r.getObjectExtension(s,eo);o&&(s.source=o.source,r.removeObjectExtension(s,eo))}r.removeExtension(eo)}var _a={};ut(_a,{decode:()=>hx,encode:()=>lx,name:()=>cx,preprocess:()=>fx});function Nl(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let s=Ea(n);t[r]=s}}return t}function Ea(e){let{buffer:t,size:r,count:n}=ix(e);return{value:t,size:r,byteOffset:0,count:n,type:Vs(r),componentType:Hr(t)}}function ix(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=ax(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function ax(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Fe="KHR_draco_mesh_compression",cx=Fe;function fx(e,t,r){let n=new K(e);for(let s of Gl(n))n.getObjectExtension(s,Fe)}async function hx(e,t,r){if(!t?.gltf?.decompressMeshes)return;let n=new K(e),s=[];for(let o of Gl(n))n.getObjectExtension(o,Fe)&&s.push(ux(n,o,t,r));await Promise.all(s),n.removeExtension(Fe)}function lx(e,t={}){let r=new K(e);for(let n of r.json.meshes||[])dx(n,t),r.addRequiredExtension(Fe)}async function ux(e,t,r,n){let s=e.getObjectExtension(t,Fe);if(!s)return;let o=e.getTypedArrayForBufferView(s.bufferView),i=Je(o.buffer,o.byteOffset),a={...r};delete a["3d-tiles"];let f=await Ht(i,Ss,a,n),c=Nl(f.attributes);for(let[h,l]of Object.entries(c))if(h in t.attributes){let u=t.attributes[h],d=e.getAccessor(u);d?.min&&d?.max&&(l.min=d.min,l.max=d.max)}t.attributes=c,f.indices&&(t.indices=Ea(f.indices)),e.removeObjectExtension(t,Fe),Ax(t)}function dx(e,t,r=4,n,s){if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let o=n.DracoWriter.encodeSync({attributes:e}),i=s?.parseSync?.({attributes:e}),a=n._addFauxAttributes(i.attributes),f=n.addBufferView(o);return{primitives:[{attributes:a,mode:r,extensions:{[Fe]:{bufferView:f,attributes:a}}}]}}function Ax(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Gl(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var ya={};ut(ya,{decode:()=>xx,name:()=>mx});var no="KHR_texture_transform",mx=no,ro=new he,px=new le,gx=new le;async function xx(e,t){if(!new K(e).hasExtension(no)||!t.gltf?.loadBuffers)return;let s=e.json.materials||[];for(let o=0;o<s.length;o++)Bx(o,e)}function Bx(e,t){let r=t.json.materials?.[e],n=[r?.pbrMetallicRoughness?.baseColorTexture,r?.emissiveTexture,r?.normalTexture,r?.occlusionTexture,r?.pbrMetallicRoughness?.metallicRoughnessTexture],s=[];for(let o of n)o&&o?.extensions?.[no]&&Ex(t,e,o,s)}function Ex(e,t,r,n){let s=_x(r,n);if(!s)return;let o=e.json.meshes||[];for(let i of o)for(let a of i.primitives){let f=a.material;Number.isFinite(f)&&t===f&&yx(e,a,s)}}function _x(e,t){let r=e.extensions?.[no],{texCoord:n=0}=e,{texCoord:s=n}=r;if(!(t.findIndex(([i,a])=>i===n&&a===s)!==-1)){let i=Mx(r);return n!==s&&(e.texCoord=s),t.push([n,s]),{originalTexCoord:n,texCoord:s,matrix:i}}return null}function yx(e,t,r){let{originalTexCoord:n,texCoord:s,matrix:o}=r,i=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(i)){let a=e.json.accessors?.[i];if(a&&a.bufferView){let f=e.json.bufferViews?.[a.bufferView];if(f){let{arrayBuffer:c,byteOffset:h}=e.buffers[f.buffer],l=(h||0)+(a.byteOffset||0)+(f.byteOffset||0),{ArrayType:u,length:d}=kr(a,f),A=Qs[a.componentType],m=Js[a.type],p=f.byteStride||A*m,E=new Float32Array(d);for(let y=0;y<a.count;y++){let C=new u(c,l+y*p,2);ro.set(C[0],C[1],1),ro.transformByMatrix3(o),E.set([ro[0],ro[1]],y*m)}n===s?Tx(a,f,e.buffers,E):Cx(s,a,t,e,E)}}}}function Tx(e,t,r,n){e.componentType=5126,r.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),t.buffer=r.length-1,t.byteLength=n.buffer.byteLength,t.byteOffset=0,delete t.byteStride}function Cx(e,t,r,n,s){n.buffers.push({arrayBuffer:s.buffer,byteOffset:0,byteLength:s.buffer.byteLength});let o=n.json.bufferViews;if(!o)return;o.push({buffer:n.buffers.length-1,byteLength:s.buffer.byteLength,byteOffset:0});let i=n.json.accessors;i&&(i.push({bufferView:o?.length-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=i.length-1)}function Mx(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,s=new le().set(1,0,0,0,1,0,t[0],t[1],1),o=px.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),i=gx.set(n[0],0,0,0,n[1],0,0,0,1);return s.multiplyRight(o).multiplyRight(i)}var Ta={};ut(Ta,{decode:()=>wx,encode:()=>Ix,name:()=>bx});var Ze="KHR_lights_punctual",bx=Ze;async function wx(e){let t=new K(e),{json:r}=t,n=t.getExtension(Ze);n&&(t.json.lights=n.lights,t.removeExtension(Ze));for(let s of r.nodes||[]){let o=t.getObjectExtension(s,Ze);o&&(s.light=o.light),t.removeObjectExtension(s,Ze)}}async function Ix(e){let t=new K(e),{json:r}=t;if(r.lights){let n=t.addExtension(Ze);ot(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let s=n.node;t.addObjectExtension(s,Ze,n)}delete t.json.lights}}var Ca={};ut(Ca,{decode:()=>Rx,encode:()=>Fx,name:()=>Sx});var Pn="KHR_materials_unlit",Sx=Pn;async function Rx(e){let t=new K(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,Pn);t.removeExtension(Pn)}function Fx(e){let t=new K(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,Pn,{}),t.addExtension(Pn))}var Ma={};ut(Ma,{decode:()=>Lx,encode:()=>Ox,name:()=>Dx});var Hn="KHR_techniques_webgl",Dx=Hn;async function Lx(e){let t=new K(e),{json:r}=t,n=t.getExtension(Hn);if(n){let s=vx(n,t);for(let o of r.materials||[]){let i=t.getObjectExtension(o,Hn);i&&(o.technique=Object.assign({},i,s[i.technique]),o.technique.values=Nx(o.technique,t)),t.removeObjectExtension(o,Hn)}t.removeExtension(Hn)}}async function Ox(e,t){}function vx(e,t){let{programs:r=[],shaders:n=[],techniques:s=[]}=e,o=new TextDecoder;return n.forEach(i=>{if(Number.isFinite(i.bufferView))i.code=o.decode(t.getTypedArrayForBufferView(i.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(i=>{i.fragmentShader=n[i.fragmentShader],i.vertexShader=n[i.vertexShader]}),s.forEach(i=>{i.program=r[i.program]}),s}function Nx(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var Ul=[na,ta,ga,xa,Ba,_a,Ta,Ca,Ma,ya,sa];function Pl(e,t={},r){let n=Ul.filter(s=>kl(s.name,t));for(let s of n)s.preprocess?.(e,t,r)}async function Hl(e,t={},r){let n=Ul.filter(s=>kl(s.name,t));for(let s of n)await s.decode?.(e,t,r)}function kl(e,t){let r=t?.gltf?.excludeExtensions||{};return!(e in r&&!r[e])}var ba="KHR_binary_glTF";function zl(e){let t=new K(e),{json:r}=t;for(let n of r.images||[]){let s=t.getObjectExtension(n,ba);s&&Object.assign(n,s),t.removeObjectExtension(n,ba)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(ba)}var Jl={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},Ux={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},wa=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),zl(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in Jl)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let s in n){let o=n[s];o.id=o.id||s;let i=t[r].length;t[r].push(o),this.idToIndexMap[r][s]=i}}}_convertObjectIdsToArrayIndices(t){for(let r in Jl)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:s,material:o}=r;for(let i in n)n[i]=this._convertIdToIndex(n[i],"accessor");s&&(r.indices=this._convertIdToIndex(s,"accessor")),o&&(r.material=this._convertIdToIndex(o,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let s in n){let o=n[s],i=this._convertIdToIndex(o,s);n[s]=i}}_convertIdToIndex(t,r){let n=Ux[r];if(n in this.idToIndexMap){let s=this.idToIndexMap[n][t];if(!Number.isFinite(s))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return s}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){for(let r of t.materials){r.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let n=r.values?.tex||r.values?.texture2d_0||r.values?.diffuseTex,s=t.textures.findIndex(o=>o.id===n);s!==-1&&(r.pbrMetallicRoughness.baseColorTexture={index:s})}}};function Ql(e,t={}){return new wa().normalize(e,t)}async function Vl(e,t,r=0,n,s){return Px(e,t,r,n),Ql(e,{normalize:n?.gltf?.normalize}),Pl(e,n,s),n?.gltf?.loadBuffers&&e.json.buffers&&await Hx(e,n,s),n?.gltf?.loadImages&&await kx(e,n,s),await Hl(e,n,s),e}function Px(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!Ll(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=jo(t);else if(t instanceof ArrayBuffer){let i={};r=Ol(i,t,r,n.glb),ot(i.type==="glTF",`Invalid GLB magic string ${i.type}`),e._glb=i,e.json=i.json}else ot(!1,"GLTF: must be ArrayBuffer or string");let s=e.json.buffers||[];if(e.buffers=new Array(s.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:i}=e._glb;e.buffers[0]={arrayBuffer:i[0].arrayBuffer,byteOffset:i[0].byteOffset,byteLength:i[0].byteLength}}let o=e.json.images||[];e.images=new Array(o.length).fill({})}async function Hx(e,t,r){let n=e.json.buffers||[];for(let s=0;s<n.length;++s){let o=n[s];if(o.uri){let{fetch:i}=r;ot(i);let a=ma(o.uri,t),c=await(await r?.fetch?.(a))?.arrayBuffer?.();e.buffers[s]={arrayBuffer:c,byteOffset:0,byteLength:c.byteLength},delete o.uri}else e.buffers[s]===null&&(e.buffers[s]={arrayBuffer:new ArrayBuffer(o.byteLength),byteOffset:0,byteLength:o.byteLength})}}async function kx(e,t,r){let n=zx(e),s=e.json.images||[],o=[];for(let i of n)o.push(Jx(e,s[i],i,t,r));return await Promise.all(o)}function zx(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function Jx(e,t,r,n,s){let o;if(t.uri&&!t.hasOwnProperty("bufferView")){let a=ma(t.uri,n),{fetch:f}=s;o=await(await f(a)).arrayBuffer(),t.bufferView={data:o}}if(Number.isFinite(t.bufferView)){let a=fl(e.json,e.buffers,t.bufferView);o=Je(a.buffer,a.byteOffset,a.byteLength)}ot(o,"glTF image has no data");let i=await Ht(o,[qi,la],{...n,mimeType:t.mimeType,basis:n.basis||{format:Ws()}},s);i&&i[0]&&(i={compressed:!0,mipmaps:!1,width:i[0].width,height:i[0].height,data:i[0]}),e.images=e.images||[],e.images[r]=i}var qe={name:"glTF",id:"gltf",module:"gltf",version:pl,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:Qx,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function Qx(e,t={},r){t={...qe.options,...t},t.gltf={...qe.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await Vl({},e,n,t,r)}var Vx={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},jx={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Dt={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},Kx={magFilter:Dt.TEXTURE_MAG_FILTER,minFilter:Dt.TEXTURE_MIN_FILTER,wrapS:Dt.TEXTURE_WRAP_S,wrapT:Dt.TEXTURE_WRAP_T},Xx={[Dt.TEXTURE_MAG_FILTER]:Dt.LINEAR,[Dt.TEXTURE_MIN_FILTER]:Dt.NEAREST_MIPMAP_LINEAR,[Dt.TEXTURE_WRAP_S]:Dt.REPEAT,[Dt.TEXTURE_WRAP_T]:Dt.REPEAT};function Yx(){return{id:"default-sampler",parameters:Xx}}function Zx(e){return jx[e]}function qx(e){return Vx[e]}var Ia=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:s=[],images:o=[]}=t,{baseUri:i=""}=t;return ot(n),this.baseUri=i,this.buffers=s,this.images=o,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((s,o)=>this._resolveBufferView(s,o))),t.images&&(n.images=t.images.map((s,o)=>this._resolveImage(s,o))),t.samplers&&(n.samplers=t.samplers.map((s,o)=>this._resolveSampler(s,o))),t.textures&&(n.textures=t.textures.map((s,o)=>this._resolveTexture(s,o))),t.accessors&&(n.accessors=t.accessors.map((s,o)=>this._resolveAccessor(s,o))),t.materials&&(n.materials=t.materials.map((s,o)=>this._resolveMaterial(s,o))),t.meshes&&(n.meshes=t.meshes.map((s,o)=>this._resolveMesh(s,o))),t.nodes&&(n.nodes=t.nodes.map((s,o)=>this._resolveNode(s,o)),n.nodes=n.nodes.map((s,o)=>this._resolveNodeChildren(s))),t.skins&&(n.skins=t.skins.map((s,o)=>this._resolveSkin(s,o))),t.scenes&&(n.scenes=t.scenes.map((s,o)=>this._resolveScene(s,o))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:t?.id||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((s,o)=>{let i=this.getMesh(o);return s.id=i.id,s.primitives=s.primitives.concat(i.primitives),s},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map(s=>{let o={...s,attributes:{},indices:void 0,material:void 0},i=s.attributes;for(let a in i)o.attributes[a]=this.getAccessor(i[a]);return s.indices!==void 0&&(o.indices=this.getAccessor(s.indices)),s.material!==void 0&&(o.material=this.getMaterial(s.material)),o})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let s=n.pbrMetallicRoughness;s.baseColorTexture&&(s.baseColorTexture={...s.baseColorTexture},s.baseColorTexture.texture=this.getTexture(s.baseColorTexture.index)),s.metallicRoughnessTexture&&(s.metallicRoughnessTexture={...s.metallicRoughnessTexture},s.metallicRoughnessTexture.texture=this.getTexture(s.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=Zx(t.componentType),s=qx(t.type),o=n*s,i={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:s,bytesPerElement:o,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(i.bufferView=this.getBufferView(t.bufferView)),i.bufferView){let a=i.bufferView.buffer,{ArrayType:f,byteLength:c}=kr(i,i.bufferView),h=(i.bufferView.byteOffset||0)+(i.byteOffset||0)+a.byteOffset,l=a.arrayBuffer.slice(h,h+c);i.bufferView.byteStride&&(l=this._getValueFromInterleavedBuffer(a,h,i.bufferView.byteStride,i.bytesPerElement,i.count)),i.value=new f(l)}return i}_getValueFromInterleavedBuffer(t,r,n,s,o){let i=new Uint8Array(o*s);for(let a=0;a<o;a++){let f=r+a*n;i.set(new Uint8Array(t.arrayBuffer.slice(f,f+s)),a*s)}return i.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):Yx(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let s in n){let o=this._enumSamplerParameter(s);o!==void 0&&(n.parameters[o]=n[s])}return n}_enumSamplerParameter(t){return Kx[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},s=this.images[r];return s&&(n.image=s),n}_resolveBufferView(t,r){let n=t.buffer,s=this.buffers[n].arrayBuffer,o=this.buffers[n].byteOffset||0;return t.byteOffset&&(o+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(s,o,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function kn(e,t){return new Ia().postProcess(e,t)}var so={URI:0,EMBEDDED:1};function oo(e,t,r,n){e.rotateYtoZ=!0;let s=(e.byteOffset||0)+(e.byteLength||0)-r;if(s===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n?.["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=Je(t,r,s),e.gltfByteOffset=0,e.gltfByteLength=s,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function io(e,t,r,n){let s=r?.["3d-tiles"]||{};if(Wx(e,t,r),s.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:o}=n,i=await o(e.gltfUrl,r);e.gltfArrayBuffer=await i.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let o=await Ht(e.gltfArrayBuffer,qe,r,n);e.gltf=kn(o),e.gpuMemoryUsageInBytes=Gn(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function Wx(e,t,r){switch(t){case so.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),o=new TextDecoder().decode(n);e.gltfUrl=o.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case so.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function jl(e,t,r,n,s){r=$x(e,t,r,n,s),await io(e,so.EMBEDDED,n,s);let o=e?.gltf?.extensions;return o&&o.CESIUM_RTC&&(e.rtcCenter=o.CESIUM_RTC.center),r}function $x(e,t,r,n,s){r=Re(e,t,r),r=Ur(e,t,r),r=Pr(e,t,r,n),r=oo(e,t,r,n);let o=new zt(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=o.getGlobalProperty("RTC_CENTER",H.FLOAT,3),r}var Ae=6356752314245179e-9,tB={radii:[6378137,6378137,Ae],radiiSquared:[6378137*6378137,6378137*6378137,Ae*Ae],oneOverRadii:[1/6378137,1/6378137,1/Ae],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(Ae*Ae)],maximumRadius:Math.max(6378137,6378137,Ae),centerToleranceSquared:.1};function ao(e){return e}var YI=new b;function eB(e,t=[],r=ao){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function Kl(e,t=[]){return eB(e,t,q._cartographicRadians?ao:Ai)}function rB(e,t,r=ao){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function Xl(e,t){return rB(e,t,q._cartographicRadians?ao:mi)}var Yl=1e-14,nB=new b,Zl={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},Sa={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},zn={east:new b,north:new b,up:new b,west:new b,south:new b,down:new b},sB=new b,oB=new b,iB=new b;function Ra(e,t,r,n,s,o){let i=Zl[t]&&Zl[t][r];ft(i&&(!n||n===i));let a,f,c,h=nB.copy(s);if(It(h.x,0,Yl)&&It(h.y,0,Yl)){let u=Math.sign(h.z);a=sB.fromArray(Sa[t]),t!=="east"&&t!=="west"&&a.scale(u),f=oB.fromArray(Sa[r]),r!=="east"&&r!=="west"&&f.scale(u),c=iB.fromArray(Sa[n]),n!=="east"&&n!=="west"&&c.scale(u)}else{let{up:u,east:d,north:A}=zn;d.set(-h.y,h.x,0).normalize(),e.geodeticSurfaceNormal(h,u),A.copy(u).cross(d);let{down:m,west:p,south:E}=zn;m.copy(u).scale(-1),p.copy(d).scale(-1),E.copy(A).scale(-1),a=zn[t],f=zn[r],c=zn[n]}return o[0]=a.x,o[1]=a.y,o[2]=a.z,o[3]=0,o[4]=f.x,o[5]=f.y,o[6]=f.z,o[7]=0,o[8]=c.x,o[9]=c.y,o[10]=c.z,o[11]=0,o[12]=h.x,o[13]=h.y,o[14]=h.z,o[15]=1,o}var Kr=new b,aB=new b,cB=new b;function ql(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:s,centerToleranceSquared:o}=t;Kr.from(e);let i=Kr.x,a=Kr.y,f=Kr.z,c=n.x,h=n.y,l=n.z,u=i*i*c*c,d=a*a*h*h,A=f*f*l*l,m=u+d+A,p=Math.sqrt(1/m);if(!Number.isFinite(p))return;let E=aB;if(E.copy(e).scale(p),m<o)return E.to(r);let y=s.x,C=s.y,M=s.z,T=cB;T.set(E.x*y*2,E.y*C*2,E.z*M*2);let I=(1-p)*Kr.len()/(.5*T.len()),w=0,L,x,g,B;do{I-=w,L=1/(1+I*y),x=1/(1+I*C),g=1/(1+I*M);let _=L*L,U=x*x,G=g*g,P=_*L,v=U*x,at=G*g;B=u*_+d*U+A*G-1;let X=-2*(u*P*y+d*v*C+A*at*M);w=B/X}while(Math.abs(B)>kt.EPSILON12);return Kr.scale([L,x,g]).to(r)}var co=new b,Wl=new b,lB=new b,Jt=new b,uB=new b,fo=new b,me=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=kt.EPSILON1,ft(t>=0),ft(r>=0),ft(n>=0),this.radii=new b(t,r,n),this.radiiSquared=new b(t*t,r*r,n*n),this.radiiToTheFourth=new b(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new b(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new b(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=Wl,s=lB,[,,o]=t;this.geodeticSurfaceNormalCartographic(t,n),s.copy(this.radiiSquared).scale(n);let i=Math.sqrt(n.dot(s));return s.scale(1/i),n.scale(o),s.add(n),s.to(r)}cartesianToCartographic(t,r=[0,0,0]){fo.from(t);let n=this.scaleToGeodeticSurface(fo,Jt);if(!n)return;let s=this.geodeticSurfaceNormal(n,Wl),o=uB;o.copy(fo).subtract(n);let i=Math.atan2(s.y,s.x),a=Math.asin(s.z),f=Math.sign(Ke.dot(o,fo))*Ke.length(o);return Xl([i,a,f],r)}eastNorthUpToFixedFrame(t,r=new Ft){return Ra(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,s,o=new Ft){return Ra(this,t,r,n,s,o)}geocentricSurfaceNormal(t,r=[0,0,0]){return co.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=Kl(t),s=n[0],o=n[1],i=Math.cos(o);return co.set(i*Math.cos(s),i*Math.sin(s),Math.sin(o)).normalize(),co.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return co.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return ql(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Jt.from(t);let n=Jt.x,s=Jt.y,o=Jt.z,i=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*i.x+s*s*i.y+o*o*i.z);return Jt.multiplyScalar(a).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Jt.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Jt.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){ft(It(this.radii.x,this.radii.y,kt.EPSILON15)),ft(this.radii.z>0),Jt.from(t);let s=Jt.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(s)>=this.radii.z-r))return Jt.set(0,0,s).to(n)}};me.WGS84=new me(6378137,6378137,Ae);async function $l(e,t,r,n,s){return r=dB(e,t,r,n,s),await io(e,e.gltfFormat||0,n,s),r}function dB(e,t,r,n,s){if(r=Re(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=Ur(e,t,r);let o=new DataView(t);if(e.gltfFormat=o.getUint32(r,!0),r+=4,r=Pr(e,t,r,n),r=oo(e,t,r,n),!e?.header?.featureTableJsonByteLength||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let i=new zt(e.featureTableJson,e.featureTableBinary),a=i.getGlobalProperty("INSTANCES_LENGTH");if(i.featuresLength=a,!Number.isFinite(a))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=i.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=i.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let f=new de(e.batchTableJson,e.batchTableBinary,a);return AB(e,i,f,a),r}function AB(e,t,r,n){let s=new Array(n),o=new b,i=new b,a=new b,f=new b,c=new Z,h=new Se,l=new b,u={},d=new Ft,A=[],m=[],p=[],E=[];for(let y=0;y<n;y++){let C;if(t.hasProperty("POSITION"))C=t.getProperty("POSITION",H.FLOAT,3,y,o);else if(t.hasProperty("POSITION_QUANTIZED")){C=t.getProperty("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3,y,o);let g=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3);if(!g)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let B=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3);if(!B)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let _=65535;for(let U=0;U<3;U++)C[U]=C[U]/_*B[U]+g[U]}if(!C)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");o.copy(C),u.translation=o,e.normalUp=t.getProperty("NORMAL_UP",H.FLOAT,3,y,A),e.normalRight=t.getProperty("NORMAL_RIGHT",H.FLOAT,3,y,m);let M=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=t.getProperty("NORMAL_UP_OCT32P",H.UNSIGNED_SHORT,2,y,A),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",H.UNSIGNED_SHORT,2,y,m),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(me.WGS84.eastNorthUpToFixedFrame(o,d),d.getRotationMatrix3(c)):c.identity()}M&&(f.copy(i).cross(a).normalize(),c.setColumn(0,i),c.setColumn(1,a),c.setColumn(2,f)),h.fromMatrix3(c),u.rotation=h,l.set(1,1,1);let T=t.getProperty("SCALE",H.FLOAT,1,y,p);Number.isFinite(T)&&l.multiplyByScalar(T);let I=t.getProperty("SCALE_NON_UNIFORM",H.FLOAT,3,y,A);I&&l.scale(I),u.scale=l;let w=t.getProperty("BATCH_ID",H.UNSIGNED_SHORT,1,y,E);w===void 0&&(w=y);let L=new Ft().fromQuaternion(u.rotation);d.identity(),d.translate(u.translation),d.multiplyRight(L),d.scale(u.scale);let x=d.clone();s[y]={modelMatrix:x,batchId:w}}e.instances=s}async function tu(e,t,r,n,s,o){r=Re(e,t,r);let i=new DataView(t);for(e.tilesLength=i.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let a={shape:"tile3d"};e.tiles.push(a),r=await o(t,r,n,s,a)}return r}async function eu(e,t,r,n){if(e.rotateYtoZ=!0,e.gltfUpAxis=r?.["3d-tiles"]?.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",r?.["3d-tiles"]?.loadGLTF){if(!n)return t.byteLength;let s=await Ht(t,qe,r,n);e.gltf=kn(s),e.gpuMemoryUsageInBytes=Gn(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function Fa(e,t=0,r,n,s={shape:"tile3d"}){switch(s.byteOffset=t,s.type=Rf(e,t),s.type){case yt.COMPOSITE:return await tu(s,e,t,r,n,Fa);case yt.BATCHED_3D_MODEL:return await jl(s,e,t,r,n);case yt.GLTF:return await eu(s,e,r,n);case yt.INSTANCED_3D_MODEL:return await $l(s,e,t,r,n);case yt.POINT_CLOUD:return await qh(s,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${s.type}`)}}async function Da(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let o=ru(e.slice(8,16)),i=new Uint8Array(e,24,o),f=new TextDecoder("utf8").decode(i),c=JSON.parse(f),h=ru(e.slice(16,24)),l=new ArrayBuffer(0);if(h&&(l=e.slice(24+o)),await ho(c,c.tileAvailability,l,r),Array.isArray(c.contentAvailability))for(let u of c.contentAvailability)await ho(c,u,l,r);else await ho(c,c.contentAvailability,l,r);return await ho(c,c.childSubtreeAvailability,l,r),c}async function ho(e,t,r,n){let s=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof s!="number")return;let o=e.bufferViews[s],i=e.buffers[o.buffer];if(!n?.baseUrl)throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(i.uri){let f=`${n?.baseUrl||""}/${i.uri}`,h=await(await n.fetch(f)).arrayBuffer();t.explicitBitstream=new Uint8Array(h,o.byteOffset,o.byteLength);return}let a=e.buffers.slice(0,o.buffer).reduce((f,c)=>f+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(a,a+i.byteLength),o.byteOffset,o.byteLength)}function ru(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var Xr={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Rr,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:Da,options:{}};var Pu=xr(gn(),1);var vu=xr(gn(),1);function La(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function Qt(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||La()}var mB=globalThis.self||globalThis.window||globalThis.global,Yr=globalThis.window||globalThis.self||globalThis.global,pB=globalThis.document||{},We=globalThis.process||{},gB=globalThis.console,HS=globalThis.navigator||{};var lo=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",JS=Qt();function xB(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var uo=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=xB(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function nu(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function su(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function Ao(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let o=e.width*r,i=e.height*r,a=["font-size:1px;","padding:".concat(Math.floor(i/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(i,"px;"),"background:url(".concat(s,");"),"background-size:".concat(o,"px ").concat(i,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}var mo;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(mo||(mo={}));var BB=10;function ou(e){return typeof e!="string"?e:(e=e.toUpperCase(),mo[e]||mo.WHITE)}function iu(e,t,r){if(!Qt&&typeof e=="string"){if(t){let n=ou(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=ou(r);e="\x1B[".concat(n+BB,"m").concat(e,"\x1B[49m")}}return e}function au(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),s=e;for(let o of n){let i=s[o];typeof i=="function"&&(t.find(a=>o===a)||(s[o]=i.bind(e)))}}function Zr(e,t){if(!e)throw new Error(t||"Assertion failed")}function $e(){let e;if(Qt()&&Yr.performance){var t,r;e=Yr===null||Yr===void 0||(t=Yr.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in We){var n;let s=We===null||We===void 0||(n=We.hrtime)===null||n===void 0?void 0:n.call(We);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var qr={debug:Qt()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},EB={enabled:!0,level:0};function Lt(){}var cu={},fu={once:!0},Jn=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=lo,this._startTs=$e(),this._deltaTs=$e(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new uo("__probe-".concat(this.id,"__"),EB),this.timeStamp("".concat(this.id," started")),au(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number(($e()-this._startTs).toPrecision(10))}getDelta(){return Number(($e()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){Zr(t,r)}warn(t){return this._getLogFunction(0,t,qr.warn,arguments,fu)}error(t){return this._getLogFunction(0,t,qr.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,qr.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,qr.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,qr.debug||qr.info,arguments,fu)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||Lt,n&&[n],{tag:CB(r)}):Lt}image(t){let{logLevel:r,priority:n,image:s,message:o="",scale:i=1}=t;return this._shouldLog(r||n)?Qt()?TB({image:s,message:o,scale:i}):yB({image:s,message:o,scale:i}):Lt}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||Lt)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=hu({logLevel:t,message:r,opts:n}),{collapsed:o}=n;return s.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Lt)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=lu(t)}_getLogFunction(t,r,n,s,o){if(this._shouldLog(t)){o=hu({logLevel:t,message:r,args:s,opts:o}),n=n||o.method,Zr(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=$e();let i=o.tag||o.message;if(o.once&&i)if(!cu[i])cu[i]=$e();else return Lt;return r=_B(this.id,o.message,o),n.bind(console,r,...o.args)}return Lt}};Jn.VERSION=lo;function lu(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Zr(Number.isFinite(t)&&t>=0),t}function hu(e){let{logLevel:t,message:r}=e;e.logLevel=lu(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let s=typeof e.message;return Zr(s==="string"||s==="object"),Object.assign(e,{args:n},e.opts)}function _B(e,t,r){if(typeof t=="string"){let n=r.time?su(nu(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=iu(t,r.color,r.background)}return t}function yB(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),Lt}function TB(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let o=new Image;return o.onload=()=>{let i=Ao(o,r,n);console.log(...i)},o.src=t,Lt}let s=t.nodeName||"";if(s.toLowerCase()==="img")return console.log(...Ao(t,r,n)),Lt;if(s.toLowerCase()==="canvas"){let o=new Image;return o.onload=()=>console.log(...Ao(o,r,n)),o.src=t.toDataURL(),Lt}return Lt}function CB(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var Oa=new Jn({id:"@probe.gl/log"});var Ot=null;try{Ot=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Y(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Y.prototype.__isLong__;Object.defineProperty(Y.prototype,"__isLong__",{value:!0});function At(e){return(e&&e.__isLong__)===!0}function uu(e){var t=Math.clz32(e&-e);return e?31-t:t}Y.isLong=At;var du={},Au={};function tr(e,t){var r,n,s;return t?(e>>>=0,(s=0<=e&&e<256)&&(n=Au[e],n)?n:(r=Q(e,0,!0),s&&(Au[e]=r),r)):(e|=0,(s=-128<=e&&e<128)&&(n=du[e],n)?n:(r=Q(e,e<0?-1:0,!1),s&&(du[e]=r),r))}Y.fromInt=tr;function vt(e,t){if(isNaN(e))return t?pe:Vt;if(t){if(e<0)return pe;if(e>=xu)return _u}else{if(e<=-pu)return Mt;if(e+1>=pu)return Eu}return e<0?vt(-e,t).neg():Q(e%$r|0,e/$r|0,t)}Y.fromNumber=vt;function Q(e,t,r){return new Y(e,t,r)}Y.fromBits=Q;var po=Math.pow;function Na(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?pe:Vt;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return Na(e.substring(1),t,r).neg();for(var s=vt(po(r,8)),o=Vt,i=0;i<e.length;i+=8){var a=Math.min(8,e.length-i),f=parseInt(e.substring(i,i+a),r);if(a<8){var c=vt(po(r,a));o=o.mul(c).add(vt(f))}else o=o.mul(s),o=o.add(vt(f))}return o.unsigned=t,o}Y.fromString=Na;function jt(e,t){return typeof e=="number"?vt(e,t):typeof e=="string"?Na(e,t):Q(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Y.fromValue=jt;var mu=1<<16,MB=1<<24,$r=mu*mu,xu=$r*$r,pu=xu/2,gu=tr(MB),Vt=tr(0);Y.ZERO=Vt;var pe=tr(0,!0);Y.UZERO=pe;var Wr=tr(1);Y.ONE=Wr;var Bu=tr(1,!0);Y.UONE=Bu;var va=tr(-1);Y.NEG_ONE=va;var Eu=Q(-1,2147483647,!1);Y.MAX_VALUE=Eu;var _u=Q(-1,-1,!0);Y.MAX_UNSIGNED_VALUE=_u;var Mt=Q(0,-2147483648,!1);Y.MIN_VALUE=Mt;var O=Y.prototype;O.toInt=function(){return this.unsigned?this.low>>>0:this.low};O.toNumber=function(){return this.unsigned?(this.high>>>0)*$r+(this.low>>>0):this.high*$r+(this.low>>>0)};O.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Mt)){var r=vt(t),n=this.div(r),s=n.mul(r).sub(this);return n.toString(t)+s.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var o=vt(po(t,6),this.unsigned),i=this,a="";;){var f=i.div(o),c=i.sub(f.mul(o)).toInt()>>>0,h=c.toString(t);if(i=f,i.isZero())return h+a;for(;h.length<6;)h="0"+h;a=""+h+a}};O.getHighBits=function(){return this.high};O.getHighBitsUnsigned=function(){return this.high>>>0};O.getLowBits=function(){return this.low};O.getLowBitsUnsigned=function(){return this.low>>>0};O.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Mt)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};O.isZero=function(){return this.high===0&&this.low===0};O.eqz=O.isZero;O.isNegative=function(){return!this.unsigned&&this.high<0};O.isPositive=function(){return this.unsigned||this.high>=0};O.isOdd=function(){return(this.low&1)===1};O.isEven=function(){return(this.low&1)===0};O.equals=function(t){return At(t)||(t=jt(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};O.eq=O.equals;O.notEquals=function(t){return!this.eq(t)};O.neq=O.notEquals;O.ne=O.notEquals;O.lessThan=function(t){return this.comp(t)<0};O.lt=O.lessThan;O.lessThanOrEqual=function(t){return this.comp(t)<=0};O.lte=O.lessThanOrEqual;O.le=O.lessThanOrEqual;O.greaterThan=function(t){return this.comp(t)>0};O.gt=O.greaterThan;O.greaterThanOrEqual=function(t){return this.comp(t)>=0};O.gte=O.greaterThanOrEqual;O.ge=O.greaterThanOrEqual;O.compare=function(t){if(At(t)||(t=jt(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};O.comp=O.compare;O.negate=function(){return!this.unsigned&&this.eq(Mt)?Mt:this.not().add(Wr)};O.neg=O.negate;O.add=function(t){At(t)||(t=jt(t));var r=this.high>>>16,n=this.high&65535,s=this.low>>>16,o=this.low&65535,i=t.high>>>16,a=t.high&65535,f=t.low>>>16,c=t.low&65535,h=0,l=0,u=0,d=0;return d+=o+c,u+=d>>>16,d&=65535,u+=s+f,l+=u>>>16,u&=65535,l+=n+a,h+=l>>>16,l&=65535,h+=r+i,h&=65535,Q(u<<16|d,h<<16|l,this.unsigned)};O.subtract=function(t){return At(t)||(t=jt(t)),this.add(t.neg())};O.sub=O.subtract;O.multiply=function(t){if(this.isZero())return this;if(At(t)||(t=jt(t)),Ot){var r=Ot.mul(this.low,this.high,t.low,t.high);return Q(r,Ot.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?pe:Vt;if(this.eq(Mt))return t.isOdd()?Mt:Vt;if(t.eq(Mt))return this.isOdd()?Mt:Vt;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(gu)&&t.lt(gu))return vt(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,s=this.high&65535,o=this.low>>>16,i=this.low&65535,a=t.high>>>16,f=t.high&65535,c=t.low>>>16,h=t.low&65535,l=0,u=0,d=0,A=0;return A+=i*h,d+=A>>>16,A&=65535,d+=o*h,u+=d>>>16,d&=65535,d+=i*c,u+=d>>>16,d&=65535,u+=s*h,l+=u>>>16,u&=65535,u+=o*c,l+=u>>>16,u&=65535,u+=i*f,l+=u>>>16,u&=65535,l+=n*h+s*c+o*f+i*a,l&=65535,Q(d<<16|A,l<<16|u,this.unsigned)};O.mul=O.multiply;O.divide=function(t){if(At(t)||(t=jt(t)),t.isZero())throw Error("division by zero");if(Ot){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Ot.div_u:Ot.div_s)(this.low,this.high,t.low,t.high);return Q(r,Ot.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?pe:Vt;var n,s,o;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return pe;if(t.gt(this.shru(1)))return Bu;o=pe}else{if(this.eq(Mt)){if(t.eq(Wr)||t.eq(va))return Mt;if(t.eq(Mt))return Wr;var i=this.shr(1);return n=i.div(t).shl(1),n.eq(Vt)?t.isNegative()?Wr:va:(s=this.sub(t.mul(n)),o=n.add(s.div(t)),o)}else if(t.eq(Mt))return this.unsigned?pe:Vt;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();o=Vt}for(s=this;s.gte(t);){n=Math.max(1,Math.floor(s.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),f=a<=48?1:po(2,a-48),c=vt(n),h=c.mul(t);h.isNegative()||h.gt(s);)n-=f,c=vt(n,this.unsigned),h=c.mul(t);c.isZero()&&(c=Wr),o=o.add(c),s=s.sub(h)}return o};O.div=O.divide;O.modulo=function(t){if(At(t)||(t=jt(t)),Ot){var r=(this.unsigned?Ot.rem_u:Ot.rem_s)(this.low,this.high,t.low,t.high);return Q(r,Ot.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};O.mod=O.modulo;O.rem=O.modulo;O.not=function(){return Q(~this.low,~this.high,this.unsigned)};O.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};O.clz=O.countLeadingZeros;O.countTrailingZeros=function(){return this.low?uu(this.low):uu(this.high)+32};O.ctz=O.countTrailingZeros;O.and=function(t){return At(t)||(t=jt(t)),Q(this.low&t.low,this.high&t.high,this.unsigned)};O.or=function(t){return At(t)||(t=jt(t)),Q(this.low|t.low,this.high|t.high,this.unsigned)};O.xor=function(t){return At(t)||(t=jt(t)),Q(this.low^t.low,this.high^t.high,this.unsigned)};O.shiftLeft=function(t){return At(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):Q(0,this.low<<t-32,this.unsigned)};O.shl=O.shiftLeft;O.shiftRight=function(t){return At(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):Q(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};O.shr=O.shiftRight;O.shiftRightUnsigned=function(t){return At(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?Q(this.high,0,this.unsigned):Q(this.high>>>t-32,0,this.unsigned)};O.shru=O.shiftRightUnsigned;O.shr_u=O.shiftRightUnsigned;O.rotateLeft=function(t){var r;return At(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Q(this.high,this.low,this.unsigned):t<32?(r=32-t,Q(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,Q(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};O.rotl=O.rotateLeft;O.rotateRight=function(t){var r;return At(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Q(this.high,this.low,this.unsigned):t<32?(r=32-t,Q(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,Q(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};O.rotr=O.rotateRight;O.toSigned=function(){return this.unsigned?Q(this.low,this.high,!1):this};O.toUnsigned=function(){return this.unsigned?this:Q(this.low,this.high,!0)};O.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};O.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};O.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Y.fromBytes=function(t,r,n){return n?Y.fromBytesLE(t,r):Y.fromBytesBE(t,r)};Y.fromBytesLE=function(t,r){return new Y(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Y.fromBytesBE=function(t,r){return new Y(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var tn=Y;var bB=16;function Qn(e){e==="X"&&(e="");let t=e.padEnd(bB,"0");return tn.fromString(t,!0,16)}function Ga(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let o=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-o.length).join("0")+o}function Ua(e,t){let r=wB(e).shiftRightUnsigned(2);return e.add(tn.fromNumber(2*t+1-4).multiply(r))}function wB(e){return e.and(e.not().add(1))}var IB=3,SB=30,RB=2*SB+1,yu=180/Math.PI;function Cu(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],s=n.length,o=0,i=[0,0];for(let a=s-1;a>=0;a--){o=s-a;let f=n[a],c=0,h=0;f==="1"?h=1:f==="2"?(c=1,h=1):f==="3"&&(c=1);let l=Math.pow(2,o-1);FB(l,i,c,h),i[0]+=l*c,i[1]+=l*h}if(r%2===1){let a=i[0];i[0]=i[1],i[1]=a}return{face:r,ij:i,level:o}}function Mu(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<IB+RB;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),s=t.substring(3,r),o=s.length/2,i=tn.fromString(n,!0,2).toString(10),a="";if(o!==0)for(a=tn.fromString(s,!0,2).toString(4);a.length<o;)a="0"+a;return`${i}/${a}`}function Pa(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function Tu(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function Ha(e){return[Tu(e[0]),Tu(e[1])]}function ka(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function za([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*yu,n*yu]}function FB(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let s=t[0];t[0]=t[1],t[1]=s}}function bu(e){let t=Pa(e.ij,e.level,[.5,.5]),r=Ha(t),n=ka(e.face,r);return za(n)}var DB=100;function Ja(e){let{face:t,ij:r,level:n}=e,s=[[0,0],[0,1],[1,1],[1,0],[0,0]],o=Math.max(1,Math.ceil(DB*Math.pow(2,-n))),i=new Float64Array(4*o*2+2),a=0,f=0;for(let c=0;c<4;c++){let h=s[c].slice(0),l=s[c+1],u=(l[0]-h[0])/o,d=(l[1]-h[1])/o;for(let A=0;A<o;A++){h[0]+=u,h[1]+=d;let m=Pa(r,n,h),p=Ha(m),E=ka(t,p),y=za(E);Math.abs(y[1])>89.999&&(y[0]=f);let C=y[0]-f;y[0]+=C>180?-360:C<-180?360:0,i[a++]=y[0],i[a++]=y[1],f=y[0]}}return i[a++]=i[0],i[a++]=i[1],i}function en(e){let t=LB(e);return Cu(t)}function LB(e){if(e.indexOf("/")>0)return e;let t=Qn(e);return Mu(t)}function Qa(e){let t=en(e);return bu(t)}function Iu(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let s=0;s<4;s++){let o=`${e.face}/${s}`,i=en(o),a=Ja(i);(typeof r>"u"||r===null)&&(r=new Float64Array(4*a.length)),r.set(a,n),n+=a.length}t=wu(r)}else{let r=Ja(e);t=wu(r)}return t}function wu(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,s)=>n-s),r.sort((n,s)=>n-s),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function Va(e,t){let r=t?.minimumHeight||0,n=t?.maximumHeight||0,s=en(e),o=Iu(s),i=o.west,a=o.south,f=o.east,c=o.north,h=[];return h.push(new b(i,c,r)),h.push(new b(f,c,r)),h.push(new b(f,a,r)),h.push(new b(i,a,r)),h.push(new b(i,c,n)),h.push(new b(f,c,n)),h.push(new b(f,a,n)),h.push(new b(i,a,n)),h}var ht={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var JR=new b,QR=new b;var Vn=new b,Su=new b,De=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new b,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Vn.from(r),this.center=new b().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new De(this.center,this.radius)}union(t){let r=this.center,n=this.radius,s=t.center,o=t.radius,i=Vn.copy(s).subtract(r),a=i.magnitude();if(n>=a+o)return this.clone();if(o>=a+n)return t.clone();let f=(n+a+o)*.5;return Su.copy(i).scale((-n+f)/a).add(r),this.center.copy(Su),this.radius=f,this}expand(t){let n=Vn.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=Dn.getScaling(Vn,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=Vn.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,o=t.normal.dot(r)+t.distance;return o<-n?ht.OUTSIDE:o<n?ht.INTERSECTING:ht.INSIDE}};var OB=new b,vB=new b,go=new b,xo=new b,Bo=new b,NB=new b,GB=new b,ge={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},er=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new b().from(t),this.halfAxes=new Z(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new b(t).len(),new b(r).len(),new b(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),s=new b(t).normalize(),o=new b(r).normalize(),i=new b(n).normalize();return new Se().fromMatrix3(new Z([...s,...o,...i]))}fromCenterHalfSizeQuaternion(t,r,n){let s=new Se(n),o=new Z().fromQuaternion(s);return o[0]=o[0]*r[0],o[1]=o[1]*r[0],o[2]=o[2]*r[0],o[3]=o[3]*r[1],o[4]=o[4]*r[1],o[5]=o[5]*r[1],o[6]=o[6]*r[2],o[7]=o[7]*r[2],o[8]=o[8]*r[2],this.center=new b().from(t),this.halfAxes=o,this}clone(){return new er(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new De){let r=this.halfAxes,n=r.getColumn(0,go),s=r.getColumn(1,xo),o=r.getColumn(2,Bo),i=OB.copy(n).add(s).add(o);return t.center.copy(this.center),t.radius=i.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,s=this.halfAxes,o=n.x,i=n.y,a=n.z,f=Math.abs(o*s[ge.COLUMN0ROW0]+i*s[ge.COLUMN0ROW1]+a*s[ge.COLUMN0ROW2])+Math.abs(o*s[ge.COLUMN1ROW0]+i*s[ge.COLUMN1ROW1]+a*s[ge.COLUMN1ROW2])+Math.abs(o*s[ge.COLUMN2ROW0]+i*s[ge.COLUMN2ROW1]+a*s[ge.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-f?ht.OUTSIDE:c>=f?ht.INSIDE:ht.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=vB.from(t).subtract(this.center),n=this.halfAxes,s=n.getColumn(0,go),o=n.getColumn(1,xo),i=n.getColumn(2,Bo),a=s.magnitude(),f=o.magnitude(),c=i.magnitude();s.normalize(),o.normalize(),i.normalize();let h=0,l;return l=Math.abs(r.dot(s))-a,l>0&&(h+=l*l),l=Math.abs(r.dot(o))-f,l>0&&(h+=l*l),l=Math.abs(r.dot(i))-c,l>0&&(h+=l*l),h}computePlaneDistances(t,r,n=[-0,-0]){let s=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,i=this.center,a=this.halfAxes,f=a.getColumn(0,go),c=a.getColumn(1,xo),h=a.getColumn(2,Bo),l=NB.copy(f).add(c).add(h).add(i),u=GB.copy(l).subtract(t),d=r.dot(u);return s=Math.min(d,s),o=Math.max(d,o),l.copy(i).add(f).add(c).subtract(h),u.copy(l).subtract(t),d=r.dot(u),s=Math.min(d,s),o=Math.max(d,o),l.copy(i).add(f).subtract(c).add(h),u.copy(l).subtract(t),d=r.dot(u),s=Math.min(d,s),o=Math.max(d,o),l.copy(i).add(f).subtract(c).subtract(h),u.copy(l).subtract(t),d=r.dot(u),s=Math.min(d,s),o=Math.max(d,o),i.copy(l).subtract(f).add(c).add(h),u.copy(l).subtract(t),d=r.dot(u),s=Math.min(d,s),o=Math.max(d,o),i.copy(l).subtract(f).add(c).subtract(h),u.copy(l).subtract(t),d=r.dot(u),s=Math.min(d,s),o=Math.max(d,o),i.copy(l).subtract(f).subtract(c).add(h),u.copy(l).subtract(t),d=r.dot(u),s=Math.min(d,s),o=Math.max(d,o),i.copy(l).subtract(f).subtract(c).subtract(h),u.copy(l).subtract(t),d=r.dot(u),s=Math.min(d,s),o=Math.max(d,o),n[0]=s,n[1]=o,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,go);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,xo);n.transformAsPoint(t);let s=this.halfAxes.getColumn(2,Bo);return s.transformAsPoint(t),this.halfAxes=new Z([...r,...n,...s]),this}getTransform(){throw new Error("not implemented")}};var Ru=new b,Fu=new b,xe=class{constructor(t=[0,0,1],r=0){this.normal=new b,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return ft(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Ru.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,s){return this.normal.set(t,r,n),ft(It(this.normal.len(),1)),this.distance=s,this}clone(){return new xe(this.normal,this.distance)}equals(t){return It(this.distance,t.distance)&&It(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Fu.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=Ru.from(t),s=this.getPointDistance(n),o=Fu.copy(this.normal).scale(s);return n.subtract(o).to(r)}};var Du=[new b([1,0,0]),new b([0,1,0]),new b([0,0,1])],Lu=new b,UB=new b,Nt=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*Du.length;let r=t.center,n=t.radius,s=0;for(let o of Du){let i=this.planes[s],a=this.planes[s+1];i||(i=this.planes[s]=new xe),a||(a=this.planes[s+1]=new xe);let f=Lu.copy(o).scale(-n).add(r);i.fromPointNormal(f,o);let c=Lu.copy(o).scale(n).add(r),h=UB.copy(o).negate();a.fromPointNormal(c,h),s+=2}return this}computeVisibility(t){let r=ht.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case ht.OUTSIDE:return ht.OUTSIDE;case ht.INTERSECTING:r=ht.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(ft(Number.isFinite(r),"parentPlaneMask is required."),r===Nt.MASK_OUTSIDE||r===Nt.MASK_INSIDE)return r;let n=Nt.MASK_INSIDE,s=this.planes;for(let o=0;o<this.planes.length;++o){let i=o<31?1<<o:0;if(o<31&&!(r&i))continue;let a=s[o],f=t.intersectPlane(a);if(f===ht.OUTSIDE)return Nt.MASK_OUTSIDE;f===ht.INTERSECTING&&(n|=i)}return n}};Nt.MASK_OUTSIDE=4294967295;Nt.MASK_INSIDE=0;Nt.MASK_INDETERMINATE=2147483647;var cF=new b,fF=new b,hF=new b,lF=new b,uF=new b;var xF=new b,BF=new b,EF=new b,_F=new b,yF=new b,TF=new b,CF=new b,MF=new b,bF=new b,wF=new b,IF=new b,SF=new b;var ne=new Z,HB=new Z,kB=new Z,Eo=new Z,Ou=new Z;function Xa(e,t={}){let r=kt.EPSILON20,n=10,s=0,o=0,i=HB,a=kB;i.identity(),a.copy(e);let f=r*zB(a);for(;o<n&&JB(a)>f;)QB(a,Eo),Ou.copy(Eo).transpose(),a.multiplyRight(Eo),a.multiplyLeft(Ou),i.multiplyRight(Eo),++s>2&&(++o,s=0);return t.unitary=i.toTarget(t.unitary),t.diagonal=a.toTarget(t.diagonal),t}function zB(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var ja=[1,0,0],Ka=[2,2,1];function JB(e){let t=0;for(let r=0;r<3;++r){let n=e[ne.getElementIndex(Ka[r],ja[r])];t+=2*n*n}return Math.sqrt(t)}function QB(e,t){let r=kt.EPSILON15,n=0,s=1;for(let c=0;c<3;++c){let h=Math.abs(e[ne.getElementIndex(Ka[c],ja[c])]);h>n&&(s=c,n=h)}let o=ja[s],i=Ka[s],a=1,f=0;if(Math.abs(e[ne.getElementIndex(i,o)])>r){let c=e[ne.getElementIndex(i,i)],h=e[ne.getElementIndex(o,o)],l=e[ne.getElementIndex(i,o)],u=(c-h)/2/l,d;u<0?d=-1/(-u+Math.sqrt(1+u*u)):d=1/(u+Math.sqrt(1+u*u)),a=1/Math.sqrt(1+d*d),f=d*a}return Z.IDENTITY.to(t),t[ne.getElementIndex(o,o)]=t[ne.getElementIndex(i,i)]=a,t[ne.getElementIndex(i,o)]=f,t[ne.getElementIndex(o,i)]=-f,t}var Le=new b,jB=new b,KB=new b,XB=new b,YB=new b,ZB=new Z,qB={diagonal:new Z,unitary:new Z};function Ya(e,t=new er){if(!e||e.length===0)return t.halfAxes=new Z([0,0,0,0,0,0,0,0,0]),t.center=new b,t;let r=e.length,n=new b(0,0,0);for(let x of e)n.add(x);let s=1/r;n.multiplyByScalar(s);let o=0,i=0,a=0,f=0,c=0,h=0;for(let x of e){let g=Le.copy(x).subtract(n);o+=g.x*g.x,i+=g.x*g.y,a+=g.x*g.z,f+=g.y*g.y,c+=g.y*g.z,h+=g.z*g.z}o*=s,i*=s,a*=s,f*=s,c*=s,h*=s;let l=ZB;l[0]=o,l[1]=i,l[2]=a,l[3]=i,l[4]=f,l[5]=c,l[6]=a,l[7]=c,l[8]=h;let{unitary:u}=Xa(l,qB),d=t.halfAxes.copy(u),A=d.getColumn(0,KB),m=d.getColumn(1,XB),p=d.getColumn(2,YB),E=-Number.MAX_VALUE,y=-Number.MAX_VALUE,C=-Number.MAX_VALUE,M=Number.MAX_VALUE,T=Number.MAX_VALUE,I=Number.MAX_VALUE;for(let x of e)Le.copy(x),E=Math.max(Le.dot(A),E),y=Math.max(Le.dot(m),y),C=Math.max(Le.dot(p),C),M=Math.min(Le.dot(A),M),T=Math.min(Le.dot(m),T),I=Math.min(Le.dot(p),I);A=A.multiplyByScalar(.5*(M+E)),m=m.multiplyByScalar(.5*(T+y)),p=p.multiplyByScalar(.5*(I+C)),t.center.copy(A).add(m).add(p);let w=jB.set(E-M,y-T,C-I).multiplyByScalar(.5),L=new Z([w[0],0,0,0,w[1],0,0,0,w[2]]);return t.halfAxes.multiplyRight(L),t}function _o(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=Va(t,r),s=Qa(t),o=s[0],i=s[1],a=me.WGS84.cartographicToCartesian([o,i,r.maximumHeight]),f=new b(a[0],a[1],a[2]);n.push(f);let c=Ya(n);return[...c.center,...c.halfAxes]}var WB=4,$B=8,t2={QUADTREE:WB,OCTREE:$B};function e2(e,t,r){if(e?.box){let n=Qn(e.s2VolumeInfo.token),s=Ua(n,t),o=Ga(s),i={...e.s2VolumeInfo};switch(i.token=o,r){case"OCTREE":let c=e.s2VolumeInfo,h=c.maximumHeight-c.minimumHeight,l=h/2,u=c.minimumHeight+h/2;c.minimumHeight=u-l,c.maximumHeight=u+l;break;default:break}return{box:_o(i),s2VolumeInfo:i}}}async function qa(e){let{implicitOptions:t,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:s,loaderOptions:o}=e,{subtree:i,level:a=0,globalData:f={level:0,mortonIndex:0,x:0,y:0,z:0}}=e,{subdivisionScheme:c,subtreeLevels:h,maximumLevel:l,contentUrlTemplate:u,subtreesUriTemplate:d,basePath:A}=t,m={children:[],lodMetricValue:0,contentUrl:""};if(!l)return Oa.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${u} won't be loaded...`),m;let p=a+f.level;if(p>l)return m;let E=t2[c],y=Math.log2(E),C=n&1,M=n>>1&1,T=n>>2&1,I=(E**a-1)/(E-1),w=rr(r.mortonIndex,n,y),L=I+w,x=rr(r.x,C,1),g=rr(r.y,M,1),B=rr(r.z,T,1),_=!1;a>=h&&(_=Za(i.childSubtreeAvailability,w));let U=rr(f.x,x,a),G=rr(f.y,g,a),P=rr(f.z,B,a);if(_){let ze=`${A}/${d}`,ds=yo(ze,p,U,G,P);i=await(0,vu.load)(ds,Xr,o),f={mortonIndex:w,x,y:g,z:B,level:a},w=0,L=0,x=0,g=0,B=0,a=0}if(!Za(i.tileAvailability,L))return m;Za(i.contentAvailability,L)&&(m.contentUrl=yo(u,p,U,G,P));let mt=a+1,X={mortonIndex:w,x,y:g,z:B};for(let ze=0;ze<E;ze++){let ds=e2(s,ze,c),gr=await qa({subtree:i,implicitOptions:t,loaderOptions:o,parentData:X,childIndex:ze,level:mt,globalData:{...f},s2VolumeBox:ds});if(gr.contentUrl||gr.children.length){let S=p+1,R=r2(gr,S,{childTileX:x,childTileY:g,childTileZ:B},t,s);m.children.push(R)}}return m}function Za(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&Oa.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?o2(t,r.explicitBitstream):!1}function r2(e,t,r,n,s){let{basePath:o,refine:i,getRefine:a,lodMetricType:f,getTileType:c,rootLodMetricValue:h,rootBoundingVolume:l}=n,u=e.contentUrl&&e.contentUrl.replace(`${o}/`,""),d=h/2**t,A=s?.box?{box:s.box}:l,m=n2(t,A,r);return{children:e.children,contentUrl:e.contentUrl,content:{uri:u},id:e.contentUrl,refine:a(i),type:c(e),lodMetricType:f,lodMetricValue:d,geometricError:d,transform:e.transform,boundingVolume:m}}function n2(e,t,r){if(t.region){let{childTileX:n,childTileY:s,childTileZ:o}=r,[i,a,f,c,h,l]=t.region,u=2**e,d=(f-i)/u,A=(c-a)/u,m=(l-h)/u,[p,E]=[i+d*n,i+d*(n+1)],[y,C]=[a+A*s,a+A*(s+1)],[M,T]=[h+m*o,h+m*(o+1)];return{region:[p,y,E,C,M,T]}}if(t.box)return t;throw new Error(`Unsupported bounding volume type ${JSON.stringify(t)}`)}function rr(e,t,r){return(e<<r)+t}function yo(e,t,r,n,s){let o=s2({level:t,x:r,y:n,z:s});return e.replace(/{level}|{x}|{y}|{z}/gi,i=>o[i])}function s2(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function o2(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function $a(e,t=""){if(!t)return Me.EMPTY;let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return Me.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return Me.SCENEGRAPH;default:return n||Me.EMPTY}}function tc(e){switch(e){case"REPLACE":case"replace":return Sr.REPLACE;case"ADD":case"add":return Sr.ADD;default:return e}}function Wa(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return Cr.resolve(t,e)}function Nu(e,t){if(!e)return null;let r;if(e.content){let s=e.content.uri||e.content?.url;typeof s<"u"&&(r=Wa(s,t))}return{...e,id:r,contentUrl:r,lodMetricType:ue.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:$a(e,r),refine:tc(e.refine)}}async function Hu(e,t,r){let n=null,s=Uu(e.root);s&&e.root?n=await Gu(e.root,e,t,s,r):n=Nu(e.root,t);let o=[];for(o.push(n);o.length>0;){let i=o.pop()||{},a=i.children||[],f=[];for(let c of a){let h=Uu(c),l;h?l=await Gu(c,e,t,h,r):l=Nu(c,t),l&&(f.push(l),o.push(l))}i.children=f}return n}async function Gu(e,t,r,n,s){let{subdivisionScheme:o,maximumLevel:i,availableLevels:a,subtreeLevels:f,subtrees:{uri:c}}=n,h=yo(c,0,0,0,0),l=Wa(h,r),u=await(0,Pu.load)(l,Xr,s),d=e.content?.uri,A=d?Wa(d,r):"",m=t?.root?.refine,p=e.geometricError,E=e.boundingVolume.extensions?.["3DTILES_bounding_volume_S2"];if(E){let T={box:_o(E),s2VolumeInfo:E};e.boundingVolume=T}let y=e.boundingVolume,C={contentUrlTemplate:A,subtreesUriTemplate:c,subdivisionScheme:o,subtreeLevels:f,maximumLevel:Number.isFinite(a)?a-1:i,refine:m,basePath:r,lodMetricType:ue.GEOMETRIC_ERROR,rootLodMetricValue:p,rootBoundingVolume:y,getTileType:$a,getRefine:tc};return await i2(e,r,u,C,s)}async function i2(e,t,r,n,s){if(!e)return null;let{children:o,contentUrl:i}=await qa({subtree:r,implicitOptions:n,loaderOptions:s}),a,f=null;return i&&(a=i,f={uri:i.replace(`${t}/`,"")}),{...e,id:a,contentUrl:a,lodMetricType:ue.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:$a(e,a),refine:tc(e.refine),content:f||e.content,children:o}}function Uu(e){return e?.extensions?.["3DTILES_implicit_tiling"]||e?.implicitTiling}var nr={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Rr,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:a2,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function a2(e,t={},r){let n=t["3d-tiles"]||{},s;return n.isTileset==="auto"?s=r?.url&&r.url.indexOf(".json")!==-1:s=n.isTileset,s?c2(e,t,r):f2(e,t,r)}async function c2(e,t,r){let n=JSON.parse(new TextDecoder().decode(e)),s=r?.url||"",o=h2(s),i=await Hu(n,o,t||{});return{...n,shape:"tileset3d",loader:nr,url:s,queryString:r?.queryString||"",basePath:o,root:i||n.root,type:Cn.TILES3D,lodMetricType:ue.GEOMETRIC_ERROR,lodMetricValue:n.root?.geometricError||0}}async function f2(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await Fa(e,0,t,r,n.content),n.content}function h2(e){return Cr.dirname(e)}var To=xr(gn(),1);var ku="https://api.cesium.com/v1/assets";async function Co(e,t){if(!t){let o=await l2(e);for(let i of o.items)i.type==="3DTILES"&&(t=i.id)}let r=await u2(e,t),{type:n,url:s}=r;return z(n==="3DTILES"&&s),r.headers={Authorization:`Bearer ${r.accessToken}`},r}async function l2(e){z(e);let t=ku,r={Authorization:`Bearer ${e}`},n=await(0,To.fetchFile)(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function u2(e,t){z(e,t);let r={Authorization:`Bearer ${e}`},n=`${ku}/${t}`,s=await(0,To.fetchFile)(`${n}`,{headers:r});if(!s.ok)throw new Error(s.statusText);let o=await s.json();if(s=await(0,To.fetchFile)(`${n}/endpoint`,{headers:r}),!s.ok)throw new Error(s.statusText);let i=await s.json();return o={...o,...i},o}async function d2(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let s=e.match(/\/([0-9]+)\/tileset.json/);n=s&&s[1]}return Co(r,n)}var ec={...nr,id:"cesium-ion",name:"Cesium Ion",preload:d2,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=ec,nr.parse(e,t,r)),options:{"cesium-ion":{...nr.options["3d-tiles"],accessToken:null}}};var jn=async(e,t)=>{let r=[await e.getUint8(e.length-1n),await e.getUint8(e.length-2n),await e.getUint8(e.length-3n),void 0],n=0n;for(let s=e.length-4n;s>-1;s--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=await e.getUint8(s),r.every((o,i)=>o===t[i])){n=s;break}return n};var zu=new Uint8Array([80,75,5,6]),Ju=new Uint8Array([80,75,6,7]),Qu=new Uint8Array([80,75,6,6]),A2=8n;var m2=16n;var p2=8n,g2=24n;var x2=48n;var Vu=async e=>{let t=await jn(e,zu),r=BigInt(await e.getUint16(t+A2)),n=BigInt(await e.getUint32(t+m2)),s=t-20n,o=0n,i=await e.slice(s,s+4n);if(Ce(i,Ju)){o=await e.getBigUint64(s+p2);let a=await e.slice(o,o+4n);if(!Ce(a,Qu.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(o+g2),n=await e.getBigUint64(o+x2)}else s=0n;return{cdRecordsNumber:r,cdStartOffset:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:s,zipEoCDOffset:t}}};var RD=[{offset:0,size:4,default:new DataView(zu.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];var FD=[{offset:0,size:4,default:new DataView(Ju.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],DD=[{offset:0,size:4,default:new DataView(Qu.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var B2=20n,E2=24n,_2=28n,y2=30n,T2=32n,C2=42n,rc=46n,Xn=new Uint8Array([80,75,1,2]),Kn=async(e,t)=>{let r=await t.slice(e,e+4n);if(!Ce(r,Xn.buffer))return null;let n=BigInt(await t.getUint32(e+B2)),s=BigInt(await t.getUint32(e+E2)),o=await t.getUint16(e+y2),i=BigInt(await t.getUint16(e+T2)),a=await t.getUint16(e+_2),f=await t.slice(e+rc,e+rc+BigInt(a)),c=new TextDecoder().decode(f),h=e+rc+BigInt(a),l=await t.getUint32(e+C2),u=BigInt(l),d=new DataView(await t.slice(h,h+BigInt(o))),A={uncompressedSize:s,compressedSize:n,localHeaderOffset:u,startDisk:i},m=M2(A,d);return{...A,...m,extraFieldLength:o,fileNameLength:a,fileName:c,extraOffset:h}};async function*rn(e){let{cdStartOffset:t}=await Vu(e),r=await Kn(t,e);for(;r;)yield r,r=await Kn(r.extraOffset+BigInt(r.extraFieldLength),e)}var ju=(...e)=>e[0]+e[1]*16,M2=(e,t)=>{let r=b2(e),n={};if(r.length>0){let s=r.reduce((a,f)=>a+f.length,0),o=new Uint8Array(t.buffer).findIndex((a,f,c)=>ju(c[f],c[f+1])===1&&ju(c[f+2],c[f+3])===s),i=0;for(let a of r){let f=i;n[a.name]=t.getBigUint64(o+4+f,!0),i=f+a.length}}return n},b2=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};var ND=[{offset:0,size:4,default:new DataView(Xn.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var w2=8n,I2=18n,S2=22n,R2=26n,F2=28n,Mo=30n,nc=new Uint8Array([80,75,3,4]),sr=async(e,t)=>{let r=await t.slice(e,e+4n);if(!Ce(r,nc))return null;let n=await t.getUint16(e+R2),s=new TextDecoder().decode(await t.slice(e+Mo,e+Mo+BigInt(n))).split("\\").join("/"),o=await t.getUint16(e+F2),i=e+Mo+BigInt(n+o),a=await t.getUint16(e+w2),f=BigInt(await t.getUint32(e+I2)),c=BigInt(await t.getUint32(e+S2)),h=e+Mo+BigInt(n),l=4n;return c===BigInt(4294967295)&&(c=await t.getBigUint64(h+l),l+=8n),f===BigInt(4294967295)&&(f=await t.getBigUint64(h+l),l+=8n),i===BigInt(4294967295)&&(i=await t.getBigUint64(h+l)),{fileNameLength:n,fileName:s,extraFieldLength:o,fileDataOffset:i,compressedSize:f,compressionMethod:a}};var PD=[{offset:0,size:4,default:new DataView(nc.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];var bo=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){let n=[];for await(let i of t)n.push(i),yield i;let s=await this.concatenate(n),o=await this.hash(s,r);this.options.crypto?.onEnd?.({hash:o})}async concatenate(t){return await Bn(t)}};function Ku(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let s=0;s<n.length;s++)typeof n[s]>"u"?t+="=":t+=D2(n[s])}return t}function D2(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function Xu(e,t){switch(t){case"hex":return e;case"base64":return L2(e);default:throw new Error(t)}}function L2(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Ku(r)||""}var Zu=typeof atob=="function"?atob:typeof Buffer=="function"?H2:Wu,O2=Zu("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"),sc=WebAssembly&&Zu!==Wu?P2(O2).buffer:!1,se=k2(),oc=240*16*16,qu=Math.floor(oc*16*1.066666667),v2=268435456-65536,Yu="Parameter must be Buffer, ArrayBuffer or Uint8Array",N2="Parameter exceeds max size of 255.9 Mbytes";sc||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function ic(e){var t,r,n,s,o,i,a,f,c,h;let l=U2(),u=G2(),d={},A=new Date().getTime();return d.then=function(y){return a=y,p(),d},d.catch=function(y){return f=y,d},e&&typeof e=="object"?typeof Buffer=="function"&&e.constructor===Buffer?i=e:e.constructor===Uint8Array||e.constructor===ArrayBuffer?i=e.constructor===ArrayBuffer?new Uint8Array(e):e:E(new TypeError(Yu)):E(new TypeError(Yu)),i&&(o=i.length,sc&&o>qu?o>v2?E(new Error(N2)):(t=new WebAssembly.Memory({initial:o>32e6?o>64e6?o>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),s={mem:t,log:console.log},n={imports:s},WebAssembly.instantiate(sc,n).then(m)):p(l(i))),d;function m(y){p(u(i,y.instance.exports,r))}function p(y){var C=Boolean(y)?y:c;Boolean(y)&&(h=new Date().getTime()),typeof a=="function"?Boolean(C)&&(a(C,h-A),a=f=null):Boolean(y)&&(c=y)}function E(y){typeof f=="function"&&f(y)}}function G2(){var e,t,r,n,s,o,i,a,f,c,h,l,u,d=function(A){var m,p,E,y,C,M,T,I,w,L,x,g,B,_,U,G,P,v,at,mt,X,ze,ds=new Date().getTime(),gr=0,S=1732584193,F=-271733879,R=-1732584194,D=271733878,tt=0,pn=A.length*8,As;for(As=Yd(A,u),u[pn>>>5]|=128<<pn%32,u[(pn+64>>>9<<4)+14]=pn,As=(pn+64>>>9<<4)+15,X=u;tt<As;)As>tt+qu?(n(S),o(F),a(R),c(D),t(oc),tt=tt+oc*16,S=r(),F=s(),R=i(),D=f(),gr++):(P=S,v=F,at=R,mt=D,m=X[tt+0]>>>0,p=X[tt+1]>>>0,E=X[tt+2]>>>0,y=X[tt+3]>>>0,C=X[tt+4]>>>0,M=X[tt+5]>>>0,T=X[tt+6]>>>0,I=X[tt+7]>>>0,w=X[tt+8]>>>0,L=X[tt+9]>>>0,x=X[tt+10]>>>0,g=X[tt+11]>>>0,B=X[tt+12]>>>0,_=X[tt+13]>>>0,U=X[tt+14]>>>0,G=X[tt+15]>>>0,S=N(7,25,S+(F&R|~F&D)+m-680876936)+F,D=N(12,20,D+(S&F|~S&R)+p-389564586)+S,R=N(17,15,R+(D&S|~D&F)+E+606105819)+D,F=N(22,10,F+(R&D|~R&S)+y-1044525330)+R,S=N(7,25,S+(F&R|~F&D)+C-176418897)+F,D=N(12,20,D+(S&F|~S&R)+M+1200080426)+S,R=N(17,15,R+(D&S|~D&F)+T-1473231341)+D,F=N(22,10,F+(R&D|~R&S)+I-45705983)+R,S=N(7,25,S+(F&R|~F&D)+w+1770035416)+F,D=N(12,20,D+(S&F|~S&R)+L-1958414417)+S,R=N(17,15,R+(D&S|~D&F)+x-42063)+D,F=N(22,10,F+(R&D|~R&S)+g-1990404162)+R,S=N(7,25,S+(F&R|~F&D)+B+1804603682)+F,D=N(12,20,D+(S&F|~S&R)+_-40341101)+S,R=N(17,15,R+(D&S|~D&F)+U-1502002290)+D,F=N(22,10,F+(R&D|~R&S)+G+1236535329)+R,S=N(5,27,S+(F&D|R&~D)+p-165796510)+F,D=N(9,23,D+(S&R|F&~R)+T-1069501632)+S,R=N(14,18,R+(D&F|S&~F)+g+643717713)+D,F=N(20,12,F+(R&S|D&~S)+m-373897302)+R,S=N(5,27,S+(F&D|R&~D)+M-701558691)+F,D=N(9,23,D+(S&R|F&~R)+x+38016083)+S,R=N(14,18,R+(D&F|S&~F)+G-660478335)+D,F=N(20,12,F+(R&S|D&~S)+C-405537848)+R,S=N(5,27,S+(F&D|R&~D)+L+568446438)+F,D=N(9,23,D+(S&R|F&~R)+U-1019803690)+S,R=N(14,18,R+(D&F|S&~F)+y-187363961)+D,F=N(20,12,F+(R&S|D&~S)+w+1163531501)+R,S=N(5,27,S+(F&D|R&~D)+_-1444681467)+F,D=N(9,23,D+(S&R|F&~R)+E-51403784)+S,R=N(14,18,R+(D&F|S&~F)+I+1735328473)+D,F=N(20,12,F+(R&S|D&~S)+B-1926607734)+R,S=N(4,28,S+(F^R^D)+M-378558)+F,D=N(11,21,D+(S^F^R)+w-2022574463)+S,R=N(16,16,R+(D^S^F)+g+1839030562)+D,F=N(23,9,F+(R^D^S)+U-35309556)+R,S=N(4,28,S+(F^R^D)+p-1530992060)+F,D=N(11,21,D+(S^F^R)+C+1272893353)+S,R=N(16,16,R+(D^S^F)+I-155497632)+D,F=N(23,9,F+(R^D^S)+x-1094730640)+R,S=N(4,28,S+(F^R^D)+_+681279174)+F,D=N(11,21,D+(S^F^R)+m-358537222)+S,R=N(16,16,R+(D^S^F)+y-722521979)+D,F=N(23,9,F+(R^D^S)+T+76029189)+R,S=N(4,28,S+(F^R^D)+L-640364487)+F,D=N(11,21,D+(S^F^R)+B-421815835)+S,R=N(16,16,R+(D^S^F)+G+530742520)+D,F=N(23,9,F+(R^D^S)+E-995338651)+R,S=N(6,26,S+(R^(F|~D))+m-198630844)+F,D=N(10,22,D+(F^(S|~R))+I+1126891415)+S,R=N(15,17,R+(S^(D|~F))+U-1416354905)+D,F=N(21,11,F+(D^(R|~S))+M-57434055)+R,S=N(6,26,S+(R^(F|~D))+B+1700485571)+F,D=N(10,22,D+(F^(S|~R))+y-1894986606)+S,R=N(15,17,R+(S^(D|~F))+x-1051523)+D,F=N(21,11,F+(D^(R|~S))+p-2054922799)+R,S=N(6,26,S+(R^(F|~D))+w+1873313359)+F,D=N(10,22,D+(F^(S|~R))+G-30611744)+S,R=N(15,17,R+(S^(D|~F))+T-1560198380)+D,F=N(21,11,F+(D^(R|~S))+_+1309151649)+R,S=N(6,26,S+(R^(F|~D))+C-145523070)+F,D=N(10,22,D+(F^(S|~R))+g-1120210379)+S,R=N(15,17,R+(S^(D|~F))+E+718787259)+D,F=N(21,11,F+(D^(R|~S))+L-343485551)+R,tt=tt+16,S=S+P>>>0,F=F+v>>>0,R=R+at>>>0,D=D+mt>>>0);return se.endian([S,F,R,D]);function N(pt,ms,Yt){return Yt<<pt|Yt>>>ms}function Yd(pt,ms){for(var Yt=-1,Qo=Math.floor((pt.length-1)/4),Bt=0,Vc,jc,Kc,Xc;Qo-8>Yt++;)Bt=Yt<<2,ms[Yt]=pt[Bt+0]|pt[Bt+1]<<8|pt[Bt+2]<<16|pt[Bt+3]<<24;for(Yt--;Qo>Yt++;)Bt=Yt<<2,Vc=typeof pt[Bt+0]>"u"?0:pt[Bt+0],jc=typeof pt[Bt+1]>"u"?0:pt[Bt+1],Kc=typeof pt[Bt+2]>"u"?0:pt[Bt+2],Xc=typeof pt[Bt+3]>"u"?0:pt[Bt+3],ms[Yt]=Vc|jc<<8|Kc<<16|Xc<<24;return Qo+1}};return function(A,m,p,E){var y;return t=m.loops,e=m.loop,r=m.getA,s=m.getB,i=m.getC,f=m.getD,h=m.getX,n=m.setA,o=m.setB,a=m.setC,c=m.setD,l=m.setX,u=p,y=se.wordsToBytes(d(A)),E&&E.asBytes?y:se.bytesconvertNumberToHex(y)}}function U2(){var e=function(t,r){var n,s,o,i,a,f,c,h,l,u,d,A,m,p,E,y,C,M,T,I,w,L=new Date().getTime(),x=1732584193,g=-271733879,B=-1732584194,_=271733878,U=t.length*8;w=se.bytesToWords(t);for(var G=0;G<w.length;G++)w[G]=(w[G]<<8|w[G]>>>24)&16711935|(w[G]<<24|w[G]>>>8)&4278255360;w[U>>>5]|=128<<U%32,w[(U+64>>>9<<4)+14]=U;for(var P=0;P<w.length;P+=16)C=x,M=g,T=B,I=_,n=w[P+0]>>>0,s=w[P+1]>>>0,o=w[P+2]>>>0,i=w[P+3]>>>0,a=w[P+4]>>>0,f=w[P+5]>>>0,c=w[P+6]>>>0,h=w[P+7]>>>0,l=w[P+8]>>>0,u=w[P+9]>>>0,d=w[P+10]>>>0,A=w[P+11]>>>0,m=w[P+12]>>>0,p=w[P+13]>>>0,E=w[P+14]>>>0,y=w[P+15]>>>0,x=v(7,25,x+(g&B|~g&_)+n-680876936)+g,_=v(12,20,_+(x&g|~x&B)+s-389564586)+x,B=v(17,15,B+(_&x|~_&g)+o+606105819)+_,g=v(22,10,g+(B&_|~B&x)+i-1044525330)+B,x=v(7,25,x+(g&B|~g&_)+a-176418897)+g,_=v(12,20,_+(x&g|~x&B)+f+1200080426)+x,B=v(17,15,B+(_&x|~_&g)+c-1473231341)+_,g=v(22,10,g+(B&_|~B&x)+h-45705983)+B,x=v(7,25,x+(g&B|~g&_)+l+1770035416)+g,_=v(12,20,_+(x&g|~x&B)+u-1958414417)+x,B=v(17,15,B+(_&x|~_&g)+d-42063)+_,g=v(22,10,g+(B&_|~B&x)+A-1990404162)+B,x=v(7,25,x+(g&B|~g&_)+m+1804603682)+g,_=v(12,20,_+(x&g|~x&B)+p-40341101)+x,B=v(17,15,B+(_&x|~_&g)+E-1502002290)+_,g=v(22,10,g+(B&_|~B&x)+y+1236535329)+B,x=v(5,27,x+(g&_|B&~_)+s-165796510)+g,_=v(9,23,_+(x&B|g&~B)+c-1069501632)+x,B=v(14,18,B+(_&g|x&~g)+A+643717713)+_,g=v(20,12,g+(B&x|_&~x)+n-373897302)+B,x=v(5,27,x+(g&_|B&~_)+f-701558691)+g,_=v(9,23,_+(x&B|g&~B)+d+38016083)+x,B=v(14,18,B+(_&g|x&~g)+y-660478335)+_,g=v(20,12,g+(B&x|_&~x)+a-405537848)+B,x=v(5,27,x+(g&_|B&~_)+u+568446438)+g,_=v(9,23,_+(x&B|g&~B)+E-1019803690)+x,B=v(14,18,B+(_&g|x&~g)+i-187363961)+_,g=v(20,12,g+(B&x|_&~x)+l+1163531501)+B,x=v(5,27,x+(g&_|B&~_)+p-1444681467)+g,_=v(9,23,_+(x&B|g&~B)+o-51403784)+x,B=v(14,18,B+(_&g|x&~g)+h+1735328473)+_,g=v(20,12,g+(B&x|_&~x)+m-1926607734)+B,x=v(4,28,x+(g^B^_)+f-378558)+g,_=v(11,21,_+(x^g^B)+l-2022574463)+x,B=v(16,16,B+(_^x^g)+A+1839030562)+_,g=v(23,9,g+(B^_^x)+E-35309556)+B,x=v(4,28,x+(g^B^_)+s-1530992060)+g,_=v(11,21,_+(x^g^B)+a+1272893353)+x,B=v(16,16,B+(_^x^g)+h-155497632)+_,g=v(23,9,g+(B^_^x)+d-1094730640)+B,x=v(4,28,x+(g^B^_)+p+681279174)+g,_=v(11,21,_+(x^g^B)+n-358537222)+x,B=v(16,16,B+(_^x^g)+i-722521979)+_,g=v(23,9,g+(B^_^x)+c+76029189)+B,x=v(4,28,x+(g^B^_)+u-640364487)+g,_=v(11,21,_+(x^g^B)+m-421815835)+x,B=v(16,16,B+(_^x^g)+y+530742520)+_,g=v(23,9,g+(B^_^x)+o-995338651)+B,x=v(6,26,x+(B^(g|~_))+n-198630844)+g,_=v(10,22,_+(g^(x|~B))+h+1126891415)+x,B=v(15,17,B+(x^(_|~g))+E-1416354905)+_,g=v(21,11,g+(_^(B|~x))+f-57434055)+B,x=v(6,26,x+(B^(g|~_))+m+1700485571)+g,_=v(10,22,_+(g^(x|~B))+i-1894986606)+x,B=v(15,17,B+(x^(_|~g))+d-1051523)+_,g=v(21,11,g+(_^(B|~x))+s-2054922799)+B,x=v(6,26,x+(B^(g|~_))+l+1873313359)+g,_=v(10,22,_+(g^(x|~B))+y-30611744)+x,B=v(15,17,B+(x^(_|~g))+c-1560198380)+_,g=v(21,11,g+(_^(B|~x))+p+1309151649)+B,x=v(6,26,x+(B^(g|~_))+a-145523070)+g,_=v(10,22,_+(g^(x|~B))+A-1120210379)+x,B=v(15,17,B+(x^(_|~g))+o+718787259)+_,g=v(21,11,g+(_^(B|~x))+u-343485551)+B,x=x+C>>>0,g=g+M>>>0,B=B+T>>>0,_=_+I>>>0;return se.endian([x,g,B,_]);function v(at,mt,X){return X<<at|X>>>mt}};return function(t,r){var n=se.wordsToBytes(e(t,r)),s=r&&r.asBytes?n:se.bytesconvertNumberToHex(n);return s}}function P2(e){var t,r,n,s=-1;for(t=e.length-1,r=new ArrayBuffer(e.length),n=new Uint8Array(r);t>s++;)n[s]=e.charCodeAt(s);return n}function H2(e){return Buffer.from(e,"base64").toString("binary")}function Wu(e){return e}function k2(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return se.rotl(t,8)&16711935|se.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=se.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,s=0;n<t.length;n++,s+=8)r[s>>>5]|=t[n]<<24-s%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var or=class extends bo{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let s=await new Promise((o,i)=>ic(t).then(o).catch(i));return Xu(s,r)}};var nn=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(){}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return Bn(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var Yn=class extends nn{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var Ar=xr(Pd(),1),Te=xr(Hd(),1);var mr=class extends nn{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){if(!Et&&this.options.deflate?.useZlib){let r=this.options.deflate?.gzip?await Tr(Te.default.gzip)(t):await Tr(Te.default.deflate)(t);return yr(r)}return this.compressSync(t)}async decompress(t){if(!Et&&this.options.deflate?.useZlib){let r=this.options.deflate?.gzip?await Tr(Te.default.gunzip)(t):await Tr(Te.default.inflate)(t);return yr(r)}return this.decompressSync(t)}compressSync(t){if(!Et&&this.options.deflate?.useZlib){let o=this.options.deflate?.gzip?Te.default.gzipSync(t):Te.default.deflateSync(t);return yr(o)}let r=this.options?.deflate||{},n=new Uint8Array(t);return(this.options?.raw?Ar.default.deflateRaw:Ar.default.deflate)(n,r).buffer}decompressSync(t){if(!Et&&this.options.deflate?.useZlib){let o=this.options.deflate?.gzip?Te.default.gunzipSync(t):Te.default.inflateSync(t);return yr(o)}let r=this.options?.deflate||{},n=new Uint8Array(t);return(this.options?.raw?Ar.default.inflateRaw:Ar.default.inflate)(n,r).buffer}async*compressBatches(t){let r=this.options?.deflate||{},n=new Ar.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){let r=this.options?.deflate||{},n=new Ar.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let i of r){let a=new Uint8Array(i);if(!t.push(a,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),s=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${r[t]}`}};var O_={0:async e=>e,8:async e=>await new mr({raw:!0}).decompress(e)},Jo=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!Et)this.fileProvider=new yn(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof pr?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):Zo(t)&&(this.fileProvider=t)}async destroy(){this.fileProvider&&await this.fileProvider.destroy()}async readdir(){if(!this.fileProvider)throw new Error("No data detected in the zip archive");let t=[],r=rn(this.fileProvider);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.fileProvider)throw new Error("No data detected in the zip archive");let s=await this.getCDFileHeader(t),o=await sr(s.localHeaderOffset,this.fileProvider);if(!o)throw new Error("Local file header has not been found in the zip archive`");let i=O_[o.compressionMethod.toString()];if(!i)throw Error("Only Deflation compression is supported");let a=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize);r=await i(a)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.fileProvider)throw new Error("No data detected in the zip archive");let r=rn(this.fileProvider),n=null;for await(let s of r)if(s.fileName===t){n=s;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var pr=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new Jo(this.fileProvider).fetch(t)).arrayBuffer()}};function kc(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let s=t.getBigUint64(n+16,!0),o=v_(e,n,16);r[o]=s}return r}function v_(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function zc(e){let t=rn(e);return N_(t)}async function N_(e){let t=new or,r=new TextEncoder,n={};for await(let s of e){let o=s.fileName.split("\\").join("/").toLocaleLowerCase(),i=r.encode(o).buffer,a=await t.hash(i,"hex");n[a]=s.localHeaderOffset}return n}var G_={0:e=>new Yn().decompress(e),8:e=>new mr({raw:!0}).decompress(e)},mn=class extends pr{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,s=await new or().hash(n,"hex"),o=this.hashTable[s];if(o===void 0)return null;let i=await sr(o,this.fileProvider);if(!i)return null;let a=await this.fileProvider.slice(i.fileDataOffset,i.fileDataOffset+i.compressedSize),f=G_[i.compressionMethod];if(!f)throw Error("Only Deflation compression is supported");r=await f(a)}else r=await this.getFileWithoutHash(t);return r}};var kd=async(e,t)=>{let r=await jn(e,Xn),n=await Kn(r,e),s;if(n?.fileName!=="@3dtilesIndex1@")s=await zc(e),t?.("3tz doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await sr(n.localHeaderOffset,e);if(!o)throw new Error("corrupted 3tz zip archive");let i=o.fileDataOffset,a=await e.slice(i,i+o.compressedSize);s=kc(a)}return new mn(e,s)};var U_="4.2.0-alpha.5",zd={name:"3tz",id:"3tz",module:"3d-tiles",version:U_,mimeTypes:["application/octet-stream","application/vnd.maxar.archive.3tz+zip"],parse:P_,extensions:["3tz"],options:{}};async function P_(e,t={}){return(await kd(new Tn(new DataView(e)))).getFile(t["3d-tiles-archive"]?.path??"")}function He(e,t,r){if(!t)return r+12;let{magic:s,version:o=1,byteLength:i=12}=e;return z(Array.isArray(s)&&Number.isFinite(o)&&Number.isFinite(i)),t.setUint8(r+0,s[0]),t.setUint8(r+1,s[1]),t.setUint8(r+2,s[2]),t.setUint8(r+3,s[3]),t.setUint32(r+4,o,!0),t.setUint32(r+8,i,!0),r+=12,r}function ke(e,t,r){e&&e.setUint32(t+8,r,!0)}function Jd(e,t,r,n,s){e={magic:be.COMPOSITE,tiles:[],...e};let o=r;r+=He(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let i=0;i<e.tiles.length;++i)r+=s(e.tiles[i],t,r,n);return ke(t,o,r-o),r}function Qd(e,t,r,n){let{featuresLength:s=0,batchTable:o}=e,a=JSON.stringify({BATCH_LENGTH:s}),f=o?JSON.stringify(o):"",c=wt(a.length,8),h=f?wt(f.length,8):0;e={magic:be.BATCHED_MODEL,...e};let l=r;r=He(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,h,!0),t.setUint32(24,0,!0)),r+=16,r=Es(t,r,a,8),o&&(r=Es(t,r,f,8));let u=e.gltfEncoded;return u&&(r=xn(t,r,u,u.byteLength)),ke(t,l,r-l),r}function Vd(e,t,r,n){let{featuresLength:s=1,gltfFormat:o=1,gltfUri:i=""}=e,a=i.length,f={INSTANCES_LENGTH:s,POSITION:new Array(s*3).fill(0)},c=JSON.stringify(f),h=c.length;e={magic:be.INSTANCED_MODEL,...e};let l=r;return r=He(e,t,0),t&&(t.setUint32(12,h,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,o,!0)),r+=20,r+=_r(t,r,c,h),r+=_r(t,r,i,a),ke(t,l,r-l),r}var H_={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function jd(e,t,r,n){let{featureTableJson:s=H_}=e,o=JSON.stringify(s);o=Xo(o,4);let{featureTableJsonByteLength:i=o.length}=e,a=new ArrayBuffer(12),f=a.byteLength;e={magic:be.POINT_CLOUD,...e};let c=r;return r+=He(e,t,0),t&&(t.setUint32(r+0,i,!0),t.setUint32(r+4,f,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=_r(t,r,o,i),r+=xn(t,r,a,f),ke(t,c,r-c),r}function Qc(e,t){let r=Jc(e,null,0,t),n=new ArrayBuffer(r),s=new DataView(n);return Jc(e,s,0,t),n}function Jc(e,t,r,n){switch(z(typeof e.type=="string"),e.type){case yt.COMPOSITE:return Jd(e,t,r,n,Jc);case yt.POINT_CLOUD:return jd(e,t,r,n);case yt.BATCHED_3D_MODEL:return Qd(e,t,r,n);case yt.INSTANCED_3D_MODEL:return Vd(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var Xd={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Rr,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>Kd(e,t),encodeSync:Kd};function Kd(e,t){return Qc(e,t)}return e1(us);})();
|
|
8
|
+
/*! Bundled license information:
|
|
9
|
+
|
|
10
|
+
long/index.js:
|
|
11
|
+
(**
|
|
12
|
+
* @license
|
|
13
|
+
* Copyright 2009 The Closure Library Authors
|
|
14
|
+
* Copyright 2020 Daniel Wirtz / The long.js Authors.
|
|
15
|
+
*
|
|
16
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
17
|
+
* you may not use this file except in compliance with the License.
|
|
18
|
+
* You may obtain a copy of the License at
|
|
19
|
+
*
|
|
20
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
21
|
+
*
|
|
22
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
23
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
24
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
25
|
+
* See the License for the specific language governing permissions and
|
|
26
|
+
* limitations under the License.
|
|
27
|
+
*
|
|
28
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
29
|
+
*)
|
|
30
|
+
*/
|
|
31
|
+
return __exports__;
|
|
32
|
+
});
|