@loaders.gl/tile-converter 4.2.0-alpha.3 → 4.2.0-alpha.4
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/converter.min.cjs
CHANGED
|
@@ -162,13 +162,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
162
162
|
|| ${o} === "boolean" || ${i} === null`).assign(s,(0,Ht._)`[${i}]`)}}}function aFt({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,Ht._)`${t} !== undefined`,()=>e.assign((0,Ht._)`${t}[${r}]`,n))}function $q(e,t,r,n=$1.Correct){let i=n===$1.Correct?Ht.operators.EQ:Ht.operators.NEQ,a;switch(e){case"null":return(0,Ht._)`${t} ${i} null`;case"array":a=(0,Ht._)`Array.isArray(${t})`;break;case"object":a=(0,Ht._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":a=o((0,Ht._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":a=o();break;default:return(0,Ht._)`typeof ${t} ${i} ${e}`}return n===$1.Correct?a:(0,Ht.not)(a);function o(s=Ht.nil){return(0,Ht.and)((0,Ht._)`typeof ${t} == "number"`,s,r?(0,Ht._)`isFinite(${t})`:Ht.nil)}}Ji.checkDataType=$q;function Vq(e,t,r,n){if(e.length===1)return $q(e[0],t,r,n);let i,a=(0,TEe.toHash)(e);if(a.array&&a.object){let o=(0,Ht._)`typeof ${t} != "object"`;i=a.null?o:(0,Ht._)`!${t} || ${o}`,delete a.null,delete a.array,delete a.object}else i=Ht.nil;a.number&&delete a.integer;for(let o in a)i=(0,Ht.and)(i,$q(o,t,r,n));return i}Ji.checkDataTypes=Vq;var oFt={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,Ht._)`{type: ${e}}`:(0,Ht._)`{type: ${t}}`};function Kq(e){let t=sFt(e);(0,eFt.reportError)(t,oFt)}Ji.reportTypeError=Kq;function sFt(e){let{gen:t,data:r,schema:n}=e,i=(0,TEe.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}});var kEe=b(TC=>{"use strict";Object.defineProperty(TC,"__esModule",{value:!0});TC.assignDefaults=void 0;var hv=Zt(),uFt=_r();function cFt(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let i in r)FEe(e,i,r[i].default);else t==="array"&&Array.isArray(n)&&n.forEach((i,a)=>FEe(e,a,i.default))}TC.assignDefaults=cFt;function FEe(e,t,r){let{gen:n,compositeRule:i,data:a,opts:o}=e;if(r===void 0)return;let s=(0,hv._)`${a}${(0,hv.getProperty)(t)}`;if(i){(0,uFt.checkStrictMode)(e,`default is ignored for: ${s}`);return}let u=(0,hv._)`${s} === undefined`;o.useDefaults==="empty"&&(u=(0,hv._)`${u} || ${s} === null || ${s} === ""`),n.if(u,(0,hv._)`${s} = ${(0,hv.stringify)(r)}`)}});var ts=b(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.validateUnion=Ur.validateArray=Ur.usePattern=Ur.callValidateCode=Ur.schemaProperties=Ur.allSchemaProperties=Ur.noPropertyInData=Ur.propertyInData=Ur.isOwnProperty=Ur.hasPropFunc=Ur.reportMissingProp=Ur.checkMissingProp=Ur.checkReportMissingProp=void 0;var ln=Zt(),Jq=_r(),sp=bl(),lFt=_r();function fFt(e,t){let{gen:r,data:n,it:i}=e;r.if(Yq(r,n,t,i.opts.ownProperties),()=>{e.setParams({missingProperty:(0,ln._)`${t}`},!0),e.error()})}Ur.checkReportMissingProp=fFt;function pFt({gen:e,data:t,it:{opts:r}},n,i){return(0,ln.or)(...n.map(a=>(0,ln.and)(Yq(e,t,a,r.ownProperties),(0,ln._)`${i} = ${a}`)))}Ur.checkMissingProp=pFt;function dFt(e,t){e.setParams({missingProperty:t},!0),e.error()}Ur.reportMissingProp=dFt;function BEe(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ln._)`Object.prototype.hasOwnProperty`})}Ur.hasPropFunc=BEe;function Xq(e,t,r){return(0,ln._)`${BEe(e)}.call(${t}, ${r})`}Ur.isOwnProperty=Xq;function hFt(e,t,r,n){let i=(0,ln._)`${t}${(0,ln.getProperty)(r)} !== undefined`;return n?(0,ln._)`${i} && ${Xq(e,t,r)}`:i}Ur.propertyInData=hFt;function Yq(e,t,r,n){let i=(0,ln._)`${t}${(0,ln.getProperty)(r)} === undefined`;return n?(0,ln.or)(i,(0,ln.not)(Xq(e,t,r))):i}Ur.noPropertyInData=Yq;function IEe(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}Ur.allSchemaProperties=IEe;function mFt(e,t){return IEe(t).filter(r=>!(0,Jq.alwaysValidSchema)(e,t[r]))}Ur.schemaProperties=mFt;function gFt({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:a},it:o},s,u,c){let l=c?(0,ln._)`${e}, ${t}, ${n}${i}`:t,f=[[sp.default.instancePath,(0,ln.strConcat)(sp.default.instancePath,a)],[sp.default.parentData,o.parentData],[sp.default.parentDataProperty,o.parentDataProperty],[sp.default.rootData,sp.default.rootData]];o.opts.dynamicRef&&f.push([sp.default.dynamicAnchors,sp.default.dynamicAnchors]);let p=(0,ln._)`${l}, ${r.object(...f)}`;return u!==ln.nil?(0,ln._)`${s}.call(${u}, ${p})`:(0,ln._)`${s}(${p})`}Ur.callValidateCode=gFt;var vFt=(0,ln._)`new RegExp`;function bFt({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:i}=t.code,a=i(r,n);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:(0,ln._)`${i.code==="new RegExp"?vFt:(0,lFt.useFunc)(e,i)}(${r}, ${n})`})}Ur.usePattern=bFt;function xFt(e){let{gen:t,data:r,keyword:n,it:i}=e,a=t.name("valid");if(i.allErrors){let s=t.let("valid",!0);return o(()=>t.assign(s,!1)),s}return t.var(a,!0),o(()=>t.break()),a;function o(s){let u=t.const("len",(0,ln._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:Jq.Type.Num},a),t.if((0,ln.not)(a),s)})}}Ur.validateArray=xFt;function yFt(e){let{gen:t,schema:r,keyword:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0,Jq.alwaysValidSchema)(i,u))&&!i.opts.unevaluated)return;let o=t.let("valid",!1),s=t.name("_valid");t.block(()=>r.forEach((u,c)=>{let l=e.subschema({keyword:n,schemaProp:c,compositeRule:!0},s);t.assign(o,(0,ln._)`${o} || ${s}`),e.mergeValidEvaluated(l,s)||t.if((0,ln.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}Ur.validateUnion=yFt});var jEe=b(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.validateKeywordUsage=oc.validSchemaType=oc.funcKeywordCode=oc.macroKeywordCode=void 0;var ka=Zt(),ah=bl(),_Ft=ts(),wFt=W1();function EFt(e,t){let{gen:r,keyword:n,schema:i,parentSchema:a,it:o}=e,s=t.macro.call(o.self,i,a,o),u=OEe(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let c=r.name("valid");e.subschema({schema:s,schemaPath:ka.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:!0},c),e.pass(c,()=>e.error(!0))}oc.macroKeywordCode=EFt;function AFt(e,t){var r;let{gen:n,keyword:i,schema:a,parentSchema:o,$data:s,it:u}=e;TFt(u,t);let c=!s&&t.compile?t.compile.call(u.self,a,o,u):t.validate,l=OEe(n,i,c),f=n.let("valid");e.block$data(f,p),e.ok((r=t.valid)!==null&&r!==void 0?r:f);function p(){if(t.errors===!1)g(),t.modifying&&PEe(e),v(()=>e.error());else{let y=t.async?d():m();t.modifying&&PEe(e),v(()=>SFt(e,y))}}function d(){let y=n.let("ruleErrs",null);return n.try(()=>g((0,ka._)`await `),w=>n.assign(f,!1).if((0,ka._)`${w} instanceof ${u.ValidationError}`,()=>n.assign(y,(0,ka._)`${w}.errors`),()=>n.throw(w))),y}function m(){let y=(0,ka._)`${l}.errors`;return n.assign(y,null),g(ka.nil),y}function g(y=t.async?(0,ka._)`await `:ka.nil){let w=u.opts.passContext?ah.default.this:ah.default.self,A=!("compile"in t&&!s||t.schema===!1);n.assign(f,(0,ka._)`${y}${(0,_Ft.callValidateCode)(e,l,w,A)}`,t.modifying)}function v(y){var w;n.if((0,ka.not)((w=t.valid)!==null&&w!==void 0?w:f),y)}}oc.funcKeywordCode=AFt;function PEe(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,ka._)`${n.parentData}[${n.parentDataProperty}]`))}function SFt(e,t){let{gen:r}=e;r.if((0,ka._)`Array.isArray(${t})`,()=>{r.assign(ah.default.vErrors,(0,ka._)`${ah.default.vErrors} === null ? ${t} : ${ah.default.vErrors}.concat(${t})`).assign(ah.default.errors,(0,ka._)`${ah.default.vErrors}.length`),(0,wFt.extendErrors)(e)},()=>e.error())}function TFt({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function OEe(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ka.stringify)(r)})}function CFt(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}oc.validSchemaType=CFt;function DFt({schema:e,opts:t,self:r,errSchemaPath:n},i,a){if(Array.isArray(i.keyword)?!i.keyword.includes(a):i.keyword!==a)throw new Error("ajv implementation error");let o=i.dependencies;if(o!=null&&o.some(s=>!Object.prototype.hasOwnProperty.call(e,s)))throw new Error(`parent schema must have dependencies of ${a}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(e[a])){let u=`keyword "${a}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}oc.validateKeywordUsage=DFt});var MEe=b(up=>{"use strict";Object.defineProperty(up,"__esModule",{value:!0});up.extendSubschemaMode=up.extendSubschemaData=up.getSubschema=void 0;var sc=Zt(),REe=_r();function FFt(e,{keyword:t,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:a,topSchemaRef:o}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let s=e.schema[t];return r===void 0?{schema:s,schemaPath:(0,sc._)`${e.schemaPath}${(0,sc.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,sc._)`${e.schemaPath}${(0,sc.getProperty)(t)}${(0,sc.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,REe.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||a===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:o,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')}up.getSubschema=FFt;function kFt(e,t,{dataProp:r,dataPropType:n,data:i,dataTypes:a,propertyName:o}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=t;if(r!==void 0){let{errorPath:c,dataPathArr:l,opts:f}=t,p=s.let("data",(0,sc._)`${t.data}${(0,sc.getProperty)(r)}`,!0);u(p),e.errorPath=(0,sc.str)`${c}${(0,REe.getErrorPath)(r,n,f.jsPropertySyntax)}`,e.parentDataProperty=(0,sc._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(i!==void 0){let c=i instanceof sc.Name?i:s.let("data",i,!0);u(c),o!==void 0&&(e.propertyName=o)}a&&(e.dataTypes=a);function u(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c]}}up.extendSubschemaData=kFt;function BFt(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:a}){n!==void 0&&(e.compositeRule=n),i!==void 0&&(e.createErrors=i),a!==void 0&&(e.allErrors=a),e.jtdDiscriminator=t,e.jtdMetadata=r}up.extendSubschemaMode=BFt});var qEe=b((Fhr,LEe)=>{"use strict";var cp=LEe.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};CC(t,n,i,e,"",e)};cp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};cp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};cp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};cp.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function CC(e,t,r,n,i,a,o,s,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,i,a,o,s,u,c);for(var l in n){var f=n[l];if(Array.isArray(f)){if(l in cp.arrayKeywords)for(var p=0;p<f.length;p++)CC(e,t,r,f[p],i+"/"+l+"/"+p,a,i,l,n,p)}else if(l in cp.propsKeywords){if(f&&typeof f=="object")for(var d in f)CC(e,t,r,f[d],i+"/"+l+"/"+IFt(d),a,i,l,n,d)}else(l in cp.keywords||e.allKeys&&!(l in cp.skipKeywords))&&CC(e,t,r,f,i+"/"+l,a,i,l,n)}r(n,i,a,o,s,u,c)}}function IFt(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var K1=b(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.getSchemaRefs=Ja.resolveUrl=Ja.normalizeId=Ja._getFullPath=Ja.getFullPath=Ja.inlineRef=void 0;var PFt=_r(),OFt=a0(),jFt=qEe(),RFt=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function MFt(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Qq(e):t?NEe(e)<=t:!1}Ja.inlineRef=MFt;var LFt=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Qq(e){for(let t in e){if(LFt.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Qq)||typeof r=="object"&&Qq(r))return!0}return!1}function NEe(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!RFt.has(r)&&(typeof e[r]=="object"&&(0,PFt.eachItem)(e[r],n=>t+=NEe(n)),t===1/0))return 1/0}return t}function UEe(e,t="",r){r!==!1&&(t=mv(t));let n=e.parse(t);return GEe(e,n)}Ja.getFullPath=UEe;function GEe(e,t){return e.serialize(t).split("#")[0]+"#"}Ja._getFullPath=GEe;var qFt=/#\/?$/;function mv(e){return e?e.replace(qFt,""):""}Ja.normalizeId=mv;function NFt(e,t,r){return r=mv(r),e.resolve(t,r)}Ja.resolveUrl=NFt;var UFt=/^[a-z_][-a-z0-9._]*$/i;function GFt(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=mv(e[r]||t),a={"":i},o=UEe(n,i,!1),s={},u=new Set;return jFt(e,{allKeys:!0},(f,p,d,m)=>{if(m===void 0)return;let g=o+p,v=a[m];typeof f[r]=="string"&&(v=y.call(this,f[r])),w.call(this,f.$anchor),w.call(this,f.$dynamicAnchor),a[p]=v;function y(A){let C=this.opts.uriResolver.resolve;if(A=mv(v?C(v,A):A),u.has(A))throw l(A);u.add(A);let T=this.refs[A];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?c(f,T.schema,A):A!==mv(g)&&(A[0]==="#"?(c(f,s[A],A),s[A]=f):this.refs[A]=g),A}function w(A){if(typeof A=="string"){if(!UFt.test(A))throw new Error(`invalid anchor "${A}"`);y.call(this,`#${A}`)}}}),s;function c(f,p,d){if(p!==void 0&&!OFt(f,p))throw l(d)}function l(f){return new Error(`reference "${f}" resolves to more than one schema`)}}Ja.getSchemaRefs=GFt});var Y1=b(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});lp.getData=lp.KeywordCxt=lp.validateFunctionCode=void 0;var VEe=EEe(),zEe=V1(),eN=Wq(),DC=V1(),zFt=kEe(),X1=jEe(),Zq=MEe(),vt=Zt(),Rt=bl(),HFt=K1(),xl=_r(),J1=W1();function WFt(e){if(XEe(e)&&(YEe(e),JEe(e))){KFt(e);return}KEe(e,()=>(0,VEe.topBoolOrEmptySchema)(e))}lp.validateFunctionCode=WFt;function KEe({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},a){i.code.es5?e.func(t,(0,vt._)`${Rt.default.data}, ${Rt.default.valCxt}`,n.$async,()=>{e.code((0,vt._)`"use strict"; ${HEe(r,i)}`),VFt(e,i),e.code(a)}):e.func(t,(0,vt._)`${Rt.default.data}, ${$Ft(i)}`,n.$async,()=>e.code(HEe(r,i)).code(a))}function $Ft(e){return(0,vt._)`{${Rt.default.instancePath}="", ${Rt.default.parentData}, ${Rt.default.parentDataProperty}, ${Rt.default.rootData}=${Rt.default.data}${e.dynamicRef?(0,vt._)`, ${Rt.default.dynamicAnchors}={}`:vt.nil}}={}`}function VFt(e,t){e.if(Rt.default.valCxt,()=>{e.var(Rt.default.instancePath,(0,vt._)`${Rt.default.valCxt}.${Rt.default.instancePath}`),e.var(Rt.default.parentData,(0,vt._)`${Rt.default.valCxt}.${Rt.default.parentData}`),e.var(Rt.default.parentDataProperty,(0,vt._)`${Rt.default.valCxt}.${Rt.default.parentDataProperty}`),e.var(Rt.default.rootData,(0,vt._)`${Rt.default.valCxt}.${Rt.default.rootData}`),t.dynamicRef&&e.var(Rt.default.dynamicAnchors,(0,vt._)`${Rt.default.valCxt}.${Rt.default.dynamicAnchors}`)},()=>{e.var(Rt.default.instancePath,(0,vt._)`""`),e.var(Rt.default.parentData,(0,vt._)`undefined`),e.var(Rt.default.parentDataProperty,(0,vt._)`undefined`),e.var(Rt.default.rootData,Rt.default.data),t.dynamicRef&&e.var(Rt.default.dynamicAnchors,(0,vt._)`{}`)})}function KFt(e){let{schema:t,opts:r,gen:n}=e;KEe(e,()=>{r.$comment&&t.$comment&&ZEe(e),ZFt(e),n.let(Rt.default.vErrors,null),n.let(Rt.default.errors,0),r.unevaluated&&JFt(e),QEe(e),rkt(e)})}function JFt(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,vt._)`${r}.evaluated`),t.if((0,vt._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,vt._)`${e.evaluated}.props`,(0,vt._)`undefined`)),t.if((0,vt._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,vt._)`${e.evaluated}.items`,(0,vt._)`undefined`))}function HEe(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,vt._)`/*# sourceURL=${r} */`:vt.nil}function XFt(e,t){if(XEe(e)&&(YEe(e),JEe(e))){YFt(e,t);return}(0,VEe.boolOrEmptySchema)(e,t)}function JEe({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function XEe(e){return typeof e.schema!="boolean"}function YFt(e,t){let{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&ZEe(e),ekt(e),tkt(e);let a=n.const("_errs",Rt.default.errors);QEe(e,a),n.var(t,(0,vt._)`${a} === ${Rt.default.errors}`)}function YEe(e){(0,xl.checkUnknownRules)(e),QFt(e)}function QEe(e,t){if(e.opts.jtd)return WEe(e,[],!1,t);let r=(0,zEe.getSchemaTypes)(e.schema),n=(0,zEe.coerceAndCheckDataType)(e,r);WEe(e,r,!n,t)}function QFt(e){let{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,xl.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function ZFt(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,xl.checkStrictMode)(e,"default is ignored in the schema root")}function ekt(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,HFt.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function tkt(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function ZEe({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){let a=r.$comment;if(i.$comment===!0)e.code((0,vt._)`${Rt.default.self}.logger.log(${a})`);else if(typeof i.$comment=="function"){let o=(0,vt.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,vt._)`${Rt.default.self}.opts.$comment(${a}, ${o}, ${s}.schema)`)}}function rkt(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:a}=e;r.$async?t.if((0,vt._)`${Rt.default.errors} === 0`,()=>t.return(Rt.default.data),()=>t.throw((0,vt._)`new ${i}(${Rt.default.vErrors})`)):(t.assign((0,vt._)`${n}.errors`,Rt.default.vErrors),a.unevaluated&&nkt(e),t.return((0,vt._)`${Rt.default.errors} === 0`))}function nkt({gen:e,evaluated:t,props:r,items:n}){r instanceof vt.Name&&e.assign((0,vt._)`${t}.props`,r),n instanceof vt.Name&&e.assign((0,vt._)`${t}.items`,n)}function WEe(e,t,r,n){let{gen:i,schema:a,data:o,allErrors:s,opts:u,self:c}=e,{RULES:l}=c;if(a.$ref&&(u.ignoreKeywordsWithRef||!(0,xl.schemaHasRulesButRef)(a,l))){i.block(()=>tAe(e,"$ref",l.all.$ref.definition));return}u.jtd||ikt(e,t),i.block(()=>{for(let p of l.rules)f(p);f(l.post)});function f(p){(0,eN.shouldUseGroup)(a,p)&&(p.type?(i.if((0,DC.checkDataType)(p.type,o,u.strictNumbers)),$Ee(e,p),t.length===1&&t[0]===p.type&&r&&(i.else(),(0,DC.reportTypeError)(e)),i.endIf()):$Ee(e,p),s||i.if((0,vt._)`${Rt.default.errors} === ${n||0}`))}}function $Ee(e,t){let{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,zFt.assignDefaults)(e,t.type),r.block(()=>{for(let a of t.rules)(0,eN.shouldUseRule)(n,a)&&tAe(e,a.keyword,a.definition,t.type)})}function ikt(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(akt(e,t),e.opts.allowUnionTypes||okt(e,t),skt(e,e.dataTypes))}function akt(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{eAe(e.dataTypes,r)||tN(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),ckt(e,t)}}function okt(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&tN(e,"use allowUnionTypes to allow union type keyword")}function skt(e,t){let r=e.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,eN.shouldUseRule)(e.schema,i)){let{type:a}=i.definition;a.length&&!a.some(o=>ukt(t,o))&&tN(e,`missing type "${a.join(",")}" for keyword "${n}"`)}}}function ukt(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function eAe(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function ckt(e,t){let r=[];for(let n of e.dataTypes)eAe(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function tN(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,xl.checkStrictMode)(e,t,e.opts.strictTypes)}var FC=class{constructor(t,r,n){if((0,X1.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,xl.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",rAe(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,X1.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Rt.default.errors))}result(t,r,n){this.failResult((0,vt.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,vt.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,vt._)`${r} !== undefined && (${(0,vt.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?J1.reportExtraError:J1.reportError)(this,this.def.error,r)}$dataError(){(0,J1.reportError)(this,this.def.$dataError||J1.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,J1.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=vt.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=vt.nil,r=vt.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:a,def:o}=this;n.if((0,vt.or)((0,vt._)`${i} === undefined`,r)),t!==vt.nil&&n.assign(t,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==vt.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:i,it:a}=this;return(0,vt.or)(o(),s());function o(){if(n.length){if(!(r instanceof vt.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return(0,vt._)`${(0,DC.checkDataTypes)(u,r,a.opts.strictNumbers,DC.DataType.Wrong)}`}return vt.nil}function s(){if(i.validateSchema){let u=t.scopeValue("validate$data",{ref:i.validateSchema});return(0,vt._)`!${u}(${r})`}return vt.nil}}subschema(t,r){let n=(0,Zq.getSubschema)(this.it,t);(0,Zq.extendSubschemaData)(n,this.it,t),(0,Zq.extendSubschemaMode)(n,t);let i={...this.it,...n,items:void 0,props:void 0};return XFt(i,r),i}mergeEvaluated(t,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=xl.mergeEvaluated.props(i,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=xl.mergeEvaluated.items(i,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(t,vt.Name)),!0}};lp.KeywordCxt=FC;function tAe(e,t,r,n){let i=new FC(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,X1.funcKeywordCode)(i,r):"macro"in r?(0,X1.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,X1.funcKeywordCode)(i,r)}var lkt=/^\/(?:[^~]|~0|~1)*$/,fkt=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function rAe(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,a;if(e==="")return Rt.default.rootData;if(e[0]==="/"){if(!lkt.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,a=Rt.default.rootData}else{let c=fkt.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);let l=+c[1];if(i=c[2],i==="#"){if(l>=t)throw new Error(u("property/index",l));return n[t-l]}if(l>t)throw new Error(u("data",l));if(a=r[t-l],!i)return a}let o=a,s=i.split("/");for(let c of s)c&&(a=(0,vt._)`${a}${(0,vt.getProperty)((0,xl.unescapeJsonPointer)(c))}`,o=(0,vt._)`${o} && ${a}`);return o;function u(c,l){return`Cannot access ${c} ${l} levels up, current level is ${t}`}}lp.getData=rAe});var kC=b(nN=>{"use strict";Object.defineProperty(nN,"__esModule",{value:!0});var rN=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};nN.default=rN});var BC=b(oN=>{"use strict";Object.defineProperty(oN,"__esModule",{value:!0});var iN=K1(),aN=class extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,iN.resolveUrl)(t,r,n),this.missingSchema=(0,iN.normalizeId)((0,iN.getFullPath)(t,this.missingRef))}};oN.default=aN});var PC=b(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.resolveSchema=rs.getCompilingSchema=rs.resolveRef=rs.compileSchema=rs.SchemaEnv=void 0;var Xs=Zt(),pkt=kC(),oh=bl(),Ys=K1(),nAe=_r(),dkt=Y1(),gv=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,Ys.normalizeId)(n==null?void 0:n[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n==null?void 0:n.$async,this.refs={}}};rs.SchemaEnv=gv;function uN(e){let t=iAe.call(this,e);if(t)return t;let r=(0,Ys.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new Xs.CodeGen(this.scope,{es5:n,lines:i,ownProperties:a}),s;e.$async&&(s=o.scopeValue("Error",{ref:pkt.default,code:(0,Xs._)`require("ajv/dist/runtime/validation_error").default`}));let u=o.scopeName("validate");e.validateName=u;let c={gen:o,allErrors:this.opts.allErrors,data:oh.default.data,parentData:oh.default.parentData,parentDataProperty:oh.default.parentDataProperty,dataNames:[oh.default.data],dataPathArr:[Xs.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Xs.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Xs.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Xs._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,dkt.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);let f=o.toString();l=`${o.scopeRefs(oh.default.scope)}return ${f}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let d=new Function(`${oh.default.self}`,`${oh.default.scope}`,l)(this,this.scope.get());if(this.scope.value(u,{ref:d}),d.errors=null,d.schema=e.schema,d.schemaEnv=e,e.$async&&(d.$async=!0),this.opts.code.source===!0&&(d.source={validateName:u,validateCode:f,scopeValues:o._values}),this.opts.unevaluated){let{props:m,items:g}=c;d.evaluated={props:m instanceof Xs.Name?void 0:m,items:g instanceof Xs.Name?void 0:g,dynamicProps:m instanceof Xs.Name,dynamicItems:g instanceof Xs.Name},d.source&&(d.source.evaluated=(0,Xs.stringify)(d.evaluated))}return e.validate=d,e}catch(f){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),f}finally{this._compilations.delete(e)}}rs.compileSchema=uN;function hkt(e,t,r){var n;r=(0,Ys.resolveUrl)(this.opts.uriResolver,t,r);let i=e.refs[r];if(i)return i;let a=vkt.call(this,e,r);if(a===void 0){let o=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;o&&(a=new gv({schema:o,schemaId:s,root:e,baseId:t}))}if(a!==void 0)return e.refs[r]=mkt.call(this,a)}rs.resolveRef=hkt;function mkt(e){return(0,Ys.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:uN.call(this,e)}function iAe(e){for(let t of this._compilations)if(gkt(t,e))return t}rs.getCompilingSchema=iAe;function gkt(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function vkt(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||IC.call(this,e,t)}function IC(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Ys._getFullPath)(this.opts.uriResolver,r),i=(0,Ys.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return sN.call(this,r,e);let a=(0,Ys.normalizeId)(n),o=this.refs[a]||this.schemas[a];if(typeof o=="string"){let s=IC.call(this,e,o);return typeof(s==null?void 0:s.schema)!="object"?void 0:sN.call(this,r,s)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||uN.call(this,o),a===(0,Ys.normalizeId)(t)){let{schema:s}=o,{schemaId:u}=this.opts,c=s[u];return c&&(i=(0,Ys.resolveUrl)(this.opts.uriResolver,i,c)),new gv({schema:s,schemaId:u,root:e,baseId:i})}return sN.call(this,r,o)}}rs.resolveSchema=IC;var bkt=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function sN(e,{baseId:t,schema:r,root:n}){var i;if(((i=e.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0,nAe.unescapeFragment)(s)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!bkt.has(s)&&c&&(t=(0,Ys.resolveUrl)(this.opts.uriResolver,t,c))}let a;if(typeof r!="boolean"&&r.$ref&&!(0,nAe.schemaHasRulesButRef)(r,this.RULES)){let s=(0,Ys.resolveUrl)(this.opts.uriResolver,t,r.$ref);a=IC.call(this,n,s)}let{schemaId:o}=this.opts;if(a=a||new gv({schema:r,schemaId:o,root:n,baseId:t}),a.schema!==a.root.schema)return a}});var aAe=b((jhr,xkt)=>{xkt.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var sAe=b(cN=>{"use strict";Object.defineProperty(cN,"__esModule",{value:!0});var oAe=Xk();oAe.code='require("ajv/dist/runtime/uri").default';cN.default=oAe});var mAe=b(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.CodeGen=Xi.Name=Xi.nil=Xi.stringify=Xi.str=Xi._=Xi.KeywordCxt=void 0;var ykt=Y1();Object.defineProperty(Xi,"KeywordCxt",{enumerable:!0,get:function(){return ykt.KeywordCxt}});var vv=Zt();Object.defineProperty(Xi,"_",{enumerable:!0,get:function(){return vv._}});Object.defineProperty(Xi,"str",{enumerable:!0,get:function(){return vv.str}});Object.defineProperty(Xi,"stringify",{enumerable:!0,get:function(){return vv.stringify}});Object.defineProperty(Xi,"nil",{enumerable:!0,get:function(){return vv.nil}});Object.defineProperty(Xi,"Name",{enumerable:!0,get:function(){return vv.Name}});Object.defineProperty(Xi,"CodeGen",{enumerable:!0,get:function(){return vv.CodeGen}});var _kt=kC(),pAe=BC(),wkt=Hq(),Q1=PC(),Ekt=Zt(),Z1=K1(),OC=V1(),fN=_r(),uAe=aAe(),Akt=sAe(),dAe=(e,t)=>new RegExp(e,t);dAe.code="new RegExp";var Skt=["removeAdditional","useDefaults","coerceTypes"],Tkt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Ckt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Dkt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},cAe=200;function Fkt(e){var t,r,n,i,a,o,s,u,c,l,f,p,d,m,g,v,y,w,A,C,T,B,j,U,I;let R=e.strict,M=(t=e.code)===null||t===void 0?void 0:t.optimize,z=M===!0||M===void 0?1:M||0,W=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:dAe,X=(i=e.uriResolver)!==null&&i!==void 0?i:Akt.default;return{strictSchema:(o=(a=e.strictSchema)!==null&&a!==void 0?a:R)!==null&&o!==void 0?o:!0,strictNumbers:(u=(s=e.strictNumbers)!==null&&s!==void 0?s:R)!==null&&u!==void 0?u:!0,strictTypes:(l=(c=e.strictTypes)!==null&&c!==void 0?c:R)!==null&&l!==void 0?l:"log",strictTuples:(p=(f=e.strictTuples)!==null&&f!==void 0?f:R)!==null&&p!==void 0?p:"log",strictRequired:(m=(d=e.strictRequired)!==null&&d!==void 0?d:R)!==null&&m!==void 0?m:!1,code:e.code?{...e.code,optimize:z,regExp:W}:{optimize:z,regExp:W},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:cAe,loopEnum:(v=e.loopEnum)!==null&&v!==void 0?v:cAe,meta:(y=e.meta)!==null&&y!==void 0?y:!0,messages:(w=e.messages)!==null&&w!==void 0?w:!0,inlineRefs:(A=e.inlineRefs)!==null&&A!==void 0?A:!0,schemaId:(C=e.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(T=e.addUsedSchema)!==null&&T!==void 0?T:!0,validateSchema:(B=e.validateSchema)!==null&&B!==void 0?B:!0,validateFormats:(j=e.validateFormats)!==null&&j!==void 0?j:!0,unicodeRegExp:(U=e.unicodeRegExp)!==null&&U!==void 0?U:!0,int32range:(I=e.int32range)!==null&&I!==void 0?I:!0,uriResolver:X}}var e2=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Fkt(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new Ekt.ValueScope({scope:{},prefixes:Tkt,es5:r,lines:n}),this.logger=jkt(t.logger);let i=t.validateFormats;t.validateFormats=!1,this.RULES=(0,wkt.getRules)(),lAe.call(this,Ckt,t,"NOT SUPPORTED"),lAe.call(this,Dkt,t,"DEPRECATED","warn"),this._metaOpts=Pkt.call(this),t.formats&&Bkt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Ikt.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),kkt.call(this),t.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,i=uAe;n==="id"&&(i={...uAe},i.id=i.$id,delete i.$id),r&&t&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,t,r);async function i(l,f){await a.call(this,l.$schema);let p=this._addSchema(l,f);return p.validate||o.call(this,p)}async function a(l){l&&!this.getSchema(l)&&await i.call(this,{$ref:l},!0)}async function o(l){try{return this._compileSchemaEnv(l)}catch(f){if(!(f instanceof pAe.default))throw f;return s.call(this,f),await u.call(this,f.missingSchema),o.call(this,l)}}function s({missingSchema:l,missingRef:f}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${f} cannot be resolved`)}async function u(l){let f=await c.call(this,l);this.refs[l]||await a.call(this,f.$schema),this.refs[l]||this.addSchema(f,l,r)}async function c(l){let f=this._loading[l];if(f)return f;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(t,r,n,i=this.opts.validateSchema){if(Array.isArray(t)){for(let o of t)this.addSchema(o,void 0,n,i);return this}let a;if(typeof t=="object"){let{schemaId:o}=this.opts;if(a=t[o],a!==void 0&&typeof a!="string")throw new Error(`schema ${o} must be string`)}return r=(0,Z1.normalizeId)(r||a),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,i,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,t);if(!i&&r){let a="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(a);else throw new Error(a)}return i}getSchema(t){let r;for(;typeof(r=fAe.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,i=new Q1.SchemaEnv({schema:{},schemaId:n});if(r=Q1.resolveSchema.call(this,i,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=fAe.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,Z1.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Mkt.call(this,n,r),!r)return(0,fN.eachItem)(n,a=>lN.call(this,a)),this;qkt.call(this,r);let i={...r,type:(0,OC.getJSONTypes)(r.type),schemaType:(0,OC.getJSONTypes)(r.schemaType)};return(0,fN.eachItem)(n,i.type.length===0?a=>lN.call(this,a,i):a=>i.type.forEach(o=>lN.call(this,a,i,o))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let i=n.rules.findIndex(a=>a.keyword===t);i>=0&&n.rules.splice(i,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,a)=>i+r+a)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let i of r){let a=i.split("/").slice(1),o=t;for(let s of a)o=o[s];for(let s in n){let u=n[s];if(typeof u!="object")continue;let{$data:c}=u.definition,l=o[s];c&&l&&(o[s]=hAe(l))}}return t}_removeAllSchemas(t,r){for(let n in t){let i=t[n];(!r||r.test(n))&&(typeof i=="string"?delete t[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete t[n]))}}_addSchema(t,r,n,i=this.opts.validateSchema,a=this.opts.addUsedSchema){let o,{schemaId:s}=this.opts;if(typeof t=="object")o=t[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(t);if(u!==void 0)return u;n=(0,Z1.normalizeId)(o||n);let c=Z1.getSchemaRefs.call(this,t,n);return u=new Q1.SchemaEnv({schema:t,schemaId:s,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),a&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),i&&this.validateSchema(t,!0),u}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):Q1.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{Q1.compileSchema.call(this,t)}finally{this.opts=r}}};Xi.default=e2;e2.ValidationError=_kt.default;e2.MissingRefError=pAe.default;function lAe(e,t,r,n="error"){for(let i in e){let a=i;a in t&&this.logger[n](`${r}: option ${i}. ${e[a]}`)}}function fAe(e){return e=(0,Z1.normalizeId)(e),this.schemas[e]||this.refs[e]}function kkt(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function Bkt(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function Ikt(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function Pkt(){let e={...this.opts};for(let t of Skt)delete e[t];return e}var Okt={log(){},warn(){},error(){}};function jkt(e){if(e===!1)return Okt;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var Rkt=/^[a-z_$][a-z0-9_$:-]*$/i;function Mkt(e,t){let{RULES:r}=this;if((0,fN.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Rkt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function lN(e,t,r){var n;let i=t==null?void 0:t.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:a}=this,o=i?a.post:a.rules.find(({type:u})=>u===r);if(o||(o={type:r,rules:[]},a.rules.push(o)),a.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,OC.getJSONTypes)(t.type),schemaType:(0,OC.getJSONTypes)(t.schemaType)}};t.before?Lkt.call(this,o,s,t.before):o.rules.push(s),a.all[e]=s,(n=t.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u))}function Lkt(e,t,r){let n=e.rules.findIndex(i=>i.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function qkt(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=hAe(t)),e.validateSchema=this.compile(t,!0))}var Nkt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function hAe(e){return{anyOf:[e,Nkt]}}});var gAe=b(pN=>{"use strict";Object.defineProperty(pN,"__esModule",{value:!0});var Ukt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};pN.default=Ukt});var yAe=b(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.callRef=sh.getValidate=void 0;var Gkt=BC(),vAe=ts(),Xa=Zt(),bv=bl(),bAe=PC(),jC=_r(),zkt={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:i,schemaEnv:a,validateName:o,opts:s,self:u}=n,{root:c}=a;if((r==="#"||r==="#/")&&i===c.baseId)return f();let l=bAe.resolveRef.call(u,c,i,r);if(l===void 0)throw new Gkt.default(n.opts.uriResolver,i,r);if(l instanceof bAe.SchemaEnv)return p(l);return d(l);function f(){if(a===c)return RC(e,o,a,a.$async);let m=t.scopeValue("root",{ref:c});return RC(e,(0,Xa._)`${m}.validate`,c,c.$async)}function p(m){let g=xAe(e,m);RC(e,g,m,m.$async)}function d(m){let g=t.scopeValue("schema",s.code.source===!0?{ref:m,code:(0,Xa.stringify)(m)}:{ref:m}),v=t.name("valid"),y=e.subschema({schema:m,dataTypes:[],schemaPath:Xa.nil,topSchemaRef:g,errSchemaPath:r},v);e.mergeEvaluated(y),e.ok(v)}}};function xAe(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Xa._)`${r.scopeValue("wrapper",{ref:t})}.validate`}sh.getValidate=xAe;function RC(e,t,r,n){let{gen:i,it:a}=e,{allErrors:o,schemaEnv:s,opts:u}=a,c=u.passContext?bv.default.this:Xa.nil;n?l():f();function l(){if(!s.$async)throw new Error("async schema referenced by sync schema");let m=i.let("valid");i.try(()=>{i.code((0,Xa._)`await ${(0,vAe.callValidateCode)(e,t,c)}`),d(t),o||i.assign(m,!0)},g=>{i.if((0,Xa._)`!(${g} instanceof ${a.ValidationError})`,()=>i.throw(g)),p(g),o||i.assign(m,!1)}),e.ok(m)}function f(){e.result((0,vAe.callValidateCode)(e,t,c),()=>d(t),()=>p(t))}function p(m){let g=(0,Xa._)`${m}.errors`;i.assign(bv.default.vErrors,(0,Xa._)`${bv.default.vErrors} === null ? ${g} : ${bv.default.vErrors}.concat(${g})`),i.assign(bv.default.errors,(0,Xa._)`${bv.default.vErrors}.length`)}function d(m){var g;if(!a.opts.unevaluated)return;let v=(g=r==null?void 0:r.validate)===null||g===void 0?void 0:g.evaluated;if(a.props!==!0)if(v&&!v.dynamicProps)v.props!==void 0&&(a.props=jC.mergeEvaluated.props(i,v.props,a.props));else{let y=i.var("props",(0,Xa._)`${m}.evaluated.props`);a.props=jC.mergeEvaluated.props(i,y,a.props,Xa.Name)}if(a.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(a.items=jC.mergeEvaluated.items(i,v.items,a.items));else{let y=i.var("items",(0,Xa._)`${m}.evaluated.items`);a.items=jC.mergeEvaluated.items(i,y,a.items,Xa.Name)}}}sh.callRef=RC;sh.default=zkt});var _Ae=b(dN=>{"use strict";Object.defineProperty(dN,"__esModule",{value:!0});var Hkt=gAe(),Wkt=yAe(),$kt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Hkt.default,Wkt.default];dN.default=$kt});var wAe=b(hN=>{"use strict";Object.defineProperty(hN,"__esModule",{value:!0});var MC=Zt(),fp=MC.operators,LC={maximum:{okStr:"<=",ok:fp.LTE,fail:fp.GT},minimum:{okStr:">=",ok:fp.GTE,fail:fp.LT},exclusiveMaximum:{okStr:"<",ok:fp.LT,fail:fp.GTE},exclusiveMinimum:{okStr:">",ok:fp.GT,fail:fp.LTE}},Vkt={message:({keyword:e,schemaCode:t})=>(0,MC.str)`must be ${LC[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,MC._)`{comparison: ${LC[e].okStr}, limit: ${t}}`},Kkt={keyword:Object.keys(LC),type:"number",schemaType:"number",$data:!0,error:Vkt,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,MC._)`${r} ${LC[t].fail} ${n} || isNaN(${r})`)}};hN.default=Kkt});var EAe=b(mN=>{"use strict";Object.defineProperty(mN,"__esModule",{value:!0});var t2=Zt(),Jkt={message:({schemaCode:e})=>(0,t2.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,t2._)`{multipleOf: ${e}}`},Xkt={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Jkt,code(e){let{gen:t,data:r,schemaCode:n,it:i}=e,a=i.opts.multipleOfPrecision,o=t.let("res"),s=a?(0,t2._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${a}`:(0,t2._)`${o} !== parseInt(${o})`;e.fail$data((0,t2._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};mN.default=Xkt});var SAe=b(gN=>{"use strict";Object.defineProperty(gN,"__esModule",{value:!0});function AAe(e){let t=e.length,r=0,n=0,i;for(;n<t;)r++,i=e.charCodeAt(n++),i>=55296&&i<=56319&&n<t&&(i=e.charCodeAt(n),(i&64512)===56320&&n++);return r}gN.default=AAe;AAe.code='require("ajv/dist/runtime/ucs2length").default'});var TAe=b(vN=>{"use strict";Object.defineProperty(vN,"__esModule",{value:!0});var uh=Zt(),Ykt=_r(),Qkt=SAe(),Zkt={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,uh.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,uh._)`{limit: ${e}}`},e5t={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Zkt,code(e){let{keyword:t,data:r,schemaCode:n,it:i}=e,a=t==="maxLength"?uh.operators.GT:uh.operators.LT,o=i.opts.unicode===!1?(0,uh._)`${r}.length`:(0,uh._)`${(0,Ykt.useFunc)(e.gen,Qkt.default)}(${r})`;e.fail$data((0,uh._)`${o} ${a} ${n}`)}};vN.default=e5t});var CAe=b(bN=>{"use strict";Object.defineProperty(bN,"__esModule",{value:!0});var t5t=ts(),qC=Zt(),r5t={message:({schemaCode:e})=>(0,qC.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,qC._)`{pattern: ${e}}`},n5t={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:r5t,code(e){let{data:t,$data:r,schema:n,schemaCode:i,it:a}=e,o=a.opts.unicodeRegExp?"u":"",s=r?(0,qC._)`(new RegExp(${i}, ${o}))`:(0,t5t.usePattern)(e,n);e.fail$data((0,qC._)`!${s}.test(${t})`)}};bN.default=n5t});var DAe=b(xN=>{"use strict";Object.defineProperty(xN,"__esModule",{value:!0});var r2=Zt(),i5t={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,r2.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,r2._)`{limit: ${e}}`},a5t={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:i5t,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxProperties"?r2.operators.GT:r2.operators.LT;e.fail$data((0,r2._)`Object.keys(${r}).length ${i} ${n}`)}};xN.default=a5t});var FAe=b(yN=>{"use strict";Object.defineProperty(yN,"__esModule",{value:!0});var n2=ts(),i2=Zt(),o5t=_r(),s5t={message:({params:{missingProperty:e}})=>(0,i2.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,i2._)`{missingProperty: ${e}}`},u5t={keyword:"required",type:"object",schemaType:"array",$data:!0,error:s5t,code(e){let{gen:t,schema:r,schemaCode:n,data:i,$data:a,it:o}=e,{opts:s}=o;if(!a&&r.length===0)return;let u=r.length>=s.loopRequired;if(o.allErrors?c():l(),s.strictRequired){let d=e.parentSchema.properties,{definedProperties:m}=e.it;for(let g of r)if((d==null?void 0:d[g])===void 0&&!m.has(g)){let v=o.schemaEnv.baseId+o.errSchemaPath,y=`required property "${g}" is not defined at "${v}" (strictRequired)`;(0,o5t.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(u||a)e.block$data(i2.nil,f);else for(let d of r)(0,n2.checkReportMissingProp)(e,d)}function l(){let d=t.let("missing");if(u||a){let m=t.let("valid",!0);e.block$data(m,()=>p(d,m)),e.ok(m)}else t.if((0,n2.checkMissingProp)(e,r,d)),(0,n2.reportMissingProp)(e,d),t.else()}function f(){t.forOf("prop",n,d=>{e.setParams({missingProperty:d}),t.if((0,n2.noPropertyInData)(t,i,d,s.ownProperties),()=>e.error())})}function p(d,m){e.setParams({missingProperty:d}),t.forOf(d,n,()=>{t.assign(m,(0,n2.propertyInData)(t,i,d,s.ownProperties)),t.if((0,i2.not)(m),()=>{e.error(),t.break()})},i2.nil)}}};yN.default=u5t});var kAe=b(_N=>{"use strict";Object.defineProperty(_N,"__esModule",{value:!0});var a2=Zt(),c5t={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,a2.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,a2._)`{limit: ${e}}`},l5t={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:c5t,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxItems"?a2.operators.GT:a2.operators.LT;e.fail$data((0,a2._)`${r}.length ${i} ${n}`)}};_N.default=l5t});var NC=b(wN=>{"use strict";Object.defineProperty(wN,"__esModule",{value:!0});var BAe=a0();BAe.code='require("ajv/dist/runtime/equal").default';wN.default=BAe});var IAe=b(AN=>{"use strict";Object.defineProperty(AN,"__esModule",{value:!0});var EN=V1(),Yi=Zt(),f5t=_r(),p5t=NC(),d5t={message:({params:{i:e,j:t}})=>(0,Yi.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Yi._)`{i: ${e}, j: ${t}}`},h5t={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:d5t,code(e){let{gen:t,data:r,$data:n,schema:i,parentSchema:a,schemaCode:o,it:s}=e;if(!n&&!i)return;let u=t.let("valid"),c=a.items?(0,EN.getSchemaTypes)(a.items):[];e.block$data(u,l,(0,Yi._)`${o} === false`),e.ok(u);function l(){let m=t.let("i",(0,Yi._)`${r}.length`),g=t.let("j");e.setParams({i:m,j:g}),t.assign(u,!0),t.if((0,Yi._)`${m} > 1`,()=>(f()?p:d)(m,g))}function f(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function p(m,g){let v=t.name("item"),y=(0,EN.checkDataTypes)(c,v,s.opts.strictNumbers,EN.DataType.Wrong),w=t.const("indices",(0,Yi._)`{}`);t.for((0,Yi._)`;${m}--;`,()=>{t.let(v,(0,Yi._)`${r}[${m}]`),t.if(y,(0,Yi._)`continue`),c.length>1&&t.if((0,Yi._)`typeof ${v} == "string"`,(0,Yi._)`${v} += "_"`),t.if((0,Yi._)`typeof ${w}[${v}] == "number"`,()=>{t.assign(g,(0,Yi._)`${w}[${v}]`),e.error(),t.assign(u,!1).break()}).code((0,Yi._)`${w}[${v}] = ${m}`)})}function d(m,g){let v=(0,f5t.useFunc)(t,p5t.default),y=t.name("outer");t.label(y).for((0,Yi._)`;${m}--;`,()=>t.for((0,Yi._)`${g} = ${m}; ${g}--;`,()=>t.if((0,Yi._)`${v}(${r}[${m}], ${r}[${g}])`,()=>{e.error(),t.assign(u,!1).break(y)})))}}};AN.default=h5t});var PAe=b(TN=>{"use strict";Object.defineProperty(TN,"__esModule",{value:!0});var SN=Zt(),m5t=_r(),g5t=NC(),v5t={message:"must be equal to constant",params:({schemaCode:e})=>(0,SN._)`{allowedValue: ${e}}`},b5t={keyword:"const",$data:!0,error:v5t,code(e){let{gen:t,data:r,$data:n,schemaCode:i,schema:a}=e;n||a&&typeof a=="object"?e.fail$data((0,SN._)`!${(0,m5t.useFunc)(t,g5t.default)}(${r}, ${i})`):e.fail((0,SN._)`${a} !== ${r}`)}};TN.default=b5t});var OAe=b(CN=>{"use strict";Object.defineProperty(CN,"__esModule",{value:!0});var o2=Zt(),x5t=_r(),y5t=NC(),_5t={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,o2._)`{allowedValues: ${e}}`},w5t={keyword:"enum",schemaType:"array",$data:!0,error:_5t,code(e){let{gen:t,data:r,$data:n,schema:i,schemaCode:a,it:o}=e;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=o.opts.loopEnum,u,c=()=>u??(u=(0,x5t.useFunc)(t,y5t.default)),l;if(s||n)l=t.let("valid"),e.block$data(l,f);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let d=t.const("vSchema",a);l=(0,o2.or)(...i.map((m,g)=>p(d,g)))}e.pass(l);function f(){t.assign(l,!1),t.forOf("v",a,d=>t.if((0,o2._)`${c()}(${r}, ${d})`,()=>t.assign(l,!0).break()))}function p(d,m){let g=i[m];return typeof g=="object"&&g!==null?(0,o2._)`${c()}(${r}, ${d}[${m}])`:(0,o2._)`${r} === ${g}`}}};CN.default=w5t});var jAe=b(DN=>{"use strict";Object.defineProperty(DN,"__esModule",{value:!0});var E5t=wAe(),A5t=EAe(),S5t=TAe(),T5t=CAe(),C5t=DAe(),D5t=FAe(),F5t=kAe(),k5t=IAe(),B5t=PAe(),I5t=OAe(),P5t=[E5t.default,A5t.default,S5t.default,T5t.default,C5t.default,D5t.default,F5t.default,k5t.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},B5t.default,I5t.default];DN.default=P5t});var kN=b(s2=>{"use strict";Object.defineProperty(s2,"__esModule",{value:!0});s2.validateAdditionalItems=void 0;var ch=Zt(),FN=_r(),O5t={message:({params:{len:e}})=>(0,ch.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,ch._)`{limit: ${e}}`},j5t={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:O5t,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,FN.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}RAe(e,n)}};function RAe(e,t){let{gen:r,schema:n,data:i,keyword:a,it:o}=e;o.items=!0;let s=r.const("len",(0,ch._)`${i}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,ch._)`${s} <= ${t.length}`);else if(typeof n=="object"&&!(0,FN.alwaysValidSchema)(o,n)){let c=r.var("valid",(0,ch._)`${s} <= ${t.length}`);r.if((0,ch.not)(c),()=>u(c)),e.ok(c)}function u(c){r.forRange("i",t.length,s,l=>{e.subschema({keyword:a,dataProp:l,dataPropType:FN.Type.Num},c),o.allErrors||r.if((0,ch.not)(c),()=>r.break())})}}s2.validateAdditionalItems=RAe;s2.default=j5t});var BN=b(u2=>{"use strict";Object.defineProperty(u2,"__esModule",{value:!0});u2.validateTuple=void 0;var MAe=Zt(),UC=_r(),R5t=ts(),M5t={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return LAe(e,"additionalItems",t);r.items=!0,!(0,UC.alwaysValidSchema)(r,t)&&e.ok((0,R5t.validateArray)(e))}};function LAe(e,t,r=e.schema){let{gen:n,parentSchema:i,data:a,keyword:o,it:s}=e;l(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=UC.mergeEvaluated.items(n,r.length,s.items));let u=n.name("valid"),c=n.const("len",(0,MAe._)`${a}.length`);r.forEach((f,p)=>{(0,UC.alwaysValidSchema)(s,f)||(n.if((0,MAe._)`${c} > ${p}`,()=>e.subschema({keyword:o,schemaProp:p,dataProp:p},u)),e.ok(u))});function l(f){let{opts:p,errSchemaPath:d}=s,m=r.length,g=m===f.minItems&&(m===f.maxItems||f[t]===!1);if(p.strictTuples&&!g){let v=`"${o}" is ${m}-tuple, but minItems or maxItems/${t} are not specified or different at path "${d}"`;(0,UC.checkStrictMode)(s,v,p.strictTuples)}}}u2.validateTuple=LAe;u2.default=M5t});var qAe=b(IN=>{"use strict";Object.defineProperty(IN,"__esModule",{value:!0});var L5t=BN(),q5t={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,L5t.validateTuple)(e,"items")};IN.default=q5t});var UAe=b(PN=>{"use strict";Object.defineProperty(PN,"__esModule",{value:!0});var NAe=Zt(),N5t=_r(),U5t=ts(),G5t=kN(),z5t={message:({params:{len:e}})=>(0,NAe.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,NAe._)`{limit: ${e}}`},H5t={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:z5t,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,!(0,N5t.alwaysValidSchema)(n,t)&&(i?(0,G5t.validateAdditionalItems)(e,i):e.ok((0,U5t.validateArray)(e)))}};PN.default=H5t});var GAe=b(ON=>{"use strict";Object.defineProperty(ON,"__esModule",{value:!0});var ns=Zt(),GC=_r(),W5t={message:({params:{min:e,max:t}})=>t===void 0?(0,ns.str)`must contain at least ${e} valid item(s)`:(0,ns.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,ns._)`{minContains: ${e}}`:(0,ns._)`{minContains: ${e}, maxContains: ${t}}`},$5t={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:W5t,code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e,o,s,{minContains:u,maxContains:c}=n;a.opts.next?(o=u===void 0?1:u,s=c):o=1;let l=t.const("len",(0,ns._)`${i}.length`);if(e.setParams({min:o,max:s}),s===void 0&&o===0){(0,GC.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,GC.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,GC.alwaysValidSchema)(a,r)){let g=(0,ns._)`${l} >= ${o}`;s!==void 0&&(g=(0,ns._)`${g} && ${l} <= ${s}`),e.pass(g);return}a.items=!0;let f=t.name("valid");s===void 0&&o===1?d(f,()=>t.if(f,()=>t.break())):o===0?(t.let(f,!0),s!==void 0&&t.if((0,ns._)`${i}.length > 0`,p)):(t.let(f,!1),p()),e.result(f,()=>e.reset());function p(){let g=t.name("_valid"),v=t.let("count",0);d(g,()=>t.if(g,()=>m(v)))}function d(g,v){t.forRange("i",0,l,y=>{e.subschema({keyword:"contains",dataProp:y,dataPropType:GC.Type.Num,compositeRule:!0},g),v()})}function m(g){t.code((0,ns._)`${g}++`),s===void 0?t.if((0,ns._)`${g} >= ${o}`,()=>t.assign(f,!0).break()):(t.if((0,ns._)`${g} > ${s}`,()=>t.assign(f,!1).break()),o===1?t.assign(f,!0):t.if((0,ns._)`${g} >= ${o}`,()=>t.assign(f,!0)))}}};ON.default=$5t});var WAe=b(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.validateSchemaDeps=uc.validatePropertyDeps=uc.error=void 0;var jN=Zt(),V5t=_r(),c2=ts();uc.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,jN.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,jN._)`{property: ${e},
|
|
163
163
|
missingProperty: ${n},
|
|
164
164
|
depsCount: ${t},
|
|
165
|
-
deps: ${r}}`};var K5t={keyword:"dependencies",type:"object",schemaType:"object",error:uc.error,code(e){let[t,r]=J5t(e);zAe(e,t),HAe(e,r)}};function J5t({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function zAe(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let a=r.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let u=(0,c2.propertyInData)(r,n,o,i.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(u,()=>{for(let c of s)(0,c2.checkReportMissingProp)(e,c)}):(r.if((0,jN._)`${u} && (${(0,c2.checkMissingProp)(e,s,a)})`),(0,c2.reportMissingProp)(e,a),r.else())}}uc.validatePropertyDeps=zAe;function HAe(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,V5t.alwaysValidSchema)(a,t[s])||(r.if((0,c2.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let u=e.subschema({keyword:i,schemaProp:s},o);e.mergeValidEvaluated(u,o)},()=>r.var(o,!0)),e.ok(o))}uc.validateSchemaDeps=HAe;uc.default=K5t});var VAe=b(RN=>{"use strict";Object.defineProperty(RN,"__esModule",{value:!0});var $Ae=Zt(),X5t=_r(),Y5t={message:"property name must be valid",params:({params:e})=>(0,$Ae._)`{propertyName: ${e.propertyName}}`},Q5t={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Y5t,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,X5t.alwaysValidSchema)(i,r))return;let a=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),t.if((0,$Ae.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};RN.default=Q5t});var LN=b(MN=>{"use strict";Object.defineProperty(MN,"__esModule",{value:!0});var zC=ts(),Qs=Zt(),Z5t=bl(),HC=_r(),eBt={message:"must NOT have additional properties",params:({params:e})=>(0,Qs._)`{additionalProperty: ${e.additionalProperty}}`},tBt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:eBt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=e;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:u}=o;if(o.props=!0,u.removeAdditional!=="all"&&(0,HC.alwaysValidSchema)(o,r))return;let c=(0,zC.allSchemaProperties)(n.properties),l=(0,zC.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Qs._)`${a} === ${Z5t.default.errors}`);function f(){t.forIn("key",i,v=>{!c.length&&!l.length?m(v):t.if(p(v),()=>m(v))})}function p(v){let y;if(c.length>8){let w=(0,HC.schemaRefOrVal)(o,n.properties,"properties");y=(0,zC.isOwnProperty)(t,w,v)}else c.length?y=(0,Qs.or)(...c.map(w=>(0,Qs._)`${v} === ${w}`)):y=Qs.nil;return l.length&&(y=(0,Qs.or)(y,...l.map(w=>(0,Qs._)`${(0,zC.usePattern)(e,w)}.test(${v})`))),(0,Qs.not)(y)}function d(v){t.code((0,Qs._)`delete ${i}[${v}]`)}function m(v){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){d(v);return}if(r===!1){e.setParams({additionalProperty:v}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,HC.alwaysValidSchema)(o,r)){let y=t.name("valid");u.removeAdditional==="failing"?(g(v,y,!1),t.if((0,Qs.not)(y),()=>{e.reset(),d(v)})):(g(v,y),s||t.if((0,Qs.not)(y),()=>t.break()))}}function g(v,y,w){let A={keyword:"additionalProperties",dataProp:v,dataPropType:HC.Type.Str};w===!1&&Object.assign(A,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(A,y)}}};MN.default=tBt});var XAe=b(NN=>{"use strict";Object.defineProperty(NN,"__esModule",{value:!0});var rBt=Y1(),KAe=ts(),qN=_r(),JAe=LN(),nBt={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&JAe.default.code(new rBt.KeywordCxt(a,JAe.default,"additionalProperties"));let o=(0,KAe.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=qN.mergeEvaluated.props(t,(0,qN.toHash)(o),a.props));let s=o.filter(f=>!(0,qN.alwaysValidSchema)(a,r[f]));if(s.length===0)return;let u=t.name("valid");for(let f of s)c(f)?l(f):(t.if((0,KAe.propertyInData)(t,i,f,a.opts.ownProperties)),l(f),a.allErrors||t.else().var(u,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(u);function c(f){return a.opts.useDefaults&&!a.compositeRule&&r[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},u)}}};NN.default=nBt});var eSe=b(UN=>{"use strict";Object.defineProperty(UN,"__esModule",{value:!0});var YAe=ts(),WC=Zt(),QAe=_r(),ZAe=_r(),iBt={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:a}=e,{opts:o}=a,s=(0,YAe.allSchemaProperties)(r),u=s.filter(g=>(0,QAe.alwaysValidSchema)(a,r[g]));if(s.length===0||u.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,l=t.name("valid");a.props!==!0&&!(a.props instanceof WC.Name)&&(a.props=(0,ZAe.evaluatedPropsToName)(t,a.props));let{props:f}=a;p();function p(){for(let g of s)c&&d(g),a.allErrors?m(g):(t.var(l,!0),m(g),t.if(l))}function d(g){for(let v in c)new RegExp(g).test(v)&&(0,QAe.checkStrictMode)(a,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){t.forIn("key",n,v=>{t.if((0,WC._)`${(0,YAe.usePattern)(e,g)}.test(${v})`,()=>{let y=u.includes(g);y||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:ZAe.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,WC._)`${f}[${v}]`,!0):!y&&!a.allErrors&&t.if((0,WC.not)(l),()=>t.break())})})}}};UN.default=iBt});var tSe=b(GN=>{"use strict";Object.defineProperty(GN,"__esModule",{value:!0});var aBt=_r(),oBt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,aBt.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};GN.default=oBt});var rSe=b(zN=>{"use strict";Object.defineProperty(zN,"__esModule",{value:!0});var sBt=ts(),uBt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:sBt.validateUnion,error:{message:"must match a schema in anyOf"}};zN.default=uBt});var nSe=b(HN=>{"use strict";Object.defineProperty(HN,"__esModule",{value:!0});var $C=Zt(),cBt=_r(),lBt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,$C._)`{passingSchemas: ${e.passing}}`},fBt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:lBt,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=t.let("valid",!1),s=t.let("passing",null),u=t.name("_valid");e.setParams({passing:s}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){a.forEach((l,f)=>{let p;(0,cBt.alwaysValidSchema)(i,l)?t.var(u,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,$C._)`${u} && ${o}`).assign(o,!1).assign(s,(0,$C._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,$C.Name)})})}}};HN.default=fBt});var iSe=b(WN=>{"use strict";Object.defineProperty(WN,"__esModule",{value:!0});var pBt=_r(),dBt={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=t.name("valid");r.forEach((a,o)=>{if((0,pBt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};WN.default=dBt});var sSe=b($N=>{"use strict";Object.defineProperty($N,"__esModule",{value:!0});var VC=Zt(),oSe=_r(),hBt={message:({params:e})=>(0,VC.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,VC._)`{failingKeyword: ${e.ifClause}}`},mBt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:hBt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,oSe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=aSe(n,"then"),a=aSe(n,"else");if(!i&&!a)return;let o=t.let("valid",!0),s=t.name("_valid");if(u(),e.reset(),i&&a){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,c("then",l),c("else",l))}else i?t.if(s,c("then")):t.if((0,VC.not)(s),c("else"));e.pass(o,()=>e.error(!0));function u(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function c(l,f){return()=>{let p=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(p,o),f?t.assign(f,(0,VC._)`${l}`):e.setParams({ifClause:l})}}}};function aSe(e,t){let r=e.schema[t];return r!==void 0&&!(0,oSe.alwaysValidSchema)(e,r)}$N.default=mBt});var uSe=b(VN=>{"use strict";Object.defineProperty(VN,"__esModule",{value:!0});var gBt=_r(),vBt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,gBt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};VN.default=vBt});var cSe=b(KN=>{"use strict";Object.defineProperty(KN,"__esModule",{value:!0});var bBt=kN(),xBt=qAe(),yBt=BN(),_Bt=UAe(),wBt=GAe(),EBt=WAe(),ABt=VAe(),SBt=LN(),TBt=XAe(),CBt=eSe(),DBt=tSe(),FBt=rSe(),kBt=nSe(),BBt=iSe(),IBt=sSe(),PBt=uSe();function OBt(e=!1){let t=[DBt.default,FBt.default,kBt.default,BBt.default,IBt.default,PBt.default,ABt.default,SBt.default,EBt.default,TBt.default,CBt.default];return e?t.push(xBt.default,_Bt.default):t.push(bBt.default,yBt.default),t.push(wBt.default),t}KN.default=OBt});var lSe=b(JN=>{"use strict";Object.defineProperty(JN,"__esModule",{value:!0});var Wn=Zt(),jBt={message:({schemaCode:e})=>(0,Wn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Wn._)`{format: ${e}}`},RBt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:jBt,code(e,t){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=e,{opts:u,errSchemaPath:c,schemaEnv:l,self:f}=s;if(!u.validateFormats)return;i?p():d();function p(){let m=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),g=r.const("fDef",(0,Wn._)`${m}[${o}]`),v=r.let("fType"),y=r.let("format");r.if((0,Wn._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(v,(0,Wn._)`${g}.type || "string"`).assign(y,(0,Wn._)`${g}.validate`),()=>r.assign(v,(0,Wn._)`"string"`).assign(y,g)),e.fail$data((0,Wn.or)(w(),A()));function w(){return u.strictSchema===!1?Wn.nil:(0,Wn._)`${o} && !${y}`}function A(){let C=l.$async?(0,Wn._)`(${g}.async ? await ${y}(${n}) : ${y}(${n}))`:(0,Wn._)`${y}(${n})`,T=(0,Wn._)`(typeof ${y} == "function" ? ${C} : ${y}.test(${n}))`;return(0,Wn._)`${y} && ${y} !== true && ${v} === ${t} && !${T}`}}function d(){let m=f.formats[a];if(!m){w();return}if(m===!0)return;let[g,v,y]=A(m);g===t&&e.pass(C());function w(){if(u.strictSchema===!1){f.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function A(T){let B=T instanceof RegExp?(0,Wn.regexpCode)(T):u.code.formats?(0,Wn._)`${u.code.formats}${(0,Wn.getProperty)(a)}`:void 0,j=r.scopeValue("formats",{key:a,ref:T,code:B});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Wn._)`${j}.validate`]:["string",T,j]}function C(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Wn._)`await ${y}(${n})`}return typeof v=="function"?(0,Wn._)`${y}(${n})`:(0,Wn._)`${y}.test(${n})`}}}};JN.default=RBt});var fSe=b(XN=>{"use strict";Object.defineProperty(XN,"__esModule",{value:!0});var MBt=lSe(),LBt=[MBt.default];XN.default=LBt});var pSe=b(xv=>{"use strict";Object.defineProperty(xv,"__esModule",{value:!0});xv.contentVocabulary=xv.metadataVocabulary=void 0;xv.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];xv.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var hSe=b(YN=>{"use strict";Object.defineProperty(YN,"__esModule",{value:!0});var qBt=_Ae(),NBt=jAe(),UBt=cSe(),GBt=fSe(),dSe=pSe(),zBt=[qBt.default,NBt.default,(0,UBt.default)(),GBt.default,dSe.metadataVocabulary,dSe.contentVocabulary];YN.default=zBt});var mSe=b(l2=>{"use strict";Object.defineProperty(l2,"__esModule",{value:!0});l2.DiscrError=void 0;var HBt;(function(e){e.Tag="tag",e.Mapping="mapping"})(HBt=l2.DiscrError||(l2.DiscrError={}))});var vSe=b(ZN=>{"use strict";Object.defineProperty(ZN,"__esModule",{value:!0});var yv=Zt(),QN=mSe(),gSe=PC(),WBt=_r(),$Bt={message:({params:{discrError:e,tagName:t}})=>e===QN.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,yv._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},VBt={keyword:"discriminator",type:"object",schemaType:"object",error:$Bt,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:a}=e,{oneOf:o}=i;if(!a.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let u=t.let("valid",!1),c=t.const("tag",(0,yv._)`${r}${(0,yv.getProperty)(s)}`);t.if((0,yv._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:QN.DiscrError.Tag,tag:c,tagName:s})),e.ok(u);function l(){let d=p();t.if(!1);for(let m in d)t.elseIf((0,yv._)`${c} === ${m}`),t.assign(u,f(d[m]));t.else(),e.error(!1,{discrError:QN.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(d){let m=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:d},m);return e.mergeEvaluated(g,yv.Name),m}function p(){var d;let m={},g=y(i),v=!0;for(let C=0;C<o.length;C++){let T=o[C];T!=null&&T.$ref&&!(0,WBt.schemaHasRulesButRef)(T,a.self.RULES)&&(T=gSe.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,T==null?void 0:T.$ref),T instanceof gSe.SchemaEnv&&(T=T.schema));let B=(d=T==null?void 0:T.properties)===null||d===void 0?void 0:d[s];if(typeof B!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);v=v&&(g||y(T)),w(B,C)}if(!v)throw new Error(`discriminator: "${s}" must be required`);return m;function y({required:C}){return Array.isArray(C)&&C.includes(s)}function w(C,T){if(C.const)A(C.const,T);else if(C.enum)for(let B of C.enum)A(B,T);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function A(C,T){if(typeof C!="string"||C in m)throw new Error(`discriminator: "${s}" values must be unique strings`);m[C]=T}}}};ZN.default=VBt});var bSe=b((E0r,KBt)=>{KBt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var _Se=b((Cn,ySe)=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.MissingRefError=Cn.ValidationError=Cn.CodeGen=Cn.Name=Cn.nil=Cn.stringify=Cn.str=Cn._=Cn.KeywordCxt=void 0;var JBt=mAe(),XBt=hSe(),YBt=vSe(),xSe=bSe(),QBt=["/properties"],KC="http://json-schema.org/draft-07/schema",JC=class extends JBt.default{_addVocabularies(){super._addVocabularies(),XBt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(YBt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(xSe,QBt):xSe;this.addMetaSchema(t,KC,!1),this.refs["http://json-schema.org/schema"]=KC}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(KC)?KC:void 0)}};ySe.exports=Cn=JC;Object.defineProperty(Cn,"__esModule",{value:!0});Cn.default=JC;var ZBt=Y1();Object.defineProperty(Cn,"KeywordCxt",{enumerable:!0,get:function(){return ZBt.KeywordCxt}});var _v=Zt();Object.defineProperty(Cn,"_",{enumerable:!0,get:function(){return _v._}});Object.defineProperty(Cn,"str",{enumerable:!0,get:function(){return _v.str}});Object.defineProperty(Cn,"stringify",{enumerable:!0,get:function(){return _v.stringify}});Object.defineProperty(Cn,"nil",{enumerable:!0,get:function(){return _v.nil}});Object.defineProperty(Cn,"Name",{enumerable:!0,get:function(){return _v.Name}});Object.defineProperty(Cn,"CodeGen",{enumerable:!0,get:function(){return _v.CodeGen}});var eIt=kC();Object.defineProperty(Cn,"ValidationError",{enumerable:!0,get:function(){return eIt.default}});var tIt=BC();Object.defineProperty(Cn,"MissingRefError",{enumerable:!0,get:function(){return tIt.default}})});var UU=typeof process!="object"||String(process)!=="[object process]"||process.browser;var GU={ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]};globalThis["encoding-indexes"]=GU||{};function qt(e,t,r){return t<=e&&e<=r}function uTe(e,t){return e.indexOf(t)!==-1}var pc=Math.floor;function B2(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function cTe(e){for(var t=String(e),r=t.length,n=0,i=[];n<r;){var a=t.charCodeAt(n);if(a<55296||a>57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(n===r-1)i.push(65533);else{var o=t.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=a&1023,u=o&1023;i.push(65536+(s<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function lTe(e){for(var t="",r=0;r<e.length;++r){var n=e[r];n<=65535?t+=String.fromCharCode(n):(n-=65536,t+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return t}function bo(e){return 0<=e&&e<=127}var vo=bo,sr=-1;function ED(e){this.tokens=[].slice.call(e),this.tokens.reverse()}ED.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():sr},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.shift());else this.tokens.unshift(e)}};var Wr=-1;function or(e,t){if(e)throw TypeError("Decoder error");return t||65533}function cs(e){throw TypeError("The code point "+e+" could not be encoded.")}function fTe(){}fTe.prototype={handler:function(e,t){}};function pTe(){}pTe.prototype={handler:function(e,t){}};function _D(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(wD,e)?wD[e]:null}var zU=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],wD={};zU.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){wD[r]=t})})});var Ia={},Pa={};function bh(e,t){return t&&t[e]||null}function xh(e,t){var r=t.indexOf(e);return r===-1?null:r}function ba(e){if(!("encoding-indexes"in globalThis))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return globalThis["encoding-indexes"][e]}function dTe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=ba("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[0]<=e)t=a[0],r=a[1];else break}return r+e-t}function hTe(e){if(e===59335)return 7457;var t=0,r=0,n=ba("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[1]<=e)t=a[1],r=a[0];else break}return r+e-t}function mTe(e){xD=xD||ba("jis0208").map(function(r,n){return qt(n,8272,8835)?null:r});var t=xD;return t.indexOf(e)}var xD;function gTe(e){yD=yD||ba("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=yD;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):xh(e,t)}var yD,HU="utf-8";function yp(e,t){if(!(this instanceof yp))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):HU,t=B2(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=_D(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!Pa[r.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var n=this;return n._encoding=r,Boolean(t.fatal)&&(n._error_mode="fatal"),Boolean(t.ignoreBOM)&&(n._ignoreBOM=!0),Object.defineProperty||(this.encoding=n._encoding.name.toLowerCase(),this.fatal=n._error_mode==="fatal",this.ignoreBOM=n._ignoreBOM),n}Object.defineProperty&&(Object.defineProperty(yp.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(yp.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(yp.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));yp.prototype.decode=function(t,r){var n;typeof t=="object"&&t instanceof ArrayBuffer?n=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):n=new Uint8Array(0),r=B2(r),this._do_not_flush||(this._decoder=Pa[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new ED(n),a=[],o;;){var s=i.read();if(s===sr||(o=this._decoder.handler(i,s),o===Wr))break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(i,i.read()),o===Wr)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return uTe(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(c.length>0&&c[0]===65279?(this._BOMseen=!0,c.shift()):c.length>0&&(this._BOMseen=!0)),lTe(c)}return u.call(this,a)};function Rv(e,t){if(!(this instanceof Rv))throw TypeError("Called as a function. Did you forget 'new'?");t=B2(t),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(t.fatal)?"fatal":"replacement";var r=this;if(Boolean(t.NONSTANDARD_allowLegacyEncoding)){e=e!==void 0?String(e):HU;var n=_D(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!Ia[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=_D("utf-8"),e!==void 0&&"console"in globalThis&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=r._encoding.name.toLowerCase()),r}Object.defineProperty&&Object.defineProperty(Rv.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});Rv.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=B2(r),this._do_not_flush||(this._encoder=Ia[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new ED(cTe(t)),i=[],a;;){var o=n.read();if(o===sr||(a=this._encoder.handler(n,o),a===Wr))break;Array.isArray(a)?i.push.apply(i,a):i.push(a)}if(!this._do_not_flush){for(;a=this._encoder.handler(n,n.read()),a!==Wr;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function vTe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===sr&&i!==0)return i=0,or(t);if(u===sr)return Wr;if(i===0){if(qt(u,0,127))return u;if(qt(u,194,223))i=1,r=u&31;else if(qt(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(qt(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return or(t);return null}if(!qt(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),or(t);if(a=128,o=191,r=r<<6|u&63,n+=1,n!==i)return null;var c=r;return r=i=n=0,c}}function bTe(e){var t=e.fatal;this.handler=function(r,n){if(n===sr)return Wr;if(vo(n))return n;var i,a;qt(n,128,2047)?(i=1,a=192):qt(n,2048,65535)?(i=2,a=224):qt(n,65536,1114111)&&(i=3,a=240);for(var o=[(n>>6*i)+a];i>0;){var s=n>>6*(i-1);o.push(128|s&63),i-=1}return o}}Ia["UTF-8"]=function(e){return new bTe(e)};Pa["UTF-8"]=function(e){return new vTe(e)};function xTe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===sr)return Wr;if(bo(i))return i;var a=e[i-128];return a===null?or(r):a}}function yTe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===sr)return Wr;if(vo(i))return i;var a=xh(i,e);return a===null&&cs(i),a+128}}(function(){"encoding-indexes"in globalThis&&zU.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=ba(r.toLowerCase());Pa[r]=function(i){return new xTe(n,i)},Ia[r]=function(i){return new yTe(n,i)}})})})();Pa.GBK=function(e){return new WU(e)};Ia.GBK=function(e){return new $U(e,!0)};function WU(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===sr&&r===0&&n===0&&i===0)return Wr;o===sr&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,or(t));var s;if(i!==0){s=null,qt(o,48,57)&&(s=dTe((((r-129)*10+n-48)*126+i-129)*10+o-48));var u=[n,i,o];return r=0,n=0,i=0,s===null?(a.prepend(u),or(t)):s}if(n!==0)return qt(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,or(t));if(r!==0){if(qt(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(qt(o,64,126)||qt(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:bh(l,ba("gb18030")),s===null&&bo(o)&&a.prepend(o),s===null?or(t):s}return bo(o)?o:o===128?8364:qt(o,129,254)?(r=o,null):or(t)}}function $U(e,t){var r=e.fatal;this.handler=function(n,i){if(i===sr)return Wr;if(vo(i))return i;if(i===58853)return cs(i);if(t&&i===8364)return 128;var a=xh(i,ba("gb18030"));if(a!==null){var o=pc(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return cs(i);a=hTe(i);var c=pc(a/10/126/10);a=a-c*10*126*10;var l=pc(a/10/126);a=a-l*10*126;var f=pc(a/10),p=a-f*10;return[c+129,l+48,f+129,p+48]}}Ia.gb18030=function(e){return new $U(e)};Pa.gb18030=function(e){return new WU(e)};function _Te(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===sr&&r!==0)return r=0,or(t);if(i===sr&&r===0)return Wr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((qt(i,64,126)||qt(i,161,254))&&(o=(a-129)*157+(i-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var u=o===null?null:bh(o,ba("big5"));return u===null&&bo(i)&&n.prepend(i),u===null?or(t):u}return bo(i)?i:qt(i,129,254)?(r=i,null):or(t)}}function wTe(e){var t=e.fatal;this.handler=function(r,n){if(n===sr)return Wr;if(vo(n))return n;var i=gTe(n);if(i===null)return cs(n);var a=pc(i/157)+129;if(a<161)return cs(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}Ia.Big5=function(e){return new wTe(e)};Pa.Big5=function(e){return new _Te(e)};function ETe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===sr&&n!==0)return n=0,or(t);if(a===sr&&n===0)return Wr;if(n===142&&qt(a,161,223))return n=0,65377-161+a;if(n===143&&qt(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return qt(o,161,254)&&qt(a,161,254)&&(s=bh((o-161)*94+(a-161),ba(r?"jis0212":"jis0208"))),r=!1,qt(a,161,254)||i.prepend(a),s===null?or(t):s}return bo(a)?a:a===142||a===143||qt(a,161,254)?(n=a,null):or(t)}}function ATe(e){var t=e.fatal;this.handler=function(r,n){if(n===sr)return Wr;if(vo(n))return n;if(n===165)return 92;if(n===8254)return 126;if(qt(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=xh(n,ba("jis0208"));if(i===null)return cs(n);var a=pc(i/94)+161,o=i%94+161;return[a,o]}}Ia["EUC-JP"]=function(e){return new ATe(e)};Pa["EUC-JP"]=function(e){return new ETe(e)};function STe(e){var t=e.fatal,r={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=r.ASCII,i=r.ASCII,a=0,o=!1;this.handler=function(s,u){switch(n){default:case r.ASCII:return u===27?(n=r.EscapeStart,null):qt(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===sr?Wr:(o=!1,or(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):qt(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===sr?Wr:(o=!1,or(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):qt(u,33,95)?(o=!1,65377-33+u):u===sr?Wr:(o=!1,or(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):qt(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===sr?Wr:(o=!1,or(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,or(t);if(qt(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=bh(c,ba("jis0208"));return l===null?or(t):l}return u===sr?(n=r.LeadByte,s.prepend(u),or(t)):(n=r.LeadByte,or(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,or(t));case r.Escape:var f=a;a=0;var p=null;if(f===40&&u===66&&(p=r.ASCII),f===40&&u===74&&(p=r.Roman),f===40&&u===73&&(p=r.Katakana),f===36&&(u===64||u===66)&&(p=r.LeadByte),p!==null){n=n=p;var d=o;return o=!0,d?or(t):null}return s.prepend([f,u]),o=!1,n=i,or(t)}}}function TTe(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===sr&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===sr&&n===r.ASCII)return Wr;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return cs(65533);if(n===r.ASCII&&vo(a))return a;if(n===r.Roman&&(vo(a)&&a!==92&&a!==126||a==165||a==8254)){if(vo(a))return a;if(a===165)return 92;if(a===8254)return 126}if(vo(a)&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if((a===165||a===8254)&&n!==r.Roman)return i.prepend(a),n=r.Roman,[27,40,74];a===8722&&(a=65293);var o=xh(a,ba("jis0208"));if(o===null)return cs(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=pc(o/94)+33,u=o%94+33;return[s,u]}}Ia["ISO-2022-JP"]=function(e){return new TTe(e)};Pa["ISO-2022-JP"]=function(e){return new STe(e)};function CTe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===sr&&r!==0)return r=0,or(t);if(i===sr&&r===0)return Wr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((qt(i,64,126)||qt(i,128,252))&&(o=(a-u)*188+i-s),qt(o,8836,10715))return 57344-8836+o;var c=o===null?null:bh(o,ba("jis0208"));return c===null&&bo(i)&&n.prepend(i),c===null?or(t):c}return bo(i)||i===128?i:qt(i,161,223)?65377-161+i:qt(i,129,159)||qt(i,224,252)?(r=i,null):or(t)}}function DTe(e){var t=e.fatal;this.handler=function(r,n){if(n===sr)return Wr;if(vo(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(qt(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=mTe(n);if(i===null)return cs(n);var a=pc(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}Ia.Shift_JIS=function(e){return new DTe(e)};Pa.Shift_JIS=function(e){return new CTe(e)};function FTe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===sr&&r!==0)return r=0,or(t);if(i===sr&&r===0)return Wr;if(r!==0){var a=r,o=null;r=0,qt(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:bh(o,ba("euc-kr"));return o===null&&bo(i)&&n.prepend(i),s===null?or(t):s}return bo(i)?i:qt(i,129,254)?(r=i,null):or(t)}}function kTe(e){var t=e.fatal;this.handler=function(r,n){if(n===sr)return Wr;if(vo(n))return n;var i=xh(n,ba("euc-kr"));if(i===null)return cs(n);var a=pc(i/190)+129,o=i%190+65;return[a,o]}}Ia["EUC-KR"]=function(e){return new kTe(e)};Pa["EUC-KR"]=function(e){return new FTe(e)};function k2(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function VU(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===sr&&(n!==null||i!==null))return or(r);if(o===sr&&n===null&&i===null)return Wr;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,i!==null){var u=i;return i=null,qt(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(k2(s,e)),or(r))}return qt(s,55296,56319)?(i=s,null):qt(s,56320,57343)?or(r):s}}function KU(e,t){var r=t.fatal;this.handler=function(n,i){if(i===sr)return Wr;if(qt(i,0,65535))return k2(i,e);var a=k2((i-65536>>10)+55296,e),o=k2((i-65536&1023)+56320,e);return a.concat(o)}}Ia["UTF-16BE"]=function(e){return new KU(!0,e)};Pa["UTF-16BE"]=function(e){return new VU(!0,e)};Ia["UTF-16LE"]=function(e){return new KU(!1,e)};Pa["UTF-16LE"]=function(e){return new VU(!1,e)};function BTe(e){var t=e.fatal;this.handler=function(r,n){return n===sr?Wr:bo(n)?n:63360+n-128}}function ITe(e){var t=e.fatal;this.handler=function(r,n){return n===sr?Wr:vo(n)?n:qt(n,63360,63487)?n-63360+128:cs(n)}}Ia["x-user-defined"]=function(e){return new ITe(e)};Pa["x-user-defined"]=function(e){return new BTe(e)};function Mv(e){return Buffer.from(e).toString("base64")}function AD(e){return Buffer.from(e,"base64").toString("ascii")}var GH=Pt(NH(),1),zH=Pt(Wv(),1);function UH(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function $Ce(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,zH.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,GH.default)(n,r,t)}function HH(e,t){let r=$Ce(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(UH(a))})})}var wee=Pt(_ee(),1),D5=["image/png","image/jpeg","image/gif"];async function F5(e,t){if(!t)throw new Error("MIMEType is required to parse image under Node.js");let r=e instanceof Buffer?e:Buffer.from(e);return await iMe(r,t)}function iMe(e,t){return new Promise(r=>(0,wee.default)(e,t,(n,i)=>{if(n)throw n;let a=[...i.shape],o=i.shape.length===4?i.shape.shift():1,s=i.data instanceof Buffer?new Uint8Array(i.data):i.data;r({shape:a,data:s,width:i.shape[0],height:i.shape[1],components:i.shape[2],layers:o?[o]:[]})}))}async function io(e,t,r,n){return n._parse(e,t,r,n)}function jt(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var wu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Aee=wu.self||wu.window||wu.global||{},See=wu.window||wu.self||wu.global||{},Tee=wu.global||wu.self||wu.window||{},Cee=wu.document||{};var jr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Eee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),aMe=Eee&&parseFloat(Eee[1])||0;function k5(e,t){return Dee(e||{},t)}function Dee(e,t,r=0){if(r>3)return t;let n={...e};for(let[i,a]of Object.entries(t))a&&typeof a=="object"&&!Array.isArray(a)?n[i]=Dee(n[i]||{},t[i],r+1):n[i]=t[i];return n}var Fee="latest";function oMe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.0-alpha.3"),globalThis._loadersgl_.version}var Np=oMe();function Mi(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var Eu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},tLt=Eu.self||Eu.window||Eu.global||{},rLt=Eu.window||Eu.self||Eu.global||{},nLt=Eu.global||Eu.self||Eu.window||{},iLt=Eu.document||{};var _i=typeof process!="object"||String(process)!=="[object process]"||process.browser,Ub=typeof importScripts=="function",Bee=typeof window<"u"&&typeof window.orientation<"u",kee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),aLt=kee&&parseFloat(kee[1])||0;var Gb=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){Mi(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Mi(this.isRunning),this.isRunning=!1,this._reject(t)}};var Up={};Pi(Up,{NodeWorker:()=>Hb,parentPort:()=>sMe});var zb=Pt(require("worker_threads"),1);jv(Up,require("worker_threads"));var sMe=zb==null?void 0:zb.parentPort,Hb=zb.Worker;var B5=new Map;function Iee(e){Mi(e.source&&!e.url||!e.source&&e.url);let t=B5.get(e.source||e.url);return t||(e.url&&(t=uMe(e.url),B5.set(e.url,t)),e.source&&(t=Pee(e.source),B5.set(e.source,t))),Mi(t),t}function uMe(e){if(!e.startsWith("http"))return e;let t=cMe(e);return Pee(t)}function Pee(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function cMe(e){return`try {
|
|
165
|
+
deps: ${r}}`};var K5t={keyword:"dependencies",type:"object",schemaType:"object",error:uc.error,code(e){let[t,r]=J5t(e);zAe(e,t),HAe(e,r)}};function J5t({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function zAe(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let a=r.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let u=(0,c2.propertyInData)(r,n,o,i.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(u,()=>{for(let c of s)(0,c2.checkReportMissingProp)(e,c)}):(r.if((0,jN._)`${u} && (${(0,c2.checkMissingProp)(e,s,a)})`),(0,c2.reportMissingProp)(e,a),r.else())}}uc.validatePropertyDeps=zAe;function HAe(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,V5t.alwaysValidSchema)(a,t[s])||(r.if((0,c2.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let u=e.subschema({keyword:i,schemaProp:s},o);e.mergeValidEvaluated(u,o)},()=>r.var(o,!0)),e.ok(o))}uc.validateSchemaDeps=HAe;uc.default=K5t});var VAe=b(RN=>{"use strict";Object.defineProperty(RN,"__esModule",{value:!0});var $Ae=Zt(),X5t=_r(),Y5t={message:"property name must be valid",params:({params:e})=>(0,$Ae._)`{propertyName: ${e.propertyName}}`},Q5t={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Y5t,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,X5t.alwaysValidSchema)(i,r))return;let a=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),t.if((0,$Ae.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};RN.default=Q5t});var LN=b(MN=>{"use strict";Object.defineProperty(MN,"__esModule",{value:!0});var zC=ts(),Qs=Zt(),Z5t=bl(),HC=_r(),eBt={message:"must NOT have additional properties",params:({params:e})=>(0,Qs._)`{additionalProperty: ${e.additionalProperty}}`},tBt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:eBt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=e;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:u}=o;if(o.props=!0,u.removeAdditional!=="all"&&(0,HC.alwaysValidSchema)(o,r))return;let c=(0,zC.allSchemaProperties)(n.properties),l=(0,zC.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Qs._)`${a} === ${Z5t.default.errors}`);function f(){t.forIn("key",i,v=>{!c.length&&!l.length?m(v):t.if(p(v),()=>m(v))})}function p(v){let y;if(c.length>8){let w=(0,HC.schemaRefOrVal)(o,n.properties,"properties");y=(0,zC.isOwnProperty)(t,w,v)}else c.length?y=(0,Qs.or)(...c.map(w=>(0,Qs._)`${v} === ${w}`)):y=Qs.nil;return l.length&&(y=(0,Qs.or)(y,...l.map(w=>(0,Qs._)`${(0,zC.usePattern)(e,w)}.test(${v})`))),(0,Qs.not)(y)}function d(v){t.code((0,Qs._)`delete ${i}[${v}]`)}function m(v){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){d(v);return}if(r===!1){e.setParams({additionalProperty:v}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,HC.alwaysValidSchema)(o,r)){let y=t.name("valid");u.removeAdditional==="failing"?(g(v,y,!1),t.if((0,Qs.not)(y),()=>{e.reset(),d(v)})):(g(v,y),s||t.if((0,Qs.not)(y),()=>t.break()))}}function g(v,y,w){let A={keyword:"additionalProperties",dataProp:v,dataPropType:HC.Type.Str};w===!1&&Object.assign(A,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(A,y)}}};MN.default=tBt});var XAe=b(NN=>{"use strict";Object.defineProperty(NN,"__esModule",{value:!0});var rBt=Y1(),KAe=ts(),qN=_r(),JAe=LN(),nBt={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&JAe.default.code(new rBt.KeywordCxt(a,JAe.default,"additionalProperties"));let o=(0,KAe.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=qN.mergeEvaluated.props(t,(0,qN.toHash)(o),a.props));let s=o.filter(f=>!(0,qN.alwaysValidSchema)(a,r[f]));if(s.length===0)return;let u=t.name("valid");for(let f of s)c(f)?l(f):(t.if((0,KAe.propertyInData)(t,i,f,a.opts.ownProperties)),l(f),a.allErrors||t.else().var(u,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(u);function c(f){return a.opts.useDefaults&&!a.compositeRule&&r[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},u)}}};NN.default=nBt});var eSe=b(UN=>{"use strict";Object.defineProperty(UN,"__esModule",{value:!0});var YAe=ts(),WC=Zt(),QAe=_r(),ZAe=_r(),iBt={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:a}=e,{opts:o}=a,s=(0,YAe.allSchemaProperties)(r),u=s.filter(g=>(0,QAe.alwaysValidSchema)(a,r[g]));if(s.length===0||u.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,l=t.name("valid");a.props!==!0&&!(a.props instanceof WC.Name)&&(a.props=(0,ZAe.evaluatedPropsToName)(t,a.props));let{props:f}=a;p();function p(){for(let g of s)c&&d(g),a.allErrors?m(g):(t.var(l,!0),m(g),t.if(l))}function d(g){for(let v in c)new RegExp(g).test(v)&&(0,QAe.checkStrictMode)(a,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){t.forIn("key",n,v=>{t.if((0,WC._)`${(0,YAe.usePattern)(e,g)}.test(${v})`,()=>{let y=u.includes(g);y||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:ZAe.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,WC._)`${f}[${v}]`,!0):!y&&!a.allErrors&&t.if((0,WC.not)(l),()=>t.break())})})}}};UN.default=iBt});var tSe=b(GN=>{"use strict";Object.defineProperty(GN,"__esModule",{value:!0});var aBt=_r(),oBt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,aBt.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};GN.default=oBt});var rSe=b(zN=>{"use strict";Object.defineProperty(zN,"__esModule",{value:!0});var sBt=ts(),uBt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:sBt.validateUnion,error:{message:"must match a schema in anyOf"}};zN.default=uBt});var nSe=b(HN=>{"use strict";Object.defineProperty(HN,"__esModule",{value:!0});var $C=Zt(),cBt=_r(),lBt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,$C._)`{passingSchemas: ${e.passing}}`},fBt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:lBt,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=t.let("valid",!1),s=t.let("passing",null),u=t.name("_valid");e.setParams({passing:s}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){a.forEach((l,f)=>{let p;(0,cBt.alwaysValidSchema)(i,l)?t.var(u,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,$C._)`${u} && ${o}`).assign(o,!1).assign(s,(0,$C._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,$C.Name)})})}}};HN.default=fBt});var iSe=b(WN=>{"use strict";Object.defineProperty(WN,"__esModule",{value:!0});var pBt=_r(),dBt={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=t.name("valid");r.forEach((a,o)=>{if((0,pBt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};WN.default=dBt});var sSe=b($N=>{"use strict";Object.defineProperty($N,"__esModule",{value:!0});var VC=Zt(),oSe=_r(),hBt={message:({params:e})=>(0,VC.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,VC._)`{failingKeyword: ${e.ifClause}}`},mBt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:hBt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,oSe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=aSe(n,"then"),a=aSe(n,"else");if(!i&&!a)return;let o=t.let("valid",!0),s=t.name("_valid");if(u(),e.reset(),i&&a){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,c("then",l),c("else",l))}else i?t.if(s,c("then")):t.if((0,VC.not)(s),c("else"));e.pass(o,()=>e.error(!0));function u(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function c(l,f){return()=>{let p=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(p,o),f?t.assign(f,(0,VC._)`${l}`):e.setParams({ifClause:l})}}}};function aSe(e,t){let r=e.schema[t];return r!==void 0&&!(0,oSe.alwaysValidSchema)(e,r)}$N.default=mBt});var uSe=b(VN=>{"use strict";Object.defineProperty(VN,"__esModule",{value:!0});var gBt=_r(),vBt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,gBt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};VN.default=vBt});var cSe=b(KN=>{"use strict";Object.defineProperty(KN,"__esModule",{value:!0});var bBt=kN(),xBt=qAe(),yBt=BN(),_Bt=UAe(),wBt=GAe(),EBt=WAe(),ABt=VAe(),SBt=LN(),TBt=XAe(),CBt=eSe(),DBt=tSe(),FBt=rSe(),kBt=nSe(),BBt=iSe(),IBt=sSe(),PBt=uSe();function OBt(e=!1){let t=[DBt.default,FBt.default,kBt.default,BBt.default,IBt.default,PBt.default,ABt.default,SBt.default,EBt.default,TBt.default,CBt.default];return e?t.push(xBt.default,_Bt.default):t.push(bBt.default,yBt.default),t.push(wBt.default),t}KN.default=OBt});var lSe=b(JN=>{"use strict";Object.defineProperty(JN,"__esModule",{value:!0});var Wn=Zt(),jBt={message:({schemaCode:e})=>(0,Wn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Wn._)`{format: ${e}}`},RBt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:jBt,code(e,t){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=e,{opts:u,errSchemaPath:c,schemaEnv:l,self:f}=s;if(!u.validateFormats)return;i?p():d();function p(){let m=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),g=r.const("fDef",(0,Wn._)`${m}[${o}]`),v=r.let("fType"),y=r.let("format");r.if((0,Wn._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(v,(0,Wn._)`${g}.type || "string"`).assign(y,(0,Wn._)`${g}.validate`),()=>r.assign(v,(0,Wn._)`"string"`).assign(y,g)),e.fail$data((0,Wn.or)(w(),A()));function w(){return u.strictSchema===!1?Wn.nil:(0,Wn._)`${o} && !${y}`}function A(){let C=l.$async?(0,Wn._)`(${g}.async ? await ${y}(${n}) : ${y}(${n}))`:(0,Wn._)`${y}(${n})`,T=(0,Wn._)`(typeof ${y} == "function" ? ${C} : ${y}.test(${n}))`;return(0,Wn._)`${y} && ${y} !== true && ${v} === ${t} && !${T}`}}function d(){let m=f.formats[a];if(!m){w();return}if(m===!0)return;let[g,v,y]=A(m);g===t&&e.pass(C());function w(){if(u.strictSchema===!1){f.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function A(T){let B=T instanceof RegExp?(0,Wn.regexpCode)(T):u.code.formats?(0,Wn._)`${u.code.formats}${(0,Wn.getProperty)(a)}`:void 0,j=r.scopeValue("formats",{key:a,ref:T,code:B});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Wn._)`${j}.validate`]:["string",T,j]}function C(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Wn._)`await ${y}(${n})`}return typeof v=="function"?(0,Wn._)`${y}(${n})`:(0,Wn._)`${y}.test(${n})`}}}};JN.default=RBt});var fSe=b(XN=>{"use strict";Object.defineProperty(XN,"__esModule",{value:!0});var MBt=lSe(),LBt=[MBt.default];XN.default=LBt});var pSe=b(xv=>{"use strict";Object.defineProperty(xv,"__esModule",{value:!0});xv.contentVocabulary=xv.metadataVocabulary=void 0;xv.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];xv.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var hSe=b(YN=>{"use strict";Object.defineProperty(YN,"__esModule",{value:!0});var qBt=_Ae(),NBt=jAe(),UBt=cSe(),GBt=fSe(),dSe=pSe(),zBt=[qBt.default,NBt.default,(0,UBt.default)(),GBt.default,dSe.metadataVocabulary,dSe.contentVocabulary];YN.default=zBt});var mSe=b(l2=>{"use strict";Object.defineProperty(l2,"__esModule",{value:!0});l2.DiscrError=void 0;var HBt;(function(e){e.Tag="tag",e.Mapping="mapping"})(HBt=l2.DiscrError||(l2.DiscrError={}))});var vSe=b(ZN=>{"use strict";Object.defineProperty(ZN,"__esModule",{value:!0});var yv=Zt(),QN=mSe(),gSe=PC(),WBt=_r(),$Bt={message:({params:{discrError:e,tagName:t}})=>e===QN.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,yv._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},VBt={keyword:"discriminator",type:"object",schemaType:"object",error:$Bt,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:a}=e,{oneOf:o}=i;if(!a.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let u=t.let("valid",!1),c=t.const("tag",(0,yv._)`${r}${(0,yv.getProperty)(s)}`);t.if((0,yv._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:QN.DiscrError.Tag,tag:c,tagName:s})),e.ok(u);function l(){let d=p();t.if(!1);for(let m in d)t.elseIf((0,yv._)`${c} === ${m}`),t.assign(u,f(d[m]));t.else(),e.error(!1,{discrError:QN.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(d){let m=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:d},m);return e.mergeEvaluated(g,yv.Name),m}function p(){var d;let m={},g=y(i),v=!0;for(let C=0;C<o.length;C++){let T=o[C];T!=null&&T.$ref&&!(0,WBt.schemaHasRulesButRef)(T,a.self.RULES)&&(T=gSe.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,T==null?void 0:T.$ref),T instanceof gSe.SchemaEnv&&(T=T.schema));let B=(d=T==null?void 0:T.properties)===null||d===void 0?void 0:d[s];if(typeof B!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);v=v&&(g||y(T)),w(B,C)}if(!v)throw new Error(`discriminator: "${s}" must be required`);return m;function y({required:C}){return Array.isArray(C)&&C.includes(s)}function w(C,T){if(C.const)A(C.const,T);else if(C.enum)for(let B of C.enum)A(B,T);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function A(C,T){if(typeof C!="string"||C in m)throw new Error(`discriminator: "${s}" values must be unique strings`);m[C]=T}}}};ZN.default=VBt});var bSe=b((E0r,KBt)=>{KBt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var _Se=b((Cn,ySe)=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.MissingRefError=Cn.ValidationError=Cn.CodeGen=Cn.Name=Cn.nil=Cn.stringify=Cn.str=Cn._=Cn.KeywordCxt=void 0;var JBt=mAe(),XBt=hSe(),YBt=vSe(),xSe=bSe(),QBt=["/properties"],KC="http://json-schema.org/draft-07/schema",JC=class extends JBt.default{_addVocabularies(){super._addVocabularies(),XBt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(YBt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(xSe,QBt):xSe;this.addMetaSchema(t,KC,!1),this.refs["http://json-schema.org/schema"]=KC}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(KC)?KC:void 0)}};ySe.exports=Cn=JC;Object.defineProperty(Cn,"__esModule",{value:!0});Cn.default=JC;var ZBt=Y1();Object.defineProperty(Cn,"KeywordCxt",{enumerable:!0,get:function(){return ZBt.KeywordCxt}});var _v=Zt();Object.defineProperty(Cn,"_",{enumerable:!0,get:function(){return _v._}});Object.defineProperty(Cn,"str",{enumerable:!0,get:function(){return _v.str}});Object.defineProperty(Cn,"stringify",{enumerable:!0,get:function(){return _v.stringify}});Object.defineProperty(Cn,"nil",{enumerable:!0,get:function(){return _v.nil}});Object.defineProperty(Cn,"Name",{enumerable:!0,get:function(){return _v.Name}});Object.defineProperty(Cn,"CodeGen",{enumerable:!0,get:function(){return _v.CodeGen}});var eIt=kC();Object.defineProperty(Cn,"ValidationError",{enumerable:!0,get:function(){return eIt.default}});var tIt=BC();Object.defineProperty(Cn,"MissingRefError",{enumerable:!0,get:function(){return tIt.default}})});var UU=typeof process!="object"||String(process)!=="[object process]"||process.browser;var GU={ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]};globalThis["encoding-indexes"]=GU||{};function qt(e,t,r){return t<=e&&e<=r}function uTe(e,t){return e.indexOf(t)!==-1}var pc=Math.floor;function B2(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function cTe(e){for(var t=String(e),r=t.length,n=0,i=[];n<r;){var a=t.charCodeAt(n);if(a<55296||a>57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(n===r-1)i.push(65533);else{var o=t.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=a&1023,u=o&1023;i.push(65536+(s<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function lTe(e){for(var t="",r=0;r<e.length;++r){var n=e[r];n<=65535?t+=String.fromCharCode(n):(n-=65536,t+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return t}function bo(e){return 0<=e&&e<=127}var vo=bo,sr=-1;function ED(e){this.tokens=[].slice.call(e),this.tokens.reverse()}ED.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():sr},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.shift());else this.tokens.unshift(e)}};var Wr=-1;function or(e,t){if(e)throw TypeError("Decoder error");return t||65533}function cs(e){throw TypeError("The code point "+e+" could not be encoded.")}function fTe(){}fTe.prototype={handler:function(e,t){}};function pTe(){}pTe.prototype={handler:function(e,t){}};function _D(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(wD,e)?wD[e]:null}var zU=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],wD={};zU.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){wD[r]=t})})});var Ia={},Pa={};function bh(e,t){return t&&t[e]||null}function xh(e,t){var r=t.indexOf(e);return r===-1?null:r}function ba(e){if(!("encoding-indexes"in globalThis))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return globalThis["encoding-indexes"][e]}function dTe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=ba("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[0]<=e)t=a[0],r=a[1];else break}return r+e-t}function hTe(e){if(e===59335)return 7457;var t=0,r=0,n=ba("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[1]<=e)t=a[1],r=a[0];else break}return r+e-t}function mTe(e){xD=xD||ba("jis0208").map(function(r,n){return qt(n,8272,8835)?null:r});var t=xD;return t.indexOf(e)}var xD;function gTe(e){yD=yD||ba("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=yD;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):xh(e,t)}var yD,HU="utf-8";function yp(e,t){if(!(this instanceof yp))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):HU,t=B2(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=_D(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!Pa[r.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var n=this;return n._encoding=r,Boolean(t.fatal)&&(n._error_mode="fatal"),Boolean(t.ignoreBOM)&&(n._ignoreBOM=!0),Object.defineProperty||(this.encoding=n._encoding.name.toLowerCase(),this.fatal=n._error_mode==="fatal",this.ignoreBOM=n._ignoreBOM),n}Object.defineProperty&&(Object.defineProperty(yp.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(yp.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(yp.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));yp.prototype.decode=function(t,r){var n;typeof t=="object"&&t instanceof ArrayBuffer?n=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):n=new Uint8Array(0),r=B2(r),this._do_not_flush||(this._decoder=Pa[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new ED(n),a=[],o;;){var s=i.read();if(s===sr||(o=this._decoder.handler(i,s),o===Wr))break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(i,i.read()),o===Wr)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return uTe(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(c.length>0&&c[0]===65279?(this._BOMseen=!0,c.shift()):c.length>0&&(this._BOMseen=!0)),lTe(c)}return u.call(this,a)};function Rv(e,t){if(!(this instanceof Rv))throw TypeError("Called as a function. Did you forget 'new'?");t=B2(t),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(t.fatal)?"fatal":"replacement";var r=this;if(Boolean(t.NONSTANDARD_allowLegacyEncoding)){e=e!==void 0?String(e):HU;var n=_D(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!Ia[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=_D("utf-8"),e!==void 0&&"console"in globalThis&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=r._encoding.name.toLowerCase()),r}Object.defineProperty&&Object.defineProperty(Rv.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});Rv.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=B2(r),this._do_not_flush||(this._encoder=Ia[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new ED(cTe(t)),i=[],a;;){var o=n.read();if(o===sr||(a=this._encoder.handler(n,o),a===Wr))break;Array.isArray(a)?i.push.apply(i,a):i.push(a)}if(!this._do_not_flush){for(;a=this._encoder.handler(n,n.read()),a!==Wr;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function vTe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===sr&&i!==0)return i=0,or(t);if(u===sr)return Wr;if(i===0){if(qt(u,0,127))return u;if(qt(u,194,223))i=1,r=u&31;else if(qt(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(qt(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return or(t);return null}if(!qt(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),or(t);if(a=128,o=191,r=r<<6|u&63,n+=1,n!==i)return null;var c=r;return r=i=n=0,c}}function bTe(e){var t=e.fatal;this.handler=function(r,n){if(n===sr)return Wr;if(vo(n))return n;var i,a;qt(n,128,2047)?(i=1,a=192):qt(n,2048,65535)?(i=2,a=224):qt(n,65536,1114111)&&(i=3,a=240);for(var o=[(n>>6*i)+a];i>0;){var s=n>>6*(i-1);o.push(128|s&63),i-=1}return o}}Ia["UTF-8"]=function(e){return new bTe(e)};Pa["UTF-8"]=function(e){return new vTe(e)};function xTe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===sr)return Wr;if(bo(i))return i;var a=e[i-128];return a===null?or(r):a}}function yTe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===sr)return Wr;if(vo(i))return i;var a=xh(i,e);return a===null&&cs(i),a+128}}(function(){"encoding-indexes"in globalThis&&zU.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=ba(r.toLowerCase());Pa[r]=function(i){return new xTe(n,i)},Ia[r]=function(i){return new yTe(n,i)}})})})();Pa.GBK=function(e){return new WU(e)};Ia.GBK=function(e){return new $U(e,!0)};function WU(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===sr&&r===0&&n===0&&i===0)return Wr;o===sr&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,or(t));var s;if(i!==0){s=null,qt(o,48,57)&&(s=dTe((((r-129)*10+n-48)*126+i-129)*10+o-48));var u=[n,i,o];return r=0,n=0,i=0,s===null?(a.prepend(u),or(t)):s}if(n!==0)return qt(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,or(t));if(r!==0){if(qt(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(qt(o,64,126)||qt(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:bh(l,ba("gb18030")),s===null&&bo(o)&&a.prepend(o),s===null?or(t):s}return bo(o)?o:o===128?8364:qt(o,129,254)?(r=o,null):or(t)}}function $U(e,t){var r=e.fatal;this.handler=function(n,i){if(i===sr)return Wr;if(vo(i))return i;if(i===58853)return cs(i);if(t&&i===8364)return 128;var a=xh(i,ba("gb18030"));if(a!==null){var o=pc(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return cs(i);a=hTe(i);var c=pc(a/10/126/10);a=a-c*10*126*10;var l=pc(a/10/126);a=a-l*10*126;var f=pc(a/10),p=a-f*10;return[c+129,l+48,f+129,p+48]}}Ia.gb18030=function(e){return new $U(e)};Pa.gb18030=function(e){return new WU(e)};function _Te(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===sr&&r!==0)return r=0,or(t);if(i===sr&&r===0)return Wr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((qt(i,64,126)||qt(i,161,254))&&(o=(a-129)*157+(i-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var u=o===null?null:bh(o,ba("big5"));return u===null&&bo(i)&&n.prepend(i),u===null?or(t):u}return bo(i)?i:qt(i,129,254)?(r=i,null):or(t)}}function wTe(e){var t=e.fatal;this.handler=function(r,n){if(n===sr)return Wr;if(vo(n))return n;var i=gTe(n);if(i===null)return cs(n);var a=pc(i/157)+129;if(a<161)return cs(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}Ia.Big5=function(e){return new wTe(e)};Pa.Big5=function(e){return new _Te(e)};function ETe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===sr&&n!==0)return n=0,or(t);if(a===sr&&n===0)return Wr;if(n===142&&qt(a,161,223))return n=0,65377-161+a;if(n===143&&qt(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return qt(o,161,254)&&qt(a,161,254)&&(s=bh((o-161)*94+(a-161),ba(r?"jis0212":"jis0208"))),r=!1,qt(a,161,254)||i.prepend(a),s===null?or(t):s}return bo(a)?a:a===142||a===143||qt(a,161,254)?(n=a,null):or(t)}}function ATe(e){var t=e.fatal;this.handler=function(r,n){if(n===sr)return Wr;if(vo(n))return n;if(n===165)return 92;if(n===8254)return 126;if(qt(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=xh(n,ba("jis0208"));if(i===null)return cs(n);var a=pc(i/94)+161,o=i%94+161;return[a,o]}}Ia["EUC-JP"]=function(e){return new ATe(e)};Pa["EUC-JP"]=function(e){return new ETe(e)};function STe(e){var t=e.fatal,r={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=r.ASCII,i=r.ASCII,a=0,o=!1;this.handler=function(s,u){switch(n){default:case r.ASCII:return u===27?(n=r.EscapeStart,null):qt(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===sr?Wr:(o=!1,or(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):qt(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===sr?Wr:(o=!1,or(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):qt(u,33,95)?(o=!1,65377-33+u):u===sr?Wr:(o=!1,or(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):qt(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===sr?Wr:(o=!1,or(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,or(t);if(qt(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=bh(c,ba("jis0208"));return l===null?or(t):l}return u===sr?(n=r.LeadByte,s.prepend(u),or(t)):(n=r.LeadByte,or(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,or(t));case r.Escape:var f=a;a=0;var p=null;if(f===40&&u===66&&(p=r.ASCII),f===40&&u===74&&(p=r.Roman),f===40&&u===73&&(p=r.Katakana),f===36&&(u===64||u===66)&&(p=r.LeadByte),p!==null){n=n=p;var d=o;return o=!0,d?or(t):null}return s.prepend([f,u]),o=!1,n=i,or(t)}}}function TTe(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===sr&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===sr&&n===r.ASCII)return Wr;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return cs(65533);if(n===r.ASCII&&vo(a))return a;if(n===r.Roman&&(vo(a)&&a!==92&&a!==126||a==165||a==8254)){if(vo(a))return a;if(a===165)return 92;if(a===8254)return 126}if(vo(a)&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if((a===165||a===8254)&&n!==r.Roman)return i.prepend(a),n=r.Roman,[27,40,74];a===8722&&(a=65293);var o=xh(a,ba("jis0208"));if(o===null)return cs(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=pc(o/94)+33,u=o%94+33;return[s,u]}}Ia["ISO-2022-JP"]=function(e){return new TTe(e)};Pa["ISO-2022-JP"]=function(e){return new STe(e)};function CTe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===sr&&r!==0)return r=0,or(t);if(i===sr&&r===0)return Wr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((qt(i,64,126)||qt(i,128,252))&&(o=(a-u)*188+i-s),qt(o,8836,10715))return 57344-8836+o;var c=o===null?null:bh(o,ba("jis0208"));return c===null&&bo(i)&&n.prepend(i),c===null?or(t):c}return bo(i)||i===128?i:qt(i,161,223)?65377-161+i:qt(i,129,159)||qt(i,224,252)?(r=i,null):or(t)}}function DTe(e){var t=e.fatal;this.handler=function(r,n){if(n===sr)return Wr;if(vo(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(qt(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=mTe(n);if(i===null)return cs(n);var a=pc(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}Ia.Shift_JIS=function(e){return new DTe(e)};Pa.Shift_JIS=function(e){return new CTe(e)};function FTe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===sr&&r!==0)return r=0,or(t);if(i===sr&&r===0)return Wr;if(r!==0){var a=r,o=null;r=0,qt(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:bh(o,ba("euc-kr"));return o===null&&bo(i)&&n.prepend(i),s===null?or(t):s}return bo(i)?i:qt(i,129,254)?(r=i,null):or(t)}}function kTe(e){var t=e.fatal;this.handler=function(r,n){if(n===sr)return Wr;if(vo(n))return n;var i=xh(n,ba("euc-kr"));if(i===null)return cs(n);var a=pc(i/190)+129,o=i%190+65;return[a,o]}}Ia["EUC-KR"]=function(e){return new kTe(e)};Pa["EUC-KR"]=function(e){return new FTe(e)};function k2(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function VU(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===sr&&(n!==null||i!==null))return or(r);if(o===sr&&n===null&&i===null)return Wr;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,i!==null){var u=i;return i=null,qt(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(k2(s,e)),or(r))}return qt(s,55296,56319)?(i=s,null):qt(s,56320,57343)?or(r):s}}function KU(e,t){var r=t.fatal;this.handler=function(n,i){if(i===sr)return Wr;if(qt(i,0,65535))return k2(i,e);var a=k2((i-65536>>10)+55296,e),o=k2((i-65536&1023)+56320,e);return a.concat(o)}}Ia["UTF-16BE"]=function(e){return new KU(!0,e)};Pa["UTF-16BE"]=function(e){return new VU(!0,e)};Ia["UTF-16LE"]=function(e){return new KU(!1,e)};Pa["UTF-16LE"]=function(e){return new VU(!1,e)};function BTe(e){var t=e.fatal;this.handler=function(r,n){return n===sr?Wr:bo(n)?n:63360+n-128}}function ITe(e){var t=e.fatal;this.handler=function(r,n){return n===sr?Wr:vo(n)?n:qt(n,63360,63487)?n-63360+128:cs(n)}}Ia["x-user-defined"]=function(e){return new ITe(e)};Pa["x-user-defined"]=function(e){return new BTe(e)};function Mv(e){return Buffer.from(e).toString("base64")}function AD(e){return Buffer.from(e,"base64").toString("ascii")}var GH=Pt(NH(),1),zH=Pt(Wv(),1);function UH(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function $Ce(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,zH.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,GH.default)(n,r,t)}function HH(e,t){let r=$Ce(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(UH(a))})})}var wee=Pt(_ee(),1),D5=["image/png","image/jpeg","image/gif"];async function F5(e,t){if(!t)throw new Error("MIMEType is required to parse image under Node.js");let r=e instanceof Buffer?e:Buffer.from(e);return await iMe(r,t)}function iMe(e,t){return new Promise(r=>(0,wee.default)(e,t,(n,i)=>{if(n)throw n;let a=[...i.shape],o=i.shape.length===4?i.shape.shift():1,s=i.data instanceof Buffer?new Uint8Array(i.data):i.data;r({shape:a,data:s,width:i.shape[0],height:i.shape[1],components:i.shape[2],layers:o?[o]:[]})}))}async function io(e,t,r,n){return n._parse(e,t,r,n)}function jt(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var wu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Aee=wu.self||wu.window||wu.global||{},See=wu.window||wu.self||wu.global||{},Tee=wu.global||wu.self||wu.window||{},Cee=wu.document||{};var jr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Eee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),aMe=Eee&&parseFloat(Eee[1])||0;function k5(e,t){return Dee(e||{},t)}function Dee(e,t,r=0){if(r>3)return t;let n={...e};for(let[i,a]of Object.entries(t))a&&typeof a=="object"&&!Array.isArray(a)?n[i]=Dee(n[i]||{},t[i],r+1):n[i]=t[i];return n}var Fee="latest";function oMe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.0-alpha.4"),globalThis._loadersgl_.version}var Np=oMe();function Mi(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var Eu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},tLt=Eu.self||Eu.window||Eu.global||{},rLt=Eu.window||Eu.self||Eu.global||{},nLt=Eu.global||Eu.self||Eu.window||{},iLt=Eu.document||{};var _i=typeof process!="object"||String(process)!=="[object process]"||process.browser,Ub=typeof importScripts=="function",Bee=typeof window<"u"&&typeof window.orientation<"u",kee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),aLt=kee&&parseFloat(kee[1])||0;var Gb=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){Mi(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Mi(this.isRunning),this.isRunning=!1,this._reject(t)}};var Up={};Pi(Up,{NodeWorker:()=>Hb,parentPort:()=>sMe});var zb=Pt(require("worker_threads"),1);jv(Up,require("worker_threads"));var sMe=zb==null?void 0:zb.parentPort,Hb=zb.Worker;var B5=new Map;function Iee(e){Mi(e.source&&!e.url||!e.source&&e.url);let t=B5.get(e.source||e.url);return t||(e.url&&(t=uMe(e.url),B5.set(e.url,t)),e.source&&(t=Pee(e.source),B5.set(e.source,t))),Mi(t),t}function uMe(e){if(!e.startsWith("http"))return e;let t=cMe(e);return Pee(t)}function Pee(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function cMe(e){return`try {
|
|
166
166
|
importScripts('${e}');
|
|
167
167
|
} catch (error) {
|
|
168
168
|
console.error(error);
|
|
169
169
|
throw error;
|
|
170
170
|
}`}function I5(e,t=!0,r){let n=r||new Set;if(e){if(Oee(e))n.add(e);else if(Oee(e.buffer))n.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e=="object")for(let i in e)I5(e[i],t,n)}}return r===void 0?Array.from(n):[]}function Oee(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function P5(e){if(e===null)return{};let t=Object.assign({},e);return Object.keys(t).forEach(r=>{typeof e[r]=="object"&&!ArrayBuffer.isView(e[r])&&!(e[r]instanceof Array)?t[r]=P5(e[r]):typeof t[r]=="function"||t[r]instanceof RegExp?t[r]={}:t[r]=e[r]}),t}var O5=()=>{},Ql=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&_i||typeof Hb<"u"&&!_i}constructor(t){let{name:r,source:n,url:i}=t;Mi(n||i),this.name=r,this.source=n,this.url=i,this.onMessage=O5,this.onError=a=>console.log(a),this.worker=_i?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=O5,this.onError=O5,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,r){r=r||I5(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r="Failed to load ";return r+=`worker ${this.name} from ${this.url}. `,t.message&&(r+=`${t.message} in `),t.lineno&&(r+=`:${t.lineno}:${t.colno}`),new Error(r)}_createBrowserWorker(){this._loadableURL=Iee({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error("No data received"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let n=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`;t=new Hb(n,{eval:!1})}else if(this.source)t=new Hb(this.source,{eval:!0});else throw new Error("no worker");return t.on("message",r=>{this.onMessage(r)}),t.on("error",r=>{this.onError(r)}),t.on("exit",r=>{}),t}};var Wb=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return Ql.isSupported()}constructor(t){this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t,r=(i,a,o)=>i.done(o),n=(i,a)=>i.error(a)){let i=new Promise(a=>(this.jobQueue.push({name:t,onMessage:r,onError:n,onStart:a}),this));return this._startQueuedJob(),await i}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:"Starting job",name:r.name,workerThread:t,backlog:this.jobQueue.length});let n=new Gb(r.name,t);t.onMessage=i=>r.onMessage(n,i.type,i.payload),t.onError=i=>r.onError(n,i),r.onStart(n);try{await n.result}catch(i){console.error(`Worker exception: ${i}`)}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){!_i||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let t=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new Ql({name:t,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return Bee?this.maxMobileConcurrency:this.maxConcurrency}};var lMe={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},Gp=class{props;workerPools=new Map;static isSupported(){return Ql.isSupported()}static getWorkerFarm(t={}){return Gp._workerFarm=Gp._workerFarm||new Gp({}),Gp._workerFarm.setProps(t),Gp._workerFarm}constructor(t){this.props={...lMe},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:n,url:i}=t,a=this.workerPools.get(r);return a||(a=new Wb({name:r,source:n,url:i}),a.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,a)),a}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},la=Gp;NU(la,"_workerFarm");function jee(e){let t=e.version!==Np?` (worker-utils@${Np})`:"";return`${e.name}@${e.version}${t}`}function $b(e,t={}){let r=t[e.id]||{},n=_i?`${e.id}-worker.js`:`${e.id}-worker-node.js`,i=r.workerUrl;if(!i&&e.id==="compression"&&(i=t.workerUrl),t._workerType==="test"&&(_i?i=`modules/${e.module}/dist/${n}`:i=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!i){let a=e.version;a==="latest"&&(a=Fee);let o=a?`@${a}`:"";i=`https://unpkg.com/@loaders.gl/${e.module}${o}/dist/${n}`}return Mi(i),i}async function j5(e,t,r={},n={}){let i=jee(e),a=la.getWorkerFarm(r),{source:o}=r,s={name:i,source:o};o||(s.url=$b(e,r));let u=a.getWorkerPool(s),c=r.jobName||e.name,l=await u.startJob(c,fMe.bind(null,n)),f=P5(r);return l.postMessage("process",{input:t,options:f}),(await l.result).result}async function fMe(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{if(!e.process){t.postMessage("error",{id:i,error:"Worker not set up to process on main thread"});return}let s=await e.process(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`process-on-worker: unknown message ${r}`)}}function R5(e,t=Np){Mi(e,"no worker provided");let r=e.version;return!(!t||!r)}var L5={};Pi(L5,{readFileAsArrayBuffer:()=>Sw,readFileAsText:()=>Tw,requireFromFile:()=>Cw,requireFromString:()=>l0});var M5=Pt(require("module"),1),Ree=Pt(require("path"),1),Vb=Pt(require("fs"),1);async function Sw(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():Vb.readFileSync(e).buffer}async function Tw(e){return e.startsWith("http")?await(await fetch(e)).text():Vb.readFileSync(e,"utf8")}async function Cw(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return l0(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=await Vb.promises.readFile(e,"utf8");return l0(t)}function l0(e,t="",r){if(typeof t=="object"&&(r=t,t=""),typeof e!="string")throw new Error(`code must be a string, not ${typeof e}`);let n=M5.default._nodeModulePaths(Ree.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new M5.default(t,i);return a.filename=t,a.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),a._compile(e,t),i&&i.children&&i.children.splice(i.children.indexOf(a),1),a.exports}var q5={};async function Au(e,t=null,r={},n=null){return t&&(e=Mee(e,t,r,n)),q5[e]=q5[e]||pMe(e),await q5[e]}function Mee(e,t,r={},n=null){if(!r.useLocalLibraries&&e.startsWith("http"))return e;n=n||e;let i=r.modules||{};return i[n]?i[n]:_i?r.CDN?(Mi(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Np}/dist/libs/${n}`):Ub?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function pMe(e){if(e.endsWith("wasm"))return await hMe(e);if(!_i)try{return L5&&Cw&&await Cw(e)}catch(r){return console.error(r),null}if(Ub)return importScripts(e);let t=await mMe(e);return dMe(t,e)}function dMe(e,t){if(!_i)return l0&&l0(e,t);if(Ub)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 hMe(e){return _i||!Sw||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await Sw(e)}async function mMe(e){return _i||!Tw||e.startsWith("http")?await(await fetch(e)).text():await Tw(e)}var Uee=Pt(require("child_process"),1);var Lee=Pt(require("child_process"),1);function qee(e=3e3){return new Promise(t=>{Lee.default.exec("lsof -i -P -n | grep LISTEN",(r,n)=>{if(r){t(e);return}let i=[],a=/:(\d+) \(LISTEN\)/;n.split(`
|
|
171
|
-
`).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}var Nee={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},f0=class{id;props={...Nee};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Nee,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await qee(t.port)),r.push(t.portArg,String(this.port))),await new Promise((n,i)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),n({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=Uee.spawn(t.command,r,t.spawn);this.childProcess=a,a.stdout.on("data",o=>{console.log(o.toString())}),a.stderr.on("data",o=>{console.log(`Child process wrote to stderr: "${o}".`),t.ignoreStderr||(this._clearTimeout(),i(new Error(o)))}),a.on("error",o=>{console.log(`Child process errored with ${o}`),this._clearTimeout(),i(o)}),a.on("close",o=>{console.log(`Child process exited with ${o}`),this.childProcess=null,this._clearTimeout(),n({})})}catch(a){i(a)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};function N5(e,t){return!la.isSupported()||!_i&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}async function U5(e,t,r,n,i){let a=e.id,o=$b(e,r),u=la.getWorkerFarm(r).getWorkerPool({name:a,url:o});r=JSON.parse(JSON.stringify(r)),n=JSON.parse(JSON.stringify(n||{}));let c=await u.startJob("process-on-worker",gMe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function gMe(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{let s=await e(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function G5(e,t){return!la.isSupported()||!jr&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}function zee(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Gee(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Gee(e,0,t):""}function Gee(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function z5(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${zee(e)}"`)}}function Su(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),i=new Uint8Array(t);for(let a=0;a<n.length;++a)if(n[a]!==i[a])return!1;return!0}function Pn(...e){return Dw(e)}function Dw(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function ao(...e){let t=e,r=t&&t.length>1&&t[0].constructor||null;if(!r)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let n=t.reduce((o,s)=>o+s.length,0),i=new r(n),a=0;for(let o of t)i.set(o,a),a+=o.length;return i}function zp(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 oo(e,t){return jt(e>=0),jt(t>0),e+(t-1)&~(t-1)}function H5(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let i=e.byteOffset,a=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(n,r),r+oo(n.byteLength,4)}function W5(e,t){let r=e.length,i=Math.ceil(r/t)*t-r,a="";for(let o=0;o<i;++o)a+=" ";return e+a}function p0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function Kb(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function Fw(e,t,r,n){let i=oo(r.byteLength,n),a=i-r.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),s=new Uint8Array(r);o.set(s);for(let u=0;u<a;++u)e.setUint8(t+r.byteLength+u,32)}return t+=i,t}function d0(e,t,r,n){let a=new TextEncoder().encode(r);return t=Fw(e,t,a,n),t}async function Hp(e){let t=[];for await(let r of e)t.push(r);return Pn(...t)}function Zl(e){return Zl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zl(e)}function $5(e,t){if(Zl(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Zl(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function V5(e){var t=$5(e,"string");return Zl(t)==="symbol"?t:String(t)}function At(e,t,r){return t=V5(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var vMe="",Hee={};function Tu(e){for(let t in Hee)if(e.startsWith(t)){let r=Hee[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${vMe}${e}`),e}var bMe="4.2.0-alpha.3",K5={name:"JSON",id:"json",module:"json",version:bMe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Wee,parse:async e=>Wee(new TextDecoder().decode(e)),options:{}};function Wee(e){return JSON.parse(e)}function $ee(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function Vee(e){return e&&typeof e=="object"&&e.isBuffer}function Fc(e){if(Vee(e))return $ee(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 h0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var qa={};Pi(qa,{dirname:()=>_Me,filename:()=>yMe,join:()=>wMe,resolve:()=>EMe});function Kee(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)==null?void 0:t.pathname;return(e==null?void 0:e.slice(0,e.lastIndexOf("/")+1))||""}function yMe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function _Me(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function wMe(...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 EMe(...e){let t=[];for(let a=0;a<e.length;a++)t[a]=e[a];let r="",n=!1,i;for(let a=t.length-1;a>=-1&&!n;a--){let o;a>=0?o=t[a]:(i===void 0&&(i=Kee()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Jb)}return r=AMe(r,!n),n?`/${r}`:r.length>0?r:"."}var Jb=47,J5=46;function AMe(e,t){let r="",n=-1,i=0,a,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else{if(a===Jb)break;a=Jb}if(a===Jb){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==J5||r.charCodeAt(r.length-2)!==J5){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Jb;--c);if(c!==u){r=c===-1?"":r.slice(0,c),n=s,i=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=s,i=0,o=!1;continue}}t&&(r.length>0?r+="/..":r="..",o=!0)}else{let u=e.slice(n+1,s);r.length>0?r+=`/${u}`:r=u,o=!1}n=s,i=0}else a===J5&&i!==-1?++i:i=-1}return r}var Xb=new Error("Not implemented"),kc=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){var i;if((i=globalThis.loaders)!=null&&i.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw jr?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 Xb}async write(t,r,n){throw Xb}async stat(){throw Xb}async truncate(t){throw Xb}async append(t){throw Xb}async close(){}};var m0=new Error("Not implemented"),Yb=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw jr?new Error("Can't instantiate NodeFileSystem in browser."):new Error("Can't instantiate NodeFileSystem. Make sure to import @loaders.gl/polyfills first.")}readable=!0;writable=!0;async openReadableFile(t,r){throw m0}async openWritableFile(t,r,n){throw m0}async readdir(t=".",r){throw m0}async stat(t,r){throw m0}async unlink(t){throw m0}async fetch(t,r){throw m0}};var X5=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var so=class{file;constructor(t,r=!1){this.file=new kc(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 i=Number(n);return await this.file.read(t,i)}get length(){return this.file.bigsize}};var Bc=Pt(require("fs"),1),Wp=class{handle;size;bigsize;url;constructor(t,r,n){t=Tu(t),this.handle=Bc.default.openSync(t,r,n);let i=Bc.default.fstatSync(this.handle,{bigint:!0});this.size=Number(i.size),this.bigsize=i.size,this.url=t}async close(){return new Promise((t,r)=>{Bc.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{Bc.default.ftruncate(this.handle,t,i=>{i?n(i):(this.bigsize=BigInt(t),this.size=Number(this.bigsize),r())})})}async append(t){return new Promise((r,n)=>{Bc.default.appendFile(this.handle,t,i=>{i?n(i):(this.bigsize=this.bigsize+BigInt(t.length),this.size=Number(this.bigsize),r())})})}async stat(){return await new Promise((t,r)=>Bc.default.fstat(this.handle,{bigint:!0},(n,i)=>{let a={size:Number(i.size),bigsize:i.size,isDirectory:i.isDirectory()};n?r(n):t(a)}))}async read(t,r){let n=new ArrayBuffer(r),i=BigInt(t),a=0,o=new Uint8Array(n),s;for(;r>0;){let u=await TMe(this.handle,o,0,r,i);if(u===0)break;a+=u,i+=BigInt(u),r-=u,s!==void 0&&(s+=u)}return a<r?n.slice(0,a):n}async write(t,r=0,n=t.byteLength){return new Promise((i,a)=>{let o=Number(r),s=new Uint8Array(t,Number(r),n);Bc.default.write(this.handle,s,0,n,o,(u,c)=>u?a(u):i(c))})}};async function TMe(e,t,r,n,i){return await new Promise((a,o)=>Bc.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var Pw=Pt(require("fs/promises"),1);var Q5=Pt(require("fs"),1),Y5=require("stream");var kw=Pt(require("zlib"),1),CMe=e=>e&&e instanceof ArrayBuffer,DMe=e=>e&&e instanceof Buffer;function Bw(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(kw.default.createBrotliDecompress());case"gzip":return e.pipe(kw.default.createGunzip());case"deflate":return e.pipe(kw.default.createDeflate());default:return e}}async function Jee(e){let t=[];return await new Promise((r,n)=>{e.on("error",i=>n(i)),e.on("readable",()=>e.read()),e.on("data",i=>{typeof i=="string"&&n(new Error("Read stream not binary")),t.push(kMe(i))}),e.on("end",()=>{let i=FMe(t);r(i)})})}function FMe(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function kMe(e){if(CMe(e))return e;if(DMe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;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(${JSON.stringify(e,null,2).slice(10)})`)}var BMe=e=>typeof e=="boolean",Xee=e=>typeof e=="function",IMe=e=>e!==null&&typeof e=="object",PMe=e=>IMe(e)&&Xee(e.read)&&Xee(e.pipe)&&BMe(e.readable);async function Iw(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=Tu(n);let i=new Headers;e.endsWith(".gz")&&(i["content-encoding"]="gzip"),e.endsWith(".br")&&(i["content-encoding"]="br");try{let a=await new Promise((f,p)=>{let d=Q5.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",m=>p(m))}),o=a;PMe(a)?o=Bw(a,i):typeof a=="string"?o=Y5.Readable.from([new TextEncoder().encode(a)]):o=Y5.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=OMe(n),l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}catch(a){let o=a.message,s=400,u=o,c={},l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}}function OMe(e){let t={};if(!t["content-length"]){let r=Q5.default.statSync(e);t["content-length"]=r.size}return e.endsWith(".gz")&&(e=e.slice(0,-3),t["content-encoding"]="gzip"),new Headers(t)}var Ow=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await Pw.default.readdir(t,r)}async stat(t){let r=await Pw.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await Pw.default.unlink(t)}async fetch(t,r){return await Iw(t,r)}async openReadableFile(t,r="r"){return new Wp(t,r)}async openWritableFile(t,r="w",n){return new Wp(t,r,n)}};var Ic=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){var o,s;let n=[];for await(let u of t)n.push(u),yield u;let i=await this.concatenate(n),a=await this.hash(i,r);(s=(o=this.options.crypto)==null?void 0:o.onEnd)==null||s.call(o,{hash:a})}async concatenate(t){return await Hp(t)}};var g0=class{crc;constructor(){this.crc=-1}update(t){let r=RMe(),n=new Uint8Array(t);for(let i=0;i<n.byteLength;i++)this.crc=this.crc>>>8^r[(this.crc^n[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},jMe=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function RMe(){return jMe}function Yee(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 i=0;i<n.length;i++)typeof n[i]>"u"?t+="=":t+=MMe(n[i])}return t}function MMe(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 Z5(e,t){switch(t){case"hex":return Qee(e);case"base64":return ete(Qee(e));default:throw new Error(t)}}function Zee(e,t){switch(t){case"hex":return e;case"base64":return ete(e);default:throw new Error(t)}}function ete(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Yee(r)||""}function Qee(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var Qb=class extends Ic{name="crc32";options;constructor(t={}){super(),this.options={crypto:{},...t},this.hashBatches=this.hashBatches.bind(this)}async hash(t,r){return this.hashSync(t,r)}hashSync(t,r){let n=new g0;n.update(t);let i=n.finalize();return Z5(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new g0;for await(let s of t)n.update(s),yield s;let i=n.finalize();(o=(a=this.options.crypto)==null?void 0:a.onEnd)==null||o.call(a,{hash:Z5(i,r)})}};var rte=typeof atob=="function"?atob:typeof Buffer=="function"?HMe:ite,LMe=rte("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"),eB=WebAssembly&&rte!==ite?zMe(LMe).buffer:!1,Cu=WMe(),tB=240*16*16,nte=Math.floor(tB*16*1.066666667),qMe=268435456-65536,tte="Parameter must be Buffer, ArrayBuffer or Uint8Array",NMe="Parameter exceeds max size of 255.9 Mbytes";eB||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function rB(e){var t,r,n,i,a,o,s,u,c,l;let f=GMe(),p=UMe(),d={},m=new Date().getTime();return d.then=function(w){return s=w,v(),d},d.catch=function(w){return u=w,d},e&&typeof e=="object"?typeof Buffer=="function"&&e.constructor===Buffer?o=e:e.constructor===Uint8Array||e.constructor===ArrayBuffer?o=e.constructor===ArrayBuffer?new Uint8Array(e):e:y(new TypeError(tte)):y(new TypeError(tte)),o&&(a=o.length,eB&&a>nte?a>qMe?y(new Error(NMe)):(t=new WebAssembly.Memory({initial:a>32e6?a>64e6?a>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),i={mem:t,log:console.log},n={imports:i},WebAssembly.instantiate(eB,n).then(g)):v(f(o))),d;function g(w){v(p(o,w.instance.exports,r))}function v(w){var A=Boolean(w)?w:c;Boolean(w)&&(l=new Date().getTime()),typeof s=="function"?Boolean(A)&&(s(A,l-m),s=u=null):Boolean(w)&&(c=w)}function y(w){typeof u=="function"&&u(w)}}function UMe(){var e,t,r,n,i,a,o,s,u,c,l,f,p,d=function(m){var g,v,y,w,A,C,T,B,j,U,I,R,M,z,W,X,te,ee,ye,he,ve,Ee,qe=new Date().getTime(),Le=0,Z=1732584193,H=-271733879,Q=-1732584194,re=271733878,Pe=0,Xe=m.length*8,nt;for(nt=Ae(m,p),p[Xe>>>5]|=128<<Xe%32,p[(Xe+64>>>9<<4)+14]=Xe,nt=(Xe+64>>>9<<4)+15,ve=p;Pe<nt;)nt>Pe+nte?(n(Z),a(H),s(Q),c(re),t(tB),Pe=Pe+tB*16,Z=r(),H=i(),Q=o(),re=u(),Le++):(te=Z,ee=H,ye=Q,he=re,g=ve[Pe+0]>>>0,v=ve[Pe+1]>>>0,y=ve[Pe+2]>>>0,w=ve[Pe+3]>>>0,A=ve[Pe+4]>>>0,C=ve[Pe+5]>>>0,T=ve[Pe+6]>>>0,B=ve[Pe+7]>>>0,j=ve[Pe+8]>>>0,U=ve[Pe+9]>>>0,I=ve[Pe+10]>>>0,R=ve[Pe+11]>>>0,M=ve[Pe+12]>>>0,z=ve[Pe+13]>>>0,W=ve[Pe+14]>>>0,X=ve[Pe+15]>>>0,Z=ce(7,25,Z+(H&Q|~H&re)+g-680876936)+H,re=ce(12,20,re+(Z&H|~Z&Q)+v-389564586)+Z,Q=ce(17,15,Q+(re&Z|~re&H)+y+606105819)+re,H=ce(22,10,H+(Q&re|~Q&Z)+w-1044525330)+Q,Z=ce(7,25,Z+(H&Q|~H&re)+A-176418897)+H,re=ce(12,20,re+(Z&H|~Z&Q)+C+1200080426)+Z,Q=ce(17,15,Q+(re&Z|~re&H)+T-1473231341)+re,H=ce(22,10,H+(Q&re|~Q&Z)+B-45705983)+Q,Z=ce(7,25,Z+(H&Q|~H&re)+j+1770035416)+H,re=ce(12,20,re+(Z&H|~Z&Q)+U-1958414417)+Z,Q=ce(17,15,Q+(re&Z|~re&H)+I-42063)+re,H=ce(22,10,H+(Q&re|~Q&Z)+R-1990404162)+Q,Z=ce(7,25,Z+(H&Q|~H&re)+M+1804603682)+H,re=ce(12,20,re+(Z&H|~Z&Q)+z-40341101)+Z,Q=ce(17,15,Q+(re&Z|~re&H)+W-1502002290)+re,H=ce(22,10,H+(Q&re|~Q&Z)+X+1236535329)+Q,Z=ce(5,27,Z+(H&re|Q&~re)+v-165796510)+H,re=ce(9,23,re+(Z&Q|H&~Q)+T-1069501632)+Z,Q=ce(14,18,Q+(re&H|Z&~H)+R+643717713)+re,H=ce(20,12,H+(Q&Z|re&~Z)+g-373897302)+Q,Z=ce(5,27,Z+(H&re|Q&~re)+C-701558691)+H,re=ce(9,23,re+(Z&Q|H&~Q)+I+38016083)+Z,Q=ce(14,18,Q+(re&H|Z&~H)+X-660478335)+re,H=ce(20,12,H+(Q&Z|re&~Z)+A-405537848)+Q,Z=ce(5,27,Z+(H&re|Q&~re)+U+568446438)+H,re=ce(9,23,re+(Z&Q|H&~Q)+W-1019803690)+Z,Q=ce(14,18,Q+(re&H|Z&~H)+w-187363961)+re,H=ce(20,12,H+(Q&Z|re&~Z)+j+1163531501)+Q,Z=ce(5,27,Z+(H&re|Q&~re)+z-1444681467)+H,re=ce(9,23,re+(Z&Q|H&~Q)+y-51403784)+Z,Q=ce(14,18,Q+(re&H|Z&~H)+B+1735328473)+re,H=ce(20,12,H+(Q&Z|re&~Z)+M-1926607734)+Q,Z=ce(4,28,Z+(H^Q^re)+C-378558)+H,re=ce(11,21,re+(Z^H^Q)+j-2022574463)+Z,Q=ce(16,16,Q+(re^Z^H)+R+1839030562)+re,H=ce(23,9,H+(Q^re^Z)+W-35309556)+Q,Z=ce(4,28,Z+(H^Q^re)+v-1530992060)+H,re=ce(11,21,re+(Z^H^Q)+A+1272893353)+Z,Q=ce(16,16,Q+(re^Z^H)+B-155497632)+re,H=ce(23,9,H+(Q^re^Z)+I-1094730640)+Q,Z=ce(4,28,Z+(H^Q^re)+z+681279174)+H,re=ce(11,21,re+(Z^H^Q)+g-358537222)+Z,Q=ce(16,16,Q+(re^Z^H)+w-722521979)+re,H=ce(23,9,H+(Q^re^Z)+T+76029189)+Q,Z=ce(4,28,Z+(H^Q^re)+U-640364487)+H,re=ce(11,21,re+(Z^H^Q)+M-421815835)+Z,Q=ce(16,16,Q+(re^Z^H)+X+530742520)+re,H=ce(23,9,H+(Q^re^Z)+y-995338651)+Q,Z=ce(6,26,Z+(Q^(H|~re))+g-198630844)+H,re=ce(10,22,re+(H^(Z|~Q))+B+1126891415)+Z,Q=ce(15,17,Q+(Z^(re|~H))+W-1416354905)+re,H=ce(21,11,H+(re^(Q|~Z))+C-57434055)+Q,Z=ce(6,26,Z+(Q^(H|~re))+M+1700485571)+H,re=ce(10,22,re+(H^(Z|~Q))+w-1894986606)+Z,Q=ce(15,17,Q+(Z^(re|~H))+I-1051523)+re,H=ce(21,11,H+(re^(Q|~Z))+v-2054922799)+Q,Z=ce(6,26,Z+(Q^(H|~re))+j+1873313359)+H,re=ce(10,22,re+(H^(Z|~Q))+X-30611744)+Z,Q=ce(15,17,Q+(Z^(re|~H))+T-1560198380)+re,H=ce(21,11,H+(re^(Q|~Z))+z+1309151649)+Q,Z=ce(6,26,Z+(Q^(H|~re))+A-145523070)+H,re=ce(10,22,re+(H^(Z|~Q))+R-1120210379)+Z,Q=ce(15,17,Q+(Z^(re|~H))+y+718787259)+re,H=ce(21,11,H+(re^(Q|~Z))+U-343485551)+Q,Pe=Pe+16,Z=Z+te>>>0,H=H+ee>>>0,Q=Q+ye>>>0,re=re+he>>>0);return Cu.endian([Z,H,Q,re]);function ce(_e,st,Be){return Be<<_e|Be>>>st}function Ae(_e,st){for(var Be=-1,lt=Math.floor((_e.length-1)/4),Tt=0,pr,se,Ne,Qe;lt-8>Be++;)Tt=Be<<2,st[Be]=_e[Tt+0]|_e[Tt+1]<<8|_e[Tt+2]<<16|_e[Tt+3]<<24;for(Be--;lt>Be++;)Tt=Be<<2,pr=typeof _e[Tt+0]>"u"?0:_e[Tt+0],se=typeof _e[Tt+1]>"u"?0:_e[Tt+1],Ne=typeof _e[Tt+2]>"u"?0:_e[Tt+2],Qe=typeof _e[Tt+3]>"u"?0:_e[Tt+3],st[Be]=pr|se<<8|Ne<<16|Qe<<24;return lt+1}};return function(m,g,v,y){var w;return t=g.loops,e=g.loop,r=g.getA,i=g.getB,o=g.getC,u=g.getD,l=g.getX,n=g.setA,a=g.setB,s=g.setC,c=g.setD,f=g.setX,p=v,w=Cu.wordsToBytes(d(m)),y&&y.asBytes?w:Cu.bytesconvertNumberToHex(w)}}function GMe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,p,d,m,g,v,y,w,A,C,T,B,j,U=new Date().getTime(),I=1732584193,R=-271733879,M=-1732584194,z=271733878,W=t.length*8;j=Cu.bytesToWords(t);for(var X=0;X<j.length;X++)j[X]=(j[X]<<8|j[X]>>>24)&16711935|(j[X]<<24|j[X]>>>8)&4278255360;j[W>>>5]|=128<<W%32,j[(W+64>>>9<<4)+14]=W;for(var te=0;te<j.length;te+=16)A=I,C=R,T=M,B=z,n=j[te+0]>>>0,i=j[te+1]>>>0,a=j[te+2]>>>0,o=j[te+3]>>>0,s=j[te+4]>>>0,u=j[te+5]>>>0,c=j[te+6]>>>0,l=j[te+7]>>>0,f=j[te+8]>>>0,p=j[te+9]>>>0,d=j[te+10]>>>0,m=j[te+11]>>>0,g=j[te+12]>>>0,v=j[te+13]>>>0,y=j[te+14]>>>0,w=j[te+15]>>>0,I=ee(7,25,I+(R&M|~R&z)+n-680876936)+R,z=ee(12,20,z+(I&R|~I&M)+i-389564586)+I,M=ee(17,15,M+(z&I|~z&R)+a+606105819)+z,R=ee(22,10,R+(M&z|~M&I)+o-1044525330)+M,I=ee(7,25,I+(R&M|~R&z)+s-176418897)+R,z=ee(12,20,z+(I&R|~I&M)+u+1200080426)+I,M=ee(17,15,M+(z&I|~z&R)+c-1473231341)+z,R=ee(22,10,R+(M&z|~M&I)+l-45705983)+M,I=ee(7,25,I+(R&M|~R&z)+f+1770035416)+R,z=ee(12,20,z+(I&R|~I&M)+p-1958414417)+I,M=ee(17,15,M+(z&I|~z&R)+d-42063)+z,R=ee(22,10,R+(M&z|~M&I)+m-1990404162)+M,I=ee(7,25,I+(R&M|~R&z)+g+1804603682)+R,z=ee(12,20,z+(I&R|~I&M)+v-40341101)+I,M=ee(17,15,M+(z&I|~z&R)+y-1502002290)+z,R=ee(22,10,R+(M&z|~M&I)+w+1236535329)+M,I=ee(5,27,I+(R&z|M&~z)+i-165796510)+R,z=ee(9,23,z+(I&M|R&~M)+c-1069501632)+I,M=ee(14,18,M+(z&R|I&~R)+m+643717713)+z,R=ee(20,12,R+(M&I|z&~I)+n-373897302)+M,I=ee(5,27,I+(R&z|M&~z)+u-701558691)+R,z=ee(9,23,z+(I&M|R&~M)+d+38016083)+I,M=ee(14,18,M+(z&R|I&~R)+w-660478335)+z,R=ee(20,12,R+(M&I|z&~I)+s-405537848)+M,I=ee(5,27,I+(R&z|M&~z)+p+568446438)+R,z=ee(9,23,z+(I&M|R&~M)+y-1019803690)+I,M=ee(14,18,M+(z&R|I&~R)+o-187363961)+z,R=ee(20,12,R+(M&I|z&~I)+f+1163531501)+M,I=ee(5,27,I+(R&z|M&~z)+v-1444681467)+R,z=ee(9,23,z+(I&M|R&~M)+a-51403784)+I,M=ee(14,18,M+(z&R|I&~R)+l+1735328473)+z,R=ee(20,12,R+(M&I|z&~I)+g-1926607734)+M,I=ee(4,28,I+(R^M^z)+u-378558)+R,z=ee(11,21,z+(I^R^M)+f-2022574463)+I,M=ee(16,16,M+(z^I^R)+m+1839030562)+z,R=ee(23,9,R+(M^z^I)+y-35309556)+M,I=ee(4,28,I+(R^M^z)+i-1530992060)+R,z=ee(11,21,z+(I^R^M)+s+1272893353)+I,M=ee(16,16,M+(z^I^R)+l-155497632)+z,R=ee(23,9,R+(M^z^I)+d-1094730640)+M,I=ee(4,28,I+(R^M^z)+v+681279174)+R,z=ee(11,21,z+(I^R^M)+n-358537222)+I,M=ee(16,16,M+(z^I^R)+o-722521979)+z,R=ee(23,9,R+(M^z^I)+c+76029189)+M,I=ee(4,28,I+(R^M^z)+p-640364487)+R,z=ee(11,21,z+(I^R^M)+g-421815835)+I,M=ee(16,16,M+(z^I^R)+w+530742520)+z,R=ee(23,9,R+(M^z^I)+a-995338651)+M,I=ee(6,26,I+(M^(R|~z))+n-198630844)+R,z=ee(10,22,z+(R^(I|~M))+l+1126891415)+I,M=ee(15,17,M+(I^(z|~R))+y-1416354905)+z,R=ee(21,11,R+(z^(M|~I))+u-57434055)+M,I=ee(6,26,I+(M^(R|~z))+g+1700485571)+R,z=ee(10,22,z+(R^(I|~M))+o-1894986606)+I,M=ee(15,17,M+(I^(z|~R))+d-1051523)+z,R=ee(21,11,R+(z^(M|~I))+i-2054922799)+M,I=ee(6,26,I+(M^(R|~z))+f+1873313359)+R,z=ee(10,22,z+(R^(I|~M))+w-30611744)+I,M=ee(15,17,M+(I^(z|~R))+c-1560198380)+z,R=ee(21,11,R+(z^(M|~I))+v+1309151649)+M,I=ee(6,26,I+(M^(R|~z))+s-145523070)+R,z=ee(10,22,z+(R^(I|~M))+m-1120210379)+I,M=ee(15,17,M+(I^(z|~R))+a+718787259)+z,R=ee(21,11,R+(z^(M|~I))+p-343485551)+M,I=I+A>>>0,R=R+C>>>0,M=M+T>>>0,z=z+B>>>0;return Cu.endian([I,R,M,z]);function ee(ye,he,ve){return ve<<ye|ve>>>he}};return function(t,r){var n=Cu.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:Cu.bytesconvertNumberToHex(n);return i}}function zMe(e){var t,r,n,i=-1;for(t=e.length-1,r=new ArrayBuffer(e.length),n=new Uint8Array(r);t>i++;)n[i]=e.charCodeAt(i);return n}function HMe(e){return Buffer.from(e,"base64").toString("binary")}function ite(e){return e}function WMe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return Cu.rotl(t,8)&16711935|Cu.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=Cu.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,i=0;n<t.length;n++,i+=8)r[i>>>5]|=t[n]<<24-i%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 Du=class extends Ic{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>rB(t).then(a).catch(o));return Zee(i,r)}};var Zb=Pt(require("crypto"),1),jw=class extends Ic{name="crypto-node";options;_algorithm;_hash;constructor(t){var r,n;if(super(),this.options=t,!((n=(r=this.options)==null?void 0:r.crypto)!=null&&n.algorithm))throw new Error(this.name)}async hash(t,r){var i,a,o,s;let n=(o=(a=(i=this.options)==null?void 0:i.crypto)==null?void 0:a.algorithm)==null?void 0:o.toLowerCase();try{if(!Zb.createHash)throw new Error("crypto.createHash not available");let u=(s=Zb.createHash)==null?void 0:s(n),c=new Uint8Array(t);return u.update(c).digest("base64")}catch(u){throw Error(`${n} hash not available. ${u}`)}}async*hashBatches(t,r="base64"){var a,o,s,u,c,l,f;if(!Zb.createHash)throw new Error("crypto.createHash not available");let n=(u=Zb.createHash)==null?void 0:u((s=(o=(a=this.options)==null?void 0:a.crypto)==null?void 0:o.algorithm)==null?void 0:s.toLowerCase());for await(let p of t){let d=new Uint8Array(p);n.update(d),yield p}let i=n.digest(r);(f=(l=(c=this.options)==null?void 0:c.crypto)==null?void 0:l.onEnd)==null||f.call(l,{hash:i})}};var xte=require("process");var ate=Pt(require("stream"),1),nB=class{},$Me=ate.Readable||nB;function aB(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new iB(r,t)}var iB=class extends $Me{_pulling;_bytesMode;_iterator;constructor(t,r){super(r),this._iterator=t,this._pulling=!1,this._bytesMode=!r||!r.objectMode}async _read(t){this._pulling||(this._pulling=!0,this._pulling=await this._pull(t,this._iterator))}async _destroy(t,r){var n,i,a,o;this._iterator&&(t?await((i=(n=this._iterator)==null?void 0:n.throw)==null?void 0:i.call(n,t)):await((o=(a=this._iterator)==null?void 0:a.return)==null?void 0:o.call(a,t)),r==null||r(null))}async _pull(t,r){var a;let n=this._bytesMode,i=null;for(;this.readable&&!(i=await r.next()).done&&(t!==null&&(t-=n&&ArrayBuffer.isView(i.value)?i.value.byteLength:1),!(!this.push(new Uint8Array(i.value))||t<=0)););return(i!=null&&i.done||!this.readable)&&(this.push(null)||!0)&&((a=r==null?void 0:r.return)==null||a.call(r)),!this.readable}};var ute=Pt(ste(),1);delete globalThis.ReadableStream;var Mw=class extends ute.ReadableStream{};var Lw=class{chunks;isWorking=!1;isCancelled=!1;constructor(t){this.chunks=t}start(t){this.work(t)}async work(t){let{chunks:r}=this;for(this.isWorking=!0;!this.isCancelled&&(t.desiredSize||0)>0;){let n;try{n=r.next()}catch(i){t.error(i);break}n&&(!n.done&&!this.isCancelled?t.enqueue(n.value):t.close())}this.isWorking=!1}pull(t){this.isWorking||this.work(t)}cancel(){this.isCancelled=!0}};var qw=class extends Mw{_chunks;constructor(t){super(new Lw(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var $p=class{type;size;parts;constructor(t=[],r={}){this.parts=[],this.size=0;for(let n of t)if(typeof n=="string"){let i=new TextEncoder().encode(n);this.parts.push(i),this.size+=i.byteLength}else if(n instanceof $p)this.size+=n.size,this.parts.push(...n.parts);else if(n instanceof ArrayBuffer)this.parts.push(new Uint8Array(n)),this.size+=n.byteLength;else if(n instanceof Uint8Array)this.parts.push(n),this.size+=n.byteLength;else if(ArrayBuffer.isView(n)){let{buffer:i,byteOffset:a,byteLength:o}=n;this.parts.push(new Uint8Array(i,a,o)),this.size+=o}else{let i=new TextEncoder().encode(String(n));this.parts.push(i),this.size+=i.byteLength}this.type=VMe(r.type)}slice(t=0,r=this.size,n=""){let{size:i,parts:a}=this,o=t<0?Math.max(i+t,0):Math.min(t,i),s=r<0?Math.max(i+r,0):Math.min(r,i),u=Math.max(s-o,0),c=new $p([],{type:n});if(u===0)return c;let l=0,f=[];for(let p of a){let{byteLength:d}=p;if(o>0&&d<=o)o-=d,s-=d;else{let m=p.subarray(o,Math.min(d,s));if(f.push(m),l+=m.byteLength,o=0,l>=u)break}}return c.parts=f,c.size=l,c}async arrayBuffer(){return this._toArrayBuffer()}async text(){let t=new TextDecoder,r="";for(let n of this.parts)r+=t.decode(n);return r}stream(){return new qw(this.parts)}toString(){return"[object Blob]"}get[Symbol.toStringTag](){return"Blob"}_toArrayBuffer(){let t=new ArrayBuffer(this.size),r=new Uint8Array(t),n=0;for(let i of this.parts)r.set(i,n),n+=i.byteLength;return t}};function VMe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function KMe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=$p),globalThis.Blob}var JMe=KMe();var Nw=class{onload;onabort;onerror;error;onloadstart;onloadend;onprogress;readyState;result;DONE;EMPTY;LOADING;addEventListener;removeEventListener;dispatchEvent;constructor(){this.onload=null}abort(){}async readAsArrayBuffer(t){let r=await t.arrayBuffer();this.onload&&this.onload({target:{result:r}})}async readAsBinaryString(t){throw Error("Not implemented")}async readAsDataURL(t){let r=await t.text(),n=`data://;base64,${Mv(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var Uw=class extends globalThis.Blob{name="";webkitRelativePath="";lastModified;constructor(t,r,n={}){super(t,n),this.name=String(r).replace(/\//g,":"),this.lastModified=(n==null?void 0:n.lastModified)||Date.now()}get[Symbol.toStringTag](){return"File"}};function cte(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=Nw),typeof File>"u"&&!globalThis.File&&(globalThis.File=Uw),global}var XMe=cte();var oB=Pt(require("module"),1),lte=Pt(require("path"),1),zw=Pt(require("fs"),1);async function fte(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():zw.default.readFileSync(e).buffer}async function pte(e){return e.startsWith("http")?await(await fetch(e)).text():zw.default.readFileSync(e,"utf8")}async function dte(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return Gw(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=await zw.default.readFileSync(e,"utf8");return Gw(t)}function Gw(e,t="",r){if(typeof t=="object"&&(r=t,t=""),t=t.replace("file://",""),typeof e!="string")throw new Error(`code must be a string, not ${typeof e}`);let n=oB.default._nodeModulePaths(lte.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new oB.default(t,i);return a.filename=t,a.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),a._compile(e,t),i&&i.children&&i.children.splice(i.children.indexOf(a),1),a.exports}var As=class{map;constructor(t){this.map={},t instanceof As?t.forEach((r,n)=>this.append(n,r)):Array.isArray(t)?t.forEach(r=>this.append(r[0],r[1])):t&&Object.getOwnPropertyNames(t).forEach(r=>this.append(r,t[r]))}append(t,r){t=ex(t),r=hte(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[ex(t)]}get(t){return t=ex(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(ex(t))}set(t,r){this.map[ex(t)]=hte(r)}forEach(t,r=null){for(let n in this.map)this.map.hasOwnProperty(n)&&(r?t.call(r,this.map[n],n,this):t(this.map[n],n,this))}keys(){let t=[];return this.forEach(function(r,n){t.push(n)}),sB(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),sB(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),sB(t)}*[Symbol.iterator](){yield*this.entries()}};function ex(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e)||e==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function hte(e){return typeof e!="string"&&(e=String(e)),e}function sB(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function uB(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var lB=Pt(require("stream"),1),YMe=e=>typeof e=="boolean",mte=e=>typeof e=="function",QMe=e=>e!==null&&typeof e=="object",cB=e=>QMe(e)&&mte(e.read)&&mte(e.pipe)&&YMe(e.readable),Pc=class{ok;status;statusText;headers;url;bodyUsed=!1;_body;constructor(t,r){let{headers:n,status:i=200,statusText:a="OK",url:o}=r||{};this.url=o,this.ok=i===200,this.status=i,this.statusText=a,this.headers=new As((r==null?void 0:r.headers)||{}),cB(t)?this._body=Bw(t,n):typeof t=="string"?this._body=lB.Readable.from([new TextEncoder().encode(t)]):this._body=lB.Readable.from([t||new ArrayBuffer(0)])}get body(){return uB(!this.bodyUsed),uB(cB(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return cB(this._body)?await Jee(this._body):this._body||new ArrayBuffer(0)}async text(){let t=await this.arrayBuffer();return new TextDecoder().decode(t)}async json(){let t=await this.text();return JSON.parse(t)}async blob(){if(typeof Blob>"u")throw new Error("Blob polyfill not installed");return new Blob([await this.arrayBuffer()])}};var vte=Pt(require("http"),1),bte=Pt(require("https"),1);var ZMe=e=>e&&e instanceof ArrayBuffer,eLe=e=>e&&e instanceof Buffer;function gte(e){let t=e.indexOf(","),r,n;return e.slice(t-7,t)===";base64"?(r=Buffer.from(e.slice(t+1),"base64"),n=e.slice(5,t-7).trim()):(r=Buffer.from(decodeURIComponent(e.slice(t+1))),n=e.slice(5,t).trim()),n?n.startsWith(";")&&(n=`text/plain${n}`):n="text/plain;charset=US-ASCII",{arrayBuffer:tLe(r),mimeType:n}}function tLe(e){if(ZMe(e))return e;if(eLe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;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(${JSON.stringify(e,null,2).slice(10)})`)}var fB=e=>e.startsWith("data:"),rLe=e=>e.startsWith("http:")||e.startsWith("https:");async function tx(e,t){try{if(globalThis.fetch!==tx&&(rLe(e)||fB(e)))return await fetch(e,t);if(fB(e)){let{arrayBuffer:c,mimeType:l}=gte(e);return new Pc(c,{headers:{"content-type":l},url:e})}let r={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip");let i=await nLe(n,t),a=sLe(e,i,r),{status:o,statusText:s}=oLe(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=iLe(e,a.get("location"));return await tx(c,t)}return new Pc(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new Pc(null,{status:400,statusText:String(r),url:e})}}async function nLe(e,t){return await new Promise((r,n)=>{let i=aLe(e,t),a=e.startsWith("https:")?bte.default.request(i,o=>r(o)):vte.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function iLe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function aLe(e,t){let r=(t==null?void 0:t.headers)||{},n={};for(let a of Object.keys(r))n[a.toLowerCase()]=r[a];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let i=new URL(e);return{hostname:i.hostname,path:i.pathname,method:"GET",...t,...t==null?void 0:t.fetch,headers:n,port:i.port}}function oLe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function sLe(e,t,r={}){let n={};if(t&&t.headers){let i=t.headers;for(let a in i){let o=i[a];n[a.toLowerCase()]=String(o)}}if(!n["content-length"]){let i=uLe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new As(n)}function uLe(e){return fB(e)?e.length-5:null}var cLe=parseInt(xte.versions.node.split(".")[0]);UU&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=aB;globalThis.loaders.NodeFile=Wp;globalThis.loaders.NodeFileSystem=Ow;globalThis.loaders.fetchNode=Iw;globalThis.loaders.NodeHash=jw;globalThis.TextEncoder||(globalThis.TextEncoder=Rv);globalThis.TextDecoder||(globalThis.TextDecoder=yp);!("atob"in globalThis)&&Mv&&(globalThis.atob=Mv);!("btoa"in globalThis)&&AD&&(globalThis.btoa=AD);globalThis.loaders.encodeImageNode=HH;globalThis.loaders.parseImageNode=F5;globalThis.loaders.imageFormatsNode=D5;globalThis._parseImageNode=F5;globalThis._imageFormatsNode=D5;globalThis.loaders.readFileAsArrayBuffer=fte;globalThis.loaders.readFileAsText=pte;globalThis.loaders.requireFromFile=dte;globalThis.loaders.requireFromString=Gw;cLe<18&&(!("Headers"in globalThis)&&As&&(globalThis.Headers=As),!("Response"in globalThis)&&Pc&&(globalThis.Response=Pc),!("fetch"in globalThis)&&tx&&(globalThis.fetch=tx));var o6e=require("path"),nD=Pt(fme(),1);var hn={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var KT=class{_attributeStorageInfo;_fields;_popupInfo;constructor(){this._attributeStorageInfo=[],this._fields=[]}get attributeStorageInfo(){return this._attributeStorageInfo}get fields(){return this._fields}get popupInfo(){return this._popupInfo}addMetadataInfo(t){if(!Object.keys(t).length)return;let r={OBJECTID:hn.OBJECT_ID_TYPE,...t},n=!1,i=this._attributeStorageInfo.length;for(let a in r)if(!this._attributeStorageInfo.find(s=>s.name===a)){let s=r[a],u=this.createStorageAttribute(i,a,s),c=this.getFieldAttributeType(s),l=this.createFieldAttribute(a,c);this._attributeStorageInfo.push(u),this._fields.push(l),i+=1,n=!0}if(n){let a=[];for(let o of this._attributeStorageInfo)a.push(o.name);this._popupInfo=this.createPopupInfo(a)}}fromObject(t){this._attributeStorageInfo=t.attributeStorageInfo,this._fields=t.fields,this._popupInfo=t.popupInfo}createStorageAttribute(t,r,n){let i={key:`f_${t}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(n){case hn.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case hn.STRING_TYPE:this.setupStringAttribute(i);break;case hn.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case hn.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case hn.OBJECT_ID_TYPE:return"esriFieldTypeOID";case hn.STRING_TYPE:return"esriFieldTypeString";case hn.SHORT_INT_TYPE:return"esriFieldTypeInteger";case hn.DOUBLE_TYPE:return"esriFieldTypeDouble";default:return"esriFieldTypeString"}}setupIdAttribute(t){t.attributeValues={valueType:"Oid32",valuesPerElement:1}}setupStringAttribute(t){t.ordering.unshift("attributeByteCounts"),t.header.push({property:"attributeValuesByteCount",valueType:"UInt32"}),t.attributeValues={valueType:"String",encoding:"UTF-8",valuesPerElement:1},t.attributeByteCounts={valueType:"UInt32",valuesPerElement:1}}setupDoubleAttribute(t){t.attributeValues={valueType:"Float64",valuesPerElement:1}}createFieldAttribute(t,r){return{name:t,type:r,alias:t}}createPopupInfo(t){let r="{OBJECTID}",n=[],i=[],a=[],o=[];for(let s of t)i.push({fieldName:s,visible:!0,isEditable:!1,label:s});return a.push({fieldInfos:i,type:"fields"}),{title:r,mediaInfos:n,popupElements:a,fieldInfos:i,expressionInfos:o}}};var Gbt=e=>typeof e=="boolean",fy=e=>typeof e=="function",xd=e=>e!==null&&typeof e=="object",W9=e=>xd(e)&&e.constructor==={}.constructor;var pme=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",dme=e=>e&&typeof e[Symbol.asyncIterator]=="function";var Ro=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Mo=e=>typeof Blob<"u"&&e instanceof Blob,hme=e=>e&&typeof e=="object"&&e.isBuffer;var zbt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||xd(e)&&fy(e.tee)&&fy(e.cancel)&&fy(e.getReader);var Hbt=e=>xd(e)&&fy(e.read)&&fy(e.pipe)&&Gbt(e.readable),JT=e=>zbt(e)||Hbt(e);var Wbt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,$bt=/^([-\w.]+\/[-\w.+]+)/;function mme(e){let t=$bt.exec(e);return t?t[1]:e}function $9(e){let t=Wbt.exec(e);return t?t[1]:""}var gme=/\?.*/;function vme(e){let t=e.match(gme);return t&&t[0]}function Wm(e){return e.replace(gme,"")}function yd(e){return Ro(e)?e.url:Mo(e)?e.name||"":typeof e=="string"?e:""}function py(e){if(Ro(e)){let t=e,r=t.headers.get("content-type")||"",n=Wm(t.url);return mme(r)||$9(n)}return Mo(e)?e.type||"":typeof e=="string"?$9(e):""}function bme(e){return Ro(e)?e.headers["content-length"]||-1:Mo(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function XT(e){if(Ro(e))return e;let t={},r=bme(e);r>=0&&(t["content-length"]=String(r));let n=yd(e),i=py(e);i&&(t["content-type"]=i);let a=await Kbt(e);a&&(t["x-first-bytes"]=a),typeof e=="string"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,"url",{value:n}),o}async function xme(e){if(!e.ok){let t=await Vbt(e);throw new Error(t)}}async function Vbt(e){let t=`Failed to fetch resource ${e.url} (${e.status}): `;try{let r=e.headers.get("Content-Type"),n=e.statusText;r!=null&&r.includes("application/json")&&(n+=` ${await e.text()}`),t+=n,t=t.length>60?`${t.slice(0,60)}...`:t}catch{}return t}async function Kbt(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(n=>{let i=new FileReader;i.onload=a=>{var o;return n((o=a==null?void 0:a.target)==null?void 0:o.result)},i.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${Jbt(r)}`}return null}function Jbt(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function Xbt(e){return!Ybt(e)&&!Qbt(e)}function Ybt(e){return e.startsWith("http:")||e.startsWith("https:")}function Qbt(e){return e.startsWith("data:")}async function Aa(e,t){var r,n;if(typeof e=="string"){let i=Tu(e);return Xbt(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await XT(e)}function V9(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 Ps(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||V9()}var Zbt=globalThis.self||globalThis.window||globalThis.global,$m=globalThis.window||globalThis.self||globalThis.global,ext=globalThis.document||{},_d=globalThis.process||{},txt=globalThis.console,FXt=globalThis.navigator||{};var YT="4.2.0-alpha.3",IXt=Ps();function rxt(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var QT=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";At(this,"storage",void 0),At(this,"id",void 0),At(this,"config",void 0),this.storage=rxt(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 yme(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 _me(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 ZT(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var e3;(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"})(e3||(e3={}));var nxt=10;function wme(e){return typeof e!="string"?e:(e=e.toUpperCase(),e3[e]||e3.WHITE)}function Eme(e,t,r){if(!Ps&&typeof e=="string"){if(t){let n=wme(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=wme(r);e="\x1B[".concat(n+nxt,"m").concat(e,"\x1B[49m")}}return e}function Ame(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function Vm(e,t){if(!e)throw new Error(t||"Assertion failed")}function wd(){let e;if(Ps()&&$m.performance){var t,r;e=$m===null||$m===void 0||(t=$m.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in _d){var n;let i=_d===null||_d===void 0||(n=_d.hrtime)===null||n===void 0?void 0:n.call(_d);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var Km={debug:Ps()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},ixt={enabled:!0,level:0};function Lo(){}var Sme={},Tme={once:!0},zu=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};At(this,"id",void 0),At(this,"VERSION",YT),At(this,"_startTs",wd()),At(this,"_deltaTs",wd()),At(this,"_storage",void 0),At(this,"userData",{}),At(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this.userData={},this._storage=new QT("__probe-".concat(this.id,"__"),ixt),this.timeStamp("".concat(this.id," started")),Ame(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((wd()-this._startTs).toPrecision(10))}getDelta(){return Number((wd()-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){Vm(t,r)}warn(t){return this._getLogFunction(0,t,Km.warn,arguments,Tme)}error(t){return this._getLogFunction(0,t,Km.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,Km.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,Km.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,Km.debug||Km.info,arguments,Tme)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||Lo,n&&[n],{tag:uxt(r)}):Lo}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?Ps()?sxt({image:i,message:a,scale:o}):oxt({image:i,message:a,scale:o}):Lo}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||Lo)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=Cme({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}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||Lo)}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()>=Dme(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=Cme({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,Vm(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=wd();let o=a.tag||a.message;if(a.once&&o)if(!Sme[o])Sme[o]=wd();else return Lo;return r=axt(this.id,a.message,a),n.bind(console,r,...a.args)}return Lo}};At(zu,"VERSION",YT);function Dme(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 Vm(Number.isFinite(t)&&t>=0),t}function Cme(e){let{logLevel:t,message:r}=e;e.logLevel=Dme(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 i=typeof e.message;return Vm(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function axt(e,t,r){if(typeof t=="string"){let n=r.time?_me(yme(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=Eme(t,r.color,r.background)}return t}function oxt(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),Lo}function sxt(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=ZT(a,r,n);console.log(...o)},a.src=t,Lo}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...ZT(t,r,n)),Lo;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...ZT(a,r,n)),a.src=t.toDataURL(),Lo}return Lo}function uxt(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var aYt=new zu({id:"@probe.gl/log"});var K9=new zu({id:"loaders.gl"}),t3=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},r3=class{console;constructor(){this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}};var J9={fetch:null,mimeType:void 0,nothrow:!1,log:new r3,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:jr,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Fme={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function X9(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state=e._state||{},e._state}function Jm(){let e=X9();return e.globalOptions=e.globalOptions||{...J9},e.globalOptions}function Ime(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],cxt(e,r),fxt(t,e,n)}function cxt(e,t){kme(e,null,J9,Fme,t);for(let r of t){let n=e&&e[r.id]||{},i=r.options&&r.options[r.id]||{},a=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};kme(n,r.id,i,a,t)}}function kme(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&xd(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)K9.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=lxt(s,i);K9.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function lxt(e,t){let r=e.toLowerCase(),n="";for(let i of t)for(let a in i.options){if(e===a)return`Did you mean '${i.id}.${a}'?`;let o=a.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(n=n||`Did you mean '${i.id}.${a}'?`)}return n}function fxt(e,t,r){let i={...e.options||{}};return pxt(i,r),i.log===null&&(i.log=new t3),Bme(i,Jm()),Bme(i,t),i}function Bme(e,t){for(let r in t)if(r in t){let n=t[r];W9(n)&&W9(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function pxt(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function dy(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function Y9(e){jt(e,"null loader"),jt(dy(e),"invalid loader");let t;return Array.isArray(e)&&(t=e[1],e=e[0],e={...e,options:{...e.options,...t}}),(e!=null&&e.parseTextSync||e!=null&&e.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var dxt=()=>{let e=X9();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Pme(){return dxt()}var Ome=new zu({id:"loaders.gl"});var hxt=/\.([^.]+)$/;async function Mme(e,t=[],r,n){if(!Lme(e))return null;let i=jme(e,t,{...r,nothrow:!0},n);if(i)return i;if(Mo(e)&&(e=await e.slice(0,10).arrayBuffer(),i=jme(e,t,r,n)),!i&&!(r!=null&&r.nothrow))throw new Error(qme(e));return i}function jme(e,t=[],r,n){if(!Lme(e))return null;if(t&&!Array.isArray(t))return Y9(t);let i=[];t&&(i=i.concat(t)),r!=null&&r.ignoreRegisteredLoaders||i.push(...Pme()),gxt(i);let a=mxt(e,i,r,n);if(!a&&!(r!=null&&r.nothrow))throw new Error(qme(e));return a}function mxt(e,t,r,n){let i=yd(e),a=py(e),o=Wm(i)||(n==null?void 0:n.url),s=null,u="";return r!=null&&r.mimeType&&(s=Q9(t,r==null?void 0:r.mimeType),u=`match forced by supplied MIME type ${r==null?void 0:r.mimeType}`),s=s||vxt(t,o),u=u||(s?`matched url ${o}`:""),s=s||Q9(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||xxt(t,e),u=u||(s?`matched initial data ${Nme(e)}`:""),r!=null&&r.fallbackMimeType&&(s=s||Q9(t,r==null?void 0:r.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&Ome.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function Lme(e){return!(e instanceof Response&&e.status===204)}function qme(e){let t=yd(e),r=py(e),n="No valid loader found (";n+=t?`${qa.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?Nme(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function gxt(e){for(let t of e)Y9(t)}function vxt(e,t){let r=t&&hxt.exec(t),n=r&&r[1];return n?bxt(e,n):null}function bxt(e,t){t=t.toLowerCase();for(let r of e)for(let n of r.extensions)if(n.toLowerCase()===t)return r;return null}function Q9(e,t){for(let r of e)if(r.mimeTypes&&r.mimeTypes.includes(t)||t===`application/x.${r.id}`)return r;return null}function xxt(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(yxt(t,r))return r}else if(ArrayBuffer.isView(t)){if(Rme(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&Rme(t,0,r))return r;return null}function yxt(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function Rme(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>_xt(e,t,r,i))}function _xt(e,t,r,n){if(n instanceof ArrayBuffer)return Su(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=Z9(e,t,n.length);return n===i;default:return!1}}function Nme(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Z9(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Z9(e,0,t):""}function Z9(e,t,r){if(e.byteLength<t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function*Ume(e,t){let r=(t==null?void 0:t.chunkSize)||262144,n=0,i=new TextEncoder;for(;n<e.length;){let a=Math.min(e.length-n,r),o=e.slice(n,n+a);n+=a,yield i.encode(o)}}function*Gme(e,t={}){let{chunkSize:r=262144}=t,n=0;for(;n<e.byteLength;){let i=Math.min(e.byteLength-n,r),a=new ArrayBuffer(i),o=new Uint8Array(e,n,i);new Uint8Array(a).set(o),n+=i,yield a}}async function*zme(e,t){let r=(t==null?void 0:t.chunkSize)||1048576,n=0;for(;n<e.size;){let i=n+r,a=await e.slice(n,i).arrayBuffer();n=i,yield a}}function eR(e,t){return jr?wxt(e,t):Ext(e,t)}async function*wxt(e,t){let r=e.getReader(),n;try{for(;;){let i=n||r.read();t!=null&&t._streamReadAhead&&(n=r.read());let{done:a,value:o}=await i;if(a)return;yield Fc(o)}}catch{r.releaseLock()}}async function*Ext(e,t){for await(let r of e)yield Fc(r)}function Hme(e,t){if(typeof e=="string")return Ume(e,t);if(e instanceof ArrayBuffer)return Gme(e,t);if(Mo(e))return zme(e,t);if(JT(e))return eR(e,t);if(Ro(e))return eR(e.body,t);throw new Error("makeIterator")}var Wme="Cannot convert supplied data type";function Axt(e,t,r){if(t.text&&typeof e=="string")return e;if(hme(e)&&(e=e.buffer),e instanceof ArrayBuffer){let n=e;return t.text&&!t.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(e)){if(t.text&&!t.binary)return new TextDecoder("utf8").decode(e);let n=e.buffer,i=e.byteLength||e.length;return(e.byteOffset!==0||i!==n.byteLength)&&(n=n.slice(e.byteOffset,e.byteOffset+i)),n}throw new Error(Wme)}async function $me(e,t,r){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return Axt(e,t,r);if(Mo(e)&&(e=await XT(e)),Ro(e)){let i=e;return await xme(i),t.binary?await i.arrayBuffer():await i.text()}if(JT(e)&&(e=Hme(e,r)),pme(e)||dme(e))return Hp(e);throw new Error(Wme)}function n3(e,t){let r=Jm(),n=e||r;return typeof n.fetch=="function"?n.fetch:xd(n.fetch)?i=>Aa(i,n.fetch):t!=null&&t.fetch?t==null?void 0:t.fetch:Aa}function Vme(e,t,r){if(r)return r;let n={fetch:n3(t,e),...e};if(n.url){let i=Wm(n.url);n.baseUrl=i,n.queryString=vme(n.url),n.filename=qa.filename(i),n.baseUrl=qa.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function Kme(e,t){if(e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let n=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...n]:n}return r&&r.length?r:void 0}async function co(e,t,r,n){t&&!Array.isArray(t)&&!dy(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=yd(e),o=Kme(t,n),s=await Mme(e,o,r);return s?(r=Ime(r,s,o,i),n=Vme({url:i,_parse:co,loaders:o},r,n||null),await Sxt(s,e,r,n)):null}async function Sxt(e,t,r,n){if(R5(e),r=k5(e.options,r),Ro(t)){let a=t,{ok:o,redirected:s,status:u,statusText:c,type:l,url:f}=a,p=Object.fromEntries(a.headers.entries());n.response={headers:p,ok:o,redirected:s,status:u,statusText:c,type:l,url:f}}t=await $me(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(N5(e,r))return await U5(e,t,r,n,co);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw Mi(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Jme(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 tR(e){let t=1/0,r=1/0,n=1/0,i=-1/0,a=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length;for(let c=0;c<u;c+=3){let l=s[c],f=s[c+1],p=s[c+2];t=l<t?l:t,r=f<r?f:r,n=p<n?p:n,i=l>i?l:i,a=f>a?f:a,o=p>o?p:o}return[[t,r,n],[i,a,o]]}function rR(e,t,r){let n=Jme(t.value),i=r||Xme(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function Xme(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}async function un(e,t,r,n){let i,a;!Array.isArray(t)&&!dy(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=n3(a),s=e;return typeof e=="string"&&(s=await o(e)),Mo(e)&&(s=await o(e)),Array.isArray(i)?await co(s,i,a):await co(s,i,a)}async function Xm(e,t,r){return r={...Jm(),...r},t.encodeURLtoURL?Txt(t,e,r):G5(t,r)?await j5(t,e,r):await t.encode(e,r)}function i3(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return new TextEncoder().encode(t.encodeTextSync(e,r));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function Qme(e,t,r,n){if(e=Tu(e),t=Tu(t),jr||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function Txt(e,t,r){if(jr)throw new Error(`Writer ${e.name} not supported in browser`);let n=Yme("input");await new kc(n,"w").write(t);let a=Yme("output"),o=await Qme(n,a,e,r);return(await Aa(o)).arrayBuffer()}function Yme(e){return`/tmp/${e}`}var Cxt=1/Math.PI*180,Dxt=1/180*Math.PI,Fxt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Fxt}};var Jr=globalThis.mathgl.config;function nR(e,{precision:t=Jr.precision}={}){return e=kxt(e),"".concat(parseFloat(e.toPrecision(t)))}function qo(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function iR(e){return Zme(e)}function aR(e){return Kc(e)}function Zme(e,t){return sR(e,r=>r*Dxt,t)}function Kc(e,t){return sR(e,r=>r*Cxt,t)}function oR(e,t,r){return sR(e,n=>Math.max(t,Math.min(r,n)))}function lo(e,t,r){let n=Jr.EPSILON;r&&(Jr.EPSILON=r);try{if(e===t)return!0;if(qo(e)&&qo(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!lo(e[i],t[i]))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)<=Jr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Jr.EPSILON=n}}function kxt(e){return Math.round(e/Jr.EPSILON)*Jr.EPSILON}function Bxt(e){return e.clone?e.clone():new Array(e.length)}function sR(e,t,r){if(qo(e)){let n=e;r=r||Bxt(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}function Ixt(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 Rf=class extends Ixt(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:qo(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Jr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+nR(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(!lo(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 i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}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(Jr.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 Pxt(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 rr(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function Mf(e,t,r=""){if(Jr.debug&&!Pxt(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function Si(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var Lf=class extends Rf{get x(){return this[0]}set x(t){this[0]=rr(t)}get y(){return this[1]}set y(t){this[1]=rr(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 i=this[n]-t[n];r+=i*i}return rr(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return rr(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 Si(t>=0&&t<this.ELEMENTS,"index is out of range"),rr(this[t])}setComponent(t,r){return Si(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 mn=typeof Float32Array<"u"?Float32Array:Array,hy=Math.random;function Ym(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var ZQt=Math.PI/180;function Oxt(){let e=new mn(2);return mn!=Float32Array&&(e[0]=0,e[1]=0),e}function ege(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e}function tge(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e}function a3(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function o3(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var eZt=function(){let e=Oxt();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function s3(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function u3(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function rge(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function nge(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function c3(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Ed=class extends Lf{constructor(t=0,r=0){super(2),qo(t)&&arguments.length===1?this.copy(t):(Jr.debug&&(rr(t),rr(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 Jr.debug&&(rr(t.x),rr(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 o3(this,this,t),this.check()}transformAsVector(t){return s3(this,this,t),this.check()}transformByMatrix3(t){return a3(this,this,t),this.check()}transformByMatrix2x3(t){return tge(this,this,t),this.check()}transformByMatrix2(t){return ege(this,this,t),this.check()}};var Zm={};Pi(Zm,{add:()=>Lxt,angle:()=>pR,bezier:()=>Yxt,ceil:()=>qxt,clone:()=>jxt,copy:()=>Rxt,create:()=>l3,cross:()=>Ad,dist:()=>oyt,distance:()=>uge,div:()=>ayt,divide:()=>sge,dot:()=>my,equals:()=>ryt,exactEquals:()=>tyt,floor:()=>Nxt,forEach:()=>cyt,fromValues:()=>f3,hermite:()=>Xxt,inverse:()=>Vxt,len:()=>dR,length:()=>ige,lerp:()=>Kxt,max:()=>Gxt,min:()=>Uxt,mul:()=>iyt,multiply:()=>oge,negate:()=>$xt,normalize:()=>uR,random:()=>Qxt,rotateX:()=>cR,rotateY:()=>lR,rotateZ:()=>fR,round:()=>zxt,scale:()=>Hxt,scaleAndAdd:()=>Wxt,set:()=>Mxt,slerp:()=>Jxt,sqrDist:()=>syt,sqrLen:()=>uyt,squaredDistance:()=>cge,squaredLength:()=>lge,str:()=>eyt,sub:()=>nyt,subtract:()=>age,transformMat3:()=>gy,transformMat4:()=>Sd,transformQuat:()=>vy,zero:()=>Zxt});function l3(){let e=new mn(3);return mn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function jxt(e){let t=new mn(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function ige(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function f3(e,t,r){let n=new mn(3);return n[0]=e,n[1]=t,n[2]=r,n}function Rxt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Mxt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function Lxt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function age(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function oge(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function sge(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function qxt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function Nxt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function Uxt(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 Gxt(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 zxt(e,t){return e[0]=Ym(t[0]),e[1]=Ym(t[1]),e[2]=Ym(t[2]),e}function Hxt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function Wxt(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 uge(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function cge(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function lge(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function $xt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function Vxt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function uR(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function my(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Ad(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function Kxt(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function Jxt(e,t,r,n){let i=Math.acos(Math.min(Math.max(my(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;return e[0]=o*t[0]+s*r[0],e[1]=o*t[1]+s*r[1],e[2]=o*t[2]+s*r[2],e}function Xxt(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function Yxt(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,p=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*p,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*p,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*p,e}function Qxt(e,t){t=t===void 0?1:t;let r=hy()*2*Math.PI,n=hy()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function Sd(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function gy(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function vy(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,p=n*u-i*s,d=i*p-a*f,m=a*l-n*p,g=n*f-i*l,v=o*2;return l*=v,f*=v,p*=v,d*=2,m*=2,g*=2,e[0]=s+l+d,e[1]=u+f+m,e[2]=c+p+g,e}function cR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function lR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function fR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function pR(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&my(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function Zxt(e){return e[0]=0,e[1]=0,e[2]=0,e}function eyt(e){return"vec3(".concat(e[0],", ").concat(e[1],", ").concat(e[2],")")}function tyt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function ryt(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var nyt=age,iyt=oge,ayt=sge,oyt=uge,syt=cge,dR=ige,uyt=lge,cyt=function(){let e=l3();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var hR=[0,0,0],p3,ie=class extends Lf{static get ZERO(){return p3||(p3=new ie(0,0,0),Object.freeze(p3)),p3}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&qo(t)?this.copy(t):(Jr.debug&&(rr(t),rr(r),rr(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 Jr.debug&&(rr(t.x),rr(t.y),rr(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]=rr(t)}angle(t){return pR(this,t)}cross(t){return Ad(this,this,t),this.check()}rotateX({radians:t,origin:r=hR}){return cR(this,this,r,t),this.check()}rotateY({radians:t,origin:r=hR}){return lR(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=hR}){return fR(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Sd(this,this,t),this.check()}transformAsVector(t){return u3(this,this,t),this.check()}transformByMatrix3(t){return gy(this,this,t),this.check()}transformByMatrix2(t){return rge(this,this,t),this.check()}transformByQuaternion(t){return vy(this,this,t),this.check()}};var d3,No=class extends Lf{static get ZERO(){return d3||(d3=new No(0,0,0,0),Object.freeze(d3)),d3}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),qo(t)&&arguments.length===1?this.copy(t):(Jr.debug&&(rr(t),rr(r),rr(n),rr(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 Jr.debug&&(rr(t.x),rr(t.y),rr(t.z),rr(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]=rr(t)}get w(){return this[3]}set w(t){this[3]=rr(t)}transform(t){return Sd(this,this,t),this.check()}transformByMatrix3(t){return c3(this,this,t),this.check()}transformByMatrix2(t){return nge(this,this,t),this.check()}transformByQuaternion(t){return vy(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var eg=class extends Rf{toString(){let t="[";if(Jr.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]=rr(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function fge(){let e=new mn(9);return mn!=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 pge(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}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 dge(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,d=c*a-o*u,m=r*f+n*p+i*d;return m?(m=1/m,e[0]=f*m,e[1]=(-l*n+i*c)*m,e[2]=(s*n-i*o)*m,e[3]=p*m,e[4]=(l*r-i*u)*m,e[5]=(-s*r+i*a)*m,e[6]=d*m,e[7]=(-c*r+n*u)*m,e[8]=(o*r-n*a)*m,e):null}function hge(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function mR(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1],m=r[2],g=r[3],v=r[4],y=r[5],w=r[6],A=r[7],C=r[8];return e[0]=p*n+d*o+m*c,e[1]=p*i+d*s+m*l,e[2]=p*a+d*u+m*f,e[3]=g*n+v*o+y*c,e[4]=g*i+v*s+y*l,e[5]=g*a+v*u+y*f,e[6]=w*n+A*o+C*c,e[7]=w*i+A*s+C*l,e[8]=w*a+A*u+C*f,e}function mge(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=p*n+d*o+c,e[7]=p*i+d*s+l,e[8]=p*a+d*u+f,e}function gge(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=Math.sin(r),d=Math.cos(r);return e[0]=d*n+p*o,e[1]=d*i+p*s,e[2]=d*a+p*u,e[3]=d*o-p*n,e[4]=d*s-p*i,e[5]=d*u-p*a,e[6]=c,e[7]=l,e[8]=f,e}function gR(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function vge(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,m=i*u,g=a*o,v=a*s,y=a*u;return e[0]=1-f-m,e[3]=l-y,e[6]=p+v,e[1]=l+y,e[4]=1-c-m,e[7]=d-g,e[2]=p-v,e[5]=d+g,e[8]=1-c-f,e}var vR;(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"})(vR||(vR={}));var fyt=Object.freeze([1,0,0,0,1,0,0,0,1]),hr=class extends eg{static get IDENTITY(){return dyt()}static get ZERO(){return pyt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return vR}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(fyt)}fromObject(t){return this.check()}fromQuaternion(t){return vge(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return hge(this)}transpose(){return pge(this,this),this.check()}invert(){return dge(this,this),this.check()}multiplyLeft(t){return mR(this,t,this),this.check()}multiplyRight(t){return mR(this,this,t),this.check()}rotate(t){return gge(this,this,t),this.check()}scale(t){return Array.isArray(t)?gR(this,this,t):gR(this,this,[t,t]),this.check()}translate(t){return mge(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=a3(r||[-0,-0],t,this);break;case 3:n=gy(r||[-0,-0,-0],t,this);break;case 4:n=c3(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Mf(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)}},h3,m3=null;function pyt(){return h3||(h3=new hr([0,0,0,0,0,0,0,0,0]),Object.freeze(h3)),h3}function dyt(){return m3||(m3=new hr,Object.freeze(m3)),m3}var g3={};Pi(g3,{add:()=>Lyt,adjoint:()=>xyt,clone:()=>myt,copy:()=>gyt,create:()=>hyt,decompose:()=>Fyt,determinant:()=>yR,equals:()=>Gyt,exactEquals:()=>Uyt,frob:()=>Myt,fromQuat:()=>CR,fromQuat2:()=>Tyt,fromRotation:()=>wyt,fromRotationTranslation:()=>xge,fromRotationTranslationScale:()=>kyt,fromRotationTranslationScaleOrigin:()=>Byt,fromScaling:()=>_yt,fromTranslation:()=>yyt,fromValues:()=>vyt,fromXRotation:()=>Eyt,fromYRotation:()=>Ayt,fromZRotation:()=>Syt,frustum:()=>DR,getRotation:()=>Dyt,getScaling:()=>yge,getTranslation:()=>Cyt,identity:()=>bge,invert:()=>xR,lookAt:()=>BR,mul:()=>zyt,multiply:()=>by,multiplyScalar:()=>qyt,multiplyScalarAndAdd:()=>Nyt,ortho:()=>kR,orthoNO:()=>wge,orthoZO:()=>Oyt,perspective:()=>FR,perspectiveFromFieldOfView:()=>Pyt,perspectiveNO:()=>_ge,perspectiveZO:()=>Iyt,rotate:()=>ER,rotateX:()=>AR,rotateY:()=>SR,rotateZ:()=>TR,scale:()=>wR,set:()=>byt,str:()=>Ryt,sub:()=>Hyt,subtract:()=>Ege,targetTo:()=>jyt,translate:()=>_R,transpose:()=>bR});function hyt(){let e=new mn(16);return mn!=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 myt(e){let t=new mn(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 gyt(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 vyt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,m,g){let v=new mn(16);return v[0]=e,v[1]=t,v[2]=r,v[3]=n,v[4]=i,v[5]=a,v[6]=o,v[7]=s,v[8]=u,v[9]=c,v[10]=l,v[11]=f,v[12]=p,v[13]=d,v[14]=m,v[15]=g,v}function byt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,m,g,v){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=m,e[14]=g,e[15]=v,e}function bge(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 bR(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=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]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}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 xR(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],m=t[12],g=t[13],v=t[14],y=t[15],w=r*s-n*o,A=r*u-i*o,C=r*c-a*o,T=n*u-i*s,B=n*c-a*s,j=i*c-a*u,U=l*g-f*m,I=l*v-p*m,R=l*y-d*m,M=f*v-p*g,z=f*y-d*g,W=p*y-d*v,X=w*W-A*z+C*M+T*R-B*I+j*U;return X?(X=1/X,e[0]=(s*W-u*z+c*M)*X,e[1]=(i*z-n*W-a*M)*X,e[2]=(g*j-v*B+y*T)*X,e[3]=(p*B-f*j-d*T)*X,e[4]=(u*R-o*W-c*I)*X,e[5]=(r*W-i*R+a*I)*X,e[6]=(v*C-m*j-y*A)*X,e[7]=(l*j-p*C+d*A)*X,e[8]=(o*z-s*R+c*U)*X,e[9]=(n*R-r*z-a*U)*X,e[10]=(m*B-g*C+y*w)*X,e[11]=(f*C-l*B-d*w)*X,e[12]=(s*I-o*M-u*U)*X,e[13]=(r*M-n*I+i*U)*X,e[14]=(g*A-m*T-v*w)*X,e[15]=(l*T-f*A+p*w)*X,e):null}function xyt(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],m=t[12],g=t[13],v=t[14],y=t[15],w=r*s-n*o,A=r*u-i*o,C=r*c-a*o,T=n*u-i*s,B=n*c-a*s,j=i*c-a*u,U=l*g-f*m,I=l*v-p*m,R=l*y-d*m,M=f*v-p*g,z=f*y-d*g,W=p*y-d*v;return e[0]=s*W-u*z+c*M,e[1]=i*z-n*W-a*M,e[2]=g*j-v*B+y*T,e[3]=p*B-f*j-d*T,e[4]=u*R-o*W-c*I,e[5]=r*W-i*R+a*I,e[6]=v*C-m*j-y*A,e[7]=l*j-p*C+d*A,e[8]=o*z-s*R+c*U,e[9]=n*R-r*z-a*U,e[10]=m*B-g*C+y*w,e[11]=f*C-l*B-d*w,e[12]=s*I-o*M-u*U,e[13]=r*M-n*I+i*U,e[14]=g*A-m*T-v*w,e[15]=l*T-f*A+p*w,e}function yR(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],v=e[15],y=t*o-r*a,w=t*s-n*a,A=r*s-n*o,C=c*m-l*d,T=c*g-f*d,B=l*g-f*m,j=t*B-r*T+n*C,U=a*B-o*T+s*C,I=c*A-l*w+f*y,R=d*A-m*w+g*y;return u*j-i*U+v*I-p*R}function by(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],d=t[10],m=t[11],g=t[12],v=t[13],y=t[14],w=t[15],A=r[0],C=r[1],T=r[2],B=r[3];return e[0]=A*n+C*s+T*f+B*g,e[1]=A*i+C*u+T*p+B*v,e[2]=A*a+C*c+T*d+B*y,e[3]=A*o+C*l+T*m+B*w,A=r[4],C=r[5],T=r[6],B=r[7],e[4]=A*n+C*s+T*f+B*g,e[5]=A*i+C*u+T*p+B*v,e[6]=A*a+C*c+T*d+B*y,e[7]=A*o+C*l+T*m+B*w,A=r[8],C=r[9],T=r[10],B=r[11],e[8]=A*n+C*s+T*f+B*g,e[9]=A*i+C*u+T*p+B*v,e[10]=A*a+C*c+T*d+B*y,e[11]=A*o+C*l+T*m+B*w,A=r[12],C=r[13],T=r[14],B=r[15],e[12]=A*n+C*s+T*f+B*g,e[13]=A*i+C*u+T*p+B*v,e[14]=A*a+C*c+T*d+B*y,e[15]=A*o+C*l+T*m+B*w,e}function _R(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,m,g,v,y;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],p=t[6],d=t[7],m=t[8],g=t[9],v=t[10],y=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=m,e[9]=g,e[10]=v,e[11]=y,e[12]=o*n+l*i+m*a+t[12],e[13]=s*n+f*i+g*a+t[13],e[14]=u*n+p*i+v*a+t[14],e[15]=c*n+d*i+y*a+t[15]),e}function wR(e,t,r){let n=r[0],i=r[1],a=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]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function ER(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,p,d,m,g,v,y,w,A,C,T,B,j,U,I,R,M,z,W,X,te;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],p=t[1],d=t[2],m=t[3],g=t[4],v=t[5],y=t[6],w=t[7],A=t[8],C=t[9],T=t[10],B=t[11],j=i*i*l+u,U=a*i*l+o*c,I=o*i*l-a*c,R=i*a*l-o*c,M=a*a*l+u,z=o*a*l+i*c,W=i*o*l+a*c,X=a*o*l-i*c,te=o*o*l+u,e[0]=f*j+g*U+A*I,e[1]=p*j+v*U+C*I,e[2]=d*j+y*U+T*I,e[3]=m*j+w*U+B*I,e[4]=f*R+g*M+A*z,e[5]=p*R+v*M+C*z,e[6]=d*R+y*M+T*z,e[7]=m*R+w*M+B*z,e[8]=f*W+g*X+A*te,e[9]=p*W+v*X+C*te,e[10]=d*W+y*X+T*te,e[11]=m*W+w*X+B*te,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function AR(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],p=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]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e}function SR(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[8],l=t[9],f=t[10],p=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]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e}function TR(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[4],l=t[5],f=t[6],p=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]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e}function yyt(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 _yt(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 wyt(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function Eyt(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 Ayt(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 Syt(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 xge(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,d=i*u,m=i*c,g=a*c,v=o*s,y=o*u,w=o*c;return e[0]=1-(d+g),e[1]=f+w,e[2]=p-y,e[3]=0,e[4]=f-w,e[5]=1-(l+g),e[6]=m+v,e[7]=0,e[8]=p+y,e[9]=m-v,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Tyt(e,t){let r=new mn(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),xge(e,t,r),e}function Cyt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function yge(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function Dyt(e,t){let r=new mn(3);yge(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,p=t[8]*n,d=t[9]*i,m=t[10]*a,g=o+l+m,v=0;return g>0?(v=Math.sqrt(g+1)*2,e[3]=.25*v,e[0]=(f-d)/v,e[1]=(p-u)/v,e[2]=(s-c)/v):o>l&&o>m?(v=Math.sqrt(1+o-l-m)*2,e[3]=(f-d)/v,e[0]=.25*v,e[1]=(s+c)/v,e[2]=(p+u)/v):l>m?(v=Math.sqrt(1+l-o-m)*2,e[3]=(p-u)/v,e[0]=(s+c)/v,e[1]=.25*v,e[2]=(f+d)/v):(v=Math.sqrt(1+m-o-l)*2,e[3]=(s-c)/v,e[0]=(p+u)/v,e[1]=(f+d)/v,e[2]=.25*v),e}function Fyt(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],m=1/r[1],g=1/r[2],v=i*d,y=a*m,w=o*g,A=s*d,C=u*m,T=c*g,B=l*d,j=f*m,U=p*g,I=v+C+U,R=0;return I>0?(R=Math.sqrt(I+1)*2,e[3]=.25*R,e[0]=(T-j)/R,e[1]=(B-w)/R,e[2]=(y-A)/R):v>C&&v>U?(R=Math.sqrt(1+v-C-U)*2,e[3]=(T-j)/R,e[0]=.25*R,e[1]=(y+A)/R,e[2]=(B+w)/R):C>U?(R=Math.sqrt(1+C-v-U)*2,e[3]=(B-w)/R,e[0]=(y+A)/R,e[1]=.25*R,e[2]=(T+j)/R):(R=Math.sqrt(1+U-v-C)*2,e[3]=(y-A)/R,e[0]=(B+w)/R,e[1]=(T+j)/R,e[2]=.25*R),e}function kyt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,p=i*c,d=i*l,m=a*c,g=a*l,v=o*l,y=s*u,w=s*c,A=s*l,C=n[0],T=n[1],B=n[2];return e[0]=(1-(m+v))*C,e[1]=(p+A)*C,e[2]=(d-w)*C,e[3]=0,e[4]=(p-A)*T,e[5]=(1-(f+v))*T,e[6]=(g+y)*T,e[7]=0,e[8]=(d+w)*B,e[9]=(g-y)*B,e[10]=(1-(f+m))*B,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Byt(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,p=a*c,d=a*l,m=a*f,g=o*l,v=o*f,y=s*f,w=u*c,A=u*l,C=u*f,T=n[0],B=n[1],j=n[2],U=i[0],I=i[1],R=i[2],M=(1-(g+y))*T,z=(d+C)*T,W=(m-A)*T,X=(d-C)*B,te=(1-(p+y))*B,ee=(v+w)*B,ye=(m+A)*j,he=(v-w)*j,ve=(1-(p+g))*j;return e[0]=M,e[1]=z,e[2]=W,e[3]=0,e[4]=X,e[5]=te,e[6]=ee,e[7]=0,e[8]=ye,e[9]=he,e[10]=ve,e[11]=0,e[12]=r[0]+U-(M*U+X*I+ye*R),e[13]=r[1]+I-(z*U+te*I+he*R),e[14]=r[2]+R-(W*U+ee*I+ve*R),e[15]=1,e}function CR(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,m=i*u,g=a*o,v=a*s,y=a*u;return e[0]=1-f-m,e[1]=l+y,e[2]=p-v,e[3]=0,e[4]=l-y,e[5]=1-c-m,e[6]=d+g,e[7]=0,e[8]=p+v,e[9]=d-g,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function DR(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function _ge(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var FR=_ge;function Iyt(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function Pyt(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*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 wge(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var kR=wge;function Oyt(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function BR(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,m=t[0],g=t[1],v=t[2],y=n[0],w=n[1],A=n[2],C=r[0],T=r[1],B=r[2];return Math.abs(m-C)<1e-6&&Math.abs(g-T)<1e-6&&Math.abs(v-B)<1e-6?bge(e):(f=m-C,p=g-T,d=v-B,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=w*d-A*p,o=A*f-y*d,s=y*p-w*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=p*s-d*o,c=d*a-f*s,l=f*o-p*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(a*m+o*g+s*v),e[13]=-(u*m+c*g+l*v),e[14]=-(f*m+p*g+d*v),e[15]=1,e)}function jyt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-r[1],p=o-r[2],d=l*l+f*f+p*p;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,p*=d);let m=u*p-c*f,g=c*l-s*p,v=s*f-u*l;return d=m*m+g*g+v*v,d>0&&(d=1/Math.sqrt(d),m*=d,g*=d,v*=d),e[0]=m,e[1]=g,e[2]=v,e[3]=0,e[4]=f*v-p*g,e[5]=p*m-l*v,e[6]=l*g-f*m,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function Ryt(e){return"mat4(".concat(e[0],", ").concat(e[1],", ").concat(e[2],", ").concat(e[3],", ").concat(e[4],", ").concat(e[5],", ").concat(e[6],", ").concat(e[7],", ").concat(e[8],", ").concat(e[9],", ").concat(e[10],", ").concat(e[11],", ").concat(e[12],", ").concat(e[13],", ").concat(e[14],", ").concat(e[15],")")}function Myt(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 Lyt(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 Ege(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 qyt(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 Nyt(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 Uyt(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 Gyt(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],p=e[10],d=e[11],m=e[12],g=e[13],v=e[14],y=e[15],w=t[0],A=t[1],C=t[2],T=t[3],B=t[4],j=t[5],U=t[6],I=t[7],R=t[8],M=t[9],z=t[10],W=t[11],X=t[12],te=t[13],ee=t[14],ye=t[15];return Math.abs(r-w)<=1e-6*Math.max(1,Math.abs(r),Math.abs(w))&&Math.abs(n-A)<=1e-6*Math.max(1,Math.abs(n),Math.abs(A))&&Math.abs(i-C)<=1e-6*Math.max(1,Math.abs(i),Math.abs(C))&&Math.abs(a-T)<=1e-6*Math.max(1,Math.abs(a),Math.abs(T))&&Math.abs(o-B)<=1e-6*Math.max(1,Math.abs(o),Math.abs(B))&&Math.abs(s-j)<=1e-6*Math.max(1,Math.abs(s),Math.abs(j))&&Math.abs(u-U)<=1e-6*Math.max(1,Math.abs(u),Math.abs(U))&&Math.abs(c-I)<=1e-6*Math.max(1,Math.abs(c),Math.abs(I))&&Math.abs(l-R)<=1e-6*Math.max(1,Math.abs(l),Math.abs(R))&&Math.abs(f-M)<=1e-6*Math.max(1,Math.abs(f),Math.abs(M))&&Math.abs(p-z)<=1e-6*Math.max(1,Math.abs(p),Math.abs(z))&&Math.abs(d-W)<=1e-6*Math.max(1,Math.abs(d),Math.abs(W))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(g-te)<=1e-6*Math.max(1,Math.abs(g),Math.abs(te))&&Math.abs(v-ee)<=1e-6*Math.max(1,Math.abs(v),Math.abs(ee))&&Math.abs(y-ye)<=1e-6*Math.max(1,Math.abs(y),Math.abs(ye))}var zyt=by,Hyt=Ege;function Wyt(){let e=new mn(4);return mn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Age(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 Sge(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 Tge(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function Cge(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function Dge(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function Fge(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function kge(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function Bge(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function Ige(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,d=-o*n-s*i-u*a;return e[0]=l*c+d*-o+f*-u-p*-s,e[1]=f*c+d*-s+p*-o-l*-u,e[2]=p*c+d*-u+l*-s-f*-o,e[3]=t[3],e}var IZt=function(){let e=Wyt();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var OR;(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"})(OR||(OR={}));var Vyt=45*Math.PI/180,Kyt=1,IR=.1,PR=500,Jyt=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Sr=class extends eg{static get IDENTITY(){return Yyt()}static get ZERO(){return Xyt()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return OR}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,i,a,o,s,u,c,l,f,p,d,m,g,v){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=m,this[14]=g,this[15]=v,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,m,g,v){return this[0]=t,this[1]=a,this[2]=c,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=m,this[8]=n,this[9]=s,this[10]=f,this[11]=g,this[12]=i,this[13]=u,this[14]=p,this[15]=v,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(Jyt)}fromObject(t){return this.check()}fromQuaternion(t){return CR(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=IR,far:s=PR}=t;return s===1/0?Qyt(this,r,n,i,a,o):DR(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return BR(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=IR,far:s=PR}=t;return kR(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=Vyt,aspect:n=Kyt,focalDistance:i=1,near:a=IR,far:o=PR}=t;Pge(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return Pge(r),FR(this,r,n,i,a),this.check()}determinant(){return yR(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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*o,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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return bR(this,this),this.check()}invert(){return xR(this,this),this.check()}multiplyLeft(t){return by(this,t,this),this.check()}multiplyRight(t){return by(this,this,t),this.check()}rotateX(t){return AR(this,this,t),this.check()}rotateY(t){return SR(this,this,t),this.check()}rotateZ(t){return TR(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return ER(this,this,t,r),this.check()}scale(t){return wR(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return _R(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Bge(r||[-0,-0,-0,-0],t,this),Mf(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=o3(r||[-0,-0],t,this);break;case 3:i=Sd(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Mf(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=s3(r||[-0,-0],t,this);break;case 3:n=u3(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Mf(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])}},v3,b3;function Xyt(){return v3||(v3=new Sr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(v3)),v3}function Yyt(){return b3||(b3=new Sr,Object.freeze(b3)),b3}function Pge(e){if(e>Math.PI*2)throw Error("expected radians")}function Qyt(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,p=-2*a;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function Oge(){let e=new mn(4);return mn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function jge(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function jR(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 RR(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function Rge(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function Mge(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function Lge(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function qge(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function xy(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],p,d,m,g,v;return p=i*u+a*c+o*l+s*f,p<0&&(p=-p,u=-u,c=-c,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),v=Math.sin(d),m=Math.sin((1-n)*d)/v,g=Math.sin(n*d)/v):(m=1-n,g=n),e[0]=m*i+g*u,e[1]=m*a+g*c,e[2]=m*o+g*l,e[3]=m*s+g*f,e}function Nge(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e}function Uge(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function MR(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 i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var Gge=Age;var zge=Sge,Hge=Fge,Wge=kge,$ge=Tge;var Vge=Cge;var Kge=Dge;var Jge=function(){let e=l3(),t=f3(1,0,0),r=f3(0,1,0);return function(n,i,a){let o=my(i,a);return o<-.999999?(Ad(e,t,i),dR(e)<1e-6&&Ad(e,r,i),uR(e,e),jR(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Ad(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Kge(n,n))}}(),$Zt=function(){let e=Oge(),t=Oge();return function(r,n,i,a,o,s){return xy(e,n,o,s),xy(t,i,a,s),xy(r,e,t,2*s*(1-s)),r}}(),VZt=function(){let e=fge();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],Kge(t,MR(t,e))}}();var Zyt=[0,0,0,1],Uo=class extends Rf{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}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,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 MR(this,t),this.check()}fromAxisRotation(t,r){return jR(this,t,r),this.check()}identity(){return jge(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]=rr(t)}get y(){return this[1]}set y(t){this[1]=rr(t)}get z(){return this[2]}set z(t){this[2]=rr(t)}get w(){return this[3]}set w(t){this[3]=rr(t)}len(){return $ge(this)}lengthSquared(){return Vge(this)}dot(t){return Hge(this,t)}rotationTo(t,r){return Jge(this,t,r),this.check()}add(t){return Gge(this,this,t),this.check()}calculateW(){return qge(this,this),this.check()}conjugate(){return Uge(this,this),this.check()}invert(){return Nge(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Wge(this,t,r,n),this.check())}multiplyRight(t){return RR(this,this,t),this.check()}multiplyLeft(t){return RR(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 Rge(this,this,t),this.check()}rotateY(t){return Mge(this,this,t),this.check()}rotateZ(t){return Lge(this,this,t),this.check()}scale(t){return zge(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=Zyt,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return xy(this,i,a,o),this.check()}transformVector4(t,r=new No){return Ige(r,t,this),Mf(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 Os={};Pi(Os,{EPSILON1:()=>e1t,EPSILON10:()=>c1t,EPSILON11:()=>l1t,EPSILON12:()=>f1t,EPSILON13:()=>p1t,EPSILON14:()=>d1t,EPSILON15:()=>h1t,EPSILON16:()=>m1t,EPSILON17:()=>g1t,EPSILON18:()=>v1t,EPSILON19:()=>b1t,EPSILON2:()=>t1t,EPSILON20:()=>x1t,EPSILON3:()=>r1t,EPSILON4:()=>n1t,EPSILON5:()=>i1t,EPSILON6:()=>a1t,EPSILON7:()=>o1t,EPSILON8:()=>s1t,EPSILON9:()=>u1t,PI_OVER_FOUR:()=>_1t,PI_OVER_SIX:()=>w1t,PI_OVER_TWO:()=>y1t,TWO_PI:()=>E1t});var e1t=.1,t1t=.01,r1t=.001,n1t=1e-4,i1t=1e-5,a1t=1e-6,o1t=1e-7,s1t=1e-8,u1t=1e-9,c1t=1e-10,l1t=1e-11,f1t=1e-12,p1t=1e-13,d1t=1e-14,h1t=1e-15,m1t=1e-16,g1t=1e-17,v1t=1e-18,b1t=1e-19,x1t=1e-20,y1t=Math.PI/2,_1t=Math.PI/4,w1t=Math.PI/6,E1t=Math.PI*2;var Jc=6356752314245179e-9,A1t={radii:[6378137,6378137,Jc],radiiSquared:[6378137*6378137,6378137*6378137,Jc*Jc],oneOverRadii:[1/6378137,1/6378137,1/Jc],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(Jc*Jc)],maximumRadius:Math.max(6378137,6378137,Jc),centerToleranceSquared:.1};function x3(e){return e}var Aer=new ie;function S1t(e,t=[],r=x3){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 Xge(e,t=[]){return S1t(e,t,Jr._cartographicRadians?x3:iR)}function T1t(e,t,r=x3){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 Yge(e,t){return T1t(e,t,Jr._cartographicRadians?x3:aR)}var Qge=1e-14,C1t=new ie,Zge={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"}},LR={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},yy={east:new ie,north:new ie,up:new ie,west:new ie,south:new ie,down:new ie},D1t=new ie,F1t=new ie,k1t=new ie;function qR(e,t,r,n,i,a){let o=Zge[t]&&Zge[t][r];Si(o&&(!n||n===o));let s,u,c,l=C1t.copy(i);if(lo(l.x,0,Qge)&&lo(l.y,0,Qge)){let p=Math.sign(l.z);s=D1t.fromArray(LR[t]),t!=="east"&&t!=="west"&&s.scale(p),u=F1t.fromArray(LR[r]),r!=="east"&&r!=="west"&&u.scale(p),c=k1t.fromArray(LR[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:m}=yy;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),m.copy(p).cross(d);let{down:g,west:v,south:y}=yy;g.copy(p).scale(-1),v.copy(d).scale(-1),y.copy(m).scale(-1),s=yy[t],u=yy[r],c=yy[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var tg=new ie,B1t=new ie,I1t=new ie;function eve(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;tg.from(e);let o=tg.x,s=tg.y,u=tg.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,m=u*u*f*f,g=p+d+m,v=Math.sqrt(1/g);if(!Number.isFinite(v))return;let y=B1t;if(y.copy(e).scale(v),g<a)return y.to(r);let w=i.x,A=i.y,C=i.z,T=I1t;T.set(y.x*w*2,y.y*A*2,y.z*C*2);let B=(1-v)*tg.len()/(.5*T.len()),j=0,U,I,R,M;do{B-=j,U=1/(1+B*w),I=1/(1+B*A),R=1/(1+B*C);let z=U*U,W=I*I,X=R*R,te=z*U,ee=W*I,ye=X*R;M=p*z+d*W+m*X-1;let ve=-2*(p*te*w+d*ee*A+m*ye*C);j=M/ve}while(Math.abs(M)>Os.EPSILON12);return tg.scale([U,I,R]).to(r)}var y3=new ie,tve=new ie,j1t=new ie,js=new ie,R1t=new ie,_3=new ie,Ut=class{constructor(t=0,r=0,n=0){At(this,"radii",void 0),At(this,"radiiSquared",void 0),At(this,"radiiToTheFourth",void 0),At(this,"oneOverRadii",void 0),At(this,"oneOverRadiiSquared",void 0),At(this,"minimumRadius",void 0),At(this,"maximumRadius",void 0),At(this,"centerToleranceSquared",Os.EPSILON1),At(this,"squaredXOverSquaredZ",void 0),Si(t>=0),Si(r>=0),Si(n>=0),this.radii=new ie(t,r,n),this.radiiSquared=new ie(t*t,r*r,n*n),this.radiiToTheFourth=new ie(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new ie(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new ie(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=tve,i=j1t,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){_3.from(t);let n=this.scaleToGeodeticSurface(_3,js);if(!n)return;let i=this.geodeticSurfaceNormal(n,tve),a=R1t;a.copy(_3).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Zm.dot(a,_3))*Zm.length(a);return Yge([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new Sr){return qR(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new Sr){return qR(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return y3.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=Xge(t),i=n[0],a=n[1],o=Math.cos(a);return y3.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),y3.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return y3.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return eve(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){js.from(t);let n=js.x,i=js.y,a=js.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return js.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return js.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return js.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){Si(lo(this.radii.x,this.radii.y,Os.EPSILON15)),Si(this.radii.z>0),js.from(t);let i=js.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return js.set(0,0,i).to(n)}};At(Ut,"WGS84",new Ut(6378137,6378137,Jc));var Ti={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Wer=new ie,$er=new ie;var _y=new ie,rve=new ie,Sa=class{constructor(t=[0,0,0],r=0){At(this,"center",void 0),At(this,"radius",void 0),this.radius=-0,this.center=new ie,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=_y.from(r),this.center=new ie().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 Sa(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=_y.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return rve.copy(o).scale((-n+u)/s).add(r),this.center.copy(rve),this.radius=u,this}expand(t){let n=_y.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=g3.getScaling(_y,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=_y.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?Ti.OUTSIDE:a<n?Ti.INTERSECTING:Ti.INSIDE}};var M1t=new ie,L1t=new ie,w3=new ie,E3=new ie,A3=new ie,q1t=new ie,N1t=new ie,Xc={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Ci=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){At(this,"center",void 0),At(this,"halfAxes",void 0),this.center=new ie().from(t),this.halfAxes=new hr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ie(t).len(),new ie(r).len(),new ie(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new ie(t).normalize(),a=new ie(r).normalize(),o=new ie(n).normalize();return new Uo().fromMatrix3(new hr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Uo(n),a=new hr().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new ie().from(t),this.halfAxes=a,this}clone(){return new Ci(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new Sa){let r=this.halfAxes,n=r.getColumn(0,w3),i=r.getColumn(1,E3),a=r.getColumn(2,A3),o=M1t.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[Xc.COLUMN0ROW0]+o*i[Xc.COLUMN0ROW1]+s*i[Xc.COLUMN0ROW2])+Math.abs(a*i[Xc.COLUMN1ROW0]+o*i[Xc.COLUMN1ROW1]+s*i[Xc.COLUMN1ROW2])+Math.abs(a*i[Xc.COLUMN2ROW0]+o*i[Xc.COLUMN2ROW1]+s*i[Xc.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?Ti.OUTSIDE:c>=u?Ti.INSIDE:Ti.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=L1t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,w3),a=n.getColumn(1,E3),o=n.getColumn(2,A3),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,w3),c=s.getColumn(1,E3),l=s.getColumn(2,A3),f=q1t.copy(u).add(c).add(l).add(o),p=N1t.copy(f).subtract(t),d=r.dot(p);return i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,w3);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,E3);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,A3);return i.transformAsPoint(t),this.halfAxes=new hr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var nve=new ie,ive=new ie,Yc=class{constructor(t=[0,0,1],r=0){At(this,"normal",void 0),At(this,"distance",void 0),this.normal=new ie,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return Si(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=nve.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,i){return this.normal.set(t,r,n),Si(lo(this.normal.len(),1)),this.distance=i,this}clone(){return new Yc(this.normal,this.distance)}equals(t){return lo(this.distance,t.distance)&&lo(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=ive.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=nve.from(t),i=this.getPointDistance(n),a=ive.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var ave=[new ie([1,0,0]),new ie([0,1,0]),new ie([0,0,1])],ove=new ie,U1t=new ie,Go=class{constructor(t=[]){At(this,"planes",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*ave.length;let r=t.center,n=t.radius,i=0;for(let a of ave){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new Yc),s||(s=this.planes[i+1]=new Yc);let u=ove.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=ove.copy(a).scale(n).add(r),l=U1t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=Ti.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case Ti.OUTSIDE:return Ti.OUTSIDE;case Ti.INTERSECTING:r=Ti.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(Si(Number.isFinite(r),"parentPlaneMask is required."),r===Go.MASK_OUTSIDE||r===Go.MASK_INSIDE)return r;let n=Go.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===Ti.OUTSIDE)return Go.MASK_OUTSIDE;u===Ti.INTERSECTING&&(n|=o)}return n}};At(Go,"MASK_OUTSIDE",4294967295);At(Go,"MASK_INSIDE",0);At(Go,"MASK_INDETERMINATE",2147483647);var mtr=new ie,gtr=new ie,vtr=new ie,btr=new ie,xtr=new ie;var z1t=new ie,H1t=new ie,W1t=new ie,$1t=new ie,V1t=new ie,K1t=new ie,J1t=new ie,rg=new ie,X1t=new ie,Y1t=new ie,Q1t=new ie,Z1t=new ie;function NR(e,t=new Sa){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=J1t.copy(e[0]),n=z1t.copy(r),i=H1t.copy(r),a=W1t.copy(r),o=$1t.copy(r),s=V1t.copy(r),u=K1t.copy(r);for(let B of e){r.copy(B);let j=r.x,U=r.y,I=r.z;j<n.x&&n.copy(r),j>o.x&&o.copy(r),U<i.y&&i.copy(r),U>s.y&&s.copy(r),I<a.z&&a.copy(r),I>u.z&&u.copy(r)}let c=rg.copy(o).subtract(n).magnitudeSquared(),l=rg.copy(s).subtract(i).magnitudeSquared(),f=rg.copy(u).subtract(a).magnitudeSquared(),p=n,d=o,m=c;l>m&&(m=l,p=i,d=s),f>m&&(m=f,p=a,d=u);let g=X1t;g.x=(p.x+d.x)*.5,g.y=(p.y+d.y)*.5,g.z=(p.z+d.z)*.5;let v=rg.copy(d).subtract(g).magnitudeSquared(),y=Math.sqrt(v),w=Y1t;w.x=n.x,w.y=i.y,w.z=a.z;let A=Q1t;A.x=o.x,A.y=s.y,A.z=u.z;let C=Z1t.copy(w).add(A).multiplyByScalar(.5),T=0;for(let B of e){r.copy(B);let j=rg.copy(r).subtract(C).magnitude();j>T&&(T=j);let U=rg.copy(r).subtract(g).magnitudeSquared();if(U>v){let I=Math.sqrt(U);y=(y+I)*.5,v=y*y;let R=I-y;g.x=(y*g.x+R*r.x)/I,g.y=(y*g.y+R*r.y)/I,g.z=(y*g.z+R*r.z)/I}}return y<T?(g.to(t.center),t.radius=y):(C.to(t.center),t.radius=T),t}var Hu=new hr,e2t=new hr,t2t=new hr,S3=new hr,sve=new hr;function zR(e,t={}){let r=Os.EPSILON20,n=10,i=0,a=0,o=e2t,s=t2t;o.identity(),s.copy(e);let u=r*r2t(s);for(;a<n&&n2t(s)>u;)i2t(s,S3),sve.copy(S3).transpose(),s.multiplyRight(S3),s.multiplyLeft(sve),o.multiplyRight(S3),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function r2t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var UR=[1,0,0],GR=[2,2,1];function n2t(e){let t=0;for(let r=0;r<3;++r){let n=e[Hu.getElementIndex(GR[r],UR[r])];t+=2*n*n}return Math.sqrt(t)}function i2t(e,t){let r=Os.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[Hu.getElementIndex(GR[c],UR[c])]);l>n&&(i=c,n=l)}let a=UR[i],o=GR[i],s=1,u=0;if(Math.abs(e[Hu.getElementIndex(o,a)])>r){let c=e[Hu.getElementIndex(o,o)],l=e[Hu.getElementIndex(a,a)],f=e[Hu.getElementIndex(o,a)],p=(c-l)/2/f,d;p<0?d=-1/(-p+Math.sqrt(1+p*p)):d=1/(p+Math.sqrt(1+p*p)),s=1/Math.sqrt(1+d*d),u=d*s}return hr.IDENTITY.to(t),t[Hu.getElementIndex(a,a)]=t[Hu.getElementIndex(o,o)]=s,t[Hu.getElementIndex(o,a)]=u,t[Hu.getElementIndex(a,o)]=-u,t}var qf=new ie,o2t=new ie,s2t=new ie,u2t=new ie,c2t=new ie,l2t=new hr,f2t={diagonal:new hr,unitary:new hr};function wy(e,t=new Ci){if(!e||e.length===0)return t.halfAxes=new hr([0,0,0,0,0,0,0,0,0]),t.center=new ie,t;let r=e.length,n=new ie(0,0,0);for(let I of e)n.add(I);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let I of e){let R=qf.copy(I).subtract(n);a+=R.x*R.x,o+=R.x*R.y,s+=R.x*R.z,u+=R.y*R.y,c+=R.y*R.z,l+=R.z*R.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=l2t;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:p}=zR(f,f2t),d=t.halfAxes.copy(p),m=d.getColumn(0,s2t),g=d.getColumn(1,u2t),v=d.getColumn(2,c2t),y=-Number.MAX_VALUE,w=-Number.MAX_VALUE,A=-Number.MAX_VALUE,C=Number.MAX_VALUE,T=Number.MAX_VALUE,B=Number.MAX_VALUE;for(let I of e)qf.copy(I),y=Math.max(qf.dot(m),y),w=Math.max(qf.dot(g),w),A=Math.max(qf.dot(v),A),C=Math.min(qf.dot(m),C),T=Math.min(qf.dot(g),T),B=Math.min(qf.dot(v),B);m=m.multiplyByScalar(.5*(C+y)),g=g.multiplyByScalar(.5*(T+w)),v=v.multiplyByScalar(.5*(B+A)),t.center.copy(m).add(g).add(v);let j=o2t.set(y-C,w-T,A-B).multiplyByScalar(.5),U=new hr([j[0],0,0,0,j[1],0,0,0,j[2]]);return t.halfAxes.multiplyRight(U),t}function fve(e){return e!=null}var Qtr=new ie,p2t=new ie,d2t=new ie,h2t=new ie,Td=new ie,uve=new ie,cve=new ie,lve=new ie;function Ey(e,t,r){if(jt(e,"3D Tile: boundingVolume must be defined"),e.box)return pve(e.box,t,r);if(e.region)return g2t(e.region);if(e.sphere)return m2t(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function pve(e,t,r){let n=new ie(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Uo;l.fromArray(e,6);let f=new ie([1,0,0]),p=new ie([0,1,0]),d=new ie([0,0,1]);f.transformByQuaternion(l),f.scale(c[0]),p.transformByQuaternion(l),p.scale(c[1]),d.transformByQuaternion(l),d.scale(c[2]),i=[...f.toArray(),...p.toArray(),...d.toArray()]}else i=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let a=t.transformAsVector(i.slice(0,3)),o=t.transformAsVector(i.slice(3,6)),s=t.transformAsVector(i.slice(6,9)),u=new hr([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return fve(r)?(r.center=n,r.halfAxes=u,r):new Ci(n,u)}function m2t(e,t,r){let n=new ie(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(p2t),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return fve(r)?(r.center=n,r.radius=o,r):new Sa(n,o)}function g2t(e){let[t,r,n,i,a,o]=e,s=Ut.WGS84.cartographicToCartesian([Kc(t),Kc(i),a],d2t),u=Ut.WGS84.cartographicToCartesian([Kc(n),Kc(r),o],h2t),c=new ie().addVectors(s,u).multiplyByScalar(.5);return Ut.WGS84.cartesianToCartographic(c,Td),Ut.WGS84.cartographicToCartesian([Kc(n),Td[1],Td[2]],uve),Ut.WGS84.cartographicToCartesian([Td[0],Kc(i),Td[2]],cve),Ut.WGS84.cartographicToCartesian([Td[0],Td[1],o],lve),pve([...c,...uve.subtract(c),...cve.subtract(c),...lve.subtract(c)],new Sr)}var ng="4.2.0-alpha.3";var zo={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},nrr=Object.keys(zo),Nf={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function HR(e,t,r){jt(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function dve(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 T3="4.2.0-alpha.3";var hve={name:"Draco",id:"draco",module:"draco",version:T3,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 gve(e,t,r){let n=vve(t.metadata),i=[],a=v2t(t.attributes);for(let o in e){let s=e[o],u=mve(o,s,a[o]);i.push(u)}if(r){let o=mve("indices",r);i.push(o)}return{fields:i,metadata:n}}function v2t(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function mve(e,t,r){let n=r?vve(r.metadata):void 0;return rR(e,t,n)}function vve(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var bve={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},b2t={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},x2t=4,Ay=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 i=this.decoder.GetEncodedGeometryType(n),a=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,a);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,a);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!a.ptr){let p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}let s=this._getDracoLoaderData(a,i,r),u=this._getMeshData(a,s,r),c=tR(u.attributes),l=gve(u.attributes,s,u.indices);return{loader:"draco",loaderData:s,header:{vertexCount:a.num_points(),boundingBox:c},...u,schema:l}}finally{this.draco.destroy(n),a&&this.draco.destroy(a)}}_getDracoLoaderData(t,r,n){let i=this._getTopLevelMetadata(t),a=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:i,attributes:a}}_getDracoAttributes(t,r){let n={};for(let i=0;i<t.num_attributes();i++){let a=this.decoder.GetAttribute(t,i),o=this._getAttributeMetadata(t,i);n[a.unique_id()]={unique_id:a.unique_id(),attribute_type:a.attribute_type(),data_type:a.data_type(),num_components:a.num_components(),byte_offset:a.byte_offset(),byte_stride:a.byte_stride(),normalized:a.normalized(),attribute_index:i,metadata:o};let s=this._getQuantizationTransform(a,r);s&&(n[a.unique_id()].quantization_transform=s);let u=this._getOctahedronTransform(a,r);u&&(n[a.unique_id()].octahedron_transform=u)}return n}_getMeshData(t,r,n){let i=this._getMeshAttributes(r,t,n);if(!i.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:i,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(t,r,n){let i={};for(let a of Object.values(t.attributes)){let o=this._deduceAttributeName(a,n);a.name=o;let{value:s,size:u}=this._getAttributeValues(r,a);i[o]={value:s,size:u,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}return i}_getTriangleListIndices(t){let n=t.num_faces()*3,i=n*x2t,a=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(t,i,a),new Uint32Array(this.draco.HEAPF32.buffer,a,n).slice()}finally{this.draco._free(a)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),w2t(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=b2t[r.data_type],i=r.num_components,o=t.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=y2t(this.draco,n),c,l=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,f,u,s,l),c=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:c,size:i}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[o,s]of Object.entries(r.extraAttributes||{}))if(s===n)return o;let i=t.attribute_type;for(let o in bve)if(this.draco[o]===i)return bve[o];let a=r.attributeNameEntry||"name";return t.metadata[a]?t.metadata[a].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 i=0;i<n;i++){let a=this.metadataQuerier.GetEntryName(t,i);r[a]=this._getDracoMetadataField(t,a)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let i=_2t(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,i=[...r,...n];for(let a of i)this.decoder.SkipAttributeTransform(this.draco[a])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(s=>o.min_value(s))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function y2t(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 _2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function w2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var E2t="1.5.6",A2t="1.4.1",WR=`https://www.gstatic.com/draco/versioned/decoders/${E2t}`,Rn={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Uf={[Rn.DECODER]:`${WR}/${Rn.DECODER}`,[Rn.DECODER_WASM]:`${WR}/${Rn.DECODER_WASM}`,[Rn.FALLBACK_DECODER]:`${WR}/${Rn.FALLBACK_DECODER}`,[Rn.ENCODER]:`https://raw.githubusercontent.com/google/draco/${A2t}/javascript/${Rn.ENCODER}`},Sy;async function xve(e){let t=e.modules||{};return t.draco3d?Sy=Sy||t.draco3d.createDecoderModule({}).then(r=>({draco:r})):Sy=Sy||S2t(e),await Sy}async function S2t(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await Au(Uf[Rn.FALLBACK_DECODER],"draco",e,Rn.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await Au(Uf[Rn.DECODER],"draco",e,Rn.DECODER),await Au(Uf[Rn.DECODER_WASM],"draco",e,Rn.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await T2t(t,r)}function T2t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var $R={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:T3,worker:!0,options:{draco:{},source:null}};var ig={...hve,parse:C2t};async function C2t(e,t){let{draco:r}=await xve(t),n=new Ay(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var D2t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},zn={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},St={...D2t,...zn};var VR={[zn.DOUBLE]:Float64Array,[zn.FLOAT]:Float32Array,[zn.UNSIGNED_SHORT]:Uint16Array,[zn.UNSIGNED_INT]:Uint32Array,[zn.UNSIGNED_BYTE]:Uint8Array,[zn.BYTE]:Int8Array,[zn.SHORT]:Int16Array,[zn.INT]:Int32Array},F2t={DOUBLE:zn.DOUBLE,FLOAT:zn.FLOAT,UNSIGNED_SHORT:zn.UNSIGNED_SHORT,UNSIGNED_INT:zn.UNSIGNED_INT,UNSIGNED_BYTE:zn.UNSIGNED_BYTE,BYTE:zn.BYTE,SHORT:zn.SHORT,INT:zn.INT},KR="Failed to convert GL type",pa=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in VR)if(VR[r]===t)return r;throw new Error(KR)}static fromName(t){let r=F2t[t];if(!r)throw new Error(KR);return r}static getArrayType(t){switch(t){case zn.UNSIGNED_SHORT_5_6_5:case zn.UNSIGNED_SHORT_4_4_4_4:case zn.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=VR[t];if(!r)throw new Error(KR);return r}}static getByteSize(t){return pa.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(pa.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/pa.getByteSize(t));let a=pa.getArrayType(t);return new a(r,n,i)}};function yve(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function JR(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,i=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=i<<3,t}var Brr=1/256;var Irr=new Ed,Prr=new ie,Orr=new Ed,jrr=new Ed,Rrr=new Uint8Array(1);function _ve(e,t=255){return oR(e,0,t)/t*2-1}function wve(e){return e<0?-1:1}function Eve(e,t,r,n){if(yve(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=_ve(e,r),n.y=_ve(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*wve(i),n.y=(1-Math.abs(i))*wve(n.y)}return n.normalize()}function XR(e,t,r){return Eve(e,t,255,r)}function C3(e){return(e%1+1)%1}var Qc=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=St.UNSIGNED_INT,n=1){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,i.byteOffset):i}getPropertyArray(t,r,n){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=pa.fromName(i.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(t,r,i)}getProperty(t,r,n,i,a){let o=this.json[t];if(!o)return o;let s=this.getPropertyArray(t,r,n);if(n===1)return s[i];for(let u=0;u<n;++u)a[u]=s[n*i+u];return a}_getTypedArrayFromBinary(t,r,n,i,a){let o=this._cachedTypedArrays,s=o[t];return s||(s=pa.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+a,i*n),o[t]=s),s}_getTypedArrayFromArray(t,r,n){let i=this._cachedTypedArrays,a=i[t];return a||(a=pa.createTypedArray(r,n),i[t]=a),a}};var k2t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},B2t={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]]},I2t={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 Ave(e,t,r,n){let{componentType:i}=e;jt(e.componentType);let a=typeof i=="string"?pa.fromName(i):i,o=k2t[e.type],s=B2t[e.type],u=I2t[e.type];return r+=e.byteOffset,{values:pa.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Wu=e=>e!==void 0;function Sve(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),i=t.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?P2t(n,r):null}function P2t(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Wu(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,i=getBinaryAccessor(s),s=i.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,a));let f;if(Wu(u))for(Wu(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(t.buffer,t.byteOffset+u.byteOffset,a)),f=new Uint16Array(a),l=0,r=0;r<a;++r)f[r]=l,l+=u[r];Wu(c)&&Wu(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let p=o.length;for(r=0;r<p;++r){let v=o[r].length,y=o[r].instances,w=getBinaryProperties(v,y,t);o[r].instances=combine(w,y)}let d=new Array(p).fill(0),m=new Uint16Array(a);for(r=0;r<a;++r)n=s[r],m[r]=d[n],++d[n];let g={classes:o,classIds:s,classIndexes:m,parentCounts:u,parentIndexes:f,parentIds:c};return R2t(g),g}function ag(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?O2t(e,t,r):j2t(e,t,r)}function O2t(e,t,r){let n=e.classIds,i=e.parentCounts,a=e.parentIds,o=e.parentIndexes,s=n.length,u=scratchVisited;u.length=Math.max(u.length,s);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),u[t]===c)continue;u[t]=c;let f=r(e,t);if(Wu(f))return f;let p=i[t],d=o[t];for(let m=0;m<p;++m){let g=a[d+m];g!==t&&l.push(g)}}return null}function j2t(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Wu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function R2t(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)Tve(e,i,stack)}function Tve(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Wu(i))return;assert(t<s,`Parent index ${t} exceeds the total number of instances: ${s}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let u=Wu(n)?n[t]:1,c=Wu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&Tve(e,f,r)}r.pop(t)}function Wa(e){return e!=null}var D3=(e,t)=>e,M2t={HIERARCHY:!0,extensions:!0,extras:!0},Cd=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;jt(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=((a=this.json)==null?void 0:a.extensions)||{},this._properties={};for(let o in this.json)M2t[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Sve(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),jt(typeof r=="string",r),this._hierarchy){let n=ag(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Wa(n)}return!1}isExactClass(t,r){return jt(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),jt(typeof r=="string",r),Wa(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Wa(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),jt(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Wa(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Wa(n))return D3(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Wa(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),jt(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(o){this._setBinaryProperty(o,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let a=this._properties[r];Wa(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=D3(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],i=this._initializeBinaryProperty(r,n);i&&(t=t||{},t[r]=i)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;jt(this.binary,`Property ${t} requires a batch table binary.`),jt(n.type,`Property ${t} requires a type.`);let i=Ave(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=ag(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Wa(s[r])});return Wa(n)}_getPropertyNamesInHierarchy(t,r){ag(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a].instances;for(let s in o)o.hasOwnProperty(s)&&r.indexOf(s)===-1&&r.push(s)})}_getHierarchyProperty(t,r){return ag(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Wa(u)?Wa(u.typedArray)?this._getBinaryProperty(u,s):D3(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=ag(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Wa(f)?(jt(s===r,`Inherited property "${n}" is read-only.`),Wa(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=D3(i,!0),!0):!1});return Wa(a)}};var YR=4;function Gf(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=YR,e.version=n.getUint32(r,!0),r+=YR,e.byteLength=n.getUint32(r,!0),r+=YR,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var og=4,Cve="b3dm tile in legacy format.";function sg(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=og;let o=n.getUint32(r,!0);r+=og;let s=n.getUint32(r,!0);r+=og;let u=n.getUint32(r,!0);return r+=og,s>=570425344?(r-=og*2,i=a,s=o,u=0,a=0,o=0,console.warn(Cve)):u>=570425344&&(r-=og,i=s,s=a,u=o,a=0,o=0,console.warn(Cve)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function ug(e,t,r,n){return r=L2t(e,t,r,n),r=q2t(e,t,r,n),r}function L2t(e,t,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:a,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){let s=HR(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function q2t(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=HR(t,r,i);e.batchTableJson=JSON.parse(o),r+=i,a&&a>0&&(e.batchTableBinary=new Uint8Array(t,r,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=a)}return r}function QR(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:a=0}=e;if(n&&r){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=n[s],l=r.getProperty(u,"dimensions").map(f=>f*255);o[s*3]=l[0],o[s*3+1]=l[1],o[s*3+2]=l[2]}return{type:St.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(t&&i){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=JR(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:St.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:St.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:St.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var Dve=new ie;function Fve(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++)XR(t[n*2],t[n*2+1],Dve),Dve.toArray(r,n*3);return{type:St.FLOAT,size:2,value:r}}return{type:St.FLOAT,size:2,value:t}}function kve(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,N2t(e,t)):{type:St.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function N2t(e,t){let r=new ie,n=new Float32Array(e.pointCount*3);for(let i=0;i<e.pointCount;i++)r.set(t[i*3],t[i*3+1],t[i*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,i*3);return n}async function Bve(e,t,r,n,i){r=Gf(e,t,r),r=sg(e,t,r),r=ug(e,t,r,n),U2t(e);let{featureTable:a,batchTable:o}=G2t(e);return await V2t(e,a,o,n,i),z2t(e,a,n),H2t(e,a,o),W2t(e,a),r}function U2t(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function G2t(e){let t=new Qc(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",St.FLOAT,3);let n=$2t(e,t);return{featureTable:t,batchTable:n}}function z2t(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",St.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",St.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",St.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",St.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=kve(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function H2t(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",St.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",St.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",St.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=QR(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",St.UNSIGNED_BYTE,4))}function W2t(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",St.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",St.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=Fve(e,r)}}function $2t(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",St.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:i,batchTableBinary:a}=e;r=new Cd(i,a,n)}return r}async function V2t(e,t,r,n,i){let a,o,s,u=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];u&&(s=u.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){o=c.properties;let f=c.byteOffset,p=c.byteLength;if(!o||!Number.isFinite(f)||!p)throw new Error("Draco properties, byteOffset, and byteLength must be defined");a=(e.featureTableBinary||[]).slice(f,f+p),e.hasPositions=Number.isFinite(o.POSITION),e.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),e.hasNormals=Number.isFinite(o.NORMAL),e.hasBatchIds=Number.isFinite(o.BATCH_ID),e.isTranslucent=Number.isFinite(o.RGBA)}if(!a)return!0;let l={buffer:a,properties:{...o,...s},featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await K2t(e,l,n,i)}async function K2t(e,t,r,n){if(!n)return;let i={...r,draco:{...r==null?void 0:r.draco,extraAttributes:t.batchTableProperties||{}}};delete i["3d-tiles"];let a=await io(t.buffer,ig,i,n),o=a.attributes.POSITION&&a.attributes.POSITION.value,s=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,c=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,l=o&&a.attributes.POSITION.value.quantization,f=u&&a.attributes.NORMAL.value.quantization;if(l){let d=a.POSITION.data.quantization,m=d.range;e.quantizedVolumeScale=new ie(m,m,m),e.quantizedVolumeOffset=new ie(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let p={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))a.attributes[d]&&a.attributes[d].value&&(p[d.toLowerCase()]=a.attributes[d].value);e.attributes={positions:o,colors:QR(e,s,void 0),normals:u,batchIds:c,...p}}var sM={};Pi(sM,{decode:()=>P_t,name:()=>q3});var F3="4.2.0-alpha.3";var Ive,J2t=(Ive=globalThis.loaders)==null?void 0:Ive.parseImageNode,ZR=typeof Image<"u",eM=typeof ImageBitmap<"u",X2t=Boolean(J2t),tM=jr?!0:X2t;function Pve(e){switch(e){case"auto":return eM||ZR||tM;case"imagebitmap":return eM;case"image":return ZR;case"data":return tM;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Ove(){if(eM)return"imagebitmap";if(ZR)return"image";if(tM)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function jve(e){let t=Y2t(e);if(!t)throw new Error("Not an image");return t}function rM(e){return cg(e)}function cg(e){switch(jve(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 Y2t(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 Q2t=/^data:image\/svg\+xml/,Z2t=/\.svg((\?|#).*)?$/;function k3(e){return e&&(Q2t.test(e)||Z2t.test(e))}function Rve(e,t){if(k3(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return nM(e,t)}function nM(e,t){if(k3(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function B3(e,t,r){let n=Rve(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await e_t(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function e_t(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,i)=>{try{r.onload=()=>n(r),r.onerror=a=>{let o=a instanceof Error?a.message:"error";i(new Error(o))}}catch(a){i(a)}})}var t_t={},Mve=!0;async function Lve(e,t,r){let n;k3(r)?n=await B3(e,t,r):n=nM(e,r);let i=t&&t.imagebitmap;return await r_t(n,i)}async function r_t(e,t=null){if((n_t(t)||!Mve)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Mve=!1}return await createImageBitmap(e)}function n_t(e){for(let t in e||t_t)return!1;return!0}function qve(e){return!s_t(e,"ftyp",4)||!(e[8]&96)?null:i_t(e)}function i_t(e){switch(a_t(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function a_t(e,t,r){return String.fromCharCode(...e.slice(t,r))}function o_t(e){return[...e].map(t=>t.charCodeAt(0))}function s_t(e,t,r=0){let n=o_t(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var $u=!1,Ty=!0;function Dd(e){let t=Cy(e);return c_t(t)||p_t(t)||l_t(t)||f_t(t)||u_t(t)}function u_t(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=qve(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function c_t(e){let t=Cy(e);return t.byteLength>=24&&t.getUint32(0,$u)===2303741511?{mimeType:"image/png",width:t.getUint32(16,$u),height:t.getUint32(20,$u)}:null}function l_t(e){let t=Cy(e);return t.byteLength>=10&&t.getUint32(0,$u)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,Ty),height:t.getUint16(8,Ty)}:null}function f_t(e){let t=Cy(e);return t.byteLength>=14&&t.getUint16(0,$u)===16973&&t.getUint32(2,Ty)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,Ty),height:t.getUint32(22,Ty)}:null}function p_t(e){let t=Cy(e);if(!(t.byteLength>=3&&t.getUint16(0,$u)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=d_t(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,$u);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,$u),width:t.getUint16(a+7,$u)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,$u)}return null}function d_t(){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 Cy(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 Nve(e,t){var i;let{mimeType:r}=Dd(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return jt(n),await n(e,r)}async function Uve(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=h_t(i),s;switch(o){case"imagebitmap":s=await Lve(e,t,a);break;case"image":s=await B3(e,t,a);break;case"data":s=await Nve(e,t);break;default:jt(!1)}return i==="data"&&(s=cg(s)),s}function h_t(e){switch(e){case"auto":case"data":return Ove();default:return Pve(e),e}}var m_t=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],g_t=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],v_t={image:{type:"auto",decode:!0}},lg={id:"image",module:"images",name:"Images",version:F3,mimeTypes:g_t,extensions:m_t,parse:Uve,tests:[e=>Boolean(Dd(new DataView(e)))],options:v_t};var Hve,Gve=(Hve=globalThis.loaders)==null?void 0:Hve.encodeImageNode;async function Wve(e,t){return t=t||{},t.image=t.image||{},Gve?Gve(e,{type:t.image.mimeType}):b_t(e,t)}var zve=!0;async function b_t(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=rM(e),o=document.createElement("canvas");o.width=i,o.height=a,x_t(e,o);let s=await new Promise(u=>{if(n&&zve)try{o.toBlob(u,r,n);return}catch{zve=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function x_t(e,t,r=0,n=0){if(r===0&&n===0&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let a=t.getContext("bitmaprenderer");if(a)return a.transferFromImageBitmap(e),t}let i=t.getContext("2d");if(e.data){let a=new Uint8ClampedArray(e.data),o=new ImageData(a,e.width,e.height);return i.putImageData(o,0,0),t}return i.drawImage(e,0,0),t}var iM={name:"Images",id:"image",module:"images",version:F3,extensions:["jpeg"],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:Wve};var aM={};function oM(e){if(aM[e]===void 0){let t=jr?__t(e):y_t(e);aM[e]=t}return aM[e]}function y_t(e){var i,a;let t=["image/png","image/jpeg","image/gif"],r=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||t,n=(a=globalThis.loaders)==null?void 0:a.parseImageNode;return Boolean(n)&&r.includes(e)}function __t(e){switch(e){case"image/avif":case"image/webp":return w_t(e);default:return!0}}function w_t(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function pi(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var I3={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},P3={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var E_t=1.33,$ve=["SCALAR","VEC2","VEC3","VEC4"],A_t=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],S_t=new Map(A_t),T_t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},C_t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},D_t={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function O3(e){return $ve[e-1]||$ve[0]}function fg(e){let t=S_t.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function pg(e,t){let r=D_t[e.componentType],n=T_t[e.type],i=C_t[e.componentType],a=e.count*n,o=e.count*n*i;pi(o>=0&&o<=t.byteLength);let s=P3[e.componentType],u=I3[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function Dy(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(o=>o.bufferView);r=r.filter(o=>!n.includes(o));let i=r.reduce((o,s)=>o+s.byteLength,0),a=t.reduce((o,s)=>{let{width:u,height:c}=s.image;return o+u*c},0);return i+Math.ceil(4*a*E_t)}function Vve(e,t,r){let n=e.bufferViews[r];pi(n);let i=n.buffer,a=t[i];pi(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function Kve(e,t,r){var g,v;let n=typeof r=="number"?(g=e.accessors)==null?void 0:g[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(v=e.bufferViews)==null?void 0:v[n.bufferView||0];if(!i)throw new Error(`No gltf buffer view for accessor ${i}`);let{arrayBuffer:a,byteOffset:o}=t[i.buffer],s=(o||0)+(n.byteOffset||0)+(i.byteOffset||0),{ArrayType:u,length:c,componentByteSize:l,numberOfComponentsInElement:f}=pg(n,i),p=l*f,d=i.byteStride||p;if(typeof i.byteStride>"u"||i.byteStride===p)return new u(a,s,c);let m=new u(c);for(let y=0;y<n.count;y++){let w=new u(a,s+y*d,f);m.set(w,y*f)}return m}function F_t(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var xr=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||F_t(),buffers:(t==null?void 0:t.buffers)||[],images:(t==null?void 0: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(i=>i===t),n=this.getRequiredExtensions().find(i=>i===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(i=>i===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];pi(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return Kve(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),i=this.getBuffer(r.buffer).data,a=r.byteOffset||0;return new Uint8Array(i,a,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 i=t.extensions||{};i[r]=n}removeObjectExtension(t,r){let n=(t==null?void 0:t.extensions)||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(r)||i.push(r)}delete n[r]}addExtension(t,r={}){return pi(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return pi(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){var r;if((r=this.json.extensions)!=null&&r[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(t)||n.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 i={mesh:r};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:i,mode:a=4}=t,s={primitives:[{attributes:this._addAttributes(r),mode:a}]};if(n){let u=this._addIndices(n);s.primitives[0].indices=u}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),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=Dd(t),i=r||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let i=t.byteLength;pi(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=oo(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(a),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:O3(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),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,r.size));let a={size:r.size,componentType:fg(t),count:Math.round(t.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(a,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(){var a,o;this.gltf.buffers=[];let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=H5(s,n,i);(o=(a=this.json)==null?void 0:a.buffers)!=null&&o[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 i=t.indexOf(r);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let i=t[n],a=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);r[a]=o}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 i=t.subarray(0,r);for(let a of i)n.min.push(a),n.max.push(a);for(let a=r;a<t.length;a+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],t[a+o]),n.max[0+o]=Math.max(n.max[0+o],t[a+o]);return n}};function Jve(e){return(e%1+1)%1}var Xve={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},k_t={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Yve={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Fy(e,t){return Yve[t]*Xve[e]}function dg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=hg(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function hg(e,t,r,n=1){let i=Xve[t],a=k_t[r],o=Yve[r],s=n*i,u=s*o,c=e.buffer,l=e.byteOffset;return l%o!==0&&(c=new Uint8Array(c).slice(l,l+u).buffer,l=0),new a(c,l,s)}function mg(e,t,r){var c,l,f,p,d;let n=`TEXCOORD_${t.texCoord||0}`,i=r.attributes[n],a=e.getTypedArrayForAccessor(i),o=e.gltf.json,s=t.index,u=(l=(c=o.textures)==null?void 0:c[s])==null?void 0:l.source;if(typeof u<"u"){let m=(p=(f=o.images)==null?void 0:f[u])==null?void 0:p.mimeType,g=(d=e.gltf.images)==null?void 0:d[u];if(g&&typeof g.width<"u"){let v=[];for(let y=0;y<a.length;y+=2){let w=B_t(g,m,a,y,t.channels);v.push(w)}return v}}return[]}function j3(e,t,r,n,i){if(!(r!=null&&r.length))return;let a=[];for(let l of r){let f=n.findIndex(p=>p===l);f===-1&&(f=n.push(l)-1),a.push(f)}let o=new Uint32Array(a),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,u=e.addBufferView(o,s,0),c=e.addAccessor(u,{size:1,componentType:fg(o),count:o.length});i.attributes[t]=c}function B_t(e,t,r,n,i=[0]){let a={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=r[n],s=r[n+1],u=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(u=4);let c=I_t(o,s,e,u),l=0;for(let f of i){let p=typeof f=="number"?Object.values(a)[f]:a[f],d=c+p.offset,m=cg(e);if(m.data.length<=d)throw new Error(`${m.data.length} <= ${d}`);let g=m.data[d];l|=g<<p.shift}return l}function I_t(e,t,r,n=1){let i=r.width,a=Jve(e)*(i-1),o=Math.round(a),s=r.height,u=Jve(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function R3(e,t,r,n,i){let a=[];for(let o=0;o<t;o++){let s=r[o],u=r[o+1]-r[o];if(u+s>n)break;let c=s/i,l=u/i;a.push(e.slice(c,c+l))}return a}function M3(e,t,r){let n=[];for(let i=0;i<t;i++){let a=i*r;n.push(e.slice(a,a+r))}return n}function L3(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],a=new TextDecoder("utf8"),o=0;for(let s=0;s<e;s++){let u=n[s+1]-n[s];if(u+o<=t.length){let c=t.subarray(o,u+o),l=a.decode(c);i.push(l),o+=u}}return i}return[]}var Qve="EXT_mesh_features",q3=Qve;async function P_t(e,t){let r=new xr(e);O_t(r,t)}function O_t(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)j_t(e,i,t)}function j_t(e,t,r){var a,o,s;if(!((a=r==null?void 0:r.gltf)!=null&&a.loadBuffers))return;let n=(o=t.extensions)==null?void 0:o[Qve],i=n==null?void 0:n.featureIds;if(i)for(let u of i){let c;if(typeof u.attribute<"u"){let l=`_FEATURE_ID_${u.attribute}`,f=t.attributes[l];c=e.getTypedArrayForAccessor(f)}else typeof u.texture<"u"&&((s=r==null?void 0:r.gltf)!=null&&s.loadImages)?c=mg(e,u.texture,t):c=[];u.data=c}}var lM={};Pi(lM,{decode:()=>R_t,name:()=>Zc});var uM="EXT_structural_metadata",Zc=uM;async function R_t(e,t){let r=new xr(e);M_t(r,t)}function M_t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(uM);r&&((i=t.gltf)!=null&&i.loadImages&&L_t(e,r),q_t(e,r))}function L_t(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let a of i.primitives)U_t(e,r,a,t)}function q_t(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.propertyTables;if(n&&i)for(let a in n){let o=N_t(i,a);o&&z_t(e,r,o)}}function N_t(e,t){for(let r of e)if(r.class===t)return r;return null}function U_t(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[uM],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];G_t(e,u,r,n)}}function G_t(e,t,r,n){var a;if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=t.class;for(let o in t.properties){let s=`${i}_${o}`,u=(a=t.properties)==null?void 0:a[o];if(!u)continue;u.data||(u.data=[]);let c=u.data,l=mg(e,u,r);l!==null&&(j3(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function z_t(e,t,r){var a,o;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=H_t(e,t,u,i,c);c.data=l}}}function H_t(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=W_t(e,r,i,n),c=$_t(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=V_t(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=L3(n,s,u,c);break}case"ENUM":{a=K_t(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function W_t(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?dg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function $_t(e,t,r){return typeof t.stringOffsets<"u"?dg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function V_t(e,t,r,n){let i=e.array,a=e.count,o=Fy(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=hg(r,e.type,e.componentType,s):u=r,i?n?R3(u,t,n,r.length,o):a?M3(u,t,a):[]:u}function K_t(e,t,r,n,i){var f;let a=t.enumType;if(!a)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=(f=e.enums)==null?void 0:f[a];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${a}`);let s=o.valueType||"UINT16",u=Fy(t.type,s),c=n.byteLength/u,l=hg(n,t.type,s,c);if(l||(l=n),t.array){if(i)return J_t({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let p=t.count;return p?X_t(l,r,p,o):[]}return cM(l,0,r,o)}function J_t(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:a,enumEntry:o}=e,s=[];for(let u=0;u<r;u++){let c=n[u],l=n[u+1]-n[u];if(l+c>i)break;let f=c/a,p=l/a,d=cM(t,f,p,o);s.push(d)}return s}function X_t(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=cM(e,o,r,n);i.push(s)}return i}function cM(e,t,r,n){let i=[];for(let a=0;a<r;a++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)i.push("");else{let o=e[t+a],s=Y_t(n,o);s?i.push(s.name):i.push("")}return i}function Y_t(e,t){for(let r of e.values)if(r.value===t)return r;return null}var fM={};Pi(fM,{decode:()=>Q_t,name:()=>Ho});var Zve="EXT_feature_metadata",Ho=Zve;async function Q_t(e,t){let r=new xr(e);Z_t(r,t)}function Z_t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(Zve);r&&((i=t.gltf)!=null&&i.loadImages&&ewt(e,r),twt(e,r))}function ewt(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:i}=t;if(n&&i)for(let a in n){let o=n[a],s=nwt(i,a);s&&awt(e,s,o)}}function twt(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.featureTables;if(n&&i)for(let a in n){let o=rwt(i,a);o&&iwt(e,r,o)}}function rwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function nwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function iwt(e,t,r){var a,o;if(!r.class)return;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=owt(e,t,u,i,c);c.data=l}}}function awt(e,t,r){var i;let n=t.class;for(let a in r.properties){let o=(i=t==null?void 0:t.properties)==null?void 0:i[a];if(o){let s=fwt(e,o,n);o.data=s}}}function owt(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=swt(e,r,i,n),c=uwt(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=L3(n,s,u,c):cwt(r)&&(a=lwt(r,n,s,u)),a}function swt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?dg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function uwt(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?dg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function cwt(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 lwt(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=Fy(o,s),c=r.byteLength/u,l=hg(r,o,s,c);return i?n?R3(l,t,n,r.length,u):a?M3(l,t,a):[]:l}function fwt(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let i=[];for(let a of n.meshes)for(let o of a.primitives)pwt(e,r,t,i,o);return i}function pwt(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=mg(e,a,i);o&&j3(e,t,o,n,i)}var N3="4.2.0-alpha.3";var gg="4.2.0-alpha.3";var Vu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},pM;async function hM(e){let t=e.modules||{};return t.basis?t.basis:(pM=pM||dwt(e),await pM)}async function dwt(e){let t=null,r=null;return[t,r]=await Promise.all([await Au(Vu.TRANSCODER,"textures",e),await Au(Vu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await hwt(t,r)}function hwt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,initializeBasis:o}=i;o(),n({BasisFile:a})})})}var dM;async function mM(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(dM=dM||mwt(e),await dM)}async function mwt(e){let t=null,r=null;return[t,r]=await Promise.all([await Au(Vu.ENCODER,"textures",e),await Au(Vu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await gwt(t,r)}function gwt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,KTX2File:o,initializeBasis:s,BasisEncoder:u}=i;s(),n({BasisFile:a,KTX2File:o,BasisEncoder:u})})})}var xe={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 vwt=["","WEBKIT_","MOZ_"],ebe={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"},U3=null;function ky(e){if(!U3){e=e||bwt()||void 0,U3=new Set;for(let t of vwt)for(let r in ebe)if(e&&e.getExtension(`${t}${r}`)){let n=ebe[r];U3.add(n)}}return U3}function bwt(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var pbe=Pt(lbe(),1);function vg(e,t){let r=new Array(t.mipMapLevels),n=t.width,i=t.height,a=0;for(let o=0;o<t.mipMapLevels;++o){let s=_wt(t,n,i,e,o),u=ywt(e,o,a,s);r[o]={compressed:!0,format:t.internalFormat,data:u,width:n,height:i,levelSize:s},n=Math.max(1,n>>1),i=Math.max(1,i>>1),a+=s}return r}function ywt(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function _wt(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var wwt={131:xe.COMPRESSED_RGB_S3TC_DXT1_EXT,132:xe.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:xe.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:xe.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:xe.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:xe.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:xe.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:xe.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:xe.COMPRESSED_RED_RGTC1_EXT,140:xe.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:xe.COMPRESSED_RED_GREEN_RGTC2_EXT,142:xe.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:xe.COMPRESSED_RGB8_ETC2,148:xe.COMPRESSED_SRGB8_ETC2,149:xe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:xe.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:xe.COMPRESSED_RGBA8_ETC2_EAC,152:xe.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:xe.COMPRESSED_R11_EAC,154:xe.COMPRESSED_SIGNED_R11_EAC,155:xe.COMPRESSED_RG11_EAC,156:xe.COMPRESSED_SIGNED_RG11_EAC,157:xe.COMPRESSED_RGBA_ASTC_4x4_KHR,158:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:xe.COMPRESSED_RGBA_ASTC_5x4_KHR,160:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:xe.COMPRESSED_RGBA_ASTC_5x5_KHR,162:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:xe.COMPRESSED_RGBA_ASTC_6x5_KHR,164:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:xe.COMPRESSED_RGBA_ASTC_6x6_KHR,166:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:xe.COMPRESSED_RGBA_ASTC_8x5_KHR,168:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:xe.COMPRESSED_RGBA_ASTC_8x6_KHR,170:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:xe.COMPRESSED_RGBA_ASTC_8x8_KHR,172:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:xe.COMPRESSED_RGBA_ASTC_10x5_KHR,174:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:xe.COMPRESSED_RGBA_ASTC_10x6_KHR,176:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:xe.COMPRESSED_RGBA_ASTC_10x8_KHR,178:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:xe.COMPRESSED_RGBA_ASTC_10x10_KHR,180:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:xe.COMPRESSED_RGBA_ASTC_12x10_KHR,182:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:xe.COMPRESSED_RGBA_ASTC_12x12_KHR,184:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:xe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:xe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:xe.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:xe.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:xe.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:xe.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:xe.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:xe.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:xe.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:xe.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:xe.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:xe.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:xe.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:xe.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:xe.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:xe.COMPRESSED_RGBA_ASTC_12x12_KHR};function fbe(e){return wwt[e]}var fo=[171,75,84,88,32,50,48,187,13,10,26,10];function $3(e){let t=new Uint8Array(e);return!(t.byteLength<fo.length||t[0]!==fo[0]||t[1]!==fo[1]||t[2]!==fo[2]||t[3]!==fo[3]||t[4]!==fo[4]||t[5]!==fo[5]||t[6]!==fo[6]||t[7]!==fo[7]||t[8]!==fo[8]||t[9]!==fo[9]||t[10]!==fo[10]||t[11]!==fo[11])}function dbe(e){let t=new Uint8Array(e),r=(0,pbe.read)(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=fbe(r.vkFormat);return vg(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var Ewt={etc1:{basisFormat:0,compressed:!0,format:xe.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:xe.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:xe.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:xe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:xe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:xe.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 Iy(e,t){if(t.basis.containerFormat==="auto"){if($3(e)){let n=await mM(t);return hbe(n.KTX2File,e,t)}let{BasisFile:r}=await hM(t);return yM(r,e,t)}switch(t.basis.module){case"encoder":let r=await mM(t);switch(t.basis.containerFormat){case"ktx2":return hbe(r.KTX2File,e,t);case"basis":default:return yM(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await hM(t);return yM(n,e,t)}}function yM(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),a=[];for(let o=0;o<i;o++){let s=n.getNumLevels(o),u=[];for(let c=0;c<s;c++)u.push(Awt(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function Awt(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=mbe(n,o),l=e.getImageTranscodedSizeInBytes(t,r,c),f=new Uint8Array(l);if(!e.transcodeImage(f,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:a,data:f,compressed:s,format:u,hasAlpha:o}}function hbe(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),a=[];for(let o=0;o<i;o++){a.push(Swt(n,o,r));break}return[a]}finally{n.close(),n.delete()}}function Swt(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=mbe(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,u),l=new Uint8Array(c);if(!e.transcodeImage(l,t,0,0,u,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:i,data:l,compressed:o,levelSize:c,hasAlpha:n,format:s}}function mbe(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=bg()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Ewt[r]}function bg(){let e=ky();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 gbe={name:"Basis",id:"basis",module:"textures",version:gg,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"}}},Fd={...gbe,parse:Iy};var po={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},Twt={DXT1:xe.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:xe.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:xe.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":xe.COMPRESSED_RGB_ATC_WEBGL,ATCA:xe.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:xe.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},Cwt=xbe,Dwt=V3,Fwt=V3,kwt={DXT1:xbe,DXT3:V3,DXT5:V3,"ATC ":Cwt,ATCA:Dwt,ATCI:Fwt};function vbe(e){return new Uint32Array(e,0,po.HEADER_LENGTH)[po.MAGIC_NUMBER_INDEX]===po.MAGIC_NUMBER}function bbe(e){let t=new Int32Array(e,0,po.HEADER_LENGTH),r=t[po.HEADER_PF_FOURCC_INDEX];jt(Boolean(t[po.HEADER_PF_FLAGS_INDEX]&po.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=Bwt(r),i=Twt[n],a=kwt[n];jt(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[po.HEADER_FLAGS_INDEX]&po.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[po.MIPMAPCOUNT_INDEX]));let s=t[po.HEADER_WIDTH_INDEX],u=t[po.HEADER_HEIGHT_INDEX],c=t[po.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return vg(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function xbe(e,t){return(e+3>>2)*(t+3>>2)*8}function V3(e,t){return(e+3>>2)*(t+3>>2)*16}function Bwt(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Wo={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},Iwt={0:[xe.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[xe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[xe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[xe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[xe.COMPRESSED_RGB_ETC1_WEBGL],7:[xe.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[xe.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[xe.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[xe.COMPRESSED_RGB8_ETC2],23:[xe.COMPRESSED_RGBA8_ETC2_EAC],24:[xe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[xe.COMPRESSED_R11_EAC],26:[xe.COMPRESSED_RG11_EAC],27:[xe.COMPRESSED_RGBA_ASTC_4X4_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[xe.COMPRESSED_RGBA_ASTC_5X4_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[xe.COMPRESSED_RGBA_ASTC_5X5_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[xe.COMPRESSED_RGBA_ASTC_6X5_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[xe.COMPRESSED_RGBA_ASTC_6X6_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[xe.COMPRESSED_RGBA_ASTC_8X5_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[xe.COMPRESSED_RGBA_ASTC_8X6_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[xe.COMPRESSED_RGBA_ASTC_8X8_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[xe.COMPRESSED_RGBA_ASTC_10X5_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[xe.COMPRESSED_RGBA_ASTC_10X6_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[xe.COMPRESSED_RGBA_ASTC_10X8_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[xe.COMPRESSED_RGBA_ASTC_10X10_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[xe.COMPRESSED_RGBA_ASTC_12X10_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[xe.COMPRESSED_RGBA_ASTC_12X12_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},Pwt={0:ybe,1:ybe,2:_be,3:_be,6:Py,7:Py,9:Oy,11:Oy,22:Py,23:Oy,24:Py,25:Py,26:Oy,27:Oy,28:Owt,29:jwt,30:Rwt,31:Mwt,32:Lwt,33:qwt,34:Nwt,35:Uwt,36:Gwt,37:zwt,38:Hwt,39:Wwt,40:$wt};function wbe(e){let r=new Uint32Array(e,0,Wo.HEADER_LENGTH)[Wo.MAGIC_NUMBER_INDEX];return r===Wo.MAGIC_NUMBER||r===Wo.MAGIC_NUMBER_EXTRA}function Ebe(e){let t=new Uint32Array(e,0,Wo.HEADER_LENGTH),r=t[Wo.PIXEL_FORMAT_INDEX],n=t[Wo.COLOUR_SPACE_INDEX],i=Iwt[r]||[],a=i.length>1&&n?i[1]:i[0],o=Pwt[r],s=t[Wo.MIPMAPCOUNT_INDEX],u=t[Wo.WIDTH_INDEX],c=t[Wo.HEIGHT_INDEX],l=Wo.HEADER_SIZE+t[Wo.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return vg(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function ybe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function _be(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function Py(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function Oy(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Owt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function jwt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Rwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function Mwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function Lwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function qwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Nwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function Uwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function Gwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function zwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function Hwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function Wwt(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function $wt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function Abe(e){if($3(e))return dbe(e);if(vbe(e))return bbe(e);if(wbe(e))return Ebe(e);throw new Error("Texture container format not recognized")}var Sbe={name:"Texture Containers",id:"compressed-texture",module:"textures",version:gg,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},K3={...Sbe,parse:async(e,t)=>{var r;return(r=t==null?void 0:t["compressed-texture"])!=null&&r.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await Iy(e,t))[0]):Abe(e)}};var _M={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:gg,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var xg=!0,Tbe=1735152710,AM=12,J3=8,Vwt=1313821514,Kwt=5130562,Jwt=0,Xwt=0,Ywt=1;function Qwt(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 Cbe(e,t=0,r={}){let n=new DataView(e),{magic:i=Tbe}=r,a=n.getUint32(t,!1);return a===i||a===Tbe}function Dbe(e,t,r=0,n={}){let i=new DataView(t),a=Qwt(i,r+0),o=i.getUint32(r+4,xg),s=i.getUint32(r+8,xg);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=AM,e.version){case 1:return Zwt(e,i,r);case 2:return eEt(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function Zwt(e,t,r){jt(e.header.byteLength>AM+J3);let n=t.getUint32(r+0,xg),i=t.getUint32(r+4,xg);return r+=J3,jt(i===Jwt),wM(e,t,r,n),r+=n,r+=EM(e,t,r,e.header.byteLength),r}function eEt(e,t,r,n){return jt(e.header.byteLength>AM+J3),tEt(e,t,r,n),r+e.header.byteLength}function tEt(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,xg),a=t.getUint32(r+4,xg);switch(r+=J3,a){case Vwt:wM(e,t,r,i);break;case Kwt:EM(e,t,r,i);break;case Xwt:n.strict||wM(e,t,r,i);break;case Ywt:n.strict||EM(e,t,r,i);break;default:break}r+=oo(i,4)}return r}function wM(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),oo(n,4)}function EM(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),oo(n,4)}function SM(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 CM={};Pi(CM,{decode:()=>dEt,name:()=>pEt});var rEt="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",nEt="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",iEt=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]),aEt=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]),oEt={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},sEt={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Fbe(e,t,r,n,i,a="NONE"){let o=await uEt();fEt(o,o.exports[sEt[i]],e,t,r,n,o.exports[oEt[a||"NONE"]])}var TM;async function uEt(){return TM||(TM=cEt()),TM}async function cEt(){let e=rEt;WebAssembly.validate(iEt)&&(e=nEt,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(lEt(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function lEt(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let i=e.charCodeAt(n);t[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?aEt[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function fEt(e,t,r,n,i,a,o){let s=e.exports.sbrk,u=n+3&-4,c=s(u*i),l=s(a.length),f=new Uint8Array(e.exports.memory.buffer);f.set(a,l);let p=t(c,n,i,l,a.length);if(p===0&&o&&o(c,u,i),r.set(f.subarray(c,c+n*i)),s(c-s(0)),p!==0)throw new Error(`Malformed buffer data: ${p}`)}var X3="EXT_meshopt_compression",pEt=X3;async function dEt(e,t){var i,a;let r=new xr(e);if(!((i=t==null?void 0:t.gltf)!=null&&i.decompressMeshes)||!((a=t.gltf)!=null&&a.loadBuffers))return;let n=[];for(let o of e.json.bufferViews||[])n.push(hEt(r,o));await Promise.all(n),r.removeExtension(X3)}async function hEt(e,t){let r=e.getObjectExtension(t,X3);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:a,count:o,mode:s,filter:u="NONE",buffer:c}=r,l=e.gltf.buffers[c],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),p=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await Fbe(p,o,a,f,s,u),e.removeObjectExtension(t,X3)}}var DM={};Pi(DM,{name:()=>mEt,preprocess:()=>gEt});var yg="EXT_texture_webp",mEt=yg;function gEt(e,t){let r=new xr(e);if(!oM("image/webp")){if(r.getRequiredExtensions().includes(yg))throw new Error(`gltf: Required extension ${yg} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,yg);a&&(i.source=a.source),r.removeObjectExtension(i,yg)}r.removeExtension(yg)}var FM={};Pi(FM,{name:()=>vEt,preprocess:()=>bEt});var Y3="KHR_texture_basisu",vEt=Y3;function bEt(e,t){let r=new xr(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,Y3);a&&(i.source=a.source,r.removeObjectExtension(i,Y3))}r.removeExtension(Y3)}var BM={};Pi(BM,{decode:()=>EEt,encode:()=>AEt,name:()=>_Et,preprocess:()=>wEt});function kbe(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=kM(n);t[r]=i}}return t}function kM(e){let{buffer:t,size:r,count:n}=xEt(e);return{value:t,size:r,byteOffset:0,count:n,type:O3(r),componentType:fg(t)}}function xEt(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=yEt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function yEt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var zf="KHR_draco_mesh_compression",_Et=zf;function wEt(e,t,r){let n=new xr(e);for(let i of Bbe(n))n.getObjectExtension(i,zf)}async function EEt(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new xr(e),i=[];for(let o of Bbe(n))n.getObjectExtension(o,zf)&&i.push(SEt(n,o,t,r));await Promise.all(i),n.removeExtension(zf)}function AEt(e,t={}){let r=new xr(e);for(let n of r.json.meshes||[])TEt(n,t),r.addRequiredExtension(zf)}async function SEt(e,t,r,n){let i=e.getObjectExtension(t,zf);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=zp(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await io(o,ig,s,n),c=kbe(u.attributes);for(let[l,f]of Object.entries(c))if(l in t.attributes){let p=t.attributes[l],d=e.getAccessor(p);d!=null&&d.min&&(d!=null&&d.max)&&(f.min=d.min,f.max=d.max)}t.attributes=c,u.indices&&(t.indices=kM(u.indices)),e.removeObjectExtension(t,zf),CEt(t)}function TEt(e,t,r=4,n,i){var l;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let a=n.DracoWriter.encodeSync({attributes:e}),o=(l=i==null?void 0:i.parseSync)==null?void 0:l.call(i,{attributes:e}),s=n._addFauxAttributes(o.attributes),u=n.addBufferView(a);return{primitives:[{attributes:s,mode:r,extensions:{[zf]:{bufferView:u,attributes:s}}}]}}function CEt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Bbe(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var PM={};Pi(PM,{decode:()=>BEt,name:()=>DEt});var IM="KHR_texture_transform",DEt=IM,Q3=new ie,FEt=new hr,kEt=new hr;async function BEt(e,t){var a;if(!new xr(e).hasExtension(IM)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)IEt(o,e)}function IEt(e,t){var c,l,f;let r=[],n=(c=t.json.materials)==null?void 0:c[e],i=(l=n==null?void 0:n.pbrMetallicRoughness)==null?void 0:l.baseColorTexture;i&&jy(t,e,i,r);let a=n==null?void 0:n.emissiveTexture;a&&jy(t,e,a,r);let o=n==null?void 0:n.normalTexture;o&&jy(t,e,o,r);let s=n==null?void 0:n.occlusionTexture;s&&jy(t,e,s,r);let u=(f=n==null?void 0:n.pbrMetallicRoughness)==null?void 0:f.metallicRoughnessTexture;u&&jy(t,e,u,r)}function jy(e,t,r,n){let i=PEt(r,n);if(!i)return;let a=e.json.meshes||[];for(let o of a)for(let s of o.primitives){let u=s.material;Number.isFinite(u)&&t===u&&OEt(e,s,i)}}function PEt(e,t){var o;let r=(o=e.extensions)==null?void 0:o[IM],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=MEt(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function OEt(e,t,r){var s,u;let{originalTexCoord:n,texCoord:i,matrix:a}=r,o=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let c=(s=e.json.accessors)==null?void 0:s[o];if(c&&c.bufferView){let l=(u=e.json.bufferViews)==null?void 0:u[c.bufferView];if(l){let{arrayBuffer:f,byteOffset:p}=e.buffers[l.buffer],d=(p||0)+(c.byteOffset||0)+(l.byteOffset||0),{ArrayType:m,length:g}=pg(c,l),v=P3[c.componentType],y=I3[c.type],w=l.byteStride||v*y,A=new Float32Array(g);for(let C=0;C<c.count;C++){let T=new m(f,d+C*w,2);Q3.set(T[0],T[1],1),Q3.transformByMatrix3(a),A.set([Q3[0],Q3[1]],C*y)}n===i?jEt(c,l,e.buffers,A):REt(i,c,t,e,A)}}}}function jEt(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 REt(e,t,r,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let a=n.json.bufferViews;if(!a)return;a.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:(a==null?void 0:a.length)-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=o.length-1)}function MEt(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new hr().set(1,0,0,0,1,0,t[0],t[1],1),a=FEt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=kEt.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var OM={};Pi(OM,{decode:()=>qEt,encode:()=>NEt,name:()=>LEt});var kd="KHR_lights_punctual",LEt=kd;async function qEt(e){let t=new xr(e),{json:r}=t,n=t.getExtension(kd);n&&(t.json.lights=n.lights,t.removeExtension(kd));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,kd);a&&(i.light=a.light),t.removeObjectExtension(i,kd)}}async function NEt(e){let t=new xr(e),{json:r}=t;if(r.lights){let n=t.addExtension(kd);pi(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let i=n.node;t.addObjectExtension(i,kd,n)}delete t.json.lights}}var jM={};Pi(jM,{decode:()=>GEt,encode:()=>zEt,name:()=>UEt});var Ry="KHR_materials_unlit",UEt=Ry;async function GEt(e){let t=new xr(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,Ry);t.removeExtension(Ry)}function zEt(e){let t=new xr(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,Ry,{}),t.addExtension(Ry))}var RM={};Pi(RM,{decode:()=>WEt,encode:()=>$Et,name:()=>HEt});var My="KHR_techniques_webgl",HEt=My;async function WEt(e){let t=new xr(e),{json:r}=t,n=t.getExtension(My);if(n){let i=VEt(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,My);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=KEt(a.technique,t)),t.removeObjectExtension(a,My)}t.removeExtension(My)}}async function $Et(e,t){}function VEt(e,t){let{programs:r=[],shaders:n=[],techniques:i=[]}=e,a=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=a.decode(t.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),i.forEach(o=>{o.program=r[o.program]}),i}function KEt(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 Ibe=[lM,sM,CM,DM,FM,BM,OM,jM,RM,PM,fM];function Pbe(e,t={},r){var i;let n=Ibe.filter(a=>jbe(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function Obe(e,t={},r){var i;let n=Ibe.filter(a=>jbe(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function jbe(e,t){var i;let r=((i=t==null?void 0:t.gltf)==null?void 0:i.excludeExtensions)||{};return!(e in r&&!r[e])}var MM="KHR_binary_glTF";function Rbe(e){let t=new xr(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,MM);i&&Object.assign(n,i),t.removeObjectExtension(n,MM)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(MM)}var Mbe={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},XEt={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},LM=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),Rbe(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 Mbe)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let i in n){let a=n[i];a.id=a.id||i;let o=t[r].length;t[r].push(a),this.idToIndexMap[r][i]=o}}}_convertObjectIdsToArrayIndices(t){for(let r in Mbe)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:i,material:a}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),a&&(r.material=this._convertIdToIndex(a,"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 i in n){let a=n[i],o=this._convertIdToIndex(a,i);n[i]=o}}_convertIdToIndex(t,r){let n=XEt[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return i}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){var r,n,i;for(let a of t.materials){a.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=a.values)==null?void 0:r.tex)||((n=a.values)==null?void 0:n.texture2d_0)||((i=a.values)==null?void 0:i.diffuseTex),s=t.textures.findIndex(u=>u.id===o);s!==-1&&(a.pbrMetallicRoughness.baseColorTexture={index:s})}}};function Lbe(e,t={}){return new LM().normalize(e,t)}async function qbe(e,t,r=0,n,i){var a,o,s;return YEt(e,t,r,n),Lbe(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),Pbe(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await QEt(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await ZEt(e,n,i),await Obe(e,n,i),e}function YEt(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!Cbe(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=z5(t);else if(t instanceof ArrayBuffer){let o={};r=Dbe(o,t,r,n.glb),pi(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else pi(!1,"GLTF: must be ArrayBuffer or string");let i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:o}=e._glb;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}let a=e.json.images||[];e.images=new Array(a.length).fill({})}async function QEt(e,t,r){var i,a;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:u}=r;pi(u);let c=SM(s.uri,t),l=await((i=r==null?void 0:r.fetch)==null?void 0:i.call(r,c)),f=await((a=l==null?void 0:l.arrayBuffer)==null?void 0:a.call(l));e.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function ZEt(e,t,r){let n=eAt(e),i=e.json.images||[],a=[];for(let o of n)a.push(tAt(e,i[o],o,t,r));return await Promise.all(a)}function eAt(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 tAt(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let s=SM(t.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let s=Vve(e.json,e.buffers,t.bufferView);a=zp(s.buffer,s.byteOffset,s.byteLength)}pi(a,"glTF image has no data");let o=await io(a,[lg,Fd],{...n,mimeType:t.mimeType,basis:n.basis||{format:bg()}},i);o&&o[0]&&(o={compressed:!0,mipmaps:!1,width:o[0].width,height:o[0].height,data:o[0]}),e.images=e.images||[],e.images[r]=o}var el={name:"glTF",id:"gltf",module:"gltf",version:N3,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:rAt,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function rAt(e,t={},r){t={...el.options,...t},t.gltf={...el.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await qbe({},e,n,t,r)}var nAt=1179937895,iAt=1313821514,aAt=5130562,Ku=!0;function Nbe(e,t,r=0,n={}){let{magic:i=nAt,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Ku),t.setUint32(r+4,a,Ku),t.setUint32(r+8,0,Ku));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Ku),t.setUint32(r+4,iAt,Ku)),r+=8;let f=JSON.stringify(o);if(r=d0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,Ku)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,Ku),t.setUint32(r+4,aAt,Ku)),r+=8,r=Fw(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,Ku)}}if(t){let p=r-u;t.setUint32(c,p,Ku)}return r}function qM(e,t,r,n){return oAt(e),Nbe(e,t,r,n)}function oAt(e,{firstBuffer:t=0}={}){if(e.buffers&&e.buffers.length>t)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var NM={name:"glTF",id:"gltf",module:"gltf",version:N3,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>Ube(e,t),encodeSync:Ube};function Ube(e,t={}){let{byteOffset:r=0}=t,n=qM(e,null,r,t),i=new ArrayBuffer(n),a=new DataView(i);return qM(e,a,r,t),i}var sAt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},uAt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},$o={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},cAt={magFilter:$o.TEXTURE_MAG_FILTER,minFilter:$o.TEXTURE_MIN_FILTER,wrapS:$o.TEXTURE_WRAP_S,wrapT:$o.TEXTURE_WRAP_T},lAt={[$o.TEXTURE_MAG_FILTER]:$o.LINEAR,[$o.TEXTURE_MIN_FILTER]:$o.NEAREST_MIPMAP_LINEAR,[$o.TEXTURE_WRAP_S]:$o.REPEAT,[$o.TEXTURE_WRAP_T]:$o.REPEAT};function fAt(){return{id:"default-sampler",parameters:lAt}}function pAt(e){return uAt[e]}function dAt(e){return sAt[e]}var UM=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return pi(n),this.baseUri=o,this.buffers=i,this.images=a,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((i,a)=>this._resolveBufferView(i,a))),t.images&&(n.images=t.images.map((i,a)=>this._resolveImage(i,a))),t.samplers&&(n.samplers=t.samplers.map((i,a)=>this._resolveSampler(i,a))),t.textures&&(n.textures=t.textures.map((i,a)=>this._resolveTexture(i,a))),t.accessors&&(n.accessors=t.accessors.map((i,a)=>this._resolveAccessor(i,a))),t.materials&&(n.materials=t.materials.map((i,a)=>this._resolveMaterial(i,a))),t.meshes&&(n.meshes=t.meshes.map((i,a)=>this._resolveMesh(i,a))),t.nodes&&(n.nodes=t.nodes.map((i,a)=>this._resolveNode(i,a)),n.nodes=n.nodes.map((i,a)=>this._resolveNodeChildren(i))),t.skins&&(n.skins=t.skins.map((i,a)=>this._resolveSkin(i,a))),t.scenes&&(n.scenes=t.scenes.map((i,a)=>this._resolveScene(i,a))),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==null?void 0: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((i,a)=>{let o=this.getMesh(a);return i.id=o.id,i.primitives=i.primitives.concat(o.primitives),i},{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(i=>{let a={...i,attributes:{},indices:void 0,material:void 0},o=i.attributes;for(let s in o)a.attributes[s]=this.getAccessor(o[s]);return i.indices!==void 0&&(a.indices=this.getAccessor(i.indices)),i.material!==void 0&&(a.material=this.getMaterial(i.material)),a})),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 i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture={...i.baseColorTexture},i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture={...i.metallicRoughnessTexture},i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=pAt(t.componentType),i=dAt(t.type),a=n*i,o={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:a,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(o.bufferView=this.getBufferView(t.bufferView)),o.bufferView){let s=o.bufferView.buffer,{ArrayType:u,byteLength:c}=pg(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=s.arrayBuffer.slice(l,l+c);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new u(f)}return o}_getValueFromInterleavedBuffer(t,r,n,i,a){let o=new Uint8Array(a*i);for(let s=0;s<a;s++){let u=r+s*n;o.set(new Uint8Array(t.arrayBuffer.slice(u,u+i)),s*i)}return o.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):fAt(),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 i in n){let a=this._enumSamplerParameter(i);a!==void 0&&(n.parameters[a]=n[i])}return n}_enumSamplerParameter(t){return cAt[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},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(t,r){let n=t.buffer,i=this.buffers[n].arrayBuffer,a=this.buffers[n].byteOffset||0;return t.byteOffset&&(a+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(i,a,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Ly(e,t){return new UM().postProcess(e,t)}var Z3={URI:0,EMBEDDED:1};function e8(e,t,r,n){e.rotateYtoZ=!0;let i=(e.byteOffset||0)+(e.byteLength||0)-r;if(i===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=zp(t,r,i),e.gltfByteOffset=0,e.gltfByteLength=i,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 t8(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(hAt(e,t,r),i.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:a}=n,o=await a(e.gltfUrl,r);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let a=await io(e.gltfArrayBuffer,el,r,n);e.gltf=Ly(a),e.gpuMemoryUsageInBytes=Dy(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function hAt(e,t,r){switch(t){case Z3.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),a=new TextDecoder().decode(n);e.gltfUrl=a.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case Z3.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function Gbe(e,t,r,n,i){var o;r=mAt(e,t,r,n,i),await t8(e,Z3.EMBEDDED,n,i);let a=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return a&&a.CESIUM_RTC&&(e.rtcCenter=a.CESIUM_RTC.center),r}function mAt(e,t,r,n,i){r=Gf(e,t,r),r=sg(e,t,r),r=ug(e,t,r,n),r=e8(e,t,r,n);let a=new Qc(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",St.FLOAT,3),r}async function zbe(e,t,r,n,i){return r=gAt(e,t,r,n,i),await t8(e,e.gltfFormat||0,n,i),r}function gAt(e,t,r,n,i){var c;if(r=Gf(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=sg(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=ug(e,t,r,n),r=e8(e,t,r,n),!((c=e==null?void 0:e.header)!=null&&c.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new Qc(e.featureTableJson,e.featureTableBinary),s=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=s,!Number.isFinite(s))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",St.FLOAT,3);let u=new Cd(e.batchTableJson,e.batchTableBinary,s);return vAt(e,o,u,s),r}function vAt(e,t,r,n){let i=new Array(n),a=new ie,o=new ie,s=new ie,u=new ie,c=new hr,l=new Uo,f=new ie,p={},d=new Sr,m=[],g=[],v=[],y=[];for(let w=0;w<n;w++){let A;if(t.hasProperty("POSITION"))A=t.getProperty("POSITION",St.FLOAT,3,w,a);else if(t.hasProperty("POSITION_QUANTIZED")){A=t.getProperty("POSITION_QUANTIZED",St.UNSIGNED_SHORT,3,w,a);let R=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",St.FLOAT,3);if(!R)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let M=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",St.FLOAT,3);if(!M)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let z=65535;for(let W=0;W<3;W++)A[W]=A[W]/z*M[W]+R[W]}if(!A)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(A),p.translation=a,e.normalUp=t.getProperty("NORMAL_UP",St.FLOAT,3,w,m),e.normalRight=t.getProperty("NORMAL_RIGHT",St.FLOAT,3,w,g);let C=!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",St.UNSIGNED_SHORT,2,w,m),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",St.UNSIGNED_SHORT,2,w,g),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?(Ut.WGS84.eastNorthUpToFixedFrame(a,d),d.getRotationMatrix3(c)):c.identity()}C&&(u.copy(o).cross(s).normalize(),c.setColumn(0,o),c.setColumn(1,s),c.setColumn(2,u)),l.fromMatrix3(c),p.rotation=l,f.set(1,1,1);let T=t.getProperty("SCALE",St.FLOAT,1,w,v);Number.isFinite(T)&&f.multiplyByScalar(T);let B=t.getProperty("SCALE_NON_UNIFORM",St.FLOAT,3,w,m);B&&f.scale(B),p.scale=f;let j=t.getProperty("BATCH_ID",St.UNSIGNED_SHORT,1,w,y);j===void 0&&(j=w);let U=new Sr().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(U),d.scale(p.scale);let I=d.clone();i[w]={modelMatrix:I,batchId:j}}e.instances=i}async function Hbe(e,t,r,n,i,a){r=Gf(e,t,r);let o=new DataView(t);for(e.tilesLength=o.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let s={shape:"tile3d"};e.tiles.push(s),r=await a(t,r,n,i,s)}return r}async function Wbe(e,t,r,n){var i,a;if(e.rotateYtoZ=!0,e.gltfUpAxis=(i=r==null?void 0:r["3d-tiles"])!=null&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",(a=r==null?void 0:r["3d-tiles"])!=null&&a.loadGLTF){if(!n)return t.byteLength;let o=await io(t,el,r,n);e.gltf=Ly(o),e.gpuMemoryUsageInBytes=Dy(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function GM(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=dve(e,t),i.type){case zo.COMPOSITE:return await Hbe(i,e,t,r,n,GM);case zo.BATCHED_3D_MODEL:return await Gbe(i,e,t,r,n);case zo.GLTF:return await Wbe(i,e,r,n);case zo.INSTANCED_3D_MODEL:return await zbe(i,e,t,r,n);case zo.POINT_CLOUD:return await Bve(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function zM(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 a=$be(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=$be(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await r8(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let p of c.contentAvailability)await r8(c,p,f,r);else await r8(c,c.contentAvailability,f,r);return await r8(c,c.childSubtreeAvailability,f,r),c}async function r8(e,t,r,n){let i=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof i!="number")return;let a=e.bufferViews[i],o=e.buffers[a.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let u=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(u)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,a.byteOffset,a.byteLength);return}let s=e.buffers.slice(0,a.buffer).reduce((u,c)=>u+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(s,s+o.byteLength),a.byteOffset,a.byteLength)}function $be(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var n8={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:ng,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:zM,options:{}};function HM(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 Rs(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||HM()}var bAt=globalThis.self||globalThis.window||globalThis.global,_g=globalThis.window||globalThis.self||globalThis.global,xAt=globalThis.document||{},Bd=globalThis.process||{},yAt=globalThis.console,Bsr=globalThis.navigator||{};var i8="4.2.0-alpha.3",Osr=Rs();function _At(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var a8=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=_At(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 Vbe(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 Kbe(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 o8(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var s8;(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"})(s8||(s8={}));var wAt=10;function Jbe(e){return typeof e!="string"?e:(e=e.toUpperCase(),s8[e]||s8.WHITE)}function Xbe(e,t,r){if(!Rs&&typeof e=="string"){if(t){let n=Jbe(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=Jbe(r);e="\x1B[".concat(n+wAt,"m").concat(e,"\x1B[49m")}}return e}function Ybe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function wg(e,t){if(!e)throw new Error(t||"Assertion failed")}function Id(){let e;if(Rs()&&_g.performance){var t,r;e=_g===null||_g===void 0||(t=_g.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in Bd){var n;let i=Bd===null||Bd===void 0||(n=Bd.hrtime)===null||n===void 0?void 0:n.call(Bd);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var Eg={debug:Rs()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},EAt={enabled:!0,level:0};function Vo(){}var Qbe={},Zbe={once:!0},qy=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=i8,this._startTs=Id(),this._deltaTs=Id(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new a8("__probe-".concat(this.id,"__"),EAt),this.timeStamp("".concat(this.id," started")),Ybe(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((Id()-this._startTs).toPrecision(10))}getDelta(){return Number((Id()-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){wg(t,r)}warn(t){return this._getLogFunction(0,t,Eg.warn,arguments,Zbe)}error(t){return this._getLogFunction(0,t,Eg.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,Eg.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,Eg.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,Eg.debug||Eg.info,arguments,Zbe)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||Vo,n&&[n],{tag:CAt(r)}):Vo}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?Rs()?TAt({image:i,message:a,scale:o}):SAt({image:i,message:a,scale:o}):Vo}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||Vo)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=exe({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}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||Vo)}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()>=txe(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=exe({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,wg(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=Id();let o=a.tag||a.message;if(a.once&&o)if(!Qbe[o])Qbe[o]=Id();else return Vo;return r=AAt(this.id,a.message,a),n.bind(console,r,...a.args)}return Vo}};qy.VERSION=i8;function txe(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 wg(Number.isFinite(t)&&t>=0),t}function exe(e){let{logLevel:t,message:r}=e;e.logLevel=txe(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 i=typeof e.message;return wg(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function AAt(e,t,r){if(typeof t=="string"){let n=r.time?Kbe(Vbe(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=Xbe(t,r.color,r.background)}return t}function SAt(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),Vo}function TAt(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=o8(a,r,n);console.log(...o)},a.src=t,Vo}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...o8(t,r,n)),Vo;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...o8(a,r,n)),a.src=t.toDataURL(),Vo}return Vo}function CAt(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var WM=new qy({id:"@probe.gl/log"});var Ko=null;try{Ko=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 nn(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}nn.prototype.__isLong__;Object.defineProperty(nn.prototype,"__isLong__",{value:!0});function da(e){return(e&&e.__isLong__)===!0}function rxe(e){var t=Math.clz32(e&-e);return e?31-t:t}nn.isLong=da;var nxe={},ixe={};function Pd(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=ixe[e],n)?n:(r=Tr(e,0,!0),i&&(ixe[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=nxe[e],n)?n:(r=Tr(e,e<0?-1:0,!1),i&&(nxe[e]=r),r))}nn.fromInt=Pd;function Jo(e,t){if(isNaN(e))return t?tl:Ms;if(t){if(e<0)return tl;if(e>=uxe)return fxe}else{if(e<=-oxe)return $a;if(e+1>=oxe)return lxe}return e<0?Jo(-e,t).neg():Tr(e%Sg|0,e/Sg|0,t)}nn.fromNumber=Jo;function Tr(e,t,r){return new nn(e,t,r)}nn.fromBits=Tr;var u8=Math.pow;function VM(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?tl:Ms;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 VM(e.substring(1),t,r).neg();for(var i=Jo(u8(r,8)),a=Ms,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),u=parseInt(e.substring(o,o+s),r);if(s<8){var c=Jo(u8(r,s));a=a.mul(c).add(Jo(u))}else a=a.mul(i),a=a.add(Jo(u))}return a.unsigned=t,a}nn.fromString=VM;function Ls(e,t){return typeof e=="number"?Jo(e,t):typeof e=="string"?VM(e,t):Tr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}nn.fromValue=Ls;var axe=1<<16,DAt=1<<24,Sg=axe*axe,uxe=Sg*Sg,oxe=uxe/2,sxe=Pd(DAt),Ms=Pd(0);nn.ZERO=Ms;var tl=Pd(0,!0);nn.UZERO=tl;var Ag=Pd(1);nn.ONE=Ag;var cxe=Pd(1,!0);nn.UONE=cxe;var $M=Pd(-1);nn.NEG_ONE=$M;var lxe=Tr(-1,2147483647,!1);nn.MAX_VALUE=lxe;var fxe=Tr(-1,-1,!0);nn.MAX_UNSIGNED_VALUE=fxe;var $a=Tr(0,-2147483648,!1);nn.MIN_VALUE=$a;var Oe=nn.prototype;Oe.toInt=function(){return this.unsigned?this.low>>>0:this.low};Oe.toNumber=function(){return this.unsigned?(this.high>>>0)*Sg+(this.low>>>0):this.high*Sg+(this.low>>>0)};Oe.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($a)){var r=Jo(t),n=this.div(r),i=n.mul(r).sub(this);return n.toString(t)+i.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var a=Jo(u8(t,6),this.unsigned),o=this,s="";;){var u=o.div(a),c=o.sub(u.mul(a)).toInt()>>>0,l=c.toString(t);if(o=u,o.isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}};Oe.getHighBits=function(){return this.high};Oe.getHighBitsUnsigned=function(){return this.high>>>0};Oe.getLowBits=function(){return this.low};Oe.getLowBitsUnsigned=function(){return this.low>>>0};Oe.getNumBitsAbs=function(){if(this.isNegative())return this.eq($a)?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};Oe.isZero=function(){return this.high===0&&this.low===0};Oe.eqz=Oe.isZero;Oe.isNegative=function(){return!this.unsigned&&this.high<0};Oe.isPositive=function(){return this.unsigned||this.high>=0};Oe.isOdd=function(){return(this.low&1)===1};Oe.isEven=function(){return(this.low&1)===0};Oe.equals=function(t){return da(t)||(t=Ls(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Oe.eq=Oe.equals;Oe.notEquals=function(t){return!this.eq(t)};Oe.neq=Oe.notEquals;Oe.ne=Oe.notEquals;Oe.lessThan=function(t){return this.comp(t)<0};Oe.lt=Oe.lessThan;Oe.lessThanOrEqual=function(t){return this.comp(t)<=0};Oe.lte=Oe.lessThanOrEqual;Oe.le=Oe.lessThanOrEqual;Oe.greaterThan=function(t){return this.comp(t)>0};Oe.gt=Oe.greaterThan;Oe.greaterThanOrEqual=function(t){return this.comp(t)>=0};Oe.gte=Oe.greaterThanOrEqual;Oe.ge=Oe.greaterThanOrEqual;Oe.compare=function(t){if(da(t)||(t=Ls(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};Oe.comp=Oe.compare;Oe.negate=function(){return!this.unsigned&&this.eq($a)?$a:this.not().add(Ag)};Oe.neg=Oe.negate;Oe.add=function(t){da(t)||(t=Ls(t));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,a=this.low&65535,o=t.high>>>16,s=t.high&65535,u=t.low>>>16,c=t.low&65535,l=0,f=0,p=0,d=0;return d+=a+c,p+=d>>>16,d&=65535,p+=i+u,f+=p>>>16,p&=65535,f+=n+s,l+=f>>>16,f&=65535,l+=r+o,l&=65535,Tr(p<<16|d,l<<16|f,this.unsigned)};Oe.subtract=function(t){return da(t)||(t=Ls(t)),this.add(t.neg())};Oe.sub=Oe.subtract;Oe.multiply=function(t){if(this.isZero())return this;if(da(t)||(t=Ls(t)),Ko){var r=Ko.mul(this.low,this.high,t.low,t.high);return Tr(r,Ko.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?tl:Ms;if(this.eq($a))return t.isOdd()?$a:Ms;if(t.eq($a))return this.isOdd()?$a:Ms;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(sxe)&&t.lt(sxe))return Jo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,a=this.low>>>16,o=this.low&65535,s=t.high>>>16,u=t.high&65535,c=t.low>>>16,l=t.low&65535,f=0,p=0,d=0,m=0;return m+=o*l,d+=m>>>16,m&=65535,d+=a*l,p+=d>>>16,d&=65535,d+=o*c,p+=d>>>16,d&=65535,p+=i*l,f+=p>>>16,p&=65535,p+=a*c,f+=p>>>16,p&=65535,p+=o*u,f+=p>>>16,p&=65535,f+=n*l+i*c+a*u+o*s,f&=65535,Tr(d<<16|m,f<<16|p,this.unsigned)};Oe.mul=Oe.multiply;Oe.divide=function(t){if(da(t)||(t=Ls(t)),t.isZero())throw Error("division by zero");if(Ko){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Ko.div_u:Ko.div_s)(this.low,this.high,t.low,t.high);return Tr(r,Ko.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?tl:Ms;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return tl;if(t.gt(this.shru(1)))return cxe;a=tl}else{if(this.eq($a)){if(t.eq(Ag)||t.eq($M))return $a;if(t.eq($a))return Ag;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(Ms)?t.isNegative()?Ag:$M:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq($a))return this.unsigned?tl:Ms;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();a=Ms}for(i=this;i.gte(t);){n=Math.max(1,Math.floor(i.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),u=s<=48?1:u8(2,s-48),c=Jo(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=Jo(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=Ag),a=a.add(c),i=i.sub(l)}return a};Oe.div=Oe.divide;Oe.modulo=function(t){if(da(t)||(t=Ls(t)),Ko){var r=(this.unsigned?Ko.rem_u:Ko.rem_s)(this.low,this.high,t.low,t.high);return Tr(r,Ko.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Oe.mod=Oe.modulo;Oe.rem=Oe.modulo;Oe.not=function(){return Tr(~this.low,~this.high,this.unsigned)};Oe.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Oe.clz=Oe.countLeadingZeros;Oe.countTrailingZeros=function(){return this.low?rxe(this.low):rxe(this.high)+32};Oe.ctz=Oe.countTrailingZeros;Oe.and=function(t){return da(t)||(t=Ls(t)),Tr(this.low&t.low,this.high&t.high,this.unsigned)};Oe.or=function(t){return da(t)||(t=Ls(t)),Tr(this.low|t.low,this.high|t.high,this.unsigned)};Oe.xor=function(t){return da(t)||(t=Ls(t)),Tr(this.low^t.low,this.high^t.high,this.unsigned)};Oe.shiftLeft=function(t){return da(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Tr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):Tr(0,this.low<<t-32,this.unsigned)};Oe.shl=Oe.shiftLeft;Oe.shiftRight=function(t){return da(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Tr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):Tr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Oe.shr=Oe.shiftRight;Oe.shiftRightUnsigned=function(t){return da(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Tr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?Tr(this.high,0,this.unsigned):Tr(this.high>>>t-32,0,this.unsigned)};Oe.shru=Oe.shiftRightUnsigned;Oe.shr_u=Oe.shiftRightUnsigned;Oe.rotateLeft=function(t){var r;return da(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Tr(this.high,this.low,this.unsigned):t<32?(r=32-t,Tr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,Tr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Oe.rotl=Oe.rotateLeft;Oe.rotateRight=function(t){var r;return da(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Tr(this.high,this.low,this.unsigned):t<32?(r=32-t,Tr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,Tr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Oe.rotr=Oe.rotateRight;Oe.toSigned=function(){return this.unsigned?Tr(this.low,this.high,!1):this};Oe.toUnsigned=function(){return this.unsigned?this:Tr(this.low,this.high,!0)};Oe.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Oe.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]};Oe.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]};nn.fromBytes=function(t,r,n){return n?nn.fromBytesLE(t,r):nn.fromBytesBE(t,r)};nn.fromBytesLE=function(t,r){return new nn(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};nn.fromBytesBE=function(t,r){return new nn(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var Tg=nn;var FAt=16;function Ny(e){e==="X"&&(e="");let t=e.padEnd(FAt,"0");return Tg.fromString(t,!0,16)}function KM(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let a=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-a.length).join("0")+a}function JM(e,t){let r=kAt(e).shiftRightUnsigned(2);return e.add(Tg.fromNumber(2*t+1-4).multiply(r))}function kAt(e){return e.and(e.not().add(1))}var BAt=3,IAt=30,PAt=2*IAt+1,pxe=180/Math.PI;function hxe(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],i=n.length,a=0,o=[0,0];for(let s=i-1;s>=0;s--){a=i-s;let u=n[s],c=0,l=0;u==="1"?l=1:u==="2"?(c=1,l=1):u==="3"&&(c=1);let f=Math.pow(2,a-1);OAt(f,o,c,l),o[0]+=f*c,o[1]+=f*l}if(r%2===1){let s=o[0];o[0]=o[1],o[1]=s}return{face:r,ij:o,level:a}}function mxe(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<BAt+PAt;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=Tg.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=Tg.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function XM(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function dxe(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function YM(e){return[dxe(e[0]),dxe(e[1])]}function QM(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 ZM([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*pxe,n*pxe]}function OAt(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}function gxe(e){let t=XM(e.ij,e.level,[.5,.5]),r=YM(t),n=QM(e.face,r);return ZM(n)}var jAt=100;function eL(e){let{face:t,ij:r,level:n}=e,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],a=Math.max(1,Math.ceil(jAt*Math.pow(2,-n))),o=new Float64Array(4*a*2+2),s=0,u=0;for(let c=0;c<4;c++){let l=i[c].slice(0),f=i[c+1],p=(f[0]-l[0])/a,d=(f[1]-l[1])/a;for(let m=0;m<a;m++){l[0]+=p,l[1]+=d;let g=XM(r,n,l),v=YM(g),y=QM(t,v),w=ZM(y);Math.abs(w[1])>89.999&&(w[0]=u);let A=w[0]-u;w[0]+=A>180?-360:A<-180?360:0,o[s++]=w[0],o[s++]=w[1],u=w[0]}}return o[s++]=o[0],o[s++]=o[1],o}function Cg(e){let t=RAt(e);return hxe(t)}function RAt(e){if(e.indexOf("/")>0)return e;let t=Ny(e);return mxe(t)}function tL(e){let t=Cg(e);return gxe(t)}function bxe(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let i=0;i<4;i++){let a=`${e.face}/${i}`,o=Cg(a),s=eL(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=vxe(r)}else{let r=eL(e);t=vxe(r)}return t}function vxe(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,i)=>n-i),r.sort((n,i)=>n-i),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function rL(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=Cg(e),a=bxe(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new ie(o,c,r)),l.push(new ie(u,c,r)),l.push(new ie(u,s,r)),l.push(new ie(o,s,r)),l.push(new ie(o,c,n)),l.push(new ie(u,c,n)),l.push(new ie(u,s,n)),l.push(new ie(o,s,n)),l}function c8(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=rL(t,r),i=tL(t),a=i[0],o=i[1],s=Ut.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new ie(s[0],s[1],s[2]);n.push(u);let c=wy(n);return[...c.center,...c.halfAxes]}var MAt=4,LAt=8,qAt={QUADTREE:MAt,OCTREE:LAt};function NAt(e,t,r){if(e!=null&&e.box){let n=Ny(e.s2VolumeInfo.token),i=JM(n,t),a=KM(i),o={...e.s2VolumeInfo};switch(o.token=a,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,f=l/2,p=c.minimumHeight+l/2;c.minimumHeight=p-f,c.maximumHeight=p+f;break;default:break}return{box:c8(o),s2VolumeInfo:o}}}async function iL(e){let{implicitOptions:t,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:a}=e,{subtree:o,level:s=0,globalData:u={level:0,mortonIndex:0,x:0,y:0,z:0}}=e,{subdivisionScheme:c,subtreeLevels:l,maximumLevel:f,contentUrlTemplate:p,subtreesUriTemplate:d,basePath:m}=t,g={children:[],lodMetricValue:0,contentUrl:""};if(!f)return WM.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${p} won't be loaded...`),g;let v=s+u.level;if(v>f)return g;let y=qAt[c],w=Math.log2(y),A=n&1,C=n>>1&1,T=n>>2&1,B=(y**s-1)/(y-1),j=Od(r.mortonIndex,n,w),U=B+j,I=Od(r.x,A,1),R=Od(r.y,C,1),M=Od(r.z,T,1),z=!1;s>=l&&(z=nL(o.childSubtreeAvailability,j));let W=Od(u.x,I,s),X=Od(u.y,R,s),te=Od(u.z,M,s);if(z){let Ee=`${m}/${d}`,qe=l8(Ee,v,W,X,te);o=await un(qe,n8,a),u={mortonIndex:j,x:I,y:R,z:M,level:s},j=0,U=0,I=0,R=0,M=0,s=0}if(!nL(o.tileAvailability,U))return g;nL(o.contentAvailability,U)&&(g.contentUrl=l8(p,v,W,X,te));let he=s+1,ve={mortonIndex:j,x:I,y:R,z:M};for(let Ee=0;Ee<y;Ee++){let qe=NAt(i,Ee,c),Le=await iL({subtree:o,implicitOptions:t,loaderOptions:a,parentData:ve,childIndex:Ee,level:he,globalData:{...u},s2VolumeBox:qe});if(Le.contentUrl||Le.children.length){let Z=v+1,Q=UAt(Le,Z,{childTileX:I,childTileY:R,childTileZ:M},t,i);g.children.push(Q)}}return g}function nL(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&WM.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?HAt(t,r.explicitBitstream):!1}function UAt(e,t,r,n,i){let{basePath:a,refine:o,getRefine:s,lodMetricType:u,getTileType:c,rootLodMetricValue:l,rootBoundingVolume:f}=n,p=e.contentUrl&&e.contentUrl.replace(`${a}/`,""),d=l/2**t,m=i!=null&&i.box?{box:i.box}:f,g=GAt(t,m,r);return{children:e.children,contentUrl:e.contentUrl,content:{uri:p},id:e.contentUrl,refine:s(o),type:c(e),lodMetricType:u,lodMetricValue:d,geometricError:d,transform:e.transform,boundingVolume:g}}function GAt(e,t,r){if(t.region){let{childTileX:n,childTileY:i,childTileZ:a}=r,[o,s,u,c,l,f]=t.region,p=2**e,d=(u-o)/p,m=(c-s)/p,g=(f-l)/p,[v,y]=[o+d*n,o+d*(n+1)],[w,A]=[s+m*i,s+m*(i+1)],[C,T]=[l+g*a,l+g*(a+1)];return{region:[v,w,y,A,C,T]}}if(t.box)return t;throw new Error(`Unsupported bounding volume type ${t}`)}function Od(e,t,r){return(e<<r)+t}function l8(e,t,r,n,i){let a=zAt({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function zAt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function HAt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function oL(e,t=""){if(!t)return"empty";let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return"pointcloud";case"i3dm":case"b3dm":case"glb":case"gltf":return"scenegraph";default:return n||"empty"}}function sL(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function aL(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 qa.resolve(t,e)}function xxe(e,t){var i;if(!e)return null;let r;if(e.content){let a=e.content.uri||((i=e.content)==null?void 0:i.url);typeof a<"u"&&(r=aL(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:oL(e,r),refine:sL(e.refine)}}async function wxe(e,t,r){let n=null,i=_xe(e.root);i&&e.root?n=await yxe(e.root,e,t,i,r):n=xxe(e.root,t);let a=[];for(a.push(n);a.length>0;){let o=a.pop()||{},s=o.children||[],u=[];for(let c of s){let l=_xe(c),f;l?f=await yxe(c,e,t,l,r):f=xxe(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function yxe(e,t,r,n,i){var C,T,B;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=l8(c,0,0,0,0),f=aL(l,r),p=await un(f,n8,i),d=(C=e.content)==null?void 0:C.uri,m=d?aL(d,r):"",g=(T=t==null?void 0:t.root)==null?void 0:T.refine,v=e.geometricError,y=(B=e.boundingVolume.extensions)==null?void 0:B["3DTILES_bounding_volume_S2"];if(y){let U={box:c8(y),s2VolumeInfo:y};e.boundingVolume=U}let w=e.boundingVolume,A={contentUrlTemplate:m,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:g,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:v,rootBoundingVolume:w,getTileType:oL,getRefine:sL};return await WAt(e,r,p,A,i)}async function WAt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await iL({subtree:r,implicitOptions:n,loaderOptions:i}),s,u=null;return o&&(s=o,u={uri:o.replace(`${t}/`,"")}),{...e,id:s,contentUrl:s,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:oL(e,s),refine:sL(e.refine),content:u||e.content,children:a}}function _xe(e){var t;return((t=e==null?void 0:e.extensions)==null?void 0:t["3DTILES_implicit_tiling"])||(e==null?void 0:e.implicitTiling)}var Ju={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:ng,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:$At,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function $At(e,t={},r){let n=t["3d-tiles"]||{},i;return n.isTileset==="auto"?i=(r==null?void 0:r.url)&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?VAt(e,t,r):KAt(e,t,r)}async function VAt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=JAt(i),o=await wxe(n,a,t||{});return{...n,shape:"tileset3d",loader:Ju,url:i,queryString:(r==null?void 0:r.queryString)||"",basePath:a,root:o||n.root,type:"TILES3D",lodMetricType:"geometricError",lodMetricValue:((u=n.root)==null?void 0:u.geometricError)||0}}async function KAt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await GM(e,0,t,r,n.content),n.content}function JAt(e){return qa.dirname(e)}var Exe="https://api.cesium.com/v1/assets";async function Axe(e,t){if(!t){let a=await XAt(e);for(let o of a.items)o.type==="3DTILES"&&(t=o.id)}let r=await YAt(e,t),{type:n,url:i}=r;return jt(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken}`},r}async function XAt(e){jt(e);let t=Exe,r={Authorization:`Bearer ${e}`},n=await Aa(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function YAt(e,t){jt(e,t);let r={Authorization:`Bearer ${e}`},n=`${Exe}/${t}`,i=await Aa(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await Aa(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function QAt(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let i=e.match(/\/([0-9]+)\/tileset.json/);n=i&&i[1]}return Axe(r,n)}var f8={...Ju,id:"cesium-ion",name:"Cesium Ion",preload:QAt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=f8,Ju.parse(e,t,r)),options:{"cesium-ion":{...Ju.options["3d-tiles"],accessToken:null}}};var P_e=Pt(I_e(),1),b8t="4.2.0-alpha.3",X7={id:"zip",module:"zip",name:"Zip Archive",version:b8t,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:x8t};async function x8t(e,t={}){let r=[],n={};try{let i=new P_e.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=y8t(i,u,t).then(l=>{n[o]=l});r.push(c)}),await Promise.all(r),n}catch(i){throw t.log.error(`Unable to read zip archive: ${i}`),i}}async function y8t(e,t,r={}){try{return await e.file(t).async(r.dataType||"arraybuffer")}catch(n){return r.log.error(`Unable to read ${t} from zip archive: ${n}`),n}}var Jd=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 i=e.length-4n;i>-1;i--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=await e.getUint8(i),r.every((a,o)=>a===t[o])){n=i;break}return n};var _8t=new Uint8Array([1,0]);function rC(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of w8t){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));O_e[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return Pn(...r)}function $i(e,t,r,n){O_e[t](e,Number(r),n)}var O_e={2:(e,t,r)=>{e.setUint16(t,Number(r>65535?65535:r),!0)},4:(e,t,r)=>{e.setUint32(t,Number(r>4294967295?4294967295:r),!0)},8:(e,t,r)=>{e.setBigUint64(t,BigInt(r),!0)}},w8t=[{size:2,default:new DataView(_8t.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var j_e=new Uint8Array([80,75,5,6]),R_e=new Uint8Array([80,75,6,7]),M_e=new Uint8Array([80,75,6,6]),L_e=8n,E8t=10n,A8t=12n,q_e=16n,S8t=22n,N_e=8n,U_e=24n,T8t=32n,C8t=40n,G_e=48n,D8t=56n,nC=async e=>{let t=await Jd(e,j_e),r=BigInt(await e.getUint16(t+L_e)),n=BigInt(await e.getUint32(t+q_e)),i=t-20n,a=0n,o=await e.slice(i,i+4n);if(Su(o,R_e)){a=await e.getBigUint64(i+N_e);let s=await e.slice(a,a+4n);if(!Su(s,M_e.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(a+U_e),n=await e.getBigUint64(a+G_e)}else i=0n;return{cdRecordsNumber:r,cdStartOffset:n,offsets:{zip64EoCDOffset:a,zip64EoCDLocatorOffset:i,zipEoCDOffset:t}}};function z_e(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&($i(a,2,o+L_e,i),$i(a,2,o+E8t,i)),n-r<=4294967295&&$i(a,4,o+A8t,n-r),r<4294967295&&$i(a,4,o+q_e,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;$i(a,8,s+N_e,n),$i(a,8,G_e,r),$i(a,8,U_e,i),$i(a,8,T8t,i),$i(a,8,C8t,n-r)}return new Uint8Array(a.buffer)}function H_e(e){let t=new DataView(new ArrayBuffer(Number(S8t)));for(let i of F8t)$i(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=B8t(e),n=k8t(e);return Pn(n,r,t.buffer)}var F8t=[{offset:0,size:4,default:new DataView(j_e.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}];function k8t(e){let t=new DataView(new ArrayBuffer(Number(D8t)));for(let r of P8t)$i(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function B8t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of I8t)$i(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var I8t=[{offset:0,size:4,default:new DataView(R_e.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],P8t=[{offset:0,size:4,default:new DataView(M_e.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 O8t=20n,j8t=24n,R8t=28n,M8t=30n,L8t=32n,q8t=42n,iC=46n,Yd=new Uint8Array([80,75,1,2]),Xd=async(e,t)=>{let r=await t.slice(e,e+4n);if(!Su(r,Yd.buffer))return null;let n=BigInt(await t.getUint32(e+O8t)),i=BigInt(await t.getUint32(e+j8t)),a=await t.getUint16(e+M8t),o=BigInt(await t.getUint16(e+L8t)),s=await t.getUint16(e+R8t),u=await t.slice(e+iC,e+iC+BigInt(s)),c=new TextDecoder().decode(u),l=e+iC+BigInt(s),f=await t.getUint32(e+q8t),p=BigInt(f),d=new DataView(await t.slice(l,l+BigInt(a))),m={uncompressedSize:i,compressedSize:n,localHeaderOffset:p,startDisk:o},g=N8t(m,d);return{...m,...g,extraFieldLength:a,fileNameLength:s,fileName:c,extraOffset:l}};async function*nc(e){let{cdStartOffset:t}=await nC(e),r=await Xd(t,e);for(;r;)yield r,r=await Xd(r.extraOffset+BigInt(r.extraFieldLength),e)}var W_e=(...e)=>e[0]+e[1]*16,N8t=(e,t)=>{let r=U8t(e),n={};if(r.length>0){let i=r.reduce((s,u)=>s+u.length,0),a=new Uint8Array(t.buffer).findIndex((s,u,c)=>W_e(c[u],c[u+1])===1&&W_e(c[u+2],c[u+3])===i),o=0;for(let s of r){let u=o;n[s.name]=t.getBigUint64(a+4+u,!0),o=u+s.length}}return n},U8t=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};function Y7(e){let t={...e,fnlength:e.fileName.length,extraLength:0},r=new ArrayBuffer(0),n={};t.offset>=4294967295&&(n.offset=t.offset,t.offset=BigInt(4294967295)),t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=rC(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(iC)));for(let s of G8t)$i(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return Pn(i.buffer,a,r)}var G8t=[{offset:0,size:4,default:new DataView(Yd.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 z8t=8n,H8t=18n,W8t=22n,$8t=26n,V8t=28n,w1=30n,Q7=new Uint8Array([80,75,3,4]),Hs=async(e,t)=>{let r=await t.slice(e,e+4n);if(!Su(r,Q7))return null;let n=await t.getUint16(e+$8t),i=new TextDecoder().decode(await t.slice(e+w1,e+w1+BigInt(n))).split("\\").join("/"),a=await t.getUint16(e+V8t),o=e+w1+BigInt(n+a),s=await t.getUint16(e+z8t),u=BigInt(await t.getUint32(e+H8t)),c=BigInt(await t.getUint32(e+W8t)),l=e+w1+BigInt(n),f=4n;return c===BigInt(4294967295)&&(c=await t.getBigUint64(l+f),f+=8n),u===BigInt(4294967295)&&(u=await t.getBigUint64(l+f),f+=8n),o===BigInt(4294967295)&&(o=await t.getBigUint64(l+f)),{fileNameLength:n,fileName:i,extraFieldLength:a,fileDataOffset:o,compressedSize:u,compressionMethod:s}};function Z7(e){let t={...e,extraLength:0,fnlength:e.fileName.length},r=new ArrayBuffer(0),n={};t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=rC(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(w1)));for(let s of K8t)$i(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return Pn(i.buffer,a,r)}var K8t=[{offset:0,size:4,default:new DataView(Q7.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"}];async function J8t(e){let t=await nC(e),r=t.cdStartOffset,n=Number(t.offsets.zip64EoCDOffset?t.offsets.zip64EoCDOffset-r:t.offsets.zipEoCDOffset-r),i=await e.slice(r,e.length);await e.truncate(Number(r));let a=i.slice(0,n),o=i.slice(n,i.byteLength);return[a,o,t]}async function V_e(e,t,r){let n=parseInt(await new Qb().hash(t,"hex"),16),i=Z7({crc32:n,fileName:e,length:t.byteLength}),a=Y7({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(Pn(i,t)),new Uint8Array(a)]}async function eq(e,t,r){let n=new so(e,!0),[i,a,o]=await J8t(n),s=n.length,[u,c]=await V_e(r,t,s);await n.append(u);let l=Pn(i,c),f=n.length;await n.append(new Uint8Array(l));let p=n.length;await n.append(z_e(a,o.offsets,f,p,o.cdRecordsNumber+1n))}async function tq(e,t,r){let n=X8t(e),i=new kc(t,"w"),a=[],o=[];for await(let l of n)await $_e(l,i,o,a);if(r){let l=await r(a);await $_e(l,i,o)}let s=(await i.stat()).bigsize,u=Pn(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(H_e({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function $_e(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await V_e(e.path,e.file,i);await t.append(a),r.push(o)}function X8t(e){async function*t(){let r=await K_e(e);for(let n of r){let i=await(await Aa(qa.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function K_e(e,t="",r){let n=r||new Yb({}),i=await n.readdir(aC(e,t)),a=[];for(let o of i){let s=aC(e,t,o);if((await n.stat(s)).isDirectory){let u=await K_e(e,aC(t,o));a.push(...u)}else a.push(aC(t,o))}return a}function aC(...e){let t=e.filter(r=>r.length);return qa.join(...t)}var Zg=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 Hp(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var E1=class extends Zg{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 Qd=Pt(M7(),1),pl=Pt(require("zlib"),1);var dl=class extends Zg{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!jr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await h0(pl.default.gzip)(t):await h0(pl.default.deflate)(t);return Fc(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!jr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await h0(pl.default.gunzip)(t):await h0(pl.default.inflate)(t);return Fc(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!jr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?pl.default.gzipSync(t):pl.default.deflateSync(t);return Fc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?Qd.default.deflateRaw:Qd.default.deflate)(n,r).buffer}decompressSync(t){var a,o,s,u;if(!jr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?pl.default.gunzipSync(t):pl.default.inflateSync(t);return Fc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?Qd.default.inflateRaw:Qd.default.inflate)(n,r).buffer}async*compressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new Qd.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new Qd.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 o of r){let s=new Uint8Array(o);if(!t.push(s,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),i=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 A1=class extends dl{name="gzip";extensions=["gz","gzip"];contentEncodings=["gzip","x-gzip"];isSupported=!0;constructor(t){super({...t,deflate:{...t==null?void 0:t.gzip,gzip:!0}})}};var J_e={0:async e=>e,8:async e=>await new dl({raw:!0}).decompress(e)},hl=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!jr)this.fileProvider=new so(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof ml?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):X5(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=nc(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){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 i=await this.getCDFileHeader(t),a=await Hs(i.localHeaderOffset,this.fileProvider);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=J_e[a.compressionMethod.toString()];if(!o)throw Error("Only Deflation compression is supported");let s=await this.fileProvider.slice(a.fileDataOffset,a.fileDataOffset+a.compressedSize);r=await o(s)}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=nc(this.fileProvider),n=null;for await(let i of r)if(i.fileName===t){n=i;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var ml=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new hl(this.fileProvider).fetch(t)).arrayBuffer()}};function S1(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let i=t.getBigUint64(n+16,!0),a=Y8t(e,n,16);r[a]=i}return r}function Y8t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function rq(e){let t=nc(e);return Q8t(t)}async function Q8t(e){let t=new Du,r=new TextEncoder,n={};for await(let i of e){let a=i.fileName.split("\\").join("/").toLocaleLowerCase(),o=r.encode(a).buffer,s=await t.hash(o,"hex");n[s]=i.localHeaderOffset}return n}async function T1(e){let t=new Du,r=new TextEncoder,n=[];for await(let a of e){let o=a.fileName.split("\\").join("/").toLocaleLowerCase(),s=r.encode(o).buffer,u=await t.hash(s,"hex");n.push(Pn(eCt(u),tCt(a.localHeaderOffset)))}let i=n.sort(Z8t);return Dw(i)}function Z8t(e,t){let r=new BigUint64Array(e),n=new BigUint64Array(t);return Number(r[0]===n[0]?r[1]-n[1]:r[0]-n[0])}function eCt(e){var r;let t=(r=e.match(/../g))==null?void 0:r.map(n=>parseInt(n,16));return new Uint8Array(t??new Array(16)).buffer}function tCt(e){return new BigUint64Array([e]).buffer}var rCt={0:e=>new E1().decompress(e),8:e=>new dl({raw:!0}).decompress(e)},C1=class extends ml{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,i=await new Du().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await Hs(a,this.fileProvider);if(!o)return null;let s=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=rCt[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function tp(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return jt(Array.isArray(i)&&Number.isFinite(a)&&Number.isFinite(o)),t.setUint8(r+0,i[0]),t.setUint8(r+1,i[1]),t.setUint8(r+2,i[2]),t.setUint8(r+3,i[3]),t.setUint32(r+4,a,!0),t.setUint32(r+8,o,!0),r+=12,r}function rp(e,t,r){e&&e.setUint32(t+8,r,!0)}function X_e(e,t,r,n,i){e={magic:Nf.COMPOSITE,tiles:[],...e};let a=r;r+=tp(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let o=0;o<e.tiles.length;++o)r+=i(e.tiles[o],t,r,n);return rp(t,a,r-a),r}function Y_e(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=oo(s.length,8),l=u?oo(u.length,8):0;e={magic:Nf.BATCHED_MODEL,...e};let f=r;r=tp(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=d0(t,r,s,8),a&&(r=d0(t,r,u,8));let p=e.gltfEncoded;return p&&(r=Kb(t,r,p,p.byteLength)),rp(t,f,r-f),r}function Q_e(e,t,r,n){let{featuresLength:i=1,gltfFormat:a=1,gltfUri:o=""}=e,s=o.length,u={INSTANCES_LENGTH:i,POSITION:new Array(i*3).fill(0)},c=JSON.stringify(u),l=c.length;e={magic:Nf.INSTANCED_MODEL,...e};let f=r;return r=tp(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,a,!0)),r+=20,r+=p0(t,r,c,l),r+=p0(t,r,o,s),rp(t,f,r-f),r}var nCt={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function Z_e(e,t,r,n){let{featureTableJson:i=nCt}=e,a=JSON.stringify(i);a=W5(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:Nf.POINT_CLOUD,...e};let c=r;return r+=tp(e,t,0),t&&(t.setUint32(r+0,o,!0),t.setUint32(r+4,u,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=p0(t,r,a,o),r+=Kb(t,r,s,u),rp(t,c,r-c),r}function iq(e,t){let r=nq(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return nq(e,i,0,t),n}function nq(e,t,r,n){switch(jt(typeof e.type=="string"),e.type){case zo.COMPOSITE:return X_e(e,t,r,n,nq);case zo.POINT_CLOUD:return Z_e(e,t,r,n);case zo.BATCHED_3D_MODEL:return Y_e(e,t,r,n);case zo.INSTANCED_3D_MODEL:return Q_e(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var aq={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:ng,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>ewe(e,t),encodeSync:ewe};function ewe(e,t){return iq(e,t)}var Qi=require("path");var twe=Pt(require("crypto")),sC=new Uint8Array(256),oC=sC.length;function oq(){return oC>sC.length-16&&(twe.default.randomFillSync(sC),oC=0),sC.slice(oC,oC+=16)}var Vi=[];for(let e=0;e<256;++e)Vi.push((e+256).toString(16).slice(1));function rwe(e,t=0){return(Vi[e[t+0]]+Vi[e[t+1]]+Vi[e[t+2]]+Vi[e[t+3]]+"-"+Vi[e[t+4]]+Vi[e[t+5]]+"-"+Vi[e[t+6]]+Vi[e[t+7]]+"-"+Vi[e[t+8]]+Vi[e[t+9]]+"-"+Vi[e[t+10]]+Vi[e[t+11]]+Vi[e[t+12]]+Vi[e[t+13]]+Vi[e[t+14]]+Vi[e[t+15]]).toLowerCase()}var nwe=Pt(require("crypto")),sq={randomUUID:nwe.default.randomUUID};function iCt(e,t,r){if(sq.randomUUID&&!t&&!e)return sq.randomUUID();e=e||{};let n=e.random||(e.rng||oq)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return rwe(n)}var ic=iCt;var fh=Pt(require("process"),1),XC=Pt(Ws(),1),YC=Pt(lq(),1);var rv=require("path"),xwe=Pt(Ws(),1);var mwe=()=>({folderPattern:{path:"folderPattern",default:"BASIC"},archiveCompressionType:{path:"archiveCompressionType",default:"STORE"},resourceCompressionType:{path:"resourceCompressionType",default:"GZIP"},I3SVersion:{path:"I3SVersion",default:"1.8"},nodeCount:{path:"nodeCount"}});var Zd=require("fs"),ev=require("path");var gwe=require("zlib"),uC=require("fs");function cC(e){let t=`${e}.gz`,r=(0,gwe.createGzip)(),n=(0,uC.createReadStream)(e),i=(0,uC.createWriteStream)(t);return new Promise((a,o)=>{n.on("end",()=>{console.log(`${t} compressed and saved.`),a(t)}),n.on("error",s=>{console.log(`${t}: compression error!`),o(s)}),n.pipe(r).pipe(i)})}async function Mn(e,t,r="index.json"){let n;t instanceof Promise?n=new Uint8Array(await t):t instanceof ArrayBuffer?n=new Uint8Array(t):n=t,await Zd.promises.mkdir(e,{recursive:!0});let i=(0,ev.join)(e,r);try{await Zd.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function ac(e,t,r="index.json",n=!0,i){let a=await Mn(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);{let o=await cC(a);return await B1(a),o}}return a}async function tv(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,ev.join)(e,t);un(o,K5).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function F1(e){try{return await Zd.promises.stat(e),!0}catch{return!1}}function k1(e){return Zd.promises.rm(e,{recursive:!0})}function B1(e){return Zd.promises.unlink(e)}function vwe(e){return(0,ev.isAbsolute)(e)?e:(0,ev.join)(process.cwd(),e)}async function bwe(e,t){try{await Zd.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Ki=class{nodesPerPage;nodesCounter;writeFile;converter;nodePages;length=0;constructor(t,r,n){this.nodesPerPage=r,this.nodesCounter=0,this.nodePages=[{}],this.nodePages[0].nodes=[],this.writeFile=t,this.converter=n,this.length=0}useWriteFunction(t){this.writeFile=t}getNodePageFileName(t){let r,n;return this.converter.options.slpk?(r=(0,rv.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`):(r=(0,rv.join)(this.converter.layers0Path,"nodepages",t.toString()),n="index.json"),{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),i=(0,rv.join)(r,n);return await F1(i)?(console.log(`load ${i}.`),await tv(r,n)):{nodes:[]}}getPageIndexByNodeId(t){return Math.floor(t/this.nodesPerPage)}async getPageByNodeId(t){let r=this.getPageIndexByNodeId(t);return this.converter.options.instantNodeWriting?await this.loadNodePage(r):this.nodePages[r]}async getNodeById(t,r){let n=t%this.nodesPerPage;return r=r||await this.getPageByNodeId(t),r.nodes[n]}async addChildRelation(t,r){var i;if(t==null)return;let n=await this.getNodeById(t);(i=n.children)==null||i.push(r),await this.saveNode(n)}async push(t,r){if(t.index=this.nodesCounter++,!this.converter.options.instantNodeWriting){let n=this.nodePages[this.nodePages.length-1];n.nodes.length===this.nodesPerPage&&(n={nodes:[]},this.nodePages.push(n)),n.nodes.push(t)}return await this.addChildRelation(r,t.index),Ki.updateResourceInMesh(t),await this.saveNode(t),t}async saveNode(t){if(this.converter.options.instantNodeWriting){let r=this.getPageIndexByNodeId(t.index),n=await this.getPageByNodeId(t.index),{filePath:i,fileName:a}=this.getNodePageFileName(r),o=await this.getNodeById(t.index,n);o?Ki.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,s)},!0)}else return}async saveMetadata(){let t=(0,xwe.default)({nodeCount:this.nodesCounter},mwe()),r=!1;await this.converter.writeQueue.enqueue({archiveKey:"metadata.json",writePromise:()=>this.writeFile(this.converter.layers0Path,JSON.stringify(t),"metadata.json",r)})}async save(){if(this.converter.options.instantNodeWriting){await this.saveMetadata();return}if(this.converter.options.slpk){for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,rv.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(i,n,`${t.toString()}.json`)})}await this.saveMetadata()}else for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,rv.join)(this.converter.layers0Path,"nodepages",t.toString());await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,n)})}}static updateResourceInMesh(t){t.mesh&&isFinite(t.index)&&(t.mesh.geometry.resource=t.index)}static updateAll(t,r){return Object.assign(t,r,{index:t.index}),Ki.updateResourceInMesh(t),t}static updateMaterialByNodeId(t,r){t.mesh&&(t.mesh.material={definition:r,resource:t.index})}static updateVertexCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.vertexCount=r)}static updateNodeAttributeByNodeId(t){!t.mesh||!t.index||(t.mesh.attribute.resource=t.index)}static updateFeatureCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.featureCount=r)}static updateTexelCountHintByNodeId(t,r){!t.mesh||!t.mesh.material||(t.mesh.material.texelCountHint=r)}};var I1=require("path"),lC=require("fs");function nv(e){if(typeof e=="number"){let r=Math.floor(e/1e3),n=e-r*1e3;return ywe(r,n)}else{let r=e[0],n=e[1]/1e6;return ywe(r,n)}}function ywe(e,t){let r=Math.floor(e/3600);e=e-r*3600;let n=Math.floor(e/60);e=e-n*60;let i=Math.floor(e),a="";return r&&(a+=`${r}h `),n&&(a+=`${n}m `),i&&(a+=`${i}s`),a||(a+=`${Math.floor(t)}ms`),a}async function fC(e){let{slpk:t,outputPath:r,tilesetName:n}=e,i=vwe(r);try{if(t){let s=(0,I1.join)(i,`${n}.slpk`);return(await lC.promises.stat(s)).size}let a=(0,I1.join)(i,n);return await _we(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function _we(e){let t=0,r=await lC.promises.readdir(e);for(let n of r){let i=await lC.promises.stat((0,I1.join)(e,n));i.isDirectory()?t+=await _we((0,I1.join)(e,n)):t+=i.size}return t}var qwe=Pt(lq(),1);var eh=3,iv=9;function Ewe(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/iv;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:t,normals:r,texCoords:n,colors:i,uvRegions:a};let u=mCt(o),c=gCt({...u,...e}),l=vCt(c);return bCt(l,u.featureCount)}function mCt(e){let t=1,r=1,n=wwe(e.slice(0,eh)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let c=eh;c<e.length;c+=eh){let l=wwe(e.slice(c,c+eh));n!==l&&(i[t]=c/eh-1,i[t+1]=c/eh,a[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}i[t]=e.length/eh-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function wwe(e){let t={},r=e[0],n=1;for(let i of e)t[i]=(t[i]||0)+1,n=n>t[i]?n:t[i],r=n>t[i]?r:i;return r}function gCt(e){let{featureIds:t,positions:r,normals:n,colors:i,uvRegions:a,texCoords:o,faceRange:s=new Uint32Array(0)}=e,u=[],c=new Float32Array(r),l=new Float32Array(n),f=new Uint8Array(i),p=new Float32Array(o),d=new Uint16Array(a),m=0,g=0,v=0,y=0,w=0;for(let A=0;A<t.length;A++){let C=s[A*2],T=s[A*2+1],B=P1("positions",C,T),j=P1("normals",C,T),U=P1("colors",C,T),I=P1("uvRegions",C,T),R=P1("texCoords",C,T);u.push({featureId:t[A],positions:c.subarray(m,m+B),normals:l.subarray(g,g+j),colors:f.subarray(v,v+U),uvRegions:d.subarray(y,y+I),texCoords:p.subarray(w,w+R)}),m+=B,g+=j,v+=U,y+=I,w+=R}return u}function P1(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*iv;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function vCt(e){let t=[];for(let n of e){let i=t.find(a=>a.featureId===n.featureId);i?i.attributes.push(n):t.push({featureId:n.featureId,attributes:[n]})}let r=[];for(let n of t){let i=Awe(n.attributes);r.push({featureId:n.featureId,...i})}return r}function bCt(e,t){let n=[e[0].featureId||0],i=[0],a=0,o=0;for(let c=1;c<e.length;c++){let l=e[c];n.push(l.featureId||0);let f=e[a];i.push(f.positions.length/iv-1+o),i.push(f.positions.length/iv+o),o+=f.positions.length/iv,a+=1}let s=Awe(e);return i.push(s.positions.length/iv-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function Awe(e){let t=e.map(({positions:f})=>f),r=t.length>1?ao(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?ao(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?ao(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?ao(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?ao(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function pC(e,t){let r,n,i,a=Ut.WGS84.cartesianToCartographic(e.center,new ie);return a[2]=a[2]-t.getHeight(a[1],a[0]),e instanceof Ci?(n=e.halfSize,r=new ie(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Uo().fromMatrix3(new hr([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[a[0],a[1],a[2],r],obb:{center:[a[0],a[1],a[2]],halfSize:n,quaternion:i}}}function Swe(e,t){let r=xCt(e),n=wy(r),i=NR(r),a=Ut.WGS84.cartesianToCartographic(i.center,new ie),o=Ut.WGS84.cartesianToCartographic(n.center,new ie);return a[2]=a[2]-t.getHeight(a[1],a[0]),o[2]=o[2]-t.getHeight(o[1],o[0]),{mbs:[a[0],a[1],a[2],i.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function xCt(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new ie([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function Twe(e){let t;e instanceof Sa?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Ut.WGS84.cartesianToCartographic(new ie(r[0]+n,r[1]+n,r[2]+n),new ie),a=Ut.WGS84.cartesianToCartographic(new ie(r[0]-n,r[1]-n,r[2]-n),new ie);return{xmin:Math.min(a[0],i[0]),xmax:Math.max(a[0],i[0]),ymin:Math.min(a[1],i[1]),ymax:Math.max(a[1],i[1]),zmin:Math.min(a[2],i[2]),zmax:Math.max(a[2],i[2])}}function fq(e){let t=e[3],r=new ie(e[0],e[1],e[2]),n=new hr([t,0,0,0,t,0,0,0,t]);return new Ci(r,n)}function Cwe(e,t,r){var s,u,c,l,f,p,d,m;let n=((u=(s=e.gltf)==null?void 0:s.scene)==null?void 0:u.nodes)||((f=(l=(c=e.gltf)==null?void 0:c.scenes)==null?void 0:l[0])==null?void 0:f.nodes)||((p=e.gltf)==null?void 0:p.nodes)||[],i=((m=(d=e.gltf)==null?void 0:d.images)==null?void 0:m.map(g=>{var v,y;if((v=g==null?void 0:g.image)!=null&&v.compressed)return null;{let w=(y=g==null?void 0:g.image)==null?void 0:y.data,A=new Uint8Array(w.length);return A.set(w),{data:A,compressed:!1,height:g.image.height,width:g.image.width,components:g.image.components,mimeType:g.mimeType}}}))||[];Dwe(n);let{cartographicOrigin:a,modelMatrix:o}=_Ct(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function yCt(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function _Ct(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new Sr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new Sr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new Sr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new ie(a),u=Ut.WGS84.cartesianToCartographic(s,new ie);return{modelMatrix:o,cartographicOrigin:u}}function Dwe(e){var t;for(let r=0;r<e.length;r++){let n=e[r];n.mesh&&(e[r]={...n,mesh:{...n.mesh,primitives:(t=n.mesh)==null?void 0:t.primitives.map(i=>{var a,o,s;return{...i,indices:{value:(a=i==null?void 0:i.indices)==null?void 0:a.value},attributes:yCt(i.attributes),material:{id:(o=i==null?void 0:i.material)==null?void 0:o.id,uniqueId:(s=i==null?void 0:i.material)==null?void 0:s.uniqueId}}})}}),n.children&&Dwe(n.children)}}function Fwe(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[Ho];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function kwe(e,t,r,n){let i=t==null?void 0:t.extensions;if(!i)return[];for(let[a,o]of Object.entries(i||{}))switch(a){case Ho:return ECt(e,o,r,n);case q3:return wCt(e,o);default:return[]}return[]}function wCt(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function ECt(e,t,r,n){var o,s,u,c,l,f,p;let i=(o=t==null?void 0:t.featureIdAttributes)==null?void 0:o[0];if((s=i==null?void 0:i.featureIds)!=null&&s.attribute)return e[i.featureIds.attribute].value;if((u=i==null?void 0:i.featureIds)!=null&&u.hasOwnProperty("constant")&&((c=i==null?void 0:i.featureIds)!=null&&c.hasOwnProperty("divisor"))){let d=((l=e==null?void 0:e.POSITIONS)==null?void 0:l.value.length)/3||0;return ACt(d,i.featureIds.constant,i.featureIds.divisor)}let a=(t==null?void 0:t.featureIdTextures)&&(t==null?void 0:t.featureIdTextures[0]);if(a){let m=`TEXCOORD_${((p=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:p.texCoord)||0}`,g=e[m].value;return SCt(a,g,r)}return n?e[n].value:[]}function ACt(e,t=0,r=0){let n=[];if(r>0){let i=t,a=r;for(let o=0;o<e;o++)n.push(i),a-=1,a===0&&(i++,a=r)}else n=Array(e).fill(t,0,e);return n}function SCt(e,t,r){var c,l,f;if(!(r!=null&&r.length))return[];let n={r:0,g:1,b:2,a:3},i=(l=(c=e==null?void 0:e.featureIds)==null?void 0:c.texture)==null?void 0:l.index,a=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!a||i===void 0)return[];let o=r[i],s=[],u=n[a];if(o&&(o!=null&&o.width)&&(o!=null&&o.height)&&(o!=null&&o.components))for(let p=0;p<t.length;p+=2){let d=t[p],m=t[p+1],g=Math.min(C3(d)*o.width|0,o.width-1),y=(Math.min(C3(m)*o.height|0,o.height-1)*o.width+g)*o.components+u,w=new Uint8Array(o.data)[y];s.push(w)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function Bwe(e,t){let r={};for(let n in t){let i=t[n];r[n]=TCt(i,e)}return r}function TCt(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function Iwe(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function CCt(e){return typeof e=="string"||typeof e=="bigint"?hn.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?hn.SHORT_INT_TYPE:hn.DOUBLE_TYPE:hn.STRING_TYPE}function Pwe(e){let t={};for(let r in e){let n=e[r][0],i=CCt(n);t[r]=i}return t}var Owe=(e,t)=>{var a,o,s,u,c,l,f,p;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[Ho])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:u[t];if(n){for(let d in n.properties){let m=n.properties[d],g=DCt(m);r[d]=g}return r}let i=(p=(f=(l=(c=e.extensions)==null?void 0:c[Zc])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:p[t];if(i){for(let d in i.properties){let m=i.properties[d],g=FCt(m);r[d]=g}return r}return null},DCt=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=hn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=hn.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=hn.STRING_TYPE;break;default:t=hn.STRING_TYPE;break}return t},FCt=e=>{let t;if(e.array)t=hn.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=hn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=hn.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=hn.STRING_TYPE;break;default:t=hn.STRING_TYPE;break}return t};var dC=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var kCt=1,BCt=1,$s=3,O1=2,ICt=4,PCt="string",OCt="Int32",jCt="Float64",RCt="Oid32",jwe=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],np=new ie;async function pq(e,t,r,n,i,a,o,s,u,c,l,f,p){var A;let d=u,m=await YCt((A=e.gltf)==null?void 0:A.materials,c),g=Cwe(e,t,r),v=Fwe(e,p),y=await qCt(g,m,d,v);u&&MCt(y,l);let w=[];for(let C of m){let T=C.mergedMaterials[0].originalMaterialId;if(!y.has(T))continue;let B=y.get(T);if(!B)continue;let{material:j,texture:U}=C,I=await n();w.push(await LCt({convertedAttributes:B,material:j,texture:U,tileContent:e,nodeId:I,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return w.length?w:null}function MCt(e,t){for(let r of e.values()){let n=Swe(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=$s){let o=r.positions.subarray(a,a+$s);Ut.WGS84.cartesianToCartographic(Array.from(o),np),np[2]=np[2]-t.getHeight(np[1],np[0]),np=np.subtract(i),r.positions.set(np,a)}}}async function LCt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var R;let l=e.boundingVolumes,f=e.positions.length/$s,{faceRange:p,featureIds:d,positions:m,normals:g,colors:v,uvRegions:y,texCoords:w,featureCount:A}=Ewe(e),C={};o&&(C=uDt(d,e.featureIndices,a,o));let T=new Uint32Array(2),B=vDt(d);T.set([f,A],0);let j=new Uint8Array(Pn(T.buffer,m.buffer,g.buffer,r?w.buffer:new ArrayBuffer(0),v.buffer,y,B.buffer,p.buffer)),U=u?bDt(f,e,{positions:m,normals:g,texCoords:r?w:new Float32Array(0),colors:v,uvRegions:y,featureIds:d,faceRange:p},c):null,I=[];return s&&o&&(I=pDt(d,C,o,s)),{nodeId:i,geometry:j,compressedGeometry:U,texture:r,hasUvRegions:Boolean(y.length),sharedResources:nDt(((R=n.gltf)==null?void 0:R.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:I,featureCount:A,boundingVolumes:l}}async function qCt(e,t,r,n){let{nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s}=e,u=new Map;for(let c of t){let l={positions:new Float32Array(0),normals:new Float32Array(0),texCoords:new Float32Array(0),colors:new Uint8Array(0),uvRegions:new Uint16Array(0),featureIndicesGroups:[],featureIndices:[],boundingVolumes:null,mergedMaterials:c.mergedMaterials};for(let f of c.mergedMaterials)u.set(f.originalMaterialId,l)}Nwe(i,a,o,s,u,r,void 0,n);for(let c of u.keys()){let l=u.get(c);if(l){if(l.positions.length===0){u.delete(c);continue}l.featureIndicesGroups&&(l.featureIndices=l.featureIndicesGroups.reduce((f,p)=>f.concat(p)),delete l.featureIndicesGroups)}}return u}function Nwe(e,t,r,n,i,a,o=new Sr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){if(e)for(let u of e)UCt(u,t,r,n,i,a,o,s)}function NCt(e,t){let r=t,{matrix:n,rotation:i,scale:a,translation:o}=e;return n&&(r=t.multiplyRight(n)),o&&(r=r.translate(o)),i&&(r=r.rotateXYZ(i)),a&&(r=r.scale(a)),r}function UCt(e,t,r,n,i,a,o=new Sr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){let u=NCt(e,o),c=e.mesh;c&&GCt(c,t,r,n,i,a,u,s),Nwe(e.children||[],t,r,n,i,a,u,s)}function GCt(e,t,r,n,i,a=!1,o=new Sr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){var u;for(let c of e.primitives){let l=null,f;c.material?(l=i.get(c.material.id),f=(u=l==null?void 0:l.mergedMaterials.find(({originalMaterialId:m})=>{var g;return m===((g=c.material)==null?void 0:g.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),jt(l!==null,"Primitive - material mapping failed"),jt(c.mode===void 0||c.mode===St.TRIANGLES||c.mode===St.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let p=c.attributes;if(!l)continue;let d=zCt(c);l.positions=ao(l.positions,Rwe({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:HCt,useCartesianPositions:a})),l.normals=ao(l.normals,Rwe({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:WCt,useCartesianPositions:!1})),l.texCoords=ao(l.texCoords,$Ct(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=ao(l.colors,VCt(p.COLOR_0,d)),f&&(l.uvRegions=ao(l.uvRegions,KCt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(JCt(XCt(p,c,t,s),d))}}function zCt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return dC(n.length/$s)}if(t&&e.mode===St.TRIANGLE_STRIP){let n=t.constructor,i=new n((t.length-2)*3),a=0,o=t.slice(0,3);i.set(o,0);for(let s=1;s+2<t.length;s++)a+=3,o=t.slice(s,s+3),s%2===0?i.set(o,a):i.set(o.reverse(),a);t=i}return t}function Rwe(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*$s);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*$s,s=t.subarray(o,o+$s),u=new ie(Array.from(s));u=n(u,e),i[a*$s]=u.x,i[a*$s+1]=u.y,i[a*$s+2]=u.z}return i}function HCt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Ut.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function WCt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function $Ct(e,t){let r=new Float32Array(t.length*O1);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*O1,a=e.subarray(i,i+O1);r[n*O1]=a[0],r[n*O1+1]=a[1]}return r}function VCt(e,t){let r=(e==null?void 0:e.components)||ICt,n=new Uint8Array(t.length*r);if(!e)return n.fill(255),n;let i=e.value;for(let a=0;a<t.length;a++){let o=t[a]*r,s=i.subarray(o,o+r),u=new Uint8Array(r);for(let c=0;c<s.length;c++)u[c]=s[c]*255;n.set(u,a*r)}return n}function KCt(e,t){let r=new Uint16Array(t.length*4);for(let n=0;n<r.length;n+=4)r.set(e,n);return r}function JCt(e,t){if(!e.length||!t.length)return[];let r=[];for(let n=0;n<t.length;n++){let i=t[n];r.push(e[i])}return r}function XCt(e,t,r,n){let i=kwe(e,t,r,n);if(i.length)return i;for(let a=0;a<jwe.length;a++){let o=jwe[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function YCt(e=[],t){let r=[];for(let n of e)r.push(eDt(n));return t&&(r=await QCt(r)),r}async function QCt(e){var r,n;let t=[];for(;e.length>0;){let i=e.splice(0,1)[0],a=[];for(let o=0;o<e.length;o++){let s=e[o];(i.texture&&s.texture||!i.texture&&!s.texture)&&(i=await ZCt(i,s),a.push(o))}if(i.texture&&a.length){let o=(r=i.mergedMaterials)==null?void 0:r.reduce((c,{textureSize:l})=>c+((l==null?void 0:l.width)||0),0),s=(n=i.mergedMaterials)==null?void 0:n.reduce((c,{textureSize:l})=>Math.max(c,(l==null?void 0:l.height)||0),0),u=-1;for(let c of i.mergedMaterials)if(c.textureSize){let l=u+1+c.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;c.uvRegion=new Uint16Array([u+1,0,l,c.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),u=l}i.texture.image.width=o,i.texture.image.height=s}for(let o of a.reverse())e.splice(o,1);t.push(i)}return t.length||t.push({material:rDt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function ZCt(e,t){var r,n;if((r=e.texture)!=null&&r.bufferView&&((n=t.texture)!=null&&n.bufferView)&&e.mergedMaterials&&t.mergedMaterials){let i=Buffer.from(e.texture.bufferView.data),a=Buffer.from(t.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([i,a],{direction:"horizontal"});e.texture.bufferView.data=await s.toFormat(e.texture.mimeType==="image/png"?"png":"jpeg").toBuffer()}catch(o){throw console.log("Join images into a texture atlas has failed. Consider usage `--split-nodes` option. (See documentation https://loaders.gl/modules/tile-converter/docs/cli-reference/tile-converter)"),o}e.material.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId=1}return e.mergedMaterials=e.mergedMaterials.concat(t.mergedMaterials),e}function eDt(e){var i,a,o,s,u;let t={doubleSided:e.doubleSided,emissiveFactor:(i=e.emissiveFactor)==null?void 0:i.map(c=>Math.round(c*255)),alphaMode:tDt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||kCt,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||BCt}},r;(s=e==null?void 0:e.pbrMetallicRoughness)!=null&&s.baseColorTexture?(r=e.pbrMetallicRoughness.baseColorTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}):e.emissiveTexture&&(r=e.emissiveTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}),e.id=Number.isFinite(e.id)?e.id:ic();let n=[{originalMaterialId:e.id}];if(r)n[0].textureSize={width:r.image.width,height:r.image.height};else{let c=(u=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:u.baseColorFactor;t.pbrMetallicRoughness.baseColorFactor=c&&c.map(l=>Math.round(l*255))||void 0}return{material:t,texture:r,mergedMaterials:n}}function tDt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function rDt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function nDt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=iDt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function iDt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=oDt(r.texture,t));let{baseColorFactor:i,metallicFactor:a}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=i;return(!i||i[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:aDt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function aDt(e,t=1){let r=.00015686274509803922,n=new No(0,0,0,1),i=new No(1,1,1,1),a=new No(r,r,r,0),o=new No(e),s=i.subtract(a).multiply(o),u=s.lerp(s,n,t);a[3]=1;let c=a.lerp(a,o,t);return{params:{diffuse:u.toArray(),specular:c.toArray(),renderMode:"solid"}}}function oDt(e,t){var r,n,i,a;return{encoding:(r=e==null?void 0:e.source)!=null&&r.mimeType?[e.source.mimeType]:void 0,images:[{id:sDt(e,t),size:(n=e.source)==null?void 0:n.image.width,length:(i=e.source)!=null&&i.image.data.length?[(a=e.source)==null?void 0:a.image.data.length]:void 0}]}}function sDt(e,t){var g;let{width:r,height:n}=((g=e.source)==null?void 0:g.image)||{};if(!r||!n)return"";let i=1,a=0,o=t+1,s=32-o.toString(2).length,u="0".repeat(s).concat(o.toString(2)),c=i<<28,l=a<<24,f=r-1<<12,p=n-1<<0,d=c+l+f+p;return BigInt(`0b${d.toString(2)}${u}`).toString()}function uDt(e,t,r,n){let i=cDt(e,n,r);return Mwe(t,i),Mwe(e,i),i}function cDt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=fDt(i,t,r);n[a.toString()]=o}return n}function lDt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function fDt(e,t,r){let n=lDt(t,e),i=(0,qwe.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function Mwe(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function pDt(e,t,r,n){let i=[],o=Iwe(e,r)?Bwe(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=hDt(u,n);if(c){let l=s[u],f=dDt(c,l);i.push(f)}}return i}function dDt(e,t){let r;switch(e){case RCt:case OCt:r=mDt(t);break;case jCt:r=gDt(t);break;case PCt:r=Lwe(t);break;default:r=Lwe(t)}return r}function hDt(e,t){let r=t.find(n=>n.name===e);return r?r.attributeValues?r.attributeValues.valueType:(console.error(`attributeValues is null, attribute=${r}`),""):(console.error(`attribute is null, key=${e}, attributeStorageInfo=${JSON.stringify(t,null,2)}`),"")}function mDt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return Pn(t.buffer,r.buffer)}function gDt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return Pn(t.buffer,r.buffer,n.buffer)}function Lwe(e){let t=new Uint32Array([e.length]),r=0,n=new Uint32Array(e.length),i=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,u=Buffer.from(s),c=u.length;r+=c,n[o]=c,i.push(u)}let a=new Uint32Array([r]);return Pn(t.buffer,a.buffer,n.buffer,...i)}function vDt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function bDt(e,t,r,n){let{positions:i,normals:a,texCoords:o,colors:s,uvRegions:u,featureIds:c,faceRange:l}=r,f=new Uint32Array(e);for(let v=0;v<f.length;v++)f.set([v],v);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=xDt(p,l),m={positions:i,normals:a,colors:s,"feature-index":d};o.length&&(m.texCoords=o);let g={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(m["uv-region"]=u,g["uv-region"]={"i3s-attribute-type":"uv-region"}),Xm({attributes:m,indices:f},$R,{...$R.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:g},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}})}function xDt(e,t){let r=new Uint32Array(e.length),n=0,i=0;for(let a=1;a<t.length;a+=2){let o=(t[a]+1)*$s;r.fill(n,i,o),n++,i=o+1}return r}function Uwe(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=wDt(e);switch(i){case Zc:return r=yDt(a,t),r;case Ho:return r=_Dt(a,t),r;default:return null}}function yDt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return hC(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return hC(r)}return null}function _Dt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return hC(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return hC(n)}return null}function hC(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function wDt(e){var a,o,s,u;let t=[Ho,Zc];if(!((a=e==null?void 0:e.gltf)==null?void 0:a.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let c of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(t.includes(c)){n=c;break}if(!n)return{extensionName:null,extension:null};let i=(u=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:u[n];return{extensionName:n,extension:i}}var zwe=Pt(Ws(),1),Hwe=require("path");var Gwe=()=>({serviceItemId:{path:"serviceItemId"},serviceName:{path:"layerName"},name:{path:"layerName"},currentVersion:{path:"currentVersion",default:10.7},serviceVersion:{path:"serviceVersion",default:"1.8"},supportedBindings:{path:"supportedBindings",default:["REST"]},layers:{path:"layers0",transform:e=>[e]}});async function Wwe(e,t,r){let n={serviceItemId:ic().replace(/-/gi,""),layerName:e,layers0:t},i=(0,zwe.default)(n,Gwe()),a=(0,Hwe.join)(r,"SceneServer");await Mn(a,JSON.stringify(i))}var dq=16;function $we(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*dq/i},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*a.maxError*a.maxError};return n.constructor.name==="OrientedBoundingBox"?(r.push(o),r.push(a)):(r.push(a),r.push(o)),r}function hq(e){var n,i;let t=(n=e.lodSelection)==null?void 0:n.find(a=>a.metricType==="maxScreenThreshold"),r=t==null?void 0:t.maxError;if(!r){let a=(i=e.lodSelection)==null?void 0:i.find(o=>o.metricType==="maxScreenThresholdSQ");a&&(r=Math.sqrt(a.maxError/(Math.PI*.25)))}return r||(r=dq),e.mbs[3]*2*dq/r}var EDt=240,ADt=[9,-18,-88,0,96,90,0,0,-60,-20,-9,18,8,0,-96,30,0,0,60,-20,9,-88,-18,90,96,0,-20,-60,0,0,186,-42,-42,-150,-96,-150,60,60,60,60,54,162,-78,30,-24,-90,-60,60,-60,60,-9,-32,18,30,24,0,20,-60,0,0,-9,8,18,30,-96,0,-20,60,0,0,54,-78,162,-90,-24,30,60,-60,60,-60,-54,78,78,90,144,90,-60,-60,-60,-60,9,-8,-18,-30,-24,0,20,60,0,0,-9,18,-32,0,24,30,0,0,-60,20,9,-18,-8,0,-24,-30,0,0,60,20],SDt=372,TDt=[0,0,-131,0,138,144,0,0,-102,-31,0,0,7,0,-138,42,0,0,102,-31,62,0,-31,0,0,-62,0,0,0,31,124,0,-62,0,0,-124,0,0,0,62,124,0,-62,0,0,-124,0,0,0,62,62,0,-31,0,0,-62,0,0,0,31,0,0,45,0,-183,-9,0,93,18,0,0,0,216,0,33,87,0,-93,12,-93,0,0,156,0,153,99,0,-93,-12,-93,0,0,-45,0,-3,9,0,93,-18,0,0,0,-55,0,48,42,0,0,-84,31,0,0,-7,0,-48,-42,0,0,84,31],CDt=372,DDt=[18,-36,-122,0,120,135,0,0,-84,-31,-18,36,-2,0,-120,51,0,0,84,-31,36,-165,-27,93,147,-9,0,-93,18,0,210,45,-111,-93,-57,-192,0,93,12,93,162,141,-75,-93,-129,-180,0,93,-12,93,-36,-21,27,93,39,9,0,-93,-18,0,0,0,62,0,0,31,0,0,0,-31,0,0,124,0,0,62,0,0,0,-62,0,0,124,0,0,62,0,0,0,-62,0,0,62,0,0,31,0,0,0,-31,-18,36,-64,0,66,51,0,0,-102,31,18,-36,2,0,-66,-51,0,0,102,31],FDt=12,mq=(3+1)*(3+2)/2,kDt=2,av=class{constructor(t){At(this,"_v00",0),At(this,"_v01",0),At(this,"_v10",0),At(this,"_v11",0),At(this,"_t",[]),At(this,"_ix",void 0),At(this,"_iy",void 0),At(this,"options",void 0),this.options=t,this._ix=this.options._width,this._iy=this.options._height}getHeight(t,r){if(t=Math.abs(t)>90?NaN:t,isNaN(t)||isNaN(r))return NaN;let n=BDt(r,360);r=n!==-180?n:180;let i=r*this.options._rlonres,a=-t*this.options._rlatres,o=Math.floor(i),s=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(a));i-=o,a-=s,s+=(this.options._height-1)/2,o+=o<0?this.options._width:o>=this.options._width?-this.options._width:0;let u=0,c=0,l=0,f=0,p=new Array(mq);if(o===this._ix&&s===this._iy)this.options.cubic?p=this._t:(u=this._v00,c=this._v01,l=this._v10,f=this._v11);else if(!this.options.cubic)u=this._rawval(o,s),c=this._rawval(o+1,s),l=this._rawval(o,s+1),f=this._rawval(o+1,s+1);else{let m=[this._rawval(o,s-1),this._rawval(o+1,s-1),this._rawval(o-1,s),this._rawval(o,s),this._rawval(o+1,s),this._rawval(o+2,s),this._rawval(o-1,s+1),this._rawval(o,s+1),this._rawval(o+1,s+1),this._rawval(o+2,s+1),this._rawval(o,s+2),this._rawval(o+1,s+2)],g=TDt;s!==0&&(g=s===this.options._height-2?DDt:ADt);let v=SDt;s!==0&&(v=s===this.options._height-2?CDt:EDt);for(let y=0;y<mq;++y){p[y]=0;for(let w=0;w<FDt;++w)p[y]+=m[w]*g[mq*w+y];p[y]/=v}}if(!this.options.cubic){let m=(1-i)*u+i*c,g=(1-i)*l+i*f,v=(1-a)*m+a*g,y=this.options._offset+this.options._scale*v;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,y}let d=p[0]+i*(p[1]+i*(p[3]+i*p[6]))+a*(p[2]+i*(p[4]+i*p[7])+a*(p[5]+i*p[8]+a*p[9]));return d=this.options._offset+this.options._scale*d,this._ix=o,this._iy=s,this._t=p,d}_rawval(t,r){t<0?t+=this.options._width:t>=this.options._width&&(t-=this.options._width),(r<0||r>=this.options._height)&&(r=r<0?-r:2*(this.options._height-1)-r,t+=(t<this.options._width/2?1:-1)*this.options._width/2);let n=this.options._datastart+kDt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function BDt(e,t){t=Math.abs(t);let r=Vwe(e,t);return 2*Math.abs(r)===t?r-=Vwe(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function Vwe(e,t){return e-Math.floor(e/t)*t}var IDt=10,PDt=65535;function gq(e,t){let r=ODt(e),n=r.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");let i=Number.MAX_VALUE,a=0,o=-1,s=-1,u="NONE",c="UNKNOWN",l=0,f=0,p=null,d=null;do{n=r.next();let y=n.value.line;if(y.length)if(y[0]==="#"){let w=y.split(" "),A=w[0],C=w[1];if(A!=="#"||!C)continue;let T=w.length>2?w.slice(2):[];if(C==="Description")u=T.join(" ");else if(C==="DateTime")c=T.join(" ");else if(C==="Offset"){if(!w[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(w[2],10)}else if(C==="Scale"){if(!w[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(w[2])}else C===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(w[2]))&&(o=parseFloat(w[2])):C===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(w[2]))&&(s=parseFloat(w[2]))}else{let w=y.split(" ");if(w=w.filter(A=>A!==""),l=parseInt(w[0],10),f=parseInt(w[1],10),!(l&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=r.next();let m=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(m!==PDt)throw new Error("Geoid model file: Incorrect value of maxval");if(p=n.value.offset,d=l,i===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(a===0)throw new Error("Geoid model file: Scale not set");if(a<0)throw new Error("Geoid model file: Scale must be positive");if(f<2||l<2)throw new Error("Geoid model file: Raster size too small");if(l&1)throw new Error("Geoid model file: Raster width is odd");if(!(f&1))throw new Error("Geoid model file: Raster height is even");let g=l/360,v=(f-1)/180;return new av({cubic:t.cubic,_width:l,_height:f,_rlonres:g,_rlatres:v,_offset:i,_scale:a,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*ODt(e){let t=0;do{let r=e.indexOf(IDt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:Kwe(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:Kwe(n)}}}while(t<e.length);return{offset:t,line:""}}function Kwe(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var jDt="4.2.0-alpha.3";var mC={name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:jDt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>gq(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var ov=Pt(Ws(),1);var Jwe={id:{path:"id",transform:e=>e.toUpperCase()},profile:{path:"profile",default:"meshpyramids"},version:{path:"version",default:"1.8"},resourcePattern:{path:"resourcePattern",default:["3dNodeIndexDocument","Attributes","SharedResource","Geometry"]},rootNode:{path:"rootNode",default:"./nodes/root"},extent:{path:"extent"},indexCRS:{path:"indexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},vertexCRS:{path:"vertexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},normalReferenceFrame:{path:"normalReferenceFrame",default:"east-north-up"},attributeEncoding:{path:"attributeEncoding",default:"application/octet-stream; version=1.6"},textureEncoding:{path:"textureEncoding",default:["image/jpeg","image/ktx2"]},lodType:{path:"lodType",default:"MeshPyramid"},lodModel:{path:"lodModel",default:"node-switching"},defaultGeometrySchema:{path:"defaultGeometrySchema",default:{geometryType:"triangles",header:[{property:"vertexCount",type:"UInt32"},{property:"featureCount",type:"UInt32"}],topology:"PerAttributeArray",ordering:["position","normal","uv0","color"],vertexAttributes:{position:{valueType:"Float32",valuesPerElement:3},normal:{valueType:"Float32",valuesPerElement:3},uv0:{valueType:"Float32",valuesPerElement:2},color:{valueType:"UInt8",valuesPerElement:4}},featureAttributeOrder:["id","faceRange"],featureAttributes:{id:{valueType:"UInt64",valuesPerElement:1},faceRange:{valueType:"UInt32",valuesPerElement:2}}}}};var RDt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),MDt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),LDt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),qDt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),Xwe=()=>({version:{path:"version",transform:e=>e.toUpperCase()},id:{path:"id",default:0},name:{path:"name"},href:{path:"href",default:"./layers/0"},layerType:{path:"layerType",default:"IntegratedMesh"},spatialReference:{path:"spatialReference",transform:e=>(0,ov.default)(e,RDt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,ov.default)(e,Jwe)},fullExtent:{path:"fullExtent",transform:e=>(0,ov.default)(e,qDt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,ov.default)(e,MDt())},nodePages:{path:"nodePages",transform:e=>(0,ov.default)(e,LDt())},materialDefinitions:{path:"materialDefinitions",default:[]},textureSetDefinitions:{path:"textureSetDefinitions",default:[]},geometryDefinitions:{path:"geometryDefinitions",default:[]},attributeStorageInfo:{path:"attributeStorageInfo",default:[]},fields:{path:"fields",default:[]},popupInfo:{path:"popupInfo",default:null}});var vq=Pt(Ws(),1),NDt=()=>({offset:{default:8},position:{default:{type:"Float32",component:3}},normal:{default:{type:"Float32",component:3}},uv0:{path:"hasTexture",transform:e=>e&&{type:"Float32",component:2}||!1,omitValues:[!1]},color:{default:{type:"UInt8",component:4}},uvRegion:{path:"hasUvRegions",transform:e=>e&&{type:"UInt16",component:4}||!1,omitValues:[!1]},featureId:{default:{binding:"per-feature",type:"UInt64",component:1}},faceRange:{default:{binding:"per-feature",type:"UInt32",component:2}}}),UDt=()=>({"compressedAttributes.encoding":{default:"draco"},"compressedAttributes.attributes":{path:"geometryConfig",transform:e=>{let t=["position","normal"];return e.hasTexture&&t.push("uv0"),t.push("color"),e.hasUvRegions&&t.push("uv-region"),t.push("feature-index"),t}}}),Ywe=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,vq.default)(e,NDt())];return e.draco&&t.push((0,vq.default)({geometryConfig:e},UDt())),t}}});var j1=Pt(Ws(),1),GDt=()=>({renderMode:{path:"renderMode",default:"solid"},shininess:{path:"shininess",default:1},reflectivity:{path:"reflectivity",default:0},ambient:{path:"ambient",default:[1,1,1]},diffuse:{path:"diffuse",default:[1,1,1]},specular:{path:"specular",default:[0,0,0]},useVertexColorAlpha:{path:"useVertexColorAlpha",default:!1},vertexRegions:{path:"vertexRegions",default:!1},vertexColors:{path:"vertexColors",default:!0}}),zDt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,j1.default)(r,GDt())}}),HDt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),WDt=()=>({encoding:{path:"encoding"},wrap:{path:"wrap",default:["none"]},atlas:{path:"atlas",default:!1},uvSet:{path:"uvSet",default:"uv0"},channels:{path:"channels",default:"rgb"},images:{path:"images",transform:(e,t,r)=>e.map(n=>(0,j1.default)(n,HDt()))}}),Qwe=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:$Dt},textureDefinitions:{path:"textureDefinitionInfos",transform:VDt}});function $Dt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,j1.default)(a,zDt());return n}function VDt(e,t,r){if(!e)return null;let n={};for(let[i,a]of e.entries()){let o=`${r.nodePath}${i}`;a.imageIndex=o,n[o]=(0,j1.default)(a,WDt())}return n}var KDt=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]);function eEe(e){var r,n;if(!((r=e==null?void 0:e.parentNode)!=null&&r.obb)||!((n=e==null?void 0:e.parentNode)!=null&&n.mbs))return[];let t=[];return JDt(t,e),XDt(t,e),t}function JDt(e,t){var o;let r=YDt(t.parentNode.obb),n=QDt(t);if(ZDt(r,n))return;let a=`OBB of Tile (${t.id}) doesn't fit into Parent (${(o=t.parentNode)==null?void 0:o.id}) tile OBB`;e.push(a)}function XDt(e,t){var a;let r=Zwe(t.mbs),n=Zwe(t.parentNode.mbs);if(r.center.distanceTo(n.center)+r.radius>n.radius){let o=`MBS of Tile (${t.id}) doesn't fit into Parent (${(a=t.parentNode)==null?void 0:a.id}) tile MBS`;e.push(o)}}function Zwe(e){return new Sa([e[0],e[1],e[2]],e[3])}function YDt(e){let{center:t,halfSize:r,quaternion:n}=e;return new Ci().fromCenterHalfSizeQuaternion(t,r,n)}function QDt(e){let t=e.obb.halfSize,r=KDt,n=Ut.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new ie(r[a]*=t[0],r[a+1]*=t[1],r[a+2]*=t[2]).transformByQuaternion(e.obb.quaternion).add(n);i=i.concat(s)}return i}function ZDt(e,t){let r=!0;for(let n=0;n<t.length/3;n+=3){let i=[t[n],t[n+1],t[n+2]],a=Ut.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){r=!1;break}}return r}var gC=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var tEe=Pt(require("process"),1),e4t=4*1024*1024*1024,sv=class extends gC{intervalId;conversionDump;writePromise=null;fileMap={};listeningInterval;writeConcurrency;constructor(t,r=2e3,n=400){super(),this.conversionDump=t,this.listeningInterval=r,this.writeConcurrency=n}async enqueue(t,r=!1){if(r){let{archiveKey:n,writePromise:i}=t,a=await i();n&&a&&(this.fileMap[n]=a)}else super.enqueue(t),tEe.default.memoryUsage().rss>e4t&&await this.startWrite()}startListening(){this.intervalId=setInterval(this.startWrite.bind(this),this.listeningInterval)}stopListening(){this.intervalId&&clearInterval(this.intervalId)}async startWrite(){this.writePromise||(this.writePromise=this.doWrite()),await this.writePromise,this.writePromise=null}async finalize(){this.stopListening(),await this.startWrite()}async doWrite(){for(;this.length;){let t=[],r=[],n=[];for(let a=0;a<this.writeConcurrency;a++){let o=this.dequeue();if(!o)break;let{archiveKey:s,sourceId:u,outputId:c,resourceType:l,writePromise:f}=o;r.push(s),n.push({sourceId:u,outputId:c,resourceType:l});let p=f();t.push(p)}let i=await Promise.allSettled(t);this.updateFileMap(r,i),await this.conversionDump.updateConvertedTilesDump(n,i)}}updateFileMap(t,r){for(let n=0;n<t.length;n++){let i=t[n];i&&"value"in r[n]&&(this.fileMap[i]=r[n].value)}}};var uv="Tile converter does not work in browser, only in node js environment",ip=".dump.json";var xq=require("path"),yq=Pt(Ws(),1);var rEe=Pt(Ws(),1),nEe=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),t4t=()=>({href:{path:"href"}}),r4t=()=>({id:{path:"id"},...t4t(),...nEe()}),bq=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...nEe(),lodSelection:{path:"lodSelection",default:[{metricType:"maxScreenThresholdSQ",maxError:196349.54374999998},{metricType:"maxScreenThreshold",maxError:999.9999999999999}]},children:{path:"children",default:null},neighbors:{path:"neighbors",default:null},parentNode:{path:"parentNode",transform:e=>(0,rEe.default)(e,r4t()),default:null},sharedResource:{path:"sharedResource",default:null},featureData:{path:"featureData",default:null},geometryData:{path:"geometryData",default:null},textureData:{path:"textureData",default:null},attributeData:{path:"attributeData",default:null}});var Vs=class{id;inPageId;data=null;children=[];converter;_finalized=!1;get finalized(){return this._finalized}constructor(t,r){this.inPageId=t,this.id=t===0?"root":t.toString(),this.converter=r}async addData(t){return this.converter.options.instantNodeWriting?await this.write(t):this.data=t,this}async addChildren(t){let r=[];for(let i of t){let a=await i.load();r.push({id:i.id,href:`../${i.id}`,obb:a.obb,mbs:a.mbs})}this.children=this.children.concat(t);let n=this.data;this.converter.options.instantNodeWriting&&(n=await this.load()),n&&(n.children=n.children??[],n.children=n.children.concat(r)),this.converter.options.instantNodeWriting&&n&&await this.write(n)}async addNeighbors(){var r;if(this.finalized)return;let t=await this.load();for(let n of this.children){let i=await n.load();if(i.neighbors=i.neighbors??[],Number((r=t==null?void 0:t.children)==null?void 0:r.length)<1e3)for(let a of t.children||[])n.id!==a.id&&i.neighbors.push({...a});else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete i.neighbors;this.converter.options.instantNodeWriting&&i&&await n.write(i),await n.save()}this.finalize()}async save(){this.data&&await this.write(this.data)}finalize(){this._finalized=!0;for(let t of this.children)t.flush()}async write(t){let r=(0,xq.join)(this.converter.layers0Path,"nodes",this.id);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>ac(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>Mn(r,JSON.stringify(t))},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,xq.join)(this.converter.layers0Path,"nodes",t),n="index.json";return this.converter.options.slpk&&(n="3dNodeIndexDocument.json"),await tv(r,n)}flush(){this.data=null}static async createRootNode(t,r){let n=Vs.createRootNodeIndexDocument(t);return await new Vs(0,r).addData(n)}static async createNode(t,r,n,i,a,o){let s=await Vs.createNodeIndexDocument(t,r,n,i,a);return await new Vs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${ic().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,yq.default)(r,bq())}static async createNodeIndexDocument(t,r,n,i,a){var l,f,p,d,m;let o=i.index,s=await t.load(),u={version:s.version,id:o.toString(),level:s.level+1,...r,lodSelection:n,parentNode:{id:t.id,href:`../${t.id}`,mbs:s.mbs,obb:s.obb},children:[],neighbors:[]},c=(0,yq.default)(u,bq());if(i.mesh&&(c.geometryData=[{href:"./geometries/0"}],c.sharedResource={href:"./shared"},("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint)&&(c.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),"attributes"in a&&a.attributes&&a.attributes.length&&((f=(l=t.converter.layers0)==null?void 0:l.attributeStorageInfo)!=null&&f.length)||"attributesCount"in a&&a.attributesCount&&((d=(p=t.converter.layers0)==null?void 0:p.attributeStorageInfo)!=null&&d.length))){let g=("attributes"in a?(m=a.attributes)==null?void 0:m.length:a.attributesCount)||0;c.attributeData=[];let v=g<t.converter.layers0.attributeStorageInfo.length?g:t.converter.layers0.attributeStorageInfo.length;for(let y=0;y<v;y++){let w=t.converter.layers0.attributeStorageInfo[y].key;c.attributeData.push({href:`./attributes/${w}/0`})}}return c}};var _q=async(e,t,r)=>{let n=R1(t);if(!e||!t.contentUrl||!n)return;let i={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},a=await vC(t.contentUrl,e.loader,i);a.root&&(t.children=[a.root])},wq=async(e,t,r)=>{let n=R1(t);if(!e||!t.contentUrl||n)return null;let i={...r,[e.loader.id]:{...r[e.loader.id]||{},isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}};return await vC(t.contentUrl,e.loader,i)};async function vC(e,t,r){let n=e.split(".3tz"),i;if(n.length===1)i=null;else if(n.length===2)i=n[1].slice(1),i===""&&(i="tileset.json");else throw new Error("Unexpected URL format");if(i){let a=`${n[0]}.3tz`,o=new so(a),s=await n4t(o),u=new C1(o,s,a),c=new hl(u),l=await un(i,t,{...r,fetch:c.fetch.bind(c)});return await c.destroy(),l}return await un(e,t,r)}function R1(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}async function n4t(e){let t,r=await Jd(e,Yd),n=await Xd(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await Hs(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await e.slice(a,a+i.compressedSize);t=S1(o)}return t}var bC=async(e,t,r,n,i,a=0)=>{if(i&&a>i)return;let o=[],s=await r(e,t);o.push(s);for(let u of e.children)await bC(u,s,r,n,i,a+1);n&&await n(o,t)};var i4t=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],iEe=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await co(e.gltfArrayBuffer,el,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=a4t(n),a=o4t(n);return{meshTopologyTypes:i,metadataClasses:a}},a4t=e=>{let t=new Set;for(let r of e.meshes||[])for(let n of r.primitives){let{mode:i}=n;typeof i!="number"&&(i=4),t.add(i4t[i])}return t},o4t=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[Ho])==null?void 0:a.schema)==null?void 0:o.classes;if(r)for(let l of Object.keys(r))t.add(l);let n=(c=(u=(s=e.extensions)==null?void 0:s[Zc])==null?void 0:u.schema)==null?void 0:c.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},aEe=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var oEe=Pt(require("process"),1);var s4t=.2,cv=class{_stepsTotal=0;_stepsDone=0;startTime=0;stopTime=0;timeOfUpdatingStepsDone=0;milliSecForOneStep=0;trust=!1;numberOfDigitsInPercentage=0;threshold;getTime;constructor(t={}){this.getTime=t.getTime||oEe.default.hrtime.bigint,this.threshold=t.threshold||s4t}get stepsTotal(){return this._stepsTotal}set stepsTotal(t){this._stepsTotal=t,this.numberOfDigitsInPercentage=this.stepsTotal>100?Math.ceil(Math.log10(this.stepsTotal))-2:0}get stepsDone(){return this._stepsDone}set stepsDone(t){if(this._stepsDone=t,this.timeOfUpdatingStepsDone=this.getCurrentTimeInMilliSeconds(),this._stepsDone){let n=(this.timeOfUpdatingStepsDone-this.startTime)/this._stepsDone;this.trust=this.isVelocityTrust(n,this.milliSecForOneStep),this.milliSecForOneStep=n}}startMonitoring(){this.startTime=this.getCurrentTimeInMilliSeconds(),this.milliSecForOneStep=0,this.trust=!1,this.timeOfUpdatingStepsDone=0,this.stopTime=0,this.stepsDone=0}stopMonitoring(){this.stopTime=this.getCurrentTimeInMilliSeconds()}getPercent(){return this._stepsTotal?this._stepsDone/this._stepsTotal*100:null}getPercentString(){let t=this.getPercent();return t!==null?t.toFixed(this.numberOfDigitsInPercentage):""}getTimeCurrentlyElapsed(){return(this.stopTime?this.stopTime:this.getCurrentTimeInMilliSeconds())-this.startTime}getTimeRemaining(){return!this._stepsTotal||!this._stepsDone||!this.startTime?null:{timeRemaining:(this._stepsTotal-this._stepsDone)*this.milliSecForOneStep,trust:this.trust}}getTimeRemainingString(){let t=this.getTimeRemaining();return t!=null&&t.trust?nv(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var ESe=require("util");var pp=require("path"),ASe=Pt(require("process"),1),SSe=Pt(_Se(),1);var wSe={type:"object",properties:{options:{type:"object",properties:{inputUrl:{type:"string"},outputPath:{type:"string"},tilesetName:{type:"string"},maxDepth:{type:"number"},slpk:{type:"boolean"},egmFilePath:{type:"string"},token:{type:"string"},draco:{type:"boolean"},mergeMaterials:{type:"boolean"},generateTextures:{type:"boolean"},generateBoundingVolumes:{type:"boolean"},metadataClass:{type:"string"},analyze:{type:"boolean"}},required:["inputUrl","outputPath","tilesetName"]},tilesConverted:{type:"object",patternProperties:{".*":{type:"object",properties:{nodes:{type:"array",items:{type:"object",properties:{nodeId:{type:["number","string"]},done:{type:"boolean"},progress:{type:"object",patternProperties:{".*":{type:"boolean"}}},dumpMetadata:{type:"object",properties:{boundingVolumes:{type:["object","null"],properties:{mbs:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},obb:{type:"object",properties:{center:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},halfSize:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},quaternion:{type:"array",minItems:4,maxItems:4,items:{type:"number"}}},required:["center","halfSize","quaternion"]}},required:["mbs","obb"]},attributesCount:{type:"number"},featureCount:{type:"number"},geometry:{type:"boolean"},hasUvRegions:{type:"boolean"},materialId:{type:"number"},texelCountHint:{type:"number"},vertexCount:{type:"number"}},required:["boundingVolumes","featureCount","geometry","hasUvRegions","materialId","vertexCount"]}},required:["nodeId","done"]}}},required:["nodes"]}}},textureSetDefinitions:{type:"array",items:{type:"object",properties:{formats:{type:"array",items:{type:"object",properties:{name:{type:"string"},format:{enum:["jpg","png","ktx-etc2","dds","ktx2"]}},required:["name","format"]}},atlas:{type:"boolean"}},required:["formats"]}},attributeMetadataInfo:{type:"object",properties:{attributeStorageInfo:{type:"array",items:{type:"object",properties:{key:{type:"string"},name:{type:"string"},header:{type:"array",items:{type:"object",properties:{property:{type:"string"},valueType:{type:"string"}},required:["property","valueType"]}},ordering:{type:"array",items:{type:"string"}},attributeValues:{$ref:"#/$defs/AttributeValue"},attributeByteCounts:{$ref:"#/$defs/AttributeValue"},objectIds:{$ref:"#/$defs/AttributeValue"}},required:["key","name","header"]}},fields:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{$ref:"#/$defs/ESRIField"},alias:{type:"string"},domain:{$ref:"#/$defs/Domain"}},required:["name","type"]}},popupInfo:{type:"object",properties:{title:{type:"string"},description:{type:"string"},expressionInfos:{type:"array",items:{}},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}},mediaInfos:{type:"array",items:{}},popupElements:{type:"array",items:{type:"object",properties:{text:{type:"string"},type:{type:"string"},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}}}}}}}},required:["attributeStorageInfo","fields"]},materialDefinitions:{type:"array",items:{type:"object",properties:{pbrMetallicRoughness:{type:"object",properties:{baseColorFactor:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},baseColorTexture:{$ref:"#/$defs/I3SMaterialTexture"},metallicFactor:{type:"number"},roughnessFactor:{type:"number"},metallicRoughnessTexture:{$ref:"#/$defs/I3SMaterialTexture"}},required:["metallicFactor","roughnessFactor"]},normalTexture:{$ref:"#/$defs/I3SMaterialTexture"},occlusionTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveFactor:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},alphaMode:{enum:["opaque","mask","blend"]},alphaCutoff:{type:"number"},doubleSided:{type:"boolean"},cullFace:{enum:["none","front","back"]}},required:["pbrMetallicRoughness","alphaMode"]}}},required:["options","tilesConverted"],$defs:{AttributeValue:{type:"object",properties:{valueType:{type:"string"},encoding:{type:"string"},valuesPerElement:{type:"number"}},required:["valueType"]},ESRIField:{enum:["esriFieldTypeDate","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeInteger","esriFieldTypeOID","esriFieldTypeSmallInteger","esriFieldTypeString"]},Domain:{type:"object",properties:{type:{type:"string"},name:{type:"string"},description:{type:"string"},fieldType:{type:"string"},range:{type:"array",items:{type:"number"}},codedValues:{type:"array",items:{type:"object",properties:{name:{type:"string"},code:{type:["string","number"]}},required:["name","code"]}},mergePolicy:{type:"string"},splitPolicy:{type:"string"}},required:["type","name"]},FieldInfo:{type:"object",properties:{fieldName:{type:"string"},visible:{type:"boolean"},isEditable:{type:"boolean"},label:{type:"string"}},required:["fieldName","visible","isEditable","label"]},I3SMaterialTexture:{type:"object",properties:{textureSetDefinitionId:{type:"number"},texCoord:{type:"number"},factor:{type:"number"}},required:["textureSetDefinitionId"]}}};var lh=class{restored=!1;options;tilesConverted;textureSetDefinitions;attributeMetadataInfo;materialDefinitions;constructor(){this.tilesConverted={}}async createDump(t){let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p=!0,metadataClass:d,analyze:m=!1}=t;this.options={tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p,metadataClass:d,analyze:m};let g=(0,pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${ip}`);if(await F1(g))try{let v=await tv((0,pp.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${ip}`),{options:y,tilesConverted:w,textureSetDefinitions:A,attributeMetadataInfo:C,materialDefinitions:T}=v;if(new SSe.default().compile(wSe)(v)&&(0,ESe.isDeepStrictEqual)(y,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=w,this.textureSetDefinitions=A,this.attributeMetadataInfo=C,this.materialDefinitions=T,this.restored=!0;return}}catch(v){console.log("Can't open dump file",v)}await this.deleteDumpFile()}reset(){this.restored=!1,this.tilesConverted={},this.textureSetDefinitions&&delete this.textureSetDefinitions,this.attributeMetadataInfo&&delete this.attributeMetadataInfo,this.materialDefinitions&&delete this.materialDefinitions}async updateDumpFile(){var t;if((t=this.options)!=null&&t.outputPath&&this.options.tilesetName)try{let r=ASe.default.hrtime();await Mn((0,pp.join)(this.options.outputPath,this.options.tilesetName),JSON.stringify({options:this.options,tilesConverted:this.tilesConverted,textureSetDefinitions:this.textureSetDefinitions,attributeMetadataInfo:this.attributeMetadataInfo,materialDefinitions:this.materialDefinitions}),`${this.options.tilesetName}${ip}.${r[0]}.${r[1]}`),await bwe((0,pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${ip}.${r[0]}.${r[1]}`),(0,pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${ip}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await F1((0,pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${ip}`))&&await B1((0,pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${ip}`))}getRecord(t){return this.tilesConverted[t]}setRecord(t,r){this.tilesConverted[t]=r}async addNode(t,r,n){let{nodes:i}=this.getRecord(t)||{nodes:[]};i.push({nodeId:r,done:!1,dumpMetadata:n}),i.length===1&&this.setRecord(t,{nodes:i}),await this.updateDumpFile()}clearDumpRecord(t){this.setRecord(t,{nodes:[]})}addTexturesDefinitions(t){this.textureSetDefinitions=t}updateDoneStatus(t,r,n,i){var o;let a=(o=this.tilesConverted[t])==null?void 0:o.nodes.find(s=>s.nodeId===r);a&&(a.progress||(a.progress={}),a.progress[n]=i,i||(a.done=!1))}async updateConvertedTilesDump(t,r){for(let n=0;n<t.length;n++)if(t[n]&&"value"in r[n]){let{sourceId:i,resourceType:a,outputId:o}=t[n];if(!i||!a||!o)continue;for(let s of this.tilesConverted[i].nodes)if(s.nodeId===o&&s.progress){s.progress[a]=!0;let u=!1;for(let c in s.progress)if(u=s.progress[c],!u)break;s.done=u,s.done&&delete s.progress;break}}await this.updateDumpFile()}async updateConvertedNodesDumpFile(t,r,n){var a;let i=(a=this.tilesConverted[t])==null?void 0:a.nodes.find(o=>o.nodeId===r);i&&(i.done=n,await this.updateDumpFile())}isFileConversionComplete(t){var n,i,a;let r=!0;for(let o of((n=this.tilesConverted[t])==null?void 0:n.nodes)||[])if(!o.done){r=!1;break}return r&&((a=(i=this.tilesConverted[t])==null?void 0:i.nodes)==null?void 0:a.length)>0}setMaterialsDefinitions(t){this.materialDefinitions=t}};var CSe,rIt=(CSe=fh.default.env)==null?void 0:CSe.IonToken,TSe=64,nIt="3DTILES",iIt="3DObject",aIt=1800,oIt="https://",dp="phase1-count",wv=class{attributeMetadataInfo;nodePages;options;layers0Path;materialMap;materialDefinitions;geometryMap;geometryConfigs;vertexCounter;layers0;featuresHashArray;refinementCounter;validate;boundingVolumeWarnings=[];conversionStartTime=[0,0];refreshTokenTime=[0,0];sourceTileset=null;loadOptions={_nodeWorkers:!0,reuseWorkers:!0,useLocalLibraries:!0,basis:{format:"rgba32",workerUrl:"./modules/textures/dist/basis-worker-node.js"},draco:{workerUrl:"./modules/draco/dist/draco-worker-node.js"},fetch:{},modules:{}};geoidHeightModel=null;Loader=Ju;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new sv(new lh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new KT,this.nodePages=new Ki(Mn,TSe,this),this.options={},this.layers0Path="",this.materialMap=new Map,this.materialDefinitions=[],this.geometryMap=new Map,this.geometryConfigs=[],this.vertexCounter=0,this.layers0=null,this.featuresHashArray=[],this.refinementCounter={tilesCount:0,tilesWithAddRefineCount:0},this.validate=!1,this.generateTextures=!1,this.generateBoundingVolumes=!1,this.layersHasTexture=!1,this.compressList=null,this.conversionDump=new lh}async convert(t){if(jr)return console.log(uv),uv;this.conversionStartTime=fh.default.hrtime();let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,validate:o,outputPath:s,draco:u=!0,sevenZipExe:c,maxDepth:l,token:f,generateTextures:p,generateBoundingVolumes:d,instantNodeWriting:m=!1,mergeMaterials:g=!0,inquirer:v,metadataClass:y,analyze:w=!1}=t;this.options={outputPath:s,tilesetName:r,maxDepth:l,slpk:n,sevenZipExe:c,egmFilePath:i,draco:u,token:f,inputUrl:a,instantNodeWriting:m,mergeMaterials:g,inquirer:v,metadataClass:y},this.progresses[dp]=new cv,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(o),this.Loader=a.indexOf(oIt)!==-1?f8:Ju,this.generateTextures=Boolean(p),this.generateBoundingVolumes=Boolean(d),this.writeQueue=new sv(this.conversionDump),this.writeQueue.startListening(),console.log("Loading egm file..."),this.geoidHeightModel=await un(i,mC),console.log("Loading egm file completed!"),n&&this.nodePages.useWriteFunction(ac);try{let A=await this._fetchPreloadOptions(),C=a;A.url&&(C=A.url),A.headers&&(this.loadOptions.fetch={headers:A.headers}),this.sourceTileset=await vC(C,this.Loader,this.loadOptions),(this.Loader===Ju||w?await this.preprocessConversion():!0)&&!w&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(s,r),await this._finishConversion({slpk:Boolean(n),outputPath:s,tilesetName:r}))}catch(A){throw A}finally{await this.writeQueue.finalize(),la.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await bC(t,null,this.analyzeTile.bind(this),void 0,this.options.maxDepth);let{meshTopologyTypes:r,metadataClasses:n}=this.preprocessData;return console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`Tile count: ${this.progresses[dp].stepsTotal}`),console.log(`glTF mesh topology types: ${Array.from(r).join(", ")}`),n.size?console.log(`Feature metadata classes have been found: ${Array.from(n).join(", ")}`):console.log("Feature metadata classes have not been found"),!r.has("TRIANGLES")&&!r.has("TRIANGLE_STRIP")?(console.log("The tileset is of unsupported mesh topology types. The conversion will be interrupted."),console.log("------------------------------------------------"),!1):(console.log("------------------------------------------------"),!0)}async analyzeTile(t,r){if(R1(t))return await _q(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[dp].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await wq(this.sourceTileset,t,{...this.loadOptions,"3d-tiles":{...this.loadOptions["3d-tiles"],loadGLTF:!1}})}catch{console.log(`[warning]: Failed to load ${t.contentUrl}. An I3S tile with empty content will be added to the output tileset`)}let a=await iEe(i);return aEe(this.preprocessData,a),null}async selectMetadataClass(){var r;let{metadataClasses:t}=this.preprocessData;if(t.size>1)if((r=this.options.metadataClass)!=null&&r.length)console.log(`${this.options.metadataClass} has been selected`);else if(this.options.inquirer){let n=await this.options.inquirer.prompt([{name:"metadataClass",type:"list",message:"Select feature metadata data class to convert...",choices:Array.from(t)}]);this.options.metadataClass=n.metadataClass,console.log(`${n.metadataClass} has been selected`)}else return console.log(`A feature metadata class has not been selected. Start the converter with option "--metadata-class". For example, "npx tile-converter ... --metadata-class ${Array.from(t)[0]}"`),console.log("------------------------------------------------"),!1;return!0}async _createAndSaveTileset(t,r){var c,l,f;let n=(0,Qi.join)(`${t}`,`${r}`);await this.conversionDump.createDump(this.options),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),this.layers0Path=(0,Qi.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,Qi.join)(this.layers0Path,"nodepages"):n;try{await k1(i)}catch{}if(this.conversionDump.restored&&this.conversionDump.attributeMetadataInfo&&this.attributeMetadataInfo.fromObject(this.conversionDump.attributeMetadataInfo),this.materialDefinitions=[],this.materialMap=new Map,this.conversionDump.restored&&this.conversionDump.materialDefinitions){for(let p=0;p<this.conversionDump.materialDefinitions.length;p++){let d=(0,YC.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=Ey(a.boundingVolume,new Sr(a.transform),null);this._formLayers0(r,o,(f=(l=(c=this.sourceTileset)==null?void 0:c.root)==null?void 0:l.boundingVolume)==null?void 0:f.region);let s=pC(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[dp].startMonitoring();let u=await Vs.createRootNode(s,this);await bC(a,{transform:new Sr(a.transform),parentNodes:[u]},this.convertTile.bind(this),this.finalizeTile.bind(this),this.options.maxDepth),this.progresses[dp].stopMonitoring(),console.log("[finalizing conversion]"),this.layers0.attributeStorageInfo=this.attributeMetadataInfo.attributeStorageInfo,this.layers0.fields=this.attributeMetadataInfo.fields,this.layers0.popupInfo=this.attributeMetadataInfo.popupInfo,this.attributeMetadataInfo.attributeStorageInfo.length&&(this.layers0.layerType=iIt),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,XC.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),Ywe()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),Wwe(r,this.layers0,n);for(let p of this.compressList||[])await cC(p),await B1(p);await this.nodePages.save(),await this.writeQueue.finalize(),await this._createSlpk(n)}_formLayers0(t,r,n){var s;if(!((s=this.sourceTileset)!=null&&s.root))return;let i=Twe(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${ic().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${ic().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:TSe},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,XC.default)(o,Xwe())}async _writeLayers0(){this.options.slpk?await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>ac(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")}):await this.writeQueue.enqueue({writePromise:()=>Mn(this.layers0Path,JSON.stringify(this.layers0))})}async _createSlpk(t){if(await this.conversionDump.deleteDumpFile(),this.options.slpk){let r=(0,Qi.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await tq(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await T1(i)}));try{await k1(t)}catch{}}}async convertTile(t,r){let n=R1(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await _q(this.sourceTileset,t,this.loadOptions)),r;t.id&&console.log(`[convert]: ${t.id}`);let{parentNodes:i,transform:a}=r,o=a.clone();t.transform&&(o=o.multiplyRight(t.transform));let s=i[0],u=await this._restoreNode(s,t,o),c;u===null?c=await this._createNode(s,t,o):c=u,await s.addChildren(c);let l={transform:o,parentNodes:c};if(t.id){this.progresses[dp].stepsDone+=1;let f="Calculating time left...",p=this.progresses[dp].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[dp].getPercentString(),m=d?` ${d}%, ${f}`:"";console.log(`[converted${m}]: ${t.id}`)}return l}async finalizeTile(t,r){for(let n of t)for(let i of n.parentNodes)await i.addNeighbors();for(let n of r.parentNodes)await n.save()}async _generateNodeIndexDocument(t,r,n,i,a){this.layersHasTexture=this.layersHasTexture||Boolean("texture"in r&&r.texture||"texelCountHint"in r&&r.texelCountHint),this.generateBoundingVolumes&&r.boundingVolumes&&(t=r.boundingVolumes);let o=$we(i,t),s=o.find(f=>f.metricType==="maxScreenThresholdSQ")||{maxError:0};if(a){let f={center:[],halfSize:[],quaternion:[]};await this.nodePages.push({index:0,obb:f},n.inPageId)}let u=await this._updateNodeInNodePages(s,t,i,n.inPageId,r),c=await Vs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Vs(u.index,this).addData(c),nodeInPage:u,nodeData:c}}async _restoreNode(t,r,n){if(this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions(),this.conversionDump.restored&&r.id&&this.conversionDump.isFileConversionComplete(r.id)){let i=Ey(r.boundingVolume,n,null),a=pC(i,this.geoidHeightModel),o=[];for(let s of this.conversionDump.tilesConverted[r.id].nodes){let{node:u}=await this._generateNodeIndexDocument(a,{...s.dumpMetadata,nodeId:s.nodeId},t,r,!0);o.push(u)}return o}else this.conversionDump.restored&&r.id&&this.conversionDump.clearDumpRecord(r.id);return null}async _createNode(t,r,n){var d;this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions();let i=null;try{i=await wq(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=Ey(r.boundingVolume,n,null),o=pC(a,this.geoidHeightModel),s=Uwe(i,this.options.metadataClass);this.createAttributeStorageInfo(i,s),this.conversionDump.attributeMetadataInfo={attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,fields:this.attributeMetadataInfo.fields,popupInfo:this.attributeMetadataInfo.popupInfo};let u=await this._convertResources(r,n,a,i,t.inPageId,s),c=[],l=[],f=[],p={geometry:null,compressedGeometry:null,texture:null,hasUvRegions:!1,sharedResources:null,meshMaterial:null,vertexCount:null,attributes:null,featureCount:null,boundingVolumes:null};for(let m of u||[p]){let{node:g,nodeInPage:v,nodeData:y}=await this._generateNodeIndexDocument(o,m,t,r,!1);if(c.push(g),v.mesh){if(r.id){let w={boundingVolumes:m.boundingVolumes,attributesCount:(d=m.attributes)==null?void 0:d.length,featureCount:m.featureCount,geometry:Boolean(m.geometry),hasUvRegions:m.hasUvRegions,materialId:v.mesh.material.definition,texelCountHint:v.mesh.material.texelCountHint,vertexCount:m.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,v.index,w)}await this._writeResources(m,g.id,r)}this.validate&&(this.boundingVolumeWarnings=eEe(y),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(v.index),f.push(v)}return c}async _convertResources(t,r,n,i,a,o){if(!this.isContentSupported(t)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await pq(i,r,n,async()=>(await this.nodePages.push({index:0,obb:s},a)).index,o,this.featuresHashArray,this.attributeMetadataInfo.attributeStorageInfo,this.options.draco,this.generateBoundingVolumes,this.options.mergeMaterials,this.geoidHeightModel,this.loadOptions.modules,this.options.metadataClass)}async _updateNodeInNodePages(t,r,n,i,a){let{vertexCount:o,featureCount:s,geometry:u,hasUvRegions:c}=a,l={index:0,lodThreshold:t.maxError,obb:r.obb,children:[]};u&&this.isContentSupported(n)&&(l.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint),c),resource:0},attribute:{resource:0},material:{definition:0}});let f="nodeId"in a?a.nodeId:void 0,p;if(f?p=await this.nodePages.getNodeById(f):p=await this.nodePages.push(l,i),l.mesh||console.log(`[warning]: node ${p.index} is created with empty content`),Ki.updateAll(p,l),"meshMaterial"in a&&a.meshMaterial?Ki.updateMaterialByNodeId(p,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Ki.updateMaterialByNodeId(p,a.materialId),"texture"in a&&a.texture){let d=a.texture.image.height*a.texture.image.width;Ki.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in a&&a.texelCountHint&&Ki.updateTexelCountHintByNodeId(p,a.texelCountHint);return o&&(this.vertexCounter+=o,Ki.updateVertexCountByNodeId(p,o)),Ki.updateNodeAttributeByNodeId(p),s&&Ki.updateFeatureCountByNodeId(p,s),this.nodePages.saveNode(p),p}async _writeResources(t,r,n){let{geometry:i,compressedGeometry:a,texture:o,sharedResources:s,attributes:u}=t,c=(0,Qi.join)(this.layers0Path,"nodes",r),l=(0,Qi.join)("nodes",r);await this._writeGeometries(i,a,c,l,n.id||"",parseInt(r)),await this._writeShared(s,c,l,r,n.id||"",parseInt(r)),await this._writeTexture(o,c,l,n.id||"",parseInt(r)),await this._writeAttributes(u,c,l,n.id||"",parseInt(r))}async _writeGeometries(t,r,n,i,a,o){if(this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1),this.options.slpk){let s=(0,Qi.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>ac(s,t,"0.bin")})}else{let s=(0,Qi.join)(n,"geometries/0/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Mn(s,t,"index.bin")})}if(this.options.draco)if(this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1),this.options.slpk){let s=(0,Qi.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>ac(s,r,"1.bin")})}else{let s=(0,Qi.join)(n,"geometries/1/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Mn(s,r,"index.bin")})}}async _writeShared(t,r,n,i,a,o){if(!t)return;t.nodePath=i;let s=(0,XC.default)(t,Qwe()),u=JSON.stringify(s);if(this.conversionDump.updateDoneStatus(a,o,"SHARED",!1),this.options.slpk){let c=(0,Qi.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>ac(c,u,"sharedResource.json")})}else{let c=(0,Qi.join)(r,"shared/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>Mn(c,u)})}}async _writeTexture(t,r,n,i,a){if(t){let o=this._getFormatByMimeType(t==null?void 0:t.mimeType),s=[],u=t.bufferView.data;switch(o){case"jpg":case"png":{if(s.push({name:"0",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile(u,"0",o,r,n,i,a),this.generateTextures){s.push({name:"1",format:"ktx2"});let c=t.image.data.subarray(),l=new Uint8Array(c),f=Xm({...t.image,data:l},_M,{..._M.options,["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0});this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/ktx2`,!1),await this.writeTextureFile(f,"1","ktx2",r,n,i,a)}break}case"ktx2":if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile(u,"1",o,r,n,i,a),this.generateTextures){s.push({name:"0",format:"jpg"});let c=Xm(t.image.data[0],iM);this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile(c,"0","jpg",r,n,i,a)}}this.layers0.textureSetDefinitions.length||(this.layers0.textureSetDefinitions.push({formats:s}),this.layers0.textureSetDefinitions.push({formats:s,atlas:!0}),this.layers0.textureSetDefinitions&&this.conversionDump.addTexturesDefinitions(this.layers0.textureSetDefinitions))}}async writeTextureFile(t,r,n,i,a,o,s){if(this.options.slpk){let u=(0,Qi.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>ac(u,t,`${r}.${n}`,c)})}else{let u=(0,Qi.join)(i,`textures/${r}/`);await this.writeQueue.enqueue({sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Mn(u,t,`index.${n}`)})}}async _writeAttributes(t=[],r,n,i,a){if(t!=null&&t.length&&this.attributeMetadataInfo.attributeStorageInfo.length){let o=t.length<this.attributeMetadataInfo.attributeStorageInfo.length?t.length:this.attributeMetadataInfo.attributeStorageInfo.length;for(let s=0;s<o;s++){let u=this.attributeMetadataInfo.attributeStorageInfo[s].key,c=new Uint8Array(t[s]);if(this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1),this.options.slpk){let l=(0,Qi.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>ac(l,c,"0.bin")})}else{let l=(0,Qi.join)(r,`attributes/${u}/0`);await this.writeQueue.enqueue({sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>Mn(l,c,"index.bin")})}}}}_getFormatByMimeType(t){switch(t){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/ktx2":return"ktx2";default:return"jpg"}}_findOrCreateMaterial(t){let r=(0,YC.default)(JSON.stringify(t));if(this.materialMap.has(r))return this.materialMap.get(r)||0;let n=this.materialDefinitions.push(t)-1;return this.materialMap.set(r,n),n}findOrCreateGeometryDefinition(t,r){let n={hasTexture:t,hasUvRegions:r},i=(0,YC.default)(JSON.stringify(n));if(this.geometryMap.has(i))return this.geometryMap.get(i)||0;let a=this.geometryConfigs.push(n)-1;return this.geometryMap.set(i,a),a}createAttributeStorageInfo(t,r){let n=null;this.options.metadataClass?!this.attributeMetadataInfo.attributeStorageInfo.length&&(t!=null&&t.gltf)&&(n=Owe(t.gltf,this.options.metadataClass)):r&&(n=Pwe(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/r*100:0,a=await fC(t),o=fh.default.hrtime(this.conversionStartTime),s=nv(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${nIt}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",a," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',i,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let t={"cesium-ion":{accessToken:this.options.token||rIt}},r=await this.Loader.preload(this.options.inputUrl,t);return this.refreshTokenTime=fh.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){if(fh.default.hrtime(this.refreshTokenTime)[0]<aIt)return;this.refreshTokenTime=fh.default.hrtime();let r=await this._fetchPreloadOptions();r.headers&&(this.loadOptions.fetch={...this.loadOptions.fetch,headers:r.headers},console.log("Authorization Bearer token has been updated"))}_checkAddRefinementTypeForTile(t){t.refine===1&&(this.refinementCounter.tilesWithAddRefineCount+=1,console.warn('This tile uses "ADD" type of refinement')),this.refinementCounter.tilesCount+=1}isContentSupported(t){return["b3dm","glTF","scenegraph"].includes(t.type||"")}};var e6e=require("path"),aU=Pt(require("process"),1),t6e=Pt(Ws(),1);function eU(e){switch(e){case"UInt8":return Uint8Array;case"UInt16":return Uint16Array;case"UInt32":return Uint32Array;case"Float32":return Float32Array;case"UInt64":return Float64Array;default:throw new Error(`parse i3s tile content: unknown type of data: ${e}`)}}var DSe={UInt8:St.UNSIGNED_BYTE,UInt16:St.UNSIGNED_SHORT,Float32:St.FLOAT,UInt32:St.UNSIGNED_INT,UInt64:St.DOUBLE};function Ev(e){switch(e){case"UInt8":return 1;case"UInt16":case"Int16":return 2;case"UInt32":case"Int32":case"Float32":return 4;case"UInt64":case"Int64":case"Float64":return 8;default:throw new Error(`parse i3s tile content: unknown size of data: ${e}`)}}var FSe="String",kSe="Oid32",BSe="Float64",ISe="Int16";function QC(e){let t;try{let r=new URL(e);t=`${r.origin}${r.pathname}`}catch{}return t||e}function Av(e,t=null){return t?`${e}?token=${t}`:e}function PSe(e,t){let{attributeData:r=[]}=t,n=[];for(let i=0;i<r.length;i++){let a=r[i].href.replace("./","");n.push(`${e}/${a}`)}return n}function OSe(e,t,r){let n=[],{attributeStorageInfo:i=[]}=e;for(let a=0;a<i.length;a++){let o=i[a].key;n.push(`${t}/nodes/${r}/attributes/${o}/0`)}return n}var ZC=new ie([0,0,0]);function uIt(e){switch(e){case"ktx-etc2":case"dds":return K3;case"ktx2":return Fd;case"jpg":case"png":default:return lg}}var cIt="i3s-attribute-type";async function LSe(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new Sr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=Av(lIt(t.textureUrl),(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=uIt(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===lg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await io(f,[],p,i);a.texture=d}catch{let m=await co(f,u,p,i);a.texture=m}}else if(u===K3||u===Fd){let p=await un(f,u,t.textureLoaderOptions);u===Fd&&(p=p[0]),a.texture={compressed:!0,mipmaps:!1,width:p[0].width,height:p[0].height,data:p}}}else a.texture=f}return a.material=xIt(t.materialDefinition,a.texture),a.material&&(a.texture=null),await fIt(e,a,t,r,n)}function lIt(e){let t=e.split(".slpk"),r;return t.length===1?r=e:t.length===2?r=t[1].slice(1):r=e,r}async function fIt(e,t,r,n,i){var f,p;let a=e.byteLength,o,s,u=0,c=0,l;if(r.isDracoGeometry){let d=await co(e,ig,{draco:{attributeNameEntry:cIt}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:m,NORMAL:g,COLOR_0:v,TEXCOORD_0:y,["feature-index"]:w,["uv-region"]:A}=d.attributes;o={position:m,normal:g,color:v,uv0:y,uvRegion:A,id:w},pIt(o,d);let C=EIt(w);C&&wIt(o,C)}else{let{vertexAttributes:d,ordering:m,featureAttributes:g,featureAttributeOrder:v}=n.store.defaultGeometrySchema,y=hIt(e,n);u=y.byteOffset,s=y.vertexCount,c=y.featureCount;let{attributes:w,byteOffset:A}=RSe(e,u,d,s,m),{attributes:C}=RSe(e,A,g,c,v);_It(C),o=dIt(w,C)}if(!((p=i==null?void 0:i.i3s)!=null&&p.coordinateSystem)||i.i3s.coordinateSystem===2){let d=gIt(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem=2}else t.modelMatrix=bIt(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:jSe(o.color),texCoords:o.uv0,uvRegions:jSe(o.uvRegion||o.region)},t.indices=l||null,o.id&&o.id.value&&(t.featureIds=o.id.value);for(let d in t.attributes)t.attributes[d]||delete t.attributes[d];return t.vertexCount=s,t.byteLength=a,t}function pIt(e,t){for(let r in t.loaderData.attributes){let n=t.loaderData.attributes[r];switch(n.name){case"POSITION":e.position.metadata=n.metadata;break;case"feature-index":e.id.metadata=n.metadata;break;default:break}}}function dIt(e,t){return{...e,...t}}function jSe(e){return e&&(e.normalized=!0,e)}function hIt(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=eU(o);switch(a){case"vertexCount":n=new s(e,0,4)[0],r+=Ev(o);break;case"featureCount":i=new s(e,4,4)[0],r+=Ev(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function RSe(e,t,r,n,i){let a={};for(let o of i)if(r[o]){let{valueType:s,valuesPerElement:u}=r[o];if(t+n*u*Ev(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=mIt(c,n*u,Ev(s));else{let f=eU(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:DSe[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*Ev(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function mIt(e,t,r){let n=[],i=new DataView(e),a=0;for(let o=0;o<t;o++){let s=i.getUint32(a,!0),u=i.getUint32(a+4,!0),c=s+2**32*u;n.push(c),a+=r}return new Uint32Array(n)}function gIt(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new Sr,o=new ie(r[0],r[1],r[2]),s=new ie;return Ut.WGS84.cartographicToCartesian(o,s),Ut.WGS84.eastNorthUpToFixedFrame(s,a),e.value=vIt(n,i,o),a}function vIt(e,t={},r){let n=new Float64Array(e.length),i=t["i3s-scale_x"]&&t["i3s-scale_x"].double||1,a=t["i3s-scale_y"]&&t["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*i+r.x,n[o+1]=e[o+1]*a+r.y,n[o+2]=e[o+2]+r.z;for(let o=0;o<n.length;o+=3)Ut.WGS84.cartographicToCartesian(n.subarray(o,o+3),ZC),n[o]=ZC.x,n[o+1]=ZC.y,n[o+2]=ZC.z;return n}function bIt(e){var a,o;let t=e.metadata,r=((a=t==null?void 0:t["i3s-scale_x"])==null?void 0:a.double)||1,n=((o=t==null?void 0:t["i3s-scale_y"])==null?void 0:o.double)||1,i=new Sr;return i[0]=r,i[5]=n,i}function xIt(e,t){let r;return e?r={...e,pbrMetallicRoughness:e.pbrMetallicRoughness?{...e.pbrMetallicRoughness}:{baseColorFactor:[255,255,255,255]}}:(r={pbrMetallicRoughness:{}},t?r.pbrMetallicRoughness.baseColorTexture={texCoord:0}:r.pbrMetallicRoughness.baseColorFactor=[255,255,255,255]),r.alphaCutoff=r.alphaCutoff||.25,r.alphaMode&&(r.alphaMode=r.alphaMode.toUpperCase()),r.emissiveFactor&&(r.emissiveFactor=MSe(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=MSe(r.pbrMetallicRoughness.baseColorFactor)),t&&yIt(r,t),r}function MSe(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function yIt(e,t){let r={source:{image:t}};e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture?e.pbrMetallicRoughness.baseColorTexture={...e.pbrMetallicRoughness.baseColorTexture,texture:r}:e.emissiveTexture?e.emissiveTexture={...e.emissiveTexture,texture:r}:e.pbrMetallicRoughness&&e.pbrMetallicRoughness.metallicRoughnessTexture?e.pbrMetallicRoughness.metallicRoughnessTexture={...e.pbrMetallicRoughness.metallicRoughnessTexture,texture:r}:e.normalTexture?e.normalTexture={...e.normalTexture,texture:r}:e.occlusionTexture&&(e.occlusionTexture={...e.occlusionTexture,texture:r})}function _It(e){let{id:t,faceRange:r}=e;if(!t||!r)return;let n=t.value,i=r.value,a=i[i.length-1]+1,o=new Uint32Array(a*3),s=0,u=0;for(let c=1;c<i.length;c+=2){let l=Number(n[s]),f=i[c],p=i[c-1],d=f-p+1,m=u+d*3;o.fill(l,u,m),s++,u=m}e.id.value=o}function wIt(e,t){let r=e.id.value,n=new Float32Array(r.length);for(let i=0;i<r.length;i++)n[i]=t[r[i]];e.id.value=n}function EIt(e){var t,r;return(r=(t=e==null?void 0:e.metadata)==null?void 0:t["i3s-feature-ids"])==null?void 0:r.intArray}var AIt="4.2.0-alpha.3",qSe={name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:AIt,mimeTypes:["application/octet-stream"],parse:SIt,extensions:["bin"],options:{"i3s-content":{}}};async function SIt(e,t,r){let{tile:n,_tileOptions:i,tileset:a,_tilesetOptions:o}=(t==null?void 0:t.i3s)||{},s=i||n,u=o||a;return!s||!u?null:await LSe(e,s,u,t,r)}var TIt="4.2.0-alpha.3",NSe={name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:TIt,mimeTypes:["application/json"],parse:CIt,extensions:["json"],options:{i3s:{}}};async function CIt(e,t){return JSON.parse(new TextDecoder().decode(e))}var f2=class{tileset;nodePages=[];pendingNodePages=[];nodesPerPage;options;lodSelectionMetricType;textureDefinitionsSelectedFormats=[];nodesInNodePages;url;textureLoaderOptions={};constructor(t,r="",n){var i,a;this.tileset={...t},this.url=r,this.nodesPerPage=((i=t.nodePages)==null?void 0:i.nodesPerPage)||64,this.lodSelectionMetricType=(a=t.nodePages)==null?void 0:a.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(t)}async getNodeById(t){var i;let r=Math.floor(t/this.nodesPerPage);if(!this.nodePages[r]&&!this.pendingNodePages[r]){let a=Av(this.url.indexOf(".slpk")!==-1?`nodepages/${r}`:`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:un(a,NSe,this.options)},this.nodePages[r]=await this.pendingNodePages[r].promise,this.nodesInNodePages+=this.nodePages[r].nodes.length,this.pendingNodePages[r].status="Done"}this.pendingNodePages[r].status==="Pending"&&(this.nodePages[r]=await this.pendingNodePages[r].promise);let n=t%this.nodesPerPage;return this.nodePages[r].nodes[n]}async formTileFromNodePages(t){let r=await this.getNodeById(t),n=[],i=[];for(let d of r.children||[])i.push(this.getNodeById(d));let a=await Promise.all(i);for(let d of a)n.push({id:d.index.toString(),obb:d.obb});let o,s,u,c="jpg",l=[],f=!1;if(r&&r.mesh){let{url:d,isDracoGeometry:m}=r.mesh.geometry&&this.getContentUrl(r.mesh.geometry)||{isDracoGeometry:!1};o=d,f=m;let{textureData:g,materialDefinition:v}=this.getInformationFromMaterial(r.mesh.material);u=v,c=g.format||c,g.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${g.name}`),this.tileset.attributeStorageInfo&&(l=OSe(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return tU({id:t.toString(),lodSelection:p,obb:r.obb,contentUrl:o,textureUrl:s,attributeUrls:l,materialDefinition:u,textureFormat:c,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(t){let r=null,n=this.tileset.geometryDefinitions[t.definition],i=-1;if(this.options.i3s&&this.options.i3s.useDracoGeometry&&(i=n.geometryBuffers.findIndex(a=>a.compressedAttributes&&a.compressedAttributes.encoding==="draco")),i===-1&&(i=n.geometryBuffers.findIndex(a=>!a.compressedAttributes)),i!==-1){let a=Boolean(n.geometryBuffers[i].compressedAttributes);r={url:`${this.url}/nodes/${t.resource}/geometries/${i}`,isDracoGeometry:a}}return r}getLodSelection(t){let r=[];return this.lodSelectionMetricType==="maxScreenThresholdSQ"&&r.push({metricType:"maxScreenThreshold",maxError:Math.sqrt(t.lodThreshold/(Math.PI*.25))}),r.push({metricType:this.lodSelectionMetricType,maxError:t.lodThreshold}),r}getInformationFromMaterial(t){var n,i,a;let r={textureData:{name:null}};if(t){let o=(n=this.tileset.materialDefinitions)==null?void 0:n[t.definition];if(o){r.materialDefinition=o;let s=(a=(i=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:i.baseColorTexture)==null?void 0:a.textureSetDefinitionId;typeof s=="number"&&(r.textureData=this.textureDefinitionsSelectedFormats[s]||r.textureData)}}return r}initSelectedFormatsForTextureDefinitions(t){this.textureDefinitionsSelectedFormats=[];let r=this.getSupportedTextureFormats(),n=t.textureSetDefinitions||[];for(let i of n){let a=i&&i.formats||[],o=null;for(let s of r){let u=a.find(c=>c.format===s);if(u){o=u;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={format:bg(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let r=ky();r.has("etc2")&&t.push("ktx-etc2"),r.has("dxt")&&t.push("dds"),t.push("ktx2")}return t.push("jpg"),t.push("png"),t}};function USe(e,t){let r=t.url||"",n;e.geometryData&&(n=`${r}/${e.geometryData[0].href}`);let i;e.textureData&&(i=`${r}/${e.textureData[0].href}`);let a;e.attributeData&&(a=PSe(r,e));let o=e.children||[];return tU({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function tU(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Ut.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Ut.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new Ci().fromCenterHalfSizeQuaternion(t.box.slice(0,3),e.obb.halfSize,e.obb.quaternion).getBoundingSphere();t.sphere=[...l.center,l.radius],r=[...e.obb.center,l.radius]}let n=(s=e.lodSelection)==null?void 0:s[0].metricType,i=(u=e.lodSelection)==null?void 0:u[0].maxError,a="mesh",o=2;return{...e,mbs:r,boundingVolume:t,lodMetricType:n,lodMetricValue:i,type:a,refine:o}}async function GSe(e,t,r){let n=QC(r.url||""),i,a;if(e.nodePages)i=new f2(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s,s=Av(`${n}/nodes/root`,o.token);a=await un(s,yl,{...t,i3s:{...t.i3s,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:yl,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var DIt="4.2.0-alpha.3",FIt=/layers\/[0-9]+$/,kIt=/nodes\/([0-9-]+|root)$/,BIt="504b0304",IIt="PointCloud",yl={name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:DIt,mimeTypes:["application/octet-stream"],parse:PIt,extensions:["bin"],options:{i3s:{token:null,isTileset:"auto",isTileHeader:"auto",tile:null,tileset:null,_tileOptions:null,_tilesetOptions:null,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:2}}};async function PIt(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},MIt(e)===BIt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=QC(n),o;t.i3s.isTileset==="auto"?o=FIt.test(a):o=t.i3s.isTileset;let s;return t.isTileHeader==="auto"?s=kIt.test(a):s=t.i3s.isTileHeader,o?e=await jIt(e,t,r):s?e=await RIt(e,r):e=await OIt(e,t),e}async function OIt(e,t){return await co(e,qSe,t)}async function jIt(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===IIt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await GSe(n,t,r)}async function RIt(e,t){return e=JSON.parse(new TextDecoder().decode(e)),USe(e,t)}function MIt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var LIt=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/^nodepages\/\d+$/,extensions:[".json.gz"]},{test:/^nodes\/(\d+|root)$/,extensions:["/3dNodeIndexDocument.json.gz"]},{test:/^nodes\/\d+\/textures\/.+$/,extensions:[".jpg",".png",".bin.dds.gz",".ktx"]},{test:/^nodes\/\d+\/geometries\/\d+$/,extensions:[".bin.gz",".draco.gz"]},{test:/^nodes\/\d+\/attributes\/f_\d+\/\d+$/,extensions:[".bin.gz"]},{test:/^statistics\/f_\d+\/\d+$/,extensions:[".json.gz"]},{test:/^nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],eD=class extends ml{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new Du;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=LIt.find(a=>a.test.test(t)))==null?void 0:n.extensions;if(i){let a;for(let o of i)if(a=await this.getDataByPath(`${t}${o}`),a)break;if(a)return a}}if(r==="raw"){let i=await this.getDataByPath(`${t}.gz`);if(i)return i;let a=await this.getFileBytes(t);if(a)return a}throw new Error(`No such file in the archive: ${t}`)}async getDataByPath(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!!r)return/\.gz$/.test(t)?await new A1().decompress(r):r}async getFileBytes(t){let r;if(this.hashTable){let n=this._textEncoder.encode(t),i=await this._md5Hash.hash(n.buffer,"hex"),a=this.hashTable[i];if(a===void 0)return;let o=await Hs(a,this.fileProvider);if(!o)return;r=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize)}else try{r=await this.getFileWithoutHash(t)}catch{r=void 0}return r}};async function rU(e,t,r){let n=await Jd(e,Yd),i=await Xd(n,e),a;if((i==null?void 0:i.fileName)!=="@specialIndexFileHASH128@")a=await rq(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Hs(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await e.slice(s,s+o.compressedSize);a=S1(u)}return new eD(e,a,r)}function HSe(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?qIt(n,e):null}:{}}function qIt(e,t){switch(e){case FSe:return GIt(t);case kSe:return zSe(t);case BSe:return UIt(t);case ISe:return NIt(t);default:return zSe(t)}}function zSe(e){return new Uint32Array(e,4)}function NIt(e){return new Int16Array(e,4)}function UIt(e){return new Float64Array(e,8)}function GIt(e){let i=[];try{let a=new DataView(e,0,4).getUint32(0,!0),o=new Uint32Array(e,8,a),s=8+a*4;for(let u of o){let c=new TextDecoder("utf-8"),l=new Uint8Array(e,s,u);i.push(c.decode(l)),s+=u}}catch(a){console.error("Parse string attribute error: ",a.message)}return i}var zIt="4.2.0-alpha.3";var nU={name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:zIt,mimeTypes:["application/binary"],parse:async(e,t)=>HSe(e,t),extensions:["bin"],options:{},binary:!0};function iU(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Ut.WGS84.cartographicToCartesian(r,new ie),i=new Ci().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var tD=Pt(Ws(),1),HIt=()=>({version:{path:"version",default:"1.0"}}),WSe=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,tD.default)(t,WSe()))}}),$Se=()=>({asset:{path:"asset",transform:e=>(0,tD.default)(e,HIt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,tD.default)(e,WSe())}});function VSe(e,t){let r=new Float32Array(e.length),n=$It(t);for(let i=0;i<e.length;i+=2){let a=e.subarray(i,i+2),o=n.slice(i*2,i*2+4),s=WIt([a[0],a[1]]),u=[o[2]-o[0],o[3]-o[1]],c=[s[0]*u[0],s[1]*u[1]],l=[c[0]+o[0],c[1]+o[1]];r[i]=l[0],r[i+1]=l[1]}return r}function WIt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function $It(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var VIt=new Sr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),KSe=new ie,JSe="KHR_materials_unlit",KIt=1,JIt=1,p2=class{rtcCenter;i3sTile;async convert(t,r=null){let n=await this.buildGLTF(t,r);return i3({gltfEncoded:new Uint8Array(n),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},aq)}async buildGLTF(t,r){let{tileContent:n,textureFormat:i,box:a}=t,{material:o,attributes:s,indices:u,modelMatrix:c}=n,l=new xr,f=await this._addI3sTextureToGLTF(n,i,l),p=o==null?void 0:o.pbrMetallicRoughness;p&&(p.metallicFactor===void 0||p.metallicFactor===KIt)&&(p.roughnessFactor===void 0||p.roughnessFactor===JIt)&&(l.addObjectExtension(o,JSe,{}),l.addExtension(JSe));let d=this._convertI3sMaterialToGLTFMaterial(o,f),m=l.addMaterial(d),g=s.positions,v=g.value;s.uvRegions&&s.texCoords&&(s.texCoords.value=VSe(s.texCoords.value,s.uvRegions.value));let y=new ie(a),w=Ut.WGS84.cartesianToCartographic(y,new ie);s.positions.value=this._normalizePositions(v,y,w,c),this._createBatchIds(n,r),s.normals&&!this._checkNormals(s.normals.value)&&delete s.normals;let A=u||dC(v.length/g.size),C=l.addMesh({attributes:s,indices:A,material:m,mode:4}),T=this._generateTransformMatrix(y),B=l.addNode({meshIndex:C,matrix:T}),j=l.addScene({nodeIndices:[B]});return l.setDefaultScene(j),l.createBinaryChunk(),i3(l.gltf,NM)}async _addI3sTextureToGLTF(t,r,n){let{texture:i,material:a,attributes:o}=t,s=null,u=i;if(!i&&a&&(u=a.pbrMetallicRoughness&&a.pbrMetallicRoughness.baseColorTexture&&a.pbrMetallicRoughness.baseColorTexture.texture.source.image),u){let c=this._deduceMimeTypeFromFormat(r),l=n.addImage(u,c);s=n.addTexture({imageIndex:l}),delete o.colors}return s}_normalizePositions(t,r,n,i){let a=new Float32Array(t.length);for(let o=0;o<t.length;o+=3){let s=t.subarray(o,o+3),u=new ie(r),c=new ie(Array.from(s)).transform(i).add(n);Ut.WGS84.cartographicToCartesian(c,KSe),c=KSe.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new Sr().translate(t).multiplyLeft(VIt)}_createBatchIds(t,r){let{featureIds:n}=t,{OBJECTID:i}=r||{};if(!(!n||!i)){for(let a=0;a<n.length;a++){let o=n[a],s=i.indexOf(o);n[a]=s}t.attributes._BATCHID={size:1,byteOffset:0,value:n}}}_deduceMimeTypeFromFormat(t){switch(t){case"jpg":return"image/jpeg";case"png":return"image/png";case"ktx2":return"image/ktx2";default:return console.warn(`Unexpected texture format in I3S: ${t}`),"image/jpeg"}}_convertI3sMaterialToGLTFMaterial(t,r){let n=r!==null;return t?(r!==null&&(t=this._setGLTFTexture(t,r)),t):(t={alphaMode:"OPAQUE",doubleSided:!1,pbrMetallicRoughness:{metallicFactor:0,roughnessFactor:1}},n?t.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,1],t)}_setGLTFTexture(t,r){let n={...t,pbrMetallicRoughness:{...t.pbrMetallicRoughness}};return t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorTexture?n.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.emissiveTexture?n.emissiveTexture={index:r,texCoord:0}:t.pbrMetallicRoughness&&t.pbrMetallicRoughness.metallicRoughnessTexture?n.pbrMetallicRoughness.metallicRoughnessTexture={index:r,texCoord:0}:t.normalTexture?n.normalTexture={index:r,texCoord:0}:t.occlusionTexture&&(n.occlusionTexture={index:r,texCoord:0}),n}_getFeaturesLength(t){if(!t)return 0;let r=Object.keys(t)[0];return r?t[r].length:0}_checkNormals(t){return t.find(r=>r)}};var XSe=async(e,t,r,n)=>{if(!e||!t.contentUrl)return null;let i={...r,i3s:{...r.i3s,isTileset:!1,isTileHeader:!1,_tileOptions:{attributeUrls:t.attributeUrls||[],textureUrl:t.textureUrl,textureFormat:t.textureFormat,textureLoaderOptions:t.textureLoaderOptions,materialDefinition:t.materialDefinition,isDracoGeometry:t.isDracoGeometry,mbs:t.mbs},_tilesetOptions:{store:e.store,attributeStorageInfo:e.attributeStorageInfo,fields:e.fields}}};return await d2(t.contentUrl,yl,i,n)};async function YSe(e){let t=e.split(".slpk"),{slpkFileName:r}=QSe(e)||{};if(r){let n=`${t[0]}.slpk`,i=new so(n),a=await rU(i,void 0,n);return new hl(a)}return null}async function d2(e,t,r,n){let i=QSe(e);if(n!==null&&i!==null){let{internalFileName:a}=i;return await un(a,t,{...r,fetch:n.fetch.bind(n)})}return await un(e,t,r)}function QSe(e){let t=e.split(".slpk"),r;if(t.length===1)r=null;else if(t.length===2)r={slpkFileName:`${t[0]}.slpk`,internalFileName:t[1].slice(1)};else throw new Error("Unexpected URL format");return r}async function ZSe(e){if(!(e!=null&&e.fileProvider))return 0;let t=0,r=nc(e.fileProvider);for await(let n of r)n.fileName.indexOf("3dNodeIndexDocument.json.gz")>=0&&t++;return t}var XIt="I3S",Sv=class{options;tilesetPath;vertexCounter;conversionStartTime;geoidHeightModel;sourceTileset;attributeStorageInfo;workerSource={};slpkFilesystem=null;loaderOptions={_nodeWorkers:!0,reuseWorkers:!0,worker:!1,i3s:{coordinateSystem:3,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};conversionDump;progress;constructor(){this.options={},this.tilesetPath="",this.vertexCounter=0,this.conversionStartTime=[0,0],this.geoidHeightModel=null,this.sourceTileset=null,this.attributeStorageInfo=null,this.workerSource={},this.conversionDump=new lh,this.progress=new cv}async convert(t){var m;if(jr)return console.log(uv),uv;let{inputUrl:r,outputPath:n,tilesetName:i,maxDepth:a,egmFilePath:o,inquirer:s,analyze:u}=t;this.conversionStartTime=aU.default.hrtime(),this.options={maxDepth:a,inquirer:s},console.log("Loading egm file..."),this.geoidHeightModel=await un(o,mC),console.log("Loading egm file completed!"),this.slpkFilesystem=await YSe(r);let c=!0;if((u||this.slpkFilesystem)&&(c=await this.preprocessConversion(),!c||u)||(this.progress.startMonitoring(),this.sourceTileset=await d2(r,yl,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let l=(m=this.sourceTileset)==null?void 0:m.root;if(l.obb||(l.obb=fq(l.mbs)),this.tilesetPath=(0,e6e.join)(`${n}`,`${i}`),this.attributeStorageInfo=this.sourceTileset.attributeStorageInfo,await this.conversionDump.createDump(t),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),!this.conversionDump.restored)try{await k1(this.tilesetPath)}catch{}let f={boundingVolume:{box:iU(l.obb,this.geoidHeightModel)},geometricError:hq(l),children:[],refine:"REPLACE"};await this._addChildren(l,f,1);let p=(0,t6e.default)({root:f},$Se());await Mn(this.tilesetPath,JSON.stringify(p),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:i}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),la.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await ZSe(this.slpkFilesystem);if(this.progress.stepsTotal=t,console.log("------------------------------------------------"),console.log("Preprocess results:"),this.slpkFilesystem){if(console.log(`Node count: ${t}`),t===0)return console.log("Node count is 0. The conversion will be interrupted."),console.log("------------------------------------------------"),!1}else console.log("Node count cannot be calculated for the remote dataset");return console.log("------------------------------------------------"),!0}async convertChildNode(t,r,n,i){let a=r,o=await this._loadChildNode(t,i);if(o.contentUrl){if(this.conversionDump.restored&&this.conversionDump.isFileConversionComplete(`${o.id}.b3dm`)&&(o.obb||o.mbs)){let{child:w}=this._createChildAndBoundingVolume(o);r.children.push(w),await this._addChildren(o,w,n+1);return}let f=await XSe(this.sourceTileset,o,this.loaderOptions,this.slpkFilesystem);if(!f){await this._addChildren(o,r,n+1);return}this.vertexCounter+=(f==null?void 0:f.vertexCount)||0;let p=null;this.attributeStorageInfo&&(p=await this._loadChildAttributes(o,this.attributeStorageInfo));let{child:d,boundingVolume:m}=this._createChildAndBoundingVolume(o),g={tileContent:f,box:m.box||[],textureFormat:o.textureFormat},y=await new p2().convert(g,p);await this.conversionDump.addNode(`${o.id}.b3dm`,o.id),await Mn(this.tilesetPath,new Uint8Array(y),`${o.id}.b3dm`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.b3dm`,o.id,!0),r.children.push(d),a=d}this.progress.stepsDone+=1;let s="Calculating time left...",u=this.progress.getTimeRemainingString();u&&(s=`${u} left`);let c=this.progress.getPercentString(),l=c?` ${c}%, ${s}`:"";console.log(`[converted${l}]: ${i.id}`),await this._addChildren(o,a,n+1)}async _addChildren(t,r,n){if(!(this.options.maxDepth&&n>this.options.maxDepth))for(let i of t.children||[])await this.convertChildNode(t,r,n,i)}async _loadChildNode(t,r){var i;let n;if((i=this.sourceTileset)!=null&&i.nodePagesTile)console.log(`Node conversion: ${r.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(r.id));else{let a=this._relativeUrlToFullUrl(t.url,r.href),o={i3s:{...this.loaderOptions,isTileHeader:!0,loadContent:!1}};console.log(`Node conversion: ${a}`),n=await d2(a,yl,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=fq(t.mbs));let r={box:iU(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:hq(t),children:[],content:{uri:`${t.id}.b3dm`,boundingVolume:r}};return{boundingVolume:r,child:n}}_relativeUrlToFullUrl(t="",r){let n=t.split("/"),i=r.split("/");for(let a of i)switch(a){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(a)}return n.join("/")}async _loadChildAttributes(t,r){let n=[],{attributeUrls:i=[]}=t;for(let o=0;o<i.length;o++){let s=i[o],u=r[o],c={attributeName:u.name,attributeType:this._getAttributeType(u)};n.push(d2(s,nU,c,this.slpkFilesystem))}let a=await Promise.all(n);return this._replaceNestedArrays(a),Object.assign({},...a)}_getAttributeType(t){return t.attributeValues?t.attributeValues.valueType:t.objectIds?"Oid32":""}_replaceNestedArrays(t){for(let r=0;r<t.length;r++){let n=t[r];for(let i in n)n[i]=Array.from(n[i])}}async _finishConversion(t){let r=await fC(t),n=aU.default.hrtime(this.conversionStartTime),i=nv(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${XIt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var Tv=require("path");var YIt="4.2.0-alpha.3",QIt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",rD=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await un(QIt,X7,{}),n=process.cwd();t&&(n=(0,Tv.join)(n,t)),await Mn(n,new Uint8Array(r["geoids/egm2008-5.pgm"]),"egm2008-5.pgm"),console.log('Installing "I3S Content Loader" worker'),await this.installFromNpm("i3s","i3s-content-worker-node.js"),console.log('Installing "Draco Loader" worker'),await this.installFromNpm("draco","draco-worker-node.js"),console.log('Installing "Draco Writer" worker'),await this.installFromNpm("draco","draco-writer-worker-node.js"),console.log('Installing "Basis Loader" worker'),await this.installFromNpm("textures","basis-worker-node.js"),console.log('Installing "KTX2 Basis Writer" worker'),await this.installFromNpm("textures","ktx2-basis-writer-worker-node.js"),console.log('Installing "Draco decoder" library'),await this.installFromUrl(Uf[Rn.DECODER],"draco",Rn.DECODER),await this.installFromUrl(Uf[Rn.DECODER_WASM],"draco",Rn.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(Uf[Rn.ENCODER],"draco",Rn.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Vu.TRANSCODER,"libs"),await this.installFromNpm("textures",Vu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Vu.ENCODER,"libs"),await this.installFromNpm("textures",Vu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new f0,a=(0,Tv.dirname)(process.execPath);await i.start({command:`${a}/${process.platform==="win32"?"npm.cmd":"npm"}`,arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let a=await(await Aa(`https://unpkg.com/@loaders.gl/${t}@${YIt}/dist/${n}/${r}`)).arrayBuffer();if(!a)return;let o=(0,Tv.join)(process.cwd(),"modules",t,"dist",n);await Mn(o,a,r)}async installFromUrl(t,r,n){let a=await(await Aa(t)).arrayBuffer();if(!a)return;let o=(0,Tv.join)(process.cwd(),"modules",r,"dist","libs");await Mn(o,a,n)}};function Zs(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function r6e(e,t){let r=Zs(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function n6e(e){return e.reduce((t,r)=>{let n=r.indexOf("="),i=r.slice(0,n),a=r.slice(n+1,r.length);return r.includes("=")&&r.startsWith("--")&&a?t.concat(i,a):t.concat(r)},[])}function i6e(e,t){let r=Zs(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function is(e,t){let r=Zs(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var s6e=require("fs/promises"),oU={I3S:"I3S",_3DTILES:"3DTILES"};async function ZIt(){let[,,...e]=process.argv;e.length===0&&sU();let t=n6e(e),r=tPt(t);if(r.installDependencies){new rD().install("deps");return}if(r.addHash){let i=a6e(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await nD.default.prompt([{name:"isNewFileRequired",type:"list",message:"What would you like to do?",choices:[{name:"Add hash file to the current SLPK file",value:!1},{name:`Create a new file ${s}-hash.slpk with hash file inside`,value:!0}]}])).isNewFileRequired&&(a=`${s}-hash.slpk`)}else a=i.output;a!==i.tileset&&await(0,s6e.copyFile)(i.tileset,a);let o=await T1(nc(new so(a)));await eq(a,o,"@specialIndexFileHASH128@");return}let n=a6e(r);await ePt(n)}ZIt().catch(e=>{console.log(e),process.exit(1)});function sU(){console.log("cli: converter 3dTiles to I3S or I3S to 3dTiles..."),console.log('--install-dependencies [Run the script for installing dependencies. Run this options separate from others. Now "*.pgm" file installation is implemented]'),console.log("--max-depth [Maximal depth of hierarchical tiles tree traversal, default: infinite]"),console.log("--name [Tileset name]"),console.log('--output [Output folder, default: "data" folder]'),console.log("--instant-node-writing [Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduce memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent to merge similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [Generate slpk (Scene Layer Packages) I3S output file]"),console.log("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log('--7zExe [location of 7z.exe archiver to create slpk on Windows, default: "C:\\Program Files\\7-Zip\\7z.exe"]'),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"'),console.log("--token [Token for Cesium ION tilesets authentication]"),console.log("--no-draco [Disable draco compression for geometry]"),console.log("--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]"),console.log("--generate-bounding-volumes [Generate obb and mbs bounding volumes from geometry]"),console.log("--analyze [Analyze the input tileset content without conversion, default: false]"),console.log('--metadata-class [One of the list of feature metadata classes, detected by converter on "analyze" stage, default: not set]'),console.log("--validate [Enable validation]"),console.log("--quiet [Skip all prompts that stop conversion and wait for a user input: default: false]"),process.exit(0)}async function ePt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case oU.I3S:await new Sv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:nD.default});break;case oU._3DTILES:await new wv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,slpk:e.slpk,sevenZipExe:e.sevenZipExe,egmFilePath:e.egm,token:e.token,draco:e.draco,mergeMaterials:e.mergeMaterials,generateTextures:e.generateTextures,generateBoundingVolumes:e.generateBoundingVolumes,validate:e.validate,instantNodeWriting:e.instantNodeWriting,metadataClass:e.metadataClass,analyze:e.analyze,inquirer:e.quiet?void 0:nD.default});break;default:sU()}}function a6e(e,t){let r={name:{getMessage:()=>console.log("Missed: --name [Tileset name]"),condition:i=>t||Boolean(i)||Boolean(e.analyze)},output:{getMessage:()=>console.log("Missed: --output [Output path name]")},sevenZipExe:{getMessage:()=>console.log("Missed: --7zExe [7z archiver executable path]")},egm:{getMessage:()=>console.log("Missed: --egm [*.pgm earth gravity model file path]")},tileset:{getMessage:()=>console.log("Missed: --tileset [tileset.json file]")},inputType:{getMessage:()=>console.log("Missed/Incorrect: --input-type [tileset input type: I3S or 3DTILES]"),condition:i=>t||Boolean(i)&&Object.values(oU).includes(i.toUpperCase())}},n=[];for(let i in r){let a=e[i],o=r[i].condition;(o?o(a):a)||n.push(r[i].getMessage)}return n.length&&(n.forEach(i=>i()),process.exit(1)),e}function tPt(e){let t={output:"data",instantNodeWriting:!1,mergeMaterials:!0,sevenZipExe:"C:\\Program Files\\7-Zip\\7z.exe",egm:(0,o6e.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,slpk:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=Zs(n,e);break;case"--tileset":t.tileset=r6e(n,e);break;case"--name":t.name=Zs(n,e);break;case"--output":t.output=Zs(n,e);break;case"--instant-node-writing":t.instantNodeWriting=is(n,e);break;case"--split-nodes":t.mergeMaterials=is(n,e);break;case"--max-depth":t.maxDepth=i6e(n,e);break;case"--slpk":t.slpk=is(n,e);break;case"--add-hash":t.addHash=is(n,e);break;case"--7zExe":t.sevenZipExe=Zs(n,e);break;case"--egm":t.egm=Zs(n,e);break;case"--token":t.token=Zs(n,e);break;case"--no-draco":t.draco=is(n,e);break;case"--validate":t.validate=is(n,e);break;case"--install-dependencies":t.installDependencies=is(n,e);break;case"--generate-textures":t.generateTextures=is(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=is(n,e);break;case"--analyze":t.analyze=is(n,e);break;case"--quiet":t.quiet=is(n,e);break;case"--metadata-class":t.metadataClass=Zs(n,e);break;case"--help":sU();break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
|
|
171
|
+
`).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}var Nee={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},f0=class{id;props={...Nee};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Nee,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await qee(t.port)),r.push(t.portArg,String(this.port))),await new Promise((n,i)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),n({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=Uee.spawn(t.command,r,t.spawn);this.childProcess=a,a.stdout.on("data",o=>{console.log(o.toString())}),a.stderr.on("data",o=>{console.log(`Child process wrote to stderr: "${o}".`),t.ignoreStderr||(this._clearTimeout(),i(new Error(o)))}),a.on("error",o=>{console.log(`Child process errored with ${o}`),this._clearTimeout(),i(o)}),a.on("close",o=>{console.log(`Child process exited with ${o}`),this.childProcess=null,this._clearTimeout(),n({})})}catch(a){i(a)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};function N5(e,t){return!la.isSupported()||!_i&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}async function U5(e,t,r,n,i){let a=e.id,o=$b(e,r),u=la.getWorkerFarm(r).getWorkerPool({name:a,url:o});r=JSON.parse(JSON.stringify(r)),n=JSON.parse(JSON.stringify(n||{}));let c=await u.startJob("process-on-worker",gMe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function gMe(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{let s=await e(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function G5(e,t){return!la.isSupported()||!jr&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}function zee(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Gee(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Gee(e,0,t):""}function Gee(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function z5(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${zee(e)}"`)}}function Su(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),i=new Uint8Array(t);for(let a=0;a<n.length;++a)if(n[a]!==i[a])return!1;return!0}function Pn(...e){return Dw(e)}function Dw(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function ao(...e){let t=e,r=t&&t.length>1&&t[0].constructor||null;if(!r)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let n=t.reduce((o,s)=>o+s.length,0),i=new r(n),a=0;for(let o of t)i.set(o,a),a+=o.length;return i}function zp(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 oo(e,t){return jt(e>=0),jt(t>0),e+(t-1)&~(t-1)}function H5(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let i=e.byteOffset,a=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(n,r),r+oo(n.byteLength,4)}function W5(e,t){let r=e.length,i=Math.ceil(r/t)*t-r,a="";for(let o=0;o<i;++o)a+=" ";return e+a}function p0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function Kb(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function Fw(e,t,r,n){let i=oo(r.byteLength,n),a=i-r.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),s=new Uint8Array(r);o.set(s);for(let u=0;u<a;++u)e.setUint8(t+r.byteLength+u,32)}return t+=i,t}function d0(e,t,r,n){let a=new TextEncoder().encode(r);return t=Fw(e,t,a,n),t}async function Hp(e){let t=[];for await(let r of e)t.push(r);return Pn(...t)}function Zl(e){return Zl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zl(e)}function $5(e,t){if(Zl(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Zl(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function V5(e){var t=$5(e,"string");return Zl(t)==="symbol"?t:String(t)}function At(e,t,r){return t=V5(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var vMe="",Hee={};function Tu(e){for(let t in Hee)if(e.startsWith(t)){let r=Hee[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${vMe}${e}`),e}var bMe="4.2.0-alpha.4",K5={name:"JSON",id:"json",module:"json",version:bMe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Wee,parse:async e=>Wee(new TextDecoder().decode(e)),options:{}};function Wee(e){return JSON.parse(e)}function $ee(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function Vee(e){return e&&typeof e=="object"&&e.isBuffer}function Fc(e){if(Vee(e))return $ee(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 h0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var qa={};Pi(qa,{dirname:()=>_Me,filename:()=>yMe,join:()=>wMe,resolve:()=>EMe});function Kee(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)==null?void 0:t.pathname;return(e==null?void 0:e.slice(0,e.lastIndexOf("/")+1))||""}function yMe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function _Me(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function wMe(...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 EMe(...e){let t=[];for(let a=0;a<e.length;a++)t[a]=e[a];let r="",n=!1,i;for(let a=t.length-1;a>=-1&&!n;a--){let o;a>=0?o=t[a]:(i===void 0&&(i=Kee()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Jb)}return r=AMe(r,!n),n?`/${r}`:r.length>0?r:"."}var Jb=47,J5=46;function AMe(e,t){let r="",n=-1,i=0,a,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else{if(a===Jb)break;a=Jb}if(a===Jb){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==J5||r.charCodeAt(r.length-2)!==J5){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Jb;--c);if(c!==u){r=c===-1?"":r.slice(0,c),n=s,i=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=s,i=0,o=!1;continue}}t&&(r.length>0?r+="/..":r="..",o=!0)}else{let u=e.slice(n+1,s);r.length>0?r+=`/${u}`:r=u,o=!1}n=s,i=0}else a===J5&&i!==-1?++i:i=-1}return r}var Xb=new Error("Not implemented"),kc=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){var i;if((i=globalThis.loaders)!=null&&i.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw jr?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 Xb}async write(t,r,n){throw Xb}async stat(){throw Xb}async truncate(t){throw Xb}async append(t){throw Xb}async close(){}};var m0=new Error("Not implemented"),Yb=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw jr?new Error("Can't instantiate NodeFileSystem in browser."):new Error("Can't instantiate NodeFileSystem. Make sure to import @loaders.gl/polyfills first.")}readable=!0;writable=!0;async openReadableFile(t,r){throw m0}async openWritableFile(t,r,n){throw m0}async readdir(t=".",r){throw m0}async stat(t,r){throw m0}async unlink(t){throw m0}async fetch(t,r){throw m0}};var X5=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var so=class{file;constructor(t,r=!1){this.file=new kc(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 i=Number(n);return await this.file.read(t,i)}get length(){return this.file.bigsize}};var Bc=Pt(require("fs"),1),Wp=class{handle;size;bigsize;url;constructor(t,r,n){t=Tu(t),this.handle=Bc.default.openSync(t,r,n);let i=Bc.default.fstatSync(this.handle,{bigint:!0});this.size=Number(i.size),this.bigsize=i.size,this.url=t}async close(){return new Promise((t,r)=>{Bc.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{Bc.default.ftruncate(this.handle,t,i=>{i?n(i):(this.bigsize=BigInt(t),this.size=Number(this.bigsize),r())})})}async append(t){return new Promise((r,n)=>{Bc.default.appendFile(this.handle,t,i=>{i?n(i):(this.bigsize=this.bigsize+BigInt(t.length),this.size=Number(this.bigsize),r())})})}async stat(){return await new Promise((t,r)=>Bc.default.fstat(this.handle,{bigint:!0},(n,i)=>{let a={size:Number(i.size),bigsize:i.size,isDirectory:i.isDirectory()};n?r(n):t(a)}))}async read(t,r){let n=new ArrayBuffer(r),i=BigInt(t),a=0,o=new Uint8Array(n),s;for(;r>0;){let u=await TMe(this.handle,o,0,r,i);if(u===0)break;a+=u,i+=BigInt(u),r-=u,s!==void 0&&(s+=u)}return a<r?n.slice(0,a):n}async write(t,r=0,n=t.byteLength){return new Promise((i,a)=>{let o=Number(r),s=new Uint8Array(t,Number(r),n);Bc.default.write(this.handle,s,0,n,o,(u,c)=>u?a(u):i(c))})}};async function TMe(e,t,r,n,i){return await new Promise((a,o)=>Bc.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var Pw=Pt(require("fs/promises"),1);var Q5=Pt(require("fs"),1),Y5=require("stream");var kw=Pt(require("zlib"),1),CMe=e=>e&&e instanceof ArrayBuffer,DMe=e=>e&&e instanceof Buffer;function Bw(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(kw.default.createBrotliDecompress());case"gzip":return e.pipe(kw.default.createGunzip());case"deflate":return e.pipe(kw.default.createDeflate());default:return e}}async function Jee(e){let t=[];return await new Promise((r,n)=>{e.on("error",i=>n(i)),e.on("readable",()=>e.read()),e.on("data",i=>{typeof i=="string"&&n(new Error("Read stream not binary")),t.push(kMe(i))}),e.on("end",()=>{let i=FMe(t);r(i)})})}function FMe(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function kMe(e){if(CMe(e))return e;if(DMe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;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(${JSON.stringify(e,null,2).slice(10)})`)}var BMe=e=>typeof e=="boolean",Xee=e=>typeof e=="function",IMe=e=>e!==null&&typeof e=="object",PMe=e=>IMe(e)&&Xee(e.read)&&Xee(e.pipe)&&BMe(e.readable);async function Iw(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=Tu(n);let i=new Headers;e.endsWith(".gz")&&(i["content-encoding"]="gzip"),e.endsWith(".br")&&(i["content-encoding"]="br");try{let a=await new Promise((f,p)=>{let d=Q5.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",m=>p(m))}),o=a;PMe(a)?o=Bw(a,i):typeof a=="string"?o=Y5.Readable.from([new TextEncoder().encode(a)]):o=Y5.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=OMe(n),l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}catch(a){let o=a.message,s=400,u=o,c={},l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}}function OMe(e){let t={};if(!t["content-length"]){let r=Q5.default.statSync(e);t["content-length"]=r.size}return e.endsWith(".gz")&&(e=e.slice(0,-3),t["content-encoding"]="gzip"),new Headers(t)}var Ow=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await Pw.default.readdir(t,r)}async stat(t){let r=await Pw.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await Pw.default.unlink(t)}async fetch(t,r){return await Iw(t,r)}async openReadableFile(t,r="r"){return new Wp(t,r)}async openWritableFile(t,r="w",n){return new Wp(t,r,n)}};var Ic=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){var o,s;let n=[];for await(let u of t)n.push(u),yield u;let i=await this.concatenate(n),a=await this.hash(i,r);(s=(o=this.options.crypto)==null?void 0:o.onEnd)==null||s.call(o,{hash:a})}async concatenate(t){return await Hp(t)}};var g0=class{crc;constructor(){this.crc=-1}update(t){let r=RMe(),n=new Uint8Array(t);for(let i=0;i<n.byteLength;i++)this.crc=this.crc>>>8^r[(this.crc^n[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},jMe=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function RMe(){return jMe}function Yee(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 i=0;i<n.length;i++)typeof n[i]>"u"?t+="=":t+=MMe(n[i])}return t}function MMe(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 Z5(e,t){switch(t){case"hex":return Qee(e);case"base64":return ete(Qee(e));default:throw new Error(t)}}function Zee(e,t){switch(t){case"hex":return e;case"base64":return ete(e);default:throw new Error(t)}}function ete(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Yee(r)||""}function Qee(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var Qb=class extends Ic{name="crc32";options;constructor(t={}){super(),this.options={crypto:{},...t},this.hashBatches=this.hashBatches.bind(this)}async hash(t,r){return this.hashSync(t,r)}hashSync(t,r){let n=new g0;n.update(t);let i=n.finalize();return Z5(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new g0;for await(let s of t)n.update(s),yield s;let i=n.finalize();(o=(a=this.options.crypto)==null?void 0:a.onEnd)==null||o.call(a,{hash:Z5(i,r)})}};var rte=typeof atob=="function"?atob:typeof Buffer=="function"?HMe:ite,LMe=rte("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"),eB=WebAssembly&&rte!==ite?zMe(LMe).buffer:!1,Cu=WMe(),tB=240*16*16,nte=Math.floor(tB*16*1.066666667),qMe=268435456-65536,tte="Parameter must be Buffer, ArrayBuffer or Uint8Array",NMe="Parameter exceeds max size of 255.9 Mbytes";eB||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function rB(e){var t,r,n,i,a,o,s,u,c,l;let f=GMe(),p=UMe(),d={},m=new Date().getTime();return d.then=function(w){return s=w,v(),d},d.catch=function(w){return u=w,d},e&&typeof e=="object"?typeof Buffer=="function"&&e.constructor===Buffer?o=e:e.constructor===Uint8Array||e.constructor===ArrayBuffer?o=e.constructor===ArrayBuffer?new Uint8Array(e):e:y(new TypeError(tte)):y(new TypeError(tte)),o&&(a=o.length,eB&&a>nte?a>qMe?y(new Error(NMe)):(t=new WebAssembly.Memory({initial:a>32e6?a>64e6?a>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),i={mem:t,log:console.log},n={imports:i},WebAssembly.instantiate(eB,n).then(g)):v(f(o))),d;function g(w){v(p(o,w.instance.exports,r))}function v(w){var A=Boolean(w)?w:c;Boolean(w)&&(l=new Date().getTime()),typeof s=="function"?Boolean(A)&&(s(A,l-m),s=u=null):Boolean(w)&&(c=w)}function y(w){typeof u=="function"&&u(w)}}function UMe(){var e,t,r,n,i,a,o,s,u,c,l,f,p,d=function(m){var g,v,y,w,A,C,T,B,j,U,I,R,M,z,W,X,te,ee,ye,he,ve,Ee,qe=new Date().getTime(),Le=0,Z=1732584193,H=-271733879,Q=-1732584194,re=271733878,Pe=0,Xe=m.length*8,nt;for(nt=Ae(m,p),p[Xe>>>5]|=128<<Xe%32,p[(Xe+64>>>9<<4)+14]=Xe,nt=(Xe+64>>>9<<4)+15,ve=p;Pe<nt;)nt>Pe+nte?(n(Z),a(H),s(Q),c(re),t(tB),Pe=Pe+tB*16,Z=r(),H=i(),Q=o(),re=u(),Le++):(te=Z,ee=H,ye=Q,he=re,g=ve[Pe+0]>>>0,v=ve[Pe+1]>>>0,y=ve[Pe+2]>>>0,w=ve[Pe+3]>>>0,A=ve[Pe+4]>>>0,C=ve[Pe+5]>>>0,T=ve[Pe+6]>>>0,B=ve[Pe+7]>>>0,j=ve[Pe+8]>>>0,U=ve[Pe+9]>>>0,I=ve[Pe+10]>>>0,R=ve[Pe+11]>>>0,M=ve[Pe+12]>>>0,z=ve[Pe+13]>>>0,W=ve[Pe+14]>>>0,X=ve[Pe+15]>>>0,Z=ce(7,25,Z+(H&Q|~H&re)+g-680876936)+H,re=ce(12,20,re+(Z&H|~Z&Q)+v-389564586)+Z,Q=ce(17,15,Q+(re&Z|~re&H)+y+606105819)+re,H=ce(22,10,H+(Q&re|~Q&Z)+w-1044525330)+Q,Z=ce(7,25,Z+(H&Q|~H&re)+A-176418897)+H,re=ce(12,20,re+(Z&H|~Z&Q)+C+1200080426)+Z,Q=ce(17,15,Q+(re&Z|~re&H)+T-1473231341)+re,H=ce(22,10,H+(Q&re|~Q&Z)+B-45705983)+Q,Z=ce(7,25,Z+(H&Q|~H&re)+j+1770035416)+H,re=ce(12,20,re+(Z&H|~Z&Q)+U-1958414417)+Z,Q=ce(17,15,Q+(re&Z|~re&H)+I-42063)+re,H=ce(22,10,H+(Q&re|~Q&Z)+R-1990404162)+Q,Z=ce(7,25,Z+(H&Q|~H&re)+M+1804603682)+H,re=ce(12,20,re+(Z&H|~Z&Q)+z-40341101)+Z,Q=ce(17,15,Q+(re&Z|~re&H)+W-1502002290)+re,H=ce(22,10,H+(Q&re|~Q&Z)+X+1236535329)+Q,Z=ce(5,27,Z+(H&re|Q&~re)+v-165796510)+H,re=ce(9,23,re+(Z&Q|H&~Q)+T-1069501632)+Z,Q=ce(14,18,Q+(re&H|Z&~H)+R+643717713)+re,H=ce(20,12,H+(Q&Z|re&~Z)+g-373897302)+Q,Z=ce(5,27,Z+(H&re|Q&~re)+C-701558691)+H,re=ce(9,23,re+(Z&Q|H&~Q)+I+38016083)+Z,Q=ce(14,18,Q+(re&H|Z&~H)+X-660478335)+re,H=ce(20,12,H+(Q&Z|re&~Z)+A-405537848)+Q,Z=ce(5,27,Z+(H&re|Q&~re)+U+568446438)+H,re=ce(9,23,re+(Z&Q|H&~Q)+W-1019803690)+Z,Q=ce(14,18,Q+(re&H|Z&~H)+w-187363961)+re,H=ce(20,12,H+(Q&Z|re&~Z)+j+1163531501)+Q,Z=ce(5,27,Z+(H&re|Q&~re)+z-1444681467)+H,re=ce(9,23,re+(Z&Q|H&~Q)+y-51403784)+Z,Q=ce(14,18,Q+(re&H|Z&~H)+B+1735328473)+re,H=ce(20,12,H+(Q&Z|re&~Z)+M-1926607734)+Q,Z=ce(4,28,Z+(H^Q^re)+C-378558)+H,re=ce(11,21,re+(Z^H^Q)+j-2022574463)+Z,Q=ce(16,16,Q+(re^Z^H)+R+1839030562)+re,H=ce(23,9,H+(Q^re^Z)+W-35309556)+Q,Z=ce(4,28,Z+(H^Q^re)+v-1530992060)+H,re=ce(11,21,re+(Z^H^Q)+A+1272893353)+Z,Q=ce(16,16,Q+(re^Z^H)+B-155497632)+re,H=ce(23,9,H+(Q^re^Z)+I-1094730640)+Q,Z=ce(4,28,Z+(H^Q^re)+z+681279174)+H,re=ce(11,21,re+(Z^H^Q)+g-358537222)+Z,Q=ce(16,16,Q+(re^Z^H)+w-722521979)+re,H=ce(23,9,H+(Q^re^Z)+T+76029189)+Q,Z=ce(4,28,Z+(H^Q^re)+U-640364487)+H,re=ce(11,21,re+(Z^H^Q)+M-421815835)+Z,Q=ce(16,16,Q+(re^Z^H)+X+530742520)+re,H=ce(23,9,H+(Q^re^Z)+y-995338651)+Q,Z=ce(6,26,Z+(Q^(H|~re))+g-198630844)+H,re=ce(10,22,re+(H^(Z|~Q))+B+1126891415)+Z,Q=ce(15,17,Q+(Z^(re|~H))+W-1416354905)+re,H=ce(21,11,H+(re^(Q|~Z))+C-57434055)+Q,Z=ce(6,26,Z+(Q^(H|~re))+M+1700485571)+H,re=ce(10,22,re+(H^(Z|~Q))+w-1894986606)+Z,Q=ce(15,17,Q+(Z^(re|~H))+I-1051523)+re,H=ce(21,11,H+(re^(Q|~Z))+v-2054922799)+Q,Z=ce(6,26,Z+(Q^(H|~re))+j+1873313359)+H,re=ce(10,22,re+(H^(Z|~Q))+X-30611744)+Z,Q=ce(15,17,Q+(Z^(re|~H))+T-1560198380)+re,H=ce(21,11,H+(re^(Q|~Z))+z+1309151649)+Q,Z=ce(6,26,Z+(Q^(H|~re))+A-145523070)+H,re=ce(10,22,re+(H^(Z|~Q))+R-1120210379)+Z,Q=ce(15,17,Q+(Z^(re|~H))+y+718787259)+re,H=ce(21,11,H+(re^(Q|~Z))+U-343485551)+Q,Pe=Pe+16,Z=Z+te>>>0,H=H+ee>>>0,Q=Q+ye>>>0,re=re+he>>>0);return Cu.endian([Z,H,Q,re]);function ce(_e,st,Be){return Be<<_e|Be>>>st}function Ae(_e,st){for(var Be=-1,lt=Math.floor((_e.length-1)/4),Tt=0,pr,se,Ne,Qe;lt-8>Be++;)Tt=Be<<2,st[Be]=_e[Tt+0]|_e[Tt+1]<<8|_e[Tt+2]<<16|_e[Tt+3]<<24;for(Be--;lt>Be++;)Tt=Be<<2,pr=typeof _e[Tt+0]>"u"?0:_e[Tt+0],se=typeof _e[Tt+1]>"u"?0:_e[Tt+1],Ne=typeof _e[Tt+2]>"u"?0:_e[Tt+2],Qe=typeof _e[Tt+3]>"u"?0:_e[Tt+3],st[Be]=pr|se<<8|Ne<<16|Qe<<24;return lt+1}};return function(m,g,v,y){var w;return t=g.loops,e=g.loop,r=g.getA,i=g.getB,o=g.getC,u=g.getD,l=g.getX,n=g.setA,a=g.setB,s=g.setC,c=g.setD,f=g.setX,p=v,w=Cu.wordsToBytes(d(m)),y&&y.asBytes?w:Cu.bytesconvertNumberToHex(w)}}function GMe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,p,d,m,g,v,y,w,A,C,T,B,j,U=new Date().getTime(),I=1732584193,R=-271733879,M=-1732584194,z=271733878,W=t.length*8;j=Cu.bytesToWords(t);for(var X=0;X<j.length;X++)j[X]=(j[X]<<8|j[X]>>>24)&16711935|(j[X]<<24|j[X]>>>8)&4278255360;j[W>>>5]|=128<<W%32,j[(W+64>>>9<<4)+14]=W;for(var te=0;te<j.length;te+=16)A=I,C=R,T=M,B=z,n=j[te+0]>>>0,i=j[te+1]>>>0,a=j[te+2]>>>0,o=j[te+3]>>>0,s=j[te+4]>>>0,u=j[te+5]>>>0,c=j[te+6]>>>0,l=j[te+7]>>>0,f=j[te+8]>>>0,p=j[te+9]>>>0,d=j[te+10]>>>0,m=j[te+11]>>>0,g=j[te+12]>>>0,v=j[te+13]>>>0,y=j[te+14]>>>0,w=j[te+15]>>>0,I=ee(7,25,I+(R&M|~R&z)+n-680876936)+R,z=ee(12,20,z+(I&R|~I&M)+i-389564586)+I,M=ee(17,15,M+(z&I|~z&R)+a+606105819)+z,R=ee(22,10,R+(M&z|~M&I)+o-1044525330)+M,I=ee(7,25,I+(R&M|~R&z)+s-176418897)+R,z=ee(12,20,z+(I&R|~I&M)+u+1200080426)+I,M=ee(17,15,M+(z&I|~z&R)+c-1473231341)+z,R=ee(22,10,R+(M&z|~M&I)+l-45705983)+M,I=ee(7,25,I+(R&M|~R&z)+f+1770035416)+R,z=ee(12,20,z+(I&R|~I&M)+p-1958414417)+I,M=ee(17,15,M+(z&I|~z&R)+d-42063)+z,R=ee(22,10,R+(M&z|~M&I)+m-1990404162)+M,I=ee(7,25,I+(R&M|~R&z)+g+1804603682)+R,z=ee(12,20,z+(I&R|~I&M)+v-40341101)+I,M=ee(17,15,M+(z&I|~z&R)+y-1502002290)+z,R=ee(22,10,R+(M&z|~M&I)+w+1236535329)+M,I=ee(5,27,I+(R&z|M&~z)+i-165796510)+R,z=ee(9,23,z+(I&M|R&~M)+c-1069501632)+I,M=ee(14,18,M+(z&R|I&~R)+m+643717713)+z,R=ee(20,12,R+(M&I|z&~I)+n-373897302)+M,I=ee(5,27,I+(R&z|M&~z)+u-701558691)+R,z=ee(9,23,z+(I&M|R&~M)+d+38016083)+I,M=ee(14,18,M+(z&R|I&~R)+w-660478335)+z,R=ee(20,12,R+(M&I|z&~I)+s-405537848)+M,I=ee(5,27,I+(R&z|M&~z)+p+568446438)+R,z=ee(9,23,z+(I&M|R&~M)+y-1019803690)+I,M=ee(14,18,M+(z&R|I&~R)+o-187363961)+z,R=ee(20,12,R+(M&I|z&~I)+f+1163531501)+M,I=ee(5,27,I+(R&z|M&~z)+v-1444681467)+R,z=ee(9,23,z+(I&M|R&~M)+a-51403784)+I,M=ee(14,18,M+(z&R|I&~R)+l+1735328473)+z,R=ee(20,12,R+(M&I|z&~I)+g-1926607734)+M,I=ee(4,28,I+(R^M^z)+u-378558)+R,z=ee(11,21,z+(I^R^M)+f-2022574463)+I,M=ee(16,16,M+(z^I^R)+m+1839030562)+z,R=ee(23,9,R+(M^z^I)+y-35309556)+M,I=ee(4,28,I+(R^M^z)+i-1530992060)+R,z=ee(11,21,z+(I^R^M)+s+1272893353)+I,M=ee(16,16,M+(z^I^R)+l-155497632)+z,R=ee(23,9,R+(M^z^I)+d-1094730640)+M,I=ee(4,28,I+(R^M^z)+v+681279174)+R,z=ee(11,21,z+(I^R^M)+n-358537222)+I,M=ee(16,16,M+(z^I^R)+o-722521979)+z,R=ee(23,9,R+(M^z^I)+c+76029189)+M,I=ee(4,28,I+(R^M^z)+p-640364487)+R,z=ee(11,21,z+(I^R^M)+g-421815835)+I,M=ee(16,16,M+(z^I^R)+w+530742520)+z,R=ee(23,9,R+(M^z^I)+a-995338651)+M,I=ee(6,26,I+(M^(R|~z))+n-198630844)+R,z=ee(10,22,z+(R^(I|~M))+l+1126891415)+I,M=ee(15,17,M+(I^(z|~R))+y-1416354905)+z,R=ee(21,11,R+(z^(M|~I))+u-57434055)+M,I=ee(6,26,I+(M^(R|~z))+g+1700485571)+R,z=ee(10,22,z+(R^(I|~M))+o-1894986606)+I,M=ee(15,17,M+(I^(z|~R))+d-1051523)+z,R=ee(21,11,R+(z^(M|~I))+i-2054922799)+M,I=ee(6,26,I+(M^(R|~z))+f+1873313359)+R,z=ee(10,22,z+(R^(I|~M))+w-30611744)+I,M=ee(15,17,M+(I^(z|~R))+c-1560198380)+z,R=ee(21,11,R+(z^(M|~I))+v+1309151649)+M,I=ee(6,26,I+(M^(R|~z))+s-145523070)+R,z=ee(10,22,z+(R^(I|~M))+m-1120210379)+I,M=ee(15,17,M+(I^(z|~R))+a+718787259)+z,R=ee(21,11,R+(z^(M|~I))+p-343485551)+M,I=I+A>>>0,R=R+C>>>0,M=M+T>>>0,z=z+B>>>0;return Cu.endian([I,R,M,z]);function ee(ye,he,ve){return ve<<ye|ve>>>he}};return function(t,r){var n=Cu.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:Cu.bytesconvertNumberToHex(n);return i}}function zMe(e){var t,r,n,i=-1;for(t=e.length-1,r=new ArrayBuffer(e.length),n=new Uint8Array(r);t>i++;)n[i]=e.charCodeAt(i);return n}function HMe(e){return Buffer.from(e,"base64").toString("binary")}function ite(e){return e}function WMe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return Cu.rotl(t,8)&16711935|Cu.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=Cu.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,i=0;n<t.length;n++,i+=8)r[i>>>5]|=t[n]<<24-i%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 Du=class extends Ic{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>rB(t).then(a).catch(o));return Zee(i,r)}};var Zb=Pt(require("crypto"),1),jw=class extends Ic{name="crypto-node";options;_algorithm;_hash;constructor(t){var r,n;if(super(),this.options=t,!((n=(r=this.options)==null?void 0:r.crypto)!=null&&n.algorithm))throw new Error(this.name)}async hash(t,r){var i,a,o,s;let n=(o=(a=(i=this.options)==null?void 0:i.crypto)==null?void 0:a.algorithm)==null?void 0:o.toLowerCase();try{if(!Zb.createHash)throw new Error("crypto.createHash not available");let u=(s=Zb.createHash)==null?void 0:s(n),c=new Uint8Array(t);return u.update(c).digest("base64")}catch(u){throw Error(`${n} hash not available. ${u}`)}}async*hashBatches(t,r="base64"){var a,o,s,u,c,l,f;if(!Zb.createHash)throw new Error("crypto.createHash not available");let n=(u=Zb.createHash)==null?void 0:u((s=(o=(a=this.options)==null?void 0:a.crypto)==null?void 0:o.algorithm)==null?void 0:s.toLowerCase());for await(let p of t){let d=new Uint8Array(p);n.update(d),yield p}let i=n.digest(r);(f=(l=(c=this.options)==null?void 0:c.crypto)==null?void 0:l.onEnd)==null||f.call(l,{hash:i})}};var xte=require("process");var ate=Pt(require("stream"),1),nB=class{},$Me=ate.Readable||nB;function aB(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new iB(r,t)}var iB=class extends $Me{_pulling;_bytesMode;_iterator;constructor(t,r){super(r),this._iterator=t,this._pulling=!1,this._bytesMode=!r||!r.objectMode}async _read(t){this._pulling||(this._pulling=!0,this._pulling=await this._pull(t,this._iterator))}async _destroy(t,r){var n,i,a,o;this._iterator&&(t?await((i=(n=this._iterator)==null?void 0:n.throw)==null?void 0:i.call(n,t)):await((o=(a=this._iterator)==null?void 0:a.return)==null?void 0:o.call(a,t)),r==null||r(null))}async _pull(t,r){var a;let n=this._bytesMode,i=null;for(;this.readable&&!(i=await r.next()).done&&(t!==null&&(t-=n&&ArrayBuffer.isView(i.value)?i.value.byteLength:1),!(!this.push(new Uint8Array(i.value))||t<=0)););return(i!=null&&i.done||!this.readable)&&(this.push(null)||!0)&&((a=r==null?void 0:r.return)==null||a.call(r)),!this.readable}};var ute=Pt(ste(),1);delete globalThis.ReadableStream;var Mw=class extends ute.ReadableStream{};var Lw=class{chunks;isWorking=!1;isCancelled=!1;constructor(t){this.chunks=t}start(t){this.work(t)}async work(t){let{chunks:r}=this;for(this.isWorking=!0;!this.isCancelled&&(t.desiredSize||0)>0;){let n;try{n=r.next()}catch(i){t.error(i);break}n&&(!n.done&&!this.isCancelled?t.enqueue(n.value):t.close())}this.isWorking=!1}pull(t){this.isWorking||this.work(t)}cancel(){this.isCancelled=!0}};var qw=class extends Mw{_chunks;constructor(t){super(new Lw(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var $p=class{type;size;parts;constructor(t=[],r={}){this.parts=[],this.size=0;for(let n of t)if(typeof n=="string"){let i=new TextEncoder().encode(n);this.parts.push(i),this.size+=i.byteLength}else if(n instanceof $p)this.size+=n.size,this.parts.push(...n.parts);else if(n instanceof ArrayBuffer)this.parts.push(new Uint8Array(n)),this.size+=n.byteLength;else if(n instanceof Uint8Array)this.parts.push(n),this.size+=n.byteLength;else if(ArrayBuffer.isView(n)){let{buffer:i,byteOffset:a,byteLength:o}=n;this.parts.push(new Uint8Array(i,a,o)),this.size+=o}else{let i=new TextEncoder().encode(String(n));this.parts.push(i),this.size+=i.byteLength}this.type=VMe(r.type)}slice(t=0,r=this.size,n=""){let{size:i,parts:a}=this,o=t<0?Math.max(i+t,0):Math.min(t,i),s=r<0?Math.max(i+r,0):Math.min(r,i),u=Math.max(s-o,0),c=new $p([],{type:n});if(u===0)return c;let l=0,f=[];for(let p of a){let{byteLength:d}=p;if(o>0&&d<=o)o-=d,s-=d;else{let m=p.subarray(o,Math.min(d,s));if(f.push(m),l+=m.byteLength,o=0,l>=u)break}}return c.parts=f,c.size=l,c}async arrayBuffer(){return this._toArrayBuffer()}async text(){let t=new TextDecoder,r="";for(let n of this.parts)r+=t.decode(n);return r}stream(){return new qw(this.parts)}toString(){return"[object Blob]"}get[Symbol.toStringTag](){return"Blob"}_toArrayBuffer(){let t=new ArrayBuffer(this.size),r=new Uint8Array(t),n=0;for(let i of this.parts)r.set(i,n),n+=i.byteLength;return t}};function VMe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function KMe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=$p),globalThis.Blob}var JMe=KMe();var Nw=class{onload;onabort;onerror;error;onloadstart;onloadend;onprogress;readyState;result;DONE;EMPTY;LOADING;addEventListener;removeEventListener;dispatchEvent;constructor(){this.onload=null}abort(){}async readAsArrayBuffer(t){let r=await t.arrayBuffer();this.onload&&this.onload({target:{result:r}})}async readAsBinaryString(t){throw Error("Not implemented")}async readAsDataURL(t){let r=await t.text(),n=`data://;base64,${Mv(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var Uw=class extends globalThis.Blob{name="";webkitRelativePath="";lastModified;constructor(t,r,n={}){super(t,n),this.name=String(r).replace(/\//g,":"),this.lastModified=(n==null?void 0:n.lastModified)||Date.now()}get[Symbol.toStringTag](){return"File"}};function cte(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=Nw),typeof File>"u"&&!globalThis.File&&(globalThis.File=Uw),global}var XMe=cte();var oB=Pt(require("module"),1),lte=Pt(require("path"),1),zw=Pt(require("fs"),1);async function fte(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():zw.default.readFileSync(e).buffer}async function pte(e){return e.startsWith("http")?await(await fetch(e)).text():zw.default.readFileSync(e,"utf8")}async function dte(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return Gw(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=await zw.default.readFileSync(e,"utf8");return Gw(t)}function Gw(e,t="",r){if(typeof t=="object"&&(r=t,t=""),t=t.replace("file://",""),typeof e!="string")throw new Error(`code must be a string, not ${typeof e}`);let n=oB.default._nodeModulePaths(lte.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new oB.default(t,i);return a.filename=t,a.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),a._compile(e,t),i&&i.children&&i.children.splice(i.children.indexOf(a),1),a.exports}var As=class{map;constructor(t){this.map={},t instanceof As?t.forEach((r,n)=>this.append(n,r)):Array.isArray(t)?t.forEach(r=>this.append(r[0],r[1])):t&&Object.getOwnPropertyNames(t).forEach(r=>this.append(r,t[r]))}append(t,r){t=ex(t),r=hte(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[ex(t)]}get(t){return t=ex(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(ex(t))}set(t,r){this.map[ex(t)]=hte(r)}forEach(t,r=null){for(let n in this.map)this.map.hasOwnProperty(n)&&(r?t.call(r,this.map[n],n,this):t(this.map[n],n,this))}keys(){let t=[];return this.forEach(function(r,n){t.push(n)}),sB(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),sB(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),sB(t)}*[Symbol.iterator](){yield*this.entries()}};function ex(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e)||e==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function hte(e){return typeof e!="string"&&(e=String(e)),e}function sB(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function uB(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var lB=Pt(require("stream"),1),YMe=e=>typeof e=="boolean",mte=e=>typeof e=="function",QMe=e=>e!==null&&typeof e=="object",cB=e=>QMe(e)&&mte(e.read)&&mte(e.pipe)&&YMe(e.readable),Pc=class{ok;status;statusText;headers;url;bodyUsed=!1;_body;constructor(t,r){let{headers:n,status:i=200,statusText:a="OK",url:o}=r||{};this.url=o,this.ok=i===200,this.status=i,this.statusText=a,this.headers=new As((r==null?void 0:r.headers)||{}),cB(t)?this._body=Bw(t,n):typeof t=="string"?this._body=lB.Readable.from([new TextEncoder().encode(t)]):this._body=lB.Readable.from([t||new ArrayBuffer(0)])}get body(){return uB(!this.bodyUsed),uB(cB(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return cB(this._body)?await Jee(this._body):this._body||new ArrayBuffer(0)}async text(){let t=await this.arrayBuffer();return new TextDecoder().decode(t)}async json(){let t=await this.text();return JSON.parse(t)}async blob(){if(typeof Blob>"u")throw new Error("Blob polyfill not installed");return new Blob([await this.arrayBuffer()])}};var vte=Pt(require("http"),1),bte=Pt(require("https"),1);var ZMe=e=>e&&e instanceof ArrayBuffer,eLe=e=>e&&e instanceof Buffer;function gte(e){let t=e.indexOf(","),r,n;return e.slice(t-7,t)===";base64"?(r=Buffer.from(e.slice(t+1),"base64"),n=e.slice(5,t-7).trim()):(r=Buffer.from(decodeURIComponent(e.slice(t+1))),n=e.slice(5,t).trim()),n?n.startsWith(";")&&(n=`text/plain${n}`):n="text/plain;charset=US-ASCII",{arrayBuffer:tLe(r),mimeType:n}}function tLe(e){if(ZMe(e))return e;if(eLe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;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(${JSON.stringify(e,null,2).slice(10)})`)}var fB=e=>e.startsWith("data:"),rLe=e=>e.startsWith("http:")||e.startsWith("https:");async function tx(e,t){try{if(globalThis.fetch!==tx&&(rLe(e)||fB(e)))return await fetch(e,t);if(fB(e)){let{arrayBuffer:c,mimeType:l}=gte(e);return new Pc(c,{headers:{"content-type":l},url:e})}let r={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip");let i=await nLe(n,t),a=sLe(e,i,r),{status:o,statusText:s}=oLe(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=iLe(e,a.get("location"));return await tx(c,t)}return new Pc(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new Pc(null,{status:400,statusText:String(r),url:e})}}async function nLe(e,t){return await new Promise((r,n)=>{let i=aLe(e,t),a=e.startsWith("https:")?bte.default.request(i,o=>r(o)):vte.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function iLe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function aLe(e,t){let r=(t==null?void 0:t.headers)||{},n={};for(let a of Object.keys(r))n[a.toLowerCase()]=r[a];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let i=new URL(e);return{hostname:i.hostname,path:i.pathname,method:"GET",...t,...t==null?void 0:t.fetch,headers:n,port:i.port}}function oLe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function sLe(e,t,r={}){let n={};if(t&&t.headers){let i=t.headers;for(let a in i){let o=i[a];n[a.toLowerCase()]=String(o)}}if(!n["content-length"]){let i=uLe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new As(n)}function uLe(e){return fB(e)?e.length-5:null}var cLe=parseInt(xte.versions.node.split(".")[0]);UU&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=aB;globalThis.loaders.NodeFile=Wp;globalThis.loaders.NodeFileSystem=Ow;globalThis.loaders.fetchNode=Iw;globalThis.loaders.NodeHash=jw;globalThis.TextEncoder||(globalThis.TextEncoder=Rv);globalThis.TextDecoder||(globalThis.TextDecoder=yp);!("atob"in globalThis)&&Mv&&(globalThis.atob=Mv);!("btoa"in globalThis)&&AD&&(globalThis.btoa=AD);globalThis.loaders.encodeImageNode=HH;globalThis.loaders.parseImageNode=F5;globalThis.loaders.imageFormatsNode=D5;globalThis._parseImageNode=F5;globalThis._imageFormatsNode=D5;globalThis.loaders.readFileAsArrayBuffer=fte;globalThis.loaders.readFileAsText=pte;globalThis.loaders.requireFromFile=dte;globalThis.loaders.requireFromString=Gw;cLe<18&&(!("Headers"in globalThis)&&As&&(globalThis.Headers=As),!("Response"in globalThis)&&Pc&&(globalThis.Response=Pc),!("fetch"in globalThis)&&tx&&(globalThis.fetch=tx));var o6e=require("path"),nD=Pt(fme(),1);var hn={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var KT=class{_attributeStorageInfo;_fields;_popupInfo;constructor(){this._attributeStorageInfo=[],this._fields=[]}get attributeStorageInfo(){return this._attributeStorageInfo}get fields(){return this._fields}get popupInfo(){return this._popupInfo}addMetadataInfo(t){if(!Object.keys(t).length)return;let r={OBJECTID:hn.OBJECT_ID_TYPE,...t},n=!1,i=this._attributeStorageInfo.length;for(let a in r)if(!this._attributeStorageInfo.find(s=>s.name===a)){let s=r[a],u=this.createStorageAttribute(i,a,s),c=this.getFieldAttributeType(s),l=this.createFieldAttribute(a,c);this._attributeStorageInfo.push(u),this._fields.push(l),i+=1,n=!0}if(n){let a=[];for(let o of this._attributeStorageInfo)a.push(o.name);this._popupInfo=this.createPopupInfo(a)}}fromObject(t){this._attributeStorageInfo=t.attributeStorageInfo,this._fields=t.fields,this._popupInfo=t.popupInfo}createStorageAttribute(t,r,n){let i={key:`f_${t}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(n){case hn.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case hn.STRING_TYPE:this.setupStringAttribute(i);break;case hn.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case hn.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case hn.OBJECT_ID_TYPE:return"esriFieldTypeOID";case hn.STRING_TYPE:return"esriFieldTypeString";case hn.SHORT_INT_TYPE:return"esriFieldTypeInteger";case hn.DOUBLE_TYPE:return"esriFieldTypeDouble";default:return"esriFieldTypeString"}}setupIdAttribute(t){t.attributeValues={valueType:"Oid32",valuesPerElement:1}}setupStringAttribute(t){t.ordering.unshift("attributeByteCounts"),t.header.push({property:"attributeValuesByteCount",valueType:"UInt32"}),t.attributeValues={valueType:"String",encoding:"UTF-8",valuesPerElement:1},t.attributeByteCounts={valueType:"UInt32",valuesPerElement:1}}setupDoubleAttribute(t){t.attributeValues={valueType:"Float64",valuesPerElement:1}}createFieldAttribute(t,r){return{name:t,type:r,alias:t}}createPopupInfo(t){let r="{OBJECTID}",n=[],i=[],a=[],o=[];for(let s of t)i.push({fieldName:s,visible:!0,isEditable:!1,label:s});return a.push({fieldInfos:i,type:"fields"}),{title:r,mediaInfos:n,popupElements:a,fieldInfos:i,expressionInfos:o}}};var Gbt=e=>typeof e=="boolean",fy=e=>typeof e=="function",xd=e=>e!==null&&typeof e=="object",W9=e=>xd(e)&&e.constructor==={}.constructor;var pme=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",dme=e=>e&&typeof e[Symbol.asyncIterator]=="function";var Ro=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Mo=e=>typeof Blob<"u"&&e instanceof Blob,hme=e=>e&&typeof e=="object"&&e.isBuffer;var zbt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||xd(e)&&fy(e.tee)&&fy(e.cancel)&&fy(e.getReader);var Hbt=e=>xd(e)&&fy(e.read)&&fy(e.pipe)&&Gbt(e.readable),JT=e=>zbt(e)||Hbt(e);var Wbt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,$bt=/^([-\w.]+\/[-\w.+]+)/;function mme(e){let t=$bt.exec(e);return t?t[1]:e}function $9(e){let t=Wbt.exec(e);return t?t[1]:""}var gme=/\?.*/;function vme(e){let t=e.match(gme);return t&&t[0]}function Wm(e){return e.replace(gme,"")}function yd(e){return Ro(e)?e.url:Mo(e)?e.name||"":typeof e=="string"?e:""}function py(e){if(Ro(e)){let t=e,r=t.headers.get("content-type")||"",n=Wm(t.url);return mme(r)||$9(n)}return Mo(e)?e.type||"":typeof e=="string"?$9(e):""}function bme(e){return Ro(e)?e.headers["content-length"]||-1:Mo(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function XT(e){if(Ro(e))return e;let t={},r=bme(e);r>=0&&(t["content-length"]=String(r));let n=yd(e),i=py(e);i&&(t["content-type"]=i);let a=await Kbt(e);a&&(t["x-first-bytes"]=a),typeof e=="string"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,"url",{value:n}),o}async function xme(e){if(!e.ok){let t=await Vbt(e);throw new Error(t)}}async function Vbt(e){let t=`Failed to fetch resource ${e.url} (${e.status}): `;try{let r=e.headers.get("Content-Type"),n=e.statusText;r!=null&&r.includes("application/json")&&(n+=` ${await e.text()}`),t+=n,t=t.length>60?`${t.slice(0,60)}...`:t}catch{}return t}async function Kbt(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(n=>{let i=new FileReader;i.onload=a=>{var o;return n((o=a==null?void 0:a.target)==null?void 0:o.result)},i.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${Jbt(r)}`}return null}function Jbt(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function Xbt(e){return!Ybt(e)&&!Qbt(e)}function Ybt(e){return e.startsWith("http:")||e.startsWith("https:")}function Qbt(e){return e.startsWith("data:")}async function Aa(e,t){var r,n;if(typeof e=="string"){let i=Tu(e);return Xbt(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await XT(e)}function V9(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 Ps(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||V9()}var Zbt=globalThis.self||globalThis.window||globalThis.global,$m=globalThis.window||globalThis.self||globalThis.global,ext=globalThis.document||{},_d=globalThis.process||{},txt=globalThis.console,FXt=globalThis.navigator||{};var YT="4.2.0-alpha.4",IXt=Ps();function rxt(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var QT=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";At(this,"storage",void 0),At(this,"id",void 0),At(this,"config",void 0),this.storage=rxt(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 yme(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 _me(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 ZT(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var e3;(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"})(e3||(e3={}));var nxt=10;function wme(e){return typeof e!="string"?e:(e=e.toUpperCase(),e3[e]||e3.WHITE)}function Eme(e,t,r){if(!Ps&&typeof e=="string"){if(t){let n=wme(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=wme(r);e="\x1B[".concat(n+nxt,"m").concat(e,"\x1B[49m")}}return e}function Ame(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function Vm(e,t){if(!e)throw new Error(t||"Assertion failed")}function wd(){let e;if(Ps()&&$m.performance){var t,r;e=$m===null||$m===void 0||(t=$m.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in _d){var n;let i=_d===null||_d===void 0||(n=_d.hrtime)===null||n===void 0?void 0:n.call(_d);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var Km={debug:Ps()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},ixt={enabled:!0,level:0};function Lo(){}var Sme={},Tme={once:!0},zu=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};At(this,"id",void 0),At(this,"VERSION",YT),At(this,"_startTs",wd()),At(this,"_deltaTs",wd()),At(this,"_storage",void 0),At(this,"userData",{}),At(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this.userData={},this._storage=new QT("__probe-".concat(this.id,"__"),ixt),this.timeStamp("".concat(this.id," started")),Ame(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((wd()-this._startTs).toPrecision(10))}getDelta(){return Number((wd()-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){Vm(t,r)}warn(t){return this._getLogFunction(0,t,Km.warn,arguments,Tme)}error(t){return this._getLogFunction(0,t,Km.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,Km.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,Km.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,Km.debug||Km.info,arguments,Tme)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||Lo,n&&[n],{tag:uxt(r)}):Lo}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?Ps()?sxt({image:i,message:a,scale:o}):oxt({image:i,message:a,scale:o}):Lo}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||Lo)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=Cme({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}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||Lo)}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()>=Dme(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=Cme({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,Vm(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=wd();let o=a.tag||a.message;if(a.once&&o)if(!Sme[o])Sme[o]=wd();else return Lo;return r=axt(this.id,a.message,a),n.bind(console,r,...a.args)}return Lo}};At(zu,"VERSION",YT);function Dme(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 Vm(Number.isFinite(t)&&t>=0),t}function Cme(e){let{logLevel:t,message:r}=e;e.logLevel=Dme(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 i=typeof e.message;return Vm(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function axt(e,t,r){if(typeof t=="string"){let n=r.time?_me(yme(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=Eme(t,r.color,r.background)}return t}function oxt(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),Lo}function sxt(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=ZT(a,r,n);console.log(...o)},a.src=t,Lo}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...ZT(t,r,n)),Lo;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...ZT(a,r,n)),a.src=t.toDataURL(),Lo}return Lo}function uxt(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var aYt=new zu({id:"@probe.gl/log"});var K9=new zu({id:"loaders.gl"}),t3=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},r3=class{console;constructor(){this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}};var J9={fetch:null,mimeType:void 0,nothrow:!1,log:new r3,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:jr,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Fme={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function X9(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state=e._state||{},e._state}function Jm(){let e=X9();return e.globalOptions=e.globalOptions||{...J9},e.globalOptions}function Ime(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],cxt(e,r),fxt(t,e,n)}function cxt(e,t){kme(e,null,J9,Fme,t);for(let r of t){let n=e&&e[r.id]||{},i=r.options&&r.options[r.id]||{},a=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};kme(n,r.id,i,a,t)}}function kme(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&xd(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)K9.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=lxt(s,i);K9.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function lxt(e,t){let r=e.toLowerCase(),n="";for(let i of t)for(let a in i.options){if(e===a)return`Did you mean '${i.id}.${a}'?`;let o=a.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(n=n||`Did you mean '${i.id}.${a}'?`)}return n}function fxt(e,t,r){let i={...e.options||{}};return pxt(i,r),i.log===null&&(i.log=new t3),Bme(i,Jm()),Bme(i,t),i}function Bme(e,t){for(let r in t)if(r in t){let n=t[r];W9(n)&&W9(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function pxt(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function dy(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function Y9(e){jt(e,"null loader"),jt(dy(e),"invalid loader");let t;return Array.isArray(e)&&(t=e[1],e=e[0],e={...e,options:{...e.options,...t}}),(e!=null&&e.parseTextSync||e!=null&&e.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var dxt=()=>{let e=X9();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Pme(){return dxt()}var Ome=new zu({id:"loaders.gl"});var hxt=/\.([^.]+)$/;async function Mme(e,t=[],r,n){if(!Lme(e))return null;let i=jme(e,t,{...r,nothrow:!0},n);if(i)return i;if(Mo(e)&&(e=await e.slice(0,10).arrayBuffer(),i=jme(e,t,r,n)),!i&&!(r!=null&&r.nothrow))throw new Error(qme(e));return i}function jme(e,t=[],r,n){if(!Lme(e))return null;if(t&&!Array.isArray(t))return Y9(t);let i=[];t&&(i=i.concat(t)),r!=null&&r.ignoreRegisteredLoaders||i.push(...Pme()),gxt(i);let a=mxt(e,i,r,n);if(!a&&!(r!=null&&r.nothrow))throw new Error(qme(e));return a}function mxt(e,t,r,n){let i=yd(e),a=py(e),o=Wm(i)||(n==null?void 0:n.url),s=null,u="";return r!=null&&r.mimeType&&(s=Q9(t,r==null?void 0:r.mimeType),u=`match forced by supplied MIME type ${r==null?void 0:r.mimeType}`),s=s||vxt(t,o),u=u||(s?`matched url ${o}`:""),s=s||Q9(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||xxt(t,e),u=u||(s?`matched initial data ${Nme(e)}`:""),r!=null&&r.fallbackMimeType&&(s=s||Q9(t,r==null?void 0:r.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&Ome.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function Lme(e){return!(e instanceof Response&&e.status===204)}function qme(e){let t=yd(e),r=py(e),n="No valid loader found (";n+=t?`${qa.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?Nme(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function gxt(e){for(let t of e)Y9(t)}function vxt(e,t){let r=t&&hxt.exec(t),n=r&&r[1];return n?bxt(e,n):null}function bxt(e,t){t=t.toLowerCase();for(let r of e)for(let n of r.extensions)if(n.toLowerCase()===t)return r;return null}function Q9(e,t){for(let r of e)if(r.mimeTypes&&r.mimeTypes.includes(t)||t===`application/x.${r.id}`)return r;return null}function xxt(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(yxt(t,r))return r}else if(ArrayBuffer.isView(t)){if(Rme(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&Rme(t,0,r))return r;return null}function yxt(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function Rme(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>_xt(e,t,r,i))}function _xt(e,t,r,n){if(n instanceof ArrayBuffer)return Su(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=Z9(e,t,n.length);return n===i;default:return!1}}function Nme(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Z9(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Z9(e,0,t):""}function Z9(e,t,r){if(e.byteLength<t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function*Ume(e,t){let r=(t==null?void 0:t.chunkSize)||262144,n=0,i=new TextEncoder;for(;n<e.length;){let a=Math.min(e.length-n,r),o=e.slice(n,n+a);n+=a,yield i.encode(o)}}function*Gme(e,t={}){let{chunkSize:r=262144}=t,n=0;for(;n<e.byteLength;){let i=Math.min(e.byteLength-n,r),a=new ArrayBuffer(i),o=new Uint8Array(e,n,i);new Uint8Array(a).set(o),n+=i,yield a}}async function*zme(e,t){let r=(t==null?void 0:t.chunkSize)||1048576,n=0;for(;n<e.size;){let i=n+r,a=await e.slice(n,i).arrayBuffer();n=i,yield a}}function eR(e,t){return jr?wxt(e,t):Ext(e,t)}async function*wxt(e,t){let r=e.getReader(),n;try{for(;;){let i=n||r.read();t!=null&&t._streamReadAhead&&(n=r.read());let{done:a,value:o}=await i;if(a)return;yield Fc(o)}}catch{r.releaseLock()}}async function*Ext(e,t){for await(let r of e)yield Fc(r)}function Hme(e,t){if(typeof e=="string")return Ume(e,t);if(e instanceof ArrayBuffer)return Gme(e,t);if(Mo(e))return zme(e,t);if(JT(e))return eR(e,t);if(Ro(e))return eR(e.body,t);throw new Error("makeIterator")}var Wme="Cannot convert supplied data type";function Axt(e,t,r){if(t.text&&typeof e=="string")return e;if(hme(e)&&(e=e.buffer),e instanceof ArrayBuffer){let n=e;return t.text&&!t.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(e)){if(t.text&&!t.binary)return new TextDecoder("utf8").decode(e);let n=e.buffer,i=e.byteLength||e.length;return(e.byteOffset!==0||i!==n.byteLength)&&(n=n.slice(e.byteOffset,e.byteOffset+i)),n}throw new Error(Wme)}async function $me(e,t,r){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return Axt(e,t,r);if(Mo(e)&&(e=await XT(e)),Ro(e)){let i=e;return await xme(i),t.binary?await i.arrayBuffer():await i.text()}if(JT(e)&&(e=Hme(e,r)),pme(e)||dme(e))return Hp(e);throw new Error(Wme)}function n3(e,t){let r=Jm(),n=e||r;return typeof n.fetch=="function"?n.fetch:xd(n.fetch)?i=>Aa(i,n.fetch):t!=null&&t.fetch?t==null?void 0:t.fetch:Aa}function Vme(e,t,r){if(r)return r;let n={fetch:n3(t,e),...e};if(n.url){let i=Wm(n.url);n.baseUrl=i,n.queryString=vme(n.url),n.filename=qa.filename(i),n.baseUrl=qa.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function Kme(e,t){if(e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let n=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...n]:n}return r&&r.length?r:void 0}async function co(e,t,r,n){t&&!Array.isArray(t)&&!dy(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=yd(e),o=Kme(t,n),s=await Mme(e,o,r);return s?(r=Ime(r,s,o,i),n=Vme({url:i,_parse:co,loaders:o},r,n||null),await Sxt(s,e,r,n)):null}async function Sxt(e,t,r,n){if(R5(e),r=k5(e.options,r),Ro(t)){let a=t,{ok:o,redirected:s,status:u,statusText:c,type:l,url:f}=a,p=Object.fromEntries(a.headers.entries());n.response={headers:p,ok:o,redirected:s,status:u,statusText:c,type:l,url:f}}t=await $me(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(N5(e,r))return await U5(e,t,r,n,co);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw Mi(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Jme(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 tR(e){let t=1/0,r=1/0,n=1/0,i=-1/0,a=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length;for(let c=0;c<u;c+=3){let l=s[c],f=s[c+1],p=s[c+2];t=l<t?l:t,r=f<r?f:r,n=p<n?p:n,i=l>i?l:i,a=f>a?f:a,o=p>o?p:o}return[[t,r,n],[i,a,o]]}function rR(e,t,r){let n=Jme(t.value),i=r||Xme(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function Xme(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}async function un(e,t,r,n){let i,a;!Array.isArray(t)&&!dy(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=n3(a),s=e;return typeof e=="string"&&(s=await o(e)),Mo(e)&&(s=await o(e)),Array.isArray(i)?await co(s,i,a):await co(s,i,a)}async function Xm(e,t,r){return r={...Jm(),...r},t.encodeURLtoURL?Txt(t,e,r):G5(t,r)?await j5(t,e,r):await t.encode(e,r)}function i3(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return new TextEncoder().encode(t.encodeTextSync(e,r));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function Qme(e,t,r,n){if(e=Tu(e),t=Tu(t),jr||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function Txt(e,t,r){if(jr)throw new Error(`Writer ${e.name} not supported in browser`);let n=Yme("input");await new kc(n,"w").write(t);let a=Yme("output"),o=await Qme(n,a,e,r);return(await Aa(o)).arrayBuffer()}function Yme(e){return`/tmp/${e}`}var Cxt=1/Math.PI*180,Dxt=1/180*Math.PI,Fxt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Fxt}};var Jr=globalThis.mathgl.config;function nR(e,{precision:t=Jr.precision}={}){return e=kxt(e),"".concat(parseFloat(e.toPrecision(t)))}function qo(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function iR(e){return Zme(e)}function aR(e){return Kc(e)}function Zme(e,t){return sR(e,r=>r*Dxt,t)}function Kc(e,t){return sR(e,r=>r*Cxt,t)}function oR(e,t,r){return sR(e,n=>Math.max(t,Math.min(r,n)))}function lo(e,t,r){let n=Jr.EPSILON;r&&(Jr.EPSILON=r);try{if(e===t)return!0;if(qo(e)&&qo(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!lo(e[i],t[i]))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)<=Jr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Jr.EPSILON=n}}function kxt(e){return Math.round(e/Jr.EPSILON)*Jr.EPSILON}function Bxt(e){return e.clone?e.clone():new Array(e.length)}function sR(e,t,r){if(qo(e)){let n=e;r=r||Bxt(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}function Ixt(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 Rf=class extends Ixt(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:qo(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Jr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+nR(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(!lo(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 i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}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(Jr.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 Pxt(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 rr(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function Mf(e,t,r=""){if(Jr.debug&&!Pxt(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function Si(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var Lf=class extends Rf{get x(){return this[0]}set x(t){this[0]=rr(t)}get y(){return this[1]}set y(t){this[1]=rr(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 i=this[n]-t[n];r+=i*i}return rr(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return rr(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 Si(t>=0&&t<this.ELEMENTS,"index is out of range"),rr(this[t])}setComponent(t,r){return Si(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 mn=typeof Float32Array<"u"?Float32Array:Array,hy=Math.random;function Ym(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var ZQt=Math.PI/180;function Oxt(){let e=new mn(2);return mn!=Float32Array&&(e[0]=0,e[1]=0),e}function ege(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e}function tge(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e}function a3(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function o3(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var eZt=function(){let e=Oxt();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function s3(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function u3(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function rge(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function nge(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function c3(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Ed=class extends Lf{constructor(t=0,r=0){super(2),qo(t)&&arguments.length===1?this.copy(t):(Jr.debug&&(rr(t),rr(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 Jr.debug&&(rr(t.x),rr(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 o3(this,this,t),this.check()}transformAsVector(t){return s3(this,this,t),this.check()}transformByMatrix3(t){return a3(this,this,t),this.check()}transformByMatrix2x3(t){return tge(this,this,t),this.check()}transformByMatrix2(t){return ege(this,this,t),this.check()}};var Zm={};Pi(Zm,{add:()=>Lxt,angle:()=>pR,bezier:()=>Yxt,ceil:()=>qxt,clone:()=>jxt,copy:()=>Rxt,create:()=>l3,cross:()=>Ad,dist:()=>oyt,distance:()=>uge,div:()=>ayt,divide:()=>sge,dot:()=>my,equals:()=>ryt,exactEquals:()=>tyt,floor:()=>Nxt,forEach:()=>cyt,fromValues:()=>f3,hermite:()=>Xxt,inverse:()=>Vxt,len:()=>dR,length:()=>ige,lerp:()=>Kxt,max:()=>Gxt,min:()=>Uxt,mul:()=>iyt,multiply:()=>oge,negate:()=>$xt,normalize:()=>uR,random:()=>Qxt,rotateX:()=>cR,rotateY:()=>lR,rotateZ:()=>fR,round:()=>zxt,scale:()=>Hxt,scaleAndAdd:()=>Wxt,set:()=>Mxt,slerp:()=>Jxt,sqrDist:()=>syt,sqrLen:()=>uyt,squaredDistance:()=>cge,squaredLength:()=>lge,str:()=>eyt,sub:()=>nyt,subtract:()=>age,transformMat3:()=>gy,transformMat4:()=>Sd,transformQuat:()=>vy,zero:()=>Zxt});function l3(){let e=new mn(3);return mn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function jxt(e){let t=new mn(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function ige(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function f3(e,t,r){let n=new mn(3);return n[0]=e,n[1]=t,n[2]=r,n}function Rxt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Mxt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function Lxt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function age(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function oge(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function sge(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function qxt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function Nxt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function Uxt(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 Gxt(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 zxt(e,t){return e[0]=Ym(t[0]),e[1]=Ym(t[1]),e[2]=Ym(t[2]),e}function Hxt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function Wxt(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 uge(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function cge(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function lge(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function $xt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function Vxt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function uR(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function my(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Ad(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function Kxt(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function Jxt(e,t,r,n){let i=Math.acos(Math.min(Math.max(my(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;return e[0]=o*t[0]+s*r[0],e[1]=o*t[1]+s*r[1],e[2]=o*t[2]+s*r[2],e}function Xxt(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function Yxt(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,p=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*p,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*p,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*p,e}function Qxt(e,t){t=t===void 0?1:t;let r=hy()*2*Math.PI,n=hy()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function Sd(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function gy(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function vy(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,p=n*u-i*s,d=i*p-a*f,m=a*l-n*p,g=n*f-i*l,v=o*2;return l*=v,f*=v,p*=v,d*=2,m*=2,g*=2,e[0]=s+l+d,e[1]=u+f+m,e[2]=c+p+g,e}function cR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function lR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function fR(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function pR(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&my(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function Zxt(e){return e[0]=0,e[1]=0,e[2]=0,e}function eyt(e){return"vec3(".concat(e[0],", ").concat(e[1],", ").concat(e[2],")")}function tyt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function ryt(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var nyt=age,iyt=oge,ayt=sge,oyt=uge,syt=cge,dR=ige,uyt=lge,cyt=function(){let e=l3();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var hR=[0,0,0],p3,ie=class extends Lf{static get ZERO(){return p3||(p3=new ie(0,0,0),Object.freeze(p3)),p3}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&qo(t)?this.copy(t):(Jr.debug&&(rr(t),rr(r),rr(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 Jr.debug&&(rr(t.x),rr(t.y),rr(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]=rr(t)}angle(t){return pR(this,t)}cross(t){return Ad(this,this,t),this.check()}rotateX({radians:t,origin:r=hR}){return cR(this,this,r,t),this.check()}rotateY({radians:t,origin:r=hR}){return lR(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=hR}){return fR(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Sd(this,this,t),this.check()}transformAsVector(t){return u3(this,this,t),this.check()}transformByMatrix3(t){return gy(this,this,t),this.check()}transformByMatrix2(t){return rge(this,this,t),this.check()}transformByQuaternion(t){return vy(this,this,t),this.check()}};var d3,No=class extends Lf{static get ZERO(){return d3||(d3=new No(0,0,0,0),Object.freeze(d3)),d3}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),qo(t)&&arguments.length===1?this.copy(t):(Jr.debug&&(rr(t),rr(r),rr(n),rr(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 Jr.debug&&(rr(t.x),rr(t.y),rr(t.z),rr(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]=rr(t)}get w(){return this[3]}set w(t){this[3]=rr(t)}transform(t){return Sd(this,this,t),this.check()}transformByMatrix3(t){return c3(this,this,t),this.check()}transformByMatrix2(t){return nge(this,this,t),this.check()}transformByQuaternion(t){return vy(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var eg=class extends Rf{toString(){let t="[";if(Jr.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]=rr(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function fge(){let e=new mn(9);return mn!=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 pge(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}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 dge(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,d=c*a-o*u,m=r*f+n*p+i*d;return m?(m=1/m,e[0]=f*m,e[1]=(-l*n+i*c)*m,e[2]=(s*n-i*o)*m,e[3]=p*m,e[4]=(l*r-i*u)*m,e[5]=(-s*r+i*a)*m,e[6]=d*m,e[7]=(-c*r+n*u)*m,e[8]=(o*r-n*a)*m,e):null}function hge(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function mR(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1],m=r[2],g=r[3],v=r[4],y=r[5],w=r[6],A=r[7],C=r[8];return e[0]=p*n+d*o+m*c,e[1]=p*i+d*s+m*l,e[2]=p*a+d*u+m*f,e[3]=g*n+v*o+y*c,e[4]=g*i+v*s+y*l,e[5]=g*a+v*u+y*f,e[6]=w*n+A*o+C*c,e[7]=w*i+A*s+C*l,e[8]=w*a+A*u+C*f,e}function mge(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=p*n+d*o+c,e[7]=p*i+d*s+l,e[8]=p*a+d*u+f,e}function gge(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=Math.sin(r),d=Math.cos(r);return e[0]=d*n+p*o,e[1]=d*i+p*s,e[2]=d*a+p*u,e[3]=d*o-p*n,e[4]=d*s-p*i,e[5]=d*u-p*a,e[6]=c,e[7]=l,e[8]=f,e}function gR(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function vge(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,m=i*u,g=a*o,v=a*s,y=a*u;return e[0]=1-f-m,e[3]=l-y,e[6]=p+v,e[1]=l+y,e[4]=1-c-m,e[7]=d-g,e[2]=p-v,e[5]=d+g,e[8]=1-c-f,e}var vR;(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"})(vR||(vR={}));var fyt=Object.freeze([1,0,0,0,1,0,0,0,1]),hr=class extends eg{static get IDENTITY(){return dyt()}static get ZERO(){return pyt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return vR}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(fyt)}fromObject(t){return this.check()}fromQuaternion(t){return vge(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return hge(this)}transpose(){return pge(this,this),this.check()}invert(){return dge(this,this),this.check()}multiplyLeft(t){return mR(this,t,this),this.check()}multiplyRight(t){return mR(this,this,t),this.check()}rotate(t){return gge(this,this,t),this.check()}scale(t){return Array.isArray(t)?gR(this,this,t):gR(this,this,[t,t]),this.check()}translate(t){return mge(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=a3(r||[-0,-0],t,this);break;case 3:n=gy(r||[-0,-0,-0],t,this);break;case 4:n=c3(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Mf(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)}},h3,m3=null;function pyt(){return h3||(h3=new hr([0,0,0,0,0,0,0,0,0]),Object.freeze(h3)),h3}function dyt(){return m3||(m3=new hr,Object.freeze(m3)),m3}var g3={};Pi(g3,{add:()=>Lyt,adjoint:()=>xyt,clone:()=>myt,copy:()=>gyt,create:()=>hyt,decompose:()=>Fyt,determinant:()=>yR,equals:()=>Gyt,exactEquals:()=>Uyt,frob:()=>Myt,fromQuat:()=>CR,fromQuat2:()=>Tyt,fromRotation:()=>wyt,fromRotationTranslation:()=>xge,fromRotationTranslationScale:()=>kyt,fromRotationTranslationScaleOrigin:()=>Byt,fromScaling:()=>_yt,fromTranslation:()=>yyt,fromValues:()=>vyt,fromXRotation:()=>Eyt,fromYRotation:()=>Ayt,fromZRotation:()=>Syt,frustum:()=>DR,getRotation:()=>Dyt,getScaling:()=>yge,getTranslation:()=>Cyt,identity:()=>bge,invert:()=>xR,lookAt:()=>BR,mul:()=>zyt,multiply:()=>by,multiplyScalar:()=>qyt,multiplyScalarAndAdd:()=>Nyt,ortho:()=>kR,orthoNO:()=>wge,orthoZO:()=>Oyt,perspective:()=>FR,perspectiveFromFieldOfView:()=>Pyt,perspectiveNO:()=>_ge,perspectiveZO:()=>Iyt,rotate:()=>ER,rotateX:()=>AR,rotateY:()=>SR,rotateZ:()=>TR,scale:()=>wR,set:()=>byt,str:()=>Ryt,sub:()=>Hyt,subtract:()=>Ege,targetTo:()=>jyt,translate:()=>_R,transpose:()=>bR});function hyt(){let e=new mn(16);return mn!=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 myt(e){let t=new mn(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 gyt(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 vyt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,m,g){let v=new mn(16);return v[0]=e,v[1]=t,v[2]=r,v[3]=n,v[4]=i,v[5]=a,v[6]=o,v[7]=s,v[8]=u,v[9]=c,v[10]=l,v[11]=f,v[12]=p,v[13]=d,v[14]=m,v[15]=g,v}function byt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,m,g,v){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=m,e[14]=g,e[15]=v,e}function bge(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 bR(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=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]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}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 xR(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],m=t[12],g=t[13],v=t[14],y=t[15],w=r*s-n*o,A=r*u-i*o,C=r*c-a*o,T=n*u-i*s,B=n*c-a*s,j=i*c-a*u,U=l*g-f*m,I=l*v-p*m,R=l*y-d*m,M=f*v-p*g,z=f*y-d*g,W=p*y-d*v,X=w*W-A*z+C*M+T*R-B*I+j*U;return X?(X=1/X,e[0]=(s*W-u*z+c*M)*X,e[1]=(i*z-n*W-a*M)*X,e[2]=(g*j-v*B+y*T)*X,e[3]=(p*B-f*j-d*T)*X,e[4]=(u*R-o*W-c*I)*X,e[5]=(r*W-i*R+a*I)*X,e[6]=(v*C-m*j-y*A)*X,e[7]=(l*j-p*C+d*A)*X,e[8]=(o*z-s*R+c*U)*X,e[9]=(n*R-r*z-a*U)*X,e[10]=(m*B-g*C+y*w)*X,e[11]=(f*C-l*B-d*w)*X,e[12]=(s*I-o*M-u*U)*X,e[13]=(r*M-n*I+i*U)*X,e[14]=(g*A-m*T-v*w)*X,e[15]=(l*T-f*A+p*w)*X,e):null}function xyt(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],m=t[12],g=t[13],v=t[14],y=t[15],w=r*s-n*o,A=r*u-i*o,C=r*c-a*o,T=n*u-i*s,B=n*c-a*s,j=i*c-a*u,U=l*g-f*m,I=l*v-p*m,R=l*y-d*m,M=f*v-p*g,z=f*y-d*g,W=p*y-d*v;return e[0]=s*W-u*z+c*M,e[1]=i*z-n*W-a*M,e[2]=g*j-v*B+y*T,e[3]=p*B-f*j-d*T,e[4]=u*R-o*W-c*I,e[5]=r*W-i*R+a*I,e[6]=v*C-m*j-y*A,e[7]=l*j-p*C+d*A,e[8]=o*z-s*R+c*U,e[9]=n*R-r*z-a*U,e[10]=m*B-g*C+y*w,e[11]=f*C-l*B-d*w,e[12]=s*I-o*M-u*U,e[13]=r*M-n*I+i*U,e[14]=g*A-m*T-v*w,e[15]=l*T-f*A+p*w,e}function yR(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],v=e[15],y=t*o-r*a,w=t*s-n*a,A=r*s-n*o,C=c*m-l*d,T=c*g-f*d,B=l*g-f*m,j=t*B-r*T+n*C,U=a*B-o*T+s*C,I=c*A-l*w+f*y,R=d*A-m*w+g*y;return u*j-i*U+v*I-p*R}function by(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],d=t[10],m=t[11],g=t[12],v=t[13],y=t[14],w=t[15],A=r[0],C=r[1],T=r[2],B=r[3];return e[0]=A*n+C*s+T*f+B*g,e[1]=A*i+C*u+T*p+B*v,e[2]=A*a+C*c+T*d+B*y,e[3]=A*o+C*l+T*m+B*w,A=r[4],C=r[5],T=r[6],B=r[7],e[4]=A*n+C*s+T*f+B*g,e[5]=A*i+C*u+T*p+B*v,e[6]=A*a+C*c+T*d+B*y,e[7]=A*o+C*l+T*m+B*w,A=r[8],C=r[9],T=r[10],B=r[11],e[8]=A*n+C*s+T*f+B*g,e[9]=A*i+C*u+T*p+B*v,e[10]=A*a+C*c+T*d+B*y,e[11]=A*o+C*l+T*m+B*w,A=r[12],C=r[13],T=r[14],B=r[15],e[12]=A*n+C*s+T*f+B*g,e[13]=A*i+C*u+T*p+B*v,e[14]=A*a+C*c+T*d+B*y,e[15]=A*o+C*l+T*m+B*w,e}function _R(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,m,g,v,y;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],p=t[6],d=t[7],m=t[8],g=t[9],v=t[10],y=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=m,e[9]=g,e[10]=v,e[11]=y,e[12]=o*n+l*i+m*a+t[12],e[13]=s*n+f*i+g*a+t[13],e[14]=u*n+p*i+v*a+t[14],e[15]=c*n+d*i+y*a+t[15]),e}function wR(e,t,r){let n=r[0],i=r[1],a=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]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function ER(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,p,d,m,g,v,y,w,A,C,T,B,j,U,I,R,M,z,W,X,te;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],p=t[1],d=t[2],m=t[3],g=t[4],v=t[5],y=t[6],w=t[7],A=t[8],C=t[9],T=t[10],B=t[11],j=i*i*l+u,U=a*i*l+o*c,I=o*i*l-a*c,R=i*a*l-o*c,M=a*a*l+u,z=o*a*l+i*c,W=i*o*l+a*c,X=a*o*l-i*c,te=o*o*l+u,e[0]=f*j+g*U+A*I,e[1]=p*j+v*U+C*I,e[2]=d*j+y*U+T*I,e[3]=m*j+w*U+B*I,e[4]=f*R+g*M+A*z,e[5]=p*R+v*M+C*z,e[6]=d*R+y*M+T*z,e[7]=m*R+w*M+B*z,e[8]=f*W+g*X+A*te,e[9]=p*W+v*X+C*te,e[10]=d*W+y*X+T*te,e[11]=m*W+w*X+B*te,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function AR(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],p=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]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e}function SR(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[8],l=t[9],f=t[10],p=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]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e}function TR(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[4],l=t[5],f=t[6],p=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]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e}function yyt(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 _yt(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 wyt(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function Eyt(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 Ayt(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 Syt(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 xge(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,d=i*u,m=i*c,g=a*c,v=o*s,y=o*u,w=o*c;return e[0]=1-(d+g),e[1]=f+w,e[2]=p-y,e[3]=0,e[4]=f-w,e[5]=1-(l+g),e[6]=m+v,e[7]=0,e[8]=p+y,e[9]=m-v,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Tyt(e,t){let r=new mn(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),xge(e,t,r),e}function Cyt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function yge(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function Dyt(e,t){let r=new mn(3);yge(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,p=t[8]*n,d=t[9]*i,m=t[10]*a,g=o+l+m,v=0;return g>0?(v=Math.sqrt(g+1)*2,e[3]=.25*v,e[0]=(f-d)/v,e[1]=(p-u)/v,e[2]=(s-c)/v):o>l&&o>m?(v=Math.sqrt(1+o-l-m)*2,e[3]=(f-d)/v,e[0]=.25*v,e[1]=(s+c)/v,e[2]=(p+u)/v):l>m?(v=Math.sqrt(1+l-o-m)*2,e[3]=(p-u)/v,e[0]=(s+c)/v,e[1]=.25*v,e[2]=(f+d)/v):(v=Math.sqrt(1+m-o-l)*2,e[3]=(s-c)/v,e[0]=(p+u)/v,e[1]=(f+d)/v,e[2]=.25*v),e}function Fyt(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],m=1/r[1],g=1/r[2],v=i*d,y=a*m,w=o*g,A=s*d,C=u*m,T=c*g,B=l*d,j=f*m,U=p*g,I=v+C+U,R=0;return I>0?(R=Math.sqrt(I+1)*2,e[3]=.25*R,e[0]=(T-j)/R,e[1]=(B-w)/R,e[2]=(y-A)/R):v>C&&v>U?(R=Math.sqrt(1+v-C-U)*2,e[3]=(T-j)/R,e[0]=.25*R,e[1]=(y+A)/R,e[2]=(B+w)/R):C>U?(R=Math.sqrt(1+C-v-U)*2,e[3]=(B-w)/R,e[0]=(y+A)/R,e[1]=.25*R,e[2]=(T+j)/R):(R=Math.sqrt(1+U-v-C)*2,e[3]=(y-A)/R,e[0]=(B+w)/R,e[1]=(T+j)/R,e[2]=.25*R),e}function kyt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,p=i*c,d=i*l,m=a*c,g=a*l,v=o*l,y=s*u,w=s*c,A=s*l,C=n[0],T=n[1],B=n[2];return e[0]=(1-(m+v))*C,e[1]=(p+A)*C,e[2]=(d-w)*C,e[3]=0,e[4]=(p-A)*T,e[5]=(1-(f+v))*T,e[6]=(g+y)*T,e[7]=0,e[8]=(d+w)*B,e[9]=(g-y)*B,e[10]=(1-(f+m))*B,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Byt(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,p=a*c,d=a*l,m=a*f,g=o*l,v=o*f,y=s*f,w=u*c,A=u*l,C=u*f,T=n[0],B=n[1],j=n[2],U=i[0],I=i[1],R=i[2],M=(1-(g+y))*T,z=(d+C)*T,W=(m-A)*T,X=(d-C)*B,te=(1-(p+y))*B,ee=(v+w)*B,ye=(m+A)*j,he=(v-w)*j,ve=(1-(p+g))*j;return e[0]=M,e[1]=z,e[2]=W,e[3]=0,e[4]=X,e[5]=te,e[6]=ee,e[7]=0,e[8]=ye,e[9]=he,e[10]=ve,e[11]=0,e[12]=r[0]+U-(M*U+X*I+ye*R),e[13]=r[1]+I-(z*U+te*I+he*R),e[14]=r[2]+R-(W*U+ee*I+ve*R),e[15]=1,e}function CR(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,m=i*u,g=a*o,v=a*s,y=a*u;return e[0]=1-f-m,e[1]=l+y,e[2]=p-v,e[3]=0,e[4]=l-y,e[5]=1-c-m,e[6]=d+g,e[7]=0,e[8]=p+v,e[9]=d-g,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function DR(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function _ge(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var FR=_ge;function Iyt(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function Pyt(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*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 wge(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var kR=wge;function Oyt(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function BR(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,m=t[0],g=t[1],v=t[2],y=n[0],w=n[1],A=n[2],C=r[0],T=r[1],B=r[2];return Math.abs(m-C)<1e-6&&Math.abs(g-T)<1e-6&&Math.abs(v-B)<1e-6?bge(e):(f=m-C,p=g-T,d=v-B,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=w*d-A*p,o=A*f-y*d,s=y*p-w*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=p*s-d*o,c=d*a-f*s,l=f*o-p*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(a*m+o*g+s*v),e[13]=-(u*m+c*g+l*v),e[14]=-(f*m+p*g+d*v),e[15]=1,e)}function jyt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-r[1],p=o-r[2],d=l*l+f*f+p*p;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,p*=d);let m=u*p-c*f,g=c*l-s*p,v=s*f-u*l;return d=m*m+g*g+v*v,d>0&&(d=1/Math.sqrt(d),m*=d,g*=d,v*=d),e[0]=m,e[1]=g,e[2]=v,e[3]=0,e[4]=f*v-p*g,e[5]=p*m-l*v,e[6]=l*g-f*m,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function Ryt(e){return"mat4(".concat(e[0],", ").concat(e[1],", ").concat(e[2],", ").concat(e[3],", ").concat(e[4],", ").concat(e[5],", ").concat(e[6],", ").concat(e[7],", ").concat(e[8],", ").concat(e[9],", ").concat(e[10],", ").concat(e[11],", ").concat(e[12],", ").concat(e[13],", ").concat(e[14],", ").concat(e[15],")")}function Myt(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 Lyt(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 Ege(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 qyt(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 Nyt(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 Uyt(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 Gyt(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],p=e[10],d=e[11],m=e[12],g=e[13],v=e[14],y=e[15],w=t[0],A=t[1],C=t[2],T=t[3],B=t[4],j=t[5],U=t[6],I=t[7],R=t[8],M=t[9],z=t[10],W=t[11],X=t[12],te=t[13],ee=t[14],ye=t[15];return Math.abs(r-w)<=1e-6*Math.max(1,Math.abs(r),Math.abs(w))&&Math.abs(n-A)<=1e-6*Math.max(1,Math.abs(n),Math.abs(A))&&Math.abs(i-C)<=1e-6*Math.max(1,Math.abs(i),Math.abs(C))&&Math.abs(a-T)<=1e-6*Math.max(1,Math.abs(a),Math.abs(T))&&Math.abs(o-B)<=1e-6*Math.max(1,Math.abs(o),Math.abs(B))&&Math.abs(s-j)<=1e-6*Math.max(1,Math.abs(s),Math.abs(j))&&Math.abs(u-U)<=1e-6*Math.max(1,Math.abs(u),Math.abs(U))&&Math.abs(c-I)<=1e-6*Math.max(1,Math.abs(c),Math.abs(I))&&Math.abs(l-R)<=1e-6*Math.max(1,Math.abs(l),Math.abs(R))&&Math.abs(f-M)<=1e-6*Math.max(1,Math.abs(f),Math.abs(M))&&Math.abs(p-z)<=1e-6*Math.max(1,Math.abs(p),Math.abs(z))&&Math.abs(d-W)<=1e-6*Math.max(1,Math.abs(d),Math.abs(W))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(g-te)<=1e-6*Math.max(1,Math.abs(g),Math.abs(te))&&Math.abs(v-ee)<=1e-6*Math.max(1,Math.abs(v),Math.abs(ee))&&Math.abs(y-ye)<=1e-6*Math.max(1,Math.abs(y),Math.abs(ye))}var zyt=by,Hyt=Ege;function Wyt(){let e=new mn(4);return mn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Age(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 Sge(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 Tge(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function Cge(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function Dge(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function Fge(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function kge(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function Bge(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function Ige(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,d=-o*n-s*i-u*a;return e[0]=l*c+d*-o+f*-u-p*-s,e[1]=f*c+d*-s+p*-o-l*-u,e[2]=p*c+d*-u+l*-s-f*-o,e[3]=t[3],e}var IZt=function(){let e=Wyt();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var OR;(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"})(OR||(OR={}));var Vyt=45*Math.PI/180,Kyt=1,IR=.1,PR=500,Jyt=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Sr=class extends eg{static get IDENTITY(){return Yyt()}static get ZERO(){return Xyt()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return OR}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,i,a,o,s,u,c,l,f,p,d,m,g,v){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=m,this[14]=g,this[15]=v,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,m,g,v){return this[0]=t,this[1]=a,this[2]=c,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=m,this[8]=n,this[9]=s,this[10]=f,this[11]=g,this[12]=i,this[13]=u,this[14]=p,this[15]=v,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(Jyt)}fromObject(t){return this.check()}fromQuaternion(t){return CR(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=IR,far:s=PR}=t;return s===1/0?Qyt(this,r,n,i,a,o):DR(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return BR(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=IR,far:s=PR}=t;return kR(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=Vyt,aspect:n=Kyt,focalDistance:i=1,near:a=IR,far:o=PR}=t;Pge(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return Pge(r),FR(this,r,n,i,a),this.check()}determinant(){return yR(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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*o,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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return bR(this,this),this.check()}invert(){return xR(this,this),this.check()}multiplyLeft(t){return by(this,t,this),this.check()}multiplyRight(t){return by(this,this,t),this.check()}rotateX(t){return AR(this,this,t),this.check()}rotateY(t){return SR(this,this,t),this.check()}rotateZ(t){return TR(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return ER(this,this,t,r),this.check()}scale(t){return wR(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return _R(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Bge(r||[-0,-0,-0,-0],t,this),Mf(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=o3(r||[-0,-0],t,this);break;case 3:i=Sd(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Mf(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=s3(r||[-0,-0],t,this);break;case 3:n=u3(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Mf(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])}},v3,b3;function Xyt(){return v3||(v3=new Sr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(v3)),v3}function Yyt(){return b3||(b3=new Sr,Object.freeze(b3)),b3}function Pge(e){if(e>Math.PI*2)throw Error("expected radians")}function Qyt(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,p=-2*a;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function Oge(){let e=new mn(4);return mn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function jge(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function jR(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 RR(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function Rge(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function Mge(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function Lge(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function qge(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function xy(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],p,d,m,g,v;return p=i*u+a*c+o*l+s*f,p<0&&(p=-p,u=-u,c=-c,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),v=Math.sin(d),m=Math.sin((1-n)*d)/v,g=Math.sin(n*d)/v):(m=1-n,g=n),e[0]=m*i+g*u,e[1]=m*a+g*c,e[2]=m*o+g*l,e[3]=m*s+g*f,e}function Nge(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e}function Uge(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function MR(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 i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var Gge=Age;var zge=Sge,Hge=Fge,Wge=kge,$ge=Tge;var Vge=Cge;var Kge=Dge;var Jge=function(){let e=l3(),t=f3(1,0,0),r=f3(0,1,0);return function(n,i,a){let o=my(i,a);return o<-.999999?(Ad(e,t,i),dR(e)<1e-6&&Ad(e,r,i),uR(e,e),jR(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Ad(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Kge(n,n))}}(),$Zt=function(){let e=Oge(),t=Oge();return function(r,n,i,a,o,s){return xy(e,n,o,s),xy(t,i,a,s),xy(r,e,t,2*s*(1-s)),r}}(),VZt=function(){let e=fge();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],Kge(t,MR(t,e))}}();var Zyt=[0,0,0,1],Uo=class extends Rf{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}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,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 MR(this,t),this.check()}fromAxisRotation(t,r){return jR(this,t,r),this.check()}identity(){return jge(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]=rr(t)}get y(){return this[1]}set y(t){this[1]=rr(t)}get z(){return this[2]}set z(t){this[2]=rr(t)}get w(){return this[3]}set w(t){this[3]=rr(t)}len(){return $ge(this)}lengthSquared(){return Vge(this)}dot(t){return Hge(this,t)}rotationTo(t,r){return Jge(this,t,r),this.check()}add(t){return Gge(this,this,t),this.check()}calculateW(){return qge(this,this),this.check()}conjugate(){return Uge(this,this),this.check()}invert(){return Nge(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Wge(this,t,r,n),this.check())}multiplyRight(t){return RR(this,this,t),this.check()}multiplyLeft(t){return RR(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 Rge(this,this,t),this.check()}rotateY(t){return Mge(this,this,t),this.check()}rotateZ(t){return Lge(this,this,t),this.check()}scale(t){return zge(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=Zyt,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return xy(this,i,a,o),this.check()}transformVector4(t,r=new No){return Ige(r,t,this),Mf(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 Os={};Pi(Os,{EPSILON1:()=>e1t,EPSILON10:()=>c1t,EPSILON11:()=>l1t,EPSILON12:()=>f1t,EPSILON13:()=>p1t,EPSILON14:()=>d1t,EPSILON15:()=>h1t,EPSILON16:()=>m1t,EPSILON17:()=>g1t,EPSILON18:()=>v1t,EPSILON19:()=>b1t,EPSILON2:()=>t1t,EPSILON20:()=>x1t,EPSILON3:()=>r1t,EPSILON4:()=>n1t,EPSILON5:()=>i1t,EPSILON6:()=>a1t,EPSILON7:()=>o1t,EPSILON8:()=>s1t,EPSILON9:()=>u1t,PI_OVER_FOUR:()=>_1t,PI_OVER_SIX:()=>w1t,PI_OVER_TWO:()=>y1t,TWO_PI:()=>E1t});var e1t=.1,t1t=.01,r1t=.001,n1t=1e-4,i1t=1e-5,a1t=1e-6,o1t=1e-7,s1t=1e-8,u1t=1e-9,c1t=1e-10,l1t=1e-11,f1t=1e-12,p1t=1e-13,d1t=1e-14,h1t=1e-15,m1t=1e-16,g1t=1e-17,v1t=1e-18,b1t=1e-19,x1t=1e-20,y1t=Math.PI/2,_1t=Math.PI/4,w1t=Math.PI/6,E1t=Math.PI*2;var Jc=6356752314245179e-9,A1t={radii:[6378137,6378137,Jc],radiiSquared:[6378137*6378137,6378137*6378137,Jc*Jc],oneOverRadii:[1/6378137,1/6378137,1/Jc],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(Jc*Jc)],maximumRadius:Math.max(6378137,6378137,Jc),centerToleranceSquared:.1};function x3(e){return e}var Aer=new ie;function S1t(e,t=[],r=x3){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 Xge(e,t=[]){return S1t(e,t,Jr._cartographicRadians?x3:iR)}function T1t(e,t,r=x3){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 Yge(e,t){return T1t(e,t,Jr._cartographicRadians?x3:aR)}var Qge=1e-14,C1t=new ie,Zge={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"}},LR={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},yy={east:new ie,north:new ie,up:new ie,west:new ie,south:new ie,down:new ie},D1t=new ie,F1t=new ie,k1t=new ie;function qR(e,t,r,n,i,a){let o=Zge[t]&&Zge[t][r];Si(o&&(!n||n===o));let s,u,c,l=C1t.copy(i);if(lo(l.x,0,Qge)&&lo(l.y,0,Qge)){let p=Math.sign(l.z);s=D1t.fromArray(LR[t]),t!=="east"&&t!=="west"&&s.scale(p),u=F1t.fromArray(LR[r]),r!=="east"&&r!=="west"&&u.scale(p),c=k1t.fromArray(LR[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:m}=yy;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),m.copy(p).cross(d);let{down:g,west:v,south:y}=yy;g.copy(p).scale(-1),v.copy(d).scale(-1),y.copy(m).scale(-1),s=yy[t],u=yy[r],c=yy[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var tg=new ie,B1t=new ie,I1t=new ie;function eve(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;tg.from(e);let o=tg.x,s=tg.y,u=tg.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,m=u*u*f*f,g=p+d+m,v=Math.sqrt(1/g);if(!Number.isFinite(v))return;let y=B1t;if(y.copy(e).scale(v),g<a)return y.to(r);let w=i.x,A=i.y,C=i.z,T=I1t;T.set(y.x*w*2,y.y*A*2,y.z*C*2);let B=(1-v)*tg.len()/(.5*T.len()),j=0,U,I,R,M;do{B-=j,U=1/(1+B*w),I=1/(1+B*A),R=1/(1+B*C);let z=U*U,W=I*I,X=R*R,te=z*U,ee=W*I,ye=X*R;M=p*z+d*W+m*X-1;let ve=-2*(p*te*w+d*ee*A+m*ye*C);j=M/ve}while(Math.abs(M)>Os.EPSILON12);return tg.scale([U,I,R]).to(r)}var y3=new ie,tve=new ie,j1t=new ie,js=new ie,R1t=new ie,_3=new ie,Ut=class{constructor(t=0,r=0,n=0){At(this,"radii",void 0),At(this,"radiiSquared",void 0),At(this,"radiiToTheFourth",void 0),At(this,"oneOverRadii",void 0),At(this,"oneOverRadiiSquared",void 0),At(this,"minimumRadius",void 0),At(this,"maximumRadius",void 0),At(this,"centerToleranceSquared",Os.EPSILON1),At(this,"squaredXOverSquaredZ",void 0),Si(t>=0),Si(r>=0),Si(n>=0),this.radii=new ie(t,r,n),this.radiiSquared=new ie(t*t,r*r,n*n),this.radiiToTheFourth=new ie(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new ie(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new ie(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=tve,i=j1t,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){_3.from(t);let n=this.scaleToGeodeticSurface(_3,js);if(!n)return;let i=this.geodeticSurfaceNormal(n,tve),a=R1t;a.copy(_3).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Zm.dot(a,_3))*Zm.length(a);return Yge([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new Sr){return qR(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new Sr){return qR(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return y3.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=Xge(t),i=n[0],a=n[1],o=Math.cos(a);return y3.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),y3.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return y3.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return eve(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){js.from(t);let n=js.x,i=js.y,a=js.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return js.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return js.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return js.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){Si(lo(this.radii.x,this.radii.y,Os.EPSILON15)),Si(this.radii.z>0),js.from(t);let i=js.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return js.set(0,0,i).to(n)}};At(Ut,"WGS84",new Ut(6378137,6378137,Jc));var Ti={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Wer=new ie,$er=new ie;var _y=new ie,rve=new ie,Sa=class{constructor(t=[0,0,0],r=0){At(this,"center",void 0),At(this,"radius",void 0),this.radius=-0,this.center=new ie,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=_y.from(r),this.center=new ie().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 Sa(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=_y.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return rve.copy(o).scale((-n+u)/s).add(r),this.center.copy(rve),this.radius=u,this}expand(t){let n=_y.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=g3.getScaling(_y,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=_y.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?Ti.OUTSIDE:a<n?Ti.INTERSECTING:Ti.INSIDE}};var M1t=new ie,L1t=new ie,w3=new ie,E3=new ie,A3=new ie,q1t=new ie,N1t=new ie,Xc={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Ci=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){At(this,"center",void 0),At(this,"halfAxes",void 0),this.center=new ie().from(t),this.halfAxes=new hr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ie(t).len(),new ie(r).len(),new ie(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new ie(t).normalize(),a=new ie(r).normalize(),o=new ie(n).normalize();return new Uo().fromMatrix3(new hr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Uo(n),a=new hr().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new ie().from(t),this.halfAxes=a,this}clone(){return new Ci(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new Sa){let r=this.halfAxes,n=r.getColumn(0,w3),i=r.getColumn(1,E3),a=r.getColumn(2,A3),o=M1t.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[Xc.COLUMN0ROW0]+o*i[Xc.COLUMN0ROW1]+s*i[Xc.COLUMN0ROW2])+Math.abs(a*i[Xc.COLUMN1ROW0]+o*i[Xc.COLUMN1ROW1]+s*i[Xc.COLUMN1ROW2])+Math.abs(a*i[Xc.COLUMN2ROW0]+o*i[Xc.COLUMN2ROW1]+s*i[Xc.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?Ti.OUTSIDE:c>=u?Ti.INSIDE:Ti.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=L1t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,w3),a=n.getColumn(1,E3),o=n.getColumn(2,A3),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,w3),c=s.getColumn(1,E3),l=s.getColumn(2,A3),f=q1t.copy(u).add(c).add(l).add(o),p=N1t.copy(f).subtract(t),d=r.dot(p);return i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,w3);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,E3);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,A3);return i.transformAsPoint(t),this.halfAxes=new hr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var nve=new ie,ive=new ie,Yc=class{constructor(t=[0,0,1],r=0){At(this,"normal",void 0),At(this,"distance",void 0),this.normal=new ie,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return Si(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=nve.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,i){return this.normal.set(t,r,n),Si(lo(this.normal.len(),1)),this.distance=i,this}clone(){return new Yc(this.normal,this.distance)}equals(t){return lo(this.distance,t.distance)&&lo(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=ive.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=nve.from(t),i=this.getPointDistance(n),a=ive.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var ave=[new ie([1,0,0]),new ie([0,1,0]),new ie([0,0,1])],ove=new ie,U1t=new ie,Go=class{constructor(t=[]){At(this,"planes",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*ave.length;let r=t.center,n=t.radius,i=0;for(let a of ave){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new Yc),s||(s=this.planes[i+1]=new Yc);let u=ove.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=ove.copy(a).scale(n).add(r),l=U1t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=Ti.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case Ti.OUTSIDE:return Ti.OUTSIDE;case Ti.INTERSECTING:r=Ti.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(Si(Number.isFinite(r),"parentPlaneMask is required."),r===Go.MASK_OUTSIDE||r===Go.MASK_INSIDE)return r;let n=Go.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===Ti.OUTSIDE)return Go.MASK_OUTSIDE;u===Ti.INTERSECTING&&(n|=o)}return n}};At(Go,"MASK_OUTSIDE",4294967295);At(Go,"MASK_INSIDE",0);At(Go,"MASK_INDETERMINATE",2147483647);var mtr=new ie,gtr=new ie,vtr=new ie,btr=new ie,xtr=new ie;var z1t=new ie,H1t=new ie,W1t=new ie,$1t=new ie,V1t=new ie,K1t=new ie,J1t=new ie,rg=new ie,X1t=new ie,Y1t=new ie,Q1t=new ie,Z1t=new ie;function NR(e,t=new Sa){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=J1t.copy(e[0]),n=z1t.copy(r),i=H1t.copy(r),a=W1t.copy(r),o=$1t.copy(r),s=V1t.copy(r),u=K1t.copy(r);for(let B of e){r.copy(B);let j=r.x,U=r.y,I=r.z;j<n.x&&n.copy(r),j>o.x&&o.copy(r),U<i.y&&i.copy(r),U>s.y&&s.copy(r),I<a.z&&a.copy(r),I>u.z&&u.copy(r)}let c=rg.copy(o).subtract(n).magnitudeSquared(),l=rg.copy(s).subtract(i).magnitudeSquared(),f=rg.copy(u).subtract(a).magnitudeSquared(),p=n,d=o,m=c;l>m&&(m=l,p=i,d=s),f>m&&(m=f,p=a,d=u);let g=X1t;g.x=(p.x+d.x)*.5,g.y=(p.y+d.y)*.5,g.z=(p.z+d.z)*.5;let v=rg.copy(d).subtract(g).magnitudeSquared(),y=Math.sqrt(v),w=Y1t;w.x=n.x,w.y=i.y,w.z=a.z;let A=Q1t;A.x=o.x,A.y=s.y,A.z=u.z;let C=Z1t.copy(w).add(A).multiplyByScalar(.5),T=0;for(let B of e){r.copy(B);let j=rg.copy(r).subtract(C).magnitude();j>T&&(T=j);let U=rg.copy(r).subtract(g).magnitudeSquared();if(U>v){let I=Math.sqrt(U);y=(y+I)*.5,v=y*y;let R=I-y;g.x=(y*g.x+R*r.x)/I,g.y=(y*g.y+R*r.y)/I,g.z=(y*g.z+R*r.z)/I}}return y<T?(g.to(t.center),t.radius=y):(C.to(t.center),t.radius=T),t}var Hu=new hr,e2t=new hr,t2t=new hr,S3=new hr,sve=new hr;function zR(e,t={}){let r=Os.EPSILON20,n=10,i=0,a=0,o=e2t,s=t2t;o.identity(),s.copy(e);let u=r*r2t(s);for(;a<n&&n2t(s)>u;)i2t(s,S3),sve.copy(S3).transpose(),s.multiplyRight(S3),s.multiplyLeft(sve),o.multiplyRight(S3),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function r2t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var UR=[1,0,0],GR=[2,2,1];function n2t(e){let t=0;for(let r=0;r<3;++r){let n=e[Hu.getElementIndex(GR[r],UR[r])];t+=2*n*n}return Math.sqrt(t)}function i2t(e,t){let r=Os.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[Hu.getElementIndex(GR[c],UR[c])]);l>n&&(i=c,n=l)}let a=UR[i],o=GR[i],s=1,u=0;if(Math.abs(e[Hu.getElementIndex(o,a)])>r){let c=e[Hu.getElementIndex(o,o)],l=e[Hu.getElementIndex(a,a)],f=e[Hu.getElementIndex(o,a)],p=(c-l)/2/f,d;p<0?d=-1/(-p+Math.sqrt(1+p*p)):d=1/(p+Math.sqrt(1+p*p)),s=1/Math.sqrt(1+d*d),u=d*s}return hr.IDENTITY.to(t),t[Hu.getElementIndex(a,a)]=t[Hu.getElementIndex(o,o)]=s,t[Hu.getElementIndex(o,a)]=u,t[Hu.getElementIndex(a,o)]=-u,t}var qf=new ie,o2t=new ie,s2t=new ie,u2t=new ie,c2t=new ie,l2t=new hr,f2t={diagonal:new hr,unitary:new hr};function wy(e,t=new Ci){if(!e||e.length===0)return t.halfAxes=new hr([0,0,0,0,0,0,0,0,0]),t.center=new ie,t;let r=e.length,n=new ie(0,0,0);for(let I of e)n.add(I);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let I of e){let R=qf.copy(I).subtract(n);a+=R.x*R.x,o+=R.x*R.y,s+=R.x*R.z,u+=R.y*R.y,c+=R.y*R.z,l+=R.z*R.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=l2t;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:p}=zR(f,f2t),d=t.halfAxes.copy(p),m=d.getColumn(0,s2t),g=d.getColumn(1,u2t),v=d.getColumn(2,c2t),y=-Number.MAX_VALUE,w=-Number.MAX_VALUE,A=-Number.MAX_VALUE,C=Number.MAX_VALUE,T=Number.MAX_VALUE,B=Number.MAX_VALUE;for(let I of e)qf.copy(I),y=Math.max(qf.dot(m),y),w=Math.max(qf.dot(g),w),A=Math.max(qf.dot(v),A),C=Math.min(qf.dot(m),C),T=Math.min(qf.dot(g),T),B=Math.min(qf.dot(v),B);m=m.multiplyByScalar(.5*(C+y)),g=g.multiplyByScalar(.5*(T+w)),v=v.multiplyByScalar(.5*(B+A)),t.center.copy(m).add(g).add(v);let j=o2t.set(y-C,w-T,A-B).multiplyByScalar(.5),U=new hr([j[0],0,0,0,j[1],0,0,0,j[2]]);return t.halfAxes.multiplyRight(U),t}function fve(e){return e!=null}var Qtr=new ie,p2t=new ie,d2t=new ie,h2t=new ie,Td=new ie,uve=new ie,cve=new ie,lve=new ie;function Ey(e,t,r){if(jt(e,"3D Tile: boundingVolume must be defined"),e.box)return pve(e.box,t,r);if(e.region)return g2t(e.region);if(e.sphere)return m2t(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function pve(e,t,r){let n=new ie(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Uo;l.fromArray(e,6);let f=new ie([1,0,0]),p=new ie([0,1,0]),d=new ie([0,0,1]);f.transformByQuaternion(l),f.scale(c[0]),p.transformByQuaternion(l),p.scale(c[1]),d.transformByQuaternion(l),d.scale(c[2]),i=[...f.toArray(),...p.toArray(),...d.toArray()]}else i=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let a=t.transformAsVector(i.slice(0,3)),o=t.transformAsVector(i.slice(3,6)),s=t.transformAsVector(i.slice(6,9)),u=new hr([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return fve(r)?(r.center=n,r.halfAxes=u,r):new Ci(n,u)}function m2t(e,t,r){let n=new ie(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(p2t),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return fve(r)?(r.center=n,r.radius=o,r):new Sa(n,o)}function g2t(e){let[t,r,n,i,a,o]=e,s=Ut.WGS84.cartographicToCartesian([Kc(t),Kc(i),a],d2t),u=Ut.WGS84.cartographicToCartesian([Kc(n),Kc(r),o],h2t),c=new ie().addVectors(s,u).multiplyByScalar(.5);return Ut.WGS84.cartesianToCartographic(c,Td),Ut.WGS84.cartographicToCartesian([Kc(n),Td[1],Td[2]],uve),Ut.WGS84.cartographicToCartesian([Td[0],Kc(i),Td[2]],cve),Ut.WGS84.cartographicToCartesian([Td[0],Td[1],o],lve),pve([...c,...uve.subtract(c),...cve.subtract(c),...lve.subtract(c)],new Sr)}var ng="4.2.0-alpha.4";var zo={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},nrr=Object.keys(zo),Nf={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function HR(e,t,r){jt(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function dve(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 T3="4.2.0-alpha.4";var hve={name:"Draco",id:"draco",module:"draco",version:T3,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 gve(e,t,r){let n=vve(t.metadata),i=[],a=v2t(t.attributes);for(let o in e){let s=e[o],u=mve(o,s,a[o]);i.push(u)}if(r){let o=mve("indices",r);i.push(o)}return{fields:i,metadata:n}}function v2t(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function mve(e,t,r){let n=r?vve(r.metadata):void 0;return rR(e,t,n)}function vve(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var bve={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},b2t={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},x2t=4,Ay=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 i=this.decoder.GetEncodedGeometryType(n),a=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,a);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,a);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!a.ptr){let p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}let s=this._getDracoLoaderData(a,i,r),u=this._getMeshData(a,s,r),c=tR(u.attributes),l=gve(u.attributes,s,u.indices);return{loader:"draco",loaderData:s,header:{vertexCount:a.num_points(),boundingBox:c},...u,schema:l}}finally{this.draco.destroy(n),a&&this.draco.destroy(a)}}_getDracoLoaderData(t,r,n){let i=this._getTopLevelMetadata(t),a=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:i,attributes:a}}_getDracoAttributes(t,r){let n={};for(let i=0;i<t.num_attributes();i++){let a=this.decoder.GetAttribute(t,i),o=this._getAttributeMetadata(t,i);n[a.unique_id()]={unique_id:a.unique_id(),attribute_type:a.attribute_type(),data_type:a.data_type(),num_components:a.num_components(),byte_offset:a.byte_offset(),byte_stride:a.byte_stride(),normalized:a.normalized(),attribute_index:i,metadata:o};let s=this._getQuantizationTransform(a,r);s&&(n[a.unique_id()].quantization_transform=s);let u=this._getOctahedronTransform(a,r);u&&(n[a.unique_id()].octahedron_transform=u)}return n}_getMeshData(t,r,n){let i=this._getMeshAttributes(r,t,n);if(!i.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:i,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(t,r,n){let i={};for(let a of Object.values(t.attributes)){let o=this._deduceAttributeName(a,n);a.name=o;let{value:s,size:u}=this._getAttributeValues(r,a);i[o]={value:s,size:u,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}return i}_getTriangleListIndices(t){let n=t.num_faces()*3,i=n*x2t,a=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(t,i,a),new Uint32Array(this.draco.HEAPF32.buffer,a,n).slice()}finally{this.draco._free(a)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),w2t(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=b2t[r.data_type],i=r.num_components,o=t.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=y2t(this.draco,n),c,l=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,f,u,s,l),c=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:c,size:i}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[o,s]of Object.entries(r.extraAttributes||{}))if(s===n)return o;let i=t.attribute_type;for(let o in bve)if(this.draco[o]===i)return bve[o];let a=r.attributeNameEntry||"name";return t.metadata[a]?t.metadata[a].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 i=0;i<n;i++){let a=this.metadataQuerier.GetEntryName(t,i);r[a]=this._getDracoMetadataField(t,a)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let i=_2t(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,i=[...r,...n];for(let a of i)this.decoder.SkipAttributeTransform(this.draco[a])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(s=>o.min_value(s))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function y2t(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 _2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function w2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var E2t="1.5.6",A2t="1.4.1",WR=`https://www.gstatic.com/draco/versioned/decoders/${E2t}`,Rn={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Uf={[Rn.DECODER]:`${WR}/${Rn.DECODER}`,[Rn.DECODER_WASM]:`${WR}/${Rn.DECODER_WASM}`,[Rn.FALLBACK_DECODER]:`${WR}/${Rn.FALLBACK_DECODER}`,[Rn.ENCODER]:`https://raw.githubusercontent.com/google/draco/${A2t}/javascript/${Rn.ENCODER}`},Sy;async function xve(e){let t=e.modules||{};return t.draco3d?Sy=Sy||t.draco3d.createDecoderModule({}).then(r=>({draco:r})):Sy=Sy||S2t(e),await Sy}async function S2t(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await Au(Uf[Rn.FALLBACK_DECODER],"draco",e,Rn.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await Au(Uf[Rn.DECODER],"draco",e,Rn.DECODER),await Au(Uf[Rn.DECODER_WASM],"draco",e,Rn.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await T2t(t,r)}function T2t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var $R={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:T3,worker:!0,options:{draco:{},source:null}};var ig={...hve,parse:C2t};async function C2t(e,t){let{draco:r}=await xve(t),n=new Ay(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var D2t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},zn={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},St={...D2t,...zn};var VR={[zn.DOUBLE]:Float64Array,[zn.FLOAT]:Float32Array,[zn.UNSIGNED_SHORT]:Uint16Array,[zn.UNSIGNED_INT]:Uint32Array,[zn.UNSIGNED_BYTE]:Uint8Array,[zn.BYTE]:Int8Array,[zn.SHORT]:Int16Array,[zn.INT]:Int32Array},F2t={DOUBLE:zn.DOUBLE,FLOAT:zn.FLOAT,UNSIGNED_SHORT:zn.UNSIGNED_SHORT,UNSIGNED_INT:zn.UNSIGNED_INT,UNSIGNED_BYTE:zn.UNSIGNED_BYTE,BYTE:zn.BYTE,SHORT:zn.SHORT,INT:zn.INT},KR="Failed to convert GL type",pa=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in VR)if(VR[r]===t)return r;throw new Error(KR)}static fromName(t){let r=F2t[t];if(!r)throw new Error(KR);return r}static getArrayType(t){switch(t){case zn.UNSIGNED_SHORT_5_6_5:case zn.UNSIGNED_SHORT_4_4_4_4:case zn.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=VR[t];if(!r)throw new Error(KR);return r}}static getByteSize(t){return pa.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(pa.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/pa.getByteSize(t));let a=pa.getArrayType(t);return new a(r,n,i)}};function yve(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function JR(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,i=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=i<<3,t}var Brr=1/256;var Irr=new Ed,Prr=new ie,Orr=new Ed,jrr=new Ed,Rrr=new Uint8Array(1);function _ve(e,t=255){return oR(e,0,t)/t*2-1}function wve(e){return e<0?-1:1}function Eve(e,t,r,n){if(yve(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=_ve(e,r),n.y=_ve(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*wve(i),n.y=(1-Math.abs(i))*wve(n.y)}return n.normalize()}function XR(e,t,r){return Eve(e,t,255,r)}function C3(e){return(e%1+1)%1}var Qc=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=St.UNSIGNED_INT,n=1){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,i.byteOffset):i}getPropertyArray(t,r,n){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=pa.fromName(i.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(t,r,i)}getProperty(t,r,n,i,a){let o=this.json[t];if(!o)return o;let s=this.getPropertyArray(t,r,n);if(n===1)return s[i];for(let u=0;u<n;++u)a[u]=s[n*i+u];return a}_getTypedArrayFromBinary(t,r,n,i,a){let o=this._cachedTypedArrays,s=o[t];return s||(s=pa.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+a,i*n),o[t]=s),s}_getTypedArrayFromArray(t,r,n){let i=this._cachedTypedArrays,a=i[t];return a||(a=pa.createTypedArray(r,n),i[t]=a),a}};var k2t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},B2t={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]]},I2t={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 Ave(e,t,r,n){let{componentType:i}=e;jt(e.componentType);let a=typeof i=="string"?pa.fromName(i):i,o=k2t[e.type],s=B2t[e.type],u=I2t[e.type];return r+=e.byteOffset,{values:pa.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Wu=e=>e!==void 0;function Sve(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),i=t.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?P2t(n,r):null}function P2t(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Wu(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,i=getBinaryAccessor(s),s=i.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,a));let f;if(Wu(u))for(Wu(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(t.buffer,t.byteOffset+u.byteOffset,a)),f=new Uint16Array(a),l=0,r=0;r<a;++r)f[r]=l,l+=u[r];Wu(c)&&Wu(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let p=o.length;for(r=0;r<p;++r){let v=o[r].length,y=o[r].instances,w=getBinaryProperties(v,y,t);o[r].instances=combine(w,y)}let d=new Array(p).fill(0),m=new Uint16Array(a);for(r=0;r<a;++r)n=s[r],m[r]=d[n],++d[n];let g={classes:o,classIds:s,classIndexes:m,parentCounts:u,parentIndexes:f,parentIds:c};return R2t(g),g}function ag(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?O2t(e,t,r):j2t(e,t,r)}function O2t(e,t,r){let n=e.classIds,i=e.parentCounts,a=e.parentIds,o=e.parentIndexes,s=n.length,u=scratchVisited;u.length=Math.max(u.length,s);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),u[t]===c)continue;u[t]=c;let f=r(e,t);if(Wu(f))return f;let p=i[t],d=o[t];for(let m=0;m<p;++m){let g=a[d+m];g!==t&&l.push(g)}}return null}function j2t(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Wu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function R2t(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)Tve(e,i,stack)}function Tve(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Wu(i))return;assert(t<s,`Parent index ${t} exceeds the total number of instances: ${s}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let u=Wu(n)?n[t]:1,c=Wu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&Tve(e,f,r)}r.pop(t)}function Wa(e){return e!=null}var D3=(e,t)=>e,M2t={HIERARCHY:!0,extensions:!0,extras:!0},Cd=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;jt(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=((a=this.json)==null?void 0:a.extensions)||{},this._properties={};for(let o in this.json)M2t[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Sve(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),jt(typeof r=="string",r),this._hierarchy){let n=ag(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Wa(n)}return!1}isExactClass(t,r){return jt(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),jt(typeof r=="string",r),Wa(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Wa(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),jt(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Wa(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Wa(n))return D3(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Wa(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),jt(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(o){this._setBinaryProperty(o,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let a=this._properties[r];Wa(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=D3(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],i=this._initializeBinaryProperty(r,n);i&&(t=t||{},t[r]=i)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;jt(this.binary,`Property ${t} requires a batch table binary.`),jt(n.type,`Property ${t} requires a type.`);let i=Ave(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=ag(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Wa(s[r])});return Wa(n)}_getPropertyNamesInHierarchy(t,r){ag(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a].instances;for(let s in o)o.hasOwnProperty(s)&&r.indexOf(s)===-1&&r.push(s)})}_getHierarchyProperty(t,r){return ag(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Wa(u)?Wa(u.typedArray)?this._getBinaryProperty(u,s):D3(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=ag(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Wa(f)?(jt(s===r,`Inherited property "${n}" is read-only.`),Wa(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=D3(i,!0),!0):!1});return Wa(a)}};var YR=4;function Gf(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=YR,e.version=n.getUint32(r,!0),r+=YR,e.byteLength=n.getUint32(r,!0),r+=YR,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var og=4,Cve="b3dm tile in legacy format.";function sg(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=og;let o=n.getUint32(r,!0);r+=og;let s=n.getUint32(r,!0);r+=og;let u=n.getUint32(r,!0);return r+=og,s>=570425344?(r-=og*2,i=a,s=o,u=0,a=0,o=0,console.warn(Cve)):u>=570425344&&(r-=og,i=s,s=a,u=o,a=0,o=0,console.warn(Cve)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function ug(e,t,r,n){return r=L2t(e,t,r,n),r=q2t(e,t,r,n),r}function L2t(e,t,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:a,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){let s=HR(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function q2t(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=HR(t,r,i);e.batchTableJson=JSON.parse(o),r+=i,a&&a>0&&(e.batchTableBinary=new Uint8Array(t,r,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=a)}return r}function QR(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:a=0}=e;if(n&&r){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=n[s],l=r.getProperty(u,"dimensions").map(f=>f*255);o[s*3]=l[0],o[s*3+1]=l[1],o[s*3+2]=l[2]}return{type:St.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(t&&i){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=JR(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:St.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:St.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:St.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var Dve=new ie;function Fve(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++)XR(t[n*2],t[n*2+1],Dve),Dve.toArray(r,n*3);return{type:St.FLOAT,size:2,value:r}}return{type:St.FLOAT,size:2,value:t}}function kve(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,N2t(e,t)):{type:St.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function N2t(e,t){let r=new ie,n=new Float32Array(e.pointCount*3);for(let i=0;i<e.pointCount;i++)r.set(t[i*3],t[i*3+1],t[i*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,i*3);return n}async function Bve(e,t,r,n,i){r=Gf(e,t,r),r=sg(e,t,r),r=ug(e,t,r,n),U2t(e);let{featureTable:a,batchTable:o}=G2t(e);return await V2t(e,a,o,n,i),z2t(e,a,n),H2t(e,a,o),W2t(e,a),r}function U2t(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function G2t(e){let t=new Qc(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",St.FLOAT,3);let n=$2t(e,t);return{featureTable:t,batchTable:n}}function z2t(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",St.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",St.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",St.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",St.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=kve(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function H2t(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",St.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",St.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",St.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=QR(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",St.UNSIGNED_BYTE,4))}function W2t(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",St.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",St.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=Fve(e,r)}}function $2t(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",St.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:i,batchTableBinary:a}=e;r=new Cd(i,a,n)}return r}async function V2t(e,t,r,n,i){let a,o,s,u=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];u&&(s=u.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){o=c.properties;let f=c.byteOffset,p=c.byteLength;if(!o||!Number.isFinite(f)||!p)throw new Error("Draco properties, byteOffset, and byteLength must be defined");a=(e.featureTableBinary||[]).slice(f,f+p),e.hasPositions=Number.isFinite(o.POSITION),e.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),e.hasNormals=Number.isFinite(o.NORMAL),e.hasBatchIds=Number.isFinite(o.BATCH_ID),e.isTranslucent=Number.isFinite(o.RGBA)}if(!a)return!0;let l={buffer:a,properties:{...o,...s},featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await K2t(e,l,n,i)}async function K2t(e,t,r,n){if(!n)return;let i={...r,draco:{...r==null?void 0:r.draco,extraAttributes:t.batchTableProperties||{}}};delete i["3d-tiles"];let a=await io(t.buffer,ig,i,n),o=a.attributes.POSITION&&a.attributes.POSITION.value,s=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,c=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,l=o&&a.attributes.POSITION.value.quantization,f=u&&a.attributes.NORMAL.value.quantization;if(l){let d=a.POSITION.data.quantization,m=d.range;e.quantizedVolumeScale=new ie(m,m,m),e.quantizedVolumeOffset=new ie(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let p={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))a.attributes[d]&&a.attributes[d].value&&(p[d.toLowerCase()]=a.attributes[d].value);e.attributes={positions:o,colors:QR(e,s,void 0),normals:u,batchIds:c,...p}}var sM={};Pi(sM,{decode:()=>P_t,name:()=>q3});var F3="4.2.0-alpha.4";var Ive,J2t=(Ive=globalThis.loaders)==null?void 0:Ive.parseImageNode,ZR=typeof Image<"u",eM=typeof ImageBitmap<"u",X2t=Boolean(J2t),tM=jr?!0:X2t;function Pve(e){switch(e){case"auto":return eM||ZR||tM;case"imagebitmap":return eM;case"image":return ZR;case"data":return tM;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Ove(){if(eM)return"imagebitmap";if(ZR)return"image";if(tM)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function jve(e){let t=Y2t(e);if(!t)throw new Error("Not an image");return t}function rM(e){return cg(e)}function cg(e){switch(jve(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 Y2t(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 Q2t=/^data:image\/svg\+xml/,Z2t=/\.svg((\?|#).*)?$/;function k3(e){return e&&(Q2t.test(e)||Z2t.test(e))}function Rve(e,t){if(k3(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return nM(e,t)}function nM(e,t){if(k3(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function B3(e,t,r){let n=Rve(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await e_t(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function e_t(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,i)=>{try{r.onload=()=>n(r),r.onerror=a=>{let o=a instanceof Error?a.message:"error";i(new Error(o))}}catch(a){i(a)}})}var t_t={},Mve=!0;async function Lve(e,t,r){let n;k3(r)?n=await B3(e,t,r):n=nM(e,r);let i=t&&t.imagebitmap;return await r_t(n,i)}async function r_t(e,t=null){if((n_t(t)||!Mve)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Mve=!1}return await createImageBitmap(e)}function n_t(e){for(let t in e||t_t)return!1;return!0}function qve(e){return!s_t(e,"ftyp",4)||!(e[8]&96)?null:i_t(e)}function i_t(e){switch(a_t(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function a_t(e,t,r){return String.fromCharCode(...e.slice(t,r))}function o_t(e){return[...e].map(t=>t.charCodeAt(0))}function s_t(e,t,r=0){let n=o_t(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var $u=!1,Ty=!0;function Dd(e){let t=Cy(e);return c_t(t)||p_t(t)||l_t(t)||f_t(t)||u_t(t)}function u_t(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=qve(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function c_t(e){let t=Cy(e);return t.byteLength>=24&&t.getUint32(0,$u)===2303741511?{mimeType:"image/png",width:t.getUint32(16,$u),height:t.getUint32(20,$u)}:null}function l_t(e){let t=Cy(e);return t.byteLength>=10&&t.getUint32(0,$u)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,Ty),height:t.getUint16(8,Ty)}:null}function f_t(e){let t=Cy(e);return t.byteLength>=14&&t.getUint16(0,$u)===16973&&t.getUint32(2,Ty)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,Ty),height:t.getUint32(22,Ty)}:null}function p_t(e){let t=Cy(e);if(!(t.byteLength>=3&&t.getUint16(0,$u)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=d_t(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,$u);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,$u),width:t.getUint16(a+7,$u)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,$u)}return null}function d_t(){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 Cy(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 Nve(e,t){var i;let{mimeType:r}=Dd(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return jt(n),await n(e,r)}async function Uve(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=h_t(i),s;switch(o){case"imagebitmap":s=await Lve(e,t,a);break;case"image":s=await B3(e,t,a);break;case"data":s=await Nve(e,t);break;default:jt(!1)}return i==="data"&&(s=cg(s)),s}function h_t(e){switch(e){case"auto":case"data":return Ove();default:return Pve(e),e}}var m_t=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],g_t=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],v_t={image:{type:"auto",decode:!0}},lg={id:"image",module:"images",name:"Images",version:F3,mimeTypes:g_t,extensions:m_t,parse:Uve,tests:[e=>Boolean(Dd(new DataView(e)))],options:v_t};var Hve,Gve=(Hve=globalThis.loaders)==null?void 0:Hve.encodeImageNode;async function Wve(e,t){return t=t||{},t.image=t.image||{},Gve?Gve(e,{type:t.image.mimeType}):b_t(e,t)}var zve=!0;async function b_t(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=rM(e),o=document.createElement("canvas");o.width=i,o.height=a,x_t(e,o);let s=await new Promise(u=>{if(n&&zve)try{o.toBlob(u,r,n);return}catch{zve=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function x_t(e,t,r=0,n=0){if(r===0&&n===0&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let a=t.getContext("bitmaprenderer");if(a)return a.transferFromImageBitmap(e),t}let i=t.getContext("2d");if(e.data){let a=new Uint8ClampedArray(e.data),o=new ImageData(a,e.width,e.height);return i.putImageData(o,0,0),t}return i.drawImage(e,0,0),t}var iM={name:"Images",id:"image",module:"images",version:F3,extensions:["jpeg"],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:Wve};var aM={};function oM(e){if(aM[e]===void 0){let t=jr?__t(e):y_t(e);aM[e]=t}return aM[e]}function y_t(e){var i,a;let t=["image/png","image/jpeg","image/gif"],r=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||t,n=(a=globalThis.loaders)==null?void 0:a.parseImageNode;return Boolean(n)&&r.includes(e)}function __t(e){switch(e){case"image/avif":case"image/webp":return w_t(e);default:return!0}}function w_t(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function pi(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var I3={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},P3={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var E_t=1.33,$ve=["SCALAR","VEC2","VEC3","VEC4"],A_t=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],S_t=new Map(A_t),T_t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},C_t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},D_t={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function O3(e){return $ve[e-1]||$ve[0]}function fg(e){let t=S_t.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function pg(e,t){let r=D_t[e.componentType],n=T_t[e.type],i=C_t[e.componentType],a=e.count*n,o=e.count*n*i;pi(o>=0&&o<=t.byteLength);let s=P3[e.componentType],u=I3[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function Dy(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(o=>o.bufferView);r=r.filter(o=>!n.includes(o));let i=r.reduce((o,s)=>o+s.byteLength,0),a=t.reduce((o,s)=>{let{width:u,height:c}=s.image;return o+u*c},0);return i+Math.ceil(4*a*E_t)}function Vve(e,t,r){let n=e.bufferViews[r];pi(n);let i=n.buffer,a=t[i];pi(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function Kve(e,t,r){var g,v;let n=typeof r=="number"?(g=e.accessors)==null?void 0:g[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(v=e.bufferViews)==null?void 0:v[n.bufferView||0];if(!i)throw new Error(`No gltf buffer view for accessor ${i}`);let{arrayBuffer:a,byteOffset:o}=t[i.buffer],s=(o||0)+(n.byteOffset||0)+(i.byteOffset||0),{ArrayType:u,length:c,componentByteSize:l,numberOfComponentsInElement:f}=pg(n,i),p=l*f,d=i.byteStride||p;if(typeof i.byteStride>"u"||i.byteStride===p)return new u(a,s,c);let m=new u(c);for(let y=0;y<n.count;y++){let w=new u(a,s+y*d,f);m.set(w,y*f)}return m}function F_t(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var xr=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||F_t(),buffers:(t==null?void 0:t.buffers)||[],images:(t==null?void 0: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(i=>i===t),n=this.getRequiredExtensions().find(i=>i===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(i=>i===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];pi(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return Kve(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),i=this.getBuffer(r.buffer).data,a=r.byteOffset||0;return new Uint8Array(i,a,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 i=t.extensions||{};i[r]=n}removeObjectExtension(t,r){let n=(t==null?void 0:t.extensions)||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(r)||i.push(r)}delete n[r]}addExtension(t,r={}){return pi(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return pi(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){var r;if((r=this.json.extensions)!=null&&r[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(t)||n.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 i={mesh:r};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:i,mode:a=4}=t,s={primitives:[{attributes:this._addAttributes(r),mode:a}]};if(n){let u=this._addIndices(n);s.primitives[0].indices=u}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),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=Dd(t),i=r||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let i=t.byteLength;pi(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=oo(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(a),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:O3(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),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,r.size));let a={size:r.size,componentType:fg(t),count:Math.round(t.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(a,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(){var a,o;this.gltf.buffers=[];let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=H5(s,n,i);(o=(a=this.json)==null?void 0:a.buffers)!=null&&o[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 i=t.indexOf(r);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let i=t[n],a=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);r[a]=o}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 i=t.subarray(0,r);for(let a of i)n.min.push(a),n.max.push(a);for(let a=r;a<t.length;a+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],t[a+o]),n.max[0+o]=Math.max(n.max[0+o],t[a+o]);return n}};function Jve(e){return(e%1+1)%1}var Xve={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},k_t={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Yve={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Fy(e,t){return Yve[t]*Xve[e]}function dg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=hg(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function hg(e,t,r,n=1){let i=Xve[t],a=k_t[r],o=Yve[r],s=n*i,u=s*o,c=e.buffer,l=e.byteOffset;return l%o!==0&&(c=new Uint8Array(c).slice(l,l+u).buffer,l=0),new a(c,l,s)}function mg(e,t,r){var c,l,f,p,d;let n=`TEXCOORD_${t.texCoord||0}`,i=r.attributes[n],a=e.getTypedArrayForAccessor(i),o=e.gltf.json,s=t.index,u=(l=(c=o.textures)==null?void 0:c[s])==null?void 0:l.source;if(typeof u<"u"){let m=(p=(f=o.images)==null?void 0:f[u])==null?void 0:p.mimeType,g=(d=e.gltf.images)==null?void 0:d[u];if(g&&typeof g.width<"u"){let v=[];for(let y=0;y<a.length;y+=2){let w=B_t(g,m,a,y,t.channels);v.push(w)}return v}}return[]}function j3(e,t,r,n,i){if(!(r!=null&&r.length))return;let a=[];for(let l of r){let f=n.findIndex(p=>p===l);f===-1&&(f=n.push(l)-1),a.push(f)}let o=new Uint32Array(a),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,u=e.addBufferView(o,s,0),c=e.addAccessor(u,{size:1,componentType:fg(o),count:o.length});i.attributes[t]=c}function B_t(e,t,r,n,i=[0]){let a={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=r[n],s=r[n+1],u=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(u=4);let c=I_t(o,s,e,u),l=0;for(let f of i){let p=typeof f=="number"?Object.values(a)[f]:a[f],d=c+p.offset,m=cg(e);if(m.data.length<=d)throw new Error(`${m.data.length} <= ${d}`);let g=m.data[d];l|=g<<p.shift}return l}function I_t(e,t,r,n=1){let i=r.width,a=Jve(e)*(i-1),o=Math.round(a),s=r.height,u=Jve(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function R3(e,t,r,n,i){let a=[];for(let o=0;o<t;o++){let s=r[o],u=r[o+1]-r[o];if(u+s>n)break;let c=s/i,l=u/i;a.push(e.slice(c,c+l))}return a}function M3(e,t,r){let n=[];for(let i=0;i<t;i++){let a=i*r;n.push(e.slice(a,a+r))}return n}function L3(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],a=new TextDecoder("utf8"),o=0;for(let s=0;s<e;s++){let u=n[s+1]-n[s];if(u+o<=t.length){let c=t.subarray(o,u+o),l=a.decode(c);i.push(l),o+=u}}return i}return[]}var Qve="EXT_mesh_features",q3=Qve;async function P_t(e,t){let r=new xr(e);O_t(r,t)}function O_t(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)j_t(e,i,t)}function j_t(e,t,r){var a,o,s;if(!((a=r==null?void 0:r.gltf)!=null&&a.loadBuffers))return;let n=(o=t.extensions)==null?void 0:o[Qve],i=n==null?void 0:n.featureIds;if(i)for(let u of i){let c;if(typeof u.attribute<"u"){let l=`_FEATURE_ID_${u.attribute}`,f=t.attributes[l];c=e.getTypedArrayForAccessor(f)}else typeof u.texture<"u"&&((s=r==null?void 0:r.gltf)!=null&&s.loadImages)?c=mg(e,u.texture,t):c=[];u.data=c}}var lM={};Pi(lM,{decode:()=>R_t,name:()=>Zc});var uM="EXT_structural_metadata",Zc=uM;async function R_t(e,t){let r=new xr(e);M_t(r,t)}function M_t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(uM);r&&((i=t.gltf)!=null&&i.loadImages&&L_t(e,r),q_t(e,r))}function L_t(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let a of i.primitives)U_t(e,r,a,t)}function q_t(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.propertyTables;if(n&&i)for(let a in n){let o=N_t(i,a);o&&z_t(e,r,o)}}function N_t(e,t){for(let r of e)if(r.class===t)return r;return null}function U_t(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[uM],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];G_t(e,u,r,n)}}function G_t(e,t,r,n){var a;if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=t.class;for(let o in t.properties){let s=`${i}_${o}`,u=(a=t.properties)==null?void 0:a[o];if(!u)continue;u.data||(u.data=[]);let c=u.data,l=mg(e,u,r);l!==null&&(j3(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function z_t(e,t,r){var a,o;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=H_t(e,t,u,i,c);c.data=l}}}function H_t(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=W_t(e,r,i,n),c=$_t(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=V_t(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=L3(n,s,u,c);break}case"ENUM":{a=K_t(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function W_t(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?dg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function $_t(e,t,r){return typeof t.stringOffsets<"u"?dg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function V_t(e,t,r,n){let i=e.array,a=e.count,o=Fy(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=hg(r,e.type,e.componentType,s):u=r,i?n?R3(u,t,n,r.length,o):a?M3(u,t,a):[]:u}function K_t(e,t,r,n,i){var f;let a=t.enumType;if(!a)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=(f=e.enums)==null?void 0:f[a];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${a}`);let s=o.valueType||"UINT16",u=Fy(t.type,s),c=n.byteLength/u,l=hg(n,t.type,s,c);if(l||(l=n),t.array){if(i)return J_t({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let p=t.count;return p?X_t(l,r,p,o):[]}return cM(l,0,r,o)}function J_t(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:a,enumEntry:o}=e,s=[];for(let u=0;u<r;u++){let c=n[u],l=n[u+1]-n[u];if(l+c>i)break;let f=c/a,p=l/a,d=cM(t,f,p,o);s.push(d)}return s}function X_t(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=cM(e,o,r,n);i.push(s)}return i}function cM(e,t,r,n){let i=[];for(let a=0;a<r;a++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)i.push("");else{let o=e[t+a],s=Y_t(n,o);s?i.push(s.name):i.push("")}return i}function Y_t(e,t){for(let r of e.values)if(r.value===t)return r;return null}var fM={};Pi(fM,{decode:()=>Q_t,name:()=>Ho});var Zve="EXT_feature_metadata",Ho=Zve;async function Q_t(e,t){let r=new xr(e);Z_t(r,t)}function Z_t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(Zve);r&&((i=t.gltf)!=null&&i.loadImages&&ewt(e,r),twt(e,r))}function ewt(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:i}=t;if(n&&i)for(let a in n){let o=n[a],s=nwt(i,a);s&&awt(e,s,o)}}function twt(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.featureTables;if(n&&i)for(let a in n){let o=rwt(i,a);o&&iwt(e,r,o)}}function rwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function nwt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function iwt(e,t,r){var a,o;if(!r.class)return;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=owt(e,t,u,i,c);c.data=l}}}function awt(e,t,r){var i;let n=t.class;for(let a in r.properties){let o=(i=t==null?void 0:t.properties)==null?void 0:i[a];if(o){let s=fwt(e,o,n);o.data=s}}}function owt(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=swt(e,r,i,n),c=uwt(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=L3(n,s,u,c):cwt(r)&&(a=lwt(r,n,s,u)),a}function swt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?dg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function uwt(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?dg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function cwt(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 lwt(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=Fy(o,s),c=r.byteLength/u,l=hg(r,o,s,c);return i?n?R3(l,t,n,r.length,u):a?M3(l,t,a):[]:l}function fwt(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let i=[];for(let a of n.meshes)for(let o of a.primitives)pwt(e,r,t,i,o);return i}function pwt(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=mg(e,a,i);o&&j3(e,t,o,n,i)}var N3="4.2.0-alpha.4";var gg="4.2.0-alpha.4";var Vu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},pM;async function hM(e){let t=e.modules||{};return t.basis?t.basis:(pM=pM||dwt(e),await pM)}async function dwt(e){let t=null,r=null;return[t,r]=await Promise.all([await Au(Vu.TRANSCODER,"textures",e),await Au(Vu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await hwt(t,r)}function hwt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,initializeBasis:o}=i;o(),n({BasisFile:a})})})}var dM;async function mM(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(dM=dM||mwt(e),await dM)}async function mwt(e){let t=null,r=null;return[t,r]=await Promise.all([await Au(Vu.ENCODER,"textures",e),await Au(Vu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await gwt(t,r)}function gwt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,KTX2File:o,initializeBasis:s,BasisEncoder:u}=i;s(),n({BasisFile:a,KTX2File:o,BasisEncoder:u})})})}var xe={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 vwt=["","WEBKIT_","MOZ_"],ebe={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"},U3=null;function ky(e){if(!U3){e=e||bwt()||void 0,U3=new Set;for(let t of vwt)for(let r in ebe)if(e&&e.getExtension(`${t}${r}`)){let n=ebe[r];U3.add(n)}}return U3}function bwt(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var pbe=Pt(lbe(),1);function vg(e,t){let r=new Array(t.mipMapLevels),n=t.width,i=t.height,a=0;for(let o=0;o<t.mipMapLevels;++o){let s=_wt(t,n,i,e,o),u=ywt(e,o,a,s);r[o]={compressed:!0,format:t.internalFormat,data:u,width:n,height:i,levelSize:s},n=Math.max(1,n>>1),i=Math.max(1,i>>1),a+=s}return r}function ywt(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function _wt(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var wwt={131:xe.COMPRESSED_RGB_S3TC_DXT1_EXT,132:xe.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:xe.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:xe.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:xe.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:xe.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:xe.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:xe.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:xe.COMPRESSED_RED_RGTC1_EXT,140:xe.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:xe.COMPRESSED_RED_GREEN_RGTC2_EXT,142:xe.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:xe.COMPRESSED_RGB8_ETC2,148:xe.COMPRESSED_SRGB8_ETC2,149:xe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:xe.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:xe.COMPRESSED_RGBA8_ETC2_EAC,152:xe.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:xe.COMPRESSED_R11_EAC,154:xe.COMPRESSED_SIGNED_R11_EAC,155:xe.COMPRESSED_RG11_EAC,156:xe.COMPRESSED_SIGNED_RG11_EAC,157:xe.COMPRESSED_RGBA_ASTC_4x4_KHR,158:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:xe.COMPRESSED_RGBA_ASTC_5x4_KHR,160:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:xe.COMPRESSED_RGBA_ASTC_5x5_KHR,162:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:xe.COMPRESSED_RGBA_ASTC_6x5_KHR,164:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:xe.COMPRESSED_RGBA_ASTC_6x6_KHR,166:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:xe.COMPRESSED_RGBA_ASTC_8x5_KHR,168:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:xe.COMPRESSED_RGBA_ASTC_8x6_KHR,170:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:xe.COMPRESSED_RGBA_ASTC_8x8_KHR,172:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:xe.COMPRESSED_RGBA_ASTC_10x5_KHR,174:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:xe.COMPRESSED_RGBA_ASTC_10x6_KHR,176:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:xe.COMPRESSED_RGBA_ASTC_10x8_KHR,178:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:xe.COMPRESSED_RGBA_ASTC_10x10_KHR,180:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:xe.COMPRESSED_RGBA_ASTC_12x10_KHR,182:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:xe.COMPRESSED_RGBA_ASTC_12x12_KHR,184:xe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:xe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:xe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:xe.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:xe.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:xe.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:xe.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:xe.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:xe.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:xe.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:xe.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:xe.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:xe.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:xe.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:xe.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:xe.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:xe.COMPRESSED_RGBA_ASTC_12x12_KHR};function fbe(e){return wwt[e]}var fo=[171,75,84,88,32,50,48,187,13,10,26,10];function $3(e){let t=new Uint8Array(e);return!(t.byteLength<fo.length||t[0]!==fo[0]||t[1]!==fo[1]||t[2]!==fo[2]||t[3]!==fo[3]||t[4]!==fo[4]||t[5]!==fo[5]||t[6]!==fo[6]||t[7]!==fo[7]||t[8]!==fo[8]||t[9]!==fo[9]||t[10]!==fo[10]||t[11]!==fo[11])}function dbe(e){let t=new Uint8Array(e),r=(0,pbe.read)(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=fbe(r.vkFormat);return vg(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var Ewt={etc1:{basisFormat:0,compressed:!0,format:xe.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:xe.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:xe.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:xe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:xe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:xe.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 Iy(e,t){if(t.basis.containerFormat==="auto"){if($3(e)){let n=await mM(t);return hbe(n.KTX2File,e,t)}let{BasisFile:r}=await hM(t);return yM(r,e,t)}switch(t.basis.module){case"encoder":let r=await mM(t);switch(t.basis.containerFormat){case"ktx2":return hbe(r.KTX2File,e,t);case"basis":default:return yM(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await hM(t);return yM(n,e,t)}}function yM(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),a=[];for(let o=0;o<i;o++){let s=n.getNumLevels(o),u=[];for(let c=0;c<s;c++)u.push(Awt(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function Awt(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=mbe(n,o),l=e.getImageTranscodedSizeInBytes(t,r,c),f=new Uint8Array(l);if(!e.transcodeImage(f,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:a,data:f,compressed:s,format:u,hasAlpha:o}}function hbe(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),a=[];for(let o=0;o<i;o++){a.push(Swt(n,o,r));break}return[a]}finally{n.close(),n.delete()}}function Swt(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=mbe(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,u),l=new Uint8Array(c);if(!e.transcodeImage(l,t,0,0,u,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:i,data:l,compressed:o,levelSize:c,hasAlpha:n,format:s}}function mbe(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=bg()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Ewt[r]}function bg(){let e=ky();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 gbe={name:"Basis",id:"basis",module:"textures",version:gg,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"}}},Fd={...gbe,parse:Iy};var po={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},Twt={DXT1:xe.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:xe.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:xe.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":xe.COMPRESSED_RGB_ATC_WEBGL,ATCA:xe.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:xe.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},Cwt=xbe,Dwt=V3,Fwt=V3,kwt={DXT1:xbe,DXT3:V3,DXT5:V3,"ATC ":Cwt,ATCA:Dwt,ATCI:Fwt};function vbe(e){return new Uint32Array(e,0,po.HEADER_LENGTH)[po.MAGIC_NUMBER_INDEX]===po.MAGIC_NUMBER}function bbe(e){let t=new Int32Array(e,0,po.HEADER_LENGTH),r=t[po.HEADER_PF_FOURCC_INDEX];jt(Boolean(t[po.HEADER_PF_FLAGS_INDEX]&po.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=Bwt(r),i=Twt[n],a=kwt[n];jt(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[po.HEADER_FLAGS_INDEX]&po.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[po.MIPMAPCOUNT_INDEX]));let s=t[po.HEADER_WIDTH_INDEX],u=t[po.HEADER_HEIGHT_INDEX],c=t[po.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return vg(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function xbe(e,t){return(e+3>>2)*(t+3>>2)*8}function V3(e,t){return(e+3>>2)*(t+3>>2)*16}function Bwt(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Wo={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},Iwt={0:[xe.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[xe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[xe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[xe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[xe.COMPRESSED_RGB_ETC1_WEBGL],7:[xe.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[xe.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[xe.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[xe.COMPRESSED_RGB8_ETC2],23:[xe.COMPRESSED_RGBA8_ETC2_EAC],24:[xe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[xe.COMPRESSED_R11_EAC],26:[xe.COMPRESSED_RG11_EAC],27:[xe.COMPRESSED_RGBA_ASTC_4X4_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[xe.COMPRESSED_RGBA_ASTC_5X4_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[xe.COMPRESSED_RGBA_ASTC_5X5_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[xe.COMPRESSED_RGBA_ASTC_6X5_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[xe.COMPRESSED_RGBA_ASTC_6X6_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[xe.COMPRESSED_RGBA_ASTC_8X5_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[xe.COMPRESSED_RGBA_ASTC_8X6_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[xe.COMPRESSED_RGBA_ASTC_8X8_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[xe.COMPRESSED_RGBA_ASTC_10X5_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[xe.COMPRESSED_RGBA_ASTC_10X6_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[xe.COMPRESSED_RGBA_ASTC_10X8_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[xe.COMPRESSED_RGBA_ASTC_10X10_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[xe.COMPRESSED_RGBA_ASTC_12X10_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[xe.COMPRESSED_RGBA_ASTC_12X12_KHR,xe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},Pwt={0:ybe,1:ybe,2:_be,3:_be,6:Py,7:Py,9:Oy,11:Oy,22:Py,23:Oy,24:Py,25:Py,26:Oy,27:Oy,28:Owt,29:jwt,30:Rwt,31:Mwt,32:Lwt,33:qwt,34:Nwt,35:Uwt,36:Gwt,37:zwt,38:Hwt,39:Wwt,40:$wt};function wbe(e){let r=new Uint32Array(e,0,Wo.HEADER_LENGTH)[Wo.MAGIC_NUMBER_INDEX];return r===Wo.MAGIC_NUMBER||r===Wo.MAGIC_NUMBER_EXTRA}function Ebe(e){let t=new Uint32Array(e,0,Wo.HEADER_LENGTH),r=t[Wo.PIXEL_FORMAT_INDEX],n=t[Wo.COLOUR_SPACE_INDEX],i=Iwt[r]||[],a=i.length>1&&n?i[1]:i[0],o=Pwt[r],s=t[Wo.MIPMAPCOUNT_INDEX],u=t[Wo.WIDTH_INDEX],c=t[Wo.HEIGHT_INDEX],l=Wo.HEADER_SIZE+t[Wo.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return vg(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function ybe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function _be(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function Py(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function Oy(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Owt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function jwt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Rwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function Mwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function Lwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function qwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Nwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function Uwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function Gwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function zwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function Hwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function Wwt(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function $wt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function Abe(e){if($3(e))return dbe(e);if(vbe(e))return bbe(e);if(wbe(e))return Ebe(e);throw new Error("Texture container format not recognized")}var Sbe={name:"Texture Containers",id:"compressed-texture",module:"textures",version:gg,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},K3={...Sbe,parse:async(e,t)=>{var r;return(r=t==null?void 0:t["compressed-texture"])!=null&&r.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await Iy(e,t))[0]):Abe(e)}};var _M={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:gg,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var xg=!0,Tbe=1735152710,AM=12,J3=8,Vwt=1313821514,Kwt=5130562,Jwt=0,Xwt=0,Ywt=1;function Qwt(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 Cbe(e,t=0,r={}){let n=new DataView(e),{magic:i=Tbe}=r,a=n.getUint32(t,!1);return a===i||a===Tbe}function Dbe(e,t,r=0,n={}){let i=new DataView(t),a=Qwt(i,r+0),o=i.getUint32(r+4,xg),s=i.getUint32(r+8,xg);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=AM,e.version){case 1:return Zwt(e,i,r);case 2:return eEt(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function Zwt(e,t,r){jt(e.header.byteLength>AM+J3);let n=t.getUint32(r+0,xg),i=t.getUint32(r+4,xg);return r+=J3,jt(i===Jwt),wM(e,t,r,n),r+=n,r+=EM(e,t,r,e.header.byteLength),r}function eEt(e,t,r,n){return jt(e.header.byteLength>AM+J3),tEt(e,t,r,n),r+e.header.byteLength}function tEt(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,xg),a=t.getUint32(r+4,xg);switch(r+=J3,a){case Vwt:wM(e,t,r,i);break;case Kwt:EM(e,t,r,i);break;case Xwt:n.strict||wM(e,t,r,i);break;case Ywt:n.strict||EM(e,t,r,i);break;default:break}r+=oo(i,4)}return r}function wM(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),oo(n,4)}function EM(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),oo(n,4)}function SM(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 CM={};Pi(CM,{decode:()=>dEt,name:()=>pEt});var rEt="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",nEt="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",iEt=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]),aEt=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]),oEt={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},sEt={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Fbe(e,t,r,n,i,a="NONE"){let o=await uEt();fEt(o,o.exports[sEt[i]],e,t,r,n,o.exports[oEt[a||"NONE"]])}var TM;async function uEt(){return TM||(TM=cEt()),TM}async function cEt(){let e=rEt;WebAssembly.validate(iEt)&&(e=nEt,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(lEt(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function lEt(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let i=e.charCodeAt(n);t[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?aEt[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function fEt(e,t,r,n,i,a,o){let s=e.exports.sbrk,u=n+3&-4,c=s(u*i),l=s(a.length),f=new Uint8Array(e.exports.memory.buffer);f.set(a,l);let p=t(c,n,i,l,a.length);if(p===0&&o&&o(c,u,i),r.set(f.subarray(c,c+n*i)),s(c-s(0)),p!==0)throw new Error(`Malformed buffer data: ${p}`)}var X3="EXT_meshopt_compression",pEt=X3;async function dEt(e,t){var i,a;let r=new xr(e);if(!((i=t==null?void 0:t.gltf)!=null&&i.decompressMeshes)||!((a=t.gltf)!=null&&a.loadBuffers))return;let n=[];for(let o of e.json.bufferViews||[])n.push(hEt(r,o));await Promise.all(n),r.removeExtension(X3)}async function hEt(e,t){let r=e.getObjectExtension(t,X3);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:a,count:o,mode:s,filter:u="NONE",buffer:c}=r,l=e.gltf.buffers[c],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),p=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await Fbe(p,o,a,f,s,u),e.removeObjectExtension(t,X3)}}var DM={};Pi(DM,{name:()=>mEt,preprocess:()=>gEt});var yg="EXT_texture_webp",mEt=yg;function gEt(e,t){let r=new xr(e);if(!oM("image/webp")){if(r.getRequiredExtensions().includes(yg))throw new Error(`gltf: Required extension ${yg} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,yg);a&&(i.source=a.source),r.removeObjectExtension(i,yg)}r.removeExtension(yg)}var FM={};Pi(FM,{name:()=>vEt,preprocess:()=>bEt});var Y3="KHR_texture_basisu",vEt=Y3;function bEt(e,t){let r=new xr(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,Y3);a&&(i.source=a.source,r.removeObjectExtension(i,Y3))}r.removeExtension(Y3)}var BM={};Pi(BM,{decode:()=>EEt,encode:()=>AEt,name:()=>_Et,preprocess:()=>wEt});function kbe(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=kM(n);t[r]=i}}return t}function kM(e){let{buffer:t,size:r,count:n}=xEt(e);return{value:t,size:r,byteOffset:0,count:n,type:O3(r),componentType:fg(t)}}function xEt(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=yEt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function yEt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var zf="KHR_draco_mesh_compression",_Et=zf;function wEt(e,t,r){let n=new xr(e);for(let i of Bbe(n))n.getObjectExtension(i,zf)}async function EEt(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new xr(e),i=[];for(let o of Bbe(n))n.getObjectExtension(o,zf)&&i.push(SEt(n,o,t,r));await Promise.all(i),n.removeExtension(zf)}function AEt(e,t={}){let r=new xr(e);for(let n of r.json.meshes||[])TEt(n,t),r.addRequiredExtension(zf)}async function SEt(e,t,r,n){let i=e.getObjectExtension(t,zf);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=zp(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await io(o,ig,s,n),c=kbe(u.attributes);for(let[l,f]of Object.entries(c))if(l in t.attributes){let p=t.attributes[l],d=e.getAccessor(p);d!=null&&d.min&&(d!=null&&d.max)&&(f.min=d.min,f.max=d.max)}t.attributes=c,u.indices&&(t.indices=kM(u.indices)),e.removeObjectExtension(t,zf),CEt(t)}function TEt(e,t,r=4,n,i){var l;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let a=n.DracoWriter.encodeSync({attributes:e}),o=(l=i==null?void 0:i.parseSync)==null?void 0:l.call(i,{attributes:e}),s=n._addFauxAttributes(o.attributes),u=n.addBufferView(a);return{primitives:[{attributes:s,mode:r,extensions:{[zf]:{bufferView:u,attributes:s}}}]}}function CEt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Bbe(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var PM={};Pi(PM,{decode:()=>BEt,name:()=>DEt});var IM="KHR_texture_transform",DEt=IM,Q3=new ie,FEt=new hr,kEt=new hr;async function BEt(e,t){var a;if(!new xr(e).hasExtension(IM)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)IEt(o,e)}function IEt(e,t){var c,l,f;let r=[],n=(c=t.json.materials)==null?void 0:c[e],i=(l=n==null?void 0:n.pbrMetallicRoughness)==null?void 0:l.baseColorTexture;i&&jy(t,e,i,r);let a=n==null?void 0:n.emissiveTexture;a&&jy(t,e,a,r);let o=n==null?void 0:n.normalTexture;o&&jy(t,e,o,r);let s=n==null?void 0:n.occlusionTexture;s&&jy(t,e,s,r);let u=(f=n==null?void 0:n.pbrMetallicRoughness)==null?void 0:f.metallicRoughnessTexture;u&&jy(t,e,u,r)}function jy(e,t,r,n){let i=PEt(r,n);if(!i)return;let a=e.json.meshes||[];for(let o of a)for(let s of o.primitives){let u=s.material;Number.isFinite(u)&&t===u&&OEt(e,s,i)}}function PEt(e,t){var o;let r=(o=e.extensions)==null?void 0:o[IM],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=MEt(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function OEt(e,t,r){var s,u;let{originalTexCoord:n,texCoord:i,matrix:a}=r,o=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let c=(s=e.json.accessors)==null?void 0:s[o];if(c&&c.bufferView){let l=(u=e.json.bufferViews)==null?void 0:u[c.bufferView];if(l){let{arrayBuffer:f,byteOffset:p}=e.buffers[l.buffer],d=(p||0)+(c.byteOffset||0)+(l.byteOffset||0),{ArrayType:m,length:g}=pg(c,l),v=P3[c.componentType],y=I3[c.type],w=l.byteStride||v*y,A=new Float32Array(g);for(let C=0;C<c.count;C++){let T=new m(f,d+C*w,2);Q3.set(T[0],T[1],1),Q3.transformByMatrix3(a),A.set([Q3[0],Q3[1]],C*y)}n===i?jEt(c,l,e.buffers,A):REt(i,c,t,e,A)}}}}function jEt(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 REt(e,t,r,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let a=n.json.bufferViews;if(!a)return;a.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:(a==null?void 0:a.length)-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=o.length-1)}function MEt(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new hr().set(1,0,0,0,1,0,t[0],t[1],1),a=FEt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=kEt.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var OM={};Pi(OM,{decode:()=>qEt,encode:()=>NEt,name:()=>LEt});var kd="KHR_lights_punctual",LEt=kd;async function qEt(e){let t=new xr(e),{json:r}=t,n=t.getExtension(kd);n&&(t.json.lights=n.lights,t.removeExtension(kd));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,kd);a&&(i.light=a.light),t.removeObjectExtension(i,kd)}}async function NEt(e){let t=new xr(e),{json:r}=t;if(r.lights){let n=t.addExtension(kd);pi(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let i=n.node;t.addObjectExtension(i,kd,n)}delete t.json.lights}}var jM={};Pi(jM,{decode:()=>GEt,encode:()=>zEt,name:()=>UEt});var Ry="KHR_materials_unlit",UEt=Ry;async function GEt(e){let t=new xr(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,Ry);t.removeExtension(Ry)}function zEt(e){let t=new xr(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,Ry,{}),t.addExtension(Ry))}var RM={};Pi(RM,{decode:()=>WEt,encode:()=>$Et,name:()=>HEt});var My="KHR_techniques_webgl",HEt=My;async function WEt(e){let t=new xr(e),{json:r}=t,n=t.getExtension(My);if(n){let i=VEt(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,My);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=KEt(a.technique,t)),t.removeObjectExtension(a,My)}t.removeExtension(My)}}async function $Et(e,t){}function VEt(e,t){let{programs:r=[],shaders:n=[],techniques:i=[]}=e,a=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=a.decode(t.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),i.forEach(o=>{o.program=r[o.program]}),i}function KEt(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 Ibe=[lM,sM,CM,DM,FM,BM,OM,jM,RM,PM,fM];function Pbe(e,t={},r){var i;let n=Ibe.filter(a=>jbe(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function Obe(e,t={},r){var i;let n=Ibe.filter(a=>jbe(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function jbe(e,t){var i;let r=((i=t==null?void 0:t.gltf)==null?void 0:i.excludeExtensions)||{};return!(e in r&&!r[e])}var MM="KHR_binary_glTF";function Rbe(e){let t=new xr(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,MM);i&&Object.assign(n,i),t.removeObjectExtension(n,MM)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(MM)}var Mbe={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},XEt={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},LM=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),Rbe(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 Mbe)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let i in n){let a=n[i];a.id=a.id||i;let o=t[r].length;t[r].push(a),this.idToIndexMap[r][i]=o}}}_convertObjectIdsToArrayIndices(t){for(let r in Mbe)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:i,material:a}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),a&&(r.material=this._convertIdToIndex(a,"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 i in n){let a=n[i],o=this._convertIdToIndex(a,i);n[i]=o}}_convertIdToIndex(t,r){let n=XEt[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return i}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){var r,n,i;for(let a of t.materials){a.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=a.values)==null?void 0:r.tex)||((n=a.values)==null?void 0:n.texture2d_0)||((i=a.values)==null?void 0:i.diffuseTex),s=t.textures.findIndex(u=>u.id===o);s!==-1&&(a.pbrMetallicRoughness.baseColorTexture={index:s})}}};function Lbe(e,t={}){return new LM().normalize(e,t)}async function qbe(e,t,r=0,n,i){var a,o,s;return YEt(e,t,r,n),Lbe(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),Pbe(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await QEt(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await ZEt(e,n,i),await Obe(e,n,i),e}function YEt(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!Cbe(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=z5(t);else if(t instanceof ArrayBuffer){let o={};r=Dbe(o,t,r,n.glb),pi(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else pi(!1,"GLTF: must be ArrayBuffer or string");let i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:o}=e._glb;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}let a=e.json.images||[];e.images=new Array(a.length).fill({})}async function QEt(e,t,r){var i,a;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:u}=r;pi(u);let c=SM(s.uri,t),l=await((i=r==null?void 0:r.fetch)==null?void 0:i.call(r,c)),f=await((a=l==null?void 0:l.arrayBuffer)==null?void 0:a.call(l));e.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function ZEt(e,t,r){let n=eAt(e),i=e.json.images||[],a=[];for(let o of n)a.push(tAt(e,i[o],o,t,r));return await Promise.all(a)}function eAt(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 tAt(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let s=SM(t.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let s=Vve(e.json,e.buffers,t.bufferView);a=zp(s.buffer,s.byteOffset,s.byteLength)}pi(a,"glTF image has no data");let o=await io(a,[lg,Fd],{...n,mimeType:t.mimeType,basis:n.basis||{format:bg()}},i);o&&o[0]&&(o={compressed:!0,mipmaps:!1,width:o[0].width,height:o[0].height,data:o[0]}),e.images=e.images||[],e.images[r]=o}var el={name:"glTF",id:"gltf",module:"gltf",version:N3,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:rAt,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function rAt(e,t={},r){t={...el.options,...t},t.gltf={...el.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await qbe({},e,n,t,r)}var nAt=1179937895,iAt=1313821514,aAt=5130562,Ku=!0;function Nbe(e,t,r=0,n={}){let{magic:i=nAt,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Ku),t.setUint32(r+4,a,Ku),t.setUint32(r+8,0,Ku));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Ku),t.setUint32(r+4,iAt,Ku)),r+=8;let f=JSON.stringify(o);if(r=d0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,Ku)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,Ku),t.setUint32(r+4,aAt,Ku)),r+=8,r=Fw(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,Ku)}}if(t){let p=r-u;t.setUint32(c,p,Ku)}return r}function qM(e,t,r,n){return oAt(e),Nbe(e,t,r,n)}function oAt(e,{firstBuffer:t=0}={}){if(e.buffers&&e.buffers.length>t)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var NM={name:"glTF",id:"gltf",module:"gltf",version:N3,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>Ube(e,t),encodeSync:Ube};function Ube(e,t={}){let{byteOffset:r=0}=t,n=qM(e,null,r,t),i=new ArrayBuffer(n),a=new DataView(i);return qM(e,a,r,t),i}var sAt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},uAt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},$o={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},cAt={magFilter:$o.TEXTURE_MAG_FILTER,minFilter:$o.TEXTURE_MIN_FILTER,wrapS:$o.TEXTURE_WRAP_S,wrapT:$o.TEXTURE_WRAP_T},lAt={[$o.TEXTURE_MAG_FILTER]:$o.LINEAR,[$o.TEXTURE_MIN_FILTER]:$o.NEAREST_MIPMAP_LINEAR,[$o.TEXTURE_WRAP_S]:$o.REPEAT,[$o.TEXTURE_WRAP_T]:$o.REPEAT};function fAt(){return{id:"default-sampler",parameters:lAt}}function pAt(e){return uAt[e]}function dAt(e){return sAt[e]}var UM=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return pi(n),this.baseUri=o,this.buffers=i,this.images=a,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((i,a)=>this._resolveBufferView(i,a))),t.images&&(n.images=t.images.map((i,a)=>this._resolveImage(i,a))),t.samplers&&(n.samplers=t.samplers.map((i,a)=>this._resolveSampler(i,a))),t.textures&&(n.textures=t.textures.map((i,a)=>this._resolveTexture(i,a))),t.accessors&&(n.accessors=t.accessors.map((i,a)=>this._resolveAccessor(i,a))),t.materials&&(n.materials=t.materials.map((i,a)=>this._resolveMaterial(i,a))),t.meshes&&(n.meshes=t.meshes.map((i,a)=>this._resolveMesh(i,a))),t.nodes&&(n.nodes=t.nodes.map((i,a)=>this._resolveNode(i,a)),n.nodes=n.nodes.map((i,a)=>this._resolveNodeChildren(i))),t.skins&&(n.skins=t.skins.map((i,a)=>this._resolveSkin(i,a))),t.scenes&&(n.scenes=t.scenes.map((i,a)=>this._resolveScene(i,a))),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==null?void 0: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((i,a)=>{let o=this.getMesh(a);return i.id=o.id,i.primitives=i.primitives.concat(o.primitives),i},{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(i=>{let a={...i,attributes:{},indices:void 0,material:void 0},o=i.attributes;for(let s in o)a.attributes[s]=this.getAccessor(o[s]);return i.indices!==void 0&&(a.indices=this.getAccessor(i.indices)),i.material!==void 0&&(a.material=this.getMaterial(i.material)),a})),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 i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture={...i.baseColorTexture},i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture={...i.metallicRoughnessTexture},i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=pAt(t.componentType),i=dAt(t.type),a=n*i,o={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:a,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(o.bufferView=this.getBufferView(t.bufferView)),o.bufferView){let s=o.bufferView.buffer,{ArrayType:u,byteLength:c}=pg(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=s.arrayBuffer.slice(l,l+c);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new u(f)}return o}_getValueFromInterleavedBuffer(t,r,n,i,a){let o=new Uint8Array(a*i);for(let s=0;s<a;s++){let u=r+s*n;o.set(new Uint8Array(t.arrayBuffer.slice(u,u+i)),s*i)}return o.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):fAt(),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 i in n){let a=this._enumSamplerParameter(i);a!==void 0&&(n.parameters[a]=n[i])}return n}_enumSamplerParameter(t){return cAt[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},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(t,r){let n=t.buffer,i=this.buffers[n].arrayBuffer,a=this.buffers[n].byteOffset||0;return t.byteOffset&&(a+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(i,a,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Ly(e,t){return new UM().postProcess(e,t)}var Z3={URI:0,EMBEDDED:1};function e8(e,t,r,n){e.rotateYtoZ=!0;let i=(e.byteOffset||0)+(e.byteLength||0)-r;if(i===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=zp(t,r,i),e.gltfByteOffset=0,e.gltfByteLength=i,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 t8(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(hAt(e,t,r),i.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:a}=n,o=await a(e.gltfUrl,r);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let a=await io(e.gltfArrayBuffer,el,r,n);e.gltf=Ly(a),e.gpuMemoryUsageInBytes=Dy(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function hAt(e,t,r){switch(t){case Z3.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),a=new TextDecoder().decode(n);e.gltfUrl=a.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case Z3.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function Gbe(e,t,r,n,i){var o;r=mAt(e,t,r,n,i),await t8(e,Z3.EMBEDDED,n,i);let a=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return a&&a.CESIUM_RTC&&(e.rtcCenter=a.CESIUM_RTC.center),r}function mAt(e,t,r,n,i){r=Gf(e,t,r),r=sg(e,t,r),r=ug(e,t,r,n),r=e8(e,t,r,n);let a=new Qc(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",St.FLOAT,3),r}async function zbe(e,t,r,n,i){return r=gAt(e,t,r,n,i),await t8(e,e.gltfFormat||0,n,i),r}function gAt(e,t,r,n,i){var c;if(r=Gf(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=sg(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=ug(e,t,r,n),r=e8(e,t,r,n),!((c=e==null?void 0:e.header)!=null&&c.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new Qc(e.featureTableJson,e.featureTableBinary),s=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=s,!Number.isFinite(s))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",St.FLOAT,3);let u=new Cd(e.batchTableJson,e.batchTableBinary,s);return vAt(e,o,u,s),r}function vAt(e,t,r,n){let i=new Array(n),a=new ie,o=new ie,s=new ie,u=new ie,c=new hr,l=new Uo,f=new ie,p={},d=new Sr,m=[],g=[],v=[],y=[];for(let w=0;w<n;w++){let A;if(t.hasProperty("POSITION"))A=t.getProperty("POSITION",St.FLOAT,3,w,a);else if(t.hasProperty("POSITION_QUANTIZED")){A=t.getProperty("POSITION_QUANTIZED",St.UNSIGNED_SHORT,3,w,a);let R=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",St.FLOAT,3);if(!R)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let M=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",St.FLOAT,3);if(!M)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let z=65535;for(let W=0;W<3;W++)A[W]=A[W]/z*M[W]+R[W]}if(!A)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(A),p.translation=a,e.normalUp=t.getProperty("NORMAL_UP",St.FLOAT,3,w,m),e.normalRight=t.getProperty("NORMAL_RIGHT",St.FLOAT,3,w,g);let C=!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",St.UNSIGNED_SHORT,2,w,m),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",St.UNSIGNED_SHORT,2,w,g),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?(Ut.WGS84.eastNorthUpToFixedFrame(a,d),d.getRotationMatrix3(c)):c.identity()}C&&(u.copy(o).cross(s).normalize(),c.setColumn(0,o),c.setColumn(1,s),c.setColumn(2,u)),l.fromMatrix3(c),p.rotation=l,f.set(1,1,1);let T=t.getProperty("SCALE",St.FLOAT,1,w,v);Number.isFinite(T)&&f.multiplyByScalar(T);let B=t.getProperty("SCALE_NON_UNIFORM",St.FLOAT,3,w,m);B&&f.scale(B),p.scale=f;let j=t.getProperty("BATCH_ID",St.UNSIGNED_SHORT,1,w,y);j===void 0&&(j=w);let U=new Sr().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(U),d.scale(p.scale);let I=d.clone();i[w]={modelMatrix:I,batchId:j}}e.instances=i}async function Hbe(e,t,r,n,i,a){r=Gf(e,t,r);let o=new DataView(t);for(e.tilesLength=o.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let s={shape:"tile3d"};e.tiles.push(s),r=await a(t,r,n,i,s)}return r}async function Wbe(e,t,r,n){var i,a;if(e.rotateYtoZ=!0,e.gltfUpAxis=(i=r==null?void 0:r["3d-tiles"])!=null&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",(a=r==null?void 0:r["3d-tiles"])!=null&&a.loadGLTF){if(!n)return t.byteLength;let o=await io(t,el,r,n);e.gltf=Ly(o),e.gpuMemoryUsageInBytes=Dy(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function GM(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=dve(e,t),i.type){case zo.COMPOSITE:return await Hbe(i,e,t,r,n,GM);case zo.BATCHED_3D_MODEL:return await Gbe(i,e,t,r,n);case zo.GLTF:return await Wbe(i,e,r,n);case zo.INSTANCED_3D_MODEL:return await zbe(i,e,t,r,n);case zo.POINT_CLOUD:return await Bve(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function zM(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 a=$be(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=$be(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await r8(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let p of c.contentAvailability)await r8(c,p,f,r);else await r8(c,c.contentAvailability,f,r);return await r8(c,c.childSubtreeAvailability,f,r),c}async function r8(e,t,r,n){let i=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof i!="number")return;let a=e.bufferViews[i],o=e.buffers[a.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let u=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(u)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,a.byteOffset,a.byteLength);return}let s=e.buffers.slice(0,a.buffer).reduce((u,c)=>u+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(s,s+o.byteLength),a.byteOffset,a.byteLength)}function $be(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var n8={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:ng,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:zM,options:{}};function HM(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 Rs(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||HM()}var bAt=globalThis.self||globalThis.window||globalThis.global,_g=globalThis.window||globalThis.self||globalThis.global,xAt=globalThis.document||{},Bd=globalThis.process||{},yAt=globalThis.console,Bsr=globalThis.navigator||{};var i8="4.2.0-alpha.4",Osr=Rs();function _At(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var a8=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=_At(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 Vbe(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 Kbe(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 o8(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var s8;(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"})(s8||(s8={}));var wAt=10;function Jbe(e){return typeof e!="string"?e:(e=e.toUpperCase(),s8[e]||s8.WHITE)}function Xbe(e,t,r){if(!Rs&&typeof e=="string"){if(t){let n=Jbe(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=Jbe(r);e="\x1B[".concat(n+wAt,"m").concat(e,"\x1B[49m")}}return e}function Ybe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function wg(e,t){if(!e)throw new Error(t||"Assertion failed")}function Id(){let e;if(Rs()&&_g.performance){var t,r;e=_g===null||_g===void 0||(t=_g.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in Bd){var n;let i=Bd===null||Bd===void 0||(n=Bd.hrtime)===null||n===void 0?void 0:n.call(Bd);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var Eg={debug:Rs()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},EAt={enabled:!0,level:0};function Vo(){}var Qbe={},Zbe={once:!0},qy=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=i8,this._startTs=Id(),this._deltaTs=Id(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new a8("__probe-".concat(this.id,"__"),EAt),this.timeStamp("".concat(this.id," started")),Ybe(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((Id()-this._startTs).toPrecision(10))}getDelta(){return Number((Id()-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){wg(t,r)}warn(t){return this._getLogFunction(0,t,Eg.warn,arguments,Zbe)}error(t){return this._getLogFunction(0,t,Eg.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,Eg.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,Eg.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,Eg.debug||Eg.info,arguments,Zbe)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||Vo,n&&[n],{tag:CAt(r)}):Vo}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?Rs()?TAt({image:i,message:a,scale:o}):SAt({image:i,message:a,scale:o}):Vo}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||Vo)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=exe({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}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||Vo)}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()>=txe(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=exe({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,wg(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=Id();let o=a.tag||a.message;if(a.once&&o)if(!Qbe[o])Qbe[o]=Id();else return Vo;return r=AAt(this.id,a.message,a),n.bind(console,r,...a.args)}return Vo}};qy.VERSION=i8;function txe(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 wg(Number.isFinite(t)&&t>=0),t}function exe(e){let{logLevel:t,message:r}=e;e.logLevel=txe(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 i=typeof e.message;return wg(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function AAt(e,t,r){if(typeof t=="string"){let n=r.time?Kbe(Vbe(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=Xbe(t,r.color,r.background)}return t}function SAt(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),Vo}function TAt(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=o8(a,r,n);console.log(...o)},a.src=t,Vo}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...o8(t,r,n)),Vo;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...o8(a,r,n)),a.src=t.toDataURL(),Vo}return Vo}function CAt(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var WM=new qy({id:"@probe.gl/log"});var Ko=null;try{Ko=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 nn(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}nn.prototype.__isLong__;Object.defineProperty(nn.prototype,"__isLong__",{value:!0});function da(e){return(e&&e.__isLong__)===!0}function rxe(e){var t=Math.clz32(e&-e);return e?31-t:t}nn.isLong=da;var nxe={},ixe={};function Pd(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=ixe[e],n)?n:(r=Tr(e,0,!0),i&&(ixe[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=nxe[e],n)?n:(r=Tr(e,e<0?-1:0,!1),i&&(nxe[e]=r),r))}nn.fromInt=Pd;function Jo(e,t){if(isNaN(e))return t?tl:Ms;if(t){if(e<0)return tl;if(e>=uxe)return fxe}else{if(e<=-oxe)return $a;if(e+1>=oxe)return lxe}return e<0?Jo(-e,t).neg():Tr(e%Sg|0,e/Sg|0,t)}nn.fromNumber=Jo;function Tr(e,t,r){return new nn(e,t,r)}nn.fromBits=Tr;var u8=Math.pow;function VM(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?tl:Ms;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 VM(e.substring(1),t,r).neg();for(var i=Jo(u8(r,8)),a=Ms,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),u=parseInt(e.substring(o,o+s),r);if(s<8){var c=Jo(u8(r,s));a=a.mul(c).add(Jo(u))}else a=a.mul(i),a=a.add(Jo(u))}return a.unsigned=t,a}nn.fromString=VM;function Ls(e,t){return typeof e=="number"?Jo(e,t):typeof e=="string"?VM(e,t):Tr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}nn.fromValue=Ls;var axe=1<<16,DAt=1<<24,Sg=axe*axe,uxe=Sg*Sg,oxe=uxe/2,sxe=Pd(DAt),Ms=Pd(0);nn.ZERO=Ms;var tl=Pd(0,!0);nn.UZERO=tl;var Ag=Pd(1);nn.ONE=Ag;var cxe=Pd(1,!0);nn.UONE=cxe;var $M=Pd(-1);nn.NEG_ONE=$M;var lxe=Tr(-1,2147483647,!1);nn.MAX_VALUE=lxe;var fxe=Tr(-1,-1,!0);nn.MAX_UNSIGNED_VALUE=fxe;var $a=Tr(0,-2147483648,!1);nn.MIN_VALUE=$a;var Oe=nn.prototype;Oe.toInt=function(){return this.unsigned?this.low>>>0:this.low};Oe.toNumber=function(){return this.unsigned?(this.high>>>0)*Sg+(this.low>>>0):this.high*Sg+(this.low>>>0)};Oe.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($a)){var r=Jo(t),n=this.div(r),i=n.mul(r).sub(this);return n.toString(t)+i.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var a=Jo(u8(t,6),this.unsigned),o=this,s="";;){var u=o.div(a),c=o.sub(u.mul(a)).toInt()>>>0,l=c.toString(t);if(o=u,o.isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}};Oe.getHighBits=function(){return this.high};Oe.getHighBitsUnsigned=function(){return this.high>>>0};Oe.getLowBits=function(){return this.low};Oe.getLowBitsUnsigned=function(){return this.low>>>0};Oe.getNumBitsAbs=function(){if(this.isNegative())return this.eq($a)?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};Oe.isZero=function(){return this.high===0&&this.low===0};Oe.eqz=Oe.isZero;Oe.isNegative=function(){return!this.unsigned&&this.high<0};Oe.isPositive=function(){return this.unsigned||this.high>=0};Oe.isOdd=function(){return(this.low&1)===1};Oe.isEven=function(){return(this.low&1)===0};Oe.equals=function(t){return da(t)||(t=Ls(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Oe.eq=Oe.equals;Oe.notEquals=function(t){return!this.eq(t)};Oe.neq=Oe.notEquals;Oe.ne=Oe.notEquals;Oe.lessThan=function(t){return this.comp(t)<0};Oe.lt=Oe.lessThan;Oe.lessThanOrEqual=function(t){return this.comp(t)<=0};Oe.lte=Oe.lessThanOrEqual;Oe.le=Oe.lessThanOrEqual;Oe.greaterThan=function(t){return this.comp(t)>0};Oe.gt=Oe.greaterThan;Oe.greaterThanOrEqual=function(t){return this.comp(t)>=0};Oe.gte=Oe.greaterThanOrEqual;Oe.ge=Oe.greaterThanOrEqual;Oe.compare=function(t){if(da(t)||(t=Ls(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};Oe.comp=Oe.compare;Oe.negate=function(){return!this.unsigned&&this.eq($a)?$a:this.not().add(Ag)};Oe.neg=Oe.negate;Oe.add=function(t){da(t)||(t=Ls(t));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,a=this.low&65535,o=t.high>>>16,s=t.high&65535,u=t.low>>>16,c=t.low&65535,l=0,f=0,p=0,d=0;return d+=a+c,p+=d>>>16,d&=65535,p+=i+u,f+=p>>>16,p&=65535,f+=n+s,l+=f>>>16,f&=65535,l+=r+o,l&=65535,Tr(p<<16|d,l<<16|f,this.unsigned)};Oe.subtract=function(t){return da(t)||(t=Ls(t)),this.add(t.neg())};Oe.sub=Oe.subtract;Oe.multiply=function(t){if(this.isZero())return this;if(da(t)||(t=Ls(t)),Ko){var r=Ko.mul(this.low,this.high,t.low,t.high);return Tr(r,Ko.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?tl:Ms;if(this.eq($a))return t.isOdd()?$a:Ms;if(t.eq($a))return this.isOdd()?$a:Ms;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(sxe)&&t.lt(sxe))return Jo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,a=this.low>>>16,o=this.low&65535,s=t.high>>>16,u=t.high&65535,c=t.low>>>16,l=t.low&65535,f=0,p=0,d=0,m=0;return m+=o*l,d+=m>>>16,m&=65535,d+=a*l,p+=d>>>16,d&=65535,d+=o*c,p+=d>>>16,d&=65535,p+=i*l,f+=p>>>16,p&=65535,p+=a*c,f+=p>>>16,p&=65535,p+=o*u,f+=p>>>16,p&=65535,f+=n*l+i*c+a*u+o*s,f&=65535,Tr(d<<16|m,f<<16|p,this.unsigned)};Oe.mul=Oe.multiply;Oe.divide=function(t){if(da(t)||(t=Ls(t)),t.isZero())throw Error("division by zero");if(Ko){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Ko.div_u:Ko.div_s)(this.low,this.high,t.low,t.high);return Tr(r,Ko.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?tl:Ms;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return tl;if(t.gt(this.shru(1)))return cxe;a=tl}else{if(this.eq($a)){if(t.eq(Ag)||t.eq($M))return $a;if(t.eq($a))return Ag;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(Ms)?t.isNegative()?Ag:$M:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq($a))return this.unsigned?tl:Ms;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();a=Ms}for(i=this;i.gte(t);){n=Math.max(1,Math.floor(i.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),u=s<=48?1:u8(2,s-48),c=Jo(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=Jo(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=Ag),a=a.add(c),i=i.sub(l)}return a};Oe.div=Oe.divide;Oe.modulo=function(t){if(da(t)||(t=Ls(t)),Ko){var r=(this.unsigned?Ko.rem_u:Ko.rem_s)(this.low,this.high,t.low,t.high);return Tr(r,Ko.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Oe.mod=Oe.modulo;Oe.rem=Oe.modulo;Oe.not=function(){return Tr(~this.low,~this.high,this.unsigned)};Oe.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Oe.clz=Oe.countLeadingZeros;Oe.countTrailingZeros=function(){return this.low?rxe(this.low):rxe(this.high)+32};Oe.ctz=Oe.countTrailingZeros;Oe.and=function(t){return da(t)||(t=Ls(t)),Tr(this.low&t.low,this.high&t.high,this.unsigned)};Oe.or=function(t){return da(t)||(t=Ls(t)),Tr(this.low|t.low,this.high|t.high,this.unsigned)};Oe.xor=function(t){return da(t)||(t=Ls(t)),Tr(this.low^t.low,this.high^t.high,this.unsigned)};Oe.shiftLeft=function(t){return da(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Tr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):Tr(0,this.low<<t-32,this.unsigned)};Oe.shl=Oe.shiftLeft;Oe.shiftRight=function(t){return da(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Tr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):Tr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Oe.shr=Oe.shiftRight;Oe.shiftRightUnsigned=function(t){return da(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Tr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?Tr(this.high,0,this.unsigned):Tr(this.high>>>t-32,0,this.unsigned)};Oe.shru=Oe.shiftRightUnsigned;Oe.shr_u=Oe.shiftRightUnsigned;Oe.rotateLeft=function(t){var r;return da(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Tr(this.high,this.low,this.unsigned):t<32?(r=32-t,Tr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,Tr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Oe.rotl=Oe.rotateLeft;Oe.rotateRight=function(t){var r;return da(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Tr(this.high,this.low,this.unsigned):t<32?(r=32-t,Tr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,Tr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Oe.rotr=Oe.rotateRight;Oe.toSigned=function(){return this.unsigned?Tr(this.low,this.high,!1):this};Oe.toUnsigned=function(){return this.unsigned?this:Tr(this.low,this.high,!0)};Oe.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Oe.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]};Oe.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]};nn.fromBytes=function(t,r,n){return n?nn.fromBytesLE(t,r):nn.fromBytesBE(t,r)};nn.fromBytesLE=function(t,r){return new nn(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};nn.fromBytesBE=function(t,r){return new nn(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var Tg=nn;var FAt=16;function Ny(e){e==="X"&&(e="");let t=e.padEnd(FAt,"0");return Tg.fromString(t,!0,16)}function KM(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let a=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-a.length).join("0")+a}function JM(e,t){let r=kAt(e).shiftRightUnsigned(2);return e.add(Tg.fromNumber(2*t+1-4).multiply(r))}function kAt(e){return e.and(e.not().add(1))}var BAt=3,IAt=30,PAt=2*IAt+1,pxe=180/Math.PI;function hxe(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],i=n.length,a=0,o=[0,0];for(let s=i-1;s>=0;s--){a=i-s;let u=n[s],c=0,l=0;u==="1"?l=1:u==="2"?(c=1,l=1):u==="3"&&(c=1);let f=Math.pow(2,a-1);OAt(f,o,c,l),o[0]+=f*c,o[1]+=f*l}if(r%2===1){let s=o[0];o[0]=o[1],o[1]=s}return{face:r,ij:o,level:a}}function mxe(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<BAt+PAt;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=Tg.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=Tg.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function XM(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function dxe(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function YM(e){return[dxe(e[0]),dxe(e[1])]}function QM(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 ZM([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*pxe,n*pxe]}function OAt(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}function gxe(e){let t=XM(e.ij,e.level,[.5,.5]),r=YM(t),n=QM(e.face,r);return ZM(n)}var jAt=100;function eL(e){let{face:t,ij:r,level:n}=e,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],a=Math.max(1,Math.ceil(jAt*Math.pow(2,-n))),o=new Float64Array(4*a*2+2),s=0,u=0;for(let c=0;c<4;c++){let l=i[c].slice(0),f=i[c+1],p=(f[0]-l[0])/a,d=(f[1]-l[1])/a;for(let m=0;m<a;m++){l[0]+=p,l[1]+=d;let g=XM(r,n,l),v=YM(g),y=QM(t,v),w=ZM(y);Math.abs(w[1])>89.999&&(w[0]=u);let A=w[0]-u;w[0]+=A>180?-360:A<-180?360:0,o[s++]=w[0],o[s++]=w[1],u=w[0]}}return o[s++]=o[0],o[s++]=o[1],o}function Cg(e){let t=RAt(e);return hxe(t)}function RAt(e){if(e.indexOf("/")>0)return e;let t=Ny(e);return mxe(t)}function tL(e){let t=Cg(e);return gxe(t)}function bxe(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let i=0;i<4;i++){let a=`${e.face}/${i}`,o=Cg(a),s=eL(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=vxe(r)}else{let r=eL(e);t=vxe(r)}return t}function vxe(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,i)=>n-i),r.sort((n,i)=>n-i),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function rL(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=Cg(e),a=bxe(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new ie(o,c,r)),l.push(new ie(u,c,r)),l.push(new ie(u,s,r)),l.push(new ie(o,s,r)),l.push(new ie(o,c,n)),l.push(new ie(u,c,n)),l.push(new ie(u,s,n)),l.push(new ie(o,s,n)),l}function c8(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=rL(t,r),i=tL(t),a=i[0],o=i[1],s=Ut.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new ie(s[0],s[1],s[2]);n.push(u);let c=wy(n);return[...c.center,...c.halfAxes]}var MAt=4,LAt=8,qAt={QUADTREE:MAt,OCTREE:LAt};function NAt(e,t,r){if(e!=null&&e.box){let n=Ny(e.s2VolumeInfo.token),i=JM(n,t),a=KM(i),o={...e.s2VolumeInfo};switch(o.token=a,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,f=l/2,p=c.minimumHeight+l/2;c.minimumHeight=p-f,c.maximumHeight=p+f;break;default:break}return{box:c8(o),s2VolumeInfo:o}}}async function iL(e){let{implicitOptions:t,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:a}=e,{subtree:o,level:s=0,globalData:u={level:0,mortonIndex:0,x:0,y:0,z:0}}=e,{subdivisionScheme:c,subtreeLevels:l,maximumLevel:f,contentUrlTemplate:p,subtreesUriTemplate:d,basePath:m}=t,g={children:[],lodMetricValue:0,contentUrl:""};if(!f)return WM.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${p} won't be loaded...`),g;let v=s+u.level;if(v>f)return g;let y=qAt[c],w=Math.log2(y),A=n&1,C=n>>1&1,T=n>>2&1,B=(y**s-1)/(y-1),j=Od(r.mortonIndex,n,w),U=B+j,I=Od(r.x,A,1),R=Od(r.y,C,1),M=Od(r.z,T,1),z=!1;s>=l&&(z=nL(o.childSubtreeAvailability,j));let W=Od(u.x,I,s),X=Od(u.y,R,s),te=Od(u.z,M,s);if(z){let Ee=`${m}/${d}`,qe=l8(Ee,v,W,X,te);o=await un(qe,n8,a),u={mortonIndex:j,x:I,y:R,z:M,level:s},j=0,U=0,I=0,R=0,M=0,s=0}if(!nL(o.tileAvailability,U))return g;nL(o.contentAvailability,U)&&(g.contentUrl=l8(p,v,W,X,te));let he=s+1,ve={mortonIndex:j,x:I,y:R,z:M};for(let Ee=0;Ee<y;Ee++){let qe=NAt(i,Ee,c),Le=await iL({subtree:o,implicitOptions:t,loaderOptions:a,parentData:ve,childIndex:Ee,level:he,globalData:{...u},s2VolumeBox:qe});if(Le.contentUrl||Le.children.length){let Z=v+1,Q=UAt(Le,Z,{childTileX:I,childTileY:R,childTileZ:M},t,i);g.children.push(Q)}}return g}function nL(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&WM.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?HAt(t,r.explicitBitstream):!1}function UAt(e,t,r,n,i){let{basePath:a,refine:o,getRefine:s,lodMetricType:u,getTileType:c,rootLodMetricValue:l,rootBoundingVolume:f}=n,p=e.contentUrl&&e.contentUrl.replace(`${a}/`,""),d=l/2**t,m=i!=null&&i.box?{box:i.box}:f,g=GAt(t,m,r);return{children:e.children,contentUrl:e.contentUrl,content:{uri:p},id:e.contentUrl,refine:s(o),type:c(e),lodMetricType:u,lodMetricValue:d,geometricError:d,transform:e.transform,boundingVolume:g}}function GAt(e,t,r){if(t.region){let{childTileX:n,childTileY:i,childTileZ:a}=r,[o,s,u,c,l,f]=t.region,p=2**e,d=(u-o)/p,m=(c-s)/p,g=(f-l)/p,[v,y]=[o+d*n,o+d*(n+1)],[w,A]=[s+m*i,s+m*(i+1)],[C,T]=[l+g*a,l+g*(a+1)];return{region:[v,w,y,A,C,T]}}if(t.box)return t;throw new Error(`Unsupported bounding volume type ${t}`)}function Od(e,t,r){return(e<<r)+t}function l8(e,t,r,n,i){let a=zAt({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function zAt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function HAt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function oL(e,t=""){if(!t)return"empty";let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return"pointcloud";case"i3dm":case"b3dm":case"glb":case"gltf":return"scenegraph";default:return n||"empty"}}function sL(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function aL(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 qa.resolve(t,e)}function xxe(e,t){var i;if(!e)return null;let r;if(e.content){let a=e.content.uri||((i=e.content)==null?void 0:i.url);typeof a<"u"&&(r=aL(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:oL(e,r),refine:sL(e.refine)}}async function wxe(e,t,r){let n=null,i=_xe(e.root);i&&e.root?n=await yxe(e.root,e,t,i,r):n=xxe(e.root,t);let a=[];for(a.push(n);a.length>0;){let o=a.pop()||{},s=o.children||[],u=[];for(let c of s){let l=_xe(c),f;l?f=await yxe(c,e,t,l,r):f=xxe(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function yxe(e,t,r,n,i){var C,T,B;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=l8(c,0,0,0,0),f=aL(l,r),p=await un(f,n8,i),d=(C=e.content)==null?void 0:C.uri,m=d?aL(d,r):"",g=(T=t==null?void 0:t.root)==null?void 0:T.refine,v=e.geometricError,y=(B=e.boundingVolume.extensions)==null?void 0:B["3DTILES_bounding_volume_S2"];if(y){let U={box:c8(y),s2VolumeInfo:y};e.boundingVolume=U}let w=e.boundingVolume,A={contentUrlTemplate:m,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:g,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:v,rootBoundingVolume:w,getTileType:oL,getRefine:sL};return await WAt(e,r,p,A,i)}async function WAt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await iL({subtree:r,implicitOptions:n,loaderOptions:i}),s,u=null;return o&&(s=o,u={uri:o.replace(`${t}/`,"")}),{...e,id:s,contentUrl:s,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:oL(e,s),refine:sL(e.refine),content:u||e.content,children:a}}function _xe(e){var t;return((t=e==null?void 0:e.extensions)==null?void 0:t["3DTILES_implicit_tiling"])||(e==null?void 0:e.implicitTiling)}var Ju={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:ng,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:$At,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function $At(e,t={},r){let n=t["3d-tiles"]||{},i;return n.isTileset==="auto"?i=(r==null?void 0:r.url)&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?VAt(e,t,r):KAt(e,t,r)}async function VAt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=JAt(i),o=await wxe(n,a,t||{});return{...n,shape:"tileset3d",loader:Ju,url:i,queryString:(r==null?void 0:r.queryString)||"",basePath:a,root:o||n.root,type:"TILES3D",lodMetricType:"geometricError",lodMetricValue:((u=n.root)==null?void 0:u.geometricError)||0}}async function KAt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await GM(e,0,t,r,n.content),n.content}function JAt(e){return qa.dirname(e)}var Exe="https://api.cesium.com/v1/assets";async function Axe(e,t){if(!t){let a=await XAt(e);for(let o of a.items)o.type==="3DTILES"&&(t=o.id)}let r=await YAt(e,t),{type:n,url:i}=r;return jt(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken}`},r}async function XAt(e){jt(e);let t=Exe,r={Authorization:`Bearer ${e}`},n=await Aa(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function YAt(e,t){jt(e,t);let r={Authorization:`Bearer ${e}`},n=`${Exe}/${t}`,i=await Aa(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await Aa(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function QAt(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let i=e.match(/\/([0-9]+)\/tileset.json/);n=i&&i[1]}return Axe(r,n)}var f8={...Ju,id:"cesium-ion",name:"Cesium Ion",preload:QAt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=f8,Ju.parse(e,t,r)),options:{"cesium-ion":{...Ju.options["3d-tiles"],accessToken:null}}};var P_e=Pt(I_e(),1),b8t="4.2.0-alpha.4",X7={id:"zip",module:"zip",name:"Zip Archive",version:b8t,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:x8t};async function x8t(e,t={}){let r=[],n={};try{let i=new P_e.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=y8t(i,u,t).then(l=>{n[o]=l});r.push(c)}),await Promise.all(r),n}catch(i){throw t.log.error(`Unable to read zip archive: ${i}`),i}}async function y8t(e,t,r={}){try{return await e.file(t).async(r.dataType||"arraybuffer")}catch(n){return r.log.error(`Unable to read ${t} from zip archive: ${n}`),n}}var Jd=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 i=e.length-4n;i>-1;i--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=await e.getUint8(i),r.every((a,o)=>a===t[o])){n=i;break}return n};var _8t=new Uint8Array([1,0]);function rC(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of w8t){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));O_e[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return Pn(...r)}function $i(e,t,r,n){O_e[t](e,Number(r),n)}var O_e={2:(e,t,r)=>{e.setUint16(t,Number(r>65535?65535:r),!0)},4:(e,t,r)=>{e.setUint32(t,Number(r>4294967295?4294967295:r),!0)},8:(e,t,r)=>{e.setBigUint64(t,BigInt(r),!0)}},w8t=[{size:2,default:new DataView(_8t.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var j_e=new Uint8Array([80,75,5,6]),R_e=new Uint8Array([80,75,6,7]),M_e=new Uint8Array([80,75,6,6]),L_e=8n,E8t=10n,A8t=12n,q_e=16n,S8t=22n,N_e=8n,U_e=24n,T8t=32n,C8t=40n,G_e=48n,D8t=56n,nC=async e=>{let t=await Jd(e,j_e),r=BigInt(await e.getUint16(t+L_e)),n=BigInt(await e.getUint32(t+q_e)),i=t-20n,a=0n,o=await e.slice(i,i+4n);if(Su(o,R_e)){a=await e.getBigUint64(i+N_e);let s=await e.slice(a,a+4n);if(!Su(s,M_e.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(a+U_e),n=await e.getBigUint64(a+G_e)}else i=0n;return{cdRecordsNumber:r,cdStartOffset:n,offsets:{zip64EoCDOffset:a,zip64EoCDLocatorOffset:i,zipEoCDOffset:t}}};function z_e(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&($i(a,2,o+L_e,i),$i(a,2,o+E8t,i)),n-r<=4294967295&&$i(a,4,o+A8t,n-r),r<4294967295&&$i(a,4,o+q_e,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;$i(a,8,s+N_e,n),$i(a,8,G_e,r),$i(a,8,U_e,i),$i(a,8,T8t,i),$i(a,8,C8t,n-r)}return new Uint8Array(a.buffer)}function H_e(e){let t=new DataView(new ArrayBuffer(Number(S8t)));for(let i of F8t)$i(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=B8t(e),n=k8t(e);return Pn(n,r,t.buffer)}var F8t=[{offset:0,size:4,default:new DataView(j_e.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}];function k8t(e){let t=new DataView(new ArrayBuffer(Number(D8t)));for(let r of P8t)$i(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function B8t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of I8t)$i(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var I8t=[{offset:0,size:4,default:new DataView(R_e.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],P8t=[{offset:0,size:4,default:new DataView(M_e.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 O8t=20n,j8t=24n,R8t=28n,M8t=30n,L8t=32n,q8t=42n,iC=46n,Yd=new Uint8Array([80,75,1,2]),Xd=async(e,t)=>{let r=await t.slice(e,e+4n);if(!Su(r,Yd.buffer))return null;let n=BigInt(await t.getUint32(e+O8t)),i=BigInt(await t.getUint32(e+j8t)),a=await t.getUint16(e+M8t),o=BigInt(await t.getUint16(e+L8t)),s=await t.getUint16(e+R8t),u=await t.slice(e+iC,e+iC+BigInt(s)),c=new TextDecoder().decode(u),l=e+iC+BigInt(s),f=await t.getUint32(e+q8t),p=BigInt(f),d=new DataView(await t.slice(l,l+BigInt(a))),m={uncompressedSize:i,compressedSize:n,localHeaderOffset:p,startDisk:o},g=N8t(m,d);return{...m,...g,extraFieldLength:a,fileNameLength:s,fileName:c,extraOffset:l}};async function*nc(e){let{cdStartOffset:t}=await nC(e),r=await Xd(t,e);for(;r;)yield r,r=await Xd(r.extraOffset+BigInt(r.extraFieldLength),e)}var W_e=(...e)=>e[0]+e[1]*16,N8t=(e,t)=>{let r=U8t(e),n={};if(r.length>0){let i=r.reduce((s,u)=>s+u.length,0),a=new Uint8Array(t.buffer).findIndex((s,u,c)=>W_e(c[u],c[u+1])===1&&W_e(c[u+2],c[u+3])===i),o=0;for(let s of r){let u=o;n[s.name]=t.getBigUint64(a+4+u,!0),o=u+s.length}}return n},U8t=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};function Y7(e){let t={...e,fnlength:e.fileName.length,extraLength:0},r=new ArrayBuffer(0),n={};t.offset>=4294967295&&(n.offset=t.offset,t.offset=BigInt(4294967295)),t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=rC(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(iC)));for(let s of G8t)$i(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return Pn(i.buffer,a,r)}var G8t=[{offset:0,size:4,default:new DataView(Yd.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 z8t=8n,H8t=18n,W8t=22n,$8t=26n,V8t=28n,w1=30n,Q7=new Uint8Array([80,75,3,4]),Hs=async(e,t)=>{let r=await t.slice(e,e+4n);if(!Su(r,Q7))return null;let n=await t.getUint16(e+$8t),i=new TextDecoder().decode(await t.slice(e+w1,e+w1+BigInt(n))).split("\\").join("/"),a=await t.getUint16(e+V8t),o=e+w1+BigInt(n+a),s=await t.getUint16(e+z8t),u=BigInt(await t.getUint32(e+H8t)),c=BigInt(await t.getUint32(e+W8t)),l=e+w1+BigInt(n),f=4n;return c===BigInt(4294967295)&&(c=await t.getBigUint64(l+f),f+=8n),u===BigInt(4294967295)&&(u=await t.getBigUint64(l+f),f+=8n),o===BigInt(4294967295)&&(o=await t.getBigUint64(l+f)),{fileNameLength:n,fileName:i,extraFieldLength:a,fileDataOffset:o,compressedSize:u,compressionMethod:s}};function Z7(e){let t={...e,extraLength:0,fnlength:e.fileName.length},r=new ArrayBuffer(0),n={};t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=rC(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(w1)));for(let s of K8t)$i(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return Pn(i.buffer,a,r)}var K8t=[{offset:0,size:4,default:new DataView(Q7.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"}];async function J8t(e){let t=await nC(e),r=t.cdStartOffset,n=Number(t.offsets.zip64EoCDOffset?t.offsets.zip64EoCDOffset-r:t.offsets.zipEoCDOffset-r),i=await e.slice(r,e.length);await e.truncate(Number(r));let a=i.slice(0,n),o=i.slice(n,i.byteLength);return[a,o,t]}async function V_e(e,t,r){let n=parseInt(await new Qb().hash(t,"hex"),16),i=Z7({crc32:n,fileName:e,length:t.byteLength}),a=Y7({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(Pn(i,t)),new Uint8Array(a)]}async function eq(e,t,r){let n=new so(e,!0),[i,a,o]=await J8t(n),s=n.length,[u,c]=await V_e(r,t,s);await n.append(u);let l=Pn(i,c),f=n.length;await n.append(new Uint8Array(l));let p=n.length;await n.append(z_e(a,o.offsets,f,p,o.cdRecordsNumber+1n))}async function tq(e,t,r){let n=X8t(e),i=new kc(t,"w"),a=[],o=[];for await(let l of n)await $_e(l,i,o,a);if(r){let l=await r(a);await $_e(l,i,o)}let s=(await i.stat()).bigsize,u=Pn(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(H_e({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function $_e(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await V_e(e.path,e.file,i);await t.append(a),r.push(o)}function X8t(e){async function*t(){let r=await K_e(e);for(let n of r){let i=await(await Aa(qa.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function K_e(e,t="",r){let n=r||new Yb({}),i=await n.readdir(aC(e,t)),a=[];for(let o of i){let s=aC(e,t,o);if((await n.stat(s)).isDirectory){let u=await K_e(e,aC(t,o));a.push(...u)}else a.push(aC(t,o))}return a}function aC(...e){let t=e.filter(r=>r.length);return qa.join(...t)}var Zg=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 Hp(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var E1=class extends Zg{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 Qd=Pt(M7(),1),pl=Pt(require("zlib"),1);var dl=class extends Zg{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!jr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await h0(pl.default.gzip)(t):await h0(pl.default.deflate)(t);return Fc(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!jr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await h0(pl.default.gunzip)(t):await h0(pl.default.inflate)(t);return Fc(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!jr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?pl.default.gzipSync(t):pl.default.deflateSync(t);return Fc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?Qd.default.deflateRaw:Qd.default.deflate)(n,r).buffer}decompressSync(t){var a,o,s,u;if(!jr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?pl.default.gunzipSync(t):pl.default.inflateSync(t);return Fc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?Qd.default.inflateRaw:Qd.default.inflate)(n,r).buffer}async*compressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new Qd.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new Qd.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 o of r){let s=new Uint8Array(o);if(!t.push(s,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),i=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 A1=class extends dl{name="gzip";extensions=["gz","gzip"];contentEncodings=["gzip","x-gzip"];isSupported=!0;constructor(t){super({...t,deflate:{...t==null?void 0:t.gzip,gzip:!0}})}};var J_e={0:async e=>e,8:async e=>await new dl({raw:!0}).decompress(e)},hl=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!jr)this.fileProvider=new so(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof ml?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):X5(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=nc(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){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 i=await this.getCDFileHeader(t),a=await Hs(i.localHeaderOffset,this.fileProvider);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=J_e[a.compressionMethod.toString()];if(!o)throw Error("Only Deflation compression is supported");let s=await this.fileProvider.slice(a.fileDataOffset,a.fileDataOffset+a.compressedSize);r=await o(s)}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=nc(this.fileProvider),n=null;for await(let i of r)if(i.fileName===t){n=i;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var ml=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new hl(this.fileProvider).fetch(t)).arrayBuffer()}};function S1(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let i=t.getBigUint64(n+16,!0),a=Y8t(e,n,16);r[a]=i}return r}function Y8t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function rq(e){let t=nc(e);return Q8t(t)}async function Q8t(e){let t=new Du,r=new TextEncoder,n={};for await(let i of e){let a=i.fileName.split("\\").join("/").toLocaleLowerCase(),o=r.encode(a).buffer,s=await t.hash(o,"hex");n[s]=i.localHeaderOffset}return n}async function T1(e){let t=new Du,r=new TextEncoder,n=[];for await(let a of e){let o=a.fileName.split("\\").join("/");o!=="3dSceneLayer.json.gz"&&(o=o.toLocaleLowerCase());let s=r.encode(o).buffer,u=await t.hash(s,"hex");n.push(Pn(eCt(u),tCt(a.localHeaderOffset)))}let i=n.sort(Z8t);return Dw(i)}function Z8t(e,t){let r=new BigUint64Array(e),n=new BigUint64Array(t);return Number(r[0]===n[0]?r[1]-n[1]:r[0]-n[0])}function eCt(e){var r;let t=(r=e.match(/../g))==null?void 0:r.map(n=>parseInt(n,16));return new Uint8Array(t??new Array(16)).buffer}function tCt(e){return new BigUint64Array([e]).buffer}var rCt={0:e=>new E1().decompress(e),8:e=>new dl({raw:!0}).decompress(e)},C1=class extends ml{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,i=await new Du().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await Hs(a,this.fileProvider);if(!o)return null;let s=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=rCt[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function tp(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return jt(Array.isArray(i)&&Number.isFinite(a)&&Number.isFinite(o)),t.setUint8(r+0,i[0]),t.setUint8(r+1,i[1]),t.setUint8(r+2,i[2]),t.setUint8(r+3,i[3]),t.setUint32(r+4,a,!0),t.setUint32(r+8,o,!0),r+=12,r}function rp(e,t,r){e&&e.setUint32(t+8,r,!0)}function X_e(e,t,r,n,i){e={magic:Nf.COMPOSITE,tiles:[],...e};let a=r;r+=tp(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let o=0;o<e.tiles.length;++o)r+=i(e.tiles[o],t,r,n);return rp(t,a,r-a),r}function Y_e(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=oo(s.length,8),l=u?oo(u.length,8):0;e={magic:Nf.BATCHED_MODEL,...e};let f=r;r=tp(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=d0(t,r,s,8),a&&(r=d0(t,r,u,8));let p=e.gltfEncoded;return p&&(r=Kb(t,r,p,p.byteLength)),rp(t,f,r-f),r}function Q_e(e,t,r,n){let{featuresLength:i=1,gltfFormat:a=1,gltfUri:o=""}=e,s=o.length,u={INSTANCES_LENGTH:i,POSITION:new Array(i*3).fill(0)},c=JSON.stringify(u),l=c.length;e={magic:Nf.INSTANCED_MODEL,...e};let f=r;return r=tp(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,a,!0)),r+=20,r+=p0(t,r,c,l),r+=p0(t,r,o,s),rp(t,f,r-f),r}var nCt={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function Z_e(e,t,r,n){let{featureTableJson:i=nCt}=e,a=JSON.stringify(i);a=W5(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:Nf.POINT_CLOUD,...e};let c=r;return r+=tp(e,t,0),t&&(t.setUint32(r+0,o,!0),t.setUint32(r+4,u,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=p0(t,r,a,o),r+=Kb(t,r,s,u),rp(t,c,r-c),r}function iq(e,t){let r=nq(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return nq(e,i,0,t),n}function nq(e,t,r,n){switch(jt(typeof e.type=="string"),e.type){case zo.COMPOSITE:return X_e(e,t,r,n,nq);case zo.POINT_CLOUD:return Z_e(e,t,r,n);case zo.BATCHED_3D_MODEL:return Y_e(e,t,r,n);case zo.INSTANCED_3D_MODEL:return Q_e(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var aq={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:ng,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>ewe(e,t),encodeSync:ewe};function ewe(e,t){return iq(e,t)}var Qi=require("path");var twe=Pt(require("crypto")),sC=new Uint8Array(256),oC=sC.length;function oq(){return oC>sC.length-16&&(twe.default.randomFillSync(sC),oC=0),sC.slice(oC,oC+=16)}var Vi=[];for(let e=0;e<256;++e)Vi.push((e+256).toString(16).slice(1));function rwe(e,t=0){return(Vi[e[t+0]]+Vi[e[t+1]]+Vi[e[t+2]]+Vi[e[t+3]]+"-"+Vi[e[t+4]]+Vi[e[t+5]]+"-"+Vi[e[t+6]]+Vi[e[t+7]]+"-"+Vi[e[t+8]]+Vi[e[t+9]]+"-"+Vi[e[t+10]]+Vi[e[t+11]]+Vi[e[t+12]]+Vi[e[t+13]]+Vi[e[t+14]]+Vi[e[t+15]]).toLowerCase()}var nwe=Pt(require("crypto")),sq={randomUUID:nwe.default.randomUUID};function iCt(e,t,r){if(sq.randomUUID&&!t&&!e)return sq.randomUUID();e=e||{};let n=e.random||(e.rng||oq)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return rwe(n)}var ic=iCt;var fh=Pt(require("process"),1),XC=Pt(Ws(),1),YC=Pt(lq(),1);var rv=require("path"),xwe=Pt(Ws(),1);var mwe=()=>({folderPattern:{path:"folderPattern",default:"BASIC"},archiveCompressionType:{path:"archiveCompressionType",default:"STORE"},resourceCompressionType:{path:"resourceCompressionType",default:"GZIP"},I3SVersion:{path:"I3SVersion",default:"1.8"},nodeCount:{path:"nodeCount"}});var Zd=require("fs"),ev=require("path");var gwe=require("zlib"),uC=require("fs");function cC(e){let t=`${e}.gz`,r=(0,gwe.createGzip)(),n=(0,uC.createReadStream)(e),i=(0,uC.createWriteStream)(t);return new Promise((a,o)=>{n.on("end",()=>{console.log(`${t} compressed and saved.`),a(t)}),n.on("error",s=>{console.log(`${t}: compression error!`),o(s)}),n.pipe(r).pipe(i)})}async function Mn(e,t,r="index.json"){let n;t instanceof Promise?n=new Uint8Array(await t):t instanceof ArrayBuffer?n=new Uint8Array(t):n=t,await Zd.promises.mkdir(e,{recursive:!0});let i=(0,ev.join)(e,r);try{await Zd.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function ac(e,t,r="index.json",n=!0,i){let a=await Mn(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);{let o=await cC(a);return await B1(a),o}}return a}async function tv(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,ev.join)(e,t);un(o,K5).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function F1(e){try{return await Zd.promises.stat(e),!0}catch{return!1}}function k1(e){return Zd.promises.rm(e,{recursive:!0})}function B1(e){return Zd.promises.unlink(e)}function vwe(e){return(0,ev.isAbsolute)(e)?e:(0,ev.join)(process.cwd(),e)}async function bwe(e,t){try{await Zd.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Ki=class{nodesPerPage;nodesCounter;writeFile;converter;nodePages;length=0;constructor(t,r,n){this.nodesPerPage=r,this.nodesCounter=0,this.nodePages=[{}],this.nodePages[0].nodes=[],this.writeFile=t,this.converter=n,this.length=0}useWriteFunction(t){this.writeFile=t}getNodePageFileName(t){let r,n;return this.converter.options.slpk?(r=(0,rv.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`):(r=(0,rv.join)(this.converter.layers0Path,"nodepages",t.toString()),n="index.json"),{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),i=(0,rv.join)(r,n);return await F1(i)?(console.log(`load ${i}.`),await tv(r,n)):{nodes:[]}}getPageIndexByNodeId(t){return Math.floor(t/this.nodesPerPage)}async getPageByNodeId(t){let r=this.getPageIndexByNodeId(t);return this.converter.options.instantNodeWriting?await this.loadNodePage(r):this.nodePages[r]}async getNodeById(t,r){let n=t%this.nodesPerPage;return r=r||await this.getPageByNodeId(t),r.nodes[n]}async addChildRelation(t,r){var i;if(t==null)return;let n=await this.getNodeById(t);(i=n.children)==null||i.push(r),await this.saveNode(n)}async push(t,r){if(t.index=this.nodesCounter++,!this.converter.options.instantNodeWriting){let n=this.nodePages[this.nodePages.length-1];n.nodes.length===this.nodesPerPage&&(n={nodes:[]},this.nodePages.push(n)),n.nodes.push(t)}return await this.addChildRelation(r,t.index),Ki.updateResourceInMesh(t),await this.saveNode(t),t}async saveNode(t){if(this.converter.options.instantNodeWriting){let r=this.getPageIndexByNodeId(t.index),n=await this.getPageByNodeId(t.index),{filePath:i,fileName:a}=this.getNodePageFileName(r),o=await this.getNodeById(t.index,n);o?Ki.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,s)},!0)}else return}async saveMetadata(){let t=(0,xwe.default)({nodeCount:this.nodesCounter},mwe()),r=!1;await this.converter.writeQueue.enqueue({archiveKey:"metadata.json",writePromise:()=>this.writeFile(this.converter.layers0Path,JSON.stringify(t),"metadata.json",r)})}async save(){if(this.converter.options.instantNodeWriting){await this.saveMetadata();return}if(this.converter.options.slpk){for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,rv.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(i,n,`${t.toString()}.json`)})}await this.saveMetadata()}else for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,rv.join)(this.converter.layers0Path,"nodepages",t.toString());await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,n)})}}static updateResourceInMesh(t){t.mesh&&isFinite(t.index)&&(t.mesh.geometry.resource=t.index)}static updateAll(t,r){return Object.assign(t,r,{index:t.index}),Ki.updateResourceInMesh(t),t}static updateMaterialByNodeId(t,r){t.mesh&&(t.mesh.material={definition:r,resource:t.index})}static updateVertexCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.vertexCount=r)}static updateNodeAttributeByNodeId(t){!t.mesh||!t.index||(t.mesh.attribute.resource=t.index)}static updateFeatureCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.featureCount=r)}static updateTexelCountHintByNodeId(t,r){!t.mesh||!t.mesh.material||(t.mesh.material.texelCountHint=r)}};var I1=require("path"),lC=require("fs");function nv(e){if(typeof e=="number"){let r=Math.floor(e/1e3),n=e-r*1e3;return ywe(r,n)}else{let r=e[0],n=e[1]/1e6;return ywe(r,n)}}function ywe(e,t){let r=Math.floor(e/3600);e=e-r*3600;let n=Math.floor(e/60);e=e-n*60;let i=Math.floor(e),a="";return r&&(a+=`${r}h `),n&&(a+=`${n}m `),i&&(a+=`${i}s`),a||(a+=`${Math.floor(t)}ms`),a}async function fC(e){let{slpk:t,outputPath:r,tilesetName:n}=e,i=vwe(r);try{if(t){let s=(0,I1.join)(i,`${n}.slpk`);return(await lC.promises.stat(s)).size}let a=(0,I1.join)(i,n);return await _we(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function _we(e){let t=0,r=await lC.promises.readdir(e);for(let n of r){let i=await lC.promises.stat((0,I1.join)(e,n));i.isDirectory()?t+=await _we((0,I1.join)(e,n)):t+=i.size}return t}var qwe=Pt(lq(),1);var eh=3,iv=9;function Ewe(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/iv;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:t,normals:r,texCoords:n,colors:i,uvRegions:a};let u=mCt(o),c=gCt({...u,...e}),l=vCt(c);return bCt(l,u.featureCount)}function mCt(e){let t=1,r=1,n=wwe(e.slice(0,eh)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let c=eh;c<e.length;c+=eh){let l=wwe(e.slice(c,c+eh));n!==l&&(i[t]=c/eh-1,i[t+1]=c/eh,a[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}i[t]=e.length/eh-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function wwe(e){let t={},r=e[0],n=1;for(let i of e)t[i]=(t[i]||0)+1,n=n>t[i]?n:t[i],r=n>t[i]?r:i;return r}function gCt(e){let{featureIds:t,positions:r,normals:n,colors:i,uvRegions:a,texCoords:o,faceRange:s=new Uint32Array(0)}=e,u=[],c=new Float32Array(r),l=new Float32Array(n),f=new Uint8Array(i),p=new Float32Array(o),d=new Uint16Array(a),m=0,g=0,v=0,y=0,w=0;for(let A=0;A<t.length;A++){let C=s[A*2],T=s[A*2+1],B=P1("positions",C,T),j=P1("normals",C,T),U=P1("colors",C,T),I=P1("uvRegions",C,T),R=P1("texCoords",C,T);u.push({featureId:t[A],positions:c.subarray(m,m+B),normals:l.subarray(g,g+j),colors:f.subarray(v,v+U),uvRegions:d.subarray(y,y+I),texCoords:p.subarray(w,w+R)}),m+=B,g+=j,v+=U,y+=I,w+=R}return u}function P1(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*iv;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function vCt(e){let t=[];for(let n of e){let i=t.find(a=>a.featureId===n.featureId);i?i.attributes.push(n):t.push({featureId:n.featureId,attributes:[n]})}let r=[];for(let n of t){let i=Awe(n.attributes);r.push({featureId:n.featureId,...i})}return r}function bCt(e,t){let n=[e[0].featureId||0],i=[0],a=0,o=0;for(let c=1;c<e.length;c++){let l=e[c];n.push(l.featureId||0);let f=e[a];i.push(f.positions.length/iv-1+o),i.push(f.positions.length/iv+o),o+=f.positions.length/iv,a+=1}let s=Awe(e);return i.push(s.positions.length/iv-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function Awe(e){let t=e.map(({positions:f})=>f),r=t.length>1?ao(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?ao(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?ao(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?ao(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?ao(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function pC(e,t){let r,n,i,a=Ut.WGS84.cartesianToCartographic(e.center,new ie);return a[2]=a[2]-t.getHeight(a[1],a[0]),e instanceof Ci?(n=e.halfSize,r=new ie(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Uo().fromMatrix3(new hr([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[a[0],a[1],a[2],r],obb:{center:[a[0],a[1],a[2]],halfSize:n,quaternion:i}}}function Swe(e,t){let r=xCt(e),n=wy(r),i=NR(r),a=Ut.WGS84.cartesianToCartographic(i.center,new ie),o=Ut.WGS84.cartesianToCartographic(n.center,new ie);return a[2]=a[2]-t.getHeight(a[1],a[0]),o[2]=o[2]-t.getHeight(o[1],o[0]),{mbs:[a[0],a[1],a[2],i.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function xCt(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new ie([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function Twe(e){let t;e instanceof Sa?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Ut.WGS84.cartesianToCartographic(new ie(r[0]+n,r[1]+n,r[2]+n),new ie),a=Ut.WGS84.cartesianToCartographic(new ie(r[0]-n,r[1]-n,r[2]-n),new ie);return{xmin:Math.min(a[0],i[0]),xmax:Math.max(a[0],i[0]),ymin:Math.min(a[1],i[1]),ymax:Math.max(a[1],i[1]),zmin:Math.min(a[2],i[2]),zmax:Math.max(a[2],i[2])}}function fq(e){let t=e[3],r=new ie(e[0],e[1],e[2]),n=new hr([t,0,0,0,t,0,0,0,t]);return new Ci(r,n)}function Cwe(e,t,r){var s,u,c,l,f,p,d,m;let n=((u=(s=e.gltf)==null?void 0:s.scene)==null?void 0:u.nodes)||((f=(l=(c=e.gltf)==null?void 0:c.scenes)==null?void 0:l[0])==null?void 0:f.nodes)||((p=e.gltf)==null?void 0:p.nodes)||[],i=((m=(d=e.gltf)==null?void 0:d.images)==null?void 0:m.map(g=>{var v,y;if((v=g==null?void 0:g.image)!=null&&v.compressed)return null;{let w=(y=g==null?void 0:g.image)==null?void 0:y.data,A=new Uint8Array(w.length);return A.set(w),{data:A,compressed:!1,height:g.image.height,width:g.image.width,components:g.image.components,mimeType:g.mimeType}}}))||[];Dwe(n);let{cartographicOrigin:a,modelMatrix:o}=_Ct(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function yCt(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function _Ct(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new Sr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new Sr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new Sr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new ie(a),u=Ut.WGS84.cartesianToCartographic(s,new ie);return{modelMatrix:o,cartographicOrigin:u}}function Dwe(e){var t;for(let r=0;r<e.length;r++){let n=e[r];n.mesh&&(e[r]={...n,mesh:{...n.mesh,primitives:(t=n.mesh)==null?void 0:t.primitives.map(i=>{var a,o,s;return{...i,indices:{value:(a=i==null?void 0:i.indices)==null?void 0:a.value},attributes:yCt(i.attributes),material:{id:(o=i==null?void 0:i.material)==null?void 0:o.id,uniqueId:(s=i==null?void 0:i.material)==null?void 0:s.uniqueId}}})}}),n.children&&Dwe(n.children)}}function Fwe(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[Ho];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function kwe(e,t,r,n){let i=t==null?void 0:t.extensions;if(!i)return[];for(let[a,o]of Object.entries(i||{}))switch(a){case Ho:return ECt(e,o,r,n);case q3:return wCt(e,o);default:return[]}return[]}function wCt(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function ECt(e,t,r,n){var o,s,u,c,l,f,p;let i=(o=t==null?void 0:t.featureIdAttributes)==null?void 0:o[0];if((s=i==null?void 0:i.featureIds)!=null&&s.attribute)return e[i.featureIds.attribute].value;if((u=i==null?void 0:i.featureIds)!=null&&u.hasOwnProperty("constant")&&((c=i==null?void 0:i.featureIds)!=null&&c.hasOwnProperty("divisor"))){let d=((l=e==null?void 0:e.POSITIONS)==null?void 0:l.value.length)/3||0;return ACt(d,i.featureIds.constant,i.featureIds.divisor)}let a=(t==null?void 0:t.featureIdTextures)&&(t==null?void 0:t.featureIdTextures[0]);if(a){let m=`TEXCOORD_${((p=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:p.texCoord)||0}`,g=e[m].value;return SCt(a,g,r)}return n?e[n].value:[]}function ACt(e,t=0,r=0){let n=[];if(r>0){let i=t,a=r;for(let o=0;o<e;o++)n.push(i),a-=1,a===0&&(i++,a=r)}else n=Array(e).fill(t,0,e);return n}function SCt(e,t,r){var c,l,f;if(!(r!=null&&r.length))return[];let n={r:0,g:1,b:2,a:3},i=(l=(c=e==null?void 0:e.featureIds)==null?void 0:c.texture)==null?void 0:l.index,a=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!a||i===void 0)return[];let o=r[i],s=[],u=n[a];if(o&&(o!=null&&o.width)&&(o!=null&&o.height)&&(o!=null&&o.components))for(let p=0;p<t.length;p+=2){let d=t[p],m=t[p+1],g=Math.min(C3(d)*o.width|0,o.width-1),y=(Math.min(C3(m)*o.height|0,o.height-1)*o.width+g)*o.components+u,w=new Uint8Array(o.data)[y];s.push(w)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function Bwe(e,t){let r={};for(let n in t){let i=t[n];r[n]=TCt(i,e)}return r}function TCt(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function Iwe(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function CCt(e){return typeof e=="string"||typeof e=="bigint"?hn.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?hn.SHORT_INT_TYPE:hn.DOUBLE_TYPE:hn.STRING_TYPE}function Pwe(e){let t={};for(let r in e){let n=e[r][0],i=CCt(n);t[r]=i}return t}var Owe=(e,t)=>{var a,o,s,u,c,l,f,p;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[Ho])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:u[t];if(n){for(let d in n.properties){let m=n.properties[d],g=DCt(m);r[d]=g}return r}let i=(p=(f=(l=(c=e.extensions)==null?void 0:c[Zc])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:p[t];if(i){for(let d in i.properties){let m=i.properties[d],g=FCt(m);r[d]=g}return r}return null},DCt=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=hn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=hn.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=hn.STRING_TYPE;break;default:t=hn.STRING_TYPE;break}return t},FCt=e=>{let t;if(e.array)t=hn.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=hn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=hn.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=hn.STRING_TYPE;break;default:t=hn.STRING_TYPE;break}return t};var dC=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var kCt=1,BCt=1,$s=3,O1=2,ICt=4,PCt="string",OCt="Int32",jCt="Float64",RCt="Oid32",jwe=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],np=new ie;async function pq(e,t,r,n,i,a,o,s,u,c,l,f,p){var A;let d=u,m=await YCt((A=e.gltf)==null?void 0:A.materials,c),g=Cwe(e,t,r),v=Fwe(e,p),y=await qCt(g,m,d,v);u&&MCt(y,l);let w=[];for(let C of m){let T=C.mergedMaterials[0].originalMaterialId;if(!y.has(T))continue;let B=y.get(T);if(!B)continue;let{material:j,texture:U}=C,I=await n();w.push(await LCt({convertedAttributes:B,material:j,texture:U,tileContent:e,nodeId:I,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return w.length?w:null}function MCt(e,t){for(let r of e.values()){let n=Swe(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=$s){let o=r.positions.subarray(a,a+$s);Ut.WGS84.cartesianToCartographic(Array.from(o),np),np[2]=np[2]-t.getHeight(np[1],np[0]),np=np.subtract(i),r.positions.set(np,a)}}}async function LCt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var R;let l=e.boundingVolumes,f=e.positions.length/$s,{faceRange:p,featureIds:d,positions:m,normals:g,colors:v,uvRegions:y,texCoords:w,featureCount:A}=Ewe(e),C={};o&&(C=uDt(d,e.featureIndices,a,o));let T=new Uint32Array(2),B=vDt(d);T.set([f,A],0);let j=new Uint8Array(Pn(T.buffer,m.buffer,g.buffer,r?w.buffer:new ArrayBuffer(0),v.buffer,y,B.buffer,p.buffer)),U=u?bDt(f,e,{positions:m,normals:g,texCoords:r?w:new Float32Array(0),colors:v,uvRegions:y,featureIds:d,faceRange:p},c):null,I=[];return s&&o&&(I=pDt(d,C,o,s)),{nodeId:i,geometry:j,compressedGeometry:U,texture:r,hasUvRegions:Boolean(y.length),sharedResources:nDt(((R=n.gltf)==null?void 0:R.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:I,featureCount:A,boundingVolumes:l}}async function qCt(e,t,r,n){let{nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s}=e,u=new Map;for(let c of t){let l={positions:new Float32Array(0),normals:new Float32Array(0),texCoords:new Float32Array(0),colors:new Uint8Array(0),uvRegions:new Uint16Array(0),featureIndicesGroups:[],featureIndices:[],boundingVolumes:null,mergedMaterials:c.mergedMaterials};for(let f of c.mergedMaterials)u.set(f.originalMaterialId,l)}Nwe(i,a,o,s,u,r,void 0,n);for(let c of u.keys()){let l=u.get(c);if(l){if(l.positions.length===0){u.delete(c);continue}l.featureIndicesGroups&&(l.featureIndices=l.featureIndicesGroups.reduce((f,p)=>f.concat(p)),delete l.featureIndicesGroups)}}return u}function Nwe(e,t,r,n,i,a,o=new Sr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){if(e)for(let u of e)UCt(u,t,r,n,i,a,o,s)}function NCt(e,t){let r=t,{matrix:n,rotation:i,scale:a,translation:o}=e;return n&&(r=t.multiplyRight(n)),o&&(r=r.translate(o)),i&&(r=r.rotateXYZ(i)),a&&(r=r.scale(a)),r}function UCt(e,t,r,n,i,a,o=new Sr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){let u=NCt(e,o),c=e.mesh;c&&GCt(c,t,r,n,i,a,u,s),Nwe(e.children||[],t,r,n,i,a,u,s)}function GCt(e,t,r,n,i,a=!1,o=new Sr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){var u;for(let c of e.primitives){let l=null,f;c.material?(l=i.get(c.material.id),f=(u=l==null?void 0:l.mergedMaterials.find(({originalMaterialId:m})=>{var g;return m===((g=c.material)==null?void 0:g.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),jt(l!==null,"Primitive - material mapping failed"),jt(c.mode===void 0||c.mode===St.TRIANGLES||c.mode===St.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let p=c.attributes;if(!l)continue;let d=zCt(c);l.positions=ao(l.positions,Rwe({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:HCt,useCartesianPositions:a})),l.normals=ao(l.normals,Rwe({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:WCt,useCartesianPositions:!1})),l.texCoords=ao(l.texCoords,$Ct(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=ao(l.colors,VCt(p.COLOR_0,d)),f&&(l.uvRegions=ao(l.uvRegions,KCt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(JCt(XCt(p,c,t,s),d))}}function zCt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return dC(n.length/$s)}if(t&&e.mode===St.TRIANGLE_STRIP){let n=t.constructor,i=new n((t.length-2)*3),a=0,o=t.slice(0,3);i.set(o,0);for(let s=1;s+2<t.length;s++)a+=3,o=t.slice(s,s+3),s%2===0?i.set(o,a):i.set(o.reverse(),a);t=i}return t}function Rwe(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*$s);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*$s,s=t.subarray(o,o+$s),u=new ie(Array.from(s));u=n(u,e),i[a*$s]=u.x,i[a*$s+1]=u.y,i[a*$s+2]=u.z}return i}function HCt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Ut.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function WCt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function $Ct(e,t){let r=new Float32Array(t.length*O1);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*O1,a=e.subarray(i,i+O1);r[n*O1]=a[0],r[n*O1+1]=a[1]}return r}function VCt(e,t){let r=(e==null?void 0:e.components)||ICt,n=new Uint8Array(t.length*r);if(!e)return n.fill(255),n;let i=e.value;for(let a=0;a<t.length;a++){let o=t[a]*r,s=i.subarray(o,o+r),u=new Uint8Array(r);for(let c=0;c<s.length;c++)u[c]=s[c]*255;n.set(u,a*r)}return n}function KCt(e,t){let r=new Uint16Array(t.length*4);for(let n=0;n<r.length;n+=4)r.set(e,n);return r}function JCt(e,t){if(!e.length||!t.length)return[];let r=[];for(let n=0;n<t.length;n++){let i=t[n];r.push(e[i])}return r}function XCt(e,t,r,n){let i=kwe(e,t,r,n);if(i.length)return i;for(let a=0;a<jwe.length;a++){let o=jwe[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function YCt(e=[],t){let r=[];for(let n of e)r.push(eDt(n));return t&&(r=await QCt(r)),r}async function QCt(e){var r,n;let t=[];for(;e.length>0;){let i=e.splice(0,1)[0],a=[];for(let o=0;o<e.length;o++){let s=e[o];(i.texture&&s.texture||!i.texture&&!s.texture)&&(i=await ZCt(i,s),a.push(o))}if(i.texture&&a.length){let o=(r=i.mergedMaterials)==null?void 0:r.reduce((c,{textureSize:l})=>c+((l==null?void 0:l.width)||0),0),s=(n=i.mergedMaterials)==null?void 0:n.reduce((c,{textureSize:l})=>Math.max(c,(l==null?void 0:l.height)||0),0),u=-1;for(let c of i.mergedMaterials)if(c.textureSize){let l=u+1+c.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;c.uvRegion=new Uint16Array([u+1,0,l,c.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),u=l}i.texture.image.width=o,i.texture.image.height=s}for(let o of a.reverse())e.splice(o,1);t.push(i)}return t.length||t.push({material:rDt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function ZCt(e,t){var r,n;if((r=e.texture)!=null&&r.bufferView&&((n=t.texture)!=null&&n.bufferView)&&e.mergedMaterials&&t.mergedMaterials){let i=Buffer.from(e.texture.bufferView.data),a=Buffer.from(t.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([i,a],{direction:"horizontal"});e.texture.bufferView.data=await s.toFormat(e.texture.mimeType==="image/png"?"png":"jpeg").toBuffer()}catch(o){throw console.log("Join images into a texture atlas has failed. Consider usage `--split-nodes` option. (See documentation https://loaders.gl/modules/tile-converter/docs/cli-reference/tile-converter)"),o}e.material.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId=1}return e.mergedMaterials=e.mergedMaterials.concat(t.mergedMaterials),e}function eDt(e){var i,a,o,s,u;let t={doubleSided:e.doubleSided,emissiveFactor:(i=e.emissiveFactor)==null?void 0:i.map(c=>Math.round(c*255)),alphaMode:tDt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||kCt,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||BCt}},r;(s=e==null?void 0:e.pbrMetallicRoughness)!=null&&s.baseColorTexture?(r=e.pbrMetallicRoughness.baseColorTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}):e.emissiveTexture&&(r=e.emissiveTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}),e.id=Number.isFinite(e.id)?e.id:ic();let n=[{originalMaterialId:e.id}];if(r)n[0].textureSize={width:r.image.width,height:r.image.height};else{let c=(u=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:u.baseColorFactor;t.pbrMetallicRoughness.baseColorFactor=c&&c.map(l=>Math.round(l*255))||void 0}return{material:t,texture:r,mergedMaterials:n}}function tDt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function rDt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function nDt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=iDt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function iDt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=oDt(r.texture,t));let{baseColorFactor:i,metallicFactor:a}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=i;return(!i||i[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:aDt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function aDt(e,t=1){let r=.00015686274509803922,n=new No(0,0,0,1),i=new No(1,1,1,1),a=new No(r,r,r,0),o=new No(e),s=i.subtract(a).multiply(o),u=s.lerp(s,n,t);a[3]=1;let c=a.lerp(a,o,t);return{params:{diffuse:u.toArray(),specular:c.toArray(),renderMode:"solid"}}}function oDt(e,t){var r,n,i,a;return{encoding:(r=e==null?void 0:e.source)!=null&&r.mimeType?[e.source.mimeType]:void 0,images:[{id:sDt(e,t),size:(n=e.source)==null?void 0:n.image.width,length:(i=e.source)!=null&&i.image.data.length?[(a=e.source)==null?void 0:a.image.data.length]:void 0}]}}function sDt(e,t){var g;let{width:r,height:n}=((g=e.source)==null?void 0:g.image)||{};if(!r||!n)return"";let i=1,a=0,o=t+1,s=32-o.toString(2).length,u="0".repeat(s).concat(o.toString(2)),c=i<<28,l=a<<24,f=r-1<<12,p=n-1<<0,d=c+l+f+p;return BigInt(`0b${d.toString(2)}${u}`).toString()}function uDt(e,t,r,n){let i=cDt(e,n,r);return Mwe(t,i),Mwe(e,i),i}function cDt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=fDt(i,t,r);n[a.toString()]=o}return n}function lDt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function fDt(e,t,r){let n=lDt(t,e),i=(0,qwe.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function Mwe(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function pDt(e,t,r,n){let i=[],o=Iwe(e,r)?Bwe(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=hDt(u,n);if(c){let l=s[u],f=dDt(c,l);i.push(f)}}return i}function dDt(e,t){let r;switch(e){case RCt:case OCt:r=mDt(t);break;case jCt:r=gDt(t);break;case PCt:r=Lwe(t);break;default:r=Lwe(t)}return r}function hDt(e,t){let r=t.find(n=>n.name===e);return r?r.attributeValues?r.attributeValues.valueType:(console.error(`attributeValues is null, attribute=${r}`),""):(console.error(`attribute is null, key=${e}, attributeStorageInfo=${JSON.stringify(t,null,2)}`),"")}function mDt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return Pn(t.buffer,r.buffer)}function gDt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return Pn(t.buffer,r.buffer,n.buffer)}function Lwe(e){let t=new Uint32Array([e.length]),r=0,n=new Uint32Array(e.length),i=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,u=Buffer.from(s),c=u.length;r+=c,n[o]=c,i.push(u)}let a=new Uint32Array([r]);return Pn(t.buffer,a.buffer,n.buffer,...i)}function vDt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function bDt(e,t,r,n){let{positions:i,normals:a,texCoords:o,colors:s,uvRegions:u,featureIds:c,faceRange:l}=r,f=new Uint32Array(e);for(let v=0;v<f.length;v++)f.set([v],v);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=xDt(p,l),m={positions:i,normals:a,colors:s,"feature-index":d};o.length&&(m.texCoords=o);let g={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(m["uv-region"]=u,g["uv-region"]={"i3s-attribute-type":"uv-region"}),Xm({attributes:m,indices:f},$R,{...$R.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:g},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}})}function xDt(e,t){let r=new Uint32Array(e.length),n=0,i=0;for(let a=1;a<t.length;a+=2){let o=(t[a]+1)*$s;r.fill(n,i,o),n++,i=o+1}return r}function Uwe(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=wDt(e);switch(i){case Zc:return r=yDt(a,t),r;case Ho:return r=_Dt(a,t),r;default:return null}}function yDt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return hC(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return hC(r)}return null}function _Dt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return hC(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return hC(n)}return null}function hC(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function wDt(e){var a,o,s,u;let t=[Ho,Zc];if(!((a=e==null?void 0:e.gltf)==null?void 0:a.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let c of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(t.includes(c)){n=c;break}if(!n)return{extensionName:null,extension:null};let i=(u=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:u[n];return{extensionName:n,extension:i}}var zwe=Pt(Ws(),1),Hwe=require("path");var Gwe=()=>({serviceItemId:{path:"serviceItemId"},serviceName:{path:"layerName"},name:{path:"layerName"},currentVersion:{path:"currentVersion",default:10.7},serviceVersion:{path:"serviceVersion",default:"1.8"},supportedBindings:{path:"supportedBindings",default:["REST"]},layers:{path:"layers0",transform:e=>[e]}});async function Wwe(e,t,r){let n={serviceItemId:ic().replace(/-/gi,""),layerName:e,layers0:t},i=(0,zwe.default)(n,Gwe()),a=(0,Hwe.join)(r,"SceneServer");await Mn(a,JSON.stringify(i))}var dq=16;function $we(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*dq/i},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*a.maxError*a.maxError};return n.constructor.name==="OrientedBoundingBox"?(r.push(o),r.push(a)):(r.push(a),r.push(o)),r}function hq(e){var n,i;let t=(n=e.lodSelection)==null?void 0:n.find(a=>a.metricType==="maxScreenThreshold"),r=t==null?void 0:t.maxError;if(!r){let a=(i=e.lodSelection)==null?void 0:i.find(o=>o.metricType==="maxScreenThresholdSQ");a&&(r=Math.sqrt(a.maxError/(Math.PI*.25)))}return r||(r=dq),e.mbs[3]*2*dq/r}var EDt=240,ADt=[9,-18,-88,0,96,90,0,0,-60,-20,-9,18,8,0,-96,30,0,0,60,-20,9,-88,-18,90,96,0,-20,-60,0,0,186,-42,-42,-150,-96,-150,60,60,60,60,54,162,-78,30,-24,-90,-60,60,-60,60,-9,-32,18,30,24,0,20,-60,0,0,-9,8,18,30,-96,0,-20,60,0,0,54,-78,162,-90,-24,30,60,-60,60,-60,-54,78,78,90,144,90,-60,-60,-60,-60,9,-8,-18,-30,-24,0,20,60,0,0,-9,18,-32,0,24,30,0,0,-60,20,9,-18,-8,0,-24,-30,0,0,60,20],SDt=372,TDt=[0,0,-131,0,138,144,0,0,-102,-31,0,0,7,0,-138,42,0,0,102,-31,62,0,-31,0,0,-62,0,0,0,31,124,0,-62,0,0,-124,0,0,0,62,124,0,-62,0,0,-124,0,0,0,62,62,0,-31,0,0,-62,0,0,0,31,0,0,45,0,-183,-9,0,93,18,0,0,0,216,0,33,87,0,-93,12,-93,0,0,156,0,153,99,0,-93,-12,-93,0,0,-45,0,-3,9,0,93,-18,0,0,0,-55,0,48,42,0,0,-84,31,0,0,-7,0,-48,-42,0,0,84,31],CDt=372,DDt=[18,-36,-122,0,120,135,0,0,-84,-31,-18,36,-2,0,-120,51,0,0,84,-31,36,-165,-27,93,147,-9,0,-93,18,0,210,45,-111,-93,-57,-192,0,93,12,93,162,141,-75,-93,-129,-180,0,93,-12,93,-36,-21,27,93,39,9,0,-93,-18,0,0,0,62,0,0,31,0,0,0,-31,0,0,124,0,0,62,0,0,0,-62,0,0,124,0,0,62,0,0,0,-62,0,0,62,0,0,31,0,0,0,-31,-18,36,-64,0,66,51,0,0,-102,31,18,-36,2,0,-66,-51,0,0,102,31],FDt=12,mq=(3+1)*(3+2)/2,kDt=2,av=class{constructor(t){At(this,"_v00",0),At(this,"_v01",0),At(this,"_v10",0),At(this,"_v11",0),At(this,"_t",[]),At(this,"_ix",void 0),At(this,"_iy",void 0),At(this,"options",void 0),this.options=t,this._ix=this.options._width,this._iy=this.options._height}getHeight(t,r){if(t=Math.abs(t)>90?NaN:t,isNaN(t)||isNaN(r))return NaN;let n=BDt(r,360);r=n!==-180?n:180;let i=r*this.options._rlonres,a=-t*this.options._rlatres,o=Math.floor(i),s=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(a));i-=o,a-=s,s+=(this.options._height-1)/2,o+=o<0?this.options._width:o>=this.options._width?-this.options._width:0;let u=0,c=0,l=0,f=0,p=new Array(mq);if(o===this._ix&&s===this._iy)this.options.cubic?p=this._t:(u=this._v00,c=this._v01,l=this._v10,f=this._v11);else if(!this.options.cubic)u=this._rawval(o,s),c=this._rawval(o+1,s),l=this._rawval(o,s+1),f=this._rawval(o+1,s+1);else{let m=[this._rawval(o,s-1),this._rawval(o+1,s-1),this._rawval(o-1,s),this._rawval(o,s),this._rawval(o+1,s),this._rawval(o+2,s),this._rawval(o-1,s+1),this._rawval(o,s+1),this._rawval(o+1,s+1),this._rawval(o+2,s+1),this._rawval(o,s+2),this._rawval(o+1,s+2)],g=TDt;s!==0&&(g=s===this.options._height-2?DDt:ADt);let v=SDt;s!==0&&(v=s===this.options._height-2?CDt:EDt);for(let y=0;y<mq;++y){p[y]=0;for(let w=0;w<FDt;++w)p[y]+=m[w]*g[mq*w+y];p[y]/=v}}if(!this.options.cubic){let m=(1-i)*u+i*c,g=(1-i)*l+i*f,v=(1-a)*m+a*g,y=this.options._offset+this.options._scale*v;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,y}let d=p[0]+i*(p[1]+i*(p[3]+i*p[6]))+a*(p[2]+i*(p[4]+i*p[7])+a*(p[5]+i*p[8]+a*p[9]));return d=this.options._offset+this.options._scale*d,this._ix=o,this._iy=s,this._t=p,d}_rawval(t,r){t<0?t+=this.options._width:t>=this.options._width&&(t-=this.options._width),(r<0||r>=this.options._height)&&(r=r<0?-r:2*(this.options._height-1)-r,t+=(t<this.options._width/2?1:-1)*this.options._width/2);let n=this.options._datastart+kDt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function BDt(e,t){t=Math.abs(t);let r=Vwe(e,t);return 2*Math.abs(r)===t?r-=Vwe(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function Vwe(e,t){return e-Math.floor(e/t)*t}var IDt=10,PDt=65535;function gq(e,t){let r=ODt(e),n=r.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");let i=Number.MAX_VALUE,a=0,o=-1,s=-1,u="NONE",c="UNKNOWN",l=0,f=0,p=null,d=null;do{n=r.next();let y=n.value.line;if(y.length)if(y[0]==="#"){let w=y.split(" "),A=w[0],C=w[1];if(A!=="#"||!C)continue;let T=w.length>2?w.slice(2):[];if(C==="Description")u=T.join(" ");else if(C==="DateTime")c=T.join(" ");else if(C==="Offset"){if(!w[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(w[2],10)}else if(C==="Scale"){if(!w[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(w[2])}else C===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(w[2]))&&(o=parseFloat(w[2])):C===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(w[2]))&&(s=parseFloat(w[2]))}else{let w=y.split(" ");if(w=w.filter(A=>A!==""),l=parseInt(w[0],10),f=parseInt(w[1],10),!(l&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=r.next();let m=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(m!==PDt)throw new Error("Geoid model file: Incorrect value of maxval");if(p=n.value.offset,d=l,i===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(a===0)throw new Error("Geoid model file: Scale not set");if(a<0)throw new Error("Geoid model file: Scale must be positive");if(f<2||l<2)throw new Error("Geoid model file: Raster size too small");if(l&1)throw new Error("Geoid model file: Raster width is odd");if(!(f&1))throw new Error("Geoid model file: Raster height is even");let g=l/360,v=(f-1)/180;return new av({cubic:t.cubic,_width:l,_height:f,_rlonres:g,_rlatres:v,_offset:i,_scale:a,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*ODt(e){let t=0;do{let r=e.indexOf(IDt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:Kwe(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:Kwe(n)}}}while(t<e.length);return{offset:t,line:""}}function Kwe(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var jDt="4.2.0-alpha.4";var mC={name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:jDt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>gq(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var ov=Pt(Ws(),1);var Jwe={id:{path:"id",transform:e=>e.toUpperCase()},profile:{path:"profile",default:"meshpyramids"},version:{path:"version",default:"1.8"},resourcePattern:{path:"resourcePattern",default:["3dNodeIndexDocument","Attributes","SharedResource","Geometry"]},rootNode:{path:"rootNode",default:"./nodes/root"},extent:{path:"extent"},indexCRS:{path:"indexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},vertexCRS:{path:"vertexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},normalReferenceFrame:{path:"normalReferenceFrame",default:"east-north-up"},attributeEncoding:{path:"attributeEncoding",default:"application/octet-stream; version=1.6"},textureEncoding:{path:"textureEncoding",default:["image/jpeg","image/ktx2"]},lodType:{path:"lodType",default:"MeshPyramid"},lodModel:{path:"lodModel",default:"node-switching"},defaultGeometrySchema:{path:"defaultGeometrySchema",default:{geometryType:"triangles",header:[{property:"vertexCount",type:"UInt32"},{property:"featureCount",type:"UInt32"}],topology:"PerAttributeArray",ordering:["position","normal","uv0","color"],vertexAttributes:{position:{valueType:"Float32",valuesPerElement:3},normal:{valueType:"Float32",valuesPerElement:3},uv0:{valueType:"Float32",valuesPerElement:2},color:{valueType:"UInt8",valuesPerElement:4}},featureAttributeOrder:["id","faceRange"],featureAttributes:{id:{valueType:"UInt64",valuesPerElement:1},faceRange:{valueType:"UInt32",valuesPerElement:2}}}}};var RDt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),MDt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),LDt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),qDt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),Xwe=()=>({version:{path:"version",transform:e=>e.toUpperCase()},id:{path:"id",default:0},name:{path:"name"},href:{path:"href",default:"./layers/0"},layerType:{path:"layerType",default:"IntegratedMesh"},spatialReference:{path:"spatialReference",transform:e=>(0,ov.default)(e,RDt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,ov.default)(e,Jwe)},fullExtent:{path:"fullExtent",transform:e=>(0,ov.default)(e,qDt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,ov.default)(e,MDt())},nodePages:{path:"nodePages",transform:e=>(0,ov.default)(e,LDt())},materialDefinitions:{path:"materialDefinitions",default:[]},textureSetDefinitions:{path:"textureSetDefinitions",default:[]},geometryDefinitions:{path:"geometryDefinitions",default:[]},attributeStorageInfo:{path:"attributeStorageInfo",default:[]},fields:{path:"fields",default:[]},popupInfo:{path:"popupInfo",default:null}});var vq=Pt(Ws(),1),NDt=()=>({offset:{default:8},position:{default:{type:"Float32",component:3}},normal:{default:{type:"Float32",component:3}},uv0:{path:"hasTexture",transform:e=>e&&{type:"Float32",component:2}||!1,omitValues:[!1]},color:{default:{type:"UInt8",component:4}},uvRegion:{path:"hasUvRegions",transform:e=>e&&{type:"UInt16",component:4}||!1,omitValues:[!1]},featureId:{default:{binding:"per-feature",type:"UInt64",component:1}},faceRange:{default:{binding:"per-feature",type:"UInt32",component:2}}}),UDt=()=>({"compressedAttributes.encoding":{default:"draco"},"compressedAttributes.attributes":{path:"geometryConfig",transform:e=>{let t=["position","normal"];return e.hasTexture&&t.push("uv0"),t.push("color"),e.hasUvRegions&&t.push("uv-region"),t.push("feature-index"),t}}}),Ywe=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,vq.default)(e,NDt())];return e.draco&&t.push((0,vq.default)({geometryConfig:e},UDt())),t}}});var j1=Pt(Ws(),1),GDt=()=>({renderMode:{path:"renderMode",default:"solid"},shininess:{path:"shininess",default:1},reflectivity:{path:"reflectivity",default:0},ambient:{path:"ambient",default:[1,1,1]},diffuse:{path:"diffuse",default:[1,1,1]},specular:{path:"specular",default:[0,0,0]},useVertexColorAlpha:{path:"useVertexColorAlpha",default:!1},vertexRegions:{path:"vertexRegions",default:!1},vertexColors:{path:"vertexColors",default:!0}}),zDt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,j1.default)(r,GDt())}}),HDt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),WDt=()=>({encoding:{path:"encoding"},wrap:{path:"wrap",default:["none"]},atlas:{path:"atlas",default:!1},uvSet:{path:"uvSet",default:"uv0"},channels:{path:"channels",default:"rgb"},images:{path:"images",transform:(e,t,r)=>e.map(n=>(0,j1.default)(n,HDt()))}}),Qwe=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:$Dt},textureDefinitions:{path:"textureDefinitionInfos",transform:VDt}});function $Dt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,j1.default)(a,zDt());return n}function VDt(e,t,r){if(!e)return null;let n={};for(let[i,a]of e.entries()){let o=`${r.nodePath}${i}`;a.imageIndex=o,n[o]=(0,j1.default)(a,WDt())}return n}var KDt=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]);function eEe(e){var r,n;if(!((r=e==null?void 0:e.parentNode)!=null&&r.obb)||!((n=e==null?void 0:e.parentNode)!=null&&n.mbs))return[];let t=[];return JDt(t,e),XDt(t,e),t}function JDt(e,t){var o;let r=YDt(t.parentNode.obb),n=QDt(t);if(ZDt(r,n))return;let a=`OBB of Tile (${t.id}) doesn't fit into Parent (${(o=t.parentNode)==null?void 0:o.id}) tile OBB`;e.push(a)}function XDt(e,t){var a;let r=Zwe(t.mbs),n=Zwe(t.parentNode.mbs);if(r.center.distanceTo(n.center)+r.radius>n.radius){let o=`MBS of Tile (${t.id}) doesn't fit into Parent (${(a=t.parentNode)==null?void 0:a.id}) tile MBS`;e.push(o)}}function Zwe(e){return new Sa([e[0],e[1],e[2]],e[3])}function YDt(e){let{center:t,halfSize:r,quaternion:n}=e;return new Ci().fromCenterHalfSizeQuaternion(t,r,n)}function QDt(e){let t=e.obb.halfSize,r=KDt,n=Ut.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new ie(r[a]*=t[0],r[a+1]*=t[1],r[a+2]*=t[2]).transformByQuaternion(e.obb.quaternion).add(n);i=i.concat(s)}return i}function ZDt(e,t){let r=!0;for(let n=0;n<t.length/3;n+=3){let i=[t[n],t[n+1],t[n+2]],a=Ut.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){r=!1;break}}return r}var gC=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var tEe=Pt(require("process"),1),e4t=4*1024*1024*1024,sv=class extends gC{intervalId;conversionDump;writePromise=null;fileMap={};listeningInterval;writeConcurrency;constructor(t,r=2e3,n=400){super(),this.conversionDump=t,this.listeningInterval=r,this.writeConcurrency=n}async enqueue(t,r=!1){if(r){let{archiveKey:n,writePromise:i}=t,a=await i();n&&a&&(this.fileMap[n]=a)}else super.enqueue(t),tEe.default.memoryUsage().rss>e4t&&await this.startWrite()}startListening(){this.intervalId=setInterval(this.startWrite.bind(this),this.listeningInterval)}stopListening(){this.intervalId&&clearInterval(this.intervalId)}async startWrite(){this.writePromise||(this.writePromise=this.doWrite()),await this.writePromise,this.writePromise=null}async finalize(){this.stopListening(),await this.startWrite()}async doWrite(){for(;this.length;){let t=[],r=[],n=[];for(let a=0;a<this.writeConcurrency;a++){let o=this.dequeue();if(!o)break;let{archiveKey:s,sourceId:u,outputId:c,resourceType:l,writePromise:f}=o;r.push(s),n.push({sourceId:u,outputId:c,resourceType:l});let p=f();t.push(p)}let i=await Promise.allSettled(t);this.updateFileMap(r,i),await this.conversionDump.updateConvertedTilesDump(n,i)}}updateFileMap(t,r){for(let n=0;n<t.length;n++){let i=t[n];i&&"value"in r[n]&&(this.fileMap[i]=r[n].value)}}};var uv="Tile converter does not work in browser, only in node js environment",ip=".dump.json";var xq=require("path"),yq=Pt(Ws(),1);var rEe=Pt(Ws(),1),nEe=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),t4t=()=>({href:{path:"href"}}),r4t=()=>({id:{path:"id"},...t4t(),...nEe()}),bq=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...nEe(),lodSelection:{path:"lodSelection",default:[{metricType:"maxScreenThresholdSQ",maxError:196349.54374999998},{metricType:"maxScreenThreshold",maxError:999.9999999999999}]},children:{path:"children",default:null},neighbors:{path:"neighbors",default:null},parentNode:{path:"parentNode",transform:e=>(0,rEe.default)(e,r4t()),default:null},sharedResource:{path:"sharedResource",default:null},featureData:{path:"featureData",default:null},geometryData:{path:"geometryData",default:null},textureData:{path:"textureData",default:null},attributeData:{path:"attributeData",default:null}});var Vs=class{id;inPageId;data=null;children=[];converter;_finalized=!1;get finalized(){return this._finalized}constructor(t,r){this.inPageId=t,this.id=t===0?"root":t.toString(),this.converter=r}async addData(t){return this.converter.options.instantNodeWriting?await this.write(t):this.data=t,this}async addChildren(t){let r=[];for(let i of t){let a=await i.load();r.push({id:i.id,href:`../${i.id}`,obb:a.obb,mbs:a.mbs})}this.children=this.children.concat(t);let n=this.data;this.converter.options.instantNodeWriting&&(n=await this.load()),n&&(n.children=n.children??[],n.children=n.children.concat(r)),this.converter.options.instantNodeWriting&&n&&await this.write(n)}async addNeighbors(){var r;if(this.finalized)return;let t=await this.load();for(let n of this.children){let i=await n.load();if(i.neighbors=i.neighbors??[],Number((r=t==null?void 0:t.children)==null?void 0:r.length)<1e3)for(let a of t.children||[])n.id!==a.id&&i.neighbors.push({...a});else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete i.neighbors;this.converter.options.instantNodeWriting&&i&&await n.write(i),await n.save()}this.finalize()}async save(){this.data&&await this.write(this.data)}finalize(){this._finalized=!0;for(let t of this.children)t.flush()}async write(t){let r=(0,xq.join)(this.converter.layers0Path,"nodes",this.id);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>ac(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>Mn(r,JSON.stringify(t))},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,xq.join)(this.converter.layers0Path,"nodes",t),n="index.json";return this.converter.options.slpk&&(n="3dNodeIndexDocument.json"),await tv(r,n)}flush(){this.data=null}static async createRootNode(t,r){let n=Vs.createRootNodeIndexDocument(t);return await new Vs(0,r).addData(n)}static async createNode(t,r,n,i,a,o){let s=await Vs.createNodeIndexDocument(t,r,n,i,a);return await new Vs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${ic().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,yq.default)(r,bq())}static async createNodeIndexDocument(t,r,n,i,a){var l,f,p,d,m;let o=i.index,s=await t.load(),u={version:s.version,id:o.toString(),level:s.level+1,...r,lodSelection:n,parentNode:{id:t.id,href:`../${t.id}`,mbs:s.mbs,obb:s.obb},children:[],neighbors:[]},c=(0,yq.default)(u,bq());if(i.mesh&&(c.geometryData=[{href:"./geometries/0"}],c.sharedResource={href:"./shared"},("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint)&&(c.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),"attributes"in a&&a.attributes&&a.attributes.length&&((f=(l=t.converter.layers0)==null?void 0:l.attributeStorageInfo)!=null&&f.length)||"attributesCount"in a&&a.attributesCount&&((d=(p=t.converter.layers0)==null?void 0:p.attributeStorageInfo)!=null&&d.length))){let g=("attributes"in a?(m=a.attributes)==null?void 0:m.length:a.attributesCount)||0;c.attributeData=[];let v=g<t.converter.layers0.attributeStorageInfo.length?g:t.converter.layers0.attributeStorageInfo.length;for(let y=0;y<v;y++){let w=t.converter.layers0.attributeStorageInfo[y].key;c.attributeData.push({href:`./attributes/${w}/0`})}}return c}};var _q=async(e,t,r)=>{let n=R1(t);if(!e||!t.contentUrl||!n)return;let i={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},a=await vC(t.contentUrl,e.loader,i);a.root&&(t.children=[a.root])},wq=async(e,t,r)=>{let n=R1(t);if(!e||!t.contentUrl||n)return null;let i={...r,[e.loader.id]:{...r[e.loader.id]||{},isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}};return await vC(t.contentUrl,e.loader,i)};async function vC(e,t,r){let n=e.split(".3tz"),i;if(n.length===1)i=null;else if(n.length===2)i=n[1].slice(1),i===""&&(i="tileset.json");else throw new Error("Unexpected URL format");if(i){let a=`${n[0]}.3tz`,o=new so(a),s=await n4t(o),u=new C1(o,s,a),c=new hl(u),l=await un(i,t,{...r,fetch:c.fetch.bind(c)});return await c.destroy(),l}return await un(e,t,r)}function R1(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}async function n4t(e){let t,r=await Jd(e,Yd),n=await Xd(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await Hs(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await e.slice(a,a+i.compressedSize);t=S1(o)}return t}var bC=async(e,t,r,n,i,a=0)=>{if(i&&a>i)return;let o=[],s=await r(e,t);o.push(s);for(let u of e.children)await bC(u,s,r,n,i,a+1);n&&await n(o,t)};var i4t=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],iEe=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await co(e.gltfArrayBuffer,el,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=a4t(n),a=o4t(n);return{meshTopologyTypes:i,metadataClasses:a}},a4t=e=>{let t=new Set;for(let r of e.meshes||[])for(let n of r.primitives){let{mode:i}=n;typeof i!="number"&&(i=4),t.add(i4t[i])}return t},o4t=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[Ho])==null?void 0:a.schema)==null?void 0:o.classes;if(r)for(let l of Object.keys(r))t.add(l);let n=(c=(u=(s=e.extensions)==null?void 0:s[Zc])==null?void 0:u.schema)==null?void 0:c.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},aEe=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var oEe=Pt(require("process"),1);var s4t=.2,cv=class{_stepsTotal=0;_stepsDone=0;startTime=0;stopTime=0;timeOfUpdatingStepsDone=0;milliSecForOneStep=0;trust=!1;numberOfDigitsInPercentage=0;threshold;getTime;constructor(t={}){this.getTime=t.getTime||oEe.default.hrtime.bigint,this.threshold=t.threshold||s4t}get stepsTotal(){return this._stepsTotal}set stepsTotal(t){this._stepsTotal=t,this.numberOfDigitsInPercentage=this.stepsTotal>100?Math.ceil(Math.log10(this.stepsTotal))-2:0}get stepsDone(){return this._stepsDone}set stepsDone(t){if(this._stepsDone=t,this.timeOfUpdatingStepsDone=this.getCurrentTimeInMilliSeconds(),this._stepsDone){let n=(this.timeOfUpdatingStepsDone-this.startTime)/this._stepsDone;this.trust=this.isVelocityTrust(n,this.milliSecForOneStep),this.milliSecForOneStep=n}}startMonitoring(){this.startTime=this.getCurrentTimeInMilliSeconds(),this.milliSecForOneStep=0,this.trust=!1,this.timeOfUpdatingStepsDone=0,this.stopTime=0,this.stepsDone=0}stopMonitoring(){this.stopTime=this.getCurrentTimeInMilliSeconds()}getPercent(){return this._stepsTotal?this._stepsDone/this._stepsTotal*100:null}getPercentString(){let t=this.getPercent();return t!==null?t.toFixed(this.numberOfDigitsInPercentage):""}getTimeCurrentlyElapsed(){return(this.stopTime?this.stopTime:this.getCurrentTimeInMilliSeconds())-this.startTime}getTimeRemaining(){return!this._stepsTotal||!this._stepsDone||!this.startTime?null:{timeRemaining:(this._stepsTotal-this._stepsDone)*this.milliSecForOneStep,trust:this.trust}}getTimeRemainingString(){let t=this.getTimeRemaining();return t!=null&&t.trust?nv(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var ESe=require("util");var pp=require("path"),ASe=Pt(require("process"),1),SSe=Pt(_Se(),1);var wSe={type:"object",properties:{options:{type:"object",properties:{inputUrl:{type:"string"},outputPath:{type:"string"},tilesetName:{type:"string"},maxDepth:{type:"number"},slpk:{type:"boolean"},egmFilePath:{type:"string"},token:{type:"string"},draco:{type:"boolean"},mergeMaterials:{type:"boolean"},generateTextures:{type:"boolean"},generateBoundingVolumes:{type:"boolean"},metadataClass:{type:"string"},analyze:{type:"boolean"}},required:["inputUrl","outputPath","tilesetName"]},tilesConverted:{type:"object",patternProperties:{".*":{type:"object",properties:{nodes:{type:"array",items:{type:"object",properties:{nodeId:{type:["number","string"]},done:{type:"boolean"},progress:{type:"object",patternProperties:{".*":{type:"boolean"}}},dumpMetadata:{type:"object",properties:{boundingVolumes:{type:["object","null"],properties:{mbs:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},obb:{type:"object",properties:{center:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},halfSize:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},quaternion:{type:"array",minItems:4,maxItems:4,items:{type:"number"}}},required:["center","halfSize","quaternion"]}},required:["mbs","obb"]},attributesCount:{type:"number"},featureCount:{type:"number"},geometry:{type:"boolean"},hasUvRegions:{type:"boolean"},materialId:{type:"number"},texelCountHint:{type:"number"},vertexCount:{type:"number"}},required:["boundingVolumes","featureCount","geometry","hasUvRegions","materialId","vertexCount"]}},required:["nodeId","done"]}}},required:["nodes"]}}},textureSetDefinitions:{type:"array",items:{type:"object",properties:{formats:{type:"array",items:{type:"object",properties:{name:{type:"string"},format:{enum:["jpg","png","ktx-etc2","dds","ktx2"]}},required:["name","format"]}},atlas:{type:"boolean"}},required:["formats"]}},attributeMetadataInfo:{type:"object",properties:{attributeStorageInfo:{type:"array",items:{type:"object",properties:{key:{type:"string"},name:{type:"string"},header:{type:"array",items:{type:"object",properties:{property:{type:"string"},valueType:{type:"string"}},required:["property","valueType"]}},ordering:{type:"array",items:{type:"string"}},attributeValues:{$ref:"#/$defs/AttributeValue"},attributeByteCounts:{$ref:"#/$defs/AttributeValue"},objectIds:{$ref:"#/$defs/AttributeValue"}},required:["key","name","header"]}},fields:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{$ref:"#/$defs/ESRIField"},alias:{type:"string"},domain:{$ref:"#/$defs/Domain"}},required:["name","type"]}},popupInfo:{type:"object",properties:{title:{type:"string"},description:{type:"string"},expressionInfos:{type:"array",items:{}},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}},mediaInfos:{type:"array",items:{}},popupElements:{type:"array",items:{type:"object",properties:{text:{type:"string"},type:{type:"string"},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}}}}}}}},required:["attributeStorageInfo","fields"]},materialDefinitions:{type:"array",items:{type:"object",properties:{pbrMetallicRoughness:{type:"object",properties:{baseColorFactor:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},baseColorTexture:{$ref:"#/$defs/I3SMaterialTexture"},metallicFactor:{type:"number"},roughnessFactor:{type:"number"},metallicRoughnessTexture:{$ref:"#/$defs/I3SMaterialTexture"}},required:["metallicFactor","roughnessFactor"]},normalTexture:{$ref:"#/$defs/I3SMaterialTexture"},occlusionTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveFactor:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},alphaMode:{enum:["opaque","mask","blend"]},alphaCutoff:{type:"number"},doubleSided:{type:"boolean"},cullFace:{enum:["none","front","back"]}},required:["pbrMetallicRoughness","alphaMode"]}}},required:["options","tilesConverted"],$defs:{AttributeValue:{type:"object",properties:{valueType:{type:"string"},encoding:{type:"string"},valuesPerElement:{type:"number"}},required:["valueType"]},ESRIField:{enum:["esriFieldTypeDate","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeInteger","esriFieldTypeOID","esriFieldTypeSmallInteger","esriFieldTypeString"]},Domain:{type:"object",properties:{type:{type:"string"},name:{type:"string"},description:{type:"string"},fieldType:{type:"string"},range:{type:"array",items:{type:"number"}},codedValues:{type:"array",items:{type:"object",properties:{name:{type:"string"},code:{type:["string","number"]}},required:["name","code"]}},mergePolicy:{type:"string"},splitPolicy:{type:"string"}},required:["type","name"]},FieldInfo:{type:"object",properties:{fieldName:{type:"string"},visible:{type:"boolean"},isEditable:{type:"boolean"},label:{type:"string"}},required:["fieldName","visible","isEditable","label"]},I3SMaterialTexture:{type:"object",properties:{textureSetDefinitionId:{type:"number"},texCoord:{type:"number"},factor:{type:"number"}},required:["textureSetDefinitionId"]}}};var lh=class{restored=!1;options;tilesConverted;textureSetDefinitions;attributeMetadataInfo;materialDefinitions;constructor(){this.tilesConverted={}}async createDump(t){let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p=!0,metadataClass:d,analyze:m=!1}=t;this.options={tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p,metadataClass:d,analyze:m};let g=(0,pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${ip}`);if(await F1(g))try{let v=await tv((0,pp.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${ip}`),{options:y,tilesConverted:w,textureSetDefinitions:A,attributeMetadataInfo:C,materialDefinitions:T}=v;if(new SSe.default().compile(wSe)(v)&&(0,ESe.isDeepStrictEqual)(y,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=w,this.textureSetDefinitions=A,this.attributeMetadataInfo=C,this.materialDefinitions=T,this.restored=!0;return}}catch(v){console.log("Can't open dump file",v)}await this.deleteDumpFile()}reset(){this.restored=!1,this.tilesConverted={},this.textureSetDefinitions&&delete this.textureSetDefinitions,this.attributeMetadataInfo&&delete this.attributeMetadataInfo,this.materialDefinitions&&delete this.materialDefinitions}async updateDumpFile(){var t;if((t=this.options)!=null&&t.outputPath&&this.options.tilesetName)try{let r=ASe.default.hrtime();await Mn((0,pp.join)(this.options.outputPath,this.options.tilesetName),JSON.stringify({options:this.options,tilesConverted:this.tilesConverted,textureSetDefinitions:this.textureSetDefinitions,attributeMetadataInfo:this.attributeMetadataInfo,materialDefinitions:this.materialDefinitions}),`${this.options.tilesetName}${ip}.${r[0]}.${r[1]}`),await bwe((0,pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${ip}.${r[0]}.${r[1]}`),(0,pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${ip}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await F1((0,pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${ip}`))&&await B1((0,pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${ip}`))}getRecord(t){return this.tilesConverted[t]}setRecord(t,r){this.tilesConverted[t]=r}async addNode(t,r,n){let{nodes:i}=this.getRecord(t)||{nodes:[]};i.push({nodeId:r,done:!1,dumpMetadata:n}),i.length===1&&this.setRecord(t,{nodes:i}),await this.updateDumpFile()}clearDumpRecord(t){this.setRecord(t,{nodes:[]})}addTexturesDefinitions(t){this.textureSetDefinitions=t}updateDoneStatus(t,r,n,i){var o;let a=(o=this.tilesConverted[t])==null?void 0:o.nodes.find(s=>s.nodeId===r);a&&(a.progress||(a.progress={}),a.progress[n]=i,i||(a.done=!1))}async updateConvertedTilesDump(t,r){for(let n=0;n<t.length;n++)if(t[n]&&"value"in r[n]){let{sourceId:i,resourceType:a,outputId:o}=t[n];if(!i||!a||!o)continue;for(let s of this.tilesConverted[i].nodes)if(s.nodeId===o&&s.progress){s.progress[a]=!0;let u=!1;for(let c in s.progress)if(u=s.progress[c],!u)break;s.done=u,s.done&&delete s.progress;break}}await this.updateDumpFile()}async updateConvertedNodesDumpFile(t,r,n){var a;let i=(a=this.tilesConverted[t])==null?void 0:a.nodes.find(o=>o.nodeId===r);i&&(i.done=n,await this.updateDumpFile())}isFileConversionComplete(t){var n,i,a;let r=!0;for(let o of((n=this.tilesConverted[t])==null?void 0:n.nodes)||[])if(!o.done){r=!1;break}return r&&((a=(i=this.tilesConverted[t])==null?void 0:i.nodes)==null?void 0:a.length)>0}setMaterialsDefinitions(t){this.materialDefinitions=t}};var CSe,rIt=(CSe=fh.default.env)==null?void 0:CSe.IonToken,TSe=64,nIt="3DTILES",iIt="3DObject",aIt=1800,oIt="https://",dp="phase1-count",wv=class{attributeMetadataInfo;nodePages;options;layers0Path;materialMap;materialDefinitions;geometryMap;geometryConfigs;vertexCounter;layers0;featuresHashArray;refinementCounter;validate;boundingVolumeWarnings=[];conversionStartTime=[0,0];refreshTokenTime=[0,0];sourceTileset=null;loadOptions={_nodeWorkers:!0,reuseWorkers:!0,useLocalLibraries:!0,basis:{format:"rgba32",workerUrl:"./modules/textures/dist/basis-worker-node.js"},draco:{workerUrl:"./modules/draco/dist/draco-worker-node.js"},fetch:{},modules:{}};geoidHeightModel=null;Loader=Ju;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new sv(new lh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new KT,this.nodePages=new Ki(Mn,TSe,this),this.options={},this.layers0Path="",this.materialMap=new Map,this.materialDefinitions=[],this.geometryMap=new Map,this.geometryConfigs=[],this.vertexCounter=0,this.layers0=null,this.featuresHashArray=[],this.refinementCounter={tilesCount:0,tilesWithAddRefineCount:0},this.validate=!1,this.generateTextures=!1,this.generateBoundingVolumes=!1,this.layersHasTexture=!1,this.compressList=null,this.conversionDump=new lh}async convert(t){if(jr)return console.log(uv),uv;this.conversionStartTime=fh.default.hrtime();let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,validate:o,outputPath:s,draco:u=!0,sevenZipExe:c,maxDepth:l,token:f,generateTextures:p,generateBoundingVolumes:d,instantNodeWriting:m=!1,mergeMaterials:g=!0,inquirer:v,metadataClass:y,analyze:w=!1}=t;this.options={outputPath:s,tilesetName:r,maxDepth:l,slpk:n,sevenZipExe:c,egmFilePath:i,draco:u,token:f,inputUrl:a,instantNodeWriting:m,mergeMaterials:g,inquirer:v,metadataClass:y},this.progresses[dp]=new cv,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(o),this.Loader=a.indexOf(oIt)!==-1?f8:Ju,this.generateTextures=Boolean(p),this.generateBoundingVolumes=Boolean(d),this.writeQueue=new sv(this.conversionDump),this.writeQueue.startListening(),console.log("Loading egm file..."),this.geoidHeightModel=await un(i,mC),console.log("Loading egm file completed!"),n&&this.nodePages.useWriteFunction(ac);try{let A=await this._fetchPreloadOptions(),C=a;A.url&&(C=A.url),A.headers&&(this.loadOptions.fetch={headers:A.headers}),this.sourceTileset=await vC(C,this.Loader,this.loadOptions),(this.Loader===Ju||w?await this.preprocessConversion():!0)&&!w&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(s,r),await this._finishConversion({slpk:Boolean(n),outputPath:s,tilesetName:r}))}catch(A){throw A}finally{await this.writeQueue.finalize(),la.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await bC(t,null,this.analyzeTile.bind(this),void 0,this.options.maxDepth);let{meshTopologyTypes:r,metadataClasses:n}=this.preprocessData;return console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`Tile count: ${this.progresses[dp].stepsTotal}`),console.log(`glTF mesh topology types: ${Array.from(r).join(", ")}`),n.size?console.log(`Feature metadata classes have been found: ${Array.from(n).join(", ")}`):console.log("Feature metadata classes have not been found"),!r.has("TRIANGLES")&&!r.has("TRIANGLE_STRIP")?(console.log("The tileset is of unsupported mesh topology types. The conversion will be interrupted."),console.log("------------------------------------------------"),!1):(console.log("------------------------------------------------"),!0)}async analyzeTile(t,r){if(R1(t))return await _q(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[dp].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await wq(this.sourceTileset,t,{...this.loadOptions,"3d-tiles":{...this.loadOptions["3d-tiles"],loadGLTF:!1}})}catch{console.log(`[warning]: Failed to load ${t.contentUrl}. An I3S tile with empty content will be added to the output tileset`)}let a=await iEe(i);return aEe(this.preprocessData,a),null}async selectMetadataClass(){var r;let{metadataClasses:t}=this.preprocessData;if(t.size>1)if((r=this.options.metadataClass)!=null&&r.length)console.log(`${this.options.metadataClass} has been selected`);else if(this.options.inquirer){let n=await this.options.inquirer.prompt([{name:"metadataClass",type:"list",message:"Select feature metadata data class to convert...",choices:Array.from(t)}]);this.options.metadataClass=n.metadataClass,console.log(`${n.metadataClass} has been selected`)}else return console.log(`A feature metadata class has not been selected. Start the converter with option "--metadata-class". For example, "npx tile-converter ... --metadata-class ${Array.from(t)[0]}"`),console.log("------------------------------------------------"),!1;return!0}async _createAndSaveTileset(t,r){var c,l,f;let n=(0,Qi.join)(`${t}`,`${r}`);await this.conversionDump.createDump(this.options),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),this.layers0Path=(0,Qi.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,Qi.join)(this.layers0Path,"nodepages"):n;try{await k1(i)}catch{}if(this.conversionDump.restored&&this.conversionDump.attributeMetadataInfo&&this.attributeMetadataInfo.fromObject(this.conversionDump.attributeMetadataInfo),this.materialDefinitions=[],this.materialMap=new Map,this.conversionDump.restored&&this.conversionDump.materialDefinitions){for(let p=0;p<this.conversionDump.materialDefinitions.length;p++){let d=(0,YC.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=Ey(a.boundingVolume,new Sr(a.transform),null);this._formLayers0(r,o,(f=(l=(c=this.sourceTileset)==null?void 0:c.root)==null?void 0:l.boundingVolume)==null?void 0:f.region);let s=pC(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[dp].startMonitoring();let u=await Vs.createRootNode(s,this);await bC(a,{transform:new Sr(a.transform),parentNodes:[u]},this.convertTile.bind(this),this.finalizeTile.bind(this),this.options.maxDepth),this.progresses[dp].stopMonitoring(),console.log("[finalizing conversion]"),this.layers0.attributeStorageInfo=this.attributeMetadataInfo.attributeStorageInfo,this.layers0.fields=this.attributeMetadataInfo.fields,this.layers0.popupInfo=this.attributeMetadataInfo.popupInfo,this.attributeMetadataInfo.attributeStorageInfo.length&&(this.layers0.layerType=iIt),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,XC.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),Ywe()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),Wwe(r,this.layers0,n);for(let p of this.compressList||[])await cC(p),await B1(p);await this.nodePages.save(),await this.writeQueue.finalize(),await this._createSlpk(n)}_formLayers0(t,r,n){var s;if(!((s=this.sourceTileset)!=null&&s.root))return;let i=Twe(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${ic().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${ic().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:TSe},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,XC.default)(o,Xwe())}async _writeLayers0(){this.options.slpk?await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>ac(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")}):await this.writeQueue.enqueue({writePromise:()=>Mn(this.layers0Path,JSON.stringify(this.layers0))})}async _createSlpk(t){if(await this.conversionDump.deleteDumpFile(),this.options.slpk){let r=(0,Qi.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await tq(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await T1(i)}));try{await k1(t)}catch{}}}async convertTile(t,r){let n=R1(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await _q(this.sourceTileset,t,this.loadOptions)),r;t.id&&console.log(`[convert]: ${t.id}`);let{parentNodes:i,transform:a}=r,o=a.clone();t.transform&&(o=o.multiplyRight(t.transform));let s=i[0],u=await this._restoreNode(s,t,o),c;u===null?c=await this._createNode(s,t,o):c=u,await s.addChildren(c);let l={transform:o,parentNodes:c};if(t.id){this.progresses[dp].stepsDone+=1;let f="Calculating time left...",p=this.progresses[dp].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[dp].getPercentString(),m=d?` ${d}%, ${f}`:"";console.log(`[converted${m}]: ${t.id}`)}return l}async finalizeTile(t,r){for(let n of t)for(let i of n.parentNodes)await i.addNeighbors();for(let n of r.parentNodes)await n.save()}async _generateNodeIndexDocument(t,r,n,i,a){this.layersHasTexture=this.layersHasTexture||Boolean("texture"in r&&r.texture||"texelCountHint"in r&&r.texelCountHint),this.generateBoundingVolumes&&r.boundingVolumes&&(t=r.boundingVolumes);let o=$we(i,t),s=o.find(f=>f.metricType==="maxScreenThresholdSQ")||{maxError:0};if(a){let f={center:[],halfSize:[],quaternion:[]};await this.nodePages.push({index:0,obb:f},n.inPageId)}let u=await this._updateNodeInNodePages(s,t,i,n.inPageId,r),c=await Vs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Vs(u.index,this).addData(c),nodeInPage:u,nodeData:c}}async _restoreNode(t,r,n){if(this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions(),this.conversionDump.restored&&r.id&&this.conversionDump.isFileConversionComplete(r.id)){let i=Ey(r.boundingVolume,n,null),a=pC(i,this.geoidHeightModel),o=[];for(let s of this.conversionDump.tilesConverted[r.id].nodes){let{node:u}=await this._generateNodeIndexDocument(a,{...s.dumpMetadata,nodeId:s.nodeId},t,r,!0);o.push(u)}return o}else this.conversionDump.restored&&r.id&&this.conversionDump.clearDumpRecord(r.id);return null}async _createNode(t,r,n){var d;this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions();let i=null;try{i=await wq(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=Ey(r.boundingVolume,n,null),o=pC(a,this.geoidHeightModel),s=Uwe(i,this.options.metadataClass);this.createAttributeStorageInfo(i,s),this.conversionDump.attributeMetadataInfo={attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,fields:this.attributeMetadataInfo.fields,popupInfo:this.attributeMetadataInfo.popupInfo};let u=await this._convertResources(r,n,a,i,t.inPageId,s),c=[],l=[],f=[],p={geometry:null,compressedGeometry:null,texture:null,hasUvRegions:!1,sharedResources:null,meshMaterial:null,vertexCount:null,attributes:null,featureCount:null,boundingVolumes:null};for(let m of u||[p]){let{node:g,nodeInPage:v,nodeData:y}=await this._generateNodeIndexDocument(o,m,t,r,!1);if(c.push(g),v.mesh){if(r.id){let w={boundingVolumes:m.boundingVolumes,attributesCount:(d=m.attributes)==null?void 0:d.length,featureCount:m.featureCount,geometry:Boolean(m.geometry),hasUvRegions:m.hasUvRegions,materialId:v.mesh.material.definition,texelCountHint:v.mesh.material.texelCountHint,vertexCount:m.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,v.index,w)}await this._writeResources(m,g.id,r)}this.validate&&(this.boundingVolumeWarnings=eEe(y),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(v.index),f.push(v)}return c}async _convertResources(t,r,n,i,a,o){if(!this.isContentSupported(t)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await pq(i,r,n,async()=>(await this.nodePages.push({index:0,obb:s},a)).index,o,this.featuresHashArray,this.attributeMetadataInfo.attributeStorageInfo,this.options.draco,this.generateBoundingVolumes,this.options.mergeMaterials,this.geoidHeightModel,this.loadOptions.modules,this.options.metadataClass)}async _updateNodeInNodePages(t,r,n,i,a){let{vertexCount:o,featureCount:s,geometry:u,hasUvRegions:c}=a,l={index:0,lodThreshold:t.maxError,obb:r.obb,children:[]};u&&this.isContentSupported(n)&&(l.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint),c),resource:0},attribute:{resource:0},material:{definition:0}});let f="nodeId"in a?a.nodeId:void 0,p;if(f?p=await this.nodePages.getNodeById(f):p=await this.nodePages.push(l,i),l.mesh||console.log(`[warning]: node ${p.index} is created with empty content`),Ki.updateAll(p,l),"meshMaterial"in a&&a.meshMaterial?Ki.updateMaterialByNodeId(p,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Ki.updateMaterialByNodeId(p,a.materialId),"texture"in a&&a.texture){let d=a.texture.image.height*a.texture.image.width;Ki.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in a&&a.texelCountHint&&Ki.updateTexelCountHintByNodeId(p,a.texelCountHint);return o&&(this.vertexCounter+=o,Ki.updateVertexCountByNodeId(p,o)),Ki.updateNodeAttributeByNodeId(p),s&&Ki.updateFeatureCountByNodeId(p,s),this.nodePages.saveNode(p),p}async _writeResources(t,r,n){let{geometry:i,compressedGeometry:a,texture:o,sharedResources:s,attributes:u}=t,c=(0,Qi.join)(this.layers0Path,"nodes",r),l=(0,Qi.join)("nodes",r);await this._writeGeometries(i,a,c,l,n.id||"",parseInt(r)),await this._writeShared(s,c,l,r,n.id||"",parseInt(r)),await this._writeTexture(o,c,l,n.id||"",parseInt(r)),await this._writeAttributes(u,c,l,n.id||"",parseInt(r))}async _writeGeometries(t,r,n,i,a,o){if(this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1),this.options.slpk){let s=(0,Qi.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>ac(s,t,"0.bin")})}else{let s=(0,Qi.join)(n,"geometries/0/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Mn(s,t,"index.bin")})}if(this.options.draco)if(this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1),this.options.slpk){let s=(0,Qi.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>ac(s,r,"1.bin")})}else{let s=(0,Qi.join)(n,"geometries/1/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Mn(s,r,"index.bin")})}}async _writeShared(t,r,n,i,a,o){if(!t)return;t.nodePath=i;let s=(0,XC.default)(t,Qwe()),u=JSON.stringify(s);if(this.conversionDump.updateDoneStatus(a,o,"SHARED",!1),this.options.slpk){let c=(0,Qi.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>ac(c,u,"sharedResource.json")})}else{let c=(0,Qi.join)(r,"shared/");await this.writeQueue.enqueue({sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>Mn(c,u)})}}async _writeTexture(t,r,n,i,a){if(t){let o=this._getFormatByMimeType(t==null?void 0:t.mimeType),s=[],u=t.bufferView.data;switch(o){case"jpg":case"png":{if(s.push({name:"0",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile(u,"0",o,r,n,i,a),this.generateTextures){s.push({name:"1",format:"ktx2"});let c=t.image.data.subarray(),l=new Uint8Array(c),f=Xm({...t.image,data:l},_M,{..._M.options,["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0});this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/ktx2`,!1),await this.writeTextureFile(f,"1","ktx2",r,n,i,a)}break}case"ktx2":if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile(u,"1",o,r,n,i,a),this.generateTextures){s.push({name:"0",format:"jpg"});let c=Xm(t.image.data[0],iM);this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile(c,"0","jpg",r,n,i,a)}}this.layers0.textureSetDefinitions.length||(this.layers0.textureSetDefinitions.push({formats:s}),this.layers0.textureSetDefinitions.push({formats:s,atlas:!0}),this.layers0.textureSetDefinitions&&this.conversionDump.addTexturesDefinitions(this.layers0.textureSetDefinitions))}}async writeTextureFile(t,r,n,i,a,o,s){if(this.options.slpk){let u=(0,Qi.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>ac(u,t,`${r}.${n}`,c)})}else{let u=(0,Qi.join)(i,`textures/${r}/`);await this.writeQueue.enqueue({sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Mn(u,t,`index.${n}`)})}}async _writeAttributes(t=[],r,n,i,a){if(t!=null&&t.length&&this.attributeMetadataInfo.attributeStorageInfo.length){let o=t.length<this.attributeMetadataInfo.attributeStorageInfo.length?t.length:this.attributeMetadataInfo.attributeStorageInfo.length;for(let s=0;s<o;s++){let u=this.attributeMetadataInfo.attributeStorageInfo[s].key,c=new Uint8Array(t[s]);if(this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1),this.options.slpk){let l=(0,Qi.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>ac(l,c,"0.bin")})}else{let l=(0,Qi.join)(r,`attributes/${u}/0`);await this.writeQueue.enqueue({sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>Mn(l,c,"index.bin")})}}}}_getFormatByMimeType(t){switch(t){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/ktx2":return"ktx2";default:return"jpg"}}_findOrCreateMaterial(t){let r=(0,YC.default)(JSON.stringify(t));if(this.materialMap.has(r))return this.materialMap.get(r)||0;let n=this.materialDefinitions.push(t)-1;return this.materialMap.set(r,n),n}findOrCreateGeometryDefinition(t,r){let n={hasTexture:t,hasUvRegions:r},i=(0,YC.default)(JSON.stringify(n));if(this.geometryMap.has(i))return this.geometryMap.get(i)||0;let a=this.geometryConfigs.push(n)-1;return this.geometryMap.set(i,a),a}createAttributeStorageInfo(t,r){let n=null;this.options.metadataClass?!this.attributeMetadataInfo.attributeStorageInfo.length&&(t!=null&&t.gltf)&&(n=Owe(t.gltf,this.options.metadataClass)):r&&(n=Pwe(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/r*100:0,a=await fC(t),o=fh.default.hrtime(this.conversionStartTime),s=nv(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${nIt}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",a," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',i,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let t={"cesium-ion":{accessToken:this.options.token||rIt}},r=await this.Loader.preload(this.options.inputUrl,t);return this.refreshTokenTime=fh.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){if(fh.default.hrtime(this.refreshTokenTime)[0]<aIt)return;this.refreshTokenTime=fh.default.hrtime();let r=await this._fetchPreloadOptions();r.headers&&(this.loadOptions.fetch={...this.loadOptions.fetch,headers:r.headers},console.log("Authorization Bearer token has been updated"))}_checkAddRefinementTypeForTile(t){t.refine===1&&(this.refinementCounter.tilesWithAddRefineCount+=1,console.warn('This tile uses "ADD" type of refinement')),this.refinementCounter.tilesCount+=1}isContentSupported(t){return["b3dm","glTF","scenegraph"].includes(t.type||"")}};var e6e=require("path"),aU=Pt(require("process"),1),t6e=Pt(Ws(),1);function eU(e){switch(e){case"UInt8":return Uint8Array;case"UInt16":return Uint16Array;case"UInt32":return Uint32Array;case"Float32":return Float32Array;case"UInt64":return Float64Array;default:throw new Error(`parse i3s tile content: unknown type of data: ${e}`)}}var DSe={UInt8:St.UNSIGNED_BYTE,UInt16:St.UNSIGNED_SHORT,Float32:St.FLOAT,UInt32:St.UNSIGNED_INT,UInt64:St.DOUBLE};function Ev(e){switch(e){case"UInt8":return 1;case"UInt16":case"Int16":return 2;case"UInt32":case"Int32":case"Float32":return 4;case"UInt64":case"Int64":case"Float64":return 8;default:throw new Error(`parse i3s tile content: unknown size of data: ${e}`)}}var FSe="String",kSe="Oid32",BSe="Float64",ISe="Int16";function QC(e){let t;try{let r=new URL(e);t=`${r.origin}${r.pathname}`}catch{}return t||e}function Av(e,t=null){return t?`${e}?token=${t}`:e}function PSe(e,t){let{attributeData:r=[]}=t,n=[];for(let i=0;i<r.length;i++){let a=r[i].href.replace("./","");n.push(`${e}/${a}`)}return n}function OSe(e,t,r){let n=[],{attributeStorageInfo:i=[]}=e;for(let a=0;a<i.length;a++){let o=i[a].key;n.push(`${t}/nodes/${r}/attributes/${o}/0`)}return n}var ZC=new ie([0,0,0]);function uIt(e){switch(e){case"ktx-etc2":case"dds":return K3;case"ktx2":return Fd;case"jpg":case"png":default:return lg}}var cIt="i3s-attribute-type";async function LSe(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new Sr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=Av(lIt(t.textureUrl),(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=uIt(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===lg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await io(f,[],p,i);a.texture=d}catch{let m=await co(f,u,p,i);a.texture=m}}else if(u===K3||u===Fd){let p=await un(f,u,t.textureLoaderOptions);u===Fd&&(p=p[0]),a.texture={compressed:!0,mipmaps:!1,width:p[0].width,height:p[0].height,data:p}}}else a.texture=f}return a.material=xIt(t.materialDefinition,a.texture),a.material&&(a.texture=null),await fIt(e,a,t,r,n)}function lIt(e){let t=e.split(".slpk"),r;return t.length===1?r=e:t.length===2?r=t[1].slice(1):r=e,r}async function fIt(e,t,r,n,i){var f,p;let a=e.byteLength,o,s,u=0,c=0,l;if(r.isDracoGeometry){let d=await co(e,ig,{draco:{attributeNameEntry:cIt}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:m,NORMAL:g,COLOR_0:v,TEXCOORD_0:y,["feature-index"]:w,["uv-region"]:A}=d.attributes;o={position:m,normal:g,color:v,uv0:y,uvRegion:A,id:w},pIt(o,d);let C=EIt(w);C&&wIt(o,C)}else{let{vertexAttributes:d,ordering:m,featureAttributes:g,featureAttributeOrder:v}=n.store.defaultGeometrySchema,y=hIt(e,n);u=y.byteOffset,s=y.vertexCount,c=y.featureCount;let{attributes:w,byteOffset:A}=RSe(e,u,d,s,m),{attributes:C}=RSe(e,A,g,c,v);_It(C),o=dIt(w,C)}if(!((p=i==null?void 0:i.i3s)!=null&&p.coordinateSystem)||i.i3s.coordinateSystem===2){let d=gIt(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem=2}else t.modelMatrix=bIt(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:jSe(o.color),texCoords:o.uv0,uvRegions:jSe(o.uvRegion||o.region)},t.indices=l||null,o.id&&o.id.value&&(t.featureIds=o.id.value);for(let d in t.attributes)t.attributes[d]||delete t.attributes[d];return t.vertexCount=s,t.byteLength=a,t}function pIt(e,t){for(let r in t.loaderData.attributes){let n=t.loaderData.attributes[r];switch(n.name){case"POSITION":e.position.metadata=n.metadata;break;case"feature-index":e.id.metadata=n.metadata;break;default:break}}}function dIt(e,t){return{...e,...t}}function jSe(e){return e&&(e.normalized=!0,e)}function hIt(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=eU(o);switch(a){case"vertexCount":n=new s(e,0,4)[0],r+=Ev(o);break;case"featureCount":i=new s(e,4,4)[0],r+=Ev(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function RSe(e,t,r,n,i){let a={};for(let o of i)if(r[o]){let{valueType:s,valuesPerElement:u}=r[o];if(t+n*u*Ev(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=mIt(c,n*u,Ev(s));else{let f=eU(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:DSe[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*Ev(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function mIt(e,t,r){let n=[],i=new DataView(e),a=0;for(let o=0;o<t;o++){let s=i.getUint32(a,!0),u=i.getUint32(a+4,!0),c=s+2**32*u;n.push(c),a+=r}return new Uint32Array(n)}function gIt(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new Sr,o=new ie(r[0],r[1],r[2]),s=new ie;return Ut.WGS84.cartographicToCartesian(o,s),Ut.WGS84.eastNorthUpToFixedFrame(s,a),e.value=vIt(n,i,o),a}function vIt(e,t={},r){let n=new Float64Array(e.length),i=t["i3s-scale_x"]&&t["i3s-scale_x"].double||1,a=t["i3s-scale_y"]&&t["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*i+r.x,n[o+1]=e[o+1]*a+r.y,n[o+2]=e[o+2]+r.z;for(let o=0;o<n.length;o+=3)Ut.WGS84.cartographicToCartesian(n.subarray(o,o+3),ZC),n[o]=ZC.x,n[o+1]=ZC.y,n[o+2]=ZC.z;return n}function bIt(e){var a,o;let t=e.metadata,r=((a=t==null?void 0:t["i3s-scale_x"])==null?void 0:a.double)||1,n=((o=t==null?void 0:t["i3s-scale_y"])==null?void 0:o.double)||1,i=new Sr;return i[0]=r,i[5]=n,i}function xIt(e,t){let r;return e?r={...e,pbrMetallicRoughness:e.pbrMetallicRoughness?{...e.pbrMetallicRoughness}:{baseColorFactor:[255,255,255,255]}}:(r={pbrMetallicRoughness:{}},t?r.pbrMetallicRoughness.baseColorTexture={texCoord:0}:r.pbrMetallicRoughness.baseColorFactor=[255,255,255,255]),r.alphaCutoff=r.alphaCutoff||.25,r.alphaMode&&(r.alphaMode=r.alphaMode.toUpperCase()),r.emissiveFactor&&(r.emissiveFactor=MSe(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=MSe(r.pbrMetallicRoughness.baseColorFactor)),t&&yIt(r,t),r}function MSe(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function yIt(e,t){let r={source:{image:t}};e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture?e.pbrMetallicRoughness.baseColorTexture={...e.pbrMetallicRoughness.baseColorTexture,texture:r}:e.emissiveTexture?e.emissiveTexture={...e.emissiveTexture,texture:r}:e.pbrMetallicRoughness&&e.pbrMetallicRoughness.metallicRoughnessTexture?e.pbrMetallicRoughness.metallicRoughnessTexture={...e.pbrMetallicRoughness.metallicRoughnessTexture,texture:r}:e.normalTexture?e.normalTexture={...e.normalTexture,texture:r}:e.occlusionTexture&&(e.occlusionTexture={...e.occlusionTexture,texture:r})}function _It(e){let{id:t,faceRange:r}=e;if(!t||!r)return;let n=t.value,i=r.value,a=i[i.length-1]+1,o=new Uint32Array(a*3),s=0,u=0;for(let c=1;c<i.length;c+=2){let l=Number(n[s]),f=i[c],p=i[c-1],d=f-p+1,m=u+d*3;o.fill(l,u,m),s++,u=m}e.id.value=o}function wIt(e,t){let r=e.id.value,n=new Float32Array(r.length);for(let i=0;i<r.length;i++)n[i]=t[r[i]];e.id.value=n}function EIt(e){var t,r;return(r=(t=e==null?void 0:e.metadata)==null?void 0:t["i3s-feature-ids"])==null?void 0:r.intArray}var AIt="4.2.0-alpha.4",qSe={name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:AIt,mimeTypes:["application/octet-stream"],parse:SIt,extensions:["bin"],options:{"i3s-content":{}}};async function SIt(e,t,r){let{tile:n,_tileOptions:i,tileset:a,_tilesetOptions:o}=(t==null?void 0:t.i3s)||{},s=i||n,u=o||a;return!s||!u?null:await LSe(e,s,u,t,r)}var TIt="4.2.0-alpha.4",NSe={name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:TIt,mimeTypes:["application/json"],parse:CIt,extensions:["json"],options:{i3s:{}}};async function CIt(e,t){return JSON.parse(new TextDecoder().decode(e))}var f2=class{tileset;nodePages=[];pendingNodePages=[];nodesPerPage;options;lodSelectionMetricType;textureDefinitionsSelectedFormats=[];nodesInNodePages;url;textureLoaderOptions={};constructor(t,r="",n){var i,a;this.tileset={...t},this.url=r,this.nodesPerPage=((i=t.nodePages)==null?void 0:i.nodesPerPage)||64,this.lodSelectionMetricType=(a=t.nodePages)==null?void 0:a.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(t)}async getNodeById(t){var i;let r=Math.floor(t/this.nodesPerPage);if(!this.nodePages[r]&&!this.pendingNodePages[r]){let a=Av(this.url.indexOf(".slpk")!==-1?`nodepages/${r}`:`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:un(a,NSe,this.options)},this.nodePages[r]=await this.pendingNodePages[r].promise,this.nodesInNodePages+=this.nodePages[r].nodes.length,this.pendingNodePages[r].status="Done"}this.pendingNodePages[r].status==="Pending"&&(this.nodePages[r]=await this.pendingNodePages[r].promise);let n=t%this.nodesPerPage;return this.nodePages[r].nodes[n]}async formTileFromNodePages(t){let r=await this.getNodeById(t),n=[],i=[];for(let d of r.children||[])i.push(this.getNodeById(d));let a=await Promise.all(i);for(let d of a)n.push({id:d.index.toString(),obb:d.obb});let o,s,u,c="jpg",l=[],f=!1;if(r&&r.mesh){let{url:d,isDracoGeometry:m}=r.mesh.geometry&&this.getContentUrl(r.mesh.geometry)||{isDracoGeometry:!1};o=d,f=m;let{textureData:g,materialDefinition:v}=this.getInformationFromMaterial(r.mesh.material);u=v,c=g.format||c,g.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${g.name}`),this.tileset.attributeStorageInfo&&(l=OSe(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return tU({id:t.toString(),lodSelection:p,obb:r.obb,contentUrl:o,textureUrl:s,attributeUrls:l,materialDefinition:u,textureFormat:c,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(t){let r=null,n=this.tileset.geometryDefinitions[t.definition],i=-1;if(this.options.i3s&&this.options.i3s.useDracoGeometry&&(i=n.geometryBuffers.findIndex(a=>a.compressedAttributes&&a.compressedAttributes.encoding==="draco")),i===-1&&(i=n.geometryBuffers.findIndex(a=>!a.compressedAttributes)),i!==-1){let a=Boolean(n.geometryBuffers[i].compressedAttributes);r={url:`${this.url}/nodes/${t.resource}/geometries/${i}`,isDracoGeometry:a}}return r}getLodSelection(t){let r=[];return this.lodSelectionMetricType==="maxScreenThresholdSQ"&&r.push({metricType:"maxScreenThreshold",maxError:Math.sqrt(t.lodThreshold/(Math.PI*.25))}),r.push({metricType:this.lodSelectionMetricType,maxError:t.lodThreshold}),r}getInformationFromMaterial(t){var n,i,a;let r={textureData:{name:null}};if(t){let o=(n=this.tileset.materialDefinitions)==null?void 0:n[t.definition];if(o){r.materialDefinition=o;let s=(a=(i=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:i.baseColorTexture)==null?void 0:a.textureSetDefinitionId;typeof s=="number"&&(r.textureData=this.textureDefinitionsSelectedFormats[s]||r.textureData)}}return r}initSelectedFormatsForTextureDefinitions(t){this.textureDefinitionsSelectedFormats=[];let r=this.getSupportedTextureFormats(),n=t.textureSetDefinitions||[];for(let i of n){let a=i&&i.formats||[],o=null;for(let s of r){let u=a.find(c=>c.format===s);if(u){o=u;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={format:bg(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let r=ky();r.has("etc2")&&t.push("ktx-etc2"),r.has("dxt")&&t.push("dds"),t.push("ktx2")}return t.push("jpg"),t.push("png"),t}};function USe(e,t){let r=t.url||"",n;e.geometryData&&(n=`${r}/${e.geometryData[0].href}`);let i;e.textureData&&(i=`${r}/${e.textureData[0].href}`);let a;e.attributeData&&(a=PSe(r,e));let o=e.children||[];return tU({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function tU(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Ut.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Ut.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new Ci().fromCenterHalfSizeQuaternion(t.box.slice(0,3),e.obb.halfSize,e.obb.quaternion).getBoundingSphere();t.sphere=[...l.center,l.radius],r=[...e.obb.center,l.radius]}let n=(s=e.lodSelection)==null?void 0:s[0].metricType,i=(u=e.lodSelection)==null?void 0:u[0].maxError,a="mesh",o=2;return{...e,mbs:r,boundingVolume:t,lodMetricType:n,lodMetricValue:i,type:a,refine:o}}async function GSe(e,t,r){let n=QC(r.url||""),i,a;if(e.nodePages)i=new f2(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s,s=Av(`${n}/nodes/root`,o.token);a=await un(s,yl,{...t,i3s:{...t.i3s,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:yl,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var DIt="4.2.0-alpha.4",FIt=/layers\/[0-9]+$/,kIt=/nodes\/([0-9-]+|root)$/,BIt="504b0304",IIt="PointCloud",yl={name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:DIt,mimeTypes:["application/octet-stream"],parse:PIt,extensions:["bin"],options:{i3s:{token:null,isTileset:"auto",isTileHeader:"auto",tile:null,tileset:null,_tileOptions:null,_tilesetOptions:null,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:2}}};async function PIt(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},MIt(e)===BIt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=QC(n),o;t.i3s.isTileset==="auto"?o=FIt.test(a):o=t.i3s.isTileset;let s;return t.isTileHeader==="auto"?s=kIt.test(a):s=t.i3s.isTileHeader,o?e=await jIt(e,t,r):s?e=await RIt(e,r):e=await OIt(e,t),e}async function OIt(e,t){return await co(e,qSe,t)}async function jIt(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===IIt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await GSe(n,t,r)}async function RIt(e,t){return e=JSON.parse(new TextDecoder().decode(e)),USe(e,t)}function MIt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var LIt=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/^nodepages\/\d+$/,extensions:[".json.gz"]},{test:/^nodes\/(\d+|root)$/,extensions:["/3dNodeIndexDocument.json.gz"]},{test:/^nodes\/\d+\/textures\/.+$/,extensions:[".jpg",".png",".bin.dds.gz",".ktx"]},{test:/^nodes\/\d+\/geometries\/\d+$/,extensions:[".bin.gz",".draco.gz"]},{test:/^nodes\/\d+\/attributes\/f_\d+\/\d+$/,extensions:[".bin.gz"]},{test:/^statistics\/f_\d+\/\d+$/,extensions:[".json.gz"]},{test:/^nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],eD=class extends ml{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new Du;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=LIt.find(a=>a.test.test(t)))==null?void 0:n.extensions;if(i){let a;for(let o of i)if(a=await this.getDataByPath(`${t}${o}`),a)break;if(a)return a}}if(r==="raw"){let i=await this.getDataByPath(`${t}.gz`);if(i)return i;let a=await this.getFileBytes(t);if(a)return a}throw new Error(`No such file in the archive: ${t}`)}async getDataByPath(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!!r)return/\.gz$/.test(t)?await new A1().decompress(r):r}async getFileBytes(t){let r;if(this.hashTable){let n=this._textEncoder.encode(t),i=await this._md5Hash.hash(n.buffer,"hex"),a=this.hashTable[i];if(a===void 0)return;let o=await Hs(a,this.fileProvider);if(!o)return;r=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize)}else try{r=await this.getFileWithoutHash(t)}catch{r=void 0}return r}};async function rU(e,t,r){let n=await Jd(e,Yd),i=await Xd(n,e),a;if((i==null?void 0:i.fileName)!=="@specialIndexFileHASH128@")a=await rq(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Hs(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await e.slice(s,s+o.compressedSize);a=S1(u)}return new eD(e,a,r)}function HSe(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?qIt(n,e):null}:{}}function qIt(e,t){switch(e){case FSe:return GIt(t);case kSe:return zSe(t);case BSe:return UIt(t);case ISe:return NIt(t);default:return zSe(t)}}function zSe(e){return new Uint32Array(e,4)}function NIt(e){return new Int16Array(e,4)}function UIt(e){return new Float64Array(e,8)}function GIt(e){let i=[];try{let a=new DataView(e,0,4).getUint32(0,!0),o=new Uint32Array(e,8,a),s=8+a*4;for(let u of o){let c=new TextDecoder("utf-8"),l=new Uint8Array(e,s,u);i.push(c.decode(l)),s+=u}}catch(a){console.error("Parse string attribute error: ",a.message)}return i}var zIt="4.2.0-alpha.4";var nU={name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:zIt,mimeTypes:["application/binary"],parse:async(e,t)=>HSe(e,t),extensions:["bin"],options:{},binary:!0};function iU(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Ut.WGS84.cartographicToCartesian(r,new ie),i=new Ci().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var tD=Pt(Ws(),1),HIt=()=>({version:{path:"version",default:"1.0"}}),WSe=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,tD.default)(t,WSe()))}}),$Se=()=>({asset:{path:"asset",transform:e=>(0,tD.default)(e,HIt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,tD.default)(e,WSe())}});function VSe(e,t){let r=new Float32Array(e.length),n=$It(t);for(let i=0;i<e.length;i+=2){let a=e.subarray(i,i+2),o=n.slice(i*2,i*2+4),s=WIt([a[0],a[1]]),u=[o[2]-o[0],o[3]-o[1]],c=[s[0]*u[0],s[1]*u[1]],l=[c[0]+o[0],c[1]+o[1]];r[i]=l[0],r[i+1]=l[1]}return r}function WIt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function $It(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var VIt=new Sr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),KSe=new ie,JSe="KHR_materials_unlit",KIt=1,JIt=1,p2=class{rtcCenter;i3sTile;async convert(t,r=null){let n=await this.buildGLTF(t,r);return i3({gltfEncoded:new Uint8Array(n),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},aq)}async buildGLTF(t,r){let{tileContent:n,textureFormat:i,box:a}=t,{material:o,attributes:s,indices:u,modelMatrix:c}=n,l=new xr,f=await this._addI3sTextureToGLTF(n,i,l),p=o==null?void 0:o.pbrMetallicRoughness;p&&(p.metallicFactor===void 0||p.metallicFactor===KIt)&&(p.roughnessFactor===void 0||p.roughnessFactor===JIt)&&(l.addObjectExtension(o,JSe,{}),l.addExtension(JSe));let d=this._convertI3sMaterialToGLTFMaterial(o,f),m=l.addMaterial(d),g=s.positions,v=g.value;s.uvRegions&&s.texCoords&&(s.texCoords.value=VSe(s.texCoords.value,s.uvRegions.value));let y=new ie(a),w=Ut.WGS84.cartesianToCartographic(y,new ie);s.positions.value=this._normalizePositions(v,y,w,c),this._createBatchIds(n,r),s.normals&&!this._checkNormals(s.normals.value)&&delete s.normals;let A=u||dC(v.length/g.size),C=l.addMesh({attributes:s,indices:A,material:m,mode:4}),T=this._generateTransformMatrix(y),B=l.addNode({meshIndex:C,matrix:T}),j=l.addScene({nodeIndices:[B]});return l.setDefaultScene(j),l.createBinaryChunk(),i3(l.gltf,NM)}async _addI3sTextureToGLTF(t,r,n){let{texture:i,material:a,attributes:o}=t,s=null,u=i;if(!i&&a&&(u=a.pbrMetallicRoughness&&a.pbrMetallicRoughness.baseColorTexture&&a.pbrMetallicRoughness.baseColorTexture.texture.source.image),u){let c=this._deduceMimeTypeFromFormat(r),l=n.addImage(u,c);s=n.addTexture({imageIndex:l}),delete o.colors}return s}_normalizePositions(t,r,n,i){let a=new Float32Array(t.length);for(let o=0;o<t.length;o+=3){let s=t.subarray(o,o+3),u=new ie(r),c=new ie(Array.from(s)).transform(i).add(n);Ut.WGS84.cartographicToCartesian(c,KSe),c=KSe.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new Sr().translate(t).multiplyLeft(VIt)}_createBatchIds(t,r){let{featureIds:n}=t,{OBJECTID:i}=r||{};if(!(!n||!i)){for(let a=0;a<n.length;a++){let o=n[a],s=i.indexOf(o);n[a]=s}t.attributes._BATCHID={size:1,byteOffset:0,value:n}}}_deduceMimeTypeFromFormat(t){switch(t){case"jpg":return"image/jpeg";case"png":return"image/png";case"ktx2":return"image/ktx2";default:return console.warn(`Unexpected texture format in I3S: ${t}`),"image/jpeg"}}_convertI3sMaterialToGLTFMaterial(t,r){let n=r!==null;return t?(r!==null&&(t=this._setGLTFTexture(t,r)),t):(t={alphaMode:"OPAQUE",doubleSided:!1,pbrMetallicRoughness:{metallicFactor:0,roughnessFactor:1}},n?t.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,1],t)}_setGLTFTexture(t,r){let n={...t,pbrMetallicRoughness:{...t.pbrMetallicRoughness}};return t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorTexture?n.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.emissiveTexture?n.emissiveTexture={index:r,texCoord:0}:t.pbrMetallicRoughness&&t.pbrMetallicRoughness.metallicRoughnessTexture?n.pbrMetallicRoughness.metallicRoughnessTexture={index:r,texCoord:0}:t.normalTexture?n.normalTexture={index:r,texCoord:0}:t.occlusionTexture&&(n.occlusionTexture={index:r,texCoord:0}),n}_getFeaturesLength(t){if(!t)return 0;let r=Object.keys(t)[0];return r?t[r].length:0}_checkNormals(t){return t.find(r=>r)}};var XSe=async(e,t,r,n)=>{if(!e||!t.contentUrl)return null;let i={...r,i3s:{...r.i3s,isTileset:!1,isTileHeader:!1,_tileOptions:{attributeUrls:t.attributeUrls||[],textureUrl:t.textureUrl,textureFormat:t.textureFormat,textureLoaderOptions:t.textureLoaderOptions,materialDefinition:t.materialDefinition,isDracoGeometry:t.isDracoGeometry,mbs:t.mbs},_tilesetOptions:{store:e.store,attributeStorageInfo:e.attributeStorageInfo,fields:e.fields}}};return await d2(t.contentUrl,yl,i,n)};async function YSe(e){let t=e.split(".slpk"),{slpkFileName:r}=QSe(e)||{};if(r){let n=`${t[0]}.slpk`,i=new so(n),a=await rU(i,void 0,n);return new hl(a)}return null}async function d2(e,t,r,n){let i=QSe(e);if(n!==null&&i!==null){let{internalFileName:a}=i;return await un(a,t,{...r,fetch:n.fetch.bind(n)})}return await un(e,t,r)}function QSe(e){let t=e.split(".slpk"),r;if(t.length===1)r=null;else if(t.length===2)r={slpkFileName:`${t[0]}.slpk`,internalFileName:t[1].slice(1)};else throw new Error("Unexpected URL format");return r}async function ZSe(e){if(!(e!=null&&e.fileProvider))return 0;let t=0,r=nc(e.fileProvider);for await(let n of r)n.fileName.indexOf("3dNodeIndexDocument.json.gz")>=0&&t++;return t}var XIt="I3S",Sv=class{options;tilesetPath;vertexCounter;conversionStartTime;geoidHeightModel;sourceTileset;attributeStorageInfo;workerSource={};slpkFilesystem=null;loaderOptions={_nodeWorkers:!0,reuseWorkers:!0,worker:!1,i3s:{coordinateSystem:3,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};conversionDump;progress;constructor(){this.options={},this.tilesetPath="",this.vertexCounter=0,this.conversionStartTime=[0,0],this.geoidHeightModel=null,this.sourceTileset=null,this.attributeStorageInfo=null,this.workerSource={},this.conversionDump=new lh,this.progress=new cv}async convert(t){var m;if(jr)return console.log(uv),uv;let{inputUrl:r,outputPath:n,tilesetName:i,maxDepth:a,egmFilePath:o,inquirer:s,analyze:u}=t;this.conversionStartTime=aU.default.hrtime(),this.options={maxDepth:a,inquirer:s},console.log("Loading egm file..."),this.geoidHeightModel=await un(o,mC),console.log("Loading egm file completed!"),this.slpkFilesystem=await YSe(r);let c=!0;if((u||this.slpkFilesystem)&&(c=await this.preprocessConversion(),!c||u)||(this.progress.startMonitoring(),this.sourceTileset=await d2(r,yl,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let l=(m=this.sourceTileset)==null?void 0:m.root;if(l.obb||(l.obb=fq(l.mbs)),this.tilesetPath=(0,e6e.join)(`${n}`,`${i}`),this.attributeStorageInfo=this.sourceTileset.attributeStorageInfo,await this.conversionDump.createDump(t),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),!this.conversionDump.restored)try{await k1(this.tilesetPath)}catch{}let f={boundingVolume:{box:iU(l.obb,this.geoidHeightModel)},geometricError:hq(l),children:[],refine:"REPLACE"};await this._addChildren(l,f,1);let p=(0,t6e.default)({root:f},$Se());await Mn(this.tilesetPath,JSON.stringify(p),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:i}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),la.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await ZSe(this.slpkFilesystem);if(this.progress.stepsTotal=t,console.log("------------------------------------------------"),console.log("Preprocess results:"),this.slpkFilesystem){if(console.log(`Node count: ${t}`),t===0)return console.log("Node count is 0. The conversion will be interrupted."),console.log("------------------------------------------------"),!1}else console.log("Node count cannot be calculated for the remote dataset");return console.log("------------------------------------------------"),!0}async convertChildNode(t,r,n,i){let a=r,o=await this._loadChildNode(t,i);if(o.contentUrl){if(this.conversionDump.restored&&this.conversionDump.isFileConversionComplete(`${o.id}.b3dm`)&&(o.obb||o.mbs)){let{child:w}=this._createChildAndBoundingVolume(o);r.children.push(w),await this._addChildren(o,w,n+1);return}let f=await XSe(this.sourceTileset,o,this.loaderOptions,this.slpkFilesystem);if(!f){await this._addChildren(o,r,n+1);return}this.vertexCounter+=(f==null?void 0:f.vertexCount)||0;let p=null;this.attributeStorageInfo&&(p=await this._loadChildAttributes(o,this.attributeStorageInfo));let{child:d,boundingVolume:m}=this._createChildAndBoundingVolume(o),g={tileContent:f,box:m.box||[],textureFormat:o.textureFormat},y=await new p2().convert(g,p);await this.conversionDump.addNode(`${o.id}.b3dm`,o.id),await Mn(this.tilesetPath,new Uint8Array(y),`${o.id}.b3dm`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.b3dm`,o.id,!0),r.children.push(d),a=d}this.progress.stepsDone+=1;let s="Calculating time left...",u=this.progress.getTimeRemainingString();u&&(s=`${u} left`);let c=this.progress.getPercentString(),l=c?` ${c}%, ${s}`:"";console.log(`[converted${l}]: ${i.id}`),await this._addChildren(o,a,n+1)}async _addChildren(t,r,n){if(!(this.options.maxDepth&&n>this.options.maxDepth))for(let i of t.children||[])await this.convertChildNode(t,r,n,i)}async _loadChildNode(t,r){var i;let n;if((i=this.sourceTileset)!=null&&i.nodePagesTile)console.log(`Node conversion: ${r.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(r.id));else{let a=this._relativeUrlToFullUrl(t.url,r.href),o={i3s:{...this.loaderOptions,isTileHeader:!0,loadContent:!1}};console.log(`Node conversion: ${a}`),n=await d2(a,yl,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=fq(t.mbs));let r={box:iU(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:hq(t),children:[],content:{uri:`${t.id}.b3dm`,boundingVolume:r}};return{boundingVolume:r,child:n}}_relativeUrlToFullUrl(t="",r){let n=t.split("/"),i=r.split("/");for(let a of i)switch(a){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(a)}return n.join("/")}async _loadChildAttributes(t,r){let n=[],{attributeUrls:i=[]}=t;for(let o=0;o<i.length;o++){let s=i[o],u=r[o],c={attributeName:u.name,attributeType:this._getAttributeType(u)};n.push(d2(s,nU,c,this.slpkFilesystem))}let a=await Promise.all(n);return this._replaceNestedArrays(a),Object.assign({},...a)}_getAttributeType(t){return t.attributeValues?t.attributeValues.valueType:t.objectIds?"Oid32":""}_replaceNestedArrays(t){for(let r=0;r<t.length;r++){let n=t[r];for(let i in n)n[i]=Array.from(n[i])}}async _finishConversion(t){let r=await fC(t),n=aU.default.hrtime(this.conversionStartTime),i=nv(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${XIt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var Tv=require("path");var YIt="4.2.0-alpha.4",QIt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",rD=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await un(QIt,X7,{}),n=process.cwd();t&&(n=(0,Tv.join)(n,t)),await Mn(n,new Uint8Array(r["geoids/egm2008-5.pgm"]),"egm2008-5.pgm"),console.log('Installing "I3S Content Loader" worker'),await this.installFromNpm("i3s","i3s-content-worker-node.js"),console.log('Installing "Draco Loader" worker'),await this.installFromNpm("draco","draco-worker-node.js"),console.log('Installing "Draco Writer" worker'),await this.installFromNpm("draco","draco-writer-worker-node.js"),console.log('Installing "Basis Loader" worker'),await this.installFromNpm("textures","basis-worker-node.js"),console.log('Installing "KTX2 Basis Writer" worker'),await this.installFromNpm("textures","ktx2-basis-writer-worker-node.js"),console.log('Installing "Draco decoder" library'),await this.installFromUrl(Uf[Rn.DECODER],"draco",Rn.DECODER),await this.installFromUrl(Uf[Rn.DECODER_WASM],"draco",Rn.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(Uf[Rn.ENCODER],"draco",Rn.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Vu.TRANSCODER,"libs"),await this.installFromNpm("textures",Vu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Vu.ENCODER,"libs"),await this.installFromNpm("textures",Vu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new f0,a=(0,Tv.dirname)(process.execPath);await i.start({command:`${a}/${process.platform==="win32"?"npm.cmd":"npm"}`,arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let a=await(await Aa(`https://unpkg.com/@loaders.gl/${t}@${YIt}/dist/${n}/${r}`)).arrayBuffer();if(!a)return;let o=(0,Tv.join)(process.cwd(),"modules",t,"dist",n);await Mn(o,a,r)}async installFromUrl(t,r,n){let a=await(await Aa(t)).arrayBuffer();if(!a)return;let o=(0,Tv.join)(process.cwd(),"modules",r,"dist","libs");await Mn(o,a,n)}};function Zs(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function r6e(e,t){let r=Zs(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function n6e(e){return e.reduce((t,r)=>{let n=r.indexOf("="),i=r.slice(0,n),a=r.slice(n+1,r.length);return r.includes("=")&&r.startsWith("--")&&a?t.concat(i,a):t.concat(r)},[])}function i6e(e,t){let r=Zs(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function is(e,t){let r=Zs(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var s6e=require("fs/promises"),oU={I3S:"I3S",_3DTILES:"3DTILES"};async function ZIt(){let[,,...e]=process.argv;e.length===0&&sU();let t=n6e(e),r=tPt(t);if(r.installDependencies){new rD().install("deps");return}if(r.addHash){let i=a6e(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await nD.default.prompt([{name:"isNewFileRequired",type:"list",message:"What would you like to do?",choices:[{name:"Add hash file to the current SLPK file",value:!1},{name:`Create a new file ${s}-hash.slpk with hash file inside`,value:!0}]}])).isNewFileRequired&&(a=`${s}-hash.slpk`)}else a=i.output;a!==i.tileset&&await(0,s6e.copyFile)(i.tileset,a);let o=await T1(nc(new so(a)));await eq(a,o,"@specialIndexFileHASH128@");return}let n=a6e(r);await ePt(n)}ZIt().catch(e=>{console.log(e),process.exit(1)});function sU(){console.log("cli: converter 3dTiles to I3S or I3S to 3dTiles..."),console.log('--install-dependencies [Run the script for installing dependencies. Run this options separate from others. Now "*.pgm" file installation is implemented]'),console.log("--max-depth [Maximal depth of hierarchical tiles tree traversal, default: infinite]"),console.log("--name [Tileset name]"),console.log('--output [Output folder, default: "data" folder]'),console.log("--instant-node-writing [Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduce memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent to merge similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [Generate slpk (Scene Layer Packages) I3S output file]"),console.log("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log('--7zExe [location of 7z.exe archiver to create slpk on Windows, default: "C:\\Program Files\\7-Zip\\7z.exe"]'),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"'),console.log("--token [Token for Cesium ION tilesets authentication]"),console.log("--no-draco [Disable draco compression for geometry]"),console.log("--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]"),console.log("--generate-bounding-volumes [Generate obb and mbs bounding volumes from geometry]"),console.log("--analyze [Analyze the input tileset content without conversion, default: false]"),console.log('--metadata-class [One of the list of feature metadata classes, detected by converter on "analyze" stage, default: not set]'),console.log("--validate [Enable validation]"),console.log("--quiet [Skip all prompts that stop conversion and wait for a user input: default: false]"),process.exit(0)}async function ePt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case oU.I3S:await new Sv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:nD.default});break;case oU._3DTILES:await new wv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,slpk:e.slpk,sevenZipExe:e.sevenZipExe,egmFilePath:e.egm,token:e.token,draco:e.draco,mergeMaterials:e.mergeMaterials,generateTextures:e.generateTextures,generateBoundingVolumes:e.generateBoundingVolumes,validate:e.validate,instantNodeWriting:e.instantNodeWriting,metadataClass:e.metadataClass,analyze:e.analyze,inquirer:e.quiet?void 0:nD.default});break;default:sU()}}function a6e(e,t){let r={name:{getMessage:()=>console.log("Missed: --name [Tileset name]"),condition:i=>t||Boolean(i)||Boolean(e.analyze)},output:{getMessage:()=>console.log("Missed: --output [Output path name]")},sevenZipExe:{getMessage:()=>console.log("Missed: --7zExe [7z archiver executable path]")},egm:{getMessage:()=>console.log("Missed: --egm [*.pgm earth gravity model file path]")},tileset:{getMessage:()=>console.log("Missed: --tileset [tileset.json file]")},inputType:{getMessage:()=>console.log("Missed/Incorrect: --input-type [tileset input type: I3S or 3DTILES]"),condition:i=>t||Boolean(i)&&Object.values(oU).includes(i.toUpperCase())}},n=[];for(let i in r){let a=e[i],o=r[i].condition;(o?o(a):a)||n.push(r[i].getMessage)}return n.length&&(n.forEach(i=>i()),process.exit(1)),e}function tPt(e){let t={output:"data",instantNodeWriting:!1,mergeMaterials:!0,sevenZipExe:"C:\\Program Files\\7-Zip\\7z.exe",egm:(0,o6e.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,slpk:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=Zs(n,e);break;case"--tileset":t.tileset=r6e(n,e);break;case"--name":t.name=Zs(n,e);break;case"--output":t.output=Zs(n,e);break;case"--instant-node-writing":t.instantNodeWriting=is(n,e);break;case"--split-nodes":t.mergeMaterials=is(n,e);break;case"--max-depth":t.maxDepth=i6e(n,e);break;case"--slpk":t.slpk=is(n,e);break;case"--add-hash":t.addHash=is(n,e);break;case"--7zExe":t.sevenZipExe=Zs(n,e);break;case"--egm":t.egm=Zs(n,e);break;case"--token":t.token=Zs(n,e);break;case"--no-draco":t.draco=is(n,e);break;case"--validate":t.validate=is(n,e);break;case"--install-dependencies":t.installDependencies=is(n,e);break;case"--generate-textures":t.generateTextures=is(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=is(n,e);break;case"--analyze":t.analyze=is(n,e);break;case"--quiet":t.quiet=is(n,e);break;case"--metadata-class":t.metadataClass=Zs(n,e);break;case"--help":sU();break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
|
|
172
172
|
/*! Bundled license information:
|
|
173
173
|
|
|
174
174
|
is-buffer/index.js:
|